diff --git a/builds/compromise.js b/builds/compromise.js index 31c834d69..586b1d7b7 100644 --- a/builds/compromise.js +++ b/builds/compromise.js @@ -1 +1 @@ -var e,t;e=this,t=function(){var e={methods:{one:{},two:{},three:{},four:{}},model:{one:{},two:{},three:{}},compute:{},hooks:[]};const t={compute:function(e){const{world:t}=this,n=t.compute;return"string"==typeof e&&n.hasOwnProperty(e)?n[e](this):(e=>"[object Array]"===Object.prototype.toString.call(e))(e)?e.forEach((r=>{t.compute.hasOwnProperty(r)?n[r](this):console.warn("no compute:",e)})):"function"==typeof e?e(this):console.warn("no compute:",e),this}};var n=t,r={forEach:function(e){return this.fullPointer.forEach(((t,n)=>{let r=this.update([t]);e(r,n)})),this},map:function(e,t){let n=this.fullPointer.map(((t,n)=>{let r=this.update([t]),a=e(r,n);return void 0===a?this.none():a}));if(0===n.length)return t||this.update([]);if(void 0!==n[0]){if("string"==typeof n[0])return n;if("object"==typeof n[0]&&(null===n[0]||!n[0].isView))return n}let r=[];return n.forEach((e=>{r=r.concat(e.fullPointer)})),this.toView(r)},filter:function(e){let t=this.fullPointer;return t=t.filter(((t,n)=>{let r=this.update([t]);return e(r,n)})),this.update(t)},find:function(e){let t=this.fullPointer.find(((t,n)=>{let r=this.update([t]);return e(r,n)}));return this.update([t])},some:function(e){return this.fullPointer.some(((t,n)=>{let r=this.update([t]);return e(r,n)}))},random:function(e=1){let t=this.fullPointer,n=Math.floor(Math.random()*t.length);return n+e>this.length&&(n=this.length-e,n=n<0?0:n),t=t.slice(n,n+e),this.update(t)}};const a={termList:function(){return this.methods.one.termList(this.docs)},terms:function(e){let t=this.match(".");return"number"==typeof e?t.eq(e):t},groups:function(e){if(e||0===e)return this.update(this._groups[e]||[]);let t={};return Object.keys(this._groups).forEach((e=>{t[e]=this.update(this._groups[e])})),t},eq:function(e){let t=this.pointer;return t||(t=this.docs.map(((e,t)=>[t]))),t[e]?this.update([t[e]]):this.none()},first:function(){return this.eq(0)},last:function(){let e=this.fullPointer.length-1;return this.eq(e)},firstTerms:function(){return this.match("^.")},lastTerms:function(){return this.match(".$")},slice:function(e,t){let n=this.pointer||this.docs.map(((e,t)=>[t]));return n=n.slice(e,t),this.update(n)},all:function(){return this.update().toView()},fullSentences:function(){let e=this.fullPointer.map((e=>[e[0]]));return this.update(e).toView()},none:function(){return this.update([])},isDoc:function(e){if(!e||!e.isView)return!1;let t=this.fullPointer,n=e.fullPointer;return!t.length!==n.length&&t.every(((e,t)=>!!n[t]&&e[0]===n[t][0]&&e[1]===n[t][1]&&e[2]===n[t][2]))},wordCount:function(){return this.docs.reduce(((e,t)=>(e+=t.filter((e=>""!==e.text)).length,e)),0)},isFull:function(){let e=this.pointer;if(!e)return!0;if(0===e.length||0!==e[0][0])return!1;let t=0,n=0;return this.document.forEach((e=>t+=e.length)),this.docs.forEach((e=>n+=e.length)),t===n},getNth:function(e){return"number"==typeof e?this.eq(e):"string"==typeof e?this.if(e):this}};a.group=a.groups,a.fullSentence=a.fullSentences,a.sentence=a.fullSentences,a.lastTerm=a.lastTerms,a.firstTerm=a.firstTerms;var o=a;const i=Object.assign({},o,n,r);i.get=i.eq;var s=i;class View{constructor(t,n,r={}){[["document",t],["world",e],["_groups",r],["_cache",null],["viewType","View"]].forEach((e=>{Object.defineProperty(this,e[0],{value:e[1],writable:!0})})),this.ptrs=n}get docs(){let t=this.document;return this.ptrs&&(t=e.methods.one.getDoc(this.ptrs,this.document)),t}get pointer(){return this.ptrs}get methods(){return this.world.methods}get model(){return this.world.model}get hooks(){return this.world.hooks}get isView(){return!0}get found(){return this.docs.length>0}get length(){return this.docs.length}get fullPointer(){let{docs:e,ptrs:t,document:n}=this,r=t||e.map(((e,t)=>[t]));return r.map((e=>{let[t,r,a,o,i]=e;return r=r||0,a=a||(n[t]||[]).length,n[t]&&n[t][r]&&(o=o||n[t][r].id,n[t][a-1]&&(i=i||n[t][a-1].id)),[t,r,a,o,i]}))}update(e){let t=new View(this.document,e);if(this._cache&&e&&e.length>0){let n=[];e.forEach(((e,t)=>{let[r,a,o]=e;(1===e.length||0===a&&this.document[r].length===o)&&(n[t]=this._cache[r])})),n.length>0&&(t._cache=n)}return t.world=this.world,t}toView(e){return new View(this.document,e||this.pointer)}fromText(e){const{methods:t}=this;let n=t.one.tokenize.fromString(e,this.world),r=new View(n);return r.world=this.world,r.compute(["normal","lexicon"]),this.world.compute.preTagger&&r.compute("preTagger"),r}clone(){let e=this.document.slice(0);e=e.map((e=>e.map((e=>((e=Object.assign({},e)).tags=new Set(e.tags),e)))));let t=this.update(this.pointer);return t.document=e,t._cache=this._cache,t}}Object.assign(View.prototype,s);var l=View;const u=function(e){return e&&"object"==typeof e&&!Array.isArray(e)};function c(e,t){if(u(t))for(const n in t)u(t[n])?(e[n]||Object.assign(e,{[n]:{}}),c(e[n],t[n])):Object.assign(e,{[n]:t[n]});return e}var h=function(e,t,n,r){const{methods:a,model:o,compute:i,hooks:s}=t;e.methods&&function(e,t){for(const n in t)e[n]=e[n]||{},Object.assign(e[n],t[n])}(a,e.methods),e.model&&c(o,e.model),e.irregulars&&function(e,t){let n=e.two.models||{};Object.keys(t).forEach((e=>{t[e].pastTense&&(n.toPast&&(n.toPast.ex[e]=t[e].pastTense),n.fromPast&&(n.fromPast.ex[t[e].pastTense]=e)),t[e].presentTense&&(n.toPresent&&(n.toPresent.ex[e]=t[e].presentTense),n.fromPresent&&(n.fromPresent.ex[t[e].presentTense]=e)),t[e].gerund&&(n.toGerund&&(n.toGerund.ex[e]=t[e].gerund),n.fromGerund&&(n.fromGerund.ex[t[e].gerund]=e)),t[e].comparative&&(n.toComparative&&(n.toComparative.ex[e]=t[e].comparative),n.fromComparative&&(n.fromComparative.ex[t[e].comparative]=e)),t[e].superlative&&(n.toSuperlative&&(n.toSuperlative.ex[e]=t[e].superlative),n.fromSuperlative&&(n.fromSuperlative.ex[t[e].superlative]=e))}))}(o,e.irregulars),e.compute&&Object.assign(i,e.compute),s&&(t.hooks=s.concat(e.hooks||[])),e.api&&e.api(n),e.lib&&Object.keys(e.lib).forEach((t=>r[t]=e.lib[t])),e.tags&&r.addTags(e.tags),e.words&&r.addWords(e.words),e.mutate&&e.mutate(t)};const d=function(e){return"[object Array]"===Object.prototype.toString.call(e)};var m=function(e,t,n){const{methods:r}=n;let a=new t([]);if(a.world=n,"number"==typeof e&&(e=String(e)),!e)return a;if("string"==typeof e)return new t(r.one.tokenize.fromString(e,n));if(o=e,"[object Object]"===Object.prototype.toString.call(o)&&e.isView)return new t(e.document,e.ptrs);var o;if(d(e)){if(d(e[0])){let n=e.map((e=>e.map((e=>({text:e,normal:e,pre:"",post:" ",tags:new Set})))));return new t(n)}let n=function(e){return e.map((e=>e.terms.map((e=>(d(e.tags)&&(e.tags=new Set(e.tags)),e)))))}(e);return new t(n)}return a};let p=Object.assign({},e);const f=function(e,t){t&&f.addWords(t);let n=m(e,l,p);return e&&n.compute(p.hooks),n};Object.defineProperty(f,"_world",{value:p,writable:!0}),f.tokenize=function(e,t){const{compute:n}=this._world;t&&f.addWords(t);let r=m(e,l,p);return n.contractions&&r.compute(["alias","normal","machine","contractions"]),r},f.plugin=function(e){return h(e,this._world,l,this),this},f.extend=f.plugin,f.world=function(){return this._world},f.model=function(){return this._world.model},f.methods=function(){return this._world.methods},f.hooks=function(){return this._world.hooks},f.verbose=function(e){const t="undefined"!=typeof process&&process.env?process.env:self.env||{};return t.DEBUG_TAGS="tagger"===e||!0===e||"",t.DEBUG_MATCH="match"===e||!0===e||"",t.DEBUG_CHUNKS="chunker"===e||!0===e||"",this},f.version="14.10.0";var v=f,b=function(e){let t=e.map((e=>{let t=new Set;return e.forEach((e=>{""!==e.normal&&t.add(e.normal),e.switch&&t.add(`%${e.switch}%`),e.implicit&&t.add(e.implicit),e.machine&&t.add(e.machine),e.root&&t.add(e.root),e.alias&&e.alias.forEach((e=>t.add(e)));let n=Array.from(e.tags);for(let e=0;e/^\p{Lu}[\p{Ll}'’]/u.test(e)||/^\p{Lu}$/u.test(e),A=(e,t,n)=>{if(n.forEach((e=>e.dirty=!0)),e){let r=[t,0].concat(n);Array.prototype.splice.apply(e,r)}return e},I=function(e){let t=e[e.length-1];!t||/ $/.test(t.post)||/[-–—]/.test(t.post)||(t.post+=" ")},N=(e,t,n)=>{const r=/[-.?!,;:)–—'"]/g;let a=e[t-1];if(!a)return;let o=a.post;if(r.test(o)){let e=o.match(r).join(""),t=n[n.length-1];t.post=e+t.post,a.post=a.post.replace(r,"")}},j=function(e,t,n,r){let[a,o,i]=t;0===o||i===r[a].length?I(n):(I(n),I([e[t[1]]])),function(e,t,n){let r=e[t];if(0!==t||!P(r.text))return;n[0].text=n[0].text.replace(/^\p{Ll}/u,(e=>e.toUpperCase()));let a=e[t];a.tags.has("ProperNoun")||a.tags.has("Acronym")||P(a.text)&&a.text.length>1&&(a.text=a.text.replace(/^\p{Lu}/u,(e=>e.toLowerCase())))}(e,o,n),A(e,o,n)};let E=0;const x=e=>(e=e.length<3?"0"+e:e).length<3?"0"+e:e;var D=function(e){let[t,n]=e.index||[0,0];E+=1,E=E>46655?0:E,t=t>46655?0:t,n=n>1294?0:n;let r=x(E.toString(36));r+=x(t.toString(36));let a=n.toString(36);return a=a.length<2?"0"+a:a,r+=a,r+=parseInt(36*Math.random(),10).toString(36),e.normal+"|"+r.toUpperCase()};const T=function(e){e.has("@hasContraction")&&"function"==typeof e.contractions&&e.grow("@hasContraction").contractions().expand()},C=e=>"[object Array]"===Object.prototype.toString.call(e),O=function(e,t,n){const{document:r,world:a}=t;t.uncache();let o=t.fullPointer,i=t.fullPointer;t.forEach(((s,l)=>{let u=s.fullPointer[0],[c]=u,h=r[c],d=function(e,t){const{methods:n}=t;return"string"==typeof e?n.one.tokenize.fromString(e,t)[0]:"object"==typeof e&&e.isView?e.clone().docs[0]||[]:C(e)?C(e[0])?e[0]:e:[]}(e,a);0!==d.length&&(d=function(e){return e.map((e=>(e.id=D(e),e)))}(d),n?(T(t.update([u]).firstTerm()),j(h,u,d,r)):(T(t.update([u]).lastTerm()),function(e,t,n,r){let[a,,o]=t,i=(r[a]||[]).length;o{let n=t(e);e.replaceWith(n)})),e}(r,e);let a=r.docs[0],o=t.possessives&&a[a.length-1].tags.has("Possessive");e=function(e,t){if("string"!=typeof e)return e;let n=t.groups();return e=e.replace(G,(e=>{let t=e.replace(/\$/,"");return n.hasOwnProperty(t)?n[t].text():e})),e}(e,r);let i=this.update(n);n=n.map((e=>e.slice(0,3)));let s=(i.docs[0]||[]).map((e=>Array.from(e.tags)));if("string"==typeof e&&(e=this.fromText(e).compute("id")),r.insertAfter(e),i.has("@hasContraction")&&r.contractions&&r.grow("@hasContraction+").contractions().expand(),r.delete(i),o){let e=r.docs[0],t=e[e.length-1];t.tags.has("Possessive")||(t.text+="'s",t.normal+="'s",t.tags.add("Possessive"))}let l=r.toView(n).compute(["index","lexicon"]);return l.world.compute.preTagger&&l.compute("preTagger"),t.tags&&l.terms().forEach(((e,t)=>{e.tagSafe(s[t])})),t.case&&l.docs[0]&&l.docs[0][0]&&0===l.docs[0][0].index[1]&&(l.docs[0][0].text=l.docs[0][0].text.replace(/\w\S*/g,(e=>e.charAt(0).toUpperCase()+e.substring(1).toLowerCase()))),l},replace:function(e,t,n){if(e&&!t)return this.replaceWith(e,n);let r=this.match(e);return r.found?(this.soften(),r.replaceWith(t,n)):this}};var L=z,$=function(e,t){t.forEach((t=>{let[n,r,a]=t,o=a-r;e[n]&&(a===e[n].length&&a>1&&function(e,t){let n=e.length-1,r=e[n],a=e[n-t];a&&r&&(a.post+=r.post,a.post=a.post.replace(/ +([.?!,;:])/,"$1"),a.post=a.post.replace(/[,;:]+([.?!])/,"$1"))}(e[n],o),e[n].splice(r,o))}));for(let t=e.length-1;t>=0;t-=1)if(0===e[t].length&&(e.splice(t,1),t===e.length&&e[t-1])){let n=e[t-1],r=n[n.length-1];r&&(r.post=r.post.trimEnd())}return e};const S={remove:function(e){const{indexN:t}=this.methods.one.pointer;this.uncache();let n=this.all(),r=this;e&&(n=this,r=this.match(e));let a=!n.ptrs;r.has("@hasContraction")&&r.contractions&&r.grow("@hasContraction").contractions().expand();let o=n.fullPointer,i=r.fullPointer.reverse(),s=$(this.document,i);return o=function(e,t){return e=e.map((e=>{let[n]=e;return t[n]?(t[n].forEach((t=>{let n=t[2]-t[1];e[1]<=t[1]&&e[2]>=t[2]&&(e[2]-=n)})),e):e})),e.forEach(((t,n)=>{if(0===t[1]&&0==t[2])for(let t=n+1;te[2]-e[1]>0))).map((e=>(e[3]=null,e[4]=null,e)))}(o,t(i)),n.ptrs=o,n.document=s,n.compute("index"),a&&(n.ptrs=void 0),e?n.toView(o):(this.ptrs=[],n.none())}};S.delete=S.remove;var M=S;const B={pre:function(e,t){return void 0===e&&this.found?this.docs[0][0].pre:(this.docs.forEach((n=>{let r=n[0];!0===t?r.pre+=e:r.pre=e})),this)},post:function(e,t){if(void 0===e){let e=this.docs[this.docs.length-1];return e[e.length-1].post}return this.docs.forEach((n=>{let r=n[n.length-1];!0===t?r.post+=e:r.post=e})),this},trim:function(){if(!this.found)return this;let e=this.docs,t=e[0][0];t.pre=t.pre.trimStart();let n=e[e.length-1],r=n[n.length-1];return r.post=r.post.trimEnd(),this},hyphenate:function(){return this.docs.forEach((e=>{e.forEach(((t,n)=>{0!==n&&(t.pre=""),e[n+1]&&(t.post="-")}))})),this},dehyphenate:function(){const e=/[-–—]/;return this.docs.forEach((t=>{t.forEach((t=>{e.test(t.post)&&(t.post=" ")}))})),this},toQuotations:function(e,t){return e=e||'"',t=t||'"',this.docs.forEach((n=>{n[0].pre=e+n[0].pre;let r=n[n.length-1];r.post=t+r.post})),this},toParentheses:function(e,t){return e=e||"(",t=t||")",this.docs.forEach((n=>{n[0].pre=e+n[0].pre;let r=n[n.length-1];r.post=t+r.post})),this}};B.deHyphenate=B.dehyphenate,B.toQuotation=B.toQuotations;var H=B,J={alpha:(e,t)=>e.normalt.normal?1:0,length:(e,t)=>{let n=e.normal.trim().length,r=t.normal.trim().length;return nr?-1:0},wordCount:(e,t)=>e.wordst.words?-1:0,sequential:(e,t)=>e[0]t[0]?-1:e[1]>t[1]?1:-1,byFreq:function(e){let t={};return e.forEach((e=>{t[e.normal]=t[e.normal]||0,t[e.normal]+=1})),e.sort(((e,n)=>{let r=t[e.normal],a=t[n.normal];return ra?-1:0})),e}};const W=new Set(["index","sequence","seq","sequential","chron","chronological"]),K=new Set(["freq","frequency","topk","repeats"]),q=new Set(["alpha","alphabetical"]);var U={unique:function(){let e=new Set,t=this.filter((t=>{let n=t.text("machine");return!e.has(n)&&(e.add(n),!0)}));return t},reverse:function(){let e=this.pointer||this.docs.map(((e,t)=>[t]));return e=[].concat(e),e=e.reverse(),this._cache&&(this._cache=this._cache.reverse()),this.update(e)},sort:function(e){let{docs:t,pointer:n}=this;if(this.uncache(),"function"==typeof e)return function(e,t){let n=e.fullPointer;return n=n.sort(((n,r)=>(n=e.update([n]),r=e.update([r]),t(n,r)))),e.ptrs=n,e}(this,e);e=e||"alpha";let r=n||t.map(((e,t)=>[t])),a=t.map(((e,t)=>({index:t,words:e.length,normal:e.map((e=>e.machine||e.normal||"")).join(" "),pointer:r[t]})));return W.has(e)&&(e="sequential"),q.has(e)&&(e="alpha"),K.has(e)?(a=J.byFreq(a),this.update(a.map((e=>e.pointer)))):"function"==typeof J[e]?(a=a.sort(J[e]),this.update(a.map((e=>e.pointer)))):this}};const Q=function(e,t){if(e.length>0){let t=e[e.length-1],n=t[t.length-1];!1===/ /.test(n.post)&&(n.post+=" ")}return e=e.concat(t)};var R={concat:function(e){if("string"==typeof e){let t=this.fromText(e);if(this.found&&this.ptrs){let e=this.fullPointer,n=e[e.length-1][0];this.document.splice(n,0,...t.document)}else this.document=this.document.concat(t.document);return this.all().compute("index")}if("object"==typeof e&&e.isView)return function(e,t){if(e.document===t.document){let n=e.fullPointer.concat(t.fullPointer);return e.toView(n).compute("index")}return t.fullPointer.forEach((t=>{t[0]+=e.document.length})),e.document=Q(e.document,t.docs),e.all()}(this,e);if(t=e,"[object Array]"===Object.prototype.toString.call(t)){let t=Q(this.document,e);return this.document=t,this.all()}var t;return this}},_={harden:function(){return this.ptrs=this.fullPointer,this},soften:function(){let e=this.ptrs;return!e||e.length<1||(e=e.map((e=>e.slice(0,3))),this.ptrs=e),this}};const X=Object.assign({},{toLowerCase:function(){return this.termList().forEach((e=>{e.text=e.text.toLowerCase()})),this},toUpperCase:function(){return this.termList().forEach((e=>{e.text=e.text.toUpperCase()})),this},toTitleCase:function(){return this.termList().forEach((e=>{e.text=e.text.replace(/^ *[a-z\u00C0-\u00FF]/,(e=>e.toUpperCase()))})),this},toCamelCase:function(){return this.docs.forEach((e=>{e.forEach(((t,n)=>{0!==n&&(t.text=t.text.replace(/^ *[a-z\u00C0-\u00FF]/,(e=>e.toUpperCase()))),n!==e.length-1&&(t.post="")}))})),this}},V,L,M,H,U,R,_);var Z=function(e){Object.assign(e.prototype,X)};const Y={id:function(e){let t=e.docs;for(let e=0;e(e.implicit=e.text,e.machine=e.text,e.pre="",e.post="",e.text="",e.normal="",e.index=[r,a+t],e))),n[0]&&(n[0].pre=e[r][a].pre,n[n.length-1].post=e[r][a].post,n[0].text=e[r][a].text,n[0].normal=e[r][a].normal),e[r].splice(a,1,...n))};const ae=/'/,oe=new Set(["what","how","when","where","why"]),ie=new Set(["be","go","start","think","need"]),se=new Set(["been","gone"]);var le=function(e,t){let n=e[t].normal.split(ae)[0];if(oe.has(n))return[n,"did"];if(e[t+1]){if(se.has(e[t+1].normal))return[n,"had"];if(ie.has(e[t+1].normal))return[n,"would"]}return null},ue=function(e,t){return"ain't"===e[t].normal||"aint"===e[t].normal?null:[e[t].normal.replace(/n't/,""),"not"]};const ce=/'/;var he=(e,t)=>["je",e[t].normal.split(ce)[1]],de=(e,t)=>{let n=e[t].normal.split(ce)[1];return n&&n.endsWith("e")?["la",n]:["le",n]},ge=(e,t)=>{let n=e[t].normal.split(ce)[1];return n&&n.endsWith("e")?["du",n]:n&&n.endsWith("s")?["des",n]:["de",n]};const me=/^([0-9.]{1,4}[a-z]{0,2}) ?[-–—] ?([0-9]{1,4}[a-z]{0,2})$/i,pe=/^([0-9]{1,2}(:[0-9][0-9])?(am|pm)?) ?[-–—] ?([0-9]{1,2}(:[0-9][0-9])?(am|pm)?)$/i,fe=/^[0-9]{3}-[0-9]{4}$/;var ve=function(e,t){let n=e[t],r=n.text.match(me);return null!==r?!0===n.tags.has("PhoneNumber")||fe.test(n.text)?null:[r[1],"to",r[2]]:(r=n.text.match(pe),null!==r?[r[1],"to",r[4]]:null)};const be=/^([+-]?[0-9][.,0-9]*)([a-z°²³µ/]+)$/;var ye=function(e,t,n){const r=n.model.one.numberSuffixes||{};let a=e[t].text.match(be);if(null!==a){let e=a[2].toLowerCase().trim();return r.hasOwnProperty(e)?null:[a[1],e]}return null};const we=/'/,ke=/^[0-9][^-–—]*[-–—].*?[0-9]/,Pe=function(e,t,n,r){let a=t.update();a.document=[e];let o=n+r;n>0&&(n-=1),e[o]&&(o+=1),a.ptrs=[[0,n,o]]},Ae={t:(e,t)=>ue(e,t),d:(e,t)=>le(e,t)},Ie={j:(e,t)=>he(e,t),l:(e,t)=>de(e,t),d:(e,t)=>ge(e,t)},Ne=function(e,t,n,r){for(let a=0;a2)return o.out.concat(r)}return null},je=function(e,t){let n=t.fromText(e.join(" "));return n.compute(["id","alias"]),n.docs[0]},Ee=function(e,t){for(let n=t+1;n<5&&e[n];n+=1)if("been"===e[n].normal)return["there","has"];return["there","is"]};var xe=e=>{let{world:t,document:n}=e;const{model:r,methods:a}=t;let o=r.one.contractions||[];n.forEach(((r,i)=>{for(let s=r.length-1;s>=0;s-=1){let l=null,u=null;!0===we.test(r[s].normal)&&([l,u]=r[s].normal.split(we));let c=Ne(o,r[s],l,u);!c&&Ae.hasOwnProperty(u)&&(c=Ae[u](r,s,t)),!c&&Ie.hasOwnProperty(l)&&(c=Ie[l](r,s)),"there"===l&&"s"===u&&(c=Ee(r,s)),c?(c=je(c,e),re(n,[i,s],c),Pe(n[i],e,s,c.length)):ke.test(r[s].normal)?(c=ve(r,s),c&&(c=je(c,e),re(n,[i,s],c),a.one.setTag(c,"NumberRange",t),c[2]&&c[2].tags.has("Time")&&a.one.setTag([c[0]],"Time",t,null,"time-range"),Pe(n[i],e,s,c.length))):(c=ye(r,s,t),c&&(c=je(c,e),re(n,[i,s],c),a.one.setTag([c[1]],"Unit",t,null,"contraction-unit")))}}))},De={model:ne,compute:{contractions:xe},hooks:["contractions"]},Te=function(e,t,n){const{model:r,methods:a}=n,o=a.one.setTag,i=r.one._multiCache||{},s=r.one.lexicon||{};let l=e[t],u=l.machine||l.normal;return void 0!==e[t+1]&&!0===i[u]?function(e,t,n,r,a){let o=t+4>e.length?e.length-t:4,i=e[t].machine||e[t].normal;for(let s=1;si.hasOwnProperty(e)));if(e)return o([s],i[e],n,!1,"1-lexicon-alias"),!0}if(!0===Ce.test(l)){let e=l.replace(Ce,"");if(i.hasOwnProperty(e)&&e.length>3&&Oe.has(i[e]))return o([s],i[e],n,!1,"1-lexicon-prefix"),!0}return null},Ve={lexicon:function(e){const t=e.world;e.docs.forEach((e=>{for(let n=0;n{let a=e[r],o=(r=(r=r.toLowerCase().trim()).replace(/'s\b/,"")).split(/ /);o.length>1&&(n[o[0]]=!0),t[r]=t[r]||a})),delete t[""],delete t.null,delete t[" "],{lex:t,_multi:n}},ze={addWords:function(e){const t=this.world(),{methods:n,model:r}=t;if(e)if(Object.keys(e).forEach((t=>{"string"==typeof e[t]&&e[t].startsWith("#")&&(e[t]=e[t].replace(/^#/,""))})),n.two.expandLexicon){let{lex:a,_multi:o}=n.two.expandLexicon(e,t);Object.assign(r.one.lexicon,a),Object.assign(r.one._multiCache,o)}else if(n.one.expandLexicon){let{lex:a,_multi:o}=n.one.expandLexicon(e,t);Object.assign(r.one.lexicon,a),Object.assign(r.one._multiCache,o)}else Object.assign(r.one.lexicon,e)}},Le={model:{one:{lexicon:{},_multiCache:{}}},methods:{one:{expandLexicon:Ge}},compute:Ve,lib:ze,hooks:["lexicon"]},$e=function(e,t){let n=[{}],r=[null],a=[0],o=[],i=0;e.forEach((function(e){let a=0,o=function(e,t){const{methods:n,model:r}=t;let a=n.one.tokenize.splitTerms(e,r).map((e=>n.one.tokenize.splitWhitespace(e,r)));return a.map((e=>e.text.toLowerCase()))}(e,t);for(let e=0;e0&&!n[i].hasOwnProperty(l);)i=a[i];if(n.hasOwnProperty(i)){let e=n[i][l];a[u]=e,r[e]&&(r[u]=r[u]||[],r[u]=r[u].concat(r[e]))}else a[u]=0}}return{goNext:n,endAs:r,failTo:a}};const Se=function(e,t,n){let r=0,a=[];for(let o=0;o0&&(void 0===t.goNext[r]||!t.goNext[r].hasOwnProperty(i));)r=t.failTo[r]||0;if(t.goNext[r].hasOwnProperty(i)&&(r=t.goNext[r][i],t.endAs[r])){let n=t.endAs[r];for(let t=0;t0&&(r=r.concat(l))}return e.update(r)};const He=(e,t)=>{for(let n=e.length-1;n>=0;n-=1)if(e[n]!==t)return e=e.slice(0,n+1);return e};var Je=function(e){return e.goNext=e.goNext.map((e=>{if(0!==Object.keys(e).length)return e})),e.goNext=He(e.goNext,void 0),e.failTo=He(e.failTo,0),e.endAs=He(e.endAs,null),e};const We={buildTrie:function(e){const t=$e(e,this.world());return Je(t)}};We.compile=We.buildTrie;var Ke={api:function(e){e.prototype.lookup=function(e,t={}){if(!e)return this.none();"string"==typeof e&&(e=[e]);let n=(r=e,"[object Object]"===Object.prototype.toString.call(r)?e:$e(e,this.world));var r;let a=Be(this,n,t);return a=a.settle(),a}},lib:We};const qe=function(e,t){return t?(e.forEach((e=>{let n=e[0];t[n]&&(e[0]=t[n][0],e[1]+=t[n][1],e[2]+=t[n][1])})),e):e},Ue=function(e,t){let{ptrs:n,byGroup:r}=e;return n=qe(n,t),Object.keys(r).forEach((e=>{r[e]=qe(r[e],t)})),{ptrs:n,byGroup:r}},Qe=e=>"[object Object]"===Object.prototype.toString.call(e),Re=e=>e&&Qe(e)&&!0===e.isView,_e=e=>e&&Qe(e)&&!0===e.isNet,Xe=function(e,t,n){const r=n.methods.one;return"number"==typeof e&&(e=String(e)),"string"==typeof e&&(e=r.killUnicode(e,n),e=r.parseMatch(e,t,n)),e};var Ze={matchOne:function(e,t,n){const r=this.methods.one;if(Re(e))return this.intersection(e).eq(0);if(_e(e))return this.sweep(e,{tagger:!1,matchOne:!0}).view;let a={regs:e=Xe(e,n,this.world),group:t,justOne:!0},o=r.match(this.docs,a,this._cache),{ptrs:i,byGroup:s}=Ue(o,this.fullPointer),l=this.toView(i);return l._groups=s,l},match:function(e,t,n){const r=this.methods.one;if(Re(e))return this.intersection(e);if(_e(e))return this.sweep(e,{tagger:!1}).view.settle();let a={regs:e=Xe(e,n,this.world),group:t},o=r.match(this.docs,a,this._cache),{ptrs:i,byGroup:s}=Ue(o,this.fullPointer),l=this.toView(i);return l._groups=s,l},has:function(e,t,n){const r=this.methods.one;if(Re(e))return e.fullPointer.length>0;if(_e(e))return this.sweep(e,{tagger:!1}).view.found;let a={regs:e=Xe(e,n,this.world),group:t,justOne:!0};return r.match(this.docs,a,this._cache).ptrs.length>0},if:function(e,t,n){const r=this.methods.one;if(Re(e))return this.filter((t=>t.intersection(e).found));if(_e(e)){let t=this.sweep(e,{tagger:!1}).view.settle();return this.if(t)}let a={regs:e=Xe(e,n,this.world),group:t,justOne:!0},o=this.fullPointer,i=this._cache||[];o=o.filter(((e,t)=>{let n=this.update([e]);return r.match(n.docs,a,i[t]).ptrs.length>0}));let s=this.update(o);return this._cache&&(s._cache=o.map((e=>i[e[0]]))),s},ifNo:function(e,t,n){const{methods:r}=this,a=r.one;if(Re(e))return this.filter((t=>!t.intersection(e).found));if(_e(e)){let t=this.sweep(e,{tagger:!1}).view.settle();return this.ifNo(t)}e=Xe(e,n,this.world);let o=this._cache||[],i=this.filter(((n,r)=>{let i={regs:e,group:t,justOne:!0};return 0===a.match(n.docs,i,o[r]).ptrs.length}));return this._cache&&(i._cache=i.ptrs.map((e=>o[e[0]]))),i}},Ye={before:function(e,t,n){const{indexN:r}=this.methods.one.pointer;let a=[],o=r(this.fullPointer);Object.keys(o).forEach((e=>{let t=o[e].sort(((e,t)=>e[1]>t[1]?1:-1))[0];t[1]>0&&a.push([t[0],0,t[1]])}));let i=this.toView(a);return e?i.match(e,t,n):i},after:function(e,t,n){const{indexN:r}=this.methods.one.pointer;let a=[],o=r(this.fullPointer),i=this.document;Object.keys(o).forEach((e=>{let t=o[e].sort(((e,t)=>e[1]>t[1]?-1:1))[0],[n,,r]=t;r{let o=n.before(e,t);if(o.found){let e=o.terms();r[a][1]-=e.length,r[a][3]=e.docs[0][0].id}})),this.update(r)},growRight:function(e,t,n){"string"==typeof e&&(e=this.world.methods.one.parseMatch(e,n,this.world)),e[0].start=!0;let r=this.fullPointer;return this.forEach(((n,a)=>{let o=n.after(e,t);if(o.found){let e=o.terms();r[a][2]+=e.length,r[a][4]=null}})),this.update(r)},grow:function(e,t,n){return this.growRight(e,t,n).growLeft(e,t,n)}};const et=function(e,t){return[e[0],e[1],t[2]]},tt=(e,t,n)=>{return"string"==typeof e||(r=e,"[object Array]"===Object.prototype.toString.call(r))?t.match(e,n):e||t.none();var r},nt=function(e,t){let[n,r,a]=e;return t.document[n]&&t.document[n][r]&&(e[3]=e[3]||t.document[n][r].id,t.document[n][a-1]&&(e[4]=e[4]||t.document[n][a-1].id)),e},rt={splitOn:function(e,t){const{splitAll:n}=this.methods.one.pointer;let r=tt(e,this,t).fullPointer,a=n(this.fullPointer,r),o=[];return a.forEach((e=>{o.push(e.passthrough),o.push(e.before),o.push(e.match),o.push(e.after)})),o=o.filter((e=>e)),o=o.map((e=>nt(e,this))),this.update(o)},splitBefore:function(e,t){const{splitAll:n}=this.methods.one.pointer;let r=tt(e,this,t).fullPointer,a=n(this.fullPointer,r);for(let e=0;e{o.push(e.passthrough),o.push(e.before),e.match&&e.after?o.push(et(e.match,e.after)):o.push(e.match)})),o=o.filter((e=>e)),o=o.map((e=>nt(e,this))),this.update(o)},splitAfter:function(e,t){const{splitAll:n}=this.methods.one.pointer;let r=tt(e,this,t).fullPointer,a=n(this.fullPointer,r),o=[];return a.forEach((e=>{o.push(e.passthrough),e.before&&e.match?o.push(et(e.before,e.match)):(o.push(e.before),o.push(e.match)),o.push(e.after)})),o=o.filter((e=>e)),o=o.map((e=>nt(e,this))),this.update(o)}};rt.split=rt.splitAfter;var at=rt;const ot=Object.assign({},Ze,Ye,at);ot.lookBehind=ot.before,ot.lookBefore=ot.before,ot.lookAhead=ot.after,ot.lookAfter=ot.after,ot.notIf=ot.ifNo;var it=function(e){Object.assign(e.prototype,ot)};const st=/(?:^|\s)([![^]*(?:<[^<]*>)?\/.*?[^\\/]\/[?\]+*$~]*)(?:\s|$)/,lt=/([!~[^]*(?:<[^<]*>)?\([^)]+[^\\)]\)[?\]+*$~]*)(?:\s|$)/,ut=/ /g,ct=e=>/^[![^]*(<[^<]*>)?\//.test(e)&&/\/[?\]+*$~]*$/.test(e),ht=function(e){return e=(e=e.map((e=>e.trim()))).filter((e=>e))};var dt=function(e){let t=e.split(st),n=[];t.forEach((e=>{ct(e)?n.push(e):n=n.concat(e.split(lt))})),n=ht(n);let r=[];return n.forEach((e=>{(e=>/^[![^]*(<[^<]*>)?\(/.test(e)&&/\)[?\]+*$~]*$/.test(e))(e)||ct(e)?r.push(e):r=r.concat(e.split(ut))})),r=ht(r),r};const gt=/\{([0-9]+)?(, *[0-9]*)?\}/,mt=/&&/,pt=new RegExp(/^<\s*(\S+)\s*>/),ft=e=>e.charAt(0).toUpperCase()+e.substring(1),vt=e=>e.charAt(e.length-1),bt=e=>e.charAt(0),yt=e=>e.substring(1),wt=e=>e.substring(0,e.length-1),kt=function(e){return e=yt(e),e=wt(e)},Pt=function(e,t){let n={};for(let r=0;r<2;r+=1){if("$"===vt(e)&&(n.end=!0,e=wt(e)),"^"===bt(e)&&(n.start=!0,e=yt(e)),"?"===vt(e)&&(n.optional=!0,e=wt(e)),("["===bt(e)||"]"===vt(e))&&(n.group=null,"["===bt(e)&&(n.groupStart=!0),"]"===vt(e)&&(n.groupEnd=!0),e=(e=e.replace(/^\[/,"")).replace(/\]$/,""),"<"===bt(e))){const t=pt.exec(e);t.length>=2&&(n.group=t[1],e=e.replace(t[0],""))}if("+"===vt(e)&&(n.greedy=!0,e=wt(e)),"*"!==e&&"*"===vt(e)&&"\\*"!==e&&(n.greedy=!0,e=wt(e)),"!"===bt(e)&&(n.negative=!0,e=yt(e)),"~"===bt(e)&&"~"===vt(e)&&e.length>2&&(e=kt(e),n.fuzzy=!0,n.min=t.fuzzy||.85,!1===/\(/.test(e)))return n.word=e,n;if("/"===bt(e)&&"/"===vt(e))return e=kt(e),t.caseSensitive&&(n.use="text"),n.regex=new RegExp(e),n;if(!0===gt.test(e)&&(e=e.replace(gt,((e,t,r)=>(void 0===r?(n.min=Number(t),n.max=Number(t)):(r=r.replace(/, */,""),void 0===t?(n.min=0,n.max=Number(r)):(n.min=Number(t),n.max=Number(r||999))),n.greedy=!0,n.min||(n.optional=!0),"")))),"("===bt(e)&&")"===vt(e)){mt.test(e)?(n.choices=e.split(mt),n.operator="and"):(n.choices=e.split("|"),n.operator="or"),n.choices[0]=yt(n.choices[0]);let r=n.choices.length-1;n.choices[r]=wt(n.choices[r]),n.choices=n.choices.map((e=>e.trim())),n.choices=n.choices.filter((e=>e)),n.choices=n.choices.map((e=>e.split(/ /g).map((e=>Pt(e,t))))),e=""}if("{"===bt(e)&&"}"===vt(e)){if(e=kt(e),n.root=e,/\//.test(e)){let e=n.root.split(/\//);n.root=e[0],n.pos=e[1],"adj"===n.pos&&(n.pos="Adjective"),n.pos=n.pos.charAt(0).toUpperCase()+n.pos.substr(1).toLowerCase(),void 0!==e[2]&&(n.sense=e[2])}return n}if("<"===bt(e)&&">"===vt(e))return e=kt(e),n.chunk=ft(e),n.greedy=!0,n;if("%"===bt(e)&&"%"===vt(e))return e=kt(e),n.switch=e,n}return"#"===bt(e)?(n.tag=yt(e),n.tag=ft(n.tag),n):"@"===bt(e)?(n.method=yt(e),n):"."===e?(n.anything=!0,n):"*"===e?(n.anything=!0,n.greedy=!0,n.optional=!0,n):(e&&(e=(e=e.replace("\\*","*")).replace("\\.","."),t.caseSensitive?n.use="text":e=e.toLowerCase(),n.word=e),n)};var At=Pt;const It=/[a-z0-9][-–—][a-z]/i;var Nt=function(e,t){let n=t.model.one.prefixes;for(let t=e.length-1;t>=0;t-=1){let r=e[t];if(r.word&&It.test(r.word)){let a=r.word.split(/[-–—]/g);if(n.hasOwnProperty(a[0]))continue;a=a.filter((e=>e)).reverse(),e.splice(t,1),a.forEach((n=>{let a=Object.assign({},r);a.word=n,e.splice(t,0,a)}))}}return e};const jt=function(e,t){let{all:n}=t.methods.two.transform.verb||{},r=e.root;return n?n(r,t.model):[]},Et=function(e,t){let{all:n}=t.methods.two.transform.noun||{};return n?n(e.root,t.model):[e.root]},xt=function(e,t){let{all:n}=t.methods.two.transform.adjective||{};return n?n(e.root,t.model):[e.root]};var Dt=function(e,t){return e=e.map((e=>{if(e.root)if(t.methods.two&&t.methods.two.transform){let n=[];e.pos?"Verb"===e.pos?n=n.concat(jt(e,t)):"Noun"===e.pos?n=n.concat(Et(e,t)):"Adjective"===e.pos&&(n=n.concat(xt(e,t))):(n=n.concat(jt(e,t)),n=n.concat(Et(e,t)),n=n.concat(xt(e,t))),n=n.filter((e=>e)),n.length>0&&(e.operator="or",e.fastOr=new Set(n))}else e.machine=e.root,delete e.id,delete e.root;return e}))},Tt=function(e){return e=function(e){let t=0,n=null;for(let r=0;r(e.fuzzy&&e.choices&&e.choices.forEach((t=>{1===t.length&&t[0].word&&(t[0].fuzzy=!0,t[0].min=e.min)})),e)))}(e=e.map((e=>{if(void 0!==e.choices){if("or"!==e.operator)return e;if(!0===e.fuzzy)return e;!0===e.choices.every((e=>{if(1!==e.length)return!1;let t=e[0];return!0!==t.fuzzy&&!t.start&&!t.end&&void 0!==t.word&&!0!==t.negative&&!0!==t.optional&&!0!==t.method}))&&(e.fastOr=new Set,e.choices.forEach((t=>{e.fastOr.add(t[0].word)})),delete e.choices)}return e}))),e},Ct=function(e,t,n){if(null==e||""===e)return[];t=t||{},"number"==typeof e&&(e=String(e));let r=dt(e);return r=r.map((e=>At(e,t))),r=Nt(r,n),r=Dt(r,n),r=Tt(r),r};const Ot=function(e,t){for(let n of t)if(e.has(n))return!0;return!1};var Ft=function(e,t){for(let n=0;nn?r:n)+1;if(Math.abs(n-r)>(a||100))return a||100;let o,i,s,l,u,c,h=[];for(let e=0;e4)return n;s=t[o-1],l=i===s?0:1,u=h[a-1][o]+1,(c=h[a][o-1]+1)1&&o>1&&i===t[o-2]&&e[a-2]===s&&(c=h[a-2][o-2]+l)-1!==e.post.indexOf(t),Mt=(e,t)=>-1!==e.pre.indexOf(t),Bt={hasQuote:e=>Gt.test(e.pre)||zt.test(e.post),hasComma:e=>St(e,","),hasPeriod:e=>!0===St(e,".")&&!1===St(e,"..."),hasExclamation:e=>St(e,"!"),hasQuestionMark:e=>St(e,"?")||St(e,"¿"),hasEllipses:e=>St(e,"..")||St(e,"…")||Mt(e,"..")||Mt(e,"…"),hasSemicolon:e=>St(e,";"),hasColon:e=>St(e,":"),hasSlash:e=>/\//.test(e.text),hasHyphen:e=>Lt.test(e.post)||Lt.test(e.pre),hasDash:e=>$t.test(e.post)||$t.test(e.pre),hasContraction:e=>Boolean(e.implicit),isAcronym:e=>e.tags.has("Acronym"),isKnown:e=>e.tags.size>0,isTitleCase:e=>/^\p{Lu}[a-z'\u00C0-\u00FF]/u.test(e.text),isUpperCase:e=>/^\p{Lu}+$/u.test(e.text)};Bt.hasQuotation=Bt.hasQuote;var Ht=Bt;let Jt=function(){};Jt=function(e,t,n,r){let a=function(e,t,n,r){if(!0===t.anything)return!0;if(!0===t.start&&0!==n)return!1;if(!0===t.end&&n!==r-1)return!1;if(void 0!==t.id&&t.id===e.id)return!0;if(void 0!==t.word){if(t.use)return t.word===e[t.use];if(null!==e.machine&&e.machine===t.word)return!0;if(void 0!==e.alias&&e.alias.hasOwnProperty(t.word))return!0;if(!0===t.fuzzy){if(t.word===e.root)return!0;if(Vt(t.word,e.normal)>=t.min)return!0}return!(!e.alias||!e.alias.some((e=>e===t.word)))||t.word===e.text||t.word===e.normal}if(void 0!==t.tag)return!0===e.tags.has(t.tag);if(void 0!==t.method)return"function"==typeof Ht[t.method]&&!0===Ht[t.method](e);if(void 0!==t.pre)return e.pre&&e.pre.includes(t.pre);if(void 0!==t.post)return e.post&&e.post.includes(t.post);if(void 0!==t.regex){let n=e.normal;return t.use&&(n=e[t.use]),t.regex.test(n)}if(void 0!==t.chunk)return e.chunk===t.chunk;if(void 0!==t.switch)return e.switch===t.switch;if(void 0!==t.machine)return e.normal===t.machine||e.machine===t.machine||e.root===t.machine;if(void 0!==t.sense)return e.sense===t.sense;if(void 0!==t.fastOr){if(t.pos&&!e.tags.has(t.pos))return null;let n=e.root||e.implicit||e.machine||e.normal;return t.fastOr.has(n)||t.fastOr.has(e.text)}return void 0!==t.choices&&("and"===t.operator?t.choices.every((t=>Jt(e,t,n,r))):t.choices.some((t=>Jt(e,t,n,r))))}(e,t,n,r);return!0===t.negative?!a:a};var Wt=Jt;const Kt=function(e,t){if(!0===e.end&&!0===e.greedy&&t.start_i+t.tn.max?(e.t=e.t+n.max,!0):(!0===e.hasGroup&&(qt(e,e.t).length=r-e.t),e.t=r,!0)};const Qt=function(e,t=0){let n=e.regs[e.r],r=!1;for(let o=0;o{let a=0,o=e.t+r+t+a;if(void 0===e.terms[o])return!1;let i=Wt(e.terms[o],n,o+e.start_i,e.phrase_length);if(!0===i&&!0===n.greedy)for(let t=1;t{let r=n.every(((t,n)=>{let r=e.t+n;return void 0!==e.terms[r]&&Wt(e.terms[r],t,r,e.phrase_length)}));return!0===r&&n.length>t&&(t=n.length),r}))&&t}(e);if(r){if(!0===n.negative)return null;if(!0===e.hasGroup&&(qt(e,e.t).length+=r),!0===n.end){let t=e.phrase_length-1;if(e.t+e.start_i!==t)return null}return e.t+=r,!0}return!!n.optional||null},Xt=function(e,t,n){let r=0;for(let a=e.t;ar||(e.t+=r,0))},Zt=function(e){const{regs:t}=e;let n=t[e.r],r=Object.assign({},n);if(r.negative=!1,Wt(e.terms[e.t],r,e.start_i+e.t,e.phrase_length))return!1;if(n.optional){let n=t[e.r+1];n&&(Wt(e.terms[e.t],n,e.start_i+e.t,e.phrase_length)?e.r+=1:n.optional&&t[e.r+2]&&Wt(e.terms[e.t],t[e.r+2],e.start_i+e.t,e.phrase_length)&&(e.r+=2))}return n.greedy?Xt(e,r,t[e.r+1]):(e.t+=1,!0)},Yt=function(e){const{regs:t}=e;let n=t[e.r],r=e.terms[e.t],a=Wt(r,t[e.r+1],e.start_i+e.t,e.phrase_length);if(n.negative||a){let n=e.terms[e.t+1];n&&Wt(n,t[e.r+1],e.start_i+e.t,e.phrase_length)||(e.r+=1)}},en=function(e){const{regs:t,phrase_length:n}=e;let r=t[e.r];return e.t=function(e,t){let n=Object.assign({},e.regs[e.r],{start:!1,end:!1}),r=e.t;for(;e.te.t?null:!0!==r.end||e.start_i+e.t===n||null},tn=function(e){let t=e.terms[e.t],n=e.regs[e.r];if(t.implicit&&e.terms[e.t+1]){if(!e.terms[e.t+1].implicit)return;n.word===t.normal&&(e.t+=1),"hasContraction"===n.method&&(e.t+=1)}},nn=function(e){const{regs:t}=e;let n=t[e.r],r=e.terms[e.t],a=e.t;return!!(n.optional&&t[e.r+1]&&n.negative)||(n.optional&&t[e.r+1]&&Yt(e),r.implicit&&e.terms[e.t+1]&&tn(e),e.t+=1,!0===n.end&&e.t!==e.terms.length&&!0!==n.greedy?null:!0!==n.greedy||en(e)?(!0===e.hasGroup&&function(e,t){let n=e.regs[e.r];const r=qt(e,t);e.t>1&&n.greedy?r.length+=e.t-t:r.length++}(e,a),!0):null)},rn=function(e,t,n,r){if(0===e.length||0===t.length)return null;let a={t:0,terms:e,r:0,regs:t,groups:{},start_i:n,phrase_length:r,inGroup:null};for(;a.r!e.optional)))break;return null}if(!0!==e.anything||!0!==e.greedy){if(void 0===e.choices||"or"!==e.operator){if(void 0===e.choices||"and"!==e.operator)if(!0!==e.anything){if(!0!==Kt(e,a)){if(e.negative){if(!Zt(a))return null}else if(!0!==Wt(a.terms[a.t],e,a.start_i+a.t,a.phrase_length)){if(!0!==e.optional)return null}else if(!nn(a))return null}else if(!nn(a))return null}else{if(e.negative&&e.anything)return null;if(!nn(a))return null}else if(!_t(a))return null}else if(!Rt(a))return null}else if(!Ut(a))return null}let o=[null,n,a.t+n];if(o[1]===o[2])return null;let i={};return Object.keys(a.groups).forEach((e=>{let t=a.groups[e],r=n+t.start;i[e]=[null,r,r+t.length]})),{pointer:o,groups:i}},an=function(e,t){let n=[],r={};return 0===e.length||("number"==typeof t&&(t=String(t)),t?e.forEach((e=>{e.groups[t]&&n.push(e.groups[t])})):e.forEach((e=>{n.push(e.pointer),Object.keys(e.groups).forEach((t=>{r[t]=r[t]||[],r[t].push(e.groups[t])}))}))),{ptrs:n,byGroup:r}},on=function(e,t,n){return e=e.filter((e=>{let[r,a,o]=e.pointer,i=n[r].slice(a,o);for(let e=0;e{e.groups[n][0]=t})),e},ln=function(e,t,n){let r=rn(e,t,0,e.length);return r?(r=sn(r,n),r):null};var un=function(e,t,n){n=n||[];let{regs:r,group:a,justOne:o}=t,i=[];if(!r||0===r.length)return{ptrs:[],byGroup:{}};const s=r.filter((e=>!0!==e.optional&&!0!==e.negative)).length;e:for(let t=0;te&&(e=Math.abs(n-1))}}else{let e=ln(a,r,t);e&&i.push(e)}}return!0===r[r.length-1].end&&(i=i.filter((t=>{let n=t.pointer[0];return e[n].length===t.pointer[2]}))),t.notIf&&(i=on(i,t.notIf,e)),i=an(i,a),i.ptrs.forEach((t=>{let[n,r,a]=t;t[3]=e[n][r].id,t[4]=e[n][a-1].id})),i},cn={api:it,methods:{one:{termMethods:Ht,parseMatch:Ct,match:un}},lib:{parseMatch:function(e,t){const n=this.world();let r=n.methods.one.killUnicode;return r&&(e=r(e,n)),n.methods.one.parseMatch(e,t,n)}}};const hn=/^\../,dn=/^#./,gn=function(e,t){let n={},r={};return Object.keys(t).forEach((a=>{let o=t[a],i=function(e){let t="",n="";return e=e.replace(/&/g,"&").replace(//g,">").replace(/"/g,""").replace(/'/g,"'"),hn.test(e)?t=``),t+=">",{start:t,end:n}}(a);"string"==typeof o&&(o=e.match(o)),o.docs.forEach((e=>{if(e.every((e=>e.implicit)))return;let t=e[0].id;n[t]=n[t]||[],n[t].push(i.start);let a=e[e.length-1].id;r[a]=r[a]||[],r[a].push(i.end)}))})),{starts:n,ends:r}};var mn={html:function(e){let{starts:t,ends:n}=gn(this,e),r="";return this.docs.forEach((e=>{for(let a=0;a{let n=e.pre||"",a=e.post||"";"some"===t.punctuation&&(n=n.replace(fn,""),bn.test(a)&&(a=" "),a=a.replace(vn,""),a=a.replace(/\?!+/,"?"),a=a.replace(/!+/,"!"),a=a.replace(/\?+/,"?"),a=a.replace(/\.{2,}/,""),e.tags.has("Abbreviation")&&(a=a.replace(/\./,""))),"some"===t.whitespace&&(n=n.replace(/\s/,""),a=a.replace(/\s+/," ")),t.keepPunct||(n=n.replace(fn,""),a="-"===a?" ":a.replace(pn,""));let o=e[t.form||"text"]||e.normal||"";"implicit"===t.form&&(o=e.implicit||e.text),"root"===t.form&&e.implicit&&(o=e.root||e.implicit||e.normal),"machine"!==t.form&&"implicit"!==t.form&&"root"!==t.form||!e.implicit||a&&yn.test(a)||(a+=" "),r+=n+o+a})),!1===n&&(r=r.trim()),!0===t.lowerCase&&(r=r.toLowerCase()),r},kn={text:{form:"text"},normal:{whitespace:"some",punctuation:"some",case:"some",unicode:"some",form:"normal"},machine:{keepSpace:!1,whitespace:"some",punctuation:"some",case:"none",unicode:"some",form:"machine"},root:{keepSpace:!1,whitespace:"some",punctuation:"some",case:"some",unicode:"some",form:"root"},implicit:{form:"implicit"}};kn.clean=kn.normal,kn.reduced=kn.root;var Pn=kn;let An=[],In=0;for(;In<64;)An[In]=0|4294967296*Math.sin(++In%Math.PI);function Nn(e){let t,n,r,a=[t=1732584193,n=4023233417,~t,~n],o=[],i=decodeURI(encodeURI(e))+"€",s=i.length;for(e=--s/4+2|15,o[--e]=8*s;~s;)o[s>>2]|=i.charCodeAt(s)<<8*s--;for(In=i=0;In>4]+An[i]+~~o[In|15&[i,5*i+1,3*i+5,7*i][s]])<<(s=[7,12,17,22,5,9,14,20,4,11,16,23,6,10,15,21][4*s+i++%4])|r>>>-s),t,n])t=0|s[1],n=s[2];for(i=4;i;)a[--i]+=s[i]}for(e="";i<32;)e+=(a[i>>3]>>4*(1^i++)&15).toString(16);return e}const jn={text:!0,terms:!0};let En={case:"none",unicode:"some",form:"machine",punctuation:"some"};const xn=function(e,t){return Object.assign({},e,t)},Dn={text:e=>wn(e,{keepPunct:!0},!1),normal:e=>wn(e,xn(Pn.normal,{keepPunct:!0}),!1),implicit:e=>wn(e,xn(Pn.implicit,{keepPunct:!0}),!1),machine:e=>wn(e,En,!1),root:e=>wn(e,xn(En,{form:"root"}),!1),hash:e=>Nn(wn(e,{keepPunct:!0},!1)),offset:e=>{let t=Dn.text(e).length;return{index:e[0].offset.index,start:e[0].offset.start,length:t}},terms:e=>e.map((e=>{let t=Object.assign({},e);return t.tags=Array.from(e.tags),t})),confidence:(e,t,n)=>t.eq(n).confidence(),syllables:(e,t,n)=>t.eq(n).syllables(),sentence:(e,t,n)=>t.eq(n).fullSentence().text(),dirty:e=>e.some((e=>!0===e.dirty))};Dn.sentences=Dn.sentence,Dn.clean=Dn.normal,Dn.reduced=Dn.root;const Tn={json:function(e){let t=(n=this,"string"==typeof(r=(r=e)||{})&&(r={}),(r=Object.assign({},jn,r)).offset&&n.compute("offset"),n.docs.map(((e,t)=>{let a={};return Object.keys(r).forEach((o=>{r[o]&&Dn[o]&&(a[o]=Dn[o](e,n,t))})),a})));var n,r;return"number"==typeof e?t[e]:t}};Tn.data=Tn.json;var Cn=Tn,On=function(e){console.log("%c -=-=- ","background-color:#6699cc;"),e.forEach((e=>{console.groupCollapsed(e.text());let t=e.docs[0].map((e=>{let t=e.text||"-";return e.implicit&&(t="["+e.implicit+"]"),{text:t,tags:"["+Array.from(e.tags).join(", ")+"]"}}));console.table(t,["text","tags"]),console.groupEnd()}))};const Fn="";var Vn={green:e=>""+e+Fn,red:e=>""+e+Fn,blue:e=>""+e+Fn,magenta:e=>""+e+Fn,cyan:e=>""+e+Fn,yellow:e=>""+e+Fn,black:e=>""+e+Fn,dim:e=>""+e+Fn,i:e=>""+e+Fn},Gn=function(e){let{docs:t,model:n}=e;0===t.length&&console.log(Vn.blue("\n ──────")),t.forEach((t=>{console.log(Vn.blue("\n ┌─────────")),t.forEach((t=>{let r=[...t.tags||[]],a=t.text||"-";t.sense&&(a=`{${t.normal}/${t.sense}}`),t.implicit&&(a="["+t.implicit+"]"),a=Vn.yellow(a);let o="'"+a+"'";if(t.reference){let n=e.update([t.reference]).text("normal");o+=` - ${Vn.dim(Vn.i("["+n+"]"))}`}o=o.padEnd(18);let i=Vn.blue(" │ ")+Vn.i(o)+" - "+function(e,t){return t.one.tagSet&&(e=e.map((e=>{if(!t.one.tagSet.hasOwnProperty(e))return e;const n=t.one.tagSet[e].color||"blue";return Vn[n](e)}))),e.join(", ")}(r,n);console.log(i)}))}))},zn=function(e){let{docs:t}=e;console.log(""),t.forEach((e=>{let t=[];e.forEach((e=>{"Noun"===e.chunk?t.push(Vn.blue(e.implicit||e.normal)):"Verb"===e.chunk?t.push(Vn.green(e.implicit||e.normal)):"Adjective"===e.chunk?t.push(Vn.yellow(e.implicit||e.normal)):"Pivot"===e.chunk?t.push(Vn.red(e.implicit||e.normal)):t.push(e.implicit||e.normal)})),console.log(t.join(" "),"\n")}))},Ln=function(e){if(!e.found)return;let t={};e.fullPointer.forEach((e=>{t[e[0]]=t[e[0]]||[],t[e[0]].push(e)})),Object.keys(t).forEach((n=>{let r=e.update([[Number(n)]]).text();e.update(t[n]).json({offset:!0}).forEach(((e,t)=>{r=function(e,t,n){let r=((e,t,n)=>{let r=9*n,a=t.start+r,o=a+t.length;return[e.substring(0,a),e.substring(a,o),e.substring(o,e.length)]})(e,t,n);return`${r[0]}${Vn.blue(r[1])}${r[2]}`}(r,e.offset,t)})),console.log(r)}))},$n=function(e={}){let t=this;if("string"==typeof e){let t={};t[e]=!0,e=t}return"undefined"!=typeof window&&window.document?(On(t),t):(!1!==e.tags&&(Gn(t),console.log("\n")),!0===e.chunks&&(zn(t),console.log("\n")),!0===e.highlight&&(Ln(t),console.log("\n")),t)};const Sn=function(e){let t=e.pre||"",n=e.post||"";return t+e.text+n};var Mn=function(e,t){let n=function(e,t){let n={};return Object.keys(t).forEach((r=>{e.match(r).fullPointer.forEach((e=>{n[e[3]]={fn:t[r],end:e[2]}}))})),n}(e,t),r="";return e.docs.forEach(((t,a)=>{for(let o=0;oe.reduce(((e,t)=>e+t.pre+t.text+t.post),"").trim()));return e.filter((e=>e))}if("freq"===e||"frequency"===e||"topk"===e)return function(e){let t={};e.forEach((e=>{t[e]=t[e]||0,t[e]+=1}));let n=Object.keys(t).map((e=>({normal:e,count:t[e]})));return n.sort(((e,t)=>e.count>t.count?-1:0))}(this.json({normal:!0}).map((e=>e.normal)));if("terms"===e){let e=[];return this.docs.forEach((t=>{let n=t.terms.map((e=>e.text));n=n.filter((e=>e)),e=e.concat(n)})),e}return"tags"===e?this.docs.map((e=>e.reduce(((e,t)=>(e[t.implicit||t.normal]=Array.from(t.tags),e)),{}))):"debug"===e?this.debug():this.text()},wrap:function(e){return Mn(this,e)}};var Hn=Bn,Jn={text:function(e){let t={};var n;if(e&&"string"==typeof e&&Pn.hasOwnProperty(e)?t=Object.assign({},Pn[e]):e&&(n=e,"[object Object]"===Object.prototype.toString.call(n))&&(t=Object.assign({},e)),void 0!==t.keepSpace||this.isFull()||(t.keepSpace=!1),void 0===t.keepEndPunct&&this.pointer){let e=this.pointer[0];e&&e[1]?t.keepEndPunct=!1:t.keepEndPunct=!0}return void 0===t.keepPunct&&(t.keepPunct=!0),void 0===t.keepSpace&&(t.keepSpace=!0),function(e,t){let n="";if(!e||!e[0]||!e[0][0])return n;for(let r=0;ra||a<=n&&o>n},Qn=function(e){let t={};return e.forEach((e=>{t[e[0]]=t[e[0]]||[],t[e[0]].push(e)})),t};var Rn=function(e,t){let n=Qn(t),r=[];return e.forEach((e=>{let[t]=e,a=n[t]||[];if(a=a.filter((t=>function(e,t){return e[1]<=t[1]&&t[2]<=e[2]}(e,t))),0===a.length)return void r.push({passthrough:e});a=a.sort(((e,t)=>e[1]-t[1]));let o=e;a.forEach(((e,t)=>{let n=function(e,t){let[n,r]=e,a=t[1],o=t[2],i={};if(ro&&(i.after=[n,o,e[2]]),i}(o,e);a[t+1]?(r.push({before:n.before,match:n.match}),n.after&&(o=n.after)):r.push(n)}))})),r},_n=function(e,t){let n=[];return e.forEach(((r,a)=>{if(!r)return;let[o,i,s,l,u]=r,c=t[o]||[];if(void 0===i&&(i=0),void 0===s&&(s=c.length),!l||c[i]&&c[i].id===l)c=c.slice(i,s);else{let n=function(e,t,n){for(let r=0;r<20;r+=1){if(t[n-r]){let a=t[n-r].findIndex((t=>t.id===e));if(-1!==a)return[n-r,a]}if(t[n+r]){let a=t[n+r].findIndex((t=>t.id===e));if(-1!==a)return[n+r,a]}}return null}(l,t,o);if(null!==n){let r=s-i;c=t[n[0]].slice(n[1],n[1]+r);let o=c[0]?c[0].id:null;e[a]=[n[0],n[1],n[1]+r,o]}}0!==c.length&&i!==s&&(u&&c[c.length-1].id!==u&&(c=function(e,t){let[n,r,,,a]=e,o=t[n],i=o.findIndex((e=>e.id===a));return-1===i?(e[2]=t[n].length,e[4]=o.length?o[o.length-1].id:null):e[2]=i,t[n].slice(r,e[2]+1)}(r,t)),n.push(c))})),n=n.filter((e=>e.length>0)),n},Xn={one:{termList:function(e){let t=[];for(let n=0;n{let[t]=e;if(1===r[t].length)return void a.push(e);let n=r[t].filter((t=>Un(e,t)));n.push(e);let o=function(e){let t=e[0][1],n=e[0][2];return e.forEach((e=>{e[1]n&&(n=e[2])})),[e[0][0],t,n]}(n);a.push(o)})),a=function(e){let t={};for(let n=0;n{e.passthrough&&n.push(e.passthrough),e.before&&n.push(e.before),e.after&&n.push(e.after)})),n},er=function(e,t){let n=Qn(t),r=[];return e.forEach((e=>{let t=n[e[0]]||[];t=t.filter((t=>Un(e,t))),0!==t.length&&t.forEach((t=>{let n=function(e,t){let n=e[1]t[2]?t[2]:e[2];return n{return"string"==typeof e||(n=e,"[object Array]"===Object.prototype.toString.call(n))?t.match(e):e||t.none();var n},nr=function(e,t){return e.map((e=>{let[n,r]=e;return t[n]&&t[n][r]&&(e[3]=t[n][r].id),e}))},rr={union:function(e){e=tr(e,this);let t=Zn(this.fullPointer,e.fullPointer);return t=nr(t,this.document),this.toView(t)}};rr.and=rr.union,rr.intersection=function(e){e=tr(e,this);let t=er(this.fullPointer,e.fullPointer);return t=nr(t,this.document),this.toView(t)},rr.not=function(e){e=tr(e,this);let t=Yn(this.fullPointer,e.fullPointer);return t=nr(t,this.document),this.toView(t)},rr.difference=rr.not,rr.complement=function(){let e=this.all(),t=Yn(e.fullPointer,this.fullPointer);return t=nr(t,this.document),this.toView(t)},rr.settle=function(){let e=this.fullPointer;return e.forEach((t=>{e=Zn(e,[t])})),e=nr(e,this.document),this.update(e)};var ar=function(e){Object.assign(e.prototype,rr)},or={methods:Xn,api:ar},ir=function(e){e.prototype.sweep=function(e,t={}){const{world:n,docs:r}=this,{methods:a}=n;let o=a.one.bulkMatch(r,e,this.methods,t);!1!==t.tagger&&a.one.bulkTagger(o,r,this.world),o=o.map((e=>{let t=e.pointer,n=r[t[0]][t[1]],a=t[2]-t[1];return n.index&&(e.pointer=[n.index[0],n.index[1],t[1]+a]),e}));let i=o.map((e=>e.pointer));return o=o.map((e=>(e.view=this.update([e.pointer]),delete e.regs,delete e.needs,delete e.pointer,delete e._expanded,e))),{view:this.update(i),found:o}}};const sr=function(e){return!0===e.optional||!0===e.negative?null:e.tag?"#"+e.tag:e.word?e.word:e.switch?`%${e.switch}%`:null};var lr=function(e,t){const n=t.methods.one.parseMatch;return e.forEach((e=>{e.regs=n(e.match,{},t),"string"==typeof e.ifNo&&(e.ifNo=[e.ifNo]),e.notIf&&(e.notIf=n(e.notIf,{},t)),e.needs=function(e){let t=[];return e.forEach((e=>{t.push(sr(e)),"and"===e.operator&&e.choices&&e.choices.forEach((e=>{e.forEach((e=>{t.push(sr(e))}))}))})),t.filter((e=>e))}(e.regs);let{wants:r,count:a}=function(e){let t=[],n=0;return e.forEach((e=>{"or"!==e.operator||e.optional||e.negative||(e.fastOr&&Array.from(e.fastOr).forEach((e=>{t.push(e)})),e.choices&&e.choices.forEach((e=>{e.forEach((e=>{let n=sr(e);n&&t.push(n)}))})),n+=1)})),{wants:t,count:n}}(e.regs);e.wants=r,e.minWant=a,e.minWords=e.regs.filter((e=>!e.optional)).length})),e},ur=function(e,t){e=lr(e,t);let n={};e.forEach((e=>{e.needs.forEach((t=>{n[t]=n[t]||[],n[t].push(e)})),e.wants.forEach((t=>{n[t]=n[t]||[],n[t].push(e)}))})),Object.keys(n).forEach((e=>{let t={};n[e]=n[e].filter((e=>!t[e.match]&&(t[e.match]=!0,!0)))}));let r=e.filter((e=>0===e.needs.length&&0===e.wants.length));return{hooks:n,always:r}},cr=function(e,t){return e.map(((n,r)=>{let a=[];Object.keys(t).forEach((n=>{e[r].has(n)&&(a=a.concat(t[n]))}));let o={};return a=a.filter((e=>!o[e.match]&&(o[e.match]=!0,!0))),a}))},hr=function(e,t){return e.map(((e,n)=>{let r=t[n];return e=(e=(e=e.filter((e=>e.needs.every((e=>r.has(e)))))).filter((e=>void 0===e.ifNo||!0!==e.ifNo.some((e=>r.has(e)))))).filter((e=>0===e.wants.length||e.wants.filter((e=>r.has(e))).length>=e.minWant))}))},dr=function(e,t,n,r,a){let o=[];for(let n=0;n0&&(l.ptrs.forEach((e=>{e[0]=n;let t=Object.assign({},s,{pointer:e});void 0!==s.unTag&&(t.unTag=s.unTag),o.push(t)})),!0===a.matchOne))return[o[0]]}return o},gr=function(e,t,n,r={}){let a=n.one.cacheDoc(e),o=cr(a,t.hooks);return o=hr(o,a),t.always.length>0&&(o=o.map((e=>e.concat(t.always)))),o=function(e,t){return e.map(((e,n)=>{let r=t[n].length;return e=e.filter((e=>r>=e.minWords)),e}))}(o,e),dr(o,e,a,n,r)},mr=function(e,t,n){let r=n.one.tagSet;if(!r.hasOwnProperty(t))return!0;let a=r[t].not||[];for(let t=0;t{if(!e.tag&&!e.chunk&&!e.unTag)return;let a=e.reason||e.match,u=o([e.pointer],t)[0];if(!0===e.safe){if(!1===mr(u,e.tag,r))return;if("-"===u[u.length-1].post)return}if(void 0!==e.tag&&(i(u,e.tag,n,e.safe,`[post] '${a}'`),"Noun"===e.tag&&l)){let t=u[u.length-1];l(t.text)?i([t],"Plural",n,e.safe,"quick-plural"):i([t],"Singular",n,e.safe,"quick-singular")}void 0!==e.unTag&&s(u,e.unTag,n,e.safe,a),e.chunk&&u.forEach((t=>t.chunk=e.chunk))})))},fr={lib:{buildNet:function(e){let t=this.methods().one.buildNet(e,this.world());return t.isNet=!0,t}},api:ir,methods:{one:{buildNet:ur,bulkMatch:gr,bulkTagger:pr}}};const vr=/ /,br=function(e,t){"Noun"===t&&(e.chunk=t),"Verb"===t&&(e.chunk=t)},yr=function(e,t,n,r){if(!0===e.tags.has(t))return null;if("."===t)return null;let a=n[t];if(a){if(a.not&&a.not.length>0)for(let t=0;t0)for(let t=0;t{let r=e.map((e=>e.text||"["+e.implicit+"]")).join(" ");var a;"string"!=typeof t&&t.length>2&&(t=t.slice(0,2).join(", #")+" +"),t="string"!=typeof t?t.join(", #"):t,console.log(` ${(a=r,""+a+"").padEnd(24)} → #${t.padEnd(22)} ${(e=>""+e+"")(n)}`)})(e,t,a),1!=(s=t,"[object Array]"===Object.prototype.toString.call(s)))if("string"==typeof t)if(t=t.trim(),vr.test(t))!function(e,t,n,r){let a=t.split(vr);e.forEach(((e,t)=>{let o=a[t];o&&(o=o.replace(/^#/,""),yr(e,o,n,r))}))}(e,t,o,r);else{t=t.replace(/^#/,"");for(let n=0;nwr(e,t,n,r)))};var kr=wr,Pr=function(e,t,n){t=t.trim().replace(/^#/,"");for(let r=0;r0)for(let e=0;e/),n=[];t.forEach((e=>{n=n.concat(function(e){if(!(e=e.trim()))return null;if(/^\[/.test(e)&&/\]$/.test(e)){let t=(e=(e=e.replace(/^\[/,"")).replace(/\]$/,"")).split(/,/);return t=t.map((e=>e.trim())).filter((e=>e)),t=t.map((e=>Ar({id:e}))),t}return[Ar({id:e})]}(e))})),n=n.filter((e=>e));let r=n[0];for(let e=1;e{let n=[],r=[e];for(;r.length>0;){let e=r.pop();n.push(e),e.children&&e.children.forEach((n=>{t&&t(e,n),r.push(n)}))}return n},Er=e=>"[object Array]"===Object.prototype.toString.call(e),xr=e=>(e=e||"").trim(),Dr=function(e=[]){return"string"==typeof e?function(e){let t=e.split(/\r?\n/),n=[];t.forEach((e=>{if(!e.trim()||Ir.test(e))return;let t=(e=>{const t=/^( {2}|\t)/;let n=0;for(;t.test(e);)e=e.replace(t,""),n+=1;return n})(e);n.push({indent:t,node:Nr(e)})}));let r=function(e){let t={children:[]};return e.forEach(((n,r)=>{0===n.indent?t.children=t.children.concat(n.node):e[r-1]&&function(e,t){let n=e[t].indent;for(;t>=0;t-=1)if(e[t].indent{t[e.id]=e}));let n=Ar({});return e.forEach((e=>{if((e=Ar(e)).parent)if(t.hasOwnProperty(e.parent)){let n=t[e.parent];delete e.parent,n.children.push(e)}else console.warn(`[Grad] - missing node '${e.parent}'`);else n.children.push(e)})),n}(e):(jr(t=e).forEach(Ar),t);var t},Tr=function(e,t){let n="-> ";t&&(n=(e=>""+e+"")("→ "));let r="";return jr(e).forEach(((e,a)=>{let o=e.id||"";if(t&&(o=(e=>""+e+"")(o)),0===a&&!e.id)return;let i=e._cache.parents.length;r+=" ".repeat(i)+n+o+"\n"})),r},Cr=function(e){let t=jr(e);t.forEach((e=>{delete(e=Object.assign({},e)).children}));let n=t[0];return n&&!n.id&&0===Object.keys(n.props).length&&t.shift(),t},Or={text:Tr,txt:Tr,array:Cr,flat:Cr},Fr=function(e,t){return"nested"===t||"json"===t?e:"debug"===t?(console.log(Tr(e,!0)),null):Or.hasOwnProperty(t)?Or[t](e):e},Vr=e=>{jr(e,((e,t)=>{e.id&&(e._cache.parents=e._cache.parents||[],t._cache.parents=e._cache.parents.concat([e.id]))}))},Gr=/\//;let zr=class g{constructor(e={}){Object.defineProperty(this,"json",{enumerable:!1,value:e,writable:!0})}get children(){return this.json.children}get id(){return this.json.id}get found(){return this.json.id||this.json.children.length>0}props(e={}){let t=this.json.props||{};return"string"==typeof e&&(t[e]=!0),this.json.props=Object.assign(t,e),this}get(e){if(e=xr(e),!Gr.test(e)){let t=this.json.children.find((t=>t.id===e));return new g(t)}let t=((e,t)=>{let n=(e=>"string"!=typeof e?e:(e=e.replace(/^\//,"")).split(/\//))(t=t||"");for(let t=0;te.id===n[t]));if(!r)return null;e=r}return e})(this.json,e)||Ar({});return new g(t)}add(e,t={}){if(Er(e))return e.forEach((e=>this.add(xr(e),t))),this;e=xr(e);let n=Ar({id:e,props:t});return this.json.children.push(n),new g(n)}remove(e){return e=xr(e),this.json.children=this.json.children.filter((t=>t.id!==e)),this}nodes(){return jr(this.json).map((e=>(delete(e=Object.assign({},e)).children,e)))}cache(){return(e=>{let t=jr(e,((e,t)=>{e.id&&(e._cache.parents=e._cache.parents||[],e._cache.children=e._cache.children||[],t._cache.parents=e._cache.parents.concat([e.id]))})),n={};t.forEach((e=>{e.id&&(n[e.id]=e)})),t.forEach((e=>{e._cache.parents.forEach((t=>{n.hasOwnProperty(t)&&n[t]._cache.children.push(e.id)}))})),e._cache.children=Object.keys(n)})(this.json),this}list(){return jr(this.json)}fillDown(){var e;return e=this.json,jr(e,((e,t)=>{t.props=((e,t)=>(Object.keys(t).forEach((n=>{if(t[n]instanceof Set){let r=e[n]||new Set;e[n]=new Set([...r,...t[n]])}else if((e=>e&&"object"==typeof e&&!Array.isArray(e))(t[n])){let r=e[n]||{};e[n]=Object.assign({},t[n],r)}else Er(t[n])?e[n]=t[n].concat(e[n]||[]):void 0===e[n]&&(e[n]=t[n])})),e))(t.props,e.props)})),this}depth(){Vr(this.json);let e=jr(this.json),t=e.length>1?1:0;return e.forEach((e=>{if(0===e._cache.parents.length)return;let n=e._cache.parents.length+1;n>t&&(t=n)})),t}out(e){return Vr(this.json),Fr(this.json,e)}debug(){return Vr(this.json),Fr(this.json,"debug"),this}};const Lr=function(e){let t=Dr(e);return new zr(t)};Lr.prototype.plugin=function(e){e(this)};var $r={Noun:"blue",Verb:"green",Negative:"green",Date:"red",Value:"red",Adjective:"magenta",Preposition:"cyan",Conjunction:"cyan",Determiner:"cyan",Hyphenated:"cyan",Adverb:"cyan"};const Sr=function(e){if($r.hasOwnProperty(e.id))return $r[e.id];if($r.hasOwnProperty(e.is))return $r[e.is];let t=e._cache.parents.find((e=>$r[e]));return $r[t]};var Mr=function(e){const t={};return e.forEach((e=>{let{not:n,also:r,is:a,novel:o}=e.props,i=e._cache.parents;r&&(i=i.concat(r)),t[e.id]={is:a,not:n,novel:o,also:r,parents:i,children:e._cache.children,color:Sr(e)}})),Object.keys(t).forEach((e=>{let n=new Set(t[e].not);t[e].not.forEach((e=>{t[e]&&t[e].children.forEach((e=>n.add(e)))})),t[e].not=Array.from(n)})),t};const Br=function(e){return e?"string"==typeof e?[e]:e:[]};var Hr=function(e,t){return e=function(e,t){return Object.keys(e).forEach((n=>{e[n].isA&&(e[n].is=e[n].isA),e[n].notA&&(e[n].not=e[n].notA),e[n].is&&"string"==typeof e[n].is&&(t.hasOwnProperty(e[n].is)||e.hasOwnProperty(e[n].is)||(e[e[n].is]={})),e[n].not&&"string"==typeof e[n].not&&!e.hasOwnProperty(e[n].not)&&(t.hasOwnProperty(e[n].not)||e.hasOwnProperty(e[n].not)||(e[e[n].not]={}))})),e}(e,t),Object.keys(e).forEach((t=>{e[t].children=Br(e[t].children),e[t].not=Br(e[t].not)})),Object.keys(e).forEach((t=>{(e[t].not||[]).forEach((n=>{e[n]&&e[n].not&&e[n].not.push(t)}))})),e},Jr=function(e,t){Object.keys(t).length>0&&(e=function(e){return Object.keys(e).forEach((t=>{e[t]=Object.assign({},e[t]),e[t].novel=!0})),e}(e)),e=Hr(e,t);const n=function(e){const t=Object.keys(e).map((t=>{let n=e[t];const r={not:new Set(n.not),also:n.also,is:n.is,novel:n.novel};return{id:t,parent:n.is,props:r,children:[]}}));return Lr(t).cache().fillDown().out("array")}(Object.assign({},t,e));return Mr(n)},Wr={one:{setTag:kr,unTag:Pr,addTags:Jr}};const Kr=function(e){return"[object Array]"===Object.prototype.toString.call(e)},qr={tag:function(e,t="",n){if(!this.found||!e)return this;let r=this.termList();if(0===r.length)return this;const{methods:a,verbose:o,world:i}=this;return!0===o&&console.log(" + ",e,t||""),Kr(e)?e.forEach((e=>a.one.setTag(r,e,i,n,t))):a.one.setTag(r,e,i,n,t),this.uncache(),this},tagSafe:function(e,t=""){return this.tag(e,t,!0)},unTag:function(e,t){if(!this.found||!e)return this;let n=this.termList();if(0===n.length)return this;const{methods:r,verbose:a,model:o}=this;!0===a&&console.log(" - ",e,t||"");let i=o.one.tagSet;return Kr(e)?e.forEach((e=>r.one.unTag(n,e,i))):r.one.unTag(n,e,i),this.uncache(),this},canBe:function(e){e=e.replace(/^#/,"");let t=this.model.one.tagSet;if(!t.hasOwnProperty(e))return this;let n=t[e].not||[],r=[];this.document.forEach(((e,t)=>{e.forEach(((e,a)=>{n.find((t=>e.tags.has(t)))&&r.push([t,a,a+1])}))}));let a=this.update(r);return this.difference(a)}};var Ur=qr,Qr=function(e){Object.assign(e.prototype,Ur)},Rr={addTags:function(e){const{model:t,methods:n}=this.world(),r=t.one.tagSet;let a=(0,n.one.addTags)(e,r);return t.one.tagSet=a,this}};const _r=new Set(["Auxiliary","Possessive"]);var Xr=function(e){const{document:t,world:n}=e,r=n.model.one.tagSet;t.forEach((e=>{e.forEach((e=>{let t=Array.from(e.tags);e.tagRank=function(e,t){return e=e.sort(((e,n)=>{if(_r.has(e)||!t.hasOwnProperty(n))return 1;if(_r.has(n)||!t.hasOwnProperty(e))return-1;let r=t[e].children||[],a=r.length;return r=t[n].children||[],a-r.length})),e}(t,r)}))}))},Zr={model:{one:{tagSet:{}}},compute:{tagRank:Xr},methods:Wr,api:Qr,lib:Rr};const Yr=/([.!?\u203D\u2E18\u203C\u2047-\u2049\u3002]+\s)/g,ea=/^[.!?\u203D\u2E18\u203C\u2047-\u2049\u3002]+\s$/,ta=/((?:\r?\n|\r)+)/;var na=function(e){let t=[],n=e.split(ta);for(let e=0;e0&&(a.push(o),e[t]="")}return a};const sa={'"':'"',""":""","“":"”","‟":"”","„":"”","⹂":"”","‚":"’","«":"»","‹":"›","‵":"′","‶":"″","‷":"‴","〝":"〞","〟":"〞"},la=RegExp("["+Object.keys(sa).join("")+"]","g"),ua=RegExp("["+Object.values(sa).join("")+"]","g"),ca=function(e){if(!e)return!1;let t=e.match(ua);return null!==t&&1===t.length};var ha=function(e){let t=[];for(let n=0;n(e[t]=!0,e)),{});var Ea=function(e,t){let n=[],r=[];if("number"==typeof(e=e||"")&&(e=String(e)),function(e){return"[object Array]"===Object.prototype.toString.call(e)}(e))return e;const a=e.split(Na);for(let e=0;e0?(n[n.length-1]+=o,n.push(t)):n.push(o+t),o=""):o+=t}return o&&(0===n.length&&(n[0]=""),n[n.length-1]+=o),n=Pa(n),n=wa(n),n=n.filter((e=>e)),n};const xa=/\p{Letter}/u,Da=/[\p{Number}\p{Currency_Symbol}]/u,Ta=/^[a-z]\.([a-z]\.)+/i,Ca=/[sn]['’]$/;var Oa=function(e,t){let{prePunctuation:n,postPunctuation:r,emoticons:a}=t.one,o=e,i="",s="",l=Array.from(e);if(a.hasOwnProperty(e.trim()))return{str:e.trim(),pre:i,post:" "};let u=l.length;for(let e=0;e(s=e||"",""))),e=o,i=""),{str:e,pre:i,post:s}},Fa=(e,t)=>{let{str:n,pre:r,post:a}=Oa(e,t);return{text:n,pre:r,post:a,tags:new Set}},Va=function(e,t){const n=t.model.one.unicode||{};let r=(e=e||"").split("");return r.forEach(((e,t)=>{n[e]&&(r[t]=n[e])})),r.join("")},Ga=function(e){let t=e=(e=(e=e||"").toLowerCase()).trim();return e=(e=(e=e.replace(/[,;.!?]+$/,"")).replace(/\u2026/g,"...")).replace(/\u2013/g,"-"),!1===/^[:;]/.test(e)&&(e=(e=(e=e.replace(/\.{3,}$/g,"")).replace(/[",.!:;?)]+$/g,"")).replace(/^['"(]+/g,"")),""===(e=(e=e.replace(/[\u200B-\u200D\uFEFF]/g,"")).trim())&&(e=t),e=e.replace(/([0-9]),([0-9])/g,"$1$2")};const za=/([A-Z]\.)+[A-Z]?,?$/,La=/^[A-Z]\.,?$/,$a=/[A-Z]{2,}('s|,)?$/,Sa=/([a-z]\.)+[a-z]\.?$/;var Ma=function(e){return function(e){return!0===za.test(e)||!0===Sa.test(e)||!0===La.test(e)||!0===$a.test(e)}(e)&&(e=e.replace(/\./g,"")),e},Ba=function(e,t){const n=t.methods.one.killUnicode;let r=e.text||"";r=Ga(r),r=n(r,t),r=Ma(r),e.normal=r},Ha=function(e,t){const{methods:n,model:r}=t,{splitSentences:a,splitTerms:o,splitWhitespace:i}=n.one.tokenize;return e=a(e=e||"",t).map((e=>{let n=o(e,r);return n=n.map((e=>i(e,r))),n.forEach((e=>{Ba(e,t)})),n})),e};const Ja=/[ .][A-Z]\.? *$/i,Wa=/(?:\u2026|\.{2,}) *$/,Ka=/\p{L}/u,qa=/^[A-Z]\. $/;var Ua=function(e,t){if(!1===Ka.test(e))return!1;if(!0===Ja.test(e))return!1;if(3===e.length&&qa.test(e))return!1;if(!0===Wa.test(e))return!1;let n=e.replace(/[.!?\u203D\u2E18\u203C\u2047-\u2049] *$/,"").split(" "),r=n[n.length-1].toLowerCase();return!0!==t.hasOwnProperty(r)},Qa={one:{killUnicode:Va,tokenize:{splitSentences:va,isSentence:Ua,splitTerms:Ea,splitWhitespace:Fa,fromString:Ha}}},Ra={"&":"and","@":"at","%":"percent",plz:"please",bein:"being"};let _a={},Xa={};[[["approx","apt","bc","cyn","eg","esp","est","etc","ex","exp","prob","pron","gal","min","pseud","fig","jd","lat","lng","vol","fm","def","misc","plz","ea","ps","sec","pt","pref","pl","pp","qt","fr","sq","nee","ss","tel","temp","vet","ver","fem","masc","eng","adj","vb","rb","inf","situ","vivo","vitro","wr"]],[["dl","ml","gal","qt","pt","tbl","tsp","tbsp","km","dm","cm","mm","mi","td","hr","hrs","kg","hg","dg","cg","mg","µg","lb","oz","sq ft","hz","mps","mph","kmph","kb","mb","tb","lx","lm","fl oz","yb"],"Unit"],[["ad","al","arc","ba","bl","ca","cca","col","corp","ft","fy","ie","lit","ma","md","pd","tce"],"Noun"],[["adj","adm","adv","asst","atty","bldg","brig","capt","cmdr","comdr","cpl","det","dr","esq","gen","gov","hon","jr","llb","lt","maj","messrs","mlle","mme","mr","mrs","ms","mstr","phd","prof","pvt","rep","reps","res","rev","sen","sens","sfc","sgt","sir","sr","supt","surg"],"Honorific"],[["jan","feb","mar","apr","jun","jul","aug","sep","sept","oct","nov","dec"],"Month"],[["dept","univ","assn","bros","inc","ltd","co"],"Organization"],[["rd","st","dist","mt","ave","blvd","cl","cres","hwy","ariz","cal","calif","colo","conn","fla","fl","ga","ida","ia","kan","kans","minn","neb","nebr","okla","penna","penn","pa","dak","tenn","tex","ut","vt","va","wis","wisc","wy","wyo","usafa","alta","ont","que","sask"],"Place"]].forEach((e=>{e[0].forEach((t=>{_a[t]=!0,Xa[t]="Abbreviation",void 0!==e[1]&&(Xa[t]=[Xa[t],e[1]])}))}));var Za=["anti","bi","co","contra","de","extra","infra","inter","intra","macro","micro","mis","mono","multi","peri","pre","pro","proto","pseudo","re","sub","supra","trans","tri","un","out","ex"].reduce(((e,t)=>(e[t]=!0,e)),{});let Ya={"!":"¡","?":"¿Ɂ",'"':'“”"❝❞',"'":"‘‛❛❜’","-":"—–",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:"ŹźŻżŽžƵƶȤȥɀΖ"},eo={};Object.keys(Ya).forEach((function(e){Ya[e].split("").forEach((function(t){eo[t]=e}))}));const to=/\//,no=/[a-z]\.[a-z]/i,ro=/[0-9]/;var ao=function(e,t){let n=e.normal||e.text||e.machine;const r=t.model.one.aliases;if(r.hasOwnProperty(n)&&(e.alias=e.alias||[],e.alias.push(r[n])),to.test(n)&&!no.test(n)&&!ro.test(n)){let t=n.split(to);t.length<=2&&t.forEach((t=>{""!==(t=t.trim())&&(e.alias=e.alias||[],e.alias.push(t))}))}return e};const oo=/^\p{Letter}+-\p{Letter}+$/u;var io=function(e){let t=e.implicit||e.normal||e.text;t=t.replace(/['’]s$/,""),t=t.replace(/s['’]$/,"s"),t=t.replace(/([aeiou][ktrp])in'$/,"$1ing"),oo.test(t)&&(t=t.replace(/-/g,"")),t=t.replace(/^[#@]/,""),t!==e.normal&&(e.machine=t)},so=function(e){let t=e.docs,n={};for(let e=0;eho(e,ao),machine:e=>ho(e,io),normal:e=>ho(e,Ba),freq:so,offset:lo,index:uo,wordCount:co},methods:Qa,model:{one:{aliases:Ra,abbreviations:_a,prefixes:Za,suffixes:{like:!0,ish:!0,less:!0,able:!0,elect:!0,type:!0,designate:!0},prePunctuation:{"#":!0,"@":!0,_:!0,"°":!0,"​":!0,"‌":!0,"‍":!0,"\ufeff":!0},postPunctuation:{"%":!0,_:!0,"°":!0,"​":!0,"‌":!0,"‍":!0,"\ufeff":!0},lexicon:Xa,unicode:eo,emoticons:{"<3":!0,"{let i=(e=e.toLowerCase().trim()).length;t.max&&i>t.max&&(i=t.max);for(let s=t.min;s{delete r[e]})),r};const bo={safe:!0,min:3};var yo={typeahead:function(e=[],t={}){let n=this.model();var r;t=Object.assign({},bo,t),r=e,"[object Object]"===Object.prototype.toString.call(r)&&(Object.assign(n.one.lexicon,e),e=Object.keys(e));let a=vo(e,t,this.world());return Object.keys(a).forEach((e=>{n.one.typeahead.hasOwnProperty(e)?delete n.one.typeahead[e]:n.one.typeahead[e]=a[e]})),this}},wo={model:{one:{typeahead:{}}},api:fo,lib:yo,compute:mo,hooks:["typeahead"]};v.extend(ee),v.extend(qn),v.extend(cn),v.extend(or),v.extend(Zr),v.plugin(De),v.extend(go),v.plugin(k),v.extend(Ke),v.extend(wo),v.extend(Le),v.extend(fr);var ko={addendum:"addenda",corpus:"corpora",criterion:"criteria",curriculum:"curricula",genus:"genera",memorandum:"memoranda",opus:"opera",ovum:"ova",phenomenon:"phenomena",referendum:"referenda",alga:"algae",alumna:"alumnae",antenna:"antennae",formula:"formulae",larva:"larvae",nebula:"nebulae",vertebra:"vertebrae",analysis:"analyses",axis:"axes",diagnosis:"diagnoses",parenthesis:"parentheses",prognosis:"prognoses",synopsis:"synopses",thesis:"theses",neurosis:"neuroses",appendix:"appendices",index:"indices",matrix:"matrices",ox:"oxen",sex:"sexes",alumnus:"alumni",bacillus:"bacilli",cactus:"cacti",fungus:"fungi",hippopotamus:"hippopotami",libretto:"libretti",modulus:"moduli",nucleus:"nuclei",octopus:"octopi",radius:"radii",stimulus:"stimuli",syllabus:"syllabi",cookie:"cookies",calorie:"calories",auntie:"aunties",movie:"movies",pie:"pies",rookie:"rookies",tie:"ties",zombie:"zombies",leaf:"leaves",loaf:"loaves",thief:"thieves",foot:"feet",goose:"geese",tooth:"teeth",beau:"beaux",chateau:"chateaux",tableau:"tableaux",bus:"buses",gas:"gases",circus:"circuses",crisis:"crises",virus:"viruses",database:"databases",excuse:"excuses",abuse:"abuses",avocado:"avocados",barracks:"barracks",child:"children",clothes:"clothes",echo:"echoes",embargo:"embargoes",epoch:"epochs",deer:"deer",halo:"halos",man:"men",woman:"women",mosquito:"mosquitoes",mouse:"mice",person:"people",quiz:"quizzes",rodeo:"rodeos",shoe:"shoes",sombrero:"sombreros",stomach:"stomachs",tornado:"tornados",tuxedo:"tuxedos",volcano:"volcanoes"},Po={Comparative:"true¦bett1f0;arth0ew0in0;er",Superlative:"true¦earlier",PresentTense:"true¦bests,sounds",Condition:"true¦lest,unless",PastTense:"true¦began,came,d4had,kneel3l2m0sa4we1;ea0sg2;nt;eap0i0;ed;id",Participle:"true¦0:0A;a07b02c00dXeat0fSgQhPoJprov0rHs7t6u4w1;ak0ithdra03o2r1;i03uZ;k0v0;nd1pr05;ergoJoJ;ak0hHo3;e9h7lain,o6p5t4un3w1;o1um;rn;g,k;ol0reT;iRok0;ught,wn;ak0o1ruL;ne,wn;en,wn;ewriOi1uK;dd0s0;ut3ver1;do4se0t1;ak0h2;do2g1;roH;ne;ast0i7;iv0o1;ne,tt0;all0loCor1;bi3g2s1;ak0e0;iv0oA;dd0;ove,r1;a6eamt,iv0u1;nk;hos0lu1;ng;e4i3lo2ui1;lt;wn;tt0;at0en,gun;r2w1;ak0ok0;is0;en",Gerund:"true¦accord0be0doin,go0result0stain0;ing",Expression:"true¦a0Xb0Tc0Rd0Ne0Lg0FhZjeez,lWmVnToNpKsItHuEvDw6y0;a4e3i1u0;ck,p;k04p0;ee,pee;ah,p,s;!a,y;a5h2o1t0;af,f;rd up,w;atsoever,e1o0;a,ops;e,w;hoo,t;ery wEoi0L;gh,h0;! 0h,m;huh,oh;here nQsk,ut tut;h0ic;eesh,hh,it,oo;ff,h1l0ow,sst;ease,s,z;ew,ooey;h1i,mg,o0uch,w,y;h,o,ps;! 0h;h1my go0w1;d,sh;ell;ah,evertheless,o0;!pe;eh,mm;ah,eh,m1ol0;!s;ao,fao;aCeBi9o2u0;h,mph,rra0zzC;h,y;l1o0;r6y9;la,y0;! 0;c1moCsmok0;es;ow;!p hip hoor0;ay;ck,e,llo,y;ha1i,lleluj0;ah;!ha;ah,ee4o1r0;eat scott,r;l1od0sh; grief,bye;ly;! whiz;e0h,t cetera,ww,xcuse me;k,p;'oh,a0rat,uh;m0ng;mit,n0;!it;mon,o0;ngratulations,wabunga;a2oo1r0tw,ye;avo,r;!ya;h,m; 1h0ka,las,men,rgh,ye;!a,em,h,oy;la",Negative:"true¦n0;ever,o0;n,t",QuestionWord:"true¦how3wh0;at,e1ich,o0y;!m,se;n,re; come,'s",Reflexive:"true¦h4it5my5o1the0your2;ir1m1;ne3ur0;sel0;f,ves;er0im0;self",Plural:"true¦dick0gre0ones,records;ens","Unit|Noun":"true¦cEfDgChBinchAk9lb,m6newt5oz,p4qt,t1y0;ardEd;able1b0ea1sp;!l,sp;spo1;a,t,x;on9;!b,g,i1l,m,p0;h,s;!les;!b,elvin,g,m;!es;g,z;al,b;eet,oot,t;m,up0;!s",Value:"true¦a few",Imperative:"true¦bewa0come he0;re","Plural|Verb":"true¦leaves",Demonym:"true¦0:15;1:12;a0Vb0Oc0Dd0Ce08f07g04h02iYjVkTlPmLnIomHpEqatari,rCs7t5u4v3welAz2;am0Gimbabwe0;enezuel0ietnam0I;gAkrai1;aiwTex0hai,rinida0Ju2;ni0Prkmen;a5cotti4e3ingapoOlovak,oma0Spaniard,udRw2y0W;ede,iss;negal0Cr09;sh;mo0uT;o5us0Jw2;and0;a2eru0Fhilippi0Nortugu07uerto r0S;kist3lesti1na2raguay0;ma1;ani;ami00i2orweP;caragu0geri2;an,en;a3ex0Lo2;ngo0Drocc0;cedo1la2;gasy,y07;a4eb9i2;b2thua1;e0Cy0;o,t01;azakh,eny0o2uwaiI;re0;a2orda1;ma0Ap2;anO;celandic,nd4r2sraeli,ta01vo05;a2iB;ni0qi;i0oneU;aiAin2ondur0unO;di;amEe2hanai0reek,uatemal0;or2rm0;gi0;ilipino,ren8;cuadoVgyp4mira3ngli2sto1thiopi0urope0;shm0;ti;ti0;aPominUut3;a9h6o4roat3ub0ze2;ch;!i0;lom2ngol5;bi0;a6i2;le0n2;ese;lifor1m2na3;bo2eroo1;di0;angladeshi,el6o4r3ul2;gaE;azi9it;li2s1;vi0;aru2gi0;si0;fAl7merBngol0r5si0us2;sie,tr2;a2i0;li0;genti2me1;ne;ba1ge2;ri0;ni0;gh0r2;ic0;an",Organization:"true¦0:4D;a3Gb2Yc2Ed26e22f1Xg1Ph1Ki1Hj1Fk1Dl18m0Wn0Jo0Gp09qu08r01sTtGuBv8w3xiaomi,y1;amaha,m13ou1w13;gov,tu2Z;a3e1orld trade organizati2S;lls fargo,st1;fie28inghou2I;l1rner br3I;gree37l street journ29m17;an halOeriz2Nisa,o1;dafo2Ol1;kswagMvo;b4kip,n2ps,s1;a tod2Yps;es3Ai1;lev33ted natio30;er,s; mobi2Qaco beQd bNeAgi frida9h3im horto2Ymz,o1witt31;shi3Xy1;ota,s r 00;e 1in lizzy;b3carpen37daily ma31guess w2holli0rolling st1Rs1w2;mashing pumpki2Tuprem0;ho;ea1lack eyed pe3Lyrds;ch bo1tl0;ys;l2n3Ds1xas instrumen1J;co,la m15;efoni0Cus;a7e4ieme2Lnp,o2pice gir5quare04ta1ubaru;rbucks,to2R;ny,undgard1;en;a2x pisto1;ls;g1Nrs;few2Ainsbury2QlesforYmsu22;.e.m.,adiohead,b6e3oyal 1yana30;b1dutch she4;ank;aders dige1Gd 1max,vl1R;bu1c1Zhot chili peppe2Nlobst2C;ll;c,s;ant30izno2I;a5bs,e3fiz28hilip morrCi2r1;emier2Audenti16;nk floyd,zza hut;psi2Btro1uge0A;br2Vchina,n2V;lant2Nn1yp12; 2ason20da2I;ld navy,pec,range juli2xf1;am;us;aAb9e6fl,h5i4o1sa,vid3wa;k2tre dame,vart1;is;ia;ke,ntendo,ss0L;l,s;c,st1Htflix,w1; 1sweek;kids on the block,york09;a,c;nd1Vs2t1;ional aca2Io,we0Q;a,cYd0O;aBcdonaldAe7i5lb,o3tv,y1;spa1;ce;b1Mnsanto,ody blu0t1;ley crue,or0O;crosoft,t1;as,subisM;dica2rcedes benz,talli1;ca;id,re;'s,s;c's milk,tt14z1Z;'ore08a3e1g,ittle caesa1K;novo,x1;is,mark; 1bour party;pres0Bz boy;atv,fc,kk,m1od1J;art;iffy lu0Moy divisi0Gpmorgan1sa;! cha07;bm,hop,n1tv;g,te1;l,rpol;asbro,ewlett pack1Ri3o1sbc,yundai;me dep1n1L;ot;tac1zbollah;hi;eneral 6hq,ithub,l5mb,o2reen d0Lu1;cci,ns n ros0;ldman sachs,o1;dye1g0E;ar;axo smith kli03encoV;electr0Km1;oto0W;a4bi,da,edex,i2leetwood mac,o1rito l0D;rd,xcX;at,nancial1restoY; tim0;cebook,nnie mae;b08sa,u3xxon1; m1m1;ob0H;!rosceptics;aiml0Be6isney,o4u1;nkin donu2po0Xran dur1;an;ts;j,w j1;on0;a,f lepp0Zll,peche mode,r spiegZstiny's chi1;ld;aIbc,hEiCloudflaBnn,o3r1;aigsli5eedence clearwater reviv1ossra06;al;ca c7inba6l4m1o0Bst06;ca2p1;aq;st;dplPg1;ate;se;ola;re;a,sco1tigroup;! systems;ev2i1;ck fil-a,na daily;r1y;on;dbury,pital o1rl's jr;ne;aEbc,eBf9l5mw,ni,o1p,rexiteeU;ei3mbardiIston 1;glo1pizza;be;ng;o2ue c1;roV;ckbuster video,omingda1;le; g1g1;oodriL;cht2e ge0rkshire hathaw1;ay;el;idu,nana republ3s1xt5y5;f,kin robbi1;ns;ic;bYcTdidSerosmith,iRlKmEnheuser-busDol,pple9r6s3utodesk,v2y1;er;is,on;hland1sociated F; o1;il;by4g2m1;co;os; compu2bee1;'s;te1;rs;ch;c,d,erican3t1;!r1;ak; ex1;pre1;ss; 5catel2ta1;ir;!-lu1;ce1;nt;jazeera,qae1;da;g,rbnb;as;/dc,a3er,tivision1;! blizz1;ard;demy of scienc0;es;ba",Possessive:"true¦its,my,our0thy;!s","Noun|Verb":"true¦0:9U;1:A8;2:94;3:A1;4:9P;5:A0;6:9I;7:8L;8:7J;9:A6;A:91;B:8V;C:8B;a9Mb8Oc7Gd6Pe6Ef5Qg5Gh54i4Wj4Tk4Ql4Em40n3Vo3Sp2Squ2Rr21s0Jt02u00vVwGyFzD;ip,oD;ne,om;awn,e6Die66;aOeMhJiHoErD;ap,e9Mink2;nd0rDuB;kDry,sh5Fth;!shop;ck,nDpe,re,sh;!d,g;e84iD;p,sD;k,p0t2;aDed,lco8U;r,th0;it,lk,rEsDt4ve,x;h,te;!ehou1ra9;aGen5DiFoD;iDmAte,w;ce,d;be,ew,sA;cuum,l4A;pDr7;da5gra6Clo68;aReQhrPiOoMrGuEwiDy5X;n,st;nDrn;e,n7M;aGeFiEoDu6y;t,ub2;bu5ck4Igg0m,p;at,k,nd;ck,de,in,nsDp,v7H;f0i8P;ll,ne,p,r4Wss,t92uD;ch,r;ck,de,e,le,me,p,re;e5Uow,u6;ar,e,ll,mp0st,xt;g,lDng2rg7Ns5x;k,ly;a0Sc0Ne0Kh0Fi0Dk0Bl09m08n06o05pXquaCtKuFwD;ea86iD;ng,pe,t4;bGit,m,ppErD;fa3ge,pri1v2U;lDo6Q;e6Ny;!je8;aMeLiKoHrEuDy2;dy,ff,mb2;a83eEiDo5Nugg2;ke,ng;am,ss,t4;ckEop,p,rD;e,m;ing,pi2;ck,nk,t4;er,m,p;ck,ff,ge,in,ke,lEmp,nd,p2rDte,y;!e,t;k,l;aJeIiHlGoFrDur,y;ay,e54inDu3;g,k2;ns89t;a5Oit;ll,n,r85te;ed,ll;m,n,rk;b,uB;aDee1Tow;ke,p;a5He4Di2o51;eep,iDou4;ce,p,t;ateboa7HiD;!p;de,gnDl2Unk,p,ze;!al;aGeFiEoDuff2;ck,p,re,w;ft,p,v0;d,i3Wlt0;ck,de,pe,re,ve;aEed,nDrv1It;se,t2M;l,r4t;aGhedu2oCrD;aEeDibb2o3X;en,w;pe,t4;le,n,r2L;cDfegua70il,mp2;k,rifi3;aZeHhy6JiGoEuD;b,in,le,n,s5V;a6ck,ll,oDpe,u5;f,t;de,ng,ot,p,s1V;aTcSdo,el,fQgPje8lOmMnLo17pJque6sFturn,vDwa6T;eDi26;al,r1;er72oFpe8tEuD;lt,me;!a53;l6Zrt;air,eaDly,o51;l,t;dezvo2Xt;aDedy;ke,rk;ea1i4E;a6Gist0r5L;act6Wer1Uo6ZuD;nd,se;a36o6D;ch,s6E;c1Cge,iEke,lly,nDp1Vt1V;ge,k,t;n,se;es69iv0;a04e00hYiXlToNrEsy4uD;mp,n4rcha1sh;aKeIiHoDu4M;be,ceFdu3fi2grDje8mi1p,te6;amDe6U;!me;ed,ss;ce,de,nt;sDy;er6As;cti3i1;iHlFoEp,re,sDuBw0;e,i5Wt;l,p;iDl;ce,sh;nt,s5T;aEce,e30uD;g,mp,n7;ce,nDy;!t;ck,le,n16pe,tNvot;a1oD;ne,tograph;ak,eFnErDt;fu53mA;!c30;!l,r;ckJiInHrFsEtDu1y;ch,e9;s,te;k,tD;!y;!ic;nt,r,se;!a7;bje8ff0il,oErDutli3Over49;bAd0ie9;ze;a4PeFoDur1;d,tD;e,i3;ed,gle8tD;!work;aMeKiIoEuD;rd0;ck,d3Pld,nEp,uDve;nt,th;it5CkD;ey;lk,n49rr5AsDx;s,ta29;asuCn4SrDss;ge,it;il,nFp,rk3UsEtD;ch,t0;h,k,t0;da5n0oeuvC;aLeJiHoEuD;mp,st;aEbby,ck,g,oDve;k,t;d,n;cDft,mAnHst;en1k;aDc0Ne4vJ;ch,d,k,p,se;bEcDnd,p,t4un4;e,k;el,o2T;eEiDno4D;ck,d,ll,ss;el,y;aEo1NuD;i3mp;m,zz;mpJnEr45ssD;ue;c1Qdex,fluGha2k,se2GteDvoi3;nt,rD;e6fa3viD;ew;en3;a8le29;aJeHiGoEuD;g,nt;l39no2Cok,pDr1u1;!e;ghli1Eke,nt,re,t;aDd7lp;d,t;ck,mGndFrEsh,tDu9;ch,e;bo3Wm,ne4Dve6;!le;!m0;aLear,ift,lJossIrFuD;arDe49lp,n;antee,d;aEiDouBumb2;ll,nd,p;de,sp;ip;oDue;ss,w;g,in,me,ng,s,te,ze;aZeWiRlNoJrFuD;ck,el,nDss,zz;c38d;aEoDy;st,wn;cDgme,me,nchi1;tuC;cFg,il,ld,rD;ce,e29mDwa31;!at;us;aFe0Vip,oDy;at,ck,od,wD;!er;g,ke,me,re,sh,vo1E;eGgFlEnDre,sh,t,x;an3i0Q;e,m,t0;ht,uC;ld;aEeDn3;d,l;r,tuC;ce,il,ll,rm,vo2W;cho,d7ffe8nMsKxFyeD;!baD;ll;cGerci1hFpDtra8;eriDo0W;en3me9;au6ibA;el,han7u1;caDtima5;pe;count0d,vy;a01eSiMoJrEuDye;b,el,mp,pli2X;aGeFiEoD;ne,p;ft,ll,nk,p,ve;am,ss;ft,g,in;cEd7ubt,wnloD;ad;k,u0E;ge6p,sFt4vD;e,iDor3;de;char7gui1h,liEpD;at4lay,u5;ke;al,bKcJfeIlGmaBposAsEtaD;il;e07iD;gn,re;ay,ega5iD;ght;at,ct;li04rea1;a5ut;b,ma7n3rDte;e,t;a0Eent0Dh06irc2l03oKrFuD;be,e,rDt;b,e,l,ve;aGeFoEuDy;sh;p,ss,wd;dAep;ck,ft,sh;at,de,in,lTmMnFordina5py,re,st,uDv0;gh,nDp2rt;s01t;ceHdu8fli8glomeIsFtDveN;a8rD;a6ol;e9tru8;ct;ntDrn;ra5;bHfoGmFpD;leDouBromi1;me9;aBe9it,u5;rt;at,iD;ne;lap1oD;r,ur;aEiDoud,ub;ck,p;im,w;aEeDip;at,ck,er;iGllen7nErD;ge,m,t;ge,nD;el;n,r;er,re;ke,ll,mp,noe,pGrXsFtEuDve;se,ti0I;alog,ch;h,t;!tuC;re;a03eZiXlToPrHuEyD;pa11;bb2ck2dgEff0mp,rDst,zz;den,n;et;anJeHiFoadEuD;i1sh;ca6;be,d7;ge;aDed;ch,k;ch,d;aFg,mb,nEoDrd0tt2x,ycott;k,st,t;d,e;rd,st;aFeBiDoYur;nk,tz;nd;me;as,d,ke,nd,opsy,tD;!ch,e;aFef,lt,nDt;d,efA;it;r,t;ck,il,lan3nIrFsEtt2;le;e,h;!gDk;aDe;in;!d,g,k;bu1c05dZge,iYlVnTppQrLsIttGucEwaD;rd;tiD;on;aDempt;ck;k,sD;i6ocia5;st;chFmD;!oD;ur;!iD;ve;eEroa4;ch;al;chDg0sw0;or;aEt0;er;rm;d,m,r;dreHvD;an3oD;ca5;te;ce;ss;cDe,he,t;eFoD;rd,u9;nt;nt,ss;se",Actor:"true¦0:7C;1:7H;2:6B;3:7G;4:7P;5:7L;6:72;a6Pb64c4Xd4De43f3Tg3Ch31i2Vj2Rkin2Ql2Lm27n20o1Tp0Wqu0Ur0KsRtKuIvFw9yo7;gi,ut7;h,ub0;aBeAi9o8r7;estl0it0;m2rk0;fe,nn0t2Cza2I;atherm2ld0;ge earn0it0nder0rri1;eter8i7oyG;ll5Sp,s41;an,ina2V;n7s0;c6Wder04;aoisea24eAherapi5iktok0o9r7ut1yco6;a7endseMo45;d0mp,nscri0Cvel0;ddl0u1H;a0Rchn8en7na4st0;ag0;i3Qo0E;aiYcVeShQiNki0mu27oKpHquaGtCu8wee7;p0theart;lt2per8r7;f0ge6viv1;h7inten0Jst5Kvis1;ero,um2;a9ep8r7;ang0eam0;bro2Oc2Pfa2Omo2Osi21;ff0tesm2;tt0;ec8ir2Eo7;kesp5Bu0N;ia5Lt3;l8me6Cn,rcere7ul;r,ss;di0oi5;n8s7;sy,t0;g0n0;am2ephe1Jow7;girl,m2r2R;cretJnior cit3Hr7;gea4v7;a4it1;hol4Zi8reen7ulpt1;wr2D;e02on;l1nt;aFeAo9u7;l0nn7;er up,ingF;g42le mod41of0;a51c9fug2Rpo34searRv7;ere4Wolution7;ary;e7luZru23;ptio3V;bbi,dic5Xpp0;arter7e31;back;aZeXhTiSlPoLr9sycho8u7;nk,p34;logi5;aHeEiCo7;dAfess1g8ph49s7;pe2Mtitu53;en7ramm0;it1y;igy,uc0;est4Pme mini0Vnce7s3G;!ss;a8si7;de4;ch0;ctiti3Bnk0Q;dca0Pet,li7pula52rnst44;c2Ktic7;al scie7i2;nti5;a7umb0;nn0y7;er,ma4Nwright;lgrim,one0;a9iloso8otogra8ra7ysi1X;se;ph0;ntom,rmaci5;r7ssi1V;form0s6;i3Gl,nel40r9st1tr7wn;i7on;arXot;ent4Yi44tn0;ccupa4ffCp9r8ut7;ca5l0C;ac4Kganiz0ig2Hph2;er3t7;i1Lomet7;ri5;ic0spring;aCeAie4Zo8u7;n,rser3L;b7mad,vi4X;le2Xo4F;i7mesis,phew;ce,ghb1;nny,rr3t20;aFeEiBo8u7yst21;m9si18;der3gul,m8n7th0;arEk;!my;ni8s7;f03s0Kt0;on,st0;chan1Tnt1rcha4;giAk0n9rtyr,t7y1;e,riar7;ch;ag0iac;ci2stra3K;a8e2Cieutena4o7;rd,s0v0;bor0d8ndlo7ss,urea3Hwy0ym2;rd;!y;!s2A;anitor ,e9o8u7;ggl0;gg0urna2W;st0;c6dol,llu3Wmmigra4n7;-lAc1Sfa4habi44nov3s8ve7;nt1stig3;pe0Pt7;a1Hig3ru0O;aw;airGeCistoBo9u7ygie1M;man7nt0sba2J;!ita9;bo,st7usekO;age,e3R;ri2;ir,r7;m8o7;!ine;it;dress0sty2E;aMeJhostHirl28ladi3oDrand8u7;e5ru;cAdaugTfa9m8pa7s6;!re4;a,o7;th0;hi1D;al8d7lf0;!de3C;ie,k7te28;eep0;!wr7;it0;isha,n7;i7tl06;us;mbl0rden0;aFella,iBo8r7;eela2Pie1R;e,re7ster pare4;be1Jm2r7st0;unn0;an31g9lmm19nanci0r7tt0;e7st la2J; marsh2Qfig7m2;ht0;rm0th0;conoFdElectriDm9n8x7;amin0cellency,i2B;emy,trepreneur,vironmenta1K;c9p7;er1loye7;e,r;ee;ci2;it1;mi5;aLeCi9ork,ri8u7we03;de,tche2I;ft0vK;ct3eti8plom2Ire7va;ct1;ci2ti2;aEcor3fencDi0JnBputAs8tectNvel7;op0;ce1He7ign0;rt0;ee,y;iz7;en;em2;c6l0;dAnc0redev9ught7;er7;! ;il;!dy;a06e04fo,hXitizenWlToCrAu7;r3stomer7;! representat7;ive;e3it7;ic;-work0lJmGnAord9rpor1Nu7wboy;n7ri0sin ;ciUte1R;in3;fidantBgressTsAt7;e0Lr7;ibut1o7;ll0;tab14ul1P;!e;edi2m7pos0rade;a0FeRissi7;on0;leag9on8um7;ni5;el;ue;e7own;an0r7;ic,k;!s;aAe8i7um;ld;erle7f;ad0;ir8nce7plGract0;ll1;m2wJ;lebri7o;ty;dCptBr7shi0;e8pe7;nt0;r,t7;ak0;ain;et;aNeMiKlogg0oFrCu7;dd0Gild0rglAsiness7;m2p8w7;om2;ers6;ar;i8o7;!k0th0;cklay0de,gadi0;hemi2oge9y7;!frie7;nd;ym2;an;cyc7sS;li5;atbox0ings;by,nk0r7;b0on8te7;nd0;!e08;c05dXge4nRpMrIsGtBu8yatull7;ah;nt8t7;h1oH;!ie;h9t7;e7orney;nda4;ie5le7;te;sis01tron7;aut,om0;chbis9isto8tis7;an,t;crV;hop;ostAp7;ari7rentiT;ti6;on;le;aAcest1im3nou9y7;bo7;dy;nc0;ly5rc7;hi5;mi9v7;entur0is1;er;ni8r7;al;str3;at1;or;counCquaintanBrobAt7;ivi5or,re7;ss;st;at;ce;ta4;nt","Adj|Noun":"true¦0:1F;1:1M;a1Db17c0Vd0Se0Nf0Eg0Bh09i07ju06l03mXnVoTpOrJsCt8u5v2watershed;a2ision10;gabo5nilla,ria2;b0Wnt;ndergr2pstairs;adua14ou2;nd;a4e2oken,ri0;en,r2;min0rori13;boo,n;age,e6ilv0Glack,o4quat,ta3u2well;bordina0Xper6;b0Mndard;ciali0Yl2vereign;e,ve1;cret,n2ri0;ior;a5e3ou2ubbiM;nd,tiZ;ar,bCl0Ynt0p2side1;resent0Xublican;ci0Qsh;a5eriodic0last11otenti0r2;emi3incip0o2;!fession0;er,um;rall5st,tie1;ff2pposi0Hv0;ens0Qi0D;agg02ov2;el;a6e4iniatKo2;bi02der08r2;al,t0;di2tr0P;an,um;le,riH;attPi3u2;sh;ber0ght,qD;stice,veniU;de0mpressioZn2;cumbe1dividu0no0Fsta1terim;alf,o2umdrum;bby,melG;en3old,ra2;ph0Dve;er0ious;a8e6i5l4u2;git05t2;ure;uid;ne;llow,m2;aGiM;ir,t,vo2;riOuriO;l4p02x2;c2ecutWpeX;ess;d2iK;er;ar3e2;mographWrivQ;k,l3;hiGlassUo3rude,unn2;ing;m6n2operM;creCstitue1te3vertab2;le;mpor2nt;ary;ic,m3p2;anion,lex;er3u2;ni8;ci0;e6lank,o5r2;i3u2;te;ef;ttom,urgeois;st;cademCd9l5n3r2;ab,ctB;im0tarctA;al;e4tern2;at2;ive;rt;oles2ult;ce1;nt;ic","Adj|Past":"true¦0:4C;1:40;2:45;3:42;4:3B;a3Tb3Ic2Vd2Ae22f1Wg1Th1Qi1Hj1Ekno1Dl18m13n10o0Vp0Lqu0Jr07sKtEuBvAw5yellow0;a8ea7o5rinkl0;r5u3N;n,ri0;k2Qth3;rp0sh0tY;ari0e1M;n5pd1s0;cov3derstood,i5;fi0t0;a8hreat2Ki7ouTr5urn0wi42;a5imm0ou28;ck0in0pp0;ed,r0;m0nn0r5;get0ni2K;aPcLeJhHimGm0Hoak0pEt8u5;bsid3Fgge3Vs5;pe5ta2P;ct0nd0;a9e8i26ok0r6u5;ff0nn0;ength28ip5;ed,p0;am0reotyp0;in0t0;eci5ik0oI;al35fi0;pSul1;a5ock0ut;d0r0;a5c1Dle2t2S;l0s3Jt0;a7or6r5;at5e1W;ch0;r0tt3;t5ut0;is4ur1;aFe6o5;tt0;cBdJf22gAje2l9m0Knew0p8qu7s5;eTpe2t5;or0ri2;e34ir0;e1lac0;at0e2H;ist3ul1;eiv0o5ycl0;mme2Crd0v3;in0lli0ti4;a5ot0;li4;aCer2RiBlAo9r5ump0;e7i2Go5;ce27d5lo14nou2Spos0te2v0;uc0;fe15ocDp0Fss0;i2Cli1D;ann0e24uT;ck0erc0ss0;ck0i29r5st0;allMk0;bse8c7rgan25ver5;lo5whelm0;ok0;cupi0;rv0;e6o5;t0uri12;ed0gle2;a7e6ix0o5ut0;di4t0Xu1Y;as07lt0;n5rk0;ag0ufact05;e7i6o5;ad0ck0st;cens0mit0st0;ft,v5;el0;tt0wn;a6o0Xu5;dg0s13;gg0;llumin1mpBn5sol1;br0cre1Ddebt0f9jUt6v5;it0olv0;e5ox0Q;gr1n5re1V;d0si4;e2l1o1O;li0oVr5;ov0;amm3e1o5;ok0r5;ri4;ift0r6u5;a14id0;i0Kown;a9e8i7lavo0Goc0Cr5;a5i0oz0S;ctEg13m0;ni04tt0x0;ar0;d0il0;duc1l1mBn9quipp0s8x5;agger1p5te0Q;a0Pe5os0;ct0rie1A;cap0tabliX;gFha18s5;ur0;a0Xbarra0L;aMeEi6r5;a00i0;gni4miniRre2s5;aAc7grun0Et5;o5re0Gurb0;rt0;iplVou5;nt0r5;ag0;bl0;cBdQf9l8pre0Ara7t6v5;elop0ot0;ail0ermP;ng0;ay0ight0;e5in0o0M;rr0;ay0enTor1;m5t0z0;ag0p5;en0;aQeMhJlIoAr7u5;lt5r0stom04;iv1;a6owd0u5;sh0;ck0mp0;d0loBm8n5ok0v3;centr1f6s5troD;id3olid1;us0;b6pl5;ic1;in0;r0ur0;assi4os0utt3;ar6i5;ll0;g0m0;lebr1n7r5;ti4;fi0;tralK;g0lcul1;aEiDlAo8r6urn5;ed,t;ok5uis0;en;il0r0t5und;tl0;e6i5;nd0;ss0;as0;k0laNs0tt3;bandQcOdLfJg0lGmaz0nEppCrm0ssAu6wa5;rd0;g6thor5;iz0;me5;nt0;o7u5;m0r0;li0re5;ci1;im1ticip1;at0;a6leg0t3;er0;rm0;fe2;ct0;ju6o8va5;nc0;st0;ce5knowledg0;pt0;on0;ed",Singular:"true¦0:5J;1:5H;2:4W;3:52;4:4S;5:57;6:5L;7:56;a51b4Jc3Md34e2Wf2Mg2Gh25in21j20k1Zl1Sm1Kn1Go1Ap0Qqu0Pr0EsYtLuGvBw8x r57yo yo;a8ha3Oo3P;f4i4Qt0Fy8;! arou38;arBe9ideo ga2Po8;cabu4Hl5B;gNr8t;di4Yt1V;iety,ni4O;nAp2Zr9s 8;do42s5D;bani1in0;coordinat39der8;estima1to21we40; rex,aJeIhGiEoDrAu9v8;! show;m2Nn2rntKto1B;agedy,ib8o4D;e,u8;n0ta44;ni1p2rq3K;c,er,m8;etE;ing8ree25;!y;am,mp3E;ct2le6x return;aMcLeJhor4PiIkGoFpin off,tCuAy8;ll8ner7st4S;ab2W;b8i1n27per bowl,rro1W;st3Ktot0;at9ipe2Fo1Irate7udent8;! lo0H;i38u1;ft ser4Kmeo1F;elet5i8;ll,r3U;b37gn2Ste;ab2Ic8min3A;t,urity gua2M;e6ho2X;bbatic0la3Hndwi0Opi5;av5eChetor2i9o8;de6om,w;t9v8;erb2B;e,u0;bCcAf8publ2r0Xspi1;er8orm4;e6r0;i8ord label;p2Gt0;a1u45;estion mark,ot2E;aOeLhoKiHlFoDr9u8yram1E;ddi3GpDrpo1Is3I;eAo8;bl3Ys8;pe3Ita1;dic1Qmi1Ep1Proga3Uss relea1E;p8rt0;py;a8ebisci1;q2Cte;cn2e9g8;!gy;!r;ne call,tocoJ;anut,d9r8t0yo1;cen3Isp3J;al,est0;nop3r9t8;e,hog5;adi10i2U;atme0bj3EcApia1rde0thers,utspok5ve8wn4;n,r8;ti0Oview;cu9e8;an;pi4;arAit9ot8umb4;a2Dhi2Q;e,ra1;cot2ra36;aDeBi9o8ur0é0C;nopo3p17rni2Msq1Qti35uld;c,li10n08s8tt5;chief,si33;d8nu,t0;al,ic;gna1mm0nd15rsupi0te8yf3;ri0;aCegBiAu8;ddi1n8;ch;ght bulb,me,p09ving room; 9e0M;bor14y 8;up;eyno1itt5;el3ourn0;cAdices,itia2Oni26s9tel0Mvert8;eb1K;e29titu1;en2Li2U;aHeDighCo9u8;man right,s23;me8rmoEsp1Gtb0L;! r8;un; scho0ZriZ;a8i1O;d8v5; start,pho8;ne;ndful,sh brown,v5ze;aBelat0Jlaci4r9u8yp1T;l3y;an8enadi4id;a1Bd slam,ny;df3r8;l2ni1I;aGeti1HiFlu1oCr9un8;er0;ee market,i9on8;ti4;ga1;l3ur8;so8;me;eOref3;br2mi3n10;conoEffi7gg,lecto0Qmbas1DnBpidem2s1Yth2venAx9yel8;id;ampYempl0Mte6;i18t;er7terp8;ri8;se;my;eKiDoAr8ump tru0T;agonf3i8;er,ve thru;c9g7i3or,ssi4wn8;side;to0DumenD;aDgniCnn4s9vide8;nd;conte6incen1Dp8tri10;osi8;tion;ta0F;le0W;athAc9f8ni0terre6;ault 04err0;al,im0;!b8;ed;aVeShLiKlIoCr8;edit caAuc8;ib8;le;rd;efficCke,lBmmuniqKns9pi4rr0t0Wus8yo1;in;erv8uH;ato00;ic,lP;ie6;er7i8oth;e6n2;ty,vil wL;aCeqBick5ocoAr8;istmas car8ysanthemum;ol;la1;ue;ndeli4racteri8;st2;i9llDr8;e0tifica1;liY;hi4nEpDrBt8ucus;erpi8hedr0;ll8;ar;!bohyd8ri4;ra1;it0;a8e,nib0;l,ry;aMeLiop2leJoHrDu8;nBr8tterf3;g8i0;la8;ry;ny;eak9i8;ck;fa8throA;st;dy,ro8wl;ugh;mi8;sh;an,l3;nki9rri4;er;ng;cRdLlHnEppeti1rCsAtt2utop8;sy;ic;ce6pe8;ct;r8sen0;ay;ec9oma3ti9;ly;do1;i5l8;er7y;gy;en; hominCj9van8;tage;ec8;ti8;ve;em;cBe9qui8;tt0;ta1;te;i9ru0;al;de6;nt","Person|Noun":"true¦a07b01cYdRePfOgMhJjFkiElDmBolive,p7r4s3trini00v1wa0;ng,rd;an,enus,iol0;a,et;ky,on5umm02;ay,e1o0uby;bin,d,se;ed,x;a2e0ol;aHn0;ny;ge,tM;a0eloR;x,ya;a9eo,iE;ng,tL;a2e1o0;lDy;an,w3;de,smi4y;a0iKol8;ll,z0;el;ail,e0;ne;aith,ern,lo;a0dDmir,ula,ve;rl;a4e3i1ol0;ly;ck,x0;ie;an,ja;i0wn;sy;h0liff,rystal;ari0in,ristian;ty;ak4e3i2r0;an0ook;dy;ll;nedict,rg;er;l0rt;fredo,ma","Actor|Verb":"true¦aCb8c5doctor,engineAfool,g3host,judge,m2nerd,p1recruit,scout,ushAvolunteAwi0;mp,tneA;arent,ilot;an,ime;eek,oof,r0uide;adu8oom;ha1o0;ach,nscript,ok;mpion,uffeur;o2u0;lly,tch0;er;ss;ddi1ffili0rchite1;ate;ct",MaleName:"true¦0:DO;1:CO;2:D7;3:AJ;4:CK;5:BZ;6:CF;7:D3;8:BS;9:AR;A:DB;B:D4;C:94;D:BM;aC9bB7cA7d98e8If82g7Fh6Si6Cj5Ek52l4Fm37n2Uo2Op2Gqu2Er1Ms12t0Gu0Fv08wUxTyJzE;aEor0;cEh9Jkaria,n0C;hFkE;!aC7;ar5UeC6;aMoGuE;sEu2LvBJ;if,uf;nGsFusE;ouf,sE;ef;aEg;s,tE;an,h0;hli,nB8ssY;avi3ho4;aNeLiGoEyaBN;jcie87lfgang,odrow,utE;!er;lEnst1;bGey,fredAlE;aAZiE;am,e,s;e97ur;i,nde9sE;!l8t1;lFyE;l1ne;lEt3;a9Xy;aHiEladimir,ojte7U;cFha0kt67nceErgA5va0;!nt;e3Xt65;lentEn9S;inE;!e;ghBElyss59nax,sm0;aXeShOiMoIrGuFyE;!l3ro6s1;n7r59;avAHeEist0oy,um0;ntA9v5Wy;bGd8RmEny;!as,mEoharu;aCCie,y;iCy;mEt5;!my,othy;adGeoFia0KomE;!as;!do8G;!de5;dHrE;en98rE;an97eEy;ll,n96;!dy;dgh,ha,iEnn3req,tsu4R;cAPka;aUcotSeQhMiKoIpenc3tEur1Xylve96zym1;anGeEua85;f0phBCvEwa84;e5Zie;!islaw,l8;lom1uE;leyma6ta;dElCm1yabonga;!dhart74n8;aGeE;lErm0;d1t1;h7Kne,qu11un,wn,y6;aEbasti0k2Cl4Prg4Mth,ymoAE;m5n;!tE;!ie,y;lFmEnti2Gq58ul;!ke5JmDu4;ik,vato7O;aZeVhe9ViRoIuFyE;an,ou;b7DdFf5pe7KssE;!elBJ;ol3Fy;an,bLc62dJel,geIh0landAmHnGry,sFyE;!ce;coe,s;!aA1nD;an,eo;l45r;er78g3n8olfo,riE;go;bDeAQ;cEl8;ar6Ic6HhFkEo;!ey,ie,y;a8Vie;gFid,ubByEza;an1KnZ;g9SiE;na9Os;ch6Qfa4lImHndGpha4sFul,wi2HyE;an,mo6U;h7Jm5;alAXol2U;iACon;f,ph;ent2inE;cy,t1;aJeHhilGier6TrE;aka18eE;m,st1;!ip,lip;dA4rcy,tE;ar,e3Er1Y;b4Hdra73tr6JulE;!o19;ctav3Di3liv3m9Yndrej,rIsFtEum7wB;is,to;aFc7k7m0vE;al5S;ma;i,vM;aMeKiGoEu38;aEel,j5l0ma0r3I;h,m;cFg4i46kEl2R;!au,h7Gola;hEkEolC;olC;al,d,il,ls1vE;il8J;hom,tE;e,hE;anEy;!a4i4;a00eXiNoIuFyE;l2Gr1;hamFr6KstaE;fa,p54;ed,mI;di0Xe,hamGis2CntFsEussa;es,he;e,y;ad,ed,mE;ad,ed;cJgu4hai,kHlGnFtchE;!e9;a7Uik;house,o0Ct1;ae5Oe9NolE;aj;ah,hE;aFeE;al,l;el,l;hFlv2rE;le,ri9v2;di,met;ay0hUjd,ks2AlSmadXnRrLs1tGuricFxE;imilianAwe9;e,io;eHhFiCtEus,yC;!eo,hew,ia;eEis;us,w;j,o;cIio,kHlGqu6Ysha9tEv2;iEy;!m,n;in,on;el,oQus;!el91oPus;iHu4;achEcolm,ik;ai,y;amFdi,eEmoud;sh;adEm5G;ou;aXeRiPlo39oLuFyE;le,nd1;cHiGkEth3uk;aEe;!s;gi,s,z;as,iaE;no;g0nn7BrenGuEv81we9;!iE;e,s;!zo;am,oE;n4r;a7Uevi,la4AnIonHst3thaGvE;eEi;nte;bo;!a6Del;!ny;mFnd1rEur54wr54;ry,s;ar,o4Y;aMeIhal7GiFristEu4Ky6J;i0o54;er0p,rE;k,ollE;os;en0iGnErmit,v3U;!dr3XnEt1;e18y;r,th;cp3j5m5Sna6OrFsp7them,uE;ri;im,l;a01eViToHuE;an,lEst2;en,iE;an,en,o,us;aOeMhnLkubCnJrHsE;eFhEi7Wue;!ua;!ph;dEge;i,on;!aEny;h,s,th55;!ath54ie,nD;!l,sEy;ph;o,qu2;an,mE;!mD;d,ffHrEs5;a5YemFmai6oEry;me,ni0Y;i7Gy;!e5OrE;ey,y;cLdBkJmIrGsFvi3yE;dBs1;on,p3;ed,od,rEv4V;e5Bod;al,es4Mis1;a,e,oEub;b,v;ob,quE;es;aXbRchiQgOkeNlija,nuMonut,rKsGtEv0;ai,suE;ki;aFha0i70maEsac;el,il;ac,iaE;h,s;a,vinEw2;!g;k,nngu5F;!r;nacEor;io;ka;ai,rahE;im;aQeKoJuEyd7;be2FgHmber4KsE;eyFsE;a2e2;in,n;h,o;m3ra36sse2wa40;aIctHitHnrFrE;be28m0;iEy;!q0Z;or;th;bMlLmza,nKo,rGsFyE;a47dB;an,s0;lGo4Nry,uEv8;hi44ki,tE;a,o;an,ey;k,s;!im;ib;aWeSiQlenPoMrIuE;ilFsE;!tavo;herme,lerE;mo;aGegEov3;!g,orE;io,y;dy,h5K;nzaFrE;an,d1;lo;!n;lbe4Xno,oE;rg37van4Y;oGrE;aEry;ld,rdA;ffr8rge;brFlBrEv2;la14r3Hth,y;e33ielE;!i5;aSePiNlLorrest,rE;anFedEitz;!dDer11r11;cGkE;ie,lE;in,yn;esLisE;!co,z2W;etch3oE;yd;d4lEonn;ip;deriFliEng,rnan05;pe,x;co;bi0di,hd;dYfrXit0lSmLnIo2rGsteb0th0uge6vEymBzra;an,eE;ns,re2X;gi,i0AnErol,v2w2;estAie;oFriqEzo;ue;ch;aJerIiFmE;aIe2Q;lErh0;!iE;o,s;s1y;nu4;be0Bd1iGliFm3t1viEwood;n,s;ot1Ss;!as,j4FsE;ha;a2en;!d2Vg7mHoFuFwE;a26in;arE;do;oWuW;a02eRiPoHrag0uGwFylE;an,l0;ay6ight;a6dl8nc0st2;minHnFri0ugEvydCy29;!lC;!a2HnEov0;e9ie,y;go,iFykC;as;cEk;!k;armuEll1on,rk;id;andNj0lbeMmetri5nKon,rIsGvFwExt3;ay6ey;en,in;hawn,moE;nd;ek,rE;ick;is,nE;is,y;rt;re;an,le,mLnKrGvE;e,iE;!d;en,iGne9rEyl;eEin,yl;l36n;n,o,us;!i4ny;iEon;an,en,on;a08e06hYiar0lOoJrHuFyrE;il,us;rtE;!is;aEistob0S;ig;dy,lHnFrE;ey,neli5y;or,rE;ad;by,e,in,l2t1;aIeGiEyK;fEnt;fo0Et1;meEt5;nt;rGuFyE;!t1;de;enE;ce;aIeGrisE;!toE;ph3;st3;er;d,rEs;b4leE;s,y;cEdric,s7;il;lHmer1rE;ey,lFro9y;ll;!os,t1;eb,v2;a07eZiVlaUoSrFuEyr1;ddy,rtL;aMeHiGuFyE;an,ce,on;ce,no;an,ce;nFtE;!t;dFtE;!on;an,on;dFndE;en,on;!foEl8y;rd;bby,rEyd;is;i6ke;bGlFshE;al;al,lD;ek;nIrEshoi;at,nFtE;!r1C;aEie;rdA;!iFjam2nD;ie,y;to;kaNlazs,nIrE;n8rEt;eEy;tt;ey;dEeF;ar,iE;le;ar17b0Vd0Rf0Pgust2hm0Mi0Jja0Il03mZnSputsiRrIsaHugust5veFyEziz;a0kh0;ry;us;hi;aLchKiJjun,maInGon,tEy0;hEu09;ur;av,oE;ld;an,ndA;!el,ki;ie;ta;aq;as,dIgelAtE;hony,oE;i6nE;!iAy;ne;er,reEy;!as,i,s,w;iGmaEos;nu4r;el;ne,r,t;aRbeQdBeKfIi,lHonGphZt1vE;aOin;on;so,zo;an,en;onVrE;ed;c,jaHksandGssaHxE;!andE;er,ru;ar,er;ndE;ro;rtA;dd2n;ni;dBm7;ar;en;ad,eE;d,t;in;onE;so;aFi,olfAri0vik;!o;mEn;!a;dIeHraFuE;!bakr,lfazl;hEm;am;!l;allJelGoulaye,ulE;!lErG;ah,o;! rE;ahm0;an;ah;av,on",Uncountable:"true¦0:2Z;1:2F;2:2M;3:34;4:3D;a2Xb2Oc2Cd25e1Uf1Qg1Hh19i14j11k0Zl0Um0Kn0Go0Fp06r02sNtBuran2Mv9w5you gu0H;a7his1Ai6oo5;d,l;ldlife,ne;rmAt2;apor,ernacul2Ci5;neg2Bol1Rtae;eFhDiCoAr6un5yranny;a,gst1E;aff2Rea1No6ue nor5;th;o0Bu5;bleshoot0se1Wt;night,othpas1Ywn5;foGsfoG;me off,n;er5und2;e,mod2V;a,nnis;aGcFeEhCiBkiAo9p8t6u5weepstak1;g1Xnshi2Kshi;ati0Be5;am,el;ace2Neci1;ap,cc2meth0;n,ttl1;lk;eep,ingl1o5;pp0r1E;lf,na1Iri1;ene1Misso1E;d0Yfe3l6nd,t5;i0Kurn;m1Wt;abi1e6ic5;e,ke17;c5i03laxa13search;ogni12rea12;aBeAhys9luto,o7re5ut3;amble,mis1s5ten22;en21s0N;l5rk;i2Al0GyJ; 18i4;a26tr0H;nt5rk0ti0O;i1s;bstetri4vercrowd0xyg0B;a7e6owada5utella;ys;ptu1Qws;il poli01tional securi3;aCeAo7u5;m5s1J;ps;n5o1M;ey,o5;gamy;a5cha0Glancholy,rchandi1Jtallurgy;sl1t;chine5g1Cj1Jrs,thema1S; learn0ry;aught2e8i7ogi6u5;ck,g14;c,s1O;ce,ghtn0nguis1NteratYv2;ath2isXss;ara0GindergartRn5;icke0Cowled10;e5upit2;a5llyfiIwel0I;ns;ce,gnor8mp7n5;forma02ter5;net,sta09;atiUort5rov;an1A;a9e8isto0Bo5ung2;ckey,mework,ne6o5rseradiAspitali3use arrest;ky;s3y;adquarteZre;ir,libut,ppiJs5;hi5te;sh;eneAl8o7r5um,ymnas13;a5e01;niWss;lf,re;ut5yce0H;en; 5ti4;edit0po5;ol;aPeel0icHlour,o6urnit5;ure;od,rgive5uri2wl;ness;arEcono0NducaDlectrBn9quipAthi4very8x5;ist6per5;ti0D;en0L;body,o0Ath0;joy5tertain5;ment;ici3o5;ni4;tiU;nings,th;emi04i8o6raugh5ynas3;ts;pe,wnstai5;rs;abet1ce,s5;hon01repu5;te;aFelciEhCivi4lAo5urrency;al,ld w8mmenta7n5ral,ttKuscoD;fusiJt 5;ed;ry;ar;assi4oth1;es;aos,e5;eOw0;us;d,rQ;aAi8lood,owl0read7u5;nt0tt2;er;!th;lliarLs5;on;g5ss;ga5;ge;cMdviLeroIirHmDn8ppeal court,r6spi5thleN;rin;ithmet5sen5;ic;i8y5;o6th0;ing;ne;se;en7n5;es3;ty;ds;craft;bi4d5nau9;yna5;mi4;ce;id,ous5;ti4;cs",Infinitive:"true¦0:9G;1:9T;2:AD;3:90;4:9Z;5:84;6:AH;7:A9;8:92;9:A0;A:AG;B:AI;C:9V;D:8R;E:8O;F:97;G:6H;H:7D;a94b8Hc7Jd68e4Zf4Mg4Gh4Ai3Qj3Nk3Kl3Bm34nou48o2Vp2Equ2Dr1Es0CtZuTvRwI;aOeNiLors5rI;eJiI;ng,te;ak,st3;d5e8TthI;draw,er;a2d,ep;i2ke,nIrn;d1t;aIie;liADniAry;nJpI;ho8Llift;cov1dJear8Hfound8DlIplug,rav82tie,ve94;eaAo3X;erIo;cut,go,staAFvalA3w2G;aSeQhNoMrIu73;aIe72;ffi3Smp3nsI;aBfo7CpI;i8oD;pp3ugh5;aJiJrIwaD;eat5i2;nk;aImA0;ch,se;ck3ilor,keImp1r8L;! paD;a0Ic0He0Fh0Bi0Al08mugg3n07o05p02qu01tUuLwI;aJeeIim;p,t5;ll7Wy;bNccMffLggeCmmKppJrI;mouFpa6Zvi2;o0re6Y;ari0on;er,i4;e7Numb;li9KmJsiIveD;de,st;er9it;aMe8MiKrI;ang3eIi2;ng27w;fIng;f5le;b,gg1rI;t3ve;a4AiA;a4UeJit,l7DoI;il,of;ak,nd;lIot7Kw;icEve;atGeak,i0O;aIi6;m,y;ft,ng,t;aKi6CoJriIun;nk,v6Q;ot,rt5;ke,rp5tt1;eIll,nd,que8Gv1w;!k,m;aven9ul8W;dd5tis1Iy;a0FeKiJoI;am,t,ut;d,p5;a0Ab08c06d05f01group,hea00iZjoi4lXmWnVpTq3MsOtMup,vI;amp,eJiIo3B;sEve;l,rI;e,t;i8rI;ie2ofE;eLiKpo8PtIurfa4;o24rI;aHiBuctu8;de,gn,st;mb3nt;el,hra0lIreseF;a4e71;d1ew,o07;aHe3Fo2;a7eFiIo6Jy;e2nq41ve;mbur0nf38;r0t;inKleBocus,rJuI;el,rbiA;aBeA;an4e;aBu4;ei2k8Bla43oIyc3;gni39nci3up,v1;oot,uI;ff;ct,d,liIp;se,ze;tt3viA;aAenGit,o7;aWerUinpoiFlumm1LoTrLuI;b47ke,niArIt;poDsuI;aFe;eMoI;cKd,fe4XhibEmo7noJpo0sp1tru6vI;e,i6o5L;un4;la3Nu8;aGclu6dJf1occupy,sup0JvI;a6BeF;etermi4TiB;aGllu7rtr5Ksse4Q;cei2fo4NiAmea7plex,sIva6;eve8iCua6;mp1rItrol,ve;a6It6E;bOccuNmEpMutLverIwe;l07sJtu6Yu0wI;helm;ee,h1F;gr5Cnu2Cpa4;era7i4Ipo0;py,r;ey,seItaH;r2ss;aMe0ViJoIultiply;leCu6Pw;micJnIspla4;ce,g3us;!k;iIke,na9;m,ntaH;aPeLiIo0u3N;e,ke,ng1quIv5;eIi6S;fy;aKnIss5;d,gI;th5;rn,ve;ng2Gu1N;eep,idnJnI;e4Cow;ap;oHuI;gg3xtaI;po0;gno8mVnIrk;cTdRfQgeChPitia7ju8q1CsNtKun6EvI;a6eIo11;nt,rt,st;erJimi6BoxiPrI;odu4u6;aBn,pr03ru6C;iCpi8tIu8;all,il,ruB;abEibE;eCo3Eu0;iIul9;ca7;i7lu6;b5Xmer0pI;aLer4Uin9ly,oJrI;e3Ais6Bo2;rt,se,veI;riA;le,rt;aLeKiIoiCuD;de,jaInd1;ck;ar,iT;mp1ng,pp5raIve;ng5Mss;ath1et,iMle27oLrI;aJeIow;et;b,pp3ze;!ve5A;gg3ve;aTer45i5RlSorMrJuI;lf4Cndrai0r48;eJiIolic;ght5;e0Qsh5;b3XeLfeEgJsI;a3Dee;eIi2;!t;clo0go,shIwa4Z;ad3F;att1ee,i36;lt1st5;a0OdEl0Mm0FnXquip,rWsVtGvTxI;aRcPeDhOiNpJtIu6;ing0Yol;eKi8lIo0un9;aHoI;it,re;ct,di7l;st,t;a3oDu3B;e30lI;a10u6;lt,mi28;alua7oI;ke,l2;chew,pou0tab19;a0u4U;aYcVdTfSgQhan4joy,lPqOrNsuMtKvI;e0YisI;a9i50;er,i4rI;aHenGuC;e,re;iGol0F;ui8;ar9iC;a9eIra2ulf;nd1;or4;ang1oIu8;r0w;irc3lo0ou0ErJuI;mb1;oaGy4D;b3ct;bKer9pI;hasiIow1;ze;aKody,rI;a4oiI;d1l;lm,rk;ap0eBuI;ci40de;rIt;ma0Rn;a0Re04iKo,rIwind3;aw,ed9oI;wn;agno0e,ff1g,mi2Kne,sLvI;eIul9;rIst;ge,t;aWbVcQlod9mant3pNru3TsMtI;iIoDu37;lJngI;uiA;!l;ol2ua6;eJlIo0ro2;a4ea0;n0r0;a2Xe36lKoIu0S;uIv1;ra9;aIo0;im;a3Kur0;b3rm;af5b01cVduBep5fUliTmQnOpMrLsiCtaGvI;eIol2;lop;ch;a20i2;aDiBloIoD;re,y;oIy;te,un4;eJoI;liA;an;mEv1;a4i0Ao06raud,y;ei2iMla8oKrI;ee,yI;!pt;de,mIup3;missi34po0;de,ma7ph1;aJrief,uI;g,nk;rk;mp5rk5uF;a0Dea0h0Ai09l08oKrIurta1G;a2ea7ipp3uI;mb3;ales4e04habEinci6ll03m00nIrro6;cXdUfQju8no7qu1sLtKvI;eIin4;ne,r9y;aHin2Bribu7;er2iLoli2Epi8tJuI;lt,me;itu7raH;in;d1st;eKiJoIroFu0;rm;de,gu8rm;ss;eJoI;ne;mn,n0;eIlu6ur;al,i2;buCe,men4pI;eIi3ly;l,te;eBi6u6;r4xiC;ean0iT;rcumveFte;eJirp,oI;o0p;riAw;ncIre5t1ulk;el;a02eSi6lQoPrKuI;iXrIy;st,y;aLeaKiJoad5;en;ng;stfeLtX;ke;il,l11mba0WrrMth1;eIow;ed;!coQfrie1LgPhMliLqueaKstJtrIwild1;ay;ow;th;e2tt3;a2eJoI;ld;ad;!in,ui3;me;bysEckfi8ff3tI;he;b15c0Rd0Iff0Ggree,l0Cm09n03ppZrXsQttOuMvJwaE;it;eDoI;id;rt;gIto0X;meF;aIeCraB;ch,in;pi8sJtoI;niA;aKeIi04u8;mb3rt,ss;le;il;re;g0Hi0ou0rI;an9i2;eaKly,oiFrI;ai0o2;nt;r,se;aMi0GnJtI;icipa7;eJoIul;un4y;al;ly0;aJu0;se;lga08ze;iKlI;e9oIu6;t,w;gn;ix,oI;rd;a03jNmiKoJsoI;rb;pt,rn;niIt;st1;er;ouJuC;st;rn;cLhie2knowled9quiItiva7;es4re;ce;ge;eQliOoKrJusI;e,tom;ue;mIst;moJpI;any,liA;da7;ma7;te;pt;andPduBet,i6oKsI;coKol2;ve;liArt,uI;nd;sh;de;ct;on",Adjective:"true¦0:AI;1:BS;2:BI;3:BA;4:A8;5:84;6:AV;7:AN;8:AF;9:7H;A:BQ;B:AY;C:BC;D:BH;E:9Y;aA2b9Ec8Fd7We79f6Ng6Dh60i4Wj4Vk4Sl4Hm40n3Oo35p2Nquart7Pr2Cs1Dt14uSvOwFye28;aMeKhIiHoF;man5oFrth7G;dADzy;despreB1n w97s86;acked1HoleF;!sa6;ather1QeFll o70ste1D;!k5;nt1Jst6Ate4;aHeGiFola5S;bBUce versa,gi3Kle;ng67rsa5Q;ca1gBSluAV;lt0PnLpHrGsFttermoBL;ef9Ku3;b96ge1; Hb31pGsFtiAH;ca6et,ide d4Q;er,i85;f51to da2;a0Fbeco0Hc0Bd04e02f01gu1WheaBGiXkn4NmUnTopp06pRrNsJtHus0wF;aFiel3J;nt0rra0P;app0eXoF;ld,uS;eHi36o59pGuF;perv06spec38;e1ok9O;en,ttl0;eFu5;cogn06gul2QlGqu84sF;erv0olv0;at0en32;aFrecede0E;id,rallel0;am0otic0;aFet;rri0tF;ch0;nFq25vers3;sur0terFv7U;eFrupt0;st0;air,inish0orese98;mploy0n7Ov97xpF;ect0lain0;eHisFocume01ue;clFput0;os0;cid0rF;!a8Scov9ha8Jlyi8nea8Gprivileg0sMwF;aFei9I;t9y;hGircumcFonvin2T;is0;aFeck0;lleng0rt0;b1Zppea85ssuGttend0uthorF;iz0;mi8;i49ra;aLeIhoHip 24oGrF;anspare1encha1i2;geth9leADp notch,rpB;rny,ugh6H;ena8DmpGrFs6U;r48tia4;eCo8P;leFst4M;nt0;a0Cc08e06h05i03ki02l00mug,nobbi4XoWpSqueami4XtKuFymb94;bHccinAi generis,pFr5;erFre7N;! dup9b,vi70;du0li7Lp6IsFurb7J;eq9Atanda9X;aLeKi15o2PrGubboFy4Q;rn;aightGin5GungF; o2M; fFfF;or7U;adfa9Ori6;lwa6Etu81;arHeGir6MlendBot Fry;on;c3Oe1Q;k5se; call0lub6mb9phistic14rHuFviT;ndFth19;proof;dBry;e61ipF;pe4shod;ll0n d7S;g2HnF;ceEg6ist9;am3Te9;co1Zem5lfFn6Bre7; suf4Yi44;aGholFient3A;ar5;rlFt4B;et;cr0me,tisfac7G;aOeIheumatoBiGoF;bu90tt7Hy3;ghtFv3;-1Sf6Y;cJdu8QlInown0pro6AsGtF;ard0;is48oF;lu2na1;e1Suc46;alcit8Ye1ondi2;bBci3mpa1;aSePicayu7laOoNrGuF;bl7Unjabi,z36;eKiIoF;b7WfGmi4ApFxi2M;er,ort82;a7uD;maFor,sti7va2;!ry;ciDexis0Ima2CpaB;in56puli8H;cBid;ac2Znt 3JrFti2;ma41tFv7X;!i40;i2ZrFss7S;anoBtF;-5YiF;al,s5W;bSffQkPld OnMrLth9utKverF;!aIbMdHhGni76seas,t,wF;ei75rou75;a64e7B;ue;ll;do1Ger,si6B;d3Rg2Aotu60; bFbFe on o7g3Vli7;oa81;fashion0school;!ay; gua7YbFha5Vli7;eat;eHligGsF;ce7er0So1C;at0;diFse;a1e1;aOeNiMoGuF;anc0de; moEnHrthFt6W;!eFwe7M;a7Lrn;chaGdescri7Jprof31sF;top;la1;ght5;arby,cessa4ighbor5wlyw0xt;k0usiaFv3;ti8;aQeNiLoHuF;dIltiF;facet0p6;deHlGnFot,rbBst;ochro4Yth5;dy;rn,st;ddle ag0nF;dbloZi,or;ag9diocEga,naGrFtropolit4R;e,ry;ci8;cIgenta,inHj0Fkeshift,mmGnFri4Pscu62ver18;da5Ey;ali4Mo4V;!stream;abEho;aOeLiIoFumberi8;ngFuti1S;stan3StF;erm,i4I;ghtGteraF;l,ry,te;heart0wei5P;ft-JgFss9th3;al,eFi0M;nda4;nguBps0te5;apGind5noF;wi8;ut;ad0itte4uniW;ce co0Hgno6Nll0Cm04nHpso 2VrF;a2releF;va1; ZaYcoWdReQfOgrNhibi4Si05nMoLsHtFvalu5N;aAeF;nDrdepe2L;a7iGolFuboI;ub6ve1;de,gF;nifica1;rdi5O;a2er;own;eriIiLluenVrF;ar0eq5I;pt,rt;eHiGoFul1P;or;e,reA;fiFpe27termi5F;ni2;mpFnsideCrreA;le2;ccuCdeq5Fne,ppr4K;fFsitu,vitro;ro1;mJpF;arHeGl16oFrop9;li2r12;n2MrfeA;ti3;aGeFi19;d4CnD;tuE;egGiF;c0ZteC;al,iF;tiF;ma2;ld;aOelNiLoFuma7;a4meInHrrGsFur5;ti6;if4F;e59o3V; ma3HsF;ick;ghfalut2IspF;an4A;li01pf34;i4llow0ndGrdFtN; 06coEworki8;sy,y;aMener45iga3Clob3oLrGuF;il1Ong ho;aGea1GizF;zl0;cGtF;ef2Vis;ef2U;ld3Aod;iFuc2D;nf2R;aVeSiQlOoJrF;aGeFil5ug3;q43tf2O;gFnt3S;i6ra1;lk13oHrF; keeps,eFge0Vm9tu41;g0Ei2Ds3R;liF;sh;ag4Mowe4uF;e1or45;e4nF;al,i2;d Gmini7rF;ti6ve1;up;bl0lDmIr Fst pac0ux;oGreacF;hi8;ff;ed,ili0R;aXfVlTmQnOqu3rMthere3veryday,xF;aApIquisi2traHuF;be48lF;ta1;!va2L;edRlF;icF;it;eAstF;whi6; Famor0ough,tiE;rou2sui2;erGiF;ne1;ge1;dFe2Aoq34;er5;ficF;ie1;g9sF;t,ygF;oi8;er;aWeMiHoGrFue;ea4owY;ci6mina1ne,r31ti8ubQ;dact2Jfficult,m,sGverF;ge1se;creGePjoi1paCtF;a1inA;et,te; Nadp0WceMfiLgeneCliJmuEpeIreliAsGvoF;id,ut;pFtitu2ul1L;eCoF;nde1;ca2ghF;tf13;a1ni2;as0;facto;i5ngero0I;ar0Ce09h07i06l05oOrIuF;rmudgeon5stoma4teF;sy;ly;aIeHu1EystalF; cleFli7;ar;epy;fFv17z0;ty;erUgTloSmPnGrpoCunterclVveFy;rt;cLdJgr21jIsHtrF;aFi2;dic0Yry;eq1Yta1;oi1ug3;escenFuN;di8;a1QeFiD;it0;atoDmensuCpF;ass1SulF;so4;ni3ss3;e1niza1;ci1J;ockwiD;rcumspeAvil;eFintzy;e4wy;leGrtaF;in;ba2;diac,ef00;a00ePiLliJoGrFuck nak0;and new,isk,on22;gGldface,naF; fi05fi05;us;nd,tF;he;gGpartisFzarE;an;tiF;me;autifOhiNlLnHsFyoN;iWtselF;li8;eGiFt;gn;aFfi03;th;at0oF;v0w;nd;ul;ckwards,rF;e,rT; priori,b13c0Zd0Tf0Ng0Ihe0Hl09mp6nt06pZrTsQttracti0MuLvIwF;aGkF;wa1B;ke,re;ant garGeraF;ge;de;diIsteEtF;heFoimmu7;nt07;re;to4;hGlFtu2;eep;en;bitIchiv3roHtF;ifiFsy;ci3;ga1;ra4;ry;pFt;aHetizi8rF;oprF;ia2;llFre1;ed,i8;ng;iquFsy;at0e;ed;cohKiJkaHl,oGriFterX;ght;ne,of;li7;ne;ke,ve;olF;ic;ad;ain07gressiIi6rF;eeF;ab6;le;ve;fGraB;id;ectGlF;ue1;ioF;na2; JaIeGvF;erD;pt,qF;ua2;ma1;hoc,infinitum;cuCquiGtu3u2;al;esce1;ra2;erSjeAlPoNrKsGuF;nda1;e1olu2trF;aAuD;se;te;eaGuF;pt;st;aFve;rd;aFe;ze;ct;ra1;nt",Pronoun:"true¦'em,elle,h3i2me,she4th0us,we,you;e0ou;e,m,y;!l,t;e0im;!'s",Preposition:"true¦-,aPbMcLdKexcept,fIinGmid,notwithstandiWoDpXqua,sCt7u4v2w0;/o,hereSith0;! whHin,oW;ersus,i0;a,s-a-vis;n1p0;!on;like,til;h1ill,oward0;!s;an,ereby,r0;ough0u;!oM;ans,ince,o that,uch G;f1n0ut;!to;!f;! 0to;effect,part;or,r0;om;espite,own,u3;hez,irca;ar1e0oBy;sides,tween;ri7;bo8cross,ft7lo6m4propos,round,s1t0;!op;! 0;a whole,long 0;as;id0ong0;!st;ng;er;ut",SportsTeam:"true¦0:1A;1:1H;2:1G;a1Eb16c0Td0Kfc dallas,g0Ihouston 0Hindiana0Gjacksonville jagua0k0El0Bm01newToQpJqueens parkIreal salt lake,sAt5utah jazz,vancouver whitecaps,w3yW;ashington 3est ham0Rh10;natio1Oredski2wizar0W;ampa bay 6e5o3;ronto 3ttenham hotspur;blue ja0Mrapto0;nnessee tita2xasC;buccanee0ra0K;a7eattle 5heffield0Kporting kansas0Wt3;. louis 3oke0V;c1Frams;marine0s3;eah15ounG;cramento Rn 3;antonio spu0diego 3francisco gJjose earthquak1;char08paA; ran07;a8h5ittsburgh 4ortland t3;imbe0rail blaze0;pirat1steele0;il3oenix su2;adelphia 3li1;eagl1philNunE;dr1;akland 3klahoma city thunder,rlando magic;athle0Mrai3;de0; 3castle01;england 7orleans 6york 3;city fc,g4je0FknXme0Fred bul0Yy3;anke1;ian0D;pelica2sain0C;patrio0Brevolut3;ion;anchester Be9i3ontreal impact;ami 7lwaukee b6nnesota 3;t4u0Fvi3;kings;imberwolv1wi2;rewe0uc0K;dolphi2heat,marli2;mphis grizz3ts;li1;cXu08;a4eicesterVos angeles 3;clippe0dodDla9; galaxy,ke0;ansas city 3nE;chiefs,roya0E; pace0polis colU;astr06dynamo,rockeTtexa2;olden state warrio0reen bay pac3;ke0;.c.Aallas 7e3i05od5;nver 5troit 3;lio2pisto2ti3;ge0;broncZnuggeM;cowbo4maver3;ic00;ys; uQ;arCelKh8incinnati 6leveland 5ol3;orado r3umbus crew sc;api5ocki1;brow2cavalie0india2;bengaWre3;ds;arlotte horAicago 3;b4cubs,fire,wh3;iteB;ea0ulR;diff3olina panthe0; c3;ity;altimore 9lackburn rove0oston 5rooklyn 3uffalo bilN;ne3;ts;cel4red3; sox;tics;rs;oriol1rave2;rizona Ast8tlanta 3;brav1falco2h4u3;nited;aw9;ns;es;on villa,r3;os;c5di3;amondbac3;ks;ardi3;na3;ls",Unit:"true¦a09b06cZdYexXfTgRhePin00joule0DkMlJmDnan0AoCp9quart0Dsq ft,t7volts,w6y2ze3°1µ0;g,s;c,f,n;dXear1o0;ttT; 0s 0;old;att06b;erPon0;!ne04;ascals,e1i0;cZnt02;rcent,tL;hms,uI;/s,e4i0m²,²,³;/h,cro2l0;e0liM;!²;grNsT;gEtL;it1u0;menSx;erRreR;b5elvins,ilo1m0notQ;/h,ph,²;!byIgrGmEs;ct0rtzN;aLogrE;allonLb0ig5rD;ps;a2emtGl0t6; oz,uid ou0;nceH;hrenheit,radG;aby9;eci3m1;aratDe1m0oulombD;²,³;lsius,nti0;gr2lit1m0;et0;er8;am7;b1y0;te5;l,ps;c2tt0;os0;econd1;re0;!s",PhrasalVerb:"true¦0:92;1:96;2:8H;3:8V;4:8A;5:83;6:85;7:98;8:90;9:8G;A:8X;B:8R;C:8U;D:8S;E:70;F:97;G:8Y;H:81;I:7H;J:79;K:4G;a9Gb7Vc6Sd6Me6Kf5Ig51h4Ciron0j48k41l3Fm32n2Zo2Xp2Dquiet Hr1Ys0Lt00uYvacuu6RwOyammerBzL;ero Dip MonL;e0k0;by,ov9up;aReNhMiLor0Nrit1A;mp0n3Gpe0r5s5;ackAeel Di0T;aMiLn34;gh 3Xrd0;n Dr L;do1in,oJ;it 7Ak5lk Mrm 6Ash Lt84v60;aw3do1o7up;aw3in,oC;rgeBsL;e 2herE;a01eZhWiSoRrNuLypQ;ckErn L;do1in,oJup;aMiLot0y 31;ckl80p F;ck HdL;e 5Z;n7Xp 3Fs5K;ck NdMe Lghten 6me0p o0Sre0;aw3ba4do1in,up;e Iy 2;by,oG;ink Mrow L;aw3ba4in,up;ba4ov9up;aLe 78ll63;m 2r 5N;ckBke Mlk L;ov9shit,u48;aLba4do1in,leave,o66up;ba4ft9pa6Aw3;a0Wc0Ue0Nh0Ji0Gl0Am09n08o07p02quar5HtRuPwL;earNiL;ngMtch L;aw3ba4o8L; by;cLi6Cm 2ss0;k 65;aSeRiQoOrLud36;aigh2Eet76iL;ke 7Tng L;al6Zup;p Lrm2G;by,in,oG;cKnKr 2tc4O;p F;cKmp0nd MrLveAy 2P;e Ht 2M;ba4do1up;arKeOiNlMrLurB;ead0ingBuc5;a49it 6I;c5ll o3Dn 2;ak Fe1Yll0;aKber 2rt0und like;ap 5Wow Duggl5;ash 6Ooke0;eep OiLow 6;cMp L;o6Eup;e 69;in,oL;ff,v9;de1Agn 4OnLt 6Hz5;gLkE; al6Ble0;aNoLu5X;ot Lut0w 7N;aw3ba4f48oC;cKdeEk6FveA;e Qll1Ond Prv5tL; Ltl5K;do1foMin,o7upL;!on;ot,r60;aw3ba4do1in,o4Wup;oCto;al67out0rL;ap66ew 6K;ilAv5;aYeViToPuL;b 5Zle0n Lstl5;aMba4do1inLo2Jth4Ou5Q;!to;c2Xr8w3;ll Not MpeAuL;g3Ind18;a2Wf3Po7;ar8in,o7up;ng 69p oLs5;ff,p19;aLelAinEnt0;c6Id L;o3Oup;cKt0;a00eZiXlUoRrPsyc35uL;ll Nn5Lt L;aLba4do1in,oJto48up;pa4Ew3;a3Kdo1in,o22to46up;attleBess LiOop 2;ah2Fon;iMp Lr50u1Hwer 6O;do1in,o6Oup;nt0;aMuL;gEmp 6;ce u21y 6E;ck Lg0le 4Bn 6p5C;oJup;el 5OncilE;c54ir 3An0ss NtMy L;ba4oG; Hc2R;aw3ba4in,oJ;pLw4Z;e4Yt D;aMerd0oL;dAt54;il Hrrow H;aUeRiQoMuL;ddl5ll I;cKnkeyNp 6uthAve L;aLdo1in,o4Mup;l4Ow3; wi4L;ss0x 2;asur5e3TlMss L;a21up;t 6;ke Mn 6rLs2Ax0;k 6ryA;do,fun,oCsure,up;a03eWiRoMuL;ck0st I;aOc4Gg NoLse0;k Lse4E;aft9ba4do1forw38in57o10u47;in,oJ;d 6;e OghtNnMsLve 01;ten F;e 2k 2; 2e47;ar8do1in;aNt MvelL; oC;do1go,in,o7up;nEve L;in,oL;pLut;en;c5p 2sh MtchBughAy L;do1o5A;in4Qo7;eNick Mnock L;do1oCup;oCup;eMy L;in,up;l Ip L;aw3ba4do1f05in,oJto,up;aNoMuL;ic5mpE;ke3Tt H;c44zz 2;a02eXiUoQuL;nMrrLsh 6;y 2;keMt L;ar8do1;r H;lLneErse3L;d Le 2;ba4dLfast,o25up;ear,o1;de Mt L;ba4on,up;aw3o7;aLlp0;d Nl Ir Lt 2;fLof;rom;f11in,o1WuX;cKm 2nMsh0ve Lz2Q;at,it,to;d Mg LkerQ;do1in,o2Uup;do1in,oL;ut,v9;k 2;aZeUive Sloss IoNrMunL; f0S;ab hold,in44ow 2V; Lof 2J;aNb1Nit,oMr8th1JuL;nd9;ff,n,v9;bo7ft9hQw3;aw3bLdo1in,oJrise,up,w3;a4ir2I;ar 6ek0t L;aLb1Gdo1in,o1Dr8up;cMhLl2Hr8t,w3;ead;ross;d aLng 2;bo7;a0Fe08iZlVoRrNuL;ck Le2P;ar8up;eMighten LownBy 2;aw3oG;eLshe29; 2z5;g 2lNol Lrk I;aLwi22;bo7r8;d 6low 2;aMeLip0;sh0;g 6ke0mLrLtten H;e F;gSlQnOrMsLzzle0;h F;e Lm 2;aw3ba4up;d0isL;h 2;e Ll 1V;aw3fQin,o7;ht ba4ure0;eQnMsL;s 2;cNd L;fLoG;or;e D;d06l 2;cPll Lrm0t1I;aNbMdo1in,oLsho0Gth0Avictim;ff,ut,v9;a4ehi2P;pa0D;e L;do1oGup;at Ldge0nd 13y5;in,o7up;aPi1IoOrL;aMess 6op LuO;aw3b04in,oC;gBwB; Ile0ubl1C;m 2;a0Bh06l03oPrMut L;aw3ba4do1oCup;ackBeep MoLy0;ss Dwd0;by,do1in,o0Vup;me OoMuntL; o2B;k 6l L;do1oG;aSbRforPin,oOtLu0P;hMoLrue;geth9;rough;ff,n,ut,v9;th,wL;ard;a4y;paLr8w3;rt;eaMose L;in,oCup;n 6r F;aOeMiL;ll0pE;ck Der Lw F;on,up;t 2;lSncel0rPsNtch MveE; in;o1Oup;h Dt L;doubt,oG;ry MvL;e 09;aw3oJ;l Lm H;aMba4do1oJup;ff,n,ut;r8w3;a0We0NiteAl0Go05rRuL;bblOckl06il0Elk 6ndl06rMsLtNy FzzA;t 01;n 0IsL;t D;e I;ov9;anXeaViMush L;oGup;ghRng L;aOba4do1forNin,oMuL;nd9p;n,ut;th;bo7lLr8w3;ong;teL;n 2;k L;do1in,o7up;ch0;arUg 6iSn5oQrOssNttlMunce Lx D;aw3ba4;e 6; ar8;e H;do1;k Dt 2;e 2;l 6;do1up;d 2;aQeed0oLurt0;cNw L;aw3ba4do1o7up;ck;k L;in,oC;ck0nk0stA; oRaOef 2lt0nd L;do1ov9up;er;up;r Mt L;do1in,oCup;do1o7;ff,nL;to;ck Qil0nNrgMsL;h D;ainBe D;g DkB; on;in,o7;aw3do1in,oCup;ff,ut;ay;ct FdRir0sk NuctionA; oG;ff;ar8o7;ouL;nd; o7;d L;do1oLup;ff,n;wn;o7up;ut","Noun|Gerund":"true¦0:27;1:26;2:1X;3:1J;4:1Z;a25b1Oc1Cd16en14f0Yg0Wh0Ti0Rjog20k0Pl0Lm0In0Go0Cp05ques08rWsFtBu9volunt15w5y17zo2;a7ed1Si3or6r5;ap1Oest1Ci1;ki0r1O;i1r2s1Utc1U;nder5pri23;st1Mta4;al4e7hin4i6ra5y1J;c4di0i2v0Z;mi0p1H;a1Ys1;aKcHeGhEin1PkatClZmo4nowBpeAt8u6w5;ea3im1U;f02r5;fi0vi0J;a1Lretc1Ju5;d1BfJ;l0Xn1C;b6i0;eb5i0;oar19;ip15o5;rte2u1;a1r0At1;h6o3re5;a1He2;edu0Ooo0O;i0Nyi0;aCe8i11o6u5;li0n2;o5wi0;fi0;a7c6hear1Cnde3por1struct5;r1Au3;or0Vyc0G;di0so2;p0Qti0;aAeacek9la8o6r5ublis0X;a0Peten0Rin1oces16;iso2si5;tio2;n2yi0;ee0K;cka0Tin1rt0K;f7pe6rgani5vula1;si0zi0;ni0ra1;fe3;e5ur0W;gotia1twor4;a6e5i2onito3;e1ssa0L;nufactu3rke1;a7ea6i5od0Jyi0;cen0Qf1s1;r2si0;n09ug0E;i5n0J;c4lS;ci0magi2n5ro2;nova1terac1;andPea1i6o5un1;l03wO;ki0ri0;athe3rie5ui01;vi0;ar0CenHi7l6or5ros1unZ;ecas1mat1;ir1ooX;l6n5;anDdi0;i0li0;di0gin5;ee3;a8eba1irec1oub1r6umOw5;elB;awi0es04i5;n4vi0;n5ti0;ci0;aEelebra1hClAo7r5ur6;aw5osZ;li0;a6di0lo3mplai2n5o4pi0ve3;duc1sul1;cLti0;apCea3imHo5ubH;ni0tJ;a5ee3;n1t1;m8s1te3;ri0;aIeFitDlCoAr8u5;il8ll6r5;pi0;yi0;an5;di0;a1m5o4;bi0;esGoa1;c5i0;hi0;gin2lon5t1;gi0;ni0;bys6c4ki0;ki0;it1;c8dverti7gi0rg6ssu5;mi0;ui0;si0;coun1ti0;ti0;ng",ProperNoun:"true¦barbie,c4diego,e3f2iron maiden,kirby,m0nis,riel,stevens;ercedes,i0;ckey,ssy;inn,lorence,ranco;lmo,uro;atalina,hristi",Ordinal:"true¦eBf7nin5s3t0zeroE;enDhir1we0;lfCn7;d,t3;e0ixt8;cond,vent7;et0th;e6ie7;i2o0;r0urt3;tie4;ft1rst;ight0lev1;e0h,ie1;en0;th",Cardinal:"true¦bEeBf5mEnine7one,s4t0zero;en,h2rDw0;e0o;lve,n5;irt6ousands,ree;even2ix2;i3o0;r1ur0;!t2;ty;ft0ve;e2y;ight0lev1;!e0y;en;illions",Multiple:"true¦b3hundred,m3qu2se1t0;housand,r2;pt1xt1;adr0int0;illion",City:"true¦0:77;1:64;2:6J;3:6M;4:5V;a6Bb56c4Ld4Be47f3Zg3Kh3Ci33j2Yk2Hl25m1Nn1Do1Ap0Xq0Vr0Os05tRuQvLwDxiBy9z5;a7h5i4Puri4R;a5e5ongsh0;ng3K;greb,nzib5J;ang2e5okoha3Vunfu;katerin3Krev0;a5n0R;m5Kn;arsBeAi6roclBu5;h0xi,zh5S;c7n5;d5nipeg,terth4;hoek,s1N;hi62kl3D;l66xford;aw;a8e6i5ladivost5Polgogr6O;en3lni6V;ni24r5;n2o3saill4Q;lenc4Zncouv3Vr3ughn;lan bat1Erumqi,trecht;aFbilisi,eEheDiBo9r7u5;l23n66r5;in,ku;i5ondh65;es54poli;kyo,m32ron1Rulo5;n,uS;an5jua3l2Wmisoa6Era3;j4Wshui; hag65ssaloni2K;gucigal28hr0l av1W;briz,i6llinn,mpe59ng5rtu,shk2U;i3Hsh0;an,chu1n0p2Hyu0;aEeDh8kopje,owe1It7u5;ra5zh50;ba0It;aten is58ockholm,rasbou6Auttga2Y;an8e6i5;jiazhua1llo1m60y0;f53n5;ya1zh4K;gh3Nt4T;att48o1Yv47;cramen18int ClBn5o paulo,ppo3Urajevo; 7aa,t5;a 5o domin3H;a3fe,m1O;antonBdie3Ffrancisco,j5ped3Qsalvad0L;o5u0;se;em,t lake ci5Iz28;lou5Bpeters27;aAe9i7o5;me,sar5t5C;io;ga,o5yadh;! de janei3H;cife,ims,nn3Lykjavik;b4Uip4lei2Knc2Rwalpindi;ingdao,u5;ez2i0R;aFeEhDiCo9r7u6yong5;ya1;eb5Bya1;a5etor3O;g54to;rt5zn0; 5la4Eo;au prin0Nelizabe26sa04;ls3Rrae5Ctts28;iladelph3Inom pe1Coenix;ki1r23tah tik3G;dua,lerZnaji,r4Qt5;na,r34;ak46des0Lm1Or6s5ttawa;a3Xlo;an,d07;a7ew5ing2Hovosibir1Lyc; 5cast38;del26orlea46taip16;g8iro4Yn5pl2Yshv35v0;ch6ji1t5;es,o1;a1o1;a6o5p4;ya;no,sa0Y;aFeCi9o6u5;mb2Cni28sc40;gadishu,nt6s5;c15ul;evideo,pelli1Tre31;ami,l6n16s5;kolc,sissauga;an,waukee;cca,d5lbour2Omph43ndo1Essi3;an,ell5i3;in,ín;cau,drAkass2Tl9n8r5shh4B;aca6ib5rakesh,se2M;or;i1Ty;a4FchFdal10i48;mo;id;aDeAi8o6u5vSy2;anMckn0Pdhia3;n5s angel27;d2g bea1O;brev2Ce3Mma5nz,sb2verpo29;!ss28; ma3Ai5;c5pzig;est17; p6g5ho2Xn0Dusan25;os;az,la34;aHharFiClaipeBo9rak0Eu7y5;iv,o5;to;ala lump4n5;mi1sh0;hi0Ilka2Ypavog4si5wlo2;ce;da;ev,n5rkuk;gst2sha5;sa;k5toum;iv;bIdu3llakuric0Rmpa3Gn6ohsiu1ra5un1Jwaguc0R;c0Qj;d5o,p4;ah1Uy;a7e6i5ohannesW;l1Wn0;dd37rusalem;ip4k5;ar2I;bad0mph1PnBrkutVs8taYz5̇zm7;m6tapala5;pa;ir;fah0l6tanb5;ul;am2Zi2H;che2d5;ianap2Mo20;aAe7o5yder2W; chi mi5ms,nolulu;nh;f6lsin5rakli2;ki;ei;ifa,lifax,mCn5rb1Dva3;g8nov01oi;aFdanEenDhCiPlasgBo9raz,u5;a5jr23;dal6ng5yaquil;zh1J;aja2Oupe;ld coa1Bthen5;bu2S;ow;ent;e0Uoa;sk;lw7n5za;dhi5gt1E;nag0U;ay;aisal29es,o8r6ukuya5;ma;ankfu5esno;rt;rt5sh0; wor6ale5;za;th;d5indhov0Pl paso;in5mont2;bur5;gh;aBe8ha0Xisp4o7resd0Lu5;b5esseldorf,nkirk,rb0shanbe;ai,l0I;ha,nggu0rtmu13;hradSl6nv5troit;er;hi;donghIe6k09l5masc1Zr es sala1KugavpiY;i0lU;gu,je2;aJebu,hAleve0Vo5raio02uriti1Q;lo7n6penhag0Ar5;do1Ok;akKst0V;gUm5;bo;aBen8i6ongqi1ristchur5;ch;ang m7ca5ttago1;go;g6n5;ai;du,zho1;ng5ttogr14;ch8sha,zh07;gliari,i9lga8mayenJn6pe town,r5tanO;acCdiff;ber1Ac5;un;ry;ro;aWeNhKirmingh0WoJr9u5;chareTdapeTenos air7r5s0tu0;g5sa;as;es;a9is6usse5;ls;ba6t5;ol;ne;sil8tisla7zzav5;il5;le;va;ia;goZst2;op6ubaneshw5;ar;al;iCl9ng8r5;g6l5n;in;en;aluru,hazi;fa6grade,o horizon5;te;st;ji1rut;ghd0BkFn9ot8r7s6yan n4;ur;el,r07;celo3i,ranquil09;ou;du1g6ja lu5;ka;alo6k5;ok;re;ng;ers5u;field;a05b02cc01ddis aba00gartaZhmedXizawl,lSmPnHqa00rEsBt7uck5;la5;nd;he7l5;an5;ta;ns;h5unci2;dod,gab5;at;li5;ngt2;on;a8c5kaOtwerp;hora6o3;na;ge;h7p5;ol5;is;eim;aravati,m0s5;terd5;am; 7buquerq6eppo,giers,ma5;ty;ue;basrah al qadim5mawsil al jadid5;ah;ab5;ad;la;ba;ra;idj0u dha5;bi;an;lbo6rh5;us;rg",Region:"true¦0:2N;1:2T;2:2K;a2Qb2Dc1Zd1Ues1Tf1Rg1Lh1Hi1Cj18k13l10m0Pn07o05pZqWrTsKtFuCv9w5y3zacatec2U;akut0o0Du3;cat2k07;a4est 3isconsin,yomi1M;bengal,vi6;rwick2Bshington3;! dc;er4i3;rgin0;acruz,mont;dmurt0t3;ah,tar3; 2La0X;a5e4laxca1Rripu1Xu3;scaDva;langa1nnessee,x2F;bas0Vm3smNtar25;aulip2Dil nadu;a8i6o4taf11u3ylh1F;ffYrr04s1A;me1Cno1Quth 3;cVdU;ber0c3kkim,naloa;hu2ily;n4skatchew2xo3;ny; luis potosi,ta catari1;a3hode9;j3ngp07;asth2shahi;ingh25u3;e3intana roo;bec,en5reta0R;ara7e5rince edward3unjab; i3;sl0B;i,nnsylv3rnambu0B;an0;!na;axa0Ydisha,h3klaho20ntar3reg6ss0Bx0G;io;aJeDo5u3;evo le3nav0W;on;r3tt17va scot0;f8mandy,th3; 3ampton16;c5d4yo3;rk14;ako1N;aroli1;olk;bras1Mva0Cw3; 4foundland3;! and labrador;brunswick,hamp0Xjers4mexiSyork3;! state;ey;galOyarit;a9eghala0Mi5o3;nta1r3;dov0elos;ch5dlanCn4ss3zor11;issippi,ouri;as geraOneso18;ig2oac2;dhy12harasht0Gine,ni4r3ssachusetts;anhao,i el,ylF;p3toba;ur;anca0Ie3incoln0IouisH;e3iR;ds;a5e4h3omi;aka06ul1;ntucky,ra01;bardino,lmyk0ns0Qr3;achay,el0nata0X;alis5har3iangxi;kh3;and;co;daho,llino6n3owa;d4gush3;et0;ia1;is;a5ert4i3un2;dalFm0D;fordZ;mpYrya1waii;ansu,eorg0lou7oa,u3;an4erre3izhou,jarat;ro;ajuato,gdo3;ng;cesterS;lori3uji2;da;sex;ageTe6o4uran3;go;rs3;et;lawaLrbyK;aEeaDh8o3rimea ,umbr0;ahui6l5nnectic4rsi3ventry;ca;ut;i02orado;la;e4hattisgarh,i3uvash0;apQhuahua;chn4rke3;ss0;ya;ra;lFm3;bridge6peche;a8ihar,r7u3;ck3ryat0;ingham3;shi3;re;emen,itish columb0;h0ja cal7lk6s3v6;hkorto3que;st2;an;ar0;iforn0;ia;dygea,guascalientes,lAndhr8r4ss3;am;izo1kans4un3;achal 6;as;na;a 3;pradesh;a5ber4t3;ai;ta;ba4s3;ka;ma",Country:"true¦0:39;1:2M;a2Xb2Ec22d1Ye1Sf1Mg1Ch1Ai14j12k0Zl0Um0Gn05om3DpZqat1KrXsKtCu6v4wal3yemTz2;a25imbabwe;es,lis and futu2Y;a2enezue32ietnam;nuatu,tican city;.5gTkraiZnited 3ruXs2zbeE;a,sr;arab emirat0Kkingdom,states2;! of am2Y;k.,s.2; 28a.;a7haBimor-les0Bo6rinidad4u2;nis0rk2valu;ey,me2Ys and caic1U; and 2-2;toba1K;go,kel0Znga;iw2Wji2nz2S;ki2U;aCcotl1eBi8lov7o5pa2Cri lanka,u4w2yr0;az2ed9itzerl1;il1;d2Rriname;lomon1Wmal0uth 2;afr2JkLsud2P;ak0en0;erra leoEn2;gapo1Xt maart2;en;negKrb0ychellY;int 2moa,n marino,udi arab0;hele25luc0mart20;epublic of ir0Dom2Duss0w2;an26;a3eHhilippinTitcairn1Lo2uerto riM;l1rtugE;ki2Cl3nama,pua new0Ura2;gu6;au,esti2;ne;aAe8i6or2;folk1Hth3w2;ay; k2ern mariana1C;or0N;caragua,ger2ue;!ia;p2ther19w zeal1;al;mib0u2;ru;a6exi5icro0Ao2yanm05;ldova,n2roc4zamb9;a3gol0t2;enegro,serrat;co;c9dagasc00l6r4urit3yot2;te;an0i15;shall0Wtin2;ique;a3div2i,ta;es;wi,ys0;ao,ed01;a5e4i2uxembourg;b2echtenste11thu1F;er0ya;ban0Hsotho;os,tv0;azakh1Ee3iriba03o2uwait,yrgyz1E;rWsovo;eling0Jnya;a2erF;ma15p1B;c6nd5r3s2taly,vory coast;le of m19rael;a2el1;n,q;ia,oI;el1;aiSon2ungary;dur0Mg kong;aAermany,ha0Pibralt9re7u2;a5ern4inea2ya0O;!-biss2;au;sey;deloupe,m,tema0P;e2na0M;ce,nl1;ar;bTmb0;a6i5r2;ance,ench 2;guia0Dpoly2;nes0;ji,nl1;lklandTroeT;ast tim6cu5gypt,l salv5ngl1quatorial3ritr4st2thiop0;on0; guin2;ea;ad2;or;enmark,jibou4ominica3r con2;go;!n B;ti;aAentral african 9h7o4roat0u3yprQzech2; 8ia;ba,racao;c3lo2morPngo-brazzaville,okFsta r03te d'ivoiK;mb0;osD;i2ristmasF;le,na;republic;m2naTpe verde,yman9;bod0ero2;on;aFeChut00o8r4u2;lgar0r2;kina faso,ma,undi;azil,itish 2unei;virgin2; is2;lands;liv0nai4snia and herzegoviGtswaGuvet2; isl1;and;re;l2n7rmuF;ar2gium,ize;us;h3ngladesh,rbad2;os;am3ra2;in;as;fghaFlCmAn5r3ustr2zerbaijH;al0ia;genti2men0uba;na;dorra,g4t2;arct6igua and barbu2;da;o2uil2;la;er2;ica;b2ger0;an0;ia;ni2;st2;an",Place:"true¦a00bYcUdTeSfRgMhLiJjfk,kHlFmDnBorAp8r7s6t3u2vostok,wake isCy0;a0yz;kutGngtze;laanbaatar,pT;ahiti,h0;amWe 0;bronx,hamptons;akhalIeine,fo,oho,under5yd;ed sea,io grande;acifWek,h0itcairn;l,x;ange county,d,inoco;ew eng0ile;land;a0co,ekong,idIuc;gadSlibu,nhattS;a0gw,hr;s,x;osrae,rasnoyar0ul;sk;ax,cn,nd0st;ianLochina;arlem,kg,nd,ovd;a3odavari,re0;at 0enwich;brita0lakC;in;ngAy village;co,ra;urope,verglad8;anube,en,fw,own2xb;dg,gk,h0lt;a1ina0uuk;town;morro,tham;cn,e0kk,rooklyn;l air,verly hills;driadic,frica,m7n2r3sia,tl1zor0;es;!ant2;adyr,tar0;ct0;ic0; oce0;an;ericas,s",WeekDay:"true¦fri2mon2s1t0wednesd3;hurs1ues1;aturd1und1;!d0;ay0;!s",Month:"true¦dec0february,july,nov0octo1sept0;em0;ber",Date:"true¦ago,on4som4t1week0yesterd5; end,ends;mr1o0;d2morrow;!w;ed0;ay",Duration:"true¦centurAd8h7m5q4se3w1y0;ear8r8;eek0k7;!end,s;ason,c5;tr,uarter;i0onth3;llisecond2nute2;our1r1;ay0ecade0;!s;ies,y",FemaleName:"true¦0:IS;1:IW;2:I5;3:I4;4:IM;5:I9;6:JD;7:GQ;8:J9;9:J5;A:HD;B:HN;C:IE;D:J2;E:II;F:H2;G:C4;H:HP;aGIbFDcDJdCSeBIfB0gAAh9Qi9Dj8Ck7Cl5Wm46n3Ko3Gp34qu33r2Bs16t0Fu0Dv03wWxiUyPzI;aMeJineb,oIsof2;e3Rf2la,ra;h3iLlJna,ynI;ab,ep;da,ma;da,h3iIra;nab;aLeKi0GolB3uJvI;etAonDH;i0na;le0sen2;el,gm3Gn,rGAs8T;aoIme0nyi;m5YyAA;aNendDRhiD8iI;dele9lKnI;if45niIo0;e,f44;a,helmi0lIma;a,ow;ka0nB;aOeLiIusa5;ck82kJlAole7viI;anGenIQ;ky,toriBE;da,lA5rIs0;a,nIoniGV;a,iFH;leInesGV;nI7rI;i1y;g9rIxGW;su5te;aZeVhSiOoMrJuIy3;i,la;acIPiIu0L;c2na,sI;hGta;nIr0H;iGya;aKffaEGnIs6;a,gtiI;ng;!nFHra;aJeIomasi0;a,l9Lo87res1;l2ndolwethu;g9Co85rJssI;!a,ie;eIi,ri8;sa,za;bPlNmLnJrIs6tia0wa0;a60yn;iIya;a,ka,s6;arGe3iIm75ra;!ka;a,iI;a,t6;at6it6;a0Gcarlett,e0ChYiUkye,neza0oStOuJyI;bI2lvi1;ha,mayI5ni7sJzI;an3KetAie,y;anIi8;!a,e,nI;aCe;aKeI;fIl5DphI;an4;cHQr5;b2fiA3m0MnIphi1;d3ia,ja,ya;er3lKmon1nJobh8MtI;a,i;dy;lEHv2;aNeJirIo0risEZy5;a,lDD;ba,e0i5lKrI;iIr6Gyl;!d8Efa;ia,lDP;hd,iNki3nKrJu0w0yI;la,ma,na;i,le9on,ron;aJda,ia,nIon;a,on;!ya;k6mI;!aa;lKrJtaye7YvI;da,inj;e0ife;en1i0ma;anA0bMd3Kh1PiBkLlKmJnd3rIs6vannaC;aCi0;ant6i3;lDEma,ome;ee0in8Ou3;in1ri0;a05e00hYiVoIuthDC;bTcSghRl8GnQsKwJxI;anAUie,y;an,e0;aJeIie,lD; merBIann8ll1marD6t7;!lInn1;iIyn;e,nI;a,dG;da,i,na;ayy8B;hel63io;bDFer7yn;a,cJkImas,nGta,ya;ki,o;helHki;ea,iannG7oI;da,n1L;an0bKemGgi0iJnIta,y0;a86ee;han81na;a,eI;cE5kaC;bi0chJe,i0mo0nIquEFy0;di,ia;aEDelIiB;!e,le;een4ia0;aOeNhLipaluk,oKrIute67;iIudenCL;scil3LyamvaB;lly,rt2;ilome0oebe,ylI;is,lis;ggy,nelope,r5t3;ige,m0UnLo5rvaDBtJulI;a,etAin1;ricIt4T;a,e,ia;do3i07;ctav2dJfCUis6lIphCUumBYyunbileg;a,ga,iv2;eIvA9;l2tA;aXeViNoJurIy5;!ay,ul;a,eKor,rJuI;f,r;aCeEma;ll1mi;aOcMhariBJkLlaKna,sIta,vi;anIha;ur;!y;a,iDNki;hoHk9SolI;a,eDE;!mh;hir,lIna,risFsreE;!a,lBO;asuMdLh2i6Cl5nKomi8rgEJtIzanin zah3;aIhal4;li1s6;cy,etA;e9iEP;nngu30;a0Ackenz4e02iNoKrignayani,uriD8yI;a,rI;a,lOna,tH;bi0i3llBDnI;a,iI;ca,ka,qCY;a,cUkaTlOmi,nMrJtzi,yI;ar;aJiam,lI;anEI;!l,nB;dy,eIh,n4;nhHrva;aLdKiCKlI;iIy;cent,e;red;!gros;!e5;ae5hI;ae5el40;ag5EgOi,lLrI;edi77iJjem,on,yI;em,l;em,sF;an4iIliF;nIsC9;a,da;!an,han;b0DcANd0Be,g09ha,i08ja,l06n04rMsoum5YtLuJv80x9FyIz4;bell,ra,soB4;de,rI;a,eE;h8Cild1t4;a,cYgUiLjor4l7Qn4s6tKwa,yI;!aIbe6Uja9lA9;m,nBC;a,ha,in1;!aKbC6eJja,lDna,sIt62;!a,ol,sa;!l1H;! Kh,mJnI;!a,e,n1;!awit,i;aliACcJeduarBfern5EjIlui5W;o6Dul2;ecil2la3;arKeJie,oIr46ueriA;!t;!ry;et44i39;el4Vi75y;dIon,ue5;akran7y;ak,en,iIlo3Q;a,ka,nB;a,re,s4te;daIg4;!l3C;alDd4elIge,isD6on0;ei9in1yn;el,le;a0Oe0DiZoRuMyI;d2la,nI;!a,dJeBCnIsCG;!a,eBB;a,sCE;aCRcKel0QiFlJna,pIz;e,i7;a,u,wa;iIy;a0Te,ja,l2LnB;is,l1TrKttJuIvel4;el5is1;e,ie;aLeJi8na,rI;a84i8;lIn1t7;ei;!in1;aTbb98dSepa,lNnKsJv2zI;!a,be5KetAz4;a,etA;!a,dI;a,sIy;ay,ey,i,y;a,iKja,lI;iIy;a9We;!aI;!nG;ia,ya;!nI;!a,ne;aQda,e0iOjZla,nNoLsKtIx4y5;iIt4;c2t2;e2NlCB;la,nIra;a,ie,o3;a,or1;a,gh,laI;!ni;!h,nI;a,d3e,n5O;cPdon93iOkes6mi96na,rNtKurJvIxmi,y5;ern1in2;a,e53ie,yn;as6iJoI;nya,ya;fa,s6;a,isF;a,la;ey,ie,y;a05e00hYiPlAFoOrKyI;lIra;a,ee,ie;istIy6B;a,en,iJyI;!na;!e,n58;nul,ri,urtnAV;aPerOlAUmKrIzzy;a,stI;en,in;!berlJmernI;aq;eIi,y;e,y;a,stE;!na,ra;aIei3ongordzol;dij1w5;el7MiLjsi,lKnJrI;a,i,ri;d3na,za;ey,i,lB8s4y;ra,s6;bi7cAEdiat7EeAXiSlRmQnyakuma1BrOss6HtLvi7yI;!e,lI;a,eI;e,i8H;a6BeJhIi4MlDri0y;ar69er69ie,leErAXy;!lyn8Cri0;a,en,iIl5Qoli0yn;!ma,nGsF;a5il1;ei8Ai,l4;a,tl6I;a09eZiWoOuI;anMdLliIst61;a8DeIsF;!n9tI;!a,te;e5Hi3Iy;a,i7;!anOcelDdNelHhan7NleMni,sJva0yI;a,ce;eIie;fIlDph5S;a,in1;en,n1;i8y;!a,e,n40;lIng;!i1DlI;!i1C;anOle0nLrKsI;i88sI;!e,i87;i,ri;!a,elHif2AnI;a,etAiIy;!e,f28;a,e89iJnI;a,e88iI;e,n1;cNda,mi,nJque4UsminGvie3y9zI;min8;a8eJiI;ce,e,n1s;!lIsFt0G;e,le;inJk4lDquelI;in1yn;da,ta;da,lSmQnPo0rOsJvaIzaro;!a0lu,na;aKiJlaIob7Z;!n9H;do3;belIdo3;!a,e,l37;a72en1i0ma;di3es,gr6Tji;a9elBogI;en1;a,e9iIo0se;a0na;aTePiKoIusFyacin29;da,ll4rten21snI;a,i9K;lJmaI;ri;aJdIlaJ;a,egard;ry;ath1AiKlJnriet7rmi9sI;sa,t19;en2Qga,mi;di;bi2Bil8ClOnNrKsJtIwa,yl8C;i5Nt4;n5Tti;iImo4Xri4Y;etI;!te;aCnaC;a,ey,l4;a03eXiSlQoOrLunKwI;enIyne1O;!dolD;ay,el;acieJetIiselB;a,chE;!la;ld19ogooI;sh;adys,enIor2yn2G;a,da,na;aLgi,lJna,ov84selIta;a,e,le;da,liI;an;!n0;mMnKorgJrI;ald3Ni,m3Atru86;etAi4S;a,eIna;s25vieve;ma;bJle,mIrnet,yH;al5Ji5;i5BrielI;a,l1;aUeRiQlorPoz2rI;anKeJiI;da,eB;da,ja;!cI;esJiIoi0N;n1s5X;!ca;a,enc2;en,o0;lJn0rnI;anB;ec2ic2;jr,n7rLtIy8;emJiIma,ouma7;ha,ma,n;eh;ah,iBrah,za0;cr4Ld0Oe0Ni0Mk7l05mXn4WrUsOtNuMvI;aKelJiI;!e,ta;inGyn;!ngel2S;geni1ni43;h5Qta;mMperanLtI;eJhIrel5;er;l2Zr8;za;a,eralB;iIma,nest2Jyn;cIka,n;a,ka;a,eNiKmI;aIie,y;!li9;lIn1;ee,iIy;a,e,ja;lIrald;da,y;aXeViOlNma,no3oLsKvI;a,iI;na,ra;a,ie;iIuiI;se;a,en,ie,y;a0c2da,f,nNsKzaI;!betIve7;e,h;aIe,ka;!beI;th;!a,or;anor,nG;!a;!in1na;leEs6;vi;eJiIna,wi0;e,th;l,n;aZeNh2iMjeneLoI;lor5Qminiq4Gn3DrItt4;a,eEis,la,othIthy;ea,y;ba;an0AnaCon9ya;anRbQde,ePiNlKmetr2nIsir5H;a,iI;ce,se;a,iJla,orIphi9;es,is;a,l6A;dIrdI;re;!d59na;!b2ForaCraC;a,d3nI;!a,e;hl2i0l0HmOnMphn1rJvi1WyI;le,na;a,by,cJia,lI;a,en1;ey,ie;a,etAiI;!ca,el1Bka,z;arIia;is;a0Se0Oh05i03lVoKristJynI;di,th2;al,i0;lQnNrJurI;tn1E;aKd2MiIn2Mri9;!nI;a,e,n1;!l4;cepci57n4sI;tanIuelo;ce,za;eIleE;en,tA;aKeoJotI;il4Z;!pat3;ir8rKudI;etAiI;a,ne;a,e,iI;ce,s00;a3er3ndI;i,y;aSeOloe,rI;isKyI;stI;al;sy,tI;a1Qen,iIy;an1e,n1;deKlseJrI;!i8yl;a,y;li9;nNrI;isLlJmI;ai9;a,eIotA;n1tA;!sa;d3elHtI;al,elH;cJlI;esAi42;el2ilI;e,ia,y;itlZlYmilXndWrOsMtIy5;aKeKhIri0;erIleErDy;in1;ri0;a32sI;a31ie;a,iOlMmeKolJrI;ie,ol;!e,in1yn;lIn;!a,la;a,eIie,o7y;ne,y;na,sF;a0Hi0H;a,e,l1;is7l4;in,yn;a0Ie02iZlXoUrI;andi8eRiKoJyI;an0nn;nwDoke;an3CdgMg0XtI;n2WtI;!aJnI;ey,i,y;ny;etI;!t8;an0e,nI;da,na;bbi8glarJlo06nI;i7n4;ka;ancIythe;a,he;an18lja0nIsm3I;i7tI;ou;aVcky,linUni7rQssPtKulaCvI;!erlI;ey,y;hKsy,tI;e,iIy8;e,na;!anI;ie,y;!ie;nIt6yl;adJiI;ce;etAi9;ay,da;!triI;ce,z;rbKyaI;rmI;aa;a3o3ra;a2Sb2Md23g1Zi1Qj5l16m0Xn0Aoi,r05sVtUuQvPwa,yJzI;ra,u0;aLes6gKlJseI;!l;in;un;!nI;a,na;a,i2I;drKgus1RrJsteI;ja;el2;a,ey,i,y;aahua,he0;hJi2Gja,mi7s2DtrI;id;aNlJraqIt21;at;eJi8yI;!n;e,iIy;gh;!nI;ti;iKleJo6pi7;ta;en,n1tA;aIelH;!n1J;a01dje5eZgViTjRnKohito,toIya;inetAnI;el5ia;!aLeJiImK;e,ka;!mItA;ar4;!belJliFmV;sa;!l1;a,eliI;ca;ka,sIta;a,sa;elIie;a,iI;a,ca,n1qI;ue;!tA;te;!bJmIstasiNya;ar2;el;aMberLeliKiIy;e,l2naI;!ta;a,ja;!ly;hHiJl2nB;da;a,ra;le;aXba,eQiNlLthKyI;a,c2sI;a,on,sa;ea;iIys0O;e,s0N;a,cJn1sIza;a,e,ha,on,sa;e,ia,ja;c2is6jaLksaLna,sKxI;aIia;!nd3;ia,saI;nd3;ra;ia;i0nJyI;ah,na;a,is,naCoud;la;c6da,leEmOnMsI;haClI;inIyZ;g,n;!h;a,o,slI;ey;ee;en;at6g4nJusI;ti0;es;ie;aXdiUelNrI;eKiI;anNenI;a,e,ne;an0;na;!aMeLiJyI;nn;a,n1;a,e;!ne;!iI;de;e,lDsI;on;yn;!lI;i9yn;ne;aLbJiIrM;!gaL;ey,i8y;!e;gaI;il;dLliyKradhJs6;ha;ya;ah;a,ya",FirstName:"true¦aLblair,cHdevGgabrieFhinaEjCk9l8m4quinn,re3s0;h0umit;ay,e0iloh;a,lby;g6ne;a1el0ina,org5;!okuh9;naia,r0;ion,lo;ashawn,uca;asCe1ir0rE;an;lsAnyat2rry;am0ess6ie,ude;ie,m5;ta;le;an,on;as2h0;arl0eyenne;ie;ey,sidy;lex2ndr1ubr0;ey;a,ea;is",Person:"true¦a0Ob0Hc08d05e02g01hZinez,jYkVlSmMnKoJpHr9s7t4v2w0xzibit,yanni;ar0ednesday adams,ill.i.am,oode;hol,rO;a0oltaiO;lentino rossi,n go7;a1heresa may,i0yra banks;ger woods,mbaQ;tum,ylor;a0carlett johanss03hakespeaJinbad,lobodan milosevic,ocratM;ddam hussain,ntigold;a6e5i4o2u0za;mi,n dmc,paul,sh limbau0;gh;d stewart,nald0thko;inho,o;hanYvaldo;ese witherspoVil9mbrandt;ffi,y roma03;a0e08ip07lato,oe,uff daddy;lm06ris hiltS;prah winfrWra;as,e0iles crane,ostradamP; yo,l3ttI;acklemo4essia3i1o0ubarek;by,lie3net,rrissS;randa ju0tt romnR;ly;en;re;ady gaga,e0iberaT;bron jam0e;es;anye west,e1iefer suther0obe bryant;land;ats,ndall,sha;aime,effersCk rowling;a0itlPulk hogan;lle berry,rrisA;ast9otye;ff1m0nya,zekiel;eril lagasse,inem;ie;a1e0ick wolf,rake;gas,nzel washingt4;lt3nB;ar5h3lint2o0;nfuci0olio;us;on;aucCy0;na;dinal wols1son0;! palm9;ey;a5e3o2ro0;ck,n0;te;no;ck,yon0;ce;nksy,rack obama;ristot1shton kutch0;er;le",LastName:"true¦0:9G;1:9W;2:9Y;3:9O;4:9I;5:8L;6:9L;7:A1;8:9F;9:8A;A:78;B:6G;C:6K;a9Vb8Nc7Ld6Ye6Tf6Fg5Wh59i55j4Qk45l3Nm2Sn2Fo27p1Oquispe,r18s0Ft05vVwOxNyGzD;aytsAEhD;aDou,u;ng,o;aGeun81iDoshiAAun;!lD;diDmaz;rim,z;maDng;da,guc98mo6VsDzaA;aAhiA8;iao,u;aHeGiEoDright,u;jc8Tng;lDmm0nkl0sniewsA;liA2s2;b0iss,lt0;a5Tgn0lDtanabe;k0sh;aHeGiEoDukB;lk5roby5;dBllalDnogr2Zr10ss0val37;ba,obos;lasEsel7P;lGn dFrg8FsEzD;qu7;ily9Pqu7silj9P;en b35ijk,yk;enzue96verde;aLeix1KhHi3j6ka3IoGrFsui,uD;om50rD;c3n0un1;an,embl8UynisA;dor96lst31m4rr9th;at5Ni7NoD;mErD;are70laci65;ps2s0Z;hirBkah8Enaka;a01chXeUhQiNmKoItFuEvDzabo;en8Bobod34;ar7bot4lliv3zuA;aEein0oD;i68j3Myan8W;l6rm0;kol5lovy5re6Rsa,to,uD;ng,sa;iDy60;rn5tD;!h;l5ZmEnDrbu;at8gh;mo6Eo6K;aFeDimizu;hu,vchD;en7Duk;la,r17;gu8infeld,mDoh,pulve8Trra4S;jDyD;on5;evi6Giltz,miDneid0roed0ulz,warz;dEtD;!z;!t;ar42h6ito,lFnDr4saAto,v4;ch7d0AtDz;a4Pe,os;as,ihBm3Zo0Q;aOeNiKoGuEyD;a67oo,u;bio,iz,sD;so,u;bEc7Bdrigue57g03j73mDosevelt,ssi,ta7Nux,w3Z;a4Ce0O;ertsDins2;!on;bei0LcEes,vDzzo;as,e8;ci,hards2;ag3es,it0ut0y9;dFmEnDsmu7Zv5F;tan1;ir7os;ic,u;aSeLhJiGoErDut6;asad,if60ochazk1V;lishc23pDrti63u55we67;e2Tov48;cEe09nD;as,to;as61hl0;aDillips;k,m,n5L;de3AetIna,rGtD;ersErovDtersC;!a,ic;en,on;eDic,ry,ss2;i8ra,tz,z;ers;h71k,rk0tEvD;ic,l3T;el,t2O;bJconnor,g2ClGnei5QrEzD;demir,turk;ella3MtDwe5O;ega,iz;iDof6GsC;vDyn1E;ei8;aPri1;aLeJguy1iFoDune44ym3;rodahl,vDwak;ak3Uik5otn57;eEkolDlsCx2;ic,ov6X;ls1miD;!n1;ils2mD;co42ec;gy,kaEray3varD;ro;jiDmu8shiD;ma;aWcUeQiPoIuD;lGnFrDssoli5T;atDpTr68;i,ov4;oz,te4C;d0l0;h3lInr13o0GrEsDza0Y;er,s;aFeEiDoz5r3Ete4C;!n6F;au,i8no,t4N;!l9;i2Rl0;crac5Ohhail5kke3Qll0;hmeFij0j2FlEn2Xrci0ssiDyer19;!er;n0Io;dBti;cartDlaughl6;hy;dMe6Egnu5Fi0jer35kLmJnci5ArFtEyD;er,r;ei,ic,su1O;iEkBqu9roqu6tinD;ez,s;a55c,nD;!o;a53mD;ad5;e5Pin1;rig4Ps1;aSeMiIoGuEyD;!nch;k4nDo;d,gu;mbarDpe2Svr4;di;!nDu,yana1T;coln,dD;bDholm;erg;bed5UfeGhtFitn0kaEn6rDw2H;oy;!j;in1on1;bvDvD;re;iDmmy,rsCu,voie;ne,t12;aTennedy,h3iSlQnez48oJrGuEvar3woD;k,n;cerDmar59znets5;a,o2H;aDem0i31yeziu;sni3RvD;ch3W;bay4Grh0Ksk0UvaFwalDzl5;czDsA;yk;cFlD;!cDen3S;huk;!ev4ic,s;e6uiveD;rt;eff0l4mu8nnun1;hn,llFminsArEstra33to,ur,yDzl5;a,s0;j0HlsC;oe;aMenLha2Qim0RoEuD;ng,r4;e2KhFnErge2Ku2OvD;anB;es,ss2;anEnsD;en,on,t2;nesDsC;en,s1;ki27s1;cGkob3RnsDrv06;en,sD;enDon;!s;ks2obs1;brahimBglesi3Ake4Ll0DnoZoneFshikEto,vanoD;u,v4A;awa;scu;aPeIitchcock,jaltal6oFrist46uD;!aDb0gh9ynh;m3ng;a24dz4fEjga2Tk,rDx3B;ak0Yvat;er,fm3B;iGmingw3NnErD;nand7re8;dDriks1;ers2;kkiEnD;on1;la,n1;dz4g1lvoLmJnsCqIrr0SsFuEyD;as36es;g1ng;anEhiD;mo0Q;i,ov08;ue;alaD;in1;rs1;aNeorgMheorghe,iKjonJoGrEuDw2;o,staf2Utierr7zm3;ayDg4iffitVub0;li1H;lub3Rme0JnEodD;e,m3;calv9zale0H;aj,i;bs2l,mDordaL;en7;iev3A;gnJlGmaFnd2Mo,rDs2Muthi0;cDza;ia;ge;eaElD;agh0i,o;no;e,on;ab0erLiHjeldsted,lor9oFriedm3uD;cDent9ji3E;hs;ntaDrt6urni0;na;lipEsD;ch0;ovD;!ic;hatBnanFrD;arDei8;a,i;deS;ov4;dGinste6riksCsDva0D;cob2YpDtra2W;inoza,osiL;en,s2;er,is2wards;aUeMiKjurhuJoHrisco0ZuEvorakD;!oQ;arte,boEmitru,rDt2U;and,ic;is;g3he0Imingu7n2Ord1AtD;to;us;aDmitr29ssanayake;s,z; GbnaFlEmirDrvis1Lvi,w3;!ov4;gado,ic;th;bo0groot,jo04lEsilDvri9;va;a cruz,e2uD;ca;hl,mcevsAnEt2EviD;d5es,s;ieDku1S;ls1;ki;a06e01hOiobNlarkMoFrD;ivDuz;elli;h1lHntGoFrDs26x;byn,reD;a,ia;ke,p0;i,rer0N;em3liD;ns;!e;anu;aLeIiu,oGriDuJwe;stD;eDiaD;ns1;i,ng,uFwDy;!dhury;!n,onEuD;ng;!g;kEnDpm3tterjee,v7;!d,g;ma,raboD;rty;bGl08ng4rD;eghetEnD;a,y;ti;an,ota0L;cer9lder2mpbeIrFstDvadi07;iDro;llo;doEt0uDvalho;so;so,zo;ll;es;a08eWhTiRlNoGrFyD;rne,tyD;qi;ank5iem,ooks,yant;gdan5nFruya,su,uchEyHziD;c,n5;ard;darDik;enD;ko;ov;aEondD;al;nco,zD;ev4;ancRshwD;as;a01oDuiy3;umDwmD;ik;ckNethov1gu,ktLnJrD;gGisFnD;ascoDds1;ni;ha;er,mD;ann;gtDit7nett;ss2;asD;hi;er,ham;b4ch,ez,hMiley,kk0nHrDu0;bEnDua;es,i0;ieDosa;ri;dDik;a8yopadhyD;ay;ra;er;k,ng;ic;cosZdYguilXkhtXlSnJrGsl3tchis2yD;aEd6;in;la;aEsl3;an;ujo,ya;dFgelD;ovD;!a;ersGov,reD;aDjL;ss1;en;en,on,s2;on;eksejGiyGmeiFvD;ar7es;ez;da;ev;ar;ams;ta",Honorific:"true¦director1field marsh2lieutenant1rear0sergeant major,vice0; admir1; gener0;al","Adj|Gerund":"true¦0:3H;1:3J;2:33;3:2Z;4:37;5:35;6:3E;7:31;8:38;9:2J;a35b2Vc2Dd1Te1If17g11h0Yi0Rjud9l0Nm0Gnu0Fo0Ap04rYsKtEuBvAw18yiel3;ar6e08;nBpA;l1Rs0B;fol3n21sett2;aEeDhrBi4ouc7rAwis0;e0Bif2oub2us0yi1;ea1SiA;l2vi1;l2mp0rr1J;nt1Xxi1;aMcreec7enten2PhLkyrocke0lo1Tmi2oJpHtDuBweA;e1Sl2;pp2CrA;gi1pri5roun3;aBea8iAri2Jun25;mula0r4;gge4rA;t2vi1;ark2eAraw2;e3llb2H;aAot7;ki1ri1;i1Xoc2B;dYtisf6;aEeBive0oAus7;a4l2;assu4defi1Tfres7ig1Tjuve0QlaImai1Ts0vAwar3;ea2italiAol1I;si1zi1;gi1ll6mb2vi1;a6eDier25lun9rAun2E;eBoA;mi5vo21;ce3s5vai2;n3rpleA;xi1;ffCpWutBverAwi1;arc7lap12p0Pri3whel8;goi1l6st1L;en3sA;et0;m2Lrtu4;aEeDiCoBuAyst0L;mb2;t1Lvi1;s5tiga0;an1Tl0n3smeri28;dAtu4;de17;aCeaBiAo0W;fesa0Vmi0vi1;di1ni1;c1Hg9s0;llumiZmFnArri0T;cDfurGsCtBviA;go25ti1;e1Qimi23oxica0rig0X;pi4ul0;orpo22r0M;po5;arrowi1eaBorr03umilA;ia0;li1rtwar8;lErA;atiCip0BoBuelA;i1li1;undbrea13wi1;f6ng;a4ea8;aIetc7it0lEoCrBulfA;il2;ee1JighZust1P;rAun3;ebo3thco8;aCoA;a0wA;e4i1;mi1tte4;di1sciA;na0;lectrJmHnExA;aCci0hBis0pA;an3lo3;aOila1D;c0spe1C;ab2cBdu4ergi15ga9live06ric7s04tA;hral2i0L;han0oura9;barras5er9pA;owe4;if6;aSeIiBrA;if0;sAzz6;aEgDhearCsen0tA;rAur13;ac0es5;teU;us0;ppoin0r8;biliIcFfiRgra3ligh0mDpres5sCvA;asHeloA;pi1;erE;an3eaNorA;ali0L;a6eiBliLrA;ea5;vi1;ta0;ma9ri1s7un0zz2;aPhMlo5oAripp2ut0;mGnArrespon3;cerEfDspi4tAvinU;inBrA;as0ibu0ol2;ui1;lic0u5;ni1;fDmCpA;eAromi5;l2ti1;an3;or0;aAil2;llen9n9r8;gi1;l8ptAri1;iva0;aff2eGin3lFoDrBuA;d3st2;eathtaAui5;ki1;gg2i2o8ri1unA;ci1;in3;co8wiA;lAtc7;de4;bsorVcOgonMlJmHnno6ppea2rFsA;pi4su4toA;nBun3;di1;is7;hi1;res0;li1;aFu5;si1;ar8lu4;ri1;mi1;iAzi1;zi1;cAhi1;eleDomA;moBpan6;yi1;da0;ra0;ti1;bi1;ng",Adverb:"true¦a08b05d00eYfSheQinPjustOkinda,likewiZmMnJoEpCquite,r9s5t2u0very,well;ltima01p0; to,wards5;h1iny bit,o0wiO;o,t6;en,us;eldom,o0uch;!me1rt0; of;how,times,w0C;a1e0;alS;ndomRth05;ar excellenEer0oint blank; Lhaps;f3n0utright;ce0ly;! 0;ag05moX; courGten;ewJo0; longWt 0;onHwithstand9;aybe,eanwhiNore0;!ovT;! aboX;deed,steY;lla,n0;ce;or3u0;ck1l9rther0;!moK;ing; 0evK;exampCgood,suH;n mas0vI;se;e0irect2; 2fini0;te0;ly;juAtrop;ackward,y 0;far,no0; means,w; GbroFd nauseam,gEl7ny5part,s4t 2w0;ay,hi0;le;be7l0mo7wor7;arge,ea6; soon,i4;mo0way;re;l 3mo2ongsi1ready,so,togeth0ways;er;de;st;b1t0;hat;ut;ain;ad;lot,posteriori",Conjunction:"true¦aXbTcReNhowMiEjust00noBo9p8supposing,t5wh0yet;e1il0o3;e,st;n1re0thN; if,by,vM;evL;h0il,o;erefOo0;!uU;lus,rovided th9;r0therwiM;! not; mattEr,w0;! 0;since,th4w7;f4n0; 0asmuch;as mIcaForder t0;h0o;at;! 0;only,t0w0;hen;!ev3;ith2ven0;! 0;if,tB;er;o0uz;s,z;e0ut,y the time;cau1f0;ore;se;lt3nd,s 0;far1if,m0soon1t2;uch0; as;hou0;gh",Currency:"true¦$,aud,bQcOdJeurIfHgbp,hkd,iGjpy,kElDp8r7s3usd,x2y1z0¢,£,¥,ден,лв,руб,฿,₡,₨,€,₭,﷼;lotyQł;en,uanP;af,of;h0t5;e0il5;k0q0;elK;oubleJp,upeeJ;e2ound st0;er0;lingG;n0soF;ceEnies;empi7i7;n,r0wanzaCyatC;!onaBw;ls,nr;ori7ranc9;!os;en3i2kk,o0;b0ll2;ra5;me4n0rham4;ar3;e0ny;nt1;aht,itcoin0;!s",Determiner:"true¦aBboth,d9e6few,le5mu8neiDplenty,s4th2various,wh0;at0ich0;evC;a0e4is,ose;!t;everal,ome;!ast,s;a1l0very;!se;ch;e0u;!s;!n0;!o0y;th0;er","Adj|Present":"true¦a07b04cVdQeNfJhollIidRlEmCnarrIoBp9qua8r7s3t2uttFw0;aKet,ro0;ng,u08;endChin;e2hort,l1mooth,our,pa9tray,u0;re,speU;i2ow;cu6da02leSpaN;eplica01i02;ck;aHerfePr0;eseUime,omV;bscu1pen,wn;atu0e3odeH;re;a2e1ive,ow0;er;an;st,y;ow;a2i1oul,r0;ee,inge;rm;iIke,ncy,st;l1mpty,x0;emHpress;abo4ic7;amp,e2i1oub0ry,ull;le;ffu9re6;fu8libe0;raE;alm,l5o0;mpleCn3ol,rr1unterfe0;it;e0u7;ct;juga8sum7;ea1o0;se;n,r;ankru1lu0;nt;pt;li2pproxi0rticula1;ma0;te;ght",Comparable:"true¦0:3C;1:3Q;2:3F;a3Tb3Cc33d2Ue2Nf2Ag1Wh1Li1Fj1Ek1Bl13m0Xn0So0Rp0Iqu0Gr07sHtCug0vAw4y3za0Q;el10ouN;ary,e6hi5i3ry;ck0Cde,l3n1ry,se;d,y;ny,te;a3i3R;k,ry;a3erda2ulgar;gue,in,st;a6en2Xhi5i4ouZr3;anqu2Den1ue;dy,g36me0ny;ck,rs29;ll,me,rt,wd3I;aRcaPeOhMiLkin0BlImGoEpDt6u4w3;eet,ift;b3dd0Wperfi21rre29;sta27t22;a8e7iff,r4u3;pUr1;a4ict,o3;ng;ig2Vn0N;a1ep,rn;le,rk,te0;e1Si2Vright0;ci1Zft,l3on,re;emn,id;a3el0;ll,rt;e4i3y;g2Mm0Z;ek,nd2T;ck24l0mp1M;a3iRrill,y;dy,l01rp;ve0Jxy;n1Kr3;ce,y;d,fe,int0l1Iv0V;a8e6i5o3ude;mantic,o19sy,u3;gh;pe,t1P;a3d,mo0A;dy,l;gg4iFndom,p3re,w;id;ed;ai2i3;ck,et;hoAink,l9o8r5u3;ny,r3;e,p12;egna2ic4o3;fouSud;ey,k0;liXor;ain,easa2;ny;dd,i0ld,ranL;aive,e5i4o3u15;b0Tisy,rm0Zsy;bb0ce,mb0S;a3r1w;r,t;ad,e5ild,o4u3;nda12te;ist,o1;a4ek,l3;low;s0ty;a8e7i6o3ucky;f0Kn4o15u3ve0w10y0O;d,sy;e0g;ke0l,mp,tt0Fve0;e1Qwd;me,r3te;ge;e4i3;nd;en;ol0ui19;cy,ll,n3;secu6t3;e3ima4;llege2rmedia3;te;re;aAe7i6o5u3;ge,m3ng1C;bZid;me0t;gh,l0;a3fYsita2;dy,rXv3;en0y;nd13ppy,r3;d3sh;!y;aFenEhCiBlAoofy,r3;a8e6i5o3ue0Z;o3ss;vy;m,s0;at,e3y;dy,n;nd,y;ad,ib,ooD;a2d1;a3o3;st0;tEuiS;u1y;aDeebCi9l8o6r5u3;ll,n3r0N;!ny;aDesh,iend0;a3nd,rmE;my;at,ir8;erce4nan3;ciA;! ;le;r,ul3;ty;a6erie,sse4v3xtre0A;il;nti3;al;r4s3;tern,y;ly,th0;appYe8i4u3;mb;r5vi4z3;zy;ne;e,ty;a3ep,n9;d3f,r;!ly;agey,h8l7o5r4u3;dd0r0te;isp,uel;ar3ld,mmon,st0ward0zy;se;evKou1;e3il0;ap,e3;sy;aHiFlCoAr5u3;ff,r0sy;ly;a6i3oad;g4llia2;nt;ht;sh,ve;ld,un3;cy;a4o3ue;nd,o1;ck,nd;g,tt3;er;d,ld,w1;dy;bsu6ng5we3;so3;me;ry;rd","Person|Adj":"true¦brown,du2earnest,frank,mi2r0sa1;a0ich,u1;ndy;sty",Modal:"true¦c5lets,m4ought3sh1w0;ill,o5;a0o4;ll,nt;! to,a;ight,ust;an,o0;uld",Verb:"true¦born,cannot,gonna,has,keep tabs,msg","Person|Verb":"true¦b8ch7dr6foster,gra5ja9lan4ma2ni9ollie,p1rob,s0wade;pike,t5ue;at,eg,ier2;ck,r0;k,shal;ce;ce,nt;ew;ase,u1;iff,l1ob,u0;ck;aze,ossom","Person|Place":"true¦a5darw6h3jordan,k2orlando,s0victo7;a0ydney;lvador,mara,ntiago;ent,obe;amil0ous0;ton;lexand1ust0;in;ria","Person|Date":"true¦a2j0sep;an0une;!uary;p0ugust,v0;ril"};const Ao=36,Io="0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ",No=Io.split("").reduce((function(e,t,n){return e[t]=n,e}),{});var jo=function(e){if(void 0!==No[e])return No[e];let t=0,n=1,r=Ao,a=1;for(;n=0;n--,a*=Ao){let r=e.charCodeAt(n)-48;r>10&&(r-=7),t+=r*a}return t},Eo=function(e){const t=new RegExp("([0-9A-Z]+):([0-9A-Z]+)");for(let n=0;n{let o=e.nodes[r];"!"===o[0]&&(t.push(a),o=o.slice(1));const i=o.split(/([A-Z0-9,]+)/g);for(let o=0;o{const n=t.split("¦");return e[n[0]]=n[1],e}),{}),n={};return Object.keys(t).forEach((function(e){const r=Do(t[e]);"true"===e&&(e=!0);for(let t=0;t{let t=To(Po[e]);Go.test(e)?Object.keys(t).forEach((t=>{if(Lo[t]=e,"Noun|Verb"===e){let e=Vo(t,$o);Lo[e]="Plural|Verb"}})):Object.keys(t).forEach((t=>{zo[t]=e}))})),[":(",":)",":P",":p",":O",";(",";)",";P",";p",";O",":3",":|",":/",":\\",":$",":*",":@",":-(",":-)",":-P",":-p",":-O",":-3",":-|",":-/",":-\\",":-$",":-*",":-@",":^(",":^)",":^P",":^p",":^O",":^3",":^|",":^/",":^\\",":^$",":^*",":^@","):","(:","$:","*:",")-:","(-:","$-:","*-:",")^:","(^:","$^:","*^:","<3","zo[e]="Emoticon")),delete zo[""],delete zo.null,delete zo[" "];const So="Singular";var Mo={beforeTags:{Determiner:So,Possessive:So,Acronym:So,Noun:So,Adjective:So,PresentTense:So,Gerund:So,PastTense:So,Infinitive:So,Date:So,Ordinal:So,Demonym:So},afterTags:{Value:So,Modal:So,Copula:So,PresentTense:So,PastTense:So,Demonym:So,Actor:So},beforeWords:{the:So,with:So,without:So,of:So,for:So,any:So,all:So,on:So,cut:So,cuts:So,increase:So,decrease:So,raise:So,drop:So,save:So,saved:So,saves:So,make:So,makes:So,made:So,minus:So,plus:So,than:So,another:So,versus:So,neither:So,about:So,favorite:So,best:So,daily:So,weekly:So,linear:So,binary:So,mobile:So,lexical:So,technical:So,computer:So,scientific:So,security:So,government:So,popular:So,formal:So,no:So,more:So,one:So,let:So,her:So,his:So,their:So,our:So,us:So},afterWords:{of:So,system:So,aid:So,method:So,utility:So,tool:So,reform:So,therapy:So,philosophy:So,room:So,authority:So,says:So,said:So,wants:So,wanted:So,is:So,did:So,do:So,can:So,wise:So}};const Bo="Infinitive";var Ho={beforeTags:{Modal:Bo,Adverb:Bo,Negative:Bo,Plural:Bo},afterTags:{Determiner:Bo,Adverb:Bo,Possessive:Bo,Reflexive:Bo,Preposition:Bo,Cardinal:Bo,Comparative:Bo,Superlative:Bo},beforeWords:{i:Bo,we:Bo,you:Bo,they:Bo,to:Bo,please:Bo,will:Bo,have:Bo,had:Bo,would:Bo,could:Bo,should:Bo,do:Bo,did:Bo,does:Bo,can:Bo,must:Bo,us:Bo,me:Bo,let:Bo,even:Bo,when:Bo,help:Bo,he:Bo,she:Bo,it:Bo,being:Bo,bi:Bo,co:Bo,contra:Bo,de:Bo,inter:Bo,intra:Bo,mis:Bo,pre:Bo,out:Bo,counter:Bo,nobody:Bo,somebody:Bo,anybody:Bo,everybody:Bo},afterWords:{the:Bo,me:Bo,you:Bo,him:Bo,us:Bo,her:Bo,his:Bo,them:Bo,they:Bo,it:Bo,himself:Bo,herself:Bo,itself:Bo,myself:Bo,ourselves:Bo,themselves:Bo,something:Bo,anything:Bo,a:Bo,an:Bo,up:Bo,down:Bo,by:Bo,out:Bo,off:Bo,under:Bo,what:Bo,all:Bo,to:Bo,because:Bo,although:Bo,after:Bo,before:Bo,how:Bo,otherwise:Bo,together:Bo,though:Bo,into:Bo,yet:Bo,more:Bo,here:Bo,there:Bo,away:Bo}},Jo={beforeTags:Object.assign({},Ho.beforeTags,Mo.beforeTags,{}),afterTags:Object.assign({},Ho.afterTags,Mo.afterTags,{}),beforeWords:Object.assign({},Ho.beforeWords,Mo.beforeWords,{}),afterWords:Object.assign({},Ho.afterWords,Mo.afterWords,{})};const Wo="Adjective";var Ko={beforeTags:{Determiner:Wo,Possessive:Wo,Hyphenated:Wo},afterTags:{Adjective:Wo},beforeWords:{seem:Wo,seemed:Wo,seems:Wo,feel:Wo,feels:Wo,felt:Wo,stay:Wo,appear:Wo,appears:Wo,appeared:Wo,also:Wo,over:Wo,under:Wo,too:Wo,it:Wo,but:Wo,still:Wo,really:Wo,quite:Wo,well:Wo,very:Wo,how:Wo,deeply:Wo,hella:Wo,profoundly:Wo,extremely:Wo,so:Wo,badly:Wo,mostly:Wo,totally:Wo,awfully:Wo,rather:Wo,nothing:Wo,something:Wo,anything:Wo,not:Wo,me:Wo,is:Wo},afterWords:{too:Wo,also:Wo,or:Wo,enough:Wo,about:Wo}};const qo="Gerund";var Uo={beforeTags:{Adverb:qo,Preposition:qo,Conjunction:qo},afterTags:{Adverb:qo,Possessive:qo,Person:qo,Pronoun:qo,Determiner:qo,Copula:qo,Preposition:qo,Conjunction:qo,Comparative:qo},beforeWords:{been:qo,keep:qo,continue:qo,stop:qo,am:qo,be:qo,me:qo,began:qo,start:qo,starts:qo,started:qo,stops:qo,stopped:qo,help:qo,helps:qo,avoid:qo,avoids:qo,love:qo,loves:qo,loved:qo,hate:qo,hates:qo,hated:qo},afterWords:{you:qo,me:qo,her:qo,him:qo,his:qo,them:qo,their:qo,it:qo,this:qo,there:qo,on:qo,about:qo,for:qo,up:qo,down:qo}},Qo={beforeTags:Object.assign({},Ko.beforeTags,Uo.beforeTags,{Imperative:"Gerund",Infinitive:"Adjective",PresentTense:"Gerund",Plural:"Gerund"}),afterTags:Object.assign({},Ko.afterTags,Uo.afterTags,{Singular:"Adjective"}),beforeWords:Object.assign({},Ko.beforeWords,Uo.beforeWords,{is:"Adjective",was:"Adjective",of:"Adjective",suggest:"Gerund",recommend:"Gerund"}),afterWords:Object.assign({},Ko.afterWords,Uo.afterWords,{to:"Gerund",not:"Gerund",the:"Gerund"})};const Ro={beforeTags:{Determiner:void 0,Cardinal:"Noun",PhrasalVerb:"Adjective"},afterTags:{}};var _o={beforeTags:Object.assign({},Ko.beforeTags,Mo.beforeTags,Ro.beforeTags),afterTags:Object.assign({},Ko.afterTags,Mo.afterTags,Ro.afterTags),beforeWords:Object.assign({},Ko.beforeWords,Mo.beforeWords,{are:"Adjective",is:"Adjective",was:"Adjective",be:"Adjective",off:"Adjective",out:"Adjective"}),afterWords:Object.assign({},Ko.afterWords,Mo.afterWords)};let Xo="PastTense";const Zo={beforeTags:{Adverb:Xo,Pronoun:Xo,ProperNoun:Xo,Auxiliary:Xo,Noun:Xo},afterTags:{Possessive:Xo,Pronoun:Xo,Determiner:Xo,Adverb:Xo,Comparative:Xo,Date:Xo,Gerund:Xo},beforeWords:{be:Xo,who:Xo,get:"Adjective",had:Xo,has:Xo,have:Xo,been:Xo,it:Xo,as:Xo,for:"Adjective",more:"Adjective"},afterWords:{by:Xo,back:Xo,out:Xo,in:Xo,up:Xo,down:Xo,before:Xo,after:Xo,for:Xo,the:Xo,with:Xo,as:Xo,on:Xo,at:Xo,between:Xo,to:Xo,into:Xo,us:Xo,them:Xo,his:Xo,her:Xo,their:Xo,our:Xo,me:Xo}};var Yo={beforeTags:Object.assign({},Ko.beforeTags,Zo.beforeTags),afterTags:Object.assign({},Ko.afterTags,Zo.afterTags),beforeWords:Object.assign({},Ko.beforeWords,Zo.beforeWords),afterWords:Object.assign({},Ko.afterWords,Zo.afterWords)};const ei={afterTags:{Noun:"Adjective",Conjunction:void 0}};var ti={beforeTags:Object.assign({},Ko.beforeTags,Ho.beforeTags,{Adverb:void 0,Negative:void 0}),afterTags:Object.assign({},Ko.afterTags,Ho.afterTags,ei.afterTags),beforeWords:Object.assign({},Ko.beforeWords,Ho.beforeWords,{have:void 0,had:void 0,not:void 0,went:"Adjective",goes:"Adjective",got:"Adjective",be:"Adjective"}),afterWords:Object.assign({},Ko.afterWords,Ho.afterWords,{to:void 0,as:"Adjective"})};const ni={Copula:"Gerund",PastTense:"Gerund",PresentTense:"Gerund",Infinitive:"Gerund"},ri={},ai={are:"Gerund",were:"Gerund",be:"Gerund",no:"Gerund",without:"Gerund",you:"Gerund",we:"Gerund",they:"Gerund",he:"Gerund",she:"Gerund",us:"Gerund",them:"Gerund"},oi={the:"Gerund",this:"Gerund",that:"Gerund",me:"Gerund",us:"Gerund",them:"Gerund"};var ii={beforeTags:Object.assign({},Uo.beforeTags,Mo.beforeTags,ni),afterTags:Object.assign({},Uo.afterTags,Mo.afterTags,ri),beforeWords:Object.assign({},Uo.beforeWords,Mo.beforeWords,ai),afterWords:Object.assign({},Uo.afterWords,Mo.afterWords,oi)};const si="Singular",li="Infinitive";var ui={beforeTags:Object.assign({},Ho.beforeTags,Mo.beforeTags,{Adjective:si,Particle:si}),afterTags:Object.assign({},Ho.afterTags,Mo.afterTags,{ProperNoun:li,Gerund:li,Adjective:li,Copula:si}),beforeWords:Object.assign({},Ho.beforeWords,Mo.beforeWords,{is:si,was:si,of:si,have:null}),afterWords:Object.assign({},Ho.afterWords,Mo.afterWords,{instead:li,about:li,his:li,her:li,to:null,by:null,in:null})};const ci="Person";var hi={beforeTags:{Honorific:ci,Person:ci},afterTags:{Person:ci,ProperNoun:ci,Verb:ci},ownTags:{ProperNoun:ci},beforeWords:{hi:ci,hey:ci,yo:ci,dear:ci,hello:ci},afterWords:{said:ci,says:ci,told:ci,tells:ci,feels:ci,felt:ci,seems:ci,thinks:ci,thought:ci,spends:ci,spendt:ci,plays:ci,played:ci,sing:ci,sang:ci,learn:ci,learned:ci,wants:ci,wanted:ci}};const di="Month",gi={beforeTags:{Date:di,Value:di},afterTags:{Date:di,Value:di},beforeWords:{by:di,in:di,on:di,during:di,after:di,before:di,between:di,until:di,til:di,sometime:di,of:di,this:di,next:di,last:di,previous:di,following:di,with:"Person"},afterWords:{sometime:di,in:di,of:di,until:di,the:di}};var mi={beforeTags:Object.assign({},hi.beforeTags,gi.beforeTags),afterTags:Object.assign({},hi.afterTags,gi.afterTags),beforeWords:Object.assign({},hi.beforeWords,gi.beforeWords),afterWords:Object.assign({},hi.afterWords,gi.afterWords)};const pi="Place",fi={beforeTags:{Place:pi},afterTags:{Place:pi,Abbreviation:pi},beforeWords:{in:pi,by:pi,near:pi,from:pi,to:pi},afterWords:{in:pi,by:pi,near:pi,from:pi,to:pi,government:pi,council:pi,region:pi,city:pi}};let vi="Unit";const bi={"Actor|Verb":Jo,"Adj|Gerund":Qo,"Adj|Noun":_o,"Adj|Past":Yo,"Adj|Present":ti,"Noun|Verb":ui,"Noun|Gerund":ii,"Person|Noun":{beforeTags:Object.assign({},Mo.beforeTags,hi.beforeTags),afterTags:Object.assign({},Mo.afterTags,hi.afterTags),beforeWords:Object.assign({},Mo.beforeWords,hi.beforeWords,{i:"Infinitive",we:"Infinitive"}),afterWords:Object.assign({},Mo.afterWords,hi.afterWords)},"Person|Date":mi,"Person|Verb":{beforeTags:Object.assign({},Mo.beforeTags,hi.beforeTags,Ho.beforeTags),afterTags:Object.assign({},Mo.afterTags,hi.afterTags,Ho.afterTags),beforeWords:Object.assign({},Mo.beforeWords,hi.beforeWords,Ho.beforeWords),afterWords:Object.assign({},Mo.afterWords,hi.afterWords,Ho.afterWords)},"Person|Place":{beforeTags:Object.assign({},fi.beforeTags,hi.beforeTags),afterTags:Object.assign({},fi.afterTags,hi.afterTags),beforeWords:Object.assign({},fi.beforeWords,hi.beforeWords),afterWords:Object.assign({},fi.afterWords,hi.afterWords)},"Person|Adj":{beforeTags:Object.assign({},hi.beforeTags,Ko.beforeTags),afterTags:Object.assign({},hi.afterTags,Ko.afterTags),beforeWords:Object.assign({},hi.beforeWords,Ko.beforeWords),afterWords:Object.assign({},hi.afterWords,Ko.afterWords)},"Unit|Noun":{beforeTags:{Value:vi},afterTags:{},beforeWords:{per:vi,every:vi,each:vi,square:vi,cubic:vi,sq:vi,metric:vi},afterWords:{per:vi,squared:vi,cubed:vi,long:vi}}},yi=(e,t)=>{let n=Object.keys(e).reduce(((t,n)=>(t[n]="Infinitive"===e[n]?"PresentTense":"Plural",t)),{});return Object.assign(n,t)};bi["Plural|Verb"]={beforeWords:yi(bi["Noun|Verb"].beforeWords,{had:"Plural",have:"Plural"}),afterWords:yi(bi["Noun|Verb"].afterWords,{his:"PresentTense",her:"PresentTense",its:"PresentTense",in:null,to:null,is:"PresentTense",by:"PresentTense"}),beforeTags:yi(bi["Noun|Verb"].beforeTags,{Conjunction:"PresentTense",Noun:void 0,ProperNoun:"PresentTense"}),afterTags:yi(bi["Noun|Verb"].afterTags,{Gerund:"Plural",Noun:"PresentTense",Value:"PresentTense"})};var wi=bi;const ki="Adjective",Pi="Infinitive",Ai="PresentTense",Ii="Singular",Ni="PastTense",ji="Adverb",Ei="Plural",xi="Actor",Di="Verb",Ti="Noun",Ci="LastName",Oi="Modal",Fi="Place",Vi="Participle";var Gi=[null,null,{ea:Ii,ia:Ti,ic:ki,ly:ji,"'n":Di,"'t":Di},{oed:Ni,ued:Ni,xed:Ni," so":ji,"'ll":Oi,"'re":"Copula",azy:ki,eer:Ti,end:Di,ped:Ni,ffy:ki,ify:Pi,ing:"Gerund",ize:Pi,ibe:Pi,lar:ki,mum:ki,nes:Ai,nny:ki,ous:ki,que:ki,ger:Ti,ber:Ti,rol:Ii,sis:Ii,ogy:Ii,oid:Ii,ian:Ii,zes:Ai,eld:Ni,ken:Vi,ven:Vi,ten:Vi,ect:Pi,ict:Pi,ign:Pi,oze:Pi,ful:ki,bal:ki,ton:Ti},{amed:Ni,aped:Ni,ched:Ni,lked:Ni,rked:Ni,reed:Ni,nded:Ni,mned:ki,cted:Ni,dged:Ni,ield:Ii,akis:Ci,cede:Pi,chuk:Ci,czyk:Ci,ects:Ai,iend:Ii,ends:Di,enko:Ci,ette:Ii,iary:Ii,wner:Ii,fies:Ai,fore:ji,gate:Pi,gone:ki,ices:Ei,ints:Ei,ruct:Pi,ines:Ei,ions:Ei,ners:Ei,pers:Ei,lers:Ei,less:ki,llen:ki,made:ki,nsen:Ci,oses:Ai,ould:Oi,some:ki,sson:Ci,ians:Ei,tion:Ii,tage:Ti,ique:Ii,tive:ki,tors:Ti,vice:Ii,lier:Ii,fier:Ii,wned:Ni,gent:Ii,tist:xi,pist:xi,rist:xi,mist:xi,yist:xi,vist:xi,ists:xi,lite:Ii,site:Ii,rite:Ii,mite:Ii,bite:Ii,mate:Ii,date:Ii,ndal:Ii,vent:Ii,uist:xi,gist:xi,note:Ii,cide:Ii,ence:Ii,wide:ki,vide:Pi,ract:Pi,duce:Pi,pose:Pi,eive:Pi,lyze:Pi,lyse:Pi,iant:ki,nary:ki,ghty:ki,uent:ki,erer:xi,bury:Fi,dorf:Ti,esty:Ti,wych:Fi,dale:Fi,folk:Fi},{elist:xi,holic:Ii,phite:Ii,tized:Ni,urned:Ni,eased:Ni,ances:Ei,bound:ki,ettes:Ei,fully:ji,ishes:Ai,ities:Ei,marek:Ci,nssen:Ci,ology:Ti,osome:Ii,tment:Ii,ports:Ei,rough:ki,tches:Ai,tieth:"Ordinal",tures:Ei,wards:ji,where:ji,archy:Ti,pathy:Ti,opoly:Ti,embly:Ti,phate:Ti,ndent:Ii,scent:Ii,onist:xi,anist:xi,alist:xi,olist:xi,icist:xi,ounce:Pi,iable:ki,borne:ki,gnant:ki,inant:ki,igent:ki,atory:ki,rient:Ii,dient:Ii,maker:xi,burgh:Fi,mouth:Fi,ceter:Fi,ville:Fi,worth:Ti},{auskas:Ci,parent:Ii,cedent:Ii,ionary:Ii,cklist:Ii,keeper:xi,logist:xi,teenth:"Value",worker:xi,master:xi,writer:xi,brough:Fi,cester:Fi},{logists:xi,opoulos:Ci,borough:Fi,sdottir:Ci}];const zi="Adjective",Li="Noun",$i="Verb";var Si=[null,null,{},{neo:Li,bio:Li,"de-":$i,"re-":$i,"un-":$i,"ex-":Li},{anti:Li,auto:Li,faux:zi,hexa:Li,kilo:Li,mono:Li,nano:Li,octa:Li,poly:Li,semi:zi,tele:Li,"pro-":zi,"mis-":$i,"dis-":$i,"pre-":zi},{anglo:Li,centi:Li,ethno:Li,ferro:Li,grand:Li,hepta:Li,hydro:Li,intro:Li,macro:Li,micro:Li,milli:Li,nitro:Li,penta:Li,quasi:zi,radio:Li,tetra:Li,"omni-":zi,"post-":zi},{pseudo:zi,"extra-":zi,"hyper-":zi,"inter-":zi,"intra-":zi,"deca-":zi},{electro:Li}];const Mi="Adjective",Bi="Infinitive",Hi="PresentTense",Ji="Singular",Wi="PastTense",Ki="Adverb",qi="Expression",Ui="Actor",Qi="Verb",Ri="Noun",_i="LastName";var Xi={a:[[/.[aeiou]na$/,Ri,"tuna"],[/.[oau][wvl]ska$/,_i],[/.[^aeiou]ica$/,Ji,"harmonica"],[/^([hyj]a+)+$/,qi,"haha"]],c:[[/.[^aeiou]ic$/,Mi]],d:[[/[aeiou](pp|ll|ss|ff|gg|tt|rr|bb|nn|mm)ed$/,Wi,"popped"],[/.[aeo]{2}[bdgmnprvz]ed$/,Wi,"rammed"],[/.[aeiou][sg]hed$/,Wi,"gushed"],[/.[aeiou]red$/,Wi,"hired"],[/.[aeiou]r?ried$/,Wi,"hurried"],[/[^aeiou]ard$/,Ji,"steward"],[/[aeiou][^aeiou]id$/,Mi,""],[/.[vrl]id$/,Mi,"livid"],[/..led$/,Wi,"hurled"],[/.[iao]sed$/,Wi,""],[/[aeiou]n?[cs]ed$/,Wi,""],[/[aeiou][rl]?[mnf]ed$/,Wi,""],[/[aeiou][ns]?c?ked$/,Wi,"bunked"],[/[aeiou]gned$/,Wi],[/[aeiou][nl]?ged$/,Wi],[/.[tdbwxyz]ed$/,Wi],[/[^aeiou][aeiou][tvx]ed$/,Wi],[/.[cdflmnprstv]ied$/,Wi,"emptied"]],e:[[/.[lnr]ize$/,Bi,"antagonize"],[/.[^aeiou]ise$/,Bi,"antagonise"],[/.[aeiou]te$/,Bi,"bite"],[/.[^aeiou][ai]ble$/,Mi,"fixable"],[/.[^aeiou]eable$/,Mi,"maleable"],[/.[ts]ive$/,Mi,"festive"],[/[a-z]-like$/,Mi,"woman-like"]],h:[[/.[^aeiouf]ish$/,Mi,"cornish"],[/.v[iy]ch$/,_i,"..ovich"],[/^ug?h+$/,qi,"ughh"],[/^uh[ -]?oh$/,qi,"uhoh"],[/[a-z]-ish$/,Mi,"cartoon-ish"]],i:[[/.[oau][wvl]ski$/,_i,"polish-male"]],k:[[/^(k){2}$/,qi,"kkkk"]],l:[[/.[gl]ial$/,Mi,"familial"],[/.[^aeiou]ful$/,Mi,"fitful"],[/.[nrtumcd]al$/,Mi,"natal"],[/.[^aeiou][ei]al$/,Mi,"familial"]],m:[[/.[^aeiou]ium$/,Ji,"magnesium"],[/[^aeiou]ism$/,Ji,"schism"],[/^[hu]m+$/,qi,"hmm"],[/^\d+ ?[ap]m$/,"Date","3am"]],n:[[/.[lsrnpb]ian$/,Mi,"republican"],[/[^aeiou]ician$/,Ui,"musician"],[/[aeiou][ktrp]in'$/,"Gerund","cookin'"]],o:[[/^no+$/,qi,"noooo"],[/^(yo)+$/,qi,"yoo"],[/^wo{2,}[pt]?$/,qi,"woop"]],r:[[/.[bdfklmst]ler$/,"Noun"],[/[aeiou][pns]er$/,Ji],[/[^i]fer$/,Bi],[/.[^aeiou][ao]pher$/,Ui],[/.[lk]er$/,"Noun"],[/.ier$/,"Comparative"]],t:[[/.[di]est$/,"Superlative"],[/.[icldtgrv]ent$/,Mi],[/[aeiou].*ist$/,Mi],[/^[a-z]et$/,Qi]],s:[[/.[^aeiou]ises$/,Hi],[/.[rln]ates$/,Hi],[/.[^z]ens$/,Qi],[/.[lstrn]us$/,Ji],[/.[aeiou]sks$/,Hi],[/.[aeiou]kes$/,Hi],[/[aeiou][^aeiou]is$/,Ji],[/[a-z]'s$/,Ri],[/^yes+$/,qi]],v:[[/.[^aeiou][ai][kln]ov$/,_i]],y:[[/.[cts]hy$/,Mi],[/.[st]ty$/,Mi],[/.[tnl]ary$/,Mi],[/.[oe]ry$/,Ji],[/[rdntkbhs]ly$/,Ki],[/.(gg|bb|zz)ly$/,Mi],[/...lly$/,Ki],[/.[gk]y$/,Mi],[/[bszmp]{2}y$/,Mi],[/.[ai]my$/,Mi],[/[ea]{2}zy$/,Mi],[/.[^aeiou]ity$/,Ji]]};const Zi="Verb",Yi="Noun";var es={leftTags:[["Adjective",Yi],["Possessive",Yi],["Determiner",Yi],["Adverb",Zi],["Pronoun",Zi],["Value",Yi],["Ordinal",Yi],["Modal",Zi],["Superlative",Yi],["Demonym",Yi],["Honorific","Person"]],leftWords:[["i",Zi],["first",Yi],["it",Zi],["there",Zi],["not",Zi],["because",Yi],["if",Yi],["but",Yi],["who",Zi],["this",Yi],["his",Yi],["when",Yi],["you",Zi],["very","Adjective"],["old",Yi],["never",Zi],["before",Yi],["a",Yi],["the",Yi],["been",Zi]],rightTags:[["Copula",Yi],["PastTense",Yi],["Conjunction",Yi],["Modal",Yi]],rightWords:[["there",Zi],["me",Zi],["man","Adjective"],["him",Zi],["it",Zi],["were",Yi],["took",Yi],["himself",Zi],["went",Yi],["who",Yi],["jr","Person"]]},ts={fwd:"3:ser,ier¦1er:h,t,f,l,n¦1r:e¦2er:ss,or,om",both:"3er:ver,ear,alm¦3ner:hin¦3ter:lat¦2mer:im¦2er:ng,rm,mb¦2ber:ib¦2ger:ig¦1er:w,p,k,d¦ier:y",rev:"1:tter,yer¦2:uer,ver,ffer,oner,eler,ller,iler,ster,cer,uler,sher,ener,gher,aner,adder,nter,eter,rter,hter,rner,fter¦3:oser,ooler,eafer,user,airer,bler,maler,tler,eater,uger,rger,ainer,urer,ealer,icher,pler,emner,icter,nser,iser¦4:arser,viner,ucher,rosser,somer,ndomer,moter,oother,uarer,hiter¦5:nuiner,esser,emier¦ar:urther",ex:"worse:bad¦better:good¦4er:fair,gray,poor¦1urther:far¦3ter:fat,hot,wet¦3er:lay,shy,fun¦3der:mad,sad¦4der:glad¦:¦4r:cute,dire,fake,fine,free,lame,late,pale,rare,ripe,rude,safe,sore,tame,wide¦5r:eerie,stale"},ns={fwd:"1:nning,tting,rring,pping,eing,mming,gging,dding,bbing,kking¦2:eking,oling,eling,eming¦3:velling,siting,uiting,fiting,loting,geting,ialing,celling¦4:graming",both:"1:aing,iing,fing,xing,ying,oing,hing,wing¦2:tzing,rping,izzing,bting,mning,sping,wling,rling,wding,rbing,uping,lming,wning,mping,oning,lting,mbing,lking,fting,hting,sking,gning,pting,cking,ening,nking,iling,eping,ering,rting,rming,cting,lping,ssing,nting,nding,lding,sting,rning,rding,rking¦3:belling,siping,toming,yaking,uaking,oaning,auling,ooping,aiding,naping,euring,tolling,uzzing,ganing,haning,ualing,halling,iasing,auding,ieting,ceting,ouling,voring,ralling,garing,joring,oaming,oaking,roring,nelling,ooring,uelling,eaming,ooding,eaping,eeting,ooting,ooming,xiting,keting,ooking,ulling,airing,oaring,biting,outing,oiting,earing,naling,oading,eeding,ouring,eaking,aiming,illing,oining,eaning,onging,ealing,aining,eading¦4:thoming,melling,aboring,ivoting,weating,dfilling,onoring,eriting,imiting,tialling,rgining,otoring,linging,winging,lleting,louding,spelling,mpelling,heating,feating,opelling,choring,welling,ymaking,ctoring,calling,peating,iloring,laiting,utoring,uditing,mmaking,loating,iciting,waiting,mbating,voiding,otalling,nsoring,nselling,ocusing,itoring,eloping¦5:rselling,umpeting,atrolling,treating,tselling,rpreting,pringing,ummeting,ossoming,elmaking,eselling,rediting,totyping,onmaking,rfeiting,ntrolling¦5e:chmaking,dkeeping,severing,erouting,ecreting,ephoning,uthoring,ravening,reathing,pediting,erfering,eotyping,fringing,entoring,ombining,ompeting¦4e:emaking,eething,twining,rruling,chuting,xciting,rseding,scoping,edoring,pinging,lunging,agining,craping,pleting,eleting,nciting,nfining,ncoding,tponing,ecoding,writing,esaling,nvening,gnoring,evoting,mpeding,rvening,dhering,mpiling,storing,nviting,ploring¦3e:tining,nuring,saking,miring,haling,ceding,xuding,rining,nuting,laring,caring,miling,riding,hoking,piring,lading,curing,uading,noting,taping,futing,paring,hading,loding,siring,guring,vading,voking,during,niting,laning,caping,luting,muting,ruding,ciding,juring,laming,caling,hining,uoting,liding,ciling,duling,tuting,puting,cuting,coring,uiding,tiring,turing,siding,rading,enging,haping,buting,lining,taking,anging,haring,uiring,coming,mining,moting,suring,viding,luding¦2e:tring,zling,uging,oging,gling,iging,vring,fling,lging,obing,psing,pling,ubing,cling,dling,wsing,iking,rsing,dging,kling,ysing,tling,rging,eging,nsing,uning,osing,uming,using,ibing,bling,aging,ising,asing,ating¦2ie:rlying¦1e:zing,uing,cing,ving",rev:"ying:ie¦1ing:se,ke,te,we,ne,re,de,pe,me,le,c,he¦2ing:ll,ng,dd,ee,ye,oe,rg,us¦2ning:un¦2ging:og,ag,ug,ig,eg¦2ming:um¦2bing:ub,ab,eb,ob¦3ning:lan,can,hin,pin,win¦3ring:cur,lur,tir,tar,pur,car¦3ing:ait,del,eel,fin,eat,oat,eem,lel,ool,ein,uin¦3ping:rop,rap,top,uip,wap,hip,hop,lap,rip,cap¦3ming:tem,wim,rim,kim,lim¦3ting:mat,cut,pot,lit,lot,hat,set,pit,put¦3ding:hed,bed,bid¦3king:rek¦3ling:cil,pel¦3bing:rib¦4ning:egin¦4ing:isit,ruit,ilot,nsit,dget,rkel,ival,rcel¦4ring:efer,nfer¦4ting:rmit,mmit,ysit,dmit,emit,bmit,tfit,gret¦4ling:evel,xcel,ivel¦4ding:hred¦5ing:arget,posit,rofit¦5ring:nsfer¦5ting:nsmit,orget,cquit¦5ling:ancel,istil",ex:"3:adding,eating,aiming,aiding,airing,outing,gassing,setting,getting,putting,cutting,winning,sitting,betting,mapping,tapping,letting,bidding,hitting,tanning,netting,popping,fitting,capping,lapping,barring,banning,vetting,topping,rotting,tipping,potting,wetting,pitting,dipping,budding,hemming,pinning,jetting,kidding,padding,podding,sipping,wedding,bedding,donning,warring,penning,gutting,cueing,wadding,petting,ripping,napping,matting,tinning,binning,dimming,hopping,mopping,nodding,panning,rapping,ridding,sinning¦4:selling,falling,calling,waiting,editing,telling,rolling,heating,boating,hanging,beating,coating,singing,tolling,felling,polling,discing,seating,voiding,gelling,yelling,baiting,reining,ruining,seeking,spanning,stepping,knitting,emitting,slipping,quitting,dialing,omitting,clipping,shutting,skinning,abutting,flipping,trotting,cramming,fretting,suiting¦5:bringing,treating,spelling,stalling,trolling,expelling,rivaling,wringing,deterring,singeing,befitting,refitting¦6:enrolling,distilling,scrolling,strolling,caucusing,travelling¦7:installing,redefining,stencilling,recharging,overeating,benefiting,unraveling,programing¦9:reprogramming¦is:being¦2e:using,aging,owing¦3e:making,taking,coming,noting,hiring,filing,coding,citing,doping,baking,coping,hoping,lading,caring,naming,voting,riding,mining,curing,lining,ruling,typing,boring,dining,firing,hiding,piling,taping,waning,baling,boning,faring,honing,wiping,luring,timing,wading,piping,fading,biting,zoning,daring,waking,gaming,raking,ceding,tiring,coking,wining,joking,paring,gaping,poking,pining,coring,liming,toting,roping,wiring,aching¦4e:writing,storing,eroding,framing,smoking,tasting,wasting,phoning,shaking,abiding,braking,flaking,pasting,priming,shoring,sloping,withing,hinging¦5e:defining,refining,renaming,swathing,fringing,reciting¦1ie:dying,tying,lying,vying¦7e:sunbathing"},rs={fwd:"1:mt¦2:llen¦3:iven,aken¦:ne¦y:in",both:"1:wn¦2:me,aten¦3:seen,bidden,isen¦4:roven,asten¦3l:pilt¦3d:uilt¦2e:itten¦1im:wum¦1eak:poken¦1ine:hone¦1ose:osen¦1in:gun¦1ake:woken¦ear:orn¦eal:olen¦eeze:ozen¦et:otten¦ink:unk¦ing:ung",rev:"2:un¦oken:eak¦ought:eek¦oven:eave¦1ne:o¦1own:ly¦1den:de¦1in:ay¦2t:am¦2n:ee¦3en:all¦4n:rive,sake,take¦5n:rgive",ex:"2:been¦3:seen,run¦4:given,taken¦5:shaken¦2eak:broken¦1ive:dove¦2y:flown¦3e:hidden,ridden¦1eek:sought¦1ake:woken¦1eave:woven"},as={fwd:"1:oes¦1ve:as",both:"1:xes¦2:zzes,ches,shes,sses¦3:iases¦2y:llies,plies¦1y:cies,bies,ties,vies,nies,pies,dies,ries,fies¦:s",rev:"1ies:ly¦2es:us,go,do¦3es:cho,eto",ex:"2:does,goes¦3:gasses¦5:focuses¦is:are¦3y:relies¦2y:flies¦2ve:has"},os={fwd:"1st:e¦1est:l,m,f,s¦1iest:cey¦2est:or,ir¦3est:ver",both:"4:east¦5:hwest¦5lest:erful¦4est:weet,lgar,tter,oung¦4most:uter¦3est:ger,der,rey,iet,ong,ear¦3test:lat¦3most:ner¦2est:pt,ft,nt,ct,rt,ht¦2test:it¦2gest:ig¦1est:b,k,n,p,h,d,w¦iest:y",rev:"1:ttest,nnest,yest¦2:sest,stest,rmest,cest,vest,lmest,olest,ilest,ulest,ssest,imest,uest¦3:rgest,eatest,oorest,plest,allest,urest,iefest,uelest,blest,ugest,amest,yalest,ealest,illest,tlest,itest¦4:cerest,eriest,somest,rmalest,ndomest,motest,uarest,tiffest¦5:leverest,rangest¦ar:urthest¦3ey:riciest",ex:"best:good¦worst:bad¦5est:great¦4est:fast,full,fair,dull¦3test:hot,wet,fat¦4nest:thin¦1urthest:far¦3est:gay,shy,ill¦4test:neat¦4st:late,wide,fine,safe,cute,fake,pale,rare,rude,sore,ripe,dire¦6st:severe"},is={fwd:"1:tistic,eable,lful,sful,ting,tty¦2:onate,rtable,geous,ced,seful,ctful¦3:ortive,ented¦arity:ear¦y:etic¦fulness:begone¦1ity:re¦1y:tiful,gic¦2ity:ile,imous,ilous,ime¦2ion:ated¦2eness:iving¦2y:trious¦2ation:iring¦2tion:vant¦3ion:ect¦3ce:mant,mantic¦3tion:irable¦3y:est,estic¦3m:mistic,listic¦3ess:ning¦4n:utious¦4on:rative,native,vative,ective¦4ce:erant",both:"1:king,wing¦2:alous,ltuous,oyful,rdous¦3:gorous,ectable,werful,amatic¦4:oised,usical,agical,raceful,ocused,lined,ightful¦5ness:stful,lding,itous,nuous,ulous,otous,nable,gious,ayful,rvous,ntous,lsive,peful,entle,ciful,osive,leful,isive,ncise,reful,mious¦5ty:ivacious¦5ties:ubtle¦5ce:ilient,adiant,atient¦5cy:icient¦5sm:gmatic¦5on:sessive,dictive¦5ity:pular,sonal,eative,entic¦5sity:uminous¦5ism:conic¦5nce:mperate¦5ility:mitable¦5ment:xcited¦5n:bitious¦4cy:brant,etent,curate¦4ility:erable,acable,icable,ptable¦4ty:nacious,aive,oyal,dacious¦4n:icious¦4ce:vient,erent,stent,ndent,dient,quent,ident¦4ness:adic,ound,hing,pant,sant,oing,oist,tute¦4icity:imple¦4ment:fined,mused¦4ism:otic¦4ry:dantic¦4ity:tund,eral¦4edness:hand¦4on:uitive¦4lity:pitable¦4sm:eroic,namic¦4sity:nerous¦3th:arm¦3ility:pable,bable,dable,iable¦3cy:hant,nant,icate¦3ness:red,hin,nse,ict,iet,ite,oud,ind,ied,rce¦3ion:lute¦3ity:ual,gal,volous,ial¦3ce:sent,fensive,lant,gant,gent,lent,dant¦3on:asive¦3m:fist,sistic,iastic¦3y:terious,xurious,ronic,tastic¦3ur:amorous¦3e:tunate¦3ation:mined¦3sy:rteous¦3ty:ain¦3ry:ave¦3ment:azed¦2ness:de,on,ue,rn,ur,ft,rp,pe,om,ge,rd,od,ay,ss,er,ll,oy,ap,ht,ld,ad,rt¦2inousness:umous¦2ity:neous,ene,id,ane¦2cy:bate,late¦2ation:ized¦2ility:oble,ible¦2y:odic¦2e:oving,aring¦2s:ost¦2itude:pt¦2dom:ee¦2ance:uring¦2tion:reet¦2ion:oted¦2sion:ending¦2liness:an¦2or:rdent¦1th:ung¦1e:uable¦1ness:w,h,k,f¦1ility:mble¦1or:vent¦1ement:ging¦1tiquity:ncient¦1ment:hed¦verty:or¦ength:ong¦eat:ot¦pth:ep¦iness:y",rev:"",ex:"5:forceful,humorous¦8:charismatic¦13:understanding¦5ity:active¦11ness:adventurous,inquisitive,resourceful¦8on:aggressive,automatic,perceptive¦7ness:amorous,fatuous,furtive,ominous,serious¦5ness:ample,sweet¦12ness:apprehensive,cantankerous,contemptuous,ostentatious¦13ness:argumentative,conscientious¦9ness:assertive,facetious,imperious,inventive,oblivious,rapacious,receptive,seditious,whimsical¦10ness:attractive,expressive,impressive,loquacious,salubrious,thoughtful¦3edom:boring¦4ness:calm,fast,keen,tame¦8ness:cheerful,gracious,specious,spurious,timorous,unctuous¦5sity:curious¦9ion:deliberate¦8ion:desperate¦6e:expensive¦7ce:fragrant¦3y:furious¦9ility:ineluctable¦6ism:mystical¦8ity:physical,proactive,sensitive,vertical¦5cy:pliant¦7ity:positive¦9ity:practical¦12ism:professional¦6ce:prudent¦3ness:red¦6cy:vagrant¦3dom:wise"},ss=function(e="",t={}){let n=function(e,t={}){return t.hasOwnProperty(e)?t[e]:null}(e,t.ex);return n=n||function(e,t=[]){for(let n=0;n=1;r-=1){let a=e.length-r,o=e.substring(a,e.length);if(!0===t.hasOwnProperty(o))return e.slice(0,a)+t[o];if(!0===n.hasOwnProperty(o))return e.slice(0,a)+n[o]}return t.hasOwnProperty("")?e+t[""]:n.hasOwnProperty("")?e+n[""]:null}(e,t.fwd,t.both),n=n||e,n};const ls=function(e){return Object.entries(e).reduce(((e,t)=>(e[t[1]]=t[0],e)),{})};var us=function(e={}){return{reversed:!0,both:ls(e.both),ex:ls(e.ex),fwd:e.rev||{}}};const cs=/^([0-9]+)/,hs=function(e){let t=function(e){let t={};return e.split("¦").forEach((e=>{let[n,r]=e.split(":");r=(r||"").split(","),r.forEach((e=>{t[e]=n}))})),t}(e);return Object.keys(t).reduce(((e,n)=>(e[n]=function(e="",t=""){let n=(t=String(t)).match(cs);if(null===n)return t;let r=Number(n[1])||0;return e.substring(0,r)+t.replace(cs,"")}(n,t[n]),e)),{})};var ds=function(e={}){return"string"==typeof e&&(e=JSON.parse(e)),e.fwd=hs(e.fwd||""),e.both=hs(e.both||""),e.rev=hs(e.rev||""),e.ex=hs(e.ex||""),e};const gs=ds({fwd:"1:tted,wed,gged,nned,een,rred,pped,yed,bbed,oed,dded,rd,wn,mmed¦2:eed,nded,et,hted,st,oled,ut,emed,eled,lded,ken,rt,nked,apt,ant,eped,eked¦3:eared,eat,eaded,nelled,ealt,eeded,ooted,eaked,eaned,eeted,mited,bid,uit,ead,uited,ealed,geted,velled,ialed,belled¦4:ebuted,hined,comed¦y:ied¦ome:ame¦ear:ore¦ind:ound¦ing:ung,ang¦ep:pt¦ink:ank,unk¦ig:ug¦all:ell¦ee:aw¦ive:ave¦eeze:oze¦old:eld¦ave:ft¦ake:ook¦ell:old¦ite:ote¦ide:ode¦ine:one¦in:un,on¦eal:ole¦im:am¦ie:ay¦and:ood¦1ise:rose¦1eak:roke¦1ing:rought¦1ive:rove¦1el:elt¦1id:bade¦1et:got¦1y:aid¦1it:sat¦3e:lid¦3d:pent",both:"1:aed,fed,xed,hed¦2:sged,xted,wled,rped,lked,kied,lmed,lped,uped,bted,rbed,rked,wned,rled,mped,fted,mned,mbed,zzed,omed,ened,cked,gned,lted,sked,ued,zed,nted,ered,rted,rmed,ced,sted,rned,ssed,rded,pted,ved,cted¦3:cled,eined,siped,ooned,uked,ymed,jored,ouded,ioted,oaned,lged,asped,iged,mured,oided,eiled,yped,taled,moned,yled,lit,kled,oaked,gled,naled,fled,uined,oared,valled,koned,soned,aided,obed,ibed,meted,nicked,rored,micked,keted,vred,ooped,oaded,rited,aired,auled,filled,ouled,ooded,ceted,tolled,oited,bited,aped,tled,vored,dled,eamed,nsed,rsed,sited,owded,pled,sored,rged,osed,pelled,oured,psed,oated,loned,aimed,illed,eured,tred,ioned,celled,bled,wsed,ooked,oiled,itzed,iked,iased,onged,ased,ailed,uned,umed,ained,auded,nulled,ysed,eged,ised,aged,oined,ated,used,dged,doned¦4:ntied,efited,uaked,caded,fired,roped,halled,roked,himed,culed,tared,lared,tuted,uared,routed,pited,naked,miled,houted,helled,hared,cored,caled,tired,peated,futed,ciled,called,tined,moted,filed,sided,poned,iloted,honed,lleted,huted,ruled,cured,named,preted,vaded,sured,talled,haled,peded,gined,nited,uided,ramed,feited,laked,gured,ctored,unged,pired,cuted,voked,eloped,ralled,rined,coded,icited,vided,uaded,voted,mined,sired,noted,lined,nselled,luted,jured,fided,puted,piled,pared,olored,cided,hoked,enged,tured,geoned,cotted,lamed,uiled,waited,udited,anged,luded,mired,uired,raded¦5:modelled,izzled,eleted,umpeted,ailored,rseded,treated,eduled,ecited,rammed,eceded,atrolled,nitored,basted,twined,itialled,ncited,gnored,ploded,xcited,nrolled,namelled,plored,efeated,redited,ntrolled,nfined,pleted,llided,lcined,eathed,ibuted,lloted,dhered,cceded¦3ad:sled¦2aw:drew¦2ot:hot¦2ke:made¦2ow:hrew,grew¦2ose:hose¦2d:ilt¦2in:egan¦1un:ran¦1ink:hought¦1ick:tuck¦1ike:ruck¦1eak:poke,nuck¦1it:pat¦1o:did¦1ow:new¦1ake:woke¦go:went",rev:"3:rst,hed,hut,cut,set¦4:tbid¦5:dcast,eread,pread,erbid¦ought:uy,eek¦1ied:ny,ly,dy,ry,fy,py,vy,by,ty,cy¦1ung:ling,ting,wing¦1pt:eep¦1ank:rink¦1ore:bear,wear¦1ave:give¦1oze:reeze¦1ound:rind,wind¦1ook:take,hake¦1aw:see¦1old:sell¦1ote:rite¦1ole:teal¦1unk:tink¦1am:wim¦1ay:lie¦1ood:tand¦1eld:hold¦2d:he,ge,re,le,leed,ne,reed,be,ye,lee,pe,we¦2ed:dd,oy,or,ey,gg,rr,us,ew,to¦2ame:ecome,rcome¦2ped:ap¦2ged:ag,og,ug,eg¦2bed:ub,ab,ib,ob¦2lt:neel¦2id:pay¦2ang:pring¦2ove:trive¦2med:um¦2ode:rride¦2at:ysit¦3ted:mit,hat,mat,lat,pot,rot,bat¦3ed:low,end,tow,und,ond,eem,lay,cho,dow,xit,eld,ald,uld,law,lel,eat,oll,ray,ank,fin,oam,out,how,iek,tay,haw,ait,vet,say,cay,bow¦3d:ste,ede,ode,ete,ree,ude,ame,oke,ote,ime,ute,ade¦3red:lur,cur,pur,car¦3ped:hop,rop,uip,rip,lip,tep,top¦3ded:bed,rod,kid¦3ade:orbid¦3led:uel¦3ned:lan,can,kin,pan,tun¦3med:rim,lim¦4ted:quit,llot¦4ed:pear,rrow,rand,lean,mand,anel,pand,reet,link,abel,evel,imit,ceed,ruit,mind,peal,veal,hool,head,pell,well,mell,uell,band,hear,weak¦4led:nnel,qual,ebel,ivel¦4red:nfer,efer,sfer¦4n:sake,trew¦4d:ntee¦4ded:hred¦4ned:rpin¦5ed:light,nceal,right,ndear,arget,hread,eight,rtial,eboot¦5d:edite,nvite¦5ted:egret¦5led:ravel",ex:"2:been,upped¦3:added,aged,aided,aimed,aired,bid,died,dyed,egged,erred,eyed,fit,gassed,hit,lied,owed,pent,pied,tied,used,vied,oiled,outed,banned,barred,bet,canned,cut,dipped,donned,ended,feed,inked,jarred,let,manned,mowed,netted,padded,panned,pitted,popped,potted,put,set,sewn,sowed,tanned,tipped,topped,vowed,weed,bowed,jammed,binned,dimmed,hopped,mopped,nodded,pinned,rigged,sinned,towed,vetted¦4:ached,baked,baled,boned,bored,called,caned,cared,ceded,cited,coded,cored,cubed,cured,dared,dined,edited,exited,faked,fared,filed,fined,fired,fuelled,gamed,gelled,hired,hoped,joked,lined,mined,named,noted,piled,poked,polled,pored,pulled,reaped,roamed,rolled,ruled,seated,shed,sided,timed,tolled,toned,voted,waited,walled,waned,winged,wiped,wired,zoned,yelled,tamed,lubed,roped,faded,mired,caked,honed,banged,culled,heated,raked,welled,banded,beat,cast,cooled,cost,dealt,feared,folded,footed,handed,headed,heard,hurt,knitted,landed,leaked,leapt,linked,meant,minded,molded,neared,needed,peaked,plodded,plotted,pooled,quit,read,rooted,sealed,seeded,seeped,shipped,shunned,skimmed,slammed,sparred,stemmed,stirred,suited,thinned,twinned,swayed,winked,dialed,abutted,blotted,fretted,healed,heeded,peeled,reeled¦5:basted,cheated,equalled,eroded,exiled,focused,opined,pleated,primed,quoted,scouted,shored,sloped,smoked,sniped,spelled,spouted,routed,staked,stored,swelled,tasted,treated,wasted,smelled,dwelled,honored,prided,quelled,eloped,scared,coveted,sweated,breaded,cleared,debuted,deterred,freaked,modeled,pleaded,rebutted,speeded¦6:anchored,defined,endured,impaled,invited,refined,revered,strolled,cringed,recast,thrust,unfolded¦7:authored,combined,competed,conceded,convened,excreted,extruded,redefined,restored,secreted,rescinded,welcomed¦8:expedited,infringed¦9:interfered,intervened,persevered¦10:contravened¦eat:ate¦is:was¦go:went¦are:were¦3d:bent,lent,rent,sent¦3e:bit,fled,hid,lost¦3ed:bled,bred¦2ow:blew,grew¦1uy:bought¦2tch:caught¦1o:did¦1ive:dove,gave¦2aw:drew¦2ed:fed¦2y:flew,laid,paid,said¦1ight:fought¦1et:got¦2ve:had¦1ang:hung¦2ad:led¦2ght:lit¦2ke:made¦2et:met¦1un:ran¦1ise:rose¦1it:sat¦1eek:sought¦1each:taught¦1ake:woke,took¦1eave:wove¦2ise:arose¦1ear:bore,tore,wore¦1ind:bound,found,wound¦2eak:broke¦2ing:brought,wrung¦1ome:came¦2ive:drove¦1ig:dug¦1all:fell¦2el:felt¦4et:forgot¦1old:held¦2ave:left¦1ing:rang,sang¦1ide:rode¦1ink:sank¦1ee:saw¦2ine:shone¦4e:slid¦1ell:sold,told¦4d:spent¦2in:spun¦1in:won"}),ms=ds(as),ps=ds(ns),fs=ds(rs),vs=us(gs),bs=us(ms),ys=us(ps),ws=us(fs),ks=ds(ts),Ps=ds(os);var As={fromPast:gs,fromPresent:ms,fromGerund:ps,fromParticiple:fs,toPast:vs,toPresent:bs,toGerund:ys,toParticiple:ws,toComparative:ks,toSuperlative:Ps,fromComparative:us(ks),fromSuperlative:us(Ps),adjToNoun:ds(is)},Is=["academy","administration","agence","agences","agencies","agency","airlines","airways","army","assoc","associates","association","assurance","authority","autorite","aviation","bank","banque","board","boys","brands","brewery","brotherhood","brothers","bureau","cafe","co","caisse","capital","care","cathedral","center","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","corp","council","crew","data","departement","department","departments","design","development","directorate","division","drilling","education","eglise","electric","electricity","energy","ensemble","enterprise","enterprises","entertainment","estate","etat","faculty","federation","financial","fm","foundation","fund","gas","gazette","girls","government","group","guild","herald","holdings","hospital","hotel","hotels","inc","industries","institut","institute","institutes","insurance","international","interstate","investment","investments","investors","journal","laboratory","labs","llc","ltd","limited","machines","magazine","management","marine","marketing","markets","media","memorial","ministere","ministry","military","mobile","motor","motors","musee","museum","news","observatory","office","oil","optical","orchestra","organization","partners","partnership","petrol","petroleum","pharmacare","pharmaceutical","pharmaceuticals","pizza","plc","police","polytechnic","post","power","press","productions","quartet","radio","reserve","resources","restaurant","restaurants","savings","school","securities","service","services","societe","society","sons","subcommittee","syndicat","systems","telecommunications","telegraph","television","times","tribunal","tv","union","university","utilities","workers"].reduce(((e,t)=>(e[t]=!0,e)),{}),Ns=[[/([^v])ies$/i,"$1y"],[/(ise)s$/i,"$1"],[/(kn|[^o]l|w)ives$/i,"$1ife"],[/^((?:ca|e|ha|(?:our|them|your)?se|she|wo)l|lea|loa|shea|thie)ves$/i,"$1f"],[/^(dwar|handkerchie|hoo|scar|whar)ves$/i,"$1f"],[/(antenn|formul|nebul|vertebr|vit)ae$/i,"$1a"],[/(octop|vir|radi|nucle|fung|cact|stimul)(i)$/i,"$1us"],[/(buffal|tomat|tornad)(oes)$/i,"$1o"],[/(ause)s$/i,"$1"],[/(ease)s$/i,"$1"],[/(ious)es$/i,"$1"],[/(ouse)s$/i,"$1"],[/(ose)s$/i,"$1"],[/(..ase)s$/i,"$1"],[/(..[aeiu]s)es$/i,"$1"],[/(vert|ind|cort)(ices)$/i,"$1ex"],[/(matr|append)(ices)$/i,"$1ix"],[/([xo]|ch|ss|sh)es$/i,"$1"],[/men$/i,"man"],[/(n)ews$/i,"$1ews"],[/([ti])a$/i,"$1um"],[/([^aeiouy]|qu)ies$/i,"$1y"],[/(s)eries$/i,"$1eries"],[/(m)ovies$/i,"$1ovie"],[/(cris|ax|test)es$/i,"$1is"],[/(alias|status)es$/i,"$1"],[/(ss)$/i,"$1"],[/(ic)s$/i,"$1"],[/s$/i,""]],js=function(e,t){const{irregularPlurals:n}=t.two;let r=(a=n,Object.keys(a).reduce(((e,t)=>(e[a[t]]=t,e)),{}));var a;if(r.hasOwnProperty(e))return r[e];for(let t=0;t(xs[t].forEach((n=>e[n]=t)),e)),{});var Ds=xs,Ts=function(e){let t=e.substring(e.length-3);if(!0===Ds.hasOwnProperty(t))return Ds[t];let n=e.substring(e.length-2);return!0===Ds.hasOwnProperty(n)?Ds[n]:"s"===e.substring(e.length-1)?"PresentTense":null};const Cs={are:"be",were:"be",been:"be",is:"be",am:"be",was:"be",be:"be",being:"be"};var Os=function(e,t,n){const{fromPast:r,fromPresent:a,fromGerund:o,fromParticiple:i}=t.two.models;let{prefix:s,verb:l,particle:u}=function(e,t){let n="",r={};t.one&&t.one.prefixes&&(r=t.one.prefixes);let[a,o]=e.split(/ /);return o&&!0===r[a]&&(n=a,a=o,o=""),{prefix:n,verb:a,particle:o}}(e,t),c="";if(n||(n=Ts(e)),Cs.hasOwnProperty(e))c=Cs[e];else if("Participle"===n)c=ss(l,i);else if("PastTense"===n)c=ss(l,r);else if("PresentTense"===n)c=ss(l,a);else{if("Gerund"!==n)return e;c=ss(l,o)}return u&&(c+=" "+u),s&&(c=s+" "+c),c},Fs=function(e,t){const{toPast:n,toPresent:r,toGerund:a,toParticiple:o}=t.two.models;if("be"===e)return{Infinitive:e,Gerund:"being",PastTense:"was",PresentTense:"is"};let[i,s]=(e=>/ /.test(e)?e.split(/ /):[e,""])(e),l={Infinitive:i,PastTense:ss(i,n),PresentTense:ss(i,r),Gerund:ss(i,a),FutureTense:"will "+i},u=ss(i,o);if(u!==e&&u!==l.PastTense){let n=t.one.lexicon||{};"Participle"!==n[u]&&"Adjective"!==n[u]||("play"===e&&(u="played"),l.Participle=u)}return s&&Object.keys(l).forEach((e=>{l[e]+=" "+s})),l},Vs={toInfinitive:Os,conjugate:Fs,all:function(e,t){let n=Fs(e,t);return delete n.FutureTense,Object.values(n).filter((e=>e))}};const Gs=function(e,t){const n=t.two.models.toSuperlative;return ss(e,n)},zs=function(e,t){const n=t.two.models.toComparative;return ss(e,n)};var Ls=function(e="",t=[]){const n=e.length;for(let r=n<=6?n-1:6;r>=1;r-=1){let a=e.substring(n-r,e.length);if(!0===t[a.length].hasOwnProperty(a))return e.slice(0,n-r)+t[a.length][a]}return null};const $s="ically",Ss=new Set(["analyt"+$s,"chem"+$s,"class"+$s,"clin"+$s,"crit"+$s,"ecolog"+$s,"electr"+$s,"empir"+$s,"frant"+$s,"grammat"+$s,"ident"+$s,"ideolog"+$s,"log"+$s,"mag"+$s,"mathemat"+$s,"mechan"+$s,"med"+$s,"method"+$s,"method"+$s,"mus"+$s,"phys"+$s,"phys"+$s,"polit"+$s,"pract"+$s,"rad"+$s,"satir"+$s,"statist"+$s,"techn"+$s,"technolog"+$s,"theoret"+$s,"typ"+$s,"vert"+$s,"whims"+$s]),Ms=[null,{},{ly:""},{ily:"y",bly:"ble",ply:"ple"},{ally:"al",rply:"rp"},{ually:"ual",ially:"ial",cally:"cal",eally:"eal",rally:"ral",nally:"nal",mally:"mal",eeply:"eep",eaply:"eap"},{ically:"ic"}],Bs=new Set(["early","only","hourly","daily","weekly","monthly","yearly","mostly","duly","unduly","especially","undoubtedly","conversely","namely","exceedingly","presumably","accordingly","overly","best","latter","little","long","low"]),Hs={wholly:"whole",fully:"full",truly:"true",gently:"gentle",singly:"single",customarily:"customary",idly:"idle",publically:"public",quickly:"quick",superbly:"superb",cynically:"cynical",well:"good"},Js=[null,{y:"ily"},{ly:"ly",ic:"ically"},{ial:"ially",ual:"ually",tle:"tly",ble:"bly",ple:"ply",ary:"arily"},{},{},{}],Ws={cool:"cooly",whole:"wholly",full:"fully",good:"well",idle:"idly",public:"publicly",single:"singly",special:"especially"};var Ks=function(e){if(Ws.hasOwnProperty(e))return Ws[e];let t=Ls(e,Js);return t||(t=e+"ly"),t},qs={toSuperlative:Gs,toComparative:zs,toAdverb:Ks,toNoun:function(e,t){const n=t.two.models.adjToNoun;return ss(e,n)},fromAdverb:function(e){return e.endsWith("ly")?Ss.has(e)?e.replace(/ically/,"ical"):Bs.has(e)?null:Hs.hasOwnProperty(e)?Hs[e]:Ls(e,Ms)||e:null},fromSuperlative:function(e,t){const n=t.two.models.fromSuperlative;return ss(e,n)},fromComparative:function(e,t){const n=t.two.models.fromComparative;return ss(e,n)},all:function(e,t){let n=[e];return n.push(Gs(e,t)),n.push(zs(e,t)),n.push(Ks(e)),n=n.filter((e=>e)),n=new Set(n),Array.from(n)}},Us={noun:Es,verb:Vs,adjective:qs},Qs={Singular:(e,t,n,r)=>{let a=r.one.lexicon,o=n.two.transform.noun.toPlural(e,r);a[o]||(t[o]=t[o]||"Plural")},Actor:(e,t,n,r)=>{let a=r.one.lexicon,o=n.two.transform.noun.toPlural(e,r);a[o]||(t[o]=t[o]||["Plural","Actor"])},Comparable:(e,t,n,r)=>{let a=r.one.lexicon,{toSuperlative:o,toComparative:i}=n.two.transform.adjective,s=o(e,r);a[s]||(t[s]=t[s]||"Superlative");let l=i(e,r);a[l]||(t[l]=t[l]||"Comparative"),t[e]="Adjective"},Demonym:(e,t,n,r)=>{let a=n.two.transform.noun.toPlural(e,r);t[a]=t[a]||["Demonym","Plural"]},Infinitive:(e,t,n,r)=>{let a=r.one.lexicon,o=n.two.transform.verb.conjugate(e,r);Object.entries(o).forEach((e=>{a[e[1]]||t[e[1]]||(t[e[1]]=e[0])}))},PhrasalVerb:(e,t,n,r)=>{let a=r.one.lexicon;t[e]=["PhrasalVerb","Infinitive"];let o=r.one._multiCache,[i,s]=e.split(" ");a[i]||(t[i]=t[i]||"Infinitive");let l=n.two.transform.verb.conjugate(i,r);delete l.FutureTense,Object.entries(l).forEach((e=>{if("Actor"===e[0]||""===e[1])return;t[e[1]]||a[e[1]]||(t[e[1]]=e[0]),o[e[1]]=!0;let n=e[1]+" "+s;t[n]=t[n]||[e[0],"PhrasalVerb"]}))},Multiple:(e,t)=>{t[e]=["Multiple","Cardinal"],t[e+"th"]=["Multiple","Ordinal"],t[e+"ths"]=["Multiple","Fraction"]},Cardinal:(e,t)=>{t[e]=["TextValue","Cardinal"]},Ordinal:(e,t)=>{t[e]=["TextValue","Ordinal"],t[e+"s"]=["TextValue","Fraction"]},Place:(e,t)=>{t[e]=["Place","ProperNoun"]},Region:(e,t)=>{t[e]=["Region","ProperNoun"]}},Rs=function(e,t){const{methods:n,model:r}=t;let a={},o={};return Object.keys(e).forEach((t=>{let i=e[t],s=(t=(t=t.toLowerCase().trim()).replace(/'s\b/,"")).split(/ /);s.length>1&&(o[s[0]]=!0),!0===Qs.hasOwnProperty(i)&&Qs[i](t,a,n,r),a[t]=a[t]||i})),delete a[""],delete a.null,delete a[" "],{lex:a,_multi:o}},_s=function(e){const t=/[,:;]/;let n=[];return e.forEach((e=>{let r=0;e.forEach(((a,o)=>{t.test(a.post)&&function(e,t){const n=/^[0-9]+$/;let r=e[t];if(!r)return!1;const a=new Set(["may","april","august","jan"]);if("like"===r.normal||a.has(r.normal))return!1;if(r.tags.has("Place")||r.tags.has("Date"))return!1;if(e[t-1]){let n=e[t-1];if(n.tags.has("Date")||a.has(n.normal))return!1;if(n.tags.has("Adjective")||r.tags.has("Adjective"))return!1}let o=r.normal;return 1!==o.length&&2!==o.length&&4!==o.length||!n.test(o)}(e,o+1)&&(n.push(e.slice(r,o+1)),r=o+1)})),re.endsWith(t))):"s"===t&&!Ys.find((t=>e.endsWith(t)))},tl={two:{quickSplit:_s,expandLexicon:Rs,transform:Us,looksPlural:el}},nl=function(e){const{irregularPlurals:t}=e.two,{lexicon:n}=e.one;return Object.entries(t).forEach((e=>{n[e[0]]=n[e[0]]||"Singular",n[e[1]]=n[e[1]]||"Plural"})),e};let rl={one:{lexicon:{}},two:{models:As}};const al={"Actor|Verb":"Actor","Adj|Gerund":"Adjective","Adj|Noun":"Adjective","Adj|Past":"Adjective","Adj|Present":"Adjective","Noun|Verb":"Singular","Noun|Gerund":"Gerund","Person|Noun":"Noun","Person|Date":"Month","Person|Verb":"FirstName","Person|Place":"Person","Person|Adj":"Comparative","Plural|Verb":"Plural","Unit|Noun":"Noun"},ol=function(e,t){const n={model:t,methods:tl};let{lex:r,_multi:a}=tl.two.expandLexicon(e,n);return Object.assign(t.one.lexicon,r),Object.assign(t.one._multiCache,a),t},il=function(e,t,n){let r=Fs(e,rl);t[r.PastTense]=t[r.PastTense]||"PastTense",t[r.Gerund]=t[r.Gerund]||"Gerund",!0===n&&(t[r.PresentTense]=t[r.PresentTense]||"PresentTense")},sl=function(e,t,n){let r=Gs(e,n);t[r]=t[r]||"Superlative";let a=zs(e,n);t[a]=t[a]||"Comparative"},ll=function(e,t){let n={};const r=t.one.lexicon;return Object.keys(e).forEach((a=>{const o=e[a];if(n[a]=al[o],"Noun|Verb"!==o&&"Person|Verb"!==o&&"Actor|Verb"!==o||il(a,r,!1),"Adj|Present"===o&&(il(a,r,!0),sl(a,r,t)),"Person|Adj"===o&&sl(a,r,t),"Adj|Gerund"===o||"Noun|Gerund"===o){let e=Os(a,rl,"Gerund");r[e]||(n[e]="Infinitive")}if("Noun|Gerund"!==o&&"Adj|Noun"!==o&&"Person|Noun"!==o||function(e,t,n){let r=Vo(e,n);t[r]=t[r]||"Plural"}(a,r,t),"Adj|Past"===o){let e=Os(a,rl,"PastTense");r[e]||(n[e]="Infinitive")}})),t=ol(n,t)};var ul=function(e){return e=function(e,t){return Object.keys(e).forEach((n=>{"Uncountable"===e[n]&&(t.two.uncountable[n]=!0,e[n]="Uncountable")})),t}((e=ol(e.one.lexicon,e)).one.lexicon,e),e=ll(e.two.switches,e),e=nl(e)};let cl={one:{_multiCache:{},lexicon:zo},two:{irregularPlurals:ko,models:As,suffixPatterns:Gi,prefixPatterns:Si,endsWith:Xi,neighbours:es,regexNormal:[[/^[\w.]+@[\w.]+\.[a-z]{2,3}$/,"Email"],[/^(https?:\/\/|www\.)+\w+\.[a-z]{2,3}/,"Url","http.."],[/^[a-z0-9./].+\.(com|net|gov|org|ly|edu|info|biz|dev|ru|jp|de|in|uk|br|io|ai)/,"Url",".com"],[/^[PMCE]ST$/,"Timezone","EST"],[/^ma?c'.*/,"LastName","mc'neil"],[/^o'[drlkn].*/,"LastName","o'connor"],[/^ma?cd[aeiou]/,"LastName","mcdonald"],[/^(lol)+[sz]$/,"Expression","lol"],[/^wo{2,}a*h?$/,"Expression","wooah"],[/^(hee?){2,}h?$/,"Expression","hehe"],[/^(un|de|re)\\-[a-z\u00C0-\u00FF]{2}/,"Verb","un-vite"],[/^(m|k|cm|km)\/(s|h|hr)$/,"Unit","5 k/m"],[/^(ug|ng|mg)\/(l|m3|ft3)$/,"Unit","ug/L"]],regexText:[[/^#[\p{Number}_]*\p{Letter}/u,"HashTag"],[/^@\w{2,}$/,"AtMention"],[/^([A-Z]\.){2}[A-Z]?/i,["Acronym","Noun"],"F.B.I"],[/.{3}[lkmnp]in['‘’‛‵′`´]$/,"Gerund","chillin'"],[/.{4}s['‘’‛‵′`´]$/,"Possessive","flanders'"],[/^[\p{Emoji_Presentation}\p{Extended_Pictographic}]/u,"Emoji","emoji-class"]],regexNumbers:[[/^@1?[0-9](am|pm)$/i,"Time","3pm"],[/^@1?[0-9]:[0-9]{2}(am|pm)?$/i,"Time","3:30pm"],[/^'[0-9]{2}$/,"Year"],[/^[012]?[0-9](:[0-5][0-9])(:[0-5][0-9])$/,"Time","3:12:31"],[/^[012]?[0-9](:[0-5][0-9])?(:[0-5][0-9])? ?(am|pm)$/i,"Time","1:12pm"],[/^[012]?[0-9](:[0-5][0-9])(:[0-5][0-9])? ?(am|pm)?$/i,"Time","1:12:31pm"],[/^[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}/i,"Date","iso-date"],[/^[0-9]{1,4}-[0-9]{1,2}-[0-9]{1,4}$/,"Date","iso-dash"],[/^[0-9]{1,4}\/[0-9]{1,2}\/([0-9]{4}|[0-9]{2})$/,"Date","iso-slash"],[/^[0-9]{1,4}\.[0-9]{1,2}\.[0-9]{1,4}$/,"Date","iso-dot"],[/^[0-9]{1,4}-[a-z]{2,9}-[0-9]{1,4}$/i,"Date","12-dec-2019"],[/^utc ?[+-]?[0-9]+$/,"Timezone","utc-9"],[/^(gmt|utc)[+-][0-9]{1,2}$/i,"Timezone","gmt-3"],[/^[0-9]{3}-[0-9]{4}$/,"PhoneNumber","421-0029"],[/^(\+?[0-9][ -])?[0-9]{3}[ -]?[0-9]{3}-[0-9]{4}$/,"PhoneNumber","1-800-"],[/^[-+]?\p{Currency_Symbol}[-+]?[0-9]+(,[0-9]{3})*(\.[0-9]+)?([kmb]|bn)?\+?$/u,["Money","Value"],"$5.30"],[/^[-+]?[0-9]+(,[0-9]{3})*(\.[0-9]+)?\p{Currency_Symbol}\+?$/u,["Money","Value"],"5.30£"],[/^[-+]?[$£]?[0-9]([0-9,.])+(usd|eur|jpy|gbp|cad|aud|chf|cny|hkd|nzd|kr|rub)$/i,["Money","Value"],"$400usd"],[/^[-+]?[0-9]+(,[0-9]{3})*(\.[0-9]+)?\+?$/,["Cardinal","NumericValue"],"5,999"],[/^[-+]?[0-9]+(,[0-9]{3})*(\.[0-9]+)?(st|nd|rd|r?th)$/,["Ordinal","NumericValue"],"53rd"],[/^\.[0-9]+\+?$/,["Cardinal","NumericValue"],".73th"],[/^[-+]?[0-9]+(,[0-9]{3})*(\.[0-9]+)?%\+?$/,["Percent","Cardinal","NumericValue"],"-4%"],[/^\.[0-9]+%$/,["Percent","Cardinal","NumericValue"],".3%"],[/^[0-9]{1,4}\/[0-9]{1,4}(st|nd|rd|th)?s?$/,["Fraction","NumericValue"],"2/3rds"],[/^[0-9.]{1,3}[a-z]{0,2}[-–—][0-9]{1,3}[a-z]{0,2}$/,["Value","NumberRange"],"3-4"],[/^[0-9]{1,2}(:[0-9][0-9])?(am|pm)? ?[-–—] ?[0-9]{1,2}(:[0-9][0-9])?(am|pm)$/,["Time","NumberRange"],"3-4pm"],[/^[0-9.]+([a-z°]{1,4})$/,"NumericValue","9km"]],switches:Lo,clues:wi,uncountable:{},orgWords:Is}};cl=ul(cl);var hl=cl,dl=function(e,t,n,r){const a=r.methods.one.setTag;if(0===t&&e.length>=3){const t=/:/;if(e[0].post.match(t)){let t=e[1];if(t.tags.has("Value")||t.tags.has("Email")||t.tags.has("PhoneNumber"))return;a([e[0]],"Expression",r,null,"2-punct-colon''")}}},gl=function(e,t,n,r){const a=r.methods.one.setTag;"-"===e[t].post&&e[t+1]&&a([e[t],e[t+1]],"Hyphenated",r,null,"1-punct-hyphen''")};const ml=/^(under|over|mis|re|un|dis|semi)-?/;var pl=function(e,t,n){const r=n.two.switches;let a=e[t];if(r.hasOwnProperty(a.normal))a.switch=r[a.normal];else if(ml.test(a.normal)){let e=a.normal.replace(ml,"");e.length>3&&r.hasOwnProperty(e)&&(a.switch=r[e])}},fl=function(e,t,n){if(!t||0===t.length)return;const r="undefined"!=typeof process&&process.env?process.env:self.env||{};r&&r.DEBUG_TAGS&&((e,t,n="")=>{let r=e.text||"["+e.implicit+"]";var a;"string"!=typeof t&&t.length>2&&(t=t.slice(0,2).join(", #")+" +"),t="string"!=typeof t?t.join(", #"):t,console.log(` ${(a=r,""+a+"").padEnd(24)} → #${t.padEnd(22)} ${(e=>""+e+"")(n)}`)})(e,t,n),e.tags=e.tags||new Set,"string"==typeof t?e.tags.add(t):t.forEach((t=>e.tags.add(t)))};const vl=["Acronym","Abbreviation","ProperNoun","Uncountable","Possessive","Pronoun","Activity","Honorific","Month"];var bl=function(e,t,n){let r=e[t],a=Array.from(r.tags);for(let e=0;ee.tags.has(t)))||(el(e.normal)?fl(e,"Plural","3-plural-guess"):fl(e,"Singular","3-singular-guess"))}(r),function(e){let t=e.tags;if(t.has("Verb")&&1===t.size){let t=Ts(e.normal);t&&fl(e,t,"3-verb-tense-guess")}}(r)};const yl=/^\p{Lu}[\p{Ll}'’]/u,wl=/[0-9]/,kl=["Date","Month","WeekDay","Unit","Expression"],Pl=/[IVX]/,Al=/^[IVXLCDM]{2,}$/,Il=/^M{0,4}(CM|CD|D?C{0,3})(XC|XL|L?X{0,3})(IX|IV|V?I{0,3})$/,Nl={li:!0,dc:!0,md:!0,dm:!0,ml:!0};var jl=function(e,t,n){let r=e[t];r.index=r.index||[0,0];let a=r.index[1],o=r.text||"";return 0!==a&&!0===yl.test(o)&&!1===wl.test(o)?kl.find((e=>r.tags.has(e)))||r.pre.match(/["']$/)||"the"===r.normal?null:(bl(e,t,n),r.tags.has("Noun")||r.tags.clear(),fl(r,"ProperNoun","2-titlecase"),!0):o.length>=2&&Al.test(o)&&Pl.test(o)&&Il.test(o)&&!Nl[r.normal]?(fl(r,"RomanNumeral","2-xvii"),!0):null};const El=function(e="",t=[]){const n=e.length;let r=7;n<=r&&(r=n-1);for(let a=r;a>1;a-=1){let r=e.substring(n-a,n);if(!0===t[r.length].hasOwnProperty(r))return t[r.length][r]}return null};var xl=function(e,t,n){let r=e[t];if(0===r.tags.size){let e=El(r.normal,n.two.suffixPatterns);if(null!==e)return fl(r,e,"2-suffix"),r.confidence=.7,!0;if(r.implicit&&(e=El(r.implicit,n.two.suffixPatterns),null!==e))return fl(r,e,"2-implicit-suffix"),r.confidence=.7,!0}return null};const Dl=/['‘’‛‵′`´]/,Tl=function(e,t){for(let n=0;nn-3&&(r=n-3);for(let n=r;n>2;n-=1){let r=e.substring(0,n);if(!0===t[r.length].hasOwnProperty(r))return t[r.length][r]}return null}(r.normal,n.two.prefixPatterns);if(null!==e)return fl(r,e,"2-prefix"),r.confidence=.5,!0}return null};const Fl=new Set(["in","on","by","until","for","to","during","throughout","through","within","before","after","of","this","next","last","circa","around","post","pre","budget","classic","plan","may"]),Vl=function(e){if(!e)return!1;let t=e.normal||e.implicit;return!!Fl.has(t)||!!(e.tags.has("Date")||e.tags.has("Month")||e.tags.has("WeekDay")||e.tags.has("Year"))||!!e.tags.has("ProperNoun")},Gl=function(e){return!(!e||!e.tags.has("Ordinal")&&!(e.tags.has("Cardinal")&&e.normal.length<3)&&"is"!==e.normal&&"was"!==e.normal)},zl=function(e){return e&&(e.tags.has("Date")||e.tags.has("Month")||e.tags.has("WeekDay")||e.tags.has("Year"))};var Ll=function(e,t){const n=e[t];if(n.tags.has("NumericValue")&&n.tags.has("Cardinal")&&4===n.normal.length){let r=Number(n.normal);if(r&&!isNaN(r)&&r>1400&&r<2100){let a=e[t-1],o=e[t+1];if(Vl(a)||Vl(o))return fl(n,"Year","2-tagYear");if(r>=1920&&r<2025){if(Gl(a)||Gl(o))return fl(n,"Year","2-tagYear-close");if(zl(e[t-2])||zl(e[t+2]))return fl(n,"Year","2-tagYear-far");if(a&&(a.tags.has("Determiner")||a.tags.has("Possessive"))&&o&&o.tags.has("Noun")&&!o.tags.has("Plural"))return fl(n,"Year","2-tagYear-noun")}}}return null},$l=function(e,t,n,r){const a=r.methods.one.setTag,o=e[t],i=["PastTense","PresentTense","Auxiliary","Modal","Particle"];o.tags.has("Verb")&&(i.find((e=>o.tags.has(e)))||a([o],"Infinitive",r,null,"2-verb-type''"))};const Sl=/^[A-Z]('s|,)?$/,Ml=/^[A-Z-]+$/,Bl=/^[A-Z]+s$/,Hl=/([A-Z]\.)+[A-Z]?,?$/,Jl=/[A-Z]{2,}('s|,)?$/,Wl=/([a-z]\.)+[a-z]\.?$/,Kl={I:!0,A:!0},ql={la:!0,ny:!0,us:!0,dc:!0,gb:!0};var Ul=function(e,t,n){let r=e[t];return r.tags.has("RomanNumeral")||r.tags.has("Acronym")?null:function(e,t){let n=e.text;if(!1===Ml.test(n)){if(!(n.length>3&&!0===Bl.test(n)))return!1;n=n.replace(/s$/,"")}return!(n.length>5||Kl.hasOwnProperty(n)||t.one.lexicon.hasOwnProperty(e.normal)||!0!==Hl.test(n)&&!0!==Wl.test(n)&&!0!==Sl.test(n)&&!0!==Jl.test(n))}(r,n)?(r.tags.clear(),fl(r,["Acronym","Noun"],"3-no-period-acronym"),!0===ql[r.normal]&&fl(r,"Place","3-place-acronym"),!0===Bl.test(r.text)&&fl(r,"Plural","3-plural-acronym"),!0):!Kl.hasOwnProperty(r.text)&&Sl.test(r.text)?(r.tags.clear(),fl(r,["Acronym","Noun"],"3-one-letter-acronym"),!0):r.tags.has("Organization")&&r.text.length<=3?(fl(r,"Acronym","3-org-acronym"),!0):r.tags.has("Organization")&&Ml.test(r.text)&&r.text.length<=6?(fl(r,"Acronym","3-titlecase-acronym"),!0):null};const Ql=function(e,t){if(!e)return null;let n=t.find((t=>e.normal===t[0]));return n?n[1]:null},Rl=function(e,t){if(!e)return null;let n=t.find((t=>e.tags.has(t[0])));return n?n[1]:null};var _l=function(e,t,n){const{leftTags:r,leftWords:a,rightWords:o,rightTags:i}=n.two.neighbours;let s=e[t];if(0===s.tags.size){let l=null;if(l=l||Ql(e[t-1],a),l=l||Ql(e[t+1],o),l=l||Rl(e[t-1],r),l=l||Rl(e[t+1],i),l)return fl(s,l,"3-[neighbour]"),bl(e,t,n),e[t].confidence=.2,!0}return null};const Xl=function(e,t,n){return!!e&&!e.tags.has("FirstName")&&!e.tags.has("Place")&&(!!(e.tags.has("ProperNoun")||e.tags.has("Organization")||e.tags.has("Acronym"))||!(n||(r=e.text,!/^\p{Lu}[\p{Ll}'’]/u.test(r)))&&(0!==t||e.tags.has("Singular")));var r};var Zl=function(e,t,n,r){const a=n.model.two.orgWords,o=n.methods.one.setTag;let i=e[t];if(!0===a[i.machine||i.normal]&&Xl(e[t-1],t-1,r)){o([e[t]],"Organization",n,null,"3-[org-word]");for(let a=t;a>=0&&Xl(e[a],a,r);a-=1)o([e[a]],"Organization",n,null,"3-[org-word]")}return null},Yl=function(e,t,n){let r=!1,a=e[t].tags;(0===a.size||1===a.size&&(a.has("Hyphenated")||a.has("HashTag")||a.has("Prefix")))&&(r=!0),r&&(fl(e[t],"Noun","3-[fallback]"),bl(e,t,n),e[t].confidence=.1)};const eu=/^[A-Z][a-z]/,tu=(e,t)=>e[t].tags.has("ProperNoun")&&eu.test(e[t].text)?"Noun":null,nu=(e,t,n)=>0!==t||e[1]?null:n,ru={"Adj|Gerund":(e,t)=>tu(e,t),"Adj|Noun":(e,t)=>tu(e,t)||function(e,t){return!e[t+1]&&e[t-1]&&e[t-1].tags.has("Determiner")?"Noun":null}(e,t),"Actor|Verb":(e,t)=>tu(e,t),"Adj|Past":(e,t)=>tu(e,t),"Adj|Present":(e,t)=>tu(e,t),"Noun|Gerund":(e,t)=>tu(e,t),"Noun|Verb":(e,t)=>t>0&&tu(e,t)||nu(e,t,"Infinitive"),"Plural|Verb":(e,t)=>tu(e,t)||nu(e,t,"PresentTense")||function(e,t,n){return 0===t&&e.length>3?n:null}(e,t,"Plural"),"Person|Noun":(e,t)=>tu(e,t),"Person|Verb":(e,t)=>0!==t?tu(e,t):null,"Person|Adj":(e,t)=>0===t&&e.length>1||tu(e,t)?"Person":null};var au=ru;const ou="undefined"!=typeof process&&process.env?process.env:self.env||{},iu=/^(under|over|mis|re|un|dis|semi)-?/,su=(e,t)=>{if(!e||!t)return null;let n=e.normal||e.implicit,r=null;return t.hasOwnProperty(n)&&(r=t[n]),r&&ou.DEBUG_TAGS&&console.log(`\n  ↓ - '${n}' `),r},lu=(e,t={},n)=>{if(!e||!t)return null;let r=Array.from(e.tags).sort(((e,t)=>(n[e]?n[e].parents.length:0)>(n[t]?n[t].parents.length:0)?-1:1)),a=r.find((e=>t[e]));return a&&ou.DEBUG_TAGS&&console.log(`  ↓ - '${e.normal||e.implicit}' (#${a}) `),a=t[a],a};var uu=function(e,t,n){const r=n.model,a=n.methods.one.setTag,{switches:o,clues:i}=r.two,s=e[t];let l=s.normal||s.implicit||"";if(iu.test(l)&&!o[l]&&(l=l.replace(iu,"")),s.switch){let o=s.switch;if(s.tags.has("Acronym")||s.tags.has("PhrasalVerb"))return;let u=function(e,t,n,r){if(!n)return null;const a=r.one.tagSet;let o=su(e[t+1],n.afterWords);return o=o||su(e[t-1],n.beforeWords),o=o||lu(e[t-1],n.beforeTags,a),o=o||lu(e[t+1],n.afterTags,a),o}(e,t,i[o],r);au[o]&&(u=au[o](e,t)||u),u?(a([s],u,n,null,`3-[switch] (${o})`),bl(e,t,r)):ou.DEBUG_TAGS&&console.log(`\n -> X - '${l}' : (${o}) `)}};const cu={there:!0,this:!0,it:!0,him:!0,her:!0,us:!0};var hu=function(e,t){const n=t.methods.one.setTag,r=t.model.one._multiCache||{};let a=e[0];if(("Noun|Verb"===a.switch||a.tags.has("Infinitive"))&&e.length>=2){if(e.length<4&&!cu[e[1].normal])return;if(!a.tags.has("PhrasalVerb")&&r.hasOwnProperty(a.normal))return;(e[1].tags.has("Noun")||e[1].tags.has("Determiner"))&&(e.slice(1,3).some((e=>e.tags.has("Verb")))&&!a.tags.has("#PhrasalVerb")||n([a],"Imperative",t,null,"3-[imperative]"))}};const du=function(e){if(e.filter((e=>!e.tags.has("ProperNoun"))).length<=3)return!1;const t=/^[a-z]/;return e.every((e=>!t.test(e.text)))},gu=function(e,t,n,r){for(let a=0;a{dl(e,0,t,n)}))}(a,n,r);let o=t.two.quickSplit(a);for(let e=0;e{let t=e.machine||e.normal||e.text;return t=t.replace(/'s$/,""),t},Plural:(e,t)=>{let n=e.machine||e.normal||e.text;return t.methods.two.transform.noun.toSingular(n,t.model)},Copula:()=>"is",PastTense:(e,t)=>{let n=e.machine||e.normal||e.text;return t.methods.two.transform.verb.toInfinitive(n,t.model,"PastTense")},Gerund:(e,t)=>{let n=e.machine||e.normal||e.text;return t.methods.two.transform.verb.toInfinitive(n,t.model,"Gerund")},PresentTense:(e,t)=>{let n=e.machine||e.normal||e.text;return e.tags.has("Infinitive")?n:t.methods.two.transform.verb.toInfinitive(n,t.model,"PresentTense")},Comparative:(e,t)=>{let n=e.machine||e.normal||e.text;return t.methods.two.transform.adjective.fromComparative(n,t.model)},Superlative:(e,t)=>{let n=e.machine||e.normal||e.text;return t.methods.two.transform.adjective.fromSuperlative(n,t.model)},Adverb:(e,t)=>{const{fromAdverb:n}=t.methods.two.transform.adjective;return n(e.machine||e.normal||e.text)}};var vu=function(e){const t=e.world,n=Object.keys(fu);e.docs.forEach((e=>{for(let r=0;r{e.forEach((e=>{e.penn=function(e){if(e.tags.has("ProperNoun")&&e.tags.has("Plural"))return"NNPS";if(e.tags.has("Possessive")&&e.tags.has("Pronoun"))return"PRP$";if("there"===e.normal)return"EX";if("to"===e.normal)return"TO";let t=e.tagRank||[];for(let e=0;e{e.implicit=e.normal,e.text="",e.normal=""}));for(let e=0;e{let t=Du.test(e[0].text);e.forEach(((t,n)=>{t.text=t.implicit||"",delete t.implicit,ne.toUpperCase()))}(e[0].text))})),this.compute("normal"),this}}e.prototype.contractions=function(){let e=this.match("@hasContraction+");return new Contractions(this.document,e.pointer)},e.prototype.contract=xu},Cu=function(e,t,n){let[r,a]=t;n&&0!==n.length&&(n=n.map(((e,t)=>(e.implicit=e.text,e.machine=e.text,e.pre="",e.post="",e.text="",e.normal="",e.index=[r,a+t],e))),n[0]&&(n[0].pre=e[r][a].pre,n[n.length-1].post=e[r][a].post,n[0].text=e[r][a].text,n[0].normal=e[r][a].normal),e[r].splice(a,1,...n))};const Ou=/'/;var Fu=function(e,t){let n=e[t].normal.split(Ou)[0];if(((e,t)=>e.slice(t+1,t+3).some((e=>e.tags.has("PastTense"))))(e,t))return[n,"has"];if("let"===n)return[n,"us"];if("there"===n){let r=e[t+1];if(r&&r.tags.has("Plural"))return[n,"are"]}return[n,"is"]};const Vu=/'/;var Gu=function(e,t){let n=e[t].normal.split(Vu)[0];return"how"===n||"what"===n?[n,"did"]:!0===((e,t)=>!(!e[t+1]||"better"!=e[t+1].normal)||e.slice(t+1,t+3).some((e=>e.tags.has("PastTense"))))(e,t)?[n,"had"]:[n,"would"]},zu=function(e,t){if("ain't"===e[t].normal||"aint"===e[t].normal){if(e[t+1]&&"never"===e[t+1].normal)return["have"];let n=function(e,t){for(let n=t-1;n>=0;n-=1)if(e[n].tags.has("Noun")||e[n].tags.has("Pronoun")||e[n].tags.has("Plural")||e[n].tags.has("Singular"))return e[n];return null}(e,t);if(n){if("we"===n.normal||"they"===n.normal)return["are","not"];if("i"===n.normal)return["am","not"];if(n.tags&&n.tags.has("Plural"))return["are","not"]}return["is","not"]}return[e[t].normal.replace(/n't/,""),"not"]};const Lu={that:!0,there:!0,let:!0,here:!0,everywhere:!0},$u={in:!0,by:!0,for:!0};var Su=(e,t)=>{let n=e[t];if(Lu.hasOwnProperty(n.machine||n.normal))return!1;if(n.tags.has("Possessive"))return!0;if(n.tags.has("QuestionWord"))return!1;if("he's"===n.normal||"she's"===n.normal)return!1;let r=e[t+1];if(!r)return!0;if("it's"===n.normal)return!!r.tags.has("#Noun");if(r.tags.has("Verb"))return!!r.tags.has("Infinitive")||!!r.tags.has("PresentTense");if(r.tags.has("Noun")){let e=r.machine||r.normal;return!("here"===e||"there"===e||"everywhere"===e||r.tags.has("Possessive")||r.tags.has("ProperNoun")&&!n.tags.has("ProperNoun"))}if(e[t-1]&&!0===$u[e[t-1].normal])return!0;let a=e[t+2];return!(!a||!a.tags.has("Noun")||a.tags.has("Pronoun"))||(r.tags.has("Adjective")||r.tags.has("Adverb")||r.tags.has("Verb"),!1)};const Mu=/'/,Bu=function(e,t,n,r){let a=t.update();a.document=[e];let o=n+r;n>0&&(n-=1),e[o]&&(o+=1),a.ptrs=[[0,n,o]],a.compute(["lexicon","preTagger"]),function(e){e.forEach(((e,t)=>{e.index&&(e.index[1]=t)}))}(e)},Hu={d:(e,t)=>Gu(e,t),t:(e,t)=>zu(e,t),s:(e,t,n)=>Su(e,t)?n.methods.one.setTag([e[t]],"Possessive",n,"2-contraction"):Fu(e,t)},Ju=function(e,t){let n=t.fromText(e.join(" "));return n.compute("id"),n.docs[0]};var Wu={contractionTwo:e=>{let{world:t,document:n}=e;n.forEach(((r,a)=>{for(let o=r.length-1;o>=0;o-=1){if(r[o].implicit)return;let i=null;!0===Mu.test(r[o].normal)&&([,i]=r[o].normal.split(Mu));let s=null;Hu.hasOwnProperty(i)&&(s=Hu[i](r,o,t)),s&&(s=Ju(s,e),Cu(n,[a,o],s),Bu(n[a],e,o,s.length))}}))}},Ku={compute:Wu,api:Tu,hooks:["contractionTwo"]};const qu="(hard|fast|late|early|high|right|deep|close|direct)",Uu="(i|we|they)";let Qu=[].concat([{match:"(got|were|was|is|are|am) (#PastTense|#Participle)",tag:"Passive",reason:"got-walked"},{match:"(was|were|is|are|am) being (#PastTense|#Participle)",tag:"Passive",reason:"was-being"},{match:"(had|have|has) been (#PastTense|#Participle)",tag:"Passive",reason:"had-been"},{match:"will be being? (#PastTense|#Participle)",tag:"Passive",reason:"will-be-cleaned"},{match:"#Noun [(#PastTense|#Participle)] by (the|a) #Noun",group:0,tag:"Passive",reason:"suffered-by"}],[{match:"[(all|both)] #Determiner #Noun",group:0,tag:"Noun",reason:"all-noun"},{match:"#Copula [(just|alone)]$",group:0,tag:"Adjective",reason:"not-adverb"},{match:"#Singular is #Adverb? [#PastTense$]",group:0,tag:"Adjective",reason:"is-filled"},{match:"[#PastTense] #Singular is",group:0,tag:"Adjective",reason:"smoked-poutine"},{match:"[#PastTense] #Plural are",group:0,tag:"Adjective",reason:"baked-onions"},{match:"well [#PastTense]",group:0,tag:"Adjective",reason:"well-made"},{match:"#Copula [fucked up?]",group:0,tag:"Adjective",reason:"swears-adjective"},{match:"#Singular (seems|appears) #Adverb? [#PastTense$]",group:0,tag:"Adjective",reason:"seems-filled"},{match:"#Copula #Adjective? [(out|in|through)]$",group:0,tag:"Adjective",reason:"still-out"},{match:"^[#Adjective] (the|your) #Noun",group:0,notIf:"(all|even)",tag:"Infinitive",reason:"shut-the"},{match:"the [said] #Noun",group:0,tag:"Adjective",reason:"the-said-card"},{match:"[#Hyphenated (#Hyphenated && #PastTense)] (#Noun|#Conjunction)",group:0,tag:"Adjective",notIf:"#Adverb",reason:"faith-based"},{match:"[#Hyphenated (#Hyphenated && #Gerund)] (#Noun|#Conjunction)",group:0,tag:"Adjective",notIf:"#Adverb",reason:"self-driving"},{match:"[#PastTense (#Hyphenated && #PhrasalVerb)] (#Noun|#Conjunction)",group:0,tag:"Adjective",reason:"dammed-up"},{match:"(#Hyphenated && #Value) fold",tag:"Adjective",reason:"two-fold"},{match:"must (#Hyphenated && #Infinitive)",tag:"Adjective",reason:"must-win"},{match:"(#Hyphenated && #Infinitive) #Hyphenated",tag:"Adjective",notIf:"#PhrasalVerb",reason:"vacuum-sealed"},{match:"too much",tag:"Adverb Adjective",reason:"bit-4"},{match:"a bit much",tag:"Determiner Adverb Adjective",reason:"bit-3"},{match:"[(un|contra|extra|inter|intra|macro|micro|mid|mis|mono|multi|pre|sub|tri|ex)] #Adjective",group:0,tag:["Adjective","Prefix"],reason:"un-skilled"}],[{match:"#Adverb [#Adverb] (and|or|then)",group:0,tag:"Adjective",reason:"kinda-sparkly-and"},{match:"[(dark|bright|flat|light|soft|pale|dead|dim|faux|little|wee|sheer|most|near|good|extra|all)] #Adjective",group:0,tag:"Adverb",reason:"dark-green"},{match:"#Copula [far too] #Adjective",group:0,tag:"Adverb",reason:"far-too"},{match:"#Copula [still] (in|#Gerund|#Adjective)",group:0,tag:"Adverb",reason:"was-still-walking"},{match:`#Plural ${qu}`,tag:"#PresentTense #Adverb",reason:"studies-hard"},{match:`#Verb [${qu}] !#Noun?`,group:0,notIf:"(#Copula|get|got|getting|become|became|becoming|feel|feels|feeling)",tag:"Adverb",reason:"shops-direct"},{match:"[#Plural] a lot",tag:"PresentTense",reason:"studies-a-lot"}],[{match:"as [#Gerund] as",group:0,tag:"Adjective",reason:"as-gerund-as"},{match:"more [#Gerund] than",group:0,tag:"Adjective",reason:"more-gerund-than"},{match:"(so|very|extremely) [#Gerund]",group:0,tag:"Adjective",reason:"so-gerund"},{match:"(found|found) it #Adverb? [#Gerund]",group:0,tag:"Adjective",reason:"found-it-gerund"},{match:"a (little|bit|wee) bit? [#Gerund]",group:0,tag:"Adjective",reason:"a-bit-gerund"},{match:"#Gerund [#Gerund]",group:0,tag:"Adjective",notIf:"(impersonating|practicing|considering|assuming)",reason:"looking-annoying"},{match:"(looked|look|looks) #Adverb? [%Adj|Gerund%]",group:0,tag:"Adjective",notIf:"(impersonating|practicing|considering|assuming)",reason:"looked-amazing"},{match:"[%Adj|Gerund%] #Determiner",group:0,tag:"Gerund",reason:"developing-a"},{match:"#Possessive [%Adj|Gerund%] #Noun",group:0,tag:"Adjective",reason:"leading-manufacturer"}],[{match:"#Determiner [#Adjective] #Copula",group:0,tag:"Noun",reason:"the-adj-is"},{match:"#Adjective [#Adjective] #Copula",group:0,tag:"Noun",reason:"adj-adj-is"},{match:"(his|its) [%Adj|Noun%]",group:0,tag:"Noun",notIf:"#Hyphenated",reason:"his-fine"},{match:"#Copula #Adverb? [all]",group:0,tag:"Noun",reason:"is-all"},{match:"(have|had) [#Adjective] #Preposition .",group:0,tag:"Noun",reason:"have-fun"},{match:"#Gerund (giant|capital|center|zone|application)",tag:"Noun",reason:"brewing-giant"},{match:"#Preposition (a|an) [#Adjective]$",group:0,tag:"Noun",reason:"an-instant"},{match:"no [#Adjective] #Modal",group:0,tag:"Noun",reason:"no-golden"},{match:"[brand #Gerund?] new",group:0,tag:"Adverb",reason:"brand-new"},{match:"(#Determiner|#Comparative|new|different) [kind]",group:0,tag:"Noun",reason:"some-kind"},{match:"#Possessive [%Adj|Noun%] #Noun",group:0,tag:"Adjective",reason:"her-favourite"},{match:"must && #Hyphenated .",tag:"Adjective",reason:"must-win"},{match:"#Determiner [#Adjective]$",tag:"Noun",notIf:"(this|that|#Comparative|#Superlative)",reason:"the-south"},{match:"(#Noun && #Hyphenated) (#Adjective && #Hyphenated)",tag:"Adjective",notIf:"(this|that|#Comparative|#Superlative)",reason:"company-wide"},{match:"#Determiner [#Adjective] (#Copula|#Determiner)",notIf:"(#Comparative|#Superlative)",group:0,tag:"Noun",reason:"the-poor"}],[{match:"[still] #Adjective",group:0,tag:"Adverb",reason:"still-advb"},{match:"[still] #Verb",group:0,tag:"Adverb",reason:"still-verb"},{match:"[so] #Adjective",group:0,tag:"Adverb",reason:"so-adv"},{match:"[way] #Comparative",group:0,tag:"Adverb",reason:"way-adj"},{match:"[way] #Adverb #Adjective",group:0,tag:"Adverb",reason:"way-too-adj"},{match:"[all] #Verb",group:0,tag:"Adverb",reason:"all-verb"},{match:"#Verb [like]",group:0,notIf:"(#Modal|#PhrasalVerb)",tag:"Adverb",reason:"verb-like"},{match:"(barely|hardly) even",tag:"Adverb",reason:"barely-even"},{match:"[even] #Verb",group:0,tag:"Adverb",reason:"even-walk"},{match:"[even] #Comparative",group:0,tag:"Adverb",reason:"even-worse"},{match:"[even] (#Determiner|#Possessive)",group:0,tag:"#Adverb",reason:"even-the"},{match:"even left",tag:"#Adverb #Verb",reason:"even-left"},{match:"[way] #Adjective",group:0,tag:"#Adverb",reason:"way-over"},{match:"#PresentTense [(hard|quick|bright|slow|fast|backwards|forwards)]",notIf:"#Copula",group:0,tag:"Adverb",reason:"lazy-ly"},{match:"[much] #Adjective",group:0,tag:"Adverb",reason:"bit-1"},{match:"#Copula [#Adverb]$",group:0,tag:"Adjective",reason:"is-well"},{match:"a [(little|bit|wee) bit?] #Adjective",group:0,tag:"Adverb",reason:"a-bit-cold"},{match:"[(super|pretty)] #Adjective",group:0,tag:"Adverb",reason:"super-strong"},{match:"(become|fall|grow) #Adverb? [#PastTense]",group:0,tag:"Adjective",reason:"overly-weakened"},{match:"(a|an) #Adverb [#Participle] #Noun",group:0,tag:"Adjective",reason:"completely-beaten"},{match:"#Determiner #Adverb? [close]",group:0,tag:"Adjective",reason:"a-close"},{match:"#Gerund #Adverb? [close]",group:0,tag:"Adverb",notIf:"(getting|becoming|feeling)",reason:"being-close"},{match:"(the|those|these|a|an) [#Participle] #Noun",group:0,tag:"Adjective",reason:"blown-motor"},{match:"(#PresentTense|#PastTense) [back]",group:0,tag:"Adverb",notIf:"(#PhrasalVerb|#Copula)",reason:"charge-back"},{match:"#Verb [around]",group:0,tag:"Adverb",notIf:"#PhrasalVerb",reason:"send-around"},{match:"[later] #PresentTense",group:0,tag:"Adverb",reason:"later-say"},{match:"#Determiner [well] !#PastTense?",group:0,tag:"Noun",reason:"the-well"},{match:"#Adjective [enough]",group:0,tag:"Adverb",reason:"high-enough"}],[{match:"[sun] the #Ordinal",tag:"WeekDay",reason:"sun-the-5th"},{match:"[sun] #Date",group:0,tag:"WeekDay",reason:"sun-feb"},{match:"#Date (on|this|next|last|during)? [sun]",group:0,tag:"WeekDay",reason:"1pm-sun"},{match:"(in|by|before|during|on|until|after|of|within|all) [sat]",group:0,tag:"WeekDay",reason:"sat"},{match:"(in|by|before|during|on|until|after|of|within|all) [wed]",group:0,tag:"WeekDay",reason:"wed"},{match:"(in|by|before|during|on|until|after|of|within|all) [march]",group:0,tag:"Month",reason:"march"},{match:"[sat] #Date",group:0,tag:"WeekDay",reason:"sat-feb"},{match:"#Preposition [(march|may)]",group:0,tag:"Month",reason:"in-month"},{match:"(this|next|last) (march|may) !#Infinitive?",tag:"#Date #Month",reason:"this-month"},{match:"(march|may) the? #Value",tag:"#Month #Date #Date",reason:"march-5th"},{match:"#Value of? (march|may)",tag:"#Date #Date #Month",reason:"5th-of-march"},{match:"[(march|may)] .? #Date",group:0,tag:"Month",reason:"march-and-feb"},{match:"#Date .? [(march|may)]",group:0,tag:"Month",reason:"feb-and-march"},{match:"#Adverb [(march|may)]",group:0,tag:"Verb",reason:"quickly-march"},{match:"[(march|may)] #Adverb",group:0,tag:"Verb",reason:"march-quickly"}],[{match:"#Holiday (day|eve)",tag:"Holiday",reason:"holiday-day"},{match:"#Value of #Month",tag:"Date",reason:"value-of-month"},{match:"#Cardinal #Month",tag:"Date",reason:"cardinal-month"},{match:"#Month #Value to #Value",tag:"Date",reason:"value-to-value"},{match:"#Month the #Value",tag:"Date",reason:"month-the-value"},{match:"(#WeekDay|#Month) #Value",tag:"Date",reason:"date-value"},{match:"#Value (#WeekDay|#Month)",tag:"Date",reason:"value-date"},{match:"(#TextValue && #Date) #TextValue",tag:"Date",reason:"textvalue-date"},{match:"#Month #NumberRange",tag:"Date",reason:"aug 20-21"},{match:"#WeekDay #Month #Ordinal",tag:"Date",reason:"week mm-dd"},{match:"#Month #Ordinal #Cardinal",tag:"Date",reason:"mm-dd-yyy"},{match:"(#Place|#Demonmym|#Time) (standard|daylight|central|mountain)? time",tag:"Timezone",reason:"std-time"},{match:"(eastern|mountain|pacific|central|atlantic) (standard|daylight|summer)? time",tag:"Timezone",reason:"eastern-time"},{match:"#Time [(eastern|mountain|pacific|central|est|pst|gmt)]",group:0,tag:"Timezone",reason:"5pm-central"},{match:"(central|western|eastern) european time",tag:"Timezone",reason:"cet"}],[{match:"(the|any) [more]",group:0,tag:"Singular",reason:"more-noun"},{match:"[more] #Noun",group:0,tag:"Adjective",reason:"more-noun"},{match:"(right|rights) of .",tag:"Noun",reason:"right-of"},{match:"a [bit]",group:0,tag:"Singular",reason:"bit-2"},{match:"a [must]",group:0,tag:"Singular",reason:"must-2"},{match:"(we|us) [all]",group:0,tag:"Noun",reason:"we all"},{match:"due to [#Verb]",group:0,tag:"Noun",reason:"due-to"},{match:"some [#Verb] #Plural",group:0,tag:"Noun",reason:"determiner6"},{match:"#Possessive #Ordinal [#PastTense]",group:0,tag:"Noun",reason:"first-thought"},{match:"(the|this|those|these) #Adjective [%Verb|Noun%]",group:0,tag:"Noun",notIf:"#Copula",reason:"the-adj-verb"},{match:"(the|this|those|these) #Adverb #Adjective [#Verb]",group:0,tag:"Noun",reason:"determiner4"},{match:"the [#Verb] #Preposition .",group:0,tag:"Noun",reason:"determiner1"},{match:"(a|an|the) [#Verb] of",group:0,tag:"Noun",reason:"the-verb-of"},{match:"#Determiner #Noun of [#Verb]",group:0,tag:"Noun",notIf:"#Gerund",reason:"noun-of-noun"},{match:"#PastTense #Preposition [#PresentTense]",group:0,notIf:"#Gerund",tag:"Noun",reason:"ended-in-ruins"},{match:"#Conjunction [u]",group:0,tag:"Pronoun",reason:"u-pronoun-2"},{match:"[u] #Verb",group:0,tag:"Pronoun",reason:"u-pronoun-1"},{match:"#Determiner [(western|eastern|northern|southern|central)] #Noun",group:0,tag:"Noun",reason:"western-line"},{match:"(#Singular && @hasHyphen) #PresentTense",tag:"Noun",reason:"hyphen-verb"},{match:"is no [#Verb]",group:0,tag:"Noun",reason:"is-no-verb"},{match:"do [so]",group:0,tag:"Noun",reason:"so-noun"},{match:"#Determiner [(shit|damn|hell)]",group:0,tag:"Noun",reason:"swears-noun"},{match:"to [(shit|hell)]",group:0,tag:"Noun",reason:"to-swears"},{match:"(the|these) [#Singular] (were|are)",group:0,tag:"Plural",reason:"singular-were"},{match:"a #Noun+ or #Adverb+? [#Verb]",group:0,tag:"Noun",reason:"noun-or-noun"},{match:"(the|those|these|a|an) #Adjective? [#PresentTense #Particle?]",group:0,tag:"Noun",notIf:"(seem|appear|include|#Gerund|#Copula)",reason:"det-inf"},{match:"#Noun #Actor",tag:"Actor",notIf:"(#Person|#Pronoun)",reason:"thing-doer"},{match:"#Gerund #Actor",tag:"Actor",reason:"gerund-doer"},{match:"co #Singular",tag:"Actor",reason:"co-noun"},{match:"[#Noun+] #Actor",group:0,tag:"Actor",notIf:"(#Honorific|#Pronoun|#Possessive)",reason:"air-traffic-controller"},{match:"(urban|cardiac|cardiovascular|respiratory|medical|clinical|visual|graphic|creative|dental|exotic|fine|certified|registered|technical|virtual|professional|amateur|junior|senior|special|pharmaceutical|theoretical)+ #Noun? #Actor",tag:"Actor",reason:"fine-artist"},{match:"#Noun+ (coach|chef|king|engineer|fellow|personality|boy|girl|man|woman|master)",tag:"Actor",reason:"dance-coach"},{match:"chief . officer",tag:"Actor",reason:"chief-x-officer"},{match:"chief of #Noun+",tag:"Actor",reason:"chief-of-police"},{match:"senior? vice? president of #Noun+",tag:"Actor",reason:"president-of"},{match:"#Determiner [sun]",group:0,tag:"Singular",reason:"the-sun"},{match:"#Verb (a|an) [#Value]$",group:0,tag:"Singular",reason:"did-a-value"},{match:"the [(can|will|may)]",group:0,tag:"Singular",reason:"the can"},{match:"#FirstName #Acronym? (#Possessive && #LastName)",tag:"Possessive",reason:"name-poss"},{match:"#Organization+ #Possessive",tag:"Possessive",reason:"org-possessive"},{match:"#Place+ #Possessive",tag:"Possessive",reason:"place-possessive"},{match:"#Possessive #PresentTense #Particle?",notIf:"(#Gerund|her)",tag:"Noun",reason:"possessive-verb"},{match:"(my|our|their|her|his|its) [(#Plural && #Actor)] #Noun",tag:"Possessive",reason:"my-dads"},{match:"#Value of a [second]",group:0,unTag:"Value",tag:"Singular",reason:"10th-of-a-second"},{match:"#Value [seconds]",group:0,unTag:"Value",tag:"Plural",reason:"10-seconds"},{match:"in [#Infinitive]",group:0,tag:"Singular",reason:"in-age"},{match:"a [#Adjective] #Preposition",group:0,tag:"Noun",reason:"a-minor-in"},{match:"#Determiner [#Singular] said",group:0,tag:"Actor",reason:"the-actor-said"},{match:"#Determiner #Noun [(feel|sense|process|rush|side|bomb|bully|challenge|cover|crush|dump|exchange|flow|function|issue|lecture|limit|march|process)] !(#Preposition|to|#Adverb)?",group:0,tag:"Noun",reason:"the-noun-sense"},{match:"[#PresentTense] (of|by|for) (a|an|the) #Noun #Copula",group:0,tag:"Plural",reason:"photographs-of"},{match:"#Infinitive and [%Noun|Verb%]",group:0,tag:"Infinitive",reason:"fight and win"},{match:"#Noun and [#Verb] and #Noun",group:0,tag:"Noun",reason:"peace-and-flowers"},{match:"the #Cardinal [%Adj|Noun%]",group:0,tag:"Noun",reason:"the-1992-classic"},{match:"#Copula the [%Adj|Noun%] #Noun",group:0,tag:"Adjective",reason:"the-premier-university"},{match:"i #Verb [me] #Noun",group:0,tag:"Possessive",reason:"scottish-me"},{match:"[#PresentTense] (music|class|lesson|night|party|festival|league|ceremony)",group:0,tag:"Noun",reason:"dance-music"},{match:"[wit] (me|it)",group:0,tag:"Presposition",reason:"wit-me"},{match:"#PastTense #Possessive [#Verb]",group:0,tag:"Noun",notIf:"(saw|made)",reason:"left-her-boots"},{match:"#Value [%Plural|Verb%]",group:0,tag:"Plural",notIf:"(one|1|a|an)",reason:"35-signs"},{match:"had [#PresentTense]",group:0,tag:"Noun",notIf:"(#Gerund|come|become)",reason:"had-time"},{match:"%Adj|Noun% %Noun|Verb%",tag:"#Adjective #Noun",notIf:"#ProperNoun #Noun",reason:"instant-access"},{match:"#Determiner [%Adj|Noun%] #Conjunction",group:0,tag:"Noun",reason:"a-rep-to"},{match:"#Adjective #Noun [%Plural|Verb%]$",group:0,tag:"Plural",notIf:"#Pronoun",reason:"near-death-experiences"},{match:"#Possessive #Noun [%Plural|Verb%]$",group:0,tag:"Plural",reason:"your-guild-colors"}],[{match:"(this|that|the|a|an) [#Gerund #Infinitive]",group:0,tag:"Singular",reason:"the-planning-process"},{match:"(that|the) [#Gerund #PresentTense]",group:0,ifNo:"#Copula",tag:"Plural",reason:"the-paving-stones"},{match:"#Determiner [#Gerund] #Noun",group:0,tag:"Adjective",reason:"the-gerund-noun"},{match:"#Pronoun #Infinitive [#Gerund] #PresentTense",group:0,tag:"Noun",reason:"tipping-sucks"},{match:"#Adjective [#Gerund]",group:0,tag:"Noun",notIf:"(still|even|just)",reason:"early-warning"},{match:"[#Gerund] #Adverb? not? #Copula",group:0,tag:"Activity",reason:"gerund-copula"},{match:"#Copula [(#Gerund|#Activity)] #Copula",group:0,tag:"Gerund",reason:"are-doing-is"},{match:"[#Gerund] #Modal",group:0,tag:"Activity",reason:"gerund-modal"},{match:"#Singular for [%Noun|Gerund%]",group:0,tag:"Gerund",reason:"noun-for-gerund"},{match:"#Comparative (for|at) [%Noun|Gerund%]",group:0,tag:"Gerund",reason:"better-for-gerund"},{match:"#PresentTense the [#Gerund]",group:0,tag:"Noun",reason:"keep-the-touching"}],[{match:"#Infinitive (this|that|the) [#Infinitive]",group:0,tag:"Noun",reason:"do-this-dance"},{match:"#Gerund #Determiner [#Infinitive]",group:0,tag:"Noun",reason:"running-a-show"},{match:"#Determiner (only|further|just|more|backward) [#Infinitive]",group:0,tag:"Noun",reason:"the-only-reason"},{match:"(the|this|a|an) [#Infinitive] #Adverb? #Verb",group:0,tag:"Noun",reason:"determiner5"},{match:"#Determiner #Adjective #Adjective? [#Infinitive]",group:0,tag:"Noun",reason:"a-nice-inf"},{match:"#Determiner #Demonym [#PresentTense]",group:0,tag:"Noun",reason:"mexican-train"},{match:"#Adjective #Noun+ [#Infinitive] #Copula",group:0,tag:"Noun",reason:"career-move"},{match:"at some [#Infinitive]",group:0,tag:"Noun",reason:"at-some-inf"},{match:"(go|goes|went) to [#Infinitive]",group:0,tag:"Noun",reason:"goes-to-verb"},{match:"(a|an) #Adjective? #Noun [#Infinitive] (#Preposition|#Noun)",group:0,notIf:"from",tag:"Noun",reason:"a-noun-inf"},{match:"(a|an) #Noun [#Infinitive]$",group:0,tag:"Noun",reason:"a-noun-inf2"},{match:"#Gerund #Adjective? for [#Infinitive]",group:0,tag:"Noun",reason:"running-for"},{match:"about [#Infinitive]",group:0,tag:"Singular",reason:"about-love"},{match:"#Plural on [#Infinitive]",group:0,tag:"Noun",reason:"on-stage"},{match:"any [#Infinitive]",group:0,tag:"Noun",reason:"any-charge"},{match:"no [#Infinitive]",group:0,tag:"Noun",reason:"no-doubt"},{match:"number of [#PresentTense]",group:0,tag:"Noun",reason:"number-of-x"},{match:"(taught|teaches|learns|learned) [#PresentTense]",group:0,tag:"Noun",reason:"teaches-x"},{match:"(try|use|attempt|build|make) [#Verb #Particle?]",notIf:"(#Copula|#Noun|sure|fun|up)",group:0,tag:"Noun",reason:"do-verb"},{match:"^[#Infinitive] (is|was)",group:0,tag:"Noun",reason:"checkmate-is"},{match:"#Infinitive much [#Infinitive]",group:0,tag:"Noun",reason:"get-much"},{match:"[cause] #Pronoun #Verb",group:0,tag:"Conjunction",reason:"cause-cuz"},{match:"the #Singular [#Infinitive] #Noun",group:0,tag:"Noun",notIf:"#Pronoun",reason:"cardio-dance"},{match:"#Determiner #Modal [#Noun]",group:0,tag:"PresentTense",reason:"should-smoke"},{match:"this [#Plural]",group:0,tag:"PresentTense",notIf:"(#Preposition|#Date)",reason:"this-verbs"},{match:"#Noun that [#Plural]",group:0,tag:"PresentTense",notIf:"(#Preposition|#Pronoun|way)",reason:"voice-that-rocks"},{match:"that [#Plural] to",group:0,tag:"PresentTense",notIf:"#Preposition",reason:"that-leads-to"},{match:"(let|make|made) (him|her|it|#Person|#Place|#Organization)+ [#Singular] (a|an|the|it)",group:0,tag:"Infinitive",reason:"let-him-glue"},{match:"#Verb (all|every|each|most|some|no) [#PresentTense]",notIf:"#Modal",group:0,tag:"Noun",reason:"all-presentTense"},{match:"(had|have|#PastTense) #Adjective [#PresentTense]",group:0,tag:"Noun",notIf:"better",reason:"adj-presentTense"},{match:"#Value #Adjective [#PresentTense]",group:0,tag:"Noun",notIf:"#Copula",reason:"one-big-reason"},{match:"#PastTense #Adjective+ [#PresentTense]",group:0,tag:"Noun",notIf:"(#Copula|better)",reason:"won-wide-support"},{match:"(many|few|several|couple) [#PresentTense]",group:0,tag:"Noun",notIf:"#Copula",reason:"many-poses"},{match:"#Determiner #Adverb #Adjective [%Noun|Verb%]",group:0,tag:"Noun",notIf:"#Copula",reason:"very-big-dream"},{match:"from #Noun to [%Noun|Verb%]",group:0,tag:"Noun",reason:"start-to-finish"},{match:"(for|with|of) #Noun (and|or|not) [%Noun|Verb%]",group:0,tag:"Noun",notIf:"#Pronoun",reason:"for-food-and-gas"},{match:"#Adjective #Adjective [#PresentTense]",group:0,tag:"Noun",notIf:"#Copula",reason:"adorable-little-store"},{match:"#Gerund #Adverb? #Comparative [#PresentTense]",group:0,tag:"Noun",notIf:"#Copula",reason:"higher-costs"},{match:"(#Noun && @hasComma) #Noun (and|or) [#PresentTense]",group:0,tag:"Noun",notIf:"#Copula",reason:"noun-list"},{match:"(many|any|some|several) [#PresentTense] for",group:0,tag:"Noun",reason:"any-verbs-for"},{match:"to #PresentTense #Noun [#PresentTense] #Preposition",group:0,tag:"Noun",reason:"gas-exchange"},{match:"#PastTense (until|as|through|without) [#PresentTense]",group:0,tag:"Noun",reason:"waited-until-release"},{match:"#Gerund like #Adjective? [#PresentTense]",group:0,tag:"Plural",reason:"like-hot-cakes"},{match:"some #Adjective [#PresentTense]",group:0,tag:"Noun",reason:"some-reason"},{match:"for some [#PresentTense]",group:0,tag:"Noun",reason:"for-some-reason"},{match:"(same|some|the|that|a) kind of [#PresentTense]",group:0,tag:"Noun",reason:"some-kind-of"},{match:"(same|some|the|that|a) type of [#PresentTense]",group:0,tag:"Noun",reason:"some-type-of"},{match:"#Gerund #Adjective #Preposition [#PresentTense]",group:0,tag:"Noun",reason:"doing-better-for-x"},{match:"(get|got|have) #Comparative [#PresentTense]",group:0,tag:"Noun",reason:"got-better-aim"},{match:"whose [#PresentTense] #Copula",group:0,tag:"Noun",reason:"whos-name-was"},{match:"#PhrasalVerb #Particle #Preposition [#PresentTense]",group:0,tag:"Noun",reason:"given-up-on-x"},{match:"there (are|were) #Adjective? [#PresentTense]",group:0,tag:"Plural",reason:"there-are"},{match:"#Value [#PresentTense] of",group:0,notIf:"(one|1|#Copula|#Infinitive)",tag:"Plural",reason:"2-trains"},{match:"[#PresentTense] (are|were) #Adjective",group:0,tag:"Plural",reason:"compromises-are-possible"},{match:"^[(hope|guess|thought|think)] #Pronoun #Verb",group:0,tag:"Infinitive",reason:"suppose-i"},{match:"#Possessive #Adjective [#Verb]",group:0,tag:"Noun",notIf:"#Copula",reason:"our-full-support"},{match:"[(tastes|smells)] #Adverb? #Adjective",group:0,tag:"PresentTense",reason:"tastes-good"},{match:"#Copula #Gerund [#PresentTense] !by?",group:0,tag:"Noun",notIf:"going",reason:"ignoring-commute"},{match:"#Determiner #Adjective? [(shed|thought|rose|bid|saw|spelt)]",group:0,tag:"Noun",reason:"noun-past"},{match:"how to [%Noun|Verb%]",group:0,tag:"Infinitive",reason:"how-to-noun"},{match:"which [%Noun|Verb%] #Noun",group:0,tag:"Infinitive",reason:"which-boost-it"},{match:"#Gerund [%Plural|Verb%]",group:0,tag:"Plural",reason:"asking-questions"},{match:"(ready|available|difficult|hard|easy|made|attempt|try) to [%Noun|Verb%]",group:0,tag:"Infinitive",reason:"ready-to-noun"},{match:"(bring|went|go|drive|run|bike) to [%Noun|Verb%]",group:0,tag:"Noun",reason:"bring-to-noun"},{match:"#Modal #Noun [%Noun|Verb%]",group:0,tag:"Infinitive",reason:"would-you-look"},{match:"#Copula just [#Infinitive]",group:0,tag:"Noun",reason:"is-just-spam"},{match:"^%Noun|Verb% %Plural|Verb%",tag:"Imperative #Plural",reason:"request-copies"},{match:"#Adjective #Plural and [%Plural|Verb%]",group:0,tag:"#Plural",reason:"pickles-and-drinks"},{match:"#Determiner #Year [#Verb]",group:0,tag:"Noun",reason:"the-1968-film"},{match:"#Determiner [#PhrasalVerb #Particle]",group:0,tag:"Noun",reason:"the-break-up"},{match:"#Determiner [%Adj|Noun%] #Noun",group:0,tag:"Adjective",notIf:"(#Pronoun|#Possessive|#ProperNoun)",reason:"the-individual-goals"},{match:"[%Noun|Verb%] or #Infinitive",group:0,tag:"Infinitive",reason:"work-or-prepare"},{match:"to #Infinitive [#PresentTense]",group:0,tag:"Noun",notIf:"(#Gerund|#Copula|help)",reason:"to-give-thanks"},{match:"[#Noun] me",group:0,tag:"Verb",reason:"kills-me"},{match:"%Plural|Verb% %Plural|Verb%",tag:"#PresentTense #Plural",reason:"removes-wrinkles"}],[{match:"#Money and #Money #Currency?",tag:"Money",reason:"money-and-money"},{match:"#Value #Currency [and] #Value (cents|ore|centavos|sens)",group:0,tag:"money",reason:"and-5-cents"},{match:"#Value (mark|rand|won|rub|ore)",tag:"#Money #Currency",reason:"4-mark"},{match:"a pound",tag:"#Money #Unit",reason:"a-pound"},{match:"#Value (pound|pounds)",tag:"#Money #Unit",reason:"4-pounds"}],[{match:"[(half|quarter)] of? (a|an)",group:0,tag:"Fraction",reason:"millionth"},{match:"#Adverb [half]",group:0,tag:"Fraction",reason:"nearly-half"},{match:"[half] the",group:0,tag:"Fraction",reason:"half-the"},{match:"#Cardinal and a half",tag:"Fraction",reason:"and-a-half"},{match:"#Value (halves|halfs|quarters)",tag:"Fraction",reason:"two-halves"},{match:"a #Ordinal",tag:"Fraction",reason:"a-quarter"},{match:"[#Cardinal+] (#Fraction && /s$/)",tag:"Fraction",reason:"seven-fifths"},{match:"[#Cardinal+ #Ordinal] of .",group:0,tag:"Fraction",reason:"ordinal-of"},{match:"[(#NumericValue && #Ordinal)] of .",group:0,tag:"Fraction",reason:"num-ordinal-of"},{match:"(a|one) #Cardinal?+ #Ordinal",tag:"Fraction",reason:"a-ordinal"},{match:"#Cardinal+ out? of every? #Cardinal",tag:"Fraction",reason:"out-of"}],[{match:"#Cardinal [second]",tag:"Unit",reason:"one-second"},{match:"!once? [(a|an)] (#Duration|hundred|thousand|million|billion|trillion)",group:0,tag:"Value",reason:"a-is-one"},{match:"1 #Value #PhoneNumber",tag:"PhoneNumber",reason:"1-800-Value"},{match:"#NumericValue #PhoneNumber",tag:"PhoneNumber",reason:"(800) PhoneNumber"},{match:"#Demonym #Currency",tag:"Currency",reason:"demonym-currency"},{match:"#Value [(buck|bucks|grand)]",group:0,tag:"Currency",reason:"value-bucks"},{match:"[#Value+] #Currency",group:0,tag:"Money",reason:"15 usd"},{match:"[second] #Noun",group:0,tag:"Ordinal",reason:"second-noun"},{match:"#Value+ [#Currency]",group:0,tag:"Unit",reason:"5-yan"},{match:"#Value [(foot|feet)]",group:0,tag:"Unit",reason:"foot-unit"},{match:"#Value [#Abbreviation]",group:0,tag:"Unit",reason:"value-abbr"},{match:"#Value [k]",group:0,tag:"Unit",reason:"value-k"},{match:"#Unit an hour",tag:"Unit",reason:"unit-an-hour"},{match:"(minus|negative) #Value",tag:"Value",reason:"minus-value"},{match:"#Value (point|decimal) #Value",tag:"Value",reason:"value-point-value"},{match:"#Determiner [(half|quarter)] #Ordinal",group:0,tag:"Value",reason:"half-ordinal"},{match:"#Multiple+ and #Value",tag:"Value",reason:"magnitude-and-value"},{match:"#Value #Unit [(per|an) (hr|hour|sec|second|min|minute)]",group:0,tag:"Unit",reason:"12-miles-per-second"},{match:"#Value [(square|cubic)] #Unit",group:0,tag:"Unit",reason:"square-miles"},{match:"^[#Value] (#Determiner|#Gerund)",group:0,tag:"Expression",unTag:"Value",reason:"numbered-list"}],[{match:"#Copula [(#Noun|#PresentTense)] #LastName",group:0,tag:"FirstName",reason:"copula-noun-lastname"},{match:"(sister|pope|brother|father|aunt|uncle|grandpa|grandfather|grandma) #ProperNoun",tag:"Person",reason:"lady-titlecase",safe:!0},{match:"#FirstName [#Determiner #Noun] #LastName",group:0,tag:"Person",reason:"first-noun-last"},{match:"#ProperNoun (b|c|d|e|f|g|h|j|k|l|m|n|o|p|q|r|s|t|u|v|w|x|y|z) #ProperNoun",tag:"Person",reason:"titlecase-acronym-titlecase",safe:!0},{match:"#Acronym #LastName",tag:"Person",reason:"acronym-lastname",safe:!0},{match:"#Person (jr|sr|md)",tag:"Person",reason:"person-honorific"},{match:"#Honorific #Acronym",tag:"Person",reason:"Honorific-TitleCase"},{match:"#Person #Person the? #RomanNumeral",tag:"Person",reason:"roman-numeral"},{match:"#FirstName [/^[^aiurck]$/]",group:0,tag:["Acronym","Person"],reason:"john-e"},{match:"#Noun van der? #Noun",tag:"Person",reason:"van der noun",safe:!0},{match:"(king|queen|prince|saint|lady) of #Noun",tag:"Person",reason:"king-of-noun",safe:!0},{match:"(prince|lady) #Place",tag:"Person",reason:"lady-place"},{match:"(king|queen|prince|saint) #ProperNoun",tag:"Person",reason:"saint-foo"},{match:"al (#Person|#ProperNoun)",tag:"Person",reason:"al-borlen",safe:!0},{match:"#FirstName de #Noun",tag:"Person",reason:"bill-de-noun"},{match:"#FirstName (bin|al) #Noun",tag:"Person",reason:"bill-al-noun"},{match:"#FirstName #Acronym #ProperNoun",tag:"Person",reason:"bill-acronym-title"},{match:"#FirstName #FirstName #ProperNoun",tag:"Person",reason:"bill-firstname-title"},{match:"#Honorific #FirstName? #ProperNoun",tag:"Person",reason:"dr-john-Title"},{match:"#FirstName the #Adjective",tag:"Person",reason:"name-the-great"},{match:"#ProperNoun (van|al|bin) #ProperNoun",tag:"Person",reason:"title-van-title",safe:!0},{match:"#ProperNoun (de|du) la? #ProperNoun",tag:"Person",reason:"title-de-title"},{match:"#Singular #Acronym #LastName",tag:"#FirstName #Person .",reason:"title-acro-noun",safe:!0},{match:"[#ProperNoun] #Person",group:0,tag:"Person",reason:"proper-person",safe:!0},{match:"#Person [#ProperNoun #ProperNoun]",group:0,tag:"Person",notIf:"#Possessive",reason:"three-name-person",safe:!0},{match:"#FirstName #Acronym? [#ProperNoun]",group:0,tag:"LastName",notIf:"#Possessive",reason:"firstname-titlecase"},{match:"#FirstName [#FirstName]",group:0,tag:"LastName",reason:"firstname-firstname"},{match:"#FirstName #Acronym #Noun",tag:"Person",reason:"n-acro-noun",safe:!0},{match:"#FirstName [(de|di|du|van|von)] #Person",group:0,tag:"LastName",reason:"de-firstname"},{match:"[(lieutenant|corporal|sergeant|captain|qeen|king|admiral|major|colonel|marshal|president|queen|king)+] #ProperNoun",group:0,tag:"Honorific",reason:"seargeant-john"},{match:"[(private|general|major|rear|prime|field|count|miss)] #Honorific? #Person",group:0,tag:["Honorific","Person"],reason:"ambg-honorifics"},{match:"#Honorific #FirstName [#Singular]",group:0,tag:"LastName",notIf:"#Possessive",reason:"dr-john-foo",safe:!0},{match:"[(his|her) (majesty|honour|worship|excellency|honorable)] #Person",group:0,tag:"Honorific",reason:"his-excellency"},{match:"#Honorific #Actor",tag:"Honorific",reason:"Lieutenant colonel"},{match:"(first|second|third|1st|2nd|3rd) #Actor",tag:"Honorific",reason:"first lady"},{match:"#Person #RomanNumeral",tag:"Person",reason:"louis-IV"}],[{match:"%Person|Date% #Acronym? #ProperNoun",tag:"Person",reason:"jan-thierson"},{match:"%Person|Noun% #Acronym? #ProperNoun",tag:"Person",reason:"switch-person",safe:!0},{match:"%Person|Noun% #Organization",tag:"Organization",reason:"olive-garden"},{match:"%Person|Verb% #Acronym? #ProperNoun",tag:"Person",reason:"verb-propernoun",ifNo:"#Actor"},{match:"[%Person|Verb%] (will|had|has|said|says|told|did|learned|wants|wanted)",group:0,tag:"Person",reason:"person-said"},{match:"[%Person|Place%] (harbor|harbour|pier|town|city|place|dump|landfill)",group:0,tag:"Place",reason:"sydney-harbour"},{match:"(west|east|north|south) [%Person|Place%]",group:0,tag:"Place",reason:"east-sydney"},{match:"#Modal [%Person|Verb%]",group:0,tag:"Verb",reason:"would-mark"},{match:"#Adverb [%Person|Verb%]",group:0,tag:"Verb",reason:"really-mark"},{match:"[%Person|Verb%] (#Adverb|#Comparative)",group:0,tag:"Verb",reason:"drew-closer"},{match:"%Person|Verb% #Person",tag:"Person",reason:"rob-smith"},{match:"%Person|Verb% #Acronym #ProperNoun",tag:"Person",reason:"rob-a-smith"},{match:"[will] #Verb",group:0,tag:"Modal",reason:"will-verb"},{match:"(will && @isTitleCase) #ProperNoun",tag:"Person",reason:"will-name"},{match:"(#FirstName && !#Possessive) [#Singular] #Verb",group:0,safe:!0,tag:"LastName",reason:"jack-layton"},{match:"^[#Singular] #Person #Verb",group:0,safe:!0,tag:"Person",reason:"sherwood-anderson"},{match:"(a|an) [#Person]$",group:0,unTag:"Person",reason:"a-warhol"}],[{match:"#Copula (pretty|dead|full|well|sure) (#Adjective|#Noun)",tag:"#Copula #Adverb #Adjective",reason:"sometimes-adverb"},{match:"(#Pronoun|#Person) (had|#Adverb)? [better] #PresentTense",group:0,tag:"Modal",reason:"i-better"},{match:"(#Modal|i|they|we|do) not? [like]",group:0,tag:"PresentTense",reason:"modal-like"},{match:"#Noun #Adverb? [left]",group:0,tag:"PastTense",reason:"left-verb"},{match:"will #Adverb? not? #Adverb? [be] #Gerund",group:0,tag:"Copula",reason:"will-be-copula"},{match:"will #Adverb? not? #Adverb? [be] #Adjective",group:0,tag:"Copula",reason:"be-copula"},{match:"[march] (up|down|back|toward)",notIf:"#Date",group:0,tag:"Infinitive",reason:"march-to"},{match:"#Modal [march]",group:0,tag:"Infinitive",reason:"must-march"},{match:"[may] be",group:0,tag:"Verb",reason:"may-be"},{match:"[(subject|subjects|subjected)] to",group:0,tag:"Verb",reason:"subject to"},{match:"[home] to",group:0,tag:"PresentTense",reason:"home to"},{match:"[open] #Determiner",group:0,tag:"Infinitive",reason:"open-the"},{match:"(were|was) being [#PresentTense]",group:0,tag:"PastTense",reason:"was-being"},{match:"(had|has|have) [been /en$/]",group:0,tag:"Auxiliary Participle",reason:"had-been-broken"},{match:"(had|has|have) [been /ed$/]",group:0,tag:"Auxiliary PastTense",reason:"had-been-smoked"},{match:"(had|has) #Adverb? [been] #Adverb? #PastTense",group:0,tag:"Auxiliary",reason:"had-been-adj"},{match:"(had|has) to [#Noun] (#Determiner|#Possessive)",group:0,tag:"Infinitive",reason:"had-to-noun"},{match:"have [#PresentTense]",group:0,tag:"PastTense",notIf:"(come|gotten)",reason:"have-read"},{match:"(does|will|#Modal) that [work]",group:0,tag:"PastTense",reason:"does-that-work"},{match:"[(sound|sounds)] #Adjective",group:0,tag:"PresentTense",reason:"sounds-fun"},{match:"[(look|looks)] #Adjective",group:0,tag:"PresentTense",reason:"looks-good"},{match:"[(start|starts|stop|stops|begin|begins)] #Gerund",group:0,tag:"Verb",reason:"starts-thinking"},{match:"(have|had) read",tag:"Modal #PastTense",reason:"read-read"},{match:"(is|was|were) [(under|over) #PastTense]",group:0,tag:"Adverb Adjective",reason:"was-under-cooked"},{match:"[shit] (#Determiner|#Possessive|them)",group:0,tag:"Verb",reason:"swear1-verb"},{match:"[damn] (#Determiner|#Possessive|them)",group:0,tag:"Verb",reason:"swear2-verb"},{match:"[fuck] (#Determiner|#Possessive|them)",group:0,tag:"Verb",reason:"swear3-verb"},{match:"#Plural that %Noun|Verb%",tag:". #Preposition #Infinitive",reason:"jobs-that-work"},{match:"[works] for me",group:0,tag:"PresentTense",reason:"works-for-me"},{match:"as #Pronoun [please]",group:0,tag:"Infinitive",reason:"as-we-please"},{match:"[(co|mis|de|inter|intra|pre|re|un|out|under|over|counter)] #Verb",group:0,tag:["Verb","Prefix"],notIf:"(#Copula|#PhrasalVerb)",reason:"co-write"},{match:"#PastTense and [%Adj|Past%]",group:0,tag:"PastTense",reason:"dressed-and-left"},{match:"[%Adj|Past%] and #PastTense",group:0,tag:"PastTense",reason:"dressed-and-left"},{match:"#Copula #Pronoun [%Adj|Past%]",group:0,tag:"Adjective",reason:"is-he-stoked"},{match:"to [%Noun|Verb%] #Preposition",group:0,tag:"Infinitive",reason:"to-dream-of"}],[{match:"(slowly|quickly) [#Adjective]",group:0,tag:"Verb",reason:"slowly-adj"},{match:"does (#Adverb|not)? [#Adjective]",group:0,tag:"PresentTense",reason:"does-mean"},{match:"[(fine|okay|cool|ok)] by me",group:0,tag:"Adjective",reason:"okay-by-me"},{match:"i (#Adverb|do)? not? [mean]",group:0,tag:"PresentTense",reason:"i-mean"},{match:"will #Adjective",tag:"Auxiliary Infinitive",reason:"will-adj"},{match:"#Pronoun [#Adjective] #Determiner #Adjective? #Noun",group:0,tag:"Verb",reason:"he-adj-the"},{match:"#Copula [%Adj|Present%] to #Verb",group:0,tag:"Verb",reason:"adj-to"},{match:"#Copula [#Adjective] (well|badly|quickly|slowly)",group:0,tag:"Verb",reason:"done-well"},{match:"#Adjective and [#Gerund] !#Preposition?",group:0,tag:"Adjective",reason:"rude-and-x"},{match:"#Copula #Adverb? (over|under) [#PastTense]",group:0,tag:"Adjective",reason:"over-cooked"},{match:"#Copula #Adjective+ (and|or) [#PastTense]$",group:0,tag:"Adjective",reason:"bland-and-overcooked"},{match:"got #Adverb? [#PastTense] of",group:0,tag:"Adjective",reason:"got-tired-of"},{match:"(seem|seems|seemed|appear|appeared|appears|feel|feels|felt|sound|sounds|sounded) (#Adverb|#Adjective)? [#PastTense]",group:0,tag:"Adjective",reason:"felt-loved"},{match:"(seem|feel|seemed|felt) [#PastTense #Particle?]",group:0,tag:"Adjective",reason:"seem-confused"},{match:"a (bit|little|tad) [#PastTense #Particle?]",group:0,tag:"Adjective",reason:"a-bit-confused"},{match:"not be [%Adj|Past% #Particle?]",group:0,tag:"Adjective",reason:"do-not-be-confused"},{match:"#Copula just [%Adj|Past% #Particle?]",group:0,tag:"Adjective",reason:"is-just-right"},{match:"as [#Infinitive] as",group:0,tag:"Adjective",reason:"as-pale-as"},{match:"[%Adj|Past%] and #Adjective",group:0,tag:"Adjective",reason:"faled-and-oppressive"},{match:"or [#PastTense] #Noun",group:0,tag:"Adjective",notIf:"(#Copula|#Pronoun)",reason:"or-heightened-emotion"},{match:"(become|became|becoming|becomes) [#Verb]",group:0,tag:"Adjective",reason:"become-verb"},{match:"#Possessive [#PastTense] #Noun",group:0,tag:"Adjective",reason:"declared-intentions"},{match:"#Copula #Pronoun [%Adj|Present%]",group:0,tag:"Adjective",reason:"is-he-cool"}],[{match:"will (#Adverb|not)+? [have] (#Adverb|not)+? #Verb",group:0,tag:"Auxiliary",reason:"will-have-vb"},{match:"[#Copula] (#Adverb|not)+? (#Gerund|#PastTense)",group:0,tag:"Auxiliary",reason:"copula-walking"},{match:"[(#Modal|did)+] (#Adverb|not)+? #Verb",group:0,tag:"Auxiliary",reason:"modal-verb"},{match:"#Modal (#Adverb|not)+? [have] (#Adverb|not)+? [had] (#Adverb|not)+? #Verb",group:0,tag:"Auxiliary",reason:"would-have"},{match:"[(has|had)] (#Adverb|not)+? #PastTense",group:0,tag:"Auxiliary",reason:"had-walked"},{match:"[(do|does|did|will|have|had|has|got)] (not|#Adverb)+? #Verb",group:0,tag:"Auxiliary",reason:"have-had"},{match:"[about to] #Adverb? #Verb",group:0,tag:["Auxiliary","Verb"],reason:"about-to"},{match:"#Modal (#Adverb|not)+? [be] (#Adverb|not)+? #Verb",group:0,tag:"Auxiliary",reason:"would-be"},{match:"[(#Modal|had|has)] (#Adverb|not)+? [been] (#Adverb|not)+? #Verb",group:0,tag:"Auxiliary",reason:"had-been"},{match:"[(be|being|been)] #Participle",group:0,tag:"Auxiliary",reason:"being-driven"},{match:"[may] #Adverb? #Infinitive",group:0,tag:"Auxiliary",reason:"may-want"},{match:"#Copula (#Adverb|not)+? [(be|being|been)] #Adverb+? #PastTense",group:0,tag:"Auxiliary",reason:"being-walked"},{match:"will [be] #PastTense",group:0,tag:"Auxiliary",reason:"will-be-x"},{match:"[(be|been)] (#Adverb|not)+? #Gerund",group:0,tag:"Auxiliary",reason:"been-walking"},{match:"[used to] #PresentTense",group:0,tag:"Auxiliary",reason:"used-to-walk"},{match:"#Copula (#Adverb|not)+? [going to] #Adverb+? #PresentTense",group:0,tag:"Auxiliary",reason:"going-to-walk"},{match:"#Imperative [(me|him|her)]",group:0,tag:"Reflexive",reason:"tell-him"},{match:"(is|was) #Adverb? [no]",group:0,tag:"Negative",reason:"is-no"},{match:"[(been|had|became|came)] #PastTense",group:0,notIf:"#PhrasalVerb",tag:"Auxiliary",reason:"been-told"},{match:"[(being|having|getting)] #Verb",group:0,tag:"Auxiliary",reason:"being-born"},{match:"[be] #Gerund",group:0,tag:"Auxiliary",reason:"be-walking"},{match:"[better] #PresentTense",group:0,tag:"Modal",notIf:"(#Copula|#Gerund)",reason:"better-go"},{match:"even better",tag:"Adverb #Comparative",reason:"even-better"}],[{match:"(#Verb && @hasHyphen) up",tag:"PhrasalVerb",reason:"foo-up"},{match:"(#Verb && @hasHyphen) off",tag:"PhrasalVerb",reason:"foo-off"},{match:"(#Verb && @hasHyphen) over",tag:"PhrasalVerb",reason:"foo-over"},{match:"(#Verb && @hasHyphen) out",tag:"PhrasalVerb",reason:"foo-out"},{match:"[#Verb (in|out|up|down|off|back)] (on|in)",notIf:"#Copula",tag:"PhrasalVerb Particle",reason:"walk-in-on"},{match:"(lived|went|crept|go) [on] for",group:0,tag:"PhrasalVerb",reason:"went-on"},{match:"#Verb (up|down|in|on|for)$",tag:"PhrasalVerb #Particle",notIf:"#PhrasalVerb",reason:"come-down$"},{match:"help [(stop|end|make|start)]",group:0,tag:"Infinitive",reason:"help-stop"},{match:"#PhrasalVerb (in && #Particle) #Determiner",tag:"#Verb #Preposition #Determiner",unTag:"PhrasalVerb",reason:"work-in-the"},{match:"[(stop|start|finish|help)] #Gerund",group:0,tag:"Infinitive",reason:"start-listening"},{match:"#Verb (him|her|it|us|himself|herself|itself|everything|something) [(up|down)]",group:0,tag:"Adverb",reason:"phrasal-pronoun-advb"}],[{match:"^do not? [#Infinitive #Particle?]",notIf:Uu,group:0,tag:"Imperative",reason:"do-eat"},{match:"^please do? not? [#Infinitive #Particle?]",group:0,tag:"Imperative",reason:"please-go"},{match:"^just do? not? [#Infinitive #Particle?]",group:0,tag:"Imperative",reason:"just-go"},{match:"^[#Infinitive] it #Comparative",notIf:Uu,group:0,tag:"Imperative",reason:"do-it-better"},{match:"^[#Infinitive] it (please|now|again|plz)",notIf:Uu,group:0,tag:"Imperative",reason:"do-it-please"},{match:"^[#Infinitive] (#Adjective|#Adverb)$",group:0,tag:"Imperative",notIf:"(so|such|rather|enough)",reason:"go-quickly"},{match:"^[#Infinitive] (up|down|over) #Determiner",group:0,tag:"Imperative",reason:"turn-down"},{match:"^[#Infinitive] (your|my|the|a|an|any|each|every|some|more|with|on)",group:0,notIf:"like",tag:"Imperative",reason:"eat-my-shorts"},{match:"^[#Infinitive] (him|her|it|us|me|there)",group:0,tag:"Imperative",reason:"tell-him"},{match:"^[#Infinitive] #Adjective #Noun$",group:0,tag:"Imperative",reason:"avoid-loud-noises"},{match:"^[#Infinitive] (#Adjective|#Adverb)? and #Infinitive",group:0,tag:"Imperative",reason:"call-and-reserve"},{match:"^(go|stop|wait|hurry) please?$",tag:"Imperative",reason:"go"},{match:"^(somebody|everybody) [#Infinitive]",group:0,tag:"Imperative",reason:"somebody-call"},{match:"^let (us|me) [#Infinitive]",group:0,tag:"Imperative",reason:"lets-leave"},{match:"^[(shut|close|open|start|stop|end|keep)] #Determiner #Noun",group:0,tag:"Imperative",reason:"shut-the-door"},{match:"^[#PhrasalVerb #Particle] #Determiner #Noun",group:0,tag:"Imperative",reason:"turn-off-the-light"},{match:"^[go] to .",group:0,tag:"Imperative",reason:"go-to-toronto"},{match:"^#Modal you [#Infinitive]",group:0,tag:"Imperative",reason:"would-you-"},{match:"^never [#Infinitive]",group:0,tag:"Imperative",reason:"never-stop"},{match:"^come #Infinitive",tag:"Imperative",notIf:"on",reason:"come-have"},{match:"^come and? #Infinitive",tag:"Imperative . Imperative",notIf:"#PhrasalVerb",reason:"come-and-have"},{match:"^stay (out|away|back)",tag:"Imperative",reason:"stay-away"},{match:"^[(stay|be|keep)] #Adjective",group:0,tag:"Imperative",reason:"stay-cool"},{match:"^[keep it] #Adjective",group:0,tag:"Imperative",reason:"keep-it-cool"},{match:"^do not [#Infinitive]",group:0,tag:"Imperative",reason:"do-not-be"},{match:"[#Infinitive] (yourself|yourselves)",group:0,tag:"Imperative",reason:"allow-yourself"},{match:"[#Infinitive] what .",group:0,tag:"Imperative",reason:"look-what"},{match:"^[#Infinitive] #Gerund",group:0,tag:"Imperative",reason:"keep-playing"},{match:"^[#Infinitive] (to|for|into|toward|here|there)",group:0,tag:"Imperative",reason:"go-to"},{match:"^[#Infinitive] (and|or) #Infinitive",group:0,tag:"Imperative",reason:"inf-and-inf"},{match:"^[%Noun|Verb%] to",group:0,tag:"Imperative",reason:"commit-to"},{match:"^[#Infinitive] #Adjective? #Singular #Singular",group:0,tag:"Imperative",reason:"maintain-eye-contact"},{match:"do not (forget|omit|neglect) to [#Infinitive]",group:0,tag:"Imperative",reason:"do-not-forget"},{match:"^[(ask|wear|pay|look|help|show|watch|act|fix|kill|stop|start|turn|try|win)] #Noun",group:0,tag:"Imperative",reason:"pay-attention"}],[{match:"(that|which) were [%Adj|Gerund%]",group:0,tag:"Gerund",reason:"that-were-growing"},{match:"#Gerund [#Gerund] #Plural",group:0,tag:"Adjective",reason:"hard-working-fam"}],[{match:"u r",tag:"#Pronoun #Copula",reason:"u r"},{match:"#Noun [(who|whom)]",group:0,tag:"Determiner",reason:"captain-who"},{match:"[had] #Noun+ #PastTense",group:0,tag:"Condition",reason:"had-he"},{match:"[were] #Noun+ to #Infinitive",group:0,tag:"Condition",reason:"were-he"},{match:"some sort of",tag:"Adjective Noun Conjunction",reason:"some-sort-of"},{match:"of some sort",tag:"Conjunction Adjective Noun",reason:"of-some-sort"},{match:"[such] (a|an|is)? #Noun",group:0,tag:"Determiner",reason:"such-skill"},{match:"[right] (before|after|in|into|to|toward)",group:0,tag:"#Adverb",reason:"right-into"},{match:"#Preposition [about]",group:0,tag:"Adjective",reason:"at-about"},{match:"(are|#Modal|see|do|for) [ya]",group:0,tag:"Pronoun",reason:"are-ya"},{match:"[long live] .",group:0,tag:"#Adjective #Infinitive",reason:"long-live"},{match:"[plenty] of",group:0,tag:"#Uncountable",reason:"plenty-of"},{match:"(always|nearly|barely|practically) [there]",group:0,tag:"Adjective",reason:"always-there"},{match:"[there] (#Adverb|#Pronoun)? #Copula",group:0,tag:"There",reason:"there-is"},{match:"#Copula [there] .",group:0,tag:"There",reason:"is-there"},{match:"#Modal #Adverb? [there]",group:0,tag:"There",reason:"should-there"},{match:"^[do] (you|we|they)",group:0,tag:"QuestionWord",reason:"do-you"},{match:"^[does] (he|she|it|#ProperNoun)",group:0,tag:"QuestionWord",reason:"does-he"},{match:"a [while]",group:0,tag:"Noun",reason:"a-while"},{match:"guess who",tag:"#Infinitive #QuestionWord",reason:"guess-who"},{match:"[fucking] !#Verb",group:0,tag:"#Gerund",reason:"f-as-gerund"}],[{match:"#Noun (&|n) #Noun",tag:"Organization",reason:"Noun-&-Noun"},{match:"#Organization of the? #ProperNoun",tag:"Organization",reason:"org-of-place",safe:!0},{match:"#Organization #Country",tag:"Organization",reason:"org-country"},{match:"#ProperNoun #Organization",tag:"Organization",reason:"titlecase-org"},{match:"#ProperNoun (ltd|co|inc|dept|assn|bros)",tag:"Organization",reason:"org-abbrv"},{match:"the [#Acronym]",group:0,tag:"Organization",reason:"the-acronym",safe:!0},{match:"(world|global|international|national|#Demonym) #Organization",tag:"Organization",reason:"global-org"},{match:"#Noun+ (public|private) school",tag:"School",reason:"noun-public-school"}],[{match:"(west|north|south|east|western|northern|southern|eastern)+ #Place",tag:"Region",reason:"west-norfolk"},{match:"#City [(al|ak|az|ar|ca|ct|dc|fl|ga|id|il|nv|nh|nj|ny|oh|pa|sc|tn|tx|ut|vt|pr)]",group:0,tag:"Region",reason:"us-state"},{match:"portland [or]",group:0,tag:"Region",reason:"portland-or"},{match:"#ProperNoun+ (district|region|province|county|prefecture|municipality|territory|burough|reservation)",tag:"Region",reason:"foo-district"},{match:"#ProperNoun+ (river|lake|bay|inlet|creek|narrows|cove|dune|coast|lagoon|beach|peninsula|hill|mountain|canyon|marsh|island|trail|valley|glacier|estuary|desert|escarpment|gorge|plains|waterfall)",tag:"Place",reason:"foo-river"},{match:"(river|gulf|lake) of? #ProperNoun+",tag:"Place",reason:"river-foo"},{match:"(district|region|province|municipality|territory|burough|state) of #ProperNoun",tag:"Region",reason:"district-of-Foo"},{match:"in [#ProperNoun] #Place",group:0,tag:"Place",reason:"propernoun-place"},{match:"#Value #Noun (st|street|rd|road|crescent|cr|way|tr|terrace|avenue|ave)",tag:"Address",reason:"address-st"}],[{match:"[so] #Noun",group:0,tag:"Conjunction",reason:"so-conj"},{match:"[(who|what|where|why|how|when)] #Noun #Copula #Adverb? (#Verb|#Adjective)",group:0,tag:"Conjunction",reason:"how-he-is-x"},{match:"#Copula [(who|what|where|why|how|when)] #Noun",group:0,tag:"Conjunction",reason:"when-he"},{match:"#Verb [that] #Pronoun",group:0,tag:"Conjunction",reason:"said-that-he"},{match:"#Noun [that] #Copula",group:0,tag:"Conjunction",reason:"that-are"},{match:"#Noun [that] #Verb #Adjective",group:0,tag:"Conjunction",reason:"that-seem"},{match:"#Noun #Copula not? [that] #Adjective",group:0,tag:"Adverb",reason:"that-adj"},{match:"#Verb #Adverb? #Noun [(that|which)]",group:0,tag:"Preposition",reason:"that-prep"},{match:"@hasComma [which] (#Pronoun|#Verb)",group:0,tag:"Preposition",reason:"which-copula"},{match:"#Noun [like] #Noun",group:0,tag:"Preposition",reason:"noun-like"},{match:"^[like] #Determiner",group:0,tag:"Preposition",reason:"like-the"},{match:"a #Noun [like] (#Noun|#Determiner)",group:0,tag:"Preposition",reason:"a-noun-like"},{match:"#Adverb [like]",group:0,tag:"Verb",reason:"really-like"},{match:"(not|nothing|never) [like]",group:0,tag:"Preposition",reason:"nothing-like"},{match:"#Infinitive #Pronoun [like]",group:0,tag:"Preposition",reason:"treat-them-like"},{match:"[#QuestionWord] (#Pronoun|#Determiner)",group:0,tag:"Preposition",reason:"how-he"},{match:"[#QuestionWord] #Participle",group:0,tag:"Preposition",reason:"when-stolen"},{match:"[how] (#Determiner|#Copula|#Modal|#PastTense)",group:0,tag:"QuestionWord",reason:"how-is"},{match:"#Plural [(who|which|when)] .",group:0,tag:"Preposition",reason:"people-who"}],[{match:"holy (shit|fuck|hell)",tag:"Expression",reason:"swears-expression"},{match:"^[(well|so|okay|now)] !#Adjective?",group:0,tag:"Expression",reason:"well-"},{match:"^come on",tag:"Expression",reason:"come-on"},{match:"(say|says|said) [sorry]",group:0,tag:"Expression",reason:"say-sorry"},{match:"^(ok|alright|shoot|hell|anyways)",tag:"Expression",reason:"ok-"},{match:"^(say && @hasComma)",tag:"Expression",reason:"say-"},{match:"^(like && @hasComma)",tag:"Expression",reason:"like-"},{match:"^[(dude|man|girl)] #Pronoun",group:0,tag:"Expression",reason:"dude-i"}]),Ru=null;var _u={postTagger:function(e){const{world:t}=e,{model:n,methods:r}=t;Ru=Ru||r.one.buildNet(n.two.matches,t);let a=r.two.quickSplit(e.document).map((e=>{let t=e[0];return[t.index[0],t.index[1],t.index[1]+e.length]})),o=e.update(a);return o.cache(),o.sweep(Ru),e.uncache(),e},tagger:e=>e.compute(["lexicon","preTagger","postTagger"])};const Xu={api:function(e){e.prototype.confidence=function(){let e=0,t=0;return this.docs.forEach((n=>{n.forEach((n=>{t+=1,e+=n.confidence||1}))})),0===t?1:(e=>Math.round(100*e)/100)(e/t)},e.prototype.tagger=function(){return this.compute(["tagger"])}},compute:_u,model:{two:{matches:Qu}},hooks:["postTagger"]};var Zu=Xu,Yu=function(e,t){let n=function(e){return Object.keys(e.hooks).filter((e=>!e.startsWith("#")&&!e.startsWith("%")))}(t);if(0===n.length)return e;e._cache||e.cache();let r=e._cache;return e.filter(((e,t)=>n.some((e=>r[t].has(e)))))},ec=function(e,t){let n=t;"string"==typeof t&&(n=this.buildNet([{match:t}]));let r=this.tokenize(e),a=Yu(r,n);return a.found?(a.compute(["index","tagger"]),a.match(t)):r.none()},tc={lib:{lazy:ec}},nc=function(e,t){let n=t;return e.forEach((e=>{e.has("#Infinitive")||(n=function(e,t){let n=(0,e.methods.two.transform.verb.conjugate)(t,e.model);return e.has("#Gerund")?n.Gerund:e.has("#PastTense")?n.PastTense:e.has("#PresentTense")?n.PresentTense:e.has("#Gerund")?n.Gerund:t}(e,t)),e.replaceWith(n)})),e},rc=function(e,t,n){let r=e.split(/ /g).map((e=>e.toLowerCase().trim()));r=r.filter((e=>e)),r=r.map((e=>`{${e}}`)).join(" ");let a=this.match(r);return n&&(a=a.if(n)),a.has("#Verb")?nc(a,t):a.has("#Noun")?function(e,t){let n=t;e.has("#Plural")&&(n=(0,e.methods.two.transform.noun.toPlural)(t,e.model)),e.replaceWith(n,{possessives:!0})}(a,t):a.has("#Adverb")?function(e,t){const{toAdverb:n}=e.methods.two.transform.adjective;let r=n(t);r&&e.replaceWith(r)}(a,t):a.has("#Adjective")?function(e,t){const{toComparative:n,toSuperlative:r}=e.methods.two.transform.adjective;let a=t;e.has("#Comparative")?a=n(a,e.model):e.has("#Superlative")&&(a=r(a,e.model)),a&&e.replaceWith(a)}(a,t):this},ac={api:function(e){e.prototype.swap=rc}};v.plugin(Nu),v.plugin(Ku),v.plugin(Zu),v.plugin(tc),v.plugin(ac);const oc=function(e){const{fromComparative:t,fromSuperlative:n}=e.methods.two.transform.adjective;let r=e.text("normal");return e.has("#Comparative")?t(r,e.model):e.has("#Superlative")?n(r,e.model):r};var ic={api:function(e){class Adjectives extends e{constructor(e,t,n){super(e,t,n),this.viewType="Adjectives"}json(e={}){const{toAdverb:t,toNoun:n,toSuperlative:r,toComparative:a}=this.methods.two.transform.adjective;return e.normal=!0,this.map((o=>{let i=o.toView().json(e)[0]||{},s=oc(o);return i.adjective={adverb:t(s,this.model),noun:n(s,this.model),superlative:r(s,this.model),comparative:a(s,this.model)},i}),[])}adverbs(){return this.before("#Adverb+$").concat(this.after("^#Adverb+"))}conjugate(e){const{toComparative:t,toSuperlative:n,toNoun:r,toAdverb:a}=this.methods.two.transform.adjective;return this.getNth(e).map((e=>{let o=oc(e);return{Adjective:o,Comparative:t(o,this.model),Superlative:n(o,this.model),Noun:r(o,this.model),Adverb:a(o,this.model)}}),[])}toComparative(e){const{toComparative:t}=this.methods.two.transform.adjective;return this.getNth(e).map((e=>{let n=oc(e),r=t(n,this.model);return e.replaceWith(r)}))}toSuperlative(e){const{toSuperlative:t}=this.methods.two.transform.adjective;return this.getNth(e).map((e=>{let n=oc(e),r=t(n,this.model);return e.replaceWith(r)}))}toAdverb(e){const{toAdverb:t}=this.methods.two.transform.adjective;return this.getNth(e).map((e=>{let n=oc(e),r=t(n,this.model);return e.replaceWith(r)}))}toNoun(e){const{toNoun:t}=this.methods.two.transform.adjective;return this.getNth(e).map((e=>{let n=oc(e),r=t(n,this.model);return e.replaceWith(r)}))}}e.prototype.adjectives=function(e){let t=this.match("#Adjective");return t=t.getNth(e),new Adjectives(t.document,t.pointer)},e.prototype.superlatives=function(e){let t=this.match("#Superlative");return t=t.getNth(e),new Adjectives(t.document,t.pointer)},e.prototype.comparatives=function(e){let t=this.match("#Comparative");return t=t.getNth(e),new Adjectives(t.document,t.pointer)}}},sc={api:function(e){class Adverbs extends e{constructor(e,t,n){super(e,t,n),this.viewType="Adverbs"}conjugate(e){return this.getNth(e).map((e=>{let t=function(e){return e.compute("root").text("root")}(e);return{Adverb:e.text("normal"),Adjective:t}}),[])}json(e={}){const t=this.methods.two.transform.adjective.fromAdverb;return e.normal=!0,this.map((n=>{let r=n.toView().json(e)[0]||{};return r.adverb={adjective:t(r.normal)},r}),[])}}e.prototype.adverbs=function(e){let t=this.match("#Adverb");return t=t.getNth(e),new Adverbs(t.document,t.pointer)}}},lc=function(e){let t=this;return t=function(e){let t=e.parentheses();return t=t.filter((e=>e.wordCount()>=3&&e.has("#Verb")&&e.has("#Noun"))),e.splitOn(t)}(t),t=function(e){let t=e.quotations();return t=t.filter((e=>e.wordCount()>=3&&e.has("#Verb")&&e.has("#Noun"))),e.splitOn(t)}(t),t=function(e){let t=e.match("@hasComma");return t=t.filter((e=>{if(1===e.growLeft(".").wordCount())return!1;if(1===e.growRight(". .").wordCount())return!1;let t=e.grow(".");return t=t.ifNo("@hasComma @hasComma"),t=t.ifNo("@hasComma (and|or) ."),t=t.ifNo("(#City && @hasComma) #Country"),t=t.ifNo("(#WeekDay && @hasComma) #Date"),t=t.ifNo("(#Date+ && @hasComma) #Value"),t=t.ifNo("(#Adjective && @hasComma) #Adjective"),t.found})),e.splitAfter(t)}(t),t=t.splitAfter("(@hasEllipses|@hasSemicolon|@hasDash|@hasColon)"),t=t.splitAfter("^#Pronoun (said|says)"),t=t.splitBefore("(said|says) #ProperNoun$"),t=t.splitBefore(". . if .{4}"),t=t.splitBefore("and while"),t=t.splitBefore("now that"),t=t.splitBefore("ever since"),t=t.splitBefore("(supposing|although)"),t=t.splitBefore("even (while|if|though)"),t=t.splitBefore("(whereas|whose)"),t=t.splitBefore("as (though|if)"),t=t.splitBefore("(til|until)"),"number"==typeof e&&(t=t.get(e)),t},uc=function(e){let t=[],n=null;return e.clauses().docs.forEach((e=>{e.forEach((e=>{e.chunk&&e.chunk===n?t[t.length-1][2]=e.index[1]+1:(n=e.chunk,t.push([e.index[0],e.index[1],e.index[1]+1]))})),n=null})),e.update(t)},cc=function(e){class Chunks extends e{constructor(e,t,n){super(e,t,n),this.viewType="Chunks"}isVerb(){return this.filter((e=>e.has("")))}isNoun(){return this.filter((e=>e.has("")))}isAdjective(){return this.filter((e=>e.has("")))}isPivot(){return this.filter((e=>e.has("")))}debug(){return this.toView().debug("chunks"),this}update(e){let t=new Chunks(this.document,e);return t._cache=this._cache,t}}e.prototype.chunks=function(e){let t=uc(this);return t=t.getNth(e),new Chunks(this.document,t.pointer)},e.prototype.clauses=lc};const hc={this:"Noun",then:"Pivot"};var dc=function(e){for(let t=0;t",group:0,chunk:"Verb"},{match:"#Noun of #Determiner? #Noun",chunk:"Noun"},{match:"#Value+ #Adverb? #Adjective",chunk:"Noun"},{match:"the [#Adjective] #Noun",chunk:"Noun"},{match:"#Singular in #Determiner? #Singular",chunk:"Noun"},{match:"#Plural [in] #Determiner? #Noun",group:0,chunk:"Pivot"},{match:"#Noun and #Determiner? #Noun",notIf:"(#Possessive|#Pronoun)",chunk:"Noun"}];let pc=null;var fc=function(e,t,n){const{methods:r}=n;pc=pc||r.one.buildNet(mc,n),e.sweep(pc)};const vc=function(e,t){if(("undefined"!=typeof process&&process.env?process.env:self.env||{}).DEBUG_CHUNKS){let n=(e.normal+"'").padEnd(8);console.log(` | '${n} → ${t.padEnd(12)}  -fallback- `)}e.chunk=t};var bc=function(e){for(let t=0;t{for(let r=0;r{if("Verb"===e.chunk){const t=e.terms.find((e=>e.tags.has("Verb")));t||e.terms.forEach((e=>e.chunk=null))}}))},wc={chunks:function(e){const{document:t,world:n}=e;dc(t),gc(t),fc(e,t,n),bc(t),yc(t)}},kc={compute:wc,api:cc,hooks:["chunks"]};const Pc=/\./g;var Ac=function(e){class Acronyms extends e{constructor(e,t,n){super(e,t,n),this.viewType="Acronyms"}strip(){return this.docs.forEach((e=>{e.forEach((e=>{e.text=e.text.replace(Pc,""),e.normal=e.normal.replace(Pc,"")}))})),this}addPeriods(){return this.docs.forEach((e=>{e.forEach((e=>{e.text=e.text.replace(Pc,""),e.normal=e.normal.replace(Pc,""),e.text=e.text.split("").join(".")+".",e.normal=e.normal.split("").join(".")+"."}))})),this}}e.prototype.acronyms=function(e){let t=this.match("#Acronym");return t=t.getNth(e),new Acronyms(t.document,t.pointer)}};const Ic=/\(/,Nc=/\)/,jc=function(e,t){for(;t{e[0].pre=e[0].pre.replace(Ic,"");let t=e[e.length-1];t.post=t.post.replace(Nc,"")})),e}(this)}}e.prototype.parentheses=function(e){let t=function(e){let t=[];return e.docs.forEach((e=>{for(let n=0;n{e.forEach((e=>{e.text=e.text.replace(xc,""),e.normal=e.normal.replace(xc,"")}))})),this}}e.prototype.possessives=function(e){let t=function(e){let t=e.match("#Possessive+");return t.has("#Person")&&(t=t.growLeft("#Person+")),t.has("#Place")&&(t=t.growLeft("#Place+")),t.has("#Organization")&&(t=t.growLeft("#Organization+")),t}(this);return t=t.getNth(e),new Possessives(t.document,t.pointer)}};const Tc={'"':'"',""":""","'":"'","“":"”","‘":"’","‟":"”","‛":"’","„":"”","⹂":"”","‚":"’","«":"»","‹":"›","‵":"′","‶":"″","‷":"‴","〝":"〞","`":"´","〟":"〞"},Cc=RegExp("["+Object.keys(Tc).join("")+"]"),Oc=RegExp("["+Object.values(Tc).join("")+"]"),Fc=function(e,t){const n=e[t].pre.match(Cc)[0]||"";if(!n||!Tc[n])return null;const r=Tc[n];for(;t{e[0].pre=e[0].pre.replace(Cc,"");let t=e[e.length-1];t.post=t.post.replace(Oc,"")}))}(this)}}e.prototype.quotations=function(e){let t=function(e){let t=[];return e.docs.forEach((e=>{for(let n=0;n{e.prototype[t[0]]=function(e){let n=this.match(t[1]);return"number"==typeof e?n.get(e):n}})),e.prototype.phoneNumbers=Gc,Lc.forEach((t=>{e.prototype[t[0]]=e.prototype[t[1]]}))},Sc={api:function(e){Ac(e),Ec(e),Dc(e),Vc(e),$c(e)}};const Mc=function(e,t){e.docs.forEach((e=>{e.forEach(t)}))};var Bc={case:e=>{Mc(e,(e=>{e.text=e.text.toLowerCase()}))},unicode:e=>{const t=e.world,n=t.methods.one.killUnicode;Mc(e,(e=>e.text=n(e.text,t)))},whitespace:e=>{Mc(e,(e=>{e.post=e.post.replace(/\s+/g," "),e.post=e.post.replace(/\s([.,?!:;])/g,"$1"),e.pre=e.pre.replace(/\s+/g,"")}))},punctuation:e=>{Mc(e,(e=>{e.post=e.post.replace(/[–—-]/g," "),e.post=e.post.replace(/[,:;]/g,""),e.post=e.post.replace(/\.{2,}/g,""),e.post=e.post.replace(/\?{2,}/g,"?"),e.post=e.post.replace(/!{2,}/g,"!"),e.post=e.post.replace(/\?!+/g,"?")}));let t=e.docs,n=t[t.length-1];if(n&&n.length>0){let e=n[n.length-1];e.post=e.post.replace(/ /g,"")}},contractions:e=>{e.contractions().expand()},acronyms:e=>{e.acronyms().strip()},parentheses:e=>{e.parentheses().strip()},possessives:e=>{e.possessives().strip()},quotations:e=>{e.quotations().strip()},emoji:e=>{e.emojis().remove()},honorifics:e=>{e.match("#Honorific+ #Person").honorifics().remove()},adverbs:e=>{e.adverbs().remove()},nouns:e=>{e.nouns().toSingular()},verbs:e=>{e.verbs().toInfinitive()},numbers:e=>{e.numbers().toNumber()},debullet:e=>{const t=/^\s*([-–—*•])\s*$/;return e.docs.forEach((e=>{t.test(e[0].pre)&&(e[0].pre=e[0].pre.replace(t,""))})),e}};const Hc=e=>e.split("|").reduce(((e,t)=>(e[t]=!0,e)),{}),Jc="unicode|punctuation|whitespace|acronyms",Wc="|case|contractions|parentheses|quotations|emoji|honorifics|debullet",Kc={light:Hc(Jc),medium:Hc(Jc+Wc),heavy:Hc(Jc+Wc+"|possessives|adverbs|nouns|verbs")};var qc={api:function(e){e.prototype.normalize=function(e="light"){return"string"==typeof e&&(e=Kc[e]),Object.keys(e).forEach((t=>{Bc.hasOwnProperty(t)&&Bc[t](this,e[t])})),this}}},Uc=function(e){let t=e.clauses().match(""),n=t.match("@hasComma");return n=n.not("#Place"),n.found&&(t=t.splitAfter(n)),t=t.splitOn("#Expression"),t=t.splitOn("(he|she|we|you|they|i)"),t=t.splitOn("(#Noun|#Adjective) [(he|him|she|it)]",0),t=t.splitOn("[(he|him|she|it)] (#Determiner|#Value)",0),t=t.splitBefore("#Noun [(the|a|an)] #Adjective? #Noun",0),t=t.splitOn("[(here|there)] #Noun",0),t=t.splitOn("[#Noun] (here|there)",0),t=t.splitBefore("(our|my|their|your)"),t=t.splitOn("#Noun [#Determiner]",0),t=t.if("#Noun"),t};const Qc=["after","although","as if","as long as","as","because","before","even if","even though","ever since","if","in order that","provided that","since","so that","than","that","though","unless","until","what","whatever","when","whenever","where","whereas","wherever","whether","which","whichever","who","whoever","whom","whomever","whose"];var Rc=function(e){if(e.before("#Preposition$").found)return!0;if(!e.before().found)return!1;for(let t=0;t3&&n.endsWith("s")&&!n.endsWith("ss")},Xc=function(e){let t=function(e){let t=e.clone();return t=t.match("#Noun+"),t=t.remove("(#Adjective|#Preposition|#Determiner|#Value)"),t=t.not("#Possessive"),t=t.first(),t.found?t:e}(e);return{determiner:e.match("#Determiner").eq(0),adjectives:e.match("#Adjective"),number:e.values(),isPlural:_c(e,t),isSubordinate:Rc(e),root:t}};const Zc=e=>e.text(),Yc=e=>e.json({terms:!1,normal:!0}).map((e=>e.normal)),eh=function(e){if(!e.found)return null;let t=e.values(0);return t.found?(t.parse()[0]||{}).num:null};var th=function(e){let t=Xc(e);return{root:Zc(t.root),number:eh(t.number),determiner:Zc(t.determiner),adjectives:Yc(t.adjectives),isPlural:t.isPlural,isSubordinate:t.isSubordinate}},nh=function(e){return!e.has("^(#Uncountable|#ProperNoun|#Place|#Pronoun|#Acronym)+$")};const rh={tags:!0};var ah=function(e,t){if(!0===t.isPlural)return e;if(t.root.has("#Possessive")&&(t.root=t.root.possessives().strip()),!nh(t.root))return e;const{methods:n,model:r}=e.world,{toPlural:a}=n.two.transform.noun;let o=a(t.root.text({keepPunct:!1}),r);e.match(t.root).replaceWith(o,rh).tag("Plural","toPlural"),t.determiner.has("(a|an)")&&e.remove(t.determiner);let i=t.root.after("not? #Adverb+? [#Copula]",0);return i.found&&(i.has("is")?e.replace(i,"are"):i.has("was")&&e.replace(i,"were")),e};const oh={tags:!0};var ih=function(e,t){if(!1===t.isPlural)return e;const{methods:n,model:r}=e.world,{toSingular:a}=n.two.transform.noun;let o=a(t.root.text("normal"),r);return e.replace(t.root,o,oh).tag("Singular","toPlural"),e},sh=function(e){class Nouns extends e{constructor(e,t,n){super(e,t,n),this.viewType="Nouns"}parse(e){return this.getNth(e).map(Xc)}json(e){let t="object"==typeof e?e:{};return this.getNth(e).map((e=>{let n=e.toView().json(t)[0]||{};return t&&!0!==t.noun&&(n.noun=th(e)),n}),[])}conjugate(e){const t=this.world.methods.two.transform.noun;return this.getNth(e).map((e=>{let n=Xc(e),r=n.root.compute("root").text("root"),a={Singular:r};return nh(n.root)&&(a.Plural=t.toPlural(r,this.model)),a.Singular===a.Plural&&delete a.Plural,a}),[])}isPlural(e){let t=this.filter((e=>Xc(e).isPlural));return t.getNth(e)}isSingular(e){let t=this.filter((e=>!Xc(e).isPlural));return t.getNth(e)}adjectives(e){let t=this.update([]);return this.forEach((e=>{let n=Xc(e).adjectives;n.found&&(t=t.concat(n))})),t.getNth(e)}toPlural(e){return this.getNth(e).map((e=>ah(e,Xc(e))))}toSingular(e){return this.getNth(e).map((e=>{let t=Xc(e);return ih(e,t)}))}update(e){let t=new Nouns(this.document,e);return t._cache=this._cache,t}}e.prototype.nouns=function(e){let t=Uc(this);return t=t.getNth(e),new Nouns(this.document,t.pointer)}},lh={api:sh},uh=function(e,t){let n=e.match("#Fraction+");return n=n.filter((e=>!e.lookBehind("#Value and$").found)),n=n.notIf("#Value seconds"),"number"==typeof t&&(n=n.eq(t)),n},ch=e=>{const t=[{reg:/^(minus|negative)[\s-]/i,mult:-1},{reg:/^(a\s)?half[\s-](of\s)?/i,mult:.5}];for(let n=0;n{if(hh.ones.hasOwnProperty(e)){if(t.ones||t.teens)return!1}else if(hh.teens.hasOwnProperty(e)){if(t.ones||t.teens||t.tens)return!1}else if(hh.tens.hasOwnProperty(e)&&(t.ones||t.teens||t.tens))return!1;return!0},gh=function(e){let t="0.";for(let n=0;ne=(e=(e=(e=(e=(e=(e=(e=e.replace(/1st$/,"1")).replace(/2nd$/,"2")).replace(/3rd$/,"3")).replace(/([4567890])r?th$/,"$1")).replace(/^[$€¥£¢]/,"")).replace(/[%$€¥£¢]$/,"")).replace(/,/g,"")).replace(/([0-9])([a-z\u00C0-\u00FF]{1,2})$/,"$1");const ph=/^([0-9,. ]+)\/([0-9,. ]+)$/,fh={"a few":3,"a couple":2,"a dozen":12,"two dozen":24,zero:0},vh=e=>Object.keys(e).reduce(((t,n)=>t+=e[n]),0);var bh=function(e){if(!0===fh.hasOwnProperty(e))return fh[e];if("a"===e||"an"===e)return 1;const t=ch(e);let n=null,r={},a=0,o=!1;const i=(e=t.str).split(/[ -]/);for(let e=0;e#Value+] out of every? [#Value+]");if(!0!==t.found)return null;let{num:n,den:r}=t.groups();return n&&r?(n=wh(n),r=wh(r),n&&r&&"number"==typeof n&&"number"==typeof r?{numerator:n,denominator:r}:null):null}(e)||function(e){let t=e.match("[(#Cardinal|a)+] [#Fraction+]");if(!0!==t.found)return null;let{num:n,den:r}=t.groups();n=n.has("a")?1:wh(n);let a=r.text("reduced");return yh.test(a)&&(a=a.replace(yh,""),r=r.replaceWith(a)),r=kh.hasOwnProperty(a)?kh[a]:wh(r),"number"==typeof n&&"number"==typeof r?{numerator:n,denominator:r}:null}(e)||function(e){let t=e.match("^#Ordinal$");return!0!==t.found?null:e.lookAhead("^of .")?{numerator:1,denominator:wh(t)}:null}(e)||null;return null!==t&&t.numerator&&t.denominator&&(t.decimal=t.numerator/t.denominator,t.decimal=(e=>{let t=Math.round(1e3*e)/1e3;return 0===t&&0!==e?e:t})(t.decimal)),t},Ah=function(e){if(e<1e6)return String(e);let t;return t="number"==typeof e?e.toFixed(0):e,-1===t.indexOf("e+")?t:t.replace(".","").split("e+").reduce((function(e,t){return e+Array(t-e.length+2).join(0)}))};const Ih=[["ninety",90],["eighty",80],["seventy",70],["sixty",60],["fifty",50],["forty",40],["thirty",30],["twenty",20]],Nh=["","one","two","three","four","five","six","seven","eight","nine","ten","eleven","twelve","thirteen","fourteen","fifteen","sixteen","seventeen","eighteen","nineteen"],jh=[[1e24,"septillion"],[1e20,"hundred sextillion"],[1e21,"sextillion"],[1e20,"hundred quintillion"],[1e18,"quintillion"],[1e17,"hundred quadrillion"],[1e15,"quadrillion"],[1e14,"hundred trillion"],[1e12,"trillion"],[1e11,"hundred billion"],[1e9,"billion"],[1e8,"hundred million"],[1e6,"million"],[1e5,"hundred thousand"],[1e3,"thousand"],[100,"hundred"],[1,"one"]],Eh=function(e){let t=[];if(e>100)return t;for(let n=0;n=Ih[n][1]&&(e-=Ih[n][1],t.push(Ih[n][0]));return Nh[e]&&t.push(Nh[e]),t};var xh=function(e){let t=e.num;if(0===t||"0"===t)return"zero";t>1e21&&(t=Ah(t));let n=[];t<0&&(n.push("minus"),t=Math.abs(t));let r=function(e){let t=e,n=[];return jh.forEach((r=>{if(e>=r[0]){let e=Math.floor(t/r[0]);t-=e*r[0],e&&n.push({unit:r[1],count:e})}})),n}(t);for(let e=0;e1&&n.push("and")),n=n.concat(Eh(r[e].count)),n.push(t)}return n=n.concat((e=>{const t=["zero","one","two","three","four","five","six","seven","eight","nine"];let n=[],r=Ah(e).match(/\.([0-9]+)/);if(!r||!r[0])return n;n.push("point");let a=r[0].split("");for(let e=0;ee)),0===n.length&&(n[0]=""),n.join(" ")},Dh=function(e){return e.numerator&&e.denominator?`${xh({num:e.numerator})} out of ${xh({num:e.denominator})}`:""};const Th={one:"first",two:"second",three:"third",five:"fifth",eight:"eighth",nine:"ninth",twelve:"twelfth",twenty:"twentieth",thirty:"thirtieth",forty:"fortieth",fourty:"fourtieth",fifty:"fiftieth",sixty:"sixtieth",seventy:"seventieth",eighty:"eightieth",ninety:"ninetieth"};var Ch=e=>{let t=xh(e).split(" "),n=t[t.length-1];return Th.hasOwnProperty(n)?t[t.length-1]=Th[n]:t[t.length-1]=n.replace(/y$/,"i")+"th",t.join(" ")},Oh=function(e){if(!e.numerator||!e.denominator)return"";let t=xh({num:e.numerator}),n=Ch({num:e.denominator});return 2===e.denominator&&(n="half"),t&&n?(1!==e.numerator&&(n+="s"),`${t} ${n}`):""},Fh=function(e){class Fractions extends e{constructor(e,t,n){super(e,t,n),this.viewType="Fractions"}parse(e){return this.getNth(e).map(Ph)}get(e){return this.getNth(e).map(Ph)}json(e){return this.getNth(e).map((t=>{let n=t.toView().json(e)[0],r=Ph(t);return n.fraction=r,n}),[])}toDecimal(e){return this.getNth(e).forEach((e=>{let{decimal:t}=Ph(e);(e=e.replaceWith(String(t),!0)).tag("NumericValue"),e.unTag("Fraction")})),this}toFraction(e){return this.getNth(e).forEach((e=>{let t=Ph(e);if(t&&"number"==typeof t.numerator&&"number"==typeof t.denominator){let n=`${t.numerator}/${t.denominator}`;this.replace(e,n)}})),this}toOrdinal(e){return this.getNth(e).forEach((e=>{let t=Ph(e),n=Oh(t);e.after("^#Noun").found&&(n+=" of"),e.replaceWith(n)})),this}toCardinal(e){return this.getNth(e).forEach((e=>{let t=Ph(e),n=Dh(t);e.replaceWith(n)})),this}toPercentage(e){return this.getNth(e).forEach((e=>{let{decimal:t}=Ph(e),n=100*t;n=Math.round(100*n)/100,e.replaceWith(`${n}%`)})),this}}e.prototype.fractions=function(e){let t=uh(this);return t=t.getNth(e),new Fractions(this.document,t.pointer)}};const Vh="twenty|thirty|forty|fifty|sixty|seventy|eighty|ninety|fourty";var Gh=function(e){let t=e.match("#Value+");if(t.has("#NumericValue #NumericValue")&&(t.has("#Value @hasComma #Value")?t.splitAfter("@hasComma"):t.has("#NumericValue #Fraction")?t.splitAfter("#NumericValue #Fraction"):t=t.splitAfter("#NumericValue")),t.has("#Value #Value #Value")&&!t.has("#Multiple")&&t.has("("+Vh+") #Cardinal #Cardinal")&&(t=t.splitAfter("("+Vh+") #Cardinal")),t.has("#Value #Value")){t.has("#NumericValue #NumericValue")&&(t=t.splitOn("#Year")),t.has("("+Vh+") (eleven|twelve|thirteen|fourteen|fifteen|sixteen|seventeen|eighteen|nineteen)")&&(t=t.splitAfter("("+Vh+")"));let e=t.match("#Cardinal #Cardinal");if(e.found&&!t.has("(point|decimal|#Fraction)")&&!e.has("#Cardinal (#Multiple|point|decimal)")){let n=t.has(`(one|two|three|four|five|six|seven|eight|nine) (${Vh})`),r=e.has("("+Vh+") #Cardinal"),a=e.has("#Multiple #Value");n||r||a||e.terms().forEach((e=>{t=t.splitOn(e)}))}t.match("#Ordinal #Ordinal").match("#TextValue").found&&!t.has("#Multiple")&&(t.has("("+Vh+") #Ordinal")||(t=t.splitAfter("#Ordinal"))),t=t.splitBefore("#Ordinal [#Cardinal]",0),t.has("#TextValue #NumericValue")&&!t.has("("+Vh+"|#Multiple)")&&(t=t.splitBefore("#TextValue #NumericValue"))}return t=t.splitAfter("#NumberRange"),t=t.splitBefore("#Year"),t},zh=function(e){if("string"==typeof e)return{num:bh(e)};let t=e.text("reduced"),n=e.growRight("#Unit").match("#Unit$").text("machine"),r=/[0-9],[0-9]/.test(e.text("text"));if(1===e.terms().length&&!e.has("#Multiple")){let a=function(e,t){let n=(e=e.replace(/,/g,"")).split(/([0-9.,]*)/),[r,a]=n,o=n.slice(2).join("");return""!==a&&t.length<2?(a=Number(a||e),"number"!=typeof a&&(a=null),o=o||"","st"!==o&&"nd"!==o&&"rd"!==o&&"th"!==o||(o=""),{prefix:r||"",num:a,suffix:o}):null}(t,e);if(null!==a)return a.hasComma=r,a.unit=n,a}let a=e.match("#Fraction{2,}$");a=!1===a.found?e.match("^#Fraction$"):a;let o=null;a.found&&(a.has("#Value and #Value #Fraction")&&(a=a.match("and #Value #Fraction")),o=Ph(a),t=(e=(e=e.not(a)).not("and$")).text("reduced"));let i=0;return t&&(i=bh(t)||0),o&&o.decimal&&(i+=o.decimal),{hasComma:r,prefix:"",num:i,suffix:"",isOrdinal:e.has("#Ordinal"),isText:e.has("#TextValue"),isFraction:e.has("#Fraction"),isMoney:e.has("#Money"),unit:n}},Lh=function(e){let t=e.num;if(!t&&0!==t)return null;let n=t%100;if(n>10&&n<20)return String(t)+"th";const r={0:"th",1:"st",2:"nd",3:"rd"};let a=Ah(t),o=a.slice(a.length-1,a.length);return a+=r[o]?r[o]:"th",a};const $h={"¢":"cents",$:"dollars","£":"pounds","¥":"yen","€":"euros","₡":"colón","฿":"baht","₭":"kip","₩":"won","₹":"rupees","₽":"ruble","₺":"liras"},Sh={"%":"percent","°":"degrees"};var Mh=function(e){let t={suffix:"",prefix:e.prefix};return $h.hasOwnProperty(e.prefix)&&(t.suffix+=" "+$h[e.prefix],t.prefix=""),Sh.hasOwnProperty(e.suffix)&&(t.suffix+=" "+Sh[e.suffix]),t.suffix&&1===e.num&&(t.suffix=t.suffix.replace(/s$/,"")),!t.suffix&&e.suffix&&(t.suffix+=" "+e.suffix),t},Bh=function(e,t){if("TextOrdinal"===t){let{prefix:t,suffix:n}=Mh(e);return t+Ch(e)+n}if("Ordinal"===t)return e.prefix+Lh(e)+e.suffix;if("TextCardinal"===t){let{prefix:t,suffix:n}=Mh(e);return t+xh(e)+n}let n=e.num;return e.hasComma&&(n=n.toLocaleString()),e.prefix+String(n)+e.suffix},Hh=function(e){class Numbers extends e{constructor(e,t,n){super(e,t,n),this.viewType="Numbers"}parse(e){return this.getNth(e).map(zh)}get(e){return this.getNth(e).map(zh).map((e=>e.num))}json(e){let t="object"==typeof e?e:{};return this.getNth(e).map((e=>{let n=e.toView().json(t)[0],r=zh(e);return n.number={prefix:r.prefix,num:r.num,suffix:r.suffix,hasComma:r.hasComma,unit:r.unit},n}),[])}units(){return this.growRight("#Unit").match("#Unit$")}isOrdinal(){return this.if("#Ordinal")}isCardinal(){return this.if("#Cardinal")}toNumber(){return this.if("#TextValue").forEach((e=>{let t=zh(e);if(null===t.num)return;let n=e.has("#Ordinal")?"Ordinal":"Cardinal",r=Bh(t,n);e.replaceWith(r,{tags:!0}),e.tag("NumericValue")})),this}toLocaleString(){return this.forEach((e=>{let t=zh(e);if(null===t.num)return;let n=t.num.toLocaleString();if(e.has("#Ordinal")){let e=Bh(t,"Ordinal").match(/[a-z]+$/);e&&(n+=e[0]||"")}e.replaceWith(n,{tags:!0})})),this}toText(){let e=this.map((e=>{if(e.has("#TextValue"))return e;let t=zh(e);if(null===t.num)return e;let n=e.has("#Ordinal")?"TextOrdinal":"TextCardinal",r=Bh(t,n);return e.replaceWith(r,{tags:!0}),e.tag("TextValue"),e}));return new Numbers(e.document,e.pointer)}toCardinal(){let e=this.map((e=>{if(!e.has("#Ordinal"))return e;let t=zh(e);if(null===t.num)return e;let n=e.has("#TextValue")?"TextCardinal":"Cardinal",r=Bh(t,n);return e.replaceWith(r,{tags:!0}),e.tag("Cardinal"),e}));return new Numbers(e.document,e.pointer)}toOrdinal(){let e=this.map((e=>{if(e.has("#Ordinal"))return e;let t=zh(e);if(null===t.num)return e;let n=e.has("#TextValue")?"TextOrdinal":"Ordinal",r=Bh(t,n);return e.replaceWith(r,{tags:!0}),e.tag("Ordinal"),e}));return new Numbers(e.document,e.pointer)}isEqual(e){return this.filter((t=>zh(t).num===e))}greaterThan(e){return this.filter((t=>zh(t).num>e))}lessThan(e){return this.filter((t=>zh(t).num{let r=zh(n).num;return r>e&&r{let n=zh(t);if(n.num=e,null===n.num)return t;let r=t.has("#Ordinal")?"Ordinal":"Cardinal";t.has("#TextValue")&&(r=t.has("#Ordinal")?"TextOrdinal":"TextCardinal");let a=Bh(n,r);return n.hasComma&&"Cardinal"===r&&(a=Number(a).toLocaleString()),(t=t.not("#Currency")).replaceWith(a,{tags:!0}),t}));return new Numbers(t.document,t.pointer)}add(e){if(!e)return this;"string"==typeof e&&(e=zh(e).num);let t=this.map((t=>{let n=zh(t);if(null===n.num)return t;n.num+=e;let r=t.has("#Ordinal")?"Ordinal":"Cardinal";n.isText&&(r=t.has("#Ordinal")?"TextOrdinal":"TextCardinal");let a=Bh(n,r);return t.replaceWith(a,{tags:!0}),t}));return new Numbers(t.document,t.pointer)}subtract(e,t){return this.add(-1*e,t)}increment(e){return this.add(1,e)}decrement(e){return this.add(-1,e)}update(e){let t=new Numbers(this.document,e);return t._cache=this._cache,t}}Numbers.prototype.toNice=Numbers.prototype.toLocaleString,Numbers.prototype.isBetween=Numbers.prototype.between,Numbers.prototype.minus=Numbers.prototype.subtract,Numbers.prototype.plus=Numbers.prototype.add,Numbers.prototype.equals=Numbers.prototype.isEqual,e.prototype.numbers=function(e){let t=Gh(this);return t=t.getNth(e),new Numbers(this.document,t.pointer)},e.prototype.percentages=function(e){let t=Gh(this);return t=t.filter((e=>e.has("#Percent")||e.after("^percent"))),t=t.getNth(e),new Numbers(this.document,t.pointer)},e.prototype.money=function(e){let t=Gh(this);return t=t.filter((e=>e.has("#Money")||e.after("^#Currency"))),t=t.getNth(e),new Numbers(this.document,t.pointer)},e.prototype.values=e.prototype.numbers},Jh={api:function(e){Fh(e),Hh(e)}};const Wh={people:!0,emails:!0,phoneNumbers:!0,places:!0},Kh=function(e={}){return!1!==(e=Object.assign({},Wh,e)).people&&this.people().replaceWith("██████████"),!1!==e.emails&&this.emails().replaceWith("██████████"),!1!==e.places&&this.places().replaceWith("██████████"),!1!==e.phoneNumbers&&this.phoneNumbers().replaceWith("███████"),this},qh={api:function(e){e.prototype.redact=Kh}};var Uh=qh,Qh=function(e){const t=/\?/,{document:n}=e;return e.filter((e=>{let r=e.docs[0]||[],a=r[r.length-1];return!(!a||n[a.index[0]].length!==r.length)&&(!!t.test(a.post)||function(e){let t=e.clauses();return!(/\.\.$/.test(e.out("text"))||e.has("^#QuestionWord")&&e.has("@hasComma")||!e.has("or not$")&&!e.has("^#QuestionWord")&&!e.has("^(do|does|did|is|was|can|could|will|would|may) #Noun")&&!e.has("^(have|must) you")&&!t.has("(do|does|is|was) #Noun+ #Adverb? (#Adjective|#Infinitive)$"))}(e))}))},Rh=function(e){let t=e;return 1===t.length?t:(t=t.if("#Verb"),1===t.length?t:(t=t.ifNo("(after|although|as|because|before|if|since|than|that|though|when|whenever|where|whereas|wherever|whether|while|why|unless|until|once)"),t=t.ifNo("^even (if|though)"),t=t.ifNo("^so that"),t=t.ifNo("^rather than"),t=t.ifNo("^provided that"),1===t.length?t:(t=t.ifNo("(that|which|whichever|who|whoever|whom|whose|whomever)"),1===t.length?t:(t=t.ifNo("(despite|during|before|through|throughout)"),1===t.length?t:(0===t.length&&(t=e),t.eq(0))))))};const _h=function(e){let t=null;return e.has("#PastTense")?t="PastTense":e.has("#FutureTense")?t="FutureTense":e.has("#PresentTense")&&(t="PresentTense"),{tense:t}};var Xh=function(e){let t=e.clauses(),n=Rh(t).chunks(),r=e.none(),a=e.none(),o=e.none();return n.forEach(((e,t)=>{0!==t||e.has("")?a.found||!e.has("")?a.found&&(o=o.concat(e)):a=e:r=e})),a.found&&!r.found&&(r=a.before("+").first()),{subj:r,verb:a,pred:o,grammar:_h(a)}},Zh=function(e){let t=e.verbs(),n=t.eq(0);if(n.has("#PastTense"))return e;if(n.toPastTense(),t.length>1){t=t.slice(1),t=t.filter((e=>!e.lookBehind("to$").found)),t=t.if("#PresentTense"),t=t.notIf("#Gerund");let n=e.match("to #Verb+ #Conjunction #Verb").terms();t=t.not(n),t.found&&t.verbs().toPastTense()}return e},Yh=function(e){let t=e.verbs();return t.eq(0).toPresentTense(),t.length>1&&(t=t.slice(1),t=t.filter((e=>!e.lookBehind("to$").found)),t=t.notIf("#Gerund"),t.found&&t.verbs().toPresentTense()),e},ed=function(e){let t=e.verbs();if(t.eq(0).toFutureTense(),t=(e=e.fullSentence()).verbs(),t.length>1){t=t.slice(1);let e=t.filter((e=>!(e.lookBehind("to$").found||!e.has("#Copula #Gerund")&&(e.has("#Gerund")||!e.has("#Copula")&&e.has("#PresentTense")&&!e.has("#Infinitive")&&e.lookBefore("(he|she|it|that|which)$").found))));e.found&&e.forEach((e=>{if(e.has("#Copula"))return e.match("was").replaceWith("is"),void e.match("is").replaceWith("will be");e.toInfinitive()}))}return e},td=function(e){return e.verbs().toInfinitive(),e},nd=function(e){class Sentences extends e{constructor(e,t,n){super(e,t,n),this.viewType="Sentences"}json(e={}){return this.map((t=>{let n=t.toView().json(e)[0]||{},{subj:r,verb:a,pred:o,grammar:i}=Xh(t);return n.sentence={subject:r.text("normal"),verb:a.text("normal"),predicate:o.text("normal"),grammar:i},n}),[])}toPastTense(e){return this.getNth(e).map((e=>(Xh(e),Zh(e))))}toPresentTense(e){return this.getNth(e).map((e=>(Xh(e),Yh(e))))}toFutureTense(e){return this.getNth(e).map((e=>(Xh(e),e=ed(e))))}toInfinitive(e){return this.getNth(e).map((e=>(Xh(e),td(e))))}toNegative(e){return this.getNth(e).map((e=>(Xh(e),function(e){return e.verbs().first().toNegative().compute("chunks"),e}(e))))}toPositive(e){return this.getNth(e).map((e=>(Xh(e),function(e){return e.verbs().first().toPositive().compute("chunks"),e}(e))))}isQuestion(e){return this.questions(e)}isExclamation(e){let t=this.filter((e=>e.lastTerm().has("@hasExclamation")));return t.getNth(e)}isStatement(e){let t=this.filter((e=>!e.isExclamation().found&&!e.isQuestion().found));return t.getNth(e)}update(e){let t=new Sentences(this.document,e);return t._cache=this._cache,t}}Sentences.prototype.toPresent=Sentences.prototype.toPresentTense,Sentences.prototype.toPast=Sentences.prototype.toPastTense,Sentences.prototype.toFuture=Sentences.prototype.toFutureTense;const t={sentences:function(e){let t=this.map((e=>e.fullSentence()));return t=t.getNth(e),new Sentences(this.document,t.pointer)},questions:function(e){return Qh(this).getNth(e)}};Object.assign(e.prototype,t)},rd={api:nd},ad=function(e){return e.match("#Honorific+? #Person+")},od=function(e){let t={};t.firstName=e.match("#FirstName+"),t.lastName=e.match("#LastName+"),t.honorific=e.match("#Honorific+");let n=t.lastName,r=t.firstName;return r.found&&n.found||r.found||n.found||!e.has("^#Honorific .$")||(t.lastName=e.match(".$")),t};const id="male",sd="female",ld={mr:id,mrs:sd,miss:sd,madam:sd,king:id,queen:sd,duke:id,duchess:sd,baron:id,baroness:sd,count:id,countess:sd,prince:id,princess:sd,sire:id,dame:sd,lady:sd,ayatullah:id,congressman:id,congresswoman:sd,"first lady":sd,mx:null};var ud=function(e,t){let{firstName:n,honorific:r}=e;if(n.has("#FemaleName"))return sd;if(n.has("#MaleName"))return id;if(r.found){let e=r.text("normal");if(e=e.replace(/\./g,""),ld.hasOwnProperty(e))return ld[e];if(/^her /.test(e))return sd;if(/^his /.test(e))return id}let a=t.after();if(!a.has("#Person")&&a.has("#Pronoun")){let e=a.match("#Pronoun");if(e.has("(they|their)"))return null;let t=e.has("(he|his)"),n=e.has("(she|her|hers)");if(t&&!n)return id;if(n&&!t)return sd}return null},cd=function(e){class People extends e{constructor(e,t,n){super(e,t,n),this.viewType="People"}parse(e){return this.getNth(e).map(od)}json(e){let t="object"==typeof e?e:{};return this.getNth(e).map((e=>{let n=e.toView().json(t)[0],r=od(e);return n.person={firstName:r.firstName.text("normal"),lastName:r.lastName.text("normal"),honorific:r.honorific.text("normal"),presumed_gender:ud(r,e)},n}),[])}presumedMale(){return this.filter((e=>e.has("(#MaleName|mr|mister|sr|jr|king|pope|prince|sir)")))}presumedFemale(){return this.filter((e=>e.has("(#FemaleName|mrs|miss|queen|princess|madam)")))}update(e){let t=new People(this.document,e);return t._cache=this._cache,t}}e.prototype.people=function(e){let t=ad(this);return t=t.getNth(e),new People(this.document,t.pointer)}},hd=function(e){let t=e.match("(#Place|#Address)+"),n=t.match("@hasComma");return n=n.filter((e=>!!e.has("(asia|africa|europe|america)$")||!e.has("(#City|#Region|#ProperNoun)$")||!e.after("^(#Country|#Region)").found)),t=t.splitAfter(n),t},dd=function(e){e.prototype.places=function(t){let n=hd(this);return n=n.getNth(t),new e(this.document,n.pointer)}},gd=function(e){e.prototype.organizations=function(e){return this.match("#Organization+").getNth(e)}};const md=function(e){let t=this.clauses(),n=t.people();return n=n.concat(t.places()),n=n.concat(t.organizations()),n=n.not("(someone|man|woman|mother|brother|sister|father)"),n=n.sort("seq"),n=n.getNth(e),n};var pd=function(e){e.prototype.topics=md},fd={api:function(e){cd(e),dd(e),gd(e),pd(e)}},vd=function(e){let t=e.match("");return t=t.not("#Conjunction"),t=t.not("#Preposition"),t=t.splitAfter("@hasComma"),t=t.splitAfter("[(do|did|am|was|is|will)] (is|was)",0),t=t.splitBefore("(#Verb && !#Copula) [being] #Verb",0),t=t.splitBefore("#Verb [to be] #Verb",0),t=t.splitAfter("[help] #PresentTense",0),t=t.splitBefore("(#PresentTense|#PastTense) [#Copula]$",0),t=t.splitBefore("(#PresentTense|#PastTense) [will be]$",0),t=t.splitBefore("(#PresentTense|#PastTense) [(had|has)]",0),t=t.not("#Reflexive$"),t=t.not("#Adjective"),t=t.splitAfter("[#PastTense] #PastTense",0),t=t.splitAfter("[#PastTense] #Auxiliary+ #PastTense",0),t=t.splitAfter("#Copula [#Gerund] #PastTense",0),t=t.if("#Verb"),t.has("(#Verb && !#Auxiliary) #Adverb+? #Copula")&&(t=t.splitBefore("#Copula")),t},bd=function(e){let t=e;return e.wordCount()>1&&(t=e.not("(#Negative|#Auxiliary|#Modal|#Adverb|#Prefix)")),t.length>1&&!t.has("#Phrasal #Particle")&&(t=t.last()),t=t.not("(want|wants|wanted) to"),t.found||(t=e.not("#Negative")),t},yd=function(e,t){let n={pre:e.none(),post:e.none()};if(!e.has("#Adverb"))return n;let r=e.splitOn(t);return 3===r.length?{pre:r.eq(0).adverbs(),post:r.eq(2).adverbs()}:r.eq(0).isDoc(t)?(n.post=r.eq(1).adverbs(),n):(n.pre=r.eq(0).adverbs(),n)};const wd=function(e,t){let n=e.splitBefore(t);if(n.length<=1)return e.none();let r=n.eq(0);return r=r.not("(#Adverb|#Negative|#Prefix)"),r},kd=function(e){return e.match("#Negative")},Pd=function(e){if(!e.has("(#Particle|#PhrasalVerb)"))return{verb:e.none(),particle:e.none()};let t=e.match("#Particle$");return{verb:e.not(t),particle:t}};var Ad=function(e){let t=e.clone();t.contractions().expand();const n=bd(t);return{root:n,prefix:t.match("#Prefix"),adverbs:yd(t,n),auxiliary:wd(t,n),negative:kd(t),phrasal:Pd(n)}};const Id={tense:"PresentTense"},Nd={conditional:!0},jd={tense:"FutureTense"},Ed={progressive:!0},xd={tense:"PastTense"},Dd={complete:!0,progressive:!1},Td={passive:!0},Cd=function(e){let t={};return e.forEach((e=>{Object.assign(t,e)})),t},Od={imperative:[["#Imperative",[]]],"want-infinitive":[["^(want|wants|wanted) to #Infinitive$",[Id]],["^wanted to #Infinitive$",[xd]],["^will want to #Infinitive$",[jd]]],"gerund-phrase":[["^#PastTense #Gerund$",[xd]],["^#PresentTense #Gerund$",[Id]],["^#Infinitive #Gerund$",[Id]],["^will #Infinitive #Gerund$",[jd]],["^have #PastTense #Gerund$",[xd]],["^will have #PastTense #Gerund$",[xd]]],"simple-present":[["^#PresentTense$",[Id]],["^#Infinitive$",[Id]]],"simple-past":[["^#PastTense$",[xd]]],"simple-future":[["^will #Adverb? #Infinitive",[jd]]],"present-progressive":[["^(is|are|am) #Gerund$",[Id,Ed]]],"past-progressive":[["^(was|were) #Gerund$",[xd,Ed]]],"future-progressive":[["^will be #Gerund$",[jd,Ed]]],"present-perfect":[["^(has|have) #PastTense$",[xd,Dd]]],"past-perfect":[["^had #PastTense$",[xd,Dd]],["^had #PastTense to #Infinitive",[xd,Dd]]],"future-perfect":[["^will have #PastTense$",[jd,Dd]]],"present-perfect-progressive":[["^(has|have) been #Gerund$",[xd,Ed]]],"past-perfect-progressive":[["^had been #Gerund$",[xd,Ed]]],"future-perfect-progressive":[["^will have been #Gerund$",[jd,Ed]]],"passive-past":[["(got|were|was) #Passive",[xd,Td]],["^(was|were) being #Passive",[xd,Td]],["^(had|have) been #Passive",[xd,Td]]],"passive-present":[["^(is|are|am) #Passive",[Id,Td]],["^(is|are|am) being #Passive",[Id,Td]],["^has been #Passive",[Id,Td]]],"passive-future":[["will have been #Passive",[jd,Td,Nd]],["will be being? #Passive",[jd,Td,Nd]]],"present-conditional":[["would be #PastTense",[Id,Nd]]],"past-conditional":[["would have been #PastTense",[xd,Nd]]],"auxiliary-future":[["(is|are|am|was) going to (#Infinitive|#PresentTense)",[jd]]],"auxiliary-past":[["^did #Infinitive$",[xd,{plural:!1}]],["^used to #Infinitive$",[xd,Dd]]],"auxiliary-present":[["^(does|do) #Infinitive$",[Id,Dd,{plural:!0}]]],"modal-past":[["^(could|must|should|shall) have #PastTense$",[xd]]],"modal-infinitive":[["^#Modal #Infinitive$",[]]],infinitive:[["^#Infinitive$",[]]]};let Fd=[];Object.keys(Od).map((e=>{Od[e].forEach((t=>{Fd.push({name:e,match:t[0],data:Cd(t[1])})}))}));var Vd=Fd,Gd=function(e,t){let n={};e=function(e,t){return e=e.clone(),t.adverbs.post&&t.adverbs.post.found&&e.remove(t.adverbs.post),t.adverbs.pre&&t.adverbs.pre.found&&e.remove(t.adverbs.pre),e.has("#Negative")&&(e=e.remove("#Negative")),e.has("#Prefix")&&(e=e.remove("#Prefix")),t.root.has("#PhrasalVerb #Particle")&&e.remove("#Particle$"),e.not("#Adverb")}(e,t);for(let t=0;t!(e.has("^(if|unless|while|but|for|per|at|by|that|which|who|from)")||t>0&&e.has("^#Verb . #Noun+$")||t>0&&e.has("^#Adverb")))),0===t.length?e:t}(t);let n=t.nouns(),r=n.last(),a=r.match("(i|he|she|we|you|they)");if(a.found)return a.nouns();let o=n.if("^(that|this|those)");return o.found||!1===n.found&&(o=t.match("^(that|this|those)"),o.found)?o:(r=n.last(),zd(r)&&(n.remove(r),r=n.last()),zd(r)&&(n.remove(r),r=n.last()),r)}(e);return{subject:t,plural:Ld(t,e)}};const Sd=e=>e,Md=(e,t)=>{let n=$d(e),r=n.subject;return!(!r.has("i")&&!r.has("we"))||n.plural},Bd=function(e,t){if(e.has("were"))return"are";let{subject:n,plural:r}=$d(e);return n.has("i")?"am":n.has("we")||r?"are":"is"},Hd=function(e,t){let n=$d(e),r=n.subject;return r.has("i")||r.has("we")||n.plural?"do":"does"},Jd=function(e){return e.has("#Infinitive")?"Infinitive":e.has("#Participle")?"Participle":e.has("#PastTense")?"PastTense":e.has("#Gerund")?"Gerund":e.has("#PresentTense")?"PresentTense":void 0},Wd=function(e,t){const{toInfinitive:n}=e.methods.two.transform.verb;let r=t.root.text({keepPunct:!1});return r=n(r,e.model,Jd(e)),r&&e.replace(t.root,r),e},Kd=e=>e.has("will not")?e.replace("will not","have not"):e.remove("will"),qd=function(e){return e&&e.isView?e.json({normal:!0,terms:!1,text:!1}).map((e=>e.normal)):[]},Ud=function(e){return e&&e.isView?e.text("normal"):""},Qd=function(e){const{toInfinitive:t}=e.methods.two.transform.verb;return t(e.text("normal"),e.model,Jd(e))};var Rd=function(e){let t=Ad(e);e=e.clone().toView();const n=Gd(e,t);return{root:t.root.text(),preAdverbs:qd(t.adverbs.pre),postAdverbs:qd(t.adverbs.post),auxiliary:Ud(t.auxiliary),negative:t.negative.found,prefix:Ud(t.prefix),infinitive:Qd(t.root),grammar:n}};const _d={tags:!0};var Xd=function(e,t){const{toInfinitive:n}=e.methods.two.transform.verb,{root:r,auxiliary:a}=t;let o=a.terms().harden(),i=r.text("normal");if(i=n(i,e.model,Jd(r)),i&&e.replace(r,i,_d).tag("Verb").firstTerm().tag("Infinitive"),o.found&&e.remove(o),t.negative.found){e.has("not")||e.prepend("not");let t=Hd(e);e.prepend(t)}return e.fullSentence().compute(["lexicon","preTagger","postTagger","chunks"]),e};const Zd={tags:!0},Yd={noAux:(e,t)=>(t.auxiliary.found&&(e=e.remove(t.auxiliary)),e),simple:(e,t)=>{const{conjugate:n,toInfinitive:r}=e.methods.two.transform.verb,a=t.root;if(a.has("#Modal"))return e;let o=a.text({keepPunct:!1});return o=r(o,e.model,Jd(a)),o=n(o,e.model).PastTense,o="been"===o?"was":o,"was"===o&&(o=((e,t)=>{let{subject:n,plural:r}=$d(e);return r||n.has("we")?"were":"was"})(e)),o&&e.replace(a,o,Zd),e},both:function(e,t){return t.negative.found?(e.replace("will","did"),e):(e=Yd.simple(e,t),e=Yd.noAux(e,t))},hasHad:e=>(e.replace("has","had",Zd),e),hasParticiple:(e,t)=>{const{conjugate:n,toInfinitive:r}=e.methods.two.transform.verb,a=t.root;let o=a.text("normal");return o=r(o,e.model,Jd(a)),n(o,e.model).Participle}},eg={infinitive:Yd.simple,"simple-present":Yd.simple,"simple-past":Sd,"simple-future":Yd.both,"present-progressive":e=>(e.replace("are","were",Zd),e.replace("(is|are|am)","was",Zd),e),"past-progressive":Sd,"future-progressive":(e,t)=>(e.match(t.root).insertBefore("was"),e.remove("(will|be)"),e),"present-perfect":Yd.hasHad,"past-perfect":Sd,"future-perfect":(e,t)=>(e.match(t.root).insertBefore("had"),e.has("will")&&(e=Kd(e)),e.remove("have"),e),"present-perfect-progressive":Yd.hasHad,"past-perfect-progressive":Sd,"future-perfect-progressive":e=>(e.remove("will"),e.replace("have","had",Zd),e),"passive-past":e=>(e.replace("have","had",Zd),e),"passive-present":e=>(e.replace("(is|are)","was",Zd),e),"passive-future":(e,t)=>(t.auxiliary.has("will be")&&(e.match(t.root).insertBefore("had been"),e.remove("(will|be)")),t.auxiliary.has("will have been")&&(e.replace("have","had",Zd),e.remove("will")),e),"present-conditional":e=>(e.replace("be","have been"),e),"past-conditional":Sd,"auxiliary-future":e=>(e.replace("(is|are|am)","was",Zd),e),"auxiliary-past":Sd,"auxiliary-present":e=>(e.replace("(do|does)","did",Zd),e),"modal-infinitive":(e,t)=>(e.has("can")?e.replace("can","could",Zd):(Yd.simple(e,t),e.match("#Modal").insertAfter("have").tag("Auxiliary")),e),"modal-past":Sd,"want-infinitive":e=>(e.replace("(want|wants)","wanted",Zd),e.remove("will"),e),"gerund-phrase":(e,t)=>(t.root=t.root.not("#Gerund$"),Yd.simple(e,t),Kd(e),e)};var tg=function(e,t,n){return eg.hasOwnProperty(n)?((e=eg[n](e,t)).fullSentence().compute(["tagger","chunks"]),e):e};const ng=function(e,t){let n=$d(e),r=n.subject;return r.has("(i|we|you)")?"have":!1===n.plural||r.has("he")||r.has("she")||r.has("#Person")?"has":"have"},rg=(e,t)=>{const{conjugate:n,toInfinitive:r}=e.methods.two.transform.verb,{root:a,auxiliary:o}=t;if(a.has("#Modal"))return e;let i=a.text({keepPunct:!1});i=r(i,e.model,Jd(a));let s=n(i,e.model);if(i=s.Participle||s.PastTense,i){e=e.replace(a,i);let t=ng(e);e.prepend(t).match(t).tag("Auxiliary"),e.remove(o)}return e},ag={infinitive:rg,"simple-present":rg,"simple-future":(e,t)=>e.replace("will",ng(e)),"present-perfect":Sd,"past-perfect":Sd,"future-perfect":(e,t)=>e.replace("will have",ng(e)),"present-perfect-progressive":Sd,"past-perfect-progressive":Sd,"future-perfect-progressive":Sd};var og=function(e,t,n){return ag.hasOwnProperty(n)?((e=ag[n](e,t)).fullSentence().compute(["tagger","chunks"]),e):((e=rg(e,t)).fullSentence().compute(["tagger","chunks"]),e)};const ig={tags:!0},sg=(e,t)=>{const{conjugate:n,toInfinitive:r}=e.methods.two.transform.verb,a=t.root;let o=a.text("normal");return o=r(o,e.model,Jd(a)),!1===Md(e)&&(o=n(o,e.model).PresentTense),a.has("#Copula")&&(o=Bd(e)),o&&(e=e.replace(a,o,ig)).not("#Particle").tag("PresentTense"),e},lg=(e,t)=>{const{conjugate:n,toInfinitive:r}=e.methods.two.transform.verb,a=t.root;let o=a.text("normal");return o=r(o,e.model,Jd(a)),!1===Md(e)&&(o=n(o,e.model).Gerund),o&&(e=e.replace(a,o,ig)).not("#Particle").tag("Gerund"),e},ug={infinitive:sg,"simple-present":(e,t)=>{const{conjugate:n}=e.methods.two.transform.verb;let{root:r}=t;if(!r.has("#Infinitive"))return sg(e,t);{let t=$d(e).subject;if(Md(e)||t.has("i"))return e;let a=r.text("normal"),o=n(a,e.model).PresentTense;a!==o&&e.replace(r,o,ig)}return e},"simple-past":sg,"simple-future":(e,t)=>{const{root:n,auxiliary:r}=t;if(r.has("will")&&n.has("be")){let t=Bd(e);e.replace(n,t),(e=e.remove("will")).replace("not "+t,t+" not")}else sg(e,t),e=e.remove("will");return e},"present-progressive":Sd,"past-progressive":(e,t)=>{let n=Bd(e);return e.replace("(were|was)",n,ig)},"future-progressive":e=>(e.match("will").insertBefore("is"),e.remove("be"),e.remove("will")),"present-perfect":(e,t)=>(sg(e,t),e=e.remove("(have|had|has)")),"past-perfect":(e,t)=>{let n=$d(e).subject;return Md(e)||n.has("i")?((e=Wd(e,t)).remove("had"),e):(e.replace("had","has",ig),e)},"future-perfect":e=>(e.match("will").insertBefore("has"),e.remove("have").remove("will")),"present-perfect-progressive":Sd,"past-perfect-progressive":e=>e.replace("had","has",ig),"future-perfect-progressive":e=>(e.match("will").insertBefore("has"),e.remove("have").remove("will")),"passive-past":(e,t)=>{let n=Bd(e);return e.has("(had|have|has)")&&e.has("been")?(e.replace("(had|have|has)",n,ig),e.replace("been","being"),e):e.replace("(got|was|were)",n)},"passive-present":Sd,"passive-future":e=>(e.replace("will","is"),e.replace("be","being")),"present-conditional":Sd,"past-conditional":e=>(e.replace("been","be"),e.remove("have")),"auxiliary-future":(e,t)=>(lg(e,t),e.remove("(going|to)"),e),"auxiliary-past":(e,t)=>{if(t.auxiliary.has("did")){let n=Hd(e);return e.replace(t.auxiliary,n),e}return lg(e,t),e.replace(t.auxiliary,"is"),e},"auxiliary-present":Sd,"modal-infinitive":Sd,"modal-past":(e,t)=>(((e,t)=>{const{toInfinitive:n}=e.methods.two.transform.verb,r=t.root;let a=t.root.text("normal");a=n(a,e.model,Jd(r)),a&&(e=e.replace(t.root,a,ig))})(e,t),e.remove("have")),"gerund-phrase":(e,t)=>(t.root=t.root.not("#Gerund$"),sg(e,t),e.remove("(will|have)")),"want-infinitive":(e,t)=>{let n="wants";return Md(e)&&(n="want"),e.replace("(want|wanted|wants)",n,ig),e.remove("will"),e}};var cg=function(e,t,n){return ug.hasOwnProperty(n)?((e=ug[n](e,t)).fullSentence().compute(["tagger","chunks"]),e):e};const hg={tags:!0},dg=(e,t)=>{const{toInfinitive:n}=e.methods.two.transform.verb,{root:r,auxiliary:a}=t;if(r.has("#Modal"))return e;let o=r.text("normal");return o=n(o,e.model,Jd(r)),o&&(e=e.replace(r,o,hg)).not("#Particle").tag("Verb"),e.prepend("will").match("will").tag("Auxiliary"),e.remove(a),e},gg=(e,t)=>{const{conjugate:n,toInfinitive:r}=e.methods.two.transform.verb,{root:a,auxiliary:o}=t;let i=a.text("normal");return i=r(i,e.model,Jd(a)),i&&(i=n(i,e.model).Gerund,e.replace(a,i,hg),e.not("#Particle").tag("PresentTense")),e.remove(o),e.prepend("will be").match("will be").tag("Auxiliary"),e},mg={infinitive:dg,"simple-present":dg,"simple-past":dg,"simple-future":Sd,"present-progressive":gg,"past-progressive":gg,"future-progressive":Sd,"present-perfect":e=>(e.match("(have|has)").replaceWith("will have"),e),"past-perfect":e=>e.replace("(had|has)","will have"),"future-perfect":Sd,"present-perfect-progressive":e=>e.replace("has","will have"),"past-perfect-progressive":e=>e.replace("had","will have"),"future-perfect-progressive":Sd,"passive-past":e=>e.has("got")?e.replace("got","will get"):e.has("(was|were)")?(e.replace("(was|were)","will be"),e.remove("being")):e.has("(have|has|had) been")?e.replace("(have|has|had) been","will be"):e,"passive-present":e=>(e.replace("being","will be"),e.remove("(is|are|am)"),e),"passive-future":Sd,"present-conditional":e=>e.replace("would","will"),"past-conditional":e=>e.replace("would","will"),"auxiliary-future":Sd,"auxiliary-past":e=>e.has("used")&&e.has("to")?(e.replace("used","will"),e.remove("to")):(e.replace("did","will"),e),"auxiliary-present":e=>e.replace("(do|does)","will"),"modal-infinitive":Sd,"modal-past":Sd,"gerund-phrase":(e,t)=>(t.root=t.root.not("#Gerund$"),dg(e,t),e.remove("(had|have)")),"want-infinitive":e=>(e.replace("(want|wants|wanted)","will want"),e)};var pg=function(e,t,n){return e.has("will")||e.has("going to")?e:mg.hasOwnProperty(n)?((e=mg[n](e,t)).fullSentence().compute(["tagger","chunks"]),e):e};const fg={tags:!0};var vg=function(e,t){const{toInfinitive:n,conjugate:r}=e.methods.two.transform.verb,{root:a,auxiliary:o}=t;if(e.has("#Gerund"))return e;let i=a.text("normal");i=n(i,e.model,Jd(a));let s=r(i,e.model).Gerund;if(s){let t=Bd(e);e.replace(a,s,fg),e.remove(o),e.prepend(t)}return e.replace("not is","is not"),e.replace("not are","are not"),e.fullSentence().compute(["tagger","chunks"]),e};const bg={tags:!0},yg=function(e,t){let n=Hd(e);return e.prepend(n+" not"),e},wg=function(e){let t=e.match("be");return t.found?(t.prepend("not"),e):(t=e.match("(is|was|am|are|will|were)"),t.found?(t.append("not"),e):e)},kg=e=>e.has("(is|was|am|are|will|were|be)"),Pg={"simple-present":(e,t)=>!0===kg(e)?wg(e):(e=Wd(e,t),e=yg(e)),"simple-past":(e,t)=>!0===kg(e)?wg(e):((e=Wd(e,t)).prepend("did not"),e),imperative:e=>(e.prepend("do not"),e),infinitive:(e,t)=>!0===kg(e)?wg(e):yg(e),"passive-past":e=>{if(e.has("got"))return e.replace("got","get",bg),e.prepend("did not"),e;let t=e.match("(was|were|had|have)");return t.found&&t.append("not"),e},"auxiliary-past":e=>{if(e.has("used"))return e.prepend("did not"),e;let t=e.match("(did|does|do)");return t.found&&t.append("not"),e},"want-infinitive":(e,t)=>e=(e=yg(e)).replace("wants","want",bg)};var Ag=function(e,t,n){if(e.has("#Negative"))return e;if(Pg.hasOwnProperty(n))return e=Pg[n](e,t);let r=e.matchOne("be");return r.found?(r.prepend("not"),e):!0===kg(e)?wg(e):(r=e.matchOne("(will|had|have|has|did|does|do|#Modal)"),r.found?(r.append("not"),e):e)},Ig=function(e){class Verbs extends e{constructor(e,t,n){super(e,t,n),this.viewType="Verbs"}parse(e){return this.getNth(e).map(Ad)}json(e,t){let n=this.getNth(t).map((t=>{let n=t.toView().json(e)[0]||{};return n.verb=Rd(t),n}),[]);return n}subjects(e){return this.getNth(e).map((e=>(Ad(e),$d(e).subject)))}adverbs(e){return this.getNth(e).map((e=>e.match("#Adverb")))}isSingular(e){return this.getNth(e).filter((e=>!0!==$d(e).plural))}isPlural(e){return this.getNth(e).filter((e=>!0===$d(e).plural))}isImperative(e){return this.getNth(e).filter((e=>e.has("#Imperative")))}toInfinitive(e){return this.getNth(e).map((e=>{let t=Ad(e),n=Gd(e,t);return Xd(e,t,n.form)}))}toPresentTense(e){return this.getNth(e).map((e=>{let t=Ad(e),n=Gd(e,t);return n.isInfinitive?e:cg(e,t,n.form)}))}toPastTense(e){return this.getNth(e).map((e=>{let t=Ad(e),n=Gd(e,t);return n.isInfinitive?e:tg(e,t,n.form)}))}toFutureTense(e){return this.getNth(e).map((e=>{let t=Ad(e),n=Gd(e,t);return n.isInfinitive?e:pg(e,t,n.form)}))}toGerund(e){return this.getNth(e).map((e=>{let t=Ad(e),n=Gd(e,t);return n.isInfinitive?e:vg(e,t,n.form)}))}toPastParticiple(e){return this.getNth(e).map((e=>{let t=Ad(e),n=Gd(e,t);return n.isInfinitive?e:og(e,t,n.form)}))}conjugate(e){const{conjugate:t,toInfinitive:n}=this.world.methods.two.transform.verb;return this.getNth(e).map((e=>{let r=Ad(e),a=Gd(e,r);"imperative"===a.form&&(a.form="simple-present");let o=r.root.text("normal");if(!r.root.has("#Infinitive")){let t=Jd(r.root);o=n(o,e.model,t)||o}return t(o,e.model)}),[])}isNegative(){return this.if("#Negative")}isPositive(){return this.ifNo("#Negative")}toPositive(){let e=this.match("do not #Verb");return e.found&&e.remove("do not"),this.remove("#Negative")}toNegative(e){return this.getNth(e).map((e=>{let t=Ad(e),n=Gd(e,t);return Ag(e,t,n.form)}))}update(e){let t=new Verbs(this.document,e);return t._cache=this._cache,t}}Verbs.prototype.toPast=Verbs.prototype.toPastTense,Verbs.prototype.toPresent=Verbs.prototype.toPresentTense,Verbs.prototype.toFuture=Verbs.prototype.toFutureTense,e.prototype.verbs=function(e){let t=vd(this);return t=t.getNth(e),new Verbs(this.document,t.pointer)}},Ng={api:Ig};const jg=function(e,t){let n=t.match(e);if(n.found){let e=n.pronouns().refersTo();if(e.found)return e}return t.none()},Eg=function(e){if(!e.found)return e;let[t]=e.fullPointer[0];return t&&t>0?e.update([[t-1]]):e.none()};var xg=function(e,t){let n=e.people();return n=function(e,t){return"m"===t?e.filter((e=>!e.presumedFemale().found)):"f"===t?e.filter((e=>!e.presumedMale().found)):e}(n,t),n.found?n.last():(n=e.nouns("#Actor"),n.found?n.last():"f"===t?jg("(she|her|hers)",e):"m"===t?jg("(he|him|his)",e):e.none())},Dg=function(e){let t=e.nouns(),n=t.isPlural().notIf("#Pronoun");if(n.found)return n.last();let r=jg("(they|their|theirs)",e);return r.found?r:(n=t.match("(somebody|nobody|everybody|anybody|someone|noone|everyone|anyone)"),n.found?n.last():e.none())};const Tg=function(e,t){let n=e.before(),r=t(n);return r.found?r:(n=Eg(e),r=t(n),r.found?r:(n=Eg(n),r=t(n),r.found?r:e.none()))};var Cg=function(e){e.pronouns().if("(he|him|his|she|her|hers|they|their|theirs|it|its)").forEach((e=>{let t=null;e.has("(he|him|his)")?t=Tg(e,(e=>xg(e,"m"))):e.has("(she|her|hers)")?t=Tg(e,(e=>xg(e,"f"))):e.has("(they|their|theirs)")&&(t=Tg(e,Dg)),t&&t.found&&function(e,t){t&&t.found&&(e.docs[0][0].reference=t.ptrs[0])}(e,t)}))},Og=function(e){class Pronouns extends e{constructor(e,t,n){super(e,t,n),this.viewType="Pronouns"}hasReference(){return this.compute("coreference"),this.filter((e=>e.docs[0][0].reference))}refersTo(){return this.compute("coreference"),this.map((e=>{if(!e.found)return e.none();let t=e.docs[0][0];return t.reference?e.update([t.reference]):e.none()}))}update(e){let t=new Pronouns(this.document,e);return t._cache=this._cache,t}}e.prototype.pronouns=function(e){let t=this.match("#Pronoun");return t=t.getNth(e),new Pronouns(t.document,t.pointer)}},Fg={compute:{coreference:Cg},api:Og};return v.plugin(ic),v.plugin(sc),v.plugin(kc),v.plugin(Fg),v.plugin(Sc),v.plugin(qc),v.plugin(lh),v.plugin(Jh),v.plugin(Uh),v.plugin(rd),v.plugin(fd),v.plugin(Ng),v},"object"==typeof exports&&"undefined"!=typeof module?module.exports=t():"function"==typeof define&&define.amd?define(t):(e="undefined"!=typeof globalThis?globalThis:e||self).nlp=t(); +var e,t;e=this,t=function(){var e={methods:{one:{},two:{},three:{},four:{}},model:{one:{},two:{},three:{}},compute:{},hooks:[]};const t={compute:function(e){const{world:t}=this,n=t.compute;return"string"==typeof e&&n.hasOwnProperty(e)?n[e](this):(e=>"[object Array]"===Object.prototype.toString.call(e))(e)?e.forEach((r=>{t.compute.hasOwnProperty(r)?n[r](this):console.warn("no compute:",e)})):"function"==typeof e?e(this):console.warn("no compute:",e),this}};var n=t,r={forEach:function(e){return this.fullPointer.forEach(((t,n)=>{let r=this.update([t]);e(r,n)})),this},map:function(e,t){let n=this.fullPointer.map(((t,n)=>{let r=this.update([t]),a=e(r,n);return void 0===a?this.none():a}));if(0===n.length)return t||this.update([]);if(void 0!==n[0]){if("string"==typeof n[0])return n;if("object"==typeof n[0]&&(null===n[0]||!n[0].isView))return n}let r=[];return n.forEach((e=>{r=r.concat(e.fullPointer)})),this.toView(r)},filter:function(e){let t=this.fullPointer;return t=t.filter(((t,n)=>{let r=this.update([t]);return e(r,n)})),this.update(t)},find:function(e){let t=this.fullPointer.find(((t,n)=>{let r=this.update([t]);return e(r,n)}));return this.update([t])},some:function(e){return this.fullPointer.some(((t,n)=>{let r=this.update([t]);return e(r,n)}))},random:function(e=1){let t=this.fullPointer,n=Math.floor(Math.random()*t.length);return n+e>this.length&&(n=this.length-e,n=n<0?0:n),t=t.slice(n,n+e),this.update(t)}};const a={termList:function(){return this.methods.one.termList(this.docs)},terms:function(e){let t=this.match(".");return"number"==typeof e?t.eq(e):t},groups:function(e){if(e||0===e)return this.update(this._groups[e]||[]);let t={};return Object.keys(this._groups).forEach((e=>{t[e]=this.update(this._groups[e])})),t},eq:function(e){let t=this.pointer;return t||(t=this.docs.map(((e,t)=>[t]))),t[e]?this.update([t[e]]):this.none()},first:function(){return this.eq(0)},last:function(){let e=this.fullPointer.length-1;return this.eq(e)},firstTerms:function(){return this.match("^.")},lastTerms:function(){return this.match(".$")},slice:function(e,t){let n=this.pointer||this.docs.map(((e,t)=>[t]));return n=n.slice(e,t),this.update(n)},all:function(){return this.update().toView()},fullSentences:function(){let e=this.fullPointer.map((e=>[e[0]]));return this.update(e).toView()},none:function(){return this.update([])},isDoc:function(e){if(!e||!e.isView)return!1;let t=this.fullPointer,n=e.fullPointer;return!t.length!==n.length&&t.every(((e,t)=>!!n[t]&&e[0]===n[t][0]&&e[1]===n[t][1]&&e[2]===n[t][2]))},wordCount:function(){return this.docs.reduce(((e,t)=>(e+=t.filter((e=>""!==e.text)).length,e)),0)},isFull:function(){let e=this.pointer;if(!e)return!0;if(0===e.length||0!==e[0][0])return!1;let t=0,n=0;return this.document.forEach((e=>t+=e.length)),this.docs.forEach((e=>n+=e.length)),t===n},getNth:function(e){return"number"==typeof e?this.eq(e):"string"==typeof e?this.if(e):this}};a.group=a.groups,a.fullSentence=a.fullSentences,a.sentence=a.fullSentences,a.lastTerm=a.lastTerms,a.firstTerm=a.firstTerms;var o=a;const i=Object.assign({},o,n,r);i.get=i.eq;var s=i;class View{constructor(t,n,r={}){[["document",t],["world",e],["_groups",r],["_cache",null],["viewType","View"]].forEach((e=>{Object.defineProperty(this,e[0],{value:e[1],writable:!0})})),this.ptrs=n}get docs(){let t=this.document;return this.ptrs&&(t=e.methods.one.getDoc(this.ptrs,this.document)),t}get pointer(){return this.ptrs}get methods(){return this.world.methods}get model(){return this.world.model}get hooks(){return this.world.hooks}get isView(){return!0}get found(){return this.docs.length>0}get length(){return this.docs.length}get fullPointer(){let{docs:e,ptrs:t,document:n}=this,r=t||e.map(((e,t)=>[t]));return r.map((e=>{let[t,r,a,o,i]=e;return r=r||0,a=a||(n[t]||[]).length,n[t]&&n[t][r]&&(o=o||n[t][r].id,n[t][a-1]&&(i=i||n[t][a-1].id)),[t,r,a,o,i]}))}update(e){let t=new View(this.document,e);if(this._cache&&e&&e.length>0){let n=[];e.forEach(((e,t)=>{let[r,a,o]=e;(1===e.length||0===a&&this.document[r].length===o)&&(n[t]=this._cache[r])})),n.length>0&&(t._cache=n)}return t.world=this.world,t}toView(e){return new View(this.document,e||this.pointer)}fromText(e){const{methods:t}=this;let n=t.one.tokenize.fromString(e,this.world),r=new View(n);return r.world=this.world,r.compute(["normal","lexicon"]),this.world.compute.preTagger&&r.compute("preTagger"),r}clone(){let e=this.document.slice(0);e=e.map((e=>e.map((e=>((e=Object.assign({},e)).tags=new Set(e.tags),e)))));let t=this.update(this.pointer);return t.document=e,t._cache=this._cache,t}}Object.assign(View.prototype,s);var l=View;const u=function(e){return e&&"object"==typeof e&&!Array.isArray(e)};function c(e,t){if(u(t))for(const n in t)u(t[n])?(e[n]||Object.assign(e,{[n]:{}}),c(e[n],t[n])):Object.assign(e,{[n]:t[n]});return e}var h=function(e,t,n,r){const{methods:a,model:o,compute:i,hooks:s}=t;e.methods&&function(e,t){for(const n in t)e[n]=e[n]||{},Object.assign(e[n],t[n])}(a,e.methods),e.model&&c(o,e.model),e.irregulars&&function(e,t){let n=e.two.models||{};Object.keys(t).forEach((e=>{t[e].pastTense&&(n.toPast&&(n.toPast.ex[e]=t[e].pastTense),n.fromPast&&(n.fromPast.ex[t[e].pastTense]=e)),t[e].presentTense&&(n.toPresent&&(n.toPresent.ex[e]=t[e].presentTense),n.fromPresent&&(n.fromPresent.ex[t[e].presentTense]=e)),t[e].gerund&&(n.toGerund&&(n.toGerund.ex[e]=t[e].gerund),n.fromGerund&&(n.fromGerund.ex[t[e].gerund]=e)),t[e].comparative&&(n.toComparative&&(n.toComparative.ex[e]=t[e].comparative),n.fromComparative&&(n.fromComparative.ex[t[e].comparative]=e)),t[e].superlative&&(n.toSuperlative&&(n.toSuperlative.ex[e]=t[e].superlative),n.fromSuperlative&&(n.fromSuperlative.ex[t[e].superlative]=e))}))}(o,e.irregulars),e.compute&&Object.assign(i,e.compute),s&&(t.hooks=s.concat(e.hooks||[])),e.api&&e.api(n),e.lib&&Object.keys(e.lib).forEach((t=>r[t]=e.lib[t])),e.tags&&r.addTags(e.tags),e.words&&r.addWords(e.words),e.mutate&&e.mutate(t)};const d=function(e){return"[object Array]"===Object.prototype.toString.call(e)};var m=function(e,t,n){const{methods:r}=n;let a=new t([]);if(a.world=n,"number"==typeof e&&(e=String(e)),!e)return a;if("string"==typeof e)return new t(r.one.tokenize.fromString(e,n));if(o=e,"[object Object]"===Object.prototype.toString.call(o)&&e.isView)return new t(e.document,e.ptrs);var o;if(d(e)){if(d(e[0])){let n=e.map((e=>e.map((e=>({text:e,normal:e,pre:"",post:" ",tags:new Set})))));return new t(n)}let n=function(e){return e.map((e=>e.terms.map((e=>(d(e.tags)&&(e.tags=new Set(e.tags)),e)))))}(e);return new t(n)}return a};let p=Object.assign({},e);const f=function(e,t){t&&f.addWords(t);let n=m(e,l,p);return e&&n.compute(p.hooks),n};Object.defineProperty(f,"_world",{value:p,writable:!0}),f.tokenize=function(e,t){const{compute:n}=this._world;t&&f.addWords(t);let r=m(e,l,p);return n.contractions&&r.compute(["alias","normal","machine","contractions"]),r},f.plugin=function(e){return h(e,this._world,l,this),this},f.extend=f.plugin,f.world=function(){return this._world},f.model=function(){return this._world.model},f.methods=function(){return this._world.methods},f.hooks=function(){return this._world.hooks},f.verbose=function(e){const t="undefined"!=typeof process&&process.env?process.env:self.env||{};return t.DEBUG_TAGS="tagger"===e||!0===e||"",t.DEBUG_MATCH="match"===e||!0===e||"",t.DEBUG_CHUNKS="chunker"===e||!0===e||"",this},f.version="14.10.1";var v=f,b=function(e){let t=e.map((e=>{let t=new Set;return e.forEach((e=>{""!==e.normal&&t.add(e.normal),e.switch&&t.add(`%${e.switch}%`),e.implicit&&t.add(e.implicit),e.machine&&t.add(e.machine),e.root&&t.add(e.root),e.alias&&e.alias.forEach((e=>t.add(e)));let n=Array.from(e.tags);for(let e=0;e/^\p{Lu}[\p{Ll}'’]/u.test(e)||/^\p{Lu}$/u.test(e),A=(e,t,n)=>{if(n.forEach((e=>e.dirty=!0)),e){let r=[t,0].concat(n);Array.prototype.splice.apply(e,r)}return e},C=function(e){let t=e[e.length-1];!t||/ $/.test(t.post)||/[-–—]/.test(t.post)||(t.post+=" ")},N=(e,t,n)=>{const r=/[-.?!,;:)–—'"]/g;let a=e[t-1];if(!a)return;let o=a.post;if(r.test(o)){let e=o.match(r).join(""),t=n[n.length-1];t.post=e+t.post,a.post=a.post.replace(r,"")}},j=function(e,t,n,r){let[a,o,i]=t;0===o||i===r[a].length?C(n):(C(n),C([e[t[1]]])),function(e,t,n){let r=e[t];if(0!==t||!P(r.text))return;n[0].text=n[0].text.replace(/^\p{Ll}/u,(e=>e.toUpperCase()));let a=e[t];a.tags.has("ProperNoun")||a.tags.has("Acronym")||P(a.text)&&a.text.length>1&&(a.text=a.text.replace(/^\p{Lu}/u,(e=>e.toLowerCase())))}(e,o,n),A(e,o,n)};let x=0;const I=e=>(e=e.length<3?"0"+e:e).length<3?"0"+e:e;var T=function(e){let[t,n]=e.index||[0,0];x+=1,x=x>46655?0:x,t=t>46655?0:t,n=n>1294?0:n;let r=I(x.toString(36));r+=I(t.toString(36));let a=n.toString(36);return a=a.length<2?"0"+a:a,r+=a,r+=parseInt(36*Math.random(),10).toString(36),e.normal+"|"+r.toUpperCase()};const H=function(e){e.has("@hasContraction")&&"function"==typeof e.contractions&&e.grow("@hasContraction").contractions().expand()},D=e=>"[object Array]"===Object.prototype.toString.call(e),G=function(e,t,n){const{document:r,world:a}=t;t.uncache();let o=t.fullPointer,i=t.fullPointer;t.forEach(((s,l)=>{let u=s.fullPointer[0],[c]=u,h=r[c],d=function(e,t){const{methods:n}=t;return"string"==typeof e?n.one.tokenize.fromString(e,t)[0]:"object"==typeof e&&e.isView?e.clone().docs[0]||[]:D(e)?D(e[0])?e[0]:e:[]}(e,a);0!==d.length&&(d=function(e){return e.map((e=>(e.id=T(e),e)))}(d),n?(H(t.update([u]).firstTerm()),j(h,u,d,r)):(H(t.update([u]).lastTerm()),function(e,t,n,r){let[a,,o]=t,i=(r[a]||[]).length;o{let n=t(e);e.replaceWith(n)})),e}(r,e);let a=r.docs[0],o=t.possessives&&a[a.length-1].tags.has("Possessive");e=function(e,t){if("string"!=typeof e)return e;let n=t.groups();return e=e.replace(F,(e=>{let t=e.replace(/\$/,"");return n.hasOwnProperty(t)?n[t].text():e})),e}(e,r);let i=this.update(n);n=n.map((e=>e.slice(0,3)));let s=(i.docs[0]||[]).map((e=>Array.from(e.tags)));if("string"==typeof e&&(e=this.fromText(e).compute("id")),r.insertAfter(e),i.has("@hasContraction")&&r.contractions&&r.grow("@hasContraction+").contractions().expand(),r.delete(i),o){let e=r.docs[0],t=e[e.length-1];t.tags.has("Possessive")||(t.text+="'s",t.normal+="'s",t.tags.add("Possessive"))}let l=r.toView(n).compute(["index","lexicon"]);return l.world.compute.preTagger&&l.compute("preTagger"),t.tags&&l.terms().forEach(((e,t)=>{e.tagSafe(s[t])})),t.case&&l.docs[0]&&l.docs[0][0]&&0===l.docs[0][0].index[1]&&(l.docs[0][0].text=l.docs[0][0].text.replace(/\w\S*/g,(e=>e.charAt(0).toUpperCase()+e.substring(1).toLowerCase()))),l},replace:function(e,t,n){if(e&&!t)return this.replaceWith(e,n);let r=this.match(e);return r.found?(this.soften(),r.replaceWith(t,n)):this}};var z=V,$=function(e,t){t.forEach((t=>{let[n,r,a]=t,o=a-r;e[n]&&(a===e[n].length&&a>1&&function(e,t){let n=e.length-1,r=e[n],a=e[n-t];a&&r&&(a.post+=r.post,a.post=a.post.replace(/ +([.?!,;:])/,"$1"),a.post=a.post.replace(/[,;:]+([.?!])/,"$1"))}(e[n],o),e[n].splice(r,o))}));for(let t=e.length-1;t>=0;t-=1)if(0===e[t].length&&(e.splice(t,1),t===e.length&&e[t-1])){let n=e[t-1],r=n[n.length-1];r&&(r.post=r.post.trimEnd())}return e};const L={remove:function(e){const{indexN:t}=this.methods.one.pointer;this.uncache();let n=this.all(),r=this;e&&(n=this,r=this.match(e));let a=!n.ptrs;r.has("@hasContraction")&&r.contractions&&r.grow("@hasContraction").contractions().expand();let o=n.fullPointer,i=r.fullPointer.reverse(),s=$(this.document,i);return o=function(e,t){return e=e.map((e=>{let[n]=e;return t[n]?(t[n].forEach((t=>{let n=t[2]-t[1];e[1]<=t[1]&&e[2]>=t[2]&&(e[2]-=n)})),e):e})),e.forEach(((t,n)=>{if(0===t[1]&&0==t[2])for(let t=n+1;te[2]-e[1]>0))).map((e=>(e[3]=null,e[4]=null,e)))}(o,t(i)),n.ptrs=o,n.document=s,n.compute("index"),a&&(n.ptrs=void 0),e?n.toView(o):(this.ptrs=[],n.none())}};L.delete=L.remove;var S=L;const M={pre:function(e,t){return void 0===e&&this.found?this.docs[0][0].pre:(this.docs.forEach((n=>{let r=n[0];!0===t?r.pre+=e:r.pre=e})),this)},post:function(e,t){if(void 0===e){let e=this.docs[this.docs.length-1];return e[e.length-1].post}return this.docs.forEach((n=>{let r=n[n.length-1];!0===t?r.post+=e:r.post=e})),this},trim:function(){if(!this.found)return this;let e=this.docs,t=e[0][0];t.pre=t.pre.trimStart();let n=e[e.length-1],r=n[n.length-1];return r.post=r.post.trimEnd(),this},hyphenate:function(){return this.docs.forEach((e=>{e.forEach(((t,n)=>{0!==n&&(t.pre=""),e[n+1]&&(t.post="-")}))})),this},dehyphenate:function(){const e=/[-–—]/;return this.docs.forEach((t=>{t.forEach((t=>{e.test(t.post)&&(t.post=" ")}))})),this},toQuotations:function(e,t){return e=e||'"',t=t||'"',this.docs.forEach((n=>{n[0].pre=e+n[0].pre;let r=n[n.length-1];r.post=t+r.post})),this},toParentheses:function(e,t){return e=e||"(",t=t||")",this.docs.forEach((n=>{n[0].pre=e+n[0].pre;let r=n[n.length-1];r.post=t+r.post})),this}};M.deHyphenate=M.dehyphenate,M.toQuotation=M.toQuotations;var B=M,J={alpha:(e,t)=>e.normalt.normal?1:0,length:(e,t)=>{let n=e.normal.trim().length,r=t.normal.trim().length;return nr?-1:0},wordCount:(e,t)=>e.wordst.words?-1:0,sequential:(e,t)=>e[0]t[0]?-1:e[1]>t[1]?1:-1,byFreq:function(e){let t={};return e.forEach((e=>{t[e.normal]=t[e.normal]||0,t[e.normal]+=1})),e.sort(((e,n)=>{let r=t[e.normal],a=t[n.normal];return ra?-1:0})),e}};const W=new Set(["index","sequence","seq","sequential","chron","chronological"]),q=new Set(["freq","frequency","topk","repeats"]),K=new Set(["alpha","alphabetical"]);var U={unique:function(){let e=new Set,t=this.filter((t=>{let n=t.text("machine");return!e.has(n)&&(e.add(n),!0)}));return t},reverse:function(){let e=this.pointer||this.docs.map(((e,t)=>[t]));return e=[].concat(e),e=e.reverse(),this._cache&&(this._cache=this._cache.reverse()),this.update(e)},sort:function(e){let{docs:t,pointer:n}=this;if(this.uncache(),"function"==typeof e)return function(e,t){let n=e.fullPointer;return n=n.sort(((n,r)=>(n=e.update([n]),r=e.update([r]),t(n,r)))),e.ptrs=n,e}(this,e);e=e||"alpha";let r=n||t.map(((e,t)=>[t])),a=t.map(((e,t)=>({index:t,words:e.length,normal:e.map((e=>e.machine||e.normal||"")).join(" "),pointer:r[t]})));return W.has(e)&&(e="sequential"),K.has(e)&&(e="alpha"),q.has(e)?(a=J.byFreq(a),this.update(a.map((e=>e.pointer)))):"function"==typeof J[e]?(a=a.sort(J[e]),this.update(a.map((e=>e.pointer)))):this}};const R=function(e,t){if(e.length>0){let t=e[e.length-1],n=t[t.length-1];!1===/ /.test(n.post)&&(n.post+=" ")}return e=e.concat(t)};var Q={concat:function(e){if("string"==typeof e){let t=this.fromText(e);if(this.found&&this.ptrs){let e=this.fullPointer,n=e[e.length-1][0];this.document.splice(n,0,...t.document)}else this.document=this.document.concat(t.document);return this.all().compute("index")}if("object"==typeof e&&e.isView)return function(e,t){if(e.document===t.document){let n=e.fullPointer.concat(t.fullPointer);return e.toView(n).compute("index")}return t.fullPointer.forEach((t=>{t[0]+=e.document.length})),e.document=R(e.document,t.docs),e.all()}(this,e);if(t=e,"[object Array]"===Object.prototype.toString.call(t)){let t=R(this.document,e);return this.document=t,this.all()}var t;return this}},_={harden:function(){return this.ptrs=this.fullPointer,this},soften:function(){let e=this.ptrs;return!e||e.length<1||(e=e.map((e=>e.slice(0,3))),this.ptrs=e),this}};const X=Object.assign({},{toLowerCase:function(){return this.termList().forEach((e=>{e.text=e.text.toLowerCase()})),this},toUpperCase:function(){return this.termList().forEach((e=>{e.text=e.text.toUpperCase()})),this},toTitleCase:function(){return this.termList().forEach((e=>{e.text=e.text.replace(/^ *[a-z\u00C0-\u00FF]/,(e=>e.toUpperCase()))})),this},toCamelCase:function(){return this.docs.forEach((e=>{e.forEach(((t,n)=>{0!==n&&(t.text=t.text.replace(/^ *[a-z\u00C0-\u00FF]/,(e=>e.toUpperCase()))),n!==e.length-1&&(t.post="")}))})),this}},O,z,S,B,U,Q,_);var Z=function(e){Object.assign(e.prototype,X)};const Y={id:function(e){let t=e.docs;for(let e=0;e(e.implicit=e.text,e.machine=e.text,e.pre="",e.post="",e.text="",e.normal="",e.index=[r,a+t],e))),n[0]&&(n[0].pre=e[r][a].pre,n[n.length-1].post=e[r][a].post,n[0].text=e[r][a].text,n[0].normal=e[r][a].normal),e[r].splice(a,1,...n))};const ae=/'/,oe=new Set(["what","how","when","where","why"]),ie=new Set(["be","go","start","think","need"]),se=new Set(["been","gone"]);var le=function(e,t){let n=e[t].normal.split(ae)[0];if(oe.has(n))return[n,"did"];if(e[t+1]){if(se.has(e[t+1].normal))return[n,"had"];if(ie.has(e[t+1].normal))return[n,"would"]}return null},ue=function(e,t){return"ain't"===e[t].normal||"aint"===e[t].normal?null:[e[t].normal.replace(/n't/,""),"not"]};const ce=/'/;var he=(e,t)=>["je",e[t].normal.split(ce)[1]],de=(e,t)=>{let n=e[t].normal.split(ce)[1];return n&&n.endsWith("e")?["la",n]:["le",n]},ge=(e,t)=>{let n=e[t].normal.split(ce)[1];return n&&n.endsWith("e")?["du",n]:n&&n.endsWith("s")?["des",n]:["de",n]};const me=/^([0-9.]{1,4}[a-z]{0,2}) ?[-–—] ?([0-9]{1,4}[a-z]{0,2})$/i,pe=/^([0-9]{1,2}(:[0-9][0-9])?(am|pm)?) ?[-–—] ?([0-9]{1,2}(:[0-9][0-9])?(am|pm)?)$/i,fe=/^[0-9]{3}-[0-9]{4}$/;var ve=function(e,t){let n=e[t],r=n.text.match(me);return null!==r?!0===n.tags.has("PhoneNumber")||fe.test(n.text)?null:[r[1],"to",r[2]]:(r=n.text.match(pe),null!==r?[r[1],"to",r[4]]:null)};const be=/^([+-]?[0-9][.,0-9]*)([a-z°²³µ/]+)$/;var ye=function(e,t,n){const r=n.model.one.numberSuffixes||{};let a=e[t].text.match(be);if(null!==a){let e=a[2].toLowerCase().trim();return r.hasOwnProperty(e)?null:[a[1],e]}return null};const we=/'/,ke=/^[0-9][^-–—]*[-–—].*?[0-9]/,Pe=function(e,t,n,r){let a=t.update();a.document=[e];let o=n+r;n>0&&(n-=1),e[o]&&(o+=1),a.ptrs=[[0,n,o]]},Ae={t:(e,t)=>ue(e,t),d:(e,t)=>le(e,t)},Ce={j:(e,t)=>he(e,t),l:(e,t)=>de(e,t),d:(e,t)=>ge(e,t)},Ne=function(e,t,n,r){for(let a=0;a2)return o.out.concat(r)}return null},je=function(e,t){let n=t.fromText(e.join(" "));return n.compute(["id","alias"]),n.docs[0]},xe=function(e,t){for(let n=t+1;n<5&&e[n];n+=1)if("been"===e[n].normal)return["there","has"];return["there","is"]};var Ie=e=>{let{world:t,document:n}=e;const{model:r,methods:a}=t;let o=r.one.contractions||[];n.forEach(((r,i)=>{for(let s=r.length-1;s>=0;s-=1){let l=null,u=null;!0===we.test(r[s].normal)&&([l,u]=r[s].normal.split(we));let c=Ne(o,r[s],l,u);!c&&Ae.hasOwnProperty(u)&&(c=Ae[u](r,s,t)),!c&&Ce.hasOwnProperty(l)&&(c=Ce[l](r,s)),"there"===l&&"s"===u&&(c=xe(r,s)),c?(c=je(c,e),re(n,[i,s],c),Pe(n[i],e,s,c.length)):ke.test(r[s].normal)?(c=ve(r,s),c&&(c=je(c,e),re(n,[i,s],c),a.one.setTag(c,"NumberRange",t),c[2]&&c[2].tags.has("Time")&&a.one.setTag([c[0]],"Time",t,null,"time-range"),Pe(n[i],e,s,c.length))):(c=ye(r,s,t),c&&(c=je(c,e),re(n,[i,s],c),a.one.setTag([c[1]],"Unit",t,null,"contraction-unit")))}}))},Te={model:ne,compute:{contractions:Ie},hooks:["contractions"]},He=function(e,t,n){const{model:r,methods:a}=n,o=a.one.setTag,i=r.one._multiCache||{},s=r.one.lexicon||{};let l=e[t],u=l.machine||l.normal;return void 0!==e[t+1]&&!0===i[u]?function(e,t,n,r,a){let o=t+4>e.length?e.length-t:4,i=e[t].machine||e[t].normal;for(let s=1;si.hasOwnProperty(e)));if(e)return o([s],i[e],n,!1,"1-lexicon-alias"),!0}if(!0===De.test(l)){let e=l.replace(De,"");if(i.hasOwnProperty(e)&&e.length>3&&Ge.has(i[e]))return o([s],i[e],n,!1,"1-lexicon-prefix"),!0}return null},Oe={lexicon:function(e){const t=e.world;e.docs.forEach((e=>{for(let n=0;n{let a=e[r],o=(r=(r=r.toLowerCase().trim()).replace(/'s\b/,"")).split(/ /);o.length>1&&(n[o[0]]=!0),t[r]=t[r]||a})),delete t[""],delete t.null,delete t[" "],{lex:t,_multi:n}},Ve={addWords:function(e){const t=this.world(),{methods:n,model:r}=t;if(e)if(Object.keys(e).forEach((t=>{"string"==typeof e[t]&&e[t].startsWith("#")&&(e[t]=e[t].replace(/^#/,""))})),n.two.expandLexicon){let{lex:a,_multi:o}=n.two.expandLexicon(e,t);Object.assign(r.one.lexicon,a),Object.assign(r.one._multiCache,o)}else if(n.one.expandLexicon){let{lex:a,_multi:o}=n.one.expandLexicon(e,t);Object.assign(r.one.lexicon,a),Object.assign(r.one._multiCache,o)}else Object.assign(r.one.lexicon,e)}},ze={model:{one:{lexicon:{},_multiCache:{}}},methods:{one:{expandLexicon:Fe}},compute:Oe,lib:Ve,hooks:["lexicon"]},$e=function(e,t){let n=[{}],r=[null],a=[0],o=[],i=0;e.forEach((function(e){let a=0,o=function(e,t){const{methods:n,model:r}=t;let a=n.one.tokenize.splitTerms(e,r).map((e=>n.one.tokenize.splitWhitespace(e,r)));return a.map((e=>e.text.toLowerCase()))}(e,t);for(let e=0;e0&&!n[i].hasOwnProperty(l);)i=a[i];if(n.hasOwnProperty(i)){let e=n[i][l];a[u]=e,r[e]&&(r[u]=r[u]||[],r[u]=r[u].concat(r[e]))}else a[u]=0}}return{goNext:n,endAs:r,failTo:a}};const Le=function(e,t,n){let r=0,a=[];for(let o=0;o0&&(void 0===t.goNext[r]||!t.goNext[r].hasOwnProperty(i));)r=t.failTo[r]||0;if(t.goNext[r].hasOwnProperty(i)&&(r=t.goNext[r][i],t.endAs[r])){let n=t.endAs[r];for(let t=0;t0&&(r=r.concat(l))}return e.update(r)};const Be=(e,t)=>{for(let n=e.length-1;n>=0;n-=1)if(e[n]!==t)return e=e.slice(0,n+1);return e};var Je=function(e){return e.goNext=e.goNext.map((e=>{if(0!==Object.keys(e).length)return e})),e.goNext=Be(e.goNext,void 0),e.failTo=Be(e.failTo,0),e.endAs=Be(e.endAs,null),e};const We={buildTrie:function(e){const t=$e(e,this.world());return Je(t)}};We.compile=We.buildTrie;var qe={api:function(e){e.prototype.lookup=function(e,t={}){if(!e)return this.none();"string"==typeof e&&(e=[e]);let n=(r=e,"[object Object]"===Object.prototype.toString.call(r)?e:$e(e,this.world));var r;let a=Me(this,n,t);return a=a.settle(),a}},lib:We};const Ke=function(e,t){return t?(e.forEach((e=>{let n=e[0];t[n]&&(e[0]=t[n][0],e[1]+=t[n][1],e[2]+=t[n][1])})),e):e},Ue=function(e,t){let{ptrs:n,byGroup:r}=e;return n=Ke(n,t),Object.keys(r).forEach((e=>{r[e]=Ke(r[e],t)})),{ptrs:n,byGroup:r}},Re=e=>"[object Object]"===Object.prototype.toString.call(e),Qe=e=>e&&Re(e)&&!0===e.isView,_e=e=>e&&Re(e)&&!0===e.isNet,Xe=function(e,t,n){const r=n.methods.one;return"number"==typeof e&&(e=String(e)),"string"==typeof e&&(e=r.killUnicode(e,n),e=r.parseMatch(e,t,n)),e};var Ze={matchOne:function(e,t,n){const r=this.methods.one;if(Qe(e))return this.intersection(e).eq(0);if(_e(e))return this.sweep(e,{tagger:!1,matchOne:!0}).view;let a={regs:e=Xe(e,n,this.world),group:t,justOne:!0},o=r.match(this.docs,a,this._cache),{ptrs:i,byGroup:s}=Ue(o,this.fullPointer),l=this.toView(i);return l._groups=s,l},match:function(e,t,n){const r=this.methods.one;if(Qe(e))return this.intersection(e);if(_e(e))return this.sweep(e,{tagger:!1}).view.settle();let a={regs:e=Xe(e,n,this.world),group:t},o=r.match(this.docs,a,this._cache),{ptrs:i,byGroup:s}=Ue(o,this.fullPointer),l=this.toView(i);return l._groups=s,l},has:function(e,t,n){const r=this.methods.one;if(Qe(e))return e.fullPointer.length>0;if(_e(e))return this.sweep(e,{tagger:!1}).view.found;let a={regs:e=Xe(e,n,this.world),group:t,justOne:!0};return r.match(this.docs,a,this._cache).ptrs.length>0},if:function(e,t,n){const r=this.methods.one;if(Qe(e))return this.filter((t=>t.intersection(e).found));if(_e(e)){let t=this.sweep(e,{tagger:!1}).view.settle();return this.if(t)}let a={regs:e=Xe(e,n,this.world),group:t,justOne:!0},o=this.fullPointer,i=this._cache||[];o=o.filter(((e,t)=>{let n=this.update([e]);return r.match(n.docs,a,i[t]).ptrs.length>0}));let s=this.update(o);return this._cache&&(s._cache=o.map((e=>i[e[0]]))),s},ifNo:function(e,t,n){const{methods:r}=this,a=r.one;if(Qe(e))return this.filter((t=>!t.intersection(e).found));if(_e(e)){let t=this.sweep(e,{tagger:!1}).view.settle();return this.ifNo(t)}e=Xe(e,n,this.world);let o=this._cache||[],i=this.filter(((n,r)=>{let i={regs:e,group:t,justOne:!0};return 0===a.match(n.docs,i,o[r]).ptrs.length}));return this._cache&&(i._cache=i.ptrs.map((e=>o[e[0]]))),i}},Ye={before:function(e,t,n){const{indexN:r}=this.methods.one.pointer;let a=[],o=r(this.fullPointer);Object.keys(o).forEach((e=>{let t=o[e].sort(((e,t)=>e[1]>t[1]?1:-1))[0];t[1]>0&&a.push([t[0],0,t[1]])}));let i=this.toView(a);return e?i.match(e,t,n):i},after:function(e,t,n){const{indexN:r}=this.methods.one.pointer;let a=[],o=r(this.fullPointer),i=this.document;Object.keys(o).forEach((e=>{let t=o[e].sort(((e,t)=>e[1]>t[1]?-1:1))[0],[n,,r]=t;r{let o=n.before(e,t);if(o.found){let e=o.terms();r[a][1]-=e.length,r[a][3]=e.docs[0][0].id}})),this.update(r)},growRight:function(e,t,n){"string"==typeof e&&(e=this.world.methods.one.parseMatch(e,n,this.world)),e[0].start=!0;let r=this.fullPointer;return this.forEach(((n,a)=>{let o=n.after(e,t);if(o.found){let e=o.terms();r[a][2]+=e.length,r[a][4]=null}})),this.update(r)},grow:function(e,t,n){return this.growRight(e,t,n).growLeft(e,t,n)}};const et=function(e,t){return[e[0],e[1],t[2]]},tt=(e,t,n)=>{return"string"==typeof e||(r=e,"[object Array]"===Object.prototype.toString.call(r))?t.match(e,n):e||t.none();var r},nt=function(e,t){let[n,r,a]=e;return t.document[n]&&t.document[n][r]&&(e[3]=e[3]||t.document[n][r].id,t.document[n][a-1]&&(e[4]=e[4]||t.document[n][a-1].id)),e},rt={splitOn:function(e,t){const{splitAll:n}=this.methods.one.pointer;let r=tt(e,this,t).fullPointer,a=n(this.fullPointer,r),o=[];return a.forEach((e=>{o.push(e.passthrough),o.push(e.before),o.push(e.match),o.push(e.after)})),o=o.filter((e=>e)),o=o.map((e=>nt(e,this))),this.update(o)},splitBefore:function(e,t){const{splitAll:n}=this.methods.one.pointer;let r=tt(e,this,t).fullPointer,a=n(this.fullPointer,r);for(let e=0;e{o.push(e.passthrough),o.push(e.before),e.match&&e.after?o.push(et(e.match,e.after)):o.push(e.match)})),o=o.filter((e=>e)),o=o.map((e=>nt(e,this))),this.update(o)},splitAfter:function(e,t){const{splitAll:n}=this.methods.one.pointer;let r=tt(e,this,t).fullPointer,a=n(this.fullPointer,r),o=[];return a.forEach((e=>{o.push(e.passthrough),e.before&&e.match?o.push(et(e.before,e.match)):(o.push(e.before),o.push(e.match)),o.push(e.after)})),o=o.filter((e=>e)),o=o.map((e=>nt(e,this))),this.update(o)}};rt.split=rt.splitAfter;var at=rt;const ot=Object.assign({},Ze,Ye,at);ot.lookBehind=ot.before,ot.lookBefore=ot.before,ot.lookAhead=ot.after,ot.lookAfter=ot.after,ot.notIf=ot.ifNo;var it=function(e){Object.assign(e.prototype,ot)};const st=/(?:^|\s)([![^]*(?:<[^<]*>)?\/.*?[^\\/]\/[?\]+*$~]*)(?:\s|$)/,lt=/([!~[^]*(?:<[^<]*>)?\([^)]+[^\\)]\)[?\]+*$~]*)(?:\s|$)/,ut=/ /g,ct=e=>/^[![^]*(<[^<]*>)?\//.test(e)&&/\/[?\]+*$~]*$/.test(e),ht=function(e){return e=(e=e.map((e=>e.trim()))).filter((e=>e))};var dt=function(e){let t=e.split(st),n=[];t.forEach((e=>{ct(e)?n.push(e):n=n.concat(e.split(lt))})),n=ht(n);let r=[];return n.forEach((e=>{(e=>/^[![^]*(<[^<]*>)?\(/.test(e)&&/\)[?\]+*$~]*$/.test(e))(e)||ct(e)?r.push(e):r=r.concat(e.split(ut))})),r=ht(r),r};const gt=/\{([0-9]+)?(, *[0-9]*)?\}/,mt=/&&/,pt=new RegExp(/^<\s*(\S+)\s*>/),ft=e=>e.charAt(0).toUpperCase()+e.substring(1),vt=e=>e.charAt(e.length-1),bt=e=>e.charAt(0),yt=e=>e.substring(1),wt=e=>e.substring(0,e.length-1),kt=function(e){return e=yt(e),e=wt(e)},Pt=function(e,t){let n={};for(let r=0;r<2;r+=1){if("$"===vt(e)&&(n.end=!0,e=wt(e)),"^"===bt(e)&&(n.start=!0,e=yt(e)),"?"===vt(e)&&(n.optional=!0,e=wt(e)),("["===bt(e)||"]"===vt(e))&&(n.group=null,"["===bt(e)&&(n.groupStart=!0),"]"===vt(e)&&(n.groupEnd=!0),e=(e=e.replace(/^\[/,"")).replace(/\]$/,""),"<"===bt(e))){const t=pt.exec(e);t.length>=2&&(n.group=t[1],e=e.replace(t[0],""))}if("+"===vt(e)&&(n.greedy=!0,e=wt(e)),"*"!==e&&"*"===vt(e)&&"\\*"!==e&&(n.greedy=!0,e=wt(e)),"!"===bt(e)&&(n.negative=!0,e=yt(e)),"~"===bt(e)&&"~"===vt(e)&&e.length>2&&(e=kt(e),n.fuzzy=!0,n.min=t.fuzzy||.85,!1===/\(/.test(e)))return n.word=e,n;if("/"===bt(e)&&"/"===vt(e))return e=kt(e),t.caseSensitive&&(n.use="text"),n.regex=new RegExp(e),n;if(!0===gt.test(e)&&(e=e.replace(gt,((e,t,r)=>(void 0===r?(n.min=Number(t),n.max=Number(t)):(r=r.replace(/, */,""),void 0===t?(n.min=0,n.max=Number(r)):(n.min=Number(t),n.max=Number(r||999))),n.greedy=!0,n.min||(n.optional=!0),"")))),"("===bt(e)&&")"===vt(e)){mt.test(e)?(n.choices=e.split(mt),n.operator="and"):(n.choices=e.split("|"),n.operator="or"),n.choices[0]=yt(n.choices[0]);let r=n.choices.length-1;n.choices[r]=wt(n.choices[r]),n.choices=n.choices.map((e=>e.trim())),n.choices=n.choices.filter((e=>e)),n.choices=n.choices.map((e=>e.split(/ /g).map((e=>Pt(e,t))))),e=""}if("{"===bt(e)&&"}"===vt(e)){if(e=kt(e),n.root=e,/\//.test(e)){let e=n.root.split(/\//);n.root=e[0],n.pos=e[1],"adj"===n.pos&&(n.pos="Adjective"),n.pos=n.pos.charAt(0).toUpperCase()+n.pos.substr(1).toLowerCase(),void 0!==e[2]&&(n.sense=e[2])}return n}if("<"===bt(e)&&">"===vt(e))return e=kt(e),n.chunk=ft(e),n.greedy=!0,n;if("%"===bt(e)&&"%"===vt(e))return e=kt(e),n.switch=e,n}return"#"===bt(e)?(n.tag=yt(e),n.tag=ft(n.tag),n):"@"===bt(e)?(n.method=yt(e),n):"."===e?(n.anything=!0,n):"*"===e?(n.anything=!0,n.greedy=!0,n.optional=!0,n):(e&&(e=(e=e.replace("\\*","*")).replace("\\.","."),t.caseSensitive?n.use="text":e=e.toLowerCase(),n.word=e),n)};var At=Pt;const Ct=/[a-z0-9][-–—][a-z]/i;var Nt=function(e,t){let n=t.model.one.prefixes;for(let t=e.length-1;t>=0;t-=1){let r=e[t];if(r.word&&Ct.test(r.word)){let a=r.word.split(/[-–—]/g);if(n.hasOwnProperty(a[0]))continue;a=a.filter((e=>e)).reverse(),e.splice(t,1),a.forEach((n=>{let a=Object.assign({},r);a.word=n,e.splice(t,0,a)}))}}return e};const jt=function(e,t){let{all:n}=t.methods.two.transform.verb||{},r=e.root;return n?n(r,t.model):[]},xt=function(e,t){let{all:n}=t.methods.two.transform.noun||{};return n?n(e.root,t.model):[e.root]},It=function(e,t){let{all:n}=t.methods.two.transform.adjective||{};return n?n(e.root,t.model):[e.root]};var Tt=function(e,t){return e=e.map((e=>{if(e.root)if(t.methods.two&&t.methods.two.transform){let n=[];e.pos?"Verb"===e.pos?n=n.concat(jt(e,t)):"Noun"===e.pos?n=n.concat(xt(e,t)):"Adjective"===e.pos&&(n=n.concat(It(e,t))):(n=n.concat(jt(e,t)),n=n.concat(xt(e,t)),n=n.concat(It(e,t))),n=n.filter((e=>e)),n.length>0&&(e.operator="or",e.fastOr=new Set(n))}else e.machine=e.root,delete e.id,delete e.root;return e}))},Ht=function(e){return e=function(e){let t=0,n=null;for(let r=0;r(e.fuzzy&&e.choices&&e.choices.forEach((t=>{1===t.length&&t[0].word&&(t[0].fuzzy=!0,t[0].min=e.min)})),e)))}(e=e.map((e=>{if(void 0!==e.choices){if("or"!==e.operator)return e;if(!0===e.fuzzy)return e;!0===e.choices.every((e=>{if(1!==e.length)return!1;let t=e[0];return!0!==t.fuzzy&&!t.start&&!t.end&&void 0!==t.word&&!0!==t.negative&&!0!==t.optional&&!0!==t.method}))&&(e.fastOr=new Set,e.choices.forEach((t=>{e.fastOr.add(t[0].word)})),delete e.choices)}return e}))),e},Dt=function(e,t,n){if(null==e||""===e)return[];t=t||{},"number"==typeof e&&(e=String(e));let r=dt(e);return r=r.map((e=>At(e,t))),r=Nt(r,n),r=Tt(r,n),r=Ht(r),r};const Gt=function(e,t){for(let n of t)if(e.has(n))return!0;return!1};var Et=function(e,t){for(let n=0;nn?r:n)+1;if(Math.abs(n-r)>(a||100))return a||100;let o,i,s,l,u,c,h=[];for(let e=0;e4)return n;s=t[o-1],l=i===s?0:1,u=h[a-1][o]+1,(c=h[a][o-1]+1)1&&o>1&&i===t[o-2]&&e[a-2]===s&&(c=h[a-2][o-2]+l)-1!==e.post.indexOf(t),St=(e,t)=>-1!==e.pre.indexOf(t),Mt={hasQuote:e=>Ft.test(e.pre)||Vt.test(e.post),hasComma:e=>Lt(e,","),hasPeriod:e=>!0===Lt(e,".")&&!1===Lt(e,"..."),hasExclamation:e=>Lt(e,"!"),hasQuestionMark:e=>Lt(e,"?")||Lt(e,"¿"),hasEllipses:e=>Lt(e,"..")||Lt(e,"…")||St(e,"..")||St(e,"…"),hasSemicolon:e=>Lt(e,";"),hasColon:e=>Lt(e,":"),hasSlash:e=>/\//.test(e.text),hasHyphen:e=>zt.test(e.post)||zt.test(e.pre),hasDash:e=>$t.test(e.post)||$t.test(e.pre),hasContraction:e=>Boolean(e.implicit),isAcronym:e=>e.tags.has("Acronym"),isKnown:e=>e.tags.size>0,isTitleCase:e=>/^\p{Lu}[a-z'\u00C0-\u00FF]/u.test(e.text),isUpperCase:e=>/^\p{Lu}+$/u.test(e.text)};Mt.hasQuotation=Mt.hasQuote;var Bt=Mt;let Jt=function(){};Jt=function(e,t,n,r){let a=function(e,t,n,r){if(!0===t.anything)return!0;if(!0===t.start&&0!==n)return!1;if(!0===t.end&&n!==r-1)return!1;if(void 0!==t.id&&t.id===e.id)return!0;if(void 0!==t.word){if(t.use)return t.word===e[t.use];if(null!==e.machine&&e.machine===t.word)return!0;if(void 0!==e.alias&&e.alias.hasOwnProperty(t.word))return!0;if(!0===t.fuzzy){if(t.word===e.root)return!0;if(Ot(t.word,e.normal)>=t.min)return!0}return!(!e.alias||!e.alias.some((e=>e===t.word)))||t.word===e.text||t.word===e.normal}if(void 0!==t.tag)return!0===e.tags.has(t.tag);if(void 0!==t.method)return"function"==typeof Bt[t.method]&&!0===Bt[t.method](e);if(void 0!==t.pre)return e.pre&&e.pre.includes(t.pre);if(void 0!==t.post)return e.post&&e.post.includes(t.post);if(void 0!==t.regex){let n=e.normal;return t.use&&(n=e[t.use]),t.regex.test(n)}if(void 0!==t.chunk)return e.chunk===t.chunk;if(void 0!==t.switch)return e.switch===t.switch;if(void 0!==t.machine)return e.normal===t.machine||e.machine===t.machine||e.root===t.machine;if(void 0!==t.sense)return e.sense===t.sense;if(void 0!==t.fastOr){if(t.pos&&!e.tags.has(t.pos))return null;let n=e.root||e.implicit||e.machine||e.normal;return t.fastOr.has(n)||t.fastOr.has(e.text)}return void 0!==t.choices&&("and"===t.operator?t.choices.every((t=>Jt(e,t,n,r))):t.choices.some((t=>Jt(e,t,n,r))))}(e,t,n,r);return!0===t.negative?!a:a};var Wt=Jt;const qt=function(e,t){if(!0===e.end&&!0===e.greedy&&t.start_i+t.tn.max?(e.t=e.t+n.max,!0):(!0===e.hasGroup&&(Kt(e,e.t).length=r-e.t),e.t=r,!0)};const Rt=function(e,t=0){let n=e.regs[e.r],r=!1;for(let o=0;o{let a=0,o=e.t+r+t+a;if(void 0===e.terms[o])return!1;let i=Wt(e.terms[o],n,o+e.start_i,e.phrase_length);if(!0===i&&!0===n.greedy)for(let t=1;t{let r=n.every(((t,n)=>{let r=e.t+n;return void 0!==e.terms[r]&&Wt(e.terms[r],t,r,e.phrase_length)}));return!0===r&&n.length>t&&(t=n.length),r}))&&t}(e);if(r){if(!0===n.negative)return null;if(!0===e.hasGroup&&(Kt(e,e.t).length+=r),!0===n.end){let t=e.phrase_length-1;if(e.t+e.start_i!==t)return null}return e.t+=r,!0}return!!n.optional||null},Xt=function(e,t,n){let r=0;for(let a=e.t;ar||(e.t+=r,0))},Zt=function(e){const{regs:t}=e;let n=t[e.r],r=Object.assign({},n);if(r.negative=!1,Wt(e.terms[e.t],r,e.start_i+e.t,e.phrase_length))return!1;if(n.optional){let n=t[e.r+1];n&&(Wt(e.terms[e.t],n,e.start_i+e.t,e.phrase_length)?e.r+=1:n.optional&&t[e.r+2]&&Wt(e.terms[e.t],t[e.r+2],e.start_i+e.t,e.phrase_length)&&(e.r+=2))}return n.greedy?Xt(e,r,t[e.r+1]):(e.t+=1,!0)},Yt=function(e){const{regs:t}=e;let n=t[e.r],r=e.terms[e.t],a=Wt(r,t[e.r+1],e.start_i+e.t,e.phrase_length);if(n.negative||a){let n=e.terms[e.t+1];n&&Wt(n,t[e.r+1],e.start_i+e.t,e.phrase_length)||(e.r+=1)}},en=function(e){const{regs:t,phrase_length:n}=e;let r=t[e.r];return e.t=function(e,t){let n=Object.assign({},e.regs[e.r],{start:!1,end:!1}),r=e.t;for(;e.te.t?null:!0!==r.end||e.start_i+e.t===n||null},tn=function(e){let t=e.terms[e.t],n=e.regs[e.r];if(t.implicit&&e.terms[e.t+1]){if(!e.terms[e.t+1].implicit)return;n.word===t.normal&&(e.t+=1),"hasContraction"===n.method&&(e.t+=1)}},nn=function(e){const{regs:t}=e;let n=t[e.r],r=e.terms[e.t],a=e.t;return!!(n.optional&&t[e.r+1]&&n.negative)||(n.optional&&t[e.r+1]&&Yt(e),r.implicit&&e.terms[e.t+1]&&tn(e),e.t+=1,!0===n.end&&e.t!==e.terms.length&&!0!==n.greedy?null:!0!==n.greedy||en(e)?(!0===e.hasGroup&&function(e,t){let n=e.regs[e.r];const r=Kt(e,t);e.t>1&&n.greedy?r.length+=e.t-t:r.length++}(e,a),!0):null)},rn=function(e,t,n,r){if(0===e.length||0===t.length)return null;let a={t:0,terms:e,r:0,regs:t,groups:{},start_i:n,phrase_length:r,inGroup:null};for(;a.r!e.optional)))break;return null}if(!0!==e.anything||!0!==e.greedy){if(void 0===e.choices||"or"!==e.operator){if(void 0===e.choices||"and"!==e.operator)if(!0!==e.anything){if(!0!==qt(e,a)){if(e.negative){if(!Zt(a))return null}else if(!0!==Wt(a.terms[a.t],e,a.start_i+a.t,a.phrase_length)){if(!0!==e.optional)return null}else if(!nn(a))return null}else if(!nn(a))return null}else{if(e.negative&&e.anything)return null;if(!nn(a))return null}else if(!_t(a))return null}else if(!Qt(a))return null}else if(!Ut(a))return null}let o=[null,n,a.t+n];if(o[1]===o[2])return null;let i={};return Object.keys(a.groups).forEach((e=>{let t=a.groups[e],r=n+t.start;i[e]=[null,r,r+t.length]})),{pointer:o,groups:i}},an=function(e,t){let n=[],r={};return 0===e.length||("number"==typeof t&&(t=String(t)),t?e.forEach((e=>{e.groups[t]&&n.push(e.groups[t])})):e.forEach((e=>{n.push(e.pointer),Object.keys(e.groups).forEach((t=>{r[t]=r[t]||[],r[t].push(e.groups[t])}))}))),{ptrs:n,byGroup:r}},on=function(e,t,n){return e=e.filter((e=>{let[r,a,o]=e.pointer,i=n[r].slice(a,o);for(let e=0;e{e.groups[n][0]=t})),e},ln=function(e,t,n){let r=rn(e,t,0,e.length);return r?(r=sn(r,n),r):null};var un=function(e,t,n){n=n||[];let{regs:r,group:a,justOne:o}=t,i=[];if(!r||0===r.length)return{ptrs:[],byGroup:{}};const s=r.filter((e=>!0!==e.optional&&!0!==e.negative)).length;e:for(let t=0;te&&(e=Math.abs(n-1))}}else{let e=ln(a,r,t);e&&i.push(e)}}return!0===r[r.length-1].end&&(i=i.filter((t=>{let n=t.pointer[0];return e[n].length===t.pointer[2]}))),t.notIf&&(i=on(i,t.notIf,e)),i=an(i,a),i.ptrs.forEach((t=>{let[n,r,a]=t;t[3]=e[n][r].id,t[4]=e[n][a-1].id})),i},cn={api:it,methods:{one:{termMethods:Bt,parseMatch:Dt,match:un}},lib:{parseMatch:function(e,t){const n=this.world();let r=n.methods.one.killUnicode;return r&&(e=r(e,n)),n.methods.one.parseMatch(e,t,n)}}};const hn=/^\../,dn=/^#./,gn=function(e,t){let n={},r={};return Object.keys(t).forEach((a=>{let o=t[a],i=function(e){let t="",n="";return e=e.replace(/&/g,"&").replace(//g,">").replace(/"/g,""").replace(/'/g,"'"),hn.test(e)?t=``),t+=">",{start:t,end:n}}(a);"string"==typeof o&&(o=e.match(o)),o.docs.forEach((e=>{if(e.every((e=>e.implicit)))return;let t=e[0].id;n[t]=n[t]||[],n[t].push(i.start);let a=e[e.length-1].id;r[a]=r[a]||[],r[a].push(i.end)}))})),{starts:n,ends:r}};var mn={html:function(e){let{starts:t,ends:n}=gn(this,e),r="";return this.docs.forEach((e=>{for(let a=0;a{let n=e.pre||"",a=e.post||"";"some"===t.punctuation&&(n=n.replace(fn,""),bn.test(a)&&(a=" "),a=a.replace(vn,""),a=a.replace(/\?!+/,"?"),a=a.replace(/!+/,"!"),a=a.replace(/\?+/,"?"),a=a.replace(/\.{2,}/,""),e.tags.has("Abbreviation")&&(a=a.replace(/\./,""))),"some"===t.whitespace&&(n=n.replace(/\s/,""),a=a.replace(/\s+/," ")),t.keepPunct||(n=n.replace(fn,""),a="-"===a?" ":a.replace(pn,""));let o=e[t.form||"text"]||e.normal||"";"implicit"===t.form&&(o=e.implicit||e.text),"root"===t.form&&e.implicit&&(o=e.root||e.implicit||e.normal),"machine"!==t.form&&"implicit"!==t.form&&"root"!==t.form||!e.implicit||a&&yn.test(a)||(a+=" "),r+=n+o+a})),!1===n&&(r=r.trim()),!0===t.lowerCase&&(r=r.toLowerCase()),r},kn={text:{form:"text"},normal:{whitespace:"some",punctuation:"some",case:"some",unicode:"some",form:"normal"},machine:{keepSpace:!1,whitespace:"some",punctuation:"some",case:"none",unicode:"some",form:"machine"},root:{keepSpace:!1,whitespace:"some",punctuation:"some",case:"some",unicode:"some",form:"root"},implicit:{form:"implicit"}};kn.clean=kn.normal,kn.reduced=kn.root;var Pn=kn;let An=[],Cn=0;for(;Cn<64;)An[Cn]=0|4294967296*Math.sin(++Cn%Math.PI);function Nn(e){let t,n,r,a=[t=1732584193,n=4023233417,~t,~n],o=[],i=decodeURI(encodeURI(e))+"€",s=i.length;for(e=--s/4+2|15,o[--e]=8*s;~s;)o[s>>2]|=i.charCodeAt(s)<<8*s--;for(Cn=i=0;Cn>4]+An[i]+~~o[Cn|15&[i,5*i+1,3*i+5,7*i][s]])<<(s=[7,12,17,22,5,9,14,20,4,11,16,23,6,10,15,21][4*s+i++%4])|r>>>-s),t,n])t=0|s[1],n=s[2];for(i=4;i;)a[--i]+=s[i]}for(e="";i<32;)e+=(a[i>>3]>>4*(1^i++)&15).toString(16);return e}const jn={text:!0,terms:!0};let xn={case:"none",unicode:"some",form:"machine",punctuation:"some"};const In=function(e,t){return Object.assign({},e,t)},Tn={text:e=>wn(e,{keepPunct:!0},!1),normal:e=>wn(e,In(Pn.normal,{keepPunct:!0}),!1),implicit:e=>wn(e,In(Pn.implicit,{keepPunct:!0}),!1),machine:e=>wn(e,xn,!1),root:e=>wn(e,In(xn,{form:"root"}),!1),hash:e=>Nn(wn(e,{keepPunct:!0},!1)),offset:e=>{let t=Tn.text(e).length;return{index:e[0].offset.index,start:e[0].offset.start,length:t}},terms:e=>e.map((e=>{let t=Object.assign({},e);return t.tags=Array.from(e.tags),t})),confidence:(e,t,n)=>t.eq(n).confidence(),syllables:(e,t,n)=>t.eq(n).syllables(),sentence:(e,t,n)=>t.eq(n).fullSentence().text(),dirty:e=>e.some((e=>!0===e.dirty))};Tn.sentences=Tn.sentence,Tn.clean=Tn.normal,Tn.reduced=Tn.root;const Hn={json:function(e){let t=(n=this,"string"==typeof(r=(r=e)||{})&&(r={}),(r=Object.assign({},jn,r)).offset&&n.compute("offset"),n.docs.map(((e,t)=>{let a={};return Object.keys(r).forEach((o=>{r[o]&&Tn[o]&&(a[o]=Tn[o](e,n,t))})),a})));var n,r;return"number"==typeof e?t[e]:t}};Hn.data=Hn.json;var Dn=Hn,Gn=function(e){console.log("%c -=-=- ","background-color:#6699cc;"),e.forEach((e=>{console.groupCollapsed(e.text());let t=e.docs[0].map((e=>{let t=e.text||"-";return e.implicit&&(t="["+e.implicit+"]"),{text:t,tags:"["+Array.from(e.tags).join(", ")+"]"}}));console.table(t,["text","tags"]),console.groupEnd()}))};const En="";var On={green:e=>""+e+En,red:e=>""+e+En,blue:e=>""+e+En,magenta:e=>""+e+En,cyan:e=>""+e+En,yellow:e=>""+e+En,black:e=>""+e+En,dim:e=>""+e+En,i:e=>""+e+En},Fn=function(e){let{docs:t,model:n}=e;0===t.length&&console.log(On.blue("\n ──────")),t.forEach((t=>{console.log(On.blue("\n ┌─────────")),t.forEach((t=>{let r=[...t.tags||[]],a=t.text||"-";t.sense&&(a=`{${t.normal}/${t.sense}}`),t.implicit&&(a="["+t.implicit+"]"),a=On.yellow(a);let o="'"+a+"'";if(t.reference){let n=e.update([t.reference]).text("normal");o+=` - ${On.dim(On.i("["+n+"]"))}`}o=o.padEnd(18);let i=On.blue(" │ ")+On.i(o)+" - "+function(e,t){return t.one.tagSet&&(e=e.map((e=>{if(!t.one.tagSet.hasOwnProperty(e))return e;const n=t.one.tagSet[e].color||"blue";return On[n](e)}))),e.join(", ")}(r,n);console.log(i)}))}))},Vn=function(e){let{docs:t}=e;console.log(""),t.forEach((e=>{let t=[];e.forEach((e=>{"Noun"===e.chunk?t.push(On.blue(e.implicit||e.normal)):"Verb"===e.chunk?t.push(On.green(e.implicit||e.normal)):"Adjective"===e.chunk?t.push(On.yellow(e.implicit||e.normal)):"Pivot"===e.chunk?t.push(On.red(e.implicit||e.normal)):t.push(e.implicit||e.normal)})),console.log(t.join(" "),"\n")}))},zn=function(e){if(!e.found)return;let t={};e.fullPointer.forEach((e=>{t[e[0]]=t[e[0]]||[],t[e[0]].push(e)})),Object.keys(t).forEach((n=>{let r=e.update([[Number(n)]]).text();e.update(t[n]).json({offset:!0}).forEach(((e,t)=>{r=function(e,t,n){let r=((e,t,n)=>{let r=9*n,a=t.start+r,o=a+t.length;return[e.substring(0,a),e.substring(a,o),e.substring(o,e.length)]})(e,t,n);return`${r[0]}${On.blue(r[1])}${r[2]}`}(r,e.offset,t)})),console.log(r)}))},$n=function(e={}){let t=this;if("string"==typeof e){let t={};t[e]=!0,e=t}return"undefined"!=typeof window&&window.document?(Gn(t),t):(!1!==e.tags&&(Fn(t),console.log("\n")),!0===e.chunks&&(Vn(t),console.log("\n")),!0===e.highlight&&(zn(t),console.log("\n")),t)};const Ln=function(e){let t=e.pre||"",n=e.post||"";return t+e.text+n};var Sn=function(e,t){let n=function(e,t){let n={};return Object.keys(t).forEach((r=>{e.match(r).fullPointer.forEach((e=>{n[e[3]]={fn:t[r],end:e[2]}}))})),n}(e,t),r="";return e.docs.forEach(((t,a)=>{for(let o=0;oe.reduce(((e,t)=>e+t.pre+t.text+t.post),"").trim()));return e.filter((e=>e))}if("freq"===e||"frequency"===e||"topk"===e)return function(e){let t={};e.forEach((e=>{t[e]=t[e]||0,t[e]+=1}));let n=Object.keys(t).map((e=>({normal:e,count:t[e]})));return n.sort(((e,t)=>e.count>t.count?-1:0))}(this.json({normal:!0}).map((e=>e.normal)));if("terms"===e){let e=[];return this.docs.forEach((t=>{let n=t.map((e=>e.text));n=n.filter((e=>e)),e=e.concat(n)})),e}return"tags"===e?this.docs.map((e=>e.reduce(((e,t)=>(e[t.implicit||t.normal]=Array.from(t.tags),e)),{}))):"debug"===e?this.debug():this.text()},wrap:function(e){return Sn(this,e)}};var Bn=Mn,Jn={text:function(e){let t={};var n;if(e&&"string"==typeof e&&Pn.hasOwnProperty(e)?t=Object.assign({},Pn[e]):e&&(n=e,"[object Object]"===Object.prototype.toString.call(n))&&(t=Object.assign({},e)),void 0!==t.keepSpace||this.isFull()||(t.keepSpace=!1),void 0===t.keepEndPunct&&this.pointer){let e=this.pointer[0];e&&e[1]?t.keepEndPunct=!1:t.keepEndPunct=!0}return void 0===t.keepPunct&&(t.keepPunct=!0),void 0===t.keepSpace&&(t.keepSpace=!0),function(e,t){let n="";if(!e||!e[0]||!e[0][0])return n;for(let r=0;ra||a<=n&&o>n},Rn=function(e){let t={};return e.forEach((e=>{t[e[0]]=t[e[0]]||[],t[e[0]].push(e)})),t};var Qn=function(e,t){let n=Rn(t),r=[];return e.forEach((e=>{let[t]=e,a=n[t]||[];if(a=a.filter((t=>function(e,t){return e[1]<=t[1]&&t[2]<=e[2]}(e,t))),0===a.length)return void r.push({passthrough:e});a=a.sort(((e,t)=>e[1]-t[1]));let o=e;a.forEach(((e,t)=>{let n=function(e,t){let[n,r]=e,a=t[1],o=t[2],i={};if(ro&&(i.after=[n,o,e[2]]),i}(o,e);a[t+1]?(r.push({before:n.before,match:n.match}),n.after&&(o=n.after)):r.push(n)}))})),r},_n=function(e,t){let n=[];return e.forEach(((r,a)=>{if(!r)return;let[o,i,s,l,u]=r,c=t[o]||[];if(void 0===i&&(i=0),void 0===s&&(s=c.length),!l||c[i]&&c[i].id===l)c=c.slice(i,s);else{let n=function(e,t,n){for(let r=0;r<20;r+=1){if(t[n-r]){let a=t[n-r].findIndex((t=>t.id===e));if(-1!==a)return[n-r,a]}if(t[n+r]){let a=t[n+r].findIndex((t=>t.id===e));if(-1!==a)return[n+r,a]}}return null}(l,t,o);if(null!==n){let r=s-i;c=t[n[0]].slice(n[1],n[1]+r);let o=c[0]?c[0].id:null;e[a]=[n[0],n[1],n[1]+r,o]}}0!==c.length&&i!==s&&(u&&c[c.length-1].id!==u&&(c=function(e,t){let[n,r,,,a]=e,o=t[n],i=o.findIndex((e=>e.id===a));return-1===i?(e[2]=t[n].length,e[4]=o.length?o[o.length-1].id:null):e[2]=i,t[n].slice(r,e[2]+1)}(r,t)),n.push(c))})),n=n.filter((e=>e.length>0)),n},Xn={one:{termList:function(e){let t=[];for(let n=0;n{let[t]=e;if(1===r[t].length)return void a.push(e);let n=r[t].filter((t=>Un(e,t)));n.push(e);let o=function(e){let t=e[0][1],n=e[0][2];return e.forEach((e=>{e[1]n&&(n=e[2])})),[e[0][0],t,n]}(n);a.push(o)})),a=function(e){let t={};for(let n=0;n{e.passthrough&&n.push(e.passthrough),e.before&&n.push(e.before),e.after&&n.push(e.after)})),n},er=function(e,t){let n=Rn(t),r=[];return e.forEach((e=>{let t=n[e[0]]||[];t=t.filter((t=>Un(e,t))),0!==t.length&&t.forEach((t=>{let n=function(e,t){let n=e[1]t[2]?t[2]:e[2];return n{return"string"==typeof e||(n=e,"[object Array]"===Object.prototype.toString.call(n))?t.match(e):e||t.none();var n},nr=function(e,t){return e.map((e=>{let[n,r]=e;return t[n]&&t[n][r]&&(e[3]=t[n][r].id),e}))},rr={union:function(e){e=tr(e,this);let t=Zn(this.fullPointer,e.fullPointer);return t=nr(t,this.document),this.toView(t)}};rr.and=rr.union,rr.intersection=function(e){e=tr(e,this);let t=er(this.fullPointer,e.fullPointer);return t=nr(t,this.document),this.toView(t)},rr.not=function(e){e=tr(e,this);let t=Yn(this.fullPointer,e.fullPointer);return t=nr(t,this.document),this.toView(t)},rr.difference=rr.not,rr.complement=function(){let e=this.all(),t=Yn(e.fullPointer,this.fullPointer);return t=nr(t,this.document),this.toView(t)},rr.settle=function(){let e=this.fullPointer;return e.forEach((t=>{e=Zn(e,[t])})),e=nr(e,this.document),this.update(e)};var ar=function(e){Object.assign(e.prototype,rr)},or={methods:Xn,api:ar},ir=function(e){e.prototype.sweep=function(e,t={}){const{world:n,docs:r}=this,{methods:a}=n;let o=a.one.bulkMatch(r,e,this.methods,t);!1!==t.tagger&&a.one.bulkTagger(o,r,this.world),o=o.map((e=>{let t=e.pointer,n=r[t[0]][t[1]],a=t[2]-t[1];return n.index&&(e.pointer=[n.index[0],n.index[1],t[1]+a]),e}));let i=o.map((e=>e.pointer));return o=o.map((e=>(e.view=this.update([e.pointer]),delete e.regs,delete e.needs,delete e.pointer,delete e._expanded,e))),{view:this.update(i),found:o}}};const sr=function(e){return!0===e.optional||!0===e.negative?null:e.tag?"#"+e.tag:e.word?e.word:e.switch?`%${e.switch}%`:null};var lr=function(e,t){const n=t.methods.one.parseMatch;return e.forEach((e=>{e.regs=n(e.match,{},t),"string"==typeof e.ifNo&&(e.ifNo=[e.ifNo]),e.notIf&&(e.notIf=n(e.notIf,{},t)),e.needs=function(e){let t=[];return e.forEach((e=>{t.push(sr(e)),"and"===e.operator&&e.choices&&e.choices.forEach((e=>{e.forEach((e=>{t.push(sr(e))}))}))})),t.filter((e=>e))}(e.regs);let{wants:r,count:a}=function(e){let t=[],n=0;return e.forEach((e=>{"or"!==e.operator||e.optional||e.negative||(e.fastOr&&Array.from(e.fastOr).forEach((e=>{t.push(e)})),e.choices&&e.choices.forEach((e=>{e.forEach((e=>{let n=sr(e);n&&t.push(n)}))})),n+=1)})),{wants:t,count:n}}(e.regs);e.wants=r,e.minWant=a,e.minWords=e.regs.filter((e=>!e.optional)).length})),e},ur=function(e,t){e=lr(e,t);let n={};e.forEach((e=>{e.needs.forEach((t=>{n[t]=n[t]||[],n[t].push(e)})),e.wants.forEach((t=>{n[t]=n[t]||[],n[t].push(e)}))})),Object.keys(n).forEach((e=>{let t={};n[e]=n[e].filter((e=>!t[e.match]&&(t[e.match]=!0,!0)))}));let r=e.filter((e=>0===e.needs.length&&0===e.wants.length));return{hooks:n,always:r}},cr=function(e,t){return e.map(((n,r)=>{let a=[];Object.keys(t).forEach((n=>{e[r].has(n)&&(a=a.concat(t[n]))}));let o={};return a=a.filter((e=>!o[e.match]&&(o[e.match]=!0,!0))),a}))},hr=function(e,t){return e.map(((e,n)=>{let r=t[n];return e=(e=(e=e.filter((e=>e.needs.every((e=>r.has(e)))))).filter((e=>void 0===e.ifNo||!0!==e.ifNo.some((e=>r.has(e)))))).filter((e=>0===e.wants.length||e.wants.filter((e=>r.has(e))).length>=e.minWant))}))},dr=function(e,t,n,r,a){let o=[];for(let n=0;n0&&(l.ptrs.forEach((e=>{e[0]=n;let t=Object.assign({},s,{pointer:e});void 0!==s.unTag&&(t.unTag=s.unTag),o.push(t)})),!0===a.matchOne))return[o[0]]}return o},gr=function(e,t,n,r={}){let a=n.one.cacheDoc(e),o=cr(a,t.hooks);return o=hr(o,a),t.always.length>0&&(o=o.map((e=>e.concat(t.always)))),o=function(e,t){return e.map(((e,n)=>{let r=t[n].length;return e=e.filter((e=>r>=e.minWords)),e}))}(o,e),dr(o,e,a,n,r)},mr=function(e,t,n){let r=n.one.tagSet;if(!r.hasOwnProperty(t))return!0;let a=r[t].not||[];for(let t=0;t{if(!e.tag&&!e.chunk&&!e.unTag)return;let a=e.reason||e.match,u=o([e.pointer],t)[0];if(!0===e.safe){if(!1===mr(u,e.tag,r))return;if("-"===u[u.length-1].post)return}if(void 0!==e.tag&&(i(u,e.tag,n,e.safe,`[post] '${a}'`),"Noun"===e.tag&&l)){let t=u[u.length-1];l(t.text)?i([t],"Plural",n,e.safe,"quick-plural"):i([t],"Singular",n,e.safe,"quick-singular")}void 0!==e.unTag&&s(u,e.unTag,n,e.safe,a),e.chunk&&u.forEach((t=>t.chunk=e.chunk))})))},fr={lib:{buildNet:function(e){let t=this.methods().one.buildNet(e,this.world());return t.isNet=!0,t}},api:ir,methods:{one:{buildNet:ur,bulkMatch:gr,bulkTagger:pr}}};const vr=/ /,br=function(e,t){"Noun"===t&&(e.chunk=t),"Verb"===t&&(e.chunk=t)},yr=function(e,t,n,r){if(!0===e.tags.has(t))return null;if("."===t)return null;let a=n[t];if(a){if(a.not&&a.not.length>0)for(let t=0;t0)for(let t=0;t{let r=e.map((e=>e.text||"["+e.implicit+"]")).join(" ");var a;"string"!=typeof t&&t.length>2&&(t=t.slice(0,2).join(", #")+" +"),t="string"!=typeof t?t.join(", #"):t,console.log(` ${(a=r,""+a+"").padEnd(24)} → #${t.padEnd(22)} ${(e=>""+e+"")(n)}`)})(e,t,a),1!=(s=t,"[object Array]"===Object.prototype.toString.call(s)))if("string"==typeof t)if(t=t.trim(),vr.test(t))!function(e,t,n,r){let a=t.split(vr);e.forEach(((e,t)=>{let o=a[t];o&&(o=o.replace(/^#/,""),yr(e,o,n,r))}))}(e,t,o,r);else{t=t.replace(/^#/,"");for(let n=0;nwr(e,t,n,r)))};var kr=wr,Pr=function(e,t,n){t=t.trim().replace(/^#/,"");for(let r=0;r0)for(let e=0;e/),n=[];t.forEach((e=>{n=n.concat(function(e){if(!(e=e.trim()))return null;if(/^\[/.test(e)&&/\]$/.test(e)){let t=(e=(e=e.replace(/^\[/,"")).replace(/\]$/,"")).split(/,/);return t=t.map((e=>e.trim())).filter((e=>e)),t=t.map((e=>Ar({id:e}))),t}return[Ar({id:e})]}(e))})),n=n.filter((e=>e));let r=n[0];for(let e=1;e{let n=[],r=[e];for(;r.length>0;){let e=r.pop();n.push(e),e.children&&e.children.forEach((n=>{t&&t(e,n),r.push(n)}))}return n},xr=e=>"[object Array]"===Object.prototype.toString.call(e),Ir=e=>(e=e||"").trim(),Tr=function(e=[]){return"string"==typeof e?function(e){let t=e.split(/\r?\n/),n=[];t.forEach((e=>{if(!e.trim()||Cr.test(e))return;let t=(e=>{const t=/^( {2}|\t)/;let n=0;for(;t.test(e);)e=e.replace(t,""),n+=1;return n})(e);n.push({indent:t,node:Nr(e)})}));let r=function(e){let t={children:[]};return e.forEach(((n,r)=>{0===n.indent?t.children=t.children.concat(n.node):e[r-1]&&function(e,t){let n=e[t].indent;for(;t>=0;t-=1)if(e[t].indent{t[e.id]=e}));let n=Ar({});return e.forEach((e=>{if((e=Ar(e)).parent)if(t.hasOwnProperty(e.parent)){let n=t[e.parent];delete e.parent,n.children.push(e)}else console.warn(`[Grad] - missing node '${e.parent}'`);else n.children.push(e)})),n}(e):(jr(t=e).forEach(Ar),t);var t},Hr=function(e,t){let n="-> ";t&&(n=(e=>""+e+"")("→ "));let r="";return jr(e).forEach(((e,a)=>{let o=e.id||"";if(t&&(o=(e=>""+e+"")(o)),0===a&&!e.id)return;let i=e._cache.parents.length;r+=" ".repeat(i)+n+o+"\n"})),r},Dr=function(e){let t=jr(e);t.forEach((e=>{delete(e=Object.assign({},e)).children}));let n=t[0];return n&&!n.id&&0===Object.keys(n.props).length&&t.shift(),t},Gr={text:Hr,txt:Hr,array:Dr,flat:Dr},Er=function(e,t){return"nested"===t||"json"===t?e:"debug"===t?(console.log(Hr(e,!0)),null):Gr.hasOwnProperty(t)?Gr[t](e):e},Or=e=>{jr(e,((e,t)=>{e.id&&(e._cache.parents=e._cache.parents||[],t._cache.parents=e._cache.parents.concat([e.id]))}))},Fr=/\//;let Vr=class g{constructor(e={}){Object.defineProperty(this,"json",{enumerable:!1,value:e,writable:!0})}get children(){return this.json.children}get id(){return this.json.id}get found(){return this.json.id||this.json.children.length>0}props(e={}){let t=this.json.props||{};return"string"==typeof e&&(t[e]=!0),this.json.props=Object.assign(t,e),this}get(e){if(e=Ir(e),!Fr.test(e)){let t=this.json.children.find((t=>t.id===e));return new g(t)}let t=((e,t)=>{let n=(e=>"string"!=typeof e?e:(e=e.replace(/^\//,"")).split(/\//))(t=t||"");for(let t=0;te.id===n[t]));if(!r)return null;e=r}return e})(this.json,e)||Ar({});return new g(t)}add(e,t={}){if(xr(e))return e.forEach((e=>this.add(Ir(e),t))),this;e=Ir(e);let n=Ar({id:e,props:t});return this.json.children.push(n),new g(n)}remove(e){return e=Ir(e),this.json.children=this.json.children.filter((t=>t.id!==e)),this}nodes(){return jr(this.json).map((e=>(delete(e=Object.assign({},e)).children,e)))}cache(){return(e=>{let t=jr(e,((e,t)=>{e.id&&(e._cache.parents=e._cache.parents||[],e._cache.children=e._cache.children||[],t._cache.parents=e._cache.parents.concat([e.id]))})),n={};t.forEach((e=>{e.id&&(n[e.id]=e)})),t.forEach((e=>{e._cache.parents.forEach((t=>{n.hasOwnProperty(t)&&n[t]._cache.children.push(e.id)}))})),e._cache.children=Object.keys(n)})(this.json),this}list(){return jr(this.json)}fillDown(){var e;return e=this.json,jr(e,((e,t)=>{t.props=((e,t)=>(Object.keys(t).forEach((n=>{if(t[n]instanceof Set){let r=e[n]||new Set;e[n]=new Set([...r,...t[n]])}else if((e=>e&&"object"==typeof e&&!Array.isArray(e))(t[n])){let r=e[n]||{};e[n]=Object.assign({},t[n],r)}else xr(t[n])?e[n]=t[n].concat(e[n]||[]):void 0===e[n]&&(e[n]=t[n])})),e))(t.props,e.props)})),this}depth(){Or(this.json);let e=jr(this.json),t=e.length>1?1:0;return e.forEach((e=>{if(0===e._cache.parents.length)return;let n=e._cache.parents.length+1;n>t&&(t=n)})),t}out(e){return Or(this.json),Er(this.json,e)}debug(){return Or(this.json),Er(this.json,"debug"),this}};const zr=function(e){let t=Tr(e);return new Vr(t)};zr.prototype.plugin=function(e){e(this)};var $r={Noun:"blue",Verb:"green",Negative:"green",Date:"red",Value:"red",Adjective:"magenta",Preposition:"cyan",Conjunction:"cyan",Determiner:"cyan",Hyphenated:"cyan",Adverb:"cyan"};const Lr=function(e){if($r.hasOwnProperty(e.id))return $r[e.id];if($r.hasOwnProperty(e.is))return $r[e.is];let t=e._cache.parents.find((e=>$r[e]));return $r[t]};var Sr=function(e){const t={};return e.forEach((e=>{let{not:n,also:r,is:a,novel:o}=e.props,i=e._cache.parents;r&&(i=i.concat(r)),t[e.id]={is:a,not:n,novel:o,also:r,parents:i,children:e._cache.children,color:Lr(e)}})),Object.keys(t).forEach((e=>{let n=new Set(t[e].not);t[e].not.forEach((e=>{t[e]&&t[e].children.forEach((e=>n.add(e)))})),t[e].not=Array.from(n)})),t};const Mr=function(e){return e?"string"==typeof e?[e]:e:[]};var Br=function(e,t){return e=function(e,t){return Object.keys(e).forEach((n=>{e[n].isA&&(e[n].is=e[n].isA),e[n].notA&&(e[n].not=e[n].notA),e[n].is&&"string"==typeof e[n].is&&(t.hasOwnProperty(e[n].is)||e.hasOwnProperty(e[n].is)||(e[e[n].is]={})),e[n].not&&"string"==typeof e[n].not&&!e.hasOwnProperty(e[n].not)&&(t.hasOwnProperty(e[n].not)||e.hasOwnProperty(e[n].not)||(e[e[n].not]={}))})),e}(e,t),Object.keys(e).forEach((t=>{e[t].children=Mr(e[t].children),e[t].not=Mr(e[t].not)})),Object.keys(e).forEach((t=>{(e[t].not||[]).forEach((n=>{e[n]&&e[n].not&&e[n].not.push(t)}))})),e},Jr=function(e,t){Object.keys(t).length>0&&(e=function(e){return Object.keys(e).forEach((t=>{e[t]=Object.assign({},e[t]),e[t].novel=!0})),e}(e)),e=Br(e,t);const n=function(e){const t=Object.keys(e).map((t=>{let n=e[t];const r={not:new Set(n.not),also:n.also,is:n.is,novel:n.novel};return{id:t,parent:n.is,props:r,children:[]}}));return zr(t).cache().fillDown().out("array")}(Object.assign({},t,e));return Sr(n)},Wr={one:{setTag:kr,unTag:Pr,addTags:Jr}};const qr=function(e){return"[object Array]"===Object.prototype.toString.call(e)},Kr={tag:function(e,t="",n){if(!this.found||!e)return this;let r=this.termList();if(0===r.length)return this;const{methods:a,verbose:o,world:i}=this;return!0===o&&console.log(" + ",e,t||""),qr(e)?e.forEach((e=>a.one.setTag(r,e,i,n,t))):a.one.setTag(r,e,i,n,t),this.uncache(),this},tagSafe:function(e,t=""){return this.tag(e,t,!0)},unTag:function(e,t){if(!this.found||!e)return this;let n=this.termList();if(0===n.length)return this;const{methods:r,verbose:a,model:o}=this;!0===a&&console.log(" - ",e,t||"");let i=o.one.tagSet;return qr(e)?e.forEach((e=>r.one.unTag(n,e,i))):r.one.unTag(n,e,i),this.uncache(),this},canBe:function(e){e=e.replace(/^#/,"");let t=this.model.one.tagSet;if(!t.hasOwnProperty(e))return this;let n=t[e].not||[],r=[];this.document.forEach(((e,t)=>{e.forEach(((e,a)=>{n.find((t=>e.tags.has(t)))&&r.push([t,a,a+1])}))}));let a=this.update(r);return this.difference(a)}};var Ur=Kr,Rr=function(e){Object.assign(e.prototype,Ur)},Qr={addTags:function(e){const{model:t,methods:n}=this.world(),r=t.one.tagSet;let a=(0,n.one.addTags)(e,r);return t.one.tagSet=a,this}};const _r=new Set(["Auxiliary","Possessive"]);var Xr=function(e){const{document:t,world:n}=e,r=n.model.one.tagSet;t.forEach((e=>{e.forEach((e=>{let t=Array.from(e.tags);e.tagRank=function(e,t){return e=e.sort(((e,n)=>{if(_r.has(e)||!t.hasOwnProperty(n))return 1;if(_r.has(n)||!t.hasOwnProperty(e))return-1;let r=t[e].children||[],a=r.length;return r=t[n].children||[],a-r.length})),e}(t,r)}))}))},Zr={model:{one:{tagSet:{}}},compute:{tagRank:Xr},methods:Wr,api:Rr,lib:Qr};const Yr=/([.!?\u203D\u2E18\u203C\u2047-\u2049\u3002]+\s)/g,ea=/^[.!?\u203D\u2E18\u203C\u2047-\u2049\u3002]+\s$/,ta=/((?:\r?\n|\r)+)/;var na=function(e){let t=[],n=e.split(ta);for(let e=0;e0&&(a.push(o),e[t]="")}return a};const sa={'"':'"',""":""","“":"”","‟":"”","„":"”","⹂":"”","‚":"’","«":"»","‹":"›","‵":"′","‶":"″","‷":"‴","〝":"〞","〟":"〞"},la=RegExp("["+Object.keys(sa).join("")+"]","g"),ua=RegExp("["+Object.values(sa).join("")+"]","g"),ca=function(e){if(!e)return!1;let t=e.match(ua);return null!==t&&1===t.length};var ha=function(e){let t=[];for(let n=0;n(e[t]=!0,e)),{});var xa=function(e,t){let n=[],r=[];if("number"==typeof(e=e||"")&&(e=String(e)),function(e){return"[object Array]"===Object.prototype.toString.call(e)}(e))return e;const a=e.split(Na);for(let e=0;e0?(n[n.length-1]+=o,n.push(t)):n.push(o+t),o=""):o+=t}return o&&(0===n.length&&(n[0]=""),n[n.length-1]+=o),n=Pa(n),n=wa(n),n=n.filter((e=>e)),n};const Ia=/\p{Letter}/u,Ta=/[\p{Number}\p{Currency_Symbol}]/u,Ha=/^[a-z]\.([a-z]\.)+/i,Da=/[sn]['’]$/;var Ga=function(e,t){let{prePunctuation:n,postPunctuation:r,emoticons:a}=t.one,o=e,i="",s="",l=Array.from(e);if(a.hasOwnProperty(e.trim()))return{str:e.trim(),pre:i,post:" "};let u=l.length;for(let e=0;e(s=e||"",""))),e=o,i=""),{str:e,pre:i,post:s}},Ea=(e,t)=>{let{str:n,pre:r,post:a}=Ga(e,t);return{text:n,pre:r,post:a,tags:new Set}},Oa=function(e,t){const n=t.model.one.unicode||{};let r=(e=e||"").split("");return r.forEach(((e,t)=>{n[e]&&(r[t]=n[e])})),r.join("")},Fa=function(e){let t=e=(e=(e=e||"").toLowerCase()).trim();return e=(e=(e=e.replace(/[,;.!?]+$/,"")).replace(/\u2026/g,"...")).replace(/\u2013/g,"-"),!1===/^[:;]/.test(e)&&(e=(e=(e=e.replace(/\.{3,}$/g,"")).replace(/[",.!:;?)]+$/g,"")).replace(/^['"(]+/g,"")),""===(e=(e=e.replace(/[\u200B-\u200D\uFEFF]/g,"")).trim())&&(e=t),e=e.replace(/([0-9]),([0-9])/g,"$1$2")};const Va=/([A-Z]\.)+[A-Z]?,?$/,za=/^[A-Z]\.,?$/,$a=/[A-Z]{2,}('s|,)?$/,La=/([a-z]\.)+[a-z]\.?$/;var Sa=function(e){return function(e){return!0===Va.test(e)||!0===La.test(e)||!0===za.test(e)||!0===$a.test(e)}(e)&&(e=e.replace(/\./g,"")),e},Ma=function(e,t){const n=t.methods.one.killUnicode;let r=e.text||"";r=Fa(r),r=n(r,t),r=Sa(r),e.normal=r},Ba=function(e,t){const{methods:n,model:r}=t,{splitSentences:a,splitTerms:o,splitWhitespace:i}=n.one.tokenize;return e=a(e=e||"",t).map((e=>{let n=o(e,r);return n=n.map((e=>i(e,r))),n.forEach((e=>{Ma(e,t)})),n})),e};const Ja=/[ .][A-Z]\.? *$/i,Wa=/(?:\u2026|\.{2,}) *$/,qa=/\p{L}/u,Ka=/\. *$/,Ua=/^[A-Z]\. $/;var Ra=function(e,t){if(!1===qa.test(e))return!1;if(!0===Ja.test(e))return!1;if(3===e.length&&Ua.test(e))return!1;if(!0===Wa.test(e))return!1;let n=e.replace(/[.!?\u203D\u2E18\u203C\u2047-\u2049] *$/,"").split(" "),r=n[n.length-1].toLowerCase();return!0!==t.hasOwnProperty(r)||!0!==Ka.test(e)},Qa={one:{killUnicode:Oa,tokenize:{splitSentences:va,isSentence:Ra,splitTerms:xa,splitWhitespace:Ea,fromString:Ba}}},_a={"&":"and","@":"at","%":"percent",plz:"please",bein:"being"};let Xa={},Za={};[[["approx","apt","bc","cyn","eg","esp","est","etc","ex","exp","prob","pron","gal","min","pseud","fig","jd","lat","lng","vol","fm","def","misc","plz","ea","ps","sec","pt","pref","pl","pp","qt","fr","sq","nee","ss","tel","temp","vet","ver","fem","masc","eng","adj","vb","rb","inf","situ","vivo","vitro","wr"]],[["dl","ml","gal","qt","pt","tbl","tsp","tbsp","km","dm","cm","mm","mi","td","hr","hrs","kg","hg","dg","cg","mg","µg","lb","oz","sq ft","hz","mps","mph","kmph","kb","mb","tb","lx","lm","fl oz","yb"],"Unit"],[["ad","al","arc","ba","bl","ca","cca","col","corp","ft","fy","ie","lit","ma","md","pd","tce"],"Noun"],[["adj","adm","adv","asst","atty","bldg","brig","capt","cmdr","comdr","cpl","det","dr","esq","gen","gov","hon","jr","llb","lt","maj","messrs","mlle","mme","mr","mrs","ms","mstr","phd","prof","pvt","rep","reps","res","rev","sen","sens","sfc","sgt","sir","sr","supt","surg"],"Honorific"],[["jan","feb","mar","apr","jun","jul","aug","sep","sept","oct","nov","dec"],"Month"],[["dept","univ","assn","bros","inc","ltd","co"],"Organization"],[["rd","st","dist","mt","ave","blvd","cl","cres","hwy","ariz","cal","calif","colo","conn","fla","fl","ga","ida","ia","kan","kans","minn","neb","nebr","okla","penna","penn","pa","dak","tenn","tex","ut","vt","va","wis","wisc","wy","wyo","usafa","alta","ont","que","sask"],"Place"]].forEach((e=>{e[0].forEach((t=>{Xa[t]=!0,Za[t]="Abbreviation",void 0!==e[1]&&(Za[t]=[Za[t],e[1]])}))}));var Ya=["anti","bi","co","contra","de","extra","infra","inter","intra","macro","micro","mis","mono","multi","peri","pre","pro","proto","pseudo","re","sub","supra","trans","tri","un","out","ex"].reduce(((e,t)=>(e[t]=!0,e)),{});let eo={"!":"¡","?":"¿Ɂ",'"':'“”"❝❞',"'":"‘‛❛❜’","-":"—–",a:"ªÀÁÂÃÄÅàáâãäåĀāĂ㥹ǍǎǞǟǠǡǺǻȀȁȂȃȦȧȺΆΑΔΛάαλАаѦѧӐӑӒӓƛæ",b:"ßþƀƁƂƃƄƅɃΒβϐϦБВЪЬвъьѢѣҌҍ",c:"¢©ÇçĆćĈĉĊċČčƆƇƈȻȼͻͼϲϹϽϾСсєҀҁҪҫ",d:"ÐĎďĐđƉƊȡƋƌ",e:"ÈÉÊËèéêëĒēĔĕĖėĘęĚěƐȄȅȆȇȨȩɆɇΈΕΞΣέεξϵЀЁЕеѐёҼҽҾҿӖӗễ",f:"ƑƒϜϝӺӻҒғſ",g:"ĜĝĞğĠġĢģƓǤǥǦǧǴǵ",h:"ĤĥĦħƕǶȞȟΉΗЂЊЋНнђћҢңҤҥҺһӉӊ",I:"ÌÍÎÏ",i:"ìíîïĨĩĪīĬĭĮįİıƖƗȈȉȊȋΊΐΪίιϊІЇіїi̇",j:"ĴĵǰȷɈɉϳЈј",k:"ĶķĸƘƙǨǩΚκЌЖКжкќҚқҜҝҞҟҠҡ",l:"ĹĺĻļĽľĿŀŁłƚƪǀǏǐȴȽΙӀӏ",m:"ΜϺϻМмӍӎ",n:"ÑñŃńŅņŇňʼnŊŋƝƞǸǹȠȵΝΠήηϞЍИЙЛПийлпѝҊҋӅӆӢӣӤӥπ",o:"ÒÓÔÕÖØðòóôõöøŌōŎŏŐőƟƠơǑǒǪǫǬǭǾǿȌȍȎȏȪȫȬȭȮȯȰȱΌΘΟθοσόϕϘϙϬϴОФоѲѳӦӧӨөӪӫ",p:"ƤΡρϷϸϼРрҎҏÞ",q:"Ɋɋ",r:"ŔŕŖŗŘřƦȐȑȒȓɌɍЃГЯгяѓҐґ",s:"ŚśŜŝŞşŠšƧƨȘșȿЅѕ",t:"ŢţŤťŦŧƫƬƭƮȚțȶȾΓΤτϮТт",u:"ÙÚÛÜùúûüŨũŪūŬŭŮůŰűŲųƯưƱƲǓǔǕǖǗǘǙǚǛǜȔȕȖȗɄΰυϋύ",v:"νѴѵѶѷ",w:"ŴŵƜωώϖϢϣШЩшщѡѿ",x:"×ΧχϗϰХхҲҳӼӽӾӿ",y:"ÝýÿŶŷŸƳƴȲȳɎɏΎΥΫγψϒϓϔЎУучўѰѱҮүҰұӮӯӰӱӲӳ",z:"ŹźŻżŽžƵƶȤȥɀΖ"},to={};Object.keys(eo).forEach((function(e){eo[e].split("").forEach((function(t){to[t]=e}))}));const no=/\//,ro=/[a-z]\.[a-z]/i,ao=/[0-9]/;var oo=function(e,t){let n=e.normal||e.text||e.machine;const r=t.model.one.aliases;if(r.hasOwnProperty(n)&&(e.alias=e.alias||[],e.alias.push(r[n])),no.test(n)&&!ro.test(n)&&!ao.test(n)){let t=n.split(no);t.length<=2&&t.forEach((t=>{""!==(t=t.trim())&&(e.alias=e.alias||[],e.alias.push(t))}))}return e};const io=/^\p{Letter}+-\p{Letter}+$/u;var so=function(e){let t=e.implicit||e.normal||e.text;t=t.replace(/['’]s$/,""),t=t.replace(/s['’]$/,"s"),t=t.replace(/([aeiou][ktrp])in'$/,"$1ing"),io.test(t)&&(t=t.replace(/-/g,"")),t=t.replace(/^[#@]/,""),t!==e.normal&&(e.machine=t)},lo=function(e){let t=e.docs,n={};for(let e=0;ego(e,oo),machine:e=>go(e,so),normal:e=>go(e,Ma),freq:lo,offset:uo,index:co,wordCount:ho},methods:Qa,model:{one:{aliases:_a,abbreviations:Xa,prefixes:Ya,suffixes:{like:!0,ish:!0,less:!0,able:!0,elect:!0,type:!0,designate:!0},prePunctuation:{"#":!0,"@":!0,_:!0,"°":!0,"​":!0,"‌":!0,"‍":!0,"\ufeff":!0},postPunctuation:{"%":!0,_:!0,"°":!0,"​":!0,"‌":!0,"‍":!0,"\ufeff":!0},lexicon:Za,unicode:to,emoticons:{"<3":!0,"{let i=(e=e.toLowerCase().trim()).length;t.max&&i>t.max&&(i=t.max);for(let s=t.min;s{delete r[e]})),r};const yo={safe:!0,min:3};var wo={typeahead:function(e=[],t={}){let n=this.model();var r;t=Object.assign({},yo,t),r=e,"[object Object]"===Object.prototype.toString.call(r)&&(Object.assign(n.one.lexicon,e),e=Object.keys(e));let a=bo(e,t,this.world());return Object.keys(a).forEach((e=>{n.one.typeahead.hasOwnProperty(e)?delete n.one.typeahead[e]:n.one.typeahead[e]=a[e]})),this}},ko={model:{one:{typeahead:{}}},api:vo,lib:wo,compute:po,hooks:["typeahead"]};v.extend(ee),v.extend(Kn),v.extend(cn),v.extend(or),v.extend(Zr),v.plugin(Te),v.extend(mo),v.plugin(k),v.extend(qe),v.extend(ko),v.extend(ze),v.extend(fr);var Po={addendum:"addenda",corpus:"corpora",criterion:"criteria",curriculum:"curricula",genus:"genera",memorandum:"memoranda",opus:"opera",ovum:"ova",phenomenon:"phenomena",referendum:"referenda",alga:"algae",alumna:"alumnae",antenna:"antennae",formula:"formulae",larva:"larvae",nebula:"nebulae",vertebra:"vertebrae",analysis:"analyses",axis:"axes",diagnosis:"diagnoses",parenthesis:"parentheses",prognosis:"prognoses",synopsis:"synopses",thesis:"theses",neurosis:"neuroses",appendix:"appendices",index:"indices",matrix:"matrices",ox:"oxen",sex:"sexes",alumnus:"alumni",bacillus:"bacilli",cactus:"cacti",fungus:"fungi",hippopotamus:"hippopotami",libretto:"libretti",modulus:"moduli",nucleus:"nuclei",octopus:"octopi",radius:"radii",stimulus:"stimuli",syllabus:"syllabi",cookie:"cookies",calorie:"calories",auntie:"aunties",movie:"movies",pie:"pies",rookie:"rookies",tie:"ties",zombie:"zombies",leaf:"leaves",loaf:"loaves",thief:"thieves",foot:"feet",goose:"geese",tooth:"teeth",beau:"beaux",chateau:"chateaux",tableau:"tableaux",bus:"buses",gas:"gases",circus:"circuses",crisis:"crises",virus:"viruses",database:"databases",excuse:"excuses",abuse:"abuses",avocado:"avocados",barracks:"barracks",child:"children",clothes:"clothes",echo:"echoes",embargo:"embargoes",epoch:"epochs",deer:"deer",halo:"halos",man:"men",woman:"women",mosquito:"mosquitoes",mouse:"mice",person:"people",quiz:"quizzes",rodeo:"rodeos",shoe:"shoes",sombrero:"sombreros",stomach:"stomachs",tornado:"tornados",tuxedo:"tuxedos",volcano:"volcanoes"},Ao={Comparative:"true¦bett1f0;arth0ew0in0;er",Superlative:"true¦earlier",PresentTense:"true¦bests,sounds",Condition:"true¦lest,unless",PastTense:"true¦began,came,d4had,kneel3l2m0sa4we1;ea0sg2;nt;eap0i0;ed;id",Participle:"true¦0:0A;a07b02c00dXeat0fSgQhPoJprov0rHs7t6u4w1;ak0ithdra03o2r1;i03uZ;k0v0;nd1pr05;ergoJoJ;ak0hHo3;e9h7lain,o6p5t4un3w1;o1um;rn;g,k;ol0reT;iRok0;ught,wn;ak0o1ruL;ne,wn;en,wn;ewriOi1uK;dd0s0;ut3ver1;do4se0t1;ak0h2;do2g1;roH;ne;ast0i7;iv0o1;ne,tt0;all0loCor1;bi3g2s1;ak0e0;iv0oA;dd0;ove,r1;a6eamt,iv0u1;nk;hos0lu1;ng;e4i3lo2ui1;lt;wn;tt0;at0en,gun;r2w1;ak0ok0;is0;en",Gerund:"true¦accord0be0doin,go0result0stain0;ing",Expression:"true¦a0Yb0Uc0Sd0Oe0Mfarew0Lg0FhZjeez,lWmVnToOpLsJtIuFvEw7y0;a5e3i1u0;ck,p;k04p0;ee,pee;a0p,s;!h;!a,h,y;a5h2o1t0;af,f;rd up,w;atsoever,e1o0;a,ops;e,w;hoo,t;ery w06oi0L;gh,h0;! 0h,m;huh,oh;here nPsk,ut tut;h0ic;eesh,hh,it,oo;ff,h1l0ow,sst;ease,s,z;ew,ooey;h1i,mg,o0uch,w,y;h,o,ps;! 0h;hTmy go0wT;d,sh;a7evertheless,o0;!pe;eh,mm;ah,eh,m1ol0;!s;ao,fao;aCeBi9o2u0;h,mph,rra0zzC;h,y;l1o0;r6y9;la,y0;! 0;c1moCsmok0;es;ow;!p hip hoor0;ay;ck,e,llo,y;ha1i,lleluj0;ah;!ha;ah,ee4o1r0;eat scott,r;l1od0sh; grief,bye;ly;! whiz;ell;e0h,t cetera,ureka,ww,xcuse me;k,p;'oh,a0rat,uh;m0ng;mit,n0;!it;mon,o0;ngratulations,wabunga;a2oo1r0tw,ye;avo,r;!ya;h,m; 1h0ka,las,men,rgh,ye;!a,em,h,oy;la",Negative:"true¦n0;ever,o0;n,t",QuestionWord:"true¦how3wh0;at,e1ich,o0y;!m,se;n,re; come,'s",Reflexive:"true¦h4it5my5o1the0your2;ir1m1;ne3ur0;sel0;f,ves;er0im0;self",Plural:"true¦dick0gre0ones,records;ens","Unit|Noun":"true¦cEfDgChBinchAk9lb,m6newt5oz,p4qt,t1y0;ardEd;able1b0ea1sp;!l,sp;spo1;a,t,x;on9;!b,g,i1l,m,p0;h,s;!les;!b,elvin,g,m;!es;g,z;al,b;eet,oot,t;m,up0;!s",Value:"true¦a few",Imperative:"true¦bewa0come he0;re","Plural|Verb":"true¦leaves",Demonym:"true¦0:15;1:12;a0Vb0Oc0Dd0Ce08f07g04h02iYjVkTlPmLnIomHpEqatari,rCs7t5u4v3welAz2;am0Gimbabwe0;enezuel0ietnam0I;gAkrai1;aiwTex0hai,rinida0Ju2;ni0Prkmen;a5cotti4e3ingapoOlovak,oma0Spaniard,udRw2y0W;ede,iss;negal0Cr09;sh;mo0uT;o5us0Jw2;and0;a2eru0Fhilippi0Nortugu07uerto r0S;kist3lesti1na2raguay0;ma1;ani;ami00i2orweP;caragu0geri2;an,en;a3ex0Lo2;ngo0Drocc0;cedo1la2;gasy,y07;a4eb9i2;b2thua1;e0Cy0;o,t01;azakh,eny0o2uwaiI;re0;a2orda1;ma0Ap2;anO;celandic,nd4r2sraeli,ta01vo05;a2iB;ni0qi;i0oneU;aiAin2ondur0unO;di;amEe2hanai0reek,uatemal0;or2rm0;gi0;ilipino,ren8;cuadoVgyp4mira3ngli2sto1thiopi0urope0;shm0;ti;ti0;aPominUut3;a9h6o4roat3ub0ze2;ch;!i0;lom2ngol5;bi0;a6i2;le0n2;ese;lifor1m2na3;bo2eroo1;di0;angladeshi,el6o4r3ul2;gaE;azi9it;li2s1;vi0;aru2gi0;si0;fAl7merBngol0r5si0us2;sie,tr2;a2i0;li0;genti2me1;ne;ba1ge2;ri0;ni0;gh0r2;ic0;an",Organization:"true¦0:4S;a3Vb3Dc2Qd2Ie2Ef28g20h1Ui1Qj1Ok1Ml1Hm13n0Qo0Np0Dqu0Cr03sUtHuCv9w3xiaomi,y1;amaha,m1Cou1w1C;gov,tu3E;a4e2iki1orld trade organizati35;leaSped0P;lls fargo,st1;fie2Jinghou2T;l1rner br3W;gree3Ll street journ2Km1F;an halPeriz2Zisa,o1;dafo30l1;kswagNvo;b4kip,n2ps,s1;a tod3Cps;es3Oi1;lev3Hted natio3E;er,s; mobi34aco beSd bPeAgi frida9h3im horto3Cmz,o1witt3F;shi4By1;ota,s r 06;e 1in lizzy;b3carpen3Ldaily ma3Fguess w2holli0rolling st22s1w2;mashing pumpki37uprem0;ho;ea1lack eyed pe3Zyrds;ch bo1tl0;ys;l2n3Rs1xas instrumen1U;co,la m1F;efoni0Kus;a8cientology,e5ieme2Zmirnoff,np,o3pice gir6quare0Ata1ubaru;rbuc1to35;ks;ny,undgard1;en;a2x pisto1;ls;g1Xrs;few2Ninsbury33lesfor03msu2F;.e.m.,adiohead,b8e4o1yana3D;man empi1Yyal 1;b1dutch she4;ank;a3d 1max,vl21;bu1c2Bhot chili peppe2Zlobst2O;ll;ders dige1Ml madrid;c,s;ant3Bizno2T;a8bs,e5fiz2Jhilip4i3r1;emier 1udenti1E;leagTo2L;nk floyd,zza hut; morrBs;psi2tro1uge0E;br34chi0Tn34;!co;lant2Vn1yp17; 2ason28da2Q;ld navy,pec,range juli2xf1;am;us;aAb9e6fl,h5i4o1sa,vid3wa;k2tre dame,vart1;is;ia;ke,ntendo,ss0QvZ;l,s;c,st1Ptflix,w1; 1sweek;kids on the block,york0D;a,c;nd23s2t1;ional aca2Qo,we0V;a,c02d0T;aDcdonaldCe9i6lb,o3tv,y1;spa1;ce;b1Unsanto,ody blu0t1;ley cr1or0U;ue;c2t1;as,subisO;helin,rosoft;dica2rcedes benz,talli1;ca;id,re;'s,s;c's milk,tt1Az25;'ore0Ba3e1g,ittle caesa1Q;novo,x1;is,mark,us; 1bour party;pres0Ez boy;atv,fc,kk,lm,m1od1P;art;iffy lu0Soy divisi0Kpmorgan1sa;! cha0A;bm,hop,k3n1tv;g,te1;l,rpol;ea;a5ewlett pack1Wi3o1sbc,yundai;me dep1n1Q;ot;tac1zbollah;hi;lliburt09sbro;eneral 6hq,ithub,l5mb,o2reen d0Pu1;cci,ns n ros0;ldman sachs,o1;dye1g0I;ar;axo smith kli05encoX;electr0Om1;oto10;a5bi,c barcelo4da,edex,i2leetwood m04o1rito l0H;rd,xcZ;at,fa,nancial1resto00; tim0;na;cebook,nnie mae;b0Bsa,u3xxon1; m1m1;ob0K;!rosceptics;aiml0Ee6isney,o4u1;nkin donu2po10ran dur1;an;ts;j,w j1;on0;a,f lepp12ll,peche mode,r spieg02stiny's chi1;ld;aJbc,hFiDloudflaCnn,o3r1;aigsli5eedence clearwater reviv1ossra09;al;c7inba6l4m1o0Est09;ca2p1;aq;st;dplSg1;ate;se;a c1o chanQ;ola;re;a,sco1tigroup;! systems;ev2i1;ck fil-a,na daily;r1y;on;d2pital o1rl's jr;ne;bury,ill1;ac;aEbc,eBf9l5mw,ni,o1p,rexiteeU;ei3mbardiIston 1;glo1pizza;be;ng;o2ue c1;roV;ckbuster video,omingda1;le; g1g1;oodriL;cht2e ge0rkshire hathaw1;ay;el;cardi,idu,nana republ3s1xt5y5;f,kin robbi1;ns;ic;bYcTdidSerosmith,iRlKmEnheuser-busDol,pple9r6s4u3v2y1;er;is,on;di,todesk;hland o1sociated E;il;by4g2m1;co;os; compu2bee1;'s;te1;rs;ch;c,d,erican3t1;!r1;ak; ex1;pre1;ss; 5catel2ta1;ir;!-lu1;ce1;nt;jazeera,qae1;da;g,rbnb;as;/dc,a3er,tivision1;! blizz1;ard;demy of scienc0;es;ba",Possessive:"true¦its,my,our0thy;!s","Noun|Verb":"true¦0:9T;1:A7;2:93;3:A0;4:9O;5:9Z;6:9H;7:8K;8:7I;9:A5;A:90;B:8U;C:8A;a9Lb8Nc7Fd6Oe6Df5Pg5Fh53i4Vj4Sk4Pl4Dm3Zn3Uo3Rp2Rqu2Qr20s0Jt02u00vVwGyFzD;ip,oD;ne,om;awn,e6Cie65;aOeMhJiHoErD;ap,e9Link2;nd0rDuB;kDry,sh5Eth;!shop;ck,nDpe,re,sh;!d,g;e83iD;p,sD;k,p0t2;aDed,lco8T;r,th0;it,lk,rEsDt4ve,x;h,te;!ehou1ra9;aGen5CiFoD;iDmAte,w;ce,d;be,ew,sA;cuum,l49;pDr7;da5gra6Blo67;aReQhrPiOoMrGuEwiDy5W;n,st;nDrn;e,n7L;aGeFiEoDu6y;t,ub2;bu5ck4Hgg0m,p;at,k,nd;ck,de,in,nsDp,v7G;f0i8O;ll,ne,p,r4Vss,t91uD;ch,r;ck,de,e,le,me,p,re;e5Tow,u6;ar,e,ll,mp0st,xt;g,lDng2rg7Ms5x;k,ly;a0Rc0Me0Jh0Ei0Ck0Bl09m08n06o05pXquaCtKuFwD;ea85iD;ng,pe,t4;bGit,m,ppErD;fa3ge,pri1v2T;lDo6P;e6My;!je8;aMeLiKoHrEuDy2;dy,ff,mb2;a82eEiDo5Mugg2;ke,ng;am,ss,t4;ckEop,p,rD;e,m;ing,pi2;ck,nk,t4;er,m,p;ck,ff,ge,in,ke,lEmp,nd,p2rDte,y;!e,t;k,l;aJeIiHlGoFrDur,y;ay,e53inDu3;g,k2;ns88t;a5Nit;ll,n,r84te;ed,ll;m,n,rk;b,uB;aDee1Sow;ke,p;a5Ge4Ci2o50;eep,iDou4;ce,p,t;ateboa7Gi;de,gnDl2Unk,p,ze;!al;aGeFiEoDuff2;ck,p,re,w;ft,p,v0;d,i3Wlt0;ck,de,pe,re,ve;aEed,nDrv1It;se,t2M;l,r4t;aGhedu2oCrD;aEeDibb2o3X;en,w;pe,t4;le,n,r2L;cDfegua70il,mp2;k,rifi3;aZeHhy6JiGoEuD;b,in,le,n,s5V;a6ck,ll,oDpe,u5;f,t;de,ng,ot,p,s1V;aTcSdo,el,fQgPje8lOmMnLo17pJque6sFturn,vDwa6T;eDi26;al,r1;er72oFpe8tEuD;lt,me;!a53;l6Zrt;air,eaDly,o51;l,t;dezvo2Xt;aDedy;ke,rk;ea1i4E;a6Gist0r5L;act6Wer1Uo6ZuD;nd,se;a36o6D;ch,s6E;c1Cge,iEke,lly,nDp1Vt1V;ge,k,t;n,se;es69iv0;a04e00hYiXlToNrEsy4uD;mp,n4rcha1sh;aKeIiHoDu4M;be,ceFdu3fi2grDje8mi1p,te6;amDe6U;!me;ed,ss;ce,de,nt;sDy;er6As;cti3i1;iHlFoEp,re,sDuBw0;e,i5Wt;l,p;iDl;ce,sh;nt,s5T;aEce,e30uD;g,mp,n7;ce,nDy;!t;ck,le,n16pe,tNvot;a1oD;ne,tograph;ak,eFnErDt;fu53mA;!c30;!l,r;ckJiInHrFsEtDu1y;ch,e9;s,te;k,tD;!y;!ic;nt,r,se;!a7;bje8ff0il,oErDutli3Over49;bAd0ie9;ze;a4PeFoDur1;d,tD;e,i3;ed,gle8tD;!work;aMeKiIoEuD;rd0;ck,d3Pld,nEp,uDve;nt,th;it5CkD;ey;lk,n49rr5AsDx;s,ta29;asuCn4SrDss;ge,it;il,nFp,rk3UsEtD;ch,t0;h,k,t0;da5n0oeuvC;aLeJiHoEuD;mp,st;aEbby,ck,g,oDve;k,t;d,n;cDft,mAnHst;en1k;aDc0Ne4vJ;ch,d,k,p,se;bEcDnd,p,t4un4;e,k;el,o2T;eEiDno4D;ck,d,ll,ss;el,y;aEo1NuD;i3mp;m,zz;mpJnEr45ssD;ue;c1Qdex,fluGha2k,se2GteDvoi3;nt,rD;e6fa3viD;ew;en3;a8le29;aJeHiGoEuD;g,nt;l39no2Cok,pDr1u1;!e;ghli1Eke,nt,re,t;aDd7lp;d,t;ck,mGndFrEsh,tDu9;ch,e;bo3Wm,ne4Dve6;!le;!m0;aLear,ift,lJossIrFuD;arDe49lp,n;antee,d;aEiDouBumb2;ll,nd,p;de,sp;ip;oDue;ss,w;g,in,me,ng,s,te,ze;aZeWiRlNoJrFuD;ck,el,nDss,zz;c38d;aEoDy;st,wn;cDgme,me,nchi1;tuC;cFg,il,ld,rD;ce,e29mDwa31;!at;us;aFe0Vip,oDy;at,ck,od,wD;!er;g,ke,me,re,sh,vo1E;eGgFlEnDre,sh,t,x;an3i0Q;e,m,t0;ht,uC;ld;aEeDn3;d,l;r,tuC;ce,il,ll,rm,vo2W;cho,d7ffe8nMsKxFyeD;!baD;ll;cGerci1hFpDtra8;eriDo0W;en3me9;au6ibA;el,han7u1;caDtima5;pe;count0d,vy;a01eSiMoJrEuDye;b,el,mp,pli2X;aGeFiEoD;ne,p;ft,ll,nk,p,ve;am,ss;ft,g,in;cEd7ubt,wnloD;ad;k,u0E;ge6p,sFt4vD;e,iDor3;de;char7gui1h,liEpD;at4lay,u5;ke;al,bKcJfeIlGmaBposAsEtaD;il;e07iD;gn,re;ay,ega5iD;ght;at,ct;li04rea1;a5ut;b,ma7n3rDte;e,t;a0Eent0Dh06irc2l03oKrFuD;be,e,rDt;b,e,l,ve;aGeFoEuDy;sh;p,ss,wd;dAep;ck,ft,sh;at,de,in,lTmMnFordina5py,re,st,uDv0;gh,nDp2rt;s01t;ceHdu8fli8glomeIsFtDveN;a8rD;a6ol;e9tru8;ct;ntDrn;ra5;bHfoGmFpD;leDouBromi1;me9;aBe9it,u5;rt;at,iD;ne;lap1oD;r,ur;aEiDoud,ub;ck,p;im,w;aEeDip;at,ck,er;iGllen7nErD;ge,m,t;ge,nD;el;n,r;er,re;ke,ll,mp,noe,pGrXsFtEuDve;se,ti0I;alog,ch;h,t;!tuC;re;a03eZiXlToPrHuEyD;pa11;bb2ck2dgEff0mp,rDst,zz;den,n;et;anJeHiFoadEuD;i1sh;ca6;be,d7;ge;aDed;ch,k;ch,d;aFg,mb,nEoDrd0tt2x,ycott;k,st,t;d,e;rd,st;aFeBiDoYur;nk,tz;nd;me;as,d,ke,nd,opsy,tD;!ch,e;aFef,lt,nDt;d,efA;it;r,t;ck,il,lan3nIrFsEtt2;le;e,h;!gDk;aDe;in;!d,g,k;bu1c05dZge,iYlVnTppQrLsIttGucEwaD;rd;tiD;on;aDempt;ck;k,sD;i6ocia5;st;chFmD;!oD;ur;!iD;ve;eEroa4;ch;al;chDg0sw0;or;aEt0;er;rm;d,m,r;dreHvD;an3oD;ca5;te;ce;ss;cDe,he,t;eFoD;rd,u9;nt;nt,ss;se",Actor:"true¦0:7C;1:7H;2:6B;3:7G;4:7P;5:7L;6:72;a6Pb64c4Xd4De43f3Tg3Ch31i2Vj2Rkin2Ql2Lm27n20o1Tp0Wqu0Ur0KsRtKuIvFw9yo7;gi,ut7;h,ub0;aBeAi9o8r7;estl0it0;m2rk0;fe,nn0t2Cza2I;atherm2ld0;ge earn0it0nder0rri1;eter8i7oyG;ll5Sp,s41;an,ina2V;n7s0;c6Wder04;aoisea24eAherapi5iktok0o9r7ut1yco6;a7endseMo45;d0mp,nscri0Cvel0;ddl0u1H;a0Rchn8en7na4st0;ag0;i3Qo0E;aiYcVeShQiNki0mu27oKpHquaGtCu8wee7;p0theart;lt2per8r7;f0ge6viv1;h7inten0Jst5Kvis1;ero,um2;a9ep8r7;ang0eam0;bro2Oc2Pfa2Omo2Osi21;ff0tesm2;tt0;ec8ir2Eo7;kesp5Bu0N;ia5Lt3;l8me6Cn,rcere7ul;r,ss;di0oi5;n8s7;sy,t0;g0n0;am2ephe1Jow7;girl,m2r2R;cretJnior cit3Hr7;gea4v7;a4it1;hol4Zi8reen7ulpt1;wr2D;e02on;l1nt;aFeAo9u7;l0nn7;er up,ingF;g42le mod41of0;a51c9fug2Rpo34searRv7;ere4Wolution7;ary;e7luZru23;ptio3V;bbi,dic5Xpp0;arter7e31;back;aZeXhTiSlPoLr9sycho8u7;nk,p34;logi5;aHeEiCo7;dAfess1g8ph49s7;pe2Mtitu53;en7ramm0;it1y;igy,uc0;est4Pme mini0Vnce7s3G;!ss;a8si7;de4;ch0;ctiti3Bnk0Q;dca0Pet,li7pula52rnst44;c2Ktic7;al scie7i2;nti5;a7umb0;nn0y7;er,ma4Nwright;lgrim,one0;a9iloso8otogra8ra7ysi1X;se;ph0;ntom,rmaci5;r7ssi1V;form0s6;i3Gl,nel40r9st1tr7wn;i7on;arXot;ent4Yi44tn0;ccupa4ffCp9r8ut7;ca5l0C;ac4Kganiz0ig2Hph2;er3t7;i1Lomet7;ri5;ic0spring;aCeAie4Zo8u7;n,rser3L;b7mad,vi4X;le2Xo4F;i7mesis,phew;ce,ghb1;nny,rr3t20;aFeEiBo8u7yst21;m9si18;der3gul,m8n7th0;arEk;!my;ni8s7;f03s0Kt0;on,st0;chan1Tnt1rcha4;giAk0n9rtyr,t7y1;e,riar7;ch;ag0iac;ci2stra3K;a8e2Cieutena4o7;rd,s0v0;bor0d8ndlo7ss,urea3Hwy0ym2;rd;!y;!s2A;anitor ,e9o8u7;ggl0;gg0urna2W;st0;c6dol,llu3Wmmigra4n7;-lAc1Sfa4habi44nov3s8ve7;nt1stig3;pe0Pt7;a1Hig3ru0O;aw;airGeCistoBo9u7ygie1M;man7sba2J;!ita9;bo,st7usekO;age,e3R;ri2;ir,r7;m8o7;!ine;it;dress0sty2E;aMeJhostHirl28ladi3oDrand8u7;e5ru;cAdaugTfa9m8pa7s6;!re4;a,o7;th0;hi1D;al8d7lf0;!de3C;ie,k7te28;eep0;!wr7;it0;isha,n7;i7tl06;us;mbl0rden0;aFella,iBo8r7;eela2Pie1R;e,re7ster pare4;be1Jm2r7st0;unn0;an31g9lmm19nanci0r7tt0;e7st la2J; marsh2Qfig7m2;ht0;rm0th0;conoFdElectriDm9n8x7;amin0cellency,i2B;emy,trepreneur,vironmenta1K;c9p7;er1loye7;e,r;ee;ci2;it1;mi5;aLeCi9ork,ri8u7we03;de,tche2I;ft0vK;ct3eti8plom2Ire7va;ct1;ci2ti2;aEcor3fencDi0JnBputAs8tectNvel7;op0;ce1He7ign0;rt0;ee,y;iz7;en;em2;c6l0;dAnc0redev9ught7;er7;! ;il;!dy;a06e04fo,hXitizenWlToCrAu7;r3stomer7;! representat7;ive;e3it7;ic;-work0lJmGnAord9rpor1Nu7wboy;n7ri0sin ;ciUte1R;in3;fidantBgressTsAt7;e0Lr7;ibut1o7;ll0;tab14ul1P;!e;edi2m7pos0rade;a0FeRissi7;on0;leag9on8um7;ni5;el;ue;e7own;an0r7;ic,k;!s;aAe8i7um;ld;erle7f;ad0;ir8nce7plGract0;ll1;m2wJ;lebri7o;ty;dCptBr7shi0;e8pe7;nt0;r,t7;ak0;ain;et;aNeMiKlogg0oFrCu7;dd0Gild0rglAsiness7;m2p8w7;om2;ers6;ar;i8o7;!k0th0;cklay0de,gadi0;hemi2oge9y7;!frie7;nd;ym2;an;cyc7sS;li5;atbox0ings;by,nk0r7;b0on8te7;nd0;!e08;c05dXge4nRpMrIsGtBu8yatull7;ah;nt8t7;h1oH;!ie;h9t7;e7orney;nda4;ie5le7;te;sis01tron7;aut,om0;chbis9isto8tis7;an,t;crV;hop;ostAp7;ari7rentiT;ti6;on;le;aAcest1im3nou9y7;bo7;dy;nc0;ly5rc7;hi5;mi9v7;entur0is1;er;ni8r7;al;str3;at1;or;counCquaintanBrobAt7;ivi5or,re7;ss;st;at;ce;ta4;nt","Adj|Noun":"true¦0:1F;1:1M;a1Db17c0Vd0Se0Nf0Eg0Bh09i07ju06l03mXnVoTpOrJsCt8u5v2watershed;a2ision10;gabo5nilla,ria2;b0Wnt;ndergr2pstairs;adua14ou2;nd;a4e2oken,ri0;en,r2;min0rori13;boo,n;age,e6ilv0Glack,o4quat,ta3u2well;bordina0Xper6;b0Mndard;ciali0Yl2vereign;e,ve1;cret,n2ri0;ior;a5e3ou2ubbiM;nd,tiZ;ar,bCl0Ynt0p2side1;resent0Xublican;ci0Qsh;a5eriodic0last11otenti0r2;emi3incip0o2;!fession0;er,um;rall5st,tie1;ff2pposi0Hv0;ens0Qi0D;agg02ov2;el;a6e4iniatKo2;bi02der08r2;al,t0;di2tr0P;an,um;le,riH;attPi3u2;sh;ber0ght,qD;stice,veniU;de0mpressioZn2;cumbe1dividu0no0Fsta1terim;alf,o2umdrum;bby,melG;en3old,ra2;ph0Dve;er0ious;a8e6i5l4u2;git05t2;ure;uid;ne;llow,m2;aGiM;ir,t,vo2;riOuriO;l4p02x2;c2ecutWpeX;ess;d2iK;er;ar3e2;mographWrivQ;k,l3;hiGlassUo3rude,unn2;ing;m6n2operM;creCstitue1te3vertab2;le;mpor2nt;ary;ic,m3p2;anion,lex;er3u2;ni8;ci0;e6lank,o5r2;i3u2;te;ef;ttom,urgeois;st;cademCd9l5n3r2;ab,ctB;im0tarctA;al;e4tern2;at2;ive;rt;oles2ult;ce1;nt;ic","Adj|Past":"true¦0:4C;1:40;2:45;3:42;4:3B;a3Tb3Ic2Vd2Ae22f1Wg1Th1Qi1Hj1Ekno1Dl18m13n10o0Vp0Lqu0Jr07sKtEuBvAw5yellow0;a8ea7o5rinkl0;r5u3N;n,ri0;k2Qth3;rp0sh0tY;ari0e1M;n5pd1s0;cov3derstood,i5;fi0t0;a8hreat2Ki7ouTr5urn0wi42;a5imm0ou28;ck0in0pp0;ed,r0;m0nn0r5;get0ni2K;aPcLeJhHimGm0Hoak0pEt8u5;bsid3Fgge3Vs5;pe5ta2P;ct0nd0;a9e8i26ok0r6u5;ff0nn0;ength28ip5;ed,p0;am0reotyp0;in0t0;eci5ik0oI;al35fi0;pSul1;a5ock0ut;d0r0;a5c1Dle2t2S;l0s3Jt0;a7or6r5;at5e1W;ch0;r0tt3;t5ut0;is4ur1;aFe6o5;tt0;cBdJf22gAje2l9m0Knew0p8qu7s5;eTpe2t5;or0ri2;e34ir0;e1lac0;at0e2H;ist3ul1;eiv0o5ycl0;mme2Crd0v3;in0lli0ti4;a5ot0;li4;aCer2RiBlAo9r5ump0;e7i2Go5;ce27d5lo14nou2Spos0te2v0;uc0;fe15ocDp0Fss0;i2Cli1D;ann0e24uT;ck0erc0ss0;ck0i29r5st0;allMk0;bse8c7rgan25ver5;lo5whelm0;ok0;cupi0;rv0;e6o5;t0uri12;ed0gle2;a7e6ix0o5ut0;di4t0Xu1Y;as07lt0;n5rk0;ag0ufact05;e7i6o5;ad0ck0st;cens0mit0st0;ft,v5;el0;tt0wn;a6o0Xu5;dg0s13;gg0;llumin1mpBn5sol1;br0cre1Ddebt0f9jUt6v5;it0olv0;e5ox0Q;gr1n5re1V;d0si4;e2l1o1O;li0oVr5;ov0;amm3e1o5;ok0r5;ri4;ift0r6u5;a14id0;i0Kown;a9e8i7lavo0Goc0Cr5;a5i0oz0S;ctEg13m0;ni04tt0x0;ar0;d0il0;duc1l1mBn9quipp0s8x5;agger1p5te0Q;a0Pe5os0;ct0rie1A;cap0tabliX;gFha18s5;ur0;a0Xbarra0L;aMeEi6r5;a00i0;gni4miniRre2s5;aAc7grun0Et5;o5re0Gurb0;rt0;iplVou5;nt0r5;ag0;bl0;cBdQf9l8pre0Ara7t6v5;elop0ot0;ail0ermP;ng0;ay0ight0;e5in0o0M;rr0;ay0enTor1;m5t0z0;ag0p5;en0;aQeMhJlIoAr7u5;lt5r0stom04;iv1;a6owd0u5;sh0;ck0mp0;d0loBm8n5ok0v3;centr1f6s5troD;id3olid1;us0;b6pl5;ic1;in0;r0ur0;assi4os0utt3;ar6i5;ll0;g0m0;lebr1n7r5;ti4;fi0;tralK;g0lcul1;aEiDlAo8r6urn5;ed,t;ok5uis0;en;il0r0t5und;tl0;e6i5;nd0;ss0;as0;k0laNs0tt3;bandQcOdLfJg0lGmaz0nEppCrm0ssAu6wa5;rd0;g6thor5;iz0;me5;nt0;o7u5;m0r0;li0re5;ci1;im1ticip1;at0;a6leg0t3;er0;rm0;fe2;ct0;ju6o8va5;nc0;st0;ce5knowledg0;pt0;on0;ed",Singular:"true¦0:5H;1:5F;2:4U;3:4Q;4:50;5:55;6:5J;a4Yb4Hc3Kd32e2Uf2Lg2Gh25in21j20k1Zl1Sm1Jn1Fo19p0Pqu0Or0DsXtKuFvAw7x r54yo yo;a7ha3Mo3N;f3i4Nt0Ey7;! arou36;arAe8ideo ga2No7;cabu4Fl58;gMr7t;di4Vt1V;iety,ni4L;n9p2Xr8s 7;do40s5A;bani1in0;coordinat37der7;estima1to21we3Y; rex,aIeHhFiDoCr9u8v7;! show;m2Ln2rntJto1B;agedy,ib7o4A;e,u7;n0ta42;ni1p2rq3I;c,er,m7;etD;ing7ree23;!y;am,mp3C;ct2le6x return;aLcKeIhor4MiHkFoEpin off,tBu9y7;ll7ner4Ist4P;ab2U;b7i1n25per bowl,rro1U;st3Itot0;at8ipe2Do1Irate4Eudent7;! lo0G;i36u1;ft ser4Hmeo1F;elet5i7;ll,r3R;b35gn2Qte;ab2Gc7min38;t,urity gua2K;e6ho2V;bbatic0la3Fndwi0Opi5;av5eBhetor2i8o7;de6om,w;t8v7;erb29;e,u0;bBc9f7publ2r0Xspi1;er7orm3;e6r0;i7ord label;p2Et0;a1u42;estion mark,ot2C;aNeKhoJiGlEoCr8u7yram1C;ddi3DpCrpo1Gs3F;e9o7;bl3Vs7;pe3Fta1;dic1Omi1Cp1Nroga3Rss relea1C;p7rt0;py;a7ebisci1;q2Ate;cn2e8g7;!gy;!r;ne call,tocoI;anut,d8r7t0yo1;cen3Fsp3G;al,est0;nop4r8t7;e,hog5;adi0Yi2R;atme0bj3Bc9pia1rde0thers,utspok5ve7wn3;n,r7;ti0Mview;cu8e7;an;pi3;ar9it8ot7umb3;a2Bhi2N;e,ra1;cot2ra33;aDeAi8o7ur0;nopo4p15rni2Jsq1Oti32uld;c,li0Yn07s7tt5;chief,si30;d8nu,t7;al,i3;al,ic;gna1mm0nd12rsupi0te7yf4;ri0;aBegAi9u7;ddi1n7;ch;ght bulb,me,p06ving room; 8e0J;bor11y 7;up;eyno1itt5;el4ourn0;c9dices,itia2Kni22s8tel0Jvert7;eb1H;e25titu1;en2Hi2Q;aGeCighBo8u7;man right,s1Z;me7rmoDsp1Dtb0I;! r7;un; scho0WriW;a7i1K;d7v5; start,pho7;ne;ndful,sh brown,v5ze;a9elat0Glaci3r7ul4yp1P;an7enadi3id;a19d slam,ny;df4r7;l2ni1F;aEeti1EiDlu1oAr8un7;er0;ee market,i7onti3;ga1;l4ur7;so7;me;eNref4;br2mi4;conoDffi1Mgg,lecto0Pmbas1BnApidem2s1Wth2ven9x8yel7;id;ampXempl0Lte6;i16t;er1Iterp7;ri7;se;my;eJiCo9r7ump tru0R;agonf4i7;er,ve thru;c8g1Bi4or,ssi3wn7;side;to0CumenC;aCgniBnn3s8vide7;nd;conte6incen1Bp7tri0Y;osi7;tion;ta0E;le0U;ath9c8f7ni0terre6;ault 03err0;al,im0;!b7;ed;aUeRhKiJlHoBr7;edit ca9uc7;ib7;le;rd;efficBke,lAmmuniqJns8pi3rr0t0Uus7yo1;in;erv7uG;atoZ;ic,lO;ie6;er0Li7oth;e6n2;ty,vil wK;aBeqAick5oco9r7;istmas car7ysanthemum;ol;la1;ue;ndeli3racteri7;st2;i8llCr7;e0tifica1;liW;hi3nDpCrAt7ucus;erpi7hedr0;ll7;ar;!bohyd7ri3;ra1;it0;a7e,nib0;l,ry;aKeJiop2leHoFrBu7;nny,r7tterf4;g7i0;la7;ry;eak8i7;ck;fa7thro9;st;dy,ro7wl;ugh;mi7;sh;an,l4;nki8rri3;er;ng;cQdKlGnDppeti1rBs9tt2utop7;sy;ic;ce6pe7;ct;r7sen0;ay;ec8oma4ti8;ly;do1;i5l7;er7y;gy;en; hominBj8van7;tage;ec7;ti7;ve;em;cAe8qui7;tt0;ta1;te;i8ru0;al;de6;nt","Person|Noun":"true¦a0Eb07c03dWeUfQgOhLjHkiGlFmCnBolive,p7r4s3trini06v1wa0;ng,rd,tts;an,enus,iol0;a,et;ky,onPumm09;ay,e1o0uby;bin,d,se;ed,x;a2e1o0;l,tt04;aLnJ;dYge,tR;at,orm;a0eloW;t0x,ya;!s;a9eo,iH;ng,tP;a2e1o0;lGy;an,w3;de,smi4y;a0erb,iOolBuntR;ll,z0;el;ail,e0iLuy;ne;a1ern,i0lo;elds,nn;ith,n0;ny;a0dEmir,ula,ve;rl;a4e3i1j,ol0;ly;ck,x0;ie;an,ja;i0wn;sy;am,h0liff,rystal;a0in,ristian;mbers,ri0;ty;a4e3i2o,r0ud;an0ook;dy;ll;nedict,rg;k0nks;er;l0rt;fredo,ma","Actor|Verb":"true¦aCb8c5doctor,engineAfool,g3host,judge,m2nerd,p1recruit,scout,ushAvolunteAwi0;mp,tneA;arent,ilot;an,ime;eek,oof,r0uide;adu8oom;ha1o0;ach,nscript,ok;mpion,uffeur;o2u0;lly,tch0;er;ss;ddi1ffili0rchite1;ate;ct",MaleName:"true¦0:H9;1:FZ;2:DS;3:GQ;4:CZ;5:FV;6:GM;7:FP;8:GW;9:ET;A:C2;B:GD;aF8bE1cCQdBMeASfA1g8Yh88i7Uj6Sk6Bl5Mm48n3So3Ip33qu31r26s1Et0Ru0Ov0CwTxSyHzC;aCor0;cChC1karia,nAT;!hDkC;!aF6;!ar7CeF5;aJevgenBSoEuC;en,rFVsCu3FvEF;if,uf;nDs6OusC;ouf,s6N;aCg;s,tC;an,h0;hli,nCrosE1ss09;is,nC;!iBU;avi2ho5;aPeNiDoCyaEL;jcieBJlfgang,odrFutR;lFnC;f8TsC;lCt1;ow;bGey,frEhe4QlC;aE5iCy;am,e,s;ed8iC;d,ed;eAur;i,ndeD2rn2sC;!l9t1;lDyC;l1ne;lDtC;!er;aCHy;aKernDAiFladDoC;jteB0lodymyr;!iC;mFQsDB;cFha0ktBZnceDrgCOvC;a0ek;!nC;t,zo;!e4StBV;lCnC7sily;!entC;in9J;ghE2lCm70nax,ri,sm0;riCyss87;ch,k;aWeRhNiLoGrEuDyC;!l2roEDs1;n6r6E;avD0eCist0oy,um0;ntCRvBKy;bFdAWmCny;!asDmCoharu;aFFie,y;!z;iA6y;mCt4;!my,othy;adEeoDia0SomC;!as;!dor91;!de4;dFrC;enBKrC;anBJeCy;ll,nBI;!dy;dgh,ha,iCnn2req,tsu5V;cDAka;aYcotWeThPiMlobod0oKpenc2tEurDvenAEyCzym1;ed,lvest2;aj,e9V;anFeDuC;!aA;fan17phEQvCwaA;e77ie;!islaCl9;v,w;lom1rBuC;leymaDHta;dDgmu9UlCm1yabonga;as,v8B;!dhart8Yn9;aEeClo75;lCrm0;d1t1;h9Jne,qu1Jun,wn,yne;aDbastiEDk2Yl5Mpp,rgCth,ymoCU;e1Dio;m4n;!tC;!ie,y;eDPlFmEnCq67tosCMul;dCj2UtiA5;e01ro;!iATkeB6mC4u5;!ik,vato9K;aZeUheC8iRoGuDyC;an,ou;b99dDf4peAssC;!elEG;ol00y;an,bLc7MdJel,geIh0lHmGnEry,sDyC;!ce;ar7Ocoe,s;!aCnBU;ld,n;an,eo;a7Ef;l7Jr;e3Eg2n9olfo,riC;go;bBNeDH;cCl9;ar87c86h54kCo;!ey,ie,y;cFeA3gDid,ubByCza;an8Ln06;g85iC;naC6s;ep;ch8Kfa5hHin2je8HlGmFndEoHpha5sDul,wi36yC;an,mo8O;h9Im4;alDSol3O;iD0on;f,ph;ul;e9CinC;cy,t1;aOeLhilJiFrCyoG;aDeC;m,st1;ka85v2O;eDoC;tr;r8GtC;er,ro;!ipCl6H;!p6U;dCLrcy,tC;ar,e9JrC;!o7;b9Udra8So9UscAHtri62ulCv8I;!ie,o7;ctav6Ji2lImHndrBRrGsDtCum6wB;is,to;aDc6k6m0vCwaBE;al79;ma;i,vR;ar,er;aDeksandr,ivC;er,i2;f,v;aNeLguyBiFoCu3O;aDel,j4l0ma0rC;beAm0;h,m;cFels,g5i9EkDlC;es,s;!au,h96l78olaC;!i,y;hCkCol76;ol75;al,d,il,ls1vC;ilAF;hom,tC;e,hC;anCy;!a5i5;aYeViLoGuDyC;l4Nr1;hamDr84staC;fa,p6E;ed,mG;di10e,hamEis4JntDritz,sCussa;es,he;e,y;ad,ed,mC;ad,ed;cGgu5hai,kFlEnDtchC;!e8O;a9Pik;house,o7t1;ae73eC3ha8Iolaj;ah,hDkC;!ey,y;aDeC;al,l;el,l;hDlv3rC;le,ri8Ev4T;di,met;ay0c00gn4hWjd,ks2NlTmadZnSrKsXtDuric7VxC;imilBKwe8B;eHhEi69tCus,y69;!eo,hCia7;ew,i67;eDiC;as,eu,s;us,w;j,o;cHiGkFlEqu8Qsha83tCv3;iCy;!m,n;in,on;el,o7us;a6Yo7us;!elCin,o7us;!l8o;frAEi5Zny,u5;achDcoCik;lm;ai,y;amDdi,e5VmC;oud;adCm6W;ou;aulCi9P;ay;aWeOiMloyd,oJuDyC;le,nd1;cFdEiDkCth2uk;a7e;gi,s,z;ov7Cv6Hw6H;!as,iC;a6Een;g0nn52renDuCvA4we7D;!iS;!zo;am,n4oC;n5r;a9Yevi,la5KnHoFst2thaEvC;eCi;nte;bo;nCpo8V;!a82el,id;!nC;aAy;mEnd1rDsz73urenCwr6K;ce,t;ry,s;ar,beAont;aOeIhalHiFla4onr63rDu5SylC;e,s;istCzysztof;i0oph2;er0ngsl9p,rC;ilA9k,ollos;ed,id;en0iGnDrmCv4Z;it;!dDnCt1;e2Ny;ri4Z;r,th;cp2j4mEna8BrDsp6them,uC;ri;im,l;al,il;a03eXiVoFuC;an,lCst3;en,iC;an,en,o,us;aQeOhKkub4AnIrGsDzC;ef;eDhCi9Yue;!ua;!f,ph;dCge;i,on;!aCny;h,s,th6J;anDnC;!ath6Hie,n72;!nC;!es;!l,sCy;ph;o,qu3;an,mC;!i,m6V;d,ffFns,rCs4;a7JemDmai7QoCry;me,ni1H;i9Fy;!e73rC;ey,y;cKdBkImHrEsDvi2yC;dBs1;on,p2;ed,oDrCv67;e6Qod;d,s61;al,es5Wis1;a,e,oCub;b,v;ob,qu13;aTbNchiMgLke53lija,nuKonut,rIsEtCv0;ai,suC;ki;aDha0i8ZmaCsac;el,il;ac,iaC;h,s;a,vinCw3;!g;k,nngu6X;nac1Xor;ka;ai,rahC;im;aReLoIuCyd6;beAgGmFsC;eyDsC;a3e3;in,n;ber5W;h,o;m2raDsse3wC;a5Pie;c49t1K;a0Qct3XiGnDrC;beAman08;dr7VrC;iCy2N;!k,q1R;n0Tt3S;bKlJmza,nIo,rEsDyC;a5KdB;an,s0;lEo67r2IuCv9;hi5Hki,tC;a,o;an,ey;k,s;!im;ib;a08e00iUlenToQrMuCyorgy;iHnFsC;!taC;f,vC;!e,o;n6tC;er,h2;do,lC;herDlC;auCerQ;me;aEegCov2;!g,orC;!io,y;dy,h7C;dfr9nza3XrDttfC;ri6C;an,d47;!n;acoGlEno,oCuseppe;rgiCvan6O;!o,s;be6Ies,lC;es;mo;oFrC;aDha4HrC;it,y;ld,rd8;ffErgC;!e7iCy;!os;!r9;bElBrCv3;eCla1Nr4Hth,y;th;e,rC;e3YielC;!i4;aXeSiQlOorrest,rCyod2E;aHedFiC;edDtC;s,z;ri18;!d42eri11riC;ck,k;nCs2;cEkC;ie,lC;in,yn;esLisC;!co,z3M;etch2oC;ri0yd;d5lConn;ip;deriFliEng,rC;dinaCg4nan0B;nd8;pe,x;co;bCdi,hd;iEriC;ce,zC;io;an,en,o;benez2dZfrYit0lTmMnJo3rFsteb0th0ugenEvCymBzra;an,eCge4D;ns,re3K;!e;gi,iDnCrol,v3w3;est8ie,st;cCk;!h,k;o0DriCzo;co,qC;ue;aHerGiDmC;aGe3A;lCrh0;!iC;a10o,s;s1y;nu5;beAd1iEliDm2t1viCwood;n,s;ot28s;!as,j5Jot,sC;ha;a3en;!dGg6mFoDua2QwC;a2Pin;arC;do;oZuZ;ie;a04eTiOmitrNoFrag0uEwDylC;an,l0;ay3Hig4D;a3Gdl9nc0st3;minFnDri0ugCvydGy2S;!lF;!a36nCov0;e1Eie,y;go,iDykC;as;cCk;!k;i,y;armuFetDll1mitri7neCon,rk;sh;er,m6riC;ch;id;andLepak,j0lbeAmetri4nIon,rGsEvDwCxt2;ay30ey;en,in;hawn,moC;nd;ek,riC;ck;is,nC;is,y;rt;re;an,le,mKnIrEvC;e,iC;!d;en,iEne0PrCyl;eCin,yl;l45n;n,o,us;!iCny;el,lo;iCon;an,en,on;a0Fe0Ch03iar0lRoJrFuDyrC;il,us;rtC;!is;aEistC;iaCob12;no;ig;dy,lInErC;ey,neliCy;s,us;nEor,rDstaC;nt3;ad;or;by,e,in,l3t1;aHeEiCyde;fCnt,ve;fo0Xt1;menDt4;us;s,t;rFuDyC;!t1;dCs;e,io;enC;ce;aHeGrisC;!toC;phCs;!eC;!r;st2t;d,rCs;b5leC;s,y;cDdrCs6;ic;il;lHmFrC;ey,lDroCy;ll;!o7t1;er1iC;lo;!eb,v3;a09eZiVjorn,laUoSrEuCyr1;ddy,rtKst2;er;aKeFiEuDyC;an,ce,on;ce,no;an,ce;nDtC;!t;dDtC;!on;an,on;dFnC;dDisC;lav;en,on;!foOl9y;bby,gd0rCyd;is;i0Lke;bElDshC;al;al,lL;ek;nIrCshoi;at,nEtC;!raC;m,nd;aDhaCie;rd;rd8;!iDjam3nCs1;ie,y;to;kaMlazs,nHrC;n9rDtC;!holomew;eCy;tt;ey;dCeD;ar,iC;le;ar1Pb1Dd16fon15gust3hm12i0Zja0Yl0Bm07nTputsiSrGsaFugustEveDyCziz;a0kh0;ry;o,us;hi;aMchiKiJjun,mHnEon,tCy0;em,hCie,ur8;ur;aDoC;!ld;ud,v;aCin;an,nd8;!el,ki;baCe;ld;ta;aq;aMdHgel8tCw6;hoFoC;iDnC;!i8y;ne;ny;er7rCy;eDzC;ej;!as,i,j,s,w;!s;s,tolC;iCy;!y;ar,iEmaCos;nu5r;el;ne,r,t;aVbSdBeJfHiGl01onFphonsEt1vC;aPin;on;e,o;so,zo;!sR;!onZrC;ed;c,jaHksFssaHxC;!andC;er,rC;e,os,u;andCei;ar,er,r;ndC;ro;en;eDrecC;ht;rt8;dd3in,n,sC;taC;ir;ni;dDm6;ar;an,en;ad,eC;d,t;in;so;aGi,olErDvC;ik;ian8;f8ph;!o;mCn;!a;dGeFraDuC;!bakr,lfazl;hCm;am;!l;allHelEoulaye,ulC;!lCrE;ah,o;! rC;ahm0;an;ah;av,on",Uncountable:"true¦0:2Z;1:2F;2:2M;3:34;4:3D;a2Xb2Oc2Cd25e1Uf1Qg1Hh19i14j11k0Zl0Um0Kn0Go0Fp06r02sNtBuran2Mv9w5you gu0H;a7his1Ai6oo5;d,l;ldlife,ne;rmAt2;apor,ernacul2Ci5;neg2Bol1Rtae;eFhDiCoAr6un5yranny;a,gst1E;aff2Rea1No6ue nor5;th;o0Bu5;bleshoot0se1Wt;night,othpas1Ywn5;foGsfoG;me off,n;er5und2;e,mod2V;a,nnis;aGcFeEhCiBkiAo9p8t6u5weepstak1;g1Xnshi2Kshi;ati0Be5;am,el;ace2Neci1;ap,cc2meth0;n,ttl1;lk;eep,ingl1o5;pp0r1E;lf,na1Iri1;ene1Misso1E;d0Yfe3l6nd,t5;i0Kurn;m1Wt;abi1e6ic5;e,ke17;c5i03laxa13search;ogni12rea12;aBeAhys9luto,o7re5ut3;amble,mis1s5ten22;en21s0N;l5rk;i2Al0GyJ; 18i4;a26tr0H;nt5rk0ti0O;i1s;bstetri4vercrowd0xyg0B;a7e6owada5utella;ys;ptu1Qws;il poli01tional securi3;aCeAo7u5;m5s1J;ps;n5o1M;ey,o5;gamy;a5cha0Glancholy,rchandi1Jtallurgy;sl1t;chine5g1Cj1Jrs,thema1S; learn0ry;aught2e8i7ogi6u5;ck,g14;c,s1O;ce,ghtn0nguis1NteratYv2;ath2isXss;ara0GindergartRn5;icke0Cowled10;e5upit2;a5llyfiIwel0I;ns;ce,gnor8mp7n5;forma02ter5;net,sta09;atiUort5rov;an1A;a9e8isto0Bo5ung2;ckey,mework,ne6o5rseradiAspitali3use arrest;ky;s3y;adquarteZre;ir,libut,ppiJs5;hi5te;sh;eneAl8o7r5um,ymnas13;a5e01;niWss;lf,re;ut5yce0H;en; 5ti4;edit0po5;ol;aPeel0icHlour,o6urnit5;ure;od,rgive5uri2wl;ness;arEcono0NducaDlectrBn9quipAthi4very8x5;ist6per5;ti0D;en0L;body,o0Ath0;joy5tertain5;ment;ici3o5;ni4;tiU;nings,th;emi04i8o6raugh5ynas3;ts;pe,wnstai5;rs;abet1ce,s5;hon01repu5;te;aFelciEhCivi4lAo5urrency;al,ld w8mmenta7n5ral,ttKuscoD;fusiJt 5;ed;ry;ar;assi4oth1;es;aos,e5;eOw0;us;d,rQ;aAi8lood,owl0read7u5;nt0tt2;er;!th;lliarLs5;on;g5ss;ga5;ge;cMdviLeroIirHmDn8ppeal court,r6spi5thleN;rin;ithmet5sen5;ic;i8y5;o6th0;ing;ne;se;en7n5;es3;ty;ds;craft;bi4d5nau9;yna5;mi4;ce;id,ous5;ti4;cs",Infinitive:"true¦0:9G;1:9T;2:AD;3:90;4:9Z;5:84;6:AH;7:A9;8:92;9:A0;A:AG;B:AI;C:9V;D:8R;E:8O;F:97;G:6H;H:7D;a94b8Hc7Jd68e4Zf4Mg4Gh4Ai3Qj3Nk3Kl3Bm34nou48o2Vp2Equ2Dr1Es0CtZuTvRwI;aOeNiLors5rI;eJiI;ng,te;ak,st3;d5e8TthI;draw,er;a2d,ep;i2ke,nIrn;d1t;aIie;liADniAry;nJpI;ho8Llift;cov1dJear8Hfound8DlIplug,rav82tie,ve94;eaAo3X;erIo;cut,go,staAFvalA3w2G;aSeQhNoMrIu73;aIe72;ffi3Smp3nsI;aBfo7CpI;i8oD;pp3ugh5;aJiJrIwaD;eat5i2;nk;aImA0;ch,se;ck3ilor,keImp1r8L;! paD;a0Ic0He0Fh0Bi0Al08mugg3n07o05p02qu01tUuLwI;aJeeIim;p,t5;ll7Wy;bNccMffLggeCmmKppJrI;mouFpa6Zvi2;o0re6Y;ari0on;er,i4;e7Numb;li9KmJsiIveD;de,st;er9it;aMe8MiKrI;ang3eIi2;ng27w;fIng;f5le;b,gg1rI;t3ve;a4AiA;a4UeJit,l7DoI;il,of;ak,nd;lIot7Kw;icEve;atGeak,i0O;aIi6;m,y;ft,ng,t;aKi6CoJriIun;nk,v6Q;ot,rt5;ke,rp5tt1;eIll,nd,que8Gv1w;!k,m;aven9ul8W;dd5tis1Iy;a0FeKiJoI;am,t,ut;d,p5;a0Ab08c06d05f01group,hea00iZjoi4lXmWnVpTq3MsOtMup,vI;amp,eJiIo3B;sEve;l,rI;e,t;i8rI;ie2ofE;eLiKpo8PtIurfa4;o24rI;aHiBuctu8;de,gn,st;mb3nt;el,hra0lIreseF;a4e71;d1ew,o07;aHe3Fo2;a7eFiIo6Jy;e2nq41ve;mbur0nf38;r0t;inKleBocus,rJuI;el,rbiA;aBeA;an4e;aBu4;ei2k8Bla43oIyc3;gni39nci3up,v1;oot,uI;ff;ct,d,liIp;se,ze;tt3viA;aAenGit,o7;aWerUinpoiFlumm1LoTrLuI;b47ke,niArIt;poDsuI;aFe;eMoI;cKd,fe4XhibEmo7noJpo0sp1tru6vI;e,i6o5L;un4;la3Nu8;aGclu6dJf1occupy,sup0JvI;a6BeF;etermi4TiB;aGllu7rtr5Ksse4Q;cei2fo4NiAmea7plex,sIva6;eve8iCua6;mp1rItrol,ve;a6It6E;bOccuNmEpMutLverIwe;l07sJtu6Yu0wI;helm;ee,h1F;gr5Cnu2Cpa4;era7i4Ipo0;py,r;ey,seItaH;r2ss;aMe0ViJoIultiply;leCu6Pw;micJnIspla4;ce,g3us;!k;iIke,na9;m,ntaH;aPeLiIo0u3N;e,ke,ng1quIv5;eIi6S;fy;aKnIss5;d,gI;th5;rn,ve;ng2Gu1N;eep,idnJnI;e4Cow;ap;oHuI;gg3xtaI;po0;gno8mVnIrk;cTdRfQgeChPitia7ju8q1CsNtKun6EvI;a6eIo11;nt,rt,st;erJimi6BoxiPrI;odu4u6;aBn,pr03ru6C;iCpi8tIu8;all,il,ruB;abEibE;eCo3Eu0;iIul9;ca7;i7lu6;b5Xmer0pI;aLer4Uin9ly,oJrI;e3Ais6Bo2;rt,se,veI;riA;le,rt;aLeKiIoiCuD;de,jaInd1;ck;ar,iT;mp1ng,pp5raIve;ng5Mss;ath1et,iMle27oLrI;aJeIow;et;b,pp3ze;!ve5A;gg3ve;aTer45i5RlSorMrJuI;lf4Cndrai0r48;eJiIolic;ght5;e0Qsh5;b3XeLfeEgJsI;a3Dee;eIi2;!t;clo0go,shIwa4Z;ad3F;att1ee,i36;lt1st5;a0OdEl0Mm0FnXquip,rWsVtGvTxI;aRcPeDhOiNpJtIu6;ing0Yol;eKi8lIo0un9;aHoI;it,re;ct,di7l;st,t;a3oDu3B;e30lI;a10u6;lt,mi28;alua7oI;ke,l2;chew,pou0tab19;a0u4U;aYcVdTfSgQhan4joy,lPqOrNsuMtKvI;e0YisI;a9i50;er,i4rI;aHenGuC;e,re;iGol0F;ui8;ar9iC;a9eIra2ulf;nd1;or4;ang1oIu8;r0w;irc3lo0ou0ErJuI;mb1;oaGy4D;b3ct;bKer9pI;hasiIow1;ze;aKody,rI;a4oiI;d1l;lm,rk;ap0eBuI;ci40de;rIt;ma0Rn;a0Re04iKo,rIwind3;aw,ed9oI;wn;agno0e,ff1g,mi2Kne,sLvI;eIul9;rIst;ge,t;aWbVcQlod9mant3pNru3TsMtI;iIoDu37;lJngI;uiA;!l;ol2ua6;eJlIo0ro2;a4ea0;n0r0;a2Xe36lKoIu0S;uIv1;ra9;aIo0;im;a3Kur0;b3rm;af5b01cVduBep5fUliTmQnOpMrLsiCtaGvI;eIol2;lop;ch;a20i2;aDiBloIoD;re,y;oIy;te,un4;eJoI;liA;an;mEv1;a4i0Ao06raud,y;ei2iMla8oKrI;ee,yI;!pt;de,mIup3;missi34po0;de,ma7ph1;aJrief,uI;g,nk;rk;mp5rk5uF;a0Dea0h0Ai09l08oKrIurta1G;a2ea7ipp3uI;mb3;ales4e04habEinci6ll03m00nIrro6;cXdUfQju8no7qu1sLtKvI;eIin4;ne,r9y;aHin2Bribu7;er2iLoli2Epi8tJuI;lt,me;itu7raH;in;d1st;eKiJoIroFu0;rm;de,gu8rm;ss;eJoI;ne;mn,n0;eIlu6ur;al,i2;buCe,men4pI;eIi3ly;l,te;eBi6u6;r4xiC;ean0iT;rcumveFte;eJirp,oI;o0p;riAw;ncIre5t1ulk;el;a02eSi6lQoPrKuI;iXrIy;st,y;aLeaKiJoad5;en;ng;stfeLtX;ke;il,l11mba0WrrMth1;eIow;ed;!coQfrie1LgPhMliLqueaKstJtrIwild1;ay;ow;th;e2tt3;a2eJoI;ld;ad;!in,ui3;me;bysEckfi8ff3tI;he;b15c0Rd0Iff0Ggree,l0Cm09n03ppZrXsQttOuMvJwaE;it;eDoI;id;rt;gIto0X;meF;aIeCraB;ch,in;pi8sJtoI;niA;aKeIi04u8;mb3rt,ss;le;il;re;g0Hi0ou0rI;an9i2;eaKly,oiFrI;ai0o2;nt;r,se;aMi0GnJtI;icipa7;eJoIul;un4y;al;ly0;aJu0;se;lga08ze;iKlI;e9oIu6;t,w;gn;ix,oI;rd;a03jNmiKoJsoI;rb;pt,rn;niIt;st1;er;ouJuC;st;rn;cLhie2knowled9quiItiva7;es4re;ce;ge;eQliOoKrJusI;e,tom;ue;mIst;moJpI;any,liA;da7;ma7;te;pt;andPduBet,i6oKsI;coKol2;ve;liArt,uI;nd;sh;de;ct;on",Person:"true¦0:1S;a2Bb21c1Od1Ge1Af17g15h0Ti0Sj0Pk0Ll0Im0Bn08o07p02rRsKtEusain bolt,vBw4xzibit,y1;anni,oko on2uji,v1;an,es;en,o;a5ednesday adams,i2o1;lfr3o0S;ll1z khalifa; ferrell,.i.1;am;lt disn1Qr1;hol,r0G;a2i1oltai06;n dies0Zrginia wo17;lentino rossi,n goG;a4h3i2ripp,u1yra banks;lZpac shakur;ger woods,mba07;eresa may,or;kashi,t1ylor;um,ya1B;a5carlett johanss0h4i3lobodan milosevic,no2ocr1Lpider1uperm0Fwami;-m0Em0E;op dogg,w whi1H;egfried,nbad;akespeaTerlock holm1Sia labeouf;ddam hussa16nt1;a cla11ig9;aAe6i5o3u1za;mi,n dmc,paul,sh limbau1;gh;bin hood,d stew16nald1thko;in0Mo;han0Yngo starr,valdo;ese witherspo0i1mbrandt;ll2nh1;old;ey,y;chmaninoff,ffi,iJshid,y roma1H;a4e3i2la16o1uff daddy;cahont0Ie;lar,p19;le,rZ;lm17ris hilt0;leg,prah winfr0Sra;a2e1iles cra1Bostradam0J; yo,l5tt06wmQ;pole0s;a5e4i2o1ubar03;by,lie5net,rriss0N;randa ju1tt romn0M;ly;rl0GssiaB;cklemo1rkov,s0ta hari,ya angelou;re;ady gaga,e1ibera0Pu;bron jam0Xch wale1e;sa;anye west,e3i1obe bryant;d cudi,efer suther1;la0P;ats,sha;a2effers0fk,k rowling,rr tolki1;en;ck the ripp0Mwaharlal nehru,y z;liTnez,ron m7;a7e5i3u1;lk hog5mphrey1sa01;! bog05;l1tl0H;de; m1dwig,nry 4;an;ile selassFlle ber4m3rrison1;! 1;ford;id,mo09;ry;ast0iannis,o1;odwPtye;ergus0lorence nightinga08r1;an1ederic chopN;s,z;ff5m2nya,ustaXzeki1;el;eril lagasse,i1;le zatop1nem;ek;ie;a6e4i2octor w1rake;ho;ck w1ego maradoC;olf;g1mi lovaOnzel washingt0;as;l1nHrth vadR;ai lNt0;a8h5lint0o1thulhu;n1olio;an,fuci1;us;on;aucKop2ristian baMy1;na;in;millo,ptain beefhe4r1;dinal wols2son1;! palmF;ey;art;a8e5hatt,i3oHro1;ck,n1;te;ll g1ng crosby;atB;ck,nazir bhut2rtil,yon1;ce;to;nksy,rack ob1;ama;l 6r3shton kutch2vril lavig8yn ra1;nd;er;chimed2istot1;le;es;capo2paci1;no;ne",Adjective:"true¦0:AI;1:BS;2:BI;3:BA;4:A8;5:84;6:AV;7:AN;8:AF;9:7H;A:BQ;B:AY;C:BC;D:BH;E:9Y;aA2b9Ec8Fd7We79f6Ng6Dh60i4Wj4Vk4Sl4Hm40n3Oo35p2Nquart7Pr2Cs1Dt14uSvOwFye28;aMeKhIiHoF;man5oFrth7G;dADzy;despreB1n w97s86;acked1HoleF;!sa6;ather1QeFll o70ste1D;!k5;nt1Jst6Ate4;aHeGiFola5S;bBUce versa,gi3Kle;ng67rsa5Q;ca1gBSluAV;lt0PnLpHrGsFttermoBL;ef9Ku3;b96ge1; Hb31pGsFtiAH;ca6et,ide d4Q;er,i85;f51to da2;a0Fbeco0Hc0Bd04e02f01gu1WheaBGiXkn4NmUnTopp06pRrNsJtHus0wF;aFiel3J;nt0rra0P;app0eXoF;ld,uS;eHi36o59pGuF;perv06spec38;e1ok9O;en,ttl0;eFu5;cogn06gul2QlGqu84sF;erv0olv0;at0en32;aFrecede0E;id,rallel0;am0otic0;aFet;rri0tF;ch0;nFq25vers3;sur0terFv7U;eFrupt0;st0;air,inish0orese98;mploy0n7Ov97xpF;ect0lain0;eHisFocume01ue;clFput0;os0;cid0rF;!a8Scov9ha8Jlyi8nea8Gprivileg0sMwF;aFei9I;t9y;hGircumcFonvin2T;is0;aFeck0;lleng0rt0;b1Zppea85ssuGttend0uthorF;iz0;mi8;i49ra;aLeIhoHip 24oGrF;anspare1encha1i2;geth9leADp notch,rpB;rny,ugh6H;ena8DmpGrFs6U;r48tia4;eCo8P;leFst4M;nt0;a0Cc08e06h05i03ki02l00mug,nobbi4XoWpSqueami4XtKuFymb94;bHccinAi generis,pFr5;erFre7N;! dup9b,vi70;du0li7Lp6IsFurb7J;eq9Atanda9X;aLeKi15o2PrGubboFy4Q;rn;aightGin5GungF; o2M; fFfF;or7U;adfa9Ori6;lwa6Etu81;arHeGir6MlendBot Fry;on;c3Oe1Q;k5se; call0lub6mb9phistic14rHuFviT;ndFth19;proof;dBry;e61ipF;pe4shod;ll0n d7S;g2HnF;ceEg6ist9;am3Te9;co1Zem5lfFn6Bre7; suf4Yi44;aGholFient3A;ar5;rlFt4B;et;cr0me,tisfac7G;aOeIheumatoBiGoF;bu90tt7Hy3;ghtFv3;-1Sf6Y;cJdu8QlInown0pro6AsGtF;ard0;is48oF;lu2na1;e1Suc46;alcit8Ye1ondi2;bBci3mpa1;aSePicayu7laOoNrGuF;bl7Unjabi,z36;eKiIoF;b7WfGmi4ApFxi2M;er,ort82;a7uD;maFor,sti7va2;!ry;ciDexis0Ima2CpaB;in56puli8H;cBid;ac2Znt 3JrFti2;ma41tFv7X;!i40;i2ZrFss7S;anoBtF;-5YiF;al,s5W;bSffQkPld OnMrLth9utKverF;!aIbMdHhGni76seas,t,wF;ei75rou75;a64e7B;ue;ll;do1Ger,si6B;d3Rg2Aotu60; bFbFe on o7g3Vli7;oa81;fashion0school;!ay; gua7YbFha5Vli7;eat;eHligGsF;ce7er0So1C;at0;diFse;a1e1;aOeNiMoGuF;anc0de; moEnHrthFt6W;!eFwe7M;a7Lrn;chaGdescri7Jprof31sF;top;la1;ght5;arby,cessa4ighbor5wlyw0xt;k0usiaFv3;ti8;aQeNiLoHuF;dIltiF;facet0p6;deHlGnFot,rbBst;ochro4Yth5;dy;rn,st;ddle ag0nF;dbloZi,or;ag9diocEga,naGrFtropolit4R;e,ry;ci8;cIgenta,inHj0Fkeshift,mmGnFri4Pscu62ver18;da5Ey;ali4Mo4V;!stream;abEho;aOeLiIoFumberi8;ngFuti1S;stan3StF;erm,i4I;ghtGteraF;l,ry,te;heart0wei5P;ft-JgFss9th3;al,eFi0M;nda4;nguBps0te5;apGind5noF;wi8;ut;ad0itte4uniW;ce co0Hgno6Nll0Cm04nHpso 2VrF;a2releF;va1; ZaYcoWdReQfOgrNhibi4Si05nMoLsHtFvalu5N;aAeF;nDrdepe2L;a7iGolFuboI;ub6ve1;de,gF;nifica1;rdi5O;a2er;own;eriIiLluenVrF;ar0eq5I;pt,rt;eHiGoFul1P;or;e,reA;fiFpe27termi5F;ni2;mpFnsideCrreA;le2;ccuCdeq5Fne,ppr4K;fFsitu,vitro;ro1;mJpF;arHeGl16oFrop9;li2r12;n2MrfeA;ti3;aGeFi19;d4CnD;tuE;egGiF;c0ZteC;al,iF;tiF;ma2;ld;aOelNiLoFuma7;a4meInHrrGsFur5;ti6;if4F;e59o3V; ma3HsF;ick;ghfalut2IspF;an4A;li01pf34;i4llow0ndGrdFtN; 06coEworki8;sy,y;aMener45iga3Clob3oLrGuF;il1Ong ho;aGea1GizF;zl0;cGtF;ef2Vis;ef2U;ld3Aod;iFuc2D;nf2R;aVeSiQlOoJrF;aGeFil5ug3;q43tf2O;gFnt3S;i6ra1;lk13oHrF; keeps,eFge0Vm9tu41;g0Ei2Ds3R;liF;sh;ag4Mowe4uF;e1or45;e4nF;al,i2;d Gmini7rF;ti6ve1;up;bl0lDmIr Fst pac0ux;oGreacF;hi8;ff;ed,ili0R;aXfVlTmQnOqu3rMthere3veryday,xF;aApIquisi2traHuF;be48lF;ta1;!va2L;edRlF;icF;it;eAstF;whi6; Famor0ough,tiE;rou2sui2;erGiF;ne1;ge1;dFe2Aoq34;er5;ficF;ie1;g9sF;t,ygF;oi8;er;aWeMiHoGrFue;ea4owY;ci6mina1ne,r31ti8ubQ;dact2Jfficult,m,sGverF;ge1se;creGePjoi1paCtF;a1inA;et,te; Nadp0WceMfiLgeneCliJmuEpeIreliAsGvoF;id,ut;pFtitu2ul1L;eCoF;nde1;ca2ghF;tf13;a1ni2;as0;facto;i5ngero0I;ar0Ce09h07i06l05oOrIuF;rmudgeon5stoma4teF;sy;ly;aIeHu1EystalF; cleFli7;ar;epy;fFv17z0;ty;erUgTloSmPnGrpoCunterclVveFy;rt;cLdJgr21jIsHtrF;aFi2;dic0Yry;eq1Yta1;oi1ug3;escenFuN;di8;a1QeFiD;it0;atoDmensuCpF;ass1SulF;so4;ni3ss3;e1niza1;ci1J;ockwiD;rcumspeAvil;eFintzy;e4wy;leGrtaF;in;ba2;diac,ef00;a00ePiLliJoGrFuck nak0;and new,isk,on22;gGldface,naF; fi05fi05;us;nd,tF;he;gGpartisFzarE;an;tiF;me;autifOhiNlLnHsFyoN;iWtselF;li8;eGiFt;gn;aFfi03;th;at0oF;v0w;nd;ul;ckwards,rF;e,rT; priori,b13c0Zd0Tf0Ng0Ihe0Hl09mp6nt06pZrTsQttracti0MuLvIwF;aGkF;wa1B;ke,re;ant garGeraF;ge;de;diIsteEtF;heFoimmu7;nt07;re;to4;hGlFtu2;eep;en;bitIchiv3roHtF;ifiFsy;ci3;ga1;ra4;ry;pFt;aHetizi8rF;oprF;ia2;llFre1;ed,i8;ng;iquFsy;at0e;ed;cohKiJkaHl,oGriFterX;ght;ne,of;li7;ne;ke,ve;olF;ic;ad;ain07gressiIi6rF;eeF;ab6;le;ve;fGraB;id;ectGlF;ue1;ioF;na2; JaIeGvF;erD;pt,qF;ua2;ma1;hoc,infinitum;cuCquiGtu3u2;al;esce1;ra2;erSjeAlPoNrKsGuF;nda1;e1olu2trF;aAuD;se;te;eaGuF;pt;st;aFve;rd;aFe;ze;ct;ra1;nt",Pronoun:"true¦'em,elle,h3i2me,she4th0us,we,you;e0ou;e,m,y;!l,t;e0im;!'s",Preposition:"true¦-,aPbMcLdKexcept,fIinGmid,notwithstandiWoDpXqua,sCt7u4v2w0;/o,hereSith0;! whHin,oW;ersus,i0;a,s-a-vis;n1p0;!on;like,til;h1ill,oward0;!s;an,ereby,r0;ough0u;!oM;ans,ince,o that,uch G;f1n0ut;!to;!f;! 0to;effect,part;or,r0;om;espite,own,u3;hez,irca;ar1e0oBy;sides,tween;ri7;bo8cross,ft7lo6m4propos,round,s1t0;!op;! 0;a whole,long 0;as;id0ong0;!st;ng;er;ut",SportsTeam:"true¦0:1A;1:1H;2:1G;a1Eb16c0Td0Kfc dallas,g0Ihouston 0Hindiana0Gjacksonville jagua0k0El0Bm01newToQpJqueens parkIreal salt lake,sAt5utah jazz,vancouver whitecaps,w3yW;ashington 3est ham0Rh10;natio1Oredski2wizar0W;ampa bay 6e5o3;ronto 3ttenham hotspur;blue ja0Mrapto0;nnessee tita2xasC;buccanee0ra0K;a7eattle 5heffield0Kporting kansas0Wt3;. louis 3oke0V;c1Frams;marine0s3;eah15ounG;cramento Rn 3;antonio spu0diego 3francisco gJjose earthquak1;char08paA; ran07;a8h5ittsburgh 4ortland t3;imbe0rail blaze0;pirat1steele0;il3oenix su2;adelphia 3li1;eagl1philNunE;dr1;akland 3klahoma city thunder,rlando magic;athle0Mrai3;de0; 3castle01;england 7orleans 6york 3;city fc,g4je0FknXme0Fred bul0Yy3;anke1;ian0D;pelica2sain0C;patrio0Brevolut3;ion;anchester Be9i3ontreal impact;ami 7lwaukee b6nnesota 3;t4u0Fvi3;kings;imberwolv1wi2;rewe0uc0K;dolphi2heat,marli2;mphis grizz3ts;li1;cXu08;a4eicesterVos angeles 3;clippe0dodDla9; galaxy,ke0;ansas city 3nE;chiefs,roya0E; pace0polis colU;astr06dynamo,rockeTtexa2;olden state warrio0reen bay pac3;ke0;.c.Aallas 7e3i05od5;nver 5troit 3;lio2pisto2ti3;ge0;broncZnuggeM;cowbo4maver3;ic00;ys; uQ;arCelKh8incinnati 6leveland 5ol3;orado r3umbus crew sc;api5ocki1;brow2cavalie0india2;bengaWre3;ds;arlotte horAicago 3;b4cubs,fire,wh3;iteB;ea0ulR;diff3olina panthe0; c3;ity;altimore 9lackburn rove0oston 5rooklyn 3uffalo bilN;ne3;ts;cel4red3; sox;tics;rs;oriol1rave2;rizona Ast8tlanta 3;brav1falco2h4u3;nited;aw9;ns;es;on villa,r3;os;c5di3;amondbac3;ks;ardi3;na3;ls",Unit:"true¦a09b06cZdYexXfTgRhePin00joule0DkMlJmDnan0AoCp9quart0Dsq ft,t7volts,w6y2ze3°1µ0;g,s;c,f,n;dXear1o0;ttT; 0s 0;old;att,b;erPon0;!ne04;ascals,e1i0;cZnt02;rcent,tL;hms,uI;/s,e4i0m²,²,³;/h,cro2l0;e0liM;!²;grNsT;gEtL;it1u0;menSx;erRreR;b5elvins,ilo1m0notQ;/h,ph,²;!byIgrGmEs;ct0rtzN;aLogrE;allonLb0ig5rD;ps;a2emtGl0t6; oz,uid ou0;nceH;hrenheit,radG;aby9;eci3m1;aratDe1m0oulombD;²,³;lsius,nti0;gr2lit1m0;et0;er8;am7;b1y0;te5;l,ps;c2tt0;os0;econd1;re0;!s",PhrasalVerb:"true¦0:92;1:96;2:8H;3:8V;4:8A;5:83;6:85;7:98;8:90;9:8G;A:8X;B:8R;C:8U;D:8S;E:70;F:97;G:8Y;H:81;I:7H;J:79;K:4G;a9Gb7Vc6Sd6Me6Kf5Ig51h4Ciron0j48k41l3Fm32n2Zo2Xp2Dquiet Hr1Ys0Lt00uYvacuu6RwOyammerBzL;ero Dip MonL;e0k0;by,ov9up;aReNhMiLor0Nrit1A;mp0n3Gpe0r5s5;ackAeel Di0T;aMiLn34;gh 3Xrd0;n Dr L;do1in,oJ;it 7Ak5lk Mrm 6Ash Lt84v60;aw3do1o7up;aw3in,oC;rgeBsL;e 2herE;a01eZhWiSoRrNuLypQ;ckErn L;do1in,oJup;aMiLot0y 31;ckl80p F;ck HdL;e 5Z;n7Xp 3Fs5K;ck NdMe Lghten 6me0p o0Sre0;aw3ba4do1in,up;e Iy 2;by,oG;ink Mrow L;aw3ba4in,up;ba4ov9up;aLe 78ll63;m 2r 5N;ckBke Mlk L;ov9shit,u48;aLba4do1in,leave,o66up;ba4ft9pa6Aw3;a0Wc0Ue0Nh0Ji0Gl0Am09n08o07p02quar5HtRuPwL;earNiL;ngMtch L;aw3ba4o8L; by;cLi6Cm 2ss0;k 65;aSeRiQoOrLud36;aigh2Eet76iL;ke 7Tng L;al6Zup;p Lrm2G;by,in,oG;cKnKr 2tc4O;p F;cKmp0nd MrLveAy 2P;e Ht 2M;ba4do1up;arKeOiNlMrLurB;ead0ingBuc5;a49it 6I;c5ll o3Dn 2;ak Fe1Yll0;aKber 2rt0und like;ap 5Wow Duggl5;ash 6Ooke0;eep OiLow 6;cMp L;o6Eup;e 69;in,oL;ff,v9;de1Agn 4OnLt 6Hz5;gLkE; al6Ble0;aNoLu5X;ot Lut0w 7N;aw3ba4f48oC;cKdeEk6FveA;e Qll1Ond Prv5tL; Ltl5K;do1foMin,o7upL;!on;ot,r60;aw3ba4do1in,o4Wup;oCto;al67out0rL;ap66ew 6K;ilAv5;aYeViToPuL;b 5Zle0n Lstl5;aMba4do1inLo2Jth4Ou5Q;!to;c2Xr8w3;ll Not MpeAuL;g3Ind18;a2Wf3Po7;ar8in,o7up;ng 69p oLs5;ff,p19;aLelAinEnt0;c6Id L;o3Oup;cKt0;a00eZiXlUoRrPsyc35uL;ll Nn5Lt L;aLba4do1in,oJto48up;pa4Ew3;a3Kdo1in,o22to46up;attleBess LiOop 2;ah2Fon;iMp Lr50u1Hwer 6O;do1in,o6Oup;nt0;aMuL;gEmp 6;ce u21y 6E;ck Lg0le 4Bn 6p5C;oJup;el 5OncilE;c54ir 3An0ss NtMy L;ba4oG; Hc2R;aw3ba4in,oJ;pLw4Z;e4Yt D;aMerd0oL;dAt54;il Hrrow H;aUeRiQoMuL;ddl5ll I;cKnkeyNp 6uthAve L;aLdo1in,o4Mup;l4Ow3; wi4L;ss0x 2;asur5e3TlMss L;a21up;t 6;ke Mn 6rLs2Ax0;k 6ryA;do,fun,oCsure,up;a03eWiRoMuL;ck0st I;aOc4Gg NoLse0;k Lse4E;aft9ba4do1forw38in57o10u47;in,oJ;d 6;e OghtNnMsLve 01;ten F;e 2k 2; 2e47;ar8do1in;aNt MvelL; oC;do1go,in,o7up;nEve L;in,oL;pLut;en;c5p 2sh MtchBughAy L;do1o5A;in4Qo7;eNick Mnock L;do1oCup;oCup;eMy L;in,up;l Ip L;aw3ba4do1f05in,oJto,up;aNoMuL;ic5mpE;ke3Tt H;c44zz 2;a02eXiUoQuL;nMrrLsh 6;y 2;keMt L;ar8do1;r H;lLneErse3L;d Le 2;ba4dLfast,o25up;ear,o1;de Mt L;ba4on,up;aw3o7;aLlp0;d Nl Ir Lt 2;fLof;rom;f11in,o1WuX;cKm 2nMsh0ve Lz2Q;at,it,to;d Mg LkerQ;do1in,o2Uup;do1in,oL;ut,v9;k 2;aZeUive Sloss IoNrMunL; f0S;ab hold,in44ow 2V; Lof 2J;aNb1Nit,oMr8th1JuL;nd9;ff,n,v9;bo7ft9hQw3;aw3bLdo1in,oJrise,up,w3;a4ir2I;ar 6ek0t L;aLb1Gdo1in,o1Dr8up;cMhLl2Hr8t,w3;ead;ross;d aLng 2;bo7;a0Fe08iZlVoRrNuL;ck Le2P;ar8up;eMighten LownBy 2;aw3oG;eLshe29; 2z5;g 2lNol Lrk I;aLwi22;bo7r8;d 6low 2;aMeLip0;sh0;g 6ke0mLrLtten H;e F;gSlQnOrMsLzzle0;h F;e Lm 2;aw3ba4up;d0isL;h 2;e Ll 1V;aw3fQin,o7;ht ba4ure0;eQnMsL;s 2;cNd L;fLoG;or;e D;d06l 2;cPll Lrm0t1I;aNbMdo1in,oLsho0Gth0Avictim;ff,ut,v9;a4ehi2P;pa0D;e L;do1oGup;at Ldge0nd 13y5;in,o7up;aPi1IoOrL;aMess 6op LuO;aw3b04in,oC;gBwB; Ile0ubl1C;m 2;a0Bh06l03oPrMut L;aw3ba4do1oCup;ackBeep MoLy0;ss Dwd0;by,do1in,o0Vup;me OoMuntL; o2B;k 6l L;do1oG;aSbRforPin,oOtLu0P;hMoLrue;geth9;rough;ff,n,ut,v9;th,wL;ard;a4y;paLr8w3;rt;eaMose L;in,oCup;n 6r F;aOeMiL;ll0pE;ck Der Lw F;on,up;t 2;lSncel0rPsNtch MveE; in;o1Oup;h Dt L;doubt,oG;ry MvL;e 09;aw3oJ;l Lm H;aMba4do1oJup;ff,n,ut;r8w3;a0We0NiteAl0Go05rRuL;bblOckl06il0Elk 6ndl06rMsLtNy FzzA;t 01;n 0IsL;t D;e I;ov9;anXeaViMush L;oGup;ghRng L;aOba4do1forNin,oMuL;nd9p;n,ut;th;bo7lLr8w3;ong;teL;n 2;k L;do1in,o7up;ch0;arUg 6iSn5oQrOssNttlMunce Lx D;aw3ba4;e 6; ar8;e H;do1;k Dt 2;e 2;l 6;do1up;d 2;aQeed0oLurt0;cNw L;aw3ba4do1o7up;ck;k L;in,oC;ck0nk0stA; oRaOef 2lt0nd L;do1ov9up;er;up;r Mt L;do1in,oCup;do1o7;ff,nL;to;ck Qil0nNrgMsL;h D;ainBe D;g DkB; on;in,o7;aw3do1in,oCup;ff,ut;ay;ct FdRir0sk NuctionA; oG;ff;ar8o7;ouL;nd; o7;d L;do1oLup;ff,n;wn;o7up;ut","Noun|Gerund":"true¦0:27;1:26;2:1X;3:1J;4:1Z;a25b1Oc1Cd16en14f0Yg0Wh0Ti0Rjog20k0Pl0Lm0In0Go0Cp05ques08rWsFtBu9volunt15w5y17zo2;a7ed1Si3or6r5;ap1Oest1Ci1;ki0r1O;i1r2s1Utc1U;nder5pri23;st1Mta4;al4e7hin4i6ra5y1J;c4di0i2v0Z;mi0p1H;a1Ys1;aKcHeGhEin1PkatClZmo4nowBpeAt8u6w5;ea3im1U;f02r5;fi0vi0J;a1Lretc1Ju5;d1BfJ;l0Xn1C;b6i0;eb5i0;oar19;ip15o5;rte2u1;a1r0At1;h6o3re5;a1He2;edu0Ooo0O;i0Nyi0;aCe8i11o6u5;li0n2;o5wi0;fi0;a7c6hear1Cnde3por1struct5;r1Au3;or0Vyc0G;di0so2;p0Qti0;aAeacek9la8o6r5ublis0X;a0Peten0Rin1oces16;iso2si5;tio2;n2yi0;ee0K;cka0Tin1rt0K;f7pe6rgani5vula1;si0zi0;ni0ra1;fe3;e5ur0W;gotia1twor4;a6e5i2onito3;e1ssa0L;nufactu3rke1;a7ea6i5od0Jyi0;cen0Qf1s1;r2si0;n09ug0E;i5n0J;c4lS;ci0magi2n5ro2;nova1terac1;andPea1i6o5un1;l03wO;ki0ri0;athe3rie5ui01;vi0;ar0CenHi7l6or5ros1unZ;ecas1mat1;ir1ooX;l6n5;anDdi0;i0li0;di0gin5;ee3;a8eba1irec1oub1r6umOw5;elB;awi0es04i5;n4vi0;n5ti0;ci0;aEelebra1hClAo7r5ur6;aw5osZ;li0;a6di0lo3mplai2n5o4pi0ve3;duc1sul1;cLti0;apCea3imHo5ubH;ni0tJ;a5ee3;n1t1;m8s1te3;ri0;aIeFitDlCoAr8u5;il8ll6r5;pi0;yi0;an5;di0;a1m5o4;bi0;esGoa1;c5i0;hi0;gin2lon5t1;gi0;ni0;bys6c4ki0;ki0;it1;c8dverti7gi0rg6ssu5;mi0;ui0;si0;coun1ti0;ti0;ng",ProperNoun:"true¦abid,barbie,c3e2f1iron maiden,kirby,m0nis,riel;ercedes,issy;lorence,ranco;lmo,uro;atalina,hristi","Person|Place":"true¦a8d6h4jordan,k3orlando,s1vi0;ctor9rgin9;a0ydney;lvador,mara,ntia4;ent,obe;amil0ous0;ton;arw2ie0;go;lexandr1ust0;in;ia",LastName:"true¦0:BT;1:BH;2:B7;3:BJ;4:AZ;5:A0;6:B8;7:BM;8:B2;9:AX;A:AN;B:8S;C:8I;D:7M;E:BO;F:AJ;aBFbA1c8Yd8Ae83f7Mg6Yh66i62j5Nk4Xl4Fm3Bn2Yo2Op25quispe,r1Ls0Pt0Ev03wTxSyKzG;aIhGimmerm6C;aGou,u;ng,o;khar5ytsE;aKeun9DiHoGun;koya34shiBW;!lG;diGmaz;rim,z;maGng;da,g54mo85sGzaC;aChiBX;iao,u;aLeJiHoGright,u;jcA7lff,ng;lGmm0nkl0sniewsC;kiB3liams35s3;bGiss,lt0;b,er,st0;a6Xgn0lHtG;anabe,s3;k0sh,tG;e2Pon;aLeKiHoGukD;gt,lk5roby5;dHllalGnogr3Mr1Css0val3U;ba,ob1W;al,ov4;lasHsel8Y;lJn dIrgBGsHzG;qu7;ilyEqu7siljE;en b6Cijk,yk;enzueAKverde;aPeix1VhKi2j8ka45oJrIsui,uG;om5WrG;c2n0un1;an,emblA9ynisC;dorAOlst3Mm4rrAth;atch0i8WoG;mHrG;are86laci7B;ps3sG;en,on;hirDkah9Onaka,te,varA;a06ch01eYhUiRmOoMtIuHvGzabo;en9Lobod3P;ar7bot4lliv2zuC;aIeHoG;i7Dj4CyanAD;ele,in2HpheBvens27;l8rm0;kol5lovy5re7Vsa,to,uG;ng,sa;iGy74;rn5tG;!h;l73mHnGrbu;at9cla9Ggh;moBo7O;aIeGimizu;hu,vchG;en8Nuk;la,r1I;gu9infe60mGoh,pulveA9rra5R;jGyG;on5;evi6iltz,miHneid0roed0uGwarz;be3Glz;dHtG;!t,z;!t;ar4Vh8ito,ka4QlJnGr4saCto,unde1Bv4;ch7dHtGz;a5Ne,os;b55e18;as,ihDm4Ro10;aVeSiPoJuHyG;a6oo,u;bio,iz,sG;so,u;bKc8Hdrigue69ge12jA0mJosevelt,sItHux,wG;e,li6;a9Eh;enb4Wsi;a56e4N;erts17i95;bei4LcHes,vGzzo;as,e9;ci,hards14;ag2es,iHut0yG;es,nol5P;s,t0;dImHnGsmu99v6E;tan1;ir7os;ic,u;aUeOhMiJoHrGut8;asad,if71ochazk29;lishc2IpGrti74u12we78;e3Cov53;cHe47nG;as,to;as72hl0;aGillips;k,m,n6K;a3Jde3Yete0Dna,rJtG;ersHrovGters56;!a,ic;!en,on;eGic,kiBss3;i9ra,tz,z;h88k,padopoulIrk0tHvG;ic,l4P;el,te3B;os;'NbMcOg2VlJnei6RrHsbor6ZweBzG;dem7Tturk;ella4FtGwe6P;ega,iz;iGof7Js8K;vGyn1T;ei9;aUri1;bri1cG;onn23;aPeNiJoGune50ym2;rHvGwak;ak4Qik5otn66;odahl,r4S;cholsZeHkolGls4Jx3;ic,ov84;ls1miG;!n1;ils3mG;co4Xec;gy,kaGray2sh,var38;jiGmu9shiG;ma;a07c04eZiWoMuHyeG;rs;lJnIrGssoli6S;atGp03r7C;i,ov4;oz,te58;d0l0;h2lOnNo0RrHsGza1A;er,s;aKeJiIoz5risHtG;e56on;!on;!n7K;au,i9no,t5J;!lA;r1Btgome59;i3El0;cracFhhail5kkeHlG;l0os64;ls1;hmeJiIj30lHn3Krci0ssiGyer2N;!er;n0Po;er,j0;dDti;cartHlG;aughl8e2;hy;dQe7Egnu68i0jer3TkPmNnMrItHyG;er,r;ei,ic,su21thews;iHkDquAroqu8tinG;ez,s;a5Xc,nG;!o;ci5Vn;a5UmG;ad5;ar5e6Kin1;rig77s1;aVeOiLoJuHyG;!nch;k4nGo;d,gu;mbarGpe3Fvr4we;di;!nGu,yana2B;coln,dG;b21holm,strom;bedEfeKhIitn0kaHn8rGw35;oy;!j;m11tG;in1on1;bvGvG;re;iGmmy,ng,rs2Qu,voie,ws3;ne,t1F;aZeYh2iWlUnez50oNrJuHvar2woG;k,n;cerGmar68znets5;a,o34;aHem0isGyeziu;h23t3O;m0sni4Fus3KvG;ch4O;bay57ch,rh0Usk16vaIwalGzl5;czGsC;yk;cIlG;!cGen4K;huk;!ev4ic,s;e8uiveG;rt;eff0kGl4mu9nnun1;ucF;ll0nnedy;hn,llKminsCne,pIrHstra3Qto,ur,yGzl5;a,s0;j0Rls22;l2oG;or;oe;aPenOha6im14oHuG;ng,r4;e32hInHrge32u6vG;anD;es,ss3;anHnsG;en,on,t3;nesGs1R;en,s1;kiBnings,s1;cJkob4EnGrv0E;kDsG;en,sG;en0Ion;ks3obs2A;brahimDglesi5Nke5Fl0Qno07oneIshikHto,vanoG;u,v54;awa;scu;aVeOiNjaltal8oIrist50uG;!aGb0ghAynh;m2ng;a6dz4fIjgaa3Hk,lHpUrGwe,x3X;ak1Gvat;mAt;er,fm3WmG;ann;ggiBtchcock;iJmingw4BnHrGss;nand7re9;deGriks1;rs3;kkiHnG;on1;la,n1;dz4g1lvoQmOns0ZqNrMsJuIwHyG;asFes;kiB;g1ng;anHhiG;mo14;i,ov0J;di6p0r10t;ue;alaG;in1;rs1;aVeorgUheorghe,iSjonRoLrJuGw3;errGnnar3Co,staf3Ctierr7zm2;a,eG;ro;ayli6ee2Lg4iffithGub0;!s;lIme0UnHodGrbachE;e,m2;calvAzale0S;dGubE;bGs0E;erg;aj,i;bs3l,mGordaO;en7;iev3U;gnMlJmaIndFo,rGsFuthi0;cGdn0za;ia;ge;eaHlG;agh0i,o;no;e,on;aVerQiLjeldsted,lKoIrHuG;chs,entAji41ll0;eem2iedm2;ntaGrt8urni0wl0;na;emi6orA;lipIsHtzgeraG;ld;ch0h0;ovG;!ic;hatDnanIrG;arGei9;a,i;deY;ov4;b0rre1D;dKinsJriksIsGvaB;cob3GpGtra3D;inoza,osiQ;en,s3;te8;er,is3warG;ds;aXePiNjurhuMoKrisco15uHvorakG;!oT;arte,boHmitru,nn,rGt3C;and,ic;is;g2he0Omingu7nErd1ItG;to;us;aGcki2Hmitr2Ossanayake,x3;s,z; JbnaIlHmirGrvisFvi,w2;!ov4;gado,ic;th;bo0groot,jo6lHsilGvriA;va;a cruz,e3uG;ca;hl,mcevsCnIt2WviG;dGes,s;ov,s3;ielsGku22;!en;ki;a0Be06hRiobQlarkPoIrGunningh1H;awfo0RivGuz;elli;h1lKntJoIrGs2Nx;byn,reG;a,ia;ke,p0;i,rer2K;em2liB;ns;!e;anu;aOeMiu,oIristGu6we;eGiaG;ns1;i,ng,p9uHwGy;!dH;dGng;huJ;!n,onGu6;!g;kJnIpm2ttHudhGv7;ry;erjee,o14;!d,g;ma,raboG;rty;bJl0Cng4rG;eghetHnG;a,y;ti;an,ota1C;cerAlder3mpbeLrIstGvadi0B;iGro;llo;doHl0Er,t0uGvalho;so;so,zo;ll;a0Fe01hYiXlUoNrKuIyG;rLtyG;qi;chan2rG;ke,ns;ank5iem,oGyant;oks,wG;ne;gdan5nIruya,su,uchaHyKziG;c,n5;rd;darGik;enG;ko;ov;aGond15;nco,zG;ev4;ancFshw16;a08oGuiy2;umGwmG;ik;ckRethov1gu,ktPnNrG;gJisInG;ascoGds1;ni;ha;er,mG;anG;!n;gtGit7nP;ss3;asF;hi;er,hG;am;b4ch,ez,hRiley,kk0ldw8nMrIshHtAu0;es;ir;bInHtlGua;ett;es,i0;ieYosa;dGik;a9yoG;padhyG;ay;ra;k,ng;ic;bb0Acos09d07g04kht05lZnPrLsl2tJyG;aHd8;in;la;chis3kiG;ns3;aImstro6sl2;an;ng;ujo,ya;dJgelHsaG;ri;ovG;!a;ersJov,reG;aGjEws;ss1;en;en,on,s3;on;eksejEiyEmeiIvG;ar7es;ez;da;ev;arwHuilG;ar;al;ams,l0;er;ta;as",Ordinal:"true¦eBf7nin5s3t0zeroE;enDhir1we0;lfCn7;d,t3;e0ixt8;cond,vent7;et0th;e6ie7;i2o0;r0urt3;tie4;ft1rst;ight0lev1;e0h,ie1;en0;th",Cardinal:"true¦bEeBf5mEnine7one,s4t0zero;en,h2rDw0;e0o;lve,n5;irt6ousands,ree;even2ix2;i3o0;r1ur0;!t2;ty;ft0ve;e2y;ight0lev1;!e0y;en;illions",Multiple:"true¦b3hundred,m3qu2se1t0;housand,r2;pt1xt1;adr0int0;illion",City:"true¦0:74;1:61;2:6G;3:6J;4:5S;a68b53c4Id48e44f3Wg3Hh39i31j2Wk2Fl23m1Mn1Co19p0Wq0Ur0Os05tRuQvLwDxiBy9z5;a7h5i4Muri4O;a5e5ongsh0;ng3H;greb,nzib5G;ang2e5okoha3Sunfu;katerin3Hrev0;a5n0Q;m5Hn;arsBeAi6roclBu5;h0xi,zh5P;c7n5;d5nipeg,terth4;hoek,s1L;hi5Zkl3A;l63xford;aw;a8e6i5ladivost5Molgogr6L;en3lni6S;ni22r5;o3saill4N;lenc4Wncouv3Sr3ughn;lan bat1Crumqi,trecht;aFbilisi,eEheDiBo9r7u5;l21n63r5;in,ku;i5ondh62;es51poli;kyo,m2Zron1Pulo5;n,uS;an5jua3l2Tmisoa6Bra3;j4Tshui; hag62ssaloni2H;gucigal26hr0l av1U;briz,i6llinn,mpe56ng5rtu,shk2R;i3Esh0;an,chu1n0p2Eyu0;aEeDh8kopje,owe1Gt7u5;ra5zh4X;ba0Ht;aten is55ockholm,rasbou67uttga2V;an8e6i5;jiazhua1llo1m5Xy0;f50n5;ya1zh4H;gh3Kt4Q;att45o1Vv44;cramen16int ClBn5o paulo,ppo3Rrajevo; 7aa,t5;a 5o domin3E;a3fe,m1M;antonio,die3Cfrancisco,j5ped3Nsalvad0J;o5u0;se;em,t lake ci5Fz25;lou58peters24;a9e8i6o5;me,t59;ga,o5yadh;! de janei3F;cife,ims,nn3Jykjavik;b4Sip4lei2Inc2Pwalpindi;ingdao,u5;ez2i0Q;aFeEhDiCo9r7u6yong5;ya1;eb59ya1;a5etor3M;g52to;rt5zn0; 5la4Co;au prin0Melizabe24sa03;ls3Prae5Atts26;iladelph3Gnom pe1Aoenix;ki1r21tah tik3E;dua,lerYnaji,r4Ot5;na,r32;ak44des0Km1Mr6s5ttawa;a3Vlo;an,d06;a7ew5ing2Fovosibir1Jyc; 5cast36;del24orlea44taip14;g8iro4Wn5pl2Wshv33v0;ch6ji1t5;es,o1;a1o1;a6o5p4;ya;no,sa0W;aEeCi9o6u5;mb2Ani26sc3Y;gadishu,nt6s5;c13ul;evideo,pelli1Rre2Z;ami,l6n14s5;kolc,sissauga;an,waukee;cca,d5lbour2Mmph41ndo1Cssi3;an,ell2Xi3;cau,drAkass2Sl9n8r5shh4A;aca6ib5rakesh,se2L;or;i1Sy;a4EchFdal0Zi47;mo;id;aDeAi8o6u5vSy2;anMckn0Odhia3;n5s angel26;d2g bea1N;brev2Be3Lma5nz,sb2verpo28;!ss27; ma39i5;c5pzig;est16; p6g5ho2Wn0Cusan24;os;az,la33;aHharFiClaipeBo9rak0Du7y5;iv,o5;to;ala lump4n5;mi1sh0;hi0Hlka2Xpavog4si5wlo2;ce;da;ev,n5rkuk;gst2sha5;sa;k5toum;iv;bHdu3llakuric0Qmpa3Fn6ohsiu1ra5un1Iwaguc0Q;c0Pj;d5o,p4;ah1Ty;a7e6i5ohannesV;l1Vn0;dd36rusalem;ip4k5;ar2H;bad0mph1OnArkutUs7taXz5;mir,tapala5;pa;fah0l6tanb5;ul;am2Zi2H;che2d5;ianap2Mo20;aAe7o5yder2W; chi mi5ms,nolulu;nh;f6lsin5rakli2;ki;ei;ifa,lifax,mCn5rb1Dva3;g8nov01oi;aFdanEenDhCiPlasgBo9raz,u5;a5jr23;dal6ng5yaquil;zh1J;aja2Oupe;ld coa1Bthen5;bu2S;ow;ent;e0Uoa;sk;lw7n5za;dhi5gt1E;nag0U;ay;aisal29es,o8r6ukuya5;ma;ankfu5esno;rt;rt5sh0; wor6ale5;za;th;d5indhov0Pl paso;in5mont2;bur5;gh;aBe8ha0Xisp4o7resd0Lu5;b5esseldorf,nkirk,rb0shanbe;ai,l0I;ha,nggu0rtmu13;hradSl6nv5troit;er;hi;donghIe6k09l5masc1Zr es sala1KugavpiY;i0lU;gu,je2;aJebu,hAleve0Vo5raio02uriti1Q;lo7n6penhag0Ar5;do1Ok;akKst0V;gUm5;bo;aBen8i6ongqi1ristchur5;ch;ang m7ca5ttago1;go;g6n5;ai;du,zho1;ng5ttogr14;ch8sha,zh07;gliari,i9lga8mayenJn6pe town,r5tanO;acCdiff;ber1Ac5;un;ry;ro;aWeNhKirmingh0WoJr9u5;chareTdapeTenos air7r5s0tu0;g5sa;as;es;a9is6usse5;ls;ba6t5;ol;ne;sil8tisla7zzav5;il5;le;va;ia;goZst2;op6ubaneshw5;ar;al;iCl9ng8r5;g6l5n;in;en;aluru,hazi;fa6grade,o horizon5;te;st;ji1rut;ghd0BkFn9ot8r7s6yan n4;ur;el,r07;celo3i,ranquil09;ou;du1g6ja lu5;ka;alo6k5;ok;re;ng;ers5u;field;a05b02cc01ddis aba00gartaZhmedXizawl,lSmPnHqa00rEsBt7uck5;la5;nd;he7l5;an5;ta;ns;h5unci2;dod,gab5;at;li5;ngt2;on;a8c5kaOtwerp;hora6o3;na;ge;h7p5;ol5;is;eim;aravati,m0s5;terd5;am; 7buquerq6eppo,giers,ma5;ty;ue;basrah al qadim5mawsil al jadid5;ah;ab5;ad;la;ba;ra;idj0u dha5;bi;an;lbo6rh5;us;rg",Region:"true¦0:2K;1:2Q;2:2H;3:2B;a2Ob2Bc1Xd1Ses1Rf1Pg1Kh1Gi1Bj17k12l0Zm0On06o04pYqVrSsJtEuBverAw6y4zacatec2S;akut0o0Cu4;cat2k06;a5est 4isconsin,yomi1K;bengal,virgin0;rwick3shington4;! dc;acruz,mont;dmurt0t4;ah,tar4; 2La0Y;a6e5laxca1Rripu1Xu4;scaEva;langa1nnessee,x2F;bas0Wm4smOtar25;aulip2Dil nadu;a9i7o5taf12u4ylh1F;ffZrr05s1A;me1Cno1Quth 4;cWdV;ber0c4kkim,naloa;hu2ily;n5skatchew2xo4;ny; luis potosi,ta catari1;a4hodeA;j4ngp08;asth2shahi;ingh25u4;e4intana roo;bec,en6retaro;ara8e6rince edward4unjab; i4;sl0C;i,nnsylv4rnambu0C;an0;!na;axa0Ydisha,h4klaho20ntar4reg7ss0Cx0H;io;aKeEo6u4;evo le4nav0W;on;r4tt17va scot0;f9mandy,th4; 4ampton3;c6d5yo4;rk3;ako1N;aroli1;olk;bras1Mva0Cw4; 5foundland4;! and labrador;brunswick,hamp3jers5mexiTyork4;! state;ey;galPyarit;aAeghala0Mi6o4;nta1r4;dov0elos;ch6dlanDn5ss4zor11;issippi,ouri;as geraPneso18;ig2oac2;dhy12harasht0Gine,ni5r4ssachusetts;anhao,i el,ylG;p4toba;ur;anca3e4incoln3ouisI;e4iR;ds;a6e5h4omi;aka06ul1;ntucky,ra01;bardino,lmyk0ns0Qr4;achay,el0nata0X;alis6har4iangxi;kh4;and;co;daho,llino7n4owa;d5gush4;et0;ia1;is;a6ert5i4un2;dalFm0D;ford3;mp3rya1waii;ansu,eorg0lou7oa,u4;an4izhou,jarat;ajuato,gdo4;ng;cester3;lori4uji2;da;sex;ageUe7o5uran4;go;rs4;et;lawaMrby3;aFeaEh9o4rimea ,umbr0;ahui7l6nnectic5rsi4ventry;ca;ut;i03orado;la;e5hattisgarh,i4uvash0;apRhuahua;chn5rke4;ss0;ya;ra;lGm4;bridge3peche;a9ihar,r8u4;ck4ryat0;ingham3;shi4;re;emen,itish columb0;h0ja cal8lk7s4v7;hkorto4que;st2;an;ar0;iforn0;ia;dygea,guascalientes,lBndhr9r5ss4;am;izo1kans5un4;achal 7;as;na;a 4;pradesh;a6ber5t4;ai;ta;ba5s4;ka;ma",Country:"true¦0:39;1:2M;a2Xb2Ec22d1Ye1Sf1Mg1Ch1Ai14j12k0Zl0Um0Gn05om3DpZqat1KrXsKtCu6v4wal3yemTz2;a25imbabwe;es,lis and futu2Y;a2enezue32ietnam;nuatu,tican city;.5gTkraiZnited 3ruXs2zbeE;a,sr;arab emirat0Kkingdom,states2;! of am2Y;k.,s.2; 28a.;a7haBimor-les0Bo6rinidad4u2;nis0rk2valu;ey,me2Ys and caic1U; and 2-2;toba1K;go,kel0Znga;iw2Wji2nz2S;ki2U;aCcotl1eBi8lov7o5pa2Cri lanka,u4w2yr0;az2ed9itzerl1;il1;d2Rriname;lomon1Wmal0uth 2;afr2JkLsud2P;ak0en0;erra leoEn2;gapo1Xt maart2;en;negKrb0ychellY;int 2moa,n marino,udi arab0;hele25luc0mart20;epublic of ir0Dom2Duss0w2;an26;a3eHhilippinTitcairn1Lo2uerto riM;l1rtugE;ki2Cl3nama,pua new0Ura2;gu6;au,esti2;ne;aAe8i6or2;folk1Hth3w2;ay; k2ern mariana1C;or0N;caragua,ger2ue;!ia;p2ther19w zeal1;al;mib0u2;ru;a6exi5icro0Ao2yanm05;ldova,n2roc4zamb9;a3gol0t2;enegro,serrat;co;c9dagasc00l6r4urit3yot2;te;an0i15;shall0Wtin2;ique;a3div2i,ta;es;wi,ys0;ao,ed01;a5e4i2uxembourg;b2echtenste11thu1F;er0ya;ban0Hsotho;os,tv0;azakh1Ee3iriba03o2uwait,yrgyz1E;rWsovo;eling0Jnya;a2erF;ma15p1B;c6nd5r3s2taly,vory coast;le of m19rael;a2el1;n,q;ia,oI;el1;aiSon2ungary;dur0Mg kong;aAermany,ha0Pibralt9re7u2;a5ern4inea2ya0O;!-biss2;au;sey;deloupe,m,tema0P;e2na0M;ce,nl1;ar;bTmb0;a6i5r2;ance,ench 2;guia0Dpoly2;nes0;ji,nl1;lklandTroeT;ast tim6cu5gypt,l salv5ngl1quatorial3ritr4st2thiop0;on0; guin2;ea;ad2;or;enmark,jibou4ominica3r con2;go;!n B;ti;aAentral african 9h7o4roat0u3yprQzech2; 8ia;ba,racao;c3lo2morPngo-brazzaville,okFsta r03te d'ivoiK;mb0;osD;i2ristmasF;le,na;republic;m2naTpe verde,yman9;bod0ero2;on;aFeChut00o8r4u2;lgar0r2;kina faso,ma,undi;azil,itish 2unei;virgin2; is2;lands;liv0nai4snia and herzegoviGtswaGuvet2; isl1;and;re;l2n7rmuF;ar2gium,ize;us;h3ngladesh,rbad2;os;am3ra2;in;as;fghaFlCmAn5r3ustr2zerbaijH;al0ia;genti2men0uba;na;dorra,g4t2;arct6igua and barbu2;da;o2uil2;la;er2;ica;b2ger0;an0;ia;ni2;st2;an",Place:"true¦a0Eb0Ac03d02e01f00gWhUiSkQlNmLnIorHpDrCsAt5u4v3w2y0;a0yz;kutPngtze;ake isHupatki;irgin islands,ostok;laanbaatar,p02;a3eotihuac0Fh1onto,sarskoe selo,u0;lXzigoot;am07e 0;bronx,hamptons;hiti,j mahE;a0cotts bluff,eine,fo,oho,under9;int lawrence river,khalX;ed s3io grande;a1ek,h0itcairn,ompeii;l,x;cif03pahanaumokuak0rthenW;ea;ange county,d,inoco;e0ile;uschwanstePw eng0;land;a0co,ekong,idLuc;chu picchu,gadYlibu,nhattY;a1gw,hr,incoln memori0;al;s,x;azan kremlIosrae,rasnoyar0ul;sk;ax,cn,nd0st;ianQochina;arlem,kg,nd,ov0;d,enweep;a2odavari,re0;at 0enwich;britaAlakG;ngFy village;co,ra;urope,vergladD;anube,en,fw,own4xb;arrizo pla5dg,edar breaks,gk,h1lt,olosse0;um;a2i0uuk;chen itza,mney rock,na0ricahua;town;morro,tham;in;cn,e2kk,ro0;oklyn,wns cany0;on;l air,verly hills;driadic,frica,lhambra,m7n3rc2sia,tl1zor0;es;!ant2; de triomphe,t1;adyr,tarct0;ic0; oce0;an;ericas,s",FirstName:"true¦aTblair,cQdOfrancoZgabMhinaLilya,jHkClBm6ni4quinn,re3s0;h0umit,yd;ay,e0iloh;a,lby;g9ne;co,ko0;!s;a1el0ina,org6;!okuhF;ds,naia,r1tt0xiB;i,y;ion,lo;ashawn,eif,uca;a3e1ir0rM;an;lsFn0rry;dall,yat5;i,sD;a0essIie,ude;i1m0;ie,mG;me;ta;rie0y;le;arcy,ev0;an,on;as1h0;arl8eyenne;ey,sidy;drien,kira,l4nd1ubr0vi;ey;i,r0;a,e0;a,y;ex2f1o0;is;ie;ei,is",WeekDay:"true¦fri2mon2s1t0wednesd3;hurs1ues1;aturd1und1;!d0;ay0;!s",Month:"true¦dec0february,july,nov0octo1sept0;em0;ber",Date:"true¦ago,on4som4t1week0yesterd5; end,ends;mr1o0;d2morrow;!w;ed0;ay",Duration:"true¦centurAd8h7m5q4se3w1y0;ear8r8;eek0k7;!end,s;ason,c5;tr,uarter;i0onth3;llisecond2nute2;our1r1;ay0ecade0;!s;ies,y",FemaleName:"true¦0:JA;1:JE;2:IM;3:IN;4:J4;5:IR;6:JV;7:JR;8:HE;9:JN;A:H7;B:I5;C:IW;D:JK;E:J0;F:BD;G:I7;aGWbFOcDUdD3eBPfB7gAGh9Wi9Jj8Gk7Fl5Zm48n3Lo3Hp33qu32r29s15t0Eu0Cv02wVxiTyOzH;aLeIineb,oHsof3;e3Sf3la,ra;h2iKlIna,ynH;ab,ep;da,ma;da,h2iHra;nab;aKeJi0FolBAuIvH;et8onDS;i0na;le0sen3;el,gm3Hn,rGOs8Z;aoHme0nyi;m60yAG;aMendE2hiDJiH;dele9lJnH;if48niHo0;e,f47;a,helmi0lHma;a,ow;ka0nB;aNeKiHusa5;ck87kIl8oleAviH;anFenJ7;ky,toriBN;da,lABrHs0;a,nHoniHC;a,iFU;leHnesHC;nIOrH;i1y;g9rHs6xHD;su5te;aYeUhRiNoLrIuHy2;i,la;acJ6iHu0J;c3na,sH;hFta;nHr0F;iFya;aJffaERnHs6;a,gtiH;ng;!nFVra;aIeHomasi0;a,l9Ro8Dres1;l3ndolwethu;g9Io8BrIssH;!a,ie;eHi,ri7;sa,za;bOlMmKnIrHs6tia0wa0;a63yn;iHya;a,ka,s6;arFe2iHm7Ara;!ka;a,iH;a,t6;at6it6;a0Ecarlett,e0AhWiSkye,neza0oQri,tNuIyH;bIJlvi1;ha,mayIMniAsIzH;an3Net8ie,y;anHi7;!a,e,nH;aCe;aIeH;fan4l5Gphan6H;cI8r5;b3fiADm0LnHphi1;d2ia,ja,ya;er2lJmon1nIobh8TtH;a,i;dy;lEWv3;aMeIirHo0risFGy5;a,lDP;ba,e0i5lJrH;iHr6Myl;!d8Lfa;ia,lE2;hd,iMki2nJrIu0w0yH;la,ma,na;i,le9on,ron,yn;aIda,ia,nHon;a,on;!ya;k6mH;!aa;lJrItaye85vH;da,inj;e0ife;en1i0ma;anACbLd5Rh1SiBkKlJmInd2rHs6vannaC;aCi0;ant6i2;lDRma,ome;ee0in8Wu2;in1ri0;a05eZhXiUoHuthDP;bScRghQl8OnPsJwIxH;anB6ie,y;an,e0;aIeHie,lD; merBUann7ll1marDJtA;!lHnn1;iHyn;e,nH;a,dF;da,i,na;ayy8J;hel6Aio;bDUerAyn;a,cIkHmas,nFta,ya;ki,o;h90ki;ea,iannGPoH;da,n1P;an0bJemFgi0iInHta,y0;a8Eee;han89na;a,eH;cHkaC;a,ca;bi0chIe,i0mo0nHquEWy0;di,ia;aEUelHiB;!e,le;een4ia0;aPeOhMiLoJrHute6D;iHudenCY;scil3OyamvaB;lHrt3;i0ly;a,paluk;ilome0oebe,ylH;is,lis;ggy,nelope,r5t2;ige,m0VnKo5rvaDPtIulH;a,et8in1;ricHt4W;a,e,ia;do2i07;ctav3dIfD6is6ksa0lHphD6umC8yunbileg;a,ga,iv3;eHvAI;l3t8;aWeUiMoIurHy5;!ay,ul;a,eJor,rIuH;f,r;aCeEma;ll1mi;aNcLhariBTkKlaJna,sHta,vi;anHha;ur;!y;a,iE2ki;hoGkA1olH;a,e4S;!mh;hir,lHna,risDHsreE;!a,lBY;asuMdLh3i6Gl5nKomi7rgEYtHzanin zah2;aHhal4;lHs6;i1ya;cy,et8;e9iF3ya;nngu30;a0Ackenz4e02iMoJrignayani,uriDMyH;a,rH;a,iOlNna,tG;bi0i2llBMnH;a,iH;ca,ka,qDC;a,cUdo52kaTlOmi,nMrItzi,yH;ar;aJiIlH;anEW;am;!l,nB;dy,eHh,n4;nhGrva;aKdJe0iCXlH;iHy;cent,e;red;!gros;!e5;ae5hH;ae5el42;ag5GgNi,lKrH;edi7DiIjem,on,yH;em,l;em,sCJ;an4iHliCI;nHsCM;a,da;!an,han;b0CcAVd0Ae,g08ha,i07ja,l05n03rLsoum61tKuIv87xBNyHz4;bell,ra,soBE;d7rH;a,eE;h8Jild1t4;a,cXgTiKjor4l7Xn4s6tJwa,yH;!aHbe70ja9lAH;m,nBO;a,ha,in1;!aJbCJeIja,lDna,sHt66;!a,ol,sa;!l1G;! Jh,mInH;!a,e,n1;!awit,i;aliALcIeduarBfern5HjHlui60;o6Jul3;ecil3la2;arJeIie,oHr48ueri8;!t;!ry;et46i3B;el4Xi7Cy;dHon,ue5;akranAy;ak,en,iHlo3S;a,ka,nB;a,re,s4te;daHg4;!l3E;alDd4elHge,isDJon0;ei9in1yn;el,le;a0Ne0CiXoQuLyH;d3la,nH;!a,dIe2OnHsCT;!a,e2N;a,sCR;aD4cJel0Pis1lIna,pHz;e,iA;a,u,wa;iHy;a0Se,ja,l2NnB;is,l1UrItt1LuHvel4;el5is1;aKeIi7na,rH;aADi7;lHn1tA;ei;!in1;aTbb9HdSepa,lNnKsJvIzH;!a,be5Ret8z4;!ia;a,et8;!a,dH;a,sHy;ay,ey,i,y;a,iJja,lH;iHy;aA8e;!aH;!nF;ia,ya;!nH;!a,ne;aPda,e0iNjYla,nMoKsJtHx93y5;iHt4;c3t3;e2PlCO;la,nHra;a,ie,o2;a,or1;a,gh,laH;!ni;!h,nH;a,d2e,n5V;cOdon9DiNkes6mi9Gna,rMtJurIvHxmi,y5;ern1in3;a,e5Aie,yn;as6iIoH;nya,ya;fa,s6;a,isA9;a,la;ey,ie,y;a04eZhXiOlASoNrJyH;lHra;a,ee,ie;istHy6I;a,en,iIyH;!na;!e,n5F;nul,ri,urtnB8;aOerNlB7mJrHzzy;a,stH;en,in;!berlImernH;aq;eHi,y;e,y;a,stE;!na,ra;aHei2ongordzol;dij1w5;el7UiKjsi,lJnIrH;a,i,ri;d2na,za;ey,i,lBLs4y;ra,s6;biAcARdiat7MeBAiSlQmPnyakuma1DrNss6NtKviAyH;!e,lH;a,eH;e,i8T;!a6HeIhHi4TlDri0y;ar8Her8Hie,leErBAy;!lyn8Ori0;a,en,iHl5Xoli0yn;!ma,nFs95;a5il1;ei8Mi,lH;e,ie;a,tl6O;a0AeZiWoOuH;anMdLlHst88;es,iH;a8NeHs8X;!n9tH;!a,te;e5Mi3My;a,iA;!anNcelDdMelGhan7VleLni,sIva0yH;a,ce;eHie;fHlDph7Y;a,in1;en,n1;i7y;!a,e,n45;lHng;!i1DlH;!i1C;anNle0nKrJsH;i8JsH;!e,i8I;i,ri;!a,elGif2CnH;a,et8iHy;!e,f2A;a,eJiInH;a,eIiH;e,n1;!t8;cMda,mi,nIque4YsminFvie2y9zH;min7;a7eIiH;ce,e,n1s;!lHs82t0F;e,le;inIk6HlDquelH;in1yn;da,ta;da,lRmPnOo0rNsIvaHwo0zaro;!a0lu,na;aJiIlaHob89;!n9R;do2;belHdo2;!a,e,l3B;a7Ben1i0ma;di2es,gr72ji;a9elBogH;en1;a,e9iHo0se;a0na;aSeOiJoHus7Kyacin2C;da,ll4rten24snH;a,i9U;lImaH;ri;aIdHlaI;a,egard;ry;ath1BiJlInrietArmi9sH;sa,t1A;en2Uga,mi;di;bi2Fil8MlNnMrJsItHwa,yl8M;i5Tt4;n60ti;iHmo51ri53;etH;!te;aCnaC;a,ey,l4;a02eWiRlPoNrKunJwH;enHyne1R;!dolD;ay,el;acieIetHiselB;a,chE;!la;ld1CogooH;sh;adys,enHor3yn2K;a,da,na;aKgi,lIna,ov8EselHta;a,e,le;da,liH;an;!n0;mLnJorgIrH;ald5Si,m3Etrud7;et8i4X;a,eHna;s29vieve;ma;bIle,mHrnet,yG;al5Si5;iIrielH;a,l1;!ja;aTeQiPlorOoz3rH;anJeIiH;da,eB;da,ja;!cH;esIiHoi0P;n1s66;!ca;a,enc3;en,o0;lIn0rnH;anB;ec3ic3;jr,nArKtHy7;emIiHma,oumaA;ha,ma,n;eh;ah,iBrah,za0;cr4Rd0Re0Qi0Pk0Ol07mXn54rUsOtNuMvHwa;aKelIiH;!e,ta;inFyn;!a;!ngel4V;geni1ni47;h5Yien9ta;mLperanKtH;eIhHrel5;er;l31r7;za;a,eralB;iHma,ne4Lyn;cHka,n;a,ka;aPeNiKmH;aHe21ie,y;!li9nuH;elG;lHn1;e7iHy;a,e,ja;lHrald;da,y;!nue5;aWeUiNlMma,no2oKsJvH;a,iH;na,ra;a,ie;iHuiH;se;a,en,ie,y;a0c3da,e,f,nMsJzaH;!betHveA;e,h;aHe,ka;!beH;th;!a,or;anor,nH;!a,i;!in1na;ate1Rta;leEs6;vi;eIiHna,wi0;e,th;l,n;aYeMh3iLjeneKoH;lor5Vminiq4Ln3FrHtt4;a,eEis,la,othHthy;ea,y;ba;an09naCon9ya;anQbPde,eOiMlJmetr3nHsir5M;a,iH;ce,se;a,iIla,orHphi9;es,is;a,l6F;dHrdH;re;!d5Ena;!b2ForaCraC;a,d2nH;!a,e;hl3i0l0GmNnLphn1rIvi1WyH;le,na;a,by,cIia,lH;a,en1;ey,ie;a,et8iH;!ca,el1Aka,z;arHia;is;a0Re0Nh04i02lUoJristIynH;di,th3;al,i0;lPnMrIurH;tn1D;aJd2OiHn2Ori9;!nH;a,e,n1;!l4;cepci5Cn4sH;tanHuelo;ce,za;eHleE;en,t8;aJeoIotH;il54;!pat2;ir7rJudH;et8iH;a,ne;a,e,iH;ce,sZ;a2er2ndH;i,y;aReNloe,rH;isJyH;stH;al;sy,tH;a1Sen,iHy;an1e,n1;deJlseIrH;!i7yl;a,y;li9;nMrH;isKlImH;ai9;a,eHot8;n1t8;!sa;d2elGtH;al,elG;cIlH;es8i47;el3ilH;e,ia,y;itlYlXmilWndVrMsKtHy5;aIeIhHri0;er1IleErDy;ri0;a38sH;a37ie;a,iOlLmeJolIrH;ie,ol;!e,in1yn;lHn;!a,la;a,eIie,otHy;a,ta;ne,y;na,s1X;a0Ii0I;a,e,l1;isAl4;in,yn;a0Ke02iZlXoUrH;andi7eRiJoIyH;an0nn;nwDoke;an3HdgMgiLtH;n31tH;!aInH;ey,i,y;ny;d,t8;etH;!t7;an0e,nH;da,na;bbi7glarIlo07nH;iAn4;ka;ancHythe;a,he;an1Clja0nHsm3M;iAtH;ou;aWcVlinUniArPssOtJulaCvH;!erlH;ey,y;hJsy,tH;e,iHy7;e,na;!anH;ie,y;!ie;nItHyl;ha,ie;adIiH;ce;et8i9;ay,da;ca,ky;!triH;ce,z;rbJyaH;rmH;aa;a2o2ra;a2Ub2Od25g21i1Sj5l18m0Zn0Boi,r06sWtVuPvOwa,yIzH;ra,u0;aKes6gJlIn,seH;!l;in;un;!nH;a,na;a,i2K;drLguJrIsteH;ja;el3;stH;in1;a,ey,i,y;aahua,he0;hIi2Gja,miAs2DtrH;id;aMlIraqHt21;at;eIi7yH;!n;e,iHy;gh;!nH;ti;iJleIo6piA;ta;en,n1t8;aHelG;!n1J;a01dje5eZgViTjRnKohito,toHya;inet8nH;el5ia;te;!aKeIiHmJ;e,ka;!mHtt7;ar4;!belIliHmU;sa;!l1;a,eliH;ca;ka,sHta;a,sa;elHie;a,iH;a,ca,n1qH;ue;!tH;a,te;!bImHstasiMya;ar3;el;aLberKeliJiHy;e,l3naH;!ta;a,ja;!ly;hGiIl3nB;da;a,ra;le;aWba,ePiMlKthJyH;a,c3sH;a,on,sa;ea;iHys0N;e,s0M;a,cIn1sHza;a,e,ha,on,sa;e,ia,ja;c3is6jaKksaKna,sJxH;aHia;!nd2;ia,saH;nd2;ra;ia;i0nIyH;ah,na;a,is,naCoud;la;c6da,leEmNnLsH;haClH;inHyY;g,n;!h;a,o,slH;ey;ee;en;at6g4nIusH;ti0;es;ie;aWdiTelMrH;eJiH;anMenH;a,e,ne;an0;na;!aLeKiIyH;nn;a,n1;a,e;!ne;!iH;de;e,lDsH;on;yn;!lH;i9yn;ne;aKbIiHrL;!e,gaK;ey,i7y;!e;gaH;il;dKliyJradhIs6;ha;ya;ah;a,ya",Honorific:"true¦director1field marsh2lieutenant1rear0sergeant major,vice0; admir1; gener0;al","Adj|Gerund":"true¦0:3H;1:3J;2:33;3:2Z;4:37;5:35;6:3E;7:31;8:38;9:2J;a35b2Vc2Dd1Te1If17g11h0Yi0Rjud9l0Nm0Gnu0Fo0Ap04rYsKtEuBvAw18yiel3;ar6e08;nBpA;l1Rs0B;fol3n21sett2;aEeDhrBi4ouc7rAwis0;e0Bif2oub2us0yi1;ea1SiA;l2vi1;l2mp0rr1J;nt1Xxi1;aMcreec7enten2PhLkyrocke0lo1Tmi2oJpHtDuBweA;e1Sl2;pp2CrA;gi1pri5roun3;aBea8iAri2Jun25;mula0r4;gge4rA;t2vi1;ark2eAraw2;e3llb2H;aAot7;ki1ri1;i1Xoc2B;dYtisf6;aEeBive0oAus7;a4l2;assu4defi1Tfres7ig1Tjuve0QlaImai1Ts0vAwar3;ea2italiAol1I;si1zi1;gi1ll6mb2vi1;a6eDier25lun9rAun2E;eBoA;mi5vo21;ce3s5vai2;n3rpleA;xi1;ffCpWutBverAwi1;arc7lap12p0Pri3whel8;goi1l6st1L;en3sA;et0;m2Lrtu4;aEeDiCoBuAyst0L;mb2;t1Lvi1;s5tiga0;an1Tl0n3smeri28;dAtu4;de17;aCeaBiAo0W;fesa0Vmi0vi1;di1ni1;c1Hg9s0;llumiZmFnArri0T;cDfurGsCtBviA;go25ti1;e1Qimi23oxica0rig0X;pi4ul0;orpo22r0M;po5;arrowi1eaBorr03umilA;ia0;li1rtwar8;lErA;atiCip0BoBuelA;i1li1;undbrea13wi1;f6ng;a4ea8;aIetc7it0lEoCrBulfA;il2;ee1JighZust1P;rAun3;ebo3thco8;aCoA;a0wA;e4i1;mi1tte4;di1sciA;na0;lectrJmHnExA;aCci0hBis0pA;an3lo3;aOila1D;c0spe1C;ab2cBdu4ergi15ga9live06ric7s04tA;hral2i0L;han0oura9;barras5er9pA;owe4;if6;aSeIiBrA;if0;sAzz6;aEgDhearCsen0tA;rAur13;ac0es5;teU;us0;ppoin0r8;biliIcFfiRgra3ligh0mDpres5sCvA;asHeloA;pi1;erE;an3eaNorA;ali0L;a6eiBliLrA;ea5;vi1;ta0;ma9ri1s7un0zz2;aPhMlo5oAripp2ut0;mGnArrespon3;cerEfDspi4tAvinU;inBrA;as0ibu0ol2;ui1;lic0u5;ni1;fDmCpA;eAromi5;l2ti1;an3;or0;aAil2;llen9n9r8;gi1;l8ptAri1;iva0;aff2eGin3lFoDrBuA;d3st2;eathtaAui5;ki1;gg2i2o8ri1unA;ci1;in3;co8wiA;lAtc7;de4;bsorVcOgonMlJmHnno6ppea2rFsA;pi4su4toA;nBun3;di1;is7;hi1;res0;li1;aFu5;si1;ar8lu4;ri1;mi1;iAzi1;zi1;cAhi1;eleDomA;moBpan6;yi1;da0;ra0;ti1;bi1;ng",Adverb:"true¦a08b05d00eYfSheQinPjustOkinda,likewiZmMnJoEpCquite,r9s5t2u0very,well;ltima01p0; to,wards5;h1iny bit,o0wiO;o,t6;en,us;eldom,o0uch;!me1rt0; of;how,times,w0C;a1e0;alS;ndomRth05;ar excellenEer0oint blank; Lhaps;f3n0utright;ce0ly;! 0;ag05moX; courGten;ewJo0; longWt 0;onHwithstand9;aybe,eanwhiNore0;!ovT;! aboX;deed,steY;lla,n0;ce;or3u0;ck1l9rther0;!moK;ing; 0evK;exampCgood,suH;n mas0vI;se;e0irect2; 2fini0;te0;ly;juAtrop;ackward,y 0;far,no0; means,w; GbroFd nauseam,gEl7ny5part,s4t 2w0;ay,hi0;le;be7l0mo7wor7;arge,ea6; soon,i4;mo0way;re;l 3mo2ongsi1ready,so,togeth0ways;er;de;st;b1t0;hat;ut;ain;ad;lot,posteriori",Conjunction:"true¦aXbTcReNhowMiEjust00noBo9p8supposing,t5wh0yet;e1il0o3;e,st;n1re0thN; if,by,vM;evL;h0il,o;erefOo0;!uU;lus,rovided th9;r0therwiM;! not; mattEr,w0;! 0;since,th4w7;f4n0; 0asmuch;as mIcaForder t0;h0o;at;! 0;only,t0w0;hen;!ev3;ith2ven0;! 0;if,tB;er;o0uz;s,z;e0ut,y the time;cau1f0;ore;se;lt3nd,s 0;far1if,m0soon1t2;uch0; as;hou0;gh",Currency:"true¦$,aud,bQcOdJeurIfHgbp,hkd,iGjpy,kElDp8r7s3usd,x2y1z0¢,£,¥,ден,лв,руб,฿,₡,₨,€,₭,﷼;lotyQł;en,uanP;af,of;h0t5;e0il5;k0q0;elK;oubleJp,upeeJ;e2ound st0;er0;lingG;n0soF;ceEnies;empi7i7;n,r0wanzaCyatC;!onaBw;ls,nr;ori7ranc9;!os;en3i2kk,o0;b0ll2;ra5;me4n0rham4;ar3;e0ny;nt1;aht,itcoin0;!s",Determiner:"true¦aBboth,d9e6few,le5mu8neiDplenty,s4th2various,wh0;at0ich0;evC;a0e4is,ose;!t;everal,ome;!ast,s;a1l0very;!se;ch;e0u;!s;!n0;!o0y;th0;er","Adj|Present":"true¦a07b04cVdQeNfJhollIidRlEmCnarrIoBp9qua8r7s3t2uttFw0;aKet,ro0;ng,u08;endChin;e2hort,l1mooth,our,pa9tray,u0;re,speU;i2ow;cu6da02leSpaN;eplica01i02;ck;aHerfePr0;eseUime,omV;bscu1pen,wn;atu0e3odeH;re;a2e1ive,ow0;er;an;st,y;ow;a2i1oul,r0;ee,inge;rm;iIke,ncy,st;l1mpty,x0;emHpress;abo4ic7;amp,e2i1oub0ry,ull;le;ffu9re6;fu8libe0;raE;alm,l5o0;mpleCn3ol,rr1unterfe0;it;e0u7;ct;juga8sum7;ea1o0;se;n,r;ankru1lu0;nt;pt;li2pproxi0rticula1;ma0;te;ght",Comparable:"true¦0:3C;1:3Q;2:3F;a3Tb3Cc33d2Ue2Nf2Ag1Wh1Li1Fj1Ek1Bl13m0Xn0So0Rp0Iqu0Gr07sHtCug0vAw4y3za0Q;el10ouN;ary,e6hi5i3ry;ck0Cde,l3n1ry,se;d,y;ny,te;a3i3R;k,ry;a3erda2ulgar;gue,in,st;a6en2Xhi5i4ouZr3;anqu2Den1ue;dy,g36me0ny;ck,rs29;ll,me,rt,wd3I;aRcaPeOhMiLkin0BlImGoEpDt6u4w3;eet,ift;b3dd0Wperfi21rre29;sta27t22;a8e7iff,r4u3;pUr1;a4ict,o3;ng;ig2Vn0N;a1ep,rn;le,rk,te0;e1Si2Vright0;ci1Zft,l3on,re;emn,id;a3el0;ll,rt;e4i3y;g2Mm0Z;ek,nd2T;ck24l0mp1M;a3iRrill,y;dy,l01rp;ve0Jxy;n1Kr3;ce,y;d,fe,int0l1Iv0V;a8e6i5o3ude;mantic,o19sy,u3;gh;pe,t1P;a3d,mo0A;dy,l;gg4iFndom,p3re,w;id;ed;ai2i3;ck,et;hoAink,l9o8r5u3;ny,r3;e,p12;egna2ic4o3;fouSud;ey,k0;liXor;ain,easa2;ny;dd,i0ld,ranL;aive,e5i4o3u15;b0Tisy,rm0Zsy;bb0ce,mb0S;a3r1w;r,t;ad,e5ild,o4u3;nda12te;ist,o1;a4ek,l3;low;s0ty;a8e7i6o3ucky;f0Kn4o15u3ve0w10y0O;d,sy;e0g;ke0l,mp,tt0Fve0;e1Qwd;me,r3te;ge;e4i3;nd;en;ol0ui19;cy,ll,n3;secu6t3;e3ima4;llege2rmedia3;te;re;aAe7i6o5u3;ge,m3ng1C;bZid;me0t;gh,l0;a3fYsita2;dy,rXv3;en0y;nd13ppy,r3;d3sh;!y;aFenEhCiBlAoofy,r3;a8e6i5o3ue0Z;o3ss;vy;m,s0;at,e3y;dy,n;nd,y;ad,ib,ooD;a2d1;a3o3;st0;tEuiS;u1y;aDeebCi9l8o6r5u3;ll,n3r0N;!ny;aDesh,iend0;a3nd,rmE;my;at,ir8;erce4nan3;ciA;! ;le;r,ul3;ty;a6erie,sse4v3xtre0A;il;nti3;al;r4s3;tern,y;ly,th0;appYe8i4u3;mb;r5vi4z3;zy;ne;e,ty;a3ep,n9;d3f,r;!ly;agey,h8l7o5r4u3;dd0r0te;isp,uel;ar3ld,mmon,st0ward0zy;se;evKou1;e3il0;ap,e3;sy;aHiFlCoAr5u3;ff,r0sy;ly;a6i3oad;g4llia2;nt;ht;sh,ve;ld,un3;cy;a4o3ue;nd,o1;ck,nd;g,tt3;er;d,ld,w1;dy;bsu6ng5we3;so3;me;ry;rd","Person|Adj":"true¦b3du2earnest,frank,mi2r0san1woo1;an0ich,u1;dy;sty;ella,rown",Modal:"true¦c5lets,m4ought3sh1w0;ill,o5;a0o4;ll,nt;! to,a;ight,ust;an,o0;uld",Verb:"true¦born,cannot,gonna,has,keep tabs,msg","Person|Verb":"true¦b8ch7dr6foster,gra5ja9lan4ma2ni9ollie,p1rob,s0wade;kip,pike,t5ue;at,eg,ier2;ck,r0;k,shal;ce;ce,nt;ew;ase,u1;iff,l1ob,u0;ck;aze,ossom","Person|Date":"true¦a2j0sep;an0une;!uary;p0ugust,v0;ril"};const Co=36,No="0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ",jo=No.split("").reduce((function(e,t,n){return e[t]=n,e}),{});var xo=function(e){if(void 0!==jo[e])return jo[e];let t=0,n=1,r=Co,a=1;for(;n=0;n--,a*=Co){let r=e.charCodeAt(n)-48;r>10&&(r-=7),t+=r*a}return t},Io=function(e){const t=new RegExp("([0-9A-Z]+):([0-9A-Z]+)");for(let n=0;n{let o=e.nodes[r];"!"===o[0]&&(t.push(a),o=o.slice(1));const i=o.split(/([A-Z0-9,]+)/g);for(let o=0;o{const n=t.split("¦");return e[n[0]]=n[1],e}),{}),n={};return Object.keys(t).forEach((function(e){const r=Ho(t[e]);"true"===e&&(e=!0);for(let t=0;t{let t=Do(Ao[e]);Vo.test(e)?Object.keys(t).forEach((t=>{if($o[t]=e,"Noun|Verb"===e){let e=Fo(t,Lo);$o[e]="Plural|Verb"}})):Object.keys(t).forEach((t=>{zo[t]=e}))})),[":(",":)",":P",":p",":O",";(",";)",";P",";p",";O",":3",":|",":/",":\\",":$",":*",":@",":-(",":-)",":-P",":-p",":-O",":-3",":-|",":-/",":-\\",":-$",":-*",":-@",":^(",":^)",":^P",":^p",":^O",":^3",":^|",":^/",":^\\",":^$",":^*",":^@","):","(:","$:","*:",")-:","(-:","$-:","*-:",")^:","(^:","$^:","*^:","<3","zo[e]="Emoticon")),delete zo[""],delete zo.null,delete zo[" "];const So="Singular";var Mo={beforeTags:{Determiner:So,Possessive:So,Acronym:So,Noun:So,Adjective:So,PresentTense:So,Gerund:So,PastTense:So,Infinitive:So,Date:So,Ordinal:So,Demonym:So},afterTags:{Value:So,Modal:So,Copula:So,PresentTense:So,PastTense:So,Demonym:So,Actor:So},beforeWords:{the:So,with:So,without:So,of:So,for:So,any:So,all:So,on:So,cut:So,cuts:So,increase:So,decrease:So,raise:So,drop:So,save:So,saved:So,saves:So,make:So,makes:So,made:So,minus:So,plus:So,than:So,another:So,versus:So,neither:So,about:So,favorite:So,best:So,daily:So,weekly:So,linear:So,binary:So,mobile:So,lexical:So,technical:So,computer:So,scientific:So,security:So,government:So,popular:So,formal:So,no:So,more:So,one:So,let:So,her:So,his:So,their:So,our:So,us:So},afterWords:{of:So,system:So,aid:So,method:So,utility:So,tool:So,reform:So,therapy:So,philosophy:So,room:So,authority:So,says:So,said:So,wants:So,wanted:So,is:So,did:So,do:So,can:So,wise:So}};const Bo="Infinitive";var Jo={beforeTags:{Modal:Bo,Adverb:Bo,Negative:Bo,Plural:Bo},afterTags:{Determiner:Bo,Adverb:Bo,Possessive:Bo,Reflexive:Bo,Preposition:Bo,Cardinal:Bo,Comparative:Bo,Superlative:Bo},beforeWords:{i:Bo,we:Bo,you:Bo,they:Bo,to:Bo,please:Bo,will:Bo,have:Bo,had:Bo,would:Bo,could:Bo,should:Bo,do:Bo,did:Bo,does:Bo,can:Bo,must:Bo,us:Bo,me:Bo,let:Bo,even:Bo,when:Bo,help:Bo,he:Bo,she:Bo,it:Bo,being:Bo,bi:Bo,co:Bo,contra:Bo,de:Bo,inter:Bo,intra:Bo,mis:Bo,pre:Bo,out:Bo,counter:Bo,nobody:Bo,somebody:Bo,anybody:Bo,everybody:Bo},afterWords:{the:Bo,me:Bo,you:Bo,him:Bo,us:Bo,her:Bo,his:Bo,them:Bo,they:Bo,it:Bo,himself:Bo,herself:Bo,itself:Bo,myself:Bo,ourselves:Bo,themselves:Bo,something:Bo,anything:Bo,a:Bo,an:Bo,up:Bo,down:Bo,by:Bo,out:Bo,off:Bo,under:Bo,what:Bo,all:Bo,to:Bo,because:Bo,although:Bo,after:Bo,before:Bo,how:Bo,otherwise:Bo,together:Bo,though:Bo,into:Bo,yet:Bo,more:Bo,here:Bo,there:Bo,away:Bo}},Wo={beforeTags:Object.assign({},Jo.beforeTags,Mo.beforeTags,{}),afterTags:Object.assign({},Jo.afterTags,Mo.afterTags,{}),beforeWords:Object.assign({},Jo.beforeWords,Mo.beforeWords,{}),afterWords:Object.assign({},Jo.afterWords,Mo.afterWords,{})};const qo="Adjective";var Ko={beforeTags:{Determiner:qo,Possessive:qo,Hyphenated:qo},afterTags:{Adjective:qo},beforeWords:{seem:qo,seemed:qo,seems:qo,feel:qo,feels:qo,felt:qo,stay:qo,appear:qo,appears:qo,appeared:qo,also:qo,over:qo,under:qo,too:qo,it:qo,but:qo,still:qo,really:qo,quite:qo,well:qo,very:qo,how:qo,deeply:qo,hella:qo,profoundly:qo,extremely:qo,so:qo,badly:qo,mostly:qo,totally:qo,awfully:qo,rather:qo,nothing:qo,something:qo,anything:qo,not:qo,me:qo,is:qo},afterWords:{too:qo,also:qo,or:qo,enough:qo,about:qo}};const Uo="Gerund";var Ro={beforeTags:{Adverb:Uo,Preposition:Uo,Conjunction:Uo},afterTags:{Adverb:Uo,Possessive:Uo,Person:Uo,Pronoun:Uo,Determiner:Uo,Copula:Uo,Preposition:Uo,Conjunction:Uo,Comparative:Uo},beforeWords:{been:Uo,keep:Uo,continue:Uo,stop:Uo,am:Uo,be:Uo,me:Uo,began:Uo,start:Uo,starts:Uo,started:Uo,stops:Uo,stopped:Uo,help:Uo,helps:Uo,avoid:Uo,avoids:Uo,love:Uo,loves:Uo,loved:Uo,hate:Uo,hates:Uo,hated:Uo},afterWords:{you:Uo,me:Uo,her:Uo,him:Uo,his:Uo,them:Uo,their:Uo,it:Uo,this:Uo,there:Uo,on:Uo,about:Uo,for:Uo,up:Uo,down:Uo}},Qo={beforeTags:Object.assign({},Ko.beforeTags,Ro.beforeTags,{Imperative:"Gerund",Infinitive:"Adjective",PresentTense:"Gerund",Plural:"Gerund"}),afterTags:Object.assign({},Ko.afterTags,Ro.afterTags,{Singular:"Adjective"}),beforeWords:Object.assign({},Ko.beforeWords,Ro.beforeWords,{is:"Adjective",was:"Adjective",of:"Adjective",suggest:"Gerund",recommend:"Gerund"}),afterWords:Object.assign({},Ko.afterWords,Ro.afterWords,{to:"Gerund",not:"Gerund",the:"Gerund"})};const _o={beforeTags:{Determiner:void 0,Cardinal:"Noun",PhrasalVerb:"Adjective"},afterTags:{}};var Xo={beforeTags:Object.assign({},Ko.beforeTags,Mo.beforeTags,_o.beforeTags),afterTags:Object.assign({},Ko.afterTags,Mo.afterTags,_o.afterTags),beforeWords:Object.assign({},Ko.beforeWords,Mo.beforeWords,{are:"Adjective",is:"Adjective",was:"Adjective",be:"Adjective",off:"Adjective",out:"Adjective"}),afterWords:Object.assign({},Ko.afterWords,Mo.afterWords)};let Zo="PastTense";const Yo={beforeTags:{Adverb:Zo,Pronoun:Zo,ProperNoun:Zo,Auxiliary:Zo,Noun:Zo},afterTags:{Possessive:Zo,Pronoun:Zo,Determiner:Zo,Adverb:Zo,Comparative:Zo,Date:Zo,Gerund:Zo},beforeWords:{be:Zo,who:Zo,get:"Adjective",had:Zo,has:Zo,have:Zo,been:Zo,it:Zo,as:Zo,for:"Adjective",more:"Adjective"},afterWords:{by:Zo,back:Zo,out:Zo,in:Zo,up:Zo,down:Zo,before:Zo,after:Zo,for:Zo,the:Zo,with:Zo,as:Zo,on:Zo,at:Zo,between:Zo,to:Zo,into:Zo,us:Zo,them:Zo,his:Zo,her:Zo,their:Zo,our:Zo,me:Zo}};var ei={beforeTags:Object.assign({},Ko.beforeTags,Yo.beforeTags),afterTags:Object.assign({},Ko.afterTags,Yo.afterTags),beforeWords:Object.assign({},Ko.beforeWords,Yo.beforeWords),afterWords:Object.assign({},Ko.afterWords,Yo.afterWords)};const ti={afterTags:{Noun:"Adjective",Conjunction:void 0}};var ni={beforeTags:Object.assign({},Ko.beforeTags,Jo.beforeTags,{Adverb:void 0,Negative:void 0}),afterTags:Object.assign({},Ko.afterTags,Jo.afterTags,ti.afterTags),beforeWords:Object.assign({},Ko.beforeWords,Jo.beforeWords,{have:void 0,had:void 0,not:void 0,went:"Adjective",goes:"Adjective",got:"Adjective",be:"Adjective"}),afterWords:Object.assign({},Ko.afterWords,Jo.afterWords,{to:void 0,as:"Adjective"})};const ri={Copula:"Gerund",PastTense:"Gerund",PresentTense:"Gerund",Infinitive:"Gerund"},ai={},oi={are:"Gerund",were:"Gerund",be:"Gerund",no:"Gerund",without:"Gerund",you:"Gerund",we:"Gerund",they:"Gerund",he:"Gerund",she:"Gerund",us:"Gerund",them:"Gerund"},ii={the:"Gerund",this:"Gerund",that:"Gerund",me:"Gerund",us:"Gerund",them:"Gerund"};var si={beforeTags:Object.assign({},Ro.beforeTags,Mo.beforeTags,ri),afterTags:Object.assign({},Ro.afterTags,Mo.afterTags,ai),beforeWords:Object.assign({},Ro.beforeWords,Mo.beforeWords,oi),afterWords:Object.assign({},Ro.afterWords,Mo.afterWords,ii)};const li="Singular",ui="Infinitive";var ci={beforeTags:Object.assign({},Jo.beforeTags,Mo.beforeTags,{Adjective:li,Particle:li}),afterTags:Object.assign({},Jo.afterTags,Mo.afterTags,{ProperNoun:ui,Gerund:ui,Adjective:ui,Copula:li}),beforeWords:Object.assign({},Jo.beforeWords,Mo.beforeWords,{is:li,was:li,of:li,have:null}),afterWords:Object.assign({},Jo.afterWords,Mo.afterWords,{instead:ui,about:ui,his:ui,her:ui,to:null,by:null,in:null})};const hi="Person";var di={beforeTags:{Honorific:hi,Person:hi},afterTags:{Person:hi,ProperNoun:hi,Verb:hi},ownTags:{ProperNoun:hi},beforeWords:{hi:hi,hey:hi,yo:hi,dear:hi,hello:hi},afterWords:{said:hi,says:hi,told:hi,tells:hi,feels:hi,felt:hi,seems:hi,thinks:hi,thought:hi,spends:hi,spendt:hi,plays:hi,played:hi,sing:hi,sang:hi,learn:hi,learned:hi,wants:hi,wanted:hi}};const gi="Month",mi={beforeTags:{Date:gi,Value:gi},afterTags:{Date:gi,Value:gi},beforeWords:{by:gi,in:gi,on:gi,during:gi,after:gi,before:gi,between:gi,until:gi,til:gi,sometime:gi,of:gi,this:gi,next:gi,last:gi,previous:gi,following:gi,with:"Person"},afterWords:{sometime:gi,in:gi,of:gi,until:gi,the:gi}};var pi={beforeTags:Object.assign({},di.beforeTags,mi.beforeTags),afterTags:Object.assign({},di.afterTags,mi.afterTags),beforeWords:Object.assign({},di.beforeWords,mi.beforeWords),afterWords:Object.assign({},di.afterWords,mi.afterWords)};const fi="Place",vi={beforeTags:{Place:fi},afterTags:{Place:fi,Abbreviation:fi},beforeWords:{in:fi,by:fi,near:fi,from:fi,to:fi},afterWords:{in:fi,by:fi,near:fi,from:fi,to:fi,government:fi,council:fi,region:fi,city:fi}};let bi="Unit";const yi={"Actor|Verb":Wo,"Adj|Gerund":Qo,"Adj|Noun":Xo,"Adj|Past":ei,"Adj|Present":ni,"Noun|Verb":ci,"Noun|Gerund":si,"Person|Noun":{beforeTags:Object.assign({},Mo.beforeTags,di.beforeTags),afterTags:Object.assign({},Mo.afterTags,di.afterTags),beforeWords:Object.assign({},Mo.beforeWords,di.beforeWords,{i:"Infinitive",we:"Infinitive"}),afterWords:Object.assign({},Mo.afterWords,di.afterWords)},"Person|Date":pi,"Person|Verb":{beforeTags:Object.assign({},Mo.beforeTags,di.beforeTags,Jo.beforeTags),afterTags:Object.assign({},Mo.afterTags,di.afterTags,Jo.afterTags),beforeWords:Object.assign({},Mo.beforeWords,di.beforeWords,Jo.beforeWords),afterWords:Object.assign({},Mo.afterWords,di.afterWords,Jo.afterWords)},"Person|Place":{beforeTags:Object.assign({},vi.beforeTags,di.beforeTags),afterTags:Object.assign({},vi.afterTags,di.afterTags),beforeWords:Object.assign({},vi.beforeWords,di.beforeWords),afterWords:Object.assign({},vi.afterWords,di.afterWords)},"Person|Adj":{beforeTags:Object.assign({},di.beforeTags,Ko.beforeTags),afterTags:Object.assign({},di.afterTags,Ko.afterTags),beforeWords:Object.assign({},di.beforeWords,Ko.beforeWords),afterWords:Object.assign({},di.afterWords,Ko.afterWords)},"Unit|Noun":{beforeTags:{Value:bi},afterTags:{},beforeWords:{per:bi,every:bi,each:bi,square:bi,cubic:bi,sq:bi,metric:bi},afterWords:{per:bi,squared:bi,cubed:bi,long:bi}}},wi=(e,t)=>{let n=Object.keys(e).reduce(((t,n)=>(t[n]="Infinitive"===e[n]?"PresentTense":"Plural",t)),{});return Object.assign(n,t)};yi["Plural|Verb"]={beforeWords:wi(yi["Noun|Verb"].beforeWords,{had:"Plural",have:"Plural"}),afterWords:wi(yi["Noun|Verb"].afterWords,{his:"PresentTense",her:"PresentTense",its:"PresentTense",in:null,to:null,is:"PresentTense",by:"PresentTense"}),beforeTags:wi(yi["Noun|Verb"].beforeTags,{Conjunction:"PresentTense",Noun:void 0,ProperNoun:"PresentTense"}),afterTags:wi(yi["Noun|Verb"].afterTags,{Gerund:"Plural",Noun:"PresentTense",Value:"PresentTense"})};var ki=yi;const Pi="Adjective",Ai="Infinitive",Ci="PresentTense",Ni="Singular",ji="PastTense",xi="Adverb",Ii="Plural",Ti="Actor",Hi="Verb",Di="Noun",Gi="LastName",Ei="Modal",Oi="Place",Fi="Participle";var Vi=[null,null,{ea:Ni,ia:Di,ic:Pi,ly:xi,"'n":Hi,"'t":Hi},{oed:ji,ued:ji,xed:ji," so":xi,"'ll":Ei,"'re":"Copula",azy:Pi,eer:Di,end:Hi,ped:ji,ffy:Pi,ify:Ai,ing:"Gerund",ize:Ai,ibe:Ai,lar:Pi,mum:Pi,nes:Ci,nny:Pi,ous:Pi,que:Pi,ger:Di,ber:Di,rol:Ni,sis:Ni,ogy:Ni,oid:Ni,ian:Ni,zes:Ci,eld:ji,ken:Fi,ven:Fi,ten:Fi,ect:Ai,ict:Ai,ign:Ai,oze:Ai,ful:Pi,bal:Pi,ton:Di},{amed:ji,aped:ji,ched:ji,lked:ji,rked:ji,reed:ji,nded:ji,mned:Pi,cted:ji,dged:ji,ield:Ni,akis:Gi,cede:Ai,chuk:Gi,czyk:Gi,ects:Ci,iend:Ni,ends:Hi,enko:Gi,ette:Ni,iary:Ni,wner:Ni,fies:Ci,fore:xi,gate:Ai,gone:Pi,ices:Ii,ints:Ii,ruct:Ai,ines:Ii,ions:Ii,ners:Ii,pers:Ii,lers:Ii,less:Pi,llen:Pi,made:Pi,nsen:Gi,oses:Ci,ould:Ei,some:Pi,sson:Gi,ians:Ii,tion:Ni,tage:Di,ique:Ni,tive:Pi,tors:Di,vice:Ni,lier:Ni,fier:Ni,wned:ji,gent:Ni,tist:Ti,pist:Ti,rist:Ti,mist:Ti,yist:Ti,vist:Ti,ists:Ti,lite:Ni,site:Ni,rite:Ni,mite:Ni,bite:Ni,mate:Ni,date:Ni,ndal:Ni,vent:Ni,uist:Ti,gist:Ti,note:Ni,cide:Ni,ence:Ni,wide:Pi,vide:Ai,ract:Ai,duce:Ai,pose:Ai,eive:Ai,lyze:Ai,lyse:Ai,iant:Pi,nary:Pi,ghty:Pi,uent:Pi,erer:Ti,bury:Oi,dorf:Di,esty:Di,wych:Oi,dale:Oi,folk:Oi},{elist:Ti,holic:Ni,phite:Ni,tized:ji,urned:ji,eased:ji,ances:Ii,bound:Pi,ettes:Ii,fully:xi,ishes:Ci,ities:Ii,marek:Gi,nssen:Gi,ology:Di,osome:Ni,tment:Ni,ports:Ii,rough:Pi,tches:Ci,tieth:"Ordinal",tures:Ii,wards:xi,where:xi,archy:Di,pathy:Di,opoly:Di,embly:Di,phate:Di,ndent:Ni,scent:Ni,onist:Ti,anist:Ti,alist:Ti,olist:Ti,icist:Ti,ounce:Ai,iable:Pi,borne:Pi,gnant:Pi,inant:Pi,igent:Pi,atory:Pi,rient:Ni,dient:Ni,maker:Ti,burgh:Oi,mouth:Oi,ceter:Oi,ville:Oi,worth:Di},{auskas:Gi,parent:Ni,cedent:Ni,ionary:Ni,cklist:Ni,keeper:Ti,logist:Ti,teenth:"Value",worker:Ti,master:Ti,writer:Ti,brough:Oi,cester:Oi},{logists:Ti,opoulos:Gi,borough:Oi,sdottir:Gi}];const zi="Adjective",$i="Noun",Li="Verb";var Si=[null,null,{},{neo:$i,bio:$i,"de-":Li,"re-":Li,"un-":Li,"ex-":$i},{anti:$i,auto:$i,faux:zi,hexa:$i,kilo:$i,mono:$i,nano:$i,octa:$i,poly:$i,semi:zi,tele:$i,"pro-":zi,"mis-":Li,"dis-":Li,"pre-":zi},{anglo:$i,centi:$i,ethno:$i,ferro:$i,grand:$i,hepta:$i,hydro:$i,intro:$i,macro:$i,micro:$i,milli:$i,nitro:$i,penta:$i,quasi:zi,radio:$i,tetra:$i,"omni-":zi,"post-":zi},{pseudo:zi,"extra-":zi,"hyper-":zi,"inter-":zi,"intra-":zi,"deca-":zi},{electro:$i}];const Mi="Adjective",Bi="Infinitive",Ji="PresentTense",Wi="Singular",qi="PastTense",Ki="Adverb",Ui="Expression",Ri="Actor",Qi="Verb",_i="Noun",Xi="LastName";var Zi={a:[[/.[aeiou]na$/,_i,"tuna"],[/.[oau][wvl]ska$/,Xi],[/.[^aeiou]ica$/,Wi,"harmonica"],[/^([hyj]a+)+$/,Ui,"haha"]],c:[[/.[^aeiou]ic$/,Mi]],d:[[/[aeiou](pp|ll|ss|ff|gg|tt|rr|bb|nn|mm)ed$/,qi,"popped"],[/.[aeo]{2}[bdgmnprvz]ed$/,qi,"rammed"],[/.[aeiou][sg]hed$/,qi,"gushed"],[/.[aeiou]red$/,qi,"hired"],[/.[aeiou]r?ried$/,qi,"hurried"],[/[^aeiou]ard$/,Wi,"steward"],[/[aeiou][^aeiou]id$/,Mi,""],[/.[vrl]id$/,Mi,"livid"],[/..led$/,qi,"hurled"],[/.[iao]sed$/,qi,""],[/[aeiou]n?[cs]ed$/,qi,""],[/[aeiou][rl]?[mnf]ed$/,qi,""],[/[aeiou][ns]?c?ked$/,qi,"bunked"],[/[aeiou]gned$/,qi],[/[aeiou][nl]?ged$/,qi],[/.[tdbwxyz]ed$/,qi],[/[^aeiou][aeiou][tvx]ed$/,qi],[/.[cdflmnprstv]ied$/,qi,"emptied"]],e:[[/.[lnr]ize$/,Bi,"antagonize"],[/.[^aeiou]ise$/,Bi,"antagonise"],[/.[aeiou]te$/,Bi,"bite"],[/.[^aeiou][ai]ble$/,Mi,"fixable"],[/.[^aeiou]eable$/,Mi,"maleable"],[/.[ts]ive$/,Mi,"festive"],[/[a-z]-like$/,Mi,"woman-like"]],h:[[/.[^aeiouf]ish$/,Mi,"cornish"],[/.v[iy]ch$/,Xi,"..ovich"],[/^ug?h+$/,Ui,"ughh"],[/^uh[ -]?oh$/,Ui,"uhoh"],[/[a-z]-ish$/,Mi,"cartoon-ish"]],i:[[/.[oau][wvl]ski$/,Xi,"polish-male"]],k:[[/^(k){2}$/,Ui,"kkkk"]],l:[[/.[gl]ial$/,Mi,"familial"],[/.[^aeiou]ful$/,Mi,"fitful"],[/.[nrtumcd]al$/,Mi,"natal"],[/.[^aeiou][ei]al$/,Mi,"familial"]],m:[[/.[^aeiou]ium$/,Wi,"magnesium"],[/[^aeiou]ism$/,Wi,"schism"],[/^[hu]m+$/,Ui,"hmm"],[/^\d+ ?[ap]m$/,"Date","3am"]],n:[[/.[lsrnpb]ian$/,Mi,"republican"],[/[^aeiou]ician$/,Ri,"musician"],[/[aeiou][ktrp]in'$/,"Gerund","cookin'"]],o:[[/^no+$/,Ui,"noooo"],[/^(yo)+$/,Ui,"yoo"],[/^wo{2,}[pt]?$/,Ui,"woop"]],r:[[/.[bdfklmst]ler$/,"Noun"],[/[aeiou][pns]er$/,Wi],[/[^i]fer$/,Bi],[/.[^aeiou][ao]pher$/,Ri],[/.[lk]er$/,"Noun"],[/.ier$/,"Comparative"]],t:[[/.[di]est$/,"Superlative"],[/.[icldtgrv]ent$/,Mi],[/[aeiou].*ist$/,Mi],[/^[a-z]et$/,Qi]],s:[[/.[^aeiou]ises$/,Ji],[/.[rln]ates$/,Ji],[/.[^z]ens$/,Qi],[/.[lstrn]us$/,Wi],[/.[aeiou]sks$/,Ji],[/.[aeiou]kes$/,Ji],[/[aeiou][^aeiou]is$/,Wi],[/[a-z]'s$/,_i],[/^yes+$/,Ui]],v:[[/.[^aeiou][ai][kln]ov$/,Xi]],y:[[/.[cts]hy$/,Mi],[/.[st]ty$/,Mi],[/.[tnl]ary$/,Mi],[/.[oe]ry$/,Wi],[/[rdntkbhs]ly$/,Ki],[/.(gg|bb|zz)ly$/,Mi],[/...lly$/,Ki],[/.[gk]y$/,Mi],[/[bszmp]{2}y$/,Mi],[/.[ai]my$/,Mi],[/[ea]{2}zy$/,Mi],[/.[^aeiou]ity$/,Wi]]};const Yi="Verb",es="Noun";var ts={leftTags:[["Adjective",es],["Possessive",es],["Determiner",es],["Adverb",Yi],["Pronoun",Yi],["Value",es],["Ordinal",es],["Modal",Yi],["Superlative",es],["Demonym",es],["Honorific","Person"]],leftWords:[["i",Yi],["first",es],["it",Yi],["there",Yi],["not",Yi],["because",es],["if",es],["but",es],["who",Yi],["this",es],["his",es],["when",es],["you",Yi],["very","Adjective"],["old",es],["never",Yi],["before",es],["a",es],["the",es],["been",Yi]],rightTags:[["Copula",es],["PastTense",es],["Conjunction",es],["Modal",es]],rightWords:[["there",Yi],["me",Yi],["man","Adjective"],["him",Yi],["it",Yi],["were",es],["took",es],["himself",Yi],["went",es],["who",es],["jr","Person"]]},ns={fwd:"3:ser,ier¦1er:h,t,f,l,n¦1r:e¦2er:ss,or,om",both:"3er:ver,ear,alm¦3ner:hin¦3ter:lat¦2mer:im¦2er:ng,rm,mb¦2ber:ib¦2ger:ig¦1er:w,p,k,d¦ier:y",rev:"1:tter,yer¦2:uer,ver,ffer,oner,eler,ller,iler,ster,cer,uler,sher,ener,gher,aner,adder,nter,eter,rter,hter,rner,fter¦3:oser,ooler,eafer,user,airer,bler,maler,tler,eater,uger,rger,ainer,urer,ealer,icher,pler,emner,icter,nser,iser¦4:arser,viner,ucher,rosser,somer,ndomer,moter,oother,uarer,hiter¦5:nuiner,esser,emier¦ar:urther",ex:"worse:bad¦better:good¦4er:fair,gray,poor¦1urther:far¦3ter:fat,hot,wet¦3er:lay,shy,fun¦3der:mad,sad¦4der:glad¦:¦4r:cute,dire,fake,fine,free,lame,late,pale,rare,ripe,rude,safe,sore,tame,wide¦5r:eerie,stale"},rs={fwd:"1:nning,tting,rring,pping,eing,mming,gging,dding,bbing,kking¦2:eking,oling,eling,eming¦3:velling,siting,uiting,fiting,loting,geting,ialing,celling¦4:graming",both:"1:aing,iing,fing,xing,ying,oing,hing,wing¦2:tzing,rping,izzing,bting,mning,sping,wling,rling,wding,rbing,uping,lming,wning,mping,oning,lting,mbing,lking,fting,hting,sking,gning,pting,cking,ening,nking,iling,eping,ering,rting,rming,cting,lping,ssing,nting,nding,lding,sting,rning,rding,rking¦3:belling,siping,toming,yaking,uaking,oaning,auling,ooping,aiding,naping,euring,tolling,uzzing,ganing,haning,ualing,halling,iasing,auding,ieting,ceting,ouling,voring,ralling,garing,joring,oaming,oaking,roring,nelling,ooring,uelling,eaming,ooding,eaping,eeting,ooting,ooming,xiting,keting,ooking,ulling,airing,oaring,biting,outing,oiting,earing,naling,oading,eeding,ouring,eaking,aiming,illing,oining,eaning,onging,ealing,aining,eading¦4:thoming,melling,aboring,ivoting,weating,dfilling,onoring,eriting,imiting,tialling,rgining,otoring,linging,winging,lleting,louding,spelling,mpelling,heating,feating,opelling,choring,welling,ymaking,ctoring,calling,peating,iloring,laiting,utoring,uditing,mmaking,loating,iciting,waiting,mbating,voiding,otalling,nsoring,nselling,ocusing,itoring,eloping¦5:rselling,umpeting,atrolling,treating,tselling,rpreting,pringing,ummeting,ossoming,elmaking,eselling,rediting,totyping,onmaking,rfeiting,ntrolling¦5e:chmaking,dkeeping,severing,erouting,ecreting,ephoning,uthoring,ravening,reathing,pediting,erfering,eotyping,fringing,entoring,ombining,ompeting¦4e:emaking,eething,twining,rruling,chuting,xciting,rseding,scoping,edoring,pinging,lunging,agining,craping,pleting,eleting,nciting,nfining,ncoding,tponing,ecoding,writing,esaling,nvening,gnoring,evoting,mpeding,rvening,dhering,mpiling,storing,nviting,ploring¦3e:tining,nuring,saking,miring,haling,ceding,xuding,rining,nuting,laring,caring,miling,riding,hoking,piring,lading,curing,uading,noting,taping,futing,paring,hading,loding,siring,guring,vading,voking,during,niting,laning,caping,luting,muting,ruding,ciding,juring,laming,caling,hining,uoting,liding,ciling,duling,tuting,puting,cuting,coring,uiding,tiring,turing,siding,rading,enging,haping,buting,lining,taking,anging,haring,uiring,coming,mining,moting,suring,viding,luding¦2e:tring,zling,uging,oging,gling,iging,vring,fling,lging,obing,psing,pling,ubing,cling,dling,wsing,iking,rsing,dging,kling,ysing,tling,rging,eging,nsing,uning,osing,uming,using,ibing,bling,aging,ising,asing,ating¦2ie:rlying¦1e:zing,uing,cing,ving",rev:"ying:ie¦1ing:se,ke,te,we,ne,re,de,pe,me,le,c,he¦2ing:ll,ng,dd,ee,ye,oe,rg,us¦2ning:un¦2ging:og,ag,ug,ig,eg¦2ming:um¦2bing:ub,ab,eb,ob¦3ning:lan,can,hin,pin,win¦3ring:cur,lur,tir,tar,pur,car¦3ing:ait,del,eel,fin,eat,oat,eem,lel,ool,ein,uin¦3ping:rop,rap,top,uip,wap,hip,hop,lap,rip,cap¦3ming:tem,wim,rim,kim,lim¦3ting:mat,cut,pot,lit,lot,hat,set,pit,put¦3ding:hed,bed,bid¦3king:rek¦3ling:cil,pel¦3bing:rib¦4ning:egin¦4ing:isit,ruit,ilot,nsit,dget,rkel,ival,rcel¦4ring:efer,nfer¦4ting:rmit,mmit,ysit,dmit,emit,bmit,tfit,gret¦4ling:evel,xcel,ivel¦4ding:hred¦5ing:arget,posit,rofit¦5ring:nsfer¦5ting:nsmit,orget,cquit¦5ling:ancel,istil",ex:"3:adding,eating,aiming,aiding,airing,outing,gassing,setting,getting,putting,cutting,winning,sitting,betting,mapping,tapping,letting,bidding,hitting,tanning,netting,popping,fitting,capping,lapping,barring,banning,vetting,topping,rotting,tipping,potting,wetting,pitting,dipping,budding,hemming,pinning,jetting,kidding,padding,podding,sipping,wedding,bedding,donning,warring,penning,gutting,cueing,wadding,petting,ripping,napping,matting,tinning,binning,dimming,hopping,mopping,nodding,panning,rapping,ridding,sinning¦4:selling,falling,calling,waiting,editing,telling,rolling,heating,boating,hanging,beating,coating,singing,tolling,felling,polling,discing,seating,voiding,gelling,yelling,baiting,reining,ruining,seeking,spanning,stepping,knitting,emitting,slipping,quitting,dialing,omitting,clipping,shutting,skinning,abutting,flipping,trotting,cramming,fretting,suiting¦5:bringing,treating,spelling,stalling,trolling,expelling,rivaling,wringing,deterring,singeing,befitting,refitting¦6:enrolling,distilling,scrolling,strolling,caucusing,travelling¦7:installing,redefining,stencilling,recharging,overeating,benefiting,unraveling,programing¦9:reprogramming¦is:being¦2e:using,aging,owing¦3e:making,taking,coming,noting,hiring,filing,coding,citing,doping,baking,coping,hoping,lading,caring,naming,voting,riding,mining,curing,lining,ruling,typing,boring,dining,firing,hiding,piling,taping,waning,baling,boning,faring,honing,wiping,luring,timing,wading,piping,fading,biting,zoning,daring,waking,gaming,raking,ceding,tiring,coking,wining,joking,paring,gaping,poking,pining,coring,liming,toting,roping,wiring,aching¦4e:writing,storing,eroding,framing,smoking,tasting,wasting,phoning,shaking,abiding,braking,flaking,pasting,priming,shoring,sloping,withing,hinging¦5e:defining,refining,renaming,swathing,fringing,reciting¦1ie:dying,tying,lying,vying¦7e:sunbathing"},as={fwd:"1:mt¦2:llen¦3:iven,aken¦:ne¦y:in",both:"1:wn¦2:me,aten¦3:seen,bidden,isen¦4:roven,asten¦3l:pilt¦3d:uilt¦2e:itten¦1im:wum¦1eak:poken¦1ine:hone¦1ose:osen¦1in:gun¦1ake:woken¦ear:orn¦eal:olen¦eeze:ozen¦et:otten¦ink:unk¦ing:ung",rev:"2:un¦oken:eak¦ought:eek¦oven:eave¦1ne:o¦1own:ly¦1den:de¦1in:ay¦2t:am¦2n:ee¦3en:all¦4n:rive,sake,take¦5n:rgive",ex:"2:been¦3:seen,run¦4:given,taken¦5:shaken¦2eak:broken¦1ive:dove¦2y:flown¦3e:hidden,ridden¦1eek:sought¦1ake:woken¦1eave:woven"},os={fwd:"1:oes¦1ve:as",both:"1:xes¦2:zzes,ches,shes,sses¦3:iases¦2y:llies,plies¦1y:cies,bies,ties,vies,nies,pies,dies,ries,fies¦:s",rev:"1ies:ly¦2es:us,go,do¦3es:cho,eto",ex:"2:does,goes¦3:gasses¦5:focuses¦is:are¦3y:relies¦2y:flies¦2ve:has"},is={fwd:"1st:e¦1est:l,m,f,s¦1iest:cey¦2est:or,ir¦3est:ver",both:"4:east¦5:hwest¦5lest:erful¦4est:weet,lgar,tter,oung¦4most:uter¦3est:ger,der,rey,iet,ong,ear¦3test:lat¦3most:ner¦2est:pt,ft,nt,ct,rt,ht¦2test:it¦2gest:ig¦1est:b,k,n,p,h,d,w¦iest:y",rev:"1:ttest,nnest,yest¦2:sest,stest,rmest,cest,vest,lmest,olest,ilest,ulest,ssest,imest,uest¦3:rgest,eatest,oorest,plest,allest,urest,iefest,uelest,blest,ugest,amest,yalest,ealest,illest,tlest,itest¦4:cerest,eriest,somest,rmalest,ndomest,motest,uarest,tiffest¦5:leverest,rangest¦ar:urthest¦3ey:riciest",ex:"best:good¦worst:bad¦5est:great¦4est:fast,full,fair,dull¦3test:hot,wet,fat¦4nest:thin¦1urthest:far¦3est:gay,shy,ill¦4test:neat¦4st:late,wide,fine,safe,cute,fake,pale,rare,rude,sore,ripe,dire¦6st:severe"},ss={fwd:"1:tistic,eable,lful,sful,ting,tty¦2:onate,rtable,geous,ced,seful,ctful¦3:ortive,ented¦arity:ear¦y:etic¦fulness:begone¦1ity:re¦1y:tiful,gic¦2ity:ile,imous,ilous,ime¦2ion:ated¦2eness:iving¦2y:trious¦2ation:iring¦2tion:vant¦3ion:ect¦3ce:mant,mantic¦3tion:irable¦3y:est,estic¦3m:mistic,listic¦3ess:ning¦4n:utious¦4on:rative,native,vative,ective¦4ce:erant",both:"1:king,wing¦2:alous,ltuous,oyful,rdous¦3:gorous,ectable,werful,amatic¦4:oised,usical,agical,raceful,ocused,lined,ightful¦5ness:stful,lding,itous,nuous,ulous,otous,nable,gious,ayful,rvous,ntous,lsive,peful,entle,ciful,osive,leful,isive,ncise,reful,mious¦5ty:ivacious¦5ties:ubtle¦5ce:ilient,adiant,atient¦5cy:icient¦5sm:gmatic¦5on:sessive,dictive¦5ity:pular,sonal,eative,entic¦5sity:uminous¦5ism:conic¦5nce:mperate¦5ility:mitable¦5ment:xcited¦5n:bitious¦4cy:brant,etent,curate¦4ility:erable,acable,icable,ptable¦4ty:nacious,aive,oyal,dacious¦4n:icious¦4ce:vient,erent,stent,ndent,dient,quent,ident¦4ness:adic,ound,hing,pant,sant,oing,oist,tute¦4icity:imple¦4ment:fined,mused¦4ism:otic¦4ry:dantic¦4ity:tund,eral¦4edness:hand¦4on:uitive¦4lity:pitable¦4sm:eroic,namic¦4sity:nerous¦3th:arm¦3ility:pable,bable,dable,iable¦3cy:hant,nant,icate¦3ness:red,hin,nse,ict,iet,ite,oud,ind,ied,rce¦3ion:lute¦3ity:ual,gal,volous,ial¦3ce:sent,fensive,lant,gant,gent,lent,dant¦3on:asive¦3m:fist,sistic,iastic¦3y:terious,xurious,ronic,tastic¦3ur:amorous¦3e:tunate¦3ation:mined¦3sy:rteous¦3ty:ain¦3ry:ave¦3ment:azed¦2ness:de,on,ue,rn,ur,ft,rp,pe,om,ge,rd,od,ay,ss,er,ll,oy,ap,ht,ld,ad,rt¦2inousness:umous¦2ity:neous,ene,id,ane¦2cy:bate,late¦2ation:ized¦2ility:oble,ible¦2y:odic¦2e:oving,aring¦2s:ost¦2itude:pt¦2dom:ee¦2ance:uring¦2tion:reet¦2ion:oted¦2sion:ending¦2liness:an¦2or:rdent¦1th:ung¦1e:uable¦1ness:w,h,k,f¦1ility:mble¦1or:vent¦1ement:ging¦1tiquity:ncient¦1ment:hed¦verty:or¦ength:ong¦eat:ot¦pth:ep¦iness:y",rev:"",ex:"5:forceful,humorous¦8:charismatic¦13:understanding¦5ity:active¦11ness:adventurous,inquisitive,resourceful¦8on:aggressive,automatic,perceptive¦7ness:amorous,fatuous,furtive,ominous,serious¦5ness:ample,sweet¦12ness:apprehensive,cantankerous,contemptuous,ostentatious¦13ness:argumentative,conscientious¦9ness:assertive,facetious,imperious,inventive,oblivious,rapacious,receptive,seditious,whimsical¦10ness:attractive,expressive,impressive,loquacious,salubrious,thoughtful¦3edom:boring¦4ness:calm,fast,keen,tame¦8ness:cheerful,gracious,specious,spurious,timorous,unctuous¦5sity:curious¦9ion:deliberate¦8ion:desperate¦6e:expensive¦7ce:fragrant¦3y:furious¦9ility:ineluctable¦6ism:mystical¦8ity:physical,proactive,sensitive,vertical¦5cy:pliant¦7ity:positive¦9ity:practical¦12ism:professional¦6ce:prudent¦3ness:red¦6cy:vagrant¦3dom:wise"},ls=function(e="",t={}){let n=function(e,t={}){return t.hasOwnProperty(e)?t[e]:null}(e,t.ex);return n=n||function(e,t=[]){for(let n=0;n=1;r-=1){let a=e.length-r,o=e.substring(a,e.length);if(!0===t.hasOwnProperty(o))return e.slice(0,a)+t[o];if(!0===n.hasOwnProperty(o))return e.slice(0,a)+n[o]}return t.hasOwnProperty("")?e+t[""]:n.hasOwnProperty("")?e+n[""]:null}(e,t.fwd,t.both),n=n||e,n};const us=function(e){return Object.entries(e).reduce(((e,t)=>(e[t[1]]=t[0],e)),{})};var cs=function(e={}){return{reversed:!0,both:us(e.both),ex:us(e.ex),fwd:e.rev||{}}};const hs=/^([0-9]+)/,ds=function(e){let t=function(e){let t={};return e.split("¦").forEach((e=>{let[n,r]=e.split(":");r=(r||"").split(","),r.forEach((e=>{t[e]=n}))})),t}(e);return Object.keys(t).reduce(((e,n)=>(e[n]=function(e="",t=""){let n=(t=String(t)).match(hs);if(null===n)return t;let r=Number(n[1])||0;return e.substring(0,r)+t.replace(hs,"")}(n,t[n]),e)),{})};var gs=function(e={}){return"string"==typeof e&&(e=JSON.parse(e)),e.fwd=ds(e.fwd||""),e.both=ds(e.both||""),e.rev=ds(e.rev||""),e.ex=ds(e.ex||""),e};const ms=gs({fwd:"1:tted,wed,gged,nned,een,rred,pped,yed,bbed,oed,dded,rd,wn,mmed¦2:eed,nded,et,hted,st,oled,ut,emed,eled,lded,ken,rt,nked,apt,ant,eped,eked¦3:eared,eat,eaded,nelled,ealt,eeded,ooted,eaked,eaned,eeted,mited,bid,uit,ead,uited,ealed,geted,velled,ialed,belled¦4:ebuted,hined,comed¦y:ied¦ome:ame¦ear:ore¦ind:ound¦ing:ung,ang¦ep:pt¦ink:ank,unk¦ig:ug¦all:ell¦ee:aw¦ive:ave¦eeze:oze¦old:eld¦ave:ft¦ake:ook¦ell:old¦ite:ote¦ide:ode¦ine:one¦in:un,on¦eal:ole¦im:am¦ie:ay¦and:ood¦1ise:rose¦1eak:roke¦1ing:rought¦1ive:rove¦1el:elt¦1id:bade¦1et:got¦1y:aid¦1it:sat¦3e:lid¦3d:pent",both:"1:aed,fed,xed,hed¦2:sged,xted,wled,rped,lked,kied,lmed,lped,uped,bted,rbed,rked,wned,rled,mped,fted,mned,mbed,zzed,omed,ened,cked,gned,lted,sked,ued,zed,nted,ered,rted,rmed,ced,sted,rned,ssed,rded,pted,ved,cted¦3:cled,eined,siped,ooned,uked,ymed,jored,ouded,ioted,oaned,lged,asped,iged,mured,oided,eiled,yped,taled,moned,yled,lit,kled,oaked,gled,naled,fled,uined,oared,valled,koned,soned,aided,obed,ibed,meted,nicked,rored,micked,keted,vred,ooped,oaded,rited,aired,auled,filled,ouled,ooded,ceted,tolled,oited,bited,aped,tled,vored,dled,eamed,nsed,rsed,sited,owded,pled,sored,rged,osed,pelled,oured,psed,oated,loned,aimed,illed,eured,tred,ioned,celled,bled,wsed,ooked,oiled,itzed,iked,iased,onged,ased,ailed,uned,umed,ained,auded,nulled,ysed,eged,ised,aged,oined,ated,used,dged,doned¦4:ntied,efited,uaked,caded,fired,roped,halled,roked,himed,culed,tared,lared,tuted,uared,routed,pited,naked,miled,houted,helled,hared,cored,caled,tired,peated,futed,ciled,called,tined,moted,filed,sided,poned,iloted,honed,lleted,huted,ruled,cured,named,preted,vaded,sured,talled,haled,peded,gined,nited,uided,ramed,feited,laked,gured,ctored,unged,pired,cuted,voked,eloped,ralled,rined,coded,icited,vided,uaded,voted,mined,sired,noted,lined,nselled,luted,jured,fided,puted,piled,pared,olored,cided,hoked,enged,tured,geoned,cotted,lamed,uiled,waited,udited,anged,luded,mired,uired,raded¦5:modelled,izzled,eleted,umpeted,ailored,rseded,treated,eduled,ecited,rammed,eceded,atrolled,nitored,basted,twined,itialled,ncited,gnored,ploded,xcited,nrolled,namelled,plored,efeated,redited,ntrolled,nfined,pleted,llided,lcined,eathed,ibuted,lloted,dhered,cceded¦3ad:sled¦2aw:drew¦2ot:hot¦2ke:made¦2ow:hrew,grew¦2ose:hose¦2d:ilt¦2in:egan¦1un:ran¦1ink:hought¦1ick:tuck¦1ike:ruck¦1eak:poke,nuck¦1it:pat¦1o:did¦1ow:new¦1ake:woke¦go:went",rev:"3:rst,hed,hut,cut,set¦4:tbid¦5:dcast,eread,pread,erbid¦ought:uy,eek¦1ied:ny,ly,dy,ry,fy,py,vy,by,ty,cy¦1ung:ling,ting,wing¦1pt:eep¦1ank:rink¦1ore:bear,wear¦1ave:give¦1oze:reeze¦1ound:rind,wind¦1ook:take,hake¦1aw:see¦1old:sell¦1ote:rite¦1ole:teal¦1unk:tink¦1am:wim¦1ay:lie¦1ood:tand¦1eld:hold¦2d:he,ge,re,le,leed,ne,reed,be,ye,lee,pe,we¦2ed:dd,oy,or,ey,gg,rr,us,ew,to¦2ame:ecome,rcome¦2ped:ap¦2ged:ag,og,ug,eg¦2bed:ub,ab,ib,ob¦2lt:neel¦2id:pay¦2ang:pring¦2ove:trive¦2med:um¦2ode:rride¦2at:ysit¦3ted:mit,hat,mat,lat,pot,rot,bat¦3ed:low,end,tow,und,ond,eem,lay,cho,dow,xit,eld,ald,uld,law,lel,eat,oll,ray,ank,fin,oam,out,how,iek,tay,haw,ait,vet,say,cay,bow¦3d:ste,ede,ode,ete,ree,ude,ame,oke,ote,ime,ute,ade¦3red:lur,cur,pur,car¦3ped:hop,rop,uip,rip,lip,tep,top¦3ded:bed,rod,kid¦3ade:orbid¦3led:uel¦3ned:lan,can,kin,pan,tun¦3med:rim,lim¦4ted:quit,llot¦4ed:pear,rrow,rand,lean,mand,anel,pand,reet,link,abel,evel,imit,ceed,ruit,mind,peal,veal,hool,head,pell,well,mell,uell,band,hear,weak¦4led:nnel,qual,ebel,ivel¦4red:nfer,efer,sfer¦4n:sake,trew¦4d:ntee¦4ded:hred¦4ned:rpin¦5ed:light,nceal,right,ndear,arget,hread,eight,rtial,eboot¦5d:edite,nvite¦5ted:egret¦5led:ravel",ex:"2:been,upped¦3:added,aged,aided,aimed,aired,bid,died,dyed,egged,erred,eyed,fit,gassed,hit,lied,owed,pent,pied,tied,used,vied,oiled,outed,banned,barred,bet,canned,cut,dipped,donned,ended,feed,inked,jarred,let,manned,mowed,netted,padded,panned,pitted,popped,potted,put,set,sewn,sowed,tanned,tipped,topped,vowed,weed,bowed,jammed,binned,dimmed,hopped,mopped,nodded,pinned,rigged,sinned,towed,vetted¦4:ached,baked,baled,boned,bored,called,caned,cared,ceded,cited,coded,cored,cubed,cured,dared,dined,edited,exited,faked,fared,filed,fined,fired,fuelled,gamed,gelled,hired,hoped,joked,lined,mined,named,noted,piled,poked,polled,pored,pulled,reaped,roamed,rolled,ruled,seated,shed,sided,timed,tolled,toned,voted,waited,walled,waned,winged,wiped,wired,zoned,yelled,tamed,lubed,roped,faded,mired,caked,honed,banged,culled,heated,raked,welled,banded,beat,cast,cooled,cost,dealt,feared,folded,footed,handed,headed,heard,hurt,knitted,landed,leaked,leapt,linked,meant,minded,molded,neared,needed,peaked,plodded,plotted,pooled,quit,read,rooted,sealed,seeded,seeped,shipped,shunned,skimmed,slammed,sparred,stemmed,stirred,suited,thinned,twinned,swayed,winked,dialed,abutted,blotted,fretted,healed,heeded,peeled,reeled¦5:basted,cheated,equalled,eroded,exiled,focused,opined,pleated,primed,quoted,scouted,shored,sloped,smoked,sniped,spelled,spouted,routed,staked,stored,swelled,tasted,treated,wasted,smelled,dwelled,honored,prided,quelled,eloped,scared,coveted,sweated,breaded,cleared,debuted,deterred,freaked,modeled,pleaded,rebutted,speeded¦6:anchored,defined,endured,impaled,invited,refined,revered,strolled,cringed,recast,thrust,unfolded¦7:authored,combined,competed,conceded,convened,excreted,extruded,redefined,restored,secreted,rescinded,welcomed¦8:expedited,infringed¦9:interfered,intervened,persevered¦10:contravened¦eat:ate¦is:was¦go:went¦are:were¦3d:bent,lent,rent,sent¦3e:bit,fled,hid,lost¦3ed:bled,bred¦2ow:blew,grew¦1uy:bought¦2tch:caught¦1o:did¦1ive:dove,gave¦2aw:drew¦2ed:fed¦2y:flew,laid,paid,said¦1ight:fought¦1et:got¦2ve:had¦1ang:hung¦2ad:led¦2ght:lit¦2ke:made¦2et:met¦1un:ran¦1ise:rose¦1it:sat¦1eek:sought¦1each:taught¦1ake:woke,took¦1eave:wove¦2ise:arose¦1ear:bore,tore,wore¦1ind:bound,found,wound¦2eak:broke¦2ing:brought,wrung¦1ome:came¦2ive:drove¦1ig:dug¦1all:fell¦2el:felt¦4et:forgot¦1old:held¦2ave:left¦1ing:rang,sang¦1ide:rode¦1ink:sank¦1ee:saw¦2ine:shone¦4e:slid¦1ell:sold,told¦4d:spent¦2in:spun¦1in:won"}),ps=gs(os),fs=gs(rs),vs=gs(as),bs=cs(ms),ys=cs(ps),ws=cs(fs),ks=cs(vs),Ps=gs(ns),As=gs(is);var Cs={fromPast:ms,fromPresent:ps,fromGerund:fs,fromParticiple:vs,toPast:bs,toPresent:ys,toGerund:ws,toParticiple:ks,toComparative:Ps,toSuperlative:As,fromComparative:cs(Ps),fromSuperlative:cs(As),adjToNoun:gs(ss)},Ns=["academy","administration","agence","agences","agencies","agency","airlines","airways","army","assoc","associates","association","assurance","authority","autorite","aviation","bank","banque","board","boys","brands","brewery","brotherhood","brothers","bureau","cafe","co","caisse","capital","care","cathedral","center","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","corp","council","crew","data","departement","department","departments","design","development","directorate","division","drilling","education","eglise","electric","electricity","energy","ensemble","enterprise","enterprises","entertainment","estate","etat","faculty","faction","federation","financial","fm","foundation","fund","gas","gazette","girls","government","group","guild","herald","holdings","hospital","hotel","hotels","inc","industries","institut","institute","institutes","insurance","international","interstate","investment","investments","investors","journal","laboratory","labs","llc","ltd","limited","machines","magazine","management","marine","marketing","markets","media","memorial","ministere","ministry","military","mobile","motor","motors","musee","museum","news","observatory","office","oil","optical","orchestra","organization","partners","partnership","petrol","petroleum","pharmacare","pharmaceutical","pharmaceuticals","pizza","plc","police","politburo","polytechnic","post","power","press","productions","quartet","radio","reserve","resources","restaurant","restaurants","savings","school","securities","service","services","societe","subsidiary","society","sons","subcommittee","syndicat","systems","telecommunications","telegraph","television","times","tribunal","tv","union","university","utilities","workers"].reduce(((e,t)=>(e[t]=!0,e)),{}),js=["atoll","basin","bay","beach","bluff","bog","camp","canyon","canyons","cape","cave","caves","cliffs","coast","cove","coves","crater","creek","desert","dune","dunes","escarpment","estuary","falls","fjord","fjords","forest","forests","glacier","gorge","gorges","gulf","gully","highland","hill","hills","inlet","island","islands","isthmus","knoll","lagoon","lake","marsh","marshes","mount","mountain","mountains","narrows","peninsula","plains","plateau","pond","rapids","ravine","reef","reefs","ridge","river","rivers","sandhill","shoal","shore","shoreline","shores","strait","straits","stream","swamp","tombolo","trail","trails","trench","valley","vallies","volcano","waterfall","watershed","wetland","woods","burough","county","district","municipality","prefecture","province","region","reservation","state","territory","borough","metropolis","downtown","uptown","midtown","city","town","township","hamlet","country","kingdom","enclave","neighbourhood","neighborhood","kingdom","ward","zone","airport","amphitheater","arch","arena","auditorium","bar","barn","basilica","battlefield","bridge","building","castle","centre","coliseum","cineplex","complex","dam","farm","field","fort","garden","gardens","gymnasium","hall","house","levee","library","memorial","monument","museum","gallery","palace","pillar","pits","plantation","playhouse","quarry","sportsfield","sportsplex","stadium","terrace","terraces","theater","tower","park","parks","site","raceway","sportsplex","st","street","rd","road","crescent","cr","way","tr","terrace","avenue","ave"].reduce(((e,t)=>(e[t]=!0,e)),{}),xs=[[/([^v])ies$/i,"$1y"],[/(ise)s$/i,"$1"],[/(kn|[^o]l|w)ives$/i,"$1ife"],[/^((?:ca|e|ha|(?:our|them|your)?se|she|wo)l|lea|loa|shea|thie)ves$/i,"$1f"],[/^(dwar|handkerchie|hoo|scar|whar)ves$/i,"$1f"],[/(antenn|formul|nebul|vertebr|vit)ae$/i,"$1a"],[/(octop|vir|radi|nucle|fung|cact|stimul)(i)$/i,"$1us"],[/(buffal|tomat|tornad)(oes)$/i,"$1o"],[/(ause)s$/i,"$1"],[/(ease)s$/i,"$1"],[/(ious)es$/i,"$1"],[/(ouse)s$/i,"$1"],[/(ose)s$/i,"$1"],[/(..ase)s$/i,"$1"],[/(..[aeiu]s)es$/i,"$1"],[/(vert|ind|cort)(ices)$/i,"$1ex"],[/(matr|append)(ices)$/i,"$1ix"],[/([xo]|ch|ss|sh)es$/i,"$1"],[/men$/i,"man"],[/(n)ews$/i,"$1ews"],[/([ti])a$/i,"$1um"],[/([^aeiouy]|qu)ies$/i,"$1y"],[/(s)eries$/i,"$1eries"],[/(m)ovies$/i,"$1ovie"],[/(cris|ax|test)es$/i,"$1is"],[/(alias|status)es$/i,"$1"],[/(ss)$/i,"$1"],[/(ic)s$/i,"$1"],[/s$/i,""]],Is=function(e,t){const{irregularPlurals:n}=t.two;let r=(a=n,Object.keys(a).reduce(((e,t)=>(e[a[t]]=t,e)),{}));var a;if(r.hasOwnProperty(e))return r[e];for(let t=0;t(Hs[t].forEach((n=>e[n]=t)),e)),{});var Ds=Hs,Gs=function(e){let t=e.substring(e.length-3);if(!0===Ds.hasOwnProperty(t))return Ds[t];let n=e.substring(e.length-2);return!0===Ds.hasOwnProperty(n)?Ds[n]:"s"===e.substring(e.length-1)?"PresentTense":null};const Es={are:"be",were:"be",been:"be",is:"be",am:"be",was:"be",be:"be",being:"be"};var Os=function(e,t,n){const{fromPast:r,fromPresent:a,fromGerund:o,fromParticiple:i}=t.two.models;let{prefix:s,verb:l,particle:u}=function(e,t){let n="",r={};t.one&&t.one.prefixes&&(r=t.one.prefixes);let[a,o]=e.split(/ /);return o&&!0===r[a]&&(n=a,a=o,o=""),{prefix:n,verb:a,particle:o}}(e,t),c="";if(n||(n=Gs(e)),Es.hasOwnProperty(e))c=Es[e];else if("Participle"===n)c=ls(l,i);else if("PastTense"===n)c=ls(l,r);else if("PresentTense"===n)c=ls(l,a);else{if("Gerund"!==n)return e;c=ls(l,o)}return u&&(c+=" "+u),s&&(c=s+" "+c),c},Fs=function(e,t){const{toPast:n,toPresent:r,toGerund:a,toParticiple:o}=t.two.models;if("be"===e)return{Infinitive:e,Gerund:"being",PastTense:"was",PresentTense:"is"};let[i,s]=(e=>/ /.test(e)?e.split(/ /):[e,""])(e),l={Infinitive:i,PastTense:ls(i,n),PresentTense:ls(i,r),Gerund:ls(i,a),FutureTense:"will "+i},u=ls(i,o);if(u!==e&&u!==l.PastTense){let n=t.one.lexicon||{};"Participle"!==n[u]&&"Adjective"!==n[u]||("play"===e&&(u="played"),l.Participle=u)}return s&&Object.keys(l).forEach((e=>{l[e]+=" "+s})),l},Vs={toInfinitive:Os,conjugate:Fs,all:function(e,t){let n=Fs(e,t);return delete n.FutureTense,Object.values(n).filter((e=>e))}};const zs=function(e,t){const n=t.two.models.toSuperlative;return ls(e,n)},$s=function(e,t){const n=t.two.models.toComparative;return ls(e,n)};var Ls=function(e="",t=[]){const n=e.length;for(let r=n<=6?n-1:6;r>=1;r-=1){let a=e.substring(n-r,e.length);if(!0===t[a.length].hasOwnProperty(a))return e.slice(0,n-r)+t[a.length][a]}return null};const Ss="ically",Ms=new Set(["analyt"+Ss,"chem"+Ss,"class"+Ss,"clin"+Ss,"crit"+Ss,"ecolog"+Ss,"electr"+Ss,"empir"+Ss,"frant"+Ss,"grammat"+Ss,"ident"+Ss,"ideolog"+Ss,"log"+Ss,"mag"+Ss,"mathemat"+Ss,"mechan"+Ss,"med"+Ss,"method"+Ss,"method"+Ss,"mus"+Ss,"phys"+Ss,"phys"+Ss,"polit"+Ss,"pract"+Ss,"rad"+Ss,"satir"+Ss,"statist"+Ss,"techn"+Ss,"technolog"+Ss,"theoret"+Ss,"typ"+Ss,"vert"+Ss,"whims"+Ss]),Bs=[null,{},{ly:""},{ily:"y",bly:"ble",ply:"ple"},{ally:"al",rply:"rp"},{ually:"ual",ially:"ial",cally:"cal",eally:"eal",rally:"ral",nally:"nal",mally:"mal",eeply:"eep",eaply:"eap"},{ically:"ic"}],Js=new Set(["early","only","hourly","daily","weekly","monthly","yearly","mostly","duly","unduly","especially","undoubtedly","conversely","namely","exceedingly","presumably","accordingly","overly","best","latter","little","long","low"]),Ws={wholly:"whole",fully:"full",truly:"true",gently:"gentle",singly:"single",customarily:"customary",idly:"idle",publically:"public",quickly:"quick",superbly:"superb",cynically:"cynical",well:"good"},qs=[null,{y:"ily"},{ly:"ly",ic:"ically"},{ial:"ially",ual:"ually",tle:"tly",ble:"bly",ple:"ply",ary:"arily"},{},{},{}],Ks={cool:"cooly",whole:"wholly",full:"fully",good:"well",idle:"idly",public:"publicly",single:"singly",special:"especially"};var Us=function(e){if(Ks.hasOwnProperty(e))return Ks[e];let t=Ls(e,qs);return t||(t=e+"ly"),t},Rs={toSuperlative:zs,toComparative:$s,toAdverb:Us,toNoun:function(e,t){const n=t.two.models.adjToNoun;return ls(e,n)},fromAdverb:function(e){return e.endsWith("ly")?Ms.has(e)?e.replace(/ically/,"ical"):Js.has(e)?null:Ws.hasOwnProperty(e)?Ws[e]:Ls(e,Bs)||e:null},fromSuperlative:function(e,t){const n=t.two.models.fromSuperlative;return ls(e,n)},fromComparative:function(e,t){const n=t.two.models.fromComparative;return ls(e,n)},all:function(e,t){let n=[e];return n.push(zs(e,t)),n.push($s(e,t)),n.push(Us(e)),n=n.filter((e=>e)),n=new Set(n),Array.from(n)}},Qs={noun:Ts,verb:Vs,adjective:Rs},_s={Singular:(e,t,n,r)=>{let a=r.one.lexicon,o=n.two.transform.noun.toPlural(e,r);a[o]||(t[o]=t[o]||"Plural")},Actor:(e,t,n,r)=>{let a=r.one.lexicon,o=n.two.transform.noun.toPlural(e,r);a[o]||(t[o]=t[o]||["Plural","Actor"])},Comparable:(e,t,n,r)=>{let a=r.one.lexicon,{toSuperlative:o,toComparative:i}=n.two.transform.adjective,s=o(e,r);a[s]||(t[s]=t[s]||"Superlative");let l=i(e,r);a[l]||(t[l]=t[l]||"Comparative"),t[e]="Adjective"},Demonym:(e,t,n,r)=>{let a=n.two.transform.noun.toPlural(e,r);t[a]=t[a]||["Demonym","Plural"]},Infinitive:(e,t,n,r)=>{let a=r.one.lexicon,o=n.two.transform.verb.conjugate(e,r);Object.entries(o).forEach((e=>{a[e[1]]||t[e[1]]||(t[e[1]]=e[0])}))},PhrasalVerb:(e,t,n,r)=>{let a=r.one.lexicon;t[e]=["PhrasalVerb","Infinitive"];let o=r.one._multiCache,[i,s]=e.split(" ");a[i]||(t[i]=t[i]||"Infinitive");let l=n.two.transform.verb.conjugate(i,r);delete l.FutureTense,Object.entries(l).forEach((e=>{if("Actor"===e[0]||""===e[1])return;t[e[1]]||a[e[1]]||(t[e[1]]=e[0]),o[e[1]]=!0;let n=e[1]+" "+s;t[n]=t[n]||[e[0],"PhrasalVerb"]}))},Multiple:(e,t)=>{t[e]=["Multiple","Cardinal"],t[e+"th"]=["Multiple","Ordinal"],t[e+"ths"]=["Multiple","Fraction"]},Cardinal:(e,t)=>{t[e]=["TextValue","Cardinal"]},Ordinal:(e,t)=>{t[e]=["TextValue","Ordinal"],t[e+"s"]=["TextValue","Fraction"]},Place:(e,t)=>{t[e]=["Place","ProperNoun"]},Region:(e,t)=>{t[e]=["Region","ProperNoun"]}},Xs=function(e,t){const{methods:n,model:r}=t;let a={},o={};return Object.keys(e).forEach((t=>{let i=e[t],s=(t=(t=t.toLowerCase().trim()).replace(/'s\b/,"")).split(/ /);s.length>1&&(o[s[0]]=!0),!0===_s.hasOwnProperty(i)&&_s[i](t,a,n,r),a[t]=a[t]||i})),delete a[""],delete a.null,delete a[" "],{lex:a,_multi:o}},Zs=function(e){const t=/[,:;]/;let n=[];return e.forEach((e=>{let r=0;e.forEach(((a,o)=>{t.test(a.post)&&function(e,t){const n=/^[0-9]+$/;let r=e[t];if(!r)return!1;const a=new Set(["may","april","august","jan"]);if("like"===r.normal||a.has(r.normal))return!1;if(r.tags.has("Place")||r.tags.has("Date"))return!1;if(e[t-1]){let n=e[t-1];if(n.tags.has("Date")||a.has(n.normal))return!1;if(n.tags.has("Adjective")||r.tags.has("Adjective"))return!1}let o=r.normal;return 1!==o.length&&2!==o.length&&4!==o.length||!n.test(o)}(e,o+1)&&(n.push(e.slice(r,o+1)),r=o+1)})),re.endsWith(t))):"s"===t&&!tl.find((t=>e.endsWith(t)))},rl={two:{quickSplit:Zs,expandLexicon:Xs,transform:Qs,looksPlural:nl}},al=function(e){const{irregularPlurals:t}=e.two,{lexicon:n}=e.one;return Object.entries(t).forEach((e=>{n[e[0]]=n[e[0]]||"Singular",n[e[1]]=n[e[1]]||"Plural"})),e};let ol={one:{lexicon:{}},two:{models:Cs}};const il={"Actor|Verb":"Actor","Adj|Gerund":"Adjective","Adj|Noun":"Adjective","Adj|Past":"Adjective","Adj|Present":"Adjective","Noun|Verb":"Singular","Noun|Gerund":"Gerund","Person|Noun":"Noun","Person|Date":"Month","Person|Verb":"FirstName","Person|Place":"Person","Person|Adj":"Comparative","Plural|Verb":"Plural","Unit|Noun":"Noun"},sl=function(e,t){const n={model:t,methods:rl};let{lex:r,_multi:a}=rl.two.expandLexicon(e,n);return Object.assign(t.one.lexicon,r),Object.assign(t.one._multiCache,a),t},ll=function(e,t,n){let r=Fs(e,ol);t[r.PastTense]=t[r.PastTense]||"PastTense",t[r.Gerund]=t[r.Gerund]||"Gerund",!0===n&&(t[r.PresentTense]=t[r.PresentTense]||"PresentTense")},ul=function(e,t,n){let r=zs(e,n);t[r]=t[r]||"Superlative";let a=$s(e,n);t[a]=t[a]||"Comparative"},cl=function(e,t){let n={};const r=t.one.lexicon;return Object.keys(e).forEach((a=>{const o=e[a];if(n[a]=il[o],"Noun|Verb"!==o&&"Person|Verb"!==o&&"Actor|Verb"!==o||ll(a,r,!1),"Adj|Present"===o&&(ll(a,r,!0),ul(a,r,t)),"Person|Adj"===o&&ul(a,r,t),"Adj|Gerund"===o||"Noun|Gerund"===o){let e=Os(a,ol,"Gerund");r[e]||(n[e]="Infinitive")}if("Noun|Gerund"!==o&&"Adj|Noun"!==o&&"Person|Noun"!==o||function(e,t,n){let r=Fo(e,n);t[r]=t[r]||"Plural"}(a,r,t),"Adj|Past"===o){let e=Os(a,ol,"PastTense");r[e]||(n[e]="Infinitive")}})),t=sl(n,t)};var hl=function(e){return e=function(e,t){return Object.keys(e).forEach((n=>{"Uncountable"===e[n]&&(t.two.uncountable[n]=!0,e[n]="Uncountable")})),t}((e=sl(e.one.lexicon,e)).one.lexicon,e),e=cl(e.two.switches,e),e=al(e)};let dl={one:{_multiCache:{},lexicon:zo},two:{irregularPlurals:Po,models:Cs,suffixPatterns:Vi,prefixPatterns:Si,endsWith:Zi,neighbours:ts,regexNormal:[[/^[\w.]+@[\w.]+\.[a-z]{2,3}$/,"Email"],[/^(https?:\/\/|www\.)+\w+\.[a-z]{2,3}/,"Url","http.."],[/^[a-z0-9./].+\.(com|net|gov|org|ly|edu|info|biz|dev|ru|jp|de|in|uk|br|io|ai)/,"Url",".com"],[/^[PMCE]ST$/,"Timezone","EST"],[/^ma?c'.*/,"LastName","mc'neil"],[/^o'[drlkn].*/,"LastName","o'connor"],[/^ma?cd[aeiou]/,"LastName","mcdonald"],[/^(lol)+[sz]$/,"Expression","lol"],[/^wo{2,}a*h?$/,"Expression","wooah"],[/^(hee?){2,}h?$/,"Expression","hehe"],[/^(un|de|re)\\-[a-z\u00C0-\u00FF]{2}/,"Verb","un-vite"],[/^(m|k|cm|km)\/(s|h|hr)$/,"Unit","5 k/m"],[/^(ug|ng|mg)\/(l|m3|ft3)$/,"Unit","ug/L"]],regexText:[[/^#[\p{Number}_]*\p{Letter}/u,"HashTag"],[/^@\w{2,}$/,"AtMention"],[/^([A-Z]\.){2}[A-Z]?/i,["Acronym","Noun"],"F.B.I"],[/.{3}[lkmnp]in['‘’‛‵′`´]$/,"Gerund","chillin'"],[/.{4}s['‘’‛‵′`´]$/,"Possessive","flanders'"],[/^[\p{Emoji_Presentation}\p{Extended_Pictographic}]/u,"Emoji","emoji-class"]],regexNumbers:[[/^@1?[0-9](am|pm)$/i,"Time","3pm"],[/^@1?[0-9]:[0-9]{2}(am|pm)?$/i,"Time","3:30pm"],[/^'[0-9]{2}$/,"Year"],[/^[012]?[0-9](:[0-5][0-9])(:[0-5][0-9])$/,"Time","3:12:31"],[/^[012]?[0-9](:[0-5][0-9])?(:[0-5][0-9])? ?(am|pm)$/i,"Time","1:12pm"],[/^[012]?[0-9](:[0-5][0-9])(:[0-5][0-9])? ?(am|pm)?$/i,"Time","1:12:31pm"],[/^[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}/i,"Date","iso-date"],[/^[0-9]{1,4}-[0-9]{1,2}-[0-9]{1,4}$/,"Date","iso-dash"],[/^[0-9]{1,4}\/[0-9]{1,2}\/([0-9]{4}|[0-9]{2})$/,"Date","iso-slash"],[/^[0-9]{1,4}\.[0-9]{1,2}\.[0-9]{1,4}$/,"Date","iso-dot"],[/^[0-9]{1,4}-[a-z]{2,9}-[0-9]{1,4}$/i,"Date","12-dec-2019"],[/^utc ?[+-]?[0-9]+$/,"Timezone","utc-9"],[/^(gmt|utc)[+-][0-9]{1,2}$/i,"Timezone","gmt-3"],[/^[0-9]{3}-[0-9]{4}$/,"PhoneNumber","421-0029"],[/^(\+?[0-9][ -])?[0-9]{3}[ -]?[0-9]{3}-[0-9]{4}$/,"PhoneNumber","1-800-"],[/^[-+]?\p{Currency_Symbol}[-+]?[0-9]+(,[0-9]{3})*(\.[0-9]+)?([kmb]|bn)?\+?$/u,["Money","Value"],"$5.30"],[/^[-+]?[0-9]+(,[0-9]{3})*(\.[0-9]+)?\p{Currency_Symbol}\+?$/u,["Money","Value"],"5.30£"],[/^[-+]?[$£]?[0-9]([0-9,.])+(usd|eur|jpy|gbp|cad|aud|chf|cny|hkd|nzd|kr|rub)$/i,["Money","Value"],"$400usd"],[/^[-+]?[0-9]+(,[0-9]{3})*(\.[0-9]+)?\+?$/,["Cardinal","NumericValue"],"5,999"],[/^[-+]?[0-9]+(,[0-9]{3})*(\.[0-9]+)?(st|nd|rd|r?th)$/,["Ordinal","NumericValue"],"53rd"],[/^\.[0-9]+\+?$/,["Cardinal","NumericValue"],".73th"],[/^[-+]?[0-9]+(,[0-9]{3})*(\.[0-9]+)?%\+?$/,["Percent","Cardinal","NumericValue"],"-4%"],[/^\.[0-9]+%$/,["Percent","Cardinal","NumericValue"],".3%"],[/^[0-9]{1,4}\/[0-9]{1,4}(st|nd|rd|th)?s?$/,["Fraction","NumericValue"],"2/3rds"],[/^[0-9.]{1,3}[a-z]{0,2}[-–—][0-9]{1,3}[a-z]{0,2}$/,["Value","NumberRange"],"3-4"],[/^[0-9]{1,2}(:[0-9][0-9])?(am|pm)? ?[-–—] ?[0-9]{1,2}(:[0-9][0-9])?(am|pm)$/,["Time","NumberRange"],"3-4pm"],[/^[0-9.]+([a-z°]{1,4})$/,"NumericValue","9km"]],switches:$o,clues:ki,uncountable:{},orgWords:Ns,placeWords:js}};dl=hl(dl);var gl=dl,ml=function(e,t,n,r){const a=r.methods.one.setTag;if(0===t&&e.length>=3){const t=/:/;if(e[0].post.match(t)){let t=e[1];if(t.tags.has("Value")||t.tags.has("Email")||t.tags.has("PhoneNumber"))return;a([e[0]],"Expression",r,null,"2-punct-colon''")}}},pl=function(e,t,n,r){const a=r.methods.one.setTag;"-"===e[t].post&&e[t+1]&&a([e[t],e[t+1]],"Hyphenated",r,null,"1-punct-hyphen''")};const fl=/^(under|over|mis|re|un|dis|semi)-?/;var vl=function(e,t,n){const r=n.two.switches;let a=e[t];if(r.hasOwnProperty(a.normal))a.switch=r[a.normal];else if(fl.test(a.normal)){let e=a.normal.replace(fl,"");e.length>3&&r.hasOwnProperty(e)&&(a.switch=r[e])}},bl=function(e,t,n){if(!t||0===t.length)return;const r="undefined"!=typeof process&&process.env?process.env:self.env||{};r&&r.DEBUG_TAGS&&((e,t,n="")=>{let r=e.text||"["+e.implicit+"]";var a;"string"!=typeof t&&t.length>2&&(t=t.slice(0,2).join(", #")+" +"),t="string"!=typeof t?t.join(", #"):t,console.log(` ${(a=r,""+a+"").padEnd(24)} → #${t.padEnd(22)} ${(e=>""+e+"")(n)}`)})(e,t,n),e.tags=e.tags||new Set,"string"==typeof t?e.tags.add(t):t.forEach((t=>e.tags.add(t)))};const yl=["Acronym","Abbreviation","ProperNoun","Uncountable","Possessive","Pronoun","Activity","Honorific","Month"];var wl=function(e,t,n){let r=e[t],a=Array.from(r.tags);for(let e=0;ee.tags.has(t)))||(nl(e.normal)?bl(e,"Plural","3-plural-guess"):bl(e,"Singular","3-singular-guess"))}(r),function(e){let t=e.tags;if(t.has("Verb")&&1===t.size){let t=Gs(e.normal);t&&bl(e,t,"3-verb-tense-guess")}}(r)};const kl=/^\p{Lu}[\p{Ll}'’]/u,Pl=/[0-9]/,Al=["Date","Month","WeekDay","Unit","Expression"],Cl=/[IVX]/,Nl=/^[IVXLCDM]{2,}$/,jl=/^M{0,4}(CM|CD|D?C{0,3})(XC|XL|L?X{0,3})(IX|IV|V?I{0,3})$/,xl={li:!0,dc:!0,md:!0,dm:!0,ml:!0};var Il=function(e,t,n){let r=e[t];r.index=r.index||[0,0];let a=r.index[1],o=r.text||"";return 0!==a&&!0===kl.test(o)&&!1===Pl.test(o)?Al.find((e=>r.tags.has(e)))||r.pre.match(/["']$/)||"the"===r.normal?null:(wl(e,t,n),r.tags.has("Noun")||r.tags.clear(),bl(r,"ProperNoun","2-titlecase"),!0):o.length>=2&&Nl.test(o)&&Cl.test(o)&&jl.test(o)&&!xl[r.normal]?(bl(r,"RomanNumeral","2-xvii"),!0):null};const Tl=function(e="",t=[]){const n=e.length;let r=7;n<=r&&(r=n-1);for(let a=r;a>1;a-=1){let r=e.substring(n-a,n);if(!0===t[r.length].hasOwnProperty(r))return t[r.length][r]}return null};var Hl=function(e,t,n){let r=e[t];if(0===r.tags.size){let e=Tl(r.normal,n.two.suffixPatterns);if(null!==e)return bl(r,e,"2-suffix"),r.confidence=.7,!0;if(r.implicit&&(e=Tl(r.implicit,n.two.suffixPatterns),null!==e))return bl(r,e,"2-implicit-suffix"),r.confidence=.7,!0}return null};const Dl=/['‘’‛‵′`´]/,Gl=function(e,t){for(let n=0;nn-3&&(r=n-3);for(let n=r;n>2;n-=1){let r=e.substring(0,n);if(!0===t[r.length].hasOwnProperty(r))return t[r.length][r]}return null}(r.normal,n.two.prefixPatterns);if(null!==e)return bl(r,e,"2-prefix"),r.confidence=.5,!0}return null};const Fl=new Set(["in","on","by","until","for","to","during","throughout","through","within","before","after","of","this","next","last","circa","around","post","pre","budget","classic","plan","may"]),Vl=function(e){if(!e)return!1;let t=e.normal||e.implicit;return!!Fl.has(t)||!!(e.tags.has("Date")||e.tags.has("Month")||e.tags.has("WeekDay")||e.tags.has("Year"))||!!e.tags.has("ProperNoun")},zl=function(e){return!(!e||!e.tags.has("Ordinal")&&!(e.tags.has("Cardinal")&&e.normal.length<3)&&"is"!==e.normal&&"was"!==e.normal)},$l=function(e){return e&&(e.tags.has("Date")||e.tags.has("Month")||e.tags.has("WeekDay")||e.tags.has("Year"))};var Ll=function(e,t){const n=e[t];if(n.tags.has("NumericValue")&&n.tags.has("Cardinal")&&4===n.normal.length){let r=Number(n.normal);if(r&&!isNaN(r)&&r>1400&&r<2100){let a=e[t-1],o=e[t+1];if(Vl(a)||Vl(o))return bl(n,"Year","2-tagYear");if(r>=1920&&r<2025){if(zl(a)||zl(o))return bl(n,"Year","2-tagYear-close");if($l(e[t-2])||$l(e[t+2]))return bl(n,"Year","2-tagYear-far");if(a&&(a.tags.has("Determiner")||a.tags.has("Possessive"))&&o&&o.tags.has("Noun")&&!o.tags.has("Plural"))return bl(n,"Year","2-tagYear-noun")}}}return null},Sl=function(e,t,n,r){const a=r.methods.one.setTag,o=e[t],i=["PastTense","PresentTense","Auxiliary","Modal","Particle"];o.tags.has("Verb")&&(i.find((e=>o.tags.has(e)))||a([o],"Infinitive",r,null,"2-verb-type''"))};const Ml=/^[A-Z]('s|,)?$/,Bl=/^[A-Z-]+$/,Jl=/^[A-Z]+s$/,Wl=/([A-Z]\.)+[A-Z]?,?$/,ql=/[A-Z]{2,}('s|,)?$/,Kl=/([a-z]\.)+[a-z]\.?$/,Ul={I:!0,A:!0},Rl={la:!0,ny:!0,us:!0,dc:!0,gb:!0};var Ql=function(e,t,n){let r=e[t];return r.tags.has("RomanNumeral")||r.tags.has("Acronym")?null:function(e,t){let n=e.text;if(!1===Bl.test(n)){if(!(n.length>3&&!0===Jl.test(n)))return!1;n=n.replace(/s$/,"")}return!(n.length>5||Ul.hasOwnProperty(n)||t.one.lexicon.hasOwnProperty(e.normal)||!0!==Wl.test(n)&&!0!==Kl.test(n)&&!0!==Ml.test(n)&&!0!==ql.test(n))}(r,n)?(r.tags.clear(),bl(r,["Acronym","Noun"],"3-no-period-acronym"),!0===Rl[r.normal]&&bl(r,"Place","3-place-acronym"),!0===Jl.test(r.text)&&bl(r,"Plural","3-plural-acronym"),!0):!Ul.hasOwnProperty(r.text)&&Ml.test(r.text)?(r.tags.clear(),bl(r,["Acronym","Noun"],"3-one-letter-acronym"),!0):r.tags.has("Organization")&&r.text.length<=3?(bl(r,"Acronym","3-org-acronym"),!0):r.tags.has("Organization")&&Bl.test(r.text)&&r.text.length<=6?(bl(r,"Acronym","3-titlecase-acronym"),!0):null};const _l=function(e,t){if(!e)return null;let n=t.find((t=>e.normal===t[0]));return n?n[1]:null},Xl=function(e,t){if(!e)return null;let n=t.find((t=>e.tags.has(t[0])));return n?n[1]:null};var Zl=function(e,t,n){const{leftTags:r,leftWords:a,rightWords:o,rightTags:i}=n.two.neighbours;let s=e[t];if(0===s.tags.size){let l=null;if(l=l||_l(e[t-1],a),l=l||_l(e[t+1],o),l=l||Xl(e[t-1],r),l=l||Xl(e[t+1],i),l)return bl(s,l,"3-[neighbour]"),wl(e,t,n),e[t].confidence=.2,!0}return null};const Yl=function(e,t,n){return!!e&&!e.tags.has("FirstName")&&!e.tags.has("Place")&&(!!(e.tags.has("ProperNoun")||e.tags.has("Organization")||e.tags.has("Acronym"))||!(n||(r=e.text,!/^\p{Lu}[\p{Ll}'’]/u.test(r)))&&(0!==t||e.tags.has("Singular")));var r};var eu=function(e,t,n,r){const a=n.model.two.orgWords,o=n.methods.one.setTag;let i=e[t];if(!0===a[i.machine||i.normal]&&Yl(e[t-1],t-1,r)){o([e[t]],"Organization",n,null,"3-[org-word]");for(let a=t;a>=0&&Yl(e[a],a,r);a-=1)o([e[a]],"Organization",n,null,"3-[org-word]")}return null};const tu=/'s$/,nu=new Set(["athletic","city","community","eastern","federal","financial","great","historic","historical","local","memorial","municipal","national","northern","provincial","southern","state","western"]),ru=new Set(["center","centre","way","range","bar","bridge","field","pit"]),au=function(e,t,n){if(!e)return!1;let r=e.tags;return!(r.has("Organization")||r.has("Possessive")||tu.test(e.normal))&&(!(!r.has("ProperNoun")&&!r.has("Place"))||!(n||(a=e.text,!/^\p{Lu}[\p{Ll}'’]/u.test(a)))&&(0!==t||r.has("Singular")));var a};var ou=function(e,t,n,r){const a=n.model.two.placeWords,o=n.methods.one.setTag;let i=e[t],s=i.machine||i.normal;if(!0===a[s]){for(let a=t-1;a>=0;a-=1)if(!nu.has(e[a].normal)){if(!au(e[a],a,r))break;o(e.slice(a,t+1),"Place",n,null,"3-[place-of-foo]")}if(ru.has(s))return!1;for(let a=t+1;ae[t].tags.has("ProperNoun")&&su.test(e[t].text)?"Noun":null,uu=(e,t,n)=>0!==t||e[1]?null:n,cu={"Adj|Gerund":(e,t)=>lu(e,t),"Adj|Noun":(e,t)=>lu(e,t)||function(e,t){return!e[t+1]&&e[t-1]&&e[t-1].tags.has("Determiner")?"Noun":null}(e,t),"Actor|Verb":(e,t)=>lu(e,t),"Adj|Past":(e,t)=>lu(e,t),"Adj|Present":(e,t)=>lu(e,t),"Noun|Gerund":(e,t)=>lu(e,t),"Noun|Verb":(e,t)=>t>0&&lu(e,t)||uu(e,t,"Infinitive"),"Plural|Verb":(e,t)=>lu(e,t)||uu(e,t,"PresentTense")||function(e,t,n){return 0===t&&e.length>3?n:null}(e,t,"Plural"),"Person|Noun":(e,t)=>lu(e,t),"Person|Verb":(e,t)=>0!==t?lu(e,t):null,"Person|Adj":(e,t)=>0===t&&e.length>1||lu(e,t)?"Person":null};var hu=cu;const du="undefined"!=typeof process&&process.env?process.env:self.env||{},gu=/^(under|over|mis|re|un|dis|semi)-?/,mu=(e,t)=>{if(!e||!t)return null;let n=e.normal||e.implicit,r=null;return t.hasOwnProperty(n)&&(r=t[n]),r&&du.DEBUG_TAGS&&console.log(`\n  ↓ - '${n}' `),r},pu=(e,t={},n)=>{if(!e||!t)return null;let r=Array.from(e.tags).sort(((e,t)=>(n[e]?n[e].parents.length:0)>(n[t]?n[t].parents.length:0)?-1:1)),a=r.find((e=>t[e]));return a&&du.DEBUG_TAGS&&console.log(`  ↓ - '${e.normal||e.implicit}' (#${a}) `),a=t[a],a};var fu=function(e,t,n){const r=n.model,a=n.methods.one.setTag,{switches:o,clues:i}=r.two,s=e[t];let l=s.normal||s.implicit||"";if(gu.test(l)&&!o[l]&&(l=l.replace(gu,"")),s.switch){let o=s.switch;if(s.tags.has("Acronym")||s.tags.has("PhrasalVerb"))return;let u=function(e,t,n,r){if(!n)return null;const a=r.one.tagSet;let o=mu(e[t+1],n.afterWords);return o=o||mu(e[t-1],n.beforeWords),o=o||pu(e[t-1],n.beforeTags,a),o=o||pu(e[t+1],n.afterTags,a),o}(e,t,i[o],r);hu[o]&&(u=hu[o](e,t)||u),u?(a([s],u,n,null,`3-[switch] (${o})`),wl(e,t,r)):du.DEBUG_TAGS&&console.log(`\n -> X - '${l}' : (${o}) `)}};const vu={there:!0,this:!0,it:!0,him:!0,her:!0,us:!0};var bu=function(e,t){const n=t.methods.one.setTag,r=t.model.one._multiCache||{};let a=e[0];if(("Noun|Verb"===a.switch||a.tags.has("Infinitive"))&&e.length>=2){if(e.length<4&&!vu[e[1].normal])return;if(!a.tags.has("PhrasalVerb")&&r.hasOwnProperty(a.normal))return;(e[1].tags.has("Noun")||e[1].tags.has("Determiner"))&&(e.slice(1,3).some((e=>e.tags.has("Verb")))&&!a.tags.has("#PhrasalVerb")||n([a],"Imperative",t,null,"3-[imperative]"))}};const yu=function(e){if(e.filter((e=>!e.tags.has("ProperNoun"))).length<=3)return!1;const t=/^[a-z]/;return e.every((e=>!t.test(e.text)))},wu=function(e,t,n,r){for(let a=0;a{ml(e,0,t,n)}))}(a,n,r);let o=t.two.quickSplit(a);for(let e=0;e{let t=e.machine||e.normal||e.text;return t=t.replace(/'s$/,""),t},Plural:(e,t)=>{let n=e.machine||e.normal||e.text;return t.methods.two.transform.noun.toSingular(n,t.model)},Copula:()=>"is",PastTense:(e,t)=>{let n=e.machine||e.normal||e.text;return t.methods.two.transform.verb.toInfinitive(n,t.model,"PastTense")},Gerund:(e,t)=>{let n=e.machine||e.normal||e.text;return t.methods.two.transform.verb.toInfinitive(n,t.model,"Gerund")},PresentTense:(e,t)=>{let n=e.machine||e.normal||e.text;return e.tags.has("Infinitive")?n:t.methods.two.transform.verb.toInfinitive(n,t.model,"PresentTense")},Comparative:(e,t)=>{let n=e.machine||e.normal||e.text;return t.methods.two.transform.adjective.fromComparative(n,t.model)},Superlative:(e,t)=>{let n=e.machine||e.normal||e.text;return t.methods.two.transform.adjective.fromSuperlative(n,t.model)},Adverb:(e,t)=>{const{fromAdverb:n}=t.methods.two.transform.adjective;return n(e.machine||e.normal||e.text)}};var Cu=function(e){const t=e.world,n=Object.keys(Au);e.docs.forEach((e=>{for(let r=0;r{e.forEach((e=>{e.penn=function(e){if(e.tags.has("ProperNoun")&&e.tags.has("Plural"))return"NNPS";if(e.tags.has("Possessive")&&e.tags.has("Pronoun"))return"PRP$";if("there"===e.normal)return"EX";if("to"===e.normal)return"TO";let t=e.tagRank||[];for(let e=0;e{e.implicit=e.normal,e.text="",e.normal=""}));for(let e=0;e{let t=Vu.test(e[0].text);e.forEach(((t,n)=>{t.text=t.implicit||"",delete t.implicit,ne.toUpperCase()))}(e[0].text))})),this.compute("normal"),this}}e.prototype.contractions=function(){let e=this.match("@hasContraction+");return new Contractions(this.document,e.pointer)},e.prototype.contract=Fu},$u=function(e,t,n){let[r,a]=t;n&&0!==n.length&&(n=n.map(((e,t)=>(e.implicit=e.text,e.machine=e.text,e.pre="",e.post="",e.text="",e.normal="",e.index=[r,a+t],e))),n[0]&&(n[0].pre=e[r][a].pre,n[n.length-1].post=e[r][a].post,n[0].text=e[r][a].text,n[0].normal=e[r][a].normal),e[r].splice(a,1,...n))};const Lu=/'/;var Su=function(e,t){let n=e[t].normal.split(Lu)[0];if(((e,t)=>e.slice(t+1,t+3).some((e=>e.tags.has("PastTense"))))(e,t))return[n,"has"];if("let"===n)return[n,"us"];if("there"===n){let r=e[t+1];if(r&&r.tags.has("Plural"))return[n,"are"]}return[n,"is"]};const Mu=/'/;var Bu=function(e,t){let n=e[t].normal.split(Mu)[0];return"how"===n||"what"===n?[n,"did"]:!0===((e,t)=>!(!e[t+1]||"better"!=e[t+1].normal)||e.slice(t+1,t+3).some((e=>e.tags.has("PastTense"))))(e,t)?[n,"had"]:[n,"would"]},Ju=function(e,t){if("ain't"===e[t].normal||"aint"===e[t].normal){if(e[t+1]&&"never"===e[t+1].normal)return["have"];let n=function(e,t){for(let n=t-1;n>=0;n-=1)if(e[n].tags.has("Noun")||e[n].tags.has("Pronoun")||e[n].tags.has("Plural")||e[n].tags.has("Singular"))return e[n];return null}(e,t);if(n){if("we"===n.normal||"they"===n.normal)return["are","not"];if("i"===n.normal)return["am","not"];if(n.tags&&n.tags.has("Plural"))return["are","not"]}return["is","not"]}return[e[t].normal.replace(/n't/,""),"not"]};const Wu={that:!0,there:!0,let:!0,here:!0,everywhere:!0},qu={in:!0,by:!0,for:!0};var Ku=(e,t)=>{let n=e[t];if(Wu.hasOwnProperty(n.machine||n.normal))return!1;if(n.tags.has("Possessive"))return!0;if(n.tags.has("QuestionWord"))return!1;if("he's"===n.normal||"she's"===n.normal)return!1;let r=e[t+1];if(!r)return!0;if("it's"===n.normal)return!!r.tags.has("#Noun");if(r.tags.has("Verb"))return!!r.tags.has("Infinitive")||!!r.tags.has("PresentTense");if(r.tags.has("Noun")){let e=r.machine||r.normal;return!("here"===e||"there"===e||"everywhere"===e||r.tags.has("Possessive")||r.tags.has("ProperNoun")&&!n.tags.has("ProperNoun"))}if(e[t-1]&&!0===qu[e[t-1].normal])return!0;let a=e[t+2];return!(!a||!a.tags.has("Noun")||a.tags.has("Pronoun"))||(r.tags.has("Adjective")||r.tags.has("Adverb")||r.tags.has("Verb"),!1)};const Uu=/'/,Ru=function(e,t,n,r){let a=t.update();a.document=[e];let o=n+r;n>0&&(n-=1),e[o]&&(o+=1),a.ptrs=[[0,n,o]],a.compute(["lexicon","preTagger"]),function(e){e.forEach(((e,t)=>{e.index&&(e.index[1]=t)}))}(e)},Qu={d:(e,t)=>Bu(e,t),t:(e,t)=>Ju(e,t),s:(e,t,n)=>Ku(e,t)?n.methods.one.setTag([e[t]],"Possessive",n,null,"2-contraction"):Su(e,t)},_u=function(e,t){let n=t.fromText(e.join(" "));return n.compute("id"),n.docs[0]};var Xu={contractionTwo:e=>{let{world:t,document:n}=e;n.forEach(((r,a)=>{for(let o=r.length-1;o>=0;o-=1){if(r[o].implicit)return;let i=null;!0===Uu.test(r[o].normal)&&(i=r[o].normal.split(Uu)[1]);let s=null;Qu.hasOwnProperty(i)&&(s=Qu[i](r,o,t)),s&&(s=_u(s,e),$u(n,[a,o],s),Ru(n[a],e,o,s.length))}}))}},Zu={compute:Xu,api:zu,hooks:["contractionTwo"]};const Yu="(hard|fast|late|early|high|right|deep|close|direct)",ec="(i|we|they)";let tc=[].concat([{match:"(got|were|was|is|are|am) (#PastTense|#Participle)",tag:"Passive",reason:"got-walked"},{match:"(was|were|is|are|am) being (#PastTense|#Participle)",tag:"Passive",reason:"was-being"},{match:"(had|have|has) been (#PastTense|#Participle)",tag:"Passive",reason:"had-been"},{match:"will be being? (#PastTense|#Participle)",tag:"Passive",reason:"will-be-cleaned"},{match:"#Noun [(#PastTense|#Participle)] by (the|a) #Noun",group:0,tag:"Passive",reason:"suffered-by"}],[{match:"[(all|both)] #Determiner #Noun",group:0,tag:"Noun",reason:"all-noun"},{match:"#Copula [(just|alone)]$",group:0,tag:"Adjective",reason:"not-adverb"},{match:"#Singular is #Adverb? [#PastTense$]",group:0,tag:"Adjective",reason:"is-filled"},{match:"[#PastTense] #Singular is",group:0,tag:"Adjective",reason:"smoked-poutine"},{match:"[#PastTense] #Plural are",group:0,tag:"Adjective",reason:"baked-onions"},{match:"well [#PastTense]",group:0,tag:"Adjective",reason:"well-made"},{match:"#Copula [fucked up?]",group:0,tag:"Adjective",reason:"swears-adjective"},{match:"#Singular (seems|appears) #Adverb? [#PastTense$]",group:0,tag:"Adjective",reason:"seems-filled"},{match:"#Copula #Adjective? [(out|in|through)]$",group:0,tag:"Adjective",reason:"still-out"},{match:"^[#Adjective] (the|your) #Noun",group:0,notIf:"(all|even)",tag:"Infinitive",reason:"shut-the"},{match:"the [said] #Noun",group:0,tag:"Adjective",reason:"the-said-card"},{match:"[#Hyphenated (#Hyphenated && #PastTense)] (#Noun|#Conjunction)",group:0,tag:"Adjective",notIf:"#Adverb",reason:"faith-based"},{match:"[#Hyphenated (#Hyphenated && #Gerund)] (#Noun|#Conjunction)",group:0,tag:"Adjective",notIf:"#Adverb",reason:"self-driving"},{match:"[#PastTense (#Hyphenated && #PhrasalVerb)] (#Noun|#Conjunction)",group:0,tag:"Adjective",reason:"dammed-up"},{match:"(#Hyphenated && #Value) fold",tag:"Adjective",reason:"two-fold"},{match:"must (#Hyphenated && #Infinitive)",tag:"Adjective",reason:"must-win"},{match:"(#Hyphenated && #Infinitive) #Hyphenated",tag:"Adjective",notIf:"#PhrasalVerb",reason:"vacuum-sealed"},{match:"too much",tag:"Adverb Adjective",reason:"bit-4"},{match:"a bit much",tag:"Determiner Adverb Adjective",reason:"bit-3"},{match:"[(un|contra|extra|inter|intra|macro|micro|mid|mis|mono|multi|pre|sub|tri|ex)] #Adjective",group:0,tag:["Adjective","Prefix"],reason:"un-skilled"}],[{match:"#Adverb [#Adverb] (and|or|then)",group:0,tag:"Adjective",reason:"kinda-sparkly-and"},{match:"[(dark|bright|flat|light|soft|pale|dead|dim|faux|little|wee|sheer|most|near|good|extra|all)] #Adjective",group:0,tag:"Adverb",reason:"dark-green"},{match:"#Copula [far too] #Adjective",group:0,tag:"Adverb",reason:"far-too"},{match:"#Copula [still] (in|#Gerund|#Adjective)",group:0,tag:"Adverb",reason:"was-still-walking"},{match:`#Plural ${Yu}`,tag:"#PresentTense #Adverb",reason:"studies-hard"},{match:`#Verb [${Yu}] !#Noun?`,group:0,notIf:"(#Copula|get|got|getting|become|became|becoming|feel|feels|feeling)",tag:"Adverb",reason:"shops-direct"},{match:"[#Plural] a lot",tag:"PresentTense",reason:"studies-a-lot"}],[{match:"as [#Gerund] as",group:0,tag:"Adjective",reason:"as-gerund-as"},{match:"more [#Gerund] than",group:0,tag:"Adjective",reason:"more-gerund-than"},{match:"(so|very|extremely) [#Gerund]",group:0,tag:"Adjective",reason:"so-gerund"},{match:"(found|found) it #Adverb? [#Gerund]",group:0,tag:"Adjective",reason:"found-it-gerund"},{match:"a (little|bit|wee) bit? [#Gerund]",group:0,tag:"Adjective",reason:"a-bit-gerund"},{match:"#Gerund [#Gerund]",group:0,tag:"Adjective",notIf:"(impersonating|practicing|considering|assuming)",reason:"looking-annoying"},{match:"(looked|look|looks) #Adverb? [%Adj|Gerund%]",group:0,tag:"Adjective",notIf:"(impersonating|practicing|considering|assuming)",reason:"looked-amazing"},{match:"[%Adj|Gerund%] #Determiner",group:0,tag:"Gerund",reason:"developing-a"},{match:"#Possessive [%Adj|Gerund%] #Noun",group:0,tag:"Adjective",reason:"leading-manufacturer"}],[{match:"#Determiner [#Adjective] #Copula",group:0,tag:"Noun",reason:"the-adj-is"},{match:"#Adjective [#Adjective] #Copula",group:0,tag:"Noun",reason:"adj-adj-is"},{match:"(his|its) [%Adj|Noun%]",group:0,tag:"Noun",notIf:"#Hyphenated",reason:"his-fine"},{match:"#Copula #Adverb? [all]",group:0,tag:"Noun",reason:"is-all"},{match:"(have|had) [#Adjective] #Preposition .",group:0,tag:"Noun",reason:"have-fun"},{match:"#Gerund (giant|capital|center|zone|application)",tag:"Noun",reason:"brewing-giant"},{match:"#Preposition (a|an) [#Adjective]$",group:0,tag:"Noun",reason:"an-instant"},{match:"no [#Adjective] #Modal",group:0,tag:"Noun",reason:"no-golden"},{match:"[brand #Gerund?] new",group:0,tag:"Adverb",reason:"brand-new"},{match:"(#Determiner|#Comparative|new|different) [kind]",group:0,tag:"Noun",reason:"some-kind"},{match:"#Possessive [%Adj|Noun%] #Noun",group:0,tag:"Adjective",reason:"her-favourite"},{match:"must && #Hyphenated .",tag:"Adjective",reason:"must-win"},{match:"#Determiner [#Adjective]$",tag:"Noun",notIf:"(this|that|#Comparative|#Superlative)",reason:"the-south"},{match:"(#Noun && #Hyphenated) (#Adjective && #Hyphenated)",tag:"Adjective",notIf:"(this|that|#Comparative|#Superlative)",reason:"company-wide"},{match:"#Determiner [#Adjective] (#Copula|#Determiner)",notIf:"(#Comparative|#Superlative)",group:0,tag:"Noun",reason:"the-poor"}],[{match:"[still] #Adjective",group:0,tag:"Adverb",reason:"still-advb"},{match:"[still] #Verb",group:0,tag:"Adverb",reason:"still-verb"},{match:"[so] #Adjective",group:0,tag:"Adverb",reason:"so-adv"},{match:"[way] #Comparative",group:0,tag:"Adverb",reason:"way-adj"},{match:"[way] #Adverb #Adjective",group:0,tag:"Adverb",reason:"way-too-adj"},{match:"[all] #Verb",group:0,tag:"Adverb",reason:"all-verb"},{match:"#Verb [like]",group:0,notIf:"(#Modal|#PhrasalVerb)",tag:"Adverb",reason:"verb-like"},{match:"(barely|hardly) even",tag:"Adverb",reason:"barely-even"},{match:"[even] #Verb",group:0,tag:"Adverb",reason:"even-walk"},{match:"[even] #Comparative",group:0,tag:"Adverb",reason:"even-worse"},{match:"[even] (#Determiner|#Possessive)",group:0,tag:"#Adverb",reason:"even-the"},{match:"even left",tag:"#Adverb #Verb",reason:"even-left"},{match:"[way] #Adjective",group:0,tag:"#Adverb",reason:"way-over"},{match:"#PresentTense [(hard|quick|bright|slow|fast|backwards|forwards)]",notIf:"#Copula",group:0,tag:"Adverb",reason:"lazy-ly"},{match:"[much] #Adjective",group:0,tag:"Adverb",reason:"bit-1"},{match:"#Copula [#Adverb]$",group:0,tag:"Adjective",reason:"is-well"},{match:"a [(little|bit|wee) bit?] #Adjective",group:0,tag:"Adverb",reason:"a-bit-cold"},{match:"[(super|pretty)] #Adjective",group:0,tag:"Adverb",reason:"super-strong"},{match:"(become|fall|grow) #Adverb? [#PastTense]",group:0,tag:"Adjective",reason:"overly-weakened"},{match:"(a|an) #Adverb [#Participle] #Noun",group:0,tag:"Adjective",reason:"completely-beaten"},{match:"#Determiner #Adverb? [close]",group:0,tag:"Adjective",reason:"a-close"},{match:"#Gerund #Adverb? [close]",group:0,tag:"Adverb",notIf:"(getting|becoming|feeling)",reason:"being-close"},{match:"(the|those|these|a|an) [#Participle] #Noun",group:0,tag:"Adjective",reason:"blown-motor"},{match:"(#PresentTense|#PastTense) [back]",group:0,tag:"Adverb",notIf:"(#PhrasalVerb|#Copula)",reason:"charge-back"},{match:"#Verb [around]",group:0,tag:"Adverb",notIf:"#PhrasalVerb",reason:"send-around"},{match:"[later] #PresentTense",group:0,tag:"Adverb",reason:"later-say"},{match:"#Determiner [well] !#PastTense?",group:0,tag:"Noun",reason:"the-well"},{match:"#Adjective [enough]",group:0,tag:"Adverb",reason:"high-enough"}],[{match:"[sun] the #Ordinal",tag:"WeekDay",reason:"sun-the-5th"},{match:"[sun] #Date",group:0,tag:"WeekDay",reason:"sun-feb"},{match:"#Date (on|this|next|last|during)? [sun]",group:0,tag:"WeekDay",reason:"1pm-sun"},{match:"(in|by|before|during|on|until|after|of|within|all) [sat]",group:0,tag:"WeekDay",reason:"sat"},{match:"(in|by|before|during|on|until|after|of|within|all) [wed]",group:0,tag:"WeekDay",reason:"wed"},{match:"(in|by|before|during|on|until|after|of|within|all) [march]",group:0,tag:"Month",reason:"march"},{match:"[sat] #Date",group:0,tag:"WeekDay",reason:"sat-feb"},{match:"#Preposition [(march|may)]",group:0,tag:"Month",reason:"in-month"},{match:"(this|next|last) (march|may) !#Infinitive?",tag:"#Date #Month",reason:"this-month"},{match:"(march|may) the? #Value",tag:"#Month #Date #Date",reason:"march-5th"},{match:"#Value of? (march|may)",tag:"#Date #Date #Month",reason:"5th-of-march"},{match:"[(march|may)] .? #Date",group:0,tag:"Month",reason:"march-and-feb"},{match:"#Date .? [(march|may)]",group:0,tag:"Month",reason:"feb-and-march"},{match:"#Adverb [(march|may)]",group:0,tag:"Verb",reason:"quickly-march"},{match:"[(march|may)] #Adverb",group:0,tag:"Verb",reason:"march-quickly"},{match:"#Value (am|pm)",tag:"Time",reason:"2-am"}],[{match:"#Holiday (day|eve)",tag:"Holiday",reason:"holiday-day"},{match:"#Value of #Month",tag:"Date",reason:"value-of-month"},{match:"#Cardinal #Month",tag:"Date",reason:"cardinal-month"},{match:"#Month #Value to #Value",tag:"Date",reason:"value-to-value"},{match:"#Month the #Value",tag:"Date",reason:"month-the-value"},{match:"(#WeekDay|#Month) #Value",tag:"Date",reason:"date-value"},{match:"#Value (#WeekDay|#Month)",tag:"Date",reason:"value-date"},{match:"(#TextValue && #Date) #TextValue",tag:"Date",reason:"textvalue-date"},{match:"#Month #NumberRange",tag:"Date",reason:"aug 20-21"},{match:"#WeekDay #Month #Ordinal",tag:"Date",reason:"week mm-dd"},{match:"#Month #Ordinal #Cardinal",tag:"Date",reason:"mm-dd-yyy"},{match:"(#Place|#Demonmym|#Time) (standard|daylight|central|mountain)? time",tag:"Timezone",reason:"std-time"},{match:"(eastern|mountain|pacific|central|atlantic) (standard|daylight|summer)? time",tag:"Timezone",reason:"eastern-time"},{match:"#Time [(eastern|mountain|pacific|central|est|pst|gmt)]",group:0,tag:"Timezone",reason:"5pm-central"},{match:"(central|western|eastern) european time",tag:"Timezone",reason:"cet"}],[{match:"(the|any) [more]",group:0,tag:"Singular",reason:"more-noun"},{match:"[more] #Noun",group:0,tag:"Adjective",reason:"more-noun"},{match:"(right|rights) of .",tag:"Noun",reason:"right-of"},{match:"a [bit]",group:0,tag:"Singular",reason:"bit-2"},{match:"a [must]",group:0,tag:"Singular",reason:"must-2"},{match:"(we|us) [all]",group:0,tag:"Noun",reason:"we all"},{match:"due to [#Verb]",group:0,tag:"Noun",reason:"due-to"},{match:"some [#Verb] #Plural",group:0,tag:"Noun",reason:"determiner6"},{match:"#Possessive #Ordinal [#PastTense]",group:0,tag:"Noun",reason:"first-thought"},{match:"(the|this|those|these) #Adjective [%Verb|Noun%]",group:0,tag:"Noun",notIf:"#Copula",reason:"the-adj-verb"},{match:"(the|this|those|these) #Adverb #Adjective [#Verb]",group:0,tag:"Noun",reason:"determiner4"},{match:"the [#Verb] #Preposition .",group:0,tag:"Noun",reason:"determiner1"},{match:"(a|an|the) [#Verb] of",group:0,tag:"Noun",reason:"the-verb-of"},{match:"#Determiner #Noun of [#Verb]",group:0,tag:"Noun",notIf:"#Gerund",reason:"noun-of-noun"},{match:"#PastTense #Preposition [#PresentTense]",group:0,notIf:"#Gerund",tag:"Noun",reason:"ended-in-ruins"},{match:"#Conjunction [u]",group:0,tag:"Pronoun",reason:"u-pronoun-2"},{match:"[u] #Verb",group:0,tag:"Pronoun",reason:"u-pronoun-1"},{match:"#Determiner [(western|eastern|northern|southern|central)] #Noun",group:0,tag:"Noun",reason:"western-line"},{match:"(#Singular && @hasHyphen) #PresentTense",tag:"Noun",reason:"hyphen-verb"},{match:"is no [#Verb]",group:0,tag:"Noun",reason:"is-no-verb"},{match:"do [so]",group:0,tag:"Noun",reason:"so-noun"},{match:"#Determiner [(shit|damn|hell)]",group:0,tag:"Noun",reason:"swears-noun"},{match:"to [(shit|hell)]",group:0,tag:"Noun",reason:"to-swears"},{match:"(the|these) [#Singular] (were|are)",group:0,tag:"Plural",reason:"singular-were"},{match:"a #Noun+ or #Adverb+? [#Verb]",group:0,tag:"Noun",reason:"noun-or-noun"},{match:"(the|those|these|a|an) #Adjective? [#PresentTense #Particle?]",group:0,tag:"Noun",notIf:"(seem|appear|include|#Gerund|#Copula)",reason:"det-inf"},{match:"#Noun #Actor",tag:"Actor",notIf:"(#Person|#Pronoun)",reason:"thing-doer"},{match:"#Gerund #Actor",tag:"Actor",reason:"gerund-doer"},{match:"co #Singular",tag:"Actor",reason:"co-noun"},{match:"[#Noun+] #Actor",group:0,tag:"Actor",notIf:"(#Honorific|#Pronoun|#Possessive)",reason:"air-traffic-controller"},{match:"(urban|cardiac|cardiovascular|respiratory|medical|clinical|visual|graphic|creative|dental|exotic|fine|certified|registered|technical|virtual|professional|amateur|junior|senior|special|pharmaceutical|theoretical)+ #Noun? #Actor",tag:"Actor",reason:"fine-artist"},{match:"#Noun+ (coach|chef|king|engineer|fellow|personality|boy|girl|man|woman|master)",tag:"Actor",reason:"dance-coach"},{match:"chief . officer",tag:"Actor",reason:"chief-x-officer"},{match:"chief of #Noun+",tag:"Actor",reason:"chief-of-police"},{match:"senior? vice? president of #Noun+",tag:"Actor",reason:"president-of"},{match:"#Determiner [sun]",group:0,tag:"Singular",reason:"the-sun"},{match:"#Verb (a|an) [#Value]$",group:0,tag:"Singular",reason:"did-a-value"},{match:"the [(can|will|may)]",group:0,tag:"Singular",reason:"the can"},{match:"#FirstName #Acronym? (#Possessive && #LastName)",tag:"Possessive",reason:"name-poss"},{match:"#Organization+ #Possessive",tag:"Possessive",reason:"org-possessive"},{match:"#Place+ #Possessive",tag:"Possessive",reason:"place-possessive"},{match:"#Possessive #PresentTense #Particle?",notIf:"(#Gerund|her)",tag:"Noun",reason:"possessive-verb"},{match:"(my|our|their|her|his|its) [(#Plural && #Actor)] #Noun",tag:"Possessive",reason:"my-dads"},{match:"#Value of a [second]",group:0,unTag:"Value",tag:"Singular",reason:"10th-of-a-second"},{match:"#Value [seconds]",group:0,unTag:"Value",tag:"Plural",reason:"10-seconds"},{match:"in [#Infinitive]",group:0,tag:"Singular",reason:"in-age"},{match:"a [#Adjective] #Preposition",group:0,tag:"Noun",reason:"a-minor-in"},{match:"#Determiner [#Singular] said",group:0,tag:"Actor",reason:"the-actor-said"},{match:"#Determiner #Noun [(feel|sense|process|rush|side|bomb|bully|challenge|cover|crush|dump|exchange|flow|function|issue|lecture|limit|march|process)] !(#Preposition|to|#Adverb)?",group:0,tag:"Noun",reason:"the-noun-sense"},{match:"[#PresentTense] (of|by|for) (a|an|the) #Noun #Copula",group:0,tag:"Plural",reason:"photographs-of"},{match:"#Infinitive and [%Noun|Verb%]",group:0,tag:"Infinitive",reason:"fight and win"},{match:"#Noun and [#Verb] and #Noun",group:0,tag:"Noun",reason:"peace-and-flowers"},{match:"the #Cardinal [%Adj|Noun%]",group:0,tag:"Noun",reason:"the-1992-classic"},{match:"#Copula the [%Adj|Noun%] #Noun",group:0,tag:"Adjective",reason:"the-premier-university"},{match:"i #Verb [me] #Noun",group:0,tag:"Possessive",reason:"scottish-me"},{match:"[#PresentTense] (music|class|lesson|night|party|festival|league|ceremony)",group:0,tag:"Noun",reason:"dance-music"},{match:"[wit] (me|it)",group:0,tag:"Presposition",reason:"wit-me"},{match:"#PastTense #Possessive [#Verb]",group:0,tag:"Noun",notIf:"(saw|made)",reason:"left-her-boots"},{match:"#Value [%Plural|Verb%]",group:0,tag:"Plural",notIf:"(one|1|a|an)",reason:"35-signs"},{match:"had [#PresentTense]",group:0,tag:"Noun",notIf:"(#Gerund|come|become)",reason:"had-time"},{match:"%Adj|Noun% %Noun|Verb%",tag:"#Adjective #Noun",notIf:"#ProperNoun #Noun",reason:"instant-access"},{match:"#Determiner [%Adj|Noun%] #Conjunction",group:0,tag:"Noun",reason:"a-rep-to"},{match:"#Adjective #Noun [%Plural|Verb%]$",group:0,tag:"Plural",notIf:"#Pronoun",reason:"near-death-experiences"},{match:"#Possessive #Noun [%Plural|Verb%]$",group:0,tag:"Plural",reason:"your-guild-colors"}],[{match:"(this|that|the|a|an) [#Gerund #Infinitive]",group:0,tag:"Singular",reason:"the-planning-process"},{match:"(that|the) [#Gerund #PresentTense]",group:0,ifNo:"#Copula",tag:"Plural",reason:"the-paving-stones"},{match:"#Determiner [#Gerund] #Noun",group:0,tag:"Adjective",reason:"the-gerund-noun"},{match:"#Pronoun #Infinitive [#Gerund] #PresentTense",group:0,tag:"Noun",reason:"tipping-sucks"},{match:"#Adjective [#Gerund]",group:0,tag:"Noun",notIf:"(still|even|just)",reason:"early-warning"},{match:"[#Gerund] #Adverb? not? #Copula",group:0,tag:"Activity",reason:"gerund-copula"},{match:"#Copula [(#Gerund|#Activity)] #Copula",group:0,tag:"Gerund",reason:"are-doing-is"},{match:"[#Gerund] #Modal",group:0,tag:"Activity",reason:"gerund-modal"},{match:"#Singular for [%Noun|Gerund%]",group:0,tag:"Gerund",reason:"noun-for-gerund"},{match:"#Comparative (for|at) [%Noun|Gerund%]",group:0,tag:"Gerund",reason:"better-for-gerund"},{match:"#PresentTense the [#Gerund]",group:0,tag:"Noun",reason:"keep-the-touching"}],[{match:"#Infinitive (this|that|the) [#Infinitive]",group:0,tag:"Noun",reason:"do-this-dance"},{match:"#Gerund #Determiner [#Infinitive]",group:0,tag:"Noun",reason:"running-a-show"},{match:"#Determiner (only|further|just|more|backward) [#Infinitive]",group:0,tag:"Noun",reason:"the-only-reason"},{match:"(the|this|a|an) [#Infinitive] #Adverb? #Verb",group:0,tag:"Noun",reason:"determiner5"},{match:"#Determiner #Adjective #Adjective? [#Infinitive]",group:0,tag:"Noun",reason:"a-nice-inf"},{match:"#Determiner #Demonym [#PresentTense]",group:0,tag:"Noun",reason:"mexican-train"},{match:"#Adjective #Noun+ [#Infinitive] #Copula",group:0,tag:"Noun",reason:"career-move"},{match:"at some [#Infinitive]",group:0,tag:"Noun",reason:"at-some-inf"},{match:"(go|goes|went) to [#Infinitive]",group:0,tag:"Noun",reason:"goes-to-verb"},{match:"(a|an) #Adjective? #Noun [#Infinitive] (#Preposition|#Noun)",group:0,notIf:"from",tag:"Noun",reason:"a-noun-inf"},{match:"(a|an) #Noun [#Infinitive]$",group:0,tag:"Noun",reason:"a-noun-inf2"},{match:"#Gerund #Adjective? for [#Infinitive]",group:0,tag:"Noun",reason:"running-for"},{match:"about [#Infinitive]",group:0,tag:"Singular",reason:"about-love"},{match:"#Plural on [#Infinitive]",group:0,tag:"Noun",reason:"on-stage"},{match:"any [#Infinitive]",group:0,tag:"Noun",reason:"any-charge"},{match:"no [#Infinitive]",group:0,tag:"Noun",reason:"no-doubt"},{match:"number of [#PresentTense]",group:0,tag:"Noun",reason:"number-of-x"},{match:"(taught|teaches|learns|learned) [#PresentTense]",group:0,tag:"Noun",reason:"teaches-x"},{match:"(try|use|attempt|build|make) [#Verb #Particle?]",notIf:"(#Copula|#Noun|sure|fun|up)",group:0,tag:"Noun",reason:"do-verb"},{match:"^[#Infinitive] (is|was)",group:0,tag:"Noun",reason:"checkmate-is"},{match:"#Infinitive much [#Infinitive]",group:0,tag:"Noun",reason:"get-much"},{match:"[cause] #Pronoun #Verb",group:0,tag:"Conjunction",reason:"cause-cuz"},{match:"the #Singular [#Infinitive] #Noun",group:0,tag:"Noun",notIf:"#Pronoun",reason:"cardio-dance"},{match:"#Determiner #Modal [#Noun]",group:0,tag:"PresentTense",reason:"should-smoke"},{match:"this [#Plural]",group:0,tag:"PresentTense",notIf:"(#Preposition|#Date)",reason:"this-verbs"},{match:"#Noun that [#Plural]",group:0,tag:"PresentTense",notIf:"(#Preposition|#Pronoun|way)",reason:"voice-that-rocks"},{match:"that [#Plural] to",group:0,tag:"PresentTense",notIf:"#Preposition",reason:"that-leads-to"},{match:"(let|make|made) (him|her|it|#Person|#Place|#Organization)+ [#Singular] (a|an|the|it)",group:0,tag:"Infinitive",reason:"let-him-glue"},{match:"#Verb (all|every|each|most|some|no) [#PresentTense]",notIf:"#Modal",group:0,tag:"Noun",reason:"all-presentTense"},{match:"(had|have|#PastTense) #Adjective [#PresentTense]",group:0,tag:"Noun",notIf:"better",reason:"adj-presentTense"},{match:"#Value #Adjective [#PresentTense]",group:0,tag:"Noun",notIf:"#Copula",reason:"one-big-reason"},{match:"#PastTense #Adjective+ [#PresentTense]",group:0,tag:"Noun",notIf:"(#Copula|better)",reason:"won-wide-support"},{match:"(many|few|several|couple) [#PresentTense]",group:0,tag:"Noun",notIf:"#Copula",reason:"many-poses"},{match:"#Determiner #Adverb #Adjective [%Noun|Verb%]",group:0,tag:"Noun",notIf:"#Copula",reason:"very-big-dream"},{match:"from #Noun to [%Noun|Verb%]",group:0,tag:"Noun",reason:"start-to-finish"},{match:"(for|with|of) #Noun (and|or|not) [%Noun|Verb%]",group:0,tag:"Noun",notIf:"#Pronoun",reason:"for-food-and-gas"},{match:"#Adjective #Adjective [#PresentTense]",group:0,tag:"Noun",notIf:"#Copula",reason:"adorable-little-store"},{match:"#Gerund #Adverb? #Comparative [#PresentTense]",group:0,tag:"Noun",notIf:"#Copula",reason:"higher-costs"},{match:"(#Noun && @hasComma) #Noun (and|or) [#PresentTense]",group:0,tag:"Noun",notIf:"#Copula",reason:"noun-list"},{match:"(many|any|some|several) [#PresentTense] for",group:0,tag:"Noun",reason:"any-verbs-for"},{match:"to #PresentTense #Noun [#PresentTense] #Preposition",group:0,tag:"Noun",reason:"gas-exchange"},{match:"#PastTense (until|as|through|without) [#PresentTense]",group:0,tag:"Noun",reason:"waited-until-release"},{match:"#Gerund like #Adjective? [#PresentTense]",group:0,tag:"Plural",reason:"like-hot-cakes"},{match:"some #Adjective [#PresentTense]",group:0,tag:"Noun",reason:"some-reason"},{match:"for some [#PresentTense]",group:0,tag:"Noun",reason:"for-some-reason"},{match:"(same|some|the|that|a) kind of [#PresentTense]",group:0,tag:"Noun",reason:"some-kind-of"},{match:"(same|some|the|that|a) type of [#PresentTense]",group:0,tag:"Noun",reason:"some-type-of"},{match:"#Gerund #Adjective #Preposition [#PresentTense]",group:0,tag:"Noun",reason:"doing-better-for-x"},{match:"(get|got|have) #Comparative [#PresentTense]",group:0,tag:"Noun",reason:"got-better-aim"},{match:"whose [#PresentTense] #Copula",group:0,tag:"Noun",reason:"whos-name-was"},{match:"#PhrasalVerb #Particle #Preposition [#PresentTense]",group:0,tag:"Noun",reason:"given-up-on-x"},{match:"there (are|were) #Adjective? [#PresentTense]",group:0,tag:"Plural",reason:"there-are"},{match:"#Value [#PresentTense] of",group:0,notIf:"(one|1|#Copula|#Infinitive)",tag:"Plural",reason:"2-trains"},{match:"[#PresentTense] (are|were) #Adjective",group:0,tag:"Plural",reason:"compromises-are-possible"},{match:"^[(hope|guess|thought|think)] #Pronoun #Verb",group:0,tag:"Infinitive",reason:"suppose-i"},{match:"#Possessive #Adjective [#Verb]",group:0,tag:"Noun",notIf:"#Copula",reason:"our-full-support"},{match:"[(tastes|smells)] #Adverb? #Adjective",group:0,tag:"PresentTense",reason:"tastes-good"},{match:"#Copula #Gerund [#PresentTense] !by?",group:0,tag:"Noun",notIf:"going",reason:"ignoring-commute"},{match:"#Determiner #Adjective? [(shed|thought|rose|bid|saw|spelt)]",group:0,tag:"Noun",reason:"noun-past"},{match:"how to [%Noun|Verb%]",group:0,tag:"Infinitive",reason:"how-to-noun"},{match:"which [%Noun|Verb%] #Noun",group:0,tag:"Infinitive",reason:"which-boost-it"},{match:"#Gerund [%Plural|Verb%]",group:0,tag:"Plural",reason:"asking-questions"},{match:"(ready|available|difficult|hard|easy|made|attempt|try) to [%Noun|Verb%]",group:0,tag:"Infinitive",reason:"ready-to-noun"},{match:"(bring|went|go|drive|run|bike) to [%Noun|Verb%]",group:0,tag:"Noun",reason:"bring-to-noun"},{match:"#Modal #Noun [%Noun|Verb%]",group:0,tag:"Infinitive",reason:"would-you-look"},{match:"#Copula just [#Infinitive]",group:0,tag:"Noun",reason:"is-just-spam"},{match:"^%Noun|Verb% %Plural|Verb%",tag:"Imperative #Plural",reason:"request-copies"},{match:"#Adjective #Plural and [%Plural|Verb%]",group:0,tag:"#Plural",reason:"pickles-and-drinks"},{match:"#Determiner #Year [#Verb]",group:0,tag:"Noun",reason:"the-1968-film"},{match:"#Determiner [#PhrasalVerb #Particle]",group:0,tag:"Noun",reason:"the-break-up"},{match:"#Determiner [%Adj|Noun%] #Noun",group:0,tag:"Adjective",notIf:"(#Pronoun|#Possessive|#ProperNoun)",reason:"the-individual-goals"},{match:"[%Noun|Verb%] or #Infinitive",group:0,tag:"Infinitive",reason:"work-or-prepare"},{match:"to #Infinitive [#PresentTense]",group:0,tag:"Noun",notIf:"(#Gerund|#Copula|help)",reason:"to-give-thanks"},{match:"[#Noun] me",group:0,tag:"Verb",reason:"kills-me"},{match:"%Plural|Verb% %Plural|Verb%",tag:"#PresentTense #Plural",reason:"removes-wrinkles"}],[{match:"#Money and #Money #Currency?",tag:"Money",reason:"money-and-money"},{match:"#Value #Currency [and] #Value (cents|ore|centavos|sens)",group:0,tag:"money",reason:"and-5-cents"},{match:"#Value (mark|rand|won|rub|ore)",tag:"#Money #Currency",reason:"4-mark"},{match:"a pound",tag:"#Money #Unit",reason:"a-pound"},{match:"#Value (pound|pounds)",tag:"#Money #Unit",reason:"4-pounds"}],[{match:"[(half|quarter)] of? (a|an)",group:0,tag:"Fraction",reason:"millionth"},{match:"#Adverb [half]",group:0,tag:"Fraction",reason:"nearly-half"},{match:"[half] the",group:0,tag:"Fraction",reason:"half-the"},{match:"#Cardinal and a half",tag:"Fraction",reason:"and-a-half"},{match:"#Value (halves|halfs|quarters)",tag:"Fraction",reason:"two-halves"},{match:"a #Ordinal",tag:"Fraction",reason:"a-quarter"},{match:"[#Cardinal+] (#Fraction && /s$/)",tag:"Fraction",reason:"seven-fifths"},{match:"[#Cardinal+ #Ordinal] of .",group:0,tag:"Fraction",reason:"ordinal-of"},{match:"[(#NumericValue && #Ordinal)] of .",group:0,tag:"Fraction",reason:"num-ordinal-of"},{match:"(a|one) #Cardinal?+ #Ordinal",tag:"Fraction",reason:"a-ordinal"},{match:"#Cardinal+ out? of every? #Cardinal",tag:"Fraction",reason:"out-of"}],[{match:"#Cardinal [second]",tag:"Unit",reason:"one-second"},{match:"!once? [(a|an)] (#Duration|hundred|thousand|million|billion|trillion)",group:0,tag:"Value",reason:"a-is-one"},{match:"1 #Value #PhoneNumber",tag:"PhoneNumber",reason:"1-800-Value"},{match:"#NumericValue #PhoneNumber",tag:"PhoneNumber",reason:"(800) PhoneNumber"},{match:"#Demonym #Currency",tag:"Currency",reason:"demonym-currency"},{match:"#Value [(buck|bucks|grand)]",group:0,tag:"Currency",reason:"value-bucks"},{match:"[#Value+] #Currency",group:0,tag:"Money",reason:"15 usd"},{match:"[second] #Noun",group:0,tag:"Ordinal",reason:"second-noun"},{match:"#Value+ [#Currency]",group:0,tag:"Unit",reason:"5-yan"},{match:"#Value [(foot|feet)]",group:0,tag:"Unit",reason:"foot-unit"},{match:"#Value [#Abbreviation]",group:0,tag:"Unit",reason:"value-abbr"},{match:"#Value [k]",group:0,tag:"Unit",reason:"value-k"},{match:"#Unit an hour",tag:"Unit",reason:"unit-an-hour"},{match:"(minus|negative) #Value",tag:"Value",reason:"minus-value"},{match:"#Value (point|decimal) #Value",tag:"Value",reason:"value-point-value"},{match:"#Determiner [(half|quarter)] #Ordinal",group:0,tag:"Value",reason:"half-ordinal"},{match:"#Multiple+ and #Value",tag:"Value",reason:"magnitude-and-value"},{match:"#Value #Unit [(per|an) (hr|hour|sec|second|min|minute)]",group:0,tag:"Unit",reason:"12-miles-per-second"},{match:"#Value [(square|cubic)] #Unit",group:0,tag:"Unit",reason:"square-miles"},{match:"^[#Value] (#Determiner|#Gerund)",group:0,tag:"Expression",unTag:"Value",reason:"numbered-list"}],[{match:"#Copula [(#Noun|#PresentTense)] #LastName",group:0,tag:"FirstName",reason:"copula-noun-lastname"},{match:"(sister|pope|brother|father|aunt|uncle|grandpa|grandfather|grandma) #ProperNoun",tag:"Person",reason:"lady-titlecase",safe:!0},{match:"#FirstName [#Determiner #Noun] #LastName",group:0,tag:"Person",reason:"first-noun-last"},{match:"#ProperNoun (b|c|d|e|f|g|h|j|k|l|m|n|o|p|q|r|s|t|u|v|w|x|y|z) #ProperNoun",tag:"Person",reason:"titlecase-acronym-titlecase",safe:!0},{match:"#Acronym #LastName",tag:"Person",reason:"acronym-lastname",safe:!0},{match:"#Person (jr|sr|md)",tag:"Person",reason:"person-honorific"},{match:"#Honorific #Acronym",tag:"Person",reason:"Honorific-TitleCase"},{match:"#Person #Person the? #RomanNumeral",tag:"Person",reason:"roman-numeral"},{match:"#FirstName [/^[^aiurck]$/]",group:0,tag:["Acronym","Person"],reason:"john-e"},{match:"#Noun van der? #Noun",tag:"Person",reason:"van der noun",safe:!0},{match:"(king|queen|prince|saint|lady) of #Noun",tag:"Person",reason:"king-of-noun",safe:!0},{match:"(prince|lady) #Place",tag:"Person",reason:"lady-place"},{match:"(king|queen|prince|saint) #ProperNoun",tag:"Person",notIf:"#Place",reason:"saint-foo"},{match:"al (#Person|#ProperNoun)",tag:"Person",reason:"al-borlen",safe:!0},{match:"#FirstName de #Noun",tag:"Person",reason:"bill-de-noun"},{match:"#FirstName (bin|al) #Noun",tag:"Person",reason:"bill-al-noun"},{match:"#FirstName #Acronym #ProperNoun",tag:"Person",reason:"bill-acronym-title"},{match:"#FirstName #FirstName #ProperNoun",tag:"Person",reason:"bill-firstname-title"},{match:"#Honorific #FirstName? #ProperNoun",tag:"Person",reason:"dr-john-Title"},{match:"#FirstName the #Adjective",tag:"Person",reason:"name-the-great"},{match:"#ProperNoun (van|al|bin) #ProperNoun",tag:"Person",reason:"title-van-title",safe:!0},{match:"#ProperNoun (de|du) la? #ProperNoun",tag:"Person",notIf:"#Place",reason:"title-de-title"},{match:"#Singular #Acronym #LastName",tag:"#FirstName #Person .",reason:"title-acro-noun",safe:!0},{match:"[#ProperNoun] #Person",group:0,tag:"Person",reason:"proper-person",safe:!0},{match:"#Person [#ProperNoun #ProperNoun]",group:0,tag:"Person",notIf:"#Possessive",reason:"three-name-person",safe:!0},{match:"#FirstName #Acronym? [#ProperNoun]",group:0,tag:"LastName",notIf:"#Possessive",reason:"firstname-titlecase"},{match:"#FirstName [#FirstName]",group:0,tag:"LastName",reason:"firstname-firstname"},{match:"#FirstName #Acronym #Noun",tag:"Person",reason:"n-acro-noun",safe:!0},{match:"#FirstName [(de|di|du|van|von)] #Person",group:0,tag:"LastName",reason:"de-firstname"},{match:"[(lieutenant|corporal|sergeant|captain|qeen|king|admiral|major|colonel|marshal|president|queen|king)+] #ProperNoun",group:0,tag:"Honorific",reason:"seargeant-john"},{match:"[(private|general|major|rear|prime|field|count|miss)] #Honorific? #Person",group:0,tag:["Honorific","Person"],reason:"ambg-honorifics"},{match:"#Honorific #FirstName [#Singular]",group:0,tag:"LastName",notIf:"#Possessive",reason:"dr-john-foo",safe:!0},{match:"[(his|her) (majesty|honour|worship|excellency|honorable)] #Person",group:0,tag:"Honorific",reason:"his-excellency"},{match:"#Honorific #Actor",tag:"Honorific",reason:"Lieutenant colonel"},{match:"(first|second|third|1st|2nd|3rd) #Actor",tag:"Honorific",reason:"first lady"},{match:"#Person #RomanNumeral",tag:"Person",reason:"louis-IV"}],[{match:"#FirstName #Noun$",tag:". #LastName",notIf:"(#Possessive|#Organization|#Place|#Pronoun|@hasTitleCase)",reason:"firstname-noun"},{match:"%Person|Date% #Acronym? #ProperNoun",tag:"Person",reason:"jan-thierson"},{match:"%Person|Noun% #Acronym? #ProperNoun",tag:"Person",reason:"switch-person",safe:!0},{match:"%Person|Noun% #Organization",tag:"Organization",reason:"olive-garden"},{match:"%Person|Verb% #Acronym? #ProperNoun",tag:"Person",reason:"verb-propernoun",ifNo:"#Actor"},{match:"[%Person|Verb%] (will|had|has|said|says|told|did|learned|wants|wanted)",group:0,tag:"Person",reason:"person-said"},{match:"[%Person|Place%] (harbor|harbour|pier|town|city|place|dump|landfill)",group:0,tag:"Place",reason:"sydney-harbour"},{match:"(west|east|north|south) [%Person|Place%]",group:0,tag:"Place",reason:"east-sydney"},{match:"#Modal [%Person|Verb%]",group:0,tag:"Verb",reason:"would-mark"},{match:"#Adverb [%Person|Verb%]",group:0,tag:"Verb",reason:"really-mark"},{match:"[%Person|Verb%] (#Adverb|#Comparative)",group:0,tag:"Verb",reason:"drew-closer"},{match:"%Person|Verb% #Person",tag:"Person",reason:"rob-smith"},{match:"%Person|Verb% #Acronym #ProperNoun",tag:"Person",reason:"rob-a-smith"},{match:"[will] #Verb",group:0,tag:"Modal",reason:"will-verb"},{match:"(will && @isTitleCase) #ProperNoun",tag:"Person",reason:"will-name"},{match:"(#FirstName && !#Possessive) [#Singular] #Verb",group:0,safe:!0,tag:"LastName",reason:"jack-layton"},{match:"^[#Singular] #Person #Verb",group:0,safe:!0,tag:"Person",reason:"sherwood-anderson"},{match:"(a|an) [#Person]$",group:0,unTag:"Person",reason:"a-warhol"}],[{match:"#Copula (pretty|dead|full|well|sure) (#Adjective|#Noun)",tag:"#Copula #Adverb #Adjective",reason:"sometimes-adverb"},{match:"(#Pronoun|#Person) (had|#Adverb)? [better] #PresentTense",group:0,tag:"Modal",reason:"i-better"},{match:"(#Modal|i|they|we|do) not? [like]",group:0,tag:"PresentTense",reason:"modal-like"},{match:"#Noun #Adverb? [left]",group:0,tag:"PastTense",reason:"left-verb"},{match:"will #Adverb? not? #Adverb? [be] #Gerund",group:0,tag:"Copula",reason:"will-be-copula"},{match:"will #Adverb? not? #Adverb? [be] #Adjective",group:0,tag:"Copula",reason:"be-copula"},{match:"[march] (up|down|back|toward)",notIf:"#Date",group:0,tag:"Infinitive",reason:"march-to"},{match:"#Modal [march]",group:0,tag:"Infinitive",reason:"must-march"},{match:"[may] be",group:0,tag:"Verb",reason:"may-be"},{match:"[(subject|subjects|subjected)] to",group:0,tag:"Verb",reason:"subject to"},{match:"[home] to",group:0,tag:"PresentTense",reason:"home to"},{match:"[open] #Determiner",group:0,tag:"Infinitive",reason:"open-the"},{match:"(were|was) being [#PresentTense]",group:0,tag:"PastTense",reason:"was-being"},{match:"(had|has|have) [been /en$/]",group:0,tag:"Auxiliary Participle",reason:"had-been-broken"},{match:"(had|has|have) [been /ed$/]",group:0,tag:"Auxiliary PastTense",reason:"had-been-smoked"},{match:"(had|has) #Adverb? [been] #Adverb? #PastTense",group:0,tag:"Auxiliary",reason:"had-been-adj"},{match:"(had|has) to [#Noun] (#Determiner|#Possessive)",group:0,tag:"Infinitive",reason:"had-to-noun"},{match:"have [#PresentTense]",group:0,tag:"PastTense",notIf:"(come|gotten)",reason:"have-read"},{match:"(does|will|#Modal) that [work]",group:0,tag:"PastTense",reason:"does-that-work"},{match:"[(sound|sounds)] #Adjective",group:0,tag:"PresentTense",reason:"sounds-fun"},{match:"[(look|looks)] #Adjective",group:0,tag:"PresentTense",reason:"looks-good"},{match:"[(start|starts|stop|stops|begin|begins)] #Gerund",group:0,tag:"Verb",reason:"starts-thinking"},{match:"(have|had) read",tag:"Modal #PastTense",reason:"read-read"},{match:"(is|was|were) [(under|over) #PastTense]",group:0,tag:"Adverb Adjective",reason:"was-under-cooked"},{match:"[shit] (#Determiner|#Possessive|them)",group:0,tag:"Verb",reason:"swear1-verb"},{match:"[damn] (#Determiner|#Possessive|them)",group:0,tag:"Verb",reason:"swear2-verb"},{match:"[fuck] (#Determiner|#Possessive|them)",group:0,tag:"Verb",reason:"swear3-verb"},{match:"#Plural that %Noun|Verb%",tag:". #Preposition #Infinitive",reason:"jobs-that-work"},{match:"[works] for me",group:0,tag:"PresentTense",reason:"works-for-me"},{match:"as #Pronoun [please]",group:0,tag:"Infinitive",reason:"as-we-please"},{match:"[(co|mis|de|inter|intra|pre|re|un|out|under|over|counter)] #Verb",group:0,tag:["Verb","Prefix"],notIf:"(#Copula|#PhrasalVerb)",reason:"co-write"},{match:"#PastTense and [%Adj|Past%]",group:0,tag:"PastTense",reason:"dressed-and-left"},{match:"[%Adj|Past%] and #PastTense",group:0,tag:"PastTense",reason:"dressed-and-left"},{match:"#Copula #Pronoun [%Adj|Past%]",group:0,tag:"Adjective",reason:"is-he-stoked"},{match:"to [%Noun|Verb%] #Preposition",group:0,tag:"Infinitive",reason:"to-dream-of"}],[{match:"(slowly|quickly) [#Adjective]",group:0,tag:"Verb",reason:"slowly-adj"},{match:"does (#Adverb|not)? [#Adjective]",group:0,tag:"PresentTense",reason:"does-mean"},{match:"[(fine|okay|cool|ok)] by me",group:0,tag:"Adjective",reason:"okay-by-me"},{match:"i (#Adverb|do)? not? [mean]",group:0,tag:"PresentTense",reason:"i-mean"},{match:"will #Adjective",tag:"Auxiliary Infinitive",reason:"will-adj"},{match:"#Pronoun [#Adjective] #Determiner #Adjective? #Noun",group:0,tag:"Verb",reason:"he-adj-the"},{match:"#Copula [%Adj|Present%] to #Verb",group:0,tag:"Verb",reason:"adj-to"},{match:"#Copula [#Adjective] (well|badly|quickly|slowly)",group:0,tag:"Verb",reason:"done-well"},{match:"#Adjective and [#Gerund] !#Preposition?",group:0,tag:"Adjective",reason:"rude-and-x"},{match:"#Copula #Adverb? (over|under) [#PastTense]",group:0,tag:"Adjective",reason:"over-cooked"},{match:"#Copula #Adjective+ (and|or) [#PastTense]$",group:0,tag:"Adjective",reason:"bland-and-overcooked"},{match:"got #Adverb? [#PastTense] of",group:0,tag:"Adjective",reason:"got-tired-of"},{match:"(seem|seems|seemed|appear|appeared|appears|feel|feels|felt|sound|sounds|sounded) (#Adverb|#Adjective)? [#PastTense]",group:0,tag:"Adjective",reason:"felt-loved"},{match:"(seem|feel|seemed|felt) [#PastTense #Particle?]",group:0,tag:"Adjective",reason:"seem-confused"},{match:"a (bit|little|tad) [#PastTense #Particle?]",group:0,tag:"Adjective",reason:"a-bit-confused"},{match:"not be [%Adj|Past% #Particle?]",group:0,tag:"Adjective",reason:"do-not-be-confused"},{match:"#Copula just [%Adj|Past% #Particle?]",group:0,tag:"Adjective",reason:"is-just-right"},{match:"as [#Infinitive] as",group:0,tag:"Adjective",reason:"as-pale-as"},{match:"[%Adj|Past%] and #Adjective",group:0,tag:"Adjective",reason:"faled-and-oppressive"},{match:"or [#PastTense] #Noun",group:0,tag:"Adjective",notIf:"(#Copula|#Pronoun)",reason:"or-heightened-emotion"},{match:"(become|became|becoming|becomes) [#Verb]",group:0,tag:"Adjective",reason:"become-verb"},{match:"#Possessive [#PastTense] #Noun",group:0,tag:"Adjective",reason:"declared-intentions"},{match:"#Copula #Pronoun [%Adj|Present%]",group:0,tag:"Adjective",reason:"is-he-cool"}],[{match:"will (#Adverb|not)+? [have] (#Adverb|not)+? #Verb",group:0,tag:"Auxiliary",reason:"will-have-vb"},{match:"[#Copula] (#Adverb|not)+? (#Gerund|#PastTense)",group:0,tag:"Auxiliary",reason:"copula-walking"},{match:"[(#Modal|did)+] (#Adverb|not)+? #Verb",group:0,tag:"Auxiliary",reason:"modal-verb"},{match:"#Modal (#Adverb|not)+? [have] (#Adverb|not)+? [had] (#Adverb|not)+? #Verb",group:0,tag:"Auxiliary",reason:"would-have"},{match:"[(has|had)] (#Adverb|not)+? #PastTense",group:0,tag:"Auxiliary",reason:"had-walked"},{match:"[(do|does|did|will|have|had|has|got)] (not|#Adverb)+? #Verb",group:0,tag:"Auxiliary",reason:"have-had"},{match:"[about to] #Adverb? #Verb",group:0,tag:["Auxiliary","Verb"],reason:"about-to"},{match:"#Modal (#Adverb|not)+? [be] (#Adverb|not)+? #Verb",group:0,tag:"Auxiliary",reason:"would-be"},{match:"[(#Modal|had|has)] (#Adverb|not)+? [been] (#Adverb|not)+? #Verb",group:0,tag:"Auxiliary",reason:"had-been"},{match:"[(be|being|been)] #Participle",group:0,tag:"Auxiliary",reason:"being-driven"},{match:"[may] #Adverb? #Infinitive",group:0,tag:"Auxiliary",reason:"may-want"},{match:"#Copula (#Adverb|not)+? [(be|being|been)] #Adverb+? #PastTense",group:0,tag:"Auxiliary",reason:"being-walked"},{match:"will [be] #PastTense",group:0,tag:"Auxiliary",reason:"will-be-x"},{match:"[(be|been)] (#Adverb|not)+? #Gerund",group:0,tag:"Auxiliary",reason:"been-walking"},{match:"[used to] #PresentTense",group:0,tag:"Auxiliary",reason:"used-to-walk"},{match:"#Copula (#Adverb|not)+? [going to] #Adverb+? #PresentTense",group:0,tag:"Auxiliary",reason:"going-to-walk"},{match:"#Imperative [(me|him|her)]",group:0,tag:"Reflexive",reason:"tell-him"},{match:"(is|was) #Adverb? [no]",group:0,tag:"Negative",reason:"is-no"},{match:"[(been|had|became|came)] #PastTense",group:0,notIf:"#PhrasalVerb",tag:"Auxiliary",reason:"been-told"},{match:"[(being|having|getting)] #Verb",group:0,tag:"Auxiliary",reason:"being-born"},{match:"[be] #Gerund",group:0,tag:"Auxiliary",reason:"be-walking"},{match:"[better] #PresentTense",group:0,tag:"Modal",notIf:"(#Copula|#Gerund)",reason:"better-go"},{match:"even better",tag:"Adverb #Comparative",reason:"even-better"}],[{match:"(#Verb && @hasHyphen) up",tag:"PhrasalVerb",reason:"foo-up"},{match:"(#Verb && @hasHyphen) off",tag:"PhrasalVerb",reason:"foo-off"},{match:"(#Verb && @hasHyphen) over",tag:"PhrasalVerb",reason:"foo-over"},{match:"(#Verb && @hasHyphen) out",tag:"PhrasalVerb",reason:"foo-out"},{match:"[#Verb (in|out|up|down|off|back)] (on|in)",notIf:"#Copula",tag:"PhrasalVerb Particle",reason:"walk-in-on"},{match:"(lived|went|crept|go) [on] for",group:0,tag:"PhrasalVerb",reason:"went-on"},{match:"#Verb (up|down|in|on|for)$",tag:"PhrasalVerb #Particle",notIf:"#PhrasalVerb",reason:"come-down$"},{match:"help [(stop|end|make|start)]",group:0,tag:"Infinitive",reason:"help-stop"},{match:"#PhrasalVerb (in && #Particle) #Determiner",tag:"#Verb #Preposition #Determiner",unTag:"PhrasalVerb",reason:"work-in-the"},{match:"[(stop|start|finish|help)] #Gerund",group:0,tag:"Infinitive",reason:"start-listening"},{match:"#Verb (him|her|it|us|himself|herself|itself|everything|something) [(up|down)]",group:0,tag:"Adverb",reason:"phrasal-pronoun-advb"}],[{match:"^do not? [#Infinitive #Particle?]",notIf:ec,group:0,tag:"Imperative",reason:"do-eat"},{match:"^please do? not? [#Infinitive #Particle?]",group:0,tag:"Imperative",reason:"please-go"},{match:"^just do? not? [#Infinitive #Particle?]",group:0,tag:"Imperative",reason:"just-go"},{match:"^[#Infinitive] it #Comparative",notIf:ec,group:0,tag:"Imperative",reason:"do-it-better"},{match:"^[#Infinitive] it (please|now|again|plz)",notIf:ec,group:0,tag:"Imperative",reason:"do-it-please"},{match:"^[#Infinitive] (#Adjective|#Adverb)$",group:0,tag:"Imperative",notIf:"(so|such|rather|enough)",reason:"go-quickly"},{match:"^[#Infinitive] (up|down|over) #Determiner",group:0,tag:"Imperative",reason:"turn-down"},{match:"^[#Infinitive] (your|my|the|a|an|any|each|every|some|more|with|on)",group:0,notIf:"like",tag:"Imperative",reason:"eat-my-shorts"},{match:"^[#Infinitive] (him|her|it|us|me|there)",group:0,tag:"Imperative",reason:"tell-him"},{match:"^[#Infinitive] #Adjective #Noun$",group:0,tag:"Imperative",reason:"avoid-loud-noises"},{match:"^[#Infinitive] (#Adjective|#Adverb)? and #Infinitive",group:0,tag:"Imperative",reason:"call-and-reserve"},{match:"^(go|stop|wait|hurry) please?$",tag:"Imperative",reason:"go"},{match:"^(somebody|everybody) [#Infinitive]",group:0,tag:"Imperative",reason:"somebody-call"},{match:"^let (us|me) [#Infinitive]",group:0,tag:"Imperative",reason:"lets-leave"},{match:"^[(shut|close|open|start|stop|end|keep)] #Determiner #Noun",group:0,tag:"Imperative",reason:"shut-the-door"},{match:"^[#PhrasalVerb #Particle] #Determiner #Noun",group:0,tag:"Imperative",reason:"turn-off-the-light"},{match:"^[go] to .",group:0,tag:"Imperative",reason:"go-to-toronto"},{match:"^#Modal you [#Infinitive]",group:0,tag:"Imperative",reason:"would-you-"},{match:"^never [#Infinitive]",group:0,tag:"Imperative",reason:"never-stop"},{match:"^come #Infinitive",tag:"Imperative",notIf:"on",reason:"come-have"},{match:"^come and? #Infinitive",tag:"Imperative . Imperative",notIf:"#PhrasalVerb",reason:"come-and-have"},{match:"^stay (out|away|back)",tag:"Imperative",reason:"stay-away"},{match:"^[(stay|be|keep)] #Adjective",group:0,tag:"Imperative",reason:"stay-cool"},{match:"^[keep it] #Adjective",group:0,tag:"Imperative",reason:"keep-it-cool"},{match:"^do not [#Infinitive]",group:0,tag:"Imperative",reason:"do-not-be"},{match:"[#Infinitive] (yourself|yourselves)",group:0,tag:"Imperative",reason:"allow-yourself"},{match:"[#Infinitive] what .",group:0,tag:"Imperative",reason:"look-what"},{match:"^[#Infinitive] #Gerund",group:0,tag:"Imperative",reason:"keep-playing"},{match:"^[#Infinitive] (to|for|into|toward|here|there)",group:0,tag:"Imperative",reason:"go-to"},{match:"^[#Infinitive] (and|or) #Infinitive",group:0,tag:"Imperative",reason:"inf-and-inf"},{match:"^[%Noun|Verb%] to",group:0,tag:"Imperative",reason:"commit-to"},{match:"^[#Infinitive] #Adjective? #Singular #Singular",group:0,tag:"Imperative",reason:"maintain-eye-contact"},{match:"do not (forget|omit|neglect) to [#Infinitive]",group:0,tag:"Imperative",reason:"do-not-forget"},{match:"^[(ask|wear|pay|look|help|show|watch|act|fix|kill|stop|start|turn|try|win)] #Noun",group:0,tag:"Imperative",reason:"pay-attention"}],[{match:"(that|which) were [%Adj|Gerund%]",group:0,tag:"Gerund",reason:"that-were-growing"},{match:"#Gerund [#Gerund] #Plural",group:0,tag:"Adjective",reason:"hard-working-fam"}],[{match:"u r",tag:"#Pronoun #Copula",reason:"u r"},{match:"#Noun [(who|whom)]",group:0,tag:"Determiner",reason:"captain-who"},{match:"[had] #Noun+ #PastTense",group:0,tag:"Condition",reason:"had-he"},{match:"[were] #Noun+ to #Infinitive",group:0,tag:"Condition",reason:"were-he"},{match:"some sort of",tag:"Adjective Noun Conjunction",reason:"some-sort-of"},{match:"of some sort",tag:"Conjunction Adjective Noun",reason:"of-some-sort"},{match:"[such] (a|an|is)? #Noun",group:0,tag:"Determiner",reason:"such-skill"},{match:"[right] (before|after|in|into|to|toward)",group:0,tag:"#Adverb",reason:"right-into"},{match:"#Preposition [about]",group:0,tag:"Adjective",reason:"at-about"},{match:"(are|#Modal|see|do|for) [ya]",group:0,tag:"Pronoun",reason:"are-ya"},{match:"[long live] .",group:0,tag:"#Adjective #Infinitive",reason:"long-live"},{match:"[plenty] of",group:0,tag:"#Uncountable",reason:"plenty-of"},{match:"(always|nearly|barely|practically) [there]",group:0,tag:"Adjective",reason:"always-there"},{match:"[there] (#Adverb|#Pronoun)? #Copula",group:0,tag:"There",reason:"there-is"},{match:"#Copula [there] .",group:0,tag:"There",reason:"is-there"},{match:"#Modal #Adverb? [there]",group:0,tag:"There",reason:"should-there"},{match:"^[do] (you|we|they)",group:0,tag:"QuestionWord",reason:"do-you"},{match:"^[does] (he|she|it|#ProperNoun)",group:0,tag:"QuestionWord",reason:"does-he"},{match:"a [while]",group:0,tag:"Noun",reason:"a-while"},{match:"guess who",tag:"#Infinitive #QuestionWord",reason:"guess-who"},{match:"[fucking] !#Verb",group:0,tag:"#Gerund",reason:"f-as-gerund"}],[{match:"university of #Place",tag:"Organization",reason:"university-of-Foo"},{match:"#Noun (&|n) #Noun",tag:"Organization",reason:"Noun-&-Noun"},{match:"#Organization of the? #ProperNoun",tag:"Organization",reason:"org-of-place",safe:!0},{match:"#Organization #Country",tag:"Organization",reason:"org-country"},{match:"#ProperNoun #Organization",tag:"Organization",notIf:"#FirstName",reason:"titlecase-org"},{match:"#ProperNoun (ltd|co|inc|dept|assn|bros)",tag:"Organization",reason:"org-abbrv"},{match:"the [#Acronym]",group:0,tag:"Organization",reason:"the-acronym",safe:!0},{match:"government of the? [#Place+]",tag:"Organization",reason:"government-of-x"},{match:"(health|school|commerce) board",tag:"Organization",reason:"school-board"},{match:"(nominating|special|conference|executive|steering|central|congressional) committee",tag:"Organization",reason:"special-comittee"},{match:"(world|global|international|national|#Demonym) #Organization",tag:"Organization",reason:"global-org"},{match:"#Noun+ (public|private) school",tag:"School",reason:"noun-public-school"}],[{match:"(west|north|south|east|western|northern|southern|eastern)+ #Place",tag:"Region",reason:"west-norfolk"},{match:"#City [(al|ak|az|ar|ca|ct|dc|fl|ga|id|il|nv|nh|nj|ny|oh|pa|sc|tn|tx|ut|vt|pr)]",group:0,tag:"Region",reason:"us-state"},{match:"portland [or]",group:0,tag:"Region",reason:"portland-or"},{match:"#ProperNoun+ (cliff|place|range|pit|place|point|room|grounds|ruins)",tag:"Place",reason:"foo-point"},{match:"in [#ProperNoun] #Place",group:0,tag:"Place",reason:"propernoun-place"},{match:"#Value #Noun (st|street|rd|road|crescent|cr|way|tr|terrace|avenue|ave)",tag:"Address",reason:"address-st"}],[{match:"[so] #Noun",group:0,tag:"Conjunction",reason:"so-conj"},{match:"[(who|what|where|why|how|when)] #Noun #Copula #Adverb? (#Verb|#Adjective)",group:0,tag:"Conjunction",reason:"how-he-is-x"},{match:"#Copula [(who|what|where|why|how|when)] #Noun",group:0,tag:"Conjunction",reason:"when-he"},{match:"#Verb [that] #Pronoun",group:0,tag:"Conjunction",reason:"said-that-he"},{match:"#Noun [that] #Copula",group:0,tag:"Conjunction",reason:"that-are"},{match:"#Noun [that] #Verb #Adjective",group:0,tag:"Conjunction",reason:"that-seem"},{match:"#Noun #Copula not? [that] #Adjective",group:0,tag:"Adverb",reason:"that-adj"},{match:"#Verb #Adverb? #Noun [(that|which)]",group:0,tag:"Preposition",reason:"that-prep"},{match:"@hasComma [which] (#Pronoun|#Verb)",group:0,tag:"Preposition",reason:"which-copula"},{match:"#Noun [like] #Noun",group:0,tag:"Preposition",reason:"noun-like"},{match:"^[like] #Determiner",group:0,tag:"Preposition",reason:"like-the"},{match:"a #Noun [like] (#Noun|#Determiner)",group:0,tag:"Preposition",reason:"a-noun-like"},{match:"#Adverb [like]",group:0,tag:"Verb",reason:"really-like"},{match:"(not|nothing|never) [like]",group:0,tag:"Preposition",reason:"nothing-like"},{match:"#Infinitive #Pronoun [like]",group:0,tag:"Preposition",reason:"treat-them-like"},{match:"[#QuestionWord] (#Pronoun|#Determiner)",group:0,tag:"Preposition",reason:"how-he"},{match:"[#QuestionWord] #Participle",group:0,tag:"Preposition",reason:"when-stolen"},{match:"[how] (#Determiner|#Copula|#Modal|#PastTense)",group:0,tag:"QuestionWord",reason:"how-is"},{match:"#Plural [(who|which|when)] .",group:0,tag:"Preposition",reason:"people-who"}],[{match:"holy (shit|fuck|hell)",tag:"Expression",reason:"swears-expression"},{match:"^[(well|so|okay|now)] !#Adjective?",group:0,tag:"Expression",reason:"well-"},{match:"^come on",tag:"Expression",reason:"come-on"},{match:"(say|says|said) [sorry]",group:0,tag:"Expression",reason:"say-sorry"},{match:"^(ok|alright|shoot|hell|anyways)",tag:"Expression",reason:"ok-"},{match:"^(say && @hasComma)",tag:"Expression",reason:"say-"},{match:"^(like && @hasComma)",tag:"Expression",reason:"like-"},{match:"^[(dude|man|girl)] #Pronoun",group:0,tag:"Expression",reason:"dude-i"}]),nc=null;var rc={postTagger:function(e){const{world:t}=e,{model:n,methods:r}=t;nc=nc||r.one.buildNet(n.two.matches,t);let a=r.two.quickSplit(e.document).map((e=>{let t=e[0];return[t.index[0],t.index[1],t.index[1]+e.length]})),o=e.update(a);return o.cache(),o.sweep(nc),e.uncache(),e},tagger:e=>e.compute(["lexicon","preTagger","postTagger"])};const ac={api:function(e){e.prototype.confidence=function(){let e=0,t=0;return this.docs.forEach((n=>{n.forEach((n=>{t+=1,e+=n.confidence||1}))})),0===t?1:(e=>Math.round(100*e)/100)(e/t)},e.prototype.tagger=function(){return this.compute(["tagger"])}},compute:rc,model:{two:{matches:tc}},hooks:["postTagger"]};var oc=ac,ic=function(e,t){let n=function(e){return Object.keys(e.hooks).filter((e=>!e.startsWith("#")&&!e.startsWith("%")))}(t);if(0===n.length)return e;e._cache||e.cache();let r=e._cache;return e.filter(((e,t)=>n.some((e=>r[t].has(e)))))},sc=function(e,t){let n=t;"string"==typeof t&&(n=this.buildNet([{match:t}]));let r=this.tokenize(e),a=ic(r,n);return a.found?(a.compute(["index","tagger"]),a.match(t)):r.none()},lc={lib:{lazy:sc}},uc=function(e,t){let n=t;return e.forEach((e=>{e.has("#Infinitive")||(n=function(e,t){let n=(0,e.methods.two.transform.verb.conjugate)(t,e.model);return e.has("#Gerund")?n.Gerund:e.has("#PastTense")?n.PastTense:e.has("#PresentTense")?n.PresentTense:e.has("#Gerund")?n.Gerund:t}(e,t)),e.replaceWith(n)})),e},cc=function(e,t,n){let r=e.split(/ /g).map((e=>e.toLowerCase().trim()));r=r.filter((e=>e)),r=r.map((e=>`{${e}}`)).join(" ");let a=this.match(r);return n&&(a=a.if(n)),a.has("#Verb")?uc(a,t):a.has("#Noun")?function(e,t){let n=t;e.has("#Plural")&&(n=(0,e.methods.two.transform.noun.toPlural)(t,e.model)),e.replaceWith(n,{possessives:!0})}(a,t):a.has("#Adverb")?function(e,t){const{toAdverb:n}=e.methods.two.transform.adjective;let r=n(t);r&&e.replaceWith(r)}(a,t):a.has("#Adjective")?function(e,t){const{toComparative:n,toSuperlative:r}=e.methods.two.transform.adjective;let a=t;e.has("#Comparative")?a=n(a,e.model):e.has("#Superlative")&&(a=r(a,e.model)),a&&e.replaceWith(a)}(a,t):this},hc={api:function(e){e.prototype.swap=cc}};v.plugin(Gu),v.plugin(Zu),v.plugin(oc),v.plugin(lc),v.plugin(hc);const dc=function(e){const{fromComparative:t,fromSuperlative:n}=e.methods.two.transform.adjective;let r=e.text("normal");return e.has("#Comparative")?t(r,e.model):e.has("#Superlative")?n(r,e.model):r};var gc={api:function(e){class Adjectives extends e{constructor(e,t,n){super(e,t,n),this.viewType="Adjectives"}json(e={}){const{toAdverb:t,toNoun:n,toSuperlative:r,toComparative:a}=this.methods.two.transform.adjective;return e.normal=!0,this.map((o=>{let i=o.toView().json(e)[0]||{},s=dc(o);return i.adjective={adverb:t(s,this.model),noun:n(s,this.model),superlative:r(s,this.model),comparative:a(s,this.model)},i}),[])}adverbs(){return this.before("#Adverb+$").concat(this.after("^#Adverb+"))}conjugate(e){const{toComparative:t,toSuperlative:n,toNoun:r,toAdverb:a}=this.methods.two.transform.adjective;return this.getNth(e).map((e=>{let o=dc(e);return{Adjective:o,Comparative:t(o,this.model),Superlative:n(o,this.model),Noun:r(o,this.model),Adverb:a(o,this.model)}}),[])}toComparative(e){const{toComparative:t}=this.methods.two.transform.adjective;return this.getNth(e).map((e=>{let n=dc(e),r=t(n,this.model);return e.replaceWith(r)}))}toSuperlative(e){const{toSuperlative:t}=this.methods.two.transform.adjective;return this.getNth(e).map((e=>{let n=dc(e),r=t(n,this.model);return e.replaceWith(r)}))}toAdverb(e){const{toAdverb:t}=this.methods.two.transform.adjective;return this.getNth(e).map((e=>{let n=dc(e),r=t(n,this.model);return e.replaceWith(r)}))}toNoun(e){const{toNoun:t}=this.methods.two.transform.adjective;return this.getNth(e).map((e=>{let n=dc(e),r=t(n,this.model);return e.replaceWith(r)}))}}e.prototype.adjectives=function(e){let t=this.match("#Adjective");return t=t.getNth(e),new Adjectives(t.document,t.pointer)},e.prototype.superlatives=function(e){let t=this.match("#Superlative");return t=t.getNth(e),new Adjectives(t.document,t.pointer)},e.prototype.comparatives=function(e){let t=this.match("#Comparative");return t=t.getNth(e),new Adjectives(t.document,t.pointer)}}},mc={api:function(e){class Adverbs extends e{constructor(e,t,n){super(e,t,n),this.viewType="Adverbs"}conjugate(e){return this.getNth(e).map((e=>{let t=function(e){return e.compute("root").text("root")}(e);return{Adverb:e.text("normal"),Adjective:t}}),[])}json(e={}){const t=this.methods.two.transform.adjective.fromAdverb;return e.normal=!0,this.map((n=>{let r=n.toView().json(e)[0]||{};return r.adverb={adjective:t(r.normal)},r}),[])}}e.prototype.adverbs=function(e){let t=this.match("#Adverb");return t=t.getNth(e),new Adverbs(t.document,t.pointer)}}},pc=function(e){let t=this;return t=function(e){let t=e.parentheses();return t=t.filter((e=>e.wordCount()>=3&&e.has("#Verb")&&e.has("#Noun"))),e.splitOn(t)}(t),t=function(e){let t=e.quotations();return t=t.filter((e=>e.wordCount()>=3&&e.has("#Verb")&&e.has("#Noun"))),e.splitOn(t)}(t),t=function(e){let t=e.match("@hasComma");return t=t.filter((e=>{if(1===e.growLeft(".").wordCount())return!1;if(1===e.growRight(". .").wordCount())return!1;let t=e.grow(".");return t=t.ifNo("@hasComma @hasComma"),t=t.ifNo("@hasComma (and|or) ."),t=t.ifNo("(#City && @hasComma) #Country"),t=t.ifNo("(#WeekDay && @hasComma) #Date"),t=t.ifNo("(#Date+ && @hasComma) #Value"),t=t.ifNo("(#Adjective && @hasComma) #Adjective"),t.found})),e.splitAfter(t)}(t),t=t.splitAfter("(@hasEllipses|@hasSemicolon|@hasDash|@hasColon)"),t=t.splitAfter("^#Pronoun (said|says)"),t=t.splitBefore("(said|says) #ProperNoun$"),t=t.splitBefore(". . if .{4}"),t=t.splitBefore("and while"),t=t.splitBefore("now that"),t=t.splitBefore("ever since"),t=t.splitBefore("(supposing|although)"),t=t.splitBefore("even (while|if|though)"),t=t.splitBefore("(whereas|whose)"),t=t.splitBefore("as (though|if)"),t=t.splitBefore("(til|until)"),"number"==typeof e&&(t=t.get(e)),t},fc=function(e){let t=[],n=null;return e.clauses().docs.forEach((e=>{e.forEach((e=>{e.chunk&&e.chunk===n?t[t.length-1][2]=e.index[1]+1:(n=e.chunk,t.push([e.index[0],e.index[1],e.index[1]+1]))})),n=null})),e.update(t)},vc=function(e){class Chunks extends e{constructor(e,t,n){super(e,t,n),this.viewType="Chunks"}isVerb(){return this.filter((e=>e.has("")))}isNoun(){return this.filter((e=>e.has("")))}isAdjective(){return this.filter((e=>e.has("")))}isPivot(){return this.filter((e=>e.has("")))}debug(){return this.toView().debug("chunks"),this}update(e){let t=new Chunks(this.document,e);return t._cache=this._cache,t}}e.prototype.chunks=function(e){let t=fc(this);return t=t.getNth(e),new Chunks(this.document,t.pointer)},e.prototype.clauses=pc};const bc={this:"Noun",then:"Pivot"};var yc=function(e){for(let t=0;t",group:0,chunk:"Verb"},{match:"#Noun of #Determiner? #Noun",chunk:"Noun"},{match:"#Value+ #Adverb? #Adjective",chunk:"Noun"},{match:"the [#Adjective] #Noun",chunk:"Noun"},{match:"#Singular in #Determiner? #Singular",chunk:"Noun"},{match:"#Plural [in] #Determiner? #Noun",group:0,chunk:"Pivot"},{match:"#Noun and #Determiner? #Noun",notIf:"(#Possessive|#Pronoun)",chunk:"Noun"}];let Pc=null;var Ac=function(e,t,n){const{methods:r}=n;Pc=Pc||r.one.buildNet(kc,n),e.sweep(Pc)};const Cc=function(e,t){if(("undefined"!=typeof process&&process.env?process.env:self.env||{}).DEBUG_CHUNKS){let n=(e.normal+"'").padEnd(8);console.log(` | '${n} → ${t.padEnd(12)}  -fallback- `)}e.chunk=t};var Nc=function(e){for(let t=0;t{for(let r=0;r{if("Verb"===e.chunk){const t=e.terms.find((e=>e.tags.has("Verb")));t||e.terms.forEach((e=>e.chunk=null))}}))},xc={chunks:function(e){const{document:t,world:n}=e;yc(t),wc(t),Ac(e,t,n),Nc(t),jc(t)}},Ic={compute:xc,api:vc,hooks:["chunks"]};const Tc=/\./g;var Hc=function(e){class Acronyms extends e{constructor(e,t,n){super(e,t,n),this.viewType="Acronyms"}strip(){return this.docs.forEach((e=>{e.forEach((e=>{e.text=e.text.replace(Tc,""),e.normal=e.normal.replace(Tc,"")}))})),this}addPeriods(){return this.docs.forEach((e=>{e.forEach((e=>{e.text=e.text.replace(Tc,""),e.normal=e.normal.replace(Tc,""),e.text=e.text.split("").join(".")+".",e.normal=e.normal.split("").join(".")+"."}))})),this}}e.prototype.acronyms=function(e){let t=this.match("#Acronym");return t=t.getNth(e),new Acronyms(t.document,t.pointer)}};const Dc=/\(/,Gc=/\)/,Ec=function(e,t){for(;t{e[0].pre=e[0].pre.replace(Dc,"");let t=e[e.length-1];t.post=t.post.replace(Gc,"")})),e}(this)}}e.prototype.parentheses=function(e){let t=function(e){let t=[];return e.docs.forEach((e=>{for(let n=0;n{e.forEach((e=>{e.text=e.text.replace(Fc,""),e.normal=e.normal.replace(Fc,"")}))})),this}}e.prototype.possessives=function(e){let t=function(e){let t=e.match("#Possessive+");return t.has("#Person")&&(t=t.growLeft("#Person+")),t.has("#Place")&&(t=t.growLeft("#Place+")),t.has("#Organization")&&(t=t.growLeft("#Organization+")),t}(this);return t=t.getNth(e),new Possessives(t.document,t.pointer)}};const zc={'"':'"',""":""","'":"'","“":"”","‘":"’","‟":"”","‛":"’","„":"”","⹂":"”","‚":"’","«":"»","‹":"›","‵":"′","‶":"″","‷":"‴","〝":"〞","`":"´","〟":"〞"},$c=RegExp("["+Object.keys(zc).join("")+"]"),Lc=RegExp("["+Object.values(zc).join("")+"]"),Sc=function(e,t){const n=e[t].pre.match($c)[0]||"";if(!n||!zc[n])return null;const r=zc[n];for(;t{e[0].pre=e[0].pre.replace($c,"");let t=e[e.length-1];t.post=t.post.replace(Lc,"")}))}(this)}}e.prototype.quotations=function(e){let t=function(e){let t=[];return e.docs.forEach((e=>{for(let n=0;n{e.prototype[t[0]]=function(e){let n=this.match(t[1]);return"number"==typeof e?n.get(e):n}})),e.prototype.phoneNumbers=Bc,Wc.forEach((t=>{e.prototype[t[0]]=e.prototype[t[1]]}))},Kc={api:function(e){Hc(e),Oc(e),Vc(e),Mc(e),qc(e)}};const Uc=function(e,t){e.docs.forEach((e=>{e.forEach(t)}))};var Rc={case:e=>{Uc(e,(e=>{e.text=e.text.toLowerCase()}))},unicode:e=>{const t=e.world,n=t.methods.one.killUnicode;Uc(e,(e=>e.text=n(e.text,t)))},whitespace:e=>{Uc(e,(e=>{e.post=e.post.replace(/\s+/g," "),e.post=e.post.replace(/\s([.,?!:;])/g,"$1"),e.pre=e.pre.replace(/\s+/g,"")}))},punctuation:e=>{Uc(e,(e=>{e.post=e.post.replace(/[–—-]/g," "),e.post=e.post.replace(/[,:;]/g,""),e.post=e.post.replace(/\.{2,}/g,""),e.post=e.post.replace(/\?{2,}/g,"?"),e.post=e.post.replace(/!{2,}/g,"!"),e.post=e.post.replace(/\?!+/g,"?")}));let t=e.docs,n=t[t.length-1];if(n&&n.length>0){let e=n[n.length-1];e.post=e.post.replace(/ /g,"")}},contractions:e=>{e.contractions().expand()},acronyms:e=>{e.acronyms().strip()},parentheses:e=>{e.parentheses().strip()},possessives:e=>{e.possessives().strip()},quotations:e=>{e.quotations().strip()},emoji:e=>{e.emojis().remove()},honorifics:e=>{e.match("#Honorific+ #Person").honorifics().remove()},adverbs:e=>{e.adverbs().remove()},nouns:e=>{e.nouns().toSingular()},verbs:e=>{e.verbs().toInfinitive()},numbers:e=>{e.numbers().toNumber()},debullet:e=>{const t=/^\s*([-–—*•])\s*$/;return e.docs.forEach((e=>{t.test(e[0].pre)&&(e[0].pre=e[0].pre.replace(t,""))})),e}};const Qc=e=>e.split("|").reduce(((e,t)=>(e[t]=!0,e)),{}),_c="unicode|punctuation|whitespace|acronyms",Xc="|case|contractions|parentheses|quotations|emoji|honorifics|debullet",Zc={light:Qc(_c),medium:Qc(_c+Xc),heavy:Qc(_c+Xc+"|possessives|adverbs|nouns|verbs")};var Yc={api:function(e){e.prototype.normalize=function(e="light"){return"string"==typeof e&&(e=Zc[e]),Object.keys(e).forEach((t=>{Rc.hasOwnProperty(t)&&Rc[t](this,e[t])})),this}}},eh=function(e){let t=e.clauses().match(""),n=t.match("@hasComma");return n=n.not("#Place"),n.found&&(t=t.splitAfter(n)),t=t.splitOn("#Expression"),t=t.splitOn("(he|she|we|you|they|i)"),t=t.splitOn("(#Noun|#Adjective) [(he|him|she|it)]",0),t=t.splitOn("[(he|him|she|it)] (#Determiner|#Value)",0),t=t.splitBefore("#Noun [(the|a|an)] #Adjective? #Noun",0),t=t.splitOn("[(here|there)] #Noun",0),t=t.splitOn("[#Noun] (here|there)",0),t=t.splitBefore("(our|my|their|your)"),t=t.splitOn("#Noun [#Determiner]",0),t=t.if("#Noun"),t};const th=["after","although","as if","as long as","as","because","before","even if","even though","ever since","if","in order that","provided that","since","so that","than","that","though","unless","until","what","whatever","when","whenever","where","whereas","wherever","whether","which","whichever","who","whoever","whom","whomever","whose"];var nh=function(e){if(e.before("#Preposition$").found)return!0;if(!e.before().found)return!1;for(let t=0;t3&&n.endsWith("s")&&!n.endsWith("ss")},ah=function(e){let t=function(e){let t=e.clone();return t=t.match("#Noun+"),t=t.remove("(#Adjective|#Preposition|#Determiner|#Value)"),t=t.not("#Possessive"),t=t.first(),t.found?t:e}(e);return{determiner:e.match("#Determiner").eq(0),adjectives:e.match("#Adjective"),number:e.values(),isPlural:rh(e,t),isSubordinate:nh(e),root:t}};const oh=e=>e.text(),ih=e=>e.json({terms:!1,normal:!0}).map((e=>e.normal)),sh=function(e){if(!e.found)return null;let t=e.values(0);return t.found?(t.parse()[0]||{}).num:null};var lh=function(e){let t=ah(e);return{root:oh(t.root),number:sh(t.number),determiner:oh(t.determiner),adjectives:ih(t.adjectives),isPlural:t.isPlural,isSubordinate:t.isSubordinate}},uh=function(e){return!e.has("^(#Uncountable|#ProperNoun|#Place|#Pronoun|#Acronym)+$")};const ch={tags:!0};var hh=function(e,t){if(!0===t.isPlural)return e;if(t.root.has("#Possessive")&&(t.root=t.root.possessives().strip()),!uh(t.root))return e;const{methods:n,model:r}=e.world,{toPlural:a}=n.two.transform.noun;let o=a(t.root.text({keepPunct:!1}),r);e.match(t.root).replaceWith(o,ch).tag("Plural","toPlural"),t.determiner.has("(a|an)")&&e.remove(t.determiner);let i=t.root.after("not? #Adverb+? [#Copula]",0);return i.found&&(i.has("is")?e.replace(i,"are"):i.has("was")&&e.replace(i,"were")),e};const dh={tags:!0};var gh=function(e,t){if(!1===t.isPlural)return e;const{methods:n,model:r}=e.world,{toSingular:a}=n.two.transform.noun;let o=a(t.root.text("normal"),r);return e.replace(t.root,o,dh).tag("Singular","toPlural"),e},mh=function(e){class Nouns extends e{constructor(e,t,n){super(e,t,n),this.viewType="Nouns"}parse(e){return this.getNth(e).map(ah)}json(e){let t="object"==typeof e?e:{};return this.getNth(e).map((e=>{let n=e.toView().json(t)[0]||{};return t&&!0!==t.noun&&(n.noun=lh(e)),n}),[])}conjugate(e){const t=this.world.methods.two.transform.noun;return this.getNth(e).map((e=>{let n=ah(e),r=n.root.compute("root").text("root"),a={Singular:r};return uh(n.root)&&(a.Plural=t.toPlural(r,this.model)),a.Singular===a.Plural&&delete a.Plural,a}),[])}isPlural(e){let t=this.filter((e=>ah(e).isPlural));return t.getNth(e)}isSingular(e){let t=this.filter((e=>!ah(e).isPlural));return t.getNth(e)}adjectives(e){let t=this.update([]);return this.forEach((e=>{let n=ah(e).adjectives;n.found&&(t=t.concat(n))})),t.getNth(e)}toPlural(e){return this.getNth(e).map((e=>hh(e,ah(e))))}toSingular(e){return this.getNth(e).map((e=>{let t=ah(e);return gh(e,t)}))}update(e){let t=new Nouns(this.document,e);return t._cache=this._cache,t}}e.prototype.nouns=function(e){let t=eh(this);return t=t.getNth(e),new Nouns(this.document,t.pointer)}},ph={api:mh},fh=function(e,t){let n=e.match("#Fraction+");return n=n.filter((e=>!e.lookBehind("#Value and$").found)),n=n.notIf("#Value seconds"),"number"==typeof t&&(n=n.eq(t)),n},vh=e=>{const t=[{reg:/^(minus|negative)[\s-]/i,mult:-1},{reg:/^(a\s)?half[\s-](of\s)?/i,mult:.5}];for(let n=0;n{if(bh.ones.hasOwnProperty(e)){if(t.ones||t.teens)return!1}else if(bh.teens.hasOwnProperty(e)){if(t.ones||t.teens||t.tens)return!1}else if(bh.tens.hasOwnProperty(e)&&(t.ones||t.teens||t.tens))return!1;return!0},wh=function(e){let t="0.";for(let n=0;ne=(e=(e=(e=(e=(e=(e=(e=e.replace(/1st$/,"1")).replace(/2nd$/,"2")).replace(/3rd$/,"3")).replace(/([4567890])r?th$/,"$1")).replace(/^[$€¥£¢]/,"")).replace(/[%$€¥£¢]$/,"")).replace(/,/g,"")).replace(/([0-9])([a-z\u00C0-\u00FF]{1,2})$/,"$1");const Ph=/^([0-9,. ]+)\/([0-9,. ]+)$/,Ah={"a few":3,"a couple":2,"a dozen":12,"two dozen":24,zero:0},Ch=e=>Object.keys(e).reduce(((t,n)=>t+=e[n]),0);var Nh=function(e){if(!0===Ah.hasOwnProperty(e))return Ah[e];if("a"===e||"an"===e)return 1;const t=vh(e);let n=null,r={},a=0,o=!1;const i=(e=t.str).split(/[ -]/);for(let e=0;e#Value+] out of every? [#Value+]");if(!0!==t.found)return null;let{num:n,den:r}=t.groups();return n&&r?(n=xh(n),r=xh(r),n&&r&&"number"==typeof n&&"number"==typeof r?{numerator:n,denominator:r}:null):null}(e)||function(e){let t=e.match("[(#Cardinal|a)+] [#Fraction+]");if(!0!==t.found)return null;let{num:n,den:r}=t.groups();n=n.has("a")?1:xh(n);let a=r.text("reduced");return jh.test(a)&&(a=a.replace(jh,""),r=r.replaceWith(a)),r=Ih.hasOwnProperty(a)?Ih[a]:xh(r),"number"==typeof n&&"number"==typeof r?{numerator:n,denominator:r}:null}(e)||function(e){let t=e.match("^#Ordinal$");return!0!==t.found?null:e.lookAhead("^of .")?{numerator:1,denominator:xh(t)}:null}(e)||null;return null!==t&&t.numerator&&t.denominator&&(t.decimal=t.numerator/t.denominator,t.decimal=(e=>{let t=Math.round(1e3*e)/1e3;return 0===t&&0!==e?e:t})(t.decimal)),t},Hh=function(e){if(e<1e6)return String(e);let t;return t="number"==typeof e?e.toFixed(0):e,-1===t.indexOf("e+")?t:t.replace(".","").split("e+").reduce((function(e,t){return e+Array(t-e.length+2).join(0)}))};const Dh=[["ninety",90],["eighty",80],["seventy",70],["sixty",60],["fifty",50],["forty",40],["thirty",30],["twenty",20]],Gh=["","one","two","three","four","five","six","seven","eight","nine","ten","eleven","twelve","thirteen","fourteen","fifteen","sixteen","seventeen","eighteen","nineteen"],Eh=[[1e24,"septillion"],[1e20,"hundred sextillion"],[1e21,"sextillion"],[1e20,"hundred quintillion"],[1e18,"quintillion"],[1e17,"hundred quadrillion"],[1e15,"quadrillion"],[1e14,"hundred trillion"],[1e12,"trillion"],[1e11,"hundred billion"],[1e9,"billion"],[1e8,"hundred million"],[1e6,"million"],[1e5,"hundred thousand"],[1e3,"thousand"],[100,"hundred"],[1,"one"]],Oh=function(e){let t=[];if(e>100)return t;for(let n=0;n=Dh[n][1]&&(e-=Dh[n][1],t.push(Dh[n][0]));return Gh[e]&&t.push(Gh[e]),t};var Fh=function(e){let t=e.num;if(0===t||"0"===t)return"zero";t>1e21&&(t=Hh(t));let n=[];t<0&&(n.push("minus"),t=Math.abs(t));let r=function(e){let t=e,n=[];return Eh.forEach((r=>{if(e>=r[0]){let e=Math.floor(t/r[0]);t-=e*r[0],e&&n.push({unit:r[1],count:e})}})),n}(t);for(let e=0;e1&&n.push("and")),n=n.concat(Oh(r[e].count)),n.push(t)}return n=n.concat((e=>{const t=["zero","one","two","three","four","five","six","seven","eight","nine"];let n=[],r=Hh(e).match(/\.([0-9]+)/);if(!r||!r[0])return n;n.push("point");let a=r[0].split("");for(let e=0;ee)),0===n.length&&(n[0]=""),n.join(" ")},Vh=function(e){return e.numerator&&e.denominator?`${Fh({num:e.numerator})} out of ${Fh({num:e.denominator})}`:""};const zh={one:"first",two:"second",three:"third",five:"fifth",eight:"eighth",nine:"ninth",twelve:"twelfth",twenty:"twentieth",thirty:"thirtieth",forty:"fortieth",fourty:"fourtieth",fifty:"fiftieth",sixty:"sixtieth",seventy:"seventieth",eighty:"eightieth",ninety:"ninetieth"};var $h=e=>{let t=Fh(e).split(" "),n=t[t.length-1];return zh.hasOwnProperty(n)?t[t.length-1]=zh[n]:t[t.length-1]=n.replace(/y$/,"i")+"th",t.join(" ")},Lh=function(e){if(!e.numerator||!e.denominator)return"";let t=Fh({num:e.numerator}),n=$h({num:e.denominator});return 2===e.denominator&&(n="half"),t&&n?(1!==e.numerator&&(n+="s"),`${t} ${n}`):""},Sh=function(e){class Fractions extends e{constructor(e,t,n){super(e,t,n),this.viewType="Fractions"}parse(e){return this.getNth(e).map(Th)}get(e){return this.getNth(e).map(Th)}json(e){return this.getNth(e).map((t=>{let n=t.toView().json(e)[0],r=Th(t);return n.fraction=r,n}),[])}toDecimal(e){return this.getNth(e).forEach((e=>{let{decimal:t}=Th(e);(e=e.replaceWith(String(t),!0)).tag("NumericValue"),e.unTag("Fraction")})),this}toFraction(e){return this.getNth(e).forEach((e=>{let t=Th(e);if(t&&"number"==typeof t.numerator&&"number"==typeof t.denominator){let n=`${t.numerator}/${t.denominator}`;this.replace(e,n)}})),this}toOrdinal(e){return this.getNth(e).forEach((e=>{let t=Th(e),n=Lh(t);e.after("^#Noun").found&&(n+=" of"),e.replaceWith(n)})),this}toCardinal(e){return this.getNth(e).forEach((e=>{let t=Th(e),n=Vh(t);e.replaceWith(n)})),this}toPercentage(e){return this.getNth(e).forEach((e=>{let{decimal:t}=Th(e),n=100*t;n=Math.round(100*n)/100,e.replaceWith(`${n}%`)})),this}}e.prototype.fractions=function(e){let t=fh(this);return t=t.getNth(e),new Fractions(this.document,t.pointer)}};const Mh="twenty|thirty|forty|fifty|sixty|seventy|eighty|ninety|fourty";var Bh=function(e){let t=e.match("#Value+");if(t.has("#NumericValue #NumericValue")&&(t.has("#Value @hasComma #Value")?t.splitAfter("@hasComma"):t.has("#NumericValue #Fraction")?t.splitAfter("#NumericValue #Fraction"):t=t.splitAfter("#NumericValue")),t.has("#Value #Value #Value")&&!t.has("#Multiple")&&t.has("("+Mh+") #Cardinal #Cardinal")&&(t=t.splitAfter("("+Mh+") #Cardinal")),t.has("#Value #Value")){t.has("#NumericValue #NumericValue")&&(t=t.splitOn("#Year")),t.has("("+Mh+") (eleven|twelve|thirteen|fourteen|fifteen|sixteen|seventeen|eighteen|nineteen)")&&(t=t.splitAfter("("+Mh+")"));let e=t.match("#Cardinal #Cardinal");if(e.found&&!t.has("(point|decimal|#Fraction)")&&!e.has("#Cardinal (#Multiple|point|decimal)")){let n=t.has(`(one|two|three|four|five|six|seven|eight|nine) (${Mh})`),r=e.has("("+Mh+") #Cardinal"),a=e.has("#Multiple #Value");n||r||a||e.terms().forEach((e=>{t=t.splitOn(e)}))}t.match("#Ordinal #Ordinal").match("#TextValue").found&&!t.has("#Multiple")&&(t.has("("+Mh+") #Ordinal")||(t=t.splitAfter("#Ordinal"))),t=t.splitBefore("#Ordinal [#Cardinal]",0),t.has("#TextValue #NumericValue")&&!t.has("("+Mh+"|#Multiple)")&&(t=t.splitBefore("#TextValue #NumericValue"))}return t=t.splitAfter("#NumberRange"),t=t.splitBefore("#Year"),t},Jh=function(e){if("string"==typeof e)return{num:Nh(e)};let t=e.text("reduced"),n=e.growRight("#Unit").match("#Unit$").text("machine"),r=/[0-9],[0-9]/.test(e.text("text"));if(1===e.terms().length&&!e.has("#Multiple")){let a=function(e,t){let n=(e=e.replace(/,/g,"")).split(/([0-9.,]*)/),[r,a]=n,o=n.slice(2).join("");return""!==a&&t.length<2?(a=Number(a||e),"number"!=typeof a&&(a=null),o=o||"","st"!==o&&"nd"!==o&&"rd"!==o&&"th"!==o||(o=""),{prefix:r||"",num:a,suffix:o}):null}(t,e);if(null!==a)return a.hasComma=r,a.unit=n,a}let a=e.match("#Fraction{2,}$");a=!1===a.found?e.match("^#Fraction$"):a;let o=null;a.found&&(a.has("#Value and #Value #Fraction")&&(a=a.match("and #Value #Fraction")),o=Th(a),t=(e=(e=e.not(a)).not("and$")).text("reduced"));let i=0;return t&&(i=Nh(t)||0),o&&o.decimal&&(i+=o.decimal),{hasComma:r,prefix:"",num:i,suffix:"",isOrdinal:e.has("#Ordinal"),isText:e.has("#TextValue"),isFraction:e.has("#Fraction"),isMoney:e.has("#Money"),unit:n}},Wh=function(e){let t=e.num;if(!t&&0!==t)return null;let n=t%100;if(n>10&&n<20)return String(t)+"th";const r={0:"th",1:"st",2:"nd",3:"rd"};let a=Hh(t),o=a.slice(a.length-1,a.length);return a+=r[o]?r[o]:"th",a};const qh={"¢":"cents",$:"dollars","£":"pounds","¥":"yen","€":"euros","₡":"colón","฿":"baht","₭":"kip","₩":"won","₹":"rupees","₽":"ruble","₺":"liras"},Kh={"%":"percent","°":"degrees"};var Uh=function(e){let t={suffix:"",prefix:e.prefix};return qh.hasOwnProperty(e.prefix)&&(t.suffix+=" "+qh[e.prefix],t.prefix=""),Kh.hasOwnProperty(e.suffix)&&(t.suffix+=" "+Kh[e.suffix]),t.suffix&&1===e.num&&(t.suffix=t.suffix.replace(/s$/,"")),!t.suffix&&e.suffix&&(t.suffix+=" "+e.suffix),t},Rh=function(e,t){if("TextOrdinal"===t){let{prefix:t,suffix:n}=Uh(e);return t+$h(e)+n}if("Ordinal"===t)return e.prefix+Wh(e)+e.suffix;if("TextCardinal"===t){let{prefix:t,suffix:n}=Uh(e);return t+Fh(e)+n}let n=e.num;return e.hasComma&&(n=n.toLocaleString()),e.prefix+String(n)+e.suffix},Qh=function(e){class Numbers extends e{constructor(e,t,n){super(e,t,n),this.viewType="Numbers"}parse(e){return this.getNth(e).map(Jh)}get(e){return this.getNth(e).map(Jh).map((e=>e.num))}json(e){let t="object"==typeof e?e:{};return this.getNth(e).map((e=>{let n=e.toView().json(t)[0],r=Jh(e);return n.number={prefix:r.prefix,num:r.num,suffix:r.suffix,hasComma:r.hasComma,unit:r.unit},n}),[])}units(){return this.growRight("#Unit").match("#Unit$")}isOrdinal(){return this.if("#Ordinal")}isCardinal(){return this.if("#Cardinal")}toNumber(){return this.if("#TextValue").forEach((e=>{let t=Jh(e);if(null===t.num)return;let n=e.has("#Ordinal")?"Ordinal":"Cardinal",r=Rh(t,n);e.replaceWith(r,{tags:!0}),e.tag("NumericValue")})),this}toLocaleString(){return this.forEach((e=>{let t=Jh(e);if(null===t.num)return;let n=t.num.toLocaleString();if(e.has("#Ordinal")){let e=Rh(t,"Ordinal").match(/[a-z]+$/);e&&(n+=e[0]||"")}e.replaceWith(n,{tags:!0})})),this}toText(){let e=this.map((e=>{if(e.has("#TextValue"))return e;let t=Jh(e);if(null===t.num)return e;let n=e.has("#Ordinal")?"TextOrdinal":"TextCardinal",r=Rh(t,n);return e.replaceWith(r,{tags:!0}),e.tag("TextValue"),e}));return new Numbers(e.document,e.pointer)}toCardinal(){let e=this.map((e=>{if(!e.has("#Ordinal"))return e;let t=Jh(e);if(null===t.num)return e;let n=e.has("#TextValue")?"TextCardinal":"Cardinal",r=Rh(t,n);return e.replaceWith(r,{tags:!0}),e.tag("Cardinal"),e}));return new Numbers(e.document,e.pointer)}toOrdinal(){let e=this.map((e=>{if(e.has("#Ordinal"))return e;let t=Jh(e);if(null===t.num)return e;let n=e.has("#TextValue")?"TextOrdinal":"Ordinal",r=Rh(t,n);return e.replaceWith(r,{tags:!0}),e.tag("Ordinal"),e}));return new Numbers(e.document,e.pointer)}isEqual(e){return this.filter((t=>Jh(t).num===e))}greaterThan(e){return this.filter((t=>Jh(t).num>e))}lessThan(e){return this.filter((t=>Jh(t).num{let r=Jh(n).num;return r>e&&r{let n=Jh(t);if(n.num=e,null===n.num)return t;let r=t.has("#Ordinal")?"Ordinal":"Cardinal";t.has("#TextValue")&&(r=t.has("#Ordinal")?"TextOrdinal":"TextCardinal");let a=Rh(n,r);return n.hasComma&&"Cardinal"===r&&(a=Number(a).toLocaleString()),(t=t.not("#Currency")).replaceWith(a,{tags:!0}),t}));return new Numbers(t.document,t.pointer)}add(e){if(!e)return this;"string"==typeof e&&(e=Jh(e).num);let t=this.map((t=>{let n=Jh(t);if(null===n.num)return t;n.num+=e;let r=t.has("#Ordinal")?"Ordinal":"Cardinal";n.isText&&(r=t.has("#Ordinal")?"TextOrdinal":"TextCardinal");let a=Rh(n,r);return t.replaceWith(a,{tags:!0}),t}));return new Numbers(t.document,t.pointer)}subtract(e,t){return this.add(-1*e,t)}increment(e){return this.add(1,e)}decrement(e){return this.add(-1,e)}update(e){let t=new Numbers(this.document,e);return t._cache=this._cache,t}}Numbers.prototype.toNice=Numbers.prototype.toLocaleString,Numbers.prototype.isBetween=Numbers.prototype.between,Numbers.prototype.minus=Numbers.prototype.subtract,Numbers.prototype.plus=Numbers.prototype.add,Numbers.prototype.equals=Numbers.prototype.isEqual,e.prototype.numbers=function(e){let t=Bh(this);return t=t.getNth(e),new Numbers(this.document,t.pointer)},e.prototype.percentages=function(e){let t=Bh(this);return t=t.filter((e=>e.has("#Percent")||e.after("^percent"))),t=t.getNth(e),new Numbers(this.document,t.pointer)},e.prototype.money=function(e){let t=Bh(this);return t=t.filter((e=>e.has("#Money")||e.after("^#Currency"))),t=t.getNth(e),new Numbers(this.document,t.pointer)},e.prototype.values=e.prototype.numbers},_h={api:function(e){Sh(e),Qh(e)}};const Xh={people:!0,emails:!0,phoneNumbers:!0,places:!0},Zh=function(e={}){return!1!==(e=Object.assign({},Xh,e)).people&&this.people().replaceWith("██████████"),!1!==e.emails&&this.emails().replaceWith("██████████"),!1!==e.places&&this.places().replaceWith("██████████"),!1!==e.phoneNumbers&&this.phoneNumbers().replaceWith("███████"),this},Yh={api:function(e){e.prototype.redact=Zh}};var ed=Yh,td=function(e){const t=/\?/,{document:n}=e;return e.filter((e=>{let r=e.docs[0]||[],a=r[r.length-1];return!(!a||n[a.index[0]].length!==r.length)&&(!!t.test(a.post)||function(e){let t=e.clauses();return!(/\.\.$/.test(e.out("text"))||e.has("^#QuestionWord")&&e.has("@hasComma")||!e.has("or not$")&&!e.has("^#QuestionWord")&&!e.has("^(do|does|did|is|was|can|could|will|would|may) #Noun")&&!e.has("^(have|must) you")&&!t.has("(do|does|is|was) #Noun+ #Adverb? (#Adjective|#Infinitive)$"))}(e))}))},nd=function(e){let t=e;return 1===t.length?t:(t=t.if("#Verb"),1===t.length?t:(t=t.ifNo("(after|although|as|because|before|if|since|than|that|though|when|whenever|where|whereas|wherever|whether|while|why|unless|until|once)"),t=t.ifNo("^even (if|though)"),t=t.ifNo("^so that"),t=t.ifNo("^rather than"),t=t.ifNo("^provided that"),1===t.length?t:(t=t.ifNo("(that|which|whichever|who|whoever|whom|whose|whomever)"),1===t.length?t:(t=t.ifNo("(despite|during|before|through|throughout)"),1===t.length?t:(0===t.length&&(t=e),t.eq(0))))))};const rd=function(e){let t=null;return e.has("#PastTense")?t="PastTense":e.has("#FutureTense")?t="FutureTense":e.has("#PresentTense")&&(t="PresentTense"),{tense:t}};var ad=function(e){let t=e.clauses(),n=nd(t).chunks(),r=e.none(),a=e.none(),o=e.none();return n.forEach(((e,t)=>{0!==t||e.has("")?a.found||!e.has("")?a.found&&(o=o.concat(e)):a=e:r=e})),a.found&&!r.found&&(r=a.before("+").first()),{subj:r,verb:a,pred:o,grammar:rd(a)}},od=function(e){let t=e.verbs(),n=t.eq(0);if(n.has("#PastTense"))return e;if(n.toPastTense(),t.length>1){t=t.slice(1),t=t.filter((e=>!e.lookBehind("to$").found)),t=t.if("#PresentTense"),t=t.notIf("#Gerund");let n=e.match("to #Verb+ #Conjunction #Verb").terms();t=t.not(n),t.found&&t.verbs().toPastTense()}return e},id=function(e){let t=e.verbs();return t.eq(0).toPresentTense(),t.length>1&&(t=t.slice(1),t=t.filter((e=>!e.lookBehind("to$").found)),t=t.notIf("#Gerund"),t.found&&t.verbs().toPresentTense()),e},sd=function(e){let t=e.verbs();if(t.eq(0).toFutureTense(),t=(e=e.fullSentence()).verbs(),t.length>1){t=t.slice(1);let e=t.filter((e=>!(e.lookBehind("to$").found||!e.has("#Copula #Gerund")&&(e.has("#Gerund")||!e.has("#Copula")&&e.has("#PresentTense")&&!e.has("#Infinitive")&&e.lookBefore("(he|she|it|that|which)$").found))));e.found&&e.forEach((e=>{if(e.has("#Copula"))return e.match("was").replaceWith("is"),void e.match("is").replaceWith("will be");e.toInfinitive()}))}return e},ld=function(e){return e.verbs().toInfinitive(),e},ud=function(e){class Sentences extends e{constructor(e,t,n){super(e,t,n),this.viewType="Sentences"}json(e={}){return this.map((t=>{let n=t.toView().json(e)[0]||{},{subj:r,verb:a,pred:o,grammar:i}=ad(t);return n.sentence={subject:r.text("normal"),verb:a.text("normal"),predicate:o.text("normal"),grammar:i},n}),[])}toPastTense(e){return this.getNth(e).map((e=>(ad(e),od(e))))}toPresentTense(e){return this.getNth(e).map((e=>(ad(e),id(e))))}toFutureTense(e){return this.getNth(e).map((e=>(ad(e),e=sd(e))))}toInfinitive(e){return this.getNth(e).map((e=>(ad(e),ld(e))))}toNegative(e){return this.getNth(e).map((e=>(ad(e),function(e){return e.verbs().first().toNegative().compute("chunks"),e}(e))))}toPositive(e){return this.getNth(e).map((e=>(ad(e),function(e){return e.verbs().first().toPositive().compute("chunks"),e}(e))))}isQuestion(e){return this.questions(e)}isExclamation(e){let t=this.filter((e=>e.lastTerm().has("@hasExclamation")));return t.getNth(e)}isStatement(e){let t=this.filter((e=>!e.isExclamation().found&&!e.isQuestion().found));return t.getNth(e)}update(e){let t=new Sentences(this.document,e);return t._cache=this._cache,t}}Sentences.prototype.toPresent=Sentences.prototype.toPresentTense,Sentences.prototype.toPast=Sentences.prototype.toPastTense,Sentences.prototype.toFuture=Sentences.prototype.toFutureTense;const t={sentences:function(e){let t=this.map((e=>e.fullSentence()));return t=t.getNth(e),new Sentences(this.document,t.pointer)},questions:function(e){return td(this).getNth(e)}};Object.assign(e.prototype,t)},cd={api:ud},hd=function(e){let t=e.match("#Honorific+? #Person+"),n=t.match("#Possessive").notIf("(his|her)");return t=t.splitAfter(n),t},dd=function(e){let t={};t.firstName=e.match("#FirstName+"),t.lastName=e.match("#LastName+"),t.honorific=e.match("#Honorific+");let n=t.lastName,r=t.firstName;return r.found&&n.found||r.found||n.found||!e.has("^#Honorific .$")||(t.lastName=e.match(".$")),t};const gd="male",md="female",pd={mr:gd,mrs:md,miss:md,madam:md,king:gd,queen:md,duke:gd,duchess:md,baron:gd,baroness:md,count:gd,countess:md,prince:gd,princess:md,sire:gd,dame:md,lady:md,ayatullah:gd,congressman:gd,congresswoman:md,"first lady":md,mx:null};var fd=function(e,t){let{firstName:n,honorific:r}=e;if(n.has("#FemaleName"))return md;if(n.has("#MaleName"))return gd;if(r.found){let e=r.text("normal");if(e=e.replace(/\./g,""),pd.hasOwnProperty(e))return pd[e];if(/^her /.test(e))return md;if(/^his /.test(e))return gd}let a=t.after();if(!a.has("#Person")&&a.has("#Pronoun")){let e=a.match("#Pronoun");if(e.has("(they|their)"))return null;let t=e.has("(he|his)"),n=e.has("(she|her|hers)");if(t&&!n)return gd;if(n&&!t)return md}return null},vd=function(e){class People extends e{constructor(e,t,n){super(e,t,n),this.viewType="People"}parse(e){return this.getNth(e).map(dd)}json(e){let t="object"==typeof e?e:{};return this.getNth(e).map((e=>{let n=e.toView().json(t)[0],r=dd(e);return n.person={firstName:r.firstName.text("normal"),lastName:r.lastName.text("normal"),honorific:r.honorific.text("normal"),presumed_gender:fd(r,e)},n}),[])}presumedMale(){return this.filter((e=>e.has("(#MaleName|mr|mister|sr|jr|king|pope|prince|sir)")))}presumedFemale(){return this.filter((e=>e.has("(#FemaleName|mrs|miss|queen|princess|madam)")))}update(e){let t=new People(this.document,e);return t._cache=this._cache,t}}e.prototype.people=function(e){let t=hd(this);return t=t.getNth(e),new People(this.document,t.pointer)}},bd=function(e){let t=e.match("(#Place|#Address)+"),n=t.match("@hasComma");return n=n.filter((e=>!!e.has("(asia|africa|europe|america)$")||!e.has("(#City|#Region|#ProperNoun)$")||!e.after("^(#Country|#Region)").found)),t=t.splitAfter(n),t},yd=function(e){e.prototype.places=function(t){let n=bd(this);return n=n.getNth(t),new e(this.document,n.pointer)}},wd=function(e){e.prototype.organizations=function(e){return this.match("#Organization+").getNth(e)}};const kd=function(e){let t=this.clauses(),n=t.people();return n=n.concat(t.places()),n=n.concat(t.organizations()),n=n.not("(someone|man|woman|mother|brother|sister|father)"),n=n.sort("seq"),n=n.getNth(e),n};var Pd=function(e){e.prototype.topics=kd},Ad={api:function(e){vd(e),yd(e),wd(e),Pd(e)}},Cd=function(e){let t=e.match("");return t=t.not("#Conjunction"),t=t.not("#Preposition"),t=t.splitAfter("@hasComma"),t=t.splitAfter("[(do|did|am|was|is|will)] (is|was)",0),t=t.splitBefore("(#Verb && !#Copula) [being] #Verb",0),t=t.splitBefore("#Verb [to be] #Verb",0),t=t.splitAfter("[help] #PresentTense",0),t=t.splitBefore("(#PresentTense|#PastTense) [#Copula]$",0),t=t.splitBefore("(#PresentTense|#PastTense) [will be]$",0),t=t.splitBefore("(#PresentTense|#PastTense) [(had|has)]",0),t=t.not("#Reflexive$"),t=t.not("#Adjective"),t=t.splitAfter("[#PastTense] #PastTense",0),t=t.splitAfter("[#PastTense] #Auxiliary+ #PastTense",0),t=t.splitAfter("#Copula [#Gerund] #PastTense",0),t=t.if("#Verb"),t.has("(#Verb && !#Auxiliary) #Adverb+? #Copula")&&(t=t.splitBefore("#Copula")),t},Nd=function(e){let t=e;return e.wordCount()>1&&(t=e.not("(#Negative|#Auxiliary|#Modal|#Adverb|#Prefix)")),t.length>1&&!t.has("#Phrasal #Particle")&&(t=t.last()),t=t.not("(want|wants|wanted) to"),t.found||(t=e.not("#Negative")),t},jd=function(e,t){let n={pre:e.none(),post:e.none()};if(!e.has("#Adverb"))return n;let r=e.splitOn(t);return 3===r.length?{pre:r.eq(0).adverbs(),post:r.eq(2).adverbs()}:r.eq(0).isDoc(t)?(n.post=r.eq(1).adverbs(),n):(n.pre=r.eq(0).adverbs(),n)};const xd=function(e,t){let n=e.splitBefore(t);if(n.length<=1)return e.none();let r=n.eq(0);return r=r.not("(#Adverb|#Negative|#Prefix)"),r},Id=function(e){return e.match("#Negative")},Td=function(e){if(!e.has("(#Particle|#PhrasalVerb)"))return{verb:e.none(),particle:e.none()};let t=e.match("#Particle$");return{verb:e.not(t),particle:t}};var Hd=function(e){let t=e.clone();t.contractions().expand();const n=Nd(t);return{root:n,prefix:t.match("#Prefix"),adverbs:jd(t,n),auxiliary:xd(t,n),negative:Id(t),phrasal:Td(n)}};const Dd={tense:"PresentTense"},Gd={conditional:!0},Ed={tense:"FutureTense"},Od={progressive:!0},Fd={tense:"PastTense"},Vd={complete:!0,progressive:!1},zd={passive:!0},$d=function(e){let t={};return e.forEach((e=>{Object.assign(t,e)})),t},Ld={imperative:[["#Imperative",[]]],"want-infinitive":[["^(want|wants|wanted) to #Infinitive$",[Dd]],["^wanted to #Infinitive$",[Fd]],["^will want to #Infinitive$",[Ed]]],"gerund-phrase":[["^#PastTense #Gerund$",[Fd]],["^#PresentTense #Gerund$",[Dd]],["^#Infinitive #Gerund$",[Dd]],["^will #Infinitive #Gerund$",[Ed]],["^have #PastTense #Gerund$",[Fd]],["^will have #PastTense #Gerund$",[Fd]]],"simple-present":[["^#PresentTense$",[Dd]],["^#Infinitive$",[Dd]]],"simple-past":[["^#PastTense$",[Fd]]],"simple-future":[["^will #Adverb? #Infinitive",[Ed]]],"present-progressive":[["^(is|are|am) #Gerund$",[Dd,Od]]],"past-progressive":[["^(was|were) #Gerund$",[Fd,Od]]],"future-progressive":[["^will be #Gerund$",[Ed,Od]]],"present-perfect":[["^(has|have) #PastTense$",[Fd,Vd]]],"past-perfect":[["^had #PastTense$",[Fd,Vd]],["^had #PastTense to #Infinitive",[Fd,Vd]]],"future-perfect":[["^will have #PastTense$",[Ed,Vd]]],"present-perfect-progressive":[["^(has|have) been #Gerund$",[Fd,Od]]],"past-perfect-progressive":[["^had been #Gerund$",[Fd,Od]]],"future-perfect-progressive":[["^will have been #Gerund$",[Ed,Od]]],"passive-past":[["(got|were|was) #Passive",[Fd,zd]],["^(was|were) being #Passive",[Fd,zd]],["^(had|have) been #Passive",[Fd,zd]]],"passive-present":[["^(is|are|am) #Passive",[Dd,zd]],["^(is|are|am) being #Passive",[Dd,zd]],["^has been #Passive",[Dd,zd]]],"passive-future":[["will have been #Passive",[Ed,zd,Gd]],["will be being? #Passive",[Ed,zd,Gd]]],"present-conditional":[["would be #PastTense",[Dd,Gd]]],"past-conditional":[["would have been #PastTense",[Fd,Gd]]],"auxiliary-future":[["(is|are|am|was) going to (#Infinitive|#PresentTense)",[Ed]]],"auxiliary-past":[["^did #Infinitive$",[Fd,{plural:!1}]],["^used to #Infinitive$",[Fd,Vd]]],"auxiliary-present":[["^(does|do) #Infinitive$",[Dd,Vd,{plural:!0}]]],"modal-past":[["^(could|must|should|shall) have #PastTense$",[Fd]]],"modal-infinitive":[["^#Modal #Infinitive$",[]]],infinitive:[["^#Infinitive$",[]]]};let Sd=[];Object.keys(Ld).map((e=>{Ld[e].forEach((t=>{Sd.push({name:e,match:t[0],data:$d(t[1])})}))}));var Md=Sd,Bd=function(e,t){let n={};e=function(e,t){return e=e.clone(),t.adverbs.post&&t.adverbs.post.found&&e.remove(t.adverbs.post),t.adverbs.pre&&t.adverbs.pre.found&&e.remove(t.adverbs.pre),e.has("#Negative")&&(e=e.remove("#Negative")),e.has("#Prefix")&&(e=e.remove("#Prefix")),t.root.has("#PhrasalVerb #Particle")&&e.remove("#Particle$"),e.not("#Adverb")}(e,t);for(let t=0;t!(e.has("^(if|unless|while|but|for|per|at|by|that|which|who|from)")||t>0&&e.has("^#Verb . #Noun+$")||t>0&&e.has("^#Adverb")))),0===t.length?e:t}(t);let n=t.nouns(),r=n.last(),a=r.match("(i|he|she|we|you|they)");if(a.found)return a.nouns();let o=n.if("^(that|this|those)");return o.found||!1===n.found&&(o=t.match("^(that|this|those)"),o.found)?o:(r=n.last(),Jd(r)&&(n.remove(r),r=n.last()),Jd(r)&&(n.remove(r),r=n.last()),r)}(e);return{subject:t,plural:Wd(t,e)}};const Kd=e=>e,Ud=(e,t)=>{let n=qd(e),r=n.subject;return!(!r.has("i")&&!r.has("we"))||n.plural},Rd=function(e,t){if(e.has("were"))return"are";let{subject:n,plural:r}=qd(e);return n.has("i")?"am":n.has("we")||r?"are":"is"},Qd=function(e,t){let n=qd(e),r=n.subject;return r.has("i")||r.has("we")||n.plural?"do":"does"},_d=function(e){return e.has("#Infinitive")?"Infinitive":e.has("#Participle")?"Participle":e.has("#PastTense")?"PastTense":e.has("#Gerund")?"Gerund":e.has("#PresentTense")?"PresentTense":void 0},Xd=function(e,t){const{toInfinitive:n}=e.methods.two.transform.verb;let r=t.root.text({keepPunct:!1});return r=n(r,e.model,_d(e)),r&&e.replace(t.root,r),e},Zd=e=>e.has("will not")?e.replace("will not","have not"):e.remove("will"),Yd=function(e){return e&&e.isView?e.json({normal:!0,terms:!1,text:!1}).map((e=>e.normal)):[]},eg=function(e){return e&&e.isView?e.text("normal"):""},tg=function(e){const{toInfinitive:t}=e.methods.two.transform.verb;return t(e.text("normal"),e.model,_d(e))};var ng=function(e){let t=Hd(e);e=e.clone().toView();const n=Bd(e,t);return{root:t.root.text(),preAdverbs:Yd(t.adverbs.pre),postAdverbs:Yd(t.adverbs.post),auxiliary:eg(t.auxiliary),negative:t.negative.found,prefix:eg(t.prefix),infinitive:tg(t.root),grammar:n}};const rg={tags:!0};var ag=function(e,t){const{toInfinitive:n}=e.methods.two.transform.verb,{root:r,auxiliary:a}=t;let o=a.terms().harden(),i=r.text("normal");if(i=n(i,e.model,_d(r)),i&&e.replace(r,i,rg).tag("Verb").firstTerm().tag("Infinitive"),o.found&&e.remove(o),t.negative.found){e.has("not")||e.prepend("not");let t=Qd(e);e.prepend(t)}return e.fullSentence().compute(["lexicon","preTagger","postTagger","chunks"]),e};const og={tags:!0},ig={noAux:(e,t)=>(t.auxiliary.found&&(e=e.remove(t.auxiliary)),e),simple:(e,t)=>{const{conjugate:n,toInfinitive:r}=e.methods.two.transform.verb,a=t.root;if(a.has("#Modal"))return e;let o=a.text({keepPunct:!1});return o=r(o,e.model,_d(a)),o=n(o,e.model).PastTense,o="been"===o?"was":o,"was"===o&&(o=((e,t)=>{let{subject:n,plural:r}=qd(e);return r||n.has("we")?"were":"was"})(e)),o&&e.replace(a,o,og),e},both:function(e,t){return t.negative.found?(e.replace("will","did"),e):(e=ig.simple(e,t),e=ig.noAux(e,t))},hasHad:e=>(e.replace("has","had",og),e),hasParticiple:(e,t)=>{const{conjugate:n,toInfinitive:r}=e.methods.two.transform.verb,a=t.root;let o=a.text("normal");return o=r(o,e.model,_d(a)),n(o,e.model).Participle}},sg={infinitive:ig.simple,"simple-present":ig.simple,"simple-past":Kd,"simple-future":ig.both,"present-progressive":e=>(e.replace("are","were",og),e.replace("(is|are|am)","was",og),e),"past-progressive":Kd,"future-progressive":(e,t)=>(e.match(t.root).insertBefore("was"),e.remove("(will|be)"),e),"present-perfect":ig.hasHad,"past-perfect":Kd,"future-perfect":(e,t)=>(e.match(t.root).insertBefore("had"),e.has("will")&&(e=Zd(e)),e.remove("have"),e),"present-perfect-progressive":ig.hasHad,"past-perfect-progressive":Kd,"future-perfect-progressive":e=>(e.remove("will"),e.replace("have","had",og),e),"passive-past":e=>(e.replace("have","had",og),e),"passive-present":e=>(e.replace("(is|are)","was",og),e),"passive-future":(e,t)=>(t.auxiliary.has("will be")&&(e.match(t.root).insertBefore("had been"),e.remove("(will|be)")),t.auxiliary.has("will have been")&&(e.replace("have","had",og),e.remove("will")),e),"present-conditional":e=>(e.replace("be","have been"),e),"past-conditional":Kd,"auxiliary-future":e=>(e.replace("(is|are|am)","was",og),e),"auxiliary-past":Kd,"auxiliary-present":e=>(e.replace("(do|does)","did",og),e),"modal-infinitive":(e,t)=>(e.has("can")?e.replace("can","could",og):(ig.simple(e,t),e.match("#Modal").insertAfter("have").tag("Auxiliary")),e),"modal-past":Kd,"want-infinitive":e=>(e.replace("(want|wants)","wanted",og),e.remove("will"),e),"gerund-phrase":(e,t)=>(t.root=t.root.not("#Gerund$"),ig.simple(e,t),Zd(e),e)};var lg=function(e,t,n){return sg.hasOwnProperty(n)?((e=sg[n](e,t)).fullSentence().compute(["tagger","chunks"]),e):e};const ug=function(e,t){let n=qd(e),r=n.subject;return r.has("(i|we|you)")?"have":!1===n.plural||r.has("he")||r.has("she")||r.has("#Person")?"has":"have"},cg=(e,t)=>{const{conjugate:n,toInfinitive:r}=e.methods.two.transform.verb,{root:a,auxiliary:o}=t;if(a.has("#Modal"))return e;let i=a.text({keepPunct:!1});i=r(i,e.model,_d(a));let s=n(i,e.model);if(i=s.Participle||s.PastTense,i){e=e.replace(a,i);let t=ug(e);e.prepend(t).match(t).tag("Auxiliary"),e.remove(o)}return e},hg={infinitive:cg,"simple-present":cg,"simple-future":(e,t)=>e.replace("will",ug(e)),"present-perfect":Kd,"past-perfect":Kd,"future-perfect":(e,t)=>e.replace("will have",ug(e)),"present-perfect-progressive":Kd,"past-perfect-progressive":Kd,"future-perfect-progressive":Kd};var dg=function(e,t,n){return hg.hasOwnProperty(n)?((e=hg[n](e,t)).fullSentence().compute(["tagger","chunks"]),e):((e=cg(e,t)).fullSentence().compute(["tagger","chunks"]),e)};const gg={tags:!0},mg=(e,t)=>{const{conjugate:n,toInfinitive:r}=e.methods.two.transform.verb,a=t.root;let o=a.text("normal");return o=r(o,e.model,_d(a)),!1===Ud(e)&&(o=n(o,e.model).PresentTense),a.has("#Copula")&&(o=Rd(e)),o&&(e=e.replace(a,o,gg)).not("#Particle").tag("PresentTense"),e},pg=(e,t)=>{const{conjugate:n,toInfinitive:r}=e.methods.two.transform.verb,a=t.root;let o=a.text("normal");return o=r(o,e.model,_d(a)),!1===Ud(e)&&(o=n(o,e.model).Gerund),o&&(e=e.replace(a,o,gg)).not("#Particle").tag("Gerund"),e},fg={infinitive:mg,"simple-present":(e,t)=>{const{conjugate:n}=e.methods.two.transform.verb;let{root:r}=t;if(!r.has("#Infinitive"))return mg(e,t);{let t=qd(e).subject;if(Ud(e)||t.has("i"))return e;let a=r.text("normal"),o=n(a,e.model).PresentTense;a!==o&&e.replace(r,o,gg)}return e},"simple-past":mg,"simple-future":(e,t)=>{const{root:n,auxiliary:r}=t;if(r.has("will")&&n.has("be")){let t=Rd(e);e.replace(n,t),(e=e.remove("will")).replace("not "+t,t+" not")}else mg(e,t),e=e.remove("will");return e},"present-progressive":Kd,"past-progressive":(e,t)=>{let n=Rd(e);return e.replace("(were|was)",n,gg)},"future-progressive":e=>(e.match("will").insertBefore("is"),e.remove("be"),e.remove("will")),"present-perfect":(e,t)=>(mg(e,t),e=e.remove("(have|had|has)")),"past-perfect":(e,t)=>{let n=qd(e).subject;return Ud(e)||n.has("i")?((e=Xd(e,t)).remove("had"),e):(e.replace("had","has",gg),e)},"future-perfect":e=>(e.match("will").insertBefore("has"),e.remove("have").remove("will")),"present-perfect-progressive":Kd,"past-perfect-progressive":e=>e.replace("had","has",gg),"future-perfect-progressive":e=>(e.match("will").insertBefore("has"),e.remove("have").remove("will")),"passive-past":(e,t)=>{let n=Rd(e);return e.has("(had|have|has)")&&e.has("been")?(e.replace("(had|have|has)",n,gg),e.replace("been","being"),e):e.replace("(got|was|were)",n)},"passive-present":Kd,"passive-future":e=>(e.replace("will","is"),e.replace("be","being")),"present-conditional":Kd,"past-conditional":e=>(e.replace("been","be"),e.remove("have")),"auxiliary-future":(e,t)=>(pg(e,t),e.remove("(going|to)"),e),"auxiliary-past":(e,t)=>{if(t.auxiliary.has("did")){let n=Qd(e);return e.replace(t.auxiliary,n),e}return pg(e,t),e.replace(t.auxiliary,"is"),e},"auxiliary-present":Kd,"modal-infinitive":Kd,"modal-past":(e,t)=>(((e,t)=>{const{toInfinitive:n}=e.methods.two.transform.verb,r=t.root;let a=t.root.text("normal");a=n(a,e.model,_d(r)),a&&(e=e.replace(t.root,a,gg))})(e,t),e.remove("have")),"gerund-phrase":(e,t)=>(t.root=t.root.not("#Gerund$"),mg(e,t),e.remove("(will|have)")),"want-infinitive":(e,t)=>{let n="wants";return Ud(e)&&(n="want"),e.replace("(want|wanted|wants)",n,gg),e.remove("will"),e}};var vg=function(e,t,n){return fg.hasOwnProperty(n)?((e=fg[n](e,t)).fullSentence().compute(["tagger","chunks"]),e):e};const bg={tags:!0},yg=(e,t)=>{const{toInfinitive:n}=e.methods.two.transform.verb,{root:r,auxiliary:a}=t;if(r.has("#Modal"))return e;let o=r.text("normal");return o=n(o,e.model,_d(r)),o&&(e=e.replace(r,o,bg)).not("#Particle").tag("Verb"),e.prepend("will").match("will").tag("Auxiliary"),e.remove(a),e},wg=(e,t)=>{const{conjugate:n,toInfinitive:r}=e.methods.two.transform.verb,{root:a,auxiliary:o}=t;let i=a.text("normal");return i=r(i,e.model,_d(a)),i&&(i=n(i,e.model).Gerund,e.replace(a,i,bg),e.not("#Particle").tag("PresentTense")),e.remove(o),e.prepend("will be").match("will be").tag("Auxiliary"),e},kg={infinitive:yg,"simple-present":yg,"simple-past":yg,"simple-future":Kd,"present-progressive":wg,"past-progressive":wg,"future-progressive":Kd,"present-perfect":e=>(e.match("(have|has)").replaceWith("will have"),e),"past-perfect":e=>e.replace("(had|has)","will have"),"future-perfect":Kd,"present-perfect-progressive":e=>e.replace("has","will have"),"past-perfect-progressive":e=>e.replace("had","will have"),"future-perfect-progressive":Kd,"passive-past":e=>e.has("got")?e.replace("got","will get"):e.has("(was|were)")?(e.replace("(was|were)","will be"),e.remove("being")):e.has("(have|has|had) been")?e.replace("(have|has|had) been","will be"):e,"passive-present":e=>(e.replace("being","will be"),e.remove("(is|are|am)"),e),"passive-future":Kd,"present-conditional":e=>e.replace("would","will"),"past-conditional":e=>e.replace("would","will"),"auxiliary-future":Kd,"auxiliary-past":e=>e.has("used")&&e.has("to")?(e.replace("used","will"),e.remove("to")):(e.replace("did","will"),e),"auxiliary-present":e=>e.replace("(do|does)","will"),"modal-infinitive":Kd,"modal-past":Kd,"gerund-phrase":(e,t)=>(t.root=t.root.not("#Gerund$"),yg(e,t),e.remove("(had|have)")),"want-infinitive":e=>(e.replace("(want|wants|wanted)","will want"),e)};var Pg=function(e,t,n){return e.has("will")||e.has("going to")?e:kg.hasOwnProperty(n)?((e=kg[n](e,t)).fullSentence().compute(["tagger","chunks"]),e):e};const Ag={tags:!0};var Cg=function(e,t){const{toInfinitive:n,conjugate:r}=e.methods.two.transform.verb,{root:a,auxiliary:o}=t;if(e.has("#Gerund"))return e;let i=a.text("normal");i=n(i,e.model,_d(a));let s=r(i,e.model).Gerund;if(s){let t=Rd(e);e.replace(a,s,Ag),e.remove(o),e.prepend(t)}return e.replace("not is","is not"),e.replace("not are","are not"),e.fullSentence().compute(["tagger","chunks"]),e};const Ng={tags:!0},jg=function(e,t){let n=Qd(e);return e.prepend(n+" not"),e},xg=function(e){let t=e.match("be");return t.found?(t.prepend("not"),e):(t=e.match("(is|was|am|are|will|were)"),t.found?(t.append("not"),e):e)},Ig=e=>e.has("(is|was|am|are|will|were|be)"),Tg={"simple-present":(e,t)=>!0===Ig(e)?xg(e):(e=Xd(e,t),e=jg(e)),"simple-past":(e,t)=>!0===Ig(e)?xg(e):((e=Xd(e,t)).prepend("did not"),e),imperative:e=>(e.prepend("do not"),e),infinitive:(e,t)=>!0===Ig(e)?xg(e):jg(e),"passive-past":e=>{if(e.has("got"))return e.replace("got","get",Ng),e.prepend("did not"),e;let t=e.match("(was|were|had|have)");return t.found&&t.append("not"),e},"auxiliary-past":e=>{if(e.has("used"))return e.prepend("did not"),e;let t=e.match("(did|does|do)");return t.found&&t.append("not"),e},"want-infinitive":(e,t)=>e=(e=jg(e)).replace("wants","want",Ng)};var Hg=function(e,t,n){if(e.has("#Negative"))return e;if(Tg.hasOwnProperty(n))return e=Tg[n](e,t);let r=e.matchOne("be");return r.found?(r.prepend("not"),e):!0===Ig(e)?xg(e):(r=e.matchOne("(will|had|have|has|did|does|do|#Modal)"),r.found?(r.append("not"),e):e)},Dg=function(e){class Verbs extends e{constructor(e,t,n){super(e,t,n),this.viewType="Verbs"}parse(e){return this.getNth(e).map(Hd)}json(e,t){let n=this.getNth(t).map((t=>{let n=t.toView().json(e)[0]||{};return n.verb=ng(t),n}),[]);return n}subjects(e){return this.getNth(e).map((e=>(Hd(e),qd(e).subject)))}adverbs(e){return this.getNth(e).map((e=>e.match("#Adverb")))}isSingular(e){return this.getNth(e).filter((e=>!0!==qd(e).plural))}isPlural(e){return this.getNth(e).filter((e=>!0===qd(e).plural))}isImperative(e){return this.getNth(e).filter((e=>e.has("#Imperative")))}toInfinitive(e){return this.getNth(e).map((e=>{let t=Hd(e),n=Bd(e,t);return ag(e,t,n.form)}))}toPresentTense(e){return this.getNth(e).map((e=>{let t=Hd(e),n=Bd(e,t);return n.isInfinitive?e:vg(e,t,n.form)}))}toPastTense(e){return this.getNth(e).map((e=>{let t=Hd(e),n=Bd(e,t);return n.isInfinitive?e:lg(e,t,n.form)}))}toFutureTense(e){return this.getNth(e).map((e=>{let t=Hd(e),n=Bd(e,t);return n.isInfinitive?e:Pg(e,t,n.form)}))}toGerund(e){return this.getNth(e).map((e=>{let t=Hd(e),n=Bd(e,t);return n.isInfinitive?e:Cg(e,t,n.form)}))}toPastParticiple(e){return this.getNth(e).map((e=>{let t=Hd(e),n=Bd(e,t);return n.isInfinitive?e:dg(e,t,n.form)}))}conjugate(e){const{conjugate:t,toInfinitive:n}=this.world.methods.two.transform.verb;return this.getNth(e).map((e=>{let r=Hd(e),a=Bd(e,r);"imperative"===a.form&&(a.form="simple-present");let o=r.root.text("normal");if(!r.root.has("#Infinitive")){let t=_d(r.root);o=n(o,e.model,t)||o}return t(o,e.model)}),[])}isNegative(){return this.if("#Negative")}isPositive(){return this.ifNo("#Negative")}toPositive(){let e=this.match("do not #Verb");return e.found&&e.remove("do not"),this.remove("#Negative")}toNegative(e){return this.getNth(e).map((e=>{let t=Hd(e),n=Bd(e,t);return Hg(e,t,n.form)}))}update(e){let t=new Verbs(this.document,e);return t._cache=this._cache,t}}Verbs.prototype.toPast=Verbs.prototype.toPastTense,Verbs.prototype.toPresent=Verbs.prototype.toPresentTense,Verbs.prototype.toFuture=Verbs.prototype.toFutureTense,e.prototype.verbs=function(e){let t=Cd(this);return t=t.getNth(e),new Verbs(this.document,t.pointer)}},Gg={api:Dg};const Eg=function(e,t){let n=t.match(e);if(n.found){let e=n.pronouns().refersTo();if(e.found)return e}return t.none()},Og=function(e){if(!e.found)return e;let[t]=e.fullPointer[0];return t&&t>0?e.update([[t-1]]):e.none()};var Fg=function(e,t){let n=e.people();return n=function(e,t){return"m"===t?e.filter((e=>!e.presumedFemale().found)):"f"===t?e.filter((e=>!e.presumedMale().found)):e}(n,t),n.found?n.last():(n=e.nouns("#Actor"),n.found?n.last():"f"===t?Eg("(she|her|hers)",e):"m"===t?Eg("(he|him|his)",e):e.none())},Vg=function(e){let t=e.nouns(),n=t.isPlural().notIf("#Pronoun");if(n.found)return n.last();let r=Eg("(they|their|theirs)",e);return r.found?r:(n=t.match("(somebody|nobody|everybody|anybody|someone|noone|everyone|anyone)"),n.found?n.last():e.none())};const zg=function(e,t){let n=e.before(),r=t(n);return r.found?r:(n=Og(e),r=t(n),r.found?r:(n=Og(n),r=t(n),r.found?r:e.none()))};var $g=function(e){e.pronouns().if("(he|him|his|she|her|hers|they|their|theirs|it|its)").forEach((e=>{let t=null;e.has("(he|him|his)")?t=zg(e,(e=>Fg(e,"m"))):e.has("(she|her|hers)")?t=zg(e,(e=>Fg(e,"f"))):e.has("(they|their|theirs)")&&(t=zg(e,Vg)),t&&t.found&&function(e,t){t&&t.found&&(e.docs[0][0].reference=t.ptrs[0])}(e,t)}))},Lg=function(e){class Pronouns extends e{constructor(e,t,n){super(e,t,n),this.viewType="Pronouns"}hasReference(){return this.compute("coreference"),this.filter((e=>e.docs[0][0].reference))}refersTo(){return this.compute("coreference"),this.map((e=>{if(!e.found)return e.none();let t=e.docs[0][0];return t.reference?e.update([t.reference]):e.none()}))}update(e){let t=new Pronouns(this.document,e);return t._cache=this._cache,t}}e.prototype.pronouns=function(e){let t=this.match("#Pronoun");return t=t.getNth(e),new Pronouns(t.document,t.pointer)}},Sg={compute:{coreference:$g},api:Lg};return v.plugin(gc),v.plugin(mc),v.plugin(Ic),v.plugin(Sg),v.plugin(Kc),v.plugin(Yc),v.plugin(ph),v.plugin(_h),v.plugin(ed),v.plugin(cd),v.plugin(Ad),v.plugin(Gg),v},"object"==typeof exports&&"undefined"!=typeof module?module.exports=t():"function"==typeof define&&define.amd?define(t):(e="undefined"!=typeof globalThis?globalThis:e||self).nlp=t(); diff --git a/builds/one/compromise-one.cjs b/builds/one/compromise-one.cjs index ea75c1e49..f6ed0ff3f 100644 --- a/builds/one/compromise-one.cjs +++ b/builds/one/compromise-one.cjs @@ -1 +1 @@ -var t,e;t=this,e=function(){var t={methods:{one:{},two:{},three:{},four:{}},model:{one:{},two:{},three:{}},compute:{},hooks:[]};const e={compute:function(t){const{world:e}=this,n=e.compute;return"string"==typeof t&&n.hasOwnProperty(t)?n[t](this):(t=>"[object Array]"===Object.prototype.toString.call(t))(t)?t.forEach((r=>{e.compute.hasOwnProperty(r)?n[r](this):console.warn("no compute:",t)})):"function"==typeof t?t(this):console.warn("no compute:",t),this}};var n=e,r={forEach:function(t){return this.fullPointer.forEach(((e,n)=>{let r=this.update([e]);t(r,n)})),this},map:function(t,e){let n=this.fullPointer.map(((e,n)=>{let r=this.update([e]),o=t(r,n);return void 0===o?this.none():o}));if(0===n.length)return e||this.update([]);if(void 0!==n[0]){if("string"==typeof n[0])return n;if("object"==typeof n[0]&&(null===n[0]||!n[0].isView))return n}let r=[];return n.forEach((t=>{r=r.concat(t.fullPointer)})),this.toView(r)},filter:function(t){let e=this.fullPointer;return e=e.filter(((e,n)=>{let r=this.update([e]);return t(r,n)})),this.update(e)},find:function(t){let e=this.fullPointer.find(((e,n)=>{let r=this.update([e]);return t(r,n)}));return this.update([e])},some:function(t){return this.fullPointer.some(((e,n)=>{let r=this.update([e]);return t(r,n)}))},random:function(t=1){let e=this.fullPointer,n=Math.floor(Math.random()*e.length);return n+t>this.length&&(n=this.length-t,n=n<0?0:n),e=e.slice(n,n+t),this.update(e)}};const o={termList:function(){return this.methods.one.termList(this.docs)},terms:function(t){let e=this.match(".");return"number"==typeof t?e.eq(t):e},groups:function(t){if(t||0===t)return this.update(this._groups[t]||[]);let e={};return Object.keys(this._groups).forEach((t=>{e[t]=this.update(this._groups[t])})),e},eq:function(t){let e=this.pointer;return e||(e=this.docs.map(((t,e)=>[e]))),e[t]?this.update([e[t]]):this.none()},first:function(){return this.eq(0)},last:function(){let t=this.fullPointer.length-1;return this.eq(t)},firstTerms:function(){return this.match("^.")},lastTerms:function(){return this.match(".$")},slice:function(t,e){let n=this.pointer||this.docs.map(((t,e)=>[e]));return n=n.slice(t,e),this.update(n)},all:function(){return this.update().toView()},fullSentences:function(){let t=this.fullPointer.map((t=>[t[0]]));return this.update(t).toView()},none:function(){return this.update([])},isDoc:function(t){if(!t||!t.isView)return!1;let e=this.fullPointer,n=t.fullPointer;return!e.length!==n.length&&e.every(((t,e)=>!!n[e]&&t[0]===n[e][0]&&t[1]===n[e][1]&&t[2]===n[e][2]))},wordCount:function(){return this.docs.reduce(((t,e)=>(t+=e.filter((t=>""!==t.text)).length,t)),0)},isFull:function(){let t=this.pointer;if(!t)return!0;if(0===t.length||0!==t[0][0])return!1;let e=0,n=0;return this.document.forEach((t=>e+=t.length)),this.docs.forEach((t=>n+=t.length)),e===n},getNth:function(t){return"number"==typeof t?this.eq(t):"string"==typeof t?this.if(t):this}};o.group=o.groups,o.fullSentence=o.fullSentences,o.sentence=o.fullSentences,o.lastTerm=o.lastTerms,o.firstTerm=o.firstTerms;var i=o;const s=Object.assign({},i,n,r);s.get=s.eq;var l=s;class View{constructor(e,n,r={}){[["document",e],["world",t],["_groups",r],["_cache",null],["viewType","View"]].forEach((t=>{Object.defineProperty(this,t[0],{value:t[1],writable:!0})})),this.ptrs=n}get docs(){let e=this.document;return this.ptrs&&(e=t.methods.one.getDoc(this.ptrs,this.document)),e}get pointer(){return this.ptrs}get methods(){return this.world.methods}get model(){return this.world.model}get hooks(){return this.world.hooks}get isView(){return!0}get found(){return this.docs.length>0}get length(){return this.docs.length}get fullPointer(){let{docs:t,ptrs:e,document:n}=this,r=e||t.map(((t,e)=>[e]));return r.map((t=>{let[e,r,o,i,s]=t;return r=r||0,o=o||(n[e]||[]).length,n[e]&&n[e][r]&&(i=i||n[e][r].id,n[e][o-1]&&(s=s||n[e][o-1].id)),[e,r,o,i,s]}))}update(t){let e=new View(this.document,t);if(this._cache&&t&&t.length>0){let n=[];t.forEach(((t,e)=>{let[r,o,i]=t;(1===t.length||0===o&&this.document[r].length===i)&&(n[e]=this._cache[r])})),n.length>0&&(e._cache=n)}return e.world=this.world,e}toView(t){return new View(this.document,t||this.pointer)}fromText(t){const{methods:e}=this;let n=e.one.tokenize.fromString(t,this.world),r=new View(n);return r.world=this.world,r.compute(["normal","lexicon"]),this.world.compute.preTagger&&r.compute("preTagger"),r}clone(){let t=this.document.slice(0);t=t.map((t=>t.map((t=>((t=Object.assign({},t)).tags=new Set(t.tags),t)))));let e=this.update(this.pointer);return e.document=t,e._cache=this._cache,e}}Object.assign(View.prototype,l);var a=View;const c=function(t){return t&&"object"==typeof t&&!Array.isArray(t)};function u(t,e){if(c(e))for(const n in e)c(e[n])?(t[n]||Object.assign(t,{[n]:{}}),u(t[n],e[n])):Object.assign(t,{[n]:e[n]});return t}var h=function(t,e,n,r){const{methods:o,model:i,compute:s,hooks:l}=e;t.methods&&function(t,e){for(const n in e)t[n]=t[n]||{},Object.assign(t[n],e[n])}(o,t.methods),t.model&&u(i,t.model),t.irregulars&&function(t,e){let n=t.two.models||{};Object.keys(e).forEach((t=>{e[t].pastTense&&(n.toPast&&(n.toPast.ex[t]=e[t].pastTense),n.fromPast&&(n.fromPast.ex[e[t].pastTense]=t)),e[t].presentTense&&(n.toPresent&&(n.toPresent.ex[t]=e[t].presentTense),n.fromPresent&&(n.fromPresent.ex[e[t].presentTense]=t)),e[t].gerund&&(n.toGerund&&(n.toGerund.ex[t]=e[t].gerund),n.fromGerund&&(n.fromGerund.ex[e[t].gerund]=t)),e[t].comparative&&(n.toComparative&&(n.toComparative.ex[t]=e[t].comparative),n.fromComparative&&(n.fromComparative.ex[e[t].comparative]=t)),e[t].superlative&&(n.toSuperlative&&(n.toSuperlative.ex[t]=e[t].superlative),n.fromSuperlative&&(n.fromSuperlative.ex[e[t].superlative]=t))}))}(i,t.irregulars),t.compute&&Object.assign(s,t.compute),l&&(e.hooks=l.concat(t.hooks||[])),t.api&&t.api(n),t.lib&&Object.keys(t.lib).forEach((e=>r[e]=t.lib[e])),t.tags&&r.addTags(t.tags),t.words&&r.addWords(t.words),t.mutate&&t.mutate(e)};const f=function(t){return"[object Array]"===Object.prototype.toString.call(t)};var p=function(t,e,n){const{methods:r}=n;let o=new e([]);if(o.world=n,"number"==typeof t&&(t=String(t)),!t)return o;if("string"==typeof t)return new e(r.one.tokenize.fromString(t,n));if(i=t,"[object Object]"===Object.prototype.toString.call(i)&&t.isView)return new e(t.document,t.ptrs);var i;if(f(t)){if(f(t[0])){let n=t.map((t=>t.map((t=>({text:t,normal:t,pre:"",post:" ",tags:new Set})))));return new e(n)}let n=function(t){return t.map((t=>t.terms.map((t=>(f(t.tags)&&(t.tags=new Set(t.tags)),t)))))}(t);return new e(n)}return o};let d=Object.assign({},t);const m=function(t,e){e&&m.addWords(e);let n=p(t,a,d);return t&&n.compute(d.hooks),n};Object.defineProperty(m,"_world",{value:d,writable:!0}),m.tokenize=function(t,e){const{compute:n}=this._world;e&&m.addWords(e);let r=p(t,a,d);return n.contractions&&r.compute(["alias","normal","machine","contractions"]),r},m.plugin=function(t){return h(t,this._world,a,this),this},m.extend=m.plugin,m.world=function(){return this._world},m.model=function(){return this._world.model},m.methods=function(){return this._world.methods},m.hooks=function(){return this._world.hooks},m.verbose=function(t){const e="undefined"!=typeof process&&process.env?process.env:self.env||{};return e.DEBUG_TAGS="tagger"===t||!0===t||"",e.DEBUG_MATCH="match"===t||!0===t||"",e.DEBUG_CHUNKS="chunker"===t||!0===t||"",this},m.version="14.10.0";var w=m,b=function(t){let e=t.map((t=>{let e=new Set;return t.forEach((t=>{""!==t.normal&&e.add(t.normal),t.switch&&e.add(`%${t.switch}%`),t.implicit&&e.add(t.implicit),t.machine&&e.add(t.machine),t.root&&e.add(t.root),t.alias&&t.alias.forEach((t=>e.add(t)));let n=Array.from(t.tags);for(let t=0;t/^\p{Lu}[\p{Ll}'’]/u.test(t)||/^\p{Lu}$/u.test(t),E=(t,e,n)=>{if(n.forEach((t=>t.dirty=!0)),t){let r=[e,0].concat(n);Array.prototype.splice.apply(t,r)}return t},O=function(t){let e=t[t.length-1];!e||/ $/.test(e.post)||/[-–—]/.test(e.post)||(e.post+=" ")},k=(t,e,n)=>{const r=/[-.?!,;:)–—'"]/g;let o=t[e-1];if(!o)return;let i=o.post;if(r.test(i)){let t=i.match(r).join(""),e=n[n.length-1];e.post=t+e.post,o.post=o.post.replace(r,"")}},P=function(t,e,n,r){let[o,i,s]=e;0===i||s===r[o].length?O(n):(O(n),O([t[e[1]]])),function(t,e,n){let r=t[e];if(0!==e||!j(r.text))return;n[0].text=n[0].text.replace(/^\p{Ll}/u,(t=>t.toUpperCase()));let o=t[e];o.tags.has("ProperNoun")||o.tags.has("Acronym")||j(o.text)&&o.text.length>1&&(o.text=o.text.replace(/^\p{Lu}/u,(t=>t.toLowerCase())))}(t,i,n),E(t,i,n)};let _=0;const S=t=>(t=t.length<3?"0"+t:t).length<3?"0"+t:t;var A=function(t){let[e,n]=t.index||[0,0];_+=1,_=_>46655?0:_,e=e>46655?0:e,n=n>1294?0:n;let r=S(_.toString(36));r+=S(e.toString(36));let o=n.toString(36);return o=o.length<2?"0"+o:o,r+=o,r+=parseInt(36*Math.random(),10).toString(36),t.normal+"|"+r.toUpperCase()};const T=function(t){t.has("@hasContraction")&&"function"==typeof t.contractions&&t.grow("@hasContraction").contractions().expand()},$=t=>"[object Array]"===Object.prototype.toString.call(t),C=function(t,e,n){const{document:r,world:o}=e;e.uncache();let i=e.fullPointer,s=e.fullPointer;e.forEach(((l,a)=>{let c=l.fullPointer[0],[u]=c,h=r[u],f=function(t,e){const{methods:n}=e;return"string"==typeof t?n.one.tokenize.fromString(t,e)[0]:"object"==typeof t&&t.isView?t.clone().docs[0]||[]:$(t)?$(t[0])?t[0]:t:[]}(t,o);0!==f.length&&(f=function(t){return t.map((t=>(t.id=A(t),t)))}(f),n?(T(e.update([c]).firstTerm()),P(h,c,f,r)):(T(e.update([c]).lastTerm()),function(t,e,n,r){let[o,,i]=e,s=(r[o]||[]).length;i{let n=e(t);t.replaceWith(n)})),t}(r,t);let o=r.docs[0],i=e.possessives&&o[o.length-1].tags.has("Possessive");t=function(t,e){if("string"!=typeof t)return t;let n=e.groups();return t=t.replace(L,(t=>{let e=t.replace(/\$/,"");return n.hasOwnProperty(e)?n[e].text():t})),t}(t,r);let s=this.update(n);n=n.map((t=>t.slice(0,3)));let l=(s.docs[0]||[]).map((t=>Array.from(t.tags)));if("string"==typeof t&&(t=this.fromText(t).compute("id")),r.insertAfter(t),s.has("@hasContraction")&&r.contractions&&r.grow("@hasContraction+").contractions().expand(),r.delete(s),i){let t=r.docs[0],e=t[t.length-1];e.tags.has("Possessive")||(e.text+="'s",e.normal+="'s",e.tags.add("Possessive"))}let a=r.toView(n).compute(["index","lexicon"]);return a.world.compute.preTagger&&a.compute("preTagger"),e.tags&&a.terms().forEach(((t,e)=>{t.tagSafe(l[e])})),e.case&&a.docs[0]&&a.docs[0][0]&&0===a.docs[0][0].index[1]&&(a.docs[0][0].text=a.docs[0][0].text.replace(/\w\S*/g,(t=>t.charAt(0).toUpperCase()+t.substring(1).toLowerCase()))),a},replace:function(t,e,n){if(t&&!e)return this.replaceWith(t,n);let r=this.match(t);return r.found?(this.soften(),r.replaceWith(e,n)):this}};var q=V,F=function(t,e){e.forEach((e=>{let[n,r,o]=e,i=o-r;t[n]&&(o===t[n].length&&o>1&&function(t,e){let n=t.length-1,r=t[n],o=t[n-e];o&&r&&(o.post+=r.post,o.post=o.post.replace(/ +([.?!,;:])/,"$1"),o.post=o.post.replace(/[,;:]+([.?!])/,"$1"))}(t[n],i),t[n].splice(r,i))}));for(let e=t.length-1;e>=0;e-=1)if(0===t[e].length&&(t.splice(e,1),e===t.length&&t[e-1])){let n=t[e-1],r=n[n.length-1];r&&(r.post=r.post.trimEnd())}return t};const G={remove:function(t){const{indexN:e}=this.methods.one.pointer;this.uncache();let n=this.all(),r=this;t&&(n=this,r=this.match(t));let o=!n.ptrs;r.has("@hasContraction")&&r.contractions&&r.grow("@hasContraction").contractions().expand();let i=n.fullPointer,s=r.fullPointer.reverse(),l=F(this.document,s);return i=function(t,e){return t=t.map((t=>{let[n]=t;return e[n]?(e[n].forEach((e=>{let n=e[2]-e[1];t[1]<=e[1]&&t[2]>=e[2]&&(t[2]-=n)})),t):t})),t.forEach(((e,n)=>{if(0===e[1]&&0==e[2])for(let e=n+1;et[2]-t[1]>0))).map((t=>(t[3]=null,t[4]=null,t)))}(i,e(s)),n.ptrs=i,n.document=l,n.compute("index"),o&&(n.ptrs=void 0),t?n.toView(i):(this.ptrs=[],n.none())}};G.delete=G.remove;var D=G;const B={pre:function(t,e){return void 0===t&&this.found?this.docs[0][0].pre:(this.docs.forEach((n=>{let r=n[0];!0===e?r.pre+=t:r.pre=t})),this)},post:function(t,e){if(void 0===t){let t=this.docs[this.docs.length-1];return t[t.length-1].post}return this.docs.forEach((n=>{let r=n[n.length-1];!0===e?r.post+=t:r.post=t})),this},trim:function(){if(!this.found)return this;let t=this.docs,e=t[0][0];e.pre=e.pre.trimStart();let n=t[t.length-1],r=n[n.length-1];return r.post=r.post.trimEnd(),this},hyphenate:function(){return this.docs.forEach((t=>{t.forEach(((e,n)=>{0!==n&&(e.pre=""),t[n+1]&&(e.post="-")}))})),this},dehyphenate:function(){const t=/[-–—]/;return this.docs.forEach((e=>{e.forEach((e=>{t.test(e.post)&&(e.post=" ")}))})),this},toQuotations:function(t,e){return t=t||'"',e=e||'"',this.docs.forEach((n=>{n[0].pre=t+n[0].pre;let r=n[n.length-1];r.post=e+r.post})),this},toParentheses:function(t,e){return t=t||"(",e=e||")",this.docs.forEach((n=>{n[0].pre=t+n[0].pre;let r=n[n.length-1];r.post=e+r.post})),this}};B.deHyphenate=B.dehyphenate,B.toQuotation=B.toQuotations;var U=B,M={alpha:(t,e)=>t.normale.normal?1:0,length:(t,e)=>{let n=t.normal.trim().length,r=e.normal.trim().length;return nr?-1:0},wordCount:(t,e)=>t.wordse.words?-1:0,sequential:(t,e)=>t[0]e[0]?-1:t[1]>e[1]?1:-1,byFreq:function(t){let e={};return t.forEach((t=>{e[t.normal]=e[t.normal]||0,e[t.normal]+=1})),t.sort(((t,n)=>{let r=e[t.normal],o=e[n.normal];return ro?-1:0})),t}};const W=new Set(["index","sequence","seq","sequential","chron","chronological"]),I=new Set(["freq","frequency","topk","repeats"]),R=new Set(["alpha","alphabetical"]);var Q={unique:function(){let t=new Set;return this.filter((e=>{let n=e.text("machine");return!t.has(n)&&(t.add(n),!0)}))},reverse:function(){let t=this.pointer||this.docs.map(((t,e)=>[e]));return t=[].concat(t),t=t.reverse(),this._cache&&(this._cache=this._cache.reverse()),this.update(t)},sort:function(t){let{docs:e,pointer:n}=this;if(this.uncache(),"function"==typeof t)return function(t,e){let n=t.fullPointer;return n=n.sort(((n,r)=>(n=t.update([n]),r=t.update([r]),e(n,r)))),t.ptrs=n,t}(this,t);t=t||"alpha";let r=n||e.map(((t,e)=>[e])),o=e.map(((t,e)=>({index:e,words:t.length,normal:t.map((t=>t.machine||t.normal||"")).join(" "),pointer:r[e]})));return W.has(t)&&(t="sequential"),R.has(t)&&(t="alpha"),I.has(t)?(o=M.byFreq(o),this.update(o.map((t=>t.pointer)))):"function"==typeof M[t]?(o=o.sort(M[t]),this.update(o.map((t=>t.pointer)))):this}};const H=function(t,e){if(t.length>0){let e=t[t.length-1],n=e[e.length-1];!1===/ /.test(n.post)&&(n.post+=" ")}return t=t.concat(e)};var Z={concat:function(t){if("string"==typeof t){let e=this.fromText(t);if(this.found&&this.ptrs){let t=this.fullPointer,n=t[t.length-1][0];this.document.splice(n,0,...e.document)}else this.document=this.document.concat(e.document);return this.all().compute("index")}if("object"==typeof t&&t.isView)return function(t,e){if(t.document===e.document){let n=t.fullPointer.concat(e.fullPointer);return t.toView(n).compute("index")}return e.fullPointer.forEach((e=>{e[0]+=t.document.length})),t.document=H(t.document,e.docs),t.all()}(this,t);if(e=t,"[object Array]"===Object.prototype.toString.call(e)){let e=H(this.document,t);return this.document=e,this.all()}var e;return this}},K={harden:function(){return this.ptrs=this.fullPointer,this},soften:function(){let t=this.ptrs;return!t||t.length<1||(t=t.map((t=>t.slice(0,3))),this.ptrs=t),this}};const J=Object.assign({},{toLowerCase:function(){return this.termList().forEach((t=>{t.text=t.text.toLowerCase()})),this},toUpperCase:function(){return this.termList().forEach((t=>{t.text=t.text.toUpperCase()})),this},toTitleCase:function(){return this.termList().forEach((t=>{t.text=t.text.replace(/^ *[a-z\u00C0-\u00FF]/,(t=>t.toUpperCase()))})),this},toCamelCase:function(){return this.docs.forEach((t=>{t.forEach(((e,n)=>{0!==n&&(e.text=e.text.replace(/^ *[a-z\u00C0-\u00FF]/,(t=>t.toUpperCase()))),n!==t.length-1&&(e.post="")}))})),this}},N,q,D,U,Q,Z,K);var X=function(t){Object.assign(t.prototype,J)};const Y={id:function(t){let e=t.docs;for(let t=0;t(t.implicit=t.text,t.machine=t.text,t.pre="",t.post="",t.text="",t.normal="",t.index=[r,o+e],t))),n[0]&&(n[0].pre=t[r][o].pre,n[n.length-1].post=t[r][o].post,n[0].text=t[r][o].text,n[0].normal=t[r][o].normal),t[r].splice(o,1,...n))};const ot=/'/,it=new Set(["what","how","when","where","why"]),st=new Set(["be","go","start","think","need"]),lt=new Set(["been","gone"]);var at=function(t,e){let n=t[e].normal.split(ot)[0];if(it.has(n))return[n,"did"];if(t[e+1]){if(lt.has(t[e+1].normal))return[n,"had"];if(st.has(t[e+1].normal))return[n,"would"]}return null},ct=function(t,e){return"ain't"===t[e].normal||"aint"===t[e].normal?null:[t[e].normal.replace(/n't/,""),"not"]};const ut=/'/;var ht=(t,e)=>["je",t[e].normal.split(ut)[1]],ft=(t,e)=>{let n=t[e].normal.split(ut)[1];return n&&n.endsWith("e")?["la",n]:["le",n]},pt=(t,e)=>{let n=t[e].normal.split(ut)[1];return n&&n.endsWith("e")?["du",n]:n&&n.endsWith("s")?["des",n]:["de",n]};const dt=/^([0-9.]{1,4}[a-z]{0,2}) ?[-–—] ?([0-9]{1,4}[a-z]{0,2})$/i,mt=/^([0-9]{1,2}(:[0-9][0-9])?(am|pm)?) ?[-–—] ?([0-9]{1,2}(:[0-9][0-9])?(am|pm)?)$/i,gt=/^[0-9]{3}-[0-9]{4}$/;var wt=function(t,e){let n=t[e],r=n.text.match(dt);return null!==r?!0===n.tags.has("PhoneNumber")||gt.test(n.text)?null:[r[1],"to",r[2]]:(r=n.text.match(mt),null!==r?[r[1],"to",r[4]]:null)};const bt=/^([+-]?[0-9][.,0-9]*)([a-z°²³µ/]+)$/;var yt=function(t,e,n){const r=n.model.one.numberSuffixes||{};let o=t[e].text.match(bt);if(null!==o){let t=o[2].toLowerCase().trim();return r.hasOwnProperty(t)?null:[o[1],t]}return null};const vt=/'/,xt=/^[0-9][^-–—]*[-–—].*?[0-9]/,jt=function(t,e,n,r){let o=e.update();o.document=[t];let i=n+r;n>0&&(n-=1),t[i]&&(i+=1),o.ptrs=[[0,n,i]]},Et={t:(t,e)=>ct(t,e),d:(t,e)=>at(t,e)},Ot={j:(t,e)=>ht(t,e),l:(t,e)=>ft(t,e),d:(t,e)=>pt(t,e)},kt=function(t,e,n,r){for(let o=0;o2)return i.out.concat(r)}return null},Pt=function(t,e){let n=e.fromText(t.join(" "));return n.compute(["id","alias"]),n.docs[0]},_t=function(t,e){for(let n=e+1;n<5&&t[n];n+=1)if("been"===t[n].normal)return["there","has"];return["there","is"]};var St=t=>{let{world:e,document:n}=t;const{model:r,methods:o}=e;let i=r.one.contractions||[];n.forEach(((r,s)=>{for(let l=r.length-1;l>=0;l-=1){let a=null,c=null;!0===vt.test(r[l].normal)&&([a,c]=r[l].normal.split(vt));let u=kt(i,r[l],a,c);!u&&Et.hasOwnProperty(c)&&(u=Et[c](r,l,e)),!u&&Ot.hasOwnProperty(a)&&(u=Ot[a](r,l)),"there"===a&&"s"===c&&(u=_t(r,l)),u?(u=Pt(u,t),rt(n,[s,l],u),jt(n[s],t,l,u.length)):xt.test(r[l].normal)?(u=wt(r,l),u&&(u=Pt(u,t),rt(n,[s,l],u),o.one.setTag(u,"NumberRange",e),u[2]&&u[2].tags.has("Time")&&o.one.setTag([u[0]],"Time",e,null,"time-range"),jt(n[s],t,l,u.length))):(u=yt(r,l,e),u&&(u=Pt(u,t),rt(n,[s,l],u),o.one.setTag([u[1]],"Unit",e,null,"contraction-unit")))}}))},At={model:nt,compute:{contractions:St},hooks:["contractions"]},Tt=function(t,e,n){const{model:r,methods:o}=n,i=o.one.setTag,s=r.one._multiCache||{},l=r.one.lexicon||{};let a=t[e],c=a.machine||a.normal;return void 0!==t[e+1]&&!0===s[c]?function(t,e,n,r,o){let i=e+4>t.length?t.length-e:4,s=t[e].machine||t[e].normal;for(let l=1;ls.hasOwnProperty(t)));if(t)return i([l],s[t],n,!1,"1-lexicon-alias"),!0}if(!0===$t.test(a)){let t=a.replace($t,"");if(s.hasOwnProperty(t)&&t.length>3&&Ct.has(s[t]))return i([l],s[t],n,!1,"1-lexicon-prefix"),!0}return null},Nt={lexicon:function(t){const e=t.world;t.docs.forEach((t=>{for(let n=0;n{let o=t[r],i=(r=(r=r.toLowerCase().trim()).replace(/'s\b/,"")).split(/ /);i.length>1&&(n[i[0]]=!0),e[r]=e[r]||o})),delete e[""],delete e.null,delete e[" "],{lex:e,_multi:n}},Vt={addWords:function(t){const e=this.world(),{methods:n,model:r}=e;if(t)if(Object.keys(t).forEach((e=>{"string"==typeof t[e]&&t[e].startsWith("#")&&(t[e]=t[e].replace(/^#/,""))})),n.two.expandLexicon){let{lex:o,_multi:i}=n.two.expandLexicon(t,e);Object.assign(r.one.lexicon,o),Object.assign(r.one._multiCache,i)}else if(n.one.expandLexicon){let{lex:o,_multi:i}=n.one.expandLexicon(t,e);Object.assign(r.one.lexicon,o),Object.assign(r.one._multiCache,i)}else Object.assign(r.one.lexicon,t)}},qt={model:{one:{lexicon:{},_multiCache:{}}},methods:{one:{expandLexicon:Lt}},compute:Nt,lib:Vt,hooks:["lexicon"]},Ft=function(t,e){let n=[{}],r=[null],o=[0],i=[],s=0;t.forEach((function(t){let o=0,i=function(t,e){const{methods:n,model:r}=e;let o=n.one.tokenize.splitTerms(t,r).map((t=>n.one.tokenize.splitWhitespace(t,r)));return o.map((t=>t.text.toLowerCase()))}(t,e);for(let t=0;t0&&!n[s].hasOwnProperty(a);)s=o[s];if(n.hasOwnProperty(s)){let t=n[s][a];o[c]=t,r[t]&&(r[c]=r[c]||[],r[c]=r[c].concat(r[t]))}else o[c]=0}}return{goNext:n,endAs:r,failTo:o}};const Gt=function(t,e,n){let r=0,o=[];for(let i=0;i0&&(void 0===e.goNext[r]||!e.goNext[r].hasOwnProperty(s));)r=e.failTo[r]||0;if(e.goNext[r].hasOwnProperty(s)&&(r=e.goNext[r][s],e.endAs[r])){let n=e.endAs[r];for(let e=0;e0&&(r=r.concat(a))}return t.update(r)};const Ut=(t,e)=>{for(let n=t.length-1;n>=0;n-=1)if(t[n]!==e)return t=t.slice(0,n+1);return t};var Mt=function(t){return t.goNext=t.goNext.map((t=>{if(0!==Object.keys(t).length)return t})),t.goNext=Ut(t.goNext,void 0),t.failTo=Ut(t.failTo,0),t.endAs=Ut(t.endAs,null),t};const Wt={buildTrie:function(t){const e=Ft(t,this.world());return Mt(e)}};Wt.compile=Wt.buildTrie;var It={api:function(t){t.prototype.lookup=function(t,e={}){if(!t)return this.none();"string"==typeof t&&(t=[t]);let n=(r=t,"[object Object]"===Object.prototype.toString.call(r)?t:Ft(t,this.world));var r;let o=Bt(this,n,e);return o=o.settle(),o}},lib:Wt};const Rt=function(t,e){return e?(t.forEach((t=>{let n=t[0];e[n]&&(t[0]=e[n][0],t[1]+=e[n][1],t[2]+=e[n][1])})),t):t},Qt=function(t,e){let{ptrs:n,byGroup:r}=t;return n=Rt(n,e),Object.keys(r).forEach((t=>{r[t]=Rt(r[t],e)})),{ptrs:n,byGroup:r}},Ht=t=>"[object Object]"===Object.prototype.toString.call(t),Zt=t=>t&&Ht(t)&&!0===t.isView,Kt=t=>t&&Ht(t)&&!0===t.isNet,Jt=function(t,e,n){const r=n.methods.one;return"number"==typeof t&&(t=String(t)),"string"==typeof t&&(t=r.killUnicode(t,n),t=r.parseMatch(t,e,n)),t};var Xt={matchOne:function(t,e,n){const r=this.methods.one;if(Zt(t))return this.intersection(t).eq(0);if(Kt(t))return this.sweep(t,{tagger:!1,matchOne:!0}).view;let o={regs:t=Jt(t,n,this.world),group:e,justOne:!0},i=r.match(this.docs,o,this._cache),{ptrs:s,byGroup:l}=Qt(i,this.fullPointer),a=this.toView(s);return a._groups=l,a},match:function(t,e,n){const r=this.methods.one;if(Zt(t))return this.intersection(t);if(Kt(t))return this.sweep(t,{tagger:!1}).view.settle();let o={regs:t=Jt(t,n,this.world),group:e},i=r.match(this.docs,o,this._cache),{ptrs:s,byGroup:l}=Qt(i,this.fullPointer),a=this.toView(s);return a._groups=l,a},has:function(t,e,n){const r=this.methods.one;if(Zt(t))return t.fullPointer.length>0;if(Kt(t))return this.sweep(t,{tagger:!1}).view.found;let o={regs:t=Jt(t,n,this.world),group:e,justOne:!0};return r.match(this.docs,o,this._cache).ptrs.length>0},if:function(t,e,n){const r=this.methods.one;if(Zt(t))return this.filter((e=>e.intersection(t).found));if(Kt(t)){let e=this.sweep(t,{tagger:!1}).view.settle();return this.if(e)}let o={regs:t=Jt(t,n,this.world),group:e,justOne:!0},i=this.fullPointer,s=this._cache||[];i=i.filter(((t,e)=>{let n=this.update([t]);return r.match(n.docs,o,s[e]).ptrs.length>0}));let l=this.update(i);return this._cache&&(l._cache=i.map((t=>s[t[0]]))),l},ifNo:function(t,e,n){const{methods:r}=this,o=r.one;if(Zt(t))return this.filter((e=>!e.intersection(t).found));if(Kt(t)){let e=this.sweep(t,{tagger:!1}).view.settle();return this.ifNo(e)}t=Jt(t,n,this.world);let i=this._cache||[],s=this.filter(((n,r)=>{let s={regs:t,group:e,justOne:!0};return 0===o.match(n.docs,s,i[r]).ptrs.length}));return this._cache&&(s._cache=s.ptrs.map((t=>i[t[0]]))),s}},Yt={before:function(t,e,n){const{indexN:r}=this.methods.one.pointer;let o=[],i=r(this.fullPointer);Object.keys(i).forEach((t=>{let e=i[t].sort(((t,e)=>t[1]>e[1]?1:-1))[0];e[1]>0&&o.push([e[0],0,e[1]])}));let s=this.toView(o);return t?s.match(t,e,n):s},after:function(t,e,n){const{indexN:r}=this.methods.one.pointer;let o=[],i=r(this.fullPointer),s=this.document;Object.keys(i).forEach((t=>{let e=i[t].sort(((t,e)=>t[1]>e[1]?-1:1))[0],[n,,r]=e;r{let i=n.before(t,e);if(i.found){let t=i.terms();r[o][1]-=t.length,r[o][3]=t.docs[0][0].id}})),this.update(r)},growRight:function(t,e,n){"string"==typeof t&&(t=this.world.methods.one.parseMatch(t,n,this.world)),t[0].start=!0;let r=this.fullPointer;return this.forEach(((n,o)=>{let i=n.after(t,e);if(i.found){let t=i.terms();r[o][2]+=t.length,r[o][4]=null}})),this.update(r)},grow:function(t,e,n){return this.growRight(t,e,n).growLeft(t,e,n)}};const te=function(t,e){return[t[0],t[1],e[2]]},ee=(t,e,n)=>{return"string"==typeof t||(r=t,"[object Array]"===Object.prototype.toString.call(r))?e.match(t,n):t||e.none();var r},ne=function(t,e){let[n,r,o]=t;return e.document[n]&&e.document[n][r]&&(t[3]=t[3]||e.document[n][r].id,e.document[n][o-1]&&(t[4]=t[4]||e.document[n][o-1].id)),t},re={splitOn:function(t,e){const{splitAll:n}=this.methods.one.pointer;let r=ee(t,this,e).fullPointer,o=n(this.fullPointer,r),i=[];return o.forEach((t=>{i.push(t.passthrough),i.push(t.before),i.push(t.match),i.push(t.after)})),i=i.filter((t=>t)),i=i.map((t=>ne(t,this))),this.update(i)},splitBefore:function(t,e){const{splitAll:n}=this.methods.one.pointer;let r=ee(t,this,e).fullPointer,o=n(this.fullPointer,r);for(let t=0;t{i.push(t.passthrough),i.push(t.before),t.match&&t.after?i.push(te(t.match,t.after)):i.push(t.match)})),i=i.filter((t=>t)),i=i.map((t=>ne(t,this))),this.update(i)},splitAfter:function(t,e){const{splitAll:n}=this.methods.one.pointer;let r=ee(t,this,e).fullPointer,o=n(this.fullPointer,r),i=[];return o.forEach((t=>{i.push(t.passthrough),t.before&&t.match?i.push(te(t.before,t.match)):(i.push(t.before),i.push(t.match)),i.push(t.after)})),i=i.filter((t=>t)),i=i.map((t=>ne(t,this))),this.update(i)}};re.split=re.splitAfter;var oe=re;const ie=Object.assign({},Xt,Yt,oe);ie.lookBehind=ie.before,ie.lookBefore=ie.before,ie.lookAhead=ie.after,ie.lookAfter=ie.after,ie.notIf=ie.ifNo;var se=function(t){Object.assign(t.prototype,ie)};const le=/(?:^|\s)([![^]*(?:<[^<]*>)?\/.*?[^\\/]\/[?\]+*$~]*)(?:\s|$)/,ae=/([!~[^]*(?:<[^<]*>)?\([^)]+[^\\)]\)[?\]+*$~]*)(?:\s|$)/,ce=/ /g,ue=t=>/^[![^]*(<[^<]*>)?\//.test(t)&&/\/[?\]+*$~]*$/.test(t),he=function(t){return t=(t=t.map((t=>t.trim()))).filter((t=>t))};var fe=function(t){let e=t.split(le),n=[];e.forEach((t=>{ue(t)?n.push(t):n=n.concat(t.split(ae))})),n=he(n);let r=[];return n.forEach((t=>{(t=>/^[![^]*(<[^<]*>)?\(/.test(t)&&/\)[?\]+*$~]*$/.test(t))(t)||ue(t)?r.push(t):r=r.concat(t.split(ce))})),r=he(r),r};const pe=/\{([0-9]+)?(, *[0-9]*)?\}/,de=/&&/,me=new RegExp(/^<\s*(\S+)\s*>/),ge=t=>t.charAt(0).toUpperCase()+t.substring(1),we=t=>t.charAt(t.length-1),be=t=>t.charAt(0),ye=t=>t.substring(1),ve=t=>t.substring(0,t.length-1),xe=function(t){return t=ye(t),t=ve(t)},je=function(t,e){let n={};for(let r=0;r<2;r+=1){if("$"===we(t)&&(n.end=!0,t=ve(t)),"^"===be(t)&&(n.start=!0,t=ye(t)),"?"===we(t)&&(n.optional=!0,t=ve(t)),("["===be(t)||"]"===we(t))&&(n.group=null,"["===be(t)&&(n.groupStart=!0),"]"===we(t)&&(n.groupEnd=!0),t=(t=t.replace(/^\[/,"")).replace(/\]$/,""),"<"===be(t))){const e=me.exec(t);e.length>=2&&(n.group=e[1],t=t.replace(e[0],""))}if("+"===we(t)&&(n.greedy=!0,t=ve(t)),"*"!==t&&"*"===we(t)&&"\\*"!==t&&(n.greedy=!0,t=ve(t)),"!"===be(t)&&(n.negative=!0,t=ye(t)),"~"===be(t)&&"~"===we(t)&&t.length>2&&(t=xe(t),n.fuzzy=!0,n.min=e.fuzzy||.85,!1===/\(/.test(t)))return n.word=t,n;if("/"===be(t)&&"/"===we(t))return t=xe(t),e.caseSensitive&&(n.use="text"),n.regex=new RegExp(t),n;if(!0===pe.test(t)&&(t=t.replace(pe,((t,e,r)=>(void 0===r?(n.min=Number(e),n.max=Number(e)):(r=r.replace(/, */,""),void 0===e?(n.min=0,n.max=Number(r)):(n.min=Number(e),n.max=Number(r||999))),n.greedy=!0,n.min||(n.optional=!0),"")))),"("===be(t)&&")"===we(t)){de.test(t)?(n.choices=t.split(de),n.operator="and"):(n.choices=t.split("|"),n.operator="or"),n.choices[0]=ye(n.choices[0]);let r=n.choices.length-1;n.choices[r]=ve(n.choices[r]),n.choices=n.choices.map((t=>t.trim())),n.choices=n.choices.filter((t=>t)),n.choices=n.choices.map((t=>t.split(/ /g).map((t=>je(t,e))))),t=""}if("{"===be(t)&&"}"===we(t)){if(t=xe(t),n.root=t,/\//.test(t)){let t=n.root.split(/\//);n.root=t[0],n.pos=t[1],"adj"===n.pos&&(n.pos="Adjective"),n.pos=n.pos.charAt(0).toUpperCase()+n.pos.substr(1).toLowerCase(),void 0!==t[2]&&(n.sense=t[2])}return n}if("<"===be(t)&&">"===we(t))return t=xe(t),n.chunk=ge(t),n.greedy=!0,n;if("%"===be(t)&&"%"===we(t))return t=xe(t),n.switch=t,n}return"#"===be(t)?(n.tag=ye(t),n.tag=ge(n.tag),n):"@"===be(t)?(n.method=ye(t),n):"."===t?(n.anything=!0,n):"*"===t?(n.anything=!0,n.greedy=!0,n.optional=!0,n):(t&&(t=(t=t.replace("\\*","*")).replace("\\.","."),e.caseSensitive?n.use="text":t=t.toLowerCase(),n.word=t),n)};var Ee=je;const Oe=/[a-z0-9][-–—][a-z]/i;var ke=function(t,e){let n=e.model.one.prefixes;for(let e=t.length-1;e>=0;e-=1){let r=t[e];if(r.word&&Oe.test(r.word)){let o=r.word.split(/[-–—]/g);if(n.hasOwnProperty(o[0]))continue;o=o.filter((t=>t)).reverse(),t.splice(e,1),o.forEach((n=>{let o=Object.assign({},r);o.word=n,t.splice(e,0,o)}))}}return t};const Pe=function(t,e){let{all:n}=e.methods.two.transform.verb||{},r=t.root;return n?n(r,e.model):[]},_e=function(t,e){let{all:n}=e.methods.two.transform.noun||{};return n?n(t.root,e.model):[t.root]},Se=function(t,e){let{all:n}=e.methods.two.transform.adjective||{};return n?n(t.root,e.model):[t.root]};var Ae=function(t,e){return t=t.map((t=>{if(t.root)if(e.methods.two&&e.methods.two.transform){let n=[];t.pos?"Verb"===t.pos?n=n.concat(Pe(t,e)):"Noun"===t.pos?n=n.concat(_e(t,e)):"Adjective"===t.pos&&(n=n.concat(Se(t,e))):(n=n.concat(Pe(t,e)),n=n.concat(_e(t,e)),n=n.concat(Se(t,e))),n=n.filter((t=>t)),n.length>0&&(t.operator="or",t.fastOr=new Set(n))}else t.machine=t.root,delete t.id,delete t.root;return t}))},Te=function(t){return t=function(t){let e=0,n=null;for(let r=0;r(t.fuzzy&&t.choices&&t.choices.forEach((e=>{1===e.length&&e[0].word&&(e[0].fuzzy=!0,e[0].min=t.min)})),t)))}(t=t.map((t=>{if(void 0!==t.choices){if("or"!==t.operator)return t;if(!0===t.fuzzy)return t;!0===t.choices.every((t=>{if(1!==t.length)return!1;let e=t[0];return!0!==e.fuzzy&&!e.start&&!e.end&&void 0!==e.word&&!0!==e.negative&&!0!==e.optional&&!0!==e.method}))&&(t.fastOr=new Set,t.choices.forEach((e=>{t.fastOr.add(e[0].word)})),delete t.choices)}return t}))),t},$e=function(t,e,n){if(null==t||""===t)return[];e=e||{},"number"==typeof t&&(t=String(t));let r=fe(t);return r=r.map((t=>Ee(t,e))),r=ke(r,n),r=Ae(r,n),r=Te(r),r};const Ce=function(t,e){for(let n of e)if(t.has(n))return!0;return!1};var ze=function(t,e){for(let n=0;nn?r:n)+1;if(Math.abs(n-r)>(o||100))return o||100;let i,s,l,a,c,u,h=[];for(let t=0;t4)return n;l=e[i-1],a=s===l?0:1,c=h[o-1][i]+1,(u=h[o][i-1]+1)1&&i>1&&s===e[i-2]&&t[o-2]===l&&(u=h[o-2][i-2]+a)-1!==t.post.indexOf(e),De=(t,e)=>-1!==t.pre.indexOf(e),Be={hasQuote:t=>Le.test(t.pre)||Ve.test(t.post),hasComma:t=>Ge(t,","),hasPeriod:t=>!0===Ge(t,".")&&!1===Ge(t,"..."),hasExclamation:t=>Ge(t,"!"),hasQuestionMark:t=>Ge(t,"?")||Ge(t,"¿"),hasEllipses:t=>Ge(t,"..")||Ge(t,"…")||De(t,"..")||De(t,"…"),hasSemicolon:t=>Ge(t,";"),hasColon:t=>Ge(t,":"),hasSlash:t=>/\//.test(t.text),hasHyphen:t=>qe.test(t.post)||qe.test(t.pre),hasDash:t=>Fe.test(t.post)||Fe.test(t.pre),hasContraction:t=>Boolean(t.implicit),isAcronym:t=>t.tags.has("Acronym"),isKnown:t=>t.tags.size>0,isTitleCase:t=>/^\p{Lu}[a-z'\u00C0-\u00FF]/u.test(t.text),isUpperCase:t=>/^\p{Lu}+$/u.test(t.text)};Be.hasQuotation=Be.hasQuote;var Ue=Be;let Me=function(){};Me=function(t,e,n,r){let o=function(t,e,n,r){if(!0===e.anything)return!0;if(!0===e.start&&0!==n)return!1;if(!0===e.end&&n!==r-1)return!1;if(void 0!==e.id&&e.id===t.id)return!0;if(void 0!==e.word){if(e.use)return e.word===t[e.use];if(null!==t.machine&&t.machine===e.word)return!0;if(void 0!==t.alias&&t.alias.hasOwnProperty(e.word))return!0;if(!0===e.fuzzy){if(e.word===t.root)return!0;if(Ne(e.word,t.normal)>=e.min)return!0}return!(!t.alias||!t.alias.some((t=>t===e.word)))||e.word===t.text||e.word===t.normal}if(void 0!==e.tag)return!0===t.tags.has(e.tag);if(void 0!==e.method)return"function"==typeof Ue[e.method]&&!0===Ue[e.method](t);if(void 0!==e.pre)return t.pre&&t.pre.includes(e.pre);if(void 0!==e.post)return t.post&&t.post.includes(e.post);if(void 0!==e.regex){let n=t.normal;return e.use&&(n=t[e.use]),e.regex.test(n)}if(void 0!==e.chunk)return t.chunk===e.chunk;if(void 0!==e.switch)return t.switch===e.switch;if(void 0!==e.machine)return t.normal===e.machine||t.machine===e.machine||t.root===e.machine;if(void 0!==e.sense)return t.sense===e.sense;if(void 0!==e.fastOr){if(e.pos&&!t.tags.has(e.pos))return null;let n=t.root||t.implicit||t.machine||t.normal;return e.fastOr.has(n)||e.fastOr.has(t.text)}return void 0!==e.choices&&("and"===e.operator?e.choices.every((e=>Me(t,e,n,r))):e.choices.some((e=>Me(t,e,n,r))))}(t,e,n,r);return!0===e.negative?!o:o};var We=Me;const Ie=function(t,e){if(!0===t.end&&!0===t.greedy&&e.start_i+e.tn.max?(t.t=t.t+n.max,!0):(!0===t.hasGroup&&(Re(t,t.t).length=r-t.t),t.t=r,!0)};const He=function(t,e=0){let n=t.regs[t.r],r=!1;for(let i=0;i{let o=0,i=t.t+r+e+o;if(void 0===t.terms[i])return!1;let s=We(t.terms[i],n,i+t.start_i,t.phrase_length);if(!0===s&&!0===n.greedy)for(let e=1;e{let r=n.every(((e,n)=>{let r=t.t+n;return void 0!==t.terms[r]&&We(t.terms[r],e,r,t.phrase_length)}));return!0===r&&n.length>e&&(e=n.length),r}))&&e}(t);if(r){if(!0===n.negative)return null;if(!0===t.hasGroup&&(Re(t,t.t).length+=r),!0===n.end){let e=t.phrase_length-1;if(t.t+t.start_i!==e)return null}return t.t+=r,!0}return!!n.optional||null},Je=function(t,e,n){let r=0;for(let o=t.t;or||(t.t+=r,0))},Xe=function(t){const{regs:e}=t;let n=e[t.r],r=Object.assign({},n);if(r.negative=!1,We(t.terms[t.t],r,t.start_i+t.t,t.phrase_length))return!1;if(n.optional){let n=e[t.r+1];n&&(We(t.terms[t.t],n,t.start_i+t.t,t.phrase_length)?t.r+=1:n.optional&&e[t.r+2]&&We(t.terms[t.t],e[t.r+2],t.start_i+t.t,t.phrase_length)&&(t.r+=2))}return n.greedy?Je(t,r,e[t.r+1]):(t.t+=1,!0)},Ye=function(t){const{regs:e}=t;let n=e[t.r],r=t.terms[t.t],o=We(r,e[t.r+1],t.start_i+t.t,t.phrase_length);if(n.negative||o){let n=t.terms[t.t+1];n&&We(n,e[t.r+1],t.start_i+t.t,t.phrase_length)||(t.r+=1)}},tn=function(t){const{regs:e,phrase_length:n}=t;let r=e[t.r];return t.t=function(t,e){let n=Object.assign({},t.regs[t.r],{start:!1,end:!1}),r=t.t;for(;t.tt.t?null:!0!==r.end||t.start_i+t.t===n||null},en=function(t){let e=t.terms[t.t],n=t.regs[t.r];if(e.implicit&&t.terms[t.t+1]){if(!t.terms[t.t+1].implicit)return;n.word===e.normal&&(t.t+=1),"hasContraction"===n.method&&(t.t+=1)}},nn=function(t){const{regs:e}=t;let n=e[t.r],r=t.terms[t.t],o=t.t;return!!(n.optional&&e[t.r+1]&&n.negative)||(n.optional&&e[t.r+1]&&Ye(t),r.implicit&&t.terms[t.t+1]&&en(t),t.t+=1,!0===n.end&&t.t!==t.terms.length&&!0!==n.greedy?null:!0!==n.greedy||tn(t)?(!0===t.hasGroup&&function(t,e){let n=t.regs[t.r];const r=Re(t,e);t.t>1&&n.greedy?r.length+=t.t-e:r.length++}(t,o),!0):null)},rn=function(t,e,n,r){if(0===t.length||0===e.length)return null;let o={t:0,terms:t,r:0,regs:e,groups:{},start_i:n,phrase_length:r,inGroup:null};for(;o.r!t.optional)))break;return null}if(!0!==t.anything||!0!==t.greedy){if(void 0===t.choices||"or"!==t.operator){if(void 0===t.choices||"and"!==t.operator)if(!0!==t.anything){if(!0!==Ie(t,o)){if(t.negative){if(!Xe(o))return null}else if(!0!==We(o.terms[o.t],t,o.start_i+o.t,o.phrase_length)){if(!0!==t.optional)return null}else if(!nn(o))return null}else if(!nn(o))return null}else{if(t.negative&&t.anything)return null;if(!nn(o))return null}else if(!Ke(o))return null}else if(!Ze(o))return null}else if(!Qe(o))return null}let i=[null,n,o.t+n];if(i[1]===i[2])return null;let s={};return Object.keys(o.groups).forEach((t=>{let e=o.groups[t],r=n+e.start;s[t]=[null,r,r+e.length]})),{pointer:i,groups:s}},on=function(t,e){let n=[],r={};return 0===t.length||("number"==typeof e&&(e=String(e)),e?t.forEach((t=>{t.groups[e]&&n.push(t.groups[e])})):t.forEach((t=>{n.push(t.pointer),Object.keys(t.groups).forEach((e=>{r[e]=r[e]||[],r[e].push(t.groups[e])}))}))),{ptrs:n,byGroup:r}},sn=function(t,e,n){return t=t.filter((t=>{let[r,o,i]=t.pointer,s=n[r].slice(o,i);for(let t=0;t{t.groups[n][0]=e})),t},an=function(t,e,n){let r=rn(t,e,0,t.length);return r?(r=ln(r,n),r):null};var cn=function(t,e,n){n=n||[];let{regs:r,group:o,justOne:i}=e,s=[];if(!r||0===r.length)return{ptrs:[],byGroup:{}};const l=r.filter((t=>!0!==t.optional&&!0!==t.negative)).length;t:for(let e=0;et&&(t=Math.abs(n-1))}}else{let t=an(o,r,e);t&&s.push(t)}}return!0===r[r.length-1].end&&(s=s.filter((e=>{let n=e.pointer[0];return t[n].length===e.pointer[2]}))),e.notIf&&(s=sn(s,e.notIf,t)),s=on(s,o),s.ptrs.forEach((e=>{let[n,r,o]=e;e[3]=t[n][r].id,e[4]=t[n][o-1].id})),s},un={api:se,methods:{one:{termMethods:Ue,parseMatch:$e,match:cn}},lib:{parseMatch:function(t,e){const n=this.world();let r=n.methods.one.killUnicode;return r&&(t=r(t,n)),n.methods.one.parseMatch(t,e,n)}}};const hn=/^\../,fn=/^#./,pn=function(t,e){let n={},r={};return Object.keys(e).forEach((o=>{let i=e[o],s=function(t){let e="",n="";return t=t.replace(/&/g,"&").replace(//g,">").replace(/"/g,""").replace(/'/g,"'"),hn.test(t)?e=``),e+=">",{start:e,end:n}}(o);"string"==typeof i&&(i=t.match(i)),i.docs.forEach((t=>{if(t.every((t=>t.implicit)))return;let e=t[0].id;n[e]=n[e]||[],n[e].push(s.start);let o=t[t.length-1].id;r[o]=r[o]||[],r[o].push(s.end)}))})),{starts:n,ends:r}};var dn={html:function(t){let{starts:e,ends:n}=pn(this,t),r="";return this.docs.forEach((t=>{for(let o=0;o{let n=t.pre||"",o=t.post||"";"some"===e.punctuation&&(n=n.replace(gn,""),bn.test(o)&&(o=" "),o=o.replace(wn,""),o=o.replace(/\?!+/,"?"),o=o.replace(/!+/,"!"),o=o.replace(/\?+/,"?"),o=o.replace(/\.{2,}/,""),t.tags.has("Abbreviation")&&(o=o.replace(/\./,""))),"some"===e.whitespace&&(n=n.replace(/\s/,""),o=o.replace(/\s+/," ")),e.keepPunct||(n=n.replace(gn,""),o="-"===o?" ":o.replace(mn,""));let i=t[e.form||"text"]||t.normal||"";"implicit"===e.form&&(i=t.implicit||t.text),"root"===e.form&&t.implicit&&(i=t.root||t.implicit||t.normal),"machine"!==e.form&&"implicit"!==e.form&&"root"!==e.form||!t.implicit||o&&yn.test(o)||(o+=" "),r+=n+i+o})),!1===n&&(r=r.trim()),!0===e.lowerCase&&(r=r.toLowerCase()),r},xn={text:{form:"text"},normal:{whitespace:"some",punctuation:"some",case:"some",unicode:"some",form:"normal"},machine:{keepSpace:!1,whitespace:"some",punctuation:"some",case:"none",unicode:"some",form:"machine"},root:{keepSpace:!1,whitespace:"some",punctuation:"some",case:"some",unicode:"some",form:"root"},implicit:{form:"implicit"}};xn.clean=xn.normal,xn.reduced=xn.root;var jn=xn;let En=[],On=0;for(;On<64;)En[On]=0|4294967296*Math.sin(++On%Math.PI);function kn(t){let e,n,r,o=[e=1732584193,n=4023233417,~e,~n],i=[],s=decodeURI(encodeURI(t))+"€",l=s.length;for(t=--l/4+2|15,i[--t]=8*l;~l;)i[l>>2]|=s.charCodeAt(l)<<8*l--;for(On=s=0;On>4]+En[s]+~~i[On|15&[s,5*s+1,3*s+5,7*s][l]])<<(l=[7,12,17,22,5,9,14,20,4,11,16,23,6,10,15,21][4*l+s++%4])|r>>>-l),e,n])e=0|l[1],n=l[2];for(s=4;s;)o[--s]+=l[s]}for(t="";s<32;)t+=(o[s>>3]>>4*(1^s++)&15).toString(16);return t}const Pn={text:!0,terms:!0};let _n={case:"none",unicode:"some",form:"machine",punctuation:"some"};const Sn=function(t,e){return Object.assign({},t,e)},An={text:t=>vn(t,{keepPunct:!0},!1),normal:t=>vn(t,Sn(jn.normal,{keepPunct:!0}),!1),implicit:t=>vn(t,Sn(jn.implicit,{keepPunct:!0}),!1),machine:t=>vn(t,_n,!1),root:t=>vn(t,Sn(_n,{form:"root"}),!1),hash:t=>kn(vn(t,{keepPunct:!0},!1)),offset:t=>{let e=An.text(t).length;return{index:t[0].offset.index,start:t[0].offset.start,length:e}},terms:t=>t.map((t=>{let e=Object.assign({},t);return e.tags=Array.from(t.tags),e})),confidence:(t,e,n)=>e.eq(n).confidence(),syllables:(t,e,n)=>e.eq(n).syllables(),sentence:(t,e,n)=>e.eq(n).fullSentence().text(),dirty:t=>t.some((t=>!0===t.dirty))};An.sentences=An.sentence,An.clean=An.normal,An.reduced=An.root;const Tn={json:function(t){let e=(n=this,"string"==typeof(r=(r=t)||{})&&(r={}),(r=Object.assign({},Pn,r)).offset&&n.compute("offset"),n.docs.map(((t,e)=>{let o={};return Object.keys(r).forEach((i=>{r[i]&&An[i]&&(o[i]=An[i](t,n,e))})),o})));var n,r;return"number"==typeof t?e[t]:e}};Tn.data=Tn.json;var $n=Tn,Cn=function(t){console.log("%c -=-=- ","background-color:#6699cc;"),t.forEach((t=>{console.groupCollapsed(t.text());let e=t.docs[0].map((t=>{let e=t.text||"-";return t.implicit&&(e="["+t.implicit+"]"),{text:e,tags:"["+Array.from(t.tags).join(", ")+"]"}}));console.table(e,["text","tags"]),console.groupEnd()}))};const zn="";var Nn={green:t=>""+t+zn,red:t=>""+t+zn,blue:t=>""+t+zn,magenta:t=>""+t+zn,cyan:t=>""+t+zn,yellow:t=>""+t+zn,black:t=>""+t+zn,dim:t=>""+t+zn,i:t=>""+t+zn},Ln=function(t){let{docs:e,model:n}=t;0===e.length&&console.log(Nn.blue("\n ──────")),e.forEach((e=>{console.log(Nn.blue("\n ┌─────────")),e.forEach((e=>{let r=[...e.tags||[]],o=e.text||"-";e.sense&&(o=`{${e.normal}/${e.sense}}`),e.implicit&&(o="["+e.implicit+"]"),o=Nn.yellow(o);let i="'"+o+"'";if(e.reference){let n=t.update([e.reference]).text("normal");i+=` - ${Nn.dim(Nn.i("["+n+"]"))}`}i=i.padEnd(18);let s=Nn.blue(" │ ")+Nn.i(i)+" - "+function(t,e){return e.one.tagSet&&(t=t.map((t=>{if(!e.one.tagSet.hasOwnProperty(t))return t;const n=e.one.tagSet[t].color||"blue";return Nn[n](t)}))),t.join(", ")}(r,n);console.log(s)}))}))},Vn=function(t){let{docs:e}=t;console.log(""),e.forEach((t=>{let e=[];t.forEach((t=>{"Noun"===t.chunk?e.push(Nn.blue(t.implicit||t.normal)):"Verb"===t.chunk?e.push(Nn.green(t.implicit||t.normal)):"Adjective"===t.chunk?e.push(Nn.yellow(t.implicit||t.normal)):"Pivot"===t.chunk?e.push(Nn.red(t.implicit||t.normal)):e.push(t.implicit||t.normal)})),console.log(e.join(" "),"\n")}))},qn=function(t){if(!t.found)return;let e={};t.fullPointer.forEach((t=>{e[t[0]]=e[t[0]]||[],e[t[0]].push(t)})),Object.keys(e).forEach((n=>{let r=t.update([[Number(n)]]).text();t.update(e[n]).json({offset:!0}).forEach(((t,e)=>{r=function(t,e,n){let r=((t,e,n)=>{let r=9*n,o=e.start+r,i=o+e.length;return[t.substring(0,o),t.substring(o,i),t.substring(i,t.length)]})(t,e,n);return`${r[0]}${Nn.blue(r[1])}${r[2]}`}(r,t.offset,e)})),console.log(r)}))},Fn=function(t={}){let e=this;if("string"==typeof t){let e={};e[t]=!0,t=e}return"undefined"!=typeof window&&window.document?(Cn(e),e):(!1!==t.tags&&(Ln(e),console.log("\n")),!0===t.chunks&&(Vn(e),console.log("\n")),!0===t.highlight&&(qn(e),console.log("\n")),e)};const Gn=function(t){let e=t.pre||"",n=t.post||"";return e+t.text+n};var Dn=function(t,e){let n=function(t,e){let n={};return Object.keys(e).forEach((r=>{t.match(r).fullPointer.forEach((t=>{n[t[3]]={fn:e[r],end:t[2]}}))})),n}(t,e),r="";return t.docs.forEach(((e,o)=>{for(let i=0;it.reduce(((t,e)=>t+e.pre+e.text+e.post),"").trim()));return t.filter((t=>t))}if("freq"===t||"frequency"===t||"topk"===t)return function(t){let e={};t.forEach((t=>{e[t]=e[t]||0,e[t]+=1}));let n=Object.keys(e).map((t=>({normal:t,count:e[t]})));return n.sort(((t,e)=>t.count>e.count?-1:0))}(this.json({normal:!0}).map((t=>t.normal)));if("terms"===t){let t=[];return this.docs.forEach((e=>{let n=e.terms.map((t=>t.text));n=n.filter((t=>t)),t=t.concat(n)})),t}return"tags"===t?this.docs.map((t=>t.reduce(((t,e)=>(t[e.implicit||e.normal]=Array.from(e.tags),t)),{}))):"debug"===t?this.debug():this.text()},wrap:function(t){return Dn(this,t)}};var Un=Bn,Mn={text:function(t){let e={};var n;if(t&&"string"==typeof t&&jn.hasOwnProperty(t)?e=Object.assign({},jn[t]):t&&(n=t,"[object Object]"===Object.prototype.toString.call(n))&&(e=Object.assign({},t)),void 0!==e.keepSpace||this.isFull()||(e.keepSpace=!1),void 0===e.keepEndPunct&&this.pointer){let t=this.pointer[0];t&&t[1]?e.keepEndPunct=!1:e.keepEndPunct=!0}return void 0===e.keepPunct&&(e.keepPunct=!0),void 0===e.keepSpace&&(e.keepSpace=!0),function(t,e){let n="";if(!t||!t[0]||!t[0][0])return n;for(let r=0;ro||o<=n&&i>n},Hn=function(t){let e={};return t.forEach((t=>{e[t[0]]=e[t[0]]||[],e[t[0]].push(t)})),e};var Zn=function(t,e){let n=Hn(e),r=[];return t.forEach((t=>{let[e]=t,o=n[e]||[];if(o=o.filter((e=>function(t,e){return t[1]<=e[1]&&e[2]<=t[2]}(t,e))),0===o.length)return void r.push({passthrough:t});o=o.sort(((t,e)=>t[1]-e[1]));let i=t;o.forEach(((t,e)=>{let n=function(t,e){let[n,r]=t,o=e[1],i=e[2],s={};if(ri&&(s.after=[n,i,t[2]]),s}(i,t);o[e+1]?(r.push({before:n.before,match:n.match}),n.after&&(i=n.after)):r.push(n)}))})),r},Kn=function(t,e){let n=[];return t.forEach(((r,o)=>{if(!r)return;let[i,s,l,a,c]=r,u=e[i]||[];if(void 0===s&&(s=0),void 0===l&&(l=u.length),!a||u[s]&&u[s].id===a)u=u.slice(s,l);else{let n=function(t,e,n){for(let r=0;r<20;r+=1){if(e[n-r]){let o=e[n-r].findIndex((e=>e.id===t));if(-1!==o)return[n-r,o]}if(e[n+r]){let o=e[n+r].findIndex((e=>e.id===t));if(-1!==o)return[n+r,o]}}return null}(a,e,i);if(null!==n){let r=l-s;u=e[n[0]].slice(n[1],n[1]+r);let i=u[0]?u[0].id:null;t[o]=[n[0],n[1],n[1]+r,i]}}0!==u.length&&s!==l&&(c&&u[u.length-1].id!==c&&(u=function(t,e){let[n,r,,,o]=t,i=e[n],s=i.findIndex((t=>t.id===o));return-1===s?(t[2]=e[n].length,t[4]=i.length?i[i.length-1].id:null):t[2]=s,e[n].slice(r,t[2]+1)}(r,e)),n.push(u))})),n=n.filter((t=>t.length>0)),n},Jn={one:{termList:function(t){let e=[];for(let n=0;n{let[e]=t;if(1===r[e].length)return void o.push(t);let n=r[e].filter((e=>Qn(t,e)));n.push(t);let i=function(t){let e=t[0][1],n=t[0][2];return t.forEach((t=>{t[1]n&&(n=t[2])})),[t[0][0],e,n]}(n);o.push(i)})),o=function(t){let e={};for(let n=0;n{t.passthrough&&n.push(t.passthrough),t.before&&n.push(t.before),t.after&&n.push(t.after)})),n},tr=function(t,e){let n=Hn(e),r=[];return t.forEach((t=>{let e=n[t[0]]||[];e=e.filter((e=>Qn(t,e))),0!==e.length&&e.forEach((e=>{let n=function(t,e){let n=t[1]e[2]?e[2]:t[2];return n{return"string"==typeof t||(n=t,"[object Array]"===Object.prototype.toString.call(n))?e.match(t):t||e.none();var n},nr=function(t,e){return t.map((t=>{let[n,r]=t;return e[n]&&e[n][r]&&(t[3]=e[n][r].id),t}))},rr={union:function(t){t=er(t,this);let e=Xn(this.fullPointer,t.fullPointer);return e=nr(e,this.document),this.toView(e)}};rr.and=rr.union,rr.intersection=function(t){t=er(t,this);let e=tr(this.fullPointer,t.fullPointer);return e=nr(e,this.document),this.toView(e)},rr.not=function(t){t=er(t,this);let e=Yn(this.fullPointer,t.fullPointer);return e=nr(e,this.document),this.toView(e)},rr.difference=rr.not,rr.complement=function(){let t=this.all(),e=Yn(t.fullPointer,this.fullPointer);return e=nr(e,this.document),this.toView(e)},rr.settle=function(){let t=this.fullPointer;return t.forEach((e=>{t=Xn(t,[e])})),t=nr(t,this.document),this.update(t)};var or=function(t){Object.assign(t.prototype,rr)},ir={methods:Jn,api:or},sr=function(t){t.prototype.sweep=function(t,e={}){const{world:n,docs:r}=this,{methods:o}=n;let i=o.one.bulkMatch(r,t,this.methods,e);!1!==e.tagger&&o.one.bulkTagger(i,r,this.world),i=i.map((t=>{let e=t.pointer,n=r[e[0]][e[1]],o=e[2]-e[1];return n.index&&(t.pointer=[n.index[0],n.index[1],e[1]+o]),t}));let s=i.map((t=>t.pointer));return i=i.map((t=>(t.view=this.update([t.pointer]),delete t.regs,delete t.needs,delete t.pointer,delete t._expanded,t))),{view:this.update(s),found:i}}};const lr=function(t){return!0===t.optional||!0===t.negative?null:t.tag?"#"+t.tag:t.word?t.word:t.switch?`%${t.switch}%`:null};var ar=function(t,e){const n=e.methods.one.parseMatch;return t.forEach((t=>{t.regs=n(t.match,{},e),"string"==typeof t.ifNo&&(t.ifNo=[t.ifNo]),t.notIf&&(t.notIf=n(t.notIf,{},e)),t.needs=function(t){let e=[];return t.forEach((t=>{e.push(lr(t)),"and"===t.operator&&t.choices&&t.choices.forEach((t=>{t.forEach((t=>{e.push(lr(t))}))}))})),e.filter((t=>t))}(t.regs);let{wants:r,count:o}=function(t){let e=[],n=0;return t.forEach((t=>{"or"!==t.operator||t.optional||t.negative||(t.fastOr&&Array.from(t.fastOr).forEach((t=>{e.push(t)})),t.choices&&t.choices.forEach((t=>{t.forEach((t=>{let n=lr(t);n&&e.push(n)}))})),n+=1)})),{wants:e,count:n}}(t.regs);t.wants=r,t.minWant=o,t.minWords=t.regs.filter((t=>!t.optional)).length})),t},cr=function(t,e){t=ar(t,e);let n={};t.forEach((t=>{t.needs.forEach((e=>{n[e]=n[e]||[],n[e].push(t)})),t.wants.forEach((e=>{n[e]=n[e]||[],n[e].push(t)}))})),Object.keys(n).forEach((t=>{let e={};n[t]=n[t].filter((t=>!e[t.match]&&(e[t.match]=!0,!0)))}));let r=t.filter((t=>0===t.needs.length&&0===t.wants.length));return{hooks:n,always:r}},ur=function(t,e){return t.map(((n,r)=>{let o=[];Object.keys(e).forEach((n=>{t[r].has(n)&&(o=o.concat(e[n]))}));let i={};return o=o.filter((t=>!i[t.match]&&(i[t.match]=!0,!0))),o}))},hr=function(t,e){return t.map(((t,n)=>{let r=e[n];return t=(t=(t=t.filter((t=>t.needs.every((t=>r.has(t)))))).filter((t=>void 0===t.ifNo||!0!==t.ifNo.some((t=>r.has(t)))))).filter((t=>0===t.wants.length||t.wants.filter((t=>r.has(t))).length>=t.minWant))}))},fr=function(t,e,n,r,o){let i=[];for(let n=0;n0&&(a.ptrs.forEach((t=>{t[0]=n;let e=Object.assign({},l,{pointer:t});void 0!==l.unTag&&(e.unTag=l.unTag),i.push(e)})),!0===o.matchOne))return[i[0]]}return i},pr=function(t,e,n,r={}){let o=n.one.cacheDoc(t),i=ur(o,e.hooks);return i=hr(i,o),e.always.length>0&&(i=i.map((t=>t.concat(e.always)))),i=function(t,e){return t.map(((t,n)=>{let r=e[n].length;return t=t.filter((t=>r>=t.minWords)),t}))}(i,t),fr(i,t,o,n,r)},dr=function(t,e,n){let r=n.one.tagSet;if(!r.hasOwnProperty(e))return!0;let o=r[e].not||[];for(let e=0;e{if(!t.tag&&!t.chunk&&!t.unTag)return;let o=t.reason||t.match,c=i([t.pointer],e)[0];if(!0===t.safe){if(!1===dr(c,t.tag,r))return;if("-"===c[c.length-1].post)return}if(void 0!==t.tag&&(s(c,t.tag,n,t.safe,`[post] '${o}'`),"Noun"===t.tag&&a)){let e=c[c.length-1];a(e.text)?s([e],"Plural",n,t.safe,"quick-plural"):s([e],"Singular",n,t.safe,"quick-singular")}void 0!==t.unTag&&l(c,t.unTag,n,t.safe,o),t.chunk&&c.forEach((e=>e.chunk=t.chunk))})))},gr={lib:{buildNet:function(t){let e=this.methods().one.buildNet(t,this.world());return e.isNet=!0,e}},api:sr,methods:{one:{buildNet:cr,bulkMatch:pr,bulkTagger:mr}}};const wr=/ /,br=function(t,e){"Noun"===e&&(t.chunk=e),"Verb"===e&&(t.chunk=e)},yr=function(t,e,n,r){if(!0===t.tags.has(e))return null;if("."===e)return null;let o=n[e];if(o){if(o.not&&o.not.length>0)for(let e=0;e0)for(let e=0;e{let r=t.map((t=>t.text||"["+t.implicit+"]")).join(" ");var o;"string"!=typeof e&&e.length>2&&(e=e.slice(0,2).join(", #")+" +"),e="string"!=typeof e?e.join(", #"):e,console.log(` ${(o=r,""+o+"").padEnd(24)} → #${e.padEnd(22)} ${(t=>""+t+"")(n)}`)})(t,e,o),1!=(l=e,"[object Array]"===Object.prototype.toString.call(l)))if("string"==typeof e)if(e=e.trim(),wr.test(e))!function(t,e,n,r){let o=e.split(wr);t.forEach(((t,e)=>{let i=o[e];i&&(i=i.replace(/^#/,""),yr(t,i,n,r))}))}(t,e,i,r);else{e=e.replace(/^#/,"");for(let n=0;nvr(t,e,n,r)))};var xr=vr,jr=function(t,e,n){e=e.trim().replace(/^#/,"");for(let r=0;r0)for(let t=0;t/),n=[];e.forEach((t=>{n=n.concat(function(t){if(!(t=t.trim()))return null;if(/^\[/.test(t)&&/\]$/.test(t)){let e=(t=(t=t.replace(/^\[/,"")).replace(/\]$/,"")).split(/,/);return e=e.map((t=>t.trim())).filter((t=>t)),e=e.map((t=>Er({id:t}))),e}return[Er({id:t})]}(t))})),n=n.filter((t=>t));let r=n[0];for(let t=1;t{let n=[],r=[t];for(;r.length>0;){let t=r.pop();n.push(t),t.children&&t.children.forEach((n=>{e&&e(t,n),r.push(n)}))}return n},_r=t=>"[object Array]"===Object.prototype.toString.call(t),Sr=t=>(t=t||"").trim(),Ar=function(t=[]){return"string"==typeof t?function(t){let e=t.split(/\r?\n/),n=[];e.forEach((t=>{if(!t.trim()||Or.test(t))return;let e=(t=>{const e=/^( {2}|\t)/;let n=0;for(;e.test(t);)t=t.replace(e,""),n+=1;return n})(t);n.push({indent:e,node:kr(t)})}));let r=function(t){let e={children:[]};return t.forEach(((n,r)=>{0===n.indent?e.children=e.children.concat(n.node):t[r-1]&&function(t,e){let n=t[e].indent;for(;e>=0;e-=1)if(t[e].indent{e[t.id]=t}));let n=Er({});return t.forEach((t=>{if((t=Er(t)).parent)if(e.hasOwnProperty(t.parent)){let n=e[t.parent];delete t.parent,n.children.push(t)}else console.warn(`[Grad] - missing node '${t.parent}'`);else n.children.push(t)})),n}(t):(Pr(e=t).forEach(Er),e);var e},Tr=function(t,e){let n="-> ";e&&(n=(t=>""+t+"")("→ "));let r="";return Pr(t).forEach(((t,o)=>{let i=t.id||"";if(e&&(i=(t=>""+t+"")(i)),0===o&&!t.id)return;let s=t._cache.parents.length;r+=" ".repeat(s)+n+i+"\n"})),r},$r=function(t){let e=Pr(t);e.forEach((t=>{delete(t=Object.assign({},t)).children}));let n=e[0];return n&&!n.id&&0===Object.keys(n.props).length&&e.shift(),e},Cr={text:Tr,txt:Tr,array:$r,flat:$r},zr=function(t,e){return"nested"===e||"json"===e?t:"debug"===e?(console.log(Tr(t,!0)),null):Cr.hasOwnProperty(e)?Cr[e](t):t},Nr=t=>{Pr(t,((t,e)=>{t.id&&(t._cache.parents=t._cache.parents||[],e._cache.parents=t._cache.parents.concat([t.id]))}))},Lr=/\//;class g{constructor(t={}){Object.defineProperty(this,"json",{enumerable:!1,value:t,writable:!0})}get children(){return this.json.children}get id(){return this.json.id}get found(){return this.json.id||this.json.children.length>0}props(t={}){let e=this.json.props||{};return"string"==typeof t&&(e[t]=!0),this.json.props=Object.assign(e,t),this}get(t){if(t=Sr(t),!Lr.test(t)){let e=this.json.children.find((e=>e.id===t));return new g(e)}let e=((t,e)=>{let n=(t=>"string"!=typeof t?t:(t=t.replace(/^\//,"")).split(/\//))(e=e||"");for(let e=0;et.id===n[e]));if(!r)return null;t=r}return t})(this.json,t)||Er({});return new g(e)}add(t,e={}){if(_r(t))return t.forEach((t=>this.add(Sr(t),e))),this;t=Sr(t);let n=Er({id:t,props:e});return this.json.children.push(n),new g(n)}remove(t){return t=Sr(t),this.json.children=this.json.children.filter((e=>e.id!==t)),this}nodes(){return Pr(this.json).map((t=>(delete(t=Object.assign({},t)).children,t)))}cache(){return(t=>{let e=Pr(t,((t,e)=>{t.id&&(t._cache.parents=t._cache.parents||[],t._cache.children=t._cache.children||[],e._cache.parents=t._cache.parents.concat([t.id]))})),n={};e.forEach((t=>{t.id&&(n[t.id]=t)})),e.forEach((t=>{t._cache.parents.forEach((e=>{n.hasOwnProperty(e)&&n[e]._cache.children.push(t.id)}))})),t._cache.children=Object.keys(n)})(this.json),this}list(){return Pr(this.json)}fillDown(){var t;return t=this.json,Pr(t,((t,e)=>{e.props=((t,e)=>(Object.keys(e).forEach((n=>{if(e[n]instanceof Set){let r=t[n]||new Set;t[n]=new Set([...r,...e[n]])}else if((t=>t&&"object"==typeof t&&!Array.isArray(t))(e[n])){let r=t[n]||{};t[n]=Object.assign({},e[n],r)}else _r(e[n])?t[n]=e[n].concat(t[n]||[]):void 0===t[n]&&(t[n]=e[n])})),t))(e.props,t.props)})),this}depth(){Nr(this.json);let t=Pr(this.json),e=t.length>1?1:0;return t.forEach((t=>{if(0===t._cache.parents.length)return;let n=t._cache.parents.length+1;n>e&&(e=n)})),e}out(t){return Nr(this.json),zr(this.json,t)}debug(){return Nr(this.json),zr(this.json,"debug"),this}}const Vr=function(t){let e=Ar(t);return new g(e)};Vr.prototype.plugin=function(t){t(this)};var qr={Noun:"blue",Verb:"green",Negative:"green",Date:"red",Value:"red",Adjective:"magenta",Preposition:"cyan",Conjunction:"cyan",Determiner:"cyan",Hyphenated:"cyan",Adverb:"cyan"};const Fr=function(t){if(qr.hasOwnProperty(t.id))return qr[t.id];if(qr.hasOwnProperty(t.is))return qr[t.is];let e=t._cache.parents.find((t=>qr[t]));return qr[e]};var Gr=function(t){const e={};return t.forEach((t=>{let{not:n,also:r,is:o,novel:i}=t.props,s=t._cache.parents;r&&(s=s.concat(r)),e[t.id]={is:o,not:n,novel:i,also:r,parents:s,children:t._cache.children,color:Fr(t)}})),Object.keys(e).forEach((t=>{let n=new Set(e[t].not);e[t].not.forEach((t=>{e[t]&&e[t].children.forEach((t=>n.add(t)))})),e[t].not=Array.from(n)})),e};const Dr=function(t){return t?"string"==typeof t?[t]:t:[]};var Br=function(t,e){return t=function(t,e){return Object.keys(t).forEach((n=>{t[n].isA&&(t[n].is=t[n].isA),t[n].notA&&(t[n].not=t[n].notA),t[n].is&&"string"==typeof t[n].is&&(e.hasOwnProperty(t[n].is)||t.hasOwnProperty(t[n].is)||(t[t[n].is]={})),t[n].not&&"string"==typeof t[n].not&&!t.hasOwnProperty(t[n].not)&&(e.hasOwnProperty(t[n].not)||t.hasOwnProperty(t[n].not)||(t[t[n].not]={}))})),t}(t,e),Object.keys(t).forEach((e=>{t[e].children=Dr(t[e].children),t[e].not=Dr(t[e].not)})),Object.keys(t).forEach((e=>{(t[e].not||[]).forEach((n=>{t[n]&&t[n].not&&t[n].not.push(e)}))})),t},Ur=function(t,e){Object.keys(e).length>0&&(t=function(t){return Object.keys(t).forEach((e=>{t[e]=Object.assign({},t[e]),t[e].novel=!0})),t}(t)),t=Br(t,e);const n=function(t){const e=Object.keys(t).map((e=>{let n=t[e];const r={not:new Set(n.not),also:n.also,is:n.is,novel:n.novel};return{id:e,parent:n.is,props:r,children:[]}}));return Vr(e).cache().fillDown().out("array")}(Object.assign({},e,t));return Gr(n)},Mr={one:{setTag:xr,unTag:jr,addTags:Ur}};const Wr=function(t){return"[object Array]"===Object.prototype.toString.call(t)},Ir={tag:function(t,e="",n){if(!this.found||!t)return this;let r=this.termList();if(0===r.length)return this;const{methods:o,verbose:i,world:s}=this;return!0===i&&console.log(" + ",t,e||""),Wr(t)?t.forEach((t=>o.one.setTag(r,t,s,n,e))):o.one.setTag(r,t,s,n,e),this.uncache(),this},tagSafe:function(t,e=""){return this.tag(t,e,!0)},unTag:function(t,e){if(!this.found||!t)return this;let n=this.termList();if(0===n.length)return this;const{methods:r,verbose:o,model:i}=this;!0===o&&console.log(" - ",t,e||"");let s=i.one.tagSet;return Wr(t)?t.forEach((t=>r.one.unTag(n,t,s))):r.one.unTag(n,t,s),this.uncache(),this},canBe:function(t){t=t.replace(/^#/,"");let e=this.model.one.tagSet;if(!e.hasOwnProperty(t))return this;let n=e[t].not||[],r=[];this.document.forEach(((t,e)=>{t.forEach(((t,o)=>{n.find((e=>t.tags.has(e)))&&r.push([e,o,o+1])}))}));let o=this.update(r);return this.difference(o)}};var Rr=Ir,Qr=function(t){Object.assign(t.prototype,Rr)},Hr={addTags:function(t){const{model:e,methods:n}=this.world(),r=e.one.tagSet;let o=(0,n.one.addTags)(t,r);return e.one.tagSet=o,this}};const Zr=new Set(["Auxiliary","Possessive"]);var Kr=function(t){const{document:e,world:n}=t,r=n.model.one.tagSet;e.forEach((t=>{t.forEach((t=>{let e=Array.from(t.tags);t.tagRank=function(t,e){return t=t.sort(((t,n)=>{if(Zr.has(t)||!e.hasOwnProperty(n))return 1;if(Zr.has(n)||!e.hasOwnProperty(t))return-1;let r=e[t].children||[],o=r.length;return r=e[n].children||[],o-r.length})),t}(e,r)}))}))},Jr={model:{one:{tagSet:{}}},compute:{tagRank:Kr},methods:Mr,api:Qr,lib:Hr};const Xr=/([.!?\u203D\u2E18\u203C\u2047-\u2049\u3002]+\s)/g,Yr=/^[.!?\u203D\u2E18\u203C\u2047-\u2049\u3002]+\s$/,to=/((?:\r?\n|\r)+)/;var eo=function(t){let e=[],n=t.split(to);for(let t=0;t0&&(o.push(i),t[e]="")}return o};const so={'"':'"',""":""","“":"”","‟":"”","„":"”","⹂":"”","‚":"’","«":"»","‹":"›","‵":"′","‶":"″","‷":"‴","〝":"〞","〟":"〞"},lo=RegExp("["+Object.keys(so).join("")+"]","g"),ao=RegExp("["+Object.values(so).join("")+"]","g"),co=function(t){if(!t)return!1;let e=t.match(ao);return null!==e&&1===e.length};var uo=function(t){let e=[];for(let n=0;n(t[e]=!0,t)),{});var _o=function(t,e){let n=[],r=[];if("number"==typeof(t=t||"")&&(t=String(t)),function(t){return"[object Array]"===Object.prototype.toString.call(t)}(t))return t;const o=t.split(ko);for(let t=0;t0?(n[n.length-1]+=i,n.push(e)):n.push(i+e),i=""):i+=e}return i&&(0===n.length&&(n[0]=""),n[n.length-1]+=i),n=jo(n),n=vo(n),n=n.filter((t=>t)),n};const So=/\p{Letter}/u,Ao=/[\p{Number}\p{Currency_Symbol}]/u,To=/^[a-z]\.([a-z]\.)+/i,$o=/[sn]['’]$/;var Co=function(t,e){let{prePunctuation:n,postPunctuation:r,emoticons:o}=e.one,i=t,s="",l="",a=Array.from(t);if(o.hasOwnProperty(t.trim()))return{str:t.trim(),pre:s,post:" "};let c=a.length;for(let t=0;t(l=t||"",""))),t=i,s=""),{str:t,pre:s,post:l}},zo=(t,e)=>{let{str:n,pre:r,post:o}=Co(t,e);return{text:n,pre:r,post:o,tags:new Set}},No=function(t,e){const n=e.model.one.unicode||{};let r=(t=t||"").split("");return r.forEach(((t,e)=>{n[t]&&(r[e]=n[t])})),r.join("")},Lo=function(t){let e=t=(t=(t=t||"").toLowerCase()).trim();return t=(t=(t=t.replace(/[,;.!?]+$/,"")).replace(/\u2026/g,"...")).replace(/\u2013/g,"-"),!1===/^[:;]/.test(t)&&(t=(t=(t=t.replace(/\.{3,}$/g,"")).replace(/[",.!:;?)]+$/g,"")).replace(/^['"(]+/g,"")),""===(t=(t=t.replace(/[\u200B-\u200D\uFEFF]/g,"")).trim())&&(t=e),t=t.replace(/([0-9]),([0-9])/g,"$1$2")};const Vo=/([A-Z]\.)+[A-Z]?,?$/,qo=/^[A-Z]\.,?$/,Fo=/[A-Z]{2,}('s|,)?$/,Go=/([a-z]\.)+[a-z]\.?$/;var Do=function(t){return function(t){return!0===Vo.test(t)||!0===Go.test(t)||!0===qo.test(t)||!0===Fo.test(t)}(t)&&(t=t.replace(/\./g,"")),t},Bo=function(t,e){const n=e.methods.one.killUnicode;let r=t.text||"";r=Lo(r),r=n(r,e),r=Do(r),t.normal=r},Uo=function(t,e){const{methods:n,model:r}=e,{splitSentences:o,splitTerms:i,splitWhitespace:s}=n.one.tokenize;return t=o(t=t||"",e).map((t=>{let n=i(t,r);return n=n.map((t=>s(t,r))),n.forEach((t=>{Bo(t,e)})),n})),t};const Mo=/[ .][A-Z]\.? *$/i,Wo=/(?:\u2026|\.{2,}) *$/,Io=/\p{L}/u,Ro=/^[A-Z]\. $/;var Qo={one:{killUnicode:No,tokenize:{splitSentences:wo,isSentence:function(t,e){if(!1===Io.test(t))return!1;if(!0===Mo.test(t))return!1;if(3===t.length&&Ro.test(t))return!1;if(!0===Wo.test(t))return!1;let n=t.replace(/[.!?\u203D\u2E18\u203C\u2047-\u2049] *$/,"").split(" "),r=n[n.length-1].toLowerCase();return!0!==e.hasOwnProperty(r)},splitTerms:_o,splitWhitespace:zo,fromString:Uo}}},Ho={"&":"and","@":"at","%":"percent",plz:"please",bein:"being"};let Zo={},Ko={};[[["approx","apt","bc","cyn","eg","esp","est","etc","ex","exp","prob","pron","gal","min","pseud","fig","jd","lat","lng","vol","fm","def","misc","plz","ea","ps","sec","pt","pref","pl","pp","qt","fr","sq","nee","ss","tel","temp","vet","ver","fem","masc","eng","adj","vb","rb","inf","situ","vivo","vitro","wr"]],[["dl","ml","gal","qt","pt","tbl","tsp","tbsp","km","dm","cm","mm","mi","td","hr","hrs","kg","hg","dg","cg","mg","µg","lb","oz","sq ft","hz","mps","mph","kmph","kb","mb","tb","lx","lm","fl oz","yb"],"Unit"],[["ad","al","arc","ba","bl","ca","cca","col","corp","ft","fy","ie","lit","ma","md","pd","tce"],"Noun"],[["adj","adm","adv","asst","atty","bldg","brig","capt","cmdr","comdr","cpl","det","dr","esq","gen","gov","hon","jr","llb","lt","maj","messrs","mlle","mme","mr","mrs","ms","mstr","phd","prof","pvt","rep","reps","res","rev","sen","sens","sfc","sgt","sir","sr","supt","surg"],"Honorific"],[["jan","feb","mar","apr","jun","jul","aug","sep","sept","oct","nov","dec"],"Month"],[["dept","univ","assn","bros","inc","ltd","co"],"Organization"],[["rd","st","dist","mt","ave","blvd","cl","cres","hwy","ariz","cal","calif","colo","conn","fla","fl","ga","ida","ia","kan","kans","minn","neb","nebr","okla","penna","penn","pa","dak","tenn","tex","ut","vt","va","wis","wisc","wy","wyo","usafa","alta","ont","que","sask"],"Place"]].forEach((t=>{t[0].forEach((e=>{Zo[e]=!0,Ko[e]="Abbreviation",void 0!==t[1]&&(Ko[e]=[Ko[e],t[1]])}))}));var Jo=["anti","bi","co","contra","de","extra","infra","inter","intra","macro","micro","mis","mono","multi","peri","pre","pro","proto","pseudo","re","sub","supra","trans","tri","un","out","ex"].reduce(((t,e)=>(t[e]=!0,t)),{});let Xo={"!":"¡","?":"¿Ɂ",'"':'“”"❝❞',"'":"‘‛❛❜’","-":"—–",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:"ŹźŻżŽžƵƶȤȥɀΖ"},Yo={};Object.keys(Xo).forEach((function(t){Xo[t].split("").forEach((function(e){Yo[e]=t}))}));const ti=/\//,ei=/[a-z]\.[a-z]/i,ni=/[0-9]/;var ri=function(t,e){let n=t.normal||t.text||t.machine;const r=e.model.one.aliases;if(r.hasOwnProperty(n)&&(t.alias=t.alias||[],t.alias.push(r[n])),ti.test(n)&&!ei.test(n)&&!ni.test(n)){let e=n.split(ti);e.length<=2&&e.forEach((e=>{""!==(e=e.trim())&&(t.alias=t.alias||[],t.alias.push(e))}))}return t};const oi=/^\p{Letter}+-\p{Letter}+$/u;var ii=function(t){let e=t.implicit||t.normal||t.text;e=e.replace(/['’]s$/,""),e=e.replace(/s['’]$/,"s"),e=e.replace(/([aeiou][ktrp])in'$/,"$1ing"),oi.test(e)&&(e=e.replace(/-/g,"")),e=e.replace(/^[#@]/,""),e!==t.normal&&(t.machine=e)},si=function(t){let e=t.docs,n={};for(let t=0;tui(t,ri),machine:t=>ui(t,ii),normal:t=>ui(t,Bo),freq:si,offset:li,index:ai,wordCount:ci},methods:Qo,model:{one:{aliases:Ho,abbreviations:Zo,prefixes:Jo,suffixes:{like:!0,ish:!0,less:!0,able:!0,elect:!0,type:!0,designate:!0},prePunctuation:{"#":!0,"@":!0,_:!0,"°":!0,"​":!0,"‌":!0,"‍":!0,"\ufeff":!0},postPunctuation:{"%":!0,_:!0,"°":!0,"​":!0,"‌":!0,"‍":!0,"\ufeff":!0},lexicon:Ko,unicode:Yo,emoticons:{"<3":!0,"{let s=(t=t.toLowerCase().trim()).length;e.max&&s>e.max&&(s=e.max);for(let l=e.min;l{delete r[t]})),r};const gi={safe:!0,min:3};var wi={typeahead:function(t=[],e={}){let n=this.model();var r;e=Object.assign({},gi,e),r=t,"[object Object]"===Object.prototype.toString.call(r)&&(Object.assign(n.one.lexicon,t),t=Object.keys(t));let o=mi(t,e,this.world());return Object.keys(o).forEach((t=>{n.one.typeahead.hasOwnProperty(t)?delete n.one.typeahead[t]:n.one.typeahead[t]=o[t]})),this}},bi={model:{one:{typeahead:{}}},api:di,lib:wi,compute:fi,hooks:["typeahead"]};return w.extend(tt),w.extend(Rn),w.extend(un),w.extend(ir),w.extend(Jr),w.plugin(At),w.extend(hi),w.plugin(x),w.extend(It),w.extend(bi),w.extend(qt),w.extend(gr),w},"object"==typeof exports&&"undefined"!=typeof module?module.exports=e():"function"==typeof define&&define.amd?define(e):(t="undefined"!=typeof globalThis?globalThis:t||self).nlp=e(); +var t,e;t=this,e=function(){var t={methods:{one:{},two:{},three:{},four:{}},model:{one:{},two:{},three:{}},compute:{},hooks:[]};const e={compute:function(t){const{world:e}=this,n=e.compute;return"string"==typeof t&&n.hasOwnProperty(t)?n[t](this):(t=>"[object Array]"===Object.prototype.toString.call(t))(t)?t.forEach((r=>{e.compute.hasOwnProperty(r)?n[r](this):console.warn("no compute:",t)})):"function"==typeof t?t(this):console.warn("no compute:",t),this}};var n=e,r={forEach:function(t){return this.fullPointer.forEach(((e,n)=>{let r=this.update([e]);t(r,n)})),this},map:function(t,e){let n=this.fullPointer.map(((e,n)=>{let r=this.update([e]),o=t(r,n);return void 0===o?this.none():o}));if(0===n.length)return e||this.update([]);if(void 0!==n[0]){if("string"==typeof n[0])return n;if("object"==typeof n[0]&&(null===n[0]||!n[0].isView))return n}let r=[];return n.forEach((t=>{r=r.concat(t.fullPointer)})),this.toView(r)},filter:function(t){let e=this.fullPointer;return e=e.filter(((e,n)=>{let r=this.update([e]);return t(r,n)})),this.update(e)},find:function(t){let e=this.fullPointer.find(((e,n)=>{let r=this.update([e]);return t(r,n)}));return this.update([e])},some:function(t){return this.fullPointer.some(((e,n)=>{let r=this.update([e]);return t(r,n)}))},random:function(t=1){let e=this.fullPointer,n=Math.floor(Math.random()*e.length);return n+t>this.length&&(n=this.length-t,n=n<0?0:n),e=e.slice(n,n+t),this.update(e)}};const o={termList:function(){return this.methods.one.termList(this.docs)},terms:function(t){let e=this.match(".");return"number"==typeof t?e.eq(t):e},groups:function(t){if(t||0===t)return this.update(this._groups[t]||[]);let e={};return Object.keys(this._groups).forEach((t=>{e[t]=this.update(this._groups[t])})),e},eq:function(t){let e=this.pointer;return e||(e=this.docs.map(((t,e)=>[e]))),e[t]?this.update([e[t]]):this.none()},first:function(){return this.eq(0)},last:function(){let t=this.fullPointer.length-1;return this.eq(t)},firstTerms:function(){return this.match("^.")},lastTerms:function(){return this.match(".$")},slice:function(t,e){let n=this.pointer||this.docs.map(((t,e)=>[e]));return n=n.slice(t,e),this.update(n)},all:function(){return this.update().toView()},fullSentences:function(){let t=this.fullPointer.map((t=>[t[0]]));return this.update(t).toView()},none:function(){return this.update([])},isDoc:function(t){if(!t||!t.isView)return!1;let e=this.fullPointer,n=t.fullPointer;return!e.length!==n.length&&e.every(((t,e)=>!!n[e]&&t[0]===n[e][0]&&t[1]===n[e][1]&&t[2]===n[e][2]))},wordCount:function(){return this.docs.reduce(((t,e)=>(t+=e.filter((t=>""!==t.text)).length,t)),0)},isFull:function(){let t=this.pointer;if(!t)return!0;if(0===t.length||0!==t[0][0])return!1;let e=0,n=0;return this.document.forEach((t=>e+=t.length)),this.docs.forEach((t=>n+=t.length)),e===n},getNth:function(t){return"number"==typeof t?this.eq(t):"string"==typeof t?this.if(t):this}};o.group=o.groups,o.fullSentence=o.fullSentences,o.sentence=o.fullSentences,o.lastTerm=o.lastTerms,o.firstTerm=o.firstTerms;var i=o;const s=Object.assign({},i,n,r);s.get=s.eq;var l=s;class View{constructor(e,n,r={}){[["document",e],["world",t],["_groups",r],["_cache",null],["viewType","View"]].forEach((t=>{Object.defineProperty(this,t[0],{value:t[1],writable:!0})})),this.ptrs=n}get docs(){let e=this.document;return this.ptrs&&(e=t.methods.one.getDoc(this.ptrs,this.document)),e}get pointer(){return this.ptrs}get methods(){return this.world.methods}get model(){return this.world.model}get hooks(){return this.world.hooks}get isView(){return!0}get found(){return this.docs.length>0}get length(){return this.docs.length}get fullPointer(){let{docs:t,ptrs:e,document:n}=this,r=e||t.map(((t,e)=>[e]));return r.map((t=>{let[e,r,o,i,s]=t;return r=r||0,o=o||(n[e]||[]).length,n[e]&&n[e][r]&&(i=i||n[e][r].id,n[e][o-1]&&(s=s||n[e][o-1].id)),[e,r,o,i,s]}))}update(t){let e=new View(this.document,t);if(this._cache&&t&&t.length>0){let n=[];t.forEach(((t,e)=>{let[r,o,i]=t;(1===t.length||0===o&&this.document[r].length===i)&&(n[e]=this._cache[r])})),n.length>0&&(e._cache=n)}return e.world=this.world,e}toView(t){return new View(this.document,t||this.pointer)}fromText(t){const{methods:e}=this;let n=e.one.tokenize.fromString(t,this.world),r=new View(n);return r.world=this.world,r.compute(["normal","lexicon"]),this.world.compute.preTagger&&r.compute("preTagger"),r}clone(){let t=this.document.slice(0);t=t.map((t=>t.map((t=>((t=Object.assign({},t)).tags=new Set(t.tags),t)))));let e=this.update(this.pointer);return e.document=t,e._cache=this._cache,e}}Object.assign(View.prototype,l);var a=View;const c=function(t){return t&&"object"==typeof t&&!Array.isArray(t)};function u(t,e){if(c(e))for(const n in e)c(e[n])?(t[n]||Object.assign(t,{[n]:{}}),u(t[n],e[n])):Object.assign(t,{[n]:e[n]});return t}var h=function(t,e,n,r){const{methods:o,model:i,compute:s,hooks:l}=e;t.methods&&function(t,e){for(const n in e)t[n]=t[n]||{},Object.assign(t[n],e[n])}(o,t.methods),t.model&&u(i,t.model),t.irregulars&&function(t,e){let n=t.two.models||{};Object.keys(e).forEach((t=>{e[t].pastTense&&(n.toPast&&(n.toPast.ex[t]=e[t].pastTense),n.fromPast&&(n.fromPast.ex[e[t].pastTense]=t)),e[t].presentTense&&(n.toPresent&&(n.toPresent.ex[t]=e[t].presentTense),n.fromPresent&&(n.fromPresent.ex[e[t].presentTense]=t)),e[t].gerund&&(n.toGerund&&(n.toGerund.ex[t]=e[t].gerund),n.fromGerund&&(n.fromGerund.ex[e[t].gerund]=t)),e[t].comparative&&(n.toComparative&&(n.toComparative.ex[t]=e[t].comparative),n.fromComparative&&(n.fromComparative.ex[e[t].comparative]=t)),e[t].superlative&&(n.toSuperlative&&(n.toSuperlative.ex[t]=e[t].superlative),n.fromSuperlative&&(n.fromSuperlative.ex[e[t].superlative]=t))}))}(i,t.irregulars),t.compute&&Object.assign(s,t.compute),l&&(e.hooks=l.concat(t.hooks||[])),t.api&&t.api(n),t.lib&&Object.keys(t.lib).forEach((e=>r[e]=t.lib[e])),t.tags&&r.addTags(t.tags),t.words&&r.addWords(t.words),t.mutate&&t.mutate(e)};const f=function(t){return"[object Array]"===Object.prototype.toString.call(t)};var p=function(t,e,n){const{methods:r}=n;let o=new e([]);if(o.world=n,"number"==typeof t&&(t=String(t)),!t)return o;if("string"==typeof t)return new e(r.one.tokenize.fromString(t,n));if(i=t,"[object Object]"===Object.prototype.toString.call(i)&&t.isView)return new e(t.document,t.ptrs);var i;if(f(t)){if(f(t[0])){let n=t.map((t=>t.map((t=>({text:t,normal:t,pre:"",post:" ",tags:new Set})))));return new e(n)}let n=function(t){return t.map((t=>t.terms.map((t=>(f(t.tags)&&(t.tags=new Set(t.tags)),t)))))}(t);return new e(n)}return o};let d=Object.assign({},t);const m=function(t,e){e&&m.addWords(e);let n=p(t,a,d);return t&&n.compute(d.hooks),n};Object.defineProperty(m,"_world",{value:d,writable:!0}),m.tokenize=function(t,e){const{compute:n}=this._world;e&&m.addWords(e);let r=p(t,a,d);return n.contractions&&r.compute(["alias","normal","machine","contractions"]),r},m.plugin=function(t){return h(t,this._world,a,this),this},m.extend=m.plugin,m.world=function(){return this._world},m.model=function(){return this._world.model},m.methods=function(){return this._world.methods},m.hooks=function(){return this._world.hooks},m.verbose=function(t){const e="undefined"!=typeof process&&process.env?process.env:self.env||{};return e.DEBUG_TAGS="tagger"===t||!0===t||"",e.DEBUG_MATCH="match"===t||!0===t||"",e.DEBUG_CHUNKS="chunker"===t||!0===t||"",this},m.version="14.10.1";var w=m,b=function(t){let e=t.map((t=>{let e=new Set;return t.forEach((t=>{""!==t.normal&&e.add(t.normal),t.switch&&e.add(`%${t.switch}%`),t.implicit&&e.add(t.implicit),t.machine&&e.add(t.machine),t.root&&e.add(t.root),t.alias&&t.alias.forEach((t=>e.add(t)));let n=Array.from(t.tags);for(let t=0;t/^\p{Lu}[\p{Ll}'’]/u.test(t)||/^\p{Lu}$/u.test(t),E=(t,e,n)=>{if(n.forEach((t=>t.dirty=!0)),t){let r=[e,0].concat(n);Array.prototype.splice.apply(t,r)}return t},O=function(t){let e=t[t.length-1];!e||/ $/.test(e.post)||/[-–—]/.test(e.post)||(e.post+=" ")},k=(t,e,n)=>{const r=/[-.?!,;:)–—'"]/g;let o=t[e-1];if(!o)return;let i=o.post;if(r.test(i)){let t=i.match(r).join(""),e=n[n.length-1];e.post=t+e.post,o.post=o.post.replace(r,"")}},P=function(t,e,n,r){let[o,i,s]=e;0===i||s===r[o].length?O(n):(O(n),O([t[e[1]]])),function(t,e,n){let r=t[e];if(0!==e||!j(r.text))return;n[0].text=n[0].text.replace(/^\p{Ll}/u,(t=>t.toUpperCase()));let o=t[e];o.tags.has("ProperNoun")||o.tags.has("Acronym")||j(o.text)&&o.text.length>1&&(o.text=o.text.replace(/^\p{Lu}/u,(t=>t.toLowerCase())))}(t,i,n),E(t,i,n)};let _=0;const S=t=>(t=t.length<3?"0"+t:t).length<3?"0"+t:t;var A=function(t){let[e,n]=t.index||[0,0];_+=1,_=_>46655?0:_,e=e>46655?0:e,n=n>1294?0:n;let r=S(_.toString(36));r+=S(e.toString(36));let o=n.toString(36);return o=o.length<2?"0"+o:o,r+=o,r+=parseInt(36*Math.random(),10).toString(36),t.normal+"|"+r.toUpperCase()};const T=function(t){t.has("@hasContraction")&&"function"==typeof t.contractions&&t.grow("@hasContraction").contractions().expand()},$=t=>"[object Array]"===Object.prototype.toString.call(t),C=function(t,e,n){const{document:r,world:o}=e;e.uncache();let i=e.fullPointer,s=e.fullPointer;e.forEach(((l,a)=>{let c=l.fullPointer[0],[u]=c,h=r[u],f=function(t,e){const{methods:n}=e;return"string"==typeof t?n.one.tokenize.fromString(t,e)[0]:"object"==typeof t&&t.isView?t.clone().docs[0]||[]:$(t)?$(t[0])?t[0]:t:[]}(t,o);0!==f.length&&(f=function(t){return t.map((t=>(t.id=A(t),t)))}(f),n?(T(e.update([c]).firstTerm()),P(h,c,f,r)):(T(e.update([c]).lastTerm()),function(t,e,n,r){let[o,,i]=e,s=(r[o]||[]).length;i{let n=e(t);t.replaceWith(n)})),t}(r,t);let o=r.docs[0],i=e.possessives&&o[o.length-1].tags.has("Possessive");t=function(t,e){if("string"!=typeof t)return t;let n=e.groups();return t=t.replace(L,(t=>{let e=t.replace(/\$/,"");return n.hasOwnProperty(e)?n[e].text():t})),t}(t,r);let s=this.update(n);n=n.map((t=>t.slice(0,3)));let l=(s.docs[0]||[]).map((t=>Array.from(t.tags)));if("string"==typeof t&&(t=this.fromText(t).compute("id")),r.insertAfter(t),s.has("@hasContraction")&&r.contractions&&r.grow("@hasContraction+").contractions().expand(),r.delete(s),i){let t=r.docs[0],e=t[t.length-1];e.tags.has("Possessive")||(e.text+="'s",e.normal+="'s",e.tags.add("Possessive"))}let a=r.toView(n).compute(["index","lexicon"]);return a.world.compute.preTagger&&a.compute("preTagger"),e.tags&&a.terms().forEach(((t,e)=>{t.tagSafe(l[e])})),e.case&&a.docs[0]&&a.docs[0][0]&&0===a.docs[0][0].index[1]&&(a.docs[0][0].text=a.docs[0][0].text.replace(/\w\S*/g,(t=>t.charAt(0).toUpperCase()+t.substring(1).toLowerCase()))),a},replace:function(t,e,n){if(t&&!e)return this.replaceWith(t,n);let r=this.match(t);return r.found?(this.soften(),r.replaceWith(e,n)):this}};var q=V,F=function(t,e){e.forEach((e=>{let[n,r,o]=e,i=o-r;t[n]&&(o===t[n].length&&o>1&&function(t,e){let n=t.length-1,r=t[n],o=t[n-e];o&&r&&(o.post+=r.post,o.post=o.post.replace(/ +([.?!,;:])/,"$1"),o.post=o.post.replace(/[,;:]+([.?!])/,"$1"))}(t[n],i),t[n].splice(r,i))}));for(let e=t.length-1;e>=0;e-=1)if(0===t[e].length&&(t.splice(e,1),e===t.length&&t[e-1])){let n=t[e-1],r=n[n.length-1];r&&(r.post=r.post.trimEnd())}return t};const G={remove:function(t){const{indexN:e}=this.methods.one.pointer;this.uncache();let n=this.all(),r=this;t&&(n=this,r=this.match(t));let o=!n.ptrs;r.has("@hasContraction")&&r.contractions&&r.grow("@hasContraction").contractions().expand();let i=n.fullPointer,s=r.fullPointer.reverse(),l=F(this.document,s);return i=function(t,e){return t=t.map((t=>{let[n]=t;return e[n]?(e[n].forEach((e=>{let n=e[2]-e[1];t[1]<=e[1]&&t[2]>=e[2]&&(t[2]-=n)})),t):t})),t.forEach(((e,n)=>{if(0===e[1]&&0==e[2])for(let e=n+1;et[2]-t[1]>0))).map((t=>(t[3]=null,t[4]=null,t)))}(i,e(s)),n.ptrs=i,n.document=l,n.compute("index"),o&&(n.ptrs=void 0),t?n.toView(i):(this.ptrs=[],n.none())}};G.delete=G.remove;var D=G;const B={pre:function(t,e){return void 0===t&&this.found?this.docs[0][0].pre:(this.docs.forEach((n=>{let r=n[0];!0===e?r.pre+=t:r.pre=t})),this)},post:function(t,e){if(void 0===t){let t=this.docs[this.docs.length-1];return t[t.length-1].post}return this.docs.forEach((n=>{let r=n[n.length-1];!0===e?r.post+=t:r.post=t})),this},trim:function(){if(!this.found)return this;let t=this.docs,e=t[0][0];e.pre=e.pre.trimStart();let n=t[t.length-1],r=n[n.length-1];return r.post=r.post.trimEnd(),this},hyphenate:function(){return this.docs.forEach((t=>{t.forEach(((e,n)=>{0!==n&&(e.pre=""),t[n+1]&&(e.post="-")}))})),this},dehyphenate:function(){const t=/[-–—]/;return this.docs.forEach((e=>{e.forEach((e=>{t.test(e.post)&&(e.post=" ")}))})),this},toQuotations:function(t,e){return t=t||'"',e=e||'"',this.docs.forEach((n=>{n[0].pre=t+n[0].pre;let r=n[n.length-1];r.post=e+r.post})),this},toParentheses:function(t,e){return t=t||"(",e=e||")",this.docs.forEach((n=>{n[0].pre=t+n[0].pre;let r=n[n.length-1];r.post=e+r.post})),this}};B.deHyphenate=B.dehyphenate,B.toQuotation=B.toQuotations;var U=B,M={alpha:(t,e)=>t.normale.normal?1:0,length:(t,e)=>{let n=t.normal.trim().length,r=e.normal.trim().length;return nr?-1:0},wordCount:(t,e)=>t.wordse.words?-1:0,sequential:(t,e)=>t[0]e[0]?-1:t[1]>e[1]?1:-1,byFreq:function(t){let e={};return t.forEach((t=>{e[t.normal]=e[t.normal]||0,e[t.normal]+=1})),t.sort(((t,n)=>{let r=e[t.normal],o=e[n.normal];return ro?-1:0})),t}};const W=new Set(["index","sequence","seq","sequential","chron","chronological"]),I=new Set(["freq","frequency","topk","repeats"]),R=new Set(["alpha","alphabetical"]);var Q={unique:function(){let t=new Set;return this.filter((e=>{let n=e.text("machine");return!t.has(n)&&(t.add(n),!0)}))},reverse:function(){let t=this.pointer||this.docs.map(((t,e)=>[e]));return t=[].concat(t),t=t.reverse(),this._cache&&(this._cache=this._cache.reverse()),this.update(t)},sort:function(t){let{docs:e,pointer:n}=this;if(this.uncache(),"function"==typeof t)return function(t,e){let n=t.fullPointer;return n=n.sort(((n,r)=>(n=t.update([n]),r=t.update([r]),e(n,r)))),t.ptrs=n,t}(this,t);t=t||"alpha";let r=n||e.map(((t,e)=>[e])),o=e.map(((t,e)=>({index:e,words:t.length,normal:t.map((t=>t.machine||t.normal||"")).join(" "),pointer:r[e]})));return W.has(t)&&(t="sequential"),R.has(t)&&(t="alpha"),I.has(t)?(o=M.byFreq(o),this.update(o.map((t=>t.pointer)))):"function"==typeof M[t]?(o=o.sort(M[t]),this.update(o.map((t=>t.pointer)))):this}};const H=function(t,e){if(t.length>0){let e=t[t.length-1],n=e[e.length-1];!1===/ /.test(n.post)&&(n.post+=" ")}return t=t.concat(e)};var Z={concat:function(t){if("string"==typeof t){let e=this.fromText(t);if(this.found&&this.ptrs){let t=this.fullPointer,n=t[t.length-1][0];this.document.splice(n,0,...e.document)}else this.document=this.document.concat(e.document);return this.all().compute("index")}if("object"==typeof t&&t.isView)return function(t,e){if(t.document===e.document){let n=t.fullPointer.concat(e.fullPointer);return t.toView(n).compute("index")}return e.fullPointer.forEach((e=>{e[0]+=t.document.length})),t.document=H(t.document,e.docs),t.all()}(this,t);if(e=t,"[object Array]"===Object.prototype.toString.call(e)){let e=H(this.document,t);return this.document=e,this.all()}var e;return this}},K={harden:function(){return this.ptrs=this.fullPointer,this},soften:function(){let t=this.ptrs;return!t||t.length<1||(t=t.map((t=>t.slice(0,3))),this.ptrs=t),this}};const J=Object.assign({},{toLowerCase:function(){return this.termList().forEach((t=>{t.text=t.text.toLowerCase()})),this},toUpperCase:function(){return this.termList().forEach((t=>{t.text=t.text.toUpperCase()})),this},toTitleCase:function(){return this.termList().forEach((t=>{t.text=t.text.replace(/^ *[a-z\u00C0-\u00FF]/,(t=>t.toUpperCase()))})),this},toCamelCase:function(){return this.docs.forEach((t=>{t.forEach(((e,n)=>{0!==n&&(e.text=e.text.replace(/^ *[a-z\u00C0-\u00FF]/,(t=>t.toUpperCase()))),n!==t.length-1&&(e.post="")}))})),this}},N,q,D,U,Q,Z,K);var X=function(t){Object.assign(t.prototype,J)};const Y={id:function(t){let e=t.docs;for(let t=0;t(t.implicit=t.text,t.machine=t.text,t.pre="",t.post="",t.text="",t.normal="",t.index=[r,o+e],t))),n[0]&&(n[0].pre=t[r][o].pre,n[n.length-1].post=t[r][o].post,n[0].text=t[r][o].text,n[0].normal=t[r][o].normal),t[r].splice(o,1,...n))};const ot=/'/,it=new Set(["what","how","when","where","why"]),st=new Set(["be","go","start","think","need"]),lt=new Set(["been","gone"]);var at=function(t,e){let n=t[e].normal.split(ot)[0];if(it.has(n))return[n,"did"];if(t[e+1]){if(lt.has(t[e+1].normal))return[n,"had"];if(st.has(t[e+1].normal))return[n,"would"]}return null},ct=function(t,e){return"ain't"===t[e].normal||"aint"===t[e].normal?null:[t[e].normal.replace(/n't/,""),"not"]};const ut=/'/;var ht=(t,e)=>["je",t[e].normal.split(ut)[1]],ft=(t,e)=>{let n=t[e].normal.split(ut)[1];return n&&n.endsWith("e")?["la",n]:["le",n]},pt=(t,e)=>{let n=t[e].normal.split(ut)[1];return n&&n.endsWith("e")?["du",n]:n&&n.endsWith("s")?["des",n]:["de",n]};const dt=/^([0-9.]{1,4}[a-z]{0,2}) ?[-–—] ?([0-9]{1,4}[a-z]{0,2})$/i,mt=/^([0-9]{1,2}(:[0-9][0-9])?(am|pm)?) ?[-–—] ?([0-9]{1,2}(:[0-9][0-9])?(am|pm)?)$/i,gt=/^[0-9]{3}-[0-9]{4}$/;var wt=function(t,e){let n=t[e],r=n.text.match(dt);return null!==r?!0===n.tags.has("PhoneNumber")||gt.test(n.text)?null:[r[1],"to",r[2]]:(r=n.text.match(mt),null!==r?[r[1],"to",r[4]]:null)};const bt=/^([+-]?[0-9][.,0-9]*)([a-z°²³µ/]+)$/;var yt=function(t,e,n){const r=n.model.one.numberSuffixes||{};let o=t[e].text.match(bt);if(null!==o){let t=o[2].toLowerCase().trim();return r.hasOwnProperty(t)?null:[o[1],t]}return null};const vt=/'/,xt=/^[0-9][^-–—]*[-–—].*?[0-9]/,jt=function(t,e,n,r){let o=e.update();o.document=[t];let i=n+r;n>0&&(n-=1),t[i]&&(i+=1),o.ptrs=[[0,n,i]]},Et={t:(t,e)=>ct(t,e),d:(t,e)=>at(t,e)},Ot={j:(t,e)=>ht(t,e),l:(t,e)=>ft(t,e),d:(t,e)=>pt(t,e)},kt=function(t,e,n,r){for(let o=0;o2)return i.out.concat(r)}return null},Pt=function(t,e){let n=e.fromText(t.join(" "));return n.compute(["id","alias"]),n.docs[0]},_t=function(t,e){for(let n=e+1;n<5&&t[n];n+=1)if("been"===t[n].normal)return["there","has"];return["there","is"]};var St=t=>{let{world:e,document:n}=t;const{model:r,methods:o}=e;let i=r.one.contractions||[];n.forEach(((r,s)=>{for(let l=r.length-1;l>=0;l-=1){let a=null,c=null;!0===vt.test(r[l].normal)&&([a,c]=r[l].normal.split(vt));let u=kt(i,r[l],a,c);!u&&Et.hasOwnProperty(c)&&(u=Et[c](r,l,e)),!u&&Ot.hasOwnProperty(a)&&(u=Ot[a](r,l)),"there"===a&&"s"===c&&(u=_t(r,l)),u?(u=Pt(u,t),rt(n,[s,l],u),jt(n[s],t,l,u.length)):xt.test(r[l].normal)?(u=wt(r,l),u&&(u=Pt(u,t),rt(n,[s,l],u),o.one.setTag(u,"NumberRange",e),u[2]&&u[2].tags.has("Time")&&o.one.setTag([u[0]],"Time",e,null,"time-range"),jt(n[s],t,l,u.length))):(u=yt(r,l,e),u&&(u=Pt(u,t),rt(n,[s,l],u),o.one.setTag([u[1]],"Unit",e,null,"contraction-unit")))}}))},At={model:nt,compute:{contractions:St},hooks:["contractions"]},Tt=function(t,e,n){const{model:r,methods:o}=n,i=o.one.setTag,s=r.one._multiCache||{},l=r.one.lexicon||{};let a=t[e],c=a.machine||a.normal;return void 0!==t[e+1]&&!0===s[c]?function(t,e,n,r,o){let i=e+4>t.length?t.length-e:4,s=t[e].machine||t[e].normal;for(let l=1;ls.hasOwnProperty(t)));if(t)return i([l],s[t],n,!1,"1-lexicon-alias"),!0}if(!0===$t.test(a)){let t=a.replace($t,"");if(s.hasOwnProperty(t)&&t.length>3&&Ct.has(s[t]))return i([l],s[t],n,!1,"1-lexicon-prefix"),!0}return null},Nt={lexicon:function(t){const e=t.world;t.docs.forEach((t=>{for(let n=0;n{let o=t[r],i=(r=(r=r.toLowerCase().trim()).replace(/'s\b/,"")).split(/ /);i.length>1&&(n[i[0]]=!0),e[r]=e[r]||o})),delete e[""],delete e.null,delete e[" "],{lex:e,_multi:n}},Vt={addWords:function(t){const e=this.world(),{methods:n,model:r}=e;if(t)if(Object.keys(t).forEach((e=>{"string"==typeof t[e]&&t[e].startsWith("#")&&(t[e]=t[e].replace(/^#/,""))})),n.two.expandLexicon){let{lex:o,_multi:i}=n.two.expandLexicon(t,e);Object.assign(r.one.lexicon,o),Object.assign(r.one._multiCache,i)}else if(n.one.expandLexicon){let{lex:o,_multi:i}=n.one.expandLexicon(t,e);Object.assign(r.one.lexicon,o),Object.assign(r.one._multiCache,i)}else Object.assign(r.one.lexicon,t)}},qt={model:{one:{lexicon:{},_multiCache:{}}},methods:{one:{expandLexicon:Lt}},compute:Nt,lib:Vt,hooks:["lexicon"]},Ft=function(t,e){let n=[{}],r=[null],o=[0],i=[],s=0;t.forEach((function(t){let o=0,i=function(t,e){const{methods:n,model:r}=e;let o=n.one.tokenize.splitTerms(t,r).map((t=>n.one.tokenize.splitWhitespace(t,r)));return o.map((t=>t.text.toLowerCase()))}(t,e);for(let t=0;t0&&!n[s].hasOwnProperty(a);)s=o[s];if(n.hasOwnProperty(s)){let t=n[s][a];o[c]=t,r[t]&&(r[c]=r[c]||[],r[c]=r[c].concat(r[t]))}else o[c]=0}}return{goNext:n,endAs:r,failTo:o}};const Gt=function(t,e,n){let r=0,o=[];for(let i=0;i0&&(void 0===e.goNext[r]||!e.goNext[r].hasOwnProperty(s));)r=e.failTo[r]||0;if(e.goNext[r].hasOwnProperty(s)&&(r=e.goNext[r][s],e.endAs[r])){let n=e.endAs[r];for(let e=0;e0&&(r=r.concat(a))}return t.update(r)};const Ut=(t,e)=>{for(let n=t.length-1;n>=0;n-=1)if(t[n]!==e)return t=t.slice(0,n+1);return t};var Mt=function(t){return t.goNext=t.goNext.map((t=>{if(0!==Object.keys(t).length)return t})),t.goNext=Ut(t.goNext,void 0),t.failTo=Ut(t.failTo,0),t.endAs=Ut(t.endAs,null),t};const Wt={buildTrie:function(t){const e=Ft(t,this.world());return Mt(e)}};Wt.compile=Wt.buildTrie;var It={api:function(t){t.prototype.lookup=function(t,e={}){if(!t)return this.none();"string"==typeof t&&(t=[t]);let n=(r=t,"[object Object]"===Object.prototype.toString.call(r)?t:Ft(t,this.world));var r;let o=Bt(this,n,e);return o=o.settle(),o}},lib:Wt};const Rt=function(t,e){return e?(t.forEach((t=>{let n=t[0];e[n]&&(t[0]=e[n][0],t[1]+=e[n][1],t[2]+=e[n][1])})),t):t},Qt=function(t,e){let{ptrs:n,byGroup:r}=t;return n=Rt(n,e),Object.keys(r).forEach((t=>{r[t]=Rt(r[t],e)})),{ptrs:n,byGroup:r}},Ht=t=>"[object Object]"===Object.prototype.toString.call(t),Zt=t=>t&&Ht(t)&&!0===t.isView,Kt=t=>t&&Ht(t)&&!0===t.isNet,Jt=function(t,e,n){const r=n.methods.one;return"number"==typeof t&&(t=String(t)),"string"==typeof t&&(t=r.killUnicode(t,n),t=r.parseMatch(t,e,n)),t};var Xt={matchOne:function(t,e,n){const r=this.methods.one;if(Zt(t))return this.intersection(t).eq(0);if(Kt(t))return this.sweep(t,{tagger:!1,matchOne:!0}).view;let o={regs:t=Jt(t,n,this.world),group:e,justOne:!0},i=r.match(this.docs,o,this._cache),{ptrs:s,byGroup:l}=Qt(i,this.fullPointer),a=this.toView(s);return a._groups=l,a},match:function(t,e,n){const r=this.methods.one;if(Zt(t))return this.intersection(t);if(Kt(t))return this.sweep(t,{tagger:!1}).view.settle();let o={regs:t=Jt(t,n,this.world),group:e},i=r.match(this.docs,o,this._cache),{ptrs:s,byGroup:l}=Qt(i,this.fullPointer),a=this.toView(s);return a._groups=l,a},has:function(t,e,n){const r=this.methods.one;if(Zt(t))return t.fullPointer.length>0;if(Kt(t))return this.sweep(t,{tagger:!1}).view.found;let o={regs:t=Jt(t,n,this.world),group:e,justOne:!0};return r.match(this.docs,o,this._cache).ptrs.length>0},if:function(t,e,n){const r=this.methods.one;if(Zt(t))return this.filter((e=>e.intersection(t).found));if(Kt(t)){let e=this.sweep(t,{tagger:!1}).view.settle();return this.if(e)}let o={regs:t=Jt(t,n,this.world),group:e,justOne:!0},i=this.fullPointer,s=this._cache||[];i=i.filter(((t,e)=>{let n=this.update([t]);return r.match(n.docs,o,s[e]).ptrs.length>0}));let l=this.update(i);return this._cache&&(l._cache=i.map((t=>s[t[0]]))),l},ifNo:function(t,e,n){const{methods:r}=this,o=r.one;if(Zt(t))return this.filter((e=>!e.intersection(t).found));if(Kt(t)){let e=this.sweep(t,{tagger:!1}).view.settle();return this.ifNo(e)}t=Jt(t,n,this.world);let i=this._cache||[],s=this.filter(((n,r)=>{let s={regs:t,group:e,justOne:!0};return 0===o.match(n.docs,s,i[r]).ptrs.length}));return this._cache&&(s._cache=s.ptrs.map((t=>i[t[0]]))),s}},Yt={before:function(t,e,n){const{indexN:r}=this.methods.one.pointer;let o=[],i=r(this.fullPointer);Object.keys(i).forEach((t=>{let e=i[t].sort(((t,e)=>t[1]>e[1]?1:-1))[0];e[1]>0&&o.push([e[0],0,e[1]])}));let s=this.toView(o);return t?s.match(t,e,n):s},after:function(t,e,n){const{indexN:r}=this.methods.one.pointer;let o=[],i=r(this.fullPointer),s=this.document;Object.keys(i).forEach((t=>{let e=i[t].sort(((t,e)=>t[1]>e[1]?-1:1))[0],[n,,r]=e;r{let i=n.before(t,e);if(i.found){let t=i.terms();r[o][1]-=t.length,r[o][3]=t.docs[0][0].id}})),this.update(r)},growRight:function(t,e,n){"string"==typeof t&&(t=this.world.methods.one.parseMatch(t,n,this.world)),t[0].start=!0;let r=this.fullPointer;return this.forEach(((n,o)=>{let i=n.after(t,e);if(i.found){let t=i.terms();r[o][2]+=t.length,r[o][4]=null}})),this.update(r)},grow:function(t,e,n){return this.growRight(t,e,n).growLeft(t,e,n)}};const te=function(t,e){return[t[0],t[1],e[2]]},ee=(t,e,n)=>{return"string"==typeof t||(r=t,"[object Array]"===Object.prototype.toString.call(r))?e.match(t,n):t||e.none();var r},ne=function(t,e){let[n,r,o]=t;return e.document[n]&&e.document[n][r]&&(t[3]=t[3]||e.document[n][r].id,e.document[n][o-1]&&(t[4]=t[4]||e.document[n][o-1].id)),t},re={splitOn:function(t,e){const{splitAll:n}=this.methods.one.pointer;let r=ee(t,this,e).fullPointer,o=n(this.fullPointer,r),i=[];return o.forEach((t=>{i.push(t.passthrough),i.push(t.before),i.push(t.match),i.push(t.after)})),i=i.filter((t=>t)),i=i.map((t=>ne(t,this))),this.update(i)},splitBefore:function(t,e){const{splitAll:n}=this.methods.one.pointer;let r=ee(t,this,e).fullPointer,o=n(this.fullPointer,r);for(let t=0;t{i.push(t.passthrough),i.push(t.before),t.match&&t.after?i.push(te(t.match,t.after)):i.push(t.match)})),i=i.filter((t=>t)),i=i.map((t=>ne(t,this))),this.update(i)},splitAfter:function(t,e){const{splitAll:n}=this.methods.one.pointer;let r=ee(t,this,e).fullPointer,o=n(this.fullPointer,r),i=[];return o.forEach((t=>{i.push(t.passthrough),t.before&&t.match?i.push(te(t.before,t.match)):(i.push(t.before),i.push(t.match)),i.push(t.after)})),i=i.filter((t=>t)),i=i.map((t=>ne(t,this))),this.update(i)}};re.split=re.splitAfter;var oe=re;const ie=Object.assign({},Xt,Yt,oe);ie.lookBehind=ie.before,ie.lookBefore=ie.before,ie.lookAhead=ie.after,ie.lookAfter=ie.after,ie.notIf=ie.ifNo;var se=function(t){Object.assign(t.prototype,ie)};const le=/(?:^|\s)([![^]*(?:<[^<]*>)?\/.*?[^\\/]\/[?\]+*$~]*)(?:\s|$)/,ae=/([!~[^]*(?:<[^<]*>)?\([^)]+[^\\)]\)[?\]+*$~]*)(?:\s|$)/,ce=/ /g,ue=t=>/^[![^]*(<[^<]*>)?\//.test(t)&&/\/[?\]+*$~]*$/.test(t),he=function(t){return t=(t=t.map((t=>t.trim()))).filter((t=>t))};var fe=function(t){let e=t.split(le),n=[];e.forEach((t=>{ue(t)?n.push(t):n=n.concat(t.split(ae))})),n=he(n);let r=[];return n.forEach((t=>{(t=>/^[![^]*(<[^<]*>)?\(/.test(t)&&/\)[?\]+*$~]*$/.test(t))(t)||ue(t)?r.push(t):r=r.concat(t.split(ce))})),r=he(r),r};const pe=/\{([0-9]+)?(, *[0-9]*)?\}/,de=/&&/,me=new RegExp(/^<\s*(\S+)\s*>/),ge=t=>t.charAt(0).toUpperCase()+t.substring(1),we=t=>t.charAt(t.length-1),be=t=>t.charAt(0),ye=t=>t.substring(1),ve=t=>t.substring(0,t.length-1),xe=function(t){return t=ye(t),t=ve(t)},je=function(t,e){let n={};for(let r=0;r<2;r+=1){if("$"===we(t)&&(n.end=!0,t=ve(t)),"^"===be(t)&&(n.start=!0,t=ye(t)),"?"===we(t)&&(n.optional=!0,t=ve(t)),("["===be(t)||"]"===we(t))&&(n.group=null,"["===be(t)&&(n.groupStart=!0),"]"===we(t)&&(n.groupEnd=!0),t=(t=t.replace(/^\[/,"")).replace(/\]$/,""),"<"===be(t))){const e=me.exec(t);e.length>=2&&(n.group=e[1],t=t.replace(e[0],""))}if("+"===we(t)&&(n.greedy=!0,t=ve(t)),"*"!==t&&"*"===we(t)&&"\\*"!==t&&(n.greedy=!0,t=ve(t)),"!"===be(t)&&(n.negative=!0,t=ye(t)),"~"===be(t)&&"~"===we(t)&&t.length>2&&(t=xe(t),n.fuzzy=!0,n.min=e.fuzzy||.85,!1===/\(/.test(t)))return n.word=t,n;if("/"===be(t)&&"/"===we(t))return t=xe(t),e.caseSensitive&&(n.use="text"),n.regex=new RegExp(t),n;if(!0===pe.test(t)&&(t=t.replace(pe,((t,e,r)=>(void 0===r?(n.min=Number(e),n.max=Number(e)):(r=r.replace(/, */,""),void 0===e?(n.min=0,n.max=Number(r)):(n.min=Number(e),n.max=Number(r||999))),n.greedy=!0,n.min||(n.optional=!0),"")))),"("===be(t)&&")"===we(t)){de.test(t)?(n.choices=t.split(de),n.operator="and"):(n.choices=t.split("|"),n.operator="or"),n.choices[0]=ye(n.choices[0]);let r=n.choices.length-1;n.choices[r]=ve(n.choices[r]),n.choices=n.choices.map((t=>t.trim())),n.choices=n.choices.filter((t=>t)),n.choices=n.choices.map((t=>t.split(/ /g).map((t=>je(t,e))))),t=""}if("{"===be(t)&&"}"===we(t)){if(t=xe(t),n.root=t,/\//.test(t)){let t=n.root.split(/\//);n.root=t[0],n.pos=t[1],"adj"===n.pos&&(n.pos="Adjective"),n.pos=n.pos.charAt(0).toUpperCase()+n.pos.substr(1).toLowerCase(),void 0!==t[2]&&(n.sense=t[2])}return n}if("<"===be(t)&&">"===we(t))return t=xe(t),n.chunk=ge(t),n.greedy=!0,n;if("%"===be(t)&&"%"===we(t))return t=xe(t),n.switch=t,n}return"#"===be(t)?(n.tag=ye(t),n.tag=ge(n.tag),n):"@"===be(t)?(n.method=ye(t),n):"."===t?(n.anything=!0,n):"*"===t?(n.anything=!0,n.greedy=!0,n.optional=!0,n):(t&&(t=(t=t.replace("\\*","*")).replace("\\.","."),e.caseSensitive?n.use="text":t=t.toLowerCase(),n.word=t),n)};var Ee=je;const Oe=/[a-z0-9][-–—][a-z]/i;var ke=function(t,e){let n=e.model.one.prefixes;for(let e=t.length-1;e>=0;e-=1){let r=t[e];if(r.word&&Oe.test(r.word)){let o=r.word.split(/[-–—]/g);if(n.hasOwnProperty(o[0]))continue;o=o.filter((t=>t)).reverse(),t.splice(e,1),o.forEach((n=>{let o=Object.assign({},r);o.word=n,t.splice(e,0,o)}))}}return t};const Pe=function(t,e){let{all:n}=e.methods.two.transform.verb||{},r=t.root;return n?n(r,e.model):[]},_e=function(t,e){let{all:n}=e.methods.two.transform.noun||{};return n?n(t.root,e.model):[t.root]},Se=function(t,e){let{all:n}=e.methods.two.transform.adjective||{};return n?n(t.root,e.model):[t.root]};var Ae=function(t,e){return t=t.map((t=>{if(t.root)if(e.methods.two&&e.methods.two.transform){let n=[];t.pos?"Verb"===t.pos?n=n.concat(Pe(t,e)):"Noun"===t.pos?n=n.concat(_e(t,e)):"Adjective"===t.pos&&(n=n.concat(Se(t,e))):(n=n.concat(Pe(t,e)),n=n.concat(_e(t,e)),n=n.concat(Se(t,e))),n=n.filter((t=>t)),n.length>0&&(t.operator="or",t.fastOr=new Set(n))}else t.machine=t.root,delete t.id,delete t.root;return t}))},Te=function(t){return t=function(t){let e=0,n=null;for(let r=0;r(t.fuzzy&&t.choices&&t.choices.forEach((e=>{1===e.length&&e[0].word&&(e[0].fuzzy=!0,e[0].min=t.min)})),t)))}(t=t.map((t=>{if(void 0!==t.choices){if("or"!==t.operator)return t;if(!0===t.fuzzy)return t;!0===t.choices.every((t=>{if(1!==t.length)return!1;let e=t[0];return!0!==e.fuzzy&&!e.start&&!e.end&&void 0!==e.word&&!0!==e.negative&&!0!==e.optional&&!0!==e.method}))&&(t.fastOr=new Set,t.choices.forEach((e=>{t.fastOr.add(e[0].word)})),delete t.choices)}return t}))),t},$e=function(t,e,n){if(null==t||""===t)return[];e=e||{},"number"==typeof t&&(t=String(t));let r=fe(t);return r=r.map((t=>Ee(t,e))),r=ke(r,n),r=Ae(r,n),r=Te(r),r};const Ce=function(t,e){for(let n of e)if(t.has(n))return!0;return!1};var ze=function(t,e){for(let n=0;nn?r:n)+1;if(Math.abs(n-r)>(o||100))return o||100;let i,s,l,a,c,u,h=[];for(let t=0;t4)return n;l=e[i-1],a=s===l?0:1,c=h[o-1][i]+1,(u=h[o][i-1]+1)1&&i>1&&s===e[i-2]&&t[o-2]===l&&(u=h[o-2][i-2]+a)-1!==t.post.indexOf(e),De=(t,e)=>-1!==t.pre.indexOf(e),Be={hasQuote:t=>Le.test(t.pre)||Ve.test(t.post),hasComma:t=>Ge(t,","),hasPeriod:t=>!0===Ge(t,".")&&!1===Ge(t,"..."),hasExclamation:t=>Ge(t,"!"),hasQuestionMark:t=>Ge(t,"?")||Ge(t,"¿"),hasEllipses:t=>Ge(t,"..")||Ge(t,"…")||De(t,"..")||De(t,"…"),hasSemicolon:t=>Ge(t,";"),hasColon:t=>Ge(t,":"),hasSlash:t=>/\//.test(t.text),hasHyphen:t=>qe.test(t.post)||qe.test(t.pre),hasDash:t=>Fe.test(t.post)||Fe.test(t.pre),hasContraction:t=>Boolean(t.implicit),isAcronym:t=>t.tags.has("Acronym"),isKnown:t=>t.tags.size>0,isTitleCase:t=>/^\p{Lu}[a-z'\u00C0-\u00FF]/u.test(t.text),isUpperCase:t=>/^\p{Lu}+$/u.test(t.text)};Be.hasQuotation=Be.hasQuote;var Ue=Be;let Me=function(){};Me=function(t,e,n,r){let o=function(t,e,n,r){if(!0===e.anything)return!0;if(!0===e.start&&0!==n)return!1;if(!0===e.end&&n!==r-1)return!1;if(void 0!==e.id&&e.id===t.id)return!0;if(void 0!==e.word){if(e.use)return e.word===t[e.use];if(null!==t.machine&&t.machine===e.word)return!0;if(void 0!==t.alias&&t.alias.hasOwnProperty(e.word))return!0;if(!0===e.fuzzy){if(e.word===t.root)return!0;if(Ne(e.word,t.normal)>=e.min)return!0}return!(!t.alias||!t.alias.some((t=>t===e.word)))||e.word===t.text||e.word===t.normal}if(void 0!==e.tag)return!0===t.tags.has(e.tag);if(void 0!==e.method)return"function"==typeof Ue[e.method]&&!0===Ue[e.method](t);if(void 0!==e.pre)return t.pre&&t.pre.includes(e.pre);if(void 0!==e.post)return t.post&&t.post.includes(e.post);if(void 0!==e.regex){let n=t.normal;return e.use&&(n=t[e.use]),e.regex.test(n)}if(void 0!==e.chunk)return t.chunk===e.chunk;if(void 0!==e.switch)return t.switch===e.switch;if(void 0!==e.machine)return t.normal===e.machine||t.machine===e.machine||t.root===e.machine;if(void 0!==e.sense)return t.sense===e.sense;if(void 0!==e.fastOr){if(e.pos&&!t.tags.has(e.pos))return null;let n=t.root||t.implicit||t.machine||t.normal;return e.fastOr.has(n)||e.fastOr.has(t.text)}return void 0!==e.choices&&("and"===e.operator?e.choices.every((e=>Me(t,e,n,r))):e.choices.some((e=>Me(t,e,n,r))))}(t,e,n,r);return!0===e.negative?!o:o};var We=Me;const Ie=function(t,e){if(!0===t.end&&!0===t.greedy&&e.start_i+e.tn.max?(t.t=t.t+n.max,!0):(!0===t.hasGroup&&(Re(t,t.t).length=r-t.t),t.t=r,!0)};const He=function(t,e=0){let n=t.regs[t.r],r=!1;for(let i=0;i{let o=0,i=t.t+r+e+o;if(void 0===t.terms[i])return!1;let s=We(t.terms[i],n,i+t.start_i,t.phrase_length);if(!0===s&&!0===n.greedy)for(let e=1;e{let r=n.every(((e,n)=>{let r=t.t+n;return void 0!==t.terms[r]&&We(t.terms[r],e,r,t.phrase_length)}));return!0===r&&n.length>e&&(e=n.length),r}))&&e}(t);if(r){if(!0===n.negative)return null;if(!0===t.hasGroup&&(Re(t,t.t).length+=r),!0===n.end){let e=t.phrase_length-1;if(t.t+t.start_i!==e)return null}return t.t+=r,!0}return!!n.optional||null},Je=function(t,e,n){let r=0;for(let o=t.t;or||(t.t+=r,0))},Xe=function(t){const{regs:e}=t;let n=e[t.r],r=Object.assign({},n);if(r.negative=!1,We(t.terms[t.t],r,t.start_i+t.t,t.phrase_length))return!1;if(n.optional){let n=e[t.r+1];n&&(We(t.terms[t.t],n,t.start_i+t.t,t.phrase_length)?t.r+=1:n.optional&&e[t.r+2]&&We(t.terms[t.t],e[t.r+2],t.start_i+t.t,t.phrase_length)&&(t.r+=2))}return n.greedy?Je(t,r,e[t.r+1]):(t.t+=1,!0)},Ye=function(t){const{regs:e}=t;let n=e[t.r],r=t.terms[t.t],o=We(r,e[t.r+1],t.start_i+t.t,t.phrase_length);if(n.negative||o){let n=t.terms[t.t+1];n&&We(n,e[t.r+1],t.start_i+t.t,t.phrase_length)||(t.r+=1)}},tn=function(t){const{regs:e,phrase_length:n}=t;let r=e[t.r];return t.t=function(t,e){let n=Object.assign({},t.regs[t.r],{start:!1,end:!1}),r=t.t;for(;t.tt.t?null:!0!==r.end||t.start_i+t.t===n||null},en=function(t){let e=t.terms[t.t],n=t.regs[t.r];if(e.implicit&&t.terms[t.t+1]){if(!t.terms[t.t+1].implicit)return;n.word===e.normal&&(t.t+=1),"hasContraction"===n.method&&(t.t+=1)}},nn=function(t){const{regs:e}=t;let n=e[t.r],r=t.terms[t.t],o=t.t;return!!(n.optional&&e[t.r+1]&&n.negative)||(n.optional&&e[t.r+1]&&Ye(t),r.implicit&&t.terms[t.t+1]&&en(t),t.t+=1,!0===n.end&&t.t!==t.terms.length&&!0!==n.greedy?null:!0!==n.greedy||tn(t)?(!0===t.hasGroup&&function(t,e){let n=t.regs[t.r];const r=Re(t,e);t.t>1&&n.greedy?r.length+=t.t-e:r.length++}(t,o),!0):null)},rn=function(t,e,n,r){if(0===t.length||0===e.length)return null;let o={t:0,terms:t,r:0,regs:e,groups:{},start_i:n,phrase_length:r,inGroup:null};for(;o.r!t.optional)))break;return null}if(!0!==t.anything||!0!==t.greedy){if(void 0===t.choices||"or"!==t.operator){if(void 0===t.choices||"and"!==t.operator)if(!0!==t.anything){if(!0!==Ie(t,o)){if(t.negative){if(!Xe(o))return null}else if(!0!==We(o.terms[o.t],t,o.start_i+o.t,o.phrase_length)){if(!0!==t.optional)return null}else if(!nn(o))return null}else if(!nn(o))return null}else{if(t.negative&&t.anything)return null;if(!nn(o))return null}else if(!Ke(o))return null}else if(!Ze(o))return null}else if(!Qe(o))return null}let i=[null,n,o.t+n];if(i[1]===i[2])return null;let s={};return Object.keys(o.groups).forEach((t=>{let e=o.groups[t],r=n+e.start;s[t]=[null,r,r+e.length]})),{pointer:i,groups:s}},on=function(t,e){let n=[],r={};return 0===t.length||("number"==typeof e&&(e=String(e)),e?t.forEach((t=>{t.groups[e]&&n.push(t.groups[e])})):t.forEach((t=>{n.push(t.pointer),Object.keys(t.groups).forEach((e=>{r[e]=r[e]||[],r[e].push(t.groups[e])}))}))),{ptrs:n,byGroup:r}},sn=function(t,e,n){return t=t.filter((t=>{let[r,o,i]=t.pointer,s=n[r].slice(o,i);for(let t=0;t{t.groups[n][0]=e})),t},an=function(t,e,n){let r=rn(t,e,0,t.length);return r?(r=ln(r,n),r):null};var cn=function(t,e,n){n=n||[];let{regs:r,group:o,justOne:i}=e,s=[];if(!r||0===r.length)return{ptrs:[],byGroup:{}};const l=r.filter((t=>!0!==t.optional&&!0!==t.negative)).length;t:for(let e=0;et&&(t=Math.abs(n-1))}}else{let t=an(o,r,e);t&&s.push(t)}}return!0===r[r.length-1].end&&(s=s.filter((e=>{let n=e.pointer[0];return t[n].length===e.pointer[2]}))),e.notIf&&(s=sn(s,e.notIf,t)),s=on(s,o),s.ptrs.forEach((e=>{let[n,r,o]=e;e[3]=t[n][r].id,e[4]=t[n][o-1].id})),s},un={api:se,methods:{one:{termMethods:Ue,parseMatch:$e,match:cn}},lib:{parseMatch:function(t,e){const n=this.world();let r=n.methods.one.killUnicode;return r&&(t=r(t,n)),n.methods.one.parseMatch(t,e,n)}}};const hn=/^\../,fn=/^#./,pn=function(t,e){let n={},r={};return Object.keys(e).forEach((o=>{let i=e[o],s=function(t){let e="",n="";return t=t.replace(/&/g,"&").replace(//g,">").replace(/"/g,""").replace(/'/g,"'"),hn.test(t)?e=``),e+=">",{start:e,end:n}}(o);"string"==typeof i&&(i=t.match(i)),i.docs.forEach((t=>{if(t.every((t=>t.implicit)))return;let e=t[0].id;n[e]=n[e]||[],n[e].push(s.start);let o=t[t.length-1].id;r[o]=r[o]||[],r[o].push(s.end)}))})),{starts:n,ends:r}};var dn={html:function(t){let{starts:e,ends:n}=pn(this,t),r="";return this.docs.forEach((t=>{for(let o=0;o{let n=t.pre||"",o=t.post||"";"some"===e.punctuation&&(n=n.replace(gn,""),bn.test(o)&&(o=" "),o=o.replace(wn,""),o=o.replace(/\?!+/,"?"),o=o.replace(/!+/,"!"),o=o.replace(/\?+/,"?"),o=o.replace(/\.{2,}/,""),t.tags.has("Abbreviation")&&(o=o.replace(/\./,""))),"some"===e.whitespace&&(n=n.replace(/\s/,""),o=o.replace(/\s+/," ")),e.keepPunct||(n=n.replace(gn,""),o="-"===o?" ":o.replace(mn,""));let i=t[e.form||"text"]||t.normal||"";"implicit"===e.form&&(i=t.implicit||t.text),"root"===e.form&&t.implicit&&(i=t.root||t.implicit||t.normal),"machine"!==e.form&&"implicit"!==e.form&&"root"!==e.form||!t.implicit||o&&yn.test(o)||(o+=" "),r+=n+i+o})),!1===n&&(r=r.trim()),!0===e.lowerCase&&(r=r.toLowerCase()),r},xn={text:{form:"text"},normal:{whitespace:"some",punctuation:"some",case:"some",unicode:"some",form:"normal"},machine:{keepSpace:!1,whitespace:"some",punctuation:"some",case:"none",unicode:"some",form:"machine"},root:{keepSpace:!1,whitespace:"some",punctuation:"some",case:"some",unicode:"some",form:"root"},implicit:{form:"implicit"}};xn.clean=xn.normal,xn.reduced=xn.root;var jn=xn;let En=[],On=0;for(;On<64;)En[On]=0|4294967296*Math.sin(++On%Math.PI);function kn(t){let e,n,r,o=[e=1732584193,n=4023233417,~e,~n],i=[],s=decodeURI(encodeURI(t))+"€",l=s.length;for(t=--l/4+2|15,i[--t]=8*l;~l;)i[l>>2]|=s.charCodeAt(l)<<8*l--;for(On=s=0;On>4]+En[s]+~~i[On|15&[s,5*s+1,3*s+5,7*s][l]])<<(l=[7,12,17,22,5,9,14,20,4,11,16,23,6,10,15,21][4*l+s++%4])|r>>>-l),e,n])e=0|l[1],n=l[2];for(s=4;s;)o[--s]+=l[s]}for(t="";s<32;)t+=(o[s>>3]>>4*(1^s++)&15).toString(16);return t}const Pn={text:!0,terms:!0};let _n={case:"none",unicode:"some",form:"machine",punctuation:"some"};const Sn=function(t,e){return Object.assign({},t,e)},An={text:t=>vn(t,{keepPunct:!0},!1),normal:t=>vn(t,Sn(jn.normal,{keepPunct:!0}),!1),implicit:t=>vn(t,Sn(jn.implicit,{keepPunct:!0}),!1),machine:t=>vn(t,_n,!1),root:t=>vn(t,Sn(_n,{form:"root"}),!1),hash:t=>kn(vn(t,{keepPunct:!0},!1)),offset:t=>{let e=An.text(t).length;return{index:t[0].offset.index,start:t[0].offset.start,length:e}},terms:t=>t.map((t=>{let e=Object.assign({},t);return e.tags=Array.from(t.tags),e})),confidence:(t,e,n)=>e.eq(n).confidence(),syllables:(t,e,n)=>e.eq(n).syllables(),sentence:(t,e,n)=>e.eq(n).fullSentence().text(),dirty:t=>t.some((t=>!0===t.dirty))};An.sentences=An.sentence,An.clean=An.normal,An.reduced=An.root;const Tn={json:function(t){let e=(n=this,"string"==typeof(r=(r=t)||{})&&(r={}),(r=Object.assign({},Pn,r)).offset&&n.compute("offset"),n.docs.map(((t,e)=>{let o={};return Object.keys(r).forEach((i=>{r[i]&&An[i]&&(o[i]=An[i](t,n,e))})),o})));var n,r;return"number"==typeof t?e[t]:e}};Tn.data=Tn.json;var $n=Tn,Cn=function(t){console.log("%c -=-=- ","background-color:#6699cc;"),t.forEach((t=>{console.groupCollapsed(t.text());let e=t.docs[0].map((t=>{let e=t.text||"-";return t.implicit&&(e="["+t.implicit+"]"),{text:e,tags:"["+Array.from(t.tags).join(", ")+"]"}}));console.table(e,["text","tags"]),console.groupEnd()}))};const zn="";var Nn={green:t=>""+t+zn,red:t=>""+t+zn,blue:t=>""+t+zn,magenta:t=>""+t+zn,cyan:t=>""+t+zn,yellow:t=>""+t+zn,black:t=>""+t+zn,dim:t=>""+t+zn,i:t=>""+t+zn},Ln=function(t){let{docs:e,model:n}=t;0===e.length&&console.log(Nn.blue("\n ──────")),e.forEach((e=>{console.log(Nn.blue("\n ┌─────────")),e.forEach((e=>{let r=[...e.tags||[]],o=e.text||"-";e.sense&&(o=`{${e.normal}/${e.sense}}`),e.implicit&&(o="["+e.implicit+"]"),o=Nn.yellow(o);let i="'"+o+"'";if(e.reference){let n=t.update([e.reference]).text("normal");i+=` - ${Nn.dim(Nn.i("["+n+"]"))}`}i=i.padEnd(18);let s=Nn.blue(" │ ")+Nn.i(i)+" - "+function(t,e){return e.one.tagSet&&(t=t.map((t=>{if(!e.one.tagSet.hasOwnProperty(t))return t;const n=e.one.tagSet[t].color||"blue";return Nn[n](t)}))),t.join(", ")}(r,n);console.log(s)}))}))},Vn=function(t){let{docs:e}=t;console.log(""),e.forEach((t=>{let e=[];t.forEach((t=>{"Noun"===t.chunk?e.push(Nn.blue(t.implicit||t.normal)):"Verb"===t.chunk?e.push(Nn.green(t.implicit||t.normal)):"Adjective"===t.chunk?e.push(Nn.yellow(t.implicit||t.normal)):"Pivot"===t.chunk?e.push(Nn.red(t.implicit||t.normal)):e.push(t.implicit||t.normal)})),console.log(e.join(" "),"\n")}))},qn=function(t){if(!t.found)return;let e={};t.fullPointer.forEach((t=>{e[t[0]]=e[t[0]]||[],e[t[0]].push(t)})),Object.keys(e).forEach((n=>{let r=t.update([[Number(n)]]).text();t.update(e[n]).json({offset:!0}).forEach(((t,e)=>{r=function(t,e,n){let r=((t,e,n)=>{let r=9*n,o=e.start+r,i=o+e.length;return[t.substring(0,o),t.substring(o,i),t.substring(i,t.length)]})(t,e,n);return`${r[0]}${Nn.blue(r[1])}${r[2]}`}(r,t.offset,e)})),console.log(r)}))},Fn=function(t={}){let e=this;if("string"==typeof t){let e={};e[t]=!0,t=e}return"undefined"!=typeof window&&window.document?(Cn(e),e):(!1!==t.tags&&(Ln(e),console.log("\n")),!0===t.chunks&&(Vn(e),console.log("\n")),!0===t.highlight&&(qn(e),console.log("\n")),e)};const Gn=function(t){let e=t.pre||"",n=t.post||"";return e+t.text+n};var Dn=function(t,e){let n=function(t,e){let n={};return Object.keys(e).forEach((r=>{t.match(r).fullPointer.forEach((t=>{n[t[3]]={fn:e[r],end:t[2]}}))})),n}(t,e),r="";return t.docs.forEach(((e,o)=>{for(let i=0;it.reduce(((t,e)=>t+e.pre+e.text+e.post),"").trim()));return t.filter((t=>t))}if("freq"===t||"frequency"===t||"topk"===t)return function(t){let e={};t.forEach((t=>{e[t]=e[t]||0,e[t]+=1}));let n=Object.keys(e).map((t=>({normal:t,count:e[t]})));return n.sort(((t,e)=>t.count>e.count?-1:0))}(this.json({normal:!0}).map((t=>t.normal)));if("terms"===t){let t=[];return this.docs.forEach((e=>{let n=e.map((t=>t.text));n=n.filter((t=>t)),t=t.concat(n)})),t}return"tags"===t?this.docs.map((t=>t.reduce(((t,e)=>(t[e.implicit||e.normal]=Array.from(e.tags),t)),{}))):"debug"===t?this.debug():this.text()},wrap:function(t){return Dn(this,t)}};var Un=Bn,Mn={text:function(t){let e={};var n;if(t&&"string"==typeof t&&jn.hasOwnProperty(t)?e=Object.assign({},jn[t]):t&&(n=t,"[object Object]"===Object.prototype.toString.call(n))&&(e=Object.assign({},t)),void 0!==e.keepSpace||this.isFull()||(e.keepSpace=!1),void 0===e.keepEndPunct&&this.pointer){let t=this.pointer[0];t&&t[1]?e.keepEndPunct=!1:e.keepEndPunct=!0}return void 0===e.keepPunct&&(e.keepPunct=!0),void 0===e.keepSpace&&(e.keepSpace=!0),function(t,e){let n="";if(!t||!t[0]||!t[0][0])return n;for(let r=0;ro||o<=n&&i>n},Hn=function(t){let e={};return t.forEach((t=>{e[t[0]]=e[t[0]]||[],e[t[0]].push(t)})),e};var Zn=function(t,e){let n=Hn(e),r=[];return t.forEach((t=>{let[e]=t,o=n[e]||[];if(o=o.filter((e=>function(t,e){return t[1]<=e[1]&&e[2]<=t[2]}(t,e))),0===o.length)return void r.push({passthrough:t});o=o.sort(((t,e)=>t[1]-e[1]));let i=t;o.forEach(((t,e)=>{let n=function(t,e){let[n,r]=t,o=e[1],i=e[2],s={};if(ri&&(s.after=[n,i,t[2]]),s}(i,t);o[e+1]?(r.push({before:n.before,match:n.match}),n.after&&(i=n.after)):r.push(n)}))})),r},Kn=function(t,e){let n=[];return t.forEach(((r,o)=>{if(!r)return;let[i,s,l,a,c]=r,u=e[i]||[];if(void 0===s&&(s=0),void 0===l&&(l=u.length),!a||u[s]&&u[s].id===a)u=u.slice(s,l);else{let n=function(t,e,n){for(let r=0;r<20;r+=1){if(e[n-r]){let o=e[n-r].findIndex((e=>e.id===t));if(-1!==o)return[n-r,o]}if(e[n+r]){let o=e[n+r].findIndex((e=>e.id===t));if(-1!==o)return[n+r,o]}}return null}(a,e,i);if(null!==n){let r=l-s;u=e[n[0]].slice(n[1],n[1]+r);let i=u[0]?u[0].id:null;t[o]=[n[0],n[1],n[1]+r,i]}}0!==u.length&&s!==l&&(c&&u[u.length-1].id!==c&&(u=function(t,e){let[n,r,,,o]=t,i=e[n],s=i.findIndex((t=>t.id===o));return-1===s?(t[2]=e[n].length,t[4]=i.length?i[i.length-1].id:null):t[2]=s,e[n].slice(r,t[2]+1)}(r,e)),n.push(u))})),n=n.filter((t=>t.length>0)),n},Jn={one:{termList:function(t){let e=[];for(let n=0;n{let[e]=t;if(1===r[e].length)return void o.push(t);let n=r[e].filter((e=>Qn(t,e)));n.push(t);let i=function(t){let e=t[0][1],n=t[0][2];return t.forEach((t=>{t[1]n&&(n=t[2])})),[t[0][0],e,n]}(n);o.push(i)})),o=function(t){let e={};for(let n=0;n{t.passthrough&&n.push(t.passthrough),t.before&&n.push(t.before),t.after&&n.push(t.after)})),n},tr=function(t,e){let n=Hn(e),r=[];return t.forEach((t=>{let e=n[t[0]]||[];e=e.filter((e=>Qn(t,e))),0!==e.length&&e.forEach((e=>{let n=function(t,e){let n=t[1]e[2]?e[2]:t[2];return n{return"string"==typeof t||(n=t,"[object Array]"===Object.prototype.toString.call(n))?e.match(t):t||e.none();var n},nr=function(t,e){return t.map((t=>{let[n,r]=t;return e[n]&&e[n][r]&&(t[3]=e[n][r].id),t}))},rr={union:function(t){t=er(t,this);let e=Xn(this.fullPointer,t.fullPointer);return e=nr(e,this.document),this.toView(e)}};rr.and=rr.union,rr.intersection=function(t){t=er(t,this);let e=tr(this.fullPointer,t.fullPointer);return e=nr(e,this.document),this.toView(e)},rr.not=function(t){t=er(t,this);let e=Yn(this.fullPointer,t.fullPointer);return e=nr(e,this.document),this.toView(e)},rr.difference=rr.not,rr.complement=function(){let t=this.all(),e=Yn(t.fullPointer,this.fullPointer);return e=nr(e,this.document),this.toView(e)},rr.settle=function(){let t=this.fullPointer;return t.forEach((e=>{t=Xn(t,[e])})),t=nr(t,this.document),this.update(t)};var or=function(t){Object.assign(t.prototype,rr)},ir={methods:Jn,api:or},sr=function(t){t.prototype.sweep=function(t,e={}){const{world:n,docs:r}=this,{methods:o}=n;let i=o.one.bulkMatch(r,t,this.methods,e);!1!==e.tagger&&o.one.bulkTagger(i,r,this.world),i=i.map((t=>{let e=t.pointer,n=r[e[0]][e[1]],o=e[2]-e[1];return n.index&&(t.pointer=[n.index[0],n.index[1],e[1]+o]),t}));let s=i.map((t=>t.pointer));return i=i.map((t=>(t.view=this.update([t.pointer]),delete t.regs,delete t.needs,delete t.pointer,delete t._expanded,t))),{view:this.update(s),found:i}}};const lr=function(t){return!0===t.optional||!0===t.negative?null:t.tag?"#"+t.tag:t.word?t.word:t.switch?`%${t.switch}%`:null};var ar=function(t,e){const n=e.methods.one.parseMatch;return t.forEach((t=>{t.regs=n(t.match,{},e),"string"==typeof t.ifNo&&(t.ifNo=[t.ifNo]),t.notIf&&(t.notIf=n(t.notIf,{},e)),t.needs=function(t){let e=[];return t.forEach((t=>{e.push(lr(t)),"and"===t.operator&&t.choices&&t.choices.forEach((t=>{t.forEach((t=>{e.push(lr(t))}))}))})),e.filter((t=>t))}(t.regs);let{wants:r,count:o}=function(t){let e=[],n=0;return t.forEach((t=>{"or"!==t.operator||t.optional||t.negative||(t.fastOr&&Array.from(t.fastOr).forEach((t=>{e.push(t)})),t.choices&&t.choices.forEach((t=>{t.forEach((t=>{let n=lr(t);n&&e.push(n)}))})),n+=1)})),{wants:e,count:n}}(t.regs);t.wants=r,t.minWant=o,t.minWords=t.regs.filter((t=>!t.optional)).length})),t},cr=function(t,e){t=ar(t,e);let n={};t.forEach((t=>{t.needs.forEach((e=>{n[e]=n[e]||[],n[e].push(t)})),t.wants.forEach((e=>{n[e]=n[e]||[],n[e].push(t)}))})),Object.keys(n).forEach((t=>{let e={};n[t]=n[t].filter((t=>!e[t.match]&&(e[t.match]=!0,!0)))}));let r=t.filter((t=>0===t.needs.length&&0===t.wants.length));return{hooks:n,always:r}},ur=function(t,e){return t.map(((n,r)=>{let o=[];Object.keys(e).forEach((n=>{t[r].has(n)&&(o=o.concat(e[n]))}));let i={};return o=o.filter((t=>!i[t.match]&&(i[t.match]=!0,!0))),o}))},hr=function(t,e){return t.map(((t,n)=>{let r=e[n];return t=(t=(t=t.filter((t=>t.needs.every((t=>r.has(t)))))).filter((t=>void 0===t.ifNo||!0!==t.ifNo.some((t=>r.has(t)))))).filter((t=>0===t.wants.length||t.wants.filter((t=>r.has(t))).length>=t.minWant))}))},fr=function(t,e,n,r,o){let i=[];for(let n=0;n0&&(a.ptrs.forEach((t=>{t[0]=n;let e=Object.assign({},l,{pointer:t});void 0!==l.unTag&&(e.unTag=l.unTag),i.push(e)})),!0===o.matchOne))return[i[0]]}return i},pr=function(t,e,n,r={}){let o=n.one.cacheDoc(t),i=ur(o,e.hooks);return i=hr(i,o),e.always.length>0&&(i=i.map((t=>t.concat(e.always)))),i=function(t,e){return t.map(((t,n)=>{let r=e[n].length;return t=t.filter((t=>r>=t.minWords)),t}))}(i,t),fr(i,t,o,n,r)},dr=function(t,e,n){let r=n.one.tagSet;if(!r.hasOwnProperty(e))return!0;let o=r[e].not||[];for(let e=0;e{if(!t.tag&&!t.chunk&&!t.unTag)return;let o=t.reason||t.match,c=i([t.pointer],e)[0];if(!0===t.safe){if(!1===dr(c,t.tag,r))return;if("-"===c[c.length-1].post)return}if(void 0!==t.tag&&(s(c,t.tag,n,t.safe,`[post] '${o}'`),"Noun"===t.tag&&a)){let e=c[c.length-1];a(e.text)?s([e],"Plural",n,t.safe,"quick-plural"):s([e],"Singular",n,t.safe,"quick-singular")}void 0!==t.unTag&&l(c,t.unTag,n,t.safe,o),t.chunk&&c.forEach((e=>e.chunk=t.chunk))})))},gr={lib:{buildNet:function(t){let e=this.methods().one.buildNet(t,this.world());return e.isNet=!0,e}},api:sr,methods:{one:{buildNet:cr,bulkMatch:pr,bulkTagger:mr}}};const wr=/ /,br=function(t,e){"Noun"===e&&(t.chunk=e),"Verb"===e&&(t.chunk=e)},yr=function(t,e,n,r){if(!0===t.tags.has(e))return null;if("."===e)return null;let o=n[e];if(o){if(o.not&&o.not.length>0)for(let e=0;e0)for(let e=0;e{let r=t.map((t=>t.text||"["+t.implicit+"]")).join(" ");var o;"string"!=typeof e&&e.length>2&&(e=e.slice(0,2).join(", #")+" +"),e="string"!=typeof e?e.join(", #"):e,console.log(` ${(o=r,""+o+"").padEnd(24)} → #${e.padEnd(22)} ${(t=>""+t+"")(n)}`)})(t,e,o),1!=(l=e,"[object Array]"===Object.prototype.toString.call(l)))if("string"==typeof e)if(e=e.trim(),wr.test(e))!function(t,e,n,r){let o=e.split(wr);t.forEach(((t,e)=>{let i=o[e];i&&(i=i.replace(/^#/,""),yr(t,i,n,r))}))}(t,e,i,r);else{e=e.replace(/^#/,"");for(let n=0;nvr(t,e,n,r)))};var xr=vr,jr=function(t,e,n){e=e.trim().replace(/^#/,"");for(let r=0;r0)for(let t=0;t/),n=[];e.forEach((t=>{n=n.concat(function(t){if(!(t=t.trim()))return null;if(/^\[/.test(t)&&/\]$/.test(t)){let e=(t=(t=t.replace(/^\[/,"")).replace(/\]$/,"")).split(/,/);return e=e.map((t=>t.trim())).filter((t=>t)),e=e.map((t=>Er({id:t}))),e}return[Er({id:t})]}(t))})),n=n.filter((t=>t));let r=n[0];for(let t=1;t{let n=[],r=[t];for(;r.length>0;){let t=r.pop();n.push(t),t.children&&t.children.forEach((n=>{e&&e(t,n),r.push(n)}))}return n},_r=t=>"[object Array]"===Object.prototype.toString.call(t),Sr=t=>(t=t||"").trim(),Ar=function(t=[]){return"string"==typeof t?function(t){let e=t.split(/\r?\n/),n=[];e.forEach((t=>{if(!t.trim()||Or.test(t))return;let e=(t=>{const e=/^( {2}|\t)/;let n=0;for(;e.test(t);)t=t.replace(e,""),n+=1;return n})(t);n.push({indent:e,node:kr(t)})}));let r=function(t){let e={children:[]};return t.forEach(((n,r)=>{0===n.indent?e.children=e.children.concat(n.node):t[r-1]&&function(t,e){let n=t[e].indent;for(;e>=0;e-=1)if(t[e].indent{e[t.id]=t}));let n=Er({});return t.forEach((t=>{if((t=Er(t)).parent)if(e.hasOwnProperty(t.parent)){let n=e[t.parent];delete t.parent,n.children.push(t)}else console.warn(`[Grad] - missing node '${t.parent}'`);else n.children.push(t)})),n}(t):(Pr(e=t).forEach(Er),e);var e},Tr=function(t,e){let n="-> ";e&&(n=(t=>""+t+"")("→ "));let r="";return Pr(t).forEach(((t,o)=>{let i=t.id||"";if(e&&(i=(t=>""+t+"")(i)),0===o&&!t.id)return;let s=t._cache.parents.length;r+=" ".repeat(s)+n+i+"\n"})),r},$r=function(t){let e=Pr(t);e.forEach((t=>{delete(t=Object.assign({},t)).children}));let n=e[0];return n&&!n.id&&0===Object.keys(n.props).length&&e.shift(),e},Cr={text:Tr,txt:Tr,array:$r,flat:$r},zr=function(t,e){return"nested"===e||"json"===e?t:"debug"===e?(console.log(Tr(t,!0)),null):Cr.hasOwnProperty(e)?Cr[e](t):t},Nr=t=>{Pr(t,((t,e)=>{t.id&&(t._cache.parents=t._cache.parents||[],e._cache.parents=t._cache.parents.concat([t.id]))}))},Lr=/\//;class g{constructor(t={}){Object.defineProperty(this,"json",{enumerable:!1,value:t,writable:!0})}get children(){return this.json.children}get id(){return this.json.id}get found(){return this.json.id||this.json.children.length>0}props(t={}){let e=this.json.props||{};return"string"==typeof t&&(e[t]=!0),this.json.props=Object.assign(e,t),this}get(t){if(t=Sr(t),!Lr.test(t)){let e=this.json.children.find((e=>e.id===t));return new g(e)}let e=((t,e)=>{let n=(t=>"string"!=typeof t?t:(t=t.replace(/^\//,"")).split(/\//))(e=e||"");for(let e=0;et.id===n[e]));if(!r)return null;t=r}return t})(this.json,t)||Er({});return new g(e)}add(t,e={}){if(_r(t))return t.forEach((t=>this.add(Sr(t),e))),this;t=Sr(t);let n=Er({id:t,props:e});return this.json.children.push(n),new g(n)}remove(t){return t=Sr(t),this.json.children=this.json.children.filter((e=>e.id!==t)),this}nodes(){return Pr(this.json).map((t=>(delete(t=Object.assign({},t)).children,t)))}cache(){return(t=>{let e=Pr(t,((t,e)=>{t.id&&(t._cache.parents=t._cache.parents||[],t._cache.children=t._cache.children||[],e._cache.parents=t._cache.parents.concat([t.id]))})),n={};e.forEach((t=>{t.id&&(n[t.id]=t)})),e.forEach((t=>{t._cache.parents.forEach((e=>{n.hasOwnProperty(e)&&n[e]._cache.children.push(t.id)}))})),t._cache.children=Object.keys(n)})(this.json),this}list(){return Pr(this.json)}fillDown(){var t;return t=this.json,Pr(t,((t,e)=>{e.props=((t,e)=>(Object.keys(e).forEach((n=>{if(e[n]instanceof Set){let r=t[n]||new Set;t[n]=new Set([...r,...e[n]])}else if((t=>t&&"object"==typeof t&&!Array.isArray(t))(e[n])){let r=t[n]||{};t[n]=Object.assign({},e[n],r)}else _r(e[n])?t[n]=e[n].concat(t[n]||[]):void 0===t[n]&&(t[n]=e[n])})),t))(e.props,t.props)})),this}depth(){Nr(this.json);let t=Pr(this.json),e=t.length>1?1:0;return t.forEach((t=>{if(0===t._cache.parents.length)return;let n=t._cache.parents.length+1;n>e&&(e=n)})),e}out(t){return Nr(this.json),zr(this.json,t)}debug(){return Nr(this.json),zr(this.json,"debug"),this}}const Vr=function(t){let e=Ar(t);return new g(e)};Vr.prototype.plugin=function(t){t(this)};var qr={Noun:"blue",Verb:"green",Negative:"green",Date:"red",Value:"red",Adjective:"magenta",Preposition:"cyan",Conjunction:"cyan",Determiner:"cyan",Hyphenated:"cyan",Adverb:"cyan"};const Fr=function(t){if(qr.hasOwnProperty(t.id))return qr[t.id];if(qr.hasOwnProperty(t.is))return qr[t.is];let e=t._cache.parents.find((t=>qr[t]));return qr[e]};var Gr=function(t){const e={};return t.forEach((t=>{let{not:n,also:r,is:o,novel:i}=t.props,s=t._cache.parents;r&&(s=s.concat(r)),e[t.id]={is:o,not:n,novel:i,also:r,parents:s,children:t._cache.children,color:Fr(t)}})),Object.keys(e).forEach((t=>{let n=new Set(e[t].not);e[t].not.forEach((t=>{e[t]&&e[t].children.forEach((t=>n.add(t)))})),e[t].not=Array.from(n)})),e};const Dr=function(t){return t?"string"==typeof t?[t]:t:[]};var Br=function(t,e){return t=function(t,e){return Object.keys(t).forEach((n=>{t[n].isA&&(t[n].is=t[n].isA),t[n].notA&&(t[n].not=t[n].notA),t[n].is&&"string"==typeof t[n].is&&(e.hasOwnProperty(t[n].is)||t.hasOwnProperty(t[n].is)||(t[t[n].is]={})),t[n].not&&"string"==typeof t[n].not&&!t.hasOwnProperty(t[n].not)&&(e.hasOwnProperty(t[n].not)||t.hasOwnProperty(t[n].not)||(t[t[n].not]={}))})),t}(t,e),Object.keys(t).forEach((e=>{t[e].children=Dr(t[e].children),t[e].not=Dr(t[e].not)})),Object.keys(t).forEach((e=>{(t[e].not||[]).forEach((n=>{t[n]&&t[n].not&&t[n].not.push(e)}))})),t},Ur=function(t,e){Object.keys(e).length>0&&(t=function(t){return Object.keys(t).forEach((e=>{t[e]=Object.assign({},t[e]),t[e].novel=!0})),t}(t)),t=Br(t,e);const n=function(t){const e=Object.keys(t).map((e=>{let n=t[e];const r={not:new Set(n.not),also:n.also,is:n.is,novel:n.novel};return{id:e,parent:n.is,props:r,children:[]}}));return Vr(e).cache().fillDown().out("array")}(Object.assign({},e,t));return Gr(n)},Mr={one:{setTag:xr,unTag:jr,addTags:Ur}};const Wr=function(t){return"[object Array]"===Object.prototype.toString.call(t)},Ir={tag:function(t,e="",n){if(!this.found||!t)return this;let r=this.termList();if(0===r.length)return this;const{methods:o,verbose:i,world:s}=this;return!0===i&&console.log(" + ",t,e||""),Wr(t)?t.forEach((t=>o.one.setTag(r,t,s,n,e))):o.one.setTag(r,t,s,n,e),this.uncache(),this},tagSafe:function(t,e=""){return this.tag(t,e,!0)},unTag:function(t,e){if(!this.found||!t)return this;let n=this.termList();if(0===n.length)return this;const{methods:r,verbose:o,model:i}=this;!0===o&&console.log(" - ",t,e||"");let s=i.one.tagSet;return Wr(t)?t.forEach((t=>r.one.unTag(n,t,s))):r.one.unTag(n,t,s),this.uncache(),this},canBe:function(t){t=t.replace(/^#/,"");let e=this.model.one.tagSet;if(!e.hasOwnProperty(t))return this;let n=e[t].not||[],r=[];this.document.forEach(((t,e)=>{t.forEach(((t,o)=>{n.find((e=>t.tags.has(e)))&&r.push([e,o,o+1])}))}));let o=this.update(r);return this.difference(o)}};var Rr=Ir,Qr=function(t){Object.assign(t.prototype,Rr)},Hr={addTags:function(t){const{model:e,methods:n}=this.world(),r=e.one.tagSet;let o=(0,n.one.addTags)(t,r);return e.one.tagSet=o,this}};const Zr=new Set(["Auxiliary","Possessive"]);var Kr=function(t){const{document:e,world:n}=t,r=n.model.one.tagSet;e.forEach((t=>{t.forEach((t=>{let e=Array.from(t.tags);t.tagRank=function(t,e){return t=t.sort(((t,n)=>{if(Zr.has(t)||!e.hasOwnProperty(n))return 1;if(Zr.has(n)||!e.hasOwnProperty(t))return-1;let r=e[t].children||[],o=r.length;return r=e[n].children||[],o-r.length})),t}(e,r)}))}))},Jr={model:{one:{tagSet:{}}},compute:{tagRank:Kr},methods:Mr,api:Qr,lib:Hr};const Xr=/([.!?\u203D\u2E18\u203C\u2047-\u2049\u3002]+\s)/g,Yr=/^[.!?\u203D\u2E18\u203C\u2047-\u2049\u3002]+\s$/,to=/((?:\r?\n|\r)+)/;var eo=function(t){let e=[],n=t.split(to);for(let t=0;t0&&(o.push(i),t[e]="")}return o};const so={'"':'"',""":""","“":"”","‟":"”","„":"”","⹂":"”","‚":"’","«":"»","‹":"›","‵":"′","‶":"″","‷":"‴","〝":"〞","〟":"〞"},lo=RegExp("["+Object.keys(so).join("")+"]","g"),ao=RegExp("["+Object.values(so).join("")+"]","g"),co=function(t){if(!t)return!1;let e=t.match(ao);return null!==e&&1===e.length};var uo=function(t){let e=[];for(let n=0;n(t[e]=!0,t)),{});var _o=function(t,e){let n=[],r=[];if("number"==typeof(t=t||"")&&(t=String(t)),function(t){return"[object Array]"===Object.prototype.toString.call(t)}(t))return t;const o=t.split(ko);for(let t=0;t0?(n[n.length-1]+=i,n.push(e)):n.push(i+e),i=""):i+=e}return i&&(0===n.length&&(n[0]=""),n[n.length-1]+=i),n=jo(n),n=vo(n),n=n.filter((t=>t)),n};const So=/\p{Letter}/u,Ao=/[\p{Number}\p{Currency_Symbol}]/u,To=/^[a-z]\.([a-z]\.)+/i,$o=/[sn]['’]$/;var Co=function(t,e){let{prePunctuation:n,postPunctuation:r,emoticons:o}=e.one,i=t,s="",l="",a=Array.from(t);if(o.hasOwnProperty(t.trim()))return{str:t.trim(),pre:s,post:" "};let c=a.length;for(let t=0;t(l=t||"",""))),t=i,s=""),{str:t,pre:s,post:l}},zo=(t,e)=>{let{str:n,pre:r,post:o}=Co(t,e);return{text:n,pre:r,post:o,tags:new Set}},No=function(t,e){const n=e.model.one.unicode||{};let r=(t=t||"").split("");return r.forEach(((t,e)=>{n[t]&&(r[e]=n[t])})),r.join("")},Lo=function(t){let e=t=(t=(t=t||"").toLowerCase()).trim();return t=(t=(t=t.replace(/[,;.!?]+$/,"")).replace(/\u2026/g,"...")).replace(/\u2013/g,"-"),!1===/^[:;]/.test(t)&&(t=(t=(t=t.replace(/\.{3,}$/g,"")).replace(/[",.!:;?)]+$/g,"")).replace(/^['"(]+/g,"")),""===(t=(t=t.replace(/[\u200B-\u200D\uFEFF]/g,"")).trim())&&(t=e),t=t.replace(/([0-9]),([0-9])/g,"$1$2")};const Vo=/([A-Z]\.)+[A-Z]?,?$/,qo=/^[A-Z]\.,?$/,Fo=/[A-Z]{2,}('s|,)?$/,Go=/([a-z]\.)+[a-z]\.?$/;var Do=function(t){return function(t){return!0===Vo.test(t)||!0===Go.test(t)||!0===qo.test(t)||!0===Fo.test(t)}(t)&&(t=t.replace(/\./g,"")),t},Bo=function(t,e){const n=e.methods.one.killUnicode;let r=t.text||"";r=Lo(r),r=n(r,e),r=Do(r),t.normal=r},Uo=function(t,e){const{methods:n,model:r}=e,{splitSentences:o,splitTerms:i,splitWhitespace:s}=n.one.tokenize;return t=o(t=t||"",e).map((t=>{let n=i(t,r);return n=n.map((t=>s(t,r))),n.forEach((t=>{Bo(t,e)})),n})),t};const Mo=/[ .][A-Z]\.? *$/i,Wo=/(?:\u2026|\.{2,}) *$/,Io=/\p{L}/u,Ro=/\. *$/,Qo=/^[A-Z]\. $/;var Ho={one:{killUnicode:No,tokenize:{splitSentences:wo,isSentence:function(t,e){if(!1===Io.test(t))return!1;if(!0===Mo.test(t))return!1;if(3===t.length&&Qo.test(t))return!1;if(!0===Wo.test(t))return!1;let n=t.replace(/[.!?\u203D\u2E18\u203C\u2047-\u2049] *$/,"").split(" "),r=n[n.length-1].toLowerCase();return!0!==e.hasOwnProperty(r)||!0!==Ro.test(t)},splitTerms:_o,splitWhitespace:zo,fromString:Uo}}},Zo={"&":"and","@":"at","%":"percent",plz:"please",bein:"being"};let Ko={},Jo={};[[["approx","apt","bc","cyn","eg","esp","est","etc","ex","exp","prob","pron","gal","min","pseud","fig","jd","lat","lng","vol","fm","def","misc","plz","ea","ps","sec","pt","pref","pl","pp","qt","fr","sq","nee","ss","tel","temp","vet","ver","fem","masc","eng","adj","vb","rb","inf","situ","vivo","vitro","wr"]],[["dl","ml","gal","qt","pt","tbl","tsp","tbsp","km","dm","cm","mm","mi","td","hr","hrs","kg","hg","dg","cg","mg","µg","lb","oz","sq ft","hz","mps","mph","kmph","kb","mb","tb","lx","lm","fl oz","yb"],"Unit"],[["ad","al","arc","ba","bl","ca","cca","col","corp","ft","fy","ie","lit","ma","md","pd","tce"],"Noun"],[["adj","adm","adv","asst","atty","bldg","brig","capt","cmdr","comdr","cpl","det","dr","esq","gen","gov","hon","jr","llb","lt","maj","messrs","mlle","mme","mr","mrs","ms","mstr","phd","prof","pvt","rep","reps","res","rev","sen","sens","sfc","sgt","sir","sr","supt","surg"],"Honorific"],[["jan","feb","mar","apr","jun","jul","aug","sep","sept","oct","nov","dec"],"Month"],[["dept","univ","assn","bros","inc","ltd","co"],"Organization"],[["rd","st","dist","mt","ave","blvd","cl","cres","hwy","ariz","cal","calif","colo","conn","fla","fl","ga","ida","ia","kan","kans","minn","neb","nebr","okla","penna","penn","pa","dak","tenn","tex","ut","vt","va","wis","wisc","wy","wyo","usafa","alta","ont","que","sask"],"Place"]].forEach((t=>{t[0].forEach((e=>{Ko[e]=!0,Jo[e]="Abbreviation",void 0!==t[1]&&(Jo[e]=[Jo[e],t[1]])}))}));var Xo=["anti","bi","co","contra","de","extra","infra","inter","intra","macro","micro","mis","mono","multi","peri","pre","pro","proto","pseudo","re","sub","supra","trans","tri","un","out","ex"].reduce(((t,e)=>(t[e]=!0,t)),{});let Yo={"!":"¡","?":"¿Ɂ",'"':'“”"❝❞',"'":"‘‛❛❜’","-":"—–",a:"ªÀÁÂÃÄÅàáâãäåĀāĂ㥹ǍǎǞǟǠǡǺǻȀȁȂȃȦȧȺΆΑΔΛάαλАаѦѧӐӑӒӓƛæ",b:"ßþƀƁƂƃƄƅɃΒβϐϦБВЪЬвъьѢѣҌҍ",c:"¢©ÇçĆćĈĉĊċČčƆƇƈȻȼͻͼϲϹϽϾСсєҀҁҪҫ",d:"ÐĎďĐđƉƊȡƋƌ",e:"ÈÉÊËèéêëĒēĔĕĖėĘęĚěƐȄȅȆȇȨȩɆɇΈΕΞΣέεξϵЀЁЕеѐёҼҽҾҿӖӗễ",f:"ƑƒϜϝӺӻҒғſ",g:"ĜĝĞğĠġĢģƓǤǥǦǧǴǵ",h:"ĤĥĦħƕǶȞȟΉΗЂЊЋНнђћҢңҤҥҺһӉӊ",I:"ÌÍÎÏ",i:"ìíîïĨĩĪīĬĭĮįİıƖƗȈȉȊȋΊΐΪίιϊІЇіїi̇",j:"ĴĵǰȷɈɉϳЈј",k:"ĶķĸƘƙǨǩΚκЌЖКжкќҚқҜҝҞҟҠҡ",l:"ĹĺĻļĽľĿŀŁłƚƪǀǏǐȴȽΙӀӏ",m:"ΜϺϻМмӍӎ",n:"ÑñŃńŅņŇňʼnŊŋƝƞǸǹȠȵΝΠήηϞЍИЙЛПийлпѝҊҋӅӆӢӣӤӥπ",o:"ÒÓÔÕÖØðòóôõöøŌōŎŏŐőƟƠơǑǒǪǫǬǭǾǿȌȍȎȏȪȫȬȭȮȯȰȱΌΘΟθοσόϕϘϙϬϴОФоѲѳӦӧӨөӪӫ",p:"ƤΡρϷϸϼРрҎҏÞ",q:"Ɋɋ",r:"ŔŕŖŗŘřƦȐȑȒȓɌɍЃГЯгяѓҐґ",s:"ŚśŜŝŞşŠšƧƨȘșȿЅѕ",t:"ŢţŤťŦŧƫƬƭƮȚțȶȾΓΤτϮТт",u:"ÙÚÛÜùúûüŨũŪūŬŭŮůŰűŲųƯưƱƲǓǔǕǖǗǘǙǚǛǜȔȕȖȗɄΰυϋύ",v:"νѴѵѶѷ",w:"ŴŵƜωώϖϢϣШЩшщѡѿ",x:"×ΧχϗϰХхҲҳӼӽӾӿ",y:"ÝýÿŶŷŸƳƴȲȳɎɏΎΥΫγψϒϓϔЎУучўѰѱҮүҰұӮӯӰӱӲӳ",z:"ŹźŻżŽžƵƶȤȥɀΖ"},ti={};Object.keys(Yo).forEach((function(t){Yo[t].split("").forEach((function(e){ti[e]=t}))}));const ei=/\//,ni=/[a-z]\.[a-z]/i,ri=/[0-9]/;var oi=function(t,e){let n=t.normal||t.text||t.machine;const r=e.model.one.aliases;if(r.hasOwnProperty(n)&&(t.alias=t.alias||[],t.alias.push(r[n])),ei.test(n)&&!ni.test(n)&&!ri.test(n)){let e=n.split(ei);e.length<=2&&e.forEach((e=>{""!==(e=e.trim())&&(t.alias=t.alias||[],t.alias.push(e))}))}return t};const ii=/^\p{Letter}+-\p{Letter}+$/u;var si=function(t){let e=t.implicit||t.normal||t.text;e=e.replace(/['’]s$/,""),e=e.replace(/s['’]$/,"s"),e=e.replace(/([aeiou][ktrp])in'$/,"$1ing"),ii.test(e)&&(e=e.replace(/-/g,"")),e=e.replace(/^[#@]/,""),e!==t.normal&&(t.machine=e)},li=function(t){let e=t.docs,n={};for(let t=0;thi(t,oi),machine:t=>hi(t,si),normal:t=>hi(t,Bo),freq:li,offset:ai,index:ci,wordCount:ui},methods:Ho,model:{one:{aliases:Zo,abbreviations:Ko,prefixes:Xo,suffixes:{like:!0,ish:!0,less:!0,able:!0,elect:!0,type:!0,designate:!0},prePunctuation:{"#":!0,"@":!0,_:!0,"°":!0,"​":!0,"‌":!0,"‍":!0,"\ufeff":!0},postPunctuation:{"%":!0,_:!0,"°":!0,"​":!0,"‌":!0,"‍":!0,"\ufeff":!0},lexicon:Jo,unicode:ti,emoticons:{"<3":!0,"{let s=(t=t.toLowerCase().trim()).length;e.max&&s>e.max&&(s=e.max);for(let l=e.min;l{delete r[t]})),r};const wi={safe:!0,min:3};var bi={typeahead:function(t=[],e={}){let n=this.model();var r;e=Object.assign({},wi,e),r=t,"[object Object]"===Object.prototype.toString.call(r)&&(Object.assign(n.one.lexicon,t),t=Object.keys(t));let o=gi(t,e,this.world());return Object.keys(o).forEach((t=>{n.one.typeahead.hasOwnProperty(t)?delete n.one.typeahead[t]:n.one.typeahead[t]=o[t]})),this}},yi={model:{one:{typeahead:{}}},api:mi,lib:bi,compute:pi,hooks:["typeahead"]};return w.extend(tt),w.extend(Rn),w.extend(un),w.extend(ir),w.extend(Jr),w.plugin(At),w.extend(fi),w.plugin(x),w.extend(It),w.extend(yi),w.extend(qt),w.extend(gr),w},"object"==typeof exports&&"undefined"!=typeof module?module.exports=e():"function"==typeof define&&define.amd?define(e):(t="undefined"!=typeof globalThis?globalThis:t||self).nlp=e(); diff --git a/builds/one/compromise-one.mjs b/builds/one/compromise-one.mjs index 168c85bd6..963a03055 100644 --- a/builds/one/compromise-one.mjs +++ b/builds/one/compromise-one.mjs @@ -1 +1 @@ -var t={methods:{one:{},two:{},three:{},four:{}},model:{one:{},two:{},three:{}},compute:{},hooks:[]};const e={compute:function(t){const{world:e}=this,n=e.compute;return"string"==typeof t&&n.hasOwnProperty(t)?n[t](this):(t=>"[object Array]"===Object.prototype.toString.call(t))(t)?t.forEach((r=>{e.compute.hasOwnProperty(r)?n[r](this):console.warn("no compute:",t)})):"function"==typeof t?t(this):console.warn("no compute:",t),this}};var n=e;var r={forEach:function(t){return this.fullPointer.forEach(((e,n)=>{let r=this.update([e]);t(r,n)})),this},map:function(t,e){let n=this.fullPointer.map(((e,n)=>{let r=this.update([e]),o=t(r,n);return void 0===o?this.none():o}));if(0===n.length)return e||this.update([]);if(void 0!==n[0]){if("string"==typeof n[0])return n;if("object"==typeof n[0]&&(null===n[0]||!n[0].isView))return n}let r=[];return n.forEach((t=>{r=r.concat(t.fullPointer)})),this.toView(r)},filter:function(t){let e=this.fullPointer;return e=e.filter(((e,n)=>{let r=this.update([e]);return t(r,n)})),this.update(e)},find:function(t){let e=this.fullPointer.find(((e,n)=>{let r=this.update([e]);return t(r,n)}));return this.update([e])},some:function(t){return this.fullPointer.some(((e,n)=>{let r=this.update([e]);return t(r,n)}))},random:function(t=1){let e=this.fullPointer,n=Math.floor(Math.random()*e.length);return n+t>this.length&&(n=this.length-t,n=n<0?0:n),e=e.slice(n,n+t),this.update(e)}};const o={termList:function(){return this.methods.one.termList(this.docs)},terms:function(t){let e=this.match(".");return"number"==typeof t?e.eq(t):e},groups:function(t){if(t||0===t)return this.update(this._groups[t]||[]);let e={};return Object.keys(this._groups).forEach((t=>{e[t]=this.update(this._groups[t])})),e},eq:function(t){let e=this.pointer;return e||(e=this.docs.map(((t,e)=>[e]))),e[t]?this.update([e[t]]):this.none()},first:function(){return this.eq(0)},last:function(){let t=this.fullPointer.length-1;return this.eq(t)},firstTerms:function(){return this.match("^.")},lastTerms:function(){return this.match(".$")},slice:function(t,e){let n=this.pointer||this.docs.map(((t,e)=>[e]));return n=n.slice(t,e),this.update(n)},all:function(){return this.update().toView()},fullSentences:function(){let t=this.fullPointer.map((t=>[t[0]]));return this.update(t).toView()},none:function(){return this.update([])},isDoc:function(t){if(!t||!t.isView)return!1;let e=this.fullPointer,n=t.fullPointer;return!e.length!==n.length&&e.every(((t,e)=>!!n[e]&&(t[0]===n[e][0]&&t[1]===n[e][1]&&t[2]===n[e][2])))},wordCount:function(){return this.docs.reduce(((t,e)=>(t+=e.filter((t=>""!==t.text)).length,t)),0)},isFull:function(){let t=this.pointer;if(!t)return!0;if(0===t.length||0!==t[0][0])return!1;let e=0,n=0;return this.document.forEach((t=>e+=t.length)),this.docs.forEach((t=>n+=t.length)),e===n},getNth:function(t){return"number"==typeof t?this.eq(t):"string"==typeof t?this.if(t):this}};o.group=o.groups,o.fullSentence=o.fullSentences,o.sentence=o.fullSentences,o.lastTerm=o.lastTerms,o.firstTerm=o.firstTerms;var i=o;const s=Object.assign({},i,n,r);s.get=s.eq;var l=s;class View{constructor(e,n,r={}){[["document",e],["world",t],["_groups",r],["_cache",null],["viewType","View"]].forEach((t=>{Object.defineProperty(this,t[0],{value:t[1],writable:!0})})),this.ptrs=n}get docs(){let e=this.document;return this.ptrs&&(e=t.methods.one.getDoc(this.ptrs,this.document)),e}get pointer(){return this.ptrs}get methods(){return this.world.methods}get model(){return this.world.model}get hooks(){return this.world.hooks}get isView(){return!0}get found(){return this.docs.length>0}get length(){return this.docs.length}get fullPointer(){let{docs:t,ptrs:e,document:n}=this,r=e||t.map(((t,e)=>[e]));return r.map((t=>{let[e,r,o,i,s]=t;return r=r||0,o=o||(n[e]||[]).length,n[e]&&n[e][r]&&(i=i||n[e][r].id,n[e][o-1]&&(s=s||n[e][o-1].id)),[e,r,o,i,s]}))}update(t){let e=new View(this.document,t);if(this._cache&&t&&t.length>0){let n=[];t.forEach(((t,e)=>{let[r,o,i]=t;(1===t.length||0===o&&this.document[r].length===i)&&(n[e]=this._cache[r])})),n.length>0&&(e._cache=n)}return e.world=this.world,e}toView(t){return new View(this.document,t||this.pointer)}fromText(t){const{methods:e}=this;let n=e.one.tokenize.fromString(t,this.world),r=new View(n);return r.world=this.world,r.compute(["normal","lexicon"]),this.world.compute.preTagger&&r.compute("preTagger"),r}clone(){let t=this.document.slice(0);t=t.map((t=>t.map((t=>((t=Object.assign({},t)).tags=new Set(t.tags),t)))));let e=this.update(this.pointer);return e.document=t,e._cache=this._cache,e}}Object.assign(View.prototype,l);var a=View;const u=function(t){return t&&"object"==typeof t&&!Array.isArray(t)};function c(t,e){if(u(e))for(const n in e)u(e[n])?(t[n]||Object.assign(t,{[n]:{}}),c(t[n],e[n])):Object.assign(t,{[n]:e[n]});return t}var h=function(t,e,n,r){const{methods:o,model:i,compute:s,hooks:l}=e;t.methods&&function(t,e){for(const n in e)t[n]=t[n]||{},Object.assign(t[n],e[n])}(o,t.methods),t.model&&c(i,t.model),t.irregulars&&function(t,e){let n=t.two.models||{};Object.keys(e).forEach((t=>{e[t].pastTense&&(n.toPast&&(n.toPast.ex[t]=e[t].pastTense),n.fromPast&&(n.fromPast.ex[e[t].pastTense]=t)),e[t].presentTense&&(n.toPresent&&(n.toPresent.ex[t]=e[t].presentTense),n.fromPresent&&(n.fromPresent.ex[e[t].presentTense]=t)),e[t].gerund&&(n.toGerund&&(n.toGerund.ex[t]=e[t].gerund),n.fromGerund&&(n.fromGerund.ex[e[t].gerund]=t)),e[t].comparative&&(n.toComparative&&(n.toComparative.ex[t]=e[t].comparative),n.fromComparative&&(n.fromComparative.ex[e[t].comparative]=t)),e[t].superlative&&(n.toSuperlative&&(n.toSuperlative.ex[t]=e[t].superlative),n.fromSuperlative&&(n.fromSuperlative.ex[e[t].superlative]=t))}))}(i,t.irregulars),t.compute&&Object.assign(s,t.compute),l&&(e.hooks=l.concat(t.hooks||[])),t.api&&t.api(n),t.lib&&Object.keys(t.lib).forEach((e=>r[e]=t.lib[e])),t.tags&&r.addTags(t.tags),t.words&&r.addWords(t.words),t.mutate&&t.mutate(e)};const f=function(t){return"[object Array]"===Object.prototype.toString.call(t)};var p=function(t,e,n){const{methods:r}=n;let o=new e([]);if(o.world=n,"number"==typeof t&&(t=String(t)),!t)return o;if("string"==typeof t){return new e(r.one.tokenize.fromString(t,n))}if(i=t,"[object Object]"===Object.prototype.toString.call(i)&&t.isView)return new e(t.document,t.ptrs);var i;if(f(t)){if(f(t[0])){let n=t.map((t=>t.map((t=>({text:t,normal:t,pre:"",post:" ",tags:new Set})))));return new e(n)}let n=function(t){return t.map((t=>t.terms.map((t=>(f(t.tags)&&(t.tags=new Set(t.tags)),t)))))}(t);return new e(n)}return o};let d=Object.assign({},t);const m=function(t,e){e&&m.addWords(e);let n=p(t,a,d);return t&&n.compute(d.hooks),n};Object.defineProperty(m,"_world",{value:d,writable:!0}),m.tokenize=function(t,e){const{compute:n}=this._world;e&&m.addWords(e);let r=p(t,a,d);return n.contractions&&r.compute(["alias","normal","machine","contractions"]),r},m.plugin=function(t){return h(t,this._world,a,this),this},m.extend=m.plugin,m.world=function(){return this._world},m.model=function(){return this._world.model},m.methods=function(){return this._world.methods},m.hooks=function(){return this._world.hooks},m.verbose=function(t){const e="undefined"!=typeof process&&process.env?process.env:self.env||{};return e.DEBUG_TAGS="tagger"===t||!0===t||"",e.DEBUG_MATCH="match"===t||!0===t||"",e.DEBUG_CHUNKS="chunker"===t||!0===t||"",this},m.version="14.10.0";var w=m;var v=function(t){let e=t.map((t=>{let e=new Set;return t.forEach((t=>{""!==t.normal&&e.add(t.normal),t.switch&&e.add(`%${t.switch}%`),t.implicit&&e.add(t.implicit),t.machine&&e.add(t.machine),t.root&&e.add(t.root),t.alias&&t.alias.forEach((t=>e.add(t)));let n=Array.from(t.tags);for(let t=0;t/^\p{Lu}[\p{Ll}'’]/u.test(t)||/^\p{Lu}$/u.test(t),E=(t,e,n)=>{if(n.forEach((t=>t.dirty=!0)),t){let r=[e,0].concat(n);Array.prototype.splice.apply(t,r)}return t},O=function(t){let e=t[t.length-1];!e||/ $/.test(e.post)||/[-–—]/.test(e.post)||(e.post+=" ")},k=(t,e,n)=>{const r=/[-.?!,;:)–—'"]/g;let o=t[e-1];if(!o)return;let i=o.post;if(r.test(i)){let t=i.match(r).join(""),e=n[n.length-1];e.post=t+e.post,o.post=o.post.replace(r,"")}},P=function(t,e,n,r){let[o,i,s]=e;0===i||s===r[o].length?O(n):(O(n),O([t[e[1]]])),function(t,e,n){let r=t[e];if(0!==e||!j(r.text))return;n[0].text=n[0].text.replace(/^\p{Ll}/u,(t=>t.toUpperCase()));let o=t[e];o.tags.has("ProperNoun")||o.tags.has("Acronym")||j(o.text)&&o.text.length>1&&(o.text=(i=o.text,i.replace(/^\p{Lu}/u,(t=>t.toLowerCase()))));var i}(t,i,n),E(t,i,n)};let _=0;const S=t=>(t=t.length<3?"0"+t:t).length<3?"0"+t:t;var A=function(t){let[e,n]=t.index||[0,0];_+=1,_=_>46655?0:_,e=e>46655?0:e,n=n>1294?0:n;let r=S(_.toString(36));r+=S(e.toString(36));let o=n.toString(36);return o=o.length<2?"0"+o:o,r+=o,r+=parseInt(36*Math.random(),10).toString(36),t.normal+"|"+r.toUpperCase()};const T=function(t){if(t.has("@hasContraction")&&"function"==typeof t.contractions){t.grow("@hasContraction").contractions().expand()}},$=t=>"[object Array]"===Object.prototype.toString.call(t),C=function(t,e,n){const{document:r,world:o}=e;e.uncache();let i=e.fullPointer,s=e.fullPointer;e.forEach(((l,a)=>{let u=l.fullPointer[0],[c]=u,h=r[c],f=function(t,e){const{methods:n}=e;return"string"==typeof t?n.one.tokenize.fromString(t,e)[0]:"object"==typeof t&&t.isView?t.clone().docs[0]||[]:$(t)?$(t[0])?t[0]:t:[]}(t,o);0!==f.length&&(f=function(t){return t.map((t=>(t.id=A(t),t)))}(f),n?(T(e.update([u]).firstTerm()),P(h,u,f,r)):(T(e.update([u]).lastTerm()),function(t,e,n,r){let[o,,i]=e,s=(r[o]||[]).length;i{let n=e(t);t.replaceWith(n)})),t}(r,t);let o=r.docs[0],i=e.possessives&&o[o.length-1].tags.has("Possessive");t=function(t,e){if("string"!=typeof t)return t;let n=e.groups();return t=t.replace(L,(t=>{let e=t.replace(/\$/,"");return n.hasOwnProperty(e)?n[e].text():t})),t}(t,r);let s=this.update(n);n=n.map((t=>t.slice(0,3)));let l=(s.docs[0]||[]).map((t=>Array.from(t.tags)));if("string"==typeof t&&(t=this.fromText(t).compute("id")),r.insertAfter(t),s.has("@hasContraction")&&r.contractions){r.grow("@hasContraction+").contractions().expand()}if(r.delete(s),i){let t=r.docs[0],e=t[t.length-1];e.tags.has("Possessive")||(e.text+="'s",e.normal+="'s",e.tags.add("Possessive"))}let a=r.toView(n).compute(["index","lexicon"]);return a.world.compute.preTagger&&a.compute("preTagger"),e.tags&&a.terms().forEach(((t,e)=>{t.tagSafe(l[e])})),e.case&&a.docs[0]&&a.docs[0][0]&&0===a.docs[0][0].index[1]&&(a.docs[0][0].text=a.docs[0][0].text.replace(/\w\S*/g,(t=>t.charAt(0).toUpperCase()+t.substring(1).toLowerCase()))),a},V.replace=function(t,e,n){if(t&&!e)return this.replaceWith(t,n);let r=this.match(t);return r.found?(this.soften(),r.replaceWith(e,n)):this};var q=V;var F=function(t,e){e.forEach((e=>{let[n,r,o]=e,i=o-r;t[n]&&(o===t[n].length&&o>1&&function(t,e){let n=t.length-1,r=t[n],o=t[n-e];o&&r&&(o.post+=r.post,o.post=o.post.replace(/ +([.?!,;:])/,"$1"),o.post=o.post.replace(/[,;:]+([.?!])/,"$1"))}(t[n],i),t[n].splice(r,i))}));for(let e=t.length-1;e>=0;e-=1)if(0===t[e].length&&(t.splice(e,1),e===t.length&&t[e-1])){let n=t[e-1],r=n[n.length-1];r&&(r.post=r.post.trimEnd())}return t};const G={remove:function(t){const{indexN:e}=this.methods.one.pointer;this.uncache();let n=this.all(),r=this;t&&(n=this,r=this.match(t));let o=!n.ptrs;if(r.has("@hasContraction")&&r.contractions){r.grow("@hasContraction").contractions().expand()}let i=n.fullPointer,s=r.fullPointer.reverse(),l=F(this.document,s);return i=function(t,e){return t=t.map((t=>{let[n]=t;return e[n]?(e[n].forEach((e=>{let n=e[2]-e[1];t[1]<=e[1]&&t[2]>=e[2]&&(t[2]-=n)})),t):t})),t.forEach(((e,n)=>{if(0===e[1]&&0==e[2])for(let e=n+1;et[2]-t[1]>0))).map((t=>(t[3]=null,t[4]=null,t)))}(i,e(s)),n.ptrs=i,n.document=l,n.compute("index"),o&&(n.ptrs=void 0),t?n.toView(i):(this.ptrs=[],n.none())}};G.delete=G.remove;var D=G;const B={pre:function(t,e){return void 0===t&&this.found?this.docs[0][0].pre:(this.docs.forEach((n=>{let r=n[0];!0===e?r.pre+=t:r.pre=t})),this)},post:function(t,e){if(void 0===t){let t=this.docs[this.docs.length-1];return t[t.length-1].post}return this.docs.forEach((n=>{let r=n[n.length-1];!0===e?r.post+=t:r.post=t})),this},trim:function(){if(!this.found)return this;let t=this.docs,e=t[0][0];e.pre=e.pre.trimStart();let n=t[t.length-1],r=n[n.length-1];return r.post=r.post.trimEnd(),this},hyphenate:function(){return this.docs.forEach((t=>{t.forEach(((e,n)=>{0!==n&&(e.pre=""),t[n+1]&&(e.post="-")}))})),this},dehyphenate:function(){const t=/[-–—]/;return this.docs.forEach((e=>{e.forEach((e=>{t.test(e.post)&&(e.post=" ")}))})),this},toQuotations:function(t,e){return t=t||'"',e=e||'"',this.docs.forEach((n=>{n[0].pre=t+n[0].pre;let r=n[n.length-1];r.post=e+r.post})),this},toParentheses:function(t,e){return t=t||"(",e=e||")",this.docs.forEach((n=>{n[0].pre=t+n[0].pre;let r=n[n.length-1];r.post=e+r.post})),this}};B.deHyphenate=B.dehyphenate,B.toQuotation=B.toQuotations;var U=B;var M={alpha:(t,e)=>t.normale.normal?1:0,length:(t,e)=>{let n=t.normal.trim().length,r=e.normal.trim().length;return nr?-1:0},wordCount:(t,e)=>t.wordse.words?-1:0,sequential:(t,e)=>t[0]e[0]?-1:t[1]>e[1]?1:-1,byFreq:function(t){let e={};return t.forEach((t=>{e[t.normal]=e[t.normal]||0,e[t.normal]+=1})),t.sort(((t,n)=>{let r=e[t.normal],o=e[n.normal];return ro?-1:0})),t}};const W=new Set(["index","sequence","seq","sequential","chron","chronological"]),I=new Set(["freq","frequency","topk","repeats"]),R=new Set(["alpha","alphabetical"]);var Q={unique:function(){let t=new Set;return this.filter((e=>{let n=e.text("machine");return!t.has(n)&&(t.add(n),!0)}))},reverse:function(){let t=this.pointer||this.docs.map(((t,e)=>[e]));return t=[].concat(t),t=t.reverse(),this._cache&&(this._cache=this._cache.reverse()),this.update(t)},sort:function(t){let{docs:e,pointer:n}=this;if(this.uncache(),"function"==typeof t)return function(t,e){let n=t.fullPointer;return n=n.sort(((n,r)=>(n=t.update([n]),r=t.update([r]),e(n,r)))),t.ptrs=n,t}(this,t);t=t||"alpha";let r=n||e.map(((t,e)=>[e])),o=e.map(((t,e)=>({index:e,words:t.length,normal:t.map((t=>t.machine||t.normal||"")).join(" "),pointer:r[e]})));return W.has(t)&&(t="sequential"),R.has(t)&&(t="alpha"),I.has(t)?(o=M.byFreq(o),this.update(o.map((t=>t.pointer)))):"function"==typeof M[t]?(o=o.sort(M[t]),this.update(o.map((t=>t.pointer)))):this}};const H=function(t,e){if(t.length>0){let e=t[t.length-1],n=e[e.length-1];!1===/ /.test(n.post)&&(n.post+=" ")}return t=t.concat(e)};var Z={concat:function(t){if("string"==typeof t){let e=this.fromText(t);if(this.found&&this.ptrs){let t=this.fullPointer,n=t[t.length-1][0];this.document.splice(n,0,...e.document)}else this.document=this.document.concat(e.document);return this.all().compute("index")}if("object"==typeof t&&t.isView)return function(t,e){if(t.document===e.document){let n=t.fullPointer.concat(e.fullPointer);return t.toView(n).compute("index")}return e.fullPointer.forEach((e=>{e[0]+=t.document.length})),t.document=H(t.document,e.docs),t.all()}(this,t);if(e=t,"[object Array]"===Object.prototype.toString.call(e)){let e=H(this.document,t);return this.document=e,this.all()}var e;return this}};var K={harden:function(){return this.ptrs=this.fullPointer,this},soften:function(){let t=this.ptrs;return!t||t.length<1||(t=t.map((t=>t.slice(0,3))),this.ptrs=t),this}};const J=Object.assign({},{toLowerCase:function(){return this.termList().forEach((t=>{t.text=t.text.toLowerCase()})),this},toUpperCase:function(){return this.termList().forEach((t=>{t.text=t.text.toUpperCase()})),this},toTitleCase:function(){return this.termList().forEach((t=>{t.text=t.text.replace(/^ *[a-z\u00C0-\u00FF]/,(t=>t.toUpperCase()))})),this},toCamelCase:function(){return this.docs.forEach((t=>{t.forEach(((e,n)=>{0!==n&&(e.text=e.text.replace(/^ *[a-z\u00C0-\u00FF]/,(t=>t.toUpperCase()))),n!==t.length-1&&(e.post="")}))})),this}},N,q,D,U,Q,Z,K);var X=function(t){Object.assign(t.prototype,J)};const Y={id:function(t){let e=t.docs;for(let t=0;t(t.implicit=t.text,t.machine=t.text,t.pre="",t.post="",t.text="",t.normal="",t.index=[r,o+e],t))),n[0]&&(n[0].pre=t[r][o].pre,n[n.length-1].post=t[r][o].post,n[0].text=t[r][o].text,n[0].normal=t[r][o].normal),t[r].splice(o,1,...n))};const ot=/'/,it=new Set(["what","how","when","where","why"]),st=new Set(["be","go","start","think","need"]),lt=new Set(["been","gone"]);var at=function(t,e){let n=t[e].normal.split(ot)[0];if(it.has(n))return[n,"did"];if(t[e+1]){if(lt.has(t[e+1].normal))return[n,"had"];if(st.has(t[e+1].normal))return[n,"would"]}return null};var ut=function(t,e){if("ain't"===t[e].normal||"aint"===t[e].normal)return null;return[t[e].normal.replace(/n't/,""),"not"]};const ct=/'/;var ht=(t,e)=>["je",t[e].normal.split(ct)[1]],ft=(t,e)=>{let n=t[e].normal.split(ct)[1];return n&&n.endsWith("e")?["la",n]:["le",n]},pt=(t,e)=>{let n=t[e].normal.split(ct)[1];return n&&n.endsWith("e")?["du",n]:n&&n.endsWith("s")?["des",n]:["de",n]};const dt=/^([0-9.]{1,4}[a-z]{0,2}) ?[-–—] ?([0-9]{1,4}[a-z]{0,2})$/i,mt=/^([0-9]{1,2}(:[0-9][0-9])?(am|pm)?) ?[-–—] ?([0-9]{1,2}(:[0-9][0-9])?(am|pm)?)$/i,gt=/^[0-9]{3}-[0-9]{4}$/;var wt=function(t,e){let n=t[e],r=n.text.match(dt);return null!==r?!0===n.tags.has("PhoneNumber")||gt.test(n.text)?null:[r[1],"to",r[2]]:(r=n.text.match(mt),null!==r?[r[1],"to",r[4]]:null)};const vt=/^([+-]?[0-9][.,0-9]*)([a-z°²³µ/]+)$/;var bt=function(t,e,n){const r=n.model.one.numberSuffixes||{};let o=t[e].text.match(vt);if(null!==o){let t=o[2].toLowerCase().trim();return r.hasOwnProperty(t)?null:[o[1],t]}return null};const yt=/'/,xt=/^[0-9][^-–—]*[-–—].*?[0-9]/,jt=function(t,e,n,r){let o=e.update();o.document=[t];let i=n+r;n>0&&(n-=1),t[i]&&(i+=1),o.ptrs=[[0,n,i]]},Et={t:(t,e)=>ut(t,e),d:(t,e)=>at(t,e)},Ot={j:(t,e)=>ht(t,e),l:(t,e)=>ft(t,e),d:(t,e)=>pt(t,e)},kt=function(t,e,n,r){for(let o=0;o2)return i.out.concat(r)}return null},Pt=function(t,e){let n=e.fromText(t.join(" "));return n.compute(["id","alias"]),n.docs[0]},_t=function(t,e){for(let n=e+1;n<5&&t[n];n+=1)if("been"===t[n].normal)return["there","has"];return["there","is"]};var St=t=>{let{world:e,document:n}=t;const{model:r,methods:o}=e;let i=r.one.contractions||[];n.forEach(((r,s)=>{for(let l=r.length-1;l>=0;l-=1){let a=null,u=null;!0===yt.test(r[l].normal)&&([a,u]=r[l].normal.split(yt));let c=kt(i,r[l],a,u);!c&&Et.hasOwnProperty(u)&&(c=Et[u](r,l,e)),!c&&Ot.hasOwnProperty(a)&&(c=Ot[a](r,l)),"there"===a&&"s"===u&&(c=_t(r,l)),c?(c=Pt(c,t),rt(n,[s,l],c),jt(n[s],t,l,c.length)):xt.test(r[l].normal)?(c=wt(r,l),c&&(c=Pt(c,t),rt(n,[s,l],c),o.one.setTag(c,"NumberRange",e),c[2]&&c[2].tags.has("Time")&&o.one.setTag([c[0]],"Time",e,null,"time-range"),jt(n[s],t,l,c.length))):(c=bt(r,l,e),c&&(c=Pt(c,t),rt(n,[s,l],c),o.one.setTag([c[1]],"Unit",e,null,"contraction-unit")))}}))};var At={model:nt,compute:{contractions:St},hooks:["contractions"]};var Tt=function(t,e,n){const{model:r,methods:o}=n,i=o.one.setTag,s=r.one._multiCache||{},l=r.one.lexicon||{};let a=t[e],u=a.machine||a.normal;return void 0!==t[e+1]&&!0===s[u]?function(t,e,n,r,o){let i=e+4>t.length?t.length-e:4,s=t[e].machine||t[e].normal;for(let l=1;ls.hasOwnProperty(t)));if(t){return i([l],s[t],n,!1,"1-lexicon-alias"),!0}}if(!0===$t.test(a)){let t=a.replace($t,"");if(s.hasOwnProperty(t)&&t.length>3&&Ct.has(s[t]))return i([l],s[t],n,!1,"1-lexicon-prefix"),!0}return null};var Nt={lexicon:function(t){const e=t.world;t.docs.forEach((t=>{for(let n=0;n{let o=t[r],i=(r=(r=r.toLowerCase().trim()).replace(/'s\b/,"")).split(/ /);i.length>1&&(n[i[0]]=!0),e[r]=e[r]||o})),delete e[""],delete e.null,delete e[" "],{lex:e,_multi:n}};var Vt={addWords:function(t){const e=this.world(),{methods:n,model:r}=e;if(t)if(Object.keys(t).forEach((e=>{"string"==typeof t[e]&&t[e].startsWith("#")&&(t[e]=t[e].replace(/^#/,""))})),n.two.expandLexicon){let{lex:o,_multi:i}=n.two.expandLexicon(t,e);Object.assign(r.one.lexicon,o),Object.assign(r.one._multiCache,i)}else if(n.one.expandLexicon){let{lex:o,_multi:i}=n.one.expandLexicon(t,e);Object.assign(r.one.lexicon,o),Object.assign(r.one._multiCache,i)}else Object.assign(r.one.lexicon,t)}};var qt={model:{one:{lexicon:{},_multiCache:{}}},methods:{one:{expandLexicon:Lt}},compute:Nt,lib:Vt,hooks:["lexicon"]};var Ft=function(t,e){let n=[{}],r=[null],o=[0],i=[],s=0;t.forEach((function(t){let o=0,i=function(t,e){const{methods:n,model:r}=e;let o=n.one.tokenize.splitTerms(t,r).map((t=>n.one.tokenize.splitWhitespace(t,r)));return o.map((t=>t.text.toLowerCase()))}(t,e);for(let t=0;t0&&!n[s].hasOwnProperty(a);)s=o[s];if(n.hasOwnProperty(s)){let t=n[s][a];o[u]=t,r[t]&&(r[u]=r[u]||[],r[u]=r[u].concat(r[t]))}else o[u]=0}}return{goNext:n,endAs:r,failTo:o}};const Gt=function(t,e,n){let r=0,o=[];for(let i=0;i0&&(void 0===e.goNext[r]||!e.goNext[r].hasOwnProperty(s));)r=e.failTo[r]||0;if(e.goNext[r].hasOwnProperty(s)&&(r=e.goNext[r][s],e.endAs[r])){let n=e.endAs[r];for(let e=0;e0&&(r=r.concat(a))}return t.update(r)};const Ut=(t,e)=>{for(let n=t.length-1;n>=0;n-=1)if(t[n]!==e)return t=t.slice(0,n+1);return t};var Mt=function(t){return t.goNext=t.goNext.map((t=>{if(0!==Object.keys(t).length)return t})),t.goNext=Ut(t.goNext,void 0),t.failTo=Ut(t.failTo,0),t.endAs=Ut(t.endAs,null),t};const Wt={buildTrie:function(t){const e=Ft(t,this.world());return Mt(e)}};Wt.compile=Wt.buildTrie;var It={api:function(t){t.prototype.lookup=function(t,e={}){if(!t)return this.none();"string"==typeof t&&(t=[t]);let n=(r=t,"[object Object]"===Object.prototype.toString.call(r)?t:Ft(t,this.world));var r;let o=Bt(this,n,e);return o=o.settle(),o}},lib:Wt};const Rt=function(t,e){return e?(t.forEach((t=>{let n=t[0];e[n]&&(t[0]=e[n][0],t[1]+=e[n][1],t[2]+=e[n][1])})),t):t},Qt=function(t,e){let{ptrs:n,byGroup:r}=t;return n=Rt(n,e),Object.keys(r).forEach((t=>{r[t]=Rt(r[t],e)})),{ptrs:n,byGroup:r}},Ht=t=>"[object Object]"===Object.prototype.toString.call(t),Zt=t=>t&&Ht(t)&&!0===t.isView,Kt=t=>t&&Ht(t)&&!0===t.isNet,Jt=function(t,e,n){const r=n.methods.one;return"number"==typeof t&&(t=String(t)),"string"==typeof t&&(t=r.killUnicode(t,n),t=r.parseMatch(t,e,n)),t};var Xt={matchOne:function(t,e,n){const r=this.methods.one;if(Zt(t))return this.intersection(t).eq(0);if(Kt(t))return this.sweep(t,{tagger:!1,matchOne:!0}).view;let o={regs:t=Jt(t,n,this.world),group:e,justOne:!0},i=r.match(this.docs,o,this._cache),{ptrs:s,byGroup:l}=Qt(i,this.fullPointer),a=this.toView(s);return a._groups=l,a},match:function(t,e,n){const r=this.methods.one;if(Zt(t))return this.intersection(t);if(Kt(t))return this.sweep(t,{tagger:!1}).view.settle();let o={regs:t=Jt(t,n,this.world),group:e},i=r.match(this.docs,o,this._cache),{ptrs:s,byGroup:l}=Qt(i,this.fullPointer),a=this.toView(s);return a._groups=l,a},has:function(t,e,n){const r=this.methods.one;if(Zt(t)){return t.fullPointer.length>0}if(Kt(t))return this.sweep(t,{tagger:!1}).view.found;let o={regs:t=Jt(t,n,this.world),group:e,justOne:!0};return r.match(this.docs,o,this._cache).ptrs.length>0},if:function(t,e,n){const r=this.methods.one;if(Zt(t))return this.filter((e=>e.intersection(t).found));if(Kt(t)){let e=this.sweep(t,{tagger:!1}).view.settle();return this.if(e)}let o={regs:t=Jt(t,n,this.world),group:e,justOne:!0},i=this.fullPointer,s=this._cache||[];i=i.filter(((t,e)=>{let n=this.update([t]);return r.match(n.docs,o,s[e]).ptrs.length>0}));let l=this.update(i);return this._cache&&(l._cache=i.map((t=>s[t[0]]))),l},ifNo:function(t,e,n){const{methods:r}=this,o=r.one;if(Zt(t))return this.filter((e=>!e.intersection(t).found));if(Kt(t)){let e=this.sweep(t,{tagger:!1}).view.settle();return this.ifNo(e)}t=Jt(t,n,this.world);let i=this._cache||[],s=this.filter(((n,r)=>{let s={regs:t,group:e,justOne:!0};return 0===o.match(n.docs,s,i[r]).ptrs.length}));return this._cache&&(s._cache=s.ptrs.map((t=>i[t[0]]))),s}};var Yt={before:function(t,e,n){const{indexN:r}=this.methods.one.pointer;let o=[],i=r(this.fullPointer);Object.keys(i).forEach((t=>{let e=i[t].sort(((t,e)=>t[1]>e[1]?1:-1))[0];e[1]>0&&o.push([e[0],0,e[1]])}));let s=this.toView(o);return t?s.match(t,e,n):s},after:function(t,e,n){const{indexN:r}=this.methods.one.pointer;let o=[],i=r(this.fullPointer),s=this.document;Object.keys(i).forEach((t=>{let e=i[t].sort(((t,e)=>t[1]>e[1]?-1:1))[0],[n,,r]=e;r{let i=n.before(t,e);if(i.found){let t=i.terms();r[o][1]-=t.length,r[o][3]=t.docs[0][0].id}})),this.update(r)},growRight:function(t,e,n){"string"==typeof t&&(t=this.world.methods.one.parseMatch(t,n,this.world)),t[0].start=!0;let r=this.fullPointer;return this.forEach(((n,o)=>{let i=n.after(t,e);if(i.found){let t=i.terms();r[o][2]+=t.length,r[o][4]=null}})),this.update(r)},grow:function(t,e,n){return this.growRight(t,e,n).growLeft(t,e,n)}};const te=function(t,e){return[t[0],t[1],e[2]]},ee=(t,e,n)=>{return"string"==typeof t||(r=t,"[object Array]"===Object.prototype.toString.call(r))?e.match(t,n):t||e.none();var r},ne=function(t,e){let[n,r,o]=t;return e.document[n]&&e.document[n][r]&&(t[3]=t[3]||e.document[n][r].id,e.document[n][o-1]&&(t[4]=t[4]||e.document[n][o-1].id)),t},re={splitOn:function(t,e){const{splitAll:n}=this.methods.one.pointer;let r=ee(t,this,e).fullPointer,o=n(this.fullPointer,r),i=[];return o.forEach((t=>{i.push(t.passthrough),i.push(t.before),i.push(t.match),i.push(t.after)})),i=i.filter((t=>t)),i=i.map((t=>ne(t,this))),this.update(i)},splitBefore:function(t,e){const{splitAll:n}=this.methods.one.pointer;let r=ee(t,this,e).fullPointer,o=n(this.fullPointer,r);for(let t=0;t{i.push(t.passthrough),i.push(t.before),t.match&&t.after?i.push(te(t.match,t.after)):i.push(t.match)})),i=i.filter((t=>t)),i=i.map((t=>ne(t,this))),this.update(i)},splitAfter:function(t,e){const{splitAll:n}=this.methods.one.pointer;let r=ee(t,this,e).fullPointer,o=n(this.fullPointer,r),i=[];return o.forEach((t=>{i.push(t.passthrough),t.before&&t.match?i.push(te(t.before,t.match)):(i.push(t.before),i.push(t.match)),i.push(t.after)})),i=i.filter((t=>t)),i=i.map((t=>ne(t,this))),this.update(i)}};re.split=re.splitAfter;var oe=re;const ie=Object.assign({},Xt,Yt,oe);ie.lookBehind=ie.before,ie.lookBefore=ie.before,ie.lookAhead=ie.after,ie.lookAfter=ie.after,ie.notIf=ie.ifNo;var se=function(t){Object.assign(t.prototype,ie)};const le=/(?:^|\s)([![^]*(?:<[^<]*>)?\/.*?[^\\/]\/[?\]+*$~]*)(?:\s|$)/,ae=/([!~[^]*(?:<[^<]*>)?\([^)]+[^\\)]\)[?\]+*$~]*)(?:\s|$)/,ue=/ /g,ce=t=>/^[![^]*(<[^<]*>)?\//.test(t)&&/\/[?\]+*$~]*$/.test(t),he=function(t){return t=(t=t.map((t=>t.trim()))).filter((t=>t))};var fe=function(t){let e=t.split(le),n=[];e.forEach((t=>{ce(t)?n.push(t):n=n.concat(t.split(ae))})),n=he(n);let r=[];return n.forEach((t=>{(t=>/^[![^]*(<[^<]*>)?\(/.test(t)&&/\)[?\]+*$~]*$/.test(t))(t)||ce(t)?r.push(t):r=r.concat(t.split(ue))})),r=he(r),r};const pe=/\{([0-9]+)?(, *[0-9]*)?\}/,de=/&&/,me=new RegExp(/^<\s*(\S+)\s*>/),ge=t=>t.charAt(0).toUpperCase()+t.substring(1),we=t=>t.charAt(t.length-1),ve=t=>t.charAt(0),be=t=>t.substring(1),ye=t=>t.substring(0,t.length-1),xe=function(t){return t=be(t),t=ye(t)},je=function(t,e){let n={};for(let r=0;r<2;r+=1){if("$"===we(t)&&(n.end=!0,t=ye(t)),"^"===ve(t)&&(n.start=!0,t=be(t)),"?"===we(t)&&(n.optional=!0,t=ye(t)),("["===ve(t)||"]"===we(t))&&(n.group=null,"["===ve(t)&&(n.groupStart=!0),"]"===we(t)&&(n.groupEnd=!0),t=(t=t.replace(/^\[/,"")).replace(/\]$/,""),"<"===ve(t))){const e=me.exec(t);e.length>=2&&(n.group=e[1],t=t.replace(e[0],""))}if("+"===we(t)&&(n.greedy=!0,t=ye(t)),"*"!==t&&"*"===we(t)&&"\\*"!==t&&(n.greedy=!0,t=ye(t)),"!"===ve(t)&&(n.negative=!0,t=be(t)),"~"===ve(t)&&"~"===we(t)&&t.length>2&&(t=xe(t),n.fuzzy=!0,n.min=e.fuzzy||.85,!1===/\(/.test(t)))return n.word=t,n;if("/"===ve(t)&&"/"===we(t))return t=xe(t),e.caseSensitive&&(n.use="text"),n.regex=new RegExp(t),n;if(!0===pe.test(t)&&(t=t.replace(pe,((t,e,r)=>(void 0===r?(n.min=Number(e),n.max=Number(e)):(r=r.replace(/, */,""),void 0===e?(n.min=0,n.max=Number(r)):(n.min=Number(e),n.max=Number(r||999))),n.greedy=!0,n.min||(n.optional=!0),"")))),"("===ve(t)&&")"===we(t)){de.test(t)?(n.choices=t.split(de),n.operator="and"):(n.choices=t.split("|"),n.operator="or"),n.choices[0]=be(n.choices[0]);let r=n.choices.length-1;n.choices[r]=ye(n.choices[r]),n.choices=n.choices.map((t=>t.trim())),n.choices=n.choices.filter((t=>t)),n.choices=n.choices.map((t=>t.split(/ /g).map((t=>je(t,e))))),t=""}if("{"===ve(t)&&"}"===we(t)){if(t=xe(t),n.root=t,/\//.test(t)){let t=n.root.split(/\//);n.root=t[0],n.pos=t[1],"adj"===n.pos&&(n.pos="Adjective"),n.pos=n.pos.charAt(0).toUpperCase()+n.pos.substr(1).toLowerCase(),void 0!==t[2]&&(n.sense=t[2])}return n}if("<"===ve(t)&&">"===we(t))return t=xe(t),n.chunk=ge(t),n.greedy=!0,n;if("%"===ve(t)&&"%"===we(t))return t=xe(t),n.switch=t,n}return"#"===ve(t)?(n.tag=be(t),n.tag=ge(n.tag),n):"@"===ve(t)?(n.method=be(t),n):"."===t?(n.anything=!0,n):"*"===t?(n.anything=!0,n.greedy=!0,n.optional=!0,n):(t&&(t=(t=t.replace("\\*","*")).replace("\\.","."),e.caseSensitive?n.use="text":t=t.toLowerCase(),n.word=t),n)};var Ee=je;const Oe=/[a-z0-9][-–—][a-z]/i;var ke=function(t,e){let n=e.model.one.prefixes;for(let e=t.length-1;e>=0;e-=1){let r=t[e];if(r.word&&Oe.test(r.word)){let o=r.word.split(/[-–—]/g);if(n.hasOwnProperty(o[0]))continue;o=o.filter((t=>t)).reverse(),t.splice(e,1),o.forEach((n=>{let o=Object.assign({},r);o.word=n,t.splice(e,0,o)}))}}return t};const Pe=function(t,e){let{all:n}=e.methods.two.transform.verb||{},r=t.root;return n?n(r,e.model):[]},_e=function(t,e){let{all:n}=e.methods.two.transform.noun||{};return n?n(t.root,e.model):[t.root]},Se=function(t,e){let{all:n}=e.methods.two.transform.adjective||{};return n?n(t.root,e.model):[t.root]};var Ae=function(t,e){return t=t.map((t=>{if(t.root)if(e.methods.two&&e.methods.two.transform){let n=[];t.pos?"Verb"===t.pos?n=n.concat(Pe(t,e)):"Noun"===t.pos?n=n.concat(_e(t,e)):"Adjective"===t.pos&&(n=n.concat(Se(t,e))):(n=n.concat(Pe(t,e)),n=n.concat(_e(t,e)),n=n.concat(Se(t,e))),n=n.filter((t=>t)),n.length>0&&(t.operator="or",t.fastOr=new Set(n))}else t.machine=t.root,delete t.id,delete t.root;return t}))};var Te=function(t){return t=function(t){let e=0,n=null;for(let r=0;r(t.fuzzy&&t.choices&&t.choices.forEach((e=>{1===e.length&&e[0].word&&(e[0].fuzzy=!0,e[0].min=t.min)})),t)))}(t=t.map((t=>{if(void 0!==t.choices){if("or"!==t.operator)return t;if(!0===t.fuzzy)return t;!0===t.choices.every((t=>{if(1!==t.length)return!1;let e=t[0];return!0!==e.fuzzy&&!e.start&&!e.end&&void 0!==e.word&&!0!==e.negative&&!0!==e.optional&&!0!==e.method}))&&(t.fastOr=new Set,t.choices.forEach((e=>{t.fastOr.add(e[0].word)})),delete t.choices)}return t}))),t};var $e=function(t,e,n){if(null==t||""===t)return[];e=e||{},"number"==typeof t&&(t=String(t));let r=fe(t);return r=r.map((t=>Ee(t,e))),r=ke(r,n),r=Ae(r,n),r=Te(r),r};const Ce=function(t,e){for(let n of e)if(t.has(n))return!0;return!1};var ze=function(t,e){for(let n=0;nn?r:n)+1;if(Math.abs(n-r)>(o||100))return o||100;let i,s,l,a,u,c,h=[];for(let t=0;t4)return n;l=e[i-1],a=s===l?0:1,u=h[o-1][i]+1,(c=h[o][i-1]+1)1&&i>1&&s===e[i-2]&&t[o-2]===l&&(c=h[o-2][i-2]+a)-1!==t.post.indexOf(e),De=(t,e)=>-1!==t.pre.indexOf(e),Be={hasQuote:t=>Le.test(t.pre)||Ve.test(t.post),hasComma:t=>Ge(t,","),hasPeriod:t=>!0===Ge(t,".")&&!1===Ge(t,"..."),hasExclamation:t=>Ge(t,"!"),hasQuestionMark:t=>Ge(t,"?")||Ge(t,"¿"),hasEllipses:t=>Ge(t,"..")||Ge(t,"…")||De(t,"..")||De(t,"…"),hasSemicolon:t=>Ge(t,";"),hasColon:t=>Ge(t,":"),hasSlash:t=>/\//.test(t.text),hasHyphen:t=>qe.test(t.post)||qe.test(t.pre),hasDash:t=>Fe.test(t.post)||Fe.test(t.pre),hasContraction:t=>Boolean(t.implicit),isAcronym:t=>t.tags.has("Acronym"),isKnown:t=>t.tags.size>0,isTitleCase:t=>/^\p{Lu}[a-z'\u00C0-\u00FF]/u.test(t.text),isUpperCase:t=>/^\p{Lu}+$/u.test(t.text)};Be.hasQuotation=Be.hasQuote;var Ue=Be;let Me=function(){};Me=function(t,e,n,r){let o=function(t,e,n,r){if(!0===e.anything)return!0;if(!0===e.start&&0!==n)return!1;if(!0===e.end&&n!==r-1)return!1;if(void 0!==e.id&&e.id===t.id)return!0;if(void 0!==e.word){if(e.use)return e.word===t[e.use];if(null!==t.machine&&t.machine===e.word)return!0;if(void 0!==t.alias&&t.alias.hasOwnProperty(e.word))return!0;if(!0===e.fuzzy){if(e.word===t.root)return!0;if(Ne(e.word,t.normal)>=e.min)return!0}return!(!t.alias||!t.alias.some((t=>t===e.word)))||e.word===t.text||e.word===t.normal}if(void 0!==e.tag)return!0===t.tags.has(e.tag);if(void 0!==e.method)return"function"==typeof Ue[e.method]&&!0===Ue[e.method](t);if(void 0!==e.pre)return t.pre&&t.pre.includes(e.pre);if(void 0!==e.post)return t.post&&t.post.includes(e.post);if(void 0!==e.regex){let n=t.normal;return e.use&&(n=t[e.use]),e.regex.test(n)}if(void 0!==e.chunk)return t.chunk===e.chunk;if(void 0!==e.switch)return t.switch===e.switch;if(void 0!==e.machine)return t.normal===e.machine||t.machine===e.machine||t.root===e.machine;if(void 0!==e.sense)return t.sense===e.sense;if(void 0!==e.fastOr){if(e.pos&&!t.tags.has(e.pos))return null;let n=t.root||t.implicit||t.machine||t.normal;return e.fastOr.has(n)||e.fastOr.has(t.text)}return void 0!==e.choices&&("and"===e.operator?e.choices.every((e=>Me(t,e,n,r))):e.choices.some((e=>Me(t,e,n,r))))}(t,e,n,r);return!0===e.negative?!o:o};var We=Me;const Ie=function(t,e){if(!0===t.end&&!0===t.greedy&&e.start_i+e.tn.max)return t.t=t.t+n.max,!0;if(!0===t.hasGroup){Re(t,t.t).length=r-t.t}return t.t=r,!0};const He=function(t,e=0){let n=t.regs[t.r],r=!1;for(let i=0;i{let o=0,i=t.t+r+e+o;if(void 0===t.terms[i])return!1;let s=We(t.terms[i],n,i+t.start_i,t.phrase_length);if(!0===s&&!0===n.greedy)for(let e=1;e{let r=n.every(((e,n)=>{let r=t.t+n;return void 0!==t.terms[r]&&We(t.terms[r],e,r,t.phrase_length)}));return!0===r&&n.length>e&&(e=n.length),r}))&&e}(t);if(r){if(!0===n.negative)return null;if(!0===t.hasGroup){Re(t,t.t).length+=r}if(!0===n.end){let e=t.phrase_length-1;if(t.t+t.start_i!==e)return null}return t.t+=r,!0}return!!n.optional||null};var Je=function(t,e,n){let r=0;for(let o=t.t;or)&&(t.t+=r,!0))};var Xe=function(t){const{regs:e}=t;let n=e[t.r],r=Object.assign({},n);if(r.negative=!1,We(t.terms[t.t],r,t.start_i+t.t,t.phrase_length))return!1;if(n.optional){let n=e[t.r+1];if(n){if(We(t.terms[t.t],n,t.start_i+t.t,t.phrase_length))t.r+=1;else if(n.optional&&e[t.r+2]){We(t.terms[t.t],e[t.r+2],t.start_i+t.t,t.phrase_length)&&(t.r+=2)}}}return n.greedy?Je(t,r,e[t.r+1]):(t.t+=1,!0)};var Ye=function(t){const{regs:e}=t;let n=e[t.r],r=t.terms[t.t],o=We(r,e[t.r+1],t.start_i+t.t,t.phrase_length);if(n.negative||o){let n=t.terms[t.t+1];n&&We(n,e[t.r+1],t.start_i+t.t,t.phrase_length)||(t.r+=1)}};var tn=function(t){const{regs:e,phrase_length:n}=t;let r=e[t.r];return t.t=function(t,e){let n=Object.assign({},t.regs[t.r],{start:!1,end:!1}),r=t.t;for(;t.tt.t?null:!0!==r.end||t.start_i+t.t===n||null};var en=function(t){let e=t.terms[t.t],n=t.regs[t.r];if(e.implicit&&t.terms[t.t+1]){if(!t.terms[t.t+1].implicit)return;n.word===e.normal&&(t.t+=1),"hasContraction"===n.method&&(t.t+=1)}};var nn=function(t){const{regs:e}=t;let n=e[t.r],r=t.terms[t.t],o=t.t;if(n.optional&&e[t.r+1]&&n.negative)return!0;if(n.optional&&e[t.r+1]&&Ye(t),r.implicit&&t.terms[t.t+1]&&en(t),t.t+=1,!0===n.end&&t.t!==t.terms.length&&!0!==n.greedy)return null;if(!0===n.greedy){if(!tn(t))return null}return!0===t.hasGroup&&function(t,e){let n=t.regs[t.r];const r=Re(t,e);t.t>1&&n.greedy?r.length+=t.t-e:r.length++}(t,o),!0};var rn=function(t,e,n,r){if(0===t.length||0===e.length)return null;let o={t:0,terms:t,r:0,regs:e,groups:{},start_i:n,phrase_length:r,inGroup:null};for(;o.r!t.optional)))break;return null}if(!0!==t.anything||!0!==t.greedy)if(void 0===t.choices||"or"!==t.operator)if(void 0===t.choices||"and"!==t.operator)if(!0!==t.anything)if(!0!==Ie(t,o))if(t.negative){if(!Xe(o))return null}else if(!0!==We(o.terms[o.t],t,o.start_i+o.t,o.phrase_length)){if(!0!==t.optional)return null}else{if(!nn(o))return null}else{if(!nn(o))return null}else{if(t.negative&&t.anything)return null;if(!nn(o))return null}else{if(!Ke(o))return null}else{if(!Ze(o))return null}else{if(!Qe(o))return null}}let i=[null,n,o.t+n];if(i[1]===i[2])return null;let s={};return Object.keys(o.groups).forEach((t=>{let e=o.groups[t],r=n+e.start;s[t]=[null,r,r+e.length]})),{pointer:i,groups:s}};var on=function(t,e){let n=[],r={};return 0===t.length||("number"==typeof e&&(e=String(e)),e?t.forEach((t=>{t.groups[e]&&n.push(t.groups[e])})):t.forEach((t=>{n.push(t.pointer),Object.keys(t.groups).forEach((e=>{r[e]=r[e]||[],r[e].push(t.groups[e])}))}))),{ptrs:n,byGroup:r}};var sn=function(t,e,n){return t=t.filter((t=>{let[r,o,i]=t.pointer,s=n[r].slice(o,i);for(let t=0;t{t.groups[n][0]=e})),t},an=function(t,e,n){let r=rn(t,e,0,t.length);return r?(r=ln(r,n),r):null};var un=function(t,e,n){n=n||[];let{regs:r,group:o,justOne:i}=e,s=[];if(!r||0===r.length)return{ptrs:[],byGroup:{}};const l=r.filter((t=>!0!==t.optional&&!0!==t.negative)).length;t:for(let e=0;et&&(t=Math.abs(n-1))}}else{let t=an(o,r,e);t&&s.push(t)}}return!0===r[r.length-1].end&&(s=s.filter((e=>{let n=e.pointer[0];return t[n].length===e.pointer[2]}))),e.notIf&&(s=sn(s,e.notIf,t)),s=on(s,o),s.ptrs.forEach((e=>{let[n,r,o]=e;e[3]=t[n][r].id,e[4]=t[n][o-1].id})),s};var cn={api:se,methods:{one:{termMethods:Ue,parseMatch:$e,match:un}},lib:{parseMatch:function(t,e){const n=this.world();let r=n.methods.one.killUnicode;return r&&(t=r(t,n)),n.methods.one.parseMatch(t,e,n)}}};const hn=/^\../,fn=/^#./,pn=function(t,e){let n={},r={};return Object.keys(e).forEach((o=>{let i=e[o],s=function(t){let e="",n="";return t=t.replace(/&/g,"&").replace(//g,">").replace(/"/g,""").replace(/'/g,"'"),hn.test(t)?e=``),e+=">",{start:e,end:n}}(o);"string"==typeof i&&(i=t.match(i)),i.docs.forEach((t=>{if(t.every((t=>t.implicit)))return;let e=t[0].id;n[e]=n[e]||[],n[e].push(s.start);let o=t[t.length-1].id;r[o]=r[o]||[],r[o].push(s.end)}))})),{starts:n,ends:r}};var dn={html:function(t){let{starts:e,ends:n}=pn(this,t),r="";return this.docs.forEach((t=>{for(let o=0;o{let n=t.pre||"",o=t.post||"";"some"===e.punctuation&&(n=n.replace(gn,""),vn.test(o)&&(o=" "),o=o.replace(wn,""),o=o.replace(/\?!+/,"?"),o=o.replace(/!+/,"!"),o=o.replace(/\?+/,"?"),o=o.replace(/\.{2,}/,""),t.tags.has("Abbreviation")&&(o=o.replace(/\./,""))),"some"===e.whitespace&&(n=n.replace(/\s/,""),o=o.replace(/\s+/," ")),e.keepPunct||(n=n.replace(gn,""),o="-"===o?" ":o.replace(mn,""));let i=t[e.form||"text"]||t.normal||"";"implicit"===e.form&&(i=t.implicit||t.text),"root"===e.form&&t.implicit&&(i=t.root||t.implicit||t.normal),"machine"!==e.form&&"implicit"!==e.form&&"root"!==e.form||!t.implicit||o&&bn.test(o)||(o+=" "),r+=n+i+o})),!1===n&&(r=r.trim()),!0===e.lowerCase&&(r=r.toLowerCase()),r},xn={text:{form:"text"},normal:{whitespace:"some",punctuation:"some",case:"some",unicode:"some",form:"normal"},machine:{keepSpace:!1,whitespace:"some",punctuation:"some",case:"none",unicode:"some",form:"machine"},root:{keepSpace:!1,whitespace:"some",punctuation:"some",case:"some",unicode:"some",form:"root"},implicit:{form:"implicit"}};xn.clean=xn.normal,xn.reduced=xn.root;var jn=xn;let En=[],On=0;for(;On<64;)En[On]=0|4294967296*Math.sin(++On%Math.PI);function kn(t){let e,n,r,o=[e=1732584193,n=4023233417,~e,~n],i=[],s=decodeURI(encodeURI(t))+"€",l=s.length;for(t=--l/4+2|15,i[--t]=8*l;~l;)i[l>>2]|=s.charCodeAt(l)<<8*l--;for(On=s=0;On>4]+En[s]+~~i[On|15&[s,5*s+1,3*s+5,7*s][l]])<<(l=[7,12,17,22,5,9,14,20,4,11,16,23,6,10,15,21][4*l+s++%4])|r>>>-l),e,n])e=0|l[1],n=l[2];for(s=4;s;)o[--s]+=l[s]}for(t="";s<32;)t+=(o[s>>3]>>4*(1^s++)&15).toString(16);return t}const Pn={text:!0,terms:!0};let _n={case:"none",unicode:"some",form:"machine",punctuation:"some"};const Sn=function(t,e){return Object.assign({},t,e)},An={text:t=>yn(t,{keepPunct:!0},!1),normal:t=>yn(t,Sn(jn.normal,{keepPunct:!0}),!1),implicit:t=>yn(t,Sn(jn.implicit,{keepPunct:!0}),!1),machine:t=>yn(t,_n,!1),root:t=>yn(t,Sn(_n,{form:"root"}),!1),hash:t=>kn(yn(t,{keepPunct:!0},!1)),offset:t=>{let e=An.text(t).length;return{index:t[0].offset.index,start:t[0].offset.start,length:e}},terms:t=>t.map((t=>{let e=Object.assign({},t);return e.tags=Array.from(t.tags),e})),confidence:(t,e,n)=>e.eq(n).confidence(),syllables:(t,e,n)=>e.eq(n).syllables(),sentence:(t,e,n)=>e.eq(n).fullSentence().text(),dirty:t=>t.some((t=>!0===t.dirty))};An.sentences=An.sentence,An.clean=An.normal,An.reduced=An.root;const Tn={json:function(t){let e=(n=this,"string"==typeof(r=(r=t)||{})&&(r={}),(r=Object.assign({},Pn,r)).offset&&n.compute("offset"),n.docs.map(((t,e)=>{let o={};return Object.keys(r).forEach((i=>{r[i]&&An[i]&&(o[i]=An[i](t,n,e))})),o})));var n,r;return"number"==typeof t?e[t]:e}};Tn.data=Tn.json;var $n=Tn;var Cn=function(t){console.log("%c -=-=- ","background-color:#6699cc;"),t.forEach((t=>{console.groupCollapsed(t.text());let e=t.docs[0].map((t=>{let e=t.text||"-";return t.implicit&&(e="["+t.implicit+"]"),{text:e,tags:"["+Array.from(t.tags).join(", ")+"]"}}));console.table(e,["text","tags"]),console.groupEnd()}))};const zn="";var Nn={green:t=>""+t+zn,red:t=>""+t+zn,blue:t=>""+t+zn,magenta:t=>""+t+zn,cyan:t=>""+t+zn,yellow:t=>""+t+zn,black:t=>""+t+zn,dim:t=>""+t+zn,i:t=>""+t+zn};var Ln=function(t){let{docs:e,model:n}=t;0===e.length&&console.log(Nn.blue("\n ──────")),e.forEach((e=>{console.log(Nn.blue("\n ┌─────────")),e.forEach((e=>{let r=[...e.tags||[]],o=e.text||"-";e.sense&&(o=`{${e.normal}/${e.sense}}`),e.implicit&&(o="["+e.implicit+"]"),o=Nn.yellow(o);let i="'"+o+"'";if(e.reference){let n=t.update([e.reference]).text("normal");i+=` - ${Nn.dim(Nn.i("["+n+"]"))}`}i=i.padEnd(18);let s=Nn.blue(" │ ")+Nn.i(i)+" - "+function(t,e){return e.one.tagSet&&(t=t.map((t=>{if(!e.one.tagSet.hasOwnProperty(t))return t;const n=e.one.tagSet[t].color||"blue";return Nn[n](t)}))),t.join(", ")}(r,n);console.log(s)}))}))};var Vn=function(t){let{docs:e}=t;console.log(""),e.forEach((t=>{let e=[];t.forEach((t=>{"Noun"===t.chunk?e.push(Nn.blue(t.implicit||t.normal)):"Verb"===t.chunk?e.push(Nn.green(t.implicit||t.normal)):"Adjective"===t.chunk?e.push(Nn.yellow(t.implicit||t.normal)):"Pivot"===t.chunk?e.push(Nn.red(t.implicit||t.normal)):e.push(t.implicit||t.normal)})),console.log(e.join(" "),"\n")}))};var qn=function(t){if(!t.found)return;let e={};t.fullPointer.forEach((t=>{e[t[0]]=e[t[0]]||[],e[t[0]].push(t)})),Object.keys(e).forEach((n=>{let r=t.update([[Number(n)]]).text();t.update(e[n]).json({offset:!0}).forEach(((t,e)=>{r=function(t,e,n){let r=((t,e,n)=>{let r=9*n,o=e.start+r,i=o+e.length;return[t.substring(0,o),t.substring(o,i),t.substring(i,t.length)]})(t,e,n);return`${r[0]}${Nn.blue(r[1])}${r[2]}`}(r,t.offset,e)})),console.log(r)}))};var Fn=function(t={}){let e=this;if("string"==typeof t){let e={};e[t]=!0,t=e}return"undefined"!=typeof window&&window.document?(Cn(e),e):(!1!==t.tags&&(Ln(e),console.log("\n")),!0===t.chunks&&(Vn(e),console.log("\n")),!0===t.highlight&&(qn(e),console.log("\n")),e)};const Gn=function(t){let e=t.pre||"",n=t.post||"";return e+t.text+n};var Dn=function(t,e){let n=function(t,e){let n={};return Object.keys(e).forEach((r=>{t.match(r).fullPointer.forEach((t=>{n[t[3]]={fn:e[r],end:t[2]}}))})),n}(t,e),r="";return t.docs.forEach(((e,o)=>{for(let i=0;it.reduce(((t,e)=>t+e.pre+e.text+e.post),"").trim()));return t.filter((t=>t))}if("freq"===t||"frequency"===t||"topk"===t)return function(t){let e={};t.forEach((t=>{e[t]=e[t]||0,e[t]+=1}));let n=Object.keys(e).map((t=>({normal:t,count:e[t]})));return n.sort(((t,e)=>t.count>e.count?-1:0))}(this.json({normal:!0}).map((t=>t.normal)));if("terms"===t){let t=[];return this.docs.forEach((e=>{let n=e.terms.map((t=>t.text));n=n.filter((t=>t)),t=t.concat(n)})),t}return"tags"===t?this.docs.map((t=>t.reduce(((t,e)=>(t[e.implicit||e.normal]=Array.from(e.tags),t)),{}))):"debug"===t?this.debug():this.text()},wrap:function(t){return Dn(this,t)}};var Un=Bn;var Mn={text:function(t){let e={};var n;if(t&&"string"==typeof t&&jn.hasOwnProperty(t)?e=Object.assign({},jn[t]):t&&(n=t,"[object Object]"===Object.prototype.toString.call(n))&&(e=Object.assign({},t)),void 0!==e.keepSpace||this.isFull()||(e.keepSpace=!1),void 0===e.keepEndPunct&&this.pointer){let t=this.pointer[0];t&&t[1]?e.keepEndPunct=!1:e.keepEndPunct=!0}return void 0===e.keepPunct&&(e.keepPunct=!0),void 0===e.keepSpace&&(e.keepSpace=!0),function(t,e){let n="";if(!t||!t[0]||!t[0][0])return n;for(let r=0;ro||o<=n&&i>n},Hn=function(t){let e={};return t.forEach((t=>{e[t[0]]=e[t[0]]||[],e[t[0]].push(t)})),e};var Zn=function(t,e){let n=Hn(e),r=[];return t.forEach((t=>{let[e]=t,o=n[e]||[];if(o=o.filter((e=>function(t,e){return t[1]<=e[1]&&e[2]<=t[2]}(t,e))),0===o.length)return void r.push({passthrough:t});o=o.sort(((t,e)=>t[1]-e[1]));let i=t;o.forEach(((t,e)=>{let n=function(t,e){let[n,r]=t,o=e[1],i=e[2],s={};if(ri&&(s.after=[n,i,t[2]]),s}(i,t);o[e+1]?(r.push({before:n.before,match:n.match}),n.after&&(i=n.after)):r.push(n)}))})),r};var Kn=function(t,e){let n=[];return t.forEach(((r,o)=>{if(!r)return;let[i,s,l,a,u]=r,c=e[i]||[];if(void 0===s&&(s=0),void 0===l&&(l=c.length),!a||c[s]&&c[s].id===a)c=c.slice(s,l);else{let n=function(t,e,n){for(let r=0;r<20;r+=1){if(e[n-r]){let o=e[n-r].findIndex((e=>e.id===t));if(-1!==o)return[n-r,o]}if(e[n+r]){let o=e[n+r].findIndex((e=>e.id===t));if(-1!==o)return[n+r,o]}}return null}(a,e,i);if(null!==n){let r=l-s;c=e[n[0]].slice(n[1],n[1]+r);let i=c[0]?c[0].id:null;t[o]=[n[0],n[1],n[1]+r,i]}}0!==c.length&&s!==l&&(u&&c[c.length-1].id!==u&&(c=function(t,e){let[n,r,,,o]=t,i=e[n],s=i.findIndex((t=>t.id===o));return-1===s?(t[2]=e[n].length,t[4]=i.length?i[i.length-1].id:null):t[2]=s,e[n].slice(r,t[2]+1)}(r,e)),n.push(c))})),n=n.filter((t=>t.length>0)),n};var Jn={one:{termList:function(t){let e=[];for(let n=0;n{let[e]=t;if(1===r[e].length)return void o.push(t);let n=r[e].filter((e=>Qn(t,e)));n.push(t);let i=function(t){let e=t[0][1],n=t[0][2];return t.forEach((t=>{t[1]n&&(n=t[2])})),[t[0][0],e,n]}(n);o.push(i)})),o=function(t){let e={};for(let n=0;n{t.passthrough&&n.push(t.passthrough),t.before&&n.push(t.before),t.after&&n.push(t.after)})),n};var tr=function(t,e){let n=Hn(e),r=[];return t.forEach((t=>{let e=n[t[0]]||[];e=e.filter((e=>Qn(t,e))),0!==e.length&&e.forEach((e=>{let n=function(t,e){let n=t[1]e[2]?e[2]:t[2];return n{return"string"==typeof t||(n=t,"[object Array]"===Object.prototype.toString.call(n))?e.match(t):t||e.none();var n},nr=function(t,e){return t.map((t=>{let[n,r]=t;return e[n]&&e[n][r]&&(t[3]=e[n][r].id),t}))},rr={union:function(t){t=er(t,this);let e=Xn(this.fullPointer,t.fullPointer);return e=nr(e,this.document),this.toView(e)}};rr.and=rr.union,rr.intersection=function(t){t=er(t,this);let e=tr(this.fullPointer,t.fullPointer);return e=nr(e,this.document),this.toView(e)},rr.not=function(t){t=er(t,this);let e=Yn(this.fullPointer,t.fullPointer);return e=nr(e,this.document),this.toView(e)},rr.difference=rr.not,rr.complement=function(){let t=this.all(),e=Yn(t.fullPointer,this.fullPointer);return e=nr(e,this.document),this.toView(e)},rr.settle=function(){let t=this.fullPointer;return t.forEach((e=>{t=Xn(t,[e])})),t=nr(t,this.document),this.update(t)};var or=function(t){Object.assign(t.prototype,rr)},ir={methods:Jn,api:or};var sr=function(t){t.prototype.sweep=function(t,e={}){const{world:n,docs:r}=this,{methods:o}=n;let i=o.one.bulkMatch(r,t,this.methods,e);!1!==e.tagger&&o.one.bulkTagger(i,r,this.world),i=i.map((t=>{let e=t.pointer,n=r[e[0]][e[1]],o=e[2]-e[1];return n.index&&(t.pointer=[n.index[0],n.index[1],e[1]+o]),t}));let s=i.map((t=>t.pointer));return i=i.map((t=>(t.view=this.update([t.pointer]),delete t.regs,delete t.needs,delete t.pointer,delete t._expanded,t))),{view:this.update(s),found:i}}};const lr=function(t){return!0===t.optional||!0===t.negative?null:t.tag?"#"+t.tag:t.word?t.word:t.switch?`%${t.switch}%`:null};var ar=function(t,e){const n=e.methods.one.parseMatch;return t.forEach((t=>{t.regs=n(t.match,{},e),"string"==typeof t.ifNo&&(t.ifNo=[t.ifNo]),t.notIf&&(t.notIf=n(t.notIf,{},e)),t.needs=function(t){let e=[];return t.forEach((t=>{e.push(lr(t)),"and"===t.operator&&t.choices&&t.choices.forEach((t=>{t.forEach((t=>{e.push(lr(t))}))}))})),e.filter((t=>t))}(t.regs);let{wants:r,count:o}=function(t){let e=[],n=0;return t.forEach((t=>{"or"!==t.operator||t.optional||t.negative||(t.fastOr&&Array.from(t.fastOr).forEach((t=>{e.push(t)})),t.choices&&t.choices.forEach((t=>{t.forEach((t=>{let n=lr(t);n&&e.push(n)}))})),n+=1)})),{wants:e,count:n}}(t.regs);t.wants=r,t.minWant=o,t.minWords=t.regs.filter((t=>!t.optional)).length})),t};var ur=function(t,e){t=ar(t,e);let n={};t.forEach((t=>{t.needs.forEach((e=>{n[e]=n[e]||[],n[e].push(t)})),t.wants.forEach((e=>{n[e]=n[e]||[],n[e].push(t)}))})),Object.keys(n).forEach((t=>{let e={};n[t]=n[t].filter((t=>!e[t.match]&&(e[t.match]=!0,!0)))}));let r=t.filter((t=>0===t.needs.length&&0===t.wants.length));return{hooks:n,always:r}};var cr=function(t,e){return t.map(((n,r)=>{let o=[];Object.keys(e).forEach((n=>{t[r].has(n)&&(o=o.concat(e[n]))}));let i={};return o=o.filter((t=>!i[t.match]&&(i[t.match]=!0,!0))),o}))};var hr=function(t,e){return t.map(((t,n)=>{let r=e[n];return t=(t=(t=t.filter((t=>t.needs.every((t=>r.has(t)))))).filter((t=>void 0===t.ifNo||!0!==t.ifNo.some((t=>r.has(t)))))).filter((t=>{if(0===t.wants.length)return!0;return t.wants.filter((t=>r.has(t))).length>=t.minWant}))}))};var fr=function(t,e,n,r,o){let i=[];for(let n=0;n0&&(a.ptrs.forEach((t=>{t[0]=n;let e=Object.assign({},l,{pointer:t});void 0!==l.unTag&&(e.unTag=l.unTag),i.push(e)})),!0===o.matchOne))return[i[0]]}return i};var pr=function(t,e,n,r={}){let o=n.one.cacheDoc(t),i=cr(o,e.hooks);return i=hr(i,o),e.always.length>0&&(i=i.map((t=>t.concat(e.always)))),i=function(t,e){return t.map(((t,n)=>{let r=e[n].length;return t=t.filter((t=>r>=t.minWords)),t}))}(i,t),fr(i,t,o,n,r)};var dr=function(t,e,n){let r=n.one.tagSet;if(!r.hasOwnProperty(e))return!0;let o=r[e].not||[];for(let e=0;e{if(!t.tag&&!t.chunk&&!t.unTag)return;let o=t.reason||t.match,u=i([t.pointer],e)[0];if(!0===t.safe){if(!1===dr(u,t.tag,r))return;if("-"===u[u.length-1].post)return}if(void 0!==t.tag&&(s(u,t.tag,n,t.safe,`[post] '${o}'`),"Noun"===t.tag&&a)){let e=u[u.length-1];a(e.text)?s([e],"Plural",n,t.safe,"quick-plural"):s([e],"Singular",n,t.safe,"quick-singular")}void 0!==t.unTag&&l(u,t.unTag,n,t.safe,o),t.chunk&&u.forEach((e=>e.chunk=t.chunk))}))},gr={lib:{buildNet:function(t){let e=this.methods().one.buildNet(t,this.world());return e.isNet=!0,e}},api:sr,methods:{one:{buildNet:ur,bulkMatch:pr,bulkTagger:mr}}};const wr=/ /,vr=function(t,e){"Noun"===e&&(t.chunk=e),"Verb"===e&&(t.chunk=e)},br=function(t,e,n,r){if(!0===t.tags.has(e))return null;if("."===e)return null;let o=n[e];if(o){if(o.not&&o.not.length>0)for(let e=0;e0)for(let e=0;e{let r=t.map((t=>t.text||"["+t.implicit+"]")).join(" ");var o;"string"!=typeof e&&e.length>2&&(e=e.slice(0,2).join(", #")+" +"),e="string"!=typeof e?e.join(", #"):e,console.log(` ${(o=r,""+o+"").padEnd(24)} → #${e.padEnd(22)} ${(t=>""+t+"")(n)}`)})(t,e,o),!0!=(l=e,"[object Array]"===Object.prototype.toString.call(l)))if("string"==typeof e)if(e=e.trim(),wr.test(e))!function(t,e,n,r){let o=e.split(wr);t.forEach(((t,e)=>{let i=o[e];i&&(i=i.replace(/^#/,""),br(t,i,n,r))}))}(t,e,i,r);else{e=e.replace(/^#/,"");for(let n=0;nyr(t,e,n,r)))};var xr=yr;var jr=function(t,e,n){e=e.trim().replace(/^#/,"");for(let r=0;r0)for(let t=0;t/),n=[];e.forEach((t=>{n=n.concat(function(t){if(!(t=t.trim()))return null;if(/^\[/.test(t)&&/\]$/.test(t)){let e=(t=(t=t.replace(/^\[/,"")).replace(/\]$/,"")).split(/,/);return e=e.map((t=>t.trim())).filter((t=>t)),e=e.map((t=>Er({id:t}))),e}return[Er({id:t})]}(t))})),n=n.filter((t=>t));let r=n[0];for(let t=1;t{let n=[],r=[t];for(;r.length>0;){let t=r.pop();n.push(t),t.children&&t.children.forEach((n=>{e&&e(t,n),r.push(n)}))}return n},_r=t=>"[object Array]"===Object.prototype.toString.call(t),Sr=t=>(t=t||"").trim(),Ar=function(t=[]){return"string"==typeof t?function(t){let e=t.split(/\r?\n/),n=[];e.forEach((t=>{if(!t.trim()||Or.test(t))return;let e=(t=>{const e=/^( {2}|\t)/;let n=0;for(;e.test(t);)t=t.replace(e,""),n+=1;return n})(t);n.push({indent:e,node:kr(t)})}));let r=function(t){let e={children:[]};return t.forEach(((n,r)=>{0===n.indent?e.children=e.children.concat(n.node):t[r-1]&&function(t,e){let n=t[e].indent;for(;e>=0;e-=1)if(t[e].indent{e[t.id]=t}));let n=Er({});return t.forEach((t=>{if((t=Er(t)).parent)if(e.hasOwnProperty(t.parent)){let n=e[t.parent];delete t.parent,n.children.push(t)}else console.warn(`[Grad] - missing node '${t.parent}'`);else n.children.push(t)})),n}(t):(Pr(e=t).forEach(Er),e);var e},Tr=function(t,e){let n="-> ";e&&(n=(t=>""+t+"")("→ "));let r="";return Pr(t).forEach(((t,o)=>{let i=t.id||"";if(e&&(i=(t=>""+t+"")(i)),0===o&&!t.id)return;let s=t._cache.parents.length;r+=" ".repeat(s)+n+i+"\n"})),r},$r=function(t){let e=Pr(t);e.forEach((t=>{delete(t=Object.assign({},t)).children}));let n=e[0];return n&&!n.id&&0===Object.keys(n.props).length&&e.shift(),e},Cr={text:Tr,txt:Tr,array:$r,flat:$r},zr=function(t,e){return"nested"===e||"json"===e?t:"debug"===e?(console.log(Tr(t,!0)),null):Cr.hasOwnProperty(e)?Cr[e](t):t},Nr=t=>{Pr(t,((t,e)=>{t.id&&(t._cache.parents=t._cache.parents||[],e._cache.parents=t._cache.parents.concat([t.id]))}))},Lr=/\//;class g{constructor(t={}){Object.defineProperty(this,"json",{enumerable:!1,value:t,writable:!0})}get children(){return this.json.children}get id(){return this.json.id}get found(){return this.json.id||this.json.children.length>0}props(t={}){let e=this.json.props||{};return"string"==typeof t&&(e[t]=!0),this.json.props=Object.assign(e,t),this}get(t){if(t=Sr(t),!Lr.test(t)){let e=this.json.children.find((e=>e.id===t));return new g(e)}let e=((t,e)=>{let n=(t=>"string"!=typeof t?t:(t=t.replace(/^\//,"")).split(/\//))(e=e||"");for(let e=0;et.id===n[e]));if(!r)return null;t=r}return t})(this.json,t)||Er({});return new g(e)}add(t,e={}){if(_r(t))return t.forEach((t=>this.add(Sr(t),e))),this;t=Sr(t);let n=Er({id:t,props:e});return this.json.children.push(n),new g(n)}remove(t){return t=Sr(t),this.json.children=this.json.children.filter((e=>e.id!==t)),this}nodes(){return Pr(this.json).map((t=>(delete(t=Object.assign({},t)).children,t)))}cache(){return(t=>{let e=Pr(t,((t,e)=>{t.id&&(t._cache.parents=t._cache.parents||[],t._cache.children=t._cache.children||[],e._cache.parents=t._cache.parents.concat([t.id]))})),n={};e.forEach((t=>{t.id&&(n[t.id]=t)})),e.forEach((t=>{t._cache.parents.forEach((e=>{n.hasOwnProperty(e)&&n[e]._cache.children.push(t.id)}))})),t._cache.children=Object.keys(n)})(this.json),this}list(){return Pr(this.json)}fillDown(){var t;return t=this.json,Pr(t,((t,e)=>{e.props=((t,e)=>(Object.keys(e).forEach((n=>{if(e[n]instanceof Set){let r=t[n]||new Set;t[n]=new Set([...r,...e[n]])}else if((t=>t&&"object"==typeof t&&!Array.isArray(t))(e[n])){let r=t[n]||{};t[n]=Object.assign({},e[n],r)}else _r(e[n])?t[n]=e[n].concat(t[n]||[]):void 0===t[n]&&(t[n]=e[n])})),t))(e.props,t.props)})),this}depth(){Nr(this.json);let t=Pr(this.json),e=t.length>1?1:0;return t.forEach((t=>{if(0===t._cache.parents.length)return;let n=t._cache.parents.length+1;n>e&&(e=n)})),e}out(t){return Nr(this.json),zr(this.json,t)}debug(){return Nr(this.json),zr(this.json,"debug"),this}}const Vr=function(t){let e=Ar(t);return new g(e)};Vr.prototype.plugin=function(t){t(this)};var qr={Noun:"blue",Verb:"green",Negative:"green",Date:"red",Value:"red",Adjective:"magenta",Preposition:"cyan",Conjunction:"cyan",Determiner:"cyan",Hyphenated:"cyan",Adverb:"cyan"};const Fr=function(t){if(qr.hasOwnProperty(t.id))return qr[t.id];if(qr.hasOwnProperty(t.is))return qr[t.is];let e=t._cache.parents.find((t=>qr[t]));return qr[e]};var Gr=function(t){const e={};return t.forEach((t=>{let{not:n,also:r,is:o,novel:i}=t.props,s=t._cache.parents;r&&(s=s.concat(r)),e[t.id]={is:o,not:n,novel:i,also:r,parents:s,children:t._cache.children,color:Fr(t)}})),Object.keys(e).forEach((t=>{let n=new Set(e[t].not);e[t].not.forEach((t=>{e[t]&&e[t].children.forEach((t=>n.add(t)))})),e[t].not=Array.from(n)})),e};const Dr=function(t){return t?"string"==typeof t?[t]:t:[]};var Br=function(t,e){return t=function(t,e){return Object.keys(t).forEach((n=>{t[n].isA&&(t[n].is=t[n].isA),t[n].notA&&(t[n].not=t[n].notA),t[n].is&&"string"==typeof t[n].is&&(e.hasOwnProperty(t[n].is)||t.hasOwnProperty(t[n].is)||(t[t[n].is]={})),t[n].not&&"string"==typeof t[n].not&&!t.hasOwnProperty(t[n].not)&&(e.hasOwnProperty(t[n].not)||t.hasOwnProperty(t[n].not)||(t[t[n].not]={}))})),t}(t,e),Object.keys(t).forEach((e=>{t[e].children=Dr(t[e].children),t[e].not=Dr(t[e].not)})),Object.keys(t).forEach((e=>{(t[e].not||[]).forEach((n=>{t[n]&&t[n].not&&t[n].not.push(e)}))})),t};var Ur=function(t,e){Object.keys(e).length>0&&(t=function(t){return Object.keys(t).forEach((e=>{t[e]=Object.assign({},t[e]),t[e].novel=!0})),t}(t)),t=Br(t,e);const n=function(t){const e=Object.keys(t).map((e=>{let n=t[e];const r={not:new Set(n.not),also:n.also,is:n.is,novel:n.novel};return{id:e,parent:n.is,props:r,children:[]}}));return Vr(e).cache().fillDown().out("array")}(Object.assign({},e,t));return Gr(n)},Mr={one:{setTag:xr,unTag:jr,addTags:Ur}};const Wr=function(t){return"[object Array]"===Object.prototype.toString.call(t)},Ir={tag:function(t,e="",n){if(!this.found||!t)return this;let r=this.termList();if(0===r.length)return this;const{methods:o,verbose:i,world:s}=this;return!0===i&&console.log(" + ",t,e||""),Wr(t)?t.forEach((t=>o.one.setTag(r,t,s,n,e))):o.one.setTag(r,t,s,n,e),this.uncache(),this},tagSafe:function(t,e=""){return this.tag(t,e,!0)},unTag:function(t,e){if(!this.found||!t)return this;let n=this.termList();if(0===n.length)return this;const{methods:r,verbose:o,model:i}=this;!0===o&&console.log(" - ",t,e||"");let s=i.one.tagSet;return Wr(t)?t.forEach((t=>r.one.unTag(n,t,s))):r.one.unTag(n,t,s),this.uncache(),this},canBe:function(t){t=t.replace(/^#/,"");let e=this.model.one.tagSet;if(!e.hasOwnProperty(t))return this;let n=e[t].not||[],r=[];this.document.forEach(((t,e)=>{t.forEach(((t,o)=>{n.find((e=>t.tags.has(e)))&&r.push([e,o,o+1])}))}));let o=this.update(r);return this.difference(o)}};var Rr=Ir;var Qr=function(t){Object.assign(t.prototype,Rr)};var Hr={addTags:function(t){const{model:e,methods:n}=this.world(),r=e.one.tagSet;let o=(0,n.one.addTags)(t,r);return e.one.tagSet=o,this}};const Zr=new Set(["Auxiliary","Possessive"]);var Kr=function(t){const{document:e,world:n}=t,r=n.model.one.tagSet;e.forEach((t=>{t.forEach((t=>{let e=Array.from(t.tags);t.tagRank=function(t,e){return t=t.sort(((t,n)=>{if(Zr.has(t)||!e.hasOwnProperty(n))return 1;if(Zr.has(n)||!e.hasOwnProperty(t))return-1;let r=e[t].children||[],o=r.length;return r=e[n].children||[],o-r.length})),t}(e,r)}))}))},Jr={model:{one:{tagSet:{}}},compute:{tagRank:Kr},methods:Mr,api:Qr,lib:Hr};const Xr=/([.!?\u203D\u2E18\u203C\u2047-\u2049\u3002]+\s)/g,Yr=/^[.!?\u203D\u2E18\u203C\u2047-\u2049\u3002]+\s$/,to=/((?:\r?\n|\r)+)/;var eo=function(t){let e=[],n=t.split(to);for(let t=0;t0&&(o.push(i),t[e]="")}return o};const so={'"':'"',""":""","“":"”","‟":"”","„":"”","⹂":"”","‚":"’","«":"»","‹":"›","‵":"′","‶":"″","‷":"‴","〝":"〞","〟":"〞"},lo=RegExp("["+Object.keys(so).join("")+"]","g"),ao=RegExp("["+Object.values(so).join("")+"]","g"),uo=function(t){if(!t)return!1;let e=t.match(ao);return null!==e&&1===e.length};var co=function(t){let e=[];for(let n=0;n(t[e]=!0,t)),{});var _o=function(t,e){let n=[],r=[];if("number"==typeof(t=t||"")&&(t=String(t)),function(t){return"[object Array]"===Object.prototype.toString.call(t)}(t))return t;const o=t.split(ko);for(let t=0;t0?(n[n.length-1]+=i,n.push(e)):n.push(i+e),i=""):i+=e}return i&&(0===n.length&&(n[0]=""),n[n.length-1]+=i),n=jo(n),n=yo(n),n=n.filter((t=>t)),n};const So=/\p{Letter}/u,Ao=/[\p{Number}\p{Currency_Symbol}]/u,To=/^[a-z]\.([a-z]\.)+/i,$o=/[sn]['’]$/;var Co=function(t,e){let{prePunctuation:n,postPunctuation:r,emoticons:o}=e.one,i=t,s="",l="",a=Array.from(t);if(o.hasOwnProperty(t.trim()))return{str:t.trim(),pre:s,post:" "};let u=a.length;for(let t=0;t(l=t||"",""))),t=i,s=""),{str:t,pre:s,post:l}};var zo=(t,e)=>{let{str:n,pre:r,post:o}=Co(t,e);return{text:n,pre:r,post:o,tags:new Set}};var No=function(t,e){const n=e.model.one.unicode||{};let r=(t=t||"").split("");return r.forEach(((t,e)=>{n[t]&&(r[e]=n[t])})),r.join("")};var Lo=function(t){let e=t=(t=(t=t||"").toLowerCase()).trim();return t=(t=(t=t.replace(/[,;.!?]+$/,"")).replace(/\u2026/g,"...")).replace(/\u2013/g,"-"),!1===/^[:;]/.test(t)&&(t=(t=(t=t.replace(/\.{3,}$/g,"")).replace(/[",.!:;?)]+$/g,"")).replace(/^['"(]+/g,"")),""===(t=(t=t.replace(/[\u200B-\u200D\uFEFF]/g,"")).trim())&&(t=e),t=t.replace(/([0-9]),([0-9])/g,"$1$2")};const Vo=/([A-Z]\.)+[A-Z]?,?$/,qo=/^[A-Z]\.,?$/,Fo=/[A-Z]{2,}('s|,)?$/,Go=/([a-z]\.)+[a-z]\.?$/;var Do=function(t){return function(t){return!0===Vo.test(t)||!0===Go.test(t)||!0===qo.test(t)||!0===Fo.test(t)}(t)&&(t=t.replace(/\./g,"")),t};var Bo=function(t,e){const n=e.methods.one.killUnicode;let r=t.text||"";r=Lo(r),r=n(r,e),r=Do(r),t.normal=r};var Uo=function(t,e){const{methods:n,model:r}=e,{splitSentences:o,splitTerms:i,splitWhitespace:s}=n.one.tokenize;return t=o(t=t||"",e).map((t=>{let n=i(t,r);return n=n.map((t=>s(t,r))),n.forEach((t=>{Bo(t,e)})),n})),t};const Mo=/[ .][A-Z]\.? *$/i,Wo=/(?:\u2026|\.{2,}) *$/,Io=/\p{L}/u,Ro=/^[A-Z]\. $/;var Qo={one:{killUnicode:No,tokenize:{splitSentences:wo,isSentence:function(t,e){if(!1===Io.test(t))return!1;if(!0===Mo.test(t))return!1;if(3===t.length&&Ro.test(t))return!1;if(!0===Wo.test(t))return!1;let n=t.replace(/[.!?\u203D\u2E18\u203C\u2047-\u2049] *$/,"").split(" "),r=n[n.length-1].toLowerCase();return!0!==e.hasOwnProperty(r)},splitTerms:_o,splitWhitespace:zo,fromString:Uo}}};var Ho={"&":"and","@":"at","%":"percent",plz:"please",bein:"being"};let Zo={},Ko={};[[["approx","apt","bc","cyn","eg","esp","est","etc","ex","exp","prob","pron","gal","min","pseud","fig","jd","lat","lng","vol","fm","def","misc","plz","ea","ps","sec","pt","pref","pl","pp","qt","fr","sq","nee","ss","tel","temp","vet","ver","fem","masc","eng","adj","vb","rb","inf","situ","vivo","vitro","wr"]],[["dl","ml","gal","qt","pt","tbl","tsp","tbsp","km","dm","cm","mm","mi","td","hr","hrs","kg","hg","dg","cg","mg","µg","lb","oz","sq ft","hz","mps","mph","kmph","kb","mb","tb","lx","lm","fl oz","yb"],"Unit"],[["ad","al","arc","ba","bl","ca","cca","col","corp","ft","fy","ie","lit","ma","md","pd","tce"],"Noun"],[["adj","adm","adv","asst","atty","bldg","brig","capt","cmdr","comdr","cpl","det","dr","esq","gen","gov","hon","jr","llb","lt","maj","messrs","mlle","mme","mr","mrs","ms","mstr","phd","prof","pvt","rep","reps","res","rev","sen","sens","sfc","sgt","sir","sr","supt","surg"],"Honorific"],[["jan","feb","mar","apr","jun","jul","aug","sep","sept","oct","nov","dec"],"Month"],[["dept","univ","assn","bros","inc","ltd","co"],"Organization"],[["rd","st","dist","mt","ave","blvd","cl","cres","hwy","ariz","cal","calif","colo","conn","fla","fl","ga","ida","ia","kan","kans","minn","neb","nebr","okla","penna","penn","pa","dak","tenn","tex","ut","vt","va","wis","wisc","wy","wyo","usafa","alta","ont","que","sask"],"Place"]].forEach((t=>{t[0].forEach((e=>{Zo[e]=!0,Ko[e]="Abbreviation",void 0!==t[1]&&(Ko[e]=[Ko[e],t[1]])}))}));var Jo=["anti","bi","co","contra","de","extra","infra","inter","intra","macro","micro","mis","mono","multi","peri","pre","pro","proto","pseudo","re","sub","supra","trans","tri","un","out","ex"].reduce(((t,e)=>(t[e]=!0,t)),{});let Xo={"!":"¡","?":"¿Ɂ",'"':'“”"❝❞',"'":"‘‛❛❜’","-":"—–",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:"ŹźŻżŽžƵƶȤȥɀΖ"},Yo={};Object.keys(Xo).forEach((function(t){Xo[t].split("").forEach((function(e){Yo[e]=t}))}));const ti=/\//,ei=/[a-z]\.[a-z]/i,ni=/[0-9]/;var ri=function(t,e){let n=t.normal||t.text||t.machine;const r=e.model.one.aliases;if(r.hasOwnProperty(n)&&(t.alias=t.alias||[],t.alias.push(r[n])),ti.test(n)&&!ei.test(n)&&!ni.test(n)){let e=n.split(ti);e.length<=2&&e.forEach((e=>{""!==(e=e.trim())&&(t.alias=t.alias||[],t.alias.push(e))}))}return t};const oi=/^\p{Letter}+-\p{Letter}+$/u;var ii=function(t){let e=t.implicit||t.normal||t.text;e=e.replace(/['’]s$/,""),e=e.replace(/s['’]$/,"s"),e=e.replace(/([aeiou][ktrp])in'$/,"$1ing"),oi.test(e)&&(e=e.replace(/-/g,"")),e=e.replace(/^[#@]/,""),e!==t.normal&&(t.machine=e)};var si=function(t){let e=t.docs,n={};for(let t=0;tci(t,ri),machine:t=>ci(t,ii),normal:t=>ci(t,Bo),freq:si,offset:li,index:ai,wordCount:ui},methods:Qo,model:{one:{aliases:Ho,abbreviations:Zo,prefixes:Jo,suffixes:{like:!0,ish:!0,less:!0,able:!0,elect:!0,type:!0,designate:!0},prePunctuation:{"#":!0,"@":!0,_:!0,"°":!0,"​":!0,"‌":!0,"‍":!0,"\ufeff":!0},postPunctuation:{"%":!0,_:!0,"°":!0,"​":!0,"‌":!0,"‍":!0,"\ufeff":!0},lexicon:Ko,unicode:Yo,emoticons:{"<3":!0,"{let s=(t=t.toLowerCase().trim()).length;e.max&&s>e.max&&(s=e.max);for(let l=e.min;l{delete r[t]})),r};const gi={safe:!0,min:3};var wi={typeahead:function(t=[],e={}){let n=this.model();var r;e=Object.assign({},gi,e),r=t,"[object Object]"===Object.prototype.toString.call(r)&&(Object.assign(n.one.lexicon,t),t=Object.keys(t));let o=mi(t,e,this.world());return Object.keys(o).forEach((t=>{n.one.typeahead.hasOwnProperty(t)?delete n.one.typeahead[t]:n.one.typeahead[t]=o[t]})),this}};var vi={model:{one:{typeahead:{}}},api:di,lib:wi,compute:fi,hooks:["typeahead"]};w.extend(tt),w.extend(Rn),w.extend(cn),w.extend(ir),w.extend(Jr),w.plugin(At),w.extend(hi),w.plugin(x),w.extend(It),w.extend(vi),w.extend(qt),w.extend(gr);export{w as default}; +var t={methods:{one:{},two:{},three:{},four:{}},model:{one:{},two:{},three:{}},compute:{},hooks:[]};const e={compute:function(t){const{world:e}=this,n=e.compute;return"string"==typeof t&&n.hasOwnProperty(t)?n[t](this):(t=>"[object Array]"===Object.prototype.toString.call(t))(t)?t.forEach((r=>{e.compute.hasOwnProperty(r)?n[r](this):console.warn("no compute:",t)})):"function"==typeof t?t(this):console.warn("no compute:",t),this}};var n=e;var r={forEach:function(t){return this.fullPointer.forEach(((e,n)=>{let r=this.update([e]);t(r,n)})),this},map:function(t,e){let n=this.fullPointer.map(((e,n)=>{let r=this.update([e]),o=t(r,n);return void 0===o?this.none():o}));if(0===n.length)return e||this.update([]);if(void 0!==n[0]){if("string"==typeof n[0])return n;if("object"==typeof n[0]&&(null===n[0]||!n[0].isView))return n}let r=[];return n.forEach((t=>{r=r.concat(t.fullPointer)})),this.toView(r)},filter:function(t){let e=this.fullPointer;return e=e.filter(((e,n)=>{let r=this.update([e]);return t(r,n)})),this.update(e)},find:function(t){let e=this.fullPointer.find(((e,n)=>{let r=this.update([e]);return t(r,n)}));return this.update([e])},some:function(t){return this.fullPointer.some(((e,n)=>{let r=this.update([e]);return t(r,n)}))},random:function(t=1){let e=this.fullPointer,n=Math.floor(Math.random()*e.length);return n+t>this.length&&(n=this.length-t,n=n<0?0:n),e=e.slice(n,n+t),this.update(e)}};const o={termList:function(){return this.methods.one.termList(this.docs)},terms:function(t){let e=this.match(".");return"number"==typeof t?e.eq(t):e},groups:function(t){if(t||0===t)return this.update(this._groups[t]||[]);let e={};return Object.keys(this._groups).forEach((t=>{e[t]=this.update(this._groups[t])})),e},eq:function(t){let e=this.pointer;return e||(e=this.docs.map(((t,e)=>[e]))),e[t]?this.update([e[t]]):this.none()},first:function(){return this.eq(0)},last:function(){let t=this.fullPointer.length-1;return this.eq(t)},firstTerms:function(){return this.match("^.")},lastTerms:function(){return this.match(".$")},slice:function(t,e){let n=this.pointer||this.docs.map(((t,e)=>[e]));return n=n.slice(t,e),this.update(n)},all:function(){return this.update().toView()},fullSentences:function(){let t=this.fullPointer.map((t=>[t[0]]));return this.update(t).toView()},none:function(){return this.update([])},isDoc:function(t){if(!t||!t.isView)return!1;let e=this.fullPointer,n=t.fullPointer;return!e.length!==n.length&&e.every(((t,e)=>!!n[e]&&(t[0]===n[e][0]&&t[1]===n[e][1]&&t[2]===n[e][2])))},wordCount:function(){return this.docs.reduce(((t,e)=>(t+=e.filter((t=>""!==t.text)).length,t)),0)},isFull:function(){let t=this.pointer;if(!t)return!0;if(0===t.length||0!==t[0][0])return!1;let e=0,n=0;return this.document.forEach((t=>e+=t.length)),this.docs.forEach((t=>n+=t.length)),e===n},getNth:function(t){return"number"==typeof t?this.eq(t):"string"==typeof t?this.if(t):this}};o.group=o.groups,o.fullSentence=o.fullSentences,o.sentence=o.fullSentences,o.lastTerm=o.lastTerms,o.firstTerm=o.firstTerms;var i=o;const s=Object.assign({},i,n,r);s.get=s.eq;var l=s;class View{constructor(e,n,r={}){[["document",e],["world",t],["_groups",r],["_cache",null],["viewType","View"]].forEach((t=>{Object.defineProperty(this,t[0],{value:t[1],writable:!0})})),this.ptrs=n}get docs(){let e=this.document;return this.ptrs&&(e=t.methods.one.getDoc(this.ptrs,this.document)),e}get pointer(){return this.ptrs}get methods(){return this.world.methods}get model(){return this.world.model}get hooks(){return this.world.hooks}get isView(){return!0}get found(){return this.docs.length>0}get length(){return this.docs.length}get fullPointer(){let{docs:t,ptrs:e,document:n}=this,r=e||t.map(((t,e)=>[e]));return r.map((t=>{let[e,r,o,i,s]=t;return r=r||0,o=o||(n[e]||[]).length,n[e]&&n[e][r]&&(i=i||n[e][r].id,n[e][o-1]&&(s=s||n[e][o-1].id)),[e,r,o,i,s]}))}update(t){let e=new View(this.document,t);if(this._cache&&t&&t.length>0){let n=[];t.forEach(((t,e)=>{let[r,o,i]=t;(1===t.length||0===o&&this.document[r].length===i)&&(n[e]=this._cache[r])})),n.length>0&&(e._cache=n)}return e.world=this.world,e}toView(t){return new View(this.document,t||this.pointer)}fromText(t){const{methods:e}=this;let n=e.one.tokenize.fromString(t,this.world),r=new View(n);return r.world=this.world,r.compute(["normal","lexicon"]),this.world.compute.preTagger&&r.compute("preTagger"),r}clone(){let t=this.document.slice(0);t=t.map((t=>t.map((t=>((t=Object.assign({},t)).tags=new Set(t.tags),t)))));let e=this.update(this.pointer);return e.document=t,e._cache=this._cache,e}}Object.assign(View.prototype,l);var a=View;const u=function(t){return t&&"object"==typeof t&&!Array.isArray(t)};function c(t,e){if(u(e))for(const n in e)u(e[n])?(t[n]||Object.assign(t,{[n]:{}}),c(t[n],e[n])):Object.assign(t,{[n]:e[n]});return t}var h=function(t,e,n,r){const{methods:o,model:i,compute:s,hooks:l}=e;t.methods&&function(t,e){for(const n in e)t[n]=t[n]||{},Object.assign(t[n],e[n])}(o,t.methods),t.model&&c(i,t.model),t.irregulars&&function(t,e){let n=t.two.models||{};Object.keys(e).forEach((t=>{e[t].pastTense&&(n.toPast&&(n.toPast.ex[t]=e[t].pastTense),n.fromPast&&(n.fromPast.ex[e[t].pastTense]=t)),e[t].presentTense&&(n.toPresent&&(n.toPresent.ex[t]=e[t].presentTense),n.fromPresent&&(n.fromPresent.ex[e[t].presentTense]=t)),e[t].gerund&&(n.toGerund&&(n.toGerund.ex[t]=e[t].gerund),n.fromGerund&&(n.fromGerund.ex[e[t].gerund]=t)),e[t].comparative&&(n.toComparative&&(n.toComparative.ex[t]=e[t].comparative),n.fromComparative&&(n.fromComparative.ex[e[t].comparative]=t)),e[t].superlative&&(n.toSuperlative&&(n.toSuperlative.ex[t]=e[t].superlative),n.fromSuperlative&&(n.fromSuperlative.ex[e[t].superlative]=t))}))}(i,t.irregulars),t.compute&&Object.assign(s,t.compute),l&&(e.hooks=l.concat(t.hooks||[])),t.api&&t.api(n),t.lib&&Object.keys(t.lib).forEach((e=>r[e]=t.lib[e])),t.tags&&r.addTags(t.tags),t.words&&r.addWords(t.words),t.mutate&&t.mutate(e)};const f=function(t){return"[object Array]"===Object.prototype.toString.call(t)};var p=function(t,e,n){const{methods:r}=n;let o=new e([]);if(o.world=n,"number"==typeof t&&(t=String(t)),!t)return o;if("string"==typeof t){return new e(r.one.tokenize.fromString(t,n))}if(i=t,"[object Object]"===Object.prototype.toString.call(i)&&t.isView)return new e(t.document,t.ptrs);var i;if(f(t)){if(f(t[0])){let n=t.map((t=>t.map((t=>({text:t,normal:t,pre:"",post:" ",tags:new Set})))));return new e(n)}let n=function(t){return t.map((t=>t.terms.map((t=>(f(t.tags)&&(t.tags=new Set(t.tags)),t)))))}(t);return new e(n)}return o};let d=Object.assign({},t);const m=function(t,e){e&&m.addWords(e);let n=p(t,a,d);return t&&n.compute(d.hooks),n};Object.defineProperty(m,"_world",{value:d,writable:!0}),m.tokenize=function(t,e){const{compute:n}=this._world;e&&m.addWords(e);let r=p(t,a,d);return n.contractions&&r.compute(["alias","normal","machine","contractions"]),r},m.plugin=function(t){return h(t,this._world,a,this),this},m.extend=m.plugin,m.world=function(){return this._world},m.model=function(){return this._world.model},m.methods=function(){return this._world.methods},m.hooks=function(){return this._world.hooks},m.verbose=function(t){const e="undefined"!=typeof process&&process.env?process.env:self.env||{};return e.DEBUG_TAGS="tagger"===t||!0===t||"",e.DEBUG_MATCH="match"===t||!0===t||"",e.DEBUG_CHUNKS="chunker"===t||!0===t||"",this},m.version="14.10.1";var w=m;var v=function(t){let e=t.map((t=>{let e=new Set;return t.forEach((t=>{""!==t.normal&&e.add(t.normal),t.switch&&e.add(`%${t.switch}%`),t.implicit&&e.add(t.implicit),t.machine&&e.add(t.machine),t.root&&e.add(t.root),t.alias&&t.alias.forEach((t=>e.add(t)));let n=Array.from(t.tags);for(let t=0;t/^\p{Lu}[\p{Ll}'’]/u.test(t)||/^\p{Lu}$/u.test(t),E=(t,e,n)=>{if(n.forEach((t=>t.dirty=!0)),t){let r=[e,0].concat(n);Array.prototype.splice.apply(t,r)}return t},O=function(t){let e=t[t.length-1];!e||/ $/.test(e.post)||/[-–—]/.test(e.post)||(e.post+=" ")},k=(t,e,n)=>{const r=/[-.?!,;:)–—'"]/g;let o=t[e-1];if(!o)return;let i=o.post;if(r.test(i)){let t=i.match(r).join(""),e=n[n.length-1];e.post=t+e.post,o.post=o.post.replace(r,"")}},P=function(t,e,n,r){let[o,i,s]=e;0===i||s===r[o].length?O(n):(O(n),O([t[e[1]]])),function(t,e,n){let r=t[e];if(0!==e||!j(r.text))return;n[0].text=n[0].text.replace(/^\p{Ll}/u,(t=>t.toUpperCase()));let o=t[e];o.tags.has("ProperNoun")||o.tags.has("Acronym")||j(o.text)&&o.text.length>1&&(o.text=(i=o.text,i.replace(/^\p{Lu}/u,(t=>t.toLowerCase()))));var i}(t,i,n),E(t,i,n)};let _=0;const S=t=>(t=t.length<3?"0"+t:t).length<3?"0"+t:t;var A=function(t){let[e,n]=t.index||[0,0];_+=1,_=_>46655?0:_,e=e>46655?0:e,n=n>1294?0:n;let r=S(_.toString(36));r+=S(e.toString(36));let o=n.toString(36);return o=o.length<2?"0"+o:o,r+=o,r+=parseInt(36*Math.random(),10).toString(36),t.normal+"|"+r.toUpperCase()};const $=function(t){if(t.has("@hasContraction")&&"function"==typeof t.contractions){t.grow("@hasContraction").contractions().expand()}},T=t=>"[object Array]"===Object.prototype.toString.call(t),C=function(t,e,n){const{document:r,world:o}=e;e.uncache();let i=e.fullPointer,s=e.fullPointer;e.forEach(((l,a)=>{let u=l.fullPointer[0],[c]=u,h=r[c],f=function(t,e){const{methods:n}=e;return"string"==typeof t?n.one.tokenize.fromString(t,e)[0]:"object"==typeof t&&t.isView?t.clone().docs[0]||[]:T(t)?T(t[0])?t[0]:t:[]}(t,o);0!==f.length&&(f=function(t){return t.map((t=>(t.id=A(t),t)))}(f),n?($(e.update([u]).firstTerm()),P(h,u,f,r)):($(e.update([u]).lastTerm()),function(t,e,n,r){let[o,,i]=e,s=(r[o]||[]).length;i{let n=e(t);t.replaceWith(n)})),t}(r,t);let o=r.docs[0],i=e.possessives&&o[o.length-1].tags.has("Possessive");t=function(t,e){if("string"!=typeof t)return t;let n=e.groups();return t=t.replace(L,(t=>{let e=t.replace(/\$/,"");return n.hasOwnProperty(e)?n[e].text():t})),t}(t,r);let s=this.update(n);n=n.map((t=>t.slice(0,3)));let l=(s.docs[0]||[]).map((t=>Array.from(t.tags)));if("string"==typeof t&&(t=this.fromText(t).compute("id")),r.insertAfter(t),s.has("@hasContraction")&&r.contractions){r.grow("@hasContraction+").contractions().expand()}if(r.delete(s),i){let t=r.docs[0],e=t[t.length-1];e.tags.has("Possessive")||(e.text+="'s",e.normal+="'s",e.tags.add("Possessive"))}let a=r.toView(n).compute(["index","lexicon"]);return a.world.compute.preTagger&&a.compute("preTagger"),e.tags&&a.terms().forEach(((t,e)=>{t.tagSafe(l[e])})),e.case&&a.docs[0]&&a.docs[0][0]&&0===a.docs[0][0].index[1]&&(a.docs[0][0].text=a.docs[0][0].text.replace(/\w\S*/g,(t=>t.charAt(0).toUpperCase()+t.substring(1).toLowerCase()))),a},V.replace=function(t,e,n){if(t&&!e)return this.replaceWith(t,n);let r=this.match(t);return r.found?(this.soften(),r.replaceWith(e,n)):this};var q=V;var F=function(t,e){e.forEach((e=>{let[n,r,o]=e,i=o-r;t[n]&&(o===t[n].length&&o>1&&function(t,e){let n=t.length-1,r=t[n],o=t[n-e];o&&r&&(o.post+=r.post,o.post=o.post.replace(/ +([.?!,;:])/,"$1"),o.post=o.post.replace(/[,;:]+([.?!])/,"$1"))}(t[n],i),t[n].splice(r,i))}));for(let e=t.length-1;e>=0;e-=1)if(0===t[e].length&&(t.splice(e,1),e===t.length&&t[e-1])){let n=t[e-1],r=n[n.length-1];r&&(r.post=r.post.trimEnd())}return t};const G={remove:function(t){const{indexN:e}=this.methods.one.pointer;this.uncache();let n=this.all(),r=this;t&&(n=this,r=this.match(t));let o=!n.ptrs;if(r.has("@hasContraction")&&r.contractions){r.grow("@hasContraction").contractions().expand()}let i=n.fullPointer,s=r.fullPointer.reverse(),l=F(this.document,s);return i=function(t,e){return t=t.map((t=>{let[n]=t;return e[n]?(e[n].forEach((e=>{let n=e[2]-e[1];t[1]<=e[1]&&t[2]>=e[2]&&(t[2]-=n)})),t):t})),t.forEach(((e,n)=>{if(0===e[1]&&0==e[2])for(let e=n+1;et[2]-t[1]>0))).map((t=>(t[3]=null,t[4]=null,t)))}(i,e(s)),n.ptrs=i,n.document=l,n.compute("index"),o&&(n.ptrs=void 0),t?n.toView(i):(this.ptrs=[],n.none())}};G.delete=G.remove;var D=G;const B={pre:function(t,e){return void 0===t&&this.found?this.docs[0][0].pre:(this.docs.forEach((n=>{let r=n[0];!0===e?r.pre+=t:r.pre=t})),this)},post:function(t,e){if(void 0===t){let t=this.docs[this.docs.length-1];return t[t.length-1].post}return this.docs.forEach((n=>{let r=n[n.length-1];!0===e?r.post+=t:r.post=t})),this},trim:function(){if(!this.found)return this;let t=this.docs,e=t[0][0];e.pre=e.pre.trimStart();let n=t[t.length-1],r=n[n.length-1];return r.post=r.post.trimEnd(),this},hyphenate:function(){return this.docs.forEach((t=>{t.forEach(((e,n)=>{0!==n&&(e.pre=""),t[n+1]&&(e.post="-")}))})),this},dehyphenate:function(){const t=/[-–—]/;return this.docs.forEach((e=>{e.forEach((e=>{t.test(e.post)&&(e.post=" ")}))})),this},toQuotations:function(t,e){return t=t||'"',e=e||'"',this.docs.forEach((n=>{n[0].pre=t+n[0].pre;let r=n[n.length-1];r.post=e+r.post})),this},toParentheses:function(t,e){return t=t||"(",e=e||")",this.docs.forEach((n=>{n[0].pre=t+n[0].pre;let r=n[n.length-1];r.post=e+r.post})),this}};B.deHyphenate=B.dehyphenate,B.toQuotation=B.toQuotations;var U=B;var M={alpha:(t,e)=>t.normale.normal?1:0,length:(t,e)=>{let n=t.normal.trim().length,r=e.normal.trim().length;return nr?-1:0},wordCount:(t,e)=>t.wordse.words?-1:0,sequential:(t,e)=>t[0]e[0]?-1:t[1]>e[1]?1:-1,byFreq:function(t){let e={};return t.forEach((t=>{e[t.normal]=e[t.normal]||0,e[t.normal]+=1})),t.sort(((t,n)=>{let r=e[t.normal],o=e[n.normal];return ro?-1:0})),t}};const W=new Set(["index","sequence","seq","sequential","chron","chronological"]),I=new Set(["freq","frequency","topk","repeats"]),R=new Set(["alpha","alphabetical"]);var Q={unique:function(){let t=new Set;return this.filter((e=>{let n=e.text("machine");return!t.has(n)&&(t.add(n),!0)}))},reverse:function(){let t=this.pointer||this.docs.map(((t,e)=>[e]));return t=[].concat(t),t=t.reverse(),this._cache&&(this._cache=this._cache.reverse()),this.update(t)},sort:function(t){let{docs:e,pointer:n}=this;if(this.uncache(),"function"==typeof t)return function(t,e){let n=t.fullPointer;return n=n.sort(((n,r)=>(n=t.update([n]),r=t.update([r]),e(n,r)))),t.ptrs=n,t}(this,t);t=t||"alpha";let r=n||e.map(((t,e)=>[e])),o=e.map(((t,e)=>({index:e,words:t.length,normal:t.map((t=>t.machine||t.normal||"")).join(" "),pointer:r[e]})));return W.has(t)&&(t="sequential"),R.has(t)&&(t="alpha"),I.has(t)?(o=M.byFreq(o),this.update(o.map((t=>t.pointer)))):"function"==typeof M[t]?(o=o.sort(M[t]),this.update(o.map((t=>t.pointer)))):this}};const H=function(t,e){if(t.length>0){let e=t[t.length-1],n=e[e.length-1];!1===/ /.test(n.post)&&(n.post+=" ")}return t=t.concat(e)};var Z={concat:function(t){if("string"==typeof t){let e=this.fromText(t);if(this.found&&this.ptrs){let t=this.fullPointer,n=t[t.length-1][0];this.document.splice(n,0,...e.document)}else this.document=this.document.concat(e.document);return this.all().compute("index")}if("object"==typeof t&&t.isView)return function(t,e){if(t.document===e.document){let n=t.fullPointer.concat(e.fullPointer);return t.toView(n).compute("index")}return e.fullPointer.forEach((e=>{e[0]+=t.document.length})),t.document=H(t.document,e.docs),t.all()}(this,t);if(e=t,"[object Array]"===Object.prototype.toString.call(e)){let e=H(this.document,t);return this.document=e,this.all()}var e;return this}};var K={harden:function(){return this.ptrs=this.fullPointer,this},soften:function(){let t=this.ptrs;return!t||t.length<1||(t=t.map((t=>t.slice(0,3))),this.ptrs=t),this}};const J=Object.assign({},{toLowerCase:function(){return this.termList().forEach((t=>{t.text=t.text.toLowerCase()})),this},toUpperCase:function(){return this.termList().forEach((t=>{t.text=t.text.toUpperCase()})),this},toTitleCase:function(){return this.termList().forEach((t=>{t.text=t.text.replace(/^ *[a-z\u00C0-\u00FF]/,(t=>t.toUpperCase()))})),this},toCamelCase:function(){return this.docs.forEach((t=>{t.forEach(((e,n)=>{0!==n&&(e.text=e.text.replace(/^ *[a-z\u00C0-\u00FF]/,(t=>t.toUpperCase()))),n!==t.length-1&&(e.post="")}))})),this}},N,q,D,U,Q,Z,K);var X=function(t){Object.assign(t.prototype,J)};const Y={id:function(t){let e=t.docs;for(let t=0;t(t.implicit=t.text,t.machine=t.text,t.pre="",t.post="",t.text="",t.normal="",t.index=[r,o+e],t))),n[0]&&(n[0].pre=t[r][o].pre,n[n.length-1].post=t[r][o].post,n[0].text=t[r][o].text,n[0].normal=t[r][o].normal),t[r].splice(o,1,...n))};const ot=/'/,it=new Set(["what","how","when","where","why"]),st=new Set(["be","go","start","think","need"]),lt=new Set(["been","gone"]);var at=function(t,e){let n=t[e].normal.split(ot)[0];if(it.has(n))return[n,"did"];if(t[e+1]){if(lt.has(t[e+1].normal))return[n,"had"];if(st.has(t[e+1].normal))return[n,"would"]}return null};var ut=function(t,e){if("ain't"===t[e].normal||"aint"===t[e].normal)return null;return[t[e].normal.replace(/n't/,""),"not"]};const ct=/'/;var ht=(t,e)=>["je",t[e].normal.split(ct)[1]],ft=(t,e)=>{let n=t[e].normal.split(ct)[1];return n&&n.endsWith("e")?["la",n]:["le",n]},pt=(t,e)=>{let n=t[e].normal.split(ct)[1];return n&&n.endsWith("e")?["du",n]:n&&n.endsWith("s")?["des",n]:["de",n]};const dt=/^([0-9.]{1,4}[a-z]{0,2}) ?[-–—] ?([0-9]{1,4}[a-z]{0,2})$/i,mt=/^([0-9]{1,2}(:[0-9][0-9])?(am|pm)?) ?[-–—] ?([0-9]{1,2}(:[0-9][0-9])?(am|pm)?)$/i,gt=/^[0-9]{3}-[0-9]{4}$/;var wt=function(t,e){let n=t[e],r=n.text.match(dt);return null!==r?!0===n.tags.has("PhoneNumber")||gt.test(n.text)?null:[r[1],"to",r[2]]:(r=n.text.match(mt),null!==r?[r[1],"to",r[4]]:null)};const vt=/^([+-]?[0-9][.,0-9]*)([a-z°²³µ/]+)$/;var bt=function(t,e,n){const r=n.model.one.numberSuffixes||{};let o=t[e].text.match(vt);if(null!==o){let t=o[2].toLowerCase().trim();return r.hasOwnProperty(t)?null:[o[1],t]}return null};const yt=/'/,xt=/^[0-9][^-–—]*[-–—].*?[0-9]/,jt=function(t,e,n,r){let o=e.update();o.document=[t];let i=n+r;n>0&&(n-=1),t[i]&&(i+=1),o.ptrs=[[0,n,i]]},Et={t:(t,e)=>ut(t,e),d:(t,e)=>at(t,e)},Ot={j:(t,e)=>ht(t,e),l:(t,e)=>ft(t,e),d:(t,e)=>pt(t,e)},kt=function(t,e,n,r){for(let o=0;o2)return i.out.concat(r)}return null},Pt=function(t,e){let n=e.fromText(t.join(" "));return n.compute(["id","alias"]),n.docs[0]},_t=function(t,e){for(let n=e+1;n<5&&t[n];n+=1)if("been"===t[n].normal)return["there","has"];return["there","is"]};var St=t=>{let{world:e,document:n}=t;const{model:r,methods:o}=e;let i=r.one.contractions||[];n.forEach(((r,s)=>{for(let l=r.length-1;l>=0;l-=1){let a=null,u=null;!0===yt.test(r[l].normal)&&([a,u]=r[l].normal.split(yt));let c=kt(i,r[l],a,u);!c&&Et.hasOwnProperty(u)&&(c=Et[u](r,l,e)),!c&&Ot.hasOwnProperty(a)&&(c=Ot[a](r,l)),"there"===a&&"s"===u&&(c=_t(r,l)),c?(c=Pt(c,t),rt(n,[s,l],c),jt(n[s],t,l,c.length)):xt.test(r[l].normal)?(c=wt(r,l),c&&(c=Pt(c,t),rt(n,[s,l],c),o.one.setTag(c,"NumberRange",e),c[2]&&c[2].tags.has("Time")&&o.one.setTag([c[0]],"Time",e,null,"time-range"),jt(n[s],t,l,c.length))):(c=bt(r,l,e),c&&(c=Pt(c,t),rt(n,[s,l],c),o.one.setTag([c[1]],"Unit",e,null,"contraction-unit")))}}))};var At={model:nt,compute:{contractions:St},hooks:["contractions"]};var $t=function(t,e,n){const{model:r,methods:o}=n,i=o.one.setTag,s=r.one._multiCache||{},l=r.one.lexicon||{};let a=t[e],u=a.machine||a.normal;return void 0!==t[e+1]&&!0===s[u]?function(t,e,n,r,o){let i=e+4>t.length?t.length-e:4,s=t[e].machine||t[e].normal;for(let l=1;ls.hasOwnProperty(t)));if(t){return i([l],s[t],n,!1,"1-lexicon-alias"),!0}}if(!0===Tt.test(a)){let t=a.replace(Tt,"");if(s.hasOwnProperty(t)&&t.length>3&&Ct.has(s[t]))return i([l],s[t],n,!1,"1-lexicon-prefix"),!0}return null};var Nt={lexicon:function(t){const e=t.world;t.docs.forEach((t=>{for(let n=0;n{let o=t[r],i=(r=(r=r.toLowerCase().trim()).replace(/'s\b/,"")).split(/ /);i.length>1&&(n[i[0]]=!0),e[r]=e[r]||o})),delete e[""],delete e.null,delete e[" "],{lex:e,_multi:n}};var Vt={addWords:function(t){const e=this.world(),{methods:n,model:r}=e;if(t)if(Object.keys(t).forEach((e=>{"string"==typeof t[e]&&t[e].startsWith("#")&&(t[e]=t[e].replace(/^#/,""))})),n.two.expandLexicon){let{lex:o,_multi:i}=n.two.expandLexicon(t,e);Object.assign(r.one.lexicon,o),Object.assign(r.one._multiCache,i)}else if(n.one.expandLexicon){let{lex:o,_multi:i}=n.one.expandLexicon(t,e);Object.assign(r.one.lexicon,o),Object.assign(r.one._multiCache,i)}else Object.assign(r.one.lexicon,t)}};var qt={model:{one:{lexicon:{},_multiCache:{}}},methods:{one:{expandLexicon:Lt}},compute:Nt,lib:Vt,hooks:["lexicon"]};var Ft=function(t,e){let n=[{}],r=[null],o=[0],i=[],s=0;t.forEach((function(t){let o=0,i=function(t,e){const{methods:n,model:r}=e;let o=n.one.tokenize.splitTerms(t,r).map((t=>n.one.tokenize.splitWhitespace(t,r)));return o.map((t=>t.text.toLowerCase()))}(t,e);for(let t=0;t0&&!n[s].hasOwnProperty(a);)s=o[s];if(n.hasOwnProperty(s)){let t=n[s][a];o[u]=t,r[t]&&(r[u]=r[u]||[],r[u]=r[u].concat(r[t]))}else o[u]=0}}return{goNext:n,endAs:r,failTo:o}};const Gt=function(t,e,n){let r=0,o=[];for(let i=0;i0&&(void 0===e.goNext[r]||!e.goNext[r].hasOwnProperty(s));)r=e.failTo[r]||0;if(e.goNext[r].hasOwnProperty(s)&&(r=e.goNext[r][s],e.endAs[r])){let n=e.endAs[r];for(let e=0;e0&&(r=r.concat(a))}return t.update(r)};const Ut=(t,e)=>{for(let n=t.length-1;n>=0;n-=1)if(t[n]!==e)return t=t.slice(0,n+1);return t};var Mt=function(t){return t.goNext=t.goNext.map((t=>{if(0!==Object.keys(t).length)return t})),t.goNext=Ut(t.goNext,void 0),t.failTo=Ut(t.failTo,0),t.endAs=Ut(t.endAs,null),t};const Wt={buildTrie:function(t){const e=Ft(t,this.world());return Mt(e)}};Wt.compile=Wt.buildTrie;var It={api:function(t){t.prototype.lookup=function(t,e={}){if(!t)return this.none();"string"==typeof t&&(t=[t]);let n=(r=t,"[object Object]"===Object.prototype.toString.call(r)?t:Ft(t,this.world));var r;let o=Bt(this,n,e);return o=o.settle(),o}},lib:Wt};const Rt=function(t,e){return e?(t.forEach((t=>{let n=t[0];e[n]&&(t[0]=e[n][0],t[1]+=e[n][1],t[2]+=e[n][1])})),t):t},Qt=function(t,e){let{ptrs:n,byGroup:r}=t;return n=Rt(n,e),Object.keys(r).forEach((t=>{r[t]=Rt(r[t],e)})),{ptrs:n,byGroup:r}},Ht=t=>"[object Object]"===Object.prototype.toString.call(t),Zt=t=>t&&Ht(t)&&!0===t.isView,Kt=t=>t&&Ht(t)&&!0===t.isNet,Jt=function(t,e,n){const r=n.methods.one;return"number"==typeof t&&(t=String(t)),"string"==typeof t&&(t=r.killUnicode(t,n),t=r.parseMatch(t,e,n)),t};var Xt={matchOne:function(t,e,n){const r=this.methods.one;if(Zt(t))return this.intersection(t).eq(0);if(Kt(t))return this.sweep(t,{tagger:!1,matchOne:!0}).view;let o={regs:t=Jt(t,n,this.world),group:e,justOne:!0},i=r.match(this.docs,o,this._cache),{ptrs:s,byGroup:l}=Qt(i,this.fullPointer),a=this.toView(s);return a._groups=l,a},match:function(t,e,n){const r=this.methods.one;if(Zt(t))return this.intersection(t);if(Kt(t))return this.sweep(t,{tagger:!1}).view.settle();let o={regs:t=Jt(t,n,this.world),group:e},i=r.match(this.docs,o,this._cache),{ptrs:s,byGroup:l}=Qt(i,this.fullPointer),a=this.toView(s);return a._groups=l,a},has:function(t,e,n){const r=this.methods.one;if(Zt(t)){return t.fullPointer.length>0}if(Kt(t))return this.sweep(t,{tagger:!1}).view.found;let o={regs:t=Jt(t,n,this.world),group:e,justOne:!0};return r.match(this.docs,o,this._cache).ptrs.length>0},if:function(t,e,n){const r=this.methods.one;if(Zt(t))return this.filter((e=>e.intersection(t).found));if(Kt(t)){let e=this.sweep(t,{tagger:!1}).view.settle();return this.if(e)}let o={regs:t=Jt(t,n,this.world),group:e,justOne:!0},i=this.fullPointer,s=this._cache||[];i=i.filter(((t,e)=>{let n=this.update([t]);return r.match(n.docs,o,s[e]).ptrs.length>0}));let l=this.update(i);return this._cache&&(l._cache=i.map((t=>s[t[0]]))),l},ifNo:function(t,e,n){const{methods:r}=this,o=r.one;if(Zt(t))return this.filter((e=>!e.intersection(t).found));if(Kt(t)){let e=this.sweep(t,{tagger:!1}).view.settle();return this.ifNo(e)}t=Jt(t,n,this.world);let i=this._cache||[],s=this.filter(((n,r)=>{let s={regs:t,group:e,justOne:!0};return 0===o.match(n.docs,s,i[r]).ptrs.length}));return this._cache&&(s._cache=s.ptrs.map((t=>i[t[0]]))),s}};var Yt={before:function(t,e,n){const{indexN:r}=this.methods.one.pointer;let o=[],i=r(this.fullPointer);Object.keys(i).forEach((t=>{let e=i[t].sort(((t,e)=>t[1]>e[1]?1:-1))[0];e[1]>0&&o.push([e[0],0,e[1]])}));let s=this.toView(o);return t?s.match(t,e,n):s},after:function(t,e,n){const{indexN:r}=this.methods.one.pointer;let o=[],i=r(this.fullPointer),s=this.document;Object.keys(i).forEach((t=>{let e=i[t].sort(((t,e)=>t[1]>e[1]?-1:1))[0],[n,,r]=e;r{let i=n.before(t,e);if(i.found){let t=i.terms();r[o][1]-=t.length,r[o][3]=t.docs[0][0].id}})),this.update(r)},growRight:function(t,e,n){"string"==typeof t&&(t=this.world.methods.one.parseMatch(t,n,this.world)),t[0].start=!0;let r=this.fullPointer;return this.forEach(((n,o)=>{let i=n.after(t,e);if(i.found){let t=i.terms();r[o][2]+=t.length,r[o][4]=null}})),this.update(r)},grow:function(t,e,n){return this.growRight(t,e,n).growLeft(t,e,n)}};const te=function(t,e){return[t[0],t[1],e[2]]},ee=(t,e,n)=>{return"string"==typeof t||(r=t,"[object Array]"===Object.prototype.toString.call(r))?e.match(t,n):t||e.none();var r},ne=function(t,e){let[n,r,o]=t;return e.document[n]&&e.document[n][r]&&(t[3]=t[3]||e.document[n][r].id,e.document[n][o-1]&&(t[4]=t[4]||e.document[n][o-1].id)),t},re={splitOn:function(t,e){const{splitAll:n}=this.methods.one.pointer;let r=ee(t,this,e).fullPointer,o=n(this.fullPointer,r),i=[];return o.forEach((t=>{i.push(t.passthrough),i.push(t.before),i.push(t.match),i.push(t.after)})),i=i.filter((t=>t)),i=i.map((t=>ne(t,this))),this.update(i)},splitBefore:function(t,e){const{splitAll:n}=this.methods.one.pointer;let r=ee(t,this,e).fullPointer,o=n(this.fullPointer,r);for(let t=0;t{i.push(t.passthrough),i.push(t.before),t.match&&t.after?i.push(te(t.match,t.after)):i.push(t.match)})),i=i.filter((t=>t)),i=i.map((t=>ne(t,this))),this.update(i)},splitAfter:function(t,e){const{splitAll:n}=this.methods.one.pointer;let r=ee(t,this,e).fullPointer,o=n(this.fullPointer,r),i=[];return o.forEach((t=>{i.push(t.passthrough),t.before&&t.match?i.push(te(t.before,t.match)):(i.push(t.before),i.push(t.match)),i.push(t.after)})),i=i.filter((t=>t)),i=i.map((t=>ne(t,this))),this.update(i)}};re.split=re.splitAfter;var oe=re;const ie=Object.assign({},Xt,Yt,oe);ie.lookBehind=ie.before,ie.lookBefore=ie.before,ie.lookAhead=ie.after,ie.lookAfter=ie.after,ie.notIf=ie.ifNo;var se=function(t){Object.assign(t.prototype,ie)};const le=/(?:^|\s)([![^]*(?:<[^<]*>)?\/.*?[^\\/]\/[?\]+*$~]*)(?:\s|$)/,ae=/([!~[^]*(?:<[^<]*>)?\([^)]+[^\\)]\)[?\]+*$~]*)(?:\s|$)/,ue=/ /g,ce=t=>/^[![^]*(<[^<]*>)?\//.test(t)&&/\/[?\]+*$~]*$/.test(t),he=function(t){return t=(t=t.map((t=>t.trim()))).filter((t=>t))};var fe=function(t){let e=t.split(le),n=[];e.forEach((t=>{ce(t)?n.push(t):n=n.concat(t.split(ae))})),n=he(n);let r=[];return n.forEach((t=>{(t=>/^[![^]*(<[^<]*>)?\(/.test(t)&&/\)[?\]+*$~]*$/.test(t))(t)||ce(t)?r.push(t):r=r.concat(t.split(ue))})),r=he(r),r};const pe=/\{([0-9]+)?(, *[0-9]*)?\}/,de=/&&/,me=new RegExp(/^<\s*(\S+)\s*>/),ge=t=>t.charAt(0).toUpperCase()+t.substring(1),we=t=>t.charAt(t.length-1),ve=t=>t.charAt(0),be=t=>t.substring(1),ye=t=>t.substring(0,t.length-1),xe=function(t){return t=be(t),t=ye(t)},je=function(t,e){let n={};for(let r=0;r<2;r+=1){if("$"===we(t)&&(n.end=!0,t=ye(t)),"^"===ve(t)&&(n.start=!0,t=be(t)),"?"===we(t)&&(n.optional=!0,t=ye(t)),("["===ve(t)||"]"===we(t))&&(n.group=null,"["===ve(t)&&(n.groupStart=!0),"]"===we(t)&&(n.groupEnd=!0),t=(t=t.replace(/^\[/,"")).replace(/\]$/,""),"<"===ve(t))){const e=me.exec(t);e.length>=2&&(n.group=e[1],t=t.replace(e[0],""))}if("+"===we(t)&&(n.greedy=!0,t=ye(t)),"*"!==t&&"*"===we(t)&&"\\*"!==t&&(n.greedy=!0,t=ye(t)),"!"===ve(t)&&(n.negative=!0,t=be(t)),"~"===ve(t)&&"~"===we(t)&&t.length>2&&(t=xe(t),n.fuzzy=!0,n.min=e.fuzzy||.85,!1===/\(/.test(t)))return n.word=t,n;if("/"===ve(t)&&"/"===we(t))return t=xe(t),e.caseSensitive&&(n.use="text"),n.regex=new RegExp(t),n;if(!0===pe.test(t)&&(t=t.replace(pe,((t,e,r)=>(void 0===r?(n.min=Number(e),n.max=Number(e)):(r=r.replace(/, */,""),void 0===e?(n.min=0,n.max=Number(r)):(n.min=Number(e),n.max=Number(r||999))),n.greedy=!0,n.min||(n.optional=!0),"")))),"("===ve(t)&&")"===we(t)){de.test(t)?(n.choices=t.split(de),n.operator="and"):(n.choices=t.split("|"),n.operator="or"),n.choices[0]=be(n.choices[0]);let r=n.choices.length-1;n.choices[r]=ye(n.choices[r]),n.choices=n.choices.map((t=>t.trim())),n.choices=n.choices.filter((t=>t)),n.choices=n.choices.map((t=>t.split(/ /g).map((t=>je(t,e))))),t=""}if("{"===ve(t)&&"}"===we(t)){if(t=xe(t),n.root=t,/\//.test(t)){let t=n.root.split(/\//);n.root=t[0],n.pos=t[1],"adj"===n.pos&&(n.pos="Adjective"),n.pos=n.pos.charAt(0).toUpperCase()+n.pos.substr(1).toLowerCase(),void 0!==t[2]&&(n.sense=t[2])}return n}if("<"===ve(t)&&">"===we(t))return t=xe(t),n.chunk=ge(t),n.greedy=!0,n;if("%"===ve(t)&&"%"===we(t))return t=xe(t),n.switch=t,n}return"#"===ve(t)?(n.tag=be(t),n.tag=ge(n.tag),n):"@"===ve(t)?(n.method=be(t),n):"."===t?(n.anything=!0,n):"*"===t?(n.anything=!0,n.greedy=!0,n.optional=!0,n):(t&&(t=(t=t.replace("\\*","*")).replace("\\.","."),e.caseSensitive?n.use="text":t=t.toLowerCase(),n.word=t),n)};var Ee=je;const Oe=/[a-z0-9][-–—][a-z]/i;var ke=function(t,e){let n=e.model.one.prefixes;for(let e=t.length-1;e>=0;e-=1){let r=t[e];if(r.word&&Oe.test(r.word)){let o=r.word.split(/[-–—]/g);if(n.hasOwnProperty(o[0]))continue;o=o.filter((t=>t)).reverse(),t.splice(e,1),o.forEach((n=>{let o=Object.assign({},r);o.word=n,t.splice(e,0,o)}))}}return t};const Pe=function(t,e){let{all:n}=e.methods.two.transform.verb||{},r=t.root;return n?n(r,e.model):[]},_e=function(t,e){let{all:n}=e.methods.two.transform.noun||{};return n?n(t.root,e.model):[t.root]},Se=function(t,e){let{all:n}=e.methods.two.transform.adjective||{};return n?n(t.root,e.model):[t.root]};var Ae=function(t,e){return t=t.map((t=>{if(t.root)if(e.methods.two&&e.methods.two.transform){let n=[];t.pos?"Verb"===t.pos?n=n.concat(Pe(t,e)):"Noun"===t.pos?n=n.concat(_e(t,e)):"Adjective"===t.pos&&(n=n.concat(Se(t,e))):(n=n.concat(Pe(t,e)),n=n.concat(_e(t,e)),n=n.concat(Se(t,e))),n=n.filter((t=>t)),n.length>0&&(t.operator="or",t.fastOr=new Set(n))}else t.machine=t.root,delete t.id,delete t.root;return t}))};var $e=function(t){return t=function(t){let e=0,n=null;for(let r=0;r(t.fuzzy&&t.choices&&t.choices.forEach((e=>{1===e.length&&e[0].word&&(e[0].fuzzy=!0,e[0].min=t.min)})),t)))}(t=t.map((t=>{if(void 0!==t.choices){if("or"!==t.operator)return t;if(!0===t.fuzzy)return t;!0===t.choices.every((t=>{if(1!==t.length)return!1;let e=t[0];return!0!==e.fuzzy&&!e.start&&!e.end&&void 0!==e.word&&!0!==e.negative&&!0!==e.optional&&!0!==e.method}))&&(t.fastOr=new Set,t.choices.forEach((e=>{t.fastOr.add(e[0].word)})),delete t.choices)}return t}))),t};var Te=function(t,e,n){if(null==t||""===t)return[];e=e||{},"number"==typeof t&&(t=String(t));let r=fe(t);return r=r.map((t=>Ee(t,e))),r=ke(r,n),r=Ae(r,n),r=$e(r),r};const Ce=function(t,e){for(let n of e)if(t.has(n))return!0;return!1};var ze=function(t,e){for(let n=0;nn?r:n)+1;if(Math.abs(n-r)>(o||100))return o||100;let i,s,l,a,u,c,h=[];for(let t=0;t4)return n;l=e[i-1],a=s===l?0:1,u=h[o-1][i]+1,(c=h[o][i-1]+1)1&&i>1&&s===e[i-2]&&t[o-2]===l&&(c=h[o-2][i-2]+a)-1!==t.post.indexOf(e),De=(t,e)=>-1!==t.pre.indexOf(e),Be={hasQuote:t=>Le.test(t.pre)||Ve.test(t.post),hasComma:t=>Ge(t,","),hasPeriod:t=>!0===Ge(t,".")&&!1===Ge(t,"..."),hasExclamation:t=>Ge(t,"!"),hasQuestionMark:t=>Ge(t,"?")||Ge(t,"¿"),hasEllipses:t=>Ge(t,"..")||Ge(t,"…")||De(t,"..")||De(t,"…"),hasSemicolon:t=>Ge(t,";"),hasColon:t=>Ge(t,":"),hasSlash:t=>/\//.test(t.text),hasHyphen:t=>qe.test(t.post)||qe.test(t.pre),hasDash:t=>Fe.test(t.post)||Fe.test(t.pre),hasContraction:t=>Boolean(t.implicit),isAcronym:t=>t.tags.has("Acronym"),isKnown:t=>t.tags.size>0,isTitleCase:t=>/^\p{Lu}[a-z'\u00C0-\u00FF]/u.test(t.text),isUpperCase:t=>/^\p{Lu}+$/u.test(t.text)};Be.hasQuotation=Be.hasQuote;var Ue=Be;let Me=function(){};Me=function(t,e,n,r){let o=function(t,e,n,r){if(!0===e.anything)return!0;if(!0===e.start&&0!==n)return!1;if(!0===e.end&&n!==r-1)return!1;if(void 0!==e.id&&e.id===t.id)return!0;if(void 0!==e.word){if(e.use)return e.word===t[e.use];if(null!==t.machine&&t.machine===e.word)return!0;if(void 0!==t.alias&&t.alias.hasOwnProperty(e.word))return!0;if(!0===e.fuzzy){if(e.word===t.root)return!0;if(Ne(e.word,t.normal)>=e.min)return!0}return!(!t.alias||!t.alias.some((t=>t===e.word)))||e.word===t.text||e.word===t.normal}if(void 0!==e.tag)return!0===t.tags.has(e.tag);if(void 0!==e.method)return"function"==typeof Ue[e.method]&&!0===Ue[e.method](t);if(void 0!==e.pre)return t.pre&&t.pre.includes(e.pre);if(void 0!==e.post)return t.post&&t.post.includes(e.post);if(void 0!==e.regex){let n=t.normal;return e.use&&(n=t[e.use]),e.regex.test(n)}if(void 0!==e.chunk)return t.chunk===e.chunk;if(void 0!==e.switch)return t.switch===e.switch;if(void 0!==e.machine)return t.normal===e.machine||t.machine===e.machine||t.root===e.machine;if(void 0!==e.sense)return t.sense===e.sense;if(void 0!==e.fastOr){if(e.pos&&!t.tags.has(e.pos))return null;let n=t.root||t.implicit||t.machine||t.normal;return e.fastOr.has(n)||e.fastOr.has(t.text)}return void 0!==e.choices&&("and"===e.operator?e.choices.every((e=>Me(t,e,n,r))):e.choices.some((e=>Me(t,e,n,r))))}(t,e,n,r);return!0===e.negative?!o:o};var We=Me;const Ie=function(t,e){if(!0===t.end&&!0===t.greedy&&e.start_i+e.tn.max)return t.t=t.t+n.max,!0;if(!0===t.hasGroup){Re(t,t.t).length=r-t.t}return t.t=r,!0};const He=function(t,e=0){let n=t.regs[t.r],r=!1;for(let i=0;i{let o=0,i=t.t+r+e+o;if(void 0===t.terms[i])return!1;let s=We(t.terms[i],n,i+t.start_i,t.phrase_length);if(!0===s&&!0===n.greedy)for(let e=1;e{let r=n.every(((e,n)=>{let r=t.t+n;return void 0!==t.terms[r]&&We(t.terms[r],e,r,t.phrase_length)}));return!0===r&&n.length>e&&(e=n.length),r}))&&e}(t);if(r){if(!0===n.negative)return null;if(!0===t.hasGroup){Re(t,t.t).length+=r}if(!0===n.end){let e=t.phrase_length-1;if(t.t+t.start_i!==e)return null}return t.t+=r,!0}return!!n.optional||null};var Je=function(t,e,n){let r=0;for(let o=t.t;or)&&(t.t+=r,!0))};var Xe=function(t){const{regs:e}=t;let n=e[t.r],r=Object.assign({},n);if(r.negative=!1,We(t.terms[t.t],r,t.start_i+t.t,t.phrase_length))return!1;if(n.optional){let n=e[t.r+1];if(n){if(We(t.terms[t.t],n,t.start_i+t.t,t.phrase_length))t.r+=1;else if(n.optional&&e[t.r+2]){We(t.terms[t.t],e[t.r+2],t.start_i+t.t,t.phrase_length)&&(t.r+=2)}}}return n.greedy?Je(t,r,e[t.r+1]):(t.t+=1,!0)};var Ye=function(t){const{regs:e}=t;let n=e[t.r],r=t.terms[t.t],o=We(r,e[t.r+1],t.start_i+t.t,t.phrase_length);if(n.negative||o){let n=t.terms[t.t+1];n&&We(n,e[t.r+1],t.start_i+t.t,t.phrase_length)||(t.r+=1)}};var tn=function(t){const{regs:e,phrase_length:n}=t;let r=e[t.r];return t.t=function(t,e){let n=Object.assign({},t.regs[t.r],{start:!1,end:!1}),r=t.t;for(;t.tt.t?null:!0!==r.end||t.start_i+t.t===n||null};var en=function(t){let e=t.terms[t.t],n=t.regs[t.r];if(e.implicit&&t.terms[t.t+1]){if(!t.terms[t.t+1].implicit)return;n.word===e.normal&&(t.t+=1),"hasContraction"===n.method&&(t.t+=1)}};var nn=function(t){const{regs:e}=t;let n=e[t.r],r=t.terms[t.t],o=t.t;if(n.optional&&e[t.r+1]&&n.negative)return!0;if(n.optional&&e[t.r+1]&&Ye(t),r.implicit&&t.terms[t.t+1]&&en(t),t.t+=1,!0===n.end&&t.t!==t.terms.length&&!0!==n.greedy)return null;if(!0===n.greedy){if(!tn(t))return null}return!0===t.hasGroup&&function(t,e){let n=t.regs[t.r];const r=Re(t,e);t.t>1&&n.greedy?r.length+=t.t-e:r.length++}(t,o),!0};var rn=function(t,e,n,r){if(0===t.length||0===e.length)return null;let o={t:0,terms:t,r:0,regs:e,groups:{},start_i:n,phrase_length:r,inGroup:null};for(;o.r!t.optional)))break;return null}if(!0!==t.anything||!0!==t.greedy)if(void 0===t.choices||"or"!==t.operator)if(void 0===t.choices||"and"!==t.operator)if(!0!==t.anything)if(!0!==Ie(t,o))if(t.negative){if(!Xe(o))return null}else if(!0!==We(o.terms[o.t],t,o.start_i+o.t,o.phrase_length)){if(!0!==t.optional)return null}else{if(!nn(o))return null}else{if(!nn(o))return null}else{if(t.negative&&t.anything)return null;if(!nn(o))return null}else{if(!Ke(o))return null}else{if(!Ze(o))return null}else{if(!Qe(o))return null}}let i=[null,n,o.t+n];if(i[1]===i[2])return null;let s={};return Object.keys(o.groups).forEach((t=>{let e=o.groups[t],r=n+e.start;s[t]=[null,r,r+e.length]})),{pointer:i,groups:s}};var on=function(t,e){let n=[],r={};return 0===t.length||("number"==typeof e&&(e=String(e)),e?t.forEach((t=>{t.groups[e]&&n.push(t.groups[e])})):t.forEach((t=>{n.push(t.pointer),Object.keys(t.groups).forEach((e=>{r[e]=r[e]||[],r[e].push(t.groups[e])}))}))),{ptrs:n,byGroup:r}};var sn=function(t,e,n){return t=t.filter((t=>{let[r,o,i]=t.pointer,s=n[r].slice(o,i);for(let t=0;t{t.groups[n][0]=e})),t},an=function(t,e,n){let r=rn(t,e,0,t.length);return r?(r=ln(r,n),r):null};var un=function(t,e,n){n=n||[];let{regs:r,group:o,justOne:i}=e,s=[];if(!r||0===r.length)return{ptrs:[],byGroup:{}};const l=r.filter((t=>!0!==t.optional&&!0!==t.negative)).length;t:for(let e=0;et&&(t=Math.abs(n-1))}}else{let t=an(o,r,e);t&&s.push(t)}}return!0===r[r.length-1].end&&(s=s.filter((e=>{let n=e.pointer[0];return t[n].length===e.pointer[2]}))),e.notIf&&(s=sn(s,e.notIf,t)),s=on(s,o),s.ptrs.forEach((e=>{let[n,r,o]=e;e[3]=t[n][r].id,e[4]=t[n][o-1].id})),s};var cn={api:se,methods:{one:{termMethods:Ue,parseMatch:Te,match:un}},lib:{parseMatch:function(t,e){const n=this.world();let r=n.methods.one.killUnicode;return r&&(t=r(t,n)),n.methods.one.parseMatch(t,e,n)}}};const hn=/^\../,fn=/^#./,pn=function(t,e){let n={},r={};return Object.keys(e).forEach((o=>{let i=e[o],s=function(t){let e="",n="";return t=t.replace(/&/g,"&").replace(//g,">").replace(/"/g,""").replace(/'/g,"'"),hn.test(t)?e=``),e+=">",{start:e,end:n}}(o);"string"==typeof i&&(i=t.match(i)),i.docs.forEach((t=>{if(t.every((t=>t.implicit)))return;let e=t[0].id;n[e]=n[e]||[],n[e].push(s.start);let o=t[t.length-1].id;r[o]=r[o]||[],r[o].push(s.end)}))})),{starts:n,ends:r}};var dn={html:function(t){let{starts:e,ends:n}=pn(this,t),r="";return this.docs.forEach((t=>{for(let o=0;o{let n=t.pre||"",o=t.post||"";"some"===e.punctuation&&(n=n.replace(gn,""),vn.test(o)&&(o=" "),o=o.replace(wn,""),o=o.replace(/\?!+/,"?"),o=o.replace(/!+/,"!"),o=o.replace(/\?+/,"?"),o=o.replace(/\.{2,}/,""),t.tags.has("Abbreviation")&&(o=o.replace(/\./,""))),"some"===e.whitespace&&(n=n.replace(/\s/,""),o=o.replace(/\s+/," ")),e.keepPunct||(n=n.replace(gn,""),o="-"===o?" ":o.replace(mn,""));let i=t[e.form||"text"]||t.normal||"";"implicit"===e.form&&(i=t.implicit||t.text),"root"===e.form&&t.implicit&&(i=t.root||t.implicit||t.normal),"machine"!==e.form&&"implicit"!==e.form&&"root"!==e.form||!t.implicit||o&&bn.test(o)||(o+=" "),r+=n+i+o})),!1===n&&(r=r.trim()),!0===e.lowerCase&&(r=r.toLowerCase()),r},xn={text:{form:"text"},normal:{whitespace:"some",punctuation:"some",case:"some",unicode:"some",form:"normal"},machine:{keepSpace:!1,whitespace:"some",punctuation:"some",case:"none",unicode:"some",form:"machine"},root:{keepSpace:!1,whitespace:"some",punctuation:"some",case:"some",unicode:"some",form:"root"},implicit:{form:"implicit"}};xn.clean=xn.normal,xn.reduced=xn.root;var jn=xn;let En=[],On=0;for(;On<64;)En[On]=0|4294967296*Math.sin(++On%Math.PI);function kn(t){let e,n,r,o=[e=1732584193,n=4023233417,~e,~n],i=[],s=decodeURI(encodeURI(t))+"€",l=s.length;for(t=--l/4+2|15,i[--t]=8*l;~l;)i[l>>2]|=s.charCodeAt(l)<<8*l--;for(On=s=0;On>4]+En[s]+~~i[On|15&[s,5*s+1,3*s+5,7*s][l]])<<(l=[7,12,17,22,5,9,14,20,4,11,16,23,6,10,15,21][4*l+s++%4])|r>>>-l),e,n])e=0|l[1],n=l[2];for(s=4;s;)o[--s]+=l[s]}for(t="";s<32;)t+=(o[s>>3]>>4*(1^s++)&15).toString(16);return t}const Pn={text:!0,terms:!0};let _n={case:"none",unicode:"some",form:"machine",punctuation:"some"};const Sn=function(t,e){return Object.assign({},t,e)},An={text:t=>yn(t,{keepPunct:!0},!1),normal:t=>yn(t,Sn(jn.normal,{keepPunct:!0}),!1),implicit:t=>yn(t,Sn(jn.implicit,{keepPunct:!0}),!1),machine:t=>yn(t,_n,!1),root:t=>yn(t,Sn(_n,{form:"root"}),!1),hash:t=>kn(yn(t,{keepPunct:!0},!1)),offset:t=>{let e=An.text(t).length;return{index:t[0].offset.index,start:t[0].offset.start,length:e}},terms:t=>t.map((t=>{let e=Object.assign({},t);return e.tags=Array.from(t.tags),e})),confidence:(t,e,n)=>e.eq(n).confidence(),syllables:(t,e,n)=>e.eq(n).syllables(),sentence:(t,e,n)=>e.eq(n).fullSentence().text(),dirty:t=>t.some((t=>!0===t.dirty))};An.sentences=An.sentence,An.clean=An.normal,An.reduced=An.root;const $n={json:function(t){let e=(n=this,"string"==typeof(r=(r=t)||{})&&(r={}),(r=Object.assign({},Pn,r)).offset&&n.compute("offset"),n.docs.map(((t,e)=>{let o={};return Object.keys(r).forEach((i=>{r[i]&&An[i]&&(o[i]=An[i](t,n,e))})),o})));var n,r;return"number"==typeof t?e[t]:e}};$n.data=$n.json;var Tn=$n;var Cn=function(t){console.log("%c -=-=- ","background-color:#6699cc;"),t.forEach((t=>{console.groupCollapsed(t.text());let e=t.docs[0].map((t=>{let e=t.text||"-";return t.implicit&&(e="["+t.implicit+"]"),{text:e,tags:"["+Array.from(t.tags).join(", ")+"]"}}));console.table(e,["text","tags"]),console.groupEnd()}))};const zn="";var Nn={green:t=>""+t+zn,red:t=>""+t+zn,blue:t=>""+t+zn,magenta:t=>""+t+zn,cyan:t=>""+t+zn,yellow:t=>""+t+zn,black:t=>""+t+zn,dim:t=>""+t+zn,i:t=>""+t+zn};var Ln=function(t){let{docs:e,model:n}=t;0===e.length&&console.log(Nn.blue("\n ──────")),e.forEach((e=>{console.log(Nn.blue("\n ┌─────────")),e.forEach((e=>{let r=[...e.tags||[]],o=e.text||"-";e.sense&&(o=`{${e.normal}/${e.sense}}`),e.implicit&&(o="["+e.implicit+"]"),o=Nn.yellow(o);let i="'"+o+"'";if(e.reference){let n=t.update([e.reference]).text("normal");i+=` - ${Nn.dim(Nn.i("["+n+"]"))}`}i=i.padEnd(18);let s=Nn.blue(" │ ")+Nn.i(i)+" - "+function(t,e){return e.one.tagSet&&(t=t.map((t=>{if(!e.one.tagSet.hasOwnProperty(t))return t;const n=e.one.tagSet[t].color||"blue";return Nn[n](t)}))),t.join(", ")}(r,n);console.log(s)}))}))};var Vn=function(t){let{docs:e}=t;console.log(""),e.forEach((t=>{let e=[];t.forEach((t=>{"Noun"===t.chunk?e.push(Nn.blue(t.implicit||t.normal)):"Verb"===t.chunk?e.push(Nn.green(t.implicit||t.normal)):"Adjective"===t.chunk?e.push(Nn.yellow(t.implicit||t.normal)):"Pivot"===t.chunk?e.push(Nn.red(t.implicit||t.normal)):e.push(t.implicit||t.normal)})),console.log(e.join(" "),"\n")}))};var qn=function(t){if(!t.found)return;let e={};t.fullPointer.forEach((t=>{e[t[0]]=e[t[0]]||[],e[t[0]].push(t)})),Object.keys(e).forEach((n=>{let r=t.update([[Number(n)]]).text();t.update(e[n]).json({offset:!0}).forEach(((t,e)=>{r=function(t,e,n){let r=((t,e,n)=>{let r=9*n,o=e.start+r,i=o+e.length;return[t.substring(0,o),t.substring(o,i),t.substring(i,t.length)]})(t,e,n);return`${r[0]}${Nn.blue(r[1])}${r[2]}`}(r,t.offset,e)})),console.log(r)}))};var Fn=function(t={}){let e=this;if("string"==typeof t){let e={};e[t]=!0,t=e}return"undefined"!=typeof window&&window.document?(Cn(e),e):(!1!==t.tags&&(Ln(e),console.log("\n")),!0===t.chunks&&(Vn(e),console.log("\n")),!0===t.highlight&&(qn(e),console.log("\n")),e)};const Gn=function(t){let e=t.pre||"",n=t.post||"";return e+t.text+n};var Dn=function(t,e){let n=function(t,e){let n={};return Object.keys(e).forEach((r=>{t.match(r).fullPointer.forEach((t=>{n[t[3]]={fn:e[r],end:t[2]}}))})),n}(t,e),r="";return t.docs.forEach(((e,o)=>{for(let i=0;it.reduce(((t,e)=>t+e.pre+e.text+e.post),"").trim()));return t.filter((t=>t))}if("freq"===t||"frequency"===t||"topk"===t)return function(t){let e={};t.forEach((t=>{e[t]=e[t]||0,e[t]+=1}));let n=Object.keys(e).map((t=>({normal:t,count:e[t]})));return n.sort(((t,e)=>t.count>e.count?-1:0))}(this.json({normal:!0}).map((t=>t.normal)));if("terms"===t){let t=[];return this.docs.forEach((e=>{let n=e.map((t=>t.text));n=n.filter((t=>t)),t=t.concat(n)})),t}return"tags"===t?this.docs.map((t=>t.reduce(((t,e)=>(t[e.implicit||e.normal]=Array.from(e.tags),t)),{}))):"debug"===t?this.debug():this.text()},wrap:function(t){return Dn(this,t)}};var Un=Bn;var Mn={text:function(t){let e={};var n;if(t&&"string"==typeof t&&jn.hasOwnProperty(t)?e=Object.assign({},jn[t]):t&&(n=t,"[object Object]"===Object.prototype.toString.call(n))&&(e=Object.assign({},t)),void 0!==e.keepSpace||this.isFull()||(e.keepSpace=!1),void 0===e.keepEndPunct&&this.pointer){let t=this.pointer[0];t&&t[1]?e.keepEndPunct=!1:e.keepEndPunct=!0}return void 0===e.keepPunct&&(e.keepPunct=!0),void 0===e.keepSpace&&(e.keepSpace=!0),function(t,e){let n="";if(!t||!t[0]||!t[0][0])return n;for(let r=0;ro||o<=n&&i>n},Hn=function(t){let e={};return t.forEach((t=>{e[t[0]]=e[t[0]]||[],e[t[0]].push(t)})),e};var Zn=function(t,e){let n=Hn(e),r=[];return t.forEach((t=>{let[e]=t,o=n[e]||[];if(o=o.filter((e=>function(t,e){return t[1]<=e[1]&&e[2]<=t[2]}(t,e))),0===o.length)return void r.push({passthrough:t});o=o.sort(((t,e)=>t[1]-e[1]));let i=t;o.forEach(((t,e)=>{let n=function(t,e){let[n,r]=t,o=e[1],i=e[2],s={};if(ri&&(s.after=[n,i,t[2]]),s}(i,t);o[e+1]?(r.push({before:n.before,match:n.match}),n.after&&(i=n.after)):r.push(n)}))})),r};var Kn=function(t,e){let n=[];return t.forEach(((r,o)=>{if(!r)return;let[i,s,l,a,u]=r,c=e[i]||[];if(void 0===s&&(s=0),void 0===l&&(l=c.length),!a||c[s]&&c[s].id===a)c=c.slice(s,l);else{let n=function(t,e,n){for(let r=0;r<20;r+=1){if(e[n-r]){let o=e[n-r].findIndex((e=>e.id===t));if(-1!==o)return[n-r,o]}if(e[n+r]){let o=e[n+r].findIndex((e=>e.id===t));if(-1!==o)return[n+r,o]}}return null}(a,e,i);if(null!==n){let r=l-s;c=e[n[0]].slice(n[1],n[1]+r);let i=c[0]?c[0].id:null;t[o]=[n[0],n[1],n[1]+r,i]}}0!==c.length&&s!==l&&(u&&c[c.length-1].id!==u&&(c=function(t,e){let[n,r,,,o]=t,i=e[n],s=i.findIndex((t=>t.id===o));return-1===s?(t[2]=e[n].length,t[4]=i.length?i[i.length-1].id:null):t[2]=s,e[n].slice(r,t[2]+1)}(r,e)),n.push(c))})),n=n.filter((t=>t.length>0)),n};var Jn={one:{termList:function(t){let e=[];for(let n=0;n{let[e]=t;if(1===r[e].length)return void o.push(t);let n=r[e].filter((e=>Qn(t,e)));n.push(t);let i=function(t){let e=t[0][1],n=t[0][2];return t.forEach((t=>{t[1]n&&(n=t[2])})),[t[0][0],e,n]}(n);o.push(i)})),o=function(t){let e={};for(let n=0;n{t.passthrough&&n.push(t.passthrough),t.before&&n.push(t.before),t.after&&n.push(t.after)})),n};var tr=function(t,e){let n=Hn(e),r=[];return t.forEach((t=>{let e=n[t[0]]||[];e=e.filter((e=>Qn(t,e))),0!==e.length&&e.forEach((e=>{let n=function(t,e){let n=t[1]e[2]?e[2]:t[2];return n{return"string"==typeof t||(n=t,"[object Array]"===Object.prototype.toString.call(n))?e.match(t):t||e.none();var n},nr=function(t,e){return t.map((t=>{let[n,r]=t;return e[n]&&e[n][r]&&(t[3]=e[n][r].id),t}))},rr={union:function(t){t=er(t,this);let e=Xn(this.fullPointer,t.fullPointer);return e=nr(e,this.document),this.toView(e)}};rr.and=rr.union,rr.intersection=function(t){t=er(t,this);let e=tr(this.fullPointer,t.fullPointer);return e=nr(e,this.document),this.toView(e)},rr.not=function(t){t=er(t,this);let e=Yn(this.fullPointer,t.fullPointer);return e=nr(e,this.document),this.toView(e)},rr.difference=rr.not,rr.complement=function(){let t=this.all(),e=Yn(t.fullPointer,this.fullPointer);return e=nr(e,this.document),this.toView(e)},rr.settle=function(){let t=this.fullPointer;return t.forEach((e=>{t=Xn(t,[e])})),t=nr(t,this.document),this.update(t)};var or=function(t){Object.assign(t.prototype,rr)},ir={methods:Jn,api:or};var sr=function(t){t.prototype.sweep=function(t,e={}){const{world:n,docs:r}=this,{methods:o}=n;let i=o.one.bulkMatch(r,t,this.methods,e);!1!==e.tagger&&o.one.bulkTagger(i,r,this.world),i=i.map((t=>{let e=t.pointer,n=r[e[0]][e[1]],o=e[2]-e[1];return n.index&&(t.pointer=[n.index[0],n.index[1],e[1]+o]),t}));let s=i.map((t=>t.pointer));return i=i.map((t=>(t.view=this.update([t.pointer]),delete t.regs,delete t.needs,delete t.pointer,delete t._expanded,t))),{view:this.update(s),found:i}}};const lr=function(t){return!0===t.optional||!0===t.negative?null:t.tag?"#"+t.tag:t.word?t.word:t.switch?`%${t.switch}%`:null};var ar=function(t,e){const n=e.methods.one.parseMatch;return t.forEach((t=>{t.regs=n(t.match,{},e),"string"==typeof t.ifNo&&(t.ifNo=[t.ifNo]),t.notIf&&(t.notIf=n(t.notIf,{},e)),t.needs=function(t){let e=[];return t.forEach((t=>{e.push(lr(t)),"and"===t.operator&&t.choices&&t.choices.forEach((t=>{t.forEach((t=>{e.push(lr(t))}))}))})),e.filter((t=>t))}(t.regs);let{wants:r,count:o}=function(t){let e=[],n=0;return t.forEach((t=>{"or"!==t.operator||t.optional||t.negative||(t.fastOr&&Array.from(t.fastOr).forEach((t=>{e.push(t)})),t.choices&&t.choices.forEach((t=>{t.forEach((t=>{let n=lr(t);n&&e.push(n)}))})),n+=1)})),{wants:e,count:n}}(t.regs);t.wants=r,t.minWant=o,t.minWords=t.regs.filter((t=>!t.optional)).length})),t};var ur=function(t,e){t=ar(t,e);let n={};t.forEach((t=>{t.needs.forEach((e=>{n[e]=n[e]||[],n[e].push(t)})),t.wants.forEach((e=>{n[e]=n[e]||[],n[e].push(t)}))})),Object.keys(n).forEach((t=>{let e={};n[t]=n[t].filter((t=>!e[t.match]&&(e[t.match]=!0,!0)))}));let r=t.filter((t=>0===t.needs.length&&0===t.wants.length));return{hooks:n,always:r}};var cr=function(t,e){return t.map(((n,r)=>{let o=[];Object.keys(e).forEach((n=>{t[r].has(n)&&(o=o.concat(e[n]))}));let i={};return o=o.filter((t=>!i[t.match]&&(i[t.match]=!0,!0))),o}))};var hr=function(t,e){return t.map(((t,n)=>{let r=e[n];return t=(t=(t=t.filter((t=>t.needs.every((t=>r.has(t)))))).filter((t=>void 0===t.ifNo||!0!==t.ifNo.some((t=>r.has(t)))))).filter((t=>{if(0===t.wants.length)return!0;return t.wants.filter((t=>r.has(t))).length>=t.minWant}))}))};var fr=function(t,e,n,r,o){let i=[];for(let n=0;n0&&(a.ptrs.forEach((t=>{t[0]=n;let e=Object.assign({},l,{pointer:t});void 0!==l.unTag&&(e.unTag=l.unTag),i.push(e)})),!0===o.matchOne))return[i[0]]}return i};var pr=function(t,e,n,r={}){let o=n.one.cacheDoc(t),i=cr(o,e.hooks);return i=hr(i,o),e.always.length>0&&(i=i.map((t=>t.concat(e.always)))),i=function(t,e){return t.map(((t,n)=>{let r=e[n].length;return t=t.filter((t=>r>=t.minWords)),t}))}(i,t),fr(i,t,o,n,r)};var dr=function(t,e,n){let r=n.one.tagSet;if(!r.hasOwnProperty(e))return!0;let o=r[e].not||[];for(let e=0;e{if(!t.tag&&!t.chunk&&!t.unTag)return;let o=t.reason||t.match,u=i([t.pointer],e)[0];if(!0===t.safe){if(!1===dr(u,t.tag,r))return;if("-"===u[u.length-1].post)return}if(void 0!==t.tag&&(s(u,t.tag,n,t.safe,`[post] '${o}'`),"Noun"===t.tag&&a)){let e=u[u.length-1];a(e.text)?s([e],"Plural",n,t.safe,"quick-plural"):s([e],"Singular",n,t.safe,"quick-singular")}void 0!==t.unTag&&l(u,t.unTag,n,t.safe,o),t.chunk&&u.forEach((e=>e.chunk=t.chunk))}))},gr={lib:{buildNet:function(t){let e=this.methods().one.buildNet(t,this.world());return e.isNet=!0,e}},api:sr,methods:{one:{buildNet:ur,bulkMatch:pr,bulkTagger:mr}}};const wr=/ /,vr=function(t,e){"Noun"===e&&(t.chunk=e),"Verb"===e&&(t.chunk=e)},br=function(t,e,n,r){if(!0===t.tags.has(e))return null;if("."===e)return null;let o=n[e];if(o){if(o.not&&o.not.length>0)for(let e=0;e0)for(let e=0;e{let r=t.map((t=>t.text||"["+t.implicit+"]")).join(" ");var o;"string"!=typeof e&&e.length>2&&(e=e.slice(0,2).join(", #")+" +"),e="string"!=typeof e?e.join(", #"):e,console.log(` ${(o=r,""+o+"").padEnd(24)} → #${e.padEnd(22)} ${(t=>""+t+"")(n)}`)})(t,e,o),!0!=(l=e,"[object Array]"===Object.prototype.toString.call(l)))if("string"==typeof e)if(e=e.trim(),wr.test(e))!function(t,e,n,r){let o=e.split(wr);t.forEach(((t,e)=>{let i=o[e];i&&(i=i.replace(/^#/,""),br(t,i,n,r))}))}(t,e,i,r);else{e=e.replace(/^#/,"");for(let n=0;nyr(t,e,n,r)))};var xr=yr;var jr=function(t,e,n){e=e.trim().replace(/^#/,"");for(let r=0;r0)for(let t=0;t/),n=[];e.forEach((t=>{n=n.concat(function(t){if(!(t=t.trim()))return null;if(/^\[/.test(t)&&/\]$/.test(t)){let e=(t=(t=t.replace(/^\[/,"")).replace(/\]$/,"")).split(/,/);return e=e.map((t=>t.trim())).filter((t=>t)),e=e.map((t=>Er({id:t}))),e}return[Er({id:t})]}(t))})),n=n.filter((t=>t));let r=n[0];for(let t=1;t{let n=[],r=[t];for(;r.length>0;){let t=r.pop();n.push(t),t.children&&t.children.forEach((n=>{e&&e(t,n),r.push(n)}))}return n},_r=t=>"[object Array]"===Object.prototype.toString.call(t),Sr=t=>(t=t||"").trim(),Ar=function(t=[]){return"string"==typeof t?function(t){let e=t.split(/\r?\n/),n=[];e.forEach((t=>{if(!t.trim()||Or.test(t))return;let e=(t=>{const e=/^( {2}|\t)/;let n=0;for(;e.test(t);)t=t.replace(e,""),n+=1;return n})(t);n.push({indent:e,node:kr(t)})}));let r=function(t){let e={children:[]};return t.forEach(((n,r)=>{0===n.indent?e.children=e.children.concat(n.node):t[r-1]&&function(t,e){let n=t[e].indent;for(;e>=0;e-=1)if(t[e].indent{e[t.id]=t}));let n=Er({});return t.forEach((t=>{if((t=Er(t)).parent)if(e.hasOwnProperty(t.parent)){let n=e[t.parent];delete t.parent,n.children.push(t)}else console.warn(`[Grad] - missing node '${t.parent}'`);else n.children.push(t)})),n}(t):(Pr(e=t).forEach(Er),e);var e},$r=function(t,e){let n="-> ";e&&(n=(t=>""+t+"")("→ "));let r="";return Pr(t).forEach(((t,o)=>{let i=t.id||"";if(e&&(i=(t=>""+t+"")(i)),0===o&&!t.id)return;let s=t._cache.parents.length;r+=" ".repeat(s)+n+i+"\n"})),r},Tr=function(t){let e=Pr(t);e.forEach((t=>{delete(t=Object.assign({},t)).children}));let n=e[0];return n&&!n.id&&0===Object.keys(n.props).length&&e.shift(),e},Cr={text:$r,txt:$r,array:Tr,flat:Tr},zr=function(t,e){return"nested"===e||"json"===e?t:"debug"===e?(console.log($r(t,!0)),null):Cr.hasOwnProperty(e)?Cr[e](t):t},Nr=t=>{Pr(t,((t,e)=>{t.id&&(t._cache.parents=t._cache.parents||[],e._cache.parents=t._cache.parents.concat([t.id]))}))},Lr=/\//;class g{constructor(t={}){Object.defineProperty(this,"json",{enumerable:!1,value:t,writable:!0})}get children(){return this.json.children}get id(){return this.json.id}get found(){return this.json.id||this.json.children.length>0}props(t={}){let e=this.json.props||{};return"string"==typeof t&&(e[t]=!0),this.json.props=Object.assign(e,t),this}get(t){if(t=Sr(t),!Lr.test(t)){let e=this.json.children.find((e=>e.id===t));return new g(e)}let e=((t,e)=>{let n=(t=>"string"!=typeof t?t:(t=t.replace(/^\//,"")).split(/\//))(e=e||"");for(let e=0;et.id===n[e]));if(!r)return null;t=r}return t})(this.json,t)||Er({});return new g(e)}add(t,e={}){if(_r(t))return t.forEach((t=>this.add(Sr(t),e))),this;t=Sr(t);let n=Er({id:t,props:e});return this.json.children.push(n),new g(n)}remove(t){return t=Sr(t),this.json.children=this.json.children.filter((e=>e.id!==t)),this}nodes(){return Pr(this.json).map((t=>(delete(t=Object.assign({},t)).children,t)))}cache(){return(t=>{let e=Pr(t,((t,e)=>{t.id&&(t._cache.parents=t._cache.parents||[],t._cache.children=t._cache.children||[],e._cache.parents=t._cache.parents.concat([t.id]))})),n={};e.forEach((t=>{t.id&&(n[t.id]=t)})),e.forEach((t=>{t._cache.parents.forEach((e=>{n.hasOwnProperty(e)&&n[e]._cache.children.push(t.id)}))})),t._cache.children=Object.keys(n)})(this.json),this}list(){return Pr(this.json)}fillDown(){var t;return t=this.json,Pr(t,((t,e)=>{e.props=((t,e)=>(Object.keys(e).forEach((n=>{if(e[n]instanceof Set){let r=t[n]||new Set;t[n]=new Set([...r,...e[n]])}else if((t=>t&&"object"==typeof t&&!Array.isArray(t))(e[n])){let r=t[n]||{};t[n]=Object.assign({},e[n],r)}else _r(e[n])?t[n]=e[n].concat(t[n]||[]):void 0===t[n]&&(t[n]=e[n])})),t))(e.props,t.props)})),this}depth(){Nr(this.json);let t=Pr(this.json),e=t.length>1?1:0;return t.forEach((t=>{if(0===t._cache.parents.length)return;let n=t._cache.parents.length+1;n>e&&(e=n)})),e}out(t){return Nr(this.json),zr(this.json,t)}debug(){return Nr(this.json),zr(this.json,"debug"),this}}const Vr=function(t){let e=Ar(t);return new g(e)};Vr.prototype.plugin=function(t){t(this)};var qr={Noun:"blue",Verb:"green",Negative:"green",Date:"red",Value:"red",Adjective:"magenta",Preposition:"cyan",Conjunction:"cyan",Determiner:"cyan",Hyphenated:"cyan",Adverb:"cyan"};const Fr=function(t){if(qr.hasOwnProperty(t.id))return qr[t.id];if(qr.hasOwnProperty(t.is))return qr[t.is];let e=t._cache.parents.find((t=>qr[t]));return qr[e]};var Gr=function(t){const e={};return t.forEach((t=>{let{not:n,also:r,is:o,novel:i}=t.props,s=t._cache.parents;r&&(s=s.concat(r)),e[t.id]={is:o,not:n,novel:i,also:r,parents:s,children:t._cache.children,color:Fr(t)}})),Object.keys(e).forEach((t=>{let n=new Set(e[t].not);e[t].not.forEach((t=>{e[t]&&e[t].children.forEach((t=>n.add(t)))})),e[t].not=Array.from(n)})),e};const Dr=function(t){return t?"string"==typeof t?[t]:t:[]};var Br=function(t,e){return t=function(t,e){return Object.keys(t).forEach((n=>{t[n].isA&&(t[n].is=t[n].isA),t[n].notA&&(t[n].not=t[n].notA),t[n].is&&"string"==typeof t[n].is&&(e.hasOwnProperty(t[n].is)||t.hasOwnProperty(t[n].is)||(t[t[n].is]={})),t[n].not&&"string"==typeof t[n].not&&!t.hasOwnProperty(t[n].not)&&(e.hasOwnProperty(t[n].not)||t.hasOwnProperty(t[n].not)||(t[t[n].not]={}))})),t}(t,e),Object.keys(t).forEach((e=>{t[e].children=Dr(t[e].children),t[e].not=Dr(t[e].not)})),Object.keys(t).forEach((e=>{(t[e].not||[]).forEach((n=>{t[n]&&t[n].not&&t[n].not.push(e)}))})),t};var Ur=function(t,e){Object.keys(e).length>0&&(t=function(t){return Object.keys(t).forEach((e=>{t[e]=Object.assign({},t[e]),t[e].novel=!0})),t}(t)),t=Br(t,e);const n=function(t){const e=Object.keys(t).map((e=>{let n=t[e];const r={not:new Set(n.not),also:n.also,is:n.is,novel:n.novel};return{id:e,parent:n.is,props:r,children:[]}}));return Vr(e).cache().fillDown().out("array")}(Object.assign({},e,t));return Gr(n)},Mr={one:{setTag:xr,unTag:jr,addTags:Ur}};const Wr=function(t){return"[object Array]"===Object.prototype.toString.call(t)},Ir={tag:function(t,e="",n){if(!this.found||!t)return this;let r=this.termList();if(0===r.length)return this;const{methods:o,verbose:i,world:s}=this;return!0===i&&console.log(" + ",t,e||""),Wr(t)?t.forEach((t=>o.one.setTag(r,t,s,n,e))):o.one.setTag(r,t,s,n,e),this.uncache(),this},tagSafe:function(t,e=""){return this.tag(t,e,!0)},unTag:function(t,e){if(!this.found||!t)return this;let n=this.termList();if(0===n.length)return this;const{methods:r,verbose:o,model:i}=this;!0===o&&console.log(" - ",t,e||"");let s=i.one.tagSet;return Wr(t)?t.forEach((t=>r.one.unTag(n,t,s))):r.one.unTag(n,t,s),this.uncache(),this},canBe:function(t){t=t.replace(/^#/,"");let e=this.model.one.tagSet;if(!e.hasOwnProperty(t))return this;let n=e[t].not||[],r=[];this.document.forEach(((t,e)=>{t.forEach(((t,o)=>{n.find((e=>t.tags.has(e)))&&r.push([e,o,o+1])}))}));let o=this.update(r);return this.difference(o)}};var Rr=Ir;var Qr=function(t){Object.assign(t.prototype,Rr)};var Hr={addTags:function(t){const{model:e,methods:n}=this.world(),r=e.one.tagSet;let o=(0,n.one.addTags)(t,r);return e.one.tagSet=o,this}};const Zr=new Set(["Auxiliary","Possessive"]);var Kr=function(t){const{document:e,world:n}=t,r=n.model.one.tagSet;e.forEach((t=>{t.forEach((t=>{let e=Array.from(t.tags);t.tagRank=function(t,e){return t=t.sort(((t,n)=>{if(Zr.has(t)||!e.hasOwnProperty(n))return 1;if(Zr.has(n)||!e.hasOwnProperty(t))return-1;let r=e[t].children||[],o=r.length;return r=e[n].children||[],o-r.length})),t}(e,r)}))}))},Jr={model:{one:{tagSet:{}}},compute:{tagRank:Kr},methods:Mr,api:Qr,lib:Hr};const Xr=/([.!?\u203D\u2E18\u203C\u2047-\u2049\u3002]+\s)/g,Yr=/^[.!?\u203D\u2E18\u203C\u2047-\u2049\u3002]+\s$/,to=/((?:\r?\n|\r)+)/;var eo=function(t){let e=[],n=t.split(to);for(let t=0;t0&&(o.push(i),t[e]="")}return o};const so={'"':'"',""":""","“":"”","‟":"”","„":"”","⹂":"”","‚":"’","«":"»","‹":"›","‵":"′","‶":"″","‷":"‴","〝":"〞","〟":"〞"},lo=RegExp("["+Object.keys(so).join("")+"]","g"),ao=RegExp("["+Object.values(so).join("")+"]","g"),uo=function(t){if(!t)return!1;let e=t.match(ao);return null!==e&&1===e.length};var co=function(t){let e=[];for(let n=0;n(t[e]=!0,t)),{});var _o=function(t,e){let n=[],r=[];if("number"==typeof(t=t||"")&&(t=String(t)),function(t){return"[object Array]"===Object.prototype.toString.call(t)}(t))return t;const o=t.split(ko);for(let t=0;t0?(n[n.length-1]+=i,n.push(e)):n.push(i+e),i=""):i+=e}return i&&(0===n.length&&(n[0]=""),n[n.length-1]+=i),n=jo(n),n=yo(n),n=n.filter((t=>t)),n};const So=/\p{Letter}/u,Ao=/[\p{Number}\p{Currency_Symbol}]/u,$o=/^[a-z]\.([a-z]\.)+/i,To=/[sn]['’]$/;var Co=function(t,e){let{prePunctuation:n,postPunctuation:r,emoticons:o}=e.one,i=t,s="",l="",a=Array.from(t);if(o.hasOwnProperty(t.trim()))return{str:t.trim(),pre:s,post:" "};let u=a.length;for(let t=0;t(l=t||"",""))),t=i,s=""),{str:t,pre:s,post:l}};var zo=(t,e)=>{let{str:n,pre:r,post:o}=Co(t,e);return{text:n,pre:r,post:o,tags:new Set}};var No=function(t,e){const n=e.model.one.unicode||{};let r=(t=t||"").split("");return r.forEach(((t,e)=>{n[t]&&(r[e]=n[t])})),r.join("")};var Lo=function(t){let e=t=(t=(t=t||"").toLowerCase()).trim();return t=(t=(t=t.replace(/[,;.!?]+$/,"")).replace(/\u2026/g,"...")).replace(/\u2013/g,"-"),!1===/^[:;]/.test(t)&&(t=(t=(t=t.replace(/\.{3,}$/g,"")).replace(/[",.!:;?)]+$/g,"")).replace(/^['"(]+/g,"")),""===(t=(t=t.replace(/[\u200B-\u200D\uFEFF]/g,"")).trim())&&(t=e),t=t.replace(/([0-9]),([0-9])/g,"$1$2")};const Vo=/([A-Z]\.)+[A-Z]?,?$/,qo=/^[A-Z]\.,?$/,Fo=/[A-Z]{2,}('s|,)?$/,Go=/([a-z]\.)+[a-z]\.?$/;var Do=function(t){return function(t){return!0===Vo.test(t)||!0===Go.test(t)||!0===qo.test(t)||!0===Fo.test(t)}(t)&&(t=t.replace(/\./g,"")),t};var Bo=function(t,e){const n=e.methods.one.killUnicode;let r=t.text||"";r=Lo(r),r=n(r,e),r=Do(r),t.normal=r};var Uo=function(t,e){const{methods:n,model:r}=e,{splitSentences:o,splitTerms:i,splitWhitespace:s}=n.one.tokenize;return t=o(t=t||"",e).map((t=>{let n=i(t,r);return n=n.map((t=>s(t,r))),n.forEach((t=>{Bo(t,e)})),n})),t};const Mo=/[ .][A-Z]\.? *$/i,Wo=/(?:\u2026|\.{2,}) *$/,Io=/\p{L}/u,Ro=/\. *$/,Qo=/^[A-Z]\. $/;var Ho={one:{killUnicode:No,tokenize:{splitSentences:wo,isSentence:function(t,e){if(!1===Io.test(t))return!1;if(!0===Mo.test(t))return!1;if(3===t.length&&Qo.test(t))return!1;if(!0===Wo.test(t))return!1;let n=t.replace(/[.!?\u203D\u2E18\u203C\u2047-\u2049] *$/,"").split(" "),r=n[n.length-1].toLowerCase();return!0!==e.hasOwnProperty(r)||!0!==Ro.test(t)},splitTerms:_o,splitWhitespace:zo,fromString:Uo}}};var Zo={"&":"and","@":"at","%":"percent",plz:"please",bein:"being"};let Ko={},Jo={};[[["approx","apt","bc","cyn","eg","esp","est","etc","ex","exp","prob","pron","gal","min","pseud","fig","jd","lat","lng","vol","fm","def","misc","plz","ea","ps","sec","pt","pref","pl","pp","qt","fr","sq","nee","ss","tel","temp","vet","ver","fem","masc","eng","adj","vb","rb","inf","situ","vivo","vitro","wr"]],[["dl","ml","gal","qt","pt","tbl","tsp","tbsp","km","dm","cm","mm","mi","td","hr","hrs","kg","hg","dg","cg","mg","µg","lb","oz","sq ft","hz","mps","mph","kmph","kb","mb","tb","lx","lm","fl oz","yb"],"Unit"],[["ad","al","arc","ba","bl","ca","cca","col","corp","ft","fy","ie","lit","ma","md","pd","tce"],"Noun"],[["adj","adm","adv","asst","atty","bldg","brig","capt","cmdr","comdr","cpl","det","dr","esq","gen","gov","hon","jr","llb","lt","maj","messrs","mlle","mme","mr","mrs","ms","mstr","phd","prof","pvt","rep","reps","res","rev","sen","sens","sfc","sgt","sir","sr","supt","surg"],"Honorific"],[["jan","feb","mar","apr","jun","jul","aug","sep","sept","oct","nov","dec"],"Month"],[["dept","univ","assn","bros","inc","ltd","co"],"Organization"],[["rd","st","dist","mt","ave","blvd","cl","cres","hwy","ariz","cal","calif","colo","conn","fla","fl","ga","ida","ia","kan","kans","minn","neb","nebr","okla","penna","penn","pa","dak","tenn","tex","ut","vt","va","wis","wisc","wy","wyo","usafa","alta","ont","que","sask"],"Place"]].forEach((t=>{t[0].forEach((e=>{Ko[e]=!0,Jo[e]="Abbreviation",void 0!==t[1]&&(Jo[e]=[Jo[e],t[1]])}))}));var Xo=["anti","bi","co","contra","de","extra","infra","inter","intra","macro","micro","mis","mono","multi","peri","pre","pro","proto","pseudo","re","sub","supra","trans","tri","un","out","ex"].reduce(((t,e)=>(t[e]=!0,t)),{});let Yo={"!":"¡","?":"¿Ɂ",'"':'“”"❝❞',"'":"‘‛❛❜’","-":"—–",a:"ªÀÁÂÃÄÅàáâãäåĀāĂ㥹ǍǎǞǟǠǡǺǻȀȁȂȃȦȧȺΆΑΔΛάαλАаѦѧӐӑӒӓƛæ",b:"ßþƀƁƂƃƄƅɃΒβϐϦБВЪЬвъьѢѣҌҍ",c:"¢©ÇçĆćĈĉĊċČčƆƇƈȻȼͻͼϲϹϽϾСсєҀҁҪҫ",d:"ÐĎďĐđƉƊȡƋƌ",e:"ÈÉÊËèéêëĒēĔĕĖėĘęĚěƐȄȅȆȇȨȩɆɇΈΕΞΣέεξϵЀЁЕеѐёҼҽҾҿӖӗễ",f:"ƑƒϜϝӺӻҒғſ",g:"ĜĝĞğĠġĢģƓǤǥǦǧǴǵ",h:"ĤĥĦħƕǶȞȟΉΗЂЊЋНнђћҢңҤҥҺһӉӊ",I:"ÌÍÎÏ",i:"ìíîïĨĩĪīĬĭĮįİıƖƗȈȉȊȋΊΐΪίιϊІЇіїi̇",j:"ĴĵǰȷɈɉϳЈј",k:"ĶķĸƘƙǨǩΚκЌЖКжкќҚқҜҝҞҟҠҡ",l:"ĹĺĻļĽľĿŀŁłƚƪǀǏǐȴȽΙӀӏ",m:"ΜϺϻМмӍӎ",n:"ÑñŃńŅņŇňʼnŊŋƝƞǸǹȠȵΝΠήηϞЍИЙЛПийлпѝҊҋӅӆӢӣӤӥπ",o:"ÒÓÔÕÖØðòóôõöøŌōŎŏŐőƟƠơǑǒǪǫǬǭǾǿȌȍȎȏȪȫȬȭȮȯȰȱΌΘΟθοσόϕϘϙϬϴОФоѲѳӦӧӨөӪӫ",p:"ƤΡρϷϸϼРрҎҏÞ",q:"Ɋɋ",r:"ŔŕŖŗŘřƦȐȑȒȓɌɍЃГЯгяѓҐґ",s:"ŚśŜŝŞşŠšƧƨȘșȿЅѕ",t:"ŢţŤťŦŧƫƬƭƮȚțȶȾΓΤτϮТт",u:"ÙÚÛÜùúûüŨũŪūŬŭŮůŰűŲųƯưƱƲǓǔǕǖǗǘǙǚǛǜȔȕȖȗɄΰυϋύ",v:"νѴѵѶѷ",w:"ŴŵƜωώϖϢϣШЩшщѡѿ",x:"×ΧχϗϰХхҲҳӼӽӾӿ",y:"ÝýÿŶŷŸƳƴȲȳɎɏΎΥΫγψϒϓϔЎУучўѰѱҮүҰұӮӯӰӱӲӳ",z:"ŹźŻżŽžƵƶȤȥɀΖ"},ti={};Object.keys(Yo).forEach((function(t){Yo[t].split("").forEach((function(e){ti[e]=t}))}));const ei=/\//,ni=/[a-z]\.[a-z]/i,ri=/[0-9]/;var oi=function(t,e){let n=t.normal||t.text||t.machine;const r=e.model.one.aliases;if(r.hasOwnProperty(n)&&(t.alias=t.alias||[],t.alias.push(r[n])),ei.test(n)&&!ni.test(n)&&!ri.test(n)){let e=n.split(ei);e.length<=2&&e.forEach((e=>{""!==(e=e.trim())&&(t.alias=t.alias||[],t.alias.push(e))}))}return t};const ii=/^\p{Letter}+-\p{Letter}+$/u;var si=function(t){let e=t.implicit||t.normal||t.text;e=e.replace(/['’]s$/,""),e=e.replace(/s['’]$/,"s"),e=e.replace(/([aeiou][ktrp])in'$/,"$1ing"),ii.test(e)&&(e=e.replace(/-/g,"")),e=e.replace(/^[#@]/,""),e!==t.normal&&(t.machine=e)};var li=function(t){let e=t.docs,n={};for(let t=0;thi(t,oi),machine:t=>hi(t,si),normal:t=>hi(t,Bo),freq:li,offset:ai,index:ui,wordCount:ci},methods:Ho,model:{one:{aliases:Zo,abbreviations:Ko,prefixes:Xo,suffixes:{like:!0,ish:!0,less:!0,able:!0,elect:!0,type:!0,designate:!0},prePunctuation:{"#":!0,"@":!0,_:!0,"°":!0,"​":!0,"‌":!0,"‍":!0,"\ufeff":!0},postPunctuation:{"%":!0,_:!0,"°":!0,"​":!0,"‌":!0,"‍":!0,"\ufeff":!0},lexicon:Jo,unicode:ti,emoticons:{"<3":!0,"{let s=(t=t.toLowerCase().trim()).length;e.max&&s>e.max&&(s=e.max);for(let l=e.min;l{delete r[t]})),r};const wi={safe:!0,min:3};var vi={typeahead:function(t=[],e={}){let n=this.model();var r;e=Object.assign({},wi,e),r=t,"[object Object]"===Object.prototype.toString.call(r)&&(Object.assign(n.one.lexicon,t),t=Object.keys(t));let o=gi(t,e,this.world());return Object.keys(o).forEach((t=>{n.one.typeahead.hasOwnProperty(t)?delete n.one.typeahead[t]:n.one.typeahead[t]=o[t]})),this}};var bi={model:{one:{typeahead:{}}},api:mi,lib:vi,compute:pi,hooks:["typeahead"]};w.extend(tt),w.extend(Rn),w.extend(cn),w.extend(ir),w.extend(Jr),w.plugin(At),w.extend(fi),w.plugin(x),w.extend(It),w.extend(bi),w.extend(qt),w.extend(gr);export{w as default}; diff --git a/builds/three/compromise-three.cjs b/builds/three/compromise-three.cjs index 31c834d69..586b1d7b7 100644 --- a/builds/three/compromise-three.cjs +++ b/builds/three/compromise-three.cjs @@ -1 +1 @@ -var e,t;e=this,t=function(){var e={methods:{one:{},two:{},three:{},four:{}},model:{one:{},two:{},three:{}},compute:{},hooks:[]};const t={compute:function(e){const{world:t}=this,n=t.compute;return"string"==typeof e&&n.hasOwnProperty(e)?n[e](this):(e=>"[object Array]"===Object.prototype.toString.call(e))(e)?e.forEach((r=>{t.compute.hasOwnProperty(r)?n[r](this):console.warn("no compute:",e)})):"function"==typeof e?e(this):console.warn("no compute:",e),this}};var n=t,r={forEach:function(e){return this.fullPointer.forEach(((t,n)=>{let r=this.update([t]);e(r,n)})),this},map:function(e,t){let n=this.fullPointer.map(((t,n)=>{let r=this.update([t]),a=e(r,n);return void 0===a?this.none():a}));if(0===n.length)return t||this.update([]);if(void 0!==n[0]){if("string"==typeof n[0])return n;if("object"==typeof n[0]&&(null===n[0]||!n[0].isView))return n}let r=[];return n.forEach((e=>{r=r.concat(e.fullPointer)})),this.toView(r)},filter:function(e){let t=this.fullPointer;return t=t.filter(((t,n)=>{let r=this.update([t]);return e(r,n)})),this.update(t)},find:function(e){let t=this.fullPointer.find(((t,n)=>{let r=this.update([t]);return e(r,n)}));return this.update([t])},some:function(e){return this.fullPointer.some(((t,n)=>{let r=this.update([t]);return e(r,n)}))},random:function(e=1){let t=this.fullPointer,n=Math.floor(Math.random()*t.length);return n+e>this.length&&(n=this.length-e,n=n<0?0:n),t=t.slice(n,n+e),this.update(t)}};const a={termList:function(){return this.methods.one.termList(this.docs)},terms:function(e){let t=this.match(".");return"number"==typeof e?t.eq(e):t},groups:function(e){if(e||0===e)return this.update(this._groups[e]||[]);let t={};return Object.keys(this._groups).forEach((e=>{t[e]=this.update(this._groups[e])})),t},eq:function(e){let t=this.pointer;return t||(t=this.docs.map(((e,t)=>[t]))),t[e]?this.update([t[e]]):this.none()},first:function(){return this.eq(0)},last:function(){let e=this.fullPointer.length-1;return this.eq(e)},firstTerms:function(){return this.match("^.")},lastTerms:function(){return this.match(".$")},slice:function(e,t){let n=this.pointer||this.docs.map(((e,t)=>[t]));return n=n.slice(e,t),this.update(n)},all:function(){return this.update().toView()},fullSentences:function(){let e=this.fullPointer.map((e=>[e[0]]));return this.update(e).toView()},none:function(){return this.update([])},isDoc:function(e){if(!e||!e.isView)return!1;let t=this.fullPointer,n=e.fullPointer;return!t.length!==n.length&&t.every(((e,t)=>!!n[t]&&e[0]===n[t][0]&&e[1]===n[t][1]&&e[2]===n[t][2]))},wordCount:function(){return this.docs.reduce(((e,t)=>(e+=t.filter((e=>""!==e.text)).length,e)),0)},isFull:function(){let e=this.pointer;if(!e)return!0;if(0===e.length||0!==e[0][0])return!1;let t=0,n=0;return this.document.forEach((e=>t+=e.length)),this.docs.forEach((e=>n+=e.length)),t===n},getNth:function(e){return"number"==typeof e?this.eq(e):"string"==typeof e?this.if(e):this}};a.group=a.groups,a.fullSentence=a.fullSentences,a.sentence=a.fullSentences,a.lastTerm=a.lastTerms,a.firstTerm=a.firstTerms;var o=a;const i=Object.assign({},o,n,r);i.get=i.eq;var s=i;class View{constructor(t,n,r={}){[["document",t],["world",e],["_groups",r],["_cache",null],["viewType","View"]].forEach((e=>{Object.defineProperty(this,e[0],{value:e[1],writable:!0})})),this.ptrs=n}get docs(){let t=this.document;return this.ptrs&&(t=e.methods.one.getDoc(this.ptrs,this.document)),t}get pointer(){return this.ptrs}get methods(){return this.world.methods}get model(){return this.world.model}get hooks(){return this.world.hooks}get isView(){return!0}get found(){return this.docs.length>0}get length(){return this.docs.length}get fullPointer(){let{docs:e,ptrs:t,document:n}=this,r=t||e.map(((e,t)=>[t]));return r.map((e=>{let[t,r,a,o,i]=e;return r=r||0,a=a||(n[t]||[]).length,n[t]&&n[t][r]&&(o=o||n[t][r].id,n[t][a-1]&&(i=i||n[t][a-1].id)),[t,r,a,o,i]}))}update(e){let t=new View(this.document,e);if(this._cache&&e&&e.length>0){let n=[];e.forEach(((e,t)=>{let[r,a,o]=e;(1===e.length||0===a&&this.document[r].length===o)&&(n[t]=this._cache[r])})),n.length>0&&(t._cache=n)}return t.world=this.world,t}toView(e){return new View(this.document,e||this.pointer)}fromText(e){const{methods:t}=this;let n=t.one.tokenize.fromString(e,this.world),r=new View(n);return r.world=this.world,r.compute(["normal","lexicon"]),this.world.compute.preTagger&&r.compute("preTagger"),r}clone(){let e=this.document.slice(0);e=e.map((e=>e.map((e=>((e=Object.assign({},e)).tags=new Set(e.tags),e)))));let t=this.update(this.pointer);return t.document=e,t._cache=this._cache,t}}Object.assign(View.prototype,s);var l=View;const u=function(e){return e&&"object"==typeof e&&!Array.isArray(e)};function c(e,t){if(u(t))for(const n in t)u(t[n])?(e[n]||Object.assign(e,{[n]:{}}),c(e[n],t[n])):Object.assign(e,{[n]:t[n]});return e}var h=function(e,t,n,r){const{methods:a,model:o,compute:i,hooks:s}=t;e.methods&&function(e,t){for(const n in t)e[n]=e[n]||{},Object.assign(e[n],t[n])}(a,e.methods),e.model&&c(o,e.model),e.irregulars&&function(e,t){let n=e.two.models||{};Object.keys(t).forEach((e=>{t[e].pastTense&&(n.toPast&&(n.toPast.ex[e]=t[e].pastTense),n.fromPast&&(n.fromPast.ex[t[e].pastTense]=e)),t[e].presentTense&&(n.toPresent&&(n.toPresent.ex[e]=t[e].presentTense),n.fromPresent&&(n.fromPresent.ex[t[e].presentTense]=e)),t[e].gerund&&(n.toGerund&&(n.toGerund.ex[e]=t[e].gerund),n.fromGerund&&(n.fromGerund.ex[t[e].gerund]=e)),t[e].comparative&&(n.toComparative&&(n.toComparative.ex[e]=t[e].comparative),n.fromComparative&&(n.fromComparative.ex[t[e].comparative]=e)),t[e].superlative&&(n.toSuperlative&&(n.toSuperlative.ex[e]=t[e].superlative),n.fromSuperlative&&(n.fromSuperlative.ex[t[e].superlative]=e))}))}(o,e.irregulars),e.compute&&Object.assign(i,e.compute),s&&(t.hooks=s.concat(e.hooks||[])),e.api&&e.api(n),e.lib&&Object.keys(e.lib).forEach((t=>r[t]=e.lib[t])),e.tags&&r.addTags(e.tags),e.words&&r.addWords(e.words),e.mutate&&e.mutate(t)};const d=function(e){return"[object Array]"===Object.prototype.toString.call(e)};var m=function(e,t,n){const{methods:r}=n;let a=new t([]);if(a.world=n,"number"==typeof e&&(e=String(e)),!e)return a;if("string"==typeof e)return new t(r.one.tokenize.fromString(e,n));if(o=e,"[object Object]"===Object.prototype.toString.call(o)&&e.isView)return new t(e.document,e.ptrs);var o;if(d(e)){if(d(e[0])){let n=e.map((e=>e.map((e=>({text:e,normal:e,pre:"",post:" ",tags:new Set})))));return new t(n)}let n=function(e){return e.map((e=>e.terms.map((e=>(d(e.tags)&&(e.tags=new Set(e.tags)),e)))))}(e);return new t(n)}return a};let p=Object.assign({},e);const f=function(e,t){t&&f.addWords(t);let n=m(e,l,p);return e&&n.compute(p.hooks),n};Object.defineProperty(f,"_world",{value:p,writable:!0}),f.tokenize=function(e,t){const{compute:n}=this._world;t&&f.addWords(t);let r=m(e,l,p);return n.contractions&&r.compute(["alias","normal","machine","contractions"]),r},f.plugin=function(e){return h(e,this._world,l,this),this},f.extend=f.plugin,f.world=function(){return this._world},f.model=function(){return this._world.model},f.methods=function(){return this._world.methods},f.hooks=function(){return this._world.hooks},f.verbose=function(e){const t="undefined"!=typeof process&&process.env?process.env:self.env||{};return t.DEBUG_TAGS="tagger"===e||!0===e||"",t.DEBUG_MATCH="match"===e||!0===e||"",t.DEBUG_CHUNKS="chunker"===e||!0===e||"",this},f.version="14.10.0";var v=f,b=function(e){let t=e.map((e=>{let t=new Set;return e.forEach((e=>{""!==e.normal&&t.add(e.normal),e.switch&&t.add(`%${e.switch}%`),e.implicit&&t.add(e.implicit),e.machine&&t.add(e.machine),e.root&&t.add(e.root),e.alias&&e.alias.forEach((e=>t.add(e)));let n=Array.from(e.tags);for(let e=0;e/^\p{Lu}[\p{Ll}'’]/u.test(e)||/^\p{Lu}$/u.test(e),A=(e,t,n)=>{if(n.forEach((e=>e.dirty=!0)),e){let r=[t,0].concat(n);Array.prototype.splice.apply(e,r)}return e},I=function(e){let t=e[e.length-1];!t||/ $/.test(t.post)||/[-–—]/.test(t.post)||(t.post+=" ")},N=(e,t,n)=>{const r=/[-.?!,;:)–—'"]/g;let a=e[t-1];if(!a)return;let o=a.post;if(r.test(o)){let e=o.match(r).join(""),t=n[n.length-1];t.post=e+t.post,a.post=a.post.replace(r,"")}},j=function(e,t,n,r){let[a,o,i]=t;0===o||i===r[a].length?I(n):(I(n),I([e[t[1]]])),function(e,t,n){let r=e[t];if(0!==t||!P(r.text))return;n[0].text=n[0].text.replace(/^\p{Ll}/u,(e=>e.toUpperCase()));let a=e[t];a.tags.has("ProperNoun")||a.tags.has("Acronym")||P(a.text)&&a.text.length>1&&(a.text=a.text.replace(/^\p{Lu}/u,(e=>e.toLowerCase())))}(e,o,n),A(e,o,n)};let E=0;const x=e=>(e=e.length<3?"0"+e:e).length<3?"0"+e:e;var D=function(e){let[t,n]=e.index||[0,0];E+=1,E=E>46655?0:E,t=t>46655?0:t,n=n>1294?0:n;let r=x(E.toString(36));r+=x(t.toString(36));let a=n.toString(36);return a=a.length<2?"0"+a:a,r+=a,r+=parseInt(36*Math.random(),10).toString(36),e.normal+"|"+r.toUpperCase()};const T=function(e){e.has("@hasContraction")&&"function"==typeof e.contractions&&e.grow("@hasContraction").contractions().expand()},C=e=>"[object Array]"===Object.prototype.toString.call(e),O=function(e,t,n){const{document:r,world:a}=t;t.uncache();let o=t.fullPointer,i=t.fullPointer;t.forEach(((s,l)=>{let u=s.fullPointer[0],[c]=u,h=r[c],d=function(e,t){const{methods:n}=t;return"string"==typeof e?n.one.tokenize.fromString(e,t)[0]:"object"==typeof e&&e.isView?e.clone().docs[0]||[]:C(e)?C(e[0])?e[0]:e:[]}(e,a);0!==d.length&&(d=function(e){return e.map((e=>(e.id=D(e),e)))}(d),n?(T(t.update([u]).firstTerm()),j(h,u,d,r)):(T(t.update([u]).lastTerm()),function(e,t,n,r){let[a,,o]=t,i=(r[a]||[]).length;o{let n=t(e);e.replaceWith(n)})),e}(r,e);let a=r.docs[0],o=t.possessives&&a[a.length-1].tags.has("Possessive");e=function(e,t){if("string"!=typeof e)return e;let n=t.groups();return e=e.replace(G,(e=>{let t=e.replace(/\$/,"");return n.hasOwnProperty(t)?n[t].text():e})),e}(e,r);let i=this.update(n);n=n.map((e=>e.slice(0,3)));let s=(i.docs[0]||[]).map((e=>Array.from(e.tags)));if("string"==typeof e&&(e=this.fromText(e).compute("id")),r.insertAfter(e),i.has("@hasContraction")&&r.contractions&&r.grow("@hasContraction+").contractions().expand(),r.delete(i),o){let e=r.docs[0],t=e[e.length-1];t.tags.has("Possessive")||(t.text+="'s",t.normal+="'s",t.tags.add("Possessive"))}let l=r.toView(n).compute(["index","lexicon"]);return l.world.compute.preTagger&&l.compute("preTagger"),t.tags&&l.terms().forEach(((e,t)=>{e.tagSafe(s[t])})),t.case&&l.docs[0]&&l.docs[0][0]&&0===l.docs[0][0].index[1]&&(l.docs[0][0].text=l.docs[0][0].text.replace(/\w\S*/g,(e=>e.charAt(0).toUpperCase()+e.substring(1).toLowerCase()))),l},replace:function(e,t,n){if(e&&!t)return this.replaceWith(e,n);let r=this.match(e);return r.found?(this.soften(),r.replaceWith(t,n)):this}};var L=z,$=function(e,t){t.forEach((t=>{let[n,r,a]=t,o=a-r;e[n]&&(a===e[n].length&&a>1&&function(e,t){let n=e.length-1,r=e[n],a=e[n-t];a&&r&&(a.post+=r.post,a.post=a.post.replace(/ +([.?!,;:])/,"$1"),a.post=a.post.replace(/[,;:]+([.?!])/,"$1"))}(e[n],o),e[n].splice(r,o))}));for(let t=e.length-1;t>=0;t-=1)if(0===e[t].length&&(e.splice(t,1),t===e.length&&e[t-1])){let n=e[t-1],r=n[n.length-1];r&&(r.post=r.post.trimEnd())}return e};const S={remove:function(e){const{indexN:t}=this.methods.one.pointer;this.uncache();let n=this.all(),r=this;e&&(n=this,r=this.match(e));let a=!n.ptrs;r.has("@hasContraction")&&r.contractions&&r.grow("@hasContraction").contractions().expand();let o=n.fullPointer,i=r.fullPointer.reverse(),s=$(this.document,i);return o=function(e,t){return e=e.map((e=>{let[n]=e;return t[n]?(t[n].forEach((t=>{let n=t[2]-t[1];e[1]<=t[1]&&e[2]>=t[2]&&(e[2]-=n)})),e):e})),e.forEach(((t,n)=>{if(0===t[1]&&0==t[2])for(let t=n+1;te[2]-e[1]>0))).map((e=>(e[3]=null,e[4]=null,e)))}(o,t(i)),n.ptrs=o,n.document=s,n.compute("index"),a&&(n.ptrs=void 0),e?n.toView(o):(this.ptrs=[],n.none())}};S.delete=S.remove;var M=S;const B={pre:function(e,t){return void 0===e&&this.found?this.docs[0][0].pre:(this.docs.forEach((n=>{let r=n[0];!0===t?r.pre+=e:r.pre=e})),this)},post:function(e,t){if(void 0===e){let e=this.docs[this.docs.length-1];return e[e.length-1].post}return this.docs.forEach((n=>{let r=n[n.length-1];!0===t?r.post+=e:r.post=e})),this},trim:function(){if(!this.found)return this;let e=this.docs,t=e[0][0];t.pre=t.pre.trimStart();let n=e[e.length-1],r=n[n.length-1];return r.post=r.post.trimEnd(),this},hyphenate:function(){return this.docs.forEach((e=>{e.forEach(((t,n)=>{0!==n&&(t.pre=""),e[n+1]&&(t.post="-")}))})),this},dehyphenate:function(){const e=/[-–—]/;return this.docs.forEach((t=>{t.forEach((t=>{e.test(t.post)&&(t.post=" ")}))})),this},toQuotations:function(e,t){return e=e||'"',t=t||'"',this.docs.forEach((n=>{n[0].pre=e+n[0].pre;let r=n[n.length-1];r.post=t+r.post})),this},toParentheses:function(e,t){return e=e||"(",t=t||")",this.docs.forEach((n=>{n[0].pre=e+n[0].pre;let r=n[n.length-1];r.post=t+r.post})),this}};B.deHyphenate=B.dehyphenate,B.toQuotation=B.toQuotations;var H=B,J={alpha:(e,t)=>e.normalt.normal?1:0,length:(e,t)=>{let n=e.normal.trim().length,r=t.normal.trim().length;return nr?-1:0},wordCount:(e,t)=>e.wordst.words?-1:0,sequential:(e,t)=>e[0]t[0]?-1:e[1]>t[1]?1:-1,byFreq:function(e){let t={};return e.forEach((e=>{t[e.normal]=t[e.normal]||0,t[e.normal]+=1})),e.sort(((e,n)=>{let r=t[e.normal],a=t[n.normal];return ra?-1:0})),e}};const W=new Set(["index","sequence","seq","sequential","chron","chronological"]),K=new Set(["freq","frequency","topk","repeats"]),q=new Set(["alpha","alphabetical"]);var U={unique:function(){let e=new Set,t=this.filter((t=>{let n=t.text("machine");return!e.has(n)&&(e.add(n),!0)}));return t},reverse:function(){let e=this.pointer||this.docs.map(((e,t)=>[t]));return e=[].concat(e),e=e.reverse(),this._cache&&(this._cache=this._cache.reverse()),this.update(e)},sort:function(e){let{docs:t,pointer:n}=this;if(this.uncache(),"function"==typeof e)return function(e,t){let n=e.fullPointer;return n=n.sort(((n,r)=>(n=e.update([n]),r=e.update([r]),t(n,r)))),e.ptrs=n,e}(this,e);e=e||"alpha";let r=n||t.map(((e,t)=>[t])),a=t.map(((e,t)=>({index:t,words:e.length,normal:e.map((e=>e.machine||e.normal||"")).join(" "),pointer:r[t]})));return W.has(e)&&(e="sequential"),q.has(e)&&(e="alpha"),K.has(e)?(a=J.byFreq(a),this.update(a.map((e=>e.pointer)))):"function"==typeof J[e]?(a=a.sort(J[e]),this.update(a.map((e=>e.pointer)))):this}};const Q=function(e,t){if(e.length>0){let t=e[e.length-1],n=t[t.length-1];!1===/ /.test(n.post)&&(n.post+=" ")}return e=e.concat(t)};var R={concat:function(e){if("string"==typeof e){let t=this.fromText(e);if(this.found&&this.ptrs){let e=this.fullPointer,n=e[e.length-1][0];this.document.splice(n,0,...t.document)}else this.document=this.document.concat(t.document);return this.all().compute("index")}if("object"==typeof e&&e.isView)return function(e,t){if(e.document===t.document){let n=e.fullPointer.concat(t.fullPointer);return e.toView(n).compute("index")}return t.fullPointer.forEach((t=>{t[0]+=e.document.length})),e.document=Q(e.document,t.docs),e.all()}(this,e);if(t=e,"[object Array]"===Object.prototype.toString.call(t)){let t=Q(this.document,e);return this.document=t,this.all()}var t;return this}},_={harden:function(){return this.ptrs=this.fullPointer,this},soften:function(){let e=this.ptrs;return!e||e.length<1||(e=e.map((e=>e.slice(0,3))),this.ptrs=e),this}};const X=Object.assign({},{toLowerCase:function(){return this.termList().forEach((e=>{e.text=e.text.toLowerCase()})),this},toUpperCase:function(){return this.termList().forEach((e=>{e.text=e.text.toUpperCase()})),this},toTitleCase:function(){return this.termList().forEach((e=>{e.text=e.text.replace(/^ *[a-z\u00C0-\u00FF]/,(e=>e.toUpperCase()))})),this},toCamelCase:function(){return this.docs.forEach((e=>{e.forEach(((t,n)=>{0!==n&&(t.text=t.text.replace(/^ *[a-z\u00C0-\u00FF]/,(e=>e.toUpperCase()))),n!==e.length-1&&(t.post="")}))})),this}},V,L,M,H,U,R,_);var Z=function(e){Object.assign(e.prototype,X)};const Y={id:function(e){let t=e.docs;for(let e=0;e(e.implicit=e.text,e.machine=e.text,e.pre="",e.post="",e.text="",e.normal="",e.index=[r,a+t],e))),n[0]&&(n[0].pre=e[r][a].pre,n[n.length-1].post=e[r][a].post,n[0].text=e[r][a].text,n[0].normal=e[r][a].normal),e[r].splice(a,1,...n))};const ae=/'/,oe=new Set(["what","how","when","where","why"]),ie=new Set(["be","go","start","think","need"]),se=new Set(["been","gone"]);var le=function(e,t){let n=e[t].normal.split(ae)[0];if(oe.has(n))return[n,"did"];if(e[t+1]){if(se.has(e[t+1].normal))return[n,"had"];if(ie.has(e[t+1].normal))return[n,"would"]}return null},ue=function(e,t){return"ain't"===e[t].normal||"aint"===e[t].normal?null:[e[t].normal.replace(/n't/,""),"not"]};const ce=/'/;var he=(e,t)=>["je",e[t].normal.split(ce)[1]],de=(e,t)=>{let n=e[t].normal.split(ce)[1];return n&&n.endsWith("e")?["la",n]:["le",n]},ge=(e,t)=>{let n=e[t].normal.split(ce)[1];return n&&n.endsWith("e")?["du",n]:n&&n.endsWith("s")?["des",n]:["de",n]};const me=/^([0-9.]{1,4}[a-z]{0,2}) ?[-–—] ?([0-9]{1,4}[a-z]{0,2})$/i,pe=/^([0-9]{1,2}(:[0-9][0-9])?(am|pm)?) ?[-–—] ?([0-9]{1,2}(:[0-9][0-9])?(am|pm)?)$/i,fe=/^[0-9]{3}-[0-9]{4}$/;var ve=function(e,t){let n=e[t],r=n.text.match(me);return null!==r?!0===n.tags.has("PhoneNumber")||fe.test(n.text)?null:[r[1],"to",r[2]]:(r=n.text.match(pe),null!==r?[r[1],"to",r[4]]:null)};const be=/^([+-]?[0-9][.,0-9]*)([a-z°²³µ/]+)$/;var ye=function(e,t,n){const r=n.model.one.numberSuffixes||{};let a=e[t].text.match(be);if(null!==a){let e=a[2].toLowerCase().trim();return r.hasOwnProperty(e)?null:[a[1],e]}return null};const we=/'/,ke=/^[0-9][^-–—]*[-–—].*?[0-9]/,Pe=function(e,t,n,r){let a=t.update();a.document=[e];let o=n+r;n>0&&(n-=1),e[o]&&(o+=1),a.ptrs=[[0,n,o]]},Ae={t:(e,t)=>ue(e,t),d:(e,t)=>le(e,t)},Ie={j:(e,t)=>he(e,t),l:(e,t)=>de(e,t),d:(e,t)=>ge(e,t)},Ne=function(e,t,n,r){for(let a=0;a2)return o.out.concat(r)}return null},je=function(e,t){let n=t.fromText(e.join(" "));return n.compute(["id","alias"]),n.docs[0]},Ee=function(e,t){for(let n=t+1;n<5&&e[n];n+=1)if("been"===e[n].normal)return["there","has"];return["there","is"]};var xe=e=>{let{world:t,document:n}=e;const{model:r,methods:a}=t;let o=r.one.contractions||[];n.forEach(((r,i)=>{for(let s=r.length-1;s>=0;s-=1){let l=null,u=null;!0===we.test(r[s].normal)&&([l,u]=r[s].normal.split(we));let c=Ne(o,r[s],l,u);!c&&Ae.hasOwnProperty(u)&&(c=Ae[u](r,s,t)),!c&&Ie.hasOwnProperty(l)&&(c=Ie[l](r,s)),"there"===l&&"s"===u&&(c=Ee(r,s)),c?(c=je(c,e),re(n,[i,s],c),Pe(n[i],e,s,c.length)):ke.test(r[s].normal)?(c=ve(r,s),c&&(c=je(c,e),re(n,[i,s],c),a.one.setTag(c,"NumberRange",t),c[2]&&c[2].tags.has("Time")&&a.one.setTag([c[0]],"Time",t,null,"time-range"),Pe(n[i],e,s,c.length))):(c=ye(r,s,t),c&&(c=je(c,e),re(n,[i,s],c),a.one.setTag([c[1]],"Unit",t,null,"contraction-unit")))}}))},De={model:ne,compute:{contractions:xe},hooks:["contractions"]},Te=function(e,t,n){const{model:r,methods:a}=n,o=a.one.setTag,i=r.one._multiCache||{},s=r.one.lexicon||{};let l=e[t],u=l.machine||l.normal;return void 0!==e[t+1]&&!0===i[u]?function(e,t,n,r,a){let o=t+4>e.length?e.length-t:4,i=e[t].machine||e[t].normal;for(let s=1;si.hasOwnProperty(e)));if(e)return o([s],i[e],n,!1,"1-lexicon-alias"),!0}if(!0===Ce.test(l)){let e=l.replace(Ce,"");if(i.hasOwnProperty(e)&&e.length>3&&Oe.has(i[e]))return o([s],i[e],n,!1,"1-lexicon-prefix"),!0}return null},Ve={lexicon:function(e){const t=e.world;e.docs.forEach((e=>{for(let n=0;n{let a=e[r],o=(r=(r=r.toLowerCase().trim()).replace(/'s\b/,"")).split(/ /);o.length>1&&(n[o[0]]=!0),t[r]=t[r]||a})),delete t[""],delete t.null,delete t[" "],{lex:t,_multi:n}},ze={addWords:function(e){const t=this.world(),{methods:n,model:r}=t;if(e)if(Object.keys(e).forEach((t=>{"string"==typeof e[t]&&e[t].startsWith("#")&&(e[t]=e[t].replace(/^#/,""))})),n.two.expandLexicon){let{lex:a,_multi:o}=n.two.expandLexicon(e,t);Object.assign(r.one.lexicon,a),Object.assign(r.one._multiCache,o)}else if(n.one.expandLexicon){let{lex:a,_multi:o}=n.one.expandLexicon(e,t);Object.assign(r.one.lexicon,a),Object.assign(r.one._multiCache,o)}else Object.assign(r.one.lexicon,e)}},Le={model:{one:{lexicon:{},_multiCache:{}}},methods:{one:{expandLexicon:Ge}},compute:Ve,lib:ze,hooks:["lexicon"]},$e=function(e,t){let n=[{}],r=[null],a=[0],o=[],i=0;e.forEach((function(e){let a=0,o=function(e,t){const{methods:n,model:r}=t;let a=n.one.tokenize.splitTerms(e,r).map((e=>n.one.tokenize.splitWhitespace(e,r)));return a.map((e=>e.text.toLowerCase()))}(e,t);for(let e=0;e0&&!n[i].hasOwnProperty(l);)i=a[i];if(n.hasOwnProperty(i)){let e=n[i][l];a[u]=e,r[e]&&(r[u]=r[u]||[],r[u]=r[u].concat(r[e]))}else a[u]=0}}return{goNext:n,endAs:r,failTo:a}};const Se=function(e,t,n){let r=0,a=[];for(let o=0;o0&&(void 0===t.goNext[r]||!t.goNext[r].hasOwnProperty(i));)r=t.failTo[r]||0;if(t.goNext[r].hasOwnProperty(i)&&(r=t.goNext[r][i],t.endAs[r])){let n=t.endAs[r];for(let t=0;t0&&(r=r.concat(l))}return e.update(r)};const He=(e,t)=>{for(let n=e.length-1;n>=0;n-=1)if(e[n]!==t)return e=e.slice(0,n+1);return e};var Je=function(e){return e.goNext=e.goNext.map((e=>{if(0!==Object.keys(e).length)return e})),e.goNext=He(e.goNext,void 0),e.failTo=He(e.failTo,0),e.endAs=He(e.endAs,null),e};const We={buildTrie:function(e){const t=$e(e,this.world());return Je(t)}};We.compile=We.buildTrie;var Ke={api:function(e){e.prototype.lookup=function(e,t={}){if(!e)return this.none();"string"==typeof e&&(e=[e]);let n=(r=e,"[object Object]"===Object.prototype.toString.call(r)?e:$e(e,this.world));var r;let a=Be(this,n,t);return a=a.settle(),a}},lib:We};const qe=function(e,t){return t?(e.forEach((e=>{let n=e[0];t[n]&&(e[0]=t[n][0],e[1]+=t[n][1],e[2]+=t[n][1])})),e):e},Ue=function(e,t){let{ptrs:n,byGroup:r}=e;return n=qe(n,t),Object.keys(r).forEach((e=>{r[e]=qe(r[e],t)})),{ptrs:n,byGroup:r}},Qe=e=>"[object Object]"===Object.prototype.toString.call(e),Re=e=>e&&Qe(e)&&!0===e.isView,_e=e=>e&&Qe(e)&&!0===e.isNet,Xe=function(e,t,n){const r=n.methods.one;return"number"==typeof e&&(e=String(e)),"string"==typeof e&&(e=r.killUnicode(e,n),e=r.parseMatch(e,t,n)),e};var Ze={matchOne:function(e,t,n){const r=this.methods.one;if(Re(e))return this.intersection(e).eq(0);if(_e(e))return this.sweep(e,{tagger:!1,matchOne:!0}).view;let a={regs:e=Xe(e,n,this.world),group:t,justOne:!0},o=r.match(this.docs,a,this._cache),{ptrs:i,byGroup:s}=Ue(o,this.fullPointer),l=this.toView(i);return l._groups=s,l},match:function(e,t,n){const r=this.methods.one;if(Re(e))return this.intersection(e);if(_e(e))return this.sweep(e,{tagger:!1}).view.settle();let a={regs:e=Xe(e,n,this.world),group:t},o=r.match(this.docs,a,this._cache),{ptrs:i,byGroup:s}=Ue(o,this.fullPointer),l=this.toView(i);return l._groups=s,l},has:function(e,t,n){const r=this.methods.one;if(Re(e))return e.fullPointer.length>0;if(_e(e))return this.sweep(e,{tagger:!1}).view.found;let a={regs:e=Xe(e,n,this.world),group:t,justOne:!0};return r.match(this.docs,a,this._cache).ptrs.length>0},if:function(e,t,n){const r=this.methods.one;if(Re(e))return this.filter((t=>t.intersection(e).found));if(_e(e)){let t=this.sweep(e,{tagger:!1}).view.settle();return this.if(t)}let a={regs:e=Xe(e,n,this.world),group:t,justOne:!0},o=this.fullPointer,i=this._cache||[];o=o.filter(((e,t)=>{let n=this.update([e]);return r.match(n.docs,a,i[t]).ptrs.length>0}));let s=this.update(o);return this._cache&&(s._cache=o.map((e=>i[e[0]]))),s},ifNo:function(e,t,n){const{methods:r}=this,a=r.one;if(Re(e))return this.filter((t=>!t.intersection(e).found));if(_e(e)){let t=this.sweep(e,{tagger:!1}).view.settle();return this.ifNo(t)}e=Xe(e,n,this.world);let o=this._cache||[],i=this.filter(((n,r)=>{let i={regs:e,group:t,justOne:!0};return 0===a.match(n.docs,i,o[r]).ptrs.length}));return this._cache&&(i._cache=i.ptrs.map((e=>o[e[0]]))),i}},Ye={before:function(e,t,n){const{indexN:r}=this.methods.one.pointer;let a=[],o=r(this.fullPointer);Object.keys(o).forEach((e=>{let t=o[e].sort(((e,t)=>e[1]>t[1]?1:-1))[0];t[1]>0&&a.push([t[0],0,t[1]])}));let i=this.toView(a);return e?i.match(e,t,n):i},after:function(e,t,n){const{indexN:r}=this.methods.one.pointer;let a=[],o=r(this.fullPointer),i=this.document;Object.keys(o).forEach((e=>{let t=o[e].sort(((e,t)=>e[1]>t[1]?-1:1))[0],[n,,r]=t;r{let o=n.before(e,t);if(o.found){let e=o.terms();r[a][1]-=e.length,r[a][3]=e.docs[0][0].id}})),this.update(r)},growRight:function(e,t,n){"string"==typeof e&&(e=this.world.methods.one.parseMatch(e,n,this.world)),e[0].start=!0;let r=this.fullPointer;return this.forEach(((n,a)=>{let o=n.after(e,t);if(o.found){let e=o.terms();r[a][2]+=e.length,r[a][4]=null}})),this.update(r)},grow:function(e,t,n){return this.growRight(e,t,n).growLeft(e,t,n)}};const et=function(e,t){return[e[0],e[1],t[2]]},tt=(e,t,n)=>{return"string"==typeof e||(r=e,"[object Array]"===Object.prototype.toString.call(r))?t.match(e,n):e||t.none();var r},nt=function(e,t){let[n,r,a]=e;return t.document[n]&&t.document[n][r]&&(e[3]=e[3]||t.document[n][r].id,t.document[n][a-1]&&(e[4]=e[4]||t.document[n][a-1].id)),e},rt={splitOn:function(e,t){const{splitAll:n}=this.methods.one.pointer;let r=tt(e,this,t).fullPointer,a=n(this.fullPointer,r),o=[];return a.forEach((e=>{o.push(e.passthrough),o.push(e.before),o.push(e.match),o.push(e.after)})),o=o.filter((e=>e)),o=o.map((e=>nt(e,this))),this.update(o)},splitBefore:function(e,t){const{splitAll:n}=this.methods.one.pointer;let r=tt(e,this,t).fullPointer,a=n(this.fullPointer,r);for(let e=0;e{o.push(e.passthrough),o.push(e.before),e.match&&e.after?o.push(et(e.match,e.after)):o.push(e.match)})),o=o.filter((e=>e)),o=o.map((e=>nt(e,this))),this.update(o)},splitAfter:function(e,t){const{splitAll:n}=this.methods.one.pointer;let r=tt(e,this,t).fullPointer,a=n(this.fullPointer,r),o=[];return a.forEach((e=>{o.push(e.passthrough),e.before&&e.match?o.push(et(e.before,e.match)):(o.push(e.before),o.push(e.match)),o.push(e.after)})),o=o.filter((e=>e)),o=o.map((e=>nt(e,this))),this.update(o)}};rt.split=rt.splitAfter;var at=rt;const ot=Object.assign({},Ze,Ye,at);ot.lookBehind=ot.before,ot.lookBefore=ot.before,ot.lookAhead=ot.after,ot.lookAfter=ot.after,ot.notIf=ot.ifNo;var it=function(e){Object.assign(e.prototype,ot)};const st=/(?:^|\s)([![^]*(?:<[^<]*>)?\/.*?[^\\/]\/[?\]+*$~]*)(?:\s|$)/,lt=/([!~[^]*(?:<[^<]*>)?\([^)]+[^\\)]\)[?\]+*$~]*)(?:\s|$)/,ut=/ /g,ct=e=>/^[![^]*(<[^<]*>)?\//.test(e)&&/\/[?\]+*$~]*$/.test(e),ht=function(e){return e=(e=e.map((e=>e.trim()))).filter((e=>e))};var dt=function(e){let t=e.split(st),n=[];t.forEach((e=>{ct(e)?n.push(e):n=n.concat(e.split(lt))})),n=ht(n);let r=[];return n.forEach((e=>{(e=>/^[![^]*(<[^<]*>)?\(/.test(e)&&/\)[?\]+*$~]*$/.test(e))(e)||ct(e)?r.push(e):r=r.concat(e.split(ut))})),r=ht(r),r};const gt=/\{([0-9]+)?(, *[0-9]*)?\}/,mt=/&&/,pt=new RegExp(/^<\s*(\S+)\s*>/),ft=e=>e.charAt(0).toUpperCase()+e.substring(1),vt=e=>e.charAt(e.length-1),bt=e=>e.charAt(0),yt=e=>e.substring(1),wt=e=>e.substring(0,e.length-1),kt=function(e){return e=yt(e),e=wt(e)},Pt=function(e,t){let n={};for(let r=0;r<2;r+=1){if("$"===vt(e)&&(n.end=!0,e=wt(e)),"^"===bt(e)&&(n.start=!0,e=yt(e)),"?"===vt(e)&&(n.optional=!0,e=wt(e)),("["===bt(e)||"]"===vt(e))&&(n.group=null,"["===bt(e)&&(n.groupStart=!0),"]"===vt(e)&&(n.groupEnd=!0),e=(e=e.replace(/^\[/,"")).replace(/\]$/,""),"<"===bt(e))){const t=pt.exec(e);t.length>=2&&(n.group=t[1],e=e.replace(t[0],""))}if("+"===vt(e)&&(n.greedy=!0,e=wt(e)),"*"!==e&&"*"===vt(e)&&"\\*"!==e&&(n.greedy=!0,e=wt(e)),"!"===bt(e)&&(n.negative=!0,e=yt(e)),"~"===bt(e)&&"~"===vt(e)&&e.length>2&&(e=kt(e),n.fuzzy=!0,n.min=t.fuzzy||.85,!1===/\(/.test(e)))return n.word=e,n;if("/"===bt(e)&&"/"===vt(e))return e=kt(e),t.caseSensitive&&(n.use="text"),n.regex=new RegExp(e),n;if(!0===gt.test(e)&&(e=e.replace(gt,((e,t,r)=>(void 0===r?(n.min=Number(t),n.max=Number(t)):(r=r.replace(/, */,""),void 0===t?(n.min=0,n.max=Number(r)):(n.min=Number(t),n.max=Number(r||999))),n.greedy=!0,n.min||(n.optional=!0),"")))),"("===bt(e)&&")"===vt(e)){mt.test(e)?(n.choices=e.split(mt),n.operator="and"):(n.choices=e.split("|"),n.operator="or"),n.choices[0]=yt(n.choices[0]);let r=n.choices.length-1;n.choices[r]=wt(n.choices[r]),n.choices=n.choices.map((e=>e.trim())),n.choices=n.choices.filter((e=>e)),n.choices=n.choices.map((e=>e.split(/ /g).map((e=>Pt(e,t))))),e=""}if("{"===bt(e)&&"}"===vt(e)){if(e=kt(e),n.root=e,/\//.test(e)){let e=n.root.split(/\//);n.root=e[0],n.pos=e[1],"adj"===n.pos&&(n.pos="Adjective"),n.pos=n.pos.charAt(0).toUpperCase()+n.pos.substr(1).toLowerCase(),void 0!==e[2]&&(n.sense=e[2])}return n}if("<"===bt(e)&&">"===vt(e))return e=kt(e),n.chunk=ft(e),n.greedy=!0,n;if("%"===bt(e)&&"%"===vt(e))return e=kt(e),n.switch=e,n}return"#"===bt(e)?(n.tag=yt(e),n.tag=ft(n.tag),n):"@"===bt(e)?(n.method=yt(e),n):"."===e?(n.anything=!0,n):"*"===e?(n.anything=!0,n.greedy=!0,n.optional=!0,n):(e&&(e=(e=e.replace("\\*","*")).replace("\\.","."),t.caseSensitive?n.use="text":e=e.toLowerCase(),n.word=e),n)};var At=Pt;const It=/[a-z0-9][-–—][a-z]/i;var Nt=function(e,t){let n=t.model.one.prefixes;for(let t=e.length-1;t>=0;t-=1){let r=e[t];if(r.word&&It.test(r.word)){let a=r.word.split(/[-–—]/g);if(n.hasOwnProperty(a[0]))continue;a=a.filter((e=>e)).reverse(),e.splice(t,1),a.forEach((n=>{let a=Object.assign({},r);a.word=n,e.splice(t,0,a)}))}}return e};const jt=function(e,t){let{all:n}=t.methods.two.transform.verb||{},r=e.root;return n?n(r,t.model):[]},Et=function(e,t){let{all:n}=t.methods.two.transform.noun||{};return n?n(e.root,t.model):[e.root]},xt=function(e,t){let{all:n}=t.methods.two.transform.adjective||{};return n?n(e.root,t.model):[e.root]};var Dt=function(e,t){return e=e.map((e=>{if(e.root)if(t.methods.two&&t.methods.two.transform){let n=[];e.pos?"Verb"===e.pos?n=n.concat(jt(e,t)):"Noun"===e.pos?n=n.concat(Et(e,t)):"Adjective"===e.pos&&(n=n.concat(xt(e,t))):(n=n.concat(jt(e,t)),n=n.concat(Et(e,t)),n=n.concat(xt(e,t))),n=n.filter((e=>e)),n.length>0&&(e.operator="or",e.fastOr=new Set(n))}else e.machine=e.root,delete e.id,delete e.root;return e}))},Tt=function(e){return e=function(e){let t=0,n=null;for(let r=0;r(e.fuzzy&&e.choices&&e.choices.forEach((t=>{1===t.length&&t[0].word&&(t[0].fuzzy=!0,t[0].min=e.min)})),e)))}(e=e.map((e=>{if(void 0!==e.choices){if("or"!==e.operator)return e;if(!0===e.fuzzy)return e;!0===e.choices.every((e=>{if(1!==e.length)return!1;let t=e[0];return!0!==t.fuzzy&&!t.start&&!t.end&&void 0!==t.word&&!0!==t.negative&&!0!==t.optional&&!0!==t.method}))&&(e.fastOr=new Set,e.choices.forEach((t=>{e.fastOr.add(t[0].word)})),delete e.choices)}return e}))),e},Ct=function(e,t,n){if(null==e||""===e)return[];t=t||{},"number"==typeof e&&(e=String(e));let r=dt(e);return r=r.map((e=>At(e,t))),r=Nt(r,n),r=Dt(r,n),r=Tt(r),r};const Ot=function(e,t){for(let n of t)if(e.has(n))return!0;return!1};var Ft=function(e,t){for(let n=0;nn?r:n)+1;if(Math.abs(n-r)>(a||100))return a||100;let o,i,s,l,u,c,h=[];for(let e=0;e4)return n;s=t[o-1],l=i===s?0:1,u=h[a-1][o]+1,(c=h[a][o-1]+1)1&&o>1&&i===t[o-2]&&e[a-2]===s&&(c=h[a-2][o-2]+l)-1!==e.post.indexOf(t),Mt=(e,t)=>-1!==e.pre.indexOf(t),Bt={hasQuote:e=>Gt.test(e.pre)||zt.test(e.post),hasComma:e=>St(e,","),hasPeriod:e=>!0===St(e,".")&&!1===St(e,"..."),hasExclamation:e=>St(e,"!"),hasQuestionMark:e=>St(e,"?")||St(e,"¿"),hasEllipses:e=>St(e,"..")||St(e,"…")||Mt(e,"..")||Mt(e,"…"),hasSemicolon:e=>St(e,";"),hasColon:e=>St(e,":"),hasSlash:e=>/\//.test(e.text),hasHyphen:e=>Lt.test(e.post)||Lt.test(e.pre),hasDash:e=>$t.test(e.post)||$t.test(e.pre),hasContraction:e=>Boolean(e.implicit),isAcronym:e=>e.tags.has("Acronym"),isKnown:e=>e.tags.size>0,isTitleCase:e=>/^\p{Lu}[a-z'\u00C0-\u00FF]/u.test(e.text),isUpperCase:e=>/^\p{Lu}+$/u.test(e.text)};Bt.hasQuotation=Bt.hasQuote;var Ht=Bt;let Jt=function(){};Jt=function(e,t,n,r){let a=function(e,t,n,r){if(!0===t.anything)return!0;if(!0===t.start&&0!==n)return!1;if(!0===t.end&&n!==r-1)return!1;if(void 0!==t.id&&t.id===e.id)return!0;if(void 0!==t.word){if(t.use)return t.word===e[t.use];if(null!==e.machine&&e.machine===t.word)return!0;if(void 0!==e.alias&&e.alias.hasOwnProperty(t.word))return!0;if(!0===t.fuzzy){if(t.word===e.root)return!0;if(Vt(t.word,e.normal)>=t.min)return!0}return!(!e.alias||!e.alias.some((e=>e===t.word)))||t.word===e.text||t.word===e.normal}if(void 0!==t.tag)return!0===e.tags.has(t.tag);if(void 0!==t.method)return"function"==typeof Ht[t.method]&&!0===Ht[t.method](e);if(void 0!==t.pre)return e.pre&&e.pre.includes(t.pre);if(void 0!==t.post)return e.post&&e.post.includes(t.post);if(void 0!==t.regex){let n=e.normal;return t.use&&(n=e[t.use]),t.regex.test(n)}if(void 0!==t.chunk)return e.chunk===t.chunk;if(void 0!==t.switch)return e.switch===t.switch;if(void 0!==t.machine)return e.normal===t.machine||e.machine===t.machine||e.root===t.machine;if(void 0!==t.sense)return e.sense===t.sense;if(void 0!==t.fastOr){if(t.pos&&!e.tags.has(t.pos))return null;let n=e.root||e.implicit||e.machine||e.normal;return t.fastOr.has(n)||t.fastOr.has(e.text)}return void 0!==t.choices&&("and"===t.operator?t.choices.every((t=>Jt(e,t,n,r))):t.choices.some((t=>Jt(e,t,n,r))))}(e,t,n,r);return!0===t.negative?!a:a};var Wt=Jt;const Kt=function(e,t){if(!0===e.end&&!0===e.greedy&&t.start_i+t.tn.max?(e.t=e.t+n.max,!0):(!0===e.hasGroup&&(qt(e,e.t).length=r-e.t),e.t=r,!0)};const Qt=function(e,t=0){let n=e.regs[e.r],r=!1;for(let o=0;o{let a=0,o=e.t+r+t+a;if(void 0===e.terms[o])return!1;let i=Wt(e.terms[o],n,o+e.start_i,e.phrase_length);if(!0===i&&!0===n.greedy)for(let t=1;t{let r=n.every(((t,n)=>{let r=e.t+n;return void 0!==e.terms[r]&&Wt(e.terms[r],t,r,e.phrase_length)}));return!0===r&&n.length>t&&(t=n.length),r}))&&t}(e);if(r){if(!0===n.negative)return null;if(!0===e.hasGroup&&(qt(e,e.t).length+=r),!0===n.end){let t=e.phrase_length-1;if(e.t+e.start_i!==t)return null}return e.t+=r,!0}return!!n.optional||null},Xt=function(e,t,n){let r=0;for(let a=e.t;ar||(e.t+=r,0))},Zt=function(e){const{regs:t}=e;let n=t[e.r],r=Object.assign({},n);if(r.negative=!1,Wt(e.terms[e.t],r,e.start_i+e.t,e.phrase_length))return!1;if(n.optional){let n=t[e.r+1];n&&(Wt(e.terms[e.t],n,e.start_i+e.t,e.phrase_length)?e.r+=1:n.optional&&t[e.r+2]&&Wt(e.terms[e.t],t[e.r+2],e.start_i+e.t,e.phrase_length)&&(e.r+=2))}return n.greedy?Xt(e,r,t[e.r+1]):(e.t+=1,!0)},Yt=function(e){const{regs:t}=e;let n=t[e.r],r=e.terms[e.t],a=Wt(r,t[e.r+1],e.start_i+e.t,e.phrase_length);if(n.negative||a){let n=e.terms[e.t+1];n&&Wt(n,t[e.r+1],e.start_i+e.t,e.phrase_length)||(e.r+=1)}},en=function(e){const{regs:t,phrase_length:n}=e;let r=t[e.r];return e.t=function(e,t){let n=Object.assign({},e.regs[e.r],{start:!1,end:!1}),r=e.t;for(;e.te.t?null:!0!==r.end||e.start_i+e.t===n||null},tn=function(e){let t=e.terms[e.t],n=e.regs[e.r];if(t.implicit&&e.terms[e.t+1]){if(!e.terms[e.t+1].implicit)return;n.word===t.normal&&(e.t+=1),"hasContraction"===n.method&&(e.t+=1)}},nn=function(e){const{regs:t}=e;let n=t[e.r],r=e.terms[e.t],a=e.t;return!!(n.optional&&t[e.r+1]&&n.negative)||(n.optional&&t[e.r+1]&&Yt(e),r.implicit&&e.terms[e.t+1]&&tn(e),e.t+=1,!0===n.end&&e.t!==e.terms.length&&!0!==n.greedy?null:!0!==n.greedy||en(e)?(!0===e.hasGroup&&function(e,t){let n=e.regs[e.r];const r=qt(e,t);e.t>1&&n.greedy?r.length+=e.t-t:r.length++}(e,a),!0):null)},rn=function(e,t,n,r){if(0===e.length||0===t.length)return null;let a={t:0,terms:e,r:0,regs:t,groups:{},start_i:n,phrase_length:r,inGroup:null};for(;a.r!e.optional)))break;return null}if(!0!==e.anything||!0!==e.greedy){if(void 0===e.choices||"or"!==e.operator){if(void 0===e.choices||"and"!==e.operator)if(!0!==e.anything){if(!0!==Kt(e,a)){if(e.negative){if(!Zt(a))return null}else if(!0!==Wt(a.terms[a.t],e,a.start_i+a.t,a.phrase_length)){if(!0!==e.optional)return null}else if(!nn(a))return null}else if(!nn(a))return null}else{if(e.negative&&e.anything)return null;if(!nn(a))return null}else if(!_t(a))return null}else if(!Rt(a))return null}else if(!Ut(a))return null}let o=[null,n,a.t+n];if(o[1]===o[2])return null;let i={};return Object.keys(a.groups).forEach((e=>{let t=a.groups[e],r=n+t.start;i[e]=[null,r,r+t.length]})),{pointer:o,groups:i}},an=function(e,t){let n=[],r={};return 0===e.length||("number"==typeof t&&(t=String(t)),t?e.forEach((e=>{e.groups[t]&&n.push(e.groups[t])})):e.forEach((e=>{n.push(e.pointer),Object.keys(e.groups).forEach((t=>{r[t]=r[t]||[],r[t].push(e.groups[t])}))}))),{ptrs:n,byGroup:r}},on=function(e,t,n){return e=e.filter((e=>{let[r,a,o]=e.pointer,i=n[r].slice(a,o);for(let e=0;e{e.groups[n][0]=t})),e},ln=function(e,t,n){let r=rn(e,t,0,e.length);return r?(r=sn(r,n),r):null};var un=function(e,t,n){n=n||[];let{regs:r,group:a,justOne:o}=t,i=[];if(!r||0===r.length)return{ptrs:[],byGroup:{}};const s=r.filter((e=>!0!==e.optional&&!0!==e.negative)).length;e:for(let t=0;te&&(e=Math.abs(n-1))}}else{let e=ln(a,r,t);e&&i.push(e)}}return!0===r[r.length-1].end&&(i=i.filter((t=>{let n=t.pointer[0];return e[n].length===t.pointer[2]}))),t.notIf&&(i=on(i,t.notIf,e)),i=an(i,a),i.ptrs.forEach((t=>{let[n,r,a]=t;t[3]=e[n][r].id,t[4]=e[n][a-1].id})),i},cn={api:it,methods:{one:{termMethods:Ht,parseMatch:Ct,match:un}},lib:{parseMatch:function(e,t){const n=this.world();let r=n.methods.one.killUnicode;return r&&(e=r(e,n)),n.methods.one.parseMatch(e,t,n)}}};const hn=/^\../,dn=/^#./,gn=function(e,t){let n={},r={};return Object.keys(t).forEach((a=>{let o=t[a],i=function(e){let t="",n="";return e=e.replace(/&/g,"&").replace(//g,">").replace(/"/g,""").replace(/'/g,"'"),hn.test(e)?t=``),t+=">",{start:t,end:n}}(a);"string"==typeof o&&(o=e.match(o)),o.docs.forEach((e=>{if(e.every((e=>e.implicit)))return;let t=e[0].id;n[t]=n[t]||[],n[t].push(i.start);let a=e[e.length-1].id;r[a]=r[a]||[],r[a].push(i.end)}))})),{starts:n,ends:r}};var mn={html:function(e){let{starts:t,ends:n}=gn(this,e),r="";return this.docs.forEach((e=>{for(let a=0;a{let n=e.pre||"",a=e.post||"";"some"===t.punctuation&&(n=n.replace(fn,""),bn.test(a)&&(a=" "),a=a.replace(vn,""),a=a.replace(/\?!+/,"?"),a=a.replace(/!+/,"!"),a=a.replace(/\?+/,"?"),a=a.replace(/\.{2,}/,""),e.tags.has("Abbreviation")&&(a=a.replace(/\./,""))),"some"===t.whitespace&&(n=n.replace(/\s/,""),a=a.replace(/\s+/," ")),t.keepPunct||(n=n.replace(fn,""),a="-"===a?" ":a.replace(pn,""));let o=e[t.form||"text"]||e.normal||"";"implicit"===t.form&&(o=e.implicit||e.text),"root"===t.form&&e.implicit&&(o=e.root||e.implicit||e.normal),"machine"!==t.form&&"implicit"!==t.form&&"root"!==t.form||!e.implicit||a&&yn.test(a)||(a+=" "),r+=n+o+a})),!1===n&&(r=r.trim()),!0===t.lowerCase&&(r=r.toLowerCase()),r},kn={text:{form:"text"},normal:{whitespace:"some",punctuation:"some",case:"some",unicode:"some",form:"normal"},machine:{keepSpace:!1,whitespace:"some",punctuation:"some",case:"none",unicode:"some",form:"machine"},root:{keepSpace:!1,whitespace:"some",punctuation:"some",case:"some",unicode:"some",form:"root"},implicit:{form:"implicit"}};kn.clean=kn.normal,kn.reduced=kn.root;var Pn=kn;let An=[],In=0;for(;In<64;)An[In]=0|4294967296*Math.sin(++In%Math.PI);function Nn(e){let t,n,r,a=[t=1732584193,n=4023233417,~t,~n],o=[],i=decodeURI(encodeURI(e))+"€",s=i.length;for(e=--s/4+2|15,o[--e]=8*s;~s;)o[s>>2]|=i.charCodeAt(s)<<8*s--;for(In=i=0;In>4]+An[i]+~~o[In|15&[i,5*i+1,3*i+5,7*i][s]])<<(s=[7,12,17,22,5,9,14,20,4,11,16,23,6,10,15,21][4*s+i++%4])|r>>>-s),t,n])t=0|s[1],n=s[2];for(i=4;i;)a[--i]+=s[i]}for(e="";i<32;)e+=(a[i>>3]>>4*(1^i++)&15).toString(16);return e}const jn={text:!0,terms:!0};let En={case:"none",unicode:"some",form:"machine",punctuation:"some"};const xn=function(e,t){return Object.assign({},e,t)},Dn={text:e=>wn(e,{keepPunct:!0},!1),normal:e=>wn(e,xn(Pn.normal,{keepPunct:!0}),!1),implicit:e=>wn(e,xn(Pn.implicit,{keepPunct:!0}),!1),machine:e=>wn(e,En,!1),root:e=>wn(e,xn(En,{form:"root"}),!1),hash:e=>Nn(wn(e,{keepPunct:!0},!1)),offset:e=>{let t=Dn.text(e).length;return{index:e[0].offset.index,start:e[0].offset.start,length:t}},terms:e=>e.map((e=>{let t=Object.assign({},e);return t.tags=Array.from(e.tags),t})),confidence:(e,t,n)=>t.eq(n).confidence(),syllables:(e,t,n)=>t.eq(n).syllables(),sentence:(e,t,n)=>t.eq(n).fullSentence().text(),dirty:e=>e.some((e=>!0===e.dirty))};Dn.sentences=Dn.sentence,Dn.clean=Dn.normal,Dn.reduced=Dn.root;const Tn={json:function(e){let t=(n=this,"string"==typeof(r=(r=e)||{})&&(r={}),(r=Object.assign({},jn,r)).offset&&n.compute("offset"),n.docs.map(((e,t)=>{let a={};return Object.keys(r).forEach((o=>{r[o]&&Dn[o]&&(a[o]=Dn[o](e,n,t))})),a})));var n,r;return"number"==typeof e?t[e]:t}};Tn.data=Tn.json;var Cn=Tn,On=function(e){console.log("%c -=-=- ","background-color:#6699cc;"),e.forEach((e=>{console.groupCollapsed(e.text());let t=e.docs[0].map((e=>{let t=e.text||"-";return e.implicit&&(t="["+e.implicit+"]"),{text:t,tags:"["+Array.from(e.tags).join(", ")+"]"}}));console.table(t,["text","tags"]),console.groupEnd()}))};const Fn="";var Vn={green:e=>""+e+Fn,red:e=>""+e+Fn,blue:e=>""+e+Fn,magenta:e=>""+e+Fn,cyan:e=>""+e+Fn,yellow:e=>""+e+Fn,black:e=>""+e+Fn,dim:e=>""+e+Fn,i:e=>""+e+Fn},Gn=function(e){let{docs:t,model:n}=e;0===t.length&&console.log(Vn.blue("\n ──────")),t.forEach((t=>{console.log(Vn.blue("\n ┌─────────")),t.forEach((t=>{let r=[...t.tags||[]],a=t.text||"-";t.sense&&(a=`{${t.normal}/${t.sense}}`),t.implicit&&(a="["+t.implicit+"]"),a=Vn.yellow(a);let o="'"+a+"'";if(t.reference){let n=e.update([t.reference]).text("normal");o+=` - ${Vn.dim(Vn.i("["+n+"]"))}`}o=o.padEnd(18);let i=Vn.blue(" │ ")+Vn.i(o)+" - "+function(e,t){return t.one.tagSet&&(e=e.map((e=>{if(!t.one.tagSet.hasOwnProperty(e))return e;const n=t.one.tagSet[e].color||"blue";return Vn[n](e)}))),e.join(", ")}(r,n);console.log(i)}))}))},zn=function(e){let{docs:t}=e;console.log(""),t.forEach((e=>{let t=[];e.forEach((e=>{"Noun"===e.chunk?t.push(Vn.blue(e.implicit||e.normal)):"Verb"===e.chunk?t.push(Vn.green(e.implicit||e.normal)):"Adjective"===e.chunk?t.push(Vn.yellow(e.implicit||e.normal)):"Pivot"===e.chunk?t.push(Vn.red(e.implicit||e.normal)):t.push(e.implicit||e.normal)})),console.log(t.join(" "),"\n")}))},Ln=function(e){if(!e.found)return;let t={};e.fullPointer.forEach((e=>{t[e[0]]=t[e[0]]||[],t[e[0]].push(e)})),Object.keys(t).forEach((n=>{let r=e.update([[Number(n)]]).text();e.update(t[n]).json({offset:!0}).forEach(((e,t)=>{r=function(e,t,n){let r=((e,t,n)=>{let r=9*n,a=t.start+r,o=a+t.length;return[e.substring(0,a),e.substring(a,o),e.substring(o,e.length)]})(e,t,n);return`${r[0]}${Vn.blue(r[1])}${r[2]}`}(r,e.offset,t)})),console.log(r)}))},$n=function(e={}){let t=this;if("string"==typeof e){let t={};t[e]=!0,e=t}return"undefined"!=typeof window&&window.document?(On(t),t):(!1!==e.tags&&(Gn(t),console.log("\n")),!0===e.chunks&&(zn(t),console.log("\n")),!0===e.highlight&&(Ln(t),console.log("\n")),t)};const Sn=function(e){let t=e.pre||"",n=e.post||"";return t+e.text+n};var Mn=function(e,t){let n=function(e,t){let n={};return Object.keys(t).forEach((r=>{e.match(r).fullPointer.forEach((e=>{n[e[3]]={fn:t[r],end:e[2]}}))})),n}(e,t),r="";return e.docs.forEach(((t,a)=>{for(let o=0;oe.reduce(((e,t)=>e+t.pre+t.text+t.post),"").trim()));return e.filter((e=>e))}if("freq"===e||"frequency"===e||"topk"===e)return function(e){let t={};e.forEach((e=>{t[e]=t[e]||0,t[e]+=1}));let n=Object.keys(t).map((e=>({normal:e,count:t[e]})));return n.sort(((e,t)=>e.count>t.count?-1:0))}(this.json({normal:!0}).map((e=>e.normal)));if("terms"===e){let e=[];return this.docs.forEach((t=>{let n=t.terms.map((e=>e.text));n=n.filter((e=>e)),e=e.concat(n)})),e}return"tags"===e?this.docs.map((e=>e.reduce(((e,t)=>(e[t.implicit||t.normal]=Array.from(t.tags),e)),{}))):"debug"===e?this.debug():this.text()},wrap:function(e){return Mn(this,e)}};var Hn=Bn,Jn={text:function(e){let t={};var n;if(e&&"string"==typeof e&&Pn.hasOwnProperty(e)?t=Object.assign({},Pn[e]):e&&(n=e,"[object Object]"===Object.prototype.toString.call(n))&&(t=Object.assign({},e)),void 0!==t.keepSpace||this.isFull()||(t.keepSpace=!1),void 0===t.keepEndPunct&&this.pointer){let e=this.pointer[0];e&&e[1]?t.keepEndPunct=!1:t.keepEndPunct=!0}return void 0===t.keepPunct&&(t.keepPunct=!0),void 0===t.keepSpace&&(t.keepSpace=!0),function(e,t){let n="";if(!e||!e[0]||!e[0][0])return n;for(let r=0;ra||a<=n&&o>n},Qn=function(e){let t={};return e.forEach((e=>{t[e[0]]=t[e[0]]||[],t[e[0]].push(e)})),t};var Rn=function(e,t){let n=Qn(t),r=[];return e.forEach((e=>{let[t]=e,a=n[t]||[];if(a=a.filter((t=>function(e,t){return e[1]<=t[1]&&t[2]<=e[2]}(e,t))),0===a.length)return void r.push({passthrough:e});a=a.sort(((e,t)=>e[1]-t[1]));let o=e;a.forEach(((e,t)=>{let n=function(e,t){let[n,r]=e,a=t[1],o=t[2],i={};if(ro&&(i.after=[n,o,e[2]]),i}(o,e);a[t+1]?(r.push({before:n.before,match:n.match}),n.after&&(o=n.after)):r.push(n)}))})),r},_n=function(e,t){let n=[];return e.forEach(((r,a)=>{if(!r)return;let[o,i,s,l,u]=r,c=t[o]||[];if(void 0===i&&(i=0),void 0===s&&(s=c.length),!l||c[i]&&c[i].id===l)c=c.slice(i,s);else{let n=function(e,t,n){for(let r=0;r<20;r+=1){if(t[n-r]){let a=t[n-r].findIndex((t=>t.id===e));if(-1!==a)return[n-r,a]}if(t[n+r]){let a=t[n+r].findIndex((t=>t.id===e));if(-1!==a)return[n+r,a]}}return null}(l,t,o);if(null!==n){let r=s-i;c=t[n[0]].slice(n[1],n[1]+r);let o=c[0]?c[0].id:null;e[a]=[n[0],n[1],n[1]+r,o]}}0!==c.length&&i!==s&&(u&&c[c.length-1].id!==u&&(c=function(e,t){let[n,r,,,a]=e,o=t[n],i=o.findIndex((e=>e.id===a));return-1===i?(e[2]=t[n].length,e[4]=o.length?o[o.length-1].id:null):e[2]=i,t[n].slice(r,e[2]+1)}(r,t)),n.push(c))})),n=n.filter((e=>e.length>0)),n},Xn={one:{termList:function(e){let t=[];for(let n=0;n{let[t]=e;if(1===r[t].length)return void a.push(e);let n=r[t].filter((t=>Un(e,t)));n.push(e);let o=function(e){let t=e[0][1],n=e[0][2];return e.forEach((e=>{e[1]n&&(n=e[2])})),[e[0][0],t,n]}(n);a.push(o)})),a=function(e){let t={};for(let n=0;n{e.passthrough&&n.push(e.passthrough),e.before&&n.push(e.before),e.after&&n.push(e.after)})),n},er=function(e,t){let n=Qn(t),r=[];return e.forEach((e=>{let t=n[e[0]]||[];t=t.filter((t=>Un(e,t))),0!==t.length&&t.forEach((t=>{let n=function(e,t){let n=e[1]t[2]?t[2]:e[2];return n{return"string"==typeof e||(n=e,"[object Array]"===Object.prototype.toString.call(n))?t.match(e):e||t.none();var n},nr=function(e,t){return e.map((e=>{let[n,r]=e;return t[n]&&t[n][r]&&(e[3]=t[n][r].id),e}))},rr={union:function(e){e=tr(e,this);let t=Zn(this.fullPointer,e.fullPointer);return t=nr(t,this.document),this.toView(t)}};rr.and=rr.union,rr.intersection=function(e){e=tr(e,this);let t=er(this.fullPointer,e.fullPointer);return t=nr(t,this.document),this.toView(t)},rr.not=function(e){e=tr(e,this);let t=Yn(this.fullPointer,e.fullPointer);return t=nr(t,this.document),this.toView(t)},rr.difference=rr.not,rr.complement=function(){let e=this.all(),t=Yn(e.fullPointer,this.fullPointer);return t=nr(t,this.document),this.toView(t)},rr.settle=function(){let e=this.fullPointer;return e.forEach((t=>{e=Zn(e,[t])})),e=nr(e,this.document),this.update(e)};var ar=function(e){Object.assign(e.prototype,rr)},or={methods:Xn,api:ar},ir=function(e){e.prototype.sweep=function(e,t={}){const{world:n,docs:r}=this,{methods:a}=n;let o=a.one.bulkMatch(r,e,this.methods,t);!1!==t.tagger&&a.one.bulkTagger(o,r,this.world),o=o.map((e=>{let t=e.pointer,n=r[t[0]][t[1]],a=t[2]-t[1];return n.index&&(e.pointer=[n.index[0],n.index[1],t[1]+a]),e}));let i=o.map((e=>e.pointer));return o=o.map((e=>(e.view=this.update([e.pointer]),delete e.regs,delete e.needs,delete e.pointer,delete e._expanded,e))),{view:this.update(i),found:o}}};const sr=function(e){return!0===e.optional||!0===e.negative?null:e.tag?"#"+e.tag:e.word?e.word:e.switch?`%${e.switch}%`:null};var lr=function(e,t){const n=t.methods.one.parseMatch;return e.forEach((e=>{e.regs=n(e.match,{},t),"string"==typeof e.ifNo&&(e.ifNo=[e.ifNo]),e.notIf&&(e.notIf=n(e.notIf,{},t)),e.needs=function(e){let t=[];return e.forEach((e=>{t.push(sr(e)),"and"===e.operator&&e.choices&&e.choices.forEach((e=>{e.forEach((e=>{t.push(sr(e))}))}))})),t.filter((e=>e))}(e.regs);let{wants:r,count:a}=function(e){let t=[],n=0;return e.forEach((e=>{"or"!==e.operator||e.optional||e.negative||(e.fastOr&&Array.from(e.fastOr).forEach((e=>{t.push(e)})),e.choices&&e.choices.forEach((e=>{e.forEach((e=>{let n=sr(e);n&&t.push(n)}))})),n+=1)})),{wants:t,count:n}}(e.regs);e.wants=r,e.minWant=a,e.minWords=e.regs.filter((e=>!e.optional)).length})),e},ur=function(e,t){e=lr(e,t);let n={};e.forEach((e=>{e.needs.forEach((t=>{n[t]=n[t]||[],n[t].push(e)})),e.wants.forEach((t=>{n[t]=n[t]||[],n[t].push(e)}))})),Object.keys(n).forEach((e=>{let t={};n[e]=n[e].filter((e=>!t[e.match]&&(t[e.match]=!0,!0)))}));let r=e.filter((e=>0===e.needs.length&&0===e.wants.length));return{hooks:n,always:r}},cr=function(e,t){return e.map(((n,r)=>{let a=[];Object.keys(t).forEach((n=>{e[r].has(n)&&(a=a.concat(t[n]))}));let o={};return a=a.filter((e=>!o[e.match]&&(o[e.match]=!0,!0))),a}))},hr=function(e,t){return e.map(((e,n)=>{let r=t[n];return e=(e=(e=e.filter((e=>e.needs.every((e=>r.has(e)))))).filter((e=>void 0===e.ifNo||!0!==e.ifNo.some((e=>r.has(e)))))).filter((e=>0===e.wants.length||e.wants.filter((e=>r.has(e))).length>=e.minWant))}))},dr=function(e,t,n,r,a){let o=[];for(let n=0;n0&&(l.ptrs.forEach((e=>{e[0]=n;let t=Object.assign({},s,{pointer:e});void 0!==s.unTag&&(t.unTag=s.unTag),o.push(t)})),!0===a.matchOne))return[o[0]]}return o},gr=function(e,t,n,r={}){let a=n.one.cacheDoc(e),o=cr(a,t.hooks);return o=hr(o,a),t.always.length>0&&(o=o.map((e=>e.concat(t.always)))),o=function(e,t){return e.map(((e,n)=>{let r=t[n].length;return e=e.filter((e=>r>=e.minWords)),e}))}(o,e),dr(o,e,a,n,r)},mr=function(e,t,n){let r=n.one.tagSet;if(!r.hasOwnProperty(t))return!0;let a=r[t].not||[];for(let t=0;t{if(!e.tag&&!e.chunk&&!e.unTag)return;let a=e.reason||e.match,u=o([e.pointer],t)[0];if(!0===e.safe){if(!1===mr(u,e.tag,r))return;if("-"===u[u.length-1].post)return}if(void 0!==e.tag&&(i(u,e.tag,n,e.safe,`[post] '${a}'`),"Noun"===e.tag&&l)){let t=u[u.length-1];l(t.text)?i([t],"Plural",n,e.safe,"quick-plural"):i([t],"Singular",n,e.safe,"quick-singular")}void 0!==e.unTag&&s(u,e.unTag,n,e.safe,a),e.chunk&&u.forEach((t=>t.chunk=e.chunk))})))},fr={lib:{buildNet:function(e){let t=this.methods().one.buildNet(e,this.world());return t.isNet=!0,t}},api:ir,methods:{one:{buildNet:ur,bulkMatch:gr,bulkTagger:pr}}};const vr=/ /,br=function(e,t){"Noun"===t&&(e.chunk=t),"Verb"===t&&(e.chunk=t)},yr=function(e,t,n,r){if(!0===e.tags.has(t))return null;if("."===t)return null;let a=n[t];if(a){if(a.not&&a.not.length>0)for(let t=0;t0)for(let t=0;t{let r=e.map((e=>e.text||"["+e.implicit+"]")).join(" ");var a;"string"!=typeof t&&t.length>2&&(t=t.slice(0,2).join(", #")+" +"),t="string"!=typeof t?t.join(", #"):t,console.log(` ${(a=r,""+a+"").padEnd(24)} → #${t.padEnd(22)} ${(e=>""+e+"")(n)}`)})(e,t,a),1!=(s=t,"[object Array]"===Object.prototype.toString.call(s)))if("string"==typeof t)if(t=t.trim(),vr.test(t))!function(e,t,n,r){let a=t.split(vr);e.forEach(((e,t)=>{let o=a[t];o&&(o=o.replace(/^#/,""),yr(e,o,n,r))}))}(e,t,o,r);else{t=t.replace(/^#/,"");for(let n=0;nwr(e,t,n,r)))};var kr=wr,Pr=function(e,t,n){t=t.trim().replace(/^#/,"");for(let r=0;r0)for(let e=0;e/),n=[];t.forEach((e=>{n=n.concat(function(e){if(!(e=e.trim()))return null;if(/^\[/.test(e)&&/\]$/.test(e)){let t=(e=(e=e.replace(/^\[/,"")).replace(/\]$/,"")).split(/,/);return t=t.map((e=>e.trim())).filter((e=>e)),t=t.map((e=>Ar({id:e}))),t}return[Ar({id:e})]}(e))})),n=n.filter((e=>e));let r=n[0];for(let e=1;e{let n=[],r=[e];for(;r.length>0;){let e=r.pop();n.push(e),e.children&&e.children.forEach((n=>{t&&t(e,n),r.push(n)}))}return n},Er=e=>"[object Array]"===Object.prototype.toString.call(e),xr=e=>(e=e||"").trim(),Dr=function(e=[]){return"string"==typeof e?function(e){let t=e.split(/\r?\n/),n=[];t.forEach((e=>{if(!e.trim()||Ir.test(e))return;let t=(e=>{const t=/^( {2}|\t)/;let n=0;for(;t.test(e);)e=e.replace(t,""),n+=1;return n})(e);n.push({indent:t,node:Nr(e)})}));let r=function(e){let t={children:[]};return e.forEach(((n,r)=>{0===n.indent?t.children=t.children.concat(n.node):e[r-1]&&function(e,t){let n=e[t].indent;for(;t>=0;t-=1)if(e[t].indent{t[e.id]=e}));let n=Ar({});return e.forEach((e=>{if((e=Ar(e)).parent)if(t.hasOwnProperty(e.parent)){let n=t[e.parent];delete e.parent,n.children.push(e)}else console.warn(`[Grad] - missing node '${e.parent}'`);else n.children.push(e)})),n}(e):(jr(t=e).forEach(Ar),t);var t},Tr=function(e,t){let n="-> ";t&&(n=(e=>""+e+"")("→ "));let r="";return jr(e).forEach(((e,a)=>{let o=e.id||"";if(t&&(o=(e=>""+e+"")(o)),0===a&&!e.id)return;let i=e._cache.parents.length;r+=" ".repeat(i)+n+o+"\n"})),r},Cr=function(e){let t=jr(e);t.forEach((e=>{delete(e=Object.assign({},e)).children}));let n=t[0];return n&&!n.id&&0===Object.keys(n.props).length&&t.shift(),t},Or={text:Tr,txt:Tr,array:Cr,flat:Cr},Fr=function(e,t){return"nested"===t||"json"===t?e:"debug"===t?(console.log(Tr(e,!0)),null):Or.hasOwnProperty(t)?Or[t](e):e},Vr=e=>{jr(e,((e,t)=>{e.id&&(e._cache.parents=e._cache.parents||[],t._cache.parents=e._cache.parents.concat([e.id]))}))},Gr=/\//;let zr=class g{constructor(e={}){Object.defineProperty(this,"json",{enumerable:!1,value:e,writable:!0})}get children(){return this.json.children}get id(){return this.json.id}get found(){return this.json.id||this.json.children.length>0}props(e={}){let t=this.json.props||{};return"string"==typeof e&&(t[e]=!0),this.json.props=Object.assign(t,e),this}get(e){if(e=xr(e),!Gr.test(e)){let t=this.json.children.find((t=>t.id===e));return new g(t)}let t=((e,t)=>{let n=(e=>"string"!=typeof e?e:(e=e.replace(/^\//,"")).split(/\//))(t=t||"");for(let t=0;te.id===n[t]));if(!r)return null;e=r}return e})(this.json,e)||Ar({});return new g(t)}add(e,t={}){if(Er(e))return e.forEach((e=>this.add(xr(e),t))),this;e=xr(e);let n=Ar({id:e,props:t});return this.json.children.push(n),new g(n)}remove(e){return e=xr(e),this.json.children=this.json.children.filter((t=>t.id!==e)),this}nodes(){return jr(this.json).map((e=>(delete(e=Object.assign({},e)).children,e)))}cache(){return(e=>{let t=jr(e,((e,t)=>{e.id&&(e._cache.parents=e._cache.parents||[],e._cache.children=e._cache.children||[],t._cache.parents=e._cache.parents.concat([e.id]))})),n={};t.forEach((e=>{e.id&&(n[e.id]=e)})),t.forEach((e=>{e._cache.parents.forEach((t=>{n.hasOwnProperty(t)&&n[t]._cache.children.push(e.id)}))})),e._cache.children=Object.keys(n)})(this.json),this}list(){return jr(this.json)}fillDown(){var e;return e=this.json,jr(e,((e,t)=>{t.props=((e,t)=>(Object.keys(t).forEach((n=>{if(t[n]instanceof Set){let r=e[n]||new Set;e[n]=new Set([...r,...t[n]])}else if((e=>e&&"object"==typeof e&&!Array.isArray(e))(t[n])){let r=e[n]||{};e[n]=Object.assign({},t[n],r)}else Er(t[n])?e[n]=t[n].concat(e[n]||[]):void 0===e[n]&&(e[n]=t[n])})),e))(t.props,e.props)})),this}depth(){Vr(this.json);let e=jr(this.json),t=e.length>1?1:0;return e.forEach((e=>{if(0===e._cache.parents.length)return;let n=e._cache.parents.length+1;n>t&&(t=n)})),t}out(e){return Vr(this.json),Fr(this.json,e)}debug(){return Vr(this.json),Fr(this.json,"debug"),this}};const Lr=function(e){let t=Dr(e);return new zr(t)};Lr.prototype.plugin=function(e){e(this)};var $r={Noun:"blue",Verb:"green",Negative:"green",Date:"red",Value:"red",Adjective:"magenta",Preposition:"cyan",Conjunction:"cyan",Determiner:"cyan",Hyphenated:"cyan",Adverb:"cyan"};const Sr=function(e){if($r.hasOwnProperty(e.id))return $r[e.id];if($r.hasOwnProperty(e.is))return $r[e.is];let t=e._cache.parents.find((e=>$r[e]));return $r[t]};var Mr=function(e){const t={};return e.forEach((e=>{let{not:n,also:r,is:a,novel:o}=e.props,i=e._cache.parents;r&&(i=i.concat(r)),t[e.id]={is:a,not:n,novel:o,also:r,parents:i,children:e._cache.children,color:Sr(e)}})),Object.keys(t).forEach((e=>{let n=new Set(t[e].not);t[e].not.forEach((e=>{t[e]&&t[e].children.forEach((e=>n.add(e)))})),t[e].not=Array.from(n)})),t};const Br=function(e){return e?"string"==typeof e?[e]:e:[]};var Hr=function(e,t){return e=function(e,t){return Object.keys(e).forEach((n=>{e[n].isA&&(e[n].is=e[n].isA),e[n].notA&&(e[n].not=e[n].notA),e[n].is&&"string"==typeof e[n].is&&(t.hasOwnProperty(e[n].is)||e.hasOwnProperty(e[n].is)||(e[e[n].is]={})),e[n].not&&"string"==typeof e[n].not&&!e.hasOwnProperty(e[n].not)&&(t.hasOwnProperty(e[n].not)||e.hasOwnProperty(e[n].not)||(e[e[n].not]={}))})),e}(e,t),Object.keys(e).forEach((t=>{e[t].children=Br(e[t].children),e[t].not=Br(e[t].not)})),Object.keys(e).forEach((t=>{(e[t].not||[]).forEach((n=>{e[n]&&e[n].not&&e[n].not.push(t)}))})),e},Jr=function(e,t){Object.keys(t).length>0&&(e=function(e){return Object.keys(e).forEach((t=>{e[t]=Object.assign({},e[t]),e[t].novel=!0})),e}(e)),e=Hr(e,t);const n=function(e){const t=Object.keys(e).map((t=>{let n=e[t];const r={not:new Set(n.not),also:n.also,is:n.is,novel:n.novel};return{id:t,parent:n.is,props:r,children:[]}}));return Lr(t).cache().fillDown().out("array")}(Object.assign({},t,e));return Mr(n)},Wr={one:{setTag:kr,unTag:Pr,addTags:Jr}};const Kr=function(e){return"[object Array]"===Object.prototype.toString.call(e)},qr={tag:function(e,t="",n){if(!this.found||!e)return this;let r=this.termList();if(0===r.length)return this;const{methods:a,verbose:o,world:i}=this;return!0===o&&console.log(" + ",e,t||""),Kr(e)?e.forEach((e=>a.one.setTag(r,e,i,n,t))):a.one.setTag(r,e,i,n,t),this.uncache(),this},tagSafe:function(e,t=""){return this.tag(e,t,!0)},unTag:function(e,t){if(!this.found||!e)return this;let n=this.termList();if(0===n.length)return this;const{methods:r,verbose:a,model:o}=this;!0===a&&console.log(" - ",e,t||"");let i=o.one.tagSet;return Kr(e)?e.forEach((e=>r.one.unTag(n,e,i))):r.one.unTag(n,e,i),this.uncache(),this},canBe:function(e){e=e.replace(/^#/,"");let t=this.model.one.tagSet;if(!t.hasOwnProperty(e))return this;let n=t[e].not||[],r=[];this.document.forEach(((e,t)=>{e.forEach(((e,a)=>{n.find((t=>e.tags.has(t)))&&r.push([t,a,a+1])}))}));let a=this.update(r);return this.difference(a)}};var Ur=qr,Qr=function(e){Object.assign(e.prototype,Ur)},Rr={addTags:function(e){const{model:t,methods:n}=this.world(),r=t.one.tagSet;let a=(0,n.one.addTags)(e,r);return t.one.tagSet=a,this}};const _r=new Set(["Auxiliary","Possessive"]);var Xr=function(e){const{document:t,world:n}=e,r=n.model.one.tagSet;t.forEach((e=>{e.forEach((e=>{let t=Array.from(e.tags);e.tagRank=function(e,t){return e=e.sort(((e,n)=>{if(_r.has(e)||!t.hasOwnProperty(n))return 1;if(_r.has(n)||!t.hasOwnProperty(e))return-1;let r=t[e].children||[],a=r.length;return r=t[n].children||[],a-r.length})),e}(t,r)}))}))},Zr={model:{one:{tagSet:{}}},compute:{tagRank:Xr},methods:Wr,api:Qr,lib:Rr};const Yr=/([.!?\u203D\u2E18\u203C\u2047-\u2049\u3002]+\s)/g,ea=/^[.!?\u203D\u2E18\u203C\u2047-\u2049\u3002]+\s$/,ta=/((?:\r?\n|\r)+)/;var na=function(e){let t=[],n=e.split(ta);for(let e=0;e0&&(a.push(o),e[t]="")}return a};const sa={'"':'"',""":""","“":"”","‟":"”","„":"”","⹂":"”","‚":"’","«":"»","‹":"›","‵":"′","‶":"″","‷":"‴","〝":"〞","〟":"〞"},la=RegExp("["+Object.keys(sa).join("")+"]","g"),ua=RegExp("["+Object.values(sa).join("")+"]","g"),ca=function(e){if(!e)return!1;let t=e.match(ua);return null!==t&&1===t.length};var ha=function(e){let t=[];for(let n=0;n(e[t]=!0,e)),{});var Ea=function(e,t){let n=[],r=[];if("number"==typeof(e=e||"")&&(e=String(e)),function(e){return"[object Array]"===Object.prototype.toString.call(e)}(e))return e;const a=e.split(Na);for(let e=0;e0?(n[n.length-1]+=o,n.push(t)):n.push(o+t),o=""):o+=t}return o&&(0===n.length&&(n[0]=""),n[n.length-1]+=o),n=Pa(n),n=wa(n),n=n.filter((e=>e)),n};const xa=/\p{Letter}/u,Da=/[\p{Number}\p{Currency_Symbol}]/u,Ta=/^[a-z]\.([a-z]\.)+/i,Ca=/[sn]['’]$/;var Oa=function(e,t){let{prePunctuation:n,postPunctuation:r,emoticons:a}=t.one,o=e,i="",s="",l=Array.from(e);if(a.hasOwnProperty(e.trim()))return{str:e.trim(),pre:i,post:" "};let u=l.length;for(let e=0;e(s=e||"",""))),e=o,i=""),{str:e,pre:i,post:s}},Fa=(e,t)=>{let{str:n,pre:r,post:a}=Oa(e,t);return{text:n,pre:r,post:a,tags:new Set}},Va=function(e,t){const n=t.model.one.unicode||{};let r=(e=e||"").split("");return r.forEach(((e,t)=>{n[e]&&(r[t]=n[e])})),r.join("")},Ga=function(e){let t=e=(e=(e=e||"").toLowerCase()).trim();return e=(e=(e=e.replace(/[,;.!?]+$/,"")).replace(/\u2026/g,"...")).replace(/\u2013/g,"-"),!1===/^[:;]/.test(e)&&(e=(e=(e=e.replace(/\.{3,}$/g,"")).replace(/[",.!:;?)]+$/g,"")).replace(/^['"(]+/g,"")),""===(e=(e=e.replace(/[\u200B-\u200D\uFEFF]/g,"")).trim())&&(e=t),e=e.replace(/([0-9]),([0-9])/g,"$1$2")};const za=/([A-Z]\.)+[A-Z]?,?$/,La=/^[A-Z]\.,?$/,$a=/[A-Z]{2,}('s|,)?$/,Sa=/([a-z]\.)+[a-z]\.?$/;var Ma=function(e){return function(e){return!0===za.test(e)||!0===Sa.test(e)||!0===La.test(e)||!0===$a.test(e)}(e)&&(e=e.replace(/\./g,"")),e},Ba=function(e,t){const n=t.methods.one.killUnicode;let r=e.text||"";r=Ga(r),r=n(r,t),r=Ma(r),e.normal=r},Ha=function(e,t){const{methods:n,model:r}=t,{splitSentences:a,splitTerms:o,splitWhitespace:i}=n.one.tokenize;return e=a(e=e||"",t).map((e=>{let n=o(e,r);return n=n.map((e=>i(e,r))),n.forEach((e=>{Ba(e,t)})),n})),e};const Ja=/[ .][A-Z]\.? *$/i,Wa=/(?:\u2026|\.{2,}) *$/,Ka=/\p{L}/u,qa=/^[A-Z]\. $/;var Ua=function(e,t){if(!1===Ka.test(e))return!1;if(!0===Ja.test(e))return!1;if(3===e.length&&qa.test(e))return!1;if(!0===Wa.test(e))return!1;let n=e.replace(/[.!?\u203D\u2E18\u203C\u2047-\u2049] *$/,"").split(" "),r=n[n.length-1].toLowerCase();return!0!==t.hasOwnProperty(r)},Qa={one:{killUnicode:Va,tokenize:{splitSentences:va,isSentence:Ua,splitTerms:Ea,splitWhitespace:Fa,fromString:Ha}}},Ra={"&":"and","@":"at","%":"percent",plz:"please",bein:"being"};let _a={},Xa={};[[["approx","apt","bc","cyn","eg","esp","est","etc","ex","exp","prob","pron","gal","min","pseud","fig","jd","lat","lng","vol","fm","def","misc","plz","ea","ps","sec","pt","pref","pl","pp","qt","fr","sq","nee","ss","tel","temp","vet","ver","fem","masc","eng","adj","vb","rb","inf","situ","vivo","vitro","wr"]],[["dl","ml","gal","qt","pt","tbl","tsp","tbsp","km","dm","cm","mm","mi","td","hr","hrs","kg","hg","dg","cg","mg","µg","lb","oz","sq ft","hz","mps","mph","kmph","kb","mb","tb","lx","lm","fl oz","yb"],"Unit"],[["ad","al","arc","ba","bl","ca","cca","col","corp","ft","fy","ie","lit","ma","md","pd","tce"],"Noun"],[["adj","adm","adv","asst","atty","bldg","brig","capt","cmdr","comdr","cpl","det","dr","esq","gen","gov","hon","jr","llb","lt","maj","messrs","mlle","mme","mr","mrs","ms","mstr","phd","prof","pvt","rep","reps","res","rev","sen","sens","sfc","sgt","sir","sr","supt","surg"],"Honorific"],[["jan","feb","mar","apr","jun","jul","aug","sep","sept","oct","nov","dec"],"Month"],[["dept","univ","assn","bros","inc","ltd","co"],"Organization"],[["rd","st","dist","mt","ave","blvd","cl","cres","hwy","ariz","cal","calif","colo","conn","fla","fl","ga","ida","ia","kan","kans","minn","neb","nebr","okla","penna","penn","pa","dak","tenn","tex","ut","vt","va","wis","wisc","wy","wyo","usafa","alta","ont","que","sask"],"Place"]].forEach((e=>{e[0].forEach((t=>{_a[t]=!0,Xa[t]="Abbreviation",void 0!==e[1]&&(Xa[t]=[Xa[t],e[1]])}))}));var Za=["anti","bi","co","contra","de","extra","infra","inter","intra","macro","micro","mis","mono","multi","peri","pre","pro","proto","pseudo","re","sub","supra","trans","tri","un","out","ex"].reduce(((e,t)=>(e[t]=!0,e)),{});let Ya={"!":"¡","?":"¿Ɂ",'"':'“”"❝❞',"'":"‘‛❛❜’","-":"—–",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:"ŹźŻżŽžƵƶȤȥɀΖ"},eo={};Object.keys(Ya).forEach((function(e){Ya[e].split("").forEach((function(t){eo[t]=e}))}));const to=/\//,no=/[a-z]\.[a-z]/i,ro=/[0-9]/;var ao=function(e,t){let n=e.normal||e.text||e.machine;const r=t.model.one.aliases;if(r.hasOwnProperty(n)&&(e.alias=e.alias||[],e.alias.push(r[n])),to.test(n)&&!no.test(n)&&!ro.test(n)){let t=n.split(to);t.length<=2&&t.forEach((t=>{""!==(t=t.trim())&&(e.alias=e.alias||[],e.alias.push(t))}))}return e};const oo=/^\p{Letter}+-\p{Letter}+$/u;var io=function(e){let t=e.implicit||e.normal||e.text;t=t.replace(/['’]s$/,""),t=t.replace(/s['’]$/,"s"),t=t.replace(/([aeiou][ktrp])in'$/,"$1ing"),oo.test(t)&&(t=t.replace(/-/g,"")),t=t.replace(/^[#@]/,""),t!==e.normal&&(e.machine=t)},so=function(e){let t=e.docs,n={};for(let e=0;eho(e,ao),machine:e=>ho(e,io),normal:e=>ho(e,Ba),freq:so,offset:lo,index:uo,wordCount:co},methods:Qa,model:{one:{aliases:Ra,abbreviations:_a,prefixes:Za,suffixes:{like:!0,ish:!0,less:!0,able:!0,elect:!0,type:!0,designate:!0},prePunctuation:{"#":!0,"@":!0,_:!0,"°":!0,"​":!0,"‌":!0,"‍":!0,"\ufeff":!0},postPunctuation:{"%":!0,_:!0,"°":!0,"​":!0,"‌":!0,"‍":!0,"\ufeff":!0},lexicon:Xa,unicode:eo,emoticons:{"<3":!0,"{let i=(e=e.toLowerCase().trim()).length;t.max&&i>t.max&&(i=t.max);for(let s=t.min;s{delete r[e]})),r};const bo={safe:!0,min:3};var yo={typeahead:function(e=[],t={}){let n=this.model();var r;t=Object.assign({},bo,t),r=e,"[object Object]"===Object.prototype.toString.call(r)&&(Object.assign(n.one.lexicon,e),e=Object.keys(e));let a=vo(e,t,this.world());return Object.keys(a).forEach((e=>{n.one.typeahead.hasOwnProperty(e)?delete n.one.typeahead[e]:n.one.typeahead[e]=a[e]})),this}},wo={model:{one:{typeahead:{}}},api:fo,lib:yo,compute:mo,hooks:["typeahead"]};v.extend(ee),v.extend(qn),v.extend(cn),v.extend(or),v.extend(Zr),v.plugin(De),v.extend(go),v.plugin(k),v.extend(Ke),v.extend(wo),v.extend(Le),v.extend(fr);var ko={addendum:"addenda",corpus:"corpora",criterion:"criteria",curriculum:"curricula",genus:"genera",memorandum:"memoranda",opus:"opera",ovum:"ova",phenomenon:"phenomena",referendum:"referenda",alga:"algae",alumna:"alumnae",antenna:"antennae",formula:"formulae",larva:"larvae",nebula:"nebulae",vertebra:"vertebrae",analysis:"analyses",axis:"axes",diagnosis:"diagnoses",parenthesis:"parentheses",prognosis:"prognoses",synopsis:"synopses",thesis:"theses",neurosis:"neuroses",appendix:"appendices",index:"indices",matrix:"matrices",ox:"oxen",sex:"sexes",alumnus:"alumni",bacillus:"bacilli",cactus:"cacti",fungus:"fungi",hippopotamus:"hippopotami",libretto:"libretti",modulus:"moduli",nucleus:"nuclei",octopus:"octopi",radius:"radii",stimulus:"stimuli",syllabus:"syllabi",cookie:"cookies",calorie:"calories",auntie:"aunties",movie:"movies",pie:"pies",rookie:"rookies",tie:"ties",zombie:"zombies",leaf:"leaves",loaf:"loaves",thief:"thieves",foot:"feet",goose:"geese",tooth:"teeth",beau:"beaux",chateau:"chateaux",tableau:"tableaux",bus:"buses",gas:"gases",circus:"circuses",crisis:"crises",virus:"viruses",database:"databases",excuse:"excuses",abuse:"abuses",avocado:"avocados",barracks:"barracks",child:"children",clothes:"clothes",echo:"echoes",embargo:"embargoes",epoch:"epochs",deer:"deer",halo:"halos",man:"men",woman:"women",mosquito:"mosquitoes",mouse:"mice",person:"people",quiz:"quizzes",rodeo:"rodeos",shoe:"shoes",sombrero:"sombreros",stomach:"stomachs",tornado:"tornados",tuxedo:"tuxedos",volcano:"volcanoes"},Po={Comparative:"true¦bett1f0;arth0ew0in0;er",Superlative:"true¦earlier",PresentTense:"true¦bests,sounds",Condition:"true¦lest,unless",PastTense:"true¦began,came,d4had,kneel3l2m0sa4we1;ea0sg2;nt;eap0i0;ed;id",Participle:"true¦0:0A;a07b02c00dXeat0fSgQhPoJprov0rHs7t6u4w1;ak0ithdra03o2r1;i03uZ;k0v0;nd1pr05;ergoJoJ;ak0hHo3;e9h7lain,o6p5t4un3w1;o1um;rn;g,k;ol0reT;iRok0;ught,wn;ak0o1ruL;ne,wn;en,wn;ewriOi1uK;dd0s0;ut3ver1;do4se0t1;ak0h2;do2g1;roH;ne;ast0i7;iv0o1;ne,tt0;all0loCor1;bi3g2s1;ak0e0;iv0oA;dd0;ove,r1;a6eamt,iv0u1;nk;hos0lu1;ng;e4i3lo2ui1;lt;wn;tt0;at0en,gun;r2w1;ak0ok0;is0;en",Gerund:"true¦accord0be0doin,go0result0stain0;ing",Expression:"true¦a0Xb0Tc0Rd0Ne0Lg0FhZjeez,lWmVnToNpKsItHuEvDw6y0;a4e3i1u0;ck,p;k04p0;ee,pee;ah,p,s;!a,y;a5h2o1t0;af,f;rd up,w;atsoever,e1o0;a,ops;e,w;hoo,t;ery wEoi0L;gh,h0;! 0h,m;huh,oh;here nQsk,ut tut;h0ic;eesh,hh,it,oo;ff,h1l0ow,sst;ease,s,z;ew,ooey;h1i,mg,o0uch,w,y;h,o,ps;! 0h;h1my go0w1;d,sh;ell;ah,evertheless,o0;!pe;eh,mm;ah,eh,m1ol0;!s;ao,fao;aCeBi9o2u0;h,mph,rra0zzC;h,y;l1o0;r6y9;la,y0;! 0;c1moCsmok0;es;ow;!p hip hoor0;ay;ck,e,llo,y;ha1i,lleluj0;ah;!ha;ah,ee4o1r0;eat scott,r;l1od0sh; grief,bye;ly;! whiz;e0h,t cetera,ww,xcuse me;k,p;'oh,a0rat,uh;m0ng;mit,n0;!it;mon,o0;ngratulations,wabunga;a2oo1r0tw,ye;avo,r;!ya;h,m; 1h0ka,las,men,rgh,ye;!a,em,h,oy;la",Negative:"true¦n0;ever,o0;n,t",QuestionWord:"true¦how3wh0;at,e1ich,o0y;!m,se;n,re; come,'s",Reflexive:"true¦h4it5my5o1the0your2;ir1m1;ne3ur0;sel0;f,ves;er0im0;self",Plural:"true¦dick0gre0ones,records;ens","Unit|Noun":"true¦cEfDgChBinchAk9lb,m6newt5oz,p4qt,t1y0;ardEd;able1b0ea1sp;!l,sp;spo1;a,t,x;on9;!b,g,i1l,m,p0;h,s;!les;!b,elvin,g,m;!es;g,z;al,b;eet,oot,t;m,up0;!s",Value:"true¦a few",Imperative:"true¦bewa0come he0;re","Plural|Verb":"true¦leaves",Demonym:"true¦0:15;1:12;a0Vb0Oc0Dd0Ce08f07g04h02iYjVkTlPmLnIomHpEqatari,rCs7t5u4v3welAz2;am0Gimbabwe0;enezuel0ietnam0I;gAkrai1;aiwTex0hai,rinida0Ju2;ni0Prkmen;a5cotti4e3ingapoOlovak,oma0Spaniard,udRw2y0W;ede,iss;negal0Cr09;sh;mo0uT;o5us0Jw2;and0;a2eru0Fhilippi0Nortugu07uerto r0S;kist3lesti1na2raguay0;ma1;ani;ami00i2orweP;caragu0geri2;an,en;a3ex0Lo2;ngo0Drocc0;cedo1la2;gasy,y07;a4eb9i2;b2thua1;e0Cy0;o,t01;azakh,eny0o2uwaiI;re0;a2orda1;ma0Ap2;anO;celandic,nd4r2sraeli,ta01vo05;a2iB;ni0qi;i0oneU;aiAin2ondur0unO;di;amEe2hanai0reek,uatemal0;or2rm0;gi0;ilipino,ren8;cuadoVgyp4mira3ngli2sto1thiopi0urope0;shm0;ti;ti0;aPominUut3;a9h6o4roat3ub0ze2;ch;!i0;lom2ngol5;bi0;a6i2;le0n2;ese;lifor1m2na3;bo2eroo1;di0;angladeshi,el6o4r3ul2;gaE;azi9it;li2s1;vi0;aru2gi0;si0;fAl7merBngol0r5si0us2;sie,tr2;a2i0;li0;genti2me1;ne;ba1ge2;ri0;ni0;gh0r2;ic0;an",Organization:"true¦0:4D;a3Gb2Yc2Ed26e22f1Xg1Ph1Ki1Hj1Fk1Dl18m0Wn0Jo0Gp09qu08r01sTtGuBv8w3xiaomi,y1;amaha,m13ou1w13;gov,tu2Z;a3e1orld trade organizati2S;lls fargo,st1;fie28inghou2I;l1rner br3I;gree37l street journ29m17;an halOeriz2Nisa,o1;dafo2Ol1;kswagMvo;b4kip,n2ps,s1;a tod2Yps;es3Ai1;lev33ted natio30;er,s; mobi2Qaco beQd bNeAgi frida9h3im horto2Ymz,o1witt31;shi3Xy1;ota,s r 00;e 1in lizzy;b3carpen37daily ma31guess w2holli0rolling st1Rs1w2;mashing pumpki2Tuprem0;ho;ea1lack eyed pe3Lyrds;ch bo1tl0;ys;l2n3Ds1xas instrumen1J;co,la m15;efoni0Cus;a7e4ieme2Lnp,o2pice gir5quare04ta1ubaru;rbucks,to2R;ny,undgard1;en;a2x pisto1;ls;g1Nrs;few2Ainsbury2QlesforYmsu22;.e.m.,adiohead,b6e3oyal 1yana30;b1dutch she4;ank;aders dige1Gd 1max,vl1R;bu1c1Zhot chili peppe2Nlobst2C;ll;c,s;ant30izno2I;a5bs,e3fiz28hilip morrCi2r1;emier2Audenti16;nk floyd,zza hut;psi2Btro1uge0A;br2Vchina,n2V;lant2Nn1yp12; 2ason20da2I;ld navy,pec,range juli2xf1;am;us;aAb9e6fl,h5i4o1sa,vid3wa;k2tre dame,vart1;is;ia;ke,ntendo,ss0L;l,s;c,st1Htflix,w1; 1sweek;kids on the block,york09;a,c;nd1Vs2t1;ional aca2Io,we0Q;a,cYd0O;aBcdonaldAe7i5lb,o3tv,y1;spa1;ce;b1Mnsanto,ody blu0t1;ley crue,or0O;crosoft,t1;as,subisM;dica2rcedes benz,talli1;ca;id,re;'s,s;c's milk,tt14z1Z;'ore08a3e1g,ittle caesa1K;novo,x1;is,mark; 1bour party;pres0Bz boy;atv,fc,kk,m1od1J;art;iffy lu0Moy divisi0Gpmorgan1sa;! cha07;bm,hop,n1tv;g,te1;l,rpol;asbro,ewlett pack1Ri3o1sbc,yundai;me dep1n1L;ot;tac1zbollah;hi;eneral 6hq,ithub,l5mb,o2reen d0Lu1;cci,ns n ros0;ldman sachs,o1;dye1g0E;ar;axo smith kli03encoV;electr0Km1;oto0W;a4bi,da,edex,i2leetwood mac,o1rito l0D;rd,xcX;at,nancial1restoY; tim0;cebook,nnie mae;b08sa,u3xxon1; m1m1;ob0H;!rosceptics;aiml0Be6isney,o4u1;nkin donu2po0Xran dur1;an;ts;j,w j1;on0;a,f lepp0Zll,peche mode,r spiegZstiny's chi1;ld;aIbc,hEiCloudflaBnn,o3r1;aigsli5eedence clearwater reviv1ossra06;al;ca c7inba6l4m1o0Bst06;ca2p1;aq;st;dplPg1;ate;se;ola;re;a,sco1tigroup;! systems;ev2i1;ck fil-a,na daily;r1y;on;dbury,pital o1rl's jr;ne;aEbc,eBf9l5mw,ni,o1p,rexiteeU;ei3mbardiIston 1;glo1pizza;be;ng;o2ue c1;roV;ckbuster video,omingda1;le; g1g1;oodriL;cht2e ge0rkshire hathaw1;ay;el;idu,nana republ3s1xt5y5;f,kin robbi1;ns;ic;bYcTdidSerosmith,iRlKmEnheuser-busDol,pple9r6s3utodesk,v2y1;er;is,on;hland1sociated F; o1;il;by4g2m1;co;os; compu2bee1;'s;te1;rs;ch;c,d,erican3t1;!r1;ak; ex1;pre1;ss; 5catel2ta1;ir;!-lu1;ce1;nt;jazeera,qae1;da;g,rbnb;as;/dc,a3er,tivision1;! blizz1;ard;demy of scienc0;es;ba",Possessive:"true¦its,my,our0thy;!s","Noun|Verb":"true¦0:9U;1:A8;2:94;3:A1;4:9P;5:A0;6:9I;7:8L;8:7J;9:A6;A:91;B:8V;C:8B;a9Mb8Oc7Gd6Pe6Ef5Qg5Gh54i4Wj4Tk4Ql4Em40n3Vo3Sp2Squ2Rr21s0Jt02u00vVwGyFzD;ip,oD;ne,om;awn,e6Die66;aOeMhJiHoErD;ap,e9Mink2;nd0rDuB;kDry,sh5Fth;!shop;ck,nDpe,re,sh;!d,g;e84iD;p,sD;k,p0t2;aDed,lco8U;r,th0;it,lk,rEsDt4ve,x;h,te;!ehou1ra9;aGen5DiFoD;iDmAte,w;ce,d;be,ew,sA;cuum,l4A;pDr7;da5gra6Clo68;aReQhrPiOoMrGuEwiDy5X;n,st;nDrn;e,n7M;aGeFiEoDu6y;t,ub2;bu5ck4Igg0m,p;at,k,nd;ck,de,in,nsDp,v7H;f0i8P;ll,ne,p,r4Wss,t92uD;ch,r;ck,de,e,le,me,p,re;e5Uow,u6;ar,e,ll,mp0st,xt;g,lDng2rg7Ns5x;k,ly;a0Sc0Ne0Kh0Fi0Dk0Bl09m08n06o05pXquaCtKuFwD;ea86iD;ng,pe,t4;bGit,m,ppErD;fa3ge,pri1v2U;lDo6Q;e6Ny;!je8;aMeLiKoHrEuDy2;dy,ff,mb2;a83eEiDo5Nugg2;ke,ng;am,ss,t4;ckEop,p,rD;e,m;ing,pi2;ck,nk,t4;er,m,p;ck,ff,ge,in,ke,lEmp,nd,p2rDte,y;!e,t;k,l;aJeIiHlGoFrDur,y;ay,e54inDu3;g,k2;ns89t;a5Oit;ll,n,r85te;ed,ll;m,n,rk;b,uB;aDee1Tow;ke,p;a5He4Di2o51;eep,iDou4;ce,p,t;ateboa7HiD;!p;de,gnDl2Unk,p,ze;!al;aGeFiEoDuff2;ck,p,re,w;ft,p,v0;d,i3Wlt0;ck,de,pe,re,ve;aEed,nDrv1It;se,t2M;l,r4t;aGhedu2oCrD;aEeDibb2o3X;en,w;pe,t4;le,n,r2L;cDfegua70il,mp2;k,rifi3;aZeHhy6JiGoEuD;b,in,le,n,s5V;a6ck,ll,oDpe,u5;f,t;de,ng,ot,p,s1V;aTcSdo,el,fQgPje8lOmMnLo17pJque6sFturn,vDwa6T;eDi26;al,r1;er72oFpe8tEuD;lt,me;!a53;l6Zrt;air,eaDly,o51;l,t;dezvo2Xt;aDedy;ke,rk;ea1i4E;a6Gist0r5L;act6Wer1Uo6ZuD;nd,se;a36o6D;ch,s6E;c1Cge,iEke,lly,nDp1Vt1V;ge,k,t;n,se;es69iv0;a04e00hYiXlToNrEsy4uD;mp,n4rcha1sh;aKeIiHoDu4M;be,ceFdu3fi2grDje8mi1p,te6;amDe6U;!me;ed,ss;ce,de,nt;sDy;er6As;cti3i1;iHlFoEp,re,sDuBw0;e,i5Wt;l,p;iDl;ce,sh;nt,s5T;aEce,e30uD;g,mp,n7;ce,nDy;!t;ck,le,n16pe,tNvot;a1oD;ne,tograph;ak,eFnErDt;fu53mA;!c30;!l,r;ckJiInHrFsEtDu1y;ch,e9;s,te;k,tD;!y;!ic;nt,r,se;!a7;bje8ff0il,oErDutli3Over49;bAd0ie9;ze;a4PeFoDur1;d,tD;e,i3;ed,gle8tD;!work;aMeKiIoEuD;rd0;ck,d3Pld,nEp,uDve;nt,th;it5CkD;ey;lk,n49rr5AsDx;s,ta29;asuCn4SrDss;ge,it;il,nFp,rk3UsEtD;ch,t0;h,k,t0;da5n0oeuvC;aLeJiHoEuD;mp,st;aEbby,ck,g,oDve;k,t;d,n;cDft,mAnHst;en1k;aDc0Ne4vJ;ch,d,k,p,se;bEcDnd,p,t4un4;e,k;el,o2T;eEiDno4D;ck,d,ll,ss;el,y;aEo1NuD;i3mp;m,zz;mpJnEr45ssD;ue;c1Qdex,fluGha2k,se2GteDvoi3;nt,rD;e6fa3viD;ew;en3;a8le29;aJeHiGoEuD;g,nt;l39no2Cok,pDr1u1;!e;ghli1Eke,nt,re,t;aDd7lp;d,t;ck,mGndFrEsh,tDu9;ch,e;bo3Wm,ne4Dve6;!le;!m0;aLear,ift,lJossIrFuD;arDe49lp,n;antee,d;aEiDouBumb2;ll,nd,p;de,sp;ip;oDue;ss,w;g,in,me,ng,s,te,ze;aZeWiRlNoJrFuD;ck,el,nDss,zz;c38d;aEoDy;st,wn;cDgme,me,nchi1;tuC;cFg,il,ld,rD;ce,e29mDwa31;!at;us;aFe0Vip,oDy;at,ck,od,wD;!er;g,ke,me,re,sh,vo1E;eGgFlEnDre,sh,t,x;an3i0Q;e,m,t0;ht,uC;ld;aEeDn3;d,l;r,tuC;ce,il,ll,rm,vo2W;cho,d7ffe8nMsKxFyeD;!baD;ll;cGerci1hFpDtra8;eriDo0W;en3me9;au6ibA;el,han7u1;caDtima5;pe;count0d,vy;a01eSiMoJrEuDye;b,el,mp,pli2X;aGeFiEoD;ne,p;ft,ll,nk,p,ve;am,ss;ft,g,in;cEd7ubt,wnloD;ad;k,u0E;ge6p,sFt4vD;e,iDor3;de;char7gui1h,liEpD;at4lay,u5;ke;al,bKcJfeIlGmaBposAsEtaD;il;e07iD;gn,re;ay,ega5iD;ght;at,ct;li04rea1;a5ut;b,ma7n3rDte;e,t;a0Eent0Dh06irc2l03oKrFuD;be,e,rDt;b,e,l,ve;aGeFoEuDy;sh;p,ss,wd;dAep;ck,ft,sh;at,de,in,lTmMnFordina5py,re,st,uDv0;gh,nDp2rt;s01t;ceHdu8fli8glomeIsFtDveN;a8rD;a6ol;e9tru8;ct;ntDrn;ra5;bHfoGmFpD;leDouBromi1;me9;aBe9it,u5;rt;at,iD;ne;lap1oD;r,ur;aEiDoud,ub;ck,p;im,w;aEeDip;at,ck,er;iGllen7nErD;ge,m,t;ge,nD;el;n,r;er,re;ke,ll,mp,noe,pGrXsFtEuDve;se,ti0I;alog,ch;h,t;!tuC;re;a03eZiXlToPrHuEyD;pa11;bb2ck2dgEff0mp,rDst,zz;den,n;et;anJeHiFoadEuD;i1sh;ca6;be,d7;ge;aDed;ch,k;ch,d;aFg,mb,nEoDrd0tt2x,ycott;k,st,t;d,e;rd,st;aFeBiDoYur;nk,tz;nd;me;as,d,ke,nd,opsy,tD;!ch,e;aFef,lt,nDt;d,efA;it;r,t;ck,il,lan3nIrFsEtt2;le;e,h;!gDk;aDe;in;!d,g,k;bu1c05dZge,iYlVnTppQrLsIttGucEwaD;rd;tiD;on;aDempt;ck;k,sD;i6ocia5;st;chFmD;!oD;ur;!iD;ve;eEroa4;ch;al;chDg0sw0;or;aEt0;er;rm;d,m,r;dreHvD;an3oD;ca5;te;ce;ss;cDe,he,t;eFoD;rd,u9;nt;nt,ss;se",Actor:"true¦0:7C;1:7H;2:6B;3:7G;4:7P;5:7L;6:72;a6Pb64c4Xd4De43f3Tg3Ch31i2Vj2Rkin2Ql2Lm27n20o1Tp0Wqu0Ur0KsRtKuIvFw9yo7;gi,ut7;h,ub0;aBeAi9o8r7;estl0it0;m2rk0;fe,nn0t2Cza2I;atherm2ld0;ge earn0it0nder0rri1;eter8i7oyG;ll5Sp,s41;an,ina2V;n7s0;c6Wder04;aoisea24eAherapi5iktok0o9r7ut1yco6;a7endseMo45;d0mp,nscri0Cvel0;ddl0u1H;a0Rchn8en7na4st0;ag0;i3Qo0E;aiYcVeShQiNki0mu27oKpHquaGtCu8wee7;p0theart;lt2per8r7;f0ge6viv1;h7inten0Jst5Kvis1;ero,um2;a9ep8r7;ang0eam0;bro2Oc2Pfa2Omo2Osi21;ff0tesm2;tt0;ec8ir2Eo7;kesp5Bu0N;ia5Lt3;l8me6Cn,rcere7ul;r,ss;di0oi5;n8s7;sy,t0;g0n0;am2ephe1Jow7;girl,m2r2R;cretJnior cit3Hr7;gea4v7;a4it1;hol4Zi8reen7ulpt1;wr2D;e02on;l1nt;aFeAo9u7;l0nn7;er up,ingF;g42le mod41of0;a51c9fug2Rpo34searRv7;ere4Wolution7;ary;e7luZru23;ptio3V;bbi,dic5Xpp0;arter7e31;back;aZeXhTiSlPoLr9sycho8u7;nk,p34;logi5;aHeEiCo7;dAfess1g8ph49s7;pe2Mtitu53;en7ramm0;it1y;igy,uc0;est4Pme mini0Vnce7s3G;!ss;a8si7;de4;ch0;ctiti3Bnk0Q;dca0Pet,li7pula52rnst44;c2Ktic7;al scie7i2;nti5;a7umb0;nn0y7;er,ma4Nwright;lgrim,one0;a9iloso8otogra8ra7ysi1X;se;ph0;ntom,rmaci5;r7ssi1V;form0s6;i3Gl,nel40r9st1tr7wn;i7on;arXot;ent4Yi44tn0;ccupa4ffCp9r8ut7;ca5l0C;ac4Kganiz0ig2Hph2;er3t7;i1Lomet7;ri5;ic0spring;aCeAie4Zo8u7;n,rser3L;b7mad,vi4X;le2Xo4F;i7mesis,phew;ce,ghb1;nny,rr3t20;aFeEiBo8u7yst21;m9si18;der3gul,m8n7th0;arEk;!my;ni8s7;f03s0Kt0;on,st0;chan1Tnt1rcha4;giAk0n9rtyr,t7y1;e,riar7;ch;ag0iac;ci2stra3K;a8e2Cieutena4o7;rd,s0v0;bor0d8ndlo7ss,urea3Hwy0ym2;rd;!y;!s2A;anitor ,e9o8u7;ggl0;gg0urna2W;st0;c6dol,llu3Wmmigra4n7;-lAc1Sfa4habi44nov3s8ve7;nt1stig3;pe0Pt7;a1Hig3ru0O;aw;airGeCistoBo9u7ygie1M;man7nt0sba2J;!ita9;bo,st7usekO;age,e3R;ri2;ir,r7;m8o7;!ine;it;dress0sty2E;aMeJhostHirl28ladi3oDrand8u7;e5ru;cAdaugTfa9m8pa7s6;!re4;a,o7;th0;hi1D;al8d7lf0;!de3C;ie,k7te28;eep0;!wr7;it0;isha,n7;i7tl06;us;mbl0rden0;aFella,iBo8r7;eela2Pie1R;e,re7ster pare4;be1Jm2r7st0;unn0;an31g9lmm19nanci0r7tt0;e7st la2J; marsh2Qfig7m2;ht0;rm0th0;conoFdElectriDm9n8x7;amin0cellency,i2B;emy,trepreneur,vironmenta1K;c9p7;er1loye7;e,r;ee;ci2;it1;mi5;aLeCi9ork,ri8u7we03;de,tche2I;ft0vK;ct3eti8plom2Ire7va;ct1;ci2ti2;aEcor3fencDi0JnBputAs8tectNvel7;op0;ce1He7ign0;rt0;ee,y;iz7;en;em2;c6l0;dAnc0redev9ught7;er7;! ;il;!dy;a06e04fo,hXitizenWlToCrAu7;r3stomer7;! representat7;ive;e3it7;ic;-work0lJmGnAord9rpor1Nu7wboy;n7ri0sin ;ciUte1R;in3;fidantBgressTsAt7;e0Lr7;ibut1o7;ll0;tab14ul1P;!e;edi2m7pos0rade;a0FeRissi7;on0;leag9on8um7;ni5;el;ue;e7own;an0r7;ic,k;!s;aAe8i7um;ld;erle7f;ad0;ir8nce7plGract0;ll1;m2wJ;lebri7o;ty;dCptBr7shi0;e8pe7;nt0;r,t7;ak0;ain;et;aNeMiKlogg0oFrCu7;dd0Gild0rglAsiness7;m2p8w7;om2;ers6;ar;i8o7;!k0th0;cklay0de,gadi0;hemi2oge9y7;!frie7;nd;ym2;an;cyc7sS;li5;atbox0ings;by,nk0r7;b0on8te7;nd0;!e08;c05dXge4nRpMrIsGtBu8yatull7;ah;nt8t7;h1oH;!ie;h9t7;e7orney;nda4;ie5le7;te;sis01tron7;aut,om0;chbis9isto8tis7;an,t;crV;hop;ostAp7;ari7rentiT;ti6;on;le;aAcest1im3nou9y7;bo7;dy;nc0;ly5rc7;hi5;mi9v7;entur0is1;er;ni8r7;al;str3;at1;or;counCquaintanBrobAt7;ivi5or,re7;ss;st;at;ce;ta4;nt","Adj|Noun":"true¦0:1F;1:1M;a1Db17c0Vd0Se0Nf0Eg0Bh09i07ju06l03mXnVoTpOrJsCt8u5v2watershed;a2ision10;gabo5nilla,ria2;b0Wnt;ndergr2pstairs;adua14ou2;nd;a4e2oken,ri0;en,r2;min0rori13;boo,n;age,e6ilv0Glack,o4quat,ta3u2well;bordina0Xper6;b0Mndard;ciali0Yl2vereign;e,ve1;cret,n2ri0;ior;a5e3ou2ubbiM;nd,tiZ;ar,bCl0Ynt0p2side1;resent0Xublican;ci0Qsh;a5eriodic0last11otenti0r2;emi3incip0o2;!fession0;er,um;rall5st,tie1;ff2pposi0Hv0;ens0Qi0D;agg02ov2;el;a6e4iniatKo2;bi02der08r2;al,t0;di2tr0P;an,um;le,riH;attPi3u2;sh;ber0ght,qD;stice,veniU;de0mpressioZn2;cumbe1dividu0no0Fsta1terim;alf,o2umdrum;bby,melG;en3old,ra2;ph0Dve;er0ious;a8e6i5l4u2;git05t2;ure;uid;ne;llow,m2;aGiM;ir,t,vo2;riOuriO;l4p02x2;c2ecutWpeX;ess;d2iK;er;ar3e2;mographWrivQ;k,l3;hiGlassUo3rude,unn2;ing;m6n2operM;creCstitue1te3vertab2;le;mpor2nt;ary;ic,m3p2;anion,lex;er3u2;ni8;ci0;e6lank,o5r2;i3u2;te;ef;ttom,urgeois;st;cademCd9l5n3r2;ab,ctB;im0tarctA;al;e4tern2;at2;ive;rt;oles2ult;ce1;nt;ic","Adj|Past":"true¦0:4C;1:40;2:45;3:42;4:3B;a3Tb3Ic2Vd2Ae22f1Wg1Th1Qi1Hj1Ekno1Dl18m13n10o0Vp0Lqu0Jr07sKtEuBvAw5yellow0;a8ea7o5rinkl0;r5u3N;n,ri0;k2Qth3;rp0sh0tY;ari0e1M;n5pd1s0;cov3derstood,i5;fi0t0;a8hreat2Ki7ouTr5urn0wi42;a5imm0ou28;ck0in0pp0;ed,r0;m0nn0r5;get0ni2K;aPcLeJhHimGm0Hoak0pEt8u5;bsid3Fgge3Vs5;pe5ta2P;ct0nd0;a9e8i26ok0r6u5;ff0nn0;ength28ip5;ed,p0;am0reotyp0;in0t0;eci5ik0oI;al35fi0;pSul1;a5ock0ut;d0r0;a5c1Dle2t2S;l0s3Jt0;a7or6r5;at5e1W;ch0;r0tt3;t5ut0;is4ur1;aFe6o5;tt0;cBdJf22gAje2l9m0Knew0p8qu7s5;eTpe2t5;or0ri2;e34ir0;e1lac0;at0e2H;ist3ul1;eiv0o5ycl0;mme2Crd0v3;in0lli0ti4;a5ot0;li4;aCer2RiBlAo9r5ump0;e7i2Go5;ce27d5lo14nou2Spos0te2v0;uc0;fe15ocDp0Fss0;i2Cli1D;ann0e24uT;ck0erc0ss0;ck0i29r5st0;allMk0;bse8c7rgan25ver5;lo5whelm0;ok0;cupi0;rv0;e6o5;t0uri12;ed0gle2;a7e6ix0o5ut0;di4t0Xu1Y;as07lt0;n5rk0;ag0ufact05;e7i6o5;ad0ck0st;cens0mit0st0;ft,v5;el0;tt0wn;a6o0Xu5;dg0s13;gg0;llumin1mpBn5sol1;br0cre1Ddebt0f9jUt6v5;it0olv0;e5ox0Q;gr1n5re1V;d0si4;e2l1o1O;li0oVr5;ov0;amm3e1o5;ok0r5;ri4;ift0r6u5;a14id0;i0Kown;a9e8i7lavo0Goc0Cr5;a5i0oz0S;ctEg13m0;ni04tt0x0;ar0;d0il0;duc1l1mBn9quipp0s8x5;agger1p5te0Q;a0Pe5os0;ct0rie1A;cap0tabliX;gFha18s5;ur0;a0Xbarra0L;aMeEi6r5;a00i0;gni4miniRre2s5;aAc7grun0Et5;o5re0Gurb0;rt0;iplVou5;nt0r5;ag0;bl0;cBdQf9l8pre0Ara7t6v5;elop0ot0;ail0ermP;ng0;ay0ight0;e5in0o0M;rr0;ay0enTor1;m5t0z0;ag0p5;en0;aQeMhJlIoAr7u5;lt5r0stom04;iv1;a6owd0u5;sh0;ck0mp0;d0loBm8n5ok0v3;centr1f6s5troD;id3olid1;us0;b6pl5;ic1;in0;r0ur0;assi4os0utt3;ar6i5;ll0;g0m0;lebr1n7r5;ti4;fi0;tralK;g0lcul1;aEiDlAo8r6urn5;ed,t;ok5uis0;en;il0r0t5und;tl0;e6i5;nd0;ss0;as0;k0laNs0tt3;bandQcOdLfJg0lGmaz0nEppCrm0ssAu6wa5;rd0;g6thor5;iz0;me5;nt0;o7u5;m0r0;li0re5;ci1;im1ticip1;at0;a6leg0t3;er0;rm0;fe2;ct0;ju6o8va5;nc0;st0;ce5knowledg0;pt0;on0;ed",Singular:"true¦0:5J;1:5H;2:4W;3:52;4:4S;5:57;6:5L;7:56;a51b4Jc3Md34e2Wf2Mg2Gh25in21j20k1Zl1Sm1Kn1Go1Ap0Qqu0Pr0EsYtLuGvBw8x r57yo yo;a8ha3Oo3P;f4i4Qt0Fy8;! arou38;arBe9ideo ga2Po8;cabu4Hl5B;gNr8t;di4Yt1V;iety,ni4O;nAp2Zr9s 8;do42s5D;bani1in0;coordinat39der8;estima1to21we40; rex,aJeIhGiEoDrAu9v8;! show;m2Nn2rntKto1B;agedy,ib8o4D;e,u8;n0ta44;ni1p2rq3K;c,er,m8;etE;ing8ree25;!y;am,mp3E;ct2le6x return;aMcLeJhor4PiIkGoFpin off,tCuAy8;ll8ner7st4S;ab2W;b8i1n27per bowl,rro1W;st3Ktot0;at9ipe2Fo1Irate7udent8;! lo0H;i38u1;ft ser4Kmeo1F;elet5i8;ll,r3U;b37gn2Ste;ab2Ic8min3A;t,urity gua2M;e6ho2X;bbatic0la3Hndwi0Opi5;av5eChetor2i9o8;de6om,w;t9v8;erb2B;e,u0;bCcAf8publ2r0Xspi1;er8orm4;e6r0;i8ord label;p2Gt0;a1u45;estion mark,ot2E;aOeLhoKiHlFoDr9u8yram1E;ddi3GpDrpo1Is3I;eAo8;bl3Ys8;pe3Ita1;dic1Qmi1Ep1Proga3Uss relea1E;p8rt0;py;a8ebisci1;q2Cte;cn2e9g8;!gy;!r;ne call,tocoJ;anut,d9r8t0yo1;cen3Isp3J;al,est0;nop3r9t8;e,hog5;adi10i2U;atme0bj3EcApia1rde0thers,utspok5ve8wn4;n,r8;ti0Oview;cu9e8;an;pi4;arAit9ot8umb4;a2Dhi2Q;e,ra1;cot2ra36;aDeBi9o8ur0é0C;nopo3p17rni2Msq1Qti35uld;c,li10n08s8tt5;chief,si33;d8nu,t0;al,ic;gna1mm0nd15rsupi0te8yf3;ri0;aCegBiAu8;ddi1n8;ch;ght bulb,me,p09ving room; 9e0M;bor14y 8;up;eyno1itt5;el3ourn0;cAdices,itia2Oni26s9tel0Mvert8;eb1K;e29titu1;en2Li2U;aHeDighCo9u8;man right,s23;me8rmoEsp1Gtb0L;! r8;un; scho0ZriZ;a8i1O;d8v5; start,pho8;ne;ndful,sh brown,v5ze;aBelat0Jlaci4r9u8yp1T;l3y;an8enadi4id;a1Bd slam,ny;df3r8;l2ni1I;aGeti1HiFlu1oCr9un8;er0;ee market,i9on8;ti4;ga1;l3ur8;so8;me;eOref3;br2mi3n10;conoEffi7gg,lecto0Qmbas1DnBpidem2s1Yth2venAx9yel8;id;ampYempl0Mte6;i18t;er7terp8;ri8;se;my;eKiDoAr8ump tru0T;agonf3i8;er,ve thru;c9g7i3or,ssi4wn8;side;to0DumenD;aDgniCnn4s9vide8;nd;conte6incen1Dp8tri10;osi8;tion;ta0F;le0W;athAc9f8ni0terre6;ault 04err0;al,im0;!b8;ed;aVeShLiKlIoCr8;edit caAuc8;ib8;le;rd;efficCke,lBmmuniqKns9pi4rr0t0Wus8yo1;in;erv8uH;ato00;ic,lP;ie6;er7i8oth;e6n2;ty,vil wL;aCeqBick5ocoAr8;istmas car8ysanthemum;ol;la1;ue;ndeli4racteri8;st2;i9llDr8;e0tifica1;liY;hi4nEpDrBt8ucus;erpi8hedr0;ll8;ar;!bohyd8ri4;ra1;it0;a8e,nib0;l,ry;aMeLiop2leJoHrDu8;nBr8tterf3;g8i0;la8;ry;ny;eak9i8;ck;fa8throA;st;dy,ro8wl;ugh;mi8;sh;an,l3;nki9rri4;er;ng;cRdLlHnEppeti1rCsAtt2utop8;sy;ic;ce6pe8;ct;r8sen0;ay;ec9oma3ti9;ly;do1;i5l8;er7y;gy;en; hominCj9van8;tage;ec8;ti8;ve;em;cBe9qui8;tt0;ta1;te;i9ru0;al;de6;nt","Person|Noun":"true¦a07b01cYdRePfOgMhJjFkiElDmBolive,p7r4s3trini00v1wa0;ng,rd;an,enus,iol0;a,et;ky,on5umm02;ay,e1o0uby;bin,d,se;ed,x;a2e0ol;aHn0;ny;ge,tM;a0eloR;x,ya;a9eo,iE;ng,tL;a2e1o0;lDy;an,w3;de,smi4y;a0iKol8;ll,z0;el;ail,e0;ne;aith,ern,lo;a0dDmir,ula,ve;rl;a4e3i1ol0;ly;ck,x0;ie;an,ja;i0wn;sy;h0liff,rystal;ari0in,ristian;ty;ak4e3i2r0;an0ook;dy;ll;nedict,rg;er;l0rt;fredo,ma","Actor|Verb":"true¦aCb8c5doctor,engineAfool,g3host,judge,m2nerd,p1recruit,scout,ushAvolunteAwi0;mp,tneA;arent,ilot;an,ime;eek,oof,r0uide;adu8oom;ha1o0;ach,nscript,ok;mpion,uffeur;o2u0;lly,tch0;er;ss;ddi1ffili0rchite1;ate;ct",MaleName:"true¦0:DO;1:CO;2:D7;3:AJ;4:CK;5:BZ;6:CF;7:D3;8:BS;9:AR;A:DB;B:D4;C:94;D:BM;aC9bB7cA7d98e8If82g7Fh6Si6Cj5Ek52l4Fm37n2Uo2Op2Gqu2Er1Ms12t0Gu0Fv08wUxTyJzE;aEor0;cEh9Jkaria,n0C;hFkE;!aC7;ar5UeC6;aMoGuE;sEu2LvBJ;if,uf;nGsFusE;ouf,sE;ef;aEg;s,tE;an,h0;hli,nB8ssY;avi3ho4;aNeLiGoEyaBN;jcie87lfgang,odrow,utE;!er;lEnst1;bGey,fredAlE;aAZiE;am,e,s;e97ur;i,nde9sE;!l8t1;lFyE;l1ne;lEt3;a9Xy;aHiEladimir,ojte7U;cFha0kt67nceErgA5va0;!nt;e3Xt65;lentEn9S;inE;!e;ghBElyss59nax,sm0;aXeShOiMoIrGuFyE;!l3ro6s1;n7r59;avAHeEist0oy,um0;ntA9v5Wy;bGd8RmEny;!as,mEoharu;aCCie,y;iCy;mEt5;!my,othy;adGeoFia0KomE;!as;!do8G;!de5;dHrE;en98rE;an97eEy;ll,n96;!dy;dgh,ha,iEnn3req,tsu4R;cAPka;aUcotSeQhMiKoIpenc3tEur1Xylve96zym1;anGeEua85;f0phBCvEwa84;e5Zie;!islaw,l8;lom1uE;leyma6ta;dElCm1yabonga;!dhart74n8;aGeE;lErm0;d1t1;h7Kne,qu11un,wn,y6;aEbasti0k2Cl4Prg4Mth,ymoAE;m5n;!tE;!ie,y;lFmEnti2Gq58ul;!ke5JmDu4;ik,vato7O;aZeVhe9ViRoIuFyE;an,ou;b7DdFf5pe7KssE;!elBJ;ol3Fy;an,bLc62dJel,geIh0landAmHnGry,sFyE;!ce;coe,s;!aA1nD;an,eo;l45r;er78g3n8olfo,riE;go;bDeAQ;cEl8;ar6Ic6HhFkEo;!ey,ie,y;a8Vie;gFid,ubByEza;an1KnZ;g9SiE;na9Os;ch6Qfa4lImHndGpha4sFul,wi2HyE;an,mo6U;h7Jm5;alAXol2U;iACon;f,ph;ent2inE;cy,t1;aJeHhilGier6TrE;aka18eE;m,st1;!ip,lip;dA4rcy,tE;ar,e3Er1Y;b4Hdra73tr6JulE;!o19;ctav3Di3liv3m9Yndrej,rIsFtEum7wB;is,to;aFc7k7m0vE;al5S;ma;i,vM;aMeKiGoEu38;aEel,j5l0ma0r3I;h,m;cFg4i46kEl2R;!au,h7Gola;hEkEolC;olC;al,d,il,ls1vE;il8J;hom,tE;e,hE;anEy;!a4i4;a00eXiNoIuFyE;l2Gr1;hamFr6KstaE;fa,p54;ed,mI;di0Xe,hamGis2CntFsEussa;es,he;e,y;ad,ed,mE;ad,ed;cJgu4hai,kHlGnFtchE;!e9;a7Uik;house,o0Ct1;ae5Oe9NolE;aj;ah,hE;aFeE;al,l;el,l;hFlv2rE;le,ri9v2;di,met;ay0hUjd,ks2AlSmadXnRrLs1tGuricFxE;imilianAwe9;e,io;eHhFiCtEus,yC;!eo,hew,ia;eEis;us,w;j,o;cIio,kHlGqu6Ysha9tEv2;iEy;!m,n;in,on;el,oQus;!el91oPus;iHu4;achEcolm,ik;ai,y;amFdi,eEmoud;sh;adEm5G;ou;aXeRiPlo39oLuFyE;le,nd1;cHiGkEth3uk;aEe;!s;gi,s,z;as,iaE;no;g0nn7BrenGuEv81we9;!iE;e,s;!zo;am,oE;n4r;a7Uevi,la4AnIonHst3thaGvE;eEi;nte;bo;!a6Del;!ny;mFnd1rEur54wr54;ry,s;ar,o4Y;aMeIhal7GiFristEu4Ky6J;i0o54;er0p,rE;k,ollE;os;en0iGnErmit,v3U;!dr3XnEt1;e18y;r,th;cp3j5m5Sna6OrFsp7them,uE;ri;im,l;a01eViToHuE;an,lEst2;en,iE;an,en,o,us;aOeMhnLkubCnJrHsE;eFhEi7Wue;!ua;!ph;dEge;i,on;!aEny;h,s,th55;!ath54ie,nD;!l,sEy;ph;o,qu2;an,mE;!mD;d,ffHrEs5;a5YemFmai6oEry;me,ni0Y;i7Gy;!e5OrE;ey,y;cLdBkJmIrGsFvi3yE;dBs1;on,p3;ed,od,rEv4V;e5Bod;al,es4Mis1;a,e,oEub;b,v;ob,quE;es;aXbRchiQgOkeNlija,nuMonut,rKsGtEv0;ai,suE;ki;aFha0i70maEsac;el,il;ac,iaE;h,s;a,vinEw2;!g;k,nngu5F;!r;nacEor;io;ka;ai,rahE;im;aQeKoJuEyd7;be2FgHmber4KsE;eyFsE;a2e2;in,n;h,o;m3ra36sse2wa40;aIctHitHnrFrE;be28m0;iEy;!q0Z;or;th;bMlLmza,nKo,rGsFyE;a47dB;an,s0;lGo4Nry,uEv8;hi44ki,tE;a,o;an,ey;k,s;!im;ib;aWeSiQlenPoMrIuE;ilFsE;!tavo;herme,lerE;mo;aGegEov3;!g,orE;io,y;dy,h5K;nzaFrE;an,d1;lo;!n;lbe4Xno,oE;rg37van4Y;oGrE;aEry;ld,rdA;ffr8rge;brFlBrEv2;la14r3Hth,y;e33ielE;!i5;aSePiNlLorrest,rE;anFedEitz;!dDer11r11;cGkE;ie,lE;in,yn;esLisE;!co,z2W;etch3oE;yd;d4lEonn;ip;deriFliEng,rnan05;pe,x;co;bi0di,hd;dYfrXit0lSmLnIo2rGsteb0th0uge6vEymBzra;an,eE;ns,re2X;gi,i0AnErol,v2w2;estAie;oFriqEzo;ue;ch;aJerIiFmE;aIe2Q;lErh0;!iE;o,s;s1y;nu4;be0Bd1iGliFm3t1viEwood;n,s;ot1Ss;!as,j4FsE;ha;a2en;!d2Vg7mHoFuFwE;a26in;arE;do;oWuW;a02eRiPoHrag0uGwFylE;an,l0;ay6ight;a6dl8nc0st2;minHnFri0ugEvydCy29;!lC;!a2HnEov0;e9ie,y;go,iFykC;as;cEk;!k;armuEll1on,rk;id;andNj0lbeMmetri5nKon,rIsGvFwExt3;ay6ey;en,in;hawn,moE;nd;ek,rE;ick;is,nE;is,y;rt;re;an,le,mLnKrGvE;e,iE;!d;en,iGne9rEyl;eEin,yl;l36n;n,o,us;!i4ny;iEon;an,en,on;a08e06hYiar0lOoJrHuFyrE;il,us;rtE;!is;aEistob0S;ig;dy,lHnFrE;ey,neli5y;or,rE;ad;by,e,in,l2t1;aIeGiEyK;fEnt;fo0Et1;meEt5;nt;rGuFyE;!t1;de;enE;ce;aIeGrisE;!toE;ph3;st3;er;d,rEs;b4leE;s,y;cEdric,s7;il;lHmer1rE;ey,lFro9y;ll;!os,t1;eb,v2;a07eZiVlaUoSrFuEyr1;ddy,rtL;aMeHiGuFyE;an,ce,on;ce,no;an,ce;nFtE;!t;dFtE;!on;an,on;dFndE;en,on;!foEl8y;rd;bby,rEyd;is;i6ke;bGlFshE;al;al,lD;ek;nIrEshoi;at,nFtE;!r1C;aEie;rdA;!iFjam2nD;ie,y;to;kaNlazs,nIrE;n8rEt;eEy;tt;ey;dEeF;ar,iE;le;ar17b0Vd0Rf0Pgust2hm0Mi0Jja0Il03mZnSputsiRrIsaHugust5veFyEziz;a0kh0;ry;us;hi;aLchKiJjun,maInGon,tEy0;hEu09;ur;av,oE;ld;an,ndA;!el,ki;ie;ta;aq;as,dIgelAtE;hony,oE;i6nE;!iAy;ne;er,reEy;!as,i,s,w;iGmaEos;nu4r;el;ne,r,t;aRbeQdBeKfIi,lHonGphZt1vE;aOin;on;so,zo;an,en;onVrE;ed;c,jaHksandGssaHxE;!andE;er,ru;ar,er;ndE;ro;rtA;dd2n;ni;dBm7;ar;en;ad,eE;d,t;in;onE;so;aFi,olfAri0vik;!o;mEn;!a;dIeHraFuE;!bakr,lfazl;hEm;am;!l;allJelGoulaye,ulE;!lErG;ah,o;! rE;ahm0;an;ah;av,on",Uncountable:"true¦0:2Z;1:2F;2:2M;3:34;4:3D;a2Xb2Oc2Cd25e1Uf1Qg1Hh19i14j11k0Zl0Um0Kn0Go0Fp06r02sNtBuran2Mv9w5you gu0H;a7his1Ai6oo5;d,l;ldlife,ne;rmAt2;apor,ernacul2Ci5;neg2Bol1Rtae;eFhDiCoAr6un5yranny;a,gst1E;aff2Rea1No6ue nor5;th;o0Bu5;bleshoot0se1Wt;night,othpas1Ywn5;foGsfoG;me off,n;er5und2;e,mod2V;a,nnis;aGcFeEhCiBkiAo9p8t6u5weepstak1;g1Xnshi2Kshi;ati0Be5;am,el;ace2Neci1;ap,cc2meth0;n,ttl1;lk;eep,ingl1o5;pp0r1E;lf,na1Iri1;ene1Misso1E;d0Yfe3l6nd,t5;i0Kurn;m1Wt;abi1e6ic5;e,ke17;c5i03laxa13search;ogni12rea12;aBeAhys9luto,o7re5ut3;amble,mis1s5ten22;en21s0N;l5rk;i2Al0GyJ; 18i4;a26tr0H;nt5rk0ti0O;i1s;bstetri4vercrowd0xyg0B;a7e6owada5utella;ys;ptu1Qws;il poli01tional securi3;aCeAo7u5;m5s1J;ps;n5o1M;ey,o5;gamy;a5cha0Glancholy,rchandi1Jtallurgy;sl1t;chine5g1Cj1Jrs,thema1S; learn0ry;aught2e8i7ogi6u5;ck,g14;c,s1O;ce,ghtn0nguis1NteratYv2;ath2isXss;ara0GindergartRn5;icke0Cowled10;e5upit2;a5llyfiIwel0I;ns;ce,gnor8mp7n5;forma02ter5;net,sta09;atiUort5rov;an1A;a9e8isto0Bo5ung2;ckey,mework,ne6o5rseradiAspitali3use arrest;ky;s3y;adquarteZre;ir,libut,ppiJs5;hi5te;sh;eneAl8o7r5um,ymnas13;a5e01;niWss;lf,re;ut5yce0H;en; 5ti4;edit0po5;ol;aPeel0icHlour,o6urnit5;ure;od,rgive5uri2wl;ness;arEcono0NducaDlectrBn9quipAthi4very8x5;ist6per5;ti0D;en0L;body,o0Ath0;joy5tertain5;ment;ici3o5;ni4;tiU;nings,th;emi04i8o6raugh5ynas3;ts;pe,wnstai5;rs;abet1ce,s5;hon01repu5;te;aFelciEhCivi4lAo5urrency;al,ld w8mmenta7n5ral,ttKuscoD;fusiJt 5;ed;ry;ar;assi4oth1;es;aos,e5;eOw0;us;d,rQ;aAi8lood,owl0read7u5;nt0tt2;er;!th;lliarLs5;on;g5ss;ga5;ge;cMdviLeroIirHmDn8ppeal court,r6spi5thleN;rin;ithmet5sen5;ic;i8y5;o6th0;ing;ne;se;en7n5;es3;ty;ds;craft;bi4d5nau9;yna5;mi4;ce;id,ous5;ti4;cs",Infinitive:"true¦0:9G;1:9T;2:AD;3:90;4:9Z;5:84;6:AH;7:A9;8:92;9:A0;A:AG;B:AI;C:9V;D:8R;E:8O;F:97;G:6H;H:7D;a94b8Hc7Jd68e4Zf4Mg4Gh4Ai3Qj3Nk3Kl3Bm34nou48o2Vp2Equ2Dr1Es0CtZuTvRwI;aOeNiLors5rI;eJiI;ng,te;ak,st3;d5e8TthI;draw,er;a2d,ep;i2ke,nIrn;d1t;aIie;liADniAry;nJpI;ho8Llift;cov1dJear8Hfound8DlIplug,rav82tie,ve94;eaAo3X;erIo;cut,go,staAFvalA3w2G;aSeQhNoMrIu73;aIe72;ffi3Smp3nsI;aBfo7CpI;i8oD;pp3ugh5;aJiJrIwaD;eat5i2;nk;aImA0;ch,se;ck3ilor,keImp1r8L;! paD;a0Ic0He0Fh0Bi0Al08mugg3n07o05p02qu01tUuLwI;aJeeIim;p,t5;ll7Wy;bNccMffLggeCmmKppJrI;mouFpa6Zvi2;o0re6Y;ari0on;er,i4;e7Numb;li9KmJsiIveD;de,st;er9it;aMe8MiKrI;ang3eIi2;ng27w;fIng;f5le;b,gg1rI;t3ve;a4AiA;a4UeJit,l7DoI;il,of;ak,nd;lIot7Kw;icEve;atGeak,i0O;aIi6;m,y;ft,ng,t;aKi6CoJriIun;nk,v6Q;ot,rt5;ke,rp5tt1;eIll,nd,que8Gv1w;!k,m;aven9ul8W;dd5tis1Iy;a0FeKiJoI;am,t,ut;d,p5;a0Ab08c06d05f01group,hea00iZjoi4lXmWnVpTq3MsOtMup,vI;amp,eJiIo3B;sEve;l,rI;e,t;i8rI;ie2ofE;eLiKpo8PtIurfa4;o24rI;aHiBuctu8;de,gn,st;mb3nt;el,hra0lIreseF;a4e71;d1ew,o07;aHe3Fo2;a7eFiIo6Jy;e2nq41ve;mbur0nf38;r0t;inKleBocus,rJuI;el,rbiA;aBeA;an4e;aBu4;ei2k8Bla43oIyc3;gni39nci3up,v1;oot,uI;ff;ct,d,liIp;se,ze;tt3viA;aAenGit,o7;aWerUinpoiFlumm1LoTrLuI;b47ke,niArIt;poDsuI;aFe;eMoI;cKd,fe4XhibEmo7noJpo0sp1tru6vI;e,i6o5L;un4;la3Nu8;aGclu6dJf1occupy,sup0JvI;a6BeF;etermi4TiB;aGllu7rtr5Ksse4Q;cei2fo4NiAmea7plex,sIva6;eve8iCua6;mp1rItrol,ve;a6It6E;bOccuNmEpMutLverIwe;l07sJtu6Yu0wI;helm;ee,h1F;gr5Cnu2Cpa4;era7i4Ipo0;py,r;ey,seItaH;r2ss;aMe0ViJoIultiply;leCu6Pw;micJnIspla4;ce,g3us;!k;iIke,na9;m,ntaH;aPeLiIo0u3N;e,ke,ng1quIv5;eIi6S;fy;aKnIss5;d,gI;th5;rn,ve;ng2Gu1N;eep,idnJnI;e4Cow;ap;oHuI;gg3xtaI;po0;gno8mVnIrk;cTdRfQgeChPitia7ju8q1CsNtKun6EvI;a6eIo11;nt,rt,st;erJimi6BoxiPrI;odu4u6;aBn,pr03ru6C;iCpi8tIu8;all,il,ruB;abEibE;eCo3Eu0;iIul9;ca7;i7lu6;b5Xmer0pI;aLer4Uin9ly,oJrI;e3Ais6Bo2;rt,se,veI;riA;le,rt;aLeKiIoiCuD;de,jaInd1;ck;ar,iT;mp1ng,pp5raIve;ng5Mss;ath1et,iMle27oLrI;aJeIow;et;b,pp3ze;!ve5A;gg3ve;aTer45i5RlSorMrJuI;lf4Cndrai0r48;eJiIolic;ght5;e0Qsh5;b3XeLfeEgJsI;a3Dee;eIi2;!t;clo0go,shIwa4Z;ad3F;att1ee,i36;lt1st5;a0OdEl0Mm0FnXquip,rWsVtGvTxI;aRcPeDhOiNpJtIu6;ing0Yol;eKi8lIo0un9;aHoI;it,re;ct,di7l;st,t;a3oDu3B;e30lI;a10u6;lt,mi28;alua7oI;ke,l2;chew,pou0tab19;a0u4U;aYcVdTfSgQhan4joy,lPqOrNsuMtKvI;e0YisI;a9i50;er,i4rI;aHenGuC;e,re;iGol0F;ui8;ar9iC;a9eIra2ulf;nd1;or4;ang1oIu8;r0w;irc3lo0ou0ErJuI;mb1;oaGy4D;b3ct;bKer9pI;hasiIow1;ze;aKody,rI;a4oiI;d1l;lm,rk;ap0eBuI;ci40de;rIt;ma0Rn;a0Re04iKo,rIwind3;aw,ed9oI;wn;agno0e,ff1g,mi2Kne,sLvI;eIul9;rIst;ge,t;aWbVcQlod9mant3pNru3TsMtI;iIoDu37;lJngI;uiA;!l;ol2ua6;eJlIo0ro2;a4ea0;n0r0;a2Xe36lKoIu0S;uIv1;ra9;aIo0;im;a3Kur0;b3rm;af5b01cVduBep5fUliTmQnOpMrLsiCtaGvI;eIol2;lop;ch;a20i2;aDiBloIoD;re,y;oIy;te,un4;eJoI;liA;an;mEv1;a4i0Ao06raud,y;ei2iMla8oKrI;ee,yI;!pt;de,mIup3;missi34po0;de,ma7ph1;aJrief,uI;g,nk;rk;mp5rk5uF;a0Dea0h0Ai09l08oKrIurta1G;a2ea7ipp3uI;mb3;ales4e04habEinci6ll03m00nIrro6;cXdUfQju8no7qu1sLtKvI;eIin4;ne,r9y;aHin2Bribu7;er2iLoli2Epi8tJuI;lt,me;itu7raH;in;d1st;eKiJoIroFu0;rm;de,gu8rm;ss;eJoI;ne;mn,n0;eIlu6ur;al,i2;buCe,men4pI;eIi3ly;l,te;eBi6u6;r4xiC;ean0iT;rcumveFte;eJirp,oI;o0p;riAw;ncIre5t1ulk;el;a02eSi6lQoPrKuI;iXrIy;st,y;aLeaKiJoad5;en;ng;stfeLtX;ke;il,l11mba0WrrMth1;eIow;ed;!coQfrie1LgPhMliLqueaKstJtrIwild1;ay;ow;th;e2tt3;a2eJoI;ld;ad;!in,ui3;me;bysEckfi8ff3tI;he;b15c0Rd0Iff0Ggree,l0Cm09n03ppZrXsQttOuMvJwaE;it;eDoI;id;rt;gIto0X;meF;aIeCraB;ch,in;pi8sJtoI;niA;aKeIi04u8;mb3rt,ss;le;il;re;g0Hi0ou0rI;an9i2;eaKly,oiFrI;ai0o2;nt;r,se;aMi0GnJtI;icipa7;eJoIul;un4y;al;ly0;aJu0;se;lga08ze;iKlI;e9oIu6;t,w;gn;ix,oI;rd;a03jNmiKoJsoI;rb;pt,rn;niIt;st1;er;ouJuC;st;rn;cLhie2knowled9quiItiva7;es4re;ce;ge;eQliOoKrJusI;e,tom;ue;mIst;moJpI;any,liA;da7;ma7;te;pt;andPduBet,i6oKsI;coKol2;ve;liArt,uI;nd;sh;de;ct;on",Adjective:"true¦0:AI;1:BS;2:BI;3:BA;4:A8;5:84;6:AV;7:AN;8:AF;9:7H;A:BQ;B:AY;C:BC;D:BH;E:9Y;aA2b9Ec8Fd7We79f6Ng6Dh60i4Wj4Vk4Sl4Hm40n3Oo35p2Nquart7Pr2Cs1Dt14uSvOwFye28;aMeKhIiHoF;man5oFrth7G;dADzy;despreB1n w97s86;acked1HoleF;!sa6;ather1QeFll o70ste1D;!k5;nt1Jst6Ate4;aHeGiFola5S;bBUce versa,gi3Kle;ng67rsa5Q;ca1gBSluAV;lt0PnLpHrGsFttermoBL;ef9Ku3;b96ge1; Hb31pGsFtiAH;ca6et,ide d4Q;er,i85;f51to da2;a0Fbeco0Hc0Bd04e02f01gu1WheaBGiXkn4NmUnTopp06pRrNsJtHus0wF;aFiel3J;nt0rra0P;app0eXoF;ld,uS;eHi36o59pGuF;perv06spec38;e1ok9O;en,ttl0;eFu5;cogn06gul2QlGqu84sF;erv0olv0;at0en32;aFrecede0E;id,rallel0;am0otic0;aFet;rri0tF;ch0;nFq25vers3;sur0terFv7U;eFrupt0;st0;air,inish0orese98;mploy0n7Ov97xpF;ect0lain0;eHisFocume01ue;clFput0;os0;cid0rF;!a8Scov9ha8Jlyi8nea8Gprivileg0sMwF;aFei9I;t9y;hGircumcFonvin2T;is0;aFeck0;lleng0rt0;b1Zppea85ssuGttend0uthorF;iz0;mi8;i49ra;aLeIhoHip 24oGrF;anspare1encha1i2;geth9leADp notch,rpB;rny,ugh6H;ena8DmpGrFs6U;r48tia4;eCo8P;leFst4M;nt0;a0Cc08e06h05i03ki02l00mug,nobbi4XoWpSqueami4XtKuFymb94;bHccinAi generis,pFr5;erFre7N;! dup9b,vi70;du0li7Lp6IsFurb7J;eq9Atanda9X;aLeKi15o2PrGubboFy4Q;rn;aightGin5GungF; o2M; fFfF;or7U;adfa9Ori6;lwa6Etu81;arHeGir6MlendBot Fry;on;c3Oe1Q;k5se; call0lub6mb9phistic14rHuFviT;ndFth19;proof;dBry;e61ipF;pe4shod;ll0n d7S;g2HnF;ceEg6ist9;am3Te9;co1Zem5lfFn6Bre7; suf4Yi44;aGholFient3A;ar5;rlFt4B;et;cr0me,tisfac7G;aOeIheumatoBiGoF;bu90tt7Hy3;ghtFv3;-1Sf6Y;cJdu8QlInown0pro6AsGtF;ard0;is48oF;lu2na1;e1Suc46;alcit8Ye1ondi2;bBci3mpa1;aSePicayu7laOoNrGuF;bl7Unjabi,z36;eKiIoF;b7WfGmi4ApFxi2M;er,ort82;a7uD;maFor,sti7va2;!ry;ciDexis0Ima2CpaB;in56puli8H;cBid;ac2Znt 3JrFti2;ma41tFv7X;!i40;i2ZrFss7S;anoBtF;-5YiF;al,s5W;bSffQkPld OnMrLth9utKverF;!aIbMdHhGni76seas,t,wF;ei75rou75;a64e7B;ue;ll;do1Ger,si6B;d3Rg2Aotu60; bFbFe on o7g3Vli7;oa81;fashion0school;!ay; gua7YbFha5Vli7;eat;eHligGsF;ce7er0So1C;at0;diFse;a1e1;aOeNiMoGuF;anc0de; moEnHrthFt6W;!eFwe7M;a7Lrn;chaGdescri7Jprof31sF;top;la1;ght5;arby,cessa4ighbor5wlyw0xt;k0usiaFv3;ti8;aQeNiLoHuF;dIltiF;facet0p6;deHlGnFot,rbBst;ochro4Yth5;dy;rn,st;ddle ag0nF;dbloZi,or;ag9diocEga,naGrFtropolit4R;e,ry;ci8;cIgenta,inHj0Fkeshift,mmGnFri4Pscu62ver18;da5Ey;ali4Mo4V;!stream;abEho;aOeLiIoFumberi8;ngFuti1S;stan3StF;erm,i4I;ghtGteraF;l,ry,te;heart0wei5P;ft-JgFss9th3;al,eFi0M;nda4;nguBps0te5;apGind5noF;wi8;ut;ad0itte4uniW;ce co0Hgno6Nll0Cm04nHpso 2VrF;a2releF;va1; ZaYcoWdReQfOgrNhibi4Si05nMoLsHtFvalu5N;aAeF;nDrdepe2L;a7iGolFuboI;ub6ve1;de,gF;nifica1;rdi5O;a2er;own;eriIiLluenVrF;ar0eq5I;pt,rt;eHiGoFul1P;or;e,reA;fiFpe27termi5F;ni2;mpFnsideCrreA;le2;ccuCdeq5Fne,ppr4K;fFsitu,vitro;ro1;mJpF;arHeGl16oFrop9;li2r12;n2MrfeA;ti3;aGeFi19;d4CnD;tuE;egGiF;c0ZteC;al,iF;tiF;ma2;ld;aOelNiLoFuma7;a4meInHrrGsFur5;ti6;if4F;e59o3V; ma3HsF;ick;ghfalut2IspF;an4A;li01pf34;i4llow0ndGrdFtN; 06coEworki8;sy,y;aMener45iga3Clob3oLrGuF;il1Ong ho;aGea1GizF;zl0;cGtF;ef2Vis;ef2U;ld3Aod;iFuc2D;nf2R;aVeSiQlOoJrF;aGeFil5ug3;q43tf2O;gFnt3S;i6ra1;lk13oHrF; keeps,eFge0Vm9tu41;g0Ei2Ds3R;liF;sh;ag4Mowe4uF;e1or45;e4nF;al,i2;d Gmini7rF;ti6ve1;up;bl0lDmIr Fst pac0ux;oGreacF;hi8;ff;ed,ili0R;aXfVlTmQnOqu3rMthere3veryday,xF;aApIquisi2traHuF;be48lF;ta1;!va2L;edRlF;icF;it;eAstF;whi6; Famor0ough,tiE;rou2sui2;erGiF;ne1;ge1;dFe2Aoq34;er5;ficF;ie1;g9sF;t,ygF;oi8;er;aWeMiHoGrFue;ea4owY;ci6mina1ne,r31ti8ubQ;dact2Jfficult,m,sGverF;ge1se;creGePjoi1paCtF;a1inA;et,te; Nadp0WceMfiLgeneCliJmuEpeIreliAsGvoF;id,ut;pFtitu2ul1L;eCoF;nde1;ca2ghF;tf13;a1ni2;as0;facto;i5ngero0I;ar0Ce09h07i06l05oOrIuF;rmudgeon5stoma4teF;sy;ly;aIeHu1EystalF; cleFli7;ar;epy;fFv17z0;ty;erUgTloSmPnGrpoCunterclVveFy;rt;cLdJgr21jIsHtrF;aFi2;dic0Yry;eq1Yta1;oi1ug3;escenFuN;di8;a1QeFiD;it0;atoDmensuCpF;ass1SulF;so4;ni3ss3;e1niza1;ci1J;ockwiD;rcumspeAvil;eFintzy;e4wy;leGrtaF;in;ba2;diac,ef00;a00ePiLliJoGrFuck nak0;and new,isk,on22;gGldface,naF; fi05fi05;us;nd,tF;he;gGpartisFzarE;an;tiF;me;autifOhiNlLnHsFyoN;iWtselF;li8;eGiFt;gn;aFfi03;th;at0oF;v0w;nd;ul;ckwards,rF;e,rT; priori,b13c0Zd0Tf0Ng0Ihe0Hl09mp6nt06pZrTsQttracti0MuLvIwF;aGkF;wa1B;ke,re;ant garGeraF;ge;de;diIsteEtF;heFoimmu7;nt07;re;to4;hGlFtu2;eep;en;bitIchiv3roHtF;ifiFsy;ci3;ga1;ra4;ry;pFt;aHetizi8rF;oprF;ia2;llFre1;ed,i8;ng;iquFsy;at0e;ed;cohKiJkaHl,oGriFterX;ght;ne,of;li7;ne;ke,ve;olF;ic;ad;ain07gressiIi6rF;eeF;ab6;le;ve;fGraB;id;ectGlF;ue1;ioF;na2; JaIeGvF;erD;pt,qF;ua2;ma1;hoc,infinitum;cuCquiGtu3u2;al;esce1;ra2;erSjeAlPoNrKsGuF;nda1;e1olu2trF;aAuD;se;te;eaGuF;pt;st;aFve;rd;aFe;ze;ct;ra1;nt",Pronoun:"true¦'em,elle,h3i2me,she4th0us,we,you;e0ou;e,m,y;!l,t;e0im;!'s",Preposition:"true¦-,aPbMcLdKexcept,fIinGmid,notwithstandiWoDpXqua,sCt7u4v2w0;/o,hereSith0;! whHin,oW;ersus,i0;a,s-a-vis;n1p0;!on;like,til;h1ill,oward0;!s;an,ereby,r0;ough0u;!oM;ans,ince,o that,uch G;f1n0ut;!to;!f;! 0to;effect,part;or,r0;om;espite,own,u3;hez,irca;ar1e0oBy;sides,tween;ri7;bo8cross,ft7lo6m4propos,round,s1t0;!op;! 0;a whole,long 0;as;id0ong0;!st;ng;er;ut",SportsTeam:"true¦0:1A;1:1H;2:1G;a1Eb16c0Td0Kfc dallas,g0Ihouston 0Hindiana0Gjacksonville jagua0k0El0Bm01newToQpJqueens parkIreal salt lake,sAt5utah jazz,vancouver whitecaps,w3yW;ashington 3est ham0Rh10;natio1Oredski2wizar0W;ampa bay 6e5o3;ronto 3ttenham hotspur;blue ja0Mrapto0;nnessee tita2xasC;buccanee0ra0K;a7eattle 5heffield0Kporting kansas0Wt3;. louis 3oke0V;c1Frams;marine0s3;eah15ounG;cramento Rn 3;antonio spu0diego 3francisco gJjose earthquak1;char08paA; ran07;a8h5ittsburgh 4ortland t3;imbe0rail blaze0;pirat1steele0;il3oenix su2;adelphia 3li1;eagl1philNunE;dr1;akland 3klahoma city thunder,rlando magic;athle0Mrai3;de0; 3castle01;england 7orleans 6york 3;city fc,g4je0FknXme0Fred bul0Yy3;anke1;ian0D;pelica2sain0C;patrio0Brevolut3;ion;anchester Be9i3ontreal impact;ami 7lwaukee b6nnesota 3;t4u0Fvi3;kings;imberwolv1wi2;rewe0uc0K;dolphi2heat,marli2;mphis grizz3ts;li1;cXu08;a4eicesterVos angeles 3;clippe0dodDla9; galaxy,ke0;ansas city 3nE;chiefs,roya0E; pace0polis colU;astr06dynamo,rockeTtexa2;olden state warrio0reen bay pac3;ke0;.c.Aallas 7e3i05od5;nver 5troit 3;lio2pisto2ti3;ge0;broncZnuggeM;cowbo4maver3;ic00;ys; uQ;arCelKh8incinnati 6leveland 5ol3;orado r3umbus crew sc;api5ocki1;brow2cavalie0india2;bengaWre3;ds;arlotte horAicago 3;b4cubs,fire,wh3;iteB;ea0ulR;diff3olina panthe0; c3;ity;altimore 9lackburn rove0oston 5rooklyn 3uffalo bilN;ne3;ts;cel4red3; sox;tics;rs;oriol1rave2;rizona Ast8tlanta 3;brav1falco2h4u3;nited;aw9;ns;es;on villa,r3;os;c5di3;amondbac3;ks;ardi3;na3;ls",Unit:"true¦a09b06cZdYexXfTgRhePin00joule0DkMlJmDnan0AoCp9quart0Dsq ft,t7volts,w6y2ze3°1µ0;g,s;c,f,n;dXear1o0;ttT; 0s 0;old;att06b;erPon0;!ne04;ascals,e1i0;cZnt02;rcent,tL;hms,uI;/s,e4i0m²,²,³;/h,cro2l0;e0liM;!²;grNsT;gEtL;it1u0;menSx;erRreR;b5elvins,ilo1m0notQ;/h,ph,²;!byIgrGmEs;ct0rtzN;aLogrE;allonLb0ig5rD;ps;a2emtGl0t6; oz,uid ou0;nceH;hrenheit,radG;aby9;eci3m1;aratDe1m0oulombD;²,³;lsius,nti0;gr2lit1m0;et0;er8;am7;b1y0;te5;l,ps;c2tt0;os0;econd1;re0;!s",PhrasalVerb:"true¦0:92;1:96;2:8H;3:8V;4:8A;5:83;6:85;7:98;8:90;9:8G;A:8X;B:8R;C:8U;D:8S;E:70;F:97;G:8Y;H:81;I:7H;J:79;K:4G;a9Gb7Vc6Sd6Me6Kf5Ig51h4Ciron0j48k41l3Fm32n2Zo2Xp2Dquiet Hr1Ys0Lt00uYvacuu6RwOyammerBzL;ero Dip MonL;e0k0;by,ov9up;aReNhMiLor0Nrit1A;mp0n3Gpe0r5s5;ackAeel Di0T;aMiLn34;gh 3Xrd0;n Dr L;do1in,oJ;it 7Ak5lk Mrm 6Ash Lt84v60;aw3do1o7up;aw3in,oC;rgeBsL;e 2herE;a01eZhWiSoRrNuLypQ;ckErn L;do1in,oJup;aMiLot0y 31;ckl80p F;ck HdL;e 5Z;n7Xp 3Fs5K;ck NdMe Lghten 6me0p o0Sre0;aw3ba4do1in,up;e Iy 2;by,oG;ink Mrow L;aw3ba4in,up;ba4ov9up;aLe 78ll63;m 2r 5N;ckBke Mlk L;ov9shit,u48;aLba4do1in,leave,o66up;ba4ft9pa6Aw3;a0Wc0Ue0Nh0Ji0Gl0Am09n08o07p02quar5HtRuPwL;earNiL;ngMtch L;aw3ba4o8L; by;cLi6Cm 2ss0;k 65;aSeRiQoOrLud36;aigh2Eet76iL;ke 7Tng L;al6Zup;p Lrm2G;by,in,oG;cKnKr 2tc4O;p F;cKmp0nd MrLveAy 2P;e Ht 2M;ba4do1up;arKeOiNlMrLurB;ead0ingBuc5;a49it 6I;c5ll o3Dn 2;ak Fe1Yll0;aKber 2rt0und like;ap 5Wow Duggl5;ash 6Ooke0;eep OiLow 6;cMp L;o6Eup;e 69;in,oL;ff,v9;de1Agn 4OnLt 6Hz5;gLkE; al6Ble0;aNoLu5X;ot Lut0w 7N;aw3ba4f48oC;cKdeEk6FveA;e Qll1Ond Prv5tL; Ltl5K;do1foMin,o7upL;!on;ot,r60;aw3ba4do1in,o4Wup;oCto;al67out0rL;ap66ew 6K;ilAv5;aYeViToPuL;b 5Zle0n Lstl5;aMba4do1inLo2Jth4Ou5Q;!to;c2Xr8w3;ll Not MpeAuL;g3Ind18;a2Wf3Po7;ar8in,o7up;ng 69p oLs5;ff,p19;aLelAinEnt0;c6Id L;o3Oup;cKt0;a00eZiXlUoRrPsyc35uL;ll Nn5Lt L;aLba4do1in,oJto48up;pa4Ew3;a3Kdo1in,o22to46up;attleBess LiOop 2;ah2Fon;iMp Lr50u1Hwer 6O;do1in,o6Oup;nt0;aMuL;gEmp 6;ce u21y 6E;ck Lg0le 4Bn 6p5C;oJup;el 5OncilE;c54ir 3An0ss NtMy L;ba4oG; Hc2R;aw3ba4in,oJ;pLw4Z;e4Yt D;aMerd0oL;dAt54;il Hrrow H;aUeRiQoMuL;ddl5ll I;cKnkeyNp 6uthAve L;aLdo1in,o4Mup;l4Ow3; wi4L;ss0x 2;asur5e3TlMss L;a21up;t 6;ke Mn 6rLs2Ax0;k 6ryA;do,fun,oCsure,up;a03eWiRoMuL;ck0st I;aOc4Gg NoLse0;k Lse4E;aft9ba4do1forw38in57o10u47;in,oJ;d 6;e OghtNnMsLve 01;ten F;e 2k 2; 2e47;ar8do1in;aNt MvelL; oC;do1go,in,o7up;nEve L;in,oL;pLut;en;c5p 2sh MtchBughAy L;do1o5A;in4Qo7;eNick Mnock L;do1oCup;oCup;eMy L;in,up;l Ip L;aw3ba4do1f05in,oJto,up;aNoMuL;ic5mpE;ke3Tt H;c44zz 2;a02eXiUoQuL;nMrrLsh 6;y 2;keMt L;ar8do1;r H;lLneErse3L;d Le 2;ba4dLfast,o25up;ear,o1;de Mt L;ba4on,up;aw3o7;aLlp0;d Nl Ir Lt 2;fLof;rom;f11in,o1WuX;cKm 2nMsh0ve Lz2Q;at,it,to;d Mg LkerQ;do1in,o2Uup;do1in,oL;ut,v9;k 2;aZeUive Sloss IoNrMunL; f0S;ab hold,in44ow 2V; Lof 2J;aNb1Nit,oMr8th1JuL;nd9;ff,n,v9;bo7ft9hQw3;aw3bLdo1in,oJrise,up,w3;a4ir2I;ar 6ek0t L;aLb1Gdo1in,o1Dr8up;cMhLl2Hr8t,w3;ead;ross;d aLng 2;bo7;a0Fe08iZlVoRrNuL;ck Le2P;ar8up;eMighten LownBy 2;aw3oG;eLshe29; 2z5;g 2lNol Lrk I;aLwi22;bo7r8;d 6low 2;aMeLip0;sh0;g 6ke0mLrLtten H;e F;gSlQnOrMsLzzle0;h F;e Lm 2;aw3ba4up;d0isL;h 2;e Ll 1V;aw3fQin,o7;ht ba4ure0;eQnMsL;s 2;cNd L;fLoG;or;e D;d06l 2;cPll Lrm0t1I;aNbMdo1in,oLsho0Gth0Avictim;ff,ut,v9;a4ehi2P;pa0D;e L;do1oGup;at Ldge0nd 13y5;in,o7up;aPi1IoOrL;aMess 6op LuO;aw3b04in,oC;gBwB; Ile0ubl1C;m 2;a0Bh06l03oPrMut L;aw3ba4do1oCup;ackBeep MoLy0;ss Dwd0;by,do1in,o0Vup;me OoMuntL; o2B;k 6l L;do1oG;aSbRforPin,oOtLu0P;hMoLrue;geth9;rough;ff,n,ut,v9;th,wL;ard;a4y;paLr8w3;rt;eaMose L;in,oCup;n 6r F;aOeMiL;ll0pE;ck Der Lw F;on,up;t 2;lSncel0rPsNtch MveE; in;o1Oup;h Dt L;doubt,oG;ry MvL;e 09;aw3oJ;l Lm H;aMba4do1oJup;ff,n,ut;r8w3;a0We0NiteAl0Go05rRuL;bblOckl06il0Elk 6ndl06rMsLtNy FzzA;t 01;n 0IsL;t D;e I;ov9;anXeaViMush L;oGup;ghRng L;aOba4do1forNin,oMuL;nd9p;n,ut;th;bo7lLr8w3;ong;teL;n 2;k L;do1in,o7up;ch0;arUg 6iSn5oQrOssNttlMunce Lx D;aw3ba4;e 6; ar8;e H;do1;k Dt 2;e 2;l 6;do1up;d 2;aQeed0oLurt0;cNw L;aw3ba4do1o7up;ck;k L;in,oC;ck0nk0stA; oRaOef 2lt0nd L;do1ov9up;er;up;r Mt L;do1in,oCup;do1o7;ff,nL;to;ck Qil0nNrgMsL;h D;ainBe D;g DkB; on;in,o7;aw3do1in,oCup;ff,ut;ay;ct FdRir0sk NuctionA; oG;ff;ar8o7;ouL;nd; o7;d L;do1oLup;ff,n;wn;o7up;ut","Noun|Gerund":"true¦0:27;1:26;2:1X;3:1J;4:1Z;a25b1Oc1Cd16en14f0Yg0Wh0Ti0Rjog20k0Pl0Lm0In0Go0Cp05ques08rWsFtBu9volunt15w5y17zo2;a7ed1Si3or6r5;ap1Oest1Ci1;ki0r1O;i1r2s1Utc1U;nder5pri23;st1Mta4;al4e7hin4i6ra5y1J;c4di0i2v0Z;mi0p1H;a1Ys1;aKcHeGhEin1PkatClZmo4nowBpeAt8u6w5;ea3im1U;f02r5;fi0vi0J;a1Lretc1Ju5;d1BfJ;l0Xn1C;b6i0;eb5i0;oar19;ip15o5;rte2u1;a1r0At1;h6o3re5;a1He2;edu0Ooo0O;i0Nyi0;aCe8i11o6u5;li0n2;o5wi0;fi0;a7c6hear1Cnde3por1struct5;r1Au3;or0Vyc0G;di0so2;p0Qti0;aAeacek9la8o6r5ublis0X;a0Peten0Rin1oces16;iso2si5;tio2;n2yi0;ee0K;cka0Tin1rt0K;f7pe6rgani5vula1;si0zi0;ni0ra1;fe3;e5ur0W;gotia1twor4;a6e5i2onito3;e1ssa0L;nufactu3rke1;a7ea6i5od0Jyi0;cen0Qf1s1;r2si0;n09ug0E;i5n0J;c4lS;ci0magi2n5ro2;nova1terac1;andPea1i6o5un1;l03wO;ki0ri0;athe3rie5ui01;vi0;ar0CenHi7l6or5ros1unZ;ecas1mat1;ir1ooX;l6n5;anDdi0;i0li0;di0gin5;ee3;a8eba1irec1oub1r6umOw5;elB;awi0es04i5;n4vi0;n5ti0;ci0;aEelebra1hClAo7r5ur6;aw5osZ;li0;a6di0lo3mplai2n5o4pi0ve3;duc1sul1;cLti0;apCea3imHo5ubH;ni0tJ;a5ee3;n1t1;m8s1te3;ri0;aIeFitDlCoAr8u5;il8ll6r5;pi0;yi0;an5;di0;a1m5o4;bi0;esGoa1;c5i0;hi0;gin2lon5t1;gi0;ni0;bys6c4ki0;ki0;it1;c8dverti7gi0rg6ssu5;mi0;ui0;si0;coun1ti0;ti0;ng",ProperNoun:"true¦barbie,c4diego,e3f2iron maiden,kirby,m0nis,riel,stevens;ercedes,i0;ckey,ssy;inn,lorence,ranco;lmo,uro;atalina,hristi",Ordinal:"true¦eBf7nin5s3t0zeroE;enDhir1we0;lfCn7;d,t3;e0ixt8;cond,vent7;et0th;e6ie7;i2o0;r0urt3;tie4;ft1rst;ight0lev1;e0h,ie1;en0;th",Cardinal:"true¦bEeBf5mEnine7one,s4t0zero;en,h2rDw0;e0o;lve,n5;irt6ousands,ree;even2ix2;i3o0;r1ur0;!t2;ty;ft0ve;e2y;ight0lev1;!e0y;en;illions",Multiple:"true¦b3hundred,m3qu2se1t0;housand,r2;pt1xt1;adr0int0;illion",City:"true¦0:77;1:64;2:6J;3:6M;4:5V;a6Bb56c4Ld4Be47f3Zg3Kh3Ci33j2Yk2Hl25m1Nn1Do1Ap0Xq0Vr0Os05tRuQvLwDxiBy9z5;a7h5i4Puri4R;a5e5ongsh0;ng3K;greb,nzib5J;ang2e5okoha3Vunfu;katerin3Krev0;a5n0R;m5Kn;arsBeAi6roclBu5;h0xi,zh5S;c7n5;d5nipeg,terth4;hoek,s1N;hi62kl3D;l66xford;aw;a8e6i5ladivost5Polgogr6O;en3lni6V;ni24r5;n2o3saill4Q;lenc4Zncouv3Vr3ughn;lan bat1Erumqi,trecht;aFbilisi,eEheDiBo9r7u5;l23n66r5;in,ku;i5ondh65;es54poli;kyo,m32ron1Rulo5;n,uS;an5jua3l2Wmisoa6Era3;j4Wshui; hag65ssaloni2K;gucigal28hr0l av1W;briz,i6llinn,mpe59ng5rtu,shk2U;i3Hsh0;an,chu1n0p2Hyu0;aEeDh8kopje,owe1It7u5;ra5zh50;ba0It;aten is58ockholm,rasbou6Auttga2Y;an8e6i5;jiazhua1llo1m60y0;f53n5;ya1zh4K;gh3Nt4T;att48o1Yv47;cramen18int ClBn5o paulo,ppo3Urajevo; 7aa,t5;a 5o domin3H;a3fe,m1O;antonBdie3Ffrancisco,j5ped3Qsalvad0L;o5u0;se;em,t lake ci5Iz28;lou5Bpeters27;aAe9i7o5;me,sar5t5C;io;ga,o5yadh;! de janei3H;cife,ims,nn3Lykjavik;b4Uip4lei2Knc2Rwalpindi;ingdao,u5;ez2i0R;aFeEhDiCo9r7u6yong5;ya1;eb5Bya1;a5etor3O;g54to;rt5zn0; 5la4Eo;au prin0Nelizabe26sa04;ls3Rrae5Ctts28;iladelph3Inom pe1Coenix;ki1r23tah tik3G;dua,lerZnaji,r4Qt5;na,r34;ak46des0Lm1Or6s5ttawa;a3Xlo;an,d07;a7ew5ing2Hovosibir1Lyc; 5cast38;del26orlea46taip16;g8iro4Yn5pl2Yshv35v0;ch6ji1t5;es,o1;a1o1;a6o5p4;ya;no,sa0Y;aFeCi9o6u5;mb2Cni28sc40;gadishu,nt6s5;c15ul;evideo,pelli1Tre31;ami,l6n16s5;kolc,sissauga;an,waukee;cca,d5lbour2Omph43ndo1Essi3;an,ell5i3;in,ín;cau,drAkass2Tl9n8r5shh4B;aca6ib5rakesh,se2M;or;i1Ty;a4FchFdal10i48;mo;id;aDeAi8o6u5vSy2;anMckn0Pdhia3;n5s angel27;d2g bea1O;brev2Ce3Mma5nz,sb2verpo29;!ss28; ma3Ai5;c5pzig;est17; p6g5ho2Xn0Dusan25;os;az,la34;aHharFiClaipeBo9rak0Eu7y5;iv,o5;to;ala lump4n5;mi1sh0;hi0Ilka2Ypavog4si5wlo2;ce;da;ev,n5rkuk;gst2sha5;sa;k5toum;iv;bIdu3llakuric0Rmpa3Gn6ohsiu1ra5un1Jwaguc0R;c0Qj;d5o,p4;ah1Uy;a7e6i5ohannesW;l1Wn0;dd37rusalem;ip4k5;ar2I;bad0mph1PnBrkutVs8taYz5̇zm7;m6tapala5;pa;ir;fah0l6tanb5;ul;am2Zi2H;che2d5;ianap2Mo20;aAe7o5yder2W; chi mi5ms,nolulu;nh;f6lsin5rakli2;ki;ei;ifa,lifax,mCn5rb1Dva3;g8nov01oi;aFdanEenDhCiPlasgBo9raz,u5;a5jr23;dal6ng5yaquil;zh1J;aja2Oupe;ld coa1Bthen5;bu2S;ow;ent;e0Uoa;sk;lw7n5za;dhi5gt1E;nag0U;ay;aisal29es,o8r6ukuya5;ma;ankfu5esno;rt;rt5sh0; wor6ale5;za;th;d5indhov0Pl paso;in5mont2;bur5;gh;aBe8ha0Xisp4o7resd0Lu5;b5esseldorf,nkirk,rb0shanbe;ai,l0I;ha,nggu0rtmu13;hradSl6nv5troit;er;hi;donghIe6k09l5masc1Zr es sala1KugavpiY;i0lU;gu,je2;aJebu,hAleve0Vo5raio02uriti1Q;lo7n6penhag0Ar5;do1Ok;akKst0V;gUm5;bo;aBen8i6ongqi1ristchur5;ch;ang m7ca5ttago1;go;g6n5;ai;du,zho1;ng5ttogr14;ch8sha,zh07;gliari,i9lga8mayenJn6pe town,r5tanO;acCdiff;ber1Ac5;un;ry;ro;aWeNhKirmingh0WoJr9u5;chareTdapeTenos air7r5s0tu0;g5sa;as;es;a9is6usse5;ls;ba6t5;ol;ne;sil8tisla7zzav5;il5;le;va;ia;goZst2;op6ubaneshw5;ar;al;iCl9ng8r5;g6l5n;in;en;aluru,hazi;fa6grade,o horizon5;te;st;ji1rut;ghd0BkFn9ot8r7s6yan n4;ur;el,r07;celo3i,ranquil09;ou;du1g6ja lu5;ka;alo6k5;ok;re;ng;ers5u;field;a05b02cc01ddis aba00gartaZhmedXizawl,lSmPnHqa00rEsBt7uck5;la5;nd;he7l5;an5;ta;ns;h5unci2;dod,gab5;at;li5;ngt2;on;a8c5kaOtwerp;hora6o3;na;ge;h7p5;ol5;is;eim;aravati,m0s5;terd5;am; 7buquerq6eppo,giers,ma5;ty;ue;basrah al qadim5mawsil al jadid5;ah;ab5;ad;la;ba;ra;idj0u dha5;bi;an;lbo6rh5;us;rg",Region:"true¦0:2N;1:2T;2:2K;a2Qb2Dc1Zd1Ues1Tf1Rg1Lh1Hi1Cj18k13l10m0Pn07o05pZqWrTsKtFuCv9w5y3zacatec2U;akut0o0Du3;cat2k07;a4est 3isconsin,yomi1M;bengal,vi6;rwick2Bshington3;! dc;er4i3;rgin0;acruz,mont;dmurt0t3;ah,tar3; 2La0X;a5e4laxca1Rripu1Xu3;scaDva;langa1nnessee,x2F;bas0Vm3smNtar25;aulip2Dil nadu;a8i6o4taf11u3ylh1F;ffYrr04s1A;me1Cno1Quth 3;cVdU;ber0c3kkim,naloa;hu2ily;n4skatchew2xo3;ny; luis potosi,ta catari1;a3hode9;j3ngp07;asth2shahi;ingh25u3;e3intana roo;bec,en5reta0R;ara7e5rince edward3unjab; i3;sl0B;i,nnsylv3rnambu0B;an0;!na;axa0Ydisha,h3klaho20ntar3reg6ss0Bx0G;io;aJeDo5u3;evo le3nav0W;on;r3tt17va scot0;f8mandy,th3; 3ampton16;c5d4yo3;rk14;ako1N;aroli1;olk;bras1Mva0Cw3; 4foundland3;! and labrador;brunswick,hamp0Xjers4mexiSyork3;! state;ey;galOyarit;a9eghala0Mi5o3;nta1r3;dov0elos;ch5dlanCn4ss3zor11;issippi,ouri;as geraOneso18;ig2oac2;dhy12harasht0Gine,ni4r3ssachusetts;anhao,i el,ylF;p3toba;ur;anca0Ie3incoln0IouisH;e3iR;ds;a5e4h3omi;aka06ul1;ntucky,ra01;bardino,lmyk0ns0Qr3;achay,el0nata0X;alis5har3iangxi;kh3;and;co;daho,llino6n3owa;d4gush3;et0;ia1;is;a5ert4i3un2;dalFm0D;fordZ;mpYrya1waii;ansu,eorg0lou7oa,u3;an4erre3izhou,jarat;ro;ajuato,gdo3;ng;cesterS;lori3uji2;da;sex;ageTe6o4uran3;go;rs3;et;lawaLrbyK;aEeaDh8o3rimea ,umbr0;ahui6l5nnectic4rsi3ventry;ca;ut;i02orado;la;e4hattisgarh,i3uvash0;apQhuahua;chn4rke3;ss0;ya;ra;lFm3;bridge6peche;a8ihar,r7u3;ck3ryat0;ingham3;shi3;re;emen,itish columb0;h0ja cal7lk6s3v6;hkorto3que;st2;an;ar0;iforn0;ia;dygea,guascalientes,lAndhr8r4ss3;am;izo1kans4un3;achal 6;as;na;a 3;pradesh;a5ber4t3;ai;ta;ba4s3;ka;ma",Country:"true¦0:39;1:2M;a2Xb2Ec22d1Ye1Sf1Mg1Ch1Ai14j12k0Zl0Um0Gn05om3DpZqat1KrXsKtCu6v4wal3yemTz2;a25imbabwe;es,lis and futu2Y;a2enezue32ietnam;nuatu,tican city;.5gTkraiZnited 3ruXs2zbeE;a,sr;arab emirat0Kkingdom,states2;! of am2Y;k.,s.2; 28a.;a7haBimor-les0Bo6rinidad4u2;nis0rk2valu;ey,me2Ys and caic1U; and 2-2;toba1K;go,kel0Znga;iw2Wji2nz2S;ki2U;aCcotl1eBi8lov7o5pa2Cri lanka,u4w2yr0;az2ed9itzerl1;il1;d2Rriname;lomon1Wmal0uth 2;afr2JkLsud2P;ak0en0;erra leoEn2;gapo1Xt maart2;en;negKrb0ychellY;int 2moa,n marino,udi arab0;hele25luc0mart20;epublic of ir0Dom2Duss0w2;an26;a3eHhilippinTitcairn1Lo2uerto riM;l1rtugE;ki2Cl3nama,pua new0Ura2;gu6;au,esti2;ne;aAe8i6or2;folk1Hth3w2;ay; k2ern mariana1C;or0N;caragua,ger2ue;!ia;p2ther19w zeal1;al;mib0u2;ru;a6exi5icro0Ao2yanm05;ldova,n2roc4zamb9;a3gol0t2;enegro,serrat;co;c9dagasc00l6r4urit3yot2;te;an0i15;shall0Wtin2;ique;a3div2i,ta;es;wi,ys0;ao,ed01;a5e4i2uxembourg;b2echtenste11thu1F;er0ya;ban0Hsotho;os,tv0;azakh1Ee3iriba03o2uwait,yrgyz1E;rWsovo;eling0Jnya;a2erF;ma15p1B;c6nd5r3s2taly,vory coast;le of m19rael;a2el1;n,q;ia,oI;el1;aiSon2ungary;dur0Mg kong;aAermany,ha0Pibralt9re7u2;a5ern4inea2ya0O;!-biss2;au;sey;deloupe,m,tema0P;e2na0M;ce,nl1;ar;bTmb0;a6i5r2;ance,ench 2;guia0Dpoly2;nes0;ji,nl1;lklandTroeT;ast tim6cu5gypt,l salv5ngl1quatorial3ritr4st2thiop0;on0; guin2;ea;ad2;or;enmark,jibou4ominica3r con2;go;!n B;ti;aAentral african 9h7o4roat0u3yprQzech2; 8ia;ba,racao;c3lo2morPngo-brazzaville,okFsta r03te d'ivoiK;mb0;osD;i2ristmasF;le,na;republic;m2naTpe verde,yman9;bod0ero2;on;aFeChut00o8r4u2;lgar0r2;kina faso,ma,undi;azil,itish 2unei;virgin2; is2;lands;liv0nai4snia and herzegoviGtswaGuvet2; isl1;and;re;l2n7rmuF;ar2gium,ize;us;h3ngladesh,rbad2;os;am3ra2;in;as;fghaFlCmAn5r3ustr2zerbaijH;al0ia;genti2men0uba;na;dorra,g4t2;arct6igua and barbu2;da;o2uil2;la;er2;ica;b2ger0;an0;ia;ni2;st2;an",Place:"true¦a00bYcUdTeSfRgMhLiJjfk,kHlFmDnBorAp8r7s6t3u2vostok,wake isCy0;a0yz;kutGngtze;laanbaatar,pT;ahiti,h0;amWe 0;bronx,hamptons;akhalIeine,fo,oho,under5yd;ed sea,io grande;acifWek,h0itcairn;l,x;ange county,d,inoco;ew eng0ile;land;a0co,ekong,idIuc;gadSlibu,nhattS;a0gw,hr;s,x;osrae,rasnoyar0ul;sk;ax,cn,nd0st;ianLochina;arlem,kg,nd,ovd;a3odavari,re0;at 0enwich;brita0lakC;in;ngAy village;co,ra;urope,verglad8;anube,en,fw,own2xb;dg,gk,h0lt;a1ina0uuk;town;morro,tham;cn,e0kk,rooklyn;l air,verly hills;driadic,frica,m7n2r3sia,tl1zor0;es;!ant2;adyr,tar0;ct0;ic0; oce0;an;ericas,s",WeekDay:"true¦fri2mon2s1t0wednesd3;hurs1ues1;aturd1und1;!d0;ay0;!s",Month:"true¦dec0february,july,nov0octo1sept0;em0;ber",Date:"true¦ago,on4som4t1week0yesterd5; end,ends;mr1o0;d2morrow;!w;ed0;ay",Duration:"true¦centurAd8h7m5q4se3w1y0;ear8r8;eek0k7;!end,s;ason,c5;tr,uarter;i0onth3;llisecond2nute2;our1r1;ay0ecade0;!s;ies,y",FemaleName:"true¦0:IS;1:IW;2:I5;3:I4;4:IM;5:I9;6:JD;7:GQ;8:J9;9:J5;A:HD;B:HN;C:IE;D:J2;E:II;F:H2;G:C4;H:HP;aGIbFDcDJdCSeBIfB0gAAh9Qi9Dj8Ck7Cl5Wm46n3Ko3Gp34qu33r2Bs16t0Fu0Dv03wWxiUyPzI;aMeJineb,oIsof2;e3Rf2la,ra;h3iLlJna,ynI;ab,ep;da,ma;da,h3iIra;nab;aLeKi0GolB3uJvI;etAonDH;i0na;le0sen2;el,gm3Gn,rGAs8T;aoIme0nyi;m5YyAA;aNendDRhiD8iI;dele9lKnI;if45niIo0;e,f44;a,helmi0lIma;a,ow;ka0nB;aOeLiIusa5;ck82kJlAole7viI;anGenIQ;ky,toriBE;da,lA5rIs0;a,nIoniGV;a,iFH;leInesGV;nI7rI;i1y;g9rIxGW;su5te;aZeVhSiOoMrJuIy3;i,la;acIPiIu0L;c2na,sI;hGta;nIr0H;iGya;aKffaEGnIs6;a,gtiI;ng;!nFHra;aJeIomasi0;a,l9Lo87res1;l2ndolwethu;g9Co85rJssI;!a,ie;eIi,ri8;sa,za;bPlNmLnJrIs6tia0wa0;a60yn;iIya;a,ka,s6;arGe3iIm75ra;!ka;a,iI;a,t6;at6it6;a0Gcarlett,e0ChYiUkye,neza0oStOuJyI;bI2lvi1;ha,mayI5ni7sJzI;an3KetAie,y;anIi8;!a,e,nI;aCe;aKeI;fIl5DphI;an4;cHQr5;b2fiA3m0MnIphi1;d3ia,ja,ya;er3lKmon1nJobh8MtI;a,i;dy;lEHv2;aNeJirIo0risEZy5;a,lDD;ba,e0i5lKrI;iIr6Gyl;!d8Efa;ia,lDP;hd,iNki3nKrJu0w0yI;la,ma,na;i,le9on,ron;aJda,ia,nIon;a,on;!ya;k6mI;!aa;lKrJtaye7YvI;da,inj;e0ife;en1i0ma;anA0bMd3Kh1PiBkLlKmJnd3rIs6vannaC;aCi0;ant6i3;lDEma,ome;ee0in8Ou3;in1ri0;a05e00hYiVoIuthDC;bTcSghRl8GnQsKwJxI;anAUie,y;an,e0;aJeIie,lD; merBIann8ll1marD6t7;!lInn1;iIyn;e,nI;a,dG;da,i,na;ayy8B;hel63io;bDFer7yn;a,cJkImas,nGta,ya;ki,o;helHki;ea,iannG7oI;da,n1L;an0bKemGgi0iJnIta,y0;a86ee;han81na;a,eI;cE5kaC;bi0chJe,i0mo0nIquEFy0;di,ia;aEDelIiB;!e,le;een4ia0;aOeNhLipaluk,oKrIute67;iIudenCL;scil3LyamvaB;lly,rt2;ilome0oebe,ylI;is,lis;ggy,nelope,r5t3;ige,m0UnLo5rvaDBtJulI;a,etAin1;ricIt4T;a,e,ia;do3i07;ctav2dJfCUis6lIphCUumBYyunbileg;a,ga,iv2;eIvA9;l2tA;aXeViNoJurIy5;!ay,ul;a,eKor,rJuI;f,r;aCeEma;ll1mi;aOcMhariBJkLlaKna,sIta,vi;anIha;ur;!y;a,iDNki;hoHk9SolI;a,eDE;!mh;hir,lIna,risFsreE;!a,lBO;asuMdLh2i6Cl5nKomi8rgEJtIzanin zah3;aIhal4;li1s6;cy,etA;e9iEP;nngu30;a0Ackenz4e02iNoKrignayani,uriD8yI;a,rI;a,lOna,tH;bi0i3llBDnI;a,iI;ca,ka,qCY;a,cUkaTlOmi,nMrJtzi,yI;ar;aJiam,lI;anEI;!l,nB;dy,eIh,n4;nhHrva;aLdKiCKlI;iIy;cent,e;red;!gros;!e5;ae5hI;ae5el40;ag5EgOi,lLrI;edi77iJjem,on,yI;em,l;em,sF;an4iIliF;nIsC9;a,da;!an,han;b0DcANd0Be,g09ha,i08ja,l06n04rMsoum5YtLuJv80x9FyIz4;bell,ra,soB4;de,rI;a,eE;h8Cild1t4;a,cYgUiLjor4l7Qn4s6tKwa,yI;!aIbe6Uja9lA9;m,nBC;a,ha,in1;!aKbC6eJja,lDna,sIt62;!a,ol,sa;!l1H;! Kh,mJnI;!a,e,n1;!awit,i;aliACcJeduarBfern5EjIlui5W;o6Dul2;ecil2la3;arKeJie,oIr46ueriA;!t;!ry;et44i39;el4Vi75y;dIon,ue5;akran7y;ak,en,iIlo3Q;a,ka,nB;a,re,s4te;daIg4;!l3C;alDd4elIge,isD6on0;ei9in1yn;el,le;a0Oe0DiZoRuMyI;d2la,nI;!a,dJeBCnIsCG;!a,eBB;a,sCE;aCRcKel0QiFlJna,pIz;e,i7;a,u,wa;iIy;a0Te,ja,l2LnB;is,l1TrKttJuIvel4;el5is1;e,ie;aLeJi8na,rI;a84i8;lIn1t7;ei;!in1;aTbb98dSepa,lNnKsJv2zI;!a,be5KetAz4;a,etA;!a,dI;a,sIy;ay,ey,i,y;a,iKja,lI;iIy;a9We;!aI;!nG;ia,ya;!nI;!a,ne;aQda,e0iOjZla,nNoLsKtIx4y5;iIt4;c2t2;e2NlCB;la,nIra;a,ie,o3;a,or1;a,gh,laI;!ni;!h,nI;a,d3e,n5O;cPdon93iOkes6mi96na,rNtKurJvIxmi,y5;ern1in2;a,e53ie,yn;as6iJoI;nya,ya;fa,s6;a,isF;a,la;ey,ie,y;a05e00hYiPlAFoOrKyI;lIra;a,ee,ie;istIy6B;a,en,iJyI;!na;!e,n58;nul,ri,urtnAV;aPerOlAUmKrIzzy;a,stI;en,in;!berlJmernI;aq;eIi,y;e,y;a,stE;!na,ra;aIei3ongordzol;dij1w5;el7MiLjsi,lKnJrI;a,i,ri;d3na,za;ey,i,lB8s4y;ra,s6;bi7cAEdiat7EeAXiSlRmQnyakuma1BrOss6HtLvi7yI;!e,lI;a,eI;e,i8H;a6BeJhIi4MlDri0y;ar69er69ie,leErAXy;!lyn8Cri0;a,en,iIl5Qoli0yn;!ma,nGsF;a5il1;ei8Ai,l4;a,tl6I;a09eZiWoOuI;anMdLliIst61;a8DeIsF;!n9tI;!a,te;e5Hi3Iy;a,i7;!anOcelDdNelHhan7NleMni,sJva0yI;a,ce;eIie;fIlDph5S;a,in1;en,n1;i8y;!a,e,n40;lIng;!i1DlI;!i1C;anOle0nLrKsI;i88sI;!e,i87;i,ri;!a,elHif2AnI;a,etAiIy;!e,f28;a,e89iJnI;a,e88iI;e,n1;cNda,mi,nJque4UsminGvie3y9zI;min8;a8eJiI;ce,e,n1s;!lIsFt0G;e,le;inJk4lDquelI;in1yn;da,ta;da,lSmQnPo0rOsJvaIzaro;!a0lu,na;aKiJlaIob7Z;!n9H;do3;belIdo3;!a,e,l37;a72en1i0ma;di3es,gr6Tji;a9elBogI;en1;a,e9iIo0se;a0na;aTePiKoIusFyacin29;da,ll4rten21snI;a,i9K;lJmaI;ri;aJdIlaJ;a,egard;ry;ath1AiKlJnriet7rmi9sI;sa,t19;en2Qga,mi;di;bi2Bil8ClOnNrKsJtIwa,yl8C;i5Nt4;n5Tti;iImo4Xri4Y;etI;!te;aCnaC;a,ey,l4;a03eXiSlQoOrLunKwI;enIyne1O;!dolD;ay,el;acieJetIiselB;a,chE;!la;ld19ogooI;sh;adys,enIor2yn2G;a,da,na;aLgi,lJna,ov84selIta;a,e,le;da,liI;an;!n0;mMnKorgJrI;ald3Ni,m3Atru86;etAi4S;a,eIna;s25vieve;ma;bJle,mIrnet,yH;al5Ji5;i5BrielI;a,l1;aUeRiQlorPoz2rI;anKeJiI;da,eB;da,ja;!cI;esJiIoi0N;n1s5X;!ca;a,enc2;en,o0;lJn0rnI;anB;ec2ic2;jr,n7rLtIy8;emJiIma,ouma7;ha,ma,n;eh;ah,iBrah,za0;cr4Ld0Oe0Ni0Mk7l05mXn4WrUsOtNuMvI;aKelJiI;!e,ta;inGyn;!ngel2S;geni1ni43;h5Qta;mMperanLtI;eJhIrel5;er;l2Zr8;za;a,eralB;iIma,nest2Jyn;cIka,n;a,ka;a,eNiKmI;aIie,y;!li9;lIn1;ee,iIy;a,e,ja;lIrald;da,y;aXeViOlNma,no3oLsKvI;a,iI;na,ra;a,ie;iIuiI;se;a,en,ie,y;a0c2da,f,nNsKzaI;!betIve7;e,h;aIe,ka;!beI;th;!a,or;anor,nG;!a;!in1na;leEs6;vi;eJiIna,wi0;e,th;l,n;aZeNh2iMjeneLoI;lor5Qminiq4Gn3DrItt4;a,eEis,la,othIthy;ea,y;ba;an0AnaCon9ya;anRbQde,ePiNlKmetr2nIsir5H;a,iI;ce,se;a,iJla,orIphi9;es,is;a,l6A;dIrdI;re;!d59na;!b2ForaCraC;a,d3nI;!a,e;hl2i0l0HmOnMphn1rJvi1WyI;le,na;a,by,cJia,lI;a,en1;ey,ie;a,etAiI;!ca,el1Bka,z;arIia;is;a0Se0Oh05i03lVoKristJynI;di,th2;al,i0;lQnNrJurI;tn1E;aKd2MiIn2Mri9;!nI;a,e,n1;!l4;cepci57n4sI;tanIuelo;ce,za;eIleE;en,tA;aKeoJotI;il4Z;!pat3;ir8rKudI;etAiI;a,ne;a,e,iI;ce,s00;a3er3ndI;i,y;aSeOloe,rI;isKyI;stI;al;sy,tI;a1Qen,iIy;an1e,n1;deKlseJrI;!i8yl;a,y;li9;nNrI;isLlJmI;ai9;a,eIotA;n1tA;!sa;d3elHtI;al,elH;cJlI;esAi42;el2ilI;e,ia,y;itlZlYmilXndWrOsMtIy5;aKeKhIri0;erIleErDy;in1;ri0;a32sI;a31ie;a,iOlMmeKolJrI;ie,ol;!e,in1yn;lIn;!a,la;a,eIie,o7y;ne,y;na,sF;a0Hi0H;a,e,l1;is7l4;in,yn;a0Ie02iZlXoUrI;andi8eRiKoJyI;an0nn;nwDoke;an3CdgMg0XtI;n2WtI;!aJnI;ey,i,y;ny;etI;!t8;an0e,nI;da,na;bbi8glarJlo06nI;i7n4;ka;ancIythe;a,he;an18lja0nIsm3I;i7tI;ou;aVcky,linUni7rQssPtKulaCvI;!erlI;ey,y;hKsy,tI;e,iIy8;e,na;!anI;ie,y;!ie;nIt6yl;adJiI;ce;etAi9;ay,da;!triI;ce,z;rbKyaI;rmI;aa;a3o3ra;a2Sb2Md23g1Zi1Qj5l16m0Xn0Aoi,r05sVtUuQvPwa,yJzI;ra,u0;aLes6gKlJseI;!l;in;un;!nI;a,na;a,i2I;drKgus1RrJsteI;ja;el2;a,ey,i,y;aahua,he0;hJi2Gja,mi7s2DtrI;id;aNlJraqIt21;at;eJi8yI;!n;e,iIy;gh;!nI;ti;iKleJo6pi7;ta;en,n1tA;aIelH;!n1J;a01dje5eZgViTjRnKohito,toIya;inetAnI;el5ia;!aLeJiImK;e,ka;!mItA;ar4;!belJliFmV;sa;!l1;a,eliI;ca;ka,sIta;a,sa;elIie;a,iI;a,ca,n1qI;ue;!tA;te;!bJmIstasiNya;ar2;el;aMberLeliKiIy;e,l2naI;!ta;a,ja;!ly;hHiJl2nB;da;a,ra;le;aXba,eQiNlLthKyI;a,c2sI;a,on,sa;ea;iIys0O;e,s0N;a,cJn1sIza;a,e,ha,on,sa;e,ia,ja;c2is6jaLksaLna,sKxI;aIia;!nd3;ia,saI;nd3;ra;ia;i0nJyI;ah,na;a,is,naCoud;la;c6da,leEmOnMsI;haClI;inIyZ;g,n;!h;a,o,slI;ey;ee;en;at6g4nJusI;ti0;es;ie;aXdiUelNrI;eKiI;anNenI;a,e,ne;an0;na;!aMeLiJyI;nn;a,n1;a,e;!ne;!iI;de;e,lDsI;on;yn;!lI;i9yn;ne;aLbJiIrM;!gaL;ey,i8y;!e;gaI;il;dLliyKradhJs6;ha;ya;ah;a,ya",FirstName:"true¦aLblair,cHdevGgabrieFhinaEjCk9l8m4quinn,re3s0;h0umit;ay,e0iloh;a,lby;g6ne;a1el0ina,org5;!okuh9;naia,r0;ion,lo;ashawn,uca;asCe1ir0rE;an;lsAnyat2rry;am0ess6ie,ude;ie,m5;ta;le;an,on;as2h0;arl0eyenne;ie;ey,sidy;lex2ndr1ubr0;ey;a,ea;is",Person:"true¦a0Ob0Hc08d05e02g01hZinez,jYkVlSmMnKoJpHr9s7t4v2w0xzibit,yanni;ar0ednesday adams,ill.i.am,oode;hol,rO;a0oltaiO;lentino rossi,n go7;a1heresa may,i0yra banks;ger woods,mbaQ;tum,ylor;a0carlett johanss03hakespeaJinbad,lobodan milosevic,ocratM;ddam hussain,ntigold;a6e5i4o2u0za;mi,n dmc,paul,sh limbau0;gh;d stewart,nald0thko;inho,o;hanYvaldo;ese witherspoVil9mbrandt;ffi,y roma03;a0e08ip07lato,oe,uff daddy;lm06ris hiltS;prah winfrWra;as,e0iles crane,ostradamP; yo,l3ttI;acklemo4essia3i1o0ubarek;by,lie3net,rrissS;randa ju0tt romnR;ly;en;re;ady gaga,e0iberaT;bron jam0e;es;anye west,e1iefer suther0obe bryant;land;ats,ndall,sha;aime,effersCk rowling;a0itlPulk hogan;lle berry,rrisA;ast9otye;ff1m0nya,zekiel;eril lagasse,inem;ie;a1e0ick wolf,rake;gas,nzel washingt4;lt3nB;ar5h3lint2o0;nfuci0olio;us;on;aucCy0;na;dinal wols1son0;! palm9;ey;a5e3o2ro0;ck,n0;te;no;ck,yon0;ce;nksy,rack obama;ristot1shton kutch0;er;le",LastName:"true¦0:9G;1:9W;2:9Y;3:9O;4:9I;5:8L;6:9L;7:A1;8:9F;9:8A;A:78;B:6G;C:6K;a9Vb8Nc7Ld6Ye6Tf6Fg5Wh59i55j4Qk45l3Nm2Sn2Fo27p1Oquispe,r18s0Ft05vVwOxNyGzD;aytsAEhD;aDou,u;ng,o;aGeun81iDoshiAAun;!lD;diDmaz;rim,z;maDng;da,guc98mo6VsDzaA;aAhiA8;iao,u;aHeGiEoDright,u;jc8Tng;lDmm0nkl0sniewsA;liA2s2;b0iss,lt0;a5Tgn0lDtanabe;k0sh;aHeGiEoDukB;lk5roby5;dBllalDnogr2Zr10ss0val37;ba,obos;lasEsel7P;lGn dFrg8FsEzD;qu7;ily9Pqu7silj9P;en b35ijk,yk;enzue96verde;aLeix1KhHi3j6ka3IoGrFsui,uD;om50rD;c3n0un1;an,embl8UynisA;dor96lst31m4rr9th;at5Ni7NoD;mErD;are70laci65;ps2s0Z;hirBkah8Enaka;a01chXeUhQiNmKoItFuEvDzabo;en8Bobod34;ar7bot4lliv3zuA;aEein0oD;i68j3Myan8W;l6rm0;kol5lovy5re6Rsa,to,uD;ng,sa;iDy60;rn5tD;!h;l5ZmEnDrbu;at8gh;mo6Eo6K;aFeDimizu;hu,vchD;en7Duk;la,r17;gu8infeld,mDoh,pulve8Trra4S;jDyD;on5;evi6Giltz,miDneid0roed0ulz,warz;dEtD;!z;!t;ar42h6ito,lFnDr4saAto,v4;ch7d0AtDz;a4Pe,os;as,ihBm3Zo0Q;aOeNiKoGuEyD;a67oo,u;bio,iz,sD;so,u;bEc7Bdrigue57g03j73mDosevelt,ssi,ta7Nux,w3Z;a4Ce0O;ertsDins2;!on;bei0LcEes,vDzzo;as,e8;ci,hards2;ag3es,it0ut0y9;dFmEnDsmu7Zv5F;tan1;ir7os;ic,u;aSeLhJiGoErDut6;asad,if60ochazk1V;lishc23pDrti63u55we67;e2Tov48;cEe09nD;as,to;as61hl0;aDillips;k,m,n5L;de3AetIna,rGtD;ersErovDtersC;!a,ic;en,on;eDic,ry,ss2;i8ra,tz,z;ers;h71k,rk0tEvD;ic,l3T;el,t2O;bJconnor,g2ClGnei5QrEzD;demir,turk;ella3MtDwe5O;ega,iz;iDof6GsC;vDyn1E;ei8;aPri1;aLeJguy1iFoDune44ym3;rodahl,vDwak;ak3Uik5otn57;eEkolDlsCx2;ic,ov6X;ls1miD;!n1;ils2mD;co42ec;gy,kaEray3varD;ro;jiDmu8shiD;ma;aWcUeQiPoIuD;lGnFrDssoli5T;atDpTr68;i,ov4;oz,te4C;d0l0;h3lInr13o0GrEsDza0Y;er,s;aFeEiDoz5r3Ete4C;!n6F;au,i8no,t4N;!l9;i2Rl0;crac5Ohhail5kke3Qll0;hmeFij0j2FlEn2Xrci0ssiDyer19;!er;n0Io;dBti;cartDlaughl6;hy;dMe6Egnu5Fi0jer35kLmJnci5ArFtEyD;er,r;ei,ic,su1O;iEkBqu9roqu6tinD;ez,s;a55c,nD;!o;a53mD;ad5;e5Pin1;rig4Ps1;aSeMiIoGuEyD;!nch;k4nDo;d,gu;mbarDpe2Svr4;di;!nDu,yana1T;coln,dD;bDholm;erg;bed5UfeGhtFitn0kaEn6rDw2H;oy;!j;in1on1;bvDvD;re;iDmmy,rsCu,voie;ne,t12;aTennedy,h3iSlQnez48oJrGuEvar3woD;k,n;cerDmar59znets5;a,o2H;aDem0i31yeziu;sni3RvD;ch3W;bay4Grh0Ksk0UvaFwalDzl5;czDsA;yk;cFlD;!cDen3S;huk;!ev4ic,s;e6uiveD;rt;eff0l4mu8nnun1;hn,llFminsArEstra33to,ur,yDzl5;a,s0;j0HlsC;oe;aMenLha2Qim0RoEuD;ng,r4;e2KhFnErge2Ku2OvD;anB;es,ss2;anEnsD;en,on,t2;nesDsC;en,s1;ki27s1;cGkob3RnsDrv06;en,sD;enDon;!s;ks2obs1;brahimBglesi3Ake4Ll0DnoZoneFshikEto,vanoD;u,v4A;awa;scu;aPeIitchcock,jaltal6oFrist46uD;!aDb0gh9ynh;m3ng;a24dz4fEjga2Tk,rDx3B;ak0Yvat;er,fm3B;iGmingw3NnErD;nand7re8;dDriks1;ers2;kkiEnD;on1;la,n1;dz4g1lvoLmJnsCqIrr0SsFuEyD;as36es;g1ng;anEhiD;mo0Q;i,ov08;ue;alaD;in1;rs1;aNeorgMheorghe,iKjonJoGrEuDw2;o,staf2Utierr7zm3;ayDg4iffitVub0;li1H;lub3Rme0JnEodD;e,m3;calv9zale0H;aj,i;bs2l,mDordaL;en7;iev3A;gnJlGmaFnd2Mo,rDs2Muthi0;cDza;ia;ge;eaElD;agh0i,o;no;e,on;ab0erLiHjeldsted,lor9oFriedm3uD;cDent9ji3E;hs;ntaDrt6urni0;na;lipEsD;ch0;ovD;!ic;hatBnanFrD;arDei8;a,i;deS;ov4;dGinste6riksCsDva0D;cob2YpDtra2W;inoza,osiL;en,s2;er,is2wards;aUeMiKjurhuJoHrisco0ZuEvorakD;!oQ;arte,boEmitru,rDt2U;and,ic;is;g3he0Imingu7n2Ord1AtD;to;us;aDmitr29ssanayake;s,z; GbnaFlEmirDrvis1Lvi,w3;!ov4;gado,ic;th;bo0groot,jo04lEsilDvri9;va;a cruz,e2uD;ca;hl,mcevsAnEt2EviD;d5es,s;ieDku1S;ls1;ki;a06e01hOiobNlarkMoFrD;ivDuz;elli;h1lHntGoFrDs26x;byn,reD;a,ia;ke,p0;i,rer0N;em3liD;ns;!e;anu;aLeIiu,oGriDuJwe;stD;eDiaD;ns1;i,ng,uFwDy;!dhury;!n,onEuD;ng;!g;kEnDpm3tterjee,v7;!d,g;ma,raboD;rty;bGl08ng4rD;eghetEnD;a,y;ti;an,ota0L;cer9lder2mpbeIrFstDvadi07;iDro;llo;doEt0uDvalho;so;so,zo;ll;es;a08eWhTiRlNoGrFyD;rne,tyD;qi;ank5iem,ooks,yant;gdan5nFruya,su,uchEyHziD;c,n5;ard;darDik;enD;ko;ov;aEondD;al;nco,zD;ev4;ancRshwD;as;a01oDuiy3;umDwmD;ik;ckNethov1gu,ktLnJrD;gGisFnD;ascoDds1;ni;ha;er,mD;ann;gtDit7nett;ss2;asD;hi;er,ham;b4ch,ez,hMiley,kk0nHrDu0;bEnDua;es,i0;ieDosa;ri;dDik;a8yopadhyD;ay;ra;er;k,ng;ic;cosZdYguilXkhtXlSnJrGsl3tchis2yD;aEd6;in;la;aEsl3;an;ujo,ya;dFgelD;ovD;!a;ersGov,reD;aDjL;ss1;en;en,on,s2;on;eksejGiyGmeiFvD;ar7es;ez;da;ev;ar;ams;ta",Honorific:"true¦director1field marsh2lieutenant1rear0sergeant major,vice0; admir1; gener0;al","Adj|Gerund":"true¦0:3H;1:3J;2:33;3:2Z;4:37;5:35;6:3E;7:31;8:38;9:2J;a35b2Vc2Dd1Te1If17g11h0Yi0Rjud9l0Nm0Gnu0Fo0Ap04rYsKtEuBvAw18yiel3;ar6e08;nBpA;l1Rs0B;fol3n21sett2;aEeDhrBi4ouc7rAwis0;e0Bif2oub2us0yi1;ea1SiA;l2vi1;l2mp0rr1J;nt1Xxi1;aMcreec7enten2PhLkyrocke0lo1Tmi2oJpHtDuBweA;e1Sl2;pp2CrA;gi1pri5roun3;aBea8iAri2Jun25;mula0r4;gge4rA;t2vi1;ark2eAraw2;e3llb2H;aAot7;ki1ri1;i1Xoc2B;dYtisf6;aEeBive0oAus7;a4l2;assu4defi1Tfres7ig1Tjuve0QlaImai1Ts0vAwar3;ea2italiAol1I;si1zi1;gi1ll6mb2vi1;a6eDier25lun9rAun2E;eBoA;mi5vo21;ce3s5vai2;n3rpleA;xi1;ffCpWutBverAwi1;arc7lap12p0Pri3whel8;goi1l6st1L;en3sA;et0;m2Lrtu4;aEeDiCoBuAyst0L;mb2;t1Lvi1;s5tiga0;an1Tl0n3smeri28;dAtu4;de17;aCeaBiAo0W;fesa0Vmi0vi1;di1ni1;c1Hg9s0;llumiZmFnArri0T;cDfurGsCtBviA;go25ti1;e1Qimi23oxica0rig0X;pi4ul0;orpo22r0M;po5;arrowi1eaBorr03umilA;ia0;li1rtwar8;lErA;atiCip0BoBuelA;i1li1;undbrea13wi1;f6ng;a4ea8;aIetc7it0lEoCrBulfA;il2;ee1JighZust1P;rAun3;ebo3thco8;aCoA;a0wA;e4i1;mi1tte4;di1sciA;na0;lectrJmHnExA;aCci0hBis0pA;an3lo3;aOila1D;c0spe1C;ab2cBdu4ergi15ga9live06ric7s04tA;hral2i0L;han0oura9;barras5er9pA;owe4;if6;aSeIiBrA;if0;sAzz6;aEgDhearCsen0tA;rAur13;ac0es5;teU;us0;ppoin0r8;biliIcFfiRgra3ligh0mDpres5sCvA;asHeloA;pi1;erE;an3eaNorA;ali0L;a6eiBliLrA;ea5;vi1;ta0;ma9ri1s7un0zz2;aPhMlo5oAripp2ut0;mGnArrespon3;cerEfDspi4tAvinU;inBrA;as0ibu0ol2;ui1;lic0u5;ni1;fDmCpA;eAromi5;l2ti1;an3;or0;aAil2;llen9n9r8;gi1;l8ptAri1;iva0;aff2eGin3lFoDrBuA;d3st2;eathtaAui5;ki1;gg2i2o8ri1unA;ci1;in3;co8wiA;lAtc7;de4;bsorVcOgonMlJmHnno6ppea2rFsA;pi4su4toA;nBun3;di1;is7;hi1;res0;li1;aFu5;si1;ar8lu4;ri1;mi1;iAzi1;zi1;cAhi1;eleDomA;moBpan6;yi1;da0;ra0;ti1;bi1;ng",Adverb:"true¦a08b05d00eYfSheQinPjustOkinda,likewiZmMnJoEpCquite,r9s5t2u0very,well;ltima01p0; to,wards5;h1iny bit,o0wiO;o,t6;en,us;eldom,o0uch;!me1rt0; of;how,times,w0C;a1e0;alS;ndomRth05;ar excellenEer0oint blank; Lhaps;f3n0utright;ce0ly;! 0;ag05moX; courGten;ewJo0; longWt 0;onHwithstand9;aybe,eanwhiNore0;!ovT;! aboX;deed,steY;lla,n0;ce;or3u0;ck1l9rther0;!moK;ing; 0evK;exampCgood,suH;n mas0vI;se;e0irect2; 2fini0;te0;ly;juAtrop;ackward,y 0;far,no0; means,w; GbroFd nauseam,gEl7ny5part,s4t 2w0;ay,hi0;le;be7l0mo7wor7;arge,ea6; soon,i4;mo0way;re;l 3mo2ongsi1ready,so,togeth0ways;er;de;st;b1t0;hat;ut;ain;ad;lot,posteriori",Conjunction:"true¦aXbTcReNhowMiEjust00noBo9p8supposing,t5wh0yet;e1il0o3;e,st;n1re0thN; if,by,vM;evL;h0il,o;erefOo0;!uU;lus,rovided th9;r0therwiM;! not; mattEr,w0;! 0;since,th4w7;f4n0; 0asmuch;as mIcaForder t0;h0o;at;! 0;only,t0w0;hen;!ev3;ith2ven0;! 0;if,tB;er;o0uz;s,z;e0ut,y the time;cau1f0;ore;se;lt3nd,s 0;far1if,m0soon1t2;uch0; as;hou0;gh",Currency:"true¦$,aud,bQcOdJeurIfHgbp,hkd,iGjpy,kElDp8r7s3usd,x2y1z0¢,£,¥,ден,лв,руб,฿,₡,₨,€,₭,﷼;lotyQł;en,uanP;af,of;h0t5;e0il5;k0q0;elK;oubleJp,upeeJ;e2ound st0;er0;lingG;n0soF;ceEnies;empi7i7;n,r0wanzaCyatC;!onaBw;ls,nr;ori7ranc9;!os;en3i2kk,o0;b0ll2;ra5;me4n0rham4;ar3;e0ny;nt1;aht,itcoin0;!s",Determiner:"true¦aBboth,d9e6few,le5mu8neiDplenty,s4th2various,wh0;at0ich0;evC;a0e4is,ose;!t;everal,ome;!ast,s;a1l0very;!se;ch;e0u;!s;!n0;!o0y;th0;er","Adj|Present":"true¦a07b04cVdQeNfJhollIidRlEmCnarrIoBp9qua8r7s3t2uttFw0;aKet,ro0;ng,u08;endChin;e2hort,l1mooth,our,pa9tray,u0;re,speU;i2ow;cu6da02leSpaN;eplica01i02;ck;aHerfePr0;eseUime,omV;bscu1pen,wn;atu0e3odeH;re;a2e1ive,ow0;er;an;st,y;ow;a2i1oul,r0;ee,inge;rm;iIke,ncy,st;l1mpty,x0;emHpress;abo4ic7;amp,e2i1oub0ry,ull;le;ffu9re6;fu8libe0;raE;alm,l5o0;mpleCn3ol,rr1unterfe0;it;e0u7;ct;juga8sum7;ea1o0;se;n,r;ankru1lu0;nt;pt;li2pproxi0rticula1;ma0;te;ght",Comparable:"true¦0:3C;1:3Q;2:3F;a3Tb3Cc33d2Ue2Nf2Ag1Wh1Li1Fj1Ek1Bl13m0Xn0So0Rp0Iqu0Gr07sHtCug0vAw4y3za0Q;el10ouN;ary,e6hi5i3ry;ck0Cde,l3n1ry,se;d,y;ny,te;a3i3R;k,ry;a3erda2ulgar;gue,in,st;a6en2Xhi5i4ouZr3;anqu2Den1ue;dy,g36me0ny;ck,rs29;ll,me,rt,wd3I;aRcaPeOhMiLkin0BlImGoEpDt6u4w3;eet,ift;b3dd0Wperfi21rre29;sta27t22;a8e7iff,r4u3;pUr1;a4ict,o3;ng;ig2Vn0N;a1ep,rn;le,rk,te0;e1Si2Vright0;ci1Zft,l3on,re;emn,id;a3el0;ll,rt;e4i3y;g2Mm0Z;ek,nd2T;ck24l0mp1M;a3iRrill,y;dy,l01rp;ve0Jxy;n1Kr3;ce,y;d,fe,int0l1Iv0V;a8e6i5o3ude;mantic,o19sy,u3;gh;pe,t1P;a3d,mo0A;dy,l;gg4iFndom,p3re,w;id;ed;ai2i3;ck,et;hoAink,l9o8r5u3;ny,r3;e,p12;egna2ic4o3;fouSud;ey,k0;liXor;ain,easa2;ny;dd,i0ld,ranL;aive,e5i4o3u15;b0Tisy,rm0Zsy;bb0ce,mb0S;a3r1w;r,t;ad,e5ild,o4u3;nda12te;ist,o1;a4ek,l3;low;s0ty;a8e7i6o3ucky;f0Kn4o15u3ve0w10y0O;d,sy;e0g;ke0l,mp,tt0Fve0;e1Qwd;me,r3te;ge;e4i3;nd;en;ol0ui19;cy,ll,n3;secu6t3;e3ima4;llege2rmedia3;te;re;aAe7i6o5u3;ge,m3ng1C;bZid;me0t;gh,l0;a3fYsita2;dy,rXv3;en0y;nd13ppy,r3;d3sh;!y;aFenEhCiBlAoofy,r3;a8e6i5o3ue0Z;o3ss;vy;m,s0;at,e3y;dy,n;nd,y;ad,ib,ooD;a2d1;a3o3;st0;tEuiS;u1y;aDeebCi9l8o6r5u3;ll,n3r0N;!ny;aDesh,iend0;a3nd,rmE;my;at,ir8;erce4nan3;ciA;! ;le;r,ul3;ty;a6erie,sse4v3xtre0A;il;nti3;al;r4s3;tern,y;ly,th0;appYe8i4u3;mb;r5vi4z3;zy;ne;e,ty;a3ep,n9;d3f,r;!ly;agey,h8l7o5r4u3;dd0r0te;isp,uel;ar3ld,mmon,st0ward0zy;se;evKou1;e3il0;ap,e3;sy;aHiFlCoAr5u3;ff,r0sy;ly;a6i3oad;g4llia2;nt;ht;sh,ve;ld,un3;cy;a4o3ue;nd,o1;ck,nd;g,tt3;er;d,ld,w1;dy;bsu6ng5we3;so3;me;ry;rd","Person|Adj":"true¦brown,du2earnest,frank,mi2r0sa1;a0ich,u1;ndy;sty",Modal:"true¦c5lets,m4ought3sh1w0;ill,o5;a0o4;ll,nt;! to,a;ight,ust;an,o0;uld",Verb:"true¦born,cannot,gonna,has,keep tabs,msg","Person|Verb":"true¦b8ch7dr6foster,gra5ja9lan4ma2ni9ollie,p1rob,s0wade;pike,t5ue;at,eg,ier2;ck,r0;k,shal;ce;ce,nt;ew;ase,u1;iff,l1ob,u0;ck;aze,ossom","Person|Place":"true¦a5darw6h3jordan,k2orlando,s0victo7;a0ydney;lvador,mara,ntiago;ent,obe;amil0ous0;ton;lexand1ust0;in;ria","Person|Date":"true¦a2j0sep;an0une;!uary;p0ugust,v0;ril"};const Ao=36,Io="0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ",No=Io.split("").reduce((function(e,t,n){return e[t]=n,e}),{});var jo=function(e){if(void 0!==No[e])return No[e];let t=0,n=1,r=Ao,a=1;for(;n=0;n--,a*=Ao){let r=e.charCodeAt(n)-48;r>10&&(r-=7),t+=r*a}return t},Eo=function(e){const t=new RegExp("([0-9A-Z]+):([0-9A-Z]+)");for(let n=0;n{let o=e.nodes[r];"!"===o[0]&&(t.push(a),o=o.slice(1));const i=o.split(/([A-Z0-9,]+)/g);for(let o=0;o{const n=t.split("¦");return e[n[0]]=n[1],e}),{}),n={};return Object.keys(t).forEach((function(e){const r=Do(t[e]);"true"===e&&(e=!0);for(let t=0;t{let t=To(Po[e]);Go.test(e)?Object.keys(t).forEach((t=>{if(Lo[t]=e,"Noun|Verb"===e){let e=Vo(t,$o);Lo[e]="Plural|Verb"}})):Object.keys(t).forEach((t=>{zo[t]=e}))})),[":(",":)",":P",":p",":O",";(",";)",";P",";p",";O",":3",":|",":/",":\\",":$",":*",":@",":-(",":-)",":-P",":-p",":-O",":-3",":-|",":-/",":-\\",":-$",":-*",":-@",":^(",":^)",":^P",":^p",":^O",":^3",":^|",":^/",":^\\",":^$",":^*",":^@","):","(:","$:","*:",")-:","(-:","$-:","*-:",")^:","(^:","$^:","*^:","<3","zo[e]="Emoticon")),delete zo[""],delete zo.null,delete zo[" "];const So="Singular";var Mo={beforeTags:{Determiner:So,Possessive:So,Acronym:So,Noun:So,Adjective:So,PresentTense:So,Gerund:So,PastTense:So,Infinitive:So,Date:So,Ordinal:So,Demonym:So},afterTags:{Value:So,Modal:So,Copula:So,PresentTense:So,PastTense:So,Demonym:So,Actor:So},beforeWords:{the:So,with:So,without:So,of:So,for:So,any:So,all:So,on:So,cut:So,cuts:So,increase:So,decrease:So,raise:So,drop:So,save:So,saved:So,saves:So,make:So,makes:So,made:So,minus:So,plus:So,than:So,another:So,versus:So,neither:So,about:So,favorite:So,best:So,daily:So,weekly:So,linear:So,binary:So,mobile:So,lexical:So,technical:So,computer:So,scientific:So,security:So,government:So,popular:So,formal:So,no:So,more:So,one:So,let:So,her:So,his:So,their:So,our:So,us:So},afterWords:{of:So,system:So,aid:So,method:So,utility:So,tool:So,reform:So,therapy:So,philosophy:So,room:So,authority:So,says:So,said:So,wants:So,wanted:So,is:So,did:So,do:So,can:So,wise:So}};const Bo="Infinitive";var Ho={beforeTags:{Modal:Bo,Adverb:Bo,Negative:Bo,Plural:Bo},afterTags:{Determiner:Bo,Adverb:Bo,Possessive:Bo,Reflexive:Bo,Preposition:Bo,Cardinal:Bo,Comparative:Bo,Superlative:Bo},beforeWords:{i:Bo,we:Bo,you:Bo,they:Bo,to:Bo,please:Bo,will:Bo,have:Bo,had:Bo,would:Bo,could:Bo,should:Bo,do:Bo,did:Bo,does:Bo,can:Bo,must:Bo,us:Bo,me:Bo,let:Bo,even:Bo,when:Bo,help:Bo,he:Bo,she:Bo,it:Bo,being:Bo,bi:Bo,co:Bo,contra:Bo,de:Bo,inter:Bo,intra:Bo,mis:Bo,pre:Bo,out:Bo,counter:Bo,nobody:Bo,somebody:Bo,anybody:Bo,everybody:Bo},afterWords:{the:Bo,me:Bo,you:Bo,him:Bo,us:Bo,her:Bo,his:Bo,them:Bo,they:Bo,it:Bo,himself:Bo,herself:Bo,itself:Bo,myself:Bo,ourselves:Bo,themselves:Bo,something:Bo,anything:Bo,a:Bo,an:Bo,up:Bo,down:Bo,by:Bo,out:Bo,off:Bo,under:Bo,what:Bo,all:Bo,to:Bo,because:Bo,although:Bo,after:Bo,before:Bo,how:Bo,otherwise:Bo,together:Bo,though:Bo,into:Bo,yet:Bo,more:Bo,here:Bo,there:Bo,away:Bo}},Jo={beforeTags:Object.assign({},Ho.beforeTags,Mo.beforeTags,{}),afterTags:Object.assign({},Ho.afterTags,Mo.afterTags,{}),beforeWords:Object.assign({},Ho.beforeWords,Mo.beforeWords,{}),afterWords:Object.assign({},Ho.afterWords,Mo.afterWords,{})};const Wo="Adjective";var Ko={beforeTags:{Determiner:Wo,Possessive:Wo,Hyphenated:Wo},afterTags:{Adjective:Wo},beforeWords:{seem:Wo,seemed:Wo,seems:Wo,feel:Wo,feels:Wo,felt:Wo,stay:Wo,appear:Wo,appears:Wo,appeared:Wo,also:Wo,over:Wo,under:Wo,too:Wo,it:Wo,but:Wo,still:Wo,really:Wo,quite:Wo,well:Wo,very:Wo,how:Wo,deeply:Wo,hella:Wo,profoundly:Wo,extremely:Wo,so:Wo,badly:Wo,mostly:Wo,totally:Wo,awfully:Wo,rather:Wo,nothing:Wo,something:Wo,anything:Wo,not:Wo,me:Wo,is:Wo},afterWords:{too:Wo,also:Wo,or:Wo,enough:Wo,about:Wo}};const qo="Gerund";var Uo={beforeTags:{Adverb:qo,Preposition:qo,Conjunction:qo},afterTags:{Adverb:qo,Possessive:qo,Person:qo,Pronoun:qo,Determiner:qo,Copula:qo,Preposition:qo,Conjunction:qo,Comparative:qo},beforeWords:{been:qo,keep:qo,continue:qo,stop:qo,am:qo,be:qo,me:qo,began:qo,start:qo,starts:qo,started:qo,stops:qo,stopped:qo,help:qo,helps:qo,avoid:qo,avoids:qo,love:qo,loves:qo,loved:qo,hate:qo,hates:qo,hated:qo},afterWords:{you:qo,me:qo,her:qo,him:qo,his:qo,them:qo,their:qo,it:qo,this:qo,there:qo,on:qo,about:qo,for:qo,up:qo,down:qo}},Qo={beforeTags:Object.assign({},Ko.beforeTags,Uo.beforeTags,{Imperative:"Gerund",Infinitive:"Adjective",PresentTense:"Gerund",Plural:"Gerund"}),afterTags:Object.assign({},Ko.afterTags,Uo.afterTags,{Singular:"Adjective"}),beforeWords:Object.assign({},Ko.beforeWords,Uo.beforeWords,{is:"Adjective",was:"Adjective",of:"Adjective",suggest:"Gerund",recommend:"Gerund"}),afterWords:Object.assign({},Ko.afterWords,Uo.afterWords,{to:"Gerund",not:"Gerund",the:"Gerund"})};const Ro={beforeTags:{Determiner:void 0,Cardinal:"Noun",PhrasalVerb:"Adjective"},afterTags:{}};var _o={beforeTags:Object.assign({},Ko.beforeTags,Mo.beforeTags,Ro.beforeTags),afterTags:Object.assign({},Ko.afterTags,Mo.afterTags,Ro.afterTags),beforeWords:Object.assign({},Ko.beforeWords,Mo.beforeWords,{are:"Adjective",is:"Adjective",was:"Adjective",be:"Adjective",off:"Adjective",out:"Adjective"}),afterWords:Object.assign({},Ko.afterWords,Mo.afterWords)};let Xo="PastTense";const Zo={beforeTags:{Adverb:Xo,Pronoun:Xo,ProperNoun:Xo,Auxiliary:Xo,Noun:Xo},afterTags:{Possessive:Xo,Pronoun:Xo,Determiner:Xo,Adverb:Xo,Comparative:Xo,Date:Xo,Gerund:Xo},beforeWords:{be:Xo,who:Xo,get:"Adjective",had:Xo,has:Xo,have:Xo,been:Xo,it:Xo,as:Xo,for:"Adjective",more:"Adjective"},afterWords:{by:Xo,back:Xo,out:Xo,in:Xo,up:Xo,down:Xo,before:Xo,after:Xo,for:Xo,the:Xo,with:Xo,as:Xo,on:Xo,at:Xo,between:Xo,to:Xo,into:Xo,us:Xo,them:Xo,his:Xo,her:Xo,their:Xo,our:Xo,me:Xo}};var Yo={beforeTags:Object.assign({},Ko.beforeTags,Zo.beforeTags),afterTags:Object.assign({},Ko.afterTags,Zo.afterTags),beforeWords:Object.assign({},Ko.beforeWords,Zo.beforeWords),afterWords:Object.assign({},Ko.afterWords,Zo.afterWords)};const ei={afterTags:{Noun:"Adjective",Conjunction:void 0}};var ti={beforeTags:Object.assign({},Ko.beforeTags,Ho.beforeTags,{Adverb:void 0,Negative:void 0}),afterTags:Object.assign({},Ko.afterTags,Ho.afterTags,ei.afterTags),beforeWords:Object.assign({},Ko.beforeWords,Ho.beforeWords,{have:void 0,had:void 0,not:void 0,went:"Adjective",goes:"Adjective",got:"Adjective",be:"Adjective"}),afterWords:Object.assign({},Ko.afterWords,Ho.afterWords,{to:void 0,as:"Adjective"})};const ni={Copula:"Gerund",PastTense:"Gerund",PresentTense:"Gerund",Infinitive:"Gerund"},ri={},ai={are:"Gerund",were:"Gerund",be:"Gerund",no:"Gerund",without:"Gerund",you:"Gerund",we:"Gerund",they:"Gerund",he:"Gerund",she:"Gerund",us:"Gerund",them:"Gerund"},oi={the:"Gerund",this:"Gerund",that:"Gerund",me:"Gerund",us:"Gerund",them:"Gerund"};var ii={beforeTags:Object.assign({},Uo.beforeTags,Mo.beforeTags,ni),afterTags:Object.assign({},Uo.afterTags,Mo.afterTags,ri),beforeWords:Object.assign({},Uo.beforeWords,Mo.beforeWords,ai),afterWords:Object.assign({},Uo.afterWords,Mo.afterWords,oi)};const si="Singular",li="Infinitive";var ui={beforeTags:Object.assign({},Ho.beforeTags,Mo.beforeTags,{Adjective:si,Particle:si}),afterTags:Object.assign({},Ho.afterTags,Mo.afterTags,{ProperNoun:li,Gerund:li,Adjective:li,Copula:si}),beforeWords:Object.assign({},Ho.beforeWords,Mo.beforeWords,{is:si,was:si,of:si,have:null}),afterWords:Object.assign({},Ho.afterWords,Mo.afterWords,{instead:li,about:li,his:li,her:li,to:null,by:null,in:null})};const ci="Person";var hi={beforeTags:{Honorific:ci,Person:ci},afterTags:{Person:ci,ProperNoun:ci,Verb:ci},ownTags:{ProperNoun:ci},beforeWords:{hi:ci,hey:ci,yo:ci,dear:ci,hello:ci},afterWords:{said:ci,says:ci,told:ci,tells:ci,feels:ci,felt:ci,seems:ci,thinks:ci,thought:ci,spends:ci,spendt:ci,plays:ci,played:ci,sing:ci,sang:ci,learn:ci,learned:ci,wants:ci,wanted:ci}};const di="Month",gi={beforeTags:{Date:di,Value:di},afterTags:{Date:di,Value:di},beforeWords:{by:di,in:di,on:di,during:di,after:di,before:di,between:di,until:di,til:di,sometime:di,of:di,this:di,next:di,last:di,previous:di,following:di,with:"Person"},afterWords:{sometime:di,in:di,of:di,until:di,the:di}};var mi={beforeTags:Object.assign({},hi.beforeTags,gi.beforeTags),afterTags:Object.assign({},hi.afterTags,gi.afterTags),beforeWords:Object.assign({},hi.beforeWords,gi.beforeWords),afterWords:Object.assign({},hi.afterWords,gi.afterWords)};const pi="Place",fi={beforeTags:{Place:pi},afterTags:{Place:pi,Abbreviation:pi},beforeWords:{in:pi,by:pi,near:pi,from:pi,to:pi},afterWords:{in:pi,by:pi,near:pi,from:pi,to:pi,government:pi,council:pi,region:pi,city:pi}};let vi="Unit";const bi={"Actor|Verb":Jo,"Adj|Gerund":Qo,"Adj|Noun":_o,"Adj|Past":Yo,"Adj|Present":ti,"Noun|Verb":ui,"Noun|Gerund":ii,"Person|Noun":{beforeTags:Object.assign({},Mo.beforeTags,hi.beforeTags),afterTags:Object.assign({},Mo.afterTags,hi.afterTags),beforeWords:Object.assign({},Mo.beforeWords,hi.beforeWords,{i:"Infinitive",we:"Infinitive"}),afterWords:Object.assign({},Mo.afterWords,hi.afterWords)},"Person|Date":mi,"Person|Verb":{beforeTags:Object.assign({},Mo.beforeTags,hi.beforeTags,Ho.beforeTags),afterTags:Object.assign({},Mo.afterTags,hi.afterTags,Ho.afterTags),beforeWords:Object.assign({},Mo.beforeWords,hi.beforeWords,Ho.beforeWords),afterWords:Object.assign({},Mo.afterWords,hi.afterWords,Ho.afterWords)},"Person|Place":{beforeTags:Object.assign({},fi.beforeTags,hi.beforeTags),afterTags:Object.assign({},fi.afterTags,hi.afterTags),beforeWords:Object.assign({},fi.beforeWords,hi.beforeWords),afterWords:Object.assign({},fi.afterWords,hi.afterWords)},"Person|Adj":{beforeTags:Object.assign({},hi.beforeTags,Ko.beforeTags),afterTags:Object.assign({},hi.afterTags,Ko.afterTags),beforeWords:Object.assign({},hi.beforeWords,Ko.beforeWords),afterWords:Object.assign({},hi.afterWords,Ko.afterWords)},"Unit|Noun":{beforeTags:{Value:vi},afterTags:{},beforeWords:{per:vi,every:vi,each:vi,square:vi,cubic:vi,sq:vi,metric:vi},afterWords:{per:vi,squared:vi,cubed:vi,long:vi}}},yi=(e,t)=>{let n=Object.keys(e).reduce(((t,n)=>(t[n]="Infinitive"===e[n]?"PresentTense":"Plural",t)),{});return Object.assign(n,t)};bi["Plural|Verb"]={beforeWords:yi(bi["Noun|Verb"].beforeWords,{had:"Plural",have:"Plural"}),afterWords:yi(bi["Noun|Verb"].afterWords,{his:"PresentTense",her:"PresentTense",its:"PresentTense",in:null,to:null,is:"PresentTense",by:"PresentTense"}),beforeTags:yi(bi["Noun|Verb"].beforeTags,{Conjunction:"PresentTense",Noun:void 0,ProperNoun:"PresentTense"}),afterTags:yi(bi["Noun|Verb"].afterTags,{Gerund:"Plural",Noun:"PresentTense",Value:"PresentTense"})};var wi=bi;const ki="Adjective",Pi="Infinitive",Ai="PresentTense",Ii="Singular",Ni="PastTense",ji="Adverb",Ei="Plural",xi="Actor",Di="Verb",Ti="Noun",Ci="LastName",Oi="Modal",Fi="Place",Vi="Participle";var Gi=[null,null,{ea:Ii,ia:Ti,ic:ki,ly:ji,"'n":Di,"'t":Di},{oed:Ni,ued:Ni,xed:Ni," so":ji,"'ll":Oi,"'re":"Copula",azy:ki,eer:Ti,end:Di,ped:Ni,ffy:ki,ify:Pi,ing:"Gerund",ize:Pi,ibe:Pi,lar:ki,mum:ki,nes:Ai,nny:ki,ous:ki,que:ki,ger:Ti,ber:Ti,rol:Ii,sis:Ii,ogy:Ii,oid:Ii,ian:Ii,zes:Ai,eld:Ni,ken:Vi,ven:Vi,ten:Vi,ect:Pi,ict:Pi,ign:Pi,oze:Pi,ful:ki,bal:ki,ton:Ti},{amed:Ni,aped:Ni,ched:Ni,lked:Ni,rked:Ni,reed:Ni,nded:Ni,mned:ki,cted:Ni,dged:Ni,ield:Ii,akis:Ci,cede:Pi,chuk:Ci,czyk:Ci,ects:Ai,iend:Ii,ends:Di,enko:Ci,ette:Ii,iary:Ii,wner:Ii,fies:Ai,fore:ji,gate:Pi,gone:ki,ices:Ei,ints:Ei,ruct:Pi,ines:Ei,ions:Ei,ners:Ei,pers:Ei,lers:Ei,less:ki,llen:ki,made:ki,nsen:Ci,oses:Ai,ould:Oi,some:ki,sson:Ci,ians:Ei,tion:Ii,tage:Ti,ique:Ii,tive:ki,tors:Ti,vice:Ii,lier:Ii,fier:Ii,wned:Ni,gent:Ii,tist:xi,pist:xi,rist:xi,mist:xi,yist:xi,vist:xi,ists:xi,lite:Ii,site:Ii,rite:Ii,mite:Ii,bite:Ii,mate:Ii,date:Ii,ndal:Ii,vent:Ii,uist:xi,gist:xi,note:Ii,cide:Ii,ence:Ii,wide:ki,vide:Pi,ract:Pi,duce:Pi,pose:Pi,eive:Pi,lyze:Pi,lyse:Pi,iant:ki,nary:ki,ghty:ki,uent:ki,erer:xi,bury:Fi,dorf:Ti,esty:Ti,wych:Fi,dale:Fi,folk:Fi},{elist:xi,holic:Ii,phite:Ii,tized:Ni,urned:Ni,eased:Ni,ances:Ei,bound:ki,ettes:Ei,fully:ji,ishes:Ai,ities:Ei,marek:Ci,nssen:Ci,ology:Ti,osome:Ii,tment:Ii,ports:Ei,rough:ki,tches:Ai,tieth:"Ordinal",tures:Ei,wards:ji,where:ji,archy:Ti,pathy:Ti,opoly:Ti,embly:Ti,phate:Ti,ndent:Ii,scent:Ii,onist:xi,anist:xi,alist:xi,olist:xi,icist:xi,ounce:Pi,iable:ki,borne:ki,gnant:ki,inant:ki,igent:ki,atory:ki,rient:Ii,dient:Ii,maker:xi,burgh:Fi,mouth:Fi,ceter:Fi,ville:Fi,worth:Ti},{auskas:Ci,parent:Ii,cedent:Ii,ionary:Ii,cklist:Ii,keeper:xi,logist:xi,teenth:"Value",worker:xi,master:xi,writer:xi,brough:Fi,cester:Fi},{logists:xi,opoulos:Ci,borough:Fi,sdottir:Ci}];const zi="Adjective",Li="Noun",$i="Verb";var Si=[null,null,{},{neo:Li,bio:Li,"de-":$i,"re-":$i,"un-":$i,"ex-":Li},{anti:Li,auto:Li,faux:zi,hexa:Li,kilo:Li,mono:Li,nano:Li,octa:Li,poly:Li,semi:zi,tele:Li,"pro-":zi,"mis-":$i,"dis-":$i,"pre-":zi},{anglo:Li,centi:Li,ethno:Li,ferro:Li,grand:Li,hepta:Li,hydro:Li,intro:Li,macro:Li,micro:Li,milli:Li,nitro:Li,penta:Li,quasi:zi,radio:Li,tetra:Li,"omni-":zi,"post-":zi},{pseudo:zi,"extra-":zi,"hyper-":zi,"inter-":zi,"intra-":zi,"deca-":zi},{electro:Li}];const Mi="Adjective",Bi="Infinitive",Hi="PresentTense",Ji="Singular",Wi="PastTense",Ki="Adverb",qi="Expression",Ui="Actor",Qi="Verb",Ri="Noun",_i="LastName";var Xi={a:[[/.[aeiou]na$/,Ri,"tuna"],[/.[oau][wvl]ska$/,_i],[/.[^aeiou]ica$/,Ji,"harmonica"],[/^([hyj]a+)+$/,qi,"haha"]],c:[[/.[^aeiou]ic$/,Mi]],d:[[/[aeiou](pp|ll|ss|ff|gg|tt|rr|bb|nn|mm)ed$/,Wi,"popped"],[/.[aeo]{2}[bdgmnprvz]ed$/,Wi,"rammed"],[/.[aeiou][sg]hed$/,Wi,"gushed"],[/.[aeiou]red$/,Wi,"hired"],[/.[aeiou]r?ried$/,Wi,"hurried"],[/[^aeiou]ard$/,Ji,"steward"],[/[aeiou][^aeiou]id$/,Mi,""],[/.[vrl]id$/,Mi,"livid"],[/..led$/,Wi,"hurled"],[/.[iao]sed$/,Wi,""],[/[aeiou]n?[cs]ed$/,Wi,""],[/[aeiou][rl]?[mnf]ed$/,Wi,""],[/[aeiou][ns]?c?ked$/,Wi,"bunked"],[/[aeiou]gned$/,Wi],[/[aeiou][nl]?ged$/,Wi],[/.[tdbwxyz]ed$/,Wi],[/[^aeiou][aeiou][tvx]ed$/,Wi],[/.[cdflmnprstv]ied$/,Wi,"emptied"]],e:[[/.[lnr]ize$/,Bi,"antagonize"],[/.[^aeiou]ise$/,Bi,"antagonise"],[/.[aeiou]te$/,Bi,"bite"],[/.[^aeiou][ai]ble$/,Mi,"fixable"],[/.[^aeiou]eable$/,Mi,"maleable"],[/.[ts]ive$/,Mi,"festive"],[/[a-z]-like$/,Mi,"woman-like"]],h:[[/.[^aeiouf]ish$/,Mi,"cornish"],[/.v[iy]ch$/,_i,"..ovich"],[/^ug?h+$/,qi,"ughh"],[/^uh[ -]?oh$/,qi,"uhoh"],[/[a-z]-ish$/,Mi,"cartoon-ish"]],i:[[/.[oau][wvl]ski$/,_i,"polish-male"]],k:[[/^(k){2}$/,qi,"kkkk"]],l:[[/.[gl]ial$/,Mi,"familial"],[/.[^aeiou]ful$/,Mi,"fitful"],[/.[nrtumcd]al$/,Mi,"natal"],[/.[^aeiou][ei]al$/,Mi,"familial"]],m:[[/.[^aeiou]ium$/,Ji,"magnesium"],[/[^aeiou]ism$/,Ji,"schism"],[/^[hu]m+$/,qi,"hmm"],[/^\d+ ?[ap]m$/,"Date","3am"]],n:[[/.[lsrnpb]ian$/,Mi,"republican"],[/[^aeiou]ician$/,Ui,"musician"],[/[aeiou][ktrp]in'$/,"Gerund","cookin'"]],o:[[/^no+$/,qi,"noooo"],[/^(yo)+$/,qi,"yoo"],[/^wo{2,}[pt]?$/,qi,"woop"]],r:[[/.[bdfklmst]ler$/,"Noun"],[/[aeiou][pns]er$/,Ji],[/[^i]fer$/,Bi],[/.[^aeiou][ao]pher$/,Ui],[/.[lk]er$/,"Noun"],[/.ier$/,"Comparative"]],t:[[/.[di]est$/,"Superlative"],[/.[icldtgrv]ent$/,Mi],[/[aeiou].*ist$/,Mi],[/^[a-z]et$/,Qi]],s:[[/.[^aeiou]ises$/,Hi],[/.[rln]ates$/,Hi],[/.[^z]ens$/,Qi],[/.[lstrn]us$/,Ji],[/.[aeiou]sks$/,Hi],[/.[aeiou]kes$/,Hi],[/[aeiou][^aeiou]is$/,Ji],[/[a-z]'s$/,Ri],[/^yes+$/,qi]],v:[[/.[^aeiou][ai][kln]ov$/,_i]],y:[[/.[cts]hy$/,Mi],[/.[st]ty$/,Mi],[/.[tnl]ary$/,Mi],[/.[oe]ry$/,Ji],[/[rdntkbhs]ly$/,Ki],[/.(gg|bb|zz)ly$/,Mi],[/...lly$/,Ki],[/.[gk]y$/,Mi],[/[bszmp]{2}y$/,Mi],[/.[ai]my$/,Mi],[/[ea]{2}zy$/,Mi],[/.[^aeiou]ity$/,Ji]]};const Zi="Verb",Yi="Noun";var es={leftTags:[["Adjective",Yi],["Possessive",Yi],["Determiner",Yi],["Adverb",Zi],["Pronoun",Zi],["Value",Yi],["Ordinal",Yi],["Modal",Zi],["Superlative",Yi],["Demonym",Yi],["Honorific","Person"]],leftWords:[["i",Zi],["first",Yi],["it",Zi],["there",Zi],["not",Zi],["because",Yi],["if",Yi],["but",Yi],["who",Zi],["this",Yi],["his",Yi],["when",Yi],["you",Zi],["very","Adjective"],["old",Yi],["never",Zi],["before",Yi],["a",Yi],["the",Yi],["been",Zi]],rightTags:[["Copula",Yi],["PastTense",Yi],["Conjunction",Yi],["Modal",Yi]],rightWords:[["there",Zi],["me",Zi],["man","Adjective"],["him",Zi],["it",Zi],["were",Yi],["took",Yi],["himself",Zi],["went",Yi],["who",Yi],["jr","Person"]]},ts={fwd:"3:ser,ier¦1er:h,t,f,l,n¦1r:e¦2er:ss,or,om",both:"3er:ver,ear,alm¦3ner:hin¦3ter:lat¦2mer:im¦2er:ng,rm,mb¦2ber:ib¦2ger:ig¦1er:w,p,k,d¦ier:y",rev:"1:tter,yer¦2:uer,ver,ffer,oner,eler,ller,iler,ster,cer,uler,sher,ener,gher,aner,adder,nter,eter,rter,hter,rner,fter¦3:oser,ooler,eafer,user,airer,bler,maler,tler,eater,uger,rger,ainer,urer,ealer,icher,pler,emner,icter,nser,iser¦4:arser,viner,ucher,rosser,somer,ndomer,moter,oother,uarer,hiter¦5:nuiner,esser,emier¦ar:urther",ex:"worse:bad¦better:good¦4er:fair,gray,poor¦1urther:far¦3ter:fat,hot,wet¦3er:lay,shy,fun¦3der:mad,sad¦4der:glad¦:¦4r:cute,dire,fake,fine,free,lame,late,pale,rare,ripe,rude,safe,sore,tame,wide¦5r:eerie,stale"},ns={fwd:"1:nning,tting,rring,pping,eing,mming,gging,dding,bbing,kking¦2:eking,oling,eling,eming¦3:velling,siting,uiting,fiting,loting,geting,ialing,celling¦4:graming",both:"1:aing,iing,fing,xing,ying,oing,hing,wing¦2:tzing,rping,izzing,bting,mning,sping,wling,rling,wding,rbing,uping,lming,wning,mping,oning,lting,mbing,lking,fting,hting,sking,gning,pting,cking,ening,nking,iling,eping,ering,rting,rming,cting,lping,ssing,nting,nding,lding,sting,rning,rding,rking¦3:belling,siping,toming,yaking,uaking,oaning,auling,ooping,aiding,naping,euring,tolling,uzzing,ganing,haning,ualing,halling,iasing,auding,ieting,ceting,ouling,voring,ralling,garing,joring,oaming,oaking,roring,nelling,ooring,uelling,eaming,ooding,eaping,eeting,ooting,ooming,xiting,keting,ooking,ulling,airing,oaring,biting,outing,oiting,earing,naling,oading,eeding,ouring,eaking,aiming,illing,oining,eaning,onging,ealing,aining,eading¦4:thoming,melling,aboring,ivoting,weating,dfilling,onoring,eriting,imiting,tialling,rgining,otoring,linging,winging,lleting,louding,spelling,mpelling,heating,feating,opelling,choring,welling,ymaking,ctoring,calling,peating,iloring,laiting,utoring,uditing,mmaking,loating,iciting,waiting,mbating,voiding,otalling,nsoring,nselling,ocusing,itoring,eloping¦5:rselling,umpeting,atrolling,treating,tselling,rpreting,pringing,ummeting,ossoming,elmaking,eselling,rediting,totyping,onmaking,rfeiting,ntrolling¦5e:chmaking,dkeeping,severing,erouting,ecreting,ephoning,uthoring,ravening,reathing,pediting,erfering,eotyping,fringing,entoring,ombining,ompeting¦4e:emaking,eething,twining,rruling,chuting,xciting,rseding,scoping,edoring,pinging,lunging,agining,craping,pleting,eleting,nciting,nfining,ncoding,tponing,ecoding,writing,esaling,nvening,gnoring,evoting,mpeding,rvening,dhering,mpiling,storing,nviting,ploring¦3e:tining,nuring,saking,miring,haling,ceding,xuding,rining,nuting,laring,caring,miling,riding,hoking,piring,lading,curing,uading,noting,taping,futing,paring,hading,loding,siring,guring,vading,voking,during,niting,laning,caping,luting,muting,ruding,ciding,juring,laming,caling,hining,uoting,liding,ciling,duling,tuting,puting,cuting,coring,uiding,tiring,turing,siding,rading,enging,haping,buting,lining,taking,anging,haring,uiring,coming,mining,moting,suring,viding,luding¦2e:tring,zling,uging,oging,gling,iging,vring,fling,lging,obing,psing,pling,ubing,cling,dling,wsing,iking,rsing,dging,kling,ysing,tling,rging,eging,nsing,uning,osing,uming,using,ibing,bling,aging,ising,asing,ating¦2ie:rlying¦1e:zing,uing,cing,ving",rev:"ying:ie¦1ing:se,ke,te,we,ne,re,de,pe,me,le,c,he¦2ing:ll,ng,dd,ee,ye,oe,rg,us¦2ning:un¦2ging:og,ag,ug,ig,eg¦2ming:um¦2bing:ub,ab,eb,ob¦3ning:lan,can,hin,pin,win¦3ring:cur,lur,tir,tar,pur,car¦3ing:ait,del,eel,fin,eat,oat,eem,lel,ool,ein,uin¦3ping:rop,rap,top,uip,wap,hip,hop,lap,rip,cap¦3ming:tem,wim,rim,kim,lim¦3ting:mat,cut,pot,lit,lot,hat,set,pit,put¦3ding:hed,bed,bid¦3king:rek¦3ling:cil,pel¦3bing:rib¦4ning:egin¦4ing:isit,ruit,ilot,nsit,dget,rkel,ival,rcel¦4ring:efer,nfer¦4ting:rmit,mmit,ysit,dmit,emit,bmit,tfit,gret¦4ling:evel,xcel,ivel¦4ding:hred¦5ing:arget,posit,rofit¦5ring:nsfer¦5ting:nsmit,orget,cquit¦5ling:ancel,istil",ex:"3:adding,eating,aiming,aiding,airing,outing,gassing,setting,getting,putting,cutting,winning,sitting,betting,mapping,tapping,letting,bidding,hitting,tanning,netting,popping,fitting,capping,lapping,barring,banning,vetting,topping,rotting,tipping,potting,wetting,pitting,dipping,budding,hemming,pinning,jetting,kidding,padding,podding,sipping,wedding,bedding,donning,warring,penning,gutting,cueing,wadding,petting,ripping,napping,matting,tinning,binning,dimming,hopping,mopping,nodding,panning,rapping,ridding,sinning¦4:selling,falling,calling,waiting,editing,telling,rolling,heating,boating,hanging,beating,coating,singing,tolling,felling,polling,discing,seating,voiding,gelling,yelling,baiting,reining,ruining,seeking,spanning,stepping,knitting,emitting,slipping,quitting,dialing,omitting,clipping,shutting,skinning,abutting,flipping,trotting,cramming,fretting,suiting¦5:bringing,treating,spelling,stalling,trolling,expelling,rivaling,wringing,deterring,singeing,befitting,refitting¦6:enrolling,distilling,scrolling,strolling,caucusing,travelling¦7:installing,redefining,stencilling,recharging,overeating,benefiting,unraveling,programing¦9:reprogramming¦is:being¦2e:using,aging,owing¦3e:making,taking,coming,noting,hiring,filing,coding,citing,doping,baking,coping,hoping,lading,caring,naming,voting,riding,mining,curing,lining,ruling,typing,boring,dining,firing,hiding,piling,taping,waning,baling,boning,faring,honing,wiping,luring,timing,wading,piping,fading,biting,zoning,daring,waking,gaming,raking,ceding,tiring,coking,wining,joking,paring,gaping,poking,pining,coring,liming,toting,roping,wiring,aching¦4e:writing,storing,eroding,framing,smoking,tasting,wasting,phoning,shaking,abiding,braking,flaking,pasting,priming,shoring,sloping,withing,hinging¦5e:defining,refining,renaming,swathing,fringing,reciting¦1ie:dying,tying,lying,vying¦7e:sunbathing"},rs={fwd:"1:mt¦2:llen¦3:iven,aken¦:ne¦y:in",both:"1:wn¦2:me,aten¦3:seen,bidden,isen¦4:roven,asten¦3l:pilt¦3d:uilt¦2e:itten¦1im:wum¦1eak:poken¦1ine:hone¦1ose:osen¦1in:gun¦1ake:woken¦ear:orn¦eal:olen¦eeze:ozen¦et:otten¦ink:unk¦ing:ung",rev:"2:un¦oken:eak¦ought:eek¦oven:eave¦1ne:o¦1own:ly¦1den:de¦1in:ay¦2t:am¦2n:ee¦3en:all¦4n:rive,sake,take¦5n:rgive",ex:"2:been¦3:seen,run¦4:given,taken¦5:shaken¦2eak:broken¦1ive:dove¦2y:flown¦3e:hidden,ridden¦1eek:sought¦1ake:woken¦1eave:woven"},as={fwd:"1:oes¦1ve:as",both:"1:xes¦2:zzes,ches,shes,sses¦3:iases¦2y:llies,plies¦1y:cies,bies,ties,vies,nies,pies,dies,ries,fies¦:s",rev:"1ies:ly¦2es:us,go,do¦3es:cho,eto",ex:"2:does,goes¦3:gasses¦5:focuses¦is:are¦3y:relies¦2y:flies¦2ve:has"},os={fwd:"1st:e¦1est:l,m,f,s¦1iest:cey¦2est:or,ir¦3est:ver",both:"4:east¦5:hwest¦5lest:erful¦4est:weet,lgar,tter,oung¦4most:uter¦3est:ger,der,rey,iet,ong,ear¦3test:lat¦3most:ner¦2est:pt,ft,nt,ct,rt,ht¦2test:it¦2gest:ig¦1est:b,k,n,p,h,d,w¦iest:y",rev:"1:ttest,nnest,yest¦2:sest,stest,rmest,cest,vest,lmest,olest,ilest,ulest,ssest,imest,uest¦3:rgest,eatest,oorest,plest,allest,urest,iefest,uelest,blest,ugest,amest,yalest,ealest,illest,tlest,itest¦4:cerest,eriest,somest,rmalest,ndomest,motest,uarest,tiffest¦5:leverest,rangest¦ar:urthest¦3ey:riciest",ex:"best:good¦worst:bad¦5est:great¦4est:fast,full,fair,dull¦3test:hot,wet,fat¦4nest:thin¦1urthest:far¦3est:gay,shy,ill¦4test:neat¦4st:late,wide,fine,safe,cute,fake,pale,rare,rude,sore,ripe,dire¦6st:severe"},is={fwd:"1:tistic,eable,lful,sful,ting,tty¦2:onate,rtable,geous,ced,seful,ctful¦3:ortive,ented¦arity:ear¦y:etic¦fulness:begone¦1ity:re¦1y:tiful,gic¦2ity:ile,imous,ilous,ime¦2ion:ated¦2eness:iving¦2y:trious¦2ation:iring¦2tion:vant¦3ion:ect¦3ce:mant,mantic¦3tion:irable¦3y:est,estic¦3m:mistic,listic¦3ess:ning¦4n:utious¦4on:rative,native,vative,ective¦4ce:erant",both:"1:king,wing¦2:alous,ltuous,oyful,rdous¦3:gorous,ectable,werful,amatic¦4:oised,usical,agical,raceful,ocused,lined,ightful¦5ness:stful,lding,itous,nuous,ulous,otous,nable,gious,ayful,rvous,ntous,lsive,peful,entle,ciful,osive,leful,isive,ncise,reful,mious¦5ty:ivacious¦5ties:ubtle¦5ce:ilient,adiant,atient¦5cy:icient¦5sm:gmatic¦5on:sessive,dictive¦5ity:pular,sonal,eative,entic¦5sity:uminous¦5ism:conic¦5nce:mperate¦5ility:mitable¦5ment:xcited¦5n:bitious¦4cy:brant,etent,curate¦4ility:erable,acable,icable,ptable¦4ty:nacious,aive,oyal,dacious¦4n:icious¦4ce:vient,erent,stent,ndent,dient,quent,ident¦4ness:adic,ound,hing,pant,sant,oing,oist,tute¦4icity:imple¦4ment:fined,mused¦4ism:otic¦4ry:dantic¦4ity:tund,eral¦4edness:hand¦4on:uitive¦4lity:pitable¦4sm:eroic,namic¦4sity:nerous¦3th:arm¦3ility:pable,bable,dable,iable¦3cy:hant,nant,icate¦3ness:red,hin,nse,ict,iet,ite,oud,ind,ied,rce¦3ion:lute¦3ity:ual,gal,volous,ial¦3ce:sent,fensive,lant,gant,gent,lent,dant¦3on:asive¦3m:fist,sistic,iastic¦3y:terious,xurious,ronic,tastic¦3ur:amorous¦3e:tunate¦3ation:mined¦3sy:rteous¦3ty:ain¦3ry:ave¦3ment:azed¦2ness:de,on,ue,rn,ur,ft,rp,pe,om,ge,rd,od,ay,ss,er,ll,oy,ap,ht,ld,ad,rt¦2inousness:umous¦2ity:neous,ene,id,ane¦2cy:bate,late¦2ation:ized¦2ility:oble,ible¦2y:odic¦2e:oving,aring¦2s:ost¦2itude:pt¦2dom:ee¦2ance:uring¦2tion:reet¦2ion:oted¦2sion:ending¦2liness:an¦2or:rdent¦1th:ung¦1e:uable¦1ness:w,h,k,f¦1ility:mble¦1or:vent¦1ement:ging¦1tiquity:ncient¦1ment:hed¦verty:or¦ength:ong¦eat:ot¦pth:ep¦iness:y",rev:"",ex:"5:forceful,humorous¦8:charismatic¦13:understanding¦5ity:active¦11ness:adventurous,inquisitive,resourceful¦8on:aggressive,automatic,perceptive¦7ness:amorous,fatuous,furtive,ominous,serious¦5ness:ample,sweet¦12ness:apprehensive,cantankerous,contemptuous,ostentatious¦13ness:argumentative,conscientious¦9ness:assertive,facetious,imperious,inventive,oblivious,rapacious,receptive,seditious,whimsical¦10ness:attractive,expressive,impressive,loquacious,salubrious,thoughtful¦3edom:boring¦4ness:calm,fast,keen,tame¦8ness:cheerful,gracious,specious,spurious,timorous,unctuous¦5sity:curious¦9ion:deliberate¦8ion:desperate¦6e:expensive¦7ce:fragrant¦3y:furious¦9ility:ineluctable¦6ism:mystical¦8ity:physical,proactive,sensitive,vertical¦5cy:pliant¦7ity:positive¦9ity:practical¦12ism:professional¦6ce:prudent¦3ness:red¦6cy:vagrant¦3dom:wise"},ss=function(e="",t={}){let n=function(e,t={}){return t.hasOwnProperty(e)?t[e]:null}(e,t.ex);return n=n||function(e,t=[]){for(let n=0;n=1;r-=1){let a=e.length-r,o=e.substring(a,e.length);if(!0===t.hasOwnProperty(o))return e.slice(0,a)+t[o];if(!0===n.hasOwnProperty(o))return e.slice(0,a)+n[o]}return t.hasOwnProperty("")?e+t[""]:n.hasOwnProperty("")?e+n[""]:null}(e,t.fwd,t.both),n=n||e,n};const ls=function(e){return Object.entries(e).reduce(((e,t)=>(e[t[1]]=t[0],e)),{})};var us=function(e={}){return{reversed:!0,both:ls(e.both),ex:ls(e.ex),fwd:e.rev||{}}};const cs=/^([0-9]+)/,hs=function(e){let t=function(e){let t={};return e.split("¦").forEach((e=>{let[n,r]=e.split(":");r=(r||"").split(","),r.forEach((e=>{t[e]=n}))})),t}(e);return Object.keys(t).reduce(((e,n)=>(e[n]=function(e="",t=""){let n=(t=String(t)).match(cs);if(null===n)return t;let r=Number(n[1])||0;return e.substring(0,r)+t.replace(cs,"")}(n,t[n]),e)),{})};var ds=function(e={}){return"string"==typeof e&&(e=JSON.parse(e)),e.fwd=hs(e.fwd||""),e.both=hs(e.both||""),e.rev=hs(e.rev||""),e.ex=hs(e.ex||""),e};const gs=ds({fwd:"1:tted,wed,gged,nned,een,rred,pped,yed,bbed,oed,dded,rd,wn,mmed¦2:eed,nded,et,hted,st,oled,ut,emed,eled,lded,ken,rt,nked,apt,ant,eped,eked¦3:eared,eat,eaded,nelled,ealt,eeded,ooted,eaked,eaned,eeted,mited,bid,uit,ead,uited,ealed,geted,velled,ialed,belled¦4:ebuted,hined,comed¦y:ied¦ome:ame¦ear:ore¦ind:ound¦ing:ung,ang¦ep:pt¦ink:ank,unk¦ig:ug¦all:ell¦ee:aw¦ive:ave¦eeze:oze¦old:eld¦ave:ft¦ake:ook¦ell:old¦ite:ote¦ide:ode¦ine:one¦in:un,on¦eal:ole¦im:am¦ie:ay¦and:ood¦1ise:rose¦1eak:roke¦1ing:rought¦1ive:rove¦1el:elt¦1id:bade¦1et:got¦1y:aid¦1it:sat¦3e:lid¦3d:pent",both:"1:aed,fed,xed,hed¦2:sged,xted,wled,rped,lked,kied,lmed,lped,uped,bted,rbed,rked,wned,rled,mped,fted,mned,mbed,zzed,omed,ened,cked,gned,lted,sked,ued,zed,nted,ered,rted,rmed,ced,sted,rned,ssed,rded,pted,ved,cted¦3:cled,eined,siped,ooned,uked,ymed,jored,ouded,ioted,oaned,lged,asped,iged,mured,oided,eiled,yped,taled,moned,yled,lit,kled,oaked,gled,naled,fled,uined,oared,valled,koned,soned,aided,obed,ibed,meted,nicked,rored,micked,keted,vred,ooped,oaded,rited,aired,auled,filled,ouled,ooded,ceted,tolled,oited,bited,aped,tled,vored,dled,eamed,nsed,rsed,sited,owded,pled,sored,rged,osed,pelled,oured,psed,oated,loned,aimed,illed,eured,tred,ioned,celled,bled,wsed,ooked,oiled,itzed,iked,iased,onged,ased,ailed,uned,umed,ained,auded,nulled,ysed,eged,ised,aged,oined,ated,used,dged,doned¦4:ntied,efited,uaked,caded,fired,roped,halled,roked,himed,culed,tared,lared,tuted,uared,routed,pited,naked,miled,houted,helled,hared,cored,caled,tired,peated,futed,ciled,called,tined,moted,filed,sided,poned,iloted,honed,lleted,huted,ruled,cured,named,preted,vaded,sured,talled,haled,peded,gined,nited,uided,ramed,feited,laked,gured,ctored,unged,pired,cuted,voked,eloped,ralled,rined,coded,icited,vided,uaded,voted,mined,sired,noted,lined,nselled,luted,jured,fided,puted,piled,pared,olored,cided,hoked,enged,tured,geoned,cotted,lamed,uiled,waited,udited,anged,luded,mired,uired,raded¦5:modelled,izzled,eleted,umpeted,ailored,rseded,treated,eduled,ecited,rammed,eceded,atrolled,nitored,basted,twined,itialled,ncited,gnored,ploded,xcited,nrolled,namelled,plored,efeated,redited,ntrolled,nfined,pleted,llided,lcined,eathed,ibuted,lloted,dhered,cceded¦3ad:sled¦2aw:drew¦2ot:hot¦2ke:made¦2ow:hrew,grew¦2ose:hose¦2d:ilt¦2in:egan¦1un:ran¦1ink:hought¦1ick:tuck¦1ike:ruck¦1eak:poke,nuck¦1it:pat¦1o:did¦1ow:new¦1ake:woke¦go:went",rev:"3:rst,hed,hut,cut,set¦4:tbid¦5:dcast,eread,pread,erbid¦ought:uy,eek¦1ied:ny,ly,dy,ry,fy,py,vy,by,ty,cy¦1ung:ling,ting,wing¦1pt:eep¦1ank:rink¦1ore:bear,wear¦1ave:give¦1oze:reeze¦1ound:rind,wind¦1ook:take,hake¦1aw:see¦1old:sell¦1ote:rite¦1ole:teal¦1unk:tink¦1am:wim¦1ay:lie¦1ood:tand¦1eld:hold¦2d:he,ge,re,le,leed,ne,reed,be,ye,lee,pe,we¦2ed:dd,oy,or,ey,gg,rr,us,ew,to¦2ame:ecome,rcome¦2ped:ap¦2ged:ag,og,ug,eg¦2bed:ub,ab,ib,ob¦2lt:neel¦2id:pay¦2ang:pring¦2ove:trive¦2med:um¦2ode:rride¦2at:ysit¦3ted:mit,hat,mat,lat,pot,rot,bat¦3ed:low,end,tow,und,ond,eem,lay,cho,dow,xit,eld,ald,uld,law,lel,eat,oll,ray,ank,fin,oam,out,how,iek,tay,haw,ait,vet,say,cay,bow¦3d:ste,ede,ode,ete,ree,ude,ame,oke,ote,ime,ute,ade¦3red:lur,cur,pur,car¦3ped:hop,rop,uip,rip,lip,tep,top¦3ded:bed,rod,kid¦3ade:orbid¦3led:uel¦3ned:lan,can,kin,pan,tun¦3med:rim,lim¦4ted:quit,llot¦4ed:pear,rrow,rand,lean,mand,anel,pand,reet,link,abel,evel,imit,ceed,ruit,mind,peal,veal,hool,head,pell,well,mell,uell,band,hear,weak¦4led:nnel,qual,ebel,ivel¦4red:nfer,efer,sfer¦4n:sake,trew¦4d:ntee¦4ded:hred¦4ned:rpin¦5ed:light,nceal,right,ndear,arget,hread,eight,rtial,eboot¦5d:edite,nvite¦5ted:egret¦5led:ravel",ex:"2:been,upped¦3:added,aged,aided,aimed,aired,bid,died,dyed,egged,erred,eyed,fit,gassed,hit,lied,owed,pent,pied,tied,used,vied,oiled,outed,banned,barred,bet,canned,cut,dipped,donned,ended,feed,inked,jarred,let,manned,mowed,netted,padded,panned,pitted,popped,potted,put,set,sewn,sowed,tanned,tipped,topped,vowed,weed,bowed,jammed,binned,dimmed,hopped,mopped,nodded,pinned,rigged,sinned,towed,vetted¦4:ached,baked,baled,boned,bored,called,caned,cared,ceded,cited,coded,cored,cubed,cured,dared,dined,edited,exited,faked,fared,filed,fined,fired,fuelled,gamed,gelled,hired,hoped,joked,lined,mined,named,noted,piled,poked,polled,pored,pulled,reaped,roamed,rolled,ruled,seated,shed,sided,timed,tolled,toned,voted,waited,walled,waned,winged,wiped,wired,zoned,yelled,tamed,lubed,roped,faded,mired,caked,honed,banged,culled,heated,raked,welled,banded,beat,cast,cooled,cost,dealt,feared,folded,footed,handed,headed,heard,hurt,knitted,landed,leaked,leapt,linked,meant,minded,molded,neared,needed,peaked,plodded,plotted,pooled,quit,read,rooted,sealed,seeded,seeped,shipped,shunned,skimmed,slammed,sparred,stemmed,stirred,suited,thinned,twinned,swayed,winked,dialed,abutted,blotted,fretted,healed,heeded,peeled,reeled¦5:basted,cheated,equalled,eroded,exiled,focused,opined,pleated,primed,quoted,scouted,shored,sloped,smoked,sniped,spelled,spouted,routed,staked,stored,swelled,tasted,treated,wasted,smelled,dwelled,honored,prided,quelled,eloped,scared,coveted,sweated,breaded,cleared,debuted,deterred,freaked,modeled,pleaded,rebutted,speeded¦6:anchored,defined,endured,impaled,invited,refined,revered,strolled,cringed,recast,thrust,unfolded¦7:authored,combined,competed,conceded,convened,excreted,extruded,redefined,restored,secreted,rescinded,welcomed¦8:expedited,infringed¦9:interfered,intervened,persevered¦10:contravened¦eat:ate¦is:was¦go:went¦are:were¦3d:bent,lent,rent,sent¦3e:bit,fled,hid,lost¦3ed:bled,bred¦2ow:blew,grew¦1uy:bought¦2tch:caught¦1o:did¦1ive:dove,gave¦2aw:drew¦2ed:fed¦2y:flew,laid,paid,said¦1ight:fought¦1et:got¦2ve:had¦1ang:hung¦2ad:led¦2ght:lit¦2ke:made¦2et:met¦1un:ran¦1ise:rose¦1it:sat¦1eek:sought¦1each:taught¦1ake:woke,took¦1eave:wove¦2ise:arose¦1ear:bore,tore,wore¦1ind:bound,found,wound¦2eak:broke¦2ing:brought,wrung¦1ome:came¦2ive:drove¦1ig:dug¦1all:fell¦2el:felt¦4et:forgot¦1old:held¦2ave:left¦1ing:rang,sang¦1ide:rode¦1ink:sank¦1ee:saw¦2ine:shone¦4e:slid¦1ell:sold,told¦4d:spent¦2in:spun¦1in:won"}),ms=ds(as),ps=ds(ns),fs=ds(rs),vs=us(gs),bs=us(ms),ys=us(ps),ws=us(fs),ks=ds(ts),Ps=ds(os);var As={fromPast:gs,fromPresent:ms,fromGerund:ps,fromParticiple:fs,toPast:vs,toPresent:bs,toGerund:ys,toParticiple:ws,toComparative:ks,toSuperlative:Ps,fromComparative:us(ks),fromSuperlative:us(Ps),adjToNoun:ds(is)},Is=["academy","administration","agence","agences","agencies","agency","airlines","airways","army","assoc","associates","association","assurance","authority","autorite","aviation","bank","banque","board","boys","brands","brewery","brotherhood","brothers","bureau","cafe","co","caisse","capital","care","cathedral","center","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","corp","council","crew","data","departement","department","departments","design","development","directorate","division","drilling","education","eglise","electric","electricity","energy","ensemble","enterprise","enterprises","entertainment","estate","etat","faculty","federation","financial","fm","foundation","fund","gas","gazette","girls","government","group","guild","herald","holdings","hospital","hotel","hotels","inc","industries","institut","institute","institutes","insurance","international","interstate","investment","investments","investors","journal","laboratory","labs","llc","ltd","limited","machines","magazine","management","marine","marketing","markets","media","memorial","ministere","ministry","military","mobile","motor","motors","musee","museum","news","observatory","office","oil","optical","orchestra","organization","partners","partnership","petrol","petroleum","pharmacare","pharmaceutical","pharmaceuticals","pizza","plc","police","polytechnic","post","power","press","productions","quartet","radio","reserve","resources","restaurant","restaurants","savings","school","securities","service","services","societe","society","sons","subcommittee","syndicat","systems","telecommunications","telegraph","television","times","tribunal","tv","union","university","utilities","workers"].reduce(((e,t)=>(e[t]=!0,e)),{}),Ns=[[/([^v])ies$/i,"$1y"],[/(ise)s$/i,"$1"],[/(kn|[^o]l|w)ives$/i,"$1ife"],[/^((?:ca|e|ha|(?:our|them|your)?se|she|wo)l|lea|loa|shea|thie)ves$/i,"$1f"],[/^(dwar|handkerchie|hoo|scar|whar)ves$/i,"$1f"],[/(antenn|formul|nebul|vertebr|vit)ae$/i,"$1a"],[/(octop|vir|radi|nucle|fung|cact|stimul)(i)$/i,"$1us"],[/(buffal|tomat|tornad)(oes)$/i,"$1o"],[/(ause)s$/i,"$1"],[/(ease)s$/i,"$1"],[/(ious)es$/i,"$1"],[/(ouse)s$/i,"$1"],[/(ose)s$/i,"$1"],[/(..ase)s$/i,"$1"],[/(..[aeiu]s)es$/i,"$1"],[/(vert|ind|cort)(ices)$/i,"$1ex"],[/(matr|append)(ices)$/i,"$1ix"],[/([xo]|ch|ss|sh)es$/i,"$1"],[/men$/i,"man"],[/(n)ews$/i,"$1ews"],[/([ti])a$/i,"$1um"],[/([^aeiouy]|qu)ies$/i,"$1y"],[/(s)eries$/i,"$1eries"],[/(m)ovies$/i,"$1ovie"],[/(cris|ax|test)es$/i,"$1is"],[/(alias|status)es$/i,"$1"],[/(ss)$/i,"$1"],[/(ic)s$/i,"$1"],[/s$/i,""]],js=function(e,t){const{irregularPlurals:n}=t.two;let r=(a=n,Object.keys(a).reduce(((e,t)=>(e[a[t]]=t,e)),{}));var a;if(r.hasOwnProperty(e))return r[e];for(let t=0;t(xs[t].forEach((n=>e[n]=t)),e)),{});var Ds=xs,Ts=function(e){let t=e.substring(e.length-3);if(!0===Ds.hasOwnProperty(t))return Ds[t];let n=e.substring(e.length-2);return!0===Ds.hasOwnProperty(n)?Ds[n]:"s"===e.substring(e.length-1)?"PresentTense":null};const Cs={are:"be",were:"be",been:"be",is:"be",am:"be",was:"be",be:"be",being:"be"};var Os=function(e,t,n){const{fromPast:r,fromPresent:a,fromGerund:o,fromParticiple:i}=t.two.models;let{prefix:s,verb:l,particle:u}=function(e,t){let n="",r={};t.one&&t.one.prefixes&&(r=t.one.prefixes);let[a,o]=e.split(/ /);return o&&!0===r[a]&&(n=a,a=o,o=""),{prefix:n,verb:a,particle:o}}(e,t),c="";if(n||(n=Ts(e)),Cs.hasOwnProperty(e))c=Cs[e];else if("Participle"===n)c=ss(l,i);else if("PastTense"===n)c=ss(l,r);else if("PresentTense"===n)c=ss(l,a);else{if("Gerund"!==n)return e;c=ss(l,o)}return u&&(c+=" "+u),s&&(c=s+" "+c),c},Fs=function(e,t){const{toPast:n,toPresent:r,toGerund:a,toParticiple:o}=t.two.models;if("be"===e)return{Infinitive:e,Gerund:"being",PastTense:"was",PresentTense:"is"};let[i,s]=(e=>/ /.test(e)?e.split(/ /):[e,""])(e),l={Infinitive:i,PastTense:ss(i,n),PresentTense:ss(i,r),Gerund:ss(i,a),FutureTense:"will "+i},u=ss(i,o);if(u!==e&&u!==l.PastTense){let n=t.one.lexicon||{};"Participle"!==n[u]&&"Adjective"!==n[u]||("play"===e&&(u="played"),l.Participle=u)}return s&&Object.keys(l).forEach((e=>{l[e]+=" "+s})),l},Vs={toInfinitive:Os,conjugate:Fs,all:function(e,t){let n=Fs(e,t);return delete n.FutureTense,Object.values(n).filter((e=>e))}};const Gs=function(e,t){const n=t.two.models.toSuperlative;return ss(e,n)},zs=function(e,t){const n=t.two.models.toComparative;return ss(e,n)};var Ls=function(e="",t=[]){const n=e.length;for(let r=n<=6?n-1:6;r>=1;r-=1){let a=e.substring(n-r,e.length);if(!0===t[a.length].hasOwnProperty(a))return e.slice(0,n-r)+t[a.length][a]}return null};const $s="ically",Ss=new Set(["analyt"+$s,"chem"+$s,"class"+$s,"clin"+$s,"crit"+$s,"ecolog"+$s,"electr"+$s,"empir"+$s,"frant"+$s,"grammat"+$s,"ident"+$s,"ideolog"+$s,"log"+$s,"mag"+$s,"mathemat"+$s,"mechan"+$s,"med"+$s,"method"+$s,"method"+$s,"mus"+$s,"phys"+$s,"phys"+$s,"polit"+$s,"pract"+$s,"rad"+$s,"satir"+$s,"statist"+$s,"techn"+$s,"technolog"+$s,"theoret"+$s,"typ"+$s,"vert"+$s,"whims"+$s]),Ms=[null,{},{ly:""},{ily:"y",bly:"ble",ply:"ple"},{ally:"al",rply:"rp"},{ually:"ual",ially:"ial",cally:"cal",eally:"eal",rally:"ral",nally:"nal",mally:"mal",eeply:"eep",eaply:"eap"},{ically:"ic"}],Bs=new Set(["early","only","hourly","daily","weekly","monthly","yearly","mostly","duly","unduly","especially","undoubtedly","conversely","namely","exceedingly","presumably","accordingly","overly","best","latter","little","long","low"]),Hs={wholly:"whole",fully:"full",truly:"true",gently:"gentle",singly:"single",customarily:"customary",idly:"idle",publically:"public",quickly:"quick",superbly:"superb",cynically:"cynical",well:"good"},Js=[null,{y:"ily"},{ly:"ly",ic:"ically"},{ial:"ially",ual:"ually",tle:"tly",ble:"bly",ple:"ply",ary:"arily"},{},{},{}],Ws={cool:"cooly",whole:"wholly",full:"fully",good:"well",idle:"idly",public:"publicly",single:"singly",special:"especially"};var Ks=function(e){if(Ws.hasOwnProperty(e))return Ws[e];let t=Ls(e,Js);return t||(t=e+"ly"),t},qs={toSuperlative:Gs,toComparative:zs,toAdverb:Ks,toNoun:function(e,t){const n=t.two.models.adjToNoun;return ss(e,n)},fromAdverb:function(e){return e.endsWith("ly")?Ss.has(e)?e.replace(/ically/,"ical"):Bs.has(e)?null:Hs.hasOwnProperty(e)?Hs[e]:Ls(e,Ms)||e:null},fromSuperlative:function(e,t){const n=t.two.models.fromSuperlative;return ss(e,n)},fromComparative:function(e,t){const n=t.two.models.fromComparative;return ss(e,n)},all:function(e,t){let n=[e];return n.push(Gs(e,t)),n.push(zs(e,t)),n.push(Ks(e)),n=n.filter((e=>e)),n=new Set(n),Array.from(n)}},Us={noun:Es,verb:Vs,adjective:qs},Qs={Singular:(e,t,n,r)=>{let a=r.one.lexicon,o=n.two.transform.noun.toPlural(e,r);a[o]||(t[o]=t[o]||"Plural")},Actor:(e,t,n,r)=>{let a=r.one.lexicon,o=n.two.transform.noun.toPlural(e,r);a[o]||(t[o]=t[o]||["Plural","Actor"])},Comparable:(e,t,n,r)=>{let a=r.one.lexicon,{toSuperlative:o,toComparative:i}=n.two.transform.adjective,s=o(e,r);a[s]||(t[s]=t[s]||"Superlative");let l=i(e,r);a[l]||(t[l]=t[l]||"Comparative"),t[e]="Adjective"},Demonym:(e,t,n,r)=>{let a=n.two.transform.noun.toPlural(e,r);t[a]=t[a]||["Demonym","Plural"]},Infinitive:(e,t,n,r)=>{let a=r.one.lexicon,o=n.two.transform.verb.conjugate(e,r);Object.entries(o).forEach((e=>{a[e[1]]||t[e[1]]||(t[e[1]]=e[0])}))},PhrasalVerb:(e,t,n,r)=>{let a=r.one.lexicon;t[e]=["PhrasalVerb","Infinitive"];let o=r.one._multiCache,[i,s]=e.split(" ");a[i]||(t[i]=t[i]||"Infinitive");let l=n.two.transform.verb.conjugate(i,r);delete l.FutureTense,Object.entries(l).forEach((e=>{if("Actor"===e[0]||""===e[1])return;t[e[1]]||a[e[1]]||(t[e[1]]=e[0]),o[e[1]]=!0;let n=e[1]+" "+s;t[n]=t[n]||[e[0],"PhrasalVerb"]}))},Multiple:(e,t)=>{t[e]=["Multiple","Cardinal"],t[e+"th"]=["Multiple","Ordinal"],t[e+"ths"]=["Multiple","Fraction"]},Cardinal:(e,t)=>{t[e]=["TextValue","Cardinal"]},Ordinal:(e,t)=>{t[e]=["TextValue","Ordinal"],t[e+"s"]=["TextValue","Fraction"]},Place:(e,t)=>{t[e]=["Place","ProperNoun"]},Region:(e,t)=>{t[e]=["Region","ProperNoun"]}},Rs=function(e,t){const{methods:n,model:r}=t;let a={},o={};return Object.keys(e).forEach((t=>{let i=e[t],s=(t=(t=t.toLowerCase().trim()).replace(/'s\b/,"")).split(/ /);s.length>1&&(o[s[0]]=!0),!0===Qs.hasOwnProperty(i)&&Qs[i](t,a,n,r),a[t]=a[t]||i})),delete a[""],delete a.null,delete a[" "],{lex:a,_multi:o}},_s=function(e){const t=/[,:;]/;let n=[];return e.forEach((e=>{let r=0;e.forEach(((a,o)=>{t.test(a.post)&&function(e,t){const n=/^[0-9]+$/;let r=e[t];if(!r)return!1;const a=new Set(["may","april","august","jan"]);if("like"===r.normal||a.has(r.normal))return!1;if(r.tags.has("Place")||r.tags.has("Date"))return!1;if(e[t-1]){let n=e[t-1];if(n.tags.has("Date")||a.has(n.normal))return!1;if(n.tags.has("Adjective")||r.tags.has("Adjective"))return!1}let o=r.normal;return 1!==o.length&&2!==o.length&&4!==o.length||!n.test(o)}(e,o+1)&&(n.push(e.slice(r,o+1)),r=o+1)})),re.endsWith(t))):"s"===t&&!Ys.find((t=>e.endsWith(t)))},tl={two:{quickSplit:_s,expandLexicon:Rs,transform:Us,looksPlural:el}},nl=function(e){const{irregularPlurals:t}=e.two,{lexicon:n}=e.one;return Object.entries(t).forEach((e=>{n[e[0]]=n[e[0]]||"Singular",n[e[1]]=n[e[1]]||"Plural"})),e};let rl={one:{lexicon:{}},two:{models:As}};const al={"Actor|Verb":"Actor","Adj|Gerund":"Adjective","Adj|Noun":"Adjective","Adj|Past":"Adjective","Adj|Present":"Adjective","Noun|Verb":"Singular","Noun|Gerund":"Gerund","Person|Noun":"Noun","Person|Date":"Month","Person|Verb":"FirstName","Person|Place":"Person","Person|Adj":"Comparative","Plural|Verb":"Plural","Unit|Noun":"Noun"},ol=function(e,t){const n={model:t,methods:tl};let{lex:r,_multi:a}=tl.two.expandLexicon(e,n);return Object.assign(t.one.lexicon,r),Object.assign(t.one._multiCache,a),t},il=function(e,t,n){let r=Fs(e,rl);t[r.PastTense]=t[r.PastTense]||"PastTense",t[r.Gerund]=t[r.Gerund]||"Gerund",!0===n&&(t[r.PresentTense]=t[r.PresentTense]||"PresentTense")},sl=function(e,t,n){let r=Gs(e,n);t[r]=t[r]||"Superlative";let a=zs(e,n);t[a]=t[a]||"Comparative"},ll=function(e,t){let n={};const r=t.one.lexicon;return Object.keys(e).forEach((a=>{const o=e[a];if(n[a]=al[o],"Noun|Verb"!==o&&"Person|Verb"!==o&&"Actor|Verb"!==o||il(a,r,!1),"Adj|Present"===o&&(il(a,r,!0),sl(a,r,t)),"Person|Adj"===o&&sl(a,r,t),"Adj|Gerund"===o||"Noun|Gerund"===o){let e=Os(a,rl,"Gerund");r[e]||(n[e]="Infinitive")}if("Noun|Gerund"!==o&&"Adj|Noun"!==o&&"Person|Noun"!==o||function(e,t,n){let r=Vo(e,n);t[r]=t[r]||"Plural"}(a,r,t),"Adj|Past"===o){let e=Os(a,rl,"PastTense");r[e]||(n[e]="Infinitive")}})),t=ol(n,t)};var ul=function(e){return e=function(e,t){return Object.keys(e).forEach((n=>{"Uncountable"===e[n]&&(t.two.uncountable[n]=!0,e[n]="Uncountable")})),t}((e=ol(e.one.lexicon,e)).one.lexicon,e),e=ll(e.two.switches,e),e=nl(e)};let cl={one:{_multiCache:{},lexicon:zo},two:{irregularPlurals:ko,models:As,suffixPatterns:Gi,prefixPatterns:Si,endsWith:Xi,neighbours:es,regexNormal:[[/^[\w.]+@[\w.]+\.[a-z]{2,3}$/,"Email"],[/^(https?:\/\/|www\.)+\w+\.[a-z]{2,3}/,"Url","http.."],[/^[a-z0-9./].+\.(com|net|gov|org|ly|edu|info|biz|dev|ru|jp|de|in|uk|br|io|ai)/,"Url",".com"],[/^[PMCE]ST$/,"Timezone","EST"],[/^ma?c'.*/,"LastName","mc'neil"],[/^o'[drlkn].*/,"LastName","o'connor"],[/^ma?cd[aeiou]/,"LastName","mcdonald"],[/^(lol)+[sz]$/,"Expression","lol"],[/^wo{2,}a*h?$/,"Expression","wooah"],[/^(hee?){2,}h?$/,"Expression","hehe"],[/^(un|de|re)\\-[a-z\u00C0-\u00FF]{2}/,"Verb","un-vite"],[/^(m|k|cm|km)\/(s|h|hr)$/,"Unit","5 k/m"],[/^(ug|ng|mg)\/(l|m3|ft3)$/,"Unit","ug/L"]],regexText:[[/^#[\p{Number}_]*\p{Letter}/u,"HashTag"],[/^@\w{2,}$/,"AtMention"],[/^([A-Z]\.){2}[A-Z]?/i,["Acronym","Noun"],"F.B.I"],[/.{3}[lkmnp]in['‘’‛‵′`´]$/,"Gerund","chillin'"],[/.{4}s['‘’‛‵′`´]$/,"Possessive","flanders'"],[/^[\p{Emoji_Presentation}\p{Extended_Pictographic}]/u,"Emoji","emoji-class"]],regexNumbers:[[/^@1?[0-9](am|pm)$/i,"Time","3pm"],[/^@1?[0-9]:[0-9]{2}(am|pm)?$/i,"Time","3:30pm"],[/^'[0-9]{2}$/,"Year"],[/^[012]?[0-9](:[0-5][0-9])(:[0-5][0-9])$/,"Time","3:12:31"],[/^[012]?[0-9](:[0-5][0-9])?(:[0-5][0-9])? ?(am|pm)$/i,"Time","1:12pm"],[/^[012]?[0-9](:[0-5][0-9])(:[0-5][0-9])? ?(am|pm)?$/i,"Time","1:12:31pm"],[/^[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}/i,"Date","iso-date"],[/^[0-9]{1,4}-[0-9]{1,2}-[0-9]{1,4}$/,"Date","iso-dash"],[/^[0-9]{1,4}\/[0-9]{1,2}\/([0-9]{4}|[0-9]{2})$/,"Date","iso-slash"],[/^[0-9]{1,4}\.[0-9]{1,2}\.[0-9]{1,4}$/,"Date","iso-dot"],[/^[0-9]{1,4}-[a-z]{2,9}-[0-9]{1,4}$/i,"Date","12-dec-2019"],[/^utc ?[+-]?[0-9]+$/,"Timezone","utc-9"],[/^(gmt|utc)[+-][0-9]{1,2}$/i,"Timezone","gmt-3"],[/^[0-9]{3}-[0-9]{4}$/,"PhoneNumber","421-0029"],[/^(\+?[0-9][ -])?[0-9]{3}[ -]?[0-9]{3}-[0-9]{4}$/,"PhoneNumber","1-800-"],[/^[-+]?\p{Currency_Symbol}[-+]?[0-9]+(,[0-9]{3})*(\.[0-9]+)?([kmb]|bn)?\+?$/u,["Money","Value"],"$5.30"],[/^[-+]?[0-9]+(,[0-9]{3})*(\.[0-9]+)?\p{Currency_Symbol}\+?$/u,["Money","Value"],"5.30£"],[/^[-+]?[$£]?[0-9]([0-9,.])+(usd|eur|jpy|gbp|cad|aud|chf|cny|hkd|nzd|kr|rub)$/i,["Money","Value"],"$400usd"],[/^[-+]?[0-9]+(,[0-9]{3})*(\.[0-9]+)?\+?$/,["Cardinal","NumericValue"],"5,999"],[/^[-+]?[0-9]+(,[0-9]{3})*(\.[0-9]+)?(st|nd|rd|r?th)$/,["Ordinal","NumericValue"],"53rd"],[/^\.[0-9]+\+?$/,["Cardinal","NumericValue"],".73th"],[/^[-+]?[0-9]+(,[0-9]{3})*(\.[0-9]+)?%\+?$/,["Percent","Cardinal","NumericValue"],"-4%"],[/^\.[0-9]+%$/,["Percent","Cardinal","NumericValue"],".3%"],[/^[0-9]{1,4}\/[0-9]{1,4}(st|nd|rd|th)?s?$/,["Fraction","NumericValue"],"2/3rds"],[/^[0-9.]{1,3}[a-z]{0,2}[-–—][0-9]{1,3}[a-z]{0,2}$/,["Value","NumberRange"],"3-4"],[/^[0-9]{1,2}(:[0-9][0-9])?(am|pm)? ?[-–—] ?[0-9]{1,2}(:[0-9][0-9])?(am|pm)$/,["Time","NumberRange"],"3-4pm"],[/^[0-9.]+([a-z°]{1,4})$/,"NumericValue","9km"]],switches:Lo,clues:wi,uncountable:{},orgWords:Is}};cl=ul(cl);var hl=cl,dl=function(e,t,n,r){const a=r.methods.one.setTag;if(0===t&&e.length>=3){const t=/:/;if(e[0].post.match(t)){let t=e[1];if(t.tags.has("Value")||t.tags.has("Email")||t.tags.has("PhoneNumber"))return;a([e[0]],"Expression",r,null,"2-punct-colon''")}}},gl=function(e,t,n,r){const a=r.methods.one.setTag;"-"===e[t].post&&e[t+1]&&a([e[t],e[t+1]],"Hyphenated",r,null,"1-punct-hyphen''")};const ml=/^(under|over|mis|re|un|dis|semi)-?/;var pl=function(e,t,n){const r=n.two.switches;let a=e[t];if(r.hasOwnProperty(a.normal))a.switch=r[a.normal];else if(ml.test(a.normal)){let e=a.normal.replace(ml,"");e.length>3&&r.hasOwnProperty(e)&&(a.switch=r[e])}},fl=function(e,t,n){if(!t||0===t.length)return;const r="undefined"!=typeof process&&process.env?process.env:self.env||{};r&&r.DEBUG_TAGS&&((e,t,n="")=>{let r=e.text||"["+e.implicit+"]";var a;"string"!=typeof t&&t.length>2&&(t=t.slice(0,2).join(", #")+" +"),t="string"!=typeof t?t.join(", #"):t,console.log(` ${(a=r,""+a+"").padEnd(24)} → #${t.padEnd(22)} ${(e=>""+e+"")(n)}`)})(e,t,n),e.tags=e.tags||new Set,"string"==typeof t?e.tags.add(t):t.forEach((t=>e.tags.add(t)))};const vl=["Acronym","Abbreviation","ProperNoun","Uncountable","Possessive","Pronoun","Activity","Honorific","Month"];var bl=function(e,t,n){let r=e[t],a=Array.from(r.tags);for(let e=0;ee.tags.has(t)))||(el(e.normal)?fl(e,"Plural","3-plural-guess"):fl(e,"Singular","3-singular-guess"))}(r),function(e){let t=e.tags;if(t.has("Verb")&&1===t.size){let t=Ts(e.normal);t&&fl(e,t,"3-verb-tense-guess")}}(r)};const yl=/^\p{Lu}[\p{Ll}'’]/u,wl=/[0-9]/,kl=["Date","Month","WeekDay","Unit","Expression"],Pl=/[IVX]/,Al=/^[IVXLCDM]{2,}$/,Il=/^M{0,4}(CM|CD|D?C{0,3})(XC|XL|L?X{0,3})(IX|IV|V?I{0,3})$/,Nl={li:!0,dc:!0,md:!0,dm:!0,ml:!0};var jl=function(e,t,n){let r=e[t];r.index=r.index||[0,0];let a=r.index[1],o=r.text||"";return 0!==a&&!0===yl.test(o)&&!1===wl.test(o)?kl.find((e=>r.tags.has(e)))||r.pre.match(/["']$/)||"the"===r.normal?null:(bl(e,t,n),r.tags.has("Noun")||r.tags.clear(),fl(r,"ProperNoun","2-titlecase"),!0):o.length>=2&&Al.test(o)&&Pl.test(o)&&Il.test(o)&&!Nl[r.normal]?(fl(r,"RomanNumeral","2-xvii"),!0):null};const El=function(e="",t=[]){const n=e.length;let r=7;n<=r&&(r=n-1);for(let a=r;a>1;a-=1){let r=e.substring(n-a,n);if(!0===t[r.length].hasOwnProperty(r))return t[r.length][r]}return null};var xl=function(e,t,n){let r=e[t];if(0===r.tags.size){let e=El(r.normal,n.two.suffixPatterns);if(null!==e)return fl(r,e,"2-suffix"),r.confidence=.7,!0;if(r.implicit&&(e=El(r.implicit,n.two.suffixPatterns),null!==e))return fl(r,e,"2-implicit-suffix"),r.confidence=.7,!0}return null};const Dl=/['‘’‛‵′`´]/,Tl=function(e,t){for(let n=0;nn-3&&(r=n-3);for(let n=r;n>2;n-=1){let r=e.substring(0,n);if(!0===t[r.length].hasOwnProperty(r))return t[r.length][r]}return null}(r.normal,n.two.prefixPatterns);if(null!==e)return fl(r,e,"2-prefix"),r.confidence=.5,!0}return null};const Fl=new Set(["in","on","by","until","for","to","during","throughout","through","within","before","after","of","this","next","last","circa","around","post","pre","budget","classic","plan","may"]),Vl=function(e){if(!e)return!1;let t=e.normal||e.implicit;return!!Fl.has(t)||!!(e.tags.has("Date")||e.tags.has("Month")||e.tags.has("WeekDay")||e.tags.has("Year"))||!!e.tags.has("ProperNoun")},Gl=function(e){return!(!e||!e.tags.has("Ordinal")&&!(e.tags.has("Cardinal")&&e.normal.length<3)&&"is"!==e.normal&&"was"!==e.normal)},zl=function(e){return e&&(e.tags.has("Date")||e.tags.has("Month")||e.tags.has("WeekDay")||e.tags.has("Year"))};var Ll=function(e,t){const n=e[t];if(n.tags.has("NumericValue")&&n.tags.has("Cardinal")&&4===n.normal.length){let r=Number(n.normal);if(r&&!isNaN(r)&&r>1400&&r<2100){let a=e[t-1],o=e[t+1];if(Vl(a)||Vl(o))return fl(n,"Year","2-tagYear");if(r>=1920&&r<2025){if(Gl(a)||Gl(o))return fl(n,"Year","2-tagYear-close");if(zl(e[t-2])||zl(e[t+2]))return fl(n,"Year","2-tagYear-far");if(a&&(a.tags.has("Determiner")||a.tags.has("Possessive"))&&o&&o.tags.has("Noun")&&!o.tags.has("Plural"))return fl(n,"Year","2-tagYear-noun")}}}return null},$l=function(e,t,n,r){const a=r.methods.one.setTag,o=e[t],i=["PastTense","PresentTense","Auxiliary","Modal","Particle"];o.tags.has("Verb")&&(i.find((e=>o.tags.has(e)))||a([o],"Infinitive",r,null,"2-verb-type''"))};const Sl=/^[A-Z]('s|,)?$/,Ml=/^[A-Z-]+$/,Bl=/^[A-Z]+s$/,Hl=/([A-Z]\.)+[A-Z]?,?$/,Jl=/[A-Z]{2,}('s|,)?$/,Wl=/([a-z]\.)+[a-z]\.?$/,Kl={I:!0,A:!0},ql={la:!0,ny:!0,us:!0,dc:!0,gb:!0};var Ul=function(e,t,n){let r=e[t];return r.tags.has("RomanNumeral")||r.tags.has("Acronym")?null:function(e,t){let n=e.text;if(!1===Ml.test(n)){if(!(n.length>3&&!0===Bl.test(n)))return!1;n=n.replace(/s$/,"")}return!(n.length>5||Kl.hasOwnProperty(n)||t.one.lexicon.hasOwnProperty(e.normal)||!0!==Hl.test(n)&&!0!==Wl.test(n)&&!0!==Sl.test(n)&&!0!==Jl.test(n))}(r,n)?(r.tags.clear(),fl(r,["Acronym","Noun"],"3-no-period-acronym"),!0===ql[r.normal]&&fl(r,"Place","3-place-acronym"),!0===Bl.test(r.text)&&fl(r,"Plural","3-plural-acronym"),!0):!Kl.hasOwnProperty(r.text)&&Sl.test(r.text)?(r.tags.clear(),fl(r,["Acronym","Noun"],"3-one-letter-acronym"),!0):r.tags.has("Organization")&&r.text.length<=3?(fl(r,"Acronym","3-org-acronym"),!0):r.tags.has("Organization")&&Ml.test(r.text)&&r.text.length<=6?(fl(r,"Acronym","3-titlecase-acronym"),!0):null};const Ql=function(e,t){if(!e)return null;let n=t.find((t=>e.normal===t[0]));return n?n[1]:null},Rl=function(e,t){if(!e)return null;let n=t.find((t=>e.tags.has(t[0])));return n?n[1]:null};var _l=function(e,t,n){const{leftTags:r,leftWords:a,rightWords:o,rightTags:i}=n.two.neighbours;let s=e[t];if(0===s.tags.size){let l=null;if(l=l||Ql(e[t-1],a),l=l||Ql(e[t+1],o),l=l||Rl(e[t-1],r),l=l||Rl(e[t+1],i),l)return fl(s,l,"3-[neighbour]"),bl(e,t,n),e[t].confidence=.2,!0}return null};const Xl=function(e,t,n){return!!e&&!e.tags.has("FirstName")&&!e.tags.has("Place")&&(!!(e.tags.has("ProperNoun")||e.tags.has("Organization")||e.tags.has("Acronym"))||!(n||(r=e.text,!/^\p{Lu}[\p{Ll}'’]/u.test(r)))&&(0!==t||e.tags.has("Singular")));var r};var Zl=function(e,t,n,r){const a=n.model.two.orgWords,o=n.methods.one.setTag;let i=e[t];if(!0===a[i.machine||i.normal]&&Xl(e[t-1],t-1,r)){o([e[t]],"Organization",n,null,"3-[org-word]");for(let a=t;a>=0&&Xl(e[a],a,r);a-=1)o([e[a]],"Organization",n,null,"3-[org-word]")}return null},Yl=function(e,t,n){let r=!1,a=e[t].tags;(0===a.size||1===a.size&&(a.has("Hyphenated")||a.has("HashTag")||a.has("Prefix")))&&(r=!0),r&&(fl(e[t],"Noun","3-[fallback]"),bl(e,t,n),e[t].confidence=.1)};const eu=/^[A-Z][a-z]/,tu=(e,t)=>e[t].tags.has("ProperNoun")&&eu.test(e[t].text)?"Noun":null,nu=(e,t,n)=>0!==t||e[1]?null:n,ru={"Adj|Gerund":(e,t)=>tu(e,t),"Adj|Noun":(e,t)=>tu(e,t)||function(e,t){return!e[t+1]&&e[t-1]&&e[t-1].tags.has("Determiner")?"Noun":null}(e,t),"Actor|Verb":(e,t)=>tu(e,t),"Adj|Past":(e,t)=>tu(e,t),"Adj|Present":(e,t)=>tu(e,t),"Noun|Gerund":(e,t)=>tu(e,t),"Noun|Verb":(e,t)=>t>0&&tu(e,t)||nu(e,t,"Infinitive"),"Plural|Verb":(e,t)=>tu(e,t)||nu(e,t,"PresentTense")||function(e,t,n){return 0===t&&e.length>3?n:null}(e,t,"Plural"),"Person|Noun":(e,t)=>tu(e,t),"Person|Verb":(e,t)=>0!==t?tu(e,t):null,"Person|Adj":(e,t)=>0===t&&e.length>1||tu(e,t)?"Person":null};var au=ru;const ou="undefined"!=typeof process&&process.env?process.env:self.env||{},iu=/^(under|over|mis|re|un|dis|semi)-?/,su=(e,t)=>{if(!e||!t)return null;let n=e.normal||e.implicit,r=null;return t.hasOwnProperty(n)&&(r=t[n]),r&&ou.DEBUG_TAGS&&console.log(`\n  ↓ - '${n}' `),r},lu=(e,t={},n)=>{if(!e||!t)return null;let r=Array.from(e.tags).sort(((e,t)=>(n[e]?n[e].parents.length:0)>(n[t]?n[t].parents.length:0)?-1:1)),a=r.find((e=>t[e]));return a&&ou.DEBUG_TAGS&&console.log(`  ↓ - '${e.normal||e.implicit}' (#${a}) `),a=t[a],a};var uu=function(e,t,n){const r=n.model,a=n.methods.one.setTag,{switches:o,clues:i}=r.two,s=e[t];let l=s.normal||s.implicit||"";if(iu.test(l)&&!o[l]&&(l=l.replace(iu,"")),s.switch){let o=s.switch;if(s.tags.has("Acronym")||s.tags.has("PhrasalVerb"))return;let u=function(e,t,n,r){if(!n)return null;const a=r.one.tagSet;let o=su(e[t+1],n.afterWords);return o=o||su(e[t-1],n.beforeWords),o=o||lu(e[t-1],n.beforeTags,a),o=o||lu(e[t+1],n.afterTags,a),o}(e,t,i[o],r);au[o]&&(u=au[o](e,t)||u),u?(a([s],u,n,null,`3-[switch] (${o})`),bl(e,t,r)):ou.DEBUG_TAGS&&console.log(`\n -> X - '${l}' : (${o}) `)}};const cu={there:!0,this:!0,it:!0,him:!0,her:!0,us:!0};var hu=function(e,t){const n=t.methods.one.setTag,r=t.model.one._multiCache||{};let a=e[0];if(("Noun|Verb"===a.switch||a.tags.has("Infinitive"))&&e.length>=2){if(e.length<4&&!cu[e[1].normal])return;if(!a.tags.has("PhrasalVerb")&&r.hasOwnProperty(a.normal))return;(e[1].tags.has("Noun")||e[1].tags.has("Determiner"))&&(e.slice(1,3).some((e=>e.tags.has("Verb")))&&!a.tags.has("#PhrasalVerb")||n([a],"Imperative",t,null,"3-[imperative]"))}};const du=function(e){if(e.filter((e=>!e.tags.has("ProperNoun"))).length<=3)return!1;const t=/^[a-z]/;return e.every((e=>!t.test(e.text)))},gu=function(e,t,n,r){for(let a=0;a{dl(e,0,t,n)}))}(a,n,r);let o=t.two.quickSplit(a);for(let e=0;e{let t=e.machine||e.normal||e.text;return t=t.replace(/'s$/,""),t},Plural:(e,t)=>{let n=e.machine||e.normal||e.text;return t.methods.two.transform.noun.toSingular(n,t.model)},Copula:()=>"is",PastTense:(e,t)=>{let n=e.machine||e.normal||e.text;return t.methods.two.transform.verb.toInfinitive(n,t.model,"PastTense")},Gerund:(e,t)=>{let n=e.machine||e.normal||e.text;return t.methods.two.transform.verb.toInfinitive(n,t.model,"Gerund")},PresentTense:(e,t)=>{let n=e.machine||e.normal||e.text;return e.tags.has("Infinitive")?n:t.methods.two.transform.verb.toInfinitive(n,t.model,"PresentTense")},Comparative:(e,t)=>{let n=e.machine||e.normal||e.text;return t.methods.two.transform.adjective.fromComparative(n,t.model)},Superlative:(e,t)=>{let n=e.machine||e.normal||e.text;return t.methods.two.transform.adjective.fromSuperlative(n,t.model)},Adverb:(e,t)=>{const{fromAdverb:n}=t.methods.two.transform.adjective;return n(e.machine||e.normal||e.text)}};var vu=function(e){const t=e.world,n=Object.keys(fu);e.docs.forEach((e=>{for(let r=0;r{e.forEach((e=>{e.penn=function(e){if(e.tags.has("ProperNoun")&&e.tags.has("Plural"))return"NNPS";if(e.tags.has("Possessive")&&e.tags.has("Pronoun"))return"PRP$";if("there"===e.normal)return"EX";if("to"===e.normal)return"TO";let t=e.tagRank||[];for(let e=0;e{e.implicit=e.normal,e.text="",e.normal=""}));for(let e=0;e{let t=Du.test(e[0].text);e.forEach(((t,n)=>{t.text=t.implicit||"",delete t.implicit,ne.toUpperCase()))}(e[0].text))})),this.compute("normal"),this}}e.prototype.contractions=function(){let e=this.match("@hasContraction+");return new Contractions(this.document,e.pointer)},e.prototype.contract=xu},Cu=function(e,t,n){let[r,a]=t;n&&0!==n.length&&(n=n.map(((e,t)=>(e.implicit=e.text,e.machine=e.text,e.pre="",e.post="",e.text="",e.normal="",e.index=[r,a+t],e))),n[0]&&(n[0].pre=e[r][a].pre,n[n.length-1].post=e[r][a].post,n[0].text=e[r][a].text,n[0].normal=e[r][a].normal),e[r].splice(a,1,...n))};const Ou=/'/;var Fu=function(e,t){let n=e[t].normal.split(Ou)[0];if(((e,t)=>e.slice(t+1,t+3).some((e=>e.tags.has("PastTense"))))(e,t))return[n,"has"];if("let"===n)return[n,"us"];if("there"===n){let r=e[t+1];if(r&&r.tags.has("Plural"))return[n,"are"]}return[n,"is"]};const Vu=/'/;var Gu=function(e,t){let n=e[t].normal.split(Vu)[0];return"how"===n||"what"===n?[n,"did"]:!0===((e,t)=>!(!e[t+1]||"better"!=e[t+1].normal)||e.slice(t+1,t+3).some((e=>e.tags.has("PastTense"))))(e,t)?[n,"had"]:[n,"would"]},zu=function(e,t){if("ain't"===e[t].normal||"aint"===e[t].normal){if(e[t+1]&&"never"===e[t+1].normal)return["have"];let n=function(e,t){for(let n=t-1;n>=0;n-=1)if(e[n].tags.has("Noun")||e[n].tags.has("Pronoun")||e[n].tags.has("Plural")||e[n].tags.has("Singular"))return e[n];return null}(e,t);if(n){if("we"===n.normal||"they"===n.normal)return["are","not"];if("i"===n.normal)return["am","not"];if(n.tags&&n.tags.has("Plural"))return["are","not"]}return["is","not"]}return[e[t].normal.replace(/n't/,""),"not"]};const Lu={that:!0,there:!0,let:!0,here:!0,everywhere:!0},$u={in:!0,by:!0,for:!0};var Su=(e,t)=>{let n=e[t];if(Lu.hasOwnProperty(n.machine||n.normal))return!1;if(n.tags.has("Possessive"))return!0;if(n.tags.has("QuestionWord"))return!1;if("he's"===n.normal||"she's"===n.normal)return!1;let r=e[t+1];if(!r)return!0;if("it's"===n.normal)return!!r.tags.has("#Noun");if(r.tags.has("Verb"))return!!r.tags.has("Infinitive")||!!r.tags.has("PresentTense");if(r.tags.has("Noun")){let e=r.machine||r.normal;return!("here"===e||"there"===e||"everywhere"===e||r.tags.has("Possessive")||r.tags.has("ProperNoun")&&!n.tags.has("ProperNoun"))}if(e[t-1]&&!0===$u[e[t-1].normal])return!0;let a=e[t+2];return!(!a||!a.tags.has("Noun")||a.tags.has("Pronoun"))||(r.tags.has("Adjective")||r.tags.has("Adverb")||r.tags.has("Verb"),!1)};const Mu=/'/,Bu=function(e,t,n,r){let a=t.update();a.document=[e];let o=n+r;n>0&&(n-=1),e[o]&&(o+=1),a.ptrs=[[0,n,o]],a.compute(["lexicon","preTagger"]),function(e){e.forEach(((e,t)=>{e.index&&(e.index[1]=t)}))}(e)},Hu={d:(e,t)=>Gu(e,t),t:(e,t)=>zu(e,t),s:(e,t,n)=>Su(e,t)?n.methods.one.setTag([e[t]],"Possessive",n,"2-contraction"):Fu(e,t)},Ju=function(e,t){let n=t.fromText(e.join(" "));return n.compute("id"),n.docs[0]};var Wu={contractionTwo:e=>{let{world:t,document:n}=e;n.forEach(((r,a)=>{for(let o=r.length-1;o>=0;o-=1){if(r[o].implicit)return;let i=null;!0===Mu.test(r[o].normal)&&([,i]=r[o].normal.split(Mu));let s=null;Hu.hasOwnProperty(i)&&(s=Hu[i](r,o,t)),s&&(s=Ju(s,e),Cu(n,[a,o],s),Bu(n[a],e,o,s.length))}}))}},Ku={compute:Wu,api:Tu,hooks:["contractionTwo"]};const qu="(hard|fast|late|early|high|right|deep|close|direct)",Uu="(i|we|they)";let Qu=[].concat([{match:"(got|were|was|is|are|am) (#PastTense|#Participle)",tag:"Passive",reason:"got-walked"},{match:"(was|were|is|are|am) being (#PastTense|#Participle)",tag:"Passive",reason:"was-being"},{match:"(had|have|has) been (#PastTense|#Participle)",tag:"Passive",reason:"had-been"},{match:"will be being? (#PastTense|#Participle)",tag:"Passive",reason:"will-be-cleaned"},{match:"#Noun [(#PastTense|#Participle)] by (the|a) #Noun",group:0,tag:"Passive",reason:"suffered-by"}],[{match:"[(all|both)] #Determiner #Noun",group:0,tag:"Noun",reason:"all-noun"},{match:"#Copula [(just|alone)]$",group:0,tag:"Adjective",reason:"not-adverb"},{match:"#Singular is #Adverb? [#PastTense$]",group:0,tag:"Adjective",reason:"is-filled"},{match:"[#PastTense] #Singular is",group:0,tag:"Adjective",reason:"smoked-poutine"},{match:"[#PastTense] #Plural are",group:0,tag:"Adjective",reason:"baked-onions"},{match:"well [#PastTense]",group:0,tag:"Adjective",reason:"well-made"},{match:"#Copula [fucked up?]",group:0,tag:"Adjective",reason:"swears-adjective"},{match:"#Singular (seems|appears) #Adverb? [#PastTense$]",group:0,tag:"Adjective",reason:"seems-filled"},{match:"#Copula #Adjective? [(out|in|through)]$",group:0,tag:"Adjective",reason:"still-out"},{match:"^[#Adjective] (the|your) #Noun",group:0,notIf:"(all|even)",tag:"Infinitive",reason:"shut-the"},{match:"the [said] #Noun",group:0,tag:"Adjective",reason:"the-said-card"},{match:"[#Hyphenated (#Hyphenated && #PastTense)] (#Noun|#Conjunction)",group:0,tag:"Adjective",notIf:"#Adverb",reason:"faith-based"},{match:"[#Hyphenated (#Hyphenated && #Gerund)] (#Noun|#Conjunction)",group:0,tag:"Adjective",notIf:"#Adverb",reason:"self-driving"},{match:"[#PastTense (#Hyphenated && #PhrasalVerb)] (#Noun|#Conjunction)",group:0,tag:"Adjective",reason:"dammed-up"},{match:"(#Hyphenated && #Value) fold",tag:"Adjective",reason:"two-fold"},{match:"must (#Hyphenated && #Infinitive)",tag:"Adjective",reason:"must-win"},{match:"(#Hyphenated && #Infinitive) #Hyphenated",tag:"Adjective",notIf:"#PhrasalVerb",reason:"vacuum-sealed"},{match:"too much",tag:"Adverb Adjective",reason:"bit-4"},{match:"a bit much",tag:"Determiner Adverb Adjective",reason:"bit-3"},{match:"[(un|contra|extra|inter|intra|macro|micro|mid|mis|mono|multi|pre|sub|tri|ex)] #Adjective",group:0,tag:["Adjective","Prefix"],reason:"un-skilled"}],[{match:"#Adverb [#Adverb] (and|or|then)",group:0,tag:"Adjective",reason:"kinda-sparkly-and"},{match:"[(dark|bright|flat|light|soft|pale|dead|dim|faux|little|wee|sheer|most|near|good|extra|all)] #Adjective",group:0,tag:"Adverb",reason:"dark-green"},{match:"#Copula [far too] #Adjective",group:0,tag:"Adverb",reason:"far-too"},{match:"#Copula [still] (in|#Gerund|#Adjective)",group:0,tag:"Adverb",reason:"was-still-walking"},{match:`#Plural ${qu}`,tag:"#PresentTense #Adverb",reason:"studies-hard"},{match:`#Verb [${qu}] !#Noun?`,group:0,notIf:"(#Copula|get|got|getting|become|became|becoming|feel|feels|feeling)",tag:"Adverb",reason:"shops-direct"},{match:"[#Plural] a lot",tag:"PresentTense",reason:"studies-a-lot"}],[{match:"as [#Gerund] as",group:0,tag:"Adjective",reason:"as-gerund-as"},{match:"more [#Gerund] than",group:0,tag:"Adjective",reason:"more-gerund-than"},{match:"(so|very|extremely) [#Gerund]",group:0,tag:"Adjective",reason:"so-gerund"},{match:"(found|found) it #Adverb? [#Gerund]",group:0,tag:"Adjective",reason:"found-it-gerund"},{match:"a (little|bit|wee) bit? [#Gerund]",group:0,tag:"Adjective",reason:"a-bit-gerund"},{match:"#Gerund [#Gerund]",group:0,tag:"Adjective",notIf:"(impersonating|practicing|considering|assuming)",reason:"looking-annoying"},{match:"(looked|look|looks) #Adverb? [%Adj|Gerund%]",group:0,tag:"Adjective",notIf:"(impersonating|practicing|considering|assuming)",reason:"looked-amazing"},{match:"[%Adj|Gerund%] #Determiner",group:0,tag:"Gerund",reason:"developing-a"},{match:"#Possessive [%Adj|Gerund%] #Noun",group:0,tag:"Adjective",reason:"leading-manufacturer"}],[{match:"#Determiner [#Adjective] #Copula",group:0,tag:"Noun",reason:"the-adj-is"},{match:"#Adjective [#Adjective] #Copula",group:0,tag:"Noun",reason:"adj-adj-is"},{match:"(his|its) [%Adj|Noun%]",group:0,tag:"Noun",notIf:"#Hyphenated",reason:"his-fine"},{match:"#Copula #Adverb? [all]",group:0,tag:"Noun",reason:"is-all"},{match:"(have|had) [#Adjective] #Preposition .",group:0,tag:"Noun",reason:"have-fun"},{match:"#Gerund (giant|capital|center|zone|application)",tag:"Noun",reason:"brewing-giant"},{match:"#Preposition (a|an) [#Adjective]$",group:0,tag:"Noun",reason:"an-instant"},{match:"no [#Adjective] #Modal",group:0,tag:"Noun",reason:"no-golden"},{match:"[brand #Gerund?] new",group:0,tag:"Adverb",reason:"brand-new"},{match:"(#Determiner|#Comparative|new|different) [kind]",group:0,tag:"Noun",reason:"some-kind"},{match:"#Possessive [%Adj|Noun%] #Noun",group:0,tag:"Adjective",reason:"her-favourite"},{match:"must && #Hyphenated .",tag:"Adjective",reason:"must-win"},{match:"#Determiner [#Adjective]$",tag:"Noun",notIf:"(this|that|#Comparative|#Superlative)",reason:"the-south"},{match:"(#Noun && #Hyphenated) (#Adjective && #Hyphenated)",tag:"Adjective",notIf:"(this|that|#Comparative|#Superlative)",reason:"company-wide"},{match:"#Determiner [#Adjective] (#Copula|#Determiner)",notIf:"(#Comparative|#Superlative)",group:0,tag:"Noun",reason:"the-poor"}],[{match:"[still] #Adjective",group:0,tag:"Adverb",reason:"still-advb"},{match:"[still] #Verb",group:0,tag:"Adverb",reason:"still-verb"},{match:"[so] #Adjective",group:0,tag:"Adverb",reason:"so-adv"},{match:"[way] #Comparative",group:0,tag:"Adverb",reason:"way-adj"},{match:"[way] #Adverb #Adjective",group:0,tag:"Adverb",reason:"way-too-adj"},{match:"[all] #Verb",group:0,tag:"Adverb",reason:"all-verb"},{match:"#Verb [like]",group:0,notIf:"(#Modal|#PhrasalVerb)",tag:"Adverb",reason:"verb-like"},{match:"(barely|hardly) even",tag:"Adverb",reason:"barely-even"},{match:"[even] #Verb",group:0,tag:"Adverb",reason:"even-walk"},{match:"[even] #Comparative",group:0,tag:"Adverb",reason:"even-worse"},{match:"[even] (#Determiner|#Possessive)",group:0,tag:"#Adverb",reason:"even-the"},{match:"even left",tag:"#Adverb #Verb",reason:"even-left"},{match:"[way] #Adjective",group:0,tag:"#Adverb",reason:"way-over"},{match:"#PresentTense [(hard|quick|bright|slow|fast|backwards|forwards)]",notIf:"#Copula",group:0,tag:"Adverb",reason:"lazy-ly"},{match:"[much] #Adjective",group:0,tag:"Adverb",reason:"bit-1"},{match:"#Copula [#Adverb]$",group:0,tag:"Adjective",reason:"is-well"},{match:"a [(little|bit|wee) bit?] #Adjective",group:0,tag:"Adverb",reason:"a-bit-cold"},{match:"[(super|pretty)] #Adjective",group:0,tag:"Adverb",reason:"super-strong"},{match:"(become|fall|grow) #Adverb? [#PastTense]",group:0,tag:"Adjective",reason:"overly-weakened"},{match:"(a|an) #Adverb [#Participle] #Noun",group:0,tag:"Adjective",reason:"completely-beaten"},{match:"#Determiner #Adverb? [close]",group:0,tag:"Adjective",reason:"a-close"},{match:"#Gerund #Adverb? [close]",group:0,tag:"Adverb",notIf:"(getting|becoming|feeling)",reason:"being-close"},{match:"(the|those|these|a|an) [#Participle] #Noun",group:0,tag:"Adjective",reason:"blown-motor"},{match:"(#PresentTense|#PastTense) [back]",group:0,tag:"Adverb",notIf:"(#PhrasalVerb|#Copula)",reason:"charge-back"},{match:"#Verb [around]",group:0,tag:"Adverb",notIf:"#PhrasalVerb",reason:"send-around"},{match:"[later] #PresentTense",group:0,tag:"Adverb",reason:"later-say"},{match:"#Determiner [well] !#PastTense?",group:0,tag:"Noun",reason:"the-well"},{match:"#Adjective [enough]",group:0,tag:"Adverb",reason:"high-enough"}],[{match:"[sun] the #Ordinal",tag:"WeekDay",reason:"sun-the-5th"},{match:"[sun] #Date",group:0,tag:"WeekDay",reason:"sun-feb"},{match:"#Date (on|this|next|last|during)? [sun]",group:0,tag:"WeekDay",reason:"1pm-sun"},{match:"(in|by|before|during|on|until|after|of|within|all) [sat]",group:0,tag:"WeekDay",reason:"sat"},{match:"(in|by|before|during|on|until|after|of|within|all) [wed]",group:0,tag:"WeekDay",reason:"wed"},{match:"(in|by|before|during|on|until|after|of|within|all) [march]",group:0,tag:"Month",reason:"march"},{match:"[sat] #Date",group:0,tag:"WeekDay",reason:"sat-feb"},{match:"#Preposition [(march|may)]",group:0,tag:"Month",reason:"in-month"},{match:"(this|next|last) (march|may) !#Infinitive?",tag:"#Date #Month",reason:"this-month"},{match:"(march|may) the? #Value",tag:"#Month #Date #Date",reason:"march-5th"},{match:"#Value of? (march|may)",tag:"#Date #Date #Month",reason:"5th-of-march"},{match:"[(march|may)] .? #Date",group:0,tag:"Month",reason:"march-and-feb"},{match:"#Date .? [(march|may)]",group:0,tag:"Month",reason:"feb-and-march"},{match:"#Adverb [(march|may)]",group:0,tag:"Verb",reason:"quickly-march"},{match:"[(march|may)] #Adverb",group:0,tag:"Verb",reason:"march-quickly"}],[{match:"#Holiday (day|eve)",tag:"Holiday",reason:"holiday-day"},{match:"#Value of #Month",tag:"Date",reason:"value-of-month"},{match:"#Cardinal #Month",tag:"Date",reason:"cardinal-month"},{match:"#Month #Value to #Value",tag:"Date",reason:"value-to-value"},{match:"#Month the #Value",tag:"Date",reason:"month-the-value"},{match:"(#WeekDay|#Month) #Value",tag:"Date",reason:"date-value"},{match:"#Value (#WeekDay|#Month)",tag:"Date",reason:"value-date"},{match:"(#TextValue && #Date) #TextValue",tag:"Date",reason:"textvalue-date"},{match:"#Month #NumberRange",tag:"Date",reason:"aug 20-21"},{match:"#WeekDay #Month #Ordinal",tag:"Date",reason:"week mm-dd"},{match:"#Month #Ordinal #Cardinal",tag:"Date",reason:"mm-dd-yyy"},{match:"(#Place|#Demonmym|#Time) (standard|daylight|central|mountain)? time",tag:"Timezone",reason:"std-time"},{match:"(eastern|mountain|pacific|central|atlantic) (standard|daylight|summer)? time",tag:"Timezone",reason:"eastern-time"},{match:"#Time [(eastern|mountain|pacific|central|est|pst|gmt)]",group:0,tag:"Timezone",reason:"5pm-central"},{match:"(central|western|eastern) european time",tag:"Timezone",reason:"cet"}],[{match:"(the|any) [more]",group:0,tag:"Singular",reason:"more-noun"},{match:"[more] #Noun",group:0,tag:"Adjective",reason:"more-noun"},{match:"(right|rights) of .",tag:"Noun",reason:"right-of"},{match:"a [bit]",group:0,tag:"Singular",reason:"bit-2"},{match:"a [must]",group:0,tag:"Singular",reason:"must-2"},{match:"(we|us) [all]",group:0,tag:"Noun",reason:"we all"},{match:"due to [#Verb]",group:0,tag:"Noun",reason:"due-to"},{match:"some [#Verb] #Plural",group:0,tag:"Noun",reason:"determiner6"},{match:"#Possessive #Ordinal [#PastTense]",group:0,tag:"Noun",reason:"first-thought"},{match:"(the|this|those|these) #Adjective [%Verb|Noun%]",group:0,tag:"Noun",notIf:"#Copula",reason:"the-adj-verb"},{match:"(the|this|those|these) #Adverb #Adjective [#Verb]",group:0,tag:"Noun",reason:"determiner4"},{match:"the [#Verb] #Preposition .",group:0,tag:"Noun",reason:"determiner1"},{match:"(a|an|the) [#Verb] of",group:0,tag:"Noun",reason:"the-verb-of"},{match:"#Determiner #Noun of [#Verb]",group:0,tag:"Noun",notIf:"#Gerund",reason:"noun-of-noun"},{match:"#PastTense #Preposition [#PresentTense]",group:0,notIf:"#Gerund",tag:"Noun",reason:"ended-in-ruins"},{match:"#Conjunction [u]",group:0,tag:"Pronoun",reason:"u-pronoun-2"},{match:"[u] #Verb",group:0,tag:"Pronoun",reason:"u-pronoun-1"},{match:"#Determiner [(western|eastern|northern|southern|central)] #Noun",group:0,tag:"Noun",reason:"western-line"},{match:"(#Singular && @hasHyphen) #PresentTense",tag:"Noun",reason:"hyphen-verb"},{match:"is no [#Verb]",group:0,tag:"Noun",reason:"is-no-verb"},{match:"do [so]",group:0,tag:"Noun",reason:"so-noun"},{match:"#Determiner [(shit|damn|hell)]",group:0,tag:"Noun",reason:"swears-noun"},{match:"to [(shit|hell)]",group:0,tag:"Noun",reason:"to-swears"},{match:"(the|these) [#Singular] (were|are)",group:0,tag:"Plural",reason:"singular-were"},{match:"a #Noun+ or #Adverb+? [#Verb]",group:0,tag:"Noun",reason:"noun-or-noun"},{match:"(the|those|these|a|an) #Adjective? [#PresentTense #Particle?]",group:0,tag:"Noun",notIf:"(seem|appear|include|#Gerund|#Copula)",reason:"det-inf"},{match:"#Noun #Actor",tag:"Actor",notIf:"(#Person|#Pronoun)",reason:"thing-doer"},{match:"#Gerund #Actor",tag:"Actor",reason:"gerund-doer"},{match:"co #Singular",tag:"Actor",reason:"co-noun"},{match:"[#Noun+] #Actor",group:0,tag:"Actor",notIf:"(#Honorific|#Pronoun|#Possessive)",reason:"air-traffic-controller"},{match:"(urban|cardiac|cardiovascular|respiratory|medical|clinical|visual|graphic|creative|dental|exotic|fine|certified|registered|technical|virtual|professional|amateur|junior|senior|special|pharmaceutical|theoretical)+ #Noun? #Actor",tag:"Actor",reason:"fine-artist"},{match:"#Noun+ (coach|chef|king|engineer|fellow|personality|boy|girl|man|woman|master)",tag:"Actor",reason:"dance-coach"},{match:"chief . officer",tag:"Actor",reason:"chief-x-officer"},{match:"chief of #Noun+",tag:"Actor",reason:"chief-of-police"},{match:"senior? vice? president of #Noun+",tag:"Actor",reason:"president-of"},{match:"#Determiner [sun]",group:0,tag:"Singular",reason:"the-sun"},{match:"#Verb (a|an) [#Value]$",group:0,tag:"Singular",reason:"did-a-value"},{match:"the [(can|will|may)]",group:0,tag:"Singular",reason:"the can"},{match:"#FirstName #Acronym? (#Possessive && #LastName)",tag:"Possessive",reason:"name-poss"},{match:"#Organization+ #Possessive",tag:"Possessive",reason:"org-possessive"},{match:"#Place+ #Possessive",tag:"Possessive",reason:"place-possessive"},{match:"#Possessive #PresentTense #Particle?",notIf:"(#Gerund|her)",tag:"Noun",reason:"possessive-verb"},{match:"(my|our|their|her|his|its) [(#Plural && #Actor)] #Noun",tag:"Possessive",reason:"my-dads"},{match:"#Value of a [second]",group:0,unTag:"Value",tag:"Singular",reason:"10th-of-a-second"},{match:"#Value [seconds]",group:0,unTag:"Value",tag:"Plural",reason:"10-seconds"},{match:"in [#Infinitive]",group:0,tag:"Singular",reason:"in-age"},{match:"a [#Adjective] #Preposition",group:0,tag:"Noun",reason:"a-minor-in"},{match:"#Determiner [#Singular] said",group:0,tag:"Actor",reason:"the-actor-said"},{match:"#Determiner #Noun [(feel|sense|process|rush|side|bomb|bully|challenge|cover|crush|dump|exchange|flow|function|issue|lecture|limit|march|process)] !(#Preposition|to|#Adverb)?",group:0,tag:"Noun",reason:"the-noun-sense"},{match:"[#PresentTense] (of|by|for) (a|an|the) #Noun #Copula",group:0,tag:"Plural",reason:"photographs-of"},{match:"#Infinitive and [%Noun|Verb%]",group:0,tag:"Infinitive",reason:"fight and win"},{match:"#Noun and [#Verb] and #Noun",group:0,tag:"Noun",reason:"peace-and-flowers"},{match:"the #Cardinal [%Adj|Noun%]",group:0,tag:"Noun",reason:"the-1992-classic"},{match:"#Copula the [%Adj|Noun%] #Noun",group:0,tag:"Adjective",reason:"the-premier-university"},{match:"i #Verb [me] #Noun",group:0,tag:"Possessive",reason:"scottish-me"},{match:"[#PresentTense] (music|class|lesson|night|party|festival|league|ceremony)",group:0,tag:"Noun",reason:"dance-music"},{match:"[wit] (me|it)",group:0,tag:"Presposition",reason:"wit-me"},{match:"#PastTense #Possessive [#Verb]",group:0,tag:"Noun",notIf:"(saw|made)",reason:"left-her-boots"},{match:"#Value [%Plural|Verb%]",group:0,tag:"Plural",notIf:"(one|1|a|an)",reason:"35-signs"},{match:"had [#PresentTense]",group:0,tag:"Noun",notIf:"(#Gerund|come|become)",reason:"had-time"},{match:"%Adj|Noun% %Noun|Verb%",tag:"#Adjective #Noun",notIf:"#ProperNoun #Noun",reason:"instant-access"},{match:"#Determiner [%Adj|Noun%] #Conjunction",group:0,tag:"Noun",reason:"a-rep-to"},{match:"#Adjective #Noun [%Plural|Verb%]$",group:0,tag:"Plural",notIf:"#Pronoun",reason:"near-death-experiences"},{match:"#Possessive #Noun [%Plural|Verb%]$",group:0,tag:"Plural",reason:"your-guild-colors"}],[{match:"(this|that|the|a|an) [#Gerund #Infinitive]",group:0,tag:"Singular",reason:"the-planning-process"},{match:"(that|the) [#Gerund #PresentTense]",group:0,ifNo:"#Copula",tag:"Plural",reason:"the-paving-stones"},{match:"#Determiner [#Gerund] #Noun",group:0,tag:"Adjective",reason:"the-gerund-noun"},{match:"#Pronoun #Infinitive [#Gerund] #PresentTense",group:0,tag:"Noun",reason:"tipping-sucks"},{match:"#Adjective [#Gerund]",group:0,tag:"Noun",notIf:"(still|even|just)",reason:"early-warning"},{match:"[#Gerund] #Adverb? not? #Copula",group:0,tag:"Activity",reason:"gerund-copula"},{match:"#Copula [(#Gerund|#Activity)] #Copula",group:0,tag:"Gerund",reason:"are-doing-is"},{match:"[#Gerund] #Modal",group:0,tag:"Activity",reason:"gerund-modal"},{match:"#Singular for [%Noun|Gerund%]",group:0,tag:"Gerund",reason:"noun-for-gerund"},{match:"#Comparative (for|at) [%Noun|Gerund%]",group:0,tag:"Gerund",reason:"better-for-gerund"},{match:"#PresentTense the [#Gerund]",group:0,tag:"Noun",reason:"keep-the-touching"}],[{match:"#Infinitive (this|that|the) [#Infinitive]",group:0,tag:"Noun",reason:"do-this-dance"},{match:"#Gerund #Determiner [#Infinitive]",group:0,tag:"Noun",reason:"running-a-show"},{match:"#Determiner (only|further|just|more|backward) [#Infinitive]",group:0,tag:"Noun",reason:"the-only-reason"},{match:"(the|this|a|an) [#Infinitive] #Adverb? #Verb",group:0,tag:"Noun",reason:"determiner5"},{match:"#Determiner #Adjective #Adjective? [#Infinitive]",group:0,tag:"Noun",reason:"a-nice-inf"},{match:"#Determiner #Demonym [#PresentTense]",group:0,tag:"Noun",reason:"mexican-train"},{match:"#Adjective #Noun+ [#Infinitive] #Copula",group:0,tag:"Noun",reason:"career-move"},{match:"at some [#Infinitive]",group:0,tag:"Noun",reason:"at-some-inf"},{match:"(go|goes|went) to [#Infinitive]",group:0,tag:"Noun",reason:"goes-to-verb"},{match:"(a|an) #Adjective? #Noun [#Infinitive] (#Preposition|#Noun)",group:0,notIf:"from",tag:"Noun",reason:"a-noun-inf"},{match:"(a|an) #Noun [#Infinitive]$",group:0,tag:"Noun",reason:"a-noun-inf2"},{match:"#Gerund #Adjective? for [#Infinitive]",group:0,tag:"Noun",reason:"running-for"},{match:"about [#Infinitive]",group:0,tag:"Singular",reason:"about-love"},{match:"#Plural on [#Infinitive]",group:0,tag:"Noun",reason:"on-stage"},{match:"any [#Infinitive]",group:0,tag:"Noun",reason:"any-charge"},{match:"no [#Infinitive]",group:0,tag:"Noun",reason:"no-doubt"},{match:"number of [#PresentTense]",group:0,tag:"Noun",reason:"number-of-x"},{match:"(taught|teaches|learns|learned) [#PresentTense]",group:0,tag:"Noun",reason:"teaches-x"},{match:"(try|use|attempt|build|make) [#Verb #Particle?]",notIf:"(#Copula|#Noun|sure|fun|up)",group:0,tag:"Noun",reason:"do-verb"},{match:"^[#Infinitive] (is|was)",group:0,tag:"Noun",reason:"checkmate-is"},{match:"#Infinitive much [#Infinitive]",group:0,tag:"Noun",reason:"get-much"},{match:"[cause] #Pronoun #Verb",group:0,tag:"Conjunction",reason:"cause-cuz"},{match:"the #Singular [#Infinitive] #Noun",group:0,tag:"Noun",notIf:"#Pronoun",reason:"cardio-dance"},{match:"#Determiner #Modal [#Noun]",group:0,tag:"PresentTense",reason:"should-smoke"},{match:"this [#Plural]",group:0,tag:"PresentTense",notIf:"(#Preposition|#Date)",reason:"this-verbs"},{match:"#Noun that [#Plural]",group:0,tag:"PresentTense",notIf:"(#Preposition|#Pronoun|way)",reason:"voice-that-rocks"},{match:"that [#Plural] to",group:0,tag:"PresentTense",notIf:"#Preposition",reason:"that-leads-to"},{match:"(let|make|made) (him|her|it|#Person|#Place|#Organization)+ [#Singular] (a|an|the|it)",group:0,tag:"Infinitive",reason:"let-him-glue"},{match:"#Verb (all|every|each|most|some|no) [#PresentTense]",notIf:"#Modal",group:0,tag:"Noun",reason:"all-presentTense"},{match:"(had|have|#PastTense) #Adjective [#PresentTense]",group:0,tag:"Noun",notIf:"better",reason:"adj-presentTense"},{match:"#Value #Adjective [#PresentTense]",group:0,tag:"Noun",notIf:"#Copula",reason:"one-big-reason"},{match:"#PastTense #Adjective+ [#PresentTense]",group:0,tag:"Noun",notIf:"(#Copula|better)",reason:"won-wide-support"},{match:"(many|few|several|couple) [#PresentTense]",group:0,tag:"Noun",notIf:"#Copula",reason:"many-poses"},{match:"#Determiner #Adverb #Adjective [%Noun|Verb%]",group:0,tag:"Noun",notIf:"#Copula",reason:"very-big-dream"},{match:"from #Noun to [%Noun|Verb%]",group:0,tag:"Noun",reason:"start-to-finish"},{match:"(for|with|of) #Noun (and|or|not) [%Noun|Verb%]",group:0,tag:"Noun",notIf:"#Pronoun",reason:"for-food-and-gas"},{match:"#Adjective #Adjective [#PresentTense]",group:0,tag:"Noun",notIf:"#Copula",reason:"adorable-little-store"},{match:"#Gerund #Adverb? #Comparative [#PresentTense]",group:0,tag:"Noun",notIf:"#Copula",reason:"higher-costs"},{match:"(#Noun && @hasComma) #Noun (and|or) [#PresentTense]",group:0,tag:"Noun",notIf:"#Copula",reason:"noun-list"},{match:"(many|any|some|several) [#PresentTense] for",group:0,tag:"Noun",reason:"any-verbs-for"},{match:"to #PresentTense #Noun [#PresentTense] #Preposition",group:0,tag:"Noun",reason:"gas-exchange"},{match:"#PastTense (until|as|through|without) [#PresentTense]",group:0,tag:"Noun",reason:"waited-until-release"},{match:"#Gerund like #Adjective? [#PresentTense]",group:0,tag:"Plural",reason:"like-hot-cakes"},{match:"some #Adjective [#PresentTense]",group:0,tag:"Noun",reason:"some-reason"},{match:"for some [#PresentTense]",group:0,tag:"Noun",reason:"for-some-reason"},{match:"(same|some|the|that|a) kind of [#PresentTense]",group:0,tag:"Noun",reason:"some-kind-of"},{match:"(same|some|the|that|a) type of [#PresentTense]",group:0,tag:"Noun",reason:"some-type-of"},{match:"#Gerund #Adjective #Preposition [#PresentTense]",group:0,tag:"Noun",reason:"doing-better-for-x"},{match:"(get|got|have) #Comparative [#PresentTense]",group:0,tag:"Noun",reason:"got-better-aim"},{match:"whose [#PresentTense] #Copula",group:0,tag:"Noun",reason:"whos-name-was"},{match:"#PhrasalVerb #Particle #Preposition [#PresentTense]",group:0,tag:"Noun",reason:"given-up-on-x"},{match:"there (are|were) #Adjective? [#PresentTense]",group:0,tag:"Plural",reason:"there-are"},{match:"#Value [#PresentTense] of",group:0,notIf:"(one|1|#Copula|#Infinitive)",tag:"Plural",reason:"2-trains"},{match:"[#PresentTense] (are|were) #Adjective",group:0,tag:"Plural",reason:"compromises-are-possible"},{match:"^[(hope|guess|thought|think)] #Pronoun #Verb",group:0,tag:"Infinitive",reason:"suppose-i"},{match:"#Possessive #Adjective [#Verb]",group:0,tag:"Noun",notIf:"#Copula",reason:"our-full-support"},{match:"[(tastes|smells)] #Adverb? #Adjective",group:0,tag:"PresentTense",reason:"tastes-good"},{match:"#Copula #Gerund [#PresentTense] !by?",group:0,tag:"Noun",notIf:"going",reason:"ignoring-commute"},{match:"#Determiner #Adjective? [(shed|thought|rose|bid|saw|spelt)]",group:0,tag:"Noun",reason:"noun-past"},{match:"how to [%Noun|Verb%]",group:0,tag:"Infinitive",reason:"how-to-noun"},{match:"which [%Noun|Verb%] #Noun",group:0,tag:"Infinitive",reason:"which-boost-it"},{match:"#Gerund [%Plural|Verb%]",group:0,tag:"Plural",reason:"asking-questions"},{match:"(ready|available|difficult|hard|easy|made|attempt|try) to [%Noun|Verb%]",group:0,tag:"Infinitive",reason:"ready-to-noun"},{match:"(bring|went|go|drive|run|bike) to [%Noun|Verb%]",group:0,tag:"Noun",reason:"bring-to-noun"},{match:"#Modal #Noun [%Noun|Verb%]",group:0,tag:"Infinitive",reason:"would-you-look"},{match:"#Copula just [#Infinitive]",group:0,tag:"Noun",reason:"is-just-spam"},{match:"^%Noun|Verb% %Plural|Verb%",tag:"Imperative #Plural",reason:"request-copies"},{match:"#Adjective #Plural and [%Plural|Verb%]",group:0,tag:"#Plural",reason:"pickles-and-drinks"},{match:"#Determiner #Year [#Verb]",group:0,tag:"Noun",reason:"the-1968-film"},{match:"#Determiner [#PhrasalVerb #Particle]",group:0,tag:"Noun",reason:"the-break-up"},{match:"#Determiner [%Adj|Noun%] #Noun",group:0,tag:"Adjective",notIf:"(#Pronoun|#Possessive|#ProperNoun)",reason:"the-individual-goals"},{match:"[%Noun|Verb%] or #Infinitive",group:0,tag:"Infinitive",reason:"work-or-prepare"},{match:"to #Infinitive [#PresentTense]",group:0,tag:"Noun",notIf:"(#Gerund|#Copula|help)",reason:"to-give-thanks"},{match:"[#Noun] me",group:0,tag:"Verb",reason:"kills-me"},{match:"%Plural|Verb% %Plural|Verb%",tag:"#PresentTense #Plural",reason:"removes-wrinkles"}],[{match:"#Money and #Money #Currency?",tag:"Money",reason:"money-and-money"},{match:"#Value #Currency [and] #Value (cents|ore|centavos|sens)",group:0,tag:"money",reason:"and-5-cents"},{match:"#Value (mark|rand|won|rub|ore)",tag:"#Money #Currency",reason:"4-mark"},{match:"a pound",tag:"#Money #Unit",reason:"a-pound"},{match:"#Value (pound|pounds)",tag:"#Money #Unit",reason:"4-pounds"}],[{match:"[(half|quarter)] of? (a|an)",group:0,tag:"Fraction",reason:"millionth"},{match:"#Adverb [half]",group:0,tag:"Fraction",reason:"nearly-half"},{match:"[half] the",group:0,tag:"Fraction",reason:"half-the"},{match:"#Cardinal and a half",tag:"Fraction",reason:"and-a-half"},{match:"#Value (halves|halfs|quarters)",tag:"Fraction",reason:"two-halves"},{match:"a #Ordinal",tag:"Fraction",reason:"a-quarter"},{match:"[#Cardinal+] (#Fraction && /s$/)",tag:"Fraction",reason:"seven-fifths"},{match:"[#Cardinal+ #Ordinal] of .",group:0,tag:"Fraction",reason:"ordinal-of"},{match:"[(#NumericValue && #Ordinal)] of .",group:0,tag:"Fraction",reason:"num-ordinal-of"},{match:"(a|one) #Cardinal?+ #Ordinal",tag:"Fraction",reason:"a-ordinal"},{match:"#Cardinal+ out? of every? #Cardinal",tag:"Fraction",reason:"out-of"}],[{match:"#Cardinal [second]",tag:"Unit",reason:"one-second"},{match:"!once? [(a|an)] (#Duration|hundred|thousand|million|billion|trillion)",group:0,tag:"Value",reason:"a-is-one"},{match:"1 #Value #PhoneNumber",tag:"PhoneNumber",reason:"1-800-Value"},{match:"#NumericValue #PhoneNumber",tag:"PhoneNumber",reason:"(800) PhoneNumber"},{match:"#Demonym #Currency",tag:"Currency",reason:"demonym-currency"},{match:"#Value [(buck|bucks|grand)]",group:0,tag:"Currency",reason:"value-bucks"},{match:"[#Value+] #Currency",group:0,tag:"Money",reason:"15 usd"},{match:"[second] #Noun",group:0,tag:"Ordinal",reason:"second-noun"},{match:"#Value+ [#Currency]",group:0,tag:"Unit",reason:"5-yan"},{match:"#Value [(foot|feet)]",group:0,tag:"Unit",reason:"foot-unit"},{match:"#Value [#Abbreviation]",group:0,tag:"Unit",reason:"value-abbr"},{match:"#Value [k]",group:0,tag:"Unit",reason:"value-k"},{match:"#Unit an hour",tag:"Unit",reason:"unit-an-hour"},{match:"(minus|negative) #Value",tag:"Value",reason:"minus-value"},{match:"#Value (point|decimal) #Value",tag:"Value",reason:"value-point-value"},{match:"#Determiner [(half|quarter)] #Ordinal",group:0,tag:"Value",reason:"half-ordinal"},{match:"#Multiple+ and #Value",tag:"Value",reason:"magnitude-and-value"},{match:"#Value #Unit [(per|an) (hr|hour|sec|second|min|minute)]",group:0,tag:"Unit",reason:"12-miles-per-second"},{match:"#Value [(square|cubic)] #Unit",group:0,tag:"Unit",reason:"square-miles"},{match:"^[#Value] (#Determiner|#Gerund)",group:0,tag:"Expression",unTag:"Value",reason:"numbered-list"}],[{match:"#Copula [(#Noun|#PresentTense)] #LastName",group:0,tag:"FirstName",reason:"copula-noun-lastname"},{match:"(sister|pope|brother|father|aunt|uncle|grandpa|grandfather|grandma) #ProperNoun",tag:"Person",reason:"lady-titlecase",safe:!0},{match:"#FirstName [#Determiner #Noun] #LastName",group:0,tag:"Person",reason:"first-noun-last"},{match:"#ProperNoun (b|c|d|e|f|g|h|j|k|l|m|n|o|p|q|r|s|t|u|v|w|x|y|z) #ProperNoun",tag:"Person",reason:"titlecase-acronym-titlecase",safe:!0},{match:"#Acronym #LastName",tag:"Person",reason:"acronym-lastname",safe:!0},{match:"#Person (jr|sr|md)",tag:"Person",reason:"person-honorific"},{match:"#Honorific #Acronym",tag:"Person",reason:"Honorific-TitleCase"},{match:"#Person #Person the? #RomanNumeral",tag:"Person",reason:"roman-numeral"},{match:"#FirstName [/^[^aiurck]$/]",group:0,tag:["Acronym","Person"],reason:"john-e"},{match:"#Noun van der? #Noun",tag:"Person",reason:"van der noun",safe:!0},{match:"(king|queen|prince|saint|lady) of #Noun",tag:"Person",reason:"king-of-noun",safe:!0},{match:"(prince|lady) #Place",tag:"Person",reason:"lady-place"},{match:"(king|queen|prince|saint) #ProperNoun",tag:"Person",reason:"saint-foo"},{match:"al (#Person|#ProperNoun)",tag:"Person",reason:"al-borlen",safe:!0},{match:"#FirstName de #Noun",tag:"Person",reason:"bill-de-noun"},{match:"#FirstName (bin|al) #Noun",tag:"Person",reason:"bill-al-noun"},{match:"#FirstName #Acronym #ProperNoun",tag:"Person",reason:"bill-acronym-title"},{match:"#FirstName #FirstName #ProperNoun",tag:"Person",reason:"bill-firstname-title"},{match:"#Honorific #FirstName? #ProperNoun",tag:"Person",reason:"dr-john-Title"},{match:"#FirstName the #Adjective",tag:"Person",reason:"name-the-great"},{match:"#ProperNoun (van|al|bin) #ProperNoun",tag:"Person",reason:"title-van-title",safe:!0},{match:"#ProperNoun (de|du) la? #ProperNoun",tag:"Person",reason:"title-de-title"},{match:"#Singular #Acronym #LastName",tag:"#FirstName #Person .",reason:"title-acro-noun",safe:!0},{match:"[#ProperNoun] #Person",group:0,tag:"Person",reason:"proper-person",safe:!0},{match:"#Person [#ProperNoun #ProperNoun]",group:0,tag:"Person",notIf:"#Possessive",reason:"three-name-person",safe:!0},{match:"#FirstName #Acronym? [#ProperNoun]",group:0,tag:"LastName",notIf:"#Possessive",reason:"firstname-titlecase"},{match:"#FirstName [#FirstName]",group:0,tag:"LastName",reason:"firstname-firstname"},{match:"#FirstName #Acronym #Noun",tag:"Person",reason:"n-acro-noun",safe:!0},{match:"#FirstName [(de|di|du|van|von)] #Person",group:0,tag:"LastName",reason:"de-firstname"},{match:"[(lieutenant|corporal|sergeant|captain|qeen|king|admiral|major|colonel|marshal|president|queen|king)+] #ProperNoun",group:0,tag:"Honorific",reason:"seargeant-john"},{match:"[(private|general|major|rear|prime|field|count|miss)] #Honorific? #Person",group:0,tag:["Honorific","Person"],reason:"ambg-honorifics"},{match:"#Honorific #FirstName [#Singular]",group:0,tag:"LastName",notIf:"#Possessive",reason:"dr-john-foo",safe:!0},{match:"[(his|her) (majesty|honour|worship|excellency|honorable)] #Person",group:0,tag:"Honorific",reason:"his-excellency"},{match:"#Honorific #Actor",tag:"Honorific",reason:"Lieutenant colonel"},{match:"(first|second|third|1st|2nd|3rd) #Actor",tag:"Honorific",reason:"first lady"},{match:"#Person #RomanNumeral",tag:"Person",reason:"louis-IV"}],[{match:"%Person|Date% #Acronym? #ProperNoun",tag:"Person",reason:"jan-thierson"},{match:"%Person|Noun% #Acronym? #ProperNoun",tag:"Person",reason:"switch-person",safe:!0},{match:"%Person|Noun% #Organization",tag:"Organization",reason:"olive-garden"},{match:"%Person|Verb% #Acronym? #ProperNoun",tag:"Person",reason:"verb-propernoun",ifNo:"#Actor"},{match:"[%Person|Verb%] (will|had|has|said|says|told|did|learned|wants|wanted)",group:0,tag:"Person",reason:"person-said"},{match:"[%Person|Place%] (harbor|harbour|pier|town|city|place|dump|landfill)",group:0,tag:"Place",reason:"sydney-harbour"},{match:"(west|east|north|south) [%Person|Place%]",group:0,tag:"Place",reason:"east-sydney"},{match:"#Modal [%Person|Verb%]",group:0,tag:"Verb",reason:"would-mark"},{match:"#Adverb [%Person|Verb%]",group:0,tag:"Verb",reason:"really-mark"},{match:"[%Person|Verb%] (#Adverb|#Comparative)",group:0,tag:"Verb",reason:"drew-closer"},{match:"%Person|Verb% #Person",tag:"Person",reason:"rob-smith"},{match:"%Person|Verb% #Acronym #ProperNoun",tag:"Person",reason:"rob-a-smith"},{match:"[will] #Verb",group:0,tag:"Modal",reason:"will-verb"},{match:"(will && @isTitleCase) #ProperNoun",tag:"Person",reason:"will-name"},{match:"(#FirstName && !#Possessive) [#Singular] #Verb",group:0,safe:!0,tag:"LastName",reason:"jack-layton"},{match:"^[#Singular] #Person #Verb",group:0,safe:!0,tag:"Person",reason:"sherwood-anderson"},{match:"(a|an) [#Person]$",group:0,unTag:"Person",reason:"a-warhol"}],[{match:"#Copula (pretty|dead|full|well|sure) (#Adjective|#Noun)",tag:"#Copula #Adverb #Adjective",reason:"sometimes-adverb"},{match:"(#Pronoun|#Person) (had|#Adverb)? [better] #PresentTense",group:0,tag:"Modal",reason:"i-better"},{match:"(#Modal|i|they|we|do) not? [like]",group:0,tag:"PresentTense",reason:"modal-like"},{match:"#Noun #Adverb? [left]",group:0,tag:"PastTense",reason:"left-verb"},{match:"will #Adverb? not? #Adverb? [be] #Gerund",group:0,tag:"Copula",reason:"will-be-copula"},{match:"will #Adverb? not? #Adverb? [be] #Adjective",group:0,tag:"Copula",reason:"be-copula"},{match:"[march] (up|down|back|toward)",notIf:"#Date",group:0,tag:"Infinitive",reason:"march-to"},{match:"#Modal [march]",group:0,tag:"Infinitive",reason:"must-march"},{match:"[may] be",group:0,tag:"Verb",reason:"may-be"},{match:"[(subject|subjects|subjected)] to",group:0,tag:"Verb",reason:"subject to"},{match:"[home] to",group:0,tag:"PresentTense",reason:"home to"},{match:"[open] #Determiner",group:0,tag:"Infinitive",reason:"open-the"},{match:"(were|was) being [#PresentTense]",group:0,tag:"PastTense",reason:"was-being"},{match:"(had|has|have) [been /en$/]",group:0,tag:"Auxiliary Participle",reason:"had-been-broken"},{match:"(had|has|have) [been /ed$/]",group:0,tag:"Auxiliary PastTense",reason:"had-been-smoked"},{match:"(had|has) #Adverb? [been] #Adverb? #PastTense",group:0,tag:"Auxiliary",reason:"had-been-adj"},{match:"(had|has) to [#Noun] (#Determiner|#Possessive)",group:0,tag:"Infinitive",reason:"had-to-noun"},{match:"have [#PresentTense]",group:0,tag:"PastTense",notIf:"(come|gotten)",reason:"have-read"},{match:"(does|will|#Modal) that [work]",group:0,tag:"PastTense",reason:"does-that-work"},{match:"[(sound|sounds)] #Adjective",group:0,tag:"PresentTense",reason:"sounds-fun"},{match:"[(look|looks)] #Adjective",group:0,tag:"PresentTense",reason:"looks-good"},{match:"[(start|starts|stop|stops|begin|begins)] #Gerund",group:0,tag:"Verb",reason:"starts-thinking"},{match:"(have|had) read",tag:"Modal #PastTense",reason:"read-read"},{match:"(is|was|were) [(under|over) #PastTense]",group:0,tag:"Adverb Adjective",reason:"was-under-cooked"},{match:"[shit] (#Determiner|#Possessive|them)",group:0,tag:"Verb",reason:"swear1-verb"},{match:"[damn] (#Determiner|#Possessive|them)",group:0,tag:"Verb",reason:"swear2-verb"},{match:"[fuck] (#Determiner|#Possessive|them)",group:0,tag:"Verb",reason:"swear3-verb"},{match:"#Plural that %Noun|Verb%",tag:". #Preposition #Infinitive",reason:"jobs-that-work"},{match:"[works] for me",group:0,tag:"PresentTense",reason:"works-for-me"},{match:"as #Pronoun [please]",group:0,tag:"Infinitive",reason:"as-we-please"},{match:"[(co|mis|de|inter|intra|pre|re|un|out|under|over|counter)] #Verb",group:0,tag:["Verb","Prefix"],notIf:"(#Copula|#PhrasalVerb)",reason:"co-write"},{match:"#PastTense and [%Adj|Past%]",group:0,tag:"PastTense",reason:"dressed-and-left"},{match:"[%Adj|Past%] and #PastTense",group:0,tag:"PastTense",reason:"dressed-and-left"},{match:"#Copula #Pronoun [%Adj|Past%]",group:0,tag:"Adjective",reason:"is-he-stoked"},{match:"to [%Noun|Verb%] #Preposition",group:0,tag:"Infinitive",reason:"to-dream-of"}],[{match:"(slowly|quickly) [#Adjective]",group:0,tag:"Verb",reason:"slowly-adj"},{match:"does (#Adverb|not)? [#Adjective]",group:0,tag:"PresentTense",reason:"does-mean"},{match:"[(fine|okay|cool|ok)] by me",group:0,tag:"Adjective",reason:"okay-by-me"},{match:"i (#Adverb|do)? not? [mean]",group:0,tag:"PresentTense",reason:"i-mean"},{match:"will #Adjective",tag:"Auxiliary Infinitive",reason:"will-adj"},{match:"#Pronoun [#Adjective] #Determiner #Adjective? #Noun",group:0,tag:"Verb",reason:"he-adj-the"},{match:"#Copula [%Adj|Present%] to #Verb",group:0,tag:"Verb",reason:"adj-to"},{match:"#Copula [#Adjective] (well|badly|quickly|slowly)",group:0,tag:"Verb",reason:"done-well"},{match:"#Adjective and [#Gerund] !#Preposition?",group:0,tag:"Adjective",reason:"rude-and-x"},{match:"#Copula #Adverb? (over|under) [#PastTense]",group:0,tag:"Adjective",reason:"over-cooked"},{match:"#Copula #Adjective+ (and|or) [#PastTense]$",group:0,tag:"Adjective",reason:"bland-and-overcooked"},{match:"got #Adverb? [#PastTense] of",group:0,tag:"Adjective",reason:"got-tired-of"},{match:"(seem|seems|seemed|appear|appeared|appears|feel|feels|felt|sound|sounds|sounded) (#Adverb|#Adjective)? [#PastTense]",group:0,tag:"Adjective",reason:"felt-loved"},{match:"(seem|feel|seemed|felt) [#PastTense #Particle?]",group:0,tag:"Adjective",reason:"seem-confused"},{match:"a (bit|little|tad) [#PastTense #Particle?]",group:0,tag:"Adjective",reason:"a-bit-confused"},{match:"not be [%Adj|Past% #Particle?]",group:0,tag:"Adjective",reason:"do-not-be-confused"},{match:"#Copula just [%Adj|Past% #Particle?]",group:0,tag:"Adjective",reason:"is-just-right"},{match:"as [#Infinitive] as",group:0,tag:"Adjective",reason:"as-pale-as"},{match:"[%Adj|Past%] and #Adjective",group:0,tag:"Adjective",reason:"faled-and-oppressive"},{match:"or [#PastTense] #Noun",group:0,tag:"Adjective",notIf:"(#Copula|#Pronoun)",reason:"or-heightened-emotion"},{match:"(become|became|becoming|becomes) [#Verb]",group:0,tag:"Adjective",reason:"become-verb"},{match:"#Possessive [#PastTense] #Noun",group:0,tag:"Adjective",reason:"declared-intentions"},{match:"#Copula #Pronoun [%Adj|Present%]",group:0,tag:"Adjective",reason:"is-he-cool"}],[{match:"will (#Adverb|not)+? [have] (#Adverb|not)+? #Verb",group:0,tag:"Auxiliary",reason:"will-have-vb"},{match:"[#Copula] (#Adverb|not)+? (#Gerund|#PastTense)",group:0,tag:"Auxiliary",reason:"copula-walking"},{match:"[(#Modal|did)+] (#Adverb|not)+? #Verb",group:0,tag:"Auxiliary",reason:"modal-verb"},{match:"#Modal (#Adverb|not)+? [have] (#Adverb|not)+? [had] (#Adverb|not)+? #Verb",group:0,tag:"Auxiliary",reason:"would-have"},{match:"[(has|had)] (#Adverb|not)+? #PastTense",group:0,tag:"Auxiliary",reason:"had-walked"},{match:"[(do|does|did|will|have|had|has|got)] (not|#Adverb)+? #Verb",group:0,tag:"Auxiliary",reason:"have-had"},{match:"[about to] #Adverb? #Verb",group:0,tag:["Auxiliary","Verb"],reason:"about-to"},{match:"#Modal (#Adverb|not)+? [be] (#Adverb|not)+? #Verb",group:0,tag:"Auxiliary",reason:"would-be"},{match:"[(#Modal|had|has)] (#Adverb|not)+? [been] (#Adverb|not)+? #Verb",group:0,tag:"Auxiliary",reason:"had-been"},{match:"[(be|being|been)] #Participle",group:0,tag:"Auxiliary",reason:"being-driven"},{match:"[may] #Adverb? #Infinitive",group:0,tag:"Auxiliary",reason:"may-want"},{match:"#Copula (#Adverb|not)+? [(be|being|been)] #Adverb+? #PastTense",group:0,tag:"Auxiliary",reason:"being-walked"},{match:"will [be] #PastTense",group:0,tag:"Auxiliary",reason:"will-be-x"},{match:"[(be|been)] (#Adverb|not)+? #Gerund",group:0,tag:"Auxiliary",reason:"been-walking"},{match:"[used to] #PresentTense",group:0,tag:"Auxiliary",reason:"used-to-walk"},{match:"#Copula (#Adverb|not)+? [going to] #Adverb+? #PresentTense",group:0,tag:"Auxiliary",reason:"going-to-walk"},{match:"#Imperative [(me|him|her)]",group:0,tag:"Reflexive",reason:"tell-him"},{match:"(is|was) #Adverb? [no]",group:0,tag:"Negative",reason:"is-no"},{match:"[(been|had|became|came)] #PastTense",group:0,notIf:"#PhrasalVerb",tag:"Auxiliary",reason:"been-told"},{match:"[(being|having|getting)] #Verb",group:0,tag:"Auxiliary",reason:"being-born"},{match:"[be] #Gerund",group:0,tag:"Auxiliary",reason:"be-walking"},{match:"[better] #PresentTense",group:0,tag:"Modal",notIf:"(#Copula|#Gerund)",reason:"better-go"},{match:"even better",tag:"Adverb #Comparative",reason:"even-better"}],[{match:"(#Verb && @hasHyphen) up",tag:"PhrasalVerb",reason:"foo-up"},{match:"(#Verb && @hasHyphen) off",tag:"PhrasalVerb",reason:"foo-off"},{match:"(#Verb && @hasHyphen) over",tag:"PhrasalVerb",reason:"foo-over"},{match:"(#Verb && @hasHyphen) out",tag:"PhrasalVerb",reason:"foo-out"},{match:"[#Verb (in|out|up|down|off|back)] (on|in)",notIf:"#Copula",tag:"PhrasalVerb Particle",reason:"walk-in-on"},{match:"(lived|went|crept|go) [on] for",group:0,tag:"PhrasalVerb",reason:"went-on"},{match:"#Verb (up|down|in|on|for)$",tag:"PhrasalVerb #Particle",notIf:"#PhrasalVerb",reason:"come-down$"},{match:"help [(stop|end|make|start)]",group:0,tag:"Infinitive",reason:"help-stop"},{match:"#PhrasalVerb (in && #Particle) #Determiner",tag:"#Verb #Preposition #Determiner",unTag:"PhrasalVerb",reason:"work-in-the"},{match:"[(stop|start|finish|help)] #Gerund",group:0,tag:"Infinitive",reason:"start-listening"},{match:"#Verb (him|her|it|us|himself|herself|itself|everything|something) [(up|down)]",group:0,tag:"Adverb",reason:"phrasal-pronoun-advb"}],[{match:"^do not? [#Infinitive #Particle?]",notIf:Uu,group:0,tag:"Imperative",reason:"do-eat"},{match:"^please do? not? [#Infinitive #Particle?]",group:0,tag:"Imperative",reason:"please-go"},{match:"^just do? not? [#Infinitive #Particle?]",group:0,tag:"Imperative",reason:"just-go"},{match:"^[#Infinitive] it #Comparative",notIf:Uu,group:0,tag:"Imperative",reason:"do-it-better"},{match:"^[#Infinitive] it (please|now|again|plz)",notIf:Uu,group:0,tag:"Imperative",reason:"do-it-please"},{match:"^[#Infinitive] (#Adjective|#Adverb)$",group:0,tag:"Imperative",notIf:"(so|such|rather|enough)",reason:"go-quickly"},{match:"^[#Infinitive] (up|down|over) #Determiner",group:0,tag:"Imperative",reason:"turn-down"},{match:"^[#Infinitive] (your|my|the|a|an|any|each|every|some|more|with|on)",group:0,notIf:"like",tag:"Imperative",reason:"eat-my-shorts"},{match:"^[#Infinitive] (him|her|it|us|me|there)",group:0,tag:"Imperative",reason:"tell-him"},{match:"^[#Infinitive] #Adjective #Noun$",group:0,tag:"Imperative",reason:"avoid-loud-noises"},{match:"^[#Infinitive] (#Adjective|#Adverb)? and #Infinitive",group:0,tag:"Imperative",reason:"call-and-reserve"},{match:"^(go|stop|wait|hurry) please?$",tag:"Imperative",reason:"go"},{match:"^(somebody|everybody) [#Infinitive]",group:0,tag:"Imperative",reason:"somebody-call"},{match:"^let (us|me) [#Infinitive]",group:0,tag:"Imperative",reason:"lets-leave"},{match:"^[(shut|close|open|start|stop|end|keep)] #Determiner #Noun",group:0,tag:"Imperative",reason:"shut-the-door"},{match:"^[#PhrasalVerb #Particle] #Determiner #Noun",group:0,tag:"Imperative",reason:"turn-off-the-light"},{match:"^[go] to .",group:0,tag:"Imperative",reason:"go-to-toronto"},{match:"^#Modal you [#Infinitive]",group:0,tag:"Imperative",reason:"would-you-"},{match:"^never [#Infinitive]",group:0,tag:"Imperative",reason:"never-stop"},{match:"^come #Infinitive",tag:"Imperative",notIf:"on",reason:"come-have"},{match:"^come and? #Infinitive",tag:"Imperative . Imperative",notIf:"#PhrasalVerb",reason:"come-and-have"},{match:"^stay (out|away|back)",tag:"Imperative",reason:"stay-away"},{match:"^[(stay|be|keep)] #Adjective",group:0,tag:"Imperative",reason:"stay-cool"},{match:"^[keep it] #Adjective",group:0,tag:"Imperative",reason:"keep-it-cool"},{match:"^do not [#Infinitive]",group:0,tag:"Imperative",reason:"do-not-be"},{match:"[#Infinitive] (yourself|yourselves)",group:0,tag:"Imperative",reason:"allow-yourself"},{match:"[#Infinitive] what .",group:0,tag:"Imperative",reason:"look-what"},{match:"^[#Infinitive] #Gerund",group:0,tag:"Imperative",reason:"keep-playing"},{match:"^[#Infinitive] (to|for|into|toward|here|there)",group:0,tag:"Imperative",reason:"go-to"},{match:"^[#Infinitive] (and|or) #Infinitive",group:0,tag:"Imperative",reason:"inf-and-inf"},{match:"^[%Noun|Verb%] to",group:0,tag:"Imperative",reason:"commit-to"},{match:"^[#Infinitive] #Adjective? #Singular #Singular",group:0,tag:"Imperative",reason:"maintain-eye-contact"},{match:"do not (forget|omit|neglect) to [#Infinitive]",group:0,tag:"Imperative",reason:"do-not-forget"},{match:"^[(ask|wear|pay|look|help|show|watch|act|fix|kill|stop|start|turn|try|win)] #Noun",group:0,tag:"Imperative",reason:"pay-attention"}],[{match:"(that|which) were [%Adj|Gerund%]",group:0,tag:"Gerund",reason:"that-were-growing"},{match:"#Gerund [#Gerund] #Plural",group:0,tag:"Adjective",reason:"hard-working-fam"}],[{match:"u r",tag:"#Pronoun #Copula",reason:"u r"},{match:"#Noun [(who|whom)]",group:0,tag:"Determiner",reason:"captain-who"},{match:"[had] #Noun+ #PastTense",group:0,tag:"Condition",reason:"had-he"},{match:"[were] #Noun+ to #Infinitive",group:0,tag:"Condition",reason:"were-he"},{match:"some sort of",tag:"Adjective Noun Conjunction",reason:"some-sort-of"},{match:"of some sort",tag:"Conjunction Adjective Noun",reason:"of-some-sort"},{match:"[such] (a|an|is)? #Noun",group:0,tag:"Determiner",reason:"such-skill"},{match:"[right] (before|after|in|into|to|toward)",group:0,tag:"#Adverb",reason:"right-into"},{match:"#Preposition [about]",group:0,tag:"Adjective",reason:"at-about"},{match:"(are|#Modal|see|do|for) [ya]",group:0,tag:"Pronoun",reason:"are-ya"},{match:"[long live] .",group:0,tag:"#Adjective #Infinitive",reason:"long-live"},{match:"[plenty] of",group:0,tag:"#Uncountable",reason:"plenty-of"},{match:"(always|nearly|barely|practically) [there]",group:0,tag:"Adjective",reason:"always-there"},{match:"[there] (#Adverb|#Pronoun)? #Copula",group:0,tag:"There",reason:"there-is"},{match:"#Copula [there] .",group:0,tag:"There",reason:"is-there"},{match:"#Modal #Adverb? [there]",group:0,tag:"There",reason:"should-there"},{match:"^[do] (you|we|they)",group:0,tag:"QuestionWord",reason:"do-you"},{match:"^[does] (he|she|it|#ProperNoun)",group:0,tag:"QuestionWord",reason:"does-he"},{match:"a [while]",group:0,tag:"Noun",reason:"a-while"},{match:"guess who",tag:"#Infinitive #QuestionWord",reason:"guess-who"},{match:"[fucking] !#Verb",group:0,tag:"#Gerund",reason:"f-as-gerund"}],[{match:"#Noun (&|n) #Noun",tag:"Organization",reason:"Noun-&-Noun"},{match:"#Organization of the? #ProperNoun",tag:"Organization",reason:"org-of-place",safe:!0},{match:"#Organization #Country",tag:"Organization",reason:"org-country"},{match:"#ProperNoun #Organization",tag:"Organization",reason:"titlecase-org"},{match:"#ProperNoun (ltd|co|inc|dept|assn|bros)",tag:"Organization",reason:"org-abbrv"},{match:"the [#Acronym]",group:0,tag:"Organization",reason:"the-acronym",safe:!0},{match:"(world|global|international|national|#Demonym) #Organization",tag:"Organization",reason:"global-org"},{match:"#Noun+ (public|private) school",tag:"School",reason:"noun-public-school"}],[{match:"(west|north|south|east|western|northern|southern|eastern)+ #Place",tag:"Region",reason:"west-norfolk"},{match:"#City [(al|ak|az|ar|ca|ct|dc|fl|ga|id|il|nv|nh|nj|ny|oh|pa|sc|tn|tx|ut|vt|pr)]",group:0,tag:"Region",reason:"us-state"},{match:"portland [or]",group:0,tag:"Region",reason:"portland-or"},{match:"#ProperNoun+ (district|region|province|county|prefecture|municipality|territory|burough|reservation)",tag:"Region",reason:"foo-district"},{match:"#ProperNoun+ (river|lake|bay|inlet|creek|narrows|cove|dune|coast|lagoon|beach|peninsula|hill|mountain|canyon|marsh|island|trail|valley|glacier|estuary|desert|escarpment|gorge|plains|waterfall)",tag:"Place",reason:"foo-river"},{match:"(river|gulf|lake) of? #ProperNoun+",tag:"Place",reason:"river-foo"},{match:"(district|region|province|municipality|territory|burough|state) of #ProperNoun",tag:"Region",reason:"district-of-Foo"},{match:"in [#ProperNoun] #Place",group:0,tag:"Place",reason:"propernoun-place"},{match:"#Value #Noun (st|street|rd|road|crescent|cr|way|tr|terrace|avenue|ave)",tag:"Address",reason:"address-st"}],[{match:"[so] #Noun",group:0,tag:"Conjunction",reason:"so-conj"},{match:"[(who|what|where|why|how|when)] #Noun #Copula #Adverb? (#Verb|#Adjective)",group:0,tag:"Conjunction",reason:"how-he-is-x"},{match:"#Copula [(who|what|where|why|how|when)] #Noun",group:0,tag:"Conjunction",reason:"when-he"},{match:"#Verb [that] #Pronoun",group:0,tag:"Conjunction",reason:"said-that-he"},{match:"#Noun [that] #Copula",group:0,tag:"Conjunction",reason:"that-are"},{match:"#Noun [that] #Verb #Adjective",group:0,tag:"Conjunction",reason:"that-seem"},{match:"#Noun #Copula not? [that] #Adjective",group:0,tag:"Adverb",reason:"that-adj"},{match:"#Verb #Adverb? #Noun [(that|which)]",group:0,tag:"Preposition",reason:"that-prep"},{match:"@hasComma [which] (#Pronoun|#Verb)",group:0,tag:"Preposition",reason:"which-copula"},{match:"#Noun [like] #Noun",group:0,tag:"Preposition",reason:"noun-like"},{match:"^[like] #Determiner",group:0,tag:"Preposition",reason:"like-the"},{match:"a #Noun [like] (#Noun|#Determiner)",group:0,tag:"Preposition",reason:"a-noun-like"},{match:"#Adverb [like]",group:0,tag:"Verb",reason:"really-like"},{match:"(not|nothing|never) [like]",group:0,tag:"Preposition",reason:"nothing-like"},{match:"#Infinitive #Pronoun [like]",group:0,tag:"Preposition",reason:"treat-them-like"},{match:"[#QuestionWord] (#Pronoun|#Determiner)",group:0,tag:"Preposition",reason:"how-he"},{match:"[#QuestionWord] #Participle",group:0,tag:"Preposition",reason:"when-stolen"},{match:"[how] (#Determiner|#Copula|#Modal|#PastTense)",group:0,tag:"QuestionWord",reason:"how-is"},{match:"#Plural [(who|which|when)] .",group:0,tag:"Preposition",reason:"people-who"}],[{match:"holy (shit|fuck|hell)",tag:"Expression",reason:"swears-expression"},{match:"^[(well|so|okay|now)] !#Adjective?",group:0,tag:"Expression",reason:"well-"},{match:"^come on",tag:"Expression",reason:"come-on"},{match:"(say|says|said) [sorry]",group:0,tag:"Expression",reason:"say-sorry"},{match:"^(ok|alright|shoot|hell|anyways)",tag:"Expression",reason:"ok-"},{match:"^(say && @hasComma)",tag:"Expression",reason:"say-"},{match:"^(like && @hasComma)",tag:"Expression",reason:"like-"},{match:"^[(dude|man|girl)] #Pronoun",group:0,tag:"Expression",reason:"dude-i"}]),Ru=null;var _u={postTagger:function(e){const{world:t}=e,{model:n,methods:r}=t;Ru=Ru||r.one.buildNet(n.two.matches,t);let a=r.two.quickSplit(e.document).map((e=>{let t=e[0];return[t.index[0],t.index[1],t.index[1]+e.length]})),o=e.update(a);return o.cache(),o.sweep(Ru),e.uncache(),e},tagger:e=>e.compute(["lexicon","preTagger","postTagger"])};const Xu={api:function(e){e.prototype.confidence=function(){let e=0,t=0;return this.docs.forEach((n=>{n.forEach((n=>{t+=1,e+=n.confidence||1}))})),0===t?1:(e=>Math.round(100*e)/100)(e/t)},e.prototype.tagger=function(){return this.compute(["tagger"])}},compute:_u,model:{two:{matches:Qu}},hooks:["postTagger"]};var Zu=Xu,Yu=function(e,t){let n=function(e){return Object.keys(e.hooks).filter((e=>!e.startsWith("#")&&!e.startsWith("%")))}(t);if(0===n.length)return e;e._cache||e.cache();let r=e._cache;return e.filter(((e,t)=>n.some((e=>r[t].has(e)))))},ec=function(e,t){let n=t;"string"==typeof t&&(n=this.buildNet([{match:t}]));let r=this.tokenize(e),a=Yu(r,n);return a.found?(a.compute(["index","tagger"]),a.match(t)):r.none()},tc={lib:{lazy:ec}},nc=function(e,t){let n=t;return e.forEach((e=>{e.has("#Infinitive")||(n=function(e,t){let n=(0,e.methods.two.transform.verb.conjugate)(t,e.model);return e.has("#Gerund")?n.Gerund:e.has("#PastTense")?n.PastTense:e.has("#PresentTense")?n.PresentTense:e.has("#Gerund")?n.Gerund:t}(e,t)),e.replaceWith(n)})),e},rc=function(e,t,n){let r=e.split(/ /g).map((e=>e.toLowerCase().trim()));r=r.filter((e=>e)),r=r.map((e=>`{${e}}`)).join(" ");let a=this.match(r);return n&&(a=a.if(n)),a.has("#Verb")?nc(a,t):a.has("#Noun")?function(e,t){let n=t;e.has("#Plural")&&(n=(0,e.methods.two.transform.noun.toPlural)(t,e.model)),e.replaceWith(n,{possessives:!0})}(a,t):a.has("#Adverb")?function(e,t){const{toAdverb:n}=e.methods.two.transform.adjective;let r=n(t);r&&e.replaceWith(r)}(a,t):a.has("#Adjective")?function(e,t){const{toComparative:n,toSuperlative:r}=e.methods.two.transform.adjective;let a=t;e.has("#Comparative")?a=n(a,e.model):e.has("#Superlative")&&(a=r(a,e.model)),a&&e.replaceWith(a)}(a,t):this},ac={api:function(e){e.prototype.swap=rc}};v.plugin(Nu),v.plugin(Ku),v.plugin(Zu),v.plugin(tc),v.plugin(ac);const oc=function(e){const{fromComparative:t,fromSuperlative:n}=e.methods.two.transform.adjective;let r=e.text("normal");return e.has("#Comparative")?t(r,e.model):e.has("#Superlative")?n(r,e.model):r};var ic={api:function(e){class Adjectives extends e{constructor(e,t,n){super(e,t,n),this.viewType="Adjectives"}json(e={}){const{toAdverb:t,toNoun:n,toSuperlative:r,toComparative:a}=this.methods.two.transform.adjective;return e.normal=!0,this.map((o=>{let i=o.toView().json(e)[0]||{},s=oc(o);return i.adjective={adverb:t(s,this.model),noun:n(s,this.model),superlative:r(s,this.model),comparative:a(s,this.model)},i}),[])}adverbs(){return this.before("#Adverb+$").concat(this.after("^#Adverb+"))}conjugate(e){const{toComparative:t,toSuperlative:n,toNoun:r,toAdverb:a}=this.methods.two.transform.adjective;return this.getNth(e).map((e=>{let o=oc(e);return{Adjective:o,Comparative:t(o,this.model),Superlative:n(o,this.model),Noun:r(o,this.model),Adverb:a(o,this.model)}}),[])}toComparative(e){const{toComparative:t}=this.methods.two.transform.adjective;return this.getNth(e).map((e=>{let n=oc(e),r=t(n,this.model);return e.replaceWith(r)}))}toSuperlative(e){const{toSuperlative:t}=this.methods.two.transform.adjective;return this.getNth(e).map((e=>{let n=oc(e),r=t(n,this.model);return e.replaceWith(r)}))}toAdverb(e){const{toAdverb:t}=this.methods.two.transform.adjective;return this.getNth(e).map((e=>{let n=oc(e),r=t(n,this.model);return e.replaceWith(r)}))}toNoun(e){const{toNoun:t}=this.methods.two.transform.adjective;return this.getNth(e).map((e=>{let n=oc(e),r=t(n,this.model);return e.replaceWith(r)}))}}e.prototype.adjectives=function(e){let t=this.match("#Adjective");return t=t.getNth(e),new Adjectives(t.document,t.pointer)},e.prototype.superlatives=function(e){let t=this.match("#Superlative");return t=t.getNth(e),new Adjectives(t.document,t.pointer)},e.prototype.comparatives=function(e){let t=this.match("#Comparative");return t=t.getNth(e),new Adjectives(t.document,t.pointer)}}},sc={api:function(e){class Adverbs extends e{constructor(e,t,n){super(e,t,n),this.viewType="Adverbs"}conjugate(e){return this.getNth(e).map((e=>{let t=function(e){return e.compute("root").text("root")}(e);return{Adverb:e.text("normal"),Adjective:t}}),[])}json(e={}){const t=this.methods.two.transform.adjective.fromAdverb;return e.normal=!0,this.map((n=>{let r=n.toView().json(e)[0]||{};return r.adverb={adjective:t(r.normal)},r}),[])}}e.prototype.adverbs=function(e){let t=this.match("#Adverb");return t=t.getNth(e),new Adverbs(t.document,t.pointer)}}},lc=function(e){let t=this;return t=function(e){let t=e.parentheses();return t=t.filter((e=>e.wordCount()>=3&&e.has("#Verb")&&e.has("#Noun"))),e.splitOn(t)}(t),t=function(e){let t=e.quotations();return t=t.filter((e=>e.wordCount()>=3&&e.has("#Verb")&&e.has("#Noun"))),e.splitOn(t)}(t),t=function(e){let t=e.match("@hasComma");return t=t.filter((e=>{if(1===e.growLeft(".").wordCount())return!1;if(1===e.growRight(". .").wordCount())return!1;let t=e.grow(".");return t=t.ifNo("@hasComma @hasComma"),t=t.ifNo("@hasComma (and|or) ."),t=t.ifNo("(#City && @hasComma) #Country"),t=t.ifNo("(#WeekDay && @hasComma) #Date"),t=t.ifNo("(#Date+ && @hasComma) #Value"),t=t.ifNo("(#Adjective && @hasComma) #Adjective"),t.found})),e.splitAfter(t)}(t),t=t.splitAfter("(@hasEllipses|@hasSemicolon|@hasDash|@hasColon)"),t=t.splitAfter("^#Pronoun (said|says)"),t=t.splitBefore("(said|says) #ProperNoun$"),t=t.splitBefore(". . if .{4}"),t=t.splitBefore("and while"),t=t.splitBefore("now that"),t=t.splitBefore("ever since"),t=t.splitBefore("(supposing|although)"),t=t.splitBefore("even (while|if|though)"),t=t.splitBefore("(whereas|whose)"),t=t.splitBefore("as (though|if)"),t=t.splitBefore("(til|until)"),"number"==typeof e&&(t=t.get(e)),t},uc=function(e){let t=[],n=null;return e.clauses().docs.forEach((e=>{e.forEach((e=>{e.chunk&&e.chunk===n?t[t.length-1][2]=e.index[1]+1:(n=e.chunk,t.push([e.index[0],e.index[1],e.index[1]+1]))})),n=null})),e.update(t)},cc=function(e){class Chunks extends e{constructor(e,t,n){super(e,t,n),this.viewType="Chunks"}isVerb(){return this.filter((e=>e.has("")))}isNoun(){return this.filter((e=>e.has("")))}isAdjective(){return this.filter((e=>e.has("")))}isPivot(){return this.filter((e=>e.has("")))}debug(){return this.toView().debug("chunks"),this}update(e){let t=new Chunks(this.document,e);return t._cache=this._cache,t}}e.prototype.chunks=function(e){let t=uc(this);return t=t.getNth(e),new Chunks(this.document,t.pointer)},e.prototype.clauses=lc};const hc={this:"Noun",then:"Pivot"};var dc=function(e){for(let t=0;t",group:0,chunk:"Verb"},{match:"#Noun of #Determiner? #Noun",chunk:"Noun"},{match:"#Value+ #Adverb? #Adjective",chunk:"Noun"},{match:"the [#Adjective] #Noun",chunk:"Noun"},{match:"#Singular in #Determiner? #Singular",chunk:"Noun"},{match:"#Plural [in] #Determiner? #Noun",group:0,chunk:"Pivot"},{match:"#Noun and #Determiner? #Noun",notIf:"(#Possessive|#Pronoun)",chunk:"Noun"}];let pc=null;var fc=function(e,t,n){const{methods:r}=n;pc=pc||r.one.buildNet(mc,n),e.sweep(pc)};const vc=function(e,t){if(("undefined"!=typeof process&&process.env?process.env:self.env||{}).DEBUG_CHUNKS){let n=(e.normal+"'").padEnd(8);console.log(` | '${n} → ${t.padEnd(12)}  -fallback- `)}e.chunk=t};var bc=function(e){for(let t=0;t{for(let r=0;r{if("Verb"===e.chunk){const t=e.terms.find((e=>e.tags.has("Verb")));t||e.terms.forEach((e=>e.chunk=null))}}))},wc={chunks:function(e){const{document:t,world:n}=e;dc(t),gc(t),fc(e,t,n),bc(t),yc(t)}},kc={compute:wc,api:cc,hooks:["chunks"]};const Pc=/\./g;var Ac=function(e){class Acronyms extends e{constructor(e,t,n){super(e,t,n),this.viewType="Acronyms"}strip(){return this.docs.forEach((e=>{e.forEach((e=>{e.text=e.text.replace(Pc,""),e.normal=e.normal.replace(Pc,"")}))})),this}addPeriods(){return this.docs.forEach((e=>{e.forEach((e=>{e.text=e.text.replace(Pc,""),e.normal=e.normal.replace(Pc,""),e.text=e.text.split("").join(".")+".",e.normal=e.normal.split("").join(".")+"."}))})),this}}e.prototype.acronyms=function(e){let t=this.match("#Acronym");return t=t.getNth(e),new Acronyms(t.document,t.pointer)}};const Ic=/\(/,Nc=/\)/,jc=function(e,t){for(;t{e[0].pre=e[0].pre.replace(Ic,"");let t=e[e.length-1];t.post=t.post.replace(Nc,"")})),e}(this)}}e.prototype.parentheses=function(e){let t=function(e){let t=[];return e.docs.forEach((e=>{for(let n=0;n{e.forEach((e=>{e.text=e.text.replace(xc,""),e.normal=e.normal.replace(xc,"")}))})),this}}e.prototype.possessives=function(e){let t=function(e){let t=e.match("#Possessive+");return t.has("#Person")&&(t=t.growLeft("#Person+")),t.has("#Place")&&(t=t.growLeft("#Place+")),t.has("#Organization")&&(t=t.growLeft("#Organization+")),t}(this);return t=t.getNth(e),new Possessives(t.document,t.pointer)}};const Tc={'"':'"',""":""","'":"'","“":"”","‘":"’","‟":"”","‛":"’","„":"”","⹂":"”","‚":"’","«":"»","‹":"›","‵":"′","‶":"″","‷":"‴","〝":"〞","`":"´","〟":"〞"},Cc=RegExp("["+Object.keys(Tc).join("")+"]"),Oc=RegExp("["+Object.values(Tc).join("")+"]"),Fc=function(e,t){const n=e[t].pre.match(Cc)[0]||"";if(!n||!Tc[n])return null;const r=Tc[n];for(;t{e[0].pre=e[0].pre.replace(Cc,"");let t=e[e.length-1];t.post=t.post.replace(Oc,"")}))}(this)}}e.prototype.quotations=function(e){let t=function(e){let t=[];return e.docs.forEach((e=>{for(let n=0;n{e.prototype[t[0]]=function(e){let n=this.match(t[1]);return"number"==typeof e?n.get(e):n}})),e.prototype.phoneNumbers=Gc,Lc.forEach((t=>{e.prototype[t[0]]=e.prototype[t[1]]}))},Sc={api:function(e){Ac(e),Ec(e),Dc(e),Vc(e),$c(e)}};const Mc=function(e,t){e.docs.forEach((e=>{e.forEach(t)}))};var Bc={case:e=>{Mc(e,(e=>{e.text=e.text.toLowerCase()}))},unicode:e=>{const t=e.world,n=t.methods.one.killUnicode;Mc(e,(e=>e.text=n(e.text,t)))},whitespace:e=>{Mc(e,(e=>{e.post=e.post.replace(/\s+/g," "),e.post=e.post.replace(/\s([.,?!:;])/g,"$1"),e.pre=e.pre.replace(/\s+/g,"")}))},punctuation:e=>{Mc(e,(e=>{e.post=e.post.replace(/[–—-]/g," "),e.post=e.post.replace(/[,:;]/g,""),e.post=e.post.replace(/\.{2,}/g,""),e.post=e.post.replace(/\?{2,}/g,"?"),e.post=e.post.replace(/!{2,}/g,"!"),e.post=e.post.replace(/\?!+/g,"?")}));let t=e.docs,n=t[t.length-1];if(n&&n.length>0){let e=n[n.length-1];e.post=e.post.replace(/ /g,"")}},contractions:e=>{e.contractions().expand()},acronyms:e=>{e.acronyms().strip()},parentheses:e=>{e.parentheses().strip()},possessives:e=>{e.possessives().strip()},quotations:e=>{e.quotations().strip()},emoji:e=>{e.emojis().remove()},honorifics:e=>{e.match("#Honorific+ #Person").honorifics().remove()},adverbs:e=>{e.adverbs().remove()},nouns:e=>{e.nouns().toSingular()},verbs:e=>{e.verbs().toInfinitive()},numbers:e=>{e.numbers().toNumber()},debullet:e=>{const t=/^\s*([-–—*•])\s*$/;return e.docs.forEach((e=>{t.test(e[0].pre)&&(e[0].pre=e[0].pre.replace(t,""))})),e}};const Hc=e=>e.split("|").reduce(((e,t)=>(e[t]=!0,e)),{}),Jc="unicode|punctuation|whitespace|acronyms",Wc="|case|contractions|parentheses|quotations|emoji|honorifics|debullet",Kc={light:Hc(Jc),medium:Hc(Jc+Wc),heavy:Hc(Jc+Wc+"|possessives|adverbs|nouns|verbs")};var qc={api:function(e){e.prototype.normalize=function(e="light"){return"string"==typeof e&&(e=Kc[e]),Object.keys(e).forEach((t=>{Bc.hasOwnProperty(t)&&Bc[t](this,e[t])})),this}}},Uc=function(e){let t=e.clauses().match(""),n=t.match("@hasComma");return n=n.not("#Place"),n.found&&(t=t.splitAfter(n)),t=t.splitOn("#Expression"),t=t.splitOn("(he|she|we|you|they|i)"),t=t.splitOn("(#Noun|#Adjective) [(he|him|she|it)]",0),t=t.splitOn("[(he|him|she|it)] (#Determiner|#Value)",0),t=t.splitBefore("#Noun [(the|a|an)] #Adjective? #Noun",0),t=t.splitOn("[(here|there)] #Noun",0),t=t.splitOn("[#Noun] (here|there)",0),t=t.splitBefore("(our|my|their|your)"),t=t.splitOn("#Noun [#Determiner]",0),t=t.if("#Noun"),t};const Qc=["after","although","as if","as long as","as","because","before","even if","even though","ever since","if","in order that","provided that","since","so that","than","that","though","unless","until","what","whatever","when","whenever","where","whereas","wherever","whether","which","whichever","who","whoever","whom","whomever","whose"];var Rc=function(e){if(e.before("#Preposition$").found)return!0;if(!e.before().found)return!1;for(let t=0;t3&&n.endsWith("s")&&!n.endsWith("ss")},Xc=function(e){let t=function(e){let t=e.clone();return t=t.match("#Noun+"),t=t.remove("(#Adjective|#Preposition|#Determiner|#Value)"),t=t.not("#Possessive"),t=t.first(),t.found?t:e}(e);return{determiner:e.match("#Determiner").eq(0),adjectives:e.match("#Adjective"),number:e.values(),isPlural:_c(e,t),isSubordinate:Rc(e),root:t}};const Zc=e=>e.text(),Yc=e=>e.json({terms:!1,normal:!0}).map((e=>e.normal)),eh=function(e){if(!e.found)return null;let t=e.values(0);return t.found?(t.parse()[0]||{}).num:null};var th=function(e){let t=Xc(e);return{root:Zc(t.root),number:eh(t.number),determiner:Zc(t.determiner),adjectives:Yc(t.adjectives),isPlural:t.isPlural,isSubordinate:t.isSubordinate}},nh=function(e){return!e.has("^(#Uncountable|#ProperNoun|#Place|#Pronoun|#Acronym)+$")};const rh={tags:!0};var ah=function(e,t){if(!0===t.isPlural)return e;if(t.root.has("#Possessive")&&(t.root=t.root.possessives().strip()),!nh(t.root))return e;const{methods:n,model:r}=e.world,{toPlural:a}=n.two.transform.noun;let o=a(t.root.text({keepPunct:!1}),r);e.match(t.root).replaceWith(o,rh).tag("Plural","toPlural"),t.determiner.has("(a|an)")&&e.remove(t.determiner);let i=t.root.after("not? #Adverb+? [#Copula]",0);return i.found&&(i.has("is")?e.replace(i,"are"):i.has("was")&&e.replace(i,"were")),e};const oh={tags:!0};var ih=function(e,t){if(!1===t.isPlural)return e;const{methods:n,model:r}=e.world,{toSingular:a}=n.two.transform.noun;let o=a(t.root.text("normal"),r);return e.replace(t.root,o,oh).tag("Singular","toPlural"),e},sh=function(e){class Nouns extends e{constructor(e,t,n){super(e,t,n),this.viewType="Nouns"}parse(e){return this.getNth(e).map(Xc)}json(e){let t="object"==typeof e?e:{};return this.getNth(e).map((e=>{let n=e.toView().json(t)[0]||{};return t&&!0!==t.noun&&(n.noun=th(e)),n}),[])}conjugate(e){const t=this.world.methods.two.transform.noun;return this.getNth(e).map((e=>{let n=Xc(e),r=n.root.compute("root").text("root"),a={Singular:r};return nh(n.root)&&(a.Plural=t.toPlural(r,this.model)),a.Singular===a.Plural&&delete a.Plural,a}),[])}isPlural(e){let t=this.filter((e=>Xc(e).isPlural));return t.getNth(e)}isSingular(e){let t=this.filter((e=>!Xc(e).isPlural));return t.getNth(e)}adjectives(e){let t=this.update([]);return this.forEach((e=>{let n=Xc(e).adjectives;n.found&&(t=t.concat(n))})),t.getNth(e)}toPlural(e){return this.getNth(e).map((e=>ah(e,Xc(e))))}toSingular(e){return this.getNth(e).map((e=>{let t=Xc(e);return ih(e,t)}))}update(e){let t=new Nouns(this.document,e);return t._cache=this._cache,t}}e.prototype.nouns=function(e){let t=Uc(this);return t=t.getNth(e),new Nouns(this.document,t.pointer)}},lh={api:sh},uh=function(e,t){let n=e.match("#Fraction+");return n=n.filter((e=>!e.lookBehind("#Value and$").found)),n=n.notIf("#Value seconds"),"number"==typeof t&&(n=n.eq(t)),n},ch=e=>{const t=[{reg:/^(minus|negative)[\s-]/i,mult:-1},{reg:/^(a\s)?half[\s-](of\s)?/i,mult:.5}];for(let n=0;n{if(hh.ones.hasOwnProperty(e)){if(t.ones||t.teens)return!1}else if(hh.teens.hasOwnProperty(e)){if(t.ones||t.teens||t.tens)return!1}else if(hh.tens.hasOwnProperty(e)&&(t.ones||t.teens||t.tens))return!1;return!0},gh=function(e){let t="0.";for(let n=0;ne=(e=(e=(e=(e=(e=(e=(e=e.replace(/1st$/,"1")).replace(/2nd$/,"2")).replace(/3rd$/,"3")).replace(/([4567890])r?th$/,"$1")).replace(/^[$€¥£¢]/,"")).replace(/[%$€¥£¢]$/,"")).replace(/,/g,"")).replace(/([0-9])([a-z\u00C0-\u00FF]{1,2})$/,"$1");const ph=/^([0-9,. ]+)\/([0-9,. ]+)$/,fh={"a few":3,"a couple":2,"a dozen":12,"two dozen":24,zero:0},vh=e=>Object.keys(e).reduce(((t,n)=>t+=e[n]),0);var bh=function(e){if(!0===fh.hasOwnProperty(e))return fh[e];if("a"===e||"an"===e)return 1;const t=ch(e);let n=null,r={},a=0,o=!1;const i=(e=t.str).split(/[ -]/);for(let e=0;e#Value+] out of every? [#Value+]");if(!0!==t.found)return null;let{num:n,den:r}=t.groups();return n&&r?(n=wh(n),r=wh(r),n&&r&&"number"==typeof n&&"number"==typeof r?{numerator:n,denominator:r}:null):null}(e)||function(e){let t=e.match("[(#Cardinal|a)+] [#Fraction+]");if(!0!==t.found)return null;let{num:n,den:r}=t.groups();n=n.has("a")?1:wh(n);let a=r.text("reduced");return yh.test(a)&&(a=a.replace(yh,""),r=r.replaceWith(a)),r=kh.hasOwnProperty(a)?kh[a]:wh(r),"number"==typeof n&&"number"==typeof r?{numerator:n,denominator:r}:null}(e)||function(e){let t=e.match("^#Ordinal$");return!0!==t.found?null:e.lookAhead("^of .")?{numerator:1,denominator:wh(t)}:null}(e)||null;return null!==t&&t.numerator&&t.denominator&&(t.decimal=t.numerator/t.denominator,t.decimal=(e=>{let t=Math.round(1e3*e)/1e3;return 0===t&&0!==e?e:t})(t.decimal)),t},Ah=function(e){if(e<1e6)return String(e);let t;return t="number"==typeof e?e.toFixed(0):e,-1===t.indexOf("e+")?t:t.replace(".","").split("e+").reduce((function(e,t){return e+Array(t-e.length+2).join(0)}))};const Ih=[["ninety",90],["eighty",80],["seventy",70],["sixty",60],["fifty",50],["forty",40],["thirty",30],["twenty",20]],Nh=["","one","two","three","four","five","six","seven","eight","nine","ten","eleven","twelve","thirteen","fourteen","fifteen","sixteen","seventeen","eighteen","nineteen"],jh=[[1e24,"septillion"],[1e20,"hundred sextillion"],[1e21,"sextillion"],[1e20,"hundred quintillion"],[1e18,"quintillion"],[1e17,"hundred quadrillion"],[1e15,"quadrillion"],[1e14,"hundred trillion"],[1e12,"trillion"],[1e11,"hundred billion"],[1e9,"billion"],[1e8,"hundred million"],[1e6,"million"],[1e5,"hundred thousand"],[1e3,"thousand"],[100,"hundred"],[1,"one"]],Eh=function(e){let t=[];if(e>100)return t;for(let n=0;n=Ih[n][1]&&(e-=Ih[n][1],t.push(Ih[n][0]));return Nh[e]&&t.push(Nh[e]),t};var xh=function(e){let t=e.num;if(0===t||"0"===t)return"zero";t>1e21&&(t=Ah(t));let n=[];t<0&&(n.push("minus"),t=Math.abs(t));let r=function(e){let t=e,n=[];return jh.forEach((r=>{if(e>=r[0]){let e=Math.floor(t/r[0]);t-=e*r[0],e&&n.push({unit:r[1],count:e})}})),n}(t);for(let e=0;e1&&n.push("and")),n=n.concat(Eh(r[e].count)),n.push(t)}return n=n.concat((e=>{const t=["zero","one","two","three","four","five","six","seven","eight","nine"];let n=[],r=Ah(e).match(/\.([0-9]+)/);if(!r||!r[0])return n;n.push("point");let a=r[0].split("");for(let e=0;ee)),0===n.length&&(n[0]=""),n.join(" ")},Dh=function(e){return e.numerator&&e.denominator?`${xh({num:e.numerator})} out of ${xh({num:e.denominator})}`:""};const Th={one:"first",two:"second",three:"third",five:"fifth",eight:"eighth",nine:"ninth",twelve:"twelfth",twenty:"twentieth",thirty:"thirtieth",forty:"fortieth",fourty:"fourtieth",fifty:"fiftieth",sixty:"sixtieth",seventy:"seventieth",eighty:"eightieth",ninety:"ninetieth"};var Ch=e=>{let t=xh(e).split(" "),n=t[t.length-1];return Th.hasOwnProperty(n)?t[t.length-1]=Th[n]:t[t.length-1]=n.replace(/y$/,"i")+"th",t.join(" ")},Oh=function(e){if(!e.numerator||!e.denominator)return"";let t=xh({num:e.numerator}),n=Ch({num:e.denominator});return 2===e.denominator&&(n="half"),t&&n?(1!==e.numerator&&(n+="s"),`${t} ${n}`):""},Fh=function(e){class Fractions extends e{constructor(e,t,n){super(e,t,n),this.viewType="Fractions"}parse(e){return this.getNth(e).map(Ph)}get(e){return this.getNth(e).map(Ph)}json(e){return this.getNth(e).map((t=>{let n=t.toView().json(e)[0],r=Ph(t);return n.fraction=r,n}),[])}toDecimal(e){return this.getNth(e).forEach((e=>{let{decimal:t}=Ph(e);(e=e.replaceWith(String(t),!0)).tag("NumericValue"),e.unTag("Fraction")})),this}toFraction(e){return this.getNth(e).forEach((e=>{let t=Ph(e);if(t&&"number"==typeof t.numerator&&"number"==typeof t.denominator){let n=`${t.numerator}/${t.denominator}`;this.replace(e,n)}})),this}toOrdinal(e){return this.getNth(e).forEach((e=>{let t=Ph(e),n=Oh(t);e.after("^#Noun").found&&(n+=" of"),e.replaceWith(n)})),this}toCardinal(e){return this.getNth(e).forEach((e=>{let t=Ph(e),n=Dh(t);e.replaceWith(n)})),this}toPercentage(e){return this.getNth(e).forEach((e=>{let{decimal:t}=Ph(e),n=100*t;n=Math.round(100*n)/100,e.replaceWith(`${n}%`)})),this}}e.prototype.fractions=function(e){let t=uh(this);return t=t.getNth(e),new Fractions(this.document,t.pointer)}};const Vh="twenty|thirty|forty|fifty|sixty|seventy|eighty|ninety|fourty";var Gh=function(e){let t=e.match("#Value+");if(t.has("#NumericValue #NumericValue")&&(t.has("#Value @hasComma #Value")?t.splitAfter("@hasComma"):t.has("#NumericValue #Fraction")?t.splitAfter("#NumericValue #Fraction"):t=t.splitAfter("#NumericValue")),t.has("#Value #Value #Value")&&!t.has("#Multiple")&&t.has("("+Vh+") #Cardinal #Cardinal")&&(t=t.splitAfter("("+Vh+") #Cardinal")),t.has("#Value #Value")){t.has("#NumericValue #NumericValue")&&(t=t.splitOn("#Year")),t.has("("+Vh+") (eleven|twelve|thirteen|fourteen|fifteen|sixteen|seventeen|eighteen|nineteen)")&&(t=t.splitAfter("("+Vh+")"));let e=t.match("#Cardinal #Cardinal");if(e.found&&!t.has("(point|decimal|#Fraction)")&&!e.has("#Cardinal (#Multiple|point|decimal)")){let n=t.has(`(one|two|three|four|five|six|seven|eight|nine) (${Vh})`),r=e.has("("+Vh+") #Cardinal"),a=e.has("#Multiple #Value");n||r||a||e.terms().forEach((e=>{t=t.splitOn(e)}))}t.match("#Ordinal #Ordinal").match("#TextValue").found&&!t.has("#Multiple")&&(t.has("("+Vh+") #Ordinal")||(t=t.splitAfter("#Ordinal"))),t=t.splitBefore("#Ordinal [#Cardinal]",0),t.has("#TextValue #NumericValue")&&!t.has("("+Vh+"|#Multiple)")&&(t=t.splitBefore("#TextValue #NumericValue"))}return t=t.splitAfter("#NumberRange"),t=t.splitBefore("#Year"),t},zh=function(e){if("string"==typeof e)return{num:bh(e)};let t=e.text("reduced"),n=e.growRight("#Unit").match("#Unit$").text("machine"),r=/[0-9],[0-9]/.test(e.text("text"));if(1===e.terms().length&&!e.has("#Multiple")){let a=function(e,t){let n=(e=e.replace(/,/g,"")).split(/([0-9.,]*)/),[r,a]=n,o=n.slice(2).join("");return""!==a&&t.length<2?(a=Number(a||e),"number"!=typeof a&&(a=null),o=o||"","st"!==o&&"nd"!==o&&"rd"!==o&&"th"!==o||(o=""),{prefix:r||"",num:a,suffix:o}):null}(t,e);if(null!==a)return a.hasComma=r,a.unit=n,a}let a=e.match("#Fraction{2,}$");a=!1===a.found?e.match("^#Fraction$"):a;let o=null;a.found&&(a.has("#Value and #Value #Fraction")&&(a=a.match("and #Value #Fraction")),o=Ph(a),t=(e=(e=e.not(a)).not("and$")).text("reduced"));let i=0;return t&&(i=bh(t)||0),o&&o.decimal&&(i+=o.decimal),{hasComma:r,prefix:"",num:i,suffix:"",isOrdinal:e.has("#Ordinal"),isText:e.has("#TextValue"),isFraction:e.has("#Fraction"),isMoney:e.has("#Money"),unit:n}},Lh=function(e){let t=e.num;if(!t&&0!==t)return null;let n=t%100;if(n>10&&n<20)return String(t)+"th";const r={0:"th",1:"st",2:"nd",3:"rd"};let a=Ah(t),o=a.slice(a.length-1,a.length);return a+=r[o]?r[o]:"th",a};const $h={"¢":"cents",$:"dollars","£":"pounds","¥":"yen","€":"euros","₡":"colón","฿":"baht","₭":"kip","₩":"won","₹":"rupees","₽":"ruble","₺":"liras"},Sh={"%":"percent","°":"degrees"};var Mh=function(e){let t={suffix:"",prefix:e.prefix};return $h.hasOwnProperty(e.prefix)&&(t.suffix+=" "+$h[e.prefix],t.prefix=""),Sh.hasOwnProperty(e.suffix)&&(t.suffix+=" "+Sh[e.suffix]),t.suffix&&1===e.num&&(t.suffix=t.suffix.replace(/s$/,"")),!t.suffix&&e.suffix&&(t.suffix+=" "+e.suffix),t},Bh=function(e,t){if("TextOrdinal"===t){let{prefix:t,suffix:n}=Mh(e);return t+Ch(e)+n}if("Ordinal"===t)return e.prefix+Lh(e)+e.suffix;if("TextCardinal"===t){let{prefix:t,suffix:n}=Mh(e);return t+xh(e)+n}let n=e.num;return e.hasComma&&(n=n.toLocaleString()),e.prefix+String(n)+e.suffix},Hh=function(e){class Numbers extends e{constructor(e,t,n){super(e,t,n),this.viewType="Numbers"}parse(e){return this.getNth(e).map(zh)}get(e){return this.getNth(e).map(zh).map((e=>e.num))}json(e){let t="object"==typeof e?e:{};return this.getNth(e).map((e=>{let n=e.toView().json(t)[0],r=zh(e);return n.number={prefix:r.prefix,num:r.num,suffix:r.suffix,hasComma:r.hasComma,unit:r.unit},n}),[])}units(){return this.growRight("#Unit").match("#Unit$")}isOrdinal(){return this.if("#Ordinal")}isCardinal(){return this.if("#Cardinal")}toNumber(){return this.if("#TextValue").forEach((e=>{let t=zh(e);if(null===t.num)return;let n=e.has("#Ordinal")?"Ordinal":"Cardinal",r=Bh(t,n);e.replaceWith(r,{tags:!0}),e.tag("NumericValue")})),this}toLocaleString(){return this.forEach((e=>{let t=zh(e);if(null===t.num)return;let n=t.num.toLocaleString();if(e.has("#Ordinal")){let e=Bh(t,"Ordinal").match(/[a-z]+$/);e&&(n+=e[0]||"")}e.replaceWith(n,{tags:!0})})),this}toText(){let e=this.map((e=>{if(e.has("#TextValue"))return e;let t=zh(e);if(null===t.num)return e;let n=e.has("#Ordinal")?"TextOrdinal":"TextCardinal",r=Bh(t,n);return e.replaceWith(r,{tags:!0}),e.tag("TextValue"),e}));return new Numbers(e.document,e.pointer)}toCardinal(){let e=this.map((e=>{if(!e.has("#Ordinal"))return e;let t=zh(e);if(null===t.num)return e;let n=e.has("#TextValue")?"TextCardinal":"Cardinal",r=Bh(t,n);return e.replaceWith(r,{tags:!0}),e.tag("Cardinal"),e}));return new Numbers(e.document,e.pointer)}toOrdinal(){let e=this.map((e=>{if(e.has("#Ordinal"))return e;let t=zh(e);if(null===t.num)return e;let n=e.has("#TextValue")?"TextOrdinal":"Ordinal",r=Bh(t,n);return e.replaceWith(r,{tags:!0}),e.tag("Ordinal"),e}));return new Numbers(e.document,e.pointer)}isEqual(e){return this.filter((t=>zh(t).num===e))}greaterThan(e){return this.filter((t=>zh(t).num>e))}lessThan(e){return this.filter((t=>zh(t).num{let r=zh(n).num;return r>e&&r{let n=zh(t);if(n.num=e,null===n.num)return t;let r=t.has("#Ordinal")?"Ordinal":"Cardinal";t.has("#TextValue")&&(r=t.has("#Ordinal")?"TextOrdinal":"TextCardinal");let a=Bh(n,r);return n.hasComma&&"Cardinal"===r&&(a=Number(a).toLocaleString()),(t=t.not("#Currency")).replaceWith(a,{tags:!0}),t}));return new Numbers(t.document,t.pointer)}add(e){if(!e)return this;"string"==typeof e&&(e=zh(e).num);let t=this.map((t=>{let n=zh(t);if(null===n.num)return t;n.num+=e;let r=t.has("#Ordinal")?"Ordinal":"Cardinal";n.isText&&(r=t.has("#Ordinal")?"TextOrdinal":"TextCardinal");let a=Bh(n,r);return t.replaceWith(a,{tags:!0}),t}));return new Numbers(t.document,t.pointer)}subtract(e,t){return this.add(-1*e,t)}increment(e){return this.add(1,e)}decrement(e){return this.add(-1,e)}update(e){let t=new Numbers(this.document,e);return t._cache=this._cache,t}}Numbers.prototype.toNice=Numbers.prototype.toLocaleString,Numbers.prototype.isBetween=Numbers.prototype.between,Numbers.prototype.minus=Numbers.prototype.subtract,Numbers.prototype.plus=Numbers.prototype.add,Numbers.prototype.equals=Numbers.prototype.isEqual,e.prototype.numbers=function(e){let t=Gh(this);return t=t.getNth(e),new Numbers(this.document,t.pointer)},e.prototype.percentages=function(e){let t=Gh(this);return t=t.filter((e=>e.has("#Percent")||e.after("^percent"))),t=t.getNth(e),new Numbers(this.document,t.pointer)},e.prototype.money=function(e){let t=Gh(this);return t=t.filter((e=>e.has("#Money")||e.after("^#Currency"))),t=t.getNth(e),new Numbers(this.document,t.pointer)},e.prototype.values=e.prototype.numbers},Jh={api:function(e){Fh(e),Hh(e)}};const Wh={people:!0,emails:!0,phoneNumbers:!0,places:!0},Kh=function(e={}){return!1!==(e=Object.assign({},Wh,e)).people&&this.people().replaceWith("██████████"),!1!==e.emails&&this.emails().replaceWith("██████████"),!1!==e.places&&this.places().replaceWith("██████████"),!1!==e.phoneNumbers&&this.phoneNumbers().replaceWith("███████"),this},qh={api:function(e){e.prototype.redact=Kh}};var Uh=qh,Qh=function(e){const t=/\?/,{document:n}=e;return e.filter((e=>{let r=e.docs[0]||[],a=r[r.length-1];return!(!a||n[a.index[0]].length!==r.length)&&(!!t.test(a.post)||function(e){let t=e.clauses();return!(/\.\.$/.test(e.out("text"))||e.has("^#QuestionWord")&&e.has("@hasComma")||!e.has("or not$")&&!e.has("^#QuestionWord")&&!e.has("^(do|does|did|is|was|can|could|will|would|may) #Noun")&&!e.has("^(have|must) you")&&!t.has("(do|does|is|was) #Noun+ #Adverb? (#Adjective|#Infinitive)$"))}(e))}))},Rh=function(e){let t=e;return 1===t.length?t:(t=t.if("#Verb"),1===t.length?t:(t=t.ifNo("(after|although|as|because|before|if|since|than|that|though|when|whenever|where|whereas|wherever|whether|while|why|unless|until|once)"),t=t.ifNo("^even (if|though)"),t=t.ifNo("^so that"),t=t.ifNo("^rather than"),t=t.ifNo("^provided that"),1===t.length?t:(t=t.ifNo("(that|which|whichever|who|whoever|whom|whose|whomever)"),1===t.length?t:(t=t.ifNo("(despite|during|before|through|throughout)"),1===t.length?t:(0===t.length&&(t=e),t.eq(0))))))};const _h=function(e){let t=null;return e.has("#PastTense")?t="PastTense":e.has("#FutureTense")?t="FutureTense":e.has("#PresentTense")&&(t="PresentTense"),{tense:t}};var Xh=function(e){let t=e.clauses(),n=Rh(t).chunks(),r=e.none(),a=e.none(),o=e.none();return n.forEach(((e,t)=>{0!==t||e.has("")?a.found||!e.has("")?a.found&&(o=o.concat(e)):a=e:r=e})),a.found&&!r.found&&(r=a.before("+").first()),{subj:r,verb:a,pred:o,grammar:_h(a)}},Zh=function(e){let t=e.verbs(),n=t.eq(0);if(n.has("#PastTense"))return e;if(n.toPastTense(),t.length>1){t=t.slice(1),t=t.filter((e=>!e.lookBehind("to$").found)),t=t.if("#PresentTense"),t=t.notIf("#Gerund");let n=e.match("to #Verb+ #Conjunction #Verb").terms();t=t.not(n),t.found&&t.verbs().toPastTense()}return e},Yh=function(e){let t=e.verbs();return t.eq(0).toPresentTense(),t.length>1&&(t=t.slice(1),t=t.filter((e=>!e.lookBehind("to$").found)),t=t.notIf("#Gerund"),t.found&&t.verbs().toPresentTense()),e},ed=function(e){let t=e.verbs();if(t.eq(0).toFutureTense(),t=(e=e.fullSentence()).verbs(),t.length>1){t=t.slice(1);let e=t.filter((e=>!(e.lookBehind("to$").found||!e.has("#Copula #Gerund")&&(e.has("#Gerund")||!e.has("#Copula")&&e.has("#PresentTense")&&!e.has("#Infinitive")&&e.lookBefore("(he|she|it|that|which)$").found))));e.found&&e.forEach((e=>{if(e.has("#Copula"))return e.match("was").replaceWith("is"),void e.match("is").replaceWith("will be");e.toInfinitive()}))}return e},td=function(e){return e.verbs().toInfinitive(),e},nd=function(e){class Sentences extends e{constructor(e,t,n){super(e,t,n),this.viewType="Sentences"}json(e={}){return this.map((t=>{let n=t.toView().json(e)[0]||{},{subj:r,verb:a,pred:o,grammar:i}=Xh(t);return n.sentence={subject:r.text("normal"),verb:a.text("normal"),predicate:o.text("normal"),grammar:i},n}),[])}toPastTense(e){return this.getNth(e).map((e=>(Xh(e),Zh(e))))}toPresentTense(e){return this.getNth(e).map((e=>(Xh(e),Yh(e))))}toFutureTense(e){return this.getNth(e).map((e=>(Xh(e),e=ed(e))))}toInfinitive(e){return this.getNth(e).map((e=>(Xh(e),td(e))))}toNegative(e){return this.getNth(e).map((e=>(Xh(e),function(e){return e.verbs().first().toNegative().compute("chunks"),e}(e))))}toPositive(e){return this.getNth(e).map((e=>(Xh(e),function(e){return e.verbs().first().toPositive().compute("chunks"),e}(e))))}isQuestion(e){return this.questions(e)}isExclamation(e){let t=this.filter((e=>e.lastTerm().has("@hasExclamation")));return t.getNth(e)}isStatement(e){let t=this.filter((e=>!e.isExclamation().found&&!e.isQuestion().found));return t.getNth(e)}update(e){let t=new Sentences(this.document,e);return t._cache=this._cache,t}}Sentences.prototype.toPresent=Sentences.prototype.toPresentTense,Sentences.prototype.toPast=Sentences.prototype.toPastTense,Sentences.prototype.toFuture=Sentences.prototype.toFutureTense;const t={sentences:function(e){let t=this.map((e=>e.fullSentence()));return t=t.getNth(e),new Sentences(this.document,t.pointer)},questions:function(e){return Qh(this).getNth(e)}};Object.assign(e.prototype,t)},rd={api:nd},ad=function(e){return e.match("#Honorific+? #Person+")},od=function(e){let t={};t.firstName=e.match("#FirstName+"),t.lastName=e.match("#LastName+"),t.honorific=e.match("#Honorific+");let n=t.lastName,r=t.firstName;return r.found&&n.found||r.found||n.found||!e.has("^#Honorific .$")||(t.lastName=e.match(".$")),t};const id="male",sd="female",ld={mr:id,mrs:sd,miss:sd,madam:sd,king:id,queen:sd,duke:id,duchess:sd,baron:id,baroness:sd,count:id,countess:sd,prince:id,princess:sd,sire:id,dame:sd,lady:sd,ayatullah:id,congressman:id,congresswoman:sd,"first lady":sd,mx:null};var ud=function(e,t){let{firstName:n,honorific:r}=e;if(n.has("#FemaleName"))return sd;if(n.has("#MaleName"))return id;if(r.found){let e=r.text("normal");if(e=e.replace(/\./g,""),ld.hasOwnProperty(e))return ld[e];if(/^her /.test(e))return sd;if(/^his /.test(e))return id}let a=t.after();if(!a.has("#Person")&&a.has("#Pronoun")){let e=a.match("#Pronoun");if(e.has("(they|their)"))return null;let t=e.has("(he|his)"),n=e.has("(she|her|hers)");if(t&&!n)return id;if(n&&!t)return sd}return null},cd=function(e){class People extends e{constructor(e,t,n){super(e,t,n),this.viewType="People"}parse(e){return this.getNth(e).map(od)}json(e){let t="object"==typeof e?e:{};return this.getNth(e).map((e=>{let n=e.toView().json(t)[0],r=od(e);return n.person={firstName:r.firstName.text("normal"),lastName:r.lastName.text("normal"),honorific:r.honorific.text("normal"),presumed_gender:ud(r,e)},n}),[])}presumedMale(){return this.filter((e=>e.has("(#MaleName|mr|mister|sr|jr|king|pope|prince|sir)")))}presumedFemale(){return this.filter((e=>e.has("(#FemaleName|mrs|miss|queen|princess|madam)")))}update(e){let t=new People(this.document,e);return t._cache=this._cache,t}}e.prototype.people=function(e){let t=ad(this);return t=t.getNth(e),new People(this.document,t.pointer)}},hd=function(e){let t=e.match("(#Place|#Address)+"),n=t.match("@hasComma");return n=n.filter((e=>!!e.has("(asia|africa|europe|america)$")||!e.has("(#City|#Region|#ProperNoun)$")||!e.after("^(#Country|#Region)").found)),t=t.splitAfter(n),t},dd=function(e){e.prototype.places=function(t){let n=hd(this);return n=n.getNth(t),new e(this.document,n.pointer)}},gd=function(e){e.prototype.organizations=function(e){return this.match("#Organization+").getNth(e)}};const md=function(e){let t=this.clauses(),n=t.people();return n=n.concat(t.places()),n=n.concat(t.organizations()),n=n.not("(someone|man|woman|mother|brother|sister|father)"),n=n.sort("seq"),n=n.getNth(e),n};var pd=function(e){e.prototype.topics=md},fd={api:function(e){cd(e),dd(e),gd(e),pd(e)}},vd=function(e){let t=e.match("");return t=t.not("#Conjunction"),t=t.not("#Preposition"),t=t.splitAfter("@hasComma"),t=t.splitAfter("[(do|did|am|was|is|will)] (is|was)",0),t=t.splitBefore("(#Verb && !#Copula) [being] #Verb",0),t=t.splitBefore("#Verb [to be] #Verb",0),t=t.splitAfter("[help] #PresentTense",0),t=t.splitBefore("(#PresentTense|#PastTense) [#Copula]$",0),t=t.splitBefore("(#PresentTense|#PastTense) [will be]$",0),t=t.splitBefore("(#PresentTense|#PastTense) [(had|has)]",0),t=t.not("#Reflexive$"),t=t.not("#Adjective"),t=t.splitAfter("[#PastTense] #PastTense",0),t=t.splitAfter("[#PastTense] #Auxiliary+ #PastTense",0),t=t.splitAfter("#Copula [#Gerund] #PastTense",0),t=t.if("#Verb"),t.has("(#Verb && !#Auxiliary) #Adverb+? #Copula")&&(t=t.splitBefore("#Copula")),t},bd=function(e){let t=e;return e.wordCount()>1&&(t=e.not("(#Negative|#Auxiliary|#Modal|#Adverb|#Prefix)")),t.length>1&&!t.has("#Phrasal #Particle")&&(t=t.last()),t=t.not("(want|wants|wanted) to"),t.found||(t=e.not("#Negative")),t},yd=function(e,t){let n={pre:e.none(),post:e.none()};if(!e.has("#Adverb"))return n;let r=e.splitOn(t);return 3===r.length?{pre:r.eq(0).adverbs(),post:r.eq(2).adverbs()}:r.eq(0).isDoc(t)?(n.post=r.eq(1).adverbs(),n):(n.pre=r.eq(0).adverbs(),n)};const wd=function(e,t){let n=e.splitBefore(t);if(n.length<=1)return e.none();let r=n.eq(0);return r=r.not("(#Adverb|#Negative|#Prefix)"),r},kd=function(e){return e.match("#Negative")},Pd=function(e){if(!e.has("(#Particle|#PhrasalVerb)"))return{verb:e.none(),particle:e.none()};let t=e.match("#Particle$");return{verb:e.not(t),particle:t}};var Ad=function(e){let t=e.clone();t.contractions().expand();const n=bd(t);return{root:n,prefix:t.match("#Prefix"),adverbs:yd(t,n),auxiliary:wd(t,n),negative:kd(t),phrasal:Pd(n)}};const Id={tense:"PresentTense"},Nd={conditional:!0},jd={tense:"FutureTense"},Ed={progressive:!0},xd={tense:"PastTense"},Dd={complete:!0,progressive:!1},Td={passive:!0},Cd=function(e){let t={};return e.forEach((e=>{Object.assign(t,e)})),t},Od={imperative:[["#Imperative",[]]],"want-infinitive":[["^(want|wants|wanted) to #Infinitive$",[Id]],["^wanted to #Infinitive$",[xd]],["^will want to #Infinitive$",[jd]]],"gerund-phrase":[["^#PastTense #Gerund$",[xd]],["^#PresentTense #Gerund$",[Id]],["^#Infinitive #Gerund$",[Id]],["^will #Infinitive #Gerund$",[jd]],["^have #PastTense #Gerund$",[xd]],["^will have #PastTense #Gerund$",[xd]]],"simple-present":[["^#PresentTense$",[Id]],["^#Infinitive$",[Id]]],"simple-past":[["^#PastTense$",[xd]]],"simple-future":[["^will #Adverb? #Infinitive",[jd]]],"present-progressive":[["^(is|are|am) #Gerund$",[Id,Ed]]],"past-progressive":[["^(was|were) #Gerund$",[xd,Ed]]],"future-progressive":[["^will be #Gerund$",[jd,Ed]]],"present-perfect":[["^(has|have) #PastTense$",[xd,Dd]]],"past-perfect":[["^had #PastTense$",[xd,Dd]],["^had #PastTense to #Infinitive",[xd,Dd]]],"future-perfect":[["^will have #PastTense$",[jd,Dd]]],"present-perfect-progressive":[["^(has|have) been #Gerund$",[xd,Ed]]],"past-perfect-progressive":[["^had been #Gerund$",[xd,Ed]]],"future-perfect-progressive":[["^will have been #Gerund$",[jd,Ed]]],"passive-past":[["(got|were|was) #Passive",[xd,Td]],["^(was|were) being #Passive",[xd,Td]],["^(had|have) been #Passive",[xd,Td]]],"passive-present":[["^(is|are|am) #Passive",[Id,Td]],["^(is|are|am) being #Passive",[Id,Td]],["^has been #Passive",[Id,Td]]],"passive-future":[["will have been #Passive",[jd,Td,Nd]],["will be being? #Passive",[jd,Td,Nd]]],"present-conditional":[["would be #PastTense",[Id,Nd]]],"past-conditional":[["would have been #PastTense",[xd,Nd]]],"auxiliary-future":[["(is|are|am|was) going to (#Infinitive|#PresentTense)",[jd]]],"auxiliary-past":[["^did #Infinitive$",[xd,{plural:!1}]],["^used to #Infinitive$",[xd,Dd]]],"auxiliary-present":[["^(does|do) #Infinitive$",[Id,Dd,{plural:!0}]]],"modal-past":[["^(could|must|should|shall) have #PastTense$",[xd]]],"modal-infinitive":[["^#Modal #Infinitive$",[]]],infinitive:[["^#Infinitive$",[]]]};let Fd=[];Object.keys(Od).map((e=>{Od[e].forEach((t=>{Fd.push({name:e,match:t[0],data:Cd(t[1])})}))}));var Vd=Fd,Gd=function(e,t){let n={};e=function(e,t){return e=e.clone(),t.adverbs.post&&t.adverbs.post.found&&e.remove(t.adverbs.post),t.adverbs.pre&&t.adverbs.pre.found&&e.remove(t.adverbs.pre),e.has("#Negative")&&(e=e.remove("#Negative")),e.has("#Prefix")&&(e=e.remove("#Prefix")),t.root.has("#PhrasalVerb #Particle")&&e.remove("#Particle$"),e.not("#Adverb")}(e,t);for(let t=0;t!(e.has("^(if|unless|while|but|for|per|at|by|that|which|who|from)")||t>0&&e.has("^#Verb . #Noun+$")||t>0&&e.has("^#Adverb")))),0===t.length?e:t}(t);let n=t.nouns(),r=n.last(),a=r.match("(i|he|she|we|you|they)");if(a.found)return a.nouns();let o=n.if("^(that|this|those)");return o.found||!1===n.found&&(o=t.match("^(that|this|those)"),o.found)?o:(r=n.last(),zd(r)&&(n.remove(r),r=n.last()),zd(r)&&(n.remove(r),r=n.last()),r)}(e);return{subject:t,plural:Ld(t,e)}};const Sd=e=>e,Md=(e,t)=>{let n=$d(e),r=n.subject;return!(!r.has("i")&&!r.has("we"))||n.plural},Bd=function(e,t){if(e.has("were"))return"are";let{subject:n,plural:r}=$d(e);return n.has("i")?"am":n.has("we")||r?"are":"is"},Hd=function(e,t){let n=$d(e),r=n.subject;return r.has("i")||r.has("we")||n.plural?"do":"does"},Jd=function(e){return e.has("#Infinitive")?"Infinitive":e.has("#Participle")?"Participle":e.has("#PastTense")?"PastTense":e.has("#Gerund")?"Gerund":e.has("#PresentTense")?"PresentTense":void 0},Wd=function(e,t){const{toInfinitive:n}=e.methods.two.transform.verb;let r=t.root.text({keepPunct:!1});return r=n(r,e.model,Jd(e)),r&&e.replace(t.root,r),e},Kd=e=>e.has("will not")?e.replace("will not","have not"):e.remove("will"),qd=function(e){return e&&e.isView?e.json({normal:!0,terms:!1,text:!1}).map((e=>e.normal)):[]},Ud=function(e){return e&&e.isView?e.text("normal"):""},Qd=function(e){const{toInfinitive:t}=e.methods.two.transform.verb;return t(e.text("normal"),e.model,Jd(e))};var Rd=function(e){let t=Ad(e);e=e.clone().toView();const n=Gd(e,t);return{root:t.root.text(),preAdverbs:qd(t.adverbs.pre),postAdverbs:qd(t.adverbs.post),auxiliary:Ud(t.auxiliary),negative:t.negative.found,prefix:Ud(t.prefix),infinitive:Qd(t.root),grammar:n}};const _d={tags:!0};var Xd=function(e,t){const{toInfinitive:n}=e.methods.two.transform.verb,{root:r,auxiliary:a}=t;let o=a.terms().harden(),i=r.text("normal");if(i=n(i,e.model,Jd(r)),i&&e.replace(r,i,_d).tag("Verb").firstTerm().tag("Infinitive"),o.found&&e.remove(o),t.negative.found){e.has("not")||e.prepend("not");let t=Hd(e);e.prepend(t)}return e.fullSentence().compute(["lexicon","preTagger","postTagger","chunks"]),e};const Zd={tags:!0},Yd={noAux:(e,t)=>(t.auxiliary.found&&(e=e.remove(t.auxiliary)),e),simple:(e,t)=>{const{conjugate:n,toInfinitive:r}=e.methods.two.transform.verb,a=t.root;if(a.has("#Modal"))return e;let o=a.text({keepPunct:!1});return o=r(o,e.model,Jd(a)),o=n(o,e.model).PastTense,o="been"===o?"was":o,"was"===o&&(o=((e,t)=>{let{subject:n,plural:r}=$d(e);return r||n.has("we")?"were":"was"})(e)),o&&e.replace(a,o,Zd),e},both:function(e,t){return t.negative.found?(e.replace("will","did"),e):(e=Yd.simple(e,t),e=Yd.noAux(e,t))},hasHad:e=>(e.replace("has","had",Zd),e),hasParticiple:(e,t)=>{const{conjugate:n,toInfinitive:r}=e.methods.two.transform.verb,a=t.root;let o=a.text("normal");return o=r(o,e.model,Jd(a)),n(o,e.model).Participle}},eg={infinitive:Yd.simple,"simple-present":Yd.simple,"simple-past":Sd,"simple-future":Yd.both,"present-progressive":e=>(e.replace("are","were",Zd),e.replace("(is|are|am)","was",Zd),e),"past-progressive":Sd,"future-progressive":(e,t)=>(e.match(t.root).insertBefore("was"),e.remove("(will|be)"),e),"present-perfect":Yd.hasHad,"past-perfect":Sd,"future-perfect":(e,t)=>(e.match(t.root).insertBefore("had"),e.has("will")&&(e=Kd(e)),e.remove("have"),e),"present-perfect-progressive":Yd.hasHad,"past-perfect-progressive":Sd,"future-perfect-progressive":e=>(e.remove("will"),e.replace("have","had",Zd),e),"passive-past":e=>(e.replace("have","had",Zd),e),"passive-present":e=>(e.replace("(is|are)","was",Zd),e),"passive-future":(e,t)=>(t.auxiliary.has("will be")&&(e.match(t.root).insertBefore("had been"),e.remove("(will|be)")),t.auxiliary.has("will have been")&&(e.replace("have","had",Zd),e.remove("will")),e),"present-conditional":e=>(e.replace("be","have been"),e),"past-conditional":Sd,"auxiliary-future":e=>(e.replace("(is|are|am)","was",Zd),e),"auxiliary-past":Sd,"auxiliary-present":e=>(e.replace("(do|does)","did",Zd),e),"modal-infinitive":(e,t)=>(e.has("can")?e.replace("can","could",Zd):(Yd.simple(e,t),e.match("#Modal").insertAfter("have").tag("Auxiliary")),e),"modal-past":Sd,"want-infinitive":e=>(e.replace("(want|wants)","wanted",Zd),e.remove("will"),e),"gerund-phrase":(e,t)=>(t.root=t.root.not("#Gerund$"),Yd.simple(e,t),Kd(e),e)};var tg=function(e,t,n){return eg.hasOwnProperty(n)?((e=eg[n](e,t)).fullSentence().compute(["tagger","chunks"]),e):e};const ng=function(e,t){let n=$d(e),r=n.subject;return r.has("(i|we|you)")?"have":!1===n.plural||r.has("he")||r.has("she")||r.has("#Person")?"has":"have"},rg=(e,t)=>{const{conjugate:n,toInfinitive:r}=e.methods.two.transform.verb,{root:a,auxiliary:o}=t;if(a.has("#Modal"))return e;let i=a.text({keepPunct:!1});i=r(i,e.model,Jd(a));let s=n(i,e.model);if(i=s.Participle||s.PastTense,i){e=e.replace(a,i);let t=ng(e);e.prepend(t).match(t).tag("Auxiliary"),e.remove(o)}return e},ag={infinitive:rg,"simple-present":rg,"simple-future":(e,t)=>e.replace("will",ng(e)),"present-perfect":Sd,"past-perfect":Sd,"future-perfect":(e,t)=>e.replace("will have",ng(e)),"present-perfect-progressive":Sd,"past-perfect-progressive":Sd,"future-perfect-progressive":Sd};var og=function(e,t,n){return ag.hasOwnProperty(n)?((e=ag[n](e,t)).fullSentence().compute(["tagger","chunks"]),e):((e=rg(e,t)).fullSentence().compute(["tagger","chunks"]),e)};const ig={tags:!0},sg=(e,t)=>{const{conjugate:n,toInfinitive:r}=e.methods.two.transform.verb,a=t.root;let o=a.text("normal");return o=r(o,e.model,Jd(a)),!1===Md(e)&&(o=n(o,e.model).PresentTense),a.has("#Copula")&&(o=Bd(e)),o&&(e=e.replace(a,o,ig)).not("#Particle").tag("PresentTense"),e},lg=(e,t)=>{const{conjugate:n,toInfinitive:r}=e.methods.two.transform.verb,a=t.root;let o=a.text("normal");return o=r(o,e.model,Jd(a)),!1===Md(e)&&(o=n(o,e.model).Gerund),o&&(e=e.replace(a,o,ig)).not("#Particle").tag("Gerund"),e},ug={infinitive:sg,"simple-present":(e,t)=>{const{conjugate:n}=e.methods.two.transform.verb;let{root:r}=t;if(!r.has("#Infinitive"))return sg(e,t);{let t=$d(e).subject;if(Md(e)||t.has("i"))return e;let a=r.text("normal"),o=n(a,e.model).PresentTense;a!==o&&e.replace(r,o,ig)}return e},"simple-past":sg,"simple-future":(e,t)=>{const{root:n,auxiliary:r}=t;if(r.has("will")&&n.has("be")){let t=Bd(e);e.replace(n,t),(e=e.remove("will")).replace("not "+t,t+" not")}else sg(e,t),e=e.remove("will");return e},"present-progressive":Sd,"past-progressive":(e,t)=>{let n=Bd(e);return e.replace("(were|was)",n,ig)},"future-progressive":e=>(e.match("will").insertBefore("is"),e.remove("be"),e.remove("will")),"present-perfect":(e,t)=>(sg(e,t),e=e.remove("(have|had|has)")),"past-perfect":(e,t)=>{let n=$d(e).subject;return Md(e)||n.has("i")?((e=Wd(e,t)).remove("had"),e):(e.replace("had","has",ig),e)},"future-perfect":e=>(e.match("will").insertBefore("has"),e.remove("have").remove("will")),"present-perfect-progressive":Sd,"past-perfect-progressive":e=>e.replace("had","has",ig),"future-perfect-progressive":e=>(e.match("will").insertBefore("has"),e.remove("have").remove("will")),"passive-past":(e,t)=>{let n=Bd(e);return e.has("(had|have|has)")&&e.has("been")?(e.replace("(had|have|has)",n,ig),e.replace("been","being"),e):e.replace("(got|was|were)",n)},"passive-present":Sd,"passive-future":e=>(e.replace("will","is"),e.replace("be","being")),"present-conditional":Sd,"past-conditional":e=>(e.replace("been","be"),e.remove("have")),"auxiliary-future":(e,t)=>(lg(e,t),e.remove("(going|to)"),e),"auxiliary-past":(e,t)=>{if(t.auxiliary.has("did")){let n=Hd(e);return e.replace(t.auxiliary,n),e}return lg(e,t),e.replace(t.auxiliary,"is"),e},"auxiliary-present":Sd,"modal-infinitive":Sd,"modal-past":(e,t)=>(((e,t)=>{const{toInfinitive:n}=e.methods.two.transform.verb,r=t.root;let a=t.root.text("normal");a=n(a,e.model,Jd(r)),a&&(e=e.replace(t.root,a,ig))})(e,t),e.remove("have")),"gerund-phrase":(e,t)=>(t.root=t.root.not("#Gerund$"),sg(e,t),e.remove("(will|have)")),"want-infinitive":(e,t)=>{let n="wants";return Md(e)&&(n="want"),e.replace("(want|wanted|wants)",n,ig),e.remove("will"),e}};var cg=function(e,t,n){return ug.hasOwnProperty(n)?((e=ug[n](e,t)).fullSentence().compute(["tagger","chunks"]),e):e};const hg={tags:!0},dg=(e,t)=>{const{toInfinitive:n}=e.methods.two.transform.verb,{root:r,auxiliary:a}=t;if(r.has("#Modal"))return e;let o=r.text("normal");return o=n(o,e.model,Jd(r)),o&&(e=e.replace(r,o,hg)).not("#Particle").tag("Verb"),e.prepend("will").match("will").tag("Auxiliary"),e.remove(a),e},gg=(e,t)=>{const{conjugate:n,toInfinitive:r}=e.methods.two.transform.verb,{root:a,auxiliary:o}=t;let i=a.text("normal");return i=r(i,e.model,Jd(a)),i&&(i=n(i,e.model).Gerund,e.replace(a,i,hg),e.not("#Particle").tag("PresentTense")),e.remove(o),e.prepend("will be").match("will be").tag("Auxiliary"),e},mg={infinitive:dg,"simple-present":dg,"simple-past":dg,"simple-future":Sd,"present-progressive":gg,"past-progressive":gg,"future-progressive":Sd,"present-perfect":e=>(e.match("(have|has)").replaceWith("will have"),e),"past-perfect":e=>e.replace("(had|has)","will have"),"future-perfect":Sd,"present-perfect-progressive":e=>e.replace("has","will have"),"past-perfect-progressive":e=>e.replace("had","will have"),"future-perfect-progressive":Sd,"passive-past":e=>e.has("got")?e.replace("got","will get"):e.has("(was|were)")?(e.replace("(was|were)","will be"),e.remove("being")):e.has("(have|has|had) been")?e.replace("(have|has|had) been","will be"):e,"passive-present":e=>(e.replace("being","will be"),e.remove("(is|are|am)"),e),"passive-future":Sd,"present-conditional":e=>e.replace("would","will"),"past-conditional":e=>e.replace("would","will"),"auxiliary-future":Sd,"auxiliary-past":e=>e.has("used")&&e.has("to")?(e.replace("used","will"),e.remove("to")):(e.replace("did","will"),e),"auxiliary-present":e=>e.replace("(do|does)","will"),"modal-infinitive":Sd,"modal-past":Sd,"gerund-phrase":(e,t)=>(t.root=t.root.not("#Gerund$"),dg(e,t),e.remove("(had|have)")),"want-infinitive":e=>(e.replace("(want|wants|wanted)","will want"),e)};var pg=function(e,t,n){return e.has("will")||e.has("going to")?e:mg.hasOwnProperty(n)?((e=mg[n](e,t)).fullSentence().compute(["tagger","chunks"]),e):e};const fg={tags:!0};var vg=function(e,t){const{toInfinitive:n,conjugate:r}=e.methods.two.transform.verb,{root:a,auxiliary:o}=t;if(e.has("#Gerund"))return e;let i=a.text("normal");i=n(i,e.model,Jd(a));let s=r(i,e.model).Gerund;if(s){let t=Bd(e);e.replace(a,s,fg),e.remove(o),e.prepend(t)}return e.replace("not is","is not"),e.replace("not are","are not"),e.fullSentence().compute(["tagger","chunks"]),e};const bg={tags:!0},yg=function(e,t){let n=Hd(e);return e.prepend(n+" not"),e},wg=function(e){let t=e.match("be");return t.found?(t.prepend("not"),e):(t=e.match("(is|was|am|are|will|were)"),t.found?(t.append("not"),e):e)},kg=e=>e.has("(is|was|am|are|will|were|be)"),Pg={"simple-present":(e,t)=>!0===kg(e)?wg(e):(e=Wd(e,t),e=yg(e)),"simple-past":(e,t)=>!0===kg(e)?wg(e):((e=Wd(e,t)).prepend("did not"),e),imperative:e=>(e.prepend("do not"),e),infinitive:(e,t)=>!0===kg(e)?wg(e):yg(e),"passive-past":e=>{if(e.has("got"))return e.replace("got","get",bg),e.prepend("did not"),e;let t=e.match("(was|were|had|have)");return t.found&&t.append("not"),e},"auxiliary-past":e=>{if(e.has("used"))return e.prepend("did not"),e;let t=e.match("(did|does|do)");return t.found&&t.append("not"),e},"want-infinitive":(e,t)=>e=(e=yg(e)).replace("wants","want",bg)};var Ag=function(e,t,n){if(e.has("#Negative"))return e;if(Pg.hasOwnProperty(n))return e=Pg[n](e,t);let r=e.matchOne("be");return r.found?(r.prepend("not"),e):!0===kg(e)?wg(e):(r=e.matchOne("(will|had|have|has|did|does|do|#Modal)"),r.found?(r.append("not"),e):e)},Ig=function(e){class Verbs extends e{constructor(e,t,n){super(e,t,n),this.viewType="Verbs"}parse(e){return this.getNth(e).map(Ad)}json(e,t){let n=this.getNth(t).map((t=>{let n=t.toView().json(e)[0]||{};return n.verb=Rd(t),n}),[]);return n}subjects(e){return this.getNth(e).map((e=>(Ad(e),$d(e).subject)))}adverbs(e){return this.getNth(e).map((e=>e.match("#Adverb")))}isSingular(e){return this.getNth(e).filter((e=>!0!==$d(e).plural))}isPlural(e){return this.getNth(e).filter((e=>!0===$d(e).plural))}isImperative(e){return this.getNth(e).filter((e=>e.has("#Imperative")))}toInfinitive(e){return this.getNth(e).map((e=>{let t=Ad(e),n=Gd(e,t);return Xd(e,t,n.form)}))}toPresentTense(e){return this.getNth(e).map((e=>{let t=Ad(e),n=Gd(e,t);return n.isInfinitive?e:cg(e,t,n.form)}))}toPastTense(e){return this.getNth(e).map((e=>{let t=Ad(e),n=Gd(e,t);return n.isInfinitive?e:tg(e,t,n.form)}))}toFutureTense(e){return this.getNth(e).map((e=>{let t=Ad(e),n=Gd(e,t);return n.isInfinitive?e:pg(e,t,n.form)}))}toGerund(e){return this.getNth(e).map((e=>{let t=Ad(e),n=Gd(e,t);return n.isInfinitive?e:vg(e,t,n.form)}))}toPastParticiple(e){return this.getNth(e).map((e=>{let t=Ad(e),n=Gd(e,t);return n.isInfinitive?e:og(e,t,n.form)}))}conjugate(e){const{conjugate:t,toInfinitive:n}=this.world.methods.two.transform.verb;return this.getNth(e).map((e=>{let r=Ad(e),a=Gd(e,r);"imperative"===a.form&&(a.form="simple-present");let o=r.root.text("normal");if(!r.root.has("#Infinitive")){let t=Jd(r.root);o=n(o,e.model,t)||o}return t(o,e.model)}),[])}isNegative(){return this.if("#Negative")}isPositive(){return this.ifNo("#Negative")}toPositive(){let e=this.match("do not #Verb");return e.found&&e.remove("do not"),this.remove("#Negative")}toNegative(e){return this.getNth(e).map((e=>{let t=Ad(e),n=Gd(e,t);return Ag(e,t,n.form)}))}update(e){let t=new Verbs(this.document,e);return t._cache=this._cache,t}}Verbs.prototype.toPast=Verbs.prototype.toPastTense,Verbs.prototype.toPresent=Verbs.prototype.toPresentTense,Verbs.prototype.toFuture=Verbs.prototype.toFutureTense,e.prototype.verbs=function(e){let t=vd(this);return t=t.getNth(e),new Verbs(this.document,t.pointer)}},Ng={api:Ig};const jg=function(e,t){let n=t.match(e);if(n.found){let e=n.pronouns().refersTo();if(e.found)return e}return t.none()},Eg=function(e){if(!e.found)return e;let[t]=e.fullPointer[0];return t&&t>0?e.update([[t-1]]):e.none()};var xg=function(e,t){let n=e.people();return n=function(e,t){return"m"===t?e.filter((e=>!e.presumedFemale().found)):"f"===t?e.filter((e=>!e.presumedMale().found)):e}(n,t),n.found?n.last():(n=e.nouns("#Actor"),n.found?n.last():"f"===t?jg("(she|her|hers)",e):"m"===t?jg("(he|him|his)",e):e.none())},Dg=function(e){let t=e.nouns(),n=t.isPlural().notIf("#Pronoun");if(n.found)return n.last();let r=jg("(they|their|theirs)",e);return r.found?r:(n=t.match("(somebody|nobody|everybody|anybody|someone|noone|everyone|anyone)"),n.found?n.last():e.none())};const Tg=function(e,t){let n=e.before(),r=t(n);return r.found?r:(n=Eg(e),r=t(n),r.found?r:(n=Eg(n),r=t(n),r.found?r:e.none()))};var Cg=function(e){e.pronouns().if("(he|him|his|she|her|hers|they|their|theirs|it|its)").forEach((e=>{let t=null;e.has("(he|him|his)")?t=Tg(e,(e=>xg(e,"m"))):e.has("(she|her|hers)")?t=Tg(e,(e=>xg(e,"f"))):e.has("(they|their|theirs)")&&(t=Tg(e,Dg)),t&&t.found&&function(e,t){t&&t.found&&(e.docs[0][0].reference=t.ptrs[0])}(e,t)}))},Og=function(e){class Pronouns extends e{constructor(e,t,n){super(e,t,n),this.viewType="Pronouns"}hasReference(){return this.compute("coreference"),this.filter((e=>e.docs[0][0].reference))}refersTo(){return this.compute("coreference"),this.map((e=>{if(!e.found)return e.none();let t=e.docs[0][0];return t.reference?e.update([t.reference]):e.none()}))}update(e){let t=new Pronouns(this.document,e);return t._cache=this._cache,t}}e.prototype.pronouns=function(e){let t=this.match("#Pronoun");return t=t.getNth(e),new Pronouns(t.document,t.pointer)}},Fg={compute:{coreference:Cg},api:Og};return v.plugin(ic),v.plugin(sc),v.plugin(kc),v.plugin(Fg),v.plugin(Sc),v.plugin(qc),v.plugin(lh),v.plugin(Jh),v.plugin(Uh),v.plugin(rd),v.plugin(fd),v.plugin(Ng),v},"object"==typeof exports&&"undefined"!=typeof module?module.exports=t():"function"==typeof define&&define.amd?define(t):(e="undefined"!=typeof globalThis?globalThis:e||self).nlp=t(); +var e,t;e=this,t=function(){var e={methods:{one:{},two:{},three:{},four:{}},model:{one:{},two:{},three:{}},compute:{},hooks:[]};const t={compute:function(e){const{world:t}=this,n=t.compute;return"string"==typeof e&&n.hasOwnProperty(e)?n[e](this):(e=>"[object Array]"===Object.prototype.toString.call(e))(e)?e.forEach((r=>{t.compute.hasOwnProperty(r)?n[r](this):console.warn("no compute:",e)})):"function"==typeof e?e(this):console.warn("no compute:",e),this}};var n=t,r={forEach:function(e){return this.fullPointer.forEach(((t,n)=>{let r=this.update([t]);e(r,n)})),this},map:function(e,t){let n=this.fullPointer.map(((t,n)=>{let r=this.update([t]),a=e(r,n);return void 0===a?this.none():a}));if(0===n.length)return t||this.update([]);if(void 0!==n[0]){if("string"==typeof n[0])return n;if("object"==typeof n[0]&&(null===n[0]||!n[0].isView))return n}let r=[];return n.forEach((e=>{r=r.concat(e.fullPointer)})),this.toView(r)},filter:function(e){let t=this.fullPointer;return t=t.filter(((t,n)=>{let r=this.update([t]);return e(r,n)})),this.update(t)},find:function(e){let t=this.fullPointer.find(((t,n)=>{let r=this.update([t]);return e(r,n)}));return this.update([t])},some:function(e){return this.fullPointer.some(((t,n)=>{let r=this.update([t]);return e(r,n)}))},random:function(e=1){let t=this.fullPointer,n=Math.floor(Math.random()*t.length);return n+e>this.length&&(n=this.length-e,n=n<0?0:n),t=t.slice(n,n+e),this.update(t)}};const a={termList:function(){return this.methods.one.termList(this.docs)},terms:function(e){let t=this.match(".");return"number"==typeof e?t.eq(e):t},groups:function(e){if(e||0===e)return this.update(this._groups[e]||[]);let t={};return Object.keys(this._groups).forEach((e=>{t[e]=this.update(this._groups[e])})),t},eq:function(e){let t=this.pointer;return t||(t=this.docs.map(((e,t)=>[t]))),t[e]?this.update([t[e]]):this.none()},first:function(){return this.eq(0)},last:function(){let e=this.fullPointer.length-1;return this.eq(e)},firstTerms:function(){return this.match("^.")},lastTerms:function(){return this.match(".$")},slice:function(e,t){let n=this.pointer||this.docs.map(((e,t)=>[t]));return n=n.slice(e,t),this.update(n)},all:function(){return this.update().toView()},fullSentences:function(){let e=this.fullPointer.map((e=>[e[0]]));return this.update(e).toView()},none:function(){return this.update([])},isDoc:function(e){if(!e||!e.isView)return!1;let t=this.fullPointer,n=e.fullPointer;return!t.length!==n.length&&t.every(((e,t)=>!!n[t]&&e[0]===n[t][0]&&e[1]===n[t][1]&&e[2]===n[t][2]))},wordCount:function(){return this.docs.reduce(((e,t)=>(e+=t.filter((e=>""!==e.text)).length,e)),0)},isFull:function(){let e=this.pointer;if(!e)return!0;if(0===e.length||0!==e[0][0])return!1;let t=0,n=0;return this.document.forEach((e=>t+=e.length)),this.docs.forEach((e=>n+=e.length)),t===n},getNth:function(e){return"number"==typeof e?this.eq(e):"string"==typeof e?this.if(e):this}};a.group=a.groups,a.fullSentence=a.fullSentences,a.sentence=a.fullSentences,a.lastTerm=a.lastTerms,a.firstTerm=a.firstTerms;var o=a;const i=Object.assign({},o,n,r);i.get=i.eq;var s=i;class View{constructor(t,n,r={}){[["document",t],["world",e],["_groups",r],["_cache",null],["viewType","View"]].forEach((e=>{Object.defineProperty(this,e[0],{value:e[1],writable:!0})})),this.ptrs=n}get docs(){let t=this.document;return this.ptrs&&(t=e.methods.one.getDoc(this.ptrs,this.document)),t}get pointer(){return this.ptrs}get methods(){return this.world.methods}get model(){return this.world.model}get hooks(){return this.world.hooks}get isView(){return!0}get found(){return this.docs.length>0}get length(){return this.docs.length}get fullPointer(){let{docs:e,ptrs:t,document:n}=this,r=t||e.map(((e,t)=>[t]));return r.map((e=>{let[t,r,a,o,i]=e;return r=r||0,a=a||(n[t]||[]).length,n[t]&&n[t][r]&&(o=o||n[t][r].id,n[t][a-1]&&(i=i||n[t][a-1].id)),[t,r,a,o,i]}))}update(e){let t=new View(this.document,e);if(this._cache&&e&&e.length>0){let n=[];e.forEach(((e,t)=>{let[r,a,o]=e;(1===e.length||0===a&&this.document[r].length===o)&&(n[t]=this._cache[r])})),n.length>0&&(t._cache=n)}return t.world=this.world,t}toView(e){return new View(this.document,e||this.pointer)}fromText(e){const{methods:t}=this;let n=t.one.tokenize.fromString(e,this.world),r=new View(n);return r.world=this.world,r.compute(["normal","lexicon"]),this.world.compute.preTagger&&r.compute("preTagger"),r}clone(){let e=this.document.slice(0);e=e.map((e=>e.map((e=>((e=Object.assign({},e)).tags=new Set(e.tags),e)))));let t=this.update(this.pointer);return t.document=e,t._cache=this._cache,t}}Object.assign(View.prototype,s);var l=View;const u=function(e){return e&&"object"==typeof e&&!Array.isArray(e)};function c(e,t){if(u(t))for(const n in t)u(t[n])?(e[n]||Object.assign(e,{[n]:{}}),c(e[n],t[n])):Object.assign(e,{[n]:t[n]});return e}var h=function(e,t,n,r){const{methods:a,model:o,compute:i,hooks:s}=t;e.methods&&function(e,t){for(const n in t)e[n]=e[n]||{},Object.assign(e[n],t[n])}(a,e.methods),e.model&&c(o,e.model),e.irregulars&&function(e,t){let n=e.two.models||{};Object.keys(t).forEach((e=>{t[e].pastTense&&(n.toPast&&(n.toPast.ex[e]=t[e].pastTense),n.fromPast&&(n.fromPast.ex[t[e].pastTense]=e)),t[e].presentTense&&(n.toPresent&&(n.toPresent.ex[e]=t[e].presentTense),n.fromPresent&&(n.fromPresent.ex[t[e].presentTense]=e)),t[e].gerund&&(n.toGerund&&(n.toGerund.ex[e]=t[e].gerund),n.fromGerund&&(n.fromGerund.ex[t[e].gerund]=e)),t[e].comparative&&(n.toComparative&&(n.toComparative.ex[e]=t[e].comparative),n.fromComparative&&(n.fromComparative.ex[t[e].comparative]=e)),t[e].superlative&&(n.toSuperlative&&(n.toSuperlative.ex[e]=t[e].superlative),n.fromSuperlative&&(n.fromSuperlative.ex[t[e].superlative]=e))}))}(o,e.irregulars),e.compute&&Object.assign(i,e.compute),s&&(t.hooks=s.concat(e.hooks||[])),e.api&&e.api(n),e.lib&&Object.keys(e.lib).forEach((t=>r[t]=e.lib[t])),e.tags&&r.addTags(e.tags),e.words&&r.addWords(e.words),e.mutate&&e.mutate(t)};const d=function(e){return"[object Array]"===Object.prototype.toString.call(e)};var m=function(e,t,n){const{methods:r}=n;let a=new t([]);if(a.world=n,"number"==typeof e&&(e=String(e)),!e)return a;if("string"==typeof e)return new t(r.one.tokenize.fromString(e,n));if(o=e,"[object Object]"===Object.prototype.toString.call(o)&&e.isView)return new t(e.document,e.ptrs);var o;if(d(e)){if(d(e[0])){let n=e.map((e=>e.map((e=>({text:e,normal:e,pre:"",post:" ",tags:new Set})))));return new t(n)}let n=function(e){return e.map((e=>e.terms.map((e=>(d(e.tags)&&(e.tags=new Set(e.tags)),e)))))}(e);return new t(n)}return a};let p=Object.assign({},e);const f=function(e,t){t&&f.addWords(t);let n=m(e,l,p);return e&&n.compute(p.hooks),n};Object.defineProperty(f,"_world",{value:p,writable:!0}),f.tokenize=function(e,t){const{compute:n}=this._world;t&&f.addWords(t);let r=m(e,l,p);return n.contractions&&r.compute(["alias","normal","machine","contractions"]),r},f.plugin=function(e){return h(e,this._world,l,this),this},f.extend=f.plugin,f.world=function(){return this._world},f.model=function(){return this._world.model},f.methods=function(){return this._world.methods},f.hooks=function(){return this._world.hooks},f.verbose=function(e){const t="undefined"!=typeof process&&process.env?process.env:self.env||{};return t.DEBUG_TAGS="tagger"===e||!0===e||"",t.DEBUG_MATCH="match"===e||!0===e||"",t.DEBUG_CHUNKS="chunker"===e||!0===e||"",this},f.version="14.10.1";var v=f,b=function(e){let t=e.map((e=>{let t=new Set;return e.forEach((e=>{""!==e.normal&&t.add(e.normal),e.switch&&t.add(`%${e.switch}%`),e.implicit&&t.add(e.implicit),e.machine&&t.add(e.machine),e.root&&t.add(e.root),e.alias&&e.alias.forEach((e=>t.add(e)));let n=Array.from(e.tags);for(let e=0;e/^\p{Lu}[\p{Ll}'’]/u.test(e)||/^\p{Lu}$/u.test(e),A=(e,t,n)=>{if(n.forEach((e=>e.dirty=!0)),e){let r=[t,0].concat(n);Array.prototype.splice.apply(e,r)}return e},C=function(e){let t=e[e.length-1];!t||/ $/.test(t.post)||/[-–—]/.test(t.post)||(t.post+=" ")},N=(e,t,n)=>{const r=/[-.?!,;:)–—'"]/g;let a=e[t-1];if(!a)return;let o=a.post;if(r.test(o)){let e=o.match(r).join(""),t=n[n.length-1];t.post=e+t.post,a.post=a.post.replace(r,"")}},j=function(e,t,n,r){let[a,o,i]=t;0===o||i===r[a].length?C(n):(C(n),C([e[t[1]]])),function(e,t,n){let r=e[t];if(0!==t||!P(r.text))return;n[0].text=n[0].text.replace(/^\p{Ll}/u,(e=>e.toUpperCase()));let a=e[t];a.tags.has("ProperNoun")||a.tags.has("Acronym")||P(a.text)&&a.text.length>1&&(a.text=a.text.replace(/^\p{Lu}/u,(e=>e.toLowerCase())))}(e,o,n),A(e,o,n)};let x=0;const I=e=>(e=e.length<3?"0"+e:e).length<3?"0"+e:e;var T=function(e){let[t,n]=e.index||[0,0];x+=1,x=x>46655?0:x,t=t>46655?0:t,n=n>1294?0:n;let r=I(x.toString(36));r+=I(t.toString(36));let a=n.toString(36);return a=a.length<2?"0"+a:a,r+=a,r+=parseInt(36*Math.random(),10).toString(36),e.normal+"|"+r.toUpperCase()};const H=function(e){e.has("@hasContraction")&&"function"==typeof e.contractions&&e.grow("@hasContraction").contractions().expand()},D=e=>"[object Array]"===Object.prototype.toString.call(e),G=function(e,t,n){const{document:r,world:a}=t;t.uncache();let o=t.fullPointer,i=t.fullPointer;t.forEach(((s,l)=>{let u=s.fullPointer[0],[c]=u,h=r[c],d=function(e,t){const{methods:n}=t;return"string"==typeof e?n.one.tokenize.fromString(e,t)[0]:"object"==typeof e&&e.isView?e.clone().docs[0]||[]:D(e)?D(e[0])?e[0]:e:[]}(e,a);0!==d.length&&(d=function(e){return e.map((e=>(e.id=T(e),e)))}(d),n?(H(t.update([u]).firstTerm()),j(h,u,d,r)):(H(t.update([u]).lastTerm()),function(e,t,n,r){let[a,,o]=t,i=(r[a]||[]).length;o{let n=t(e);e.replaceWith(n)})),e}(r,e);let a=r.docs[0],o=t.possessives&&a[a.length-1].tags.has("Possessive");e=function(e,t){if("string"!=typeof e)return e;let n=t.groups();return e=e.replace(F,(e=>{let t=e.replace(/\$/,"");return n.hasOwnProperty(t)?n[t].text():e})),e}(e,r);let i=this.update(n);n=n.map((e=>e.slice(0,3)));let s=(i.docs[0]||[]).map((e=>Array.from(e.tags)));if("string"==typeof e&&(e=this.fromText(e).compute("id")),r.insertAfter(e),i.has("@hasContraction")&&r.contractions&&r.grow("@hasContraction+").contractions().expand(),r.delete(i),o){let e=r.docs[0],t=e[e.length-1];t.tags.has("Possessive")||(t.text+="'s",t.normal+="'s",t.tags.add("Possessive"))}let l=r.toView(n).compute(["index","lexicon"]);return l.world.compute.preTagger&&l.compute("preTagger"),t.tags&&l.terms().forEach(((e,t)=>{e.tagSafe(s[t])})),t.case&&l.docs[0]&&l.docs[0][0]&&0===l.docs[0][0].index[1]&&(l.docs[0][0].text=l.docs[0][0].text.replace(/\w\S*/g,(e=>e.charAt(0).toUpperCase()+e.substring(1).toLowerCase()))),l},replace:function(e,t,n){if(e&&!t)return this.replaceWith(e,n);let r=this.match(e);return r.found?(this.soften(),r.replaceWith(t,n)):this}};var z=V,$=function(e,t){t.forEach((t=>{let[n,r,a]=t,o=a-r;e[n]&&(a===e[n].length&&a>1&&function(e,t){let n=e.length-1,r=e[n],a=e[n-t];a&&r&&(a.post+=r.post,a.post=a.post.replace(/ +([.?!,;:])/,"$1"),a.post=a.post.replace(/[,;:]+([.?!])/,"$1"))}(e[n],o),e[n].splice(r,o))}));for(let t=e.length-1;t>=0;t-=1)if(0===e[t].length&&(e.splice(t,1),t===e.length&&e[t-1])){let n=e[t-1],r=n[n.length-1];r&&(r.post=r.post.trimEnd())}return e};const L={remove:function(e){const{indexN:t}=this.methods.one.pointer;this.uncache();let n=this.all(),r=this;e&&(n=this,r=this.match(e));let a=!n.ptrs;r.has("@hasContraction")&&r.contractions&&r.grow("@hasContraction").contractions().expand();let o=n.fullPointer,i=r.fullPointer.reverse(),s=$(this.document,i);return o=function(e,t){return e=e.map((e=>{let[n]=e;return t[n]?(t[n].forEach((t=>{let n=t[2]-t[1];e[1]<=t[1]&&e[2]>=t[2]&&(e[2]-=n)})),e):e})),e.forEach(((t,n)=>{if(0===t[1]&&0==t[2])for(let t=n+1;te[2]-e[1]>0))).map((e=>(e[3]=null,e[4]=null,e)))}(o,t(i)),n.ptrs=o,n.document=s,n.compute("index"),a&&(n.ptrs=void 0),e?n.toView(o):(this.ptrs=[],n.none())}};L.delete=L.remove;var S=L;const M={pre:function(e,t){return void 0===e&&this.found?this.docs[0][0].pre:(this.docs.forEach((n=>{let r=n[0];!0===t?r.pre+=e:r.pre=e})),this)},post:function(e,t){if(void 0===e){let e=this.docs[this.docs.length-1];return e[e.length-1].post}return this.docs.forEach((n=>{let r=n[n.length-1];!0===t?r.post+=e:r.post=e})),this},trim:function(){if(!this.found)return this;let e=this.docs,t=e[0][0];t.pre=t.pre.trimStart();let n=e[e.length-1],r=n[n.length-1];return r.post=r.post.trimEnd(),this},hyphenate:function(){return this.docs.forEach((e=>{e.forEach(((t,n)=>{0!==n&&(t.pre=""),e[n+1]&&(t.post="-")}))})),this},dehyphenate:function(){const e=/[-–—]/;return this.docs.forEach((t=>{t.forEach((t=>{e.test(t.post)&&(t.post=" ")}))})),this},toQuotations:function(e,t){return e=e||'"',t=t||'"',this.docs.forEach((n=>{n[0].pre=e+n[0].pre;let r=n[n.length-1];r.post=t+r.post})),this},toParentheses:function(e,t){return e=e||"(",t=t||")",this.docs.forEach((n=>{n[0].pre=e+n[0].pre;let r=n[n.length-1];r.post=t+r.post})),this}};M.deHyphenate=M.dehyphenate,M.toQuotation=M.toQuotations;var B=M,J={alpha:(e,t)=>e.normalt.normal?1:0,length:(e,t)=>{let n=e.normal.trim().length,r=t.normal.trim().length;return nr?-1:0},wordCount:(e,t)=>e.wordst.words?-1:0,sequential:(e,t)=>e[0]t[0]?-1:e[1]>t[1]?1:-1,byFreq:function(e){let t={};return e.forEach((e=>{t[e.normal]=t[e.normal]||0,t[e.normal]+=1})),e.sort(((e,n)=>{let r=t[e.normal],a=t[n.normal];return ra?-1:0})),e}};const W=new Set(["index","sequence","seq","sequential","chron","chronological"]),q=new Set(["freq","frequency","topk","repeats"]),K=new Set(["alpha","alphabetical"]);var U={unique:function(){let e=new Set,t=this.filter((t=>{let n=t.text("machine");return!e.has(n)&&(e.add(n),!0)}));return t},reverse:function(){let e=this.pointer||this.docs.map(((e,t)=>[t]));return e=[].concat(e),e=e.reverse(),this._cache&&(this._cache=this._cache.reverse()),this.update(e)},sort:function(e){let{docs:t,pointer:n}=this;if(this.uncache(),"function"==typeof e)return function(e,t){let n=e.fullPointer;return n=n.sort(((n,r)=>(n=e.update([n]),r=e.update([r]),t(n,r)))),e.ptrs=n,e}(this,e);e=e||"alpha";let r=n||t.map(((e,t)=>[t])),a=t.map(((e,t)=>({index:t,words:e.length,normal:e.map((e=>e.machine||e.normal||"")).join(" "),pointer:r[t]})));return W.has(e)&&(e="sequential"),K.has(e)&&(e="alpha"),q.has(e)?(a=J.byFreq(a),this.update(a.map((e=>e.pointer)))):"function"==typeof J[e]?(a=a.sort(J[e]),this.update(a.map((e=>e.pointer)))):this}};const R=function(e,t){if(e.length>0){let t=e[e.length-1],n=t[t.length-1];!1===/ /.test(n.post)&&(n.post+=" ")}return e=e.concat(t)};var Q={concat:function(e){if("string"==typeof e){let t=this.fromText(e);if(this.found&&this.ptrs){let e=this.fullPointer,n=e[e.length-1][0];this.document.splice(n,0,...t.document)}else this.document=this.document.concat(t.document);return this.all().compute("index")}if("object"==typeof e&&e.isView)return function(e,t){if(e.document===t.document){let n=e.fullPointer.concat(t.fullPointer);return e.toView(n).compute("index")}return t.fullPointer.forEach((t=>{t[0]+=e.document.length})),e.document=R(e.document,t.docs),e.all()}(this,e);if(t=e,"[object Array]"===Object.prototype.toString.call(t)){let t=R(this.document,e);return this.document=t,this.all()}var t;return this}},_={harden:function(){return this.ptrs=this.fullPointer,this},soften:function(){let e=this.ptrs;return!e||e.length<1||(e=e.map((e=>e.slice(0,3))),this.ptrs=e),this}};const X=Object.assign({},{toLowerCase:function(){return this.termList().forEach((e=>{e.text=e.text.toLowerCase()})),this},toUpperCase:function(){return this.termList().forEach((e=>{e.text=e.text.toUpperCase()})),this},toTitleCase:function(){return this.termList().forEach((e=>{e.text=e.text.replace(/^ *[a-z\u00C0-\u00FF]/,(e=>e.toUpperCase()))})),this},toCamelCase:function(){return this.docs.forEach((e=>{e.forEach(((t,n)=>{0!==n&&(t.text=t.text.replace(/^ *[a-z\u00C0-\u00FF]/,(e=>e.toUpperCase()))),n!==e.length-1&&(t.post="")}))})),this}},O,z,S,B,U,Q,_);var Z=function(e){Object.assign(e.prototype,X)};const Y={id:function(e){let t=e.docs;for(let e=0;e(e.implicit=e.text,e.machine=e.text,e.pre="",e.post="",e.text="",e.normal="",e.index=[r,a+t],e))),n[0]&&(n[0].pre=e[r][a].pre,n[n.length-1].post=e[r][a].post,n[0].text=e[r][a].text,n[0].normal=e[r][a].normal),e[r].splice(a,1,...n))};const ae=/'/,oe=new Set(["what","how","when","where","why"]),ie=new Set(["be","go","start","think","need"]),se=new Set(["been","gone"]);var le=function(e,t){let n=e[t].normal.split(ae)[0];if(oe.has(n))return[n,"did"];if(e[t+1]){if(se.has(e[t+1].normal))return[n,"had"];if(ie.has(e[t+1].normal))return[n,"would"]}return null},ue=function(e,t){return"ain't"===e[t].normal||"aint"===e[t].normal?null:[e[t].normal.replace(/n't/,""),"not"]};const ce=/'/;var he=(e,t)=>["je",e[t].normal.split(ce)[1]],de=(e,t)=>{let n=e[t].normal.split(ce)[1];return n&&n.endsWith("e")?["la",n]:["le",n]},ge=(e,t)=>{let n=e[t].normal.split(ce)[1];return n&&n.endsWith("e")?["du",n]:n&&n.endsWith("s")?["des",n]:["de",n]};const me=/^([0-9.]{1,4}[a-z]{0,2}) ?[-–—] ?([0-9]{1,4}[a-z]{0,2})$/i,pe=/^([0-9]{1,2}(:[0-9][0-9])?(am|pm)?) ?[-–—] ?([0-9]{1,2}(:[0-9][0-9])?(am|pm)?)$/i,fe=/^[0-9]{3}-[0-9]{4}$/;var ve=function(e,t){let n=e[t],r=n.text.match(me);return null!==r?!0===n.tags.has("PhoneNumber")||fe.test(n.text)?null:[r[1],"to",r[2]]:(r=n.text.match(pe),null!==r?[r[1],"to",r[4]]:null)};const be=/^([+-]?[0-9][.,0-9]*)([a-z°²³µ/]+)$/;var ye=function(e,t,n){const r=n.model.one.numberSuffixes||{};let a=e[t].text.match(be);if(null!==a){let e=a[2].toLowerCase().trim();return r.hasOwnProperty(e)?null:[a[1],e]}return null};const we=/'/,ke=/^[0-9][^-–—]*[-–—].*?[0-9]/,Pe=function(e,t,n,r){let a=t.update();a.document=[e];let o=n+r;n>0&&(n-=1),e[o]&&(o+=1),a.ptrs=[[0,n,o]]},Ae={t:(e,t)=>ue(e,t),d:(e,t)=>le(e,t)},Ce={j:(e,t)=>he(e,t),l:(e,t)=>de(e,t),d:(e,t)=>ge(e,t)},Ne=function(e,t,n,r){for(let a=0;a2)return o.out.concat(r)}return null},je=function(e,t){let n=t.fromText(e.join(" "));return n.compute(["id","alias"]),n.docs[0]},xe=function(e,t){for(let n=t+1;n<5&&e[n];n+=1)if("been"===e[n].normal)return["there","has"];return["there","is"]};var Ie=e=>{let{world:t,document:n}=e;const{model:r,methods:a}=t;let o=r.one.contractions||[];n.forEach(((r,i)=>{for(let s=r.length-1;s>=0;s-=1){let l=null,u=null;!0===we.test(r[s].normal)&&([l,u]=r[s].normal.split(we));let c=Ne(o,r[s],l,u);!c&&Ae.hasOwnProperty(u)&&(c=Ae[u](r,s,t)),!c&&Ce.hasOwnProperty(l)&&(c=Ce[l](r,s)),"there"===l&&"s"===u&&(c=xe(r,s)),c?(c=je(c,e),re(n,[i,s],c),Pe(n[i],e,s,c.length)):ke.test(r[s].normal)?(c=ve(r,s),c&&(c=je(c,e),re(n,[i,s],c),a.one.setTag(c,"NumberRange",t),c[2]&&c[2].tags.has("Time")&&a.one.setTag([c[0]],"Time",t,null,"time-range"),Pe(n[i],e,s,c.length))):(c=ye(r,s,t),c&&(c=je(c,e),re(n,[i,s],c),a.one.setTag([c[1]],"Unit",t,null,"contraction-unit")))}}))},Te={model:ne,compute:{contractions:Ie},hooks:["contractions"]},He=function(e,t,n){const{model:r,methods:a}=n,o=a.one.setTag,i=r.one._multiCache||{},s=r.one.lexicon||{};let l=e[t],u=l.machine||l.normal;return void 0!==e[t+1]&&!0===i[u]?function(e,t,n,r,a){let o=t+4>e.length?e.length-t:4,i=e[t].machine||e[t].normal;for(let s=1;si.hasOwnProperty(e)));if(e)return o([s],i[e],n,!1,"1-lexicon-alias"),!0}if(!0===De.test(l)){let e=l.replace(De,"");if(i.hasOwnProperty(e)&&e.length>3&&Ge.has(i[e]))return o([s],i[e],n,!1,"1-lexicon-prefix"),!0}return null},Oe={lexicon:function(e){const t=e.world;e.docs.forEach((e=>{for(let n=0;n{let a=e[r],o=(r=(r=r.toLowerCase().trim()).replace(/'s\b/,"")).split(/ /);o.length>1&&(n[o[0]]=!0),t[r]=t[r]||a})),delete t[""],delete t.null,delete t[" "],{lex:t,_multi:n}},Ve={addWords:function(e){const t=this.world(),{methods:n,model:r}=t;if(e)if(Object.keys(e).forEach((t=>{"string"==typeof e[t]&&e[t].startsWith("#")&&(e[t]=e[t].replace(/^#/,""))})),n.two.expandLexicon){let{lex:a,_multi:o}=n.two.expandLexicon(e,t);Object.assign(r.one.lexicon,a),Object.assign(r.one._multiCache,o)}else if(n.one.expandLexicon){let{lex:a,_multi:o}=n.one.expandLexicon(e,t);Object.assign(r.one.lexicon,a),Object.assign(r.one._multiCache,o)}else Object.assign(r.one.lexicon,e)}},ze={model:{one:{lexicon:{},_multiCache:{}}},methods:{one:{expandLexicon:Fe}},compute:Oe,lib:Ve,hooks:["lexicon"]},$e=function(e,t){let n=[{}],r=[null],a=[0],o=[],i=0;e.forEach((function(e){let a=0,o=function(e,t){const{methods:n,model:r}=t;let a=n.one.tokenize.splitTerms(e,r).map((e=>n.one.tokenize.splitWhitespace(e,r)));return a.map((e=>e.text.toLowerCase()))}(e,t);for(let e=0;e0&&!n[i].hasOwnProperty(l);)i=a[i];if(n.hasOwnProperty(i)){let e=n[i][l];a[u]=e,r[e]&&(r[u]=r[u]||[],r[u]=r[u].concat(r[e]))}else a[u]=0}}return{goNext:n,endAs:r,failTo:a}};const Le=function(e,t,n){let r=0,a=[];for(let o=0;o0&&(void 0===t.goNext[r]||!t.goNext[r].hasOwnProperty(i));)r=t.failTo[r]||0;if(t.goNext[r].hasOwnProperty(i)&&(r=t.goNext[r][i],t.endAs[r])){let n=t.endAs[r];for(let t=0;t0&&(r=r.concat(l))}return e.update(r)};const Be=(e,t)=>{for(let n=e.length-1;n>=0;n-=1)if(e[n]!==t)return e=e.slice(0,n+1);return e};var Je=function(e){return e.goNext=e.goNext.map((e=>{if(0!==Object.keys(e).length)return e})),e.goNext=Be(e.goNext,void 0),e.failTo=Be(e.failTo,0),e.endAs=Be(e.endAs,null),e};const We={buildTrie:function(e){const t=$e(e,this.world());return Je(t)}};We.compile=We.buildTrie;var qe={api:function(e){e.prototype.lookup=function(e,t={}){if(!e)return this.none();"string"==typeof e&&(e=[e]);let n=(r=e,"[object Object]"===Object.prototype.toString.call(r)?e:$e(e,this.world));var r;let a=Me(this,n,t);return a=a.settle(),a}},lib:We};const Ke=function(e,t){return t?(e.forEach((e=>{let n=e[0];t[n]&&(e[0]=t[n][0],e[1]+=t[n][1],e[2]+=t[n][1])})),e):e},Ue=function(e,t){let{ptrs:n,byGroup:r}=e;return n=Ke(n,t),Object.keys(r).forEach((e=>{r[e]=Ke(r[e],t)})),{ptrs:n,byGroup:r}},Re=e=>"[object Object]"===Object.prototype.toString.call(e),Qe=e=>e&&Re(e)&&!0===e.isView,_e=e=>e&&Re(e)&&!0===e.isNet,Xe=function(e,t,n){const r=n.methods.one;return"number"==typeof e&&(e=String(e)),"string"==typeof e&&(e=r.killUnicode(e,n),e=r.parseMatch(e,t,n)),e};var Ze={matchOne:function(e,t,n){const r=this.methods.one;if(Qe(e))return this.intersection(e).eq(0);if(_e(e))return this.sweep(e,{tagger:!1,matchOne:!0}).view;let a={regs:e=Xe(e,n,this.world),group:t,justOne:!0},o=r.match(this.docs,a,this._cache),{ptrs:i,byGroup:s}=Ue(o,this.fullPointer),l=this.toView(i);return l._groups=s,l},match:function(e,t,n){const r=this.methods.one;if(Qe(e))return this.intersection(e);if(_e(e))return this.sweep(e,{tagger:!1}).view.settle();let a={regs:e=Xe(e,n,this.world),group:t},o=r.match(this.docs,a,this._cache),{ptrs:i,byGroup:s}=Ue(o,this.fullPointer),l=this.toView(i);return l._groups=s,l},has:function(e,t,n){const r=this.methods.one;if(Qe(e))return e.fullPointer.length>0;if(_e(e))return this.sweep(e,{tagger:!1}).view.found;let a={regs:e=Xe(e,n,this.world),group:t,justOne:!0};return r.match(this.docs,a,this._cache).ptrs.length>0},if:function(e,t,n){const r=this.methods.one;if(Qe(e))return this.filter((t=>t.intersection(e).found));if(_e(e)){let t=this.sweep(e,{tagger:!1}).view.settle();return this.if(t)}let a={regs:e=Xe(e,n,this.world),group:t,justOne:!0},o=this.fullPointer,i=this._cache||[];o=o.filter(((e,t)=>{let n=this.update([e]);return r.match(n.docs,a,i[t]).ptrs.length>0}));let s=this.update(o);return this._cache&&(s._cache=o.map((e=>i[e[0]]))),s},ifNo:function(e,t,n){const{methods:r}=this,a=r.one;if(Qe(e))return this.filter((t=>!t.intersection(e).found));if(_e(e)){let t=this.sweep(e,{tagger:!1}).view.settle();return this.ifNo(t)}e=Xe(e,n,this.world);let o=this._cache||[],i=this.filter(((n,r)=>{let i={regs:e,group:t,justOne:!0};return 0===a.match(n.docs,i,o[r]).ptrs.length}));return this._cache&&(i._cache=i.ptrs.map((e=>o[e[0]]))),i}},Ye={before:function(e,t,n){const{indexN:r}=this.methods.one.pointer;let a=[],o=r(this.fullPointer);Object.keys(o).forEach((e=>{let t=o[e].sort(((e,t)=>e[1]>t[1]?1:-1))[0];t[1]>0&&a.push([t[0],0,t[1]])}));let i=this.toView(a);return e?i.match(e,t,n):i},after:function(e,t,n){const{indexN:r}=this.methods.one.pointer;let a=[],o=r(this.fullPointer),i=this.document;Object.keys(o).forEach((e=>{let t=o[e].sort(((e,t)=>e[1]>t[1]?-1:1))[0],[n,,r]=t;r{let o=n.before(e,t);if(o.found){let e=o.terms();r[a][1]-=e.length,r[a][3]=e.docs[0][0].id}})),this.update(r)},growRight:function(e,t,n){"string"==typeof e&&(e=this.world.methods.one.parseMatch(e,n,this.world)),e[0].start=!0;let r=this.fullPointer;return this.forEach(((n,a)=>{let o=n.after(e,t);if(o.found){let e=o.terms();r[a][2]+=e.length,r[a][4]=null}})),this.update(r)},grow:function(e,t,n){return this.growRight(e,t,n).growLeft(e,t,n)}};const et=function(e,t){return[e[0],e[1],t[2]]},tt=(e,t,n)=>{return"string"==typeof e||(r=e,"[object Array]"===Object.prototype.toString.call(r))?t.match(e,n):e||t.none();var r},nt=function(e,t){let[n,r,a]=e;return t.document[n]&&t.document[n][r]&&(e[3]=e[3]||t.document[n][r].id,t.document[n][a-1]&&(e[4]=e[4]||t.document[n][a-1].id)),e},rt={splitOn:function(e,t){const{splitAll:n}=this.methods.one.pointer;let r=tt(e,this,t).fullPointer,a=n(this.fullPointer,r),o=[];return a.forEach((e=>{o.push(e.passthrough),o.push(e.before),o.push(e.match),o.push(e.after)})),o=o.filter((e=>e)),o=o.map((e=>nt(e,this))),this.update(o)},splitBefore:function(e,t){const{splitAll:n}=this.methods.one.pointer;let r=tt(e,this,t).fullPointer,a=n(this.fullPointer,r);for(let e=0;e{o.push(e.passthrough),o.push(e.before),e.match&&e.after?o.push(et(e.match,e.after)):o.push(e.match)})),o=o.filter((e=>e)),o=o.map((e=>nt(e,this))),this.update(o)},splitAfter:function(e,t){const{splitAll:n}=this.methods.one.pointer;let r=tt(e,this,t).fullPointer,a=n(this.fullPointer,r),o=[];return a.forEach((e=>{o.push(e.passthrough),e.before&&e.match?o.push(et(e.before,e.match)):(o.push(e.before),o.push(e.match)),o.push(e.after)})),o=o.filter((e=>e)),o=o.map((e=>nt(e,this))),this.update(o)}};rt.split=rt.splitAfter;var at=rt;const ot=Object.assign({},Ze,Ye,at);ot.lookBehind=ot.before,ot.lookBefore=ot.before,ot.lookAhead=ot.after,ot.lookAfter=ot.after,ot.notIf=ot.ifNo;var it=function(e){Object.assign(e.prototype,ot)};const st=/(?:^|\s)([![^]*(?:<[^<]*>)?\/.*?[^\\/]\/[?\]+*$~]*)(?:\s|$)/,lt=/([!~[^]*(?:<[^<]*>)?\([^)]+[^\\)]\)[?\]+*$~]*)(?:\s|$)/,ut=/ /g,ct=e=>/^[![^]*(<[^<]*>)?\//.test(e)&&/\/[?\]+*$~]*$/.test(e),ht=function(e){return e=(e=e.map((e=>e.trim()))).filter((e=>e))};var dt=function(e){let t=e.split(st),n=[];t.forEach((e=>{ct(e)?n.push(e):n=n.concat(e.split(lt))})),n=ht(n);let r=[];return n.forEach((e=>{(e=>/^[![^]*(<[^<]*>)?\(/.test(e)&&/\)[?\]+*$~]*$/.test(e))(e)||ct(e)?r.push(e):r=r.concat(e.split(ut))})),r=ht(r),r};const gt=/\{([0-9]+)?(, *[0-9]*)?\}/,mt=/&&/,pt=new RegExp(/^<\s*(\S+)\s*>/),ft=e=>e.charAt(0).toUpperCase()+e.substring(1),vt=e=>e.charAt(e.length-1),bt=e=>e.charAt(0),yt=e=>e.substring(1),wt=e=>e.substring(0,e.length-1),kt=function(e){return e=yt(e),e=wt(e)},Pt=function(e,t){let n={};for(let r=0;r<2;r+=1){if("$"===vt(e)&&(n.end=!0,e=wt(e)),"^"===bt(e)&&(n.start=!0,e=yt(e)),"?"===vt(e)&&(n.optional=!0,e=wt(e)),("["===bt(e)||"]"===vt(e))&&(n.group=null,"["===bt(e)&&(n.groupStart=!0),"]"===vt(e)&&(n.groupEnd=!0),e=(e=e.replace(/^\[/,"")).replace(/\]$/,""),"<"===bt(e))){const t=pt.exec(e);t.length>=2&&(n.group=t[1],e=e.replace(t[0],""))}if("+"===vt(e)&&(n.greedy=!0,e=wt(e)),"*"!==e&&"*"===vt(e)&&"\\*"!==e&&(n.greedy=!0,e=wt(e)),"!"===bt(e)&&(n.negative=!0,e=yt(e)),"~"===bt(e)&&"~"===vt(e)&&e.length>2&&(e=kt(e),n.fuzzy=!0,n.min=t.fuzzy||.85,!1===/\(/.test(e)))return n.word=e,n;if("/"===bt(e)&&"/"===vt(e))return e=kt(e),t.caseSensitive&&(n.use="text"),n.regex=new RegExp(e),n;if(!0===gt.test(e)&&(e=e.replace(gt,((e,t,r)=>(void 0===r?(n.min=Number(t),n.max=Number(t)):(r=r.replace(/, */,""),void 0===t?(n.min=0,n.max=Number(r)):(n.min=Number(t),n.max=Number(r||999))),n.greedy=!0,n.min||(n.optional=!0),"")))),"("===bt(e)&&")"===vt(e)){mt.test(e)?(n.choices=e.split(mt),n.operator="and"):(n.choices=e.split("|"),n.operator="or"),n.choices[0]=yt(n.choices[0]);let r=n.choices.length-1;n.choices[r]=wt(n.choices[r]),n.choices=n.choices.map((e=>e.trim())),n.choices=n.choices.filter((e=>e)),n.choices=n.choices.map((e=>e.split(/ /g).map((e=>Pt(e,t))))),e=""}if("{"===bt(e)&&"}"===vt(e)){if(e=kt(e),n.root=e,/\//.test(e)){let e=n.root.split(/\//);n.root=e[0],n.pos=e[1],"adj"===n.pos&&(n.pos="Adjective"),n.pos=n.pos.charAt(0).toUpperCase()+n.pos.substr(1).toLowerCase(),void 0!==e[2]&&(n.sense=e[2])}return n}if("<"===bt(e)&&">"===vt(e))return e=kt(e),n.chunk=ft(e),n.greedy=!0,n;if("%"===bt(e)&&"%"===vt(e))return e=kt(e),n.switch=e,n}return"#"===bt(e)?(n.tag=yt(e),n.tag=ft(n.tag),n):"@"===bt(e)?(n.method=yt(e),n):"."===e?(n.anything=!0,n):"*"===e?(n.anything=!0,n.greedy=!0,n.optional=!0,n):(e&&(e=(e=e.replace("\\*","*")).replace("\\.","."),t.caseSensitive?n.use="text":e=e.toLowerCase(),n.word=e),n)};var At=Pt;const Ct=/[a-z0-9][-–—][a-z]/i;var Nt=function(e,t){let n=t.model.one.prefixes;for(let t=e.length-1;t>=0;t-=1){let r=e[t];if(r.word&&Ct.test(r.word)){let a=r.word.split(/[-–—]/g);if(n.hasOwnProperty(a[0]))continue;a=a.filter((e=>e)).reverse(),e.splice(t,1),a.forEach((n=>{let a=Object.assign({},r);a.word=n,e.splice(t,0,a)}))}}return e};const jt=function(e,t){let{all:n}=t.methods.two.transform.verb||{},r=e.root;return n?n(r,t.model):[]},xt=function(e,t){let{all:n}=t.methods.two.transform.noun||{};return n?n(e.root,t.model):[e.root]},It=function(e,t){let{all:n}=t.methods.two.transform.adjective||{};return n?n(e.root,t.model):[e.root]};var Tt=function(e,t){return e=e.map((e=>{if(e.root)if(t.methods.two&&t.methods.two.transform){let n=[];e.pos?"Verb"===e.pos?n=n.concat(jt(e,t)):"Noun"===e.pos?n=n.concat(xt(e,t)):"Adjective"===e.pos&&(n=n.concat(It(e,t))):(n=n.concat(jt(e,t)),n=n.concat(xt(e,t)),n=n.concat(It(e,t))),n=n.filter((e=>e)),n.length>0&&(e.operator="or",e.fastOr=new Set(n))}else e.machine=e.root,delete e.id,delete e.root;return e}))},Ht=function(e){return e=function(e){let t=0,n=null;for(let r=0;r(e.fuzzy&&e.choices&&e.choices.forEach((t=>{1===t.length&&t[0].word&&(t[0].fuzzy=!0,t[0].min=e.min)})),e)))}(e=e.map((e=>{if(void 0!==e.choices){if("or"!==e.operator)return e;if(!0===e.fuzzy)return e;!0===e.choices.every((e=>{if(1!==e.length)return!1;let t=e[0];return!0!==t.fuzzy&&!t.start&&!t.end&&void 0!==t.word&&!0!==t.negative&&!0!==t.optional&&!0!==t.method}))&&(e.fastOr=new Set,e.choices.forEach((t=>{e.fastOr.add(t[0].word)})),delete e.choices)}return e}))),e},Dt=function(e,t,n){if(null==e||""===e)return[];t=t||{},"number"==typeof e&&(e=String(e));let r=dt(e);return r=r.map((e=>At(e,t))),r=Nt(r,n),r=Tt(r,n),r=Ht(r),r};const Gt=function(e,t){for(let n of t)if(e.has(n))return!0;return!1};var Et=function(e,t){for(let n=0;nn?r:n)+1;if(Math.abs(n-r)>(a||100))return a||100;let o,i,s,l,u,c,h=[];for(let e=0;e4)return n;s=t[o-1],l=i===s?0:1,u=h[a-1][o]+1,(c=h[a][o-1]+1)1&&o>1&&i===t[o-2]&&e[a-2]===s&&(c=h[a-2][o-2]+l)-1!==e.post.indexOf(t),St=(e,t)=>-1!==e.pre.indexOf(t),Mt={hasQuote:e=>Ft.test(e.pre)||Vt.test(e.post),hasComma:e=>Lt(e,","),hasPeriod:e=>!0===Lt(e,".")&&!1===Lt(e,"..."),hasExclamation:e=>Lt(e,"!"),hasQuestionMark:e=>Lt(e,"?")||Lt(e,"¿"),hasEllipses:e=>Lt(e,"..")||Lt(e,"…")||St(e,"..")||St(e,"…"),hasSemicolon:e=>Lt(e,";"),hasColon:e=>Lt(e,":"),hasSlash:e=>/\//.test(e.text),hasHyphen:e=>zt.test(e.post)||zt.test(e.pre),hasDash:e=>$t.test(e.post)||$t.test(e.pre),hasContraction:e=>Boolean(e.implicit),isAcronym:e=>e.tags.has("Acronym"),isKnown:e=>e.tags.size>0,isTitleCase:e=>/^\p{Lu}[a-z'\u00C0-\u00FF]/u.test(e.text),isUpperCase:e=>/^\p{Lu}+$/u.test(e.text)};Mt.hasQuotation=Mt.hasQuote;var Bt=Mt;let Jt=function(){};Jt=function(e,t,n,r){let a=function(e,t,n,r){if(!0===t.anything)return!0;if(!0===t.start&&0!==n)return!1;if(!0===t.end&&n!==r-1)return!1;if(void 0!==t.id&&t.id===e.id)return!0;if(void 0!==t.word){if(t.use)return t.word===e[t.use];if(null!==e.machine&&e.machine===t.word)return!0;if(void 0!==e.alias&&e.alias.hasOwnProperty(t.word))return!0;if(!0===t.fuzzy){if(t.word===e.root)return!0;if(Ot(t.word,e.normal)>=t.min)return!0}return!(!e.alias||!e.alias.some((e=>e===t.word)))||t.word===e.text||t.word===e.normal}if(void 0!==t.tag)return!0===e.tags.has(t.tag);if(void 0!==t.method)return"function"==typeof Bt[t.method]&&!0===Bt[t.method](e);if(void 0!==t.pre)return e.pre&&e.pre.includes(t.pre);if(void 0!==t.post)return e.post&&e.post.includes(t.post);if(void 0!==t.regex){let n=e.normal;return t.use&&(n=e[t.use]),t.regex.test(n)}if(void 0!==t.chunk)return e.chunk===t.chunk;if(void 0!==t.switch)return e.switch===t.switch;if(void 0!==t.machine)return e.normal===t.machine||e.machine===t.machine||e.root===t.machine;if(void 0!==t.sense)return e.sense===t.sense;if(void 0!==t.fastOr){if(t.pos&&!e.tags.has(t.pos))return null;let n=e.root||e.implicit||e.machine||e.normal;return t.fastOr.has(n)||t.fastOr.has(e.text)}return void 0!==t.choices&&("and"===t.operator?t.choices.every((t=>Jt(e,t,n,r))):t.choices.some((t=>Jt(e,t,n,r))))}(e,t,n,r);return!0===t.negative?!a:a};var Wt=Jt;const qt=function(e,t){if(!0===e.end&&!0===e.greedy&&t.start_i+t.tn.max?(e.t=e.t+n.max,!0):(!0===e.hasGroup&&(Kt(e,e.t).length=r-e.t),e.t=r,!0)};const Rt=function(e,t=0){let n=e.regs[e.r],r=!1;for(let o=0;o{let a=0,o=e.t+r+t+a;if(void 0===e.terms[o])return!1;let i=Wt(e.terms[o],n,o+e.start_i,e.phrase_length);if(!0===i&&!0===n.greedy)for(let t=1;t{let r=n.every(((t,n)=>{let r=e.t+n;return void 0!==e.terms[r]&&Wt(e.terms[r],t,r,e.phrase_length)}));return!0===r&&n.length>t&&(t=n.length),r}))&&t}(e);if(r){if(!0===n.negative)return null;if(!0===e.hasGroup&&(Kt(e,e.t).length+=r),!0===n.end){let t=e.phrase_length-1;if(e.t+e.start_i!==t)return null}return e.t+=r,!0}return!!n.optional||null},Xt=function(e,t,n){let r=0;for(let a=e.t;ar||(e.t+=r,0))},Zt=function(e){const{regs:t}=e;let n=t[e.r],r=Object.assign({},n);if(r.negative=!1,Wt(e.terms[e.t],r,e.start_i+e.t,e.phrase_length))return!1;if(n.optional){let n=t[e.r+1];n&&(Wt(e.terms[e.t],n,e.start_i+e.t,e.phrase_length)?e.r+=1:n.optional&&t[e.r+2]&&Wt(e.terms[e.t],t[e.r+2],e.start_i+e.t,e.phrase_length)&&(e.r+=2))}return n.greedy?Xt(e,r,t[e.r+1]):(e.t+=1,!0)},Yt=function(e){const{regs:t}=e;let n=t[e.r],r=e.terms[e.t],a=Wt(r,t[e.r+1],e.start_i+e.t,e.phrase_length);if(n.negative||a){let n=e.terms[e.t+1];n&&Wt(n,t[e.r+1],e.start_i+e.t,e.phrase_length)||(e.r+=1)}},en=function(e){const{regs:t,phrase_length:n}=e;let r=t[e.r];return e.t=function(e,t){let n=Object.assign({},e.regs[e.r],{start:!1,end:!1}),r=e.t;for(;e.te.t?null:!0!==r.end||e.start_i+e.t===n||null},tn=function(e){let t=e.terms[e.t],n=e.regs[e.r];if(t.implicit&&e.terms[e.t+1]){if(!e.terms[e.t+1].implicit)return;n.word===t.normal&&(e.t+=1),"hasContraction"===n.method&&(e.t+=1)}},nn=function(e){const{regs:t}=e;let n=t[e.r],r=e.terms[e.t],a=e.t;return!!(n.optional&&t[e.r+1]&&n.negative)||(n.optional&&t[e.r+1]&&Yt(e),r.implicit&&e.terms[e.t+1]&&tn(e),e.t+=1,!0===n.end&&e.t!==e.terms.length&&!0!==n.greedy?null:!0!==n.greedy||en(e)?(!0===e.hasGroup&&function(e,t){let n=e.regs[e.r];const r=Kt(e,t);e.t>1&&n.greedy?r.length+=e.t-t:r.length++}(e,a),!0):null)},rn=function(e,t,n,r){if(0===e.length||0===t.length)return null;let a={t:0,terms:e,r:0,regs:t,groups:{},start_i:n,phrase_length:r,inGroup:null};for(;a.r!e.optional)))break;return null}if(!0!==e.anything||!0!==e.greedy){if(void 0===e.choices||"or"!==e.operator){if(void 0===e.choices||"and"!==e.operator)if(!0!==e.anything){if(!0!==qt(e,a)){if(e.negative){if(!Zt(a))return null}else if(!0!==Wt(a.terms[a.t],e,a.start_i+a.t,a.phrase_length)){if(!0!==e.optional)return null}else if(!nn(a))return null}else if(!nn(a))return null}else{if(e.negative&&e.anything)return null;if(!nn(a))return null}else if(!_t(a))return null}else if(!Qt(a))return null}else if(!Ut(a))return null}let o=[null,n,a.t+n];if(o[1]===o[2])return null;let i={};return Object.keys(a.groups).forEach((e=>{let t=a.groups[e],r=n+t.start;i[e]=[null,r,r+t.length]})),{pointer:o,groups:i}},an=function(e,t){let n=[],r={};return 0===e.length||("number"==typeof t&&(t=String(t)),t?e.forEach((e=>{e.groups[t]&&n.push(e.groups[t])})):e.forEach((e=>{n.push(e.pointer),Object.keys(e.groups).forEach((t=>{r[t]=r[t]||[],r[t].push(e.groups[t])}))}))),{ptrs:n,byGroup:r}},on=function(e,t,n){return e=e.filter((e=>{let[r,a,o]=e.pointer,i=n[r].slice(a,o);for(let e=0;e{e.groups[n][0]=t})),e},ln=function(e,t,n){let r=rn(e,t,0,e.length);return r?(r=sn(r,n),r):null};var un=function(e,t,n){n=n||[];let{regs:r,group:a,justOne:o}=t,i=[];if(!r||0===r.length)return{ptrs:[],byGroup:{}};const s=r.filter((e=>!0!==e.optional&&!0!==e.negative)).length;e:for(let t=0;te&&(e=Math.abs(n-1))}}else{let e=ln(a,r,t);e&&i.push(e)}}return!0===r[r.length-1].end&&(i=i.filter((t=>{let n=t.pointer[0];return e[n].length===t.pointer[2]}))),t.notIf&&(i=on(i,t.notIf,e)),i=an(i,a),i.ptrs.forEach((t=>{let[n,r,a]=t;t[3]=e[n][r].id,t[4]=e[n][a-1].id})),i},cn={api:it,methods:{one:{termMethods:Bt,parseMatch:Dt,match:un}},lib:{parseMatch:function(e,t){const n=this.world();let r=n.methods.one.killUnicode;return r&&(e=r(e,n)),n.methods.one.parseMatch(e,t,n)}}};const hn=/^\../,dn=/^#./,gn=function(e,t){let n={},r={};return Object.keys(t).forEach((a=>{let o=t[a],i=function(e){let t="",n="";return e=e.replace(/&/g,"&").replace(//g,">").replace(/"/g,""").replace(/'/g,"'"),hn.test(e)?t=``),t+=">",{start:t,end:n}}(a);"string"==typeof o&&(o=e.match(o)),o.docs.forEach((e=>{if(e.every((e=>e.implicit)))return;let t=e[0].id;n[t]=n[t]||[],n[t].push(i.start);let a=e[e.length-1].id;r[a]=r[a]||[],r[a].push(i.end)}))})),{starts:n,ends:r}};var mn={html:function(e){let{starts:t,ends:n}=gn(this,e),r="";return this.docs.forEach((e=>{for(let a=0;a{let n=e.pre||"",a=e.post||"";"some"===t.punctuation&&(n=n.replace(fn,""),bn.test(a)&&(a=" "),a=a.replace(vn,""),a=a.replace(/\?!+/,"?"),a=a.replace(/!+/,"!"),a=a.replace(/\?+/,"?"),a=a.replace(/\.{2,}/,""),e.tags.has("Abbreviation")&&(a=a.replace(/\./,""))),"some"===t.whitespace&&(n=n.replace(/\s/,""),a=a.replace(/\s+/," ")),t.keepPunct||(n=n.replace(fn,""),a="-"===a?" ":a.replace(pn,""));let o=e[t.form||"text"]||e.normal||"";"implicit"===t.form&&(o=e.implicit||e.text),"root"===t.form&&e.implicit&&(o=e.root||e.implicit||e.normal),"machine"!==t.form&&"implicit"!==t.form&&"root"!==t.form||!e.implicit||a&&yn.test(a)||(a+=" "),r+=n+o+a})),!1===n&&(r=r.trim()),!0===t.lowerCase&&(r=r.toLowerCase()),r},kn={text:{form:"text"},normal:{whitespace:"some",punctuation:"some",case:"some",unicode:"some",form:"normal"},machine:{keepSpace:!1,whitespace:"some",punctuation:"some",case:"none",unicode:"some",form:"machine"},root:{keepSpace:!1,whitespace:"some",punctuation:"some",case:"some",unicode:"some",form:"root"},implicit:{form:"implicit"}};kn.clean=kn.normal,kn.reduced=kn.root;var Pn=kn;let An=[],Cn=0;for(;Cn<64;)An[Cn]=0|4294967296*Math.sin(++Cn%Math.PI);function Nn(e){let t,n,r,a=[t=1732584193,n=4023233417,~t,~n],o=[],i=decodeURI(encodeURI(e))+"€",s=i.length;for(e=--s/4+2|15,o[--e]=8*s;~s;)o[s>>2]|=i.charCodeAt(s)<<8*s--;for(Cn=i=0;Cn>4]+An[i]+~~o[Cn|15&[i,5*i+1,3*i+5,7*i][s]])<<(s=[7,12,17,22,5,9,14,20,4,11,16,23,6,10,15,21][4*s+i++%4])|r>>>-s),t,n])t=0|s[1],n=s[2];for(i=4;i;)a[--i]+=s[i]}for(e="";i<32;)e+=(a[i>>3]>>4*(1^i++)&15).toString(16);return e}const jn={text:!0,terms:!0};let xn={case:"none",unicode:"some",form:"machine",punctuation:"some"};const In=function(e,t){return Object.assign({},e,t)},Tn={text:e=>wn(e,{keepPunct:!0},!1),normal:e=>wn(e,In(Pn.normal,{keepPunct:!0}),!1),implicit:e=>wn(e,In(Pn.implicit,{keepPunct:!0}),!1),machine:e=>wn(e,xn,!1),root:e=>wn(e,In(xn,{form:"root"}),!1),hash:e=>Nn(wn(e,{keepPunct:!0},!1)),offset:e=>{let t=Tn.text(e).length;return{index:e[0].offset.index,start:e[0].offset.start,length:t}},terms:e=>e.map((e=>{let t=Object.assign({},e);return t.tags=Array.from(e.tags),t})),confidence:(e,t,n)=>t.eq(n).confidence(),syllables:(e,t,n)=>t.eq(n).syllables(),sentence:(e,t,n)=>t.eq(n).fullSentence().text(),dirty:e=>e.some((e=>!0===e.dirty))};Tn.sentences=Tn.sentence,Tn.clean=Tn.normal,Tn.reduced=Tn.root;const Hn={json:function(e){let t=(n=this,"string"==typeof(r=(r=e)||{})&&(r={}),(r=Object.assign({},jn,r)).offset&&n.compute("offset"),n.docs.map(((e,t)=>{let a={};return Object.keys(r).forEach((o=>{r[o]&&Tn[o]&&(a[o]=Tn[o](e,n,t))})),a})));var n,r;return"number"==typeof e?t[e]:t}};Hn.data=Hn.json;var Dn=Hn,Gn=function(e){console.log("%c -=-=- ","background-color:#6699cc;"),e.forEach((e=>{console.groupCollapsed(e.text());let t=e.docs[0].map((e=>{let t=e.text||"-";return e.implicit&&(t="["+e.implicit+"]"),{text:t,tags:"["+Array.from(e.tags).join(", ")+"]"}}));console.table(t,["text","tags"]),console.groupEnd()}))};const En="";var On={green:e=>""+e+En,red:e=>""+e+En,blue:e=>""+e+En,magenta:e=>""+e+En,cyan:e=>""+e+En,yellow:e=>""+e+En,black:e=>""+e+En,dim:e=>""+e+En,i:e=>""+e+En},Fn=function(e){let{docs:t,model:n}=e;0===t.length&&console.log(On.blue("\n ──────")),t.forEach((t=>{console.log(On.blue("\n ┌─────────")),t.forEach((t=>{let r=[...t.tags||[]],a=t.text||"-";t.sense&&(a=`{${t.normal}/${t.sense}}`),t.implicit&&(a="["+t.implicit+"]"),a=On.yellow(a);let o="'"+a+"'";if(t.reference){let n=e.update([t.reference]).text("normal");o+=` - ${On.dim(On.i("["+n+"]"))}`}o=o.padEnd(18);let i=On.blue(" │ ")+On.i(o)+" - "+function(e,t){return t.one.tagSet&&(e=e.map((e=>{if(!t.one.tagSet.hasOwnProperty(e))return e;const n=t.one.tagSet[e].color||"blue";return On[n](e)}))),e.join(", ")}(r,n);console.log(i)}))}))},Vn=function(e){let{docs:t}=e;console.log(""),t.forEach((e=>{let t=[];e.forEach((e=>{"Noun"===e.chunk?t.push(On.blue(e.implicit||e.normal)):"Verb"===e.chunk?t.push(On.green(e.implicit||e.normal)):"Adjective"===e.chunk?t.push(On.yellow(e.implicit||e.normal)):"Pivot"===e.chunk?t.push(On.red(e.implicit||e.normal)):t.push(e.implicit||e.normal)})),console.log(t.join(" "),"\n")}))},zn=function(e){if(!e.found)return;let t={};e.fullPointer.forEach((e=>{t[e[0]]=t[e[0]]||[],t[e[0]].push(e)})),Object.keys(t).forEach((n=>{let r=e.update([[Number(n)]]).text();e.update(t[n]).json({offset:!0}).forEach(((e,t)=>{r=function(e,t,n){let r=((e,t,n)=>{let r=9*n,a=t.start+r,o=a+t.length;return[e.substring(0,a),e.substring(a,o),e.substring(o,e.length)]})(e,t,n);return`${r[0]}${On.blue(r[1])}${r[2]}`}(r,e.offset,t)})),console.log(r)}))},$n=function(e={}){let t=this;if("string"==typeof e){let t={};t[e]=!0,e=t}return"undefined"!=typeof window&&window.document?(Gn(t),t):(!1!==e.tags&&(Fn(t),console.log("\n")),!0===e.chunks&&(Vn(t),console.log("\n")),!0===e.highlight&&(zn(t),console.log("\n")),t)};const Ln=function(e){let t=e.pre||"",n=e.post||"";return t+e.text+n};var Sn=function(e,t){let n=function(e,t){let n={};return Object.keys(t).forEach((r=>{e.match(r).fullPointer.forEach((e=>{n[e[3]]={fn:t[r],end:e[2]}}))})),n}(e,t),r="";return e.docs.forEach(((t,a)=>{for(let o=0;oe.reduce(((e,t)=>e+t.pre+t.text+t.post),"").trim()));return e.filter((e=>e))}if("freq"===e||"frequency"===e||"topk"===e)return function(e){let t={};e.forEach((e=>{t[e]=t[e]||0,t[e]+=1}));let n=Object.keys(t).map((e=>({normal:e,count:t[e]})));return n.sort(((e,t)=>e.count>t.count?-1:0))}(this.json({normal:!0}).map((e=>e.normal)));if("terms"===e){let e=[];return this.docs.forEach((t=>{let n=t.map((e=>e.text));n=n.filter((e=>e)),e=e.concat(n)})),e}return"tags"===e?this.docs.map((e=>e.reduce(((e,t)=>(e[t.implicit||t.normal]=Array.from(t.tags),e)),{}))):"debug"===e?this.debug():this.text()},wrap:function(e){return Sn(this,e)}};var Bn=Mn,Jn={text:function(e){let t={};var n;if(e&&"string"==typeof e&&Pn.hasOwnProperty(e)?t=Object.assign({},Pn[e]):e&&(n=e,"[object Object]"===Object.prototype.toString.call(n))&&(t=Object.assign({},e)),void 0!==t.keepSpace||this.isFull()||(t.keepSpace=!1),void 0===t.keepEndPunct&&this.pointer){let e=this.pointer[0];e&&e[1]?t.keepEndPunct=!1:t.keepEndPunct=!0}return void 0===t.keepPunct&&(t.keepPunct=!0),void 0===t.keepSpace&&(t.keepSpace=!0),function(e,t){let n="";if(!e||!e[0]||!e[0][0])return n;for(let r=0;ra||a<=n&&o>n},Rn=function(e){let t={};return e.forEach((e=>{t[e[0]]=t[e[0]]||[],t[e[0]].push(e)})),t};var Qn=function(e,t){let n=Rn(t),r=[];return e.forEach((e=>{let[t]=e,a=n[t]||[];if(a=a.filter((t=>function(e,t){return e[1]<=t[1]&&t[2]<=e[2]}(e,t))),0===a.length)return void r.push({passthrough:e});a=a.sort(((e,t)=>e[1]-t[1]));let o=e;a.forEach(((e,t)=>{let n=function(e,t){let[n,r]=e,a=t[1],o=t[2],i={};if(ro&&(i.after=[n,o,e[2]]),i}(o,e);a[t+1]?(r.push({before:n.before,match:n.match}),n.after&&(o=n.after)):r.push(n)}))})),r},_n=function(e,t){let n=[];return e.forEach(((r,a)=>{if(!r)return;let[o,i,s,l,u]=r,c=t[o]||[];if(void 0===i&&(i=0),void 0===s&&(s=c.length),!l||c[i]&&c[i].id===l)c=c.slice(i,s);else{let n=function(e,t,n){for(let r=0;r<20;r+=1){if(t[n-r]){let a=t[n-r].findIndex((t=>t.id===e));if(-1!==a)return[n-r,a]}if(t[n+r]){let a=t[n+r].findIndex((t=>t.id===e));if(-1!==a)return[n+r,a]}}return null}(l,t,o);if(null!==n){let r=s-i;c=t[n[0]].slice(n[1],n[1]+r);let o=c[0]?c[0].id:null;e[a]=[n[0],n[1],n[1]+r,o]}}0!==c.length&&i!==s&&(u&&c[c.length-1].id!==u&&(c=function(e,t){let[n,r,,,a]=e,o=t[n],i=o.findIndex((e=>e.id===a));return-1===i?(e[2]=t[n].length,e[4]=o.length?o[o.length-1].id:null):e[2]=i,t[n].slice(r,e[2]+1)}(r,t)),n.push(c))})),n=n.filter((e=>e.length>0)),n},Xn={one:{termList:function(e){let t=[];for(let n=0;n{let[t]=e;if(1===r[t].length)return void a.push(e);let n=r[t].filter((t=>Un(e,t)));n.push(e);let o=function(e){let t=e[0][1],n=e[0][2];return e.forEach((e=>{e[1]n&&(n=e[2])})),[e[0][0],t,n]}(n);a.push(o)})),a=function(e){let t={};for(let n=0;n{e.passthrough&&n.push(e.passthrough),e.before&&n.push(e.before),e.after&&n.push(e.after)})),n},er=function(e,t){let n=Rn(t),r=[];return e.forEach((e=>{let t=n[e[0]]||[];t=t.filter((t=>Un(e,t))),0!==t.length&&t.forEach((t=>{let n=function(e,t){let n=e[1]t[2]?t[2]:e[2];return n{return"string"==typeof e||(n=e,"[object Array]"===Object.prototype.toString.call(n))?t.match(e):e||t.none();var n},nr=function(e,t){return e.map((e=>{let[n,r]=e;return t[n]&&t[n][r]&&(e[3]=t[n][r].id),e}))},rr={union:function(e){e=tr(e,this);let t=Zn(this.fullPointer,e.fullPointer);return t=nr(t,this.document),this.toView(t)}};rr.and=rr.union,rr.intersection=function(e){e=tr(e,this);let t=er(this.fullPointer,e.fullPointer);return t=nr(t,this.document),this.toView(t)},rr.not=function(e){e=tr(e,this);let t=Yn(this.fullPointer,e.fullPointer);return t=nr(t,this.document),this.toView(t)},rr.difference=rr.not,rr.complement=function(){let e=this.all(),t=Yn(e.fullPointer,this.fullPointer);return t=nr(t,this.document),this.toView(t)},rr.settle=function(){let e=this.fullPointer;return e.forEach((t=>{e=Zn(e,[t])})),e=nr(e,this.document),this.update(e)};var ar=function(e){Object.assign(e.prototype,rr)},or={methods:Xn,api:ar},ir=function(e){e.prototype.sweep=function(e,t={}){const{world:n,docs:r}=this,{methods:a}=n;let o=a.one.bulkMatch(r,e,this.methods,t);!1!==t.tagger&&a.one.bulkTagger(o,r,this.world),o=o.map((e=>{let t=e.pointer,n=r[t[0]][t[1]],a=t[2]-t[1];return n.index&&(e.pointer=[n.index[0],n.index[1],t[1]+a]),e}));let i=o.map((e=>e.pointer));return o=o.map((e=>(e.view=this.update([e.pointer]),delete e.regs,delete e.needs,delete e.pointer,delete e._expanded,e))),{view:this.update(i),found:o}}};const sr=function(e){return!0===e.optional||!0===e.negative?null:e.tag?"#"+e.tag:e.word?e.word:e.switch?`%${e.switch}%`:null};var lr=function(e,t){const n=t.methods.one.parseMatch;return e.forEach((e=>{e.regs=n(e.match,{},t),"string"==typeof e.ifNo&&(e.ifNo=[e.ifNo]),e.notIf&&(e.notIf=n(e.notIf,{},t)),e.needs=function(e){let t=[];return e.forEach((e=>{t.push(sr(e)),"and"===e.operator&&e.choices&&e.choices.forEach((e=>{e.forEach((e=>{t.push(sr(e))}))}))})),t.filter((e=>e))}(e.regs);let{wants:r,count:a}=function(e){let t=[],n=0;return e.forEach((e=>{"or"!==e.operator||e.optional||e.negative||(e.fastOr&&Array.from(e.fastOr).forEach((e=>{t.push(e)})),e.choices&&e.choices.forEach((e=>{e.forEach((e=>{let n=sr(e);n&&t.push(n)}))})),n+=1)})),{wants:t,count:n}}(e.regs);e.wants=r,e.minWant=a,e.minWords=e.regs.filter((e=>!e.optional)).length})),e},ur=function(e,t){e=lr(e,t);let n={};e.forEach((e=>{e.needs.forEach((t=>{n[t]=n[t]||[],n[t].push(e)})),e.wants.forEach((t=>{n[t]=n[t]||[],n[t].push(e)}))})),Object.keys(n).forEach((e=>{let t={};n[e]=n[e].filter((e=>!t[e.match]&&(t[e.match]=!0,!0)))}));let r=e.filter((e=>0===e.needs.length&&0===e.wants.length));return{hooks:n,always:r}},cr=function(e,t){return e.map(((n,r)=>{let a=[];Object.keys(t).forEach((n=>{e[r].has(n)&&(a=a.concat(t[n]))}));let o={};return a=a.filter((e=>!o[e.match]&&(o[e.match]=!0,!0))),a}))},hr=function(e,t){return e.map(((e,n)=>{let r=t[n];return e=(e=(e=e.filter((e=>e.needs.every((e=>r.has(e)))))).filter((e=>void 0===e.ifNo||!0!==e.ifNo.some((e=>r.has(e)))))).filter((e=>0===e.wants.length||e.wants.filter((e=>r.has(e))).length>=e.minWant))}))},dr=function(e,t,n,r,a){let o=[];for(let n=0;n0&&(l.ptrs.forEach((e=>{e[0]=n;let t=Object.assign({},s,{pointer:e});void 0!==s.unTag&&(t.unTag=s.unTag),o.push(t)})),!0===a.matchOne))return[o[0]]}return o},gr=function(e,t,n,r={}){let a=n.one.cacheDoc(e),o=cr(a,t.hooks);return o=hr(o,a),t.always.length>0&&(o=o.map((e=>e.concat(t.always)))),o=function(e,t){return e.map(((e,n)=>{let r=t[n].length;return e=e.filter((e=>r>=e.minWords)),e}))}(o,e),dr(o,e,a,n,r)},mr=function(e,t,n){let r=n.one.tagSet;if(!r.hasOwnProperty(t))return!0;let a=r[t].not||[];for(let t=0;t{if(!e.tag&&!e.chunk&&!e.unTag)return;let a=e.reason||e.match,u=o([e.pointer],t)[0];if(!0===e.safe){if(!1===mr(u,e.tag,r))return;if("-"===u[u.length-1].post)return}if(void 0!==e.tag&&(i(u,e.tag,n,e.safe,`[post] '${a}'`),"Noun"===e.tag&&l)){let t=u[u.length-1];l(t.text)?i([t],"Plural",n,e.safe,"quick-plural"):i([t],"Singular",n,e.safe,"quick-singular")}void 0!==e.unTag&&s(u,e.unTag,n,e.safe,a),e.chunk&&u.forEach((t=>t.chunk=e.chunk))})))},fr={lib:{buildNet:function(e){let t=this.methods().one.buildNet(e,this.world());return t.isNet=!0,t}},api:ir,methods:{one:{buildNet:ur,bulkMatch:gr,bulkTagger:pr}}};const vr=/ /,br=function(e,t){"Noun"===t&&(e.chunk=t),"Verb"===t&&(e.chunk=t)},yr=function(e,t,n,r){if(!0===e.tags.has(t))return null;if("."===t)return null;let a=n[t];if(a){if(a.not&&a.not.length>0)for(let t=0;t0)for(let t=0;t{let r=e.map((e=>e.text||"["+e.implicit+"]")).join(" ");var a;"string"!=typeof t&&t.length>2&&(t=t.slice(0,2).join(", #")+" +"),t="string"!=typeof t?t.join(", #"):t,console.log(` ${(a=r,""+a+"").padEnd(24)} → #${t.padEnd(22)} ${(e=>""+e+"")(n)}`)})(e,t,a),1!=(s=t,"[object Array]"===Object.prototype.toString.call(s)))if("string"==typeof t)if(t=t.trim(),vr.test(t))!function(e,t,n,r){let a=t.split(vr);e.forEach(((e,t)=>{let o=a[t];o&&(o=o.replace(/^#/,""),yr(e,o,n,r))}))}(e,t,o,r);else{t=t.replace(/^#/,"");for(let n=0;nwr(e,t,n,r)))};var kr=wr,Pr=function(e,t,n){t=t.trim().replace(/^#/,"");for(let r=0;r0)for(let e=0;e/),n=[];t.forEach((e=>{n=n.concat(function(e){if(!(e=e.trim()))return null;if(/^\[/.test(e)&&/\]$/.test(e)){let t=(e=(e=e.replace(/^\[/,"")).replace(/\]$/,"")).split(/,/);return t=t.map((e=>e.trim())).filter((e=>e)),t=t.map((e=>Ar({id:e}))),t}return[Ar({id:e})]}(e))})),n=n.filter((e=>e));let r=n[0];for(let e=1;e{let n=[],r=[e];for(;r.length>0;){let e=r.pop();n.push(e),e.children&&e.children.forEach((n=>{t&&t(e,n),r.push(n)}))}return n},xr=e=>"[object Array]"===Object.prototype.toString.call(e),Ir=e=>(e=e||"").trim(),Tr=function(e=[]){return"string"==typeof e?function(e){let t=e.split(/\r?\n/),n=[];t.forEach((e=>{if(!e.trim()||Cr.test(e))return;let t=(e=>{const t=/^( {2}|\t)/;let n=0;for(;t.test(e);)e=e.replace(t,""),n+=1;return n})(e);n.push({indent:t,node:Nr(e)})}));let r=function(e){let t={children:[]};return e.forEach(((n,r)=>{0===n.indent?t.children=t.children.concat(n.node):e[r-1]&&function(e,t){let n=e[t].indent;for(;t>=0;t-=1)if(e[t].indent{t[e.id]=e}));let n=Ar({});return e.forEach((e=>{if((e=Ar(e)).parent)if(t.hasOwnProperty(e.parent)){let n=t[e.parent];delete e.parent,n.children.push(e)}else console.warn(`[Grad] - missing node '${e.parent}'`);else n.children.push(e)})),n}(e):(jr(t=e).forEach(Ar),t);var t},Hr=function(e,t){let n="-> ";t&&(n=(e=>""+e+"")("→ "));let r="";return jr(e).forEach(((e,a)=>{let o=e.id||"";if(t&&(o=(e=>""+e+"")(o)),0===a&&!e.id)return;let i=e._cache.parents.length;r+=" ".repeat(i)+n+o+"\n"})),r},Dr=function(e){let t=jr(e);t.forEach((e=>{delete(e=Object.assign({},e)).children}));let n=t[0];return n&&!n.id&&0===Object.keys(n.props).length&&t.shift(),t},Gr={text:Hr,txt:Hr,array:Dr,flat:Dr},Er=function(e,t){return"nested"===t||"json"===t?e:"debug"===t?(console.log(Hr(e,!0)),null):Gr.hasOwnProperty(t)?Gr[t](e):e},Or=e=>{jr(e,((e,t)=>{e.id&&(e._cache.parents=e._cache.parents||[],t._cache.parents=e._cache.parents.concat([e.id]))}))},Fr=/\//;let Vr=class g{constructor(e={}){Object.defineProperty(this,"json",{enumerable:!1,value:e,writable:!0})}get children(){return this.json.children}get id(){return this.json.id}get found(){return this.json.id||this.json.children.length>0}props(e={}){let t=this.json.props||{};return"string"==typeof e&&(t[e]=!0),this.json.props=Object.assign(t,e),this}get(e){if(e=Ir(e),!Fr.test(e)){let t=this.json.children.find((t=>t.id===e));return new g(t)}let t=((e,t)=>{let n=(e=>"string"!=typeof e?e:(e=e.replace(/^\//,"")).split(/\//))(t=t||"");for(let t=0;te.id===n[t]));if(!r)return null;e=r}return e})(this.json,e)||Ar({});return new g(t)}add(e,t={}){if(xr(e))return e.forEach((e=>this.add(Ir(e),t))),this;e=Ir(e);let n=Ar({id:e,props:t});return this.json.children.push(n),new g(n)}remove(e){return e=Ir(e),this.json.children=this.json.children.filter((t=>t.id!==e)),this}nodes(){return jr(this.json).map((e=>(delete(e=Object.assign({},e)).children,e)))}cache(){return(e=>{let t=jr(e,((e,t)=>{e.id&&(e._cache.parents=e._cache.parents||[],e._cache.children=e._cache.children||[],t._cache.parents=e._cache.parents.concat([e.id]))})),n={};t.forEach((e=>{e.id&&(n[e.id]=e)})),t.forEach((e=>{e._cache.parents.forEach((t=>{n.hasOwnProperty(t)&&n[t]._cache.children.push(e.id)}))})),e._cache.children=Object.keys(n)})(this.json),this}list(){return jr(this.json)}fillDown(){var e;return e=this.json,jr(e,((e,t)=>{t.props=((e,t)=>(Object.keys(t).forEach((n=>{if(t[n]instanceof Set){let r=e[n]||new Set;e[n]=new Set([...r,...t[n]])}else if((e=>e&&"object"==typeof e&&!Array.isArray(e))(t[n])){let r=e[n]||{};e[n]=Object.assign({},t[n],r)}else xr(t[n])?e[n]=t[n].concat(e[n]||[]):void 0===e[n]&&(e[n]=t[n])})),e))(t.props,e.props)})),this}depth(){Or(this.json);let e=jr(this.json),t=e.length>1?1:0;return e.forEach((e=>{if(0===e._cache.parents.length)return;let n=e._cache.parents.length+1;n>t&&(t=n)})),t}out(e){return Or(this.json),Er(this.json,e)}debug(){return Or(this.json),Er(this.json,"debug"),this}};const zr=function(e){let t=Tr(e);return new Vr(t)};zr.prototype.plugin=function(e){e(this)};var $r={Noun:"blue",Verb:"green",Negative:"green",Date:"red",Value:"red",Adjective:"magenta",Preposition:"cyan",Conjunction:"cyan",Determiner:"cyan",Hyphenated:"cyan",Adverb:"cyan"};const Lr=function(e){if($r.hasOwnProperty(e.id))return $r[e.id];if($r.hasOwnProperty(e.is))return $r[e.is];let t=e._cache.parents.find((e=>$r[e]));return $r[t]};var Sr=function(e){const t={};return e.forEach((e=>{let{not:n,also:r,is:a,novel:o}=e.props,i=e._cache.parents;r&&(i=i.concat(r)),t[e.id]={is:a,not:n,novel:o,also:r,parents:i,children:e._cache.children,color:Lr(e)}})),Object.keys(t).forEach((e=>{let n=new Set(t[e].not);t[e].not.forEach((e=>{t[e]&&t[e].children.forEach((e=>n.add(e)))})),t[e].not=Array.from(n)})),t};const Mr=function(e){return e?"string"==typeof e?[e]:e:[]};var Br=function(e,t){return e=function(e,t){return Object.keys(e).forEach((n=>{e[n].isA&&(e[n].is=e[n].isA),e[n].notA&&(e[n].not=e[n].notA),e[n].is&&"string"==typeof e[n].is&&(t.hasOwnProperty(e[n].is)||e.hasOwnProperty(e[n].is)||(e[e[n].is]={})),e[n].not&&"string"==typeof e[n].not&&!e.hasOwnProperty(e[n].not)&&(t.hasOwnProperty(e[n].not)||e.hasOwnProperty(e[n].not)||(e[e[n].not]={}))})),e}(e,t),Object.keys(e).forEach((t=>{e[t].children=Mr(e[t].children),e[t].not=Mr(e[t].not)})),Object.keys(e).forEach((t=>{(e[t].not||[]).forEach((n=>{e[n]&&e[n].not&&e[n].not.push(t)}))})),e},Jr=function(e,t){Object.keys(t).length>0&&(e=function(e){return Object.keys(e).forEach((t=>{e[t]=Object.assign({},e[t]),e[t].novel=!0})),e}(e)),e=Br(e,t);const n=function(e){const t=Object.keys(e).map((t=>{let n=e[t];const r={not:new Set(n.not),also:n.also,is:n.is,novel:n.novel};return{id:t,parent:n.is,props:r,children:[]}}));return zr(t).cache().fillDown().out("array")}(Object.assign({},t,e));return Sr(n)},Wr={one:{setTag:kr,unTag:Pr,addTags:Jr}};const qr=function(e){return"[object Array]"===Object.prototype.toString.call(e)},Kr={tag:function(e,t="",n){if(!this.found||!e)return this;let r=this.termList();if(0===r.length)return this;const{methods:a,verbose:o,world:i}=this;return!0===o&&console.log(" + ",e,t||""),qr(e)?e.forEach((e=>a.one.setTag(r,e,i,n,t))):a.one.setTag(r,e,i,n,t),this.uncache(),this},tagSafe:function(e,t=""){return this.tag(e,t,!0)},unTag:function(e,t){if(!this.found||!e)return this;let n=this.termList();if(0===n.length)return this;const{methods:r,verbose:a,model:o}=this;!0===a&&console.log(" - ",e,t||"");let i=o.one.tagSet;return qr(e)?e.forEach((e=>r.one.unTag(n,e,i))):r.one.unTag(n,e,i),this.uncache(),this},canBe:function(e){e=e.replace(/^#/,"");let t=this.model.one.tagSet;if(!t.hasOwnProperty(e))return this;let n=t[e].not||[],r=[];this.document.forEach(((e,t)=>{e.forEach(((e,a)=>{n.find((t=>e.tags.has(t)))&&r.push([t,a,a+1])}))}));let a=this.update(r);return this.difference(a)}};var Ur=Kr,Rr=function(e){Object.assign(e.prototype,Ur)},Qr={addTags:function(e){const{model:t,methods:n}=this.world(),r=t.one.tagSet;let a=(0,n.one.addTags)(e,r);return t.one.tagSet=a,this}};const _r=new Set(["Auxiliary","Possessive"]);var Xr=function(e){const{document:t,world:n}=e,r=n.model.one.tagSet;t.forEach((e=>{e.forEach((e=>{let t=Array.from(e.tags);e.tagRank=function(e,t){return e=e.sort(((e,n)=>{if(_r.has(e)||!t.hasOwnProperty(n))return 1;if(_r.has(n)||!t.hasOwnProperty(e))return-1;let r=t[e].children||[],a=r.length;return r=t[n].children||[],a-r.length})),e}(t,r)}))}))},Zr={model:{one:{tagSet:{}}},compute:{tagRank:Xr},methods:Wr,api:Rr,lib:Qr};const Yr=/([.!?\u203D\u2E18\u203C\u2047-\u2049\u3002]+\s)/g,ea=/^[.!?\u203D\u2E18\u203C\u2047-\u2049\u3002]+\s$/,ta=/((?:\r?\n|\r)+)/;var na=function(e){let t=[],n=e.split(ta);for(let e=0;e0&&(a.push(o),e[t]="")}return a};const sa={'"':'"',""":""","“":"”","‟":"”","„":"”","⹂":"”","‚":"’","«":"»","‹":"›","‵":"′","‶":"″","‷":"‴","〝":"〞","〟":"〞"},la=RegExp("["+Object.keys(sa).join("")+"]","g"),ua=RegExp("["+Object.values(sa).join("")+"]","g"),ca=function(e){if(!e)return!1;let t=e.match(ua);return null!==t&&1===t.length};var ha=function(e){let t=[];for(let n=0;n(e[t]=!0,e)),{});var xa=function(e,t){let n=[],r=[];if("number"==typeof(e=e||"")&&(e=String(e)),function(e){return"[object Array]"===Object.prototype.toString.call(e)}(e))return e;const a=e.split(Na);for(let e=0;e0?(n[n.length-1]+=o,n.push(t)):n.push(o+t),o=""):o+=t}return o&&(0===n.length&&(n[0]=""),n[n.length-1]+=o),n=Pa(n),n=wa(n),n=n.filter((e=>e)),n};const Ia=/\p{Letter}/u,Ta=/[\p{Number}\p{Currency_Symbol}]/u,Ha=/^[a-z]\.([a-z]\.)+/i,Da=/[sn]['’]$/;var Ga=function(e,t){let{prePunctuation:n,postPunctuation:r,emoticons:a}=t.one,o=e,i="",s="",l=Array.from(e);if(a.hasOwnProperty(e.trim()))return{str:e.trim(),pre:i,post:" "};let u=l.length;for(let e=0;e(s=e||"",""))),e=o,i=""),{str:e,pre:i,post:s}},Ea=(e,t)=>{let{str:n,pre:r,post:a}=Ga(e,t);return{text:n,pre:r,post:a,tags:new Set}},Oa=function(e,t){const n=t.model.one.unicode||{};let r=(e=e||"").split("");return r.forEach(((e,t)=>{n[e]&&(r[t]=n[e])})),r.join("")},Fa=function(e){let t=e=(e=(e=e||"").toLowerCase()).trim();return e=(e=(e=e.replace(/[,;.!?]+$/,"")).replace(/\u2026/g,"...")).replace(/\u2013/g,"-"),!1===/^[:;]/.test(e)&&(e=(e=(e=e.replace(/\.{3,}$/g,"")).replace(/[",.!:;?)]+$/g,"")).replace(/^['"(]+/g,"")),""===(e=(e=e.replace(/[\u200B-\u200D\uFEFF]/g,"")).trim())&&(e=t),e=e.replace(/([0-9]),([0-9])/g,"$1$2")};const Va=/([A-Z]\.)+[A-Z]?,?$/,za=/^[A-Z]\.,?$/,$a=/[A-Z]{2,}('s|,)?$/,La=/([a-z]\.)+[a-z]\.?$/;var Sa=function(e){return function(e){return!0===Va.test(e)||!0===La.test(e)||!0===za.test(e)||!0===$a.test(e)}(e)&&(e=e.replace(/\./g,"")),e},Ma=function(e,t){const n=t.methods.one.killUnicode;let r=e.text||"";r=Fa(r),r=n(r,t),r=Sa(r),e.normal=r},Ba=function(e,t){const{methods:n,model:r}=t,{splitSentences:a,splitTerms:o,splitWhitespace:i}=n.one.tokenize;return e=a(e=e||"",t).map((e=>{let n=o(e,r);return n=n.map((e=>i(e,r))),n.forEach((e=>{Ma(e,t)})),n})),e};const Ja=/[ .][A-Z]\.? *$/i,Wa=/(?:\u2026|\.{2,}) *$/,qa=/\p{L}/u,Ka=/\. *$/,Ua=/^[A-Z]\. $/;var Ra=function(e,t){if(!1===qa.test(e))return!1;if(!0===Ja.test(e))return!1;if(3===e.length&&Ua.test(e))return!1;if(!0===Wa.test(e))return!1;let n=e.replace(/[.!?\u203D\u2E18\u203C\u2047-\u2049] *$/,"").split(" "),r=n[n.length-1].toLowerCase();return!0!==t.hasOwnProperty(r)||!0!==Ka.test(e)},Qa={one:{killUnicode:Oa,tokenize:{splitSentences:va,isSentence:Ra,splitTerms:xa,splitWhitespace:Ea,fromString:Ba}}},_a={"&":"and","@":"at","%":"percent",plz:"please",bein:"being"};let Xa={},Za={};[[["approx","apt","bc","cyn","eg","esp","est","etc","ex","exp","prob","pron","gal","min","pseud","fig","jd","lat","lng","vol","fm","def","misc","plz","ea","ps","sec","pt","pref","pl","pp","qt","fr","sq","nee","ss","tel","temp","vet","ver","fem","masc","eng","adj","vb","rb","inf","situ","vivo","vitro","wr"]],[["dl","ml","gal","qt","pt","tbl","tsp","tbsp","km","dm","cm","mm","mi","td","hr","hrs","kg","hg","dg","cg","mg","µg","lb","oz","sq ft","hz","mps","mph","kmph","kb","mb","tb","lx","lm","fl oz","yb"],"Unit"],[["ad","al","arc","ba","bl","ca","cca","col","corp","ft","fy","ie","lit","ma","md","pd","tce"],"Noun"],[["adj","adm","adv","asst","atty","bldg","brig","capt","cmdr","comdr","cpl","det","dr","esq","gen","gov","hon","jr","llb","lt","maj","messrs","mlle","mme","mr","mrs","ms","mstr","phd","prof","pvt","rep","reps","res","rev","sen","sens","sfc","sgt","sir","sr","supt","surg"],"Honorific"],[["jan","feb","mar","apr","jun","jul","aug","sep","sept","oct","nov","dec"],"Month"],[["dept","univ","assn","bros","inc","ltd","co"],"Organization"],[["rd","st","dist","mt","ave","blvd","cl","cres","hwy","ariz","cal","calif","colo","conn","fla","fl","ga","ida","ia","kan","kans","minn","neb","nebr","okla","penna","penn","pa","dak","tenn","tex","ut","vt","va","wis","wisc","wy","wyo","usafa","alta","ont","que","sask"],"Place"]].forEach((e=>{e[0].forEach((t=>{Xa[t]=!0,Za[t]="Abbreviation",void 0!==e[1]&&(Za[t]=[Za[t],e[1]])}))}));var Ya=["anti","bi","co","contra","de","extra","infra","inter","intra","macro","micro","mis","mono","multi","peri","pre","pro","proto","pseudo","re","sub","supra","trans","tri","un","out","ex"].reduce(((e,t)=>(e[t]=!0,e)),{});let eo={"!":"¡","?":"¿Ɂ",'"':'“”"❝❞',"'":"‘‛❛❜’","-":"—–",a:"ªÀÁÂÃÄÅàáâãäåĀāĂ㥹ǍǎǞǟǠǡǺǻȀȁȂȃȦȧȺΆΑΔΛάαλАаѦѧӐӑӒӓƛæ",b:"ßþƀƁƂƃƄƅɃΒβϐϦБВЪЬвъьѢѣҌҍ",c:"¢©ÇçĆćĈĉĊċČčƆƇƈȻȼͻͼϲϹϽϾСсєҀҁҪҫ",d:"ÐĎďĐđƉƊȡƋƌ",e:"ÈÉÊËèéêëĒēĔĕĖėĘęĚěƐȄȅȆȇȨȩɆɇΈΕΞΣέεξϵЀЁЕеѐёҼҽҾҿӖӗễ",f:"ƑƒϜϝӺӻҒғſ",g:"ĜĝĞğĠġĢģƓǤǥǦǧǴǵ",h:"ĤĥĦħƕǶȞȟΉΗЂЊЋНнђћҢңҤҥҺһӉӊ",I:"ÌÍÎÏ",i:"ìíîïĨĩĪīĬĭĮįİıƖƗȈȉȊȋΊΐΪίιϊІЇіїi̇",j:"ĴĵǰȷɈɉϳЈј",k:"ĶķĸƘƙǨǩΚκЌЖКжкќҚқҜҝҞҟҠҡ",l:"ĹĺĻļĽľĿŀŁłƚƪǀǏǐȴȽΙӀӏ",m:"ΜϺϻМмӍӎ",n:"ÑñŃńŅņŇňʼnŊŋƝƞǸǹȠȵΝΠήηϞЍИЙЛПийлпѝҊҋӅӆӢӣӤӥπ",o:"ÒÓÔÕÖØðòóôõöøŌōŎŏŐőƟƠơǑǒǪǫǬǭǾǿȌȍȎȏȪȫȬȭȮȯȰȱΌΘΟθοσόϕϘϙϬϴОФоѲѳӦӧӨөӪӫ",p:"ƤΡρϷϸϼРрҎҏÞ",q:"Ɋɋ",r:"ŔŕŖŗŘřƦȐȑȒȓɌɍЃГЯгяѓҐґ",s:"ŚśŜŝŞşŠšƧƨȘșȿЅѕ",t:"ŢţŤťŦŧƫƬƭƮȚțȶȾΓΤτϮТт",u:"ÙÚÛÜùúûüŨũŪūŬŭŮůŰűŲųƯưƱƲǓǔǕǖǗǘǙǚǛǜȔȕȖȗɄΰυϋύ",v:"νѴѵѶѷ",w:"ŴŵƜωώϖϢϣШЩшщѡѿ",x:"×ΧχϗϰХхҲҳӼӽӾӿ",y:"ÝýÿŶŷŸƳƴȲȳɎɏΎΥΫγψϒϓϔЎУучўѰѱҮүҰұӮӯӰӱӲӳ",z:"ŹźŻżŽžƵƶȤȥɀΖ"},to={};Object.keys(eo).forEach((function(e){eo[e].split("").forEach((function(t){to[t]=e}))}));const no=/\//,ro=/[a-z]\.[a-z]/i,ao=/[0-9]/;var oo=function(e,t){let n=e.normal||e.text||e.machine;const r=t.model.one.aliases;if(r.hasOwnProperty(n)&&(e.alias=e.alias||[],e.alias.push(r[n])),no.test(n)&&!ro.test(n)&&!ao.test(n)){let t=n.split(no);t.length<=2&&t.forEach((t=>{""!==(t=t.trim())&&(e.alias=e.alias||[],e.alias.push(t))}))}return e};const io=/^\p{Letter}+-\p{Letter}+$/u;var so=function(e){let t=e.implicit||e.normal||e.text;t=t.replace(/['’]s$/,""),t=t.replace(/s['’]$/,"s"),t=t.replace(/([aeiou][ktrp])in'$/,"$1ing"),io.test(t)&&(t=t.replace(/-/g,"")),t=t.replace(/^[#@]/,""),t!==e.normal&&(e.machine=t)},lo=function(e){let t=e.docs,n={};for(let e=0;ego(e,oo),machine:e=>go(e,so),normal:e=>go(e,Ma),freq:lo,offset:uo,index:co,wordCount:ho},methods:Qa,model:{one:{aliases:_a,abbreviations:Xa,prefixes:Ya,suffixes:{like:!0,ish:!0,less:!0,able:!0,elect:!0,type:!0,designate:!0},prePunctuation:{"#":!0,"@":!0,_:!0,"°":!0,"​":!0,"‌":!0,"‍":!0,"\ufeff":!0},postPunctuation:{"%":!0,_:!0,"°":!0,"​":!0,"‌":!0,"‍":!0,"\ufeff":!0},lexicon:Za,unicode:to,emoticons:{"<3":!0,"{let i=(e=e.toLowerCase().trim()).length;t.max&&i>t.max&&(i=t.max);for(let s=t.min;s{delete r[e]})),r};const yo={safe:!0,min:3};var wo={typeahead:function(e=[],t={}){let n=this.model();var r;t=Object.assign({},yo,t),r=e,"[object Object]"===Object.prototype.toString.call(r)&&(Object.assign(n.one.lexicon,e),e=Object.keys(e));let a=bo(e,t,this.world());return Object.keys(a).forEach((e=>{n.one.typeahead.hasOwnProperty(e)?delete n.one.typeahead[e]:n.one.typeahead[e]=a[e]})),this}},ko={model:{one:{typeahead:{}}},api:vo,lib:wo,compute:po,hooks:["typeahead"]};v.extend(ee),v.extend(Kn),v.extend(cn),v.extend(or),v.extend(Zr),v.plugin(Te),v.extend(mo),v.plugin(k),v.extend(qe),v.extend(ko),v.extend(ze),v.extend(fr);var Po={addendum:"addenda",corpus:"corpora",criterion:"criteria",curriculum:"curricula",genus:"genera",memorandum:"memoranda",opus:"opera",ovum:"ova",phenomenon:"phenomena",referendum:"referenda",alga:"algae",alumna:"alumnae",antenna:"antennae",formula:"formulae",larva:"larvae",nebula:"nebulae",vertebra:"vertebrae",analysis:"analyses",axis:"axes",diagnosis:"diagnoses",parenthesis:"parentheses",prognosis:"prognoses",synopsis:"synopses",thesis:"theses",neurosis:"neuroses",appendix:"appendices",index:"indices",matrix:"matrices",ox:"oxen",sex:"sexes",alumnus:"alumni",bacillus:"bacilli",cactus:"cacti",fungus:"fungi",hippopotamus:"hippopotami",libretto:"libretti",modulus:"moduli",nucleus:"nuclei",octopus:"octopi",radius:"radii",stimulus:"stimuli",syllabus:"syllabi",cookie:"cookies",calorie:"calories",auntie:"aunties",movie:"movies",pie:"pies",rookie:"rookies",tie:"ties",zombie:"zombies",leaf:"leaves",loaf:"loaves",thief:"thieves",foot:"feet",goose:"geese",tooth:"teeth",beau:"beaux",chateau:"chateaux",tableau:"tableaux",bus:"buses",gas:"gases",circus:"circuses",crisis:"crises",virus:"viruses",database:"databases",excuse:"excuses",abuse:"abuses",avocado:"avocados",barracks:"barracks",child:"children",clothes:"clothes",echo:"echoes",embargo:"embargoes",epoch:"epochs",deer:"deer",halo:"halos",man:"men",woman:"women",mosquito:"mosquitoes",mouse:"mice",person:"people",quiz:"quizzes",rodeo:"rodeos",shoe:"shoes",sombrero:"sombreros",stomach:"stomachs",tornado:"tornados",tuxedo:"tuxedos",volcano:"volcanoes"},Ao={Comparative:"true¦bett1f0;arth0ew0in0;er",Superlative:"true¦earlier",PresentTense:"true¦bests,sounds",Condition:"true¦lest,unless",PastTense:"true¦began,came,d4had,kneel3l2m0sa4we1;ea0sg2;nt;eap0i0;ed;id",Participle:"true¦0:0A;a07b02c00dXeat0fSgQhPoJprov0rHs7t6u4w1;ak0ithdra03o2r1;i03uZ;k0v0;nd1pr05;ergoJoJ;ak0hHo3;e9h7lain,o6p5t4un3w1;o1um;rn;g,k;ol0reT;iRok0;ught,wn;ak0o1ruL;ne,wn;en,wn;ewriOi1uK;dd0s0;ut3ver1;do4se0t1;ak0h2;do2g1;roH;ne;ast0i7;iv0o1;ne,tt0;all0loCor1;bi3g2s1;ak0e0;iv0oA;dd0;ove,r1;a6eamt,iv0u1;nk;hos0lu1;ng;e4i3lo2ui1;lt;wn;tt0;at0en,gun;r2w1;ak0ok0;is0;en",Gerund:"true¦accord0be0doin,go0result0stain0;ing",Expression:"true¦a0Yb0Uc0Sd0Oe0Mfarew0Lg0FhZjeez,lWmVnToOpLsJtIuFvEw7y0;a5e3i1u0;ck,p;k04p0;ee,pee;a0p,s;!h;!a,h,y;a5h2o1t0;af,f;rd up,w;atsoever,e1o0;a,ops;e,w;hoo,t;ery w06oi0L;gh,h0;! 0h,m;huh,oh;here nPsk,ut tut;h0ic;eesh,hh,it,oo;ff,h1l0ow,sst;ease,s,z;ew,ooey;h1i,mg,o0uch,w,y;h,o,ps;! 0h;hTmy go0wT;d,sh;a7evertheless,o0;!pe;eh,mm;ah,eh,m1ol0;!s;ao,fao;aCeBi9o2u0;h,mph,rra0zzC;h,y;l1o0;r6y9;la,y0;! 0;c1moCsmok0;es;ow;!p hip hoor0;ay;ck,e,llo,y;ha1i,lleluj0;ah;!ha;ah,ee4o1r0;eat scott,r;l1od0sh; grief,bye;ly;! whiz;ell;e0h,t cetera,ureka,ww,xcuse me;k,p;'oh,a0rat,uh;m0ng;mit,n0;!it;mon,o0;ngratulations,wabunga;a2oo1r0tw,ye;avo,r;!ya;h,m; 1h0ka,las,men,rgh,ye;!a,em,h,oy;la",Negative:"true¦n0;ever,o0;n,t",QuestionWord:"true¦how3wh0;at,e1ich,o0y;!m,se;n,re; come,'s",Reflexive:"true¦h4it5my5o1the0your2;ir1m1;ne3ur0;sel0;f,ves;er0im0;self",Plural:"true¦dick0gre0ones,records;ens","Unit|Noun":"true¦cEfDgChBinchAk9lb,m6newt5oz,p4qt,t1y0;ardEd;able1b0ea1sp;!l,sp;spo1;a,t,x;on9;!b,g,i1l,m,p0;h,s;!les;!b,elvin,g,m;!es;g,z;al,b;eet,oot,t;m,up0;!s",Value:"true¦a few",Imperative:"true¦bewa0come he0;re","Plural|Verb":"true¦leaves",Demonym:"true¦0:15;1:12;a0Vb0Oc0Dd0Ce08f07g04h02iYjVkTlPmLnIomHpEqatari,rCs7t5u4v3welAz2;am0Gimbabwe0;enezuel0ietnam0I;gAkrai1;aiwTex0hai,rinida0Ju2;ni0Prkmen;a5cotti4e3ingapoOlovak,oma0Spaniard,udRw2y0W;ede,iss;negal0Cr09;sh;mo0uT;o5us0Jw2;and0;a2eru0Fhilippi0Nortugu07uerto r0S;kist3lesti1na2raguay0;ma1;ani;ami00i2orweP;caragu0geri2;an,en;a3ex0Lo2;ngo0Drocc0;cedo1la2;gasy,y07;a4eb9i2;b2thua1;e0Cy0;o,t01;azakh,eny0o2uwaiI;re0;a2orda1;ma0Ap2;anO;celandic,nd4r2sraeli,ta01vo05;a2iB;ni0qi;i0oneU;aiAin2ondur0unO;di;amEe2hanai0reek,uatemal0;or2rm0;gi0;ilipino,ren8;cuadoVgyp4mira3ngli2sto1thiopi0urope0;shm0;ti;ti0;aPominUut3;a9h6o4roat3ub0ze2;ch;!i0;lom2ngol5;bi0;a6i2;le0n2;ese;lifor1m2na3;bo2eroo1;di0;angladeshi,el6o4r3ul2;gaE;azi9it;li2s1;vi0;aru2gi0;si0;fAl7merBngol0r5si0us2;sie,tr2;a2i0;li0;genti2me1;ne;ba1ge2;ri0;ni0;gh0r2;ic0;an",Organization:"true¦0:4S;a3Vb3Dc2Qd2Ie2Ef28g20h1Ui1Qj1Ok1Ml1Hm13n0Qo0Np0Dqu0Cr03sUtHuCv9w3xiaomi,y1;amaha,m1Cou1w1C;gov,tu3E;a4e2iki1orld trade organizati35;leaSped0P;lls fargo,st1;fie2Jinghou2T;l1rner br3W;gree3Ll street journ2Km1F;an halPeriz2Zisa,o1;dafo30l1;kswagNvo;b4kip,n2ps,s1;a tod3Cps;es3Oi1;lev3Hted natio3E;er,s; mobi34aco beSd bPeAgi frida9h3im horto3Cmz,o1witt3F;shi4By1;ota,s r 06;e 1in lizzy;b3carpen3Ldaily ma3Fguess w2holli0rolling st22s1w2;mashing pumpki37uprem0;ho;ea1lack eyed pe3Zyrds;ch bo1tl0;ys;l2n3Rs1xas instrumen1U;co,la m1F;efoni0Kus;a8cientology,e5ieme2Zmirnoff,np,o3pice gir6quare0Ata1ubaru;rbuc1to35;ks;ny,undgard1;en;a2x pisto1;ls;g1Xrs;few2Ninsbury33lesfor03msu2F;.e.m.,adiohead,b8e4o1yana3D;man empi1Yyal 1;b1dutch she4;ank;a3d 1max,vl21;bu1c2Bhot chili peppe2Zlobst2O;ll;ders dige1Ml madrid;c,s;ant3Bizno2T;a8bs,e5fiz2Jhilip4i3r1;emier 1udenti1E;leagTo2L;nk floyd,zza hut; morrBs;psi2tro1uge0E;br34chi0Tn34;!co;lant2Vn1yp17; 2ason28da2Q;ld navy,pec,range juli2xf1;am;us;aAb9e6fl,h5i4o1sa,vid3wa;k2tre dame,vart1;is;ia;ke,ntendo,ss0QvZ;l,s;c,st1Ptflix,w1; 1sweek;kids on the block,york0D;a,c;nd23s2t1;ional aca2Qo,we0V;a,c02d0T;aDcdonaldCe9i6lb,o3tv,y1;spa1;ce;b1Unsanto,ody blu0t1;ley cr1or0U;ue;c2t1;as,subisO;helin,rosoft;dica2rcedes benz,talli1;ca;id,re;'s,s;c's milk,tt1Az25;'ore0Ba3e1g,ittle caesa1Q;novo,x1;is,mark,us; 1bour party;pres0Ez boy;atv,fc,kk,lm,m1od1P;art;iffy lu0Soy divisi0Kpmorgan1sa;! cha0A;bm,hop,k3n1tv;g,te1;l,rpol;ea;a5ewlett pack1Wi3o1sbc,yundai;me dep1n1Q;ot;tac1zbollah;hi;lliburt09sbro;eneral 6hq,ithub,l5mb,o2reen d0Pu1;cci,ns n ros0;ldman sachs,o1;dye1g0I;ar;axo smith kli05encoX;electr0Om1;oto10;a5bi,c barcelo4da,edex,i2leetwood m04o1rito l0H;rd,xcZ;at,fa,nancial1resto00; tim0;na;cebook,nnie mae;b0Bsa,u3xxon1; m1m1;ob0K;!rosceptics;aiml0Ee6isney,o4u1;nkin donu2po10ran dur1;an;ts;j,w j1;on0;a,f lepp12ll,peche mode,r spieg02stiny's chi1;ld;aJbc,hFiDloudflaCnn,o3r1;aigsli5eedence clearwater reviv1ossra09;al;c7inba6l4m1o0Est09;ca2p1;aq;st;dplSg1;ate;se;a c1o chanQ;ola;re;a,sco1tigroup;! systems;ev2i1;ck fil-a,na daily;r1y;on;d2pital o1rl's jr;ne;bury,ill1;ac;aEbc,eBf9l5mw,ni,o1p,rexiteeU;ei3mbardiIston 1;glo1pizza;be;ng;o2ue c1;roV;ckbuster video,omingda1;le; g1g1;oodriL;cht2e ge0rkshire hathaw1;ay;el;cardi,idu,nana republ3s1xt5y5;f,kin robbi1;ns;ic;bYcTdidSerosmith,iRlKmEnheuser-busDol,pple9r6s4u3v2y1;er;is,on;di,todesk;hland o1sociated E;il;by4g2m1;co;os; compu2bee1;'s;te1;rs;ch;c,d,erican3t1;!r1;ak; ex1;pre1;ss; 5catel2ta1;ir;!-lu1;ce1;nt;jazeera,qae1;da;g,rbnb;as;/dc,a3er,tivision1;! blizz1;ard;demy of scienc0;es;ba",Possessive:"true¦its,my,our0thy;!s","Noun|Verb":"true¦0:9T;1:A7;2:93;3:A0;4:9O;5:9Z;6:9H;7:8K;8:7I;9:A5;A:90;B:8U;C:8A;a9Lb8Nc7Fd6Oe6Df5Pg5Fh53i4Vj4Sk4Pl4Dm3Zn3Uo3Rp2Rqu2Qr20s0Jt02u00vVwGyFzD;ip,oD;ne,om;awn,e6Cie65;aOeMhJiHoErD;ap,e9Link2;nd0rDuB;kDry,sh5Eth;!shop;ck,nDpe,re,sh;!d,g;e83iD;p,sD;k,p0t2;aDed,lco8T;r,th0;it,lk,rEsDt4ve,x;h,te;!ehou1ra9;aGen5CiFoD;iDmAte,w;ce,d;be,ew,sA;cuum,l49;pDr7;da5gra6Blo67;aReQhrPiOoMrGuEwiDy5W;n,st;nDrn;e,n7L;aGeFiEoDu6y;t,ub2;bu5ck4Hgg0m,p;at,k,nd;ck,de,in,nsDp,v7G;f0i8O;ll,ne,p,r4Vss,t91uD;ch,r;ck,de,e,le,me,p,re;e5Tow,u6;ar,e,ll,mp0st,xt;g,lDng2rg7Ms5x;k,ly;a0Rc0Me0Jh0Ei0Ck0Bl09m08n06o05pXquaCtKuFwD;ea85iD;ng,pe,t4;bGit,m,ppErD;fa3ge,pri1v2T;lDo6P;e6My;!je8;aMeLiKoHrEuDy2;dy,ff,mb2;a82eEiDo5Mugg2;ke,ng;am,ss,t4;ckEop,p,rD;e,m;ing,pi2;ck,nk,t4;er,m,p;ck,ff,ge,in,ke,lEmp,nd,p2rDte,y;!e,t;k,l;aJeIiHlGoFrDur,y;ay,e53inDu3;g,k2;ns88t;a5Nit;ll,n,r84te;ed,ll;m,n,rk;b,uB;aDee1Sow;ke,p;a5Ge4Ci2o50;eep,iDou4;ce,p,t;ateboa7Gi;de,gnDl2Unk,p,ze;!al;aGeFiEoDuff2;ck,p,re,w;ft,p,v0;d,i3Wlt0;ck,de,pe,re,ve;aEed,nDrv1It;se,t2M;l,r4t;aGhedu2oCrD;aEeDibb2o3X;en,w;pe,t4;le,n,r2L;cDfegua70il,mp2;k,rifi3;aZeHhy6JiGoEuD;b,in,le,n,s5V;a6ck,ll,oDpe,u5;f,t;de,ng,ot,p,s1V;aTcSdo,el,fQgPje8lOmMnLo17pJque6sFturn,vDwa6T;eDi26;al,r1;er72oFpe8tEuD;lt,me;!a53;l6Zrt;air,eaDly,o51;l,t;dezvo2Xt;aDedy;ke,rk;ea1i4E;a6Gist0r5L;act6Wer1Uo6ZuD;nd,se;a36o6D;ch,s6E;c1Cge,iEke,lly,nDp1Vt1V;ge,k,t;n,se;es69iv0;a04e00hYiXlToNrEsy4uD;mp,n4rcha1sh;aKeIiHoDu4M;be,ceFdu3fi2grDje8mi1p,te6;amDe6U;!me;ed,ss;ce,de,nt;sDy;er6As;cti3i1;iHlFoEp,re,sDuBw0;e,i5Wt;l,p;iDl;ce,sh;nt,s5T;aEce,e30uD;g,mp,n7;ce,nDy;!t;ck,le,n16pe,tNvot;a1oD;ne,tograph;ak,eFnErDt;fu53mA;!c30;!l,r;ckJiInHrFsEtDu1y;ch,e9;s,te;k,tD;!y;!ic;nt,r,se;!a7;bje8ff0il,oErDutli3Over49;bAd0ie9;ze;a4PeFoDur1;d,tD;e,i3;ed,gle8tD;!work;aMeKiIoEuD;rd0;ck,d3Pld,nEp,uDve;nt,th;it5CkD;ey;lk,n49rr5AsDx;s,ta29;asuCn4SrDss;ge,it;il,nFp,rk3UsEtD;ch,t0;h,k,t0;da5n0oeuvC;aLeJiHoEuD;mp,st;aEbby,ck,g,oDve;k,t;d,n;cDft,mAnHst;en1k;aDc0Ne4vJ;ch,d,k,p,se;bEcDnd,p,t4un4;e,k;el,o2T;eEiDno4D;ck,d,ll,ss;el,y;aEo1NuD;i3mp;m,zz;mpJnEr45ssD;ue;c1Qdex,fluGha2k,se2GteDvoi3;nt,rD;e6fa3viD;ew;en3;a8le29;aJeHiGoEuD;g,nt;l39no2Cok,pDr1u1;!e;ghli1Eke,nt,re,t;aDd7lp;d,t;ck,mGndFrEsh,tDu9;ch,e;bo3Wm,ne4Dve6;!le;!m0;aLear,ift,lJossIrFuD;arDe49lp,n;antee,d;aEiDouBumb2;ll,nd,p;de,sp;ip;oDue;ss,w;g,in,me,ng,s,te,ze;aZeWiRlNoJrFuD;ck,el,nDss,zz;c38d;aEoDy;st,wn;cDgme,me,nchi1;tuC;cFg,il,ld,rD;ce,e29mDwa31;!at;us;aFe0Vip,oDy;at,ck,od,wD;!er;g,ke,me,re,sh,vo1E;eGgFlEnDre,sh,t,x;an3i0Q;e,m,t0;ht,uC;ld;aEeDn3;d,l;r,tuC;ce,il,ll,rm,vo2W;cho,d7ffe8nMsKxFyeD;!baD;ll;cGerci1hFpDtra8;eriDo0W;en3me9;au6ibA;el,han7u1;caDtima5;pe;count0d,vy;a01eSiMoJrEuDye;b,el,mp,pli2X;aGeFiEoD;ne,p;ft,ll,nk,p,ve;am,ss;ft,g,in;cEd7ubt,wnloD;ad;k,u0E;ge6p,sFt4vD;e,iDor3;de;char7gui1h,liEpD;at4lay,u5;ke;al,bKcJfeIlGmaBposAsEtaD;il;e07iD;gn,re;ay,ega5iD;ght;at,ct;li04rea1;a5ut;b,ma7n3rDte;e,t;a0Eent0Dh06irc2l03oKrFuD;be,e,rDt;b,e,l,ve;aGeFoEuDy;sh;p,ss,wd;dAep;ck,ft,sh;at,de,in,lTmMnFordina5py,re,st,uDv0;gh,nDp2rt;s01t;ceHdu8fli8glomeIsFtDveN;a8rD;a6ol;e9tru8;ct;ntDrn;ra5;bHfoGmFpD;leDouBromi1;me9;aBe9it,u5;rt;at,iD;ne;lap1oD;r,ur;aEiDoud,ub;ck,p;im,w;aEeDip;at,ck,er;iGllen7nErD;ge,m,t;ge,nD;el;n,r;er,re;ke,ll,mp,noe,pGrXsFtEuDve;se,ti0I;alog,ch;h,t;!tuC;re;a03eZiXlToPrHuEyD;pa11;bb2ck2dgEff0mp,rDst,zz;den,n;et;anJeHiFoadEuD;i1sh;ca6;be,d7;ge;aDed;ch,k;ch,d;aFg,mb,nEoDrd0tt2x,ycott;k,st,t;d,e;rd,st;aFeBiDoYur;nk,tz;nd;me;as,d,ke,nd,opsy,tD;!ch,e;aFef,lt,nDt;d,efA;it;r,t;ck,il,lan3nIrFsEtt2;le;e,h;!gDk;aDe;in;!d,g,k;bu1c05dZge,iYlVnTppQrLsIttGucEwaD;rd;tiD;on;aDempt;ck;k,sD;i6ocia5;st;chFmD;!oD;ur;!iD;ve;eEroa4;ch;al;chDg0sw0;or;aEt0;er;rm;d,m,r;dreHvD;an3oD;ca5;te;ce;ss;cDe,he,t;eFoD;rd,u9;nt;nt,ss;se",Actor:"true¦0:7C;1:7H;2:6B;3:7G;4:7P;5:7L;6:72;a6Pb64c4Xd4De43f3Tg3Ch31i2Vj2Rkin2Ql2Lm27n20o1Tp0Wqu0Ur0KsRtKuIvFw9yo7;gi,ut7;h,ub0;aBeAi9o8r7;estl0it0;m2rk0;fe,nn0t2Cza2I;atherm2ld0;ge earn0it0nder0rri1;eter8i7oyG;ll5Sp,s41;an,ina2V;n7s0;c6Wder04;aoisea24eAherapi5iktok0o9r7ut1yco6;a7endseMo45;d0mp,nscri0Cvel0;ddl0u1H;a0Rchn8en7na4st0;ag0;i3Qo0E;aiYcVeShQiNki0mu27oKpHquaGtCu8wee7;p0theart;lt2per8r7;f0ge6viv1;h7inten0Jst5Kvis1;ero,um2;a9ep8r7;ang0eam0;bro2Oc2Pfa2Omo2Osi21;ff0tesm2;tt0;ec8ir2Eo7;kesp5Bu0N;ia5Lt3;l8me6Cn,rcere7ul;r,ss;di0oi5;n8s7;sy,t0;g0n0;am2ephe1Jow7;girl,m2r2R;cretJnior cit3Hr7;gea4v7;a4it1;hol4Zi8reen7ulpt1;wr2D;e02on;l1nt;aFeAo9u7;l0nn7;er up,ingF;g42le mod41of0;a51c9fug2Rpo34searRv7;ere4Wolution7;ary;e7luZru23;ptio3V;bbi,dic5Xpp0;arter7e31;back;aZeXhTiSlPoLr9sycho8u7;nk,p34;logi5;aHeEiCo7;dAfess1g8ph49s7;pe2Mtitu53;en7ramm0;it1y;igy,uc0;est4Pme mini0Vnce7s3G;!ss;a8si7;de4;ch0;ctiti3Bnk0Q;dca0Pet,li7pula52rnst44;c2Ktic7;al scie7i2;nti5;a7umb0;nn0y7;er,ma4Nwright;lgrim,one0;a9iloso8otogra8ra7ysi1X;se;ph0;ntom,rmaci5;r7ssi1V;form0s6;i3Gl,nel40r9st1tr7wn;i7on;arXot;ent4Yi44tn0;ccupa4ffCp9r8ut7;ca5l0C;ac4Kganiz0ig2Hph2;er3t7;i1Lomet7;ri5;ic0spring;aCeAie4Zo8u7;n,rser3L;b7mad,vi4X;le2Xo4F;i7mesis,phew;ce,ghb1;nny,rr3t20;aFeEiBo8u7yst21;m9si18;der3gul,m8n7th0;arEk;!my;ni8s7;f03s0Kt0;on,st0;chan1Tnt1rcha4;giAk0n9rtyr,t7y1;e,riar7;ch;ag0iac;ci2stra3K;a8e2Cieutena4o7;rd,s0v0;bor0d8ndlo7ss,urea3Hwy0ym2;rd;!y;!s2A;anitor ,e9o8u7;ggl0;gg0urna2W;st0;c6dol,llu3Wmmigra4n7;-lAc1Sfa4habi44nov3s8ve7;nt1stig3;pe0Pt7;a1Hig3ru0O;aw;airGeCistoBo9u7ygie1M;man7sba2J;!ita9;bo,st7usekO;age,e3R;ri2;ir,r7;m8o7;!ine;it;dress0sty2E;aMeJhostHirl28ladi3oDrand8u7;e5ru;cAdaugTfa9m8pa7s6;!re4;a,o7;th0;hi1D;al8d7lf0;!de3C;ie,k7te28;eep0;!wr7;it0;isha,n7;i7tl06;us;mbl0rden0;aFella,iBo8r7;eela2Pie1R;e,re7ster pare4;be1Jm2r7st0;unn0;an31g9lmm19nanci0r7tt0;e7st la2J; marsh2Qfig7m2;ht0;rm0th0;conoFdElectriDm9n8x7;amin0cellency,i2B;emy,trepreneur,vironmenta1K;c9p7;er1loye7;e,r;ee;ci2;it1;mi5;aLeCi9ork,ri8u7we03;de,tche2I;ft0vK;ct3eti8plom2Ire7va;ct1;ci2ti2;aEcor3fencDi0JnBputAs8tectNvel7;op0;ce1He7ign0;rt0;ee,y;iz7;en;em2;c6l0;dAnc0redev9ught7;er7;! ;il;!dy;a06e04fo,hXitizenWlToCrAu7;r3stomer7;! representat7;ive;e3it7;ic;-work0lJmGnAord9rpor1Nu7wboy;n7ri0sin ;ciUte1R;in3;fidantBgressTsAt7;e0Lr7;ibut1o7;ll0;tab14ul1P;!e;edi2m7pos0rade;a0FeRissi7;on0;leag9on8um7;ni5;el;ue;e7own;an0r7;ic,k;!s;aAe8i7um;ld;erle7f;ad0;ir8nce7plGract0;ll1;m2wJ;lebri7o;ty;dCptBr7shi0;e8pe7;nt0;r,t7;ak0;ain;et;aNeMiKlogg0oFrCu7;dd0Gild0rglAsiness7;m2p8w7;om2;ers6;ar;i8o7;!k0th0;cklay0de,gadi0;hemi2oge9y7;!frie7;nd;ym2;an;cyc7sS;li5;atbox0ings;by,nk0r7;b0on8te7;nd0;!e08;c05dXge4nRpMrIsGtBu8yatull7;ah;nt8t7;h1oH;!ie;h9t7;e7orney;nda4;ie5le7;te;sis01tron7;aut,om0;chbis9isto8tis7;an,t;crV;hop;ostAp7;ari7rentiT;ti6;on;le;aAcest1im3nou9y7;bo7;dy;nc0;ly5rc7;hi5;mi9v7;entur0is1;er;ni8r7;al;str3;at1;or;counCquaintanBrobAt7;ivi5or,re7;ss;st;at;ce;ta4;nt","Adj|Noun":"true¦0:1F;1:1M;a1Db17c0Vd0Se0Nf0Eg0Bh09i07ju06l03mXnVoTpOrJsCt8u5v2watershed;a2ision10;gabo5nilla,ria2;b0Wnt;ndergr2pstairs;adua14ou2;nd;a4e2oken,ri0;en,r2;min0rori13;boo,n;age,e6ilv0Glack,o4quat,ta3u2well;bordina0Xper6;b0Mndard;ciali0Yl2vereign;e,ve1;cret,n2ri0;ior;a5e3ou2ubbiM;nd,tiZ;ar,bCl0Ynt0p2side1;resent0Xublican;ci0Qsh;a5eriodic0last11otenti0r2;emi3incip0o2;!fession0;er,um;rall5st,tie1;ff2pposi0Hv0;ens0Qi0D;agg02ov2;el;a6e4iniatKo2;bi02der08r2;al,t0;di2tr0P;an,um;le,riH;attPi3u2;sh;ber0ght,qD;stice,veniU;de0mpressioZn2;cumbe1dividu0no0Fsta1terim;alf,o2umdrum;bby,melG;en3old,ra2;ph0Dve;er0ious;a8e6i5l4u2;git05t2;ure;uid;ne;llow,m2;aGiM;ir,t,vo2;riOuriO;l4p02x2;c2ecutWpeX;ess;d2iK;er;ar3e2;mographWrivQ;k,l3;hiGlassUo3rude,unn2;ing;m6n2operM;creCstitue1te3vertab2;le;mpor2nt;ary;ic,m3p2;anion,lex;er3u2;ni8;ci0;e6lank,o5r2;i3u2;te;ef;ttom,urgeois;st;cademCd9l5n3r2;ab,ctB;im0tarctA;al;e4tern2;at2;ive;rt;oles2ult;ce1;nt;ic","Adj|Past":"true¦0:4C;1:40;2:45;3:42;4:3B;a3Tb3Ic2Vd2Ae22f1Wg1Th1Qi1Hj1Ekno1Dl18m13n10o0Vp0Lqu0Jr07sKtEuBvAw5yellow0;a8ea7o5rinkl0;r5u3N;n,ri0;k2Qth3;rp0sh0tY;ari0e1M;n5pd1s0;cov3derstood,i5;fi0t0;a8hreat2Ki7ouTr5urn0wi42;a5imm0ou28;ck0in0pp0;ed,r0;m0nn0r5;get0ni2K;aPcLeJhHimGm0Hoak0pEt8u5;bsid3Fgge3Vs5;pe5ta2P;ct0nd0;a9e8i26ok0r6u5;ff0nn0;ength28ip5;ed,p0;am0reotyp0;in0t0;eci5ik0oI;al35fi0;pSul1;a5ock0ut;d0r0;a5c1Dle2t2S;l0s3Jt0;a7or6r5;at5e1W;ch0;r0tt3;t5ut0;is4ur1;aFe6o5;tt0;cBdJf22gAje2l9m0Knew0p8qu7s5;eTpe2t5;or0ri2;e34ir0;e1lac0;at0e2H;ist3ul1;eiv0o5ycl0;mme2Crd0v3;in0lli0ti4;a5ot0;li4;aCer2RiBlAo9r5ump0;e7i2Go5;ce27d5lo14nou2Spos0te2v0;uc0;fe15ocDp0Fss0;i2Cli1D;ann0e24uT;ck0erc0ss0;ck0i29r5st0;allMk0;bse8c7rgan25ver5;lo5whelm0;ok0;cupi0;rv0;e6o5;t0uri12;ed0gle2;a7e6ix0o5ut0;di4t0Xu1Y;as07lt0;n5rk0;ag0ufact05;e7i6o5;ad0ck0st;cens0mit0st0;ft,v5;el0;tt0wn;a6o0Xu5;dg0s13;gg0;llumin1mpBn5sol1;br0cre1Ddebt0f9jUt6v5;it0olv0;e5ox0Q;gr1n5re1V;d0si4;e2l1o1O;li0oVr5;ov0;amm3e1o5;ok0r5;ri4;ift0r6u5;a14id0;i0Kown;a9e8i7lavo0Goc0Cr5;a5i0oz0S;ctEg13m0;ni04tt0x0;ar0;d0il0;duc1l1mBn9quipp0s8x5;agger1p5te0Q;a0Pe5os0;ct0rie1A;cap0tabliX;gFha18s5;ur0;a0Xbarra0L;aMeEi6r5;a00i0;gni4miniRre2s5;aAc7grun0Et5;o5re0Gurb0;rt0;iplVou5;nt0r5;ag0;bl0;cBdQf9l8pre0Ara7t6v5;elop0ot0;ail0ermP;ng0;ay0ight0;e5in0o0M;rr0;ay0enTor1;m5t0z0;ag0p5;en0;aQeMhJlIoAr7u5;lt5r0stom04;iv1;a6owd0u5;sh0;ck0mp0;d0loBm8n5ok0v3;centr1f6s5troD;id3olid1;us0;b6pl5;ic1;in0;r0ur0;assi4os0utt3;ar6i5;ll0;g0m0;lebr1n7r5;ti4;fi0;tralK;g0lcul1;aEiDlAo8r6urn5;ed,t;ok5uis0;en;il0r0t5und;tl0;e6i5;nd0;ss0;as0;k0laNs0tt3;bandQcOdLfJg0lGmaz0nEppCrm0ssAu6wa5;rd0;g6thor5;iz0;me5;nt0;o7u5;m0r0;li0re5;ci1;im1ticip1;at0;a6leg0t3;er0;rm0;fe2;ct0;ju6o8va5;nc0;st0;ce5knowledg0;pt0;on0;ed",Singular:"true¦0:5H;1:5F;2:4U;3:4Q;4:50;5:55;6:5J;a4Yb4Hc3Kd32e2Uf2Lg2Gh25in21j20k1Zl1Sm1Jn1Fo19p0Pqu0Or0DsXtKuFvAw7x r54yo yo;a7ha3Mo3N;f3i4Nt0Ey7;! arou36;arAe8ideo ga2No7;cabu4Fl58;gMr7t;di4Vt1V;iety,ni4L;n9p2Xr8s 7;do40s5A;bani1in0;coordinat37der7;estima1to21we3Y; rex,aIeHhFiDoCr9u8v7;! show;m2Ln2rntJto1B;agedy,ib7o4A;e,u7;n0ta42;ni1p2rq3I;c,er,m7;etD;ing7ree23;!y;am,mp3C;ct2le6x return;aLcKeIhor4MiHkFoEpin off,tBu9y7;ll7ner4Ist4P;ab2U;b7i1n25per bowl,rro1U;st3Itot0;at8ipe2Do1Irate4Eudent7;! lo0G;i36u1;ft ser4Hmeo1F;elet5i7;ll,r3R;b35gn2Qte;ab2Gc7min38;t,urity gua2K;e6ho2V;bbatic0la3Fndwi0Opi5;av5eBhetor2i8o7;de6om,w;t8v7;erb29;e,u0;bBc9f7publ2r0Xspi1;er7orm3;e6r0;i7ord label;p2Et0;a1u42;estion mark,ot2C;aNeKhoJiGlEoCr8u7yram1C;ddi3DpCrpo1Gs3F;e9o7;bl3Vs7;pe3Fta1;dic1Omi1Cp1Nroga3Rss relea1C;p7rt0;py;a7ebisci1;q2Ate;cn2e8g7;!gy;!r;ne call,tocoI;anut,d8r7t0yo1;cen3Fsp3G;al,est0;nop4r8t7;e,hog5;adi0Yi2R;atme0bj3Bc9pia1rde0thers,utspok5ve7wn3;n,r7;ti0Mview;cu8e7;an;pi3;ar9it8ot7umb3;a2Bhi2N;e,ra1;cot2ra33;aDeAi8o7ur0;nopo4p15rni2Jsq1Oti32uld;c,li0Yn07s7tt5;chief,si30;d8nu,t7;al,i3;al,ic;gna1mm0nd12rsupi0te7yf4;ri0;aBegAi9u7;ddi1n7;ch;ght bulb,me,p06ving room; 8e0J;bor11y 7;up;eyno1itt5;el4ourn0;c9dices,itia2Kni22s8tel0Jvert7;eb1H;e25titu1;en2Hi2Q;aGeCighBo8u7;man right,s1Z;me7rmoDsp1Dtb0I;! r7;un; scho0WriW;a7i1K;d7v5; start,pho7;ne;ndful,sh brown,v5ze;a9elat0Glaci3r7ul4yp1P;an7enadi3id;a19d slam,ny;df4r7;l2ni1F;aEeti1EiDlu1oAr8un7;er0;ee market,i7onti3;ga1;l4ur7;so7;me;eNref4;br2mi4;conoDffi1Mgg,lecto0Pmbas1BnApidem2s1Wth2ven9x8yel7;id;ampXempl0Lte6;i16t;er1Iterp7;ri7;se;my;eJiCo9r7ump tru0R;agonf4i7;er,ve thru;c8g1Bi4or,ssi3wn7;side;to0CumenC;aCgniBnn3s8vide7;nd;conte6incen1Bp7tri0Y;osi7;tion;ta0E;le0U;ath9c8f7ni0terre6;ault 03err0;al,im0;!b7;ed;aUeRhKiJlHoBr7;edit ca9uc7;ib7;le;rd;efficBke,lAmmuniqJns8pi3rr0t0Uus7yo1;in;erv7uG;atoZ;ic,lO;ie6;er0Li7oth;e6n2;ty,vil wK;aBeqAick5oco9r7;istmas car7ysanthemum;ol;la1;ue;ndeli3racteri7;st2;i8llCr7;e0tifica1;liW;hi3nDpCrAt7ucus;erpi7hedr0;ll7;ar;!bohyd7ri3;ra1;it0;a7e,nib0;l,ry;aKeJiop2leHoFrBu7;nny,r7tterf4;g7i0;la7;ry;eak8i7;ck;fa7thro9;st;dy,ro7wl;ugh;mi7;sh;an,l4;nki8rri3;er;ng;cQdKlGnDppeti1rBs9tt2utop7;sy;ic;ce6pe7;ct;r7sen0;ay;ec8oma4ti8;ly;do1;i5l7;er7y;gy;en; hominBj8van7;tage;ec7;ti7;ve;em;cAe8qui7;tt0;ta1;te;i8ru0;al;de6;nt","Person|Noun":"true¦a0Eb07c03dWeUfQgOhLjHkiGlFmCnBolive,p7r4s3trini06v1wa0;ng,rd,tts;an,enus,iol0;a,et;ky,onPumm09;ay,e1o0uby;bin,d,se;ed,x;a2e1o0;l,tt04;aLnJ;dYge,tR;at,orm;a0eloW;t0x,ya;!s;a9eo,iH;ng,tP;a2e1o0;lGy;an,w3;de,smi4y;a0erb,iOolBuntR;ll,z0;el;ail,e0iLuy;ne;a1ern,i0lo;elds,nn;ith,n0;ny;a0dEmir,ula,ve;rl;a4e3i1j,ol0;ly;ck,x0;ie;an,ja;i0wn;sy;am,h0liff,rystal;a0in,ristian;mbers,ri0;ty;a4e3i2o,r0ud;an0ook;dy;ll;nedict,rg;k0nks;er;l0rt;fredo,ma","Actor|Verb":"true¦aCb8c5doctor,engineAfool,g3host,judge,m2nerd,p1recruit,scout,ushAvolunteAwi0;mp,tneA;arent,ilot;an,ime;eek,oof,r0uide;adu8oom;ha1o0;ach,nscript,ok;mpion,uffeur;o2u0;lly,tch0;er;ss;ddi1ffili0rchite1;ate;ct",MaleName:"true¦0:H9;1:FZ;2:DS;3:GQ;4:CZ;5:FV;6:GM;7:FP;8:GW;9:ET;A:C2;B:GD;aF8bE1cCQdBMeASfA1g8Yh88i7Uj6Sk6Bl5Mm48n3So3Ip33qu31r26s1Et0Ru0Ov0CwTxSyHzC;aCor0;cChC1karia,nAT;!hDkC;!aF6;!ar7CeF5;aJevgenBSoEuC;en,rFVsCu3FvEF;if,uf;nDs6OusC;ouf,s6N;aCg;s,tC;an,h0;hli,nCrosE1ss09;is,nC;!iBU;avi2ho5;aPeNiDoCyaEL;jcieBJlfgang,odrFutR;lFnC;f8TsC;lCt1;ow;bGey,frEhe4QlC;aE5iCy;am,e,s;ed8iC;d,ed;eAur;i,ndeD2rn2sC;!l9t1;lDyC;l1ne;lDtC;!er;aCHy;aKernDAiFladDoC;jteB0lodymyr;!iC;mFQsDB;cFha0ktBZnceDrgCOvC;a0ek;!nC;t,zo;!e4StBV;lCnC7sily;!entC;in9J;ghE2lCm70nax,ri,sm0;riCyss87;ch,k;aWeRhNiLoGrEuDyC;!l2roEDs1;n6r6E;avD0eCist0oy,um0;ntCRvBKy;bFdAWmCny;!asDmCoharu;aFFie,y;!z;iA6y;mCt4;!my,othy;adEeoDia0SomC;!as;!dor91;!de4;dFrC;enBKrC;anBJeCy;ll,nBI;!dy;dgh,ha,iCnn2req,tsu5V;cDAka;aYcotWeThPiMlobod0oKpenc2tEurDvenAEyCzym1;ed,lvest2;aj,e9V;anFeDuC;!aA;fan17phEQvCwaA;e77ie;!islaCl9;v,w;lom1rBuC;leymaDHta;dDgmu9UlCm1yabonga;as,v8B;!dhart8Yn9;aEeClo75;lCrm0;d1t1;h9Jne,qu1Jun,wn,yne;aDbastiEDk2Yl5Mpp,rgCth,ymoCU;e1Dio;m4n;!tC;!ie,y;eDPlFmEnCq67tosCMul;dCj2UtiA5;e01ro;!iATkeB6mC4u5;!ik,vato9K;aZeUheC8iRoGuDyC;an,ou;b99dDf4peAssC;!elEG;ol00y;an,bLc7MdJel,geIh0lHmGnEry,sDyC;!ce;ar7Ocoe,s;!aCnBU;ld,n;an,eo;a7Ef;l7Jr;e3Eg2n9olfo,riC;go;bBNeDH;cCl9;ar87c86h54kCo;!ey,ie,y;cFeA3gDid,ubByCza;an8Ln06;g85iC;naC6s;ep;ch8Kfa5hHin2je8HlGmFndEoHpha5sDul,wi36yC;an,mo8O;h9Im4;alDSol3O;iD0on;f,ph;ul;e9CinC;cy,t1;aOeLhilJiFrCyoG;aDeC;m,st1;ka85v2O;eDoC;tr;r8GtC;er,ro;!ipCl6H;!p6U;dCLrcy,tC;ar,e9JrC;!o7;b9Udra8So9UscAHtri62ulCv8I;!ie,o7;ctav6Ji2lImHndrBRrGsDtCum6wB;is,to;aDc6k6m0vCwaBE;al79;ma;i,vR;ar,er;aDeksandr,ivC;er,i2;f,v;aNeLguyBiFoCu3O;aDel,j4l0ma0rC;beAm0;h,m;cFels,g5i9EkDlC;es,s;!au,h96l78olaC;!i,y;hCkCol76;ol75;al,d,il,ls1vC;ilAF;hom,tC;e,hC;anCy;!a5i5;aYeViLoGuDyC;l4Nr1;hamDr84staC;fa,p6E;ed,mG;di10e,hamEis4JntDritz,sCussa;es,he;e,y;ad,ed,mC;ad,ed;cGgu5hai,kFlEnDtchC;!e8O;a9Pik;house,o7t1;ae73eC3ha8Iolaj;ah,hDkC;!ey,y;aDeC;al,l;el,l;hDlv3rC;le,ri8Ev4T;di,met;ay0c00gn4hWjd,ks2NlTmadZnSrKsXtDuric7VxC;imilBKwe8B;eHhEi69tCus,y69;!eo,hCia7;ew,i67;eDiC;as,eu,s;us,w;j,o;cHiGkFlEqu8Qsha83tCv3;iCy;!m,n;in,on;el,o7us;a6Yo7us;!elCin,o7us;!l8o;frAEi5Zny,u5;achDcoCik;lm;ai,y;amDdi,e5VmC;oud;adCm6W;ou;aulCi9P;ay;aWeOiMloyd,oJuDyC;le,nd1;cFdEiDkCth2uk;a7e;gi,s,z;ov7Cv6Hw6H;!as,iC;a6Een;g0nn52renDuCvA4we7D;!iS;!zo;am,n4oC;n5r;a9Yevi,la5KnHoFst2thaEvC;eCi;nte;bo;nCpo8V;!a82el,id;!nC;aAy;mEnd1rDsz73urenCwr6K;ce,t;ry,s;ar,beAont;aOeIhalHiFla4onr63rDu5SylC;e,s;istCzysztof;i0oph2;er0ngsl9p,rC;ilA9k,ollos;ed,id;en0iGnDrmCv4Z;it;!dDnCt1;e2Ny;ri4Z;r,th;cp2j4mEna8BrDsp6them,uC;ri;im,l;al,il;a03eXiVoFuC;an,lCst3;en,iC;an,en,o,us;aQeOhKkub4AnIrGsDzC;ef;eDhCi9Yue;!ua;!f,ph;dCge;i,on;!aCny;h,s,th6J;anDnC;!ath6Hie,n72;!nC;!es;!l,sCy;ph;o,qu3;an,mC;!i,m6V;d,ffFns,rCs4;a7JemDmai7QoCry;me,ni1H;i9Fy;!e73rC;ey,y;cKdBkImHrEsDvi2yC;dBs1;on,p2;ed,oDrCv67;e6Qod;d,s61;al,es5Wis1;a,e,oCub;b,v;ob,qu13;aTbNchiMgLke53lija,nuKonut,rIsEtCv0;ai,suC;ki;aDha0i8ZmaCsac;el,il;ac,iaC;h,s;a,vinCw3;!g;k,nngu6X;nac1Xor;ka;ai,rahC;im;aReLoIuCyd6;beAgGmFsC;eyDsC;a3e3;in,n;ber5W;h,o;m2raDsse3wC;a5Pie;c49t1K;a0Qct3XiGnDrC;beAman08;dr7VrC;iCy2N;!k,q1R;n0Tt3S;bKlJmza,nIo,rEsDyC;a5KdB;an,s0;lEo67r2IuCv9;hi5Hki,tC;a,o;an,ey;k,s;!im;ib;a08e00iUlenToQrMuCyorgy;iHnFsC;!taC;f,vC;!e,o;n6tC;er,h2;do,lC;herDlC;auCerQ;me;aEegCov2;!g,orC;!io,y;dy,h7C;dfr9nza3XrDttfC;ri6C;an,d47;!n;acoGlEno,oCuseppe;rgiCvan6O;!o,s;be6Ies,lC;es;mo;oFrC;aDha4HrC;it,y;ld,rd8;ffErgC;!e7iCy;!os;!r9;bElBrCv3;eCla1Nr4Hth,y;th;e,rC;e3YielC;!i4;aXeSiQlOorrest,rCyod2E;aHedFiC;edDtC;s,z;ri18;!d42eri11riC;ck,k;nCs2;cEkC;ie,lC;in,yn;esLisC;!co,z3M;etch2oC;ri0yd;d5lConn;ip;deriFliEng,rC;dinaCg4nan0B;nd8;pe,x;co;bCdi,hd;iEriC;ce,zC;io;an,en,o;benez2dZfrYit0lTmMnJo3rFsteb0th0ugenEvCymBzra;an,eCge4D;ns,re3K;!e;gi,iDnCrol,v3w3;est8ie,st;cCk;!h,k;o0DriCzo;co,qC;ue;aHerGiDmC;aGe3A;lCrh0;!iC;a10o,s;s1y;nu5;beAd1iEliDm2t1viCwood;n,s;ot28s;!as,j5Jot,sC;ha;a3en;!dGg6mFoDua2QwC;a2Pin;arC;do;oZuZ;ie;a04eTiOmitrNoFrag0uEwDylC;an,l0;ay3Hig4D;a3Gdl9nc0st3;minFnDri0ugCvydGy2S;!lF;!a36nCov0;e1Eie,y;go,iDykC;as;cCk;!k;i,y;armuFetDll1mitri7neCon,rk;sh;er,m6riC;ch;id;andLepak,j0lbeAmetri4nIon,rGsEvDwCxt2;ay30ey;en,in;hawn,moC;nd;ek,riC;ck;is,nC;is,y;rt;re;an,le,mKnIrEvC;e,iC;!d;en,iEne0PrCyl;eCin,yl;l45n;n,o,us;!iCny;el,lo;iCon;an,en,on;a0Fe0Ch03iar0lRoJrFuDyrC;il,us;rtC;!is;aEistC;iaCob12;no;ig;dy,lInErC;ey,neliCy;s,us;nEor,rDstaC;nt3;ad;or;by,e,in,l3t1;aHeEiCyde;fCnt,ve;fo0Xt1;menDt4;us;s,t;rFuDyC;!t1;dCs;e,io;enC;ce;aHeGrisC;!toC;phCs;!eC;!r;st2t;d,rCs;b5leC;s,y;cDdrCs6;ic;il;lHmFrC;ey,lDroCy;ll;!o7t1;er1iC;lo;!eb,v3;a09eZiVjorn,laUoSrEuCyr1;ddy,rtKst2;er;aKeFiEuDyC;an,ce,on;ce,no;an,ce;nDtC;!t;dDtC;!on;an,on;dFnC;dDisC;lav;en,on;!foOl9y;bby,gd0rCyd;is;i0Lke;bElDshC;al;al,lL;ek;nIrCshoi;at,nEtC;!raC;m,nd;aDhaCie;rd;rd8;!iDjam3nCs1;ie,y;to;kaMlazs,nHrC;n9rDtC;!holomew;eCy;tt;ey;dCeD;ar,iC;le;ar1Pb1Dd16fon15gust3hm12i0Zja0Yl0Bm07nTputsiSrGsaFugustEveDyCziz;a0kh0;ry;o,us;hi;aMchiKiJjun,mHnEon,tCy0;em,hCie,ur8;ur;aDoC;!ld;ud,v;aCin;an,nd8;!el,ki;baCe;ld;ta;aq;aMdHgel8tCw6;hoFoC;iDnC;!i8y;ne;ny;er7rCy;eDzC;ej;!as,i,j,s,w;!s;s,tolC;iCy;!y;ar,iEmaCos;nu5r;el;ne,r,t;aVbSdBeJfHiGl01onFphonsEt1vC;aPin;on;e,o;so,zo;!sR;!onZrC;ed;c,jaHksFssaHxC;!andC;er,rC;e,os,u;andCei;ar,er,r;ndC;ro;en;eDrecC;ht;rt8;dd3in,n,sC;taC;ir;ni;dDm6;ar;an,en;ad,eC;d,t;in;so;aGi,olErDvC;ik;ian8;f8ph;!o;mCn;!a;dGeFraDuC;!bakr,lfazl;hCm;am;!l;allHelEoulaye,ulC;!lCrE;ah,o;! rC;ahm0;an;ah;av,on",Uncountable:"true¦0:2Z;1:2F;2:2M;3:34;4:3D;a2Xb2Oc2Cd25e1Uf1Qg1Hh19i14j11k0Zl0Um0Kn0Go0Fp06r02sNtBuran2Mv9w5you gu0H;a7his1Ai6oo5;d,l;ldlife,ne;rmAt2;apor,ernacul2Ci5;neg2Bol1Rtae;eFhDiCoAr6un5yranny;a,gst1E;aff2Rea1No6ue nor5;th;o0Bu5;bleshoot0se1Wt;night,othpas1Ywn5;foGsfoG;me off,n;er5und2;e,mod2V;a,nnis;aGcFeEhCiBkiAo9p8t6u5weepstak1;g1Xnshi2Kshi;ati0Be5;am,el;ace2Neci1;ap,cc2meth0;n,ttl1;lk;eep,ingl1o5;pp0r1E;lf,na1Iri1;ene1Misso1E;d0Yfe3l6nd,t5;i0Kurn;m1Wt;abi1e6ic5;e,ke17;c5i03laxa13search;ogni12rea12;aBeAhys9luto,o7re5ut3;amble,mis1s5ten22;en21s0N;l5rk;i2Al0GyJ; 18i4;a26tr0H;nt5rk0ti0O;i1s;bstetri4vercrowd0xyg0B;a7e6owada5utella;ys;ptu1Qws;il poli01tional securi3;aCeAo7u5;m5s1J;ps;n5o1M;ey,o5;gamy;a5cha0Glancholy,rchandi1Jtallurgy;sl1t;chine5g1Cj1Jrs,thema1S; learn0ry;aught2e8i7ogi6u5;ck,g14;c,s1O;ce,ghtn0nguis1NteratYv2;ath2isXss;ara0GindergartRn5;icke0Cowled10;e5upit2;a5llyfiIwel0I;ns;ce,gnor8mp7n5;forma02ter5;net,sta09;atiUort5rov;an1A;a9e8isto0Bo5ung2;ckey,mework,ne6o5rseradiAspitali3use arrest;ky;s3y;adquarteZre;ir,libut,ppiJs5;hi5te;sh;eneAl8o7r5um,ymnas13;a5e01;niWss;lf,re;ut5yce0H;en; 5ti4;edit0po5;ol;aPeel0icHlour,o6urnit5;ure;od,rgive5uri2wl;ness;arEcono0NducaDlectrBn9quipAthi4very8x5;ist6per5;ti0D;en0L;body,o0Ath0;joy5tertain5;ment;ici3o5;ni4;tiU;nings,th;emi04i8o6raugh5ynas3;ts;pe,wnstai5;rs;abet1ce,s5;hon01repu5;te;aFelciEhCivi4lAo5urrency;al,ld w8mmenta7n5ral,ttKuscoD;fusiJt 5;ed;ry;ar;assi4oth1;es;aos,e5;eOw0;us;d,rQ;aAi8lood,owl0read7u5;nt0tt2;er;!th;lliarLs5;on;g5ss;ga5;ge;cMdviLeroIirHmDn8ppeal court,r6spi5thleN;rin;ithmet5sen5;ic;i8y5;o6th0;ing;ne;se;en7n5;es3;ty;ds;craft;bi4d5nau9;yna5;mi4;ce;id,ous5;ti4;cs",Infinitive:"true¦0:9G;1:9T;2:AD;3:90;4:9Z;5:84;6:AH;7:A9;8:92;9:A0;A:AG;B:AI;C:9V;D:8R;E:8O;F:97;G:6H;H:7D;a94b8Hc7Jd68e4Zf4Mg4Gh4Ai3Qj3Nk3Kl3Bm34nou48o2Vp2Equ2Dr1Es0CtZuTvRwI;aOeNiLors5rI;eJiI;ng,te;ak,st3;d5e8TthI;draw,er;a2d,ep;i2ke,nIrn;d1t;aIie;liADniAry;nJpI;ho8Llift;cov1dJear8Hfound8DlIplug,rav82tie,ve94;eaAo3X;erIo;cut,go,staAFvalA3w2G;aSeQhNoMrIu73;aIe72;ffi3Smp3nsI;aBfo7CpI;i8oD;pp3ugh5;aJiJrIwaD;eat5i2;nk;aImA0;ch,se;ck3ilor,keImp1r8L;! paD;a0Ic0He0Fh0Bi0Al08mugg3n07o05p02qu01tUuLwI;aJeeIim;p,t5;ll7Wy;bNccMffLggeCmmKppJrI;mouFpa6Zvi2;o0re6Y;ari0on;er,i4;e7Numb;li9KmJsiIveD;de,st;er9it;aMe8MiKrI;ang3eIi2;ng27w;fIng;f5le;b,gg1rI;t3ve;a4AiA;a4UeJit,l7DoI;il,of;ak,nd;lIot7Kw;icEve;atGeak,i0O;aIi6;m,y;ft,ng,t;aKi6CoJriIun;nk,v6Q;ot,rt5;ke,rp5tt1;eIll,nd,que8Gv1w;!k,m;aven9ul8W;dd5tis1Iy;a0FeKiJoI;am,t,ut;d,p5;a0Ab08c06d05f01group,hea00iZjoi4lXmWnVpTq3MsOtMup,vI;amp,eJiIo3B;sEve;l,rI;e,t;i8rI;ie2ofE;eLiKpo8PtIurfa4;o24rI;aHiBuctu8;de,gn,st;mb3nt;el,hra0lIreseF;a4e71;d1ew,o07;aHe3Fo2;a7eFiIo6Jy;e2nq41ve;mbur0nf38;r0t;inKleBocus,rJuI;el,rbiA;aBeA;an4e;aBu4;ei2k8Bla43oIyc3;gni39nci3up,v1;oot,uI;ff;ct,d,liIp;se,ze;tt3viA;aAenGit,o7;aWerUinpoiFlumm1LoTrLuI;b47ke,niArIt;poDsuI;aFe;eMoI;cKd,fe4XhibEmo7noJpo0sp1tru6vI;e,i6o5L;un4;la3Nu8;aGclu6dJf1occupy,sup0JvI;a6BeF;etermi4TiB;aGllu7rtr5Ksse4Q;cei2fo4NiAmea7plex,sIva6;eve8iCua6;mp1rItrol,ve;a6It6E;bOccuNmEpMutLverIwe;l07sJtu6Yu0wI;helm;ee,h1F;gr5Cnu2Cpa4;era7i4Ipo0;py,r;ey,seItaH;r2ss;aMe0ViJoIultiply;leCu6Pw;micJnIspla4;ce,g3us;!k;iIke,na9;m,ntaH;aPeLiIo0u3N;e,ke,ng1quIv5;eIi6S;fy;aKnIss5;d,gI;th5;rn,ve;ng2Gu1N;eep,idnJnI;e4Cow;ap;oHuI;gg3xtaI;po0;gno8mVnIrk;cTdRfQgeChPitia7ju8q1CsNtKun6EvI;a6eIo11;nt,rt,st;erJimi6BoxiPrI;odu4u6;aBn,pr03ru6C;iCpi8tIu8;all,il,ruB;abEibE;eCo3Eu0;iIul9;ca7;i7lu6;b5Xmer0pI;aLer4Uin9ly,oJrI;e3Ais6Bo2;rt,se,veI;riA;le,rt;aLeKiIoiCuD;de,jaInd1;ck;ar,iT;mp1ng,pp5raIve;ng5Mss;ath1et,iMle27oLrI;aJeIow;et;b,pp3ze;!ve5A;gg3ve;aTer45i5RlSorMrJuI;lf4Cndrai0r48;eJiIolic;ght5;e0Qsh5;b3XeLfeEgJsI;a3Dee;eIi2;!t;clo0go,shIwa4Z;ad3F;att1ee,i36;lt1st5;a0OdEl0Mm0FnXquip,rWsVtGvTxI;aRcPeDhOiNpJtIu6;ing0Yol;eKi8lIo0un9;aHoI;it,re;ct,di7l;st,t;a3oDu3B;e30lI;a10u6;lt,mi28;alua7oI;ke,l2;chew,pou0tab19;a0u4U;aYcVdTfSgQhan4joy,lPqOrNsuMtKvI;e0YisI;a9i50;er,i4rI;aHenGuC;e,re;iGol0F;ui8;ar9iC;a9eIra2ulf;nd1;or4;ang1oIu8;r0w;irc3lo0ou0ErJuI;mb1;oaGy4D;b3ct;bKer9pI;hasiIow1;ze;aKody,rI;a4oiI;d1l;lm,rk;ap0eBuI;ci40de;rIt;ma0Rn;a0Re04iKo,rIwind3;aw,ed9oI;wn;agno0e,ff1g,mi2Kne,sLvI;eIul9;rIst;ge,t;aWbVcQlod9mant3pNru3TsMtI;iIoDu37;lJngI;uiA;!l;ol2ua6;eJlIo0ro2;a4ea0;n0r0;a2Xe36lKoIu0S;uIv1;ra9;aIo0;im;a3Kur0;b3rm;af5b01cVduBep5fUliTmQnOpMrLsiCtaGvI;eIol2;lop;ch;a20i2;aDiBloIoD;re,y;oIy;te,un4;eJoI;liA;an;mEv1;a4i0Ao06raud,y;ei2iMla8oKrI;ee,yI;!pt;de,mIup3;missi34po0;de,ma7ph1;aJrief,uI;g,nk;rk;mp5rk5uF;a0Dea0h0Ai09l08oKrIurta1G;a2ea7ipp3uI;mb3;ales4e04habEinci6ll03m00nIrro6;cXdUfQju8no7qu1sLtKvI;eIin4;ne,r9y;aHin2Bribu7;er2iLoli2Epi8tJuI;lt,me;itu7raH;in;d1st;eKiJoIroFu0;rm;de,gu8rm;ss;eJoI;ne;mn,n0;eIlu6ur;al,i2;buCe,men4pI;eIi3ly;l,te;eBi6u6;r4xiC;ean0iT;rcumveFte;eJirp,oI;o0p;riAw;ncIre5t1ulk;el;a02eSi6lQoPrKuI;iXrIy;st,y;aLeaKiJoad5;en;ng;stfeLtX;ke;il,l11mba0WrrMth1;eIow;ed;!coQfrie1LgPhMliLqueaKstJtrIwild1;ay;ow;th;e2tt3;a2eJoI;ld;ad;!in,ui3;me;bysEckfi8ff3tI;he;b15c0Rd0Iff0Ggree,l0Cm09n03ppZrXsQttOuMvJwaE;it;eDoI;id;rt;gIto0X;meF;aIeCraB;ch,in;pi8sJtoI;niA;aKeIi04u8;mb3rt,ss;le;il;re;g0Hi0ou0rI;an9i2;eaKly,oiFrI;ai0o2;nt;r,se;aMi0GnJtI;icipa7;eJoIul;un4y;al;ly0;aJu0;se;lga08ze;iKlI;e9oIu6;t,w;gn;ix,oI;rd;a03jNmiKoJsoI;rb;pt,rn;niIt;st1;er;ouJuC;st;rn;cLhie2knowled9quiItiva7;es4re;ce;ge;eQliOoKrJusI;e,tom;ue;mIst;moJpI;any,liA;da7;ma7;te;pt;andPduBet,i6oKsI;coKol2;ve;liArt,uI;nd;sh;de;ct;on",Person:"true¦0:1S;a2Bb21c1Od1Ge1Af17g15h0Ti0Sj0Pk0Ll0Im0Bn08o07p02rRsKtEusain bolt,vBw4xzibit,y1;anni,oko on2uji,v1;an,es;en,o;a5ednesday adams,i2o1;lfr3o0S;ll1z khalifa; ferrell,.i.1;am;lt disn1Qr1;hol,r0G;a2i1oltai06;n dies0Zrginia wo17;lentino rossi,n goG;a4h3i2ripp,u1yra banks;lZpac shakur;ger woods,mba07;eresa may,or;kashi,t1ylor;um,ya1B;a5carlett johanss0h4i3lobodan milosevic,no2ocr1Lpider1uperm0Fwami;-m0Em0E;op dogg,w whi1H;egfried,nbad;akespeaTerlock holm1Sia labeouf;ddam hussa16nt1;a cla11ig9;aAe6i5o3u1za;mi,n dmc,paul,sh limbau1;gh;bin hood,d stew16nald1thko;in0Mo;han0Yngo starr,valdo;ese witherspo0i1mbrandt;ll2nh1;old;ey,y;chmaninoff,ffi,iJshid,y roma1H;a4e3i2la16o1uff daddy;cahont0Ie;lar,p19;le,rZ;lm17ris hilt0;leg,prah winfr0Sra;a2e1iles cra1Bostradam0J; yo,l5tt06wmQ;pole0s;a5e4i2o1ubar03;by,lie5net,rriss0N;randa ju1tt romn0M;ly;rl0GssiaB;cklemo1rkov,s0ta hari,ya angelou;re;ady gaga,e1ibera0Pu;bron jam0Xch wale1e;sa;anye west,e3i1obe bryant;d cudi,efer suther1;la0P;ats,sha;a2effers0fk,k rowling,rr tolki1;en;ck the ripp0Mwaharlal nehru,y z;liTnez,ron m7;a7e5i3u1;lk hog5mphrey1sa01;! bog05;l1tl0H;de; m1dwig,nry 4;an;ile selassFlle ber4m3rrison1;! 1;ford;id,mo09;ry;ast0iannis,o1;odwPtye;ergus0lorence nightinga08r1;an1ederic chopN;s,z;ff5m2nya,ustaXzeki1;el;eril lagasse,i1;le zatop1nem;ek;ie;a6e4i2octor w1rake;ho;ck w1ego maradoC;olf;g1mi lovaOnzel washingt0;as;l1nHrth vadR;ai lNt0;a8h5lint0o1thulhu;n1olio;an,fuci1;us;on;aucKop2ristian baMy1;na;in;millo,ptain beefhe4r1;dinal wols2son1;! palmF;ey;art;a8e5hatt,i3oHro1;ck,n1;te;ll g1ng crosby;atB;ck,nazir bhut2rtil,yon1;ce;to;nksy,rack ob1;ama;l 6r3shton kutch2vril lavig8yn ra1;nd;er;chimed2istot1;le;es;capo2paci1;no;ne",Adjective:"true¦0:AI;1:BS;2:BI;3:BA;4:A8;5:84;6:AV;7:AN;8:AF;9:7H;A:BQ;B:AY;C:BC;D:BH;E:9Y;aA2b9Ec8Fd7We79f6Ng6Dh60i4Wj4Vk4Sl4Hm40n3Oo35p2Nquart7Pr2Cs1Dt14uSvOwFye28;aMeKhIiHoF;man5oFrth7G;dADzy;despreB1n w97s86;acked1HoleF;!sa6;ather1QeFll o70ste1D;!k5;nt1Jst6Ate4;aHeGiFola5S;bBUce versa,gi3Kle;ng67rsa5Q;ca1gBSluAV;lt0PnLpHrGsFttermoBL;ef9Ku3;b96ge1; Hb31pGsFtiAH;ca6et,ide d4Q;er,i85;f51to da2;a0Fbeco0Hc0Bd04e02f01gu1WheaBGiXkn4NmUnTopp06pRrNsJtHus0wF;aFiel3J;nt0rra0P;app0eXoF;ld,uS;eHi36o59pGuF;perv06spec38;e1ok9O;en,ttl0;eFu5;cogn06gul2QlGqu84sF;erv0olv0;at0en32;aFrecede0E;id,rallel0;am0otic0;aFet;rri0tF;ch0;nFq25vers3;sur0terFv7U;eFrupt0;st0;air,inish0orese98;mploy0n7Ov97xpF;ect0lain0;eHisFocume01ue;clFput0;os0;cid0rF;!a8Scov9ha8Jlyi8nea8Gprivileg0sMwF;aFei9I;t9y;hGircumcFonvin2T;is0;aFeck0;lleng0rt0;b1Zppea85ssuGttend0uthorF;iz0;mi8;i49ra;aLeIhoHip 24oGrF;anspare1encha1i2;geth9leADp notch,rpB;rny,ugh6H;ena8DmpGrFs6U;r48tia4;eCo8P;leFst4M;nt0;a0Cc08e06h05i03ki02l00mug,nobbi4XoWpSqueami4XtKuFymb94;bHccinAi generis,pFr5;erFre7N;! dup9b,vi70;du0li7Lp6IsFurb7J;eq9Atanda9X;aLeKi15o2PrGubboFy4Q;rn;aightGin5GungF; o2M; fFfF;or7U;adfa9Ori6;lwa6Etu81;arHeGir6MlendBot Fry;on;c3Oe1Q;k5se; call0lub6mb9phistic14rHuFviT;ndFth19;proof;dBry;e61ipF;pe4shod;ll0n d7S;g2HnF;ceEg6ist9;am3Te9;co1Zem5lfFn6Bre7; suf4Yi44;aGholFient3A;ar5;rlFt4B;et;cr0me,tisfac7G;aOeIheumatoBiGoF;bu90tt7Hy3;ghtFv3;-1Sf6Y;cJdu8QlInown0pro6AsGtF;ard0;is48oF;lu2na1;e1Suc46;alcit8Ye1ondi2;bBci3mpa1;aSePicayu7laOoNrGuF;bl7Unjabi,z36;eKiIoF;b7WfGmi4ApFxi2M;er,ort82;a7uD;maFor,sti7va2;!ry;ciDexis0Ima2CpaB;in56puli8H;cBid;ac2Znt 3JrFti2;ma41tFv7X;!i40;i2ZrFss7S;anoBtF;-5YiF;al,s5W;bSffQkPld OnMrLth9utKverF;!aIbMdHhGni76seas,t,wF;ei75rou75;a64e7B;ue;ll;do1Ger,si6B;d3Rg2Aotu60; bFbFe on o7g3Vli7;oa81;fashion0school;!ay; gua7YbFha5Vli7;eat;eHligGsF;ce7er0So1C;at0;diFse;a1e1;aOeNiMoGuF;anc0de; moEnHrthFt6W;!eFwe7M;a7Lrn;chaGdescri7Jprof31sF;top;la1;ght5;arby,cessa4ighbor5wlyw0xt;k0usiaFv3;ti8;aQeNiLoHuF;dIltiF;facet0p6;deHlGnFot,rbBst;ochro4Yth5;dy;rn,st;ddle ag0nF;dbloZi,or;ag9diocEga,naGrFtropolit4R;e,ry;ci8;cIgenta,inHj0Fkeshift,mmGnFri4Pscu62ver18;da5Ey;ali4Mo4V;!stream;abEho;aOeLiIoFumberi8;ngFuti1S;stan3StF;erm,i4I;ghtGteraF;l,ry,te;heart0wei5P;ft-JgFss9th3;al,eFi0M;nda4;nguBps0te5;apGind5noF;wi8;ut;ad0itte4uniW;ce co0Hgno6Nll0Cm04nHpso 2VrF;a2releF;va1; ZaYcoWdReQfOgrNhibi4Si05nMoLsHtFvalu5N;aAeF;nDrdepe2L;a7iGolFuboI;ub6ve1;de,gF;nifica1;rdi5O;a2er;own;eriIiLluenVrF;ar0eq5I;pt,rt;eHiGoFul1P;or;e,reA;fiFpe27termi5F;ni2;mpFnsideCrreA;le2;ccuCdeq5Fne,ppr4K;fFsitu,vitro;ro1;mJpF;arHeGl16oFrop9;li2r12;n2MrfeA;ti3;aGeFi19;d4CnD;tuE;egGiF;c0ZteC;al,iF;tiF;ma2;ld;aOelNiLoFuma7;a4meInHrrGsFur5;ti6;if4F;e59o3V; ma3HsF;ick;ghfalut2IspF;an4A;li01pf34;i4llow0ndGrdFtN; 06coEworki8;sy,y;aMener45iga3Clob3oLrGuF;il1Ong ho;aGea1GizF;zl0;cGtF;ef2Vis;ef2U;ld3Aod;iFuc2D;nf2R;aVeSiQlOoJrF;aGeFil5ug3;q43tf2O;gFnt3S;i6ra1;lk13oHrF; keeps,eFge0Vm9tu41;g0Ei2Ds3R;liF;sh;ag4Mowe4uF;e1or45;e4nF;al,i2;d Gmini7rF;ti6ve1;up;bl0lDmIr Fst pac0ux;oGreacF;hi8;ff;ed,ili0R;aXfVlTmQnOqu3rMthere3veryday,xF;aApIquisi2traHuF;be48lF;ta1;!va2L;edRlF;icF;it;eAstF;whi6; Famor0ough,tiE;rou2sui2;erGiF;ne1;ge1;dFe2Aoq34;er5;ficF;ie1;g9sF;t,ygF;oi8;er;aWeMiHoGrFue;ea4owY;ci6mina1ne,r31ti8ubQ;dact2Jfficult,m,sGverF;ge1se;creGePjoi1paCtF;a1inA;et,te; Nadp0WceMfiLgeneCliJmuEpeIreliAsGvoF;id,ut;pFtitu2ul1L;eCoF;nde1;ca2ghF;tf13;a1ni2;as0;facto;i5ngero0I;ar0Ce09h07i06l05oOrIuF;rmudgeon5stoma4teF;sy;ly;aIeHu1EystalF; cleFli7;ar;epy;fFv17z0;ty;erUgTloSmPnGrpoCunterclVveFy;rt;cLdJgr21jIsHtrF;aFi2;dic0Yry;eq1Yta1;oi1ug3;escenFuN;di8;a1QeFiD;it0;atoDmensuCpF;ass1SulF;so4;ni3ss3;e1niza1;ci1J;ockwiD;rcumspeAvil;eFintzy;e4wy;leGrtaF;in;ba2;diac,ef00;a00ePiLliJoGrFuck nak0;and new,isk,on22;gGldface,naF; fi05fi05;us;nd,tF;he;gGpartisFzarE;an;tiF;me;autifOhiNlLnHsFyoN;iWtselF;li8;eGiFt;gn;aFfi03;th;at0oF;v0w;nd;ul;ckwards,rF;e,rT; priori,b13c0Zd0Tf0Ng0Ihe0Hl09mp6nt06pZrTsQttracti0MuLvIwF;aGkF;wa1B;ke,re;ant garGeraF;ge;de;diIsteEtF;heFoimmu7;nt07;re;to4;hGlFtu2;eep;en;bitIchiv3roHtF;ifiFsy;ci3;ga1;ra4;ry;pFt;aHetizi8rF;oprF;ia2;llFre1;ed,i8;ng;iquFsy;at0e;ed;cohKiJkaHl,oGriFterX;ght;ne,of;li7;ne;ke,ve;olF;ic;ad;ain07gressiIi6rF;eeF;ab6;le;ve;fGraB;id;ectGlF;ue1;ioF;na2; JaIeGvF;erD;pt,qF;ua2;ma1;hoc,infinitum;cuCquiGtu3u2;al;esce1;ra2;erSjeAlPoNrKsGuF;nda1;e1olu2trF;aAuD;se;te;eaGuF;pt;st;aFve;rd;aFe;ze;ct;ra1;nt",Pronoun:"true¦'em,elle,h3i2me,she4th0us,we,you;e0ou;e,m,y;!l,t;e0im;!'s",Preposition:"true¦-,aPbMcLdKexcept,fIinGmid,notwithstandiWoDpXqua,sCt7u4v2w0;/o,hereSith0;! whHin,oW;ersus,i0;a,s-a-vis;n1p0;!on;like,til;h1ill,oward0;!s;an,ereby,r0;ough0u;!oM;ans,ince,o that,uch G;f1n0ut;!to;!f;! 0to;effect,part;or,r0;om;espite,own,u3;hez,irca;ar1e0oBy;sides,tween;ri7;bo8cross,ft7lo6m4propos,round,s1t0;!op;! 0;a whole,long 0;as;id0ong0;!st;ng;er;ut",SportsTeam:"true¦0:1A;1:1H;2:1G;a1Eb16c0Td0Kfc dallas,g0Ihouston 0Hindiana0Gjacksonville jagua0k0El0Bm01newToQpJqueens parkIreal salt lake,sAt5utah jazz,vancouver whitecaps,w3yW;ashington 3est ham0Rh10;natio1Oredski2wizar0W;ampa bay 6e5o3;ronto 3ttenham hotspur;blue ja0Mrapto0;nnessee tita2xasC;buccanee0ra0K;a7eattle 5heffield0Kporting kansas0Wt3;. louis 3oke0V;c1Frams;marine0s3;eah15ounG;cramento Rn 3;antonio spu0diego 3francisco gJjose earthquak1;char08paA; ran07;a8h5ittsburgh 4ortland t3;imbe0rail blaze0;pirat1steele0;il3oenix su2;adelphia 3li1;eagl1philNunE;dr1;akland 3klahoma city thunder,rlando magic;athle0Mrai3;de0; 3castle01;england 7orleans 6york 3;city fc,g4je0FknXme0Fred bul0Yy3;anke1;ian0D;pelica2sain0C;patrio0Brevolut3;ion;anchester Be9i3ontreal impact;ami 7lwaukee b6nnesota 3;t4u0Fvi3;kings;imberwolv1wi2;rewe0uc0K;dolphi2heat,marli2;mphis grizz3ts;li1;cXu08;a4eicesterVos angeles 3;clippe0dodDla9; galaxy,ke0;ansas city 3nE;chiefs,roya0E; pace0polis colU;astr06dynamo,rockeTtexa2;olden state warrio0reen bay pac3;ke0;.c.Aallas 7e3i05od5;nver 5troit 3;lio2pisto2ti3;ge0;broncZnuggeM;cowbo4maver3;ic00;ys; uQ;arCelKh8incinnati 6leveland 5ol3;orado r3umbus crew sc;api5ocki1;brow2cavalie0india2;bengaWre3;ds;arlotte horAicago 3;b4cubs,fire,wh3;iteB;ea0ulR;diff3olina panthe0; c3;ity;altimore 9lackburn rove0oston 5rooklyn 3uffalo bilN;ne3;ts;cel4red3; sox;tics;rs;oriol1rave2;rizona Ast8tlanta 3;brav1falco2h4u3;nited;aw9;ns;es;on villa,r3;os;c5di3;amondbac3;ks;ardi3;na3;ls",Unit:"true¦a09b06cZdYexXfTgRhePin00joule0DkMlJmDnan0AoCp9quart0Dsq ft,t7volts,w6y2ze3°1µ0;g,s;c,f,n;dXear1o0;ttT; 0s 0;old;att,b;erPon0;!ne04;ascals,e1i0;cZnt02;rcent,tL;hms,uI;/s,e4i0m²,²,³;/h,cro2l0;e0liM;!²;grNsT;gEtL;it1u0;menSx;erRreR;b5elvins,ilo1m0notQ;/h,ph,²;!byIgrGmEs;ct0rtzN;aLogrE;allonLb0ig5rD;ps;a2emtGl0t6; oz,uid ou0;nceH;hrenheit,radG;aby9;eci3m1;aratDe1m0oulombD;²,³;lsius,nti0;gr2lit1m0;et0;er8;am7;b1y0;te5;l,ps;c2tt0;os0;econd1;re0;!s",PhrasalVerb:"true¦0:92;1:96;2:8H;3:8V;4:8A;5:83;6:85;7:98;8:90;9:8G;A:8X;B:8R;C:8U;D:8S;E:70;F:97;G:8Y;H:81;I:7H;J:79;K:4G;a9Gb7Vc6Sd6Me6Kf5Ig51h4Ciron0j48k41l3Fm32n2Zo2Xp2Dquiet Hr1Ys0Lt00uYvacuu6RwOyammerBzL;ero Dip MonL;e0k0;by,ov9up;aReNhMiLor0Nrit1A;mp0n3Gpe0r5s5;ackAeel Di0T;aMiLn34;gh 3Xrd0;n Dr L;do1in,oJ;it 7Ak5lk Mrm 6Ash Lt84v60;aw3do1o7up;aw3in,oC;rgeBsL;e 2herE;a01eZhWiSoRrNuLypQ;ckErn L;do1in,oJup;aMiLot0y 31;ckl80p F;ck HdL;e 5Z;n7Xp 3Fs5K;ck NdMe Lghten 6me0p o0Sre0;aw3ba4do1in,up;e Iy 2;by,oG;ink Mrow L;aw3ba4in,up;ba4ov9up;aLe 78ll63;m 2r 5N;ckBke Mlk L;ov9shit,u48;aLba4do1in,leave,o66up;ba4ft9pa6Aw3;a0Wc0Ue0Nh0Ji0Gl0Am09n08o07p02quar5HtRuPwL;earNiL;ngMtch L;aw3ba4o8L; by;cLi6Cm 2ss0;k 65;aSeRiQoOrLud36;aigh2Eet76iL;ke 7Tng L;al6Zup;p Lrm2G;by,in,oG;cKnKr 2tc4O;p F;cKmp0nd MrLveAy 2P;e Ht 2M;ba4do1up;arKeOiNlMrLurB;ead0ingBuc5;a49it 6I;c5ll o3Dn 2;ak Fe1Yll0;aKber 2rt0und like;ap 5Wow Duggl5;ash 6Ooke0;eep OiLow 6;cMp L;o6Eup;e 69;in,oL;ff,v9;de1Agn 4OnLt 6Hz5;gLkE; al6Ble0;aNoLu5X;ot Lut0w 7N;aw3ba4f48oC;cKdeEk6FveA;e Qll1Ond Prv5tL; Ltl5K;do1foMin,o7upL;!on;ot,r60;aw3ba4do1in,o4Wup;oCto;al67out0rL;ap66ew 6K;ilAv5;aYeViToPuL;b 5Zle0n Lstl5;aMba4do1inLo2Jth4Ou5Q;!to;c2Xr8w3;ll Not MpeAuL;g3Ind18;a2Wf3Po7;ar8in,o7up;ng 69p oLs5;ff,p19;aLelAinEnt0;c6Id L;o3Oup;cKt0;a00eZiXlUoRrPsyc35uL;ll Nn5Lt L;aLba4do1in,oJto48up;pa4Ew3;a3Kdo1in,o22to46up;attleBess LiOop 2;ah2Fon;iMp Lr50u1Hwer 6O;do1in,o6Oup;nt0;aMuL;gEmp 6;ce u21y 6E;ck Lg0le 4Bn 6p5C;oJup;el 5OncilE;c54ir 3An0ss NtMy L;ba4oG; Hc2R;aw3ba4in,oJ;pLw4Z;e4Yt D;aMerd0oL;dAt54;il Hrrow H;aUeRiQoMuL;ddl5ll I;cKnkeyNp 6uthAve L;aLdo1in,o4Mup;l4Ow3; wi4L;ss0x 2;asur5e3TlMss L;a21up;t 6;ke Mn 6rLs2Ax0;k 6ryA;do,fun,oCsure,up;a03eWiRoMuL;ck0st I;aOc4Gg NoLse0;k Lse4E;aft9ba4do1forw38in57o10u47;in,oJ;d 6;e OghtNnMsLve 01;ten F;e 2k 2; 2e47;ar8do1in;aNt MvelL; oC;do1go,in,o7up;nEve L;in,oL;pLut;en;c5p 2sh MtchBughAy L;do1o5A;in4Qo7;eNick Mnock L;do1oCup;oCup;eMy L;in,up;l Ip L;aw3ba4do1f05in,oJto,up;aNoMuL;ic5mpE;ke3Tt H;c44zz 2;a02eXiUoQuL;nMrrLsh 6;y 2;keMt L;ar8do1;r H;lLneErse3L;d Le 2;ba4dLfast,o25up;ear,o1;de Mt L;ba4on,up;aw3o7;aLlp0;d Nl Ir Lt 2;fLof;rom;f11in,o1WuX;cKm 2nMsh0ve Lz2Q;at,it,to;d Mg LkerQ;do1in,o2Uup;do1in,oL;ut,v9;k 2;aZeUive Sloss IoNrMunL; f0S;ab hold,in44ow 2V; Lof 2J;aNb1Nit,oMr8th1JuL;nd9;ff,n,v9;bo7ft9hQw3;aw3bLdo1in,oJrise,up,w3;a4ir2I;ar 6ek0t L;aLb1Gdo1in,o1Dr8up;cMhLl2Hr8t,w3;ead;ross;d aLng 2;bo7;a0Fe08iZlVoRrNuL;ck Le2P;ar8up;eMighten LownBy 2;aw3oG;eLshe29; 2z5;g 2lNol Lrk I;aLwi22;bo7r8;d 6low 2;aMeLip0;sh0;g 6ke0mLrLtten H;e F;gSlQnOrMsLzzle0;h F;e Lm 2;aw3ba4up;d0isL;h 2;e Ll 1V;aw3fQin,o7;ht ba4ure0;eQnMsL;s 2;cNd L;fLoG;or;e D;d06l 2;cPll Lrm0t1I;aNbMdo1in,oLsho0Gth0Avictim;ff,ut,v9;a4ehi2P;pa0D;e L;do1oGup;at Ldge0nd 13y5;in,o7up;aPi1IoOrL;aMess 6op LuO;aw3b04in,oC;gBwB; Ile0ubl1C;m 2;a0Bh06l03oPrMut L;aw3ba4do1oCup;ackBeep MoLy0;ss Dwd0;by,do1in,o0Vup;me OoMuntL; o2B;k 6l L;do1oG;aSbRforPin,oOtLu0P;hMoLrue;geth9;rough;ff,n,ut,v9;th,wL;ard;a4y;paLr8w3;rt;eaMose L;in,oCup;n 6r F;aOeMiL;ll0pE;ck Der Lw F;on,up;t 2;lSncel0rPsNtch MveE; in;o1Oup;h Dt L;doubt,oG;ry MvL;e 09;aw3oJ;l Lm H;aMba4do1oJup;ff,n,ut;r8w3;a0We0NiteAl0Go05rRuL;bblOckl06il0Elk 6ndl06rMsLtNy FzzA;t 01;n 0IsL;t D;e I;ov9;anXeaViMush L;oGup;ghRng L;aOba4do1forNin,oMuL;nd9p;n,ut;th;bo7lLr8w3;ong;teL;n 2;k L;do1in,o7up;ch0;arUg 6iSn5oQrOssNttlMunce Lx D;aw3ba4;e 6; ar8;e H;do1;k Dt 2;e 2;l 6;do1up;d 2;aQeed0oLurt0;cNw L;aw3ba4do1o7up;ck;k L;in,oC;ck0nk0stA; oRaOef 2lt0nd L;do1ov9up;er;up;r Mt L;do1in,oCup;do1o7;ff,nL;to;ck Qil0nNrgMsL;h D;ainBe D;g DkB; on;in,o7;aw3do1in,oCup;ff,ut;ay;ct FdRir0sk NuctionA; oG;ff;ar8o7;ouL;nd; o7;d L;do1oLup;ff,n;wn;o7up;ut","Noun|Gerund":"true¦0:27;1:26;2:1X;3:1J;4:1Z;a25b1Oc1Cd16en14f0Yg0Wh0Ti0Rjog20k0Pl0Lm0In0Go0Cp05ques08rWsFtBu9volunt15w5y17zo2;a7ed1Si3or6r5;ap1Oest1Ci1;ki0r1O;i1r2s1Utc1U;nder5pri23;st1Mta4;al4e7hin4i6ra5y1J;c4di0i2v0Z;mi0p1H;a1Ys1;aKcHeGhEin1PkatClZmo4nowBpeAt8u6w5;ea3im1U;f02r5;fi0vi0J;a1Lretc1Ju5;d1BfJ;l0Xn1C;b6i0;eb5i0;oar19;ip15o5;rte2u1;a1r0At1;h6o3re5;a1He2;edu0Ooo0O;i0Nyi0;aCe8i11o6u5;li0n2;o5wi0;fi0;a7c6hear1Cnde3por1struct5;r1Au3;or0Vyc0G;di0so2;p0Qti0;aAeacek9la8o6r5ublis0X;a0Peten0Rin1oces16;iso2si5;tio2;n2yi0;ee0K;cka0Tin1rt0K;f7pe6rgani5vula1;si0zi0;ni0ra1;fe3;e5ur0W;gotia1twor4;a6e5i2onito3;e1ssa0L;nufactu3rke1;a7ea6i5od0Jyi0;cen0Qf1s1;r2si0;n09ug0E;i5n0J;c4lS;ci0magi2n5ro2;nova1terac1;andPea1i6o5un1;l03wO;ki0ri0;athe3rie5ui01;vi0;ar0CenHi7l6or5ros1unZ;ecas1mat1;ir1ooX;l6n5;anDdi0;i0li0;di0gin5;ee3;a8eba1irec1oub1r6umOw5;elB;awi0es04i5;n4vi0;n5ti0;ci0;aEelebra1hClAo7r5ur6;aw5osZ;li0;a6di0lo3mplai2n5o4pi0ve3;duc1sul1;cLti0;apCea3imHo5ubH;ni0tJ;a5ee3;n1t1;m8s1te3;ri0;aIeFitDlCoAr8u5;il8ll6r5;pi0;yi0;an5;di0;a1m5o4;bi0;esGoa1;c5i0;hi0;gin2lon5t1;gi0;ni0;bys6c4ki0;ki0;it1;c8dverti7gi0rg6ssu5;mi0;ui0;si0;coun1ti0;ti0;ng",ProperNoun:"true¦abid,barbie,c3e2f1iron maiden,kirby,m0nis,riel;ercedes,issy;lorence,ranco;lmo,uro;atalina,hristi","Person|Place":"true¦a8d6h4jordan,k3orlando,s1vi0;ctor9rgin9;a0ydney;lvador,mara,ntia4;ent,obe;amil0ous0;ton;arw2ie0;go;lexandr1ust0;in;ia",LastName:"true¦0:BT;1:BH;2:B7;3:BJ;4:AZ;5:A0;6:B8;7:BM;8:B2;9:AX;A:AN;B:8S;C:8I;D:7M;E:BO;F:AJ;aBFbA1c8Yd8Ae83f7Mg6Yh66i62j5Nk4Xl4Fm3Bn2Yo2Op25quispe,r1Ls0Pt0Ev03wTxSyKzG;aIhGimmerm6C;aGou,u;ng,o;khar5ytsE;aKeun9DiHoGun;koya34shiBW;!lG;diGmaz;rim,z;maGng;da,g54mo85sGzaC;aChiBX;iao,u;aLeJiHoGright,u;jcA7lff,ng;lGmm0nkl0sniewsC;kiB3liams35s3;bGiss,lt0;b,er,st0;a6Xgn0lHtG;anabe,s3;k0sh,tG;e2Pon;aLeKiHoGukD;gt,lk5roby5;dHllalGnogr3Mr1Css0val3U;ba,ob1W;al,ov4;lasHsel8Y;lJn dIrgBGsHzG;qu7;ilyEqu7siljE;en b6Cijk,yk;enzueAKverde;aPeix1VhKi2j8ka45oJrIsui,uG;om5WrG;c2n0un1;an,emblA9ynisC;dorAOlst3Mm4rrAth;atch0i8WoG;mHrG;are86laci7B;ps3sG;en,on;hirDkah9Onaka,te,varA;a06ch01eYhUiRmOoMtIuHvGzabo;en9Lobod3P;ar7bot4lliv2zuC;aIeHoG;i7Dj4CyanAD;ele,in2HpheBvens27;l8rm0;kol5lovy5re7Vsa,to,uG;ng,sa;iGy74;rn5tG;!h;l73mHnGrbu;at9cla9Ggh;moBo7O;aIeGimizu;hu,vchG;en8Nuk;la,r1I;gu9infe60mGoh,pulveA9rra5R;jGyG;on5;evi6iltz,miHneid0roed0uGwarz;be3Glz;dHtG;!t,z;!t;ar4Vh8ito,ka4QlJnGr4saCto,unde1Bv4;ch7dHtGz;a5Ne,os;b55e18;as,ihDm4Ro10;aVeSiPoJuHyG;a6oo,u;bio,iz,sG;so,u;bKc8Hdrigue69ge12jA0mJosevelt,sItHux,wG;e,li6;a9Eh;enb4Wsi;a56e4N;erts17i95;bei4LcHes,vGzzo;as,e9;ci,hards14;ag2es,iHut0yG;es,nol5P;s,t0;dImHnGsmu99v6E;tan1;ir7os;ic,u;aUeOhMiJoHrGut8;asad,if71ochazk29;lishc2IpGrti74u12we78;e3Cov53;cHe47nG;as,to;as72hl0;aGillips;k,m,n6K;a3Jde3Yete0Dna,rJtG;ersHrovGters56;!a,ic;!en,on;eGic,kiBss3;i9ra,tz,z;h88k,padopoulIrk0tHvG;ic,l4P;el,te3B;os;'NbMcOg2VlJnei6RrHsbor6ZweBzG;dem7Tturk;ella4FtGwe6P;ega,iz;iGof7Js8K;vGyn1T;ei9;aUri1;bri1cG;onn23;aPeNiJoGune50ym2;rHvGwak;ak4Qik5otn66;odahl,r4S;cholsZeHkolGls4Jx3;ic,ov84;ls1miG;!n1;ils3mG;co4Xec;gy,kaGray2sh,var38;jiGmu9shiG;ma;a07c04eZiWoMuHyeG;rs;lJnIrGssoli6S;atGp03r7C;i,ov4;oz,te58;d0l0;h2lOnNo0RrHsGza1A;er,s;aKeJiIoz5risHtG;e56on;!on;!n7K;au,i9no,t5J;!lA;r1Btgome59;i3El0;cracFhhail5kkeHlG;l0os64;ls1;hmeJiIj30lHn3Krci0ssiGyer2N;!er;n0Po;er,j0;dDti;cartHlG;aughl8e2;hy;dQe7Egnu68i0jer3TkPmNnMrItHyG;er,r;ei,ic,su21thews;iHkDquAroqu8tinG;ez,s;a5Xc,nG;!o;ci5Vn;a5UmG;ad5;ar5e6Kin1;rig77s1;aVeOiLoJuHyG;!nch;k4nGo;d,gu;mbarGpe3Fvr4we;di;!nGu,yana2B;coln,dG;b21holm,strom;bedEfeKhIitn0kaHn8rGw35;oy;!j;m11tG;in1on1;bvGvG;re;iGmmy,ng,rs2Qu,voie,ws3;ne,t1F;aZeYh2iWlUnez50oNrJuHvar2woG;k,n;cerGmar68znets5;a,o34;aHem0isGyeziu;h23t3O;m0sni4Fus3KvG;ch4O;bay57ch,rh0Usk16vaIwalGzl5;czGsC;yk;cIlG;!cGen4K;huk;!ev4ic,s;e8uiveG;rt;eff0kGl4mu9nnun1;ucF;ll0nnedy;hn,llKminsCne,pIrHstra3Qto,ur,yGzl5;a,s0;j0Rls22;l2oG;or;oe;aPenOha6im14oHuG;ng,r4;e32hInHrge32u6vG;anD;es,ss3;anHnsG;en,on,t3;nesGs1R;en,s1;kiBnings,s1;cJkob4EnGrv0E;kDsG;en,sG;en0Ion;ks3obs2A;brahimDglesi5Nke5Fl0Qno07oneIshikHto,vanoG;u,v54;awa;scu;aVeOiNjaltal8oIrist50uG;!aGb0ghAynh;m2ng;a6dz4fIjgaa3Hk,lHpUrGwe,x3X;ak1Gvat;mAt;er,fm3WmG;ann;ggiBtchcock;iJmingw4BnHrGss;nand7re9;deGriks1;rs3;kkiHnG;on1;la,n1;dz4g1lvoQmOns0ZqNrMsJuIwHyG;asFes;kiB;g1ng;anHhiG;mo14;i,ov0J;di6p0r10t;ue;alaG;in1;rs1;aVeorgUheorghe,iSjonRoLrJuGw3;errGnnar3Co,staf3Ctierr7zm2;a,eG;ro;ayli6ee2Lg4iffithGub0;!s;lIme0UnHodGrbachE;e,m2;calvAzale0S;dGubE;bGs0E;erg;aj,i;bs3l,mGordaO;en7;iev3U;gnMlJmaIndFo,rGsFuthi0;cGdn0za;ia;ge;eaHlG;agh0i,o;no;e,on;aVerQiLjeldsted,lKoIrHuG;chs,entAji41ll0;eem2iedm2;ntaGrt8urni0wl0;na;emi6orA;lipIsHtzgeraG;ld;ch0h0;ovG;!ic;hatDnanIrG;arGei9;a,i;deY;ov4;b0rre1D;dKinsJriksIsGvaB;cob3GpGtra3D;inoza,osiQ;en,s3;te8;er,is3warG;ds;aXePiNjurhuMoKrisco15uHvorakG;!oT;arte,boHmitru,nn,rGt3C;and,ic;is;g2he0Omingu7nErd1ItG;to;us;aGcki2Hmitr2Ossanayake,x3;s,z; JbnaIlHmirGrvisFvi,w2;!ov4;gado,ic;th;bo0groot,jo6lHsilGvriA;va;a cruz,e3uG;ca;hl,mcevsCnIt2WviG;dGes,s;ov,s3;ielsGku22;!en;ki;a0Be06hRiobQlarkPoIrGunningh1H;awfo0RivGuz;elli;h1lKntJoIrGs2Nx;byn,reG;a,ia;ke,p0;i,rer2K;em2liB;ns;!e;anu;aOeMiu,oIristGu6we;eGiaG;ns1;i,ng,p9uHwGy;!dH;dGng;huJ;!n,onGu6;!g;kJnIpm2ttHudhGv7;ry;erjee,o14;!d,g;ma,raboG;rty;bJl0Cng4rG;eghetHnG;a,y;ti;an,ota1C;cerAlder3mpbeLrIstGvadi0B;iGro;llo;doHl0Er,t0uGvalho;so;so,zo;ll;a0Fe01hYiXlUoNrKuIyG;rLtyG;qi;chan2rG;ke,ns;ank5iem,oGyant;oks,wG;ne;gdan5nIruya,su,uchaHyKziG;c,n5;rd;darGik;enG;ko;ov;aGond15;nco,zG;ev4;ancFshw16;a08oGuiy2;umGwmG;ik;ckRethov1gu,ktPnNrG;gJisInG;ascoGds1;ni;ha;er,mG;anG;!n;gtGit7nP;ss3;asF;hi;er,hG;am;b4ch,ez,hRiley,kk0ldw8nMrIshHtAu0;es;ir;bInHtlGua;ett;es,i0;ieYosa;dGik;a9yoG;padhyG;ay;ra;k,ng;ic;bb0Acos09d07g04kht05lZnPrLsl2tJyG;aHd8;in;la;chis3kiG;ns3;aImstro6sl2;an;ng;ujo,ya;dJgelHsaG;ri;ovG;!a;ersJov,reG;aGjEws;ss1;en;en,on,s3;on;eksejEiyEmeiIvG;ar7es;ez;da;ev;arwHuilG;ar;al;ams,l0;er;ta;as",Ordinal:"true¦eBf7nin5s3t0zeroE;enDhir1we0;lfCn7;d,t3;e0ixt8;cond,vent7;et0th;e6ie7;i2o0;r0urt3;tie4;ft1rst;ight0lev1;e0h,ie1;en0;th",Cardinal:"true¦bEeBf5mEnine7one,s4t0zero;en,h2rDw0;e0o;lve,n5;irt6ousands,ree;even2ix2;i3o0;r1ur0;!t2;ty;ft0ve;e2y;ight0lev1;!e0y;en;illions",Multiple:"true¦b3hundred,m3qu2se1t0;housand,r2;pt1xt1;adr0int0;illion",City:"true¦0:74;1:61;2:6G;3:6J;4:5S;a68b53c4Id48e44f3Wg3Hh39i31j2Wk2Fl23m1Mn1Co19p0Wq0Ur0Os05tRuQvLwDxiBy9z5;a7h5i4Muri4O;a5e5ongsh0;ng3H;greb,nzib5G;ang2e5okoha3Sunfu;katerin3Hrev0;a5n0Q;m5Hn;arsBeAi6roclBu5;h0xi,zh5P;c7n5;d5nipeg,terth4;hoek,s1L;hi5Zkl3A;l63xford;aw;a8e6i5ladivost5Molgogr6L;en3lni6S;ni22r5;o3saill4N;lenc4Wncouv3Sr3ughn;lan bat1Crumqi,trecht;aFbilisi,eEheDiBo9r7u5;l21n63r5;in,ku;i5ondh62;es51poli;kyo,m2Zron1Pulo5;n,uS;an5jua3l2Tmisoa6Bra3;j4Tshui; hag62ssaloni2H;gucigal26hr0l av1U;briz,i6llinn,mpe56ng5rtu,shk2R;i3Esh0;an,chu1n0p2Eyu0;aEeDh8kopje,owe1Gt7u5;ra5zh4X;ba0Ht;aten is55ockholm,rasbou67uttga2V;an8e6i5;jiazhua1llo1m5Xy0;f50n5;ya1zh4H;gh3Kt4Q;att45o1Vv44;cramen16int ClBn5o paulo,ppo3Rrajevo; 7aa,t5;a 5o domin3E;a3fe,m1M;antonio,die3Cfrancisco,j5ped3Nsalvad0J;o5u0;se;em,t lake ci5Fz25;lou58peters24;a9e8i6o5;me,t59;ga,o5yadh;! de janei3F;cife,ims,nn3Jykjavik;b4Sip4lei2Inc2Pwalpindi;ingdao,u5;ez2i0Q;aFeEhDiCo9r7u6yong5;ya1;eb59ya1;a5etor3M;g52to;rt5zn0; 5la4Co;au prin0Melizabe24sa03;ls3Prae5Atts26;iladelph3Gnom pe1Aoenix;ki1r21tah tik3E;dua,lerYnaji,r4Ot5;na,r32;ak44des0Km1Mr6s5ttawa;a3Vlo;an,d06;a7ew5ing2Fovosibir1Jyc; 5cast36;del24orlea44taip14;g8iro4Wn5pl2Wshv33v0;ch6ji1t5;es,o1;a1o1;a6o5p4;ya;no,sa0W;aEeCi9o6u5;mb2Ani26sc3Y;gadishu,nt6s5;c13ul;evideo,pelli1Rre2Z;ami,l6n14s5;kolc,sissauga;an,waukee;cca,d5lbour2Mmph41ndo1Cssi3;an,ell2Xi3;cau,drAkass2Sl9n8r5shh4A;aca6ib5rakesh,se2L;or;i1Sy;a4EchFdal0Zi47;mo;id;aDeAi8o6u5vSy2;anMckn0Odhia3;n5s angel26;d2g bea1N;brev2Be3Lma5nz,sb2verpo28;!ss27; ma39i5;c5pzig;est16; p6g5ho2Wn0Cusan24;os;az,la33;aHharFiClaipeBo9rak0Du7y5;iv,o5;to;ala lump4n5;mi1sh0;hi0Hlka2Xpavog4si5wlo2;ce;da;ev,n5rkuk;gst2sha5;sa;k5toum;iv;bHdu3llakuric0Qmpa3Fn6ohsiu1ra5un1Iwaguc0Q;c0Pj;d5o,p4;ah1Ty;a7e6i5ohannesV;l1Vn0;dd36rusalem;ip4k5;ar2H;bad0mph1OnArkutUs7taXz5;mir,tapala5;pa;fah0l6tanb5;ul;am2Zi2H;che2d5;ianap2Mo20;aAe7o5yder2W; chi mi5ms,nolulu;nh;f6lsin5rakli2;ki;ei;ifa,lifax,mCn5rb1Dva3;g8nov01oi;aFdanEenDhCiPlasgBo9raz,u5;a5jr23;dal6ng5yaquil;zh1J;aja2Oupe;ld coa1Bthen5;bu2S;ow;ent;e0Uoa;sk;lw7n5za;dhi5gt1E;nag0U;ay;aisal29es,o8r6ukuya5;ma;ankfu5esno;rt;rt5sh0; wor6ale5;za;th;d5indhov0Pl paso;in5mont2;bur5;gh;aBe8ha0Xisp4o7resd0Lu5;b5esseldorf,nkirk,rb0shanbe;ai,l0I;ha,nggu0rtmu13;hradSl6nv5troit;er;hi;donghIe6k09l5masc1Zr es sala1KugavpiY;i0lU;gu,je2;aJebu,hAleve0Vo5raio02uriti1Q;lo7n6penhag0Ar5;do1Ok;akKst0V;gUm5;bo;aBen8i6ongqi1ristchur5;ch;ang m7ca5ttago1;go;g6n5;ai;du,zho1;ng5ttogr14;ch8sha,zh07;gliari,i9lga8mayenJn6pe town,r5tanO;acCdiff;ber1Ac5;un;ry;ro;aWeNhKirmingh0WoJr9u5;chareTdapeTenos air7r5s0tu0;g5sa;as;es;a9is6usse5;ls;ba6t5;ol;ne;sil8tisla7zzav5;il5;le;va;ia;goZst2;op6ubaneshw5;ar;al;iCl9ng8r5;g6l5n;in;en;aluru,hazi;fa6grade,o horizon5;te;st;ji1rut;ghd0BkFn9ot8r7s6yan n4;ur;el,r07;celo3i,ranquil09;ou;du1g6ja lu5;ka;alo6k5;ok;re;ng;ers5u;field;a05b02cc01ddis aba00gartaZhmedXizawl,lSmPnHqa00rEsBt7uck5;la5;nd;he7l5;an5;ta;ns;h5unci2;dod,gab5;at;li5;ngt2;on;a8c5kaOtwerp;hora6o3;na;ge;h7p5;ol5;is;eim;aravati,m0s5;terd5;am; 7buquerq6eppo,giers,ma5;ty;ue;basrah al qadim5mawsil al jadid5;ah;ab5;ad;la;ba;ra;idj0u dha5;bi;an;lbo6rh5;us;rg",Region:"true¦0:2K;1:2Q;2:2H;3:2B;a2Ob2Bc1Xd1Ses1Rf1Pg1Kh1Gi1Bj17k12l0Zm0On06o04pYqVrSsJtEuBverAw6y4zacatec2S;akut0o0Cu4;cat2k06;a5est 4isconsin,yomi1K;bengal,virgin0;rwick3shington4;! dc;acruz,mont;dmurt0t4;ah,tar4; 2La0Y;a6e5laxca1Rripu1Xu4;scaEva;langa1nnessee,x2F;bas0Wm4smOtar25;aulip2Dil nadu;a9i7o5taf12u4ylh1F;ffZrr05s1A;me1Cno1Quth 4;cWdV;ber0c4kkim,naloa;hu2ily;n5skatchew2xo4;ny; luis potosi,ta catari1;a4hodeA;j4ngp08;asth2shahi;ingh25u4;e4intana roo;bec,en6retaro;ara8e6rince edward4unjab; i4;sl0C;i,nnsylv4rnambu0C;an0;!na;axa0Ydisha,h4klaho20ntar4reg7ss0Cx0H;io;aKeEo6u4;evo le4nav0W;on;r4tt17va scot0;f9mandy,th4; 4ampton3;c6d5yo4;rk3;ako1N;aroli1;olk;bras1Mva0Cw4; 5foundland4;! and labrador;brunswick,hamp3jers5mexiTyork4;! state;ey;galPyarit;aAeghala0Mi6o4;nta1r4;dov0elos;ch6dlanDn5ss4zor11;issippi,ouri;as geraPneso18;ig2oac2;dhy12harasht0Gine,ni5r4ssachusetts;anhao,i el,ylG;p4toba;ur;anca3e4incoln3ouisI;e4iR;ds;a6e5h4omi;aka06ul1;ntucky,ra01;bardino,lmyk0ns0Qr4;achay,el0nata0X;alis6har4iangxi;kh4;and;co;daho,llino7n4owa;d5gush4;et0;ia1;is;a6ert5i4un2;dalFm0D;ford3;mp3rya1waii;ansu,eorg0lou7oa,u4;an4izhou,jarat;ajuato,gdo4;ng;cester3;lori4uji2;da;sex;ageUe7o5uran4;go;rs4;et;lawaMrby3;aFeaEh9o4rimea ,umbr0;ahui7l6nnectic5rsi4ventry;ca;ut;i03orado;la;e5hattisgarh,i4uvash0;apRhuahua;chn5rke4;ss0;ya;ra;lGm4;bridge3peche;a9ihar,r8u4;ck4ryat0;ingham3;shi4;re;emen,itish columb0;h0ja cal8lk7s4v7;hkorto4que;st2;an;ar0;iforn0;ia;dygea,guascalientes,lBndhr9r5ss4;am;izo1kans5un4;achal 7;as;na;a 4;pradesh;a6ber5t4;ai;ta;ba5s4;ka;ma",Country:"true¦0:39;1:2M;a2Xb2Ec22d1Ye1Sf1Mg1Ch1Ai14j12k0Zl0Um0Gn05om3DpZqat1KrXsKtCu6v4wal3yemTz2;a25imbabwe;es,lis and futu2Y;a2enezue32ietnam;nuatu,tican city;.5gTkraiZnited 3ruXs2zbeE;a,sr;arab emirat0Kkingdom,states2;! of am2Y;k.,s.2; 28a.;a7haBimor-les0Bo6rinidad4u2;nis0rk2valu;ey,me2Ys and caic1U; and 2-2;toba1K;go,kel0Znga;iw2Wji2nz2S;ki2U;aCcotl1eBi8lov7o5pa2Cri lanka,u4w2yr0;az2ed9itzerl1;il1;d2Rriname;lomon1Wmal0uth 2;afr2JkLsud2P;ak0en0;erra leoEn2;gapo1Xt maart2;en;negKrb0ychellY;int 2moa,n marino,udi arab0;hele25luc0mart20;epublic of ir0Dom2Duss0w2;an26;a3eHhilippinTitcairn1Lo2uerto riM;l1rtugE;ki2Cl3nama,pua new0Ura2;gu6;au,esti2;ne;aAe8i6or2;folk1Hth3w2;ay; k2ern mariana1C;or0N;caragua,ger2ue;!ia;p2ther19w zeal1;al;mib0u2;ru;a6exi5icro0Ao2yanm05;ldova,n2roc4zamb9;a3gol0t2;enegro,serrat;co;c9dagasc00l6r4urit3yot2;te;an0i15;shall0Wtin2;ique;a3div2i,ta;es;wi,ys0;ao,ed01;a5e4i2uxembourg;b2echtenste11thu1F;er0ya;ban0Hsotho;os,tv0;azakh1Ee3iriba03o2uwait,yrgyz1E;rWsovo;eling0Jnya;a2erF;ma15p1B;c6nd5r3s2taly,vory coast;le of m19rael;a2el1;n,q;ia,oI;el1;aiSon2ungary;dur0Mg kong;aAermany,ha0Pibralt9re7u2;a5ern4inea2ya0O;!-biss2;au;sey;deloupe,m,tema0P;e2na0M;ce,nl1;ar;bTmb0;a6i5r2;ance,ench 2;guia0Dpoly2;nes0;ji,nl1;lklandTroeT;ast tim6cu5gypt,l salv5ngl1quatorial3ritr4st2thiop0;on0; guin2;ea;ad2;or;enmark,jibou4ominica3r con2;go;!n B;ti;aAentral african 9h7o4roat0u3yprQzech2; 8ia;ba,racao;c3lo2morPngo-brazzaville,okFsta r03te d'ivoiK;mb0;osD;i2ristmasF;le,na;republic;m2naTpe verde,yman9;bod0ero2;on;aFeChut00o8r4u2;lgar0r2;kina faso,ma,undi;azil,itish 2unei;virgin2; is2;lands;liv0nai4snia and herzegoviGtswaGuvet2; isl1;and;re;l2n7rmuF;ar2gium,ize;us;h3ngladesh,rbad2;os;am3ra2;in;as;fghaFlCmAn5r3ustr2zerbaijH;al0ia;genti2men0uba;na;dorra,g4t2;arct6igua and barbu2;da;o2uil2;la;er2;ica;b2ger0;an0;ia;ni2;st2;an",Place:"true¦a0Eb0Ac03d02e01f00gWhUiSkQlNmLnIorHpDrCsAt5u4v3w2y0;a0yz;kutPngtze;ake isHupatki;irgin islands,ostok;laanbaatar,p02;a3eotihuac0Fh1onto,sarskoe selo,u0;lXzigoot;am07e 0;bronx,hamptons;hiti,j mahE;a0cotts bluff,eine,fo,oho,under9;int lawrence river,khalX;ed s3io grande;a1ek,h0itcairn,ompeii;l,x;cif03pahanaumokuak0rthenW;ea;ange county,d,inoco;e0ile;uschwanstePw eng0;land;a0co,ekong,idLuc;chu picchu,gadYlibu,nhattY;a1gw,hr,incoln memori0;al;s,x;azan kremlIosrae,rasnoyar0ul;sk;ax,cn,nd0st;ianQochina;arlem,kg,nd,ov0;d,enweep;a2odavari,re0;at 0enwich;britaAlakG;ngFy village;co,ra;urope,vergladD;anube,en,fw,own4xb;arrizo pla5dg,edar breaks,gk,h1lt,olosse0;um;a2i0uuk;chen itza,mney rock,na0ricahua;town;morro,tham;in;cn,e2kk,ro0;oklyn,wns cany0;on;l air,verly hills;driadic,frica,lhambra,m7n3rc2sia,tl1zor0;es;!ant2; de triomphe,t1;adyr,tarct0;ic0; oce0;an;ericas,s",FirstName:"true¦aTblair,cQdOfrancoZgabMhinaLilya,jHkClBm6ni4quinn,re3s0;h0umit,yd;ay,e0iloh;a,lby;g9ne;co,ko0;!s;a1el0ina,org6;!okuhF;ds,naia,r1tt0xiB;i,y;ion,lo;ashawn,eif,uca;a3e1ir0rM;an;lsFn0rry;dall,yat5;i,sD;a0essIie,ude;i1m0;ie,mG;me;ta;rie0y;le;arcy,ev0;an,on;as1h0;arl8eyenne;ey,sidy;drien,kira,l4nd1ubr0vi;ey;i,r0;a,e0;a,y;ex2f1o0;is;ie;ei,is",WeekDay:"true¦fri2mon2s1t0wednesd3;hurs1ues1;aturd1und1;!d0;ay0;!s",Month:"true¦dec0february,july,nov0octo1sept0;em0;ber",Date:"true¦ago,on4som4t1week0yesterd5; end,ends;mr1o0;d2morrow;!w;ed0;ay",Duration:"true¦centurAd8h7m5q4se3w1y0;ear8r8;eek0k7;!end,s;ason,c5;tr,uarter;i0onth3;llisecond2nute2;our1r1;ay0ecade0;!s;ies,y",FemaleName:"true¦0:JA;1:JE;2:IM;3:IN;4:J4;5:IR;6:JV;7:JR;8:HE;9:JN;A:H7;B:I5;C:IW;D:JK;E:J0;F:BD;G:I7;aGWbFOcDUdD3eBPfB7gAGh9Wi9Jj8Gk7Fl5Zm48n3Lo3Hp33qu32r29s15t0Eu0Cv02wVxiTyOzH;aLeIineb,oHsof3;e3Sf3la,ra;h2iKlIna,ynH;ab,ep;da,ma;da,h2iHra;nab;aKeJi0FolBAuIvH;et8onDS;i0na;le0sen3;el,gm3Hn,rGOs8Z;aoHme0nyi;m60yAG;aMendE2hiDJiH;dele9lJnH;if48niHo0;e,f47;a,helmi0lHma;a,ow;ka0nB;aNeKiHusa5;ck87kIl8oleAviH;anFenJ7;ky,toriBN;da,lABrHs0;a,nHoniHC;a,iFU;leHnesHC;nIOrH;i1y;g9rHs6xHD;su5te;aYeUhRiNoLrIuHy2;i,la;acJ6iHu0J;c3na,sH;hFta;nHr0F;iFya;aJffaERnHs6;a,gtiH;ng;!nFVra;aIeHomasi0;a,l9Ro8Dres1;l3ndolwethu;g9Io8BrIssH;!a,ie;eHi,ri7;sa,za;bOlMmKnIrHs6tia0wa0;a63yn;iHya;a,ka,s6;arFe2iHm7Ara;!ka;a,iH;a,t6;at6it6;a0Ecarlett,e0AhWiSkye,neza0oQri,tNuIyH;bIJlvi1;ha,mayIMniAsIzH;an3Net8ie,y;anHi7;!a,e,nH;aCe;aIeH;fan4l5Gphan6H;cI8r5;b3fiADm0LnHphi1;d2ia,ja,ya;er2lJmon1nIobh8TtH;a,i;dy;lEWv3;aMeIirHo0risFGy5;a,lDP;ba,e0i5lJrH;iHr6Myl;!d8Lfa;ia,lE2;hd,iMki2nJrIu0w0yH;la,ma,na;i,le9on,ron,yn;aIda,ia,nHon;a,on;!ya;k6mH;!aa;lJrItaye85vH;da,inj;e0ife;en1i0ma;anACbLd5Rh1SiBkKlJmInd2rHs6vannaC;aCi0;ant6i2;lDRma,ome;ee0in8Wu2;in1ri0;a05eZhXiUoHuthDP;bScRghQl8OnPsJwIxH;anB6ie,y;an,e0;aIeHie,lD; merBUann7ll1marDJtA;!lHnn1;iHyn;e,nH;a,dF;da,i,na;ayy8J;hel6Aio;bDUerAyn;a,cIkHmas,nFta,ya;ki,o;h90ki;ea,iannGPoH;da,n1P;an0bJemFgi0iInHta,y0;a8Eee;han89na;a,eH;cHkaC;a,ca;bi0chIe,i0mo0nHquEWy0;di,ia;aEUelHiB;!e,le;een4ia0;aPeOhMiLoJrHute6D;iHudenCY;scil3OyamvaB;lHrt3;i0ly;a,paluk;ilome0oebe,ylH;is,lis;ggy,nelope,r5t2;ige,m0VnKo5rvaDPtIulH;a,et8in1;ricHt4W;a,e,ia;do2i07;ctav3dIfD6is6ksa0lHphD6umC8yunbileg;a,ga,iv3;eHvAI;l3t8;aWeUiMoIurHy5;!ay,ul;a,eJor,rIuH;f,r;aCeEma;ll1mi;aNcLhariBTkKlaJna,sHta,vi;anHha;ur;!y;a,iE2ki;hoGkA1olH;a,e4S;!mh;hir,lHna,risDHsreE;!a,lBY;asuMdLh3i6Gl5nKomi7rgEYtHzanin zah2;aHhal4;lHs6;i1ya;cy,et8;e9iF3ya;nngu30;a0Ackenz4e02iMoJrignayani,uriDMyH;a,rH;a,iOlNna,tG;bi0i2llBMnH;a,iH;ca,ka,qDC;a,cUdo52kaTlOmi,nMrItzi,yH;ar;aJiIlH;anEW;am;!l,nB;dy,eHh,n4;nhGrva;aKdJe0iCXlH;iHy;cent,e;red;!gros;!e5;ae5hH;ae5el42;ag5GgNi,lKrH;edi7DiIjem,on,yH;em,l;em,sCJ;an4iHliCI;nHsCM;a,da;!an,han;b0CcAVd0Ae,g08ha,i07ja,l05n03rLsoum61tKuIv87xBNyHz4;bell,ra,soBE;d7rH;a,eE;h8Jild1t4;a,cXgTiKjor4l7Xn4s6tJwa,yH;!aHbe70ja9lAH;m,nBO;a,ha,in1;!aJbCJeIja,lDna,sHt66;!a,ol,sa;!l1G;! Jh,mInH;!a,e,n1;!awit,i;aliALcIeduarBfern5HjHlui60;o6Jul3;ecil3la2;arJeIie,oHr48ueri8;!t;!ry;et46i3B;el4Xi7Cy;dHon,ue5;akranAy;ak,en,iHlo3S;a,ka,nB;a,re,s4te;daHg4;!l3E;alDd4elHge,isDJon0;ei9in1yn;el,le;a0Ne0CiXoQuLyH;d3la,nH;!a,dIe2OnHsCT;!a,e2N;a,sCR;aD4cJel0Pis1lIna,pHz;e,iA;a,u,wa;iHy;a0Se,ja,l2NnB;is,l1UrItt1LuHvel4;el5is1;aKeIi7na,rH;aADi7;lHn1tA;ei;!in1;aTbb9HdSepa,lNnKsJvIzH;!a,be5Ret8z4;!ia;a,et8;!a,dH;a,sHy;ay,ey,i,y;a,iJja,lH;iHy;aA8e;!aH;!nF;ia,ya;!nH;!a,ne;aPda,e0iNjYla,nMoKsJtHx93y5;iHt4;c3t3;e2PlCO;la,nHra;a,ie,o2;a,or1;a,gh,laH;!ni;!h,nH;a,d2e,n5V;cOdon9DiNkes6mi9Gna,rMtJurIvHxmi,y5;ern1in3;a,e5Aie,yn;as6iIoH;nya,ya;fa,s6;a,isA9;a,la;ey,ie,y;a04eZhXiOlASoNrJyH;lHra;a,ee,ie;istHy6I;a,en,iIyH;!na;!e,n5F;nul,ri,urtnB8;aOerNlB7mJrHzzy;a,stH;en,in;!berlImernH;aq;eHi,y;e,y;a,stE;!na,ra;aHei2ongordzol;dij1w5;el7UiKjsi,lJnIrH;a,i,ri;d2na,za;ey,i,lBLs4y;ra,s6;biAcARdiat7MeBAiSlQmPnyakuma1DrNss6NtKviAyH;!e,lH;a,eH;e,i8T;!a6HeIhHi4TlDri0y;ar8Her8Hie,leErBAy;!lyn8Ori0;a,en,iHl5Xoli0yn;!ma,nFs95;a5il1;ei8Mi,lH;e,ie;a,tl6O;a0AeZiWoOuH;anMdLlHst88;es,iH;a8NeHs8X;!n9tH;!a,te;e5Mi3My;a,iA;!anNcelDdMelGhan7VleLni,sIva0yH;a,ce;eHie;fHlDph7Y;a,in1;en,n1;i7y;!a,e,n45;lHng;!i1DlH;!i1C;anNle0nKrJsH;i8JsH;!e,i8I;i,ri;!a,elGif2CnH;a,et8iHy;!e,f2A;a,eJiInH;a,eIiH;e,n1;!t8;cMda,mi,nIque4YsminFvie2y9zH;min7;a7eIiH;ce,e,n1s;!lHs82t0F;e,le;inIk6HlDquelH;in1yn;da,ta;da,lRmPnOo0rNsIvaHwo0zaro;!a0lu,na;aJiIlaHob89;!n9R;do2;belHdo2;!a,e,l3B;a7Ben1i0ma;di2es,gr72ji;a9elBogH;en1;a,e9iHo0se;a0na;aSeOiJoHus7Kyacin2C;da,ll4rten24snH;a,i9U;lImaH;ri;aIdHlaI;a,egard;ry;ath1BiJlInrietArmi9sH;sa,t1A;en2Uga,mi;di;bi2Fil8MlNnMrJsItHwa,yl8M;i5Tt4;n60ti;iHmo51ri53;etH;!te;aCnaC;a,ey,l4;a02eWiRlPoNrKunJwH;enHyne1R;!dolD;ay,el;acieIetHiselB;a,chE;!la;ld1CogooH;sh;adys,enHor3yn2K;a,da,na;aKgi,lIna,ov8EselHta;a,e,le;da,liH;an;!n0;mLnJorgIrH;ald5Si,m3Etrud7;et8i4X;a,eHna;s29vieve;ma;bIle,mHrnet,yG;al5Si5;iIrielH;a,l1;!ja;aTeQiPlorOoz3rH;anJeIiH;da,eB;da,ja;!cH;esIiHoi0P;n1s66;!ca;a,enc3;en,o0;lIn0rnH;anB;ec3ic3;jr,nArKtHy7;emIiHma,oumaA;ha,ma,n;eh;ah,iBrah,za0;cr4Rd0Re0Qi0Pk0Ol07mXn54rUsOtNuMvHwa;aKelIiH;!e,ta;inFyn;!a;!ngel4V;geni1ni47;h5Yien9ta;mLperanKtH;eIhHrel5;er;l31r7;za;a,eralB;iHma,ne4Lyn;cHka,n;a,ka;aPeNiKmH;aHe21ie,y;!li9nuH;elG;lHn1;e7iHy;a,e,ja;lHrald;da,y;!nue5;aWeUiNlMma,no2oKsJvH;a,iH;na,ra;a,ie;iHuiH;se;a,en,ie,y;a0c3da,e,f,nMsJzaH;!betHveA;e,h;aHe,ka;!beH;th;!a,or;anor,nH;!a,i;!in1na;ate1Rta;leEs6;vi;eIiHna,wi0;e,th;l,n;aYeMh3iLjeneKoH;lor5Vminiq4Ln3FrHtt4;a,eEis,la,othHthy;ea,y;ba;an09naCon9ya;anQbPde,eOiMlJmetr3nHsir5M;a,iH;ce,se;a,iIla,orHphi9;es,is;a,l6F;dHrdH;re;!d5Ena;!b2ForaCraC;a,d2nH;!a,e;hl3i0l0GmNnLphn1rIvi1WyH;le,na;a,by,cIia,lH;a,en1;ey,ie;a,et8iH;!ca,el1Aka,z;arHia;is;a0Re0Nh04i02lUoJristIynH;di,th3;al,i0;lPnMrIurH;tn1D;aJd2OiHn2Ori9;!nH;a,e,n1;!l4;cepci5Cn4sH;tanHuelo;ce,za;eHleE;en,t8;aJeoIotH;il54;!pat2;ir7rJudH;et8iH;a,ne;a,e,iH;ce,sZ;a2er2ndH;i,y;aReNloe,rH;isJyH;stH;al;sy,tH;a1Sen,iHy;an1e,n1;deJlseIrH;!i7yl;a,y;li9;nMrH;isKlImH;ai9;a,eHot8;n1t8;!sa;d2elGtH;al,elG;cIlH;es8i47;el3ilH;e,ia,y;itlYlXmilWndVrMsKtHy5;aIeIhHri0;er1IleErDy;ri0;a38sH;a37ie;a,iOlLmeJolIrH;ie,ol;!e,in1yn;lHn;!a,la;a,eIie,otHy;a,ta;ne,y;na,s1X;a0Ii0I;a,e,l1;isAl4;in,yn;a0Ke02iZlXoUrH;andi7eRiJoIyH;an0nn;nwDoke;an3HdgMgiLtH;n31tH;!aInH;ey,i,y;ny;d,t8;etH;!t7;an0e,nH;da,na;bbi7glarIlo07nH;iAn4;ka;ancHythe;a,he;an1Clja0nHsm3M;iAtH;ou;aWcVlinUniArPssOtJulaCvH;!erlH;ey,y;hJsy,tH;e,iHy7;e,na;!anH;ie,y;!ie;nItHyl;ha,ie;adIiH;ce;et8i9;ay,da;ca,ky;!triH;ce,z;rbJyaH;rmH;aa;a2o2ra;a2Ub2Od25g21i1Sj5l18m0Zn0Boi,r06sWtVuPvOwa,yIzH;ra,u0;aKes6gJlIn,seH;!l;in;un;!nH;a,na;a,i2K;drLguJrIsteH;ja;el3;stH;in1;a,ey,i,y;aahua,he0;hIi2Gja,miAs2DtrH;id;aMlIraqHt21;at;eIi7yH;!n;e,iHy;gh;!nH;ti;iJleIo6piA;ta;en,n1t8;aHelG;!n1J;a01dje5eZgViTjRnKohito,toHya;inet8nH;el5ia;te;!aKeIiHmJ;e,ka;!mHtt7;ar4;!belIliHmU;sa;!l1;a,eliH;ca;ka,sHta;a,sa;elHie;a,iH;a,ca,n1qH;ue;!tH;a,te;!bImHstasiMya;ar3;el;aLberKeliJiHy;e,l3naH;!ta;a,ja;!ly;hGiIl3nB;da;a,ra;le;aWba,ePiMlKthJyH;a,c3sH;a,on,sa;ea;iHys0N;e,s0M;a,cIn1sHza;a,e,ha,on,sa;e,ia,ja;c3is6jaKksaKna,sJxH;aHia;!nd2;ia,saH;nd2;ra;ia;i0nIyH;ah,na;a,is,naCoud;la;c6da,leEmNnLsH;haClH;inHyY;g,n;!h;a,o,slH;ey;ee;en;at6g4nIusH;ti0;es;ie;aWdiTelMrH;eJiH;anMenH;a,e,ne;an0;na;!aLeKiIyH;nn;a,n1;a,e;!ne;!iH;de;e,lDsH;on;yn;!lH;i9yn;ne;aKbIiHrL;!e,gaK;ey,i7y;!e;gaH;il;dKliyJradhIs6;ha;ya;ah;a,ya",Honorific:"true¦director1field marsh2lieutenant1rear0sergeant major,vice0; admir1; gener0;al","Adj|Gerund":"true¦0:3H;1:3J;2:33;3:2Z;4:37;5:35;6:3E;7:31;8:38;9:2J;a35b2Vc2Dd1Te1If17g11h0Yi0Rjud9l0Nm0Gnu0Fo0Ap04rYsKtEuBvAw18yiel3;ar6e08;nBpA;l1Rs0B;fol3n21sett2;aEeDhrBi4ouc7rAwis0;e0Bif2oub2us0yi1;ea1SiA;l2vi1;l2mp0rr1J;nt1Xxi1;aMcreec7enten2PhLkyrocke0lo1Tmi2oJpHtDuBweA;e1Sl2;pp2CrA;gi1pri5roun3;aBea8iAri2Jun25;mula0r4;gge4rA;t2vi1;ark2eAraw2;e3llb2H;aAot7;ki1ri1;i1Xoc2B;dYtisf6;aEeBive0oAus7;a4l2;assu4defi1Tfres7ig1Tjuve0QlaImai1Ts0vAwar3;ea2italiAol1I;si1zi1;gi1ll6mb2vi1;a6eDier25lun9rAun2E;eBoA;mi5vo21;ce3s5vai2;n3rpleA;xi1;ffCpWutBverAwi1;arc7lap12p0Pri3whel8;goi1l6st1L;en3sA;et0;m2Lrtu4;aEeDiCoBuAyst0L;mb2;t1Lvi1;s5tiga0;an1Tl0n3smeri28;dAtu4;de17;aCeaBiAo0W;fesa0Vmi0vi1;di1ni1;c1Hg9s0;llumiZmFnArri0T;cDfurGsCtBviA;go25ti1;e1Qimi23oxica0rig0X;pi4ul0;orpo22r0M;po5;arrowi1eaBorr03umilA;ia0;li1rtwar8;lErA;atiCip0BoBuelA;i1li1;undbrea13wi1;f6ng;a4ea8;aIetc7it0lEoCrBulfA;il2;ee1JighZust1P;rAun3;ebo3thco8;aCoA;a0wA;e4i1;mi1tte4;di1sciA;na0;lectrJmHnExA;aCci0hBis0pA;an3lo3;aOila1D;c0spe1C;ab2cBdu4ergi15ga9live06ric7s04tA;hral2i0L;han0oura9;barras5er9pA;owe4;if6;aSeIiBrA;if0;sAzz6;aEgDhearCsen0tA;rAur13;ac0es5;teU;us0;ppoin0r8;biliIcFfiRgra3ligh0mDpres5sCvA;asHeloA;pi1;erE;an3eaNorA;ali0L;a6eiBliLrA;ea5;vi1;ta0;ma9ri1s7un0zz2;aPhMlo5oAripp2ut0;mGnArrespon3;cerEfDspi4tAvinU;inBrA;as0ibu0ol2;ui1;lic0u5;ni1;fDmCpA;eAromi5;l2ti1;an3;or0;aAil2;llen9n9r8;gi1;l8ptAri1;iva0;aff2eGin3lFoDrBuA;d3st2;eathtaAui5;ki1;gg2i2o8ri1unA;ci1;in3;co8wiA;lAtc7;de4;bsorVcOgonMlJmHnno6ppea2rFsA;pi4su4toA;nBun3;di1;is7;hi1;res0;li1;aFu5;si1;ar8lu4;ri1;mi1;iAzi1;zi1;cAhi1;eleDomA;moBpan6;yi1;da0;ra0;ti1;bi1;ng",Adverb:"true¦a08b05d00eYfSheQinPjustOkinda,likewiZmMnJoEpCquite,r9s5t2u0very,well;ltima01p0; to,wards5;h1iny bit,o0wiO;o,t6;en,us;eldom,o0uch;!me1rt0; of;how,times,w0C;a1e0;alS;ndomRth05;ar excellenEer0oint blank; Lhaps;f3n0utright;ce0ly;! 0;ag05moX; courGten;ewJo0; longWt 0;onHwithstand9;aybe,eanwhiNore0;!ovT;! aboX;deed,steY;lla,n0;ce;or3u0;ck1l9rther0;!moK;ing; 0evK;exampCgood,suH;n mas0vI;se;e0irect2; 2fini0;te0;ly;juAtrop;ackward,y 0;far,no0; means,w; GbroFd nauseam,gEl7ny5part,s4t 2w0;ay,hi0;le;be7l0mo7wor7;arge,ea6; soon,i4;mo0way;re;l 3mo2ongsi1ready,so,togeth0ways;er;de;st;b1t0;hat;ut;ain;ad;lot,posteriori",Conjunction:"true¦aXbTcReNhowMiEjust00noBo9p8supposing,t5wh0yet;e1il0o3;e,st;n1re0thN; if,by,vM;evL;h0il,o;erefOo0;!uU;lus,rovided th9;r0therwiM;! not; mattEr,w0;! 0;since,th4w7;f4n0; 0asmuch;as mIcaForder t0;h0o;at;! 0;only,t0w0;hen;!ev3;ith2ven0;! 0;if,tB;er;o0uz;s,z;e0ut,y the time;cau1f0;ore;se;lt3nd,s 0;far1if,m0soon1t2;uch0; as;hou0;gh",Currency:"true¦$,aud,bQcOdJeurIfHgbp,hkd,iGjpy,kElDp8r7s3usd,x2y1z0¢,£,¥,ден,лв,руб,฿,₡,₨,€,₭,﷼;lotyQł;en,uanP;af,of;h0t5;e0il5;k0q0;elK;oubleJp,upeeJ;e2ound st0;er0;lingG;n0soF;ceEnies;empi7i7;n,r0wanzaCyatC;!onaBw;ls,nr;ori7ranc9;!os;en3i2kk,o0;b0ll2;ra5;me4n0rham4;ar3;e0ny;nt1;aht,itcoin0;!s",Determiner:"true¦aBboth,d9e6few,le5mu8neiDplenty,s4th2various,wh0;at0ich0;evC;a0e4is,ose;!t;everal,ome;!ast,s;a1l0very;!se;ch;e0u;!s;!n0;!o0y;th0;er","Adj|Present":"true¦a07b04cVdQeNfJhollIidRlEmCnarrIoBp9qua8r7s3t2uttFw0;aKet,ro0;ng,u08;endChin;e2hort,l1mooth,our,pa9tray,u0;re,speU;i2ow;cu6da02leSpaN;eplica01i02;ck;aHerfePr0;eseUime,omV;bscu1pen,wn;atu0e3odeH;re;a2e1ive,ow0;er;an;st,y;ow;a2i1oul,r0;ee,inge;rm;iIke,ncy,st;l1mpty,x0;emHpress;abo4ic7;amp,e2i1oub0ry,ull;le;ffu9re6;fu8libe0;raE;alm,l5o0;mpleCn3ol,rr1unterfe0;it;e0u7;ct;juga8sum7;ea1o0;se;n,r;ankru1lu0;nt;pt;li2pproxi0rticula1;ma0;te;ght",Comparable:"true¦0:3C;1:3Q;2:3F;a3Tb3Cc33d2Ue2Nf2Ag1Wh1Li1Fj1Ek1Bl13m0Xn0So0Rp0Iqu0Gr07sHtCug0vAw4y3za0Q;el10ouN;ary,e6hi5i3ry;ck0Cde,l3n1ry,se;d,y;ny,te;a3i3R;k,ry;a3erda2ulgar;gue,in,st;a6en2Xhi5i4ouZr3;anqu2Den1ue;dy,g36me0ny;ck,rs29;ll,me,rt,wd3I;aRcaPeOhMiLkin0BlImGoEpDt6u4w3;eet,ift;b3dd0Wperfi21rre29;sta27t22;a8e7iff,r4u3;pUr1;a4ict,o3;ng;ig2Vn0N;a1ep,rn;le,rk,te0;e1Si2Vright0;ci1Zft,l3on,re;emn,id;a3el0;ll,rt;e4i3y;g2Mm0Z;ek,nd2T;ck24l0mp1M;a3iRrill,y;dy,l01rp;ve0Jxy;n1Kr3;ce,y;d,fe,int0l1Iv0V;a8e6i5o3ude;mantic,o19sy,u3;gh;pe,t1P;a3d,mo0A;dy,l;gg4iFndom,p3re,w;id;ed;ai2i3;ck,et;hoAink,l9o8r5u3;ny,r3;e,p12;egna2ic4o3;fouSud;ey,k0;liXor;ain,easa2;ny;dd,i0ld,ranL;aive,e5i4o3u15;b0Tisy,rm0Zsy;bb0ce,mb0S;a3r1w;r,t;ad,e5ild,o4u3;nda12te;ist,o1;a4ek,l3;low;s0ty;a8e7i6o3ucky;f0Kn4o15u3ve0w10y0O;d,sy;e0g;ke0l,mp,tt0Fve0;e1Qwd;me,r3te;ge;e4i3;nd;en;ol0ui19;cy,ll,n3;secu6t3;e3ima4;llege2rmedia3;te;re;aAe7i6o5u3;ge,m3ng1C;bZid;me0t;gh,l0;a3fYsita2;dy,rXv3;en0y;nd13ppy,r3;d3sh;!y;aFenEhCiBlAoofy,r3;a8e6i5o3ue0Z;o3ss;vy;m,s0;at,e3y;dy,n;nd,y;ad,ib,ooD;a2d1;a3o3;st0;tEuiS;u1y;aDeebCi9l8o6r5u3;ll,n3r0N;!ny;aDesh,iend0;a3nd,rmE;my;at,ir8;erce4nan3;ciA;! ;le;r,ul3;ty;a6erie,sse4v3xtre0A;il;nti3;al;r4s3;tern,y;ly,th0;appYe8i4u3;mb;r5vi4z3;zy;ne;e,ty;a3ep,n9;d3f,r;!ly;agey,h8l7o5r4u3;dd0r0te;isp,uel;ar3ld,mmon,st0ward0zy;se;evKou1;e3il0;ap,e3;sy;aHiFlCoAr5u3;ff,r0sy;ly;a6i3oad;g4llia2;nt;ht;sh,ve;ld,un3;cy;a4o3ue;nd,o1;ck,nd;g,tt3;er;d,ld,w1;dy;bsu6ng5we3;so3;me;ry;rd","Person|Adj":"true¦b3du2earnest,frank,mi2r0san1woo1;an0ich,u1;dy;sty;ella,rown",Modal:"true¦c5lets,m4ought3sh1w0;ill,o5;a0o4;ll,nt;! to,a;ight,ust;an,o0;uld",Verb:"true¦born,cannot,gonna,has,keep tabs,msg","Person|Verb":"true¦b8ch7dr6foster,gra5ja9lan4ma2ni9ollie,p1rob,s0wade;kip,pike,t5ue;at,eg,ier2;ck,r0;k,shal;ce;ce,nt;ew;ase,u1;iff,l1ob,u0;ck;aze,ossom","Person|Date":"true¦a2j0sep;an0une;!uary;p0ugust,v0;ril"};const Co=36,No="0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ",jo=No.split("").reduce((function(e,t,n){return e[t]=n,e}),{});var xo=function(e){if(void 0!==jo[e])return jo[e];let t=0,n=1,r=Co,a=1;for(;n=0;n--,a*=Co){let r=e.charCodeAt(n)-48;r>10&&(r-=7),t+=r*a}return t},Io=function(e){const t=new RegExp("([0-9A-Z]+):([0-9A-Z]+)");for(let n=0;n{let o=e.nodes[r];"!"===o[0]&&(t.push(a),o=o.slice(1));const i=o.split(/([A-Z0-9,]+)/g);for(let o=0;o{const n=t.split("¦");return e[n[0]]=n[1],e}),{}),n={};return Object.keys(t).forEach((function(e){const r=Ho(t[e]);"true"===e&&(e=!0);for(let t=0;t{let t=Do(Ao[e]);Vo.test(e)?Object.keys(t).forEach((t=>{if($o[t]=e,"Noun|Verb"===e){let e=Fo(t,Lo);$o[e]="Plural|Verb"}})):Object.keys(t).forEach((t=>{zo[t]=e}))})),[":(",":)",":P",":p",":O",";(",";)",";P",";p",";O",":3",":|",":/",":\\",":$",":*",":@",":-(",":-)",":-P",":-p",":-O",":-3",":-|",":-/",":-\\",":-$",":-*",":-@",":^(",":^)",":^P",":^p",":^O",":^3",":^|",":^/",":^\\",":^$",":^*",":^@","):","(:","$:","*:",")-:","(-:","$-:","*-:",")^:","(^:","$^:","*^:","<3","zo[e]="Emoticon")),delete zo[""],delete zo.null,delete zo[" "];const So="Singular";var Mo={beforeTags:{Determiner:So,Possessive:So,Acronym:So,Noun:So,Adjective:So,PresentTense:So,Gerund:So,PastTense:So,Infinitive:So,Date:So,Ordinal:So,Demonym:So},afterTags:{Value:So,Modal:So,Copula:So,PresentTense:So,PastTense:So,Demonym:So,Actor:So},beforeWords:{the:So,with:So,without:So,of:So,for:So,any:So,all:So,on:So,cut:So,cuts:So,increase:So,decrease:So,raise:So,drop:So,save:So,saved:So,saves:So,make:So,makes:So,made:So,minus:So,plus:So,than:So,another:So,versus:So,neither:So,about:So,favorite:So,best:So,daily:So,weekly:So,linear:So,binary:So,mobile:So,lexical:So,technical:So,computer:So,scientific:So,security:So,government:So,popular:So,formal:So,no:So,more:So,one:So,let:So,her:So,his:So,their:So,our:So,us:So},afterWords:{of:So,system:So,aid:So,method:So,utility:So,tool:So,reform:So,therapy:So,philosophy:So,room:So,authority:So,says:So,said:So,wants:So,wanted:So,is:So,did:So,do:So,can:So,wise:So}};const Bo="Infinitive";var Jo={beforeTags:{Modal:Bo,Adverb:Bo,Negative:Bo,Plural:Bo},afterTags:{Determiner:Bo,Adverb:Bo,Possessive:Bo,Reflexive:Bo,Preposition:Bo,Cardinal:Bo,Comparative:Bo,Superlative:Bo},beforeWords:{i:Bo,we:Bo,you:Bo,they:Bo,to:Bo,please:Bo,will:Bo,have:Bo,had:Bo,would:Bo,could:Bo,should:Bo,do:Bo,did:Bo,does:Bo,can:Bo,must:Bo,us:Bo,me:Bo,let:Bo,even:Bo,when:Bo,help:Bo,he:Bo,she:Bo,it:Bo,being:Bo,bi:Bo,co:Bo,contra:Bo,de:Bo,inter:Bo,intra:Bo,mis:Bo,pre:Bo,out:Bo,counter:Bo,nobody:Bo,somebody:Bo,anybody:Bo,everybody:Bo},afterWords:{the:Bo,me:Bo,you:Bo,him:Bo,us:Bo,her:Bo,his:Bo,them:Bo,they:Bo,it:Bo,himself:Bo,herself:Bo,itself:Bo,myself:Bo,ourselves:Bo,themselves:Bo,something:Bo,anything:Bo,a:Bo,an:Bo,up:Bo,down:Bo,by:Bo,out:Bo,off:Bo,under:Bo,what:Bo,all:Bo,to:Bo,because:Bo,although:Bo,after:Bo,before:Bo,how:Bo,otherwise:Bo,together:Bo,though:Bo,into:Bo,yet:Bo,more:Bo,here:Bo,there:Bo,away:Bo}},Wo={beforeTags:Object.assign({},Jo.beforeTags,Mo.beforeTags,{}),afterTags:Object.assign({},Jo.afterTags,Mo.afterTags,{}),beforeWords:Object.assign({},Jo.beforeWords,Mo.beforeWords,{}),afterWords:Object.assign({},Jo.afterWords,Mo.afterWords,{})};const qo="Adjective";var Ko={beforeTags:{Determiner:qo,Possessive:qo,Hyphenated:qo},afterTags:{Adjective:qo},beforeWords:{seem:qo,seemed:qo,seems:qo,feel:qo,feels:qo,felt:qo,stay:qo,appear:qo,appears:qo,appeared:qo,also:qo,over:qo,under:qo,too:qo,it:qo,but:qo,still:qo,really:qo,quite:qo,well:qo,very:qo,how:qo,deeply:qo,hella:qo,profoundly:qo,extremely:qo,so:qo,badly:qo,mostly:qo,totally:qo,awfully:qo,rather:qo,nothing:qo,something:qo,anything:qo,not:qo,me:qo,is:qo},afterWords:{too:qo,also:qo,or:qo,enough:qo,about:qo}};const Uo="Gerund";var Ro={beforeTags:{Adverb:Uo,Preposition:Uo,Conjunction:Uo},afterTags:{Adverb:Uo,Possessive:Uo,Person:Uo,Pronoun:Uo,Determiner:Uo,Copula:Uo,Preposition:Uo,Conjunction:Uo,Comparative:Uo},beforeWords:{been:Uo,keep:Uo,continue:Uo,stop:Uo,am:Uo,be:Uo,me:Uo,began:Uo,start:Uo,starts:Uo,started:Uo,stops:Uo,stopped:Uo,help:Uo,helps:Uo,avoid:Uo,avoids:Uo,love:Uo,loves:Uo,loved:Uo,hate:Uo,hates:Uo,hated:Uo},afterWords:{you:Uo,me:Uo,her:Uo,him:Uo,his:Uo,them:Uo,their:Uo,it:Uo,this:Uo,there:Uo,on:Uo,about:Uo,for:Uo,up:Uo,down:Uo}},Qo={beforeTags:Object.assign({},Ko.beforeTags,Ro.beforeTags,{Imperative:"Gerund",Infinitive:"Adjective",PresentTense:"Gerund",Plural:"Gerund"}),afterTags:Object.assign({},Ko.afterTags,Ro.afterTags,{Singular:"Adjective"}),beforeWords:Object.assign({},Ko.beforeWords,Ro.beforeWords,{is:"Adjective",was:"Adjective",of:"Adjective",suggest:"Gerund",recommend:"Gerund"}),afterWords:Object.assign({},Ko.afterWords,Ro.afterWords,{to:"Gerund",not:"Gerund",the:"Gerund"})};const _o={beforeTags:{Determiner:void 0,Cardinal:"Noun",PhrasalVerb:"Adjective"},afterTags:{}};var Xo={beforeTags:Object.assign({},Ko.beforeTags,Mo.beforeTags,_o.beforeTags),afterTags:Object.assign({},Ko.afterTags,Mo.afterTags,_o.afterTags),beforeWords:Object.assign({},Ko.beforeWords,Mo.beforeWords,{are:"Adjective",is:"Adjective",was:"Adjective",be:"Adjective",off:"Adjective",out:"Adjective"}),afterWords:Object.assign({},Ko.afterWords,Mo.afterWords)};let Zo="PastTense";const Yo={beforeTags:{Adverb:Zo,Pronoun:Zo,ProperNoun:Zo,Auxiliary:Zo,Noun:Zo},afterTags:{Possessive:Zo,Pronoun:Zo,Determiner:Zo,Adverb:Zo,Comparative:Zo,Date:Zo,Gerund:Zo},beforeWords:{be:Zo,who:Zo,get:"Adjective",had:Zo,has:Zo,have:Zo,been:Zo,it:Zo,as:Zo,for:"Adjective",more:"Adjective"},afterWords:{by:Zo,back:Zo,out:Zo,in:Zo,up:Zo,down:Zo,before:Zo,after:Zo,for:Zo,the:Zo,with:Zo,as:Zo,on:Zo,at:Zo,between:Zo,to:Zo,into:Zo,us:Zo,them:Zo,his:Zo,her:Zo,their:Zo,our:Zo,me:Zo}};var ei={beforeTags:Object.assign({},Ko.beforeTags,Yo.beforeTags),afterTags:Object.assign({},Ko.afterTags,Yo.afterTags),beforeWords:Object.assign({},Ko.beforeWords,Yo.beforeWords),afterWords:Object.assign({},Ko.afterWords,Yo.afterWords)};const ti={afterTags:{Noun:"Adjective",Conjunction:void 0}};var ni={beforeTags:Object.assign({},Ko.beforeTags,Jo.beforeTags,{Adverb:void 0,Negative:void 0}),afterTags:Object.assign({},Ko.afterTags,Jo.afterTags,ti.afterTags),beforeWords:Object.assign({},Ko.beforeWords,Jo.beforeWords,{have:void 0,had:void 0,not:void 0,went:"Adjective",goes:"Adjective",got:"Adjective",be:"Adjective"}),afterWords:Object.assign({},Ko.afterWords,Jo.afterWords,{to:void 0,as:"Adjective"})};const ri={Copula:"Gerund",PastTense:"Gerund",PresentTense:"Gerund",Infinitive:"Gerund"},ai={},oi={are:"Gerund",were:"Gerund",be:"Gerund",no:"Gerund",without:"Gerund",you:"Gerund",we:"Gerund",they:"Gerund",he:"Gerund",she:"Gerund",us:"Gerund",them:"Gerund"},ii={the:"Gerund",this:"Gerund",that:"Gerund",me:"Gerund",us:"Gerund",them:"Gerund"};var si={beforeTags:Object.assign({},Ro.beforeTags,Mo.beforeTags,ri),afterTags:Object.assign({},Ro.afterTags,Mo.afterTags,ai),beforeWords:Object.assign({},Ro.beforeWords,Mo.beforeWords,oi),afterWords:Object.assign({},Ro.afterWords,Mo.afterWords,ii)};const li="Singular",ui="Infinitive";var ci={beforeTags:Object.assign({},Jo.beforeTags,Mo.beforeTags,{Adjective:li,Particle:li}),afterTags:Object.assign({},Jo.afterTags,Mo.afterTags,{ProperNoun:ui,Gerund:ui,Adjective:ui,Copula:li}),beforeWords:Object.assign({},Jo.beforeWords,Mo.beforeWords,{is:li,was:li,of:li,have:null}),afterWords:Object.assign({},Jo.afterWords,Mo.afterWords,{instead:ui,about:ui,his:ui,her:ui,to:null,by:null,in:null})};const hi="Person";var di={beforeTags:{Honorific:hi,Person:hi},afterTags:{Person:hi,ProperNoun:hi,Verb:hi},ownTags:{ProperNoun:hi},beforeWords:{hi:hi,hey:hi,yo:hi,dear:hi,hello:hi},afterWords:{said:hi,says:hi,told:hi,tells:hi,feels:hi,felt:hi,seems:hi,thinks:hi,thought:hi,spends:hi,spendt:hi,plays:hi,played:hi,sing:hi,sang:hi,learn:hi,learned:hi,wants:hi,wanted:hi}};const gi="Month",mi={beforeTags:{Date:gi,Value:gi},afterTags:{Date:gi,Value:gi},beforeWords:{by:gi,in:gi,on:gi,during:gi,after:gi,before:gi,between:gi,until:gi,til:gi,sometime:gi,of:gi,this:gi,next:gi,last:gi,previous:gi,following:gi,with:"Person"},afterWords:{sometime:gi,in:gi,of:gi,until:gi,the:gi}};var pi={beforeTags:Object.assign({},di.beforeTags,mi.beforeTags),afterTags:Object.assign({},di.afterTags,mi.afterTags),beforeWords:Object.assign({},di.beforeWords,mi.beforeWords),afterWords:Object.assign({},di.afterWords,mi.afterWords)};const fi="Place",vi={beforeTags:{Place:fi},afterTags:{Place:fi,Abbreviation:fi},beforeWords:{in:fi,by:fi,near:fi,from:fi,to:fi},afterWords:{in:fi,by:fi,near:fi,from:fi,to:fi,government:fi,council:fi,region:fi,city:fi}};let bi="Unit";const yi={"Actor|Verb":Wo,"Adj|Gerund":Qo,"Adj|Noun":Xo,"Adj|Past":ei,"Adj|Present":ni,"Noun|Verb":ci,"Noun|Gerund":si,"Person|Noun":{beforeTags:Object.assign({},Mo.beforeTags,di.beforeTags),afterTags:Object.assign({},Mo.afterTags,di.afterTags),beforeWords:Object.assign({},Mo.beforeWords,di.beforeWords,{i:"Infinitive",we:"Infinitive"}),afterWords:Object.assign({},Mo.afterWords,di.afterWords)},"Person|Date":pi,"Person|Verb":{beforeTags:Object.assign({},Mo.beforeTags,di.beforeTags,Jo.beforeTags),afterTags:Object.assign({},Mo.afterTags,di.afterTags,Jo.afterTags),beforeWords:Object.assign({},Mo.beforeWords,di.beforeWords,Jo.beforeWords),afterWords:Object.assign({},Mo.afterWords,di.afterWords,Jo.afterWords)},"Person|Place":{beforeTags:Object.assign({},vi.beforeTags,di.beforeTags),afterTags:Object.assign({},vi.afterTags,di.afterTags),beforeWords:Object.assign({},vi.beforeWords,di.beforeWords),afterWords:Object.assign({},vi.afterWords,di.afterWords)},"Person|Adj":{beforeTags:Object.assign({},di.beforeTags,Ko.beforeTags),afterTags:Object.assign({},di.afterTags,Ko.afterTags),beforeWords:Object.assign({},di.beforeWords,Ko.beforeWords),afterWords:Object.assign({},di.afterWords,Ko.afterWords)},"Unit|Noun":{beforeTags:{Value:bi},afterTags:{},beforeWords:{per:bi,every:bi,each:bi,square:bi,cubic:bi,sq:bi,metric:bi},afterWords:{per:bi,squared:bi,cubed:bi,long:bi}}},wi=(e,t)=>{let n=Object.keys(e).reduce(((t,n)=>(t[n]="Infinitive"===e[n]?"PresentTense":"Plural",t)),{});return Object.assign(n,t)};yi["Plural|Verb"]={beforeWords:wi(yi["Noun|Verb"].beforeWords,{had:"Plural",have:"Plural"}),afterWords:wi(yi["Noun|Verb"].afterWords,{his:"PresentTense",her:"PresentTense",its:"PresentTense",in:null,to:null,is:"PresentTense",by:"PresentTense"}),beforeTags:wi(yi["Noun|Verb"].beforeTags,{Conjunction:"PresentTense",Noun:void 0,ProperNoun:"PresentTense"}),afterTags:wi(yi["Noun|Verb"].afterTags,{Gerund:"Plural",Noun:"PresentTense",Value:"PresentTense"})};var ki=yi;const Pi="Adjective",Ai="Infinitive",Ci="PresentTense",Ni="Singular",ji="PastTense",xi="Adverb",Ii="Plural",Ti="Actor",Hi="Verb",Di="Noun",Gi="LastName",Ei="Modal",Oi="Place",Fi="Participle";var Vi=[null,null,{ea:Ni,ia:Di,ic:Pi,ly:xi,"'n":Hi,"'t":Hi},{oed:ji,ued:ji,xed:ji," so":xi,"'ll":Ei,"'re":"Copula",azy:Pi,eer:Di,end:Hi,ped:ji,ffy:Pi,ify:Ai,ing:"Gerund",ize:Ai,ibe:Ai,lar:Pi,mum:Pi,nes:Ci,nny:Pi,ous:Pi,que:Pi,ger:Di,ber:Di,rol:Ni,sis:Ni,ogy:Ni,oid:Ni,ian:Ni,zes:Ci,eld:ji,ken:Fi,ven:Fi,ten:Fi,ect:Ai,ict:Ai,ign:Ai,oze:Ai,ful:Pi,bal:Pi,ton:Di},{amed:ji,aped:ji,ched:ji,lked:ji,rked:ji,reed:ji,nded:ji,mned:Pi,cted:ji,dged:ji,ield:Ni,akis:Gi,cede:Ai,chuk:Gi,czyk:Gi,ects:Ci,iend:Ni,ends:Hi,enko:Gi,ette:Ni,iary:Ni,wner:Ni,fies:Ci,fore:xi,gate:Ai,gone:Pi,ices:Ii,ints:Ii,ruct:Ai,ines:Ii,ions:Ii,ners:Ii,pers:Ii,lers:Ii,less:Pi,llen:Pi,made:Pi,nsen:Gi,oses:Ci,ould:Ei,some:Pi,sson:Gi,ians:Ii,tion:Ni,tage:Di,ique:Ni,tive:Pi,tors:Di,vice:Ni,lier:Ni,fier:Ni,wned:ji,gent:Ni,tist:Ti,pist:Ti,rist:Ti,mist:Ti,yist:Ti,vist:Ti,ists:Ti,lite:Ni,site:Ni,rite:Ni,mite:Ni,bite:Ni,mate:Ni,date:Ni,ndal:Ni,vent:Ni,uist:Ti,gist:Ti,note:Ni,cide:Ni,ence:Ni,wide:Pi,vide:Ai,ract:Ai,duce:Ai,pose:Ai,eive:Ai,lyze:Ai,lyse:Ai,iant:Pi,nary:Pi,ghty:Pi,uent:Pi,erer:Ti,bury:Oi,dorf:Di,esty:Di,wych:Oi,dale:Oi,folk:Oi},{elist:Ti,holic:Ni,phite:Ni,tized:ji,urned:ji,eased:ji,ances:Ii,bound:Pi,ettes:Ii,fully:xi,ishes:Ci,ities:Ii,marek:Gi,nssen:Gi,ology:Di,osome:Ni,tment:Ni,ports:Ii,rough:Pi,tches:Ci,tieth:"Ordinal",tures:Ii,wards:xi,where:xi,archy:Di,pathy:Di,opoly:Di,embly:Di,phate:Di,ndent:Ni,scent:Ni,onist:Ti,anist:Ti,alist:Ti,olist:Ti,icist:Ti,ounce:Ai,iable:Pi,borne:Pi,gnant:Pi,inant:Pi,igent:Pi,atory:Pi,rient:Ni,dient:Ni,maker:Ti,burgh:Oi,mouth:Oi,ceter:Oi,ville:Oi,worth:Di},{auskas:Gi,parent:Ni,cedent:Ni,ionary:Ni,cklist:Ni,keeper:Ti,logist:Ti,teenth:"Value",worker:Ti,master:Ti,writer:Ti,brough:Oi,cester:Oi},{logists:Ti,opoulos:Gi,borough:Oi,sdottir:Gi}];const zi="Adjective",$i="Noun",Li="Verb";var Si=[null,null,{},{neo:$i,bio:$i,"de-":Li,"re-":Li,"un-":Li,"ex-":$i},{anti:$i,auto:$i,faux:zi,hexa:$i,kilo:$i,mono:$i,nano:$i,octa:$i,poly:$i,semi:zi,tele:$i,"pro-":zi,"mis-":Li,"dis-":Li,"pre-":zi},{anglo:$i,centi:$i,ethno:$i,ferro:$i,grand:$i,hepta:$i,hydro:$i,intro:$i,macro:$i,micro:$i,milli:$i,nitro:$i,penta:$i,quasi:zi,radio:$i,tetra:$i,"omni-":zi,"post-":zi},{pseudo:zi,"extra-":zi,"hyper-":zi,"inter-":zi,"intra-":zi,"deca-":zi},{electro:$i}];const Mi="Adjective",Bi="Infinitive",Ji="PresentTense",Wi="Singular",qi="PastTense",Ki="Adverb",Ui="Expression",Ri="Actor",Qi="Verb",_i="Noun",Xi="LastName";var Zi={a:[[/.[aeiou]na$/,_i,"tuna"],[/.[oau][wvl]ska$/,Xi],[/.[^aeiou]ica$/,Wi,"harmonica"],[/^([hyj]a+)+$/,Ui,"haha"]],c:[[/.[^aeiou]ic$/,Mi]],d:[[/[aeiou](pp|ll|ss|ff|gg|tt|rr|bb|nn|mm)ed$/,qi,"popped"],[/.[aeo]{2}[bdgmnprvz]ed$/,qi,"rammed"],[/.[aeiou][sg]hed$/,qi,"gushed"],[/.[aeiou]red$/,qi,"hired"],[/.[aeiou]r?ried$/,qi,"hurried"],[/[^aeiou]ard$/,Wi,"steward"],[/[aeiou][^aeiou]id$/,Mi,""],[/.[vrl]id$/,Mi,"livid"],[/..led$/,qi,"hurled"],[/.[iao]sed$/,qi,""],[/[aeiou]n?[cs]ed$/,qi,""],[/[aeiou][rl]?[mnf]ed$/,qi,""],[/[aeiou][ns]?c?ked$/,qi,"bunked"],[/[aeiou]gned$/,qi],[/[aeiou][nl]?ged$/,qi],[/.[tdbwxyz]ed$/,qi],[/[^aeiou][aeiou][tvx]ed$/,qi],[/.[cdflmnprstv]ied$/,qi,"emptied"]],e:[[/.[lnr]ize$/,Bi,"antagonize"],[/.[^aeiou]ise$/,Bi,"antagonise"],[/.[aeiou]te$/,Bi,"bite"],[/.[^aeiou][ai]ble$/,Mi,"fixable"],[/.[^aeiou]eable$/,Mi,"maleable"],[/.[ts]ive$/,Mi,"festive"],[/[a-z]-like$/,Mi,"woman-like"]],h:[[/.[^aeiouf]ish$/,Mi,"cornish"],[/.v[iy]ch$/,Xi,"..ovich"],[/^ug?h+$/,Ui,"ughh"],[/^uh[ -]?oh$/,Ui,"uhoh"],[/[a-z]-ish$/,Mi,"cartoon-ish"]],i:[[/.[oau][wvl]ski$/,Xi,"polish-male"]],k:[[/^(k){2}$/,Ui,"kkkk"]],l:[[/.[gl]ial$/,Mi,"familial"],[/.[^aeiou]ful$/,Mi,"fitful"],[/.[nrtumcd]al$/,Mi,"natal"],[/.[^aeiou][ei]al$/,Mi,"familial"]],m:[[/.[^aeiou]ium$/,Wi,"magnesium"],[/[^aeiou]ism$/,Wi,"schism"],[/^[hu]m+$/,Ui,"hmm"],[/^\d+ ?[ap]m$/,"Date","3am"]],n:[[/.[lsrnpb]ian$/,Mi,"republican"],[/[^aeiou]ician$/,Ri,"musician"],[/[aeiou][ktrp]in'$/,"Gerund","cookin'"]],o:[[/^no+$/,Ui,"noooo"],[/^(yo)+$/,Ui,"yoo"],[/^wo{2,}[pt]?$/,Ui,"woop"]],r:[[/.[bdfklmst]ler$/,"Noun"],[/[aeiou][pns]er$/,Wi],[/[^i]fer$/,Bi],[/.[^aeiou][ao]pher$/,Ri],[/.[lk]er$/,"Noun"],[/.ier$/,"Comparative"]],t:[[/.[di]est$/,"Superlative"],[/.[icldtgrv]ent$/,Mi],[/[aeiou].*ist$/,Mi],[/^[a-z]et$/,Qi]],s:[[/.[^aeiou]ises$/,Ji],[/.[rln]ates$/,Ji],[/.[^z]ens$/,Qi],[/.[lstrn]us$/,Wi],[/.[aeiou]sks$/,Ji],[/.[aeiou]kes$/,Ji],[/[aeiou][^aeiou]is$/,Wi],[/[a-z]'s$/,_i],[/^yes+$/,Ui]],v:[[/.[^aeiou][ai][kln]ov$/,Xi]],y:[[/.[cts]hy$/,Mi],[/.[st]ty$/,Mi],[/.[tnl]ary$/,Mi],[/.[oe]ry$/,Wi],[/[rdntkbhs]ly$/,Ki],[/.(gg|bb|zz)ly$/,Mi],[/...lly$/,Ki],[/.[gk]y$/,Mi],[/[bszmp]{2}y$/,Mi],[/.[ai]my$/,Mi],[/[ea]{2}zy$/,Mi],[/.[^aeiou]ity$/,Wi]]};const Yi="Verb",es="Noun";var ts={leftTags:[["Adjective",es],["Possessive",es],["Determiner",es],["Adverb",Yi],["Pronoun",Yi],["Value",es],["Ordinal",es],["Modal",Yi],["Superlative",es],["Demonym",es],["Honorific","Person"]],leftWords:[["i",Yi],["first",es],["it",Yi],["there",Yi],["not",Yi],["because",es],["if",es],["but",es],["who",Yi],["this",es],["his",es],["when",es],["you",Yi],["very","Adjective"],["old",es],["never",Yi],["before",es],["a",es],["the",es],["been",Yi]],rightTags:[["Copula",es],["PastTense",es],["Conjunction",es],["Modal",es]],rightWords:[["there",Yi],["me",Yi],["man","Adjective"],["him",Yi],["it",Yi],["were",es],["took",es],["himself",Yi],["went",es],["who",es],["jr","Person"]]},ns={fwd:"3:ser,ier¦1er:h,t,f,l,n¦1r:e¦2er:ss,or,om",both:"3er:ver,ear,alm¦3ner:hin¦3ter:lat¦2mer:im¦2er:ng,rm,mb¦2ber:ib¦2ger:ig¦1er:w,p,k,d¦ier:y",rev:"1:tter,yer¦2:uer,ver,ffer,oner,eler,ller,iler,ster,cer,uler,sher,ener,gher,aner,adder,nter,eter,rter,hter,rner,fter¦3:oser,ooler,eafer,user,airer,bler,maler,tler,eater,uger,rger,ainer,urer,ealer,icher,pler,emner,icter,nser,iser¦4:arser,viner,ucher,rosser,somer,ndomer,moter,oother,uarer,hiter¦5:nuiner,esser,emier¦ar:urther",ex:"worse:bad¦better:good¦4er:fair,gray,poor¦1urther:far¦3ter:fat,hot,wet¦3er:lay,shy,fun¦3der:mad,sad¦4der:glad¦:¦4r:cute,dire,fake,fine,free,lame,late,pale,rare,ripe,rude,safe,sore,tame,wide¦5r:eerie,stale"},rs={fwd:"1:nning,tting,rring,pping,eing,mming,gging,dding,bbing,kking¦2:eking,oling,eling,eming¦3:velling,siting,uiting,fiting,loting,geting,ialing,celling¦4:graming",both:"1:aing,iing,fing,xing,ying,oing,hing,wing¦2:tzing,rping,izzing,bting,mning,sping,wling,rling,wding,rbing,uping,lming,wning,mping,oning,lting,mbing,lking,fting,hting,sking,gning,pting,cking,ening,nking,iling,eping,ering,rting,rming,cting,lping,ssing,nting,nding,lding,sting,rning,rding,rking¦3:belling,siping,toming,yaking,uaking,oaning,auling,ooping,aiding,naping,euring,tolling,uzzing,ganing,haning,ualing,halling,iasing,auding,ieting,ceting,ouling,voring,ralling,garing,joring,oaming,oaking,roring,nelling,ooring,uelling,eaming,ooding,eaping,eeting,ooting,ooming,xiting,keting,ooking,ulling,airing,oaring,biting,outing,oiting,earing,naling,oading,eeding,ouring,eaking,aiming,illing,oining,eaning,onging,ealing,aining,eading¦4:thoming,melling,aboring,ivoting,weating,dfilling,onoring,eriting,imiting,tialling,rgining,otoring,linging,winging,lleting,louding,spelling,mpelling,heating,feating,opelling,choring,welling,ymaking,ctoring,calling,peating,iloring,laiting,utoring,uditing,mmaking,loating,iciting,waiting,mbating,voiding,otalling,nsoring,nselling,ocusing,itoring,eloping¦5:rselling,umpeting,atrolling,treating,tselling,rpreting,pringing,ummeting,ossoming,elmaking,eselling,rediting,totyping,onmaking,rfeiting,ntrolling¦5e:chmaking,dkeeping,severing,erouting,ecreting,ephoning,uthoring,ravening,reathing,pediting,erfering,eotyping,fringing,entoring,ombining,ompeting¦4e:emaking,eething,twining,rruling,chuting,xciting,rseding,scoping,edoring,pinging,lunging,agining,craping,pleting,eleting,nciting,nfining,ncoding,tponing,ecoding,writing,esaling,nvening,gnoring,evoting,mpeding,rvening,dhering,mpiling,storing,nviting,ploring¦3e:tining,nuring,saking,miring,haling,ceding,xuding,rining,nuting,laring,caring,miling,riding,hoking,piring,lading,curing,uading,noting,taping,futing,paring,hading,loding,siring,guring,vading,voking,during,niting,laning,caping,luting,muting,ruding,ciding,juring,laming,caling,hining,uoting,liding,ciling,duling,tuting,puting,cuting,coring,uiding,tiring,turing,siding,rading,enging,haping,buting,lining,taking,anging,haring,uiring,coming,mining,moting,suring,viding,luding¦2e:tring,zling,uging,oging,gling,iging,vring,fling,lging,obing,psing,pling,ubing,cling,dling,wsing,iking,rsing,dging,kling,ysing,tling,rging,eging,nsing,uning,osing,uming,using,ibing,bling,aging,ising,asing,ating¦2ie:rlying¦1e:zing,uing,cing,ving",rev:"ying:ie¦1ing:se,ke,te,we,ne,re,de,pe,me,le,c,he¦2ing:ll,ng,dd,ee,ye,oe,rg,us¦2ning:un¦2ging:og,ag,ug,ig,eg¦2ming:um¦2bing:ub,ab,eb,ob¦3ning:lan,can,hin,pin,win¦3ring:cur,lur,tir,tar,pur,car¦3ing:ait,del,eel,fin,eat,oat,eem,lel,ool,ein,uin¦3ping:rop,rap,top,uip,wap,hip,hop,lap,rip,cap¦3ming:tem,wim,rim,kim,lim¦3ting:mat,cut,pot,lit,lot,hat,set,pit,put¦3ding:hed,bed,bid¦3king:rek¦3ling:cil,pel¦3bing:rib¦4ning:egin¦4ing:isit,ruit,ilot,nsit,dget,rkel,ival,rcel¦4ring:efer,nfer¦4ting:rmit,mmit,ysit,dmit,emit,bmit,tfit,gret¦4ling:evel,xcel,ivel¦4ding:hred¦5ing:arget,posit,rofit¦5ring:nsfer¦5ting:nsmit,orget,cquit¦5ling:ancel,istil",ex:"3:adding,eating,aiming,aiding,airing,outing,gassing,setting,getting,putting,cutting,winning,sitting,betting,mapping,tapping,letting,bidding,hitting,tanning,netting,popping,fitting,capping,lapping,barring,banning,vetting,topping,rotting,tipping,potting,wetting,pitting,dipping,budding,hemming,pinning,jetting,kidding,padding,podding,sipping,wedding,bedding,donning,warring,penning,gutting,cueing,wadding,petting,ripping,napping,matting,tinning,binning,dimming,hopping,mopping,nodding,panning,rapping,ridding,sinning¦4:selling,falling,calling,waiting,editing,telling,rolling,heating,boating,hanging,beating,coating,singing,tolling,felling,polling,discing,seating,voiding,gelling,yelling,baiting,reining,ruining,seeking,spanning,stepping,knitting,emitting,slipping,quitting,dialing,omitting,clipping,shutting,skinning,abutting,flipping,trotting,cramming,fretting,suiting¦5:bringing,treating,spelling,stalling,trolling,expelling,rivaling,wringing,deterring,singeing,befitting,refitting¦6:enrolling,distilling,scrolling,strolling,caucusing,travelling¦7:installing,redefining,stencilling,recharging,overeating,benefiting,unraveling,programing¦9:reprogramming¦is:being¦2e:using,aging,owing¦3e:making,taking,coming,noting,hiring,filing,coding,citing,doping,baking,coping,hoping,lading,caring,naming,voting,riding,mining,curing,lining,ruling,typing,boring,dining,firing,hiding,piling,taping,waning,baling,boning,faring,honing,wiping,luring,timing,wading,piping,fading,biting,zoning,daring,waking,gaming,raking,ceding,tiring,coking,wining,joking,paring,gaping,poking,pining,coring,liming,toting,roping,wiring,aching¦4e:writing,storing,eroding,framing,smoking,tasting,wasting,phoning,shaking,abiding,braking,flaking,pasting,priming,shoring,sloping,withing,hinging¦5e:defining,refining,renaming,swathing,fringing,reciting¦1ie:dying,tying,lying,vying¦7e:sunbathing"},as={fwd:"1:mt¦2:llen¦3:iven,aken¦:ne¦y:in",both:"1:wn¦2:me,aten¦3:seen,bidden,isen¦4:roven,asten¦3l:pilt¦3d:uilt¦2e:itten¦1im:wum¦1eak:poken¦1ine:hone¦1ose:osen¦1in:gun¦1ake:woken¦ear:orn¦eal:olen¦eeze:ozen¦et:otten¦ink:unk¦ing:ung",rev:"2:un¦oken:eak¦ought:eek¦oven:eave¦1ne:o¦1own:ly¦1den:de¦1in:ay¦2t:am¦2n:ee¦3en:all¦4n:rive,sake,take¦5n:rgive",ex:"2:been¦3:seen,run¦4:given,taken¦5:shaken¦2eak:broken¦1ive:dove¦2y:flown¦3e:hidden,ridden¦1eek:sought¦1ake:woken¦1eave:woven"},os={fwd:"1:oes¦1ve:as",both:"1:xes¦2:zzes,ches,shes,sses¦3:iases¦2y:llies,plies¦1y:cies,bies,ties,vies,nies,pies,dies,ries,fies¦:s",rev:"1ies:ly¦2es:us,go,do¦3es:cho,eto",ex:"2:does,goes¦3:gasses¦5:focuses¦is:are¦3y:relies¦2y:flies¦2ve:has"},is={fwd:"1st:e¦1est:l,m,f,s¦1iest:cey¦2est:or,ir¦3est:ver",both:"4:east¦5:hwest¦5lest:erful¦4est:weet,lgar,tter,oung¦4most:uter¦3est:ger,der,rey,iet,ong,ear¦3test:lat¦3most:ner¦2est:pt,ft,nt,ct,rt,ht¦2test:it¦2gest:ig¦1est:b,k,n,p,h,d,w¦iest:y",rev:"1:ttest,nnest,yest¦2:sest,stest,rmest,cest,vest,lmest,olest,ilest,ulest,ssest,imest,uest¦3:rgest,eatest,oorest,plest,allest,urest,iefest,uelest,blest,ugest,amest,yalest,ealest,illest,tlest,itest¦4:cerest,eriest,somest,rmalest,ndomest,motest,uarest,tiffest¦5:leverest,rangest¦ar:urthest¦3ey:riciest",ex:"best:good¦worst:bad¦5est:great¦4est:fast,full,fair,dull¦3test:hot,wet,fat¦4nest:thin¦1urthest:far¦3est:gay,shy,ill¦4test:neat¦4st:late,wide,fine,safe,cute,fake,pale,rare,rude,sore,ripe,dire¦6st:severe"},ss={fwd:"1:tistic,eable,lful,sful,ting,tty¦2:onate,rtable,geous,ced,seful,ctful¦3:ortive,ented¦arity:ear¦y:etic¦fulness:begone¦1ity:re¦1y:tiful,gic¦2ity:ile,imous,ilous,ime¦2ion:ated¦2eness:iving¦2y:trious¦2ation:iring¦2tion:vant¦3ion:ect¦3ce:mant,mantic¦3tion:irable¦3y:est,estic¦3m:mistic,listic¦3ess:ning¦4n:utious¦4on:rative,native,vative,ective¦4ce:erant",both:"1:king,wing¦2:alous,ltuous,oyful,rdous¦3:gorous,ectable,werful,amatic¦4:oised,usical,agical,raceful,ocused,lined,ightful¦5ness:stful,lding,itous,nuous,ulous,otous,nable,gious,ayful,rvous,ntous,lsive,peful,entle,ciful,osive,leful,isive,ncise,reful,mious¦5ty:ivacious¦5ties:ubtle¦5ce:ilient,adiant,atient¦5cy:icient¦5sm:gmatic¦5on:sessive,dictive¦5ity:pular,sonal,eative,entic¦5sity:uminous¦5ism:conic¦5nce:mperate¦5ility:mitable¦5ment:xcited¦5n:bitious¦4cy:brant,etent,curate¦4ility:erable,acable,icable,ptable¦4ty:nacious,aive,oyal,dacious¦4n:icious¦4ce:vient,erent,stent,ndent,dient,quent,ident¦4ness:adic,ound,hing,pant,sant,oing,oist,tute¦4icity:imple¦4ment:fined,mused¦4ism:otic¦4ry:dantic¦4ity:tund,eral¦4edness:hand¦4on:uitive¦4lity:pitable¦4sm:eroic,namic¦4sity:nerous¦3th:arm¦3ility:pable,bable,dable,iable¦3cy:hant,nant,icate¦3ness:red,hin,nse,ict,iet,ite,oud,ind,ied,rce¦3ion:lute¦3ity:ual,gal,volous,ial¦3ce:sent,fensive,lant,gant,gent,lent,dant¦3on:asive¦3m:fist,sistic,iastic¦3y:terious,xurious,ronic,tastic¦3ur:amorous¦3e:tunate¦3ation:mined¦3sy:rteous¦3ty:ain¦3ry:ave¦3ment:azed¦2ness:de,on,ue,rn,ur,ft,rp,pe,om,ge,rd,od,ay,ss,er,ll,oy,ap,ht,ld,ad,rt¦2inousness:umous¦2ity:neous,ene,id,ane¦2cy:bate,late¦2ation:ized¦2ility:oble,ible¦2y:odic¦2e:oving,aring¦2s:ost¦2itude:pt¦2dom:ee¦2ance:uring¦2tion:reet¦2ion:oted¦2sion:ending¦2liness:an¦2or:rdent¦1th:ung¦1e:uable¦1ness:w,h,k,f¦1ility:mble¦1or:vent¦1ement:ging¦1tiquity:ncient¦1ment:hed¦verty:or¦ength:ong¦eat:ot¦pth:ep¦iness:y",rev:"",ex:"5:forceful,humorous¦8:charismatic¦13:understanding¦5ity:active¦11ness:adventurous,inquisitive,resourceful¦8on:aggressive,automatic,perceptive¦7ness:amorous,fatuous,furtive,ominous,serious¦5ness:ample,sweet¦12ness:apprehensive,cantankerous,contemptuous,ostentatious¦13ness:argumentative,conscientious¦9ness:assertive,facetious,imperious,inventive,oblivious,rapacious,receptive,seditious,whimsical¦10ness:attractive,expressive,impressive,loquacious,salubrious,thoughtful¦3edom:boring¦4ness:calm,fast,keen,tame¦8ness:cheerful,gracious,specious,spurious,timorous,unctuous¦5sity:curious¦9ion:deliberate¦8ion:desperate¦6e:expensive¦7ce:fragrant¦3y:furious¦9ility:ineluctable¦6ism:mystical¦8ity:physical,proactive,sensitive,vertical¦5cy:pliant¦7ity:positive¦9ity:practical¦12ism:professional¦6ce:prudent¦3ness:red¦6cy:vagrant¦3dom:wise"},ls=function(e="",t={}){let n=function(e,t={}){return t.hasOwnProperty(e)?t[e]:null}(e,t.ex);return n=n||function(e,t=[]){for(let n=0;n=1;r-=1){let a=e.length-r,o=e.substring(a,e.length);if(!0===t.hasOwnProperty(o))return e.slice(0,a)+t[o];if(!0===n.hasOwnProperty(o))return e.slice(0,a)+n[o]}return t.hasOwnProperty("")?e+t[""]:n.hasOwnProperty("")?e+n[""]:null}(e,t.fwd,t.both),n=n||e,n};const us=function(e){return Object.entries(e).reduce(((e,t)=>(e[t[1]]=t[0],e)),{})};var cs=function(e={}){return{reversed:!0,both:us(e.both),ex:us(e.ex),fwd:e.rev||{}}};const hs=/^([0-9]+)/,ds=function(e){let t=function(e){let t={};return e.split("¦").forEach((e=>{let[n,r]=e.split(":");r=(r||"").split(","),r.forEach((e=>{t[e]=n}))})),t}(e);return Object.keys(t).reduce(((e,n)=>(e[n]=function(e="",t=""){let n=(t=String(t)).match(hs);if(null===n)return t;let r=Number(n[1])||0;return e.substring(0,r)+t.replace(hs,"")}(n,t[n]),e)),{})};var gs=function(e={}){return"string"==typeof e&&(e=JSON.parse(e)),e.fwd=ds(e.fwd||""),e.both=ds(e.both||""),e.rev=ds(e.rev||""),e.ex=ds(e.ex||""),e};const ms=gs({fwd:"1:tted,wed,gged,nned,een,rred,pped,yed,bbed,oed,dded,rd,wn,mmed¦2:eed,nded,et,hted,st,oled,ut,emed,eled,lded,ken,rt,nked,apt,ant,eped,eked¦3:eared,eat,eaded,nelled,ealt,eeded,ooted,eaked,eaned,eeted,mited,bid,uit,ead,uited,ealed,geted,velled,ialed,belled¦4:ebuted,hined,comed¦y:ied¦ome:ame¦ear:ore¦ind:ound¦ing:ung,ang¦ep:pt¦ink:ank,unk¦ig:ug¦all:ell¦ee:aw¦ive:ave¦eeze:oze¦old:eld¦ave:ft¦ake:ook¦ell:old¦ite:ote¦ide:ode¦ine:one¦in:un,on¦eal:ole¦im:am¦ie:ay¦and:ood¦1ise:rose¦1eak:roke¦1ing:rought¦1ive:rove¦1el:elt¦1id:bade¦1et:got¦1y:aid¦1it:sat¦3e:lid¦3d:pent",both:"1:aed,fed,xed,hed¦2:sged,xted,wled,rped,lked,kied,lmed,lped,uped,bted,rbed,rked,wned,rled,mped,fted,mned,mbed,zzed,omed,ened,cked,gned,lted,sked,ued,zed,nted,ered,rted,rmed,ced,sted,rned,ssed,rded,pted,ved,cted¦3:cled,eined,siped,ooned,uked,ymed,jored,ouded,ioted,oaned,lged,asped,iged,mured,oided,eiled,yped,taled,moned,yled,lit,kled,oaked,gled,naled,fled,uined,oared,valled,koned,soned,aided,obed,ibed,meted,nicked,rored,micked,keted,vred,ooped,oaded,rited,aired,auled,filled,ouled,ooded,ceted,tolled,oited,bited,aped,tled,vored,dled,eamed,nsed,rsed,sited,owded,pled,sored,rged,osed,pelled,oured,psed,oated,loned,aimed,illed,eured,tred,ioned,celled,bled,wsed,ooked,oiled,itzed,iked,iased,onged,ased,ailed,uned,umed,ained,auded,nulled,ysed,eged,ised,aged,oined,ated,used,dged,doned¦4:ntied,efited,uaked,caded,fired,roped,halled,roked,himed,culed,tared,lared,tuted,uared,routed,pited,naked,miled,houted,helled,hared,cored,caled,tired,peated,futed,ciled,called,tined,moted,filed,sided,poned,iloted,honed,lleted,huted,ruled,cured,named,preted,vaded,sured,talled,haled,peded,gined,nited,uided,ramed,feited,laked,gured,ctored,unged,pired,cuted,voked,eloped,ralled,rined,coded,icited,vided,uaded,voted,mined,sired,noted,lined,nselled,luted,jured,fided,puted,piled,pared,olored,cided,hoked,enged,tured,geoned,cotted,lamed,uiled,waited,udited,anged,luded,mired,uired,raded¦5:modelled,izzled,eleted,umpeted,ailored,rseded,treated,eduled,ecited,rammed,eceded,atrolled,nitored,basted,twined,itialled,ncited,gnored,ploded,xcited,nrolled,namelled,plored,efeated,redited,ntrolled,nfined,pleted,llided,lcined,eathed,ibuted,lloted,dhered,cceded¦3ad:sled¦2aw:drew¦2ot:hot¦2ke:made¦2ow:hrew,grew¦2ose:hose¦2d:ilt¦2in:egan¦1un:ran¦1ink:hought¦1ick:tuck¦1ike:ruck¦1eak:poke,nuck¦1it:pat¦1o:did¦1ow:new¦1ake:woke¦go:went",rev:"3:rst,hed,hut,cut,set¦4:tbid¦5:dcast,eread,pread,erbid¦ought:uy,eek¦1ied:ny,ly,dy,ry,fy,py,vy,by,ty,cy¦1ung:ling,ting,wing¦1pt:eep¦1ank:rink¦1ore:bear,wear¦1ave:give¦1oze:reeze¦1ound:rind,wind¦1ook:take,hake¦1aw:see¦1old:sell¦1ote:rite¦1ole:teal¦1unk:tink¦1am:wim¦1ay:lie¦1ood:tand¦1eld:hold¦2d:he,ge,re,le,leed,ne,reed,be,ye,lee,pe,we¦2ed:dd,oy,or,ey,gg,rr,us,ew,to¦2ame:ecome,rcome¦2ped:ap¦2ged:ag,og,ug,eg¦2bed:ub,ab,ib,ob¦2lt:neel¦2id:pay¦2ang:pring¦2ove:trive¦2med:um¦2ode:rride¦2at:ysit¦3ted:mit,hat,mat,lat,pot,rot,bat¦3ed:low,end,tow,und,ond,eem,lay,cho,dow,xit,eld,ald,uld,law,lel,eat,oll,ray,ank,fin,oam,out,how,iek,tay,haw,ait,vet,say,cay,bow¦3d:ste,ede,ode,ete,ree,ude,ame,oke,ote,ime,ute,ade¦3red:lur,cur,pur,car¦3ped:hop,rop,uip,rip,lip,tep,top¦3ded:bed,rod,kid¦3ade:orbid¦3led:uel¦3ned:lan,can,kin,pan,tun¦3med:rim,lim¦4ted:quit,llot¦4ed:pear,rrow,rand,lean,mand,anel,pand,reet,link,abel,evel,imit,ceed,ruit,mind,peal,veal,hool,head,pell,well,mell,uell,band,hear,weak¦4led:nnel,qual,ebel,ivel¦4red:nfer,efer,sfer¦4n:sake,trew¦4d:ntee¦4ded:hred¦4ned:rpin¦5ed:light,nceal,right,ndear,arget,hread,eight,rtial,eboot¦5d:edite,nvite¦5ted:egret¦5led:ravel",ex:"2:been,upped¦3:added,aged,aided,aimed,aired,bid,died,dyed,egged,erred,eyed,fit,gassed,hit,lied,owed,pent,pied,tied,used,vied,oiled,outed,banned,barred,bet,canned,cut,dipped,donned,ended,feed,inked,jarred,let,manned,mowed,netted,padded,panned,pitted,popped,potted,put,set,sewn,sowed,tanned,tipped,topped,vowed,weed,bowed,jammed,binned,dimmed,hopped,mopped,nodded,pinned,rigged,sinned,towed,vetted¦4:ached,baked,baled,boned,bored,called,caned,cared,ceded,cited,coded,cored,cubed,cured,dared,dined,edited,exited,faked,fared,filed,fined,fired,fuelled,gamed,gelled,hired,hoped,joked,lined,mined,named,noted,piled,poked,polled,pored,pulled,reaped,roamed,rolled,ruled,seated,shed,sided,timed,tolled,toned,voted,waited,walled,waned,winged,wiped,wired,zoned,yelled,tamed,lubed,roped,faded,mired,caked,honed,banged,culled,heated,raked,welled,banded,beat,cast,cooled,cost,dealt,feared,folded,footed,handed,headed,heard,hurt,knitted,landed,leaked,leapt,linked,meant,minded,molded,neared,needed,peaked,plodded,plotted,pooled,quit,read,rooted,sealed,seeded,seeped,shipped,shunned,skimmed,slammed,sparred,stemmed,stirred,suited,thinned,twinned,swayed,winked,dialed,abutted,blotted,fretted,healed,heeded,peeled,reeled¦5:basted,cheated,equalled,eroded,exiled,focused,opined,pleated,primed,quoted,scouted,shored,sloped,smoked,sniped,spelled,spouted,routed,staked,stored,swelled,tasted,treated,wasted,smelled,dwelled,honored,prided,quelled,eloped,scared,coveted,sweated,breaded,cleared,debuted,deterred,freaked,modeled,pleaded,rebutted,speeded¦6:anchored,defined,endured,impaled,invited,refined,revered,strolled,cringed,recast,thrust,unfolded¦7:authored,combined,competed,conceded,convened,excreted,extruded,redefined,restored,secreted,rescinded,welcomed¦8:expedited,infringed¦9:interfered,intervened,persevered¦10:contravened¦eat:ate¦is:was¦go:went¦are:were¦3d:bent,lent,rent,sent¦3e:bit,fled,hid,lost¦3ed:bled,bred¦2ow:blew,grew¦1uy:bought¦2tch:caught¦1o:did¦1ive:dove,gave¦2aw:drew¦2ed:fed¦2y:flew,laid,paid,said¦1ight:fought¦1et:got¦2ve:had¦1ang:hung¦2ad:led¦2ght:lit¦2ke:made¦2et:met¦1un:ran¦1ise:rose¦1it:sat¦1eek:sought¦1each:taught¦1ake:woke,took¦1eave:wove¦2ise:arose¦1ear:bore,tore,wore¦1ind:bound,found,wound¦2eak:broke¦2ing:brought,wrung¦1ome:came¦2ive:drove¦1ig:dug¦1all:fell¦2el:felt¦4et:forgot¦1old:held¦2ave:left¦1ing:rang,sang¦1ide:rode¦1ink:sank¦1ee:saw¦2ine:shone¦4e:slid¦1ell:sold,told¦4d:spent¦2in:spun¦1in:won"}),ps=gs(os),fs=gs(rs),vs=gs(as),bs=cs(ms),ys=cs(ps),ws=cs(fs),ks=cs(vs),Ps=gs(ns),As=gs(is);var Cs={fromPast:ms,fromPresent:ps,fromGerund:fs,fromParticiple:vs,toPast:bs,toPresent:ys,toGerund:ws,toParticiple:ks,toComparative:Ps,toSuperlative:As,fromComparative:cs(Ps),fromSuperlative:cs(As),adjToNoun:gs(ss)},Ns=["academy","administration","agence","agences","agencies","agency","airlines","airways","army","assoc","associates","association","assurance","authority","autorite","aviation","bank","banque","board","boys","brands","brewery","brotherhood","brothers","bureau","cafe","co","caisse","capital","care","cathedral","center","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","corp","council","crew","data","departement","department","departments","design","development","directorate","division","drilling","education","eglise","electric","electricity","energy","ensemble","enterprise","enterprises","entertainment","estate","etat","faculty","faction","federation","financial","fm","foundation","fund","gas","gazette","girls","government","group","guild","herald","holdings","hospital","hotel","hotels","inc","industries","institut","institute","institutes","insurance","international","interstate","investment","investments","investors","journal","laboratory","labs","llc","ltd","limited","machines","magazine","management","marine","marketing","markets","media","memorial","ministere","ministry","military","mobile","motor","motors","musee","museum","news","observatory","office","oil","optical","orchestra","organization","partners","partnership","petrol","petroleum","pharmacare","pharmaceutical","pharmaceuticals","pizza","plc","police","politburo","polytechnic","post","power","press","productions","quartet","radio","reserve","resources","restaurant","restaurants","savings","school","securities","service","services","societe","subsidiary","society","sons","subcommittee","syndicat","systems","telecommunications","telegraph","television","times","tribunal","tv","union","university","utilities","workers"].reduce(((e,t)=>(e[t]=!0,e)),{}),js=["atoll","basin","bay","beach","bluff","bog","camp","canyon","canyons","cape","cave","caves","cliffs","coast","cove","coves","crater","creek","desert","dune","dunes","escarpment","estuary","falls","fjord","fjords","forest","forests","glacier","gorge","gorges","gulf","gully","highland","hill","hills","inlet","island","islands","isthmus","knoll","lagoon","lake","marsh","marshes","mount","mountain","mountains","narrows","peninsula","plains","plateau","pond","rapids","ravine","reef","reefs","ridge","river","rivers","sandhill","shoal","shore","shoreline","shores","strait","straits","stream","swamp","tombolo","trail","trails","trench","valley","vallies","volcano","waterfall","watershed","wetland","woods","burough","county","district","municipality","prefecture","province","region","reservation","state","territory","borough","metropolis","downtown","uptown","midtown","city","town","township","hamlet","country","kingdom","enclave","neighbourhood","neighborhood","kingdom","ward","zone","airport","amphitheater","arch","arena","auditorium","bar","barn","basilica","battlefield","bridge","building","castle","centre","coliseum","cineplex","complex","dam","farm","field","fort","garden","gardens","gymnasium","hall","house","levee","library","memorial","monument","museum","gallery","palace","pillar","pits","plantation","playhouse","quarry","sportsfield","sportsplex","stadium","terrace","terraces","theater","tower","park","parks","site","raceway","sportsplex","st","street","rd","road","crescent","cr","way","tr","terrace","avenue","ave"].reduce(((e,t)=>(e[t]=!0,e)),{}),xs=[[/([^v])ies$/i,"$1y"],[/(ise)s$/i,"$1"],[/(kn|[^o]l|w)ives$/i,"$1ife"],[/^((?:ca|e|ha|(?:our|them|your)?se|she|wo)l|lea|loa|shea|thie)ves$/i,"$1f"],[/^(dwar|handkerchie|hoo|scar|whar)ves$/i,"$1f"],[/(antenn|formul|nebul|vertebr|vit)ae$/i,"$1a"],[/(octop|vir|radi|nucle|fung|cact|stimul)(i)$/i,"$1us"],[/(buffal|tomat|tornad)(oes)$/i,"$1o"],[/(ause)s$/i,"$1"],[/(ease)s$/i,"$1"],[/(ious)es$/i,"$1"],[/(ouse)s$/i,"$1"],[/(ose)s$/i,"$1"],[/(..ase)s$/i,"$1"],[/(..[aeiu]s)es$/i,"$1"],[/(vert|ind|cort)(ices)$/i,"$1ex"],[/(matr|append)(ices)$/i,"$1ix"],[/([xo]|ch|ss|sh)es$/i,"$1"],[/men$/i,"man"],[/(n)ews$/i,"$1ews"],[/([ti])a$/i,"$1um"],[/([^aeiouy]|qu)ies$/i,"$1y"],[/(s)eries$/i,"$1eries"],[/(m)ovies$/i,"$1ovie"],[/(cris|ax|test)es$/i,"$1is"],[/(alias|status)es$/i,"$1"],[/(ss)$/i,"$1"],[/(ic)s$/i,"$1"],[/s$/i,""]],Is=function(e,t){const{irregularPlurals:n}=t.two;let r=(a=n,Object.keys(a).reduce(((e,t)=>(e[a[t]]=t,e)),{}));var a;if(r.hasOwnProperty(e))return r[e];for(let t=0;t(Hs[t].forEach((n=>e[n]=t)),e)),{});var Ds=Hs,Gs=function(e){let t=e.substring(e.length-3);if(!0===Ds.hasOwnProperty(t))return Ds[t];let n=e.substring(e.length-2);return!0===Ds.hasOwnProperty(n)?Ds[n]:"s"===e.substring(e.length-1)?"PresentTense":null};const Es={are:"be",were:"be",been:"be",is:"be",am:"be",was:"be",be:"be",being:"be"};var Os=function(e,t,n){const{fromPast:r,fromPresent:a,fromGerund:o,fromParticiple:i}=t.two.models;let{prefix:s,verb:l,particle:u}=function(e,t){let n="",r={};t.one&&t.one.prefixes&&(r=t.one.prefixes);let[a,o]=e.split(/ /);return o&&!0===r[a]&&(n=a,a=o,o=""),{prefix:n,verb:a,particle:o}}(e,t),c="";if(n||(n=Gs(e)),Es.hasOwnProperty(e))c=Es[e];else if("Participle"===n)c=ls(l,i);else if("PastTense"===n)c=ls(l,r);else if("PresentTense"===n)c=ls(l,a);else{if("Gerund"!==n)return e;c=ls(l,o)}return u&&(c+=" "+u),s&&(c=s+" "+c),c},Fs=function(e,t){const{toPast:n,toPresent:r,toGerund:a,toParticiple:o}=t.two.models;if("be"===e)return{Infinitive:e,Gerund:"being",PastTense:"was",PresentTense:"is"};let[i,s]=(e=>/ /.test(e)?e.split(/ /):[e,""])(e),l={Infinitive:i,PastTense:ls(i,n),PresentTense:ls(i,r),Gerund:ls(i,a),FutureTense:"will "+i},u=ls(i,o);if(u!==e&&u!==l.PastTense){let n=t.one.lexicon||{};"Participle"!==n[u]&&"Adjective"!==n[u]||("play"===e&&(u="played"),l.Participle=u)}return s&&Object.keys(l).forEach((e=>{l[e]+=" "+s})),l},Vs={toInfinitive:Os,conjugate:Fs,all:function(e,t){let n=Fs(e,t);return delete n.FutureTense,Object.values(n).filter((e=>e))}};const zs=function(e,t){const n=t.two.models.toSuperlative;return ls(e,n)},$s=function(e,t){const n=t.two.models.toComparative;return ls(e,n)};var Ls=function(e="",t=[]){const n=e.length;for(let r=n<=6?n-1:6;r>=1;r-=1){let a=e.substring(n-r,e.length);if(!0===t[a.length].hasOwnProperty(a))return e.slice(0,n-r)+t[a.length][a]}return null};const Ss="ically",Ms=new Set(["analyt"+Ss,"chem"+Ss,"class"+Ss,"clin"+Ss,"crit"+Ss,"ecolog"+Ss,"electr"+Ss,"empir"+Ss,"frant"+Ss,"grammat"+Ss,"ident"+Ss,"ideolog"+Ss,"log"+Ss,"mag"+Ss,"mathemat"+Ss,"mechan"+Ss,"med"+Ss,"method"+Ss,"method"+Ss,"mus"+Ss,"phys"+Ss,"phys"+Ss,"polit"+Ss,"pract"+Ss,"rad"+Ss,"satir"+Ss,"statist"+Ss,"techn"+Ss,"technolog"+Ss,"theoret"+Ss,"typ"+Ss,"vert"+Ss,"whims"+Ss]),Bs=[null,{},{ly:""},{ily:"y",bly:"ble",ply:"ple"},{ally:"al",rply:"rp"},{ually:"ual",ially:"ial",cally:"cal",eally:"eal",rally:"ral",nally:"nal",mally:"mal",eeply:"eep",eaply:"eap"},{ically:"ic"}],Js=new Set(["early","only","hourly","daily","weekly","monthly","yearly","mostly","duly","unduly","especially","undoubtedly","conversely","namely","exceedingly","presumably","accordingly","overly","best","latter","little","long","low"]),Ws={wholly:"whole",fully:"full",truly:"true",gently:"gentle",singly:"single",customarily:"customary",idly:"idle",publically:"public",quickly:"quick",superbly:"superb",cynically:"cynical",well:"good"},qs=[null,{y:"ily"},{ly:"ly",ic:"ically"},{ial:"ially",ual:"ually",tle:"tly",ble:"bly",ple:"ply",ary:"arily"},{},{},{}],Ks={cool:"cooly",whole:"wholly",full:"fully",good:"well",idle:"idly",public:"publicly",single:"singly",special:"especially"};var Us=function(e){if(Ks.hasOwnProperty(e))return Ks[e];let t=Ls(e,qs);return t||(t=e+"ly"),t},Rs={toSuperlative:zs,toComparative:$s,toAdverb:Us,toNoun:function(e,t){const n=t.two.models.adjToNoun;return ls(e,n)},fromAdverb:function(e){return e.endsWith("ly")?Ms.has(e)?e.replace(/ically/,"ical"):Js.has(e)?null:Ws.hasOwnProperty(e)?Ws[e]:Ls(e,Bs)||e:null},fromSuperlative:function(e,t){const n=t.two.models.fromSuperlative;return ls(e,n)},fromComparative:function(e,t){const n=t.two.models.fromComparative;return ls(e,n)},all:function(e,t){let n=[e];return n.push(zs(e,t)),n.push($s(e,t)),n.push(Us(e)),n=n.filter((e=>e)),n=new Set(n),Array.from(n)}},Qs={noun:Ts,verb:Vs,adjective:Rs},_s={Singular:(e,t,n,r)=>{let a=r.one.lexicon,o=n.two.transform.noun.toPlural(e,r);a[o]||(t[o]=t[o]||"Plural")},Actor:(e,t,n,r)=>{let a=r.one.lexicon,o=n.two.transform.noun.toPlural(e,r);a[o]||(t[o]=t[o]||["Plural","Actor"])},Comparable:(e,t,n,r)=>{let a=r.one.lexicon,{toSuperlative:o,toComparative:i}=n.two.transform.adjective,s=o(e,r);a[s]||(t[s]=t[s]||"Superlative");let l=i(e,r);a[l]||(t[l]=t[l]||"Comparative"),t[e]="Adjective"},Demonym:(e,t,n,r)=>{let a=n.two.transform.noun.toPlural(e,r);t[a]=t[a]||["Demonym","Plural"]},Infinitive:(e,t,n,r)=>{let a=r.one.lexicon,o=n.two.transform.verb.conjugate(e,r);Object.entries(o).forEach((e=>{a[e[1]]||t[e[1]]||(t[e[1]]=e[0])}))},PhrasalVerb:(e,t,n,r)=>{let a=r.one.lexicon;t[e]=["PhrasalVerb","Infinitive"];let o=r.one._multiCache,[i,s]=e.split(" ");a[i]||(t[i]=t[i]||"Infinitive");let l=n.two.transform.verb.conjugate(i,r);delete l.FutureTense,Object.entries(l).forEach((e=>{if("Actor"===e[0]||""===e[1])return;t[e[1]]||a[e[1]]||(t[e[1]]=e[0]),o[e[1]]=!0;let n=e[1]+" "+s;t[n]=t[n]||[e[0],"PhrasalVerb"]}))},Multiple:(e,t)=>{t[e]=["Multiple","Cardinal"],t[e+"th"]=["Multiple","Ordinal"],t[e+"ths"]=["Multiple","Fraction"]},Cardinal:(e,t)=>{t[e]=["TextValue","Cardinal"]},Ordinal:(e,t)=>{t[e]=["TextValue","Ordinal"],t[e+"s"]=["TextValue","Fraction"]},Place:(e,t)=>{t[e]=["Place","ProperNoun"]},Region:(e,t)=>{t[e]=["Region","ProperNoun"]}},Xs=function(e,t){const{methods:n,model:r}=t;let a={},o={};return Object.keys(e).forEach((t=>{let i=e[t],s=(t=(t=t.toLowerCase().trim()).replace(/'s\b/,"")).split(/ /);s.length>1&&(o[s[0]]=!0),!0===_s.hasOwnProperty(i)&&_s[i](t,a,n,r),a[t]=a[t]||i})),delete a[""],delete a.null,delete a[" "],{lex:a,_multi:o}},Zs=function(e){const t=/[,:;]/;let n=[];return e.forEach((e=>{let r=0;e.forEach(((a,o)=>{t.test(a.post)&&function(e,t){const n=/^[0-9]+$/;let r=e[t];if(!r)return!1;const a=new Set(["may","april","august","jan"]);if("like"===r.normal||a.has(r.normal))return!1;if(r.tags.has("Place")||r.tags.has("Date"))return!1;if(e[t-1]){let n=e[t-1];if(n.tags.has("Date")||a.has(n.normal))return!1;if(n.tags.has("Adjective")||r.tags.has("Adjective"))return!1}let o=r.normal;return 1!==o.length&&2!==o.length&&4!==o.length||!n.test(o)}(e,o+1)&&(n.push(e.slice(r,o+1)),r=o+1)})),re.endsWith(t))):"s"===t&&!tl.find((t=>e.endsWith(t)))},rl={two:{quickSplit:Zs,expandLexicon:Xs,transform:Qs,looksPlural:nl}},al=function(e){const{irregularPlurals:t}=e.two,{lexicon:n}=e.one;return Object.entries(t).forEach((e=>{n[e[0]]=n[e[0]]||"Singular",n[e[1]]=n[e[1]]||"Plural"})),e};let ol={one:{lexicon:{}},two:{models:Cs}};const il={"Actor|Verb":"Actor","Adj|Gerund":"Adjective","Adj|Noun":"Adjective","Adj|Past":"Adjective","Adj|Present":"Adjective","Noun|Verb":"Singular","Noun|Gerund":"Gerund","Person|Noun":"Noun","Person|Date":"Month","Person|Verb":"FirstName","Person|Place":"Person","Person|Adj":"Comparative","Plural|Verb":"Plural","Unit|Noun":"Noun"},sl=function(e,t){const n={model:t,methods:rl};let{lex:r,_multi:a}=rl.two.expandLexicon(e,n);return Object.assign(t.one.lexicon,r),Object.assign(t.one._multiCache,a),t},ll=function(e,t,n){let r=Fs(e,ol);t[r.PastTense]=t[r.PastTense]||"PastTense",t[r.Gerund]=t[r.Gerund]||"Gerund",!0===n&&(t[r.PresentTense]=t[r.PresentTense]||"PresentTense")},ul=function(e,t,n){let r=zs(e,n);t[r]=t[r]||"Superlative";let a=$s(e,n);t[a]=t[a]||"Comparative"},cl=function(e,t){let n={};const r=t.one.lexicon;return Object.keys(e).forEach((a=>{const o=e[a];if(n[a]=il[o],"Noun|Verb"!==o&&"Person|Verb"!==o&&"Actor|Verb"!==o||ll(a,r,!1),"Adj|Present"===o&&(ll(a,r,!0),ul(a,r,t)),"Person|Adj"===o&&ul(a,r,t),"Adj|Gerund"===o||"Noun|Gerund"===o){let e=Os(a,ol,"Gerund");r[e]||(n[e]="Infinitive")}if("Noun|Gerund"!==o&&"Adj|Noun"!==o&&"Person|Noun"!==o||function(e,t,n){let r=Fo(e,n);t[r]=t[r]||"Plural"}(a,r,t),"Adj|Past"===o){let e=Os(a,ol,"PastTense");r[e]||(n[e]="Infinitive")}})),t=sl(n,t)};var hl=function(e){return e=function(e,t){return Object.keys(e).forEach((n=>{"Uncountable"===e[n]&&(t.two.uncountable[n]=!0,e[n]="Uncountable")})),t}((e=sl(e.one.lexicon,e)).one.lexicon,e),e=cl(e.two.switches,e),e=al(e)};let dl={one:{_multiCache:{},lexicon:zo},two:{irregularPlurals:Po,models:Cs,suffixPatterns:Vi,prefixPatterns:Si,endsWith:Zi,neighbours:ts,regexNormal:[[/^[\w.]+@[\w.]+\.[a-z]{2,3}$/,"Email"],[/^(https?:\/\/|www\.)+\w+\.[a-z]{2,3}/,"Url","http.."],[/^[a-z0-9./].+\.(com|net|gov|org|ly|edu|info|biz|dev|ru|jp|de|in|uk|br|io|ai)/,"Url",".com"],[/^[PMCE]ST$/,"Timezone","EST"],[/^ma?c'.*/,"LastName","mc'neil"],[/^o'[drlkn].*/,"LastName","o'connor"],[/^ma?cd[aeiou]/,"LastName","mcdonald"],[/^(lol)+[sz]$/,"Expression","lol"],[/^wo{2,}a*h?$/,"Expression","wooah"],[/^(hee?){2,}h?$/,"Expression","hehe"],[/^(un|de|re)\\-[a-z\u00C0-\u00FF]{2}/,"Verb","un-vite"],[/^(m|k|cm|km)\/(s|h|hr)$/,"Unit","5 k/m"],[/^(ug|ng|mg)\/(l|m3|ft3)$/,"Unit","ug/L"]],regexText:[[/^#[\p{Number}_]*\p{Letter}/u,"HashTag"],[/^@\w{2,}$/,"AtMention"],[/^([A-Z]\.){2}[A-Z]?/i,["Acronym","Noun"],"F.B.I"],[/.{3}[lkmnp]in['‘’‛‵′`´]$/,"Gerund","chillin'"],[/.{4}s['‘’‛‵′`´]$/,"Possessive","flanders'"],[/^[\p{Emoji_Presentation}\p{Extended_Pictographic}]/u,"Emoji","emoji-class"]],regexNumbers:[[/^@1?[0-9](am|pm)$/i,"Time","3pm"],[/^@1?[0-9]:[0-9]{2}(am|pm)?$/i,"Time","3:30pm"],[/^'[0-9]{2}$/,"Year"],[/^[012]?[0-9](:[0-5][0-9])(:[0-5][0-9])$/,"Time","3:12:31"],[/^[012]?[0-9](:[0-5][0-9])?(:[0-5][0-9])? ?(am|pm)$/i,"Time","1:12pm"],[/^[012]?[0-9](:[0-5][0-9])(:[0-5][0-9])? ?(am|pm)?$/i,"Time","1:12:31pm"],[/^[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}/i,"Date","iso-date"],[/^[0-9]{1,4}-[0-9]{1,2}-[0-9]{1,4}$/,"Date","iso-dash"],[/^[0-9]{1,4}\/[0-9]{1,2}\/([0-9]{4}|[0-9]{2})$/,"Date","iso-slash"],[/^[0-9]{1,4}\.[0-9]{1,2}\.[0-9]{1,4}$/,"Date","iso-dot"],[/^[0-9]{1,4}-[a-z]{2,9}-[0-9]{1,4}$/i,"Date","12-dec-2019"],[/^utc ?[+-]?[0-9]+$/,"Timezone","utc-9"],[/^(gmt|utc)[+-][0-9]{1,2}$/i,"Timezone","gmt-3"],[/^[0-9]{3}-[0-9]{4}$/,"PhoneNumber","421-0029"],[/^(\+?[0-9][ -])?[0-9]{3}[ -]?[0-9]{3}-[0-9]{4}$/,"PhoneNumber","1-800-"],[/^[-+]?\p{Currency_Symbol}[-+]?[0-9]+(,[0-9]{3})*(\.[0-9]+)?([kmb]|bn)?\+?$/u,["Money","Value"],"$5.30"],[/^[-+]?[0-9]+(,[0-9]{3})*(\.[0-9]+)?\p{Currency_Symbol}\+?$/u,["Money","Value"],"5.30£"],[/^[-+]?[$£]?[0-9]([0-9,.])+(usd|eur|jpy|gbp|cad|aud|chf|cny|hkd|nzd|kr|rub)$/i,["Money","Value"],"$400usd"],[/^[-+]?[0-9]+(,[0-9]{3})*(\.[0-9]+)?\+?$/,["Cardinal","NumericValue"],"5,999"],[/^[-+]?[0-9]+(,[0-9]{3})*(\.[0-9]+)?(st|nd|rd|r?th)$/,["Ordinal","NumericValue"],"53rd"],[/^\.[0-9]+\+?$/,["Cardinal","NumericValue"],".73th"],[/^[-+]?[0-9]+(,[0-9]{3})*(\.[0-9]+)?%\+?$/,["Percent","Cardinal","NumericValue"],"-4%"],[/^\.[0-9]+%$/,["Percent","Cardinal","NumericValue"],".3%"],[/^[0-9]{1,4}\/[0-9]{1,4}(st|nd|rd|th)?s?$/,["Fraction","NumericValue"],"2/3rds"],[/^[0-9.]{1,3}[a-z]{0,2}[-–—][0-9]{1,3}[a-z]{0,2}$/,["Value","NumberRange"],"3-4"],[/^[0-9]{1,2}(:[0-9][0-9])?(am|pm)? ?[-–—] ?[0-9]{1,2}(:[0-9][0-9])?(am|pm)$/,["Time","NumberRange"],"3-4pm"],[/^[0-9.]+([a-z°]{1,4})$/,"NumericValue","9km"]],switches:$o,clues:ki,uncountable:{},orgWords:Ns,placeWords:js}};dl=hl(dl);var gl=dl,ml=function(e,t,n,r){const a=r.methods.one.setTag;if(0===t&&e.length>=3){const t=/:/;if(e[0].post.match(t)){let t=e[1];if(t.tags.has("Value")||t.tags.has("Email")||t.tags.has("PhoneNumber"))return;a([e[0]],"Expression",r,null,"2-punct-colon''")}}},pl=function(e,t,n,r){const a=r.methods.one.setTag;"-"===e[t].post&&e[t+1]&&a([e[t],e[t+1]],"Hyphenated",r,null,"1-punct-hyphen''")};const fl=/^(under|over|mis|re|un|dis|semi)-?/;var vl=function(e,t,n){const r=n.two.switches;let a=e[t];if(r.hasOwnProperty(a.normal))a.switch=r[a.normal];else if(fl.test(a.normal)){let e=a.normal.replace(fl,"");e.length>3&&r.hasOwnProperty(e)&&(a.switch=r[e])}},bl=function(e,t,n){if(!t||0===t.length)return;const r="undefined"!=typeof process&&process.env?process.env:self.env||{};r&&r.DEBUG_TAGS&&((e,t,n="")=>{let r=e.text||"["+e.implicit+"]";var a;"string"!=typeof t&&t.length>2&&(t=t.slice(0,2).join(", #")+" +"),t="string"!=typeof t?t.join(", #"):t,console.log(` ${(a=r,""+a+"").padEnd(24)} → #${t.padEnd(22)} ${(e=>""+e+"")(n)}`)})(e,t,n),e.tags=e.tags||new Set,"string"==typeof t?e.tags.add(t):t.forEach((t=>e.tags.add(t)))};const yl=["Acronym","Abbreviation","ProperNoun","Uncountable","Possessive","Pronoun","Activity","Honorific","Month"];var wl=function(e,t,n){let r=e[t],a=Array.from(r.tags);for(let e=0;ee.tags.has(t)))||(nl(e.normal)?bl(e,"Plural","3-plural-guess"):bl(e,"Singular","3-singular-guess"))}(r),function(e){let t=e.tags;if(t.has("Verb")&&1===t.size){let t=Gs(e.normal);t&&bl(e,t,"3-verb-tense-guess")}}(r)};const kl=/^\p{Lu}[\p{Ll}'’]/u,Pl=/[0-9]/,Al=["Date","Month","WeekDay","Unit","Expression"],Cl=/[IVX]/,Nl=/^[IVXLCDM]{2,}$/,jl=/^M{0,4}(CM|CD|D?C{0,3})(XC|XL|L?X{0,3})(IX|IV|V?I{0,3})$/,xl={li:!0,dc:!0,md:!0,dm:!0,ml:!0};var Il=function(e,t,n){let r=e[t];r.index=r.index||[0,0];let a=r.index[1],o=r.text||"";return 0!==a&&!0===kl.test(o)&&!1===Pl.test(o)?Al.find((e=>r.tags.has(e)))||r.pre.match(/["']$/)||"the"===r.normal?null:(wl(e,t,n),r.tags.has("Noun")||r.tags.clear(),bl(r,"ProperNoun","2-titlecase"),!0):o.length>=2&&Nl.test(o)&&Cl.test(o)&&jl.test(o)&&!xl[r.normal]?(bl(r,"RomanNumeral","2-xvii"),!0):null};const Tl=function(e="",t=[]){const n=e.length;let r=7;n<=r&&(r=n-1);for(let a=r;a>1;a-=1){let r=e.substring(n-a,n);if(!0===t[r.length].hasOwnProperty(r))return t[r.length][r]}return null};var Hl=function(e,t,n){let r=e[t];if(0===r.tags.size){let e=Tl(r.normal,n.two.suffixPatterns);if(null!==e)return bl(r,e,"2-suffix"),r.confidence=.7,!0;if(r.implicit&&(e=Tl(r.implicit,n.two.suffixPatterns),null!==e))return bl(r,e,"2-implicit-suffix"),r.confidence=.7,!0}return null};const Dl=/['‘’‛‵′`´]/,Gl=function(e,t){for(let n=0;nn-3&&(r=n-3);for(let n=r;n>2;n-=1){let r=e.substring(0,n);if(!0===t[r.length].hasOwnProperty(r))return t[r.length][r]}return null}(r.normal,n.two.prefixPatterns);if(null!==e)return bl(r,e,"2-prefix"),r.confidence=.5,!0}return null};const Fl=new Set(["in","on","by","until","for","to","during","throughout","through","within","before","after","of","this","next","last","circa","around","post","pre","budget","classic","plan","may"]),Vl=function(e){if(!e)return!1;let t=e.normal||e.implicit;return!!Fl.has(t)||!!(e.tags.has("Date")||e.tags.has("Month")||e.tags.has("WeekDay")||e.tags.has("Year"))||!!e.tags.has("ProperNoun")},zl=function(e){return!(!e||!e.tags.has("Ordinal")&&!(e.tags.has("Cardinal")&&e.normal.length<3)&&"is"!==e.normal&&"was"!==e.normal)},$l=function(e){return e&&(e.tags.has("Date")||e.tags.has("Month")||e.tags.has("WeekDay")||e.tags.has("Year"))};var Ll=function(e,t){const n=e[t];if(n.tags.has("NumericValue")&&n.tags.has("Cardinal")&&4===n.normal.length){let r=Number(n.normal);if(r&&!isNaN(r)&&r>1400&&r<2100){let a=e[t-1],o=e[t+1];if(Vl(a)||Vl(o))return bl(n,"Year","2-tagYear");if(r>=1920&&r<2025){if(zl(a)||zl(o))return bl(n,"Year","2-tagYear-close");if($l(e[t-2])||$l(e[t+2]))return bl(n,"Year","2-tagYear-far");if(a&&(a.tags.has("Determiner")||a.tags.has("Possessive"))&&o&&o.tags.has("Noun")&&!o.tags.has("Plural"))return bl(n,"Year","2-tagYear-noun")}}}return null},Sl=function(e,t,n,r){const a=r.methods.one.setTag,o=e[t],i=["PastTense","PresentTense","Auxiliary","Modal","Particle"];o.tags.has("Verb")&&(i.find((e=>o.tags.has(e)))||a([o],"Infinitive",r,null,"2-verb-type''"))};const Ml=/^[A-Z]('s|,)?$/,Bl=/^[A-Z-]+$/,Jl=/^[A-Z]+s$/,Wl=/([A-Z]\.)+[A-Z]?,?$/,ql=/[A-Z]{2,}('s|,)?$/,Kl=/([a-z]\.)+[a-z]\.?$/,Ul={I:!0,A:!0},Rl={la:!0,ny:!0,us:!0,dc:!0,gb:!0};var Ql=function(e,t,n){let r=e[t];return r.tags.has("RomanNumeral")||r.tags.has("Acronym")?null:function(e,t){let n=e.text;if(!1===Bl.test(n)){if(!(n.length>3&&!0===Jl.test(n)))return!1;n=n.replace(/s$/,"")}return!(n.length>5||Ul.hasOwnProperty(n)||t.one.lexicon.hasOwnProperty(e.normal)||!0!==Wl.test(n)&&!0!==Kl.test(n)&&!0!==Ml.test(n)&&!0!==ql.test(n))}(r,n)?(r.tags.clear(),bl(r,["Acronym","Noun"],"3-no-period-acronym"),!0===Rl[r.normal]&&bl(r,"Place","3-place-acronym"),!0===Jl.test(r.text)&&bl(r,"Plural","3-plural-acronym"),!0):!Ul.hasOwnProperty(r.text)&&Ml.test(r.text)?(r.tags.clear(),bl(r,["Acronym","Noun"],"3-one-letter-acronym"),!0):r.tags.has("Organization")&&r.text.length<=3?(bl(r,"Acronym","3-org-acronym"),!0):r.tags.has("Organization")&&Bl.test(r.text)&&r.text.length<=6?(bl(r,"Acronym","3-titlecase-acronym"),!0):null};const _l=function(e,t){if(!e)return null;let n=t.find((t=>e.normal===t[0]));return n?n[1]:null},Xl=function(e,t){if(!e)return null;let n=t.find((t=>e.tags.has(t[0])));return n?n[1]:null};var Zl=function(e,t,n){const{leftTags:r,leftWords:a,rightWords:o,rightTags:i}=n.two.neighbours;let s=e[t];if(0===s.tags.size){let l=null;if(l=l||_l(e[t-1],a),l=l||_l(e[t+1],o),l=l||Xl(e[t-1],r),l=l||Xl(e[t+1],i),l)return bl(s,l,"3-[neighbour]"),wl(e,t,n),e[t].confidence=.2,!0}return null};const Yl=function(e,t,n){return!!e&&!e.tags.has("FirstName")&&!e.tags.has("Place")&&(!!(e.tags.has("ProperNoun")||e.tags.has("Organization")||e.tags.has("Acronym"))||!(n||(r=e.text,!/^\p{Lu}[\p{Ll}'’]/u.test(r)))&&(0!==t||e.tags.has("Singular")));var r};var eu=function(e,t,n,r){const a=n.model.two.orgWords,o=n.methods.one.setTag;let i=e[t];if(!0===a[i.machine||i.normal]&&Yl(e[t-1],t-1,r)){o([e[t]],"Organization",n,null,"3-[org-word]");for(let a=t;a>=0&&Yl(e[a],a,r);a-=1)o([e[a]],"Organization",n,null,"3-[org-word]")}return null};const tu=/'s$/,nu=new Set(["athletic","city","community","eastern","federal","financial","great","historic","historical","local","memorial","municipal","national","northern","provincial","southern","state","western"]),ru=new Set(["center","centre","way","range","bar","bridge","field","pit"]),au=function(e,t,n){if(!e)return!1;let r=e.tags;return!(r.has("Organization")||r.has("Possessive")||tu.test(e.normal))&&(!(!r.has("ProperNoun")&&!r.has("Place"))||!(n||(a=e.text,!/^\p{Lu}[\p{Ll}'’]/u.test(a)))&&(0!==t||r.has("Singular")));var a};var ou=function(e,t,n,r){const a=n.model.two.placeWords,o=n.methods.one.setTag;let i=e[t],s=i.machine||i.normal;if(!0===a[s]){for(let a=t-1;a>=0;a-=1)if(!nu.has(e[a].normal)){if(!au(e[a],a,r))break;o(e.slice(a,t+1),"Place",n,null,"3-[place-of-foo]")}if(ru.has(s))return!1;for(let a=t+1;ae[t].tags.has("ProperNoun")&&su.test(e[t].text)?"Noun":null,uu=(e,t,n)=>0!==t||e[1]?null:n,cu={"Adj|Gerund":(e,t)=>lu(e,t),"Adj|Noun":(e,t)=>lu(e,t)||function(e,t){return!e[t+1]&&e[t-1]&&e[t-1].tags.has("Determiner")?"Noun":null}(e,t),"Actor|Verb":(e,t)=>lu(e,t),"Adj|Past":(e,t)=>lu(e,t),"Adj|Present":(e,t)=>lu(e,t),"Noun|Gerund":(e,t)=>lu(e,t),"Noun|Verb":(e,t)=>t>0&&lu(e,t)||uu(e,t,"Infinitive"),"Plural|Verb":(e,t)=>lu(e,t)||uu(e,t,"PresentTense")||function(e,t,n){return 0===t&&e.length>3?n:null}(e,t,"Plural"),"Person|Noun":(e,t)=>lu(e,t),"Person|Verb":(e,t)=>0!==t?lu(e,t):null,"Person|Adj":(e,t)=>0===t&&e.length>1||lu(e,t)?"Person":null};var hu=cu;const du="undefined"!=typeof process&&process.env?process.env:self.env||{},gu=/^(under|over|mis|re|un|dis|semi)-?/,mu=(e,t)=>{if(!e||!t)return null;let n=e.normal||e.implicit,r=null;return t.hasOwnProperty(n)&&(r=t[n]),r&&du.DEBUG_TAGS&&console.log(`\n  ↓ - '${n}' `),r},pu=(e,t={},n)=>{if(!e||!t)return null;let r=Array.from(e.tags).sort(((e,t)=>(n[e]?n[e].parents.length:0)>(n[t]?n[t].parents.length:0)?-1:1)),a=r.find((e=>t[e]));return a&&du.DEBUG_TAGS&&console.log(`  ↓ - '${e.normal||e.implicit}' (#${a}) `),a=t[a],a};var fu=function(e,t,n){const r=n.model,a=n.methods.one.setTag,{switches:o,clues:i}=r.two,s=e[t];let l=s.normal||s.implicit||"";if(gu.test(l)&&!o[l]&&(l=l.replace(gu,"")),s.switch){let o=s.switch;if(s.tags.has("Acronym")||s.tags.has("PhrasalVerb"))return;let u=function(e,t,n,r){if(!n)return null;const a=r.one.tagSet;let o=mu(e[t+1],n.afterWords);return o=o||mu(e[t-1],n.beforeWords),o=o||pu(e[t-1],n.beforeTags,a),o=o||pu(e[t+1],n.afterTags,a),o}(e,t,i[o],r);hu[o]&&(u=hu[o](e,t)||u),u?(a([s],u,n,null,`3-[switch] (${o})`),wl(e,t,r)):du.DEBUG_TAGS&&console.log(`\n -> X - '${l}' : (${o}) `)}};const vu={there:!0,this:!0,it:!0,him:!0,her:!0,us:!0};var bu=function(e,t){const n=t.methods.one.setTag,r=t.model.one._multiCache||{};let a=e[0];if(("Noun|Verb"===a.switch||a.tags.has("Infinitive"))&&e.length>=2){if(e.length<4&&!vu[e[1].normal])return;if(!a.tags.has("PhrasalVerb")&&r.hasOwnProperty(a.normal))return;(e[1].tags.has("Noun")||e[1].tags.has("Determiner"))&&(e.slice(1,3).some((e=>e.tags.has("Verb")))&&!a.tags.has("#PhrasalVerb")||n([a],"Imperative",t,null,"3-[imperative]"))}};const yu=function(e){if(e.filter((e=>!e.tags.has("ProperNoun"))).length<=3)return!1;const t=/^[a-z]/;return e.every((e=>!t.test(e.text)))},wu=function(e,t,n,r){for(let a=0;a{ml(e,0,t,n)}))}(a,n,r);let o=t.two.quickSplit(a);for(let e=0;e{let t=e.machine||e.normal||e.text;return t=t.replace(/'s$/,""),t},Plural:(e,t)=>{let n=e.machine||e.normal||e.text;return t.methods.two.transform.noun.toSingular(n,t.model)},Copula:()=>"is",PastTense:(e,t)=>{let n=e.machine||e.normal||e.text;return t.methods.two.transform.verb.toInfinitive(n,t.model,"PastTense")},Gerund:(e,t)=>{let n=e.machine||e.normal||e.text;return t.methods.two.transform.verb.toInfinitive(n,t.model,"Gerund")},PresentTense:(e,t)=>{let n=e.machine||e.normal||e.text;return e.tags.has("Infinitive")?n:t.methods.two.transform.verb.toInfinitive(n,t.model,"PresentTense")},Comparative:(e,t)=>{let n=e.machine||e.normal||e.text;return t.methods.two.transform.adjective.fromComparative(n,t.model)},Superlative:(e,t)=>{let n=e.machine||e.normal||e.text;return t.methods.two.transform.adjective.fromSuperlative(n,t.model)},Adverb:(e,t)=>{const{fromAdverb:n}=t.methods.two.transform.adjective;return n(e.machine||e.normal||e.text)}};var Cu=function(e){const t=e.world,n=Object.keys(Au);e.docs.forEach((e=>{for(let r=0;r{e.forEach((e=>{e.penn=function(e){if(e.tags.has("ProperNoun")&&e.tags.has("Plural"))return"NNPS";if(e.tags.has("Possessive")&&e.tags.has("Pronoun"))return"PRP$";if("there"===e.normal)return"EX";if("to"===e.normal)return"TO";let t=e.tagRank||[];for(let e=0;e{e.implicit=e.normal,e.text="",e.normal=""}));for(let e=0;e{let t=Vu.test(e[0].text);e.forEach(((t,n)=>{t.text=t.implicit||"",delete t.implicit,ne.toUpperCase()))}(e[0].text))})),this.compute("normal"),this}}e.prototype.contractions=function(){let e=this.match("@hasContraction+");return new Contractions(this.document,e.pointer)},e.prototype.contract=Fu},$u=function(e,t,n){let[r,a]=t;n&&0!==n.length&&(n=n.map(((e,t)=>(e.implicit=e.text,e.machine=e.text,e.pre="",e.post="",e.text="",e.normal="",e.index=[r,a+t],e))),n[0]&&(n[0].pre=e[r][a].pre,n[n.length-1].post=e[r][a].post,n[0].text=e[r][a].text,n[0].normal=e[r][a].normal),e[r].splice(a,1,...n))};const Lu=/'/;var Su=function(e,t){let n=e[t].normal.split(Lu)[0];if(((e,t)=>e.slice(t+1,t+3).some((e=>e.tags.has("PastTense"))))(e,t))return[n,"has"];if("let"===n)return[n,"us"];if("there"===n){let r=e[t+1];if(r&&r.tags.has("Plural"))return[n,"are"]}return[n,"is"]};const Mu=/'/;var Bu=function(e,t){let n=e[t].normal.split(Mu)[0];return"how"===n||"what"===n?[n,"did"]:!0===((e,t)=>!(!e[t+1]||"better"!=e[t+1].normal)||e.slice(t+1,t+3).some((e=>e.tags.has("PastTense"))))(e,t)?[n,"had"]:[n,"would"]},Ju=function(e,t){if("ain't"===e[t].normal||"aint"===e[t].normal){if(e[t+1]&&"never"===e[t+1].normal)return["have"];let n=function(e,t){for(let n=t-1;n>=0;n-=1)if(e[n].tags.has("Noun")||e[n].tags.has("Pronoun")||e[n].tags.has("Plural")||e[n].tags.has("Singular"))return e[n];return null}(e,t);if(n){if("we"===n.normal||"they"===n.normal)return["are","not"];if("i"===n.normal)return["am","not"];if(n.tags&&n.tags.has("Plural"))return["are","not"]}return["is","not"]}return[e[t].normal.replace(/n't/,""),"not"]};const Wu={that:!0,there:!0,let:!0,here:!0,everywhere:!0},qu={in:!0,by:!0,for:!0};var Ku=(e,t)=>{let n=e[t];if(Wu.hasOwnProperty(n.machine||n.normal))return!1;if(n.tags.has("Possessive"))return!0;if(n.tags.has("QuestionWord"))return!1;if("he's"===n.normal||"she's"===n.normal)return!1;let r=e[t+1];if(!r)return!0;if("it's"===n.normal)return!!r.tags.has("#Noun");if(r.tags.has("Verb"))return!!r.tags.has("Infinitive")||!!r.tags.has("PresentTense");if(r.tags.has("Noun")){let e=r.machine||r.normal;return!("here"===e||"there"===e||"everywhere"===e||r.tags.has("Possessive")||r.tags.has("ProperNoun")&&!n.tags.has("ProperNoun"))}if(e[t-1]&&!0===qu[e[t-1].normal])return!0;let a=e[t+2];return!(!a||!a.tags.has("Noun")||a.tags.has("Pronoun"))||(r.tags.has("Adjective")||r.tags.has("Adverb")||r.tags.has("Verb"),!1)};const Uu=/'/,Ru=function(e,t,n,r){let a=t.update();a.document=[e];let o=n+r;n>0&&(n-=1),e[o]&&(o+=1),a.ptrs=[[0,n,o]],a.compute(["lexicon","preTagger"]),function(e){e.forEach(((e,t)=>{e.index&&(e.index[1]=t)}))}(e)},Qu={d:(e,t)=>Bu(e,t),t:(e,t)=>Ju(e,t),s:(e,t,n)=>Ku(e,t)?n.methods.one.setTag([e[t]],"Possessive",n,null,"2-contraction"):Su(e,t)},_u=function(e,t){let n=t.fromText(e.join(" "));return n.compute("id"),n.docs[0]};var Xu={contractionTwo:e=>{let{world:t,document:n}=e;n.forEach(((r,a)=>{for(let o=r.length-1;o>=0;o-=1){if(r[o].implicit)return;let i=null;!0===Uu.test(r[o].normal)&&(i=r[o].normal.split(Uu)[1]);let s=null;Qu.hasOwnProperty(i)&&(s=Qu[i](r,o,t)),s&&(s=_u(s,e),$u(n,[a,o],s),Ru(n[a],e,o,s.length))}}))}},Zu={compute:Xu,api:zu,hooks:["contractionTwo"]};const Yu="(hard|fast|late|early|high|right|deep|close|direct)",ec="(i|we|they)";let tc=[].concat([{match:"(got|were|was|is|are|am) (#PastTense|#Participle)",tag:"Passive",reason:"got-walked"},{match:"(was|were|is|are|am) being (#PastTense|#Participle)",tag:"Passive",reason:"was-being"},{match:"(had|have|has) been (#PastTense|#Participle)",tag:"Passive",reason:"had-been"},{match:"will be being? (#PastTense|#Participle)",tag:"Passive",reason:"will-be-cleaned"},{match:"#Noun [(#PastTense|#Participle)] by (the|a) #Noun",group:0,tag:"Passive",reason:"suffered-by"}],[{match:"[(all|both)] #Determiner #Noun",group:0,tag:"Noun",reason:"all-noun"},{match:"#Copula [(just|alone)]$",group:0,tag:"Adjective",reason:"not-adverb"},{match:"#Singular is #Adverb? [#PastTense$]",group:0,tag:"Adjective",reason:"is-filled"},{match:"[#PastTense] #Singular is",group:0,tag:"Adjective",reason:"smoked-poutine"},{match:"[#PastTense] #Plural are",group:0,tag:"Adjective",reason:"baked-onions"},{match:"well [#PastTense]",group:0,tag:"Adjective",reason:"well-made"},{match:"#Copula [fucked up?]",group:0,tag:"Adjective",reason:"swears-adjective"},{match:"#Singular (seems|appears) #Adverb? [#PastTense$]",group:0,tag:"Adjective",reason:"seems-filled"},{match:"#Copula #Adjective? [(out|in|through)]$",group:0,tag:"Adjective",reason:"still-out"},{match:"^[#Adjective] (the|your) #Noun",group:0,notIf:"(all|even)",tag:"Infinitive",reason:"shut-the"},{match:"the [said] #Noun",group:0,tag:"Adjective",reason:"the-said-card"},{match:"[#Hyphenated (#Hyphenated && #PastTense)] (#Noun|#Conjunction)",group:0,tag:"Adjective",notIf:"#Adverb",reason:"faith-based"},{match:"[#Hyphenated (#Hyphenated && #Gerund)] (#Noun|#Conjunction)",group:0,tag:"Adjective",notIf:"#Adverb",reason:"self-driving"},{match:"[#PastTense (#Hyphenated && #PhrasalVerb)] (#Noun|#Conjunction)",group:0,tag:"Adjective",reason:"dammed-up"},{match:"(#Hyphenated && #Value) fold",tag:"Adjective",reason:"two-fold"},{match:"must (#Hyphenated && #Infinitive)",tag:"Adjective",reason:"must-win"},{match:"(#Hyphenated && #Infinitive) #Hyphenated",tag:"Adjective",notIf:"#PhrasalVerb",reason:"vacuum-sealed"},{match:"too much",tag:"Adverb Adjective",reason:"bit-4"},{match:"a bit much",tag:"Determiner Adverb Adjective",reason:"bit-3"},{match:"[(un|contra|extra|inter|intra|macro|micro|mid|mis|mono|multi|pre|sub|tri|ex)] #Adjective",group:0,tag:["Adjective","Prefix"],reason:"un-skilled"}],[{match:"#Adverb [#Adverb] (and|or|then)",group:0,tag:"Adjective",reason:"kinda-sparkly-and"},{match:"[(dark|bright|flat|light|soft|pale|dead|dim|faux|little|wee|sheer|most|near|good|extra|all)] #Adjective",group:0,tag:"Adverb",reason:"dark-green"},{match:"#Copula [far too] #Adjective",group:0,tag:"Adverb",reason:"far-too"},{match:"#Copula [still] (in|#Gerund|#Adjective)",group:0,tag:"Adverb",reason:"was-still-walking"},{match:`#Plural ${Yu}`,tag:"#PresentTense #Adverb",reason:"studies-hard"},{match:`#Verb [${Yu}] !#Noun?`,group:0,notIf:"(#Copula|get|got|getting|become|became|becoming|feel|feels|feeling)",tag:"Adverb",reason:"shops-direct"},{match:"[#Plural] a lot",tag:"PresentTense",reason:"studies-a-lot"}],[{match:"as [#Gerund] as",group:0,tag:"Adjective",reason:"as-gerund-as"},{match:"more [#Gerund] than",group:0,tag:"Adjective",reason:"more-gerund-than"},{match:"(so|very|extremely) [#Gerund]",group:0,tag:"Adjective",reason:"so-gerund"},{match:"(found|found) it #Adverb? [#Gerund]",group:0,tag:"Adjective",reason:"found-it-gerund"},{match:"a (little|bit|wee) bit? [#Gerund]",group:0,tag:"Adjective",reason:"a-bit-gerund"},{match:"#Gerund [#Gerund]",group:0,tag:"Adjective",notIf:"(impersonating|practicing|considering|assuming)",reason:"looking-annoying"},{match:"(looked|look|looks) #Adverb? [%Adj|Gerund%]",group:0,tag:"Adjective",notIf:"(impersonating|practicing|considering|assuming)",reason:"looked-amazing"},{match:"[%Adj|Gerund%] #Determiner",group:0,tag:"Gerund",reason:"developing-a"},{match:"#Possessive [%Adj|Gerund%] #Noun",group:0,tag:"Adjective",reason:"leading-manufacturer"}],[{match:"#Determiner [#Adjective] #Copula",group:0,tag:"Noun",reason:"the-adj-is"},{match:"#Adjective [#Adjective] #Copula",group:0,tag:"Noun",reason:"adj-adj-is"},{match:"(his|its) [%Adj|Noun%]",group:0,tag:"Noun",notIf:"#Hyphenated",reason:"his-fine"},{match:"#Copula #Adverb? [all]",group:0,tag:"Noun",reason:"is-all"},{match:"(have|had) [#Adjective] #Preposition .",group:0,tag:"Noun",reason:"have-fun"},{match:"#Gerund (giant|capital|center|zone|application)",tag:"Noun",reason:"brewing-giant"},{match:"#Preposition (a|an) [#Adjective]$",group:0,tag:"Noun",reason:"an-instant"},{match:"no [#Adjective] #Modal",group:0,tag:"Noun",reason:"no-golden"},{match:"[brand #Gerund?] new",group:0,tag:"Adverb",reason:"brand-new"},{match:"(#Determiner|#Comparative|new|different) [kind]",group:0,tag:"Noun",reason:"some-kind"},{match:"#Possessive [%Adj|Noun%] #Noun",group:0,tag:"Adjective",reason:"her-favourite"},{match:"must && #Hyphenated .",tag:"Adjective",reason:"must-win"},{match:"#Determiner [#Adjective]$",tag:"Noun",notIf:"(this|that|#Comparative|#Superlative)",reason:"the-south"},{match:"(#Noun && #Hyphenated) (#Adjective && #Hyphenated)",tag:"Adjective",notIf:"(this|that|#Comparative|#Superlative)",reason:"company-wide"},{match:"#Determiner [#Adjective] (#Copula|#Determiner)",notIf:"(#Comparative|#Superlative)",group:0,tag:"Noun",reason:"the-poor"}],[{match:"[still] #Adjective",group:0,tag:"Adverb",reason:"still-advb"},{match:"[still] #Verb",group:0,tag:"Adverb",reason:"still-verb"},{match:"[so] #Adjective",group:0,tag:"Adverb",reason:"so-adv"},{match:"[way] #Comparative",group:0,tag:"Adverb",reason:"way-adj"},{match:"[way] #Adverb #Adjective",group:0,tag:"Adverb",reason:"way-too-adj"},{match:"[all] #Verb",group:0,tag:"Adverb",reason:"all-verb"},{match:"#Verb [like]",group:0,notIf:"(#Modal|#PhrasalVerb)",tag:"Adverb",reason:"verb-like"},{match:"(barely|hardly) even",tag:"Adverb",reason:"barely-even"},{match:"[even] #Verb",group:0,tag:"Adverb",reason:"even-walk"},{match:"[even] #Comparative",group:0,tag:"Adverb",reason:"even-worse"},{match:"[even] (#Determiner|#Possessive)",group:0,tag:"#Adverb",reason:"even-the"},{match:"even left",tag:"#Adverb #Verb",reason:"even-left"},{match:"[way] #Adjective",group:0,tag:"#Adverb",reason:"way-over"},{match:"#PresentTense [(hard|quick|bright|slow|fast|backwards|forwards)]",notIf:"#Copula",group:0,tag:"Adverb",reason:"lazy-ly"},{match:"[much] #Adjective",group:0,tag:"Adverb",reason:"bit-1"},{match:"#Copula [#Adverb]$",group:0,tag:"Adjective",reason:"is-well"},{match:"a [(little|bit|wee) bit?] #Adjective",group:0,tag:"Adverb",reason:"a-bit-cold"},{match:"[(super|pretty)] #Adjective",group:0,tag:"Adverb",reason:"super-strong"},{match:"(become|fall|grow) #Adverb? [#PastTense]",group:0,tag:"Adjective",reason:"overly-weakened"},{match:"(a|an) #Adverb [#Participle] #Noun",group:0,tag:"Adjective",reason:"completely-beaten"},{match:"#Determiner #Adverb? [close]",group:0,tag:"Adjective",reason:"a-close"},{match:"#Gerund #Adverb? [close]",group:0,tag:"Adverb",notIf:"(getting|becoming|feeling)",reason:"being-close"},{match:"(the|those|these|a|an) [#Participle] #Noun",group:0,tag:"Adjective",reason:"blown-motor"},{match:"(#PresentTense|#PastTense) [back]",group:0,tag:"Adverb",notIf:"(#PhrasalVerb|#Copula)",reason:"charge-back"},{match:"#Verb [around]",group:0,tag:"Adverb",notIf:"#PhrasalVerb",reason:"send-around"},{match:"[later] #PresentTense",group:0,tag:"Adverb",reason:"later-say"},{match:"#Determiner [well] !#PastTense?",group:0,tag:"Noun",reason:"the-well"},{match:"#Adjective [enough]",group:0,tag:"Adverb",reason:"high-enough"}],[{match:"[sun] the #Ordinal",tag:"WeekDay",reason:"sun-the-5th"},{match:"[sun] #Date",group:0,tag:"WeekDay",reason:"sun-feb"},{match:"#Date (on|this|next|last|during)? [sun]",group:0,tag:"WeekDay",reason:"1pm-sun"},{match:"(in|by|before|during|on|until|after|of|within|all) [sat]",group:0,tag:"WeekDay",reason:"sat"},{match:"(in|by|before|during|on|until|after|of|within|all) [wed]",group:0,tag:"WeekDay",reason:"wed"},{match:"(in|by|before|during|on|until|after|of|within|all) [march]",group:0,tag:"Month",reason:"march"},{match:"[sat] #Date",group:0,tag:"WeekDay",reason:"sat-feb"},{match:"#Preposition [(march|may)]",group:0,tag:"Month",reason:"in-month"},{match:"(this|next|last) (march|may) !#Infinitive?",tag:"#Date #Month",reason:"this-month"},{match:"(march|may) the? #Value",tag:"#Month #Date #Date",reason:"march-5th"},{match:"#Value of? (march|may)",tag:"#Date #Date #Month",reason:"5th-of-march"},{match:"[(march|may)] .? #Date",group:0,tag:"Month",reason:"march-and-feb"},{match:"#Date .? [(march|may)]",group:0,tag:"Month",reason:"feb-and-march"},{match:"#Adverb [(march|may)]",group:0,tag:"Verb",reason:"quickly-march"},{match:"[(march|may)] #Adverb",group:0,tag:"Verb",reason:"march-quickly"},{match:"#Value (am|pm)",tag:"Time",reason:"2-am"}],[{match:"#Holiday (day|eve)",tag:"Holiday",reason:"holiday-day"},{match:"#Value of #Month",tag:"Date",reason:"value-of-month"},{match:"#Cardinal #Month",tag:"Date",reason:"cardinal-month"},{match:"#Month #Value to #Value",tag:"Date",reason:"value-to-value"},{match:"#Month the #Value",tag:"Date",reason:"month-the-value"},{match:"(#WeekDay|#Month) #Value",tag:"Date",reason:"date-value"},{match:"#Value (#WeekDay|#Month)",tag:"Date",reason:"value-date"},{match:"(#TextValue && #Date) #TextValue",tag:"Date",reason:"textvalue-date"},{match:"#Month #NumberRange",tag:"Date",reason:"aug 20-21"},{match:"#WeekDay #Month #Ordinal",tag:"Date",reason:"week mm-dd"},{match:"#Month #Ordinal #Cardinal",tag:"Date",reason:"mm-dd-yyy"},{match:"(#Place|#Demonmym|#Time) (standard|daylight|central|mountain)? time",tag:"Timezone",reason:"std-time"},{match:"(eastern|mountain|pacific|central|atlantic) (standard|daylight|summer)? time",tag:"Timezone",reason:"eastern-time"},{match:"#Time [(eastern|mountain|pacific|central|est|pst|gmt)]",group:0,tag:"Timezone",reason:"5pm-central"},{match:"(central|western|eastern) european time",tag:"Timezone",reason:"cet"}],[{match:"(the|any) [more]",group:0,tag:"Singular",reason:"more-noun"},{match:"[more] #Noun",group:0,tag:"Adjective",reason:"more-noun"},{match:"(right|rights) of .",tag:"Noun",reason:"right-of"},{match:"a [bit]",group:0,tag:"Singular",reason:"bit-2"},{match:"a [must]",group:0,tag:"Singular",reason:"must-2"},{match:"(we|us) [all]",group:0,tag:"Noun",reason:"we all"},{match:"due to [#Verb]",group:0,tag:"Noun",reason:"due-to"},{match:"some [#Verb] #Plural",group:0,tag:"Noun",reason:"determiner6"},{match:"#Possessive #Ordinal [#PastTense]",group:0,tag:"Noun",reason:"first-thought"},{match:"(the|this|those|these) #Adjective [%Verb|Noun%]",group:0,tag:"Noun",notIf:"#Copula",reason:"the-adj-verb"},{match:"(the|this|those|these) #Adverb #Adjective [#Verb]",group:0,tag:"Noun",reason:"determiner4"},{match:"the [#Verb] #Preposition .",group:0,tag:"Noun",reason:"determiner1"},{match:"(a|an|the) [#Verb] of",group:0,tag:"Noun",reason:"the-verb-of"},{match:"#Determiner #Noun of [#Verb]",group:0,tag:"Noun",notIf:"#Gerund",reason:"noun-of-noun"},{match:"#PastTense #Preposition [#PresentTense]",group:0,notIf:"#Gerund",tag:"Noun",reason:"ended-in-ruins"},{match:"#Conjunction [u]",group:0,tag:"Pronoun",reason:"u-pronoun-2"},{match:"[u] #Verb",group:0,tag:"Pronoun",reason:"u-pronoun-1"},{match:"#Determiner [(western|eastern|northern|southern|central)] #Noun",group:0,tag:"Noun",reason:"western-line"},{match:"(#Singular && @hasHyphen) #PresentTense",tag:"Noun",reason:"hyphen-verb"},{match:"is no [#Verb]",group:0,tag:"Noun",reason:"is-no-verb"},{match:"do [so]",group:0,tag:"Noun",reason:"so-noun"},{match:"#Determiner [(shit|damn|hell)]",group:0,tag:"Noun",reason:"swears-noun"},{match:"to [(shit|hell)]",group:0,tag:"Noun",reason:"to-swears"},{match:"(the|these) [#Singular] (were|are)",group:0,tag:"Plural",reason:"singular-were"},{match:"a #Noun+ or #Adverb+? [#Verb]",group:0,tag:"Noun",reason:"noun-or-noun"},{match:"(the|those|these|a|an) #Adjective? [#PresentTense #Particle?]",group:0,tag:"Noun",notIf:"(seem|appear|include|#Gerund|#Copula)",reason:"det-inf"},{match:"#Noun #Actor",tag:"Actor",notIf:"(#Person|#Pronoun)",reason:"thing-doer"},{match:"#Gerund #Actor",tag:"Actor",reason:"gerund-doer"},{match:"co #Singular",tag:"Actor",reason:"co-noun"},{match:"[#Noun+] #Actor",group:0,tag:"Actor",notIf:"(#Honorific|#Pronoun|#Possessive)",reason:"air-traffic-controller"},{match:"(urban|cardiac|cardiovascular|respiratory|medical|clinical|visual|graphic|creative|dental|exotic|fine|certified|registered|technical|virtual|professional|amateur|junior|senior|special|pharmaceutical|theoretical)+ #Noun? #Actor",tag:"Actor",reason:"fine-artist"},{match:"#Noun+ (coach|chef|king|engineer|fellow|personality|boy|girl|man|woman|master)",tag:"Actor",reason:"dance-coach"},{match:"chief . officer",tag:"Actor",reason:"chief-x-officer"},{match:"chief of #Noun+",tag:"Actor",reason:"chief-of-police"},{match:"senior? vice? president of #Noun+",tag:"Actor",reason:"president-of"},{match:"#Determiner [sun]",group:0,tag:"Singular",reason:"the-sun"},{match:"#Verb (a|an) [#Value]$",group:0,tag:"Singular",reason:"did-a-value"},{match:"the [(can|will|may)]",group:0,tag:"Singular",reason:"the can"},{match:"#FirstName #Acronym? (#Possessive && #LastName)",tag:"Possessive",reason:"name-poss"},{match:"#Organization+ #Possessive",tag:"Possessive",reason:"org-possessive"},{match:"#Place+ #Possessive",tag:"Possessive",reason:"place-possessive"},{match:"#Possessive #PresentTense #Particle?",notIf:"(#Gerund|her)",tag:"Noun",reason:"possessive-verb"},{match:"(my|our|their|her|his|its) [(#Plural && #Actor)] #Noun",tag:"Possessive",reason:"my-dads"},{match:"#Value of a [second]",group:0,unTag:"Value",tag:"Singular",reason:"10th-of-a-second"},{match:"#Value [seconds]",group:0,unTag:"Value",tag:"Plural",reason:"10-seconds"},{match:"in [#Infinitive]",group:0,tag:"Singular",reason:"in-age"},{match:"a [#Adjective] #Preposition",group:0,tag:"Noun",reason:"a-minor-in"},{match:"#Determiner [#Singular] said",group:0,tag:"Actor",reason:"the-actor-said"},{match:"#Determiner #Noun [(feel|sense|process|rush|side|bomb|bully|challenge|cover|crush|dump|exchange|flow|function|issue|lecture|limit|march|process)] !(#Preposition|to|#Adverb)?",group:0,tag:"Noun",reason:"the-noun-sense"},{match:"[#PresentTense] (of|by|for) (a|an|the) #Noun #Copula",group:0,tag:"Plural",reason:"photographs-of"},{match:"#Infinitive and [%Noun|Verb%]",group:0,tag:"Infinitive",reason:"fight and win"},{match:"#Noun and [#Verb] and #Noun",group:0,tag:"Noun",reason:"peace-and-flowers"},{match:"the #Cardinal [%Adj|Noun%]",group:0,tag:"Noun",reason:"the-1992-classic"},{match:"#Copula the [%Adj|Noun%] #Noun",group:0,tag:"Adjective",reason:"the-premier-university"},{match:"i #Verb [me] #Noun",group:0,tag:"Possessive",reason:"scottish-me"},{match:"[#PresentTense] (music|class|lesson|night|party|festival|league|ceremony)",group:0,tag:"Noun",reason:"dance-music"},{match:"[wit] (me|it)",group:0,tag:"Presposition",reason:"wit-me"},{match:"#PastTense #Possessive [#Verb]",group:0,tag:"Noun",notIf:"(saw|made)",reason:"left-her-boots"},{match:"#Value [%Plural|Verb%]",group:0,tag:"Plural",notIf:"(one|1|a|an)",reason:"35-signs"},{match:"had [#PresentTense]",group:0,tag:"Noun",notIf:"(#Gerund|come|become)",reason:"had-time"},{match:"%Adj|Noun% %Noun|Verb%",tag:"#Adjective #Noun",notIf:"#ProperNoun #Noun",reason:"instant-access"},{match:"#Determiner [%Adj|Noun%] #Conjunction",group:0,tag:"Noun",reason:"a-rep-to"},{match:"#Adjective #Noun [%Plural|Verb%]$",group:0,tag:"Plural",notIf:"#Pronoun",reason:"near-death-experiences"},{match:"#Possessive #Noun [%Plural|Verb%]$",group:0,tag:"Plural",reason:"your-guild-colors"}],[{match:"(this|that|the|a|an) [#Gerund #Infinitive]",group:0,tag:"Singular",reason:"the-planning-process"},{match:"(that|the) [#Gerund #PresentTense]",group:0,ifNo:"#Copula",tag:"Plural",reason:"the-paving-stones"},{match:"#Determiner [#Gerund] #Noun",group:0,tag:"Adjective",reason:"the-gerund-noun"},{match:"#Pronoun #Infinitive [#Gerund] #PresentTense",group:0,tag:"Noun",reason:"tipping-sucks"},{match:"#Adjective [#Gerund]",group:0,tag:"Noun",notIf:"(still|even|just)",reason:"early-warning"},{match:"[#Gerund] #Adverb? not? #Copula",group:0,tag:"Activity",reason:"gerund-copula"},{match:"#Copula [(#Gerund|#Activity)] #Copula",group:0,tag:"Gerund",reason:"are-doing-is"},{match:"[#Gerund] #Modal",group:0,tag:"Activity",reason:"gerund-modal"},{match:"#Singular for [%Noun|Gerund%]",group:0,tag:"Gerund",reason:"noun-for-gerund"},{match:"#Comparative (for|at) [%Noun|Gerund%]",group:0,tag:"Gerund",reason:"better-for-gerund"},{match:"#PresentTense the [#Gerund]",group:0,tag:"Noun",reason:"keep-the-touching"}],[{match:"#Infinitive (this|that|the) [#Infinitive]",group:0,tag:"Noun",reason:"do-this-dance"},{match:"#Gerund #Determiner [#Infinitive]",group:0,tag:"Noun",reason:"running-a-show"},{match:"#Determiner (only|further|just|more|backward) [#Infinitive]",group:0,tag:"Noun",reason:"the-only-reason"},{match:"(the|this|a|an) [#Infinitive] #Adverb? #Verb",group:0,tag:"Noun",reason:"determiner5"},{match:"#Determiner #Adjective #Adjective? [#Infinitive]",group:0,tag:"Noun",reason:"a-nice-inf"},{match:"#Determiner #Demonym [#PresentTense]",group:0,tag:"Noun",reason:"mexican-train"},{match:"#Adjective #Noun+ [#Infinitive] #Copula",group:0,tag:"Noun",reason:"career-move"},{match:"at some [#Infinitive]",group:0,tag:"Noun",reason:"at-some-inf"},{match:"(go|goes|went) to [#Infinitive]",group:0,tag:"Noun",reason:"goes-to-verb"},{match:"(a|an) #Adjective? #Noun [#Infinitive] (#Preposition|#Noun)",group:0,notIf:"from",tag:"Noun",reason:"a-noun-inf"},{match:"(a|an) #Noun [#Infinitive]$",group:0,tag:"Noun",reason:"a-noun-inf2"},{match:"#Gerund #Adjective? for [#Infinitive]",group:0,tag:"Noun",reason:"running-for"},{match:"about [#Infinitive]",group:0,tag:"Singular",reason:"about-love"},{match:"#Plural on [#Infinitive]",group:0,tag:"Noun",reason:"on-stage"},{match:"any [#Infinitive]",group:0,tag:"Noun",reason:"any-charge"},{match:"no [#Infinitive]",group:0,tag:"Noun",reason:"no-doubt"},{match:"number of [#PresentTense]",group:0,tag:"Noun",reason:"number-of-x"},{match:"(taught|teaches|learns|learned) [#PresentTense]",group:0,tag:"Noun",reason:"teaches-x"},{match:"(try|use|attempt|build|make) [#Verb #Particle?]",notIf:"(#Copula|#Noun|sure|fun|up)",group:0,tag:"Noun",reason:"do-verb"},{match:"^[#Infinitive] (is|was)",group:0,tag:"Noun",reason:"checkmate-is"},{match:"#Infinitive much [#Infinitive]",group:0,tag:"Noun",reason:"get-much"},{match:"[cause] #Pronoun #Verb",group:0,tag:"Conjunction",reason:"cause-cuz"},{match:"the #Singular [#Infinitive] #Noun",group:0,tag:"Noun",notIf:"#Pronoun",reason:"cardio-dance"},{match:"#Determiner #Modal [#Noun]",group:0,tag:"PresentTense",reason:"should-smoke"},{match:"this [#Plural]",group:0,tag:"PresentTense",notIf:"(#Preposition|#Date)",reason:"this-verbs"},{match:"#Noun that [#Plural]",group:0,tag:"PresentTense",notIf:"(#Preposition|#Pronoun|way)",reason:"voice-that-rocks"},{match:"that [#Plural] to",group:0,tag:"PresentTense",notIf:"#Preposition",reason:"that-leads-to"},{match:"(let|make|made) (him|her|it|#Person|#Place|#Organization)+ [#Singular] (a|an|the|it)",group:0,tag:"Infinitive",reason:"let-him-glue"},{match:"#Verb (all|every|each|most|some|no) [#PresentTense]",notIf:"#Modal",group:0,tag:"Noun",reason:"all-presentTense"},{match:"(had|have|#PastTense) #Adjective [#PresentTense]",group:0,tag:"Noun",notIf:"better",reason:"adj-presentTense"},{match:"#Value #Adjective [#PresentTense]",group:0,tag:"Noun",notIf:"#Copula",reason:"one-big-reason"},{match:"#PastTense #Adjective+ [#PresentTense]",group:0,tag:"Noun",notIf:"(#Copula|better)",reason:"won-wide-support"},{match:"(many|few|several|couple) [#PresentTense]",group:0,tag:"Noun",notIf:"#Copula",reason:"many-poses"},{match:"#Determiner #Adverb #Adjective [%Noun|Verb%]",group:0,tag:"Noun",notIf:"#Copula",reason:"very-big-dream"},{match:"from #Noun to [%Noun|Verb%]",group:0,tag:"Noun",reason:"start-to-finish"},{match:"(for|with|of) #Noun (and|or|not) [%Noun|Verb%]",group:0,tag:"Noun",notIf:"#Pronoun",reason:"for-food-and-gas"},{match:"#Adjective #Adjective [#PresentTense]",group:0,tag:"Noun",notIf:"#Copula",reason:"adorable-little-store"},{match:"#Gerund #Adverb? #Comparative [#PresentTense]",group:0,tag:"Noun",notIf:"#Copula",reason:"higher-costs"},{match:"(#Noun && @hasComma) #Noun (and|or) [#PresentTense]",group:0,tag:"Noun",notIf:"#Copula",reason:"noun-list"},{match:"(many|any|some|several) [#PresentTense] for",group:0,tag:"Noun",reason:"any-verbs-for"},{match:"to #PresentTense #Noun [#PresentTense] #Preposition",group:0,tag:"Noun",reason:"gas-exchange"},{match:"#PastTense (until|as|through|without) [#PresentTense]",group:0,tag:"Noun",reason:"waited-until-release"},{match:"#Gerund like #Adjective? [#PresentTense]",group:0,tag:"Plural",reason:"like-hot-cakes"},{match:"some #Adjective [#PresentTense]",group:0,tag:"Noun",reason:"some-reason"},{match:"for some [#PresentTense]",group:0,tag:"Noun",reason:"for-some-reason"},{match:"(same|some|the|that|a) kind of [#PresentTense]",group:0,tag:"Noun",reason:"some-kind-of"},{match:"(same|some|the|that|a) type of [#PresentTense]",group:0,tag:"Noun",reason:"some-type-of"},{match:"#Gerund #Adjective #Preposition [#PresentTense]",group:0,tag:"Noun",reason:"doing-better-for-x"},{match:"(get|got|have) #Comparative [#PresentTense]",group:0,tag:"Noun",reason:"got-better-aim"},{match:"whose [#PresentTense] #Copula",group:0,tag:"Noun",reason:"whos-name-was"},{match:"#PhrasalVerb #Particle #Preposition [#PresentTense]",group:0,tag:"Noun",reason:"given-up-on-x"},{match:"there (are|were) #Adjective? [#PresentTense]",group:0,tag:"Plural",reason:"there-are"},{match:"#Value [#PresentTense] of",group:0,notIf:"(one|1|#Copula|#Infinitive)",tag:"Plural",reason:"2-trains"},{match:"[#PresentTense] (are|were) #Adjective",group:0,tag:"Plural",reason:"compromises-are-possible"},{match:"^[(hope|guess|thought|think)] #Pronoun #Verb",group:0,tag:"Infinitive",reason:"suppose-i"},{match:"#Possessive #Adjective [#Verb]",group:0,tag:"Noun",notIf:"#Copula",reason:"our-full-support"},{match:"[(tastes|smells)] #Adverb? #Adjective",group:0,tag:"PresentTense",reason:"tastes-good"},{match:"#Copula #Gerund [#PresentTense] !by?",group:0,tag:"Noun",notIf:"going",reason:"ignoring-commute"},{match:"#Determiner #Adjective? [(shed|thought|rose|bid|saw|spelt)]",group:0,tag:"Noun",reason:"noun-past"},{match:"how to [%Noun|Verb%]",group:0,tag:"Infinitive",reason:"how-to-noun"},{match:"which [%Noun|Verb%] #Noun",group:0,tag:"Infinitive",reason:"which-boost-it"},{match:"#Gerund [%Plural|Verb%]",group:0,tag:"Plural",reason:"asking-questions"},{match:"(ready|available|difficult|hard|easy|made|attempt|try) to [%Noun|Verb%]",group:0,tag:"Infinitive",reason:"ready-to-noun"},{match:"(bring|went|go|drive|run|bike) to [%Noun|Verb%]",group:0,tag:"Noun",reason:"bring-to-noun"},{match:"#Modal #Noun [%Noun|Verb%]",group:0,tag:"Infinitive",reason:"would-you-look"},{match:"#Copula just [#Infinitive]",group:0,tag:"Noun",reason:"is-just-spam"},{match:"^%Noun|Verb% %Plural|Verb%",tag:"Imperative #Plural",reason:"request-copies"},{match:"#Adjective #Plural and [%Plural|Verb%]",group:0,tag:"#Plural",reason:"pickles-and-drinks"},{match:"#Determiner #Year [#Verb]",group:0,tag:"Noun",reason:"the-1968-film"},{match:"#Determiner [#PhrasalVerb #Particle]",group:0,tag:"Noun",reason:"the-break-up"},{match:"#Determiner [%Adj|Noun%] #Noun",group:0,tag:"Adjective",notIf:"(#Pronoun|#Possessive|#ProperNoun)",reason:"the-individual-goals"},{match:"[%Noun|Verb%] or #Infinitive",group:0,tag:"Infinitive",reason:"work-or-prepare"},{match:"to #Infinitive [#PresentTense]",group:0,tag:"Noun",notIf:"(#Gerund|#Copula|help)",reason:"to-give-thanks"},{match:"[#Noun] me",group:0,tag:"Verb",reason:"kills-me"},{match:"%Plural|Verb% %Plural|Verb%",tag:"#PresentTense #Plural",reason:"removes-wrinkles"}],[{match:"#Money and #Money #Currency?",tag:"Money",reason:"money-and-money"},{match:"#Value #Currency [and] #Value (cents|ore|centavos|sens)",group:0,tag:"money",reason:"and-5-cents"},{match:"#Value (mark|rand|won|rub|ore)",tag:"#Money #Currency",reason:"4-mark"},{match:"a pound",tag:"#Money #Unit",reason:"a-pound"},{match:"#Value (pound|pounds)",tag:"#Money #Unit",reason:"4-pounds"}],[{match:"[(half|quarter)] of? (a|an)",group:0,tag:"Fraction",reason:"millionth"},{match:"#Adverb [half]",group:0,tag:"Fraction",reason:"nearly-half"},{match:"[half] the",group:0,tag:"Fraction",reason:"half-the"},{match:"#Cardinal and a half",tag:"Fraction",reason:"and-a-half"},{match:"#Value (halves|halfs|quarters)",tag:"Fraction",reason:"two-halves"},{match:"a #Ordinal",tag:"Fraction",reason:"a-quarter"},{match:"[#Cardinal+] (#Fraction && /s$/)",tag:"Fraction",reason:"seven-fifths"},{match:"[#Cardinal+ #Ordinal] of .",group:0,tag:"Fraction",reason:"ordinal-of"},{match:"[(#NumericValue && #Ordinal)] of .",group:0,tag:"Fraction",reason:"num-ordinal-of"},{match:"(a|one) #Cardinal?+ #Ordinal",tag:"Fraction",reason:"a-ordinal"},{match:"#Cardinal+ out? of every? #Cardinal",tag:"Fraction",reason:"out-of"}],[{match:"#Cardinal [second]",tag:"Unit",reason:"one-second"},{match:"!once? [(a|an)] (#Duration|hundred|thousand|million|billion|trillion)",group:0,tag:"Value",reason:"a-is-one"},{match:"1 #Value #PhoneNumber",tag:"PhoneNumber",reason:"1-800-Value"},{match:"#NumericValue #PhoneNumber",tag:"PhoneNumber",reason:"(800) PhoneNumber"},{match:"#Demonym #Currency",tag:"Currency",reason:"demonym-currency"},{match:"#Value [(buck|bucks|grand)]",group:0,tag:"Currency",reason:"value-bucks"},{match:"[#Value+] #Currency",group:0,tag:"Money",reason:"15 usd"},{match:"[second] #Noun",group:0,tag:"Ordinal",reason:"second-noun"},{match:"#Value+ [#Currency]",group:0,tag:"Unit",reason:"5-yan"},{match:"#Value [(foot|feet)]",group:0,tag:"Unit",reason:"foot-unit"},{match:"#Value [#Abbreviation]",group:0,tag:"Unit",reason:"value-abbr"},{match:"#Value [k]",group:0,tag:"Unit",reason:"value-k"},{match:"#Unit an hour",tag:"Unit",reason:"unit-an-hour"},{match:"(minus|negative) #Value",tag:"Value",reason:"minus-value"},{match:"#Value (point|decimal) #Value",tag:"Value",reason:"value-point-value"},{match:"#Determiner [(half|quarter)] #Ordinal",group:0,tag:"Value",reason:"half-ordinal"},{match:"#Multiple+ and #Value",tag:"Value",reason:"magnitude-and-value"},{match:"#Value #Unit [(per|an) (hr|hour|sec|second|min|minute)]",group:0,tag:"Unit",reason:"12-miles-per-second"},{match:"#Value [(square|cubic)] #Unit",group:0,tag:"Unit",reason:"square-miles"},{match:"^[#Value] (#Determiner|#Gerund)",group:0,tag:"Expression",unTag:"Value",reason:"numbered-list"}],[{match:"#Copula [(#Noun|#PresentTense)] #LastName",group:0,tag:"FirstName",reason:"copula-noun-lastname"},{match:"(sister|pope|brother|father|aunt|uncle|grandpa|grandfather|grandma) #ProperNoun",tag:"Person",reason:"lady-titlecase",safe:!0},{match:"#FirstName [#Determiner #Noun] #LastName",group:0,tag:"Person",reason:"first-noun-last"},{match:"#ProperNoun (b|c|d|e|f|g|h|j|k|l|m|n|o|p|q|r|s|t|u|v|w|x|y|z) #ProperNoun",tag:"Person",reason:"titlecase-acronym-titlecase",safe:!0},{match:"#Acronym #LastName",tag:"Person",reason:"acronym-lastname",safe:!0},{match:"#Person (jr|sr|md)",tag:"Person",reason:"person-honorific"},{match:"#Honorific #Acronym",tag:"Person",reason:"Honorific-TitleCase"},{match:"#Person #Person the? #RomanNumeral",tag:"Person",reason:"roman-numeral"},{match:"#FirstName [/^[^aiurck]$/]",group:0,tag:["Acronym","Person"],reason:"john-e"},{match:"#Noun van der? #Noun",tag:"Person",reason:"van der noun",safe:!0},{match:"(king|queen|prince|saint|lady) of #Noun",tag:"Person",reason:"king-of-noun",safe:!0},{match:"(prince|lady) #Place",tag:"Person",reason:"lady-place"},{match:"(king|queen|prince|saint) #ProperNoun",tag:"Person",notIf:"#Place",reason:"saint-foo"},{match:"al (#Person|#ProperNoun)",tag:"Person",reason:"al-borlen",safe:!0},{match:"#FirstName de #Noun",tag:"Person",reason:"bill-de-noun"},{match:"#FirstName (bin|al) #Noun",tag:"Person",reason:"bill-al-noun"},{match:"#FirstName #Acronym #ProperNoun",tag:"Person",reason:"bill-acronym-title"},{match:"#FirstName #FirstName #ProperNoun",tag:"Person",reason:"bill-firstname-title"},{match:"#Honorific #FirstName? #ProperNoun",tag:"Person",reason:"dr-john-Title"},{match:"#FirstName the #Adjective",tag:"Person",reason:"name-the-great"},{match:"#ProperNoun (van|al|bin) #ProperNoun",tag:"Person",reason:"title-van-title",safe:!0},{match:"#ProperNoun (de|du) la? #ProperNoun",tag:"Person",notIf:"#Place",reason:"title-de-title"},{match:"#Singular #Acronym #LastName",tag:"#FirstName #Person .",reason:"title-acro-noun",safe:!0},{match:"[#ProperNoun] #Person",group:0,tag:"Person",reason:"proper-person",safe:!0},{match:"#Person [#ProperNoun #ProperNoun]",group:0,tag:"Person",notIf:"#Possessive",reason:"three-name-person",safe:!0},{match:"#FirstName #Acronym? [#ProperNoun]",group:0,tag:"LastName",notIf:"#Possessive",reason:"firstname-titlecase"},{match:"#FirstName [#FirstName]",group:0,tag:"LastName",reason:"firstname-firstname"},{match:"#FirstName #Acronym #Noun",tag:"Person",reason:"n-acro-noun",safe:!0},{match:"#FirstName [(de|di|du|van|von)] #Person",group:0,tag:"LastName",reason:"de-firstname"},{match:"[(lieutenant|corporal|sergeant|captain|qeen|king|admiral|major|colonel|marshal|president|queen|king)+] #ProperNoun",group:0,tag:"Honorific",reason:"seargeant-john"},{match:"[(private|general|major|rear|prime|field|count|miss)] #Honorific? #Person",group:0,tag:["Honorific","Person"],reason:"ambg-honorifics"},{match:"#Honorific #FirstName [#Singular]",group:0,tag:"LastName",notIf:"#Possessive",reason:"dr-john-foo",safe:!0},{match:"[(his|her) (majesty|honour|worship|excellency|honorable)] #Person",group:0,tag:"Honorific",reason:"his-excellency"},{match:"#Honorific #Actor",tag:"Honorific",reason:"Lieutenant colonel"},{match:"(first|second|third|1st|2nd|3rd) #Actor",tag:"Honorific",reason:"first lady"},{match:"#Person #RomanNumeral",tag:"Person",reason:"louis-IV"}],[{match:"#FirstName #Noun$",tag:". #LastName",notIf:"(#Possessive|#Organization|#Place|#Pronoun|@hasTitleCase)",reason:"firstname-noun"},{match:"%Person|Date% #Acronym? #ProperNoun",tag:"Person",reason:"jan-thierson"},{match:"%Person|Noun% #Acronym? #ProperNoun",tag:"Person",reason:"switch-person",safe:!0},{match:"%Person|Noun% #Organization",tag:"Organization",reason:"olive-garden"},{match:"%Person|Verb% #Acronym? #ProperNoun",tag:"Person",reason:"verb-propernoun",ifNo:"#Actor"},{match:"[%Person|Verb%] (will|had|has|said|says|told|did|learned|wants|wanted)",group:0,tag:"Person",reason:"person-said"},{match:"[%Person|Place%] (harbor|harbour|pier|town|city|place|dump|landfill)",group:0,tag:"Place",reason:"sydney-harbour"},{match:"(west|east|north|south) [%Person|Place%]",group:0,tag:"Place",reason:"east-sydney"},{match:"#Modal [%Person|Verb%]",group:0,tag:"Verb",reason:"would-mark"},{match:"#Adverb [%Person|Verb%]",group:0,tag:"Verb",reason:"really-mark"},{match:"[%Person|Verb%] (#Adverb|#Comparative)",group:0,tag:"Verb",reason:"drew-closer"},{match:"%Person|Verb% #Person",tag:"Person",reason:"rob-smith"},{match:"%Person|Verb% #Acronym #ProperNoun",tag:"Person",reason:"rob-a-smith"},{match:"[will] #Verb",group:0,tag:"Modal",reason:"will-verb"},{match:"(will && @isTitleCase) #ProperNoun",tag:"Person",reason:"will-name"},{match:"(#FirstName && !#Possessive) [#Singular] #Verb",group:0,safe:!0,tag:"LastName",reason:"jack-layton"},{match:"^[#Singular] #Person #Verb",group:0,safe:!0,tag:"Person",reason:"sherwood-anderson"},{match:"(a|an) [#Person]$",group:0,unTag:"Person",reason:"a-warhol"}],[{match:"#Copula (pretty|dead|full|well|sure) (#Adjective|#Noun)",tag:"#Copula #Adverb #Adjective",reason:"sometimes-adverb"},{match:"(#Pronoun|#Person) (had|#Adverb)? [better] #PresentTense",group:0,tag:"Modal",reason:"i-better"},{match:"(#Modal|i|they|we|do) not? [like]",group:0,tag:"PresentTense",reason:"modal-like"},{match:"#Noun #Adverb? [left]",group:0,tag:"PastTense",reason:"left-verb"},{match:"will #Adverb? not? #Adverb? [be] #Gerund",group:0,tag:"Copula",reason:"will-be-copula"},{match:"will #Adverb? not? #Adverb? [be] #Adjective",group:0,tag:"Copula",reason:"be-copula"},{match:"[march] (up|down|back|toward)",notIf:"#Date",group:0,tag:"Infinitive",reason:"march-to"},{match:"#Modal [march]",group:0,tag:"Infinitive",reason:"must-march"},{match:"[may] be",group:0,tag:"Verb",reason:"may-be"},{match:"[(subject|subjects|subjected)] to",group:0,tag:"Verb",reason:"subject to"},{match:"[home] to",group:0,tag:"PresentTense",reason:"home to"},{match:"[open] #Determiner",group:0,tag:"Infinitive",reason:"open-the"},{match:"(were|was) being [#PresentTense]",group:0,tag:"PastTense",reason:"was-being"},{match:"(had|has|have) [been /en$/]",group:0,tag:"Auxiliary Participle",reason:"had-been-broken"},{match:"(had|has|have) [been /ed$/]",group:0,tag:"Auxiliary PastTense",reason:"had-been-smoked"},{match:"(had|has) #Adverb? [been] #Adverb? #PastTense",group:0,tag:"Auxiliary",reason:"had-been-adj"},{match:"(had|has) to [#Noun] (#Determiner|#Possessive)",group:0,tag:"Infinitive",reason:"had-to-noun"},{match:"have [#PresentTense]",group:0,tag:"PastTense",notIf:"(come|gotten)",reason:"have-read"},{match:"(does|will|#Modal) that [work]",group:0,tag:"PastTense",reason:"does-that-work"},{match:"[(sound|sounds)] #Adjective",group:0,tag:"PresentTense",reason:"sounds-fun"},{match:"[(look|looks)] #Adjective",group:0,tag:"PresentTense",reason:"looks-good"},{match:"[(start|starts|stop|stops|begin|begins)] #Gerund",group:0,tag:"Verb",reason:"starts-thinking"},{match:"(have|had) read",tag:"Modal #PastTense",reason:"read-read"},{match:"(is|was|were) [(under|over) #PastTense]",group:0,tag:"Adverb Adjective",reason:"was-under-cooked"},{match:"[shit] (#Determiner|#Possessive|them)",group:0,tag:"Verb",reason:"swear1-verb"},{match:"[damn] (#Determiner|#Possessive|them)",group:0,tag:"Verb",reason:"swear2-verb"},{match:"[fuck] (#Determiner|#Possessive|them)",group:0,tag:"Verb",reason:"swear3-verb"},{match:"#Plural that %Noun|Verb%",tag:". #Preposition #Infinitive",reason:"jobs-that-work"},{match:"[works] for me",group:0,tag:"PresentTense",reason:"works-for-me"},{match:"as #Pronoun [please]",group:0,tag:"Infinitive",reason:"as-we-please"},{match:"[(co|mis|de|inter|intra|pre|re|un|out|under|over|counter)] #Verb",group:0,tag:["Verb","Prefix"],notIf:"(#Copula|#PhrasalVerb)",reason:"co-write"},{match:"#PastTense and [%Adj|Past%]",group:0,tag:"PastTense",reason:"dressed-and-left"},{match:"[%Adj|Past%] and #PastTense",group:0,tag:"PastTense",reason:"dressed-and-left"},{match:"#Copula #Pronoun [%Adj|Past%]",group:0,tag:"Adjective",reason:"is-he-stoked"},{match:"to [%Noun|Verb%] #Preposition",group:0,tag:"Infinitive",reason:"to-dream-of"}],[{match:"(slowly|quickly) [#Adjective]",group:0,tag:"Verb",reason:"slowly-adj"},{match:"does (#Adverb|not)? [#Adjective]",group:0,tag:"PresentTense",reason:"does-mean"},{match:"[(fine|okay|cool|ok)] by me",group:0,tag:"Adjective",reason:"okay-by-me"},{match:"i (#Adverb|do)? not? [mean]",group:0,tag:"PresentTense",reason:"i-mean"},{match:"will #Adjective",tag:"Auxiliary Infinitive",reason:"will-adj"},{match:"#Pronoun [#Adjective] #Determiner #Adjective? #Noun",group:0,tag:"Verb",reason:"he-adj-the"},{match:"#Copula [%Adj|Present%] to #Verb",group:0,tag:"Verb",reason:"adj-to"},{match:"#Copula [#Adjective] (well|badly|quickly|slowly)",group:0,tag:"Verb",reason:"done-well"},{match:"#Adjective and [#Gerund] !#Preposition?",group:0,tag:"Adjective",reason:"rude-and-x"},{match:"#Copula #Adverb? (over|under) [#PastTense]",group:0,tag:"Adjective",reason:"over-cooked"},{match:"#Copula #Adjective+ (and|or) [#PastTense]$",group:0,tag:"Adjective",reason:"bland-and-overcooked"},{match:"got #Adverb? [#PastTense] of",group:0,tag:"Adjective",reason:"got-tired-of"},{match:"(seem|seems|seemed|appear|appeared|appears|feel|feels|felt|sound|sounds|sounded) (#Adverb|#Adjective)? [#PastTense]",group:0,tag:"Adjective",reason:"felt-loved"},{match:"(seem|feel|seemed|felt) [#PastTense #Particle?]",group:0,tag:"Adjective",reason:"seem-confused"},{match:"a (bit|little|tad) [#PastTense #Particle?]",group:0,tag:"Adjective",reason:"a-bit-confused"},{match:"not be [%Adj|Past% #Particle?]",group:0,tag:"Adjective",reason:"do-not-be-confused"},{match:"#Copula just [%Adj|Past% #Particle?]",group:0,tag:"Adjective",reason:"is-just-right"},{match:"as [#Infinitive] as",group:0,tag:"Adjective",reason:"as-pale-as"},{match:"[%Adj|Past%] and #Adjective",group:0,tag:"Adjective",reason:"faled-and-oppressive"},{match:"or [#PastTense] #Noun",group:0,tag:"Adjective",notIf:"(#Copula|#Pronoun)",reason:"or-heightened-emotion"},{match:"(become|became|becoming|becomes) [#Verb]",group:0,tag:"Adjective",reason:"become-verb"},{match:"#Possessive [#PastTense] #Noun",group:0,tag:"Adjective",reason:"declared-intentions"},{match:"#Copula #Pronoun [%Adj|Present%]",group:0,tag:"Adjective",reason:"is-he-cool"}],[{match:"will (#Adverb|not)+? [have] (#Adverb|not)+? #Verb",group:0,tag:"Auxiliary",reason:"will-have-vb"},{match:"[#Copula] (#Adverb|not)+? (#Gerund|#PastTense)",group:0,tag:"Auxiliary",reason:"copula-walking"},{match:"[(#Modal|did)+] (#Adverb|not)+? #Verb",group:0,tag:"Auxiliary",reason:"modal-verb"},{match:"#Modal (#Adverb|not)+? [have] (#Adverb|not)+? [had] (#Adverb|not)+? #Verb",group:0,tag:"Auxiliary",reason:"would-have"},{match:"[(has|had)] (#Adverb|not)+? #PastTense",group:0,tag:"Auxiliary",reason:"had-walked"},{match:"[(do|does|did|will|have|had|has|got)] (not|#Adverb)+? #Verb",group:0,tag:"Auxiliary",reason:"have-had"},{match:"[about to] #Adverb? #Verb",group:0,tag:["Auxiliary","Verb"],reason:"about-to"},{match:"#Modal (#Adverb|not)+? [be] (#Adverb|not)+? #Verb",group:0,tag:"Auxiliary",reason:"would-be"},{match:"[(#Modal|had|has)] (#Adverb|not)+? [been] (#Adverb|not)+? #Verb",group:0,tag:"Auxiliary",reason:"had-been"},{match:"[(be|being|been)] #Participle",group:0,tag:"Auxiliary",reason:"being-driven"},{match:"[may] #Adverb? #Infinitive",group:0,tag:"Auxiliary",reason:"may-want"},{match:"#Copula (#Adverb|not)+? [(be|being|been)] #Adverb+? #PastTense",group:0,tag:"Auxiliary",reason:"being-walked"},{match:"will [be] #PastTense",group:0,tag:"Auxiliary",reason:"will-be-x"},{match:"[(be|been)] (#Adverb|not)+? #Gerund",group:0,tag:"Auxiliary",reason:"been-walking"},{match:"[used to] #PresentTense",group:0,tag:"Auxiliary",reason:"used-to-walk"},{match:"#Copula (#Adverb|not)+? [going to] #Adverb+? #PresentTense",group:0,tag:"Auxiliary",reason:"going-to-walk"},{match:"#Imperative [(me|him|her)]",group:0,tag:"Reflexive",reason:"tell-him"},{match:"(is|was) #Adverb? [no]",group:0,tag:"Negative",reason:"is-no"},{match:"[(been|had|became|came)] #PastTense",group:0,notIf:"#PhrasalVerb",tag:"Auxiliary",reason:"been-told"},{match:"[(being|having|getting)] #Verb",group:0,tag:"Auxiliary",reason:"being-born"},{match:"[be] #Gerund",group:0,tag:"Auxiliary",reason:"be-walking"},{match:"[better] #PresentTense",group:0,tag:"Modal",notIf:"(#Copula|#Gerund)",reason:"better-go"},{match:"even better",tag:"Adverb #Comparative",reason:"even-better"}],[{match:"(#Verb && @hasHyphen) up",tag:"PhrasalVerb",reason:"foo-up"},{match:"(#Verb && @hasHyphen) off",tag:"PhrasalVerb",reason:"foo-off"},{match:"(#Verb && @hasHyphen) over",tag:"PhrasalVerb",reason:"foo-over"},{match:"(#Verb && @hasHyphen) out",tag:"PhrasalVerb",reason:"foo-out"},{match:"[#Verb (in|out|up|down|off|back)] (on|in)",notIf:"#Copula",tag:"PhrasalVerb Particle",reason:"walk-in-on"},{match:"(lived|went|crept|go) [on] for",group:0,tag:"PhrasalVerb",reason:"went-on"},{match:"#Verb (up|down|in|on|for)$",tag:"PhrasalVerb #Particle",notIf:"#PhrasalVerb",reason:"come-down$"},{match:"help [(stop|end|make|start)]",group:0,tag:"Infinitive",reason:"help-stop"},{match:"#PhrasalVerb (in && #Particle) #Determiner",tag:"#Verb #Preposition #Determiner",unTag:"PhrasalVerb",reason:"work-in-the"},{match:"[(stop|start|finish|help)] #Gerund",group:0,tag:"Infinitive",reason:"start-listening"},{match:"#Verb (him|her|it|us|himself|herself|itself|everything|something) [(up|down)]",group:0,tag:"Adverb",reason:"phrasal-pronoun-advb"}],[{match:"^do not? [#Infinitive #Particle?]",notIf:ec,group:0,tag:"Imperative",reason:"do-eat"},{match:"^please do? not? [#Infinitive #Particle?]",group:0,tag:"Imperative",reason:"please-go"},{match:"^just do? not? [#Infinitive #Particle?]",group:0,tag:"Imperative",reason:"just-go"},{match:"^[#Infinitive] it #Comparative",notIf:ec,group:0,tag:"Imperative",reason:"do-it-better"},{match:"^[#Infinitive] it (please|now|again|plz)",notIf:ec,group:0,tag:"Imperative",reason:"do-it-please"},{match:"^[#Infinitive] (#Adjective|#Adverb)$",group:0,tag:"Imperative",notIf:"(so|such|rather|enough)",reason:"go-quickly"},{match:"^[#Infinitive] (up|down|over) #Determiner",group:0,tag:"Imperative",reason:"turn-down"},{match:"^[#Infinitive] (your|my|the|a|an|any|each|every|some|more|with|on)",group:0,notIf:"like",tag:"Imperative",reason:"eat-my-shorts"},{match:"^[#Infinitive] (him|her|it|us|me|there)",group:0,tag:"Imperative",reason:"tell-him"},{match:"^[#Infinitive] #Adjective #Noun$",group:0,tag:"Imperative",reason:"avoid-loud-noises"},{match:"^[#Infinitive] (#Adjective|#Adverb)? and #Infinitive",group:0,tag:"Imperative",reason:"call-and-reserve"},{match:"^(go|stop|wait|hurry) please?$",tag:"Imperative",reason:"go"},{match:"^(somebody|everybody) [#Infinitive]",group:0,tag:"Imperative",reason:"somebody-call"},{match:"^let (us|me) [#Infinitive]",group:0,tag:"Imperative",reason:"lets-leave"},{match:"^[(shut|close|open|start|stop|end|keep)] #Determiner #Noun",group:0,tag:"Imperative",reason:"shut-the-door"},{match:"^[#PhrasalVerb #Particle] #Determiner #Noun",group:0,tag:"Imperative",reason:"turn-off-the-light"},{match:"^[go] to .",group:0,tag:"Imperative",reason:"go-to-toronto"},{match:"^#Modal you [#Infinitive]",group:0,tag:"Imperative",reason:"would-you-"},{match:"^never [#Infinitive]",group:0,tag:"Imperative",reason:"never-stop"},{match:"^come #Infinitive",tag:"Imperative",notIf:"on",reason:"come-have"},{match:"^come and? #Infinitive",tag:"Imperative . Imperative",notIf:"#PhrasalVerb",reason:"come-and-have"},{match:"^stay (out|away|back)",tag:"Imperative",reason:"stay-away"},{match:"^[(stay|be|keep)] #Adjective",group:0,tag:"Imperative",reason:"stay-cool"},{match:"^[keep it] #Adjective",group:0,tag:"Imperative",reason:"keep-it-cool"},{match:"^do not [#Infinitive]",group:0,tag:"Imperative",reason:"do-not-be"},{match:"[#Infinitive] (yourself|yourselves)",group:0,tag:"Imperative",reason:"allow-yourself"},{match:"[#Infinitive] what .",group:0,tag:"Imperative",reason:"look-what"},{match:"^[#Infinitive] #Gerund",group:0,tag:"Imperative",reason:"keep-playing"},{match:"^[#Infinitive] (to|for|into|toward|here|there)",group:0,tag:"Imperative",reason:"go-to"},{match:"^[#Infinitive] (and|or) #Infinitive",group:0,tag:"Imperative",reason:"inf-and-inf"},{match:"^[%Noun|Verb%] to",group:0,tag:"Imperative",reason:"commit-to"},{match:"^[#Infinitive] #Adjective? #Singular #Singular",group:0,tag:"Imperative",reason:"maintain-eye-contact"},{match:"do not (forget|omit|neglect) to [#Infinitive]",group:0,tag:"Imperative",reason:"do-not-forget"},{match:"^[(ask|wear|pay|look|help|show|watch|act|fix|kill|stop|start|turn|try|win)] #Noun",group:0,tag:"Imperative",reason:"pay-attention"}],[{match:"(that|which) were [%Adj|Gerund%]",group:0,tag:"Gerund",reason:"that-were-growing"},{match:"#Gerund [#Gerund] #Plural",group:0,tag:"Adjective",reason:"hard-working-fam"}],[{match:"u r",tag:"#Pronoun #Copula",reason:"u r"},{match:"#Noun [(who|whom)]",group:0,tag:"Determiner",reason:"captain-who"},{match:"[had] #Noun+ #PastTense",group:0,tag:"Condition",reason:"had-he"},{match:"[were] #Noun+ to #Infinitive",group:0,tag:"Condition",reason:"were-he"},{match:"some sort of",tag:"Adjective Noun Conjunction",reason:"some-sort-of"},{match:"of some sort",tag:"Conjunction Adjective Noun",reason:"of-some-sort"},{match:"[such] (a|an|is)? #Noun",group:0,tag:"Determiner",reason:"such-skill"},{match:"[right] (before|after|in|into|to|toward)",group:0,tag:"#Adverb",reason:"right-into"},{match:"#Preposition [about]",group:0,tag:"Adjective",reason:"at-about"},{match:"(are|#Modal|see|do|for) [ya]",group:0,tag:"Pronoun",reason:"are-ya"},{match:"[long live] .",group:0,tag:"#Adjective #Infinitive",reason:"long-live"},{match:"[plenty] of",group:0,tag:"#Uncountable",reason:"plenty-of"},{match:"(always|nearly|barely|practically) [there]",group:0,tag:"Adjective",reason:"always-there"},{match:"[there] (#Adverb|#Pronoun)? #Copula",group:0,tag:"There",reason:"there-is"},{match:"#Copula [there] .",group:0,tag:"There",reason:"is-there"},{match:"#Modal #Adverb? [there]",group:0,tag:"There",reason:"should-there"},{match:"^[do] (you|we|they)",group:0,tag:"QuestionWord",reason:"do-you"},{match:"^[does] (he|she|it|#ProperNoun)",group:0,tag:"QuestionWord",reason:"does-he"},{match:"a [while]",group:0,tag:"Noun",reason:"a-while"},{match:"guess who",tag:"#Infinitive #QuestionWord",reason:"guess-who"},{match:"[fucking] !#Verb",group:0,tag:"#Gerund",reason:"f-as-gerund"}],[{match:"university of #Place",tag:"Organization",reason:"university-of-Foo"},{match:"#Noun (&|n) #Noun",tag:"Organization",reason:"Noun-&-Noun"},{match:"#Organization of the? #ProperNoun",tag:"Organization",reason:"org-of-place",safe:!0},{match:"#Organization #Country",tag:"Organization",reason:"org-country"},{match:"#ProperNoun #Organization",tag:"Organization",notIf:"#FirstName",reason:"titlecase-org"},{match:"#ProperNoun (ltd|co|inc|dept|assn|bros)",tag:"Organization",reason:"org-abbrv"},{match:"the [#Acronym]",group:0,tag:"Organization",reason:"the-acronym",safe:!0},{match:"government of the? [#Place+]",tag:"Organization",reason:"government-of-x"},{match:"(health|school|commerce) board",tag:"Organization",reason:"school-board"},{match:"(nominating|special|conference|executive|steering|central|congressional) committee",tag:"Organization",reason:"special-comittee"},{match:"(world|global|international|national|#Demonym) #Organization",tag:"Organization",reason:"global-org"},{match:"#Noun+ (public|private) school",tag:"School",reason:"noun-public-school"}],[{match:"(west|north|south|east|western|northern|southern|eastern)+ #Place",tag:"Region",reason:"west-norfolk"},{match:"#City [(al|ak|az|ar|ca|ct|dc|fl|ga|id|il|nv|nh|nj|ny|oh|pa|sc|tn|tx|ut|vt|pr)]",group:0,tag:"Region",reason:"us-state"},{match:"portland [or]",group:0,tag:"Region",reason:"portland-or"},{match:"#ProperNoun+ (cliff|place|range|pit|place|point|room|grounds|ruins)",tag:"Place",reason:"foo-point"},{match:"in [#ProperNoun] #Place",group:0,tag:"Place",reason:"propernoun-place"},{match:"#Value #Noun (st|street|rd|road|crescent|cr|way|tr|terrace|avenue|ave)",tag:"Address",reason:"address-st"}],[{match:"[so] #Noun",group:0,tag:"Conjunction",reason:"so-conj"},{match:"[(who|what|where|why|how|when)] #Noun #Copula #Adverb? (#Verb|#Adjective)",group:0,tag:"Conjunction",reason:"how-he-is-x"},{match:"#Copula [(who|what|where|why|how|when)] #Noun",group:0,tag:"Conjunction",reason:"when-he"},{match:"#Verb [that] #Pronoun",group:0,tag:"Conjunction",reason:"said-that-he"},{match:"#Noun [that] #Copula",group:0,tag:"Conjunction",reason:"that-are"},{match:"#Noun [that] #Verb #Adjective",group:0,tag:"Conjunction",reason:"that-seem"},{match:"#Noun #Copula not? [that] #Adjective",group:0,tag:"Adverb",reason:"that-adj"},{match:"#Verb #Adverb? #Noun [(that|which)]",group:0,tag:"Preposition",reason:"that-prep"},{match:"@hasComma [which] (#Pronoun|#Verb)",group:0,tag:"Preposition",reason:"which-copula"},{match:"#Noun [like] #Noun",group:0,tag:"Preposition",reason:"noun-like"},{match:"^[like] #Determiner",group:0,tag:"Preposition",reason:"like-the"},{match:"a #Noun [like] (#Noun|#Determiner)",group:0,tag:"Preposition",reason:"a-noun-like"},{match:"#Adverb [like]",group:0,tag:"Verb",reason:"really-like"},{match:"(not|nothing|never) [like]",group:0,tag:"Preposition",reason:"nothing-like"},{match:"#Infinitive #Pronoun [like]",group:0,tag:"Preposition",reason:"treat-them-like"},{match:"[#QuestionWord] (#Pronoun|#Determiner)",group:0,tag:"Preposition",reason:"how-he"},{match:"[#QuestionWord] #Participle",group:0,tag:"Preposition",reason:"when-stolen"},{match:"[how] (#Determiner|#Copula|#Modal|#PastTense)",group:0,tag:"QuestionWord",reason:"how-is"},{match:"#Plural [(who|which|when)] .",group:0,tag:"Preposition",reason:"people-who"}],[{match:"holy (shit|fuck|hell)",tag:"Expression",reason:"swears-expression"},{match:"^[(well|so|okay|now)] !#Adjective?",group:0,tag:"Expression",reason:"well-"},{match:"^come on",tag:"Expression",reason:"come-on"},{match:"(say|says|said) [sorry]",group:0,tag:"Expression",reason:"say-sorry"},{match:"^(ok|alright|shoot|hell|anyways)",tag:"Expression",reason:"ok-"},{match:"^(say && @hasComma)",tag:"Expression",reason:"say-"},{match:"^(like && @hasComma)",tag:"Expression",reason:"like-"},{match:"^[(dude|man|girl)] #Pronoun",group:0,tag:"Expression",reason:"dude-i"}]),nc=null;var rc={postTagger:function(e){const{world:t}=e,{model:n,methods:r}=t;nc=nc||r.one.buildNet(n.two.matches,t);let a=r.two.quickSplit(e.document).map((e=>{let t=e[0];return[t.index[0],t.index[1],t.index[1]+e.length]})),o=e.update(a);return o.cache(),o.sweep(nc),e.uncache(),e},tagger:e=>e.compute(["lexicon","preTagger","postTagger"])};const ac={api:function(e){e.prototype.confidence=function(){let e=0,t=0;return this.docs.forEach((n=>{n.forEach((n=>{t+=1,e+=n.confidence||1}))})),0===t?1:(e=>Math.round(100*e)/100)(e/t)},e.prototype.tagger=function(){return this.compute(["tagger"])}},compute:rc,model:{two:{matches:tc}},hooks:["postTagger"]};var oc=ac,ic=function(e,t){let n=function(e){return Object.keys(e.hooks).filter((e=>!e.startsWith("#")&&!e.startsWith("%")))}(t);if(0===n.length)return e;e._cache||e.cache();let r=e._cache;return e.filter(((e,t)=>n.some((e=>r[t].has(e)))))},sc=function(e,t){let n=t;"string"==typeof t&&(n=this.buildNet([{match:t}]));let r=this.tokenize(e),a=ic(r,n);return a.found?(a.compute(["index","tagger"]),a.match(t)):r.none()},lc={lib:{lazy:sc}},uc=function(e,t){let n=t;return e.forEach((e=>{e.has("#Infinitive")||(n=function(e,t){let n=(0,e.methods.two.transform.verb.conjugate)(t,e.model);return e.has("#Gerund")?n.Gerund:e.has("#PastTense")?n.PastTense:e.has("#PresentTense")?n.PresentTense:e.has("#Gerund")?n.Gerund:t}(e,t)),e.replaceWith(n)})),e},cc=function(e,t,n){let r=e.split(/ /g).map((e=>e.toLowerCase().trim()));r=r.filter((e=>e)),r=r.map((e=>`{${e}}`)).join(" ");let a=this.match(r);return n&&(a=a.if(n)),a.has("#Verb")?uc(a,t):a.has("#Noun")?function(e,t){let n=t;e.has("#Plural")&&(n=(0,e.methods.two.transform.noun.toPlural)(t,e.model)),e.replaceWith(n,{possessives:!0})}(a,t):a.has("#Adverb")?function(e,t){const{toAdverb:n}=e.methods.two.transform.adjective;let r=n(t);r&&e.replaceWith(r)}(a,t):a.has("#Adjective")?function(e,t){const{toComparative:n,toSuperlative:r}=e.methods.two.transform.adjective;let a=t;e.has("#Comparative")?a=n(a,e.model):e.has("#Superlative")&&(a=r(a,e.model)),a&&e.replaceWith(a)}(a,t):this},hc={api:function(e){e.prototype.swap=cc}};v.plugin(Gu),v.plugin(Zu),v.plugin(oc),v.plugin(lc),v.plugin(hc);const dc=function(e){const{fromComparative:t,fromSuperlative:n}=e.methods.two.transform.adjective;let r=e.text("normal");return e.has("#Comparative")?t(r,e.model):e.has("#Superlative")?n(r,e.model):r};var gc={api:function(e){class Adjectives extends e{constructor(e,t,n){super(e,t,n),this.viewType="Adjectives"}json(e={}){const{toAdverb:t,toNoun:n,toSuperlative:r,toComparative:a}=this.methods.two.transform.adjective;return e.normal=!0,this.map((o=>{let i=o.toView().json(e)[0]||{},s=dc(o);return i.adjective={adverb:t(s,this.model),noun:n(s,this.model),superlative:r(s,this.model),comparative:a(s,this.model)},i}),[])}adverbs(){return this.before("#Adverb+$").concat(this.after("^#Adverb+"))}conjugate(e){const{toComparative:t,toSuperlative:n,toNoun:r,toAdverb:a}=this.methods.two.transform.adjective;return this.getNth(e).map((e=>{let o=dc(e);return{Adjective:o,Comparative:t(o,this.model),Superlative:n(o,this.model),Noun:r(o,this.model),Adverb:a(o,this.model)}}),[])}toComparative(e){const{toComparative:t}=this.methods.two.transform.adjective;return this.getNth(e).map((e=>{let n=dc(e),r=t(n,this.model);return e.replaceWith(r)}))}toSuperlative(e){const{toSuperlative:t}=this.methods.two.transform.adjective;return this.getNth(e).map((e=>{let n=dc(e),r=t(n,this.model);return e.replaceWith(r)}))}toAdverb(e){const{toAdverb:t}=this.methods.two.transform.adjective;return this.getNth(e).map((e=>{let n=dc(e),r=t(n,this.model);return e.replaceWith(r)}))}toNoun(e){const{toNoun:t}=this.methods.two.transform.adjective;return this.getNth(e).map((e=>{let n=dc(e),r=t(n,this.model);return e.replaceWith(r)}))}}e.prototype.adjectives=function(e){let t=this.match("#Adjective");return t=t.getNth(e),new Adjectives(t.document,t.pointer)},e.prototype.superlatives=function(e){let t=this.match("#Superlative");return t=t.getNth(e),new Adjectives(t.document,t.pointer)},e.prototype.comparatives=function(e){let t=this.match("#Comparative");return t=t.getNth(e),new Adjectives(t.document,t.pointer)}}},mc={api:function(e){class Adverbs extends e{constructor(e,t,n){super(e,t,n),this.viewType="Adverbs"}conjugate(e){return this.getNth(e).map((e=>{let t=function(e){return e.compute("root").text("root")}(e);return{Adverb:e.text("normal"),Adjective:t}}),[])}json(e={}){const t=this.methods.two.transform.adjective.fromAdverb;return e.normal=!0,this.map((n=>{let r=n.toView().json(e)[0]||{};return r.adverb={adjective:t(r.normal)},r}),[])}}e.prototype.adverbs=function(e){let t=this.match("#Adverb");return t=t.getNth(e),new Adverbs(t.document,t.pointer)}}},pc=function(e){let t=this;return t=function(e){let t=e.parentheses();return t=t.filter((e=>e.wordCount()>=3&&e.has("#Verb")&&e.has("#Noun"))),e.splitOn(t)}(t),t=function(e){let t=e.quotations();return t=t.filter((e=>e.wordCount()>=3&&e.has("#Verb")&&e.has("#Noun"))),e.splitOn(t)}(t),t=function(e){let t=e.match("@hasComma");return t=t.filter((e=>{if(1===e.growLeft(".").wordCount())return!1;if(1===e.growRight(". .").wordCount())return!1;let t=e.grow(".");return t=t.ifNo("@hasComma @hasComma"),t=t.ifNo("@hasComma (and|or) ."),t=t.ifNo("(#City && @hasComma) #Country"),t=t.ifNo("(#WeekDay && @hasComma) #Date"),t=t.ifNo("(#Date+ && @hasComma) #Value"),t=t.ifNo("(#Adjective && @hasComma) #Adjective"),t.found})),e.splitAfter(t)}(t),t=t.splitAfter("(@hasEllipses|@hasSemicolon|@hasDash|@hasColon)"),t=t.splitAfter("^#Pronoun (said|says)"),t=t.splitBefore("(said|says) #ProperNoun$"),t=t.splitBefore(". . if .{4}"),t=t.splitBefore("and while"),t=t.splitBefore("now that"),t=t.splitBefore("ever since"),t=t.splitBefore("(supposing|although)"),t=t.splitBefore("even (while|if|though)"),t=t.splitBefore("(whereas|whose)"),t=t.splitBefore("as (though|if)"),t=t.splitBefore("(til|until)"),"number"==typeof e&&(t=t.get(e)),t},fc=function(e){let t=[],n=null;return e.clauses().docs.forEach((e=>{e.forEach((e=>{e.chunk&&e.chunk===n?t[t.length-1][2]=e.index[1]+1:(n=e.chunk,t.push([e.index[0],e.index[1],e.index[1]+1]))})),n=null})),e.update(t)},vc=function(e){class Chunks extends e{constructor(e,t,n){super(e,t,n),this.viewType="Chunks"}isVerb(){return this.filter((e=>e.has("")))}isNoun(){return this.filter((e=>e.has("")))}isAdjective(){return this.filter((e=>e.has("")))}isPivot(){return this.filter((e=>e.has("")))}debug(){return this.toView().debug("chunks"),this}update(e){let t=new Chunks(this.document,e);return t._cache=this._cache,t}}e.prototype.chunks=function(e){let t=fc(this);return t=t.getNth(e),new Chunks(this.document,t.pointer)},e.prototype.clauses=pc};const bc={this:"Noun",then:"Pivot"};var yc=function(e){for(let t=0;t",group:0,chunk:"Verb"},{match:"#Noun of #Determiner? #Noun",chunk:"Noun"},{match:"#Value+ #Adverb? #Adjective",chunk:"Noun"},{match:"the [#Adjective] #Noun",chunk:"Noun"},{match:"#Singular in #Determiner? #Singular",chunk:"Noun"},{match:"#Plural [in] #Determiner? #Noun",group:0,chunk:"Pivot"},{match:"#Noun and #Determiner? #Noun",notIf:"(#Possessive|#Pronoun)",chunk:"Noun"}];let Pc=null;var Ac=function(e,t,n){const{methods:r}=n;Pc=Pc||r.one.buildNet(kc,n),e.sweep(Pc)};const Cc=function(e,t){if(("undefined"!=typeof process&&process.env?process.env:self.env||{}).DEBUG_CHUNKS){let n=(e.normal+"'").padEnd(8);console.log(` | '${n} → ${t.padEnd(12)}  -fallback- `)}e.chunk=t};var Nc=function(e){for(let t=0;t{for(let r=0;r{if("Verb"===e.chunk){const t=e.terms.find((e=>e.tags.has("Verb")));t||e.terms.forEach((e=>e.chunk=null))}}))},xc={chunks:function(e){const{document:t,world:n}=e;yc(t),wc(t),Ac(e,t,n),Nc(t),jc(t)}},Ic={compute:xc,api:vc,hooks:["chunks"]};const Tc=/\./g;var Hc=function(e){class Acronyms extends e{constructor(e,t,n){super(e,t,n),this.viewType="Acronyms"}strip(){return this.docs.forEach((e=>{e.forEach((e=>{e.text=e.text.replace(Tc,""),e.normal=e.normal.replace(Tc,"")}))})),this}addPeriods(){return this.docs.forEach((e=>{e.forEach((e=>{e.text=e.text.replace(Tc,""),e.normal=e.normal.replace(Tc,""),e.text=e.text.split("").join(".")+".",e.normal=e.normal.split("").join(".")+"."}))})),this}}e.prototype.acronyms=function(e){let t=this.match("#Acronym");return t=t.getNth(e),new Acronyms(t.document,t.pointer)}};const Dc=/\(/,Gc=/\)/,Ec=function(e,t){for(;t{e[0].pre=e[0].pre.replace(Dc,"");let t=e[e.length-1];t.post=t.post.replace(Gc,"")})),e}(this)}}e.prototype.parentheses=function(e){let t=function(e){let t=[];return e.docs.forEach((e=>{for(let n=0;n{e.forEach((e=>{e.text=e.text.replace(Fc,""),e.normal=e.normal.replace(Fc,"")}))})),this}}e.prototype.possessives=function(e){let t=function(e){let t=e.match("#Possessive+");return t.has("#Person")&&(t=t.growLeft("#Person+")),t.has("#Place")&&(t=t.growLeft("#Place+")),t.has("#Organization")&&(t=t.growLeft("#Organization+")),t}(this);return t=t.getNth(e),new Possessives(t.document,t.pointer)}};const zc={'"':'"',""":""","'":"'","“":"”","‘":"’","‟":"”","‛":"’","„":"”","⹂":"”","‚":"’","«":"»","‹":"›","‵":"′","‶":"″","‷":"‴","〝":"〞","`":"´","〟":"〞"},$c=RegExp("["+Object.keys(zc).join("")+"]"),Lc=RegExp("["+Object.values(zc).join("")+"]"),Sc=function(e,t){const n=e[t].pre.match($c)[0]||"";if(!n||!zc[n])return null;const r=zc[n];for(;t{e[0].pre=e[0].pre.replace($c,"");let t=e[e.length-1];t.post=t.post.replace(Lc,"")}))}(this)}}e.prototype.quotations=function(e){let t=function(e){let t=[];return e.docs.forEach((e=>{for(let n=0;n{e.prototype[t[0]]=function(e){let n=this.match(t[1]);return"number"==typeof e?n.get(e):n}})),e.prototype.phoneNumbers=Bc,Wc.forEach((t=>{e.prototype[t[0]]=e.prototype[t[1]]}))},Kc={api:function(e){Hc(e),Oc(e),Vc(e),Mc(e),qc(e)}};const Uc=function(e,t){e.docs.forEach((e=>{e.forEach(t)}))};var Rc={case:e=>{Uc(e,(e=>{e.text=e.text.toLowerCase()}))},unicode:e=>{const t=e.world,n=t.methods.one.killUnicode;Uc(e,(e=>e.text=n(e.text,t)))},whitespace:e=>{Uc(e,(e=>{e.post=e.post.replace(/\s+/g," "),e.post=e.post.replace(/\s([.,?!:;])/g,"$1"),e.pre=e.pre.replace(/\s+/g,"")}))},punctuation:e=>{Uc(e,(e=>{e.post=e.post.replace(/[–—-]/g," "),e.post=e.post.replace(/[,:;]/g,""),e.post=e.post.replace(/\.{2,}/g,""),e.post=e.post.replace(/\?{2,}/g,"?"),e.post=e.post.replace(/!{2,}/g,"!"),e.post=e.post.replace(/\?!+/g,"?")}));let t=e.docs,n=t[t.length-1];if(n&&n.length>0){let e=n[n.length-1];e.post=e.post.replace(/ /g,"")}},contractions:e=>{e.contractions().expand()},acronyms:e=>{e.acronyms().strip()},parentheses:e=>{e.parentheses().strip()},possessives:e=>{e.possessives().strip()},quotations:e=>{e.quotations().strip()},emoji:e=>{e.emojis().remove()},honorifics:e=>{e.match("#Honorific+ #Person").honorifics().remove()},adverbs:e=>{e.adverbs().remove()},nouns:e=>{e.nouns().toSingular()},verbs:e=>{e.verbs().toInfinitive()},numbers:e=>{e.numbers().toNumber()},debullet:e=>{const t=/^\s*([-–—*•])\s*$/;return e.docs.forEach((e=>{t.test(e[0].pre)&&(e[0].pre=e[0].pre.replace(t,""))})),e}};const Qc=e=>e.split("|").reduce(((e,t)=>(e[t]=!0,e)),{}),_c="unicode|punctuation|whitespace|acronyms",Xc="|case|contractions|parentheses|quotations|emoji|honorifics|debullet",Zc={light:Qc(_c),medium:Qc(_c+Xc),heavy:Qc(_c+Xc+"|possessives|adverbs|nouns|verbs")};var Yc={api:function(e){e.prototype.normalize=function(e="light"){return"string"==typeof e&&(e=Zc[e]),Object.keys(e).forEach((t=>{Rc.hasOwnProperty(t)&&Rc[t](this,e[t])})),this}}},eh=function(e){let t=e.clauses().match(""),n=t.match("@hasComma");return n=n.not("#Place"),n.found&&(t=t.splitAfter(n)),t=t.splitOn("#Expression"),t=t.splitOn("(he|she|we|you|they|i)"),t=t.splitOn("(#Noun|#Adjective) [(he|him|she|it)]",0),t=t.splitOn("[(he|him|she|it)] (#Determiner|#Value)",0),t=t.splitBefore("#Noun [(the|a|an)] #Adjective? #Noun",0),t=t.splitOn("[(here|there)] #Noun",0),t=t.splitOn("[#Noun] (here|there)",0),t=t.splitBefore("(our|my|their|your)"),t=t.splitOn("#Noun [#Determiner]",0),t=t.if("#Noun"),t};const th=["after","although","as if","as long as","as","because","before","even if","even though","ever since","if","in order that","provided that","since","so that","than","that","though","unless","until","what","whatever","when","whenever","where","whereas","wherever","whether","which","whichever","who","whoever","whom","whomever","whose"];var nh=function(e){if(e.before("#Preposition$").found)return!0;if(!e.before().found)return!1;for(let t=0;t3&&n.endsWith("s")&&!n.endsWith("ss")},ah=function(e){let t=function(e){let t=e.clone();return t=t.match("#Noun+"),t=t.remove("(#Adjective|#Preposition|#Determiner|#Value)"),t=t.not("#Possessive"),t=t.first(),t.found?t:e}(e);return{determiner:e.match("#Determiner").eq(0),adjectives:e.match("#Adjective"),number:e.values(),isPlural:rh(e,t),isSubordinate:nh(e),root:t}};const oh=e=>e.text(),ih=e=>e.json({terms:!1,normal:!0}).map((e=>e.normal)),sh=function(e){if(!e.found)return null;let t=e.values(0);return t.found?(t.parse()[0]||{}).num:null};var lh=function(e){let t=ah(e);return{root:oh(t.root),number:sh(t.number),determiner:oh(t.determiner),adjectives:ih(t.adjectives),isPlural:t.isPlural,isSubordinate:t.isSubordinate}},uh=function(e){return!e.has("^(#Uncountable|#ProperNoun|#Place|#Pronoun|#Acronym)+$")};const ch={tags:!0};var hh=function(e,t){if(!0===t.isPlural)return e;if(t.root.has("#Possessive")&&(t.root=t.root.possessives().strip()),!uh(t.root))return e;const{methods:n,model:r}=e.world,{toPlural:a}=n.two.transform.noun;let o=a(t.root.text({keepPunct:!1}),r);e.match(t.root).replaceWith(o,ch).tag("Plural","toPlural"),t.determiner.has("(a|an)")&&e.remove(t.determiner);let i=t.root.after("not? #Adverb+? [#Copula]",0);return i.found&&(i.has("is")?e.replace(i,"are"):i.has("was")&&e.replace(i,"were")),e};const dh={tags:!0};var gh=function(e,t){if(!1===t.isPlural)return e;const{methods:n,model:r}=e.world,{toSingular:a}=n.two.transform.noun;let o=a(t.root.text("normal"),r);return e.replace(t.root,o,dh).tag("Singular","toPlural"),e},mh=function(e){class Nouns extends e{constructor(e,t,n){super(e,t,n),this.viewType="Nouns"}parse(e){return this.getNth(e).map(ah)}json(e){let t="object"==typeof e?e:{};return this.getNth(e).map((e=>{let n=e.toView().json(t)[0]||{};return t&&!0!==t.noun&&(n.noun=lh(e)),n}),[])}conjugate(e){const t=this.world.methods.two.transform.noun;return this.getNth(e).map((e=>{let n=ah(e),r=n.root.compute("root").text("root"),a={Singular:r};return uh(n.root)&&(a.Plural=t.toPlural(r,this.model)),a.Singular===a.Plural&&delete a.Plural,a}),[])}isPlural(e){let t=this.filter((e=>ah(e).isPlural));return t.getNth(e)}isSingular(e){let t=this.filter((e=>!ah(e).isPlural));return t.getNth(e)}adjectives(e){let t=this.update([]);return this.forEach((e=>{let n=ah(e).adjectives;n.found&&(t=t.concat(n))})),t.getNth(e)}toPlural(e){return this.getNth(e).map((e=>hh(e,ah(e))))}toSingular(e){return this.getNth(e).map((e=>{let t=ah(e);return gh(e,t)}))}update(e){let t=new Nouns(this.document,e);return t._cache=this._cache,t}}e.prototype.nouns=function(e){let t=eh(this);return t=t.getNth(e),new Nouns(this.document,t.pointer)}},ph={api:mh},fh=function(e,t){let n=e.match("#Fraction+");return n=n.filter((e=>!e.lookBehind("#Value and$").found)),n=n.notIf("#Value seconds"),"number"==typeof t&&(n=n.eq(t)),n},vh=e=>{const t=[{reg:/^(minus|negative)[\s-]/i,mult:-1},{reg:/^(a\s)?half[\s-](of\s)?/i,mult:.5}];for(let n=0;n{if(bh.ones.hasOwnProperty(e)){if(t.ones||t.teens)return!1}else if(bh.teens.hasOwnProperty(e)){if(t.ones||t.teens||t.tens)return!1}else if(bh.tens.hasOwnProperty(e)&&(t.ones||t.teens||t.tens))return!1;return!0},wh=function(e){let t="0.";for(let n=0;ne=(e=(e=(e=(e=(e=(e=(e=e.replace(/1st$/,"1")).replace(/2nd$/,"2")).replace(/3rd$/,"3")).replace(/([4567890])r?th$/,"$1")).replace(/^[$€¥£¢]/,"")).replace(/[%$€¥£¢]$/,"")).replace(/,/g,"")).replace(/([0-9])([a-z\u00C0-\u00FF]{1,2})$/,"$1");const Ph=/^([0-9,. ]+)\/([0-9,. ]+)$/,Ah={"a few":3,"a couple":2,"a dozen":12,"two dozen":24,zero:0},Ch=e=>Object.keys(e).reduce(((t,n)=>t+=e[n]),0);var Nh=function(e){if(!0===Ah.hasOwnProperty(e))return Ah[e];if("a"===e||"an"===e)return 1;const t=vh(e);let n=null,r={},a=0,o=!1;const i=(e=t.str).split(/[ -]/);for(let e=0;e#Value+] out of every? [#Value+]");if(!0!==t.found)return null;let{num:n,den:r}=t.groups();return n&&r?(n=xh(n),r=xh(r),n&&r&&"number"==typeof n&&"number"==typeof r?{numerator:n,denominator:r}:null):null}(e)||function(e){let t=e.match("[(#Cardinal|a)+] [#Fraction+]");if(!0!==t.found)return null;let{num:n,den:r}=t.groups();n=n.has("a")?1:xh(n);let a=r.text("reduced");return jh.test(a)&&(a=a.replace(jh,""),r=r.replaceWith(a)),r=Ih.hasOwnProperty(a)?Ih[a]:xh(r),"number"==typeof n&&"number"==typeof r?{numerator:n,denominator:r}:null}(e)||function(e){let t=e.match("^#Ordinal$");return!0!==t.found?null:e.lookAhead("^of .")?{numerator:1,denominator:xh(t)}:null}(e)||null;return null!==t&&t.numerator&&t.denominator&&(t.decimal=t.numerator/t.denominator,t.decimal=(e=>{let t=Math.round(1e3*e)/1e3;return 0===t&&0!==e?e:t})(t.decimal)),t},Hh=function(e){if(e<1e6)return String(e);let t;return t="number"==typeof e?e.toFixed(0):e,-1===t.indexOf("e+")?t:t.replace(".","").split("e+").reduce((function(e,t){return e+Array(t-e.length+2).join(0)}))};const Dh=[["ninety",90],["eighty",80],["seventy",70],["sixty",60],["fifty",50],["forty",40],["thirty",30],["twenty",20]],Gh=["","one","two","three","four","five","six","seven","eight","nine","ten","eleven","twelve","thirteen","fourteen","fifteen","sixteen","seventeen","eighteen","nineteen"],Eh=[[1e24,"septillion"],[1e20,"hundred sextillion"],[1e21,"sextillion"],[1e20,"hundred quintillion"],[1e18,"quintillion"],[1e17,"hundred quadrillion"],[1e15,"quadrillion"],[1e14,"hundred trillion"],[1e12,"trillion"],[1e11,"hundred billion"],[1e9,"billion"],[1e8,"hundred million"],[1e6,"million"],[1e5,"hundred thousand"],[1e3,"thousand"],[100,"hundred"],[1,"one"]],Oh=function(e){let t=[];if(e>100)return t;for(let n=0;n=Dh[n][1]&&(e-=Dh[n][1],t.push(Dh[n][0]));return Gh[e]&&t.push(Gh[e]),t};var Fh=function(e){let t=e.num;if(0===t||"0"===t)return"zero";t>1e21&&(t=Hh(t));let n=[];t<0&&(n.push("minus"),t=Math.abs(t));let r=function(e){let t=e,n=[];return Eh.forEach((r=>{if(e>=r[0]){let e=Math.floor(t/r[0]);t-=e*r[0],e&&n.push({unit:r[1],count:e})}})),n}(t);for(let e=0;e1&&n.push("and")),n=n.concat(Oh(r[e].count)),n.push(t)}return n=n.concat((e=>{const t=["zero","one","two","three","four","five","six","seven","eight","nine"];let n=[],r=Hh(e).match(/\.([0-9]+)/);if(!r||!r[0])return n;n.push("point");let a=r[0].split("");for(let e=0;ee)),0===n.length&&(n[0]=""),n.join(" ")},Vh=function(e){return e.numerator&&e.denominator?`${Fh({num:e.numerator})} out of ${Fh({num:e.denominator})}`:""};const zh={one:"first",two:"second",three:"third",five:"fifth",eight:"eighth",nine:"ninth",twelve:"twelfth",twenty:"twentieth",thirty:"thirtieth",forty:"fortieth",fourty:"fourtieth",fifty:"fiftieth",sixty:"sixtieth",seventy:"seventieth",eighty:"eightieth",ninety:"ninetieth"};var $h=e=>{let t=Fh(e).split(" "),n=t[t.length-1];return zh.hasOwnProperty(n)?t[t.length-1]=zh[n]:t[t.length-1]=n.replace(/y$/,"i")+"th",t.join(" ")},Lh=function(e){if(!e.numerator||!e.denominator)return"";let t=Fh({num:e.numerator}),n=$h({num:e.denominator});return 2===e.denominator&&(n="half"),t&&n?(1!==e.numerator&&(n+="s"),`${t} ${n}`):""},Sh=function(e){class Fractions extends e{constructor(e,t,n){super(e,t,n),this.viewType="Fractions"}parse(e){return this.getNth(e).map(Th)}get(e){return this.getNth(e).map(Th)}json(e){return this.getNth(e).map((t=>{let n=t.toView().json(e)[0],r=Th(t);return n.fraction=r,n}),[])}toDecimal(e){return this.getNth(e).forEach((e=>{let{decimal:t}=Th(e);(e=e.replaceWith(String(t),!0)).tag("NumericValue"),e.unTag("Fraction")})),this}toFraction(e){return this.getNth(e).forEach((e=>{let t=Th(e);if(t&&"number"==typeof t.numerator&&"number"==typeof t.denominator){let n=`${t.numerator}/${t.denominator}`;this.replace(e,n)}})),this}toOrdinal(e){return this.getNth(e).forEach((e=>{let t=Th(e),n=Lh(t);e.after("^#Noun").found&&(n+=" of"),e.replaceWith(n)})),this}toCardinal(e){return this.getNth(e).forEach((e=>{let t=Th(e),n=Vh(t);e.replaceWith(n)})),this}toPercentage(e){return this.getNth(e).forEach((e=>{let{decimal:t}=Th(e),n=100*t;n=Math.round(100*n)/100,e.replaceWith(`${n}%`)})),this}}e.prototype.fractions=function(e){let t=fh(this);return t=t.getNth(e),new Fractions(this.document,t.pointer)}};const Mh="twenty|thirty|forty|fifty|sixty|seventy|eighty|ninety|fourty";var Bh=function(e){let t=e.match("#Value+");if(t.has("#NumericValue #NumericValue")&&(t.has("#Value @hasComma #Value")?t.splitAfter("@hasComma"):t.has("#NumericValue #Fraction")?t.splitAfter("#NumericValue #Fraction"):t=t.splitAfter("#NumericValue")),t.has("#Value #Value #Value")&&!t.has("#Multiple")&&t.has("("+Mh+") #Cardinal #Cardinal")&&(t=t.splitAfter("("+Mh+") #Cardinal")),t.has("#Value #Value")){t.has("#NumericValue #NumericValue")&&(t=t.splitOn("#Year")),t.has("("+Mh+") (eleven|twelve|thirteen|fourteen|fifteen|sixteen|seventeen|eighteen|nineteen)")&&(t=t.splitAfter("("+Mh+")"));let e=t.match("#Cardinal #Cardinal");if(e.found&&!t.has("(point|decimal|#Fraction)")&&!e.has("#Cardinal (#Multiple|point|decimal)")){let n=t.has(`(one|two|three|four|five|six|seven|eight|nine) (${Mh})`),r=e.has("("+Mh+") #Cardinal"),a=e.has("#Multiple #Value");n||r||a||e.terms().forEach((e=>{t=t.splitOn(e)}))}t.match("#Ordinal #Ordinal").match("#TextValue").found&&!t.has("#Multiple")&&(t.has("("+Mh+") #Ordinal")||(t=t.splitAfter("#Ordinal"))),t=t.splitBefore("#Ordinal [#Cardinal]",0),t.has("#TextValue #NumericValue")&&!t.has("("+Mh+"|#Multiple)")&&(t=t.splitBefore("#TextValue #NumericValue"))}return t=t.splitAfter("#NumberRange"),t=t.splitBefore("#Year"),t},Jh=function(e){if("string"==typeof e)return{num:Nh(e)};let t=e.text("reduced"),n=e.growRight("#Unit").match("#Unit$").text("machine"),r=/[0-9],[0-9]/.test(e.text("text"));if(1===e.terms().length&&!e.has("#Multiple")){let a=function(e,t){let n=(e=e.replace(/,/g,"")).split(/([0-9.,]*)/),[r,a]=n,o=n.slice(2).join("");return""!==a&&t.length<2?(a=Number(a||e),"number"!=typeof a&&(a=null),o=o||"","st"!==o&&"nd"!==o&&"rd"!==o&&"th"!==o||(o=""),{prefix:r||"",num:a,suffix:o}):null}(t,e);if(null!==a)return a.hasComma=r,a.unit=n,a}let a=e.match("#Fraction{2,}$");a=!1===a.found?e.match("^#Fraction$"):a;let o=null;a.found&&(a.has("#Value and #Value #Fraction")&&(a=a.match("and #Value #Fraction")),o=Th(a),t=(e=(e=e.not(a)).not("and$")).text("reduced"));let i=0;return t&&(i=Nh(t)||0),o&&o.decimal&&(i+=o.decimal),{hasComma:r,prefix:"",num:i,suffix:"",isOrdinal:e.has("#Ordinal"),isText:e.has("#TextValue"),isFraction:e.has("#Fraction"),isMoney:e.has("#Money"),unit:n}},Wh=function(e){let t=e.num;if(!t&&0!==t)return null;let n=t%100;if(n>10&&n<20)return String(t)+"th";const r={0:"th",1:"st",2:"nd",3:"rd"};let a=Hh(t),o=a.slice(a.length-1,a.length);return a+=r[o]?r[o]:"th",a};const qh={"¢":"cents",$:"dollars","£":"pounds","¥":"yen","€":"euros","₡":"colón","฿":"baht","₭":"kip","₩":"won","₹":"rupees","₽":"ruble","₺":"liras"},Kh={"%":"percent","°":"degrees"};var Uh=function(e){let t={suffix:"",prefix:e.prefix};return qh.hasOwnProperty(e.prefix)&&(t.suffix+=" "+qh[e.prefix],t.prefix=""),Kh.hasOwnProperty(e.suffix)&&(t.suffix+=" "+Kh[e.suffix]),t.suffix&&1===e.num&&(t.suffix=t.suffix.replace(/s$/,"")),!t.suffix&&e.suffix&&(t.suffix+=" "+e.suffix),t},Rh=function(e,t){if("TextOrdinal"===t){let{prefix:t,suffix:n}=Uh(e);return t+$h(e)+n}if("Ordinal"===t)return e.prefix+Wh(e)+e.suffix;if("TextCardinal"===t){let{prefix:t,suffix:n}=Uh(e);return t+Fh(e)+n}let n=e.num;return e.hasComma&&(n=n.toLocaleString()),e.prefix+String(n)+e.suffix},Qh=function(e){class Numbers extends e{constructor(e,t,n){super(e,t,n),this.viewType="Numbers"}parse(e){return this.getNth(e).map(Jh)}get(e){return this.getNth(e).map(Jh).map((e=>e.num))}json(e){let t="object"==typeof e?e:{};return this.getNth(e).map((e=>{let n=e.toView().json(t)[0],r=Jh(e);return n.number={prefix:r.prefix,num:r.num,suffix:r.suffix,hasComma:r.hasComma,unit:r.unit},n}),[])}units(){return this.growRight("#Unit").match("#Unit$")}isOrdinal(){return this.if("#Ordinal")}isCardinal(){return this.if("#Cardinal")}toNumber(){return this.if("#TextValue").forEach((e=>{let t=Jh(e);if(null===t.num)return;let n=e.has("#Ordinal")?"Ordinal":"Cardinal",r=Rh(t,n);e.replaceWith(r,{tags:!0}),e.tag("NumericValue")})),this}toLocaleString(){return this.forEach((e=>{let t=Jh(e);if(null===t.num)return;let n=t.num.toLocaleString();if(e.has("#Ordinal")){let e=Rh(t,"Ordinal").match(/[a-z]+$/);e&&(n+=e[0]||"")}e.replaceWith(n,{tags:!0})})),this}toText(){let e=this.map((e=>{if(e.has("#TextValue"))return e;let t=Jh(e);if(null===t.num)return e;let n=e.has("#Ordinal")?"TextOrdinal":"TextCardinal",r=Rh(t,n);return e.replaceWith(r,{tags:!0}),e.tag("TextValue"),e}));return new Numbers(e.document,e.pointer)}toCardinal(){let e=this.map((e=>{if(!e.has("#Ordinal"))return e;let t=Jh(e);if(null===t.num)return e;let n=e.has("#TextValue")?"TextCardinal":"Cardinal",r=Rh(t,n);return e.replaceWith(r,{tags:!0}),e.tag("Cardinal"),e}));return new Numbers(e.document,e.pointer)}toOrdinal(){let e=this.map((e=>{if(e.has("#Ordinal"))return e;let t=Jh(e);if(null===t.num)return e;let n=e.has("#TextValue")?"TextOrdinal":"Ordinal",r=Rh(t,n);return e.replaceWith(r,{tags:!0}),e.tag("Ordinal"),e}));return new Numbers(e.document,e.pointer)}isEqual(e){return this.filter((t=>Jh(t).num===e))}greaterThan(e){return this.filter((t=>Jh(t).num>e))}lessThan(e){return this.filter((t=>Jh(t).num{let r=Jh(n).num;return r>e&&r{let n=Jh(t);if(n.num=e,null===n.num)return t;let r=t.has("#Ordinal")?"Ordinal":"Cardinal";t.has("#TextValue")&&(r=t.has("#Ordinal")?"TextOrdinal":"TextCardinal");let a=Rh(n,r);return n.hasComma&&"Cardinal"===r&&(a=Number(a).toLocaleString()),(t=t.not("#Currency")).replaceWith(a,{tags:!0}),t}));return new Numbers(t.document,t.pointer)}add(e){if(!e)return this;"string"==typeof e&&(e=Jh(e).num);let t=this.map((t=>{let n=Jh(t);if(null===n.num)return t;n.num+=e;let r=t.has("#Ordinal")?"Ordinal":"Cardinal";n.isText&&(r=t.has("#Ordinal")?"TextOrdinal":"TextCardinal");let a=Rh(n,r);return t.replaceWith(a,{tags:!0}),t}));return new Numbers(t.document,t.pointer)}subtract(e,t){return this.add(-1*e,t)}increment(e){return this.add(1,e)}decrement(e){return this.add(-1,e)}update(e){let t=new Numbers(this.document,e);return t._cache=this._cache,t}}Numbers.prototype.toNice=Numbers.prototype.toLocaleString,Numbers.prototype.isBetween=Numbers.prototype.between,Numbers.prototype.minus=Numbers.prototype.subtract,Numbers.prototype.plus=Numbers.prototype.add,Numbers.prototype.equals=Numbers.prototype.isEqual,e.prototype.numbers=function(e){let t=Bh(this);return t=t.getNth(e),new Numbers(this.document,t.pointer)},e.prototype.percentages=function(e){let t=Bh(this);return t=t.filter((e=>e.has("#Percent")||e.after("^percent"))),t=t.getNth(e),new Numbers(this.document,t.pointer)},e.prototype.money=function(e){let t=Bh(this);return t=t.filter((e=>e.has("#Money")||e.after("^#Currency"))),t=t.getNth(e),new Numbers(this.document,t.pointer)},e.prototype.values=e.prototype.numbers},_h={api:function(e){Sh(e),Qh(e)}};const Xh={people:!0,emails:!0,phoneNumbers:!0,places:!0},Zh=function(e={}){return!1!==(e=Object.assign({},Xh,e)).people&&this.people().replaceWith("██████████"),!1!==e.emails&&this.emails().replaceWith("██████████"),!1!==e.places&&this.places().replaceWith("██████████"),!1!==e.phoneNumbers&&this.phoneNumbers().replaceWith("███████"),this},Yh={api:function(e){e.prototype.redact=Zh}};var ed=Yh,td=function(e){const t=/\?/,{document:n}=e;return e.filter((e=>{let r=e.docs[0]||[],a=r[r.length-1];return!(!a||n[a.index[0]].length!==r.length)&&(!!t.test(a.post)||function(e){let t=e.clauses();return!(/\.\.$/.test(e.out("text"))||e.has("^#QuestionWord")&&e.has("@hasComma")||!e.has("or not$")&&!e.has("^#QuestionWord")&&!e.has("^(do|does|did|is|was|can|could|will|would|may) #Noun")&&!e.has("^(have|must) you")&&!t.has("(do|does|is|was) #Noun+ #Adverb? (#Adjective|#Infinitive)$"))}(e))}))},nd=function(e){let t=e;return 1===t.length?t:(t=t.if("#Verb"),1===t.length?t:(t=t.ifNo("(after|although|as|because|before|if|since|than|that|though|when|whenever|where|whereas|wherever|whether|while|why|unless|until|once)"),t=t.ifNo("^even (if|though)"),t=t.ifNo("^so that"),t=t.ifNo("^rather than"),t=t.ifNo("^provided that"),1===t.length?t:(t=t.ifNo("(that|which|whichever|who|whoever|whom|whose|whomever)"),1===t.length?t:(t=t.ifNo("(despite|during|before|through|throughout)"),1===t.length?t:(0===t.length&&(t=e),t.eq(0))))))};const rd=function(e){let t=null;return e.has("#PastTense")?t="PastTense":e.has("#FutureTense")?t="FutureTense":e.has("#PresentTense")&&(t="PresentTense"),{tense:t}};var ad=function(e){let t=e.clauses(),n=nd(t).chunks(),r=e.none(),a=e.none(),o=e.none();return n.forEach(((e,t)=>{0!==t||e.has("")?a.found||!e.has("")?a.found&&(o=o.concat(e)):a=e:r=e})),a.found&&!r.found&&(r=a.before("+").first()),{subj:r,verb:a,pred:o,grammar:rd(a)}},od=function(e){let t=e.verbs(),n=t.eq(0);if(n.has("#PastTense"))return e;if(n.toPastTense(),t.length>1){t=t.slice(1),t=t.filter((e=>!e.lookBehind("to$").found)),t=t.if("#PresentTense"),t=t.notIf("#Gerund");let n=e.match("to #Verb+ #Conjunction #Verb").terms();t=t.not(n),t.found&&t.verbs().toPastTense()}return e},id=function(e){let t=e.verbs();return t.eq(0).toPresentTense(),t.length>1&&(t=t.slice(1),t=t.filter((e=>!e.lookBehind("to$").found)),t=t.notIf("#Gerund"),t.found&&t.verbs().toPresentTense()),e},sd=function(e){let t=e.verbs();if(t.eq(0).toFutureTense(),t=(e=e.fullSentence()).verbs(),t.length>1){t=t.slice(1);let e=t.filter((e=>!(e.lookBehind("to$").found||!e.has("#Copula #Gerund")&&(e.has("#Gerund")||!e.has("#Copula")&&e.has("#PresentTense")&&!e.has("#Infinitive")&&e.lookBefore("(he|she|it|that|which)$").found))));e.found&&e.forEach((e=>{if(e.has("#Copula"))return e.match("was").replaceWith("is"),void e.match("is").replaceWith("will be");e.toInfinitive()}))}return e},ld=function(e){return e.verbs().toInfinitive(),e},ud=function(e){class Sentences extends e{constructor(e,t,n){super(e,t,n),this.viewType="Sentences"}json(e={}){return this.map((t=>{let n=t.toView().json(e)[0]||{},{subj:r,verb:a,pred:o,grammar:i}=ad(t);return n.sentence={subject:r.text("normal"),verb:a.text("normal"),predicate:o.text("normal"),grammar:i},n}),[])}toPastTense(e){return this.getNth(e).map((e=>(ad(e),od(e))))}toPresentTense(e){return this.getNth(e).map((e=>(ad(e),id(e))))}toFutureTense(e){return this.getNth(e).map((e=>(ad(e),e=sd(e))))}toInfinitive(e){return this.getNth(e).map((e=>(ad(e),ld(e))))}toNegative(e){return this.getNth(e).map((e=>(ad(e),function(e){return e.verbs().first().toNegative().compute("chunks"),e}(e))))}toPositive(e){return this.getNth(e).map((e=>(ad(e),function(e){return e.verbs().first().toPositive().compute("chunks"),e}(e))))}isQuestion(e){return this.questions(e)}isExclamation(e){let t=this.filter((e=>e.lastTerm().has("@hasExclamation")));return t.getNth(e)}isStatement(e){let t=this.filter((e=>!e.isExclamation().found&&!e.isQuestion().found));return t.getNth(e)}update(e){let t=new Sentences(this.document,e);return t._cache=this._cache,t}}Sentences.prototype.toPresent=Sentences.prototype.toPresentTense,Sentences.prototype.toPast=Sentences.prototype.toPastTense,Sentences.prototype.toFuture=Sentences.prototype.toFutureTense;const t={sentences:function(e){let t=this.map((e=>e.fullSentence()));return t=t.getNth(e),new Sentences(this.document,t.pointer)},questions:function(e){return td(this).getNth(e)}};Object.assign(e.prototype,t)},cd={api:ud},hd=function(e){let t=e.match("#Honorific+? #Person+"),n=t.match("#Possessive").notIf("(his|her)");return t=t.splitAfter(n),t},dd=function(e){let t={};t.firstName=e.match("#FirstName+"),t.lastName=e.match("#LastName+"),t.honorific=e.match("#Honorific+");let n=t.lastName,r=t.firstName;return r.found&&n.found||r.found||n.found||!e.has("^#Honorific .$")||(t.lastName=e.match(".$")),t};const gd="male",md="female",pd={mr:gd,mrs:md,miss:md,madam:md,king:gd,queen:md,duke:gd,duchess:md,baron:gd,baroness:md,count:gd,countess:md,prince:gd,princess:md,sire:gd,dame:md,lady:md,ayatullah:gd,congressman:gd,congresswoman:md,"first lady":md,mx:null};var fd=function(e,t){let{firstName:n,honorific:r}=e;if(n.has("#FemaleName"))return md;if(n.has("#MaleName"))return gd;if(r.found){let e=r.text("normal");if(e=e.replace(/\./g,""),pd.hasOwnProperty(e))return pd[e];if(/^her /.test(e))return md;if(/^his /.test(e))return gd}let a=t.after();if(!a.has("#Person")&&a.has("#Pronoun")){let e=a.match("#Pronoun");if(e.has("(they|their)"))return null;let t=e.has("(he|his)"),n=e.has("(she|her|hers)");if(t&&!n)return gd;if(n&&!t)return md}return null},vd=function(e){class People extends e{constructor(e,t,n){super(e,t,n),this.viewType="People"}parse(e){return this.getNth(e).map(dd)}json(e){let t="object"==typeof e?e:{};return this.getNth(e).map((e=>{let n=e.toView().json(t)[0],r=dd(e);return n.person={firstName:r.firstName.text("normal"),lastName:r.lastName.text("normal"),honorific:r.honorific.text("normal"),presumed_gender:fd(r,e)},n}),[])}presumedMale(){return this.filter((e=>e.has("(#MaleName|mr|mister|sr|jr|king|pope|prince|sir)")))}presumedFemale(){return this.filter((e=>e.has("(#FemaleName|mrs|miss|queen|princess|madam)")))}update(e){let t=new People(this.document,e);return t._cache=this._cache,t}}e.prototype.people=function(e){let t=hd(this);return t=t.getNth(e),new People(this.document,t.pointer)}},bd=function(e){let t=e.match("(#Place|#Address)+"),n=t.match("@hasComma");return n=n.filter((e=>!!e.has("(asia|africa|europe|america)$")||!e.has("(#City|#Region|#ProperNoun)$")||!e.after("^(#Country|#Region)").found)),t=t.splitAfter(n),t},yd=function(e){e.prototype.places=function(t){let n=bd(this);return n=n.getNth(t),new e(this.document,n.pointer)}},wd=function(e){e.prototype.organizations=function(e){return this.match("#Organization+").getNth(e)}};const kd=function(e){let t=this.clauses(),n=t.people();return n=n.concat(t.places()),n=n.concat(t.organizations()),n=n.not("(someone|man|woman|mother|brother|sister|father)"),n=n.sort("seq"),n=n.getNth(e),n};var Pd=function(e){e.prototype.topics=kd},Ad={api:function(e){vd(e),yd(e),wd(e),Pd(e)}},Cd=function(e){let t=e.match("");return t=t.not("#Conjunction"),t=t.not("#Preposition"),t=t.splitAfter("@hasComma"),t=t.splitAfter("[(do|did|am|was|is|will)] (is|was)",0),t=t.splitBefore("(#Verb && !#Copula) [being] #Verb",0),t=t.splitBefore("#Verb [to be] #Verb",0),t=t.splitAfter("[help] #PresentTense",0),t=t.splitBefore("(#PresentTense|#PastTense) [#Copula]$",0),t=t.splitBefore("(#PresentTense|#PastTense) [will be]$",0),t=t.splitBefore("(#PresentTense|#PastTense) [(had|has)]",0),t=t.not("#Reflexive$"),t=t.not("#Adjective"),t=t.splitAfter("[#PastTense] #PastTense",0),t=t.splitAfter("[#PastTense] #Auxiliary+ #PastTense",0),t=t.splitAfter("#Copula [#Gerund] #PastTense",0),t=t.if("#Verb"),t.has("(#Verb && !#Auxiliary) #Adverb+? #Copula")&&(t=t.splitBefore("#Copula")),t},Nd=function(e){let t=e;return e.wordCount()>1&&(t=e.not("(#Negative|#Auxiliary|#Modal|#Adverb|#Prefix)")),t.length>1&&!t.has("#Phrasal #Particle")&&(t=t.last()),t=t.not("(want|wants|wanted) to"),t.found||(t=e.not("#Negative")),t},jd=function(e,t){let n={pre:e.none(),post:e.none()};if(!e.has("#Adverb"))return n;let r=e.splitOn(t);return 3===r.length?{pre:r.eq(0).adverbs(),post:r.eq(2).adverbs()}:r.eq(0).isDoc(t)?(n.post=r.eq(1).adverbs(),n):(n.pre=r.eq(0).adverbs(),n)};const xd=function(e,t){let n=e.splitBefore(t);if(n.length<=1)return e.none();let r=n.eq(0);return r=r.not("(#Adverb|#Negative|#Prefix)"),r},Id=function(e){return e.match("#Negative")},Td=function(e){if(!e.has("(#Particle|#PhrasalVerb)"))return{verb:e.none(),particle:e.none()};let t=e.match("#Particle$");return{verb:e.not(t),particle:t}};var Hd=function(e){let t=e.clone();t.contractions().expand();const n=Nd(t);return{root:n,prefix:t.match("#Prefix"),adverbs:jd(t,n),auxiliary:xd(t,n),negative:Id(t),phrasal:Td(n)}};const Dd={tense:"PresentTense"},Gd={conditional:!0},Ed={tense:"FutureTense"},Od={progressive:!0},Fd={tense:"PastTense"},Vd={complete:!0,progressive:!1},zd={passive:!0},$d=function(e){let t={};return e.forEach((e=>{Object.assign(t,e)})),t},Ld={imperative:[["#Imperative",[]]],"want-infinitive":[["^(want|wants|wanted) to #Infinitive$",[Dd]],["^wanted to #Infinitive$",[Fd]],["^will want to #Infinitive$",[Ed]]],"gerund-phrase":[["^#PastTense #Gerund$",[Fd]],["^#PresentTense #Gerund$",[Dd]],["^#Infinitive #Gerund$",[Dd]],["^will #Infinitive #Gerund$",[Ed]],["^have #PastTense #Gerund$",[Fd]],["^will have #PastTense #Gerund$",[Fd]]],"simple-present":[["^#PresentTense$",[Dd]],["^#Infinitive$",[Dd]]],"simple-past":[["^#PastTense$",[Fd]]],"simple-future":[["^will #Adverb? #Infinitive",[Ed]]],"present-progressive":[["^(is|are|am) #Gerund$",[Dd,Od]]],"past-progressive":[["^(was|were) #Gerund$",[Fd,Od]]],"future-progressive":[["^will be #Gerund$",[Ed,Od]]],"present-perfect":[["^(has|have) #PastTense$",[Fd,Vd]]],"past-perfect":[["^had #PastTense$",[Fd,Vd]],["^had #PastTense to #Infinitive",[Fd,Vd]]],"future-perfect":[["^will have #PastTense$",[Ed,Vd]]],"present-perfect-progressive":[["^(has|have) been #Gerund$",[Fd,Od]]],"past-perfect-progressive":[["^had been #Gerund$",[Fd,Od]]],"future-perfect-progressive":[["^will have been #Gerund$",[Ed,Od]]],"passive-past":[["(got|were|was) #Passive",[Fd,zd]],["^(was|were) being #Passive",[Fd,zd]],["^(had|have) been #Passive",[Fd,zd]]],"passive-present":[["^(is|are|am) #Passive",[Dd,zd]],["^(is|are|am) being #Passive",[Dd,zd]],["^has been #Passive",[Dd,zd]]],"passive-future":[["will have been #Passive",[Ed,zd,Gd]],["will be being? #Passive",[Ed,zd,Gd]]],"present-conditional":[["would be #PastTense",[Dd,Gd]]],"past-conditional":[["would have been #PastTense",[Fd,Gd]]],"auxiliary-future":[["(is|are|am|was) going to (#Infinitive|#PresentTense)",[Ed]]],"auxiliary-past":[["^did #Infinitive$",[Fd,{plural:!1}]],["^used to #Infinitive$",[Fd,Vd]]],"auxiliary-present":[["^(does|do) #Infinitive$",[Dd,Vd,{plural:!0}]]],"modal-past":[["^(could|must|should|shall) have #PastTense$",[Fd]]],"modal-infinitive":[["^#Modal #Infinitive$",[]]],infinitive:[["^#Infinitive$",[]]]};let Sd=[];Object.keys(Ld).map((e=>{Ld[e].forEach((t=>{Sd.push({name:e,match:t[0],data:$d(t[1])})}))}));var Md=Sd,Bd=function(e,t){let n={};e=function(e,t){return e=e.clone(),t.adverbs.post&&t.adverbs.post.found&&e.remove(t.adverbs.post),t.adverbs.pre&&t.adverbs.pre.found&&e.remove(t.adverbs.pre),e.has("#Negative")&&(e=e.remove("#Negative")),e.has("#Prefix")&&(e=e.remove("#Prefix")),t.root.has("#PhrasalVerb #Particle")&&e.remove("#Particle$"),e.not("#Adverb")}(e,t);for(let t=0;t!(e.has("^(if|unless|while|but|for|per|at|by|that|which|who|from)")||t>0&&e.has("^#Verb . #Noun+$")||t>0&&e.has("^#Adverb")))),0===t.length?e:t}(t);let n=t.nouns(),r=n.last(),a=r.match("(i|he|she|we|you|they)");if(a.found)return a.nouns();let o=n.if("^(that|this|those)");return o.found||!1===n.found&&(o=t.match("^(that|this|those)"),o.found)?o:(r=n.last(),Jd(r)&&(n.remove(r),r=n.last()),Jd(r)&&(n.remove(r),r=n.last()),r)}(e);return{subject:t,plural:Wd(t,e)}};const Kd=e=>e,Ud=(e,t)=>{let n=qd(e),r=n.subject;return!(!r.has("i")&&!r.has("we"))||n.plural},Rd=function(e,t){if(e.has("were"))return"are";let{subject:n,plural:r}=qd(e);return n.has("i")?"am":n.has("we")||r?"are":"is"},Qd=function(e,t){let n=qd(e),r=n.subject;return r.has("i")||r.has("we")||n.plural?"do":"does"},_d=function(e){return e.has("#Infinitive")?"Infinitive":e.has("#Participle")?"Participle":e.has("#PastTense")?"PastTense":e.has("#Gerund")?"Gerund":e.has("#PresentTense")?"PresentTense":void 0},Xd=function(e,t){const{toInfinitive:n}=e.methods.two.transform.verb;let r=t.root.text({keepPunct:!1});return r=n(r,e.model,_d(e)),r&&e.replace(t.root,r),e},Zd=e=>e.has("will not")?e.replace("will not","have not"):e.remove("will"),Yd=function(e){return e&&e.isView?e.json({normal:!0,terms:!1,text:!1}).map((e=>e.normal)):[]},eg=function(e){return e&&e.isView?e.text("normal"):""},tg=function(e){const{toInfinitive:t}=e.methods.two.transform.verb;return t(e.text("normal"),e.model,_d(e))};var ng=function(e){let t=Hd(e);e=e.clone().toView();const n=Bd(e,t);return{root:t.root.text(),preAdverbs:Yd(t.adverbs.pre),postAdverbs:Yd(t.adverbs.post),auxiliary:eg(t.auxiliary),negative:t.negative.found,prefix:eg(t.prefix),infinitive:tg(t.root),grammar:n}};const rg={tags:!0};var ag=function(e,t){const{toInfinitive:n}=e.methods.two.transform.verb,{root:r,auxiliary:a}=t;let o=a.terms().harden(),i=r.text("normal");if(i=n(i,e.model,_d(r)),i&&e.replace(r,i,rg).tag("Verb").firstTerm().tag("Infinitive"),o.found&&e.remove(o),t.negative.found){e.has("not")||e.prepend("not");let t=Qd(e);e.prepend(t)}return e.fullSentence().compute(["lexicon","preTagger","postTagger","chunks"]),e};const og={tags:!0},ig={noAux:(e,t)=>(t.auxiliary.found&&(e=e.remove(t.auxiliary)),e),simple:(e,t)=>{const{conjugate:n,toInfinitive:r}=e.methods.two.transform.verb,a=t.root;if(a.has("#Modal"))return e;let o=a.text({keepPunct:!1});return o=r(o,e.model,_d(a)),o=n(o,e.model).PastTense,o="been"===o?"was":o,"was"===o&&(o=((e,t)=>{let{subject:n,plural:r}=qd(e);return r||n.has("we")?"were":"was"})(e)),o&&e.replace(a,o,og),e},both:function(e,t){return t.negative.found?(e.replace("will","did"),e):(e=ig.simple(e,t),e=ig.noAux(e,t))},hasHad:e=>(e.replace("has","had",og),e),hasParticiple:(e,t)=>{const{conjugate:n,toInfinitive:r}=e.methods.two.transform.verb,a=t.root;let o=a.text("normal");return o=r(o,e.model,_d(a)),n(o,e.model).Participle}},sg={infinitive:ig.simple,"simple-present":ig.simple,"simple-past":Kd,"simple-future":ig.both,"present-progressive":e=>(e.replace("are","were",og),e.replace("(is|are|am)","was",og),e),"past-progressive":Kd,"future-progressive":(e,t)=>(e.match(t.root).insertBefore("was"),e.remove("(will|be)"),e),"present-perfect":ig.hasHad,"past-perfect":Kd,"future-perfect":(e,t)=>(e.match(t.root).insertBefore("had"),e.has("will")&&(e=Zd(e)),e.remove("have"),e),"present-perfect-progressive":ig.hasHad,"past-perfect-progressive":Kd,"future-perfect-progressive":e=>(e.remove("will"),e.replace("have","had",og),e),"passive-past":e=>(e.replace("have","had",og),e),"passive-present":e=>(e.replace("(is|are)","was",og),e),"passive-future":(e,t)=>(t.auxiliary.has("will be")&&(e.match(t.root).insertBefore("had been"),e.remove("(will|be)")),t.auxiliary.has("will have been")&&(e.replace("have","had",og),e.remove("will")),e),"present-conditional":e=>(e.replace("be","have been"),e),"past-conditional":Kd,"auxiliary-future":e=>(e.replace("(is|are|am)","was",og),e),"auxiliary-past":Kd,"auxiliary-present":e=>(e.replace("(do|does)","did",og),e),"modal-infinitive":(e,t)=>(e.has("can")?e.replace("can","could",og):(ig.simple(e,t),e.match("#Modal").insertAfter("have").tag("Auxiliary")),e),"modal-past":Kd,"want-infinitive":e=>(e.replace("(want|wants)","wanted",og),e.remove("will"),e),"gerund-phrase":(e,t)=>(t.root=t.root.not("#Gerund$"),ig.simple(e,t),Zd(e),e)};var lg=function(e,t,n){return sg.hasOwnProperty(n)?((e=sg[n](e,t)).fullSentence().compute(["tagger","chunks"]),e):e};const ug=function(e,t){let n=qd(e),r=n.subject;return r.has("(i|we|you)")?"have":!1===n.plural||r.has("he")||r.has("she")||r.has("#Person")?"has":"have"},cg=(e,t)=>{const{conjugate:n,toInfinitive:r}=e.methods.two.transform.verb,{root:a,auxiliary:o}=t;if(a.has("#Modal"))return e;let i=a.text({keepPunct:!1});i=r(i,e.model,_d(a));let s=n(i,e.model);if(i=s.Participle||s.PastTense,i){e=e.replace(a,i);let t=ug(e);e.prepend(t).match(t).tag("Auxiliary"),e.remove(o)}return e},hg={infinitive:cg,"simple-present":cg,"simple-future":(e,t)=>e.replace("will",ug(e)),"present-perfect":Kd,"past-perfect":Kd,"future-perfect":(e,t)=>e.replace("will have",ug(e)),"present-perfect-progressive":Kd,"past-perfect-progressive":Kd,"future-perfect-progressive":Kd};var dg=function(e,t,n){return hg.hasOwnProperty(n)?((e=hg[n](e,t)).fullSentence().compute(["tagger","chunks"]),e):((e=cg(e,t)).fullSentence().compute(["tagger","chunks"]),e)};const gg={tags:!0},mg=(e,t)=>{const{conjugate:n,toInfinitive:r}=e.methods.two.transform.verb,a=t.root;let o=a.text("normal");return o=r(o,e.model,_d(a)),!1===Ud(e)&&(o=n(o,e.model).PresentTense),a.has("#Copula")&&(o=Rd(e)),o&&(e=e.replace(a,o,gg)).not("#Particle").tag("PresentTense"),e},pg=(e,t)=>{const{conjugate:n,toInfinitive:r}=e.methods.two.transform.verb,a=t.root;let o=a.text("normal");return o=r(o,e.model,_d(a)),!1===Ud(e)&&(o=n(o,e.model).Gerund),o&&(e=e.replace(a,o,gg)).not("#Particle").tag("Gerund"),e},fg={infinitive:mg,"simple-present":(e,t)=>{const{conjugate:n}=e.methods.two.transform.verb;let{root:r}=t;if(!r.has("#Infinitive"))return mg(e,t);{let t=qd(e).subject;if(Ud(e)||t.has("i"))return e;let a=r.text("normal"),o=n(a,e.model).PresentTense;a!==o&&e.replace(r,o,gg)}return e},"simple-past":mg,"simple-future":(e,t)=>{const{root:n,auxiliary:r}=t;if(r.has("will")&&n.has("be")){let t=Rd(e);e.replace(n,t),(e=e.remove("will")).replace("not "+t,t+" not")}else mg(e,t),e=e.remove("will");return e},"present-progressive":Kd,"past-progressive":(e,t)=>{let n=Rd(e);return e.replace("(were|was)",n,gg)},"future-progressive":e=>(e.match("will").insertBefore("is"),e.remove("be"),e.remove("will")),"present-perfect":(e,t)=>(mg(e,t),e=e.remove("(have|had|has)")),"past-perfect":(e,t)=>{let n=qd(e).subject;return Ud(e)||n.has("i")?((e=Xd(e,t)).remove("had"),e):(e.replace("had","has",gg),e)},"future-perfect":e=>(e.match("will").insertBefore("has"),e.remove("have").remove("will")),"present-perfect-progressive":Kd,"past-perfect-progressive":e=>e.replace("had","has",gg),"future-perfect-progressive":e=>(e.match("will").insertBefore("has"),e.remove("have").remove("will")),"passive-past":(e,t)=>{let n=Rd(e);return e.has("(had|have|has)")&&e.has("been")?(e.replace("(had|have|has)",n,gg),e.replace("been","being"),e):e.replace("(got|was|were)",n)},"passive-present":Kd,"passive-future":e=>(e.replace("will","is"),e.replace("be","being")),"present-conditional":Kd,"past-conditional":e=>(e.replace("been","be"),e.remove("have")),"auxiliary-future":(e,t)=>(pg(e,t),e.remove("(going|to)"),e),"auxiliary-past":(e,t)=>{if(t.auxiliary.has("did")){let n=Qd(e);return e.replace(t.auxiliary,n),e}return pg(e,t),e.replace(t.auxiliary,"is"),e},"auxiliary-present":Kd,"modal-infinitive":Kd,"modal-past":(e,t)=>(((e,t)=>{const{toInfinitive:n}=e.methods.two.transform.verb,r=t.root;let a=t.root.text("normal");a=n(a,e.model,_d(r)),a&&(e=e.replace(t.root,a,gg))})(e,t),e.remove("have")),"gerund-phrase":(e,t)=>(t.root=t.root.not("#Gerund$"),mg(e,t),e.remove("(will|have)")),"want-infinitive":(e,t)=>{let n="wants";return Ud(e)&&(n="want"),e.replace("(want|wanted|wants)",n,gg),e.remove("will"),e}};var vg=function(e,t,n){return fg.hasOwnProperty(n)?((e=fg[n](e,t)).fullSentence().compute(["tagger","chunks"]),e):e};const bg={tags:!0},yg=(e,t)=>{const{toInfinitive:n}=e.methods.two.transform.verb,{root:r,auxiliary:a}=t;if(r.has("#Modal"))return e;let o=r.text("normal");return o=n(o,e.model,_d(r)),o&&(e=e.replace(r,o,bg)).not("#Particle").tag("Verb"),e.prepend("will").match("will").tag("Auxiliary"),e.remove(a),e},wg=(e,t)=>{const{conjugate:n,toInfinitive:r}=e.methods.two.transform.verb,{root:a,auxiliary:o}=t;let i=a.text("normal");return i=r(i,e.model,_d(a)),i&&(i=n(i,e.model).Gerund,e.replace(a,i,bg),e.not("#Particle").tag("PresentTense")),e.remove(o),e.prepend("will be").match("will be").tag("Auxiliary"),e},kg={infinitive:yg,"simple-present":yg,"simple-past":yg,"simple-future":Kd,"present-progressive":wg,"past-progressive":wg,"future-progressive":Kd,"present-perfect":e=>(e.match("(have|has)").replaceWith("will have"),e),"past-perfect":e=>e.replace("(had|has)","will have"),"future-perfect":Kd,"present-perfect-progressive":e=>e.replace("has","will have"),"past-perfect-progressive":e=>e.replace("had","will have"),"future-perfect-progressive":Kd,"passive-past":e=>e.has("got")?e.replace("got","will get"):e.has("(was|were)")?(e.replace("(was|were)","will be"),e.remove("being")):e.has("(have|has|had) been")?e.replace("(have|has|had) been","will be"):e,"passive-present":e=>(e.replace("being","will be"),e.remove("(is|are|am)"),e),"passive-future":Kd,"present-conditional":e=>e.replace("would","will"),"past-conditional":e=>e.replace("would","will"),"auxiliary-future":Kd,"auxiliary-past":e=>e.has("used")&&e.has("to")?(e.replace("used","will"),e.remove("to")):(e.replace("did","will"),e),"auxiliary-present":e=>e.replace("(do|does)","will"),"modal-infinitive":Kd,"modal-past":Kd,"gerund-phrase":(e,t)=>(t.root=t.root.not("#Gerund$"),yg(e,t),e.remove("(had|have)")),"want-infinitive":e=>(e.replace("(want|wants|wanted)","will want"),e)};var Pg=function(e,t,n){return e.has("will")||e.has("going to")?e:kg.hasOwnProperty(n)?((e=kg[n](e,t)).fullSentence().compute(["tagger","chunks"]),e):e};const Ag={tags:!0};var Cg=function(e,t){const{toInfinitive:n,conjugate:r}=e.methods.two.transform.verb,{root:a,auxiliary:o}=t;if(e.has("#Gerund"))return e;let i=a.text("normal");i=n(i,e.model,_d(a));let s=r(i,e.model).Gerund;if(s){let t=Rd(e);e.replace(a,s,Ag),e.remove(o),e.prepend(t)}return e.replace("not is","is not"),e.replace("not are","are not"),e.fullSentence().compute(["tagger","chunks"]),e};const Ng={tags:!0},jg=function(e,t){let n=Qd(e);return e.prepend(n+" not"),e},xg=function(e){let t=e.match("be");return t.found?(t.prepend("not"),e):(t=e.match("(is|was|am|are|will|were)"),t.found?(t.append("not"),e):e)},Ig=e=>e.has("(is|was|am|are|will|were|be)"),Tg={"simple-present":(e,t)=>!0===Ig(e)?xg(e):(e=Xd(e,t),e=jg(e)),"simple-past":(e,t)=>!0===Ig(e)?xg(e):((e=Xd(e,t)).prepend("did not"),e),imperative:e=>(e.prepend("do not"),e),infinitive:(e,t)=>!0===Ig(e)?xg(e):jg(e),"passive-past":e=>{if(e.has("got"))return e.replace("got","get",Ng),e.prepend("did not"),e;let t=e.match("(was|were|had|have)");return t.found&&t.append("not"),e},"auxiliary-past":e=>{if(e.has("used"))return e.prepend("did not"),e;let t=e.match("(did|does|do)");return t.found&&t.append("not"),e},"want-infinitive":(e,t)=>e=(e=jg(e)).replace("wants","want",Ng)};var Hg=function(e,t,n){if(e.has("#Negative"))return e;if(Tg.hasOwnProperty(n))return e=Tg[n](e,t);let r=e.matchOne("be");return r.found?(r.prepend("not"),e):!0===Ig(e)?xg(e):(r=e.matchOne("(will|had|have|has|did|does|do|#Modal)"),r.found?(r.append("not"),e):e)},Dg=function(e){class Verbs extends e{constructor(e,t,n){super(e,t,n),this.viewType="Verbs"}parse(e){return this.getNth(e).map(Hd)}json(e,t){let n=this.getNth(t).map((t=>{let n=t.toView().json(e)[0]||{};return n.verb=ng(t),n}),[]);return n}subjects(e){return this.getNth(e).map((e=>(Hd(e),qd(e).subject)))}adverbs(e){return this.getNth(e).map((e=>e.match("#Adverb")))}isSingular(e){return this.getNth(e).filter((e=>!0!==qd(e).plural))}isPlural(e){return this.getNth(e).filter((e=>!0===qd(e).plural))}isImperative(e){return this.getNth(e).filter((e=>e.has("#Imperative")))}toInfinitive(e){return this.getNth(e).map((e=>{let t=Hd(e),n=Bd(e,t);return ag(e,t,n.form)}))}toPresentTense(e){return this.getNth(e).map((e=>{let t=Hd(e),n=Bd(e,t);return n.isInfinitive?e:vg(e,t,n.form)}))}toPastTense(e){return this.getNth(e).map((e=>{let t=Hd(e),n=Bd(e,t);return n.isInfinitive?e:lg(e,t,n.form)}))}toFutureTense(e){return this.getNth(e).map((e=>{let t=Hd(e),n=Bd(e,t);return n.isInfinitive?e:Pg(e,t,n.form)}))}toGerund(e){return this.getNth(e).map((e=>{let t=Hd(e),n=Bd(e,t);return n.isInfinitive?e:Cg(e,t,n.form)}))}toPastParticiple(e){return this.getNth(e).map((e=>{let t=Hd(e),n=Bd(e,t);return n.isInfinitive?e:dg(e,t,n.form)}))}conjugate(e){const{conjugate:t,toInfinitive:n}=this.world.methods.two.transform.verb;return this.getNth(e).map((e=>{let r=Hd(e),a=Bd(e,r);"imperative"===a.form&&(a.form="simple-present");let o=r.root.text("normal");if(!r.root.has("#Infinitive")){let t=_d(r.root);o=n(o,e.model,t)||o}return t(o,e.model)}),[])}isNegative(){return this.if("#Negative")}isPositive(){return this.ifNo("#Negative")}toPositive(){let e=this.match("do not #Verb");return e.found&&e.remove("do not"),this.remove("#Negative")}toNegative(e){return this.getNth(e).map((e=>{let t=Hd(e),n=Bd(e,t);return Hg(e,t,n.form)}))}update(e){let t=new Verbs(this.document,e);return t._cache=this._cache,t}}Verbs.prototype.toPast=Verbs.prototype.toPastTense,Verbs.prototype.toPresent=Verbs.prototype.toPresentTense,Verbs.prototype.toFuture=Verbs.prototype.toFutureTense,e.prototype.verbs=function(e){let t=Cd(this);return t=t.getNth(e),new Verbs(this.document,t.pointer)}},Gg={api:Dg};const Eg=function(e,t){let n=t.match(e);if(n.found){let e=n.pronouns().refersTo();if(e.found)return e}return t.none()},Og=function(e){if(!e.found)return e;let[t]=e.fullPointer[0];return t&&t>0?e.update([[t-1]]):e.none()};var Fg=function(e,t){let n=e.people();return n=function(e,t){return"m"===t?e.filter((e=>!e.presumedFemale().found)):"f"===t?e.filter((e=>!e.presumedMale().found)):e}(n,t),n.found?n.last():(n=e.nouns("#Actor"),n.found?n.last():"f"===t?Eg("(she|her|hers)",e):"m"===t?Eg("(he|him|his)",e):e.none())},Vg=function(e){let t=e.nouns(),n=t.isPlural().notIf("#Pronoun");if(n.found)return n.last();let r=Eg("(they|their|theirs)",e);return r.found?r:(n=t.match("(somebody|nobody|everybody|anybody|someone|noone|everyone|anyone)"),n.found?n.last():e.none())};const zg=function(e,t){let n=e.before(),r=t(n);return r.found?r:(n=Og(e),r=t(n),r.found?r:(n=Og(n),r=t(n),r.found?r:e.none()))};var $g=function(e){e.pronouns().if("(he|him|his|she|her|hers|they|their|theirs|it|its)").forEach((e=>{let t=null;e.has("(he|him|his)")?t=zg(e,(e=>Fg(e,"m"))):e.has("(she|her|hers)")?t=zg(e,(e=>Fg(e,"f"))):e.has("(they|their|theirs)")&&(t=zg(e,Vg)),t&&t.found&&function(e,t){t&&t.found&&(e.docs[0][0].reference=t.ptrs[0])}(e,t)}))},Lg=function(e){class Pronouns extends e{constructor(e,t,n){super(e,t,n),this.viewType="Pronouns"}hasReference(){return this.compute("coreference"),this.filter((e=>e.docs[0][0].reference))}refersTo(){return this.compute("coreference"),this.map((e=>{if(!e.found)return e.none();let t=e.docs[0][0];return t.reference?e.update([t.reference]):e.none()}))}update(e){let t=new Pronouns(this.document,e);return t._cache=this._cache,t}}e.prototype.pronouns=function(e){let t=this.match("#Pronoun");return t=t.getNth(e),new Pronouns(t.document,t.pointer)}},Sg={compute:{coreference:$g},api:Lg};return v.plugin(gc),v.plugin(mc),v.plugin(Ic),v.plugin(Sg),v.plugin(Kc),v.plugin(Yc),v.plugin(ph),v.plugin(_h),v.plugin(ed),v.plugin(cd),v.plugin(Ad),v.plugin(Gg),v},"object"==typeof exports&&"undefined"!=typeof module?module.exports=t():"function"==typeof define&&define.amd?define(t):(e="undefined"!=typeof globalThis?globalThis:e||self).nlp=t(); diff --git a/builds/three/compromise-three.mjs b/builds/three/compromise-three.mjs index adbc4bf70..9b59bbe49 100644 --- a/builds/three/compromise-three.mjs +++ b/builds/three/compromise-three.mjs @@ -1 +1 @@ -var e={methods:{one:{},two:{},three:{},four:{}},model:{one:{},two:{},three:{}},compute:{},hooks:[]};const t={compute:function(e){const{world:t}=this,n=t.compute;return"string"==typeof e&&n.hasOwnProperty(e)?n[e](this):(e=>"[object Array]"===Object.prototype.toString.call(e))(e)?e.forEach((r=>{t.compute.hasOwnProperty(r)?n[r](this):console.warn("no compute:",e)})):"function"==typeof e?e(this):console.warn("no compute:",e),this}};var n=t;var r={forEach:function(e){return this.fullPointer.forEach(((t,n)=>{let r=this.update([t]);e(r,n)})),this},map:function(e,t){let n=this.fullPointer.map(((t,n)=>{let r=this.update([t]),a=e(r,n);return void 0===a?this.none():a}));if(0===n.length)return t||this.update([]);if(void 0!==n[0]){if("string"==typeof n[0])return n;if("object"==typeof n[0]&&(null===n[0]||!n[0].isView))return n}let r=[];return n.forEach((e=>{r=r.concat(e.fullPointer)})),this.toView(r)},filter:function(e){let t=this.fullPointer;return t=t.filter(((t,n)=>{let r=this.update([t]);return e(r,n)})),this.update(t)},find:function(e){let t=this.fullPointer.find(((t,n)=>{let r=this.update([t]);return e(r,n)}));return this.update([t])},some:function(e){return this.fullPointer.some(((t,n)=>{let r=this.update([t]);return e(r,n)}))},random:function(e=1){let t=this.fullPointer,n=Math.floor(Math.random()*t.length);return n+e>this.length&&(n=this.length-e,n=n<0?0:n),t=t.slice(n,n+e),this.update(t)}};const a={termList:function(){return this.methods.one.termList(this.docs)},terms:function(e){let t=this.match(".");return"number"==typeof e?t.eq(e):t},groups:function(e){if(e||0===e)return this.update(this._groups[e]||[]);let t={};return Object.keys(this._groups).forEach((e=>{t[e]=this.update(this._groups[e])})),t},eq:function(e){let t=this.pointer;return t||(t=this.docs.map(((e,t)=>[t]))),t[e]?this.update([t[e]]):this.none()},first:function(){return this.eq(0)},last:function(){let e=this.fullPointer.length-1;return this.eq(e)},firstTerms:function(){return this.match("^.")},lastTerms:function(){return this.match(".$")},slice:function(e,t){let n=this.pointer||this.docs.map(((e,t)=>[t]));return n=n.slice(e,t),this.update(n)},all:function(){return this.update().toView()},fullSentences:function(){let e=this.fullPointer.map((e=>[e[0]]));return this.update(e).toView()},none:function(){return this.update([])},isDoc:function(e){if(!e||!e.isView)return!1;let t=this.fullPointer,n=e.fullPointer;return!t.length!==n.length&&t.every(((e,t)=>!!n[t]&&(e[0]===n[t][0]&&e[1]===n[t][1]&&e[2]===n[t][2])))},wordCount:function(){return this.docs.reduce(((e,t)=>(e+=t.filter((e=>""!==e.text)).length,e)),0)},isFull:function(){let e=this.pointer;if(!e)return!0;if(0===e.length||0!==e[0][0])return!1;let t=0,n=0;return this.document.forEach((e=>t+=e.length)),this.docs.forEach((e=>n+=e.length)),t===n},getNth:function(e){return"number"==typeof e?this.eq(e):"string"==typeof e?this.if(e):this}};a.group=a.groups,a.fullSentence=a.fullSentences,a.sentence=a.fullSentences,a.lastTerm=a.lastTerms,a.firstTerm=a.firstTerms;var o=a;const i=Object.assign({},o,n,r);i.get=i.eq;var s=i;class View{constructor(t,n,r={}){[["document",t],["world",e],["_groups",r],["_cache",null],["viewType","View"]].forEach((e=>{Object.defineProperty(this,e[0],{value:e[1],writable:!0})})),this.ptrs=n}get docs(){let t=this.document;return this.ptrs&&(t=e.methods.one.getDoc(this.ptrs,this.document)),t}get pointer(){return this.ptrs}get methods(){return this.world.methods}get model(){return this.world.model}get hooks(){return this.world.hooks}get isView(){return!0}get found(){return this.docs.length>0}get length(){return this.docs.length}get fullPointer(){let{docs:e,ptrs:t,document:n}=this,r=t||e.map(((e,t)=>[t]));return r.map((e=>{let[t,r,a,o,i]=e;return r=r||0,a=a||(n[t]||[]).length,n[t]&&n[t][r]&&(o=o||n[t][r].id,n[t][a-1]&&(i=i||n[t][a-1].id)),[t,r,a,o,i]}))}update(e){let t=new View(this.document,e);if(this._cache&&e&&e.length>0){let n=[];e.forEach(((e,t)=>{let[r,a,o]=e;(1===e.length||0===a&&this.document[r].length===o)&&(n[t]=this._cache[r])})),n.length>0&&(t._cache=n)}return t.world=this.world,t}toView(e){return new View(this.document,e||this.pointer)}fromText(e){const{methods:t}=this;let n=t.one.tokenize.fromString(e,this.world),r=new View(n);return r.world=this.world,r.compute(["normal","lexicon"]),this.world.compute.preTagger&&r.compute("preTagger"),r}clone(){let e=this.document.slice(0);e=e.map((e=>e.map((e=>((e=Object.assign({},e)).tags=new Set(e.tags),e)))));let t=this.update(this.pointer);return t.document=e,t._cache=this._cache,t}}Object.assign(View.prototype,s);var l=View;const u=function(e){return e&&"object"==typeof e&&!Array.isArray(e)};function c(e,t){if(u(t))for(const n in t)u(t[n])?(e[n]||Object.assign(e,{[n]:{}}),c(e[n],t[n])):Object.assign(e,{[n]:t[n]});return e}var h=function(e,t,n,r){const{methods:a,model:o,compute:i,hooks:s}=t;e.methods&&function(e,t){for(const n in t)e[n]=e[n]||{},Object.assign(e[n],t[n])}(a,e.methods),e.model&&c(o,e.model),e.irregulars&&function(e,t){let n=e.two.models||{};Object.keys(t).forEach((e=>{t[e].pastTense&&(n.toPast&&(n.toPast.ex[e]=t[e].pastTense),n.fromPast&&(n.fromPast.ex[t[e].pastTense]=e)),t[e].presentTense&&(n.toPresent&&(n.toPresent.ex[e]=t[e].presentTense),n.fromPresent&&(n.fromPresent.ex[t[e].presentTense]=e)),t[e].gerund&&(n.toGerund&&(n.toGerund.ex[e]=t[e].gerund),n.fromGerund&&(n.fromGerund.ex[t[e].gerund]=e)),t[e].comparative&&(n.toComparative&&(n.toComparative.ex[e]=t[e].comparative),n.fromComparative&&(n.fromComparative.ex[t[e].comparative]=e)),t[e].superlative&&(n.toSuperlative&&(n.toSuperlative.ex[e]=t[e].superlative),n.fromSuperlative&&(n.fromSuperlative.ex[t[e].superlative]=e))}))}(o,e.irregulars),e.compute&&Object.assign(i,e.compute),s&&(t.hooks=s.concat(e.hooks||[])),e.api&&e.api(n),e.lib&&Object.keys(e.lib).forEach((t=>r[t]=e.lib[t])),e.tags&&r.addTags(e.tags),e.words&&r.addWords(e.words),e.mutate&&e.mutate(t)};const d=function(e){return"[object Array]"===Object.prototype.toString.call(e)};var m=function(e,t,n){const{methods:r}=n;let a=new t([]);if(a.world=n,"number"==typeof e&&(e=String(e)),!e)return a;if("string"==typeof e){return new t(r.one.tokenize.fromString(e,n))}if(o=e,"[object Object]"===Object.prototype.toString.call(o)&&e.isView)return new t(e.document,e.ptrs);var o;if(d(e)){if(d(e[0])){let n=e.map((e=>e.map((e=>({text:e,normal:e,pre:"",post:" ",tags:new Set})))));return new t(n)}let n=function(e){return e.map((e=>e.terms.map((e=>(d(e.tags)&&(e.tags=new Set(e.tags)),e)))))}(e);return new t(n)}return a};let p=Object.assign({},e);const f=function(e,t){t&&f.addWords(t);let n=m(e,l,p);return e&&n.compute(p.hooks),n};Object.defineProperty(f,"_world",{value:p,writable:!0}),f.tokenize=function(e,t){const{compute:n}=this._world;t&&f.addWords(t);let r=m(e,l,p);return n.contractions&&r.compute(["alias","normal","machine","contractions"]),r},f.plugin=function(e){return h(e,this._world,l,this),this},f.extend=f.plugin,f.world=function(){return this._world},f.model=function(){return this._world.model},f.methods=function(){return this._world.methods},f.hooks=function(){return this._world.hooks},f.verbose=function(e){const t="undefined"!=typeof process&&process.env?process.env:self.env||{};return t.DEBUG_TAGS="tagger"===e||!0===e||"",t.DEBUG_MATCH="match"===e||!0===e||"",t.DEBUG_CHUNKS="chunker"===e||!0===e||"",this},f.version="14.10.0";var v=f;var b=function(e){let t=e.map((e=>{let t=new Set;return e.forEach((e=>{""!==e.normal&&t.add(e.normal),e.switch&&t.add(`%${e.switch}%`),e.implicit&&t.add(e.implicit),e.machine&&t.add(e.machine),e.root&&t.add(e.root),e.alias&&e.alias.forEach((e=>t.add(e)));let n=Array.from(e.tags);for(let e=0;e/^\p{Lu}[\p{Ll}'’]/u.test(e)||/^\p{Lu}$/u.test(e),A=(e,t,n)=>{if(n.forEach((e=>e.dirty=!0)),e){let r=[t,0].concat(n);Array.prototype.splice.apply(e,r)}return e},I=function(e){let t=e[e.length-1];!t||/ $/.test(t.post)||/[-–—]/.test(t.post)||(t.post+=" ")},N=(e,t,n)=>{const r=/[-.?!,;:)–—'"]/g;let a=e[t-1];if(!a)return;let o=a.post;if(r.test(o)){let e=o.match(r).join(""),t=n[n.length-1];t.post=e+t.post,a.post=a.post.replace(r,"")}},j=function(e,t,n,r){let[a,o,i]=t;0===o||i===r[a].length?I(n):(I(n),I([e[t[1]]])),function(e,t,n){let r=e[t];if(0!==t||!P(r.text))return;n[0].text=n[0].text.replace(/^\p{Ll}/u,(e=>e.toUpperCase()));let a=e[t];a.tags.has("ProperNoun")||a.tags.has("Acronym")||P(a.text)&&a.text.length>1&&(a.text=(o=a.text,o.replace(/^\p{Lu}/u,(e=>e.toLowerCase()))));var o}(e,o,n),A(e,o,n)};let E=0;const x=e=>(e=e.length<3?"0"+e:e).length<3?"0"+e:e;var D=function(e){let[t,n]=e.index||[0,0];E+=1,E=E>46655?0:E,t=t>46655?0:t,n=n>1294?0:n;let r=x(E.toString(36));r+=x(t.toString(36));let a=n.toString(36);return a=a.length<2?"0"+a:a,r+=a,r+=parseInt(36*Math.random(),10).toString(36),e.normal+"|"+r.toUpperCase()};const T=function(e){if(e.has("@hasContraction")&&"function"==typeof e.contractions){e.grow("@hasContraction").contractions().expand()}},C=e=>"[object Array]"===Object.prototype.toString.call(e),O=function(e,t,n){const{document:r,world:a}=t;t.uncache();let o=t.fullPointer,i=t.fullPointer;t.forEach(((s,l)=>{let u=s.fullPointer[0],[c]=u,h=r[c],d=function(e,t){const{methods:n}=t;return"string"==typeof e?n.one.tokenize.fromString(e,t)[0]:"object"==typeof e&&e.isView?e.clone().docs[0]||[]:C(e)?C(e[0])?e[0]:e:[]}(e,a);0!==d.length&&(d=function(e){return e.map((e=>(e.id=D(e),e)))}(d),n?(T(t.update([u]).firstTerm()),j(h,u,d,r)):(T(t.update([u]).lastTerm()),function(e,t,n,r){let[a,,o]=t,i=(r[a]||[]).length;o{let n=t(e);e.replaceWith(n)})),e}(r,e);let a=r.docs[0],o=t.possessives&&a[a.length-1].tags.has("Possessive");e=function(e,t){if("string"!=typeof e)return e;let n=t.groups();return e=e.replace(G,(e=>{let t=e.replace(/\$/,"");return n.hasOwnProperty(t)?n[t].text():e})),e}(e,r);let i=this.update(n);n=n.map((e=>e.slice(0,3)));let s=(i.docs[0]||[]).map((e=>Array.from(e.tags)));if("string"==typeof e&&(e=this.fromText(e).compute("id")),r.insertAfter(e),i.has("@hasContraction")&&r.contractions){r.grow("@hasContraction+").contractions().expand()}if(r.delete(i),o){let e=r.docs[0],t=e[e.length-1];t.tags.has("Possessive")||(t.text+="'s",t.normal+="'s",t.tags.add("Possessive"))}let l=r.toView(n).compute(["index","lexicon"]);return l.world.compute.preTagger&&l.compute("preTagger"),t.tags&&l.terms().forEach(((e,t)=>{e.tagSafe(s[t])})),t.case&&l.docs[0]&&l.docs[0][0]&&0===l.docs[0][0].index[1]&&(l.docs[0][0].text=l.docs[0][0].text.replace(/\w\S*/g,(e=>e.charAt(0).toUpperCase()+e.substring(1).toLowerCase()))),l},z.replace=function(e,t,n){if(e&&!t)return this.replaceWith(e,n);let r=this.match(e);return r.found?(this.soften(),r.replaceWith(t,n)):this};var L=z;var $=function(e,t){t.forEach((t=>{let[n,r,a]=t,o=a-r;e[n]&&(a===e[n].length&&a>1&&function(e,t){let n=e.length-1,r=e[n],a=e[n-t];a&&r&&(a.post+=r.post,a.post=a.post.replace(/ +([.?!,;:])/,"$1"),a.post=a.post.replace(/[,;:]+([.?!])/,"$1"))}(e[n],o),e[n].splice(r,o))}));for(let t=e.length-1;t>=0;t-=1)if(0===e[t].length&&(e.splice(t,1),t===e.length&&e[t-1])){let n=e[t-1],r=n[n.length-1];r&&(r.post=r.post.trimEnd())}return e};const S={remove:function(e){const{indexN:t}=this.methods.one.pointer;this.uncache();let n=this.all(),r=this;e&&(n=this,r=this.match(e));let a=!n.ptrs;if(r.has("@hasContraction")&&r.contractions){r.grow("@hasContraction").contractions().expand()}let o=n.fullPointer,i=r.fullPointer.reverse(),s=$(this.document,i);return o=function(e,t){return e=e.map((e=>{let[n]=e;return t[n]?(t[n].forEach((t=>{let n=t[2]-t[1];e[1]<=t[1]&&e[2]>=t[2]&&(e[2]-=n)})),e):e})),e.forEach(((t,n)=>{if(0===t[1]&&0==t[2])for(let t=n+1;te[2]-e[1]>0))).map((e=>(e[3]=null,e[4]=null,e)))}(o,t(i)),n.ptrs=o,n.document=s,n.compute("index"),a&&(n.ptrs=void 0),e?n.toView(o):(this.ptrs=[],n.none())}};S.delete=S.remove;var M=S;const B={pre:function(e,t){return void 0===e&&this.found?this.docs[0][0].pre:(this.docs.forEach((n=>{let r=n[0];!0===t?r.pre+=e:r.pre=e})),this)},post:function(e,t){if(void 0===e){let e=this.docs[this.docs.length-1];return e[e.length-1].post}return this.docs.forEach((n=>{let r=n[n.length-1];!0===t?r.post+=e:r.post=e})),this},trim:function(){if(!this.found)return this;let e=this.docs,t=e[0][0];t.pre=t.pre.trimStart();let n=e[e.length-1],r=n[n.length-1];return r.post=r.post.trimEnd(),this},hyphenate:function(){return this.docs.forEach((e=>{e.forEach(((t,n)=>{0!==n&&(t.pre=""),e[n+1]&&(t.post="-")}))})),this},dehyphenate:function(){const e=/[-–—]/;return this.docs.forEach((t=>{t.forEach((t=>{e.test(t.post)&&(t.post=" ")}))})),this},toQuotations:function(e,t){return e=e||'"',t=t||'"',this.docs.forEach((n=>{n[0].pre=e+n[0].pre;let r=n[n.length-1];r.post=t+r.post})),this},toParentheses:function(e,t){return e=e||"(",t=t||")",this.docs.forEach((n=>{n[0].pre=e+n[0].pre;let r=n[n.length-1];r.post=t+r.post})),this}};B.deHyphenate=B.dehyphenate,B.toQuotation=B.toQuotations;var H=B;var J={alpha:(e,t)=>e.normalt.normal?1:0,length:(e,t)=>{let n=e.normal.trim().length,r=t.normal.trim().length;return nr?-1:0},wordCount:(e,t)=>e.wordst.words?-1:0,sequential:(e,t)=>e[0]t[0]?-1:e[1]>t[1]?1:-1,byFreq:function(e){let t={};return e.forEach((e=>{t[e.normal]=t[e.normal]||0,t[e.normal]+=1})),e.sort(((e,n)=>{let r=t[e.normal],a=t[n.normal];return ra?-1:0})),e}};const W=new Set(["index","sequence","seq","sequential","chron","chronological"]),K=new Set(["freq","frequency","topk","repeats"]),q=new Set(["alpha","alphabetical"]);var U={unique:function(){let e=new Set,t=this.filter((t=>{let n=t.text("machine");return!e.has(n)&&(e.add(n),!0)}));return t},reverse:function(){let e=this.pointer||this.docs.map(((e,t)=>[t]));return e=[].concat(e),e=e.reverse(),this._cache&&(this._cache=this._cache.reverse()),this.update(e)},sort:function(e){let{docs:t,pointer:n}=this;if(this.uncache(),"function"==typeof e)return function(e,t){let n=e.fullPointer;return n=n.sort(((n,r)=>(n=e.update([n]),r=e.update([r]),t(n,r)))),e.ptrs=n,e}(this,e);e=e||"alpha";let r=n||t.map(((e,t)=>[t])),a=t.map(((e,t)=>({index:t,words:e.length,normal:e.map((e=>e.machine||e.normal||"")).join(" "),pointer:r[t]})));return W.has(e)&&(e="sequential"),q.has(e)&&(e="alpha"),K.has(e)?(a=J.byFreq(a),this.update(a.map((e=>e.pointer)))):"function"==typeof J[e]?(a=a.sort(J[e]),this.update(a.map((e=>e.pointer)))):this}};const Q=function(e,t){if(e.length>0){let t=e[e.length-1],n=t[t.length-1];!1===/ /.test(n.post)&&(n.post+=" ")}return e=e.concat(t)};var R={concat:function(e){if("string"==typeof e){let t=this.fromText(e);if(this.found&&this.ptrs){let e=this.fullPointer,n=e[e.length-1][0];this.document.splice(n,0,...t.document)}else this.document=this.document.concat(t.document);return this.all().compute("index")}if("object"==typeof e&&e.isView)return function(e,t){if(e.document===t.document){let n=e.fullPointer.concat(t.fullPointer);return e.toView(n).compute("index")}return t.fullPointer.forEach((t=>{t[0]+=e.document.length})),e.document=Q(e.document,t.docs),e.all()}(this,e);if(t=e,"[object Array]"===Object.prototype.toString.call(t)){let t=Q(this.document,e);return this.document=t,this.all()}var t;return this}};var _={harden:function(){return this.ptrs=this.fullPointer,this},soften:function(){let e=this.ptrs;return!e||e.length<1||(e=e.map((e=>e.slice(0,3))),this.ptrs=e),this}};const X=Object.assign({},{toLowerCase:function(){return this.termList().forEach((e=>{e.text=e.text.toLowerCase()})),this},toUpperCase:function(){return this.termList().forEach((e=>{e.text=e.text.toUpperCase()})),this},toTitleCase:function(){return this.termList().forEach((e=>{e.text=e.text.replace(/^ *[a-z\u00C0-\u00FF]/,(e=>e.toUpperCase()))})),this},toCamelCase:function(){return this.docs.forEach((e=>{e.forEach(((t,n)=>{0!==n&&(t.text=t.text.replace(/^ *[a-z\u00C0-\u00FF]/,(e=>e.toUpperCase()))),n!==e.length-1&&(t.post="")}))})),this}},V,L,M,H,U,R,_);var Z=function(e){Object.assign(e.prototype,X)};const Y={id:function(e){let t=e.docs;for(let e=0;e(e.implicit=e.text,e.machine=e.text,e.pre="",e.post="",e.text="",e.normal="",e.index=[r,a+t],e))),n[0]&&(n[0].pre=e[r][a].pre,n[n.length-1].post=e[r][a].post,n[0].text=e[r][a].text,n[0].normal=e[r][a].normal),e[r].splice(a,1,...n))};const ae=/'/,oe=new Set(["what","how","when","where","why"]),ie=new Set(["be","go","start","think","need"]),se=new Set(["been","gone"]);var le=function(e,t){let n=e[t].normal.split(ae)[0];if(oe.has(n))return[n,"did"];if(e[t+1]){if(se.has(e[t+1].normal))return[n,"had"];if(ie.has(e[t+1].normal))return[n,"would"]}return null};var ue=function(e,t){if("ain't"===e[t].normal||"aint"===e[t].normal)return null;return[e[t].normal.replace(/n't/,""),"not"]};const ce=/'/;var he=(e,t)=>["je",e[t].normal.split(ce)[1]],de=(e,t)=>{let n=e[t].normal.split(ce)[1];return n&&n.endsWith("e")?["la",n]:["le",n]},ge=(e,t)=>{let n=e[t].normal.split(ce)[1];return n&&n.endsWith("e")?["du",n]:n&&n.endsWith("s")?["des",n]:["de",n]};const me=/^([0-9.]{1,4}[a-z]{0,2}) ?[-–—] ?([0-9]{1,4}[a-z]{0,2})$/i,pe=/^([0-9]{1,2}(:[0-9][0-9])?(am|pm)?) ?[-–—] ?([0-9]{1,2}(:[0-9][0-9])?(am|pm)?)$/i,fe=/^[0-9]{3}-[0-9]{4}$/;var ve=function(e,t){let n=e[t],r=n.text.match(me);return null!==r?!0===n.tags.has("PhoneNumber")||fe.test(n.text)?null:[r[1],"to",r[2]]:(r=n.text.match(pe),null!==r?[r[1],"to",r[4]]:null)};const be=/^([+-]?[0-9][.,0-9]*)([a-z°²³µ/]+)$/;var ye=function(e,t,n){const r=n.model.one.numberSuffixes||{};let a=e[t].text.match(be);if(null!==a){let e=a[2].toLowerCase().trim();return r.hasOwnProperty(e)?null:[a[1],e]}return null};const we=/'/,ke=/^[0-9][^-–—]*[-–—].*?[0-9]/,Pe=function(e,t,n,r){let a=t.update();a.document=[e];let o=n+r;n>0&&(n-=1),e[o]&&(o+=1),a.ptrs=[[0,n,o]]},Ae={t:(e,t)=>ue(e,t),d:(e,t)=>le(e,t)},Ie={j:(e,t)=>he(e,t),l:(e,t)=>de(e,t),d:(e,t)=>ge(e,t)},Ne=function(e,t,n,r){for(let a=0;a2)return o.out.concat(r)}return null},je=function(e,t){let n=t.fromText(e.join(" "));return n.compute(["id","alias"]),n.docs[0]},Ee=function(e,t){for(let n=t+1;n<5&&e[n];n+=1)if("been"===e[n].normal)return["there","has"];return["there","is"]};var xe=e=>{let{world:t,document:n}=e;const{model:r,methods:a}=t;let o=r.one.contractions||[];n.forEach(((r,i)=>{for(let s=r.length-1;s>=0;s-=1){let l=null,u=null;!0===we.test(r[s].normal)&&([l,u]=r[s].normal.split(we));let c=Ne(o,r[s],l,u);!c&&Ae.hasOwnProperty(u)&&(c=Ae[u](r,s,t)),!c&&Ie.hasOwnProperty(l)&&(c=Ie[l](r,s)),"there"===l&&"s"===u&&(c=Ee(r,s)),c?(c=je(c,e),re(n,[i,s],c),Pe(n[i],e,s,c.length)):ke.test(r[s].normal)?(c=ve(r,s),c&&(c=je(c,e),re(n,[i,s],c),a.one.setTag(c,"NumberRange",t),c[2]&&c[2].tags.has("Time")&&a.one.setTag([c[0]],"Time",t,null,"time-range"),Pe(n[i],e,s,c.length))):(c=ye(r,s,t),c&&(c=je(c,e),re(n,[i,s],c),a.one.setTag([c[1]],"Unit",t,null,"contraction-unit")))}}))};var De={model:ne,compute:{contractions:xe},hooks:["contractions"]};var Te=function(e,t,n){const{model:r,methods:a}=n,o=a.one.setTag,i=r.one._multiCache||{},s=r.one.lexicon||{};let l=e[t],u=l.machine||l.normal;return void 0!==e[t+1]&&!0===i[u]?function(e,t,n,r,a){let o=t+4>e.length?e.length-t:4,i=e[t].machine||e[t].normal;for(let s=1;si.hasOwnProperty(e)));if(e){return o([s],i[e],n,!1,"1-lexicon-alias"),!0}}if(!0===Ce.test(l)){let e=l.replace(Ce,"");if(i.hasOwnProperty(e)&&e.length>3&&Oe.has(i[e]))return o([s],i[e],n,!1,"1-lexicon-prefix"),!0}return null};var Ve={lexicon:function(e){const t=e.world;e.docs.forEach((e=>{for(let n=0;n{let a=e[r],o=(r=(r=r.toLowerCase().trim()).replace(/'s\b/,"")).split(/ /);o.length>1&&(n[o[0]]=!0),t[r]=t[r]||a})),delete t[""],delete t.null,delete t[" "],{lex:t,_multi:n}};var ze={addWords:function(e){const t=this.world(),{methods:n,model:r}=t;if(e)if(Object.keys(e).forEach((t=>{"string"==typeof e[t]&&e[t].startsWith("#")&&(e[t]=e[t].replace(/^#/,""))})),n.two.expandLexicon){let{lex:a,_multi:o}=n.two.expandLexicon(e,t);Object.assign(r.one.lexicon,a),Object.assign(r.one._multiCache,o)}else if(n.one.expandLexicon){let{lex:a,_multi:o}=n.one.expandLexicon(e,t);Object.assign(r.one.lexicon,a),Object.assign(r.one._multiCache,o)}else Object.assign(r.one.lexicon,e)}};var Le={model:{one:{lexicon:{},_multiCache:{}}},methods:{one:{expandLexicon:Ge}},compute:Ve,lib:ze,hooks:["lexicon"]};var $e=function(e,t){let n=[{}],r=[null],a=[0],o=[],i=0;e.forEach((function(e){let a=0,o=function(e,t){const{methods:n,model:r}=t;let a=n.one.tokenize.splitTerms(e,r).map((e=>n.one.tokenize.splitWhitespace(e,r)));return a.map((e=>e.text.toLowerCase()))}(e,t);for(let e=0;e0&&!n[i].hasOwnProperty(l);)i=a[i];if(n.hasOwnProperty(i)){let e=n[i][l];a[u]=e,r[e]&&(r[u]=r[u]||[],r[u]=r[u].concat(r[e]))}else a[u]=0}}return{goNext:n,endAs:r,failTo:a}};const Se=function(e,t,n){let r=0,a=[];for(let o=0;o0&&(void 0===t.goNext[r]||!t.goNext[r].hasOwnProperty(i));)r=t.failTo[r]||0;if(t.goNext[r].hasOwnProperty(i)&&(r=t.goNext[r][i],t.endAs[r])){let n=t.endAs[r];for(let t=0;t0&&(r=r.concat(l))}return e.update(r)};const He=(e,t)=>{for(let n=e.length-1;n>=0;n-=1)if(e[n]!==t)return e=e.slice(0,n+1);return e};var Je=function(e){return e.goNext=e.goNext.map((e=>{if(0!==Object.keys(e).length)return e})),e.goNext=He(e.goNext,void 0),e.failTo=He(e.failTo,0),e.endAs=He(e.endAs,null),e};const We={buildTrie:function(e){const t=$e(e,this.world());return Je(t)}};We.compile=We.buildTrie;var Ke={api:function(e){e.prototype.lookup=function(e,t={}){if(!e)return this.none();"string"==typeof e&&(e=[e]);let n=(r=e,"[object Object]"===Object.prototype.toString.call(r)?e:$e(e,this.world));var r;let a=Be(this,n,t);return a=a.settle(),a}},lib:We};const qe=function(e,t){return t?(e.forEach((e=>{let n=e[0];t[n]&&(e[0]=t[n][0],e[1]+=t[n][1],e[2]+=t[n][1])})),e):e},Ue=function(e,t){let{ptrs:n,byGroup:r}=e;return n=qe(n,t),Object.keys(r).forEach((e=>{r[e]=qe(r[e],t)})),{ptrs:n,byGroup:r}},Qe=e=>"[object Object]"===Object.prototype.toString.call(e),Re=e=>e&&Qe(e)&&!0===e.isView,_e=e=>e&&Qe(e)&&!0===e.isNet,Xe=function(e,t,n){const r=n.methods.one;return"number"==typeof e&&(e=String(e)),"string"==typeof e&&(e=r.killUnicode(e,n),e=r.parseMatch(e,t,n)),e};var Ze={matchOne:function(e,t,n){const r=this.methods.one;if(Re(e))return this.intersection(e).eq(0);if(_e(e))return this.sweep(e,{tagger:!1,matchOne:!0}).view;let a={regs:e=Xe(e,n,this.world),group:t,justOne:!0},o=r.match(this.docs,a,this._cache),{ptrs:i,byGroup:s}=Ue(o,this.fullPointer),l=this.toView(i);return l._groups=s,l},match:function(e,t,n){const r=this.methods.one;if(Re(e))return this.intersection(e);if(_e(e))return this.sweep(e,{tagger:!1}).view.settle();let a={regs:e=Xe(e,n,this.world),group:t},o=r.match(this.docs,a,this._cache),{ptrs:i,byGroup:s}=Ue(o,this.fullPointer),l=this.toView(i);return l._groups=s,l},has:function(e,t,n){const r=this.methods.one;if(Re(e)){return e.fullPointer.length>0}if(_e(e))return this.sweep(e,{tagger:!1}).view.found;let a={regs:e=Xe(e,n,this.world),group:t,justOne:!0};return r.match(this.docs,a,this._cache).ptrs.length>0},if:function(e,t,n){const r=this.methods.one;if(Re(e))return this.filter((t=>t.intersection(e).found));if(_e(e)){let t=this.sweep(e,{tagger:!1}).view.settle();return this.if(t)}let a={regs:e=Xe(e,n,this.world),group:t,justOne:!0},o=this.fullPointer,i=this._cache||[];o=o.filter(((e,t)=>{let n=this.update([e]);return r.match(n.docs,a,i[t]).ptrs.length>0}));let s=this.update(o);return this._cache&&(s._cache=o.map((e=>i[e[0]]))),s},ifNo:function(e,t,n){const{methods:r}=this,a=r.one;if(Re(e))return this.filter((t=>!t.intersection(e).found));if(_e(e)){let t=this.sweep(e,{tagger:!1}).view.settle();return this.ifNo(t)}e=Xe(e,n,this.world);let o=this._cache||[],i=this.filter(((n,r)=>{let i={regs:e,group:t,justOne:!0};return 0===a.match(n.docs,i,o[r]).ptrs.length}));return this._cache&&(i._cache=i.ptrs.map((e=>o[e[0]]))),i}};var Ye={before:function(e,t,n){const{indexN:r}=this.methods.one.pointer;let a=[],o=r(this.fullPointer);Object.keys(o).forEach((e=>{let t=o[e].sort(((e,t)=>e[1]>t[1]?1:-1))[0];t[1]>0&&a.push([t[0],0,t[1]])}));let i=this.toView(a);return e?i.match(e,t,n):i},after:function(e,t,n){const{indexN:r}=this.methods.one.pointer;let a=[],o=r(this.fullPointer),i=this.document;Object.keys(o).forEach((e=>{let t=o[e].sort(((e,t)=>e[1]>t[1]?-1:1))[0],[n,,r]=t;r{let o=n.before(e,t);if(o.found){let e=o.terms();r[a][1]-=e.length,r[a][3]=e.docs[0][0].id}})),this.update(r)},growRight:function(e,t,n){"string"==typeof e&&(e=this.world.methods.one.parseMatch(e,n,this.world)),e[0].start=!0;let r=this.fullPointer;return this.forEach(((n,a)=>{let o=n.after(e,t);if(o.found){let e=o.terms();r[a][2]+=e.length,r[a][4]=null}})),this.update(r)},grow:function(e,t,n){return this.growRight(e,t,n).growLeft(e,t,n)}};const et=function(e,t){return[e[0],e[1],t[2]]},tt=(e,t,n)=>{return"string"==typeof e||(r=e,"[object Array]"===Object.prototype.toString.call(r))?t.match(e,n):e||t.none();var r},nt=function(e,t){let[n,r,a]=e;return t.document[n]&&t.document[n][r]&&(e[3]=e[3]||t.document[n][r].id,t.document[n][a-1]&&(e[4]=e[4]||t.document[n][a-1].id)),e},rt={splitOn:function(e,t){const{splitAll:n}=this.methods.one.pointer;let r=tt(e,this,t).fullPointer,a=n(this.fullPointer,r),o=[];return a.forEach((e=>{o.push(e.passthrough),o.push(e.before),o.push(e.match),o.push(e.after)})),o=o.filter((e=>e)),o=o.map((e=>nt(e,this))),this.update(o)},splitBefore:function(e,t){const{splitAll:n}=this.methods.one.pointer;let r=tt(e,this,t).fullPointer,a=n(this.fullPointer,r);for(let e=0;e{o.push(e.passthrough),o.push(e.before),e.match&&e.after?o.push(et(e.match,e.after)):o.push(e.match)})),o=o.filter((e=>e)),o=o.map((e=>nt(e,this))),this.update(o)},splitAfter:function(e,t){const{splitAll:n}=this.methods.one.pointer;let r=tt(e,this,t).fullPointer,a=n(this.fullPointer,r),o=[];return a.forEach((e=>{o.push(e.passthrough),e.before&&e.match?o.push(et(e.before,e.match)):(o.push(e.before),o.push(e.match)),o.push(e.after)})),o=o.filter((e=>e)),o=o.map((e=>nt(e,this))),this.update(o)}};rt.split=rt.splitAfter;var at=rt;const ot=Object.assign({},Ze,Ye,at);ot.lookBehind=ot.before,ot.lookBefore=ot.before,ot.lookAhead=ot.after,ot.lookAfter=ot.after,ot.notIf=ot.ifNo;var it=function(e){Object.assign(e.prototype,ot)};const st=/(?:^|\s)([![^]*(?:<[^<]*>)?\/.*?[^\\/]\/[?\]+*$~]*)(?:\s|$)/,lt=/([!~[^]*(?:<[^<]*>)?\([^)]+[^\\)]\)[?\]+*$~]*)(?:\s|$)/,ut=/ /g,ct=e=>/^[![^]*(<[^<]*>)?\//.test(e)&&/\/[?\]+*$~]*$/.test(e),ht=function(e){return e=(e=e.map((e=>e.trim()))).filter((e=>e))};var dt=function(e){let t=e.split(st),n=[];t.forEach((e=>{ct(e)?n.push(e):n=n.concat(e.split(lt))})),n=ht(n);let r=[];return n.forEach((e=>{(e=>/^[![^]*(<[^<]*>)?\(/.test(e)&&/\)[?\]+*$~]*$/.test(e))(e)||ct(e)?r.push(e):r=r.concat(e.split(ut))})),r=ht(r),r};const gt=/\{([0-9]+)?(, *[0-9]*)?\}/,mt=/&&/,pt=new RegExp(/^<\s*(\S+)\s*>/),ft=e=>e.charAt(0).toUpperCase()+e.substring(1),vt=e=>e.charAt(e.length-1),bt=e=>e.charAt(0),yt=e=>e.substring(1),wt=e=>e.substring(0,e.length-1),kt=function(e){return e=yt(e),e=wt(e)},Pt=function(e,t){let n={};for(let r=0;r<2;r+=1){if("$"===vt(e)&&(n.end=!0,e=wt(e)),"^"===bt(e)&&(n.start=!0,e=yt(e)),"?"===vt(e)&&(n.optional=!0,e=wt(e)),("["===bt(e)||"]"===vt(e))&&(n.group=null,"["===bt(e)&&(n.groupStart=!0),"]"===vt(e)&&(n.groupEnd=!0),e=(e=e.replace(/^\[/,"")).replace(/\]$/,""),"<"===bt(e))){const t=pt.exec(e);t.length>=2&&(n.group=t[1],e=e.replace(t[0],""))}if("+"===vt(e)&&(n.greedy=!0,e=wt(e)),"*"!==e&&"*"===vt(e)&&"\\*"!==e&&(n.greedy=!0,e=wt(e)),"!"===bt(e)&&(n.negative=!0,e=yt(e)),"~"===bt(e)&&"~"===vt(e)&&e.length>2&&(e=kt(e),n.fuzzy=!0,n.min=t.fuzzy||.85,!1===/\(/.test(e)))return n.word=e,n;if("/"===bt(e)&&"/"===vt(e))return e=kt(e),t.caseSensitive&&(n.use="text"),n.regex=new RegExp(e),n;if(!0===gt.test(e)&&(e=e.replace(gt,((e,t,r)=>(void 0===r?(n.min=Number(t),n.max=Number(t)):(r=r.replace(/, */,""),void 0===t?(n.min=0,n.max=Number(r)):(n.min=Number(t),n.max=Number(r||999))),n.greedy=!0,n.min||(n.optional=!0),"")))),"("===bt(e)&&")"===vt(e)){mt.test(e)?(n.choices=e.split(mt),n.operator="and"):(n.choices=e.split("|"),n.operator="or"),n.choices[0]=yt(n.choices[0]);let r=n.choices.length-1;n.choices[r]=wt(n.choices[r]),n.choices=n.choices.map((e=>e.trim())),n.choices=n.choices.filter((e=>e)),n.choices=n.choices.map((e=>e.split(/ /g).map((e=>Pt(e,t))))),e=""}if("{"===bt(e)&&"}"===vt(e)){if(e=kt(e),n.root=e,/\//.test(e)){let e=n.root.split(/\//);n.root=e[0],n.pos=e[1],"adj"===n.pos&&(n.pos="Adjective"),n.pos=n.pos.charAt(0).toUpperCase()+n.pos.substr(1).toLowerCase(),void 0!==e[2]&&(n.sense=e[2])}return n}if("<"===bt(e)&&">"===vt(e))return e=kt(e),n.chunk=ft(e),n.greedy=!0,n;if("%"===bt(e)&&"%"===vt(e))return e=kt(e),n.switch=e,n}return"#"===bt(e)?(n.tag=yt(e),n.tag=ft(n.tag),n):"@"===bt(e)?(n.method=yt(e),n):"."===e?(n.anything=!0,n):"*"===e?(n.anything=!0,n.greedy=!0,n.optional=!0,n):(e&&(e=(e=e.replace("\\*","*")).replace("\\.","."),t.caseSensitive?n.use="text":e=e.toLowerCase(),n.word=e),n)};var At=Pt;const It=/[a-z0-9][-–—][a-z]/i;var Nt=function(e,t){let n=t.model.one.prefixes;for(let t=e.length-1;t>=0;t-=1){let r=e[t];if(r.word&&It.test(r.word)){let a=r.word.split(/[-–—]/g);if(n.hasOwnProperty(a[0]))continue;a=a.filter((e=>e)).reverse(),e.splice(t,1),a.forEach((n=>{let a=Object.assign({},r);a.word=n,e.splice(t,0,a)}))}}return e};const jt=function(e,t){let{all:n}=t.methods.two.transform.verb||{},r=e.root;return n?n(r,t.model):[]},Et=function(e,t){let{all:n}=t.methods.two.transform.noun||{};return n?n(e.root,t.model):[e.root]},xt=function(e,t){let{all:n}=t.methods.two.transform.adjective||{};return n?n(e.root,t.model):[e.root]};var Dt=function(e,t){return e=e.map((e=>{if(e.root)if(t.methods.two&&t.methods.two.transform){let n=[];e.pos?"Verb"===e.pos?n=n.concat(jt(e,t)):"Noun"===e.pos?n=n.concat(Et(e,t)):"Adjective"===e.pos&&(n=n.concat(xt(e,t))):(n=n.concat(jt(e,t)),n=n.concat(Et(e,t)),n=n.concat(xt(e,t))),n=n.filter((e=>e)),n.length>0&&(e.operator="or",e.fastOr=new Set(n))}else e.machine=e.root,delete e.id,delete e.root;return e}))};var Tt=function(e){return e=function(e){let t=0,n=null;for(let r=0;r(e.fuzzy&&e.choices&&e.choices.forEach((t=>{1===t.length&&t[0].word&&(t[0].fuzzy=!0,t[0].min=e.min)})),e)))}(e=e.map((e=>{if(void 0!==e.choices){if("or"!==e.operator)return e;if(!0===e.fuzzy)return e;!0===e.choices.every((e=>{if(1!==e.length)return!1;let t=e[0];return!0!==t.fuzzy&&!t.start&&!t.end&&void 0!==t.word&&!0!==t.negative&&!0!==t.optional&&!0!==t.method}))&&(e.fastOr=new Set,e.choices.forEach((t=>{e.fastOr.add(t[0].word)})),delete e.choices)}return e}))),e};var Ct=function(e,t,n){if(null==e||""===e)return[];t=t||{},"number"==typeof e&&(e=String(e));let r=dt(e);return r=r.map((e=>At(e,t))),r=Nt(r,n),r=Dt(r,n),r=Tt(r),r};const Ot=function(e,t){for(let n of t)if(e.has(n))return!0;return!1};var Ft=function(e,t){for(let n=0;nn?r:n)+1;if(Math.abs(n-r)>(a||100))return a||100;let o,i,s,l,u,c,h=[];for(let e=0;e4)return n;s=t[o-1],l=i===s?0:1,u=h[a-1][o]+1,(c=h[a][o-1]+1)1&&o>1&&i===t[o-2]&&e[a-2]===s&&(c=h[a-2][o-2]+l)-1!==e.post.indexOf(t),Mt=(e,t)=>-1!==e.pre.indexOf(t),Bt={hasQuote:e=>Gt.test(e.pre)||zt.test(e.post),hasComma:e=>St(e,","),hasPeriod:e=>!0===St(e,".")&&!1===St(e,"..."),hasExclamation:e=>St(e,"!"),hasQuestionMark:e=>St(e,"?")||St(e,"¿"),hasEllipses:e=>St(e,"..")||St(e,"…")||Mt(e,"..")||Mt(e,"…"),hasSemicolon:e=>St(e,";"),hasColon:e=>St(e,":"),hasSlash:e=>/\//.test(e.text),hasHyphen:e=>Lt.test(e.post)||Lt.test(e.pre),hasDash:e=>$t.test(e.post)||$t.test(e.pre),hasContraction:e=>Boolean(e.implicit),isAcronym:e=>e.tags.has("Acronym"),isKnown:e=>e.tags.size>0,isTitleCase:e=>/^\p{Lu}[a-z'\u00C0-\u00FF]/u.test(e.text),isUpperCase:e=>/^\p{Lu}+$/u.test(e.text)};Bt.hasQuotation=Bt.hasQuote;var Ht=Bt;let Jt=function(){};Jt=function(e,t,n,r){let a=function(e,t,n,r){if(!0===t.anything)return!0;if(!0===t.start&&0!==n)return!1;if(!0===t.end&&n!==r-1)return!1;if(void 0!==t.id&&t.id===e.id)return!0;if(void 0!==t.word){if(t.use)return t.word===e[t.use];if(null!==e.machine&&e.machine===t.word)return!0;if(void 0!==e.alias&&e.alias.hasOwnProperty(t.word))return!0;if(!0===t.fuzzy){if(t.word===e.root)return!0;if(Vt(t.word,e.normal)>=t.min)return!0}return!(!e.alias||!e.alias.some((e=>e===t.word)))||t.word===e.text||t.word===e.normal}if(void 0!==t.tag)return!0===e.tags.has(t.tag);if(void 0!==t.method)return"function"==typeof Ht[t.method]&&!0===Ht[t.method](e);if(void 0!==t.pre)return e.pre&&e.pre.includes(t.pre);if(void 0!==t.post)return e.post&&e.post.includes(t.post);if(void 0!==t.regex){let n=e.normal;return t.use&&(n=e[t.use]),t.regex.test(n)}if(void 0!==t.chunk)return e.chunk===t.chunk;if(void 0!==t.switch)return e.switch===t.switch;if(void 0!==t.machine)return e.normal===t.machine||e.machine===t.machine||e.root===t.machine;if(void 0!==t.sense)return e.sense===t.sense;if(void 0!==t.fastOr){if(t.pos&&!e.tags.has(t.pos))return null;let n=e.root||e.implicit||e.machine||e.normal;return t.fastOr.has(n)||t.fastOr.has(e.text)}return void 0!==t.choices&&("and"===t.operator?t.choices.every((t=>Jt(e,t,n,r))):t.choices.some((t=>Jt(e,t,n,r))))}(e,t,n,r);return!0===t.negative?!a:a};var Wt=Jt;const Kt=function(e,t){if(!0===e.end&&!0===e.greedy&&t.start_i+t.tn.max)return e.t=e.t+n.max,!0;if(!0===e.hasGroup){qt(e,e.t).length=r-e.t}return e.t=r,!0};const Qt=function(e,t=0){let n=e.regs[e.r],r=!1;for(let o=0;o{let a=0,o=e.t+r+t+a;if(void 0===e.terms[o])return!1;let i=Wt(e.terms[o],n,o+e.start_i,e.phrase_length);if(!0===i&&!0===n.greedy)for(let t=1;t{let r=n.every(((t,n)=>{let r=e.t+n;return void 0!==e.terms[r]&&Wt(e.terms[r],t,r,e.phrase_length)}));return!0===r&&n.length>t&&(t=n.length),r}))&&t}(e);if(r){if(!0===n.negative)return null;if(!0===e.hasGroup){qt(e,e.t).length+=r}if(!0===n.end){let t=e.phrase_length-1;if(e.t+e.start_i!==t)return null}return e.t+=r,!0}return!!n.optional||null};var Xt=function(e,t,n){let r=0;for(let a=e.t;ar)&&(e.t+=r,!0))};var Zt=function(e){const{regs:t}=e;let n=t[e.r],r=Object.assign({},n);if(r.negative=!1,Wt(e.terms[e.t],r,e.start_i+e.t,e.phrase_length))return!1;if(n.optional){let n=t[e.r+1];if(n){if(Wt(e.terms[e.t],n,e.start_i+e.t,e.phrase_length))e.r+=1;else if(n.optional&&t[e.r+2]){Wt(e.terms[e.t],t[e.r+2],e.start_i+e.t,e.phrase_length)&&(e.r+=2)}}}return n.greedy?Xt(e,r,t[e.r+1]):(e.t+=1,!0)};var Yt=function(e){const{regs:t}=e;let n=t[e.r],r=e.terms[e.t],a=Wt(r,t[e.r+1],e.start_i+e.t,e.phrase_length);if(n.negative||a){let n=e.terms[e.t+1];n&&Wt(n,t[e.r+1],e.start_i+e.t,e.phrase_length)||(e.r+=1)}};var en=function(e){const{regs:t,phrase_length:n}=e;let r=t[e.r];return e.t=function(e,t){let n=Object.assign({},e.regs[e.r],{start:!1,end:!1}),r=e.t;for(;e.te.t?null:!0!==r.end||e.start_i+e.t===n||null};var tn=function(e){let t=e.terms[e.t],n=e.regs[e.r];if(t.implicit&&e.terms[e.t+1]){if(!e.terms[e.t+1].implicit)return;n.word===t.normal&&(e.t+=1),"hasContraction"===n.method&&(e.t+=1)}};var nn=function(e){const{regs:t}=e;let n=t[e.r],r=e.terms[e.t],a=e.t;if(n.optional&&t[e.r+1]&&n.negative)return!0;if(n.optional&&t[e.r+1]&&Yt(e),r.implicit&&e.terms[e.t+1]&&tn(e),e.t+=1,!0===n.end&&e.t!==e.terms.length&&!0!==n.greedy)return null;if(!0===n.greedy){if(!en(e))return null}return!0===e.hasGroup&&function(e,t){let n=e.regs[e.r];const r=qt(e,t);e.t>1&&n.greedy?r.length+=e.t-t:r.length++}(e,a),!0};var rn=function(e,t,n,r){if(0===e.length||0===t.length)return null;let a={t:0,terms:e,r:0,regs:t,groups:{},start_i:n,phrase_length:r,inGroup:null};for(;a.r!e.optional)))break;return null}if(!0!==e.anything||!0!==e.greedy)if(void 0===e.choices||"or"!==e.operator)if(void 0===e.choices||"and"!==e.operator)if(!0!==e.anything)if(!0!==Kt(e,a))if(e.negative){if(!Zt(a))return null}else if(!0!==Wt(a.terms[a.t],e,a.start_i+a.t,a.phrase_length)){if(!0!==e.optional)return null}else{if(!nn(a))return null}else{if(!nn(a))return null}else{if(e.negative&&e.anything)return null;if(!nn(a))return null}else{if(!_t(a))return null}else{if(!Rt(a))return null}else{if(!Ut(a))return null}}let o=[null,n,a.t+n];if(o[1]===o[2])return null;let i={};return Object.keys(a.groups).forEach((e=>{let t=a.groups[e],r=n+t.start;i[e]=[null,r,r+t.length]})),{pointer:o,groups:i}};var an=function(e,t){let n=[],r={};return 0===e.length||("number"==typeof t&&(t=String(t)),t?e.forEach((e=>{e.groups[t]&&n.push(e.groups[t])})):e.forEach((e=>{n.push(e.pointer),Object.keys(e.groups).forEach((t=>{r[t]=r[t]||[],r[t].push(e.groups[t])}))}))),{ptrs:n,byGroup:r}};var on=function(e,t,n){return e=e.filter((e=>{let[r,a,o]=e.pointer,i=n[r].slice(a,o);for(let e=0;e{e.groups[n][0]=t})),e},ln=function(e,t,n){let r=rn(e,t,0,e.length);return r?(r=sn(r,n),r):null};var un=function(e,t,n){n=n||[];let{regs:r,group:a,justOne:o}=t,i=[];if(!r||0===r.length)return{ptrs:[],byGroup:{}};const s=r.filter((e=>!0!==e.optional&&!0!==e.negative)).length;e:for(let t=0;te&&(e=Math.abs(n-1))}}else{let e=ln(a,r,t);e&&i.push(e)}}return!0===r[r.length-1].end&&(i=i.filter((t=>{let n=t.pointer[0];return e[n].length===t.pointer[2]}))),t.notIf&&(i=on(i,t.notIf,e)),i=an(i,a),i.ptrs.forEach((t=>{let[n,r,a]=t;t[3]=e[n][r].id,t[4]=e[n][a-1].id})),i};var cn={api:it,methods:{one:{termMethods:Ht,parseMatch:Ct,match:un}},lib:{parseMatch:function(e,t){const n=this.world();let r=n.methods.one.killUnicode;return r&&(e=r(e,n)),n.methods.one.parseMatch(e,t,n)}}};const hn=/^\../,dn=/^#./,gn=function(e,t){let n={},r={};return Object.keys(t).forEach((a=>{let o=t[a],i=function(e){let t="",n="";return e=e.replace(/&/g,"&").replace(//g,">").replace(/"/g,""").replace(/'/g,"'"),hn.test(e)?t=``),t+=">",{start:t,end:n}}(a);"string"==typeof o&&(o=e.match(o)),o.docs.forEach((e=>{if(e.every((e=>e.implicit)))return;let t=e[0].id;n[t]=n[t]||[],n[t].push(i.start);let a=e[e.length-1].id;r[a]=r[a]||[],r[a].push(i.end)}))})),{starts:n,ends:r}};var mn={html:function(e){let{starts:t,ends:n}=gn(this,e),r="";return this.docs.forEach((e=>{for(let a=0;a{let n=e.pre||"",a=e.post||"";"some"===t.punctuation&&(n=n.replace(fn,""),bn.test(a)&&(a=" "),a=a.replace(vn,""),a=a.replace(/\?!+/,"?"),a=a.replace(/!+/,"!"),a=a.replace(/\?+/,"?"),a=a.replace(/\.{2,}/,""),e.tags.has("Abbreviation")&&(a=a.replace(/\./,""))),"some"===t.whitespace&&(n=n.replace(/\s/,""),a=a.replace(/\s+/," ")),t.keepPunct||(n=n.replace(fn,""),a="-"===a?" ":a.replace(pn,""));let o=e[t.form||"text"]||e.normal||"";"implicit"===t.form&&(o=e.implicit||e.text),"root"===t.form&&e.implicit&&(o=e.root||e.implicit||e.normal),"machine"!==t.form&&"implicit"!==t.form&&"root"!==t.form||!e.implicit||a&&yn.test(a)||(a+=" "),r+=n+o+a})),!1===n&&(r=r.trim()),!0===t.lowerCase&&(r=r.toLowerCase()),r},kn={text:{form:"text"},normal:{whitespace:"some",punctuation:"some",case:"some",unicode:"some",form:"normal"},machine:{keepSpace:!1,whitespace:"some",punctuation:"some",case:"none",unicode:"some",form:"machine"},root:{keepSpace:!1,whitespace:"some",punctuation:"some",case:"some",unicode:"some",form:"root"},implicit:{form:"implicit"}};kn.clean=kn.normal,kn.reduced=kn.root;var Pn=kn;let An=[],In=0;for(;In<64;)An[In]=0|4294967296*Math.sin(++In%Math.PI);function Nn(e){let t,n,r,a=[t=1732584193,n=4023233417,~t,~n],o=[],i=decodeURI(encodeURI(e))+"€",s=i.length;for(e=--s/4+2|15,o[--e]=8*s;~s;)o[s>>2]|=i.charCodeAt(s)<<8*s--;for(In=i=0;In>4]+An[i]+~~o[In|15&[i,5*i+1,3*i+5,7*i][s]])<<(s=[7,12,17,22,5,9,14,20,4,11,16,23,6,10,15,21][4*s+i++%4])|r>>>-s),t,n])t=0|s[1],n=s[2];for(i=4;i;)a[--i]+=s[i]}for(e="";i<32;)e+=(a[i>>3]>>4*(1^i++)&15).toString(16);return e}const jn={text:!0,terms:!0};let En={case:"none",unicode:"some",form:"machine",punctuation:"some"};const xn=function(e,t){return Object.assign({},e,t)},Dn={text:e=>wn(e,{keepPunct:!0},!1),normal:e=>wn(e,xn(Pn.normal,{keepPunct:!0}),!1),implicit:e=>wn(e,xn(Pn.implicit,{keepPunct:!0}),!1),machine:e=>wn(e,En,!1),root:e=>wn(e,xn(En,{form:"root"}),!1),hash:e=>Nn(wn(e,{keepPunct:!0},!1)),offset:e=>{let t=Dn.text(e).length;return{index:e[0].offset.index,start:e[0].offset.start,length:t}},terms:e=>e.map((e=>{let t=Object.assign({},e);return t.tags=Array.from(e.tags),t})),confidence:(e,t,n)=>t.eq(n).confidence(),syllables:(e,t,n)=>t.eq(n).syllables(),sentence:(e,t,n)=>t.eq(n).fullSentence().text(),dirty:e=>e.some((e=>!0===e.dirty))};Dn.sentences=Dn.sentence,Dn.clean=Dn.normal,Dn.reduced=Dn.root;const Tn={json:function(e){let t=(n=this,"string"==typeof(r=(r=e)||{})&&(r={}),(r=Object.assign({},jn,r)).offset&&n.compute("offset"),n.docs.map(((e,t)=>{let a={};return Object.keys(r).forEach((o=>{r[o]&&Dn[o]&&(a[o]=Dn[o](e,n,t))})),a})));var n,r;return"number"==typeof e?t[e]:t}};Tn.data=Tn.json;var Cn=Tn;var On=function(e){console.log("%c -=-=- ","background-color:#6699cc;"),e.forEach((e=>{console.groupCollapsed(e.text());let t=e.docs[0].map((e=>{let t=e.text||"-";return e.implicit&&(t="["+e.implicit+"]"),{text:t,tags:"["+Array.from(e.tags).join(", ")+"]"}}));console.table(t,["text","tags"]),console.groupEnd()}))};const Fn="";var Vn={green:e=>""+e+Fn,red:e=>""+e+Fn,blue:e=>""+e+Fn,magenta:e=>""+e+Fn,cyan:e=>""+e+Fn,yellow:e=>""+e+Fn,black:e=>""+e+Fn,dim:e=>""+e+Fn,i:e=>""+e+Fn};var Gn=function(e){let{docs:t,model:n}=e;0===t.length&&console.log(Vn.blue("\n ──────")),t.forEach((t=>{console.log(Vn.blue("\n ┌─────────")),t.forEach((t=>{let r=[...t.tags||[]],a=t.text||"-";t.sense&&(a=`{${t.normal}/${t.sense}}`),t.implicit&&(a="["+t.implicit+"]"),a=Vn.yellow(a);let o="'"+a+"'";if(t.reference){let n=e.update([t.reference]).text("normal");o+=` - ${Vn.dim(Vn.i("["+n+"]"))}`}o=o.padEnd(18);let i=Vn.blue(" │ ")+Vn.i(o)+" - "+function(e,t){return t.one.tagSet&&(e=e.map((e=>{if(!t.one.tagSet.hasOwnProperty(e))return e;const n=t.one.tagSet[e].color||"blue";return Vn[n](e)}))),e.join(", ")}(r,n);console.log(i)}))}))};var zn=function(e){let{docs:t}=e;console.log(""),t.forEach((e=>{let t=[];e.forEach((e=>{"Noun"===e.chunk?t.push(Vn.blue(e.implicit||e.normal)):"Verb"===e.chunk?t.push(Vn.green(e.implicit||e.normal)):"Adjective"===e.chunk?t.push(Vn.yellow(e.implicit||e.normal)):"Pivot"===e.chunk?t.push(Vn.red(e.implicit||e.normal)):t.push(e.implicit||e.normal)})),console.log(t.join(" "),"\n")}))};var Ln=function(e){if(!e.found)return;let t={};e.fullPointer.forEach((e=>{t[e[0]]=t[e[0]]||[],t[e[0]].push(e)})),Object.keys(t).forEach((n=>{let r=e.update([[Number(n)]]).text();e.update(t[n]).json({offset:!0}).forEach(((e,t)=>{r=function(e,t,n){let r=((e,t,n)=>{let r=9*n,a=t.start+r,o=a+t.length;return[e.substring(0,a),e.substring(a,o),e.substring(o,e.length)]})(e,t,n);return`${r[0]}${Vn.blue(r[1])}${r[2]}`}(r,e.offset,t)})),console.log(r)}))};var $n=function(e={}){let t=this;if("string"==typeof e){let t={};t[e]=!0,e=t}return"undefined"!=typeof window&&window.document?(On(t),t):(!1!==e.tags&&(Gn(t),console.log("\n")),!0===e.chunks&&(zn(t),console.log("\n")),!0===e.highlight&&(Ln(t),console.log("\n")),t)};const Sn=function(e){let t=e.pre||"",n=e.post||"";return t+e.text+n};var Mn=function(e,t){let n=function(e,t){let n={};return Object.keys(t).forEach((r=>{e.match(r).fullPointer.forEach((e=>{n[e[3]]={fn:t[r],end:e[2]}}))})),n}(e,t),r="";return e.docs.forEach(((t,a)=>{for(let o=0;oe.reduce(((e,t)=>e+t.pre+t.text+t.post),"").trim()));return e.filter((e=>e))}if("freq"===e||"frequency"===e||"topk"===e)return function(e){let t={};e.forEach((e=>{t[e]=t[e]||0,t[e]+=1}));let n=Object.keys(t).map((e=>({normal:e,count:t[e]})));return n.sort(((e,t)=>e.count>t.count?-1:0))}(this.json({normal:!0}).map((e=>e.normal)));if("terms"===e){let e=[];return this.docs.forEach((t=>{let n=t.terms.map((e=>e.text));n=n.filter((e=>e)),e=e.concat(n)})),e}return"tags"===e?this.docs.map((e=>e.reduce(((e,t)=>(e[t.implicit||t.normal]=Array.from(t.tags),e)),{}))):"debug"===e?this.debug():this.text()},wrap:function(e){return Mn(this,e)}};var Hn=Bn;var Jn={text:function(e){let t={};var n;if(e&&"string"==typeof e&&Pn.hasOwnProperty(e)?t=Object.assign({},Pn[e]):e&&(n=e,"[object Object]"===Object.prototype.toString.call(n))&&(t=Object.assign({},e)),void 0!==t.keepSpace||this.isFull()||(t.keepSpace=!1),void 0===t.keepEndPunct&&this.pointer){let e=this.pointer[0];e&&e[1]?t.keepEndPunct=!1:t.keepEndPunct=!0}return void 0===t.keepPunct&&(t.keepPunct=!0),void 0===t.keepSpace&&(t.keepSpace=!0),function(e,t){let n="";if(!e||!e[0]||!e[0][0])return n;for(let r=0;ra||a<=n&&o>n},Qn=function(e){let t={};return e.forEach((e=>{t[e[0]]=t[e[0]]||[],t[e[0]].push(e)})),t};var Rn=function(e,t){let n=Qn(t),r=[];return e.forEach((e=>{let[t]=e,a=n[t]||[];if(a=a.filter((t=>function(e,t){return e[1]<=t[1]&&t[2]<=e[2]}(e,t))),0===a.length)return void r.push({passthrough:e});a=a.sort(((e,t)=>e[1]-t[1]));let o=e;a.forEach(((e,t)=>{let n=function(e,t){let[n,r]=e,a=t[1],o=t[2],i={};if(ro&&(i.after=[n,o,e[2]]),i}(o,e);a[t+1]?(r.push({before:n.before,match:n.match}),n.after&&(o=n.after)):r.push(n)}))})),r};var _n=function(e,t){let n=[];return e.forEach(((r,a)=>{if(!r)return;let[o,i,s,l,u]=r,c=t[o]||[];if(void 0===i&&(i=0),void 0===s&&(s=c.length),!l||c[i]&&c[i].id===l)c=c.slice(i,s);else{let n=function(e,t,n){for(let r=0;r<20;r+=1){if(t[n-r]){let a=t[n-r].findIndex((t=>t.id===e));if(-1!==a)return[n-r,a]}if(t[n+r]){let a=t[n+r].findIndex((t=>t.id===e));if(-1!==a)return[n+r,a]}}return null}(l,t,o);if(null!==n){let r=s-i;c=t[n[0]].slice(n[1],n[1]+r);let o=c[0]?c[0].id:null;e[a]=[n[0],n[1],n[1]+r,o]}}0!==c.length&&i!==s&&(u&&c[c.length-1].id!==u&&(c=function(e,t){let[n,r,,,a]=e,o=t[n],i=o.findIndex((e=>e.id===a));return-1===i?(e[2]=t[n].length,e[4]=o.length?o[o.length-1].id:null):e[2]=i,t[n].slice(r,e[2]+1)}(r,t)),n.push(c))})),n=n.filter((e=>e.length>0)),n};var Xn={one:{termList:function(e){let t=[];for(let n=0;n{let[t]=e;if(1===r[t].length)return void a.push(e);let n=r[t].filter((t=>Un(e,t)));n.push(e);let o=function(e){let t=e[0][1],n=e[0][2];return e.forEach((e=>{e[1]n&&(n=e[2])})),[e[0][0],t,n]}(n);a.push(o)})),a=function(e){let t={};for(let n=0;n{e.passthrough&&n.push(e.passthrough),e.before&&n.push(e.before),e.after&&n.push(e.after)})),n};var er=function(e,t){let n=Qn(t),r=[];return e.forEach((e=>{let t=n[e[0]]||[];t=t.filter((t=>Un(e,t))),0!==t.length&&t.forEach((t=>{let n=function(e,t){let n=e[1]t[2]?t[2]:e[2];return n{return"string"==typeof e||(n=e,"[object Array]"===Object.prototype.toString.call(n))?t.match(e):e||t.none();var n},nr=function(e,t){return e.map((e=>{let[n,r]=e;return t[n]&&t[n][r]&&(e[3]=t[n][r].id),e}))},rr={union:function(e){e=tr(e,this);let t=Zn(this.fullPointer,e.fullPointer);return t=nr(t,this.document),this.toView(t)}};rr.and=rr.union,rr.intersection=function(e){e=tr(e,this);let t=er(this.fullPointer,e.fullPointer);return t=nr(t,this.document),this.toView(t)},rr.not=function(e){e=tr(e,this);let t=Yn(this.fullPointer,e.fullPointer);return t=nr(t,this.document),this.toView(t)},rr.difference=rr.not,rr.complement=function(){let e=this.all(),t=Yn(e.fullPointer,this.fullPointer);return t=nr(t,this.document),this.toView(t)},rr.settle=function(){let e=this.fullPointer;return e.forEach((t=>{e=Zn(e,[t])})),e=nr(e,this.document),this.update(e)};var ar=function(e){Object.assign(e.prototype,rr)},or={methods:Xn,api:ar};var ir=function(e){e.prototype.sweep=function(e,t={}){const{world:n,docs:r}=this,{methods:a}=n;let o=a.one.bulkMatch(r,e,this.methods,t);!1!==t.tagger&&a.one.bulkTagger(o,r,this.world),o=o.map((e=>{let t=e.pointer,n=r[t[0]][t[1]],a=t[2]-t[1];return n.index&&(e.pointer=[n.index[0],n.index[1],t[1]+a]),e}));let i=o.map((e=>e.pointer));return o=o.map((e=>(e.view=this.update([e.pointer]),delete e.regs,delete e.needs,delete e.pointer,delete e._expanded,e))),{view:this.update(i),found:o}}};const sr=function(e){return!0===e.optional||!0===e.negative?null:e.tag?"#"+e.tag:e.word?e.word:e.switch?`%${e.switch}%`:null};var lr=function(e,t){const n=t.methods.one.parseMatch;return e.forEach((e=>{e.regs=n(e.match,{},t),"string"==typeof e.ifNo&&(e.ifNo=[e.ifNo]),e.notIf&&(e.notIf=n(e.notIf,{},t)),e.needs=function(e){let t=[];return e.forEach((e=>{t.push(sr(e)),"and"===e.operator&&e.choices&&e.choices.forEach((e=>{e.forEach((e=>{t.push(sr(e))}))}))})),t.filter((e=>e))}(e.regs);let{wants:r,count:a}=function(e){let t=[],n=0;return e.forEach((e=>{"or"!==e.operator||e.optional||e.negative||(e.fastOr&&Array.from(e.fastOr).forEach((e=>{t.push(e)})),e.choices&&e.choices.forEach((e=>{e.forEach((e=>{let n=sr(e);n&&t.push(n)}))})),n+=1)})),{wants:t,count:n}}(e.regs);e.wants=r,e.minWant=a,e.minWords=e.regs.filter((e=>!e.optional)).length})),e};var ur=function(e,t){e=lr(e,t);let n={};e.forEach((e=>{e.needs.forEach((t=>{n[t]=n[t]||[],n[t].push(e)})),e.wants.forEach((t=>{n[t]=n[t]||[],n[t].push(e)}))})),Object.keys(n).forEach((e=>{let t={};n[e]=n[e].filter((e=>!t[e.match]&&(t[e.match]=!0,!0)))}));let r=e.filter((e=>0===e.needs.length&&0===e.wants.length));return{hooks:n,always:r}};var cr=function(e,t){return e.map(((n,r)=>{let a=[];Object.keys(t).forEach((n=>{e[r].has(n)&&(a=a.concat(t[n]))}));let o={};return a=a.filter((e=>!o[e.match]&&(o[e.match]=!0,!0))),a}))};var hr=function(e,t){return e.map(((e,n)=>{let r=t[n];return e=(e=(e=e.filter((e=>e.needs.every((e=>r.has(e)))))).filter((e=>void 0===e.ifNo||!0!==e.ifNo.some((e=>r.has(e)))))).filter((e=>{if(0===e.wants.length)return!0;return e.wants.filter((e=>r.has(e))).length>=e.minWant}))}))};var dr=function(e,t,n,r,a){let o=[];for(let n=0;n0&&(l.ptrs.forEach((e=>{e[0]=n;let t=Object.assign({},s,{pointer:e});void 0!==s.unTag&&(t.unTag=s.unTag),o.push(t)})),!0===a.matchOne))return[o[0]]}return o};var gr=function(e,t,n,r={}){let a=n.one.cacheDoc(e),o=cr(a,t.hooks);return o=hr(o,a),t.always.length>0&&(o=o.map((e=>e.concat(t.always)))),o=function(e,t){return e.map(((e,n)=>{let r=t[n].length;return e=e.filter((e=>r>=e.minWords)),e}))}(o,e),dr(o,e,a,n,r)};var mr=function(e,t,n){let r=n.one.tagSet;if(!r.hasOwnProperty(t))return!0;let a=r[t].not||[];for(let t=0;t{if(!e.tag&&!e.chunk&&!e.unTag)return;let a=e.reason||e.match,u=o([e.pointer],t)[0];if(!0===e.safe){if(!1===mr(u,e.tag,r))return;if("-"===u[u.length-1].post)return}if(void 0!==e.tag&&(i(u,e.tag,n,e.safe,`[post] '${a}'`),"Noun"===e.tag&&l)){let t=u[u.length-1];l(t.text)?i([t],"Plural",n,e.safe,"quick-plural"):i([t],"Singular",n,e.safe,"quick-singular")}void 0!==e.unTag&&s(u,e.unTag,n,e.safe,a),e.chunk&&u.forEach((t=>t.chunk=e.chunk))}))},fr={lib:{buildNet:function(e){let t=this.methods().one.buildNet(e,this.world());return t.isNet=!0,t}},api:ir,methods:{one:{buildNet:ur,bulkMatch:gr,bulkTagger:pr}}};const vr=/ /,br=function(e,t){"Noun"===t&&(e.chunk=t),"Verb"===t&&(e.chunk=t)},yr=function(e,t,n,r){if(!0===e.tags.has(t))return null;if("."===t)return null;let a=n[t];if(a){if(a.not&&a.not.length>0)for(let t=0;t0)for(let t=0;t{let r=e.map((e=>e.text||"["+e.implicit+"]")).join(" ");var a;"string"!=typeof t&&t.length>2&&(t=t.slice(0,2).join(", #")+" +"),t="string"!=typeof t?t.join(", #"):t,console.log(` ${(a=r,""+a+"").padEnd(24)} → #${t.padEnd(22)} ${(e=>""+e+"")(n)}`)})(e,t,a),!0!=(s=t,"[object Array]"===Object.prototype.toString.call(s)))if("string"==typeof t)if(t=t.trim(),vr.test(t))!function(e,t,n,r){let a=t.split(vr);e.forEach(((e,t)=>{let o=a[t];o&&(o=o.replace(/^#/,""),yr(e,o,n,r))}))}(e,t,o,r);else{t=t.replace(/^#/,"");for(let n=0;nwr(e,t,n,r)))};var kr=wr;var Pr=function(e,t,n){t=t.trim().replace(/^#/,"");for(let r=0;r0)for(let e=0;e/),n=[];t.forEach((e=>{n=n.concat(function(e){if(!(e=e.trim()))return null;if(/^\[/.test(e)&&/\]$/.test(e)){let t=(e=(e=e.replace(/^\[/,"")).replace(/\]$/,"")).split(/,/);return t=t.map((e=>e.trim())).filter((e=>e)),t=t.map((e=>Ar({id:e}))),t}return[Ar({id:e})]}(e))})),n=n.filter((e=>e));let r=n[0];for(let e=1;e{let n=[],r=[e];for(;r.length>0;){let e=r.pop();n.push(e),e.children&&e.children.forEach((n=>{t&&t(e,n),r.push(n)}))}return n},Er=e=>"[object Array]"===Object.prototype.toString.call(e),xr=e=>(e=e||"").trim(),Dr=function(e=[]){return"string"==typeof e?function(e){let t=e.split(/\r?\n/),n=[];t.forEach((e=>{if(!e.trim()||Ir.test(e))return;let t=(e=>{const t=/^( {2}|\t)/;let n=0;for(;t.test(e);)e=e.replace(t,""),n+=1;return n})(e);n.push({indent:t,node:Nr(e)})}));let r=function(e){let t={children:[]};return e.forEach(((n,r)=>{0===n.indent?t.children=t.children.concat(n.node):e[r-1]&&function(e,t){let n=e[t].indent;for(;t>=0;t-=1)if(e[t].indent{t[e.id]=e}));let n=Ar({});return e.forEach((e=>{if((e=Ar(e)).parent)if(t.hasOwnProperty(e.parent)){let n=t[e.parent];delete e.parent,n.children.push(e)}else console.warn(`[Grad] - missing node '${e.parent}'`);else n.children.push(e)})),n}(e):(jr(t=e).forEach(Ar),t);var t},Tr=function(e,t){let n="-> ";t&&(n=(e=>""+e+"")("→ "));let r="";return jr(e).forEach(((e,a)=>{let o=e.id||"";if(t&&(o=(e=>""+e+"")(o)),0===a&&!e.id)return;let i=e._cache.parents.length;r+=" ".repeat(i)+n+o+"\n"})),r},Cr=function(e){let t=jr(e);t.forEach((e=>{delete(e=Object.assign({},e)).children}));let n=t[0];return n&&!n.id&&0===Object.keys(n.props).length&&t.shift(),t},Or={text:Tr,txt:Tr,array:Cr,flat:Cr},Fr=function(e,t){return"nested"===t||"json"===t?e:"debug"===t?(console.log(Tr(e,!0)),null):Or.hasOwnProperty(t)?Or[t](e):e},Vr=e=>{jr(e,((e,t)=>{e.id&&(e._cache.parents=e._cache.parents||[],t._cache.parents=e._cache.parents.concat([e.id]))}))},Gr=/\//;let zr=class g{constructor(e={}){Object.defineProperty(this,"json",{enumerable:!1,value:e,writable:!0})}get children(){return this.json.children}get id(){return this.json.id}get found(){return this.json.id||this.json.children.length>0}props(e={}){let t=this.json.props||{};return"string"==typeof e&&(t[e]=!0),this.json.props=Object.assign(t,e),this}get(e){if(e=xr(e),!Gr.test(e)){let t=this.json.children.find((t=>t.id===e));return new g(t)}let t=((e,t)=>{let n=(e=>"string"!=typeof e?e:(e=e.replace(/^\//,"")).split(/\//))(t=t||"");for(let t=0;te.id===n[t]));if(!r)return null;e=r}return e})(this.json,e)||Ar({});return new g(t)}add(e,t={}){if(Er(e))return e.forEach((e=>this.add(xr(e),t))),this;e=xr(e);let n=Ar({id:e,props:t});return this.json.children.push(n),new g(n)}remove(e){return e=xr(e),this.json.children=this.json.children.filter((t=>t.id!==e)),this}nodes(){return jr(this.json).map((e=>(delete(e=Object.assign({},e)).children,e)))}cache(){return(e=>{let t=jr(e,((e,t)=>{e.id&&(e._cache.parents=e._cache.parents||[],e._cache.children=e._cache.children||[],t._cache.parents=e._cache.parents.concat([e.id]))})),n={};t.forEach((e=>{e.id&&(n[e.id]=e)})),t.forEach((e=>{e._cache.parents.forEach((t=>{n.hasOwnProperty(t)&&n[t]._cache.children.push(e.id)}))})),e._cache.children=Object.keys(n)})(this.json),this}list(){return jr(this.json)}fillDown(){var e;return e=this.json,jr(e,((e,t)=>{t.props=((e,t)=>(Object.keys(t).forEach((n=>{if(t[n]instanceof Set){let r=e[n]||new Set;e[n]=new Set([...r,...t[n]])}else if((e=>e&&"object"==typeof e&&!Array.isArray(e))(t[n])){let r=e[n]||{};e[n]=Object.assign({},t[n],r)}else Er(t[n])?e[n]=t[n].concat(e[n]||[]):void 0===e[n]&&(e[n]=t[n])})),e))(t.props,e.props)})),this}depth(){Vr(this.json);let e=jr(this.json),t=e.length>1?1:0;return e.forEach((e=>{if(0===e._cache.parents.length)return;let n=e._cache.parents.length+1;n>t&&(t=n)})),t}out(e){return Vr(this.json),Fr(this.json,e)}debug(){return Vr(this.json),Fr(this.json,"debug"),this}};const Lr=function(e){let t=Dr(e);return new zr(t)};Lr.prototype.plugin=function(e){e(this)};var $r={Noun:"blue",Verb:"green",Negative:"green",Date:"red",Value:"red",Adjective:"magenta",Preposition:"cyan",Conjunction:"cyan",Determiner:"cyan",Hyphenated:"cyan",Adverb:"cyan"};const Sr=function(e){if($r.hasOwnProperty(e.id))return $r[e.id];if($r.hasOwnProperty(e.is))return $r[e.is];let t=e._cache.parents.find((e=>$r[e]));return $r[t]};var Mr=function(e){const t={};return e.forEach((e=>{let{not:n,also:r,is:a,novel:o}=e.props,i=e._cache.parents;r&&(i=i.concat(r)),t[e.id]={is:a,not:n,novel:o,also:r,parents:i,children:e._cache.children,color:Sr(e)}})),Object.keys(t).forEach((e=>{let n=new Set(t[e].not);t[e].not.forEach((e=>{t[e]&&t[e].children.forEach((e=>n.add(e)))})),t[e].not=Array.from(n)})),t};const Br=function(e){return e?"string"==typeof e?[e]:e:[]};var Hr=function(e,t){return e=function(e,t){return Object.keys(e).forEach((n=>{e[n].isA&&(e[n].is=e[n].isA),e[n].notA&&(e[n].not=e[n].notA),e[n].is&&"string"==typeof e[n].is&&(t.hasOwnProperty(e[n].is)||e.hasOwnProperty(e[n].is)||(e[e[n].is]={})),e[n].not&&"string"==typeof e[n].not&&!e.hasOwnProperty(e[n].not)&&(t.hasOwnProperty(e[n].not)||e.hasOwnProperty(e[n].not)||(e[e[n].not]={}))})),e}(e,t),Object.keys(e).forEach((t=>{e[t].children=Br(e[t].children),e[t].not=Br(e[t].not)})),Object.keys(e).forEach((t=>{(e[t].not||[]).forEach((n=>{e[n]&&e[n].not&&e[n].not.push(t)}))})),e};var Jr=function(e,t){Object.keys(t).length>0&&(e=function(e){return Object.keys(e).forEach((t=>{e[t]=Object.assign({},e[t]),e[t].novel=!0})),e}(e)),e=Hr(e,t);const n=function(e){const t=Object.keys(e).map((t=>{let n=e[t];const r={not:new Set(n.not),also:n.also,is:n.is,novel:n.novel};return{id:t,parent:n.is,props:r,children:[]}}));return Lr(t).cache().fillDown().out("array")}(Object.assign({},t,e));return Mr(n)},Wr={one:{setTag:kr,unTag:Pr,addTags:Jr}};const Kr=function(e){return"[object Array]"===Object.prototype.toString.call(e)},qr={tag:function(e,t="",n){if(!this.found||!e)return this;let r=this.termList();if(0===r.length)return this;const{methods:a,verbose:o,world:i}=this;return!0===o&&console.log(" + ",e,t||""),Kr(e)?e.forEach((e=>a.one.setTag(r,e,i,n,t))):a.one.setTag(r,e,i,n,t),this.uncache(),this},tagSafe:function(e,t=""){return this.tag(e,t,!0)},unTag:function(e,t){if(!this.found||!e)return this;let n=this.termList();if(0===n.length)return this;const{methods:r,verbose:a,model:o}=this;!0===a&&console.log(" - ",e,t||"");let i=o.one.tagSet;return Kr(e)?e.forEach((e=>r.one.unTag(n,e,i))):r.one.unTag(n,e,i),this.uncache(),this},canBe:function(e){e=e.replace(/^#/,"");let t=this.model.one.tagSet;if(!t.hasOwnProperty(e))return this;let n=t[e].not||[],r=[];this.document.forEach(((e,t)=>{e.forEach(((e,a)=>{n.find((t=>e.tags.has(t)))&&r.push([t,a,a+1])}))}));let a=this.update(r);return this.difference(a)}};var Ur=qr;var Qr=function(e){Object.assign(e.prototype,Ur)};var Rr={addTags:function(e){const{model:t,methods:n}=this.world(),r=t.one.tagSet;let a=(0,n.one.addTags)(e,r);return t.one.tagSet=a,this}};const _r=new Set(["Auxiliary","Possessive"]);var Xr=function(e){const{document:t,world:n}=e,r=n.model.one.tagSet;t.forEach((e=>{e.forEach((e=>{let t=Array.from(e.tags);e.tagRank=function(e,t){return e=e.sort(((e,n)=>{if(_r.has(e)||!t.hasOwnProperty(n))return 1;if(_r.has(n)||!t.hasOwnProperty(e))return-1;let r=t[e].children||[],a=r.length;return r=t[n].children||[],a-r.length})),e}(t,r)}))}))},Zr={model:{one:{tagSet:{}}},compute:{tagRank:Xr},methods:Wr,api:Qr,lib:Rr};const Yr=/([.!?\u203D\u2E18\u203C\u2047-\u2049\u3002]+\s)/g,ea=/^[.!?\u203D\u2E18\u203C\u2047-\u2049\u3002]+\s$/,ta=/((?:\r?\n|\r)+)/;var na=function(e){let t=[],n=e.split(ta);for(let e=0;e0&&(a.push(o),e[t]="")}return a};const sa={'"':'"',""":""","“":"”","‟":"”","„":"”","⹂":"”","‚":"’","«":"»","‹":"›","‵":"′","‶":"″","‷":"‴","〝":"〞","〟":"〞"},la=RegExp("["+Object.keys(sa).join("")+"]","g"),ua=RegExp("["+Object.values(sa).join("")+"]","g"),ca=function(e){if(!e)return!1;let t=e.match(ua);return null!==t&&1===t.length};var ha=function(e){let t=[];for(let n=0;n(e[t]=!0,e)),{});var Ea=function(e,t){let n=[],r=[];if("number"==typeof(e=e||"")&&(e=String(e)),function(e){return"[object Array]"===Object.prototype.toString.call(e)}(e))return e;const a=e.split(Na);for(let e=0;e0?(n[n.length-1]+=o,n.push(t)):n.push(o+t),o=""):o+=t}return o&&(0===n.length&&(n[0]=""),n[n.length-1]+=o),n=Pa(n),n=wa(n),n=n.filter((e=>e)),n};const xa=/\p{Letter}/u,Da=/[\p{Number}\p{Currency_Symbol}]/u,Ta=/^[a-z]\.([a-z]\.)+/i,Ca=/[sn]['’]$/;var Oa=function(e,t){let{prePunctuation:n,postPunctuation:r,emoticons:a}=t.one,o=e,i="",s="",l=Array.from(e);if(a.hasOwnProperty(e.trim()))return{str:e.trim(),pre:i,post:" "};let u=l.length;for(let e=0;e(s=e||"",""))),e=o,i=""),{str:e,pre:i,post:s}};var Fa=(e,t)=>{let{str:n,pre:r,post:a}=Oa(e,t);return{text:n,pre:r,post:a,tags:new Set}};var Va=function(e,t){const n=t.model.one.unicode||{};let r=(e=e||"").split("");return r.forEach(((e,t)=>{n[e]&&(r[t]=n[e])})),r.join("")};var Ga=function(e){let t=e=(e=(e=e||"").toLowerCase()).trim();return e=(e=(e=e.replace(/[,;.!?]+$/,"")).replace(/\u2026/g,"...")).replace(/\u2013/g,"-"),!1===/^[:;]/.test(e)&&(e=(e=(e=e.replace(/\.{3,}$/g,"")).replace(/[",.!:;?)]+$/g,"")).replace(/^['"(]+/g,"")),""===(e=(e=e.replace(/[\u200B-\u200D\uFEFF]/g,"")).trim())&&(e=t),e=e.replace(/([0-9]),([0-9])/g,"$1$2")};const za=/([A-Z]\.)+[A-Z]?,?$/,La=/^[A-Z]\.,?$/,$a=/[A-Z]{2,}('s|,)?$/,Sa=/([a-z]\.)+[a-z]\.?$/;var Ma=function(e){return function(e){return!0===za.test(e)||!0===Sa.test(e)||!0===La.test(e)||!0===$a.test(e)}(e)&&(e=e.replace(/\./g,"")),e};var Ba=function(e,t){const n=t.methods.one.killUnicode;let r=e.text||"";r=Ga(r),r=n(r,t),r=Ma(r),e.normal=r};var Ha=function(e,t){const{methods:n,model:r}=t,{splitSentences:a,splitTerms:o,splitWhitespace:i}=n.one.tokenize;return e=a(e=e||"",t).map((e=>{let n=o(e,r);return n=n.map((e=>i(e,r))),n.forEach((e=>{Ba(e,t)})),n})),e};const Ja=/[ .][A-Z]\.? *$/i,Wa=/(?:\u2026|\.{2,}) *$/,Ka=/\p{L}/u,qa=/^[A-Z]\. $/;var Ua=function(e,t){if(!1===Ka.test(e))return!1;if(!0===Ja.test(e))return!1;if(3===e.length&&qa.test(e))return!1;if(!0===Wa.test(e))return!1;let n=e.replace(/[.!?\u203D\u2E18\u203C\u2047-\u2049] *$/,"").split(" "),r=n[n.length-1].toLowerCase();return!0!==t.hasOwnProperty(r)},Qa={one:{killUnicode:Va,tokenize:{splitSentences:va,isSentence:Ua,splitTerms:Ea,splitWhitespace:Fa,fromString:Ha}}};var Ra={"&":"and","@":"at","%":"percent",plz:"please",bein:"being"};let _a={},Xa={};[[["approx","apt","bc","cyn","eg","esp","est","etc","ex","exp","prob","pron","gal","min","pseud","fig","jd","lat","lng","vol","fm","def","misc","plz","ea","ps","sec","pt","pref","pl","pp","qt","fr","sq","nee","ss","tel","temp","vet","ver","fem","masc","eng","adj","vb","rb","inf","situ","vivo","vitro","wr"]],[["dl","ml","gal","qt","pt","tbl","tsp","tbsp","km","dm","cm","mm","mi","td","hr","hrs","kg","hg","dg","cg","mg","µg","lb","oz","sq ft","hz","mps","mph","kmph","kb","mb","tb","lx","lm","fl oz","yb"],"Unit"],[["ad","al","arc","ba","bl","ca","cca","col","corp","ft","fy","ie","lit","ma","md","pd","tce"],"Noun"],[["adj","adm","adv","asst","atty","bldg","brig","capt","cmdr","comdr","cpl","det","dr","esq","gen","gov","hon","jr","llb","lt","maj","messrs","mlle","mme","mr","mrs","ms","mstr","phd","prof","pvt","rep","reps","res","rev","sen","sens","sfc","sgt","sir","sr","supt","surg"],"Honorific"],[["jan","feb","mar","apr","jun","jul","aug","sep","sept","oct","nov","dec"],"Month"],[["dept","univ","assn","bros","inc","ltd","co"],"Organization"],[["rd","st","dist","mt","ave","blvd","cl","cres","hwy","ariz","cal","calif","colo","conn","fla","fl","ga","ida","ia","kan","kans","minn","neb","nebr","okla","penna","penn","pa","dak","tenn","tex","ut","vt","va","wis","wisc","wy","wyo","usafa","alta","ont","que","sask"],"Place"]].forEach((e=>{e[0].forEach((t=>{_a[t]=!0,Xa[t]="Abbreviation",void 0!==e[1]&&(Xa[t]=[Xa[t],e[1]])}))}));var Za=["anti","bi","co","contra","de","extra","infra","inter","intra","macro","micro","mis","mono","multi","peri","pre","pro","proto","pseudo","re","sub","supra","trans","tri","un","out","ex"].reduce(((e,t)=>(e[t]=!0,e)),{});let Ya={"!":"¡","?":"¿Ɂ",'"':'“”"❝❞',"'":"‘‛❛❜’","-":"—–",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:"ŹźŻżŽžƵƶȤȥɀΖ"},eo={};Object.keys(Ya).forEach((function(e){Ya[e].split("").forEach((function(t){eo[t]=e}))}));const to=/\//,no=/[a-z]\.[a-z]/i,ro=/[0-9]/;var ao=function(e,t){let n=e.normal||e.text||e.machine;const r=t.model.one.aliases;if(r.hasOwnProperty(n)&&(e.alias=e.alias||[],e.alias.push(r[n])),to.test(n)&&!no.test(n)&&!ro.test(n)){let t=n.split(to);t.length<=2&&t.forEach((t=>{""!==(t=t.trim())&&(e.alias=e.alias||[],e.alias.push(t))}))}return e};const oo=/^\p{Letter}+-\p{Letter}+$/u;var io=function(e){let t=e.implicit||e.normal||e.text;t=t.replace(/['’]s$/,""),t=t.replace(/s['’]$/,"s"),t=t.replace(/([aeiou][ktrp])in'$/,"$1ing"),oo.test(t)&&(t=t.replace(/-/g,"")),t=t.replace(/^[#@]/,""),t!==e.normal&&(e.machine=t)};var so=function(e){let t=e.docs,n={};for(let e=0;eho(e,ao),machine:e=>ho(e,io),normal:e=>ho(e,Ba),freq:so,offset:lo,index:uo,wordCount:co},methods:Qa,model:{one:{aliases:Ra,abbreviations:_a,prefixes:Za,suffixes:{like:!0,ish:!0,less:!0,able:!0,elect:!0,type:!0,designate:!0},prePunctuation:{"#":!0,"@":!0,_:!0,"°":!0,"​":!0,"‌":!0,"‍":!0,"\ufeff":!0},postPunctuation:{"%":!0,_:!0,"°":!0,"​":!0,"‌":!0,"‍":!0,"\ufeff":!0},lexicon:Xa,unicode:eo,emoticons:{"<3":!0,"{let i=(e=e.toLowerCase().trim()).length;t.max&&i>t.max&&(i=t.max);for(let s=t.min;s{delete r[e]})),r};const bo={safe:!0,min:3};var yo={typeahead:function(e=[],t={}){let n=this.model();var r;t=Object.assign({},bo,t),r=e,"[object Object]"===Object.prototype.toString.call(r)&&(Object.assign(n.one.lexicon,e),e=Object.keys(e));let a=vo(e,t,this.world());return Object.keys(a).forEach((e=>{n.one.typeahead.hasOwnProperty(e)?delete n.one.typeahead[e]:n.one.typeahead[e]=a[e]})),this}};var wo={model:{one:{typeahead:{}}},api:fo,lib:yo,compute:mo,hooks:["typeahead"]};v.extend(ee),v.extend(qn),v.extend(cn),v.extend(or),v.extend(Zr),v.plugin(De),v.extend(go),v.plugin(k),v.extend(Ke),v.extend(wo),v.extend(Le),v.extend(fr);var ko={addendum:"addenda",corpus:"corpora",criterion:"criteria",curriculum:"curricula",genus:"genera",memorandum:"memoranda",opus:"opera",ovum:"ova",phenomenon:"phenomena",referendum:"referenda",alga:"algae",alumna:"alumnae",antenna:"antennae",formula:"formulae",larva:"larvae",nebula:"nebulae",vertebra:"vertebrae",analysis:"analyses",axis:"axes",diagnosis:"diagnoses",parenthesis:"parentheses",prognosis:"prognoses",synopsis:"synopses",thesis:"theses",neurosis:"neuroses",appendix:"appendices",index:"indices",matrix:"matrices",ox:"oxen",sex:"sexes",alumnus:"alumni",bacillus:"bacilli",cactus:"cacti",fungus:"fungi",hippopotamus:"hippopotami",libretto:"libretti",modulus:"moduli",nucleus:"nuclei",octopus:"octopi",radius:"radii",stimulus:"stimuli",syllabus:"syllabi",cookie:"cookies",calorie:"calories",auntie:"aunties",movie:"movies",pie:"pies",rookie:"rookies",tie:"ties",zombie:"zombies",leaf:"leaves",loaf:"loaves",thief:"thieves",foot:"feet",goose:"geese",tooth:"teeth",beau:"beaux",chateau:"chateaux",tableau:"tableaux",bus:"buses",gas:"gases",circus:"circuses",crisis:"crises",virus:"viruses",database:"databases",excuse:"excuses",abuse:"abuses",avocado:"avocados",barracks:"barracks",child:"children",clothes:"clothes",echo:"echoes",embargo:"embargoes",epoch:"epochs",deer:"deer",halo:"halos",man:"men",woman:"women",mosquito:"mosquitoes",mouse:"mice",person:"people",quiz:"quizzes",rodeo:"rodeos",shoe:"shoes",sombrero:"sombreros",stomach:"stomachs",tornado:"tornados",tuxedo:"tuxedos",volcano:"volcanoes"},Po={Comparative:"true¦bett1f0;arth0ew0in0;er",Superlative:"true¦earlier",PresentTense:"true¦bests,sounds",Condition:"true¦lest,unless",PastTense:"true¦began,came,d4had,kneel3l2m0sa4we1;ea0sg2;nt;eap0i0;ed;id",Participle:"true¦0:0A;a07b02c00dXeat0fSgQhPoJprov0rHs7t6u4w1;ak0ithdra03o2r1;i03uZ;k0v0;nd1pr05;ergoJoJ;ak0hHo3;e9h7lain,o6p5t4un3w1;o1um;rn;g,k;ol0reT;iRok0;ught,wn;ak0o1ruL;ne,wn;en,wn;ewriOi1uK;dd0s0;ut3ver1;do4se0t1;ak0h2;do2g1;roH;ne;ast0i7;iv0o1;ne,tt0;all0loCor1;bi3g2s1;ak0e0;iv0oA;dd0;ove,r1;a6eamt,iv0u1;nk;hos0lu1;ng;e4i3lo2ui1;lt;wn;tt0;at0en,gun;r2w1;ak0ok0;is0;en",Gerund:"true¦accord0be0doin,go0result0stain0;ing",Expression:"true¦a0Xb0Tc0Rd0Ne0Lg0FhZjeez,lWmVnToNpKsItHuEvDw6y0;a4e3i1u0;ck,p;k04p0;ee,pee;ah,p,s;!a,y;a5h2o1t0;af,f;rd up,w;atsoever,e1o0;a,ops;e,w;hoo,t;ery wEoi0L;gh,h0;! 0h,m;huh,oh;here nQsk,ut tut;h0ic;eesh,hh,it,oo;ff,h1l0ow,sst;ease,s,z;ew,ooey;h1i,mg,o0uch,w,y;h,o,ps;! 0h;h1my go0w1;d,sh;ell;ah,evertheless,o0;!pe;eh,mm;ah,eh,m1ol0;!s;ao,fao;aCeBi9o2u0;h,mph,rra0zzC;h,y;l1o0;r6y9;la,y0;! 0;c1moCsmok0;es;ow;!p hip hoor0;ay;ck,e,llo,y;ha1i,lleluj0;ah;!ha;ah,ee4o1r0;eat scott,r;l1od0sh; grief,bye;ly;! whiz;e0h,t cetera,ww,xcuse me;k,p;'oh,a0rat,uh;m0ng;mit,n0;!it;mon,o0;ngratulations,wabunga;a2oo1r0tw,ye;avo,r;!ya;h,m; 1h0ka,las,men,rgh,ye;!a,em,h,oy;la",Negative:"true¦n0;ever,o0;n,t",QuestionWord:"true¦how3wh0;at,e1ich,o0y;!m,se;n,re; come,'s",Reflexive:"true¦h4it5my5o1the0your2;ir1m1;ne3ur0;sel0;f,ves;er0im0;self",Plural:"true¦dick0gre0ones,records;ens","Unit|Noun":"true¦cEfDgChBinchAk9lb,m6newt5oz,p4qt,t1y0;ardEd;able1b0ea1sp;!l,sp;spo1;a,t,x;on9;!b,g,i1l,m,p0;h,s;!les;!b,elvin,g,m;!es;g,z;al,b;eet,oot,t;m,up0;!s",Value:"true¦a few",Imperative:"true¦bewa0come he0;re","Plural|Verb":"true¦leaves",Demonym:"true¦0:15;1:12;a0Vb0Oc0Dd0Ce08f07g04h02iYjVkTlPmLnIomHpEqatari,rCs7t5u4v3welAz2;am0Gimbabwe0;enezuel0ietnam0I;gAkrai1;aiwTex0hai,rinida0Ju2;ni0Prkmen;a5cotti4e3ingapoOlovak,oma0Spaniard,udRw2y0W;ede,iss;negal0Cr09;sh;mo0uT;o5us0Jw2;and0;a2eru0Fhilippi0Nortugu07uerto r0S;kist3lesti1na2raguay0;ma1;ani;ami00i2orweP;caragu0geri2;an,en;a3ex0Lo2;ngo0Drocc0;cedo1la2;gasy,y07;a4eb9i2;b2thua1;e0Cy0;o,t01;azakh,eny0o2uwaiI;re0;a2orda1;ma0Ap2;anO;celandic,nd4r2sraeli,ta01vo05;a2iB;ni0qi;i0oneU;aiAin2ondur0unO;di;amEe2hanai0reek,uatemal0;or2rm0;gi0;ilipino,ren8;cuadoVgyp4mira3ngli2sto1thiopi0urope0;shm0;ti;ti0;aPominUut3;a9h6o4roat3ub0ze2;ch;!i0;lom2ngol5;bi0;a6i2;le0n2;ese;lifor1m2na3;bo2eroo1;di0;angladeshi,el6o4r3ul2;gaE;azi9it;li2s1;vi0;aru2gi0;si0;fAl7merBngol0r5si0us2;sie,tr2;a2i0;li0;genti2me1;ne;ba1ge2;ri0;ni0;gh0r2;ic0;an",Organization:"true¦0:4D;a3Gb2Yc2Ed26e22f1Xg1Ph1Ki1Hj1Fk1Dl18m0Wn0Jo0Gp09qu08r01sTtGuBv8w3xiaomi,y1;amaha,m13ou1w13;gov,tu2Z;a3e1orld trade organizati2S;lls fargo,st1;fie28inghou2I;l1rner br3I;gree37l street journ29m17;an halOeriz2Nisa,o1;dafo2Ol1;kswagMvo;b4kip,n2ps,s1;a tod2Yps;es3Ai1;lev33ted natio30;er,s; mobi2Qaco beQd bNeAgi frida9h3im horto2Ymz,o1witt31;shi3Xy1;ota,s r 00;e 1in lizzy;b3carpen37daily ma31guess w2holli0rolling st1Rs1w2;mashing pumpki2Tuprem0;ho;ea1lack eyed pe3Lyrds;ch bo1tl0;ys;l2n3Ds1xas instrumen1J;co,la m15;efoni0Cus;a7e4ieme2Lnp,o2pice gir5quare04ta1ubaru;rbucks,to2R;ny,undgard1;en;a2x pisto1;ls;g1Nrs;few2Ainsbury2QlesforYmsu22;.e.m.,adiohead,b6e3oyal 1yana30;b1dutch she4;ank;aders dige1Gd 1max,vl1R;bu1c1Zhot chili peppe2Nlobst2C;ll;c,s;ant30izno2I;a5bs,e3fiz28hilip morrCi2r1;emier2Audenti16;nk floyd,zza hut;psi2Btro1uge0A;br2Vchina,n2V;lant2Nn1yp12; 2ason20da2I;ld navy,pec,range juli2xf1;am;us;aAb9e6fl,h5i4o1sa,vid3wa;k2tre dame,vart1;is;ia;ke,ntendo,ss0L;l,s;c,st1Htflix,w1; 1sweek;kids on the block,york09;a,c;nd1Vs2t1;ional aca2Io,we0Q;a,cYd0O;aBcdonaldAe7i5lb,o3tv,y1;spa1;ce;b1Mnsanto,ody blu0t1;ley crue,or0O;crosoft,t1;as,subisM;dica2rcedes benz,talli1;ca;id,re;'s,s;c's milk,tt14z1Z;'ore08a3e1g,ittle caesa1K;novo,x1;is,mark; 1bour party;pres0Bz boy;atv,fc,kk,m1od1J;art;iffy lu0Moy divisi0Gpmorgan1sa;! cha07;bm,hop,n1tv;g,te1;l,rpol;asbro,ewlett pack1Ri3o1sbc,yundai;me dep1n1L;ot;tac1zbollah;hi;eneral 6hq,ithub,l5mb,o2reen d0Lu1;cci,ns n ros0;ldman sachs,o1;dye1g0E;ar;axo smith kli03encoV;electr0Km1;oto0W;a4bi,da,edex,i2leetwood mac,o1rito l0D;rd,xcX;at,nancial1restoY; tim0;cebook,nnie mae;b08sa,u3xxon1; m1m1;ob0H;!rosceptics;aiml0Be6isney,o4u1;nkin donu2po0Xran dur1;an;ts;j,w j1;on0;a,f lepp0Zll,peche mode,r spiegZstiny's chi1;ld;aIbc,hEiCloudflaBnn,o3r1;aigsli5eedence clearwater reviv1ossra06;al;ca c7inba6l4m1o0Bst06;ca2p1;aq;st;dplPg1;ate;se;ola;re;a,sco1tigroup;! systems;ev2i1;ck fil-a,na daily;r1y;on;dbury,pital o1rl's jr;ne;aEbc,eBf9l5mw,ni,o1p,rexiteeU;ei3mbardiIston 1;glo1pizza;be;ng;o2ue c1;roV;ckbuster video,omingda1;le; g1g1;oodriL;cht2e ge0rkshire hathaw1;ay;el;idu,nana republ3s1xt5y5;f,kin robbi1;ns;ic;bYcTdidSerosmith,iRlKmEnheuser-busDol,pple9r6s3utodesk,v2y1;er;is,on;hland1sociated F; o1;il;by4g2m1;co;os; compu2bee1;'s;te1;rs;ch;c,d,erican3t1;!r1;ak; ex1;pre1;ss; 5catel2ta1;ir;!-lu1;ce1;nt;jazeera,qae1;da;g,rbnb;as;/dc,a3er,tivision1;! blizz1;ard;demy of scienc0;es;ba",Possessive:"true¦its,my,our0thy;!s","Noun|Verb":"true¦0:9U;1:A8;2:94;3:A1;4:9P;5:A0;6:9I;7:8L;8:7J;9:A6;A:91;B:8V;C:8B;a9Mb8Oc7Gd6Pe6Ef5Qg5Gh54i4Wj4Tk4Ql4Em40n3Vo3Sp2Squ2Rr21s0Jt02u00vVwGyFzD;ip,oD;ne,om;awn,e6Die66;aOeMhJiHoErD;ap,e9Mink2;nd0rDuB;kDry,sh5Fth;!shop;ck,nDpe,re,sh;!d,g;e84iD;p,sD;k,p0t2;aDed,lco8U;r,th0;it,lk,rEsDt4ve,x;h,te;!ehou1ra9;aGen5DiFoD;iDmAte,w;ce,d;be,ew,sA;cuum,l4A;pDr7;da5gra6Clo68;aReQhrPiOoMrGuEwiDy5X;n,st;nDrn;e,n7M;aGeFiEoDu6y;t,ub2;bu5ck4Igg0m,p;at,k,nd;ck,de,in,nsDp,v7H;f0i8P;ll,ne,p,r4Wss,t92uD;ch,r;ck,de,e,le,me,p,re;e5Uow,u6;ar,e,ll,mp0st,xt;g,lDng2rg7Ns5x;k,ly;a0Sc0Ne0Kh0Fi0Dk0Bl09m08n06o05pXquaCtKuFwD;ea86iD;ng,pe,t4;bGit,m,ppErD;fa3ge,pri1v2U;lDo6Q;e6Ny;!je8;aMeLiKoHrEuDy2;dy,ff,mb2;a83eEiDo5Nugg2;ke,ng;am,ss,t4;ckEop,p,rD;e,m;ing,pi2;ck,nk,t4;er,m,p;ck,ff,ge,in,ke,lEmp,nd,p2rDte,y;!e,t;k,l;aJeIiHlGoFrDur,y;ay,e54inDu3;g,k2;ns89t;a5Oit;ll,n,r85te;ed,ll;m,n,rk;b,uB;aDee1Tow;ke,p;a5He4Di2o51;eep,iDou4;ce,p,t;ateboa7HiD;!p;de,gnDl2Unk,p,ze;!al;aGeFiEoDuff2;ck,p,re,w;ft,p,v0;d,i3Wlt0;ck,de,pe,re,ve;aEed,nDrv1It;se,t2M;l,r4t;aGhedu2oCrD;aEeDibb2o3X;en,w;pe,t4;le,n,r2L;cDfegua70il,mp2;k,rifi3;aZeHhy6JiGoEuD;b,in,le,n,s5V;a6ck,ll,oDpe,u5;f,t;de,ng,ot,p,s1V;aTcSdo,el,fQgPje8lOmMnLo17pJque6sFturn,vDwa6T;eDi26;al,r1;er72oFpe8tEuD;lt,me;!a53;l6Zrt;air,eaDly,o51;l,t;dezvo2Xt;aDedy;ke,rk;ea1i4E;a6Gist0r5L;act6Wer1Uo6ZuD;nd,se;a36o6D;ch,s6E;c1Cge,iEke,lly,nDp1Vt1V;ge,k,t;n,se;es69iv0;a04e00hYiXlToNrEsy4uD;mp,n4rcha1sh;aKeIiHoDu4M;be,ceFdu3fi2grDje8mi1p,te6;amDe6U;!me;ed,ss;ce,de,nt;sDy;er6As;cti3i1;iHlFoEp,re,sDuBw0;e,i5Wt;l,p;iDl;ce,sh;nt,s5T;aEce,e30uD;g,mp,n7;ce,nDy;!t;ck,le,n16pe,tNvot;a1oD;ne,tograph;ak,eFnErDt;fu53mA;!c30;!l,r;ckJiInHrFsEtDu1y;ch,e9;s,te;k,tD;!y;!ic;nt,r,se;!a7;bje8ff0il,oErDutli3Over49;bAd0ie9;ze;a4PeFoDur1;d,tD;e,i3;ed,gle8tD;!work;aMeKiIoEuD;rd0;ck,d3Pld,nEp,uDve;nt,th;it5CkD;ey;lk,n49rr5AsDx;s,ta29;asuCn4SrDss;ge,it;il,nFp,rk3UsEtD;ch,t0;h,k,t0;da5n0oeuvC;aLeJiHoEuD;mp,st;aEbby,ck,g,oDve;k,t;d,n;cDft,mAnHst;en1k;aDc0Ne4vJ;ch,d,k,p,se;bEcDnd,p,t4un4;e,k;el,o2T;eEiDno4D;ck,d,ll,ss;el,y;aEo1NuD;i3mp;m,zz;mpJnEr45ssD;ue;c1Qdex,fluGha2k,se2GteDvoi3;nt,rD;e6fa3viD;ew;en3;a8le29;aJeHiGoEuD;g,nt;l39no2Cok,pDr1u1;!e;ghli1Eke,nt,re,t;aDd7lp;d,t;ck,mGndFrEsh,tDu9;ch,e;bo3Wm,ne4Dve6;!le;!m0;aLear,ift,lJossIrFuD;arDe49lp,n;antee,d;aEiDouBumb2;ll,nd,p;de,sp;ip;oDue;ss,w;g,in,me,ng,s,te,ze;aZeWiRlNoJrFuD;ck,el,nDss,zz;c38d;aEoDy;st,wn;cDgme,me,nchi1;tuC;cFg,il,ld,rD;ce,e29mDwa31;!at;us;aFe0Vip,oDy;at,ck,od,wD;!er;g,ke,me,re,sh,vo1E;eGgFlEnDre,sh,t,x;an3i0Q;e,m,t0;ht,uC;ld;aEeDn3;d,l;r,tuC;ce,il,ll,rm,vo2W;cho,d7ffe8nMsKxFyeD;!baD;ll;cGerci1hFpDtra8;eriDo0W;en3me9;au6ibA;el,han7u1;caDtima5;pe;count0d,vy;a01eSiMoJrEuDye;b,el,mp,pli2X;aGeFiEoD;ne,p;ft,ll,nk,p,ve;am,ss;ft,g,in;cEd7ubt,wnloD;ad;k,u0E;ge6p,sFt4vD;e,iDor3;de;char7gui1h,liEpD;at4lay,u5;ke;al,bKcJfeIlGmaBposAsEtaD;il;e07iD;gn,re;ay,ega5iD;ght;at,ct;li04rea1;a5ut;b,ma7n3rDte;e,t;a0Eent0Dh06irc2l03oKrFuD;be,e,rDt;b,e,l,ve;aGeFoEuDy;sh;p,ss,wd;dAep;ck,ft,sh;at,de,in,lTmMnFordina5py,re,st,uDv0;gh,nDp2rt;s01t;ceHdu8fli8glomeIsFtDveN;a8rD;a6ol;e9tru8;ct;ntDrn;ra5;bHfoGmFpD;leDouBromi1;me9;aBe9it,u5;rt;at,iD;ne;lap1oD;r,ur;aEiDoud,ub;ck,p;im,w;aEeDip;at,ck,er;iGllen7nErD;ge,m,t;ge,nD;el;n,r;er,re;ke,ll,mp,noe,pGrXsFtEuDve;se,ti0I;alog,ch;h,t;!tuC;re;a03eZiXlToPrHuEyD;pa11;bb2ck2dgEff0mp,rDst,zz;den,n;et;anJeHiFoadEuD;i1sh;ca6;be,d7;ge;aDed;ch,k;ch,d;aFg,mb,nEoDrd0tt2x,ycott;k,st,t;d,e;rd,st;aFeBiDoYur;nk,tz;nd;me;as,d,ke,nd,opsy,tD;!ch,e;aFef,lt,nDt;d,efA;it;r,t;ck,il,lan3nIrFsEtt2;le;e,h;!gDk;aDe;in;!d,g,k;bu1c05dZge,iYlVnTppQrLsIttGucEwaD;rd;tiD;on;aDempt;ck;k,sD;i6ocia5;st;chFmD;!oD;ur;!iD;ve;eEroa4;ch;al;chDg0sw0;or;aEt0;er;rm;d,m,r;dreHvD;an3oD;ca5;te;ce;ss;cDe,he,t;eFoD;rd,u9;nt;nt,ss;se",Actor:"true¦0:7C;1:7H;2:6B;3:7G;4:7P;5:7L;6:72;a6Pb64c4Xd4De43f3Tg3Ch31i2Vj2Rkin2Ql2Lm27n20o1Tp0Wqu0Ur0KsRtKuIvFw9yo7;gi,ut7;h,ub0;aBeAi9o8r7;estl0it0;m2rk0;fe,nn0t2Cza2I;atherm2ld0;ge earn0it0nder0rri1;eter8i7oyG;ll5Sp,s41;an,ina2V;n7s0;c6Wder04;aoisea24eAherapi5iktok0o9r7ut1yco6;a7endseMo45;d0mp,nscri0Cvel0;ddl0u1H;a0Rchn8en7na4st0;ag0;i3Qo0E;aiYcVeShQiNki0mu27oKpHquaGtCu8wee7;p0theart;lt2per8r7;f0ge6viv1;h7inten0Jst5Kvis1;ero,um2;a9ep8r7;ang0eam0;bro2Oc2Pfa2Omo2Osi21;ff0tesm2;tt0;ec8ir2Eo7;kesp5Bu0N;ia5Lt3;l8me6Cn,rcere7ul;r,ss;di0oi5;n8s7;sy,t0;g0n0;am2ephe1Jow7;girl,m2r2R;cretJnior cit3Hr7;gea4v7;a4it1;hol4Zi8reen7ulpt1;wr2D;e02on;l1nt;aFeAo9u7;l0nn7;er up,ingF;g42le mod41of0;a51c9fug2Rpo34searRv7;ere4Wolution7;ary;e7luZru23;ptio3V;bbi,dic5Xpp0;arter7e31;back;aZeXhTiSlPoLr9sycho8u7;nk,p34;logi5;aHeEiCo7;dAfess1g8ph49s7;pe2Mtitu53;en7ramm0;it1y;igy,uc0;est4Pme mini0Vnce7s3G;!ss;a8si7;de4;ch0;ctiti3Bnk0Q;dca0Pet,li7pula52rnst44;c2Ktic7;al scie7i2;nti5;a7umb0;nn0y7;er,ma4Nwright;lgrim,one0;a9iloso8otogra8ra7ysi1X;se;ph0;ntom,rmaci5;r7ssi1V;form0s6;i3Gl,nel40r9st1tr7wn;i7on;arXot;ent4Yi44tn0;ccupa4ffCp9r8ut7;ca5l0C;ac4Kganiz0ig2Hph2;er3t7;i1Lomet7;ri5;ic0spring;aCeAie4Zo8u7;n,rser3L;b7mad,vi4X;le2Xo4F;i7mesis,phew;ce,ghb1;nny,rr3t20;aFeEiBo8u7yst21;m9si18;der3gul,m8n7th0;arEk;!my;ni8s7;f03s0Kt0;on,st0;chan1Tnt1rcha4;giAk0n9rtyr,t7y1;e,riar7;ch;ag0iac;ci2stra3K;a8e2Cieutena4o7;rd,s0v0;bor0d8ndlo7ss,urea3Hwy0ym2;rd;!y;!s2A;anitor ,e9o8u7;ggl0;gg0urna2W;st0;c6dol,llu3Wmmigra4n7;-lAc1Sfa4habi44nov3s8ve7;nt1stig3;pe0Pt7;a1Hig3ru0O;aw;airGeCistoBo9u7ygie1M;man7nt0sba2J;!ita9;bo,st7usekO;age,e3R;ri2;ir,r7;m8o7;!ine;it;dress0sty2E;aMeJhostHirl28ladi3oDrand8u7;e5ru;cAdaugTfa9m8pa7s6;!re4;a,o7;th0;hi1D;al8d7lf0;!de3C;ie,k7te28;eep0;!wr7;it0;isha,n7;i7tl06;us;mbl0rden0;aFella,iBo8r7;eela2Pie1R;e,re7ster pare4;be1Jm2r7st0;unn0;an31g9lmm19nanci0r7tt0;e7st la2J; marsh2Qfig7m2;ht0;rm0th0;conoFdElectriDm9n8x7;amin0cellency,i2B;emy,trepreneur,vironmenta1K;c9p7;er1loye7;e,r;ee;ci2;it1;mi5;aLeCi9ork,ri8u7we03;de,tche2I;ft0vK;ct3eti8plom2Ire7va;ct1;ci2ti2;aEcor3fencDi0JnBputAs8tectNvel7;op0;ce1He7ign0;rt0;ee,y;iz7;en;em2;c6l0;dAnc0redev9ught7;er7;! ;il;!dy;a06e04fo,hXitizenWlToCrAu7;r3stomer7;! representat7;ive;e3it7;ic;-work0lJmGnAord9rpor1Nu7wboy;n7ri0sin ;ciUte1R;in3;fidantBgressTsAt7;e0Lr7;ibut1o7;ll0;tab14ul1P;!e;edi2m7pos0rade;a0FeRissi7;on0;leag9on8um7;ni5;el;ue;e7own;an0r7;ic,k;!s;aAe8i7um;ld;erle7f;ad0;ir8nce7plGract0;ll1;m2wJ;lebri7o;ty;dCptBr7shi0;e8pe7;nt0;r,t7;ak0;ain;et;aNeMiKlogg0oFrCu7;dd0Gild0rglAsiness7;m2p8w7;om2;ers6;ar;i8o7;!k0th0;cklay0de,gadi0;hemi2oge9y7;!frie7;nd;ym2;an;cyc7sS;li5;atbox0ings;by,nk0r7;b0on8te7;nd0;!e08;c05dXge4nRpMrIsGtBu8yatull7;ah;nt8t7;h1oH;!ie;h9t7;e7orney;nda4;ie5le7;te;sis01tron7;aut,om0;chbis9isto8tis7;an,t;crV;hop;ostAp7;ari7rentiT;ti6;on;le;aAcest1im3nou9y7;bo7;dy;nc0;ly5rc7;hi5;mi9v7;entur0is1;er;ni8r7;al;str3;at1;or;counCquaintanBrobAt7;ivi5or,re7;ss;st;at;ce;ta4;nt","Adj|Noun":"true¦0:1F;1:1M;a1Db17c0Vd0Se0Nf0Eg0Bh09i07ju06l03mXnVoTpOrJsCt8u5v2watershed;a2ision10;gabo5nilla,ria2;b0Wnt;ndergr2pstairs;adua14ou2;nd;a4e2oken,ri0;en,r2;min0rori13;boo,n;age,e6ilv0Glack,o4quat,ta3u2well;bordina0Xper6;b0Mndard;ciali0Yl2vereign;e,ve1;cret,n2ri0;ior;a5e3ou2ubbiM;nd,tiZ;ar,bCl0Ynt0p2side1;resent0Xublican;ci0Qsh;a5eriodic0last11otenti0r2;emi3incip0o2;!fession0;er,um;rall5st,tie1;ff2pposi0Hv0;ens0Qi0D;agg02ov2;el;a6e4iniatKo2;bi02der08r2;al,t0;di2tr0P;an,um;le,riH;attPi3u2;sh;ber0ght,qD;stice,veniU;de0mpressioZn2;cumbe1dividu0no0Fsta1terim;alf,o2umdrum;bby,melG;en3old,ra2;ph0Dve;er0ious;a8e6i5l4u2;git05t2;ure;uid;ne;llow,m2;aGiM;ir,t,vo2;riOuriO;l4p02x2;c2ecutWpeX;ess;d2iK;er;ar3e2;mographWrivQ;k,l3;hiGlassUo3rude,unn2;ing;m6n2operM;creCstitue1te3vertab2;le;mpor2nt;ary;ic,m3p2;anion,lex;er3u2;ni8;ci0;e6lank,o5r2;i3u2;te;ef;ttom,urgeois;st;cademCd9l5n3r2;ab,ctB;im0tarctA;al;e4tern2;at2;ive;rt;oles2ult;ce1;nt;ic","Adj|Past":"true¦0:4C;1:40;2:45;3:42;4:3B;a3Tb3Ic2Vd2Ae22f1Wg1Th1Qi1Hj1Ekno1Dl18m13n10o0Vp0Lqu0Jr07sKtEuBvAw5yellow0;a8ea7o5rinkl0;r5u3N;n,ri0;k2Qth3;rp0sh0tY;ari0e1M;n5pd1s0;cov3derstood,i5;fi0t0;a8hreat2Ki7ouTr5urn0wi42;a5imm0ou28;ck0in0pp0;ed,r0;m0nn0r5;get0ni2K;aPcLeJhHimGm0Hoak0pEt8u5;bsid3Fgge3Vs5;pe5ta2P;ct0nd0;a9e8i26ok0r6u5;ff0nn0;ength28ip5;ed,p0;am0reotyp0;in0t0;eci5ik0oI;al35fi0;pSul1;a5ock0ut;d0r0;a5c1Dle2t2S;l0s3Jt0;a7or6r5;at5e1W;ch0;r0tt3;t5ut0;is4ur1;aFe6o5;tt0;cBdJf22gAje2l9m0Knew0p8qu7s5;eTpe2t5;or0ri2;e34ir0;e1lac0;at0e2H;ist3ul1;eiv0o5ycl0;mme2Crd0v3;in0lli0ti4;a5ot0;li4;aCer2RiBlAo9r5ump0;e7i2Go5;ce27d5lo14nou2Spos0te2v0;uc0;fe15ocDp0Fss0;i2Cli1D;ann0e24uT;ck0erc0ss0;ck0i29r5st0;allMk0;bse8c7rgan25ver5;lo5whelm0;ok0;cupi0;rv0;e6o5;t0uri12;ed0gle2;a7e6ix0o5ut0;di4t0Xu1Y;as07lt0;n5rk0;ag0ufact05;e7i6o5;ad0ck0st;cens0mit0st0;ft,v5;el0;tt0wn;a6o0Xu5;dg0s13;gg0;llumin1mpBn5sol1;br0cre1Ddebt0f9jUt6v5;it0olv0;e5ox0Q;gr1n5re1V;d0si4;e2l1o1O;li0oVr5;ov0;amm3e1o5;ok0r5;ri4;ift0r6u5;a14id0;i0Kown;a9e8i7lavo0Goc0Cr5;a5i0oz0S;ctEg13m0;ni04tt0x0;ar0;d0il0;duc1l1mBn9quipp0s8x5;agger1p5te0Q;a0Pe5os0;ct0rie1A;cap0tabliX;gFha18s5;ur0;a0Xbarra0L;aMeEi6r5;a00i0;gni4miniRre2s5;aAc7grun0Et5;o5re0Gurb0;rt0;iplVou5;nt0r5;ag0;bl0;cBdQf9l8pre0Ara7t6v5;elop0ot0;ail0ermP;ng0;ay0ight0;e5in0o0M;rr0;ay0enTor1;m5t0z0;ag0p5;en0;aQeMhJlIoAr7u5;lt5r0stom04;iv1;a6owd0u5;sh0;ck0mp0;d0loBm8n5ok0v3;centr1f6s5troD;id3olid1;us0;b6pl5;ic1;in0;r0ur0;assi4os0utt3;ar6i5;ll0;g0m0;lebr1n7r5;ti4;fi0;tralK;g0lcul1;aEiDlAo8r6urn5;ed,t;ok5uis0;en;il0r0t5und;tl0;e6i5;nd0;ss0;as0;k0laNs0tt3;bandQcOdLfJg0lGmaz0nEppCrm0ssAu6wa5;rd0;g6thor5;iz0;me5;nt0;o7u5;m0r0;li0re5;ci1;im1ticip1;at0;a6leg0t3;er0;rm0;fe2;ct0;ju6o8va5;nc0;st0;ce5knowledg0;pt0;on0;ed",Singular:"true¦0:5J;1:5H;2:4W;3:52;4:4S;5:57;6:5L;7:56;a51b4Jc3Md34e2Wf2Mg2Gh25in21j20k1Zl1Sm1Kn1Go1Ap0Qqu0Pr0EsYtLuGvBw8x r57yo yo;a8ha3Oo3P;f4i4Qt0Fy8;! arou38;arBe9ideo ga2Po8;cabu4Hl5B;gNr8t;di4Yt1V;iety,ni4O;nAp2Zr9s 8;do42s5D;bani1in0;coordinat39der8;estima1to21we40; rex,aJeIhGiEoDrAu9v8;! show;m2Nn2rntKto1B;agedy,ib8o4D;e,u8;n0ta44;ni1p2rq3K;c,er,m8;etE;ing8ree25;!y;am,mp3E;ct2le6x return;aMcLeJhor4PiIkGoFpin off,tCuAy8;ll8ner7st4S;ab2W;b8i1n27per bowl,rro1W;st3Ktot0;at9ipe2Fo1Irate7udent8;! lo0H;i38u1;ft ser4Kmeo1F;elet5i8;ll,r3U;b37gn2Ste;ab2Ic8min3A;t,urity gua2M;e6ho2X;bbatic0la3Hndwi0Opi5;av5eChetor2i9o8;de6om,w;t9v8;erb2B;e,u0;bCcAf8publ2r0Xspi1;er8orm4;e6r0;i8ord label;p2Gt0;a1u45;estion mark,ot2E;aOeLhoKiHlFoDr9u8yram1E;ddi3GpDrpo1Is3I;eAo8;bl3Ys8;pe3Ita1;dic1Qmi1Ep1Proga3Uss relea1E;p8rt0;py;a8ebisci1;q2Cte;cn2e9g8;!gy;!r;ne call,tocoJ;anut,d9r8t0yo1;cen3Isp3J;al,est0;nop3r9t8;e,hog5;adi10i2U;atme0bj3EcApia1rde0thers,utspok5ve8wn4;n,r8;ti0Oview;cu9e8;an;pi4;arAit9ot8umb4;a2Dhi2Q;e,ra1;cot2ra36;aDeBi9o8ur0é0C;nopo3p17rni2Msq1Qti35uld;c,li10n08s8tt5;chief,si33;d8nu,t0;al,ic;gna1mm0nd15rsupi0te8yf3;ri0;aCegBiAu8;ddi1n8;ch;ght bulb,me,p09ving room; 9e0M;bor14y 8;up;eyno1itt5;el3ourn0;cAdices,itia2Oni26s9tel0Mvert8;eb1K;e29titu1;en2Li2U;aHeDighCo9u8;man right,s23;me8rmoEsp1Gtb0L;! r8;un; scho0ZriZ;a8i1O;d8v5; start,pho8;ne;ndful,sh brown,v5ze;aBelat0Jlaci4r9u8yp1T;l3y;an8enadi4id;a1Bd slam,ny;df3r8;l2ni1I;aGeti1HiFlu1oCr9un8;er0;ee market,i9on8;ti4;ga1;l3ur8;so8;me;eOref3;br2mi3n10;conoEffi7gg,lecto0Qmbas1DnBpidem2s1Yth2venAx9yel8;id;ampYempl0Mte6;i18t;er7terp8;ri8;se;my;eKiDoAr8ump tru0T;agonf3i8;er,ve thru;c9g7i3or,ssi4wn8;side;to0DumenD;aDgniCnn4s9vide8;nd;conte6incen1Dp8tri10;osi8;tion;ta0F;le0W;athAc9f8ni0terre6;ault 04err0;al,im0;!b8;ed;aVeShLiKlIoCr8;edit caAuc8;ib8;le;rd;efficCke,lBmmuniqKns9pi4rr0t0Wus8yo1;in;erv8uH;ato00;ic,lP;ie6;er7i8oth;e6n2;ty,vil wL;aCeqBick5ocoAr8;istmas car8ysanthemum;ol;la1;ue;ndeli4racteri8;st2;i9llDr8;e0tifica1;liY;hi4nEpDrBt8ucus;erpi8hedr0;ll8;ar;!bohyd8ri4;ra1;it0;a8e,nib0;l,ry;aMeLiop2leJoHrDu8;nBr8tterf3;g8i0;la8;ry;ny;eak9i8;ck;fa8throA;st;dy,ro8wl;ugh;mi8;sh;an,l3;nki9rri4;er;ng;cRdLlHnEppeti1rCsAtt2utop8;sy;ic;ce6pe8;ct;r8sen0;ay;ec9oma3ti9;ly;do1;i5l8;er7y;gy;en; hominCj9van8;tage;ec8;ti8;ve;em;cBe9qui8;tt0;ta1;te;i9ru0;al;de6;nt","Person|Noun":"true¦a07b01cYdRePfOgMhJjFkiElDmBolive,p7r4s3trini00v1wa0;ng,rd;an,enus,iol0;a,et;ky,on5umm02;ay,e1o0uby;bin,d,se;ed,x;a2e0ol;aHn0;ny;ge,tM;a0eloR;x,ya;a9eo,iE;ng,tL;a2e1o0;lDy;an,w3;de,smi4y;a0iKol8;ll,z0;el;ail,e0;ne;aith,ern,lo;a0dDmir,ula,ve;rl;a4e3i1ol0;ly;ck,x0;ie;an,ja;i0wn;sy;h0liff,rystal;ari0in,ristian;ty;ak4e3i2r0;an0ook;dy;ll;nedict,rg;er;l0rt;fredo,ma","Actor|Verb":"true¦aCb8c5doctor,engineAfool,g3host,judge,m2nerd,p1recruit,scout,ushAvolunteAwi0;mp,tneA;arent,ilot;an,ime;eek,oof,r0uide;adu8oom;ha1o0;ach,nscript,ok;mpion,uffeur;o2u0;lly,tch0;er;ss;ddi1ffili0rchite1;ate;ct",MaleName:"true¦0:DO;1:CO;2:D7;3:AJ;4:CK;5:BZ;6:CF;7:D3;8:BS;9:AR;A:DB;B:D4;C:94;D:BM;aC9bB7cA7d98e8If82g7Fh6Si6Cj5Ek52l4Fm37n2Uo2Op2Gqu2Er1Ms12t0Gu0Fv08wUxTyJzE;aEor0;cEh9Jkaria,n0C;hFkE;!aC7;ar5UeC6;aMoGuE;sEu2LvBJ;if,uf;nGsFusE;ouf,sE;ef;aEg;s,tE;an,h0;hli,nB8ssY;avi3ho4;aNeLiGoEyaBN;jcie87lfgang,odrow,utE;!er;lEnst1;bGey,fredAlE;aAZiE;am,e,s;e97ur;i,nde9sE;!l8t1;lFyE;l1ne;lEt3;a9Xy;aHiEladimir,ojte7U;cFha0kt67nceErgA5va0;!nt;e3Xt65;lentEn9S;inE;!e;ghBElyss59nax,sm0;aXeShOiMoIrGuFyE;!l3ro6s1;n7r59;avAHeEist0oy,um0;ntA9v5Wy;bGd8RmEny;!as,mEoharu;aCCie,y;iCy;mEt5;!my,othy;adGeoFia0KomE;!as;!do8G;!de5;dHrE;en98rE;an97eEy;ll,n96;!dy;dgh,ha,iEnn3req,tsu4R;cAPka;aUcotSeQhMiKoIpenc3tEur1Xylve96zym1;anGeEua85;f0phBCvEwa84;e5Zie;!islaw,l8;lom1uE;leyma6ta;dElCm1yabonga;!dhart74n8;aGeE;lErm0;d1t1;h7Kne,qu11un,wn,y6;aEbasti0k2Cl4Prg4Mth,ymoAE;m5n;!tE;!ie,y;lFmEnti2Gq58ul;!ke5JmDu4;ik,vato7O;aZeVhe9ViRoIuFyE;an,ou;b7DdFf5pe7KssE;!elBJ;ol3Fy;an,bLc62dJel,geIh0landAmHnGry,sFyE;!ce;coe,s;!aA1nD;an,eo;l45r;er78g3n8olfo,riE;go;bDeAQ;cEl8;ar6Ic6HhFkEo;!ey,ie,y;a8Vie;gFid,ubByEza;an1KnZ;g9SiE;na9Os;ch6Qfa4lImHndGpha4sFul,wi2HyE;an,mo6U;h7Jm5;alAXol2U;iACon;f,ph;ent2inE;cy,t1;aJeHhilGier6TrE;aka18eE;m,st1;!ip,lip;dA4rcy,tE;ar,e3Er1Y;b4Hdra73tr6JulE;!o19;ctav3Di3liv3m9Yndrej,rIsFtEum7wB;is,to;aFc7k7m0vE;al5S;ma;i,vM;aMeKiGoEu38;aEel,j5l0ma0r3I;h,m;cFg4i46kEl2R;!au,h7Gola;hEkEolC;olC;al,d,il,ls1vE;il8J;hom,tE;e,hE;anEy;!a4i4;a00eXiNoIuFyE;l2Gr1;hamFr6KstaE;fa,p54;ed,mI;di0Xe,hamGis2CntFsEussa;es,he;e,y;ad,ed,mE;ad,ed;cJgu4hai,kHlGnFtchE;!e9;a7Uik;house,o0Ct1;ae5Oe9NolE;aj;ah,hE;aFeE;al,l;el,l;hFlv2rE;le,ri9v2;di,met;ay0hUjd,ks2AlSmadXnRrLs1tGuricFxE;imilianAwe9;e,io;eHhFiCtEus,yC;!eo,hew,ia;eEis;us,w;j,o;cIio,kHlGqu6Ysha9tEv2;iEy;!m,n;in,on;el,oQus;!el91oPus;iHu4;achEcolm,ik;ai,y;amFdi,eEmoud;sh;adEm5G;ou;aXeRiPlo39oLuFyE;le,nd1;cHiGkEth3uk;aEe;!s;gi,s,z;as,iaE;no;g0nn7BrenGuEv81we9;!iE;e,s;!zo;am,oE;n4r;a7Uevi,la4AnIonHst3thaGvE;eEi;nte;bo;!a6Del;!ny;mFnd1rEur54wr54;ry,s;ar,o4Y;aMeIhal7GiFristEu4Ky6J;i0o54;er0p,rE;k,ollE;os;en0iGnErmit,v3U;!dr3XnEt1;e18y;r,th;cp3j5m5Sna6OrFsp7them,uE;ri;im,l;a01eViToHuE;an,lEst2;en,iE;an,en,o,us;aOeMhnLkubCnJrHsE;eFhEi7Wue;!ua;!ph;dEge;i,on;!aEny;h,s,th55;!ath54ie,nD;!l,sEy;ph;o,qu2;an,mE;!mD;d,ffHrEs5;a5YemFmai6oEry;me,ni0Y;i7Gy;!e5OrE;ey,y;cLdBkJmIrGsFvi3yE;dBs1;on,p3;ed,od,rEv4V;e5Bod;al,es4Mis1;a,e,oEub;b,v;ob,quE;es;aXbRchiQgOkeNlija,nuMonut,rKsGtEv0;ai,suE;ki;aFha0i70maEsac;el,il;ac,iaE;h,s;a,vinEw2;!g;k,nngu5F;!r;nacEor;io;ka;ai,rahE;im;aQeKoJuEyd7;be2FgHmber4KsE;eyFsE;a2e2;in,n;h,o;m3ra36sse2wa40;aIctHitHnrFrE;be28m0;iEy;!q0Z;or;th;bMlLmza,nKo,rGsFyE;a47dB;an,s0;lGo4Nry,uEv8;hi44ki,tE;a,o;an,ey;k,s;!im;ib;aWeSiQlenPoMrIuE;ilFsE;!tavo;herme,lerE;mo;aGegEov3;!g,orE;io,y;dy,h5K;nzaFrE;an,d1;lo;!n;lbe4Xno,oE;rg37van4Y;oGrE;aEry;ld,rdA;ffr8rge;brFlBrEv2;la14r3Hth,y;e33ielE;!i5;aSePiNlLorrest,rE;anFedEitz;!dDer11r11;cGkE;ie,lE;in,yn;esLisE;!co,z2W;etch3oE;yd;d4lEonn;ip;deriFliEng,rnan05;pe,x;co;bi0di,hd;dYfrXit0lSmLnIo2rGsteb0th0uge6vEymBzra;an,eE;ns,re2X;gi,i0AnErol,v2w2;estAie;oFriqEzo;ue;ch;aJerIiFmE;aIe2Q;lErh0;!iE;o,s;s1y;nu4;be0Bd1iGliFm3t1viEwood;n,s;ot1Ss;!as,j4FsE;ha;a2en;!d2Vg7mHoFuFwE;a26in;arE;do;oWuW;a02eRiPoHrag0uGwFylE;an,l0;ay6ight;a6dl8nc0st2;minHnFri0ugEvydCy29;!lC;!a2HnEov0;e9ie,y;go,iFykC;as;cEk;!k;armuEll1on,rk;id;andNj0lbeMmetri5nKon,rIsGvFwExt3;ay6ey;en,in;hawn,moE;nd;ek,rE;ick;is,nE;is,y;rt;re;an,le,mLnKrGvE;e,iE;!d;en,iGne9rEyl;eEin,yl;l36n;n,o,us;!i4ny;iEon;an,en,on;a08e06hYiar0lOoJrHuFyrE;il,us;rtE;!is;aEistob0S;ig;dy,lHnFrE;ey,neli5y;or,rE;ad;by,e,in,l2t1;aIeGiEyK;fEnt;fo0Et1;meEt5;nt;rGuFyE;!t1;de;enE;ce;aIeGrisE;!toE;ph3;st3;er;d,rEs;b4leE;s,y;cEdric,s7;il;lHmer1rE;ey,lFro9y;ll;!os,t1;eb,v2;a07eZiVlaUoSrFuEyr1;ddy,rtL;aMeHiGuFyE;an,ce,on;ce,no;an,ce;nFtE;!t;dFtE;!on;an,on;dFndE;en,on;!foEl8y;rd;bby,rEyd;is;i6ke;bGlFshE;al;al,lD;ek;nIrEshoi;at,nFtE;!r1C;aEie;rdA;!iFjam2nD;ie,y;to;kaNlazs,nIrE;n8rEt;eEy;tt;ey;dEeF;ar,iE;le;ar17b0Vd0Rf0Pgust2hm0Mi0Jja0Il03mZnSputsiRrIsaHugust5veFyEziz;a0kh0;ry;us;hi;aLchKiJjun,maInGon,tEy0;hEu09;ur;av,oE;ld;an,ndA;!el,ki;ie;ta;aq;as,dIgelAtE;hony,oE;i6nE;!iAy;ne;er,reEy;!as,i,s,w;iGmaEos;nu4r;el;ne,r,t;aRbeQdBeKfIi,lHonGphZt1vE;aOin;on;so,zo;an,en;onVrE;ed;c,jaHksandGssaHxE;!andE;er,ru;ar,er;ndE;ro;rtA;dd2n;ni;dBm7;ar;en;ad,eE;d,t;in;onE;so;aFi,olfAri0vik;!o;mEn;!a;dIeHraFuE;!bakr,lfazl;hEm;am;!l;allJelGoulaye,ulE;!lErG;ah,o;! rE;ahm0;an;ah;av,on",Uncountable:"true¦0:2Z;1:2F;2:2M;3:34;4:3D;a2Xb2Oc2Cd25e1Uf1Qg1Hh19i14j11k0Zl0Um0Kn0Go0Fp06r02sNtBuran2Mv9w5you gu0H;a7his1Ai6oo5;d,l;ldlife,ne;rmAt2;apor,ernacul2Ci5;neg2Bol1Rtae;eFhDiCoAr6un5yranny;a,gst1E;aff2Rea1No6ue nor5;th;o0Bu5;bleshoot0se1Wt;night,othpas1Ywn5;foGsfoG;me off,n;er5und2;e,mod2V;a,nnis;aGcFeEhCiBkiAo9p8t6u5weepstak1;g1Xnshi2Kshi;ati0Be5;am,el;ace2Neci1;ap,cc2meth0;n,ttl1;lk;eep,ingl1o5;pp0r1E;lf,na1Iri1;ene1Misso1E;d0Yfe3l6nd,t5;i0Kurn;m1Wt;abi1e6ic5;e,ke17;c5i03laxa13search;ogni12rea12;aBeAhys9luto,o7re5ut3;amble,mis1s5ten22;en21s0N;l5rk;i2Al0GyJ; 18i4;a26tr0H;nt5rk0ti0O;i1s;bstetri4vercrowd0xyg0B;a7e6owada5utella;ys;ptu1Qws;il poli01tional securi3;aCeAo7u5;m5s1J;ps;n5o1M;ey,o5;gamy;a5cha0Glancholy,rchandi1Jtallurgy;sl1t;chine5g1Cj1Jrs,thema1S; learn0ry;aught2e8i7ogi6u5;ck,g14;c,s1O;ce,ghtn0nguis1NteratYv2;ath2isXss;ara0GindergartRn5;icke0Cowled10;e5upit2;a5llyfiIwel0I;ns;ce,gnor8mp7n5;forma02ter5;net,sta09;atiUort5rov;an1A;a9e8isto0Bo5ung2;ckey,mework,ne6o5rseradiAspitali3use arrest;ky;s3y;adquarteZre;ir,libut,ppiJs5;hi5te;sh;eneAl8o7r5um,ymnas13;a5e01;niWss;lf,re;ut5yce0H;en; 5ti4;edit0po5;ol;aPeel0icHlour,o6urnit5;ure;od,rgive5uri2wl;ness;arEcono0NducaDlectrBn9quipAthi4very8x5;ist6per5;ti0D;en0L;body,o0Ath0;joy5tertain5;ment;ici3o5;ni4;tiU;nings,th;emi04i8o6raugh5ynas3;ts;pe,wnstai5;rs;abet1ce,s5;hon01repu5;te;aFelciEhCivi4lAo5urrency;al,ld w8mmenta7n5ral,ttKuscoD;fusiJt 5;ed;ry;ar;assi4oth1;es;aos,e5;eOw0;us;d,rQ;aAi8lood,owl0read7u5;nt0tt2;er;!th;lliarLs5;on;g5ss;ga5;ge;cMdviLeroIirHmDn8ppeal court,r6spi5thleN;rin;ithmet5sen5;ic;i8y5;o6th0;ing;ne;se;en7n5;es3;ty;ds;craft;bi4d5nau9;yna5;mi4;ce;id,ous5;ti4;cs",Infinitive:"true¦0:9G;1:9T;2:AD;3:90;4:9Z;5:84;6:AH;7:A9;8:92;9:A0;A:AG;B:AI;C:9V;D:8R;E:8O;F:97;G:6H;H:7D;a94b8Hc7Jd68e4Zf4Mg4Gh4Ai3Qj3Nk3Kl3Bm34nou48o2Vp2Equ2Dr1Es0CtZuTvRwI;aOeNiLors5rI;eJiI;ng,te;ak,st3;d5e8TthI;draw,er;a2d,ep;i2ke,nIrn;d1t;aIie;liADniAry;nJpI;ho8Llift;cov1dJear8Hfound8DlIplug,rav82tie,ve94;eaAo3X;erIo;cut,go,staAFvalA3w2G;aSeQhNoMrIu73;aIe72;ffi3Smp3nsI;aBfo7CpI;i8oD;pp3ugh5;aJiJrIwaD;eat5i2;nk;aImA0;ch,se;ck3ilor,keImp1r8L;! paD;a0Ic0He0Fh0Bi0Al08mugg3n07o05p02qu01tUuLwI;aJeeIim;p,t5;ll7Wy;bNccMffLggeCmmKppJrI;mouFpa6Zvi2;o0re6Y;ari0on;er,i4;e7Numb;li9KmJsiIveD;de,st;er9it;aMe8MiKrI;ang3eIi2;ng27w;fIng;f5le;b,gg1rI;t3ve;a4AiA;a4UeJit,l7DoI;il,of;ak,nd;lIot7Kw;icEve;atGeak,i0O;aIi6;m,y;ft,ng,t;aKi6CoJriIun;nk,v6Q;ot,rt5;ke,rp5tt1;eIll,nd,que8Gv1w;!k,m;aven9ul8W;dd5tis1Iy;a0FeKiJoI;am,t,ut;d,p5;a0Ab08c06d05f01group,hea00iZjoi4lXmWnVpTq3MsOtMup,vI;amp,eJiIo3B;sEve;l,rI;e,t;i8rI;ie2ofE;eLiKpo8PtIurfa4;o24rI;aHiBuctu8;de,gn,st;mb3nt;el,hra0lIreseF;a4e71;d1ew,o07;aHe3Fo2;a7eFiIo6Jy;e2nq41ve;mbur0nf38;r0t;inKleBocus,rJuI;el,rbiA;aBeA;an4e;aBu4;ei2k8Bla43oIyc3;gni39nci3up,v1;oot,uI;ff;ct,d,liIp;se,ze;tt3viA;aAenGit,o7;aWerUinpoiFlumm1LoTrLuI;b47ke,niArIt;poDsuI;aFe;eMoI;cKd,fe4XhibEmo7noJpo0sp1tru6vI;e,i6o5L;un4;la3Nu8;aGclu6dJf1occupy,sup0JvI;a6BeF;etermi4TiB;aGllu7rtr5Ksse4Q;cei2fo4NiAmea7plex,sIva6;eve8iCua6;mp1rItrol,ve;a6It6E;bOccuNmEpMutLverIwe;l07sJtu6Yu0wI;helm;ee,h1F;gr5Cnu2Cpa4;era7i4Ipo0;py,r;ey,seItaH;r2ss;aMe0ViJoIultiply;leCu6Pw;micJnIspla4;ce,g3us;!k;iIke,na9;m,ntaH;aPeLiIo0u3N;e,ke,ng1quIv5;eIi6S;fy;aKnIss5;d,gI;th5;rn,ve;ng2Gu1N;eep,idnJnI;e4Cow;ap;oHuI;gg3xtaI;po0;gno8mVnIrk;cTdRfQgeChPitia7ju8q1CsNtKun6EvI;a6eIo11;nt,rt,st;erJimi6BoxiPrI;odu4u6;aBn,pr03ru6C;iCpi8tIu8;all,il,ruB;abEibE;eCo3Eu0;iIul9;ca7;i7lu6;b5Xmer0pI;aLer4Uin9ly,oJrI;e3Ais6Bo2;rt,se,veI;riA;le,rt;aLeKiIoiCuD;de,jaInd1;ck;ar,iT;mp1ng,pp5raIve;ng5Mss;ath1et,iMle27oLrI;aJeIow;et;b,pp3ze;!ve5A;gg3ve;aTer45i5RlSorMrJuI;lf4Cndrai0r48;eJiIolic;ght5;e0Qsh5;b3XeLfeEgJsI;a3Dee;eIi2;!t;clo0go,shIwa4Z;ad3F;att1ee,i36;lt1st5;a0OdEl0Mm0FnXquip,rWsVtGvTxI;aRcPeDhOiNpJtIu6;ing0Yol;eKi8lIo0un9;aHoI;it,re;ct,di7l;st,t;a3oDu3B;e30lI;a10u6;lt,mi28;alua7oI;ke,l2;chew,pou0tab19;a0u4U;aYcVdTfSgQhan4joy,lPqOrNsuMtKvI;e0YisI;a9i50;er,i4rI;aHenGuC;e,re;iGol0F;ui8;ar9iC;a9eIra2ulf;nd1;or4;ang1oIu8;r0w;irc3lo0ou0ErJuI;mb1;oaGy4D;b3ct;bKer9pI;hasiIow1;ze;aKody,rI;a4oiI;d1l;lm,rk;ap0eBuI;ci40de;rIt;ma0Rn;a0Re04iKo,rIwind3;aw,ed9oI;wn;agno0e,ff1g,mi2Kne,sLvI;eIul9;rIst;ge,t;aWbVcQlod9mant3pNru3TsMtI;iIoDu37;lJngI;uiA;!l;ol2ua6;eJlIo0ro2;a4ea0;n0r0;a2Xe36lKoIu0S;uIv1;ra9;aIo0;im;a3Kur0;b3rm;af5b01cVduBep5fUliTmQnOpMrLsiCtaGvI;eIol2;lop;ch;a20i2;aDiBloIoD;re,y;oIy;te,un4;eJoI;liA;an;mEv1;a4i0Ao06raud,y;ei2iMla8oKrI;ee,yI;!pt;de,mIup3;missi34po0;de,ma7ph1;aJrief,uI;g,nk;rk;mp5rk5uF;a0Dea0h0Ai09l08oKrIurta1G;a2ea7ipp3uI;mb3;ales4e04habEinci6ll03m00nIrro6;cXdUfQju8no7qu1sLtKvI;eIin4;ne,r9y;aHin2Bribu7;er2iLoli2Epi8tJuI;lt,me;itu7raH;in;d1st;eKiJoIroFu0;rm;de,gu8rm;ss;eJoI;ne;mn,n0;eIlu6ur;al,i2;buCe,men4pI;eIi3ly;l,te;eBi6u6;r4xiC;ean0iT;rcumveFte;eJirp,oI;o0p;riAw;ncIre5t1ulk;el;a02eSi6lQoPrKuI;iXrIy;st,y;aLeaKiJoad5;en;ng;stfeLtX;ke;il,l11mba0WrrMth1;eIow;ed;!coQfrie1LgPhMliLqueaKstJtrIwild1;ay;ow;th;e2tt3;a2eJoI;ld;ad;!in,ui3;me;bysEckfi8ff3tI;he;b15c0Rd0Iff0Ggree,l0Cm09n03ppZrXsQttOuMvJwaE;it;eDoI;id;rt;gIto0X;meF;aIeCraB;ch,in;pi8sJtoI;niA;aKeIi04u8;mb3rt,ss;le;il;re;g0Hi0ou0rI;an9i2;eaKly,oiFrI;ai0o2;nt;r,se;aMi0GnJtI;icipa7;eJoIul;un4y;al;ly0;aJu0;se;lga08ze;iKlI;e9oIu6;t,w;gn;ix,oI;rd;a03jNmiKoJsoI;rb;pt,rn;niIt;st1;er;ouJuC;st;rn;cLhie2knowled9quiItiva7;es4re;ce;ge;eQliOoKrJusI;e,tom;ue;mIst;moJpI;any,liA;da7;ma7;te;pt;andPduBet,i6oKsI;coKol2;ve;liArt,uI;nd;sh;de;ct;on",Adjective:"true¦0:AI;1:BS;2:BI;3:BA;4:A8;5:84;6:AV;7:AN;8:AF;9:7H;A:BQ;B:AY;C:BC;D:BH;E:9Y;aA2b9Ec8Fd7We79f6Ng6Dh60i4Wj4Vk4Sl4Hm40n3Oo35p2Nquart7Pr2Cs1Dt14uSvOwFye28;aMeKhIiHoF;man5oFrth7G;dADzy;despreB1n w97s86;acked1HoleF;!sa6;ather1QeFll o70ste1D;!k5;nt1Jst6Ate4;aHeGiFola5S;bBUce versa,gi3Kle;ng67rsa5Q;ca1gBSluAV;lt0PnLpHrGsFttermoBL;ef9Ku3;b96ge1; Hb31pGsFtiAH;ca6et,ide d4Q;er,i85;f51to da2;a0Fbeco0Hc0Bd04e02f01gu1WheaBGiXkn4NmUnTopp06pRrNsJtHus0wF;aFiel3J;nt0rra0P;app0eXoF;ld,uS;eHi36o59pGuF;perv06spec38;e1ok9O;en,ttl0;eFu5;cogn06gul2QlGqu84sF;erv0olv0;at0en32;aFrecede0E;id,rallel0;am0otic0;aFet;rri0tF;ch0;nFq25vers3;sur0terFv7U;eFrupt0;st0;air,inish0orese98;mploy0n7Ov97xpF;ect0lain0;eHisFocume01ue;clFput0;os0;cid0rF;!a8Scov9ha8Jlyi8nea8Gprivileg0sMwF;aFei9I;t9y;hGircumcFonvin2T;is0;aFeck0;lleng0rt0;b1Zppea85ssuGttend0uthorF;iz0;mi8;i49ra;aLeIhoHip 24oGrF;anspare1encha1i2;geth9leADp notch,rpB;rny,ugh6H;ena8DmpGrFs6U;r48tia4;eCo8P;leFst4M;nt0;a0Cc08e06h05i03ki02l00mug,nobbi4XoWpSqueami4XtKuFymb94;bHccinAi generis,pFr5;erFre7N;! dup9b,vi70;du0li7Lp6IsFurb7J;eq9Atanda9X;aLeKi15o2PrGubboFy4Q;rn;aightGin5GungF; o2M; fFfF;or7U;adfa9Ori6;lwa6Etu81;arHeGir6MlendBot Fry;on;c3Oe1Q;k5se; call0lub6mb9phistic14rHuFviT;ndFth19;proof;dBry;e61ipF;pe4shod;ll0n d7S;g2HnF;ceEg6ist9;am3Te9;co1Zem5lfFn6Bre7; suf4Yi44;aGholFient3A;ar5;rlFt4B;et;cr0me,tisfac7G;aOeIheumatoBiGoF;bu90tt7Hy3;ghtFv3;-1Sf6Y;cJdu8QlInown0pro6AsGtF;ard0;is48oF;lu2na1;e1Suc46;alcit8Ye1ondi2;bBci3mpa1;aSePicayu7laOoNrGuF;bl7Unjabi,z36;eKiIoF;b7WfGmi4ApFxi2M;er,ort82;a7uD;maFor,sti7va2;!ry;ciDexis0Ima2CpaB;in56puli8H;cBid;ac2Znt 3JrFti2;ma41tFv7X;!i40;i2ZrFss7S;anoBtF;-5YiF;al,s5W;bSffQkPld OnMrLth9utKverF;!aIbMdHhGni76seas,t,wF;ei75rou75;a64e7B;ue;ll;do1Ger,si6B;d3Rg2Aotu60; bFbFe on o7g3Vli7;oa81;fashion0school;!ay; gua7YbFha5Vli7;eat;eHligGsF;ce7er0So1C;at0;diFse;a1e1;aOeNiMoGuF;anc0de; moEnHrthFt6W;!eFwe7M;a7Lrn;chaGdescri7Jprof31sF;top;la1;ght5;arby,cessa4ighbor5wlyw0xt;k0usiaFv3;ti8;aQeNiLoHuF;dIltiF;facet0p6;deHlGnFot,rbBst;ochro4Yth5;dy;rn,st;ddle ag0nF;dbloZi,or;ag9diocEga,naGrFtropolit4R;e,ry;ci8;cIgenta,inHj0Fkeshift,mmGnFri4Pscu62ver18;da5Ey;ali4Mo4V;!stream;abEho;aOeLiIoFumberi8;ngFuti1S;stan3StF;erm,i4I;ghtGteraF;l,ry,te;heart0wei5P;ft-JgFss9th3;al,eFi0M;nda4;nguBps0te5;apGind5noF;wi8;ut;ad0itte4uniW;ce co0Hgno6Nll0Cm04nHpso 2VrF;a2releF;va1; ZaYcoWdReQfOgrNhibi4Si05nMoLsHtFvalu5N;aAeF;nDrdepe2L;a7iGolFuboI;ub6ve1;de,gF;nifica1;rdi5O;a2er;own;eriIiLluenVrF;ar0eq5I;pt,rt;eHiGoFul1P;or;e,reA;fiFpe27termi5F;ni2;mpFnsideCrreA;le2;ccuCdeq5Fne,ppr4K;fFsitu,vitro;ro1;mJpF;arHeGl16oFrop9;li2r12;n2MrfeA;ti3;aGeFi19;d4CnD;tuE;egGiF;c0ZteC;al,iF;tiF;ma2;ld;aOelNiLoFuma7;a4meInHrrGsFur5;ti6;if4F;e59o3V; ma3HsF;ick;ghfalut2IspF;an4A;li01pf34;i4llow0ndGrdFtN; 06coEworki8;sy,y;aMener45iga3Clob3oLrGuF;il1Ong ho;aGea1GizF;zl0;cGtF;ef2Vis;ef2U;ld3Aod;iFuc2D;nf2R;aVeSiQlOoJrF;aGeFil5ug3;q43tf2O;gFnt3S;i6ra1;lk13oHrF; keeps,eFge0Vm9tu41;g0Ei2Ds3R;liF;sh;ag4Mowe4uF;e1or45;e4nF;al,i2;d Gmini7rF;ti6ve1;up;bl0lDmIr Fst pac0ux;oGreacF;hi8;ff;ed,ili0R;aXfVlTmQnOqu3rMthere3veryday,xF;aApIquisi2traHuF;be48lF;ta1;!va2L;edRlF;icF;it;eAstF;whi6; Famor0ough,tiE;rou2sui2;erGiF;ne1;ge1;dFe2Aoq34;er5;ficF;ie1;g9sF;t,ygF;oi8;er;aWeMiHoGrFue;ea4owY;ci6mina1ne,r31ti8ubQ;dact2Jfficult,m,sGverF;ge1se;creGePjoi1paCtF;a1inA;et,te; Nadp0WceMfiLgeneCliJmuEpeIreliAsGvoF;id,ut;pFtitu2ul1L;eCoF;nde1;ca2ghF;tf13;a1ni2;as0;facto;i5ngero0I;ar0Ce09h07i06l05oOrIuF;rmudgeon5stoma4teF;sy;ly;aIeHu1EystalF; cleFli7;ar;epy;fFv17z0;ty;erUgTloSmPnGrpoCunterclVveFy;rt;cLdJgr21jIsHtrF;aFi2;dic0Yry;eq1Yta1;oi1ug3;escenFuN;di8;a1QeFiD;it0;atoDmensuCpF;ass1SulF;so4;ni3ss3;e1niza1;ci1J;ockwiD;rcumspeAvil;eFintzy;e4wy;leGrtaF;in;ba2;diac,ef00;a00ePiLliJoGrFuck nak0;and new,isk,on22;gGldface,naF; fi05fi05;us;nd,tF;he;gGpartisFzarE;an;tiF;me;autifOhiNlLnHsFyoN;iWtselF;li8;eGiFt;gn;aFfi03;th;at0oF;v0w;nd;ul;ckwards,rF;e,rT; priori,b13c0Zd0Tf0Ng0Ihe0Hl09mp6nt06pZrTsQttracti0MuLvIwF;aGkF;wa1B;ke,re;ant garGeraF;ge;de;diIsteEtF;heFoimmu7;nt07;re;to4;hGlFtu2;eep;en;bitIchiv3roHtF;ifiFsy;ci3;ga1;ra4;ry;pFt;aHetizi8rF;oprF;ia2;llFre1;ed,i8;ng;iquFsy;at0e;ed;cohKiJkaHl,oGriFterX;ght;ne,of;li7;ne;ke,ve;olF;ic;ad;ain07gressiIi6rF;eeF;ab6;le;ve;fGraB;id;ectGlF;ue1;ioF;na2; JaIeGvF;erD;pt,qF;ua2;ma1;hoc,infinitum;cuCquiGtu3u2;al;esce1;ra2;erSjeAlPoNrKsGuF;nda1;e1olu2trF;aAuD;se;te;eaGuF;pt;st;aFve;rd;aFe;ze;ct;ra1;nt",Pronoun:"true¦'em,elle,h3i2me,she4th0us,we,you;e0ou;e,m,y;!l,t;e0im;!'s",Preposition:"true¦-,aPbMcLdKexcept,fIinGmid,notwithstandiWoDpXqua,sCt7u4v2w0;/o,hereSith0;! whHin,oW;ersus,i0;a,s-a-vis;n1p0;!on;like,til;h1ill,oward0;!s;an,ereby,r0;ough0u;!oM;ans,ince,o that,uch G;f1n0ut;!to;!f;! 0to;effect,part;or,r0;om;espite,own,u3;hez,irca;ar1e0oBy;sides,tween;ri7;bo8cross,ft7lo6m4propos,round,s1t0;!op;! 0;a whole,long 0;as;id0ong0;!st;ng;er;ut",SportsTeam:"true¦0:1A;1:1H;2:1G;a1Eb16c0Td0Kfc dallas,g0Ihouston 0Hindiana0Gjacksonville jagua0k0El0Bm01newToQpJqueens parkIreal salt lake,sAt5utah jazz,vancouver whitecaps,w3yW;ashington 3est ham0Rh10;natio1Oredski2wizar0W;ampa bay 6e5o3;ronto 3ttenham hotspur;blue ja0Mrapto0;nnessee tita2xasC;buccanee0ra0K;a7eattle 5heffield0Kporting kansas0Wt3;. louis 3oke0V;c1Frams;marine0s3;eah15ounG;cramento Rn 3;antonio spu0diego 3francisco gJjose earthquak1;char08paA; ran07;a8h5ittsburgh 4ortland t3;imbe0rail blaze0;pirat1steele0;il3oenix su2;adelphia 3li1;eagl1philNunE;dr1;akland 3klahoma city thunder,rlando magic;athle0Mrai3;de0; 3castle01;england 7orleans 6york 3;city fc,g4je0FknXme0Fred bul0Yy3;anke1;ian0D;pelica2sain0C;patrio0Brevolut3;ion;anchester Be9i3ontreal impact;ami 7lwaukee b6nnesota 3;t4u0Fvi3;kings;imberwolv1wi2;rewe0uc0K;dolphi2heat,marli2;mphis grizz3ts;li1;cXu08;a4eicesterVos angeles 3;clippe0dodDla9; galaxy,ke0;ansas city 3nE;chiefs,roya0E; pace0polis colU;astr06dynamo,rockeTtexa2;olden state warrio0reen bay pac3;ke0;.c.Aallas 7e3i05od5;nver 5troit 3;lio2pisto2ti3;ge0;broncZnuggeM;cowbo4maver3;ic00;ys; uQ;arCelKh8incinnati 6leveland 5ol3;orado r3umbus crew sc;api5ocki1;brow2cavalie0india2;bengaWre3;ds;arlotte horAicago 3;b4cubs,fire,wh3;iteB;ea0ulR;diff3olina panthe0; c3;ity;altimore 9lackburn rove0oston 5rooklyn 3uffalo bilN;ne3;ts;cel4red3; sox;tics;rs;oriol1rave2;rizona Ast8tlanta 3;brav1falco2h4u3;nited;aw9;ns;es;on villa,r3;os;c5di3;amondbac3;ks;ardi3;na3;ls",Unit:"true¦a09b06cZdYexXfTgRhePin00joule0DkMlJmDnan0AoCp9quart0Dsq ft,t7volts,w6y2ze3°1µ0;g,s;c,f,n;dXear1o0;ttT; 0s 0;old;att06b;erPon0;!ne04;ascals,e1i0;cZnt02;rcent,tL;hms,uI;/s,e4i0m²,²,³;/h,cro2l0;e0liM;!²;grNsT;gEtL;it1u0;menSx;erRreR;b5elvins,ilo1m0notQ;/h,ph,²;!byIgrGmEs;ct0rtzN;aLogrE;allonLb0ig5rD;ps;a2emtGl0t6; oz,uid ou0;nceH;hrenheit,radG;aby9;eci3m1;aratDe1m0oulombD;²,³;lsius,nti0;gr2lit1m0;et0;er8;am7;b1y0;te5;l,ps;c2tt0;os0;econd1;re0;!s",PhrasalVerb:"true¦0:92;1:96;2:8H;3:8V;4:8A;5:83;6:85;7:98;8:90;9:8G;A:8X;B:8R;C:8U;D:8S;E:70;F:97;G:8Y;H:81;I:7H;J:79;K:4G;a9Gb7Vc6Sd6Me6Kf5Ig51h4Ciron0j48k41l3Fm32n2Zo2Xp2Dquiet Hr1Ys0Lt00uYvacuu6RwOyammerBzL;ero Dip MonL;e0k0;by,ov9up;aReNhMiLor0Nrit1A;mp0n3Gpe0r5s5;ackAeel Di0T;aMiLn34;gh 3Xrd0;n Dr L;do1in,oJ;it 7Ak5lk Mrm 6Ash Lt84v60;aw3do1o7up;aw3in,oC;rgeBsL;e 2herE;a01eZhWiSoRrNuLypQ;ckErn L;do1in,oJup;aMiLot0y 31;ckl80p F;ck HdL;e 5Z;n7Xp 3Fs5K;ck NdMe Lghten 6me0p o0Sre0;aw3ba4do1in,up;e Iy 2;by,oG;ink Mrow L;aw3ba4in,up;ba4ov9up;aLe 78ll63;m 2r 5N;ckBke Mlk L;ov9shit,u48;aLba4do1in,leave,o66up;ba4ft9pa6Aw3;a0Wc0Ue0Nh0Ji0Gl0Am09n08o07p02quar5HtRuPwL;earNiL;ngMtch L;aw3ba4o8L; by;cLi6Cm 2ss0;k 65;aSeRiQoOrLud36;aigh2Eet76iL;ke 7Tng L;al6Zup;p Lrm2G;by,in,oG;cKnKr 2tc4O;p F;cKmp0nd MrLveAy 2P;e Ht 2M;ba4do1up;arKeOiNlMrLurB;ead0ingBuc5;a49it 6I;c5ll o3Dn 2;ak Fe1Yll0;aKber 2rt0und like;ap 5Wow Duggl5;ash 6Ooke0;eep OiLow 6;cMp L;o6Eup;e 69;in,oL;ff,v9;de1Agn 4OnLt 6Hz5;gLkE; al6Ble0;aNoLu5X;ot Lut0w 7N;aw3ba4f48oC;cKdeEk6FveA;e Qll1Ond Prv5tL; Ltl5K;do1foMin,o7upL;!on;ot,r60;aw3ba4do1in,o4Wup;oCto;al67out0rL;ap66ew 6K;ilAv5;aYeViToPuL;b 5Zle0n Lstl5;aMba4do1inLo2Jth4Ou5Q;!to;c2Xr8w3;ll Not MpeAuL;g3Ind18;a2Wf3Po7;ar8in,o7up;ng 69p oLs5;ff,p19;aLelAinEnt0;c6Id L;o3Oup;cKt0;a00eZiXlUoRrPsyc35uL;ll Nn5Lt L;aLba4do1in,oJto48up;pa4Ew3;a3Kdo1in,o22to46up;attleBess LiOop 2;ah2Fon;iMp Lr50u1Hwer 6O;do1in,o6Oup;nt0;aMuL;gEmp 6;ce u21y 6E;ck Lg0le 4Bn 6p5C;oJup;el 5OncilE;c54ir 3An0ss NtMy L;ba4oG; Hc2R;aw3ba4in,oJ;pLw4Z;e4Yt D;aMerd0oL;dAt54;il Hrrow H;aUeRiQoMuL;ddl5ll I;cKnkeyNp 6uthAve L;aLdo1in,o4Mup;l4Ow3; wi4L;ss0x 2;asur5e3TlMss L;a21up;t 6;ke Mn 6rLs2Ax0;k 6ryA;do,fun,oCsure,up;a03eWiRoMuL;ck0st I;aOc4Gg NoLse0;k Lse4E;aft9ba4do1forw38in57o10u47;in,oJ;d 6;e OghtNnMsLve 01;ten F;e 2k 2; 2e47;ar8do1in;aNt MvelL; oC;do1go,in,o7up;nEve L;in,oL;pLut;en;c5p 2sh MtchBughAy L;do1o5A;in4Qo7;eNick Mnock L;do1oCup;oCup;eMy L;in,up;l Ip L;aw3ba4do1f05in,oJto,up;aNoMuL;ic5mpE;ke3Tt H;c44zz 2;a02eXiUoQuL;nMrrLsh 6;y 2;keMt L;ar8do1;r H;lLneErse3L;d Le 2;ba4dLfast,o25up;ear,o1;de Mt L;ba4on,up;aw3o7;aLlp0;d Nl Ir Lt 2;fLof;rom;f11in,o1WuX;cKm 2nMsh0ve Lz2Q;at,it,to;d Mg LkerQ;do1in,o2Uup;do1in,oL;ut,v9;k 2;aZeUive Sloss IoNrMunL; f0S;ab hold,in44ow 2V; Lof 2J;aNb1Nit,oMr8th1JuL;nd9;ff,n,v9;bo7ft9hQw3;aw3bLdo1in,oJrise,up,w3;a4ir2I;ar 6ek0t L;aLb1Gdo1in,o1Dr8up;cMhLl2Hr8t,w3;ead;ross;d aLng 2;bo7;a0Fe08iZlVoRrNuL;ck Le2P;ar8up;eMighten LownBy 2;aw3oG;eLshe29; 2z5;g 2lNol Lrk I;aLwi22;bo7r8;d 6low 2;aMeLip0;sh0;g 6ke0mLrLtten H;e F;gSlQnOrMsLzzle0;h F;e Lm 2;aw3ba4up;d0isL;h 2;e Ll 1V;aw3fQin,o7;ht ba4ure0;eQnMsL;s 2;cNd L;fLoG;or;e D;d06l 2;cPll Lrm0t1I;aNbMdo1in,oLsho0Gth0Avictim;ff,ut,v9;a4ehi2P;pa0D;e L;do1oGup;at Ldge0nd 13y5;in,o7up;aPi1IoOrL;aMess 6op LuO;aw3b04in,oC;gBwB; Ile0ubl1C;m 2;a0Bh06l03oPrMut L;aw3ba4do1oCup;ackBeep MoLy0;ss Dwd0;by,do1in,o0Vup;me OoMuntL; o2B;k 6l L;do1oG;aSbRforPin,oOtLu0P;hMoLrue;geth9;rough;ff,n,ut,v9;th,wL;ard;a4y;paLr8w3;rt;eaMose L;in,oCup;n 6r F;aOeMiL;ll0pE;ck Der Lw F;on,up;t 2;lSncel0rPsNtch MveE; in;o1Oup;h Dt L;doubt,oG;ry MvL;e 09;aw3oJ;l Lm H;aMba4do1oJup;ff,n,ut;r8w3;a0We0NiteAl0Go05rRuL;bblOckl06il0Elk 6ndl06rMsLtNy FzzA;t 01;n 0IsL;t D;e I;ov9;anXeaViMush L;oGup;ghRng L;aOba4do1forNin,oMuL;nd9p;n,ut;th;bo7lLr8w3;ong;teL;n 2;k L;do1in,o7up;ch0;arUg 6iSn5oQrOssNttlMunce Lx D;aw3ba4;e 6; ar8;e H;do1;k Dt 2;e 2;l 6;do1up;d 2;aQeed0oLurt0;cNw L;aw3ba4do1o7up;ck;k L;in,oC;ck0nk0stA; oRaOef 2lt0nd L;do1ov9up;er;up;r Mt L;do1in,oCup;do1o7;ff,nL;to;ck Qil0nNrgMsL;h D;ainBe D;g DkB; on;in,o7;aw3do1in,oCup;ff,ut;ay;ct FdRir0sk NuctionA; oG;ff;ar8o7;ouL;nd; o7;d L;do1oLup;ff,n;wn;o7up;ut","Noun|Gerund":"true¦0:27;1:26;2:1X;3:1J;4:1Z;a25b1Oc1Cd16en14f0Yg0Wh0Ti0Rjog20k0Pl0Lm0In0Go0Cp05ques08rWsFtBu9volunt15w5y17zo2;a7ed1Si3or6r5;ap1Oest1Ci1;ki0r1O;i1r2s1Utc1U;nder5pri23;st1Mta4;al4e7hin4i6ra5y1J;c4di0i2v0Z;mi0p1H;a1Ys1;aKcHeGhEin1PkatClZmo4nowBpeAt8u6w5;ea3im1U;f02r5;fi0vi0J;a1Lretc1Ju5;d1BfJ;l0Xn1C;b6i0;eb5i0;oar19;ip15o5;rte2u1;a1r0At1;h6o3re5;a1He2;edu0Ooo0O;i0Nyi0;aCe8i11o6u5;li0n2;o5wi0;fi0;a7c6hear1Cnde3por1struct5;r1Au3;or0Vyc0G;di0so2;p0Qti0;aAeacek9la8o6r5ublis0X;a0Peten0Rin1oces16;iso2si5;tio2;n2yi0;ee0K;cka0Tin1rt0K;f7pe6rgani5vula1;si0zi0;ni0ra1;fe3;e5ur0W;gotia1twor4;a6e5i2onito3;e1ssa0L;nufactu3rke1;a7ea6i5od0Jyi0;cen0Qf1s1;r2si0;n09ug0E;i5n0J;c4lS;ci0magi2n5ro2;nova1terac1;andPea1i6o5un1;l03wO;ki0ri0;athe3rie5ui01;vi0;ar0CenHi7l6or5ros1unZ;ecas1mat1;ir1ooX;l6n5;anDdi0;i0li0;di0gin5;ee3;a8eba1irec1oub1r6umOw5;elB;awi0es04i5;n4vi0;n5ti0;ci0;aEelebra1hClAo7r5ur6;aw5osZ;li0;a6di0lo3mplai2n5o4pi0ve3;duc1sul1;cLti0;apCea3imHo5ubH;ni0tJ;a5ee3;n1t1;m8s1te3;ri0;aIeFitDlCoAr8u5;il8ll6r5;pi0;yi0;an5;di0;a1m5o4;bi0;esGoa1;c5i0;hi0;gin2lon5t1;gi0;ni0;bys6c4ki0;ki0;it1;c8dverti7gi0rg6ssu5;mi0;ui0;si0;coun1ti0;ti0;ng",ProperNoun:"true¦barbie,c4diego,e3f2iron maiden,kirby,m0nis,riel,stevens;ercedes,i0;ckey,ssy;inn,lorence,ranco;lmo,uro;atalina,hristi",Ordinal:"true¦eBf7nin5s3t0zeroE;enDhir1we0;lfCn7;d,t3;e0ixt8;cond,vent7;et0th;e6ie7;i2o0;r0urt3;tie4;ft1rst;ight0lev1;e0h,ie1;en0;th",Cardinal:"true¦bEeBf5mEnine7one,s4t0zero;en,h2rDw0;e0o;lve,n5;irt6ousands,ree;even2ix2;i3o0;r1ur0;!t2;ty;ft0ve;e2y;ight0lev1;!e0y;en;illions",Multiple:"true¦b3hundred,m3qu2se1t0;housand,r2;pt1xt1;adr0int0;illion",City:"true¦0:77;1:64;2:6J;3:6M;4:5V;a6Bb56c4Ld4Be47f3Zg3Kh3Ci33j2Yk2Hl25m1Nn1Do1Ap0Xq0Vr0Os05tRuQvLwDxiBy9z5;a7h5i4Puri4R;a5e5ongsh0;ng3K;greb,nzib5J;ang2e5okoha3Vunfu;katerin3Krev0;a5n0R;m5Kn;arsBeAi6roclBu5;h0xi,zh5S;c7n5;d5nipeg,terth4;hoek,s1N;hi62kl3D;l66xford;aw;a8e6i5ladivost5Polgogr6O;en3lni6V;ni24r5;n2o3saill4Q;lenc4Zncouv3Vr3ughn;lan bat1Erumqi,trecht;aFbilisi,eEheDiBo9r7u5;l23n66r5;in,ku;i5ondh65;es54poli;kyo,m32ron1Rulo5;n,uS;an5jua3l2Wmisoa6Era3;j4Wshui; hag65ssaloni2K;gucigal28hr0l av1W;briz,i6llinn,mpe59ng5rtu,shk2U;i3Hsh0;an,chu1n0p2Hyu0;aEeDh8kopje,owe1It7u5;ra5zh50;ba0It;aten is58ockholm,rasbou6Auttga2Y;an8e6i5;jiazhua1llo1m60y0;f53n5;ya1zh4K;gh3Nt4T;att48o1Yv47;cramen18int ClBn5o paulo,ppo3Urajevo; 7aa,t5;a 5o domin3H;a3fe,m1O;antonBdie3Ffrancisco,j5ped3Qsalvad0L;o5u0;se;em,t lake ci5Iz28;lou5Bpeters27;aAe9i7o5;me,sar5t5C;io;ga,o5yadh;! de janei3H;cife,ims,nn3Lykjavik;b4Uip4lei2Knc2Rwalpindi;ingdao,u5;ez2i0R;aFeEhDiCo9r7u6yong5;ya1;eb5Bya1;a5etor3O;g54to;rt5zn0; 5la4Eo;au prin0Nelizabe26sa04;ls3Rrae5Ctts28;iladelph3Inom pe1Coenix;ki1r23tah tik3G;dua,lerZnaji,r4Qt5;na,r34;ak46des0Lm1Or6s5ttawa;a3Xlo;an,d07;a7ew5ing2Hovosibir1Lyc; 5cast38;del26orlea46taip16;g8iro4Yn5pl2Yshv35v0;ch6ji1t5;es,o1;a1o1;a6o5p4;ya;no,sa0Y;aFeCi9o6u5;mb2Cni28sc40;gadishu,nt6s5;c15ul;evideo,pelli1Tre31;ami,l6n16s5;kolc,sissauga;an,waukee;cca,d5lbour2Omph43ndo1Essi3;an,ell5i3;in,ín;cau,drAkass2Tl9n8r5shh4B;aca6ib5rakesh,se2M;or;i1Ty;a4FchFdal10i48;mo;id;aDeAi8o6u5vSy2;anMckn0Pdhia3;n5s angel27;d2g bea1O;brev2Ce3Mma5nz,sb2verpo29;!ss28; ma3Ai5;c5pzig;est17; p6g5ho2Xn0Dusan25;os;az,la34;aHharFiClaipeBo9rak0Eu7y5;iv,o5;to;ala lump4n5;mi1sh0;hi0Ilka2Ypavog4si5wlo2;ce;da;ev,n5rkuk;gst2sha5;sa;k5toum;iv;bIdu3llakuric0Rmpa3Gn6ohsiu1ra5un1Jwaguc0R;c0Qj;d5o,p4;ah1Uy;a7e6i5ohannesW;l1Wn0;dd37rusalem;ip4k5;ar2I;bad0mph1PnBrkutVs8taYz5̇zm7;m6tapala5;pa;ir;fah0l6tanb5;ul;am2Zi2H;che2d5;ianap2Mo20;aAe7o5yder2W; chi mi5ms,nolulu;nh;f6lsin5rakli2;ki;ei;ifa,lifax,mCn5rb1Dva3;g8nov01oi;aFdanEenDhCiPlasgBo9raz,u5;a5jr23;dal6ng5yaquil;zh1J;aja2Oupe;ld coa1Bthen5;bu2S;ow;ent;e0Uoa;sk;lw7n5za;dhi5gt1E;nag0U;ay;aisal29es,o8r6ukuya5;ma;ankfu5esno;rt;rt5sh0; wor6ale5;za;th;d5indhov0Pl paso;in5mont2;bur5;gh;aBe8ha0Xisp4o7resd0Lu5;b5esseldorf,nkirk,rb0shanbe;ai,l0I;ha,nggu0rtmu13;hradSl6nv5troit;er;hi;donghIe6k09l5masc1Zr es sala1KugavpiY;i0lU;gu,je2;aJebu,hAleve0Vo5raio02uriti1Q;lo7n6penhag0Ar5;do1Ok;akKst0V;gUm5;bo;aBen8i6ongqi1ristchur5;ch;ang m7ca5ttago1;go;g6n5;ai;du,zho1;ng5ttogr14;ch8sha,zh07;gliari,i9lga8mayenJn6pe town,r5tanO;acCdiff;ber1Ac5;un;ry;ro;aWeNhKirmingh0WoJr9u5;chareTdapeTenos air7r5s0tu0;g5sa;as;es;a9is6usse5;ls;ba6t5;ol;ne;sil8tisla7zzav5;il5;le;va;ia;goZst2;op6ubaneshw5;ar;al;iCl9ng8r5;g6l5n;in;en;aluru,hazi;fa6grade,o horizon5;te;st;ji1rut;ghd0BkFn9ot8r7s6yan n4;ur;el,r07;celo3i,ranquil09;ou;du1g6ja lu5;ka;alo6k5;ok;re;ng;ers5u;field;a05b02cc01ddis aba00gartaZhmedXizawl,lSmPnHqa00rEsBt7uck5;la5;nd;he7l5;an5;ta;ns;h5unci2;dod,gab5;at;li5;ngt2;on;a8c5kaOtwerp;hora6o3;na;ge;h7p5;ol5;is;eim;aravati,m0s5;terd5;am; 7buquerq6eppo,giers,ma5;ty;ue;basrah al qadim5mawsil al jadid5;ah;ab5;ad;la;ba;ra;idj0u dha5;bi;an;lbo6rh5;us;rg",Region:"true¦0:2N;1:2T;2:2K;a2Qb2Dc1Zd1Ues1Tf1Rg1Lh1Hi1Cj18k13l10m0Pn07o05pZqWrTsKtFuCv9w5y3zacatec2U;akut0o0Du3;cat2k07;a4est 3isconsin,yomi1M;bengal,vi6;rwick2Bshington3;! dc;er4i3;rgin0;acruz,mont;dmurt0t3;ah,tar3; 2La0X;a5e4laxca1Rripu1Xu3;scaDva;langa1nnessee,x2F;bas0Vm3smNtar25;aulip2Dil nadu;a8i6o4taf11u3ylh1F;ffYrr04s1A;me1Cno1Quth 3;cVdU;ber0c3kkim,naloa;hu2ily;n4skatchew2xo3;ny; luis potosi,ta catari1;a3hode9;j3ngp07;asth2shahi;ingh25u3;e3intana roo;bec,en5reta0R;ara7e5rince edward3unjab; i3;sl0B;i,nnsylv3rnambu0B;an0;!na;axa0Ydisha,h3klaho20ntar3reg6ss0Bx0G;io;aJeDo5u3;evo le3nav0W;on;r3tt17va scot0;f8mandy,th3; 3ampton16;c5d4yo3;rk14;ako1N;aroli1;olk;bras1Mva0Cw3; 4foundland3;! and labrador;brunswick,hamp0Xjers4mexiSyork3;! state;ey;galOyarit;a9eghala0Mi5o3;nta1r3;dov0elos;ch5dlanCn4ss3zor11;issippi,ouri;as geraOneso18;ig2oac2;dhy12harasht0Gine,ni4r3ssachusetts;anhao,i el,ylF;p3toba;ur;anca0Ie3incoln0IouisH;e3iR;ds;a5e4h3omi;aka06ul1;ntucky,ra01;bardino,lmyk0ns0Qr3;achay,el0nata0X;alis5har3iangxi;kh3;and;co;daho,llino6n3owa;d4gush3;et0;ia1;is;a5ert4i3un2;dalFm0D;fordZ;mpYrya1waii;ansu,eorg0lou7oa,u3;an4erre3izhou,jarat;ro;ajuato,gdo3;ng;cesterS;lori3uji2;da;sex;ageTe6o4uran3;go;rs3;et;lawaLrbyK;aEeaDh8o3rimea ,umbr0;ahui6l5nnectic4rsi3ventry;ca;ut;i02orado;la;e4hattisgarh,i3uvash0;apQhuahua;chn4rke3;ss0;ya;ra;lFm3;bridge6peche;a8ihar,r7u3;ck3ryat0;ingham3;shi3;re;emen,itish columb0;h0ja cal7lk6s3v6;hkorto3que;st2;an;ar0;iforn0;ia;dygea,guascalientes,lAndhr8r4ss3;am;izo1kans4un3;achal 6;as;na;a 3;pradesh;a5ber4t3;ai;ta;ba4s3;ka;ma",Country:"true¦0:39;1:2M;a2Xb2Ec22d1Ye1Sf1Mg1Ch1Ai14j12k0Zl0Um0Gn05om3DpZqat1KrXsKtCu6v4wal3yemTz2;a25imbabwe;es,lis and futu2Y;a2enezue32ietnam;nuatu,tican city;.5gTkraiZnited 3ruXs2zbeE;a,sr;arab emirat0Kkingdom,states2;! of am2Y;k.,s.2; 28a.;a7haBimor-les0Bo6rinidad4u2;nis0rk2valu;ey,me2Ys and caic1U; and 2-2;toba1K;go,kel0Znga;iw2Wji2nz2S;ki2U;aCcotl1eBi8lov7o5pa2Cri lanka,u4w2yr0;az2ed9itzerl1;il1;d2Rriname;lomon1Wmal0uth 2;afr2JkLsud2P;ak0en0;erra leoEn2;gapo1Xt maart2;en;negKrb0ychellY;int 2moa,n marino,udi arab0;hele25luc0mart20;epublic of ir0Dom2Duss0w2;an26;a3eHhilippinTitcairn1Lo2uerto riM;l1rtugE;ki2Cl3nama,pua new0Ura2;gu6;au,esti2;ne;aAe8i6or2;folk1Hth3w2;ay; k2ern mariana1C;or0N;caragua,ger2ue;!ia;p2ther19w zeal1;al;mib0u2;ru;a6exi5icro0Ao2yanm05;ldova,n2roc4zamb9;a3gol0t2;enegro,serrat;co;c9dagasc00l6r4urit3yot2;te;an0i15;shall0Wtin2;ique;a3div2i,ta;es;wi,ys0;ao,ed01;a5e4i2uxembourg;b2echtenste11thu1F;er0ya;ban0Hsotho;os,tv0;azakh1Ee3iriba03o2uwait,yrgyz1E;rWsovo;eling0Jnya;a2erF;ma15p1B;c6nd5r3s2taly,vory coast;le of m19rael;a2el1;n,q;ia,oI;el1;aiSon2ungary;dur0Mg kong;aAermany,ha0Pibralt9re7u2;a5ern4inea2ya0O;!-biss2;au;sey;deloupe,m,tema0P;e2na0M;ce,nl1;ar;bTmb0;a6i5r2;ance,ench 2;guia0Dpoly2;nes0;ji,nl1;lklandTroeT;ast tim6cu5gypt,l salv5ngl1quatorial3ritr4st2thiop0;on0; guin2;ea;ad2;or;enmark,jibou4ominica3r con2;go;!n B;ti;aAentral african 9h7o4roat0u3yprQzech2; 8ia;ba,racao;c3lo2morPngo-brazzaville,okFsta r03te d'ivoiK;mb0;osD;i2ristmasF;le,na;republic;m2naTpe verde,yman9;bod0ero2;on;aFeChut00o8r4u2;lgar0r2;kina faso,ma,undi;azil,itish 2unei;virgin2; is2;lands;liv0nai4snia and herzegoviGtswaGuvet2; isl1;and;re;l2n7rmuF;ar2gium,ize;us;h3ngladesh,rbad2;os;am3ra2;in;as;fghaFlCmAn5r3ustr2zerbaijH;al0ia;genti2men0uba;na;dorra,g4t2;arct6igua and barbu2;da;o2uil2;la;er2;ica;b2ger0;an0;ia;ni2;st2;an",Place:"true¦a00bYcUdTeSfRgMhLiJjfk,kHlFmDnBorAp8r7s6t3u2vostok,wake isCy0;a0yz;kutGngtze;laanbaatar,pT;ahiti,h0;amWe 0;bronx,hamptons;akhalIeine,fo,oho,under5yd;ed sea,io grande;acifWek,h0itcairn;l,x;ange county,d,inoco;ew eng0ile;land;a0co,ekong,idIuc;gadSlibu,nhattS;a0gw,hr;s,x;osrae,rasnoyar0ul;sk;ax,cn,nd0st;ianLochina;arlem,kg,nd,ovd;a3odavari,re0;at 0enwich;brita0lakC;in;ngAy village;co,ra;urope,verglad8;anube,en,fw,own2xb;dg,gk,h0lt;a1ina0uuk;town;morro,tham;cn,e0kk,rooklyn;l air,verly hills;driadic,frica,m7n2r3sia,tl1zor0;es;!ant2;adyr,tar0;ct0;ic0; oce0;an;ericas,s",WeekDay:"true¦fri2mon2s1t0wednesd3;hurs1ues1;aturd1und1;!d0;ay0;!s",Month:"true¦dec0february,july,nov0octo1sept0;em0;ber",Date:"true¦ago,on4som4t1week0yesterd5; end,ends;mr1o0;d2morrow;!w;ed0;ay",Duration:"true¦centurAd8h7m5q4se3w1y0;ear8r8;eek0k7;!end,s;ason,c5;tr,uarter;i0onth3;llisecond2nute2;our1r1;ay0ecade0;!s;ies,y",FemaleName:"true¦0:IS;1:IW;2:I5;3:I4;4:IM;5:I9;6:JD;7:GQ;8:J9;9:J5;A:HD;B:HN;C:IE;D:J2;E:II;F:H2;G:C4;H:HP;aGIbFDcDJdCSeBIfB0gAAh9Qi9Dj8Ck7Cl5Wm46n3Ko3Gp34qu33r2Bs16t0Fu0Dv03wWxiUyPzI;aMeJineb,oIsof2;e3Rf2la,ra;h3iLlJna,ynI;ab,ep;da,ma;da,h3iIra;nab;aLeKi0GolB3uJvI;etAonDH;i0na;le0sen2;el,gm3Gn,rGAs8T;aoIme0nyi;m5YyAA;aNendDRhiD8iI;dele9lKnI;if45niIo0;e,f44;a,helmi0lIma;a,ow;ka0nB;aOeLiIusa5;ck82kJlAole7viI;anGenIQ;ky,toriBE;da,lA5rIs0;a,nIoniGV;a,iFH;leInesGV;nI7rI;i1y;g9rIxGW;su5te;aZeVhSiOoMrJuIy3;i,la;acIPiIu0L;c2na,sI;hGta;nIr0H;iGya;aKffaEGnIs6;a,gtiI;ng;!nFHra;aJeIomasi0;a,l9Lo87res1;l2ndolwethu;g9Co85rJssI;!a,ie;eIi,ri8;sa,za;bPlNmLnJrIs6tia0wa0;a60yn;iIya;a,ka,s6;arGe3iIm75ra;!ka;a,iI;a,t6;at6it6;a0Gcarlett,e0ChYiUkye,neza0oStOuJyI;bI2lvi1;ha,mayI5ni7sJzI;an3KetAie,y;anIi8;!a,e,nI;aCe;aKeI;fIl5DphI;an4;cHQr5;b2fiA3m0MnIphi1;d3ia,ja,ya;er3lKmon1nJobh8MtI;a,i;dy;lEHv2;aNeJirIo0risEZy5;a,lDD;ba,e0i5lKrI;iIr6Gyl;!d8Efa;ia,lDP;hd,iNki3nKrJu0w0yI;la,ma,na;i,le9on,ron;aJda,ia,nIon;a,on;!ya;k6mI;!aa;lKrJtaye7YvI;da,inj;e0ife;en1i0ma;anA0bMd3Kh1PiBkLlKmJnd3rIs6vannaC;aCi0;ant6i3;lDEma,ome;ee0in8Ou3;in1ri0;a05e00hYiVoIuthDC;bTcSghRl8GnQsKwJxI;anAUie,y;an,e0;aJeIie,lD; merBIann8ll1marD6t7;!lInn1;iIyn;e,nI;a,dG;da,i,na;ayy8B;hel63io;bDFer7yn;a,cJkImas,nGta,ya;ki,o;helHki;ea,iannG7oI;da,n1L;an0bKemGgi0iJnIta,y0;a86ee;han81na;a,eI;cE5kaC;bi0chJe,i0mo0nIquEFy0;di,ia;aEDelIiB;!e,le;een4ia0;aOeNhLipaluk,oKrIute67;iIudenCL;scil3LyamvaB;lly,rt2;ilome0oebe,ylI;is,lis;ggy,nelope,r5t3;ige,m0UnLo5rvaDBtJulI;a,etAin1;ricIt4T;a,e,ia;do3i07;ctav2dJfCUis6lIphCUumBYyunbileg;a,ga,iv2;eIvA9;l2tA;aXeViNoJurIy5;!ay,ul;a,eKor,rJuI;f,r;aCeEma;ll1mi;aOcMhariBJkLlaKna,sIta,vi;anIha;ur;!y;a,iDNki;hoHk9SolI;a,eDE;!mh;hir,lIna,risFsreE;!a,lBO;asuMdLh2i6Cl5nKomi8rgEJtIzanin zah3;aIhal4;li1s6;cy,etA;e9iEP;nngu30;a0Ackenz4e02iNoKrignayani,uriD8yI;a,rI;a,lOna,tH;bi0i3llBDnI;a,iI;ca,ka,qCY;a,cUkaTlOmi,nMrJtzi,yI;ar;aJiam,lI;anEI;!l,nB;dy,eIh,n4;nhHrva;aLdKiCKlI;iIy;cent,e;red;!gros;!e5;ae5hI;ae5el40;ag5EgOi,lLrI;edi77iJjem,on,yI;em,l;em,sF;an4iIliF;nIsC9;a,da;!an,han;b0DcANd0Be,g09ha,i08ja,l06n04rMsoum5YtLuJv80x9FyIz4;bell,ra,soB4;de,rI;a,eE;h8Cild1t4;a,cYgUiLjor4l7Qn4s6tKwa,yI;!aIbe6Uja9lA9;m,nBC;a,ha,in1;!aKbC6eJja,lDna,sIt62;!a,ol,sa;!l1H;! Kh,mJnI;!a,e,n1;!awit,i;aliACcJeduarBfern5EjIlui5W;o6Dul2;ecil2la3;arKeJie,oIr46ueriA;!t;!ry;et44i39;el4Vi75y;dIon,ue5;akran7y;ak,en,iIlo3Q;a,ka,nB;a,re,s4te;daIg4;!l3C;alDd4elIge,isD6on0;ei9in1yn;el,le;a0Oe0DiZoRuMyI;d2la,nI;!a,dJeBCnIsCG;!a,eBB;a,sCE;aCRcKel0QiFlJna,pIz;e,i7;a,u,wa;iIy;a0Te,ja,l2LnB;is,l1TrKttJuIvel4;el5is1;e,ie;aLeJi8na,rI;a84i8;lIn1t7;ei;!in1;aTbb98dSepa,lNnKsJv2zI;!a,be5KetAz4;a,etA;!a,dI;a,sIy;ay,ey,i,y;a,iKja,lI;iIy;a9We;!aI;!nG;ia,ya;!nI;!a,ne;aQda,e0iOjZla,nNoLsKtIx4y5;iIt4;c2t2;e2NlCB;la,nIra;a,ie,o3;a,or1;a,gh,laI;!ni;!h,nI;a,d3e,n5O;cPdon93iOkes6mi96na,rNtKurJvIxmi,y5;ern1in2;a,e53ie,yn;as6iJoI;nya,ya;fa,s6;a,isF;a,la;ey,ie,y;a05e00hYiPlAFoOrKyI;lIra;a,ee,ie;istIy6B;a,en,iJyI;!na;!e,n58;nul,ri,urtnAV;aPerOlAUmKrIzzy;a,stI;en,in;!berlJmernI;aq;eIi,y;e,y;a,stE;!na,ra;aIei3ongordzol;dij1w5;el7MiLjsi,lKnJrI;a,i,ri;d3na,za;ey,i,lB8s4y;ra,s6;bi7cAEdiat7EeAXiSlRmQnyakuma1BrOss6HtLvi7yI;!e,lI;a,eI;e,i8H;a6BeJhIi4MlDri0y;ar69er69ie,leErAXy;!lyn8Cri0;a,en,iIl5Qoli0yn;!ma,nGsF;a5il1;ei8Ai,l4;a,tl6I;a09eZiWoOuI;anMdLliIst61;a8DeIsF;!n9tI;!a,te;e5Hi3Iy;a,i7;!anOcelDdNelHhan7NleMni,sJva0yI;a,ce;eIie;fIlDph5S;a,in1;en,n1;i8y;!a,e,n40;lIng;!i1DlI;!i1C;anOle0nLrKsI;i88sI;!e,i87;i,ri;!a,elHif2AnI;a,etAiIy;!e,f28;a,e89iJnI;a,e88iI;e,n1;cNda,mi,nJque4UsminGvie3y9zI;min8;a8eJiI;ce,e,n1s;!lIsFt0G;e,le;inJk4lDquelI;in1yn;da,ta;da,lSmQnPo0rOsJvaIzaro;!a0lu,na;aKiJlaIob7Z;!n9H;do3;belIdo3;!a,e,l37;a72en1i0ma;di3es,gr6Tji;a9elBogI;en1;a,e9iIo0se;a0na;aTePiKoIusFyacin29;da,ll4rten21snI;a,i9K;lJmaI;ri;aJdIlaJ;a,egard;ry;ath1AiKlJnriet7rmi9sI;sa,t19;en2Qga,mi;di;bi2Bil8ClOnNrKsJtIwa,yl8C;i5Nt4;n5Tti;iImo4Xri4Y;etI;!te;aCnaC;a,ey,l4;a03eXiSlQoOrLunKwI;enIyne1O;!dolD;ay,el;acieJetIiselB;a,chE;!la;ld19ogooI;sh;adys,enIor2yn2G;a,da,na;aLgi,lJna,ov84selIta;a,e,le;da,liI;an;!n0;mMnKorgJrI;ald3Ni,m3Atru86;etAi4S;a,eIna;s25vieve;ma;bJle,mIrnet,yH;al5Ji5;i5BrielI;a,l1;aUeRiQlorPoz2rI;anKeJiI;da,eB;da,ja;!cI;esJiIoi0N;n1s5X;!ca;a,enc2;en,o0;lJn0rnI;anB;ec2ic2;jr,n7rLtIy8;emJiIma,ouma7;ha,ma,n;eh;ah,iBrah,za0;cr4Ld0Oe0Ni0Mk7l05mXn4WrUsOtNuMvI;aKelJiI;!e,ta;inGyn;!ngel2S;geni1ni43;h5Qta;mMperanLtI;eJhIrel5;er;l2Zr8;za;a,eralB;iIma,nest2Jyn;cIka,n;a,ka;a,eNiKmI;aIie,y;!li9;lIn1;ee,iIy;a,e,ja;lIrald;da,y;aXeViOlNma,no3oLsKvI;a,iI;na,ra;a,ie;iIuiI;se;a,en,ie,y;a0c2da,f,nNsKzaI;!betIve7;e,h;aIe,ka;!beI;th;!a,or;anor,nG;!a;!in1na;leEs6;vi;eJiIna,wi0;e,th;l,n;aZeNh2iMjeneLoI;lor5Qminiq4Gn3DrItt4;a,eEis,la,othIthy;ea,y;ba;an0AnaCon9ya;anRbQde,ePiNlKmetr2nIsir5H;a,iI;ce,se;a,iJla,orIphi9;es,is;a,l6A;dIrdI;re;!d59na;!b2ForaCraC;a,d3nI;!a,e;hl2i0l0HmOnMphn1rJvi1WyI;le,na;a,by,cJia,lI;a,en1;ey,ie;a,etAiI;!ca,el1Bka,z;arIia;is;a0Se0Oh05i03lVoKristJynI;di,th2;al,i0;lQnNrJurI;tn1E;aKd2MiIn2Mri9;!nI;a,e,n1;!l4;cepci57n4sI;tanIuelo;ce,za;eIleE;en,tA;aKeoJotI;il4Z;!pat3;ir8rKudI;etAiI;a,ne;a,e,iI;ce,s00;a3er3ndI;i,y;aSeOloe,rI;isKyI;stI;al;sy,tI;a1Qen,iIy;an1e,n1;deKlseJrI;!i8yl;a,y;li9;nNrI;isLlJmI;ai9;a,eIotA;n1tA;!sa;d3elHtI;al,elH;cJlI;esAi42;el2ilI;e,ia,y;itlZlYmilXndWrOsMtIy5;aKeKhIri0;erIleErDy;in1;ri0;a32sI;a31ie;a,iOlMmeKolJrI;ie,ol;!e,in1yn;lIn;!a,la;a,eIie,o7y;ne,y;na,sF;a0Hi0H;a,e,l1;is7l4;in,yn;a0Ie02iZlXoUrI;andi8eRiKoJyI;an0nn;nwDoke;an3CdgMg0XtI;n2WtI;!aJnI;ey,i,y;ny;etI;!t8;an0e,nI;da,na;bbi8glarJlo06nI;i7n4;ka;ancIythe;a,he;an18lja0nIsm3I;i7tI;ou;aVcky,linUni7rQssPtKulaCvI;!erlI;ey,y;hKsy,tI;e,iIy8;e,na;!anI;ie,y;!ie;nIt6yl;adJiI;ce;etAi9;ay,da;!triI;ce,z;rbKyaI;rmI;aa;a3o3ra;a2Sb2Md23g1Zi1Qj5l16m0Xn0Aoi,r05sVtUuQvPwa,yJzI;ra,u0;aLes6gKlJseI;!l;in;un;!nI;a,na;a,i2I;drKgus1RrJsteI;ja;el2;a,ey,i,y;aahua,he0;hJi2Gja,mi7s2DtrI;id;aNlJraqIt21;at;eJi8yI;!n;e,iIy;gh;!nI;ti;iKleJo6pi7;ta;en,n1tA;aIelH;!n1J;a01dje5eZgViTjRnKohito,toIya;inetAnI;el5ia;!aLeJiImK;e,ka;!mItA;ar4;!belJliFmV;sa;!l1;a,eliI;ca;ka,sIta;a,sa;elIie;a,iI;a,ca,n1qI;ue;!tA;te;!bJmIstasiNya;ar2;el;aMberLeliKiIy;e,l2naI;!ta;a,ja;!ly;hHiJl2nB;da;a,ra;le;aXba,eQiNlLthKyI;a,c2sI;a,on,sa;ea;iIys0O;e,s0N;a,cJn1sIza;a,e,ha,on,sa;e,ia,ja;c2is6jaLksaLna,sKxI;aIia;!nd3;ia,saI;nd3;ra;ia;i0nJyI;ah,na;a,is,naCoud;la;c6da,leEmOnMsI;haClI;inIyZ;g,n;!h;a,o,slI;ey;ee;en;at6g4nJusI;ti0;es;ie;aXdiUelNrI;eKiI;anNenI;a,e,ne;an0;na;!aMeLiJyI;nn;a,n1;a,e;!ne;!iI;de;e,lDsI;on;yn;!lI;i9yn;ne;aLbJiIrM;!gaL;ey,i8y;!e;gaI;il;dLliyKradhJs6;ha;ya;ah;a,ya",FirstName:"true¦aLblair,cHdevGgabrieFhinaEjCk9l8m4quinn,re3s0;h0umit;ay,e0iloh;a,lby;g6ne;a1el0ina,org5;!okuh9;naia,r0;ion,lo;ashawn,uca;asCe1ir0rE;an;lsAnyat2rry;am0ess6ie,ude;ie,m5;ta;le;an,on;as2h0;arl0eyenne;ie;ey,sidy;lex2ndr1ubr0;ey;a,ea;is",Person:"true¦a0Ob0Hc08d05e02g01hZinez,jYkVlSmMnKoJpHr9s7t4v2w0xzibit,yanni;ar0ednesday adams,ill.i.am,oode;hol,rO;a0oltaiO;lentino rossi,n go7;a1heresa may,i0yra banks;ger woods,mbaQ;tum,ylor;a0carlett johanss03hakespeaJinbad,lobodan milosevic,ocratM;ddam hussain,ntigold;a6e5i4o2u0za;mi,n dmc,paul,sh limbau0;gh;d stewart,nald0thko;inho,o;hanYvaldo;ese witherspoVil9mbrandt;ffi,y roma03;a0e08ip07lato,oe,uff daddy;lm06ris hiltS;prah winfrWra;as,e0iles crane,ostradamP; yo,l3ttI;acklemo4essia3i1o0ubarek;by,lie3net,rrissS;randa ju0tt romnR;ly;en;re;ady gaga,e0iberaT;bron jam0e;es;anye west,e1iefer suther0obe bryant;land;ats,ndall,sha;aime,effersCk rowling;a0itlPulk hogan;lle berry,rrisA;ast9otye;ff1m0nya,zekiel;eril lagasse,inem;ie;a1e0ick wolf,rake;gas,nzel washingt4;lt3nB;ar5h3lint2o0;nfuci0olio;us;on;aucCy0;na;dinal wols1son0;! palm9;ey;a5e3o2ro0;ck,n0;te;no;ck,yon0;ce;nksy,rack obama;ristot1shton kutch0;er;le",LastName:"true¦0:9G;1:9W;2:9Y;3:9O;4:9I;5:8L;6:9L;7:A1;8:9F;9:8A;A:78;B:6G;C:6K;a9Vb8Nc7Ld6Ye6Tf6Fg5Wh59i55j4Qk45l3Nm2Sn2Fo27p1Oquispe,r18s0Ft05vVwOxNyGzD;aytsAEhD;aDou,u;ng,o;aGeun81iDoshiAAun;!lD;diDmaz;rim,z;maDng;da,guc98mo6VsDzaA;aAhiA8;iao,u;aHeGiEoDright,u;jc8Tng;lDmm0nkl0sniewsA;liA2s2;b0iss,lt0;a5Tgn0lDtanabe;k0sh;aHeGiEoDukB;lk5roby5;dBllalDnogr2Zr10ss0val37;ba,obos;lasEsel7P;lGn dFrg8FsEzD;qu7;ily9Pqu7silj9P;en b35ijk,yk;enzue96verde;aLeix1KhHi3j6ka3IoGrFsui,uD;om50rD;c3n0un1;an,embl8UynisA;dor96lst31m4rr9th;at5Ni7NoD;mErD;are70laci65;ps2s0Z;hirBkah8Enaka;a01chXeUhQiNmKoItFuEvDzabo;en8Bobod34;ar7bot4lliv3zuA;aEein0oD;i68j3Myan8W;l6rm0;kol5lovy5re6Rsa,to,uD;ng,sa;iDy60;rn5tD;!h;l5ZmEnDrbu;at8gh;mo6Eo6K;aFeDimizu;hu,vchD;en7Duk;la,r17;gu8infeld,mDoh,pulve8Trra4S;jDyD;on5;evi6Giltz,miDneid0roed0ulz,warz;dEtD;!z;!t;ar42h6ito,lFnDr4saAto,v4;ch7d0AtDz;a4Pe,os;as,ihBm3Zo0Q;aOeNiKoGuEyD;a67oo,u;bio,iz,sD;so,u;bEc7Bdrigue57g03j73mDosevelt,ssi,ta7Nux,w3Z;a4Ce0O;ertsDins2;!on;bei0LcEes,vDzzo;as,e8;ci,hards2;ag3es,it0ut0y9;dFmEnDsmu7Zv5F;tan1;ir7os;ic,u;aSeLhJiGoErDut6;asad,if60ochazk1V;lishc23pDrti63u55we67;e2Tov48;cEe09nD;as,to;as61hl0;aDillips;k,m,n5L;de3AetIna,rGtD;ersErovDtersC;!a,ic;en,on;eDic,ry,ss2;i8ra,tz,z;ers;h71k,rk0tEvD;ic,l3T;el,t2O;bJconnor,g2ClGnei5QrEzD;demir,turk;ella3MtDwe5O;ega,iz;iDof6GsC;vDyn1E;ei8;aPri1;aLeJguy1iFoDune44ym3;rodahl,vDwak;ak3Uik5otn57;eEkolDlsCx2;ic,ov6X;ls1miD;!n1;ils2mD;co42ec;gy,kaEray3varD;ro;jiDmu8shiD;ma;aWcUeQiPoIuD;lGnFrDssoli5T;atDpTr68;i,ov4;oz,te4C;d0l0;h3lInr13o0GrEsDza0Y;er,s;aFeEiDoz5r3Ete4C;!n6F;au,i8no,t4N;!l9;i2Rl0;crac5Ohhail5kke3Qll0;hmeFij0j2FlEn2Xrci0ssiDyer19;!er;n0Io;dBti;cartDlaughl6;hy;dMe6Egnu5Fi0jer35kLmJnci5ArFtEyD;er,r;ei,ic,su1O;iEkBqu9roqu6tinD;ez,s;a55c,nD;!o;a53mD;ad5;e5Pin1;rig4Ps1;aSeMiIoGuEyD;!nch;k4nDo;d,gu;mbarDpe2Svr4;di;!nDu,yana1T;coln,dD;bDholm;erg;bed5UfeGhtFitn0kaEn6rDw2H;oy;!j;in1on1;bvDvD;re;iDmmy,rsCu,voie;ne,t12;aTennedy,h3iSlQnez48oJrGuEvar3woD;k,n;cerDmar59znets5;a,o2H;aDem0i31yeziu;sni3RvD;ch3W;bay4Grh0Ksk0UvaFwalDzl5;czDsA;yk;cFlD;!cDen3S;huk;!ev4ic,s;e6uiveD;rt;eff0l4mu8nnun1;hn,llFminsArEstra33to,ur,yDzl5;a,s0;j0HlsC;oe;aMenLha2Qim0RoEuD;ng,r4;e2KhFnErge2Ku2OvD;anB;es,ss2;anEnsD;en,on,t2;nesDsC;en,s1;ki27s1;cGkob3RnsDrv06;en,sD;enDon;!s;ks2obs1;brahimBglesi3Ake4Ll0DnoZoneFshikEto,vanoD;u,v4A;awa;scu;aPeIitchcock,jaltal6oFrist46uD;!aDb0gh9ynh;m3ng;a24dz4fEjga2Tk,rDx3B;ak0Yvat;er,fm3B;iGmingw3NnErD;nand7re8;dDriks1;ers2;kkiEnD;on1;la,n1;dz4g1lvoLmJnsCqIrr0SsFuEyD;as36es;g1ng;anEhiD;mo0Q;i,ov08;ue;alaD;in1;rs1;aNeorgMheorghe,iKjonJoGrEuDw2;o,staf2Utierr7zm3;ayDg4iffitVub0;li1H;lub3Rme0JnEodD;e,m3;calv9zale0H;aj,i;bs2l,mDordaL;en7;iev3A;gnJlGmaFnd2Mo,rDs2Muthi0;cDza;ia;ge;eaElD;agh0i,o;no;e,on;ab0erLiHjeldsted,lor9oFriedm3uD;cDent9ji3E;hs;ntaDrt6urni0;na;lipEsD;ch0;ovD;!ic;hatBnanFrD;arDei8;a,i;deS;ov4;dGinste6riksCsDva0D;cob2YpDtra2W;inoza,osiL;en,s2;er,is2wards;aUeMiKjurhuJoHrisco0ZuEvorakD;!oQ;arte,boEmitru,rDt2U;and,ic;is;g3he0Imingu7n2Ord1AtD;to;us;aDmitr29ssanayake;s,z; GbnaFlEmirDrvis1Lvi,w3;!ov4;gado,ic;th;bo0groot,jo04lEsilDvri9;va;a cruz,e2uD;ca;hl,mcevsAnEt2EviD;d5es,s;ieDku1S;ls1;ki;a06e01hOiobNlarkMoFrD;ivDuz;elli;h1lHntGoFrDs26x;byn,reD;a,ia;ke,p0;i,rer0N;em3liD;ns;!e;anu;aLeIiu,oGriDuJwe;stD;eDiaD;ns1;i,ng,uFwDy;!dhury;!n,onEuD;ng;!g;kEnDpm3tterjee,v7;!d,g;ma,raboD;rty;bGl08ng4rD;eghetEnD;a,y;ti;an,ota0L;cer9lder2mpbeIrFstDvadi07;iDro;llo;doEt0uDvalho;so;so,zo;ll;es;a08eWhTiRlNoGrFyD;rne,tyD;qi;ank5iem,ooks,yant;gdan5nFruya,su,uchEyHziD;c,n5;ard;darDik;enD;ko;ov;aEondD;al;nco,zD;ev4;ancRshwD;as;a01oDuiy3;umDwmD;ik;ckNethov1gu,ktLnJrD;gGisFnD;ascoDds1;ni;ha;er,mD;ann;gtDit7nett;ss2;asD;hi;er,ham;b4ch,ez,hMiley,kk0nHrDu0;bEnDua;es,i0;ieDosa;ri;dDik;a8yopadhyD;ay;ra;er;k,ng;ic;cosZdYguilXkhtXlSnJrGsl3tchis2yD;aEd6;in;la;aEsl3;an;ujo,ya;dFgelD;ovD;!a;ersGov,reD;aDjL;ss1;en;en,on,s2;on;eksejGiyGmeiFvD;ar7es;ez;da;ev;ar;ams;ta",Honorific:"true¦director1field marsh2lieutenant1rear0sergeant major,vice0; admir1; gener0;al","Adj|Gerund":"true¦0:3H;1:3J;2:33;3:2Z;4:37;5:35;6:3E;7:31;8:38;9:2J;a35b2Vc2Dd1Te1If17g11h0Yi0Rjud9l0Nm0Gnu0Fo0Ap04rYsKtEuBvAw18yiel3;ar6e08;nBpA;l1Rs0B;fol3n21sett2;aEeDhrBi4ouc7rAwis0;e0Bif2oub2us0yi1;ea1SiA;l2vi1;l2mp0rr1J;nt1Xxi1;aMcreec7enten2PhLkyrocke0lo1Tmi2oJpHtDuBweA;e1Sl2;pp2CrA;gi1pri5roun3;aBea8iAri2Jun25;mula0r4;gge4rA;t2vi1;ark2eAraw2;e3llb2H;aAot7;ki1ri1;i1Xoc2B;dYtisf6;aEeBive0oAus7;a4l2;assu4defi1Tfres7ig1Tjuve0QlaImai1Ts0vAwar3;ea2italiAol1I;si1zi1;gi1ll6mb2vi1;a6eDier25lun9rAun2E;eBoA;mi5vo21;ce3s5vai2;n3rpleA;xi1;ffCpWutBverAwi1;arc7lap12p0Pri3whel8;goi1l6st1L;en3sA;et0;m2Lrtu4;aEeDiCoBuAyst0L;mb2;t1Lvi1;s5tiga0;an1Tl0n3smeri28;dAtu4;de17;aCeaBiAo0W;fesa0Vmi0vi1;di1ni1;c1Hg9s0;llumiZmFnArri0T;cDfurGsCtBviA;go25ti1;e1Qimi23oxica0rig0X;pi4ul0;orpo22r0M;po5;arrowi1eaBorr03umilA;ia0;li1rtwar8;lErA;atiCip0BoBuelA;i1li1;undbrea13wi1;f6ng;a4ea8;aIetc7it0lEoCrBulfA;il2;ee1JighZust1P;rAun3;ebo3thco8;aCoA;a0wA;e4i1;mi1tte4;di1sciA;na0;lectrJmHnExA;aCci0hBis0pA;an3lo3;aOila1D;c0spe1C;ab2cBdu4ergi15ga9live06ric7s04tA;hral2i0L;han0oura9;barras5er9pA;owe4;if6;aSeIiBrA;if0;sAzz6;aEgDhearCsen0tA;rAur13;ac0es5;teU;us0;ppoin0r8;biliIcFfiRgra3ligh0mDpres5sCvA;asHeloA;pi1;erE;an3eaNorA;ali0L;a6eiBliLrA;ea5;vi1;ta0;ma9ri1s7un0zz2;aPhMlo5oAripp2ut0;mGnArrespon3;cerEfDspi4tAvinU;inBrA;as0ibu0ol2;ui1;lic0u5;ni1;fDmCpA;eAromi5;l2ti1;an3;or0;aAil2;llen9n9r8;gi1;l8ptAri1;iva0;aff2eGin3lFoDrBuA;d3st2;eathtaAui5;ki1;gg2i2o8ri1unA;ci1;in3;co8wiA;lAtc7;de4;bsorVcOgonMlJmHnno6ppea2rFsA;pi4su4toA;nBun3;di1;is7;hi1;res0;li1;aFu5;si1;ar8lu4;ri1;mi1;iAzi1;zi1;cAhi1;eleDomA;moBpan6;yi1;da0;ra0;ti1;bi1;ng",Adverb:"true¦a08b05d00eYfSheQinPjustOkinda,likewiZmMnJoEpCquite,r9s5t2u0very,well;ltima01p0; to,wards5;h1iny bit,o0wiO;o,t6;en,us;eldom,o0uch;!me1rt0; of;how,times,w0C;a1e0;alS;ndomRth05;ar excellenEer0oint blank; Lhaps;f3n0utright;ce0ly;! 0;ag05moX; courGten;ewJo0; longWt 0;onHwithstand9;aybe,eanwhiNore0;!ovT;! aboX;deed,steY;lla,n0;ce;or3u0;ck1l9rther0;!moK;ing; 0evK;exampCgood,suH;n mas0vI;se;e0irect2; 2fini0;te0;ly;juAtrop;ackward,y 0;far,no0; means,w; GbroFd nauseam,gEl7ny5part,s4t 2w0;ay,hi0;le;be7l0mo7wor7;arge,ea6; soon,i4;mo0way;re;l 3mo2ongsi1ready,so,togeth0ways;er;de;st;b1t0;hat;ut;ain;ad;lot,posteriori",Conjunction:"true¦aXbTcReNhowMiEjust00noBo9p8supposing,t5wh0yet;e1il0o3;e,st;n1re0thN; if,by,vM;evL;h0il,o;erefOo0;!uU;lus,rovided th9;r0therwiM;! not; mattEr,w0;! 0;since,th4w7;f4n0; 0asmuch;as mIcaForder t0;h0o;at;! 0;only,t0w0;hen;!ev3;ith2ven0;! 0;if,tB;er;o0uz;s,z;e0ut,y the time;cau1f0;ore;se;lt3nd,s 0;far1if,m0soon1t2;uch0; as;hou0;gh",Currency:"true¦$,aud,bQcOdJeurIfHgbp,hkd,iGjpy,kElDp8r7s3usd,x2y1z0¢,£,¥,ден,лв,руб,฿,₡,₨,€,₭,﷼;lotyQł;en,uanP;af,of;h0t5;e0il5;k0q0;elK;oubleJp,upeeJ;e2ound st0;er0;lingG;n0soF;ceEnies;empi7i7;n,r0wanzaCyatC;!onaBw;ls,nr;ori7ranc9;!os;en3i2kk,o0;b0ll2;ra5;me4n0rham4;ar3;e0ny;nt1;aht,itcoin0;!s",Determiner:"true¦aBboth,d9e6few,le5mu8neiDplenty,s4th2various,wh0;at0ich0;evC;a0e4is,ose;!t;everal,ome;!ast,s;a1l0very;!se;ch;e0u;!s;!n0;!o0y;th0;er","Adj|Present":"true¦a07b04cVdQeNfJhollIidRlEmCnarrIoBp9qua8r7s3t2uttFw0;aKet,ro0;ng,u08;endChin;e2hort,l1mooth,our,pa9tray,u0;re,speU;i2ow;cu6da02leSpaN;eplica01i02;ck;aHerfePr0;eseUime,omV;bscu1pen,wn;atu0e3odeH;re;a2e1ive,ow0;er;an;st,y;ow;a2i1oul,r0;ee,inge;rm;iIke,ncy,st;l1mpty,x0;emHpress;abo4ic7;amp,e2i1oub0ry,ull;le;ffu9re6;fu8libe0;raE;alm,l5o0;mpleCn3ol,rr1unterfe0;it;e0u7;ct;juga8sum7;ea1o0;se;n,r;ankru1lu0;nt;pt;li2pproxi0rticula1;ma0;te;ght",Comparable:"true¦0:3C;1:3Q;2:3F;a3Tb3Cc33d2Ue2Nf2Ag1Wh1Li1Fj1Ek1Bl13m0Xn0So0Rp0Iqu0Gr07sHtCug0vAw4y3za0Q;el10ouN;ary,e6hi5i3ry;ck0Cde,l3n1ry,se;d,y;ny,te;a3i3R;k,ry;a3erda2ulgar;gue,in,st;a6en2Xhi5i4ouZr3;anqu2Den1ue;dy,g36me0ny;ck,rs29;ll,me,rt,wd3I;aRcaPeOhMiLkin0BlImGoEpDt6u4w3;eet,ift;b3dd0Wperfi21rre29;sta27t22;a8e7iff,r4u3;pUr1;a4ict,o3;ng;ig2Vn0N;a1ep,rn;le,rk,te0;e1Si2Vright0;ci1Zft,l3on,re;emn,id;a3el0;ll,rt;e4i3y;g2Mm0Z;ek,nd2T;ck24l0mp1M;a3iRrill,y;dy,l01rp;ve0Jxy;n1Kr3;ce,y;d,fe,int0l1Iv0V;a8e6i5o3ude;mantic,o19sy,u3;gh;pe,t1P;a3d,mo0A;dy,l;gg4iFndom,p3re,w;id;ed;ai2i3;ck,et;hoAink,l9o8r5u3;ny,r3;e,p12;egna2ic4o3;fouSud;ey,k0;liXor;ain,easa2;ny;dd,i0ld,ranL;aive,e5i4o3u15;b0Tisy,rm0Zsy;bb0ce,mb0S;a3r1w;r,t;ad,e5ild,o4u3;nda12te;ist,o1;a4ek,l3;low;s0ty;a8e7i6o3ucky;f0Kn4o15u3ve0w10y0O;d,sy;e0g;ke0l,mp,tt0Fve0;e1Qwd;me,r3te;ge;e4i3;nd;en;ol0ui19;cy,ll,n3;secu6t3;e3ima4;llege2rmedia3;te;re;aAe7i6o5u3;ge,m3ng1C;bZid;me0t;gh,l0;a3fYsita2;dy,rXv3;en0y;nd13ppy,r3;d3sh;!y;aFenEhCiBlAoofy,r3;a8e6i5o3ue0Z;o3ss;vy;m,s0;at,e3y;dy,n;nd,y;ad,ib,ooD;a2d1;a3o3;st0;tEuiS;u1y;aDeebCi9l8o6r5u3;ll,n3r0N;!ny;aDesh,iend0;a3nd,rmE;my;at,ir8;erce4nan3;ciA;! ;le;r,ul3;ty;a6erie,sse4v3xtre0A;il;nti3;al;r4s3;tern,y;ly,th0;appYe8i4u3;mb;r5vi4z3;zy;ne;e,ty;a3ep,n9;d3f,r;!ly;agey,h8l7o5r4u3;dd0r0te;isp,uel;ar3ld,mmon,st0ward0zy;se;evKou1;e3il0;ap,e3;sy;aHiFlCoAr5u3;ff,r0sy;ly;a6i3oad;g4llia2;nt;ht;sh,ve;ld,un3;cy;a4o3ue;nd,o1;ck,nd;g,tt3;er;d,ld,w1;dy;bsu6ng5we3;so3;me;ry;rd","Person|Adj":"true¦brown,du2earnest,frank,mi2r0sa1;a0ich,u1;ndy;sty",Modal:"true¦c5lets,m4ought3sh1w0;ill,o5;a0o4;ll,nt;! to,a;ight,ust;an,o0;uld",Verb:"true¦born,cannot,gonna,has,keep tabs,msg","Person|Verb":"true¦b8ch7dr6foster,gra5ja9lan4ma2ni9ollie,p1rob,s0wade;pike,t5ue;at,eg,ier2;ck,r0;k,shal;ce;ce,nt;ew;ase,u1;iff,l1ob,u0;ck;aze,ossom","Person|Place":"true¦a5darw6h3jordan,k2orlando,s0victo7;a0ydney;lvador,mara,ntiago;ent,obe;amil0ous0;ton;lexand1ust0;in;ria","Person|Date":"true¦a2j0sep;an0une;!uary;p0ugust,v0;ril"};const Ao=36,Io="0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ",No=Io.split("").reduce((function(e,t,n){return e[t]=n,e}),{});var jo=function(e){if(void 0!==No[e])return No[e];let t=0,n=1,r=Ao,a=1;for(;n=0;n--,a*=Ao){let r=e.charCodeAt(n)-48;r>10&&(r-=7),t+=r*a}return t};var Eo=function(e){const t=new RegExp("([0-9A-Z]+):([0-9A-Z]+)");for(let n=0;n{let o=e.nodes[r];"!"===o[0]&&(t.push(a),o=o.slice(1));const i=o.split(/([A-Z0-9,]+)/g);for(let o=0;o{const n=t.split("¦");return e[n[0]]=n[1],e}),{}),n={};return Object.keys(t).forEach((function(e){const r=Do(t[e]);"true"===e&&(e=!0);for(let t=0;t{let t=To(Po[e]);Go.test(e)?Object.keys(t).forEach((t=>{if(Lo[t]=e,"Noun|Verb"===e){let e=Vo(t,$o);Lo[e]="Plural|Verb"}})):Object.keys(t).forEach((t=>{zo[t]=e}))})),[":(",":)",":P",":p",":O",";(",";)",";P",";p",";O",":3",":|",":/",":\\",":$",":*",":@",":-(",":-)",":-P",":-p",":-O",":-3",":-|",":-/",":-\\",":-$",":-*",":-@",":^(",":^)",":^P",":^p",":^O",":^3",":^|",":^/",":^\\",":^$",":^*",":^@","):","(:","$:","*:",")-:","(-:","$-:","*-:",")^:","(^:","$^:","*^:","<3","zo[e]="Emoticon")),delete zo[""],delete zo.null,delete zo[" "];const So="Singular";var Mo={beforeTags:{Determiner:So,Possessive:So,Acronym:So,Noun:So,Adjective:So,PresentTense:So,Gerund:So,PastTense:So,Infinitive:So,Date:So,Ordinal:So,Demonym:So},afterTags:{Value:So,Modal:So,Copula:So,PresentTense:So,PastTense:So,Demonym:So,Actor:So},beforeWords:{the:So,with:So,without:So,of:So,for:So,any:So,all:So,on:So,cut:So,cuts:So,increase:So,decrease:So,raise:So,drop:So,save:So,saved:So,saves:So,make:So,makes:So,made:So,minus:So,plus:So,than:So,another:So,versus:So,neither:So,about:So,favorite:So,best:So,daily:So,weekly:So,linear:So,binary:So,mobile:So,lexical:So,technical:So,computer:So,scientific:So,security:So,government:So,popular:So,formal:So,no:So,more:So,one:So,let:So,her:So,his:So,their:So,our:So,us:So},afterWords:{of:So,system:So,aid:So,method:So,utility:So,tool:So,reform:So,therapy:So,philosophy:So,room:So,authority:So,says:So,said:So,wants:So,wanted:So,is:So,did:So,do:So,can:So,wise:So}};const Bo="Infinitive";var Ho={beforeTags:{Modal:Bo,Adverb:Bo,Negative:Bo,Plural:Bo},afterTags:{Determiner:Bo,Adverb:Bo,Possessive:Bo,Reflexive:Bo,Preposition:Bo,Cardinal:Bo,Comparative:Bo,Superlative:Bo},beforeWords:{i:Bo,we:Bo,you:Bo,they:Bo,to:Bo,please:Bo,will:Bo,have:Bo,had:Bo,would:Bo,could:Bo,should:Bo,do:Bo,did:Bo,does:Bo,can:Bo,must:Bo,us:Bo,me:Bo,let:Bo,even:Bo,when:Bo,help:Bo,he:Bo,she:Bo,it:Bo,being:Bo,bi:Bo,co:Bo,contra:Bo,de:Bo,inter:Bo,intra:Bo,mis:Bo,pre:Bo,out:Bo,counter:Bo,nobody:Bo,somebody:Bo,anybody:Bo,everybody:Bo},afterWords:{the:Bo,me:Bo,you:Bo,him:Bo,us:Bo,her:Bo,his:Bo,them:Bo,they:Bo,it:Bo,himself:Bo,herself:Bo,itself:Bo,myself:Bo,ourselves:Bo,themselves:Bo,something:Bo,anything:Bo,a:Bo,an:Bo,up:Bo,down:Bo,by:Bo,out:Bo,off:Bo,under:Bo,what:Bo,all:Bo,to:Bo,because:Bo,although:Bo,after:Bo,before:Bo,how:Bo,otherwise:Bo,together:Bo,though:Bo,into:Bo,yet:Bo,more:Bo,here:Bo,there:Bo,away:Bo}};var Jo={beforeTags:Object.assign({},Ho.beforeTags,Mo.beforeTags,{}),afterTags:Object.assign({},Ho.afterTags,Mo.afterTags,{}),beforeWords:Object.assign({},Ho.beforeWords,Mo.beforeWords,{}),afterWords:Object.assign({},Ho.afterWords,Mo.afterWords,{})};const Wo="Adjective";var Ko={beforeTags:{Determiner:Wo,Possessive:Wo,Hyphenated:Wo},afterTags:{Adjective:Wo},beforeWords:{seem:Wo,seemed:Wo,seems:Wo,feel:Wo,feels:Wo,felt:Wo,stay:Wo,appear:Wo,appears:Wo,appeared:Wo,also:Wo,over:Wo,under:Wo,too:Wo,it:Wo,but:Wo,still:Wo,really:Wo,quite:Wo,well:Wo,very:Wo,how:Wo,deeply:Wo,hella:Wo,profoundly:Wo,extremely:Wo,so:Wo,badly:Wo,mostly:Wo,totally:Wo,awfully:Wo,rather:Wo,nothing:Wo,something:Wo,anything:Wo,not:Wo,me:Wo,is:Wo},afterWords:{too:Wo,also:Wo,or:Wo,enough:Wo,about:Wo}};const qo="Gerund";var Uo={beforeTags:{Adverb:qo,Preposition:qo,Conjunction:qo},afterTags:{Adverb:qo,Possessive:qo,Person:qo,Pronoun:qo,Determiner:qo,Copula:qo,Preposition:qo,Conjunction:qo,Comparative:qo},beforeWords:{been:qo,keep:qo,continue:qo,stop:qo,am:qo,be:qo,me:qo,began:qo,start:qo,starts:qo,started:qo,stops:qo,stopped:qo,help:qo,helps:qo,avoid:qo,avoids:qo,love:qo,loves:qo,loved:qo,hate:qo,hates:qo,hated:qo},afterWords:{you:qo,me:qo,her:qo,him:qo,his:qo,them:qo,their:qo,it:qo,this:qo,there:qo,on:qo,about:qo,for:qo,up:qo,down:qo}};var Qo={beforeTags:Object.assign({},Ko.beforeTags,Uo.beforeTags,{Imperative:"Gerund",Infinitive:"Adjective",PresentTense:"Gerund",Plural:"Gerund"}),afterTags:Object.assign({},Ko.afterTags,Uo.afterTags,{Singular:"Adjective"}),beforeWords:Object.assign({},Ko.beforeWords,Uo.beforeWords,{is:"Adjective",was:"Adjective",of:"Adjective",suggest:"Gerund",recommend:"Gerund"}),afterWords:Object.assign({},Ko.afterWords,Uo.afterWords,{to:"Gerund",not:"Gerund",the:"Gerund"})};const Ro={beforeTags:{Determiner:void 0,Cardinal:"Noun",PhrasalVerb:"Adjective"},afterTags:{}};var _o={beforeTags:Object.assign({},Ko.beforeTags,Mo.beforeTags,Ro.beforeTags),afterTags:Object.assign({},Ko.afterTags,Mo.afterTags,Ro.afterTags),beforeWords:Object.assign({},Ko.beforeWords,Mo.beforeWords,{are:"Adjective",is:"Adjective",was:"Adjective",be:"Adjective",off:"Adjective",out:"Adjective"}),afterWords:Object.assign({},Ko.afterWords,Mo.afterWords)};let Xo="PastTense";const Zo={beforeTags:{Adverb:Xo,Pronoun:Xo,ProperNoun:Xo,Auxiliary:Xo,Noun:Xo},afterTags:{Possessive:Xo,Pronoun:Xo,Determiner:Xo,Adverb:Xo,Comparative:Xo,Date:Xo,Gerund:Xo},beforeWords:{be:Xo,who:Xo,get:"Adjective",had:Xo,has:Xo,have:Xo,been:Xo,it:Xo,as:Xo,for:"Adjective",more:"Adjective"},afterWords:{by:Xo,back:Xo,out:Xo,in:Xo,up:Xo,down:Xo,before:Xo,after:Xo,for:Xo,the:Xo,with:Xo,as:Xo,on:Xo,at:Xo,between:Xo,to:Xo,into:Xo,us:Xo,them:Xo,his:Xo,her:Xo,their:Xo,our:Xo,me:Xo}};var Yo={beforeTags:Object.assign({},Ko.beforeTags,Zo.beforeTags),afterTags:Object.assign({},Ko.afterTags,Zo.afterTags),beforeWords:Object.assign({},Ko.beforeWords,Zo.beforeWords),afterWords:Object.assign({},Ko.afterWords,Zo.afterWords)};const ei={afterTags:{Noun:"Adjective",Conjunction:void 0}};var ti={beforeTags:Object.assign({},Ko.beforeTags,Ho.beforeTags,{Adverb:void 0,Negative:void 0}),afterTags:Object.assign({},Ko.afterTags,Ho.afterTags,ei.afterTags),beforeWords:Object.assign({},Ko.beforeWords,Ho.beforeWords,{have:void 0,had:void 0,not:void 0,went:"Adjective",goes:"Adjective",got:"Adjective",be:"Adjective"}),afterWords:Object.assign({},Ko.afterWords,Ho.afterWords,{to:void 0,as:"Adjective"})};const ni={Copula:"Gerund",PastTense:"Gerund",PresentTense:"Gerund",Infinitive:"Gerund"},ri={},ai={are:"Gerund",were:"Gerund",be:"Gerund",no:"Gerund",without:"Gerund",you:"Gerund",we:"Gerund",they:"Gerund",he:"Gerund",she:"Gerund",us:"Gerund",them:"Gerund"},oi={the:"Gerund",this:"Gerund",that:"Gerund",me:"Gerund",us:"Gerund",them:"Gerund"};var ii={beforeTags:Object.assign({},Uo.beforeTags,Mo.beforeTags,ni),afterTags:Object.assign({},Uo.afterTags,Mo.afterTags,ri),beforeWords:Object.assign({},Uo.beforeWords,Mo.beforeWords,ai),afterWords:Object.assign({},Uo.afterWords,Mo.afterWords,oi)};const si="Singular",li="Infinitive";var ui={beforeTags:Object.assign({},Ho.beforeTags,Mo.beforeTags,{Adjective:si,Particle:si}),afterTags:Object.assign({},Ho.afterTags,Mo.afterTags,{ProperNoun:li,Gerund:li,Adjective:li,Copula:si}),beforeWords:Object.assign({},Ho.beforeWords,Mo.beforeWords,{is:si,was:si,of:si,have:null}),afterWords:Object.assign({},Ho.afterWords,Mo.afterWords,{instead:li,about:li,his:li,her:li,to:null,by:null,in:null})};const ci="Person";var hi={beforeTags:{Honorific:ci,Person:ci},afterTags:{Person:ci,ProperNoun:ci,Verb:ci},ownTags:{ProperNoun:ci},beforeWords:{hi:ci,hey:ci,yo:ci,dear:ci,hello:ci},afterWords:{said:ci,says:ci,told:ci,tells:ci,feels:ci,felt:ci,seems:ci,thinks:ci,thought:ci,spends:ci,spendt:ci,plays:ci,played:ci,sing:ci,sang:ci,learn:ci,learned:ci,wants:ci,wanted:ci}};const di="Month",gi={beforeTags:{Date:di,Value:di},afterTags:{Date:di,Value:di},beforeWords:{by:di,in:di,on:di,during:di,after:di,before:di,between:di,until:di,til:di,sometime:di,of:di,this:di,next:di,last:di,previous:di,following:di,with:"Person"},afterWords:{sometime:di,in:di,of:di,until:di,the:di}};var mi={beforeTags:Object.assign({},hi.beforeTags,gi.beforeTags),afterTags:Object.assign({},hi.afterTags,gi.afterTags),beforeWords:Object.assign({},hi.beforeWords,gi.beforeWords),afterWords:Object.assign({},hi.afterWords,gi.afterWords)};const pi="Place",fi={beforeTags:{Place:pi},afterTags:{Place:pi,Abbreviation:pi},beforeWords:{in:pi,by:pi,near:pi,from:pi,to:pi},afterWords:{in:pi,by:pi,near:pi,from:pi,to:pi,government:pi,council:pi,region:pi,city:pi}};let vi="Unit";const bi={"Actor|Verb":Jo,"Adj|Gerund":Qo,"Adj|Noun":_o,"Adj|Past":Yo,"Adj|Present":ti,"Noun|Verb":ui,"Noun|Gerund":ii,"Person|Noun":{beforeTags:Object.assign({},Mo.beforeTags,hi.beforeTags),afterTags:Object.assign({},Mo.afterTags,hi.afterTags),beforeWords:Object.assign({},Mo.beforeWords,hi.beforeWords,{i:"Infinitive",we:"Infinitive"}),afterWords:Object.assign({},Mo.afterWords,hi.afterWords)},"Person|Date":mi,"Person|Verb":{beforeTags:Object.assign({},Mo.beforeTags,hi.beforeTags,Ho.beforeTags),afterTags:Object.assign({},Mo.afterTags,hi.afterTags,Ho.afterTags),beforeWords:Object.assign({},Mo.beforeWords,hi.beforeWords,Ho.beforeWords),afterWords:Object.assign({},Mo.afterWords,hi.afterWords,Ho.afterWords)},"Person|Place":{beforeTags:Object.assign({},fi.beforeTags,hi.beforeTags),afterTags:Object.assign({},fi.afterTags,hi.afterTags),beforeWords:Object.assign({},fi.beforeWords,hi.beforeWords),afterWords:Object.assign({},fi.afterWords,hi.afterWords)},"Person|Adj":{beforeTags:Object.assign({},hi.beforeTags,Ko.beforeTags),afterTags:Object.assign({},hi.afterTags,Ko.afterTags),beforeWords:Object.assign({},hi.beforeWords,Ko.beforeWords),afterWords:Object.assign({},hi.afterWords,Ko.afterWords)},"Unit|Noun":{beforeTags:{Value:vi},afterTags:{},beforeWords:{per:vi,every:vi,each:vi,square:vi,cubic:vi,sq:vi,metric:vi},afterWords:{per:vi,squared:vi,cubed:vi,long:vi}}},yi=(e,t)=>{let n=Object.keys(e).reduce(((t,n)=>(t[n]="Infinitive"===e[n]?"PresentTense":"Plural",t)),{});return Object.assign(n,t)};bi["Plural|Verb"]={beforeWords:yi(bi["Noun|Verb"].beforeWords,{had:"Plural",have:"Plural"}),afterWords:yi(bi["Noun|Verb"].afterWords,{his:"PresentTense",her:"PresentTense",its:"PresentTense",in:null,to:null,is:"PresentTense",by:"PresentTense"}),beforeTags:yi(bi["Noun|Verb"].beforeTags,{Conjunction:"PresentTense",Noun:void 0,ProperNoun:"PresentTense"}),afterTags:yi(bi["Noun|Verb"].afterTags,{Gerund:"Plural",Noun:"PresentTense",Value:"PresentTense"})};var wi=bi;const ki="Adjective",Pi="Infinitive",Ai="PresentTense",Ii="Singular",Ni="PastTense",ji="Adverb",Ei="Plural",xi="Actor",Di="Verb",Ti="Noun",Ci="LastName",Oi="Modal",Fi="Place",Vi="Participle";var Gi=[null,null,{ea:Ii,ia:Ti,ic:ki,ly:ji,"'n":Di,"'t":Di},{oed:Ni,ued:Ni,xed:Ni," so":ji,"'ll":Oi,"'re":"Copula",azy:ki,eer:Ti,end:Di,ped:Ni,ffy:ki,ify:Pi,ing:"Gerund",ize:Pi,ibe:Pi,lar:ki,mum:ki,nes:Ai,nny:ki,ous:ki,que:ki,ger:Ti,ber:Ti,rol:Ii,sis:Ii,ogy:Ii,oid:Ii,ian:Ii,zes:Ai,eld:Ni,ken:Vi,ven:Vi,ten:Vi,ect:Pi,ict:Pi,ign:Pi,oze:Pi,ful:ki,bal:ki,ton:Ti},{amed:Ni,aped:Ni,ched:Ni,lked:Ni,rked:Ni,reed:Ni,nded:Ni,mned:ki,cted:Ni,dged:Ni,ield:Ii,akis:Ci,cede:Pi,chuk:Ci,czyk:Ci,ects:Ai,iend:Ii,ends:Di,enko:Ci,ette:Ii,iary:Ii,wner:Ii,fies:Ai,fore:ji,gate:Pi,gone:ki,ices:Ei,ints:Ei,ruct:Pi,ines:Ei,ions:Ei,ners:Ei,pers:Ei,lers:Ei,less:ki,llen:ki,made:ki,nsen:Ci,oses:Ai,ould:Oi,some:ki,sson:Ci,ians:Ei,tion:Ii,tage:Ti,ique:Ii,tive:ki,tors:Ti,vice:Ii,lier:Ii,fier:Ii,wned:Ni,gent:Ii,tist:xi,pist:xi,rist:xi,mist:xi,yist:xi,vist:xi,ists:xi,lite:Ii,site:Ii,rite:Ii,mite:Ii,bite:Ii,mate:Ii,date:Ii,ndal:Ii,vent:Ii,uist:xi,gist:xi,note:Ii,cide:Ii,ence:Ii,wide:ki,vide:Pi,ract:Pi,duce:Pi,pose:Pi,eive:Pi,lyze:Pi,lyse:Pi,iant:ki,nary:ki,ghty:ki,uent:ki,erer:xi,bury:Fi,dorf:Ti,esty:Ti,wych:Fi,dale:Fi,folk:Fi},{elist:xi,holic:Ii,phite:Ii,tized:Ni,urned:Ni,eased:Ni,ances:Ei,bound:ki,ettes:Ei,fully:ji,ishes:Ai,ities:Ei,marek:Ci,nssen:Ci,ology:Ti,osome:Ii,tment:Ii,ports:Ei,rough:ki,tches:Ai,tieth:"Ordinal",tures:Ei,wards:ji,where:ji,archy:Ti,pathy:Ti,opoly:Ti,embly:Ti,phate:Ti,ndent:Ii,scent:Ii,onist:xi,anist:xi,alist:xi,olist:xi,icist:xi,ounce:Pi,iable:ki,borne:ki,gnant:ki,inant:ki,igent:ki,atory:ki,rient:Ii,dient:Ii,maker:xi,burgh:Fi,mouth:Fi,ceter:Fi,ville:Fi,worth:Ti},{auskas:Ci,parent:Ii,cedent:Ii,ionary:Ii,cklist:Ii,keeper:xi,logist:xi,teenth:"Value",worker:xi,master:xi,writer:xi,brough:Fi,cester:Fi},{logists:xi,opoulos:Ci,borough:Fi,sdottir:Ci}];const zi="Adjective",Li="Noun",$i="Verb";var Si=[null,null,{},{neo:Li,bio:Li,"de-":$i,"re-":$i,"un-":$i,"ex-":Li},{anti:Li,auto:Li,faux:zi,hexa:Li,kilo:Li,mono:Li,nano:Li,octa:Li,poly:Li,semi:zi,tele:Li,"pro-":zi,"mis-":$i,"dis-":$i,"pre-":zi},{anglo:Li,centi:Li,ethno:Li,ferro:Li,grand:Li,hepta:Li,hydro:Li,intro:Li,macro:Li,micro:Li,milli:Li,nitro:Li,penta:Li,quasi:zi,radio:Li,tetra:Li,"omni-":zi,"post-":zi},{pseudo:zi,"extra-":zi,"hyper-":zi,"inter-":zi,"intra-":zi,"deca-":zi},{electro:Li}];const Mi="Adjective",Bi="Infinitive",Hi="PresentTense",Ji="Singular",Wi="PastTense",Ki="Adverb",qi="Expression",Ui="Actor",Qi="Verb",Ri="Noun",_i="LastName";var Xi={a:[[/.[aeiou]na$/,Ri,"tuna"],[/.[oau][wvl]ska$/,_i],[/.[^aeiou]ica$/,Ji,"harmonica"],[/^([hyj]a+)+$/,qi,"haha"]],c:[[/.[^aeiou]ic$/,Mi]],d:[[/[aeiou](pp|ll|ss|ff|gg|tt|rr|bb|nn|mm)ed$/,Wi,"popped"],[/.[aeo]{2}[bdgmnprvz]ed$/,Wi,"rammed"],[/.[aeiou][sg]hed$/,Wi,"gushed"],[/.[aeiou]red$/,Wi,"hired"],[/.[aeiou]r?ried$/,Wi,"hurried"],[/[^aeiou]ard$/,Ji,"steward"],[/[aeiou][^aeiou]id$/,Mi,""],[/.[vrl]id$/,Mi,"livid"],[/..led$/,Wi,"hurled"],[/.[iao]sed$/,Wi,""],[/[aeiou]n?[cs]ed$/,Wi,""],[/[aeiou][rl]?[mnf]ed$/,Wi,""],[/[aeiou][ns]?c?ked$/,Wi,"bunked"],[/[aeiou]gned$/,Wi],[/[aeiou][nl]?ged$/,Wi],[/.[tdbwxyz]ed$/,Wi],[/[^aeiou][aeiou][tvx]ed$/,Wi],[/.[cdflmnprstv]ied$/,Wi,"emptied"]],e:[[/.[lnr]ize$/,Bi,"antagonize"],[/.[^aeiou]ise$/,Bi,"antagonise"],[/.[aeiou]te$/,Bi,"bite"],[/.[^aeiou][ai]ble$/,Mi,"fixable"],[/.[^aeiou]eable$/,Mi,"maleable"],[/.[ts]ive$/,Mi,"festive"],[/[a-z]-like$/,Mi,"woman-like"]],h:[[/.[^aeiouf]ish$/,Mi,"cornish"],[/.v[iy]ch$/,_i,"..ovich"],[/^ug?h+$/,qi,"ughh"],[/^uh[ -]?oh$/,qi,"uhoh"],[/[a-z]-ish$/,Mi,"cartoon-ish"]],i:[[/.[oau][wvl]ski$/,_i,"polish-male"]],k:[[/^(k){2}$/,qi,"kkkk"]],l:[[/.[gl]ial$/,Mi,"familial"],[/.[^aeiou]ful$/,Mi,"fitful"],[/.[nrtumcd]al$/,Mi,"natal"],[/.[^aeiou][ei]al$/,Mi,"familial"]],m:[[/.[^aeiou]ium$/,Ji,"magnesium"],[/[^aeiou]ism$/,Ji,"schism"],[/^[hu]m+$/,qi,"hmm"],[/^\d+ ?[ap]m$/,"Date","3am"]],n:[[/.[lsrnpb]ian$/,Mi,"republican"],[/[^aeiou]ician$/,Ui,"musician"],[/[aeiou][ktrp]in'$/,"Gerund","cookin'"]],o:[[/^no+$/,qi,"noooo"],[/^(yo)+$/,qi,"yoo"],[/^wo{2,}[pt]?$/,qi,"woop"]],r:[[/.[bdfklmst]ler$/,"Noun"],[/[aeiou][pns]er$/,Ji],[/[^i]fer$/,Bi],[/.[^aeiou][ao]pher$/,Ui],[/.[lk]er$/,"Noun"],[/.ier$/,"Comparative"]],t:[[/.[di]est$/,"Superlative"],[/.[icldtgrv]ent$/,Mi],[/[aeiou].*ist$/,Mi],[/^[a-z]et$/,Qi]],s:[[/.[^aeiou]ises$/,Hi],[/.[rln]ates$/,Hi],[/.[^z]ens$/,Qi],[/.[lstrn]us$/,Ji],[/.[aeiou]sks$/,Hi],[/.[aeiou]kes$/,Hi],[/[aeiou][^aeiou]is$/,Ji],[/[a-z]'s$/,Ri],[/^yes+$/,qi]],v:[[/.[^aeiou][ai][kln]ov$/,_i]],y:[[/.[cts]hy$/,Mi],[/.[st]ty$/,Mi],[/.[tnl]ary$/,Mi],[/.[oe]ry$/,Ji],[/[rdntkbhs]ly$/,Ki],[/.(gg|bb|zz)ly$/,Mi],[/...lly$/,Ki],[/.[gk]y$/,Mi],[/[bszmp]{2}y$/,Mi],[/.[ai]my$/,Mi],[/[ea]{2}zy$/,Mi],[/.[^aeiou]ity$/,Ji]]};const Zi="Verb",Yi="Noun";var es={leftTags:[["Adjective",Yi],["Possessive",Yi],["Determiner",Yi],["Adverb",Zi],["Pronoun",Zi],["Value",Yi],["Ordinal",Yi],["Modal",Zi],["Superlative",Yi],["Demonym",Yi],["Honorific","Person"]],leftWords:[["i",Zi],["first",Yi],["it",Zi],["there",Zi],["not",Zi],["because",Yi],["if",Yi],["but",Yi],["who",Zi],["this",Yi],["his",Yi],["when",Yi],["you",Zi],["very","Adjective"],["old",Yi],["never",Zi],["before",Yi],["a",Yi],["the",Yi],["been",Zi]],rightTags:[["Copula",Yi],["PastTense",Yi],["Conjunction",Yi],["Modal",Yi]],rightWords:[["there",Zi],["me",Zi],["man","Adjective"],["him",Zi],["it",Zi],["were",Yi],["took",Yi],["himself",Zi],["went",Yi],["who",Yi],["jr","Person"]]},ts={fwd:"3:ser,ier¦1er:h,t,f,l,n¦1r:e¦2er:ss,or,om",both:"3er:ver,ear,alm¦3ner:hin¦3ter:lat¦2mer:im¦2er:ng,rm,mb¦2ber:ib¦2ger:ig¦1er:w,p,k,d¦ier:y",rev:"1:tter,yer¦2:uer,ver,ffer,oner,eler,ller,iler,ster,cer,uler,sher,ener,gher,aner,adder,nter,eter,rter,hter,rner,fter¦3:oser,ooler,eafer,user,airer,bler,maler,tler,eater,uger,rger,ainer,urer,ealer,icher,pler,emner,icter,nser,iser¦4:arser,viner,ucher,rosser,somer,ndomer,moter,oother,uarer,hiter¦5:nuiner,esser,emier¦ar:urther",ex:"worse:bad¦better:good¦4er:fair,gray,poor¦1urther:far¦3ter:fat,hot,wet¦3er:lay,shy,fun¦3der:mad,sad¦4der:glad¦:¦4r:cute,dire,fake,fine,free,lame,late,pale,rare,ripe,rude,safe,sore,tame,wide¦5r:eerie,stale"},ns={fwd:"1:nning,tting,rring,pping,eing,mming,gging,dding,bbing,kking¦2:eking,oling,eling,eming¦3:velling,siting,uiting,fiting,loting,geting,ialing,celling¦4:graming",both:"1:aing,iing,fing,xing,ying,oing,hing,wing¦2:tzing,rping,izzing,bting,mning,sping,wling,rling,wding,rbing,uping,lming,wning,mping,oning,lting,mbing,lking,fting,hting,sking,gning,pting,cking,ening,nking,iling,eping,ering,rting,rming,cting,lping,ssing,nting,nding,lding,sting,rning,rding,rking¦3:belling,siping,toming,yaking,uaking,oaning,auling,ooping,aiding,naping,euring,tolling,uzzing,ganing,haning,ualing,halling,iasing,auding,ieting,ceting,ouling,voring,ralling,garing,joring,oaming,oaking,roring,nelling,ooring,uelling,eaming,ooding,eaping,eeting,ooting,ooming,xiting,keting,ooking,ulling,airing,oaring,biting,outing,oiting,earing,naling,oading,eeding,ouring,eaking,aiming,illing,oining,eaning,onging,ealing,aining,eading¦4:thoming,melling,aboring,ivoting,weating,dfilling,onoring,eriting,imiting,tialling,rgining,otoring,linging,winging,lleting,louding,spelling,mpelling,heating,feating,opelling,choring,welling,ymaking,ctoring,calling,peating,iloring,laiting,utoring,uditing,mmaking,loating,iciting,waiting,mbating,voiding,otalling,nsoring,nselling,ocusing,itoring,eloping¦5:rselling,umpeting,atrolling,treating,tselling,rpreting,pringing,ummeting,ossoming,elmaking,eselling,rediting,totyping,onmaking,rfeiting,ntrolling¦5e:chmaking,dkeeping,severing,erouting,ecreting,ephoning,uthoring,ravening,reathing,pediting,erfering,eotyping,fringing,entoring,ombining,ompeting¦4e:emaking,eething,twining,rruling,chuting,xciting,rseding,scoping,edoring,pinging,lunging,agining,craping,pleting,eleting,nciting,nfining,ncoding,tponing,ecoding,writing,esaling,nvening,gnoring,evoting,mpeding,rvening,dhering,mpiling,storing,nviting,ploring¦3e:tining,nuring,saking,miring,haling,ceding,xuding,rining,nuting,laring,caring,miling,riding,hoking,piring,lading,curing,uading,noting,taping,futing,paring,hading,loding,siring,guring,vading,voking,during,niting,laning,caping,luting,muting,ruding,ciding,juring,laming,caling,hining,uoting,liding,ciling,duling,tuting,puting,cuting,coring,uiding,tiring,turing,siding,rading,enging,haping,buting,lining,taking,anging,haring,uiring,coming,mining,moting,suring,viding,luding¦2e:tring,zling,uging,oging,gling,iging,vring,fling,lging,obing,psing,pling,ubing,cling,dling,wsing,iking,rsing,dging,kling,ysing,tling,rging,eging,nsing,uning,osing,uming,using,ibing,bling,aging,ising,asing,ating¦2ie:rlying¦1e:zing,uing,cing,ving",rev:"ying:ie¦1ing:se,ke,te,we,ne,re,de,pe,me,le,c,he¦2ing:ll,ng,dd,ee,ye,oe,rg,us¦2ning:un¦2ging:og,ag,ug,ig,eg¦2ming:um¦2bing:ub,ab,eb,ob¦3ning:lan,can,hin,pin,win¦3ring:cur,lur,tir,tar,pur,car¦3ing:ait,del,eel,fin,eat,oat,eem,lel,ool,ein,uin¦3ping:rop,rap,top,uip,wap,hip,hop,lap,rip,cap¦3ming:tem,wim,rim,kim,lim¦3ting:mat,cut,pot,lit,lot,hat,set,pit,put¦3ding:hed,bed,bid¦3king:rek¦3ling:cil,pel¦3bing:rib¦4ning:egin¦4ing:isit,ruit,ilot,nsit,dget,rkel,ival,rcel¦4ring:efer,nfer¦4ting:rmit,mmit,ysit,dmit,emit,bmit,tfit,gret¦4ling:evel,xcel,ivel¦4ding:hred¦5ing:arget,posit,rofit¦5ring:nsfer¦5ting:nsmit,orget,cquit¦5ling:ancel,istil",ex:"3:adding,eating,aiming,aiding,airing,outing,gassing,setting,getting,putting,cutting,winning,sitting,betting,mapping,tapping,letting,bidding,hitting,tanning,netting,popping,fitting,capping,lapping,barring,banning,vetting,topping,rotting,tipping,potting,wetting,pitting,dipping,budding,hemming,pinning,jetting,kidding,padding,podding,sipping,wedding,bedding,donning,warring,penning,gutting,cueing,wadding,petting,ripping,napping,matting,tinning,binning,dimming,hopping,mopping,nodding,panning,rapping,ridding,sinning¦4:selling,falling,calling,waiting,editing,telling,rolling,heating,boating,hanging,beating,coating,singing,tolling,felling,polling,discing,seating,voiding,gelling,yelling,baiting,reining,ruining,seeking,spanning,stepping,knitting,emitting,slipping,quitting,dialing,omitting,clipping,shutting,skinning,abutting,flipping,trotting,cramming,fretting,suiting¦5:bringing,treating,spelling,stalling,trolling,expelling,rivaling,wringing,deterring,singeing,befitting,refitting¦6:enrolling,distilling,scrolling,strolling,caucusing,travelling¦7:installing,redefining,stencilling,recharging,overeating,benefiting,unraveling,programing¦9:reprogramming¦is:being¦2e:using,aging,owing¦3e:making,taking,coming,noting,hiring,filing,coding,citing,doping,baking,coping,hoping,lading,caring,naming,voting,riding,mining,curing,lining,ruling,typing,boring,dining,firing,hiding,piling,taping,waning,baling,boning,faring,honing,wiping,luring,timing,wading,piping,fading,biting,zoning,daring,waking,gaming,raking,ceding,tiring,coking,wining,joking,paring,gaping,poking,pining,coring,liming,toting,roping,wiring,aching¦4e:writing,storing,eroding,framing,smoking,tasting,wasting,phoning,shaking,abiding,braking,flaking,pasting,priming,shoring,sloping,withing,hinging¦5e:defining,refining,renaming,swathing,fringing,reciting¦1ie:dying,tying,lying,vying¦7e:sunbathing"},rs={fwd:"1:mt¦2:llen¦3:iven,aken¦:ne¦y:in",both:"1:wn¦2:me,aten¦3:seen,bidden,isen¦4:roven,asten¦3l:pilt¦3d:uilt¦2e:itten¦1im:wum¦1eak:poken¦1ine:hone¦1ose:osen¦1in:gun¦1ake:woken¦ear:orn¦eal:olen¦eeze:ozen¦et:otten¦ink:unk¦ing:ung",rev:"2:un¦oken:eak¦ought:eek¦oven:eave¦1ne:o¦1own:ly¦1den:de¦1in:ay¦2t:am¦2n:ee¦3en:all¦4n:rive,sake,take¦5n:rgive",ex:"2:been¦3:seen,run¦4:given,taken¦5:shaken¦2eak:broken¦1ive:dove¦2y:flown¦3e:hidden,ridden¦1eek:sought¦1ake:woken¦1eave:woven"},as={fwd:"1:oes¦1ve:as",both:"1:xes¦2:zzes,ches,shes,sses¦3:iases¦2y:llies,plies¦1y:cies,bies,ties,vies,nies,pies,dies,ries,fies¦:s",rev:"1ies:ly¦2es:us,go,do¦3es:cho,eto",ex:"2:does,goes¦3:gasses¦5:focuses¦is:are¦3y:relies¦2y:flies¦2ve:has"},os={fwd:"1st:e¦1est:l,m,f,s¦1iest:cey¦2est:or,ir¦3est:ver",both:"4:east¦5:hwest¦5lest:erful¦4est:weet,lgar,tter,oung¦4most:uter¦3est:ger,der,rey,iet,ong,ear¦3test:lat¦3most:ner¦2est:pt,ft,nt,ct,rt,ht¦2test:it¦2gest:ig¦1est:b,k,n,p,h,d,w¦iest:y",rev:"1:ttest,nnest,yest¦2:sest,stest,rmest,cest,vest,lmest,olest,ilest,ulest,ssest,imest,uest¦3:rgest,eatest,oorest,plest,allest,urest,iefest,uelest,blest,ugest,amest,yalest,ealest,illest,tlest,itest¦4:cerest,eriest,somest,rmalest,ndomest,motest,uarest,tiffest¦5:leverest,rangest¦ar:urthest¦3ey:riciest",ex:"best:good¦worst:bad¦5est:great¦4est:fast,full,fair,dull¦3test:hot,wet,fat¦4nest:thin¦1urthest:far¦3est:gay,shy,ill¦4test:neat¦4st:late,wide,fine,safe,cute,fake,pale,rare,rude,sore,ripe,dire¦6st:severe"},is={fwd:"1:tistic,eable,lful,sful,ting,tty¦2:onate,rtable,geous,ced,seful,ctful¦3:ortive,ented¦arity:ear¦y:etic¦fulness:begone¦1ity:re¦1y:tiful,gic¦2ity:ile,imous,ilous,ime¦2ion:ated¦2eness:iving¦2y:trious¦2ation:iring¦2tion:vant¦3ion:ect¦3ce:mant,mantic¦3tion:irable¦3y:est,estic¦3m:mistic,listic¦3ess:ning¦4n:utious¦4on:rative,native,vative,ective¦4ce:erant",both:"1:king,wing¦2:alous,ltuous,oyful,rdous¦3:gorous,ectable,werful,amatic¦4:oised,usical,agical,raceful,ocused,lined,ightful¦5ness:stful,lding,itous,nuous,ulous,otous,nable,gious,ayful,rvous,ntous,lsive,peful,entle,ciful,osive,leful,isive,ncise,reful,mious¦5ty:ivacious¦5ties:ubtle¦5ce:ilient,adiant,atient¦5cy:icient¦5sm:gmatic¦5on:sessive,dictive¦5ity:pular,sonal,eative,entic¦5sity:uminous¦5ism:conic¦5nce:mperate¦5ility:mitable¦5ment:xcited¦5n:bitious¦4cy:brant,etent,curate¦4ility:erable,acable,icable,ptable¦4ty:nacious,aive,oyal,dacious¦4n:icious¦4ce:vient,erent,stent,ndent,dient,quent,ident¦4ness:adic,ound,hing,pant,sant,oing,oist,tute¦4icity:imple¦4ment:fined,mused¦4ism:otic¦4ry:dantic¦4ity:tund,eral¦4edness:hand¦4on:uitive¦4lity:pitable¦4sm:eroic,namic¦4sity:nerous¦3th:arm¦3ility:pable,bable,dable,iable¦3cy:hant,nant,icate¦3ness:red,hin,nse,ict,iet,ite,oud,ind,ied,rce¦3ion:lute¦3ity:ual,gal,volous,ial¦3ce:sent,fensive,lant,gant,gent,lent,dant¦3on:asive¦3m:fist,sistic,iastic¦3y:terious,xurious,ronic,tastic¦3ur:amorous¦3e:tunate¦3ation:mined¦3sy:rteous¦3ty:ain¦3ry:ave¦3ment:azed¦2ness:de,on,ue,rn,ur,ft,rp,pe,om,ge,rd,od,ay,ss,er,ll,oy,ap,ht,ld,ad,rt¦2inousness:umous¦2ity:neous,ene,id,ane¦2cy:bate,late¦2ation:ized¦2ility:oble,ible¦2y:odic¦2e:oving,aring¦2s:ost¦2itude:pt¦2dom:ee¦2ance:uring¦2tion:reet¦2ion:oted¦2sion:ending¦2liness:an¦2or:rdent¦1th:ung¦1e:uable¦1ness:w,h,k,f¦1ility:mble¦1or:vent¦1ement:ging¦1tiquity:ncient¦1ment:hed¦verty:or¦ength:ong¦eat:ot¦pth:ep¦iness:y",rev:"",ex:"5:forceful,humorous¦8:charismatic¦13:understanding¦5ity:active¦11ness:adventurous,inquisitive,resourceful¦8on:aggressive,automatic,perceptive¦7ness:amorous,fatuous,furtive,ominous,serious¦5ness:ample,sweet¦12ness:apprehensive,cantankerous,contemptuous,ostentatious¦13ness:argumentative,conscientious¦9ness:assertive,facetious,imperious,inventive,oblivious,rapacious,receptive,seditious,whimsical¦10ness:attractive,expressive,impressive,loquacious,salubrious,thoughtful¦3edom:boring¦4ness:calm,fast,keen,tame¦8ness:cheerful,gracious,specious,spurious,timorous,unctuous¦5sity:curious¦9ion:deliberate¦8ion:desperate¦6e:expensive¦7ce:fragrant¦3y:furious¦9ility:ineluctable¦6ism:mystical¦8ity:physical,proactive,sensitive,vertical¦5cy:pliant¦7ity:positive¦9ity:practical¦12ism:professional¦6ce:prudent¦3ness:red¦6cy:vagrant¦3dom:wise"};var ss=function(e="",t={}){let n=function(e,t={}){return t.hasOwnProperty(e)?t[e]:null}(e,t.ex);return n=n||function(e,t=[]){for(let n=0;n=1;r-=1){let a=e.length-r,o=e.substring(a,e.length);if(!0===t.hasOwnProperty(o))return e.slice(0,a)+t[o];if(!0===n.hasOwnProperty(o))return e.slice(0,a)+n[o]}return t.hasOwnProperty("")?e+t[""]:n.hasOwnProperty("")?e+n[""]:null}(e,t.fwd,t.both),n=n||e,n};const ls=function(e){return Object.entries(e).reduce(((e,t)=>(e[t[1]]=t[0],e)),{})};var us=function(e={}){return{reversed:!0,both:ls(e.both),ex:ls(e.ex),fwd:e.rev||{}}};const cs=/^([0-9]+)/,hs=function(e){let t=function(e){let t={};return e.split("¦").forEach((e=>{let[n,r]=e.split(":");r=(r||"").split(","),r.forEach((e=>{t[e]=n}))})),t}(e);return Object.keys(t).reduce(((e,n)=>(e[n]=function(e="",t=""){let n=(t=String(t)).match(cs);if(null===n)return t;let r=Number(n[1])||0;return e.substring(0,r)+t.replace(cs,"")}(n,t[n]),e)),{})};var ds=function(e={}){return"string"==typeof e&&(e=JSON.parse(e)),e.fwd=hs(e.fwd||""),e.both=hs(e.both||""),e.rev=hs(e.rev||""),e.ex=hs(e.ex||""),e};const gs=ds({fwd:"1:tted,wed,gged,nned,een,rred,pped,yed,bbed,oed,dded,rd,wn,mmed¦2:eed,nded,et,hted,st,oled,ut,emed,eled,lded,ken,rt,nked,apt,ant,eped,eked¦3:eared,eat,eaded,nelled,ealt,eeded,ooted,eaked,eaned,eeted,mited,bid,uit,ead,uited,ealed,geted,velled,ialed,belled¦4:ebuted,hined,comed¦y:ied¦ome:ame¦ear:ore¦ind:ound¦ing:ung,ang¦ep:pt¦ink:ank,unk¦ig:ug¦all:ell¦ee:aw¦ive:ave¦eeze:oze¦old:eld¦ave:ft¦ake:ook¦ell:old¦ite:ote¦ide:ode¦ine:one¦in:un,on¦eal:ole¦im:am¦ie:ay¦and:ood¦1ise:rose¦1eak:roke¦1ing:rought¦1ive:rove¦1el:elt¦1id:bade¦1et:got¦1y:aid¦1it:sat¦3e:lid¦3d:pent",both:"1:aed,fed,xed,hed¦2:sged,xted,wled,rped,lked,kied,lmed,lped,uped,bted,rbed,rked,wned,rled,mped,fted,mned,mbed,zzed,omed,ened,cked,gned,lted,sked,ued,zed,nted,ered,rted,rmed,ced,sted,rned,ssed,rded,pted,ved,cted¦3:cled,eined,siped,ooned,uked,ymed,jored,ouded,ioted,oaned,lged,asped,iged,mured,oided,eiled,yped,taled,moned,yled,lit,kled,oaked,gled,naled,fled,uined,oared,valled,koned,soned,aided,obed,ibed,meted,nicked,rored,micked,keted,vred,ooped,oaded,rited,aired,auled,filled,ouled,ooded,ceted,tolled,oited,bited,aped,tled,vored,dled,eamed,nsed,rsed,sited,owded,pled,sored,rged,osed,pelled,oured,psed,oated,loned,aimed,illed,eured,tred,ioned,celled,bled,wsed,ooked,oiled,itzed,iked,iased,onged,ased,ailed,uned,umed,ained,auded,nulled,ysed,eged,ised,aged,oined,ated,used,dged,doned¦4:ntied,efited,uaked,caded,fired,roped,halled,roked,himed,culed,tared,lared,tuted,uared,routed,pited,naked,miled,houted,helled,hared,cored,caled,tired,peated,futed,ciled,called,tined,moted,filed,sided,poned,iloted,honed,lleted,huted,ruled,cured,named,preted,vaded,sured,talled,haled,peded,gined,nited,uided,ramed,feited,laked,gured,ctored,unged,pired,cuted,voked,eloped,ralled,rined,coded,icited,vided,uaded,voted,mined,sired,noted,lined,nselled,luted,jured,fided,puted,piled,pared,olored,cided,hoked,enged,tured,geoned,cotted,lamed,uiled,waited,udited,anged,luded,mired,uired,raded¦5:modelled,izzled,eleted,umpeted,ailored,rseded,treated,eduled,ecited,rammed,eceded,atrolled,nitored,basted,twined,itialled,ncited,gnored,ploded,xcited,nrolled,namelled,plored,efeated,redited,ntrolled,nfined,pleted,llided,lcined,eathed,ibuted,lloted,dhered,cceded¦3ad:sled¦2aw:drew¦2ot:hot¦2ke:made¦2ow:hrew,grew¦2ose:hose¦2d:ilt¦2in:egan¦1un:ran¦1ink:hought¦1ick:tuck¦1ike:ruck¦1eak:poke,nuck¦1it:pat¦1o:did¦1ow:new¦1ake:woke¦go:went",rev:"3:rst,hed,hut,cut,set¦4:tbid¦5:dcast,eread,pread,erbid¦ought:uy,eek¦1ied:ny,ly,dy,ry,fy,py,vy,by,ty,cy¦1ung:ling,ting,wing¦1pt:eep¦1ank:rink¦1ore:bear,wear¦1ave:give¦1oze:reeze¦1ound:rind,wind¦1ook:take,hake¦1aw:see¦1old:sell¦1ote:rite¦1ole:teal¦1unk:tink¦1am:wim¦1ay:lie¦1ood:tand¦1eld:hold¦2d:he,ge,re,le,leed,ne,reed,be,ye,lee,pe,we¦2ed:dd,oy,or,ey,gg,rr,us,ew,to¦2ame:ecome,rcome¦2ped:ap¦2ged:ag,og,ug,eg¦2bed:ub,ab,ib,ob¦2lt:neel¦2id:pay¦2ang:pring¦2ove:trive¦2med:um¦2ode:rride¦2at:ysit¦3ted:mit,hat,mat,lat,pot,rot,bat¦3ed:low,end,tow,und,ond,eem,lay,cho,dow,xit,eld,ald,uld,law,lel,eat,oll,ray,ank,fin,oam,out,how,iek,tay,haw,ait,vet,say,cay,bow¦3d:ste,ede,ode,ete,ree,ude,ame,oke,ote,ime,ute,ade¦3red:lur,cur,pur,car¦3ped:hop,rop,uip,rip,lip,tep,top¦3ded:bed,rod,kid¦3ade:orbid¦3led:uel¦3ned:lan,can,kin,pan,tun¦3med:rim,lim¦4ted:quit,llot¦4ed:pear,rrow,rand,lean,mand,anel,pand,reet,link,abel,evel,imit,ceed,ruit,mind,peal,veal,hool,head,pell,well,mell,uell,band,hear,weak¦4led:nnel,qual,ebel,ivel¦4red:nfer,efer,sfer¦4n:sake,trew¦4d:ntee¦4ded:hred¦4ned:rpin¦5ed:light,nceal,right,ndear,arget,hread,eight,rtial,eboot¦5d:edite,nvite¦5ted:egret¦5led:ravel",ex:"2:been,upped¦3:added,aged,aided,aimed,aired,bid,died,dyed,egged,erred,eyed,fit,gassed,hit,lied,owed,pent,pied,tied,used,vied,oiled,outed,banned,barred,bet,canned,cut,dipped,donned,ended,feed,inked,jarred,let,manned,mowed,netted,padded,panned,pitted,popped,potted,put,set,sewn,sowed,tanned,tipped,topped,vowed,weed,bowed,jammed,binned,dimmed,hopped,mopped,nodded,pinned,rigged,sinned,towed,vetted¦4:ached,baked,baled,boned,bored,called,caned,cared,ceded,cited,coded,cored,cubed,cured,dared,dined,edited,exited,faked,fared,filed,fined,fired,fuelled,gamed,gelled,hired,hoped,joked,lined,mined,named,noted,piled,poked,polled,pored,pulled,reaped,roamed,rolled,ruled,seated,shed,sided,timed,tolled,toned,voted,waited,walled,waned,winged,wiped,wired,zoned,yelled,tamed,lubed,roped,faded,mired,caked,honed,banged,culled,heated,raked,welled,banded,beat,cast,cooled,cost,dealt,feared,folded,footed,handed,headed,heard,hurt,knitted,landed,leaked,leapt,linked,meant,minded,molded,neared,needed,peaked,plodded,plotted,pooled,quit,read,rooted,sealed,seeded,seeped,shipped,shunned,skimmed,slammed,sparred,stemmed,stirred,suited,thinned,twinned,swayed,winked,dialed,abutted,blotted,fretted,healed,heeded,peeled,reeled¦5:basted,cheated,equalled,eroded,exiled,focused,opined,pleated,primed,quoted,scouted,shored,sloped,smoked,sniped,spelled,spouted,routed,staked,stored,swelled,tasted,treated,wasted,smelled,dwelled,honored,prided,quelled,eloped,scared,coveted,sweated,breaded,cleared,debuted,deterred,freaked,modeled,pleaded,rebutted,speeded¦6:anchored,defined,endured,impaled,invited,refined,revered,strolled,cringed,recast,thrust,unfolded¦7:authored,combined,competed,conceded,convened,excreted,extruded,redefined,restored,secreted,rescinded,welcomed¦8:expedited,infringed¦9:interfered,intervened,persevered¦10:contravened¦eat:ate¦is:was¦go:went¦are:were¦3d:bent,lent,rent,sent¦3e:bit,fled,hid,lost¦3ed:bled,bred¦2ow:blew,grew¦1uy:bought¦2tch:caught¦1o:did¦1ive:dove,gave¦2aw:drew¦2ed:fed¦2y:flew,laid,paid,said¦1ight:fought¦1et:got¦2ve:had¦1ang:hung¦2ad:led¦2ght:lit¦2ke:made¦2et:met¦1un:ran¦1ise:rose¦1it:sat¦1eek:sought¦1each:taught¦1ake:woke,took¦1eave:wove¦2ise:arose¦1ear:bore,tore,wore¦1ind:bound,found,wound¦2eak:broke¦2ing:brought,wrung¦1ome:came¦2ive:drove¦1ig:dug¦1all:fell¦2el:felt¦4et:forgot¦1old:held¦2ave:left¦1ing:rang,sang¦1ide:rode¦1ink:sank¦1ee:saw¦2ine:shone¦4e:slid¦1ell:sold,told¦4d:spent¦2in:spun¦1in:won"}),ms=ds(as),ps=ds(ns),fs=ds(rs),vs=us(gs),bs=us(ms),ys=us(ps),ws=us(fs),ks=ds(ts),Ps=ds(os);var As={fromPast:gs,fromPresent:ms,fromGerund:ps,fromParticiple:fs,toPast:vs,toPresent:bs,toGerund:ys,toParticiple:ws,toComparative:ks,toSuperlative:Ps,fromComparative:us(ks),fromSuperlative:us(Ps),adjToNoun:ds(is)},Is=["academy","administration","agence","agences","agencies","agency","airlines","airways","army","assoc","associates","association","assurance","authority","autorite","aviation","bank","banque","board","boys","brands","brewery","brotherhood","brothers","bureau","cafe","co","caisse","capital","care","cathedral","center","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","corp","council","crew","data","departement","department","departments","design","development","directorate","division","drilling","education","eglise","electric","electricity","energy","ensemble","enterprise","enterprises","entertainment","estate","etat","faculty","federation","financial","fm","foundation","fund","gas","gazette","girls","government","group","guild","herald","holdings","hospital","hotel","hotels","inc","industries","institut","institute","institutes","insurance","international","interstate","investment","investments","investors","journal","laboratory","labs","llc","ltd","limited","machines","magazine","management","marine","marketing","markets","media","memorial","ministere","ministry","military","mobile","motor","motors","musee","museum","news","observatory","office","oil","optical","orchestra","organization","partners","partnership","petrol","petroleum","pharmacare","pharmaceutical","pharmaceuticals","pizza","plc","police","polytechnic","post","power","press","productions","quartet","radio","reserve","resources","restaurant","restaurants","savings","school","securities","service","services","societe","society","sons","subcommittee","syndicat","systems","telecommunications","telegraph","television","times","tribunal","tv","union","university","utilities","workers"].reduce(((e,t)=>(e[t]=!0,e)),{}),Ns=[[/([^v])ies$/i,"$1y"],[/(ise)s$/i,"$1"],[/(kn|[^o]l|w)ives$/i,"$1ife"],[/^((?:ca|e|ha|(?:our|them|your)?se|she|wo)l|lea|loa|shea|thie)ves$/i,"$1f"],[/^(dwar|handkerchie|hoo|scar|whar)ves$/i,"$1f"],[/(antenn|formul|nebul|vertebr|vit)ae$/i,"$1a"],[/(octop|vir|radi|nucle|fung|cact|stimul)(i)$/i,"$1us"],[/(buffal|tomat|tornad)(oes)$/i,"$1o"],[/(ause)s$/i,"$1"],[/(ease)s$/i,"$1"],[/(ious)es$/i,"$1"],[/(ouse)s$/i,"$1"],[/(ose)s$/i,"$1"],[/(..ase)s$/i,"$1"],[/(..[aeiu]s)es$/i,"$1"],[/(vert|ind|cort)(ices)$/i,"$1ex"],[/(matr|append)(ices)$/i,"$1ix"],[/([xo]|ch|ss|sh)es$/i,"$1"],[/men$/i,"man"],[/(n)ews$/i,"$1ews"],[/([ti])a$/i,"$1um"],[/([^aeiouy]|qu)ies$/i,"$1y"],[/(s)eries$/i,"$1eries"],[/(m)ovies$/i,"$1ovie"],[/(cris|ax|test)es$/i,"$1is"],[/(alias|status)es$/i,"$1"],[/(ss)$/i,"$1"],[/(ic)s$/i,"$1"],[/s$/i,""]];var js=function(e,t){const{irregularPlurals:n}=t.two;let r=(a=n,Object.keys(a).reduce(((e,t)=>(e[a[t]]=t,e)),{}));var a;if(r.hasOwnProperty(e))return r[e];for(let t=0;t(xs[t].forEach((n=>e[n]=t)),e)),{});var Ds=xs;var Ts=function(e){let t=e.substring(e.length-3);if(!0===Ds.hasOwnProperty(t))return Ds[t];let n=e.substring(e.length-2);return!0===Ds.hasOwnProperty(n)?Ds[n]:"s"===e.substring(e.length-1)?"PresentTense":null};const Cs={are:"be",were:"be",been:"be",is:"be",am:"be",was:"be",be:"be",being:"be"};var Os=function(e,t,n){const{fromPast:r,fromPresent:a,fromGerund:o,fromParticiple:i}=t.two.models;let{prefix:s,verb:l,particle:u}=function(e,t){let n="",r={};t.one&&t.one.prefixes&&(r=t.one.prefixes);let[a,o]=e.split(/ /);return o&&!0===r[a]&&(n=a,a=o,o=""),{prefix:n,verb:a,particle:o}}(e,t),c="";if(n||(n=Ts(e)),Cs.hasOwnProperty(e))c=Cs[e];else if("Participle"===n)c=ss(l,i);else if("PastTense"===n)c=ss(l,r);else if("PresentTense"===n)c=ss(l,a);else{if("Gerund"!==n)return e;c=ss(l,o)}return u&&(c+=" "+u),s&&(c=s+" "+c),c};var Fs=function(e,t){const{toPast:n,toPresent:r,toGerund:a,toParticiple:o}=t.two.models;if("be"===e)return{Infinitive:e,Gerund:"being",PastTense:"was",PresentTense:"is"};let[i,s]=(e=>/ /.test(e)?e.split(/ /):[e,""])(e),l={Infinitive:i,PastTense:ss(i,n),PresentTense:ss(i,r),Gerund:ss(i,a),FutureTense:"will "+i},u=ss(i,o);if(u!==e&&u!==l.PastTense){let n=t.one.lexicon||{};"Participle"!==n[u]&&"Adjective"!==n[u]||("play"===e&&(u="played"),l.Participle=u)}return s&&Object.keys(l).forEach((e=>{l[e]+=" "+s})),l};var Vs={toInfinitive:Os,conjugate:Fs,all:function(e,t){let n=Fs(e,t);return delete n.FutureTense,Object.values(n).filter((e=>e))}};const Gs=function(e,t){const n=t.two.models.toSuperlative;return ss(e,n)},zs=function(e,t){const n=t.two.models.toComparative;return ss(e,n)};var Ls=function(e="",t=[]){const n=e.length;for(let r=n<=6?n-1:6;r>=1;r-=1){let a=e.substring(n-r,e.length);if(!0===t[a.length].hasOwnProperty(a)){return e.slice(0,n-r)+t[a.length][a]}}return null};const $s="ically",Ss=new Set(["analyt"+$s,"chem"+$s,"class"+$s,"clin"+$s,"crit"+$s,"ecolog"+$s,"electr"+$s,"empir"+$s,"frant"+$s,"grammat"+$s,"ident"+$s,"ideolog"+$s,"log"+$s,"mag"+$s,"mathemat"+$s,"mechan"+$s,"med"+$s,"method"+$s,"method"+$s,"mus"+$s,"phys"+$s,"phys"+$s,"polit"+$s,"pract"+$s,"rad"+$s,"satir"+$s,"statist"+$s,"techn"+$s,"technolog"+$s,"theoret"+$s,"typ"+$s,"vert"+$s,"whims"+$s]),Ms=[null,{},{ly:""},{ily:"y",bly:"ble",ply:"ple"},{ally:"al",rply:"rp"},{ually:"ual",ially:"ial",cally:"cal",eally:"eal",rally:"ral",nally:"nal",mally:"mal",eeply:"eep",eaply:"eap"},{ically:"ic"}],Bs=new Set(["early","only","hourly","daily","weekly","monthly","yearly","mostly","duly","unduly","especially","undoubtedly","conversely","namely","exceedingly","presumably","accordingly","overly","best","latter","little","long","low"]),Hs={wholly:"whole",fully:"full",truly:"true",gently:"gentle",singly:"single",customarily:"customary",idly:"idle",publically:"public",quickly:"quick",superbly:"superb",cynically:"cynical",well:"good"};const Js=[null,{y:"ily"},{ly:"ly",ic:"ically"},{ial:"ially",ual:"ually",tle:"tly",ble:"bly",ple:"ply",ary:"arily"},{},{},{}],Ws={cool:"cooly",whole:"wholly",full:"fully",good:"well",idle:"idly",public:"publicly",single:"singly",special:"especially"};var Ks=function(e){if(Ws.hasOwnProperty(e))return Ws[e];let t=Ls(e,Js);return t||(t=e+"ly"),t};var qs={toSuperlative:Gs,toComparative:zs,toAdverb:Ks,toNoun:function(e,t){const n=t.two.models.adjToNoun;return ss(e,n)},fromAdverb:function(e){return e.endsWith("ly")?Ss.has(e)?e.replace(/ically/,"ical"):Bs.has(e)?null:Hs.hasOwnProperty(e)?Hs[e]:Ls(e,Ms)||e:null},fromSuperlative:function(e,t){const n=t.two.models.fromSuperlative;return ss(e,n)},fromComparative:function(e,t){const n=t.two.models.fromComparative;return ss(e,n)},all:function(e,t){let n=[e];return n.push(Gs(e,t)),n.push(zs(e,t)),n.push(Ks(e)),n=n.filter((e=>e)),n=new Set(n),Array.from(n)}},Us={noun:Es,verb:Vs,adjective:qs},Qs={Singular:(e,t,n,r)=>{let a=r.one.lexicon,o=n.two.transform.noun.toPlural(e,r);a[o]||(t[o]=t[o]||"Plural")},Actor:(e,t,n,r)=>{let a=r.one.lexicon,o=n.two.transform.noun.toPlural(e,r);a[o]||(t[o]=t[o]||["Plural","Actor"])},Comparable:(e,t,n,r)=>{let a=r.one.lexicon,{toSuperlative:o,toComparative:i}=n.two.transform.adjective,s=o(e,r);a[s]||(t[s]=t[s]||"Superlative");let l=i(e,r);a[l]||(t[l]=t[l]||"Comparative"),t[e]="Adjective"},Demonym:(e,t,n,r)=>{let a=n.two.transform.noun.toPlural(e,r);t[a]=t[a]||["Demonym","Plural"]},Infinitive:(e,t,n,r)=>{let a=r.one.lexicon,o=n.two.transform.verb.conjugate(e,r);Object.entries(o).forEach((e=>{a[e[1]]||t[e[1]]||(t[e[1]]=e[0])}))},PhrasalVerb:(e,t,n,r)=>{let a=r.one.lexicon;t[e]=["PhrasalVerb","Infinitive"];let o=r.one._multiCache,[i,s]=e.split(" ");a[i]||(t[i]=t[i]||"Infinitive");let l=n.two.transform.verb.conjugate(i,r);delete l.FutureTense,Object.entries(l).forEach((e=>{if("Actor"===e[0]||""===e[1])return;t[e[1]]||a[e[1]]||(t[e[1]]=e[0]),o[e[1]]=!0;let n=e[1]+" "+s;t[n]=t[n]||[e[0],"PhrasalVerb"]}))},Multiple:(e,t)=>{t[e]=["Multiple","Cardinal"],t[e+"th"]=["Multiple","Ordinal"],t[e+"ths"]=["Multiple","Fraction"]},Cardinal:(e,t)=>{t[e]=["TextValue","Cardinal"]},Ordinal:(e,t)=>{t[e]=["TextValue","Ordinal"],t[e+"s"]=["TextValue","Fraction"]},Place:(e,t)=>{t[e]=["Place","ProperNoun"]},Region:(e,t)=>{t[e]=["Region","ProperNoun"]}};var Rs=function(e,t){const{methods:n,model:r}=t;let a={},o={};return Object.keys(e).forEach((t=>{let i=e[t],s=(t=(t=t.toLowerCase().trim()).replace(/'s\b/,"")).split(/ /);s.length>1&&(o[s[0]]=!0),!0===Qs.hasOwnProperty(i)&&Qs[i](t,a,n,r),a[t]=a[t]||i})),delete a[""],delete a.null,delete a[" "],{lex:a,_multi:o}};var _s=function(e){const t=/[,:;]/;let n=[];return e.forEach((e=>{let r=0;e.forEach(((a,o)=>{t.test(a.post)&&function(e,t){const n=/^[0-9]+$/;let r=e[t];if(!r)return!1;const a=new Set(["may","april","august","jan"]);if("like"===r.normal||a.has(r.normal))return!1;if(r.tags.has("Place")||r.tags.has("Date"))return!1;if(e[t-1]){let n=e[t-1];if(n.tags.has("Date")||a.has(n.normal))return!1;if(n.tags.has("Adjective")||r.tags.has("Adjective"))return!1}let o=r.normal;return 1!==o.length&&2!==o.length&&4!==o.length||!n.test(o)}(e,o+1)&&(n.push(e.slice(r,o+1)),r=o+1)})),re.endsWith(t))):"s"===t&&!Ys.find((t=>e.endsWith(t)))},tl={two:{quickSplit:_s,expandLexicon:Rs,transform:Us,looksPlural:el}};var nl=function(e){const{irregularPlurals:t}=e.two,{lexicon:n}=e.one;return Object.entries(t).forEach((e=>{n[e[0]]=n[e[0]]||"Singular",n[e[1]]=n[e[1]]||"Plural"})),e};let rl={one:{lexicon:{}},two:{models:As}};const al={"Actor|Verb":"Actor","Adj|Gerund":"Adjective","Adj|Noun":"Adjective","Adj|Past":"Adjective","Adj|Present":"Adjective","Noun|Verb":"Singular","Noun|Gerund":"Gerund","Person|Noun":"Noun","Person|Date":"Month","Person|Verb":"FirstName","Person|Place":"Person","Person|Adj":"Comparative","Plural|Verb":"Plural","Unit|Noun":"Noun"},ol=function(e,t){const n={model:t,methods:tl};let{lex:r,_multi:a}=tl.two.expandLexicon(e,n);return Object.assign(t.one.lexicon,r),Object.assign(t.one._multiCache,a),t},il=function(e,t,n){let r=Fs(e,rl);t[r.PastTense]=t[r.PastTense]||"PastTense",t[r.Gerund]=t[r.Gerund]||"Gerund",!0===n&&(t[r.PresentTense]=t[r.PresentTense]||"PresentTense")},sl=function(e,t,n){let r=Gs(e,n);t[r]=t[r]||"Superlative";let a=zs(e,n);t[a]=t[a]||"Comparative"},ll=function(e,t){let n={};const r=t.one.lexicon;return Object.keys(e).forEach((a=>{const o=e[a];if(n[a]=al[o],"Noun|Verb"!==o&&"Person|Verb"!==o&&"Actor|Verb"!==o||il(a,r,!1),"Adj|Present"===o&&(il(a,r,!0),sl(a,r,t)),"Person|Adj"===o&&sl(a,r,t),"Adj|Gerund"===o||"Noun|Gerund"===o){let e=Os(a,rl,"Gerund");r[e]||(n[e]="Infinitive")}if("Noun|Gerund"!==o&&"Adj|Noun"!==o&&"Person|Noun"!==o||function(e,t,n){let r=Vo(e,n);t[r]=t[r]||"Plural"}(a,r,t),"Adj|Past"===o){let e=Os(a,rl,"PastTense");r[e]||(n[e]="Infinitive")}})),t=ol(n,t)};var ul=function(e){return e=function(e,t){return Object.keys(e).forEach((n=>{"Uncountable"===e[n]&&(t.two.uncountable[n]=!0,e[n]="Uncountable")})),t}((e=ol(e.one.lexicon,e)).one.lexicon,e),e=ll(e.two.switches,e),e=nl(e)};let cl={one:{_multiCache:{},lexicon:zo},two:{irregularPlurals:ko,models:As,suffixPatterns:Gi,prefixPatterns:Si,endsWith:Xi,neighbours:es,regexNormal:[[/^[\w.]+@[\w.]+\.[a-z]{2,3}$/,"Email"],[/^(https?:\/\/|www\.)+\w+\.[a-z]{2,3}/,"Url","http.."],[/^[a-z0-9./].+\.(com|net|gov|org|ly|edu|info|biz|dev|ru|jp|de|in|uk|br|io|ai)/,"Url",".com"],[/^[PMCE]ST$/,"Timezone","EST"],[/^ma?c'.*/,"LastName","mc'neil"],[/^o'[drlkn].*/,"LastName","o'connor"],[/^ma?cd[aeiou]/,"LastName","mcdonald"],[/^(lol)+[sz]$/,"Expression","lol"],[/^wo{2,}a*h?$/,"Expression","wooah"],[/^(hee?){2,}h?$/,"Expression","hehe"],[/^(un|de|re)\\-[a-z\u00C0-\u00FF]{2}/,"Verb","un-vite"],[/^(m|k|cm|km)\/(s|h|hr)$/,"Unit","5 k/m"],[/^(ug|ng|mg)\/(l|m3|ft3)$/,"Unit","ug/L"]],regexText:[[/^#[\p{Number}_]*\p{Letter}/u,"HashTag"],[/^@\w{2,}$/,"AtMention"],[/^([A-Z]\.){2}[A-Z]?/i,["Acronym","Noun"],"F.B.I"],[/.{3}[lkmnp]in['‘’‛‵′`´]$/,"Gerund","chillin'"],[/.{4}s['‘’‛‵′`´]$/,"Possessive","flanders'"],[/^[\p{Emoji_Presentation}\p{Extended_Pictographic}]/u,"Emoji","emoji-class"]],regexNumbers:[[/^@1?[0-9](am|pm)$/i,"Time","3pm"],[/^@1?[0-9]:[0-9]{2}(am|pm)?$/i,"Time","3:30pm"],[/^'[0-9]{2}$/,"Year"],[/^[012]?[0-9](:[0-5][0-9])(:[0-5][0-9])$/,"Time","3:12:31"],[/^[012]?[0-9](:[0-5][0-9])?(:[0-5][0-9])? ?(am|pm)$/i,"Time","1:12pm"],[/^[012]?[0-9](:[0-5][0-9])(:[0-5][0-9])? ?(am|pm)?$/i,"Time","1:12:31pm"],[/^[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}/i,"Date","iso-date"],[/^[0-9]{1,4}-[0-9]{1,2}-[0-9]{1,4}$/,"Date","iso-dash"],[/^[0-9]{1,4}\/[0-9]{1,2}\/([0-9]{4}|[0-9]{2})$/,"Date","iso-slash"],[/^[0-9]{1,4}\.[0-9]{1,2}\.[0-9]{1,4}$/,"Date","iso-dot"],[/^[0-9]{1,4}-[a-z]{2,9}-[0-9]{1,4}$/i,"Date","12-dec-2019"],[/^utc ?[+-]?[0-9]+$/,"Timezone","utc-9"],[/^(gmt|utc)[+-][0-9]{1,2}$/i,"Timezone","gmt-3"],[/^[0-9]{3}-[0-9]{4}$/,"PhoneNumber","421-0029"],[/^(\+?[0-9][ -])?[0-9]{3}[ -]?[0-9]{3}-[0-9]{4}$/,"PhoneNumber","1-800-"],[/^[-+]?\p{Currency_Symbol}[-+]?[0-9]+(,[0-9]{3})*(\.[0-9]+)?([kmb]|bn)?\+?$/u,["Money","Value"],"$5.30"],[/^[-+]?[0-9]+(,[0-9]{3})*(\.[0-9]+)?\p{Currency_Symbol}\+?$/u,["Money","Value"],"5.30£"],[/^[-+]?[$£]?[0-9]([0-9,.])+(usd|eur|jpy|gbp|cad|aud|chf|cny|hkd|nzd|kr|rub)$/i,["Money","Value"],"$400usd"],[/^[-+]?[0-9]+(,[0-9]{3})*(\.[0-9]+)?\+?$/,["Cardinal","NumericValue"],"5,999"],[/^[-+]?[0-9]+(,[0-9]{3})*(\.[0-9]+)?(st|nd|rd|r?th)$/,["Ordinal","NumericValue"],"53rd"],[/^\.[0-9]+\+?$/,["Cardinal","NumericValue"],".73th"],[/^[-+]?[0-9]+(,[0-9]{3})*(\.[0-9]+)?%\+?$/,["Percent","Cardinal","NumericValue"],"-4%"],[/^\.[0-9]+%$/,["Percent","Cardinal","NumericValue"],".3%"],[/^[0-9]{1,4}\/[0-9]{1,4}(st|nd|rd|th)?s?$/,["Fraction","NumericValue"],"2/3rds"],[/^[0-9.]{1,3}[a-z]{0,2}[-–—][0-9]{1,3}[a-z]{0,2}$/,["Value","NumberRange"],"3-4"],[/^[0-9]{1,2}(:[0-9][0-9])?(am|pm)? ?[-–—] ?[0-9]{1,2}(:[0-9][0-9])?(am|pm)$/,["Time","NumberRange"],"3-4pm"],[/^[0-9.]+([a-z°]{1,4})$/,"NumericValue","9km"]],switches:Lo,clues:wi,uncountable:{},orgWords:Is}};cl=ul(cl);var hl=cl;var dl=function(e,t,n,r){const a=r.methods.one.setTag;if(0===t&&e.length>=3){const t=/:/;if(e[0].post.match(t)){let t=e[1];if(t.tags.has("Value")||t.tags.has("Email")||t.tags.has("PhoneNumber"))return;a([e[0]],"Expression",r,null,"2-punct-colon''")}}};var gl=function(e,t,n,r){const a=r.methods.one.setTag;"-"===e[t].post&&e[t+1]&&a([e[t],e[t+1]],"Hyphenated",r,null,"1-punct-hyphen''")};const ml=/^(under|over|mis|re|un|dis|semi)-?/;var pl=function(e,t,n){const r=n.two.switches;let a=e[t];if(r.hasOwnProperty(a.normal))a.switch=r[a.normal];else if(ml.test(a.normal)){let e=a.normal.replace(ml,"");e.length>3&&r.hasOwnProperty(e)&&(a.switch=r[e])}};var fl=function(e,t,n){if(!t||0===t.length)return;const r="undefined"!=typeof process&&process.env?process.env:self.env||{};r&&r.DEBUG_TAGS&&((e,t,n="")=>{let r=e.text||"["+e.implicit+"]";var a;"string"!=typeof t&&t.length>2&&(t=t.slice(0,2).join(", #")+" +"),t="string"!=typeof t?t.join(", #"):t,console.log(` ${(a=r,""+a+"").padEnd(24)} → #${t.padEnd(22)} ${(e=>""+e+"")(n)}`)})(e,t,n),e.tags=e.tags||new Set,"string"==typeof t?e.tags.add(t):t.forEach((t=>e.tags.add(t)))};const vl=["Acronym","Abbreviation","ProperNoun","Uncountable","Possessive","Pronoun","Activity","Honorific","Month"];var bl=function(e,t,n){let r=e[t],a=Array.from(r.tags);for(let e=0;ee.tags.has(t)))||(el(e.normal)?fl(e,"Plural","3-plural-guess"):fl(e,"Singular","3-singular-guess"))}(r),function(e){let t=e.tags;if(t.has("Verb")&&1===t.size){let t=Ts(e.normal);t&&fl(e,t,"3-verb-tense-guess")}}(r)};const yl=/^\p{Lu}[\p{Ll}'’]/u,wl=/[0-9]/,kl=["Date","Month","WeekDay","Unit","Expression"],Pl=/[IVX]/,Al=/^[IVXLCDM]{2,}$/,Il=/^M{0,4}(CM|CD|D?C{0,3})(XC|XL|L?X{0,3})(IX|IV|V?I{0,3})$/,Nl={li:!0,dc:!0,md:!0,dm:!0,ml:!0};var jl=function(e,t,n){let r=e[t];r.index=r.index||[0,0];let a=r.index[1],o=r.text||"";return 0!==a&&!0===yl.test(o)&&!1===wl.test(o)?kl.find((e=>r.tags.has(e)))||r.pre.match(/["']$/)||"the"===r.normal?null:(bl(e,t,n),r.tags.has("Noun")||r.tags.clear(),fl(r,"ProperNoun","2-titlecase"),!0):o.length>=2&&Al.test(o)&&Pl.test(o)&&Il.test(o)&&!Nl[r.normal]?(fl(r,"RomanNumeral","2-xvii"),!0):null};const El=function(e="",t=[]){const n=e.length;let r=7;n<=r&&(r=n-1);for(let a=r;a>1;a-=1){let r=e.substring(n-a,n);if(!0===t[r.length].hasOwnProperty(r)){return t[r.length][r]}}return null};var xl=function(e,t,n){let r=e[t];if(0===r.tags.size){let e=El(r.normal,n.two.suffixPatterns);if(null!==e)return fl(r,e,"2-suffix"),r.confidence=.7,!0;if(r.implicit&&(e=El(r.implicit,n.two.suffixPatterns),null!==e))return fl(r,e,"2-implicit-suffix"),r.confidence=.7,!0}return null};const Dl=/['‘’‛‵′`´]/,Tl=function(e,t){for(let n=0;nn-3&&(r=n-3);for(let n=r;n>2;n-=1){let r=e.substring(0,n);if(!0===t[r.length].hasOwnProperty(r))return t[r.length][r]}return null}(r.normal,n.two.prefixPatterns);if(null!==e)return fl(r,e,"2-prefix"),r.confidence=.5,!0}return null};const Fl=new Set(["in","on","by","until","for","to","during","throughout","through","within","before","after","of","this","next","last","circa","around","post","pre","budget","classic","plan","may"]),Vl=function(e){if(!e)return!1;let t=e.normal||e.implicit;return!!Fl.has(t)||(!!(e.tags.has("Date")||e.tags.has("Month")||e.tags.has("WeekDay")||e.tags.has("Year"))||!!e.tags.has("ProperNoun"))},Gl=function(e){return!!e&&(!!e.tags.has("Ordinal")||(!!(e.tags.has("Cardinal")&&e.normal.length<3)||("is"===e.normal||"was"===e.normal)))},zl=function(e){return e&&(e.tags.has("Date")||e.tags.has("Month")||e.tags.has("WeekDay")||e.tags.has("Year"))};var Ll=function(e,t){const n=e[t];if(n.tags.has("NumericValue")&&n.tags.has("Cardinal")&&4===n.normal.length){let r=Number(n.normal);if(r&&!isNaN(r)&&r>1400&&r<2100){let a=e[t-1],o=e[t+1];if(Vl(a)||Vl(o))return fl(n,"Year","2-tagYear");if(r>=1920&&r<2025){if(Gl(a)||Gl(o))return fl(n,"Year","2-tagYear-close");if(zl(e[t-2])||zl(e[t+2]))return fl(n,"Year","2-tagYear-far");if(a&&(a.tags.has("Determiner")||a.tags.has("Possessive"))&&o&&o.tags.has("Noun")&&!o.tags.has("Plural"))return fl(n,"Year","2-tagYear-noun")}}}return null};var $l=function(e,t,n,r){const a=r.methods.one.setTag,o=e[t],i=["PastTense","PresentTense","Auxiliary","Modal","Particle"];if(o.tags.has("Verb")){i.find((e=>o.tags.has(e)))||a([o],"Infinitive",r,null,"2-verb-type''")}};const Sl=/^[A-Z]('s|,)?$/,Ml=/^[A-Z-]+$/,Bl=/^[A-Z]+s$/,Hl=/([A-Z]\.)+[A-Z]?,?$/,Jl=/[A-Z]{2,}('s|,)?$/,Wl=/([a-z]\.)+[a-z]\.?$/,Kl={I:!0,A:!0},ql={la:!0,ny:!0,us:!0,dc:!0,gb:!0};var Ul=function(e,t,n){let r=e[t];return r.tags.has("RomanNumeral")||r.tags.has("Acronym")?null:function(e,t){let n=e.text;if(!1===Ml.test(n)){if(!(n.length>3&&!0===Bl.test(n)))return!1;n=n.replace(/s$/,"")}return!(n.length>5||Kl.hasOwnProperty(n)||t.one.lexicon.hasOwnProperty(e.normal)||!0!==Hl.test(n)&&!0!==Wl.test(n)&&!0!==Sl.test(n)&&!0!==Jl.test(n))}(r,n)?(r.tags.clear(),fl(r,["Acronym","Noun"],"3-no-period-acronym"),!0===ql[r.normal]&&fl(r,"Place","3-place-acronym"),!0===Bl.test(r.text)&&fl(r,"Plural","3-plural-acronym"),!0):!Kl.hasOwnProperty(r.text)&&Sl.test(r.text)?(r.tags.clear(),fl(r,["Acronym","Noun"],"3-one-letter-acronym"),!0):r.tags.has("Organization")&&r.text.length<=3?(fl(r,"Acronym","3-org-acronym"),!0):r.tags.has("Organization")&&Ml.test(r.text)&&r.text.length<=6?(fl(r,"Acronym","3-titlecase-acronym"),!0):null};const Ql=function(e,t){if(!e)return null;let n=t.find((t=>e.normal===t[0]));return n?n[1]:null},Rl=function(e,t){if(!e)return null;let n=t.find((t=>e.tags.has(t[0])));return n?n[1]:null};var _l=function(e,t,n){const{leftTags:r,leftWords:a,rightWords:o,rightTags:i}=n.two.neighbours;let s=e[t];if(0===s.tags.size){let l=null;if(l=l||Ql(e[t-1],a),l=l||Ql(e[t+1],o),l=l||Rl(e[t-1],r),l=l||Rl(e[t+1],i),l)return fl(s,l,"3-[neighbour]"),bl(e,t,n),e[t].confidence=.2,!0}return null};const Xl=function(e,t,n){return!!e&&(!e.tags.has("FirstName")&&!e.tags.has("Place")&&(!!(e.tags.has("ProperNoun")||e.tags.has("Organization")||e.tags.has("Acronym"))||!(n||(r=e.text,!/^\p{Lu}[\p{Ll}'’]/u.test(r)))&&(0!==t||e.tags.has("Singular"))));var r};var Zl=function(e,t,n,r){const a=n.model.two.orgWords,o=n.methods.one.setTag;let i=e[t];if(!0===a[i.machine||i.normal]&&Xl(e[t-1],t-1,r)){o([e[t]],"Organization",n,null,"3-[org-word]");for(let a=t;a>=0&&Xl(e[a],a,r);a-=1)o([e[a]],"Organization",n,null,"3-[org-word]")}return null};var Yl=function(e,t,n){let r=!1,a=e[t].tags;(0===a.size||1===a.size&&(a.has("Hyphenated")||a.has("HashTag")||a.has("Prefix")))&&(r=!0),r&&(fl(e[t],"Noun","3-[fallback]"),bl(e,t,n),e[t].confidence=.1)};const eu=/^[A-Z][a-z]/,tu=(e,t)=>e[t].tags.has("ProperNoun")&&eu.test(e[t].text)?"Noun":null,nu=(e,t,n)=>0!==t||e[1]?null:n,ru={"Adj|Gerund":(e,t)=>tu(e,t),"Adj|Noun":(e,t)=>tu(e,t)||function(e,t){return!e[t+1]&&e[t-1]&&e[t-1].tags.has("Determiner")?"Noun":null}(e,t),"Actor|Verb":(e,t)=>tu(e,t),"Adj|Past":(e,t)=>tu(e,t),"Adj|Present":(e,t)=>tu(e,t),"Noun|Gerund":(e,t)=>tu(e,t),"Noun|Verb":(e,t)=>t>0&&tu(e,t)||nu(e,t,"Infinitive"),"Plural|Verb":(e,t)=>tu(e,t)||nu(e,t,"PresentTense")||function(e,t,n){return 0===t&&e.length>3?n:null}(e,t,"Plural"),"Person|Noun":(e,t)=>tu(e,t),"Person|Verb":(e,t)=>0!==t?tu(e,t):null,"Person|Adj":(e,t)=>0===t&&e.length>1||tu(e,t)?"Person":null};var au=ru;const ou="undefined"!=typeof process&&process.env?process.env:self.env||{},iu=/^(under|over|mis|re|un|dis|semi)-?/,su=(e,t)=>{if(!e||!t)return null;let n=e.normal||e.implicit,r=null;return t.hasOwnProperty(n)&&(r=t[n]),r&&ou.DEBUG_TAGS&&console.log(`\n  ↓ - '${n}' `),r},lu=(e,t={},n)=>{if(!e||!t)return null;let r=Array.from(e.tags).sort(((e,t)=>(n[e]?n[e].parents.length:0)>(n[t]?n[t].parents.length:0)?-1:1)),a=r.find((e=>t[e]));return a&&ou.DEBUG_TAGS&&console.log(`  ↓ - '${e.normal||e.implicit}' (#${a}) `),a=t[a],a};var uu=function(e,t,n){const r=n.model,a=n.methods.one.setTag,{switches:o,clues:i}=r.two,s=e[t];let l=s.normal||s.implicit||"";if(iu.test(l)&&!o[l]&&(l=l.replace(iu,"")),s.switch){let o=s.switch;if(s.tags.has("Acronym")||s.tags.has("PhrasalVerb"))return;let u=function(e,t,n,r){if(!n)return null;const a=r.one.tagSet;let o=su(e[t+1],n.afterWords);return o=o||su(e[t-1],n.beforeWords),o=o||lu(e[t-1],n.beforeTags,a),o=o||lu(e[t+1],n.afterTags,a),o}(e,t,i[o],r);au[o]&&(u=au[o](e,t)||u),u?(a([s],u,n,null,`3-[switch] (${o})`),bl(e,t,r)):ou.DEBUG_TAGS&&console.log(`\n -> X - '${l}' : (${o}) `)}};const cu={there:!0,this:!0,it:!0,him:!0,her:!0,us:!0};var hu=function(e,t){const n=t.methods.one.setTag,r=t.model.one._multiCache||{};let a=e[0];if(("Noun|Verb"===a.switch||a.tags.has("Infinitive"))&&e.length>=2){if(e.length<4&&!cu[e[1].normal])return;if(!a.tags.has("PhrasalVerb")&&r.hasOwnProperty(a.normal))return;if(e[1].tags.has("Noun")||e[1].tags.has("Determiner")){e.slice(1,3).some((e=>e.tags.has("Verb")))&&!a.tags.has("#PhrasalVerb")||n([a],"Imperative",t,null,"3-[imperative]")}}};const du=function(e){if(e.filter((e=>!e.tags.has("ProperNoun"))).length<=3)return!1;const t=/^[a-z]/;return e.every((e=>!t.test(e.text)))},gu=function(e,t,n,r){for(let a=0;a{dl(e,0,t,n)}))}(a,n,r);let o=t.two.quickSplit(a);for(let e=0;e{let t=e.machine||e.normal||e.text;return t=t.replace(/'s$/,""),t},Plural:(e,t)=>{let n=e.machine||e.normal||e.text;return t.methods.two.transform.noun.toSingular(n,t.model)},Copula:()=>"is",PastTense:(e,t)=>{let n=e.machine||e.normal||e.text;return t.methods.two.transform.verb.toInfinitive(n,t.model,"PastTense")},Gerund:(e,t)=>{let n=e.machine||e.normal||e.text;return t.methods.two.transform.verb.toInfinitive(n,t.model,"Gerund")},PresentTense:(e,t)=>{let n=e.machine||e.normal||e.text;return e.tags.has("Infinitive")?n:t.methods.two.transform.verb.toInfinitive(n,t.model,"PresentTense")},Comparative:(e,t)=>{let n=e.machine||e.normal||e.text;return t.methods.two.transform.adjective.fromComparative(n,t.model)},Superlative:(e,t)=>{let n=e.machine||e.normal||e.text;return t.methods.two.transform.adjective.fromSuperlative(n,t.model)},Adverb:(e,t)=>{const{fromAdverb:n}=t.methods.two.transform.adjective;return n(e.machine||e.normal||e.text)}};var vu=function(e){const t=e.world,n=Object.keys(fu);e.docs.forEach((e=>{for(let r=0;r{e.forEach((e=>{e.penn=function(e){if(e.tags.has("ProperNoun")&&e.tags.has("Plural"))return"NNPS";if(e.tags.has("Possessive")&&e.tags.has("Pronoun"))return"PRP$";if("there"===e.normal)return"EX";if("to"===e.normal)return"TO";let t=e.tagRank||[];for(let e=0;e{e.implicit=e.normal,e.text="",e.normal=""}));for(let e=0;e{let t=Du.test(e[0].text);e.forEach(((t,n)=>{t.text=t.implicit||"",delete t.implicit,ne.toUpperCase()))}(e[0].text))})),this.compute("normal"),this}}e.prototype.contractions=function(){let e=this.match("@hasContraction+");return new Contractions(this.document,e.pointer)},e.prototype.contract=xu};var Cu=function(e,t,n){let[r,a]=t;n&&0!==n.length&&(n=n.map(((e,t)=>(e.implicit=e.text,e.machine=e.text,e.pre="",e.post="",e.text="",e.normal="",e.index=[r,a+t],e))),n[0]&&(n[0].pre=e[r][a].pre,n[n.length-1].post=e[r][a].post,n[0].text=e[r][a].text,n[0].normal=e[r][a].normal),e[r].splice(a,1,...n))};const Ou=/'/;var Fu=function(e,t){let n=e[t].normal.split(Ou)[0];if(((e,t)=>e.slice(t+1,t+3).some((e=>e.tags.has("PastTense"))))(e,t))return[n,"has"];if("let"===n)return[n,"us"];if("there"===n){let r=e[t+1];if(r&&r.tags.has("Plural"))return[n,"are"]}return[n,"is"]};const Vu=/'/;var Gu=function(e,t){let n=e[t].normal.split(Vu)[0];return"how"===n||"what"===n?[n,"did"]:!0===((e,t)=>!(!e[t+1]||"better"!=e[t+1].normal)||e.slice(t+1,t+3).some((e=>e.tags.has("PastTense"))))(e,t)?[n,"had"]:[n,"would"]};var zu=function(e,t){if("ain't"===e[t].normal||"aint"===e[t].normal){if(e[t+1]&&"never"===e[t+1].normal)return["have"];let n=function(e,t){for(let n=t-1;n>=0;n-=1)if(e[n].tags.has("Noun")||e[n].tags.has("Pronoun")||e[n].tags.has("Plural")||e[n].tags.has("Singular"))return e[n];return null}(e,t);if(n){if("we"===n.normal||"they"===n.normal)return["are","not"];if("i"===n.normal)return["am","not"];if(n.tags&&n.tags.has("Plural"))return["are","not"]}return["is","not"]}return[e[t].normal.replace(/n't/,""),"not"]};const Lu={that:!0,there:!0,let:!0,here:!0,everywhere:!0},$u={in:!0,by:!0,for:!0};var Su=(e,t)=>{let n=e[t];if(Lu.hasOwnProperty(n.machine||n.normal))return!1;if(n.tags.has("Possessive"))return!0;if(n.tags.has("QuestionWord"))return!1;if("he's"===n.normal||"she's"===n.normal)return!1;let r=e[t+1];if(!r)return!0;if("it's"===n.normal)return!!r.tags.has("#Noun");if(r.tags.has("Verb"))return!!r.tags.has("Infinitive")||!!r.tags.has("PresentTense");if(r.tags.has("Noun")){let e=r.machine||r.normal;return"here"!==e&&"there"!==e&&"everywhere"!==e&&(!r.tags.has("Possessive")&&!(r.tags.has("ProperNoun")&&!n.tags.has("ProperNoun")))}if(e[t-1]&&!0===$u[e[t-1].normal])return!0;let a=e[t+2];return!(!a||!a.tags.has("Noun")||a.tags.has("Pronoun"))||(r.tags.has("Adjective")||r.tags.has("Adverb")||r.tags.has("Verb"),!1)};const Mu=/'/,Bu=function(e,t,n,r){let a=t.update();a.document=[e];let o=n+r;n>0&&(n-=1),e[o]&&(o+=1),a.ptrs=[[0,n,o]],a.compute(["lexicon","preTagger"]),function(e){e.forEach(((e,t)=>{e.index&&(e.index[1]=t)}))}(e)},Hu={d:(e,t)=>Gu(e,t),t:(e,t)=>zu(e,t),s:(e,t,n)=>Su(e,t)?n.methods.one.setTag([e[t]],"Possessive",n,"2-contraction"):Fu(e,t)},Ju=function(e,t){let n=t.fromText(e.join(" "));return n.compute("id"),n.docs[0]};var Wu={contractionTwo:e=>{let{world:t,document:n}=e;n.forEach(((r,a)=>{for(let o=r.length-1;o>=0;o-=1){if(r[o].implicit)return;let i=null;!0===Mu.test(r[o].normal)&&([,i]=r[o].normal.split(Mu));let s=null;Hu.hasOwnProperty(i)&&(s=Hu[i](r,o,t)),s&&(s=Ju(s,e),Cu(n,[a,o],s),Bu(n[a],e,o,s.length))}}))}},Ku={compute:Wu,api:Tu,hooks:["contractionTwo"]};const qu="(hard|fast|late|early|high|right|deep|close|direct)";const Uu="(i|we|they)";let Qu=[].concat([{match:"(got|were|was|is|are|am) (#PastTense|#Participle)",tag:"Passive",reason:"got-walked"},{match:"(was|were|is|are|am) being (#PastTense|#Participle)",tag:"Passive",reason:"was-being"},{match:"(had|have|has) been (#PastTense|#Participle)",tag:"Passive",reason:"had-been"},{match:"will be being? (#PastTense|#Participle)",tag:"Passive",reason:"will-be-cleaned"},{match:"#Noun [(#PastTense|#Participle)] by (the|a) #Noun",group:0,tag:"Passive",reason:"suffered-by"}],[{match:"[(all|both)] #Determiner #Noun",group:0,tag:"Noun",reason:"all-noun"},{match:"#Copula [(just|alone)]$",group:0,tag:"Adjective",reason:"not-adverb"},{match:"#Singular is #Adverb? [#PastTense$]",group:0,tag:"Adjective",reason:"is-filled"},{match:"[#PastTense] #Singular is",group:0,tag:"Adjective",reason:"smoked-poutine"},{match:"[#PastTense] #Plural are",group:0,tag:"Adjective",reason:"baked-onions"},{match:"well [#PastTense]",group:0,tag:"Adjective",reason:"well-made"},{match:"#Copula [fucked up?]",group:0,tag:"Adjective",reason:"swears-adjective"},{match:"#Singular (seems|appears) #Adverb? [#PastTense$]",group:0,tag:"Adjective",reason:"seems-filled"},{match:"#Copula #Adjective? [(out|in|through)]$",group:0,tag:"Adjective",reason:"still-out"},{match:"^[#Adjective] (the|your) #Noun",group:0,notIf:"(all|even)",tag:"Infinitive",reason:"shut-the"},{match:"the [said] #Noun",group:0,tag:"Adjective",reason:"the-said-card"},{match:"[#Hyphenated (#Hyphenated && #PastTense)] (#Noun|#Conjunction)",group:0,tag:"Adjective",notIf:"#Adverb",reason:"faith-based"},{match:"[#Hyphenated (#Hyphenated && #Gerund)] (#Noun|#Conjunction)",group:0,tag:"Adjective",notIf:"#Adverb",reason:"self-driving"},{match:"[#PastTense (#Hyphenated && #PhrasalVerb)] (#Noun|#Conjunction)",group:0,tag:"Adjective",reason:"dammed-up"},{match:"(#Hyphenated && #Value) fold",tag:"Adjective",reason:"two-fold"},{match:"must (#Hyphenated && #Infinitive)",tag:"Adjective",reason:"must-win"},{match:"(#Hyphenated && #Infinitive) #Hyphenated",tag:"Adjective",notIf:"#PhrasalVerb",reason:"vacuum-sealed"},{match:"too much",tag:"Adverb Adjective",reason:"bit-4"},{match:"a bit much",tag:"Determiner Adverb Adjective",reason:"bit-3"},{match:"[(un|contra|extra|inter|intra|macro|micro|mid|mis|mono|multi|pre|sub|tri|ex)] #Adjective",group:0,tag:["Adjective","Prefix"],reason:"un-skilled"}],[{match:"#Adverb [#Adverb] (and|or|then)",group:0,tag:"Adjective",reason:"kinda-sparkly-and"},{match:"[(dark|bright|flat|light|soft|pale|dead|dim|faux|little|wee|sheer|most|near|good|extra|all)] #Adjective",group:0,tag:"Adverb",reason:"dark-green"},{match:"#Copula [far too] #Adjective",group:0,tag:"Adverb",reason:"far-too"},{match:"#Copula [still] (in|#Gerund|#Adjective)",group:0,tag:"Adverb",reason:"was-still-walking"},{match:`#Plural ${qu}`,tag:"#PresentTense #Adverb",reason:"studies-hard"},{match:`#Verb [${qu}] !#Noun?`,group:0,notIf:"(#Copula|get|got|getting|become|became|becoming|feel|feels|feeling)",tag:"Adverb",reason:"shops-direct"},{match:"[#Plural] a lot",tag:"PresentTense",reason:"studies-a-lot"}],[{match:"as [#Gerund] as",group:0,tag:"Adjective",reason:"as-gerund-as"},{match:"more [#Gerund] than",group:0,tag:"Adjective",reason:"more-gerund-than"},{match:"(so|very|extremely) [#Gerund]",group:0,tag:"Adjective",reason:"so-gerund"},{match:"(found|found) it #Adverb? [#Gerund]",group:0,tag:"Adjective",reason:"found-it-gerund"},{match:"a (little|bit|wee) bit? [#Gerund]",group:0,tag:"Adjective",reason:"a-bit-gerund"},{match:"#Gerund [#Gerund]",group:0,tag:"Adjective",notIf:"(impersonating|practicing|considering|assuming)",reason:"looking-annoying"},{match:"(looked|look|looks) #Adverb? [%Adj|Gerund%]",group:0,tag:"Adjective",notIf:"(impersonating|practicing|considering|assuming)",reason:"looked-amazing"},{match:"[%Adj|Gerund%] #Determiner",group:0,tag:"Gerund",reason:"developing-a"},{match:"#Possessive [%Adj|Gerund%] #Noun",group:0,tag:"Adjective",reason:"leading-manufacturer"}],[{match:"#Determiner [#Adjective] #Copula",group:0,tag:"Noun",reason:"the-adj-is"},{match:"#Adjective [#Adjective] #Copula",group:0,tag:"Noun",reason:"adj-adj-is"},{match:"(his|its) [%Adj|Noun%]",group:0,tag:"Noun",notIf:"#Hyphenated",reason:"his-fine"},{match:"#Copula #Adverb? [all]",group:0,tag:"Noun",reason:"is-all"},{match:"(have|had) [#Adjective] #Preposition .",group:0,tag:"Noun",reason:"have-fun"},{match:"#Gerund (giant|capital|center|zone|application)",tag:"Noun",reason:"brewing-giant"},{match:"#Preposition (a|an) [#Adjective]$",group:0,tag:"Noun",reason:"an-instant"},{match:"no [#Adjective] #Modal",group:0,tag:"Noun",reason:"no-golden"},{match:"[brand #Gerund?] new",group:0,tag:"Adverb",reason:"brand-new"},{match:"(#Determiner|#Comparative|new|different) [kind]",group:0,tag:"Noun",reason:"some-kind"},{match:"#Possessive [%Adj|Noun%] #Noun",group:0,tag:"Adjective",reason:"her-favourite"},{match:"must && #Hyphenated .",tag:"Adjective",reason:"must-win"},{match:"#Determiner [#Adjective]$",tag:"Noun",notIf:"(this|that|#Comparative|#Superlative)",reason:"the-south"},{match:"(#Noun && #Hyphenated) (#Adjective && #Hyphenated)",tag:"Adjective",notIf:"(this|that|#Comparative|#Superlative)",reason:"company-wide"},{match:"#Determiner [#Adjective] (#Copula|#Determiner)",notIf:"(#Comparative|#Superlative)",group:0,tag:"Noun",reason:"the-poor"}],[{match:"[still] #Adjective",group:0,tag:"Adverb",reason:"still-advb"},{match:"[still] #Verb",group:0,tag:"Adverb",reason:"still-verb"},{match:"[so] #Adjective",group:0,tag:"Adverb",reason:"so-adv"},{match:"[way] #Comparative",group:0,tag:"Adverb",reason:"way-adj"},{match:"[way] #Adverb #Adjective",group:0,tag:"Adverb",reason:"way-too-adj"},{match:"[all] #Verb",group:0,tag:"Adverb",reason:"all-verb"},{match:"#Verb [like]",group:0,notIf:"(#Modal|#PhrasalVerb)",tag:"Adverb",reason:"verb-like"},{match:"(barely|hardly) even",tag:"Adverb",reason:"barely-even"},{match:"[even] #Verb",group:0,tag:"Adverb",reason:"even-walk"},{match:"[even] #Comparative",group:0,tag:"Adverb",reason:"even-worse"},{match:"[even] (#Determiner|#Possessive)",group:0,tag:"#Adverb",reason:"even-the"},{match:"even left",tag:"#Adverb #Verb",reason:"even-left"},{match:"[way] #Adjective",group:0,tag:"#Adverb",reason:"way-over"},{match:"#PresentTense [(hard|quick|bright|slow|fast|backwards|forwards)]",notIf:"#Copula",group:0,tag:"Adverb",reason:"lazy-ly"},{match:"[much] #Adjective",group:0,tag:"Adverb",reason:"bit-1"},{match:"#Copula [#Adverb]$",group:0,tag:"Adjective",reason:"is-well"},{match:"a [(little|bit|wee) bit?] #Adjective",group:0,tag:"Adverb",reason:"a-bit-cold"},{match:"[(super|pretty)] #Adjective",group:0,tag:"Adverb",reason:"super-strong"},{match:"(become|fall|grow) #Adverb? [#PastTense]",group:0,tag:"Adjective",reason:"overly-weakened"},{match:"(a|an) #Adverb [#Participle] #Noun",group:0,tag:"Adjective",reason:"completely-beaten"},{match:"#Determiner #Adverb? [close]",group:0,tag:"Adjective",reason:"a-close"},{match:"#Gerund #Adverb? [close]",group:0,tag:"Adverb",notIf:"(getting|becoming|feeling)",reason:"being-close"},{match:"(the|those|these|a|an) [#Participle] #Noun",group:0,tag:"Adjective",reason:"blown-motor"},{match:"(#PresentTense|#PastTense) [back]",group:0,tag:"Adverb",notIf:"(#PhrasalVerb|#Copula)",reason:"charge-back"},{match:"#Verb [around]",group:0,tag:"Adverb",notIf:"#PhrasalVerb",reason:"send-around"},{match:"[later] #PresentTense",group:0,tag:"Adverb",reason:"later-say"},{match:"#Determiner [well] !#PastTense?",group:0,tag:"Noun",reason:"the-well"},{match:"#Adjective [enough]",group:0,tag:"Adverb",reason:"high-enough"}],[{match:"[sun] the #Ordinal",tag:"WeekDay",reason:"sun-the-5th"},{match:"[sun] #Date",group:0,tag:"WeekDay",reason:"sun-feb"},{match:"#Date (on|this|next|last|during)? [sun]",group:0,tag:"WeekDay",reason:"1pm-sun"},{match:"(in|by|before|during|on|until|after|of|within|all) [sat]",group:0,tag:"WeekDay",reason:"sat"},{match:"(in|by|before|during|on|until|after|of|within|all) [wed]",group:0,tag:"WeekDay",reason:"wed"},{match:"(in|by|before|during|on|until|after|of|within|all) [march]",group:0,tag:"Month",reason:"march"},{match:"[sat] #Date",group:0,tag:"WeekDay",reason:"sat-feb"},{match:"#Preposition [(march|may)]",group:0,tag:"Month",reason:"in-month"},{match:"(this|next|last) (march|may) !#Infinitive?",tag:"#Date #Month",reason:"this-month"},{match:"(march|may) the? #Value",tag:"#Month #Date #Date",reason:"march-5th"},{match:"#Value of? (march|may)",tag:"#Date #Date #Month",reason:"5th-of-march"},{match:"[(march|may)] .? #Date",group:0,tag:"Month",reason:"march-and-feb"},{match:"#Date .? [(march|may)]",group:0,tag:"Month",reason:"feb-and-march"},{match:"#Adverb [(march|may)]",group:0,tag:"Verb",reason:"quickly-march"},{match:"[(march|may)] #Adverb",group:0,tag:"Verb",reason:"march-quickly"}],[{match:"#Holiday (day|eve)",tag:"Holiday",reason:"holiday-day"},{match:"#Value of #Month",tag:"Date",reason:"value-of-month"},{match:"#Cardinal #Month",tag:"Date",reason:"cardinal-month"},{match:"#Month #Value to #Value",tag:"Date",reason:"value-to-value"},{match:"#Month the #Value",tag:"Date",reason:"month-the-value"},{match:"(#WeekDay|#Month) #Value",tag:"Date",reason:"date-value"},{match:"#Value (#WeekDay|#Month)",tag:"Date",reason:"value-date"},{match:"(#TextValue && #Date) #TextValue",tag:"Date",reason:"textvalue-date"},{match:"#Month #NumberRange",tag:"Date",reason:"aug 20-21"},{match:"#WeekDay #Month #Ordinal",tag:"Date",reason:"week mm-dd"},{match:"#Month #Ordinal #Cardinal",tag:"Date",reason:"mm-dd-yyy"},{match:"(#Place|#Demonmym|#Time) (standard|daylight|central|mountain)? time",tag:"Timezone",reason:"std-time"},{match:"(eastern|mountain|pacific|central|atlantic) (standard|daylight|summer)? time",tag:"Timezone",reason:"eastern-time"},{match:"#Time [(eastern|mountain|pacific|central|est|pst|gmt)]",group:0,tag:"Timezone",reason:"5pm-central"},{match:"(central|western|eastern) european time",tag:"Timezone",reason:"cet"}],[{match:"(the|any) [more]",group:0,tag:"Singular",reason:"more-noun"},{match:"[more] #Noun",group:0,tag:"Adjective",reason:"more-noun"},{match:"(right|rights) of .",tag:"Noun",reason:"right-of"},{match:"a [bit]",group:0,tag:"Singular",reason:"bit-2"},{match:"a [must]",group:0,tag:"Singular",reason:"must-2"},{match:"(we|us) [all]",group:0,tag:"Noun",reason:"we all"},{match:"due to [#Verb]",group:0,tag:"Noun",reason:"due-to"},{match:"some [#Verb] #Plural",group:0,tag:"Noun",reason:"determiner6"},{match:"#Possessive #Ordinal [#PastTense]",group:0,tag:"Noun",reason:"first-thought"},{match:"(the|this|those|these) #Adjective [%Verb|Noun%]",group:0,tag:"Noun",notIf:"#Copula",reason:"the-adj-verb"},{match:"(the|this|those|these) #Adverb #Adjective [#Verb]",group:0,tag:"Noun",reason:"determiner4"},{match:"the [#Verb] #Preposition .",group:0,tag:"Noun",reason:"determiner1"},{match:"(a|an|the) [#Verb] of",group:0,tag:"Noun",reason:"the-verb-of"},{match:"#Determiner #Noun of [#Verb]",group:0,tag:"Noun",notIf:"#Gerund",reason:"noun-of-noun"},{match:"#PastTense #Preposition [#PresentTense]",group:0,notIf:"#Gerund",tag:"Noun",reason:"ended-in-ruins"},{match:"#Conjunction [u]",group:0,tag:"Pronoun",reason:"u-pronoun-2"},{match:"[u] #Verb",group:0,tag:"Pronoun",reason:"u-pronoun-1"},{match:"#Determiner [(western|eastern|northern|southern|central)] #Noun",group:0,tag:"Noun",reason:"western-line"},{match:"(#Singular && @hasHyphen) #PresentTense",tag:"Noun",reason:"hyphen-verb"},{match:"is no [#Verb]",group:0,tag:"Noun",reason:"is-no-verb"},{match:"do [so]",group:0,tag:"Noun",reason:"so-noun"},{match:"#Determiner [(shit|damn|hell)]",group:0,tag:"Noun",reason:"swears-noun"},{match:"to [(shit|hell)]",group:0,tag:"Noun",reason:"to-swears"},{match:"(the|these) [#Singular] (were|are)",group:0,tag:"Plural",reason:"singular-were"},{match:"a #Noun+ or #Adverb+? [#Verb]",group:0,tag:"Noun",reason:"noun-or-noun"},{match:"(the|those|these|a|an) #Adjective? [#PresentTense #Particle?]",group:0,tag:"Noun",notIf:"(seem|appear|include|#Gerund|#Copula)",reason:"det-inf"},{match:"#Noun #Actor",tag:"Actor",notIf:"(#Person|#Pronoun)",reason:"thing-doer"},{match:"#Gerund #Actor",tag:"Actor",reason:"gerund-doer"},{match:"co #Singular",tag:"Actor",reason:"co-noun"},{match:"[#Noun+] #Actor",group:0,tag:"Actor",notIf:"(#Honorific|#Pronoun|#Possessive)",reason:"air-traffic-controller"},{match:"(urban|cardiac|cardiovascular|respiratory|medical|clinical|visual|graphic|creative|dental|exotic|fine|certified|registered|technical|virtual|professional|amateur|junior|senior|special|pharmaceutical|theoretical)+ #Noun? #Actor",tag:"Actor",reason:"fine-artist"},{match:"#Noun+ (coach|chef|king|engineer|fellow|personality|boy|girl|man|woman|master)",tag:"Actor",reason:"dance-coach"},{match:"chief . officer",tag:"Actor",reason:"chief-x-officer"},{match:"chief of #Noun+",tag:"Actor",reason:"chief-of-police"},{match:"senior? vice? president of #Noun+",tag:"Actor",reason:"president-of"},{match:"#Determiner [sun]",group:0,tag:"Singular",reason:"the-sun"},{match:"#Verb (a|an) [#Value]$",group:0,tag:"Singular",reason:"did-a-value"},{match:"the [(can|will|may)]",group:0,tag:"Singular",reason:"the can"},{match:"#FirstName #Acronym? (#Possessive && #LastName)",tag:"Possessive",reason:"name-poss"},{match:"#Organization+ #Possessive",tag:"Possessive",reason:"org-possessive"},{match:"#Place+ #Possessive",tag:"Possessive",reason:"place-possessive"},{match:"#Possessive #PresentTense #Particle?",notIf:"(#Gerund|her)",tag:"Noun",reason:"possessive-verb"},{match:"(my|our|their|her|his|its) [(#Plural && #Actor)] #Noun",tag:"Possessive",reason:"my-dads"},{match:"#Value of a [second]",group:0,unTag:"Value",tag:"Singular",reason:"10th-of-a-second"},{match:"#Value [seconds]",group:0,unTag:"Value",tag:"Plural",reason:"10-seconds"},{match:"in [#Infinitive]",group:0,tag:"Singular",reason:"in-age"},{match:"a [#Adjective] #Preposition",group:0,tag:"Noun",reason:"a-minor-in"},{match:"#Determiner [#Singular] said",group:0,tag:"Actor",reason:"the-actor-said"},{match:"#Determiner #Noun [(feel|sense|process|rush|side|bomb|bully|challenge|cover|crush|dump|exchange|flow|function|issue|lecture|limit|march|process)] !(#Preposition|to|#Adverb)?",group:0,tag:"Noun",reason:"the-noun-sense"},{match:"[#PresentTense] (of|by|for) (a|an|the) #Noun #Copula",group:0,tag:"Plural",reason:"photographs-of"},{match:"#Infinitive and [%Noun|Verb%]",group:0,tag:"Infinitive",reason:"fight and win"},{match:"#Noun and [#Verb] and #Noun",group:0,tag:"Noun",reason:"peace-and-flowers"},{match:"the #Cardinal [%Adj|Noun%]",group:0,tag:"Noun",reason:"the-1992-classic"},{match:"#Copula the [%Adj|Noun%] #Noun",group:0,tag:"Adjective",reason:"the-premier-university"},{match:"i #Verb [me] #Noun",group:0,tag:"Possessive",reason:"scottish-me"},{match:"[#PresentTense] (music|class|lesson|night|party|festival|league|ceremony)",group:0,tag:"Noun",reason:"dance-music"},{match:"[wit] (me|it)",group:0,tag:"Presposition",reason:"wit-me"},{match:"#PastTense #Possessive [#Verb]",group:0,tag:"Noun",notIf:"(saw|made)",reason:"left-her-boots"},{match:"#Value [%Plural|Verb%]",group:0,tag:"Plural",notIf:"(one|1|a|an)",reason:"35-signs"},{match:"had [#PresentTense]",group:0,tag:"Noun",notIf:"(#Gerund|come|become)",reason:"had-time"},{match:"%Adj|Noun% %Noun|Verb%",tag:"#Adjective #Noun",notIf:"#ProperNoun #Noun",reason:"instant-access"},{match:"#Determiner [%Adj|Noun%] #Conjunction",group:0,tag:"Noun",reason:"a-rep-to"},{match:"#Adjective #Noun [%Plural|Verb%]$",group:0,tag:"Plural",notIf:"#Pronoun",reason:"near-death-experiences"},{match:"#Possessive #Noun [%Plural|Verb%]$",group:0,tag:"Plural",reason:"your-guild-colors"}],[{match:"(this|that|the|a|an) [#Gerund #Infinitive]",group:0,tag:"Singular",reason:"the-planning-process"},{match:"(that|the) [#Gerund #PresentTense]",group:0,ifNo:"#Copula",tag:"Plural",reason:"the-paving-stones"},{match:"#Determiner [#Gerund] #Noun",group:0,tag:"Adjective",reason:"the-gerund-noun"},{match:"#Pronoun #Infinitive [#Gerund] #PresentTense",group:0,tag:"Noun",reason:"tipping-sucks"},{match:"#Adjective [#Gerund]",group:0,tag:"Noun",notIf:"(still|even|just)",reason:"early-warning"},{match:"[#Gerund] #Adverb? not? #Copula",group:0,tag:"Activity",reason:"gerund-copula"},{match:"#Copula [(#Gerund|#Activity)] #Copula",group:0,tag:"Gerund",reason:"are-doing-is"},{match:"[#Gerund] #Modal",group:0,tag:"Activity",reason:"gerund-modal"},{match:"#Singular for [%Noun|Gerund%]",group:0,tag:"Gerund",reason:"noun-for-gerund"},{match:"#Comparative (for|at) [%Noun|Gerund%]",group:0,tag:"Gerund",reason:"better-for-gerund"},{match:"#PresentTense the [#Gerund]",group:0,tag:"Noun",reason:"keep-the-touching"}],[{match:"#Infinitive (this|that|the) [#Infinitive]",group:0,tag:"Noun",reason:"do-this-dance"},{match:"#Gerund #Determiner [#Infinitive]",group:0,tag:"Noun",reason:"running-a-show"},{match:"#Determiner (only|further|just|more|backward) [#Infinitive]",group:0,tag:"Noun",reason:"the-only-reason"},{match:"(the|this|a|an) [#Infinitive] #Adverb? #Verb",group:0,tag:"Noun",reason:"determiner5"},{match:"#Determiner #Adjective #Adjective? [#Infinitive]",group:0,tag:"Noun",reason:"a-nice-inf"},{match:"#Determiner #Demonym [#PresentTense]",group:0,tag:"Noun",reason:"mexican-train"},{match:"#Adjective #Noun+ [#Infinitive] #Copula",group:0,tag:"Noun",reason:"career-move"},{match:"at some [#Infinitive]",group:0,tag:"Noun",reason:"at-some-inf"},{match:"(go|goes|went) to [#Infinitive]",group:0,tag:"Noun",reason:"goes-to-verb"},{match:"(a|an) #Adjective? #Noun [#Infinitive] (#Preposition|#Noun)",group:0,notIf:"from",tag:"Noun",reason:"a-noun-inf"},{match:"(a|an) #Noun [#Infinitive]$",group:0,tag:"Noun",reason:"a-noun-inf2"},{match:"#Gerund #Adjective? for [#Infinitive]",group:0,tag:"Noun",reason:"running-for"},{match:"about [#Infinitive]",group:0,tag:"Singular",reason:"about-love"},{match:"#Plural on [#Infinitive]",group:0,tag:"Noun",reason:"on-stage"},{match:"any [#Infinitive]",group:0,tag:"Noun",reason:"any-charge"},{match:"no [#Infinitive]",group:0,tag:"Noun",reason:"no-doubt"},{match:"number of [#PresentTense]",group:0,tag:"Noun",reason:"number-of-x"},{match:"(taught|teaches|learns|learned) [#PresentTense]",group:0,tag:"Noun",reason:"teaches-x"},{match:"(try|use|attempt|build|make) [#Verb #Particle?]",notIf:"(#Copula|#Noun|sure|fun|up)",group:0,tag:"Noun",reason:"do-verb"},{match:"^[#Infinitive] (is|was)",group:0,tag:"Noun",reason:"checkmate-is"},{match:"#Infinitive much [#Infinitive]",group:0,tag:"Noun",reason:"get-much"},{match:"[cause] #Pronoun #Verb",group:0,tag:"Conjunction",reason:"cause-cuz"},{match:"the #Singular [#Infinitive] #Noun",group:0,tag:"Noun",notIf:"#Pronoun",reason:"cardio-dance"},{match:"#Determiner #Modal [#Noun]",group:0,tag:"PresentTense",reason:"should-smoke"},{match:"this [#Plural]",group:0,tag:"PresentTense",notIf:"(#Preposition|#Date)",reason:"this-verbs"},{match:"#Noun that [#Plural]",group:0,tag:"PresentTense",notIf:"(#Preposition|#Pronoun|way)",reason:"voice-that-rocks"},{match:"that [#Plural] to",group:0,tag:"PresentTense",notIf:"#Preposition",reason:"that-leads-to"},{match:"(let|make|made) (him|her|it|#Person|#Place|#Organization)+ [#Singular] (a|an|the|it)",group:0,tag:"Infinitive",reason:"let-him-glue"},{match:"#Verb (all|every|each|most|some|no) [#PresentTense]",notIf:"#Modal",group:0,tag:"Noun",reason:"all-presentTense"},{match:"(had|have|#PastTense) #Adjective [#PresentTense]",group:0,tag:"Noun",notIf:"better",reason:"adj-presentTense"},{match:"#Value #Adjective [#PresentTense]",group:0,tag:"Noun",notIf:"#Copula",reason:"one-big-reason"},{match:"#PastTense #Adjective+ [#PresentTense]",group:0,tag:"Noun",notIf:"(#Copula|better)",reason:"won-wide-support"},{match:"(many|few|several|couple) [#PresentTense]",group:0,tag:"Noun",notIf:"#Copula",reason:"many-poses"},{match:"#Determiner #Adverb #Adjective [%Noun|Verb%]",group:0,tag:"Noun",notIf:"#Copula",reason:"very-big-dream"},{match:"from #Noun to [%Noun|Verb%]",group:0,tag:"Noun",reason:"start-to-finish"},{match:"(for|with|of) #Noun (and|or|not) [%Noun|Verb%]",group:0,tag:"Noun",notIf:"#Pronoun",reason:"for-food-and-gas"},{match:"#Adjective #Adjective [#PresentTense]",group:0,tag:"Noun",notIf:"#Copula",reason:"adorable-little-store"},{match:"#Gerund #Adverb? #Comparative [#PresentTense]",group:0,tag:"Noun",notIf:"#Copula",reason:"higher-costs"},{match:"(#Noun && @hasComma) #Noun (and|or) [#PresentTense]",group:0,tag:"Noun",notIf:"#Copula",reason:"noun-list"},{match:"(many|any|some|several) [#PresentTense] for",group:0,tag:"Noun",reason:"any-verbs-for"},{match:"to #PresentTense #Noun [#PresentTense] #Preposition",group:0,tag:"Noun",reason:"gas-exchange"},{match:"#PastTense (until|as|through|without) [#PresentTense]",group:0,tag:"Noun",reason:"waited-until-release"},{match:"#Gerund like #Adjective? [#PresentTense]",group:0,tag:"Plural",reason:"like-hot-cakes"},{match:"some #Adjective [#PresentTense]",group:0,tag:"Noun",reason:"some-reason"},{match:"for some [#PresentTense]",group:0,tag:"Noun",reason:"for-some-reason"},{match:"(same|some|the|that|a) kind of [#PresentTense]",group:0,tag:"Noun",reason:"some-kind-of"},{match:"(same|some|the|that|a) type of [#PresentTense]",group:0,tag:"Noun",reason:"some-type-of"},{match:"#Gerund #Adjective #Preposition [#PresentTense]",group:0,tag:"Noun",reason:"doing-better-for-x"},{match:"(get|got|have) #Comparative [#PresentTense]",group:0,tag:"Noun",reason:"got-better-aim"},{match:"whose [#PresentTense] #Copula",group:0,tag:"Noun",reason:"whos-name-was"},{match:"#PhrasalVerb #Particle #Preposition [#PresentTense]",group:0,tag:"Noun",reason:"given-up-on-x"},{match:"there (are|were) #Adjective? [#PresentTense]",group:0,tag:"Plural",reason:"there-are"},{match:"#Value [#PresentTense] of",group:0,notIf:"(one|1|#Copula|#Infinitive)",tag:"Plural",reason:"2-trains"},{match:"[#PresentTense] (are|were) #Adjective",group:0,tag:"Plural",reason:"compromises-are-possible"},{match:"^[(hope|guess|thought|think)] #Pronoun #Verb",group:0,tag:"Infinitive",reason:"suppose-i"},{match:"#Possessive #Adjective [#Verb]",group:0,tag:"Noun",notIf:"#Copula",reason:"our-full-support"},{match:"[(tastes|smells)] #Adverb? #Adjective",group:0,tag:"PresentTense",reason:"tastes-good"},{match:"#Copula #Gerund [#PresentTense] !by?",group:0,tag:"Noun",notIf:"going",reason:"ignoring-commute"},{match:"#Determiner #Adjective? [(shed|thought|rose|bid|saw|spelt)]",group:0,tag:"Noun",reason:"noun-past"},{match:"how to [%Noun|Verb%]",group:0,tag:"Infinitive",reason:"how-to-noun"},{match:"which [%Noun|Verb%] #Noun",group:0,tag:"Infinitive",reason:"which-boost-it"},{match:"#Gerund [%Plural|Verb%]",group:0,tag:"Plural",reason:"asking-questions"},{match:"(ready|available|difficult|hard|easy|made|attempt|try) to [%Noun|Verb%]",group:0,tag:"Infinitive",reason:"ready-to-noun"},{match:"(bring|went|go|drive|run|bike) to [%Noun|Verb%]",group:0,tag:"Noun",reason:"bring-to-noun"},{match:"#Modal #Noun [%Noun|Verb%]",group:0,tag:"Infinitive",reason:"would-you-look"},{match:"#Copula just [#Infinitive]",group:0,tag:"Noun",reason:"is-just-spam"},{match:"^%Noun|Verb% %Plural|Verb%",tag:"Imperative #Plural",reason:"request-copies"},{match:"#Adjective #Plural and [%Plural|Verb%]",group:0,tag:"#Plural",reason:"pickles-and-drinks"},{match:"#Determiner #Year [#Verb]",group:0,tag:"Noun",reason:"the-1968-film"},{match:"#Determiner [#PhrasalVerb #Particle]",group:0,tag:"Noun",reason:"the-break-up"},{match:"#Determiner [%Adj|Noun%] #Noun",group:0,tag:"Adjective",notIf:"(#Pronoun|#Possessive|#ProperNoun)",reason:"the-individual-goals"},{match:"[%Noun|Verb%] or #Infinitive",group:0,tag:"Infinitive",reason:"work-or-prepare"},{match:"to #Infinitive [#PresentTense]",group:0,tag:"Noun",notIf:"(#Gerund|#Copula|help)",reason:"to-give-thanks"},{match:"[#Noun] me",group:0,tag:"Verb",reason:"kills-me"},{match:"%Plural|Verb% %Plural|Verb%",tag:"#PresentTense #Plural",reason:"removes-wrinkles"}],[{match:"#Money and #Money #Currency?",tag:"Money",reason:"money-and-money"},{match:"#Value #Currency [and] #Value (cents|ore|centavos|sens)",group:0,tag:"money",reason:"and-5-cents"},{match:"#Value (mark|rand|won|rub|ore)",tag:"#Money #Currency",reason:"4-mark"},{match:"a pound",tag:"#Money #Unit",reason:"a-pound"},{match:"#Value (pound|pounds)",tag:"#Money #Unit",reason:"4-pounds"}],[{match:"[(half|quarter)] of? (a|an)",group:0,tag:"Fraction",reason:"millionth"},{match:"#Adverb [half]",group:0,tag:"Fraction",reason:"nearly-half"},{match:"[half] the",group:0,tag:"Fraction",reason:"half-the"},{match:"#Cardinal and a half",tag:"Fraction",reason:"and-a-half"},{match:"#Value (halves|halfs|quarters)",tag:"Fraction",reason:"two-halves"},{match:"a #Ordinal",tag:"Fraction",reason:"a-quarter"},{match:"[#Cardinal+] (#Fraction && /s$/)",tag:"Fraction",reason:"seven-fifths"},{match:"[#Cardinal+ #Ordinal] of .",group:0,tag:"Fraction",reason:"ordinal-of"},{match:"[(#NumericValue && #Ordinal)] of .",group:0,tag:"Fraction",reason:"num-ordinal-of"},{match:"(a|one) #Cardinal?+ #Ordinal",tag:"Fraction",reason:"a-ordinal"},{match:"#Cardinal+ out? of every? #Cardinal",tag:"Fraction",reason:"out-of"}],[{match:"#Cardinal [second]",tag:"Unit",reason:"one-second"},{match:"!once? [(a|an)] (#Duration|hundred|thousand|million|billion|trillion)",group:0,tag:"Value",reason:"a-is-one"},{match:"1 #Value #PhoneNumber",tag:"PhoneNumber",reason:"1-800-Value"},{match:"#NumericValue #PhoneNumber",tag:"PhoneNumber",reason:"(800) PhoneNumber"},{match:"#Demonym #Currency",tag:"Currency",reason:"demonym-currency"},{match:"#Value [(buck|bucks|grand)]",group:0,tag:"Currency",reason:"value-bucks"},{match:"[#Value+] #Currency",group:0,tag:"Money",reason:"15 usd"},{match:"[second] #Noun",group:0,tag:"Ordinal",reason:"second-noun"},{match:"#Value+ [#Currency]",group:0,tag:"Unit",reason:"5-yan"},{match:"#Value [(foot|feet)]",group:0,tag:"Unit",reason:"foot-unit"},{match:"#Value [#Abbreviation]",group:0,tag:"Unit",reason:"value-abbr"},{match:"#Value [k]",group:0,tag:"Unit",reason:"value-k"},{match:"#Unit an hour",tag:"Unit",reason:"unit-an-hour"},{match:"(minus|negative) #Value",tag:"Value",reason:"minus-value"},{match:"#Value (point|decimal) #Value",tag:"Value",reason:"value-point-value"},{match:"#Determiner [(half|quarter)] #Ordinal",group:0,tag:"Value",reason:"half-ordinal"},{match:"#Multiple+ and #Value",tag:"Value",reason:"magnitude-and-value"},{match:"#Value #Unit [(per|an) (hr|hour|sec|second|min|minute)]",group:0,tag:"Unit",reason:"12-miles-per-second"},{match:"#Value [(square|cubic)] #Unit",group:0,tag:"Unit",reason:"square-miles"},{match:"^[#Value] (#Determiner|#Gerund)",group:0,tag:"Expression",unTag:"Value",reason:"numbered-list"}],[{match:"#Copula [(#Noun|#PresentTense)] #LastName",group:0,tag:"FirstName",reason:"copula-noun-lastname"},{match:"(sister|pope|brother|father|aunt|uncle|grandpa|grandfather|grandma) #ProperNoun",tag:"Person",reason:"lady-titlecase",safe:!0},{match:"#FirstName [#Determiner #Noun] #LastName",group:0,tag:"Person",reason:"first-noun-last"},{match:"#ProperNoun (b|c|d|e|f|g|h|j|k|l|m|n|o|p|q|r|s|t|u|v|w|x|y|z) #ProperNoun",tag:"Person",reason:"titlecase-acronym-titlecase",safe:!0},{match:"#Acronym #LastName",tag:"Person",reason:"acronym-lastname",safe:!0},{match:"#Person (jr|sr|md)",tag:"Person",reason:"person-honorific"},{match:"#Honorific #Acronym",tag:"Person",reason:"Honorific-TitleCase"},{match:"#Person #Person the? #RomanNumeral",tag:"Person",reason:"roman-numeral"},{match:"#FirstName [/^[^aiurck]$/]",group:0,tag:["Acronym","Person"],reason:"john-e"},{match:"#Noun van der? #Noun",tag:"Person",reason:"van der noun",safe:!0},{match:"(king|queen|prince|saint|lady) of #Noun",tag:"Person",reason:"king-of-noun",safe:!0},{match:"(prince|lady) #Place",tag:"Person",reason:"lady-place"},{match:"(king|queen|prince|saint) #ProperNoun",tag:"Person",reason:"saint-foo"},{match:"al (#Person|#ProperNoun)",tag:"Person",reason:"al-borlen",safe:!0},{match:"#FirstName de #Noun",tag:"Person",reason:"bill-de-noun"},{match:"#FirstName (bin|al) #Noun",tag:"Person",reason:"bill-al-noun"},{match:"#FirstName #Acronym #ProperNoun",tag:"Person",reason:"bill-acronym-title"},{match:"#FirstName #FirstName #ProperNoun",tag:"Person",reason:"bill-firstname-title"},{match:"#Honorific #FirstName? #ProperNoun",tag:"Person",reason:"dr-john-Title"},{match:"#FirstName the #Adjective",tag:"Person",reason:"name-the-great"},{match:"#ProperNoun (van|al|bin) #ProperNoun",tag:"Person",reason:"title-van-title",safe:!0},{match:"#ProperNoun (de|du) la? #ProperNoun",tag:"Person",reason:"title-de-title"},{match:"#Singular #Acronym #LastName",tag:"#FirstName #Person .",reason:"title-acro-noun",safe:!0},{match:"[#ProperNoun] #Person",group:0,tag:"Person",reason:"proper-person",safe:!0},{match:"#Person [#ProperNoun #ProperNoun]",group:0,tag:"Person",notIf:"#Possessive",reason:"three-name-person",safe:!0},{match:"#FirstName #Acronym? [#ProperNoun]",group:0,tag:"LastName",notIf:"#Possessive",reason:"firstname-titlecase"},{match:"#FirstName [#FirstName]",group:0,tag:"LastName",reason:"firstname-firstname"},{match:"#FirstName #Acronym #Noun",tag:"Person",reason:"n-acro-noun",safe:!0},{match:"#FirstName [(de|di|du|van|von)] #Person",group:0,tag:"LastName",reason:"de-firstname"},{match:"[(lieutenant|corporal|sergeant|captain|qeen|king|admiral|major|colonel|marshal|president|queen|king)+] #ProperNoun",group:0,tag:"Honorific",reason:"seargeant-john"},{match:"[(private|general|major|rear|prime|field|count|miss)] #Honorific? #Person",group:0,tag:["Honorific","Person"],reason:"ambg-honorifics"},{match:"#Honorific #FirstName [#Singular]",group:0,tag:"LastName",notIf:"#Possessive",reason:"dr-john-foo",safe:!0},{match:"[(his|her) (majesty|honour|worship|excellency|honorable)] #Person",group:0,tag:"Honorific",reason:"his-excellency"},{match:"#Honorific #Actor",tag:"Honorific",reason:"Lieutenant colonel"},{match:"(first|second|third|1st|2nd|3rd) #Actor",tag:"Honorific",reason:"first lady"},{match:"#Person #RomanNumeral",tag:"Person",reason:"louis-IV"}],[{match:"%Person|Date% #Acronym? #ProperNoun",tag:"Person",reason:"jan-thierson"},{match:"%Person|Noun% #Acronym? #ProperNoun",tag:"Person",reason:"switch-person",safe:!0},{match:"%Person|Noun% #Organization",tag:"Organization",reason:"olive-garden"},{match:"%Person|Verb% #Acronym? #ProperNoun",tag:"Person",reason:"verb-propernoun",ifNo:"#Actor"},{match:"[%Person|Verb%] (will|had|has|said|says|told|did|learned|wants|wanted)",group:0,tag:"Person",reason:"person-said"},{match:"[%Person|Place%] (harbor|harbour|pier|town|city|place|dump|landfill)",group:0,tag:"Place",reason:"sydney-harbour"},{match:"(west|east|north|south) [%Person|Place%]",group:0,tag:"Place",reason:"east-sydney"},{match:"#Modal [%Person|Verb%]",group:0,tag:"Verb",reason:"would-mark"},{match:"#Adverb [%Person|Verb%]",group:0,tag:"Verb",reason:"really-mark"},{match:"[%Person|Verb%] (#Adverb|#Comparative)",group:0,tag:"Verb",reason:"drew-closer"},{match:"%Person|Verb% #Person",tag:"Person",reason:"rob-smith"},{match:"%Person|Verb% #Acronym #ProperNoun",tag:"Person",reason:"rob-a-smith"},{match:"[will] #Verb",group:0,tag:"Modal",reason:"will-verb"},{match:"(will && @isTitleCase) #ProperNoun",tag:"Person",reason:"will-name"},{match:"(#FirstName && !#Possessive) [#Singular] #Verb",group:0,safe:!0,tag:"LastName",reason:"jack-layton"},{match:"^[#Singular] #Person #Verb",group:0,safe:!0,tag:"Person",reason:"sherwood-anderson"},{match:"(a|an) [#Person]$",group:0,unTag:"Person",reason:"a-warhol"}],[{match:"#Copula (pretty|dead|full|well|sure) (#Adjective|#Noun)",tag:"#Copula #Adverb #Adjective",reason:"sometimes-adverb"},{match:"(#Pronoun|#Person) (had|#Adverb)? [better] #PresentTense",group:0,tag:"Modal",reason:"i-better"},{match:"(#Modal|i|they|we|do) not? [like]",group:0,tag:"PresentTense",reason:"modal-like"},{match:"#Noun #Adverb? [left]",group:0,tag:"PastTense",reason:"left-verb"},{match:"will #Adverb? not? #Adverb? [be] #Gerund",group:0,tag:"Copula",reason:"will-be-copula"},{match:"will #Adverb? not? #Adverb? [be] #Adjective",group:0,tag:"Copula",reason:"be-copula"},{match:"[march] (up|down|back|toward)",notIf:"#Date",group:0,tag:"Infinitive",reason:"march-to"},{match:"#Modal [march]",group:0,tag:"Infinitive",reason:"must-march"},{match:"[may] be",group:0,tag:"Verb",reason:"may-be"},{match:"[(subject|subjects|subjected)] to",group:0,tag:"Verb",reason:"subject to"},{match:"[home] to",group:0,tag:"PresentTense",reason:"home to"},{match:"[open] #Determiner",group:0,tag:"Infinitive",reason:"open-the"},{match:"(were|was) being [#PresentTense]",group:0,tag:"PastTense",reason:"was-being"},{match:"(had|has|have) [been /en$/]",group:0,tag:"Auxiliary Participle",reason:"had-been-broken"},{match:"(had|has|have) [been /ed$/]",group:0,tag:"Auxiliary PastTense",reason:"had-been-smoked"},{match:"(had|has) #Adverb? [been] #Adverb? #PastTense",group:0,tag:"Auxiliary",reason:"had-been-adj"},{match:"(had|has) to [#Noun] (#Determiner|#Possessive)",group:0,tag:"Infinitive",reason:"had-to-noun"},{match:"have [#PresentTense]",group:0,tag:"PastTense",notIf:"(come|gotten)",reason:"have-read"},{match:"(does|will|#Modal) that [work]",group:0,tag:"PastTense",reason:"does-that-work"},{match:"[(sound|sounds)] #Adjective",group:0,tag:"PresentTense",reason:"sounds-fun"},{match:"[(look|looks)] #Adjective",group:0,tag:"PresentTense",reason:"looks-good"},{match:"[(start|starts|stop|stops|begin|begins)] #Gerund",group:0,tag:"Verb",reason:"starts-thinking"},{match:"(have|had) read",tag:"Modal #PastTense",reason:"read-read"},{match:"(is|was|were) [(under|over) #PastTense]",group:0,tag:"Adverb Adjective",reason:"was-under-cooked"},{match:"[shit] (#Determiner|#Possessive|them)",group:0,tag:"Verb",reason:"swear1-verb"},{match:"[damn] (#Determiner|#Possessive|them)",group:0,tag:"Verb",reason:"swear2-verb"},{match:"[fuck] (#Determiner|#Possessive|them)",group:0,tag:"Verb",reason:"swear3-verb"},{match:"#Plural that %Noun|Verb%",tag:". #Preposition #Infinitive",reason:"jobs-that-work"},{match:"[works] for me",group:0,tag:"PresentTense",reason:"works-for-me"},{match:"as #Pronoun [please]",group:0,tag:"Infinitive",reason:"as-we-please"},{match:"[(co|mis|de|inter|intra|pre|re|un|out|under|over|counter)] #Verb",group:0,tag:["Verb","Prefix"],notIf:"(#Copula|#PhrasalVerb)",reason:"co-write"},{match:"#PastTense and [%Adj|Past%]",group:0,tag:"PastTense",reason:"dressed-and-left"},{match:"[%Adj|Past%] and #PastTense",group:0,tag:"PastTense",reason:"dressed-and-left"},{match:"#Copula #Pronoun [%Adj|Past%]",group:0,tag:"Adjective",reason:"is-he-stoked"},{match:"to [%Noun|Verb%] #Preposition",group:0,tag:"Infinitive",reason:"to-dream-of"}],[{match:"(slowly|quickly) [#Adjective]",group:0,tag:"Verb",reason:"slowly-adj"},{match:"does (#Adverb|not)? [#Adjective]",group:0,tag:"PresentTense",reason:"does-mean"},{match:"[(fine|okay|cool|ok)] by me",group:0,tag:"Adjective",reason:"okay-by-me"},{match:"i (#Adverb|do)? not? [mean]",group:0,tag:"PresentTense",reason:"i-mean"},{match:"will #Adjective",tag:"Auxiliary Infinitive",reason:"will-adj"},{match:"#Pronoun [#Adjective] #Determiner #Adjective? #Noun",group:0,tag:"Verb",reason:"he-adj-the"},{match:"#Copula [%Adj|Present%] to #Verb",group:0,tag:"Verb",reason:"adj-to"},{match:"#Copula [#Adjective] (well|badly|quickly|slowly)",group:0,tag:"Verb",reason:"done-well"},{match:"#Adjective and [#Gerund] !#Preposition?",group:0,tag:"Adjective",reason:"rude-and-x"},{match:"#Copula #Adverb? (over|under) [#PastTense]",group:0,tag:"Adjective",reason:"over-cooked"},{match:"#Copula #Adjective+ (and|or) [#PastTense]$",group:0,tag:"Adjective",reason:"bland-and-overcooked"},{match:"got #Adverb? [#PastTense] of",group:0,tag:"Adjective",reason:"got-tired-of"},{match:"(seem|seems|seemed|appear|appeared|appears|feel|feels|felt|sound|sounds|sounded) (#Adverb|#Adjective)? [#PastTense]",group:0,tag:"Adjective",reason:"felt-loved"},{match:"(seem|feel|seemed|felt) [#PastTense #Particle?]",group:0,tag:"Adjective",reason:"seem-confused"},{match:"a (bit|little|tad) [#PastTense #Particle?]",group:0,tag:"Adjective",reason:"a-bit-confused"},{match:"not be [%Adj|Past% #Particle?]",group:0,tag:"Adjective",reason:"do-not-be-confused"},{match:"#Copula just [%Adj|Past% #Particle?]",group:0,tag:"Adjective",reason:"is-just-right"},{match:"as [#Infinitive] as",group:0,tag:"Adjective",reason:"as-pale-as"},{match:"[%Adj|Past%] and #Adjective",group:0,tag:"Adjective",reason:"faled-and-oppressive"},{match:"or [#PastTense] #Noun",group:0,tag:"Adjective",notIf:"(#Copula|#Pronoun)",reason:"or-heightened-emotion"},{match:"(become|became|becoming|becomes) [#Verb]",group:0,tag:"Adjective",reason:"become-verb"},{match:"#Possessive [#PastTense] #Noun",group:0,tag:"Adjective",reason:"declared-intentions"},{match:"#Copula #Pronoun [%Adj|Present%]",group:0,tag:"Adjective",reason:"is-he-cool"}],[{match:"will (#Adverb|not)+? [have] (#Adverb|not)+? #Verb",group:0,tag:"Auxiliary",reason:"will-have-vb"},{match:"[#Copula] (#Adverb|not)+? (#Gerund|#PastTense)",group:0,tag:"Auxiliary",reason:"copula-walking"},{match:"[(#Modal|did)+] (#Adverb|not)+? #Verb",group:0,tag:"Auxiliary",reason:"modal-verb"},{match:"#Modal (#Adverb|not)+? [have] (#Adverb|not)+? [had] (#Adverb|not)+? #Verb",group:0,tag:"Auxiliary",reason:"would-have"},{match:"[(has|had)] (#Adverb|not)+? #PastTense",group:0,tag:"Auxiliary",reason:"had-walked"},{match:"[(do|does|did|will|have|had|has|got)] (not|#Adverb)+? #Verb",group:0,tag:"Auxiliary",reason:"have-had"},{match:"[about to] #Adverb? #Verb",group:0,tag:["Auxiliary","Verb"],reason:"about-to"},{match:"#Modal (#Adverb|not)+? [be] (#Adverb|not)+? #Verb",group:0,tag:"Auxiliary",reason:"would-be"},{match:"[(#Modal|had|has)] (#Adverb|not)+? [been] (#Adverb|not)+? #Verb",group:0,tag:"Auxiliary",reason:"had-been"},{match:"[(be|being|been)] #Participle",group:0,tag:"Auxiliary",reason:"being-driven"},{match:"[may] #Adverb? #Infinitive",group:0,tag:"Auxiliary",reason:"may-want"},{match:"#Copula (#Adverb|not)+? [(be|being|been)] #Adverb+? #PastTense",group:0,tag:"Auxiliary",reason:"being-walked"},{match:"will [be] #PastTense",group:0,tag:"Auxiliary",reason:"will-be-x"},{match:"[(be|been)] (#Adverb|not)+? #Gerund",group:0,tag:"Auxiliary",reason:"been-walking"},{match:"[used to] #PresentTense",group:0,tag:"Auxiliary",reason:"used-to-walk"},{match:"#Copula (#Adverb|not)+? [going to] #Adverb+? #PresentTense",group:0,tag:"Auxiliary",reason:"going-to-walk"},{match:"#Imperative [(me|him|her)]",group:0,tag:"Reflexive",reason:"tell-him"},{match:"(is|was) #Adverb? [no]",group:0,tag:"Negative",reason:"is-no"},{match:"[(been|had|became|came)] #PastTense",group:0,notIf:"#PhrasalVerb",tag:"Auxiliary",reason:"been-told"},{match:"[(being|having|getting)] #Verb",group:0,tag:"Auxiliary",reason:"being-born"},{match:"[be] #Gerund",group:0,tag:"Auxiliary",reason:"be-walking"},{match:"[better] #PresentTense",group:0,tag:"Modal",notIf:"(#Copula|#Gerund)",reason:"better-go"},{match:"even better",tag:"Adverb #Comparative",reason:"even-better"}],[{match:"(#Verb && @hasHyphen) up",tag:"PhrasalVerb",reason:"foo-up"},{match:"(#Verb && @hasHyphen) off",tag:"PhrasalVerb",reason:"foo-off"},{match:"(#Verb && @hasHyphen) over",tag:"PhrasalVerb",reason:"foo-over"},{match:"(#Verb && @hasHyphen) out",tag:"PhrasalVerb",reason:"foo-out"},{match:"[#Verb (in|out|up|down|off|back)] (on|in)",notIf:"#Copula",tag:"PhrasalVerb Particle",reason:"walk-in-on"},{match:"(lived|went|crept|go) [on] for",group:0,tag:"PhrasalVerb",reason:"went-on"},{match:"#Verb (up|down|in|on|for)$",tag:"PhrasalVerb #Particle",notIf:"#PhrasalVerb",reason:"come-down$"},{match:"help [(stop|end|make|start)]",group:0,tag:"Infinitive",reason:"help-stop"},{match:"#PhrasalVerb (in && #Particle) #Determiner",tag:"#Verb #Preposition #Determiner",unTag:"PhrasalVerb",reason:"work-in-the"},{match:"[(stop|start|finish|help)] #Gerund",group:0,tag:"Infinitive",reason:"start-listening"},{match:"#Verb (him|her|it|us|himself|herself|itself|everything|something) [(up|down)]",group:0,tag:"Adverb",reason:"phrasal-pronoun-advb"}],[{match:"^do not? [#Infinitive #Particle?]",notIf:Uu,group:0,tag:"Imperative",reason:"do-eat"},{match:"^please do? not? [#Infinitive #Particle?]",group:0,tag:"Imperative",reason:"please-go"},{match:"^just do? not? [#Infinitive #Particle?]",group:0,tag:"Imperative",reason:"just-go"},{match:"^[#Infinitive] it #Comparative",notIf:Uu,group:0,tag:"Imperative",reason:"do-it-better"},{match:"^[#Infinitive] it (please|now|again|plz)",notIf:Uu,group:0,tag:"Imperative",reason:"do-it-please"},{match:"^[#Infinitive] (#Adjective|#Adverb)$",group:0,tag:"Imperative",notIf:"(so|such|rather|enough)",reason:"go-quickly"},{match:"^[#Infinitive] (up|down|over) #Determiner",group:0,tag:"Imperative",reason:"turn-down"},{match:"^[#Infinitive] (your|my|the|a|an|any|each|every|some|more|with|on)",group:0,notIf:"like",tag:"Imperative",reason:"eat-my-shorts"},{match:"^[#Infinitive] (him|her|it|us|me|there)",group:0,tag:"Imperative",reason:"tell-him"},{match:"^[#Infinitive] #Adjective #Noun$",group:0,tag:"Imperative",reason:"avoid-loud-noises"},{match:"^[#Infinitive] (#Adjective|#Adverb)? and #Infinitive",group:0,tag:"Imperative",reason:"call-and-reserve"},{match:"^(go|stop|wait|hurry) please?$",tag:"Imperative",reason:"go"},{match:"^(somebody|everybody) [#Infinitive]",group:0,tag:"Imperative",reason:"somebody-call"},{match:"^let (us|me) [#Infinitive]",group:0,tag:"Imperative",reason:"lets-leave"},{match:"^[(shut|close|open|start|stop|end|keep)] #Determiner #Noun",group:0,tag:"Imperative",reason:"shut-the-door"},{match:"^[#PhrasalVerb #Particle] #Determiner #Noun",group:0,tag:"Imperative",reason:"turn-off-the-light"},{match:"^[go] to .",group:0,tag:"Imperative",reason:"go-to-toronto"},{match:"^#Modal you [#Infinitive]",group:0,tag:"Imperative",reason:"would-you-"},{match:"^never [#Infinitive]",group:0,tag:"Imperative",reason:"never-stop"},{match:"^come #Infinitive",tag:"Imperative",notIf:"on",reason:"come-have"},{match:"^come and? #Infinitive",tag:"Imperative . Imperative",notIf:"#PhrasalVerb",reason:"come-and-have"},{match:"^stay (out|away|back)",tag:"Imperative",reason:"stay-away"},{match:"^[(stay|be|keep)] #Adjective",group:0,tag:"Imperative",reason:"stay-cool"},{match:"^[keep it] #Adjective",group:0,tag:"Imperative",reason:"keep-it-cool"},{match:"^do not [#Infinitive]",group:0,tag:"Imperative",reason:"do-not-be"},{match:"[#Infinitive] (yourself|yourselves)",group:0,tag:"Imperative",reason:"allow-yourself"},{match:"[#Infinitive] what .",group:0,tag:"Imperative",reason:"look-what"},{match:"^[#Infinitive] #Gerund",group:0,tag:"Imperative",reason:"keep-playing"},{match:"^[#Infinitive] (to|for|into|toward|here|there)",group:0,tag:"Imperative",reason:"go-to"},{match:"^[#Infinitive] (and|or) #Infinitive",group:0,tag:"Imperative",reason:"inf-and-inf"},{match:"^[%Noun|Verb%] to",group:0,tag:"Imperative",reason:"commit-to"},{match:"^[#Infinitive] #Adjective? #Singular #Singular",group:0,tag:"Imperative",reason:"maintain-eye-contact"},{match:"do not (forget|omit|neglect) to [#Infinitive]",group:0,tag:"Imperative",reason:"do-not-forget"},{match:"^[(ask|wear|pay|look|help|show|watch|act|fix|kill|stop|start|turn|try|win)] #Noun",group:0,tag:"Imperative",reason:"pay-attention"}],[{match:"(that|which) were [%Adj|Gerund%]",group:0,tag:"Gerund",reason:"that-were-growing"},{match:"#Gerund [#Gerund] #Plural",group:0,tag:"Adjective",reason:"hard-working-fam"}],[{match:"u r",tag:"#Pronoun #Copula",reason:"u r"},{match:"#Noun [(who|whom)]",group:0,tag:"Determiner",reason:"captain-who"},{match:"[had] #Noun+ #PastTense",group:0,tag:"Condition",reason:"had-he"},{match:"[were] #Noun+ to #Infinitive",group:0,tag:"Condition",reason:"were-he"},{match:"some sort of",tag:"Adjective Noun Conjunction",reason:"some-sort-of"},{match:"of some sort",tag:"Conjunction Adjective Noun",reason:"of-some-sort"},{match:"[such] (a|an|is)? #Noun",group:0,tag:"Determiner",reason:"such-skill"},{match:"[right] (before|after|in|into|to|toward)",group:0,tag:"#Adverb",reason:"right-into"},{match:"#Preposition [about]",group:0,tag:"Adjective",reason:"at-about"},{match:"(are|#Modal|see|do|for) [ya]",group:0,tag:"Pronoun",reason:"are-ya"},{match:"[long live] .",group:0,tag:"#Adjective #Infinitive",reason:"long-live"},{match:"[plenty] of",group:0,tag:"#Uncountable",reason:"plenty-of"},{match:"(always|nearly|barely|practically) [there]",group:0,tag:"Adjective",reason:"always-there"},{match:"[there] (#Adverb|#Pronoun)? #Copula",group:0,tag:"There",reason:"there-is"},{match:"#Copula [there] .",group:0,tag:"There",reason:"is-there"},{match:"#Modal #Adverb? [there]",group:0,tag:"There",reason:"should-there"},{match:"^[do] (you|we|they)",group:0,tag:"QuestionWord",reason:"do-you"},{match:"^[does] (he|she|it|#ProperNoun)",group:0,tag:"QuestionWord",reason:"does-he"},{match:"a [while]",group:0,tag:"Noun",reason:"a-while"},{match:"guess who",tag:"#Infinitive #QuestionWord",reason:"guess-who"},{match:"[fucking] !#Verb",group:0,tag:"#Gerund",reason:"f-as-gerund"}],[{match:"#Noun (&|n) #Noun",tag:"Organization",reason:"Noun-&-Noun"},{match:"#Organization of the? #ProperNoun",tag:"Organization",reason:"org-of-place",safe:!0},{match:"#Organization #Country",tag:"Organization",reason:"org-country"},{match:"#ProperNoun #Organization",tag:"Organization",reason:"titlecase-org"},{match:"#ProperNoun (ltd|co|inc|dept|assn|bros)",tag:"Organization",reason:"org-abbrv"},{match:"the [#Acronym]",group:0,tag:"Organization",reason:"the-acronym",safe:!0},{match:"(world|global|international|national|#Demonym) #Organization",tag:"Organization",reason:"global-org"},{match:"#Noun+ (public|private) school",tag:"School",reason:"noun-public-school"}],[{match:"(west|north|south|east|western|northern|southern|eastern)+ #Place",tag:"Region",reason:"west-norfolk"},{match:"#City [(al|ak|az|ar|ca|ct|dc|fl|ga|id|il|nv|nh|nj|ny|oh|pa|sc|tn|tx|ut|vt|pr)]",group:0,tag:"Region",reason:"us-state"},{match:"portland [or]",group:0,tag:"Region",reason:"portland-or"},{match:"#ProperNoun+ (district|region|province|county|prefecture|municipality|territory|burough|reservation)",tag:"Region",reason:"foo-district"},{match:"#ProperNoun+ (river|lake|bay|inlet|creek|narrows|cove|dune|coast|lagoon|beach|peninsula|hill|mountain|canyon|marsh|island|trail|valley|glacier|estuary|desert|escarpment|gorge|plains|waterfall)",tag:"Place",reason:"foo-river"},{match:"(river|gulf|lake) of? #ProperNoun+",tag:"Place",reason:"river-foo"},{match:"(district|region|province|municipality|territory|burough|state) of #ProperNoun",tag:"Region",reason:"district-of-Foo"},{match:"in [#ProperNoun] #Place",group:0,tag:"Place",reason:"propernoun-place"},{match:"#Value #Noun (st|street|rd|road|crescent|cr|way|tr|terrace|avenue|ave)",tag:"Address",reason:"address-st"}],[{match:"[so] #Noun",group:0,tag:"Conjunction",reason:"so-conj"},{match:"[(who|what|where|why|how|when)] #Noun #Copula #Adverb? (#Verb|#Adjective)",group:0,tag:"Conjunction",reason:"how-he-is-x"},{match:"#Copula [(who|what|where|why|how|when)] #Noun",group:0,tag:"Conjunction",reason:"when-he"},{match:"#Verb [that] #Pronoun",group:0,tag:"Conjunction",reason:"said-that-he"},{match:"#Noun [that] #Copula",group:0,tag:"Conjunction",reason:"that-are"},{match:"#Noun [that] #Verb #Adjective",group:0,tag:"Conjunction",reason:"that-seem"},{match:"#Noun #Copula not? [that] #Adjective",group:0,tag:"Adverb",reason:"that-adj"},{match:"#Verb #Adverb? #Noun [(that|which)]",group:0,tag:"Preposition",reason:"that-prep"},{match:"@hasComma [which] (#Pronoun|#Verb)",group:0,tag:"Preposition",reason:"which-copula"},{match:"#Noun [like] #Noun",group:0,tag:"Preposition",reason:"noun-like"},{match:"^[like] #Determiner",group:0,tag:"Preposition",reason:"like-the"},{match:"a #Noun [like] (#Noun|#Determiner)",group:0,tag:"Preposition",reason:"a-noun-like"},{match:"#Adverb [like]",group:0,tag:"Verb",reason:"really-like"},{match:"(not|nothing|never) [like]",group:0,tag:"Preposition",reason:"nothing-like"},{match:"#Infinitive #Pronoun [like]",group:0,tag:"Preposition",reason:"treat-them-like"},{match:"[#QuestionWord] (#Pronoun|#Determiner)",group:0,tag:"Preposition",reason:"how-he"},{match:"[#QuestionWord] #Participle",group:0,tag:"Preposition",reason:"when-stolen"},{match:"[how] (#Determiner|#Copula|#Modal|#PastTense)",group:0,tag:"QuestionWord",reason:"how-is"},{match:"#Plural [(who|which|when)] .",group:0,tag:"Preposition",reason:"people-who"}],[{match:"holy (shit|fuck|hell)",tag:"Expression",reason:"swears-expression"},{match:"^[(well|so|okay|now)] !#Adjective?",group:0,tag:"Expression",reason:"well-"},{match:"^come on",tag:"Expression",reason:"come-on"},{match:"(say|says|said) [sorry]",group:0,tag:"Expression",reason:"say-sorry"},{match:"^(ok|alright|shoot|hell|anyways)",tag:"Expression",reason:"ok-"},{match:"^(say && @hasComma)",tag:"Expression",reason:"say-"},{match:"^(like && @hasComma)",tag:"Expression",reason:"like-"},{match:"^[(dude|man|girl)] #Pronoun",group:0,tag:"Expression",reason:"dude-i"}]);let Ru=null;var _u={postTagger:function(e){const{world:t}=e,{model:n,methods:r}=t;Ru=Ru||r.one.buildNet(n.two.matches,t);let a=r.two.quickSplit(e.document).map((e=>{let t=e[0];return[t.index[0],t.index[1],t.index[1]+e.length]})),o=e.update(a);return o.cache(),o.sweep(Ru),e.uncache(),e},tagger:e=>e.compute(["lexicon","preTagger","postTagger"])};const Xu={api:function(e){e.prototype.confidence=function(){let e=0,t=0;return this.docs.forEach((n=>{n.forEach((n=>{t+=1,e+=n.confidence||1}))})),0===t?1:(e=>Math.round(100*e)/100)(e/t)},e.prototype.tagger=function(){return this.compute(["tagger"])}},compute:_u,model:{two:{matches:Qu}},hooks:["postTagger"]};var Zu=Xu;var Yu=function(e,t){let n=function(e){return Object.keys(e.hooks).filter((e=>!e.startsWith("#")&&!e.startsWith("%")))}(t);if(0===n.length)return e;e._cache||e.cache();let r=e._cache;return e.filter(((e,t)=>n.some((e=>r[t].has(e)))))};var ec=function(e,t){let n=t;"string"==typeof t&&(n=this.buildNet([{match:t}]));let r=this.tokenize(e),a=Yu(r,n);return a.found?(a.compute(["index","tagger"]),a.match(t)):r.none()},tc={lib:{lazy:ec}};var nc=function(e,t){let n=t;return e.forEach((e=>{e.has("#Infinitive")||(n=function(e,t){let n=(0,e.methods.two.transform.verb.conjugate)(t,e.model);return e.has("#Gerund")?n.Gerund:e.has("#PastTense")?n.PastTense:e.has("#PresentTense")?n.PresentTense:e.has("#Gerund")?n.Gerund:t}(e,t)),e.replaceWith(n)})),e};var rc=function(e,t,n){let r=e.split(/ /g).map((e=>e.toLowerCase().trim()));r=r.filter((e=>e)),r=r.map((e=>`{${e}}`)).join(" ");let a=this.match(r);return n&&(a=a.if(n)),a.has("#Verb")?nc(a,t):a.has("#Noun")?function(e,t){let n=t;e.has("#Plural")&&(n=(0,e.methods.two.transform.noun.toPlural)(t,e.model));e.replaceWith(n,{possessives:!0})}(a,t):a.has("#Adverb")?function(e,t){const{toAdverb:n}=e.methods.two.transform.adjective;let r=n(t);r&&e.replaceWith(r)}(a,t):a.has("#Adjective")?function(e,t){const{toComparative:n,toSuperlative:r}=e.methods.two.transform.adjective;let a=t;e.has("#Comparative")?a=n(a,e.model):e.has("#Superlative")&&(a=r(a,e.model)),a&&e.replaceWith(a)}(a,t):this};var ac={api:function(e){e.prototype.swap=rc}};v.plugin(Nu),v.plugin(Ku),v.plugin(Zu),v.plugin(tc),v.plugin(ac);const oc=function(e){const{fromComparative:t,fromSuperlative:n}=e.methods.two.transform.adjective;let r=e.text("normal");return e.has("#Comparative")?t(r,e.model):e.has("#Superlative")?n(r,e.model):r};var ic={api:function(e){class Adjectives extends e{constructor(e,t,n){super(e,t,n),this.viewType="Adjectives"}json(e={}){const{toAdverb:t,toNoun:n,toSuperlative:r,toComparative:a}=this.methods.two.transform.adjective;return e.normal=!0,this.map((o=>{let i=o.toView().json(e)[0]||{},s=oc(o);return i.adjective={adverb:t(s,this.model),noun:n(s,this.model),superlative:r(s,this.model),comparative:a(s,this.model)},i}),[])}adverbs(){return this.before("#Adverb+$").concat(this.after("^#Adverb+"))}conjugate(e){const{toComparative:t,toSuperlative:n,toNoun:r,toAdverb:a}=this.methods.two.transform.adjective;return this.getNth(e).map((e=>{let o=oc(e);return{Adjective:o,Comparative:t(o,this.model),Superlative:n(o,this.model),Noun:r(o,this.model),Adverb:a(o,this.model)}}),[])}toComparative(e){const{toComparative:t}=this.methods.two.transform.adjective;return this.getNth(e).map((e=>{let n=oc(e),r=t(n,this.model);return e.replaceWith(r)}))}toSuperlative(e){const{toSuperlative:t}=this.methods.two.transform.adjective;return this.getNth(e).map((e=>{let n=oc(e),r=t(n,this.model);return e.replaceWith(r)}))}toAdverb(e){const{toAdverb:t}=this.methods.two.transform.adjective;return this.getNth(e).map((e=>{let n=oc(e),r=t(n,this.model);return e.replaceWith(r)}))}toNoun(e){const{toNoun:t}=this.methods.two.transform.adjective;return this.getNth(e).map((e=>{let n=oc(e),r=t(n,this.model);return e.replaceWith(r)}))}}e.prototype.adjectives=function(e){let t=this.match("#Adjective");return t=t.getNth(e),new Adjectives(t.document,t.pointer)},e.prototype.superlatives=function(e){let t=this.match("#Superlative");return t=t.getNth(e),new Adjectives(t.document,t.pointer)},e.prototype.comparatives=function(e){let t=this.match("#Comparative");return t=t.getNth(e),new Adjectives(t.document,t.pointer)}}};var sc={api:function(e){class Adverbs extends e{constructor(e,t,n){super(e,t,n),this.viewType="Adverbs"}conjugate(e){return this.getNth(e).map((e=>{let t=function(e){return e.compute("root").text("root")}(e);return{Adverb:e.text("normal"),Adjective:t}}),[])}json(e={}){const t=this.methods.two.transform.adjective.fromAdverb;return e.normal=!0,this.map((n=>{let r=n.toView().json(e)[0]||{};return r.adverb={adjective:t(r.normal)},r}),[])}}e.prototype.adverbs=function(e){let t=this.match("#Adverb");return t=t.getNth(e),new Adverbs(t.document,t.pointer)}}};var lc=function(e){let t=this;return t=function(e){let t=e.parentheses();return t=t.filter((e=>e.wordCount()>=3&&e.has("#Verb")&&e.has("#Noun"))),e.splitOn(t)}(t),t=function(e){let t=e.quotations();return t=t.filter((e=>e.wordCount()>=3&&e.has("#Verb")&&e.has("#Noun"))),e.splitOn(t)}(t),t=function(e){let t=e.match("@hasComma");return t=t.filter((e=>{if(1===e.growLeft(".").wordCount())return!1;if(1===e.growRight(". .").wordCount())return!1;let t=e.grow(".");return t=t.ifNo("@hasComma @hasComma"),t=t.ifNo("@hasComma (and|or) ."),t=t.ifNo("(#City && @hasComma) #Country"),t=t.ifNo("(#WeekDay && @hasComma) #Date"),t=t.ifNo("(#Date+ && @hasComma) #Value"),t=t.ifNo("(#Adjective && @hasComma) #Adjective"),t.found})),e.splitAfter(t)}(t),t=t.splitAfter("(@hasEllipses|@hasSemicolon|@hasDash|@hasColon)"),t=t.splitAfter("^#Pronoun (said|says)"),t=t.splitBefore("(said|says) #ProperNoun$"),t=t.splitBefore(". . if .{4}"),t=t.splitBefore("and while"),t=t.splitBefore("now that"),t=t.splitBefore("ever since"),t=t.splitBefore("(supposing|although)"),t=t.splitBefore("even (while|if|though)"),t=t.splitBefore("(whereas|whose)"),t=t.splitBefore("as (though|if)"),t=t.splitBefore("(til|until)"),"number"==typeof e&&(t=t.get(e)),t};var uc=function(e){let t=[],n=null;return e.clauses().docs.forEach((e=>{e.forEach((e=>{e.chunk&&e.chunk===n?t[t.length-1][2]=e.index[1]+1:(n=e.chunk,t.push([e.index[0],e.index[1],e.index[1]+1]))})),n=null})),e.update(t)};var cc=function(e){class Chunks extends e{constructor(e,t,n){super(e,t,n),this.viewType="Chunks"}isVerb(){return this.filter((e=>e.has("")))}isNoun(){return this.filter((e=>e.has("")))}isAdjective(){return this.filter((e=>e.has("")))}isPivot(){return this.filter((e=>e.has("")))}debug(){return this.toView().debug("chunks"),this}update(e){let t=new Chunks(this.document,e);return t._cache=this._cache,t}}e.prototype.chunks=function(e){let t=uc(this);return t=t.getNth(e),new Chunks(this.document,t.pointer)},e.prototype.clauses=lc};const hc={this:"Noun",then:"Pivot"};var dc=function(e){for(let t=0;t",group:0,chunk:"Verb"},{match:"#Noun of #Determiner? #Noun",chunk:"Noun"},{match:"#Value+ #Adverb? #Adjective",chunk:"Noun"},{match:"the [#Adjective] #Noun",chunk:"Noun"},{match:"#Singular in #Determiner? #Singular",chunk:"Noun"},{match:"#Plural [in] #Determiner? #Noun",group:0,chunk:"Pivot"},{match:"#Noun and #Determiner? #Noun",notIf:"(#Possessive|#Pronoun)",chunk:"Noun"}];let pc=null;var fc=function(e,t,n){const{methods:r}=n;pc=pc||r.one.buildNet(mc,n),e.sweep(pc)};const vc=function(e,t){if(("undefined"!=typeof process&&process.env?process.env:self.env||{}).DEBUG_CHUNKS){let n=(e.normal+"'").padEnd(8);console.log(` | '${n} → ${t.padEnd(12)}  -fallback- `)}e.chunk=t};var bc=function(e){for(let t=0;t{for(let r=0;r{if("Verb"===e.chunk){const t=e.terms.find((e=>e.tags.has("Verb")));t||e.terms.forEach((e=>e.chunk=null))}}))};var wc={chunks:function(e){const{document:t,world:n}=e;dc(t),gc(t),fc(e,t,n),bc(t),yc(t)}},kc={compute:wc,api:cc,hooks:["chunks"]};const Pc=/\./g;var Ac=function(e){class Acronyms extends e{constructor(e,t,n){super(e,t,n),this.viewType="Acronyms"}strip(){return this.docs.forEach((e=>{e.forEach((e=>{e.text=e.text.replace(Pc,""),e.normal=e.normal.replace(Pc,"")}))})),this}addPeriods(){return this.docs.forEach((e=>{e.forEach((e=>{e.text=e.text.replace(Pc,""),e.normal=e.normal.replace(Pc,""),e.text=e.text.split("").join(".")+".",e.normal=e.normal.split("").join(".")+"."}))})),this}}e.prototype.acronyms=function(e){let t=this.match("#Acronym");return t=t.getNth(e),new Acronyms(t.document,t.pointer)}};const Ic=/\(/,Nc=/\)/,jc=function(e,t){for(;t{e[0].pre=e[0].pre.replace(Ic,"");let t=e[e.length-1];t.post=t.post.replace(Nc,"")})),e}(this)}}e.prototype.parentheses=function(e){let t=function(e){let t=[];return e.docs.forEach((e=>{for(let n=0;n{e.forEach((e=>{e.text=e.text.replace(xc,""),e.normal=e.normal.replace(xc,"")}))})),this}}e.prototype.possessives=function(e){let t=function(e){let t=e.match("#Possessive+");return t.has("#Person")&&(t=t.growLeft("#Person+")),t.has("#Place")&&(t=t.growLeft("#Place+")),t.has("#Organization")&&(t=t.growLeft("#Organization+")),t}(this);return t=t.getNth(e),new Possessives(t.document,t.pointer)}};const Tc={'"':'"',""":""","'":"'","“":"”","‘":"’","‟":"”","‛":"’","„":"”","⹂":"”","‚":"’","«":"»","‹":"›","‵":"′","‶":"″","‷":"‴","〝":"〞","`":"´","〟":"〞"},Cc=RegExp("["+Object.keys(Tc).join("")+"]"),Oc=RegExp("["+Object.values(Tc).join("")+"]"),Fc=function(e,t){const n=e[t].pre.match(Cc)[0]||"";if(!n||!Tc[n])return null;const r=Tc[n];for(;t{e[0].pre=e[0].pre.replace(Cc,"");let t=e[e.length-1];t.post=t.post.replace(Oc,"")}))}(this)}}e.prototype.quotations=function(e){let t=function(e){let t=[];return e.docs.forEach((e=>{for(let n=0;n{e.prototype[t[0]]=function(e){let n=this.match(t[1]);return"number"==typeof e?n.get(e):n}})),e.prototype.phoneNumbers=Gc,Lc.forEach((t=>{e.prototype[t[0]]=e.prototype[t[1]]}))},Sc={api:function(e){Ac(e),Ec(e),Dc(e),Vc(e),$c(e)}};const Mc=function(e,t){e.docs.forEach((e=>{e.forEach(t)}))};var Bc={case:e=>{Mc(e,(e=>{e.text=e.text.toLowerCase()}))},unicode:e=>{const t=e.world,n=t.methods.one.killUnicode;Mc(e,(e=>e.text=n(e.text,t)))},whitespace:e=>{Mc(e,(e=>{e.post=e.post.replace(/\s+/g," "),e.post=e.post.replace(/\s([.,?!:;])/g,"$1"),e.pre=e.pre.replace(/\s+/g,"")}))},punctuation:e=>{Mc(e,(e=>{e.post=e.post.replace(/[–—-]/g," "),e.post=e.post.replace(/[,:;]/g,""),e.post=e.post.replace(/\.{2,}/g,""),e.post=e.post.replace(/\?{2,}/g,"?"),e.post=e.post.replace(/!{2,}/g,"!"),e.post=e.post.replace(/\?!+/g,"?")}));let t=e.docs,n=t[t.length-1];if(n&&n.length>0){let e=n[n.length-1];e.post=e.post.replace(/ /g,"")}},contractions:e=>{e.contractions().expand()},acronyms:e=>{e.acronyms().strip()},parentheses:e=>{e.parentheses().strip()},possessives:e=>{e.possessives().strip()},quotations:e=>{e.quotations().strip()},emoji:e=>{e.emojis().remove()},honorifics:e=>{e.match("#Honorific+ #Person").honorifics().remove()},adverbs:e=>{e.adverbs().remove()},nouns:e=>{e.nouns().toSingular()},verbs:e=>{e.verbs().toInfinitive()},numbers:e=>{e.numbers().toNumber()},debullet:e=>{const t=/^\s*([-–—*•])\s*$/;return e.docs.forEach((e=>{t.test(e[0].pre)&&(e[0].pre=e[0].pre.replace(t,""))})),e}};const Hc=e=>e.split("|").reduce(((e,t)=>(e[t]=!0,e)),{}),Jc="unicode|punctuation|whitespace|acronyms",Wc="|case|contractions|parentheses|quotations|emoji|honorifics|debullet",Kc={light:Hc(Jc),medium:Hc(Jc+Wc),heavy:Hc(Jc+Wc+"|possessives|adverbs|nouns|verbs")};var qc={api:function(e){e.prototype.normalize=function(e="light"){return"string"==typeof e&&(e=Kc[e]),Object.keys(e).forEach((t=>{Bc.hasOwnProperty(t)&&Bc[t](this,e[t])})),this}}};var Uc=function(e){let t=e.clauses().match(""),n=t.match("@hasComma");return n=n.not("#Place"),n.found&&(t=t.splitAfter(n)),t=t.splitOn("#Expression"),t=t.splitOn("(he|she|we|you|they|i)"),t=t.splitOn("(#Noun|#Adjective) [(he|him|she|it)]",0),t=t.splitOn("[(he|him|she|it)] (#Determiner|#Value)",0),t=t.splitBefore("#Noun [(the|a|an)] #Adjective? #Noun",0),t=t.splitOn("[(here|there)] #Noun",0),t=t.splitOn("[#Noun] (here|there)",0),t=t.splitBefore("(our|my|their|your)"),t=t.splitOn("#Noun [#Determiner]",0),t=t.if("#Noun"),t};const Qc=["after","although","as if","as long as","as","because","before","even if","even though","ever since","if","in order that","provided that","since","so that","than","that","though","unless","until","what","whatever","when","whenever","where","whereas","wherever","whether","which","whichever","who","whoever","whom","whomever","whose"];var Rc=function(e){if(e.before("#Preposition$").found)return!0;if(!e.before().found)return!1;for(let t=0;t3&&n.endsWith("s")&&!n.endsWith("ss")};var Xc=function(e){let t=function(e){let t=e.clone();return t=t.match("#Noun+"),t=t.remove("(#Adjective|#Preposition|#Determiner|#Value)"),t=t.not("#Possessive"),t=t.first(),t.found?t:e}(e);return{determiner:e.match("#Determiner").eq(0),adjectives:e.match("#Adjective"),number:e.values(),isPlural:_c(e,t),isSubordinate:Rc(e),root:t}};const Zc=e=>e.text(),Yc=e=>e.json({terms:!1,normal:!0}).map((e=>e.normal)),eh=function(e){if(!e.found)return null;let t=e.values(0);if(t.found){return(t.parse()[0]||{}).num}return null};var th=function(e){let t=Xc(e);return{root:Zc(t.root),number:eh(t.number),determiner:Zc(t.determiner),adjectives:Yc(t.adjectives),isPlural:t.isPlural,isSubordinate:t.isSubordinate}};var nh=function(e){return!e.has("^(#Uncountable|#ProperNoun|#Place|#Pronoun|#Acronym)+$")};const rh={tags:!0};var ah=function(e,t){if(!0===t.isPlural)return e;if(t.root.has("#Possessive")&&(t.root=t.root.possessives().strip()),!nh(t.root))return e;const{methods:n,model:r}=e.world,{toPlural:a}=n.two.transform.noun;let o=a(t.root.text({keepPunct:!1}),r);e.match(t.root).replaceWith(o,rh).tag("Plural","toPlural"),t.determiner.has("(a|an)")&&e.remove(t.determiner);let i=t.root.after("not? #Adverb+? [#Copula]",0);return i.found&&(i.has("is")?e.replace(i,"are"):i.has("was")&&e.replace(i,"were")),e};const oh={tags:!0};var ih=function(e,t){if(!1===t.isPlural)return e;const{methods:n,model:r}=e.world,{toSingular:a}=n.two.transform.noun;let o=a(t.root.text("normal"),r);return e.replace(t.root,o,oh).tag("Singular","toPlural"),e};var sh=function(e){class Nouns extends e{constructor(e,t,n){super(e,t,n),this.viewType="Nouns"}parse(e){return this.getNth(e).map(Xc)}json(e){let t="object"==typeof e?e:{};return this.getNth(e).map((e=>{let n=e.toView().json(t)[0]||{};return t&&!0!==t.noun&&(n.noun=th(e)),n}),[])}conjugate(e){const t=this.world.methods.two.transform.noun;return this.getNth(e).map((e=>{let n=Xc(e),r=n.root.compute("root").text("root"),a={Singular:r};return nh(n.root)&&(a.Plural=t.toPlural(r,this.model)),a.Singular===a.Plural&&delete a.Plural,a}),[])}isPlural(e){let t=this.filter((e=>Xc(e).isPlural));return t.getNth(e)}isSingular(e){let t=this.filter((e=>!Xc(e).isPlural));return t.getNth(e)}adjectives(e){let t=this.update([]);return this.forEach((e=>{let n=Xc(e).adjectives;n.found&&(t=t.concat(n))})),t.getNth(e)}toPlural(e){return this.getNth(e).map((e=>ah(e,Xc(e))))}toSingular(e){return this.getNth(e).map((e=>{let t=Xc(e);return ih(e,t)}))}update(e){let t=new Nouns(this.document,e);return t._cache=this._cache,t}}e.prototype.nouns=function(e){let t=Uc(this);return t=t.getNth(e),new Nouns(this.document,t.pointer)}},lh={api:sh};var uh=function(e,t){let n=e.match("#Fraction+");return n=n.filter((e=>!e.lookBehind("#Value and$").found)),n=n.notIf("#Value seconds"),"number"==typeof t&&(n=n.eq(t)),n};var ch=e=>{const t=[{reg:/^(minus|negative)[\s-]/i,mult:-1},{reg:/^(a\s)?half[\s-](of\s)?/i,mult:.5}];for(let n=0;n{if(hh.ones.hasOwnProperty(e)){if(t.ones||t.teens)return!1}else if(hh.teens.hasOwnProperty(e)){if(t.ones||t.teens||t.tens)return!1}else if(hh.tens.hasOwnProperty(e)&&(t.ones||t.teens||t.tens))return!1;return!0};var gh=function(e){let t="0.";for(let n=0;ne=(e=(e=(e=(e=(e=(e=(e=e.replace(/1st$/,"1")).replace(/2nd$/,"2")).replace(/3rd$/,"3")).replace(/([4567890])r?th$/,"$1")).replace(/^[$€¥£¢]/,"")).replace(/[%$€¥£¢]$/,"")).replace(/,/g,"")).replace(/([0-9])([a-z\u00C0-\u00FF]{1,2})$/,"$1");const ph=/^([0-9,. ]+)\/([0-9,. ]+)$/,fh={"a few":3,"a couple":2,"a dozen":12,"two dozen":24,zero:0},vh=e=>Object.keys(e).reduce(((t,n)=>t+=e[n]),0);var bh=function(e){if(!0===fh.hasOwnProperty(e))return fh[e];if("a"===e||"an"===e)return 1;const t=ch(e);let n=null,r={},a=0,o=!1;const i=(e=t.str).split(/[ -]/);for(let e=0;e#Value+] out of every? [#Value+]");if(!0!==t.found)return null;let{num:n,den:r}=t.groups();return n&&r?(n=wh(n),r=wh(r),n&&r&&"number"==typeof n&&"number"==typeof r?{numerator:n,denominator:r}:null):null}(e)||function(e){let t=e.match("[(#Cardinal|a)+] [#Fraction+]");if(!0!==t.found)return null;let{num:n,den:r}=t.groups();n=n.has("a")?1:wh(n);let a=r.text("reduced");return yh.test(a)&&(a=a.replace(yh,""),r=r.replaceWith(a)),r=kh.hasOwnProperty(a)?kh[a]:wh(r),"number"==typeof n&&"number"==typeof r?{numerator:n,denominator:r}:null}(e)||function(e){let t=e.match("^#Ordinal$");if(!0!==t.found)return null;if(e.lookAhead("^of ."))return{numerator:1,denominator:wh(t)};return null}(e)||null;return null!==t&&t.numerator&&t.denominator&&(t.decimal=t.numerator/t.denominator,t.decimal=(e=>{let t=Math.round(1e3*e)/1e3;return 0===t&&0!==e?e:t})(t.decimal)),t};var Ah=function(e){if(e<1e6)return String(e);let t;return t="number"==typeof e?e.toFixed(0):e,-1===t.indexOf("e+")?t:t.replace(".","").split("e+").reduce((function(e,t){return e+Array(t-e.length+2).join(0)}))};const Ih=[["ninety",90],["eighty",80],["seventy",70],["sixty",60],["fifty",50],["forty",40],["thirty",30],["twenty",20]],Nh=["","one","two","three","four","five","six","seven","eight","nine","ten","eleven","twelve","thirteen","fourteen","fifteen","sixteen","seventeen","eighteen","nineteen"],jh=[[1e24,"septillion"],[1e20,"hundred sextillion"],[1e21,"sextillion"],[1e20,"hundred quintillion"],[1e18,"quintillion"],[1e17,"hundred quadrillion"],[1e15,"quadrillion"],[1e14,"hundred trillion"],[1e12,"trillion"],[1e11,"hundred billion"],[1e9,"billion"],[1e8,"hundred million"],[1e6,"million"],[1e5,"hundred thousand"],[1e3,"thousand"],[100,"hundred"],[1,"one"]],Eh=function(e){let t=[];if(e>100)return t;for(let n=0;n=Ih[n][1]&&(e-=Ih[n][1],t.push(Ih[n][0]));return Nh[e]&&t.push(Nh[e]),t};var xh=function(e){let t=e.num;if(0===t||"0"===t)return"zero";t>1e21&&(t=Ah(t));let n=[];t<0&&(n.push("minus"),t=Math.abs(t));let r=function(e){let t=e,n=[];return jh.forEach((r=>{if(e>=r[0]){let e=Math.floor(t/r[0]);t-=e*r[0],e&&n.push({unit:r[1],count:e})}})),n}(t);for(let e=0;e1&&n.push("and")),n=n.concat(Eh(r[e].count)),n.push(t)}return n=n.concat((e=>{const t=["zero","one","two","three","four","five","six","seven","eight","nine"];let n=[],r=Ah(e).match(/\.([0-9]+)/);if(!r||!r[0])return n;n.push("point");let a=r[0].split("");for(let e=0;ee)),0===n.length&&(n[0]=""),n.join(" ")};var Dh=function(e){if(!e.numerator||!e.denominator)return"";return`${xh({num:e.numerator})} out of ${xh({num:e.denominator})}`};const Th={one:"first",two:"second",three:"third",five:"fifth",eight:"eighth",nine:"ninth",twelve:"twelfth",twenty:"twentieth",thirty:"thirtieth",forty:"fortieth",fourty:"fourtieth",fifty:"fiftieth",sixty:"sixtieth",seventy:"seventieth",eighty:"eightieth",ninety:"ninetieth"};var Ch=e=>{let t=xh(e).split(" "),n=t[t.length-1];return Th.hasOwnProperty(n)?t[t.length-1]=Th[n]:t[t.length-1]=n.replace(/y$/,"i")+"th",t.join(" ")};var Oh=function(e){if(!e.numerator||!e.denominator)return"";let t=xh({num:e.numerator}),n=Ch({num:e.denominator});return 2===e.denominator&&(n="half"),t&&n?(1!==e.numerator&&(n+="s"),`${t} ${n}`):""};var Fh=function(e){class Fractions extends e{constructor(e,t,n){super(e,t,n),this.viewType="Fractions"}parse(e){return this.getNth(e).map(Ph)}get(e){return this.getNth(e).map(Ph)}json(e){return this.getNth(e).map((t=>{let n=t.toView().json(e)[0],r=Ph(t);return n.fraction=r,n}),[])}toDecimal(e){return this.getNth(e).forEach((e=>{let{decimal:t}=Ph(e);(e=e.replaceWith(String(t),!0)).tag("NumericValue"),e.unTag("Fraction")})),this}toFraction(e){return this.getNth(e).forEach((e=>{let t=Ph(e);if(t&&"number"==typeof t.numerator&&"number"==typeof t.denominator){let n=`${t.numerator}/${t.denominator}`;this.replace(e,n)}})),this}toOrdinal(e){return this.getNth(e).forEach((e=>{let t=Ph(e),n=Oh(t);e.after("^#Noun").found&&(n+=" of"),e.replaceWith(n)})),this}toCardinal(e){return this.getNth(e).forEach((e=>{let t=Ph(e),n=Dh(t);e.replaceWith(n)})),this}toPercentage(e){return this.getNth(e).forEach((e=>{let{decimal:t}=Ph(e),n=100*t;n=Math.round(100*n)/100,e.replaceWith(`${n}%`)})),this}}e.prototype.fractions=function(e){let t=uh(this);return t=t.getNth(e),new Fractions(this.document,t.pointer)}};const Vh="twenty|thirty|forty|fifty|sixty|seventy|eighty|ninety|fourty";var Gh=function(e){let t=e.match("#Value+");if(t.has("#NumericValue #NumericValue")&&(t.has("#Value @hasComma #Value")?t.splitAfter("@hasComma"):t.has("#NumericValue #Fraction")?t.splitAfter("#NumericValue #Fraction"):t=t.splitAfter("#NumericValue")),t.has("#Value #Value #Value")&&!t.has("#Multiple")&&t.has("("+Vh+") #Cardinal #Cardinal")&&(t=t.splitAfter("("+Vh+") #Cardinal")),t.has("#Value #Value")){t.has("#NumericValue #NumericValue")&&(t=t.splitOn("#Year")),t.has("("+Vh+") (eleven|twelve|thirteen|fourteen|fifteen|sixteen|seventeen|eighteen|nineteen)")&&(t=t.splitAfter("("+Vh+")"));let e=t.match("#Cardinal #Cardinal");if(e.found&&!t.has("(point|decimal|#Fraction)")&&!e.has("#Cardinal (#Multiple|point|decimal)")){let n=t.has(`(one|two|three|four|five|six|seven|eight|nine) (${Vh})`),r=e.has("("+Vh+") #Cardinal"),a=e.has("#Multiple #Value");n||r||a||e.terms().forEach((e=>{t=t.splitOn(e)}))}t.match("#Ordinal #Ordinal").match("#TextValue").found&&!t.has("#Multiple")&&(t.has("("+Vh+") #Ordinal")||(t=t.splitAfter("#Ordinal"))),t=t.splitBefore("#Ordinal [#Cardinal]",0),t.has("#TextValue #NumericValue")&&!t.has("("+Vh+"|#Multiple)")&&(t=t.splitBefore("#TextValue #NumericValue"))}return t=t.splitAfter("#NumberRange"),t=t.splitBefore("#Year"),t};var zh=function(e){if("string"==typeof e)return{num:bh(e)};let t=e.text("reduced"),n=e.growRight("#Unit").match("#Unit$").text("machine"),r=/[0-9],[0-9]/.test(e.text("text"));if(1===e.terms().length&&!e.has("#Multiple")){let a=function(e,t){let n=(e=e.replace(/,/g,"")).split(/([0-9.,]*)/),[r,a]=n,o=n.slice(2).join("");return""!==a&&t.length<2?(a=Number(a||e),"number"!=typeof a&&(a=null),o=o||"","st"!==o&&"nd"!==o&&"rd"!==o&&"th"!==o||(o=""),{prefix:r||"",num:a,suffix:o}):null}(t,e);if(null!==a)return a.hasComma=r,a.unit=n,a}let a=e.match("#Fraction{2,}$");a=!1===a.found?e.match("^#Fraction$"):a;let o=null;a.found&&(a.has("#Value and #Value #Fraction")&&(a=a.match("and #Value #Fraction")),o=Ph(a),t=(e=(e=e.not(a)).not("and$")).text("reduced"));let i=0;return t&&(i=bh(t)||0),o&&o.decimal&&(i+=o.decimal),{hasComma:r,prefix:"",num:i,suffix:"",isOrdinal:e.has("#Ordinal"),isText:e.has("#TextValue"),isFraction:e.has("#Fraction"),isMoney:e.has("#Money"),unit:n}};var Lh=function(e){let t=e.num;if(!t&&0!==t)return null;let n=t%100;if(n>10&&n<20)return String(t)+"th";const r={0:"th",1:"st",2:"nd",3:"rd"};let a=Ah(t),o=a.slice(a.length-1,a.length);return a+=r[o]?r[o]:"th",a};const $h={"¢":"cents",$:"dollars","£":"pounds","¥":"yen","€":"euros","₡":"colón","฿":"baht","₭":"kip","₩":"won","₹":"rupees","₽":"ruble","₺":"liras"},Sh={"%":"percent","°":"degrees"};var Mh=function(e){let t={suffix:"",prefix:e.prefix};return $h.hasOwnProperty(e.prefix)&&(t.suffix+=" "+$h[e.prefix],t.prefix=""),Sh.hasOwnProperty(e.suffix)&&(t.suffix+=" "+Sh[e.suffix]),t.suffix&&1===e.num&&(t.suffix=t.suffix.replace(/s$/,"")),!t.suffix&&e.suffix&&(t.suffix+=" "+e.suffix),t};var Bh=function(e,t){if("TextOrdinal"===t){let{prefix:t,suffix:n}=Mh(e);return t+Ch(e)+n}if("Ordinal"===t)return e.prefix+Lh(e)+e.suffix;if("TextCardinal"===t){let{prefix:t,suffix:n}=Mh(e);return t+xh(e)+n}let n=e.num;return e.hasComma&&(n=n.toLocaleString()),e.prefix+String(n)+e.suffix};var Hh=function(e){class Numbers extends e{constructor(e,t,n){super(e,t,n),this.viewType="Numbers"}parse(e){return this.getNth(e).map(zh)}get(e){return this.getNth(e).map(zh).map((e=>e.num))}json(e){let t="object"==typeof e?e:{};return this.getNth(e).map((e=>{let n=e.toView().json(t)[0],r=zh(e);return n.number={prefix:r.prefix,num:r.num,suffix:r.suffix,hasComma:r.hasComma,unit:r.unit},n}),[])}units(){return this.growRight("#Unit").match("#Unit$")}isOrdinal(){return this.if("#Ordinal")}isCardinal(){return this.if("#Cardinal")}toNumber(){return this.if("#TextValue").forEach((e=>{let t=zh(e);if(null===t.num)return;let n=e.has("#Ordinal")?"Ordinal":"Cardinal",r=Bh(t,n);e.replaceWith(r,{tags:!0}),e.tag("NumericValue")})),this}toLocaleString(){return this.forEach((e=>{let t=zh(e);if(null===t.num)return;let n=t.num.toLocaleString();if(e.has("#Ordinal")){let e=Bh(t,"Ordinal").match(/[a-z]+$/);e&&(n+=e[0]||"")}e.replaceWith(n,{tags:!0})})),this}toText(){let e=this.map((e=>{if(e.has("#TextValue"))return e;let t=zh(e);if(null===t.num)return e;let n=e.has("#Ordinal")?"TextOrdinal":"TextCardinal",r=Bh(t,n);return e.replaceWith(r,{tags:!0}),e.tag("TextValue"),e}));return new Numbers(e.document,e.pointer)}toCardinal(){let e=this.map((e=>{if(!e.has("#Ordinal"))return e;let t=zh(e);if(null===t.num)return e;let n=e.has("#TextValue")?"TextCardinal":"Cardinal",r=Bh(t,n);return e.replaceWith(r,{tags:!0}),e.tag("Cardinal"),e}));return new Numbers(e.document,e.pointer)}toOrdinal(){let e=this.map((e=>{if(e.has("#Ordinal"))return e;let t=zh(e);if(null===t.num)return e;let n=e.has("#TextValue")?"TextOrdinal":"Ordinal",r=Bh(t,n);return e.replaceWith(r,{tags:!0}),e.tag("Ordinal"),e}));return new Numbers(e.document,e.pointer)}isEqual(e){return this.filter((t=>zh(t).num===e))}greaterThan(e){return this.filter((t=>zh(t).num>e))}lessThan(e){return this.filter((t=>zh(t).num{let r=zh(n).num;return r>e&&r{let n=zh(t);if(n.num=e,null===n.num)return t;let r=t.has("#Ordinal")?"Ordinal":"Cardinal";t.has("#TextValue")&&(r=t.has("#Ordinal")?"TextOrdinal":"TextCardinal");let a=Bh(n,r);return n.hasComma&&"Cardinal"===r&&(a=Number(a).toLocaleString()),(t=t.not("#Currency")).replaceWith(a,{tags:!0}),t}));return new Numbers(t.document,t.pointer)}add(e){if(!e)return this;"string"==typeof e&&(e=zh(e).num);let t=this.map((t=>{let n=zh(t);if(null===n.num)return t;n.num+=e;let r=t.has("#Ordinal")?"Ordinal":"Cardinal";n.isText&&(r=t.has("#Ordinal")?"TextOrdinal":"TextCardinal");let a=Bh(n,r);return t.replaceWith(a,{tags:!0}),t}));return new Numbers(t.document,t.pointer)}subtract(e,t){return this.add(-1*e,t)}increment(e){return this.add(1,e)}decrement(e){return this.add(-1,e)}update(e){let t=new Numbers(this.document,e);return t._cache=this._cache,t}}Numbers.prototype.toNice=Numbers.prototype.toLocaleString,Numbers.prototype.isBetween=Numbers.prototype.between,Numbers.prototype.minus=Numbers.prototype.subtract,Numbers.prototype.plus=Numbers.prototype.add,Numbers.prototype.equals=Numbers.prototype.isEqual,e.prototype.numbers=function(e){let t=Gh(this);return t=t.getNth(e),new Numbers(this.document,t.pointer)},e.prototype.percentages=function(e){let t=Gh(this);return t=t.filter((e=>e.has("#Percent")||e.after("^percent"))),t=t.getNth(e),new Numbers(this.document,t.pointer)},e.prototype.money=function(e){let t=Gh(this);return t=t.filter((e=>e.has("#Money")||e.after("^#Currency"))),t=t.getNth(e),new Numbers(this.document,t.pointer)},e.prototype.values=e.prototype.numbers};var Jh={api:function(e){Fh(e),Hh(e)}};const Wh={people:!0,emails:!0,phoneNumbers:!0,places:!0},Kh=function(e={}){return!1!==(e=Object.assign({},Wh,e)).people&&this.people().replaceWith("██████████"),!1!==e.emails&&this.emails().replaceWith("██████████"),!1!==e.places&&this.places().replaceWith("██████████"),!1!==e.phoneNumbers&&this.phoneNumbers().replaceWith("███████"),this},qh={api:function(e){e.prototype.redact=Kh}};var Uh=qh;var Qh=function(e){const t=/\?/,{document:n}=e;return e.filter((e=>{let r=e.docs[0]||[],a=r[r.length-1];return!(!a||n[a.index[0]].length!==r.length)&&(!!t.test(a.post)||function(e){let t=e.clauses();return!(/\.\.$/.test(e.out("text"))||e.has("^#QuestionWord")&&e.has("@hasComma")||!e.has("or not$")&&!e.has("^#QuestionWord")&&!e.has("^(do|does|did|is|was|can|could|will|would|may) #Noun")&&!e.has("^(have|must) you")&&!t.has("(do|does|is|was) #Noun+ #Adverb? (#Adjective|#Infinitive)$"))}(e))}))};var Rh=function(e){let t=e;return 1===t.length?t:(t=t.if("#Verb"),1===t.length?t:(t=t.ifNo("(after|although|as|because|before|if|since|than|that|though|when|whenever|where|whereas|wherever|whether|while|why|unless|until|once)"),t=t.ifNo("^even (if|though)"),t=t.ifNo("^so that"),t=t.ifNo("^rather than"),t=t.ifNo("^provided that"),1===t.length?t:(t=t.ifNo("(that|which|whichever|who|whoever|whom|whose|whomever)"),1===t.length?t:(t=t.ifNo("(despite|during|before|through|throughout)"),1===t.length?t:(0===t.length&&(t=e),t.eq(0))))))};const _h=function(e){let t=null;return e.has("#PastTense")?t="PastTense":e.has("#FutureTense")?t="FutureTense":e.has("#PresentTense")&&(t="PresentTense"),{tense:t}};var Xh=function(e){let t=e.clauses(),n=Rh(t).chunks(),r=e.none(),a=e.none(),o=e.none();return n.forEach(((e,t)=>{0!==t||e.has("")?a.found||!e.has("")?a.found&&(o=o.concat(e)):a=e:r=e})),a.found&&!r.found&&(r=a.before("+").first()),{subj:r,verb:a,pred:o,grammar:_h(a)}};var Zh=function(e){let t=e.verbs(),n=t.eq(0);if(n.has("#PastTense"))return e;if(n.toPastTense(),t.length>1){t=t.slice(1),t=t.filter((e=>!e.lookBehind("to$").found)),t=t.if("#PresentTense"),t=t.notIf("#Gerund");let n=e.match("to #Verb+ #Conjunction #Verb").terms();t=t.not(n),t.found&&t.verbs().toPastTense()}return e};var Yh=function(e){let t=e.verbs();return t.eq(0).toPresentTense(),t.length>1&&(t=t.slice(1),t=t.filter((e=>!e.lookBehind("to$").found)),t=t.notIf("#Gerund"),t.found&&t.verbs().toPresentTense()),e};var ed=function(e){let t=e.verbs();if(t.eq(0).toFutureTense(),t=(e=e.fullSentence()).verbs(),t.length>1){t=t.slice(1);let e=t.filter((e=>!e.lookBehind("to$").found&&(!!e.has("#Copula #Gerund")||!e.has("#Gerund")&&(!!e.has("#Copula")||!(e.has("#PresentTense")&&!e.has("#Infinitive")&&e.lookBefore("(he|she|it|that|which)$").found)))));e.found&&e.forEach((e=>{if(e.has("#Copula"))return e.match("was").replaceWith("is"),void e.match("is").replaceWith("will be");e.toInfinitive()}))}return e};var td=function(e){return e.verbs().toInfinitive(),e};var nd=function(e){class Sentences extends e{constructor(e,t,n){super(e,t,n),this.viewType="Sentences"}json(e={}){return this.map((t=>{let n=t.toView().json(e)[0]||{},{subj:r,verb:a,pred:o,grammar:i}=Xh(t);return n.sentence={subject:r.text("normal"),verb:a.text("normal"),predicate:o.text("normal"),grammar:i},n}),[])}toPastTense(e){return this.getNth(e).map((e=>(Xh(e),Zh(e))))}toPresentTense(e){return this.getNth(e).map((e=>(Xh(e),Yh(e))))}toFutureTense(e){return this.getNth(e).map((e=>(Xh(e),e=ed(e))))}toInfinitive(e){return this.getNth(e).map((e=>(Xh(e),td(e))))}toNegative(e){return this.getNth(e).map((e=>(Xh(e),function(e){return e.verbs().first().toNegative().compute("chunks"),e}(e))))}toPositive(e){return this.getNth(e).map((e=>(Xh(e),function(e){return e.verbs().first().toPositive().compute("chunks"),e}(e))))}isQuestion(e){return this.questions(e)}isExclamation(e){let t=this.filter((e=>e.lastTerm().has("@hasExclamation")));return t.getNth(e)}isStatement(e){let t=this.filter((e=>!e.isExclamation().found&&!e.isQuestion().found));return t.getNth(e)}update(e){let t=new Sentences(this.document,e);return t._cache=this._cache,t}}Sentences.prototype.toPresent=Sentences.prototype.toPresentTense,Sentences.prototype.toPast=Sentences.prototype.toPastTense,Sentences.prototype.toFuture=Sentences.prototype.toFutureTense;const t={sentences:function(e){let t=this.map((e=>e.fullSentence()));return t=t.getNth(e),new Sentences(this.document,t.pointer)},questions:function(e){return Qh(this).getNth(e)}};Object.assign(e.prototype,t)},rd={api:nd};var ad=function(e){return e.match("#Honorific+? #Person+")};var od=function(e){let t={};t.firstName=e.match("#FirstName+"),t.lastName=e.match("#LastName+"),t.honorific=e.match("#Honorific+");let n=t.lastName,r=t.firstName;return r.found&&n.found||r.found||n.found||!e.has("^#Honorific .$")||(t.lastName=e.match(".$")),t};const id="male",sd="female",ld={mr:id,mrs:sd,miss:sd,madam:sd,king:id,queen:sd,duke:id,duchess:sd,baron:id,baroness:sd,count:id,countess:sd,prince:id,princess:sd,sire:id,dame:sd,lady:sd,ayatullah:id,congressman:id,congresswoman:sd,"first lady":sd,mx:null};var ud=function(e,t){let{firstName:n,honorific:r}=e;if(n.has("#FemaleName"))return sd;if(n.has("#MaleName"))return id;if(r.found){let e=r.text("normal");if(e=e.replace(/\./g,""),ld.hasOwnProperty(e))return ld[e];if(/^her /.test(e))return sd;if(/^his /.test(e))return id}let a=t.after();if(!a.has("#Person")&&a.has("#Pronoun")){let e=a.match("#Pronoun");if(e.has("(they|their)"))return null;let t=e.has("(he|his)"),n=e.has("(she|her|hers)");if(t&&!n)return id;if(n&&!t)return sd}return null};var cd=function(e){class People extends e{constructor(e,t,n){super(e,t,n),this.viewType="People"}parse(e){return this.getNth(e).map(od)}json(e){let t="object"==typeof e?e:{};return this.getNth(e).map((e=>{let n=e.toView().json(t)[0],r=od(e);return n.person={firstName:r.firstName.text("normal"),lastName:r.lastName.text("normal"),honorific:r.honorific.text("normal"),presumed_gender:ud(r,e)},n}),[])}presumedMale(){return this.filter((e=>e.has("(#MaleName|mr|mister|sr|jr|king|pope|prince|sir)")))}presumedFemale(){return this.filter((e=>e.has("(#FemaleName|mrs|miss|queen|princess|madam)")))}update(e){let t=new People(this.document,e);return t._cache=this._cache,t}}e.prototype.people=function(e){let t=ad(this);return t=t.getNth(e),new People(this.document,t.pointer)}};var hd=function(e){let t=e.match("(#Place|#Address)+"),n=t.match("@hasComma");return n=n.filter((e=>!!e.has("(asia|africa|europe|america)$")||(!e.has("(#City|#Region|#ProperNoun)$")||!e.after("^(#Country|#Region)").found))),t=t.splitAfter(n),t};var dd=function(e){e.prototype.places=function(t){let n=hd(this);return n=n.getNth(t),new e(this.document,n.pointer)}};var gd=function(e){e.prototype.organizations=function(e){return this.match("#Organization+").getNth(e)}};const md=function(e){let t=this.clauses(),n=t.people();return n=n.concat(t.places()),n=n.concat(t.organizations()),n=n.not("(someone|man|woman|mother|brother|sister|father)"),n=n.sort("seq"),n=n.getNth(e),n};var pd=function(e){e.prototype.topics=md};var fd={api:function(e){cd(e),dd(e),gd(e),pd(e)}};var vd=function(e){let t=e.match("");return t=t.not("#Conjunction"),t=t.not("#Preposition"),t=t.splitAfter("@hasComma"),t=t.splitAfter("[(do|did|am|was|is|will)] (is|was)",0),t=t.splitBefore("(#Verb && !#Copula) [being] #Verb",0),t=t.splitBefore("#Verb [to be] #Verb",0),t=t.splitAfter("[help] #PresentTense",0),t=t.splitBefore("(#PresentTense|#PastTense) [#Copula]$",0),t=t.splitBefore("(#PresentTense|#PastTense) [will be]$",0),t=t.splitBefore("(#PresentTense|#PastTense) [(had|has)]",0),t=t.not("#Reflexive$"),t=t.not("#Adjective"),t=t.splitAfter("[#PastTense] #PastTense",0),t=t.splitAfter("[#PastTense] #Auxiliary+ #PastTense",0),t=t.splitAfter("#Copula [#Gerund] #PastTense",0),t=t.if("#Verb"),t.has("(#Verb && !#Auxiliary) #Adverb+? #Copula")&&(t=t.splitBefore("#Copula")),t};var bd=function(e){let t=e;return e.wordCount()>1&&(t=e.not("(#Negative|#Auxiliary|#Modal|#Adverb|#Prefix)")),t.length>1&&!t.has("#Phrasal #Particle")&&(t=t.last()),t=t.not("(want|wants|wanted) to"),t.found||(t=e.not("#Negative")),t};var yd=function(e,t){let n={pre:e.none(),post:e.none()};if(!e.has("#Adverb"))return n;let r=e.splitOn(t);return 3===r.length?{pre:r.eq(0).adverbs(),post:r.eq(2).adverbs()}:r.eq(0).isDoc(t)?(n.post=r.eq(1).adverbs(),n):(n.pre=r.eq(0).adverbs(),n)};const wd=function(e,t){let n=e.splitBefore(t);if(n.length<=1)return e.none();let r=n.eq(0);return r=r.not("(#Adverb|#Negative|#Prefix)"),r},kd=function(e){return e.match("#Negative")},Pd=function(e){if(!e.has("(#Particle|#PhrasalVerb)"))return{verb:e.none(),particle:e.none()};let t=e.match("#Particle$");return{verb:e.not(t),particle:t}};var Ad=function(e){let t=e.clone();t.contractions().expand();const n=bd(t);return{root:n,prefix:t.match("#Prefix"),adverbs:yd(t,n),auxiliary:wd(t,n),negative:kd(t),phrasal:Pd(n)}};const Id={tense:"PresentTense"},Nd={conditional:!0},jd={tense:"FutureTense"},Ed={progressive:!0},xd={tense:"PastTense"},Dd={complete:!0,progressive:!1},Td={passive:!0},Cd=function(e){let t={};return e.forEach((e=>{Object.assign(t,e)})),t},Od={imperative:[["#Imperative",[]]],"want-infinitive":[["^(want|wants|wanted) to #Infinitive$",[Id]],["^wanted to #Infinitive$",[xd]],["^will want to #Infinitive$",[jd]]],"gerund-phrase":[["^#PastTense #Gerund$",[xd]],["^#PresentTense #Gerund$",[Id]],["^#Infinitive #Gerund$",[Id]],["^will #Infinitive #Gerund$",[jd]],["^have #PastTense #Gerund$",[xd]],["^will have #PastTense #Gerund$",[xd]]],"simple-present":[["^#PresentTense$",[Id]],["^#Infinitive$",[Id]]],"simple-past":[["^#PastTense$",[xd]]],"simple-future":[["^will #Adverb? #Infinitive",[jd]]],"present-progressive":[["^(is|are|am) #Gerund$",[Id,Ed]]],"past-progressive":[["^(was|were) #Gerund$",[xd,Ed]]],"future-progressive":[["^will be #Gerund$",[jd,Ed]]],"present-perfect":[["^(has|have) #PastTense$",[xd,Dd]]],"past-perfect":[["^had #PastTense$",[xd,Dd]],["^had #PastTense to #Infinitive",[xd,Dd]]],"future-perfect":[["^will have #PastTense$",[jd,Dd]]],"present-perfect-progressive":[["^(has|have) been #Gerund$",[xd,Ed]]],"past-perfect-progressive":[["^had been #Gerund$",[xd,Ed]]],"future-perfect-progressive":[["^will have been #Gerund$",[jd,Ed]]],"passive-past":[["(got|were|was) #Passive",[xd,Td]],["^(was|were) being #Passive",[xd,Td]],["^(had|have) been #Passive",[xd,Td]]],"passive-present":[["^(is|are|am) #Passive",[Id,Td]],["^(is|are|am) being #Passive",[Id,Td]],["^has been #Passive",[Id,Td]]],"passive-future":[["will have been #Passive",[jd,Td,Nd]],["will be being? #Passive",[jd,Td,Nd]]],"present-conditional":[["would be #PastTense",[Id,Nd]]],"past-conditional":[["would have been #PastTense",[xd,Nd]]],"auxiliary-future":[["(is|are|am|was) going to (#Infinitive|#PresentTense)",[jd]]],"auxiliary-past":[["^did #Infinitive$",[xd,{plural:!1}]],["^used to #Infinitive$",[xd,Dd]]],"auxiliary-present":[["^(does|do) #Infinitive$",[Id,Dd,{plural:!0}]]],"modal-past":[["^(could|must|should|shall) have #PastTense$",[xd]]],"modal-infinitive":[["^#Modal #Infinitive$",[]]],infinitive:[["^#Infinitive$",[]]]};let Fd=[];Object.keys(Od).map((e=>{Od[e].forEach((t=>{Fd.push({name:e,match:t[0],data:Cd(t[1])})}))}));var Vd=Fd;var Gd=function(e,t){let n={};e=function(e,t){return e=e.clone(),t.adverbs.post&&t.adverbs.post.found&&e.remove(t.adverbs.post),t.adverbs.pre&&t.adverbs.pre.found&&e.remove(t.adverbs.pre),e.has("#Negative")&&(e=e.remove("#Negative")),e.has("#Prefix")&&(e=e.remove("#Prefix")),t.root.has("#PhrasalVerb #Particle")&&e.remove("#Particle$"),e.not("#Adverb")}(e,t);for(let t=0;t!(e.has("^(if|unless|while|but|for|per|at|by|that|which|who|from)")||t>0&&e.has("^#Verb . #Noun+$")||t>0&&e.has("^#Adverb")))),0===t.length?e:t}(t);let n=t.nouns(),r=n.last(),a=r.match("(i|he|she|we|you|they)");if(a.found)return a.nouns();let o=n.if("^(that|this|those)");return o.found||!1===n.found&&(o=t.match("^(that|this|those)"),o.found)?o:(r=n.last(),zd(r)&&(n.remove(r),r=n.last()),zd(r)&&(n.remove(r),r=n.last()),r)}(e);return{subject:t,plural:Ld(t,e)}};const Sd=e=>e,Md=(e,t)=>{let n=$d(e),r=n.subject;return!(!r.has("i")&&!r.has("we"))||n.plural},Bd=function(e,t){if(e.has("were"))return"are";let{subject:n,plural:r}=$d(e);return n.has("i")?"am":n.has("we")||r?"are":"is"},Hd=function(e,t){let n=$d(e),r=n.subject;return r.has("i")||r.has("we")||n.plural?"do":"does"},Jd=function(e){return e.has("#Infinitive")?"Infinitive":e.has("#Participle")?"Participle":e.has("#PastTense")?"PastTense":e.has("#Gerund")?"Gerund":e.has("#PresentTense")?"PresentTense":void 0},Wd=function(e,t){const{toInfinitive:n}=e.methods.two.transform.verb;let r=t.root.text({keepPunct:!1});return r=n(r,e.model,Jd(e)),r&&e.replace(t.root,r),e},Kd=e=>e.has("will not")?e.replace("will not","have not"):e.remove("will"),qd=function(e){if(!e||!e.isView)return[];return e.json({normal:!0,terms:!1,text:!1}).map((e=>e.normal))},Ud=function(e){return e&&e.isView?e.text("normal"):""},Qd=function(e){const{toInfinitive:t}=e.methods.two.transform.verb;return t(e.text("normal"),e.model,Jd(e))};var Rd=function(e){let t=Ad(e);e=e.clone().toView();const n=Gd(e,t);return{root:t.root.text(),preAdverbs:qd(t.adverbs.pre),postAdverbs:qd(t.adverbs.post),auxiliary:Ud(t.auxiliary),negative:t.negative.found,prefix:Ud(t.prefix),infinitive:Qd(t.root),grammar:n}};const _d={tags:!0};var Xd=function(e,t){const{toInfinitive:n}=e.methods.two.transform.verb,{root:r,auxiliary:a}=t;let o=a.terms().harden(),i=r.text("normal");if(i=n(i,e.model,Jd(r)),i&&e.replace(r,i,_d).tag("Verb").firstTerm().tag("Infinitive"),o.found&&e.remove(o),t.negative.found){e.has("not")||e.prepend("not");let t=Hd(e);e.prepend(t)}return e.fullSentence().compute(["lexicon","preTagger","postTagger","chunks"]),e};const Zd={tags:!0},Yd={noAux:(e,t)=>(t.auxiliary.found&&(e=e.remove(t.auxiliary)),e),simple:(e,t)=>{const{conjugate:n,toInfinitive:r}=e.methods.two.transform.verb,a=t.root;if(a.has("#Modal"))return e;let o=a.text({keepPunct:!1});return o=r(o,e.model,Jd(a)),o=n(o,e.model).PastTense,o="been"===o?"was":o,"was"===o&&(o=((e,t)=>{let{subject:n,plural:r}=$d(e);return r||n.has("we")?"were":"was"})(e)),o&&e.replace(a,o,Zd),e},both:function(e,t){return t.negative.found?(e.replace("will","did"),e):(e=Yd.simple(e,t),e=Yd.noAux(e,t))},hasHad:e=>(e.replace("has","had",Zd),e),hasParticiple:(e,t)=>{const{conjugate:n,toInfinitive:r}=e.methods.two.transform.verb,a=t.root;let o=a.text("normal");return o=r(o,e.model,Jd(a)),n(o,e.model).Participle}},eg={infinitive:Yd.simple,"simple-present":Yd.simple,"simple-past":Sd,"simple-future":Yd.both,"present-progressive":e=>(e.replace("are","were",Zd),e.replace("(is|are|am)","was",Zd),e),"past-progressive":Sd,"future-progressive":(e,t)=>(e.match(t.root).insertBefore("was"),e.remove("(will|be)"),e),"present-perfect":Yd.hasHad,"past-perfect":Sd,"future-perfect":(e,t)=>(e.match(t.root).insertBefore("had"),e.has("will")&&(e=Kd(e)),e.remove("have"),e),"present-perfect-progressive":Yd.hasHad,"past-perfect-progressive":Sd,"future-perfect-progressive":e=>(e.remove("will"),e.replace("have","had",Zd),e),"passive-past":e=>(e.replace("have","had",Zd),e),"passive-present":e=>(e.replace("(is|are)","was",Zd),e),"passive-future":(e,t)=>(t.auxiliary.has("will be")&&(e.match(t.root).insertBefore("had been"),e.remove("(will|be)")),t.auxiliary.has("will have been")&&(e.replace("have","had",Zd),e.remove("will")),e),"present-conditional":e=>(e.replace("be","have been"),e),"past-conditional":Sd,"auxiliary-future":e=>(e.replace("(is|are|am)","was",Zd),e),"auxiliary-past":Sd,"auxiliary-present":e=>(e.replace("(do|does)","did",Zd),e),"modal-infinitive":(e,t)=>(e.has("can")?e.replace("can","could",Zd):(Yd.simple(e,t),e.match("#Modal").insertAfter("have").tag("Auxiliary")),e),"modal-past":Sd,"want-infinitive":e=>(e.replace("(want|wants)","wanted",Zd),e.remove("will"),e),"gerund-phrase":(e,t)=>(t.root=t.root.not("#Gerund$"),Yd.simple(e,t),Kd(e),e)};var tg=function(e,t,n){return eg.hasOwnProperty(n)?((e=eg[n](e,t)).fullSentence().compute(["tagger","chunks"]),e):e};const ng=function(e,t){let n=$d(e),r=n.subject;return r.has("(i|we|you)")?"have":!1===n.plural||r.has("he")||r.has("she")||r.has("#Person")?"has":"have"},rg=(e,t)=>{const{conjugate:n,toInfinitive:r}=e.methods.two.transform.verb,{root:a,auxiliary:o}=t;if(a.has("#Modal"))return e;let i=a.text({keepPunct:!1});i=r(i,e.model,Jd(a));let s=n(i,e.model);if(i=s.Participle||s.PastTense,i){e=e.replace(a,i);let t=ng(e);e.prepend(t).match(t).tag("Auxiliary"),e.remove(o)}return e},ag={infinitive:rg,"simple-present":rg,"simple-future":(e,t)=>e.replace("will",ng(e)),"present-perfect":Sd,"past-perfect":Sd,"future-perfect":(e,t)=>e.replace("will have",ng(e)),"present-perfect-progressive":Sd,"past-perfect-progressive":Sd,"future-perfect-progressive":Sd};var og=function(e,t,n){return ag.hasOwnProperty(n)?((e=ag[n](e,t)).fullSentence().compute(["tagger","chunks"]),e):((e=rg(e,t)).fullSentence().compute(["tagger","chunks"]),e)};const ig={tags:!0},sg=(e,t)=>{const{conjugate:n,toInfinitive:r}=e.methods.two.transform.verb,a=t.root;let o=a.text("normal");return o=r(o,e.model,Jd(a)),!1===Md(e)&&(o=n(o,e.model).PresentTense),a.has("#Copula")&&(o=Bd(e)),o&&(e=e.replace(a,o,ig)).not("#Particle").tag("PresentTense"),e},lg=(e,t)=>{const{conjugate:n,toInfinitive:r}=e.methods.two.transform.verb,a=t.root;let o=a.text("normal");return o=r(o,e.model,Jd(a)),!1===Md(e)&&(o=n(o,e.model).Gerund),o&&(e=e.replace(a,o,ig)).not("#Particle").tag("Gerund"),e},ug={infinitive:sg,"simple-present":(e,t)=>{const{conjugate:n}=e.methods.two.transform.verb;let{root:r}=t;if(!r.has("#Infinitive"))return sg(e,t);{let t=$d(e).subject;if(Md(e)||t.has("i"))return e;let a=r.text("normal"),o=n(a,e.model).PresentTense;a!==o&&e.replace(r,o,ig)}return e},"simple-past":sg,"simple-future":(e,t)=>{const{root:n,auxiliary:r}=t;if(r.has("will")&&n.has("be")){let t=Bd(e);e.replace(n,t),(e=e.remove("will")).replace("not "+t,t+" not")}else sg(e,t),e=e.remove("will");return e},"present-progressive":Sd,"past-progressive":(e,t)=>{let n=Bd(e);return e.replace("(were|was)",n,ig)},"future-progressive":e=>(e.match("will").insertBefore("is"),e.remove("be"),e.remove("will")),"present-perfect":(e,t)=>(sg(e,t),e=e.remove("(have|had|has)")),"past-perfect":(e,t)=>{let n=$d(e).subject;return Md(e)||n.has("i")?((e=Wd(e,t)).remove("had"),e):(e.replace("had","has",ig),e)},"future-perfect":e=>(e.match("will").insertBefore("has"),e.remove("have").remove("will")),"present-perfect-progressive":Sd,"past-perfect-progressive":e=>e.replace("had","has",ig),"future-perfect-progressive":e=>(e.match("will").insertBefore("has"),e.remove("have").remove("will")),"passive-past":(e,t)=>{let n=Bd(e);return e.has("(had|have|has)")&&e.has("been")?(e.replace("(had|have|has)",n,ig),e.replace("been","being"),e):e.replace("(got|was|were)",n)},"passive-present":Sd,"passive-future":e=>(e.replace("will","is"),e.replace("be","being")),"present-conditional":Sd,"past-conditional":e=>(e.replace("been","be"),e.remove("have")),"auxiliary-future":(e,t)=>(lg(e,t),e.remove("(going|to)"),e),"auxiliary-past":(e,t)=>{if(t.auxiliary.has("did")){let n=Hd(e);return e.replace(t.auxiliary,n),e}return lg(e,t),e.replace(t.auxiliary,"is"),e},"auxiliary-present":Sd,"modal-infinitive":Sd,"modal-past":(e,t)=>(((e,t)=>{const{toInfinitive:n}=e.methods.two.transform.verb,r=t.root;let a=t.root.text("normal");a=n(a,e.model,Jd(r)),a&&(e=e.replace(t.root,a,ig))})(e,t),e.remove("have")),"gerund-phrase":(e,t)=>(t.root=t.root.not("#Gerund$"),sg(e,t),e.remove("(will|have)")),"want-infinitive":(e,t)=>{let n="wants";return Md(e)&&(n="want"),e.replace("(want|wanted|wants)",n,ig),e.remove("will"),e}};var cg=function(e,t,n){return ug.hasOwnProperty(n)?((e=ug[n](e,t)).fullSentence().compute(["tagger","chunks"]),e):e};const hg={tags:!0},dg=(e,t)=>{const{toInfinitive:n}=e.methods.two.transform.verb,{root:r,auxiliary:a}=t;if(r.has("#Modal"))return e;let o=r.text("normal");return o=n(o,e.model,Jd(r)),o&&(e=e.replace(r,o,hg)).not("#Particle").tag("Verb"),e.prepend("will").match("will").tag("Auxiliary"),e.remove(a),e},gg=(e,t)=>{const{conjugate:n,toInfinitive:r}=e.methods.two.transform.verb,{root:a,auxiliary:o}=t;let i=a.text("normal");return i=r(i,e.model,Jd(a)),i&&(i=n(i,e.model).Gerund,e.replace(a,i,hg),e.not("#Particle").tag("PresentTense")),e.remove(o),e.prepend("will be").match("will be").tag("Auxiliary"),e},mg={infinitive:dg,"simple-present":dg,"simple-past":dg,"simple-future":Sd,"present-progressive":gg,"past-progressive":gg,"future-progressive":Sd,"present-perfect":e=>(e.match("(have|has)").replaceWith("will have"),e),"past-perfect":e=>e.replace("(had|has)","will have"),"future-perfect":Sd,"present-perfect-progressive":e=>e.replace("has","will have"),"past-perfect-progressive":e=>e.replace("had","will have"),"future-perfect-progressive":Sd,"passive-past":e=>e.has("got")?e.replace("got","will get"):e.has("(was|were)")?(e.replace("(was|were)","will be"),e.remove("being")):e.has("(have|has|had) been")?e.replace("(have|has|had) been","will be"):e,"passive-present":e=>(e.replace("being","will be"),e.remove("(is|are|am)"),e),"passive-future":Sd,"present-conditional":e=>e.replace("would","will"),"past-conditional":e=>e.replace("would","will"),"auxiliary-future":Sd,"auxiliary-past":e=>e.has("used")&&e.has("to")?(e.replace("used","will"),e.remove("to")):(e.replace("did","will"),e),"auxiliary-present":e=>e.replace("(do|does)","will"),"modal-infinitive":Sd,"modal-past":Sd,"gerund-phrase":(e,t)=>(t.root=t.root.not("#Gerund$"),dg(e,t),e.remove("(had|have)")),"want-infinitive":e=>(e.replace("(want|wants|wanted)","will want"),e)};var pg=function(e,t,n){return e.has("will")||e.has("going to")?e:mg.hasOwnProperty(n)?((e=mg[n](e,t)).fullSentence().compute(["tagger","chunks"]),e):e};const fg={tags:!0};var vg=function(e,t){const{toInfinitive:n,conjugate:r}=e.methods.two.transform.verb,{root:a,auxiliary:o}=t;if(e.has("#Gerund"))return e;let i=a.text("normal");i=n(i,e.model,Jd(a));let s=r(i,e.model).Gerund;if(s){let t=Bd(e);e.replace(a,s,fg),e.remove(o),e.prepend(t)}return e.replace("not is","is not"),e.replace("not are","are not"),e.fullSentence().compute(["tagger","chunks"]),e};const bg={tags:!0},yg=function(e,t){let n=Hd(e);return e.prepend(n+" not"),e},wg=function(e){let t=e.match("be");return t.found?(t.prepend("not"),e):(t=e.match("(is|was|am|are|will|were)"),t.found?(t.append("not"),e):e)},kg=e=>e.has("(is|was|am|are|will|were|be)"),Pg={"simple-present":(e,t)=>!0===kg(e)?wg(e):(e=Wd(e,t),e=yg(e)),"simple-past":(e,t)=>!0===kg(e)?wg(e):((e=Wd(e,t)).prepend("did not"),e),imperative:e=>(e.prepend("do not"),e),infinitive:(e,t)=>!0===kg(e)?wg(e):yg(e),"passive-past":e=>{if(e.has("got"))return e.replace("got","get",bg),e.prepend("did not"),e;let t=e.match("(was|were|had|have)");return t.found&&t.append("not"),e},"auxiliary-past":e=>{if(e.has("used"))return e.prepend("did not"),e;let t=e.match("(did|does|do)");return t.found&&t.append("not"),e},"want-infinitive":(e,t)=>e=(e=yg(e)).replace("wants","want",bg)};var Ag=function(e,t,n){if(e.has("#Negative"))return e;if(Pg.hasOwnProperty(n))return e=Pg[n](e,t);let r=e.matchOne("be");return r.found?(r.prepend("not"),e):!0===kg(e)?wg(e):(r=e.matchOne("(will|had|have|has|did|does|do|#Modal)"),r.found?(r.append("not"),e):e)};var Ig=function(e){class Verbs extends e{constructor(e,t,n){super(e,t,n),this.viewType="Verbs"}parse(e){return this.getNth(e).map(Ad)}json(e,t){let n=this.getNth(t).map((t=>{let n=t.toView().json(e)[0]||{};return n.verb=Rd(t),n}),[]);return n}subjects(e){return this.getNth(e).map((e=>(Ad(e),$d(e).subject)))}adverbs(e){return this.getNth(e).map((e=>e.match("#Adverb")))}isSingular(e){return this.getNth(e).filter((e=>!0!==$d(e).plural))}isPlural(e){return this.getNth(e).filter((e=>!0===$d(e).plural))}isImperative(e){return this.getNth(e).filter((e=>e.has("#Imperative")))}toInfinitive(e){return this.getNth(e).map((e=>{let t=Ad(e),n=Gd(e,t);return Xd(e,t,n.form)}))}toPresentTense(e){return this.getNth(e).map((e=>{let t=Ad(e),n=Gd(e,t);return n.isInfinitive?e:cg(e,t,n.form)}))}toPastTense(e){return this.getNth(e).map((e=>{let t=Ad(e),n=Gd(e,t);return n.isInfinitive?e:tg(e,t,n.form)}))}toFutureTense(e){return this.getNth(e).map((e=>{let t=Ad(e),n=Gd(e,t);return n.isInfinitive?e:pg(e,t,n.form)}))}toGerund(e){return this.getNth(e).map((e=>{let t=Ad(e),n=Gd(e,t);return n.isInfinitive?e:vg(e,t,n.form)}))}toPastParticiple(e){return this.getNth(e).map((e=>{let t=Ad(e),n=Gd(e,t);return n.isInfinitive?e:og(e,t,n.form)}))}conjugate(e){const{conjugate:t,toInfinitive:n}=this.world.methods.two.transform.verb;return this.getNth(e).map((e=>{let r=Ad(e),a=Gd(e,r);"imperative"===a.form&&(a.form="simple-present");let o=r.root.text("normal");if(!r.root.has("#Infinitive")){let t=Jd(r.root);o=n(o,e.model,t)||o}return t(o,e.model)}),[])}isNegative(){return this.if("#Negative")}isPositive(){return this.ifNo("#Negative")}toPositive(){let e=this.match("do not #Verb");return e.found&&e.remove("do not"),this.remove("#Negative")}toNegative(e){return this.getNth(e).map((e=>{let t=Ad(e),n=Gd(e,t);return Ag(e,t,n.form)}))}update(e){let t=new Verbs(this.document,e);return t._cache=this._cache,t}}Verbs.prototype.toPast=Verbs.prototype.toPastTense,Verbs.prototype.toPresent=Verbs.prototype.toPresentTense,Verbs.prototype.toFuture=Verbs.prototype.toFutureTense,e.prototype.verbs=function(e){let t=vd(this);return t=t.getNth(e),new Verbs(this.document,t.pointer)}},Ng={api:Ig};const jg=function(e,t){let n=t.match(e);if(n.found){let e=n.pronouns().refersTo();if(e.found)return e}return t.none()},Eg=function(e){if(!e.found)return e;let[t]=e.fullPointer[0];return t&&t>0?e.update([[t-1]]):e.none()};var xg=function(e,t){let n=e.people();return n=function(e,t){return"m"===t?e.filter((e=>!e.presumedFemale().found)):"f"===t?e.filter((e=>!e.presumedMale().found)):e}(n,t),n.found?n.last():(n=e.nouns("#Actor"),n.found?n.last():"f"===t?jg("(she|her|hers)",e):"m"===t?jg("(he|him|his)",e):e.none())};var Dg=function(e){let t=e.nouns(),n=t.isPlural().notIf("#Pronoun");if(n.found)return n.last();let r=jg("(they|their|theirs)",e);return r.found?r:(n=t.match("(somebody|nobody|everybody|anybody|someone|noone|everyone|anyone)"),n.found?n.last():e.none())};const Tg=function(e,t){let n=e.before(),r=t(n);return r.found?r:(n=Eg(e),r=t(n),r.found?r:(n=Eg(n),r=t(n),r.found?r:e.none()))};var Cg=function(e){e.pronouns().if("(he|him|his|she|her|hers|they|their|theirs|it|its)").forEach((e=>{let t=null;e.has("(he|him|his)")?t=Tg(e,(e=>xg(e,"m"))):e.has("(she|her|hers)")?t=Tg(e,(e=>xg(e,"f"))):e.has("(they|their|theirs)")&&(t=Tg(e,Dg)),t&&t.found&&function(e,t){t&&t.found&&(e.docs[0][0].reference=t.ptrs[0])}(e,t)}))};var Og=function(e){class Pronouns extends e{constructor(e,t,n){super(e,t,n),this.viewType="Pronouns"}hasReference(){return this.compute("coreference"),this.filter((e=>e.docs[0][0].reference))}refersTo(){return this.compute("coreference"),this.map((e=>{if(!e.found)return e.none();let t=e.docs[0][0];return t.reference?e.update([t.reference]):e.none()}))}update(e){let t=new Pronouns(this.document,e);return t._cache=this._cache,t}}e.prototype.pronouns=function(e){let t=this.match("#Pronoun");return t=t.getNth(e),new Pronouns(t.document,t.pointer)}},Fg={compute:{coreference:Cg},api:Og};v.plugin(ic),v.plugin(sc),v.plugin(kc),v.plugin(Fg),v.plugin(Sc),v.plugin(qc),v.plugin(lh),v.plugin(Jh),v.plugin(Uh),v.plugin(rd),v.plugin(fd),v.plugin(Ng);export{v as default}; +var e={methods:{one:{},two:{},three:{},four:{}},model:{one:{},two:{},three:{}},compute:{},hooks:[]};const t={compute:function(e){const{world:t}=this,n=t.compute;return"string"==typeof e&&n.hasOwnProperty(e)?n[e](this):(e=>"[object Array]"===Object.prototype.toString.call(e))(e)?e.forEach((r=>{t.compute.hasOwnProperty(r)?n[r](this):console.warn("no compute:",e)})):"function"==typeof e?e(this):console.warn("no compute:",e),this}};var n=t;var r={forEach:function(e){return this.fullPointer.forEach(((t,n)=>{let r=this.update([t]);e(r,n)})),this},map:function(e,t){let n=this.fullPointer.map(((t,n)=>{let r=this.update([t]),a=e(r,n);return void 0===a?this.none():a}));if(0===n.length)return t||this.update([]);if(void 0!==n[0]){if("string"==typeof n[0])return n;if("object"==typeof n[0]&&(null===n[0]||!n[0].isView))return n}let r=[];return n.forEach((e=>{r=r.concat(e.fullPointer)})),this.toView(r)},filter:function(e){let t=this.fullPointer;return t=t.filter(((t,n)=>{let r=this.update([t]);return e(r,n)})),this.update(t)},find:function(e){let t=this.fullPointer.find(((t,n)=>{let r=this.update([t]);return e(r,n)}));return this.update([t])},some:function(e){return this.fullPointer.some(((t,n)=>{let r=this.update([t]);return e(r,n)}))},random:function(e=1){let t=this.fullPointer,n=Math.floor(Math.random()*t.length);return n+e>this.length&&(n=this.length-e,n=n<0?0:n),t=t.slice(n,n+e),this.update(t)}};const a={termList:function(){return this.methods.one.termList(this.docs)},terms:function(e){let t=this.match(".");return"number"==typeof e?t.eq(e):t},groups:function(e){if(e||0===e)return this.update(this._groups[e]||[]);let t={};return Object.keys(this._groups).forEach((e=>{t[e]=this.update(this._groups[e])})),t},eq:function(e){let t=this.pointer;return t||(t=this.docs.map(((e,t)=>[t]))),t[e]?this.update([t[e]]):this.none()},first:function(){return this.eq(0)},last:function(){let e=this.fullPointer.length-1;return this.eq(e)},firstTerms:function(){return this.match("^.")},lastTerms:function(){return this.match(".$")},slice:function(e,t){let n=this.pointer||this.docs.map(((e,t)=>[t]));return n=n.slice(e,t),this.update(n)},all:function(){return this.update().toView()},fullSentences:function(){let e=this.fullPointer.map((e=>[e[0]]));return this.update(e).toView()},none:function(){return this.update([])},isDoc:function(e){if(!e||!e.isView)return!1;let t=this.fullPointer,n=e.fullPointer;return!t.length!==n.length&&t.every(((e,t)=>!!n[t]&&(e[0]===n[t][0]&&e[1]===n[t][1]&&e[2]===n[t][2])))},wordCount:function(){return this.docs.reduce(((e,t)=>(e+=t.filter((e=>""!==e.text)).length,e)),0)},isFull:function(){let e=this.pointer;if(!e)return!0;if(0===e.length||0!==e[0][0])return!1;let t=0,n=0;return this.document.forEach((e=>t+=e.length)),this.docs.forEach((e=>n+=e.length)),t===n},getNth:function(e){return"number"==typeof e?this.eq(e):"string"==typeof e?this.if(e):this}};a.group=a.groups,a.fullSentence=a.fullSentences,a.sentence=a.fullSentences,a.lastTerm=a.lastTerms,a.firstTerm=a.firstTerms;var o=a;const i=Object.assign({},o,n,r);i.get=i.eq;var s=i;class View{constructor(t,n,r={}){[["document",t],["world",e],["_groups",r],["_cache",null],["viewType","View"]].forEach((e=>{Object.defineProperty(this,e[0],{value:e[1],writable:!0})})),this.ptrs=n}get docs(){let t=this.document;return this.ptrs&&(t=e.methods.one.getDoc(this.ptrs,this.document)),t}get pointer(){return this.ptrs}get methods(){return this.world.methods}get model(){return this.world.model}get hooks(){return this.world.hooks}get isView(){return!0}get found(){return this.docs.length>0}get length(){return this.docs.length}get fullPointer(){let{docs:e,ptrs:t,document:n}=this,r=t||e.map(((e,t)=>[t]));return r.map((e=>{let[t,r,a,o,i]=e;return r=r||0,a=a||(n[t]||[]).length,n[t]&&n[t][r]&&(o=o||n[t][r].id,n[t][a-1]&&(i=i||n[t][a-1].id)),[t,r,a,o,i]}))}update(e){let t=new View(this.document,e);if(this._cache&&e&&e.length>0){let n=[];e.forEach(((e,t)=>{let[r,a,o]=e;(1===e.length||0===a&&this.document[r].length===o)&&(n[t]=this._cache[r])})),n.length>0&&(t._cache=n)}return t.world=this.world,t}toView(e){return new View(this.document,e||this.pointer)}fromText(e){const{methods:t}=this;let n=t.one.tokenize.fromString(e,this.world),r=new View(n);return r.world=this.world,r.compute(["normal","lexicon"]),this.world.compute.preTagger&&r.compute("preTagger"),r}clone(){let e=this.document.slice(0);e=e.map((e=>e.map((e=>((e=Object.assign({},e)).tags=new Set(e.tags),e)))));let t=this.update(this.pointer);return t.document=e,t._cache=this._cache,t}}Object.assign(View.prototype,s);var l=View;const u=function(e){return e&&"object"==typeof e&&!Array.isArray(e)};function c(e,t){if(u(t))for(const n in t)u(t[n])?(e[n]||Object.assign(e,{[n]:{}}),c(e[n],t[n])):Object.assign(e,{[n]:t[n]});return e}var h=function(e,t,n,r){const{methods:a,model:o,compute:i,hooks:s}=t;e.methods&&function(e,t){for(const n in t)e[n]=e[n]||{},Object.assign(e[n],t[n])}(a,e.methods),e.model&&c(o,e.model),e.irregulars&&function(e,t){let n=e.two.models||{};Object.keys(t).forEach((e=>{t[e].pastTense&&(n.toPast&&(n.toPast.ex[e]=t[e].pastTense),n.fromPast&&(n.fromPast.ex[t[e].pastTense]=e)),t[e].presentTense&&(n.toPresent&&(n.toPresent.ex[e]=t[e].presentTense),n.fromPresent&&(n.fromPresent.ex[t[e].presentTense]=e)),t[e].gerund&&(n.toGerund&&(n.toGerund.ex[e]=t[e].gerund),n.fromGerund&&(n.fromGerund.ex[t[e].gerund]=e)),t[e].comparative&&(n.toComparative&&(n.toComparative.ex[e]=t[e].comparative),n.fromComparative&&(n.fromComparative.ex[t[e].comparative]=e)),t[e].superlative&&(n.toSuperlative&&(n.toSuperlative.ex[e]=t[e].superlative),n.fromSuperlative&&(n.fromSuperlative.ex[t[e].superlative]=e))}))}(o,e.irregulars),e.compute&&Object.assign(i,e.compute),s&&(t.hooks=s.concat(e.hooks||[])),e.api&&e.api(n),e.lib&&Object.keys(e.lib).forEach((t=>r[t]=e.lib[t])),e.tags&&r.addTags(e.tags),e.words&&r.addWords(e.words),e.mutate&&e.mutate(t)};const d=function(e){return"[object Array]"===Object.prototype.toString.call(e)};var m=function(e,t,n){const{methods:r}=n;let a=new t([]);if(a.world=n,"number"==typeof e&&(e=String(e)),!e)return a;if("string"==typeof e){return new t(r.one.tokenize.fromString(e,n))}if(o=e,"[object Object]"===Object.prototype.toString.call(o)&&e.isView)return new t(e.document,e.ptrs);var o;if(d(e)){if(d(e[0])){let n=e.map((e=>e.map((e=>({text:e,normal:e,pre:"",post:" ",tags:new Set})))));return new t(n)}let n=function(e){return e.map((e=>e.terms.map((e=>(d(e.tags)&&(e.tags=new Set(e.tags)),e)))))}(e);return new t(n)}return a};let p=Object.assign({},e);const f=function(e,t){t&&f.addWords(t);let n=m(e,l,p);return e&&n.compute(p.hooks),n};Object.defineProperty(f,"_world",{value:p,writable:!0}),f.tokenize=function(e,t){const{compute:n}=this._world;t&&f.addWords(t);let r=m(e,l,p);return n.contractions&&r.compute(["alias","normal","machine","contractions"]),r},f.plugin=function(e){return h(e,this._world,l,this),this},f.extend=f.plugin,f.world=function(){return this._world},f.model=function(){return this._world.model},f.methods=function(){return this._world.methods},f.hooks=function(){return this._world.hooks},f.verbose=function(e){const t="undefined"!=typeof process&&process.env?process.env:self.env||{};return t.DEBUG_TAGS="tagger"===e||!0===e||"",t.DEBUG_MATCH="match"===e||!0===e||"",t.DEBUG_CHUNKS="chunker"===e||!0===e||"",this},f.version="14.10.1";var v=f;var b=function(e){let t=e.map((e=>{let t=new Set;return e.forEach((e=>{""!==e.normal&&t.add(e.normal),e.switch&&t.add(`%${e.switch}%`),e.implicit&&t.add(e.implicit),e.machine&&t.add(e.machine),e.root&&t.add(e.root),e.alias&&e.alias.forEach((e=>t.add(e)));let n=Array.from(e.tags);for(let e=0;e/^\p{Lu}[\p{Ll}'’]/u.test(e)||/^\p{Lu}$/u.test(e),A=(e,t,n)=>{if(n.forEach((e=>e.dirty=!0)),e){let r=[t,0].concat(n);Array.prototype.splice.apply(e,r)}return e},C=function(e){let t=e[e.length-1];!t||/ $/.test(t.post)||/[-–—]/.test(t.post)||(t.post+=" ")},N=(e,t,n)=>{const r=/[-.?!,;:)–—'"]/g;let a=e[t-1];if(!a)return;let o=a.post;if(r.test(o)){let e=o.match(r).join(""),t=n[n.length-1];t.post=e+t.post,a.post=a.post.replace(r,"")}},j=function(e,t,n,r){let[a,o,i]=t;0===o||i===r[a].length?C(n):(C(n),C([e[t[1]]])),function(e,t,n){let r=e[t];if(0!==t||!P(r.text))return;n[0].text=n[0].text.replace(/^\p{Ll}/u,(e=>e.toUpperCase()));let a=e[t];a.tags.has("ProperNoun")||a.tags.has("Acronym")||P(a.text)&&a.text.length>1&&(a.text=(o=a.text,o.replace(/^\p{Lu}/u,(e=>e.toLowerCase()))));var o}(e,o,n),A(e,o,n)};let x=0;const I=e=>(e=e.length<3?"0"+e:e).length<3?"0"+e:e;var T=function(e){let[t,n]=e.index||[0,0];x+=1,x=x>46655?0:x,t=t>46655?0:t,n=n>1294?0:n;let r=I(x.toString(36));r+=I(t.toString(36));let a=n.toString(36);return a=a.length<2?"0"+a:a,r+=a,r+=parseInt(36*Math.random(),10).toString(36),e.normal+"|"+r.toUpperCase()};const H=function(e){if(e.has("@hasContraction")&&"function"==typeof e.contractions){e.grow("@hasContraction").contractions().expand()}},D=e=>"[object Array]"===Object.prototype.toString.call(e),G=function(e,t,n){const{document:r,world:a}=t;t.uncache();let o=t.fullPointer,i=t.fullPointer;t.forEach(((s,l)=>{let u=s.fullPointer[0],[c]=u,h=r[c],d=function(e,t){const{methods:n}=t;return"string"==typeof e?n.one.tokenize.fromString(e,t)[0]:"object"==typeof e&&e.isView?e.clone().docs[0]||[]:D(e)?D(e[0])?e[0]:e:[]}(e,a);0!==d.length&&(d=function(e){return e.map((e=>(e.id=T(e),e)))}(d),n?(H(t.update([u]).firstTerm()),j(h,u,d,r)):(H(t.update([u]).lastTerm()),function(e,t,n,r){let[a,,o]=t,i=(r[a]||[]).length;o{let n=t(e);e.replaceWith(n)})),e}(r,e);let a=r.docs[0],o=t.possessives&&a[a.length-1].tags.has("Possessive");e=function(e,t){if("string"!=typeof e)return e;let n=t.groups();return e=e.replace(F,(e=>{let t=e.replace(/\$/,"");return n.hasOwnProperty(t)?n[t].text():e})),e}(e,r);let i=this.update(n);n=n.map((e=>e.slice(0,3)));let s=(i.docs[0]||[]).map((e=>Array.from(e.tags)));if("string"==typeof e&&(e=this.fromText(e).compute("id")),r.insertAfter(e),i.has("@hasContraction")&&r.contractions){r.grow("@hasContraction+").contractions().expand()}if(r.delete(i),o){let e=r.docs[0],t=e[e.length-1];t.tags.has("Possessive")||(t.text+="'s",t.normal+="'s",t.tags.add("Possessive"))}let l=r.toView(n).compute(["index","lexicon"]);return l.world.compute.preTagger&&l.compute("preTagger"),t.tags&&l.terms().forEach(((e,t)=>{e.tagSafe(s[t])})),t.case&&l.docs[0]&&l.docs[0][0]&&0===l.docs[0][0].index[1]&&(l.docs[0][0].text=l.docs[0][0].text.replace(/\w\S*/g,(e=>e.charAt(0).toUpperCase()+e.substring(1).toLowerCase()))),l},V.replace=function(e,t,n){if(e&&!t)return this.replaceWith(e,n);let r=this.match(e);return r.found?(this.soften(),r.replaceWith(t,n)):this};var z=V;var $=function(e,t){t.forEach((t=>{let[n,r,a]=t,o=a-r;e[n]&&(a===e[n].length&&a>1&&function(e,t){let n=e.length-1,r=e[n],a=e[n-t];a&&r&&(a.post+=r.post,a.post=a.post.replace(/ +([.?!,;:])/,"$1"),a.post=a.post.replace(/[,;:]+([.?!])/,"$1"))}(e[n],o),e[n].splice(r,o))}));for(let t=e.length-1;t>=0;t-=1)if(0===e[t].length&&(e.splice(t,1),t===e.length&&e[t-1])){let n=e[t-1],r=n[n.length-1];r&&(r.post=r.post.trimEnd())}return e};const L={remove:function(e){const{indexN:t}=this.methods.one.pointer;this.uncache();let n=this.all(),r=this;e&&(n=this,r=this.match(e));let a=!n.ptrs;if(r.has("@hasContraction")&&r.contractions){r.grow("@hasContraction").contractions().expand()}let o=n.fullPointer,i=r.fullPointer.reverse(),s=$(this.document,i);return o=function(e,t){return e=e.map((e=>{let[n]=e;return t[n]?(t[n].forEach((t=>{let n=t[2]-t[1];e[1]<=t[1]&&e[2]>=t[2]&&(e[2]-=n)})),e):e})),e.forEach(((t,n)=>{if(0===t[1]&&0==t[2])for(let t=n+1;te[2]-e[1]>0))).map((e=>(e[3]=null,e[4]=null,e)))}(o,t(i)),n.ptrs=o,n.document=s,n.compute("index"),a&&(n.ptrs=void 0),e?n.toView(o):(this.ptrs=[],n.none())}};L.delete=L.remove;var S=L;const M={pre:function(e,t){return void 0===e&&this.found?this.docs[0][0].pre:(this.docs.forEach((n=>{let r=n[0];!0===t?r.pre+=e:r.pre=e})),this)},post:function(e,t){if(void 0===e){let e=this.docs[this.docs.length-1];return e[e.length-1].post}return this.docs.forEach((n=>{let r=n[n.length-1];!0===t?r.post+=e:r.post=e})),this},trim:function(){if(!this.found)return this;let e=this.docs,t=e[0][0];t.pre=t.pre.trimStart();let n=e[e.length-1],r=n[n.length-1];return r.post=r.post.trimEnd(),this},hyphenate:function(){return this.docs.forEach((e=>{e.forEach(((t,n)=>{0!==n&&(t.pre=""),e[n+1]&&(t.post="-")}))})),this},dehyphenate:function(){const e=/[-–—]/;return this.docs.forEach((t=>{t.forEach((t=>{e.test(t.post)&&(t.post=" ")}))})),this},toQuotations:function(e,t){return e=e||'"',t=t||'"',this.docs.forEach((n=>{n[0].pre=e+n[0].pre;let r=n[n.length-1];r.post=t+r.post})),this},toParentheses:function(e,t){return e=e||"(",t=t||")",this.docs.forEach((n=>{n[0].pre=e+n[0].pre;let r=n[n.length-1];r.post=t+r.post})),this}};M.deHyphenate=M.dehyphenate,M.toQuotation=M.toQuotations;var B=M;var J={alpha:(e,t)=>e.normalt.normal?1:0,length:(e,t)=>{let n=e.normal.trim().length,r=t.normal.trim().length;return nr?-1:0},wordCount:(e,t)=>e.wordst.words?-1:0,sequential:(e,t)=>e[0]t[0]?-1:e[1]>t[1]?1:-1,byFreq:function(e){let t={};return e.forEach((e=>{t[e.normal]=t[e.normal]||0,t[e.normal]+=1})),e.sort(((e,n)=>{let r=t[e.normal],a=t[n.normal];return ra?-1:0})),e}};const W=new Set(["index","sequence","seq","sequential","chron","chronological"]),q=new Set(["freq","frequency","topk","repeats"]),K=new Set(["alpha","alphabetical"]);var U={unique:function(){let e=new Set,t=this.filter((t=>{let n=t.text("machine");return!e.has(n)&&(e.add(n),!0)}));return t},reverse:function(){let e=this.pointer||this.docs.map(((e,t)=>[t]));return e=[].concat(e),e=e.reverse(),this._cache&&(this._cache=this._cache.reverse()),this.update(e)},sort:function(e){let{docs:t,pointer:n}=this;if(this.uncache(),"function"==typeof e)return function(e,t){let n=e.fullPointer;return n=n.sort(((n,r)=>(n=e.update([n]),r=e.update([r]),t(n,r)))),e.ptrs=n,e}(this,e);e=e||"alpha";let r=n||t.map(((e,t)=>[t])),a=t.map(((e,t)=>({index:t,words:e.length,normal:e.map((e=>e.machine||e.normal||"")).join(" "),pointer:r[t]})));return W.has(e)&&(e="sequential"),K.has(e)&&(e="alpha"),q.has(e)?(a=J.byFreq(a),this.update(a.map((e=>e.pointer)))):"function"==typeof J[e]?(a=a.sort(J[e]),this.update(a.map((e=>e.pointer)))):this}};const R=function(e,t){if(e.length>0){let t=e[e.length-1],n=t[t.length-1];!1===/ /.test(n.post)&&(n.post+=" ")}return e=e.concat(t)};var Q={concat:function(e){if("string"==typeof e){let t=this.fromText(e);if(this.found&&this.ptrs){let e=this.fullPointer,n=e[e.length-1][0];this.document.splice(n,0,...t.document)}else this.document=this.document.concat(t.document);return this.all().compute("index")}if("object"==typeof e&&e.isView)return function(e,t){if(e.document===t.document){let n=e.fullPointer.concat(t.fullPointer);return e.toView(n).compute("index")}return t.fullPointer.forEach((t=>{t[0]+=e.document.length})),e.document=R(e.document,t.docs),e.all()}(this,e);if(t=e,"[object Array]"===Object.prototype.toString.call(t)){let t=R(this.document,e);return this.document=t,this.all()}var t;return this}};var _={harden:function(){return this.ptrs=this.fullPointer,this},soften:function(){let e=this.ptrs;return!e||e.length<1||(e=e.map((e=>e.slice(0,3))),this.ptrs=e),this}};const X=Object.assign({},{toLowerCase:function(){return this.termList().forEach((e=>{e.text=e.text.toLowerCase()})),this},toUpperCase:function(){return this.termList().forEach((e=>{e.text=e.text.toUpperCase()})),this},toTitleCase:function(){return this.termList().forEach((e=>{e.text=e.text.replace(/^ *[a-z\u00C0-\u00FF]/,(e=>e.toUpperCase()))})),this},toCamelCase:function(){return this.docs.forEach((e=>{e.forEach(((t,n)=>{0!==n&&(t.text=t.text.replace(/^ *[a-z\u00C0-\u00FF]/,(e=>e.toUpperCase()))),n!==e.length-1&&(t.post="")}))})),this}},O,z,S,B,U,Q,_);var Z=function(e){Object.assign(e.prototype,X)};const Y={id:function(e){let t=e.docs;for(let e=0;e(e.implicit=e.text,e.machine=e.text,e.pre="",e.post="",e.text="",e.normal="",e.index=[r,a+t],e))),n[0]&&(n[0].pre=e[r][a].pre,n[n.length-1].post=e[r][a].post,n[0].text=e[r][a].text,n[0].normal=e[r][a].normal),e[r].splice(a,1,...n))};const ae=/'/,oe=new Set(["what","how","when","where","why"]),ie=new Set(["be","go","start","think","need"]),se=new Set(["been","gone"]);var le=function(e,t){let n=e[t].normal.split(ae)[0];if(oe.has(n))return[n,"did"];if(e[t+1]){if(se.has(e[t+1].normal))return[n,"had"];if(ie.has(e[t+1].normal))return[n,"would"]}return null};var ue=function(e,t){if("ain't"===e[t].normal||"aint"===e[t].normal)return null;return[e[t].normal.replace(/n't/,""),"not"]};const ce=/'/;var he=(e,t)=>["je",e[t].normal.split(ce)[1]],de=(e,t)=>{let n=e[t].normal.split(ce)[1];return n&&n.endsWith("e")?["la",n]:["le",n]},ge=(e,t)=>{let n=e[t].normal.split(ce)[1];return n&&n.endsWith("e")?["du",n]:n&&n.endsWith("s")?["des",n]:["de",n]};const me=/^([0-9.]{1,4}[a-z]{0,2}) ?[-–—] ?([0-9]{1,4}[a-z]{0,2})$/i,pe=/^([0-9]{1,2}(:[0-9][0-9])?(am|pm)?) ?[-–—] ?([0-9]{1,2}(:[0-9][0-9])?(am|pm)?)$/i,fe=/^[0-9]{3}-[0-9]{4}$/;var ve=function(e,t){let n=e[t],r=n.text.match(me);return null!==r?!0===n.tags.has("PhoneNumber")||fe.test(n.text)?null:[r[1],"to",r[2]]:(r=n.text.match(pe),null!==r?[r[1],"to",r[4]]:null)};const be=/^([+-]?[0-9][.,0-9]*)([a-z°²³µ/]+)$/;var ye=function(e,t,n){const r=n.model.one.numberSuffixes||{};let a=e[t].text.match(be);if(null!==a){let e=a[2].toLowerCase().trim();return r.hasOwnProperty(e)?null:[a[1],e]}return null};const we=/'/,ke=/^[0-9][^-–—]*[-–—].*?[0-9]/,Pe=function(e,t,n,r){let a=t.update();a.document=[e];let o=n+r;n>0&&(n-=1),e[o]&&(o+=1),a.ptrs=[[0,n,o]]},Ae={t:(e,t)=>ue(e,t),d:(e,t)=>le(e,t)},Ce={j:(e,t)=>he(e,t),l:(e,t)=>de(e,t),d:(e,t)=>ge(e,t)},Ne=function(e,t,n,r){for(let a=0;a2)return o.out.concat(r)}return null},je=function(e,t){let n=t.fromText(e.join(" "));return n.compute(["id","alias"]),n.docs[0]},xe=function(e,t){for(let n=t+1;n<5&&e[n];n+=1)if("been"===e[n].normal)return["there","has"];return["there","is"]};var Ie=e=>{let{world:t,document:n}=e;const{model:r,methods:a}=t;let o=r.one.contractions||[];n.forEach(((r,i)=>{for(let s=r.length-1;s>=0;s-=1){let l=null,u=null;!0===we.test(r[s].normal)&&([l,u]=r[s].normal.split(we));let c=Ne(o,r[s],l,u);!c&&Ae.hasOwnProperty(u)&&(c=Ae[u](r,s,t)),!c&&Ce.hasOwnProperty(l)&&(c=Ce[l](r,s)),"there"===l&&"s"===u&&(c=xe(r,s)),c?(c=je(c,e),re(n,[i,s],c),Pe(n[i],e,s,c.length)):ke.test(r[s].normal)?(c=ve(r,s),c&&(c=je(c,e),re(n,[i,s],c),a.one.setTag(c,"NumberRange",t),c[2]&&c[2].tags.has("Time")&&a.one.setTag([c[0]],"Time",t,null,"time-range"),Pe(n[i],e,s,c.length))):(c=ye(r,s,t),c&&(c=je(c,e),re(n,[i,s],c),a.one.setTag([c[1]],"Unit",t,null,"contraction-unit")))}}))};var Te={model:ne,compute:{contractions:Ie},hooks:["contractions"]};var He=function(e,t,n){const{model:r,methods:a}=n,o=a.one.setTag,i=r.one._multiCache||{},s=r.one.lexicon||{};let l=e[t],u=l.machine||l.normal;return void 0!==e[t+1]&&!0===i[u]?function(e,t,n,r,a){let o=t+4>e.length?e.length-t:4,i=e[t].machine||e[t].normal;for(let s=1;si.hasOwnProperty(e)));if(e){return o([s],i[e],n,!1,"1-lexicon-alias"),!0}}if(!0===De.test(l)){let e=l.replace(De,"");if(i.hasOwnProperty(e)&&e.length>3&&Ge.has(i[e]))return o([s],i[e],n,!1,"1-lexicon-prefix"),!0}return null};var Oe={lexicon:function(e){const t=e.world;e.docs.forEach((e=>{for(let n=0;n{let a=e[r],o=(r=(r=r.toLowerCase().trim()).replace(/'s\b/,"")).split(/ /);o.length>1&&(n[o[0]]=!0),t[r]=t[r]||a})),delete t[""],delete t.null,delete t[" "],{lex:t,_multi:n}};var Ve={addWords:function(e){const t=this.world(),{methods:n,model:r}=t;if(e)if(Object.keys(e).forEach((t=>{"string"==typeof e[t]&&e[t].startsWith("#")&&(e[t]=e[t].replace(/^#/,""))})),n.two.expandLexicon){let{lex:a,_multi:o}=n.two.expandLexicon(e,t);Object.assign(r.one.lexicon,a),Object.assign(r.one._multiCache,o)}else if(n.one.expandLexicon){let{lex:a,_multi:o}=n.one.expandLexicon(e,t);Object.assign(r.one.lexicon,a),Object.assign(r.one._multiCache,o)}else Object.assign(r.one.lexicon,e)}};var ze={model:{one:{lexicon:{},_multiCache:{}}},methods:{one:{expandLexicon:Fe}},compute:Oe,lib:Ve,hooks:["lexicon"]};var $e=function(e,t){let n=[{}],r=[null],a=[0],o=[],i=0;e.forEach((function(e){let a=0,o=function(e,t){const{methods:n,model:r}=t;let a=n.one.tokenize.splitTerms(e,r).map((e=>n.one.tokenize.splitWhitespace(e,r)));return a.map((e=>e.text.toLowerCase()))}(e,t);for(let e=0;e0&&!n[i].hasOwnProperty(l);)i=a[i];if(n.hasOwnProperty(i)){let e=n[i][l];a[u]=e,r[e]&&(r[u]=r[u]||[],r[u]=r[u].concat(r[e]))}else a[u]=0}}return{goNext:n,endAs:r,failTo:a}};const Le=function(e,t,n){let r=0,a=[];for(let o=0;o0&&(void 0===t.goNext[r]||!t.goNext[r].hasOwnProperty(i));)r=t.failTo[r]||0;if(t.goNext[r].hasOwnProperty(i)&&(r=t.goNext[r][i],t.endAs[r])){let n=t.endAs[r];for(let t=0;t0&&(r=r.concat(l))}return e.update(r)};const Be=(e,t)=>{for(let n=e.length-1;n>=0;n-=1)if(e[n]!==t)return e=e.slice(0,n+1);return e};var Je=function(e){return e.goNext=e.goNext.map((e=>{if(0!==Object.keys(e).length)return e})),e.goNext=Be(e.goNext,void 0),e.failTo=Be(e.failTo,0),e.endAs=Be(e.endAs,null),e};const We={buildTrie:function(e){const t=$e(e,this.world());return Je(t)}};We.compile=We.buildTrie;var qe={api:function(e){e.prototype.lookup=function(e,t={}){if(!e)return this.none();"string"==typeof e&&(e=[e]);let n=(r=e,"[object Object]"===Object.prototype.toString.call(r)?e:$e(e,this.world));var r;let a=Me(this,n,t);return a=a.settle(),a}},lib:We};const Ke=function(e,t){return t?(e.forEach((e=>{let n=e[0];t[n]&&(e[0]=t[n][0],e[1]+=t[n][1],e[2]+=t[n][1])})),e):e},Ue=function(e,t){let{ptrs:n,byGroup:r}=e;return n=Ke(n,t),Object.keys(r).forEach((e=>{r[e]=Ke(r[e],t)})),{ptrs:n,byGroup:r}},Re=e=>"[object Object]"===Object.prototype.toString.call(e),Qe=e=>e&&Re(e)&&!0===e.isView,_e=e=>e&&Re(e)&&!0===e.isNet,Xe=function(e,t,n){const r=n.methods.one;return"number"==typeof e&&(e=String(e)),"string"==typeof e&&(e=r.killUnicode(e,n),e=r.parseMatch(e,t,n)),e};var Ze={matchOne:function(e,t,n){const r=this.methods.one;if(Qe(e))return this.intersection(e).eq(0);if(_e(e))return this.sweep(e,{tagger:!1,matchOne:!0}).view;let a={regs:e=Xe(e,n,this.world),group:t,justOne:!0},o=r.match(this.docs,a,this._cache),{ptrs:i,byGroup:s}=Ue(o,this.fullPointer),l=this.toView(i);return l._groups=s,l},match:function(e,t,n){const r=this.methods.one;if(Qe(e))return this.intersection(e);if(_e(e))return this.sweep(e,{tagger:!1}).view.settle();let a={regs:e=Xe(e,n,this.world),group:t},o=r.match(this.docs,a,this._cache),{ptrs:i,byGroup:s}=Ue(o,this.fullPointer),l=this.toView(i);return l._groups=s,l},has:function(e,t,n){const r=this.methods.one;if(Qe(e)){return e.fullPointer.length>0}if(_e(e))return this.sweep(e,{tagger:!1}).view.found;let a={regs:e=Xe(e,n,this.world),group:t,justOne:!0};return r.match(this.docs,a,this._cache).ptrs.length>0},if:function(e,t,n){const r=this.methods.one;if(Qe(e))return this.filter((t=>t.intersection(e).found));if(_e(e)){let t=this.sweep(e,{tagger:!1}).view.settle();return this.if(t)}let a={regs:e=Xe(e,n,this.world),group:t,justOne:!0},o=this.fullPointer,i=this._cache||[];o=o.filter(((e,t)=>{let n=this.update([e]);return r.match(n.docs,a,i[t]).ptrs.length>0}));let s=this.update(o);return this._cache&&(s._cache=o.map((e=>i[e[0]]))),s},ifNo:function(e,t,n){const{methods:r}=this,a=r.one;if(Qe(e))return this.filter((t=>!t.intersection(e).found));if(_e(e)){let t=this.sweep(e,{tagger:!1}).view.settle();return this.ifNo(t)}e=Xe(e,n,this.world);let o=this._cache||[],i=this.filter(((n,r)=>{let i={regs:e,group:t,justOne:!0};return 0===a.match(n.docs,i,o[r]).ptrs.length}));return this._cache&&(i._cache=i.ptrs.map((e=>o[e[0]]))),i}};var Ye={before:function(e,t,n){const{indexN:r}=this.methods.one.pointer;let a=[],o=r(this.fullPointer);Object.keys(o).forEach((e=>{let t=o[e].sort(((e,t)=>e[1]>t[1]?1:-1))[0];t[1]>0&&a.push([t[0],0,t[1]])}));let i=this.toView(a);return e?i.match(e,t,n):i},after:function(e,t,n){const{indexN:r}=this.methods.one.pointer;let a=[],o=r(this.fullPointer),i=this.document;Object.keys(o).forEach((e=>{let t=o[e].sort(((e,t)=>e[1]>t[1]?-1:1))[0],[n,,r]=t;r{let o=n.before(e,t);if(o.found){let e=o.terms();r[a][1]-=e.length,r[a][3]=e.docs[0][0].id}})),this.update(r)},growRight:function(e,t,n){"string"==typeof e&&(e=this.world.methods.one.parseMatch(e,n,this.world)),e[0].start=!0;let r=this.fullPointer;return this.forEach(((n,a)=>{let o=n.after(e,t);if(o.found){let e=o.terms();r[a][2]+=e.length,r[a][4]=null}})),this.update(r)},grow:function(e,t,n){return this.growRight(e,t,n).growLeft(e,t,n)}};const et=function(e,t){return[e[0],e[1],t[2]]},tt=(e,t,n)=>{return"string"==typeof e||(r=e,"[object Array]"===Object.prototype.toString.call(r))?t.match(e,n):e||t.none();var r},nt=function(e,t){let[n,r,a]=e;return t.document[n]&&t.document[n][r]&&(e[3]=e[3]||t.document[n][r].id,t.document[n][a-1]&&(e[4]=e[4]||t.document[n][a-1].id)),e},rt={splitOn:function(e,t){const{splitAll:n}=this.methods.one.pointer;let r=tt(e,this,t).fullPointer,a=n(this.fullPointer,r),o=[];return a.forEach((e=>{o.push(e.passthrough),o.push(e.before),o.push(e.match),o.push(e.after)})),o=o.filter((e=>e)),o=o.map((e=>nt(e,this))),this.update(o)},splitBefore:function(e,t){const{splitAll:n}=this.methods.one.pointer;let r=tt(e,this,t).fullPointer,a=n(this.fullPointer,r);for(let e=0;e{o.push(e.passthrough),o.push(e.before),e.match&&e.after?o.push(et(e.match,e.after)):o.push(e.match)})),o=o.filter((e=>e)),o=o.map((e=>nt(e,this))),this.update(o)},splitAfter:function(e,t){const{splitAll:n}=this.methods.one.pointer;let r=tt(e,this,t).fullPointer,a=n(this.fullPointer,r),o=[];return a.forEach((e=>{o.push(e.passthrough),e.before&&e.match?o.push(et(e.before,e.match)):(o.push(e.before),o.push(e.match)),o.push(e.after)})),o=o.filter((e=>e)),o=o.map((e=>nt(e,this))),this.update(o)}};rt.split=rt.splitAfter;var at=rt;const ot=Object.assign({},Ze,Ye,at);ot.lookBehind=ot.before,ot.lookBefore=ot.before,ot.lookAhead=ot.after,ot.lookAfter=ot.after,ot.notIf=ot.ifNo;var it=function(e){Object.assign(e.prototype,ot)};const st=/(?:^|\s)([![^]*(?:<[^<]*>)?\/.*?[^\\/]\/[?\]+*$~]*)(?:\s|$)/,lt=/([!~[^]*(?:<[^<]*>)?\([^)]+[^\\)]\)[?\]+*$~]*)(?:\s|$)/,ut=/ /g,ct=e=>/^[![^]*(<[^<]*>)?\//.test(e)&&/\/[?\]+*$~]*$/.test(e),ht=function(e){return e=(e=e.map((e=>e.trim()))).filter((e=>e))};var dt=function(e){let t=e.split(st),n=[];t.forEach((e=>{ct(e)?n.push(e):n=n.concat(e.split(lt))})),n=ht(n);let r=[];return n.forEach((e=>{(e=>/^[![^]*(<[^<]*>)?\(/.test(e)&&/\)[?\]+*$~]*$/.test(e))(e)||ct(e)?r.push(e):r=r.concat(e.split(ut))})),r=ht(r),r};const gt=/\{([0-9]+)?(, *[0-9]*)?\}/,mt=/&&/,pt=new RegExp(/^<\s*(\S+)\s*>/),ft=e=>e.charAt(0).toUpperCase()+e.substring(1),vt=e=>e.charAt(e.length-1),bt=e=>e.charAt(0),yt=e=>e.substring(1),wt=e=>e.substring(0,e.length-1),kt=function(e){return e=yt(e),e=wt(e)},Pt=function(e,t){let n={};for(let r=0;r<2;r+=1){if("$"===vt(e)&&(n.end=!0,e=wt(e)),"^"===bt(e)&&(n.start=!0,e=yt(e)),"?"===vt(e)&&(n.optional=!0,e=wt(e)),("["===bt(e)||"]"===vt(e))&&(n.group=null,"["===bt(e)&&(n.groupStart=!0),"]"===vt(e)&&(n.groupEnd=!0),e=(e=e.replace(/^\[/,"")).replace(/\]$/,""),"<"===bt(e))){const t=pt.exec(e);t.length>=2&&(n.group=t[1],e=e.replace(t[0],""))}if("+"===vt(e)&&(n.greedy=!0,e=wt(e)),"*"!==e&&"*"===vt(e)&&"\\*"!==e&&(n.greedy=!0,e=wt(e)),"!"===bt(e)&&(n.negative=!0,e=yt(e)),"~"===bt(e)&&"~"===vt(e)&&e.length>2&&(e=kt(e),n.fuzzy=!0,n.min=t.fuzzy||.85,!1===/\(/.test(e)))return n.word=e,n;if("/"===bt(e)&&"/"===vt(e))return e=kt(e),t.caseSensitive&&(n.use="text"),n.regex=new RegExp(e),n;if(!0===gt.test(e)&&(e=e.replace(gt,((e,t,r)=>(void 0===r?(n.min=Number(t),n.max=Number(t)):(r=r.replace(/, */,""),void 0===t?(n.min=0,n.max=Number(r)):(n.min=Number(t),n.max=Number(r||999))),n.greedy=!0,n.min||(n.optional=!0),"")))),"("===bt(e)&&")"===vt(e)){mt.test(e)?(n.choices=e.split(mt),n.operator="and"):(n.choices=e.split("|"),n.operator="or"),n.choices[0]=yt(n.choices[0]);let r=n.choices.length-1;n.choices[r]=wt(n.choices[r]),n.choices=n.choices.map((e=>e.trim())),n.choices=n.choices.filter((e=>e)),n.choices=n.choices.map((e=>e.split(/ /g).map((e=>Pt(e,t))))),e=""}if("{"===bt(e)&&"}"===vt(e)){if(e=kt(e),n.root=e,/\//.test(e)){let e=n.root.split(/\//);n.root=e[0],n.pos=e[1],"adj"===n.pos&&(n.pos="Adjective"),n.pos=n.pos.charAt(0).toUpperCase()+n.pos.substr(1).toLowerCase(),void 0!==e[2]&&(n.sense=e[2])}return n}if("<"===bt(e)&&">"===vt(e))return e=kt(e),n.chunk=ft(e),n.greedy=!0,n;if("%"===bt(e)&&"%"===vt(e))return e=kt(e),n.switch=e,n}return"#"===bt(e)?(n.tag=yt(e),n.tag=ft(n.tag),n):"@"===bt(e)?(n.method=yt(e),n):"."===e?(n.anything=!0,n):"*"===e?(n.anything=!0,n.greedy=!0,n.optional=!0,n):(e&&(e=(e=e.replace("\\*","*")).replace("\\.","."),t.caseSensitive?n.use="text":e=e.toLowerCase(),n.word=e),n)};var At=Pt;const Ct=/[a-z0-9][-–—][a-z]/i;var Nt=function(e,t){let n=t.model.one.prefixes;for(let t=e.length-1;t>=0;t-=1){let r=e[t];if(r.word&&Ct.test(r.word)){let a=r.word.split(/[-–—]/g);if(n.hasOwnProperty(a[0]))continue;a=a.filter((e=>e)).reverse(),e.splice(t,1),a.forEach((n=>{let a=Object.assign({},r);a.word=n,e.splice(t,0,a)}))}}return e};const jt=function(e,t){let{all:n}=t.methods.two.transform.verb||{},r=e.root;return n?n(r,t.model):[]},xt=function(e,t){let{all:n}=t.methods.two.transform.noun||{};return n?n(e.root,t.model):[e.root]},It=function(e,t){let{all:n}=t.methods.two.transform.adjective||{};return n?n(e.root,t.model):[e.root]};var Tt=function(e,t){return e=e.map((e=>{if(e.root)if(t.methods.two&&t.methods.two.transform){let n=[];e.pos?"Verb"===e.pos?n=n.concat(jt(e,t)):"Noun"===e.pos?n=n.concat(xt(e,t)):"Adjective"===e.pos&&(n=n.concat(It(e,t))):(n=n.concat(jt(e,t)),n=n.concat(xt(e,t)),n=n.concat(It(e,t))),n=n.filter((e=>e)),n.length>0&&(e.operator="or",e.fastOr=new Set(n))}else e.machine=e.root,delete e.id,delete e.root;return e}))};var Ht=function(e){return e=function(e){let t=0,n=null;for(let r=0;r(e.fuzzy&&e.choices&&e.choices.forEach((t=>{1===t.length&&t[0].word&&(t[0].fuzzy=!0,t[0].min=e.min)})),e)))}(e=e.map((e=>{if(void 0!==e.choices){if("or"!==e.operator)return e;if(!0===e.fuzzy)return e;!0===e.choices.every((e=>{if(1!==e.length)return!1;let t=e[0];return!0!==t.fuzzy&&!t.start&&!t.end&&void 0!==t.word&&!0!==t.negative&&!0!==t.optional&&!0!==t.method}))&&(e.fastOr=new Set,e.choices.forEach((t=>{e.fastOr.add(t[0].word)})),delete e.choices)}return e}))),e};var Dt=function(e,t,n){if(null==e||""===e)return[];t=t||{},"number"==typeof e&&(e=String(e));let r=dt(e);return r=r.map((e=>At(e,t))),r=Nt(r,n),r=Tt(r,n),r=Ht(r),r};const Gt=function(e,t){for(let n of t)if(e.has(n))return!0;return!1};var Et=function(e,t){for(let n=0;nn?r:n)+1;if(Math.abs(n-r)>(a||100))return a||100;let o,i,s,l,u,c,h=[];for(let e=0;e4)return n;s=t[o-1],l=i===s?0:1,u=h[a-1][o]+1,(c=h[a][o-1]+1)1&&o>1&&i===t[o-2]&&e[a-2]===s&&(c=h[a-2][o-2]+l)-1!==e.post.indexOf(t),St=(e,t)=>-1!==e.pre.indexOf(t),Mt={hasQuote:e=>Ft.test(e.pre)||Vt.test(e.post),hasComma:e=>Lt(e,","),hasPeriod:e=>!0===Lt(e,".")&&!1===Lt(e,"..."),hasExclamation:e=>Lt(e,"!"),hasQuestionMark:e=>Lt(e,"?")||Lt(e,"¿"),hasEllipses:e=>Lt(e,"..")||Lt(e,"…")||St(e,"..")||St(e,"…"),hasSemicolon:e=>Lt(e,";"),hasColon:e=>Lt(e,":"),hasSlash:e=>/\//.test(e.text),hasHyphen:e=>zt.test(e.post)||zt.test(e.pre),hasDash:e=>$t.test(e.post)||$t.test(e.pre),hasContraction:e=>Boolean(e.implicit),isAcronym:e=>e.tags.has("Acronym"),isKnown:e=>e.tags.size>0,isTitleCase:e=>/^\p{Lu}[a-z'\u00C0-\u00FF]/u.test(e.text),isUpperCase:e=>/^\p{Lu}+$/u.test(e.text)};Mt.hasQuotation=Mt.hasQuote;var Bt=Mt;let Jt=function(){};Jt=function(e,t,n,r){let a=function(e,t,n,r){if(!0===t.anything)return!0;if(!0===t.start&&0!==n)return!1;if(!0===t.end&&n!==r-1)return!1;if(void 0!==t.id&&t.id===e.id)return!0;if(void 0!==t.word){if(t.use)return t.word===e[t.use];if(null!==e.machine&&e.machine===t.word)return!0;if(void 0!==e.alias&&e.alias.hasOwnProperty(t.word))return!0;if(!0===t.fuzzy){if(t.word===e.root)return!0;if(Ot(t.word,e.normal)>=t.min)return!0}return!(!e.alias||!e.alias.some((e=>e===t.word)))||t.word===e.text||t.word===e.normal}if(void 0!==t.tag)return!0===e.tags.has(t.tag);if(void 0!==t.method)return"function"==typeof Bt[t.method]&&!0===Bt[t.method](e);if(void 0!==t.pre)return e.pre&&e.pre.includes(t.pre);if(void 0!==t.post)return e.post&&e.post.includes(t.post);if(void 0!==t.regex){let n=e.normal;return t.use&&(n=e[t.use]),t.regex.test(n)}if(void 0!==t.chunk)return e.chunk===t.chunk;if(void 0!==t.switch)return e.switch===t.switch;if(void 0!==t.machine)return e.normal===t.machine||e.machine===t.machine||e.root===t.machine;if(void 0!==t.sense)return e.sense===t.sense;if(void 0!==t.fastOr){if(t.pos&&!e.tags.has(t.pos))return null;let n=e.root||e.implicit||e.machine||e.normal;return t.fastOr.has(n)||t.fastOr.has(e.text)}return void 0!==t.choices&&("and"===t.operator?t.choices.every((t=>Jt(e,t,n,r))):t.choices.some((t=>Jt(e,t,n,r))))}(e,t,n,r);return!0===t.negative?!a:a};var Wt=Jt;const qt=function(e,t){if(!0===e.end&&!0===e.greedy&&t.start_i+t.tn.max)return e.t=e.t+n.max,!0;if(!0===e.hasGroup){Kt(e,e.t).length=r-e.t}return e.t=r,!0};const Rt=function(e,t=0){let n=e.regs[e.r],r=!1;for(let o=0;o{let a=0,o=e.t+r+t+a;if(void 0===e.terms[o])return!1;let i=Wt(e.terms[o],n,o+e.start_i,e.phrase_length);if(!0===i&&!0===n.greedy)for(let t=1;t{let r=n.every(((t,n)=>{let r=e.t+n;return void 0!==e.terms[r]&&Wt(e.terms[r],t,r,e.phrase_length)}));return!0===r&&n.length>t&&(t=n.length),r}))&&t}(e);if(r){if(!0===n.negative)return null;if(!0===e.hasGroup){Kt(e,e.t).length+=r}if(!0===n.end){let t=e.phrase_length-1;if(e.t+e.start_i!==t)return null}return e.t+=r,!0}return!!n.optional||null};var Xt=function(e,t,n){let r=0;for(let a=e.t;ar)&&(e.t+=r,!0))};var Zt=function(e){const{regs:t}=e;let n=t[e.r],r=Object.assign({},n);if(r.negative=!1,Wt(e.terms[e.t],r,e.start_i+e.t,e.phrase_length))return!1;if(n.optional){let n=t[e.r+1];if(n){if(Wt(e.terms[e.t],n,e.start_i+e.t,e.phrase_length))e.r+=1;else if(n.optional&&t[e.r+2]){Wt(e.terms[e.t],t[e.r+2],e.start_i+e.t,e.phrase_length)&&(e.r+=2)}}}return n.greedy?Xt(e,r,t[e.r+1]):(e.t+=1,!0)};var Yt=function(e){const{regs:t}=e;let n=t[e.r],r=e.terms[e.t],a=Wt(r,t[e.r+1],e.start_i+e.t,e.phrase_length);if(n.negative||a){let n=e.terms[e.t+1];n&&Wt(n,t[e.r+1],e.start_i+e.t,e.phrase_length)||(e.r+=1)}};var en=function(e){const{regs:t,phrase_length:n}=e;let r=t[e.r];return e.t=function(e,t){let n=Object.assign({},e.regs[e.r],{start:!1,end:!1}),r=e.t;for(;e.te.t?null:!0!==r.end||e.start_i+e.t===n||null};var tn=function(e){let t=e.terms[e.t],n=e.regs[e.r];if(t.implicit&&e.terms[e.t+1]){if(!e.terms[e.t+1].implicit)return;n.word===t.normal&&(e.t+=1),"hasContraction"===n.method&&(e.t+=1)}};var nn=function(e){const{regs:t}=e;let n=t[e.r],r=e.terms[e.t],a=e.t;if(n.optional&&t[e.r+1]&&n.negative)return!0;if(n.optional&&t[e.r+1]&&Yt(e),r.implicit&&e.terms[e.t+1]&&tn(e),e.t+=1,!0===n.end&&e.t!==e.terms.length&&!0!==n.greedy)return null;if(!0===n.greedy){if(!en(e))return null}return!0===e.hasGroup&&function(e,t){let n=e.regs[e.r];const r=Kt(e,t);e.t>1&&n.greedy?r.length+=e.t-t:r.length++}(e,a),!0};var rn=function(e,t,n,r){if(0===e.length||0===t.length)return null;let a={t:0,terms:e,r:0,regs:t,groups:{},start_i:n,phrase_length:r,inGroup:null};for(;a.r!e.optional)))break;return null}if(!0!==e.anything||!0!==e.greedy)if(void 0===e.choices||"or"!==e.operator)if(void 0===e.choices||"and"!==e.operator)if(!0!==e.anything)if(!0!==qt(e,a))if(e.negative){if(!Zt(a))return null}else if(!0!==Wt(a.terms[a.t],e,a.start_i+a.t,a.phrase_length)){if(!0!==e.optional)return null}else{if(!nn(a))return null}else{if(!nn(a))return null}else{if(e.negative&&e.anything)return null;if(!nn(a))return null}else{if(!_t(a))return null}else{if(!Qt(a))return null}else{if(!Ut(a))return null}}let o=[null,n,a.t+n];if(o[1]===o[2])return null;let i={};return Object.keys(a.groups).forEach((e=>{let t=a.groups[e],r=n+t.start;i[e]=[null,r,r+t.length]})),{pointer:o,groups:i}};var an=function(e,t){let n=[],r={};return 0===e.length||("number"==typeof t&&(t=String(t)),t?e.forEach((e=>{e.groups[t]&&n.push(e.groups[t])})):e.forEach((e=>{n.push(e.pointer),Object.keys(e.groups).forEach((t=>{r[t]=r[t]||[],r[t].push(e.groups[t])}))}))),{ptrs:n,byGroup:r}};var on=function(e,t,n){return e=e.filter((e=>{let[r,a,o]=e.pointer,i=n[r].slice(a,o);for(let e=0;e{e.groups[n][0]=t})),e},ln=function(e,t,n){let r=rn(e,t,0,e.length);return r?(r=sn(r,n),r):null};var un=function(e,t,n){n=n||[];let{regs:r,group:a,justOne:o}=t,i=[];if(!r||0===r.length)return{ptrs:[],byGroup:{}};const s=r.filter((e=>!0!==e.optional&&!0!==e.negative)).length;e:for(let t=0;te&&(e=Math.abs(n-1))}}else{let e=ln(a,r,t);e&&i.push(e)}}return!0===r[r.length-1].end&&(i=i.filter((t=>{let n=t.pointer[0];return e[n].length===t.pointer[2]}))),t.notIf&&(i=on(i,t.notIf,e)),i=an(i,a),i.ptrs.forEach((t=>{let[n,r,a]=t;t[3]=e[n][r].id,t[4]=e[n][a-1].id})),i};var cn={api:it,methods:{one:{termMethods:Bt,parseMatch:Dt,match:un}},lib:{parseMatch:function(e,t){const n=this.world();let r=n.methods.one.killUnicode;return r&&(e=r(e,n)),n.methods.one.parseMatch(e,t,n)}}};const hn=/^\../,dn=/^#./,gn=function(e,t){let n={},r={};return Object.keys(t).forEach((a=>{let o=t[a],i=function(e){let t="",n="";return e=e.replace(/&/g,"&").replace(//g,">").replace(/"/g,""").replace(/'/g,"'"),hn.test(e)?t=``),t+=">",{start:t,end:n}}(a);"string"==typeof o&&(o=e.match(o)),o.docs.forEach((e=>{if(e.every((e=>e.implicit)))return;let t=e[0].id;n[t]=n[t]||[],n[t].push(i.start);let a=e[e.length-1].id;r[a]=r[a]||[],r[a].push(i.end)}))})),{starts:n,ends:r}};var mn={html:function(e){let{starts:t,ends:n}=gn(this,e),r="";return this.docs.forEach((e=>{for(let a=0;a{let n=e.pre||"",a=e.post||"";"some"===t.punctuation&&(n=n.replace(fn,""),bn.test(a)&&(a=" "),a=a.replace(vn,""),a=a.replace(/\?!+/,"?"),a=a.replace(/!+/,"!"),a=a.replace(/\?+/,"?"),a=a.replace(/\.{2,}/,""),e.tags.has("Abbreviation")&&(a=a.replace(/\./,""))),"some"===t.whitespace&&(n=n.replace(/\s/,""),a=a.replace(/\s+/," ")),t.keepPunct||(n=n.replace(fn,""),a="-"===a?" ":a.replace(pn,""));let o=e[t.form||"text"]||e.normal||"";"implicit"===t.form&&(o=e.implicit||e.text),"root"===t.form&&e.implicit&&(o=e.root||e.implicit||e.normal),"machine"!==t.form&&"implicit"!==t.form&&"root"!==t.form||!e.implicit||a&&yn.test(a)||(a+=" "),r+=n+o+a})),!1===n&&(r=r.trim()),!0===t.lowerCase&&(r=r.toLowerCase()),r},kn={text:{form:"text"},normal:{whitespace:"some",punctuation:"some",case:"some",unicode:"some",form:"normal"},machine:{keepSpace:!1,whitespace:"some",punctuation:"some",case:"none",unicode:"some",form:"machine"},root:{keepSpace:!1,whitespace:"some",punctuation:"some",case:"some",unicode:"some",form:"root"},implicit:{form:"implicit"}};kn.clean=kn.normal,kn.reduced=kn.root;var Pn=kn;let An=[],Cn=0;for(;Cn<64;)An[Cn]=0|4294967296*Math.sin(++Cn%Math.PI);function Nn(e){let t,n,r,a=[t=1732584193,n=4023233417,~t,~n],o=[],i=decodeURI(encodeURI(e))+"€",s=i.length;for(e=--s/4+2|15,o[--e]=8*s;~s;)o[s>>2]|=i.charCodeAt(s)<<8*s--;for(Cn=i=0;Cn>4]+An[i]+~~o[Cn|15&[i,5*i+1,3*i+5,7*i][s]])<<(s=[7,12,17,22,5,9,14,20,4,11,16,23,6,10,15,21][4*s+i++%4])|r>>>-s),t,n])t=0|s[1],n=s[2];for(i=4;i;)a[--i]+=s[i]}for(e="";i<32;)e+=(a[i>>3]>>4*(1^i++)&15).toString(16);return e}const jn={text:!0,terms:!0};let xn={case:"none",unicode:"some",form:"machine",punctuation:"some"};const In=function(e,t){return Object.assign({},e,t)},Tn={text:e=>wn(e,{keepPunct:!0},!1),normal:e=>wn(e,In(Pn.normal,{keepPunct:!0}),!1),implicit:e=>wn(e,In(Pn.implicit,{keepPunct:!0}),!1),machine:e=>wn(e,xn,!1),root:e=>wn(e,In(xn,{form:"root"}),!1),hash:e=>Nn(wn(e,{keepPunct:!0},!1)),offset:e=>{let t=Tn.text(e).length;return{index:e[0].offset.index,start:e[0].offset.start,length:t}},terms:e=>e.map((e=>{let t=Object.assign({},e);return t.tags=Array.from(e.tags),t})),confidence:(e,t,n)=>t.eq(n).confidence(),syllables:(e,t,n)=>t.eq(n).syllables(),sentence:(e,t,n)=>t.eq(n).fullSentence().text(),dirty:e=>e.some((e=>!0===e.dirty))};Tn.sentences=Tn.sentence,Tn.clean=Tn.normal,Tn.reduced=Tn.root;const Hn={json:function(e){let t=(n=this,"string"==typeof(r=(r=e)||{})&&(r={}),(r=Object.assign({},jn,r)).offset&&n.compute("offset"),n.docs.map(((e,t)=>{let a={};return Object.keys(r).forEach((o=>{r[o]&&Tn[o]&&(a[o]=Tn[o](e,n,t))})),a})));var n,r;return"number"==typeof e?t[e]:t}};Hn.data=Hn.json;var Dn=Hn;var Gn=function(e){console.log("%c -=-=- ","background-color:#6699cc;"),e.forEach((e=>{console.groupCollapsed(e.text());let t=e.docs[0].map((e=>{let t=e.text||"-";return e.implicit&&(t="["+e.implicit+"]"),{text:t,tags:"["+Array.from(e.tags).join(", ")+"]"}}));console.table(t,["text","tags"]),console.groupEnd()}))};const En="";var On={green:e=>""+e+En,red:e=>""+e+En,blue:e=>""+e+En,magenta:e=>""+e+En,cyan:e=>""+e+En,yellow:e=>""+e+En,black:e=>""+e+En,dim:e=>""+e+En,i:e=>""+e+En};var Fn=function(e){let{docs:t,model:n}=e;0===t.length&&console.log(On.blue("\n ──────")),t.forEach((t=>{console.log(On.blue("\n ┌─────────")),t.forEach((t=>{let r=[...t.tags||[]],a=t.text||"-";t.sense&&(a=`{${t.normal}/${t.sense}}`),t.implicit&&(a="["+t.implicit+"]"),a=On.yellow(a);let o="'"+a+"'";if(t.reference){let n=e.update([t.reference]).text("normal");o+=` - ${On.dim(On.i("["+n+"]"))}`}o=o.padEnd(18);let i=On.blue(" │ ")+On.i(o)+" - "+function(e,t){return t.one.tagSet&&(e=e.map((e=>{if(!t.one.tagSet.hasOwnProperty(e))return e;const n=t.one.tagSet[e].color||"blue";return On[n](e)}))),e.join(", ")}(r,n);console.log(i)}))}))};var Vn=function(e){let{docs:t}=e;console.log(""),t.forEach((e=>{let t=[];e.forEach((e=>{"Noun"===e.chunk?t.push(On.blue(e.implicit||e.normal)):"Verb"===e.chunk?t.push(On.green(e.implicit||e.normal)):"Adjective"===e.chunk?t.push(On.yellow(e.implicit||e.normal)):"Pivot"===e.chunk?t.push(On.red(e.implicit||e.normal)):t.push(e.implicit||e.normal)})),console.log(t.join(" "),"\n")}))};var zn=function(e){if(!e.found)return;let t={};e.fullPointer.forEach((e=>{t[e[0]]=t[e[0]]||[],t[e[0]].push(e)})),Object.keys(t).forEach((n=>{let r=e.update([[Number(n)]]).text();e.update(t[n]).json({offset:!0}).forEach(((e,t)=>{r=function(e,t,n){let r=((e,t,n)=>{let r=9*n,a=t.start+r,o=a+t.length;return[e.substring(0,a),e.substring(a,o),e.substring(o,e.length)]})(e,t,n);return`${r[0]}${On.blue(r[1])}${r[2]}`}(r,e.offset,t)})),console.log(r)}))};var $n=function(e={}){let t=this;if("string"==typeof e){let t={};t[e]=!0,e=t}return"undefined"!=typeof window&&window.document?(Gn(t),t):(!1!==e.tags&&(Fn(t),console.log("\n")),!0===e.chunks&&(Vn(t),console.log("\n")),!0===e.highlight&&(zn(t),console.log("\n")),t)};const Ln=function(e){let t=e.pre||"",n=e.post||"";return t+e.text+n};var Sn=function(e,t){let n=function(e,t){let n={};return Object.keys(t).forEach((r=>{e.match(r).fullPointer.forEach((e=>{n[e[3]]={fn:t[r],end:e[2]}}))})),n}(e,t),r="";return e.docs.forEach(((t,a)=>{for(let o=0;oe.reduce(((e,t)=>e+t.pre+t.text+t.post),"").trim()));return e.filter((e=>e))}if("freq"===e||"frequency"===e||"topk"===e)return function(e){let t={};e.forEach((e=>{t[e]=t[e]||0,t[e]+=1}));let n=Object.keys(t).map((e=>({normal:e,count:t[e]})));return n.sort(((e,t)=>e.count>t.count?-1:0))}(this.json({normal:!0}).map((e=>e.normal)));if("terms"===e){let e=[];return this.docs.forEach((t=>{let n=t.map((e=>e.text));n=n.filter((e=>e)),e=e.concat(n)})),e}return"tags"===e?this.docs.map((e=>e.reduce(((e,t)=>(e[t.implicit||t.normal]=Array.from(t.tags),e)),{}))):"debug"===e?this.debug():this.text()},wrap:function(e){return Sn(this,e)}};var Bn=Mn;var Jn={text:function(e){let t={};var n;if(e&&"string"==typeof e&&Pn.hasOwnProperty(e)?t=Object.assign({},Pn[e]):e&&(n=e,"[object Object]"===Object.prototype.toString.call(n))&&(t=Object.assign({},e)),void 0!==t.keepSpace||this.isFull()||(t.keepSpace=!1),void 0===t.keepEndPunct&&this.pointer){let e=this.pointer[0];e&&e[1]?t.keepEndPunct=!1:t.keepEndPunct=!0}return void 0===t.keepPunct&&(t.keepPunct=!0),void 0===t.keepSpace&&(t.keepSpace=!0),function(e,t){let n="";if(!e||!e[0]||!e[0][0])return n;for(let r=0;ra||a<=n&&o>n},Rn=function(e){let t={};return e.forEach((e=>{t[e[0]]=t[e[0]]||[],t[e[0]].push(e)})),t};var Qn=function(e,t){let n=Rn(t),r=[];return e.forEach((e=>{let[t]=e,a=n[t]||[];if(a=a.filter((t=>function(e,t){return e[1]<=t[1]&&t[2]<=e[2]}(e,t))),0===a.length)return void r.push({passthrough:e});a=a.sort(((e,t)=>e[1]-t[1]));let o=e;a.forEach(((e,t)=>{let n=function(e,t){let[n,r]=e,a=t[1],o=t[2],i={};if(ro&&(i.after=[n,o,e[2]]),i}(o,e);a[t+1]?(r.push({before:n.before,match:n.match}),n.after&&(o=n.after)):r.push(n)}))})),r};var _n=function(e,t){let n=[];return e.forEach(((r,a)=>{if(!r)return;let[o,i,s,l,u]=r,c=t[o]||[];if(void 0===i&&(i=0),void 0===s&&(s=c.length),!l||c[i]&&c[i].id===l)c=c.slice(i,s);else{let n=function(e,t,n){for(let r=0;r<20;r+=1){if(t[n-r]){let a=t[n-r].findIndex((t=>t.id===e));if(-1!==a)return[n-r,a]}if(t[n+r]){let a=t[n+r].findIndex((t=>t.id===e));if(-1!==a)return[n+r,a]}}return null}(l,t,o);if(null!==n){let r=s-i;c=t[n[0]].slice(n[1],n[1]+r);let o=c[0]?c[0].id:null;e[a]=[n[0],n[1],n[1]+r,o]}}0!==c.length&&i!==s&&(u&&c[c.length-1].id!==u&&(c=function(e,t){let[n,r,,,a]=e,o=t[n],i=o.findIndex((e=>e.id===a));return-1===i?(e[2]=t[n].length,e[4]=o.length?o[o.length-1].id:null):e[2]=i,t[n].slice(r,e[2]+1)}(r,t)),n.push(c))})),n=n.filter((e=>e.length>0)),n};var Xn={one:{termList:function(e){let t=[];for(let n=0;n{let[t]=e;if(1===r[t].length)return void a.push(e);let n=r[t].filter((t=>Un(e,t)));n.push(e);let o=function(e){let t=e[0][1],n=e[0][2];return e.forEach((e=>{e[1]n&&(n=e[2])})),[e[0][0],t,n]}(n);a.push(o)})),a=function(e){let t={};for(let n=0;n{e.passthrough&&n.push(e.passthrough),e.before&&n.push(e.before),e.after&&n.push(e.after)})),n};var er=function(e,t){let n=Rn(t),r=[];return e.forEach((e=>{let t=n[e[0]]||[];t=t.filter((t=>Un(e,t))),0!==t.length&&t.forEach((t=>{let n=function(e,t){let n=e[1]t[2]?t[2]:e[2];return n{return"string"==typeof e||(n=e,"[object Array]"===Object.prototype.toString.call(n))?t.match(e):e||t.none();var n},nr=function(e,t){return e.map((e=>{let[n,r]=e;return t[n]&&t[n][r]&&(e[3]=t[n][r].id),e}))},rr={union:function(e){e=tr(e,this);let t=Zn(this.fullPointer,e.fullPointer);return t=nr(t,this.document),this.toView(t)}};rr.and=rr.union,rr.intersection=function(e){e=tr(e,this);let t=er(this.fullPointer,e.fullPointer);return t=nr(t,this.document),this.toView(t)},rr.not=function(e){e=tr(e,this);let t=Yn(this.fullPointer,e.fullPointer);return t=nr(t,this.document),this.toView(t)},rr.difference=rr.not,rr.complement=function(){let e=this.all(),t=Yn(e.fullPointer,this.fullPointer);return t=nr(t,this.document),this.toView(t)},rr.settle=function(){let e=this.fullPointer;return e.forEach((t=>{e=Zn(e,[t])})),e=nr(e,this.document),this.update(e)};var ar=function(e){Object.assign(e.prototype,rr)},or={methods:Xn,api:ar};var ir=function(e){e.prototype.sweep=function(e,t={}){const{world:n,docs:r}=this,{methods:a}=n;let o=a.one.bulkMatch(r,e,this.methods,t);!1!==t.tagger&&a.one.bulkTagger(o,r,this.world),o=o.map((e=>{let t=e.pointer,n=r[t[0]][t[1]],a=t[2]-t[1];return n.index&&(e.pointer=[n.index[0],n.index[1],t[1]+a]),e}));let i=o.map((e=>e.pointer));return o=o.map((e=>(e.view=this.update([e.pointer]),delete e.regs,delete e.needs,delete e.pointer,delete e._expanded,e))),{view:this.update(i),found:o}}};const sr=function(e){return!0===e.optional||!0===e.negative?null:e.tag?"#"+e.tag:e.word?e.word:e.switch?`%${e.switch}%`:null};var lr=function(e,t){const n=t.methods.one.parseMatch;return e.forEach((e=>{e.regs=n(e.match,{},t),"string"==typeof e.ifNo&&(e.ifNo=[e.ifNo]),e.notIf&&(e.notIf=n(e.notIf,{},t)),e.needs=function(e){let t=[];return e.forEach((e=>{t.push(sr(e)),"and"===e.operator&&e.choices&&e.choices.forEach((e=>{e.forEach((e=>{t.push(sr(e))}))}))})),t.filter((e=>e))}(e.regs);let{wants:r,count:a}=function(e){let t=[],n=0;return e.forEach((e=>{"or"!==e.operator||e.optional||e.negative||(e.fastOr&&Array.from(e.fastOr).forEach((e=>{t.push(e)})),e.choices&&e.choices.forEach((e=>{e.forEach((e=>{let n=sr(e);n&&t.push(n)}))})),n+=1)})),{wants:t,count:n}}(e.regs);e.wants=r,e.minWant=a,e.minWords=e.regs.filter((e=>!e.optional)).length})),e};var ur=function(e,t){e=lr(e,t);let n={};e.forEach((e=>{e.needs.forEach((t=>{n[t]=n[t]||[],n[t].push(e)})),e.wants.forEach((t=>{n[t]=n[t]||[],n[t].push(e)}))})),Object.keys(n).forEach((e=>{let t={};n[e]=n[e].filter((e=>!t[e.match]&&(t[e.match]=!0,!0)))}));let r=e.filter((e=>0===e.needs.length&&0===e.wants.length));return{hooks:n,always:r}};var cr=function(e,t){return e.map(((n,r)=>{let a=[];Object.keys(t).forEach((n=>{e[r].has(n)&&(a=a.concat(t[n]))}));let o={};return a=a.filter((e=>!o[e.match]&&(o[e.match]=!0,!0))),a}))};var hr=function(e,t){return e.map(((e,n)=>{let r=t[n];return e=(e=(e=e.filter((e=>e.needs.every((e=>r.has(e)))))).filter((e=>void 0===e.ifNo||!0!==e.ifNo.some((e=>r.has(e)))))).filter((e=>{if(0===e.wants.length)return!0;return e.wants.filter((e=>r.has(e))).length>=e.minWant}))}))};var dr=function(e,t,n,r,a){let o=[];for(let n=0;n0&&(l.ptrs.forEach((e=>{e[0]=n;let t=Object.assign({},s,{pointer:e});void 0!==s.unTag&&(t.unTag=s.unTag),o.push(t)})),!0===a.matchOne))return[o[0]]}return o};var gr=function(e,t,n,r={}){let a=n.one.cacheDoc(e),o=cr(a,t.hooks);return o=hr(o,a),t.always.length>0&&(o=o.map((e=>e.concat(t.always)))),o=function(e,t){return e.map(((e,n)=>{let r=t[n].length;return e=e.filter((e=>r>=e.minWords)),e}))}(o,e),dr(o,e,a,n,r)};var mr=function(e,t,n){let r=n.one.tagSet;if(!r.hasOwnProperty(t))return!0;let a=r[t].not||[];for(let t=0;t{if(!e.tag&&!e.chunk&&!e.unTag)return;let a=e.reason||e.match,u=o([e.pointer],t)[0];if(!0===e.safe){if(!1===mr(u,e.tag,r))return;if("-"===u[u.length-1].post)return}if(void 0!==e.tag&&(i(u,e.tag,n,e.safe,`[post] '${a}'`),"Noun"===e.tag&&l)){let t=u[u.length-1];l(t.text)?i([t],"Plural",n,e.safe,"quick-plural"):i([t],"Singular",n,e.safe,"quick-singular")}void 0!==e.unTag&&s(u,e.unTag,n,e.safe,a),e.chunk&&u.forEach((t=>t.chunk=e.chunk))}))},fr={lib:{buildNet:function(e){let t=this.methods().one.buildNet(e,this.world());return t.isNet=!0,t}},api:ir,methods:{one:{buildNet:ur,bulkMatch:gr,bulkTagger:pr}}};const vr=/ /,br=function(e,t){"Noun"===t&&(e.chunk=t),"Verb"===t&&(e.chunk=t)},yr=function(e,t,n,r){if(!0===e.tags.has(t))return null;if("."===t)return null;let a=n[t];if(a){if(a.not&&a.not.length>0)for(let t=0;t0)for(let t=0;t{let r=e.map((e=>e.text||"["+e.implicit+"]")).join(" ");var a;"string"!=typeof t&&t.length>2&&(t=t.slice(0,2).join(", #")+" +"),t="string"!=typeof t?t.join(", #"):t,console.log(` ${(a=r,""+a+"").padEnd(24)} → #${t.padEnd(22)} ${(e=>""+e+"")(n)}`)})(e,t,a),!0!=(s=t,"[object Array]"===Object.prototype.toString.call(s)))if("string"==typeof t)if(t=t.trim(),vr.test(t))!function(e,t,n,r){let a=t.split(vr);e.forEach(((e,t)=>{let o=a[t];o&&(o=o.replace(/^#/,""),yr(e,o,n,r))}))}(e,t,o,r);else{t=t.replace(/^#/,"");for(let n=0;nwr(e,t,n,r)))};var kr=wr;var Pr=function(e,t,n){t=t.trim().replace(/^#/,"");for(let r=0;r0)for(let e=0;e/),n=[];t.forEach((e=>{n=n.concat(function(e){if(!(e=e.trim()))return null;if(/^\[/.test(e)&&/\]$/.test(e)){let t=(e=(e=e.replace(/^\[/,"")).replace(/\]$/,"")).split(/,/);return t=t.map((e=>e.trim())).filter((e=>e)),t=t.map((e=>Ar({id:e}))),t}return[Ar({id:e})]}(e))})),n=n.filter((e=>e));let r=n[0];for(let e=1;e{let n=[],r=[e];for(;r.length>0;){let e=r.pop();n.push(e),e.children&&e.children.forEach((n=>{t&&t(e,n),r.push(n)}))}return n},xr=e=>"[object Array]"===Object.prototype.toString.call(e),Ir=e=>(e=e||"").trim(),Tr=function(e=[]){return"string"==typeof e?function(e){let t=e.split(/\r?\n/),n=[];t.forEach((e=>{if(!e.trim()||Cr.test(e))return;let t=(e=>{const t=/^( {2}|\t)/;let n=0;for(;t.test(e);)e=e.replace(t,""),n+=1;return n})(e);n.push({indent:t,node:Nr(e)})}));let r=function(e){let t={children:[]};return e.forEach(((n,r)=>{0===n.indent?t.children=t.children.concat(n.node):e[r-1]&&function(e,t){let n=e[t].indent;for(;t>=0;t-=1)if(e[t].indent{t[e.id]=e}));let n=Ar({});return e.forEach((e=>{if((e=Ar(e)).parent)if(t.hasOwnProperty(e.parent)){let n=t[e.parent];delete e.parent,n.children.push(e)}else console.warn(`[Grad] - missing node '${e.parent}'`);else n.children.push(e)})),n}(e):(jr(t=e).forEach(Ar),t);var t},Hr=function(e,t){let n="-> ";t&&(n=(e=>""+e+"")("→ "));let r="";return jr(e).forEach(((e,a)=>{let o=e.id||"";if(t&&(o=(e=>""+e+"")(o)),0===a&&!e.id)return;let i=e._cache.parents.length;r+=" ".repeat(i)+n+o+"\n"})),r},Dr=function(e){let t=jr(e);t.forEach((e=>{delete(e=Object.assign({},e)).children}));let n=t[0];return n&&!n.id&&0===Object.keys(n.props).length&&t.shift(),t},Gr={text:Hr,txt:Hr,array:Dr,flat:Dr},Er=function(e,t){return"nested"===t||"json"===t?e:"debug"===t?(console.log(Hr(e,!0)),null):Gr.hasOwnProperty(t)?Gr[t](e):e},Or=e=>{jr(e,((e,t)=>{e.id&&(e._cache.parents=e._cache.parents||[],t._cache.parents=e._cache.parents.concat([e.id]))}))},Fr=/\//;let Vr=class g{constructor(e={}){Object.defineProperty(this,"json",{enumerable:!1,value:e,writable:!0})}get children(){return this.json.children}get id(){return this.json.id}get found(){return this.json.id||this.json.children.length>0}props(e={}){let t=this.json.props||{};return"string"==typeof e&&(t[e]=!0),this.json.props=Object.assign(t,e),this}get(e){if(e=Ir(e),!Fr.test(e)){let t=this.json.children.find((t=>t.id===e));return new g(t)}let t=((e,t)=>{let n=(e=>"string"!=typeof e?e:(e=e.replace(/^\//,"")).split(/\//))(t=t||"");for(let t=0;te.id===n[t]));if(!r)return null;e=r}return e})(this.json,e)||Ar({});return new g(t)}add(e,t={}){if(xr(e))return e.forEach((e=>this.add(Ir(e),t))),this;e=Ir(e);let n=Ar({id:e,props:t});return this.json.children.push(n),new g(n)}remove(e){return e=Ir(e),this.json.children=this.json.children.filter((t=>t.id!==e)),this}nodes(){return jr(this.json).map((e=>(delete(e=Object.assign({},e)).children,e)))}cache(){return(e=>{let t=jr(e,((e,t)=>{e.id&&(e._cache.parents=e._cache.parents||[],e._cache.children=e._cache.children||[],t._cache.parents=e._cache.parents.concat([e.id]))})),n={};t.forEach((e=>{e.id&&(n[e.id]=e)})),t.forEach((e=>{e._cache.parents.forEach((t=>{n.hasOwnProperty(t)&&n[t]._cache.children.push(e.id)}))})),e._cache.children=Object.keys(n)})(this.json),this}list(){return jr(this.json)}fillDown(){var e;return e=this.json,jr(e,((e,t)=>{t.props=((e,t)=>(Object.keys(t).forEach((n=>{if(t[n]instanceof Set){let r=e[n]||new Set;e[n]=new Set([...r,...t[n]])}else if((e=>e&&"object"==typeof e&&!Array.isArray(e))(t[n])){let r=e[n]||{};e[n]=Object.assign({},t[n],r)}else xr(t[n])?e[n]=t[n].concat(e[n]||[]):void 0===e[n]&&(e[n]=t[n])})),e))(t.props,e.props)})),this}depth(){Or(this.json);let e=jr(this.json),t=e.length>1?1:0;return e.forEach((e=>{if(0===e._cache.parents.length)return;let n=e._cache.parents.length+1;n>t&&(t=n)})),t}out(e){return Or(this.json),Er(this.json,e)}debug(){return Or(this.json),Er(this.json,"debug"),this}};const zr=function(e){let t=Tr(e);return new Vr(t)};zr.prototype.plugin=function(e){e(this)};var $r={Noun:"blue",Verb:"green",Negative:"green",Date:"red",Value:"red",Adjective:"magenta",Preposition:"cyan",Conjunction:"cyan",Determiner:"cyan",Hyphenated:"cyan",Adverb:"cyan"};const Lr=function(e){if($r.hasOwnProperty(e.id))return $r[e.id];if($r.hasOwnProperty(e.is))return $r[e.is];let t=e._cache.parents.find((e=>$r[e]));return $r[t]};var Sr=function(e){const t={};return e.forEach((e=>{let{not:n,also:r,is:a,novel:o}=e.props,i=e._cache.parents;r&&(i=i.concat(r)),t[e.id]={is:a,not:n,novel:o,also:r,parents:i,children:e._cache.children,color:Lr(e)}})),Object.keys(t).forEach((e=>{let n=new Set(t[e].not);t[e].not.forEach((e=>{t[e]&&t[e].children.forEach((e=>n.add(e)))})),t[e].not=Array.from(n)})),t};const Mr=function(e){return e?"string"==typeof e?[e]:e:[]};var Br=function(e,t){return e=function(e,t){return Object.keys(e).forEach((n=>{e[n].isA&&(e[n].is=e[n].isA),e[n].notA&&(e[n].not=e[n].notA),e[n].is&&"string"==typeof e[n].is&&(t.hasOwnProperty(e[n].is)||e.hasOwnProperty(e[n].is)||(e[e[n].is]={})),e[n].not&&"string"==typeof e[n].not&&!e.hasOwnProperty(e[n].not)&&(t.hasOwnProperty(e[n].not)||e.hasOwnProperty(e[n].not)||(e[e[n].not]={}))})),e}(e,t),Object.keys(e).forEach((t=>{e[t].children=Mr(e[t].children),e[t].not=Mr(e[t].not)})),Object.keys(e).forEach((t=>{(e[t].not||[]).forEach((n=>{e[n]&&e[n].not&&e[n].not.push(t)}))})),e};var Jr=function(e,t){Object.keys(t).length>0&&(e=function(e){return Object.keys(e).forEach((t=>{e[t]=Object.assign({},e[t]),e[t].novel=!0})),e}(e)),e=Br(e,t);const n=function(e){const t=Object.keys(e).map((t=>{let n=e[t];const r={not:new Set(n.not),also:n.also,is:n.is,novel:n.novel};return{id:t,parent:n.is,props:r,children:[]}}));return zr(t).cache().fillDown().out("array")}(Object.assign({},t,e));return Sr(n)},Wr={one:{setTag:kr,unTag:Pr,addTags:Jr}};const qr=function(e){return"[object Array]"===Object.prototype.toString.call(e)},Kr={tag:function(e,t="",n){if(!this.found||!e)return this;let r=this.termList();if(0===r.length)return this;const{methods:a,verbose:o,world:i}=this;return!0===o&&console.log(" + ",e,t||""),qr(e)?e.forEach((e=>a.one.setTag(r,e,i,n,t))):a.one.setTag(r,e,i,n,t),this.uncache(),this},tagSafe:function(e,t=""){return this.tag(e,t,!0)},unTag:function(e,t){if(!this.found||!e)return this;let n=this.termList();if(0===n.length)return this;const{methods:r,verbose:a,model:o}=this;!0===a&&console.log(" - ",e,t||"");let i=o.one.tagSet;return qr(e)?e.forEach((e=>r.one.unTag(n,e,i))):r.one.unTag(n,e,i),this.uncache(),this},canBe:function(e){e=e.replace(/^#/,"");let t=this.model.one.tagSet;if(!t.hasOwnProperty(e))return this;let n=t[e].not||[],r=[];this.document.forEach(((e,t)=>{e.forEach(((e,a)=>{n.find((t=>e.tags.has(t)))&&r.push([t,a,a+1])}))}));let a=this.update(r);return this.difference(a)}};var Ur=Kr;var Rr=function(e){Object.assign(e.prototype,Ur)};var Qr={addTags:function(e){const{model:t,methods:n}=this.world(),r=t.one.tagSet;let a=(0,n.one.addTags)(e,r);return t.one.tagSet=a,this}};const _r=new Set(["Auxiliary","Possessive"]);var Xr=function(e){const{document:t,world:n}=e,r=n.model.one.tagSet;t.forEach((e=>{e.forEach((e=>{let t=Array.from(e.tags);e.tagRank=function(e,t){return e=e.sort(((e,n)=>{if(_r.has(e)||!t.hasOwnProperty(n))return 1;if(_r.has(n)||!t.hasOwnProperty(e))return-1;let r=t[e].children||[],a=r.length;return r=t[n].children||[],a-r.length})),e}(t,r)}))}))},Zr={model:{one:{tagSet:{}}},compute:{tagRank:Xr},methods:Wr,api:Rr,lib:Qr};const Yr=/([.!?\u203D\u2E18\u203C\u2047-\u2049\u3002]+\s)/g,ea=/^[.!?\u203D\u2E18\u203C\u2047-\u2049\u3002]+\s$/,ta=/((?:\r?\n|\r)+)/;var na=function(e){let t=[],n=e.split(ta);for(let e=0;e0&&(a.push(o),e[t]="")}return a};const sa={'"':'"',""":""","“":"”","‟":"”","„":"”","⹂":"”","‚":"’","«":"»","‹":"›","‵":"′","‶":"″","‷":"‴","〝":"〞","〟":"〞"},la=RegExp("["+Object.keys(sa).join("")+"]","g"),ua=RegExp("["+Object.values(sa).join("")+"]","g"),ca=function(e){if(!e)return!1;let t=e.match(ua);return null!==t&&1===t.length};var ha=function(e){let t=[];for(let n=0;n(e[t]=!0,e)),{});var xa=function(e,t){let n=[],r=[];if("number"==typeof(e=e||"")&&(e=String(e)),function(e){return"[object Array]"===Object.prototype.toString.call(e)}(e))return e;const a=e.split(Na);for(let e=0;e0?(n[n.length-1]+=o,n.push(t)):n.push(o+t),o=""):o+=t}return o&&(0===n.length&&(n[0]=""),n[n.length-1]+=o),n=Pa(n),n=wa(n),n=n.filter((e=>e)),n};const Ia=/\p{Letter}/u,Ta=/[\p{Number}\p{Currency_Symbol}]/u,Ha=/^[a-z]\.([a-z]\.)+/i,Da=/[sn]['’]$/;var Ga=function(e,t){let{prePunctuation:n,postPunctuation:r,emoticons:a}=t.one,o=e,i="",s="",l=Array.from(e);if(a.hasOwnProperty(e.trim()))return{str:e.trim(),pre:i,post:" "};let u=l.length;for(let e=0;e(s=e||"",""))),e=o,i=""),{str:e,pre:i,post:s}};var Ea=(e,t)=>{let{str:n,pre:r,post:a}=Ga(e,t);return{text:n,pre:r,post:a,tags:new Set}};var Oa=function(e,t){const n=t.model.one.unicode||{};let r=(e=e||"").split("");return r.forEach(((e,t)=>{n[e]&&(r[t]=n[e])})),r.join("")};var Fa=function(e){let t=e=(e=(e=e||"").toLowerCase()).trim();return e=(e=(e=e.replace(/[,;.!?]+$/,"")).replace(/\u2026/g,"...")).replace(/\u2013/g,"-"),!1===/^[:;]/.test(e)&&(e=(e=(e=e.replace(/\.{3,}$/g,"")).replace(/[",.!:;?)]+$/g,"")).replace(/^['"(]+/g,"")),""===(e=(e=e.replace(/[\u200B-\u200D\uFEFF]/g,"")).trim())&&(e=t),e=e.replace(/([0-9]),([0-9])/g,"$1$2")};const Va=/([A-Z]\.)+[A-Z]?,?$/,za=/^[A-Z]\.,?$/,$a=/[A-Z]{2,}('s|,)?$/,La=/([a-z]\.)+[a-z]\.?$/;var Sa=function(e){return function(e){return!0===Va.test(e)||!0===La.test(e)||!0===za.test(e)||!0===$a.test(e)}(e)&&(e=e.replace(/\./g,"")),e};var Ma=function(e,t){const n=t.methods.one.killUnicode;let r=e.text||"";r=Fa(r),r=n(r,t),r=Sa(r),e.normal=r};var Ba=function(e,t){const{methods:n,model:r}=t,{splitSentences:a,splitTerms:o,splitWhitespace:i}=n.one.tokenize;return e=a(e=e||"",t).map((e=>{let n=o(e,r);return n=n.map((e=>i(e,r))),n.forEach((e=>{Ma(e,t)})),n})),e};const Ja=/[ .][A-Z]\.? *$/i,Wa=/(?:\u2026|\.{2,}) *$/,qa=/\p{L}/u,Ka=/\. *$/,Ua=/^[A-Z]\. $/;var Ra=function(e,t){if(!1===qa.test(e))return!1;if(!0===Ja.test(e))return!1;if(3===e.length&&Ua.test(e))return!1;if(!0===Wa.test(e))return!1;let n=e.replace(/[.!?\u203D\u2E18\u203C\u2047-\u2049] *$/,"").split(" "),r=n[n.length-1].toLowerCase();return!0!==t.hasOwnProperty(r)||!0!==Ka.test(e)},Qa={one:{killUnicode:Oa,tokenize:{splitSentences:va,isSentence:Ra,splitTerms:xa,splitWhitespace:Ea,fromString:Ba}}};var _a={"&":"and","@":"at","%":"percent",plz:"please",bein:"being"};let Xa={},Za={};[[["approx","apt","bc","cyn","eg","esp","est","etc","ex","exp","prob","pron","gal","min","pseud","fig","jd","lat","lng","vol","fm","def","misc","plz","ea","ps","sec","pt","pref","pl","pp","qt","fr","sq","nee","ss","tel","temp","vet","ver","fem","masc","eng","adj","vb","rb","inf","situ","vivo","vitro","wr"]],[["dl","ml","gal","qt","pt","tbl","tsp","tbsp","km","dm","cm","mm","mi","td","hr","hrs","kg","hg","dg","cg","mg","µg","lb","oz","sq ft","hz","mps","mph","kmph","kb","mb","tb","lx","lm","fl oz","yb"],"Unit"],[["ad","al","arc","ba","bl","ca","cca","col","corp","ft","fy","ie","lit","ma","md","pd","tce"],"Noun"],[["adj","adm","adv","asst","atty","bldg","brig","capt","cmdr","comdr","cpl","det","dr","esq","gen","gov","hon","jr","llb","lt","maj","messrs","mlle","mme","mr","mrs","ms","mstr","phd","prof","pvt","rep","reps","res","rev","sen","sens","sfc","sgt","sir","sr","supt","surg"],"Honorific"],[["jan","feb","mar","apr","jun","jul","aug","sep","sept","oct","nov","dec"],"Month"],[["dept","univ","assn","bros","inc","ltd","co"],"Organization"],[["rd","st","dist","mt","ave","blvd","cl","cres","hwy","ariz","cal","calif","colo","conn","fla","fl","ga","ida","ia","kan","kans","minn","neb","nebr","okla","penna","penn","pa","dak","tenn","tex","ut","vt","va","wis","wisc","wy","wyo","usafa","alta","ont","que","sask"],"Place"]].forEach((e=>{e[0].forEach((t=>{Xa[t]=!0,Za[t]="Abbreviation",void 0!==e[1]&&(Za[t]=[Za[t],e[1]])}))}));var Ya=["anti","bi","co","contra","de","extra","infra","inter","intra","macro","micro","mis","mono","multi","peri","pre","pro","proto","pseudo","re","sub","supra","trans","tri","un","out","ex"].reduce(((e,t)=>(e[t]=!0,e)),{});let eo={"!":"¡","?":"¿Ɂ",'"':'“”"❝❞',"'":"‘‛❛❜’","-":"—–",a:"ªÀÁÂÃÄÅàáâãäåĀāĂ㥹ǍǎǞǟǠǡǺǻȀȁȂȃȦȧȺΆΑΔΛάαλАаѦѧӐӑӒӓƛæ",b:"ßþƀƁƂƃƄƅɃΒβϐϦБВЪЬвъьѢѣҌҍ",c:"¢©ÇçĆćĈĉĊċČčƆƇƈȻȼͻͼϲϹϽϾСсєҀҁҪҫ",d:"ÐĎďĐđƉƊȡƋƌ",e:"ÈÉÊËèéêëĒēĔĕĖėĘęĚěƐȄȅȆȇȨȩɆɇΈΕΞΣέεξϵЀЁЕеѐёҼҽҾҿӖӗễ",f:"ƑƒϜϝӺӻҒғſ",g:"ĜĝĞğĠġĢģƓǤǥǦǧǴǵ",h:"ĤĥĦħƕǶȞȟΉΗЂЊЋНнђћҢңҤҥҺһӉӊ",I:"ÌÍÎÏ",i:"ìíîïĨĩĪīĬĭĮįİıƖƗȈȉȊȋΊΐΪίιϊІЇіїi̇",j:"ĴĵǰȷɈɉϳЈј",k:"ĶķĸƘƙǨǩΚκЌЖКжкќҚқҜҝҞҟҠҡ",l:"ĹĺĻļĽľĿŀŁłƚƪǀǏǐȴȽΙӀӏ",m:"ΜϺϻМмӍӎ",n:"ÑñŃńŅņŇňʼnŊŋƝƞǸǹȠȵΝΠήηϞЍИЙЛПийлпѝҊҋӅӆӢӣӤӥπ",o:"ÒÓÔÕÖØðòóôõöøŌōŎŏŐőƟƠơǑǒǪǫǬǭǾǿȌȍȎȏȪȫȬȭȮȯȰȱΌΘΟθοσόϕϘϙϬϴОФоѲѳӦӧӨөӪӫ",p:"ƤΡρϷϸϼРрҎҏÞ",q:"Ɋɋ",r:"ŔŕŖŗŘřƦȐȑȒȓɌɍЃГЯгяѓҐґ",s:"ŚśŜŝŞşŠšƧƨȘșȿЅѕ",t:"ŢţŤťŦŧƫƬƭƮȚțȶȾΓΤτϮТт",u:"ÙÚÛÜùúûüŨũŪūŬŭŮůŰűŲųƯưƱƲǓǔǕǖǗǘǙǚǛǜȔȕȖȗɄΰυϋύ",v:"νѴѵѶѷ",w:"ŴŵƜωώϖϢϣШЩшщѡѿ",x:"×ΧχϗϰХхҲҳӼӽӾӿ",y:"ÝýÿŶŷŸƳƴȲȳɎɏΎΥΫγψϒϓϔЎУучўѰѱҮүҰұӮӯӰӱӲӳ",z:"ŹźŻżŽžƵƶȤȥɀΖ"},to={};Object.keys(eo).forEach((function(e){eo[e].split("").forEach((function(t){to[t]=e}))}));const no=/\//,ro=/[a-z]\.[a-z]/i,ao=/[0-9]/;var oo=function(e,t){let n=e.normal||e.text||e.machine;const r=t.model.one.aliases;if(r.hasOwnProperty(n)&&(e.alias=e.alias||[],e.alias.push(r[n])),no.test(n)&&!ro.test(n)&&!ao.test(n)){let t=n.split(no);t.length<=2&&t.forEach((t=>{""!==(t=t.trim())&&(e.alias=e.alias||[],e.alias.push(t))}))}return e};const io=/^\p{Letter}+-\p{Letter}+$/u;var so=function(e){let t=e.implicit||e.normal||e.text;t=t.replace(/['’]s$/,""),t=t.replace(/s['’]$/,"s"),t=t.replace(/([aeiou][ktrp])in'$/,"$1ing"),io.test(t)&&(t=t.replace(/-/g,"")),t=t.replace(/^[#@]/,""),t!==e.normal&&(e.machine=t)};var lo=function(e){let t=e.docs,n={};for(let e=0;ego(e,oo),machine:e=>go(e,so),normal:e=>go(e,Ma),freq:lo,offset:uo,index:co,wordCount:ho},methods:Qa,model:{one:{aliases:_a,abbreviations:Xa,prefixes:Ya,suffixes:{like:!0,ish:!0,less:!0,able:!0,elect:!0,type:!0,designate:!0},prePunctuation:{"#":!0,"@":!0,_:!0,"°":!0,"​":!0,"‌":!0,"‍":!0,"\ufeff":!0},postPunctuation:{"%":!0,_:!0,"°":!0,"​":!0,"‌":!0,"‍":!0,"\ufeff":!0},lexicon:Za,unicode:to,emoticons:{"<3":!0,"{let i=(e=e.toLowerCase().trim()).length;t.max&&i>t.max&&(i=t.max);for(let s=t.min;s{delete r[e]})),r};const yo={safe:!0,min:3};var wo={typeahead:function(e=[],t={}){let n=this.model();var r;t=Object.assign({},yo,t),r=e,"[object Object]"===Object.prototype.toString.call(r)&&(Object.assign(n.one.lexicon,e),e=Object.keys(e));let a=bo(e,t,this.world());return Object.keys(a).forEach((e=>{n.one.typeahead.hasOwnProperty(e)?delete n.one.typeahead[e]:n.one.typeahead[e]=a[e]})),this}};var ko={model:{one:{typeahead:{}}},api:vo,lib:wo,compute:po,hooks:["typeahead"]};v.extend(ee),v.extend(Kn),v.extend(cn),v.extend(or),v.extend(Zr),v.plugin(Te),v.extend(mo),v.plugin(k),v.extend(qe),v.extend(ko),v.extend(ze),v.extend(fr);var Po={addendum:"addenda",corpus:"corpora",criterion:"criteria",curriculum:"curricula",genus:"genera",memorandum:"memoranda",opus:"opera",ovum:"ova",phenomenon:"phenomena",referendum:"referenda",alga:"algae",alumna:"alumnae",antenna:"antennae",formula:"formulae",larva:"larvae",nebula:"nebulae",vertebra:"vertebrae",analysis:"analyses",axis:"axes",diagnosis:"diagnoses",parenthesis:"parentheses",prognosis:"prognoses",synopsis:"synopses",thesis:"theses",neurosis:"neuroses",appendix:"appendices",index:"indices",matrix:"matrices",ox:"oxen",sex:"sexes",alumnus:"alumni",bacillus:"bacilli",cactus:"cacti",fungus:"fungi",hippopotamus:"hippopotami",libretto:"libretti",modulus:"moduli",nucleus:"nuclei",octopus:"octopi",radius:"radii",stimulus:"stimuli",syllabus:"syllabi",cookie:"cookies",calorie:"calories",auntie:"aunties",movie:"movies",pie:"pies",rookie:"rookies",tie:"ties",zombie:"zombies",leaf:"leaves",loaf:"loaves",thief:"thieves",foot:"feet",goose:"geese",tooth:"teeth",beau:"beaux",chateau:"chateaux",tableau:"tableaux",bus:"buses",gas:"gases",circus:"circuses",crisis:"crises",virus:"viruses",database:"databases",excuse:"excuses",abuse:"abuses",avocado:"avocados",barracks:"barracks",child:"children",clothes:"clothes",echo:"echoes",embargo:"embargoes",epoch:"epochs",deer:"deer",halo:"halos",man:"men",woman:"women",mosquito:"mosquitoes",mouse:"mice",person:"people",quiz:"quizzes",rodeo:"rodeos",shoe:"shoes",sombrero:"sombreros",stomach:"stomachs",tornado:"tornados",tuxedo:"tuxedos",volcano:"volcanoes"},Ao={Comparative:"true¦bett1f0;arth0ew0in0;er",Superlative:"true¦earlier",PresentTense:"true¦bests,sounds",Condition:"true¦lest,unless",PastTense:"true¦began,came,d4had,kneel3l2m0sa4we1;ea0sg2;nt;eap0i0;ed;id",Participle:"true¦0:0A;a07b02c00dXeat0fSgQhPoJprov0rHs7t6u4w1;ak0ithdra03o2r1;i03uZ;k0v0;nd1pr05;ergoJoJ;ak0hHo3;e9h7lain,o6p5t4un3w1;o1um;rn;g,k;ol0reT;iRok0;ught,wn;ak0o1ruL;ne,wn;en,wn;ewriOi1uK;dd0s0;ut3ver1;do4se0t1;ak0h2;do2g1;roH;ne;ast0i7;iv0o1;ne,tt0;all0loCor1;bi3g2s1;ak0e0;iv0oA;dd0;ove,r1;a6eamt,iv0u1;nk;hos0lu1;ng;e4i3lo2ui1;lt;wn;tt0;at0en,gun;r2w1;ak0ok0;is0;en",Gerund:"true¦accord0be0doin,go0result0stain0;ing",Expression:"true¦a0Yb0Uc0Sd0Oe0Mfarew0Lg0FhZjeez,lWmVnToOpLsJtIuFvEw7y0;a5e3i1u0;ck,p;k04p0;ee,pee;a0p,s;!h;!a,h,y;a5h2o1t0;af,f;rd up,w;atsoever,e1o0;a,ops;e,w;hoo,t;ery w06oi0L;gh,h0;! 0h,m;huh,oh;here nPsk,ut tut;h0ic;eesh,hh,it,oo;ff,h1l0ow,sst;ease,s,z;ew,ooey;h1i,mg,o0uch,w,y;h,o,ps;! 0h;hTmy go0wT;d,sh;a7evertheless,o0;!pe;eh,mm;ah,eh,m1ol0;!s;ao,fao;aCeBi9o2u0;h,mph,rra0zzC;h,y;l1o0;r6y9;la,y0;! 0;c1moCsmok0;es;ow;!p hip hoor0;ay;ck,e,llo,y;ha1i,lleluj0;ah;!ha;ah,ee4o1r0;eat scott,r;l1od0sh; grief,bye;ly;! whiz;ell;e0h,t cetera,ureka,ww,xcuse me;k,p;'oh,a0rat,uh;m0ng;mit,n0;!it;mon,o0;ngratulations,wabunga;a2oo1r0tw,ye;avo,r;!ya;h,m; 1h0ka,las,men,rgh,ye;!a,em,h,oy;la",Negative:"true¦n0;ever,o0;n,t",QuestionWord:"true¦how3wh0;at,e1ich,o0y;!m,se;n,re; come,'s",Reflexive:"true¦h4it5my5o1the0your2;ir1m1;ne3ur0;sel0;f,ves;er0im0;self",Plural:"true¦dick0gre0ones,records;ens","Unit|Noun":"true¦cEfDgChBinchAk9lb,m6newt5oz,p4qt,t1y0;ardEd;able1b0ea1sp;!l,sp;spo1;a,t,x;on9;!b,g,i1l,m,p0;h,s;!les;!b,elvin,g,m;!es;g,z;al,b;eet,oot,t;m,up0;!s",Value:"true¦a few",Imperative:"true¦bewa0come he0;re","Plural|Verb":"true¦leaves",Demonym:"true¦0:15;1:12;a0Vb0Oc0Dd0Ce08f07g04h02iYjVkTlPmLnIomHpEqatari,rCs7t5u4v3welAz2;am0Gimbabwe0;enezuel0ietnam0I;gAkrai1;aiwTex0hai,rinida0Ju2;ni0Prkmen;a5cotti4e3ingapoOlovak,oma0Spaniard,udRw2y0W;ede,iss;negal0Cr09;sh;mo0uT;o5us0Jw2;and0;a2eru0Fhilippi0Nortugu07uerto r0S;kist3lesti1na2raguay0;ma1;ani;ami00i2orweP;caragu0geri2;an,en;a3ex0Lo2;ngo0Drocc0;cedo1la2;gasy,y07;a4eb9i2;b2thua1;e0Cy0;o,t01;azakh,eny0o2uwaiI;re0;a2orda1;ma0Ap2;anO;celandic,nd4r2sraeli,ta01vo05;a2iB;ni0qi;i0oneU;aiAin2ondur0unO;di;amEe2hanai0reek,uatemal0;or2rm0;gi0;ilipino,ren8;cuadoVgyp4mira3ngli2sto1thiopi0urope0;shm0;ti;ti0;aPominUut3;a9h6o4roat3ub0ze2;ch;!i0;lom2ngol5;bi0;a6i2;le0n2;ese;lifor1m2na3;bo2eroo1;di0;angladeshi,el6o4r3ul2;gaE;azi9it;li2s1;vi0;aru2gi0;si0;fAl7merBngol0r5si0us2;sie,tr2;a2i0;li0;genti2me1;ne;ba1ge2;ri0;ni0;gh0r2;ic0;an",Organization:"true¦0:4S;a3Vb3Dc2Qd2Ie2Ef28g20h1Ui1Qj1Ok1Ml1Hm13n0Qo0Np0Dqu0Cr03sUtHuCv9w3xiaomi,y1;amaha,m1Cou1w1C;gov,tu3E;a4e2iki1orld trade organizati35;leaSped0P;lls fargo,st1;fie2Jinghou2T;l1rner br3W;gree3Ll street journ2Km1F;an halPeriz2Zisa,o1;dafo30l1;kswagNvo;b4kip,n2ps,s1;a tod3Cps;es3Oi1;lev3Hted natio3E;er,s; mobi34aco beSd bPeAgi frida9h3im horto3Cmz,o1witt3F;shi4By1;ota,s r 06;e 1in lizzy;b3carpen3Ldaily ma3Fguess w2holli0rolling st22s1w2;mashing pumpki37uprem0;ho;ea1lack eyed pe3Zyrds;ch bo1tl0;ys;l2n3Rs1xas instrumen1U;co,la m1F;efoni0Kus;a8cientology,e5ieme2Zmirnoff,np,o3pice gir6quare0Ata1ubaru;rbuc1to35;ks;ny,undgard1;en;a2x pisto1;ls;g1Xrs;few2Ninsbury33lesfor03msu2F;.e.m.,adiohead,b8e4o1yana3D;man empi1Yyal 1;b1dutch she4;ank;a3d 1max,vl21;bu1c2Bhot chili peppe2Zlobst2O;ll;ders dige1Ml madrid;c,s;ant3Bizno2T;a8bs,e5fiz2Jhilip4i3r1;emier 1udenti1E;leagTo2L;nk floyd,zza hut; morrBs;psi2tro1uge0E;br34chi0Tn34;!co;lant2Vn1yp17; 2ason28da2Q;ld navy,pec,range juli2xf1;am;us;aAb9e6fl,h5i4o1sa,vid3wa;k2tre dame,vart1;is;ia;ke,ntendo,ss0QvZ;l,s;c,st1Ptflix,w1; 1sweek;kids on the block,york0D;a,c;nd23s2t1;ional aca2Qo,we0V;a,c02d0T;aDcdonaldCe9i6lb,o3tv,y1;spa1;ce;b1Unsanto,ody blu0t1;ley cr1or0U;ue;c2t1;as,subisO;helin,rosoft;dica2rcedes benz,talli1;ca;id,re;'s,s;c's milk,tt1Az25;'ore0Ba3e1g,ittle caesa1Q;novo,x1;is,mark,us; 1bour party;pres0Ez boy;atv,fc,kk,lm,m1od1P;art;iffy lu0Soy divisi0Kpmorgan1sa;! cha0A;bm,hop,k3n1tv;g,te1;l,rpol;ea;a5ewlett pack1Wi3o1sbc,yundai;me dep1n1Q;ot;tac1zbollah;hi;lliburt09sbro;eneral 6hq,ithub,l5mb,o2reen d0Pu1;cci,ns n ros0;ldman sachs,o1;dye1g0I;ar;axo smith kli05encoX;electr0Om1;oto10;a5bi,c barcelo4da,edex,i2leetwood m04o1rito l0H;rd,xcZ;at,fa,nancial1resto00; tim0;na;cebook,nnie mae;b0Bsa,u3xxon1; m1m1;ob0K;!rosceptics;aiml0Ee6isney,o4u1;nkin donu2po10ran dur1;an;ts;j,w j1;on0;a,f lepp12ll,peche mode,r spieg02stiny's chi1;ld;aJbc,hFiDloudflaCnn,o3r1;aigsli5eedence clearwater reviv1ossra09;al;c7inba6l4m1o0Est09;ca2p1;aq;st;dplSg1;ate;se;a c1o chanQ;ola;re;a,sco1tigroup;! systems;ev2i1;ck fil-a,na daily;r1y;on;d2pital o1rl's jr;ne;bury,ill1;ac;aEbc,eBf9l5mw,ni,o1p,rexiteeU;ei3mbardiIston 1;glo1pizza;be;ng;o2ue c1;roV;ckbuster video,omingda1;le; g1g1;oodriL;cht2e ge0rkshire hathaw1;ay;el;cardi,idu,nana republ3s1xt5y5;f,kin robbi1;ns;ic;bYcTdidSerosmith,iRlKmEnheuser-busDol,pple9r6s4u3v2y1;er;is,on;di,todesk;hland o1sociated E;il;by4g2m1;co;os; compu2bee1;'s;te1;rs;ch;c,d,erican3t1;!r1;ak; ex1;pre1;ss; 5catel2ta1;ir;!-lu1;ce1;nt;jazeera,qae1;da;g,rbnb;as;/dc,a3er,tivision1;! blizz1;ard;demy of scienc0;es;ba",Possessive:"true¦its,my,our0thy;!s","Noun|Verb":"true¦0:9T;1:A7;2:93;3:A0;4:9O;5:9Z;6:9H;7:8K;8:7I;9:A5;A:90;B:8U;C:8A;a9Lb8Nc7Fd6Oe6Df5Pg5Fh53i4Vj4Sk4Pl4Dm3Zn3Uo3Rp2Rqu2Qr20s0Jt02u00vVwGyFzD;ip,oD;ne,om;awn,e6Cie65;aOeMhJiHoErD;ap,e9Link2;nd0rDuB;kDry,sh5Eth;!shop;ck,nDpe,re,sh;!d,g;e83iD;p,sD;k,p0t2;aDed,lco8T;r,th0;it,lk,rEsDt4ve,x;h,te;!ehou1ra9;aGen5CiFoD;iDmAte,w;ce,d;be,ew,sA;cuum,l49;pDr7;da5gra6Blo67;aReQhrPiOoMrGuEwiDy5W;n,st;nDrn;e,n7L;aGeFiEoDu6y;t,ub2;bu5ck4Hgg0m,p;at,k,nd;ck,de,in,nsDp,v7G;f0i8O;ll,ne,p,r4Vss,t91uD;ch,r;ck,de,e,le,me,p,re;e5Tow,u6;ar,e,ll,mp0st,xt;g,lDng2rg7Ms5x;k,ly;a0Rc0Me0Jh0Ei0Ck0Bl09m08n06o05pXquaCtKuFwD;ea85iD;ng,pe,t4;bGit,m,ppErD;fa3ge,pri1v2T;lDo6P;e6My;!je8;aMeLiKoHrEuDy2;dy,ff,mb2;a82eEiDo5Mugg2;ke,ng;am,ss,t4;ckEop,p,rD;e,m;ing,pi2;ck,nk,t4;er,m,p;ck,ff,ge,in,ke,lEmp,nd,p2rDte,y;!e,t;k,l;aJeIiHlGoFrDur,y;ay,e53inDu3;g,k2;ns88t;a5Nit;ll,n,r84te;ed,ll;m,n,rk;b,uB;aDee1Sow;ke,p;a5Ge4Ci2o50;eep,iDou4;ce,p,t;ateboa7Gi;de,gnDl2Unk,p,ze;!al;aGeFiEoDuff2;ck,p,re,w;ft,p,v0;d,i3Wlt0;ck,de,pe,re,ve;aEed,nDrv1It;se,t2M;l,r4t;aGhedu2oCrD;aEeDibb2o3X;en,w;pe,t4;le,n,r2L;cDfegua70il,mp2;k,rifi3;aZeHhy6JiGoEuD;b,in,le,n,s5V;a6ck,ll,oDpe,u5;f,t;de,ng,ot,p,s1V;aTcSdo,el,fQgPje8lOmMnLo17pJque6sFturn,vDwa6T;eDi26;al,r1;er72oFpe8tEuD;lt,me;!a53;l6Zrt;air,eaDly,o51;l,t;dezvo2Xt;aDedy;ke,rk;ea1i4E;a6Gist0r5L;act6Wer1Uo6ZuD;nd,se;a36o6D;ch,s6E;c1Cge,iEke,lly,nDp1Vt1V;ge,k,t;n,se;es69iv0;a04e00hYiXlToNrEsy4uD;mp,n4rcha1sh;aKeIiHoDu4M;be,ceFdu3fi2grDje8mi1p,te6;amDe6U;!me;ed,ss;ce,de,nt;sDy;er6As;cti3i1;iHlFoEp,re,sDuBw0;e,i5Wt;l,p;iDl;ce,sh;nt,s5T;aEce,e30uD;g,mp,n7;ce,nDy;!t;ck,le,n16pe,tNvot;a1oD;ne,tograph;ak,eFnErDt;fu53mA;!c30;!l,r;ckJiInHrFsEtDu1y;ch,e9;s,te;k,tD;!y;!ic;nt,r,se;!a7;bje8ff0il,oErDutli3Over49;bAd0ie9;ze;a4PeFoDur1;d,tD;e,i3;ed,gle8tD;!work;aMeKiIoEuD;rd0;ck,d3Pld,nEp,uDve;nt,th;it5CkD;ey;lk,n49rr5AsDx;s,ta29;asuCn4SrDss;ge,it;il,nFp,rk3UsEtD;ch,t0;h,k,t0;da5n0oeuvC;aLeJiHoEuD;mp,st;aEbby,ck,g,oDve;k,t;d,n;cDft,mAnHst;en1k;aDc0Ne4vJ;ch,d,k,p,se;bEcDnd,p,t4un4;e,k;el,o2T;eEiDno4D;ck,d,ll,ss;el,y;aEo1NuD;i3mp;m,zz;mpJnEr45ssD;ue;c1Qdex,fluGha2k,se2GteDvoi3;nt,rD;e6fa3viD;ew;en3;a8le29;aJeHiGoEuD;g,nt;l39no2Cok,pDr1u1;!e;ghli1Eke,nt,re,t;aDd7lp;d,t;ck,mGndFrEsh,tDu9;ch,e;bo3Wm,ne4Dve6;!le;!m0;aLear,ift,lJossIrFuD;arDe49lp,n;antee,d;aEiDouBumb2;ll,nd,p;de,sp;ip;oDue;ss,w;g,in,me,ng,s,te,ze;aZeWiRlNoJrFuD;ck,el,nDss,zz;c38d;aEoDy;st,wn;cDgme,me,nchi1;tuC;cFg,il,ld,rD;ce,e29mDwa31;!at;us;aFe0Vip,oDy;at,ck,od,wD;!er;g,ke,me,re,sh,vo1E;eGgFlEnDre,sh,t,x;an3i0Q;e,m,t0;ht,uC;ld;aEeDn3;d,l;r,tuC;ce,il,ll,rm,vo2W;cho,d7ffe8nMsKxFyeD;!baD;ll;cGerci1hFpDtra8;eriDo0W;en3me9;au6ibA;el,han7u1;caDtima5;pe;count0d,vy;a01eSiMoJrEuDye;b,el,mp,pli2X;aGeFiEoD;ne,p;ft,ll,nk,p,ve;am,ss;ft,g,in;cEd7ubt,wnloD;ad;k,u0E;ge6p,sFt4vD;e,iDor3;de;char7gui1h,liEpD;at4lay,u5;ke;al,bKcJfeIlGmaBposAsEtaD;il;e07iD;gn,re;ay,ega5iD;ght;at,ct;li04rea1;a5ut;b,ma7n3rDte;e,t;a0Eent0Dh06irc2l03oKrFuD;be,e,rDt;b,e,l,ve;aGeFoEuDy;sh;p,ss,wd;dAep;ck,ft,sh;at,de,in,lTmMnFordina5py,re,st,uDv0;gh,nDp2rt;s01t;ceHdu8fli8glomeIsFtDveN;a8rD;a6ol;e9tru8;ct;ntDrn;ra5;bHfoGmFpD;leDouBromi1;me9;aBe9it,u5;rt;at,iD;ne;lap1oD;r,ur;aEiDoud,ub;ck,p;im,w;aEeDip;at,ck,er;iGllen7nErD;ge,m,t;ge,nD;el;n,r;er,re;ke,ll,mp,noe,pGrXsFtEuDve;se,ti0I;alog,ch;h,t;!tuC;re;a03eZiXlToPrHuEyD;pa11;bb2ck2dgEff0mp,rDst,zz;den,n;et;anJeHiFoadEuD;i1sh;ca6;be,d7;ge;aDed;ch,k;ch,d;aFg,mb,nEoDrd0tt2x,ycott;k,st,t;d,e;rd,st;aFeBiDoYur;nk,tz;nd;me;as,d,ke,nd,opsy,tD;!ch,e;aFef,lt,nDt;d,efA;it;r,t;ck,il,lan3nIrFsEtt2;le;e,h;!gDk;aDe;in;!d,g,k;bu1c05dZge,iYlVnTppQrLsIttGucEwaD;rd;tiD;on;aDempt;ck;k,sD;i6ocia5;st;chFmD;!oD;ur;!iD;ve;eEroa4;ch;al;chDg0sw0;or;aEt0;er;rm;d,m,r;dreHvD;an3oD;ca5;te;ce;ss;cDe,he,t;eFoD;rd,u9;nt;nt,ss;se",Actor:"true¦0:7C;1:7H;2:6B;3:7G;4:7P;5:7L;6:72;a6Pb64c4Xd4De43f3Tg3Ch31i2Vj2Rkin2Ql2Lm27n20o1Tp0Wqu0Ur0KsRtKuIvFw9yo7;gi,ut7;h,ub0;aBeAi9o8r7;estl0it0;m2rk0;fe,nn0t2Cza2I;atherm2ld0;ge earn0it0nder0rri1;eter8i7oyG;ll5Sp,s41;an,ina2V;n7s0;c6Wder04;aoisea24eAherapi5iktok0o9r7ut1yco6;a7endseMo45;d0mp,nscri0Cvel0;ddl0u1H;a0Rchn8en7na4st0;ag0;i3Qo0E;aiYcVeShQiNki0mu27oKpHquaGtCu8wee7;p0theart;lt2per8r7;f0ge6viv1;h7inten0Jst5Kvis1;ero,um2;a9ep8r7;ang0eam0;bro2Oc2Pfa2Omo2Osi21;ff0tesm2;tt0;ec8ir2Eo7;kesp5Bu0N;ia5Lt3;l8me6Cn,rcere7ul;r,ss;di0oi5;n8s7;sy,t0;g0n0;am2ephe1Jow7;girl,m2r2R;cretJnior cit3Hr7;gea4v7;a4it1;hol4Zi8reen7ulpt1;wr2D;e02on;l1nt;aFeAo9u7;l0nn7;er up,ingF;g42le mod41of0;a51c9fug2Rpo34searRv7;ere4Wolution7;ary;e7luZru23;ptio3V;bbi,dic5Xpp0;arter7e31;back;aZeXhTiSlPoLr9sycho8u7;nk,p34;logi5;aHeEiCo7;dAfess1g8ph49s7;pe2Mtitu53;en7ramm0;it1y;igy,uc0;est4Pme mini0Vnce7s3G;!ss;a8si7;de4;ch0;ctiti3Bnk0Q;dca0Pet,li7pula52rnst44;c2Ktic7;al scie7i2;nti5;a7umb0;nn0y7;er,ma4Nwright;lgrim,one0;a9iloso8otogra8ra7ysi1X;se;ph0;ntom,rmaci5;r7ssi1V;form0s6;i3Gl,nel40r9st1tr7wn;i7on;arXot;ent4Yi44tn0;ccupa4ffCp9r8ut7;ca5l0C;ac4Kganiz0ig2Hph2;er3t7;i1Lomet7;ri5;ic0spring;aCeAie4Zo8u7;n,rser3L;b7mad,vi4X;le2Xo4F;i7mesis,phew;ce,ghb1;nny,rr3t20;aFeEiBo8u7yst21;m9si18;der3gul,m8n7th0;arEk;!my;ni8s7;f03s0Kt0;on,st0;chan1Tnt1rcha4;giAk0n9rtyr,t7y1;e,riar7;ch;ag0iac;ci2stra3K;a8e2Cieutena4o7;rd,s0v0;bor0d8ndlo7ss,urea3Hwy0ym2;rd;!y;!s2A;anitor ,e9o8u7;ggl0;gg0urna2W;st0;c6dol,llu3Wmmigra4n7;-lAc1Sfa4habi44nov3s8ve7;nt1stig3;pe0Pt7;a1Hig3ru0O;aw;airGeCistoBo9u7ygie1M;man7sba2J;!ita9;bo,st7usekO;age,e3R;ri2;ir,r7;m8o7;!ine;it;dress0sty2E;aMeJhostHirl28ladi3oDrand8u7;e5ru;cAdaugTfa9m8pa7s6;!re4;a,o7;th0;hi1D;al8d7lf0;!de3C;ie,k7te28;eep0;!wr7;it0;isha,n7;i7tl06;us;mbl0rden0;aFella,iBo8r7;eela2Pie1R;e,re7ster pare4;be1Jm2r7st0;unn0;an31g9lmm19nanci0r7tt0;e7st la2J; marsh2Qfig7m2;ht0;rm0th0;conoFdElectriDm9n8x7;amin0cellency,i2B;emy,trepreneur,vironmenta1K;c9p7;er1loye7;e,r;ee;ci2;it1;mi5;aLeCi9ork,ri8u7we03;de,tche2I;ft0vK;ct3eti8plom2Ire7va;ct1;ci2ti2;aEcor3fencDi0JnBputAs8tectNvel7;op0;ce1He7ign0;rt0;ee,y;iz7;en;em2;c6l0;dAnc0redev9ught7;er7;! ;il;!dy;a06e04fo,hXitizenWlToCrAu7;r3stomer7;! representat7;ive;e3it7;ic;-work0lJmGnAord9rpor1Nu7wboy;n7ri0sin ;ciUte1R;in3;fidantBgressTsAt7;e0Lr7;ibut1o7;ll0;tab14ul1P;!e;edi2m7pos0rade;a0FeRissi7;on0;leag9on8um7;ni5;el;ue;e7own;an0r7;ic,k;!s;aAe8i7um;ld;erle7f;ad0;ir8nce7plGract0;ll1;m2wJ;lebri7o;ty;dCptBr7shi0;e8pe7;nt0;r,t7;ak0;ain;et;aNeMiKlogg0oFrCu7;dd0Gild0rglAsiness7;m2p8w7;om2;ers6;ar;i8o7;!k0th0;cklay0de,gadi0;hemi2oge9y7;!frie7;nd;ym2;an;cyc7sS;li5;atbox0ings;by,nk0r7;b0on8te7;nd0;!e08;c05dXge4nRpMrIsGtBu8yatull7;ah;nt8t7;h1oH;!ie;h9t7;e7orney;nda4;ie5le7;te;sis01tron7;aut,om0;chbis9isto8tis7;an,t;crV;hop;ostAp7;ari7rentiT;ti6;on;le;aAcest1im3nou9y7;bo7;dy;nc0;ly5rc7;hi5;mi9v7;entur0is1;er;ni8r7;al;str3;at1;or;counCquaintanBrobAt7;ivi5or,re7;ss;st;at;ce;ta4;nt","Adj|Noun":"true¦0:1F;1:1M;a1Db17c0Vd0Se0Nf0Eg0Bh09i07ju06l03mXnVoTpOrJsCt8u5v2watershed;a2ision10;gabo5nilla,ria2;b0Wnt;ndergr2pstairs;adua14ou2;nd;a4e2oken,ri0;en,r2;min0rori13;boo,n;age,e6ilv0Glack,o4quat,ta3u2well;bordina0Xper6;b0Mndard;ciali0Yl2vereign;e,ve1;cret,n2ri0;ior;a5e3ou2ubbiM;nd,tiZ;ar,bCl0Ynt0p2side1;resent0Xublican;ci0Qsh;a5eriodic0last11otenti0r2;emi3incip0o2;!fession0;er,um;rall5st,tie1;ff2pposi0Hv0;ens0Qi0D;agg02ov2;el;a6e4iniatKo2;bi02der08r2;al,t0;di2tr0P;an,um;le,riH;attPi3u2;sh;ber0ght,qD;stice,veniU;de0mpressioZn2;cumbe1dividu0no0Fsta1terim;alf,o2umdrum;bby,melG;en3old,ra2;ph0Dve;er0ious;a8e6i5l4u2;git05t2;ure;uid;ne;llow,m2;aGiM;ir,t,vo2;riOuriO;l4p02x2;c2ecutWpeX;ess;d2iK;er;ar3e2;mographWrivQ;k,l3;hiGlassUo3rude,unn2;ing;m6n2operM;creCstitue1te3vertab2;le;mpor2nt;ary;ic,m3p2;anion,lex;er3u2;ni8;ci0;e6lank,o5r2;i3u2;te;ef;ttom,urgeois;st;cademCd9l5n3r2;ab,ctB;im0tarctA;al;e4tern2;at2;ive;rt;oles2ult;ce1;nt;ic","Adj|Past":"true¦0:4C;1:40;2:45;3:42;4:3B;a3Tb3Ic2Vd2Ae22f1Wg1Th1Qi1Hj1Ekno1Dl18m13n10o0Vp0Lqu0Jr07sKtEuBvAw5yellow0;a8ea7o5rinkl0;r5u3N;n,ri0;k2Qth3;rp0sh0tY;ari0e1M;n5pd1s0;cov3derstood,i5;fi0t0;a8hreat2Ki7ouTr5urn0wi42;a5imm0ou28;ck0in0pp0;ed,r0;m0nn0r5;get0ni2K;aPcLeJhHimGm0Hoak0pEt8u5;bsid3Fgge3Vs5;pe5ta2P;ct0nd0;a9e8i26ok0r6u5;ff0nn0;ength28ip5;ed,p0;am0reotyp0;in0t0;eci5ik0oI;al35fi0;pSul1;a5ock0ut;d0r0;a5c1Dle2t2S;l0s3Jt0;a7or6r5;at5e1W;ch0;r0tt3;t5ut0;is4ur1;aFe6o5;tt0;cBdJf22gAje2l9m0Knew0p8qu7s5;eTpe2t5;or0ri2;e34ir0;e1lac0;at0e2H;ist3ul1;eiv0o5ycl0;mme2Crd0v3;in0lli0ti4;a5ot0;li4;aCer2RiBlAo9r5ump0;e7i2Go5;ce27d5lo14nou2Spos0te2v0;uc0;fe15ocDp0Fss0;i2Cli1D;ann0e24uT;ck0erc0ss0;ck0i29r5st0;allMk0;bse8c7rgan25ver5;lo5whelm0;ok0;cupi0;rv0;e6o5;t0uri12;ed0gle2;a7e6ix0o5ut0;di4t0Xu1Y;as07lt0;n5rk0;ag0ufact05;e7i6o5;ad0ck0st;cens0mit0st0;ft,v5;el0;tt0wn;a6o0Xu5;dg0s13;gg0;llumin1mpBn5sol1;br0cre1Ddebt0f9jUt6v5;it0olv0;e5ox0Q;gr1n5re1V;d0si4;e2l1o1O;li0oVr5;ov0;amm3e1o5;ok0r5;ri4;ift0r6u5;a14id0;i0Kown;a9e8i7lavo0Goc0Cr5;a5i0oz0S;ctEg13m0;ni04tt0x0;ar0;d0il0;duc1l1mBn9quipp0s8x5;agger1p5te0Q;a0Pe5os0;ct0rie1A;cap0tabliX;gFha18s5;ur0;a0Xbarra0L;aMeEi6r5;a00i0;gni4miniRre2s5;aAc7grun0Et5;o5re0Gurb0;rt0;iplVou5;nt0r5;ag0;bl0;cBdQf9l8pre0Ara7t6v5;elop0ot0;ail0ermP;ng0;ay0ight0;e5in0o0M;rr0;ay0enTor1;m5t0z0;ag0p5;en0;aQeMhJlIoAr7u5;lt5r0stom04;iv1;a6owd0u5;sh0;ck0mp0;d0loBm8n5ok0v3;centr1f6s5troD;id3olid1;us0;b6pl5;ic1;in0;r0ur0;assi4os0utt3;ar6i5;ll0;g0m0;lebr1n7r5;ti4;fi0;tralK;g0lcul1;aEiDlAo8r6urn5;ed,t;ok5uis0;en;il0r0t5und;tl0;e6i5;nd0;ss0;as0;k0laNs0tt3;bandQcOdLfJg0lGmaz0nEppCrm0ssAu6wa5;rd0;g6thor5;iz0;me5;nt0;o7u5;m0r0;li0re5;ci1;im1ticip1;at0;a6leg0t3;er0;rm0;fe2;ct0;ju6o8va5;nc0;st0;ce5knowledg0;pt0;on0;ed",Singular:"true¦0:5H;1:5F;2:4U;3:4Q;4:50;5:55;6:5J;a4Yb4Hc3Kd32e2Uf2Lg2Gh25in21j20k1Zl1Sm1Jn1Fo19p0Pqu0Or0DsXtKuFvAw7x r54yo yo;a7ha3Mo3N;f3i4Nt0Ey7;! arou36;arAe8ideo ga2No7;cabu4Fl58;gMr7t;di4Vt1V;iety,ni4L;n9p2Xr8s 7;do40s5A;bani1in0;coordinat37der7;estima1to21we3Y; rex,aIeHhFiDoCr9u8v7;! show;m2Ln2rntJto1B;agedy,ib7o4A;e,u7;n0ta42;ni1p2rq3I;c,er,m7;etD;ing7ree23;!y;am,mp3C;ct2le6x return;aLcKeIhor4MiHkFoEpin off,tBu9y7;ll7ner4Ist4P;ab2U;b7i1n25per bowl,rro1U;st3Itot0;at8ipe2Do1Irate4Eudent7;! lo0G;i36u1;ft ser4Hmeo1F;elet5i7;ll,r3R;b35gn2Qte;ab2Gc7min38;t,urity gua2K;e6ho2V;bbatic0la3Fndwi0Opi5;av5eBhetor2i8o7;de6om,w;t8v7;erb29;e,u0;bBc9f7publ2r0Xspi1;er7orm3;e6r0;i7ord label;p2Et0;a1u42;estion mark,ot2C;aNeKhoJiGlEoCr8u7yram1C;ddi3DpCrpo1Gs3F;e9o7;bl3Vs7;pe3Fta1;dic1Omi1Cp1Nroga3Rss relea1C;p7rt0;py;a7ebisci1;q2Ate;cn2e8g7;!gy;!r;ne call,tocoI;anut,d8r7t0yo1;cen3Fsp3G;al,est0;nop4r8t7;e,hog5;adi0Yi2R;atme0bj3Bc9pia1rde0thers,utspok5ve7wn3;n,r7;ti0Mview;cu8e7;an;pi3;ar9it8ot7umb3;a2Bhi2N;e,ra1;cot2ra33;aDeAi8o7ur0;nopo4p15rni2Jsq1Oti32uld;c,li0Yn07s7tt5;chief,si30;d8nu,t7;al,i3;al,ic;gna1mm0nd12rsupi0te7yf4;ri0;aBegAi9u7;ddi1n7;ch;ght bulb,me,p06ving room; 8e0J;bor11y 7;up;eyno1itt5;el4ourn0;c9dices,itia2Kni22s8tel0Jvert7;eb1H;e25titu1;en2Hi2Q;aGeCighBo8u7;man right,s1Z;me7rmoDsp1Dtb0I;! r7;un; scho0WriW;a7i1K;d7v5; start,pho7;ne;ndful,sh brown,v5ze;a9elat0Glaci3r7ul4yp1P;an7enadi3id;a19d slam,ny;df4r7;l2ni1F;aEeti1EiDlu1oAr8un7;er0;ee market,i7onti3;ga1;l4ur7;so7;me;eNref4;br2mi4;conoDffi1Mgg,lecto0Pmbas1BnApidem2s1Wth2ven9x8yel7;id;ampXempl0Lte6;i16t;er1Iterp7;ri7;se;my;eJiCo9r7ump tru0R;agonf4i7;er,ve thru;c8g1Bi4or,ssi3wn7;side;to0CumenC;aCgniBnn3s8vide7;nd;conte6incen1Bp7tri0Y;osi7;tion;ta0E;le0U;ath9c8f7ni0terre6;ault 03err0;al,im0;!b7;ed;aUeRhKiJlHoBr7;edit ca9uc7;ib7;le;rd;efficBke,lAmmuniqJns8pi3rr0t0Uus7yo1;in;erv7uG;atoZ;ic,lO;ie6;er0Li7oth;e6n2;ty,vil wK;aBeqAick5oco9r7;istmas car7ysanthemum;ol;la1;ue;ndeli3racteri7;st2;i8llCr7;e0tifica1;liW;hi3nDpCrAt7ucus;erpi7hedr0;ll7;ar;!bohyd7ri3;ra1;it0;a7e,nib0;l,ry;aKeJiop2leHoFrBu7;nny,r7tterf4;g7i0;la7;ry;eak8i7;ck;fa7thro9;st;dy,ro7wl;ugh;mi7;sh;an,l4;nki8rri3;er;ng;cQdKlGnDppeti1rBs9tt2utop7;sy;ic;ce6pe7;ct;r7sen0;ay;ec8oma4ti8;ly;do1;i5l7;er7y;gy;en; hominBj8van7;tage;ec7;ti7;ve;em;cAe8qui7;tt0;ta1;te;i8ru0;al;de6;nt","Person|Noun":"true¦a0Eb07c03dWeUfQgOhLjHkiGlFmCnBolive,p7r4s3trini06v1wa0;ng,rd,tts;an,enus,iol0;a,et;ky,onPumm09;ay,e1o0uby;bin,d,se;ed,x;a2e1o0;l,tt04;aLnJ;dYge,tR;at,orm;a0eloW;t0x,ya;!s;a9eo,iH;ng,tP;a2e1o0;lGy;an,w3;de,smi4y;a0erb,iOolBuntR;ll,z0;el;ail,e0iLuy;ne;a1ern,i0lo;elds,nn;ith,n0;ny;a0dEmir,ula,ve;rl;a4e3i1j,ol0;ly;ck,x0;ie;an,ja;i0wn;sy;am,h0liff,rystal;a0in,ristian;mbers,ri0;ty;a4e3i2o,r0ud;an0ook;dy;ll;nedict,rg;k0nks;er;l0rt;fredo,ma","Actor|Verb":"true¦aCb8c5doctor,engineAfool,g3host,judge,m2nerd,p1recruit,scout,ushAvolunteAwi0;mp,tneA;arent,ilot;an,ime;eek,oof,r0uide;adu8oom;ha1o0;ach,nscript,ok;mpion,uffeur;o2u0;lly,tch0;er;ss;ddi1ffili0rchite1;ate;ct",MaleName:"true¦0:H9;1:FZ;2:DS;3:GQ;4:CZ;5:FV;6:GM;7:FP;8:GW;9:ET;A:C2;B:GD;aF8bE1cCQdBMeASfA1g8Yh88i7Uj6Sk6Bl5Mm48n3So3Ip33qu31r26s1Et0Ru0Ov0CwTxSyHzC;aCor0;cChC1karia,nAT;!hDkC;!aF6;!ar7CeF5;aJevgenBSoEuC;en,rFVsCu3FvEF;if,uf;nDs6OusC;ouf,s6N;aCg;s,tC;an,h0;hli,nCrosE1ss09;is,nC;!iBU;avi2ho5;aPeNiDoCyaEL;jcieBJlfgang,odrFutR;lFnC;f8TsC;lCt1;ow;bGey,frEhe4QlC;aE5iCy;am,e,s;ed8iC;d,ed;eAur;i,ndeD2rn2sC;!l9t1;lDyC;l1ne;lDtC;!er;aCHy;aKernDAiFladDoC;jteB0lodymyr;!iC;mFQsDB;cFha0ktBZnceDrgCOvC;a0ek;!nC;t,zo;!e4StBV;lCnC7sily;!entC;in9J;ghE2lCm70nax,ri,sm0;riCyss87;ch,k;aWeRhNiLoGrEuDyC;!l2roEDs1;n6r6E;avD0eCist0oy,um0;ntCRvBKy;bFdAWmCny;!asDmCoharu;aFFie,y;!z;iA6y;mCt4;!my,othy;adEeoDia0SomC;!as;!dor91;!de4;dFrC;enBKrC;anBJeCy;ll,nBI;!dy;dgh,ha,iCnn2req,tsu5V;cDAka;aYcotWeThPiMlobod0oKpenc2tEurDvenAEyCzym1;ed,lvest2;aj,e9V;anFeDuC;!aA;fan17phEQvCwaA;e77ie;!islaCl9;v,w;lom1rBuC;leymaDHta;dDgmu9UlCm1yabonga;as,v8B;!dhart8Yn9;aEeClo75;lCrm0;d1t1;h9Jne,qu1Jun,wn,yne;aDbastiEDk2Yl5Mpp,rgCth,ymoCU;e1Dio;m4n;!tC;!ie,y;eDPlFmEnCq67tosCMul;dCj2UtiA5;e01ro;!iATkeB6mC4u5;!ik,vato9K;aZeUheC8iRoGuDyC;an,ou;b99dDf4peAssC;!elEG;ol00y;an,bLc7MdJel,geIh0lHmGnEry,sDyC;!ce;ar7Ocoe,s;!aCnBU;ld,n;an,eo;a7Ef;l7Jr;e3Eg2n9olfo,riC;go;bBNeDH;cCl9;ar87c86h54kCo;!ey,ie,y;cFeA3gDid,ubByCza;an8Ln06;g85iC;naC6s;ep;ch8Kfa5hHin2je8HlGmFndEoHpha5sDul,wi36yC;an,mo8O;h9Im4;alDSol3O;iD0on;f,ph;ul;e9CinC;cy,t1;aOeLhilJiFrCyoG;aDeC;m,st1;ka85v2O;eDoC;tr;r8GtC;er,ro;!ipCl6H;!p6U;dCLrcy,tC;ar,e9JrC;!o7;b9Udra8So9UscAHtri62ulCv8I;!ie,o7;ctav6Ji2lImHndrBRrGsDtCum6wB;is,to;aDc6k6m0vCwaBE;al79;ma;i,vR;ar,er;aDeksandr,ivC;er,i2;f,v;aNeLguyBiFoCu3O;aDel,j4l0ma0rC;beAm0;h,m;cFels,g5i9EkDlC;es,s;!au,h96l78olaC;!i,y;hCkCol76;ol75;al,d,il,ls1vC;ilAF;hom,tC;e,hC;anCy;!a5i5;aYeViLoGuDyC;l4Nr1;hamDr84staC;fa,p6E;ed,mG;di10e,hamEis4JntDritz,sCussa;es,he;e,y;ad,ed,mC;ad,ed;cGgu5hai,kFlEnDtchC;!e8O;a9Pik;house,o7t1;ae73eC3ha8Iolaj;ah,hDkC;!ey,y;aDeC;al,l;el,l;hDlv3rC;le,ri8Ev4T;di,met;ay0c00gn4hWjd,ks2NlTmadZnSrKsXtDuric7VxC;imilBKwe8B;eHhEi69tCus,y69;!eo,hCia7;ew,i67;eDiC;as,eu,s;us,w;j,o;cHiGkFlEqu8Qsha83tCv3;iCy;!m,n;in,on;el,o7us;a6Yo7us;!elCin,o7us;!l8o;frAEi5Zny,u5;achDcoCik;lm;ai,y;amDdi,e5VmC;oud;adCm6W;ou;aulCi9P;ay;aWeOiMloyd,oJuDyC;le,nd1;cFdEiDkCth2uk;a7e;gi,s,z;ov7Cv6Hw6H;!as,iC;a6Een;g0nn52renDuCvA4we7D;!iS;!zo;am,n4oC;n5r;a9Yevi,la5KnHoFst2thaEvC;eCi;nte;bo;nCpo8V;!a82el,id;!nC;aAy;mEnd1rDsz73urenCwr6K;ce,t;ry,s;ar,beAont;aOeIhalHiFla4onr63rDu5SylC;e,s;istCzysztof;i0oph2;er0ngsl9p,rC;ilA9k,ollos;ed,id;en0iGnDrmCv4Z;it;!dDnCt1;e2Ny;ri4Z;r,th;cp2j4mEna8BrDsp6them,uC;ri;im,l;al,il;a03eXiVoFuC;an,lCst3;en,iC;an,en,o,us;aQeOhKkub4AnIrGsDzC;ef;eDhCi9Yue;!ua;!f,ph;dCge;i,on;!aCny;h,s,th6J;anDnC;!ath6Hie,n72;!nC;!es;!l,sCy;ph;o,qu3;an,mC;!i,m6V;d,ffFns,rCs4;a7JemDmai7QoCry;me,ni1H;i9Fy;!e73rC;ey,y;cKdBkImHrEsDvi2yC;dBs1;on,p2;ed,oDrCv67;e6Qod;d,s61;al,es5Wis1;a,e,oCub;b,v;ob,qu13;aTbNchiMgLke53lija,nuKonut,rIsEtCv0;ai,suC;ki;aDha0i8ZmaCsac;el,il;ac,iaC;h,s;a,vinCw3;!g;k,nngu6X;nac1Xor;ka;ai,rahC;im;aReLoIuCyd6;beAgGmFsC;eyDsC;a3e3;in,n;ber5W;h,o;m2raDsse3wC;a5Pie;c49t1K;a0Qct3XiGnDrC;beAman08;dr7VrC;iCy2N;!k,q1R;n0Tt3S;bKlJmza,nIo,rEsDyC;a5KdB;an,s0;lEo67r2IuCv9;hi5Hki,tC;a,o;an,ey;k,s;!im;ib;a08e00iUlenToQrMuCyorgy;iHnFsC;!taC;f,vC;!e,o;n6tC;er,h2;do,lC;herDlC;auCerQ;me;aEegCov2;!g,orC;!io,y;dy,h7C;dfr9nza3XrDttfC;ri6C;an,d47;!n;acoGlEno,oCuseppe;rgiCvan6O;!o,s;be6Ies,lC;es;mo;oFrC;aDha4HrC;it,y;ld,rd8;ffErgC;!e7iCy;!os;!r9;bElBrCv3;eCla1Nr4Hth,y;th;e,rC;e3YielC;!i4;aXeSiQlOorrest,rCyod2E;aHedFiC;edDtC;s,z;ri18;!d42eri11riC;ck,k;nCs2;cEkC;ie,lC;in,yn;esLisC;!co,z3M;etch2oC;ri0yd;d5lConn;ip;deriFliEng,rC;dinaCg4nan0B;nd8;pe,x;co;bCdi,hd;iEriC;ce,zC;io;an,en,o;benez2dZfrYit0lTmMnJo3rFsteb0th0ugenEvCymBzra;an,eCge4D;ns,re3K;!e;gi,iDnCrol,v3w3;est8ie,st;cCk;!h,k;o0DriCzo;co,qC;ue;aHerGiDmC;aGe3A;lCrh0;!iC;a10o,s;s1y;nu5;beAd1iEliDm2t1viCwood;n,s;ot28s;!as,j5Jot,sC;ha;a3en;!dGg6mFoDua2QwC;a2Pin;arC;do;oZuZ;ie;a04eTiOmitrNoFrag0uEwDylC;an,l0;ay3Hig4D;a3Gdl9nc0st3;minFnDri0ugCvydGy2S;!lF;!a36nCov0;e1Eie,y;go,iDykC;as;cCk;!k;i,y;armuFetDll1mitri7neCon,rk;sh;er,m6riC;ch;id;andLepak,j0lbeAmetri4nIon,rGsEvDwCxt2;ay30ey;en,in;hawn,moC;nd;ek,riC;ck;is,nC;is,y;rt;re;an,le,mKnIrEvC;e,iC;!d;en,iEne0PrCyl;eCin,yl;l45n;n,o,us;!iCny;el,lo;iCon;an,en,on;a0Fe0Ch03iar0lRoJrFuDyrC;il,us;rtC;!is;aEistC;iaCob12;no;ig;dy,lInErC;ey,neliCy;s,us;nEor,rDstaC;nt3;ad;or;by,e,in,l3t1;aHeEiCyde;fCnt,ve;fo0Xt1;menDt4;us;s,t;rFuDyC;!t1;dCs;e,io;enC;ce;aHeGrisC;!toC;phCs;!eC;!r;st2t;d,rCs;b5leC;s,y;cDdrCs6;ic;il;lHmFrC;ey,lDroCy;ll;!o7t1;er1iC;lo;!eb,v3;a09eZiVjorn,laUoSrEuCyr1;ddy,rtKst2;er;aKeFiEuDyC;an,ce,on;ce,no;an,ce;nDtC;!t;dDtC;!on;an,on;dFnC;dDisC;lav;en,on;!foOl9y;bby,gd0rCyd;is;i0Lke;bElDshC;al;al,lL;ek;nIrCshoi;at,nEtC;!raC;m,nd;aDhaCie;rd;rd8;!iDjam3nCs1;ie,y;to;kaMlazs,nHrC;n9rDtC;!holomew;eCy;tt;ey;dCeD;ar,iC;le;ar1Pb1Dd16fon15gust3hm12i0Zja0Yl0Bm07nTputsiSrGsaFugustEveDyCziz;a0kh0;ry;o,us;hi;aMchiKiJjun,mHnEon,tCy0;em,hCie,ur8;ur;aDoC;!ld;ud,v;aCin;an,nd8;!el,ki;baCe;ld;ta;aq;aMdHgel8tCw6;hoFoC;iDnC;!i8y;ne;ny;er7rCy;eDzC;ej;!as,i,j,s,w;!s;s,tolC;iCy;!y;ar,iEmaCos;nu5r;el;ne,r,t;aVbSdBeJfHiGl01onFphonsEt1vC;aPin;on;e,o;so,zo;!sR;!onZrC;ed;c,jaHksFssaHxC;!andC;er,rC;e,os,u;andCei;ar,er,r;ndC;ro;en;eDrecC;ht;rt8;dd3in,n,sC;taC;ir;ni;dDm6;ar;an,en;ad,eC;d,t;in;so;aGi,olErDvC;ik;ian8;f8ph;!o;mCn;!a;dGeFraDuC;!bakr,lfazl;hCm;am;!l;allHelEoulaye,ulC;!lCrE;ah,o;! rC;ahm0;an;ah;av,on",Uncountable:"true¦0:2Z;1:2F;2:2M;3:34;4:3D;a2Xb2Oc2Cd25e1Uf1Qg1Hh19i14j11k0Zl0Um0Kn0Go0Fp06r02sNtBuran2Mv9w5you gu0H;a7his1Ai6oo5;d,l;ldlife,ne;rmAt2;apor,ernacul2Ci5;neg2Bol1Rtae;eFhDiCoAr6un5yranny;a,gst1E;aff2Rea1No6ue nor5;th;o0Bu5;bleshoot0se1Wt;night,othpas1Ywn5;foGsfoG;me off,n;er5und2;e,mod2V;a,nnis;aGcFeEhCiBkiAo9p8t6u5weepstak1;g1Xnshi2Kshi;ati0Be5;am,el;ace2Neci1;ap,cc2meth0;n,ttl1;lk;eep,ingl1o5;pp0r1E;lf,na1Iri1;ene1Misso1E;d0Yfe3l6nd,t5;i0Kurn;m1Wt;abi1e6ic5;e,ke17;c5i03laxa13search;ogni12rea12;aBeAhys9luto,o7re5ut3;amble,mis1s5ten22;en21s0N;l5rk;i2Al0GyJ; 18i4;a26tr0H;nt5rk0ti0O;i1s;bstetri4vercrowd0xyg0B;a7e6owada5utella;ys;ptu1Qws;il poli01tional securi3;aCeAo7u5;m5s1J;ps;n5o1M;ey,o5;gamy;a5cha0Glancholy,rchandi1Jtallurgy;sl1t;chine5g1Cj1Jrs,thema1S; learn0ry;aught2e8i7ogi6u5;ck,g14;c,s1O;ce,ghtn0nguis1NteratYv2;ath2isXss;ara0GindergartRn5;icke0Cowled10;e5upit2;a5llyfiIwel0I;ns;ce,gnor8mp7n5;forma02ter5;net,sta09;atiUort5rov;an1A;a9e8isto0Bo5ung2;ckey,mework,ne6o5rseradiAspitali3use arrest;ky;s3y;adquarteZre;ir,libut,ppiJs5;hi5te;sh;eneAl8o7r5um,ymnas13;a5e01;niWss;lf,re;ut5yce0H;en; 5ti4;edit0po5;ol;aPeel0icHlour,o6urnit5;ure;od,rgive5uri2wl;ness;arEcono0NducaDlectrBn9quipAthi4very8x5;ist6per5;ti0D;en0L;body,o0Ath0;joy5tertain5;ment;ici3o5;ni4;tiU;nings,th;emi04i8o6raugh5ynas3;ts;pe,wnstai5;rs;abet1ce,s5;hon01repu5;te;aFelciEhCivi4lAo5urrency;al,ld w8mmenta7n5ral,ttKuscoD;fusiJt 5;ed;ry;ar;assi4oth1;es;aos,e5;eOw0;us;d,rQ;aAi8lood,owl0read7u5;nt0tt2;er;!th;lliarLs5;on;g5ss;ga5;ge;cMdviLeroIirHmDn8ppeal court,r6spi5thleN;rin;ithmet5sen5;ic;i8y5;o6th0;ing;ne;se;en7n5;es3;ty;ds;craft;bi4d5nau9;yna5;mi4;ce;id,ous5;ti4;cs",Infinitive:"true¦0:9G;1:9T;2:AD;3:90;4:9Z;5:84;6:AH;7:A9;8:92;9:A0;A:AG;B:AI;C:9V;D:8R;E:8O;F:97;G:6H;H:7D;a94b8Hc7Jd68e4Zf4Mg4Gh4Ai3Qj3Nk3Kl3Bm34nou48o2Vp2Equ2Dr1Es0CtZuTvRwI;aOeNiLors5rI;eJiI;ng,te;ak,st3;d5e8TthI;draw,er;a2d,ep;i2ke,nIrn;d1t;aIie;liADniAry;nJpI;ho8Llift;cov1dJear8Hfound8DlIplug,rav82tie,ve94;eaAo3X;erIo;cut,go,staAFvalA3w2G;aSeQhNoMrIu73;aIe72;ffi3Smp3nsI;aBfo7CpI;i8oD;pp3ugh5;aJiJrIwaD;eat5i2;nk;aImA0;ch,se;ck3ilor,keImp1r8L;! paD;a0Ic0He0Fh0Bi0Al08mugg3n07o05p02qu01tUuLwI;aJeeIim;p,t5;ll7Wy;bNccMffLggeCmmKppJrI;mouFpa6Zvi2;o0re6Y;ari0on;er,i4;e7Numb;li9KmJsiIveD;de,st;er9it;aMe8MiKrI;ang3eIi2;ng27w;fIng;f5le;b,gg1rI;t3ve;a4AiA;a4UeJit,l7DoI;il,of;ak,nd;lIot7Kw;icEve;atGeak,i0O;aIi6;m,y;ft,ng,t;aKi6CoJriIun;nk,v6Q;ot,rt5;ke,rp5tt1;eIll,nd,que8Gv1w;!k,m;aven9ul8W;dd5tis1Iy;a0FeKiJoI;am,t,ut;d,p5;a0Ab08c06d05f01group,hea00iZjoi4lXmWnVpTq3MsOtMup,vI;amp,eJiIo3B;sEve;l,rI;e,t;i8rI;ie2ofE;eLiKpo8PtIurfa4;o24rI;aHiBuctu8;de,gn,st;mb3nt;el,hra0lIreseF;a4e71;d1ew,o07;aHe3Fo2;a7eFiIo6Jy;e2nq41ve;mbur0nf38;r0t;inKleBocus,rJuI;el,rbiA;aBeA;an4e;aBu4;ei2k8Bla43oIyc3;gni39nci3up,v1;oot,uI;ff;ct,d,liIp;se,ze;tt3viA;aAenGit,o7;aWerUinpoiFlumm1LoTrLuI;b47ke,niArIt;poDsuI;aFe;eMoI;cKd,fe4XhibEmo7noJpo0sp1tru6vI;e,i6o5L;un4;la3Nu8;aGclu6dJf1occupy,sup0JvI;a6BeF;etermi4TiB;aGllu7rtr5Ksse4Q;cei2fo4NiAmea7plex,sIva6;eve8iCua6;mp1rItrol,ve;a6It6E;bOccuNmEpMutLverIwe;l07sJtu6Yu0wI;helm;ee,h1F;gr5Cnu2Cpa4;era7i4Ipo0;py,r;ey,seItaH;r2ss;aMe0ViJoIultiply;leCu6Pw;micJnIspla4;ce,g3us;!k;iIke,na9;m,ntaH;aPeLiIo0u3N;e,ke,ng1quIv5;eIi6S;fy;aKnIss5;d,gI;th5;rn,ve;ng2Gu1N;eep,idnJnI;e4Cow;ap;oHuI;gg3xtaI;po0;gno8mVnIrk;cTdRfQgeChPitia7ju8q1CsNtKun6EvI;a6eIo11;nt,rt,st;erJimi6BoxiPrI;odu4u6;aBn,pr03ru6C;iCpi8tIu8;all,il,ruB;abEibE;eCo3Eu0;iIul9;ca7;i7lu6;b5Xmer0pI;aLer4Uin9ly,oJrI;e3Ais6Bo2;rt,se,veI;riA;le,rt;aLeKiIoiCuD;de,jaInd1;ck;ar,iT;mp1ng,pp5raIve;ng5Mss;ath1et,iMle27oLrI;aJeIow;et;b,pp3ze;!ve5A;gg3ve;aTer45i5RlSorMrJuI;lf4Cndrai0r48;eJiIolic;ght5;e0Qsh5;b3XeLfeEgJsI;a3Dee;eIi2;!t;clo0go,shIwa4Z;ad3F;att1ee,i36;lt1st5;a0OdEl0Mm0FnXquip,rWsVtGvTxI;aRcPeDhOiNpJtIu6;ing0Yol;eKi8lIo0un9;aHoI;it,re;ct,di7l;st,t;a3oDu3B;e30lI;a10u6;lt,mi28;alua7oI;ke,l2;chew,pou0tab19;a0u4U;aYcVdTfSgQhan4joy,lPqOrNsuMtKvI;e0YisI;a9i50;er,i4rI;aHenGuC;e,re;iGol0F;ui8;ar9iC;a9eIra2ulf;nd1;or4;ang1oIu8;r0w;irc3lo0ou0ErJuI;mb1;oaGy4D;b3ct;bKer9pI;hasiIow1;ze;aKody,rI;a4oiI;d1l;lm,rk;ap0eBuI;ci40de;rIt;ma0Rn;a0Re04iKo,rIwind3;aw,ed9oI;wn;agno0e,ff1g,mi2Kne,sLvI;eIul9;rIst;ge,t;aWbVcQlod9mant3pNru3TsMtI;iIoDu37;lJngI;uiA;!l;ol2ua6;eJlIo0ro2;a4ea0;n0r0;a2Xe36lKoIu0S;uIv1;ra9;aIo0;im;a3Kur0;b3rm;af5b01cVduBep5fUliTmQnOpMrLsiCtaGvI;eIol2;lop;ch;a20i2;aDiBloIoD;re,y;oIy;te,un4;eJoI;liA;an;mEv1;a4i0Ao06raud,y;ei2iMla8oKrI;ee,yI;!pt;de,mIup3;missi34po0;de,ma7ph1;aJrief,uI;g,nk;rk;mp5rk5uF;a0Dea0h0Ai09l08oKrIurta1G;a2ea7ipp3uI;mb3;ales4e04habEinci6ll03m00nIrro6;cXdUfQju8no7qu1sLtKvI;eIin4;ne,r9y;aHin2Bribu7;er2iLoli2Epi8tJuI;lt,me;itu7raH;in;d1st;eKiJoIroFu0;rm;de,gu8rm;ss;eJoI;ne;mn,n0;eIlu6ur;al,i2;buCe,men4pI;eIi3ly;l,te;eBi6u6;r4xiC;ean0iT;rcumveFte;eJirp,oI;o0p;riAw;ncIre5t1ulk;el;a02eSi6lQoPrKuI;iXrIy;st,y;aLeaKiJoad5;en;ng;stfeLtX;ke;il,l11mba0WrrMth1;eIow;ed;!coQfrie1LgPhMliLqueaKstJtrIwild1;ay;ow;th;e2tt3;a2eJoI;ld;ad;!in,ui3;me;bysEckfi8ff3tI;he;b15c0Rd0Iff0Ggree,l0Cm09n03ppZrXsQttOuMvJwaE;it;eDoI;id;rt;gIto0X;meF;aIeCraB;ch,in;pi8sJtoI;niA;aKeIi04u8;mb3rt,ss;le;il;re;g0Hi0ou0rI;an9i2;eaKly,oiFrI;ai0o2;nt;r,se;aMi0GnJtI;icipa7;eJoIul;un4y;al;ly0;aJu0;se;lga08ze;iKlI;e9oIu6;t,w;gn;ix,oI;rd;a03jNmiKoJsoI;rb;pt,rn;niIt;st1;er;ouJuC;st;rn;cLhie2knowled9quiItiva7;es4re;ce;ge;eQliOoKrJusI;e,tom;ue;mIst;moJpI;any,liA;da7;ma7;te;pt;andPduBet,i6oKsI;coKol2;ve;liArt,uI;nd;sh;de;ct;on",Person:"true¦0:1S;a2Bb21c1Od1Ge1Af17g15h0Ti0Sj0Pk0Ll0Im0Bn08o07p02rRsKtEusain bolt,vBw4xzibit,y1;anni,oko on2uji,v1;an,es;en,o;a5ednesday adams,i2o1;lfr3o0S;ll1z khalifa; ferrell,.i.1;am;lt disn1Qr1;hol,r0G;a2i1oltai06;n dies0Zrginia wo17;lentino rossi,n goG;a4h3i2ripp,u1yra banks;lZpac shakur;ger woods,mba07;eresa may,or;kashi,t1ylor;um,ya1B;a5carlett johanss0h4i3lobodan milosevic,no2ocr1Lpider1uperm0Fwami;-m0Em0E;op dogg,w whi1H;egfried,nbad;akespeaTerlock holm1Sia labeouf;ddam hussa16nt1;a cla11ig9;aAe6i5o3u1za;mi,n dmc,paul,sh limbau1;gh;bin hood,d stew16nald1thko;in0Mo;han0Yngo starr,valdo;ese witherspo0i1mbrandt;ll2nh1;old;ey,y;chmaninoff,ffi,iJshid,y roma1H;a4e3i2la16o1uff daddy;cahont0Ie;lar,p19;le,rZ;lm17ris hilt0;leg,prah winfr0Sra;a2e1iles cra1Bostradam0J; yo,l5tt06wmQ;pole0s;a5e4i2o1ubar03;by,lie5net,rriss0N;randa ju1tt romn0M;ly;rl0GssiaB;cklemo1rkov,s0ta hari,ya angelou;re;ady gaga,e1ibera0Pu;bron jam0Xch wale1e;sa;anye west,e3i1obe bryant;d cudi,efer suther1;la0P;ats,sha;a2effers0fk,k rowling,rr tolki1;en;ck the ripp0Mwaharlal nehru,y z;liTnez,ron m7;a7e5i3u1;lk hog5mphrey1sa01;! bog05;l1tl0H;de; m1dwig,nry 4;an;ile selassFlle ber4m3rrison1;! 1;ford;id,mo09;ry;ast0iannis,o1;odwPtye;ergus0lorence nightinga08r1;an1ederic chopN;s,z;ff5m2nya,ustaXzeki1;el;eril lagasse,i1;le zatop1nem;ek;ie;a6e4i2octor w1rake;ho;ck w1ego maradoC;olf;g1mi lovaOnzel washingt0;as;l1nHrth vadR;ai lNt0;a8h5lint0o1thulhu;n1olio;an,fuci1;us;on;aucKop2ristian baMy1;na;in;millo,ptain beefhe4r1;dinal wols2son1;! palmF;ey;art;a8e5hatt,i3oHro1;ck,n1;te;ll g1ng crosby;atB;ck,nazir bhut2rtil,yon1;ce;to;nksy,rack ob1;ama;l 6r3shton kutch2vril lavig8yn ra1;nd;er;chimed2istot1;le;es;capo2paci1;no;ne",Adjective:"true¦0:AI;1:BS;2:BI;3:BA;4:A8;5:84;6:AV;7:AN;8:AF;9:7H;A:BQ;B:AY;C:BC;D:BH;E:9Y;aA2b9Ec8Fd7We79f6Ng6Dh60i4Wj4Vk4Sl4Hm40n3Oo35p2Nquart7Pr2Cs1Dt14uSvOwFye28;aMeKhIiHoF;man5oFrth7G;dADzy;despreB1n w97s86;acked1HoleF;!sa6;ather1QeFll o70ste1D;!k5;nt1Jst6Ate4;aHeGiFola5S;bBUce versa,gi3Kle;ng67rsa5Q;ca1gBSluAV;lt0PnLpHrGsFttermoBL;ef9Ku3;b96ge1; Hb31pGsFtiAH;ca6et,ide d4Q;er,i85;f51to da2;a0Fbeco0Hc0Bd04e02f01gu1WheaBGiXkn4NmUnTopp06pRrNsJtHus0wF;aFiel3J;nt0rra0P;app0eXoF;ld,uS;eHi36o59pGuF;perv06spec38;e1ok9O;en,ttl0;eFu5;cogn06gul2QlGqu84sF;erv0olv0;at0en32;aFrecede0E;id,rallel0;am0otic0;aFet;rri0tF;ch0;nFq25vers3;sur0terFv7U;eFrupt0;st0;air,inish0orese98;mploy0n7Ov97xpF;ect0lain0;eHisFocume01ue;clFput0;os0;cid0rF;!a8Scov9ha8Jlyi8nea8Gprivileg0sMwF;aFei9I;t9y;hGircumcFonvin2T;is0;aFeck0;lleng0rt0;b1Zppea85ssuGttend0uthorF;iz0;mi8;i49ra;aLeIhoHip 24oGrF;anspare1encha1i2;geth9leADp notch,rpB;rny,ugh6H;ena8DmpGrFs6U;r48tia4;eCo8P;leFst4M;nt0;a0Cc08e06h05i03ki02l00mug,nobbi4XoWpSqueami4XtKuFymb94;bHccinAi generis,pFr5;erFre7N;! dup9b,vi70;du0li7Lp6IsFurb7J;eq9Atanda9X;aLeKi15o2PrGubboFy4Q;rn;aightGin5GungF; o2M; fFfF;or7U;adfa9Ori6;lwa6Etu81;arHeGir6MlendBot Fry;on;c3Oe1Q;k5se; call0lub6mb9phistic14rHuFviT;ndFth19;proof;dBry;e61ipF;pe4shod;ll0n d7S;g2HnF;ceEg6ist9;am3Te9;co1Zem5lfFn6Bre7; suf4Yi44;aGholFient3A;ar5;rlFt4B;et;cr0me,tisfac7G;aOeIheumatoBiGoF;bu90tt7Hy3;ghtFv3;-1Sf6Y;cJdu8QlInown0pro6AsGtF;ard0;is48oF;lu2na1;e1Suc46;alcit8Ye1ondi2;bBci3mpa1;aSePicayu7laOoNrGuF;bl7Unjabi,z36;eKiIoF;b7WfGmi4ApFxi2M;er,ort82;a7uD;maFor,sti7va2;!ry;ciDexis0Ima2CpaB;in56puli8H;cBid;ac2Znt 3JrFti2;ma41tFv7X;!i40;i2ZrFss7S;anoBtF;-5YiF;al,s5W;bSffQkPld OnMrLth9utKverF;!aIbMdHhGni76seas,t,wF;ei75rou75;a64e7B;ue;ll;do1Ger,si6B;d3Rg2Aotu60; bFbFe on o7g3Vli7;oa81;fashion0school;!ay; gua7YbFha5Vli7;eat;eHligGsF;ce7er0So1C;at0;diFse;a1e1;aOeNiMoGuF;anc0de; moEnHrthFt6W;!eFwe7M;a7Lrn;chaGdescri7Jprof31sF;top;la1;ght5;arby,cessa4ighbor5wlyw0xt;k0usiaFv3;ti8;aQeNiLoHuF;dIltiF;facet0p6;deHlGnFot,rbBst;ochro4Yth5;dy;rn,st;ddle ag0nF;dbloZi,or;ag9diocEga,naGrFtropolit4R;e,ry;ci8;cIgenta,inHj0Fkeshift,mmGnFri4Pscu62ver18;da5Ey;ali4Mo4V;!stream;abEho;aOeLiIoFumberi8;ngFuti1S;stan3StF;erm,i4I;ghtGteraF;l,ry,te;heart0wei5P;ft-JgFss9th3;al,eFi0M;nda4;nguBps0te5;apGind5noF;wi8;ut;ad0itte4uniW;ce co0Hgno6Nll0Cm04nHpso 2VrF;a2releF;va1; ZaYcoWdReQfOgrNhibi4Si05nMoLsHtFvalu5N;aAeF;nDrdepe2L;a7iGolFuboI;ub6ve1;de,gF;nifica1;rdi5O;a2er;own;eriIiLluenVrF;ar0eq5I;pt,rt;eHiGoFul1P;or;e,reA;fiFpe27termi5F;ni2;mpFnsideCrreA;le2;ccuCdeq5Fne,ppr4K;fFsitu,vitro;ro1;mJpF;arHeGl16oFrop9;li2r12;n2MrfeA;ti3;aGeFi19;d4CnD;tuE;egGiF;c0ZteC;al,iF;tiF;ma2;ld;aOelNiLoFuma7;a4meInHrrGsFur5;ti6;if4F;e59o3V; ma3HsF;ick;ghfalut2IspF;an4A;li01pf34;i4llow0ndGrdFtN; 06coEworki8;sy,y;aMener45iga3Clob3oLrGuF;il1Ong ho;aGea1GizF;zl0;cGtF;ef2Vis;ef2U;ld3Aod;iFuc2D;nf2R;aVeSiQlOoJrF;aGeFil5ug3;q43tf2O;gFnt3S;i6ra1;lk13oHrF; keeps,eFge0Vm9tu41;g0Ei2Ds3R;liF;sh;ag4Mowe4uF;e1or45;e4nF;al,i2;d Gmini7rF;ti6ve1;up;bl0lDmIr Fst pac0ux;oGreacF;hi8;ff;ed,ili0R;aXfVlTmQnOqu3rMthere3veryday,xF;aApIquisi2traHuF;be48lF;ta1;!va2L;edRlF;icF;it;eAstF;whi6; Famor0ough,tiE;rou2sui2;erGiF;ne1;ge1;dFe2Aoq34;er5;ficF;ie1;g9sF;t,ygF;oi8;er;aWeMiHoGrFue;ea4owY;ci6mina1ne,r31ti8ubQ;dact2Jfficult,m,sGverF;ge1se;creGePjoi1paCtF;a1inA;et,te; Nadp0WceMfiLgeneCliJmuEpeIreliAsGvoF;id,ut;pFtitu2ul1L;eCoF;nde1;ca2ghF;tf13;a1ni2;as0;facto;i5ngero0I;ar0Ce09h07i06l05oOrIuF;rmudgeon5stoma4teF;sy;ly;aIeHu1EystalF; cleFli7;ar;epy;fFv17z0;ty;erUgTloSmPnGrpoCunterclVveFy;rt;cLdJgr21jIsHtrF;aFi2;dic0Yry;eq1Yta1;oi1ug3;escenFuN;di8;a1QeFiD;it0;atoDmensuCpF;ass1SulF;so4;ni3ss3;e1niza1;ci1J;ockwiD;rcumspeAvil;eFintzy;e4wy;leGrtaF;in;ba2;diac,ef00;a00ePiLliJoGrFuck nak0;and new,isk,on22;gGldface,naF; fi05fi05;us;nd,tF;he;gGpartisFzarE;an;tiF;me;autifOhiNlLnHsFyoN;iWtselF;li8;eGiFt;gn;aFfi03;th;at0oF;v0w;nd;ul;ckwards,rF;e,rT; priori,b13c0Zd0Tf0Ng0Ihe0Hl09mp6nt06pZrTsQttracti0MuLvIwF;aGkF;wa1B;ke,re;ant garGeraF;ge;de;diIsteEtF;heFoimmu7;nt07;re;to4;hGlFtu2;eep;en;bitIchiv3roHtF;ifiFsy;ci3;ga1;ra4;ry;pFt;aHetizi8rF;oprF;ia2;llFre1;ed,i8;ng;iquFsy;at0e;ed;cohKiJkaHl,oGriFterX;ght;ne,of;li7;ne;ke,ve;olF;ic;ad;ain07gressiIi6rF;eeF;ab6;le;ve;fGraB;id;ectGlF;ue1;ioF;na2; JaIeGvF;erD;pt,qF;ua2;ma1;hoc,infinitum;cuCquiGtu3u2;al;esce1;ra2;erSjeAlPoNrKsGuF;nda1;e1olu2trF;aAuD;se;te;eaGuF;pt;st;aFve;rd;aFe;ze;ct;ra1;nt",Pronoun:"true¦'em,elle,h3i2me,she4th0us,we,you;e0ou;e,m,y;!l,t;e0im;!'s",Preposition:"true¦-,aPbMcLdKexcept,fIinGmid,notwithstandiWoDpXqua,sCt7u4v2w0;/o,hereSith0;! whHin,oW;ersus,i0;a,s-a-vis;n1p0;!on;like,til;h1ill,oward0;!s;an,ereby,r0;ough0u;!oM;ans,ince,o that,uch G;f1n0ut;!to;!f;! 0to;effect,part;or,r0;om;espite,own,u3;hez,irca;ar1e0oBy;sides,tween;ri7;bo8cross,ft7lo6m4propos,round,s1t0;!op;! 0;a whole,long 0;as;id0ong0;!st;ng;er;ut",SportsTeam:"true¦0:1A;1:1H;2:1G;a1Eb16c0Td0Kfc dallas,g0Ihouston 0Hindiana0Gjacksonville jagua0k0El0Bm01newToQpJqueens parkIreal salt lake,sAt5utah jazz,vancouver whitecaps,w3yW;ashington 3est ham0Rh10;natio1Oredski2wizar0W;ampa bay 6e5o3;ronto 3ttenham hotspur;blue ja0Mrapto0;nnessee tita2xasC;buccanee0ra0K;a7eattle 5heffield0Kporting kansas0Wt3;. louis 3oke0V;c1Frams;marine0s3;eah15ounG;cramento Rn 3;antonio spu0diego 3francisco gJjose earthquak1;char08paA; ran07;a8h5ittsburgh 4ortland t3;imbe0rail blaze0;pirat1steele0;il3oenix su2;adelphia 3li1;eagl1philNunE;dr1;akland 3klahoma city thunder,rlando magic;athle0Mrai3;de0; 3castle01;england 7orleans 6york 3;city fc,g4je0FknXme0Fred bul0Yy3;anke1;ian0D;pelica2sain0C;patrio0Brevolut3;ion;anchester Be9i3ontreal impact;ami 7lwaukee b6nnesota 3;t4u0Fvi3;kings;imberwolv1wi2;rewe0uc0K;dolphi2heat,marli2;mphis grizz3ts;li1;cXu08;a4eicesterVos angeles 3;clippe0dodDla9; galaxy,ke0;ansas city 3nE;chiefs,roya0E; pace0polis colU;astr06dynamo,rockeTtexa2;olden state warrio0reen bay pac3;ke0;.c.Aallas 7e3i05od5;nver 5troit 3;lio2pisto2ti3;ge0;broncZnuggeM;cowbo4maver3;ic00;ys; uQ;arCelKh8incinnati 6leveland 5ol3;orado r3umbus crew sc;api5ocki1;brow2cavalie0india2;bengaWre3;ds;arlotte horAicago 3;b4cubs,fire,wh3;iteB;ea0ulR;diff3olina panthe0; c3;ity;altimore 9lackburn rove0oston 5rooklyn 3uffalo bilN;ne3;ts;cel4red3; sox;tics;rs;oriol1rave2;rizona Ast8tlanta 3;brav1falco2h4u3;nited;aw9;ns;es;on villa,r3;os;c5di3;amondbac3;ks;ardi3;na3;ls",Unit:"true¦a09b06cZdYexXfTgRhePin00joule0DkMlJmDnan0AoCp9quart0Dsq ft,t7volts,w6y2ze3°1µ0;g,s;c,f,n;dXear1o0;ttT; 0s 0;old;att,b;erPon0;!ne04;ascals,e1i0;cZnt02;rcent,tL;hms,uI;/s,e4i0m²,²,³;/h,cro2l0;e0liM;!²;grNsT;gEtL;it1u0;menSx;erRreR;b5elvins,ilo1m0notQ;/h,ph,²;!byIgrGmEs;ct0rtzN;aLogrE;allonLb0ig5rD;ps;a2emtGl0t6; oz,uid ou0;nceH;hrenheit,radG;aby9;eci3m1;aratDe1m0oulombD;²,³;lsius,nti0;gr2lit1m0;et0;er8;am7;b1y0;te5;l,ps;c2tt0;os0;econd1;re0;!s",PhrasalVerb:"true¦0:92;1:96;2:8H;3:8V;4:8A;5:83;6:85;7:98;8:90;9:8G;A:8X;B:8R;C:8U;D:8S;E:70;F:97;G:8Y;H:81;I:7H;J:79;K:4G;a9Gb7Vc6Sd6Me6Kf5Ig51h4Ciron0j48k41l3Fm32n2Zo2Xp2Dquiet Hr1Ys0Lt00uYvacuu6RwOyammerBzL;ero Dip MonL;e0k0;by,ov9up;aReNhMiLor0Nrit1A;mp0n3Gpe0r5s5;ackAeel Di0T;aMiLn34;gh 3Xrd0;n Dr L;do1in,oJ;it 7Ak5lk Mrm 6Ash Lt84v60;aw3do1o7up;aw3in,oC;rgeBsL;e 2herE;a01eZhWiSoRrNuLypQ;ckErn L;do1in,oJup;aMiLot0y 31;ckl80p F;ck HdL;e 5Z;n7Xp 3Fs5K;ck NdMe Lghten 6me0p o0Sre0;aw3ba4do1in,up;e Iy 2;by,oG;ink Mrow L;aw3ba4in,up;ba4ov9up;aLe 78ll63;m 2r 5N;ckBke Mlk L;ov9shit,u48;aLba4do1in,leave,o66up;ba4ft9pa6Aw3;a0Wc0Ue0Nh0Ji0Gl0Am09n08o07p02quar5HtRuPwL;earNiL;ngMtch L;aw3ba4o8L; by;cLi6Cm 2ss0;k 65;aSeRiQoOrLud36;aigh2Eet76iL;ke 7Tng L;al6Zup;p Lrm2G;by,in,oG;cKnKr 2tc4O;p F;cKmp0nd MrLveAy 2P;e Ht 2M;ba4do1up;arKeOiNlMrLurB;ead0ingBuc5;a49it 6I;c5ll o3Dn 2;ak Fe1Yll0;aKber 2rt0und like;ap 5Wow Duggl5;ash 6Ooke0;eep OiLow 6;cMp L;o6Eup;e 69;in,oL;ff,v9;de1Agn 4OnLt 6Hz5;gLkE; al6Ble0;aNoLu5X;ot Lut0w 7N;aw3ba4f48oC;cKdeEk6FveA;e Qll1Ond Prv5tL; Ltl5K;do1foMin,o7upL;!on;ot,r60;aw3ba4do1in,o4Wup;oCto;al67out0rL;ap66ew 6K;ilAv5;aYeViToPuL;b 5Zle0n Lstl5;aMba4do1inLo2Jth4Ou5Q;!to;c2Xr8w3;ll Not MpeAuL;g3Ind18;a2Wf3Po7;ar8in,o7up;ng 69p oLs5;ff,p19;aLelAinEnt0;c6Id L;o3Oup;cKt0;a00eZiXlUoRrPsyc35uL;ll Nn5Lt L;aLba4do1in,oJto48up;pa4Ew3;a3Kdo1in,o22to46up;attleBess LiOop 2;ah2Fon;iMp Lr50u1Hwer 6O;do1in,o6Oup;nt0;aMuL;gEmp 6;ce u21y 6E;ck Lg0le 4Bn 6p5C;oJup;el 5OncilE;c54ir 3An0ss NtMy L;ba4oG; Hc2R;aw3ba4in,oJ;pLw4Z;e4Yt D;aMerd0oL;dAt54;il Hrrow H;aUeRiQoMuL;ddl5ll I;cKnkeyNp 6uthAve L;aLdo1in,o4Mup;l4Ow3; wi4L;ss0x 2;asur5e3TlMss L;a21up;t 6;ke Mn 6rLs2Ax0;k 6ryA;do,fun,oCsure,up;a03eWiRoMuL;ck0st I;aOc4Gg NoLse0;k Lse4E;aft9ba4do1forw38in57o10u47;in,oJ;d 6;e OghtNnMsLve 01;ten F;e 2k 2; 2e47;ar8do1in;aNt MvelL; oC;do1go,in,o7up;nEve L;in,oL;pLut;en;c5p 2sh MtchBughAy L;do1o5A;in4Qo7;eNick Mnock L;do1oCup;oCup;eMy L;in,up;l Ip L;aw3ba4do1f05in,oJto,up;aNoMuL;ic5mpE;ke3Tt H;c44zz 2;a02eXiUoQuL;nMrrLsh 6;y 2;keMt L;ar8do1;r H;lLneErse3L;d Le 2;ba4dLfast,o25up;ear,o1;de Mt L;ba4on,up;aw3o7;aLlp0;d Nl Ir Lt 2;fLof;rom;f11in,o1WuX;cKm 2nMsh0ve Lz2Q;at,it,to;d Mg LkerQ;do1in,o2Uup;do1in,oL;ut,v9;k 2;aZeUive Sloss IoNrMunL; f0S;ab hold,in44ow 2V; Lof 2J;aNb1Nit,oMr8th1JuL;nd9;ff,n,v9;bo7ft9hQw3;aw3bLdo1in,oJrise,up,w3;a4ir2I;ar 6ek0t L;aLb1Gdo1in,o1Dr8up;cMhLl2Hr8t,w3;ead;ross;d aLng 2;bo7;a0Fe08iZlVoRrNuL;ck Le2P;ar8up;eMighten LownBy 2;aw3oG;eLshe29; 2z5;g 2lNol Lrk I;aLwi22;bo7r8;d 6low 2;aMeLip0;sh0;g 6ke0mLrLtten H;e F;gSlQnOrMsLzzle0;h F;e Lm 2;aw3ba4up;d0isL;h 2;e Ll 1V;aw3fQin,o7;ht ba4ure0;eQnMsL;s 2;cNd L;fLoG;or;e D;d06l 2;cPll Lrm0t1I;aNbMdo1in,oLsho0Gth0Avictim;ff,ut,v9;a4ehi2P;pa0D;e L;do1oGup;at Ldge0nd 13y5;in,o7up;aPi1IoOrL;aMess 6op LuO;aw3b04in,oC;gBwB; Ile0ubl1C;m 2;a0Bh06l03oPrMut L;aw3ba4do1oCup;ackBeep MoLy0;ss Dwd0;by,do1in,o0Vup;me OoMuntL; o2B;k 6l L;do1oG;aSbRforPin,oOtLu0P;hMoLrue;geth9;rough;ff,n,ut,v9;th,wL;ard;a4y;paLr8w3;rt;eaMose L;in,oCup;n 6r F;aOeMiL;ll0pE;ck Der Lw F;on,up;t 2;lSncel0rPsNtch MveE; in;o1Oup;h Dt L;doubt,oG;ry MvL;e 09;aw3oJ;l Lm H;aMba4do1oJup;ff,n,ut;r8w3;a0We0NiteAl0Go05rRuL;bblOckl06il0Elk 6ndl06rMsLtNy FzzA;t 01;n 0IsL;t D;e I;ov9;anXeaViMush L;oGup;ghRng L;aOba4do1forNin,oMuL;nd9p;n,ut;th;bo7lLr8w3;ong;teL;n 2;k L;do1in,o7up;ch0;arUg 6iSn5oQrOssNttlMunce Lx D;aw3ba4;e 6; ar8;e H;do1;k Dt 2;e 2;l 6;do1up;d 2;aQeed0oLurt0;cNw L;aw3ba4do1o7up;ck;k L;in,oC;ck0nk0stA; oRaOef 2lt0nd L;do1ov9up;er;up;r Mt L;do1in,oCup;do1o7;ff,nL;to;ck Qil0nNrgMsL;h D;ainBe D;g DkB; on;in,o7;aw3do1in,oCup;ff,ut;ay;ct FdRir0sk NuctionA; oG;ff;ar8o7;ouL;nd; o7;d L;do1oLup;ff,n;wn;o7up;ut","Noun|Gerund":"true¦0:27;1:26;2:1X;3:1J;4:1Z;a25b1Oc1Cd16en14f0Yg0Wh0Ti0Rjog20k0Pl0Lm0In0Go0Cp05ques08rWsFtBu9volunt15w5y17zo2;a7ed1Si3or6r5;ap1Oest1Ci1;ki0r1O;i1r2s1Utc1U;nder5pri23;st1Mta4;al4e7hin4i6ra5y1J;c4di0i2v0Z;mi0p1H;a1Ys1;aKcHeGhEin1PkatClZmo4nowBpeAt8u6w5;ea3im1U;f02r5;fi0vi0J;a1Lretc1Ju5;d1BfJ;l0Xn1C;b6i0;eb5i0;oar19;ip15o5;rte2u1;a1r0At1;h6o3re5;a1He2;edu0Ooo0O;i0Nyi0;aCe8i11o6u5;li0n2;o5wi0;fi0;a7c6hear1Cnde3por1struct5;r1Au3;or0Vyc0G;di0so2;p0Qti0;aAeacek9la8o6r5ublis0X;a0Peten0Rin1oces16;iso2si5;tio2;n2yi0;ee0K;cka0Tin1rt0K;f7pe6rgani5vula1;si0zi0;ni0ra1;fe3;e5ur0W;gotia1twor4;a6e5i2onito3;e1ssa0L;nufactu3rke1;a7ea6i5od0Jyi0;cen0Qf1s1;r2si0;n09ug0E;i5n0J;c4lS;ci0magi2n5ro2;nova1terac1;andPea1i6o5un1;l03wO;ki0ri0;athe3rie5ui01;vi0;ar0CenHi7l6or5ros1unZ;ecas1mat1;ir1ooX;l6n5;anDdi0;i0li0;di0gin5;ee3;a8eba1irec1oub1r6umOw5;elB;awi0es04i5;n4vi0;n5ti0;ci0;aEelebra1hClAo7r5ur6;aw5osZ;li0;a6di0lo3mplai2n5o4pi0ve3;duc1sul1;cLti0;apCea3imHo5ubH;ni0tJ;a5ee3;n1t1;m8s1te3;ri0;aIeFitDlCoAr8u5;il8ll6r5;pi0;yi0;an5;di0;a1m5o4;bi0;esGoa1;c5i0;hi0;gin2lon5t1;gi0;ni0;bys6c4ki0;ki0;it1;c8dverti7gi0rg6ssu5;mi0;ui0;si0;coun1ti0;ti0;ng",ProperNoun:"true¦abid,barbie,c3e2f1iron maiden,kirby,m0nis,riel;ercedes,issy;lorence,ranco;lmo,uro;atalina,hristi","Person|Place":"true¦a8d6h4jordan,k3orlando,s1vi0;ctor9rgin9;a0ydney;lvador,mara,ntia4;ent,obe;amil0ous0;ton;arw2ie0;go;lexandr1ust0;in;ia",LastName:"true¦0:BT;1:BH;2:B7;3:BJ;4:AZ;5:A0;6:B8;7:BM;8:B2;9:AX;A:AN;B:8S;C:8I;D:7M;E:BO;F:AJ;aBFbA1c8Yd8Ae83f7Mg6Yh66i62j5Nk4Xl4Fm3Bn2Yo2Op25quispe,r1Ls0Pt0Ev03wTxSyKzG;aIhGimmerm6C;aGou,u;ng,o;khar5ytsE;aKeun9DiHoGun;koya34shiBW;!lG;diGmaz;rim,z;maGng;da,g54mo85sGzaC;aChiBX;iao,u;aLeJiHoGright,u;jcA7lff,ng;lGmm0nkl0sniewsC;kiB3liams35s3;bGiss,lt0;b,er,st0;a6Xgn0lHtG;anabe,s3;k0sh,tG;e2Pon;aLeKiHoGukD;gt,lk5roby5;dHllalGnogr3Mr1Css0val3U;ba,ob1W;al,ov4;lasHsel8Y;lJn dIrgBGsHzG;qu7;ilyEqu7siljE;en b6Cijk,yk;enzueAKverde;aPeix1VhKi2j8ka45oJrIsui,uG;om5WrG;c2n0un1;an,emblA9ynisC;dorAOlst3Mm4rrAth;atch0i8WoG;mHrG;are86laci7B;ps3sG;en,on;hirDkah9Onaka,te,varA;a06ch01eYhUiRmOoMtIuHvGzabo;en9Lobod3P;ar7bot4lliv2zuC;aIeHoG;i7Dj4CyanAD;ele,in2HpheBvens27;l8rm0;kol5lovy5re7Vsa,to,uG;ng,sa;iGy74;rn5tG;!h;l73mHnGrbu;at9cla9Ggh;moBo7O;aIeGimizu;hu,vchG;en8Nuk;la,r1I;gu9infe60mGoh,pulveA9rra5R;jGyG;on5;evi6iltz,miHneid0roed0uGwarz;be3Glz;dHtG;!t,z;!t;ar4Vh8ito,ka4QlJnGr4saCto,unde1Bv4;ch7dHtGz;a5Ne,os;b55e18;as,ihDm4Ro10;aVeSiPoJuHyG;a6oo,u;bio,iz,sG;so,u;bKc8Hdrigue69ge12jA0mJosevelt,sItHux,wG;e,li6;a9Eh;enb4Wsi;a56e4N;erts17i95;bei4LcHes,vGzzo;as,e9;ci,hards14;ag2es,iHut0yG;es,nol5P;s,t0;dImHnGsmu99v6E;tan1;ir7os;ic,u;aUeOhMiJoHrGut8;asad,if71ochazk29;lishc2IpGrti74u12we78;e3Cov53;cHe47nG;as,to;as72hl0;aGillips;k,m,n6K;a3Jde3Yete0Dna,rJtG;ersHrovGters56;!a,ic;!en,on;eGic,kiBss3;i9ra,tz,z;h88k,padopoulIrk0tHvG;ic,l4P;el,te3B;os;'NbMcOg2VlJnei6RrHsbor6ZweBzG;dem7Tturk;ella4FtGwe6P;ega,iz;iGof7Js8K;vGyn1T;ei9;aUri1;bri1cG;onn23;aPeNiJoGune50ym2;rHvGwak;ak4Qik5otn66;odahl,r4S;cholsZeHkolGls4Jx3;ic,ov84;ls1miG;!n1;ils3mG;co4Xec;gy,kaGray2sh,var38;jiGmu9shiG;ma;a07c04eZiWoMuHyeG;rs;lJnIrGssoli6S;atGp03r7C;i,ov4;oz,te58;d0l0;h2lOnNo0RrHsGza1A;er,s;aKeJiIoz5risHtG;e56on;!on;!n7K;au,i9no,t5J;!lA;r1Btgome59;i3El0;cracFhhail5kkeHlG;l0os64;ls1;hmeJiIj30lHn3Krci0ssiGyer2N;!er;n0Po;er,j0;dDti;cartHlG;aughl8e2;hy;dQe7Egnu68i0jer3TkPmNnMrItHyG;er,r;ei,ic,su21thews;iHkDquAroqu8tinG;ez,s;a5Xc,nG;!o;ci5Vn;a5UmG;ad5;ar5e6Kin1;rig77s1;aVeOiLoJuHyG;!nch;k4nGo;d,gu;mbarGpe3Fvr4we;di;!nGu,yana2B;coln,dG;b21holm,strom;bedEfeKhIitn0kaHn8rGw35;oy;!j;m11tG;in1on1;bvGvG;re;iGmmy,ng,rs2Qu,voie,ws3;ne,t1F;aZeYh2iWlUnez50oNrJuHvar2woG;k,n;cerGmar68znets5;a,o34;aHem0isGyeziu;h23t3O;m0sni4Fus3KvG;ch4O;bay57ch,rh0Usk16vaIwalGzl5;czGsC;yk;cIlG;!cGen4K;huk;!ev4ic,s;e8uiveG;rt;eff0kGl4mu9nnun1;ucF;ll0nnedy;hn,llKminsCne,pIrHstra3Qto,ur,yGzl5;a,s0;j0Rls22;l2oG;or;oe;aPenOha6im14oHuG;ng,r4;e32hInHrge32u6vG;anD;es,ss3;anHnsG;en,on,t3;nesGs1R;en,s1;kiBnings,s1;cJkob4EnGrv0E;kDsG;en,sG;en0Ion;ks3obs2A;brahimDglesi5Nke5Fl0Qno07oneIshikHto,vanoG;u,v54;awa;scu;aVeOiNjaltal8oIrist50uG;!aGb0ghAynh;m2ng;a6dz4fIjgaa3Hk,lHpUrGwe,x3X;ak1Gvat;mAt;er,fm3WmG;ann;ggiBtchcock;iJmingw4BnHrGss;nand7re9;deGriks1;rs3;kkiHnG;on1;la,n1;dz4g1lvoQmOns0ZqNrMsJuIwHyG;asFes;kiB;g1ng;anHhiG;mo14;i,ov0J;di6p0r10t;ue;alaG;in1;rs1;aVeorgUheorghe,iSjonRoLrJuGw3;errGnnar3Co,staf3Ctierr7zm2;a,eG;ro;ayli6ee2Lg4iffithGub0;!s;lIme0UnHodGrbachE;e,m2;calvAzale0S;dGubE;bGs0E;erg;aj,i;bs3l,mGordaO;en7;iev3U;gnMlJmaIndFo,rGsFuthi0;cGdn0za;ia;ge;eaHlG;agh0i,o;no;e,on;aVerQiLjeldsted,lKoIrHuG;chs,entAji41ll0;eem2iedm2;ntaGrt8urni0wl0;na;emi6orA;lipIsHtzgeraG;ld;ch0h0;ovG;!ic;hatDnanIrG;arGei9;a,i;deY;ov4;b0rre1D;dKinsJriksIsGvaB;cob3GpGtra3D;inoza,osiQ;en,s3;te8;er,is3warG;ds;aXePiNjurhuMoKrisco15uHvorakG;!oT;arte,boHmitru,nn,rGt3C;and,ic;is;g2he0Omingu7nErd1ItG;to;us;aGcki2Hmitr2Ossanayake,x3;s,z; JbnaIlHmirGrvisFvi,w2;!ov4;gado,ic;th;bo0groot,jo6lHsilGvriA;va;a cruz,e3uG;ca;hl,mcevsCnIt2WviG;dGes,s;ov,s3;ielsGku22;!en;ki;a0Be06hRiobQlarkPoIrGunningh1H;awfo0RivGuz;elli;h1lKntJoIrGs2Nx;byn,reG;a,ia;ke,p0;i,rer2K;em2liB;ns;!e;anu;aOeMiu,oIristGu6we;eGiaG;ns1;i,ng,p9uHwGy;!dH;dGng;huJ;!n,onGu6;!g;kJnIpm2ttHudhGv7;ry;erjee,o14;!d,g;ma,raboG;rty;bJl0Cng4rG;eghetHnG;a,y;ti;an,ota1C;cerAlder3mpbeLrIstGvadi0B;iGro;llo;doHl0Er,t0uGvalho;so;so,zo;ll;a0Fe01hYiXlUoNrKuIyG;rLtyG;qi;chan2rG;ke,ns;ank5iem,oGyant;oks,wG;ne;gdan5nIruya,su,uchaHyKziG;c,n5;rd;darGik;enG;ko;ov;aGond15;nco,zG;ev4;ancFshw16;a08oGuiy2;umGwmG;ik;ckRethov1gu,ktPnNrG;gJisInG;ascoGds1;ni;ha;er,mG;anG;!n;gtGit7nP;ss3;asF;hi;er,hG;am;b4ch,ez,hRiley,kk0ldw8nMrIshHtAu0;es;ir;bInHtlGua;ett;es,i0;ieYosa;dGik;a9yoG;padhyG;ay;ra;k,ng;ic;bb0Acos09d07g04kht05lZnPrLsl2tJyG;aHd8;in;la;chis3kiG;ns3;aImstro6sl2;an;ng;ujo,ya;dJgelHsaG;ri;ovG;!a;ersJov,reG;aGjEws;ss1;en;en,on,s3;on;eksejEiyEmeiIvG;ar7es;ez;da;ev;arwHuilG;ar;al;ams,l0;er;ta;as",Ordinal:"true¦eBf7nin5s3t0zeroE;enDhir1we0;lfCn7;d,t3;e0ixt8;cond,vent7;et0th;e6ie7;i2o0;r0urt3;tie4;ft1rst;ight0lev1;e0h,ie1;en0;th",Cardinal:"true¦bEeBf5mEnine7one,s4t0zero;en,h2rDw0;e0o;lve,n5;irt6ousands,ree;even2ix2;i3o0;r1ur0;!t2;ty;ft0ve;e2y;ight0lev1;!e0y;en;illions",Multiple:"true¦b3hundred,m3qu2se1t0;housand,r2;pt1xt1;adr0int0;illion",City:"true¦0:74;1:61;2:6G;3:6J;4:5S;a68b53c4Id48e44f3Wg3Hh39i31j2Wk2Fl23m1Mn1Co19p0Wq0Ur0Os05tRuQvLwDxiBy9z5;a7h5i4Muri4O;a5e5ongsh0;ng3H;greb,nzib5G;ang2e5okoha3Sunfu;katerin3Hrev0;a5n0Q;m5Hn;arsBeAi6roclBu5;h0xi,zh5P;c7n5;d5nipeg,terth4;hoek,s1L;hi5Zkl3A;l63xford;aw;a8e6i5ladivost5Molgogr6L;en3lni6S;ni22r5;o3saill4N;lenc4Wncouv3Sr3ughn;lan bat1Crumqi,trecht;aFbilisi,eEheDiBo9r7u5;l21n63r5;in,ku;i5ondh62;es51poli;kyo,m2Zron1Pulo5;n,uS;an5jua3l2Tmisoa6Bra3;j4Tshui; hag62ssaloni2H;gucigal26hr0l av1U;briz,i6llinn,mpe56ng5rtu,shk2R;i3Esh0;an,chu1n0p2Eyu0;aEeDh8kopje,owe1Gt7u5;ra5zh4X;ba0Ht;aten is55ockholm,rasbou67uttga2V;an8e6i5;jiazhua1llo1m5Xy0;f50n5;ya1zh4H;gh3Kt4Q;att45o1Vv44;cramen16int ClBn5o paulo,ppo3Rrajevo; 7aa,t5;a 5o domin3E;a3fe,m1M;antonio,die3Cfrancisco,j5ped3Nsalvad0J;o5u0;se;em,t lake ci5Fz25;lou58peters24;a9e8i6o5;me,t59;ga,o5yadh;! de janei3F;cife,ims,nn3Jykjavik;b4Sip4lei2Inc2Pwalpindi;ingdao,u5;ez2i0Q;aFeEhDiCo9r7u6yong5;ya1;eb59ya1;a5etor3M;g52to;rt5zn0; 5la4Co;au prin0Melizabe24sa03;ls3Prae5Atts26;iladelph3Gnom pe1Aoenix;ki1r21tah tik3E;dua,lerYnaji,r4Ot5;na,r32;ak44des0Km1Mr6s5ttawa;a3Vlo;an,d06;a7ew5ing2Fovosibir1Jyc; 5cast36;del24orlea44taip14;g8iro4Wn5pl2Wshv33v0;ch6ji1t5;es,o1;a1o1;a6o5p4;ya;no,sa0W;aEeCi9o6u5;mb2Ani26sc3Y;gadishu,nt6s5;c13ul;evideo,pelli1Rre2Z;ami,l6n14s5;kolc,sissauga;an,waukee;cca,d5lbour2Mmph41ndo1Cssi3;an,ell2Xi3;cau,drAkass2Sl9n8r5shh4A;aca6ib5rakesh,se2L;or;i1Sy;a4EchFdal0Zi47;mo;id;aDeAi8o6u5vSy2;anMckn0Odhia3;n5s angel26;d2g bea1N;brev2Be3Lma5nz,sb2verpo28;!ss27; ma39i5;c5pzig;est16; p6g5ho2Wn0Cusan24;os;az,la33;aHharFiClaipeBo9rak0Du7y5;iv,o5;to;ala lump4n5;mi1sh0;hi0Hlka2Xpavog4si5wlo2;ce;da;ev,n5rkuk;gst2sha5;sa;k5toum;iv;bHdu3llakuric0Qmpa3Fn6ohsiu1ra5un1Iwaguc0Q;c0Pj;d5o,p4;ah1Ty;a7e6i5ohannesV;l1Vn0;dd36rusalem;ip4k5;ar2H;bad0mph1OnArkutUs7taXz5;mir,tapala5;pa;fah0l6tanb5;ul;am2Zi2H;che2d5;ianap2Mo20;aAe7o5yder2W; chi mi5ms,nolulu;nh;f6lsin5rakli2;ki;ei;ifa,lifax,mCn5rb1Dva3;g8nov01oi;aFdanEenDhCiPlasgBo9raz,u5;a5jr23;dal6ng5yaquil;zh1J;aja2Oupe;ld coa1Bthen5;bu2S;ow;ent;e0Uoa;sk;lw7n5za;dhi5gt1E;nag0U;ay;aisal29es,o8r6ukuya5;ma;ankfu5esno;rt;rt5sh0; wor6ale5;za;th;d5indhov0Pl paso;in5mont2;bur5;gh;aBe8ha0Xisp4o7resd0Lu5;b5esseldorf,nkirk,rb0shanbe;ai,l0I;ha,nggu0rtmu13;hradSl6nv5troit;er;hi;donghIe6k09l5masc1Zr es sala1KugavpiY;i0lU;gu,je2;aJebu,hAleve0Vo5raio02uriti1Q;lo7n6penhag0Ar5;do1Ok;akKst0V;gUm5;bo;aBen8i6ongqi1ristchur5;ch;ang m7ca5ttago1;go;g6n5;ai;du,zho1;ng5ttogr14;ch8sha,zh07;gliari,i9lga8mayenJn6pe town,r5tanO;acCdiff;ber1Ac5;un;ry;ro;aWeNhKirmingh0WoJr9u5;chareTdapeTenos air7r5s0tu0;g5sa;as;es;a9is6usse5;ls;ba6t5;ol;ne;sil8tisla7zzav5;il5;le;va;ia;goZst2;op6ubaneshw5;ar;al;iCl9ng8r5;g6l5n;in;en;aluru,hazi;fa6grade,o horizon5;te;st;ji1rut;ghd0BkFn9ot8r7s6yan n4;ur;el,r07;celo3i,ranquil09;ou;du1g6ja lu5;ka;alo6k5;ok;re;ng;ers5u;field;a05b02cc01ddis aba00gartaZhmedXizawl,lSmPnHqa00rEsBt7uck5;la5;nd;he7l5;an5;ta;ns;h5unci2;dod,gab5;at;li5;ngt2;on;a8c5kaOtwerp;hora6o3;na;ge;h7p5;ol5;is;eim;aravati,m0s5;terd5;am; 7buquerq6eppo,giers,ma5;ty;ue;basrah al qadim5mawsil al jadid5;ah;ab5;ad;la;ba;ra;idj0u dha5;bi;an;lbo6rh5;us;rg",Region:"true¦0:2K;1:2Q;2:2H;3:2B;a2Ob2Bc1Xd1Ses1Rf1Pg1Kh1Gi1Bj17k12l0Zm0On06o04pYqVrSsJtEuBverAw6y4zacatec2S;akut0o0Cu4;cat2k06;a5est 4isconsin,yomi1K;bengal,virgin0;rwick3shington4;! dc;acruz,mont;dmurt0t4;ah,tar4; 2La0Y;a6e5laxca1Rripu1Xu4;scaEva;langa1nnessee,x2F;bas0Wm4smOtar25;aulip2Dil nadu;a9i7o5taf12u4ylh1F;ffZrr05s1A;me1Cno1Quth 4;cWdV;ber0c4kkim,naloa;hu2ily;n5skatchew2xo4;ny; luis potosi,ta catari1;a4hodeA;j4ngp08;asth2shahi;ingh25u4;e4intana roo;bec,en6retaro;ara8e6rince edward4unjab; i4;sl0C;i,nnsylv4rnambu0C;an0;!na;axa0Ydisha,h4klaho20ntar4reg7ss0Cx0H;io;aKeEo6u4;evo le4nav0W;on;r4tt17va scot0;f9mandy,th4; 4ampton3;c6d5yo4;rk3;ako1N;aroli1;olk;bras1Mva0Cw4; 5foundland4;! and labrador;brunswick,hamp3jers5mexiTyork4;! state;ey;galPyarit;aAeghala0Mi6o4;nta1r4;dov0elos;ch6dlanDn5ss4zor11;issippi,ouri;as geraPneso18;ig2oac2;dhy12harasht0Gine,ni5r4ssachusetts;anhao,i el,ylG;p4toba;ur;anca3e4incoln3ouisI;e4iR;ds;a6e5h4omi;aka06ul1;ntucky,ra01;bardino,lmyk0ns0Qr4;achay,el0nata0X;alis6har4iangxi;kh4;and;co;daho,llino7n4owa;d5gush4;et0;ia1;is;a6ert5i4un2;dalFm0D;ford3;mp3rya1waii;ansu,eorg0lou7oa,u4;an4izhou,jarat;ajuato,gdo4;ng;cester3;lori4uji2;da;sex;ageUe7o5uran4;go;rs4;et;lawaMrby3;aFeaEh9o4rimea ,umbr0;ahui7l6nnectic5rsi4ventry;ca;ut;i03orado;la;e5hattisgarh,i4uvash0;apRhuahua;chn5rke4;ss0;ya;ra;lGm4;bridge3peche;a9ihar,r8u4;ck4ryat0;ingham3;shi4;re;emen,itish columb0;h0ja cal8lk7s4v7;hkorto4que;st2;an;ar0;iforn0;ia;dygea,guascalientes,lBndhr9r5ss4;am;izo1kans5un4;achal 7;as;na;a 4;pradesh;a6ber5t4;ai;ta;ba5s4;ka;ma",Country:"true¦0:39;1:2M;a2Xb2Ec22d1Ye1Sf1Mg1Ch1Ai14j12k0Zl0Um0Gn05om3DpZqat1KrXsKtCu6v4wal3yemTz2;a25imbabwe;es,lis and futu2Y;a2enezue32ietnam;nuatu,tican city;.5gTkraiZnited 3ruXs2zbeE;a,sr;arab emirat0Kkingdom,states2;! of am2Y;k.,s.2; 28a.;a7haBimor-les0Bo6rinidad4u2;nis0rk2valu;ey,me2Ys and caic1U; and 2-2;toba1K;go,kel0Znga;iw2Wji2nz2S;ki2U;aCcotl1eBi8lov7o5pa2Cri lanka,u4w2yr0;az2ed9itzerl1;il1;d2Rriname;lomon1Wmal0uth 2;afr2JkLsud2P;ak0en0;erra leoEn2;gapo1Xt maart2;en;negKrb0ychellY;int 2moa,n marino,udi arab0;hele25luc0mart20;epublic of ir0Dom2Duss0w2;an26;a3eHhilippinTitcairn1Lo2uerto riM;l1rtugE;ki2Cl3nama,pua new0Ura2;gu6;au,esti2;ne;aAe8i6or2;folk1Hth3w2;ay; k2ern mariana1C;or0N;caragua,ger2ue;!ia;p2ther19w zeal1;al;mib0u2;ru;a6exi5icro0Ao2yanm05;ldova,n2roc4zamb9;a3gol0t2;enegro,serrat;co;c9dagasc00l6r4urit3yot2;te;an0i15;shall0Wtin2;ique;a3div2i,ta;es;wi,ys0;ao,ed01;a5e4i2uxembourg;b2echtenste11thu1F;er0ya;ban0Hsotho;os,tv0;azakh1Ee3iriba03o2uwait,yrgyz1E;rWsovo;eling0Jnya;a2erF;ma15p1B;c6nd5r3s2taly,vory coast;le of m19rael;a2el1;n,q;ia,oI;el1;aiSon2ungary;dur0Mg kong;aAermany,ha0Pibralt9re7u2;a5ern4inea2ya0O;!-biss2;au;sey;deloupe,m,tema0P;e2na0M;ce,nl1;ar;bTmb0;a6i5r2;ance,ench 2;guia0Dpoly2;nes0;ji,nl1;lklandTroeT;ast tim6cu5gypt,l salv5ngl1quatorial3ritr4st2thiop0;on0; guin2;ea;ad2;or;enmark,jibou4ominica3r con2;go;!n B;ti;aAentral african 9h7o4roat0u3yprQzech2; 8ia;ba,racao;c3lo2morPngo-brazzaville,okFsta r03te d'ivoiK;mb0;osD;i2ristmasF;le,na;republic;m2naTpe verde,yman9;bod0ero2;on;aFeChut00o8r4u2;lgar0r2;kina faso,ma,undi;azil,itish 2unei;virgin2; is2;lands;liv0nai4snia and herzegoviGtswaGuvet2; isl1;and;re;l2n7rmuF;ar2gium,ize;us;h3ngladesh,rbad2;os;am3ra2;in;as;fghaFlCmAn5r3ustr2zerbaijH;al0ia;genti2men0uba;na;dorra,g4t2;arct6igua and barbu2;da;o2uil2;la;er2;ica;b2ger0;an0;ia;ni2;st2;an",Place:"true¦a0Eb0Ac03d02e01f00gWhUiSkQlNmLnIorHpDrCsAt5u4v3w2y0;a0yz;kutPngtze;ake isHupatki;irgin islands,ostok;laanbaatar,p02;a3eotihuac0Fh1onto,sarskoe selo,u0;lXzigoot;am07e 0;bronx,hamptons;hiti,j mahE;a0cotts bluff,eine,fo,oho,under9;int lawrence river,khalX;ed s3io grande;a1ek,h0itcairn,ompeii;l,x;cif03pahanaumokuak0rthenW;ea;ange county,d,inoco;e0ile;uschwanstePw eng0;land;a0co,ekong,idLuc;chu picchu,gadYlibu,nhattY;a1gw,hr,incoln memori0;al;s,x;azan kremlIosrae,rasnoyar0ul;sk;ax,cn,nd0st;ianQochina;arlem,kg,nd,ov0;d,enweep;a2odavari,re0;at 0enwich;britaAlakG;ngFy village;co,ra;urope,vergladD;anube,en,fw,own4xb;arrizo pla5dg,edar breaks,gk,h1lt,olosse0;um;a2i0uuk;chen itza,mney rock,na0ricahua;town;morro,tham;in;cn,e2kk,ro0;oklyn,wns cany0;on;l air,verly hills;driadic,frica,lhambra,m7n3rc2sia,tl1zor0;es;!ant2; de triomphe,t1;adyr,tarct0;ic0; oce0;an;ericas,s",FirstName:"true¦aTblair,cQdOfrancoZgabMhinaLilya,jHkClBm6ni4quinn,re3s0;h0umit,yd;ay,e0iloh;a,lby;g9ne;co,ko0;!s;a1el0ina,org6;!okuhF;ds,naia,r1tt0xiB;i,y;ion,lo;ashawn,eif,uca;a3e1ir0rM;an;lsFn0rry;dall,yat5;i,sD;a0essIie,ude;i1m0;ie,mG;me;ta;rie0y;le;arcy,ev0;an,on;as1h0;arl8eyenne;ey,sidy;drien,kira,l4nd1ubr0vi;ey;i,r0;a,e0;a,y;ex2f1o0;is;ie;ei,is",WeekDay:"true¦fri2mon2s1t0wednesd3;hurs1ues1;aturd1und1;!d0;ay0;!s",Month:"true¦dec0february,july,nov0octo1sept0;em0;ber",Date:"true¦ago,on4som4t1week0yesterd5; end,ends;mr1o0;d2morrow;!w;ed0;ay",Duration:"true¦centurAd8h7m5q4se3w1y0;ear8r8;eek0k7;!end,s;ason,c5;tr,uarter;i0onth3;llisecond2nute2;our1r1;ay0ecade0;!s;ies,y",FemaleName:"true¦0:JA;1:JE;2:IM;3:IN;4:J4;5:IR;6:JV;7:JR;8:HE;9:JN;A:H7;B:I5;C:IW;D:JK;E:J0;F:BD;G:I7;aGWbFOcDUdD3eBPfB7gAGh9Wi9Jj8Gk7Fl5Zm48n3Lo3Hp33qu32r29s15t0Eu0Cv02wVxiTyOzH;aLeIineb,oHsof3;e3Sf3la,ra;h2iKlIna,ynH;ab,ep;da,ma;da,h2iHra;nab;aKeJi0FolBAuIvH;et8onDS;i0na;le0sen3;el,gm3Hn,rGOs8Z;aoHme0nyi;m60yAG;aMendE2hiDJiH;dele9lJnH;if48niHo0;e,f47;a,helmi0lHma;a,ow;ka0nB;aNeKiHusa5;ck87kIl8oleAviH;anFenJ7;ky,toriBN;da,lABrHs0;a,nHoniHC;a,iFU;leHnesHC;nIOrH;i1y;g9rHs6xHD;su5te;aYeUhRiNoLrIuHy2;i,la;acJ6iHu0J;c3na,sH;hFta;nHr0F;iFya;aJffaERnHs6;a,gtiH;ng;!nFVra;aIeHomasi0;a,l9Ro8Dres1;l3ndolwethu;g9Io8BrIssH;!a,ie;eHi,ri7;sa,za;bOlMmKnIrHs6tia0wa0;a63yn;iHya;a,ka,s6;arFe2iHm7Ara;!ka;a,iH;a,t6;at6it6;a0Ecarlett,e0AhWiSkye,neza0oQri,tNuIyH;bIJlvi1;ha,mayIMniAsIzH;an3Net8ie,y;anHi7;!a,e,nH;aCe;aIeH;fan4l5Gphan6H;cI8r5;b3fiADm0LnHphi1;d2ia,ja,ya;er2lJmon1nIobh8TtH;a,i;dy;lEWv3;aMeIirHo0risFGy5;a,lDP;ba,e0i5lJrH;iHr6Myl;!d8Lfa;ia,lE2;hd,iMki2nJrIu0w0yH;la,ma,na;i,le9on,ron,yn;aIda,ia,nHon;a,on;!ya;k6mH;!aa;lJrItaye85vH;da,inj;e0ife;en1i0ma;anACbLd5Rh1SiBkKlJmInd2rHs6vannaC;aCi0;ant6i2;lDRma,ome;ee0in8Wu2;in1ri0;a05eZhXiUoHuthDP;bScRghQl8OnPsJwIxH;anB6ie,y;an,e0;aIeHie,lD; merBUann7ll1marDJtA;!lHnn1;iHyn;e,nH;a,dF;da,i,na;ayy8J;hel6Aio;bDUerAyn;a,cIkHmas,nFta,ya;ki,o;h90ki;ea,iannGPoH;da,n1P;an0bJemFgi0iInHta,y0;a8Eee;han89na;a,eH;cHkaC;a,ca;bi0chIe,i0mo0nHquEWy0;di,ia;aEUelHiB;!e,le;een4ia0;aPeOhMiLoJrHute6D;iHudenCY;scil3OyamvaB;lHrt3;i0ly;a,paluk;ilome0oebe,ylH;is,lis;ggy,nelope,r5t2;ige,m0VnKo5rvaDPtIulH;a,et8in1;ricHt4W;a,e,ia;do2i07;ctav3dIfD6is6ksa0lHphD6umC8yunbileg;a,ga,iv3;eHvAI;l3t8;aWeUiMoIurHy5;!ay,ul;a,eJor,rIuH;f,r;aCeEma;ll1mi;aNcLhariBTkKlaJna,sHta,vi;anHha;ur;!y;a,iE2ki;hoGkA1olH;a,e4S;!mh;hir,lHna,risDHsreE;!a,lBY;asuMdLh3i6Gl5nKomi7rgEYtHzanin zah2;aHhal4;lHs6;i1ya;cy,et8;e9iF3ya;nngu30;a0Ackenz4e02iMoJrignayani,uriDMyH;a,rH;a,iOlNna,tG;bi0i2llBMnH;a,iH;ca,ka,qDC;a,cUdo52kaTlOmi,nMrItzi,yH;ar;aJiIlH;anEW;am;!l,nB;dy,eHh,n4;nhGrva;aKdJe0iCXlH;iHy;cent,e;red;!gros;!e5;ae5hH;ae5el42;ag5GgNi,lKrH;edi7DiIjem,on,yH;em,l;em,sCJ;an4iHliCI;nHsCM;a,da;!an,han;b0CcAVd0Ae,g08ha,i07ja,l05n03rLsoum61tKuIv87xBNyHz4;bell,ra,soBE;d7rH;a,eE;h8Jild1t4;a,cXgTiKjor4l7Xn4s6tJwa,yH;!aHbe70ja9lAH;m,nBO;a,ha,in1;!aJbCJeIja,lDna,sHt66;!a,ol,sa;!l1G;! Jh,mInH;!a,e,n1;!awit,i;aliALcIeduarBfern5HjHlui60;o6Jul3;ecil3la2;arJeIie,oHr48ueri8;!t;!ry;et46i3B;el4Xi7Cy;dHon,ue5;akranAy;ak,en,iHlo3S;a,ka,nB;a,re,s4te;daHg4;!l3E;alDd4elHge,isDJon0;ei9in1yn;el,le;a0Ne0CiXoQuLyH;d3la,nH;!a,dIe2OnHsCT;!a,e2N;a,sCR;aD4cJel0Pis1lIna,pHz;e,iA;a,u,wa;iHy;a0Se,ja,l2NnB;is,l1UrItt1LuHvel4;el5is1;aKeIi7na,rH;aADi7;lHn1tA;ei;!in1;aTbb9HdSepa,lNnKsJvIzH;!a,be5Ret8z4;!ia;a,et8;!a,dH;a,sHy;ay,ey,i,y;a,iJja,lH;iHy;aA8e;!aH;!nF;ia,ya;!nH;!a,ne;aPda,e0iNjYla,nMoKsJtHx93y5;iHt4;c3t3;e2PlCO;la,nHra;a,ie,o2;a,or1;a,gh,laH;!ni;!h,nH;a,d2e,n5V;cOdon9DiNkes6mi9Gna,rMtJurIvHxmi,y5;ern1in3;a,e5Aie,yn;as6iIoH;nya,ya;fa,s6;a,isA9;a,la;ey,ie,y;a04eZhXiOlASoNrJyH;lHra;a,ee,ie;istHy6I;a,en,iIyH;!na;!e,n5F;nul,ri,urtnB8;aOerNlB7mJrHzzy;a,stH;en,in;!berlImernH;aq;eHi,y;e,y;a,stE;!na,ra;aHei2ongordzol;dij1w5;el7UiKjsi,lJnIrH;a,i,ri;d2na,za;ey,i,lBLs4y;ra,s6;biAcARdiat7MeBAiSlQmPnyakuma1DrNss6NtKviAyH;!e,lH;a,eH;e,i8T;!a6HeIhHi4TlDri0y;ar8Her8Hie,leErBAy;!lyn8Ori0;a,en,iHl5Xoli0yn;!ma,nFs95;a5il1;ei8Mi,lH;e,ie;a,tl6O;a0AeZiWoOuH;anMdLlHst88;es,iH;a8NeHs8X;!n9tH;!a,te;e5Mi3My;a,iA;!anNcelDdMelGhan7VleLni,sIva0yH;a,ce;eHie;fHlDph7Y;a,in1;en,n1;i7y;!a,e,n45;lHng;!i1DlH;!i1C;anNle0nKrJsH;i8JsH;!e,i8I;i,ri;!a,elGif2CnH;a,et8iHy;!e,f2A;a,eJiInH;a,eIiH;e,n1;!t8;cMda,mi,nIque4YsminFvie2y9zH;min7;a7eIiH;ce,e,n1s;!lHs82t0F;e,le;inIk6HlDquelH;in1yn;da,ta;da,lRmPnOo0rNsIvaHwo0zaro;!a0lu,na;aJiIlaHob89;!n9R;do2;belHdo2;!a,e,l3B;a7Ben1i0ma;di2es,gr72ji;a9elBogH;en1;a,e9iHo0se;a0na;aSeOiJoHus7Kyacin2C;da,ll4rten24snH;a,i9U;lImaH;ri;aIdHlaI;a,egard;ry;ath1BiJlInrietArmi9sH;sa,t1A;en2Uga,mi;di;bi2Fil8MlNnMrJsItHwa,yl8M;i5Tt4;n60ti;iHmo51ri53;etH;!te;aCnaC;a,ey,l4;a02eWiRlPoNrKunJwH;enHyne1R;!dolD;ay,el;acieIetHiselB;a,chE;!la;ld1CogooH;sh;adys,enHor3yn2K;a,da,na;aKgi,lIna,ov8EselHta;a,e,le;da,liH;an;!n0;mLnJorgIrH;ald5Si,m3Etrud7;et8i4X;a,eHna;s29vieve;ma;bIle,mHrnet,yG;al5Si5;iIrielH;a,l1;!ja;aTeQiPlorOoz3rH;anJeIiH;da,eB;da,ja;!cH;esIiHoi0P;n1s66;!ca;a,enc3;en,o0;lIn0rnH;anB;ec3ic3;jr,nArKtHy7;emIiHma,oumaA;ha,ma,n;eh;ah,iBrah,za0;cr4Rd0Re0Qi0Pk0Ol07mXn54rUsOtNuMvHwa;aKelIiH;!e,ta;inFyn;!a;!ngel4V;geni1ni47;h5Yien9ta;mLperanKtH;eIhHrel5;er;l31r7;za;a,eralB;iHma,ne4Lyn;cHka,n;a,ka;aPeNiKmH;aHe21ie,y;!li9nuH;elG;lHn1;e7iHy;a,e,ja;lHrald;da,y;!nue5;aWeUiNlMma,no2oKsJvH;a,iH;na,ra;a,ie;iHuiH;se;a,en,ie,y;a0c3da,e,f,nMsJzaH;!betHveA;e,h;aHe,ka;!beH;th;!a,or;anor,nH;!a,i;!in1na;ate1Rta;leEs6;vi;eIiHna,wi0;e,th;l,n;aYeMh3iLjeneKoH;lor5Vminiq4Ln3FrHtt4;a,eEis,la,othHthy;ea,y;ba;an09naCon9ya;anQbPde,eOiMlJmetr3nHsir5M;a,iH;ce,se;a,iIla,orHphi9;es,is;a,l6F;dHrdH;re;!d5Ena;!b2ForaCraC;a,d2nH;!a,e;hl3i0l0GmNnLphn1rIvi1WyH;le,na;a,by,cIia,lH;a,en1;ey,ie;a,et8iH;!ca,el1Aka,z;arHia;is;a0Re0Nh04i02lUoJristIynH;di,th3;al,i0;lPnMrIurH;tn1D;aJd2OiHn2Ori9;!nH;a,e,n1;!l4;cepci5Cn4sH;tanHuelo;ce,za;eHleE;en,t8;aJeoIotH;il54;!pat2;ir7rJudH;et8iH;a,ne;a,e,iH;ce,sZ;a2er2ndH;i,y;aReNloe,rH;isJyH;stH;al;sy,tH;a1Sen,iHy;an1e,n1;deJlseIrH;!i7yl;a,y;li9;nMrH;isKlImH;ai9;a,eHot8;n1t8;!sa;d2elGtH;al,elG;cIlH;es8i47;el3ilH;e,ia,y;itlYlXmilWndVrMsKtHy5;aIeIhHri0;er1IleErDy;ri0;a38sH;a37ie;a,iOlLmeJolIrH;ie,ol;!e,in1yn;lHn;!a,la;a,eIie,otHy;a,ta;ne,y;na,s1X;a0Ii0I;a,e,l1;isAl4;in,yn;a0Ke02iZlXoUrH;andi7eRiJoIyH;an0nn;nwDoke;an3HdgMgiLtH;n31tH;!aInH;ey,i,y;ny;d,t8;etH;!t7;an0e,nH;da,na;bbi7glarIlo07nH;iAn4;ka;ancHythe;a,he;an1Clja0nHsm3M;iAtH;ou;aWcVlinUniArPssOtJulaCvH;!erlH;ey,y;hJsy,tH;e,iHy7;e,na;!anH;ie,y;!ie;nItHyl;ha,ie;adIiH;ce;et8i9;ay,da;ca,ky;!triH;ce,z;rbJyaH;rmH;aa;a2o2ra;a2Ub2Od25g21i1Sj5l18m0Zn0Boi,r06sWtVuPvOwa,yIzH;ra,u0;aKes6gJlIn,seH;!l;in;un;!nH;a,na;a,i2K;drLguJrIsteH;ja;el3;stH;in1;a,ey,i,y;aahua,he0;hIi2Gja,miAs2DtrH;id;aMlIraqHt21;at;eIi7yH;!n;e,iHy;gh;!nH;ti;iJleIo6piA;ta;en,n1t8;aHelG;!n1J;a01dje5eZgViTjRnKohito,toHya;inet8nH;el5ia;te;!aKeIiHmJ;e,ka;!mHtt7;ar4;!belIliHmU;sa;!l1;a,eliH;ca;ka,sHta;a,sa;elHie;a,iH;a,ca,n1qH;ue;!tH;a,te;!bImHstasiMya;ar3;el;aLberKeliJiHy;e,l3naH;!ta;a,ja;!ly;hGiIl3nB;da;a,ra;le;aWba,ePiMlKthJyH;a,c3sH;a,on,sa;ea;iHys0N;e,s0M;a,cIn1sHza;a,e,ha,on,sa;e,ia,ja;c3is6jaKksaKna,sJxH;aHia;!nd2;ia,saH;nd2;ra;ia;i0nIyH;ah,na;a,is,naCoud;la;c6da,leEmNnLsH;haClH;inHyY;g,n;!h;a,o,slH;ey;ee;en;at6g4nIusH;ti0;es;ie;aWdiTelMrH;eJiH;anMenH;a,e,ne;an0;na;!aLeKiIyH;nn;a,n1;a,e;!ne;!iH;de;e,lDsH;on;yn;!lH;i9yn;ne;aKbIiHrL;!e,gaK;ey,i7y;!e;gaH;il;dKliyJradhIs6;ha;ya;ah;a,ya",Honorific:"true¦director1field marsh2lieutenant1rear0sergeant major,vice0; admir1; gener0;al","Adj|Gerund":"true¦0:3H;1:3J;2:33;3:2Z;4:37;5:35;6:3E;7:31;8:38;9:2J;a35b2Vc2Dd1Te1If17g11h0Yi0Rjud9l0Nm0Gnu0Fo0Ap04rYsKtEuBvAw18yiel3;ar6e08;nBpA;l1Rs0B;fol3n21sett2;aEeDhrBi4ouc7rAwis0;e0Bif2oub2us0yi1;ea1SiA;l2vi1;l2mp0rr1J;nt1Xxi1;aMcreec7enten2PhLkyrocke0lo1Tmi2oJpHtDuBweA;e1Sl2;pp2CrA;gi1pri5roun3;aBea8iAri2Jun25;mula0r4;gge4rA;t2vi1;ark2eAraw2;e3llb2H;aAot7;ki1ri1;i1Xoc2B;dYtisf6;aEeBive0oAus7;a4l2;assu4defi1Tfres7ig1Tjuve0QlaImai1Ts0vAwar3;ea2italiAol1I;si1zi1;gi1ll6mb2vi1;a6eDier25lun9rAun2E;eBoA;mi5vo21;ce3s5vai2;n3rpleA;xi1;ffCpWutBverAwi1;arc7lap12p0Pri3whel8;goi1l6st1L;en3sA;et0;m2Lrtu4;aEeDiCoBuAyst0L;mb2;t1Lvi1;s5tiga0;an1Tl0n3smeri28;dAtu4;de17;aCeaBiAo0W;fesa0Vmi0vi1;di1ni1;c1Hg9s0;llumiZmFnArri0T;cDfurGsCtBviA;go25ti1;e1Qimi23oxica0rig0X;pi4ul0;orpo22r0M;po5;arrowi1eaBorr03umilA;ia0;li1rtwar8;lErA;atiCip0BoBuelA;i1li1;undbrea13wi1;f6ng;a4ea8;aIetc7it0lEoCrBulfA;il2;ee1JighZust1P;rAun3;ebo3thco8;aCoA;a0wA;e4i1;mi1tte4;di1sciA;na0;lectrJmHnExA;aCci0hBis0pA;an3lo3;aOila1D;c0spe1C;ab2cBdu4ergi15ga9live06ric7s04tA;hral2i0L;han0oura9;barras5er9pA;owe4;if6;aSeIiBrA;if0;sAzz6;aEgDhearCsen0tA;rAur13;ac0es5;teU;us0;ppoin0r8;biliIcFfiRgra3ligh0mDpres5sCvA;asHeloA;pi1;erE;an3eaNorA;ali0L;a6eiBliLrA;ea5;vi1;ta0;ma9ri1s7un0zz2;aPhMlo5oAripp2ut0;mGnArrespon3;cerEfDspi4tAvinU;inBrA;as0ibu0ol2;ui1;lic0u5;ni1;fDmCpA;eAromi5;l2ti1;an3;or0;aAil2;llen9n9r8;gi1;l8ptAri1;iva0;aff2eGin3lFoDrBuA;d3st2;eathtaAui5;ki1;gg2i2o8ri1unA;ci1;in3;co8wiA;lAtc7;de4;bsorVcOgonMlJmHnno6ppea2rFsA;pi4su4toA;nBun3;di1;is7;hi1;res0;li1;aFu5;si1;ar8lu4;ri1;mi1;iAzi1;zi1;cAhi1;eleDomA;moBpan6;yi1;da0;ra0;ti1;bi1;ng",Adverb:"true¦a08b05d00eYfSheQinPjustOkinda,likewiZmMnJoEpCquite,r9s5t2u0very,well;ltima01p0; to,wards5;h1iny bit,o0wiO;o,t6;en,us;eldom,o0uch;!me1rt0; of;how,times,w0C;a1e0;alS;ndomRth05;ar excellenEer0oint blank; Lhaps;f3n0utright;ce0ly;! 0;ag05moX; courGten;ewJo0; longWt 0;onHwithstand9;aybe,eanwhiNore0;!ovT;! aboX;deed,steY;lla,n0;ce;or3u0;ck1l9rther0;!moK;ing; 0evK;exampCgood,suH;n mas0vI;se;e0irect2; 2fini0;te0;ly;juAtrop;ackward,y 0;far,no0; means,w; GbroFd nauseam,gEl7ny5part,s4t 2w0;ay,hi0;le;be7l0mo7wor7;arge,ea6; soon,i4;mo0way;re;l 3mo2ongsi1ready,so,togeth0ways;er;de;st;b1t0;hat;ut;ain;ad;lot,posteriori",Conjunction:"true¦aXbTcReNhowMiEjust00noBo9p8supposing,t5wh0yet;e1il0o3;e,st;n1re0thN; if,by,vM;evL;h0il,o;erefOo0;!uU;lus,rovided th9;r0therwiM;! not; mattEr,w0;! 0;since,th4w7;f4n0; 0asmuch;as mIcaForder t0;h0o;at;! 0;only,t0w0;hen;!ev3;ith2ven0;! 0;if,tB;er;o0uz;s,z;e0ut,y the time;cau1f0;ore;se;lt3nd,s 0;far1if,m0soon1t2;uch0; as;hou0;gh",Currency:"true¦$,aud,bQcOdJeurIfHgbp,hkd,iGjpy,kElDp8r7s3usd,x2y1z0¢,£,¥,ден,лв,руб,฿,₡,₨,€,₭,﷼;lotyQł;en,uanP;af,of;h0t5;e0il5;k0q0;elK;oubleJp,upeeJ;e2ound st0;er0;lingG;n0soF;ceEnies;empi7i7;n,r0wanzaCyatC;!onaBw;ls,nr;ori7ranc9;!os;en3i2kk,o0;b0ll2;ra5;me4n0rham4;ar3;e0ny;nt1;aht,itcoin0;!s",Determiner:"true¦aBboth,d9e6few,le5mu8neiDplenty,s4th2various,wh0;at0ich0;evC;a0e4is,ose;!t;everal,ome;!ast,s;a1l0very;!se;ch;e0u;!s;!n0;!o0y;th0;er","Adj|Present":"true¦a07b04cVdQeNfJhollIidRlEmCnarrIoBp9qua8r7s3t2uttFw0;aKet,ro0;ng,u08;endChin;e2hort,l1mooth,our,pa9tray,u0;re,speU;i2ow;cu6da02leSpaN;eplica01i02;ck;aHerfePr0;eseUime,omV;bscu1pen,wn;atu0e3odeH;re;a2e1ive,ow0;er;an;st,y;ow;a2i1oul,r0;ee,inge;rm;iIke,ncy,st;l1mpty,x0;emHpress;abo4ic7;amp,e2i1oub0ry,ull;le;ffu9re6;fu8libe0;raE;alm,l5o0;mpleCn3ol,rr1unterfe0;it;e0u7;ct;juga8sum7;ea1o0;se;n,r;ankru1lu0;nt;pt;li2pproxi0rticula1;ma0;te;ght",Comparable:"true¦0:3C;1:3Q;2:3F;a3Tb3Cc33d2Ue2Nf2Ag1Wh1Li1Fj1Ek1Bl13m0Xn0So0Rp0Iqu0Gr07sHtCug0vAw4y3za0Q;el10ouN;ary,e6hi5i3ry;ck0Cde,l3n1ry,se;d,y;ny,te;a3i3R;k,ry;a3erda2ulgar;gue,in,st;a6en2Xhi5i4ouZr3;anqu2Den1ue;dy,g36me0ny;ck,rs29;ll,me,rt,wd3I;aRcaPeOhMiLkin0BlImGoEpDt6u4w3;eet,ift;b3dd0Wperfi21rre29;sta27t22;a8e7iff,r4u3;pUr1;a4ict,o3;ng;ig2Vn0N;a1ep,rn;le,rk,te0;e1Si2Vright0;ci1Zft,l3on,re;emn,id;a3el0;ll,rt;e4i3y;g2Mm0Z;ek,nd2T;ck24l0mp1M;a3iRrill,y;dy,l01rp;ve0Jxy;n1Kr3;ce,y;d,fe,int0l1Iv0V;a8e6i5o3ude;mantic,o19sy,u3;gh;pe,t1P;a3d,mo0A;dy,l;gg4iFndom,p3re,w;id;ed;ai2i3;ck,et;hoAink,l9o8r5u3;ny,r3;e,p12;egna2ic4o3;fouSud;ey,k0;liXor;ain,easa2;ny;dd,i0ld,ranL;aive,e5i4o3u15;b0Tisy,rm0Zsy;bb0ce,mb0S;a3r1w;r,t;ad,e5ild,o4u3;nda12te;ist,o1;a4ek,l3;low;s0ty;a8e7i6o3ucky;f0Kn4o15u3ve0w10y0O;d,sy;e0g;ke0l,mp,tt0Fve0;e1Qwd;me,r3te;ge;e4i3;nd;en;ol0ui19;cy,ll,n3;secu6t3;e3ima4;llege2rmedia3;te;re;aAe7i6o5u3;ge,m3ng1C;bZid;me0t;gh,l0;a3fYsita2;dy,rXv3;en0y;nd13ppy,r3;d3sh;!y;aFenEhCiBlAoofy,r3;a8e6i5o3ue0Z;o3ss;vy;m,s0;at,e3y;dy,n;nd,y;ad,ib,ooD;a2d1;a3o3;st0;tEuiS;u1y;aDeebCi9l8o6r5u3;ll,n3r0N;!ny;aDesh,iend0;a3nd,rmE;my;at,ir8;erce4nan3;ciA;! ;le;r,ul3;ty;a6erie,sse4v3xtre0A;il;nti3;al;r4s3;tern,y;ly,th0;appYe8i4u3;mb;r5vi4z3;zy;ne;e,ty;a3ep,n9;d3f,r;!ly;agey,h8l7o5r4u3;dd0r0te;isp,uel;ar3ld,mmon,st0ward0zy;se;evKou1;e3il0;ap,e3;sy;aHiFlCoAr5u3;ff,r0sy;ly;a6i3oad;g4llia2;nt;ht;sh,ve;ld,un3;cy;a4o3ue;nd,o1;ck,nd;g,tt3;er;d,ld,w1;dy;bsu6ng5we3;so3;me;ry;rd","Person|Adj":"true¦b3du2earnest,frank,mi2r0san1woo1;an0ich,u1;dy;sty;ella,rown",Modal:"true¦c5lets,m4ought3sh1w0;ill,o5;a0o4;ll,nt;! to,a;ight,ust;an,o0;uld",Verb:"true¦born,cannot,gonna,has,keep tabs,msg","Person|Verb":"true¦b8ch7dr6foster,gra5ja9lan4ma2ni9ollie,p1rob,s0wade;kip,pike,t5ue;at,eg,ier2;ck,r0;k,shal;ce;ce,nt;ew;ase,u1;iff,l1ob,u0;ck;aze,ossom","Person|Date":"true¦a2j0sep;an0une;!uary;p0ugust,v0;ril"};const Co=36,No="0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ",jo=No.split("").reduce((function(e,t,n){return e[t]=n,e}),{});var xo=function(e){if(void 0!==jo[e])return jo[e];let t=0,n=1,r=Co,a=1;for(;n=0;n--,a*=Co){let r=e.charCodeAt(n)-48;r>10&&(r-=7),t+=r*a}return t};var Io=function(e){const t=new RegExp("([0-9A-Z]+):([0-9A-Z]+)");for(let n=0;n{let o=e.nodes[r];"!"===o[0]&&(t.push(a),o=o.slice(1));const i=o.split(/([A-Z0-9,]+)/g);for(let o=0;o{const n=t.split("¦");return e[n[0]]=n[1],e}),{}),n={};return Object.keys(t).forEach((function(e){const r=Ho(t[e]);"true"===e&&(e=!0);for(let t=0;t{let t=Do(Ao[e]);Vo.test(e)?Object.keys(t).forEach((t=>{if($o[t]=e,"Noun|Verb"===e){let e=Fo(t,Lo);$o[e]="Plural|Verb"}})):Object.keys(t).forEach((t=>{zo[t]=e}))})),[":(",":)",":P",":p",":O",";(",";)",";P",";p",";O",":3",":|",":/",":\\",":$",":*",":@",":-(",":-)",":-P",":-p",":-O",":-3",":-|",":-/",":-\\",":-$",":-*",":-@",":^(",":^)",":^P",":^p",":^O",":^3",":^|",":^/",":^\\",":^$",":^*",":^@","):","(:","$:","*:",")-:","(-:","$-:","*-:",")^:","(^:","$^:","*^:","<3","zo[e]="Emoticon")),delete zo[""],delete zo.null,delete zo[" "];const So="Singular";var Mo={beforeTags:{Determiner:So,Possessive:So,Acronym:So,Noun:So,Adjective:So,PresentTense:So,Gerund:So,PastTense:So,Infinitive:So,Date:So,Ordinal:So,Demonym:So},afterTags:{Value:So,Modal:So,Copula:So,PresentTense:So,PastTense:So,Demonym:So,Actor:So},beforeWords:{the:So,with:So,without:So,of:So,for:So,any:So,all:So,on:So,cut:So,cuts:So,increase:So,decrease:So,raise:So,drop:So,save:So,saved:So,saves:So,make:So,makes:So,made:So,minus:So,plus:So,than:So,another:So,versus:So,neither:So,about:So,favorite:So,best:So,daily:So,weekly:So,linear:So,binary:So,mobile:So,lexical:So,technical:So,computer:So,scientific:So,security:So,government:So,popular:So,formal:So,no:So,more:So,one:So,let:So,her:So,his:So,their:So,our:So,us:So},afterWords:{of:So,system:So,aid:So,method:So,utility:So,tool:So,reform:So,therapy:So,philosophy:So,room:So,authority:So,says:So,said:So,wants:So,wanted:So,is:So,did:So,do:So,can:So,wise:So}};const Bo="Infinitive";var Jo={beforeTags:{Modal:Bo,Adverb:Bo,Negative:Bo,Plural:Bo},afterTags:{Determiner:Bo,Adverb:Bo,Possessive:Bo,Reflexive:Bo,Preposition:Bo,Cardinal:Bo,Comparative:Bo,Superlative:Bo},beforeWords:{i:Bo,we:Bo,you:Bo,they:Bo,to:Bo,please:Bo,will:Bo,have:Bo,had:Bo,would:Bo,could:Bo,should:Bo,do:Bo,did:Bo,does:Bo,can:Bo,must:Bo,us:Bo,me:Bo,let:Bo,even:Bo,when:Bo,help:Bo,he:Bo,she:Bo,it:Bo,being:Bo,bi:Bo,co:Bo,contra:Bo,de:Bo,inter:Bo,intra:Bo,mis:Bo,pre:Bo,out:Bo,counter:Bo,nobody:Bo,somebody:Bo,anybody:Bo,everybody:Bo},afterWords:{the:Bo,me:Bo,you:Bo,him:Bo,us:Bo,her:Bo,his:Bo,them:Bo,they:Bo,it:Bo,himself:Bo,herself:Bo,itself:Bo,myself:Bo,ourselves:Bo,themselves:Bo,something:Bo,anything:Bo,a:Bo,an:Bo,up:Bo,down:Bo,by:Bo,out:Bo,off:Bo,under:Bo,what:Bo,all:Bo,to:Bo,because:Bo,although:Bo,after:Bo,before:Bo,how:Bo,otherwise:Bo,together:Bo,though:Bo,into:Bo,yet:Bo,more:Bo,here:Bo,there:Bo,away:Bo}};var Wo={beforeTags:Object.assign({},Jo.beforeTags,Mo.beforeTags,{}),afterTags:Object.assign({},Jo.afterTags,Mo.afterTags,{}),beforeWords:Object.assign({},Jo.beforeWords,Mo.beforeWords,{}),afterWords:Object.assign({},Jo.afterWords,Mo.afterWords,{})};const qo="Adjective";var Ko={beforeTags:{Determiner:qo,Possessive:qo,Hyphenated:qo},afterTags:{Adjective:qo},beforeWords:{seem:qo,seemed:qo,seems:qo,feel:qo,feels:qo,felt:qo,stay:qo,appear:qo,appears:qo,appeared:qo,also:qo,over:qo,under:qo,too:qo,it:qo,but:qo,still:qo,really:qo,quite:qo,well:qo,very:qo,how:qo,deeply:qo,hella:qo,profoundly:qo,extremely:qo,so:qo,badly:qo,mostly:qo,totally:qo,awfully:qo,rather:qo,nothing:qo,something:qo,anything:qo,not:qo,me:qo,is:qo},afterWords:{too:qo,also:qo,or:qo,enough:qo,about:qo}};const Uo="Gerund";var Ro={beforeTags:{Adverb:Uo,Preposition:Uo,Conjunction:Uo},afterTags:{Adverb:Uo,Possessive:Uo,Person:Uo,Pronoun:Uo,Determiner:Uo,Copula:Uo,Preposition:Uo,Conjunction:Uo,Comparative:Uo},beforeWords:{been:Uo,keep:Uo,continue:Uo,stop:Uo,am:Uo,be:Uo,me:Uo,began:Uo,start:Uo,starts:Uo,started:Uo,stops:Uo,stopped:Uo,help:Uo,helps:Uo,avoid:Uo,avoids:Uo,love:Uo,loves:Uo,loved:Uo,hate:Uo,hates:Uo,hated:Uo},afterWords:{you:Uo,me:Uo,her:Uo,him:Uo,his:Uo,them:Uo,their:Uo,it:Uo,this:Uo,there:Uo,on:Uo,about:Uo,for:Uo,up:Uo,down:Uo}};var Qo={beforeTags:Object.assign({},Ko.beforeTags,Ro.beforeTags,{Imperative:"Gerund",Infinitive:"Adjective",PresentTense:"Gerund",Plural:"Gerund"}),afterTags:Object.assign({},Ko.afterTags,Ro.afterTags,{Singular:"Adjective"}),beforeWords:Object.assign({},Ko.beforeWords,Ro.beforeWords,{is:"Adjective",was:"Adjective",of:"Adjective",suggest:"Gerund",recommend:"Gerund"}),afterWords:Object.assign({},Ko.afterWords,Ro.afterWords,{to:"Gerund",not:"Gerund",the:"Gerund"})};const _o={beforeTags:{Determiner:void 0,Cardinal:"Noun",PhrasalVerb:"Adjective"},afterTags:{}};var Xo={beforeTags:Object.assign({},Ko.beforeTags,Mo.beforeTags,_o.beforeTags),afterTags:Object.assign({},Ko.afterTags,Mo.afterTags,_o.afterTags),beforeWords:Object.assign({},Ko.beforeWords,Mo.beforeWords,{are:"Adjective",is:"Adjective",was:"Adjective",be:"Adjective",off:"Adjective",out:"Adjective"}),afterWords:Object.assign({},Ko.afterWords,Mo.afterWords)};let Zo="PastTense";const Yo={beforeTags:{Adverb:Zo,Pronoun:Zo,ProperNoun:Zo,Auxiliary:Zo,Noun:Zo},afterTags:{Possessive:Zo,Pronoun:Zo,Determiner:Zo,Adverb:Zo,Comparative:Zo,Date:Zo,Gerund:Zo},beforeWords:{be:Zo,who:Zo,get:"Adjective",had:Zo,has:Zo,have:Zo,been:Zo,it:Zo,as:Zo,for:"Adjective",more:"Adjective"},afterWords:{by:Zo,back:Zo,out:Zo,in:Zo,up:Zo,down:Zo,before:Zo,after:Zo,for:Zo,the:Zo,with:Zo,as:Zo,on:Zo,at:Zo,between:Zo,to:Zo,into:Zo,us:Zo,them:Zo,his:Zo,her:Zo,their:Zo,our:Zo,me:Zo}};var ei={beforeTags:Object.assign({},Ko.beforeTags,Yo.beforeTags),afterTags:Object.assign({},Ko.afterTags,Yo.afterTags),beforeWords:Object.assign({},Ko.beforeWords,Yo.beforeWords),afterWords:Object.assign({},Ko.afterWords,Yo.afterWords)};const ti={afterTags:{Noun:"Adjective",Conjunction:void 0}};var ni={beforeTags:Object.assign({},Ko.beforeTags,Jo.beforeTags,{Adverb:void 0,Negative:void 0}),afterTags:Object.assign({},Ko.afterTags,Jo.afterTags,ti.afterTags),beforeWords:Object.assign({},Ko.beforeWords,Jo.beforeWords,{have:void 0,had:void 0,not:void 0,went:"Adjective",goes:"Adjective",got:"Adjective",be:"Adjective"}),afterWords:Object.assign({},Ko.afterWords,Jo.afterWords,{to:void 0,as:"Adjective"})};const ri={Copula:"Gerund",PastTense:"Gerund",PresentTense:"Gerund",Infinitive:"Gerund"},ai={},oi={are:"Gerund",were:"Gerund",be:"Gerund",no:"Gerund",without:"Gerund",you:"Gerund",we:"Gerund",they:"Gerund",he:"Gerund",she:"Gerund",us:"Gerund",them:"Gerund"},ii={the:"Gerund",this:"Gerund",that:"Gerund",me:"Gerund",us:"Gerund",them:"Gerund"};var si={beforeTags:Object.assign({},Ro.beforeTags,Mo.beforeTags,ri),afterTags:Object.assign({},Ro.afterTags,Mo.afterTags,ai),beforeWords:Object.assign({},Ro.beforeWords,Mo.beforeWords,oi),afterWords:Object.assign({},Ro.afterWords,Mo.afterWords,ii)};const li="Singular",ui="Infinitive";var ci={beforeTags:Object.assign({},Jo.beforeTags,Mo.beforeTags,{Adjective:li,Particle:li}),afterTags:Object.assign({},Jo.afterTags,Mo.afterTags,{ProperNoun:ui,Gerund:ui,Adjective:ui,Copula:li}),beforeWords:Object.assign({},Jo.beforeWords,Mo.beforeWords,{is:li,was:li,of:li,have:null}),afterWords:Object.assign({},Jo.afterWords,Mo.afterWords,{instead:ui,about:ui,his:ui,her:ui,to:null,by:null,in:null})};const hi="Person";var di={beforeTags:{Honorific:hi,Person:hi},afterTags:{Person:hi,ProperNoun:hi,Verb:hi},ownTags:{ProperNoun:hi},beforeWords:{hi:hi,hey:hi,yo:hi,dear:hi,hello:hi},afterWords:{said:hi,says:hi,told:hi,tells:hi,feels:hi,felt:hi,seems:hi,thinks:hi,thought:hi,spends:hi,spendt:hi,plays:hi,played:hi,sing:hi,sang:hi,learn:hi,learned:hi,wants:hi,wanted:hi}};const gi="Month",mi={beforeTags:{Date:gi,Value:gi},afterTags:{Date:gi,Value:gi},beforeWords:{by:gi,in:gi,on:gi,during:gi,after:gi,before:gi,between:gi,until:gi,til:gi,sometime:gi,of:gi,this:gi,next:gi,last:gi,previous:gi,following:gi,with:"Person"},afterWords:{sometime:gi,in:gi,of:gi,until:gi,the:gi}};var pi={beforeTags:Object.assign({},di.beforeTags,mi.beforeTags),afterTags:Object.assign({},di.afterTags,mi.afterTags),beforeWords:Object.assign({},di.beforeWords,mi.beforeWords),afterWords:Object.assign({},di.afterWords,mi.afterWords)};const fi="Place",vi={beforeTags:{Place:fi},afterTags:{Place:fi,Abbreviation:fi},beforeWords:{in:fi,by:fi,near:fi,from:fi,to:fi},afterWords:{in:fi,by:fi,near:fi,from:fi,to:fi,government:fi,council:fi,region:fi,city:fi}};let bi="Unit";const yi={"Actor|Verb":Wo,"Adj|Gerund":Qo,"Adj|Noun":Xo,"Adj|Past":ei,"Adj|Present":ni,"Noun|Verb":ci,"Noun|Gerund":si,"Person|Noun":{beforeTags:Object.assign({},Mo.beforeTags,di.beforeTags),afterTags:Object.assign({},Mo.afterTags,di.afterTags),beforeWords:Object.assign({},Mo.beforeWords,di.beforeWords,{i:"Infinitive",we:"Infinitive"}),afterWords:Object.assign({},Mo.afterWords,di.afterWords)},"Person|Date":pi,"Person|Verb":{beforeTags:Object.assign({},Mo.beforeTags,di.beforeTags,Jo.beforeTags),afterTags:Object.assign({},Mo.afterTags,di.afterTags,Jo.afterTags),beforeWords:Object.assign({},Mo.beforeWords,di.beforeWords,Jo.beforeWords),afterWords:Object.assign({},Mo.afterWords,di.afterWords,Jo.afterWords)},"Person|Place":{beforeTags:Object.assign({},vi.beforeTags,di.beforeTags),afterTags:Object.assign({},vi.afterTags,di.afterTags),beforeWords:Object.assign({},vi.beforeWords,di.beforeWords),afterWords:Object.assign({},vi.afterWords,di.afterWords)},"Person|Adj":{beforeTags:Object.assign({},di.beforeTags,Ko.beforeTags),afterTags:Object.assign({},di.afterTags,Ko.afterTags),beforeWords:Object.assign({},di.beforeWords,Ko.beforeWords),afterWords:Object.assign({},di.afterWords,Ko.afterWords)},"Unit|Noun":{beforeTags:{Value:bi},afterTags:{},beforeWords:{per:bi,every:bi,each:bi,square:bi,cubic:bi,sq:bi,metric:bi},afterWords:{per:bi,squared:bi,cubed:bi,long:bi}}},wi=(e,t)=>{let n=Object.keys(e).reduce(((t,n)=>(t[n]="Infinitive"===e[n]?"PresentTense":"Plural",t)),{});return Object.assign(n,t)};yi["Plural|Verb"]={beforeWords:wi(yi["Noun|Verb"].beforeWords,{had:"Plural",have:"Plural"}),afterWords:wi(yi["Noun|Verb"].afterWords,{his:"PresentTense",her:"PresentTense",its:"PresentTense",in:null,to:null,is:"PresentTense",by:"PresentTense"}),beforeTags:wi(yi["Noun|Verb"].beforeTags,{Conjunction:"PresentTense",Noun:void 0,ProperNoun:"PresentTense"}),afterTags:wi(yi["Noun|Verb"].afterTags,{Gerund:"Plural",Noun:"PresentTense",Value:"PresentTense"})};var ki=yi;const Pi="Adjective",Ai="Infinitive",Ci="PresentTense",Ni="Singular",ji="PastTense",xi="Adverb",Ii="Plural",Ti="Actor",Hi="Verb",Di="Noun",Gi="LastName",Ei="Modal",Oi="Place",Fi="Participle";var Vi=[null,null,{ea:Ni,ia:Di,ic:Pi,ly:xi,"'n":Hi,"'t":Hi},{oed:ji,ued:ji,xed:ji," so":xi,"'ll":Ei,"'re":"Copula",azy:Pi,eer:Di,end:Hi,ped:ji,ffy:Pi,ify:Ai,ing:"Gerund",ize:Ai,ibe:Ai,lar:Pi,mum:Pi,nes:Ci,nny:Pi,ous:Pi,que:Pi,ger:Di,ber:Di,rol:Ni,sis:Ni,ogy:Ni,oid:Ni,ian:Ni,zes:Ci,eld:ji,ken:Fi,ven:Fi,ten:Fi,ect:Ai,ict:Ai,ign:Ai,oze:Ai,ful:Pi,bal:Pi,ton:Di},{amed:ji,aped:ji,ched:ji,lked:ji,rked:ji,reed:ji,nded:ji,mned:Pi,cted:ji,dged:ji,ield:Ni,akis:Gi,cede:Ai,chuk:Gi,czyk:Gi,ects:Ci,iend:Ni,ends:Hi,enko:Gi,ette:Ni,iary:Ni,wner:Ni,fies:Ci,fore:xi,gate:Ai,gone:Pi,ices:Ii,ints:Ii,ruct:Ai,ines:Ii,ions:Ii,ners:Ii,pers:Ii,lers:Ii,less:Pi,llen:Pi,made:Pi,nsen:Gi,oses:Ci,ould:Ei,some:Pi,sson:Gi,ians:Ii,tion:Ni,tage:Di,ique:Ni,tive:Pi,tors:Di,vice:Ni,lier:Ni,fier:Ni,wned:ji,gent:Ni,tist:Ti,pist:Ti,rist:Ti,mist:Ti,yist:Ti,vist:Ti,ists:Ti,lite:Ni,site:Ni,rite:Ni,mite:Ni,bite:Ni,mate:Ni,date:Ni,ndal:Ni,vent:Ni,uist:Ti,gist:Ti,note:Ni,cide:Ni,ence:Ni,wide:Pi,vide:Ai,ract:Ai,duce:Ai,pose:Ai,eive:Ai,lyze:Ai,lyse:Ai,iant:Pi,nary:Pi,ghty:Pi,uent:Pi,erer:Ti,bury:Oi,dorf:Di,esty:Di,wych:Oi,dale:Oi,folk:Oi},{elist:Ti,holic:Ni,phite:Ni,tized:ji,urned:ji,eased:ji,ances:Ii,bound:Pi,ettes:Ii,fully:xi,ishes:Ci,ities:Ii,marek:Gi,nssen:Gi,ology:Di,osome:Ni,tment:Ni,ports:Ii,rough:Pi,tches:Ci,tieth:"Ordinal",tures:Ii,wards:xi,where:xi,archy:Di,pathy:Di,opoly:Di,embly:Di,phate:Di,ndent:Ni,scent:Ni,onist:Ti,anist:Ti,alist:Ti,olist:Ti,icist:Ti,ounce:Ai,iable:Pi,borne:Pi,gnant:Pi,inant:Pi,igent:Pi,atory:Pi,rient:Ni,dient:Ni,maker:Ti,burgh:Oi,mouth:Oi,ceter:Oi,ville:Oi,worth:Di},{auskas:Gi,parent:Ni,cedent:Ni,ionary:Ni,cklist:Ni,keeper:Ti,logist:Ti,teenth:"Value",worker:Ti,master:Ti,writer:Ti,brough:Oi,cester:Oi},{logists:Ti,opoulos:Gi,borough:Oi,sdottir:Gi}];const zi="Adjective",$i="Noun",Li="Verb";var Si=[null,null,{},{neo:$i,bio:$i,"de-":Li,"re-":Li,"un-":Li,"ex-":$i},{anti:$i,auto:$i,faux:zi,hexa:$i,kilo:$i,mono:$i,nano:$i,octa:$i,poly:$i,semi:zi,tele:$i,"pro-":zi,"mis-":Li,"dis-":Li,"pre-":zi},{anglo:$i,centi:$i,ethno:$i,ferro:$i,grand:$i,hepta:$i,hydro:$i,intro:$i,macro:$i,micro:$i,milli:$i,nitro:$i,penta:$i,quasi:zi,radio:$i,tetra:$i,"omni-":zi,"post-":zi},{pseudo:zi,"extra-":zi,"hyper-":zi,"inter-":zi,"intra-":zi,"deca-":zi},{electro:$i}];const Mi="Adjective",Bi="Infinitive",Ji="PresentTense",Wi="Singular",qi="PastTense",Ki="Adverb",Ui="Expression",Ri="Actor",Qi="Verb",_i="Noun",Xi="LastName";var Zi={a:[[/.[aeiou]na$/,_i,"tuna"],[/.[oau][wvl]ska$/,Xi],[/.[^aeiou]ica$/,Wi,"harmonica"],[/^([hyj]a+)+$/,Ui,"haha"]],c:[[/.[^aeiou]ic$/,Mi]],d:[[/[aeiou](pp|ll|ss|ff|gg|tt|rr|bb|nn|mm)ed$/,qi,"popped"],[/.[aeo]{2}[bdgmnprvz]ed$/,qi,"rammed"],[/.[aeiou][sg]hed$/,qi,"gushed"],[/.[aeiou]red$/,qi,"hired"],[/.[aeiou]r?ried$/,qi,"hurried"],[/[^aeiou]ard$/,Wi,"steward"],[/[aeiou][^aeiou]id$/,Mi,""],[/.[vrl]id$/,Mi,"livid"],[/..led$/,qi,"hurled"],[/.[iao]sed$/,qi,""],[/[aeiou]n?[cs]ed$/,qi,""],[/[aeiou][rl]?[mnf]ed$/,qi,""],[/[aeiou][ns]?c?ked$/,qi,"bunked"],[/[aeiou]gned$/,qi],[/[aeiou][nl]?ged$/,qi],[/.[tdbwxyz]ed$/,qi],[/[^aeiou][aeiou][tvx]ed$/,qi],[/.[cdflmnprstv]ied$/,qi,"emptied"]],e:[[/.[lnr]ize$/,Bi,"antagonize"],[/.[^aeiou]ise$/,Bi,"antagonise"],[/.[aeiou]te$/,Bi,"bite"],[/.[^aeiou][ai]ble$/,Mi,"fixable"],[/.[^aeiou]eable$/,Mi,"maleable"],[/.[ts]ive$/,Mi,"festive"],[/[a-z]-like$/,Mi,"woman-like"]],h:[[/.[^aeiouf]ish$/,Mi,"cornish"],[/.v[iy]ch$/,Xi,"..ovich"],[/^ug?h+$/,Ui,"ughh"],[/^uh[ -]?oh$/,Ui,"uhoh"],[/[a-z]-ish$/,Mi,"cartoon-ish"]],i:[[/.[oau][wvl]ski$/,Xi,"polish-male"]],k:[[/^(k){2}$/,Ui,"kkkk"]],l:[[/.[gl]ial$/,Mi,"familial"],[/.[^aeiou]ful$/,Mi,"fitful"],[/.[nrtumcd]al$/,Mi,"natal"],[/.[^aeiou][ei]al$/,Mi,"familial"]],m:[[/.[^aeiou]ium$/,Wi,"magnesium"],[/[^aeiou]ism$/,Wi,"schism"],[/^[hu]m+$/,Ui,"hmm"],[/^\d+ ?[ap]m$/,"Date","3am"]],n:[[/.[lsrnpb]ian$/,Mi,"republican"],[/[^aeiou]ician$/,Ri,"musician"],[/[aeiou][ktrp]in'$/,"Gerund","cookin'"]],o:[[/^no+$/,Ui,"noooo"],[/^(yo)+$/,Ui,"yoo"],[/^wo{2,}[pt]?$/,Ui,"woop"]],r:[[/.[bdfklmst]ler$/,"Noun"],[/[aeiou][pns]er$/,Wi],[/[^i]fer$/,Bi],[/.[^aeiou][ao]pher$/,Ri],[/.[lk]er$/,"Noun"],[/.ier$/,"Comparative"]],t:[[/.[di]est$/,"Superlative"],[/.[icldtgrv]ent$/,Mi],[/[aeiou].*ist$/,Mi],[/^[a-z]et$/,Qi]],s:[[/.[^aeiou]ises$/,Ji],[/.[rln]ates$/,Ji],[/.[^z]ens$/,Qi],[/.[lstrn]us$/,Wi],[/.[aeiou]sks$/,Ji],[/.[aeiou]kes$/,Ji],[/[aeiou][^aeiou]is$/,Wi],[/[a-z]'s$/,_i],[/^yes+$/,Ui]],v:[[/.[^aeiou][ai][kln]ov$/,Xi]],y:[[/.[cts]hy$/,Mi],[/.[st]ty$/,Mi],[/.[tnl]ary$/,Mi],[/.[oe]ry$/,Wi],[/[rdntkbhs]ly$/,Ki],[/.(gg|bb|zz)ly$/,Mi],[/...lly$/,Ki],[/.[gk]y$/,Mi],[/[bszmp]{2}y$/,Mi],[/.[ai]my$/,Mi],[/[ea]{2}zy$/,Mi],[/.[^aeiou]ity$/,Wi]]};const Yi="Verb",es="Noun";var ts={leftTags:[["Adjective",es],["Possessive",es],["Determiner",es],["Adverb",Yi],["Pronoun",Yi],["Value",es],["Ordinal",es],["Modal",Yi],["Superlative",es],["Demonym",es],["Honorific","Person"]],leftWords:[["i",Yi],["first",es],["it",Yi],["there",Yi],["not",Yi],["because",es],["if",es],["but",es],["who",Yi],["this",es],["his",es],["when",es],["you",Yi],["very","Adjective"],["old",es],["never",Yi],["before",es],["a",es],["the",es],["been",Yi]],rightTags:[["Copula",es],["PastTense",es],["Conjunction",es],["Modal",es]],rightWords:[["there",Yi],["me",Yi],["man","Adjective"],["him",Yi],["it",Yi],["were",es],["took",es],["himself",Yi],["went",es],["who",es],["jr","Person"]]},ns={fwd:"3:ser,ier¦1er:h,t,f,l,n¦1r:e¦2er:ss,or,om",both:"3er:ver,ear,alm¦3ner:hin¦3ter:lat¦2mer:im¦2er:ng,rm,mb¦2ber:ib¦2ger:ig¦1er:w,p,k,d¦ier:y",rev:"1:tter,yer¦2:uer,ver,ffer,oner,eler,ller,iler,ster,cer,uler,sher,ener,gher,aner,adder,nter,eter,rter,hter,rner,fter¦3:oser,ooler,eafer,user,airer,bler,maler,tler,eater,uger,rger,ainer,urer,ealer,icher,pler,emner,icter,nser,iser¦4:arser,viner,ucher,rosser,somer,ndomer,moter,oother,uarer,hiter¦5:nuiner,esser,emier¦ar:urther",ex:"worse:bad¦better:good¦4er:fair,gray,poor¦1urther:far¦3ter:fat,hot,wet¦3er:lay,shy,fun¦3der:mad,sad¦4der:glad¦:¦4r:cute,dire,fake,fine,free,lame,late,pale,rare,ripe,rude,safe,sore,tame,wide¦5r:eerie,stale"},rs={fwd:"1:nning,tting,rring,pping,eing,mming,gging,dding,bbing,kking¦2:eking,oling,eling,eming¦3:velling,siting,uiting,fiting,loting,geting,ialing,celling¦4:graming",both:"1:aing,iing,fing,xing,ying,oing,hing,wing¦2:tzing,rping,izzing,bting,mning,sping,wling,rling,wding,rbing,uping,lming,wning,mping,oning,lting,mbing,lking,fting,hting,sking,gning,pting,cking,ening,nking,iling,eping,ering,rting,rming,cting,lping,ssing,nting,nding,lding,sting,rning,rding,rking¦3:belling,siping,toming,yaking,uaking,oaning,auling,ooping,aiding,naping,euring,tolling,uzzing,ganing,haning,ualing,halling,iasing,auding,ieting,ceting,ouling,voring,ralling,garing,joring,oaming,oaking,roring,nelling,ooring,uelling,eaming,ooding,eaping,eeting,ooting,ooming,xiting,keting,ooking,ulling,airing,oaring,biting,outing,oiting,earing,naling,oading,eeding,ouring,eaking,aiming,illing,oining,eaning,onging,ealing,aining,eading¦4:thoming,melling,aboring,ivoting,weating,dfilling,onoring,eriting,imiting,tialling,rgining,otoring,linging,winging,lleting,louding,spelling,mpelling,heating,feating,opelling,choring,welling,ymaking,ctoring,calling,peating,iloring,laiting,utoring,uditing,mmaking,loating,iciting,waiting,mbating,voiding,otalling,nsoring,nselling,ocusing,itoring,eloping¦5:rselling,umpeting,atrolling,treating,tselling,rpreting,pringing,ummeting,ossoming,elmaking,eselling,rediting,totyping,onmaking,rfeiting,ntrolling¦5e:chmaking,dkeeping,severing,erouting,ecreting,ephoning,uthoring,ravening,reathing,pediting,erfering,eotyping,fringing,entoring,ombining,ompeting¦4e:emaking,eething,twining,rruling,chuting,xciting,rseding,scoping,edoring,pinging,lunging,agining,craping,pleting,eleting,nciting,nfining,ncoding,tponing,ecoding,writing,esaling,nvening,gnoring,evoting,mpeding,rvening,dhering,mpiling,storing,nviting,ploring¦3e:tining,nuring,saking,miring,haling,ceding,xuding,rining,nuting,laring,caring,miling,riding,hoking,piring,lading,curing,uading,noting,taping,futing,paring,hading,loding,siring,guring,vading,voking,during,niting,laning,caping,luting,muting,ruding,ciding,juring,laming,caling,hining,uoting,liding,ciling,duling,tuting,puting,cuting,coring,uiding,tiring,turing,siding,rading,enging,haping,buting,lining,taking,anging,haring,uiring,coming,mining,moting,suring,viding,luding¦2e:tring,zling,uging,oging,gling,iging,vring,fling,lging,obing,psing,pling,ubing,cling,dling,wsing,iking,rsing,dging,kling,ysing,tling,rging,eging,nsing,uning,osing,uming,using,ibing,bling,aging,ising,asing,ating¦2ie:rlying¦1e:zing,uing,cing,ving",rev:"ying:ie¦1ing:se,ke,te,we,ne,re,de,pe,me,le,c,he¦2ing:ll,ng,dd,ee,ye,oe,rg,us¦2ning:un¦2ging:og,ag,ug,ig,eg¦2ming:um¦2bing:ub,ab,eb,ob¦3ning:lan,can,hin,pin,win¦3ring:cur,lur,tir,tar,pur,car¦3ing:ait,del,eel,fin,eat,oat,eem,lel,ool,ein,uin¦3ping:rop,rap,top,uip,wap,hip,hop,lap,rip,cap¦3ming:tem,wim,rim,kim,lim¦3ting:mat,cut,pot,lit,lot,hat,set,pit,put¦3ding:hed,bed,bid¦3king:rek¦3ling:cil,pel¦3bing:rib¦4ning:egin¦4ing:isit,ruit,ilot,nsit,dget,rkel,ival,rcel¦4ring:efer,nfer¦4ting:rmit,mmit,ysit,dmit,emit,bmit,tfit,gret¦4ling:evel,xcel,ivel¦4ding:hred¦5ing:arget,posit,rofit¦5ring:nsfer¦5ting:nsmit,orget,cquit¦5ling:ancel,istil",ex:"3:adding,eating,aiming,aiding,airing,outing,gassing,setting,getting,putting,cutting,winning,sitting,betting,mapping,tapping,letting,bidding,hitting,tanning,netting,popping,fitting,capping,lapping,barring,banning,vetting,topping,rotting,tipping,potting,wetting,pitting,dipping,budding,hemming,pinning,jetting,kidding,padding,podding,sipping,wedding,bedding,donning,warring,penning,gutting,cueing,wadding,petting,ripping,napping,matting,tinning,binning,dimming,hopping,mopping,nodding,panning,rapping,ridding,sinning¦4:selling,falling,calling,waiting,editing,telling,rolling,heating,boating,hanging,beating,coating,singing,tolling,felling,polling,discing,seating,voiding,gelling,yelling,baiting,reining,ruining,seeking,spanning,stepping,knitting,emitting,slipping,quitting,dialing,omitting,clipping,shutting,skinning,abutting,flipping,trotting,cramming,fretting,suiting¦5:bringing,treating,spelling,stalling,trolling,expelling,rivaling,wringing,deterring,singeing,befitting,refitting¦6:enrolling,distilling,scrolling,strolling,caucusing,travelling¦7:installing,redefining,stencilling,recharging,overeating,benefiting,unraveling,programing¦9:reprogramming¦is:being¦2e:using,aging,owing¦3e:making,taking,coming,noting,hiring,filing,coding,citing,doping,baking,coping,hoping,lading,caring,naming,voting,riding,mining,curing,lining,ruling,typing,boring,dining,firing,hiding,piling,taping,waning,baling,boning,faring,honing,wiping,luring,timing,wading,piping,fading,biting,zoning,daring,waking,gaming,raking,ceding,tiring,coking,wining,joking,paring,gaping,poking,pining,coring,liming,toting,roping,wiring,aching¦4e:writing,storing,eroding,framing,smoking,tasting,wasting,phoning,shaking,abiding,braking,flaking,pasting,priming,shoring,sloping,withing,hinging¦5e:defining,refining,renaming,swathing,fringing,reciting¦1ie:dying,tying,lying,vying¦7e:sunbathing"},as={fwd:"1:mt¦2:llen¦3:iven,aken¦:ne¦y:in",both:"1:wn¦2:me,aten¦3:seen,bidden,isen¦4:roven,asten¦3l:pilt¦3d:uilt¦2e:itten¦1im:wum¦1eak:poken¦1ine:hone¦1ose:osen¦1in:gun¦1ake:woken¦ear:orn¦eal:olen¦eeze:ozen¦et:otten¦ink:unk¦ing:ung",rev:"2:un¦oken:eak¦ought:eek¦oven:eave¦1ne:o¦1own:ly¦1den:de¦1in:ay¦2t:am¦2n:ee¦3en:all¦4n:rive,sake,take¦5n:rgive",ex:"2:been¦3:seen,run¦4:given,taken¦5:shaken¦2eak:broken¦1ive:dove¦2y:flown¦3e:hidden,ridden¦1eek:sought¦1ake:woken¦1eave:woven"},os={fwd:"1:oes¦1ve:as",both:"1:xes¦2:zzes,ches,shes,sses¦3:iases¦2y:llies,plies¦1y:cies,bies,ties,vies,nies,pies,dies,ries,fies¦:s",rev:"1ies:ly¦2es:us,go,do¦3es:cho,eto",ex:"2:does,goes¦3:gasses¦5:focuses¦is:are¦3y:relies¦2y:flies¦2ve:has"},is={fwd:"1st:e¦1est:l,m,f,s¦1iest:cey¦2est:or,ir¦3est:ver",both:"4:east¦5:hwest¦5lest:erful¦4est:weet,lgar,tter,oung¦4most:uter¦3est:ger,der,rey,iet,ong,ear¦3test:lat¦3most:ner¦2est:pt,ft,nt,ct,rt,ht¦2test:it¦2gest:ig¦1est:b,k,n,p,h,d,w¦iest:y",rev:"1:ttest,nnest,yest¦2:sest,stest,rmest,cest,vest,lmest,olest,ilest,ulest,ssest,imest,uest¦3:rgest,eatest,oorest,plest,allest,urest,iefest,uelest,blest,ugest,amest,yalest,ealest,illest,tlest,itest¦4:cerest,eriest,somest,rmalest,ndomest,motest,uarest,tiffest¦5:leverest,rangest¦ar:urthest¦3ey:riciest",ex:"best:good¦worst:bad¦5est:great¦4est:fast,full,fair,dull¦3test:hot,wet,fat¦4nest:thin¦1urthest:far¦3est:gay,shy,ill¦4test:neat¦4st:late,wide,fine,safe,cute,fake,pale,rare,rude,sore,ripe,dire¦6st:severe"},ss={fwd:"1:tistic,eable,lful,sful,ting,tty¦2:onate,rtable,geous,ced,seful,ctful¦3:ortive,ented¦arity:ear¦y:etic¦fulness:begone¦1ity:re¦1y:tiful,gic¦2ity:ile,imous,ilous,ime¦2ion:ated¦2eness:iving¦2y:trious¦2ation:iring¦2tion:vant¦3ion:ect¦3ce:mant,mantic¦3tion:irable¦3y:est,estic¦3m:mistic,listic¦3ess:ning¦4n:utious¦4on:rative,native,vative,ective¦4ce:erant",both:"1:king,wing¦2:alous,ltuous,oyful,rdous¦3:gorous,ectable,werful,amatic¦4:oised,usical,agical,raceful,ocused,lined,ightful¦5ness:stful,lding,itous,nuous,ulous,otous,nable,gious,ayful,rvous,ntous,lsive,peful,entle,ciful,osive,leful,isive,ncise,reful,mious¦5ty:ivacious¦5ties:ubtle¦5ce:ilient,adiant,atient¦5cy:icient¦5sm:gmatic¦5on:sessive,dictive¦5ity:pular,sonal,eative,entic¦5sity:uminous¦5ism:conic¦5nce:mperate¦5ility:mitable¦5ment:xcited¦5n:bitious¦4cy:brant,etent,curate¦4ility:erable,acable,icable,ptable¦4ty:nacious,aive,oyal,dacious¦4n:icious¦4ce:vient,erent,stent,ndent,dient,quent,ident¦4ness:adic,ound,hing,pant,sant,oing,oist,tute¦4icity:imple¦4ment:fined,mused¦4ism:otic¦4ry:dantic¦4ity:tund,eral¦4edness:hand¦4on:uitive¦4lity:pitable¦4sm:eroic,namic¦4sity:nerous¦3th:arm¦3ility:pable,bable,dable,iable¦3cy:hant,nant,icate¦3ness:red,hin,nse,ict,iet,ite,oud,ind,ied,rce¦3ion:lute¦3ity:ual,gal,volous,ial¦3ce:sent,fensive,lant,gant,gent,lent,dant¦3on:asive¦3m:fist,sistic,iastic¦3y:terious,xurious,ronic,tastic¦3ur:amorous¦3e:tunate¦3ation:mined¦3sy:rteous¦3ty:ain¦3ry:ave¦3ment:azed¦2ness:de,on,ue,rn,ur,ft,rp,pe,om,ge,rd,od,ay,ss,er,ll,oy,ap,ht,ld,ad,rt¦2inousness:umous¦2ity:neous,ene,id,ane¦2cy:bate,late¦2ation:ized¦2ility:oble,ible¦2y:odic¦2e:oving,aring¦2s:ost¦2itude:pt¦2dom:ee¦2ance:uring¦2tion:reet¦2ion:oted¦2sion:ending¦2liness:an¦2or:rdent¦1th:ung¦1e:uable¦1ness:w,h,k,f¦1ility:mble¦1or:vent¦1ement:ging¦1tiquity:ncient¦1ment:hed¦verty:or¦ength:ong¦eat:ot¦pth:ep¦iness:y",rev:"",ex:"5:forceful,humorous¦8:charismatic¦13:understanding¦5ity:active¦11ness:adventurous,inquisitive,resourceful¦8on:aggressive,automatic,perceptive¦7ness:amorous,fatuous,furtive,ominous,serious¦5ness:ample,sweet¦12ness:apprehensive,cantankerous,contemptuous,ostentatious¦13ness:argumentative,conscientious¦9ness:assertive,facetious,imperious,inventive,oblivious,rapacious,receptive,seditious,whimsical¦10ness:attractive,expressive,impressive,loquacious,salubrious,thoughtful¦3edom:boring¦4ness:calm,fast,keen,tame¦8ness:cheerful,gracious,specious,spurious,timorous,unctuous¦5sity:curious¦9ion:deliberate¦8ion:desperate¦6e:expensive¦7ce:fragrant¦3y:furious¦9ility:ineluctable¦6ism:mystical¦8ity:physical,proactive,sensitive,vertical¦5cy:pliant¦7ity:positive¦9ity:practical¦12ism:professional¦6ce:prudent¦3ness:red¦6cy:vagrant¦3dom:wise"};var ls=function(e="",t={}){let n=function(e,t={}){return t.hasOwnProperty(e)?t[e]:null}(e,t.ex);return n=n||function(e,t=[]){for(let n=0;n=1;r-=1){let a=e.length-r,o=e.substring(a,e.length);if(!0===t.hasOwnProperty(o))return e.slice(0,a)+t[o];if(!0===n.hasOwnProperty(o))return e.slice(0,a)+n[o]}return t.hasOwnProperty("")?e+t[""]:n.hasOwnProperty("")?e+n[""]:null}(e,t.fwd,t.both),n=n||e,n};const us=function(e){return Object.entries(e).reduce(((e,t)=>(e[t[1]]=t[0],e)),{})};var cs=function(e={}){return{reversed:!0,both:us(e.both),ex:us(e.ex),fwd:e.rev||{}}};const hs=/^([0-9]+)/,ds=function(e){let t=function(e){let t={};return e.split("¦").forEach((e=>{let[n,r]=e.split(":");r=(r||"").split(","),r.forEach((e=>{t[e]=n}))})),t}(e);return Object.keys(t).reduce(((e,n)=>(e[n]=function(e="",t=""){let n=(t=String(t)).match(hs);if(null===n)return t;let r=Number(n[1])||0;return e.substring(0,r)+t.replace(hs,"")}(n,t[n]),e)),{})};var gs=function(e={}){return"string"==typeof e&&(e=JSON.parse(e)),e.fwd=ds(e.fwd||""),e.both=ds(e.both||""),e.rev=ds(e.rev||""),e.ex=ds(e.ex||""),e};const ms=gs({fwd:"1:tted,wed,gged,nned,een,rred,pped,yed,bbed,oed,dded,rd,wn,mmed¦2:eed,nded,et,hted,st,oled,ut,emed,eled,lded,ken,rt,nked,apt,ant,eped,eked¦3:eared,eat,eaded,nelled,ealt,eeded,ooted,eaked,eaned,eeted,mited,bid,uit,ead,uited,ealed,geted,velled,ialed,belled¦4:ebuted,hined,comed¦y:ied¦ome:ame¦ear:ore¦ind:ound¦ing:ung,ang¦ep:pt¦ink:ank,unk¦ig:ug¦all:ell¦ee:aw¦ive:ave¦eeze:oze¦old:eld¦ave:ft¦ake:ook¦ell:old¦ite:ote¦ide:ode¦ine:one¦in:un,on¦eal:ole¦im:am¦ie:ay¦and:ood¦1ise:rose¦1eak:roke¦1ing:rought¦1ive:rove¦1el:elt¦1id:bade¦1et:got¦1y:aid¦1it:sat¦3e:lid¦3d:pent",both:"1:aed,fed,xed,hed¦2:sged,xted,wled,rped,lked,kied,lmed,lped,uped,bted,rbed,rked,wned,rled,mped,fted,mned,mbed,zzed,omed,ened,cked,gned,lted,sked,ued,zed,nted,ered,rted,rmed,ced,sted,rned,ssed,rded,pted,ved,cted¦3:cled,eined,siped,ooned,uked,ymed,jored,ouded,ioted,oaned,lged,asped,iged,mured,oided,eiled,yped,taled,moned,yled,lit,kled,oaked,gled,naled,fled,uined,oared,valled,koned,soned,aided,obed,ibed,meted,nicked,rored,micked,keted,vred,ooped,oaded,rited,aired,auled,filled,ouled,ooded,ceted,tolled,oited,bited,aped,tled,vored,dled,eamed,nsed,rsed,sited,owded,pled,sored,rged,osed,pelled,oured,psed,oated,loned,aimed,illed,eured,tred,ioned,celled,bled,wsed,ooked,oiled,itzed,iked,iased,onged,ased,ailed,uned,umed,ained,auded,nulled,ysed,eged,ised,aged,oined,ated,used,dged,doned¦4:ntied,efited,uaked,caded,fired,roped,halled,roked,himed,culed,tared,lared,tuted,uared,routed,pited,naked,miled,houted,helled,hared,cored,caled,tired,peated,futed,ciled,called,tined,moted,filed,sided,poned,iloted,honed,lleted,huted,ruled,cured,named,preted,vaded,sured,talled,haled,peded,gined,nited,uided,ramed,feited,laked,gured,ctored,unged,pired,cuted,voked,eloped,ralled,rined,coded,icited,vided,uaded,voted,mined,sired,noted,lined,nselled,luted,jured,fided,puted,piled,pared,olored,cided,hoked,enged,tured,geoned,cotted,lamed,uiled,waited,udited,anged,luded,mired,uired,raded¦5:modelled,izzled,eleted,umpeted,ailored,rseded,treated,eduled,ecited,rammed,eceded,atrolled,nitored,basted,twined,itialled,ncited,gnored,ploded,xcited,nrolled,namelled,plored,efeated,redited,ntrolled,nfined,pleted,llided,lcined,eathed,ibuted,lloted,dhered,cceded¦3ad:sled¦2aw:drew¦2ot:hot¦2ke:made¦2ow:hrew,grew¦2ose:hose¦2d:ilt¦2in:egan¦1un:ran¦1ink:hought¦1ick:tuck¦1ike:ruck¦1eak:poke,nuck¦1it:pat¦1o:did¦1ow:new¦1ake:woke¦go:went",rev:"3:rst,hed,hut,cut,set¦4:tbid¦5:dcast,eread,pread,erbid¦ought:uy,eek¦1ied:ny,ly,dy,ry,fy,py,vy,by,ty,cy¦1ung:ling,ting,wing¦1pt:eep¦1ank:rink¦1ore:bear,wear¦1ave:give¦1oze:reeze¦1ound:rind,wind¦1ook:take,hake¦1aw:see¦1old:sell¦1ote:rite¦1ole:teal¦1unk:tink¦1am:wim¦1ay:lie¦1ood:tand¦1eld:hold¦2d:he,ge,re,le,leed,ne,reed,be,ye,lee,pe,we¦2ed:dd,oy,or,ey,gg,rr,us,ew,to¦2ame:ecome,rcome¦2ped:ap¦2ged:ag,og,ug,eg¦2bed:ub,ab,ib,ob¦2lt:neel¦2id:pay¦2ang:pring¦2ove:trive¦2med:um¦2ode:rride¦2at:ysit¦3ted:mit,hat,mat,lat,pot,rot,bat¦3ed:low,end,tow,und,ond,eem,lay,cho,dow,xit,eld,ald,uld,law,lel,eat,oll,ray,ank,fin,oam,out,how,iek,tay,haw,ait,vet,say,cay,bow¦3d:ste,ede,ode,ete,ree,ude,ame,oke,ote,ime,ute,ade¦3red:lur,cur,pur,car¦3ped:hop,rop,uip,rip,lip,tep,top¦3ded:bed,rod,kid¦3ade:orbid¦3led:uel¦3ned:lan,can,kin,pan,tun¦3med:rim,lim¦4ted:quit,llot¦4ed:pear,rrow,rand,lean,mand,anel,pand,reet,link,abel,evel,imit,ceed,ruit,mind,peal,veal,hool,head,pell,well,mell,uell,band,hear,weak¦4led:nnel,qual,ebel,ivel¦4red:nfer,efer,sfer¦4n:sake,trew¦4d:ntee¦4ded:hred¦4ned:rpin¦5ed:light,nceal,right,ndear,arget,hread,eight,rtial,eboot¦5d:edite,nvite¦5ted:egret¦5led:ravel",ex:"2:been,upped¦3:added,aged,aided,aimed,aired,bid,died,dyed,egged,erred,eyed,fit,gassed,hit,lied,owed,pent,pied,tied,used,vied,oiled,outed,banned,barred,bet,canned,cut,dipped,donned,ended,feed,inked,jarred,let,manned,mowed,netted,padded,panned,pitted,popped,potted,put,set,sewn,sowed,tanned,tipped,topped,vowed,weed,bowed,jammed,binned,dimmed,hopped,mopped,nodded,pinned,rigged,sinned,towed,vetted¦4:ached,baked,baled,boned,bored,called,caned,cared,ceded,cited,coded,cored,cubed,cured,dared,dined,edited,exited,faked,fared,filed,fined,fired,fuelled,gamed,gelled,hired,hoped,joked,lined,mined,named,noted,piled,poked,polled,pored,pulled,reaped,roamed,rolled,ruled,seated,shed,sided,timed,tolled,toned,voted,waited,walled,waned,winged,wiped,wired,zoned,yelled,tamed,lubed,roped,faded,mired,caked,honed,banged,culled,heated,raked,welled,banded,beat,cast,cooled,cost,dealt,feared,folded,footed,handed,headed,heard,hurt,knitted,landed,leaked,leapt,linked,meant,minded,molded,neared,needed,peaked,plodded,plotted,pooled,quit,read,rooted,sealed,seeded,seeped,shipped,shunned,skimmed,slammed,sparred,stemmed,stirred,suited,thinned,twinned,swayed,winked,dialed,abutted,blotted,fretted,healed,heeded,peeled,reeled¦5:basted,cheated,equalled,eroded,exiled,focused,opined,pleated,primed,quoted,scouted,shored,sloped,smoked,sniped,spelled,spouted,routed,staked,stored,swelled,tasted,treated,wasted,smelled,dwelled,honored,prided,quelled,eloped,scared,coveted,sweated,breaded,cleared,debuted,deterred,freaked,modeled,pleaded,rebutted,speeded¦6:anchored,defined,endured,impaled,invited,refined,revered,strolled,cringed,recast,thrust,unfolded¦7:authored,combined,competed,conceded,convened,excreted,extruded,redefined,restored,secreted,rescinded,welcomed¦8:expedited,infringed¦9:interfered,intervened,persevered¦10:contravened¦eat:ate¦is:was¦go:went¦are:were¦3d:bent,lent,rent,sent¦3e:bit,fled,hid,lost¦3ed:bled,bred¦2ow:blew,grew¦1uy:bought¦2tch:caught¦1o:did¦1ive:dove,gave¦2aw:drew¦2ed:fed¦2y:flew,laid,paid,said¦1ight:fought¦1et:got¦2ve:had¦1ang:hung¦2ad:led¦2ght:lit¦2ke:made¦2et:met¦1un:ran¦1ise:rose¦1it:sat¦1eek:sought¦1each:taught¦1ake:woke,took¦1eave:wove¦2ise:arose¦1ear:bore,tore,wore¦1ind:bound,found,wound¦2eak:broke¦2ing:brought,wrung¦1ome:came¦2ive:drove¦1ig:dug¦1all:fell¦2el:felt¦4et:forgot¦1old:held¦2ave:left¦1ing:rang,sang¦1ide:rode¦1ink:sank¦1ee:saw¦2ine:shone¦4e:slid¦1ell:sold,told¦4d:spent¦2in:spun¦1in:won"}),ps=gs(os),fs=gs(rs),vs=gs(as),bs=cs(ms),ys=cs(ps),ws=cs(fs),ks=cs(vs),Ps=gs(ns),As=gs(is);var Cs={fromPast:ms,fromPresent:ps,fromGerund:fs,fromParticiple:vs,toPast:bs,toPresent:ys,toGerund:ws,toParticiple:ks,toComparative:Ps,toSuperlative:As,fromComparative:cs(Ps),fromSuperlative:cs(As),adjToNoun:gs(ss)},Ns=["academy","administration","agence","agences","agencies","agency","airlines","airways","army","assoc","associates","association","assurance","authority","autorite","aviation","bank","banque","board","boys","brands","brewery","brotherhood","brothers","bureau","cafe","co","caisse","capital","care","cathedral","center","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","corp","council","crew","data","departement","department","departments","design","development","directorate","division","drilling","education","eglise","electric","electricity","energy","ensemble","enterprise","enterprises","entertainment","estate","etat","faculty","faction","federation","financial","fm","foundation","fund","gas","gazette","girls","government","group","guild","herald","holdings","hospital","hotel","hotels","inc","industries","institut","institute","institutes","insurance","international","interstate","investment","investments","investors","journal","laboratory","labs","llc","ltd","limited","machines","magazine","management","marine","marketing","markets","media","memorial","ministere","ministry","military","mobile","motor","motors","musee","museum","news","observatory","office","oil","optical","orchestra","organization","partners","partnership","petrol","petroleum","pharmacare","pharmaceutical","pharmaceuticals","pizza","plc","police","politburo","polytechnic","post","power","press","productions","quartet","radio","reserve","resources","restaurant","restaurants","savings","school","securities","service","services","societe","subsidiary","society","sons","subcommittee","syndicat","systems","telecommunications","telegraph","television","times","tribunal","tv","union","university","utilities","workers"].reduce(((e,t)=>(e[t]=!0,e)),{}),js=["atoll","basin","bay","beach","bluff","bog","camp","canyon","canyons","cape","cave","caves","cliffs","coast","cove","coves","crater","creek","desert","dune","dunes","escarpment","estuary","falls","fjord","fjords","forest","forests","glacier","gorge","gorges","gulf","gully","highland","hill","hills","inlet","island","islands","isthmus","knoll","lagoon","lake","marsh","marshes","mount","mountain","mountains","narrows","peninsula","plains","plateau","pond","rapids","ravine","reef","reefs","ridge","river","rivers","sandhill","shoal","shore","shoreline","shores","strait","straits","stream","swamp","tombolo","trail","trails","trench","valley","vallies","volcano","waterfall","watershed","wetland","woods","burough","county","district","municipality","prefecture","province","region","reservation","state","territory","borough","metropolis","downtown","uptown","midtown","city","town","township","hamlet","country","kingdom","enclave","neighbourhood","neighborhood","kingdom","ward","zone","airport","amphitheater","arch","arena","auditorium","bar","barn","basilica","battlefield","bridge","building","castle","centre","coliseum","cineplex","complex","dam","farm","field","fort","garden","gardens","gymnasium","hall","house","levee","library","memorial","monument","museum","gallery","palace","pillar","pits","plantation","playhouse","quarry","sportsfield","sportsplex","stadium","terrace","terraces","theater","tower","park","parks","site","raceway","sportsplex","st","street","rd","road","crescent","cr","way","tr","terrace","avenue","ave"].reduce(((e,t)=>(e[t]=!0,e)),{}),xs=[[/([^v])ies$/i,"$1y"],[/(ise)s$/i,"$1"],[/(kn|[^o]l|w)ives$/i,"$1ife"],[/^((?:ca|e|ha|(?:our|them|your)?se|she|wo)l|lea|loa|shea|thie)ves$/i,"$1f"],[/^(dwar|handkerchie|hoo|scar|whar)ves$/i,"$1f"],[/(antenn|formul|nebul|vertebr|vit)ae$/i,"$1a"],[/(octop|vir|radi|nucle|fung|cact|stimul)(i)$/i,"$1us"],[/(buffal|tomat|tornad)(oes)$/i,"$1o"],[/(ause)s$/i,"$1"],[/(ease)s$/i,"$1"],[/(ious)es$/i,"$1"],[/(ouse)s$/i,"$1"],[/(ose)s$/i,"$1"],[/(..ase)s$/i,"$1"],[/(..[aeiu]s)es$/i,"$1"],[/(vert|ind|cort)(ices)$/i,"$1ex"],[/(matr|append)(ices)$/i,"$1ix"],[/([xo]|ch|ss|sh)es$/i,"$1"],[/men$/i,"man"],[/(n)ews$/i,"$1ews"],[/([ti])a$/i,"$1um"],[/([^aeiouy]|qu)ies$/i,"$1y"],[/(s)eries$/i,"$1eries"],[/(m)ovies$/i,"$1ovie"],[/(cris|ax|test)es$/i,"$1is"],[/(alias|status)es$/i,"$1"],[/(ss)$/i,"$1"],[/(ic)s$/i,"$1"],[/s$/i,""]];var Is=function(e,t){const{irregularPlurals:n}=t.two;let r=(a=n,Object.keys(a).reduce(((e,t)=>(e[a[t]]=t,e)),{}));var a;if(r.hasOwnProperty(e))return r[e];for(let t=0;t(Hs[t].forEach((n=>e[n]=t)),e)),{});var Ds=Hs;var Gs=function(e){let t=e.substring(e.length-3);if(!0===Ds.hasOwnProperty(t))return Ds[t];let n=e.substring(e.length-2);return!0===Ds.hasOwnProperty(n)?Ds[n]:"s"===e.substring(e.length-1)?"PresentTense":null};const Es={are:"be",were:"be",been:"be",is:"be",am:"be",was:"be",be:"be",being:"be"};var Os=function(e,t,n){const{fromPast:r,fromPresent:a,fromGerund:o,fromParticiple:i}=t.two.models;let{prefix:s,verb:l,particle:u}=function(e,t){let n="",r={};t.one&&t.one.prefixes&&(r=t.one.prefixes);let[a,o]=e.split(/ /);return o&&!0===r[a]&&(n=a,a=o,o=""),{prefix:n,verb:a,particle:o}}(e,t),c="";if(n||(n=Gs(e)),Es.hasOwnProperty(e))c=Es[e];else if("Participle"===n)c=ls(l,i);else if("PastTense"===n)c=ls(l,r);else if("PresentTense"===n)c=ls(l,a);else{if("Gerund"!==n)return e;c=ls(l,o)}return u&&(c+=" "+u),s&&(c=s+" "+c),c};var Fs=function(e,t){const{toPast:n,toPresent:r,toGerund:a,toParticiple:o}=t.two.models;if("be"===e)return{Infinitive:e,Gerund:"being",PastTense:"was",PresentTense:"is"};let[i,s]=(e=>/ /.test(e)?e.split(/ /):[e,""])(e),l={Infinitive:i,PastTense:ls(i,n),PresentTense:ls(i,r),Gerund:ls(i,a),FutureTense:"will "+i},u=ls(i,o);if(u!==e&&u!==l.PastTense){let n=t.one.lexicon||{};"Participle"!==n[u]&&"Adjective"!==n[u]||("play"===e&&(u="played"),l.Participle=u)}return s&&Object.keys(l).forEach((e=>{l[e]+=" "+s})),l};var Vs={toInfinitive:Os,conjugate:Fs,all:function(e,t){let n=Fs(e,t);return delete n.FutureTense,Object.values(n).filter((e=>e))}};const zs=function(e,t){const n=t.two.models.toSuperlative;return ls(e,n)},$s=function(e,t){const n=t.two.models.toComparative;return ls(e,n)};var Ls=function(e="",t=[]){const n=e.length;for(let r=n<=6?n-1:6;r>=1;r-=1){let a=e.substring(n-r,e.length);if(!0===t[a.length].hasOwnProperty(a)){return e.slice(0,n-r)+t[a.length][a]}}return null};const Ss="ically",Ms=new Set(["analyt"+Ss,"chem"+Ss,"class"+Ss,"clin"+Ss,"crit"+Ss,"ecolog"+Ss,"electr"+Ss,"empir"+Ss,"frant"+Ss,"grammat"+Ss,"ident"+Ss,"ideolog"+Ss,"log"+Ss,"mag"+Ss,"mathemat"+Ss,"mechan"+Ss,"med"+Ss,"method"+Ss,"method"+Ss,"mus"+Ss,"phys"+Ss,"phys"+Ss,"polit"+Ss,"pract"+Ss,"rad"+Ss,"satir"+Ss,"statist"+Ss,"techn"+Ss,"technolog"+Ss,"theoret"+Ss,"typ"+Ss,"vert"+Ss,"whims"+Ss]),Bs=[null,{},{ly:""},{ily:"y",bly:"ble",ply:"ple"},{ally:"al",rply:"rp"},{ually:"ual",ially:"ial",cally:"cal",eally:"eal",rally:"ral",nally:"nal",mally:"mal",eeply:"eep",eaply:"eap"},{ically:"ic"}],Js=new Set(["early","only","hourly","daily","weekly","monthly","yearly","mostly","duly","unduly","especially","undoubtedly","conversely","namely","exceedingly","presumably","accordingly","overly","best","latter","little","long","low"]),Ws={wholly:"whole",fully:"full",truly:"true",gently:"gentle",singly:"single",customarily:"customary",idly:"idle",publically:"public",quickly:"quick",superbly:"superb",cynically:"cynical",well:"good"};const qs=[null,{y:"ily"},{ly:"ly",ic:"ically"},{ial:"ially",ual:"ually",tle:"tly",ble:"bly",ple:"ply",ary:"arily"},{},{},{}],Ks={cool:"cooly",whole:"wholly",full:"fully",good:"well",idle:"idly",public:"publicly",single:"singly",special:"especially"};var Us=function(e){if(Ks.hasOwnProperty(e))return Ks[e];let t=Ls(e,qs);return t||(t=e+"ly"),t};var Rs={toSuperlative:zs,toComparative:$s,toAdverb:Us,toNoun:function(e,t){const n=t.two.models.adjToNoun;return ls(e,n)},fromAdverb:function(e){return e.endsWith("ly")?Ms.has(e)?e.replace(/ically/,"ical"):Js.has(e)?null:Ws.hasOwnProperty(e)?Ws[e]:Ls(e,Bs)||e:null},fromSuperlative:function(e,t){const n=t.two.models.fromSuperlative;return ls(e,n)},fromComparative:function(e,t){const n=t.two.models.fromComparative;return ls(e,n)},all:function(e,t){let n=[e];return n.push(zs(e,t)),n.push($s(e,t)),n.push(Us(e)),n=n.filter((e=>e)),n=new Set(n),Array.from(n)}},Qs={noun:Ts,verb:Vs,adjective:Rs},_s={Singular:(e,t,n,r)=>{let a=r.one.lexicon,o=n.two.transform.noun.toPlural(e,r);a[o]||(t[o]=t[o]||"Plural")},Actor:(e,t,n,r)=>{let a=r.one.lexicon,o=n.two.transform.noun.toPlural(e,r);a[o]||(t[o]=t[o]||["Plural","Actor"])},Comparable:(e,t,n,r)=>{let a=r.one.lexicon,{toSuperlative:o,toComparative:i}=n.two.transform.adjective,s=o(e,r);a[s]||(t[s]=t[s]||"Superlative");let l=i(e,r);a[l]||(t[l]=t[l]||"Comparative"),t[e]="Adjective"},Demonym:(e,t,n,r)=>{let a=n.two.transform.noun.toPlural(e,r);t[a]=t[a]||["Demonym","Plural"]},Infinitive:(e,t,n,r)=>{let a=r.one.lexicon,o=n.two.transform.verb.conjugate(e,r);Object.entries(o).forEach((e=>{a[e[1]]||t[e[1]]||(t[e[1]]=e[0])}))},PhrasalVerb:(e,t,n,r)=>{let a=r.one.lexicon;t[e]=["PhrasalVerb","Infinitive"];let o=r.one._multiCache,[i,s]=e.split(" ");a[i]||(t[i]=t[i]||"Infinitive");let l=n.two.transform.verb.conjugate(i,r);delete l.FutureTense,Object.entries(l).forEach((e=>{if("Actor"===e[0]||""===e[1])return;t[e[1]]||a[e[1]]||(t[e[1]]=e[0]),o[e[1]]=!0;let n=e[1]+" "+s;t[n]=t[n]||[e[0],"PhrasalVerb"]}))},Multiple:(e,t)=>{t[e]=["Multiple","Cardinal"],t[e+"th"]=["Multiple","Ordinal"],t[e+"ths"]=["Multiple","Fraction"]},Cardinal:(e,t)=>{t[e]=["TextValue","Cardinal"]},Ordinal:(e,t)=>{t[e]=["TextValue","Ordinal"],t[e+"s"]=["TextValue","Fraction"]},Place:(e,t)=>{t[e]=["Place","ProperNoun"]},Region:(e,t)=>{t[e]=["Region","ProperNoun"]}};var Xs=function(e,t){const{methods:n,model:r}=t;let a={},o={};return Object.keys(e).forEach((t=>{let i=e[t],s=(t=(t=t.toLowerCase().trim()).replace(/'s\b/,"")).split(/ /);s.length>1&&(o[s[0]]=!0),!0===_s.hasOwnProperty(i)&&_s[i](t,a,n,r),a[t]=a[t]||i})),delete a[""],delete a.null,delete a[" "],{lex:a,_multi:o}};var Zs=function(e){const t=/[,:;]/;let n=[];return e.forEach((e=>{let r=0;e.forEach(((a,o)=>{t.test(a.post)&&function(e,t){const n=/^[0-9]+$/;let r=e[t];if(!r)return!1;const a=new Set(["may","april","august","jan"]);if("like"===r.normal||a.has(r.normal))return!1;if(r.tags.has("Place")||r.tags.has("Date"))return!1;if(e[t-1]){let n=e[t-1];if(n.tags.has("Date")||a.has(n.normal))return!1;if(n.tags.has("Adjective")||r.tags.has("Adjective"))return!1}let o=r.normal;return 1!==o.length&&2!==o.length&&4!==o.length||!n.test(o)}(e,o+1)&&(n.push(e.slice(r,o+1)),r=o+1)})),re.endsWith(t))):"s"===t&&!tl.find((t=>e.endsWith(t)))},rl={two:{quickSplit:Zs,expandLexicon:Xs,transform:Qs,looksPlural:nl}};var al=function(e){const{irregularPlurals:t}=e.two,{lexicon:n}=e.one;return Object.entries(t).forEach((e=>{n[e[0]]=n[e[0]]||"Singular",n[e[1]]=n[e[1]]||"Plural"})),e};let ol={one:{lexicon:{}},two:{models:Cs}};const il={"Actor|Verb":"Actor","Adj|Gerund":"Adjective","Adj|Noun":"Adjective","Adj|Past":"Adjective","Adj|Present":"Adjective","Noun|Verb":"Singular","Noun|Gerund":"Gerund","Person|Noun":"Noun","Person|Date":"Month","Person|Verb":"FirstName","Person|Place":"Person","Person|Adj":"Comparative","Plural|Verb":"Plural","Unit|Noun":"Noun"},sl=function(e,t){const n={model:t,methods:rl};let{lex:r,_multi:a}=rl.two.expandLexicon(e,n);return Object.assign(t.one.lexicon,r),Object.assign(t.one._multiCache,a),t},ll=function(e,t,n){let r=Fs(e,ol);t[r.PastTense]=t[r.PastTense]||"PastTense",t[r.Gerund]=t[r.Gerund]||"Gerund",!0===n&&(t[r.PresentTense]=t[r.PresentTense]||"PresentTense")},ul=function(e,t,n){let r=zs(e,n);t[r]=t[r]||"Superlative";let a=$s(e,n);t[a]=t[a]||"Comparative"},cl=function(e,t){let n={};const r=t.one.lexicon;return Object.keys(e).forEach((a=>{const o=e[a];if(n[a]=il[o],"Noun|Verb"!==o&&"Person|Verb"!==o&&"Actor|Verb"!==o||ll(a,r,!1),"Adj|Present"===o&&(ll(a,r,!0),ul(a,r,t)),"Person|Adj"===o&&ul(a,r,t),"Adj|Gerund"===o||"Noun|Gerund"===o){let e=Os(a,ol,"Gerund");r[e]||(n[e]="Infinitive")}if("Noun|Gerund"!==o&&"Adj|Noun"!==o&&"Person|Noun"!==o||function(e,t,n){let r=Fo(e,n);t[r]=t[r]||"Plural"}(a,r,t),"Adj|Past"===o){let e=Os(a,ol,"PastTense");r[e]||(n[e]="Infinitive")}})),t=sl(n,t)};var hl=function(e){return e=function(e,t){return Object.keys(e).forEach((n=>{"Uncountable"===e[n]&&(t.two.uncountable[n]=!0,e[n]="Uncountable")})),t}((e=sl(e.one.lexicon,e)).one.lexicon,e),e=cl(e.two.switches,e),e=al(e)};let dl={one:{_multiCache:{},lexicon:zo},two:{irregularPlurals:Po,models:Cs,suffixPatterns:Vi,prefixPatterns:Si,endsWith:Zi,neighbours:ts,regexNormal:[[/^[\w.]+@[\w.]+\.[a-z]{2,3}$/,"Email"],[/^(https?:\/\/|www\.)+\w+\.[a-z]{2,3}/,"Url","http.."],[/^[a-z0-9./].+\.(com|net|gov|org|ly|edu|info|biz|dev|ru|jp|de|in|uk|br|io|ai)/,"Url",".com"],[/^[PMCE]ST$/,"Timezone","EST"],[/^ma?c'.*/,"LastName","mc'neil"],[/^o'[drlkn].*/,"LastName","o'connor"],[/^ma?cd[aeiou]/,"LastName","mcdonald"],[/^(lol)+[sz]$/,"Expression","lol"],[/^wo{2,}a*h?$/,"Expression","wooah"],[/^(hee?){2,}h?$/,"Expression","hehe"],[/^(un|de|re)\\-[a-z\u00C0-\u00FF]{2}/,"Verb","un-vite"],[/^(m|k|cm|km)\/(s|h|hr)$/,"Unit","5 k/m"],[/^(ug|ng|mg)\/(l|m3|ft3)$/,"Unit","ug/L"]],regexText:[[/^#[\p{Number}_]*\p{Letter}/u,"HashTag"],[/^@\w{2,}$/,"AtMention"],[/^([A-Z]\.){2}[A-Z]?/i,["Acronym","Noun"],"F.B.I"],[/.{3}[lkmnp]in['‘’‛‵′`´]$/,"Gerund","chillin'"],[/.{4}s['‘’‛‵′`´]$/,"Possessive","flanders'"],[/^[\p{Emoji_Presentation}\p{Extended_Pictographic}]/u,"Emoji","emoji-class"]],regexNumbers:[[/^@1?[0-9](am|pm)$/i,"Time","3pm"],[/^@1?[0-9]:[0-9]{2}(am|pm)?$/i,"Time","3:30pm"],[/^'[0-9]{2}$/,"Year"],[/^[012]?[0-9](:[0-5][0-9])(:[0-5][0-9])$/,"Time","3:12:31"],[/^[012]?[0-9](:[0-5][0-9])?(:[0-5][0-9])? ?(am|pm)$/i,"Time","1:12pm"],[/^[012]?[0-9](:[0-5][0-9])(:[0-5][0-9])? ?(am|pm)?$/i,"Time","1:12:31pm"],[/^[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}/i,"Date","iso-date"],[/^[0-9]{1,4}-[0-9]{1,2}-[0-9]{1,4}$/,"Date","iso-dash"],[/^[0-9]{1,4}\/[0-9]{1,2}\/([0-9]{4}|[0-9]{2})$/,"Date","iso-slash"],[/^[0-9]{1,4}\.[0-9]{1,2}\.[0-9]{1,4}$/,"Date","iso-dot"],[/^[0-9]{1,4}-[a-z]{2,9}-[0-9]{1,4}$/i,"Date","12-dec-2019"],[/^utc ?[+-]?[0-9]+$/,"Timezone","utc-9"],[/^(gmt|utc)[+-][0-9]{1,2}$/i,"Timezone","gmt-3"],[/^[0-9]{3}-[0-9]{4}$/,"PhoneNumber","421-0029"],[/^(\+?[0-9][ -])?[0-9]{3}[ -]?[0-9]{3}-[0-9]{4}$/,"PhoneNumber","1-800-"],[/^[-+]?\p{Currency_Symbol}[-+]?[0-9]+(,[0-9]{3})*(\.[0-9]+)?([kmb]|bn)?\+?$/u,["Money","Value"],"$5.30"],[/^[-+]?[0-9]+(,[0-9]{3})*(\.[0-9]+)?\p{Currency_Symbol}\+?$/u,["Money","Value"],"5.30£"],[/^[-+]?[$£]?[0-9]([0-9,.])+(usd|eur|jpy|gbp|cad|aud|chf|cny|hkd|nzd|kr|rub)$/i,["Money","Value"],"$400usd"],[/^[-+]?[0-9]+(,[0-9]{3})*(\.[0-9]+)?\+?$/,["Cardinal","NumericValue"],"5,999"],[/^[-+]?[0-9]+(,[0-9]{3})*(\.[0-9]+)?(st|nd|rd|r?th)$/,["Ordinal","NumericValue"],"53rd"],[/^\.[0-9]+\+?$/,["Cardinal","NumericValue"],".73th"],[/^[-+]?[0-9]+(,[0-9]{3})*(\.[0-9]+)?%\+?$/,["Percent","Cardinal","NumericValue"],"-4%"],[/^\.[0-9]+%$/,["Percent","Cardinal","NumericValue"],".3%"],[/^[0-9]{1,4}\/[0-9]{1,4}(st|nd|rd|th)?s?$/,["Fraction","NumericValue"],"2/3rds"],[/^[0-9.]{1,3}[a-z]{0,2}[-–—][0-9]{1,3}[a-z]{0,2}$/,["Value","NumberRange"],"3-4"],[/^[0-9]{1,2}(:[0-9][0-9])?(am|pm)? ?[-–—] ?[0-9]{1,2}(:[0-9][0-9])?(am|pm)$/,["Time","NumberRange"],"3-4pm"],[/^[0-9.]+([a-z°]{1,4})$/,"NumericValue","9km"]],switches:$o,clues:ki,uncountable:{},orgWords:Ns,placeWords:js}};dl=hl(dl);var gl=dl;var ml=function(e,t,n,r){const a=r.methods.one.setTag;if(0===t&&e.length>=3){const t=/:/;if(e[0].post.match(t)){let t=e[1];if(t.tags.has("Value")||t.tags.has("Email")||t.tags.has("PhoneNumber"))return;a([e[0]],"Expression",r,null,"2-punct-colon''")}}};var pl=function(e,t,n,r){const a=r.methods.one.setTag;"-"===e[t].post&&e[t+1]&&a([e[t],e[t+1]],"Hyphenated",r,null,"1-punct-hyphen''")};const fl=/^(under|over|mis|re|un|dis|semi)-?/;var vl=function(e,t,n){const r=n.two.switches;let a=e[t];if(r.hasOwnProperty(a.normal))a.switch=r[a.normal];else if(fl.test(a.normal)){let e=a.normal.replace(fl,"");e.length>3&&r.hasOwnProperty(e)&&(a.switch=r[e])}};var bl=function(e,t,n){if(!t||0===t.length)return;const r="undefined"!=typeof process&&process.env?process.env:self.env||{};r&&r.DEBUG_TAGS&&((e,t,n="")=>{let r=e.text||"["+e.implicit+"]";var a;"string"!=typeof t&&t.length>2&&(t=t.slice(0,2).join(", #")+" +"),t="string"!=typeof t?t.join(", #"):t,console.log(` ${(a=r,""+a+"").padEnd(24)} → #${t.padEnd(22)} ${(e=>""+e+"")(n)}`)})(e,t,n),e.tags=e.tags||new Set,"string"==typeof t?e.tags.add(t):t.forEach((t=>e.tags.add(t)))};const yl=["Acronym","Abbreviation","ProperNoun","Uncountable","Possessive","Pronoun","Activity","Honorific","Month"];var wl=function(e,t,n){let r=e[t],a=Array.from(r.tags);for(let e=0;ee.tags.has(t)))||(nl(e.normal)?bl(e,"Plural","3-plural-guess"):bl(e,"Singular","3-singular-guess"))}(r),function(e){let t=e.tags;if(t.has("Verb")&&1===t.size){let t=Gs(e.normal);t&&bl(e,t,"3-verb-tense-guess")}}(r)};const kl=/^\p{Lu}[\p{Ll}'’]/u,Pl=/[0-9]/,Al=["Date","Month","WeekDay","Unit","Expression"],Cl=/[IVX]/,Nl=/^[IVXLCDM]{2,}$/,jl=/^M{0,4}(CM|CD|D?C{0,3})(XC|XL|L?X{0,3})(IX|IV|V?I{0,3})$/,xl={li:!0,dc:!0,md:!0,dm:!0,ml:!0};var Il=function(e,t,n){let r=e[t];r.index=r.index||[0,0];let a=r.index[1],o=r.text||"";return 0!==a&&!0===kl.test(o)&&!1===Pl.test(o)?Al.find((e=>r.tags.has(e)))||r.pre.match(/["']$/)||"the"===r.normal?null:(wl(e,t,n),r.tags.has("Noun")||r.tags.clear(),bl(r,"ProperNoun","2-titlecase"),!0):o.length>=2&&Nl.test(o)&&Cl.test(o)&&jl.test(o)&&!xl[r.normal]?(bl(r,"RomanNumeral","2-xvii"),!0):null};const Tl=function(e="",t=[]){const n=e.length;let r=7;n<=r&&(r=n-1);for(let a=r;a>1;a-=1){let r=e.substring(n-a,n);if(!0===t[r.length].hasOwnProperty(r)){return t[r.length][r]}}return null};var Hl=function(e,t,n){let r=e[t];if(0===r.tags.size){let e=Tl(r.normal,n.two.suffixPatterns);if(null!==e)return bl(r,e,"2-suffix"),r.confidence=.7,!0;if(r.implicit&&(e=Tl(r.implicit,n.two.suffixPatterns),null!==e))return bl(r,e,"2-implicit-suffix"),r.confidence=.7,!0}return null};const Dl=/['‘’‛‵′`´]/,Gl=function(e,t){for(let n=0;nn-3&&(r=n-3);for(let n=r;n>2;n-=1){let r=e.substring(0,n);if(!0===t[r.length].hasOwnProperty(r))return t[r.length][r]}return null}(r.normal,n.two.prefixPatterns);if(null!==e)return bl(r,e,"2-prefix"),r.confidence=.5,!0}return null};const Fl=new Set(["in","on","by","until","for","to","during","throughout","through","within","before","after","of","this","next","last","circa","around","post","pre","budget","classic","plan","may"]),Vl=function(e){if(!e)return!1;let t=e.normal||e.implicit;return!!Fl.has(t)||(!!(e.tags.has("Date")||e.tags.has("Month")||e.tags.has("WeekDay")||e.tags.has("Year"))||!!e.tags.has("ProperNoun"))},zl=function(e){return!!e&&(!!e.tags.has("Ordinal")||(!!(e.tags.has("Cardinal")&&e.normal.length<3)||("is"===e.normal||"was"===e.normal)))},$l=function(e){return e&&(e.tags.has("Date")||e.tags.has("Month")||e.tags.has("WeekDay")||e.tags.has("Year"))};var Ll=function(e,t){const n=e[t];if(n.tags.has("NumericValue")&&n.tags.has("Cardinal")&&4===n.normal.length){let r=Number(n.normal);if(r&&!isNaN(r)&&r>1400&&r<2100){let a=e[t-1],o=e[t+1];if(Vl(a)||Vl(o))return bl(n,"Year","2-tagYear");if(r>=1920&&r<2025){if(zl(a)||zl(o))return bl(n,"Year","2-tagYear-close");if($l(e[t-2])||$l(e[t+2]))return bl(n,"Year","2-tagYear-far");if(a&&(a.tags.has("Determiner")||a.tags.has("Possessive"))&&o&&o.tags.has("Noun")&&!o.tags.has("Plural"))return bl(n,"Year","2-tagYear-noun")}}}return null};var Sl=function(e,t,n,r){const a=r.methods.one.setTag,o=e[t],i=["PastTense","PresentTense","Auxiliary","Modal","Particle"];if(o.tags.has("Verb")){i.find((e=>o.tags.has(e)))||a([o],"Infinitive",r,null,"2-verb-type''")}};const Ml=/^[A-Z]('s|,)?$/,Bl=/^[A-Z-]+$/,Jl=/^[A-Z]+s$/,Wl=/([A-Z]\.)+[A-Z]?,?$/,ql=/[A-Z]{2,}('s|,)?$/,Kl=/([a-z]\.)+[a-z]\.?$/,Ul={I:!0,A:!0},Rl={la:!0,ny:!0,us:!0,dc:!0,gb:!0};var Ql=function(e,t,n){let r=e[t];return r.tags.has("RomanNumeral")||r.tags.has("Acronym")?null:function(e,t){let n=e.text;if(!1===Bl.test(n)){if(!(n.length>3&&!0===Jl.test(n)))return!1;n=n.replace(/s$/,"")}return!(n.length>5||Ul.hasOwnProperty(n)||t.one.lexicon.hasOwnProperty(e.normal)||!0!==Wl.test(n)&&!0!==Kl.test(n)&&!0!==Ml.test(n)&&!0!==ql.test(n))}(r,n)?(r.tags.clear(),bl(r,["Acronym","Noun"],"3-no-period-acronym"),!0===Rl[r.normal]&&bl(r,"Place","3-place-acronym"),!0===Jl.test(r.text)&&bl(r,"Plural","3-plural-acronym"),!0):!Ul.hasOwnProperty(r.text)&&Ml.test(r.text)?(r.tags.clear(),bl(r,["Acronym","Noun"],"3-one-letter-acronym"),!0):r.tags.has("Organization")&&r.text.length<=3?(bl(r,"Acronym","3-org-acronym"),!0):r.tags.has("Organization")&&Bl.test(r.text)&&r.text.length<=6?(bl(r,"Acronym","3-titlecase-acronym"),!0):null};const _l=function(e,t){if(!e)return null;let n=t.find((t=>e.normal===t[0]));return n?n[1]:null},Xl=function(e,t){if(!e)return null;let n=t.find((t=>e.tags.has(t[0])));return n?n[1]:null};var Zl=function(e,t,n){const{leftTags:r,leftWords:a,rightWords:o,rightTags:i}=n.two.neighbours;let s=e[t];if(0===s.tags.size){let l=null;if(l=l||_l(e[t-1],a),l=l||_l(e[t+1],o),l=l||Xl(e[t-1],r),l=l||Xl(e[t+1],i),l)return bl(s,l,"3-[neighbour]"),wl(e,t,n),e[t].confidence=.2,!0}return null};const Yl=function(e,t,n){return!!e&&(!e.tags.has("FirstName")&&!e.tags.has("Place")&&(!!(e.tags.has("ProperNoun")||e.tags.has("Organization")||e.tags.has("Acronym"))||!(n||(r=e.text,!/^\p{Lu}[\p{Ll}'’]/u.test(r)))&&(0!==t||e.tags.has("Singular"))));var r};var eu=function(e,t,n,r){const a=n.model.two.orgWords,o=n.methods.one.setTag;let i=e[t];if(!0===a[i.machine||i.normal]&&Yl(e[t-1],t-1,r)){o([e[t]],"Organization",n,null,"3-[org-word]");for(let a=t;a>=0&&Yl(e[a],a,r);a-=1)o([e[a]],"Organization",n,null,"3-[org-word]")}return null};const tu=/'s$/,nu=new Set(["athletic","city","community","eastern","federal","financial","great","historic","historical","local","memorial","municipal","national","northern","provincial","southern","state","western"]),ru=new Set(["center","centre","way","range","bar","bridge","field","pit"]),au=function(e,t,n){if(!e)return!1;let r=e.tags;return!(r.has("Organization")||r.has("Possessive")||tu.test(e.normal))&&(!(!r.has("ProperNoun")&&!r.has("Place"))||!(n||(a=e.text,!/^\p{Lu}[\p{Ll}'’]/u.test(a)))&&(0!==t||r.has("Singular")));var a};var ou=function(e,t,n,r){const a=n.model.two.placeWords,o=n.methods.one.setTag;let i=e[t],s=i.machine||i.normal;if(!0===a[s]){for(let a=t-1;a>=0;a-=1)if(!nu.has(e[a].normal)){if(!au(e[a],a,r))break;o(e.slice(a,t+1),"Place",n,null,"3-[place-of-foo]")}if(ru.has(s))return!1;for(let a=t+1;ae[t].tags.has("ProperNoun")&&su.test(e[t].text)?"Noun":null,uu=(e,t,n)=>0!==t||e[1]?null:n,cu={"Adj|Gerund":(e,t)=>lu(e,t),"Adj|Noun":(e,t)=>lu(e,t)||function(e,t){return!e[t+1]&&e[t-1]&&e[t-1].tags.has("Determiner")?"Noun":null}(e,t),"Actor|Verb":(e,t)=>lu(e,t),"Adj|Past":(e,t)=>lu(e,t),"Adj|Present":(e,t)=>lu(e,t),"Noun|Gerund":(e,t)=>lu(e,t),"Noun|Verb":(e,t)=>t>0&&lu(e,t)||uu(e,t,"Infinitive"),"Plural|Verb":(e,t)=>lu(e,t)||uu(e,t,"PresentTense")||function(e,t,n){return 0===t&&e.length>3?n:null}(e,t,"Plural"),"Person|Noun":(e,t)=>lu(e,t),"Person|Verb":(e,t)=>0!==t?lu(e,t):null,"Person|Adj":(e,t)=>0===t&&e.length>1||lu(e,t)?"Person":null};var hu=cu;const du="undefined"!=typeof process&&process.env?process.env:self.env||{},gu=/^(under|over|mis|re|un|dis|semi)-?/,mu=(e,t)=>{if(!e||!t)return null;let n=e.normal||e.implicit,r=null;return t.hasOwnProperty(n)&&(r=t[n]),r&&du.DEBUG_TAGS&&console.log(`\n  ↓ - '${n}' `),r},pu=(e,t={},n)=>{if(!e||!t)return null;let r=Array.from(e.tags).sort(((e,t)=>(n[e]?n[e].parents.length:0)>(n[t]?n[t].parents.length:0)?-1:1)),a=r.find((e=>t[e]));return a&&du.DEBUG_TAGS&&console.log(`  ↓ - '${e.normal||e.implicit}' (#${a}) `),a=t[a],a};var fu=function(e,t,n){const r=n.model,a=n.methods.one.setTag,{switches:o,clues:i}=r.two,s=e[t];let l=s.normal||s.implicit||"";if(gu.test(l)&&!o[l]&&(l=l.replace(gu,"")),s.switch){let o=s.switch;if(s.tags.has("Acronym")||s.tags.has("PhrasalVerb"))return;let u=function(e,t,n,r){if(!n)return null;const a=r.one.tagSet;let o=mu(e[t+1],n.afterWords);return o=o||mu(e[t-1],n.beforeWords),o=o||pu(e[t-1],n.beforeTags,a),o=o||pu(e[t+1],n.afterTags,a),o}(e,t,i[o],r);hu[o]&&(u=hu[o](e,t)||u),u?(a([s],u,n,null,`3-[switch] (${o})`),wl(e,t,r)):du.DEBUG_TAGS&&console.log(`\n -> X - '${l}' : (${o}) `)}};const vu={there:!0,this:!0,it:!0,him:!0,her:!0,us:!0};var bu=function(e,t){const n=t.methods.one.setTag,r=t.model.one._multiCache||{};let a=e[0];if(("Noun|Verb"===a.switch||a.tags.has("Infinitive"))&&e.length>=2){if(e.length<4&&!vu[e[1].normal])return;if(!a.tags.has("PhrasalVerb")&&r.hasOwnProperty(a.normal))return;if(e[1].tags.has("Noun")||e[1].tags.has("Determiner")){e.slice(1,3).some((e=>e.tags.has("Verb")))&&!a.tags.has("#PhrasalVerb")||n([a],"Imperative",t,null,"3-[imperative]")}}};const yu=function(e){if(e.filter((e=>!e.tags.has("ProperNoun"))).length<=3)return!1;const t=/^[a-z]/;return e.every((e=>!t.test(e.text)))},wu=function(e,t,n,r){for(let a=0;a{ml(e,0,t,n)}))}(a,n,r);let o=t.two.quickSplit(a);for(let e=0;e{let t=e.machine||e.normal||e.text;return t=t.replace(/'s$/,""),t},Plural:(e,t)=>{let n=e.machine||e.normal||e.text;return t.methods.two.transform.noun.toSingular(n,t.model)},Copula:()=>"is",PastTense:(e,t)=>{let n=e.machine||e.normal||e.text;return t.methods.two.transform.verb.toInfinitive(n,t.model,"PastTense")},Gerund:(e,t)=>{let n=e.machine||e.normal||e.text;return t.methods.two.transform.verb.toInfinitive(n,t.model,"Gerund")},PresentTense:(e,t)=>{let n=e.machine||e.normal||e.text;return e.tags.has("Infinitive")?n:t.methods.two.transform.verb.toInfinitive(n,t.model,"PresentTense")},Comparative:(e,t)=>{let n=e.machine||e.normal||e.text;return t.methods.two.transform.adjective.fromComparative(n,t.model)},Superlative:(e,t)=>{let n=e.machine||e.normal||e.text;return t.methods.two.transform.adjective.fromSuperlative(n,t.model)},Adverb:(e,t)=>{const{fromAdverb:n}=t.methods.two.transform.adjective;return n(e.machine||e.normal||e.text)}};var Cu=function(e){const t=e.world,n=Object.keys(Au);e.docs.forEach((e=>{for(let r=0;r{e.forEach((e=>{e.penn=function(e){if(e.tags.has("ProperNoun")&&e.tags.has("Plural"))return"NNPS";if(e.tags.has("Possessive")&&e.tags.has("Pronoun"))return"PRP$";if("there"===e.normal)return"EX";if("to"===e.normal)return"TO";let t=e.tagRank||[];for(let e=0;e{e.implicit=e.normal,e.text="",e.normal=""}));for(let e=0;e{let t=Vu.test(e[0].text);e.forEach(((t,n)=>{t.text=t.implicit||"",delete t.implicit,ne.toUpperCase()))}(e[0].text))})),this.compute("normal"),this}}e.prototype.contractions=function(){let e=this.match("@hasContraction+");return new Contractions(this.document,e.pointer)},e.prototype.contract=Fu};var $u=function(e,t,n){let[r,a]=t;n&&0!==n.length&&(n=n.map(((e,t)=>(e.implicit=e.text,e.machine=e.text,e.pre="",e.post="",e.text="",e.normal="",e.index=[r,a+t],e))),n[0]&&(n[0].pre=e[r][a].pre,n[n.length-1].post=e[r][a].post,n[0].text=e[r][a].text,n[0].normal=e[r][a].normal),e[r].splice(a,1,...n))};const Lu=/'/;var Su=function(e,t){let n=e[t].normal.split(Lu)[0];if(((e,t)=>e.slice(t+1,t+3).some((e=>e.tags.has("PastTense"))))(e,t))return[n,"has"];if("let"===n)return[n,"us"];if("there"===n){let r=e[t+1];if(r&&r.tags.has("Plural"))return[n,"are"]}return[n,"is"]};const Mu=/'/;var Bu=function(e,t){let n=e[t].normal.split(Mu)[0];return"how"===n||"what"===n?[n,"did"]:!0===((e,t)=>!(!e[t+1]||"better"!=e[t+1].normal)||e.slice(t+1,t+3).some((e=>e.tags.has("PastTense"))))(e,t)?[n,"had"]:[n,"would"]};var Ju=function(e,t){if("ain't"===e[t].normal||"aint"===e[t].normal){if(e[t+1]&&"never"===e[t+1].normal)return["have"];let n=function(e,t){for(let n=t-1;n>=0;n-=1)if(e[n].tags.has("Noun")||e[n].tags.has("Pronoun")||e[n].tags.has("Plural")||e[n].tags.has("Singular"))return e[n];return null}(e,t);if(n){if("we"===n.normal||"they"===n.normal)return["are","not"];if("i"===n.normal)return["am","not"];if(n.tags&&n.tags.has("Plural"))return["are","not"]}return["is","not"]}return[e[t].normal.replace(/n't/,""),"not"]};const Wu={that:!0,there:!0,let:!0,here:!0,everywhere:!0},qu={in:!0,by:!0,for:!0};var Ku=(e,t)=>{let n=e[t];if(Wu.hasOwnProperty(n.machine||n.normal))return!1;if(n.tags.has("Possessive"))return!0;if(n.tags.has("QuestionWord"))return!1;if("he's"===n.normal||"she's"===n.normal)return!1;let r=e[t+1];if(!r)return!0;if("it's"===n.normal)return!!r.tags.has("#Noun");if(r.tags.has("Verb"))return!!r.tags.has("Infinitive")||!!r.tags.has("PresentTense");if(r.tags.has("Noun")){let e=r.machine||r.normal;return"here"!==e&&"there"!==e&&"everywhere"!==e&&(!r.tags.has("Possessive")&&!(r.tags.has("ProperNoun")&&!n.tags.has("ProperNoun")))}if(e[t-1]&&!0===qu[e[t-1].normal])return!0;let a=e[t+2];return!(!a||!a.tags.has("Noun")||a.tags.has("Pronoun"))||(r.tags.has("Adjective")||r.tags.has("Adverb")||r.tags.has("Verb"),!1)};const Uu=/'/,Ru=function(e,t,n,r){let a=t.update();a.document=[e];let o=n+r;n>0&&(n-=1),e[o]&&(o+=1),a.ptrs=[[0,n,o]],a.compute(["lexicon","preTagger"]),function(e){e.forEach(((e,t)=>{e.index&&(e.index[1]=t)}))}(e)},Qu={d:(e,t)=>Bu(e,t),t:(e,t)=>Ju(e,t),s:(e,t,n)=>Ku(e,t)?n.methods.one.setTag([e[t]],"Possessive",n,null,"2-contraction"):Su(e,t)},_u=function(e,t){let n=t.fromText(e.join(" "));return n.compute("id"),n.docs[0]};var Xu={contractionTwo:e=>{let{world:t,document:n}=e;n.forEach(((r,a)=>{for(let o=r.length-1;o>=0;o-=1){if(r[o].implicit)return;let i=null;!0===Uu.test(r[o].normal)&&(i=r[o].normal.split(Uu)[1]);let s=null;Qu.hasOwnProperty(i)&&(s=Qu[i](r,o,t)),s&&(s=_u(s,e),$u(n,[a,o],s),Ru(n[a],e,o,s.length))}}))}},Zu={compute:Xu,api:zu,hooks:["contractionTwo"]};const Yu="(hard|fast|late|early|high|right|deep|close|direct)";const ec="(i|we|they)";let tc=[].concat([{match:"(got|were|was|is|are|am) (#PastTense|#Participle)",tag:"Passive",reason:"got-walked"},{match:"(was|were|is|are|am) being (#PastTense|#Participle)",tag:"Passive",reason:"was-being"},{match:"(had|have|has) been (#PastTense|#Participle)",tag:"Passive",reason:"had-been"},{match:"will be being? (#PastTense|#Participle)",tag:"Passive",reason:"will-be-cleaned"},{match:"#Noun [(#PastTense|#Participle)] by (the|a) #Noun",group:0,tag:"Passive",reason:"suffered-by"}],[{match:"[(all|both)] #Determiner #Noun",group:0,tag:"Noun",reason:"all-noun"},{match:"#Copula [(just|alone)]$",group:0,tag:"Adjective",reason:"not-adverb"},{match:"#Singular is #Adverb? [#PastTense$]",group:0,tag:"Adjective",reason:"is-filled"},{match:"[#PastTense] #Singular is",group:0,tag:"Adjective",reason:"smoked-poutine"},{match:"[#PastTense] #Plural are",group:0,tag:"Adjective",reason:"baked-onions"},{match:"well [#PastTense]",group:0,tag:"Adjective",reason:"well-made"},{match:"#Copula [fucked up?]",group:0,tag:"Adjective",reason:"swears-adjective"},{match:"#Singular (seems|appears) #Adverb? [#PastTense$]",group:0,tag:"Adjective",reason:"seems-filled"},{match:"#Copula #Adjective? [(out|in|through)]$",group:0,tag:"Adjective",reason:"still-out"},{match:"^[#Adjective] (the|your) #Noun",group:0,notIf:"(all|even)",tag:"Infinitive",reason:"shut-the"},{match:"the [said] #Noun",group:0,tag:"Adjective",reason:"the-said-card"},{match:"[#Hyphenated (#Hyphenated && #PastTense)] (#Noun|#Conjunction)",group:0,tag:"Adjective",notIf:"#Adverb",reason:"faith-based"},{match:"[#Hyphenated (#Hyphenated && #Gerund)] (#Noun|#Conjunction)",group:0,tag:"Adjective",notIf:"#Adverb",reason:"self-driving"},{match:"[#PastTense (#Hyphenated && #PhrasalVerb)] (#Noun|#Conjunction)",group:0,tag:"Adjective",reason:"dammed-up"},{match:"(#Hyphenated && #Value) fold",tag:"Adjective",reason:"two-fold"},{match:"must (#Hyphenated && #Infinitive)",tag:"Adjective",reason:"must-win"},{match:"(#Hyphenated && #Infinitive) #Hyphenated",tag:"Adjective",notIf:"#PhrasalVerb",reason:"vacuum-sealed"},{match:"too much",tag:"Adverb Adjective",reason:"bit-4"},{match:"a bit much",tag:"Determiner Adverb Adjective",reason:"bit-3"},{match:"[(un|contra|extra|inter|intra|macro|micro|mid|mis|mono|multi|pre|sub|tri|ex)] #Adjective",group:0,tag:["Adjective","Prefix"],reason:"un-skilled"}],[{match:"#Adverb [#Adverb] (and|or|then)",group:0,tag:"Adjective",reason:"kinda-sparkly-and"},{match:"[(dark|bright|flat|light|soft|pale|dead|dim|faux|little|wee|sheer|most|near|good|extra|all)] #Adjective",group:0,tag:"Adverb",reason:"dark-green"},{match:"#Copula [far too] #Adjective",group:0,tag:"Adverb",reason:"far-too"},{match:"#Copula [still] (in|#Gerund|#Adjective)",group:0,tag:"Adverb",reason:"was-still-walking"},{match:`#Plural ${Yu}`,tag:"#PresentTense #Adverb",reason:"studies-hard"},{match:`#Verb [${Yu}] !#Noun?`,group:0,notIf:"(#Copula|get|got|getting|become|became|becoming|feel|feels|feeling)",tag:"Adverb",reason:"shops-direct"},{match:"[#Plural] a lot",tag:"PresentTense",reason:"studies-a-lot"}],[{match:"as [#Gerund] as",group:0,tag:"Adjective",reason:"as-gerund-as"},{match:"more [#Gerund] than",group:0,tag:"Adjective",reason:"more-gerund-than"},{match:"(so|very|extremely) [#Gerund]",group:0,tag:"Adjective",reason:"so-gerund"},{match:"(found|found) it #Adverb? [#Gerund]",group:0,tag:"Adjective",reason:"found-it-gerund"},{match:"a (little|bit|wee) bit? [#Gerund]",group:0,tag:"Adjective",reason:"a-bit-gerund"},{match:"#Gerund [#Gerund]",group:0,tag:"Adjective",notIf:"(impersonating|practicing|considering|assuming)",reason:"looking-annoying"},{match:"(looked|look|looks) #Adverb? [%Adj|Gerund%]",group:0,tag:"Adjective",notIf:"(impersonating|practicing|considering|assuming)",reason:"looked-amazing"},{match:"[%Adj|Gerund%] #Determiner",group:0,tag:"Gerund",reason:"developing-a"},{match:"#Possessive [%Adj|Gerund%] #Noun",group:0,tag:"Adjective",reason:"leading-manufacturer"}],[{match:"#Determiner [#Adjective] #Copula",group:0,tag:"Noun",reason:"the-adj-is"},{match:"#Adjective [#Adjective] #Copula",group:0,tag:"Noun",reason:"adj-adj-is"},{match:"(his|its) [%Adj|Noun%]",group:0,tag:"Noun",notIf:"#Hyphenated",reason:"his-fine"},{match:"#Copula #Adverb? [all]",group:0,tag:"Noun",reason:"is-all"},{match:"(have|had) [#Adjective] #Preposition .",group:0,tag:"Noun",reason:"have-fun"},{match:"#Gerund (giant|capital|center|zone|application)",tag:"Noun",reason:"brewing-giant"},{match:"#Preposition (a|an) [#Adjective]$",group:0,tag:"Noun",reason:"an-instant"},{match:"no [#Adjective] #Modal",group:0,tag:"Noun",reason:"no-golden"},{match:"[brand #Gerund?] new",group:0,tag:"Adverb",reason:"brand-new"},{match:"(#Determiner|#Comparative|new|different) [kind]",group:0,tag:"Noun",reason:"some-kind"},{match:"#Possessive [%Adj|Noun%] #Noun",group:0,tag:"Adjective",reason:"her-favourite"},{match:"must && #Hyphenated .",tag:"Adjective",reason:"must-win"},{match:"#Determiner [#Adjective]$",tag:"Noun",notIf:"(this|that|#Comparative|#Superlative)",reason:"the-south"},{match:"(#Noun && #Hyphenated) (#Adjective && #Hyphenated)",tag:"Adjective",notIf:"(this|that|#Comparative|#Superlative)",reason:"company-wide"},{match:"#Determiner [#Adjective] (#Copula|#Determiner)",notIf:"(#Comparative|#Superlative)",group:0,tag:"Noun",reason:"the-poor"}],[{match:"[still] #Adjective",group:0,tag:"Adverb",reason:"still-advb"},{match:"[still] #Verb",group:0,tag:"Adverb",reason:"still-verb"},{match:"[so] #Adjective",group:0,tag:"Adverb",reason:"so-adv"},{match:"[way] #Comparative",group:0,tag:"Adverb",reason:"way-adj"},{match:"[way] #Adverb #Adjective",group:0,tag:"Adverb",reason:"way-too-adj"},{match:"[all] #Verb",group:0,tag:"Adverb",reason:"all-verb"},{match:"#Verb [like]",group:0,notIf:"(#Modal|#PhrasalVerb)",tag:"Adverb",reason:"verb-like"},{match:"(barely|hardly) even",tag:"Adverb",reason:"barely-even"},{match:"[even] #Verb",group:0,tag:"Adverb",reason:"even-walk"},{match:"[even] #Comparative",group:0,tag:"Adverb",reason:"even-worse"},{match:"[even] (#Determiner|#Possessive)",group:0,tag:"#Adverb",reason:"even-the"},{match:"even left",tag:"#Adverb #Verb",reason:"even-left"},{match:"[way] #Adjective",group:0,tag:"#Adverb",reason:"way-over"},{match:"#PresentTense [(hard|quick|bright|slow|fast|backwards|forwards)]",notIf:"#Copula",group:0,tag:"Adverb",reason:"lazy-ly"},{match:"[much] #Adjective",group:0,tag:"Adverb",reason:"bit-1"},{match:"#Copula [#Adverb]$",group:0,tag:"Adjective",reason:"is-well"},{match:"a [(little|bit|wee) bit?] #Adjective",group:0,tag:"Adverb",reason:"a-bit-cold"},{match:"[(super|pretty)] #Adjective",group:0,tag:"Adverb",reason:"super-strong"},{match:"(become|fall|grow) #Adverb? [#PastTense]",group:0,tag:"Adjective",reason:"overly-weakened"},{match:"(a|an) #Adverb [#Participle] #Noun",group:0,tag:"Adjective",reason:"completely-beaten"},{match:"#Determiner #Adverb? [close]",group:0,tag:"Adjective",reason:"a-close"},{match:"#Gerund #Adverb? [close]",group:0,tag:"Adverb",notIf:"(getting|becoming|feeling)",reason:"being-close"},{match:"(the|those|these|a|an) [#Participle] #Noun",group:0,tag:"Adjective",reason:"blown-motor"},{match:"(#PresentTense|#PastTense) [back]",group:0,tag:"Adverb",notIf:"(#PhrasalVerb|#Copula)",reason:"charge-back"},{match:"#Verb [around]",group:0,tag:"Adverb",notIf:"#PhrasalVerb",reason:"send-around"},{match:"[later] #PresentTense",group:0,tag:"Adverb",reason:"later-say"},{match:"#Determiner [well] !#PastTense?",group:0,tag:"Noun",reason:"the-well"},{match:"#Adjective [enough]",group:0,tag:"Adverb",reason:"high-enough"}],[{match:"[sun] the #Ordinal",tag:"WeekDay",reason:"sun-the-5th"},{match:"[sun] #Date",group:0,tag:"WeekDay",reason:"sun-feb"},{match:"#Date (on|this|next|last|during)? [sun]",group:0,tag:"WeekDay",reason:"1pm-sun"},{match:"(in|by|before|during|on|until|after|of|within|all) [sat]",group:0,tag:"WeekDay",reason:"sat"},{match:"(in|by|before|during|on|until|after|of|within|all) [wed]",group:0,tag:"WeekDay",reason:"wed"},{match:"(in|by|before|during|on|until|after|of|within|all) [march]",group:0,tag:"Month",reason:"march"},{match:"[sat] #Date",group:0,tag:"WeekDay",reason:"sat-feb"},{match:"#Preposition [(march|may)]",group:0,tag:"Month",reason:"in-month"},{match:"(this|next|last) (march|may) !#Infinitive?",tag:"#Date #Month",reason:"this-month"},{match:"(march|may) the? #Value",tag:"#Month #Date #Date",reason:"march-5th"},{match:"#Value of? (march|may)",tag:"#Date #Date #Month",reason:"5th-of-march"},{match:"[(march|may)] .? #Date",group:0,tag:"Month",reason:"march-and-feb"},{match:"#Date .? [(march|may)]",group:0,tag:"Month",reason:"feb-and-march"},{match:"#Adverb [(march|may)]",group:0,tag:"Verb",reason:"quickly-march"},{match:"[(march|may)] #Adverb",group:0,tag:"Verb",reason:"march-quickly"},{match:"#Value (am|pm)",tag:"Time",reason:"2-am"}],[{match:"#Holiday (day|eve)",tag:"Holiday",reason:"holiday-day"},{match:"#Value of #Month",tag:"Date",reason:"value-of-month"},{match:"#Cardinal #Month",tag:"Date",reason:"cardinal-month"},{match:"#Month #Value to #Value",tag:"Date",reason:"value-to-value"},{match:"#Month the #Value",tag:"Date",reason:"month-the-value"},{match:"(#WeekDay|#Month) #Value",tag:"Date",reason:"date-value"},{match:"#Value (#WeekDay|#Month)",tag:"Date",reason:"value-date"},{match:"(#TextValue && #Date) #TextValue",tag:"Date",reason:"textvalue-date"},{match:"#Month #NumberRange",tag:"Date",reason:"aug 20-21"},{match:"#WeekDay #Month #Ordinal",tag:"Date",reason:"week mm-dd"},{match:"#Month #Ordinal #Cardinal",tag:"Date",reason:"mm-dd-yyy"},{match:"(#Place|#Demonmym|#Time) (standard|daylight|central|mountain)? time",tag:"Timezone",reason:"std-time"},{match:"(eastern|mountain|pacific|central|atlantic) (standard|daylight|summer)? time",tag:"Timezone",reason:"eastern-time"},{match:"#Time [(eastern|mountain|pacific|central|est|pst|gmt)]",group:0,tag:"Timezone",reason:"5pm-central"},{match:"(central|western|eastern) european time",tag:"Timezone",reason:"cet"}],[{match:"(the|any) [more]",group:0,tag:"Singular",reason:"more-noun"},{match:"[more] #Noun",group:0,tag:"Adjective",reason:"more-noun"},{match:"(right|rights) of .",tag:"Noun",reason:"right-of"},{match:"a [bit]",group:0,tag:"Singular",reason:"bit-2"},{match:"a [must]",group:0,tag:"Singular",reason:"must-2"},{match:"(we|us) [all]",group:0,tag:"Noun",reason:"we all"},{match:"due to [#Verb]",group:0,tag:"Noun",reason:"due-to"},{match:"some [#Verb] #Plural",group:0,tag:"Noun",reason:"determiner6"},{match:"#Possessive #Ordinal [#PastTense]",group:0,tag:"Noun",reason:"first-thought"},{match:"(the|this|those|these) #Adjective [%Verb|Noun%]",group:0,tag:"Noun",notIf:"#Copula",reason:"the-adj-verb"},{match:"(the|this|those|these) #Adverb #Adjective [#Verb]",group:0,tag:"Noun",reason:"determiner4"},{match:"the [#Verb] #Preposition .",group:0,tag:"Noun",reason:"determiner1"},{match:"(a|an|the) [#Verb] of",group:0,tag:"Noun",reason:"the-verb-of"},{match:"#Determiner #Noun of [#Verb]",group:0,tag:"Noun",notIf:"#Gerund",reason:"noun-of-noun"},{match:"#PastTense #Preposition [#PresentTense]",group:0,notIf:"#Gerund",tag:"Noun",reason:"ended-in-ruins"},{match:"#Conjunction [u]",group:0,tag:"Pronoun",reason:"u-pronoun-2"},{match:"[u] #Verb",group:0,tag:"Pronoun",reason:"u-pronoun-1"},{match:"#Determiner [(western|eastern|northern|southern|central)] #Noun",group:0,tag:"Noun",reason:"western-line"},{match:"(#Singular && @hasHyphen) #PresentTense",tag:"Noun",reason:"hyphen-verb"},{match:"is no [#Verb]",group:0,tag:"Noun",reason:"is-no-verb"},{match:"do [so]",group:0,tag:"Noun",reason:"so-noun"},{match:"#Determiner [(shit|damn|hell)]",group:0,tag:"Noun",reason:"swears-noun"},{match:"to [(shit|hell)]",group:0,tag:"Noun",reason:"to-swears"},{match:"(the|these) [#Singular] (were|are)",group:0,tag:"Plural",reason:"singular-were"},{match:"a #Noun+ or #Adverb+? [#Verb]",group:0,tag:"Noun",reason:"noun-or-noun"},{match:"(the|those|these|a|an) #Adjective? [#PresentTense #Particle?]",group:0,tag:"Noun",notIf:"(seem|appear|include|#Gerund|#Copula)",reason:"det-inf"},{match:"#Noun #Actor",tag:"Actor",notIf:"(#Person|#Pronoun)",reason:"thing-doer"},{match:"#Gerund #Actor",tag:"Actor",reason:"gerund-doer"},{match:"co #Singular",tag:"Actor",reason:"co-noun"},{match:"[#Noun+] #Actor",group:0,tag:"Actor",notIf:"(#Honorific|#Pronoun|#Possessive)",reason:"air-traffic-controller"},{match:"(urban|cardiac|cardiovascular|respiratory|medical|clinical|visual|graphic|creative|dental|exotic|fine|certified|registered|technical|virtual|professional|amateur|junior|senior|special|pharmaceutical|theoretical)+ #Noun? #Actor",tag:"Actor",reason:"fine-artist"},{match:"#Noun+ (coach|chef|king|engineer|fellow|personality|boy|girl|man|woman|master)",tag:"Actor",reason:"dance-coach"},{match:"chief . officer",tag:"Actor",reason:"chief-x-officer"},{match:"chief of #Noun+",tag:"Actor",reason:"chief-of-police"},{match:"senior? vice? president of #Noun+",tag:"Actor",reason:"president-of"},{match:"#Determiner [sun]",group:0,tag:"Singular",reason:"the-sun"},{match:"#Verb (a|an) [#Value]$",group:0,tag:"Singular",reason:"did-a-value"},{match:"the [(can|will|may)]",group:0,tag:"Singular",reason:"the can"},{match:"#FirstName #Acronym? (#Possessive && #LastName)",tag:"Possessive",reason:"name-poss"},{match:"#Organization+ #Possessive",tag:"Possessive",reason:"org-possessive"},{match:"#Place+ #Possessive",tag:"Possessive",reason:"place-possessive"},{match:"#Possessive #PresentTense #Particle?",notIf:"(#Gerund|her)",tag:"Noun",reason:"possessive-verb"},{match:"(my|our|their|her|his|its) [(#Plural && #Actor)] #Noun",tag:"Possessive",reason:"my-dads"},{match:"#Value of a [second]",group:0,unTag:"Value",tag:"Singular",reason:"10th-of-a-second"},{match:"#Value [seconds]",group:0,unTag:"Value",tag:"Plural",reason:"10-seconds"},{match:"in [#Infinitive]",group:0,tag:"Singular",reason:"in-age"},{match:"a [#Adjective] #Preposition",group:0,tag:"Noun",reason:"a-minor-in"},{match:"#Determiner [#Singular] said",group:0,tag:"Actor",reason:"the-actor-said"},{match:"#Determiner #Noun [(feel|sense|process|rush|side|bomb|bully|challenge|cover|crush|dump|exchange|flow|function|issue|lecture|limit|march|process)] !(#Preposition|to|#Adverb)?",group:0,tag:"Noun",reason:"the-noun-sense"},{match:"[#PresentTense] (of|by|for) (a|an|the) #Noun #Copula",group:0,tag:"Plural",reason:"photographs-of"},{match:"#Infinitive and [%Noun|Verb%]",group:0,tag:"Infinitive",reason:"fight and win"},{match:"#Noun and [#Verb] and #Noun",group:0,tag:"Noun",reason:"peace-and-flowers"},{match:"the #Cardinal [%Adj|Noun%]",group:0,tag:"Noun",reason:"the-1992-classic"},{match:"#Copula the [%Adj|Noun%] #Noun",group:0,tag:"Adjective",reason:"the-premier-university"},{match:"i #Verb [me] #Noun",group:0,tag:"Possessive",reason:"scottish-me"},{match:"[#PresentTense] (music|class|lesson|night|party|festival|league|ceremony)",group:0,tag:"Noun",reason:"dance-music"},{match:"[wit] (me|it)",group:0,tag:"Presposition",reason:"wit-me"},{match:"#PastTense #Possessive [#Verb]",group:0,tag:"Noun",notIf:"(saw|made)",reason:"left-her-boots"},{match:"#Value [%Plural|Verb%]",group:0,tag:"Plural",notIf:"(one|1|a|an)",reason:"35-signs"},{match:"had [#PresentTense]",group:0,tag:"Noun",notIf:"(#Gerund|come|become)",reason:"had-time"},{match:"%Adj|Noun% %Noun|Verb%",tag:"#Adjective #Noun",notIf:"#ProperNoun #Noun",reason:"instant-access"},{match:"#Determiner [%Adj|Noun%] #Conjunction",group:0,tag:"Noun",reason:"a-rep-to"},{match:"#Adjective #Noun [%Plural|Verb%]$",group:0,tag:"Plural",notIf:"#Pronoun",reason:"near-death-experiences"},{match:"#Possessive #Noun [%Plural|Verb%]$",group:0,tag:"Plural",reason:"your-guild-colors"}],[{match:"(this|that|the|a|an) [#Gerund #Infinitive]",group:0,tag:"Singular",reason:"the-planning-process"},{match:"(that|the) [#Gerund #PresentTense]",group:0,ifNo:"#Copula",tag:"Plural",reason:"the-paving-stones"},{match:"#Determiner [#Gerund] #Noun",group:0,tag:"Adjective",reason:"the-gerund-noun"},{match:"#Pronoun #Infinitive [#Gerund] #PresentTense",group:0,tag:"Noun",reason:"tipping-sucks"},{match:"#Adjective [#Gerund]",group:0,tag:"Noun",notIf:"(still|even|just)",reason:"early-warning"},{match:"[#Gerund] #Adverb? not? #Copula",group:0,tag:"Activity",reason:"gerund-copula"},{match:"#Copula [(#Gerund|#Activity)] #Copula",group:0,tag:"Gerund",reason:"are-doing-is"},{match:"[#Gerund] #Modal",group:0,tag:"Activity",reason:"gerund-modal"},{match:"#Singular for [%Noun|Gerund%]",group:0,tag:"Gerund",reason:"noun-for-gerund"},{match:"#Comparative (for|at) [%Noun|Gerund%]",group:0,tag:"Gerund",reason:"better-for-gerund"},{match:"#PresentTense the [#Gerund]",group:0,tag:"Noun",reason:"keep-the-touching"}],[{match:"#Infinitive (this|that|the) [#Infinitive]",group:0,tag:"Noun",reason:"do-this-dance"},{match:"#Gerund #Determiner [#Infinitive]",group:0,tag:"Noun",reason:"running-a-show"},{match:"#Determiner (only|further|just|more|backward) [#Infinitive]",group:0,tag:"Noun",reason:"the-only-reason"},{match:"(the|this|a|an) [#Infinitive] #Adverb? #Verb",group:0,tag:"Noun",reason:"determiner5"},{match:"#Determiner #Adjective #Adjective? [#Infinitive]",group:0,tag:"Noun",reason:"a-nice-inf"},{match:"#Determiner #Demonym [#PresentTense]",group:0,tag:"Noun",reason:"mexican-train"},{match:"#Adjective #Noun+ [#Infinitive] #Copula",group:0,tag:"Noun",reason:"career-move"},{match:"at some [#Infinitive]",group:0,tag:"Noun",reason:"at-some-inf"},{match:"(go|goes|went) to [#Infinitive]",group:0,tag:"Noun",reason:"goes-to-verb"},{match:"(a|an) #Adjective? #Noun [#Infinitive] (#Preposition|#Noun)",group:0,notIf:"from",tag:"Noun",reason:"a-noun-inf"},{match:"(a|an) #Noun [#Infinitive]$",group:0,tag:"Noun",reason:"a-noun-inf2"},{match:"#Gerund #Adjective? for [#Infinitive]",group:0,tag:"Noun",reason:"running-for"},{match:"about [#Infinitive]",group:0,tag:"Singular",reason:"about-love"},{match:"#Plural on [#Infinitive]",group:0,tag:"Noun",reason:"on-stage"},{match:"any [#Infinitive]",group:0,tag:"Noun",reason:"any-charge"},{match:"no [#Infinitive]",group:0,tag:"Noun",reason:"no-doubt"},{match:"number of [#PresentTense]",group:0,tag:"Noun",reason:"number-of-x"},{match:"(taught|teaches|learns|learned) [#PresentTense]",group:0,tag:"Noun",reason:"teaches-x"},{match:"(try|use|attempt|build|make) [#Verb #Particle?]",notIf:"(#Copula|#Noun|sure|fun|up)",group:0,tag:"Noun",reason:"do-verb"},{match:"^[#Infinitive] (is|was)",group:0,tag:"Noun",reason:"checkmate-is"},{match:"#Infinitive much [#Infinitive]",group:0,tag:"Noun",reason:"get-much"},{match:"[cause] #Pronoun #Verb",group:0,tag:"Conjunction",reason:"cause-cuz"},{match:"the #Singular [#Infinitive] #Noun",group:0,tag:"Noun",notIf:"#Pronoun",reason:"cardio-dance"},{match:"#Determiner #Modal [#Noun]",group:0,tag:"PresentTense",reason:"should-smoke"},{match:"this [#Plural]",group:0,tag:"PresentTense",notIf:"(#Preposition|#Date)",reason:"this-verbs"},{match:"#Noun that [#Plural]",group:0,tag:"PresentTense",notIf:"(#Preposition|#Pronoun|way)",reason:"voice-that-rocks"},{match:"that [#Plural] to",group:0,tag:"PresentTense",notIf:"#Preposition",reason:"that-leads-to"},{match:"(let|make|made) (him|her|it|#Person|#Place|#Organization)+ [#Singular] (a|an|the|it)",group:0,tag:"Infinitive",reason:"let-him-glue"},{match:"#Verb (all|every|each|most|some|no) [#PresentTense]",notIf:"#Modal",group:0,tag:"Noun",reason:"all-presentTense"},{match:"(had|have|#PastTense) #Adjective [#PresentTense]",group:0,tag:"Noun",notIf:"better",reason:"adj-presentTense"},{match:"#Value #Adjective [#PresentTense]",group:0,tag:"Noun",notIf:"#Copula",reason:"one-big-reason"},{match:"#PastTense #Adjective+ [#PresentTense]",group:0,tag:"Noun",notIf:"(#Copula|better)",reason:"won-wide-support"},{match:"(many|few|several|couple) [#PresentTense]",group:0,tag:"Noun",notIf:"#Copula",reason:"many-poses"},{match:"#Determiner #Adverb #Adjective [%Noun|Verb%]",group:0,tag:"Noun",notIf:"#Copula",reason:"very-big-dream"},{match:"from #Noun to [%Noun|Verb%]",group:0,tag:"Noun",reason:"start-to-finish"},{match:"(for|with|of) #Noun (and|or|not) [%Noun|Verb%]",group:0,tag:"Noun",notIf:"#Pronoun",reason:"for-food-and-gas"},{match:"#Adjective #Adjective [#PresentTense]",group:0,tag:"Noun",notIf:"#Copula",reason:"adorable-little-store"},{match:"#Gerund #Adverb? #Comparative [#PresentTense]",group:0,tag:"Noun",notIf:"#Copula",reason:"higher-costs"},{match:"(#Noun && @hasComma) #Noun (and|or) [#PresentTense]",group:0,tag:"Noun",notIf:"#Copula",reason:"noun-list"},{match:"(many|any|some|several) [#PresentTense] for",group:0,tag:"Noun",reason:"any-verbs-for"},{match:"to #PresentTense #Noun [#PresentTense] #Preposition",group:0,tag:"Noun",reason:"gas-exchange"},{match:"#PastTense (until|as|through|without) [#PresentTense]",group:0,tag:"Noun",reason:"waited-until-release"},{match:"#Gerund like #Adjective? [#PresentTense]",group:0,tag:"Plural",reason:"like-hot-cakes"},{match:"some #Adjective [#PresentTense]",group:0,tag:"Noun",reason:"some-reason"},{match:"for some [#PresentTense]",group:0,tag:"Noun",reason:"for-some-reason"},{match:"(same|some|the|that|a) kind of [#PresentTense]",group:0,tag:"Noun",reason:"some-kind-of"},{match:"(same|some|the|that|a) type of [#PresentTense]",group:0,tag:"Noun",reason:"some-type-of"},{match:"#Gerund #Adjective #Preposition [#PresentTense]",group:0,tag:"Noun",reason:"doing-better-for-x"},{match:"(get|got|have) #Comparative [#PresentTense]",group:0,tag:"Noun",reason:"got-better-aim"},{match:"whose [#PresentTense] #Copula",group:0,tag:"Noun",reason:"whos-name-was"},{match:"#PhrasalVerb #Particle #Preposition [#PresentTense]",group:0,tag:"Noun",reason:"given-up-on-x"},{match:"there (are|were) #Adjective? [#PresentTense]",group:0,tag:"Plural",reason:"there-are"},{match:"#Value [#PresentTense] of",group:0,notIf:"(one|1|#Copula|#Infinitive)",tag:"Plural",reason:"2-trains"},{match:"[#PresentTense] (are|were) #Adjective",group:0,tag:"Plural",reason:"compromises-are-possible"},{match:"^[(hope|guess|thought|think)] #Pronoun #Verb",group:0,tag:"Infinitive",reason:"suppose-i"},{match:"#Possessive #Adjective [#Verb]",group:0,tag:"Noun",notIf:"#Copula",reason:"our-full-support"},{match:"[(tastes|smells)] #Adverb? #Adjective",group:0,tag:"PresentTense",reason:"tastes-good"},{match:"#Copula #Gerund [#PresentTense] !by?",group:0,tag:"Noun",notIf:"going",reason:"ignoring-commute"},{match:"#Determiner #Adjective? [(shed|thought|rose|bid|saw|spelt)]",group:0,tag:"Noun",reason:"noun-past"},{match:"how to [%Noun|Verb%]",group:0,tag:"Infinitive",reason:"how-to-noun"},{match:"which [%Noun|Verb%] #Noun",group:0,tag:"Infinitive",reason:"which-boost-it"},{match:"#Gerund [%Plural|Verb%]",group:0,tag:"Plural",reason:"asking-questions"},{match:"(ready|available|difficult|hard|easy|made|attempt|try) to [%Noun|Verb%]",group:0,tag:"Infinitive",reason:"ready-to-noun"},{match:"(bring|went|go|drive|run|bike) to [%Noun|Verb%]",group:0,tag:"Noun",reason:"bring-to-noun"},{match:"#Modal #Noun [%Noun|Verb%]",group:0,tag:"Infinitive",reason:"would-you-look"},{match:"#Copula just [#Infinitive]",group:0,tag:"Noun",reason:"is-just-spam"},{match:"^%Noun|Verb% %Plural|Verb%",tag:"Imperative #Plural",reason:"request-copies"},{match:"#Adjective #Plural and [%Plural|Verb%]",group:0,tag:"#Plural",reason:"pickles-and-drinks"},{match:"#Determiner #Year [#Verb]",group:0,tag:"Noun",reason:"the-1968-film"},{match:"#Determiner [#PhrasalVerb #Particle]",group:0,tag:"Noun",reason:"the-break-up"},{match:"#Determiner [%Adj|Noun%] #Noun",group:0,tag:"Adjective",notIf:"(#Pronoun|#Possessive|#ProperNoun)",reason:"the-individual-goals"},{match:"[%Noun|Verb%] or #Infinitive",group:0,tag:"Infinitive",reason:"work-or-prepare"},{match:"to #Infinitive [#PresentTense]",group:0,tag:"Noun",notIf:"(#Gerund|#Copula|help)",reason:"to-give-thanks"},{match:"[#Noun] me",group:0,tag:"Verb",reason:"kills-me"},{match:"%Plural|Verb% %Plural|Verb%",tag:"#PresentTense #Plural",reason:"removes-wrinkles"}],[{match:"#Money and #Money #Currency?",tag:"Money",reason:"money-and-money"},{match:"#Value #Currency [and] #Value (cents|ore|centavos|sens)",group:0,tag:"money",reason:"and-5-cents"},{match:"#Value (mark|rand|won|rub|ore)",tag:"#Money #Currency",reason:"4-mark"},{match:"a pound",tag:"#Money #Unit",reason:"a-pound"},{match:"#Value (pound|pounds)",tag:"#Money #Unit",reason:"4-pounds"}],[{match:"[(half|quarter)] of? (a|an)",group:0,tag:"Fraction",reason:"millionth"},{match:"#Adverb [half]",group:0,tag:"Fraction",reason:"nearly-half"},{match:"[half] the",group:0,tag:"Fraction",reason:"half-the"},{match:"#Cardinal and a half",tag:"Fraction",reason:"and-a-half"},{match:"#Value (halves|halfs|quarters)",tag:"Fraction",reason:"two-halves"},{match:"a #Ordinal",tag:"Fraction",reason:"a-quarter"},{match:"[#Cardinal+] (#Fraction && /s$/)",tag:"Fraction",reason:"seven-fifths"},{match:"[#Cardinal+ #Ordinal] of .",group:0,tag:"Fraction",reason:"ordinal-of"},{match:"[(#NumericValue && #Ordinal)] of .",group:0,tag:"Fraction",reason:"num-ordinal-of"},{match:"(a|one) #Cardinal?+ #Ordinal",tag:"Fraction",reason:"a-ordinal"},{match:"#Cardinal+ out? of every? #Cardinal",tag:"Fraction",reason:"out-of"}],[{match:"#Cardinal [second]",tag:"Unit",reason:"one-second"},{match:"!once? [(a|an)] (#Duration|hundred|thousand|million|billion|trillion)",group:0,tag:"Value",reason:"a-is-one"},{match:"1 #Value #PhoneNumber",tag:"PhoneNumber",reason:"1-800-Value"},{match:"#NumericValue #PhoneNumber",tag:"PhoneNumber",reason:"(800) PhoneNumber"},{match:"#Demonym #Currency",tag:"Currency",reason:"demonym-currency"},{match:"#Value [(buck|bucks|grand)]",group:0,tag:"Currency",reason:"value-bucks"},{match:"[#Value+] #Currency",group:0,tag:"Money",reason:"15 usd"},{match:"[second] #Noun",group:0,tag:"Ordinal",reason:"second-noun"},{match:"#Value+ [#Currency]",group:0,tag:"Unit",reason:"5-yan"},{match:"#Value [(foot|feet)]",group:0,tag:"Unit",reason:"foot-unit"},{match:"#Value [#Abbreviation]",group:0,tag:"Unit",reason:"value-abbr"},{match:"#Value [k]",group:0,tag:"Unit",reason:"value-k"},{match:"#Unit an hour",tag:"Unit",reason:"unit-an-hour"},{match:"(minus|negative) #Value",tag:"Value",reason:"minus-value"},{match:"#Value (point|decimal) #Value",tag:"Value",reason:"value-point-value"},{match:"#Determiner [(half|quarter)] #Ordinal",group:0,tag:"Value",reason:"half-ordinal"},{match:"#Multiple+ and #Value",tag:"Value",reason:"magnitude-and-value"},{match:"#Value #Unit [(per|an) (hr|hour|sec|second|min|minute)]",group:0,tag:"Unit",reason:"12-miles-per-second"},{match:"#Value [(square|cubic)] #Unit",group:0,tag:"Unit",reason:"square-miles"},{match:"^[#Value] (#Determiner|#Gerund)",group:0,tag:"Expression",unTag:"Value",reason:"numbered-list"}],[{match:"#Copula [(#Noun|#PresentTense)] #LastName",group:0,tag:"FirstName",reason:"copula-noun-lastname"},{match:"(sister|pope|brother|father|aunt|uncle|grandpa|grandfather|grandma) #ProperNoun",tag:"Person",reason:"lady-titlecase",safe:!0},{match:"#FirstName [#Determiner #Noun] #LastName",group:0,tag:"Person",reason:"first-noun-last"},{match:"#ProperNoun (b|c|d|e|f|g|h|j|k|l|m|n|o|p|q|r|s|t|u|v|w|x|y|z) #ProperNoun",tag:"Person",reason:"titlecase-acronym-titlecase",safe:!0},{match:"#Acronym #LastName",tag:"Person",reason:"acronym-lastname",safe:!0},{match:"#Person (jr|sr|md)",tag:"Person",reason:"person-honorific"},{match:"#Honorific #Acronym",tag:"Person",reason:"Honorific-TitleCase"},{match:"#Person #Person the? #RomanNumeral",tag:"Person",reason:"roman-numeral"},{match:"#FirstName [/^[^aiurck]$/]",group:0,tag:["Acronym","Person"],reason:"john-e"},{match:"#Noun van der? #Noun",tag:"Person",reason:"van der noun",safe:!0},{match:"(king|queen|prince|saint|lady) of #Noun",tag:"Person",reason:"king-of-noun",safe:!0},{match:"(prince|lady) #Place",tag:"Person",reason:"lady-place"},{match:"(king|queen|prince|saint) #ProperNoun",tag:"Person",notIf:"#Place",reason:"saint-foo"},{match:"al (#Person|#ProperNoun)",tag:"Person",reason:"al-borlen",safe:!0},{match:"#FirstName de #Noun",tag:"Person",reason:"bill-de-noun"},{match:"#FirstName (bin|al) #Noun",tag:"Person",reason:"bill-al-noun"},{match:"#FirstName #Acronym #ProperNoun",tag:"Person",reason:"bill-acronym-title"},{match:"#FirstName #FirstName #ProperNoun",tag:"Person",reason:"bill-firstname-title"},{match:"#Honorific #FirstName? #ProperNoun",tag:"Person",reason:"dr-john-Title"},{match:"#FirstName the #Adjective",tag:"Person",reason:"name-the-great"},{match:"#ProperNoun (van|al|bin) #ProperNoun",tag:"Person",reason:"title-van-title",safe:!0},{match:"#ProperNoun (de|du) la? #ProperNoun",tag:"Person",notIf:"#Place",reason:"title-de-title"},{match:"#Singular #Acronym #LastName",tag:"#FirstName #Person .",reason:"title-acro-noun",safe:!0},{match:"[#ProperNoun] #Person",group:0,tag:"Person",reason:"proper-person",safe:!0},{match:"#Person [#ProperNoun #ProperNoun]",group:0,tag:"Person",notIf:"#Possessive",reason:"three-name-person",safe:!0},{match:"#FirstName #Acronym? [#ProperNoun]",group:0,tag:"LastName",notIf:"#Possessive",reason:"firstname-titlecase"},{match:"#FirstName [#FirstName]",group:0,tag:"LastName",reason:"firstname-firstname"},{match:"#FirstName #Acronym #Noun",tag:"Person",reason:"n-acro-noun",safe:!0},{match:"#FirstName [(de|di|du|van|von)] #Person",group:0,tag:"LastName",reason:"de-firstname"},{match:"[(lieutenant|corporal|sergeant|captain|qeen|king|admiral|major|colonel|marshal|president|queen|king)+] #ProperNoun",group:0,tag:"Honorific",reason:"seargeant-john"},{match:"[(private|general|major|rear|prime|field|count|miss)] #Honorific? #Person",group:0,tag:["Honorific","Person"],reason:"ambg-honorifics"},{match:"#Honorific #FirstName [#Singular]",group:0,tag:"LastName",notIf:"#Possessive",reason:"dr-john-foo",safe:!0},{match:"[(his|her) (majesty|honour|worship|excellency|honorable)] #Person",group:0,tag:"Honorific",reason:"his-excellency"},{match:"#Honorific #Actor",tag:"Honorific",reason:"Lieutenant colonel"},{match:"(first|second|third|1st|2nd|3rd) #Actor",tag:"Honorific",reason:"first lady"},{match:"#Person #RomanNumeral",tag:"Person",reason:"louis-IV"}],[{match:"#FirstName #Noun$",tag:". #LastName",notIf:"(#Possessive|#Organization|#Place|#Pronoun|@hasTitleCase)",reason:"firstname-noun"},{match:"%Person|Date% #Acronym? #ProperNoun",tag:"Person",reason:"jan-thierson"},{match:"%Person|Noun% #Acronym? #ProperNoun",tag:"Person",reason:"switch-person",safe:!0},{match:"%Person|Noun% #Organization",tag:"Organization",reason:"olive-garden"},{match:"%Person|Verb% #Acronym? #ProperNoun",tag:"Person",reason:"verb-propernoun",ifNo:"#Actor"},{match:"[%Person|Verb%] (will|had|has|said|says|told|did|learned|wants|wanted)",group:0,tag:"Person",reason:"person-said"},{match:"[%Person|Place%] (harbor|harbour|pier|town|city|place|dump|landfill)",group:0,tag:"Place",reason:"sydney-harbour"},{match:"(west|east|north|south) [%Person|Place%]",group:0,tag:"Place",reason:"east-sydney"},{match:"#Modal [%Person|Verb%]",group:0,tag:"Verb",reason:"would-mark"},{match:"#Adverb [%Person|Verb%]",group:0,tag:"Verb",reason:"really-mark"},{match:"[%Person|Verb%] (#Adverb|#Comparative)",group:0,tag:"Verb",reason:"drew-closer"},{match:"%Person|Verb% #Person",tag:"Person",reason:"rob-smith"},{match:"%Person|Verb% #Acronym #ProperNoun",tag:"Person",reason:"rob-a-smith"},{match:"[will] #Verb",group:0,tag:"Modal",reason:"will-verb"},{match:"(will && @isTitleCase) #ProperNoun",tag:"Person",reason:"will-name"},{match:"(#FirstName && !#Possessive) [#Singular] #Verb",group:0,safe:!0,tag:"LastName",reason:"jack-layton"},{match:"^[#Singular] #Person #Verb",group:0,safe:!0,tag:"Person",reason:"sherwood-anderson"},{match:"(a|an) [#Person]$",group:0,unTag:"Person",reason:"a-warhol"}],[{match:"#Copula (pretty|dead|full|well|sure) (#Adjective|#Noun)",tag:"#Copula #Adverb #Adjective",reason:"sometimes-adverb"},{match:"(#Pronoun|#Person) (had|#Adverb)? [better] #PresentTense",group:0,tag:"Modal",reason:"i-better"},{match:"(#Modal|i|they|we|do) not? [like]",group:0,tag:"PresentTense",reason:"modal-like"},{match:"#Noun #Adverb? [left]",group:0,tag:"PastTense",reason:"left-verb"},{match:"will #Adverb? not? #Adverb? [be] #Gerund",group:0,tag:"Copula",reason:"will-be-copula"},{match:"will #Adverb? not? #Adverb? [be] #Adjective",group:0,tag:"Copula",reason:"be-copula"},{match:"[march] (up|down|back|toward)",notIf:"#Date",group:0,tag:"Infinitive",reason:"march-to"},{match:"#Modal [march]",group:0,tag:"Infinitive",reason:"must-march"},{match:"[may] be",group:0,tag:"Verb",reason:"may-be"},{match:"[(subject|subjects|subjected)] to",group:0,tag:"Verb",reason:"subject to"},{match:"[home] to",group:0,tag:"PresentTense",reason:"home to"},{match:"[open] #Determiner",group:0,tag:"Infinitive",reason:"open-the"},{match:"(were|was) being [#PresentTense]",group:0,tag:"PastTense",reason:"was-being"},{match:"(had|has|have) [been /en$/]",group:0,tag:"Auxiliary Participle",reason:"had-been-broken"},{match:"(had|has|have) [been /ed$/]",group:0,tag:"Auxiliary PastTense",reason:"had-been-smoked"},{match:"(had|has) #Adverb? [been] #Adverb? #PastTense",group:0,tag:"Auxiliary",reason:"had-been-adj"},{match:"(had|has) to [#Noun] (#Determiner|#Possessive)",group:0,tag:"Infinitive",reason:"had-to-noun"},{match:"have [#PresentTense]",group:0,tag:"PastTense",notIf:"(come|gotten)",reason:"have-read"},{match:"(does|will|#Modal) that [work]",group:0,tag:"PastTense",reason:"does-that-work"},{match:"[(sound|sounds)] #Adjective",group:0,tag:"PresentTense",reason:"sounds-fun"},{match:"[(look|looks)] #Adjective",group:0,tag:"PresentTense",reason:"looks-good"},{match:"[(start|starts|stop|stops|begin|begins)] #Gerund",group:0,tag:"Verb",reason:"starts-thinking"},{match:"(have|had) read",tag:"Modal #PastTense",reason:"read-read"},{match:"(is|was|were) [(under|over) #PastTense]",group:0,tag:"Adverb Adjective",reason:"was-under-cooked"},{match:"[shit] (#Determiner|#Possessive|them)",group:0,tag:"Verb",reason:"swear1-verb"},{match:"[damn] (#Determiner|#Possessive|them)",group:0,tag:"Verb",reason:"swear2-verb"},{match:"[fuck] (#Determiner|#Possessive|them)",group:0,tag:"Verb",reason:"swear3-verb"},{match:"#Plural that %Noun|Verb%",tag:". #Preposition #Infinitive",reason:"jobs-that-work"},{match:"[works] for me",group:0,tag:"PresentTense",reason:"works-for-me"},{match:"as #Pronoun [please]",group:0,tag:"Infinitive",reason:"as-we-please"},{match:"[(co|mis|de|inter|intra|pre|re|un|out|under|over|counter)] #Verb",group:0,tag:["Verb","Prefix"],notIf:"(#Copula|#PhrasalVerb)",reason:"co-write"},{match:"#PastTense and [%Adj|Past%]",group:0,tag:"PastTense",reason:"dressed-and-left"},{match:"[%Adj|Past%] and #PastTense",group:0,tag:"PastTense",reason:"dressed-and-left"},{match:"#Copula #Pronoun [%Adj|Past%]",group:0,tag:"Adjective",reason:"is-he-stoked"},{match:"to [%Noun|Verb%] #Preposition",group:0,tag:"Infinitive",reason:"to-dream-of"}],[{match:"(slowly|quickly) [#Adjective]",group:0,tag:"Verb",reason:"slowly-adj"},{match:"does (#Adverb|not)? [#Adjective]",group:0,tag:"PresentTense",reason:"does-mean"},{match:"[(fine|okay|cool|ok)] by me",group:0,tag:"Adjective",reason:"okay-by-me"},{match:"i (#Adverb|do)? not? [mean]",group:0,tag:"PresentTense",reason:"i-mean"},{match:"will #Adjective",tag:"Auxiliary Infinitive",reason:"will-adj"},{match:"#Pronoun [#Adjective] #Determiner #Adjective? #Noun",group:0,tag:"Verb",reason:"he-adj-the"},{match:"#Copula [%Adj|Present%] to #Verb",group:0,tag:"Verb",reason:"adj-to"},{match:"#Copula [#Adjective] (well|badly|quickly|slowly)",group:0,tag:"Verb",reason:"done-well"},{match:"#Adjective and [#Gerund] !#Preposition?",group:0,tag:"Adjective",reason:"rude-and-x"},{match:"#Copula #Adverb? (over|under) [#PastTense]",group:0,tag:"Adjective",reason:"over-cooked"},{match:"#Copula #Adjective+ (and|or) [#PastTense]$",group:0,tag:"Adjective",reason:"bland-and-overcooked"},{match:"got #Adverb? [#PastTense] of",group:0,tag:"Adjective",reason:"got-tired-of"},{match:"(seem|seems|seemed|appear|appeared|appears|feel|feels|felt|sound|sounds|sounded) (#Adverb|#Adjective)? [#PastTense]",group:0,tag:"Adjective",reason:"felt-loved"},{match:"(seem|feel|seemed|felt) [#PastTense #Particle?]",group:0,tag:"Adjective",reason:"seem-confused"},{match:"a (bit|little|tad) [#PastTense #Particle?]",group:0,tag:"Adjective",reason:"a-bit-confused"},{match:"not be [%Adj|Past% #Particle?]",group:0,tag:"Adjective",reason:"do-not-be-confused"},{match:"#Copula just [%Adj|Past% #Particle?]",group:0,tag:"Adjective",reason:"is-just-right"},{match:"as [#Infinitive] as",group:0,tag:"Adjective",reason:"as-pale-as"},{match:"[%Adj|Past%] and #Adjective",group:0,tag:"Adjective",reason:"faled-and-oppressive"},{match:"or [#PastTense] #Noun",group:0,tag:"Adjective",notIf:"(#Copula|#Pronoun)",reason:"or-heightened-emotion"},{match:"(become|became|becoming|becomes) [#Verb]",group:0,tag:"Adjective",reason:"become-verb"},{match:"#Possessive [#PastTense] #Noun",group:0,tag:"Adjective",reason:"declared-intentions"},{match:"#Copula #Pronoun [%Adj|Present%]",group:0,tag:"Adjective",reason:"is-he-cool"}],[{match:"will (#Adverb|not)+? [have] (#Adverb|not)+? #Verb",group:0,tag:"Auxiliary",reason:"will-have-vb"},{match:"[#Copula] (#Adverb|not)+? (#Gerund|#PastTense)",group:0,tag:"Auxiliary",reason:"copula-walking"},{match:"[(#Modal|did)+] (#Adverb|not)+? #Verb",group:0,tag:"Auxiliary",reason:"modal-verb"},{match:"#Modal (#Adverb|not)+? [have] (#Adverb|not)+? [had] (#Adverb|not)+? #Verb",group:0,tag:"Auxiliary",reason:"would-have"},{match:"[(has|had)] (#Adverb|not)+? #PastTense",group:0,tag:"Auxiliary",reason:"had-walked"},{match:"[(do|does|did|will|have|had|has|got)] (not|#Adverb)+? #Verb",group:0,tag:"Auxiliary",reason:"have-had"},{match:"[about to] #Adverb? #Verb",group:0,tag:["Auxiliary","Verb"],reason:"about-to"},{match:"#Modal (#Adverb|not)+? [be] (#Adverb|not)+? #Verb",group:0,tag:"Auxiliary",reason:"would-be"},{match:"[(#Modal|had|has)] (#Adverb|not)+? [been] (#Adverb|not)+? #Verb",group:0,tag:"Auxiliary",reason:"had-been"},{match:"[(be|being|been)] #Participle",group:0,tag:"Auxiliary",reason:"being-driven"},{match:"[may] #Adverb? #Infinitive",group:0,tag:"Auxiliary",reason:"may-want"},{match:"#Copula (#Adverb|not)+? [(be|being|been)] #Adverb+? #PastTense",group:0,tag:"Auxiliary",reason:"being-walked"},{match:"will [be] #PastTense",group:0,tag:"Auxiliary",reason:"will-be-x"},{match:"[(be|been)] (#Adverb|not)+? #Gerund",group:0,tag:"Auxiliary",reason:"been-walking"},{match:"[used to] #PresentTense",group:0,tag:"Auxiliary",reason:"used-to-walk"},{match:"#Copula (#Adverb|not)+? [going to] #Adverb+? #PresentTense",group:0,tag:"Auxiliary",reason:"going-to-walk"},{match:"#Imperative [(me|him|her)]",group:0,tag:"Reflexive",reason:"tell-him"},{match:"(is|was) #Adverb? [no]",group:0,tag:"Negative",reason:"is-no"},{match:"[(been|had|became|came)] #PastTense",group:0,notIf:"#PhrasalVerb",tag:"Auxiliary",reason:"been-told"},{match:"[(being|having|getting)] #Verb",group:0,tag:"Auxiliary",reason:"being-born"},{match:"[be] #Gerund",group:0,tag:"Auxiliary",reason:"be-walking"},{match:"[better] #PresentTense",group:0,tag:"Modal",notIf:"(#Copula|#Gerund)",reason:"better-go"},{match:"even better",tag:"Adverb #Comparative",reason:"even-better"}],[{match:"(#Verb && @hasHyphen) up",tag:"PhrasalVerb",reason:"foo-up"},{match:"(#Verb && @hasHyphen) off",tag:"PhrasalVerb",reason:"foo-off"},{match:"(#Verb && @hasHyphen) over",tag:"PhrasalVerb",reason:"foo-over"},{match:"(#Verb && @hasHyphen) out",tag:"PhrasalVerb",reason:"foo-out"},{match:"[#Verb (in|out|up|down|off|back)] (on|in)",notIf:"#Copula",tag:"PhrasalVerb Particle",reason:"walk-in-on"},{match:"(lived|went|crept|go) [on] for",group:0,tag:"PhrasalVerb",reason:"went-on"},{match:"#Verb (up|down|in|on|for)$",tag:"PhrasalVerb #Particle",notIf:"#PhrasalVerb",reason:"come-down$"},{match:"help [(stop|end|make|start)]",group:0,tag:"Infinitive",reason:"help-stop"},{match:"#PhrasalVerb (in && #Particle) #Determiner",tag:"#Verb #Preposition #Determiner",unTag:"PhrasalVerb",reason:"work-in-the"},{match:"[(stop|start|finish|help)] #Gerund",group:0,tag:"Infinitive",reason:"start-listening"},{match:"#Verb (him|her|it|us|himself|herself|itself|everything|something) [(up|down)]",group:0,tag:"Adverb",reason:"phrasal-pronoun-advb"}],[{match:"^do not? [#Infinitive #Particle?]",notIf:ec,group:0,tag:"Imperative",reason:"do-eat"},{match:"^please do? not? [#Infinitive #Particle?]",group:0,tag:"Imperative",reason:"please-go"},{match:"^just do? not? [#Infinitive #Particle?]",group:0,tag:"Imperative",reason:"just-go"},{match:"^[#Infinitive] it #Comparative",notIf:ec,group:0,tag:"Imperative",reason:"do-it-better"},{match:"^[#Infinitive] it (please|now|again|plz)",notIf:ec,group:0,tag:"Imperative",reason:"do-it-please"},{match:"^[#Infinitive] (#Adjective|#Adverb)$",group:0,tag:"Imperative",notIf:"(so|such|rather|enough)",reason:"go-quickly"},{match:"^[#Infinitive] (up|down|over) #Determiner",group:0,tag:"Imperative",reason:"turn-down"},{match:"^[#Infinitive] (your|my|the|a|an|any|each|every|some|more|with|on)",group:0,notIf:"like",tag:"Imperative",reason:"eat-my-shorts"},{match:"^[#Infinitive] (him|her|it|us|me|there)",group:0,tag:"Imperative",reason:"tell-him"},{match:"^[#Infinitive] #Adjective #Noun$",group:0,tag:"Imperative",reason:"avoid-loud-noises"},{match:"^[#Infinitive] (#Adjective|#Adverb)? and #Infinitive",group:0,tag:"Imperative",reason:"call-and-reserve"},{match:"^(go|stop|wait|hurry) please?$",tag:"Imperative",reason:"go"},{match:"^(somebody|everybody) [#Infinitive]",group:0,tag:"Imperative",reason:"somebody-call"},{match:"^let (us|me) [#Infinitive]",group:0,tag:"Imperative",reason:"lets-leave"},{match:"^[(shut|close|open|start|stop|end|keep)] #Determiner #Noun",group:0,tag:"Imperative",reason:"shut-the-door"},{match:"^[#PhrasalVerb #Particle] #Determiner #Noun",group:0,tag:"Imperative",reason:"turn-off-the-light"},{match:"^[go] to .",group:0,tag:"Imperative",reason:"go-to-toronto"},{match:"^#Modal you [#Infinitive]",group:0,tag:"Imperative",reason:"would-you-"},{match:"^never [#Infinitive]",group:0,tag:"Imperative",reason:"never-stop"},{match:"^come #Infinitive",tag:"Imperative",notIf:"on",reason:"come-have"},{match:"^come and? #Infinitive",tag:"Imperative . Imperative",notIf:"#PhrasalVerb",reason:"come-and-have"},{match:"^stay (out|away|back)",tag:"Imperative",reason:"stay-away"},{match:"^[(stay|be|keep)] #Adjective",group:0,tag:"Imperative",reason:"stay-cool"},{match:"^[keep it] #Adjective",group:0,tag:"Imperative",reason:"keep-it-cool"},{match:"^do not [#Infinitive]",group:0,tag:"Imperative",reason:"do-not-be"},{match:"[#Infinitive] (yourself|yourselves)",group:0,tag:"Imperative",reason:"allow-yourself"},{match:"[#Infinitive] what .",group:0,tag:"Imperative",reason:"look-what"},{match:"^[#Infinitive] #Gerund",group:0,tag:"Imperative",reason:"keep-playing"},{match:"^[#Infinitive] (to|for|into|toward|here|there)",group:0,tag:"Imperative",reason:"go-to"},{match:"^[#Infinitive] (and|or) #Infinitive",group:0,tag:"Imperative",reason:"inf-and-inf"},{match:"^[%Noun|Verb%] to",group:0,tag:"Imperative",reason:"commit-to"},{match:"^[#Infinitive] #Adjective? #Singular #Singular",group:0,tag:"Imperative",reason:"maintain-eye-contact"},{match:"do not (forget|omit|neglect) to [#Infinitive]",group:0,tag:"Imperative",reason:"do-not-forget"},{match:"^[(ask|wear|pay|look|help|show|watch|act|fix|kill|stop|start|turn|try|win)] #Noun",group:0,tag:"Imperative",reason:"pay-attention"}],[{match:"(that|which) were [%Adj|Gerund%]",group:0,tag:"Gerund",reason:"that-were-growing"},{match:"#Gerund [#Gerund] #Plural",group:0,tag:"Adjective",reason:"hard-working-fam"}],[{match:"u r",tag:"#Pronoun #Copula",reason:"u r"},{match:"#Noun [(who|whom)]",group:0,tag:"Determiner",reason:"captain-who"},{match:"[had] #Noun+ #PastTense",group:0,tag:"Condition",reason:"had-he"},{match:"[were] #Noun+ to #Infinitive",group:0,tag:"Condition",reason:"were-he"},{match:"some sort of",tag:"Adjective Noun Conjunction",reason:"some-sort-of"},{match:"of some sort",tag:"Conjunction Adjective Noun",reason:"of-some-sort"},{match:"[such] (a|an|is)? #Noun",group:0,tag:"Determiner",reason:"such-skill"},{match:"[right] (before|after|in|into|to|toward)",group:0,tag:"#Adverb",reason:"right-into"},{match:"#Preposition [about]",group:0,tag:"Adjective",reason:"at-about"},{match:"(are|#Modal|see|do|for) [ya]",group:0,tag:"Pronoun",reason:"are-ya"},{match:"[long live] .",group:0,tag:"#Adjective #Infinitive",reason:"long-live"},{match:"[plenty] of",group:0,tag:"#Uncountable",reason:"plenty-of"},{match:"(always|nearly|barely|practically) [there]",group:0,tag:"Adjective",reason:"always-there"},{match:"[there] (#Adverb|#Pronoun)? #Copula",group:0,tag:"There",reason:"there-is"},{match:"#Copula [there] .",group:0,tag:"There",reason:"is-there"},{match:"#Modal #Adverb? [there]",group:0,tag:"There",reason:"should-there"},{match:"^[do] (you|we|they)",group:0,tag:"QuestionWord",reason:"do-you"},{match:"^[does] (he|she|it|#ProperNoun)",group:0,tag:"QuestionWord",reason:"does-he"},{match:"a [while]",group:0,tag:"Noun",reason:"a-while"},{match:"guess who",tag:"#Infinitive #QuestionWord",reason:"guess-who"},{match:"[fucking] !#Verb",group:0,tag:"#Gerund",reason:"f-as-gerund"}],[{match:"university of #Place",tag:"Organization",reason:"university-of-Foo"},{match:"#Noun (&|n) #Noun",tag:"Organization",reason:"Noun-&-Noun"},{match:"#Organization of the? #ProperNoun",tag:"Organization",reason:"org-of-place",safe:!0},{match:"#Organization #Country",tag:"Organization",reason:"org-country"},{match:"#ProperNoun #Organization",tag:"Organization",notIf:"#FirstName",reason:"titlecase-org"},{match:"#ProperNoun (ltd|co|inc|dept|assn|bros)",tag:"Organization",reason:"org-abbrv"},{match:"the [#Acronym]",group:0,tag:"Organization",reason:"the-acronym",safe:!0},{match:"government of the? [#Place+]",tag:"Organization",reason:"government-of-x"},{match:"(health|school|commerce) board",tag:"Organization",reason:"school-board"},{match:"(nominating|special|conference|executive|steering|central|congressional) committee",tag:"Organization",reason:"special-comittee"},{match:"(world|global|international|national|#Demonym) #Organization",tag:"Organization",reason:"global-org"},{match:"#Noun+ (public|private) school",tag:"School",reason:"noun-public-school"}],[{match:"(west|north|south|east|western|northern|southern|eastern)+ #Place",tag:"Region",reason:"west-norfolk"},{match:"#City [(al|ak|az|ar|ca|ct|dc|fl|ga|id|il|nv|nh|nj|ny|oh|pa|sc|tn|tx|ut|vt|pr)]",group:0,tag:"Region",reason:"us-state"},{match:"portland [or]",group:0,tag:"Region",reason:"portland-or"},{match:"#ProperNoun+ (cliff|place|range|pit|place|point|room|grounds|ruins)",tag:"Place",reason:"foo-point"},{match:"in [#ProperNoun] #Place",group:0,tag:"Place",reason:"propernoun-place"},{match:"#Value #Noun (st|street|rd|road|crescent|cr|way|tr|terrace|avenue|ave)",tag:"Address",reason:"address-st"}],[{match:"[so] #Noun",group:0,tag:"Conjunction",reason:"so-conj"},{match:"[(who|what|where|why|how|when)] #Noun #Copula #Adverb? (#Verb|#Adjective)",group:0,tag:"Conjunction",reason:"how-he-is-x"},{match:"#Copula [(who|what|where|why|how|when)] #Noun",group:0,tag:"Conjunction",reason:"when-he"},{match:"#Verb [that] #Pronoun",group:0,tag:"Conjunction",reason:"said-that-he"},{match:"#Noun [that] #Copula",group:0,tag:"Conjunction",reason:"that-are"},{match:"#Noun [that] #Verb #Adjective",group:0,tag:"Conjunction",reason:"that-seem"},{match:"#Noun #Copula not? [that] #Adjective",group:0,tag:"Adverb",reason:"that-adj"},{match:"#Verb #Adverb? #Noun [(that|which)]",group:0,tag:"Preposition",reason:"that-prep"},{match:"@hasComma [which] (#Pronoun|#Verb)",group:0,tag:"Preposition",reason:"which-copula"},{match:"#Noun [like] #Noun",group:0,tag:"Preposition",reason:"noun-like"},{match:"^[like] #Determiner",group:0,tag:"Preposition",reason:"like-the"},{match:"a #Noun [like] (#Noun|#Determiner)",group:0,tag:"Preposition",reason:"a-noun-like"},{match:"#Adverb [like]",group:0,tag:"Verb",reason:"really-like"},{match:"(not|nothing|never) [like]",group:0,tag:"Preposition",reason:"nothing-like"},{match:"#Infinitive #Pronoun [like]",group:0,tag:"Preposition",reason:"treat-them-like"},{match:"[#QuestionWord] (#Pronoun|#Determiner)",group:0,tag:"Preposition",reason:"how-he"},{match:"[#QuestionWord] #Participle",group:0,tag:"Preposition",reason:"when-stolen"},{match:"[how] (#Determiner|#Copula|#Modal|#PastTense)",group:0,tag:"QuestionWord",reason:"how-is"},{match:"#Plural [(who|which|when)] .",group:0,tag:"Preposition",reason:"people-who"}],[{match:"holy (shit|fuck|hell)",tag:"Expression",reason:"swears-expression"},{match:"^[(well|so|okay|now)] !#Adjective?",group:0,tag:"Expression",reason:"well-"},{match:"^come on",tag:"Expression",reason:"come-on"},{match:"(say|says|said) [sorry]",group:0,tag:"Expression",reason:"say-sorry"},{match:"^(ok|alright|shoot|hell|anyways)",tag:"Expression",reason:"ok-"},{match:"^(say && @hasComma)",tag:"Expression",reason:"say-"},{match:"^(like && @hasComma)",tag:"Expression",reason:"like-"},{match:"^[(dude|man|girl)] #Pronoun",group:0,tag:"Expression",reason:"dude-i"}]);let nc=null;var rc={postTagger:function(e){const{world:t}=e,{model:n,methods:r}=t;nc=nc||r.one.buildNet(n.two.matches,t);let a=r.two.quickSplit(e.document).map((e=>{let t=e[0];return[t.index[0],t.index[1],t.index[1]+e.length]})),o=e.update(a);return o.cache(),o.sweep(nc),e.uncache(),e},tagger:e=>e.compute(["lexicon","preTagger","postTagger"])};const ac={api:function(e){e.prototype.confidence=function(){let e=0,t=0;return this.docs.forEach((n=>{n.forEach((n=>{t+=1,e+=n.confidence||1}))})),0===t?1:(e=>Math.round(100*e)/100)(e/t)},e.prototype.tagger=function(){return this.compute(["tagger"])}},compute:rc,model:{two:{matches:tc}},hooks:["postTagger"]};var oc=ac;var ic=function(e,t){let n=function(e){return Object.keys(e.hooks).filter((e=>!e.startsWith("#")&&!e.startsWith("%")))}(t);if(0===n.length)return e;e._cache||e.cache();let r=e._cache;return e.filter(((e,t)=>n.some((e=>r[t].has(e)))))};var sc=function(e,t){let n=t;"string"==typeof t&&(n=this.buildNet([{match:t}]));let r=this.tokenize(e),a=ic(r,n);return a.found?(a.compute(["index","tagger"]),a.match(t)):r.none()},lc={lib:{lazy:sc}};var uc=function(e,t){let n=t;return e.forEach((e=>{e.has("#Infinitive")||(n=function(e,t){let n=(0,e.methods.two.transform.verb.conjugate)(t,e.model);return e.has("#Gerund")?n.Gerund:e.has("#PastTense")?n.PastTense:e.has("#PresentTense")?n.PresentTense:e.has("#Gerund")?n.Gerund:t}(e,t)),e.replaceWith(n)})),e};var cc=function(e,t,n){let r=e.split(/ /g).map((e=>e.toLowerCase().trim()));r=r.filter((e=>e)),r=r.map((e=>`{${e}}`)).join(" ");let a=this.match(r);return n&&(a=a.if(n)),a.has("#Verb")?uc(a,t):a.has("#Noun")?function(e,t){let n=t;e.has("#Plural")&&(n=(0,e.methods.two.transform.noun.toPlural)(t,e.model));e.replaceWith(n,{possessives:!0})}(a,t):a.has("#Adverb")?function(e,t){const{toAdverb:n}=e.methods.two.transform.adjective;let r=n(t);r&&e.replaceWith(r)}(a,t):a.has("#Adjective")?function(e,t){const{toComparative:n,toSuperlative:r}=e.methods.two.transform.adjective;let a=t;e.has("#Comparative")?a=n(a,e.model):e.has("#Superlative")&&(a=r(a,e.model)),a&&e.replaceWith(a)}(a,t):this};var hc={api:function(e){e.prototype.swap=cc}};v.plugin(Gu),v.plugin(Zu),v.plugin(oc),v.plugin(lc),v.plugin(hc);const dc=function(e){const{fromComparative:t,fromSuperlative:n}=e.methods.two.transform.adjective;let r=e.text("normal");return e.has("#Comparative")?t(r,e.model):e.has("#Superlative")?n(r,e.model):r};var gc={api:function(e){class Adjectives extends e{constructor(e,t,n){super(e,t,n),this.viewType="Adjectives"}json(e={}){const{toAdverb:t,toNoun:n,toSuperlative:r,toComparative:a}=this.methods.two.transform.adjective;return e.normal=!0,this.map((o=>{let i=o.toView().json(e)[0]||{},s=dc(o);return i.adjective={adverb:t(s,this.model),noun:n(s,this.model),superlative:r(s,this.model),comparative:a(s,this.model)},i}),[])}adverbs(){return this.before("#Adverb+$").concat(this.after("^#Adverb+"))}conjugate(e){const{toComparative:t,toSuperlative:n,toNoun:r,toAdverb:a}=this.methods.two.transform.adjective;return this.getNth(e).map((e=>{let o=dc(e);return{Adjective:o,Comparative:t(o,this.model),Superlative:n(o,this.model),Noun:r(o,this.model),Adverb:a(o,this.model)}}),[])}toComparative(e){const{toComparative:t}=this.methods.two.transform.adjective;return this.getNth(e).map((e=>{let n=dc(e),r=t(n,this.model);return e.replaceWith(r)}))}toSuperlative(e){const{toSuperlative:t}=this.methods.two.transform.adjective;return this.getNth(e).map((e=>{let n=dc(e),r=t(n,this.model);return e.replaceWith(r)}))}toAdverb(e){const{toAdverb:t}=this.methods.two.transform.adjective;return this.getNth(e).map((e=>{let n=dc(e),r=t(n,this.model);return e.replaceWith(r)}))}toNoun(e){const{toNoun:t}=this.methods.two.transform.adjective;return this.getNth(e).map((e=>{let n=dc(e),r=t(n,this.model);return e.replaceWith(r)}))}}e.prototype.adjectives=function(e){let t=this.match("#Adjective");return t=t.getNth(e),new Adjectives(t.document,t.pointer)},e.prototype.superlatives=function(e){let t=this.match("#Superlative");return t=t.getNth(e),new Adjectives(t.document,t.pointer)},e.prototype.comparatives=function(e){let t=this.match("#Comparative");return t=t.getNth(e),new Adjectives(t.document,t.pointer)}}};var mc={api:function(e){class Adverbs extends e{constructor(e,t,n){super(e,t,n),this.viewType="Adverbs"}conjugate(e){return this.getNth(e).map((e=>{let t=function(e){return e.compute("root").text("root")}(e);return{Adverb:e.text("normal"),Adjective:t}}),[])}json(e={}){const t=this.methods.two.transform.adjective.fromAdverb;return e.normal=!0,this.map((n=>{let r=n.toView().json(e)[0]||{};return r.adverb={adjective:t(r.normal)},r}),[])}}e.prototype.adverbs=function(e){let t=this.match("#Adverb");return t=t.getNth(e),new Adverbs(t.document,t.pointer)}}};var pc=function(e){let t=this;return t=function(e){let t=e.parentheses();return t=t.filter((e=>e.wordCount()>=3&&e.has("#Verb")&&e.has("#Noun"))),e.splitOn(t)}(t),t=function(e){let t=e.quotations();return t=t.filter((e=>e.wordCount()>=3&&e.has("#Verb")&&e.has("#Noun"))),e.splitOn(t)}(t),t=function(e){let t=e.match("@hasComma");return t=t.filter((e=>{if(1===e.growLeft(".").wordCount())return!1;if(1===e.growRight(". .").wordCount())return!1;let t=e.grow(".");return t=t.ifNo("@hasComma @hasComma"),t=t.ifNo("@hasComma (and|or) ."),t=t.ifNo("(#City && @hasComma) #Country"),t=t.ifNo("(#WeekDay && @hasComma) #Date"),t=t.ifNo("(#Date+ && @hasComma) #Value"),t=t.ifNo("(#Adjective && @hasComma) #Adjective"),t.found})),e.splitAfter(t)}(t),t=t.splitAfter("(@hasEllipses|@hasSemicolon|@hasDash|@hasColon)"),t=t.splitAfter("^#Pronoun (said|says)"),t=t.splitBefore("(said|says) #ProperNoun$"),t=t.splitBefore(". . if .{4}"),t=t.splitBefore("and while"),t=t.splitBefore("now that"),t=t.splitBefore("ever since"),t=t.splitBefore("(supposing|although)"),t=t.splitBefore("even (while|if|though)"),t=t.splitBefore("(whereas|whose)"),t=t.splitBefore("as (though|if)"),t=t.splitBefore("(til|until)"),"number"==typeof e&&(t=t.get(e)),t};var fc=function(e){let t=[],n=null;return e.clauses().docs.forEach((e=>{e.forEach((e=>{e.chunk&&e.chunk===n?t[t.length-1][2]=e.index[1]+1:(n=e.chunk,t.push([e.index[0],e.index[1],e.index[1]+1]))})),n=null})),e.update(t)};var vc=function(e){class Chunks extends e{constructor(e,t,n){super(e,t,n),this.viewType="Chunks"}isVerb(){return this.filter((e=>e.has("")))}isNoun(){return this.filter((e=>e.has("")))}isAdjective(){return this.filter((e=>e.has("")))}isPivot(){return this.filter((e=>e.has("")))}debug(){return this.toView().debug("chunks"),this}update(e){let t=new Chunks(this.document,e);return t._cache=this._cache,t}}e.prototype.chunks=function(e){let t=fc(this);return t=t.getNth(e),new Chunks(this.document,t.pointer)},e.prototype.clauses=pc};const bc={this:"Noun",then:"Pivot"};var yc=function(e){for(let t=0;t",group:0,chunk:"Verb"},{match:"#Noun of #Determiner? #Noun",chunk:"Noun"},{match:"#Value+ #Adverb? #Adjective",chunk:"Noun"},{match:"the [#Adjective] #Noun",chunk:"Noun"},{match:"#Singular in #Determiner? #Singular",chunk:"Noun"},{match:"#Plural [in] #Determiner? #Noun",group:0,chunk:"Pivot"},{match:"#Noun and #Determiner? #Noun",notIf:"(#Possessive|#Pronoun)",chunk:"Noun"}];let Pc=null;var Ac=function(e,t,n){const{methods:r}=n;Pc=Pc||r.one.buildNet(kc,n),e.sweep(Pc)};const Cc=function(e,t){if(("undefined"!=typeof process&&process.env?process.env:self.env||{}).DEBUG_CHUNKS){let n=(e.normal+"'").padEnd(8);console.log(` | '${n} → ${t.padEnd(12)}  -fallback- `)}e.chunk=t};var Nc=function(e){for(let t=0;t{for(let r=0;r{if("Verb"===e.chunk){const t=e.terms.find((e=>e.tags.has("Verb")));t||e.terms.forEach((e=>e.chunk=null))}}))};var xc={chunks:function(e){const{document:t,world:n}=e;yc(t),wc(t),Ac(e,t,n),Nc(t),jc(t)}},Ic={compute:xc,api:vc,hooks:["chunks"]};const Tc=/\./g;var Hc=function(e){class Acronyms extends e{constructor(e,t,n){super(e,t,n),this.viewType="Acronyms"}strip(){return this.docs.forEach((e=>{e.forEach((e=>{e.text=e.text.replace(Tc,""),e.normal=e.normal.replace(Tc,"")}))})),this}addPeriods(){return this.docs.forEach((e=>{e.forEach((e=>{e.text=e.text.replace(Tc,""),e.normal=e.normal.replace(Tc,""),e.text=e.text.split("").join(".")+".",e.normal=e.normal.split("").join(".")+"."}))})),this}}e.prototype.acronyms=function(e){let t=this.match("#Acronym");return t=t.getNth(e),new Acronyms(t.document,t.pointer)}};const Dc=/\(/,Gc=/\)/,Ec=function(e,t){for(;t{e[0].pre=e[0].pre.replace(Dc,"");let t=e[e.length-1];t.post=t.post.replace(Gc,"")})),e}(this)}}e.prototype.parentheses=function(e){let t=function(e){let t=[];return e.docs.forEach((e=>{for(let n=0;n{e.forEach((e=>{e.text=e.text.replace(Fc,""),e.normal=e.normal.replace(Fc,"")}))})),this}}e.prototype.possessives=function(e){let t=function(e){let t=e.match("#Possessive+");return t.has("#Person")&&(t=t.growLeft("#Person+")),t.has("#Place")&&(t=t.growLeft("#Place+")),t.has("#Organization")&&(t=t.growLeft("#Organization+")),t}(this);return t=t.getNth(e),new Possessives(t.document,t.pointer)}};const zc={'"':'"',""":""","'":"'","“":"”","‘":"’","‟":"”","‛":"’","„":"”","⹂":"”","‚":"’","«":"»","‹":"›","‵":"′","‶":"″","‷":"‴","〝":"〞","`":"´","〟":"〞"},$c=RegExp("["+Object.keys(zc).join("")+"]"),Lc=RegExp("["+Object.values(zc).join("")+"]"),Sc=function(e,t){const n=e[t].pre.match($c)[0]||"";if(!n||!zc[n])return null;const r=zc[n];for(;t{e[0].pre=e[0].pre.replace($c,"");let t=e[e.length-1];t.post=t.post.replace(Lc,"")}))}(this)}}e.prototype.quotations=function(e){let t=function(e){let t=[];return e.docs.forEach((e=>{for(let n=0;n{e.prototype[t[0]]=function(e){let n=this.match(t[1]);return"number"==typeof e?n.get(e):n}})),e.prototype.phoneNumbers=Bc,Wc.forEach((t=>{e.prototype[t[0]]=e.prototype[t[1]]}))},Kc={api:function(e){Hc(e),Oc(e),Vc(e),Mc(e),qc(e)}};const Uc=function(e,t){e.docs.forEach((e=>{e.forEach(t)}))};var Rc={case:e=>{Uc(e,(e=>{e.text=e.text.toLowerCase()}))},unicode:e=>{const t=e.world,n=t.methods.one.killUnicode;Uc(e,(e=>e.text=n(e.text,t)))},whitespace:e=>{Uc(e,(e=>{e.post=e.post.replace(/\s+/g," "),e.post=e.post.replace(/\s([.,?!:;])/g,"$1"),e.pre=e.pre.replace(/\s+/g,"")}))},punctuation:e=>{Uc(e,(e=>{e.post=e.post.replace(/[–—-]/g," "),e.post=e.post.replace(/[,:;]/g,""),e.post=e.post.replace(/\.{2,}/g,""),e.post=e.post.replace(/\?{2,}/g,"?"),e.post=e.post.replace(/!{2,}/g,"!"),e.post=e.post.replace(/\?!+/g,"?")}));let t=e.docs,n=t[t.length-1];if(n&&n.length>0){let e=n[n.length-1];e.post=e.post.replace(/ /g,"")}},contractions:e=>{e.contractions().expand()},acronyms:e=>{e.acronyms().strip()},parentheses:e=>{e.parentheses().strip()},possessives:e=>{e.possessives().strip()},quotations:e=>{e.quotations().strip()},emoji:e=>{e.emojis().remove()},honorifics:e=>{e.match("#Honorific+ #Person").honorifics().remove()},adverbs:e=>{e.adverbs().remove()},nouns:e=>{e.nouns().toSingular()},verbs:e=>{e.verbs().toInfinitive()},numbers:e=>{e.numbers().toNumber()},debullet:e=>{const t=/^\s*([-–—*•])\s*$/;return e.docs.forEach((e=>{t.test(e[0].pre)&&(e[0].pre=e[0].pre.replace(t,""))})),e}};const Qc=e=>e.split("|").reduce(((e,t)=>(e[t]=!0,e)),{}),_c="unicode|punctuation|whitespace|acronyms",Xc="|case|contractions|parentheses|quotations|emoji|honorifics|debullet",Zc={light:Qc(_c),medium:Qc(_c+Xc),heavy:Qc(_c+Xc+"|possessives|adverbs|nouns|verbs")};var Yc={api:function(e){e.prototype.normalize=function(e="light"){return"string"==typeof e&&(e=Zc[e]),Object.keys(e).forEach((t=>{Rc.hasOwnProperty(t)&&Rc[t](this,e[t])})),this}}};var eh=function(e){let t=e.clauses().match(""),n=t.match("@hasComma");return n=n.not("#Place"),n.found&&(t=t.splitAfter(n)),t=t.splitOn("#Expression"),t=t.splitOn("(he|she|we|you|they|i)"),t=t.splitOn("(#Noun|#Adjective) [(he|him|she|it)]",0),t=t.splitOn("[(he|him|she|it)] (#Determiner|#Value)",0),t=t.splitBefore("#Noun [(the|a|an)] #Adjective? #Noun",0),t=t.splitOn("[(here|there)] #Noun",0),t=t.splitOn("[#Noun] (here|there)",0),t=t.splitBefore("(our|my|their|your)"),t=t.splitOn("#Noun [#Determiner]",0),t=t.if("#Noun"),t};const th=["after","although","as if","as long as","as","because","before","even if","even though","ever since","if","in order that","provided that","since","so that","than","that","though","unless","until","what","whatever","when","whenever","where","whereas","wherever","whether","which","whichever","who","whoever","whom","whomever","whose"];var nh=function(e){if(e.before("#Preposition$").found)return!0;if(!e.before().found)return!1;for(let t=0;t3&&n.endsWith("s")&&!n.endsWith("ss")};var ah=function(e){let t=function(e){let t=e.clone();return t=t.match("#Noun+"),t=t.remove("(#Adjective|#Preposition|#Determiner|#Value)"),t=t.not("#Possessive"),t=t.first(),t.found?t:e}(e);return{determiner:e.match("#Determiner").eq(0),adjectives:e.match("#Adjective"),number:e.values(),isPlural:rh(e,t),isSubordinate:nh(e),root:t}};const oh=e=>e.text(),ih=e=>e.json({terms:!1,normal:!0}).map((e=>e.normal)),sh=function(e){if(!e.found)return null;let t=e.values(0);if(t.found){return(t.parse()[0]||{}).num}return null};var lh=function(e){let t=ah(e);return{root:oh(t.root),number:sh(t.number),determiner:oh(t.determiner),adjectives:ih(t.adjectives),isPlural:t.isPlural,isSubordinate:t.isSubordinate}};var uh=function(e){return!e.has("^(#Uncountable|#ProperNoun|#Place|#Pronoun|#Acronym)+$")};const ch={tags:!0};var hh=function(e,t){if(!0===t.isPlural)return e;if(t.root.has("#Possessive")&&(t.root=t.root.possessives().strip()),!uh(t.root))return e;const{methods:n,model:r}=e.world,{toPlural:a}=n.two.transform.noun;let o=a(t.root.text({keepPunct:!1}),r);e.match(t.root).replaceWith(o,ch).tag("Plural","toPlural"),t.determiner.has("(a|an)")&&e.remove(t.determiner);let i=t.root.after("not? #Adverb+? [#Copula]",0);return i.found&&(i.has("is")?e.replace(i,"are"):i.has("was")&&e.replace(i,"were")),e};const dh={tags:!0};var gh=function(e,t){if(!1===t.isPlural)return e;const{methods:n,model:r}=e.world,{toSingular:a}=n.two.transform.noun;let o=a(t.root.text("normal"),r);return e.replace(t.root,o,dh).tag("Singular","toPlural"),e};var mh=function(e){class Nouns extends e{constructor(e,t,n){super(e,t,n),this.viewType="Nouns"}parse(e){return this.getNth(e).map(ah)}json(e){let t="object"==typeof e?e:{};return this.getNth(e).map((e=>{let n=e.toView().json(t)[0]||{};return t&&!0!==t.noun&&(n.noun=lh(e)),n}),[])}conjugate(e){const t=this.world.methods.two.transform.noun;return this.getNth(e).map((e=>{let n=ah(e),r=n.root.compute("root").text("root"),a={Singular:r};return uh(n.root)&&(a.Plural=t.toPlural(r,this.model)),a.Singular===a.Plural&&delete a.Plural,a}),[])}isPlural(e){let t=this.filter((e=>ah(e).isPlural));return t.getNth(e)}isSingular(e){let t=this.filter((e=>!ah(e).isPlural));return t.getNth(e)}adjectives(e){let t=this.update([]);return this.forEach((e=>{let n=ah(e).adjectives;n.found&&(t=t.concat(n))})),t.getNth(e)}toPlural(e){return this.getNth(e).map((e=>hh(e,ah(e))))}toSingular(e){return this.getNth(e).map((e=>{let t=ah(e);return gh(e,t)}))}update(e){let t=new Nouns(this.document,e);return t._cache=this._cache,t}}e.prototype.nouns=function(e){let t=eh(this);return t=t.getNth(e),new Nouns(this.document,t.pointer)}},ph={api:mh};var fh=function(e,t){let n=e.match("#Fraction+");return n=n.filter((e=>!e.lookBehind("#Value and$").found)),n=n.notIf("#Value seconds"),"number"==typeof t&&(n=n.eq(t)),n};var vh=e=>{const t=[{reg:/^(minus|negative)[\s-]/i,mult:-1},{reg:/^(a\s)?half[\s-](of\s)?/i,mult:.5}];for(let n=0;n{if(bh.ones.hasOwnProperty(e)){if(t.ones||t.teens)return!1}else if(bh.teens.hasOwnProperty(e)){if(t.ones||t.teens||t.tens)return!1}else if(bh.tens.hasOwnProperty(e)&&(t.ones||t.teens||t.tens))return!1;return!0};var wh=function(e){let t="0.";for(let n=0;ne=(e=(e=(e=(e=(e=(e=(e=e.replace(/1st$/,"1")).replace(/2nd$/,"2")).replace(/3rd$/,"3")).replace(/([4567890])r?th$/,"$1")).replace(/^[$€¥£¢]/,"")).replace(/[%$€¥£¢]$/,"")).replace(/,/g,"")).replace(/([0-9])([a-z\u00C0-\u00FF]{1,2})$/,"$1");const Ph=/^([0-9,. ]+)\/([0-9,. ]+)$/,Ah={"a few":3,"a couple":2,"a dozen":12,"two dozen":24,zero:0},Ch=e=>Object.keys(e).reduce(((t,n)=>t+=e[n]),0);var Nh=function(e){if(!0===Ah.hasOwnProperty(e))return Ah[e];if("a"===e||"an"===e)return 1;const t=vh(e);let n=null,r={},a=0,o=!1;const i=(e=t.str).split(/[ -]/);for(let e=0;e#Value+] out of every? [#Value+]");if(!0!==t.found)return null;let{num:n,den:r}=t.groups();return n&&r?(n=xh(n),r=xh(r),n&&r&&"number"==typeof n&&"number"==typeof r?{numerator:n,denominator:r}:null):null}(e)||function(e){let t=e.match("[(#Cardinal|a)+] [#Fraction+]");if(!0!==t.found)return null;let{num:n,den:r}=t.groups();n=n.has("a")?1:xh(n);let a=r.text("reduced");return jh.test(a)&&(a=a.replace(jh,""),r=r.replaceWith(a)),r=Ih.hasOwnProperty(a)?Ih[a]:xh(r),"number"==typeof n&&"number"==typeof r?{numerator:n,denominator:r}:null}(e)||function(e){let t=e.match("^#Ordinal$");if(!0!==t.found)return null;if(e.lookAhead("^of ."))return{numerator:1,denominator:xh(t)};return null}(e)||null;return null!==t&&t.numerator&&t.denominator&&(t.decimal=t.numerator/t.denominator,t.decimal=(e=>{let t=Math.round(1e3*e)/1e3;return 0===t&&0!==e?e:t})(t.decimal)),t};var Hh=function(e){if(e<1e6)return String(e);let t;return t="number"==typeof e?e.toFixed(0):e,-1===t.indexOf("e+")?t:t.replace(".","").split("e+").reduce((function(e,t){return e+Array(t-e.length+2).join(0)}))};const Dh=[["ninety",90],["eighty",80],["seventy",70],["sixty",60],["fifty",50],["forty",40],["thirty",30],["twenty",20]],Gh=["","one","two","three","four","five","six","seven","eight","nine","ten","eleven","twelve","thirteen","fourteen","fifteen","sixteen","seventeen","eighteen","nineteen"],Eh=[[1e24,"septillion"],[1e20,"hundred sextillion"],[1e21,"sextillion"],[1e20,"hundred quintillion"],[1e18,"quintillion"],[1e17,"hundred quadrillion"],[1e15,"quadrillion"],[1e14,"hundred trillion"],[1e12,"trillion"],[1e11,"hundred billion"],[1e9,"billion"],[1e8,"hundred million"],[1e6,"million"],[1e5,"hundred thousand"],[1e3,"thousand"],[100,"hundred"],[1,"one"]],Oh=function(e){let t=[];if(e>100)return t;for(let n=0;n=Dh[n][1]&&(e-=Dh[n][1],t.push(Dh[n][0]));return Gh[e]&&t.push(Gh[e]),t};var Fh=function(e){let t=e.num;if(0===t||"0"===t)return"zero";t>1e21&&(t=Hh(t));let n=[];t<0&&(n.push("minus"),t=Math.abs(t));let r=function(e){let t=e,n=[];return Eh.forEach((r=>{if(e>=r[0]){let e=Math.floor(t/r[0]);t-=e*r[0],e&&n.push({unit:r[1],count:e})}})),n}(t);for(let e=0;e1&&n.push("and")),n=n.concat(Oh(r[e].count)),n.push(t)}return n=n.concat((e=>{const t=["zero","one","two","three","four","five","six","seven","eight","nine"];let n=[],r=Hh(e).match(/\.([0-9]+)/);if(!r||!r[0])return n;n.push("point");let a=r[0].split("");for(let e=0;ee)),0===n.length&&(n[0]=""),n.join(" ")};var Vh=function(e){if(!e.numerator||!e.denominator)return"";return`${Fh({num:e.numerator})} out of ${Fh({num:e.denominator})}`};const zh={one:"first",two:"second",three:"third",five:"fifth",eight:"eighth",nine:"ninth",twelve:"twelfth",twenty:"twentieth",thirty:"thirtieth",forty:"fortieth",fourty:"fourtieth",fifty:"fiftieth",sixty:"sixtieth",seventy:"seventieth",eighty:"eightieth",ninety:"ninetieth"};var $h=e=>{let t=Fh(e).split(" "),n=t[t.length-1];return zh.hasOwnProperty(n)?t[t.length-1]=zh[n]:t[t.length-1]=n.replace(/y$/,"i")+"th",t.join(" ")};var Lh=function(e){if(!e.numerator||!e.denominator)return"";let t=Fh({num:e.numerator}),n=$h({num:e.denominator});return 2===e.denominator&&(n="half"),t&&n?(1!==e.numerator&&(n+="s"),`${t} ${n}`):""};var Sh=function(e){class Fractions extends e{constructor(e,t,n){super(e,t,n),this.viewType="Fractions"}parse(e){return this.getNth(e).map(Th)}get(e){return this.getNth(e).map(Th)}json(e){return this.getNth(e).map((t=>{let n=t.toView().json(e)[0],r=Th(t);return n.fraction=r,n}),[])}toDecimal(e){return this.getNth(e).forEach((e=>{let{decimal:t}=Th(e);(e=e.replaceWith(String(t),!0)).tag("NumericValue"),e.unTag("Fraction")})),this}toFraction(e){return this.getNth(e).forEach((e=>{let t=Th(e);if(t&&"number"==typeof t.numerator&&"number"==typeof t.denominator){let n=`${t.numerator}/${t.denominator}`;this.replace(e,n)}})),this}toOrdinal(e){return this.getNth(e).forEach((e=>{let t=Th(e),n=Lh(t);e.after("^#Noun").found&&(n+=" of"),e.replaceWith(n)})),this}toCardinal(e){return this.getNth(e).forEach((e=>{let t=Th(e),n=Vh(t);e.replaceWith(n)})),this}toPercentage(e){return this.getNth(e).forEach((e=>{let{decimal:t}=Th(e),n=100*t;n=Math.round(100*n)/100,e.replaceWith(`${n}%`)})),this}}e.prototype.fractions=function(e){let t=fh(this);return t=t.getNth(e),new Fractions(this.document,t.pointer)}};const Mh="twenty|thirty|forty|fifty|sixty|seventy|eighty|ninety|fourty";var Bh=function(e){let t=e.match("#Value+");if(t.has("#NumericValue #NumericValue")&&(t.has("#Value @hasComma #Value")?t.splitAfter("@hasComma"):t.has("#NumericValue #Fraction")?t.splitAfter("#NumericValue #Fraction"):t=t.splitAfter("#NumericValue")),t.has("#Value #Value #Value")&&!t.has("#Multiple")&&t.has("("+Mh+") #Cardinal #Cardinal")&&(t=t.splitAfter("("+Mh+") #Cardinal")),t.has("#Value #Value")){t.has("#NumericValue #NumericValue")&&(t=t.splitOn("#Year")),t.has("("+Mh+") (eleven|twelve|thirteen|fourteen|fifteen|sixteen|seventeen|eighteen|nineteen)")&&(t=t.splitAfter("("+Mh+")"));let e=t.match("#Cardinal #Cardinal");if(e.found&&!t.has("(point|decimal|#Fraction)")&&!e.has("#Cardinal (#Multiple|point|decimal)")){let n=t.has(`(one|two|three|four|five|six|seven|eight|nine) (${Mh})`),r=e.has("("+Mh+") #Cardinal"),a=e.has("#Multiple #Value");n||r||a||e.terms().forEach((e=>{t=t.splitOn(e)}))}t.match("#Ordinal #Ordinal").match("#TextValue").found&&!t.has("#Multiple")&&(t.has("("+Mh+") #Ordinal")||(t=t.splitAfter("#Ordinal"))),t=t.splitBefore("#Ordinal [#Cardinal]",0),t.has("#TextValue #NumericValue")&&!t.has("("+Mh+"|#Multiple)")&&(t=t.splitBefore("#TextValue #NumericValue"))}return t=t.splitAfter("#NumberRange"),t=t.splitBefore("#Year"),t};var Jh=function(e){if("string"==typeof e)return{num:Nh(e)};let t=e.text("reduced"),n=e.growRight("#Unit").match("#Unit$").text("machine"),r=/[0-9],[0-9]/.test(e.text("text"));if(1===e.terms().length&&!e.has("#Multiple")){let a=function(e,t){let n=(e=e.replace(/,/g,"")).split(/([0-9.,]*)/),[r,a]=n,o=n.slice(2).join("");return""!==a&&t.length<2?(a=Number(a||e),"number"!=typeof a&&(a=null),o=o||"","st"!==o&&"nd"!==o&&"rd"!==o&&"th"!==o||(o=""),{prefix:r||"",num:a,suffix:o}):null}(t,e);if(null!==a)return a.hasComma=r,a.unit=n,a}let a=e.match("#Fraction{2,}$");a=!1===a.found?e.match("^#Fraction$"):a;let o=null;a.found&&(a.has("#Value and #Value #Fraction")&&(a=a.match("and #Value #Fraction")),o=Th(a),t=(e=(e=e.not(a)).not("and$")).text("reduced"));let i=0;return t&&(i=Nh(t)||0),o&&o.decimal&&(i+=o.decimal),{hasComma:r,prefix:"",num:i,suffix:"",isOrdinal:e.has("#Ordinal"),isText:e.has("#TextValue"),isFraction:e.has("#Fraction"),isMoney:e.has("#Money"),unit:n}};var Wh=function(e){let t=e.num;if(!t&&0!==t)return null;let n=t%100;if(n>10&&n<20)return String(t)+"th";const r={0:"th",1:"st",2:"nd",3:"rd"};let a=Hh(t),o=a.slice(a.length-1,a.length);return a+=r[o]?r[o]:"th",a};const qh={"¢":"cents",$:"dollars","£":"pounds","¥":"yen","€":"euros","₡":"colón","฿":"baht","₭":"kip","₩":"won","₹":"rupees","₽":"ruble","₺":"liras"},Kh={"%":"percent","°":"degrees"};var Uh=function(e){let t={suffix:"",prefix:e.prefix};return qh.hasOwnProperty(e.prefix)&&(t.suffix+=" "+qh[e.prefix],t.prefix=""),Kh.hasOwnProperty(e.suffix)&&(t.suffix+=" "+Kh[e.suffix]),t.suffix&&1===e.num&&(t.suffix=t.suffix.replace(/s$/,"")),!t.suffix&&e.suffix&&(t.suffix+=" "+e.suffix),t};var Rh=function(e,t){if("TextOrdinal"===t){let{prefix:t,suffix:n}=Uh(e);return t+$h(e)+n}if("Ordinal"===t)return e.prefix+Wh(e)+e.suffix;if("TextCardinal"===t){let{prefix:t,suffix:n}=Uh(e);return t+Fh(e)+n}let n=e.num;return e.hasComma&&(n=n.toLocaleString()),e.prefix+String(n)+e.suffix};var Qh=function(e){class Numbers extends e{constructor(e,t,n){super(e,t,n),this.viewType="Numbers"}parse(e){return this.getNth(e).map(Jh)}get(e){return this.getNth(e).map(Jh).map((e=>e.num))}json(e){let t="object"==typeof e?e:{};return this.getNth(e).map((e=>{let n=e.toView().json(t)[0],r=Jh(e);return n.number={prefix:r.prefix,num:r.num,suffix:r.suffix,hasComma:r.hasComma,unit:r.unit},n}),[])}units(){return this.growRight("#Unit").match("#Unit$")}isOrdinal(){return this.if("#Ordinal")}isCardinal(){return this.if("#Cardinal")}toNumber(){return this.if("#TextValue").forEach((e=>{let t=Jh(e);if(null===t.num)return;let n=e.has("#Ordinal")?"Ordinal":"Cardinal",r=Rh(t,n);e.replaceWith(r,{tags:!0}),e.tag("NumericValue")})),this}toLocaleString(){return this.forEach((e=>{let t=Jh(e);if(null===t.num)return;let n=t.num.toLocaleString();if(e.has("#Ordinal")){let e=Rh(t,"Ordinal").match(/[a-z]+$/);e&&(n+=e[0]||"")}e.replaceWith(n,{tags:!0})})),this}toText(){let e=this.map((e=>{if(e.has("#TextValue"))return e;let t=Jh(e);if(null===t.num)return e;let n=e.has("#Ordinal")?"TextOrdinal":"TextCardinal",r=Rh(t,n);return e.replaceWith(r,{tags:!0}),e.tag("TextValue"),e}));return new Numbers(e.document,e.pointer)}toCardinal(){let e=this.map((e=>{if(!e.has("#Ordinal"))return e;let t=Jh(e);if(null===t.num)return e;let n=e.has("#TextValue")?"TextCardinal":"Cardinal",r=Rh(t,n);return e.replaceWith(r,{tags:!0}),e.tag("Cardinal"),e}));return new Numbers(e.document,e.pointer)}toOrdinal(){let e=this.map((e=>{if(e.has("#Ordinal"))return e;let t=Jh(e);if(null===t.num)return e;let n=e.has("#TextValue")?"TextOrdinal":"Ordinal",r=Rh(t,n);return e.replaceWith(r,{tags:!0}),e.tag("Ordinal"),e}));return new Numbers(e.document,e.pointer)}isEqual(e){return this.filter((t=>Jh(t).num===e))}greaterThan(e){return this.filter((t=>Jh(t).num>e))}lessThan(e){return this.filter((t=>Jh(t).num{let r=Jh(n).num;return r>e&&r{let n=Jh(t);if(n.num=e,null===n.num)return t;let r=t.has("#Ordinal")?"Ordinal":"Cardinal";t.has("#TextValue")&&(r=t.has("#Ordinal")?"TextOrdinal":"TextCardinal");let a=Rh(n,r);return n.hasComma&&"Cardinal"===r&&(a=Number(a).toLocaleString()),(t=t.not("#Currency")).replaceWith(a,{tags:!0}),t}));return new Numbers(t.document,t.pointer)}add(e){if(!e)return this;"string"==typeof e&&(e=Jh(e).num);let t=this.map((t=>{let n=Jh(t);if(null===n.num)return t;n.num+=e;let r=t.has("#Ordinal")?"Ordinal":"Cardinal";n.isText&&(r=t.has("#Ordinal")?"TextOrdinal":"TextCardinal");let a=Rh(n,r);return t.replaceWith(a,{tags:!0}),t}));return new Numbers(t.document,t.pointer)}subtract(e,t){return this.add(-1*e,t)}increment(e){return this.add(1,e)}decrement(e){return this.add(-1,e)}update(e){let t=new Numbers(this.document,e);return t._cache=this._cache,t}}Numbers.prototype.toNice=Numbers.prototype.toLocaleString,Numbers.prototype.isBetween=Numbers.prototype.between,Numbers.prototype.minus=Numbers.prototype.subtract,Numbers.prototype.plus=Numbers.prototype.add,Numbers.prototype.equals=Numbers.prototype.isEqual,e.prototype.numbers=function(e){let t=Bh(this);return t=t.getNth(e),new Numbers(this.document,t.pointer)},e.prototype.percentages=function(e){let t=Bh(this);return t=t.filter((e=>e.has("#Percent")||e.after("^percent"))),t=t.getNth(e),new Numbers(this.document,t.pointer)},e.prototype.money=function(e){let t=Bh(this);return t=t.filter((e=>e.has("#Money")||e.after("^#Currency"))),t=t.getNth(e),new Numbers(this.document,t.pointer)},e.prototype.values=e.prototype.numbers};var _h={api:function(e){Sh(e),Qh(e)}};const Xh={people:!0,emails:!0,phoneNumbers:!0,places:!0},Zh=function(e={}){return!1!==(e=Object.assign({},Xh,e)).people&&this.people().replaceWith("██████████"),!1!==e.emails&&this.emails().replaceWith("██████████"),!1!==e.places&&this.places().replaceWith("██████████"),!1!==e.phoneNumbers&&this.phoneNumbers().replaceWith("███████"),this},Yh={api:function(e){e.prototype.redact=Zh}};var ed=Yh;var td=function(e){const t=/\?/,{document:n}=e;return e.filter((e=>{let r=e.docs[0]||[],a=r[r.length-1];return!(!a||n[a.index[0]].length!==r.length)&&(!!t.test(a.post)||function(e){let t=e.clauses();return!(/\.\.$/.test(e.out("text"))||e.has("^#QuestionWord")&&e.has("@hasComma")||!e.has("or not$")&&!e.has("^#QuestionWord")&&!e.has("^(do|does|did|is|was|can|could|will|would|may) #Noun")&&!e.has("^(have|must) you")&&!t.has("(do|does|is|was) #Noun+ #Adverb? (#Adjective|#Infinitive)$"))}(e))}))};var nd=function(e){let t=e;return 1===t.length?t:(t=t.if("#Verb"),1===t.length?t:(t=t.ifNo("(after|although|as|because|before|if|since|than|that|though|when|whenever|where|whereas|wherever|whether|while|why|unless|until|once)"),t=t.ifNo("^even (if|though)"),t=t.ifNo("^so that"),t=t.ifNo("^rather than"),t=t.ifNo("^provided that"),1===t.length?t:(t=t.ifNo("(that|which|whichever|who|whoever|whom|whose|whomever)"),1===t.length?t:(t=t.ifNo("(despite|during|before|through|throughout)"),1===t.length?t:(0===t.length&&(t=e),t.eq(0))))))};const rd=function(e){let t=null;return e.has("#PastTense")?t="PastTense":e.has("#FutureTense")?t="FutureTense":e.has("#PresentTense")&&(t="PresentTense"),{tense:t}};var ad=function(e){let t=e.clauses(),n=nd(t).chunks(),r=e.none(),a=e.none(),o=e.none();return n.forEach(((e,t)=>{0!==t||e.has("")?a.found||!e.has("")?a.found&&(o=o.concat(e)):a=e:r=e})),a.found&&!r.found&&(r=a.before("+").first()),{subj:r,verb:a,pred:o,grammar:rd(a)}};var od=function(e){let t=e.verbs(),n=t.eq(0);if(n.has("#PastTense"))return e;if(n.toPastTense(),t.length>1){t=t.slice(1),t=t.filter((e=>!e.lookBehind("to$").found)),t=t.if("#PresentTense"),t=t.notIf("#Gerund");let n=e.match("to #Verb+ #Conjunction #Verb").terms();t=t.not(n),t.found&&t.verbs().toPastTense()}return e};var id=function(e){let t=e.verbs();return t.eq(0).toPresentTense(),t.length>1&&(t=t.slice(1),t=t.filter((e=>!e.lookBehind("to$").found)),t=t.notIf("#Gerund"),t.found&&t.verbs().toPresentTense()),e};var sd=function(e){let t=e.verbs();if(t.eq(0).toFutureTense(),t=(e=e.fullSentence()).verbs(),t.length>1){t=t.slice(1);let e=t.filter((e=>!e.lookBehind("to$").found&&(!!e.has("#Copula #Gerund")||!e.has("#Gerund")&&(!!e.has("#Copula")||!(e.has("#PresentTense")&&!e.has("#Infinitive")&&e.lookBefore("(he|she|it|that|which)$").found)))));e.found&&e.forEach((e=>{if(e.has("#Copula"))return e.match("was").replaceWith("is"),void e.match("is").replaceWith("will be");e.toInfinitive()}))}return e};var ld=function(e){return e.verbs().toInfinitive(),e};var ud=function(e){class Sentences extends e{constructor(e,t,n){super(e,t,n),this.viewType="Sentences"}json(e={}){return this.map((t=>{let n=t.toView().json(e)[0]||{},{subj:r,verb:a,pred:o,grammar:i}=ad(t);return n.sentence={subject:r.text("normal"),verb:a.text("normal"),predicate:o.text("normal"),grammar:i},n}),[])}toPastTense(e){return this.getNth(e).map((e=>(ad(e),od(e))))}toPresentTense(e){return this.getNth(e).map((e=>(ad(e),id(e))))}toFutureTense(e){return this.getNth(e).map((e=>(ad(e),e=sd(e))))}toInfinitive(e){return this.getNth(e).map((e=>(ad(e),ld(e))))}toNegative(e){return this.getNth(e).map((e=>(ad(e),function(e){return e.verbs().first().toNegative().compute("chunks"),e}(e))))}toPositive(e){return this.getNth(e).map((e=>(ad(e),function(e){return e.verbs().first().toPositive().compute("chunks"),e}(e))))}isQuestion(e){return this.questions(e)}isExclamation(e){let t=this.filter((e=>e.lastTerm().has("@hasExclamation")));return t.getNth(e)}isStatement(e){let t=this.filter((e=>!e.isExclamation().found&&!e.isQuestion().found));return t.getNth(e)}update(e){let t=new Sentences(this.document,e);return t._cache=this._cache,t}}Sentences.prototype.toPresent=Sentences.prototype.toPresentTense,Sentences.prototype.toPast=Sentences.prototype.toPastTense,Sentences.prototype.toFuture=Sentences.prototype.toFutureTense;const t={sentences:function(e){let t=this.map((e=>e.fullSentence()));return t=t.getNth(e),new Sentences(this.document,t.pointer)},questions:function(e){return td(this).getNth(e)}};Object.assign(e.prototype,t)},cd={api:ud};var hd=function(e){let t=e.match("#Honorific+? #Person+"),n=t.match("#Possessive").notIf("(his|her)");return t=t.splitAfter(n),t};var dd=function(e){let t={};t.firstName=e.match("#FirstName+"),t.lastName=e.match("#LastName+"),t.honorific=e.match("#Honorific+");let n=t.lastName,r=t.firstName;return r.found&&n.found||r.found||n.found||!e.has("^#Honorific .$")||(t.lastName=e.match(".$")),t};const gd="male",md="female",pd={mr:gd,mrs:md,miss:md,madam:md,king:gd,queen:md,duke:gd,duchess:md,baron:gd,baroness:md,count:gd,countess:md,prince:gd,princess:md,sire:gd,dame:md,lady:md,ayatullah:gd,congressman:gd,congresswoman:md,"first lady":md,mx:null};var fd=function(e,t){let{firstName:n,honorific:r}=e;if(n.has("#FemaleName"))return md;if(n.has("#MaleName"))return gd;if(r.found){let e=r.text("normal");if(e=e.replace(/\./g,""),pd.hasOwnProperty(e))return pd[e];if(/^her /.test(e))return md;if(/^his /.test(e))return gd}let a=t.after();if(!a.has("#Person")&&a.has("#Pronoun")){let e=a.match("#Pronoun");if(e.has("(they|their)"))return null;let t=e.has("(he|his)"),n=e.has("(she|her|hers)");if(t&&!n)return gd;if(n&&!t)return md}return null};var vd=function(e){class People extends e{constructor(e,t,n){super(e,t,n),this.viewType="People"}parse(e){return this.getNth(e).map(dd)}json(e){let t="object"==typeof e?e:{};return this.getNth(e).map((e=>{let n=e.toView().json(t)[0],r=dd(e);return n.person={firstName:r.firstName.text("normal"),lastName:r.lastName.text("normal"),honorific:r.honorific.text("normal"),presumed_gender:fd(r,e)},n}),[])}presumedMale(){return this.filter((e=>e.has("(#MaleName|mr|mister|sr|jr|king|pope|prince|sir)")))}presumedFemale(){return this.filter((e=>e.has("(#FemaleName|mrs|miss|queen|princess|madam)")))}update(e){let t=new People(this.document,e);return t._cache=this._cache,t}}e.prototype.people=function(e){let t=hd(this);return t=t.getNth(e),new People(this.document,t.pointer)}};var bd=function(e){let t=e.match("(#Place|#Address)+"),n=t.match("@hasComma");return n=n.filter((e=>!!e.has("(asia|africa|europe|america)$")||(!e.has("(#City|#Region|#ProperNoun)$")||!e.after("^(#Country|#Region)").found))),t=t.splitAfter(n),t};var yd=function(e){e.prototype.places=function(t){let n=bd(this);return n=n.getNth(t),new e(this.document,n.pointer)}};var wd=function(e){e.prototype.organizations=function(e){return this.match("#Organization+").getNth(e)}};const kd=function(e){let t=this.clauses(),n=t.people();return n=n.concat(t.places()),n=n.concat(t.organizations()),n=n.not("(someone|man|woman|mother|brother|sister|father)"),n=n.sort("seq"),n=n.getNth(e),n};var Pd=function(e){e.prototype.topics=kd};var Ad={api:function(e){vd(e),yd(e),wd(e),Pd(e)}};var Cd=function(e){let t=e.match("");return t=t.not("#Conjunction"),t=t.not("#Preposition"),t=t.splitAfter("@hasComma"),t=t.splitAfter("[(do|did|am|was|is|will)] (is|was)",0),t=t.splitBefore("(#Verb && !#Copula) [being] #Verb",0),t=t.splitBefore("#Verb [to be] #Verb",0),t=t.splitAfter("[help] #PresentTense",0),t=t.splitBefore("(#PresentTense|#PastTense) [#Copula]$",0),t=t.splitBefore("(#PresentTense|#PastTense) [will be]$",0),t=t.splitBefore("(#PresentTense|#PastTense) [(had|has)]",0),t=t.not("#Reflexive$"),t=t.not("#Adjective"),t=t.splitAfter("[#PastTense] #PastTense",0),t=t.splitAfter("[#PastTense] #Auxiliary+ #PastTense",0),t=t.splitAfter("#Copula [#Gerund] #PastTense",0),t=t.if("#Verb"),t.has("(#Verb && !#Auxiliary) #Adverb+? #Copula")&&(t=t.splitBefore("#Copula")),t};var Nd=function(e){let t=e;return e.wordCount()>1&&(t=e.not("(#Negative|#Auxiliary|#Modal|#Adverb|#Prefix)")),t.length>1&&!t.has("#Phrasal #Particle")&&(t=t.last()),t=t.not("(want|wants|wanted) to"),t.found||(t=e.not("#Negative")),t};var jd=function(e,t){let n={pre:e.none(),post:e.none()};if(!e.has("#Adverb"))return n;let r=e.splitOn(t);return 3===r.length?{pre:r.eq(0).adverbs(),post:r.eq(2).adverbs()}:r.eq(0).isDoc(t)?(n.post=r.eq(1).adverbs(),n):(n.pre=r.eq(0).adverbs(),n)};const xd=function(e,t){let n=e.splitBefore(t);if(n.length<=1)return e.none();let r=n.eq(0);return r=r.not("(#Adverb|#Negative|#Prefix)"),r},Id=function(e){return e.match("#Negative")},Td=function(e){if(!e.has("(#Particle|#PhrasalVerb)"))return{verb:e.none(),particle:e.none()};let t=e.match("#Particle$");return{verb:e.not(t),particle:t}};var Hd=function(e){let t=e.clone();t.contractions().expand();const n=Nd(t);return{root:n,prefix:t.match("#Prefix"),adverbs:jd(t,n),auxiliary:xd(t,n),negative:Id(t),phrasal:Td(n)}};const Dd={tense:"PresentTense"},Gd={conditional:!0},Ed={tense:"FutureTense"},Od={progressive:!0},Fd={tense:"PastTense"},Vd={complete:!0,progressive:!1},zd={passive:!0},$d=function(e){let t={};return e.forEach((e=>{Object.assign(t,e)})),t},Ld={imperative:[["#Imperative",[]]],"want-infinitive":[["^(want|wants|wanted) to #Infinitive$",[Dd]],["^wanted to #Infinitive$",[Fd]],["^will want to #Infinitive$",[Ed]]],"gerund-phrase":[["^#PastTense #Gerund$",[Fd]],["^#PresentTense #Gerund$",[Dd]],["^#Infinitive #Gerund$",[Dd]],["^will #Infinitive #Gerund$",[Ed]],["^have #PastTense #Gerund$",[Fd]],["^will have #PastTense #Gerund$",[Fd]]],"simple-present":[["^#PresentTense$",[Dd]],["^#Infinitive$",[Dd]]],"simple-past":[["^#PastTense$",[Fd]]],"simple-future":[["^will #Adverb? #Infinitive",[Ed]]],"present-progressive":[["^(is|are|am) #Gerund$",[Dd,Od]]],"past-progressive":[["^(was|were) #Gerund$",[Fd,Od]]],"future-progressive":[["^will be #Gerund$",[Ed,Od]]],"present-perfect":[["^(has|have) #PastTense$",[Fd,Vd]]],"past-perfect":[["^had #PastTense$",[Fd,Vd]],["^had #PastTense to #Infinitive",[Fd,Vd]]],"future-perfect":[["^will have #PastTense$",[Ed,Vd]]],"present-perfect-progressive":[["^(has|have) been #Gerund$",[Fd,Od]]],"past-perfect-progressive":[["^had been #Gerund$",[Fd,Od]]],"future-perfect-progressive":[["^will have been #Gerund$",[Ed,Od]]],"passive-past":[["(got|were|was) #Passive",[Fd,zd]],["^(was|were) being #Passive",[Fd,zd]],["^(had|have) been #Passive",[Fd,zd]]],"passive-present":[["^(is|are|am) #Passive",[Dd,zd]],["^(is|are|am) being #Passive",[Dd,zd]],["^has been #Passive",[Dd,zd]]],"passive-future":[["will have been #Passive",[Ed,zd,Gd]],["will be being? #Passive",[Ed,zd,Gd]]],"present-conditional":[["would be #PastTense",[Dd,Gd]]],"past-conditional":[["would have been #PastTense",[Fd,Gd]]],"auxiliary-future":[["(is|are|am|was) going to (#Infinitive|#PresentTense)",[Ed]]],"auxiliary-past":[["^did #Infinitive$",[Fd,{plural:!1}]],["^used to #Infinitive$",[Fd,Vd]]],"auxiliary-present":[["^(does|do) #Infinitive$",[Dd,Vd,{plural:!0}]]],"modal-past":[["^(could|must|should|shall) have #PastTense$",[Fd]]],"modal-infinitive":[["^#Modal #Infinitive$",[]]],infinitive:[["^#Infinitive$",[]]]};let Sd=[];Object.keys(Ld).map((e=>{Ld[e].forEach((t=>{Sd.push({name:e,match:t[0],data:$d(t[1])})}))}));var Md=Sd;var Bd=function(e,t){let n={};e=function(e,t){return e=e.clone(),t.adverbs.post&&t.adverbs.post.found&&e.remove(t.adverbs.post),t.adverbs.pre&&t.adverbs.pre.found&&e.remove(t.adverbs.pre),e.has("#Negative")&&(e=e.remove("#Negative")),e.has("#Prefix")&&(e=e.remove("#Prefix")),t.root.has("#PhrasalVerb #Particle")&&e.remove("#Particle$"),e.not("#Adverb")}(e,t);for(let t=0;t!(e.has("^(if|unless|while|but|for|per|at|by|that|which|who|from)")||t>0&&e.has("^#Verb . #Noun+$")||t>0&&e.has("^#Adverb")))),0===t.length?e:t}(t);let n=t.nouns(),r=n.last(),a=r.match("(i|he|she|we|you|they)");if(a.found)return a.nouns();let o=n.if("^(that|this|those)");return o.found||!1===n.found&&(o=t.match("^(that|this|those)"),o.found)?o:(r=n.last(),Jd(r)&&(n.remove(r),r=n.last()),Jd(r)&&(n.remove(r),r=n.last()),r)}(e);return{subject:t,plural:Wd(t,e)}};const Kd=e=>e,Ud=(e,t)=>{let n=qd(e),r=n.subject;return!(!r.has("i")&&!r.has("we"))||n.plural},Rd=function(e,t){if(e.has("were"))return"are";let{subject:n,plural:r}=qd(e);return n.has("i")?"am":n.has("we")||r?"are":"is"},Qd=function(e,t){let n=qd(e),r=n.subject;return r.has("i")||r.has("we")||n.plural?"do":"does"},_d=function(e){return e.has("#Infinitive")?"Infinitive":e.has("#Participle")?"Participle":e.has("#PastTense")?"PastTense":e.has("#Gerund")?"Gerund":e.has("#PresentTense")?"PresentTense":void 0},Xd=function(e,t){const{toInfinitive:n}=e.methods.two.transform.verb;let r=t.root.text({keepPunct:!1});return r=n(r,e.model,_d(e)),r&&e.replace(t.root,r),e},Zd=e=>e.has("will not")?e.replace("will not","have not"):e.remove("will"),Yd=function(e){if(!e||!e.isView)return[];return e.json({normal:!0,terms:!1,text:!1}).map((e=>e.normal))},eg=function(e){return e&&e.isView?e.text("normal"):""},tg=function(e){const{toInfinitive:t}=e.methods.two.transform.verb;return t(e.text("normal"),e.model,_d(e))};var ng=function(e){let t=Hd(e);e=e.clone().toView();const n=Bd(e,t);return{root:t.root.text(),preAdverbs:Yd(t.adverbs.pre),postAdverbs:Yd(t.adverbs.post),auxiliary:eg(t.auxiliary),negative:t.negative.found,prefix:eg(t.prefix),infinitive:tg(t.root),grammar:n}};const rg={tags:!0};var ag=function(e,t){const{toInfinitive:n}=e.methods.two.transform.verb,{root:r,auxiliary:a}=t;let o=a.terms().harden(),i=r.text("normal");if(i=n(i,e.model,_d(r)),i&&e.replace(r,i,rg).tag("Verb").firstTerm().tag("Infinitive"),o.found&&e.remove(o),t.negative.found){e.has("not")||e.prepend("not");let t=Qd(e);e.prepend(t)}return e.fullSentence().compute(["lexicon","preTagger","postTagger","chunks"]),e};const og={tags:!0},ig={noAux:(e,t)=>(t.auxiliary.found&&(e=e.remove(t.auxiliary)),e),simple:(e,t)=>{const{conjugate:n,toInfinitive:r}=e.methods.two.transform.verb,a=t.root;if(a.has("#Modal"))return e;let o=a.text({keepPunct:!1});return o=r(o,e.model,_d(a)),o=n(o,e.model).PastTense,o="been"===o?"was":o,"was"===o&&(o=((e,t)=>{let{subject:n,plural:r}=qd(e);return r||n.has("we")?"were":"was"})(e)),o&&e.replace(a,o,og),e},both:function(e,t){return t.negative.found?(e.replace("will","did"),e):(e=ig.simple(e,t),e=ig.noAux(e,t))},hasHad:e=>(e.replace("has","had",og),e),hasParticiple:(e,t)=>{const{conjugate:n,toInfinitive:r}=e.methods.two.transform.verb,a=t.root;let o=a.text("normal");return o=r(o,e.model,_d(a)),n(o,e.model).Participle}},sg={infinitive:ig.simple,"simple-present":ig.simple,"simple-past":Kd,"simple-future":ig.both,"present-progressive":e=>(e.replace("are","were",og),e.replace("(is|are|am)","was",og),e),"past-progressive":Kd,"future-progressive":(e,t)=>(e.match(t.root).insertBefore("was"),e.remove("(will|be)"),e),"present-perfect":ig.hasHad,"past-perfect":Kd,"future-perfect":(e,t)=>(e.match(t.root).insertBefore("had"),e.has("will")&&(e=Zd(e)),e.remove("have"),e),"present-perfect-progressive":ig.hasHad,"past-perfect-progressive":Kd,"future-perfect-progressive":e=>(e.remove("will"),e.replace("have","had",og),e),"passive-past":e=>(e.replace("have","had",og),e),"passive-present":e=>(e.replace("(is|are)","was",og),e),"passive-future":(e,t)=>(t.auxiliary.has("will be")&&(e.match(t.root).insertBefore("had been"),e.remove("(will|be)")),t.auxiliary.has("will have been")&&(e.replace("have","had",og),e.remove("will")),e),"present-conditional":e=>(e.replace("be","have been"),e),"past-conditional":Kd,"auxiliary-future":e=>(e.replace("(is|are|am)","was",og),e),"auxiliary-past":Kd,"auxiliary-present":e=>(e.replace("(do|does)","did",og),e),"modal-infinitive":(e,t)=>(e.has("can")?e.replace("can","could",og):(ig.simple(e,t),e.match("#Modal").insertAfter("have").tag("Auxiliary")),e),"modal-past":Kd,"want-infinitive":e=>(e.replace("(want|wants)","wanted",og),e.remove("will"),e),"gerund-phrase":(e,t)=>(t.root=t.root.not("#Gerund$"),ig.simple(e,t),Zd(e),e)};var lg=function(e,t,n){return sg.hasOwnProperty(n)?((e=sg[n](e,t)).fullSentence().compute(["tagger","chunks"]),e):e};const ug=function(e,t){let n=qd(e),r=n.subject;return r.has("(i|we|you)")?"have":!1===n.plural||r.has("he")||r.has("she")||r.has("#Person")?"has":"have"},cg=(e,t)=>{const{conjugate:n,toInfinitive:r}=e.methods.two.transform.verb,{root:a,auxiliary:o}=t;if(a.has("#Modal"))return e;let i=a.text({keepPunct:!1});i=r(i,e.model,_d(a));let s=n(i,e.model);if(i=s.Participle||s.PastTense,i){e=e.replace(a,i);let t=ug(e);e.prepend(t).match(t).tag("Auxiliary"),e.remove(o)}return e},hg={infinitive:cg,"simple-present":cg,"simple-future":(e,t)=>e.replace("will",ug(e)),"present-perfect":Kd,"past-perfect":Kd,"future-perfect":(e,t)=>e.replace("will have",ug(e)),"present-perfect-progressive":Kd,"past-perfect-progressive":Kd,"future-perfect-progressive":Kd};var dg=function(e,t,n){return hg.hasOwnProperty(n)?((e=hg[n](e,t)).fullSentence().compute(["tagger","chunks"]),e):((e=cg(e,t)).fullSentence().compute(["tagger","chunks"]),e)};const gg={tags:!0},mg=(e,t)=>{const{conjugate:n,toInfinitive:r}=e.methods.two.transform.verb,a=t.root;let o=a.text("normal");return o=r(o,e.model,_d(a)),!1===Ud(e)&&(o=n(o,e.model).PresentTense),a.has("#Copula")&&(o=Rd(e)),o&&(e=e.replace(a,o,gg)).not("#Particle").tag("PresentTense"),e},pg=(e,t)=>{const{conjugate:n,toInfinitive:r}=e.methods.two.transform.verb,a=t.root;let o=a.text("normal");return o=r(o,e.model,_d(a)),!1===Ud(e)&&(o=n(o,e.model).Gerund),o&&(e=e.replace(a,o,gg)).not("#Particle").tag("Gerund"),e},fg={infinitive:mg,"simple-present":(e,t)=>{const{conjugate:n}=e.methods.two.transform.verb;let{root:r}=t;if(!r.has("#Infinitive"))return mg(e,t);{let t=qd(e).subject;if(Ud(e)||t.has("i"))return e;let a=r.text("normal"),o=n(a,e.model).PresentTense;a!==o&&e.replace(r,o,gg)}return e},"simple-past":mg,"simple-future":(e,t)=>{const{root:n,auxiliary:r}=t;if(r.has("will")&&n.has("be")){let t=Rd(e);e.replace(n,t),(e=e.remove("will")).replace("not "+t,t+" not")}else mg(e,t),e=e.remove("will");return e},"present-progressive":Kd,"past-progressive":(e,t)=>{let n=Rd(e);return e.replace("(were|was)",n,gg)},"future-progressive":e=>(e.match("will").insertBefore("is"),e.remove("be"),e.remove("will")),"present-perfect":(e,t)=>(mg(e,t),e=e.remove("(have|had|has)")),"past-perfect":(e,t)=>{let n=qd(e).subject;return Ud(e)||n.has("i")?((e=Xd(e,t)).remove("had"),e):(e.replace("had","has",gg),e)},"future-perfect":e=>(e.match("will").insertBefore("has"),e.remove("have").remove("will")),"present-perfect-progressive":Kd,"past-perfect-progressive":e=>e.replace("had","has",gg),"future-perfect-progressive":e=>(e.match("will").insertBefore("has"),e.remove("have").remove("will")),"passive-past":(e,t)=>{let n=Rd(e);return e.has("(had|have|has)")&&e.has("been")?(e.replace("(had|have|has)",n,gg),e.replace("been","being"),e):e.replace("(got|was|were)",n)},"passive-present":Kd,"passive-future":e=>(e.replace("will","is"),e.replace("be","being")),"present-conditional":Kd,"past-conditional":e=>(e.replace("been","be"),e.remove("have")),"auxiliary-future":(e,t)=>(pg(e,t),e.remove("(going|to)"),e),"auxiliary-past":(e,t)=>{if(t.auxiliary.has("did")){let n=Qd(e);return e.replace(t.auxiliary,n),e}return pg(e,t),e.replace(t.auxiliary,"is"),e},"auxiliary-present":Kd,"modal-infinitive":Kd,"modal-past":(e,t)=>(((e,t)=>{const{toInfinitive:n}=e.methods.two.transform.verb,r=t.root;let a=t.root.text("normal");a=n(a,e.model,_d(r)),a&&(e=e.replace(t.root,a,gg))})(e,t),e.remove("have")),"gerund-phrase":(e,t)=>(t.root=t.root.not("#Gerund$"),mg(e,t),e.remove("(will|have)")),"want-infinitive":(e,t)=>{let n="wants";return Ud(e)&&(n="want"),e.replace("(want|wanted|wants)",n,gg),e.remove("will"),e}};var vg=function(e,t,n){return fg.hasOwnProperty(n)?((e=fg[n](e,t)).fullSentence().compute(["tagger","chunks"]),e):e};const bg={tags:!0},yg=(e,t)=>{const{toInfinitive:n}=e.methods.two.transform.verb,{root:r,auxiliary:a}=t;if(r.has("#Modal"))return e;let o=r.text("normal");return o=n(o,e.model,_d(r)),o&&(e=e.replace(r,o,bg)).not("#Particle").tag("Verb"),e.prepend("will").match("will").tag("Auxiliary"),e.remove(a),e},wg=(e,t)=>{const{conjugate:n,toInfinitive:r}=e.methods.two.transform.verb,{root:a,auxiliary:o}=t;let i=a.text("normal");return i=r(i,e.model,_d(a)),i&&(i=n(i,e.model).Gerund,e.replace(a,i,bg),e.not("#Particle").tag("PresentTense")),e.remove(o),e.prepend("will be").match("will be").tag("Auxiliary"),e},kg={infinitive:yg,"simple-present":yg,"simple-past":yg,"simple-future":Kd,"present-progressive":wg,"past-progressive":wg,"future-progressive":Kd,"present-perfect":e=>(e.match("(have|has)").replaceWith("will have"),e),"past-perfect":e=>e.replace("(had|has)","will have"),"future-perfect":Kd,"present-perfect-progressive":e=>e.replace("has","will have"),"past-perfect-progressive":e=>e.replace("had","will have"),"future-perfect-progressive":Kd,"passive-past":e=>e.has("got")?e.replace("got","will get"):e.has("(was|were)")?(e.replace("(was|were)","will be"),e.remove("being")):e.has("(have|has|had) been")?e.replace("(have|has|had) been","will be"):e,"passive-present":e=>(e.replace("being","will be"),e.remove("(is|are|am)"),e),"passive-future":Kd,"present-conditional":e=>e.replace("would","will"),"past-conditional":e=>e.replace("would","will"),"auxiliary-future":Kd,"auxiliary-past":e=>e.has("used")&&e.has("to")?(e.replace("used","will"),e.remove("to")):(e.replace("did","will"),e),"auxiliary-present":e=>e.replace("(do|does)","will"),"modal-infinitive":Kd,"modal-past":Kd,"gerund-phrase":(e,t)=>(t.root=t.root.not("#Gerund$"),yg(e,t),e.remove("(had|have)")),"want-infinitive":e=>(e.replace("(want|wants|wanted)","will want"),e)};var Pg=function(e,t,n){return e.has("will")||e.has("going to")?e:kg.hasOwnProperty(n)?((e=kg[n](e,t)).fullSentence().compute(["tagger","chunks"]),e):e};const Ag={tags:!0};var Cg=function(e,t){const{toInfinitive:n,conjugate:r}=e.methods.two.transform.verb,{root:a,auxiliary:o}=t;if(e.has("#Gerund"))return e;let i=a.text("normal");i=n(i,e.model,_d(a));let s=r(i,e.model).Gerund;if(s){let t=Rd(e);e.replace(a,s,Ag),e.remove(o),e.prepend(t)}return e.replace("not is","is not"),e.replace("not are","are not"),e.fullSentence().compute(["tagger","chunks"]),e};const Ng={tags:!0},jg=function(e,t){let n=Qd(e);return e.prepend(n+" not"),e},xg=function(e){let t=e.match("be");return t.found?(t.prepend("not"),e):(t=e.match("(is|was|am|are|will|were)"),t.found?(t.append("not"),e):e)},Ig=e=>e.has("(is|was|am|are|will|were|be)"),Tg={"simple-present":(e,t)=>!0===Ig(e)?xg(e):(e=Xd(e,t),e=jg(e)),"simple-past":(e,t)=>!0===Ig(e)?xg(e):((e=Xd(e,t)).prepend("did not"),e),imperative:e=>(e.prepend("do not"),e),infinitive:(e,t)=>!0===Ig(e)?xg(e):jg(e),"passive-past":e=>{if(e.has("got"))return e.replace("got","get",Ng),e.prepend("did not"),e;let t=e.match("(was|were|had|have)");return t.found&&t.append("not"),e},"auxiliary-past":e=>{if(e.has("used"))return e.prepend("did not"),e;let t=e.match("(did|does|do)");return t.found&&t.append("not"),e},"want-infinitive":(e,t)=>e=(e=jg(e)).replace("wants","want",Ng)};var Hg=function(e,t,n){if(e.has("#Negative"))return e;if(Tg.hasOwnProperty(n))return e=Tg[n](e,t);let r=e.matchOne("be");return r.found?(r.prepend("not"),e):!0===Ig(e)?xg(e):(r=e.matchOne("(will|had|have|has|did|does|do|#Modal)"),r.found?(r.append("not"),e):e)};var Dg=function(e){class Verbs extends e{constructor(e,t,n){super(e,t,n),this.viewType="Verbs"}parse(e){return this.getNth(e).map(Hd)}json(e,t){let n=this.getNth(t).map((t=>{let n=t.toView().json(e)[0]||{};return n.verb=ng(t),n}),[]);return n}subjects(e){return this.getNth(e).map((e=>(Hd(e),qd(e).subject)))}adverbs(e){return this.getNth(e).map((e=>e.match("#Adverb")))}isSingular(e){return this.getNth(e).filter((e=>!0!==qd(e).plural))}isPlural(e){return this.getNth(e).filter((e=>!0===qd(e).plural))}isImperative(e){return this.getNth(e).filter((e=>e.has("#Imperative")))}toInfinitive(e){return this.getNth(e).map((e=>{let t=Hd(e),n=Bd(e,t);return ag(e,t,n.form)}))}toPresentTense(e){return this.getNth(e).map((e=>{let t=Hd(e),n=Bd(e,t);return n.isInfinitive?e:vg(e,t,n.form)}))}toPastTense(e){return this.getNth(e).map((e=>{let t=Hd(e),n=Bd(e,t);return n.isInfinitive?e:lg(e,t,n.form)}))}toFutureTense(e){return this.getNth(e).map((e=>{let t=Hd(e),n=Bd(e,t);return n.isInfinitive?e:Pg(e,t,n.form)}))}toGerund(e){return this.getNth(e).map((e=>{let t=Hd(e),n=Bd(e,t);return n.isInfinitive?e:Cg(e,t,n.form)}))}toPastParticiple(e){return this.getNth(e).map((e=>{let t=Hd(e),n=Bd(e,t);return n.isInfinitive?e:dg(e,t,n.form)}))}conjugate(e){const{conjugate:t,toInfinitive:n}=this.world.methods.two.transform.verb;return this.getNth(e).map((e=>{let r=Hd(e),a=Bd(e,r);"imperative"===a.form&&(a.form="simple-present");let o=r.root.text("normal");if(!r.root.has("#Infinitive")){let t=_d(r.root);o=n(o,e.model,t)||o}return t(o,e.model)}),[])}isNegative(){return this.if("#Negative")}isPositive(){return this.ifNo("#Negative")}toPositive(){let e=this.match("do not #Verb");return e.found&&e.remove("do not"),this.remove("#Negative")}toNegative(e){return this.getNth(e).map((e=>{let t=Hd(e),n=Bd(e,t);return Hg(e,t,n.form)}))}update(e){let t=new Verbs(this.document,e);return t._cache=this._cache,t}}Verbs.prototype.toPast=Verbs.prototype.toPastTense,Verbs.prototype.toPresent=Verbs.prototype.toPresentTense,Verbs.prototype.toFuture=Verbs.prototype.toFutureTense,e.prototype.verbs=function(e){let t=Cd(this);return t=t.getNth(e),new Verbs(this.document,t.pointer)}},Gg={api:Dg};const Eg=function(e,t){let n=t.match(e);if(n.found){let e=n.pronouns().refersTo();if(e.found)return e}return t.none()},Og=function(e){if(!e.found)return e;let[t]=e.fullPointer[0];return t&&t>0?e.update([[t-1]]):e.none()};var Fg=function(e,t){let n=e.people();return n=function(e,t){return"m"===t?e.filter((e=>!e.presumedFemale().found)):"f"===t?e.filter((e=>!e.presumedMale().found)):e}(n,t),n.found?n.last():(n=e.nouns("#Actor"),n.found?n.last():"f"===t?Eg("(she|her|hers)",e):"m"===t?Eg("(he|him|his)",e):e.none())};var Vg=function(e){let t=e.nouns(),n=t.isPlural().notIf("#Pronoun");if(n.found)return n.last();let r=Eg("(they|their|theirs)",e);return r.found?r:(n=t.match("(somebody|nobody|everybody|anybody|someone|noone|everyone|anyone)"),n.found?n.last():e.none())};const zg=function(e,t){let n=e.before(),r=t(n);return r.found?r:(n=Og(e),r=t(n),r.found?r:(n=Og(n),r=t(n),r.found?r:e.none()))};var $g=function(e){e.pronouns().if("(he|him|his|she|her|hers|they|their|theirs|it|its)").forEach((e=>{let t=null;e.has("(he|him|his)")?t=zg(e,(e=>Fg(e,"m"))):e.has("(she|her|hers)")?t=zg(e,(e=>Fg(e,"f"))):e.has("(they|their|theirs)")&&(t=zg(e,Vg)),t&&t.found&&function(e,t){t&&t.found&&(e.docs[0][0].reference=t.ptrs[0])}(e,t)}))};var Lg=function(e){class Pronouns extends e{constructor(e,t,n){super(e,t,n),this.viewType="Pronouns"}hasReference(){return this.compute("coreference"),this.filter((e=>e.docs[0][0].reference))}refersTo(){return this.compute("coreference"),this.map((e=>{if(!e.found)return e.none();let t=e.docs[0][0];return t.reference?e.update([t.reference]):e.none()}))}update(e){let t=new Pronouns(this.document,e);return t._cache=this._cache,t}}e.prototype.pronouns=function(e){let t=this.match("#Pronoun");return t=t.getNth(e),new Pronouns(t.document,t.pointer)}},Sg={compute:{coreference:$g},api:Lg};v.plugin(gc),v.plugin(mc),v.plugin(Ic),v.plugin(Sg),v.plugin(Kc),v.plugin(Yc),v.plugin(ph),v.plugin(_h),v.plugin(ed),v.plugin(cd),v.plugin(Ad),v.plugin(Gg);export{v as default}; diff --git a/builds/two/compromise-two.cjs b/builds/two/compromise-two.cjs index 65cf7bd56..7decdcee9 100644 --- a/builds/two/compromise-two.cjs +++ b/builds/two/compromise-two.cjs @@ -1 +1 @@ -var e,t;e=this,t=function(){var e={methods:{one:{},two:{},three:{},four:{}},model:{one:{},two:{},three:{}},compute:{},hooks:[]};const t={compute:function(e){const{world:t}=this,n=t.compute;return"string"==typeof e&&n.hasOwnProperty(e)?n[e](this):(e=>"[object Array]"===Object.prototype.toString.call(e))(e)?e.forEach((a=>{t.compute.hasOwnProperty(a)?n[a](this):console.warn("no compute:",e)})):"function"==typeof e?e(this):console.warn("no compute:",e),this}};var n=t,a={forEach:function(e){return this.fullPointer.forEach(((t,n)=>{let a=this.update([t]);e(a,n)})),this},map:function(e,t){let n=this.fullPointer.map(((t,n)=>{let a=this.update([t]),r=e(a,n);return void 0===r?this.none():r}));if(0===n.length)return t||this.update([]);if(void 0!==n[0]){if("string"==typeof n[0])return n;if("object"==typeof n[0]&&(null===n[0]||!n[0].isView))return n}let a=[];return n.forEach((e=>{a=a.concat(e.fullPointer)})),this.toView(a)},filter:function(e){let t=this.fullPointer;return t=t.filter(((t,n)=>{let a=this.update([t]);return e(a,n)})),this.update(t)},find:function(e){let t=this.fullPointer.find(((t,n)=>{let a=this.update([t]);return e(a,n)}));return this.update([t])},some:function(e){return this.fullPointer.some(((t,n)=>{let a=this.update([t]);return e(a,n)}))},random:function(e=1){let t=this.fullPointer,n=Math.floor(Math.random()*t.length);return n+e>this.length&&(n=this.length-e,n=n<0?0:n),t=t.slice(n,n+e),this.update(t)}};const r={termList:function(){return this.methods.one.termList(this.docs)},terms:function(e){let t=this.match(".");return"number"==typeof e?t.eq(e):t},groups:function(e){if(e||0===e)return this.update(this._groups[e]||[]);let t={};return Object.keys(this._groups).forEach((e=>{t[e]=this.update(this._groups[e])})),t},eq:function(e){let t=this.pointer;return t||(t=this.docs.map(((e,t)=>[t]))),t[e]?this.update([t[e]]):this.none()},first:function(){return this.eq(0)},last:function(){let e=this.fullPointer.length-1;return this.eq(e)},firstTerms:function(){return this.match("^.")},lastTerms:function(){return this.match(".$")},slice:function(e,t){let n=this.pointer||this.docs.map(((e,t)=>[t]));return n=n.slice(e,t),this.update(n)},all:function(){return this.update().toView()},fullSentences:function(){let e=this.fullPointer.map((e=>[e[0]]));return this.update(e).toView()},none:function(){return this.update([])},isDoc:function(e){if(!e||!e.isView)return!1;let t=this.fullPointer,n=e.fullPointer;return!t.length!==n.length&&t.every(((e,t)=>!!n[t]&&e[0]===n[t][0]&&e[1]===n[t][1]&&e[2]===n[t][2]))},wordCount:function(){return this.docs.reduce(((e,t)=>(e+=t.filter((e=>""!==e.text)).length,e)),0)},isFull:function(){let e=this.pointer;if(!e)return!0;if(0===e.length||0!==e[0][0])return!1;let t=0,n=0;return this.document.forEach((e=>t+=e.length)),this.docs.forEach((e=>n+=e.length)),t===n},getNth:function(e){return"number"==typeof e?this.eq(e):"string"==typeof e?this.if(e):this}};r.group=r.groups,r.fullSentence=r.fullSentences,r.sentence=r.fullSentences,r.lastTerm=r.lastTerms,r.firstTerm=r.firstTerms;var o=r;const i=Object.assign({},o,n,a);i.get=i.eq;var s=i;class View{constructor(t,n,a={}){[["document",t],["world",e],["_groups",a],["_cache",null],["viewType","View"]].forEach((e=>{Object.defineProperty(this,e[0],{value:e[1],writable:!0})})),this.ptrs=n}get docs(){let t=this.document;return this.ptrs&&(t=e.methods.one.getDoc(this.ptrs,this.document)),t}get pointer(){return this.ptrs}get methods(){return this.world.methods}get model(){return this.world.model}get hooks(){return this.world.hooks}get isView(){return!0}get found(){return this.docs.length>0}get length(){return this.docs.length}get fullPointer(){let{docs:e,ptrs:t,document:n}=this,a=t||e.map(((e,t)=>[t]));return a.map((e=>{let[t,a,r,o,i]=e;return a=a||0,r=r||(n[t]||[]).length,n[t]&&n[t][a]&&(o=o||n[t][a].id,n[t][r-1]&&(i=i||n[t][r-1].id)),[t,a,r,o,i]}))}update(e){let t=new View(this.document,e);if(this._cache&&e&&e.length>0){let n=[];e.forEach(((e,t)=>{let[a,r,o]=e;(1===e.length||0===r&&this.document[a].length===o)&&(n[t]=this._cache[a])})),n.length>0&&(t._cache=n)}return t.world=this.world,t}toView(e){return new View(this.document,e||this.pointer)}fromText(e){const{methods:t}=this;let n=t.one.tokenize.fromString(e,this.world),a=new View(n);return a.world=this.world,a.compute(["normal","lexicon"]),this.world.compute.preTagger&&a.compute("preTagger"),a}clone(){let e=this.document.slice(0);e=e.map((e=>e.map((e=>((e=Object.assign({},e)).tags=new Set(e.tags),e)))));let t=this.update(this.pointer);return t.document=e,t._cache=this._cache,t}}Object.assign(View.prototype,s);var l=View;const u=function(e){return e&&"object"==typeof e&&!Array.isArray(e)};function c(e,t){if(u(t))for(const n in t)u(t[n])?(e[n]||Object.assign(e,{[n]:{}}),c(e[n],t[n])):Object.assign(e,{[n]:t[n]});return e}var d=function(e,t,n,a){const{methods:r,model:o,compute:i,hooks:s}=t;e.methods&&function(e,t){for(const n in t)e[n]=e[n]||{},Object.assign(e[n],t[n])}(r,e.methods),e.model&&c(o,e.model),e.irregulars&&function(e,t){let n=e.two.models||{};Object.keys(t).forEach((e=>{t[e].pastTense&&(n.toPast&&(n.toPast.ex[e]=t[e].pastTense),n.fromPast&&(n.fromPast.ex[t[e].pastTense]=e)),t[e].presentTense&&(n.toPresent&&(n.toPresent.ex[e]=t[e].presentTense),n.fromPresent&&(n.fromPresent.ex[t[e].presentTense]=e)),t[e].gerund&&(n.toGerund&&(n.toGerund.ex[e]=t[e].gerund),n.fromGerund&&(n.fromGerund.ex[t[e].gerund]=e)),t[e].comparative&&(n.toComparative&&(n.toComparative.ex[e]=t[e].comparative),n.fromComparative&&(n.fromComparative.ex[t[e].comparative]=e)),t[e].superlative&&(n.toSuperlative&&(n.toSuperlative.ex[e]=t[e].superlative),n.fromSuperlative&&(n.fromSuperlative.ex[t[e].superlative]=e))}))}(o,e.irregulars),e.compute&&Object.assign(i,e.compute),s&&(t.hooks=s.concat(e.hooks||[])),e.api&&e.api(n),e.lib&&Object.keys(e.lib).forEach((t=>a[t]=e.lib[t])),e.tags&&a.addTags(e.tags),e.words&&a.addWords(e.words),e.mutate&&e.mutate(t)};const h=function(e){return"[object Array]"===Object.prototype.toString.call(e)};var m=function(e,t,n){const{methods:a}=n;let r=new t([]);if(r.world=n,"number"==typeof e&&(e=String(e)),!e)return r;if("string"==typeof e)return new t(a.one.tokenize.fromString(e,n));if(o=e,"[object Object]"===Object.prototype.toString.call(o)&&e.isView)return new t(e.document,e.ptrs);var o;if(h(e)){if(h(e[0])){let n=e.map((e=>e.map((e=>({text:e,normal:e,pre:"",post:" ",tags:new Set})))));return new t(n)}let n=function(e){return e.map((e=>e.terms.map((e=>(h(e.tags)&&(e.tags=new Set(e.tags)),e)))))}(e);return new t(n)}return r};let p=Object.assign({},e);const f=function(e,t){t&&f.addWords(t);let n=m(e,l,p);return e&&n.compute(p.hooks),n};Object.defineProperty(f,"_world",{value:p,writable:!0}),f.tokenize=function(e,t){const{compute:n}=this._world;t&&f.addWords(t);let a=m(e,l,p);return n.contractions&&a.compute(["alias","normal","machine","contractions"]),a},f.plugin=function(e){return d(e,this._world,l,this),this},f.extend=f.plugin,f.world=function(){return this._world},f.model=function(){return this._world.model},f.methods=function(){return this._world.methods},f.hooks=function(){return this._world.hooks},f.verbose=function(e){const t="undefined"!=typeof process&&process.env?process.env:self.env||{};return t.DEBUG_TAGS="tagger"===e||!0===e||"",t.DEBUG_MATCH="match"===e||!0===e||"",t.DEBUG_CHUNKS="chunker"===e||!0===e||"",this},f.version="14.10.0";var b=f,v=function(e){let t=e.map((e=>{let t=new Set;return e.forEach((e=>{""!==e.normal&&t.add(e.normal),e.switch&&t.add(`%${e.switch}%`),e.implicit&&t.add(e.implicit),e.machine&&t.add(e.machine),e.root&&t.add(e.root),e.alias&&e.alias.forEach((e=>t.add(e)));let n=Array.from(e.tags);for(let e=0;e/^\p{Lu}[\p{Ll}'’]/u.test(e)||/^\p{Lu}$/u.test(e),A=(e,t,n)=>{if(n.forEach((e=>e.dirty=!0)),e){let a=[t,0].concat(n);Array.prototype.splice.apply(e,a)}return e},I=function(e){let t=e[e.length-1];!t||/ $/.test(t.post)||/[-–—]/.test(t.post)||(t.post+=" ")},E=(e,t,n)=>{const a=/[-.?!,;:)–—'"]/g;let r=e[t-1];if(!r)return;let o=r.post;if(a.test(o)){let e=o.match(a).join(""),t=n[n.length-1];t.post=e+t.post,r.post=r.post.replace(a,"")}},j=function(e,t,n,a){let[r,o,i]=t;0===o||i===a[r].length?I(n):(I(n),I([e[t[1]]])),function(e,t,n){let a=e[t];if(0!==t||!P(a.text))return;n[0].text=n[0].text.replace(/^\p{Ll}/u,(e=>e.toUpperCase()));let r=e[t];r.tags.has("ProperNoun")||r.tags.has("Acronym")||P(r.text)&&r.text.length>1&&(r.text=r.text.replace(/^\p{Lu}/u,(e=>e.toLowerCase())))}(e,o,n),A(e,o,n)};let D=0;const N=e=>(e=e.length<3?"0"+e:e).length<3?"0"+e:e;var x=function(e){let[t,n]=e.index||[0,0];D+=1,D=D>46655?0:D,t=t>46655?0:t,n=n>1294?0:n;let a=N(D.toString(36));a+=N(t.toString(36));let r=n.toString(36);return r=r.length<2?"0"+r:r,a+=r,a+=parseInt(36*Math.random(),10).toString(36),e.normal+"|"+a.toUpperCase()};const C=function(e){e.has("@hasContraction")&&"function"==typeof e.contractions&&e.grow("@hasContraction").contractions().expand()},T=e=>"[object Array]"===Object.prototype.toString.call(e),F=function(e,t,n){const{document:a,world:r}=t;t.uncache();let o=t.fullPointer,i=t.fullPointer;t.forEach(((s,l)=>{let u=s.fullPointer[0],[c]=u,d=a[c],h=function(e,t){const{methods:n}=t;return"string"==typeof e?n.one.tokenize.fromString(e,t)[0]:"object"==typeof e&&e.isView?e.clone().docs[0]||[]:T(e)?T(e[0])?e[0]:e:[]}(e,r);0!==h.length&&(h=function(e){return e.map((e=>(e.id=x(e),e)))}(h),n?(C(t.update([u]).firstTerm()),j(d,u,h,a)):(C(t.update([u]).lastTerm()),function(e,t,n,a){let[r,,o]=t,i=(a[r]||[]).length;o{let n=t(e);e.replaceWith(n)})),e}(a,e);let r=a.docs[0],o=t.possessives&&r[r.length-1].tags.has("Possessive");e=function(e,t){if("string"!=typeof e)return e;let n=t.groups();return e=e.replace(V,(e=>{let t=e.replace(/\$/,"");return n.hasOwnProperty(t)?n[t].text():e})),e}(e,a);let i=this.update(n);n=n.map((e=>e.slice(0,3)));let s=(i.docs[0]||[]).map((e=>Array.from(e.tags)));if("string"==typeof e&&(e=this.fromText(e).compute("id")),a.insertAfter(e),i.has("@hasContraction")&&a.contractions&&a.grow("@hasContraction+").contractions().expand(),a.delete(i),o){let e=a.docs[0],t=e[e.length-1];t.tags.has("Possessive")||(t.text+="'s",t.normal+="'s",t.tags.add("Possessive"))}let l=a.toView(n).compute(["index","lexicon"]);return l.world.compute.preTagger&&l.compute("preTagger"),t.tags&&l.terms().forEach(((e,t)=>{e.tagSafe(s[t])})),t.case&&l.docs[0]&&l.docs[0][0]&&0===l.docs[0][0].index[1]&&(l.docs[0][0].text=l.docs[0][0].text.replace(/\w\S*/g,(e=>e.charAt(0).toUpperCase()+e.substring(1).toLowerCase()))),l},replace:function(e,t,n){if(e&&!t)return this.replaceWith(e,n);let a=this.match(e);return a.found?(this.soften(),a.replaceWith(t,n)):this}};var L=z,M=function(e,t){t.forEach((t=>{let[n,a,r]=t,o=r-a;e[n]&&(r===e[n].length&&r>1&&function(e,t){let n=e.length-1,a=e[n],r=e[n-t];r&&a&&(r.post+=a.post,r.post=r.post.replace(/ +([.?!,;:])/,"$1"),r.post=r.post.replace(/[,;:]+([.?!])/,"$1"))}(e[n],o),e[n].splice(a,o))}));for(let t=e.length-1;t>=0;t-=1)if(0===e[t].length&&(e.splice(t,1),t===e.length&&e[t-1])){let n=e[t-1],a=n[n.length-1];a&&(a.post=a.post.trimEnd())}return e};const S={remove:function(e){const{indexN:t}=this.methods.one.pointer;this.uncache();let n=this.all(),a=this;e&&(n=this,a=this.match(e));let r=!n.ptrs;a.has("@hasContraction")&&a.contractions&&a.grow("@hasContraction").contractions().expand();let o=n.fullPointer,i=a.fullPointer.reverse(),s=M(this.document,i);return o=function(e,t){return e=e.map((e=>{let[n]=e;return t[n]?(t[n].forEach((t=>{let n=t[2]-t[1];e[1]<=t[1]&&e[2]>=t[2]&&(e[2]-=n)})),e):e})),e.forEach(((t,n)=>{if(0===t[1]&&0==t[2])for(let t=n+1;te[2]-e[1]>0))).map((e=>(e[3]=null,e[4]=null,e)))}(o,t(i)),n.ptrs=o,n.document=s,n.compute("index"),r&&(n.ptrs=void 0),e?n.toView(o):(this.ptrs=[],n.none())}};S.delete=S.remove;var $=S;const B={pre:function(e,t){return void 0===e&&this.found?this.docs[0][0].pre:(this.docs.forEach((n=>{let a=n[0];!0===t?a.pre+=e:a.pre=e})),this)},post:function(e,t){if(void 0===e){let e=this.docs[this.docs.length-1];return e[e.length-1].post}return this.docs.forEach((n=>{let a=n[n.length-1];!0===t?a.post+=e:a.post=e})),this},trim:function(){if(!this.found)return this;let e=this.docs,t=e[0][0];t.pre=t.pre.trimStart();let n=e[e.length-1],a=n[n.length-1];return a.post=a.post.trimEnd(),this},hyphenate:function(){return this.docs.forEach((e=>{e.forEach(((t,n)=>{0!==n&&(t.pre=""),e[n+1]&&(t.post="-")}))})),this},dehyphenate:function(){const e=/[-–—]/;return this.docs.forEach((t=>{t.forEach((t=>{e.test(t.post)&&(t.post=" ")}))})),this},toQuotations:function(e,t){return e=e||'"',t=t||'"',this.docs.forEach((n=>{n[0].pre=e+n[0].pre;let a=n[n.length-1];a.post=t+a.post})),this},toParentheses:function(e,t){return e=e||"(",t=t||")",this.docs.forEach((n=>{n[0].pre=e+n[0].pre;let a=n[n.length-1];a.post=t+a.post})),this}};B.deHyphenate=B.dehyphenate,B.toQuotation=B.toQuotations;var J=B,H={alpha:(e,t)=>e.normalt.normal?1:0,length:(e,t)=>{let n=e.normal.trim().length,a=t.normal.trim().length;return na?-1:0},wordCount:(e,t)=>e.wordst.words?-1:0,sequential:(e,t)=>e[0]t[0]?-1:e[1]>t[1]?1:-1,byFreq:function(e){let t={};return e.forEach((e=>{t[e.normal]=t[e.normal]||0,t[e.normal]+=1})),e.sort(((e,n)=>{let a=t[e.normal],r=t[n.normal];return ar?-1:0})),e}};const W=new Set(["index","sequence","seq","sequential","chron","chronological"]),K=new Set(["freq","frequency","topk","repeats"]),q=new Set(["alpha","alphabetical"]);var U={unique:function(){let e=new Set,t=this.filter((t=>{let n=t.text("machine");return!e.has(n)&&(e.add(n),!0)}));return t},reverse:function(){let e=this.pointer||this.docs.map(((e,t)=>[t]));return e=[].concat(e),e=e.reverse(),this._cache&&(this._cache=this._cache.reverse()),this.update(e)},sort:function(e){let{docs:t,pointer:n}=this;if(this.uncache(),"function"==typeof e)return function(e,t){let n=e.fullPointer;return n=n.sort(((n,a)=>(n=e.update([n]),a=e.update([a]),t(n,a)))),e.ptrs=n,e}(this,e);e=e||"alpha";let a=n||t.map(((e,t)=>[t])),r=t.map(((e,t)=>({index:t,words:e.length,normal:e.map((e=>e.machine||e.normal||"")).join(" "),pointer:a[t]})));return W.has(e)&&(e="sequential"),q.has(e)&&(e="alpha"),K.has(e)?(r=H.byFreq(r),this.update(r.map((e=>e.pointer)))):"function"==typeof H[e]?(r=r.sort(H[e]),this.update(r.map((e=>e.pointer)))):this}};const Q=function(e,t){if(e.length>0){let t=e[e.length-1],n=t[t.length-1];!1===/ /.test(n.post)&&(n.post+=" ")}return e=e.concat(t)};var R={concat:function(e){if("string"==typeof e){let t=this.fromText(e);if(this.found&&this.ptrs){let e=this.fullPointer,n=e[e.length-1][0];this.document.splice(n,0,...t.document)}else this.document=this.document.concat(t.document);return this.all().compute("index")}if("object"==typeof e&&e.isView)return function(e,t){if(e.document===t.document){let n=e.fullPointer.concat(t.fullPointer);return e.toView(n).compute("index")}return t.fullPointer.forEach((t=>{t[0]+=e.document.length})),e.document=Q(e.document,t.docs),e.all()}(this,e);if(t=e,"[object Array]"===Object.prototype.toString.call(t)){let t=Q(this.document,e);return this.document=t,this.all()}var t;return this}},X={harden:function(){return this.ptrs=this.fullPointer,this},soften:function(){let e=this.ptrs;return!e||e.length<1||(e=e.map((e=>e.slice(0,3))),this.ptrs=e),this}};const Z=Object.assign({},{toLowerCase:function(){return this.termList().forEach((e=>{e.text=e.text.toLowerCase()})),this},toUpperCase:function(){return this.termList().forEach((e=>{e.text=e.text.toUpperCase()})),this},toTitleCase:function(){return this.termList().forEach((e=>{e.text=e.text.replace(/^ *[a-z\u00C0-\u00FF]/,(e=>e.toUpperCase()))})),this},toCamelCase:function(){return this.docs.forEach((e=>{e.forEach(((t,n)=>{0!==n&&(t.text=t.text.replace(/^ *[a-z\u00C0-\u00FF]/,(e=>e.toUpperCase()))),n!==e.length-1&&(t.post="")}))})),this}},G,L,$,J,U,R,X);var _=function(e){Object.assign(e.prototype,Z)};const Y={id:function(e){let t=e.docs;for(let e=0;e(e.implicit=e.text,e.machine=e.text,e.pre="",e.post="",e.text="",e.normal="",e.index=[a,r+t],e))),n[0]&&(n[0].pre=e[a][r].pre,n[n.length-1].post=e[a][r].post,n[0].text=e[a][r].text,n[0].normal=e[a][r].normal),e[a].splice(r,1,...n))};const re=/'/,oe=new Set(["what","how","when","where","why"]),ie=new Set(["be","go","start","think","need"]),se=new Set(["been","gone"]);var le=function(e,t){let n=e[t].normal.split(re)[0];if(oe.has(n))return[n,"did"];if(e[t+1]){if(se.has(e[t+1].normal))return[n,"had"];if(ie.has(e[t+1].normal))return[n,"would"]}return null},ue=function(e,t){return"ain't"===e[t].normal||"aint"===e[t].normal?null:[e[t].normal.replace(/n't/,""),"not"]};const ce=/'/;var de=(e,t)=>["je",e[t].normal.split(ce)[1]],he=(e,t)=>{let n=e[t].normal.split(ce)[1];return n&&n.endsWith("e")?["la",n]:["le",n]},ge=(e,t)=>{let n=e[t].normal.split(ce)[1];return n&&n.endsWith("e")?["du",n]:n&&n.endsWith("s")?["des",n]:["de",n]};const me=/^([0-9.]{1,4}[a-z]{0,2}) ?[-–—] ?([0-9]{1,4}[a-z]{0,2})$/i,pe=/^([0-9]{1,2}(:[0-9][0-9])?(am|pm)?) ?[-–—] ?([0-9]{1,2}(:[0-9][0-9])?(am|pm)?)$/i,fe=/^[0-9]{3}-[0-9]{4}$/;var be=function(e,t){let n=e[t],a=n.text.match(me);return null!==a?!0===n.tags.has("PhoneNumber")||fe.test(n.text)?null:[a[1],"to",a[2]]:(a=n.text.match(pe),null!==a?[a[1],"to",a[4]]:null)};const ve=/^([+-]?[0-9][.,0-9]*)([a-z°²³µ/]+)$/;var ye=function(e,t,n){const a=n.model.one.numberSuffixes||{};let r=e[t].text.match(ve);if(null!==r){let e=r[2].toLowerCase().trim();return a.hasOwnProperty(e)?null:[r[1],e]}return null};const we=/'/,ke=/^[0-9][^-–—]*[-–—].*?[0-9]/,Pe=function(e,t,n,a){let r=t.update();r.document=[e];let o=n+a;n>0&&(n-=1),e[o]&&(o+=1),r.ptrs=[[0,n,o]]},Ae={t:(e,t)=>ue(e,t),d:(e,t)=>le(e,t)},Ie={j:(e,t)=>de(e,t),l:(e,t)=>he(e,t),d:(e,t)=>ge(e,t)},Ee=function(e,t,n,a){for(let r=0;r2)return o.out.concat(a)}return null},je=function(e,t){let n=t.fromText(e.join(" "));return n.compute(["id","alias"]),n.docs[0]},De=function(e,t){for(let n=t+1;n<5&&e[n];n+=1)if("been"===e[n].normal)return["there","has"];return["there","is"]};var Ne=e=>{let{world:t,document:n}=e;const{model:a,methods:r}=t;let o=a.one.contractions||[];n.forEach(((a,i)=>{for(let s=a.length-1;s>=0;s-=1){let l=null,u=null;!0===we.test(a[s].normal)&&([l,u]=a[s].normal.split(we));let c=Ee(o,a[s],l,u);!c&&Ae.hasOwnProperty(u)&&(c=Ae[u](a,s,t)),!c&&Ie.hasOwnProperty(l)&&(c=Ie[l](a,s)),"there"===l&&"s"===u&&(c=De(a,s)),c?(c=je(c,e),ae(n,[i,s],c),Pe(n[i],e,s,c.length)):ke.test(a[s].normal)?(c=be(a,s),c&&(c=je(c,e),ae(n,[i,s],c),r.one.setTag(c,"NumberRange",t),c[2]&&c[2].tags.has("Time")&&r.one.setTag([c[0]],"Time",t,null,"time-range"),Pe(n[i],e,s,c.length))):(c=ye(a,s,t),c&&(c=je(c,e),ae(n,[i,s],c),r.one.setTag([c[1]],"Unit",t,null,"contraction-unit")))}}))},xe={model:ne,compute:{contractions:Ne},hooks:["contractions"]},Ce=function(e,t,n){const{model:a,methods:r}=n,o=r.one.setTag,i=a.one._multiCache||{},s=a.one.lexicon||{};let l=e[t],u=l.machine||l.normal;return void 0!==e[t+1]&&!0===i[u]?function(e,t,n,a,r){let o=t+4>e.length?e.length-t:4,i=e[t].machine||e[t].normal;for(let s=1;si.hasOwnProperty(e)));if(e)return o([s],i[e],n,!1,"1-lexicon-alias"),!0}if(!0===Te.test(l)){let e=l.replace(Te,"");if(i.hasOwnProperty(e)&&e.length>3&&Fe.has(i[e]))return o([s],i[e],n,!1,"1-lexicon-prefix"),!0}return null},Ge={lexicon:function(e){const t=e.world;e.docs.forEach((e=>{for(let n=0;n{let r=e[a],o=(a=(a=a.toLowerCase().trim()).replace(/'s\b/,"")).split(/ /);o.length>1&&(n[o[0]]=!0),t[a]=t[a]||r})),delete t[""],delete t.null,delete t[" "],{lex:t,_multi:n}},ze={addWords:function(e){const t=this.world(),{methods:n,model:a}=t;if(e)if(Object.keys(e).forEach((t=>{"string"==typeof e[t]&&e[t].startsWith("#")&&(e[t]=e[t].replace(/^#/,""))})),n.two.expandLexicon){let{lex:r,_multi:o}=n.two.expandLexicon(e,t);Object.assign(a.one.lexicon,r),Object.assign(a.one._multiCache,o)}else if(n.one.expandLexicon){let{lex:r,_multi:o}=n.one.expandLexicon(e,t);Object.assign(a.one.lexicon,r),Object.assign(a.one._multiCache,o)}else Object.assign(a.one.lexicon,e)}},Le={model:{one:{lexicon:{},_multiCache:{}}},methods:{one:{expandLexicon:Ve}},compute:Ge,lib:ze,hooks:["lexicon"]},Me=function(e,t){let n=[{}],a=[null],r=[0],o=[],i=0;e.forEach((function(e){let r=0,o=function(e,t){const{methods:n,model:a}=t;let r=n.one.tokenize.splitTerms(e,a).map((e=>n.one.tokenize.splitWhitespace(e,a)));return r.map((e=>e.text.toLowerCase()))}(e,t);for(let e=0;e0&&!n[i].hasOwnProperty(l);)i=r[i];if(n.hasOwnProperty(i)){let e=n[i][l];r[u]=e,a[e]&&(a[u]=a[u]||[],a[u]=a[u].concat(a[e]))}else r[u]=0}}return{goNext:n,endAs:a,failTo:r}};const Se=function(e,t,n){let a=0,r=[];for(let o=0;o0&&(void 0===t.goNext[a]||!t.goNext[a].hasOwnProperty(i));)a=t.failTo[a]||0;if(t.goNext[a].hasOwnProperty(i)&&(a=t.goNext[a][i],t.endAs[a])){let n=t.endAs[a];for(let t=0;t0&&(a=a.concat(l))}return e.update(a)};const Je=(e,t)=>{for(let n=e.length-1;n>=0;n-=1)if(e[n]!==t)return e=e.slice(0,n+1);return e};var He=function(e){return e.goNext=e.goNext.map((e=>{if(0!==Object.keys(e).length)return e})),e.goNext=Je(e.goNext,void 0),e.failTo=Je(e.failTo,0),e.endAs=Je(e.endAs,null),e};const We={buildTrie:function(e){const t=Me(e,this.world());return He(t)}};We.compile=We.buildTrie;var Ke={api:function(e){e.prototype.lookup=function(e,t={}){if(!e)return this.none();"string"==typeof e&&(e=[e]);let n=(a=e,"[object Object]"===Object.prototype.toString.call(a)?e:Me(e,this.world));var a;let r=Be(this,n,t);return r=r.settle(),r}},lib:We};const qe=function(e,t){return t?(e.forEach((e=>{let n=e[0];t[n]&&(e[0]=t[n][0],e[1]+=t[n][1],e[2]+=t[n][1])})),e):e},Ue=function(e,t){let{ptrs:n,byGroup:a}=e;return n=qe(n,t),Object.keys(a).forEach((e=>{a[e]=qe(a[e],t)})),{ptrs:n,byGroup:a}},Qe=e=>"[object Object]"===Object.prototype.toString.call(e),Re=e=>e&&Qe(e)&&!0===e.isView,Xe=e=>e&&Qe(e)&&!0===e.isNet,Ze=function(e,t,n){const a=n.methods.one;return"number"==typeof e&&(e=String(e)),"string"==typeof e&&(e=a.killUnicode(e,n),e=a.parseMatch(e,t,n)),e};var _e={matchOne:function(e,t,n){const a=this.methods.one;if(Re(e))return this.intersection(e).eq(0);if(Xe(e))return this.sweep(e,{tagger:!1,matchOne:!0}).view;let r={regs:e=Ze(e,n,this.world),group:t,justOne:!0},o=a.match(this.docs,r,this._cache),{ptrs:i,byGroup:s}=Ue(o,this.fullPointer),l=this.toView(i);return l._groups=s,l},match:function(e,t,n){const a=this.methods.one;if(Re(e))return this.intersection(e);if(Xe(e))return this.sweep(e,{tagger:!1}).view.settle();let r={regs:e=Ze(e,n,this.world),group:t},o=a.match(this.docs,r,this._cache),{ptrs:i,byGroup:s}=Ue(o,this.fullPointer),l=this.toView(i);return l._groups=s,l},has:function(e,t,n){const a=this.methods.one;if(Re(e))return e.fullPointer.length>0;if(Xe(e))return this.sweep(e,{tagger:!1}).view.found;let r={regs:e=Ze(e,n,this.world),group:t,justOne:!0};return a.match(this.docs,r,this._cache).ptrs.length>0},if:function(e,t,n){const a=this.methods.one;if(Re(e))return this.filter((t=>t.intersection(e).found));if(Xe(e)){let t=this.sweep(e,{tagger:!1}).view.settle();return this.if(t)}let r={regs:e=Ze(e,n,this.world),group:t,justOne:!0},o=this.fullPointer,i=this._cache||[];o=o.filter(((e,t)=>{let n=this.update([e]);return a.match(n.docs,r,i[t]).ptrs.length>0}));let s=this.update(o);return this._cache&&(s._cache=o.map((e=>i[e[0]]))),s},ifNo:function(e,t,n){const{methods:a}=this,r=a.one;if(Re(e))return this.filter((t=>!t.intersection(e).found));if(Xe(e)){let t=this.sweep(e,{tagger:!1}).view.settle();return this.ifNo(t)}e=Ze(e,n,this.world);let o=this._cache||[],i=this.filter(((n,a)=>{let i={regs:e,group:t,justOne:!0};return 0===r.match(n.docs,i,o[a]).ptrs.length}));return this._cache&&(i._cache=i.ptrs.map((e=>o[e[0]]))),i}},Ye={before:function(e,t,n){const{indexN:a}=this.methods.one.pointer;let r=[],o=a(this.fullPointer);Object.keys(o).forEach((e=>{let t=o[e].sort(((e,t)=>e[1]>t[1]?1:-1))[0];t[1]>0&&r.push([t[0],0,t[1]])}));let i=this.toView(r);return e?i.match(e,t,n):i},after:function(e,t,n){const{indexN:a}=this.methods.one.pointer;let r=[],o=a(this.fullPointer),i=this.document;Object.keys(o).forEach((e=>{let t=o[e].sort(((e,t)=>e[1]>t[1]?-1:1))[0],[n,,a]=t;a{let o=n.before(e,t);if(o.found){let e=o.terms();a[r][1]-=e.length,a[r][3]=e.docs[0][0].id}})),this.update(a)},growRight:function(e,t,n){"string"==typeof e&&(e=this.world.methods.one.parseMatch(e,n,this.world)),e[0].start=!0;let a=this.fullPointer;return this.forEach(((n,r)=>{let o=n.after(e,t);if(o.found){let e=o.terms();a[r][2]+=e.length,a[r][4]=null}})),this.update(a)},grow:function(e,t,n){return this.growRight(e,t,n).growLeft(e,t,n)}};const et=function(e,t){return[e[0],e[1],t[2]]},tt=(e,t,n)=>{return"string"==typeof e||(a=e,"[object Array]"===Object.prototype.toString.call(a))?t.match(e,n):e||t.none();var a},nt=function(e,t){let[n,a,r]=e;return t.document[n]&&t.document[n][a]&&(e[3]=e[3]||t.document[n][a].id,t.document[n][r-1]&&(e[4]=e[4]||t.document[n][r-1].id)),e},at={splitOn:function(e,t){const{splitAll:n}=this.methods.one.pointer;let a=tt(e,this,t).fullPointer,r=n(this.fullPointer,a),o=[];return r.forEach((e=>{o.push(e.passthrough),o.push(e.before),o.push(e.match),o.push(e.after)})),o=o.filter((e=>e)),o=o.map((e=>nt(e,this))),this.update(o)},splitBefore:function(e,t){const{splitAll:n}=this.methods.one.pointer;let a=tt(e,this,t).fullPointer,r=n(this.fullPointer,a);for(let e=0;e{o.push(e.passthrough),o.push(e.before),e.match&&e.after?o.push(et(e.match,e.after)):o.push(e.match)})),o=o.filter((e=>e)),o=o.map((e=>nt(e,this))),this.update(o)},splitAfter:function(e,t){const{splitAll:n}=this.methods.one.pointer;let a=tt(e,this,t).fullPointer,r=n(this.fullPointer,a),o=[];return r.forEach((e=>{o.push(e.passthrough),e.before&&e.match?o.push(et(e.before,e.match)):(o.push(e.before),o.push(e.match)),o.push(e.after)})),o=o.filter((e=>e)),o=o.map((e=>nt(e,this))),this.update(o)}};at.split=at.splitAfter;var rt=at;const ot=Object.assign({},_e,Ye,rt);ot.lookBehind=ot.before,ot.lookBefore=ot.before,ot.lookAhead=ot.after,ot.lookAfter=ot.after,ot.notIf=ot.ifNo;var it=function(e){Object.assign(e.prototype,ot)};const st=/(?:^|\s)([![^]*(?:<[^<]*>)?\/.*?[^\\/]\/[?\]+*$~]*)(?:\s|$)/,lt=/([!~[^]*(?:<[^<]*>)?\([^)]+[^\\)]\)[?\]+*$~]*)(?:\s|$)/,ut=/ /g,ct=e=>/^[![^]*(<[^<]*>)?\//.test(e)&&/\/[?\]+*$~]*$/.test(e),dt=function(e){return e=(e=e.map((e=>e.trim()))).filter((e=>e))};var ht=function(e){let t=e.split(st),n=[];t.forEach((e=>{ct(e)?n.push(e):n=n.concat(e.split(lt))})),n=dt(n);let a=[];return n.forEach((e=>{(e=>/^[![^]*(<[^<]*>)?\(/.test(e)&&/\)[?\]+*$~]*$/.test(e))(e)||ct(e)?a.push(e):a=a.concat(e.split(ut))})),a=dt(a),a};const gt=/\{([0-9]+)?(, *[0-9]*)?\}/,mt=/&&/,pt=new RegExp(/^<\s*(\S+)\s*>/),ft=e=>e.charAt(0).toUpperCase()+e.substring(1),bt=e=>e.charAt(e.length-1),vt=e=>e.charAt(0),yt=e=>e.substring(1),wt=e=>e.substring(0,e.length-1),kt=function(e){return e=yt(e),e=wt(e)},Pt=function(e,t){let n={};for(let a=0;a<2;a+=1){if("$"===bt(e)&&(n.end=!0,e=wt(e)),"^"===vt(e)&&(n.start=!0,e=yt(e)),"?"===bt(e)&&(n.optional=!0,e=wt(e)),("["===vt(e)||"]"===bt(e))&&(n.group=null,"["===vt(e)&&(n.groupStart=!0),"]"===bt(e)&&(n.groupEnd=!0),e=(e=e.replace(/^\[/,"")).replace(/\]$/,""),"<"===vt(e))){const t=pt.exec(e);t.length>=2&&(n.group=t[1],e=e.replace(t[0],""))}if("+"===bt(e)&&(n.greedy=!0,e=wt(e)),"*"!==e&&"*"===bt(e)&&"\\*"!==e&&(n.greedy=!0,e=wt(e)),"!"===vt(e)&&(n.negative=!0,e=yt(e)),"~"===vt(e)&&"~"===bt(e)&&e.length>2&&(e=kt(e),n.fuzzy=!0,n.min=t.fuzzy||.85,!1===/\(/.test(e)))return n.word=e,n;if("/"===vt(e)&&"/"===bt(e))return e=kt(e),t.caseSensitive&&(n.use="text"),n.regex=new RegExp(e),n;if(!0===gt.test(e)&&(e=e.replace(gt,((e,t,a)=>(void 0===a?(n.min=Number(t),n.max=Number(t)):(a=a.replace(/, */,""),void 0===t?(n.min=0,n.max=Number(a)):(n.min=Number(t),n.max=Number(a||999))),n.greedy=!0,n.min||(n.optional=!0),"")))),"("===vt(e)&&")"===bt(e)){mt.test(e)?(n.choices=e.split(mt),n.operator="and"):(n.choices=e.split("|"),n.operator="or"),n.choices[0]=yt(n.choices[0]);let a=n.choices.length-1;n.choices[a]=wt(n.choices[a]),n.choices=n.choices.map((e=>e.trim())),n.choices=n.choices.filter((e=>e)),n.choices=n.choices.map((e=>e.split(/ /g).map((e=>Pt(e,t))))),e=""}if("{"===vt(e)&&"}"===bt(e)){if(e=kt(e),n.root=e,/\//.test(e)){let e=n.root.split(/\//);n.root=e[0],n.pos=e[1],"adj"===n.pos&&(n.pos="Adjective"),n.pos=n.pos.charAt(0).toUpperCase()+n.pos.substr(1).toLowerCase(),void 0!==e[2]&&(n.sense=e[2])}return n}if("<"===vt(e)&&">"===bt(e))return e=kt(e),n.chunk=ft(e),n.greedy=!0,n;if("%"===vt(e)&&"%"===bt(e))return e=kt(e),n.switch=e,n}return"#"===vt(e)?(n.tag=yt(e),n.tag=ft(n.tag),n):"@"===vt(e)?(n.method=yt(e),n):"."===e?(n.anything=!0,n):"*"===e?(n.anything=!0,n.greedy=!0,n.optional=!0,n):(e&&(e=(e=e.replace("\\*","*")).replace("\\.","."),t.caseSensitive?n.use="text":e=e.toLowerCase(),n.word=e),n)};var At=Pt;const It=/[a-z0-9][-–—][a-z]/i;var Et=function(e,t){let n=t.model.one.prefixes;for(let t=e.length-1;t>=0;t-=1){let a=e[t];if(a.word&&It.test(a.word)){let r=a.word.split(/[-–—]/g);if(n.hasOwnProperty(r[0]))continue;r=r.filter((e=>e)).reverse(),e.splice(t,1),r.forEach((n=>{let r=Object.assign({},a);r.word=n,e.splice(t,0,r)}))}}return e};const jt=function(e,t){let{all:n}=t.methods.two.transform.verb||{},a=e.root;return n?n(a,t.model):[]},Dt=function(e,t){let{all:n}=t.methods.two.transform.noun||{};return n?n(e.root,t.model):[e.root]},Nt=function(e,t){let{all:n}=t.methods.two.transform.adjective||{};return n?n(e.root,t.model):[e.root]};var xt=function(e,t){return e=e.map((e=>{if(e.root)if(t.methods.two&&t.methods.two.transform){let n=[];e.pos?"Verb"===e.pos?n=n.concat(jt(e,t)):"Noun"===e.pos?n=n.concat(Dt(e,t)):"Adjective"===e.pos&&(n=n.concat(Nt(e,t))):(n=n.concat(jt(e,t)),n=n.concat(Dt(e,t)),n=n.concat(Nt(e,t))),n=n.filter((e=>e)),n.length>0&&(e.operator="or",e.fastOr=new Set(n))}else e.machine=e.root,delete e.id,delete e.root;return e}))},Ct=function(e){return e=function(e){let t=0,n=null;for(let a=0;a(e.fuzzy&&e.choices&&e.choices.forEach((t=>{1===t.length&&t[0].word&&(t[0].fuzzy=!0,t[0].min=e.min)})),e)))}(e=e.map((e=>{if(void 0!==e.choices){if("or"!==e.operator)return e;if(!0===e.fuzzy)return e;!0===e.choices.every((e=>{if(1!==e.length)return!1;let t=e[0];return!0!==t.fuzzy&&!t.start&&!t.end&&void 0!==t.word&&!0!==t.negative&&!0!==t.optional&&!0!==t.method}))&&(e.fastOr=new Set,e.choices.forEach((t=>{e.fastOr.add(t[0].word)})),delete e.choices)}return e}))),e},Tt=function(e,t,n){if(null==e||""===e)return[];t=t||{},"number"==typeof e&&(e=String(e));let a=ht(e);return a=a.map((e=>At(e,t))),a=Et(a,n),a=xt(a,n),a=Ct(a),a};const Ft=function(e,t){for(let n of t)if(e.has(n))return!0;return!1};var Ot=function(e,t){for(let n=0;nn?a:n)+1;if(Math.abs(n-a)>(r||100))return r||100;let o,i,s,l,u,c,d=[];for(let e=0;e4)return n;s=t[o-1],l=i===s?0:1,u=d[r-1][o]+1,(c=d[r][o-1]+1)1&&o>1&&i===t[o-2]&&e[r-2]===s&&(c=d[r-2][o-2]+l)-1!==e.post.indexOf(t),$t=(e,t)=>-1!==e.pre.indexOf(t),Bt={hasQuote:e=>Vt.test(e.pre)||zt.test(e.post),hasComma:e=>St(e,","),hasPeriod:e=>!0===St(e,".")&&!1===St(e,"..."),hasExclamation:e=>St(e,"!"),hasQuestionMark:e=>St(e,"?")||St(e,"¿"),hasEllipses:e=>St(e,"..")||St(e,"…")||$t(e,"..")||$t(e,"…"),hasSemicolon:e=>St(e,";"),hasColon:e=>St(e,":"),hasSlash:e=>/\//.test(e.text),hasHyphen:e=>Lt.test(e.post)||Lt.test(e.pre),hasDash:e=>Mt.test(e.post)||Mt.test(e.pre),hasContraction:e=>Boolean(e.implicit),isAcronym:e=>e.tags.has("Acronym"),isKnown:e=>e.tags.size>0,isTitleCase:e=>/^\p{Lu}[a-z'\u00C0-\u00FF]/u.test(e.text),isUpperCase:e=>/^\p{Lu}+$/u.test(e.text)};Bt.hasQuotation=Bt.hasQuote;var Jt=Bt;let Ht=function(){};Ht=function(e,t,n,a){let r=function(e,t,n,a){if(!0===t.anything)return!0;if(!0===t.start&&0!==n)return!1;if(!0===t.end&&n!==a-1)return!1;if(void 0!==t.id&&t.id===e.id)return!0;if(void 0!==t.word){if(t.use)return t.word===e[t.use];if(null!==e.machine&&e.machine===t.word)return!0;if(void 0!==e.alias&&e.alias.hasOwnProperty(t.word))return!0;if(!0===t.fuzzy){if(t.word===e.root)return!0;if(Gt(t.word,e.normal)>=t.min)return!0}return!(!e.alias||!e.alias.some((e=>e===t.word)))||t.word===e.text||t.word===e.normal}if(void 0!==t.tag)return!0===e.tags.has(t.tag);if(void 0!==t.method)return"function"==typeof Jt[t.method]&&!0===Jt[t.method](e);if(void 0!==t.pre)return e.pre&&e.pre.includes(t.pre);if(void 0!==t.post)return e.post&&e.post.includes(t.post);if(void 0!==t.regex){let n=e.normal;return t.use&&(n=e[t.use]),t.regex.test(n)}if(void 0!==t.chunk)return e.chunk===t.chunk;if(void 0!==t.switch)return e.switch===t.switch;if(void 0!==t.machine)return e.normal===t.machine||e.machine===t.machine||e.root===t.machine;if(void 0!==t.sense)return e.sense===t.sense;if(void 0!==t.fastOr){if(t.pos&&!e.tags.has(t.pos))return null;let n=e.root||e.implicit||e.machine||e.normal;return t.fastOr.has(n)||t.fastOr.has(e.text)}return void 0!==t.choices&&("and"===t.operator?t.choices.every((t=>Ht(e,t,n,a))):t.choices.some((t=>Ht(e,t,n,a))))}(e,t,n,a);return!0===t.negative?!r:r};var Wt=Ht;const Kt=function(e,t){if(!0===e.end&&!0===e.greedy&&t.start_i+t.tn.max?(e.t=e.t+n.max,!0):(!0===e.hasGroup&&(qt(e,e.t).length=a-e.t),e.t=a,!0)};const Qt=function(e,t=0){let n=e.regs[e.r],a=!1;for(let o=0;o{let r=0,o=e.t+a+t+r;if(void 0===e.terms[o])return!1;let i=Wt(e.terms[o],n,o+e.start_i,e.phrase_length);if(!0===i&&!0===n.greedy)for(let t=1;t{let a=n.every(((t,n)=>{let a=e.t+n;return void 0!==e.terms[a]&&Wt(e.terms[a],t,a,e.phrase_length)}));return!0===a&&n.length>t&&(t=n.length),a}))&&t}(e);if(a){if(!0===n.negative)return null;if(!0===e.hasGroup&&(qt(e,e.t).length+=a),!0===n.end){let t=e.phrase_length-1;if(e.t+e.start_i!==t)return null}return e.t+=a,!0}return!!n.optional||null},Zt=function(e,t,n){let a=0;for(let r=e.t;ra||(e.t+=a,0))},_t=function(e){const{regs:t}=e;let n=t[e.r],a=Object.assign({},n);if(a.negative=!1,Wt(e.terms[e.t],a,e.start_i+e.t,e.phrase_length))return!1;if(n.optional){let n=t[e.r+1];n&&(Wt(e.terms[e.t],n,e.start_i+e.t,e.phrase_length)?e.r+=1:n.optional&&t[e.r+2]&&Wt(e.terms[e.t],t[e.r+2],e.start_i+e.t,e.phrase_length)&&(e.r+=2))}return n.greedy?Zt(e,a,t[e.r+1]):(e.t+=1,!0)},Yt=function(e){const{regs:t}=e;let n=t[e.r],a=e.terms[e.t],r=Wt(a,t[e.r+1],e.start_i+e.t,e.phrase_length);if(n.negative||r){let n=e.terms[e.t+1];n&&Wt(n,t[e.r+1],e.start_i+e.t,e.phrase_length)||(e.r+=1)}},en=function(e){const{regs:t,phrase_length:n}=e;let a=t[e.r];return e.t=function(e,t){let n=Object.assign({},e.regs[e.r],{start:!1,end:!1}),a=e.t;for(;e.te.t?null:!0!==a.end||e.start_i+e.t===n||null},tn=function(e){let t=e.terms[e.t],n=e.regs[e.r];if(t.implicit&&e.terms[e.t+1]){if(!e.terms[e.t+1].implicit)return;n.word===t.normal&&(e.t+=1),"hasContraction"===n.method&&(e.t+=1)}},nn=function(e){const{regs:t}=e;let n=t[e.r],a=e.terms[e.t],r=e.t;return!!(n.optional&&t[e.r+1]&&n.negative)||(n.optional&&t[e.r+1]&&Yt(e),a.implicit&&e.terms[e.t+1]&&tn(e),e.t+=1,!0===n.end&&e.t!==e.terms.length&&!0!==n.greedy?null:!0!==n.greedy||en(e)?(!0===e.hasGroup&&function(e,t){let n=e.regs[e.r];const a=qt(e,t);e.t>1&&n.greedy?a.length+=e.t-t:a.length++}(e,r),!0):null)},an=function(e,t,n,a){if(0===e.length||0===t.length)return null;let r={t:0,terms:e,r:0,regs:t,groups:{},start_i:n,phrase_length:a,inGroup:null};for(;r.r!e.optional)))break;return null}if(!0!==e.anything||!0!==e.greedy){if(void 0===e.choices||"or"!==e.operator){if(void 0===e.choices||"and"!==e.operator)if(!0!==e.anything){if(!0!==Kt(e,r)){if(e.negative){if(!_t(r))return null}else if(!0!==Wt(r.terms[r.t],e,r.start_i+r.t,r.phrase_length)){if(!0!==e.optional)return null}else if(!nn(r))return null}else if(!nn(r))return null}else{if(e.negative&&e.anything)return null;if(!nn(r))return null}else if(!Xt(r))return null}else if(!Rt(r))return null}else if(!Ut(r))return null}let o=[null,n,r.t+n];if(o[1]===o[2])return null;let i={};return Object.keys(r.groups).forEach((e=>{let t=r.groups[e],a=n+t.start;i[e]=[null,a,a+t.length]})),{pointer:o,groups:i}},rn=function(e,t){let n=[],a={};return 0===e.length||("number"==typeof t&&(t=String(t)),t?e.forEach((e=>{e.groups[t]&&n.push(e.groups[t])})):e.forEach((e=>{n.push(e.pointer),Object.keys(e.groups).forEach((t=>{a[t]=a[t]||[],a[t].push(e.groups[t])}))}))),{ptrs:n,byGroup:a}},on=function(e,t,n){return e=e.filter((e=>{let[a,r,o]=e.pointer,i=n[a].slice(r,o);for(let e=0;e{e.groups[n][0]=t})),e},ln=function(e,t,n){let a=an(e,t,0,e.length);return a?(a=sn(a,n),a):null};var un=function(e,t,n){n=n||[];let{regs:a,group:r,justOne:o}=t,i=[];if(!a||0===a.length)return{ptrs:[],byGroup:{}};const s=a.filter((e=>!0!==e.optional&&!0!==e.negative)).length;e:for(let t=0;te&&(e=Math.abs(n-1))}}else{let e=ln(r,a,t);e&&i.push(e)}}return!0===a[a.length-1].end&&(i=i.filter((t=>{let n=t.pointer[0];return e[n].length===t.pointer[2]}))),t.notIf&&(i=on(i,t.notIf,e)),i=rn(i,r),i.ptrs.forEach((t=>{let[n,a,r]=t;t[3]=e[n][a].id,t[4]=e[n][r-1].id})),i},cn={api:it,methods:{one:{termMethods:Jt,parseMatch:Tt,match:un}},lib:{parseMatch:function(e,t){const n=this.world();let a=n.methods.one.killUnicode;return a&&(e=a(e,n)),n.methods.one.parseMatch(e,t,n)}}};const dn=/^\../,hn=/^#./,gn=function(e,t){let n={},a={};return Object.keys(t).forEach((r=>{let o=t[r],i=function(e){let t="",n="";return e=e.replace(/&/g,"&").replace(//g,">").replace(/"/g,""").replace(/'/g,"'"),dn.test(e)?t=``),t+=">",{start:t,end:n}}(r);"string"==typeof o&&(o=e.match(o)),o.docs.forEach((e=>{if(e.every((e=>e.implicit)))return;let t=e[0].id;n[t]=n[t]||[],n[t].push(i.start);let r=e[e.length-1].id;a[r]=a[r]||[],a[r].push(i.end)}))})),{starts:n,ends:a}};var mn={html:function(e){let{starts:t,ends:n}=gn(this,e),a="";return this.docs.forEach((e=>{for(let r=0;r{let n=e.pre||"",r=e.post||"";"some"===t.punctuation&&(n=n.replace(fn,""),vn.test(r)&&(r=" "),r=r.replace(bn,""),r=r.replace(/\?!+/,"?"),r=r.replace(/!+/,"!"),r=r.replace(/\?+/,"?"),r=r.replace(/\.{2,}/,""),e.tags.has("Abbreviation")&&(r=r.replace(/\./,""))),"some"===t.whitespace&&(n=n.replace(/\s/,""),r=r.replace(/\s+/," ")),t.keepPunct||(n=n.replace(fn,""),r="-"===r?" ":r.replace(pn,""));let o=e[t.form||"text"]||e.normal||"";"implicit"===t.form&&(o=e.implicit||e.text),"root"===t.form&&e.implicit&&(o=e.root||e.implicit||e.normal),"machine"!==t.form&&"implicit"!==t.form&&"root"!==t.form||!e.implicit||r&&yn.test(r)||(r+=" "),a+=n+o+r})),!1===n&&(a=a.trim()),!0===t.lowerCase&&(a=a.toLowerCase()),a},kn={text:{form:"text"},normal:{whitespace:"some",punctuation:"some",case:"some",unicode:"some",form:"normal"},machine:{keepSpace:!1,whitespace:"some",punctuation:"some",case:"none",unicode:"some",form:"machine"},root:{keepSpace:!1,whitespace:"some",punctuation:"some",case:"some",unicode:"some",form:"root"},implicit:{form:"implicit"}};kn.clean=kn.normal,kn.reduced=kn.root;var Pn=kn;let An=[],In=0;for(;In<64;)An[In]=0|4294967296*Math.sin(++In%Math.PI);function En(e){let t,n,a,r=[t=1732584193,n=4023233417,~t,~n],o=[],i=decodeURI(encodeURI(e))+"€",s=i.length;for(e=--s/4+2|15,o[--e]=8*s;~s;)o[s>>2]|=i.charCodeAt(s)<<8*s--;for(In=i=0;In>4]+An[i]+~~o[In|15&[i,5*i+1,3*i+5,7*i][s]])<<(s=[7,12,17,22,5,9,14,20,4,11,16,23,6,10,15,21][4*s+i++%4])|a>>>-s),t,n])t=0|s[1],n=s[2];for(i=4;i;)r[--i]+=s[i]}for(e="";i<32;)e+=(r[i>>3]>>4*(1^i++)&15).toString(16);return e}const jn={text:!0,terms:!0};let Dn={case:"none",unicode:"some",form:"machine",punctuation:"some"};const Nn=function(e,t){return Object.assign({},e,t)},xn={text:e=>wn(e,{keepPunct:!0},!1),normal:e=>wn(e,Nn(Pn.normal,{keepPunct:!0}),!1),implicit:e=>wn(e,Nn(Pn.implicit,{keepPunct:!0}),!1),machine:e=>wn(e,Dn,!1),root:e=>wn(e,Nn(Dn,{form:"root"}),!1),hash:e=>En(wn(e,{keepPunct:!0},!1)),offset:e=>{let t=xn.text(e).length;return{index:e[0].offset.index,start:e[0].offset.start,length:t}},terms:e=>e.map((e=>{let t=Object.assign({},e);return t.tags=Array.from(e.tags),t})),confidence:(e,t,n)=>t.eq(n).confidence(),syllables:(e,t,n)=>t.eq(n).syllables(),sentence:(e,t,n)=>t.eq(n).fullSentence().text(),dirty:e=>e.some((e=>!0===e.dirty))};xn.sentences=xn.sentence,xn.clean=xn.normal,xn.reduced=xn.root;const Cn={json:function(e){let t=(n=this,"string"==typeof(a=(a=e)||{})&&(a={}),(a=Object.assign({},jn,a)).offset&&n.compute("offset"),n.docs.map(((e,t)=>{let r={};return Object.keys(a).forEach((o=>{a[o]&&xn[o]&&(r[o]=xn[o](e,n,t))})),r})));var n,a;return"number"==typeof e?t[e]:t}};Cn.data=Cn.json;var Tn=Cn,Fn=function(e){console.log("%c -=-=- ","background-color:#6699cc;"),e.forEach((e=>{console.groupCollapsed(e.text());let t=e.docs[0].map((e=>{let t=e.text||"-";return e.implicit&&(t="["+e.implicit+"]"),{text:t,tags:"["+Array.from(e.tags).join(", ")+"]"}}));console.table(t,["text","tags"]),console.groupEnd()}))};const On="";var Gn={green:e=>""+e+On,red:e=>""+e+On,blue:e=>""+e+On,magenta:e=>""+e+On,cyan:e=>""+e+On,yellow:e=>""+e+On,black:e=>""+e+On,dim:e=>""+e+On,i:e=>""+e+On},Vn=function(e){let{docs:t,model:n}=e;0===t.length&&console.log(Gn.blue("\n ──────")),t.forEach((t=>{console.log(Gn.blue("\n ┌─────────")),t.forEach((t=>{let a=[...t.tags||[]],r=t.text||"-";t.sense&&(r=`{${t.normal}/${t.sense}}`),t.implicit&&(r="["+t.implicit+"]"),r=Gn.yellow(r);let o="'"+r+"'";if(t.reference){let n=e.update([t.reference]).text("normal");o+=` - ${Gn.dim(Gn.i("["+n+"]"))}`}o=o.padEnd(18);let i=Gn.blue(" │ ")+Gn.i(o)+" - "+function(e,t){return t.one.tagSet&&(e=e.map((e=>{if(!t.one.tagSet.hasOwnProperty(e))return e;const n=t.one.tagSet[e].color||"blue";return Gn[n](e)}))),e.join(", ")}(a,n);console.log(i)}))}))},zn=function(e){let{docs:t}=e;console.log(""),t.forEach((e=>{let t=[];e.forEach((e=>{"Noun"===e.chunk?t.push(Gn.blue(e.implicit||e.normal)):"Verb"===e.chunk?t.push(Gn.green(e.implicit||e.normal)):"Adjective"===e.chunk?t.push(Gn.yellow(e.implicit||e.normal)):"Pivot"===e.chunk?t.push(Gn.red(e.implicit||e.normal)):t.push(e.implicit||e.normal)})),console.log(t.join(" "),"\n")}))},Ln=function(e){if(!e.found)return;let t={};e.fullPointer.forEach((e=>{t[e[0]]=t[e[0]]||[],t[e[0]].push(e)})),Object.keys(t).forEach((n=>{let a=e.update([[Number(n)]]).text();e.update(t[n]).json({offset:!0}).forEach(((e,t)=>{a=function(e,t,n){let a=((e,t,n)=>{let a=9*n,r=t.start+a,o=r+t.length;return[e.substring(0,r),e.substring(r,o),e.substring(o,e.length)]})(e,t,n);return`${a[0]}${Gn.blue(a[1])}${a[2]}`}(a,e.offset,t)})),console.log(a)}))},Mn=function(e={}){let t=this;if("string"==typeof e){let t={};t[e]=!0,e=t}return"undefined"!=typeof window&&window.document?(Fn(t),t):(!1!==e.tags&&(Vn(t),console.log("\n")),!0===e.chunks&&(zn(t),console.log("\n")),!0===e.highlight&&(Ln(t),console.log("\n")),t)};const Sn=function(e){let t=e.pre||"",n=e.post||"";return t+e.text+n};var $n=function(e,t){let n=function(e,t){let n={};return Object.keys(t).forEach((a=>{e.match(a).fullPointer.forEach((e=>{n[e[3]]={fn:t[a],end:e[2]}}))})),n}(e,t),a="";return e.docs.forEach(((t,r)=>{for(let o=0;oe.reduce(((e,t)=>e+t.pre+t.text+t.post),"").trim()));return e.filter((e=>e))}if("freq"===e||"frequency"===e||"topk"===e)return function(e){let t={};e.forEach((e=>{t[e]=t[e]||0,t[e]+=1}));let n=Object.keys(t).map((e=>({normal:e,count:t[e]})));return n.sort(((e,t)=>e.count>t.count?-1:0))}(this.json({normal:!0}).map((e=>e.normal)));if("terms"===e){let e=[];return this.docs.forEach((t=>{let n=t.terms.map((e=>e.text));n=n.filter((e=>e)),e=e.concat(n)})),e}return"tags"===e?this.docs.map((e=>e.reduce(((e,t)=>(e[t.implicit||t.normal]=Array.from(t.tags),e)),{}))):"debug"===e?this.debug():this.text()},wrap:function(e){return $n(this,e)}};var Jn=Bn,Hn={text:function(e){let t={};var n;if(e&&"string"==typeof e&&Pn.hasOwnProperty(e)?t=Object.assign({},Pn[e]):e&&(n=e,"[object Object]"===Object.prototype.toString.call(n))&&(t=Object.assign({},e)),void 0!==t.keepSpace||this.isFull()||(t.keepSpace=!1),void 0===t.keepEndPunct&&this.pointer){let e=this.pointer[0];e&&e[1]?t.keepEndPunct=!1:t.keepEndPunct=!0}return void 0===t.keepPunct&&(t.keepPunct=!0),void 0===t.keepSpace&&(t.keepSpace=!0),function(e,t){let n="";if(!e||!e[0]||!e[0][0])return n;for(let a=0;ar||r<=n&&o>n},Qn=function(e){let t={};return e.forEach((e=>{t[e[0]]=t[e[0]]||[],t[e[0]].push(e)})),t};var Rn=function(e,t){let n=Qn(t),a=[];return e.forEach((e=>{let[t]=e,r=n[t]||[];if(r=r.filter((t=>function(e,t){return e[1]<=t[1]&&t[2]<=e[2]}(e,t))),0===r.length)return void a.push({passthrough:e});r=r.sort(((e,t)=>e[1]-t[1]));let o=e;r.forEach(((e,t)=>{let n=function(e,t){let[n,a]=e,r=t[1],o=t[2],i={};if(ao&&(i.after=[n,o,e[2]]),i}(o,e);r[t+1]?(a.push({before:n.before,match:n.match}),n.after&&(o=n.after)):a.push(n)}))})),a},Xn=function(e,t){let n=[];return e.forEach(((a,r)=>{if(!a)return;let[o,i,s,l,u]=a,c=t[o]||[];if(void 0===i&&(i=0),void 0===s&&(s=c.length),!l||c[i]&&c[i].id===l)c=c.slice(i,s);else{let n=function(e,t,n){for(let a=0;a<20;a+=1){if(t[n-a]){let r=t[n-a].findIndex((t=>t.id===e));if(-1!==r)return[n-a,r]}if(t[n+a]){let r=t[n+a].findIndex((t=>t.id===e));if(-1!==r)return[n+a,r]}}return null}(l,t,o);if(null!==n){let a=s-i;c=t[n[0]].slice(n[1],n[1]+a);let o=c[0]?c[0].id:null;e[r]=[n[0],n[1],n[1]+a,o]}}0!==c.length&&i!==s&&(u&&c[c.length-1].id!==u&&(c=function(e,t){let[n,a,,,r]=e,o=t[n],i=o.findIndex((e=>e.id===r));return-1===i?(e[2]=t[n].length,e[4]=o.length?o[o.length-1].id:null):e[2]=i,t[n].slice(a,e[2]+1)}(a,t)),n.push(c))})),n=n.filter((e=>e.length>0)),n},Zn={one:{termList:function(e){let t=[];for(let n=0;n{let[t]=e;if(1===a[t].length)return void r.push(e);let n=a[t].filter((t=>Un(e,t)));n.push(e);let o=function(e){let t=e[0][1],n=e[0][2];return e.forEach((e=>{e[1]n&&(n=e[2])})),[e[0][0],t,n]}(n);r.push(o)})),r=function(e){let t={};for(let n=0;n{e.passthrough&&n.push(e.passthrough),e.before&&n.push(e.before),e.after&&n.push(e.after)})),n},ea=function(e,t){let n=Qn(t),a=[];return e.forEach((e=>{let t=n[e[0]]||[];t=t.filter((t=>Un(e,t))),0!==t.length&&t.forEach((t=>{let n=function(e,t){let n=e[1]t[2]?t[2]:e[2];return n{return"string"==typeof e||(n=e,"[object Array]"===Object.prototype.toString.call(n))?t.match(e):e||t.none();var n},na=function(e,t){return e.map((e=>{let[n,a]=e;return t[n]&&t[n][a]&&(e[3]=t[n][a].id),e}))},aa={union:function(e){e=ta(e,this);let t=_n(this.fullPointer,e.fullPointer);return t=na(t,this.document),this.toView(t)}};aa.and=aa.union,aa.intersection=function(e){e=ta(e,this);let t=ea(this.fullPointer,e.fullPointer);return t=na(t,this.document),this.toView(t)},aa.not=function(e){e=ta(e,this);let t=Yn(this.fullPointer,e.fullPointer);return t=na(t,this.document),this.toView(t)},aa.difference=aa.not,aa.complement=function(){let e=this.all(),t=Yn(e.fullPointer,this.fullPointer);return t=na(t,this.document),this.toView(t)},aa.settle=function(){let e=this.fullPointer;return e.forEach((t=>{e=_n(e,[t])})),e=na(e,this.document),this.update(e)};var ra=function(e){Object.assign(e.prototype,aa)},oa={methods:Zn,api:ra},ia=function(e){e.prototype.sweep=function(e,t={}){const{world:n,docs:a}=this,{methods:r}=n;let o=r.one.bulkMatch(a,e,this.methods,t);!1!==t.tagger&&r.one.bulkTagger(o,a,this.world),o=o.map((e=>{let t=e.pointer,n=a[t[0]][t[1]],r=t[2]-t[1];return n.index&&(e.pointer=[n.index[0],n.index[1],t[1]+r]),e}));let i=o.map((e=>e.pointer));return o=o.map((e=>(e.view=this.update([e.pointer]),delete e.regs,delete e.needs,delete e.pointer,delete e._expanded,e))),{view:this.update(i),found:o}}};const sa=function(e){return!0===e.optional||!0===e.negative?null:e.tag?"#"+e.tag:e.word?e.word:e.switch?`%${e.switch}%`:null};var la=function(e,t){const n=t.methods.one.parseMatch;return e.forEach((e=>{e.regs=n(e.match,{},t),"string"==typeof e.ifNo&&(e.ifNo=[e.ifNo]),e.notIf&&(e.notIf=n(e.notIf,{},t)),e.needs=function(e){let t=[];return e.forEach((e=>{t.push(sa(e)),"and"===e.operator&&e.choices&&e.choices.forEach((e=>{e.forEach((e=>{t.push(sa(e))}))}))})),t.filter((e=>e))}(e.regs);let{wants:a,count:r}=function(e){let t=[],n=0;return e.forEach((e=>{"or"!==e.operator||e.optional||e.negative||(e.fastOr&&Array.from(e.fastOr).forEach((e=>{t.push(e)})),e.choices&&e.choices.forEach((e=>{e.forEach((e=>{let n=sa(e);n&&t.push(n)}))})),n+=1)})),{wants:t,count:n}}(e.regs);e.wants=a,e.minWant=r,e.minWords=e.regs.filter((e=>!e.optional)).length})),e},ua=function(e,t){e=la(e,t);let n={};e.forEach((e=>{e.needs.forEach((t=>{n[t]=n[t]||[],n[t].push(e)})),e.wants.forEach((t=>{n[t]=n[t]||[],n[t].push(e)}))})),Object.keys(n).forEach((e=>{let t={};n[e]=n[e].filter((e=>!t[e.match]&&(t[e.match]=!0,!0)))}));let a=e.filter((e=>0===e.needs.length&&0===e.wants.length));return{hooks:n,always:a}},ca=function(e,t){return e.map(((n,a)=>{let r=[];Object.keys(t).forEach((n=>{e[a].has(n)&&(r=r.concat(t[n]))}));let o={};return r=r.filter((e=>!o[e.match]&&(o[e.match]=!0,!0))),r}))},da=function(e,t){return e.map(((e,n)=>{let a=t[n];return e=(e=(e=e.filter((e=>e.needs.every((e=>a.has(e)))))).filter((e=>void 0===e.ifNo||!0!==e.ifNo.some((e=>a.has(e)))))).filter((e=>0===e.wants.length||e.wants.filter((e=>a.has(e))).length>=e.minWant))}))},ha=function(e,t,n,a,r){let o=[];for(let n=0;n0&&(l.ptrs.forEach((e=>{e[0]=n;let t=Object.assign({},s,{pointer:e});void 0!==s.unTag&&(t.unTag=s.unTag),o.push(t)})),!0===r.matchOne))return[o[0]]}return o},ga=function(e,t,n,a={}){let r=n.one.cacheDoc(e),o=ca(r,t.hooks);return o=da(o,r),t.always.length>0&&(o=o.map((e=>e.concat(t.always)))),o=function(e,t){return e.map(((e,n)=>{let a=t[n].length;return e=e.filter((e=>a>=e.minWords)),e}))}(o,e),ha(o,e,r,n,a)},ma=function(e,t,n){let a=n.one.tagSet;if(!a.hasOwnProperty(t))return!0;let r=a[t].not||[];for(let t=0;t{if(!e.tag&&!e.chunk&&!e.unTag)return;let r=e.reason||e.match,u=o([e.pointer],t)[0];if(!0===e.safe){if(!1===ma(u,e.tag,a))return;if("-"===u[u.length-1].post)return}if(void 0!==e.tag&&(i(u,e.tag,n,e.safe,`[post] '${r}'`),"Noun"===e.tag&&l)){let t=u[u.length-1];l(t.text)?i([t],"Plural",n,e.safe,"quick-plural"):i([t],"Singular",n,e.safe,"quick-singular")}void 0!==e.unTag&&s(u,e.unTag,n,e.safe,r),e.chunk&&u.forEach((t=>t.chunk=e.chunk))})))},fa={lib:{buildNet:function(e){let t=this.methods().one.buildNet(e,this.world());return t.isNet=!0,t}},api:ia,methods:{one:{buildNet:ua,bulkMatch:ga,bulkTagger:pa}}};const ba=/ /,va=function(e,t){"Noun"===t&&(e.chunk=t),"Verb"===t&&(e.chunk=t)},ya=function(e,t,n,a){if(!0===e.tags.has(t))return null;if("."===t)return null;let r=n[t];if(r){if(r.not&&r.not.length>0)for(let t=0;t0)for(let t=0;t{let a=e.map((e=>e.text||"["+e.implicit+"]")).join(" ");var r;"string"!=typeof t&&t.length>2&&(t=t.slice(0,2).join(", #")+" +"),t="string"!=typeof t?t.join(", #"):t,console.log(` ${(r=a,""+r+"").padEnd(24)} → #${t.padEnd(22)} ${(e=>""+e+"")(n)}`)})(e,t,r),1!=(s=t,"[object Array]"===Object.prototype.toString.call(s)))if("string"==typeof t)if(t=t.trim(),ba.test(t))!function(e,t,n,a){let r=t.split(ba);e.forEach(((e,t)=>{let o=r[t];o&&(o=o.replace(/^#/,""),ya(e,o,n,a))}))}(e,t,o,a);else{t=t.replace(/^#/,"");for(let n=0;nwa(e,t,n,a)))};var ka=wa,Pa=function(e,t,n){t=t.trim().replace(/^#/,"");for(let a=0;a0)for(let e=0;e/),n=[];t.forEach((e=>{n=n.concat(function(e){if(!(e=e.trim()))return null;if(/^\[/.test(e)&&/\]$/.test(e)){let t=(e=(e=e.replace(/^\[/,"")).replace(/\]$/,"")).split(/,/);return t=t.map((e=>e.trim())).filter((e=>e)),t=t.map((e=>Aa({id:e}))),t}return[Aa({id:e})]}(e))})),n=n.filter((e=>e));let a=n[0];for(let e=1;e{let n=[],a=[e];for(;a.length>0;){let e=a.pop();n.push(e),e.children&&e.children.forEach((n=>{t&&t(e,n),a.push(n)}))}return n},Da=e=>"[object Array]"===Object.prototype.toString.call(e),Na=e=>(e=e||"").trim(),xa=function(e=[]){return"string"==typeof e?function(e){let t=e.split(/\r?\n/),n=[];t.forEach((e=>{if(!e.trim()||Ia.test(e))return;let t=(e=>{const t=/^( {2}|\t)/;let n=0;for(;t.test(e);)e=e.replace(t,""),n+=1;return n})(e);n.push({indent:t,node:Ea(e)})}));let a=function(e){let t={children:[]};return e.forEach(((n,a)=>{0===n.indent?t.children=t.children.concat(n.node):e[a-1]&&function(e,t){let n=e[t].indent;for(;t>=0;t-=1)if(e[t].indent{t[e.id]=e}));let n=Aa({});return e.forEach((e=>{if((e=Aa(e)).parent)if(t.hasOwnProperty(e.parent)){let n=t[e.parent];delete e.parent,n.children.push(e)}else console.warn(`[Grad] - missing node '${e.parent}'`);else n.children.push(e)})),n}(e):(ja(t=e).forEach(Aa),t);var t},Ca=function(e,t){let n="-> ";t&&(n=(e=>""+e+"")("→ "));let a="";return ja(e).forEach(((e,r)=>{let o=e.id||"";if(t&&(o=(e=>""+e+"")(o)),0===r&&!e.id)return;let i=e._cache.parents.length;a+=" ".repeat(i)+n+o+"\n"})),a},Ta=function(e){let t=ja(e);t.forEach((e=>{delete(e=Object.assign({},e)).children}));let n=t[0];return n&&!n.id&&0===Object.keys(n.props).length&&t.shift(),t},Fa={text:Ca,txt:Ca,array:Ta,flat:Ta},Oa=function(e,t){return"nested"===t||"json"===t?e:"debug"===t?(console.log(Ca(e,!0)),null):Fa.hasOwnProperty(t)?Fa[t](e):e},Ga=e=>{ja(e,((e,t)=>{e.id&&(e._cache.parents=e._cache.parents||[],t._cache.parents=e._cache.parents.concat([e.id]))}))},Va=/\//;let za=class g{constructor(e={}){Object.defineProperty(this,"json",{enumerable:!1,value:e,writable:!0})}get children(){return this.json.children}get id(){return this.json.id}get found(){return this.json.id||this.json.children.length>0}props(e={}){let t=this.json.props||{};return"string"==typeof e&&(t[e]=!0),this.json.props=Object.assign(t,e),this}get(e){if(e=Na(e),!Va.test(e)){let t=this.json.children.find((t=>t.id===e));return new g(t)}let t=((e,t)=>{let n=(e=>"string"!=typeof e?e:(e=e.replace(/^\//,"")).split(/\//))(t=t||"");for(let t=0;te.id===n[t]));if(!a)return null;e=a}return e})(this.json,e)||Aa({});return new g(t)}add(e,t={}){if(Da(e))return e.forEach((e=>this.add(Na(e),t))),this;e=Na(e);let n=Aa({id:e,props:t});return this.json.children.push(n),new g(n)}remove(e){return e=Na(e),this.json.children=this.json.children.filter((t=>t.id!==e)),this}nodes(){return ja(this.json).map((e=>(delete(e=Object.assign({},e)).children,e)))}cache(){return(e=>{let t=ja(e,((e,t)=>{e.id&&(e._cache.parents=e._cache.parents||[],e._cache.children=e._cache.children||[],t._cache.parents=e._cache.parents.concat([e.id]))})),n={};t.forEach((e=>{e.id&&(n[e.id]=e)})),t.forEach((e=>{e._cache.parents.forEach((t=>{n.hasOwnProperty(t)&&n[t]._cache.children.push(e.id)}))})),e._cache.children=Object.keys(n)})(this.json),this}list(){return ja(this.json)}fillDown(){var e;return e=this.json,ja(e,((e,t)=>{t.props=((e,t)=>(Object.keys(t).forEach((n=>{if(t[n]instanceof Set){let a=e[n]||new Set;e[n]=new Set([...a,...t[n]])}else if((e=>e&&"object"==typeof e&&!Array.isArray(e))(t[n])){let a=e[n]||{};e[n]=Object.assign({},t[n],a)}else Da(t[n])?e[n]=t[n].concat(e[n]||[]):void 0===e[n]&&(e[n]=t[n])})),e))(t.props,e.props)})),this}depth(){Ga(this.json);let e=ja(this.json),t=e.length>1?1:0;return e.forEach((e=>{if(0===e._cache.parents.length)return;let n=e._cache.parents.length+1;n>t&&(t=n)})),t}out(e){return Ga(this.json),Oa(this.json,e)}debug(){return Ga(this.json),Oa(this.json,"debug"),this}};const La=function(e){let t=xa(e);return new za(t)};La.prototype.plugin=function(e){e(this)};var Ma={Noun:"blue",Verb:"green",Negative:"green",Date:"red",Value:"red",Adjective:"magenta",Preposition:"cyan",Conjunction:"cyan",Determiner:"cyan",Hyphenated:"cyan",Adverb:"cyan"};const Sa=function(e){if(Ma.hasOwnProperty(e.id))return Ma[e.id];if(Ma.hasOwnProperty(e.is))return Ma[e.is];let t=e._cache.parents.find((e=>Ma[e]));return Ma[t]};var $a=function(e){const t={};return e.forEach((e=>{let{not:n,also:a,is:r,novel:o}=e.props,i=e._cache.parents;a&&(i=i.concat(a)),t[e.id]={is:r,not:n,novel:o,also:a,parents:i,children:e._cache.children,color:Sa(e)}})),Object.keys(t).forEach((e=>{let n=new Set(t[e].not);t[e].not.forEach((e=>{t[e]&&t[e].children.forEach((e=>n.add(e)))})),t[e].not=Array.from(n)})),t};const Ba=function(e){return e?"string"==typeof e?[e]:e:[]};var Ja=function(e,t){return e=function(e,t){return Object.keys(e).forEach((n=>{e[n].isA&&(e[n].is=e[n].isA),e[n].notA&&(e[n].not=e[n].notA),e[n].is&&"string"==typeof e[n].is&&(t.hasOwnProperty(e[n].is)||e.hasOwnProperty(e[n].is)||(e[e[n].is]={})),e[n].not&&"string"==typeof e[n].not&&!e.hasOwnProperty(e[n].not)&&(t.hasOwnProperty(e[n].not)||e.hasOwnProperty(e[n].not)||(e[e[n].not]={}))})),e}(e,t),Object.keys(e).forEach((t=>{e[t].children=Ba(e[t].children),e[t].not=Ba(e[t].not)})),Object.keys(e).forEach((t=>{(e[t].not||[]).forEach((n=>{e[n]&&e[n].not&&e[n].not.push(t)}))})),e},Ha=function(e,t){Object.keys(t).length>0&&(e=function(e){return Object.keys(e).forEach((t=>{e[t]=Object.assign({},e[t]),e[t].novel=!0})),e}(e)),e=Ja(e,t);const n=function(e){const t=Object.keys(e).map((t=>{let n=e[t];const a={not:new Set(n.not),also:n.also,is:n.is,novel:n.novel};return{id:t,parent:n.is,props:a,children:[]}}));return La(t).cache().fillDown().out("array")}(Object.assign({},t,e));return $a(n)},Wa={one:{setTag:ka,unTag:Pa,addTags:Ha}};const Ka=function(e){return"[object Array]"===Object.prototype.toString.call(e)},qa={tag:function(e,t="",n){if(!this.found||!e)return this;let a=this.termList();if(0===a.length)return this;const{methods:r,verbose:o,world:i}=this;return!0===o&&console.log(" + ",e,t||""),Ka(e)?e.forEach((e=>r.one.setTag(a,e,i,n,t))):r.one.setTag(a,e,i,n,t),this.uncache(),this},tagSafe:function(e,t=""){return this.tag(e,t,!0)},unTag:function(e,t){if(!this.found||!e)return this;let n=this.termList();if(0===n.length)return this;const{methods:a,verbose:r,model:o}=this;!0===r&&console.log(" - ",e,t||"");let i=o.one.tagSet;return Ka(e)?e.forEach((e=>a.one.unTag(n,e,i))):a.one.unTag(n,e,i),this.uncache(),this},canBe:function(e){e=e.replace(/^#/,"");let t=this.model.one.tagSet;if(!t.hasOwnProperty(e))return this;let n=t[e].not||[],a=[];this.document.forEach(((e,t)=>{e.forEach(((e,r)=>{n.find((t=>e.tags.has(t)))&&a.push([t,r,r+1])}))}));let r=this.update(a);return this.difference(r)}};var Ua=qa,Qa=function(e){Object.assign(e.prototype,Ua)},Ra={addTags:function(e){const{model:t,methods:n}=this.world(),a=t.one.tagSet;let r=(0,n.one.addTags)(e,a);return t.one.tagSet=r,this}};const Xa=new Set(["Auxiliary","Possessive"]);var Za=function(e){const{document:t,world:n}=e,a=n.model.one.tagSet;t.forEach((e=>{e.forEach((e=>{let t=Array.from(e.tags);e.tagRank=function(e,t){return e=e.sort(((e,n)=>{if(Xa.has(e)||!t.hasOwnProperty(n))return 1;if(Xa.has(n)||!t.hasOwnProperty(e))return-1;let a=t[e].children||[],r=a.length;return a=t[n].children||[],r-a.length})),e}(t,a)}))}))},_a={model:{one:{tagSet:{}}},compute:{tagRank:Za},methods:Wa,api:Qa,lib:Ra};const Ya=/([.!?\u203D\u2E18\u203C\u2047-\u2049\u3002]+\s)/g,er=/^[.!?\u203D\u2E18\u203C\u2047-\u2049\u3002]+\s$/,tr=/((?:\r?\n|\r)+)/;var nr=function(e){let t=[],n=e.split(tr);for(let e=0;e0&&(r.push(o),e[t]="")}return r};const sr={'"':'"',""":""","“":"”","‟":"”","„":"”","⹂":"”","‚":"’","«":"»","‹":"›","‵":"′","‶":"″","‷":"‴","〝":"〞","〟":"〞"},lr=RegExp("["+Object.keys(sr).join("")+"]","g"),ur=RegExp("["+Object.values(sr).join("")+"]","g"),cr=function(e){if(!e)return!1;let t=e.match(ur);return null!==t&&1===t.length};var dr=function(e){let t=[];for(let n=0;n(e[t]=!0,e)),{});var Dr=function(e,t){let n=[],a=[];if("number"==typeof(e=e||"")&&(e=String(e)),function(e){return"[object Array]"===Object.prototype.toString.call(e)}(e))return e;const r=e.split(Er);for(let e=0;e0?(n[n.length-1]+=o,n.push(t)):n.push(o+t),o=""):o+=t}return o&&(0===n.length&&(n[0]=""),n[n.length-1]+=o),n=Pr(n),n=wr(n),n=n.filter((e=>e)),n};const Nr=/\p{Letter}/u,xr=/[\p{Number}\p{Currency_Symbol}]/u,Cr=/^[a-z]\.([a-z]\.)+/i,Tr=/[sn]['’]$/;var Fr=function(e,t){let{prePunctuation:n,postPunctuation:a,emoticons:r}=t.one,o=e,i="",s="",l=Array.from(e);if(r.hasOwnProperty(e.trim()))return{str:e.trim(),pre:i,post:" "};let u=l.length;for(let e=0;e(s=e||"",""))),e=o,i=""),{str:e,pre:i,post:s}},Or=(e,t)=>{let{str:n,pre:a,post:r}=Fr(e,t);return{text:n,pre:a,post:r,tags:new Set}},Gr=function(e,t){const n=t.model.one.unicode||{};let a=(e=e||"").split("");return a.forEach(((e,t)=>{n[e]&&(a[t]=n[e])})),a.join("")},Vr=function(e){let t=e=(e=(e=e||"").toLowerCase()).trim();return e=(e=(e=e.replace(/[,;.!?]+$/,"")).replace(/\u2026/g,"...")).replace(/\u2013/g,"-"),!1===/^[:;]/.test(e)&&(e=(e=(e=e.replace(/\.{3,}$/g,"")).replace(/[",.!:;?)]+$/g,"")).replace(/^['"(]+/g,"")),""===(e=(e=e.replace(/[\u200B-\u200D\uFEFF]/g,"")).trim())&&(e=t),e=e.replace(/([0-9]),([0-9])/g,"$1$2")};const zr=/([A-Z]\.)+[A-Z]?,?$/,Lr=/^[A-Z]\.,?$/,Mr=/[A-Z]{2,}('s|,)?$/,Sr=/([a-z]\.)+[a-z]\.?$/;var $r=function(e){return function(e){return!0===zr.test(e)||!0===Sr.test(e)||!0===Lr.test(e)||!0===Mr.test(e)}(e)&&(e=e.replace(/\./g,"")),e},Br=function(e,t){const n=t.methods.one.killUnicode;let a=e.text||"";a=Vr(a),a=n(a,t),a=$r(a),e.normal=a},Jr=function(e,t){const{methods:n,model:a}=t,{splitSentences:r,splitTerms:o,splitWhitespace:i}=n.one.tokenize;return e=r(e=e||"",t).map((e=>{let n=o(e,a);return n=n.map((e=>i(e,a))),n.forEach((e=>{Br(e,t)})),n})),e};const Hr=/[ .][A-Z]\.? *$/i,Wr=/(?:\u2026|\.{2,}) *$/,Kr=/\p{L}/u,qr=/^[A-Z]\. $/;var Ur={one:{killUnicode:Gr,tokenize:{splitSentences:br,isSentence:function(e,t){if(!1===Kr.test(e))return!1;if(!0===Hr.test(e))return!1;if(3===e.length&&qr.test(e))return!1;if(!0===Wr.test(e))return!1;let n=e.replace(/[.!?\u203D\u2E18\u203C\u2047-\u2049] *$/,"").split(" "),a=n[n.length-1].toLowerCase();return!0!==t.hasOwnProperty(a)},splitTerms:Dr,splitWhitespace:Or,fromString:Jr}}},Qr={"&":"and","@":"at","%":"percent",plz:"please",bein:"being"};let Rr={},Xr={};[[["approx","apt","bc","cyn","eg","esp","est","etc","ex","exp","prob","pron","gal","min","pseud","fig","jd","lat","lng","vol","fm","def","misc","plz","ea","ps","sec","pt","pref","pl","pp","qt","fr","sq","nee","ss","tel","temp","vet","ver","fem","masc","eng","adj","vb","rb","inf","situ","vivo","vitro","wr"]],[["dl","ml","gal","qt","pt","tbl","tsp","tbsp","km","dm","cm","mm","mi","td","hr","hrs","kg","hg","dg","cg","mg","µg","lb","oz","sq ft","hz","mps","mph","kmph","kb","mb","tb","lx","lm","fl oz","yb"],"Unit"],[["ad","al","arc","ba","bl","ca","cca","col","corp","ft","fy","ie","lit","ma","md","pd","tce"],"Noun"],[["adj","adm","adv","asst","atty","bldg","brig","capt","cmdr","comdr","cpl","det","dr","esq","gen","gov","hon","jr","llb","lt","maj","messrs","mlle","mme","mr","mrs","ms","mstr","phd","prof","pvt","rep","reps","res","rev","sen","sens","sfc","sgt","sir","sr","supt","surg"],"Honorific"],[["jan","feb","mar","apr","jun","jul","aug","sep","sept","oct","nov","dec"],"Month"],[["dept","univ","assn","bros","inc","ltd","co"],"Organization"],[["rd","st","dist","mt","ave","blvd","cl","cres","hwy","ariz","cal","calif","colo","conn","fla","fl","ga","ida","ia","kan","kans","minn","neb","nebr","okla","penna","penn","pa","dak","tenn","tex","ut","vt","va","wis","wisc","wy","wyo","usafa","alta","ont","que","sask"],"Place"]].forEach((e=>{e[0].forEach((t=>{Rr[t]=!0,Xr[t]="Abbreviation",void 0!==e[1]&&(Xr[t]=[Xr[t],e[1]])}))}));var Zr=["anti","bi","co","contra","de","extra","infra","inter","intra","macro","micro","mis","mono","multi","peri","pre","pro","proto","pseudo","re","sub","supra","trans","tri","un","out","ex"].reduce(((e,t)=>(e[t]=!0,e)),{});let _r={"!":"¡","?":"¿Ɂ",'"':'“”"❝❞',"'":"‘‛❛❜’","-":"—–",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:"ŹźŻżŽžƵƶȤȥɀΖ"},Yr={};Object.keys(_r).forEach((function(e){_r[e].split("").forEach((function(t){Yr[t]=e}))}));const eo=/\//,to=/[a-z]\.[a-z]/i,no=/[0-9]/;var ao=function(e,t){let n=e.normal||e.text||e.machine;const a=t.model.one.aliases;if(a.hasOwnProperty(n)&&(e.alias=e.alias||[],e.alias.push(a[n])),eo.test(n)&&!to.test(n)&&!no.test(n)){let t=n.split(eo);t.length<=2&&t.forEach((t=>{""!==(t=t.trim())&&(e.alias=e.alias||[],e.alias.push(t))}))}return e};const ro=/^\p{Letter}+-\p{Letter}+$/u;var oo=function(e){let t=e.implicit||e.normal||e.text;t=t.replace(/['’]s$/,""),t=t.replace(/s['’]$/,"s"),t=t.replace(/([aeiou][ktrp])in'$/,"$1ing"),ro.test(t)&&(t=t.replace(/-/g,"")),t=t.replace(/^[#@]/,""),t!==e.normal&&(e.machine=t)},io=function(e){let t=e.docs,n={};for(let e=0;eco(e,ao),machine:e=>co(e,oo),normal:e=>co(e,Br),freq:io,offset:so,index:lo,wordCount:uo},methods:Ur,model:{one:{aliases:Qr,abbreviations:Rr,prefixes:Zr,suffixes:{like:!0,ish:!0,less:!0,able:!0,elect:!0,type:!0,designate:!0},prePunctuation:{"#":!0,"@":!0,_:!0,"°":!0,"​":!0,"‌":!0,"‍":!0,"\ufeff":!0},postPunctuation:{"%":!0,_:!0,"°":!0,"​":!0,"‌":!0,"‍":!0,"\ufeff":!0},lexicon:Xr,unicode:Yr,emoticons:{"<3":!0,"{let i=(e=e.toLowerCase().trim()).length;t.max&&i>t.max&&(i=t.max);for(let s=t.min;s{delete a[e]})),a};const bo={safe:!0,min:3};var vo={typeahead:function(e=[],t={}){let n=this.model();var a;t=Object.assign({},bo,t),a=e,"[object Object]"===Object.prototype.toString.call(a)&&(Object.assign(n.one.lexicon,e),e=Object.keys(e));let r=fo(e,t,this.world());return Object.keys(r).forEach((e=>{n.one.typeahead.hasOwnProperty(e)?delete n.one.typeahead[e]:n.one.typeahead[e]=r[e]})),this}},yo={model:{one:{typeahead:{}}},api:po,lib:vo,compute:go,hooks:["typeahead"]};b.extend(ee),b.extend(qn),b.extend(cn),b.extend(oa),b.extend(_a),b.plugin(xe),b.extend(ho),b.plugin(k),b.extend(Ke),b.extend(yo),b.extend(Le),b.extend(fa);var wo={addendum:"addenda",corpus:"corpora",criterion:"criteria",curriculum:"curricula",genus:"genera",memorandum:"memoranda",opus:"opera",ovum:"ova",phenomenon:"phenomena",referendum:"referenda",alga:"algae",alumna:"alumnae",antenna:"antennae",formula:"formulae",larva:"larvae",nebula:"nebulae",vertebra:"vertebrae",analysis:"analyses",axis:"axes",diagnosis:"diagnoses",parenthesis:"parentheses",prognosis:"prognoses",synopsis:"synopses",thesis:"theses",neurosis:"neuroses",appendix:"appendices",index:"indices",matrix:"matrices",ox:"oxen",sex:"sexes",alumnus:"alumni",bacillus:"bacilli",cactus:"cacti",fungus:"fungi",hippopotamus:"hippopotami",libretto:"libretti",modulus:"moduli",nucleus:"nuclei",octopus:"octopi",radius:"radii",stimulus:"stimuli",syllabus:"syllabi",cookie:"cookies",calorie:"calories",auntie:"aunties",movie:"movies",pie:"pies",rookie:"rookies",tie:"ties",zombie:"zombies",leaf:"leaves",loaf:"loaves",thief:"thieves",foot:"feet",goose:"geese",tooth:"teeth",beau:"beaux",chateau:"chateaux",tableau:"tableaux",bus:"buses",gas:"gases",circus:"circuses",crisis:"crises",virus:"viruses",database:"databases",excuse:"excuses",abuse:"abuses",avocado:"avocados",barracks:"barracks",child:"children",clothes:"clothes",echo:"echoes",embargo:"embargoes",epoch:"epochs",deer:"deer",halo:"halos",man:"men",woman:"women",mosquito:"mosquitoes",mouse:"mice",person:"people",quiz:"quizzes",rodeo:"rodeos",shoe:"shoes",sombrero:"sombreros",stomach:"stomachs",tornado:"tornados",tuxedo:"tuxedos",volcano:"volcanoes"},ko={Comparative:"true¦bett1f0;arth0ew0in0;er",Superlative:"true¦earlier",PresentTense:"true¦bests,sounds",Condition:"true¦lest,unless",PastTense:"true¦began,came,d4had,kneel3l2m0sa4we1;ea0sg2;nt;eap0i0;ed;id",Participle:"true¦0:0A;a07b02c00dXeat0fSgQhPoJprov0rHs7t6u4w1;ak0ithdra03o2r1;i03uZ;k0v0;nd1pr05;ergoJoJ;ak0hHo3;e9h7lain,o6p5t4un3w1;o1um;rn;g,k;ol0reT;iRok0;ught,wn;ak0o1ruL;ne,wn;en,wn;ewriOi1uK;dd0s0;ut3ver1;do4se0t1;ak0h2;do2g1;roH;ne;ast0i7;iv0o1;ne,tt0;all0loCor1;bi3g2s1;ak0e0;iv0oA;dd0;ove,r1;a6eamt,iv0u1;nk;hos0lu1;ng;e4i3lo2ui1;lt;wn;tt0;at0en,gun;r2w1;ak0ok0;is0;en",Gerund:"true¦accord0be0doin,go0result0stain0;ing",Expression:"true¦a0Xb0Tc0Rd0Ne0Lg0FhZjeez,lWmVnToNpKsItHuEvDw6y0;a4e3i1u0;ck,p;k04p0;ee,pee;ah,p,s;!a,y;a5h2o1t0;af,f;rd up,w;atsoever,e1o0;a,ops;e,w;hoo,t;ery wEoi0L;gh,h0;! 0h,m;huh,oh;here nQsk,ut tut;h0ic;eesh,hh,it,oo;ff,h1l0ow,sst;ease,s,z;ew,ooey;h1i,mg,o0uch,w,y;h,o,ps;! 0h;h1my go0w1;d,sh;ell;ah,evertheless,o0;!pe;eh,mm;ah,eh,m1ol0;!s;ao,fao;aCeBi9o2u0;h,mph,rra0zzC;h,y;l1o0;r6y9;la,y0;! 0;c1moCsmok0;es;ow;!p hip hoor0;ay;ck,e,llo,y;ha1i,lleluj0;ah;!ha;ah,ee4o1r0;eat scott,r;l1od0sh; grief,bye;ly;! whiz;e0h,t cetera,ww,xcuse me;k,p;'oh,a0rat,uh;m0ng;mit,n0;!it;mon,o0;ngratulations,wabunga;a2oo1r0tw,ye;avo,r;!ya;h,m; 1h0ka,las,men,rgh,ye;!a,em,h,oy;la",Negative:"true¦n0;ever,o0;n,t",QuestionWord:"true¦how3wh0;at,e1ich,o0y;!m,se;n,re; come,'s",Reflexive:"true¦h4it5my5o1the0your2;ir1m1;ne3ur0;sel0;f,ves;er0im0;self",Plural:"true¦dick0gre0ones,records;ens","Unit|Noun":"true¦cEfDgChBinchAk9lb,m6newt5oz,p4qt,t1y0;ardEd;able1b0ea1sp;!l,sp;spo1;a,t,x;on9;!b,g,i1l,m,p0;h,s;!les;!b,elvin,g,m;!es;g,z;al,b;eet,oot,t;m,up0;!s",Value:"true¦a few",Imperative:"true¦bewa0come he0;re","Plural|Verb":"true¦leaves",Demonym:"true¦0:15;1:12;a0Vb0Oc0Dd0Ce08f07g04h02iYjVkTlPmLnIomHpEqatari,rCs7t5u4v3welAz2;am0Gimbabwe0;enezuel0ietnam0I;gAkrai1;aiwTex0hai,rinida0Ju2;ni0Prkmen;a5cotti4e3ingapoOlovak,oma0Spaniard,udRw2y0W;ede,iss;negal0Cr09;sh;mo0uT;o5us0Jw2;and0;a2eru0Fhilippi0Nortugu07uerto r0S;kist3lesti1na2raguay0;ma1;ani;ami00i2orweP;caragu0geri2;an,en;a3ex0Lo2;ngo0Drocc0;cedo1la2;gasy,y07;a4eb9i2;b2thua1;e0Cy0;o,t01;azakh,eny0o2uwaiI;re0;a2orda1;ma0Ap2;anO;celandic,nd4r2sraeli,ta01vo05;a2iB;ni0qi;i0oneU;aiAin2ondur0unO;di;amEe2hanai0reek,uatemal0;or2rm0;gi0;ilipino,ren8;cuadoVgyp4mira3ngli2sto1thiopi0urope0;shm0;ti;ti0;aPominUut3;a9h6o4roat3ub0ze2;ch;!i0;lom2ngol5;bi0;a6i2;le0n2;ese;lifor1m2na3;bo2eroo1;di0;angladeshi,el6o4r3ul2;gaE;azi9it;li2s1;vi0;aru2gi0;si0;fAl7merBngol0r5si0us2;sie,tr2;a2i0;li0;genti2me1;ne;ba1ge2;ri0;ni0;gh0r2;ic0;an",Organization:"true¦0:4D;a3Gb2Yc2Ed26e22f1Xg1Ph1Ki1Hj1Fk1Dl18m0Wn0Jo0Gp09qu08r01sTtGuBv8w3xiaomi,y1;amaha,m13ou1w13;gov,tu2Z;a3e1orld trade organizati2S;lls fargo,st1;fie28inghou2I;l1rner br3I;gree37l street journ29m17;an halOeriz2Nisa,o1;dafo2Ol1;kswagMvo;b4kip,n2ps,s1;a tod2Yps;es3Ai1;lev33ted natio30;er,s; mobi2Qaco beQd bNeAgi frida9h3im horto2Ymz,o1witt31;shi3Xy1;ota,s r 00;e 1in lizzy;b3carpen37daily ma31guess w2holli0rolling st1Rs1w2;mashing pumpki2Tuprem0;ho;ea1lack eyed pe3Lyrds;ch bo1tl0;ys;l2n3Ds1xas instrumen1J;co,la m15;efoni0Cus;a7e4ieme2Lnp,o2pice gir5quare04ta1ubaru;rbucks,to2R;ny,undgard1;en;a2x pisto1;ls;g1Nrs;few2Ainsbury2QlesforYmsu22;.e.m.,adiohead,b6e3oyal 1yana30;b1dutch she4;ank;aders dige1Gd 1max,vl1R;bu1c1Zhot chili peppe2Nlobst2C;ll;c,s;ant30izno2I;a5bs,e3fiz28hilip morrCi2r1;emier2Audenti16;nk floyd,zza hut;psi2Btro1uge0A;br2Vchina,n2V;lant2Nn1yp12; 2ason20da2I;ld navy,pec,range juli2xf1;am;us;aAb9e6fl,h5i4o1sa,vid3wa;k2tre dame,vart1;is;ia;ke,ntendo,ss0L;l,s;c,st1Htflix,w1; 1sweek;kids on the block,york09;a,c;nd1Vs2t1;ional aca2Io,we0Q;a,cYd0O;aBcdonaldAe7i5lb,o3tv,y1;spa1;ce;b1Mnsanto,ody blu0t1;ley crue,or0O;crosoft,t1;as,subisM;dica2rcedes benz,talli1;ca;id,re;'s,s;c's milk,tt14z1Z;'ore08a3e1g,ittle caesa1K;novo,x1;is,mark; 1bour party;pres0Bz boy;atv,fc,kk,m1od1J;art;iffy lu0Moy divisi0Gpmorgan1sa;! cha07;bm,hop,n1tv;g,te1;l,rpol;asbro,ewlett pack1Ri3o1sbc,yundai;me dep1n1L;ot;tac1zbollah;hi;eneral 6hq,ithub,l5mb,o2reen d0Lu1;cci,ns n ros0;ldman sachs,o1;dye1g0E;ar;axo smith kli03encoV;electr0Km1;oto0W;a4bi,da,edex,i2leetwood mac,o1rito l0D;rd,xcX;at,nancial1restoY; tim0;cebook,nnie mae;b08sa,u3xxon1; m1m1;ob0H;!rosceptics;aiml0Be6isney,o4u1;nkin donu2po0Xran dur1;an;ts;j,w j1;on0;a,f lepp0Zll,peche mode,r spiegZstiny's chi1;ld;aIbc,hEiCloudflaBnn,o3r1;aigsli5eedence clearwater reviv1ossra06;al;ca c7inba6l4m1o0Bst06;ca2p1;aq;st;dplPg1;ate;se;ola;re;a,sco1tigroup;! systems;ev2i1;ck fil-a,na daily;r1y;on;dbury,pital o1rl's jr;ne;aEbc,eBf9l5mw,ni,o1p,rexiteeU;ei3mbardiIston 1;glo1pizza;be;ng;o2ue c1;roV;ckbuster video,omingda1;le; g1g1;oodriL;cht2e ge0rkshire hathaw1;ay;el;idu,nana republ3s1xt5y5;f,kin robbi1;ns;ic;bYcTdidSerosmith,iRlKmEnheuser-busDol,pple9r6s3utodesk,v2y1;er;is,on;hland1sociated F; o1;il;by4g2m1;co;os; compu2bee1;'s;te1;rs;ch;c,d,erican3t1;!r1;ak; ex1;pre1;ss; 5catel2ta1;ir;!-lu1;ce1;nt;jazeera,qae1;da;g,rbnb;as;/dc,a3er,tivision1;! blizz1;ard;demy of scienc0;es;ba",Possessive:"true¦its,my,our0thy;!s","Noun|Verb":"true¦0:9U;1:A8;2:94;3:A1;4:9P;5:A0;6:9I;7:8L;8:7J;9:A6;A:91;B:8V;C:8B;a9Mb8Oc7Gd6Pe6Ef5Qg5Gh54i4Wj4Tk4Ql4Em40n3Vo3Sp2Squ2Rr21s0Jt02u00vVwGyFzD;ip,oD;ne,om;awn,e6Die66;aOeMhJiHoErD;ap,e9Mink2;nd0rDuB;kDry,sh5Fth;!shop;ck,nDpe,re,sh;!d,g;e84iD;p,sD;k,p0t2;aDed,lco8U;r,th0;it,lk,rEsDt4ve,x;h,te;!ehou1ra9;aGen5DiFoD;iDmAte,w;ce,d;be,ew,sA;cuum,l4A;pDr7;da5gra6Clo68;aReQhrPiOoMrGuEwiDy5X;n,st;nDrn;e,n7M;aGeFiEoDu6y;t,ub2;bu5ck4Igg0m,p;at,k,nd;ck,de,in,nsDp,v7H;f0i8P;ll,ne,p,r4Wss,t92uD;ch,r;ck,de,e,le,me,p,re;e5Uow,u6;ar,e,ll,mp0st,xt;g,lDng2rg7Ns5x;k,ly;a0Sc0Ne0Kh0Fi0Dk0Bl09m08n06o05pXquaCtKuFwD;ea86iD;ng,pe,t4;bGit,m,ppErD;fa3ge,pri1v2U;lDo6Q;e6Ny;!je8;aMeLiKoHrEuDy2;dy,ff,mb2;a83eEiDo5Nugg2;ke,ng;am,ss,t4;ckEop,p,rD;e,m;ing,pi2;ck,nk,t4;er,m,p;ck,ff,ge,in,ke,lEmp,nd,p2rDte,y;!e,t;k,l;aJeIiHlGoFrDur,y;ay,e54inDu3;g,k2;ns89t;a5Oit;ll,n,r85te;ed,ll;m,n,rk;b,uB;aDee1Tow;ke,p;a5He4Di2o51;eep,iDou4;ce,p,t;ateboa7HiD;!p;de,gnDl2Unk,p,ze;!al;aGeFiEoDuff2;ck,p,re,w;ft,p,v0;d,i3Wlt0;ck,de,pe,re,ve;aEed,nDrv1It;se,t2M;l,r4t;aGhedu2oCrD;aEeDibb2o3X;en,w;pe,t4;le,n,r2L;cDfegua70il,mp2;k,rifi3;aZeHhy6JiGoEuD;b,in,le,n,s5V;a6ck,ll,oDpe,u5;f,t;de,ng,ot,p,s1V;aTcSdo,el,fQgPje8lOmMnLo17pJque6sFturn,vDwa6T;eDi26;al,r1;er72oFpe8tEuD;lt,me;!a53;l6Zrt;air,eaDly,o51;l,t;dezvo2Xt;aDedy;ke,rk;ea1i4E;a6Gist0r5L;act6Wer1Uo6ZuD;nd,se;a36o6D;ch,s6E;c1Cge,iEke,lly,nDp1Vt1V;ge,k,t;n,se;es69iv0;a04e00hYiXlToNrEsy4uD;mp,n4rcha1sh;aKeIiHoDu4M;be,ceFdu3fi2grDje8mi1p,te6;amDe6U;!me;ed,ss;ce,de,nt;sDy;er6As;cti3i1;iHlFoEp,re,sDuBw0;e,i5Wt;l,p;iDl;ce,sh;nt,s5T;aEce,e30uD;g,mp,n7;ce,nDy;!t;ck,le,n16pe,tNvot;a1oD;ne,tograph;ak,eFnErDt;fu53mA;!c30;!l,r;ckJiInHrFsEtDu1y;ch,e9;s,te;k,tD;!y;!ic;nt,r,se;!a7;bje8ff0il,oErDutli3Over49;bAd0ie9;ze;a4PeFoDur1;d,tD;e,i3;ed,gle8tD;!work;aMeKiIoEuD;rd0;ck,d3Pld,nEp,uDve;nt,th;it5CkD;ey;lk,n49rr5AsDx;s,ta29;asuCn4SrDss;ge,it;il,nFp,rk3UsEtD;ch,t0;h,k,t0;da5n0oeuvC;aLeJiHoEuD;mp,st;aEbby,ck,g,oDve;k,t;d,n;cDft,mAnHst;en1k;aDc0Ne4vJ;ch,d,k,p,se;bEcDnd,p,t4un4;e,k;el,o2T;eEiDno4D;ck,d,ll,ss;el,y;aEo1NuD;i3mp;m,zz;mpJnEr45ssD;ue;c1Qdex,fluGha2k,se2GteDvoi3;nt,rD;e6fa3viD;ew;en3;a8le29;aJeHiGoEuD;g,nt;l39no2Cok,pDr1u1;!e;ghli1Eke,nt,re,t;aDd7lp;d,t;ck,mGndFrEsh,tDu9;ch,e;bo3Wm,ne4Dve6;!le;!m0;aLear,ift,lJossIrFuD;arDe49lp,n;antee,d;aEiDouBumb2;ll,nd,p;de,sp;ip;oDue;ss,w;g,in,me,ng,s,te,ze;aZeWiRlNoJrFuD;ck,el,nDss,zz;c38d;aEoDy;st,wn;cDgme,me,nchi1;tuC;cFg,il,ld,rD;ce,e29mDwa31;!at;us;aFe0Vip,oDy;at,ck,od,wD;!er;g,ke,me,re,sh,vo1E;eGgFlEnDre,sh,t,x;an3i0Q;e,m,t0;ht,uC;ld;aEeDn3;d,l;r,tuC;ce,il,ll,rm,vo2W;cho,d7ffe8nMsKxFyeD;!baD;ll;cGerci1hFpDtra8;eriDo0W;en3me9;au6ibA;el,han7u1;caDtima5;pe;count0d,vy;a01eSiMoJrEuDye;b,el,mp,pli2X;aGeFiEoD;ne,p;ft,ll,nk,p,ve;am,ss;ft,g,in;cEd7ubt,wnloD;ad;k,u0E;ge6p,sFt4vD;e,iDor3;de;char7gui1h,liEpD;at4lay,u5;ke;al,bKcJfeIlGmaBposAsEtaD;il;e07iD;gn,re;ay,ega5iD;ght;at,ct;li04rea1;a5ut;b,ma7n3rDte;e,t;a0Eent0Dh06irc2l03oKrFuD;be,e,rDt;b,e,l,ve;aGeFoEuDy;sh;p,ss,wd;dAep;ck,ft,sh;at,de,in,lTmMnFordina5py,re,st,uDv0;gh,nDp2rt;s01t;ceHdu8fli8glomeIsFtDveN;a8rD;a6ol;e9tru8;ct;ntDrn;ra5;bHfoGmFpD;leDouBromi1;me9;aBe9it,u5;rt;at,iD;ne;lap1oD;r,ur;aEiDoud,ub;ck,p;im,w;aEeDip;at,ck,er;iGllen7nErD;ge,m,t;ge,nD;el;n,r;er,re;ke,ll,mp,noe,pGrXsFtEuDve;se,ti0I;alog,ch;h,t;!tuC;re;a03eZiXlToPrHuEyD;pa11;bb2ck2dgEff0mp,rDst,zz;den,n;et;anJeHiFoadEuD;i1sh;ca6;be,d7;ge;aDed;ch,k;ch,d;aFg,mb,nEoDrd0tt2x,ycott;k,st,t;d,e;rd,st;aFeBiDoYur;nk,tz;nd;me;as,d,ke,nd,opsy,tD;!ch,e;aFef,lt,nDt;d,efA;it;r,t;ck,il,lan3nIrFsEtt2;le;e,h;!gDk;aDe;in;!d,g,k;bu1c05dZge,iYlVnTppQrLsIttGucEwaD;rd;tiD;on;aDempt;ck;k,sD;i6ocia5;st;chFmD;!oD;ur;!iD;ve;eEroa4;ch;al;chDg0sw0;or;aEt0;er;rm;d,m,r;dreHvD;an3oD;ca5;te;ce;ss;cDe,he,t;eFoD;rd,u9;nt;nt,ss;se",Actor:"true¦0:7C;1:7H;2:6B;3:7G;4:7P;5:7L;6:72;a6Pb64c4Xd4De43f3Tg3Ch31i2Vj2Rkin2Ql2Lm27n20o1Tp0Wqu0Ur0KsRtKuIvFw9yo7;gi,ut7;h,ub0;aBeAi9o8r7;estl0it0;m2rk0;fe,nn0t2Cza2I;atherm2ld0;ge earn0it0nder0rri1;eter8i7oyG;ll5Sp,s41;an,ina2V;n7s0;c6Wder04;aoisea24eAherapi5iktok0o9r7ut1yco6;a7endseMo45;d0mp,nscri0Cvel0;ddl0u1H;a0Rchn8en7na4st0;ag0;i3Qo0E;aiYcVeShQiNki0mu27oKpHquaGtCu8wee7;p0theart;lt2per8r7;f0ge6viv1;h7inten0Jst5Kvis1;ero,um2;a9ep8r7;ang0eam0;bro2Oc2Pfa2Omo2Osi21;ff0tesm2;tt0;ec8ir2Eo7;kesp5Bu0N;ia5Lt3;l8me6Cn,rcere7ul;r,ss;di0oi5;n8s7;sy,t0;g0n0;am2ephe1Jow7;girl,m2r2R;cretJnior cit3Hr7;gea4v7;a4it1;hol4Zi8reen7ulpt1;wr2D;e02on;l1nt;aFeAo9u7;l0nn7;er up,ingF;g42le mod41of0;a51c9fug2Rpo34searRv7;ere4Wolution7;ary;e7luZru23;ptio3V;bbi,dic5Xpp0;arter7e31;back;aZeXhTiSlPoLr9sycho8u7;nk,p34;logi5;aHeEiCo7;dAfess1g8ph49s7;pe2Mtitu53;en7ramm0;it1y;igy,uc0;est4Pme mini0Vnce7s3G;!ss;a8si7;de4;ch0;ctiti3Bnk0Q;dca0Pet,li7pula52rnst44;c2Ktic7;al scie7i2;nti5;a7umb0;nn0y7;er,ma4Nwright;lgrim,one0;a9iloso8otogra8ra7ysi1X;se;ph0;ntom,rmaci5;r7ssi1V;form0s6;i3Gl,nel40r9st1tr7wn;i7on;arXot;ent4Yi44tn0;ccupa4ffCp9r8ut7;ca5l0C;ac4Kganiz0ig2Hph2;er3t7;i1Lomet7;ri5;ic0spring;aCeAie4Zo8u7;n,rser3L;b7mad,vi4X;le2Xo4F;i7mesis,phew;ce,ghb1;nny,rr3t20;aFeEiBo8u7yst21;m9si18;der3gul,m8n7th0;arEk;!my;ni8s7;f03s0Kt0;on,st0;chan1Tnt1rcha4;giAk0n9rtyr,t7y1;e,riar7;ch;ag0iac;ci2stra3K;a8e2Cieutena4o7;rd,s0v0;bor0d8ndlo7ss,urea3Hwy0ym2;rd;!y;!s2A;anitor ,e9o8u7;ggl0;gg0urna2W;st0;c6dol,llu3Wmmigra4n7;-lAc1Sfa4habi44nov3s8ve7;nt1stig3;pe0Pt7;a1Hig3ru0O;aw;airGeCistoBo9u7ygie1M;man7nt0sba2J;!ita9;bo,st7usekO;age,e3R;ri2;ir,r7;m8o7;!ine;it;dress0sty2E;aMeJhostHirl28ladi3oDrand8u7;e5ru;cAdaugTfa9m8pa7s6;!re4;a,o7;th0;hi1D;al8d7lf0;!de3C;ie,k7te28;eep0;!wr7;it0;isha,n7;i7tl06;us;mbl0rden0;aFella,iBo8r7;eela2Pie1R;e,re7ster pare4;be1Jm2r7st0;unn0;an31g9lmm19nanci0r7tt0;e7st la2J; marsh2Qfig7m2;ht0;rm0th0;conoFdElectriDm9n8x7;amin0cellency,i2B;emy,trepreneur,vironmenta1K;c9p7;er1loye7;e,r;ee;ci2;it1;mi5;aLeCi9ork,ri8u7we03;de,tche2I;ft0vK;ct3eti8plom2Ire7va;ct1;ci2ti2;aEcor3fencDi0JnBputAs8tectNvel7;op0;ce1He7ign0;rt0;ee,y;iz7;en;em2;c6l0;dAnc0redev9ught7;er7;! ;il;!dy;a06e04fo,hXitizenWlToCrAu7;r3stomer7;! representat7;ive;e3it7;ic;-work0lJmGnAord9rpor1Nu7wboy;n7ri0sin ;ciUte1R;in3;fidantBgressTsAt7;e0Lr7;ibut1o7;ll0;tab14ul1P;!e;edi2m7pos0rade;a0FeRissi7;on0;leag9on8um7;ni5;el;ue;e7own;an0r7;ic,k;!s;aAe8i7um;ld;erle7f;ad0;ir8nce7plGract0;ll1;m2wJ;lebri7o;ty;dCptBr7shi0;e8pe7;nt0;r,t7;ak0;ain;et;aNeMiKlogg0oFrCu7;dd0Gild0rglAsiness7;m2p8w7;om2;ers6;ar;i8o7;!k0th0;cklay0de,gadi0;hemi2oge9y7;!frie7;nd;ym2;an;cyc7sS;li5;atbox0ings;by,nk0r7;b0on8te7;nd0;!e08;c05dXge4nRpMrIsGtBu8yatull7;ah;nt8t7;h1oH;!ie;h9t7;e7orney;nda4;ie5le7;te;sis01tron7;aut,om0;chbis9isto8tis7;an,t;crV;hop;ostAp7;ari7rentiT;ti6;on;le;aAcest1im3nou9y7;bo7;dy;nc0;ly5rc7;hi5;mi9v7;entur0is1;er;ni8r7;al;str3;at1;or;counCquaintanBrobAt7;ivi5or,re7;ss;st;at;ce;ta4;nt","Adj|Noun":"true¦0:1F;1:1M;a1Db17c0Vd0Se0Nf0Eg0Bh09i07ju06l03mXnVoTpOrJsCt8u5v2watershed;a2ision10;gabo5nilla,ria2;b0Wnt;ndergr2pstairs;adua14ou2;nd;a4e2oken,ri0;en,r2;min0rori13;boo,n;age,e6ilv0Glack,o4quat,ta3u2well;bordina0Xper6;b0Mndard;ciali0Yl2vereign;e,ve1;cret,n2ri0;ior;a5e3ou2ubbiM;nd,tiZ;ar,bCl0Ynt0p2side1;resent0Xublican;ci0Qsh;a5eriodic0last11otenti0r2;emi3incip0o2;!fession0;er,um;rall5st,tie1;ff2pposi0Hv0;ens0Qi0D;agg02ov2;el;a6e4iniatKo2;bi02der08r2;al,t0;di2tr0P;an,um;le,riH;attPi3u2;sh;ber0ght,qD;stice,veniU;de0mpressioZn2;cumbe1dividu0no0Fsta1terim;alf,o2umdrum;bby,melG;en3old,ra2;ph0Dve;er0ious;a8e6i5l4u2;git05t2;ure;uid;ne;llow,m2;aGiM;ir,t,vo2;riOuriO;l4p02x2;c2ecutWpeX;ess;d2iK;er;ar3e2;mographWrivQ;k,l3;hiGlassUo3rude,unn2;ing;m6n2operM;creCstitue1te3vertab2;le;mpor2nt;ary;ic,m3p2;anion,lex;er3u2;ni8;ci0;e6lank,o5r2;i3u2;te;ef;ttom,urgeois;st;cademCd9l5n3r2;ab,ctB;im0tarctA;al;e4tern2;at2;ive;rt;oles2ult;ce1;nt;ic","Adj|Past":"true¦0:4C;1:40;2:45;3:42;4:3B;a3Tb3Ic2Vd2Ae22f1Wg1Th1Qi1Hj1Ekno1Dl18m13n10o0Vp0Lqu0Jr07sKtEuBvAw5yellow0;a8ea7o5rinkl0;r5u3N;n,ri0;k2Qth3;rp0sh0tY;ari0e1M;n5pd1s0;cov3derstood,i5;fi0t0;a8hreat2Ki7ouTr5urn0wi42;a5imm0ou28;ck0in0pp0;ed,r0;m0nn0r5;get0ni2K;aPcLeJhHimGm0Hoak0pEt8u5;bsid3Fgge3Vs5;pe5ta2P;ct0nd0;a9e8i26ok0r6u5;ff0nn0;ength28ip5;ed,p0;am0reotyp0;in0t0;eci5ik0oI;al35fi0;pSul1;a5ock0ut;d0r0;a5c1Dle2t2S;l0s3Jt0;a7or6r5;at5e1W;ch0;r0tt3;t5ut0;is4ur1;aFe6o5;tt0;cBdJf22gAje2l9m0Knew0p8qu7s5;eTpe2t5;or0ri2;e34ir0;e1lac0;at0e2H;ist3ul1;eiv0o5ycl0;mme2Crd0v3;in0lli0ti4;a5ot0;li4;aCer2RiBlAo9r5ump0;e7i2Go5;ce27d5lo14nou2Spos0te2v0;uc0;fe15ocDp0Fss0;i2Cli1D;ann0e24uT;ck0erc0ss0;ck0i29r5st0;allMk0;bse8c7rgan25ver5;lo5whelm0;ok0;cupi0;rv0;e6o5;t0uri12;ed0gle2;a7e6ix0o5ut0;di4t0Xu1Y;as07lt0;n5rk0;ag0ufact05;e7i6o5;ad0ck0st;cens0mit0st0;ft,v5;el0;tt0wn;a6o0Xu5;dg0s13;gg0;llumin1mpBn5sol1;br0cre1Ddebt0f9jUt6v5;it0olv0;e5ox0Q;gr1n5re1V;d0si4;e2l1o1O;li0oVr5;ov0;amm3e1o5;ok0r5;ri4;ift0r6u5;a14id0;i0Kown;a9e8i7lavo0Goc0Cr5;a5i0oz0S;ctEg13m0;ni04tt0x0;ar0;d0il0;duc1l1mBn9quipp0s8x5;agger1p5te0Q;a0Pe5os0;ct0rie1A;cap0tabliX;gFha18s5;ur0;a0Xbarra0L;aMeEi6r5;a00i0;gni4miniRre2s5;aAc7grun0Et5;o5re0Gurb0;rt0;iplVou5;nt0r5;ag0;bl0;cBdQf9l8pre0Ara7t6v5;elop0ot0;ail0ermP;ng0;ay0ight0;e5in0o0M;rr0;ay0enTor1;m5t0z0;ag0p5;en0;aQeMhJlIoAr7u5;lt5r0stom04;iv1;a6owd0u5;sh0;ck0mp0;d0loBm8n5ok0v3;centr1f6s5troD;id3olid1;us0;b6pl5;ic1;in0;r0ur0;assi4os0utt3;ar6i5;ll0;g0m0;lebr1n7r5;ti4;fi0;tralK;g0lcul1;aEiDlAo8r6urn5;ed,t;ok5uis0;en;il0r0t5und;tl0;e6i5;nd0;ss0;as0;k0laNs0tt3;bandQcOdLfJg0lGmaz0nEppCrm0ssAu6wa5;rd0;g6thor5;iz0;me5;nt0;o7u5;m0r0;li0re5;ci1;im1ticip1;at0;a6leg0t3;er0;rm0;fe2;ct0;ju6o8va5;nc0;st0;ce5knowledg0;pt0;on0;ed",Singular:"true¦0:5J;1:5H;2:4W;3:52;4:4S;5:57;6:5L;7:56;a51b4Jc3Md34e2Wf2Mg2Gh25in21j20k1Zl1Sm1Kn1Go1Ap0Qqu0Pr0EsYtLuGvBw8x r57yo yo;a8ha3Oo3P;f4i4Qt0Fy8;! arou38;arBe9ideo ga2Po8;cabu4Hl5B;gNr8t;di4Yt1V;iety,ni4O;nAp2Zr9s 8;do42s5D;bani1in0;coordinat39der8;estima1to21we40; rex,aJeIhGiEoDrAu9v8;! show;m2Nn2rntKto1B;agedy,ib8o4D;e,u8;n0ta44;ni1p2rq3K;c,er,m8;etE;ing8ree25;!y;am,mp3E;ct2le6x return;aMcLeJhor4PiIkGoFpin off,tCuAy8;ll8ner7st4S;ab2W;b8i1n27per bowl,rro1W;st3Ktot0;at9ipe2Fo1Irate7udent8;! lo0H;i38u1;ft ser4Kmeo1F;elet5i8;ll,r3U;b37gn2Ste;ab2Ic8min3A;t,urity gua2M;e6ho2X;bbatic0la3Hndwi0Opi5;av5eChetor2i9o8;de6om,w;t9v8;erb2B;e,u0;bCcAf8publ2r0Xspi1;er8orm4;e6r0;i8ord label;p2Gt0;a1u45;estion mark,ot2E;aOeLhoKiHlFoDr9u8yram1E;ddi3GpDrpo1Is3I;eAo8;bl3Ys8;pe3Ita1;dic1Qmi1Ep1Proga3Uss relea1E;p8rt0;py;a8ebisci1;q2Cte;cn2e9g8;!gy;!r;ne call,tocoJ;anut,d9r8t0yo1;cen3Isp3J;al,est0;nop3r9t8;e,hog5;adi10i2U;atme0bj3EcApia1rde0thers,utspok5ve8wn4;n,r8;ti0Oview;cu9e8;an;pi4;arAit9ot8umb4;a2Dhi2Q;e,ra1;cot2ra36;aDeBi9o8ur0é0C;nopo3p17rni2Msq1Qti35uld;c,li10n08s8tt5;chief,si33;d8nu,t0;al,ic;gna1mm0nd15rsupi0te8yf3;ri0;aCegBiAu8;ddi1n8;ch;ght bulb,me,p09ving room; 9e0M;bor14y 8;up;eyno1itt5;el3ourn0;cAdices,itia2Oni26s9tel0Mvert8;eb1K;e29titu1;en2Li2U;aHeDighCo9u8;man right,s23;me8rmoEsp1Gtb0L;! r8;un; scho0ZriZ;a8i1O;d8v5; start,pho8;ne;ndful,sh brown,v5ze;aBelat0Jlaci4r9u8yp1T;l3y;an8enadi4id;a1Bd slam,ny;df3r8;l2ni1I;aGeti1HiFlu1oCr9un8;er0;ee market,i9on8;ti4;ga1;l3ur8;so8;me;eOref3;br2mi3n10;conoEffi7gg,lecto0Qmbas1DnBpidem2s1Yth2venAx9yel8;id;ampYempl0Mte6;i18t;er7terp8;ri8;se;my;eKiDoAr8ump tru0T;agonf3i8;er,ve thru;c9g7i3or,ssi4wn8;side;to0DumenD;aDgniCnn4s9vide8;nd;conte6incen1Dp8tri10;osi8;tion;ta0F;le0W;athAc9f8ni0terre6;ault 04err0;al,im0;!b8;ed;aVeShLiKlIoCr8;edit caAuc8;ib8;le;rd;efficCke,lBmmuniqKns9pi4rr0t0Wus8yo1;in;erv8uH;ato00;ic,lP;ie6;er7i8oth;e6n2;ty,vil wL;aCeqBick5ocoAr8;istmas car8ysanthemum;ol;la1;ue;ndeli4racteri8;st2;i9llDr8;e0tifica1;liY;hi4nEpDrBt8ucus;erpi8hedr0;ll8;ar;!bohyd8ri4;ra1;it0;a8e,nib0;l,ry;aMeLiop2leJoHrDu8;nBr8tterf3;g8i0;la8;ry;ny;eak9i8;ck;fa8throA;st;dy,ro8wl;ugh;mi8;sh;an,l3;nki9rri4;er;ng;cRdLlHnEppeti1rCsAtt2utop8;sy;ic;ce6pe8;ct;r8sen0;ay;ec9oma3ti9;ly;do1;i5l8;er7y;gy;en; hominCj9van8;tage;ec8;ti8;ve;em;cBe9qui8;tt0;ta1;te;i9ru0;al;de6;nt","Person|Noun":"true¦a07b01cYdRePfOgMhJjFkiElDmBolive,p7r4s3trini00v1wa0;ng,rd;an,enus,iol0;a,et;ky,on5umm02;ay,e1o0uby;bin,d,se;ed,x;a2e0ol;aHn0;ny;ge,tM;a0eloR;x,ya;a9eo,iE;ng,tL;a2e1o0;lDy;an,w3;de,smi4y;a0iKol8;ll,z0;el;ail,e0;ne;aith,ern,lo;a0dDmir,ula,ve;rl;a4e3i1ol0;ly;ck,x0;ie;an,ja;i0wn;sy;h0liff,rystal;ari0in,ristian;ty;ak4e3i2r0;an0ook;dy;ll;nedict,rg;er;l0rt;fredo,ma","Actor|Verb":"true¦aCb8c5doctor,engineAfool,g3host,judge,m2nerd,p1recruit,scout,ushAvolunteAwi0;mp,tneA;arent,ilot;an,ime;eek,oof,r0uide;adu8oom;ha1o0;ach,nscript,ok;mpion,uffeur;o2u0;lly,tch0;er;ss;ddi1ffili0rchite1;ate;ct",MaleName:"true¦0:DO;1:CO;2:D7;3:AJ;4:CK;5:BZ;6:CF;7:D3;8:BS;9:AR;A:DB;B:D4;C:94;D:BM;aC9bB7cA7d98e8If82g7Fh6Si6Cj5Ek52l4Fm37n2Uo2Op2Gqu2Er1Ms12t0Gu0Fv08wUxTyJzE;aEor0;cEh9Jkaria,n0C;hFkE;!aC7;ar5UeC6;aMoGuE;sEu2LvBJ;if,uf;nGsFusE;ouf,sE;ef;aEg;s,tE;an,h0;hli,nB8ssY;avi3ho4;aNeLiGoEyaBN;jcie87lfgang,odrow,utE;!er;lEnst1;bGey,fredAlE;aAZiE;am,e,s;e97ur;i,nde9sE;!l8t1;lFyE;l1ne;lEt3;a9Xy;aHiEladimir,ojte7U;cFha0kt67nceErgA5va0;!nt;e3Xt65;lentEn9S;inE;!e;ghBElyss59nax,sm0;aXeShOiMoIrGuFyE;!l3ro6s1;n7r59;avAHeEist0oy,um0;ntA9v5Wy;bGd8RmEny;!as,mEoharu;aCCie,y;iCy;mEt5;!my,othy;adGeoFia0KomE;!as;!do8G;!de5;dHrE;en98rE;an97eEy;ll,n96;!dy;dgh,ha,iEnn3req,tsu4R;cAPka;aUcotSeQhMiKoIpenc3tEur1Xylve96zym1;anGeEua85;f0phBCvEwa84;e5Zie;!islaw,l8;lom1uE;leyma6ta;dElCm1yabonga;!dhart74n8;aGeE;lErm0;d1t1;h7Kne,qu11un,wn,y6;aEbasti0k2Cl4Prg4Mth,ymoAE;m5n;!tE;!ie,y;lFmEnti2Gq58ul;!ke5JmDu4;ik,vato7O;aZeVhe9ViRoIuFyE;an,ou;b7DdFf5pe7KssE;!elBJ;ol3Fy;an,bLc62dJel,geIh0landAmHnGry,sFyE;!ce;coe,s;!aA1nD;an,eo;l45r;er78g3n8olfo,riE;go;bDeAQ;cEl8;ar6Ic6HhFkEo;!ey,ie,y;a8Vie;gFid,ubByEza;an1KnZ;g9SiE;na9Os;ch6Qfa4lImHndGpha4sFul,wi2HyE;an,mo6U;h7Jm5;alAXol2U;iACon;f,ph;ent2inE;cy,t1;aJeHhilGier6TrE;aka18eE;m,st1;!ip,lip;dA4rcy,tE;ar,e3Er1Y;b4Hdra73tr6JulE;!o19;ctav3Di3liv3m9Yndrej,rIsFtEum7wB;is,to;aFc7k7m0vE;al5S;ma;i,vM;aMeKiGoEu38;aEel,j5l0ma0r3I;h,m;cFg4i46kEl2R;!au,h7Gola;hEkEolC;olC;al,d,il,ls1vE;il8J;hom,tE;e,hE;anEy;!a4i4;a00eXiNoIuFyE;l2Gr1;hamFr6KstaE;fa,p54;ed,mI;di0Xe,hamGis2CntFsEussa;es,he;e,y;ad,ed,mE;ad,ed;cJgu4hai,kHlGnFtchE;!e9;a7Uik;house,o0Ct1;ae5Oe9NolE;aj;ah,hE;aFeE;al,l;el,l;hFlv2rE;le,ri9v2;di,met;ay0hUjd,ks2AlSmadXnRrLs1tGuricFxE;imilianAwe9;e,io;eHhFiCtEus,yC;!eo,hew,ia;eEis;us,w;j,o;cIio,kHlGqu6Ysha9tEv2;iEy;!m,n;in,on;el,oQus;!el91oPus;iHu4;achEcolm,ik;ai,y;amFdi,eEmoud;sh;adEm5G;ou;aXeRiPlo39oLuFyE;le,nd1;cHiGkEth3uk;aEe;!s;gi,s,z;as,iaE;no;g0nn7BrenGuEv81we9;!iE;e,s;!zo;am,oE;n4r;a7Uevi,la4AnIonHst3thaGvE;eEi;nte;bo;!a6Del;!ny;mFnd1rEur54wr54;ry,s;ar,o4Y;aMeIhal7GiFristEu4Ky6J;i0o54;er0p,rE;k,ollE;os;en0iGnErmit,v3U;!dr3XnEt1;e18y;r,th;cp3j5m5Sna6OrFsp7them,uE;ri;im,l;a01eViToHuE;an,lEst2;en,iE;an,en,o,us;aOeMhnLkubCnJrHsE;eFhEi7Wue;!ua;!ph;dEge;i,on;!aEny;h,s,th55;!ath54ie,nD;!l,sEy;ph;o,qu2;an,mE;!mD;d,ffHrEs5;a5YemFmai6oEry;me,ni0Y;i7Gy;!e5OrE;ey,y;cLdBkJmIrGsFvi3yE;dBs1;on,p3;ed,od,rEv4V;e5Bod;al,es4Mis1;a,e,oEub;b,v;ob,quE;es;aXbRchiQgOkeNlija,nuMonut,rKsGtEv0;ai,suE;ki;aFha0i70maEsac;el,il;ac,iaE;h,s;a,vinEw2;!g;k,nngu5F;!r;nacEor;io;ka;ai,rahE;im;aQeKoJuEyd7;be2FgHmber4KsE;eyFsE;a2e2;in,n;h,o;m3ra36sse2wa40;aIctHitHnrFrE;be28m0;iEy;!q0Z;or;th;bMlLmza,nKo,rGsFyE;a47dB;an,s0;lGo4Nry,uEv8;hi44ki,tE;a,o;an,ey;k,s;!im;ib;aWeSiQlenPoMrIuE;ilFsE;!tavo;herme,lerE;mo;aGegEov3;!g,orE;io,y;dy,h5K;nzaFrE;an,d1;lo;!n;lbe4Xno,oE;rg37van4Y;oGrE;aEry;ld,rdA;ffr8rge;brFlBrEv2;la14r3Hth,y;e33ielE;!i5;aSePiNlLorrest,rE;anFedEitz;!dDer11r11;cGkE;ie,lE;in,yn;esLisE;!co,z2W;etch3oE;yd;d4lEonn;ip;deriFliEng,rnan05;pe,x;co;bi0di,hd;dYfrXit0lSmLnIo2rGsteb0th0uge6vEymBzra;an,eE;ns,re2X;gi,i0AnErol,v2w2;estAie;oFriqEzo;ue;ch;aJerIiFmE;aIe2Q;lErh0;!iE;o,s;s1y;nu4;be0Bd1iGliFm3t1viEwood;n,s;ot1Ss;!as,j4FsE;ha;a2en;!d2Vg7mHoFuFwE;a26in;arE;do;oWuW;a02eRiPoHrag0uGwFylE;an,l0;ay6ight;a6dl8nc0st2;minHnFri0ugEvydCy29;!lC;!a2HnEov0;e9ie,y;go,iFykC;as;cEk;!k;armuEll1on,rk;id;andNj0lbeMmetri5nKon,rIsGvFwExt3;ay6ey;en,in;hawn,moE;nd;ek,rE;ick;is,nE;is,y;rt;re;an,le,mLnKrGvE;e,iE;!d;en,iGne9rEyl;eEin,yl;l36n;n,o,us;!i4ny;iEon;an,en,on;a08e06hYiar0lOoJrHuFyrE;il,us;rtE;!is;aEistob0S;ig;dy,lHnFrE;ey,neli5y;or,rE;ad;by,e,in,l2t1;aIeGiEyK;fEnt;fo0Et1;meEt5;nt;rGuFyE;!t1;de;enE;ce;aIeGrisE;!toE;ph3;st3;er;d,rEs;b4leE;s,y;cEdric,s7;il;lHmer1rE;ey,lFro9y;ll;!os,t1;eb,v2;a07eZiVlaUoSrFuEyr1;ddy,rtL;aMeHiGuFyE;an,ce,on;ce,no;an,ce;nFtE;!t;dFtE;!on;an,on;dFndE;en,on;!foEl8y;rd;bby,rEyd;is;i6ke;bGlFshE;al;al,lD;ek;nIrEshoi;at,nFtE;!r1C;aEie;rdA;!iFjam2nD;ie,y;to;kaNlazs,nIrE;n8rEt;eEy;tt;ey;dEeF;ar,iE;le;ar17b0Vd0Rf0Pgust2hm0Mi0Jja0Il03mZnSputsiRrIsaHugust5veFyEziz;a0kh0;ry;us;hi;aLchKiJjun,maInGon,tEy0;hEu09;ur;av,oE;ld;an,ndA;!el,ki;ie;ta;aq;as,dIgelAtE;hony,oE;i6nE;!iAy;ne;er,reEy;!as,i,s,w;iGmaEos;nu4r;el;ne,r,t;aRbeQdBeKfIi,lHonGphZt1vE;aOin;on;so,zo;an,en;onVrE;ed;c,jaHksandGssaHxE;!andE;er,ru;ar,er;ndE;ro;rtA;dd2n;ni;dBm7;ar;en;ad,eE;d,t;in;onE;so;aFi,olfAri0vik;!o;mEn;!a;dIeHraFuE;!bakr,lfazl;hEm;am;!l;allJelGoulaye,ulE;!lErG;ah,o;! rE;ahm0;an;ah;av,on",Uncountable:"true¦0:2Z;1:2F;2:2M;3:34;4:3D;a2Xb2Oc2Cd25e1Uf1Qg1Hh19i14j11k0Zl0Um0Kn0Go0Fp06r02sNtBuran2Mv9w5you gu0H;a7his1Ai6oo5;d,l;ldlife,ne;rmAt2;apor,ernacul2Ci5;neg2Bol1Rtae;eFhDiCoAr6un5yranny;a,gst1E;aff2Rea1No6ue nor5;th;o0Bu5;bleshoot0se1Wt;night,othpas1Ywn5;foGsfoG;me off,n;er5und2;e,mod2V;a,nnis;aGcFeEhCiBkiAo9p8t6u5weepstak1;g1Xnshi2Kshi;ati0Be5;am,el;ace2Neci1;ap,cc2meth0;n,ttl1;lk;eep,ingl1o5;pp0r1E;lf,na1Iri1;ene1Misso1E;d0Yfe3l6nd,t5;i0Kurn;m1Wt;abi1e6ic5;e,ke17;c5i03laxa13search;ogni12rea12;aBeAhys9luto,o7re5ut3;amble,mis1s5ten22;en21s0N;l5rk;i2Al0GyJ; 18i4;a26tr0H;nt5rk0ti0O;i1s;bstetri4vercrowd0xyg0B;a7e6owada5utella;ys;ptu1Qws;il poli01tional securi3;aCeAo7u5;m5s1J;ps;n5o1M;ey,o5;gamy;a5cha0Glancholy,rchandi1Jtallurgy;sl1t;chine5g1Cj1Jrs,thema1S; learn0ry;aught2e8i7ogi6u5;ck,g14;c,s1O;ce,ghtn0nguis1NteratYv2;ath2isXss;ara0GindergartRn5;icke0Cowled10;e5upit2;a5llyfiIwel0I;ns;ce,gnor8mp7n5;forma02ter5;net,sta09;atiUort5rov;an1A;a9e8isto0Bo5ung2;ckey,mework,ne6o5rseradiAspitali3use arrest;ky;s3y;adquarteZre;ir,libut,ppiJs5;hi5te;sh;eneAl8o7r5um,ymnas13;a5e01;niWss;lf,re;ut5yce0H;en; 5ti4;edit0po5;ol;aPeel0icHlour,o6urnit5;ure;od,rgive5uri2wl;ness;arEcono0NducaDlectrBn9quipAthi4very8x5;ist6per5;ti0D;en0L;body,o0Ath0;joy5tertain5;ment;ici3o5;ni4;tiU;nings,th;emi04i8o6raugh5ynas3;ts;pe,wnstai5;rs;abet1ce,s5;hon01repu5;te;aFelciEhCivi4lAo5urrency;al,ld w8mmenta7n5ral,ttKuscoD;fusiJt 5;ed;ry;ar;assi4oth1;es;aos,e5;eOw0;us;d,rQ;aAi8lood,owl0read7u5;nt0tt2;er;!th;lliarLs5;on;g5ss;ga5;ge;cMdviLeroIirHmDn8ppeal court,r6spi5thleN;rin;ithmet5sen5;ic;i8y5;o6th0;ing;ne;se;en7n5;es3;ty;ds;craft;bi4d5nau9;yna5;mi4;ce;id,ous5;ti4;cs",Infinitive:"true¦0:9G;1:9T;2:AD;3:90;4:9Z;5:84;6:AH;7:A9;8:92;9:A0;A:AG;B:AI;C:9V;D:8R;E:8O;F:97;G:6H;H:7D;a94b8Hc7Jd68e4Zf4Mg4Gh4Ai3Qj3Nk3Kl3Bm34nou48o2Vp2Equ2Dr1Es0CtZuTvRwI;aOeNiLors5rI;eJiI;ng,te;ak,st3;d5e8TthI;draw,er;a2d,ep;i2ke,nIrn;d1t;aIie;liADniAry;nJpI;ho8Llift;cov1dJear8Hfound8DlIplug,rav82tie,ve94;eaAo3X;erIo;cut,go,staAFvalA3w2G;aSeQhNoMrIu73;aIe72;ffi3Smp3nsI;aBfo7CpI;i8oD;pp3ugh5;aJiJrIwaD;eat5i2;nk;aImA0;ch,se;ck3ilor,keImp1r8L;! paD;a0Ic0He0Fh0Bi0Al08mugg3n07o05p02qu01tUuLwI;aJeeIim;p,t5;ll7Wy;bNccMffLggeCmmKppJrI;mouFpa6Zvi2;o0re6Y;ari0on;er,i4;e7Numb;li9KmJsiIveD;de,st;er9it;aMe8MiKrI;ang3eIi2;ng27w;fIng;f5le;b,gg1rI;t3ve;a4AiA;a4UeJit,l7DoI;il,of;ak,nd;lIot7Kw;icEve;atGeak,i0O;aIi6;m,y;ft,ng,t;aKi6CoJriIun;nk,v6Q;ot,rt5;ke,rp5tt1;eIll,nd,que8Gv1w;!k,m;aven9ul8W;dd5tis1Iy;a0FeKiJoI;am,t,ut;d,p5;a0Ab08c06d05f01group,hea00iZjoi4lXmWnVpTq3MsOtMup,vI;amp,eJiIo3B;sEve;l,rI;e,t;i8rI;ie2ofE;eLiKpo8PtIurfa4;o24rI;aHiBuctu8;de,gn,st;mb3nt;el,hra0lIreseF;a4e71;d1ew,o07;aHe3Fo2;a7eFiIo6Jy;e2nq41ve;mbur0nf38;r0t;inKleBocus,rJuI;el,rbiA;aBeA;an4e;aBu4;ei2k8Bla43oIyc3;gni39nci3up,v1;oot,uI;ff;ct,d,liIp;se,ze;tt3viA;aAenGit,o7;aWerUinpoiFlumm1LoTrLuI;b47ke,niArIt;poDsuI;aFe;eMoI;cKd,fe4XhibEmo7noJpo0sp1tru6vI;e,i6o5L;un4;la3Nu8;aGclu6dJf1occupy,sup0JvI;a6BeF;etermi4TiB;aGllu7rtr5Ksse4Q;cei2fo4NiAmea7plex,sIva6;eve8iCua6;mp1rItrol,ve;a6It6E;bOccuNmEpMutLverIwe;l07sJtu6Yu0wI;helm;ee,h1F;gr5Cnu2Cpa4;era7i4Ipo0;py,r;ey,seItaH;r2ss;aMe0ViJoIultiply;leCu6Pw;micJnIspla4;ce,g3us;!k;iIke,na9;m,ntaH;aPeLiIo0u3N;e,ke,ng1quIv5;eIi6S;fy;aKnIss5;d,gI;th5;rn,ve;ng2Gu1N;eep,idnJnI;e4Cow;ap;oHuI;gg3xtaI;po0;gno8mVnIrk;cTdRfQgeChPitia7ju8q1CsNtKun6EvI;a6eIo11;nt,rt,st;erJimi6BoxiPrI;odu4u6;aBn,pr03ru6C;iCpi8tIu8;all,il,ruB;abEibE;eCo3Eu0;iIul9;ca7;i7lu6;b5Xmer0pI;aLer4Uin9ly,oJrI;e3Ais6Bo2;rt,se,veI;riA;le,rt;aLeKiIoiCuD;de,jaInd1;ck;ar,iT;mp1ng,pp5raIve;ng5Mss;ath1et,iMle27oLrI;aJeIow;et;b,pp3ze;!ve5A;gg3ve;aTer45i5RlSorMrJuI;lf4Cndrai0r48;eJiIolic;ght5;e0Qsh5;b3XeLfeEgJsI;a3Dee;eIi2;!t;clo0go,shIwa4Z;ad3F;att1ee,i36;lt1st5;a0OdEl0Mm0FnXquip,rWsVtGvTxI;aRcPeDhOiNpJtIu6;ing0Yol;eKi8lIo0un9;aHoI;it,re;ct,di7l;st,t;a3oDu3B;e30lI;a10u6;lt,mi28;alua7oI;ke,l2;chew,pou0tab19;a0u4U;aYcVdTfSgQhan4joy,lPqOrNsuMtKvI;e0YisI;a9i50;er,i4rI;aHenGuC;e,re;iGol0F;ui8;ar9iC;a9eIra2ulf;nd1;or4;ang1oIu8;r0w;irc3lo0ou0ErJuI;mb1;oaGy4D;b3ct;bKer9pI;hasiIow1;ze;aKody,rI;a4oiI;d1l;lm,rk;ap0eBuI;ci40de;rIt;ma0Rn;a0Re04iKo,rIwind3;aw,ed9oI;wn;agno0e,ff1g,mi2Kne,sLvI;eIul9;rIst;ge,t;aWbVcQlod9mant3pNru3TsMtI;iIoDu37;lJngI;uiA;!l;ol2ua6;eJlIo0ro2;a4ea0;n0r0;a2Xe36lKoIu0S;uIv1;ra9;aIo0;im;a3Kur0;b3rm;af5b01cVduBep5fUliTmQnOpMrLsiCtaGvI;eIol2;lop;ch;a20i2;aDiBloIoD;re,y;oIy;te,un4;eJoI;liA;an;mEv1;a4i0Ao06raud,y;ei2iMla8oKrI;ee,yI;!pt;de,mIup3;missi34po0;de,ma7ph1;aJrief,uI;g,nk;rk;mp5rk5uF;a0Dea0h0Ai09l08oKrIurta1G;a2ea7ipp3uI;mb3;ales4e04habEinci6ll03m00nIrro6;cXdUfQju8no7qu1sLtKvI;eIin4;ne,r9y;aHin2Bribu7;er2iLoli2Epi8tJuI;lt,me;itu7raH;in;d1st;eKiJoIroFu0;rm;de,gu8rm;ss;eJoI;ne;mn,n0;eIlu6ur;al,i2;buCe,men4pI;eIi3ly;l,te;eBi6u6;r4xiC;ean0iT;rcumveFte;eJirp,oI;o0p;riAw;ncIre5t1ulk;el;a02eSi6lQoPrKuI;iXrIy;st,y;aLeaKiJoad5;en;ng;stfeLtX;ke;il,l11mba0WrrMth1;eIow;ed;!coQfrie1LgPhMliLqueaKstJtrIwild1;ay;ow;th;e2tt3;a2eJoI;ld;ad;!in,ui3;me;bysEckfi8ff3tI;he;b15c0Rd0Iff0Ggree,l0Cm09n03ppZrXsQttOuMvJwaE;it;eDoI;id;rt;gIto0X;meF;aIeCraB;ch,in;pi8sJtoI;niA;aKeIi04u8;mb3rt,ss;le;il;re;g0Hi0ou0rI;an9i2;eaKly,oiFrI;ai0o2;nt;r,se;aMi0GnJtI;icipa7;eJoIul;un4y;al;ly0;aJu0;se;lga08ze;iKlI;e9oIu6;t,w;gn;ix,oI;rd;a03jNmiKoJsoI;rb;pt,rn;niIt;st1;er;ouJuC;st;rn;cLhie2knowled9quiItiva7;es4re;ce;ge;eQliOoKrJusI;e,tom;ue;mIst;moJpI;any,liA;da7;ma7;te;pt;andPduBet,i6oKsI;coKol2;ve;liArt,uI;nd;sh;de;ct;on",Adjective:"true¦0:AI;1:BS;2:BI;3:BA;4:A8;5:84;6:AV;7:AN;8:AF;9:7H;A:BQ;B:AY;C:BC;D:BH;E:9Y;aA2b9Ec8Fd7We79f6Ng6Dh60i4Wj4Vk4Sl4Hm40n3Oo35p2Nquart7Pr2Cs1Dt14uSvOwFye28;aMeKhIiHoF;man5oFrth7G;dADzy;despreB1n w97s86;acked1HoleF;!sa6;ather1QeFll o70ste1D;!k5;nt1Jst6Ate4;aHeGiFola5S;bBUce versa,gi3Kle;ng67rsa5Q;ca1gBSluAV;lt0PnLpHrGsFttermoBL;ef9Ku3;b96ge1; Hb31pGsFtiAH;ca6et,ide d4Q;er,i85;f51to da2;a0Fbeco0Hc0Bd04e02f01gu1WheaBGiXkn4NmUnTopp06pRrNsJtHus0wF;aFiel3J;nt0rra0P;app0eXoF;ld,uS;eHi36o59pGuF;perv06spec38;e1ok9O;en,ttl0;eFu5;cogn06gul2QlGqu84sF;erv0olv0;at0en32;aFrecede0E;id,rallel0;am0otic0;aFet;rri0tF;ch0;nFq25vers3;sur0terFv7U;eFrupt0;st0;air,inish0orese98;mploy0n7Ov97xpF;ect0lain0;eHisFocume01ue;clFput0;os0;cid0rF;!a8Scov9ha8Jlyi8nea8Gprivileg0sMwF;aFei9I;t9y;hGircumcFonvin2T;is0;aFeck0;lleng0rt0;b1Zppea85ssuGttend0uthorF;iz0;mi8;i49ra;aLeIhoHip 24oGrF;anspare1encha1i2;geth9leADp notch,rpB;rny,ugh6H;ena8DmpGrFs6U;r48tia4;eCo8P;leFst4M;nt0;a0Cc08e06h05i03ki02l00mug,nobbi4XoWpSqueami4XtKuFymb94;bHccinAi generis,pFr5;erFre7N;! dup9b,vi70;du0li7Lp6IsFurb7J;eq9Atanda9X;aLeKi15o2PrGubboFy4Q;rn;aightGin5GungF; o2M; fFfF;or7U;adfa9Ori6;lwa6Etu81;arHeGir6MlendBot Fry;on;c3Oe1Q;k5se; call0lub6mb9phistic14rHuFviT;ndFth19;proof;dBry;e61ipF;pe4shod;ll0n d7S;g2HnF;ceEg6ist9;am3Te9;co1Zem5lfFn6Bre7; suf4Yi44;aGholFient3A;ar5;rlFt4B;et;cr0me,tisfac7G;aOeIheumatoBiGoF;bu90tt7Hy3;ghtFv3;-1Sf6Y;cJdu8QlInown0pro6AsGtF;ard0;is48oF;lu2na1;e1Suc46;alcit8Ye1ondi2;bBci3mpa1;aSePicayu7laOoNrGuF;bl7Unjabi,z36;eKiIoF;b7WfGmi4ApFxi2M;er,ort82;a7uD;maFor,sti7va2;!ry;ciDexis0Ima2CpaB;in56puli8H;cBid;ac2Znt 3JrFti2;ma41tFv7X;!i40;i2ZrFss7S;anoBtF;-5YiF;al,s5W;bSffQkPld OnMrLth9utKverF;!aIbMdHhGni76seas,t,wF;ei75rou75;a64e7B;ue;ll;do1Ger,si6B;d3Rg2Aotu60; bFbFe on o7g3Vli7;oa81;fashion0school;!ay; gua7YbFha5Vli7;eat;eHligGsF;ce7er0So1C;at0;diFse;a1e1;aOeNiMoGuF;anc0de; moEnHrthFt6W;!eFwe7M;a7Lrn;chaGdescri7Jprof31sF;top;la1;ght5;arby,cessa4ighbor5wlyw0xt;k0usiaFv3;ti8;aQeNiLoHuF;dIltiF;facet0p6;deHlGnFot,rbBst;ochro4Yth5;dy;rn,st;ddle ag0nF;dbloZi,or;ag9diocEga,naGrFtropolit4R;e,ry;ci8;cIgenta,inHj0Fkeshift,mmGnFri4Pscu62ver18;da5Ey;ali4Mo4V;!stream;abEho;aOeLiIoFumberi8;ngFuti1S;stan3StF;erm,i4I;ghtGteraF;l,ry,te;heart0wei5P;ft-JgFss9th3;al,eFi0M;nda4;nguBps0te5;apGind5noF;wi8;ut;ad0itte4uniW;ce co0Hgno6Nll0Cm04nHpso 2VrF;a2releF;va1; ZaYcoWdReQfOgrNhibi4Si05nMoLsHtFvalu5N;aAeF;nDrdepe2L;a7iGolFuboI;ub6ve1;de,gF;nifica1;rdi5O;a2er;own;eriIiLluenVrF;ar0eq5I;pt,rt;eHiGoFul1P;or;e,reA;fiFpe27termi5F;ni2;mpFnsideCrreA;le2;ccuCdeq5Fne,ppr4K;fFsitu,vitro;ro1;mJpF;arHeGl16oFrop9;li2r12;n2MrfeA;ti3;aGeFi19;d4CnD;tuE;egGiF;c0ZteC;al,iF;tiF;ma2;ld;aOelNiLoFuma7;a4meInHrrGsFur5;ti6;if4F;e59o3V; ma3HsF;ick;ghfalut2IspF;an4A;li01pf34;i4llow0ndGrdFtN; 06coEworki8;sy,y;aMener45iga3Clob3oLrGuF;il1Ong ho;aGea1GizF;zl0;cGtF;ef2Vis;ef2U;ld3Aod;iFuc2D;nf2R;aVeSiQlOoJrF;aGeFil5ug3;q43tf2O;gFnt3S;i6ra1;lk13oHrF; keeps,eFge0Vm9tu41;g0Ei2Ds3R;liF;sh;ag4Mowe4uF;e1or45;e4nF;al,i2;d Gmini7rF;ti6ve1;up;bl0lDmIr Fst pac0ux;oGreacF;hi8;ff;ed,ili0R;aXfVlTmQnOqu3rMthere3veryday,xF;aApIquisi2traHuF;be48lF;ta1;!va2L;edRlF;icF;it;eAstF;whi6; Famor0ough,tiE;rou2sui2;erGiF;ne1;ge1;dFe2Aoq34;er5;ficF;ie1;g9sF;t,ygF;oi8;er;aWeMiHoGrFue;ea4owY;ci6mina1ne,r31ti8ubQ;dact2Jfficult,m,sGverF;ge1se;creGePjoi1paCtF;a1inA;et,te; Nadp0WceMfiLgeneCliJmuEpeIreliAsGvoF;id,ut;pFtitu2ul1L;eCoF;nde1;ca2ghF;tf13;a1ni2;as0;facto;i5ngero0I;ar0Ce09h07i06l05oOrIuF;rmudgeon5stoma4teF;sy;ly;aIeHu1EystalF; cleFli7;ar;epy;fFv17z0;ty;erUgTloSmPnGrpoCunterclVveFy;rt;cLdJgr21jIsHtrF;aFi2;dic0Yry;eq1Yta1;oi1ug3;escenFuN;di8;a1QeFiD;it0;atoDmensuCpF;ass1SulF;so4;ni3ss3;e1niza1;ci1J;ockwiD;rcumspeAvil;eFintzy;e4wy;leGrtaF;in;ba2;diac,ef00;a00ePiLliJoGrFuck nak0;and new,isk,on22;gGldface,naF; fi05fi05;us;nd,tF;he;gGpartisFzarE;an;tiF;me;autifOhiNlLnHsFyoN;iWtselF;li8;eGiFt;gn;aFfi03;th;at0oF;v0w;nd;ul;ckwards,rF;e,rT; priori,b13c0Zd0Tf0Ng0Ihe0Hl09mp6nt06pZrTsQttracti0MuLvIwF;aGkF;wa1B;ke,re;ant garGeraF;ge;de;diIsteEtF;heFoimmu7;nt07;re;to4;hGlFtu2;eep;en;bitIchiv3roHtF;ifiFsy;ci3;ga1;ra4;ry;pFt;aHetizi8rF;oprF;ia2;llFre1;ed,i8;ng;iquFsy;at0e;ed;cohKiJkaHl,oGriFterX;ght;ne,of;li7;ne;ke,ve;olF;ic;ad;ain07gressiIi6rF;eeF;ab6;le;ve;fGraB;id;ectGlF;ue1;ioF;na2; JaIeGvF;erD;pt,qF;ua2;ma1;hoc,infinitum;cuCquiGtu3u2;al;esce1;ra2;erSjeAlPoNrKsGuF;nda1;e1olu2trF;aAuD;se;te;eaGuF;pt;st;aFve;rd;aFe;ze;ct;ra1;nt",Pronoun:"true¦'em,elle,h3i2me,she4th0us,we,you;e0ou;e,m,y;!l,t;e0im;!'s",Preposition:"true¦-,aPbMcLdKexcept,fIinGmid,notwithstandiWoDpXqua,sCt7u4v2w0;/o,hereSith0;! whHin,oW;ersus,i0;a,s-a-vis;n1p0;!on;like,til;h1ill,oward0;!s;an,ereby,r0;ough0u;!oM;ans,ince,o that,uch G;f1n0ut;!to;!f;! 0to;effect,part;or,r0;om;espite,own,u3;hez,irca;ar1e0oBy;sides,tween;ri7;bo8cross,ft7lo6m4propos,round,s1t0;!op;! 0;a whole,long 0;as;id0ong0;!st;ng;er;ut",SportsTeam:"true¦0:1A;1:1H;2:1G;a1Eb16c0Td0Kfc dallas,g0Ihouston 0Hindiana0Gjacksonville jagua0k0El0Bm01newToQpJqueens parkIreal salt lake,sAt5utah jazz,vancouver whitecaps,w3yW;ashington 3est ham0Rh10;natio1Oredski2wizar0W;ampa bay 6e5o3;ronto 3ttenham hotspur;blue ja0Mrapto0;nnessee tita2xasC;buccanee0ra0K;a7eattle 5heffield0Kporting kansas0Wt3;. louis 3oke0V;c1Frams;marine0s3;eah15ounG;cramento Rn 3;antonio spu0diego 3francisco gJjose earthquak1;char08paA; ran07;a8h5ittsburgh 4ortland t3;imbe0rail blaze0;pirat1steele0;il3oenix su2;adelphia 3li1;eagl1philNunE;dr1;akland 3klahoma city thunder,rlando magic;athle0Mrai3;de0; 3castle01;england 7orleans 6york 3;city fc,g4je0FknXme0Fred bul0Yy3;anke1;ian0D;pelica2sain0C;patrio0Brevolut3;ion;anchester Be9i3ontreal impact;ami 7lwaukee b6nnesota 3;t4u0Fvi3;kings;imberwolv1wi2;rewe0uc0K;dolphi2heat,marli2;mphis grizz3ts;li1;cXu08;a4eicesterVos angeles 3;clippe0dodDla9; galaxy,ke0;ansas city 3nE;chiefs,roya0E; pace0polis colU;astr06dynamo,rockeTtexa2;olden state warrio0reen bay pac3;ke0;.c.Aallas 7e3i05od5;nver 5troit 3;lio2pisto2ti3;ge0;broncZnuggeM;cowbo4maver3;ic00;ys; uQ;arCelKh8incinnati 6leveland 5ol3;orado r3umbus crew sc;api5ocki1;brow2cavalie0india2;bengaWre3;ds;arlotte horAicago 3;b4cubs,fire,wh3;iteB;ea0ulR;diff3olina panthe0; c3;ity;altimore 9lackburn rove0oston 5rooklyn 3uffalo bilN;ne3;ts;cel4red3; sox;tics;rs;oriol1rave2;rizona Ast8tlanta 3;brav1falco2h4u3;nited;aw9;ns;es;on villa,r3;os;c5di3;amondbac3;ks;ardi3;na3;ls",Unit:"true¦a09b06cZdYexXfTgRhePin00joule0DkMlJmDnan0AoCp9quart0Dsq ft,t7volts,w6y2ze3°1µ0;g,s;c,f,n;dXear1o0;ttT; 0s 0;old;att06b;erPon0;!ne04;ascals,e1i0;cZnt02;rcent,tL;hms,uI;/s,e4i0m²,²,³;/h,cro2l0;e0liM;!²;grNsT;gEtL;it1u0;menSx;erRreR;b5elvins,ilo1m0notQ;/h,ph,²;!byIgrGmEs;ct0rtzN;aLogrE;allonLb0ig5rD;ps;a2emtGl0t6; oz,uid ou0;nceH;hrenheit,radG;aby9;eci3m1;aratDe1m0oulombD;²,³;lsius,nti0;gr2lit1m0;et0;er8;am7;b1y0;te5;l,ps;c2tt0;os0;econd1;re0;!s",PhrasalVerb:"true¦0:92;1:96;2:8H;3:8V;4:8A;5:83;6:85;7:98;8:90;9:8G;A:8X;B:8R;C:8U;D:8S;E:70;F:97;G:8Y;H:81;I:7H;J:79;K:4G;a9Gb7Vc6Sd6Me6Kf5Ig51h4Ciron0j48k41l3Fm32n2Zo2Xp2Dquiet Hr1Ys0Lt00uYvacuu6RwOyammerBzL;ero Dip MonL;e0k0;by,ov9up;aReNhMiLor0Nrit1A;mp0n3Gpe0r5s5;ackAeel Di0T;aMiLn34;gh 3Xrd0;n Dr L;do1in,oJ;it 7Ak5lk Mrm 6Ash Lt84v60;aw3do1o7up;aw3in,oC;rgeBsL;e 2herE;a01eZhWiSoRrNuLypQ;ckErn L;do1in,oJup;aMiLot0y 31;ckl80p F;ck HdL;e 5Z;n7Xp 3Fs5K;ck NdMe Lghten 6me0p o0Sre0;aw3ba4do1in,up;e Iy 2;by,oG;ink Mrow L;aw3ba4in,up;ba4ov9up;aLe 78ll63;m 2r 5N;ckBke Mlk L;ov9shit,u48;aLba4do1in,leave,o66up;ba4ft9pa6Aw3;a0Wc0Ue0Nh0Ji0Gl0Am09n08o07p02quar5HtRuPwL;earNiL;ngMtch L;aw3ba4o8L; by;cLi6Cm 2ss0;k 65;aSeRiQoOrLud36;aigh2Eet76iL;ke 7Tng L;al6Zup;p Lrm2G;by,in,oG;cKnKr 2tc4O;p F;cKmp0nd MrLveAy 2P;e Ht 2M;ba4do1up;arKeOiNlMrLurB;ead0ingBuc5;a49it 6I;c5ll o3Dn 2;ak Fe1Yll0;aKber 2rt0und like;ap 5Wow Duggl5;ash 6Ooke0;eep OiLow 6;cMp L;o6Eup;e 69;in,oL;ff,v9;de1Agn 4OnLt 6Hz5;gLkE; al6Ble0;aNoLu5X;ot Lut0w 7N;aw3ba4f48oC;cKdeEk6FveA;e Qll1Ond Prv5tL; Ltl5K;do1foMin,o7upL;!on;ot,r60;aw3ba4do1in,o4Wup;oCto;al67out0rL;ap66ew 6K;ilAv5;aYeViToPuL;b 5Zle0n Lstl5;aMba4do1inLo2Jth4Ou5Q;!to;c2Xr8w3;ll Not MpeAuL;g3Ind18;a2Wf3Po7;ar8in,o7up;ng 69p oLs5;ff,p19;aLelAinEnt0;c6Id L;o3Oup;cKt0;a00eZiXlUoRrPsyc35uL;ll Nn5Lt L;aLba4do1in,oJto48up;pa4Ew3;a3Kdo1in,o22to46up;attleBess LiOop 2;ah2Fon;iMp Lr50u1Hwer 6O;do1in,o6Oup;nt0;aMuL;gEmp 6;ce u21y 6E;ck Lg0le 4Bn 6p5C;oJup;el 5OncilE;c54ir 3An0ss NtMy L;ba4oG; Hc2R;aw3ba4in,oJ;pLw4Z;e4Yt D;aMerd0oL;dAt54;il Hrrow H;aUeRiQoMuL;ddl5ll I;cKnkeyNp 6uthAve L;aLdo1in,o4Mup;l4Ow3; wi4L;ss0x 2;asur5e3TlMss L;a21up;t 6;ke Mn 6rLs2Ax0;k 6ryA;do,fun,oCsure,up;a03eWiRoMuL;ck0st I;aOc4Gg NoLse0;k Lse4E;aft9ba4do1forw38in57o10u47;in,oJ;d 6;e OghtNnMsLve 01;ten F;e 2k 2; 2e47;ar8do1in;aNt MvelL; oC;do1go,in,o7up;nEve L;in,oL;pLut;en;c5p 2sh MtchBughAy L;do1o5A;in4Qo7;eNick Mnock L;do1oCup;oCup;eMy L;in,up;l Ip L;aw3ba4do1f05in,oJto,up;aNoMuL;ic5mpE;ke3Tt H;c44zz 2;a02eXiUoQuL;nMrrLsh 6;y 2;keMt L;ar8do1;r H;lLneErse3L;d Le 2;ba4dLfast,o25up;ear,o1;de Mt L;ba4on,up;aw3o7;aLlp0;d Nl Ir Lt 2;fLof;rom;f11in,o1WuX;cKm 2nMsh0ve Lz2Q;at,it,to;d Mg LkerQ;do1in,o2Uup;do1in,oL;ut,v9;k 2;aZeUive Sloss IoNrMunL; f0S;ab hold,in44ow 2V; Lof 2J;aNb1Nit,oMr8th1JuL;nd9;ff,n,v9;bo7ft9hQw3;aw3bLdo1in,oJrise,up,w3;a4ir2I;ar 6ek0t L;aLb1Gdo1in,o1Dr8up;cMhLl2Hr8t,w3;ead;ross;d aLng 2;bo7;a0Fe08iZlVoRrNuL;ck Le2P;ar8up;eMighten LownBy 2;aw3oG;eLshe29; 2z5;g 2lNol Lrk I;aLwi22;bo7r8;d 6low 2;aMeLip0;sh0;g 6ke0mLrLtten H;e F;gSlQnOrMsLzzle0;h F;e Lm 2;aw3ba4up;d0isL;h 2;e Ll 1V;aw3fQin,o7;ht ba4ure0;eQnMsL;s 2;cNd L;fLoG;or;e D;d06l 2;cPll Lrm0t1I;aNbMdo1in,oLsho0Gth0Avictim;ff,ut,v9;a4ehi2P;pa0D;e L;do1oGup;at Ldge0nd 13y5;in,o7up;aPi1IoOrL;aMess 6op LuO;aw3b04in,oC;gBwB; Ile0ubl1C;m 2;a0Bh06l03oPrMut L;aw3ba4do1oCup;ackBeep MoLy0;ss Dwd0;by,do1in,o0Vup;me OoMuntL; o2B;k 6l L;do1oG;aSbRforPin,oOtLu0P;hMoLrue;geth9;rough;ff,n,ut,v9;th,wL;ard;a4y;paLr8w3;rt;eaMose L;in,oCup;n 6r F;aOeMiL;ll0pE;ck Der Lw F;on,up;t 2;lSncel0rPsNtch MveE; in;o1Oup;h Dt L;doubt,oG;ry MvL;e 09;aw3oJ;l Lm H;aMba4do1oJup;ff,n,ut;r8w3;a0We0NiteAl0Go05rRuL;bblOckl06il0Elk 6ndl06rMsLtNy FzzA;t 01;n 0IsL;t D;e I;ov9;anXeaViMush L;oGup;ghRng L;aOba4do1forNin,oMuL;nd9p;n,ut;th;bo7lLr8w3;ong;teL;n 2;k L;do1in,o7up;ch0;arUg 6iSn5oQrOssNttlMunce Lx D;aw3ba4;e 6; ar8;e H;do1;k Dt 2;e 2;l 6;do1up;d 2;aQeed0oLurt0;cNw L;aw3ba4do1o7up;ck;k L;in,oC;ck0nk0stA; oRaOef 2lt0nd L;do1ov9up;er;up;r Mt L;do1in,oCup;do1o7;ff,nL;to;ck Qil0nNrgMsL;h D;ainBe D;g DkB; on;in,o7;aw3do1in,oCup;ff,ut;ay;ct FdRir0sk NuctionA; oG;ff;ar8o7;ouL;nd; o7;d L;do1oLup;ff,n;wn;o7up;ut","Noun|Gerund":"true¦0:27;1:26;2:1X;3:1J;4:1Z;a25b1Oc1Cd16en14f0Yg0Wh0Ti0Rjog20k0Pl0Lm0In0Go0Cp05ques08rWsFtBu9volunt15w5y17zo2;a7ed1Si3or6r5;ap1Oest1Ci1;ki0r1O;i1r2s1Utc1U;nder5pri23;st1Mta4;al4e7hin4i6ra5y1J;c4di0i2v0Z;mi0p1H;a1Ys1;aKcHeGhEin1PkatClZmo4nowBpeAt8u6w5;ea3im1U;f02r5;fi0vi0J;a1Lretc1Ju5;d1BfJ;l0Xn1C;b6i0;eb5i0;oar19;ip15o5;rte2u1;a1r0At1;h6o3re5;a1He2;edu0Ooo0O;i0Nyi0;aCe8i11o6u5;li0n2;o5wi0;fi0;a7c6hear1Cnde3por1struct5;r1Au3;or0Vyc0G;di0so2;p0Qti0;aAeacek9la8o6r5ublis0X;a0Peten0Rin1oces16;iso2si5;tio2;n2yi0;ee0K;cka0Tin1rt0K;f7pe6rgani5vula1;si0zi0;ni0ra1;fe3;e5ur0W;gotia1twor4;a6e5i2onito3;e1ssa0L;nufactu3rke1;a7ea6i5od0Jyi0;cen0Qf1s1;r2si0;n09ug0E;i5n0J;c4lS;ci0magi2n5ro2;nova1terac1;andPea1i6o5un1;l03wO;ki0ri0;athe3rie5ui01;vi0;ar0CenHi7l6or5ros1unZ;ecas1mat1;ir1ooX;l6n5;anDdi0;i0li0;di0gin5;ee3;a8eba1irec1oub1r6umOw5;elB;awi0es04i5;n4vi0;n5ti0;ci0;aEelebra1hClAo7r5ur6;aw5osZ;li0;a6di0lo3mplai2n5o4pi0ve3;duc1sul1;cLti0;apCea3imHo5ubH;ni0tJ;a5ee3;n1t1;m8s1te3;ri0;aIeFitDlCoAr8u5;il8ll6r5;pi0;yi0;an5;di0;a1m5o4;bi0;esGoa1;c5i0;hi0;gin2lon5t1;gi0;ni0;bys6c4ki0;ki0;it1;c8dverti7gi0rg6ssu5;mi0;ui0;si0;coun1ti0;ti0;ng",ProperNoun:"true¦barbie,c4diego,e3f2iron maiden,kirby,m0nis,riel,stevens;ercedes,i0;ckey,ssy;inn,lorence,ranco;lmo,uro;atalina,hristi",Ordinal:"true¦eBf7nin5s3t0zeroE;enDhir1we0;lfCn7;d,t3;e0ixt8;cond,vent7;et0th;e6ie7;i2o0;r0urt3;tie4;ft1rst;ight0lev1;e0h,ie1;en0;th",Cardinal:"true¦bEeBf5mEnine7one,s4t0zero;en,h2rDw0;e0o;lve,n5;irt6ousands,ree;even2ix2;i3o0;r1ur0;!t2;ty;ft0ve;e2y;ight0lev1;!e0y;en;illions",Multiple:"true¦b3hundred,m3qu2se1t0;housand,r2;pt1xt1;adr0int0;illion",City:"true¦0:77;1:64;2:6J;3:6M;4:5V;a6Bb56c4Ld4Be47f3Zg3Kh3Ci33j2Yk2Hl25m1Nn1Do1Ap0Xq0Vr0Os05tRuQvLwDxiBy9z5;a7h5i4Puri4R;a5e5ongsh0;ng3K;greb,nzib5J;ang2e5okoha3Vunfu;katerin3Krev0;a5n0R;m5Kn;arsBeAi6roclBu5;h0xi,zh5S;c7n5;d5nipeg,terth4;hoek,s1N;hi62kl3D;l66xford;aw;a8e6i5ladivost5Polgogr6O;en3lni6V;ni24r5;n2o3saill4Q;lenc4Zncouv3Vr3ughn;lan bat1Erumqi,trecht;aFbilisi,eEheDiBo9r7u5;l23n66r5;in,ku;i5ondh65;es54poli;kyo,m32ron1Rulo5;n,uS;an5jua3l2Wmisoa6Era3;j4Wshui; hag65ssaloni2K;gucigal28hr0l av1W;briz,i6llinn,mpe59ng5rtu,shk2U;i3Hsh0;an,chu1n0p2Hyu0;aEeDh8kopje,owe1It7u5;ra5zh50;ba0It;aten is58ockholm,rasbou6Auttga2Y;an8e6i5;jiazhua1llo1m60y0;f53n5;ya1zh4K;gh3Nt4T;att48o1Yv47;cramen18int ClBn5o paulo,ppo3Urajevo; 7aa,t5;a 5o domin3H;a3fe,m1O;antonBdie3Ffrancisco,j5ped3Qsalvad0L;o5u0;se;em,t lake ci5Iz28;lou5Bpeters27;aAe9i7o5;me,sar5t5C;io;ga,o5yadh;! de janei3H;cife,ims,nn3Lykjavik;b4Uip4lei2Knc2Rwalpindi;ingdao,u5;ez2i0R;aFeEhDiCo9r7u6yong5;ya1;eb5Bya1;a5etor3O;g54to;rt5zn0; 5la4Eo;au prin0Nelizabe26sa04;ls3Rrae5Ctts28;iladelph3Inom pe1Coenix;ki1r23tah tik3G;dua,lerZnaji,r4Qt5;na,r34;ak46des0Lm1Or6s5ttawa;a3Xlo;an,d07;a7ew5ing2Hovosibir1Lyc; 5cast38;del26orlea46taip16;g8iro4Yn5pl2Yshv35v0;ch6ji1t5;es,o1;a1o1;a6o5p4;ya;no,sa0Y;aFeCi9o6u5;mb2Cni28sc40;gadishu,nt6s5;c15ul;evideo,pelli1Tre31;ami,l6n16s5;kolc,sissauga;an,waukee;cca,d5lbour2Omph43ndo1Essi3;an,ell5i3;in,ín;cau,drAkass2Tl9n8r5shh4B;aca6ib5rakesh,se2M;or;i1Ty;a4FchFdal10i48;mo;id;aDeAi8o6u5vSy2;anMckn0Pdhia3;n5s angel27;d2g bea1O;brev2Ce3Mma5nz,sb2verpo29;!ss28; ma3Ai5;c5pzig;est17; p6g5ho2Xn0Dusan25;os;az,la34;aHharFiClaipeBo9rak0Eu7y5;iv,o5;to;ala lump4n5;mi1sh0;hi0Ilka2Ypavog4si5wlo2;ce;da;ev,n5rkuk;gst2sha5;sa;k5toum;iv;bIdu3llakuric0Rmpa3Gn6ohsiu1ra5un1Jwaguc0R;c0Qj;d5o,p4;ah1Uy;a7e6i5ohannesW;l1Wn0;dd37rusalem;ip4k5;ar2I;bad0mph1PnBrkutVs8taYz5̇zm7;m6tapala5;pa;ir;fah0l6tanb5;ul;am2Zi2H;che2d5;ianap2Mo20;aAe7o5yder2W; chi mi5ms,nolulu;nh;f6lsin5rakli2;ki;ei;ifa,lifax,mCn5rb1Dva3;g8nov01oi;aFdanEenDhCiPlasgBo9raz,u5;a5jr23;dal6ng5yaquil;zh1J;aja2Oupe;ld coa1Bthen5;bu2S;ow;ent;e0Uoa;sk;lw7n5za;dhi5gt1E;nag0U;ay;aisal29es,o8r6ukuya5;ma;ankfu5esno;rt;rt5sh0; wor6ale5;za;th;d5indhov0Pl paso;in5mont2;bur5;gh;aBe8ha0Xisp4o7resd0Lu5;b5esseldorf,nkirk,rb0shanbe;ai,l0I;ha,nggu0rtmu13;hradSl6nv5troit;er;hi;donghIe6k09l5masc1Zr es sala1KugavpiY;i0lU;gu,je2;aJebu,hAleve0Vo5raio02uriti1Q;lo7n6penhag0Ar5;do1Ok;akKst0V;gUm5;bo;aBen8i6ongqi1ristchur5;ch;ang m7ca5ttago1;go;g6n5;ai;du,zho1;ng5ttogr14;ch8sha,zh07;gliari,i9lga8mayenJn6pe town,r5tanO;acCdiff;ber1Ac5;un;ry;ro;aWeNhKirmingh0WoJr9u5;chareTdapeTenos air7r5s0tu0;g5sa;as;es;a9is6usse5;ls;ba6t5;ol;ne;sil8tisla7zzav5;il5;le;va;ia;goZst2;op6ubaneshw5;ar;al;iCl9ng8r5;g6l5n;in;en;aluru,hazi;fa6grade,o horizon5;te;st;ji1rut;ghd0BkFn9ot8r7s6yan n4;ur;el,r07;celo3i,ranquil09;ou;du1g6ja lu5;ka;alo6k5;ok;re;ng;ers5u;field;a05b02cc01ddis aba00gartaZhmedXizawl,lSmPnHqa00rEsBt7uck5;la5;nd;he7l5;an5;ta;ns;h5unci2;dod,gab5;at;li5;ngt2;on;a8c5kaOtwerp;hora6o3;na;ge;h7p5;ol5;is;eim;aravati,m0s5;terd5;am; 7buquerq6eppo,giers,ma5;ty;ue;basrah al qadim5mawsil al jadid5;ah;ab5;ad;la;ba;ra;idj0u dha5;bi;an;lbo6rh5;us;rg",Region:"true¦0:2N;1:2T;2:2K;a2Qb2Dc1Zd1Ues1Tf1Rg1Lh1Hi1Cj18k13l10m0Pn07o05pZqWrTsKtFuCv9w5y3zacatec2U;akut0o0Du3;cat2k07;a4est 3isconsin,yomi1M;bengal,vi6;rwick2Bshington3;! dc;er4i3;rgin0;acruz,mont;dmurt0t3;ah,tar3; 2La0X;a5e4laxca1Rripu1Xu3;scaDva;langa1nnessee,x2F;bas0Vm3smNtar25;aulip2Dil nadu;a8i6o4taf11u3ylh1F;ffYrr04s1A;me1Cno1Quth 3;cVdU;ber0c3kkim,naloa;hu2ily;n4skatchew2xo3;ny; luis potosi,ta catari1;a3hode9;j3ngp07;asth2shahi;ingh25u3;e3intana roo;bec,en5reta0R;ara7e5rince edward3unjab; i3;sl0B;i,nnsylv3rnambu0B;an0;!na;axa0Ydisha,h3klaho20ntar3reg6ss0Bx0G;io;aJeDo5u3;evo le3nav0W;on;r3tt17va scot0;f8mandy,th3; 3ampton16;c5d4yo3;rk14;ako1N;aroli1;olk;bras1Mva0Cw3; 4foundland3;! and labrador;brunswick,hamp0Xjers4mexiSyork3;! state;ey;galOyarit;a9eghala0Mi5o3;nta1r3;dov0elos;ch5dlanCn4ss3zor11;issippi,ouri;as geraOneso18;ig2oac2;dhy12harasht0Gine,ni4r3ssachusetts;anhao,i el,ylF;p3toba;ur;anca0Ie3incoln0IouisH;e3iR;ds;a5e4h3omi;aka06ul1;ntucky,ra01;bardino,lmyk0ns0Qr3;achay,el0nata0X;alis5har3iangxi;kh3;and;co;daho,llino6n3owa;d4gush3;et0;ia1;is;a5ert4i3un2;dalFm0D;fordZ;mpYrya1waii;ansu,eorg0lou7oa,u3;an4erre3izhou,jarat;ro;ajuato,gdo3;ng;cesterS;lori3uji2;da;sex;ageTe6o4uran3;go;rs3;et;lawaLrbyK;aEeaDh8o3rimea ,umbr0;ahui6l5nnectic4rsi3ventry;ca;ut;i02orado;la;e4hattisgarh,i3uvash0;apQhuahua;chn4rke3;ss0;ya;ra;lFm3;bridge6peche;a8ihar,r7u3;ck3ryat0;ingham3;shi3;re;emen,itish columb0;h0ja cal7lk6s3v6;hkorto3que;st2;an;ar0;iforn0;ia;dygea,guascalientes,lAndhr8r4ss3;am;izo1kans4un3;achal 6;as;na;a 3;pradesh;a5ber4t3;ai;ta;ba4s3;ka;ma",Country:"true¦0:39;1:2M;a2Xb2Ec22d1Ye1Sf1Mg1Ch1Ai14j12k0Zl0Um0Gn05om3DpZqat1KrXsKtCu6v4wal3yemTz2;a25imbabwe;es,lis and futu2Y;a2enezue32ietnam;nuatu,tican city;.5gTkraiZnited 3ruXs2zbeE;a,sr;arab emirat0Kkingdom,states2;! of am2Y;k.,s.2; 28a.;a7haBimor-les0Bo6rinidad4u2;nis0rk2valu;ey,me2Ys and caic1U; and 2-2;toba1K;go,kel0Znga;iw2Wji2nz2S;ki2U;aCcotl1eBi8lov7o5pa2Cri lanka,u4w2yr0;az2ed9itzerl1;il1;d2Rriname;lomon1Wmal0uth 2;afr2JkLsud2P;ak0en0;erra leoEn2;gapo1Xt maart2;en;negKrb0ychellY;int 2moa,n marino,udi arab0;hele25luc0mart20;epublic of ir0Dom2Duss0w2;an26;a3eHhilippinTitcairn1Lo2uerto riM;l1rtugE;ki2Cl3nama,pua new0Ura2;gu6;au,esti2;ne;aAe8i6or2;folk1Hth3w2;ay; k2ern mariana1C;or0N;caragua,ger2ue;!ia;p2ther19w zeal1;al;mib0u2;ru;a6exi5icro0Ao2yanm05;ldova,n2roc4zamb9;a3gol0t2;enegro,serrat;co;c9dagasc00l6r4urit3yot2;te;an0i15;shall0Wtin2;ique;a3div2i,ta;es;wi,ys0;ao,ed01;a5e4i2uxembourg;b2echtenste11thu1F;er0ya;ban0Hsotho;os,tv0;azakh1Ee3iriba03o2uwait,yrgyz1E;rWsovo;eling0Jnya;a2erF;ma15p1B;c6nd5r3s2taly,vory coast;le of m19rael;a2el1;n,q;ia,oI;el1;aiSon2ungary;dur0Mg kong;aAermany,ha0Pibralt9re7u2;a5ern4inea2ya0O;!-biss2;au;sey;deloupe,m,tema0P;e2na0M;ce,nl1;ar;bTmb0;a6i5r2;ance,ench 2;guia0Dpoly2;nes0;ji,nl1;lklandTroeT;ast tim6cu5gypt,l salv5ngl1quatorial3ritr4st2thiop0;on0; guin2;ea;ad2;or;enmark,jibou4ominica3r con2;go;!n B;ti;aAentral african 9h7o4roat0u3yprQzech2; 8ia;ba,racao;c3lo2morPngo-brazzaville,okFsta r03te d'ivoiK;mb0;osD;i2ristmasF;le,na;republic;m2naTpe verde,yman9;bod0ero2;on;aFeChut00o8r4u2;lgar0r2;kina faso,ma,undi;azil,itish 2unei;virgin2; is2;lands;liv0nai4snia and herzegoviGtswaGuvet2; isl1;and;re;l2n7rmuF;ar2gium,ize;us;h3ngladesh,rbad2;os;am3ra2;in;as;fghaFlCmAn5r3ustr2zerbaijH;al0ia;genti2men0uba;na;dorra,g4t2;arct6igua and barbu2;da;o2uil2;la;er2;ica;b2ger0;an0;ia;ni2;st2;an",Place:"true¦a00bYcUdTeSfRgMhLiJjfk,kHlFmDnBorAp8r7s6t3u2vostok,wake isCy0;a0yz;kutGngtze;laanbaatar,pT;ahiti,h0;amWe 0;bronx,hamptons;akhalIeine,fo,oho,under5yd;ed sea,io grande;acifWek,h0itcairn;l,x;ange county,d,inoco;ew eng0ile;land;a0co,ekong,idIuc;gadSlibu,nhattS;a0gw,hr;s,x;osrae,rasnoyar0ul;sk;ax,cn,nd0st;ianLochina;arlem,kg,nd,ovd;a3odavari,re0;at 0enwich;brita0lakC;in;ngAy village;co,ra;urope,verglad8;anube,en,fw,own2xb;dg,gk,h0lt;a1ina0uuk;town;morro,tham;cn,e0kk,rooklyn;l air,verly hills;driadic,frica,m7n2r3sia,tl1zor0;es;!ant2;adyr,tar0;ct0;ic0; oce0;an;ericas,s",WeekDay:"true¦fri2mon2s1t0wednesd3;hurs1ues1;aturd1und1;!d0;ay0;!s",Month:"true¦dec0february,july,nov0octo1sept0;em0;ber",Date:"true¦ago,on4som4t1week0yesterd5; end,ends;mr1o0;d2morrow;!w;ed0;ay",Duration:"true¦centurAd8h7m5q4se3w1y0;ear8r8;eek0k7;!end,s;ason,c5;tr,uarter;i0onth3;llisecond2nute2;our1r1;ay0ecade0;!s;ies,y",FemaleName:"true¦0:IS;1:IW;2:I5;3:I4;4:IM;5:I9;6:JD;7:GQ;8:J9;9:J5;A:HD;B:HN;C:IE;D:J2;E:II;F:H2;G:C4;H:HP;aGIbFDcDJdCSeBIfB0gAAh9Qi9Dj8Ck7Cl5Wm46n3Ko3Gp34qu33r2Bs16t0Fu0Dv03wWxiUyPzI;aMeJineb,oIsof2;e3Rf2la,ra;h3iLlJna,ynI;ab,ep;da,ma;da,h3iIra;nab;aLeKi0GolB3uJvI;etAonDH;i0na;le0sen2;el,gm3Gn,rGAs8T;aoIme0nyi;m5YyAA;aNendDRhiD8iI;dele9lKnI;if45niIo0;e,f44;a,helmi0lIma;a,ow;ka0nB;aOeLiIusa5;ck82kJlAole7viI;anGenIQ;ky,toriBE;da,lA5rIs0;a,nIoniGV;a,iFH;leInesGV;nI7rI;i1y;g9rIxGW;su5te;aZeVhSiOoMrJuIy3;i,la;acIPiIu0L;c2na,sI;hGta;nIr0H;iGya;aKffaEGnIs6;a,gtiI;ng;!nFHra;aJeIomasi0;a,l9Lo87res1;l2ndolwethu;g9Co85rJssI;!a,ie;eIi,ri8;sa,za;bPlNmLnJrIs6tia0wa0;a60yn;iIya;a,ka,s6;arGe3iIm75ra;!ka;a,iI;a,t6;at6it6;a0Gcarlett,e0ChYiUkye,neza0oStOuJyI;bI2lvi1;ha,mayI5ni7sJzI;an3KetAie,y;anIi8;!a,e,nI;aCe;aKeI;fIl5DphI;an4;cHQr5;b2fiA3m0MnIphi1;d3ia,ja,ya;er3lKmon1nJobh8MtI;a,i;dy;lEHv2;aNeJirIo0risEZy5;a,lDD;ba,e0i5lKrI;iIr6Gyl;!d8Efa;ia,lDP;hd,iNki3nKrJu0w0yI;la,ma,na;i,le9on,ron;aJda,ia,nIon;a,on;!ya;k6mI;!aa;lKrJtaye7YvI;da,inj;e0ife;en1i0ma;anA0bMd3Kh1PiBkLlKmJnd3rIs6vannaC;aCi0;ant6i3;lDEma,ome;ee0in8Ou3;in1ri0;a05e00hYiVoIuthDC;bTcSghRl8GnQsKwJxI;anAUie,y;an,e0;aJeIie,lD; merBIann8ll1marD6t7;!lInn1;iIyn;e,nI;a,dG;da,i,na;ayy8B;hel63io;bDFer7yn;a,cJkImas,nGta,ya;ki,o;helHki;ea,iannG7oI;da,n1L;an0bKemGgi0iJnIta,y0;a86ee;han81na;a,eI;cE5kaC;bi0chJe,i0mo0nIquEFy0;di,ia;aEDelIiB;!e,le;een4ia0;aOeNhLipaluk,oKrIute67;iIudenCL;scil3LyamvaB;lly,rt2;ilome0oebe,ylI;is,lis;ggy,nelope,r5t3;ige,m0UnLo5rvaDBtJulI;a,etAin1;ricIt4T;a,e,ia;do3i07;ctav2dJfCUis6lIphCUumBYyunbileg;a,ga,iv2;eIvA9;l2tA;aXeViNoJurIy5;!ay,ul;a,eKor,rJuI;f,r;aCeEma;ll1mi;aOcMhariBJkLlaKna,sIta,vi;anIha;ur;!y;a,iDNki;hoHk9SolI;a,eDE;!mh;hir,lIna,risFsreE;!a,lBO;asuMdLh2i6Cl5nKomi8rgEJtIzanin zah3;aIhal4;li1s6;cy,etA;e9iEP;nngu30;a0Ackenz4e02iNoKrignayani,uriD8yI;a,rI;a,lOna,tH;bi0i3llBDnI;a,iI;ca,ka,qCY;a,cUkaTlOmi,nMrJtzi,yI;ar;aJiam,lI;anEI;!l,nB;dy,eIh,n4;nhHrva;aLdKiCKlI;iIy;cent,e;red;!gros;!e5;ae5hI;ae5el40;ag5EgOi,lLrI;edi77iJjem,on,yI;em,l;em,sF;an4iIliF;nIsC9;a,da;!an,han;b0DcANd0Be,g09ha,i08ja,l06n04rMsoum5YtLuJv80x9FyIz4;bell,ra,soB4;de,rI;a,eE;h8Cild1t4;a,cYgUiLjor4l7Qn4s6tKwa,yI;!aIbe6Uja9lA9;m,nBC;a,ha,in1;!aKbC6eJja,lDna,sIt62;!a,ol,sa;!l1H;! Kh,mJnI;!a,e,n1;!awit,i;aliACcJeduarBfern5EjIlui5W;o6Dul2;ecil2la3;arKeJie,oIr46ueriA;!t;!ry;et44i39;el4Vi75y;dIon,ue5;akran7y;ak,en,iIlo3Q;a,ka,nB;a,re,s4te;daIg4;!l3C;alDd4elIge,isD6on0;ei9in1yn;el,le;a0Oe0DiZoRuMyI;d2la,nI;!a,dJeBCnIsCG;!a,eBB;a,sCE;aCRcKel0QiFlJna,pIz;e,i7;a,u,wa;iIy;a0Te,ja,l2LnB;is,l1TrKttJuIvel4;el5is1;e,ie;aLeJi8na,rI;a84i8;lIn1t7;ei;!in1;aTbb98dSepa,lNnKsJv2zI;!a,be5KetAz4;a,etA;!a,dI;a,sIy;ay,ey,i,y;a,iKja,lI;iIy;a9We;!aI;!nG;ia,ya;!nI;!a,ne;aQda,e0iOjZla,nNoLsKtIx4y5;iIt4;c2t2;e2NlCB;la,nIra;a,ie,o3;a,or1;a,gh,laI;!ni;!h,nI;a,d3e,n5O;cPdon93iOkes6mi96na,rNtKurJvIxmi,y5;ern1in2;a,e53ie,yn;as6iJoI;nya,ya;fa,s6;a,isF;a,la;ey,ie,y;a05e00hYiPlAFoOrKyI;lIra;a,ee,ie;istIy6B;a,en,iJyI;!na;!e,n58;nul,ri,urtnAV;aPerOlAUmKrIzzy;a,stI;en,in;!berlJmernI;aq;eIi,y;e,y;a,stE;!na,ra;aIei3ongordzol;dij1w5;el7MiLjsi,lKnJrI;a,i,ri;d3na,za;ey,i,lB8s4y;ra,s6;bi7cAEdiat7EeAXiSlRmQnyakuma1BrOss6HtLvi7yI;!e,lI;a,eI;e,i8H;a6BeJhIi4MlDri0y;ar69er69ie,leErAXy;!lyn8Cri0;a,en,iIl5Qoli0yn;!ma,nGsF;a5il1;ei8Ai,l4;a,tl6I;a09eZiWoOuI;anMdLliIst61;a8DeIsF;!n9tI;!a,te;e5Hi3Iy;a,i7;!anOcelDdNelHhan7NleMni,sJva0yI;a,ce;eIie;fIlDph5S;a,in1;en,n1;i8y;!a,e,n40;lIng;!i1DlI;!i1C;anOle0nLrKsI;i88sI;!e,i87;i,ri;!a,elHif2AnI;a,etAiIy;!e,f28;a,e89iJnI;a,e88iI;e,n1;cNda,mi,nJque4UsminGvie3y9zI;min8;a8eJiI;ce,e,n1s;!lIsFt0G;e,le;inJk4lDquelI;in1yn;da,ta;da,lSmQnPo0rOsJvaIzaro;!a0lu,na;aKiJlaIob7Z;!n9H;do3;belIdo3;!a,e,l37;a72en1i0ma;di3es,gr6Tji;a9elBogI;en1;a,e9iIo0se;a0na;aTePiKoIusFyacin29;da,ll4rten21snI;a,i9K;lJmaI;ri;aJdIlaJ;a,egard;ry;ath1AiKlJnriet7rmi9sI;sa,t19;en2Qga,mi;di;bi2Bil8ClOnNrKsJtIwa,yl8C;i5Nt4;n5Tti;iImo4Xri4Y;etI;!te;aCnaC;a,ey,l4;a03eXiSlQoOrLunKwI;enIyne1O;!dolD;ay,el;acieJetIiselB;a,chE;!la;ld19ogooI;sh;adys,enIor2yn2G;a,da,na;aLgi,lJna,ov84selIta;a,e,le;da,liI;an;!n0;mMnKorgJrI;ald3Ni,m3Atru86;etAi4S;a,eIna;s25vieve;ma;bJle,mIrnet,yH;al5Ji5;i5BrielI;a,l1;aUeRiQlorPoz2rI;anKeJiI;da,eB;da,ja;!cI;esJiIoi0N;n1s5X;!ca;a,enc2;en,o0;lJn0rnI;anB;ec2ic2;jr,n7rLtIy8;emJiIma,ouma7;ha,ma,n;eh;ah,iBrah,za0;cr4Ld0Oe0Ni0Mk7l05mXn4WrUsOtNuMvI;aKelJiI;!e,ta;inGyn;!ngel2S;geni1ni43;h5Qta;mMperanLtI;eJhIrel5;er;l2Zr8;za;a,eralB;iIma,nest2Jyn;cIka,n;a,ka;a,eNiKmI;aIie,y;!li9;lIn1;ee,iIy;a,e,ja;lIrald;da,y;aXeViOlNma,no3oLsKvI;a,iI;na,ra;a,ie;iIuiI;se;a,en,ie,y;a0c2da,f,nNsKzaI;!betIve7;e,h;aIe,ka;!beI;th;!a,or;anor,nG;!a;!in1na;leEs6;vi;eJiIna,wi0;e,th;l,n;aZeNh2iMjeneLoI;lor5Qminiq4Gn3DrItt4;a,eEis,la,othIthy;ea,y;ba;an0AnaCon9ya;anRbQde,ePiNlKmetr2nIsir5H;a,iI;ce,se;a,iJla,orIphi9;es,is;a,l6A;dIrdI;re;!d59na;!b2ForaCraC;a,d3nI;!a,e;hl2i0l0HmOnMphn1rJvi1WyI;le,na;a,by,cJia,lI;a,en1;ey,ie;a,etAiI;!ca,el1Bka,z;arIia;is;a0Se0Oh05i03lVoKristJynI;di,th2;al,i0;lQnNrJurI;tn1E;aKd2MiIn2Mri9;!nI;a,e,n1;!l4;cepci57n4sI;tanIuelo;ce,za;eIleE;en,tA;aKeoJotI;il4Z;!pat3;ir8rKudI;etAiI;a,ne;a,e,iI;ce,s00;a3er3ndI;i,y;aSeOloe,rI;isKyI;stI;al;sy,tI;a1Qen,iIy;an1e,n1;deKlseJrI;!i8yl;a,y;li9;nNrI;isLlJmI;ai9;a,eIotA;n1tA;!sa;d3elHtI;al,elH;cJlI;esAi42;el2ilI;e,ia,y;itlZlYmilXndWrOsMtIy5;aKeKhIri0;erIleErDy;in1;ri0;a32sI;a31ie;a,iOlMmeKolJrI;ie,ol;!e,in1yn;lIn;!a,la;a,eIie,o7y;ne,y;na,sF;a0Hi0H;a,e,l1;is7l4;in,yn;a0Ie02iZlXoUrI;andi8eRiKoJyI;an0nn;nwDoke;an3CdgMg0XtI;n2WtI;!aJnI;ey,i,y;ny;etI;!t8;an0e,nI;da,na;bbi8glarJlo06nI;i7n4;ka;ancIythe;a,he;an18lja0nIsm3I;i7tI;ou;aVcky,linUni7rQssPtKulaCvI;!erlI;ey,y;hKsy,tI;e,iIy8;e,na;!anI;ie,y;!ie;nIt6yl;adJiI;ce;etAi9;ay,da;!triI;ce,z;rbKyaI;rmI;aa;a3o3ra;a2Sb2Md23g1Zi1Qj5l16m0Xn0Aoi,r05sVtUuQvPwa,yJzI;ra,u0;aLes6gKlJseI;!l;in;un;!nI;a,na;a,i2I;drKgus1RrJsteI;ja;el2;a,ey,i,y;aahua,he0;hJi2Gja,mi7s2DtrI;id;aNlJraqIt21;at;eJi8yI;!n;e,iIy;gh;!nI;ti;iKleJo6pi7;ta;en,n1tA;aIelH;!n1J;a01dje5eZgViTjRnKohito,toIya;inetAnI;el5ia;!aLeJiImK;e,ka;!mItA;ar4;!belJliFmV;sa;!l1;a,eliI;ca;ka,sIta;a,sa;elIie;a,iI;a,ca,n1qI;ue;!tA;te;!bJmIstasiNya;ar2;el;aMberLeliKiIy;e,l2naI;!ta;a,ja;!ly;hHiJl2nB;da;a,ra;le;aXba,eQiNlLthKyI;a,c2sI;a,on,sa;ea;iIys0O;e,s0N;a,cJn1sIza;a,e,ha,on,sa;e,ia,ja;c2is6jaLksaLna,sKxI;aIia;!nd3;ia,saI;nd3;ra;ia;i0nJyI;ah,na;a,is,naCoud;la;c6da,leEmOnMsI;haClI;inIyZ;g,n;!h;a,o,slI;ey;ee;en;at6g4nJusI;ti0;es;ie;aXdiUelNrI;eKiI;anNenI;a,e,ne;an0;na;!aMeLiJyI;nn;a,n1;a,e;!ne;!iI;de;e,lDsI;on;yn;!lI;i9yn;ne;aLbJiIrM;!gaL;ey,i8y;!e;gaI;il;dLliyKradhJs6;ha;ya;ah;a,ya",FirstName:"true¦aLblair,cHdevGgabrieFhinaEjCk9l8m4quinn,re3s0;h0umit;ay,e0iloh;a,lby;g6ne;a1el0ina,org5;!okuh9;naia,r0;ion,lo;ashawn,uca;asCe1ir0rE;an;lsAnyat2rry;am0ess6ie,ude;ie,m5;ta;le;an,on;as2h0;arl0eyenne;ie;ey,sidy;lex2ndr1ubr0;ey;a,ea;is",Person:"true¦a0Ob0Hc08d05e02g01hZinez,jYkVlSmMnKoJpHr9s7t4v2w0xzibit,yanni;ar0ednesday adams,ill.i.am,oode;hol,rO;a0oltaiO;lentino rossi,n go7;a1heresa may,i0yra banks;ger woods,mbaQ;tum,ylor;a0carlett johanss03hakespeaJinbad,lobodan milosevic,ocratM;ddam hussain,ntigold;a6e5i4o2u0za;mi,n dmc,paul,sh limbau0;gh;d stewart,nald0thko;inho,o;hanYvaldo;ese witherspoVil9mbrandt;ffi,y roma03;a0e08ip07lato,oe,uff daddy;lm06ris hiltS;prah winfrWra;as,e0iles crane,ostradamP; yo,l3ttI;acklemo4essia3i1o0ubarek;by,lie3net,rrissS;randa ju0tt romnR;ly;en;re;ady gaga,e0iberaT;bron jam0e;es;anye west,e1iefer suther0obe bryant;land;ats,ndall,sha;aime,effersCk rowling;a0itlPulk hogan;lle berry,rrisA;ast9otye;ff1m0nya,zekiel;eril lagasse,inem;ie;a1e0ick wolf,rake;gas,nzel washingt4;lt3nB;ar5h3lint2o0;nfuci0olio;us;on;aucCy0;na;dinal wols1son0;! palm9;ey;a5e3o2ro0;ck,n0;te;no;ck,yon0;ce;nksy,rack obama;ristot1shton kutch0;er;le",LastName:"true¦0:9G;1:9W;2:9Y;3:9O;4:9I;5:8L;6:9L;7:A1;8:9F;9:8A;A:78;B:6G;C:6K;a9Vb8Nc7Ld6Ye6Tf6Fg5Wh59i55j4Qk45l3Nm2Sn2Fo27p1Oquispe,r18s0Ft05vVwOxNyGzD;aytsAEhD;aDou,u;ng,o;aGeun81iDoshiAAun;!lD;diDmaz;rim,z;maDng;da,guc98mo6VsDzaA;aAhiA8;iao,u;aHeGiEoDright,u;jc8Tng;lDmm0nkl0sniewsA;liA2s2;b0iss,lt0;a5Tgn0lDtanabe;k0sh;aHeGiEoDukB;lk5roby5;dBllalDnogr2Zr10ss0val37;ba,obos;lasEsel7P;lGn dFrg8FsEzD;qu7;ily9Pqu7silj9P;en b35ijk,yk;enzue96verde;aLeix1KhHi3j6ka3IoGrFsui,uD;om50rD;c3n0un1;an,embl8UynisA;dor96lst31m4rr9th;at5Ni7NoD;mErD;are70laci65;ps2s0Z;hirBkah8Enaka;a01chXeUhQiNmKoItFuEvDzabo;en8Bobod34;ar7bot4lliv3zuA;aEein0oD;i68j3Myan8W;l6rm0;kol5lovy5re6Rsa,to,uD;ng,sa;iDy60;rn5tD;!h;l5ZmEnDrbu;at8gh;mo6Eo6K;aFeDimizu;hu,vchD;en7Duk;la,r17;gu8infeld,mDoh,pulve8Trra4S;jDyD;on5;evi6Giltz,miDneid0roed0ulz,warz;dEtD;!z;!t;ar42h6ito,lFnDr4saAto,v4;ch7d0AtDz;a4Pe,os;as,ihBm3Zo0Q;aOeNiKoGuEyD;a67oo,u;bio,iz,sD;so,u;bEc7Bdrigue57g03j73mDosevelt,ssi,ta7Nux,w3Z;a4Ce0O;ertsDins2;!on;bei0LcEes,vDzzo;as,e8;ci,hards2;ag3es,it0ut0y9;dFmEnDsmu7Zv5F;tan1;ir7os;ic,u;aSeLhJiGoErDut6;asad,if60ochazk1V;lishc23pDrti63u55we67;e2Tov48;cEe09nD;as,to;as61hl0;aDillips;k,m,n5L;de3AetIna,rGtD;ersErovDtersC;!a,ic;en,on;eDic,ry,ss2;i8ra,tz,z;ers;h71k,rk0tEvD;ic,l3T;el,t2O;bJconnor,g2ClGnei5QrEzD;demir,turk;ella3MtDwe5O;ega,iz;iDof6GsC;vDyn1E;ei8;aPri1;aLeJguy1iFoDune44ym3;rodahl,vDwak;ak3Uik5otn57;eEkolDlsCx2;ic,ov6X;ls1miD;!n1;ils2mD;co42ec;gy,kaEray3varD;ro;jiDmu8shiD;ma;aWcUeQiPoIuD;lGnFrDssoli5T;atDpTr68;i,ov4;oz,te4C;d0l0;h3lInr13o0GrEsDza0Y;er,s;aFeEiDoz5r3Ete4C;!n6F;au,i8no,t4N;!l9;i2Rl0;crac5Ohhail5kke3Qll0;hmeFij0j2FlEn2Xrci0ssiDyer19;!er;n0Io;dBti;cartDlaughl6;hy;dMe6Egnu5Fi0jer35kLmJnci5ArFtEyD;er,r;ei,ic,su1O;iEkBqu9roqu6tinD;ez,s;a55c,nD;!o;a53mD;ad5;e5Pin1;rig4Ps1;aSeMiIoGuEyD;!nch;k4nDo;d,gu;mbarDpe2Svr4;di;!nDu,yana1T;coln,dD;bDholm;erg;bed5UfeGhtFitn0kaEn6rDw2H;oy;!j;in1on1;bvDvD;re;iDmmy,rsCu,voie;ne,t12;aTennedy,h3iSlQnez48oJrGuEvar3woD;k,n;cerDmar59znets5;a,o2H;aDem0i31yeziu;sni3RvD;ch3W;bay4Grh0Ksk0UvaFwalDzl5;czDsA;yk;cFlD;!cDen3S;huk;!ev4ic,s;e6uiveD;rt;eff0l4mu8nnun1;hn,llFminsArEstra33to,ur,yDzl5;a,s0;j0HlsC;oe;aMenLha2Qim0RoEuD;ng,r4;e2KhFnErge2Ku2OvD;anB;es,ss2;anEnsD;en,on,t2;nesDsC;en,s1;ki27s1;cGkob3RnsDrv06;en,sD;enDon;!s;ks2obs1;brahimBglesi3Ake4Ll0DnoZoneFshikEto,vanoD;u,v4A;awa;scu;aPeIitchcock,jaltal6oFrist46uD;!aDb0gh9ynh;m3ng;a24dz4fEjga2Tk,rDx3B;ak0Yvat;er,fm3B;iGmingw3NnErD;nand7re8;dDriks1;ers2;kkiEnD;on1;la,n1;dz4g1lvoLmJnsCqIrr0SsFuEyD;as36es;g1ng;anEhiD;mo0Q;i,ov08;ue;alaD;in1;rs1;aNeorgMheorghe,iKjonJoGrEuDw2;o,staf2Utierr7zm3;ayDg4iffitVub0;li1H;lub3Rme0JnEodD;e,m3;calv9zale0H;aj,i;bs2l,mDordaL;en7;iev3A;gnJlGmaFnd2Mo,rDs2Muthi0;cDza;ia;ge;eaElD;agh0i,o;no;e,on;ab0erLiHjeldsted,lor9oFriedm3uD;cDent9ji3E;hs;ntaDrt6urni0;na;lipEsD;ch0;ovD;!ic;hatBnanFrD;arDei8;a,i;deS;ov4;dGinste6riksCsDva0D;cob2YpDtra2W;inoza,osiL;en,s2;er,is2wards;aUeMiKjurhuJoHrisco0ZuEvorakD;!oQ;arte,boEmitru,rDt2U;and,ic;is;g3he0Imingu7n2Ord1AtD;to;us;aDmitr29ssanayake;s,z; GbnaFlEmirDrvis1Lvi,w3;!ov4;gado,ic;th;bo0groot,jo04lEsilDvri9;va;a cruz,e2uD;ca;hl,mcevsAnEt2EviD;d5es,s;ieDku1S;ls1;ki;a06e01hOiobNlarkMoFrD;ivDuz;elli;h1lHntGoFrDs26x;byn,reD;a,ia;ke,p0;i,rer0N;em3liD;ns;!e;anu;aLeIiu,oGriDuJwe;stD;eDiaD;ns1;i,ng,uFwDy;!dhury;!n,onEuD;ng;!g;kEnDpm3tterjee,v7;!d,g;ma,raboD;rty;bGl08ng4rD;eghetEnD;a,y;ti;an,ota0L;cer9lder2mpbeIrFstDvadi07;iDro;llo;doEt0uDvalho;so;so,zo;ll;es;a08eWhTiRlNoGrFyD;rne,tyD;qi;ank5iem,ooks,yant;gdan5nFruya,su,uchEyHziD;c,n5;ard;darDik;enD;ko;ov;aEondD;al;nco,zD;ev4;ancRshwD;as;a01oDuiy3;umDwmD;ik;ckNethov1gu,ktLnJrD;gGisFnD;ascoDds1;ni;ha;er,mD;ann;gtDit7nett;ss2;asD;hi;er,ham;b4ch,ez,hMiley,kk0nHrDu0;bEnDua;es,i0;ieDosa;ri;dDik;a8yopadhyD;ay;ra;er;k,ng;ic;cosZdYguilXkhtXlSnJrGsl3tchis2yD;aEd6;in;la;aEsl3;an;ujo,ya;dFgelD;ovD;!a;ersGov,reD;aDjL;ss1;en;en,on,s2;on;eksejGiyGmeiFvD;ar7es;ez;da;ev;ar;ams;ta",Honorific:"true¦director1field marsh2lieutenant1rear0sergeant major,vice0; admir1; gener0;al","Adj|Gerund":"true¦0:3H;1:3J;2:33;3:2Z;4:37;5:35;6:3E;7:31;8:38;9:2J;a35b2Vc2Dd1Te1If17g11h0Yi0Rjud9l0Nm0Gnu0Fo0Ap04rYsKtEuBvAw18yiel3;ar6e08;nBpA;l1Rs0B;fol3n21sett2;aEeDhrBi4ouc7rAwis0;e0Bif2oub2us0yi1;ea1SiA;l2vi1;l2mp0rr1J;nt1Xxi1;aMcreec7enten2PhLkyrocke0lo1Tmi2oJpHtDuBweA;e1Sl2;pp2CrA;gi1pri5roun3;aBea8iAri2Jun25;mula0r4;gge4rA;t2vi1;ark2eAraw2;e3llb2H;aAot7;ki1ri1;i1Xoc2B;dYtisf6;aEeBive0oAus7;a4l2;assu4defi1Tfres7ig1Tjuve0QlaImai1Ts0vAwar3;ea2italiAol1I;si1zi1;gi1ll6mb2vi1;a6eDier25lun9rAun2E;eBoA;mi5vo21;ce3s5vai2;n3rpleA;xi1;ffCpWutBverAwi1;arc7lap12p0Pri3whel8;goi1l6st1L;en3sA;et0;m2Lrtu4;aEeDiCoBuAyst0L;mb2;t1Lvi1;s5tiga0;an1Tl0n3smeri28;dAtu4;de17;aCeaBiAo0W;fesa0Vmi0vi1;di1ni1;c1Hg9s0;llumiZmFnArri0T;cDfurGsCtBviA;go25ti1;e1Qimi23oxica0rig0X;pi4ul0;orpo22r0M;po5;arrowi1eaBorr03umilA;ia0;li1rtwar8;lErA;atiCip0BoBuelA;i1li1;undbrea13wi1;f6ng;a4ea8;aIetc7it0lEoCrBulfA;il2;ee1JighZust1P;rAun3;ebo3thco8;aCoA;a0wA;e4i1;mi1tte4;di1sciA;na0;lectrJmHnExA;aCci0hBis0pA;an3lo3;aOila1D;c0spe1C;ab2cBdu4ergi15ga9live06ric7s04tA;hral2i0L;han0oura9;barras5er9pA;owe4;if6;aSeIiBrA;if0;sAzz6;aEgDhearCsen0tA;rAur13;ac0es5;teU;us0;ppoin0r8;biliIcFfiRgra3ligh0mDpres5sCvA;asHeloA;pi1;erE;an3eaNorA;ali0L;a6eiBliLrA;ea5;vi1;ta0;ma9ri1s7un0zz2;aPhMlo5oAripp2ut0;mGnArrespon3;cerEfDspi4tAvinU;inBrA;as0ibu0ol2;ui1;lic0u5;ni1;fDmCpA;eAromi5;l2ti1;an3;or0;aAil2;llen9n9r8;gi1;l8ptAri1;iva0;aff2eGin3lFoDrBuA;d3st2;eathtaAui5;ki1;gg2i2o8ri1unA;ci1;in3;co8wiA;lAtc7;de4;bsorVcOgonMlJmHnno6ppea2rFsA;pi4su4toA;nBun3;di1;is7;hi1;res0;li1;aFu5;si1;ar8lu4;ri1;mi1;iAzi1;zi1;cAhi1;eleDomA;moBpan6;yi1;da0;ra0;ti1;bi1;ng",Adverb:"true¦a08b05d00eYfSheQinPjustOkinda,likewiZmMnJoEpCquite,r9s5t2u0very,well;ltima01p0; to,wards5;h1iny bit,o0wiO;o,t6;en,us;eldom,o0uch;!me1rt0; of;how,times,w0C;a1e0;alS;ndomRth05;ar excellenEer0oint blank; Lhaps;f3n0utright;ce0ly;! 0;ag05moX; courGten;ewJo0; longWt 0;onHwithstand9;aybe,eanwhiNore0;!ovT;! aboX;deed,steY;lla,n0;ce;or3u0;ck1l9rther0;!moK;ing; 0evK;exampCgood,suH;n mas0vI;se;e0irect2; 2fini0;te0;ly;juAtrop;ackward,y 0;far,no0; means,w; GbroFd nauseam,gEl7ny5part,s4t 2w0;ay,hi0;le;be7l0mo7wor7;arge,ea6; soon,i4;mo0way;re;l 3mo2ongsi1ready,so,togeth0ways;er;de;st;b1t0;hat;ut;ain;ad;lot,posteriori",Conjunction:"true¦aXbTcReNhowMiEjust00noBo9p8supposing,t5wh0yet;e1il0o3;e,st;n1re0thN; if,by,vM;evL;h0il,o;erefOo0;!uU;lus,rovided th9;r0therwiM;! not; mattEr,w0;! 0;since,th4w7;f4n0; 0asmuch;as mIcaForder t0;h0o;at;! 0;only,t0w0;hen;!ev3;ith2ven0;! 0;if,tB;er;o0uz;s,z;e0ut,y the time;cau1f0;ore;se;lt3nd,s 0;far1if,m0soon1t2;uch0; as;hou0;gh",Currency:"true¦$,aud,bQcOdJeurIfHgbp,hkd,iGjpy,kElDp8r7s3usd,x2y1z0¢,£,¥,ден,лв,руб,฿,₡,₨,€,₭,﷼;lotyQł;en,uanP;af,of;h0t5;e0il5;k0q0;elK;oubleJp,upeeJ;e2ound st0;er0;lingG;n0soF;ceEnies;empi7i7;n,r0wanzaCyatC;!onaBw;ls,nr;ori7ranc9;!os;en3i2kk,o0;b0ll2;ra5;me4n0rham4;ar3;e0ny;nt1;aht,itcoin0;!s",Determiner:"true¦aBboth,d9e6few,le5mu8neiDplenty,s4th2various,wh0;at0ich0;evC;a0e4is,ose;!t;everal,ome;!ast,s;a1l0very;!se;ch;e0u;!s;!n0;!o0y;th0;er","Adj|Present":"true¦a07b04cVdQeNfJhollIidRlEmCnarrIoBp9qua8r7s3t2uttFw0;aKet,ro0;ng,u08;endChin;e2hort,l1mooth,our,pa9tray,u0;re,speU;i2ow;cu6da02leSpaN;eplica01i02;ck;aHerfePr0;eseUime,omV;bscu1pen,wn;atu0e3odeH;re;a2e1ive,ow0;er;an;st,y;ow;a2i1oul,r0;ee,inge;rm;iIke,ncy,st;l1mpty,x0;emHpress;abo4ic7;amp,e2i1oub0ry,ull;le;ffu9re6;fu8libe0;raE;alm,l5o0;mpleCn3ol,rr1unterfe0;it;e0u7;ct;juga8sum7;ea1o0;se;n,r;ankru1lu0;nt;pt;li2pproxi0rticula1;ma0;te;ght",Comparable:"true¦0:3C;1:3Q;2:3F;a3Tb3Cc33d2Ue2Nf2Ag1Wh1Li1Fj1Ek1Bl13m0Xn0So0Rp0Iqu0Gr07sHtCug0vAw4y3za0Q;el10ouN;ary,e6hi5i3ry;ck0Cde,l3n1ry,se;d,y;ny,te;a3i3R;k,ry;a3erda2ulgar;gue,in,st;a6en2Xhi5i4ouZr3;anqu2Den1ue;dy,g36me0ny;ck,rs29;ll,me,rt,wd3I;aRcaPeOhMiLkin0BlImGoEpDt6u4w3;eet,ift;b3dd0Wperfi21rre29;sta27t22;a8e7iff,r4u3;pUr1;a4ict,o3;ng;ig2Vn0N;a1ep,rn;le,rk,te0;e1Si2Vright0;ci1Zft,l3on,re;emn,id;a3el0;ll,rt;e4i3y;g2Mm0Z;ek,nd2T;ck24l0mp1M;a3iRrill,y;dy,l01rp;ve0Jxy;n1Kr3;ce,y;d,fe,int0l1Iv0V;a8e6i5o3ude;mantic,o19sy,u3;gh;pe,t1P;a3d,mo0A;dy,l;gg4iFndom,p3re,w;id;ed;ai2i3;ck,et;hoAink,l9o8r5u3;ny,r3;e,p12;egna2ic4o3;fouSud;ey,k0;liXor;ain,easa2;ny;dd,i0ld,ranL;aive,e5i4o3u15;b0Tisy,rm0Zsy;bb0ce,mb0S;a3r1w;r,t;ad,e5ild,o4u3;nda12te;ist,o1;a4ek,l3;low;s0ty;a8e7i6o3ucky;f0Kn4o15u3ve0w10y0O;d,sy;e0g;ke0l,mp,tt0Fve0;e1Qwd;me,r3te;ge;e4i3;nd;en;ol0ui19;cy,ll,n3;secu6t3;e3ima4;llege2rmedia3;te;re;aAe7i6o5u3;ge,m3ng1C;bZid;me0t;gh,l0;a3fYsita2;dy,rXv3;en0y;nd13ppy,r3;d3sh;!y;aFenEhCiBlAoofy,r3;a8e6i5o3ue0Z;o3ss;vy;m,s0;at,e3y;dy,n;nd,y;ad,ib,ooD;a2d1;a3o3;st0;tEuiS;u1y;aDeebCi9l8o6r5u3;ll,n3r0N;!ny;aDesh,iend0;a3nd,rmE;my;at,ir8;erce4nan3;ciA;! ;le;r,ul3;ty;a6erie,sse4v3xtre0A;il;nti3;al;r4s3;tern,y;ly,th0;appYe8i4u3;mb;r5vi4z3;zy;ne;e,ty;a3ep,n9;d3f,r;!ly;agey,h8l7o5r4u3;dd0r0te;isp,uel;ar3ld,mmon,st0ward0zy;se;evKou1;e3il0;ap,e3;sy;aHiFlCoAr5u3;ff,r0sy;ly;a6i3oad;g4llia2;nt;ht;sh,ve;ld,un3;cy;a4o3ue;nd,o1;ck,nd;g,tt3;er;d,ld,w1;dy;bsu6ng5we3;so3;me;ry;rd","Person|Adj":"true¦brown,du2earnest,frank,mi2r0sa1;a0ich,u1;ndy;sty",Modal:"true¦c5lets,m4ought3sh1w0;ill,o5;a0o4;ll,nt;! to,a;ight,ust;an,o0;uld",Verb:"true¦born,cannot,gonna,has,keep tabs,msg","Person|Verb":"true¦b8ch7dr6foster,gra5ja9lan4ma2ni9ollie,p1rob,s0wade;pike,t5ue;at,eg,ier2;ck,r0;k,shal;ce;ce,nt;ew;ase,u1;iff,l1ob,u0;ck;aze,ossom","Person|Place":"true¦a5darw6h3jordan,k2orlando,s0victo7;a0ydney;lvador,mara,ntiago;ent,obe;amil0ous0;ton;lexand1ust0;in;ria","Person|Date":"true¦a2j0sep;an0une;!uary;p0ugust,v0;ril"};const Po=36,Ao="0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ",Io=Ao.split("").reduce((function(e,t,n){return e[t]=n,e}),{});var Eo=function(e){if(void 0!==Io[e])return Io[e];let t=0,n=1,a=Po,r=1;for(;n=0;n--,r*=Po){let a=e.charCodeAt(n)-48;a>10&&(a-=7),t+=a*r}return t},jo=function(e){const t=new RegExp("([0-9A-Z]+):([0-9A-Z]+)");for(let n=0;n{let o=e.nodes[a];"!"===o[0]&&(t.push(r),o=o.slice(1));const i=o.split(/([A-Z0-9,]+)/g);for(let o=0;o{const n=t.split("¦");return e[n[0]]=n[1],e}),{}),n={};return Object.keys(t).forEach((function(e){const a=No(t[e]);"true"===e&&(e=!0);for(let t=0;t{let t=xo(ko[e]);Go.test(e)?Object.keys(t).forEach((t=>{if(zo[t]=e,"Noun|Verb"===e){let e=Oo(t,Lo);zo[e]="Plural|Verb"}})):Object.keys(t).forEach((t=>{Vo[t]=e}))})),[":(",":)",":P",":p",":O",";(",";)",";P",";p",";O",":3",":|",":/",":\\",":$",":*",":@",":-(",":-)",":-P",":-p",":-O",":-3",":-|",":-/",":-\\",":-$",":-*",":-@",":^(",":^)",":^P",":^p",":^O",":^3",":^|",":^/",":^\\",":^$",":^*",":^@","):","(:","$:","*:",")-:","(-:","$-:","*-:",")^:","(^:","$^:","*^:","<3","Vo[e]="Emoticon")),delete Vo[""],delete Vo.null,delete Vo[" "];const Mo="Singular";var So={beforeTags:{Determiner:Mo,Possessive:Mo,Acronym:Mo,Noun:Mo,Adjective:Mo,PresentTense:Mo,Gerund:Mo,PastTense:Mo,Infinitive:Mo,Date:Mo,Ordinal:Mo,Demonym:Mo},afterTags:{Value:Mo,Modal:Mo,Copula:Mo,PresentTense:Mo,PastTense:Mo,Demonym:Mo,Actor:Mo},beforeWords:{the:Mo,with:Mo,without:Mo,of:Mo,for:Mo,any:Mo,all:Mo,on:Mo,cut:Mo,cuts:Mo,increase:Mo,decrease:Mo,raise:Mo,drop:Mo,save:Mo,saved:Mo,saves:Mo,make:Mo,makes:Mo,made:Mo,minus:Mo,plus:Mo,than:Mo,another:Mo,versus:Mo,neither:Mo,about:Mo,favorite:Mo,best:Mo,daily:Mo,weekly:Mo,linear:Mo,binary:Mo,mobile:Mo,lexical:Mo,technical:Mo,computer:Mo,scientific:Mo,security:Mo,government:Mo,popular:Mo,formal:Mo,no:Mo,more:Mo,one:Mo,let:Mo,her:Mo,his:Mo,their:Mo,our:Mo,us:Mo},afterWords:{of:Mo,system:Mo,aid:Mo,method:Mo,utility:Mo,tool:Mo,reform:Mo,therapy:Mo,philosophy:Mo,room:Mo,authority:Mo,says:Mo,said:Mo,wants:Mo,wanted:Mo,is:Mo,did:Mo,do:Mo,can:Mo,wise:Mo}};const $o="Infinitive";var Bo={beforeTags:{Modal:$o,Adverb:$o,Negative:$o,Plural:$o},afterTags:{Determiner:$o,Adverb:$o,Possessive:$o,Reflexive:$o,Preposition:$o,Cardinal:$o,Comparative:$o,Superlative:$o},beforeWords:{i:$o,we:$o,you:$o,they:$o,to:$o,please:$o,will:$o,have:$o,had:$o,would:$o,could:$o,should:$o,do:$o,did:$o,does:$o,can:$o,must:$o,us:$o,me:$o,let:$o,even:$o,when:$o,help:$o,he:$o,she:$o,it:$o,being:$o,bi:$o,co:$o,contra:$o,de:$o,inter:$o,intra:$o,mis:$o,pre:$o,out:$o,counter:$o,nobody:$o,somebody:$o,anybody:$o,everybody:$o},afterWords:{the:$o,me:$o,you:$o,him:$o,us:$o,her:$o,his:$o,them:$o,they:$o,it:$o,himself:$o,herself:$o,itself:$o,myself:$o,ourselves:$o,themselves:$o,something:$o,anything:$o,a:$o,an:$o,up:$o,down:$o,by:$o,out:$o,off:$o,under:$o,what:$o,all:$o,to:$o,because:$o,although:$o,after:$o,before:$o,how:$o,otherwise:$o,together:$o,though:$o,into:$o,yet:$o,more:$o,here:$o,there:$o,away:$o}},Jo={beforeTags:Object.assign({},Bo.beforeTags,So.beforeTags,{}),afterTags:Object.assign({},Bo.afterTags,So.afterTags,{}),beforeWords:Object.assign({},Bo.beforeWords,So.beforeWords,{}),afterWords:Object.assign({},Bo.afterWords,So.afterWords,{})};const Ho="Adjective";var Wo={beforeTags:{Determiner:Ho,Possessive:Ho,Hyphenated:Ho},afterTags:{Adjective:Ho},beforeWords:{seem:Ho,seemed:Ho,seems:Ho,feel:Ho,feels:Ho,felt:Ho,stay:Ho,appear:Ho,appears:Ho,appeared:Ho,also:Ho,over:Ho,under:Ho,too:Ho,it:Ho,but:Ho,still:Ho,really:Ho,quite:Ho,well:Ho,very:Ho,how:Ho,deeply:Ho,hella:Ho,profoundly:Ho,extremely:Ho,so:Ho,badly:Ho,mostly:Ho,totally:Ho,awfully:Ho,rather:Ho,nothing:Ho,something:Ho,anything:Ho,not:Ho,me:Ho,is:Ho},afterWords:{too:Ho,also:Ho,or:Ho,enough:Ho,about:Ho}};const Ko="Gerund";var qo={beforeTags:{Adverb:Ko,Preposition:Ko,Conjunction:Ko},afterTags:{Adverb:Ko,Possessive:Ko,Person:Ko,Pronoun:Ko,Determiner:Ko,Copula:Ko,Preposition:Ko,Conjunction:Ko,Comparative:Ko},beforeWords:{been:Ko,keep:Ko,continue:Ko,stop:Ko,am:Ko,be:Ko,me:Ko,began:Ko,start:Ko,starts:Ko,started:Ko,stops:Ko,stopped:Ko,help:Ko,helps:Ko,avoid:Ko,avoids:Ko,love:Ko,loves:Ko,loved:Ko,hate:Ko,hates:Ko,hated:Ko},afterWords:{you:Ko,me:Ko,her:Ko,him:Ko,his:Ko,them:Ko,their:Ko,it:Ko,this:Ko,there:Ko,on:Ko,about:Ko,for:Ko,up:Ko,down:Ko}},Uo={beforeTags:Object.assign({},Wo.beforeTags,qo.beforeTags,{Imperative:"Gerund",Infinitive:"Adjective",PresentTense:"Gerund",Plural:"Gerund"}),afterTags:Object.assign({},Wo.afterTags,qo.afterTags,{Singular:"Adjective"}),beforeWords:Object.assign({},Wo.beforeWords,qo.beforeWords,{is:"Adjective",was:"Adjective",of:"Adjective",suggest:"Gerund",recommend:"Gerund"}),afterWords:Object.assign({},Wo.afterWords,qo.afterWords,{to:"Gerund",not:"Gerund",the:"Gerund"})};const Qo={beforeTags:{Determiner:void 0,Cardinal:"Noun",PhrasalVerb:"Adjective"},afterTags:{}};var Ro={beforeTags:Object.assign({},Wo.beforeTags,So.beforeTags,Qo.beforeTags),afterTags:Object.assign({},Wo.afterTags,So.afterTags,Qo.afterTags),beforeWords:Object.assign({},Wo.beforeWords,So.beforeWords,{are:"Adjective",is:"Adjective",was:"Adjective",be:"Adjective",off:"Adjective",out:"Adjective"}),afterWords:Object.assign({},Wo.afterWords,So.afterWords)};let Xo="PastTense";const Zo={beforeTags:{Adverb:Xo,Pronoun:Xo,ProperNoun:Xo,Auxiliary:Xo,Noun:Xo},afterTags:{Possessive:Xo,Pronoun:Xo,Determiner:Xo,Adverb:Xo,Comparative:Xo,Date:Xo,Gerund:Xo},beforeWords:{be:Xo,who:Xo,get:"Adjective",had:Xo,has:Xo,have:Xo,been:Xo,it:Xo,as:Xo,for:"Adjective",more:"Adjective"},afterWords:{by:Xo,back:Xo,out:Xo,in:Xo,up:Xo,down:Xo,before:Xo,after:Xo,for:Xo,the:Xo,with:Xo,as:Xo,on:Xo,at:Xo,between:Xo,to:Xo,into:Xo,us:Xo,them:Xo,his:Xo,her:Xo,their:Xo,our:Xo,me:Xo}};var _o={beforeTags:Object.assign({},Wo.beforeTags,Zo.beforeTags),afterTags:Object.assign({},Wo.afterTags,Zo.afterTags),beforeWords:Object.assign({},Wo.beforeWords,Zo.beforeWords),afterWords:Object.assign({},Wo.afterWords,Zo.afterWords)};const Yo={afterTags:{Noun:"Adjective",Conjunction:void 0}};var ei={beforeTags:Object.assign({},Wo.beforeTags,Bo.beforeTags,{Adverb:void 0,Negative:void 0}),afterTags:Object.assign({},Wo.afterTags,Bo.afterTags,Yo.afterTags),beforeWords:Object.assign({},Wo.beforeWords,Bo.beforeWords,{have:void 0,had:void 0,not:void 0,went:"Adjective",goes:"Adjective",got:"Adjective",be:"Adjective"}),afterWords:Object.assign({},Wo.afterWords,Bo.afterWords,{to:void 0,as:"Adjective"})};const ti={Copula:"Gerund",PastTense:"Gerund",PresentTense:"Gerund",Infinitive:"Gerund"},ni={},ai={are:"Gerund",were:"Gerund",be:"Gerund",no:"Gerund",without:"Gerund",you:"Gerund",we:"Gerund",they:"Gerund",he:"Gerund",she:"Gerund",us:"Gerund",them:"Gerund"},ri={the:"Gerund",this:"Gerund",that:"Gerund",me:"Gerund",us:"Gerund",them:"Gerund"};var oi={beforeTags:Object.assign({},qo.beforeTags,So.beforeTags,ti),afterTags:Object.assign({},qo.afterTags,So.afterTags,ni),beforeWords:Object.assign({},qo.beforeWords,So.beforeWords,ai),afterWords:Object.assign({},qo.afterWords,So.afterWords,ri)};const ii="Singular",si="Infinitive";var li={beforeTags:Object.assign({},Bo.beforeTags,So.beforeTags,{Adjective:ii,Particle:ii}),afterTags:Object.assign({},Bo.afterTags,So.afterTags,{ProperNoun:si,Gerund:si,Adjective:si,Copula:ii}),beforeWords:Object.assign({},Bo.beforeWords,So.beforeWords,{is:ii,was:ii,of:ii,have:null}),afterWords:Object.assign({},Bo.afterWords,So.afterWords,{instead:si,about:si,his:si,her:si,to:null,by:null,in:null})};const ui="Person";var ci={beforeTags:{Honorific:ui,Person:ui},afterTags:{Person:ui,ProperNoun:ui,Verb:ui},ownTags:{ProperNoun:ui},beforeWords:{hi:ui,hey:ui,yo:ui,dear:ui,hello:ui},afterWords:{said:ui,says:ui,told:ui,tells:ui,feels:ui,felt:ui,seems:ui,thinks:ui,thought:ui,spends:ui,spendt:ui,plays:ui,played:ui,sing:ui,sang:ui,learn:ui,learned:ui,wants:ui,wanted:ui}};const di="Month",hi={beforeTags:{Date:di,Value:di},afterTags:{Date:di,Value:di},beforeWords:{by:di,in:di,on:di,during:di,after:di,before:di,between:di,until:di,til:di,sometime:di,of:di,this:di,next:di,last:di,previous:di,following:di,with:"Person"},afterWords:{sometime:di,in:di,of:di,until:di,the:di}};var gi={beforeTags:Object.assign({},ci.beforeTags,hi.beforeTags),afterTags:Object.assign({},ci.afterTags,hi.afterTags),beforeWords:Object.assign({},ci.beforeWords,hi.beforeWords),afterWords:Object.assign({},ci.afterWords,hi.afterWords)};const mi="Place",pi={beforeTags:{Place:mi},afterTags:{Place:mi,Abbreviation:mi},beforeWords:{in:mi,by:mi,near:mi,from:mi,to:mi},afterWords:{in:mi,by:mi,near:mi,from:mi,to:mi,government:mi,council:mi,region:mi,city:mi}};let fi="Unit";const bi={"Actor|Verb":Jo,"Adj|Gerund":Uo,"Adj|Noun":Ro,"Adj|Past":_o,"Adj|Present":ei,"Noun|Verb":li,"Noun|Gerund":oi,"Person|Noun":{beforeTags:Object.assign({},So.beforeTags,ci.beforeTags),afterTags:Object.assign({},So.afterTags,ci.afterTags),beforeWords:Object.assign({},So.beforeWords,ci.beforeWords,{i:"Infinitive",we:"Infinitive"}),afterWords:Object.assign({},So.afterWords,ci.afterWords)},"Person|Date":gi,"Person|Verb":{beforeTags:Object.assign({},So.beforeTags,ci.beforeTags,Bo.beforeTags),afterTags:Object.assign({},So.afterTags,ci.afterTags,Bo.afterTags),beforeWords:Object.assign({},So.beforeWords,ci.beforeWords,Bo.beforeWords),afterWords:Object.assign({},So.afterWords,ci.afterWords,Bo.afterWords)},"Person|Place":{beforeTags:Object.assign({},pi.beforeTags,ci.beforeTags),afterTags:Object.assign({},pi.afterTags,ci.afterTags),beforeWords:Object.assign({},pi.beforeWords,ci.beforeWords),afterWords:Object.assign({},pi.afterWords,ci.afterWords)},"Person|Adj":{beforeTags:Object.assign({},ci.beforeTags,Wo.beforeTags),afterTags:Object.assign({},ci.afterTags,Wo.afterTags),beforeWords:Object.assign({},ci.beforeWords,Wo.beforeWords),afterWords:Object.assign({},ci.afterWords,Wo.afterWords)},"Unit|Noun":{beforeTags:{Value:fi},afterTags:{},beforeWords:{per:fi,every:fi,each:fi,square:fi,cubic:fi,sq:fi,metric:fi},afterWords:{per:fi,squared:fi,cubed:fi,long:fi}}},vi=(e,t)=>{let n=Object.keys(e).reduce(((t,n)=>(t[n]="Infinitive"===e[n]?"PresentTense":"Plural",t)),{});return Object.assign(n,t)};bi["Plural|Verb"]={beforeWords:vi(bi["Noun|Verb"].beforeWords,{had:"Plural",have:"Plural"}),afterWords:vi(bi["Noun|Verb"].afterWords,{his:"PresentTense",her:"PresentTense",its:"PresentTense",in:null,to:null,is:"PresentTense",by:"PresentTense"}),beforeTags:vi(bi["Noun|Verb"].beforeTags,{Conjunction:"PresentTense",Noun:void 0,ProperNoun:"PresentTense"}),afterTags:vi(bi["Noun|Verb"].afterTags,{Gerund:"Plural",Noun:"PresentTense",Value:"PresentTense"})};var yi=bi;const wi="Adjective",ki="Infinitive",Pi="PresentTense",Ai="Singular",Ii="PastTense",Ei="Adverb",ji="Plural",Di="Actor",Ni="Verb",xi="Noun",Ci="LastName",Ti="Modal",Fi="Place",Oi="Participle";var Gi=[null,null,{ea:Ai,ia:xi,ic:wi,ly:Ei,"'n":Ni,"'t":Ni},{oed:Ii,ued:Ii,xed:Ii," so":Ei,"'ll":Ti,"'re":"Copula",azy:wi,eer:xi,end:Ni,ped:Ii,ffy:wi,ify:ki,ing:"Gerund",ize:ki,ibe:ki,lar:wi,mum:wi,nes:Pi,nny:wi,ous:wi,que:wi,ger:xi,ber:xi,rol:Ai,sis:Ai,ogy:Ai,oid:Ai,ian:Ai,zes:Pi,eld:Ii,ken:Oi,ven:Oi,ten:Oi,ect:ki,ict:ki,ign:ki,oze:ki,ful:wi,bal:wi,ton:xi},{amed:Ii,aped:Ii,ched:Ii,lked:Ii,rked:Ii,reed:Ii,nded:Ii,mned:wi,cted:Ii,dged:Ii,ield:Ai,akis:Ci,cede:ki,chuk:Ci,czyk:Ci,ects:Pi,iend:Ai,ends:Ni,enko:Ci,ette:Ai,iary:Ai,wner:Ai,fies:Pi,fore:Ei,gate:ki,gone:wi,ices:ji,ints:ji,ruct:ki,ines:ji,ions:ji,ners:ji,pers:ji,lers:ji,less:wi,llen:wi,made:wi,nsen:Ci,oses:Pi,ould:Ti,some:wi,sson:Ci,ians:ji,tion:Ai,tage:xi,ique:Ai,tive:wi,tors:xi,vice:Ai,lier:Ai,fier:Ai,wned:Ii,gent:Ai,tist:Di,pist:Di,rist:Di,mist:Di,yist:Di,vist:Di,ists:Di,lite:Ai,site:Ai,rite:Ai,mite:Ai,bite:Ai,mate:Ai,date:Ai,ndal:Ai,vent:Ai,uist:Di,gist:Di,note:Ai,cide:Ai,ence:Ai,wide:wi,vide:ki,ract:ki,duce:ki,pose:ki,eive:ki,lyze:ki,lyse:ki,iant:wi,nary:wi,ghty:wi,uent:wi,erer:Di,bury:Fi,dorf:xi,esty:xi,wych:Fi,dale:Fi,folk:Fi},{elist:Di,holic:Ai,phite:Ai,tized:Ii,urned:Ii,eased:Ii,ances:ji,bound:wi,ettes:ji,fully:Ei,ishes:Pi,ities:ji,marek:Ci,nssen:Ci,ology:xi,osome:Ai,tment:Ai,ports:ji,rough:wi,tches:Pi,tieth:"Ordinal",tures:ji,wards:Ei,where:Ei,archy:xi,pathy:xi,opoly:xi,embly:xi,phate:xi,ndent:Ai,scent:Ai,onist:Di,anist:Di,alist:Di,olist:Di,icist:Di,ounce:ki,iable:wi,borne:wi,gnant:wi,inant:wi,igent:wi,atory:wi,rient:Ai,dient:Ai,maker:Di,burgh:Fi,mouth:Fi,ceter:Fi,ville:Fi,worth:xi},{auskas:Ci,parent:Ai,cedent:Ai,ionary:Ai,cklist:Ai,keeper:Di,logist:Di,teenth:"Value",worker:Di,master:Di,writer:Di,brough:Fi,cester:Fi},{logists:Di,opoulos:Ci,borough:Fi,sdottir:Ci}];const Vi="Adjective",zi="Noun",Li="Verb";var Mi=[null,null,{},{neo:zi,bio:zi,"de-":Li,"re-":Li,"un-":Li,"ex-":zi},{anti:zi,auto:zi,faux:Vi,hexa:zi,kilo:zi,mono:zi,nano:zi,octa:zi,poly:zi,semi:Vi,tele:zi,"pro-":Vi,"mis-":Li,"dis-":Li,"pre-":Vi},{anglo:zi,centi:zi,ethno:zi,ferro:zi,grand:zi,hepta:zi,hydro:zi,intro:zi,macro:zi,micro:zi,milli:zi,nitro:zi,penta:zi,quasi:Vi,radio:zi,tetra:zi,"omni-":Vi,"post-":Vi},{pseudo:Vi,"extra-":Vi,"hyper-":Vi,"inter-":Vi,"intra-":Vi,"deca-":Vi},{electro:zi}];const Si="Adjective",$i="Infinitive",Bi="PresentTense",Ji="Singular",Hi="PastTense",Wi="Adverb",Ki="Expression",qi="Actor",Ui="Verb",Qi="Noun",Ri="LastName";var Xi={a:[[/.[aeiou]na$/,Qi,"tuna"],[/.[oau][wvl]ska$/,Ri],[/.[^aeiou]ica$/,Ji,"harmonica"],[/^([hyj]a+)+$/,Ki,"haha"]],c:[[/.[^aeiou]ic$/,Si]],d:[[/[aeiou](pp|ll|ss|ff|gg|tt|rr|bb|nn|mm)ed$/,Hi,"popped"],[/.[aeo]{2}[bdgmnprvz]ed$/,Hi,"rammed"],[/.[aeiou][sg]hed$/,Hi,"gushed"],[/.[aeiou]red$/,Hi,"hired"],[/.[aeiou]r?ried$/,Hi,"hurried"],[/[^aeiou]ard$/,Ji,"steward"],[/[aeiou][^aeiou]id$/,Si,""],[/.[vrl]id$/,Si,"livid"],[/..led$/,Hi,"hurled"],[/.[iao]sed$/,Hi,""],[/[aeiou]n?[cs]ed$/,Hi,""],[/[aeiou][rl]?[mnf]ed$/,Hi,""],[/[aeiou][ns]?c?ked$/,Hi,"bunked"],[/[aeiou]gned$/,Hi],[/[aeiou][nl]?ged$/,Hi],[/.[tdbwxyz]ed$/,Hi],[/[^aeiou][aeiou][tvx]ed$/,Hi],[/.[cdflmnprstv]ied$/,Hi,"emptied"]],e:[[/.[lnr]ize$/,$i,"antagonize"],[/.[^aeiou]ise$/,$i,"antagonise"],[/.[aeiou]te$/,$i,"bite"],[/.[^aeiou][ai]ble$/,Si,"fixable"],[/.[^aeiou]eable$/,Si,"maleable"],[/.[ts]ive$/,Si,"festive"],[/[a-z]-like$/,Si,"woman-like"]],h:[[/.[^aeiouf]ish$/,Si,"cornish"],[/.v[iy]ch$/,Ri,"..ovich"],[/^ug?h+$/,Ki,"ughh"],[/^uh[ -]?oh$/,Ki,"uhoh"],[/[a-z]-ish$/,Si,"cartoon-ish"]],i:[[/.[oau][wvl]ski$/,Ri,"polish-male"]],k:[[/^(k){2}$/,Ki,"kkkk"]],l:[[/.[gl]ial$/,Si,"familial"],[/.[^aeiou]ful$/,Si,"fitful"],[/.[nrtumcd]al$/,Si,"natal"],[/.[^aeiou][ei]al$/,Si,"familial"]],m:[[/.[^aeiou]ium$/,Ji,"magnesium"],[/[^aeiou]ism$/,Ji,"schism"],[/^[hu]m+$/,Ki,"hmm"],[/^\d+ ?[ap]m$/,"Date","3am"]],n:[[/.[lsrnpb]ian$/,Si,"republican"],[/[^aeiou]ician$/,qi,"musician"],[/[aeiou][ktrp]in'$/,"Gerund","cookin'"]],o:[[/^no+$/,Ki,"noooo"],[/^(yo)+$/,Ki,"yoo"],[/^wo{2,}[pt]?$/,Ki,"woop"]],r:[[/.[bdfklmst]ler$/,"Noun"],[/[aeiou][pns]er$/,Ji],[/[^i]fer$/,$i],[/.[^aeiou][ao]pher$/,qi],[/.[lk]er$/,"Noun"],[/.ier$/,"Comparative"]],t:[[/.[di]est$/,"Superlative"],[/.[icldtgrv]ent$/,Si],[/[aeiou].*ist$/,Si],[/^[a-z]et$/,Ui]],s:[[/.[^aeiou]ises$/,Bi],[/.[rln]ates$/,Bi],[/.[^z]ens$/,Ui],[/.[lstrn]us$/,Ji],[/.[aeiou]sks$/,Bi],[/.[aeiou]kes$/,Bi],[/[aeiou][^aeiou]is$/,Ji],[/[a-z]'s$/,Qi],[/^yes+$/,Ki]],v:[[/.[^aeiou][ai][kln]ov$/,Ri]],y:[[/.[cts]hy$/,Si],[/.[st]ty$/,Si],[/.[tnl]ary$/,Si],[/.[oe]ry$/,Ji],[/[rdntkbhs]ly$/,Wi],[/.(gg|bb|zz)ly$/,Si],[/...lly$/,Wi],[/.[gk]y$/,Si],[/[bszmp]{2}y$/,Si],[/.[ai]my$/,Si],[/[ea]{2}zy$/,Si],[/.[^aeiou]ity$/,Ji]]};const Zi="Verb",_i="Noun";var Yi={leftTags:[["Adjective",_i],["Possessive",_i],["Determiner",_i],["Adverb",Zi],["Pronoun",Zi],["Value",_i],["Ordinal",_i],["Modal",Zi],["Superlative",_i],["Demonym",_i],["Honorific","Person"]],leftWords:[["i",Zi],["first",_i],["it",Zi],["there",Zi],["not",Zi],["because",_i],["if",_i],["but",_i],["who",Zi],["this",_i],["his",_i],["when",_i],["you",Zi],["very","Adjective"],["old",_i],["never",Zi],["before",_i],["a",_i],["the",_i],["been",Zi]],rightTags:[["Copula",_i],["PastTense",_i],["Conjunction",_i],["Modal",_i]],rightWords:[["there",Zi],["me",Zi],["man","Adjective"],["him",Zi],["it",Zi],["were",_i],["took",_i],["himself",Zi],["went",_i],["who",_i],["jr","Person"]]},es={fwd:"3:ser,ier¦1er:h,t,f,l,n¦1r:e¦2er:ss,or,om",both:"3er:ver,ear,alm¦3ner:hin¦3ter:lat¦2mer:im¦2er:ng,rm,mb¦2ber:ib¦2ger:ig¦1er:w,p,k,d¦ier:y",rev:"1:tter,yer¦2:uer,ver,ffer,oner,eler,ller,iler,ster,cer,uler,sher,ener,gher,aner,adder,nter,eter,rter,hter,rner,fter¦3:oser,ooler,eafer,user,airer,bler,maler,tler,eater,uger,rger,ainer,urer,ealer,icher,pler,emner,icter,nser,iser¦4:arser,viner,ucher,rosser,somer,ndomer,moter,oother,uarer,hiter¦5:nuiner,esser,emier¦ar:urther",ex:"worse:bad¦better:good¦4er:fair,gray,poor¦1urther:far¦3ter:fat,hot,wet¦3er:lay,shy,fun¦3der:mad,sad¦4der:glad¦:¦4r:cute,dire,fake,fine,free,lame,late,pale,rare,ripe,rude,safe,sore,tame,wide¦5r:eerie,stale"},ts={fwd:"1:nning,tting,rring,pping,eing,mming,gging,dding,bbing,kking¦2:eking,oling,eling,eming¦3:velling,siting,uiting,fiting,loting,geting,ialing,celling¦4:graming",both:"1:aing,iing,fing,xing,ying,oing,hing,wing¦2:tzing,rping,izzing,bting,mning,sping,wling,rling,wding,rbing,uping,lming,wning,mping,oning,lting,mbing,lking,fting,hting,sking,gning,pting,cking,ening,nking,iling,eping,ering,rting,rming,cting,lping,ssing,nting,nding,lding,sting,rning,rding,rking¦3:belling,siping,toming,yaking,uaking,oaning,auling,ooping,aiding,naping,euring,tolling,uzzing,ganing,haning,ualing,halling,iasing,auding,ieting,ceting,ouling,voring,ralling,garing,joring,oaming,oaking,roring,nelling,ooring,uelling,eaming,ooding,eaping,eeting,ooting,ooming,xiting,keting,ooking,ulling,airing,oaring,biting,outing,oiting,earing,naling,oading,eeding,ouring,eaking,aiming,illing,oining,eaning,onging,ealing,aining,eading¦4:thoming,melling,aboring,ivoting,weating,dfilling,onoring,eriting,imiting,tialling,rgining,otoring,linging,winging,lleting,louding,spelling,mpelling,heating,feating,opelling,choring,welling,ymaking,ctoring,calling,peating,iloring,laiting,utoring,uditing,mmaking,loating,iciting,waiting,mbating,voiding,otalling,nsoring,nselling,ocusing,itoring,eloping¦5:rselling,umpeting,atrolling,treating,tselling,rpreting,pringing,ummeting,ossoming,elmaking,eselling,rediting,totyping,onmaking,rfeiting,ntrolling¦5e:chmaking,dkeeping,severing,erouting,ecreting,ephoning,uthoring,ravening,reathing,pediting,erfering,eotyping,fringing,entoring,ombining,ompeting¦4e:emaking,eething,twining,rruling,chuting,xciting,rseding,scoping,edoring,pinging,lunging,agining,craping,pleting,eleting,nciting,nfining,ncoding,tponing,ecoding,writing,esaling,nvening,gnoring,evoting,mpeding,rvening,dhering,mpiling,storing,nviting,ploring¦3e:tining,nuring,saking,miring,haling,ceding,xuding,rining,nuting,laring,caring,miling,riding,hoking,piring,lading,curing,uading,noting,taping,futing,paring,hading,loding,siring,guring,vading,voking,during,niting,laning,caping,luting,muting,ruding,ciding,juring,laming,caling,hining,uoting,liding,ciling,duling,tuting,puting,cuting,coring,uiding,tiring,turing,siding,rading,enging,haping,buting,lining,taking,anging,haring,uiring,coming,mining,moting,suring,viding,luding¦2e:tring,zling,uging,oging,gling,iging,vring,fling,lging,obing,psing,pling,ubing,cling,dling,wsing,iking,rsing,dging,kling,ysing,tling,rging,eging,nsing,uning,osing,uming,using,ibing,bling,aging,ising,asing,ating¦2ie:rlying¦1e:zing,uing,cing,ving",rev:"ying:ie¦1ing:se,ke,te,we,ne,re,de,pe,me,le,c,he¦2ing:ll,ng,dd,ee,ye,oe,rg,us¦2ning:un¦2ging:og,ag,ug,ig,eg¦2ming:um¦2bing:ub,ab,eb,ob¦3ning:lan,can,hin,pin,win¦3ring:cur,lur,tir,tar,pur,car¦3ing:ait,del,eel,fin,eat,oat,eem,lel,ool,ein,uin¦3ping:rop,rap,top,uip,wap,hip,hop,lap,rip,cap¦3ming:tem,wim,rim,kim,lim¦3ting:mat,cut,pot,lit,lot,hat,set,pit,put¦3ding:hed,bed,bid¦3king:rek¦3ling:cil,pel¦3bing:rib¦4ning:egin¦4ing:isit,ruit,ilot,nsit,dget,rkel,ival,rcel¦4ring:efer,nfer¦4ting:rmit,mmit,ysit,dmit,emit,bmit,tfit,gret¦4ling:evel,xcel,ivel¦4ding:hred¦5ing:arget,posit,rofit¦5ring:nsfer¦5ting:nsmit,orget,cquit¦5ling:ancel,istil",ex:"3:adding,eating,aiming,aiding,airing,outing,gassing,setting,getting,putting,cutting,winning,sitting,betting,mapping,tapping,letting,bidding,hitting,tanning,netting,popping,fitting,capping,lapping,barring,banning,vetting,topping,rotting,tipping,potting,wetting,pitting,dipping,budding,hemming,pinning,jetting,kidding,padding,podding,sipping,wedding,bedding,donning,warring,penning,gutting,cueing,wadding,petting,ripping,napping,matting,tinning,binning,dimming,hopping,mopping,nodding,panning,rapping,ridding,sinning¦4:selling,falling,calling,waiting,editing,telling,rolling,heating,boating,hanging,beating,coating,singing,tolling,felling,polling,discing,seating,voiding,gelling,yelling,baiting,reining,ruining,seeking,spanning,stepping,knitting,emitting,slipping,quitting,dialing,omitting,clipping,shutting,skinning,abutting,flipping,trotting,cramming,fretting,suiting¦5:bringing,treating,spelling,stalling,trolling,expelling,rivaling,wringing,deterring,singeing,befitting,refitting¦6:enrolling,distilling,scrolling,strolling,caucusing,travelling¦7:installing,redefining,stencilling,recharging,overeating,benefiting,unraveling,programing¦9:reprogramming¦is:being¦2e:using,aging,owing¦3e:making,taking,coming,noting,hiring,filing,coding,citing,doping,baking,coping,hoping,lading,caring,naming,voting,riding,mining,curing,lining,ruling,typing,boring,dining,firing,hiding,piling,taping,waning,baling,boning,faring,honing,wiping,luring,timing,wading,piping,fading,biting,zoning,daring,waking,gaming,raking,ceding,tiring,coking,wining,joking,paring,gaping,poking,pining,coring,liming,toting,roping,wiring,aching¦4e:writing,storing,eroding,framing,smoking,tasting,wasting,phoning,shaking,abiding,braking,flaking,pasting,priming,shoring,sloping,withing,hinging¦5e:defining,refining,renaming,swathing,fringing,reciting¦1ie:dying,tying,lying,vying¦7e:sunbathing"},ns={fwd:"1:mt¦2:llen¦3:iven,aken¦:ne¦y:in",both:"1:wn¦2:me,aten¦3:seen,bidden,isen¦4:roven,asten¦3l:pilt¦3d:uilt¦2e:itten¦1im:wum¦1eak:poken¦1ine:hone¦1ose:osen¦1in:gun¦1ake:woken¦ear:orn¦eal:olen¦eeze:ozen¦et:otten¦ink:unk¦ing:ung",rev:"2:un¦oken:eak¦ought:eek¦oven:eave¦1ne:o¦1own:ly¦1den:de¦1in:ay¦2t:am¦2n:ee¦3en:all¦4n:rive,sake,take¦5n:rgive",ex:"2:been¦3:seen,run¦4:given,taken¦5:shaken¦2eak:broken¦1ive:dove¦2y:flown¦3e:hidden,ridden¦1eek:sought¦1ake:woken¦1eave:woven"},as={fwd:"1:oes¦1ve:as",both:"1:xes¦2:zzes,ches,shes,sses¦3:iases¦2y:llies,plies¦1y:cies,bies,ties,vies,nies,pies,dies,ries,fies¦:s",rev:"1ies:ly¦2es:us,go,do¦3es:cho,eto",ex:"2:does,goes¦3:gasses¦5:focuses¦is:are¦3y:relies¦2y:flies¦2ve:has"},rs={fwd:"1st:e¦1est:l,m,f,s¦1iest:cey¦2est:or,ir¦3est:ver",both:"4:east¦5:hwest¦5lest:erful¦4est:weet,lgar,tter,oung¦4most:uter¦3est:ger,der,rey,iet,ong,ear¦3test:lat¦3most:ner¦2est:pt,ft,nt,ct,rt,ht¦2test:it¦2gest:ig¦1est:b,k,n,p,h,d,w¦iest:y",rev:"1:ttest,nnest,yest¦2:sest,stest,rmest,cest,vest,lmest,olest,ilest,ulest,ssest,imest,uest¦3:rgest,eatest,oorest,plest,allest,urest,iefest,uelest,blest,ugest,amest,yalest,ealest,illest,tlest,itest¦4:cerest,eriest,somest,rmalest,ndomest,motest,uarest,tiffest¦5:leverest,rangest¦ar:urthest¦3ey:riciest",ex:"best:good¦worst:bad¦5est:great¦4est:fast,full,fair,dull¦3test:hot,wet,fat¦4nest:thin¦1urthest:far¦3est:gay,shy,ill¦4test:neat¦4st:late,wide,fine,safe,cute,fake,pale,rare,rude,sore,ripe,dire¦6st:severe"},os={fwd:"1:tistic,eable,lful,sful,ting,tty¦2:onate,rtable,geous,ced,seful,ctful¦3:ortive,ented¦arity:ear¦y:etic¦fulness:begone¦1ity:re¦1y:tiful,gic¦2ity:ile,imous,ilous,ime¦2ion:ated¦2eness:iving¦2y:trious¦2ation:iring¦2tion:vant¦3ion:ect¦3ce:mant,mantic¦3tion:irable¦3y:est,estic¦3m:mistic,listic¦3ess:ning¦4n:utious¦4on:rative,native,vative,ective¦4ce:erant",both:"1:king,wing¦2:alous,ltuous,oyful,rdous¦3:gorous,ectable,werful,amatic¦4:oised,usical,agical,raceful,ocused,lined,ightful¦5ness:stful,lding,itous,nuous,ulous,otous,nable,gious,ayful,rvous,ntous,lsive,peful,entle,ciful,osive,leful,isive,ncise,reful,mious¦5ty:ivacious¦5ties:ubtle¦5ce:ilient,adiant,atient¦5cy:icient¦5sm:gmatic¦5on:sessive,dictive¦5ity:pular,sonal,eative,entic¦5sity:uminous¦5ism:conic¦5nce:mperate¦5ility:mitable¦5ment:xcited¦5n:bitious¦4cy:brant,etent,curate¦4ility:erable,acable,icable,ptable¦4ty:nacious,aive,oyal,dacious¦4n:icious¦4ce:vient,erent,stent,ndent,dient,quent,ident¦4ness:adic,ound,hing,pant,sant,oing,oist,tute¦4icity:imple¦4ment:fined,mused¦4ism:otic¦4ry:dantic¦4ity:tund,eral¦4edness:hand¦4on:uitive¦4lity:pitable¦4sm:eroic,namic¦4sity:nerous¦3th:arm¦3ility:pable,bable,dable,iable¦3cy:hant,nant,icate¦3ness:red,hin,nse,ict,iet,ite,oud,ind,ied,rce¦3ion:lute¦3ity:ual,gal,volous,ial¦3ce:sent,fensive,lant,gant,gent,lent,dant¦3on:asive¦3m:fist,sistic,iastic¦3y:terious,xurious,ronic,tastic¦3ur:amorous¦3e:tunate¦3ation:mined¦3sy:rteous¦3ty:ain¦3ry:ave¦3ment:azed¦2ness:de,on,ue,rn,ur,ft,rp,pe,om,ge,rd,od,ay,ss,er,ll,oy,ap,ht,ld,ad,rt¦2inousness:umous¦2ity:neous,ene,id,ane¦2cy:bate,late¦2ation:ized¦2ility:oble,ible¦2y:odic¦2e:oving,aring¦2s:ost¦2itude:pt¦2dom:ee¦2ance:uring¦2tion:reet¦2ion:oted¦2sion:ending¦2liness:an¦2or:rdent¦1th:ung¦1e:uable¦1ness:w,h,k,f¦1ility:mble¦1or:vent¦1ement:ging¦1tiquity:ncient¦1ment:hed¦verty:or¦ength:ong¦eat:ot¦pth:ep¦iness:y",rev:"",ex:"5:forceful,humorous¦8:charismatic¦13:understanding¦5ity:active¦11ness:adventurous,inquisitive,resourceful¦8on:aggressive,automatic,perceptive¦7ness:amorous,fatuous,furtive,ominous,serious¦5ness:ample,sweet¦12ness:apprehensive,cantankerous,contemptuous,ostentatious¦13ness:argumentative,conscientious¦9ness:assertive,facetious,imperious,inventive,oblivious,rapacious,receptive,seditious,whimsical¦10ness:attractive,expressive,impressive,loquacious,salubrious,thoughtful¦3edom:boring¦4ness:calm,fast,keen,tame¦8ness:cheerful,gracious,specious,spurious,timorous,unctuous¦5sity:curious¦9ion:deliberate¦8ion:desperate¦6e:expensive¦7ce:fragrant¦3y:furious¦9ility:ineluctable¦6ism:mystical¦8ity:physical,proactive,sensitive,vertical¦5cy:pliant¦7ity:positive¦9ity:practical¦12ism:professional¦6ce:prudent¦3ness:red¦6cy:vagrant¦3dom:wise"},is=function(e="",t={}){let n=function(e,t={}){return t.hasOwnProperty(e)?t[e]:null}(e,t.ex);return n=n||function(e,t=[]){for(let n=0;n=1;a-=1){let r=e.length-a,o=e.substring(r,e.length);if(!0===t.hasOwnProperty(o))return e.slice(0,r)+t[o];if(!0===n.hasOwnProperty(o))return e.slice(0,r)+n[o]}return t.hasOwnProperty("")?e+t[""]:n.hasOwnProperty("")?e+n[""]:null}(e,t.fwd,t.both),n=n||e,n};const ss=function(e){return Object.entries(e).reduce(((e,t)=>(e[t[1]]=t[0],e)),{})};var ls=function(e={}){return{reversed:!0,both:ss(e.both),ex:ss(e.ex),fwd:e.rev||{}}};const us=/^([0-9]+)/,cs=function(e){let t=function(e){let t={};return e.split("¦").forEach((e=>{let[n,a]=e.split(":");a=(a||"").split(","),a.forEach((e=>{t[e]=n}))})),t}(e);return Object.keys(t).reduce(((e,n)=>(e[n]=function(e="",t=""){let n=(t=String(t)).match(us);if(null===n)return t;let a=Number(n[1])||0;return e.substring(0,a)+t.replace(us,"")}(n,t[n]),e)),{})};var ds=function(e={}){return"string"==typeof e&&(e=JSON.parse(e)),e.fwd=cs(e.fwd||""),e.both=cs(e.both||""),e.rev=cs(e.rev||""),e.ex=cs(e.ex||""),e};const hs=ds({fwd:"1:tted,wed,gged,nned,een,rred,pped,yed,bbed,oed,dded,rd,wn,mmed¦2:eed,nded,et,hted,st,oled,ut,emed,eled,lded,ken,rt,nked,apt,ant,eped,eked¦3:eared,eat,eaded,nelled,ealt,eeded,ooted,eaked,eaned,eeted,mited,bid,uit,ead,uited,ealed,geted,velled,ialed,belled¦4:ebuted,hined,comed¦y:ied¦ome:ame¦ear:ore¦ind:ound¦ing:ung,ang¦ep:pt¦ink:ank,unk¦ig:ug¦all:ell¦ee:aw¦ive:ave¦eeze:oze¦old:eld¦ave:ft¦ake:ook¦ell:old¦ite:ote¦ide:ode¦ine:one¦in:un,on¦eal:ole¦im:am¦ie:ay¦and:ood¦1ise:rose¦1eak:roke¦1ing:rought¦1ive:rove¦1el:elt¦1id:bade¦1et:got¦1y:aid¦1it:sat¦3e:lid¦3d:pent",both:"1:aed,fed,xed,hed¦2:sged,xted,wled,rped,lked,kied,lmed,lped,uped,bted,rbed,rked,wned,rled,mped,fted,mned,mbed,zzed,omed,ened,cked,gned,lted,sked,ued,zed,nted,ered,rted,rmed,ced,sted,rned,ssed,rded,pted,ved,cted¦3:cled,eined,siped,ooned,uked,ymed,jored,ouded,ioted,oaned,lged,asped,iged,mured,oided,eiled,yped,taled,moned,yled,lit,kled,oaked,gled,naled,fled,uined,oared,valled,koned,soned,aided,obed,ibed,meted,nicked,rored,micked,keted,vred,ooped,oaded,rited,aired,auled,filled,ouled,ooded,ceted,tolled,oited,bited,aped,tled,vored,dled,eamed,nsed,rsed,sited,owded,pled,sored,rged,osed,pelled,oured,psed,oated,loned,aimed,illed,eured,tred,ioned,celled,bled,wsed,ooked,oiled,itzed,iked,iased,onged,ased,ailed,uned,umed,ained,auded,nulled,ysed,eged,ised,aged,oined,ated,used,dged,doned¦4:ntied,efited,uaked,caded,fired,roped,halled,roked,himed,culed,tared,lared,tuted,uared,routed,pited,naked,miled,houted,helled,hared,cored,caled,tired,peated,futed,ciled,called,tined,moted,filed,sided,poned,iloted,honed,lleted,huted,ruled,cured,named,preted,vaded,sured,talled,haled,peded,gined,nited,uided,ramed,feited,laked,gured,ctored,unged,pired,cuted,voked,eloped,ralled,rined,coded,icited,vided,uaded,voted,mined,sired,noted,lined,nselled,luted,jured,fided,puted,piled,pared,olored,cided,hoked,enged,tured,geoned,cotted,lamed,uiled,waited,udited,anged,luded,mired,uired,raded¦5:modelled,izzled,eleted,umpeted,ailored,rseded,treated,eduled,ecited,rammed,eceded,atrolled,nitored,basted,twined,itialled,ncited,gnored,ploded,xcited,nrolled,namelled,plored,efeated,redited,ntrolled,nfined,pleted,llided,lcined,eathed,ibuted,lloted,dhered,cceded¦3ad:sled¦2aw:drew¦2ot:hot¦2ke:made¦2ow:hrew,grew¦2ose:hose¦2d:ilt¦2in:egan¦1un:ran¦1ink:hought¦1ick:tuck¦1ike:ruck¦1eak:poke,nuck¦1it:pat¦1o:did¦1ow:new¦1ake:woke¦go:went",rev:"3:rst,hed,hut,cut,set¦4:tbid¦5:dcast,eread,pread,erbid¦ought:uy,eek¦1ied:ny,ly,dy,ry,fy,py,vy,by,ty,cy¦1ung:ling,ting,wing¦1pt:eep¦1ank:rink¦1ore:bear,wear¦1ave:give¦1oze:reeze¦1ound:rind,wind¦1ook:take,hake¦1aw:see¦1old:sell¦1ote:rite¦1ole:teal¦1unk:tink¦1am:wim¦1ay:lie¦1ood:tand¦1eld:hold¦2d:he,ge,re,le,leed,ne,reed,be,ye,lee,pe,we¦2ed:dd,oy,or,ey,gg,rr,us,ew,to¦2ame:ecome,rcome¦2ped:ap¦2ged:ag,og,ug,eg¦2bed:ub,ab,ib,ob¦2lt:neel¦2id:pay¦2ang:pring¦2ove:trive¦2med:um¦2ode:rride¦2at:ysit¦3ted:mit,hat,mat,lat,pot,rot,bat¦3ed:low,end,tow,und,ond,eem,lay,cho,dow,xit,eld,ald,uld,law,lel,eat,oll,ray,ank,fin,oam,out,how,iek,tay,haw,ait,vet,say,cay,bow¦3d:ste,ede,ode,ete,ree,ude,ame,oke,ote,ime,ute,ade¦3red:lur,cur,pur,car¦3ped:hop,rop,uip,rip,lip,tep,top¦3ded:bed,rod,kid¦3ade:orbid¦3led:uel¦3ned:lan,can,kin,pan,tun¦3med:rim,lim¦4ted:quit,llot¦4ed:pear,rrow,rand,lean,mand,anel,pand,reet,link,abel,evel,imit,ceed,ruit,mind,peal,veal,hool,head,pell,well,mell,uell,band,hear,weak¦4led:nnel,qual,ebel,ivel¦4red:nfer,efer,sfer¦4n:sake,trew¦4d:ntee¦4ded:hred¦4ned:rpin¦5ed:light,nceal,right,ndear,arget,hread,eight,rtial,eboot¦5d:edite,nvite¦5ted:egret¦5led:ravel",ex:"2:been,upped¦3:added,aged,aided,aimed,aired,bid,died,dyed,egged,erred,eyed,fit,gassed,hit,lied,owed,pent,pied,tied,used,vied,oiled,outed,banned,barred,bet,canned,cut,dipped,donned,ended,feed,inked,jarred,let,manned,mowed,netted,padded,panned,pitted,popped,potted,put,set,sewn,sowed,tanned,tipped,topped,vowed,weed,bowed,jammed,binned,dimmed,hopped,mopped,nodded,pinned,rigged,sinned,towed,vetted¦4:ached,baked,baled,boned,bored,called,caned,cared,ceded,cited,coded,cored,cubed,cured,dared,dined,edited,exited,faked,fared,filed,fined,fired,fuelled,gamed,gelled,hired,hoped,joked,lined,mined,named,noted,piled,poked,polled,pored,pulled,reaped,roamed,rolled,ruled,seated,shed,sided,timed,tolled,toned,voted,waited,walled,waned,winged,wiped,wired,zoned,yelled,tamed,lubed,roped,faded,mired,caked,honed,banged,culled,heated,raked,welled,banded,beat,cast,cooled,cost,dealt,feared,folded,footed,handed,headed,heard,hurt,knitted,landed,leaked,leapt,linked,meant,minded,molded,neared,needed,peaked,plodded,plotted,pooled,quit,read,rooted,sealed,seeded,seeped,shipped,shunned,skimmed,slammed,sparred,stemmed,stirred,suited,thinned,twinned,swayed,winked,dialed,abutted,blotted,fretted,healed,heeded,peeled,reeled¦5:basted,cheated,equalled,eroded,exiled,focused,opined,pleated,primed,quoted,scouted,shored,sloped,smoked,sniped,spelled,spouted,routed,staked,stored,swelled,tasted,treated,wasted,smelled,dwelled,honored,prided,quelled,eloped,scared,coveted,sweated,breaded,cleared,debuted,deterred,freaked,modeled,pleaded,rebutted,speeded¦6:anchored,defined,endured,impaled,invited,refined,revered,strolled,cringed,recast,thrust,unfolded¦7:authored,combined,competed,conceded,convened,excreted,extruded,redefined,restored,secreted,rescinded,welcomed¦8:expedited,infringed¦9:interfered,intervened,persevered¦10:contravened¦eat:ate¦is:was¦go:went¦are:were¦3d:bent,lent,rent,sent¦3e:bit,fled,hid,lost¦3ed:bled,bred¦2ow:blew,grew¦1uy:bought¦2tch:caught¦1o:did¦1ive:dove,gave¦2aw:drew¦2ed:fed¦2y:flew,laid,paid,said¦1ight:fought¦1et:got¦2ve:had¦1ang:hung¦2ad:led¦2ght:lit¦2ke:made¦2et:met¦1un:ran¦1ise:rose¦1it:sat¦1eek:sought¦1each:taught¦1ake:woke,took¦1eave:wove¦2ise:arose¦1ear:bore,tore,wore¦1ind:bound,found,wound¦2eak:broke¦2ing:brought,wrung¦1ome:came¦2ive:drove¦1ig:dug¦1all:fell¦2el:felt¦4et:forgot¦1old:held¦2ave:left¦1ing:rang,sang¦1ide:rode¦1ink:sank¦1ee:saw¦2ine:shone¦4e:slid¦1ell:sold,told¦4d:spent¦2in:spun¦1in:won"}),gs=ds(as),ms=ds(ts),ps=ds(ns),fs=ls(hs),bs=ls(gs),vs=ls(ms),ys=ls(ps),ws=ds(es),ks=ds(rs);var Ps={fromPast:hs,fromPresent:gs,fromGerund:ms,fromParticiple:ps,toPast:fs,toPresent:bs,toGerund:vs,toParticiple:ys,toComparative:ws,toSuperlative:ks,fromComparative:ls(ws),fromSuperlative:ls(ks),adjToNoun:ds(os)},As=["academy","administration","agence","agences","agencies","agency","airlines","airways","army","assoc","associates","association","assurance","authority","autorite","aviation","bank","banque","board","boys","brands","brewery","brotherhood","brothers","bureau","cafe","co","caisse","capital","care","cathedral","center","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","corp","council","crew","data","departement","department","departments","design","development","directorate","division","drilling","education","eglise","electric","electricity","energy","ensemble","enterprise","enterprises","entertainment","estate","etat","faculty","federation","financial","fm","foundation","fund","gas","gazette","girls","government","group","guild","herald","holdings","hospital","hotel","hotels","inc","industries","institut","institute","institutes","insurance","international","interstate","investment","investments","investors","journal","laboratory","labs","llc","ltd","limited","machines","magazine","management","marine","marketing","markets","media","memorial","ministere","ministry","military","mobile","motor","motors","musee","museum","news","observatory","office","oil","optical","orchestra","organization","partners","partnership","petrol","petroleum","pharmacare","pharmaceutical","pharmaceuticals","pizza","plc","police","polytechnic","post","power","press","productions","quartet","radio","reserve","resources","restaurant","restaurants","savings","school","securities","service","services","societe","society","sons","subcommittee","syndicat","systems","telecommunications","telegraph","television","times","tribunal","tv","union","university","utilities","workers"].reduce(((e,t)=>(e[t]=!0,e)),{}),Is=[[/([^v])ies$/i,"$1y"],[/(ise)s$/i,"$1"],[/(kn|[^o]l|w)ives$/i,"$1ife"],[/^((?:ca|e|ha|(?:our|them|your)?se|she|wo)l|lea|loa|shea|thie)ves$/i,"$1f"],[/^(dwar|handkerchie|hoo|scar|whar)ves$/i,"$1f"],[/(antenn|formul|nebul|vertebr|vit)ae$/i,"$1a"],[/(octop|vir|radi|nucle|fung|cact|stimul)(i)$/i,"$1us"],[/(buffal|tomat|tornad)(oes)$/i,"$1o"],[/(ause)s$/i,"$1"],[/(ease)s$/i,"$1"],[/(ious)es$/i,"$1"],[/(ouse)s$/i,"$1"],[/(ose)s$/i,"$1"],[/(..ase)s$/i,"$1"],[/(..[aeiu]s)es$/i,"$1"],[/(vert|ind|cort)(ices)$/i,"$1ex"],[/(matr|append)(ices)$/i,"$1ix"],[/([xo]|ch|ss|sh)es$/i,"$1"],[/men$/i,"man"],[/(n)ews$/i,"$1ews"],[/([ti])a$/i,"$1um"],[/([^aeiouy]|qu)ies$/i,"$1y"],[/(s)eries$/i,"$1eries"],[/(m)ovies$/i,"$1ovie"],[/(cris|ax|test)es$/i,"$1is"],[/(alias|status)es$/i,"$1"],[/(ss)$/i,"$1"],[/(ic)s$/i,"$1"],[/s$/i,""]],Es=function(e,t){const{irregularPlurals:n}=t.two;let a=(r=n,Object.keys(r).reduce(((e,t)=>(e[r[t]]=t,e)),{}));var r;if(a.hasOwnProperty(e))return a[e];for(let t=0;t(Ds[t].forEach((n=>e[n]=t)),e)),{});var Ns=Ds,xs=function(e){let t=e.substring(e.length-3);if(!0===Ns.hasOwnProperty(t))return Ns[t];let n=e.substring(e.length-2);return!0===Ns.hasOwnProperty(n)?Ns[n]:"s"===e.substring(e.length-1)?"PresentTense":null};const Cs={are:"be",were:"be",been:"be",is:"be",am:"be",was:"be",be:"be",being:"be"};var Ts=function(e,t,n){const{fromPast:a,fromPresent:r,fromGerund:o,fromParticiple:i}=t.two.models;let{prefix:s,verb:l,particle:u}=function(e,t){let n="",a={};t.one&&t.one.prefixes&&(a=t.one.prefixes);let[r,o]=e.split(/ /);return o&&!0===a[r]&&(n=r,r=o,o=""),{prefix:n,verb:r,particle:o}}(e,t),c="";if(n||(n=xs(e)),Cs.hasOwnProperty(e))c=Cs[e];else if("Participle"===n)c=is(l,i);else if("PastTense"===n)c=is(l,a);else if("PresentTense"===n)c=is(l,r);else{if("Gerund"!==n)return e;c=is(l,o)}return u&&(c+=" "+u),s&&(c=s+" "+c),c},Fs=function(e,t){const{toPast:n,toPresent:a,toGerund:r,toParticiple:o}=t.two.models;if("be"===e)return{Infinitive:e,Gerund:"being",PastTense:"was",PresentTense:"is"};let[i,s]=(e=>/ /.test(e)?e.split(/ /):[e,""])(e),l={Infinitive:i,PastTense:is(i,n),PresentTense:is(i,a),Gerund:is(i,r),FutureTense:"will "+i},u=is(i,o);if(u!==e&&u!==l.PastTense){let n=t.one.lexicon||{};"Participle"!==n[u]&&"Adjective"!==n[u]||("play"===e&&(u="played"),l.Participle=u)}return s&&Object.keys(l).forEach((e=>{l[e]+=" "+s})),l},Os={toInfinitive:Ts,conjugate:Fs,all:function(e,t){let n=Fs(e,t);return delete n.FutureTense,Object.values(n).filter((e=>e))}};const Gs=function(e,t){const n=t.two.models.toSuperlative;return is(e,n)},Vs=function(e,t){const n=t.two.models.toComparative;return is(e,n)};var zs=function(e="",t=[]){const n=e.length;for(let a=n<=6?n-1:6;a>=1;a-=1){let r=e.substring(n-a,e.length);if(!0===t[r.length].hasOwnProperty(r))return e.slice(0,n-a)+t[r.length][r]}return null};const Ls="ically",Ms=new Set(["analyt"+Ls,"chem"+Ls,"class"+Ls,"clin"+Ls,"crit"+Ls,"ecolog"+Ls,"electr"+Ls,"empir"+Ls,"frant"+Ls,"grammat"+Ls,"ident"+Ls,"ideolog"+Ls,"log"+Ls,"mag"+Ls,"mathemat"+Ls,"mechan"+Ls,"med"+Ls,"method"+Ls,"method"+Ls,"mus"+Ls,"phys"+Ls,"phys"+Ls,"polit"+Ls,"pract"+Ls,"rad"+Ls,"satir"+Ls,"statist"+Ls,"techn"+Ls,"technolog"+Ls,"theoret"+Ls,"typ"+Ls,"vert"+Ls,"whims"+Ls]),Ss=[null,{},{ly:""},{ily:"y",bly:"ble",ply:"ple"},{ally:"al",rply:"rp"},{ually:"ual",ially:"ial",cally:"cal",eally:"eal",rally:"ral",nally:"nal",mally:"mal",eeply:"eep",eaply:"eap"},{ically:"ic"}],$s=new Set(["early","only","hourly","daily","weekly","monthly","yearly","mostly","duly","unduly","especially","undoubtedly","conversely","namely","exceedingly","presumably","accordingly","overly","best","latter","little","long","low"]),Bs={wholly:"whole",fully:"full",truly:"true",gently:"gentle",singly:"single",customarily:"customary",idly:"idle",publically:"public",quickly:"quick",superbly:"superb",cynically:"cynical",well:"good"},Js=[null,{y:"ily"},{ly:"ly",ic:"ically"},{ial:"ially",ual:"ually",tle:"tly",ble:"bly",ple:"ply",ary:"arily"},{},{},{}],Hs={cool:"cooly",whole:"wholly",full:"fully",good:"well",idle:"idly",public:"publicly",single:"singly",special:"especially"};var Ws=function(e){if(Hs.hasOwnProperty(e))return Hs[e];let t=zs(e,Js);return t||(t=e+"ly"),t},Ks={toSuperlative:Gs,toComparative:Vs,toAdverb:Ws,toNoun:function(e,t){const n=t.two.models.adjToNoun;return is(e,n)},fromAdverb:function(e){return e.endsWith("ly")?Ms.has(e)?e.replace(/ically/,"ical"):$s.has(e)?null:Bs.hasOwnProperty(e)?Bs[e]:zs(e,Ss)||e:null},fromSuperlative:function(e,t){const n=t.two.models.fromSuperlative;return is(e,n)},fromComparative:function(e,t){const n=t.two.models.fromComparative;return is(e,n)},all:function(e,t){let n=[e];return n.push(Gs(e,t)),n.push(Vs(e,t)),n.push(Ws(e)),n=n.filter((e=>e)),n=new Set(n),Array.from(n)}},qs={noun:js,verb:Os,adjective:Ks},Us={Singular:(e,t,n,a)=>{let r=a.one.lexicon,o=n.two.transform.noun.toPlural(e,a);r[o]||(t[o]=t[o]||"Plural")},Actor:(e,t,n,a)=>{let r=a.one.lexicon,o=n.two.transform.noun.toPlural(e,a);r[o]||(t[o]=t[o]||["Plural","Actor"])},Comparable:(e,t,n,a)=>{let r=a.one.lexicon,{toSuperlative:o,toComparative:i}=n.two.transform.adjective,s=o(e,a);r[s]||(t[s]=t[s]||"Superlative");let l=i(e,a);r[l]||(t[l]=t[l]||"Comparative"),t[e]="Adjective"},Demonym:(e,t,n,a)=>{let r=n.two.transform.noun.toPlural(e,a);t[r]=t[r]||["Demonym","Plural"]},Infinitive:(e,t,n,a)=>{let r=a.one.lexicon,o=n.two.transform.verb.conjugate(e,a);Object.entries(o).forEach((e=>{r[e[1]]||t[e[1]]||(t[e[1]]=e[0])}))},PhrasalVerb:(e,t,n,a)=>{let r=a.one.lexicon;t[e]=["PhrasalVerb","Infinitive"];let o=a.one._multiCache,[i,s]=e.split(" ");r[i]||(t[i]=t[i]||"Infinitive");let l=n.two.transform.verb.conjugate(i,a);delete l.FutureTense,Object.entries(l).forEach((e=>{if("Actor"===e[0]||""===e[1])return;t[e[1]]||r[e[1]]||(t[e[1]]=e[0]),o[e[1]]=!0;let n=e[1]+" "+s;t[n]=t[n]||[e[0],"PhrasalVerb"]}))},Multiple:(e,t)=>{t[e]=["Multiple","Cardinal"],t[e+"th"]=["Multiple","Ordinal"],t[e+"ths"]=["Multiple","Fraction"]},Cardinal:(e,t)=>{t[e]=["TextValue","Cardinal"]},Ordinal:(e,t)=>{t[e]=["TextValue","Ordinal"],t[e+"s"]=["TextValue","Fraction"]},Place:(e,t)=>{t[e]=["Place","ProperNoun"]},Region:(e,t)=>{t[e]=["Region","ProperNoun"]}},Qs=function(e,t){const{methods:n,model:a}=t;let r={},o={};return Object.keys(e).forEach((t=>{let i=e[t],s=(t=(t=t.toLowerCase().trim()).replace(/'s\b/,"")).split(/ /);s.length>1&&(o[s[0]]=!0),!0===Us.hasOwnProperty(i)&&Us[i](t,r,n,a),r[t]=r[t]||i})),delete r[""],delete r.null,delete r[" "],{lex:r,_multi:o}},Rs=function(e){const t=/[,:;]/;let n=[];return e.forEach((e=>{let a=0;e.forEach(((r,o)=>{t.test(r.post)&&function(e,t){const n=/^[0-9]+$/;let a=e[t];if(!a)return!1;const r=new Set(["may","april","august","jan"]);if("like"===a.normal||r.has(a.normal))return!1;if(a.tags.has("Place")||a.tags.has("Date"))return!1;if(e[t-1]){let n=e[t-1];if(n.tags.has("Date")||r.has(n.normal))return!1;if(n.tags.has("Adjective")||a.tags.has("Adjective"))return!1}let o=a.normal;return 1!==o.length&&2!==o.length&&4!==o.length||!n.test(o)}(e,o+1)&&(n.push(e.slice(a,o+1)),a=o+1)})),ae.endsWith(t))):"s"===t&&!_s.find((t=>e.endsWith(t)))},el={two:{quickSplit:Rs,expandLexicon:Qs,transform:qs,looksPlural:Ys}},tl=function(e){const{irregularPlurals:t}=e.two,{lexicon:n}=e.one;return Object.entries(t).forEach((e=>{n[e[0]]=n[e[0]]||"Singular",n[e[1]]=n[e[1]]||"Plural"})),e};let nl={one:{lexicon:{}},two:{models:Ps}};const al={"Actor|Verb":"Actor","Adj|Gerund":"Adjective","Adj|Noun":"Adjective","Adj|Past":"Adjective","Adj|Present":"Adjective","Noun|Verb":"Singular","Noun|Gerund":"Gerund","Person|Noun":"Noun","Person|Date":"Month","Person|Verb":"FirstName","Person|Place":"Person","Person|Adj":"Comparative","Plural|Verb":"Plural","Unit|Noun":"Noun"},rl=function(e,t){const n={model:t,methods:el};let{lex:a,_multi:r}=el.two.expandLexicon(e,n);return Object.assign(t.one.lexicon,a),Object.assign(t.one._multiCache,r),t},ol=function(e,t,n){let a=Fs(e,nl);t[a.PastTense]=t[a.PastTense]||"PastTense",t[a.Gerund]=t[a.Gerund]||"Gerund",!0===n&&(t[a.PresentTense]=t[a.PresentTense]||"PresentTense")},il=function(e,t,n){let a=Gs(e,n);t[a]=t[a]||"Superlative";let r=Vs(e,n);t[r]=t[r]||"Comparative"},sl=function(e,t){let n={};const a=t.one.lexicon;return Object.keys(e).forEach((r=>{const o=e[r];if(n[r]=al[o],"Noun|Verb"!==o&&"Person|Verb"!==o&&"Actor|Verb"!==o||ol(r,a,!1),"Adj|Present"===o&&(ol(r,a,!0),il(r,a,t)),"Person|Adj"===o&&il(r,a,t),"Adj|Gerund"===o||"Noun|Gerund"===o){let e=Ts(r,nl,"Gerund");a[e]||(n[e]="Infinitive")}if("Noun|Gerund"!==o&&"Adj|Noun"!==o&&"Person|Noun"!==o||function(e,t,n){let a=Oo(e,n);t[a]=t[a]||"Plural"}(r,a,t),"Adj|Past"===o){let e=Ts(r,nl,"PastTense");a[e]||(n[e]="Infinitive")}})),t=rl(n,t)};var ll=function(e){return e=function(e,t){return Object.keys(e).forEach((n=>{"Uncountable"===e[n]&&(t.two.uncountable[n]=!0,e[n]="Uncountable")})),t}((e=rl(e.one.lexicon,e)).one.lexicon,e),e=sl(e.two.switches,e),e=tl(e)};let ul={one:{_multiCache:{},lexicon:Vo},two:{irregularPlurals:wo,models:Ps,suffixPatterns:Gi,prefixPatterns:Mi,endsWith:Xi,neighbours:Yi,regexNormal:[[/^[\w.]+@[\w.]+\.[a-z]{2,3}$/,"Email"],[/^(https?:\/\/|www\.)+\w+\.[a-z]{2,3}/,"Url","http.."],[/^[a-z0-9./].+\.(com|net|gov|org|ly|edu|info|biz|dev|ru|jp|de|in|uk|br|io|ai)/,"Url",".com"],[/^[PMCE]ST$/,"Timezone","EST"],[/^ma?c'.*/,"LastName","mc'neil"],[/^o'[drlkn].*/,"LastName","o'connor"],[/^ma?cd[aeiou]/,"LastName","mcdonald"],[/^(lol)+[sz]$/,"Expression","lol"],[/^wo{2,}a*h?$/,"Expression","wooah"],[/^(hee?){2,}h?$/,"Expression","hehe"],[/^(un|de|re)\\-[a-z\u00C0-\u00FF]{2}/,"Verb","un-vite"],[/^(m|k|cm|km)\/(s|h|hr)$/,"Unit","5 k/m"],[/^(ug|ng|mg)\/(l|m3|ft3)$/,"Unit","ug/L"]],regexText:[[/^#[\p{Number}_]*\p{Letter}/u,"HashTag"],[/^@\w{2,}$/,"AtMention"],[/^([A-Z]\.){2}[A-Z]?/i,["Acronym","Noun"],"F.B.I"],[/.{3}[lkmnp]in['‘’‛‵′`´]$/,"Gerund","chillin'"],[/.{4}s['‘’‛‵′`´]$/,"Possessive","flanders'"],[/^[\p{Emoji_Presentation}\p{Extended_Pictographic}]/u,"Emoji","emoji-class"]],regexNumbers:[[/^@1?[0-9](am|pm)$/i,"Time","3pm"],[/^@1?[0-9]:[0-9]{2}(am|pm)?$/i,"Time","3:30pm"],[/^'[0-9]{2}$/,"Year"],[/^[012]?[0-9](:[0-5][0-9])(:[0-5][0-9])$/,"Time","3:12:31"],[/^[012]?[0-9](:[0-5][0-9])?(:[0-5][0-9])? ?(am|pm)$/i,"Time","1:12pm"],[/^[012]?[0-9](:[0-5][0-9])(:[0-5][0-9])? ?(am|pm)?$/i,"Time","1:12:31pm"],[/^[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}/i,"Date","iso-date"],[/^[0-9]{1,4}-[0-9]{1,2}-[0-9]{1,4}$/,"Date","iso-dash"],[/^[0-9]{1,4}\/[0-9]{1,2}\/([0-9]{4}|[0-9]{2})$/,"Date","iso-slash"],[/^[0-9]{1,4}\.[0-9]{1,2}\.[0-9]{1,4}$/,"Date","iso-dot"],[/^[0-9]{1,4}-[a-z]{2,9}-[0-9]{1,4}$/i,"Date","12-dec-2019"],[/^utc ?[+-]?[0-9]+$/,"Timezone","utc-9"],[/^(gmt|utc)[+-][0-9]{1,2}$/i,"Timezone","gmt-3"],[/^[0-9]{3}-[0-9]{4}$/,"PhoneNumber","421-0029"],[/^(\+?[0-9][ -])?[0-9]{3}[ -]?[0-9]{3}-[0-9]{4}$/,"PhoneNumber","1-800-"],[/^[-+]?\p{Currency_Symbol}[-+]?[0-9]+(,[0-9]{3})*(\.[0-9]+)?([kmb]|bn)?\+?$/u,["Money","Value"],"$5.30"],[/^[-+]?[0-9]+(,[0-9]{3})*(\.[0-9]+)?\p{Currency_Symbol}\+?$/u,["Money","Value"],"5.30£"],[/^[-+]?[$£]?[0-9]([0-9,.])+(usd|eur|jpy|gbp|cad|aud|chf|cny|hkd|nzd|kr|rub)$/i,["Money","Value"],"$400usd"],[/^[-+]?[0-9]+(,[0-9]{3})*(\.[0-9]+)?\+?$/,["Cardinal","NumericValue"],"5,999"],[/^[-+]?[0-9]+(,[0-9]{3})*(\.[0-9]+)?(st|nd|rd|r?th)$/,["Ordinal","NumericValue"],"53rd"],[/^\.[0-9]+\+?$/,["Cardinal","NumericValue"],".73th"],[/^[-+]?[0-9]+(,[0-9]{3})*(\.[0-9]+)?%\+?$/,["Percent","Cardinal","NumericValue"],"-4%"],[/^\.[0-9]+%$/,["Percent","Cardinal","NumericValue"],".3%"],[/^[0-9]{1,4}\/[0-9]{1,4}(st|nd|rd|th)?s?$/,["Fraction","NumericValue"],"2/3rds"],[/^[0-9.]{1,3}[a-z]{0,2}[-–—][0-9]{1,3}[a-z]{0,2}$/,["Value","NumberRange"],"3-4"],[/^[0-9]{1,2}(:[0-9][0-9])?(am|pm)? ?[-–—] ?[0-9]{1,2}(:[0-9][0-9])?(am|pm)$/,["Time","NumberRange"],"3-4pm"],[/^[0-9.]+([a-z°]{1,4})$/,"NumericValue","9km"]],switches:zo,clues:yi,uncountable:{},orgWords:As}};ul=ll(ul);var cl=ul,dl=function(e,t,n,a){const r=a.methods.one.setTag;if(0===t&&e.length>=3){const t=/:/;if(e[0].post.match(t)){let t=e[1];if(t.tags.has("Value")||t.tags.has("Email")||t.tags.has("PhoneNumber"))return;r([e[0]],"Expression",a,null,"2-punct-colon''")}}},hl=function(e,t,n,a){const r=a.methods.one.setTag;"-"===e[t].post&&e[t+1]&&r([e[t],e[t+1]],"Hyphenated",a,null,"1-punct-hyphen''")};const gl=/^(under|over|mis|re|un|dis|semi)-?/;var ml=function(e,t,n){const a=n.two.switches;let r=e[t];if(a.hasOwnProperty(r.normal))r.switch=a[r.normal];else if(gl.test(r.normal)){let e=r.normal.replace(gl,"");e.length>3&&a.hasOwnProperty(e)&&(r.switch=a[e])}},pl=function(e,t,n){if(!t||0===t.length)return;const a="undefined"!=typeof process&&process.env?process.env:self.env||{};a&&a.DEBUG_TAGS&&((e,t,n="")=>{let a=e.text||"["+e.implicit+"]";var r;"string"!=typeof t&&t.length>2&&(t=t.slice(0,2).join(", #")+" +"),t="string"!=typeof t?t.join(", #"):t,console.log(` ${(r=a,""+r+"").padEnd(24)} → #${t.padEnd(22)} ${(e=>""+e+"")(n)}`)})(e,t,n),e.tags=e.tags||new Set,"string"==typeof t?e.tags.add(t):t.forEach((t=>e.tags.add(t)))};const fl=["Acronym","Abbreviation","ProperNoun","Uncountable","Possessive","Pronoun","Activity","Honorific","Month"];var bl=function(e,t,n){let a=e[t],r=Array.from(a.tags);for(let e=0;ee.tags.has(t)))||(Ys(e.normal)?pl(e,"Plural","3-plural-guess"):pl(e,"Singular","3-singular-guess"))}(a),function(e){let t=e.tags;if(t.has("Verb")&&1===t.size){let t=xs(e.normal);t&&pl(e,t,"3-verb-tense-guess")}}(a)};const vl=/^\p{Lu}[\p{Ll}'’]/u,yl=/[0-9]/,wl=["Date","Month","WeekDay","Unit","Expression"],kl=/[IVX]/,Pl=/^[IVXLCDM]{2,}$/,Al=/^M{0,4}(CM|CD|D?C{0,3})(XC|XL|L?X{0,3})(IX|IV|V?I{0,3})$/,Il={li:!0,dc:!0,md:!0,dm:!0,ml:!0};var El=function(e,t,n){let a=e[t];a.index=a.index||[0,0];let r=a.index[1],o=a.text||"";return 0!==r&&!0===vl.test(o)&&!1===yl.test(o)?wl.find((e=>a.tags.has(e)))||a.pre.match(/["']$/)||"the"===a.normal?null:(bl(e,t,n),a.tags.has("Noun")||a.tags.clear(),pl(a,"ProperNoun","2-titlecase"),!0):o.length>=2&&Pl.test(o)&&kl.test(o)&&Al.test(o)&&!Il[a.normal]?(pl(a,"RomanNumeral","2-xvii"),!0):null};const jl=function(e="",t=[]){const n=e.length;let a=7;n<=a&&(a=n-1);for(let r=a;r>1;r-=1){let a=e.substring(n-r,n);if(!0===t[a.length].hasOwnProperty(a))return t[a.length][a]}return null};var Dl=function(e,t,n){let a=e[t];if(0===a.tags.size){let e=jl(a.normal,n.two.suffixPatterns);if(null!==e)return pl(a,e,"2-suffix"),a.confidence=.7,!0;if(a.implicit&&(e=jl(a.implicit,n.two.suffixPatterns),null!==e))return pl(a,e,"2-implicit-suffix"),a.confidence=.7,!0}return null};const Nl=/['‘’‛‵′`´]/,xl=function(e,t){for(let n=0;nn-3&&(a=n-3);for(let n=a;n>2;n-=1){let a=e.substring(0,n);if(!0===t[a.length].hasOwnProperty(a))return t[a.length][a]}return null}(a.normal,n.two.prefixPatterns);if(null!==e)return pl(a,e,"2-prefix"),a.confidence=.5,!0}return null};const Fl=new Set(["in","on","by","until","for","to","during","throughout","through","within","before","after","of","this","next","last","circa","around","post","pre","budget","classic","plan","may"]),Ol=function(e){if(!e)return!1;let t=e.normal||e.implicit;return!!Fl.has(t)||!!(e.tags.has("Date")||e.tags.has("Month")||e.tags.has("WeekDay")||e.tags.has("Year"))||!!e.tags.has("ProperNoun")},Gl=function(e){return!(!e||!e.tags.has("Ordinal")&&!(e.tags.has("Cardinal")&&e.normal.length<3)&&"is"!==e.normal&&"was"!==e.normal)},Vl=function(e){return e&&(e.tags.has("Date")||e.tags.has("Month")||e.tags.has("WeekDay")||e.tags.has("Year"))};var zl=function(e,t){const n=e[t];if(n.tags.has("NumericValue")&&n.tags.has("Cardinal")&&4===n.normal.length){let a=Number(n.normal);if(a&&!isNaN(a)&&a>1400&&a<2100){let r=e[t-1],o=e[t+1];if(Ol(r)||Ol(o))return pl(n,"Year","2-tagYear");if(a>=1920&&a<2025){if(Gl(r)||Gl(o))return pl(n,"Year","2-tagYear-close");if(Vl(e[t-2])||Vl(e[t+2]))return pl(n,"Year","2-tagYear-far");if(r&&(r.tags.has("Determiner")||r.tags.has("Possessive"))&&o&&o.tags.has("Noun")&&!o.tags.has("Plural"))return pl(n,"Year","2-tagYear-noun")}}}return null},Ll=function(e,t,n,a){const r=a.methods.one.setTag,o=e[t],i=["PastTense","PresentTense","Auxiliary","Modal","Particle"];o.tags.has("Verb")&&(i.find((e=>o.tags.has(e)))||r([o],"Infinitive",a,null,"2-verb-type''"))};const Ml=/^[A-Z]('s|,)?$/,Sl=/^[A-Z-]+$/,$l=/^[A-Z]+s$/,Bl=/([A-Z]\.)+[A-Z]?,?$/,Jl=/[A-Z]{2,}('s|,)?$/,Hl=/([a-z]\.)+[a-z]\.?$/,Wl={I:!0,A:!0},Kl={la:!0,ny:!0,us:!0,dc:!0,gb:!0};var ql=function(e,t,n){let a=e[t];return a.tags.has("RomanNumeral")||a.tags.has("Acronym")?null:function(e,t){let n=e.text;if(!1===Sl.test(n)){if(!(n.length>3&&!0===$l.test(n)))return!1;n=n.replace(/s$/,"")}return!(n.length>5||Wl.hasOwnProperty(n)||t.one.lexicon.hasOwnProperty(e.normal)||!0!==Bl.test(n)&&!0!==Hl.test(n)&&!0!==Ml.test(n)&&!0!==Jl.test(n))}(a,n)?(a.tags.clear(),pl(a,["Acronym","Noun"],"3-no-period-acronym"),!0===Kl[a.normal]&&pl(a,"Place","3-place-acronym"),!0===$l.test(a.text)&&pl(a,"Plural","3-plural-acronym"),!0):!Wl.hasOwnProperty(a.text)&&Ml.test(a.text)?(a.tags.clear(),pl(a,["Acronym","Noun"],"3-one-letter-acronym"),!0):a.tags.has("Organization")&&a.text.length<=3?(pl(a,"Acronym","3-org-acronym"),!0):a.tags.has("Organization")&&Sl.test(a.text)&&a.text.length<=6?(pl(a,"Acronym","3-titlecase-acronym"),!0):null};const Ul=function(e,t){if(!e)return null;let n=t.find((t=>e.normal===t[0]));return n?n[1]:null},Ql=function(e,t){if(!e)return null;let n=t.find((t=>e.tags.has(t[0])));return n?n[1]:null};var Rl=function(e,t,n){const{leftTags:a,leftWords:r,rightWords:o,rightTags:i}=n.two.neighbours;let s=e[t];if(0===s.tags.size){let l=null;if(l=l||Ul(e[t-1],r),l=l||Ul(e[t+1],o),l=l||Ql(e[t-1],a),l=l||Ql(e[t+1],i),l)return pl(s,l,"3-[neighbour]"),bl(e,t,n),e[t].confidence=.2,!0}return null};const Xl=function(e,t,n){return!!e&&!e.tags.has("FirstName")&&!e.tags.has("Place")&&(!!(e.tags.has("ProperNoun")||e.tags.has("Organization")||e.tags.has("Acronym"))||!(n||(a=e.text,!/^\p{Lu}[\p{Ll}'’]/u.test(a)))&&(0!==t||e.tags.has("Singular")));var a};var Zl=function(e,t,n,a){const r=n.model.two.orgWords,o=n.methods.one.setTag;let i=e[t];if(!0===r[i.machine||i.normal]&&Xl(e[t-1],t-1,a)){o([e[t]],"Organization",n,null,"3-[org-word]");for(let r=t;r>=0&&Xl(e[r],r,a);r-=1)o([e[r]],"Organization",n,null,"3-[org-word]")}return null},_l=function(e,t,n){let a=!1,r=e[t].tags;(0===r.size||1===r.size&&(r.has("Hyphenated")||r.has("HashTag")||r.has("Prefix")))&&(a=!0),a&&(pl(e[t],"Noun","3-[fallback]"),bl(e,t,n),e[t].confidence=.1)};const Yl=/^[A-Z][a-z]/,eu=(e,t)=>e[t].tags.has("ProperNoun")&&Yl.test(e[t].text)?"Noun":null,tu=(e,t,n)=>0!==t||e[1]?null:n,nu={"Adj|Gerund":(e,t)=>eu(e,t),"Adj|Noun":(e,t)=>eu(e,t)||function(e,t){return!e[t+1]&&e[t-1]&&e[t-1].tags.has("Determiner")?"Noun":null}(e,t),"Actor|Verb":(e,t)=>eu(e,t),"Adj|Past":(e,t)=>eu(e,t),"Adj|Present":(e,t)=>eu(e,t),"Noun|Gerund":(e,t)=>eu(e,t),"Noun|Verb":(e,t)=>t>0&&eu(e,t)||tu(e,t,"Infinitive"),"Plural|Verb":(e,t)=>eu(e,t)||tu(e,t,"PresentTense")||function(e,t,n){return 0===t&&e.length>3?n:null}(e,t,"Plural"),"Person|Noun":(e,t)=>eu(e,t),"Person|Verb":(e,t)=>0!==t?eu(e,t):null,"Person|Adj":(e,t)=>0===t&&e.length>1||eu(e,t)?"Person":null};var au=nu;const ru="undefined"!=typeof process&&process.env?process.env:self.env||{},ou=/^(under|over|mis|re|un|dis|semi)-?/,iu=(e,t)=>{if(!e||!t)return null;let n=e.normal||e.implicit,a=null;return t.hasOwnProperty(n)&&(a=t[n]),a&&ru.DEBUG_TAGS&&console.log(`\n  ↓ - '${n}' `),a},su=(e,t={},n)=>{if(!e||!t)return null;let a=Array.from(e.tags).sort(((e,t)=>(n[e]?n[e].parents.length:0)>(n[t]?n[t].parents.length:0)?-1:1)),r=a.find((e=>t[e]));return r&&ru.DEBUG_TAGS&&console.log(`  ↓ - '${e.normal||e.implicit}' (#${r}) `),r=t[r],r};var lu=function(e,t,n){const a=n.model,r=n.methods.one.setTag,{switches:o,clues:i}=a.two,s=e[t];let l=s.normal||s.implicit||"";if(ou.test(l)&&!o[l]&&(l=l.replace(ou,"")),s.switch){let o=s.switch;if(s.tags.has("Acronym")||s.tags.has("PhrasalVerb"))return;let u=function(e,t,n,a){if(!n)return null;const r=a.one.tagSet;let o=iu(e[t+1],n.afterWords);return o=o||iu(e[t-1],n.beforeWords),o=o||su(e[t-1],n.beforeTags,r),o=o||su(e[t+1],n.afterTags,r),o}(e,t,i[o],a);au[o]&&(u=au[o](e,t)||u),u?(r([s],u,n,null,`3-[switch] (${o})`),bl(e,t,a)):ru.DEBUG_TAGS&&console.log(`\n -> X - '${l}' : (${o}) `)}};const uu={there:!0,this:!0,it:!0,him:!0,her:!0,us:!0};var cu=function(e,t){const n=t.methods.one.setTag,a=t.model.one._multiCache||{};let r=e[0];if(("Noun|Verb"===r.switch||r.tags.has("Infinitive"))&&e.length>=2){if(e.length<4&&!uu[e[1].normal])return;if(!r.tags.has("PhrasalVerb")&&a.hasOwnProperty(r.normal))return;(e[1].tags.has("Noun")||e[1].tags.has("Determiner"))&&(e.slice(1,3).some((e=>e.tags.has("Verb")))&&!r.tags.has("#PhrasalVerb")||n([r],"Imperative",t,null,"3-[imperative]"))}};const du=function(e){if(e.filter((e=>!e.tags.has("ProperNoun"))).length<=3)return!1;const t=/^[a-z]/;return e.every((e=>!t.test(e.text)))},hu=function(e,t,n,a){for(let r=0;r{dl(e,0,t,n)}))}(r,n,a);let o=t.two.quickSplit(r);for(let e=0;e{let t=e.machine||e.normal||e.text;return t=t.replace(/'s$/,""),t},Plural:(e,t)=>{let n=e.machine||e.normal||e.text;return t.methods.two.transform.noun.toSingular(n,t.model)},Copula:()=>"is",PastTense:(e,t)=>{let n=e.machine||e.normal||e.text;return t.methods.two.transform.verb.toInfinitive(n,t.model,"PastTense")},Gerund:(e,t)=>{let n=e.machine||e.normal||e.text;return t.methods.two.transform.verb.toInfinitive(n,t.model,"Gerund")},PresentTense:(e,t)=>{let n=e.machine||e.normal||e.text;return e.tags.has("Infinitive")?n:t.methods.two.transform.verb.toInfinitive(n,t.model,"PresentTense")},Comparative:(e,t)=>{let n=e.machine||e.normal||e.text;return t.methods.two.transform.adjective.fromComparative(n,t.model)},Superlative:(e,t)=>{let n=e.machine||e.normal||e.text;return t.methods.two.transform.adjective.fromSuperlative(n,t.model)},Adverb:(e,t)=>{const{fromAdverb:n}=t.methods.two.transform.adjective;return n(e.machine||e.normal||e.text)}};var fu=function(e){const t=e.world,n=Object.keys(pu);e.docs.forEach((e=>{for(let a=0;a{e.forEach((e=>{e.penn=function(e){if(e.tags.has("ProperNoun")&&e.tags.has("Plural"))return"NNPS";if(e.tags.has("Possessive")&&e.tags.has("Pronoun"))return"PRP$";if("there"===e.normal)return"EX";if("to"===e.normal)return"TO";let t=e.tagRank||[];for(let e=0;e{e.implicit=e.normal,e.text="",e.normal=""}));for(let e=0;e{let t=Nu.test(e[0].text);e.forEach(((t,n)=>{t.text=t.implicit||"",delete t.implicit,ne.toUpperCase()))}(e[0].text))})),this.compute("normal"),this}}e.prototype.contractions=function(){let e=this.match("@hasContraction+");return new Contractions(this.document,e.pointer)},e.prototype.contract=Du},Cu=function(e,t,n){let[a,r]=t;n&&0!==n.length&&(n=n.map(((e,t)=>(e.implicit=e.text,e.machine=e.text,e.pre="",e.post="",e.text="",e.normal="",e.index=[a,r+t],e))),n[0]&&(n[0].pre=e[a][r].pre,n[n.length-1].post=e[a][r].post,n[0].text=e[a][r].text,n[0].normal=e[a][r].normal),e[a].splice(r,1,...n))};const Tu=/'/;var Fu=function(e,t){let n=e[t].normal.split(Tu)[0];if(((e,t)=>e.slice(t+1,t+3).some((e=>e.tags.has("PastTense"))))(e,t))return[n,"has"];if("let"===n)return[n,"us"];if("there"===n){let a=e[t+1];if(a&&a.tags.has("Plural"))return[n,"are"]}return[n,"is"]};const Ou=/'/;var Gu=function(e,t){let n=e[t].normal.split(Ou)[0];return"how"===n||"what"===n?[n,"did"]:!0===((e,t)=>!(!e[t+1]||"better"!=e[t+1].normal)||e.slice(t+1,t+3).some((e=>e.tags.has("PastTense"))))(e,t)?[n,"had"]:[n,"would"]},Vu=function(e,t){if("ain't"===e[t].normal||"aint"===e[t].normal){if(e[t+1]&&"never"===e[t+1].normal)return["have"];let n=function(e,t){for(let n=t-1;n>=0;n-=1)if(e[n].tags.has("Noun")||e[n].tags.has("Pronoun")||e[n].tags.has("Plural")||e[n].tags.has("Singular"))return e[n];return null}(e,t);if(n){if("we"===n.normal||"they"===n.normal)return["are","not"];if("i"===n.normal)return["am","not"];if(n.tags&&n.tags.has("Plural"))return["are","not"]}return["is","not"]}return[e[t].normal.replace(/n't/,""),"not"]};const zu={that:!0,there:!0,let:!0,here:!0,everywhere:!0},Lu={in:!0,by:!0,for:!0};var Mu=(e,t)=>{let n=e[t];if(zu.hasOwnProperty(n.machine||n.normal))return!1;if(n.tags.has("Possessive"))return!0;if(n.tags.has("QuestionWord"))return!1;if("he's"===n.normal||"she's"===n.normal)return!1;let a=e[t+1];if(!a)return!0;if("it's"===n.normal)return!!a.tags.has("#Noun");if(a.tags.has("Verb"))return!!a.tags.has("Infinitive")||!!a.tags.has("PresentTense");if(a.tags.has("Noun")){let e=a.machine||a.normal;return!("here"===e||"there"===e||"everywhere"===e||a.tags.has("Possessive")||a.tags.has("ProperNoun")&&!n.tags.has("ProperNoun"))}if(e[t-1]&&!0===Lu[e[t-1].normal])return!0;let r=e[t+2];return!(!r||!r.tags.has("Noun")||r.tags.has("Pronoun"))||(a.tags.has("Adjective")||a.tags.has("Adverb")||a.tags.has("Verb"),!1)};const Su=/'/,$u=function(e,t,n,a){let r=t.update();r.document=[e];let o=n+a;n>0&&(n-=1),e[o]&&(o+=1),r.ptrs=[[0,n,o]],r.compute(["lexicon","preTagger"]),function(e){e.forEach(((e,t)=>{e.index&&(e.index[1]=t)}))}(e)},Bu={d:(e,t)=>Gu(e,t),t:(e,t)=>Vu(e,t),s:(e,t,n)=>Mu(e,t)?n.methods.one.setTag([e[t]],"Possessive",n,"2-contraction"):Fu(e,t)},Ju=function(e,t){let n=t.fromText(e.join(" "));return n.compute("id"),n.docs[0]};var Hu={contractionTwo:e=>{let{world:t,document:n}=e;n.forEach(((a,r)=>{for(let o=a.length-1;o>=0;o-=1){if(a[o].implicit)return;let i=null;!0===Su.test(a[o].normal)&&([,i]=a[o].normal.split(Su));let s=null;Bu.hasOwnProperty(i)&&(s=Bu[i](a,o,t)),s&&(s=Ju(s,e),Cu(n,[r,o],s),$u(n[r],e,o,s.length))}}))}},Wu={compute:Hu,api:xu,hooks:["contractionTwo"]};const Ku="(hard|fast|late|early|high|right|deep|close|direct)",qu="(i|we|they)";let Uu=[].concat([{match:"(got|were|was|is|are|am) (#PastTense|#Participle)",tag:"Passive",reason:"got-walked"},{match:"(was|were|is|are|am) being (#PastTense|#Participle)",tag:"Passive",reason:"was-being"},{match:"(had|have|has) been (#PastTense|#Participle)",tag:"Passive",reason:"had-been"},{match:"will be being? (#PastTense|#Participle)",tag:"Passive",reason:"will-be-cleaned"},{match:"#Noun [(#PastTense|#Participle)] by (the|a) #Noun",group:0,tag:"Passive",reason:"suffered-by"}],[{match:"[(all|both)] #Determiner #Noun",group:0,tag:"Noun",reason:"all-noun"},{match:"#Copula [(just|alone)]$",group:0,tag:"Adjective",reason:"not-adverb"},{match:"#Singular is #Adverb? [#PastTense$]",group:0,tag:"Adjective",reason:"is-filled"},{match:"[#PastTense] #Singular is",group:0,tag:"Adjective",reason:"smoked-poutine"},{match:"[#PastTense] #Plural are",group:0,tag:"Adjective",reason:"baked-onions"},{match:"well [#PastTense]",group:0,tag:"Adjective",reason:"well-made"},{match:"#Copula [fucked up?]",group:0,tag:"Adjective",reason:"swears-adjective"},{match:"#Singular (seems|appears) #Adverb? [#PastTense$]",group:0,tag:"Adjective",reason:"seems-filled"},{match:"#Copula #Adjective? [(out|in|through)]$",group:0,tag:"Adjective",reason:"still-out"},{match:"^[#Adjective] (the|your) #Noun",group:0,notIf:"(all|even)",tag:"Infinitive",reason:"shut-the"},{match:"the [said] #Noun",group:0,tag:"Adjective",reason:"the-said-card"},{match:"[#Hyphenated (#Hyphenated && #PastTense)] (#Noun|#Conjunction)",group:0,tag:"Adjective",notIf:"#Adverb",reason:"faith-based"},{match:"[#Hyphenated (#Hyphenated && #Gerund)] (#Noun|#Conjunction)",group:0,tag:"Adjective",notIf:"#Adverb",reason:"self-driving"},{match:"[#PastTense (#Hyphenated && #PhrasalVerb)] (#Noun|#Conjunction)",group:0,tag:"Adjective",reason:"dammed-up"},{match:"(#Hyphenated && #Value) fold",tag:"Adjective",reason:"two-fold"},{match:"must (#Hyphenated && #Infinitive)",tag:"Adjective",reason:"must-win"},{match:"(#Hyphenated && #Infinitive) #Hyphenated",tag:"Adjective",notIf:"#PhrasalVerb",reason:"vacuum-sealed"},{match:"too much",tag:"Adverb Adjective",reason:"bit-4"},{match:"a bit much",tag:"Determiner Adverb Adjective",reason:"bit-3"},{match:"[(un|contra|extra|inter|intra|macro|micro|mid|mis|mono|multi|pre|sub|tri|ex)] #Adjective",group:0,tag:["Adjective","Prefix"],reason:"un-skilled"}],[{match:"#Adverb [#Adverb] (and|or|then)",group:0,tag:"Adjective",reason:"kinda-sparkly-and"},{match:"[(dark|bright|flat|light|soft|pale|dead|dim|faux|little|wee|sheer|most|near|good|extra|all)] #Adjective",group:0,tag:"Adverb",reason:"dark-green"},{match:"#Copula [far too] #Adjective",group:0,tag:"Adverb",reason:"far-too"},{match:"#Copula [still] (in|#Gerund|#Adjective)",group:0,tag:"Adverb",reason:"was-still-walking"},{match:`#Plural ${Ku}`,tag:"#PresentTense #Adverb",reason:"studies-hard"},{match:`#Verb [${Ku}] !#Noun?`,group:0,notIf:"(#Copula|get|got|getting|become|became|becoming|feel|feels|feeling)",tag:"Adverb",reason:"shops-direct"},{match:"[#Plural] a lot",tag:"PresentTense",reason:"studies-a-lot"}],[{match:"as [#Gerund] as",group:0,tag:"Adjective",reason:"as-gerund-as"},{match:"more [#Gerund] than",group:0,tag:"Adjective",reason:"more-gerund-than"},{match:"(so|very|extremely) [#Gerund]",group:0,tag:"Adjective",reason:"so-gerund"},{match:"(found|found) it #Adverb? [#Gerund]",group:0,tag:"Adjective",reason:"found-it-gerund"},{match:"a (little|bit|wee) bit? [#Gerund]",group:0,tag:"Adjective",reason:"a-bit-gerund"},{match:"#Gerund [#Gerund]",group:0,tag:"Adjective",notIf:"(impersonating|practicing|considering|assuming)",reason:"looking-annoying"},{match:"(looked|look|looks) #Adverb? [%Adj|Gerund%]",group:0,tag:"Adjective",notIf:"(impersonating|practicing|considering|assuming)",reason:"looked-amazing"},{match:"[%Adj|Gerund%] #Determiner",group:0,tag:"Gerund",reason:"developing-a"},{match:"#Possessive [%Adj|Gerund%] #Noun",group:0,tag:"Adjective",reason:"leading-manufacturer"}],[{match:"#Determiner [#Adjective] #Copula",group:0,tag:"Noun",reason:"the-adj-is"},{match:"#Adjective [#Adjective] #Copula",group:0,tag:"Noun",reason:"adj-adj-is"},{match:"(his|its) [%Adj|Noun%]",group:0,tag:"Noun",notIf:"#Hyphenated",reason:"his-fine"},{match:"#Copula #Adverb? [all]",group:0,tag:"Noun",reason:"is-all"},{match:"(have|had) [#Adjective] #Preposition .",group:0,tag:"Noun",reason:"have-fun"},{match:"#Gerund (giant|capital|center|zone|application)",tag:"Noun",reason:"brewing-giant"},{match:"#Preposition (a|an) [#Adjective]$",group:0,tag:"Noun",reason:"an-instant"},{match:"no [#Adjective] #Modal",group:0,tag:"Noun",reason:"no-golden"},{match:"[brand #Gerund?] new",group:0,tag:"Adverb",reason:"brand-new"},{match:"(#Determiner|#Comparative|new|different) [kind]",group:0,tag:"Noun",reason:"some-kind"},{match:"#Possessive [%Adj|Noun%] #Noun",group:0,tag:"Adjective",reason:"her-favourite"},{match:"must && #Hyphenated .",tag:"Adjective",reason:"must-win"},{match:"#Determiner [#Adjective]$",tag:"Noun",notIf:"(this|that|#Comparative|#Superlative)",reason:"the-south"},{match:"(#Noun && #Hyphenated) (#Adjective && #Hyphenated)",tag:"Adjective",notIf:"(this|that|#Comparative|#Superlative)",reason:"company-wide"},{match:"#Determiner [#Adjective] (#Copula|#Determiner)",notIf:"(#Comparative|#Superlative)",group:0,tag:"Noun",reason:"the-poor"}],[{match:"[still] #Adjective",group:0,tag:"Adverb",reason:"still-advb"},{match:"[still] #Verb",group:0,tag:"Adverb",reason:"still-verb"},{match:"[so] #Adjective",group:0,tag:"Adverb",reason:"so-adv"},{match:"[way] #Comparative",group:0,tag:"Adverb",reason:"way-adj"},{match:"[way] #Adverb #Adjective",group:0,tag:"Adverb",reason:"way-too-adj"},{match:"[all] #Verb",group:0,tag:"Adverb",reason:"all-verb"},{match:"#Verb [like]",group:0,notIf:"(#Modal|#PhrasalVerb)",tag:"Adverb",reason:"verb-like"},{match:"(barely|hardly) even",tag:"Adverb",reason:"barely-even"},{match:"[even] #Verb",group:0,tag:"Adverb",reason:"even-walk"},{match:"[even] #Comparative",group:0,tag:"Adverb",reason:"even-worse"},{match:"[even] (#Determiner|#Possessive)",group:0,tag:"#Adverb",reason:"even-the"},{match:"even left",tag:"#Adverb #Verb",reason:"even-left"},{match:"[way] #Adjective",group:0,tag:"#Adverb",reason:"way-over"},{match:"#PresentTense [(hard|quick|bright|slow|fast|backwards|forwards)]",notIf:"#Copula",group:0,tag:"Adverb",reason:"lazy-ly"},{match:"[much] #Adjective",group:0,tag:"Adverb",reason:"bit-1"},{match:"#Copula [#Adverb]$",group:0,tag:"Adjective",reason:"is-well"},{match:"a [(little|bit|wee) bit?] #Adjective",group:0,tag:"Adverb",reason:"a-bit-cold"},{match:"[(super|pretty)] #Adjective",group:0,tag:"Adverb",reason:"super-strong"},{match:"(become|fall|grow) #Adverb? [#PastTense]",group:0,tag:"Adjective",reason:"overly-weakened"},{match:"(a|an) #Adverb [#Participle] #Noun",group:0,tag:"Adjective",reason:"completely-beaten"},{match:"#Determiner #Adverb? [close]",group:0,tag:"Adjective",reason:"a-close"},{match:"#Gerund #Adverb? [close]",group:0,tag:"Adverb",notIf:"(getting|becoming|feeling)",reason:"being-close"},{match:"(the|those|these|a|an) [#Participle] #Noun",group:0,tag:"Adjective",reason:"blown-motor"},{match:"(#PresentTense|#PastTense) [back]",group:0,tag:"Adverb",notIf:"(#PhrasalVerb|#Copula)",reason:"charge-back"},{match:"#Verb [around]",group:0,tag:"Adverb",notIf:"#PhrasalVerb",reason:"send-around"},{match:"[later] #PresentTense",group:0,tag:"Adverb",reason:"later-say"},{match:"#Determiner [well] !#PastTense?",group:0,tag:"Noun",reason:"the-well"},{match:"#Adjective [enough]",group:0,tag:"Adverb",reason:"high-enough"}],[{match:"[sun] the #Ordinal",tag:"WeekDay",reason:"sun-the-5th"},{match:"[sun] #Date",group:0,tag:"WeekDay",reason:"sun-feb"},{match:"#Date (on|this|next|last|during)? [sun]",group:0,tag:"WeekDay",reason:"1pm-sun"},{match:"(in|by|before|during|on|until|after|of|within|all) [sat]",group:0,tag:"WeekDay",reason:"sat"},{match:"(in|by|before|during|on|until|after|of|within|all) [wed]",group:0,tag:"WeekDay",reason:"wed"},{match:"(in|by|before|during|on|until|after|of|within|all) [march]",group:0,tag:"Month",reason:"march"},{match:"[sat] #Date",group:0,tag:"WeekDay",reason:"sat-feb"},{match:"#Preposition [(march|may)]",group:0,tag:"Month",reason:"in-month"},{match:"(this|next|last) (march|may) !#Infinitive?",tag:"#Date #Month",reason:"this-month"},{match:"(march|may) the? #Value",tag:"#Month #Date #Date",reason:"march-5th"},{match:"#Value of? (march|may)",tag:"#Date #Date #Month",reason:"5th-of-march"},{match:"[(march|may)] .? #Date",group:0,tag:"Month",reason:"march-and-feb"},{match:"#Date .? [(march|may)]",group:0,tag:"Month",reason:"feb-and-march"},{match:"#Adverb [(march|may)]",group:0,tag:"Verb",reason:"quickly-march"},{match:"[(march|may)] #Adverb",group:0,tag:"Verb",reason:"march-quickly"}],[{match:"#Holiday (day|eve)",tag:"Holiday",reason:"holiday-day"},{match:"#Value of #Month",tag:"Date",reason:"value-of-month"},{match:"#Cardinal #Month",tag:"Date",reason:"cardinal-month"},{match:"#Month #Value to #Value",tag:"Date",reason:"value-to-value"},{match:"#Month the #Value",tag:"Date",reason:"month-the-value"},{match:"(#WeekDay|#Month) #Value",tag:"Date",reason:"date-value"},{match:"#Value (#WeekDay|#Month)",tag:"Date",reason:"value-date"},{match:"(#TextValue && #Date) #TextValue",tag:"Date",reason:"textvalue-date"},{match:"#Month #NumberRange",tag:"Date",reason:"aug 20-21"},{match:"#WeekDay #Month #Ordinal",tag:"Date",reason:"week mm-dd"},{match:"#Month #Ordinal #Cardinal",tag:"Date",reason:"mm-dd-yyy"},{match:"(#Place|#Demonmym|#Time) (standard|daylight|central|mountain)? time",tag:"Timezone",reason:"std-time"},{match:"(eastern|mountain|pacific|central|atlantic) (standard|daylight|summer)? time",tag:"Timezone",reason:"eastern-time"},{match:"#Time [(eastern|mountain|pacific|central|est|pst|gmt)]",group:0,tag:"Timezone",reason:"5pm-central"},{match:"(central|western|eastern) european time",tag:"Timezone",reason:"cet"}],[{match:"(the|any) [more]",group:0,tag:"Singular",reason:"more-noun"},{match:"[more] #Noun",group:0,tag:"Adjective",reason:"more-noun"},{match:"(right|rights) of .",tag:"Noun",reason:"right-of"},{match:"a [bit]",group:0,tag:"Singular",reason:"bit-2"},{match:"a [must]",group:0,tag:"Singular",reason:"must-2"},{match:"(we|us) [all]",group:0,tag:"Noun",reason:"we all"},{match:"due to [#Verb]",group:0,tag:"Noun",reason:"due-to"},{match:"some [#Verb] #Plural",group:0,tag:"Noun",reason:"determiner6"},{match:"#Possessive #Ordinal [#PastTense]",group:0,tag:"Noun",reason:"first-thought"},{match:"(the|this|those|these) #Adjective [%Verb|Noun%]",group:0,tag:"Noun",notIf:"#Copula",reason:"the-adj-verb"},{match:"(the|this|those|these) #Adverb #Adjective [#Verb]",group:0,tag:"Noun",reason:"determiner4"},{match:"the [#Verb] #Preposition .",group:0,tag:"Noun",reason:"determiner1"},{match:"(a|an|the) [#Verb] of",group:0,tag:"Noun",reason:"the-verb-of"},{match:"#Determiner #Noun of [#Verb]",group:0,tag:"Noun",notIf:"#Gerund",reason:"noun-of-noun"},{match:"#PastTense #Preposition [#PresentTense]",group:0,notIf:"#Gerund",tag:"Noun",reason:"ended-in-ruins"},{match:"#Conjunction [u]",group:0,tag:"Pronoun",reason:"u-pronoun-2"},{match:"[u] #Verb",group:0,tag:"Pronoun",reason:"u-pronoun-1"},{match:"#Determiner [(western|eastern|northern|southern|central)] #Noun",group:0,tag:"Noun",reason:"western-line"},{match:"(#Singular && @hasHyphen) #PresentTense",tag:"Noun",reason:"hyphen-verb"},{match:"is no [#Verb]",group:0,tag:"Noun",reason:"is-no-verb"},{match:"do [so]",group:0,tag:"Noun",reason:"so-noun"},{match:"#Determiner [(shit|damn|hell)]",group:0,tag:"Noun",reason:"swears-noun"},{match:"to [(shit|hell)]",group:0,tag:"Noun",reason:"to-swears"},{match:"(the|these) [#Singular] (were|are)",group:0,tag:"Plural",reason:"singular-were"},{match:"a #Noun+ or #Adverb+? [#Verb]",group:0,tag:"Noun",reason:"noun-or-noun"},{match:"(the|those|these|a|an) #Adjective? [#PresentTense #Particle?]",group:0,tag:"Noun",notIf:"(seem|appear|include|#Gerund|#Copula)",reason:"det-inf"},{match:"#Noun #Actor",tag:"Actor",notIf:"(#Person|#Pronoun)",reason:"thing-doer"},{match:"#Gerund #Actor",tag:"Actor",reason:"gerund-doer"},{match:"co #Singular",tag:"Actor",reason:"co-noun"},{match:"[#Noun+] #Actor",group:0,tag:"Actor",notIf:"(#Honorific|#Pronoun|#Possessive)",reason:"air-traffic-controller"},{match:"(urban|cardiac|cardiovascular|respiratory|medical|clinical|visual|graphic|creative|dental|exotic|fine|certified|registered|technical|virtual|professional|amateur|junior|senior|special|pharmaceutical|theoretical)+ #Noun? #Actor",tag:"Actor",reason:"fine-artist"},{match:"#Noun+ (coach|chef|king|engineer|fellow|personality|boy|girl|man|woman|master)",tag:"Actor",reason:"dance-coach"},{match:"chief . officer",tag:"Actor",reason:"chief-x-officer"},{match:"chief of #Noun+",tag:"Actor",reason:"chief-of-police"},{match:"senior? vice? president of #Noun+",tag:"Actor",reason:"president-of"},{match:"#Determiner [sun]",group:0,tag:"Singular",reason:"the-sun"},{match:"#Verb (a|an) [#Value]$",group:0,tag:"Singular",reason:"did-a-value"},{match:"the [(can|will|may)]",group:0,tag:"Singular",reason:"the can"},{match:"#FirstName #Acronym? (#Possessive && #LastName)",tag:"Possessive",reason:"name-poss"},{match:"#Organization+ #Possessive",tag:"Possessive",reason:"org-possessive"},{match:"#Place+ #Possessive",tag:"Possessive",reason:"place-possessive"},{match:"#Possessive #PresentTense #Particle?",notIf:"(#Gerund|her)",tag:"Noun",reason:"possessive-verb"},{match:"(my|our|their|her|his|its) [(#Plural && #Actor)] #Noun",tag:"Possessive",reason:"my-dads"},{match:"#Value of a [second]",group:0,unTag:"Value",tag:"Singular",reason:"10th-of-a-second"},{match:"#Value [seconds]",group:0,unTag:"Value",tag:"Plural",reason:"10-seconds"},{match:"in [#Infinitive]",group:0,tag:"Singular",reason:"in-age"},{match:"a [#Adjective] #Preposition",group:0,tag:"Noun",reason:"a-minor-in"},{match:"#Determiner [#Singular] said",group:0,tag:"Actor",reason:"the-actor-said"},{match:"#Determiner #Noun [(feel|sense|process|rush|side|bomb|bully|challenge|cover|crush|dump|exchange|flow|function|issue|lecture|limit|march|process)] !(#Preposition|to|#Adverb)?",group:0,tag:"Noun",reason:"the-noun-sense"},{match:"[#PresentTense] (of|by|for) (a|an|the) #Noun #Copula",group:0,tag:"Plural",reason:"photographs-of"},{match:"#Infinitive and [%Noun|Verb%]",group:0,tag:"Infinitive",reason:"fight and win"},{match:"#Noun and [#Verb] and #Noun",group:0,tag:"Noun",reason:"peace-and-flowers"},{match:"the #Cardinal [%Adj|Noun%]",group:0,tag:"Noun",reason:"the-1992-classic"},{match:"#Copula the [%Adj|Noun%] #Noun",group:0,tag:"Adjective",reason:"the-premier-university"},{match:"i #Verb [me] #Noun",group:0,tag:"Possessive",reason:"scottish-me"},{match:"[#PresentTense] (music|class|lesson|night|party|festival|league|ceremony)",group:0,tag:"Noun",reason:"dance-music"},{match:"[wit] (me|it)",group:0,tag:"Presposition",reason:"wit-me"},{match:"#PastTense #Possessive [#Verb]",group:0,tag:"Noun",notIf:"(saw|made)",reason:"left-her-boots"},{match:"#Value [%Plural|Verb%]",group:0,tag:"Plural",notIf:"(one|1|a|an)",reason:"35-signs"},{match:"had [#PresentTense]",group:0,tag:"Noun",notIf:"(#Gerund|come|become)",reason:"had-time"},{match:"%Adj|Noun% %Noun|Verb%",tag:"#Adjective #Noun",notIf:"#ProperNoun #Noun",reason:"instant-access"},{match:"#Determiner [%Adj|Noun%] #Conjunction",group:0,tag:"Noun",reason:"a-rep-to"},{match:"#Adjective #Noun [%Plural|Verb%]$",group:0,tag:"Plural",notIf:"#Pronoun",reason:"near-death-experiences"},{match:"#Possessive #Noun [%Plural|Verb%]$",group:0,tag:"Plural",reason:"your-guild-colors"}],[{match:"(this|that|the|a|an) [#Gerund #Infinitive]",group:0,tag:"Singular",reason:"the-planning-process"},{match:"(that|the) [#Gerund #PresentTense]",group:0,ifNo:"#Copula",tag:"Plural",reason:"the-paving-stones"},{match:"#Determiner [#Gerund] #Noun",group:0,tag:"Adjective",reason:"the-gerund-noun"},{match:"#Pronoun #Infinitive [#Gerund] #PresentTense",group:0,tag:"Noun",reason:"tipping-sucks"},{match:"#Adjective [#Gerund]",group:0,tag:"Noun",notIf:"(still|even|just)",reason:"early-warning"},{match:"[#Gerund] #Adverb? not? #Copula",group:0,tag:"Activity",reason:"gerund-copula"},{match:"#Copula [(#Gerund|#Activity)] #Copula",group:0,tag:"Gerund",reason:"are-doing-is"},{match:"[#Gerund] #Modal",group:0,tag:"Activity",reason:"gerund-modal"},{match:"#Singular for [%Noun|Gerund%]",group:0,tag:"Gerund",reason:"noun-for-gerund"},{match:"#Comparative (for|at) [%Noun|Gerund%]",group:0,tag:"Gerund",reason:"better-for-gerund"},{match:"#PresentTense the [#Gerund]",group:0,tag:"Noun",reason:"keep-the-touching"}],[{match:"#Infinitive (this|that|the) [#Infinitive]",group:0,tag:"Noun",reason:"do-this-dance"},{match:"#Gerund #Determiner [#Infinitive]",group:0,tag:"Noun",reason:"running-a-show"},{match:"#Determiner (only|further|just|more|backward) [#Infinitive]",group:0,tag:"Noun",reason:"the-only-reason"},{match:"(the|this|a|an) [#Infinitive] #Adverb? #Verb",group:0,tag:"Noun",reason:"determiner5"},{match:"#Determiner #Adjective #Adjective? [#Infinitive]",group:0,tag:"Noun",reason:"a-nice-inf"},{match:"#Determiner #Demonym [#PresentTense]",group:0,tag:"Noun",reason:"mexican-train"},{match:"#Adjective #Noun+ [#Infinitive] #Copula",group:0,tag:"Noun",reason:"career-move"},{match:"at some [#Infinitive]",group:0,tag:"Noun",reason:"at-some-inf"},{match:"(go|goes|went) to [#Infinitive]",group:0,tag:"Noun",reason:"goes-to-verb"},{match:"(a|an) #Adjective? #Noun [#Infinitive] (#Preposition|#Noun)",group:0,notIf:"from",tag:"Noun",reason:"a-noun-inf"},{match:"(a|an) #Noun [#Infinitive]$",group:0,tag:"Noun",reason:"a-noun-inf2"},{match:"#Gerund #Adjective? for [#Infinitive]",group:0,tag:"Noun",reason:"running-for"},{match:"about [#Infinitive]",group:0,tag:"Singular",reason:"about-love"},{match:"#Plural on [#Infinitive]",group:0,tag:"Noun",reason:"on-stage"},{match:"any [#Infinitive]",group:0,tag:"Noun",reason:"any-charge"},{match:"no [#Infinitive]",group:0,tag:"Noun",reason:"no-doubt"},{match:"number of [#PresentTense]",group:0,tag:"Noun",reason:"number-of-x"},{match:"(taught|teaches|learns|learned) [#PresentTense]",group:0,tag:"Noun",reason:"teaches-x"},{match:"(try|use|attempt|build|make) [#Verb #Particle?]",notIf:"(#Copula|#Noun|sure|fun|up)",group:0,tag:"Noun",reason:"do-verb"},{match:"^[#Infinitive] (is|was)",group:0,tag:"Noun",reason:"checkmate-is"},{match:"#Infinitive much [#Infinitive]",group:0,tag:"Noun",reason:"get-much"},{match:"[cause] #Pronoun #Verb",group:0,tag:"Conjunction",reason:"cause-cuz"},{match:"the #Singular [#Infinitive] #Noun",group:0,tag:"Noun",notIf:"#Pronoun",reason:"cardio-dance"},{match:"#Determiner #Modal [#Noun]",group:0,tag:"PresentTense",reason:"should-smoke"},{match:"this [#Plural]",group:0,tag:"PresentTense",notIf:"(#Preposition|#Date)",reason:"this-verbs"},{match:"#Noun that [#Plural]",group:0,tag:"PresentTense",notIf:"(#Preposition|#Pronoun|way)",reason:"voice-that-rocks"},{match:"that [#Plural] to",group:0,tag:"PresentTense",notIf:"#Preposition",reason:"that-leads-to"},{match:"(let|make|made) (him|her|it|#Person|#Place|#Organization)+ [#Singular] (a|an|the|it)",group:0,tag:"Infinitive",reason:"let-him-glue"},{match:"#Verb (all|every|each|most|some|no) [#PresentTense]",notIf:"#Modal",group:0,tag:"Noun",reason:"all-presentTense"},{match:"(had|have|#PastTense) #Adjective [#PresentTense]",group:0,tag:"Noun",notIf:"better",reason:"adj-presentTense"},{match:"#Value #Adjective [#PresentTense]",group:0,tag:"Noun",notIf:"#Copula",reason:"one-big-reason"},{match:"#PastTense #Adjective+ [#PresentTense]",group:0,tag:"Noun",notIf:"(#Copula|better)",reason:"won-wide-support"},{match:"(many|few|several|couple) [#PresentTense]",group:0,tag:"Noun",notIf:"#Copula",reason:"many-poses"},{match:"#Determiner #Adverb #Adjective [%Noun|Verb%]",group:0,tag:"Noun",notIf:"#Copula",reason:"very-big-dream"},{match:"from #Noun to [%Noun|Verb%]",group:0,tag:"Noun",reason:"start-to-finish"},{match:"(for|with|of) #Noun (and|or|not) [%Noun|Verb%]",group:0,tag:"Noun",notIf:"#Pronoun",reason:"for-food-and-gas"},{match:"#Adjective #Adjective [#PresentTense]",group:0,tag:"Noun",notIf:"#Copula",reason:"adorable-little-store"},{match:"#Gerund #Adverb? #Comparative [#PresentTense]",group:0,tag:"Noun",notIf:"#Copula",reason:"higher-costs"},{match:"(#Noun && @hasComma) #Noun (and|or) [#PresentTense]",group:0,tag:"Noun",notIf:"#Copula",reason:"noun-list"},{match:"(many|any|some|several) [#PresentTense] for",group:0,tag:"Noun",reason:"any-verbs-for"},{match:"to #PresentTense #Noun [#PresentTense] #Preposition",group:0,tag:"Noun",reason:"gas-exchange"},{match:"#PastTense (until|as|through|without) [#PresentTense]",group:0,tag:"Noun",reason:"waited-until-release"},{match:"#Gerund like #Adjective? [#PresentTense]",group:0,tag:"Plural",reason:"like-hot-cakes"},{match:"some #Adjective [#PresentTense]",group:0,tag:"Noun",reason:"some-reason"},{match:"for some [#PresentTense]",group:0,tag:"Noun",reason:"for-some-reason"},{match:"(same|some|the|that|a) kind of [#PresentTense]",group:0,tag:"Noun",reason:"some-kind-of"},{match:"(same|some|the|that|a) type of [#PresentTense]",group:0,tag:"Noun",reason:"some-type-of"},{match:"#Gerund #Adjective #Preposition [#PresentTense]",group:0,tag:"Noun",reason:"doing-better-for-x"},{match:"(get|got|have) #Comparative [#PresentTense]",group:0,tag:"Noun",reason:"got-better-aim"},{match:"whose [#PresentTense] #Copula",group:0,tag:"Noun",reason:"whos-name-was"},{match:"#PhrasalVerb #Particle #Preposition [#PresentTense]",group:0,tag:"Noun",reason:"given-up-on-x"},{match:"there (are|were) #Adjective? [#PresentTense]",group:0,tag:"Plural",reason:"there-are"},{match:"#Value [#PresentTense] of",group:0,notIf:"(one|1|#Copula|#Infinitive)",tag:"Plural",reason:"2-trains"},{match:"[#PresentTense] (are|were) #Adjective",group:0,tag:"Plural",reason:"compromises-are-possible"},{match:"^[(hope|guess|thought|think)] #Pronoun #Verb",group:0,tag:"Infinitive",reason:"suppose-i"},{match:"#Possessive #Adjective [#Verb]",group:0,tag:"Noun",notIf:"#Copula",reason:"our-full-support"},{match:"[(tastes|smells)] #Adverb? #Adjective",group:0,tag:"PresentTense",reason:"tastes-good"},{match:"#Copula #Gerund [#PresentTense] !by?",group:0,tag:"Noun",notIf:"going",reason:"ignoring-commute"},{match:"#Determiner #Adjective? [(shed|thought|rose|bid|saw|spelt)]",group:0,tag:"Noun",reason:"noun-past"},{match:"how to [%Noun|Verb%]",group:0,tag:"Infinitive",reason:"how-to-noun"},{match:"which [%Noun|Verb%] #Noun",group:0,tag:"Infinitive",reason:"which-boost-it"},{match:"#Gerund [%Plural|Verb%]",group:0,tag:"Plural",reason:"asking-questions"},{match:"(ready|available|difficult|hard|easy|made|attempt|try) to [%Noun|Verb%]",group:0,tag:"Infinitive",reason:"ready-to-noun"},{match:"(bring|went|go|drive|run|bike) to [%Noun|Verb%]",group:0,tag:"Noun",reason:"bring-to-noun"},{match:"#Modal #Noun [%Noun|Verb%]",group:0,tag:"Infinitive",reason:"would-you-look"},{match:"#Copula just [#Infinitive]",group:0,tag:"Noun",reason:"is-just-spam"},{match:"^%Noun|Verb% %Plural|Verb%",tag:"Imperative #Plural",reason:"request-copies"},{match:"#Adjective #Plural and [%Plural|Verb%]",group:0,tag:"#Plural",reason:"pickles-and-drinks"},{match:"#Determiner #Year [#Verb]",group:0,tag:"Noun",reason:"the-1968-film"},{match:"#Determiner [#PhrasalVerb #Particle]",group:0,tag:"Noun",reason:"the-break-up"},{match:"#Determiner [%Adj|Noun%] #Noun",group:0,tag:"Adjective",notIf:"(#Pronoun|#Possessive|#ProperNoun)",reason:"the-individual-goals"},{match:"[%Noun|Verb%] or #Infinitive",group:0,tag:"Infinitive",reason:"work-or-prepare"},{match:"to #Infinitive [#PresentTense]",group:0,tag:"Noun",notIf:"(#Gerund|#Copula|help)",reason:"to-give-thanks"},{match:"[#Noun] me",group:0,tag:"Verb",reason:"kills-me"},{match:"%Plural|Verb% %Plural|Verb%",tag:"#PresentTense #Plural",reason:"removes-wrinkles"}],[{match:"#Money and #Money #Currency?",tag:"Money",reason:"money-and-money"},{match:"#Value #Currency [and] #Value (cents|ore|centavos|sens)",group:0,tag:"money",reason:"and-5-cents"},{match:"#Value (mark|rand|won|rub|ore)",tag:"#Money #Currency",reason:"4-mark"},{match:"a pound",tag:"#Money #Unit",reason:"a-pound"},{match:"#Value (pound|pounds)",tag:"#Money #Unit",reason:"4-pounds"}],[{match:"[(half|quarter)] of? (a|an)",group:0,tag:"Fraction",reason:"millionth"},{match:"#Adverb [half]",group:0,tag:"Fraction",reason:"nearly-half"},{match:"[half] the",group:0,tag:"Fraction",reason:"half-the"},{match:"#Cardinal and a half",tag:"Fraction",reason:"and-a-half"},{match:"#Value (halves|halfs|quarters)",tag:"Fraction",reason:"two-halves"},{match:"a #Ordinal",tag:"Fraction",reason:"a-quarter"},{match:"[#Cardinal+] (#Fraction && /s$/)",tag:"Fraction",reason:"seven-fifths"},{match:"[#Cardinal+ #Ordinal] of .",group:0,tag:"Fraction",reason:"ordinal-of"},{match:"[(#NumericValue && #Ordinal)] of .",group:0,tag:"Fraction",reason:"num-ordinal-of"},{match:"(a|one) #Cardinal?+ #Ordinal",tag:"Fraction",reason:"a-ordinal"},{match:"#Cardinal+ out? of every? #Cardinal",tag:"Fraction",reason:"out-of"}],[{match:"#Cardinal [second]",tag:"Unit",reason:"one-second"},{match:"!once? [(a|an)] (#Duration|hundred|thousand|million|billion|trillion)",group:0,tag:"Value",reason:"a-is-one"},{match:"1 #Value #PhoneNumber",tag:"PhoneNumber",reason:"1-800-Value"},{match:"#NumericValue #PhoneNumber",tag:"PhoneNumber",reason:"(800) PhoneNumber"},{match:"#Demonym #Currency",tag:"Currency",reason:"demonym-currency"},{match:"#Value [(buck|bucks|grand)]",group:0,tag:"Currency",reason:"value-bucks"},{match:"[#Value+] #Currency",group:0,tag:"Money",reason:"15 usd"},{match:"[second] #Noun",group:0,tag:"Ordinal",reason:"second-noun"},{match:"#Value+ [#Currency]",group:0,tag:"Unit",reason:"5-yan"},{match:"#Value [(foot|feet)]",group:0,tag:"Unit",reason:"foot-unit"},{match:"#Value [#Abbreviation]",group:0,tag:"Unit",reason:"value-abbr"},{match:"#Value [k]",group:0,tag:"Unit",reason:"value-k"},{match:"#Unit an hour",tag:"Unit",reason:"unit-an-hour"},{match:"(minus|negative) #Value",tag:"Value",reason:"minus-value"},{match:"#Value (point|decimal) #Value",tag:"Value",reason:"value-point-value"},{match:"#Determiner [(half|quarter)] #Ordinal",group:0,tag:"Value",reason:"half-ordinal"},{match:"#Multiple+ and #Value",tag:"Value",reason:"magnitude-and-value"},{match:"#Value #Unit [(per|an) (hr|hour|sec|second|min|minute)]",group:0,tag:"Unit",reason:"12-miles-per-second"},{match:"#Value [(square|cubic)] #Unit",group:0,tag:"Unit",reason:"square-miles"},{match:"^[#Value] (#Determiner|#Gerund)",group:0,tag:"Expression",unTag:"Value",reason:"numbered-list"}],[{match:"#Copula [(#Noun|#PresentTense)] #LastName",group:0,tag:"FirstName",reason:"copula-noun-lastname"},{match:"(sister|pope|brother|father|aunt|uncle|grandpa|grandfather|grandma) #ProperNoun",tag:"Person",reason:"lady-titlecase",safe:!0},{match:"#FirstName [#Determiner #Noun] #LastName",group:0,tag:"Person",reason:"first-noun-last"},{match:"#ProperNoun (b|c|d|e|f|g|h|j|k|l|m|n|o|p|q|r|s|t|u|v|w|x|y|z) #ProperNoun",tag:"Person",reason:"titlecase-acronym-titlecase",safe:!0},{match:"#Acronym #LastName",tag:"Person",reason:"acronym-lastname",safe:!0},{match:"#Person (jr|sr|md)",tag:"Person",reason:"person-honorific"},{match:"#Honorific #Acronym",tag:"Person",reason:"Honorific-TitleCase"},{match:"#Person #Person the? #RomanNumeral",tag:"Person",reason:"roman-numeral"},{match:"#FirstName [/^[^aiurck]$/]",group:0,tag:["Acronym","Person"],reason:"john-e"},{match:"#Noun van der? #Noun",tag:"Person",reason:"van der noun",safe:!0},{match:"(king|queen|prince|saint|lady) of #Noun",tag:"Person",reason:"king-of-noun",safe:!0},{match:"(prince|lady) #Place",tag:"Person",reason:"lady-place"},{match:"(king|queen|prince|saint) #ProperNoun",tag:"Person",reason:"saint-foo"},{match:"al (#Person|#ProperNoun)",tag:"Person",reason:"al-borlen",safe:!0},{match:"#FirstName de #Noun",tag:"Person",reason:"bill-de-noun"},{match:"#FirstName (bin|al) #Noun",tag:"Person",reason:"bill-al-noun"},{match:"#FirstName #Acronym #ProperNoun",tag:"Person",reason:"bill-acronym-title"},{match:"#FirstName #FirstName #ProperNoun",tag:"Person",reason:"bill-firstname-title"},{match:"#Honorific #FirstName? #ProperNoun",tag:"Person",reason:"dr-john-Title"},{match:"#FirstName the #Adjective",tag:"Person",reason:"name-the-great"},{match:"#ProperNoun (van|al|bin) #ProperNoun",tag:"Person",reason:"title-van-title",safe:!0},{match:"#ProperNoun (de|du) la? #ProperNoun",tag:"Person",reason:"title-de-title"},{match:"#Singular #Acronym #LastName",tag:"#FirstName #Person .",reason:"title-acro-noun",safe:!0},{match:"[#ProperNoun] #Person",group:0,tag:"Person",reason:"proper-person",safe:!0},{match:"#Person [#ProperNoun #ProperNoun]",group:0,tag:"Person",notIf:"#Possessive",reason:"three-name-person",safe:!0},{match:"#FirstName #Acronym? [#ProperNoun]",group:0,tag:"LastName",notIf:"#Possessive",reason:"firstname-titlecase"},{match:"#FirstName [#FirstName]",group:0,tag:"LastName",reason:"firstname-firstname"},{match:"#FirstName #Acronym #Noun",tag:"Person",reason:"n-acro-noun",safe:!0},{match:"#FirstName [(de|di|du|van|von)] #Person",group:0,tag:"LastName",reason:"de-firstname"},{match:"[(lieutenant|corporal|sergeant|captain|qeen|king|admiral|major|colonel|marshal|president|queen|king)+] #ProperNoun",group:0,tag:"Honorific",reason:"seargeant-john"},{match:"[(private|general|major|rear|prime|field|count|miss)] #Honorific? #Person",group:0,tag:["Honorific","Person"],reason:"ambg-honorifics"},{match:"#Honorific #FirstName [#Singular]",group:0,tag:"LastName",notIf:"#Possessive",reason:"dr-john-foo",safe:!0},{match:"[(his|her) (majesty|honour|worship|excellency|honorable)] #Person",group:0,tag:"Honorific",reason:"his-excellency"},{match:"#Honorific #Actor",tag:"Honorific",reason:"Lieutenant colonel"},{match:"(first|second|third|1st|2nd|3rd) #Actor",tag:"Honorific",reason:"first lady"},{match:"#Person #RomanNumeral",tag:"Person",reason:"louis-IV"}],[{match:"%Person|Date% #Acronym? #ProperNoun",tag:"Person",reason:"jan-thierson"},{match:"%Person|Noun% #Acronym? #ProperNoun",tag:"Person",reason:"switch-person",safe:!0},{match:"%Person|Noun% #Organization",tag:"Organization",reason:"olive-garden"},{match:"%Person|Verb% #Acronym? #ProperNoun",tag:"Person",reason:"verb-propernoun",ifNo:"#Actor"},{match:"[%Person|Verb%] (will|had|has|said|says|told|did|learned|wants|wanted)",group:0,tag:"Person",reason:"person-said"},{match:"[%Person|Place%] (harbor|harbour|pier|town|city|place|dump|landfill)",group:0,tag:"Place",reason:"sydney-harbour"},{match:"(west|east|north|south) [%Person|Place%]",group:0,tag:"Place",reason:"east-sydney"},{match:"#Modal [%Person|Verb%]",group:0,tag:"Verb",reason:"would-mark"},{match:"#Adverb [%Person|Verb%]",group:0,tag:"Verb",reason:"really-mark"},{match:"[%Person|Verb%] (#Adverb|#Comparative)",group:0,tag:"Verb",reason:"drew-closer"},{match:"%Person|Verb% #Person",tag:"Person",reason:"rob-smith"},{match:"%Person|Verb% #Acronym #ProperNoun",tag:"Person",reason:"rob-a-smith"},{match:"[will] #Verb",group:0,tag:"Modal",reason:"will-verb"},{match:"(will && @isTitleCase) #ProperNoun",tag:"Person",reason:"will-name"},{match:"(#FirstName && !#Possessive) [#Singular] #Verb",group:0,safe:!0,tag:"LastName",reason:"jack-layton"},{match:"^[#Singular] #Person #Verb",group:0,safe:!0,tag:"Person",reason:"sherwood-anderson"},{match:"(a|an) [#Person]$",group:0,unTag:"Person",reason:"a-warhol"}],[{match:"#Copula (pretty|dead|full|well|sure) (#Adjective|#Noun)",tag:"#Copula #Adverb #Adjective",reason:"sometimes-adverb"},{match:"(#Pronoun|#Person) (had|#Adverb)? [better] #PresentTense",group:0,tag:"Modal",reason:"i-better"},{match:"(#Modal|i|they|we|do) not? [like]",group:0,tag:"PresentTense",reason:"modal-like"},{match:"#Noun #Adverb? [left]",group:0,tag:"PastTense",reason:"left-verb"},{match:"will #Adverb? not? #Adverb? [be] #Gerund",group:0,tag:"Copula",reason:"will-be-copula"},{match:"will #Adverb? not? #Adverb? [be] #Adjective",group:0,tag:"Copula",reason:"be-copula"},{match:"[march] (up|down|back|toward)",notIf:"#Date",group:0,tag:"Infinitive",reason:"march-to"},{match:"#Modal [march]",group:0,tag:"Infinitive",reason:"must-march"},{match:"[may] be",group:0,tag:"Verb",reason:"may-be"},{match:"[(subject|subjects|subjected)] to",group:0,tag:"Verb",reason:"subject to"},{match:"[home] to",group:0,tag:"PresentTense",reason:"home to"},{match:"[open] #Determiner",group:0,tag:"Infinitive",reason:"open-the"},{match:"(were|was) being [#PresentTense]",group:0,tag:"PastTense",reason:"was-being"},{match:"(had|has|have) [been /en$/]",group:0,tag:"Auxiliary Participle",reason:"had-been-broken"},{match:"(had|has|have) [been /ed$/]",group:0,tag:"Auxiliary PastTense",reason:"had-been-smoked"},{match:"(had|has) #Adverb? [been] #Adverb? #PastTense",group:0,tag:"Auxiliary",reason:"had-been-adj"},{match:"(had|has) to [#Noun] (#Determiner|#Possessive)",group:0,tag:"Infinitive",reason:"had-to-noun"},{match:"have [#PresentTense]",group:0,tag:"PastTense",notIf:"(come|gotten)",reason:"have-read"},{match:"(does|will|#Modal) that [work]",group:0,tag:"PastTense",reason:"does-that-work"},{match:"[(sound|sounds)] #Adjective",group:0,tag:"PresentTense",reason:"sounds-fun"},{match:"[(look|looks)] #Adjective",group:0,tag:"PresentTense",reason:"looks-good"},{match:"[(start|starts|stop|stops|begin|begins)] #Gerund",group:0,tag:"Verb",reason:"starts-thinking"},{match:"(have|had) read",tag:"Modal #PastTense",reason:"read-read"},{match:"(is|was|were) [(under|over) #PastTense]",group:0,tag:"Adverb Adjective",reason:"was-under-cooked"},{match:"[shit] (#Determiner|#Possessive|them)",group:0,tag:"Verb",reason:"swear1-verb"},{match:"[damn] (#Determiner|#Possessive|them)",group:0,tag:"Verb",reason:"swear2-verb"},{match:"[fuck] (#Determiner|#Possessive|them)",group:0,tag:"Verb",reason:"swear3-verb"},{match:"#Plural that %Noun|Verb%",tag:". #Preposition #Infinitive",reason:"jobs-that-work"},{match:"[works] for me",group:0,tag:"PresentTense",reason:"works-for-me"},{match:"as #Pronoun [please]",group:0,tag:"Infinitive",reason:"as-we-please"},{match:"[(co|mis|de|inter|intra|pre|re|un|out|under|over|counter)] #Verb",group:0,tag:["Verb","Prefix"],notIf:"(#Copula|#PhrasalVerb)",reason:"co-write"},{match:"#PastTense and [%Adj|Past%]",group:0,tag:"PastTense",reason:"dressed-and-left"},{match:"[%Adj|Past%] and #PastTense",group:0,tag:"PastTense",reason:"dressed-and-left"},{match:"#Copula #Pronoun [%Adj|Past%]",group:0,tag:"Adjective",reason:"is-he-stoked"},{match:"to [%Noun|Verb%] #Preposition",group:0,tag:"Infinitive",reason:"to-dream-of"}],[{match:"(slowly|quickly) [#Adjective]",group:0,tag:"Verb",reason:"slowly-adj"},{match:"does (#Adverb|not)? [#Adjective]",group:0,tag:"PresentTense",reason:"does-mean"},{match:"[(fine|okay|cool|ok)] by me",group:0,tag:"Adjective",reason:"okay-by-me"},{match:"i (#Adverb|do)? not? [mean]",group:0,tag:"PresentTense",reason:"i-mean"},{match:"will #Adjective",tag:"Auxiliary Infinitive",reason:"will-adj"},{match:"#Pronoun [#Adjective] #Determiner #Adjective? #Noun",group:0,tag:"Verb",reason:"he-adj-the"},{match:"#Copula [%Adj|Present%] to #Verb",group:0,tag:"Verb",reason:"adj-to"},{match:"#Copula [#Adjective] (well|badly|quickly|slowly)",group:0,tag:"Verb",reason:"done-well"},{match:"#Adjective and [#Gerund] !#Preposition?",group:0,tag:"Adjective",reason:"rude-and-x"},{match:"#Copula #Adverb? (over|under) [#PastTense]",group:0,tag:"Adjective",reason:"over-cooked"},{match:"#Copula #Adjective+ (and|or) [#PastTense]$",group:0,tag:"Adjective",reason:"bland-and-overcooked"},{match:"got #Adverb? [#PastTense] of",group:0,tag:"Adjective",reason:"got-tired-of"},{match:"(seem|seems|seemed|appear|appeared|appears|feel|feels|felt|sound|sounds|sounded) (#Adverb|#Adjective)? [#PastTense]",group:0,tag:"Adjective",reason:"felt-loved"},{match:"(seem|feel|seemed|felt) [#PastTense #Particle?]",group:0,tag:"Adjective",reason:"seem-confused"},{match:"a (bit|little|tad) [#PastTense #Particle?]",group:0,tag:"Adjective",reason:"a-bit-confused"},{match:"not be [%Adj|Past% #Particle?]",group:0,tag:"Adjective",reason:"do-not-be-confused"},{match:"#Copula just [%Adj|Past% #Particle?]",group:0,tag:"Adjective",reason:"is-just-right"},{match:"as [#Infinitive] as",group:0,tag:"Adjective",reason:"as-pale-as"},{match:"[%Adj|Past%] and #Adjective",group:0,tag:"Adjective",reason:"faled-and-oppressive"},{match:"or [#PastTense] #Noun",group:0,tag:"Adjective",notIf:"(#Copula|#Pronoun)",reason:"or-heightened-emotion"},{match:"(become|became|becoming|becomes) [#Verb]",group:0,tag:"Adjective",reason:"become-verb"},{match:"#Possessive [#PastTense] #Noun",group:0,tag:"Adjective",reason:"declared-intentions"},{match:"#Copula #Pronoun [%Adj|Present%]",group:0,tag:"Adjective",reason:"is-he-cool"}],[{match:"will (#Adverb|not)+? [have] (#Adverb|not)+? #Verb",group:0,tag:"Auxiliary",reason:"will-have-vb"},{match:"[#Copula] (#Adverb|not)+? (#Gerund|#PastTense)",group:0,tag:"Auxiliary",reason:"copula-walking"},{match:"[(#Modal|did)+] (#Adverb|not)+? #Verb",group:0,tag:"Auxiliary",reason:"modal-verb"},{match:"#Modal (#Adverb|not)+? [have] (#Adverb|not)+? [had] (#Adverb|not)+? #Verb",group:0,tag:"Auxiliary",reason:"would-have"},{match:"[(has|had)] (#Adverb|not)+? #PastTense",group:0,tag:"Auxiliary",reason:"had-walked"},{match:"[(do|does|did|will|have|had|has|got)] (not|#Adverb)+? #Verb",group:0,tag:"Auxiliary",reason:"have-had"},{match:"[about to] #Adverb? #Verb",group:0,tag:["Auxiliary","Verb"],reason:"about-to"},{match:"#Modal (#Adverb|not)+? [be] (#Adverb|not)+? #Verb",group:0,tag:"Auxiliary",reason:"would-be"},{match:"[(#Modal|had|has)] (#Adverb|not)+? [been] (#Adverb|not)+? #Verb",group:0,tag:"Auxiliary",reason:"had-been"},{match:"[(be|being|been)] #Participle",group:0,tag:"Auxiliary",reason:"being-driven"},{match:"[may] #Adverb? #Infinitive",group:0,tag:"Auxiliary",reason:"may-want"},{match:"#Copula (#Adverb|not)+? [(be|being|been)] #Adverb+? #PastTense",group:0,tag:"Auxiliary",reason:"being-walked"},{match:"will [be] #PastTense",group:0,tag:"Auxiliary",reason:"will-be-x"},{match:"[(be|been)] (#Adverb|not)+? #Gerund",group:0,tag:"Auxiliary",reason:"been-walking"},{match:"[used to] #PresentTense",group:0,tag:"Auxiliary",reason:"used-to-walk"},{match:"#Copula (#Adverb|not)+? [going to] #Adverb+? #PresentTense",group:0,tag:"Auxiliary",reason:"going-to-walk"},{match:"#Imperative [(me|him|her)]",group:0,tag:"Reflexive",reason:"tell-him"},{match:"(is|was) #Adverb? [no]",group:0,tag:"Negative",reason:"is-no"},{match:"[(been|had|became|came)] #PastTense",group:0,notIf:"#PhrasalVerb",tag:"Auxiliary",reason:"been-told"},{match:"[(being|having|getting)] #Verb",group:0,tag:"Auxiliary",reason:"being-born"},{match:"[be] #Gerund",group:0,tag:"Auxiliary",reason:"be-walking"},{match:"[better] #PresentTense",group:0,tag:"Modal",notIf:"(#Copula|#Gerund)",reason:"better-go"},{match:"even better",tag:"Adverb #Comparative",reason:"even-better"}],[{match:"(#Verb && @hasHyphen) up",tag:"PhrasalVerb",reason:"foo-up"},{match:"(#Verb && @hasHyphen) off",tag:"PhrasalVerb",reason:"foo-off"},{match:"(#Verb && @hasHyphen) over",tag:"PhrasalVerb",reason:"foo-over"},{match:"(#Verb && @hasHyphen) out",tag:"PhrasalVerb",reason:"foo-out"},{match:"[#Verb (in|out|up|down|off|back)] (on|in)",notIf:"#Copula",tag:"PhrasalVerb Particle",reason:"walk-in-on"},{match:"(lived|went|crept|go) [on] for",group:0,tag:"PhrasalVerb",reason:"went-on"},{match:"#Verb (up|down|in|on|for)$",tag:"PhrasalVerb #Particle",notIf:"#PhrasalVerb",reason:"come-down$"},{match:"help [(stop|end|make|start)]",group:0,tag:"Infinitive",reason:"help-stop"},{match:"#PhrasalVerb (in && #Particle) #Determiner",tag:"#Verb #Preposition #Determiner",unTag:"PhrasalVerb",reason:"work-in-the"},{match:"[(stop|start|finish|help)] #Gerund",group:0,tag:"Infinitive",reason:"start-listening"},{match:"#Verb (him|her|it|us|himself|herself|itself|everything|something) [(up|down)]",group:0,tag:"Adverb",reason:"phrasal-pronoun-advb"}],[{match:"^do not? [#Infinitive #Particle?]",notIf:qu,group:0,tag:"Imperative",reason:"do-eat"},{match:"^please do? not? [#Infinitive #Particle?]",group:0,tag:"Imperative",reason:"please-go"},{match:"^just do? not? [#Infinitive #Particle?]",group:0,tag:"Imperative",reason:"just-go"},{match:"^[#Infinitive] it #Comparative",notIf:qu,group:0,tag:"Imperative",reason:"do-it-better"},{match:"^[#Infinitive] it (please|now|again|plz)",notIf:qu,group:0,tag:"Imperative",reason:"do-it-please"},{match:"^[#Infinitive] (#Adjective|#Adverb)$",group:0,tag:"Imperative",notIf:"(so|such|rather|enough)",reason:"go-quickly"},{match:"^[#Infinitive] (up|down|over) #Determiner",group:0,tag:"Imperative",reason:"turn-down"},{match:"^[#Infinitive] (your|my|the|a|an|any|each|every|some|more|with|on)",group:0,notIf:"like",tag:"Imperative",reason:"eat-my-shorts"},{match:"^[#Infinitive] (him|her|it|us|me|there)",group:0,tag:"Imperative",reason:"tell-him"},{match:"^[#Infinitive] #Adjective #Noun$",group:0,tag:"Imperative",reason:"avoid-loud-noises"},{match:"^[#Infinitive] (#Adjective|#Adverb)? and #Infinitive",group:0,tag:"Imperative",reason:"call-and-reserve"},{match:"^(go|stop|wait|hurry) please?$",tag:"Imperative",reason:"go"},{match:"^(somebody|everybody) [#Infinitive]",group:0,tag:"Imperative",reason:"somebody-call"},{match:"^let (us|me) [#Infinitive]",group:0,tag:"Imperative",reason:"lets-leave"},{match:"^[(shut|close|open|start|stop|end|keep)] #Determiner #Noun",group:0,tag:"Imperative",reason:"shut-the-door"},{match:"^[#PhrasalVerb #Particle] #Determiner #Noun",group:0,tag:"Imperative",reason:"turn-off-the-light"},{match:"^[go] to .",group:0,tag:"Imperative",reason:"go-to-toronto"},{match:"^#Modal you [#Infinitive]",group:0,tag:"Imperative",reason:"would-you-"},{match:"^never [#Infinitive]",group:0,tag:"Imperative",reason:"never-stop"},{match:"^come #Infinitive",tag:"Imperative",notIf:"on",reason:"come-have"},{match:"^come and? #Infinitive",tag:"Imperative . Imperative",notIf:"#PhrasalVerb",reason:"come-and-have"},{match:"^stay (out|away|back)",tag:"Imperative",reason:"stay-away"},{match:"^[(stay|be|keep)] #Adjective",group:0,tag:"Imperative",reason:"stay-cool"},{match:"^[keep it] #Adjective",group:0,tag:"Imperative",reason:"keep-it-cool"},{match:"^do not [#Infinitive]",group:0,tag:"Imperative",reason:"do-not-be"},{match:"[#Infinitive] (yourself|yourselves)",group:0,tag:"Imperative",reason:"allow-yourself"},{match:"[#Infinitive] what .",group:0,tag:"Imperative",reason:"look-what"},{match:"^[#Infinitive] #Gerund",group:0,tag:"Imperative",reason:"keep-playing"},{match:"^[#Infinitive] (to|for|into|toward|here|there)",group:0,tag:"Imperative",reason:"go-to"},{match:"^[#Infinitive] (and|or) #Infinitive",group:0,tag:"Imperative",reason:"inf-and-inf"},{match:"^[%Noun|Verb%] to",group:0,tag:"Imperative",reason:"commit-to"},{match:"^[#Infinitive] #Adjective? #Singular #Singular",group:0,tag:"Imperative",reason:"maintain-eye-contact"},{match:"do not (forget|omit|neglect) to [#Infinitive]",group:0,tag:"Imperative",reason:"do-not-forget"},{match:"^[(ask|wear|pay|look|help|show|watch|act|fix|kill|stop|start|turn|try|win)] #Noun",group:0,tag:"Imperative",reason:"pay-attention"}],[{match:"(that|which) were [%Adj|Gerund%]",group:0,tag:"Gerund",reason:"that-were-growing"},{match:"#Gerund [#Gerund] #Plural",group:0,tag:"Adjective",reason:"hard-working-fam"}],[{match:"u r",tag:"#Pronoun #Copula",reason:"u r"},{match:"#Noun [(who|whom)]",group:0,tag:"Determiner",reason:"captain-who"},{match:"[had] #Noun+ #PastTense",group:0,tag:"Condition",reason:"had-he"},{match:"[were] #Noun+ to #Infinitive",group:0,tag:"Condition",reason:"were-he"},{match:"some sort of",tag:"Adjective Noun Conjunction",reason:"some-sort-of"},{match:"of some sort",tag:"Conjunction Adjective Noun",reason:"of-some-sort"},{match:"[such] (a|an|is)? #Noun",group:0,tag:"Determiner",reason:"such-skill"},{match:"[right] (before|after|in|into|to|toward)",group:0,tag:"#Adverb",reason:"right-into"},{match:"#Preposition [about]",group:0,tag:"Adjective",reason:"at-about"},{match:"(are|#Modal|see|do|for) [ya]",group:0,tag:"Pronoun",reason:"are-ya"},{match:"[long live] .",group:0,tag:"#Adjective #Infinitive",reason:"long-live"},{match:"[plenty] of",group:0,tag:"#Uncountable",reason:"plenty-of"},{match:"(always|nearly|barely|practically) [there]",group:0,tag:"Adjective",reason:"always-there"},{match:"[there] (#Adverb|#Pronoun)? #Copula",group:0,tag:"There",reason:"there-is"},{match:"#Copula [there] .",group:0,tag:"There",reason:"is-there"},{match:"#Modal #Adverb? [there]",group:0,tag:"There",reason:"should-there"},{match:"^[do] (you|we|they)",group:0,tag:"QuestionWord",reason:"do-you"},{match:"^[does] (he|she|it|#ProperNoun)",group:0,tag:"QuestionWord",reason:"does-he"},{match:"a [while]",group:0,tag:"Noun",reason:"a-while"},{match:"guess who",tag:"#Infinitive #QuestionWord",reason:"guess-who"},{match:"[fucking] !#Verb",group:0,tag:"#Gerund",reason:"f-as-gerund"}],[{match:"#Noun (&|n) #Noun",tag:"Organization",reason:"Noun-&-Noun"},{match:"#Organization of the? #ProperNoun",tag:"Organization",reason:"org-of-place",safe:!0},{match:"#Organization #Country",tag:"Organization",reason:"org-country"},{match:"#ProperNoun #Organization",tag:"Organization",reason:"titlecase-org"},{match:"#ProperNoun (ltd|co|inc|dept|assn|bros)",tag:"Organization",reason:"org-abbrv"},{match:"the [#Acronym]",group:0,tag:"Organization",reason:"the-acronym",safe:!0},{match:"(world|global|international|national|#Demonym) #Organization",tag:"Organization",reason:"global-org"},{match:"#Noun+ (public|private) school",tag:"School",reason:"noun-public-school"}],[{match:"(west|north|south|east|western|northern|southern|eastern)+ #Place",tag:"Region",reason:"west-norfolk"},{match:"#City [(al|ak|az|ar|ca|ct|dc|fl|ga|id|il|nv|nh|nj|ny|oh|pa|sc|tn|tx|ut|vt|pr)]",group:0,tag:"Region",reason:"us-state"},{match:"portland [or]",group:0,tag:"Region",reason:"portland-or"},{match:"#ProperNoun+ (district|region|province|county|prefecture|municipality|territory|burough|reservation)",tag:"Region",reason:"foo-district"},{match:"#ProperNoun+ (river|lake|bay|inlet|creek|narrows|cove|dune|coast|lagoon|beach|peninsula|hill|mountain|canyon|marsh|island|trail|valley|glacier|estuary|desert|escarpment|gorge|plains|waterfall)",tag:"Place",reason:"foo-river"},{match:"(river|gulf|lake) of? #ProperNoun+",tag:"Place",reason:"river-foo"},{match:"(district|region|province|municipality|territory|burough|state) of #ProperNoun",tag:"Region",reason:"district-of-Foo"},{match:"in [#ProperNoun] #Place",group:0,tag:"Place",reason:"propernoun-place"},{match:"#Value #Noun (st|street|rd|road|crescent|cr|way|tr|terrace|avenue|ave)",tag:"Address",reason:"address-st"}],[{match:"[so] #Noun",group:0,tag:"Conjunction",reason:"so-conj"},{match:"[(who|what|where|why|how|when)] #Noun #Copula #Adverb? (#Verb|#Adjective)",group:0,tag:"Conjunction",reason:"how-he-is-x"},{match:"#Copula [(who|what|where|why|how|when)] #Noun",group:0,tag:"Conjunction",reason:"when-he"},{match:"#Verb [that] #Pronoun",group:0,tag:"Conjunction",reason:"said-that-he"},{match:"#Noun [that] #Copula",group:0,tag:"Conjunction",reason:"that-are"},{match:"#Noun [that] #Verb #Adjective",group:0,tag:"Conjunction",reason:"that-seem"},{match:"#Noun #Copula not? [that] #Adjective",group:0,tag:"Adverb",reason:"that-adj"},{match:"#Verb #Adverb? #Noun [(that|which)]",group:0,tag:"Preposition",reason:"that-prep"},{match:"@hasComma [which] (#Pronoun|#Verb)",group:0,tag:"Preposition",reason:"which-copula"},{match:"#Noun [like] #Noun",group:0,tag:"Preposition",reason:"noun-like"},{match:"^[like] #Determiner",group:0,tag:"Preposition",reason:"like-the"},{match:"a #Noun [like] (#Noun|#Determiner)",group:0,tag:"Preposition",reason:"a-noun-like"},{match:"#Adverb [like]",group:0,tag:"Verb",reason:"really-like"},{match:"(not|nothing|never) [like]",group:0,tag:"Preposition",reason:"nothing-like"},{match:"#Infinitive #Pronoun [like]",group:0,tag:"Preposition",reason:"treat-them-like"},{match:"[#QuestionWord] (#Pronoun|#Determiner)",group:0,tag:"Preposition",reason:"how-he"},{match:"[#QuestionWord] #Participle",group:0,tag:"Preposition",reason:"when-stolen"},{match:"[how] (#Determiner|#Copula|#Modal|#PastTense)",group:0,tag:"QuestionWord",reason:"how-is"},{match:"#Plural [(who|which|when)] .",group:0,tag:"Preposition",reason:"people-who"}],[{match:"holy (shit|fuck|hell)",tag:"Expression",reason:"swears-expression"},{match:"^[(well|so|okay|now)] !#Adjective?",group:0,tag:"Expression",reason:"well-"},{match:"^come on",tag:"Expression",reason:"come-on"},{match:"(say|says|said) [sorry]",group:0,tag:"Expression",reason:"say-sorry"},{match:"^(ok|alright|shoot|hell|anyways)",tag:"Expression",reason:"ok-"},{match:"^(say && @hasComma)",tag:"Expression",reason:"say-"},{match:"^(like && @hasComma)",tag:"Expression",reason:"like-"},{match:"^[(dude|man|girl)] #Pronoun",group:0,tag:"Expression",reason:"dude-i"}]),Qu=null;var Ru={postTagger:function(e){const{world:t}=e,{model:n,methods:a}=t;Qu=Qu||a.one.buildNet(n.two.matches,t);let r=a.two.quickSplit(e.document).map((e=>{let t=e[0];return[t.index[0],t.index[1],t.index[1]+e.length]})),o=e.update(r);return o.cache(),o.sweep(Qu),e.uncache(),e},tagger:e=>e.compute(["lexicon","preTagger","postTagger"])};const Xu={api:function(e){e.prototype.confidence=function(){let e=0,t=0;return this.docs.forEach((n=>{n.forEach((n=>{t+=1,e+=n.confidence||1}))})),0===t?1:(e=>Math.round(100*e)/100)(e/t)},e.prototype.tagger=function(){return this.compute(["tagger"])}},compute:Ru,model:{two:{matches:Uu}},hooks:["postTagger"]};var Zu=Xu,_u=function(e,t){let n=function(e){return Object.keys(e.hooks).filter((e=>!e.startsWith("#")&&!e.startsWith("%")))}(t);if(0===n.length)return e;e._cache||e.cache();let a=e._cache;return e.filter(((e,t)=>n.some((e=>a[t].has(e)))))},Yu=function(e,t){let n=t;"string"==typeof t&&(n=this.buildNet([{match:t}]));let a=this.tokenize(e),r=_u(a,n);return r.found?(r.compute(["index","tagger"]),r.match(t)):a.none()},ec={lib:{lazy:Yu}},tc=function(e,t){let n=t;return e.forEach((e=>{e.has("#Infinitive")||(n=function(e,t){let n=(0,e.methods.two.transform.verb.conjugate)(t,e.model);return e.has("#Gerund")?n.Gerund:e.has("#PastTense")?n.PastTense:e.has("#PresentTense")?n.PresentTense:e.has("#Gerund")?n.Gerund:t}(e,t)),e.replaceWith(n)})),e},nc=function(e,t,n){let a=e.split(/ /g).map((e=>e.toLowerCase().trim()));a=a.filter((e=>e)),a=a.map((e=>`{${e}}`)).join(" ");let r=this.match(a);return n&&(r=r.if(n)),r.has("#Verb")?tc(r,t):r.has("#Noun")?function(e,t){let n=t;e.has("#Plural")&&(n=(0,e.methods.two.transform.noun.toPlural)(t,e.model)),e.replaceWith(n,{possessives:!0})}(r,t):r.has("#Adverb")?function(e,t){const{toAdverb:n}=e.methods.two.transform.adjective;let a=n(t);a&&e.replaceWith(a)}(r,t):r.has("#Adjective")?function(e,t){const{toComparative:n,toSuperlative:a}=e.methods.two.transform.adjective;let r=t;e.has("#Comparative")?r=n(r,e.model):e.has("#Superlative")&&(r=a(r,e.model)),r&&e.replaceWith(r)}(r,t):this},ac={api:function(e){e.prototype.swap=nc}};return b.plugin(Iu),b.plugin(Wu),b.plugin(Zu),b.plugin(ec),b.plugin(ac),b},"object"==typeof exports&&"undefined"!=typeof module?module.exports=t():"function"==typeof define&&define.amd?define(t):(e="undefined"!=typeof globalThis?globalThis:e||self).nlp=t(); +var e,t;e=this,t=function(){var e={methods:{one:{},two:{},three:{},four:{}},model:{one:{},two:{},three:{}},compute:{},hooks:[]};const t={compute:function(e){const{world:t}=this,n=t.compute;return"string"==typeof e&&n.hasOwnProperty(e)?n[e](this):(e=>"[object Array]"===Object.prototype.toString.call(e))(e)?e.forEach((a=>{t.compute.hasOwnProperty(a)?n[a](this):console.warn("no compute:",e)})):"function"==typeof e?e(this):console.warn("no compute:",e),this}};var n=t,a={forEach:function(e){return this.fullPointer.forEach(((t,n)=>{let a=this.update([t]);e(a,n)})),this},map:function(e,t){let n=this.fullPointer.map(((t,n)=>{let a=this.update([t]),r=e(a,n);return void 0===r?this.none():r}));if(0===n.length)return t||this.update([]);if(void 0!==n[0]){if("string"==typeof n[0])return n;if("object"==typeof n[0]&&(null===n[0]||!n[0].isView))return n}let a=[];return n.forEach((e=>{a=a.concat(e.fullPointer)})),this.toView(a)},filter:function(e){let t=this.fullPointer;return t=t.filter(((t,n)=>{let a=this.update([t]);return e(a,n)})),this.update(t)},find:function(e){let t=this.fullPointer.find(((t,n)=>{let a=this.update([t]);return e(a,n)}));return this.update([t])},some:function(e){return this.fullPointer.some(((t,n)=>{let a=this.update([t]);return e(a,n)}))},random:function(e=1){let t=this.fullPointer,n=Math.floor(Math.random()*t.length);return n+e>this.length&&(n=this.length-e,n=n<0?0:n),t=t.slice(n,n+e),this.update(t)}};const r={termList:function(){return this.methods.one.termList(this.docs)},terms:function(e){let t=this.match(".");return"number"==typeof e?t.eq(e):t},groups:function(e){if(e||0===e)return this.update(this._groups[e]||[]);let t={};return Object.keys(this._groups).forEach((e=>{t[e]=this.update(this._groups[e])})),t},eq:function(e){let t=this.pointer;return t||(t=this.docs.map(((e,t)=>[t]))),t[e]?this.update([t[e]]):this.none()},first:function(){return this.eq(0)},last:function(){let e=this.fullPointer.length-1;return this.eq(e)},firstTerms:function(){return this.match("^.")},lastTerms:function(){return this.match(".$")},slice:function(e,t){let n=this.pointer||this.docs.map(((e,t)=>[t]));return n=n.slice(e,t),this.update(n)},all:function(){return this.update().toView()},fullSentences:function(){let e=this.fullPointer.map((e=>[e[0]]));return this.update(e).toView()},none:function(){return this.update([])},isDoc:function(e){if(!e||!e.isView)return!1;let t=this.fullPointer,n=e.fullPointer;return!t.length!==n.length&&t.every(((e,t)=>!!n[t]&&e[0]===n[t][0]&&e[1]===n[t][1]&&e[2]===n[t][2]))},wordCount:function(){return this.docs.reduce(((e,t)=>(e+=t.filter((e=>""!==e.text)).length,e)),0)},isFull:function(){let e=this.pointer;if(!e)return!0;if(0===e.length||0!==e[0][0])return!1;let t=0,n=0;return this.document.forEach((e=>t+=e.length)),this.docs.forEach((e=>n+=e.length)),t===n},getNth:function(e){return"number"==typeof e?this.eq(e):"string"==typeof e?this.if(e):this}};r.group=r.groups,r.fullSentence=r.fullSentences,r.sentence=r.fullSentences,r.lastTerm=r.lastTerms,r.firstTerm=r.firstTerms;var o=r;const i=Object.assign({},o,n,a);i.get=i.eq;var s=i;class View{constructor(t,n,a={}){[["document",t],["world",e],["_groups",a],["_cache",null],["viewType","View"]].forEach((e=>{Object.defineProperty(this,e[0],{value:e[1],writable:!0})})),this.ptrs=n}get docs(){let t=this.document;return this.ptrs&&(t=e.methods.one.getDoc(this.ptrs,this.document)),t}get pointer(){return this.ptrs}get methods(){return this.world.methods}get model(){return this.world.model}get hooks(){return this.world.hooks}get isView(){return!0}get found(){return this.docs.length>0}get length(){return this.docs.length}get fullPointer(){let{docs:e,ptrs:t,document:n}=this,a=t||e.map(((e,t)=>[t]));return a.map((e=>{let[t,a,r,o,i]=e;return a=a||0,r=r||(n[t]||[]).length,n[t]&&n[t][a]&&(o=o||n[t][a].id,n[t][r-1]&&(i=i||n[t][r-1].id)),[t,a,r,o,i]}))}update(e){let t=new View(this.document,e);if(this._cache&&e&&e.length>0){let n=[];e.forEach(((e,t)=>{let[a,r,o]=e;(1===e.length||0===r&&this.document[a].length===o)&&(n[t]=this._cache[a])})),n.length>0&&(t._cache=n)}return t.world=this.world,t}toView(e){return new View(this.document,e||this.pointer)}fromText(e){const{methods:t}=this;let n=t.one.tokenize.fromString(e,this.world),a=new View(n);return a.world=this.world,a.compute(["normal","lexicon"]),this.world.compute.preTagger&&a.compute("preTagger"),a}clone(){let e=this.document.slice(0);e=e.map((e=>e.map((e=>((e=Object.assign({},e)).tags=new Set(e.tags),e)))));let t=this.update(this.pointer);return t.document=e,t._cache=this._cache,t}}Object.assign(View.prototype,s);var l=View;const u=function(e){return e&&"object"==typeof e&&!Array.isArray(e)};function c(e,t){if(u(t))for(const n in t)u(t[n])?(e[n]||Object.assign(e,{[n]:{}}),c(e[n],t[n])):Object.assign(e,{[n]:t[n]});return e}var d=function(e,t,n,a){const{methods:r,model:o,compute:i,hooks:s}=t;e.methods&&function(e,t){for(const n in t)e[n]=e[n]||{},Object.assign(e[n],t[n])}(r,e.methods),e.model&&c(o,e.model),e.irregulars&&function(e,t){let n=e.two.models||{};Object.keys(t).forEach((e=>{t[e].pastTense&&(n.toPast&&(n.toPast.ex[e]=t[e].pastTense),n.fromPast&&(n.fromPast.ex[t[e].pastTense]=e)),t[e].presentTense&&(n.toPresent&&(n.toPresent.ex[e]=t[e].presentTense),n.fromPresent&&(n.fromPresent.ex[t[e].presentTense]=e)),t[e].gerund&&(n.toGerund&&(n.toGerund.ex[e]=t[e].gerund),n.fromGerund&&(n.fromGerund.ex[t[e].gerund]=e)),t[e].comparative&&(n.toComparative&&(n.toComparative.ex[e]=t[e].comparative),n.fromComparative&&(n.fromComparative.ex[t[e].comparative]=e)),t[e].superlative&&(n.toSuperlative&&(n.toSuperlative.ex[e]=t[e].superlative),n.fromSuperlative&&(n.fromSuperlative.ex[t[e].superlative]=e))}))}(o,e.irregulars),e.compute&&Object.assign(i,e.compute),s&&(t.hooks=s.concat(e.hooks||[])),e.api&&e.api(n),e.lib&&Object.keys(e.lib).forEach((t=>a[t]=e.lib[t])),e.tags&&a.addTags(e.tags),e.words&&a.addWords(e.words),e.mutate&&e.mutate(t)};const h=function(e){return"[object Array]"===Object.prototype.toString.call(e)};var m=function(e,t,n){const{methods:a}=n;let r=new t([]);if(r.world=n,"number"==typeof e&&(e=String(e)),!e)return r;if("string"==typeof e)return new t(a.one.tokenize.fromString(e,n));if(o=e,"[object Object]"===Object.prototype.toString.call(o)&&e.isView)return new t(e.document,e.ptrs);var o;if(h(e)){if(h(e[0])){let n=e.map((e=>e.map((e=>({text:e,normal:e,pre:"",post:" ",tags:new Set})))));return new t(n)}let n=function(e){return e.map((e=>e.terms.map((e=>(h(e.tags)&&(e.tags=new Set(e.tags)),e)))))}(e);return new t(n)}return r};let p=Object.assign({},e);const f=function(e,t){t&&f.addWords(t);let n=m(e,l,p);return e&&n.compute(p.hooks),n};Object.defineProperty(f,"_world",{value:p,writable:!0}),f.tokenize=function(e,t){const{compute:n}=this._world;t&&f.addWords(t);let a=m(e,l,p);return n.contractions&&a.compute(["alias","normal","machine","contractions"]),a},f.plugin=function(e){return d(e,this._world,l,this),this},f.extend=f.plugin,f.world=function(){return this._world},f.model=function(){return this._world.model},f.methods=function(){return this._world.methods},f.hooks=function(){return this._world.hooks},f.verbose=function(e){const t="undefined"!=typeof process&&process.env?process.env:self.env||{};return t.DEBUG_TAGS="tagger"===e||!0===e||"",t.DEBUG_MATCH="match"===e||!0===e||"",t.DEBUG_CHUNKS="chunker"===e||!0===e||"",this},f.version="14.10.1";var b=f,v=function(e){let t=e.map((e=>{let t=new Set;return e.forEach((e=>{""!==e.normal&&t.add(e.normal),e.switch&&t.add(`%${e.switch}%`),e.implicit&&t.add(e.implicit),e.machine&&t.add(e.machine),e.root&&t.add(e.root),e.alias&&e.alias.forEach((e=>t.add(e)));let n=Array.from(e.tags);for(let e=0;e/^\p{Lu}[\p{Ll}'’]/u.test(e)||/^\p{Lu}$/u.test(e),A=(e,t,n)=>{if(n.forEach((e=>e.dirty=!0)),e){let a=[t,0].concat(n);Array.prototype.splice.apply(e,a)}return e},C=function(e){let t=e[e.length-1];!t||/ $/.test(t.post)||/[-–—]/.test(t.post)||(t.post+=" ")},j=(e,t,n)=>{const a=/[-.?!,;:)–—'"]/g;let r=e[t-1];if(!r)return;let o=r.post;if(a.test(o)){let e=o.match(a).join(""),t=n[n.length-1];t.post=e+t.post,r.post=r.post.replace(a,"")}},N=function(e,t,n,a){let[r,o,i]=t;0===o||i===a[r].length?C(n):(C(n),C([e[t[1]]])),function(e,t,n){let a=e[t];if(0!==t||!P(a.text))return;n[0].text=n[0].text.replace(/^\p{Ll}/u,(e=>e.toUpperCase()));let r=e[t];r.tags.has("ProperNoun")||r.tags.has("Acronym")||P(r.text)&&r.text.length>1&&(r.text=r.text.replace(/^\p{Lu}/u,(e=>e.toLowerCase())))}(e,o,n),A(e,o,n)};let I=0;const H=e=>(e=e.length<3?"0"+e:e).length<3?"0"+e:e;var D=function(e){let[t,n]=e.index||[0,0];I+=1,I=I>46655?0:I,t=t>46655?0:t,n=n>1294?0:n;let a=H(I.toString(36));a+=H(t.toString(36));let r=n.toString(36);return r=r.length<2?"0"+r:r,a+=r,a+=parseInt(36*Math.random(),10).toString(36),e.normal+"|"+a.toUpperCase()};const G=function(e){e.has("@hasContraction")&&"function"==typeof e.contractions&&e.grow("@hasContraction").contractions().expand()},T=e=>"[object Array]"===Object.prototype.toString.call(e),x=function(e,t,n){const{document:a,world:r}=t;t.uncache();let o=t.fullPointer,i=t.fullPointer;t.forEach(((s,l)=>{let u=s.fullPointer[0],[c]=u,d=a[c],h=function(e,t){const{methods:n}=t;return"string"==typeof e?n.one.tokenize.fromString(e,t)[0]:"object"==typeof e&&e.isView?e.clone().docs[0]||[]:T(e)?T(e[0])?e[0]:e:[]}(e,r);0!==h.length&&(h=function(e){return e.map((e=>(e.id=D(e),e)))}(h),n?(G(t.update([u]).firstTerm()),N(d,u,h,a)):(G(t.update([u]).lastTerm()),function(e,t,n,a){let[r,,o]=t,i=(a[r]||[]).length;o{let n=t(e);e.replaceWith(n)})),e}(a,e);let r=a.docs[0],o=t.possessives&&r[r.length-1].tags.has("Possessive");e=function(e,t){if("string"!=typeof e)return e;let n=t.groups();return e=e.replace(O,(e=>{let t=e.replace(/\$/,"");return n.hasOwnProperty(t)?n[t].text():e})),e}(e,a);let i=this.update(n);n=n.map((e=>e.slice(0,3)));let s=(i.docs[0]||[]).map((e=>Array.from(e.tags)));if("string"==typeof e&&(e=this.fromText(e).compute("id")),a.insertAfter(e),i.has("@hasContraction")&&a.contractions&&a.grow("@hasContraction+").contractions().expand(),a.delete(i),o){let e=a.docs[0],t=e[e.length-1];t.tags.has("Possessive")||(t.text+="'s",t.normal+="'s",t.tags.add("Possessive"))}let l=a.toView(n).compute(["index","lexicon"]);return l.world.compute.preTagger&&l.compute("preTagger"),t.tags&&l.terms().forEach(((e,t)=>{e.tagSafe(s[t])})),t.case&&l.docs[0]&&l.docs[0][0]&&0===l.docs[0][0].index[1]&&(l.docs[0][0].text=l.docs[0][0].text.replace(/\w\S*/g,(e=>e.charAt(0).toUpperCase()+e.substring(1).toLowerCase()))),l},replace:function(e,t,n){if(e&&!t)return this.replaceWith(e,n);let a=this.match(e);return a.found?(this.soften(),a.replaceWith(t,n)):this}};var V=z,L=function(e,t){t.forEach((t=>{let[n,a,r]=t,o=r-a;e[n]&&(r===e[n].length&&r>1&&function(e,t){let n=e.length-1,a=e[n],r=e[n-t];r&&a&&(r.post+=a.post,r.post=r.post.replace(/ +([.?!,;:])/,"$1"),r.post=r.post.replace(/[,;:]+([.?!])/,"$1"))}(e[n],o),e[n].splice(a,o))}));for(let t=e.length-1;t>=0;t-=1)if(0===e[t].length&&(e.splice(t,1),t===e.length&&e[t-1])){let n=e[t-1],a=n[n.length-1];a&&(a.post=a.post.trimEnd())}return e};const M={remove:function(e){const{indexN:t}=this.methods.one.pointer;this.uncache();let n=this.all(),a=this;e&&(n=this,a=this.match(e));let r=!n.ptrs;a.has("@hasContraction")&&a.contractions&&a.grow("@hasContraction").contractions().expand();let o=n.fullPointer,i=a.fullPointer.reverse(),s=L(this.document,i);return o=function(e,t){return e=e.map((e=>{let[n]=e;return t[n]?(t[n].forEach((t=>{let n=t[2]-t[1];e[1]<=t[1]&&e[2]>=t[2]&&(e[2]-=n)})),e):e})),e.forEach(((t,n)=>{if(0===t[1]&&0==t[2])for(let t=n+1;te[2]-e[1]>0))).map((e=>(e[3]=null,e[4]=null,e)))}(o,t(i)),n.ptrs=o,n.document=s,n.compute("index"),r&&(n.ptrs=void 0),e?n.toView(o):(this.ptrs=[],n.none())}};M.delete=M.remove;var B=M;const S={pre:function(e,t){return void 0===e&&this.found?this.docs[0][0].pre:(this.docs.forEach((n=>{let a=n[0];!0===t?a.pre+=e:a.pre=e})),this)},post:function(e,t){if(void 0===e){let e=this.docs[this.docs.length-1];return e[e.length-1].post}return this.docs.forEach((n=>{let a=n[n.length-1];!0===t?a.post+=e:a.post=e})),this},trim:function(){if(!this.found)return this;let e=this.docs,t=e[0][0];t.pre=t.pre.trimStart();let n=e[e.length-1],a=n[n.length-1];return a.post=a.post.trimEnd(),this},hyphenate:function(){return this.docs.forEach((e=>{e.forEach(((t,n)=>{0!==n&&(t.pre=""),e[n+1]&&(t.post="-")}))})),this},dehyphenate:function(){const e=/[-–—]/;return this.docs.forEach((t=>{t.forEach((t=>{e.test(t.post)&&(t.post=" ")}))})),this},toQuotations:function(e,t){return e=e||'"',t=t||'"',this.docs.forEach((n=>{n[0].pre=e+n[0].pre;let a=n[n.length-1];a.post=t+a.post})),this},toParentheses:function(e,t){return e=e||"(",t=t||")",this.docs.forEach((n=>{n[0].pre=e+n[0].pre;let a=n[n.length-1];a.post=t+a.post})),this}};S.deHyphenate=S.dehyphenate,S.toQuotation=S.toQuotations;var $=S,J={alpha:(e,t)=>e.normalt.normal?1:0,length:(e,t)=>{let n=e.normal.trim().length,a=t.normal.trim().length;return na?-1:0},wordCount:(e,t)=>e.wordst.words?-1:0,sequential:(e,t)=>e[0]t[0]?-1:e[1]>t[1]?1:-1,byFreq:function(e){let t={};return e.forEach((e=>{t[e.normal]=t[e.normal]||0,t[e.normal]+=1})),e.sort(((e,n)=>{let a=t[e.normal],r=t[n.normal];return ar?-1:0})),e}};const W=new Set(["index","sequence","seq","sequential","chron","chronological"]),K=new Set(["freq","frequency","topk","repeats"]),q=new Set(["alpha","alphabetical"]);var U={unique:function(){let e=new Set,t=this.filter((t=>{let n=t.text("machine");return!e.has(n)&&(e.add(n),!0)}));return t},reverse:function(){let e=this.pointer||this.docs.map(((e,t)=>[t]));return e=[].concat(e),e=e.reverse(),this._cache&&(this._cache=this._cache.reverse()),this.update(e)},sort:function(e){let{docs:t,pointer:n}=this;if(this.uncache(),"function"==typeof e)return function(e,t){let n=e.fullPointer;return n=n.sort(((n,a)=>(n=e.update([n]),a=e.update([a]),t(n,a)))),e.ptrs=n,e}(this,e);e=e||"alpha";let a=n||t.map(((e,t)=>[t])),r=t.map(((e,t)=>({index:t,words:e.length,normal:e.map((e=>e.machine||e.normal||"")).join(" "),pointer:a[t]})));return W.has(e)&&(e="sequential"),q.has(e)&&(e="alpha"),K.has(e)?(r=J.byFreq(r),this.update(r.map((e=>e.pointer)))):"function"==typeof J[e]?(r=r.sort(J[e]),this.update(r.map((e=>e.pointer)))):this}};const R=function(e,t){if(e.length>0){let t=e[e.length-1],n=t[t.length-1];!1===/ /.test(n.post)&&(n.post+=" ")}return e=e.concat(t)};var Q={concat:function(e){if("string"==typeof e){let t=this.fromText(e);if(this.found&&this.ptrs){let e=this.fullPointer,n=e[e.length-1][0];this.document.splice(n,0,...t.document)}else this.document=this.document.concat(t.document);return this.all().compute("index")}if("object"==typeof e&&e.isView)return function(e,t){if(e.document===t.document){let n=e.fullPointer.concat(t.fullPointer);return e.toView(n).compute("index")}return t.fullPointer.forEach((t=>{t[0]+=e.document.length})),e.document=R(e.document,t.docs),e.all()}(this,e);if(t=e,"[object Array]"===Object.prototype.toString.call(t)){let t=R(this.document,e);return this.document=t,this.all()}var t;return this}},X={harden:function(){return this.ptrs=this.fullPointer,this},soften:function(){let e=this.ptrs;return!e||e.length<1||(e=e.map((e=>e.slice(0,3))),this.ptrs=e),this}};const Z=Object.assign({},{toLowerCase:function(){return this.termList().forEach((e=>{e.text=e.text.toLowerCase()})),this},toUpperCase:function(){return this.termList().forEach((e=>{e.text=e.text.toUpperCase()})),this},toTitleCase:function(){return this.termList().forEach((e=>{e.text=e.text.replace(/^ *[a-z\u00C0-\u00FF]/,(e=>e.toUpperCase()))})),this},toCamelCase:function(){return this.docs.forEach((e=>{e.forEach(((t,n)=>{0!==n&&(t.text=t.text.replace(/^ *[a-z\u00C0-\u00FF]/,(e=>e.toUpperCase()))),n!==e.length-1&&(t.post="")}))})),this}},F,V,B,$,U,Q,X);var _=function(e){Object.assign(e.prototype,Z)};const Y={id:function(e){let t=e.docs;for(let e=0;e(e.implicit=e.text,e.machine=e.text,e.pre="",e.post="",e.text="",e.normal="",e.index=[a,r+t],e))),n[0]&&(n[0].pre=e[a][r].pre,n[n.length-1].post=e[a][r].post,n[0].text=e[a][r].text,n[0].normal=e[a][r].normal),e[a].splice(r,1,...n))};const re=/'/,oe=new Set(["what","how","when","where","why"]),ie=new Set(["be","go","start","think","need"]),se=new Set(["been","gone"]);var le=function(e,t){let n=e[t].normal.split(re)[0];if(oe.has(n))return[n,"did"];if(e[t+1]){if(se.has(e[t+1].normal))return[n,"had"];if(ie.has(e[t+1].normal))return[n,"would"]}return null},ue=function(e,t){return"ain't"===e[t].normal||"aint"===e[t].normal?null:[e[t].normal.replace(/n't/,""),"not"]};const ce=/'/;var de=(e,t)=>["je",e[t].normal.split(ce)[1]],he=(e,t)=>{let n=e[t].normal.split(ce)[1];return n&&n.endsWith("e")?["la",n]:["le",n]},ge=(e,t)=>{let n=e[t].normal.split(ce)[1];return n&&n.endsWith("e")?["du",n]:n&&n.endsWith("s")?["des",n]:["de",n]};const me=/^([0-9.]{1,4}[a-z]{0,2}) ?[-–—] ?([0-9]{1,4}[a-z]{0,2})$/i,pe=/^([0-9]{1,2}(:[0-9][0-9])?(am|pm)?) ?[-–—] ?([0-9]{1,2}(:[0-9][0-9])?(am|pm)?)$/i,fe=/^[0-9]{3}-[0-9]{4}$/;var be=function(e,t){let n=e[t],a=n.text.match(me);return null!==a?!0===n.tags.has("PhoneNumber")||fe.test(n.text)?null:[a[1],"to",a[2]]:(a=n.text.match(pe),null!==a?[a[1],"to",a[4]]:null)};const ve=/^([+-]?[0-9][.,0-9]*)([a-z°²³µ/]+)$/;var ye=function(e,t,n){const a=n.model.one.numberSuffixes||{};let r=e[t].text.match(ve);if(null!==r){let e=r[2].toLowerCase().trim();return a.hasOwnProperty(e)?null:[r[1],e]}return null};const we=/'/,ke=/^[0-9][^-–—]*[-–—].*?[0-9]/,Pe=function(e,t,n,a){let r=t.update();r.document=[e];let o=n+a;n>0&&(n-=1),e[o]&&(o+=1),r.ptrs=[[0,n,o]]},Ae={t:(e,t)=>ue(e,t),d:(e,t)=>le(e,t)},Ce={j:(e,t)=>de(e,t),l:(e,t)=>he(e,t),d:(e,t)=>ge(e,t)},je=function(e,t,n,a){for(let r=0;r2)return o.out.concat(a)}return null},Ne=function(e,t){let n=t.fromText(e.join(" "));return n.compute(["id","alias"]),n.docs[0]},Ie=function(e,t){for(let n=t+1;n<5&&e[n];n+=1)if("been"===e[n].normal)return["there","has"];return["there","is"]};var He=e=>{let{world:t,document:n}=e;const{model:a,methods:r}=t;let o=a.one.contractions||[];n.forEach(((a,i)=>{for(let s=a.length-1;s>=0;s-=1){let l=null,u=null;!0===we.test(a[s].normal)&&([l,u]=a[s].normal.split(we));let c=je(o,a[s],l,u);!c&&Ae.hasOwnProperty(u)&&(c=Ae[u](a,s,t)),!c&&Ce.hasOwnProperty(l)&&(c=Ce[l](a,s)),"there"===l&&"s"===u&&(c=Ie(a,s)),c?(c=Ne(c,e),ae(n,[i,s],c),Pe(n[i],e,s,c.length)):ke.test(a[s].normal)?(c=be(a,s),c&&(c=Ne(c,e),ae(n,[i,s],c),r.one.setTag(c,"NumberRange",t),c[2]&&c[2].tags.has("Time")&&r.one.setTag([c[0]],"Time",t,null,"time-range"),Pe(n[i],e,s,c.length))):(c=ye(a,s,t),c&&(c=Ne(c,e),ae(n,[i,s],c),r.one.setTag([c[1]],"Unit",t,null,"contraction-unit")))}}))},De={model:ne,compute:{contractions:He},hooks:["contractions"]},Ge=function(e,t,n){const{model:a,methods:r}=n,o=r.one.setTag,i=a.one._multiCache||{},s=a.one.lexicon||{};let l=e[t],u=l.machine||l.normal;return void 0!==e[t+1]&&!0===i[u]?function(e,t,n,a,r){let o=t+4>e.length?e.length-t:4,i=e[t].machine||e[t].normal;for(let s=1;si.hasOwnProperty(e)));if(e)return o([s],i[e],n,!1,"1-lexicon-alias"),!0}if(!0===Te.test(l)){let e=l.replace(Te,"");if(i.hasOwnProperty(e)&&e.length>3&&xe.has(i[e]))return o([s],i[e],n,!1,"1-lexicon-prefix"),!0}return null},Fe={lexicon:function(e){const t=e.world;e.docs.forEach((e=>{for(let n=0;n{let r=e[a],o=(a=(a=a.toLowerCase().trim()).replace(/'s\b/,"")).split(/ /);o.length>1&&(n[o[0]]=!0),t[a]=t[a]||r})),delete t[""],delete t.null,delete t[" "],{lex:t,_multi:n}},ze={addWords:function(e){const t=this.world(),{methods:n,model:a}=t;if(e)if(Object.keys(e).forEach((t=>{"string"==typeof e[t]&&e[t].startsWith("#")&&(e[t]=e[t].replace(/^#/,""))})),n.two.expandLexicon){let{lex:r,_multi:o}=n.two.expandLexicon(e,t);Object.assign(a.one.lexicon,r),Object.assign(a.one._multiCache,o)}else if(n.one.expandLexicon){let{lex:r,_multi:o}=n.one.expandLexicon(e,t);Object.assign(a.one.lexicon,r),Object.assign(a.one._multiCache,o)}else Object.assign(a.one.lexicon,e)}},Ve={model:{one:{lexicon:{},_multiCache:{}}},methods:{one:{expandLexicon:Oe}},compute:Fe,lib:ze,hooks:["lexicon"]},Le=function(e,t){let n=[{}],a=[null],r=[0],o=[],i=0;e.forEach((function(e){let r=0,o=function(e,t){const{methods:n,model:a}=t;let r=n.one.tokenize.splitTerms(e,a).map((e=>n.one.tokenize.splitWhitespace(e,a)));return r.map((e=>e.text.toLowerCase()))}(e,t);for(let e=0;e0&&!n[i].hasOwnProperty(l);)i=r[i];if(n.hasOwnProperty(i)){let e=n[i][l];r[u]=e,a[e]&&(a[u]=a[u]||[],a[u]=a[u].concat(a[e]))}else r[u]=0}}return{goNext:n,endAs:a,failTo:r}};const Me=function(e,t,n){let a=0,r=[];for(let o=0;o0&&(void 0===t.goNext[a]||!t.goNext[a].hasOwnProperty(i));)a=t.failTo[a]||0;if(t.goNext[a].hasOwnProperty(i)&&(a=t.goNext[a][i],t.endAs[a])){let n=t.endAs[a];for(let t=0;t0&&(a=a.concat(l))}return e.update(a)};const $e=(e,t)=>{for(let n=e.length-1;n>=0;n-=1)if(e[n]!==t)return e=e.slice(0,n+1);return e};var Je=function(e){return e.goNext=e.goNext.map((e=>{if(0!==Object.keys(e).length)return e})),e.goNext=$e(e.goNext,void 0),e.failTo=$e(e.failTo,0),e.endAs=$e(e.endAs,null),e};const We={buildTrie:function(e){const t=Le(e,this.world());return Je(t)}};We.compile=We.buildTrie;var Ke={api:function(e){e.prototype.lookup=function(e,t={}){if(!e)return this.none();"string"==typeof e&&(e=[e]);let n=(a=e,"[object Object]"===Object.prototype.toString.call(a)?e:Le(e,this.world));var a;let r=Se(this,n,t);return r=r.settle(),r}},lib:We};const qe=function(e,t){return t?(e.forEach((e=>{let n=e[0];t[n]&&(e[0]=t[n][0],e[1]+=t[n][1],e[2]+=t[n][1])})),e):e},Ue=function(e,t){let{ptrs:n,byGroup:a}=e;return n=qe(n,t),Object.keys(a).forEach((e=>{a[e]=qe(a[e],t)})),{ptrs:n,byGroup:a}},Re=e=>"[object Object]"===Object.prototype.toString.call(e),Qe=e=>e&&Re(e)&&!0===e.isView,Xe=e=>e&&Re(e)&&!0===e.isNet,Ze=function(e,t,n){const a=n.methods.one;return"number"==typeof e&&(e=String(e)),"string"==typeof e&&(e=a.killUnicode(e,n),e=a.parseMatch(e,t,n)),e};var _e={matchOne:function(e,t,n){const a=this.methods.one;if(Qe(e))return this.intersection(e).eq(0);if(Xe(e))return this.sweep(e,{tagger:!1,matchOne:!0}).view;let r={regs:e=Ze(e,n,this.world),group:t,justOne:!0},o=a.match(this.docs,r,this._cache),{ptrs:i,byGroup:s}=Ue(o,this.fullPointer),l=this.toView(i);return l._groups=s,l},match:function(e,t,n){const a=this.methods.one;if(Qe(e))return this.intersection(e);if(Xe(e))return this.sweep(e,{tagger:!1}).view.settle();let r={regs:e=Ze(e,n,this.world),group:t},o=a.match(this.docs,r,this._cache),{ptrs:i,byGroup:s}=Ue(o,this.fullPointer),l=this.toView(i);return l._groups=s,l},has:function(e,t,n){const a=this.methods.one;if(Qe(e))return e.fullPointer.length>0;if(Xe(e))return this.sweep(e,{tagger:!1}).view.found;let r={regs:e=Ze(e,n,this.world),group:t,justOne:!0};return a.match(this.docs,r,this._cache).ptrs.length>0},if:function(e,t,n){const a=this.methods.one;if(Qe(e))return this.filter((t=>t.intersection(e).found));if(Xe(e)){let t=this.sweep(e,{tagger:!1}).view.settle();return this.if(t)}let r={regs:e=Ze(e,n,this.world),group:t,justOne:!0},o=this.fullPointer,i=this._cache||[];o=o.filter(((e,t)=>{let n=this.update([e]);return a.match(n.docs,r,i[t]).ptrs.length>0}));let s=this.update(o);return this._cache&&(s._cache=o.map((e=>i[e[0]]))),s},ifNo:function(e,t,n){const{methods:a}=this,r=a.one;if(Qe(e))return this.filter((t=>!t.intersection(e).found));if(Xe(e)){let t=this.sweep(e,{tagger:!1}).view.settle();return this.ifNo(t)}e=Ze(e,n,this.world);let o=this._cache||[],i=this.filter(((n,a)=>{let i={regs:e,group:t,justOne:!0};return 0===r.match(n.docs,i,o[a]).ptrs.length}));return this._cache&&(i._cache=i.ptrs.map((e=>o[e[0]]))),i}},Ye={before:function(e,t,n){const{indexN:a}=this.methods.one.pointer;let r=[],o=a(this.fullPointer);Object.keys(o).forEach((e=>{let t=o[e].sort(((e,t)=>e[1]>t[1]?1:-1))[0];t[1]>0&&r.push([t[0],0,t[1]])}));let i=this.toView(r);return e?i.match(e,t,n):i},after:function(e,t,n){const{indexN:a}=this.methods.one.pointer;let r=[],o=a(this.fullPointer),i=this.document;Object.keys(o).forEach((e=>{let t=o[e].sort(((e,t)=>e[1]>t[1]?-1:1))[0],[n,,a]=t;a{let o=n.before(e,t);if(o.found){let e=o.terms();a[r][1]-=e.length,a[r][3]=e.docs[0][0].id}})),this.update(a)},growRight:function(e,t,n){"string"==typeof e&&(e=this.world.methods.one.parseMatch(e,n,this.world)),e[0].start=!0;let a=this.fullPointer;return this.forEach(((n,r)=>{let o=n.after(e,t);if(o.found){let e=o.terms();a[r][2]+=e.length,a[r][4]=null}})),this.update(a)},grow:function(e,t,n){return this.growRight(e,t,n).growLeft(e,t,n)}};const et=function(e,t){return[e[0],e[1],t[2]]},tt=(e,t,n)=>{return"string"==typeof e||(a=e,"[object Array]"===Object.prototype.toString.call(a))?t.match(e,n):e||t.none();var a},nt=function(e,t){let[n,a,r]=e;return t.document[n]&&t.document[n][a]&&(e[3]=e[3]||t.document[n][a].id,t.document[n][r-1]&&(e[4]=e[4]||t.document[n][r-1].id)),e},at={splitOn:function(e,t){const{splitAll:n}=this.methods.one.pointer;let a=tt(e,this,t).fullPointer,r=n(this.fullPointer,a),o=[];return r.forEach((e=>{o.push(e.passthrough),o.push(e.before),o.push(e.match),o.push(e.after)})),o=o.filter((e=>e)),o=o.map((e=>nt(e,this))),this.update(o)},splitBefore:function(e,t){const{splitAll:n}=this.methods.one.pointer;let a=tt(e,this,t).fullPointer,r=n(this.fullPointer,a);for(let e=0;e{o.push(e.passthrough),o.push(e.before),e.match&&e.after?o.push(et(e.match,e.after)):o.push(e.match)})),o=o.filter((e=>e)),o=o.map((e=>nt(e,this))),this.update(o)},splitAfter:function(e,t){const{splitAll:n}=this.methods.one.pointer;let a=tt(e,this,t).fullPointer,r=n(this.fullPointer,a),o=[];return r.forEach((e=>{o.push(e.passthrough),e.before&&e.match?o.push(et(e.before,e.match)):(o.push(e.before),o.push(e.match)),o.push(e.after)})),o=o.filter((e=>e)),o=o.map((e=>nt(e,this))),this.update(o)}};at.split=at.splitAfter;var rt=at;const ot=Object.assign({},_e,Ye,rt);ot.lookBehind=ot.before,ot.lookBefore=ot.before,ot.lookAhead=ot.after,ot.lookAfter=ot.after,ot.notIf=ot.ifNo;var it=function(e){Object.assign(e.prototype,ot)};const st=/(?:^|\s)([![^]*(?:<[^<]*>)?\/.*?[^\\/]\/[?\]+*$~]*)(?:\s|$)/,lt=/([!~[^]*(?:<[^<]*>)?\([^)]+[^\\)]\)[?\]+*$~]*)(?:\s|$)/,ut=/ /g,ct=e=>/^[![^]*(<[^<]*>)?\//.test(e)&&/\/[?\]+*$~]*$/.test(e),dt=function(e){return e=(e=e.map((e=>e.trim()))).filter((e=>e))};var ht=function(e){let t=e.split(st),n=[];t.forEach((e=>{ct(e)?n.push(e):n=n.concat(e.split(lt))})),n=dt(n);let a=[];return n.forEach((e=>{(e=>/^[![^]*(<[^<]*>)?\(/.test(e)&&/\)[?\]+*$~]*$/.test(e))(e)||ct(e)?a.push(e):a=a.concat(e.split(ut))})),a=dt(a),a};const gt=/\{([0-9]+)?(, *[0-9]*)?\}/,mt=/&&/,pt=new RegExp(/^<\s*(\S+)\s*>/),ft=e=>e.charAt(0).toUpperCase()+e.substring(1),bt=e=>e.charAt(e.length-1),vt=e=>e.charAt(0),yt=e=>e.substring(1),wt=e=>e.substring(0,e.length-1),kt=function(e){return e=yt(e),e=wt(e)},Pt=function(e,t){let n={};for(let a=0;a<2;a+=1){if("$"===bt(e)&&(n.end=!0,e=wt(e)),"^"===vt(e)&&(n.start=!0,e=yt(e)),"?"===bt(e)&&(n.optional=!0,e=wt(e)),("["===vt(e)||"]"===bt(e))&&(n.group=null,"["===vt(e)&&(n.groupStart=!0),"]"===bt(e)&&(n.groupEnd=!0),e=(e=e.replace(/^\[/,"")).replace(/\]$/,""),"<"===vt(e))){const t=pt.exec(e);t.length>=2&&(n.group=t[1],e=e.replace(t[0],""))}if("+"===bt(e)&&(n.greedy=!0,e=wt(e)),"*"!==e&&"*"===bt(e)&&"\\*"!==e&&(n.greedy=!0,e=wt(e)),"!"===vt(e)&&(n.negative=!0,e=yt(e)),"~"===vt(e)&&"~"===bt(e)&&e.length>2&&(e=kt(e),n.fuzzy=!0,n.min=t.fuzzy||.85,!1===/\(/.test(e)))return n.word=e,n;if("/"===vt(e)&&"/"===bt(e))return e=kt(e),t.caseSensitive&&(n.use="text"),n.regex=new RegExp(e),n;if(!0===gt.test(e)&&(e=e.replace(gt,((e,t,a)=>(void 0===a?(n.min=Number(t),n.max=Number(t)):(a=a.replace(/, */,""),void 0===t?(n.min=0,n.max=Number(a)):(n.min=Number(t),n.max=Number(a||999))),n.greedy=!0,n.min||(n.optional=!0),"")))),"("===vt(e)&&")"===bt(e)){mt.test(e)?(n.choices=e.split(mt),n.operator="and"):(n.choices=e.split("|"),n.operator="or"),n.choices[0]=yt(n.choices[0]);let a=n.choices.length-1;n.choices[a]=wt(n.choices[a]),n.choices=n.choices.map((e=>e.trim())),n.choices=n.choices.filter((e=>e)),n.choices=n.choices.map((e=>e.split(/ /g).map((e=>Pt(e,t))))),e=""}if("{"===vt(e)&&"}"===bt(e)){if(e=kt(e),n.root=e,/\//.test(e)){let e=n.root.split(/\//);n.root=e[0],n.pos=e[1],"adj"===n.pos&&(n.pos="Adjective"),n.pos=n.pos.charAt(0).toUpperCase()+n.pos.substr(1).toLowerCase(),void 0!==e[2]&&(n.sense=e[2])}return n}if("<"===vt(e)&&">"===bt(e))return e=kt(e),n.chunk=ft(e),n.greedy=!0,n;if("%"===vt(e)&&"%"===bt(e))return e=kt(e),n.switch=e,n}return"#"===vt(e)?(n.tag=yt(e),n.tag=ft(n.tag),n):"@"===vt(e)?(n.method=yt(e),n):"."===e?(n.anything=!0,n):"*"===e?(n.anything=!0,n.greedy=!0,n.optional=!0,n):(e&&(e=(e=e.replace("\\*","*")).replace("\\.","."),t.caseSensitive?n.use="text":e=e.toLowerCase(),n.word=e),n)};var At=Pt;const Ct=/[a-z0-9][-–—][a-z]/i;var jt=function(e,t){let n=t.model.one.prefixes;for(let t=e.length-1;t>=0;t-=1){let a=e[t];if(a.word&&Ct.test(a.word)){let r=a.word.split(/[-–—]/g);if(n.hasOwnProperty(r[0]))continue;r=r.filter((e=>e)).reverse(),e.splice(t,1),r.forEach((n=>{let r=Object.assign({},a);r.word=n,e.splice(t,0,r)}))}}return e};const Nt=function(e,t){let{all:n}=t.methods.two.transform.verb||{},a=e.root;return n?n(a,t.model):[]},It=function(e,t){let{all:n}=t.methods.two.transform.noun||{};return n?n(e.root,t.model):[e.root]},Ht=function(e,t){let{all:n}=t.methods.two.transform.adjective||{};return n?n(e.root,t.model):[e.root]};var Dt=function(e,t){return e=e.map((e=>{if(e.root)if(t.methods.two&&t.methods.two.transform){let n=[];e.pos?"Verb"===e.pos?n=n.concat(Nt(e,t)):"Noun"===e.pos?n=n.concat(It(e,t)):"Adjective"===e.pos&&(n=n.concat(Ht(e,t))):(n=n.concat(Nt(e,t)),n=n.concat(It(e,t)),n=n.concat(Ht(e,t))),n=n.filter((e=>e)),n.length>0&&(e.operator="or",e.fastOr=new Set(n))}else e.machine=e.root,delete e.id,delete e.root;return e}))},Gt=function(e){return e=function(e){let t=0,n=null;for(let a=0;a(e.fuzzy&&e.choices&&e.choices.forEach((t=>{1===t.length&&t[0].word&&(t[0].fuzzy=!0,t[0].min=e.min)})),e)))}(e=e.map((e=>{if(void 0!==e.choices){if("or"!==e.operator)return e;if(!0===e.fuzzy)return e;!0===e.choices.every((e=>{if(1!==e.length)return!1;let t=e[0];return!0!==t.fuzzy&&!t.start&&!t.end&&void 0!==t.word&&!0!==t.negative&&!0!==t.optional&&!0!==t.method}))&&(e.fastOr=new Set,e.choices.forEach((t=>{e.fastOr.add(t[0].word)})),delete e.choices)}return e}))),e},Tt=function(e,t,n){if(null==e||""===e)return[];t=t||{},"number"==typeof e&&(e=String(e));let a=ht(e);return a=a.map((e=>At(e,t))),a=jt(a,n),a=Dt(a,n),a=Gt(a),a};const xt=function(e,t){for(let n of t)if(e.has(n))return!0;return!1};var Et=function(e,t){for(let n=0;nn?a:n)+1;if(Math.abs(n-a)>(r||100))return r||100;let o,i,s,l,u,c,d=[];for(let e=0;e4)return n;s=t[o-1],l=i===s?0:1,u=d[r-1][o]+1,(c=d[r][o-1]+1)1&&o>1&&i===t[o-2]&&e[r-2]===s&&(c=d[r-2][o-2]+l)-1!==e.post.indexOf(t),Bt=(e,t)=>-1!==e.pre.indexOf(t),St={hasQuote:e=>Ot.test(e.pre)||zt.test(e.post),hasComma:e=>Mt(e,","),hasPeriod:e=>!0===Mt(e,".")&&!1===Mt(e,"..."),hasExclamation:e=>Mt(e,"!"),hasQuestionMark:e=>Mt(e,"?")||Mt(e,"¿"),hasEllipses:e=>Mt(e,"..")||Mt(e,"…")||Bt(e,"..")||Bt(e,"…"),hasSemicolon:e=>Mt(e,";"),hasColon:e=>Mt(e,":"),hasSlash:e=>/\//.test(e.text),hasHyphen:e=>Vt.test(e.post)||Vt.test(e.pre),hasDash:e=>Lt.test(e.post)||Lt.test(e.pre),hasContraction:e=>Boolean(e.implicit),isAcronym:e=>e.tags.has("Acronym"),isKnown:e=>e.tags.size>0,isTitleCase:e=>/^\p{Lu}[a-z'\u00C0-\u00FF]/u.test(e.text),isUpperCase:e=>/^\p{Lu}+$/u.test(e.text)};St.hasQuotation=St.hasQuote;var $t=St;let Jt=function(){};Jt=function(e,t,n,a){let r=function(e,t,n,a){if(!0===t.anything)return!0;if(!0===t.start&&0!==n)return!1;if(!0===t.end&&n!==a-1)return!1;if(void 0!==t.id&&t.id===e.id)return!0;if(void 0!==t.word){if(t.use)return t.word===e[t.use];if(null!==e.machine&&e.machine===t.word)return!0;if(void 0!==e.alias&&e.alias.hasOwnProperty(t.word))return!0;if(!0===t.fuzzy){if(t.word===e.root)return!0;if(Ft(t.word,e.normal)>=t.min)return!0}return!(!e.alias||!e.alias.some((e=>e===t.word)))||t.word===e.text||t.word===e.normal}if(void 0!==t.tag)return!0===e.tags.has(t.tag);if(void 0!==t.method)return"function"==typeof $t[t.method]&&!0===$t[t.method](e);if(void 0!==t.pre)return e.pre&&e.pre.includes(t.pre);if(void 0!==t.post)return e.post&&e.post.includes(t.post);if(void 0!==t.regex){let n=e.normal;return t.use&&(n=e[t.use]),t.regex.test(n)}if(void 0!==t.chunk)return e.chunk===t.chunk;if(void 0!==t.switch)return e.switch===t.switch;if(void 0!==t.machine)return e.normal===t.machine||e.machine===t.machine||e.root===t.machine;if(void 0!==t.sense)return e.sense===t.sense;if(void 0!==t.fastOr){if(t.pos&&!e.tags.has(t.pos))return null;let n=e.root||e.implicit||e.machine||e.normal;return t.fastOr.has(n)||t.fastOr.has(e.text)}return void 0!==t.choices&&("and"===t.operator?t.choices.every((t=>Jt(e,t,n,a))):t.choices.some((t=>Jt(e,t,n,a))))}(e,t,n,a);return!0===t.negative?!r:r};var Wt=Jt;const Kt=function(e,t){if(!0===e.end&&!0===e.greedy&&t.start_i+t.tn.max?(e.t=e.t+n.max,!0):(!0===e.hasGroup&&(qt(e,e.t).length=a-e.t),e.t=a,!0)};const Rt=function(e,t=0){let n=e.regs[e.r],a=!1;for(let o=0;o{let r=0,o=e.t+a+t+r;if(void 0===e.terms[o])return!1;let i=Wt(e.terms[o],n,o+e.start_i,e.phrase_length);if(!0===i&&!0===n.greedy)for(let t=1;t{let a=n.every(((t,n)=>{let a=e.t+n;return void 0!==e.terms[a]&&Wt(e.terms[a],t,a,e.phrase_length)}));return!0===a&&n.length>t&&(t=n.length),a}))&&t}(e);if(a){if(!0===n.negative)return null;if(!0===e.hasGroup&&(qt(e,e.t).length+=a),!0===n.end){let t=e.phrase_length-1;if(e.t+e.start_i!==t)return null}return e.t+=a,!0}return!!n.optional||null},Zt=function(e,t,n){let a=0;for(let r=e.t;ra||(e.t+=a,0))},_t=function(e){const{regs:t}=e;let n=t[e.r],a=Object.assign({},n);if(a.negative=!1,Wt(e.terms[e.t],a,e.start_i+e.t,e.phrase_length))return!1;if(n.optional){let n=t[e.r+1];n&&(Wt(e.terms[e.t],n,e.start_i+e.t,e.phrase_length)?e.r+=1:n.optional&&t[e.r+2]&&Wt(e.terms[e.t],t[e.r+2],e.start_i+e.t,e.phrase_length)&&(e.r+=2))}return n.greedy?Zt(e,a,t[e.r+1]):(e.t+=1,!0)},Yt=function(e){const{regs:t}=e;let n=t[e.r],a=e.terms[e.t],r=Wt(a,t[e.r+1],e.start_i+e.t,e.phrase_length);if(n.negative||r){let n=e.terms[e.t+1];n&&Wt(n,t[e.r+1],e.start_i+e.t,e.phrase_length)||(e.r+=1)}},en=function(e){const{regs:t,phrase_length:n}=e;let a=t[e.r];return e.t=function(e,t){let n=Object.assign({},e.regs[e.r],{start:!1,end:!1}),a=e.t;for(;e.te.t?null:!0!==a.end||e.start_i+e.t===n||null},tn=function(e){let t=e.terms[e.t],n=e.regs[e.r];if(t.implicit&&e.terms[e.t+1]){if(!e.terms[e.t+1].implicit)return;n.word===t.normal&&(e.t+=1),"hasContraction"===n.method&&(e.t+=1)}},nn=function(e){const{regs:t}=e;let n=t[e.r],a=e.terms[e.t],r=e.t;return!!(n.optional&&t[e.r+1]&&n.negative)||(n.optional&&t[e.r+1]&&Yt(e),a.implicit&&e.terms[e.t+1]&&tn(e),e.t+=1,!0===n.end&&e.t!==e.terms.length&&!0!==n.greedy?null:!0!==n.greedy||en(e)?(!0===e.hasGroup&&function(e,t){let n=e.regs[e.r];const a=qt(e,t);e.t>1&&n.greedy?a.length+=e.t-t:a.length++}(e,r),!0):null)},an=function(e,t,n,a){if(0===e.length||0===t.length)return null;let r={t:0,terms:e,r:0,regs:t,groups:{},start_i:n,phrase_length:a,inGroup:null};for(;r.r!e.optional)))break;return null}if(!0!==e.anything||!0!==e.greedy){if(void 0===e.choices||"or"!==e.operator){if(void 0===e.choices||"and"!==e.operator)if(!0!==e.anything){if(!0!==Kt(e,r)){if(e.negative){if(!_t(r))return null}else if(!0!==Wt(r.terms[r.t],e,r.start_i+r.t,r.phrase_length)){if(!0!==e.optional)return null}else if(!nn(r))return null}else if(!nn(r))return null}else{if(e.negative&&e.anything)return null;if(!nn(r))return null}else if(!Xt(r))return null}else if(!Qt(r))return null}else if(!Ut(r))return null}let o=[null,n,r.t+n];if(o[1]===o[2])return null;let i={};return Object.keys(r.groups).forEach((e=>{let t=r.groups[e],a=n+t.start;i[e]=[null,a,a+t.length]})),{pointer:o,groups:i}},rn=function(e,t){let n=[],a={};return 0===e.length||("number"==typeof t&&(t=String(t)),t?e.forEach((e=>{e.groups[t]&&n.push(e.groups[t])})):e.forEach((e=>{n.push(e.pointer),Object.keys(e.groups).forEach((t=>{a[t]=a[t]||[],a[t].push(e.groups[t])}))}))),{ptrs:n,byGroup:a}},on=function(e,t,n){return e=e.filter((e=>{let[a,r,o]=e.pointer,i=n[a].slice(r,o);for(let e=0;e{e.groups[n][0]=t})),e},ln=function(e,t,n){let a=an(e,t,0,e.length);return a?(a=sn(a,n),a):null};var un=function(e,t,n){n=n||[];let{regs:a,group:r,justOne:o}=t,i=[];if(!a||0===a.length)return{ptrs:[],byGroup:{}};const s=a.filter((e=>!0!==e.optional&&!0!==e.negative)).length;e:for(let t=0;te&&(e=Math.abs(n-1))}}else{let e=ln(r,a,t);e&&i.push(e)}}return!0===a[a.length-1].end&&(i=i.filter((t=>{let n=t.pointer[0];return e[n].length===t.pointer[2]}))),t.notIf&&(i=on(i,t.notIf,e)),i=rn(i,r),i.ptrs.forEach((t=>{let[n,a,r]=t;t[3]=e[n][a].id,t[4]=e[n][r-1].id})),i},cn={api:it,methods:{one:{termMethods:$t,parseMatch:Tt,match:un}},lib:{parseMatch:function(e,t){const n=this.world();let a=n.methods.one.killUnicode;return a&&(e=a(e,n)),n.methods.one.parseMatch(e,t,n)}}};const dn=/^\../,hn=/^#./,gn=function(e,t){let n={},a={};return Object.keys(t).forEach((r=>{let o=t[r],i=function(e){let t="",n="";return e=e.replace(/&/g,"&").replace(//g,">").replace(/"/g,""").replace(/'/g,"'"),dn.test(e)?t=``),t+=">",{start:t,end:n}}(r);"string"==typeof o&&(o=e.match(o)),o.docs.forEach((e=>{if(e.every((e=>e.implicit)))return;let t=e[0].id;n[t]=n[t]||[],n[t].push(i.start);let r=e[e.length-1].id;a[r]=a[r]||[],a[r].push(i.end)}))})),{starts:n,ends:a}};var mn={html:function(e){let{starts:t,ends:n}=gn(this,e),a="";return this.docs.forEach((e=>{for(let r=0;r{let n=e.pre||"",r=e.post||"";"some"===t.punctuation&&(n=n.replace(fn,""),vn.test(r)&&(r=" "),r=r.replace(bn,""),r=r.replace(/\?!+/,"?"),r=r.replace(/!+/,"!"),r=r.replace(/\?+/,"?"),r=r.replace(/\.{2,}/,""),e.tags.has("Abbreviation")&&(r=r.replace(/\./,""))),"some"===t.whitespace&&(n=n.replace(/\s/,""),r=r.replace(/\s+/," ")),t.keepPunct||(n=n.replace(fn,""),r="-"===r?" ":r.replace(pn,""));let o=e[t.form||"text"]||e.normal||"";"implicit"===t.form&&(o=e.implicit||e.text),"root"===t.form&&e.implicit&&(o=e.root||e.implicit||e.normal),"machine"!==t.form&&"implicit"!==t.form&&"root"!==t.form||!e.implicit||r&&yn.test(r)||(r+=" "),a+=n+o+r})),!1===n&&(a=a.trim()),!0===t.lowerCase&&(a=a.toLowerCase()),a},kn={text:{form:"text"},normal:{whitespace:"some",punctuation:"some",case:"some",unicode:"some",form:"normal"},machine:{keepSpace:!1,whitespace:"some",punctuation:"some",case:"none",unicode:"some",form:"machine"},root:{keepSpace:!1,whitespace:"some",punctuation:"some",case:"some",unicode:"some",form:"root"},implicit:{form:"implicit"}};kn.clean=kn.normal,kn.reduced=kn.root;var Pn=kn;let An=[],Cn=0;for(;Cn<64;)An[Cn]=0|4294967296*Math.sin(++Cn%Math.PI);function jn(e){let t,n,a,r=[t=1732584193,n=4023233417,~t,~n],o=[],i=decodeURI(encodeURI(e))+"€",s=i.length;for(e=--s/4+2|15,o[--e]=8*s;~s;)o[s>>2]|=i.charCodeAt(s)<<8*s--;for(Cn=i=0;Cn>4]+An[i]+~~o[Cn|15&[i,5*i+1,3*i+5,7*i][s]])<<(s=[7,12,17,22,5,9,14,20,4,11,16,23,6,10,15,21][4*s+i++%4])|a>>>-s),t,n])t=0|s[1],n=s[2];for(i=4;i;)r[--i]+=s[i]}for(e="";i<32;)e+=(r[i>>3]>>4*(1^i++)&15).toString(16);return e}const Nn={text:!0,terms:!0};let In={case:"none",unicode:"some",form:"machine",punctuation:"some"};const Hn=function(e,t){return Object.assign({},e,t)},Dn={text:e=>wn(e,{keepPunct:!0},!1),normal:e=>wn(e,Hn(Pn.normal,{keepPunct:!0}),!1),implicit:e=>wn(e,Hn(Pn.implicit,{keepPunct:!0}),!1),machine:e=>wn(e,In,!1),root:e=>wn(e,Hn(In,{form:"root"}),!1),hash:e=>jn(wn(e,{keepPunct:!0},!1)),offset:e=>{let t=Dn.text(e).length;return{index:e[0].offset.index,start:e[0].offset.start,length:t}},terms:e=>e.map((e=>{let t=Object.assign({},e);return t.tags=Array.from(e.tags),t})),confidence:(e,t,n)=>t.eq(n).confidence(),syllables:(e,t,n)=>t.eq(n).syllables(),sentence:(e,t,n)=>t.eq(n).fullSentence().text(),dirty:e=>e.some((e=>!0===e.dirty))};Dn.sentences=Dn.sentence,Dn.clean=Dn.normal,Dn.reduced=Dn.root;const Gn={json:function(e){let t=(n=this,"string"==typeof(a=(a=e)||{})&&(a={}),(a=Object.assign({},Nn,a)).offset&&n.compute("offset"),n.docs.map(((e,t)=>{let r={};return Object.keys(a).forEach((o=>{a[o]&&Dn[o]&&(r[o]=Dn[o](e,n,t))})),r})));var n,a;return"number"==typeof e?t[e]:t}};Gn.data=Gn.json;var Tn=Gn,xn=function(e){console.log("%c -=-=- ","background-color:#6699cc;"),e.forEach((e=>{console.groupCollapsed(e.text());let t=e.docs[0].map((e=>{let t=e.text||"-";return e.implicit&&(t="["+e.implicit+"]"),{text:t,tags:"["+Array.from(e.tags).join(", ")+"]"}}));console.table(t,["text","tags"]),console.groupEnd()}))};const En="";var Fn={green:e=>""+e+En,red:e=>""+e+En,blue:e=>""+e+En,magenta:e=>""+e+En,cyan:e=>""+e+En,yellow:e=>""+e+En,black:e=>""+e+En,dim:e=>""+e+En,i:e=>""+e+En},On=function(e){let{docs:t,model:n}=e;0===t.length&&console.log(Fn.blue("\n ──────")),t.forEach((t=>{console.log(Fn.blue("\n ┌─────────")),t.forEach((t=>{let a=[...t.tags||[]],r=t.text||"-";t.sense&&(r=`{${t.normal}/${t.sense}}`),t.implicit&&(r="["+t.implicit+"]"),r=Fn.yellow(r);let o="'"+r+"'";if(t.reference){let n=e.update([t.reference]).text("normal");o+=` - ${Fn.dim(Fn.i("["+n+"]"))}`}o=o.padEnd(18);let i=Fn.blue(" │ ")+Fn.i(o)+" - "+function(e,t){return t.one.tagSet&&(e=e.map((e=>{if(!t.one.tagSet.hasOwnProperty(e))return e;const n=t.one.tagSet[e].color||"blue";return Fn[n](e)}))),e.join(", ")}(a,n);console.log(i)}))}))},zn=function(e){let{docs:t}=e;console.log(""),t.forEach((e=>{let t=[];e.forEach((e=>{"Noun"===e.chunk?t.push(Fn.blue(e.implicit||e.normal)):"Verb"===e.chunk?t.push(Fn.green(e.implicit||e.normal)):"Adjective"===e.chunk?t.push(Fn.yellow(e.implicit||e.normal)):"Pivot"===e.chunk?t.push(Fn.red(e.implicit||e.normal)):t.push(e.implicit||e.normal)})),console.log(t.join(" "),"\n")}))},Vn=function(e){if(!e.found)return;let t={};e.fullPointer.forEach((e=>{t[e[0]]=t[e[0]]||[],t[e[0]].push(e)})),Object.keys(t).forEach((n=>{let a=e.update([[Number(n)]]).text();e.update(t[n]).json({offset:!0}).forEach(((e,t)=>{a=function(e,t,n){let a=((e,t,n)=>{let a=9*n,r=t.start+a,o=r+t.length;return[e.substring(0,r),e.substring(r,o),e.substring(o,e.length)]})(e,t,n);return`${a[0]}${Fn.blue(a[1])}${a[2]}`}(a,e.offset,t)})),console.log(a)}))},Ln=function(e={}){let t=this;if("string"==typeof e){let t={};t[e]=!0,e=t}return"undefined"!=typeof window&&window.document?(xn(t),t):(!1!==e.tags&&(On(t),console.log("\n")),!0===e.chunks&&(zn(t),console.log("\n")),!0===e.highlight&&(Vn(t),console.log("\n")),t)};const Mn=function(e){let t=e.pre||"",n=e.post||"";return t+e.text+n};var Bn=function(e,t){let n=function(e,t){let n={};return Object.keys(t).forEach((a=>{e.match(a).fullPointer.forEach((e=>{n[e[3]]={fn:t[a],end:e[2]}}))})),n}(e,t),a="";return e.docs.forEach(((t,r)=>{for(let o=0;oe.reduce(((e,t)=>e+t.pre+t.text+t.post),"").trim()));return e.filter((e=>e))}if("freq"===e||"frequency"===e||"topk"===e)return function(e){let t={};e.forEach((e=>{t[e]=t[e]||0,t[e]+=1}));let n=Object.keys(t).map((e=>({normal:e,count:t[e]})));return n.sort(((e,t)=>e.count>t.count?-1:0))}(this.json({normal:!0}).map((e=>e.normal)));if("terms"===e){let e=[];return this.docs.forEach((t=>{let n=t.map((e=>e.text));n=n.filter((e=>e)),e=e.concat(n)})),e}return"tags"===e?this.docs.map((e=>e.reduce(((e,t)=>(e[t.implicit||t.normal]=Array.from(t.tags),e)),{}))):"debug"===e?this.debug():this.text()},wrap:function(e){return Bn(this,e)}};var $n=Sn,Jn={text:function(e){let t={};var n;if(e&&"string"==typeof e&&Pn.hasOwnProperty(e)?t=Object.assign({},Pn[e]):e&&(n=e,"[object Object]"===Object.prototype.toString.call(n))&&(t=Object.assign({},e)),void 0!==t.keepSpace||this.isFull()||(t.keepSpace=!1),void 0===t.keepEndPunct&&this.pointer){let e=this.pointer[0];e&&e[1]?t.keepEndPunct=!1:t.keepEndPunct=!0}return void 0===t.keepPunct&&(t.keepPunct=!0),void 0===t.keepSpace&&(t.keepSpace=!0),function(e,t){let n="";if(!e||!e[0]||!e[0][0])return n;for(let a=0;ar||r<=n&&o>n},Rn=function(e){let t={};return e.forEach((e=>{t[e[0]]=t[e[0]]||[],t[e[0]].push(e)})),t};var Qn=function(e,t){let n=Rn(t),a=[];return e.forEach((e=>{let[t]=e,r=n[t]||[];if(r=r.filter((t=>function(e,t){return e[1]<=t[1]&&t[2]<=e[2]}(e,t))),0===r.length)return void a.push({passthrough:e});r=r.sort(((e,t)=>e[1]-t[1]));let o=e;r.forEach(((e,t)=>{let n=function(e,t){let[n,a]=e,r=t[1],o=t[2],i={};if(ao&&(i.after=[n,o,e[2]]),i}(o,e);r[t+1]?(a.push({before:n.before,match:n.match}),n.after&&(o=n.after)):a.push(n)}))})),a},Xn=function(e,t){let n=[];return e.forEach(((a,r)=>{if(!a)return;let[o,i,s,l,u]=a,c=t[o]||[];if(void 0===i&&(i=0),void 0===s&&(s=c.length),!l||c[i]&&c[i].id===l)c=c.slice(i,s);else{let n=function(e,t,n){for(let a=0;a<20;a+=1){if(t[n-a]){let r=t[n-a].findIndex((t=>t.id===e));if(-1!==r)return[n-a,r]}if(t[n+a]){let r=t[n+a].findIndex((t=>t.id===e));if(-1!==r)return[n+a,r]}}return null}(l,t,o);if(null!==n){let a=s-i;c=t[n[0]].slice(n[1],n[1]+a);let o=c[0]?c[0].id:null;e[r]=[n[0],n[1],n[1]+a,o]}}0!==c.length&&i!==s&&(u&&c[c.length-1].id!==u&&(c=function(e,t){let[n,a,,,r]=e,o=t[n],i=o.findIndex((e=>e.id===r));return-1===i?(e[2]=t[n].length,e[4]=o.length?o[o.length-1].id:null):e[2]=i,t[n].slice(a,e[2]+1)}(a,t)),n.push(c))})),n=n.filter((e=>e.length>0)),n},Zn={one:{termList:function(e){let t=[];for(let n=0;n{let[t]=e;if(1===a[t].length)return void r.push(e);let n=a[t].filter((t=>Un(e,t)));n.push(e);let o=function(e){let t=e[0][1],n=e[0][2];return e.forEach((e=>{e[1]n&&(n=e[2])})),[e[0][0],t,n]}(n);r.push(o)})),r=function(e){let t={};for(let n=0;n{e.passthrough&&n.push(e.passthrough),e.before&&n.push(e.before),e.after&&n.push(e.after)})),n},ea=function(e,t){let n=Rn(t),a=[];return e.forEach((e=>{let t=n[e[0]]||[];t=t.filter((t=>Un(e,t))),0!==t.length&&t.forEach((t=>{let n=function(e,t){let n=e[1]t[2]?t[2]:e[2];return n{return"string"==typeof e||(n=e,"[object Array]"===Object.prototype.toString.call(n))?t.match(e):e||t.none();var n},na=function(e,t){return e.map((e=>{let[n,a]=e;return t[n]&&t[n][a]&&(e[3]=t[n][a].id),e}))},aa={union:function(e){e=ta(e,this);let t=_n(this.fullPointer,e.fullPointer);return t=na(t,this.document),this.toView(t)}};aa.and=aa.union,aa.intersection=function(e){e=ta(e,this);let t=ea(this.fullPointer,e.fullPointer);return t=na(t,this.document),this.toView(t)},aa.not=function(e){e=ta(e,this);let t=Yn(this.fullPointer,e.fullPointer);return t=na(t,this.document),this.toView(t)},aa.difference=aa.not,aa.complement=function(){let e=this.all(),t=Yn(e.fullPointer,this.fullPointer);return t=na(t,this.document),this.toView(t)},aa.settle=function(){let e=this.fullPointer;return e.forEach((t=>{e=_n(e,[t])})),e=na(e,this.document),this.update(e)};var ra=function(e){Object.assign(e.prototype,aa)},oa={methods:Zn,api:ra},ia=function(e){e.prototype.sweep=function(e,t={}){const{world:n,docs:a}=this,{methods:r}=n;let o=r.one.bulkMatch(a,e,this.methods,t);!1!==t.tagger&&r.one.bulkTagger(o,a,this.world),o=o.map((e=>{let t=e.pointer,n=a[t[0]][t[1]],r=t[2]-t[1];return n.index&&(e.pointer=[n.index[0],n.index[1],t[1]+r]),e}));let i=o.map((e=>e.pointer));return o=o.map((e=>(e.view=this.update([e.pointer]),delete e.regs,delete e.needs,delete e.pointer,delete e._expanded,e))),{view:this.update(i),found:o}}};const sa=function(e){return!0===e.optional||!0===e.negative?null:e.tag?"#"+e.tag:e.word?e.word:e.switch?`%${e.switch}%`:null};var la=function(e,t){const n=t.methods.one.parseMatch;return e.forEach((e=>{e.regs=n(e.match,{},t),"string"==typeof e.ifNo&&(e.ifNo=[e.ifNo]),e.notIf&&(e.notIf=n(e.notIf,{},t)),e.needs=function(e){let t=[];return e.forEach((e=>{t.push(sa(e)),"and"===e.operator&&e.choices&&e.choices.forEach((e=>{e.forEach((e=>{t.push(sa(e))}))}))})),t.filter((e=>e))}(e.regs);let{wants:a,count:r}=function(e){let t=[],n=0;return e.forEach((e=>{"or"!==e.operator||e.optional||e.negative||(e.fastOr&&Array.from(e.fastOr).forEach((e=>{t.push(e)})),e.choices&&e.choices.forEach((e=>{e.forEach((e=>{let n=sa(e);n&&t.push(n)}))})),n+=1)})),{wants:t,count:n}}(e.regs);e.wants=a,e.minWant=r,e.minWords=e.regs.filter((e=>!e.optional)).length})),e},ua=function(e,t){e=la(e,t);let n={};e.forEach((e=>{e.needs.forEach((t=>{n[t]=n[t]||[],n[t].push(e)})),e.wants.forEach((t=>{n[t]=n[t]||[],n[t].push(e)}))})),Object.keys(n).forEach((e=>{let t={};n[e]=n[e].filter((e=>!t[e.match]&&(t[e.match]=!0,!0)))}));let a=e.filter((e=>0===e.needs.length&&0===e.wants.length));return{hooks:n,always:a}},ca=function(e,t){return e.map(((n,a)=>{let r=[];Object.keys(t).forEach((n=>{e[a].has(n)&&(r=r.concat(t[n]))}));let o={};return r=r.filter((e=>!o[e.match]&&(o[e.match]=!0,!0))),r}))},da=function(e,t){return e.map(((e,n)=>{let a=t[n];return e=(e=(e=e.filter((e=>e.needs.every((e=>a.has(e)))))).filter((e=>void 0===e.ifNo||!0!==e.ifNo.some((e=>a.has(e)))))).filter((e=>0===e.wants.length||e.wants.filter((e=>a.has(e))).length>=e.minWant))}))},ha=function(e,t,n,a,r){let o=[];for(let n=0;n0&&(l.ptrs.forEach((e=>{e[0]=n;let t=Object.assign({},s,{pointer:e});void 0!==s.unTag&&(t.unTag=s.unTag),o.push(t)})),!0===r.matchOne))return[o[0]]}return o},ga=function(e,t,n,a={}){let r=n.one.cacheDoc(e),o=ca(r,t.hooks);return o=da(o,r),t.always.length>0&&(o=o.map((e=>e.concat(t.always)))),o=function(e,t){return e.map(((e,n)=>{let a=t[n].length;return e=e.filter((e=>a>=e.minWords)),e}))}(o,e),ha(o,e,r,n,a)},ma=function(e,t,n){let a=n.one.tagSet;if(!a.hasOwnProperty(t))return!0;let r=a[t].not||[];for(let t=0;t{if(!e.tag&&!e.chunk&&!e.unTag)return;let r=e.reason||e.match,u=o([e.pointer],t)[0];if(!0===e.safe){if(!1===ma(u,e.tag,a))return;if("-"===u[u.length-1].post)return}if(void 0!==e.tag&&(i(u,e.tag,n,e.safe,`[post] '${r}'`),"Noun"===e.tag&&l)){let t=u[u.length-1];l(t.text)?i([t],"Plural",n,e.safe,"quick-plural"):i([t],"Singular",n,e.safe,"quick-singular")}void 0!==e.unTag&&s(u,e.unTag,n,e.safe,r),e.chunk&&u.forEach((t=>t.chunk=e.chunk))})))},fa={lib:{buildNet:function(e){let t=this.methods().one.buildNet(e,this.world());return t.isNet=!0,t}},api:ia,methods:{one:{buildNet:ua,bulkMatch:ga,bulkTagger:pa}}};const ba=/ /,va=function(e,t){"Noun"===t&&(e.chunk=t),"Verb"===t&&(e.chunk=t)},ya=function(e,t,n,a){if(!0===e.tags.has(t))return null;if("."===t)return null;let r=n[t];if(r){if(r.not&&r.not.length>0)for(let t=0;t0)for(let t=0;t{let a=e.map((e=>e.text||"["+e.implicit+"]")).join(" ");var r;"string"!=typeof t&&t.length>2&&(t=t.slice(0,2).join(", #")+" +"),t="string"!=typeof t?t.join(", #"):t,console.log(` ${(r=a,""+r+"").padEnd(24)} → #${t.padEnd(22)} ${(e=>""+e+"")(n)}`)})(e,t,r),1!=(s=t,"[object Array]"===Object.prototype.toString.call(s)))if("string"==typeof t)if(t=t.trim(),ba.test(t))!function(e,t,n,a){let r=t.split(ba);e.forEach(((e,t)=>{let o=r[t];o&&(o=o.replace(/^#/,""),ya(e,o,n,a))}))}(e,t,o,a);else{t=t.replace(/^#/,"");for(let n=0;nwa(e,t,n,a)))};var ka=wa,Pa=function(e,t,n){t=t.trim().replace(/^#/,"");for(let a=0;a0)for(let e=0;e/),n=[];t.forEach((e=>{n=n.concat(function(e){if(!(e=e.trim()))return null;if(/^\[/.test(e)&&/\]$/.test(e)){let t=(e=(e=e.replace(/^\[/,"")).replace(/\]$/,"")).split(/,/);return t=t.map((e=>e.trim())).filter((e=>e)),t=t.map((e=>Aa({id:e}))),t}return[Aa({id:e})]}(e))})),n=n.filter((e=>e));let a=n[0];for(let e=1;e{let n=[],a=[e];for(;a.length>0;){let e=a.pop();n.push(e),e.children&&e.children.forEach((n=>{t&&t(e,n),a.push(n)}))}return n},Ia=e=>"[object Array]"===Object.prototype.toString.call(e),Ha=e=>(e=e||"").trim(),Da=function(e=[]){return"string"==typeof e?function(e){let t=e.split(/\r?\n/),n=[];t.forEach((e=>{if(!e.trim()||Ca.test(e))return;let t=(e=>{const t=/^( {2}|\t)/;let n=0;for(;t.test(e);)e=e.replace(t,""),n+=1;return n})(e);n.push({indent:t,node:ja(e)})}));let a=function(e){let t={children:[]};return e.forEach(((n,a)=>{0===n.indent?t.children=t.children.concat(n.node):e[a-1]&&function(e,t){let n=e[t].indent;for(;t>=0;t-=1)if(e[t].indent{t[e.id]=e}));let n=Aa({});return e.forEach((e=>{if((e=Aa(e)).parent)if(t.hasOwnProperty(e.parent)){let n=t[e.parent];delete e.parent,n.children.push(e)}else console.warn(`[Grad] - missing node '${e.parent}'`);else n.children.push(e)})),n}(e):(Na(t=e).forEach(Aa),t);var t},Ga=function(e,t){let n="-> ";t&&(n=(e=>""+e+"")("→ "));let a="";return Na(e).forEach(((e,r)=>{let o=e.id||"";if(t&&(o=(e=>""+e+"")(o)),0===r&&!e.id)return;let i=e._cache.parents.length;a+=" ".repeat(i)+n+o+"\n"})),a},Ta=function(e){let t=Na(e);t.forEach((e=>{delete(e=Object.assign({},e)).children}));let n=t[0];return n&&!n.id&&0===Object.keys(n.props).length&&t.shift(),t},xa={text:Ga,txt:Ga,array:Ta,flat:Ta},Ea=function(e,t){return"nested"===t||"json"===t?e:"debug"===t?(console.log(Ga(e,!0)),null):xa.hasOwnProperty(t)?xa[t](e):e},Fa=e=>{Na(e,((e,t)=>{e.id&&(e._cache.parents=e._cache.parents||[],t._cache.parents=e._cache.parents.concat([e.id]))}))},Oa=/\//;let za=class g{constructor(e={}){Object.defineProperty(this,"json",{enumerable:!1,value:e,writable:!0})}get children(){return this.json.children}get id(){return this.json.id}get found(){return this.json.id||this.json.children.length>0}props(e={}){let t=this.json.props||{};return"string"==typeof e&&(t[e]=!0),this.json.props=Object.assign(t,e),this}get(e){if(e=Ha(e),!Oa.test(e)){let t=this.json.children.find((t=>t.id===e));return new g(t)}let t=((e,t)=>{let n=(e=>"string"!=typeof e?e:(e=e.replace(/^\//,"")).split(/\//))(t=t||"");for(let t=0;te.id===n[t]));if(!a)return null;e=a}return e})(this.json,e)||Aa({});return new g(t)}add(e,t={}){if(Ia(e))return e.forEach((e=>this.add(Ha(e),t))),this;e=Ha(e);let n=Aa({id:e,props:t});return this.json.children.push(n),new g(n)}remove(e){return e=Ha(e),this.json.children=this.json.children.filter((t=>t.id!==e)),this}nodes(){return Na(this.json).map((e=>(delete(e=Object.assign({},e)).children,e)))}cache(){return(e=>{let t=Na(e,((e,t)=>{e.id&&(e._cache.parents=e._cache.parents||[],e._cache.children=e._cache.children||[],t._cache.parents=e._cache.parents.concat([e.id]))})),n={};t.forEach((e=>{e.id&&(n[e.id]=e)})),t.forEach((e=>{e._cache.parents.forEach((t=>{n.hasOwnProperty(t)&&n[t]._cache.children.push(e.id)}))})),e._cache.children=Object.keys(n)})(this.json),this}list(){return Na(this.json)}fillDown(){var e;return e=this.json,Na(e,((e,t)=>{t.props=((e,t)=>(Object.keys(t).forEach((n=>{if(t[n]instanceof Set){let a=e[n]||new Set;e[n]=new Set([...a,...t[n]])}else if((e=>e&&"object"==typeof e&&!Array.isArray(e))(t[n])){let a=e[n]||{};e[n]=Object.assign({},t[n],a)}else Ia(t[n])?e[n]=t[n].concat(e[n]||[]):void 0===e[n]&&(e[n]=t[n])})),e))(t.props,e.props)})),this}depth(){Fa(this.json);let e=Na(this.json),t=e.length>1?1:0;return e.forEach((e=>{if(0===e._cache.parents.length)return;let n=e._cache.parents.length+1;n>t&&(t=n)})),t}out(e){return Fa(this.json),Ea(this.json,e)}debug(){return Fa(this.json),Ea(this.json,"debug"),this}};const Va=function(e){let t=Da(e);return new za(t)};Va.prototype.plugin=function(e){e(this)};var La={Noun:"blue",Verb:"green",Negative:"green",Date:"red",Value:"red",Adjective:"magenta",Preposition:"cyan",Conjunction:"cyan",Determiner:"cyan",Hyphenated:"cyan",Adverb:"cyan"};const Ma=function(e){if(La.hasOwnProperty(e.id))return La[e.id];if(La.hasOwnProperty(e.is))return La[e.is];let t=e._cache.parents.find((e=>La[e]));return La[t]};var Ba=function(e){const t={};return e.forEach((e=>{let{not:n,also:a,is:r,novel:o}=e.props,i=e._cache.parents;a&&(i=i.concat(a)),t[e.id]={is:r,not:n,novel:o,also:a,parents:i,children:e._cache.children,color:Ma(e)}})),Object.keys(t).forEach((e=>{let n=new Set(t[e].not);t[e].not.forEach((e=>{t[e]&&t[e].children.forEach((e=>n.add(e)))})),t[e].not=Array.from(n)})),t};const Sa=function(e){return e?"string"==typeof e?[e]:e:[]};var $a=function(e,t){return e=function(e,t){return Object.keys(e).forEach((n=>{e[n].isA&&(e[n].is=e[n].isA),e[n].notA&&(e[n].not=e[n].notA),e[n].is&&"string"==typeof e[n].is&&(t.hasOwnProperty(e[n].is)||e.hasOwnProperty(e[n].is)||(e[e[n].is]={})),e[n].not&&"string"==typeof e[n].not&&!e.hasOwnProperty(e[n].not)&&(t.hasOwnProperty(e[n].not)||e.hasOwnProperty(e[n].not)||(e[e[n].not]={}))})),e}(e,t),Object.keys(e).forEach((t=>{e[t].children=Sa(e[t].children),e[t].not=Sa(e[t].not)})),Object.keys(e).forEach((t=>{(e[t].not||[]).forEach((n=>{e[n]&&e[n].not&&e[n].not.push(t)}))})),e},Ja=function(e,t){Object.keys(t).length>0&&(e=function(e){return Object.keys(e).forEach((t=>{e[t]=Object.assign({},e[t]),e[t].novel=!0})),e}(e)),e=$a(e,t);const n=function(e){const t=Object.keys(e).map((t=>{let n=e[t];const a={not:new Set(n.not),also:n.also,is:n.is,novel:n.novel};return{id:t,parent:n.is,props:a,children:[]}}));return Va(t).cache().fillDown().out("array")}(Object.assign({},t,e));return Ba(n)},Wa={one:{setTag:ka,unTag:Pa,addTags:Ja}};const Ka=function(e){return"[object Array]"===Object.prototype.toString.call(e)},qa={tag:function(e,t="",n){if(!this.found||!e)return this;let a=this.termList();if(0===a.length)return this;const{methods:r,verbose:o,world:i}=this;return!0===o&&console.log(" + ",e,t||""),Ka(e)?e.forEach((e=>r.one.setTag(a,e,i,n,t))):r.one.setTag(a,e,i,n,t),this.uncache(),this},tagSafe:function(e,t=""){return this.tag(e,t,!0)},unTag:function(e,t){if(!this.found||!e)return this;let n=this.termList();if(0===n.length)return this;const{methods:a,verbose:r,model:o}=this;!0===r&&console.log(" - ",e,t||"");let i=o.one.tagSet;return Ka(e)?e.forEach((e=>a.one.unTag(n,e,i))):a.one.unTag(n,e,i),this.uncache(),this},canBe:function(e){e=e.replace(/^#/,"");let t=this.model.one.tagSet;if(!t.hasOwnProperty(e))return this;let n=t[e].not||[],a=[];this.document.forEach(((e,t)=>{e.forEach(((e,r)=>{n.find((t=>e.tags.has(t)))&&a.push([t,r,r+1])}))}));let r=this.update(a);return this.difference(r)}};var Ua=qa,Ra=function(e){Object.assign(e.prototype,Ua)},Qa={addTags:function(e){const{model:t,methods:n}=this.world(),a=t.one.tagSet;let r=(0,n.one.addTags)(e,a);return t.one.tagSet=r,this}};const Xa=new Set(["Auxiliary","Possessive"]);var Za=function(e){const{document:t,world:n}=e,a=n.model.one.tagSet;t.forEach((e=>{e.forEach((e=>{let t=Array.from(e.tags);e.tagRank=function(e,t){return e=e.sort(((e,n)=>{if(Xa.has(e)||!t.hasOwnProperty(n))return 1;if(Xa.has(n)||!t.hasOwnProperty(e))return-1;let a=t[e].children||[],r=a.length;return a=t[n].children||[],r-a.length})),e}(t,a)}))}))},_a={model:{one:{tagSet:{}}},compute:{tagRank:Za},methods:Wa,api:Ra,lib:Qa};const Ya=/([.!?\u203D\u2E18\u203C\u2047-\u2049\u3002]+\s)/g,er=/^[.!?\u203D\u2E18\u203C\u2047-\u2049\u3002]+\s$/,tr=/((?:\r?\n|\r)+)/;var nr=function(e){let t=[],n=e.split(tr);for(let e=0;e0&&(r.push(o),e[t]="")}return r};const sr={'"':'"',""":""","“":"”","‟":"”","„":"”","⹂":"”","‚":"’","«":"»","‹":"›","‵":"′","‶":"″","‷":"‴","〝":"〞","〟":"〞"},lr=RegExp("["+Object.keys(sr).join("")+"]","g"),ur=RegExp("["+Object.values(sr).join("")+"]","g"),cr=function(e){if(!e)return!1;let t=e.match(ur);return null!==t&&1===t.length};var dr=function(e){let t=[];for(let n=0;n(e[t]=!0,e)),{});var Ir=function(e,t){let n=[],a=[];if("number"==typeof(e=e||"")&&(e=String(e)),function(e){return"[object Array]"===Object.prototype.toString.call(e)}(e))return e;const r=e.split(jr);for(let e=0;e0?(n[n.length-1]+=o,n.push(t)):n.push(o+t),o=""):o+=t}return o&&(0===n.length&&(n[0]=""),n[n.length-1]+=o),n=Pr(n),n=wr(n),n=n.filter((e=>e)),n};const Hr=/\p{Letter}/u,Dr=/[\p{Number}\p{Currency_Symbol}]/u,Gr=/^[a-z]\.([a-z]\.)+/i,Tr=/[sn]['’]$/;var xr=function(e,t){let{prePunctuation:n,postPunctuation:a,emoticons:r}=t.one,o=e,i="",s="",l=Array.from(e);if(r.hasOwnProperty(e.trim()))return{str:e.trim(),pre:i,post:" "};let u=l.length;for(let e=0;e(s=e||"",""))),e=o,i=""),{str:e,pre:i,post:s}},Er=(e,t)=>{let{str:n,pre:a,post:r}=xr(e,t);return{text:n,pre:a,post:r,tags:new Set}},Fr=function(e,t){const n=t.model.one.unicode||{};let a=(e=e||"").split("");return a.forEach(((e,t)=>{n[e]&&(a[t]=n[e])})),a.join("")},Or=function(e){let t=e=(e=(e=e||"").toLowerCase()).trim();return e=(e=(e=e.replace(/[,;.!?]+$/,"")).replace(/\u2026/g,"...")).replace(/\u2013/g,"-"),!1===/^[:;]/.test(e)&&(e=(e=(e=e.replace(/\.{3,}$/g,"")).replace(/[",.!:;?)]+$/g,"")).replace(/^['"(]+/g,"")),""===(e=(e=e.replace(/[\u200B-\u200D\uFEFF]/g,"")).trim())&&(e=t),e=e.replace(/([0-9]),([0-9])/g,"$1$2")};const zr=/([A-Z]\.)+[A-Z]?,?$/,Vr=/^[A-Z]\.,?$/,Lr=/[A-Z]{2,}('s|,)?$/,Mr=/([a-z]\.)+[a-z]\.?$/;var Br=function(e){return function(e){return!0===zr.test(e)||!0===Mr.test(e)||!0===Vr.test(e)||!0===Lr.test(e)}(e)&&(e=e.replace(/\./g,"")),e},Sr=function(e,t){const n=t.methods.one.killUnicode;let a=e.text||"";a=Or(a),a=n(a,t),a=Br(a),e.normal=a},$r=function(e,t){const{methods:n,model:a}=t,{splitSentences:r,splitTerms:o,splitWhitespace:i}=n.one.tokenize;return e=r(e=e||"",t).map((e=>{let n=o(e,a);return n=n.map((e=>i(e,a))),n.forEach((e=>{Sr(e,t)})),n})),e};const Jr=/[ .][A-Z]\.? *$/i,Wr=/(?:\u2026|\.{2,}) *$/,Kr=/\p{L}/u,qr=/\. *$/,Ur=/^[A-Z]\. $/;var Rr={one:{killUnicode:Fr,tokenize:{splitSentences:br,isSentence:function(e,t){if(!1===Kr.test(e))return!1;if(!0===Jr.test(e))return!1;if(3===e.length&&Ur.test(e))return!1;if(!0===Wr.test(e))return!1;let n=e.replace(/[.!?\u203D\u2E18\u203C\u2047-\u2049] *$/,"").split(" "),a=n[n.length-1].toLowerCase();return!0!==t.hasOwnProperty(a)||!0!==qr.test(e)},splitTerms:Ir,splitWhitespace:Er,fromString:$r}}},Qr={"&":"and","@":"at","%":"percent",plz:"please",bein:"being"};let Xr={},Zr={};[[["approx","apt","bc","cyn","eg","esp","est","etc","ex","exp","prob","pron","gal","min","pseud","fig","jd","lat","lng","vol","fm","def","misc","plz","ea","ps","sec","pt","pref","pl","pp","qt","fr","sq","nee","ss","tel","temp","vet","ver","fem","masc","eng","adj","vb","rb","inf","situ","vivo","vitro","wr"]],[["dl","ml","gal","qt","pt","tbl","tsp","tbsp","km","dm","cm","mm","mi","td","hr","hrs","kg","hg","dg","cg","mg","µg","lb","oz","sq ft","hz","mps","mph","kmph","kb","mb","tb","lx","lm","fl oz","yb"],"Unit"],[["ad","al","arc","ba","bl","ca","cca","col","corp","ft","fy","ie","lit","ma","md","pd","tce"],"Noun"],[["adj","adm","adv","asst","atty","bldg","brig","capt","cmdr","comdr","cpl","det","dr","esq","gen","gov","hon","jr","llb","lt","maj","messrs","mlle","mme","mr","mrs","ms","mstr","phd","prof","pvt","rep","reps","res","rev","sen","sens","sfc","sgt","sir","sr","supt","surg"],"Honorific"],[["jan","feb","mar","apr","jun","jul","aug","sep","sept","oct","nov","dec"],"Month"],[["dept","univ","assn","bros","inc","ltd","co"],"Organization"],[["rd","st","dist","mt","ave","blvd","cl","cres","hwy","ariz","cal","calif","colo","conn","fla","fl","ga","ida","ia","kan","kans","minn","neb","nebr","okla","penna","penn","pa","dak","tenn","tex","ut","vt","va","wis","wisc","wy","wyo","usafa","alta","ont","que","sask"],"Place"]].forEach((e=>{e[0].forEach((t=>{Xr[t]=!0,Zr[t]="Abbreviation",void 0!==e[1]&&(Zr[t]=[Zr[t],e[1]])}))}));var _r=["anti","bi","co","contra","de","extra","infra","inter","intra","macro","micro","mis","mono","multi","peri","pre","pro","proto","pseudo","re","sub","supra","trans","tri","un","out","ex"].reduce(((e,t)=>(e[t]=!0,e)),{});let Yr={"!":"¡","?":"¿Ɂ",'"':'“”"❝❞',"'":"‘‛❛❜’","-":"—–",a:"ªÀÁÂÃÄÅàáâãäåĀāĂ㥹ǍǎǞǟǠǡǺǻȀȁȂȃȦȧȺΆΑΔΛάαλАаѦѧӐӑӒӓƛæ",b:"ßþƀƁƂƃƄƅɃΒβϐϦБВЪЬвъьѢѣҌҍ",c:"¢©ÇçĆćĈĉĊċČčƆƇƈȻȼͻͼϲϹϽϾСсєҀҁҪҫ",d:"ÐĎďĐđƉƊȡƋƌ",e:"ÈÉÊËèéêëĒēĔĕĖėĘęĚěƐȄȅȆȇȨȩɆɇΈΕΞΣέεξϵЀЁЕеѐёҼҽҾҿӖӗễ",f:"ƑƒϜϝӺӻҒғſ",g:"ĜĝĞğĠġĢģƓǤǥǦǧǴǵ",h:"ĤĥĦħƕǶȞȟΉΗЂЊЋНнђћҢңҤҥҺһӉӊ",I:"ÌÍÎÏ",i:"ìíîïĨĩĪīĬĭĮįİıƖƗȈȉȊȋΊΐΪίιϊІЇіїi̇",j:"ĴĵǰȷɈɉϳЈј",k:"ĶķĸƘƙǨǩΚκЌЖКжкќҚқҜҝҞҟҠҡ",l:"ĹĺĻļĽľĿŀŁłƚƪǀǏǐȴȽΙӀӏ",m:"ΜϺϻМмӍӎ",n:"ÑñŃńŅņŇňʼnŊŋƝƞǸǹȠȵΝΠήηϞЍИЙЛПийлпѝҊҋӅӆӢӣӤӥπ",o:"ÒÓÔÕÖØðòóôõöøŌōŎŏŐőƟƠơǑǒǪǫǬǭǾǿȌȍȎȏȪȫȬȭȮȯȰȱΌΘΟθοσόϕϘϙϬϴОФоѲѳӦӧӨөӪӫ",p:"ƤΡρϷϸϼРрҎҏÞ",q:"Ɋɋ",r:"ŔŕŖŗŘřƦȐȑȒȓɌɍЃГЯгяѓҐґ",s:"ŚśŜŝŞşŠšƧƨȘșȿЅѕ",t:"ŢţŤťŦŧƫƬƭƮȚțȶȾΓΤτϮТт",u:"ÙÚÛÜùúûüŨũŪūŬŭŮůŰűŲųƯưƱƲǓǔǕǖǗǘǙǚǛǜȔȕȖȗɄΰυϋύ",v:"νѴѵѶѷ",w:"ŴŵƜωώϖϢϣШЩшщѡѿ",x:"×ΧχϗϰХхҲҳӼӽӾӿ",y:"ÝýÿŶŷŸƳƴȲȳɎɏΎΥΫγψϒϓϔЎУучўѰѱҮүҰұӮӯӰӱӲӳ",z:"ŹźŻżŽžƵƶȤȥɀΖ"},eo={};Object.keys(Yr).forEach((function(e){Yr[e].split("").forEach((function(t){eo[t]=e}))}));const to=/\//,no=/[a-z]\.[a-z]/i,ao=/[0-9]/;var ro=function(e,t){let n=e.normal||e.text||e.machine;const a=t.model.one.aliases;if(a.hasOwnProperty(n)&&(e.alias=e.alias||[],e.alias.push(a[n])),to.test(n)&&!no.test(n)&&!ao.test(n)){let t=n.split(to);t.length<=2&&t.forEach((t=>{""!==(t=t.trim())&&(e.alias=e.alias||[],e.alias.push(t))}))}return e};const oo=/^\p{Letter}+-\p{Letter}+$/u;var io=function(e){let t=e.implicit||e.normal||e.text;t=t.replace(/['’]s$/,""),t=t.replace(/s['’]$/,"s"),t=t.replace(/([aeiou][ktrp])in'$/,"$1ing"),oo.test(t)&&(t=t.replace(/-/g,"")),t=t.replace(/^[#@]/,""),t!==e.normal&&(e.machine=t)},so=function(e){let t=e.docs,n={};for(let e=0;eho(e,ro),machine:e=>ho(e,io),normal:e=>ho(e,Sr),freq:so,offset:lo,index:uo,wordCount:co},methods:Rr,model:{one:{aliases:Qr,abbreviations:Xr,prefixes:_r,suffixes:{like:!0,ish:!0,less:!0,able:!0,elect:!0,type:!0,designate:!0},prePunctuation:{"#":!0,"@":!0,_:!0,"°":!0,"​":!0,"‌":!0,"‍":!0,"\ufeff":!0},postPunctuation:{"%":!0,_:!0,"°":!0,"​":!0,"‌":!0,"‍":!0,"\ufeff":!0},lexicon:Zr,unicode:eo,emoticons:{"<3":!0,"{let i=(e=e.toLowerCase().trim()).length;t.max&&i>t.max&&(i=t.max);for(let s=t.min;s{delete a[e]})),a};const vo={safe:!0,min:3};var yo={typeahead:function(e=[],t={}){let n=this.model();var a;t=Object.assign({},vo,t),a=e,"[object Object]"===Object.prototype.toString.call(a)&&(Object.assign(n.one.lexicon,e),e=Object.keys(e));let r=bo(e,t,this.world());return Object.keys(r).forEach((e=>{n.one.typeahead.hasOwnProperty(e)?delete n.one.typeahead[e]:n.one.typeahead[e]=r[e]})),this}},wo={model:{one:{typeahead:{}}},api:fo,lib:yo,compute:mo,hooks:["typeahead"]};b.extend(ee),b.extend(qn),b.extend(cn),b.extend(oa),b.extend(_a),b.plugin(De),b.extend(go),b.plugin(k),b.extend(Ke),b.extend(wo),b.extend(Ve),b.extend(fa);var ko={addendum:"addenda",corpus:"corpora",criterion:"criteria",curriculum:"curricula",genus:"genera",memorandum:"memoranda",opus:"opera",ovum:"ova",phenomenon:"phenomena",referendum:"referenda",alga:"algae",alumna:"alumnae",antenna:"antennae",formula:"formulae",larva:"larvae",nebula:"nebulae",vertebra:"vertebrae",analysis:"analyses",axis:"axes",diagnosis:"diagnoses",parenthesis:"parentheses",prognosis:"prognoses",synopsis:"synopses",thesis:"theses",neurosis:"neuroses",appendix:"appendices",index:"indices",matrix:"matrices",ox:"oxen",sex:"sexes",alumnus:"alumni",bacillus:"bacilli",cactus:"cacti",fungus:"fungi",hippopotamus:"hippopotami",libretto:"libretti",modulus:"moduli",nucleus:"nuclei",octopus:"octopi",radius:"radii",stimulus:"stimuli",syllabus:"syllabi",cookie:"cookies",calorie:"calories",auntie:"aunties",movie:"movies",pie:"pies",rookie:"rookies",tie:"ties",zombie:"zombies",leaf:"leaves",loaf:"loaves",thief:"thieves",foot:"feet",goose:"geese",tooth:"teeth",beau:"beaux",chateau:"chateaux",tableau:"tableaux",bus:"buses",gas:"gases",circus:"circuses",crisis:"crises",virus:"viruses",database:"databases",excuse:"excuses",abuse:"abuses",avocado:"avocados",barracks:"barracks",child:"children",clothes:"clothes",echo:"echoes",embargo:"embargoes",epoch:"epochs",deer:"deer",halo:"halos",man:"men",woman:"women",mosquito:"mosquitoes",mouse:"mice",person:"people",quiz:"quizzes",rodeo:"rodeos",shoe:"shoes",sombrero:"sombreros",stomach:"stomachs",tornado:"tornados",tuxedo:"tuxedos",volcano:"volcanoes"},Po={Comparative:"true¦bett1f0;arth0ew0in0;er",Superlative:"true¦earlier",PresentTense:"true¦bests,sounds",Condition:"true¦lest,unless",PastTense:"true¦began,came,d4had,kneel3l2m0sa4we1;ea0sg2;nt;eap0i0;ed;id",Participle:"true¦0:0A;a07b02c00dXeat0fSgQhPoJprov0rHs7t6u4w1;ak0ithdra03o2r1;i03uZ;k0v0;nd1pr05;ergoJoJ;ak0hHo3;e9h7lain,o6p5t4un3w1;o1um;rn;g,k;ol0reT;iRok0;ught,wn;ak0o1ruL;ne,wn;en,wn;ewriOi1uK;dd0s0;ut3ver1;do4se0t1;ak0h2;do2g1;roH;ne;ast0i7;iv0o1;ne,tt0;all0loCor1;bi3g2s1;ak0e0;iv0oA;dd0;ove,r1;a6eamt,iv0u1;nk;hos0lu1;ng;e4i3lo2ui1;lt;wn;tt0;at0en,gun;r2w1;ak0ok0;is0;en",Gerund:"true¦accord0be0doin,go0result0stain0;ing",Expression:"true¦a0Yb0Uc0Sd0Oe0Mfarew0Lg0FhZjeez,lWmVnToOpLsJtIuFvEw7y0;a5e3i1u0;ck,p;k04p0;ee,pee;a0p,s;!h;!a,h,y;a5h2o1t0;af,f;rd up,w;atsoever,e1o0;a,ops;e,w;hoo,t;ery w06oi0L;gh,h0;! 0h,m;huh,oh;here nPsk,ut tut;h0ic;eesh,hh,it,oo;ff,h1l0ow,sst;ease,s,z;ew,ooey;h1i,mg,o0uch,w,y;h,o,ps;! 0h;hTmy go0wT;d,sh;a7evertheless,o0;!pe;eh,mm;ah,eh,m1ol0;!s;ao,fao;aCeBi9o2u0;h,mph,rra0zzC;h,y;l1o0;r6y9;la,y0;! 0;c1moCsmok0;es;ow;!p hip hoor0;ay;ck,e,llo,y;ha1i,lleluj0;ah;!ha;ah,ee4o1r0;eat scott,r;l1od0sh; grief,bye;ly;! whiz;ell;e0h,t cetera,ureka,ww,xcuse me;k,p;'oh,a0rat,uh;m0ng;mit,n0;!it;mon,o0;ngratulations,wabunga;a2oo1r0tw,ye;avo,r;!ya;h,m; 1h0ka,las,men,rgh,ye;!a,em,h,oy;la",Negative:"true¦n0;ever,o0;n,t",QuestionWord:"true¦how3wh0;at,e1ich,o0y;!m,se;n,re; come,'s",Reflexive:"true¦h4it5my5o1the0your2;ir1m1;ne3ur0;sel0;f,ves;er0im0;self",Plural:"true¦dick0gre0ones,records;ens","Unit|Noun":"true¦cEfDgChBinchAk9lb,m6newt5oz,p4qt,t1y0;ardEd;able1b0ea1sp;!l,sp;spo1;a,t,x;on9;!b,g,i1l,m,p0;h,s;!les;!b,elvin,g,m;!es;g,z;al,b;eet,oot,t;m,up0;!s",Value:"true¦a few",Imperative:"true¦bewa0come he0;re","Plural|Verb":"true¦leaves",Demonym:"true¦0:15;1:12;a0Vb0Oc0Dd0Ce08f07g04h02iYjVkTlPmLnIomHpEqatari,rCs7t5u4v3welAz2;am0Gimbabwe0;enezuel0ietnam0I;gAkrai1;aiwTex0hai,rinida0Ju2;ni0Prkmen;a5cotti4e3ingapoOlovak,oma0Spaniard,udRw2y0W;ede,iss;negal0Cr09;sh;mo0uT;o5us0Jw2;and0;a2eru0Fhilippi0Nortugu07uerto r0S;kist3lesti1na2raguay0;ma1;ani;ami00i2orweP;caragu0geri2;an,en;a3ex0Lo2;ngo0Drocc0;cedo1la2;gasy,y07;a4eb9i2;b2thua1;e0Cy0;o,t01;azakh,eny0o2uwaiI;re0;a2orda1;ma0Ap2;anO;celandic,nd4r2sraeli,ta01vo05;a2iB;ni0qi;i0oneU;aiAin2ondur0unO;di;amEe2hanai0reek,uatemal0;or2rm0;gi0;ilipino,ren8;cuadoVgyp4mira3ngli2sto1thiopi0urope0;shm0;ti;ti0;aPominUut3;a9h6o4roat3ub0ze2;ch;!i0;lom2ngol5;bi0;a6i2;le0n2;ese;lifor1m2na3;bo2eroo1;di0;angladeshi,el6o4r3ul2;gaE;azi9it;li2s1;vi0;aru2gi0;si0;fAl7merBngol0r5si0us2;sie,tr2;a2i0;li0;genti2me1;ne;ba1ge2;ri0;ni0;gh0r2;ic0;an",Organization:"true¦0:4S;a3Vb3Dc2Qd2Ie2Ef28g20h1Ui1Qj1Ok1Ml1Hm13n0Qo0Np0Dqu0Cr03sUtHuCv9w3xiaomi,y1;amaha,m1Cou1w1C;gov,tu3E;a4e2iki1orld trade organizati35;leaSped0P;lls fargo,st1;fie2Jinghou2T;l1rner br3W;gree3Ll street journ2Km1F;an halPeriz2Zisa,o1;dafo30l1;kswagNvo;b4kip,n2ps,s1;a tod3Cps;es3Oi1;lev3Hted natio3E;er,s; mobi34aco beSd bPeAgi frida9h3im horto3Cmz,o1witt3F;shi4By1;ota,s r 06;e 1in lizzy;b3carpen3Ldaily ma3Fguess w2holli0rolling st22s1w2;mashing pumpki37uprem0;ho;ea1lack eyed pe3Zyrds;ch bo1tl0;ys;l2n3Rs1xas instrumen1U;co,la m1F;efoni0Kus;a8cientology,e5ieme2Zmirnoff,np,o3pice gir6quare0Ata1ubaru;rbuc1to35;ks;ny,undgard1;en;a2x pisto1;ls;g1Xrs;few2Ninsbury33lesfor03msu2F;.e.m.,adiohead,b8e4o1yana3D;man empi1Yyal 1;b1dutch she4;ank;a3d 1max,vl21;bu1c2Bhot chili peppe2Zlobst2O;ll;ders dige1Ml madrid;c,s;ant3Bizno2T;a8bs,e5fiz2Jhilip4i3r1;emier 1udenti1E;leagTo2L;nk floyd,zza hut; morrBs;psi2tro1uge0E;br34chi0Tn34;!co;lant2Vn1yp17; 2ason28da2Q;ld navy,pec,range juli2xf1;am;us;aAb9e6fl,h5i4o1sa,vid3wa;k2tre dame,vart1;is;ia;ke,ntendo,ss0QvZ;l,s;c,st1Ptflix,w1; 1sweek;kids on the block,york0D;a,c;nd23s2t1;ional aca2Qo,we0V;a,c02d0T;aDcdonaldCe9i6lb,o3tv,y1;spa1;ce;b1Unsanto,ody blu0t1;ley cr1or0U;ue;c2t1;as,subisO;helin,rosoft;dica2rcedes benz,talli1;ca;id,re;'s,s;c's milk,tt1Az25;'ore0Ba3e1g,ittle caesa1Q;novo,x1;is,mark,us; 1bour party;pres0Ez boy;atv,fc,kk,lm,m1od1P;art;iffy lu0Soy divisi0Kpmorgan1sa;! cha0A;bm,hop,k3n1tv;g,te1;l,rpol;ea;a5ewlett pack1Wi3o1sbc,yundai;me dep1n1Q;ot;tac1zbollah;hi;lliburt09sbro;eneral 6hq,ithub,l5mb,o2reen d0Pu1;cci,ns n ros0;ldman sachs,o1;dye1g0I;ar;axo smith kli05encoX;electr0Om1;oto10;a5bi,c barcelo4da,edex,i2leetwood m04o1rito l0H;rd,xcZ;at,fa,nancial1resto00; tim0;na;cebook,nnie mae;b0Bsa,u3xxon1; m1m1;ob0K;!rosceptics;aiml0Ee6isney,o4u1;nkin donu2po10ran dur1;an;ts;j,w j1;on0;a,f lepp12ll,peche mode,r spieg02stiny's chi1;ld;aJbc,hFiDloudflaCnn,o3r1;aigsli5eedence clearwater reviv1ossra09;al;c7inba6l4m1o0Est09;ca2p1;aq;st;dplSg1;ate;se;a c1o chanQ;ola;re;a,sco1tigroup;! systems;ev2i1;ck fil-a,na daily;r1y;on;d2pital o1rl's jr;ne;bury,ill1;ac;aEbc,eBf9l5mw,ni,o1p,rexiteeU;ei3mbardiIston 1;glo1pizza;be;ng;o2ue c1;roV;ckbuster video,omingda1;le; g1g1;oodriL;cht2e ge0rkshire hathaw1;ay;el;cardi,idu,nana republ3s1xt5y5;f,kin robbi1;ns;ic;bYcTdidSerosmith,iRlKmEnheuser-busDol,pple9r6s4u3v2y1;er;is,on;di,todesk;hland o1sociated E;il;by4g2m1;co;os; compu2bee1;'s;te1;rs;ch;c,d,erican3t1;!r1;ak; ex1;pre1;ss; 5catel2ta1;ir;!-lu1;ce1;nt;jazeera,qae1;da;g,rbnb;as;/dc,a3er,tivision1;! blizz1;ard;demy of scienc0;es;ba",Possessive:"true¦its,my,our0thy;!s","Noun|Verb":"true¦0:9T;1:A7;2:93;3:A0;4:9O;5:9Z;6:9H;7:8K;8:7I;9:A5;A:90;B:8U;C:8A;a9Lb8Nc7Fd6Oe6Df5Pg5Fh53i4Vj4Sk4Pl4Dm3Zn3Uo3Rp2Rqu2Qr20s0Jt02u00vVwGyFzD;ip,oD;ne,om;awn,e6Cie65;aOeMhJiHoErD;ap,e9Link2;nd0rDuB;kDry,sh5Eth;!shop;ck,nDpe,re,sh;!d,g;e83iD;p,sD;k,p0t2;aDed,lco8T;r,th0;it,lk,rEsDt4ve,x;h,te;!ehou1ra9;aGen5CiFoD;iDmAte,w;ce,d;be,ew,sA;cuum,l49;pDr7;da5gra6Blo67;aReQhrPiOoMrGuEwiDy5W;n,st;nDrn;e,n7L;aGeFiEoDu6y;t,ub2;bu5ck4Hgg0m,p;at,k,nd;ck,de,in,nsDp,v7G;f0i8O;ll,ne,p,r4Vss,t91uD;ch,r;ck,de,e,le,me,p,re;e5Tow,u6;ar,e,ll,mp0st,xt;g,lDng2rg7Ms5x;k,ly;a0Rc0Me0Jh0Ei0Ck0Bl09m08n06o05pXquaCtKuFwD;ea85iD;ng,pe,t4;bGit,m,ppErD;fa3ge,pri1v2T;lDo6P;e6My;!je8;aMeLiKoHrEuDy2;dy,ff,mb2;a82eEiDo5Mugg2;ke,ng;am,ss,t4;ckEop,p,rD;e,m;ing,pi2;ck,nk,t4;er,m,p;ck,ff,ge,in,ke,lEmp,nd,p2rDte,y;!e,t;k,l;aJeIiHlGoFrDur,y;ay,e53inDu3;g,k2;ns88t;a5Nit;ll,n,r84te;ed,ll;m,n,rk;b,uB;aDee1Sow;ke,p;a5Ge4Ci2o50;eep,iDou4;ce,p,t;ateboa7Gi;de,gnDl2Unk,p,ze;!al;aGeFiEoDuff2;ck,p,re,w;ft,p,v0;d,i3Wlt0;ck,de,pe,re,ve;aEed,nDrv1It;se,t2M;l,r4t;aGhedu2oCrD;aEeDibb2o3X;en,w;pe,t4;le,n,r2L;cDfegua70il,mp2;k,rifi3;aZeHhy6JiGoEuD;b,in,le,n,s5V;a6ck,ll,oDpe,u5;f,t;de,ng,ot,p,s1V;aTcSdo,el,fQgPje8lOmMnLo17pJque6sFturn,vDwa6T;eDi26;al,r1;er72oFpe8tEuD;lt,me;!a53;l6Zrt;air,eaDly,o51;l,t;dezvo2Xt;aDedy;ke,rk;ea1i4E;a6Gist0r5L;act6Wer1Uo6ZuD;nd,se;a36o6D;ch,s6E;c1Cge,iEke,lly,nDp1Vt1V;ge,k,t;n,se;es69iv0;a04e00hYiXlToNrEsy4uD;mp,n4rcha1sh;aKeIiHoDu4M;be,ceFdu3fi2grDje8mi1p,te6;amDe6U;!me;ed,ss;ce,de,nt;sDy;er6As;cti3i1;iHlFoEp,re,sDuBw0;e,i5Wt;l,p;iDl;ce,sh;nt,s5T;aEce,e30uD;g,mp,n7;ce,nDy;!t;ck,le,n16pe,tNvot;a1oD;ne,tograph;ak,eFnErDt;fu53mA;!c30;!l,r;ckJiInHrFsEtDu1y;ch,e9;s,te;k,tD;!y;!ic;nt,r,se;!a7;bje8ff0il,oErDutli3Over49;bAd0ie9;ze;a4PeFoDur1;d,tD;e,i3;ed,gle8tD;!work;aMeKiIoEuD;rd0;ck,d3Pld,nEp,uDve;nt,th;it5CkD;ey;lk,n49rr5AsDx;s,ta29;asuCn4SrDss;ge,it;il,nFp,rk3UsEtD;ch,t0;h,k,t0;da5n0oeuvC;aLeJiHoEuD;mp,st;aEbby,ck,g,oDve;k,t;d,n;cDft,mAnHst;en1k;aDc0Ne4vJ;ch,d,k,p,se;bEcDnd,p,t4un4;e,k;el,o2T;eEiDno4D;ck,d,ll,ss;el,y;aEo1NuD;i3mp;m,zz;mpJnEr45ssD;ue;c1Qdex,fluGha2k,se2GteDvoi3;nt,rD;e6fa3viD;ew;en3;a8le29;aJeHiGoEuD;g,nt;l39no2Cok,pDr1u1;!e;ghli1Eke,nt,re,t;aDd7lp;d,t;ck,mGndFrEsh,tDu9;ch,e;bo3Wm,ne4Dve6;!le;!m0;aLear,ift,lJossIrFuD;arDe49lp,n;antee,d;aEiDouBumb2;ll,nd,p;de,sp;ip;oDue;ss,w;g,in,me,ng,s,te,ze;aZeWiRlNoJrFuD;ck,el,nDss,zz;c38d;aEoDy;st,wn;cDgme,me,nchi1;tuC;cFg,il,ld,rD;ce,e29mDwa31;!at;us;aFe0Vip,oDy;at,ck,od,wD;!er;g,ke,me,re,sh,vo1E;eGgFlEnDre,sh,t,x;an3i0Q;e,m,t0;ht,uC;ld;aEeDn3;d,l;r,tuC;ce,il,ll,rm,vo2W;cho,d7ffe8nMsKxFyeD;!baD;ll;cGerci1hFpDtra8;eriDo0W;en3me9;au6ibA;el,han7u1;caDtima5;pe;count0d,vy;a01eSiMoJrEuDye;b,el,mp,pli2X;aGeFiEoD;ne,p;ft,ll,nk,p,ve;am,ss;ft,g,in;cEd7ubt,wnloD;ad;k,u0E;ge6p,sFt4vD;e,iDor3;de;char7gui1h,liEpD;at4lay,u5;ke;al,bKcJfeIlGmaBposAsEtaD;il;e07iD;gn,re;ay,ega5iD;ght;at,ct;li04rea1;a5ut;b,ma7n3rDte;e,t;a0Eent0Dh06irc2l03oKrFuD;be,e,rDt;b,e,l,ve;aGeFoEuDy;sh;p,ss,wd;dAep;ck,ft,sh;at,de,in,lTmMnFordina5py,re,st,uDv0;gh,nDp2rt;s01t;ceHdu8fli8glomeIsFtDveN;a8rD;a6ol;e9tru8;ct;ntDrn;ra5;bHfoGmFpD;leDouBromi1;me9;aBe9it,u5;rt;at,iD;ne;lap1oD;r,ur;aEiDoud,ub;ck,p;im,w;aEeDip;at,ck,er;iGllen7nErD;ge,m,t;ge,nD;el;n,r;er,re;ke,ll,mp,noe,pGrXsFtEuDve;se,ti0I;alog,ch;h,t;!tuC;re;a03eZiXlToPrHuEyD;pa11;bb2ck2dgEff0mp,rDst,zz;den,n;et;anJeHiFoadEuD;i1sh;ca6;be,d7;ge;aDed;ch,k;ch,d;aFg,mb,nEoDrd0tt2x,ycott;k,st,t;d,e;rd,st;aFeBiDoYur;nk,tz;nd;me;as,d,ke,nd,opsy,tD;!ch,e;aFef,lt,nDt;d,efA;it;r,t;ck,il,lan3nIrFsEtt2;le;e,h;!gDk;aDe;in;!d,g,k;bu1c05dZge,iYlVnTppQrLsIttGucEwaD;rd;tiD;on;aDempt;ck;k,sD;i6ocia5;st;chFmD;!oD;ur;!iD;ve;eEroa4;ch;al;chDg0sw0;or;aEt0;er;rm;d,m,r;dreHvD;an3oD;ca5;te;ce;ss;cDe,he,t;eFoD;rd,u9;nt;nt,ss;se",Actor:"true¦0:7C;1:7H;2:6B;3:7G;4:7P;5:7L;6:72;a6Pb64c4Xd4De43f3Tg3Ch31i2Vj2Rkin2Ql2Lm27n20o1Tp0Wqu0Ur0KsRtKuIvFw9yo7;gi,ut7;h,ub0;aBeAi9o8r7;estl0it0;m2rk0;fe,nn0t2Cza2I;atherm2ld0;ge earn0it0nder0rri1;eter8i7oyG;ll5Sp,s41;an,ina2V;n7s0;c6Wder04;aoisea24eAherapi5iktok0o9r7ut1yco6;a7endseMo45;d0mp,nscri0Cvel0;ddl0u1H;a0Rchn8en7na4st0;ag0;i3Qo0E;aiYcVeShQiNki0mu27oKpHquaGtCu8wee7;p0theart;lt2per8r7;f0ge6viv1;h7inten0Jst5Kvis1;ero,um2;a9ep8r7;ang0eam0;bro2Oc2Pfa2Omo2Osi21;ff0tesm2;tt0;ec8ir2Eo7;kesp5Bu0N;ia5Lt3;l8me6Cn,rcere7ul;r,ss;di0oi5;n8s7;sy,t0;g0n0;am2ephe1Jow7;girl,m2r2R;cretJnior cit3Hr7;gea4v7;a4it1;hol4Zi8reen7ulpt1;wr2D;e02on;l1nt;aFeAo9u7;l0nn7;er up,ingF;g42le mod41of0;a51c9fug2Rpo34searRv7;ere4Wolution7;ary;e7luZru23;ptio3V;bbi,dic5Xpp0;arter7e31;back;aZeXhTiSlPoLr9sycho8u7;nk,p34;logi5;aHeEiCo7;dAfess1g8ph49s7;pe2Mtitu53;en7ramm0;it1y;igy,uc0;est4Pme mini0Vnce7s3G;!ss;a8si7;de4;ch0;ctiti3Bnk0Q;dca0Pet,li7pula52rnst44;c2Ktic7;al scie7i2;nti5;a7umb0;nn0y7;er,ma4Nwright;lgrim,one0;a9iloso8otogra8ra7ysi1X;se;ph0;ntom,rmaci5;r7ssi1V;form0s6;i3Gl,nel40r9st1tr7wn;i7on;arXot;ent4Yi44tn0;ccupa4ffCp9r8ut7;ca5l0C;ac4Kganiz0ig2Hph2;er3t7;i1Lomet7;ri5;ic0spring;aCeAie4Zo8u7;n,rser3L;b7mad,vi4X;le2Xo4F;i7mesis,phew;ce,ghb1;nny,rr3t20;aFeEiBo8u7yst21;m9si18;der3gul,m8n7th0;arEk;!my;ni8s7;f03s0Kt0;on,st0;chan1Tnt1rcha4;giAk0n9rtyr,t7y1;e,riar7;ch;ag0iac;ci2stra3K;a8e2Cieutena4o7;rd,s0v0;bor0d8ndlo7ss,urea3Hwy0ym2;rd;!y;!s2A;anitor ,e9o8u7;ggl0;gg0urna2W;st0;c6dol,llu3Wmmigra4n7;-lAc1Sfa4habi44nov3s8ve7;nt1stig3;pe0Pt7;a1Hig3ru0O;aw;airGeCistoBo9u7ygie1M;man7sba2J;!ita9;bo,st7usekO;age,e3R;ri2;ir,r7;m8o7;!ine;it;dress0sty2E;aMeJhostHirl28ladi3oDrand8u7;e5ru;cAdaugTfa9m8pa7s6;!re4;a,o7;th0;hi1D;al8d7lf0;!de3C;ie,k7te28;eep0;!wr7;it0;isha,n7;i7tl06;us;mbl0rden0;aFella,iBo8r7;eela2Pie1R;e,re7ster pare4;be1Jm2r7st0;unn0;an31g9lmm19nanci0r7tt0;e7st la2J; marsh2Qfig7m2;ht0;rm0th0;conoFdElectriDm9n8x7;amin0cellency,i2B;emy,trepreneur,vironmenta1K;c9p7;er1loye7;e,r;ee;ci2;it1;mi5;aLeCi9ork,ri8u7we03;de,tche2I;ft0vK;ct3eti8plom2Ire7va;ct1;ci2ti2;aEcor3fencDi0JnBputAs8tectNvel7;op0;ce1He7ign0;rt0;ee,y;iz7;en;em2;c6l0;dAnc0redev9ught7;er7;! ;il;!dy;a06e04fo,hXitizenWlToCrAu7;r3stomer7;! representat7;ive;e3it7;ic;-work0lJmGnAord9rpor1Nu7wboy;n7ri0sin ;ciUte1R;in3;fidantBgressTsAt7;e0Lr7;ibut1o7;ll0;tab14ul1P;!e;edi2m7pos0rade;a0FeRissi7;on0;leag9on8um7;ni5;el;ue;e7own;an0r7;ic,k;!s;aAe8i7um;ld;erle7f;ad0;ir8nce7plGract0;ll1;m2wJ;lebri7o;ty;dCptBr7shi0;e8pe7;nt0;r,t7;ak0;ain;et;aNeMiKlogg0oFrCu7;dd0Gild0rglAsiness7;m2p8w7;om2;ers6;ar;i8o7;!k0th0;cklay0de,gadi0;hemi2oge9y7;!frie7;nd;ym2;an;cyc7sS;li5;atbox0ings;by,nk0r7;b0on8te7;nd0;!e08;c05dXge4nRpMrIsGtBu8yatull7;ah;nt8t7;h1oH;!ie;h9t7;e7orney;nda4;ie5le7;te;sis01tron7;aut,om0;chbis9isto8tis7;an,t;crV;hop;ostAp7;ari7rentiT;ti6;on;le;aAcest1im3nou9y7;bo7;dy;nc0;ly5rc7;hi5;mi9v7;entur0is1;er;ni8r7;al;str3;at1;or;counCquaintanBrobAt7;ivi5or,re7;ss;st;at;ce;ta4;nt","Adj|Noun":"true¦0:1F;1:1M;a1Db17c0Vd0Se0Nf0Eg0Bh09i07ju06l03mXnVoTpOrJsCt8u5v2watershed;a2ision10;gabo5nilla,ria2;b0Wnt;ndergr2pstairs;adua14ou2;nd;a4e2oken,ri0;en,r2;min0rori13;boo,n;age,e6ilv0Glack,o4quat,ta3u2well;bordina0Xper6;b0Mndard;ciali0Yl2vereign;e,ve1;cret,n2ri0;ior;a5e3ou2ubbiM;nd,tiZ;ar,bCl0Ynt0p2side1;resent0Xublican;ci0Qsh;a5eriodic0last11otenti0r2;emi3incip0o2;!fession0;er,um;rall5st,tie1;ff2pposi0Hv0;ens0Qi0D;agg02ov2;el;a6e4iniatKo2;bi02der08r2;al,t0;di2tr0P;an,um;le,riH;attPi3u2;sh;ber0ght,qD;stice,veniU;de0mpressioZn2;cumbe1dividu0no0Fsta1terim;alf,o2umdrum;bby,melG;en3old,ra2;ph0Dve;er0ious;a8e6i5l4u2;git05t2;ure;uid;ne;llow,m2;aGiM;ir,t,vo2;riOuriO;l4p02x2;c2ecutWpeX;ess;d2iK;er;ar3e2;mographWrivQ;k,l3;hiGlassUo3rude,unn2;ing;m6n2operM;creCstitue1te3vertab2;le;mpor2nt;ary;ic,m3p2;anion,lex;er3u2;ni8;ci0;e6lank,o5r2;i3u2;te;ef;ttom,urgeois;st;cademCd9l5n3r2;ab,ctB;im0tarctA;al;e4tern2;at2;ive;rt;oles2ult;ce1;nt;ic","Adj|Past":"true¦0:4C;1:40;2:45;3:42;4:3B;a3Tb3Ic2Vd2Ae22f1Wg1Th1Qi1Hj1Ekno1Dl18m13n10o0Vp0Lqu0Jr07sKtEuBvAw5yellow0;a8ea7o5rinkl0;r5u3N;n,ri0;k2Qth3;rp0sh0tY;ari0e1M;n5pd1s0;cov3derstood,i5;fi0t0;a8hreat2Ki7ouTr5urn0wi42;a5imm0ou28;ck0in0pp0;ed,r0;m0nn0r5;get0ni2K;aPcLeJhHimGm0Hoak0pEt8u5;bsid3Fgge3Vs5;pe5ta2P;ct0nd0;a9e8i26ok0r6u5;ff0nn0;ength28ip5;ed,p0;am0reotyp0;in0t0;eci5ik0oI;al35fi0;pSul1;a5ock0ut;d0r0;a5c1Dle2t2S;l0s3Jt0;a7or6r5;at5e1W;ch0;r0tt3;t5ut0;is4ur1;aFe6o5;tt0;cBdJf22gAje2l9m0Knew0p8qu7s5;eTpe2t5;or0ri2;e34ir0;e1lac0;at0e2H;ist3ul1;eiv0o5ycl0;mme2Crd0v3;in0lli0ti4;a5ot0;li4;aCer2RiBlAo9r5ump0;e7i2Go5;ce27d5lo14nou2Spos0te2v0;uc0;fe15ocDp0Fss0;i2Cli1D;ann0e24uT;ck0erc0ss0;ck0i29r5st0;allMk0;bse8c7rgan25ver5;lo5whelm0;ok0;cupi0;rv0;e6o5;t0uri12;ed0gle2;a7e6ix0o5ut0;di4t0Xu1Y;as07lt0;n5rk0;ag0ufact05;e7i6o5;ad0ck0st;cens0mit0st0;ft,v5;el0;tt0wn;a6o0Xu5;dg0s13;gg0;llumin1mpBn5sol1;br0cre1Ddebt0f9jUt6v5;it0olv0;e5ox0Q;gr1n5re1V;d0si4;e2l1o1O;li0oVr5;ov0;amm3e1o5;ok0r5;ri4;ift0r6u5;a14id0;i0Kown;a9e8i7lavo0Goc0Cr5;a5i0oz0S;ctEg13m0;ni04tt0x0;ar0;d0il0;duc1l1mBn9quipp0s8x5;agger1p5te0Q;a0Pe5os0;ct0rie1A;cap0tabliX;gFha18s5;ur0;a0Xbarra0L;aMeEi6r5;a00i0;gni4miniRre2s5;aAc7grun0Et5;o5re0Gurb0;rt0;iplVou5;nt0r5;ag0;bl0;cBdQf9l8pre0Ara7t6v5;elop0ot0;ail0ermP;ng0;ay0ight0;e5in0o0M;rr0;ay0enTor1;m5t0z0;ag0p5;en0;aQeMhJlIoAr7u5;lt5r0stom04;iv1;a6owd0u5;sh0;ck0mp0;d0loBm8n5ok0v3;centr1f6s5troD;id3olid1;us0;b6pl5;ic1;in0;r0ur0;assi4os0utt3;ar6i5;ll0;g0m0;lebr1n7r5;ti4;fi0;tralK;g0lcul1;aEiDlAo8r6urn5;ed,t;ok5uis0;en;il0r0t5und;tl0;e6i5;nd0;ss0;as0;k0laNs0tt3;bandQcOdLfJg0lGmaz0nEppCrm0ssAu6wa5;rd0;g6thor5;iz0;me5;nt0;o7u5;m0r0;li0re5;ci1;im1ticip1;at0;a6leg0t3;er0;rm0;fe2;ct0;ju6o8va5;nc0;st0;ce5knowledg0;pt0;on0;ed",Singular:"true¦0:5H;1:5F;2:4U;3:4Q;4:50;5:55;6:5J;a4Yb4Hc3Kd32e2Uf2Lg2Gh25in21j20k1Zl1Sm1Jn1Fo19p0Pqu0Or0DsXtKuFvAw7x r54yo yo;a7ha3Mo3N;f3i4Nt0Ey7;! arou36;arAe8ideo ga2No7;cabu4Fl58;gMr7t;di4Vt1V;iety,ni4L;n9p2Xr8s 7;do40s5A;bani1in0;coordinat37der7;estima1to21we3Y; rex,aIeHhFiDoCr9u8v7;! show;m2Ln2rntJto1B;agedy,ib7o4A;e,u7;n0ta42;ni1p2rq3I;c,er,m7;etD;ing7ree23;!y;am,mp3C;ct2le6x return;aLcKeIhor4MiHkFoEpin off,tBu9y7;ll7ner4Ist4P;ab2U;b7i1n25per bowl,rro1U;st3Itot0;at8ipe2Do1Irate4Eudent7;! lo0G;i36u1;ft ser4Hmeo1F;elet5i7;ll,r3R;b35gn2Qte;ab2Gc7min38;t,urity gua2K;e6ho2V;bbatic0la3Fndwi0Opi5;av5eBhetor2i8o7;de6om,w;t8v7;erb29;e,u0;bBc9f7publ2r0Xspi1;er7orm3;e6r0;i7ord label;p2Et0;a1u42;estion mark,ot2C;aNeKhoJiGlEoCr8u7yram1C;ddi3DpCrpo1Gs3F;e9o7;bl3Vs7;pe3Fta1;dic1Omi1Cp1Nroga3Rss relea1C;p7rt0;py;a7ebisci1;q2Ate;cn2e8g7;!gy;!r;ne call,tocoI;anut,d8r7t0yo1;cen3Fsp3G;al,est0;nop4r8t7;e,hog5;adi0Yi2R;atme0bj3Bc9pia1rde0thers,utspok5ve7wn3;n,r7;ti0Mview;cu8e7;an;pi3;ar9it8ot7umb3;a2Bhi2N;e,ra1;cot2ra33;aDeAi8o7ur0;nopo4p15rni2Jsq1Oti32uld;c,li0Yn07s7tt5;chief,si30;d8nu,t7;al,i3;al,ic;gna1mm0nd12rsupi0te7yf4;ri0;aBegAi9u7;ddi1n7;ch;ght bulb,me,p06ving room; 8e0J;bor11y 7;up;eyno1itt5;el4ourn0;c9dices,itia2Kni22s8tel0Jvert7;eb1H;e25titu1;en2Hi2Q;aGeCighBo8u7;man right,s1Z;me7rmoDsp1Dtb0I;! r7;un; scho0WriW;a7i1K;d7v5; start,pho7;ne;ndful,sh brown,v5ze;a9elat0Glaci3r7ul4yp1P;an7enadi3id;a19d slam,ny;df4r7;l2ni1F;aEeti1EiDlu1oAr8un7;er0;ee market,i7onti3;ga1;l4ur7;so7;me;eNref4;br2mi4;conoDffi1Mgg,lecto0Pmbas1BnApidem2s1Wth2ven9x8yel7;id;ampXempl0Lte6;i16t;er1Iterp7;ri7;se;my;eJiCo9r7ump tru0R;agonf4i7;er,ve thru;c8g1Bi4or,ssi3wn7;side;to0CumenC;aCgniBnn3s8vide7;nd;conte6incen1Bp7tri0Y;osi7;tion;ta0E;le0U;ath9c8f7ni0terre6;ault 03err0;al,im0;!b7;ed;aUeRhKiJlHoBr7;edit ca9uc7;ib7;le;rd;efficBke,lAmmuniqJns8pi3rr0t0Uus7yo1;in;erv7uG;atoZ;ic,lO;ie6;er0Li7oth;e6n2;ty,vil wK;aBeqAick5oco9r7;istmas car7ysanthemum;ol;la1;ue;ndeli3racteri7;st2;i8llCr7;e0tifica1;liW;hi3nDpCrAt7ucus;erpi7hedr0;ll7;ar;!bohyd7ri3;ra1;it0;a7e,nib0;l,ry;aKeJiop2leHoFrBu7;nny,r7tterf4;g7i0;la7;ry;eak8i7;ck;fa7thro9;st;dy,ro7wl;ugh;mi7;sh;an,l4;nki8rri3;er;ng;cQdKlGnDppeti1rBs9tt2utop7;sy;ic;ce6pe7;ct;r7sen0;ay;ec8oma4ti8;ly;do1;i5l7;er7y;gy;en; hominBj8van7;tage;ec7;ti7;ve;em;cAe8qui7;tt0;ta1;te;i8ru0;al;de6;nt","Person|Noun":"true¦a0Eb07c03dWeUfQgOhLjHkiGlFmCnBolive,p7r4s3trini06v1wa0;ng,rd,tts;an,enus,iol0;a,et;ky,onPumm09;ay,e1o0uby;bin,d,se;ed,x;a2e1o0;l,tt04;aLnJ;dYge,tR;at,orm;a0eloW;t0x,ya;!s;a9eo,iH;ng,tP;a2e1o0;lGy;an,w3;de,smi4y;a0erb,iOolBuntR;ll,z0;el;ail,e0iLuy;ne;a1ern,i0lo;elds,nn;ith,n0;ny;a0dEmir,ula,ve;rl;a4e3i1j,ol0;ly;ck,x0;ie;an,ja;i0wn;sy;am,h0liff,rystal;a0in,ristian;mbers,ri0;ty;a4e3i2o,r0ud;an0ook;dy;ll;nedict,rg;k0nks;er;l0rt;fredo,ma","Actor|Verb":"true¦aCb8c5doctor,engineAfool,g3host,judge,m2nerd,p1recruit,scout,ushAvolunteAwi0;mp,tneA;arent,ilot;an,ime;eek,oof,r0uide;adu8oom;ha1o0;ach,nscript,ok;mpion,uffeur;o2u0;lly,tch0;er;ss;ddi1ffili0rchite1;ate;ct",MaleName:"true¦0:H9;1:FZ;2:DS;3:GQ;4:CZ;5:FV;6:GM;7:FP;8:GW;9:ET;A:C2;B:GD;aF8bE1cCQdBMeASfA1g8Yh88i7Uj6Sk6Bl5Mm48n3So3Ip33qu31r26s1Et0Ru0Ov0CwTxSyHzC;aCor0;cChC1karia,nAT;!hDkC;!aF6;!ar7CeF5;aJevgenBSoEuC;en,rFVsCu3FvEF;if,uf;nDs6OusC;ouf,s6N;aCg;s,tC;an,h0;hli,nCrosE1ss09;is,nC;!iBU;avi2ho5;aPeNiDoCyaEL;jcieBJlfgang,odrFutR;lFnC;f8TsC;lCt1;ow;bGey,frEhe4QlC;aE5iCy;am,e,s;ed8iC;d,ed;eAur;i,ndeD2rn2sC;!l9t1;lDyC;l1ne;lDtC;!er;aCHy;aKernDAiFladDoC;jteB0lodymyr;!iC;mFQsDB;cFha0ktBZnceDrgCOvC;a0ek;!nC;t,zo;!e4StBV;lCnC7sily;!entC;in9J;ghE2lCm70nax,ri,sm0;riCyss87;ch,k;aWeRhNiLoGrEuDyC;!l2roEDs1;n6r6E;avD0eCist0oy,um0;ntCRvBKy;bFdAWmCny;!asDmCoharu;aFFie,y;!z;iA6y;mCt4;!my,othy;adEeoDia0SomC;!as;!dor91;!de4;dFrC;enBKrC;anBJeCy;ll,nBI;!dy;dgh,ha,iCnn2req,tsu5V;cDAka;aYcotWeThPiMlobod0oKpenc2tEurDvenAEyCzym1;ed,lvest2;aj,e9V;anFeDuC;!aA;fan17phEQvCwaA;e77ie;!islaCl9;v,w;lom1rBuC;leymaDHta;dDgmu9UlCm1yabonga;as,v8B;!dhart8Yn9;aEeClo75;lCrm0;d1t1;h9Jne,qu1Jun,wn,yne;aDbastiEDk2Yl5Mpp,rgCth,ymoCU;e1Dio;m4n;!tC;!ie,y;eDPlFmEnCq67tosCMul;dCj2UtiA5;e01ro;!iATkeB6mC4u5;!ik,vato9K;aZeUheC8iRoGuDyC;an,ou;b99dDf4peAssC;!elEG;ol00y;an,bLc7MdJel,geIh0lHmGnEry,sDyC;!ce;ar7Ocoe,s;!aCnBU;ld,n;an,eo;a7Ef;l7Jr;e3Eg2n9olfo,riC;go;bBNeDH;cCl9;ar87c86h54kCo;!ey,ie,y;cFeA3gDid,ubByCza;an8Ln06;g85iC;naC6s;ep;ch8Kfa5hHin2je8HlGmFndEoHpha5sDul,wi36yC;an,mo8O;h9Im4;alDSol3O;iD0on;f,ph;ul;e9CinC;cy,t1;aOeLhilJiFrCyoG;aDeC;m,st1;ka85v2O;eDoC;tr;r8GtC;er,ro;!ipCl6H;!p6U;dCLrcy,tC;ar,e9JrC;!o7;b9Udra8So9UscAHtri62ulCv8I;!ie,o7;ctav6Ji2lImHndrBRrGsDtCum6wB;is,to;aDc6k6m0vCwaBE;al79;ma;i,vR;ar,er;aDeksandr,ivC;er,i2;f,v;aNeLguyBiFoCu3O;aDel,j4l0ma0rC;beAm0;h,m;cFels,g5i9EkDlC;es,s;!au,h96l78olaC;!i,y;hCkCol76;ol75;al,d,il,ls1vC;ilAF;hom,tC;e,hC;anCy;!a5i5;aYeViLoGuDyC;l4Nr1;hamDr84staC;fa,p6E;ed,mG;di10e,hamEis4JntDritz,sCussa;es,he;e,y;ad,ed,mC;ad,ed;cGgu5hai,kFlEnDtchC;!e8O;a9Pik;house,o7t1;ae73eC3ha8Iolaj;ah,hDkC;!ey,y;aDeC;al,l;el,l;hDlv3rC;le,ri8Ev4T;di,met;ay0c00gn4hWjd,ks2NlTmadZnSrKsXtDuric7VxC;imilBKwe8B;eHhEi69tCus,y69;!eo,hCia7;ew,i67;eDiC;as,eu,s;us,w;j,o;cHiGkFlEqu8Qsha83tCv3;iCy;!m,n;in,on;el,o7us;a6Yo7us;!elCin,o7us;!l8o;frAEi5Zny,u5;achDcoCik;lm;ai,y;amDdi,e5VmC;oud;adCm6W;ou;aulCi9P;ay;aWeOiMloyd,oJuDyC;le,nd1;cFdEiDkCth2uk;a7e;gi,s,z;ov7Cv6Hw6H;!as,iC;a6Een;g0nn52renDuCvA4we7D;!iS;!zo;am,n4oC;n5r;a9Yevi,la5KnHoFst2thaEvC;eCi;nte;bo;nCpo8V;!a82el,id;!nC;aAy;mEnd1rDsz73urenCwr6K;ce,t;ry,s;ar,beAont;aOeIhalHiFla4onr63rDu5SylC;e,s;istCzysztof;i0oph2;er0ngsl9p,rC;ilA9k,ollos;ed,id;en0iGnDrmCv4Z;it;!dDnCt1;e2Ny;ri4Z;r,th;cp2j4mEna8BrDsp6them,uC;ri;im,l;al,il;a03eXiVoFuC;an,lCst3;en,iC;an,en,o,us;aQeOhKkub4AnIrGsDzC;ef;eDhCi9Yue;!ua;!f,ph;dCge;i,on;!aCny;h,s,th6J;anDnC;!ath6Hie,n72;!nC;!es;!l,sCy;ph;o,qu3;an,mC;!i,m6V;d,ffFns,rCs4;a7JemDmai7QoCry;me,ni1H;i9Fy;!e73rC;ey,y;cKdBkImHrEsDvi2yC;dBs1;on,p2;ed,oDrCv67;e6Qod;d,s61;al,es5Wis1;a,e,oCub;b,v;ob,qu13;aTbNchiMgLke53lija,nuKonut,rIsEtCv0;ai,suC;ki;aDha0i8ZmaCsac;el,il;ac,iaC;h,s;a,vinCw3;!g;k,nngu6X;nac1Xor;ka;ai,rahC;im;aReLoIuCyd6;beAgGmFsC;eyDsC;a3e3;in,n;ber5W;h,o;m2raDsse3wC;a5Pie;c49t1K;a0Qct3XiGnDrC;beAman08;dr7VrC;iCy2N;!k,q1R;n0Tt3S;bKlJmza,nIo,rEsDyC;a5KdB;an,s0;lEo67r2IuCv9;hi5Hki,tC;a,o;an,ey;k,s;!im;ib;a08e00iUlenToQrMuCyorgy;iHnFsC;!taC;f,vC;!e,o;n6tC;er,h2;do,lC;herDlC;auCerQ;me;aEegCov2;!g,orC;!io,y;dy,h7C;dfr9nza3XrDttfC;ri6C;an,d47;!n;acoGlEno,oCuseppe;rgiCvan6O;!o,s;be6Ies,lC;es;mo;oFrC;aDha4HrC;it,y;ld,rd8;ffErgC;!e7iCy;!os;!r9;bElBrCv3;eCla1Nr4Hth,y;th;e,rC;e3YielC;!i4;aXeSiQlOorrest,rCyod2E;aHedFiC;edDtC;s,z;ri18;!d42eri11riC;ck,k;nCs2;cEkC;ie,lC;in,yn;esLisC;!co,z3M;etch2oC;ri0yd;d5lConn;ip;deriFliEng,rC;dinaCg4nan0B;nd8;pe,x;co;bCdi,hd;iEriC;ce,zC;io;an,en,o;benez2dZfrYit0lTmMnJo3rFsteb0th0ugenEvCymBzra;an,eCge4D;ns,re3K;!e;gi,iDnCrol,v3w3;est8ie,st;cCk;!h,k;o0DriCzo;co,qC;ue;aHerGiDmC;aGe3A;lCrh0;!iC;a10o,s;s1y;nu5;beAd1iEliDm2t1viCwood;n,s;ot28s;!as,j5Jot,sC;ha;a3en;!dGg6mFoDua2QwC;a2Pin;arC;do;oZuZ;ie;a04eTiOmitrNoFrag0uEwDylC;an,l0;ay3Hig4D;a3Gdl9nc0st3;minFnDri0ugCvydGy2S;!lF;!a36nCov0;e1Eie,y;go,iDykC;as;cCk;!k;i,y;armuFetDll1mitri7neCon,rk;sh;er,m6riC;ch;id;andLepak,j0lbeAmetri4nIon,rGsEvDwCxt2;ay30ey;en,in;hawn,moC;nd;ek,riC;ck;is,nC;is,y;rt;re;an,le,mKnIrEvC;e,iC;!d;en,iEne0PrCyl;eCin,yl;l45n;n,o,us;!iCny;el,lo;iCon;an,en,on;a0Fe0Ch03iar0lRoJrFuDyrC;il,us;rtC;!is;aEistC;iaCob12;no;ig;dy,lInErC;ey,neliCy;s,us;nEor,rDstaC;nt3;ad;or;by,e,in,l3t1;aHeEiCyde;fCnt,ve;fo0Xt1;menDt4;us;s,t;rFuDyC;!t1;dCs;e,io;enC;ce;aHeGrisC;!toC;phCs;!eC;!r;st2t;d,rCs;b5leC;s,y;cDdrCs6;ic;il;lHmFrC;ey,lDroCy;ll;!o7t1;er1iC;lo;!eb,v3;a09eZiVjorn,laUoSrEuCyr1;ddy,rtKst2;er;aKeFiEuDyC;an,ce,on;ce,no;an,ce;nDtC;!t;dDtC;!on;an,on;dFnC;dDisC;lav;en,on;!foOl9y;bby,gd0rCyd;is;i0Lke;bElDshC;al;al,lL;ek;nIrCshoi;at,nEtC;!raC;m,nd;aDhaCie;rd;rd8;!iDjam3nCs1;ie,y;to;kaMlazs,nHrC;n9rDtC;!holomew;eCy;tt;ey;dCeD;ar,iC;le;ar1Pb1Dd16fon15gust3hm12i0Zja0Yl0Bm07nTputsiSrGsaFugustEveDyCziz;a0kh0;ry;o,us;hi;aMchiKiJjun,mHnEon,tCy0;em,hCie,ur8;ur;aDoC;!ld;ud,v;aCin;an,nd8;!el,ki;baCe;ld;ta;aq;aMdHgel8tCw6;hoFoC;iDnC;!i8y;ne;ny;er7rCy;eDzC;ej;!as,i,j,s,w;!s;s,tolC;iCy;!y;ar,iEmaCos;nu5r;el;ne,r,t;aVbSdBeJfHiGl01onFphonsEt1vC;aPin;on;e,o;so,zo;!sR;!onZrC;ed;c,jaHksFssaHxC;!andC;er,rC;e,os,u;andCei;ar,er,r;ndC;ro;en;eDrecC;ht;rt8;dd3in,n,sC;taC;ir;ni;dDm6;ar;an,en;ad,eC;d,t;in;so;aGi,olErDvC;ik;ian8;f8ph;!o;mCn;!a;dGeFraDuC;!bakr,lfazl;hCm;am;!l;allHelEoulaye,ulC;!lCrE;ah,o;! rC;ahm0;an;ah;av,on",Uncountable:"true¦0:2Z;1:2F;2:2M;3:34;4:3D;a2Xb2Oc2Cd25e1Uf1Qg1Hh19i14j11k0Zl0Um0Kn0Go0Fp06r02sNtBuran2Mv9w5you gu0H;a7his1Ai6oo5;d,l;ldlife,ne;rmAt2;apor,ernacul2Ci5;neg2Bol1Rtae;eFhDiCoAr6un5yranny;a,gst1E;aff2Rea1No6ue nor5;th;o0Bu5;bleshoot0se1Wt;night,othpas1Ywn5;foGsfoG;me off,n;er5und2;e,mod2V;a,nnis;aGcFeEhCiBkiAo9p8t6u5weepstak1;g1Xnshi2Kshi;ati0Be5;am,el;ace2Neci1;ap,cc2meth0;n,ttl1;lk;eep,ingl1o5;pp0r1E;lf,na1Iri1;ene1Misso1E;d0Yfe3l6nd,t5;i0Kurn;m1Wt;abi1e6ic5;e,ke17;c5i03laxa13search;ogni12rea12;aBeAhys9luto,o7re5ut3;amble,mis1s5ten22;en21s0N;l5rk;i2Al0GyJ; 18i4;a26tr0H;nt5rk0ti0O;i1s;bstetri4vercrowd0xyg0B;a7e6owada5utella;ys;ptu1Qws;il poli01tional securi3;aCeAo7u5;m5s1J;ps;n5o1M;ey,o5;gamy;a5cha0Glancholy,rchandi1Jtallurgy;sl1t;chine5g1Cj1Jrs,thema1S; learn0ry;aught2e8i7ogi6u5;ck,g14;c,s1O;ce,ghtn0nguis1NteratYv2;ath2isXss;ara0GindergartRn5;icke0Cowled10;e5upit2;a5llyfiIwel0I;ns;ce,gnor8mp7n5;forma02ter5;net,sta09;atiUort5rov;an1A;a9e8isto0Bo5ung2;ckey,mework,ne6o5rseradiAspitali3use arrest;ky;s3y;adquarteZre;ir,libut,ppiJs5;hi5te;sh;eneAl8o7r5um,ymnas13;a5e01;niWss;lf,re;ut5yce0H;en; 5ti4;edit0po5;ol;aPeel0icHlour,o6urnit5;ure;od,rgive5uri2wl;ness;arEcono0NducaDlectrBn9quipAthi4very8x5;ist6per5;ti0D;en0L;body,o0Ath0;joy5tertain5;ment;ici3o5;ni4;tiU;nings,th;emi04i8o6raugh5ynas3;ts;pe,wnstai5;rs;abet1ce,s5;hon01repu5;te;aFelciEhCivi4lAo5urrency;al,ld w8mmenta7n5ral,ttKuscoD;fusiJt 5;ed;ry;ar;assi4oth1;es;aos,e5;eOw0;us;d,rQ;aAi8lood,owl0read7u5;nt0tt2;er;!th;lliarLs5;on;g5ss;ga5;ge;cMdviLeroIirHmDn8ppeal court,r6spi5thleN;rin;ithmet5sen5;ic;i8y5;o6th0;ing;ne;se;en7n5;es3;ty;ds;craft;bi4d5nau9;yna5;mi4;ce;id,ous5;ti4;cs",Infinitive:"true¦0:9G;1:9T;2:AD;3:90;4:9Z;5:84;6:AH;7:A9;8:92;9:A0;A:AG;B:AI;C:9V;D:8R;E:8O;F:97;G:6H;H:7D;a94b8Hc7Jd68e4Zf4Mg4Gh4Ai3Qj3Nk3Kl3Bm34nou48o2Vp2Equ2Dr1Es0CtZuTvRwI;aOeNiLors5rI;eJiI;ng,te;ak,st3;d5e8TthI;draw,er;a2d,ep;i2ke,nIrn;d1t;aIie;liADniAry;nJpI;ho8Llift;cov1dJear8Hfound8DlIplug,rav82tie,ve94;eaAo3X;erIo;cut,go,staAFvalA3w2G;aSeQhNoMrIu73;aIe72;ffi3Smp3nsI;aBfo7CpI;i8oD;pp3ugh5;aJiJrIwaD;eat5i2;nk;aImA0;ch,se;ck3ilor,keImp1r8L;! paD;a0Ic0He0Fh0Bi0Al08mugg3n07o05p02qu01tUuLwI;aJeeIim;p,t5;ll7Wy;bNccMffLggeCmmKppJrI;mouFpa6Zvi2;o0re6Y;ari0on;er,i4;e7Numb;li9KmJsiIveD;de,st;er9it;aMe8MiKrI;ang3eIi2;ng27w;fIng;f5le;b,gg1rI;t3ve;a4AiA;a4UeJit,l7DoI;il,of;ak,nd;lIot7Kw;icEve;atGeak,i0O;aIi6;m,y;ft,ng,t;aKi6CoJriIun;nk,v6Q;ot,rt5;ke,rp5tt1;eIll,nd,que8Gv1w;!k,m;aven9ul8W;dd5tis1Iy;a0FeKiJoI;am,t,ut;d,p5;a0Ab08c06d05f01group,hea00iZjoi4lXmWnVpTq3MsOtMup,vI;amp,eJiIo3B;sEve;l,rI;e,t;i8rI;ie2ofE;eLiKpo8PtIurfa4;o24rI;aHiBuctu8;de,gn,st;mb3nt;el,hra0lIreseF;a4e71;d1ew,o07;aHe3Fo2;a7eFiIo6Jy;e2nq41ve;mbur0nf38;r0t;inKleBocus,rJuI;el,rbiA;aBeA;an4e;aBu4;ei2k8Bla43oIyc3;gni39nci3up,v1;oot,uI;ff;ct,d,liIp;se,ze;tt3viA;aAenGit,o7;aWerUinpoiFlumm1LoTrLuI;b47ke,niArIt;poDsuI;aFe;eMoI;cKd,fe4XhibEmo7noJpo0sp1tru6vI;e,i6o5L;un4;la3Nu8;aGclu6dJf1occupy,sup0JvI;a6BeF;etermi4TiB;aGllu7rtr5Ksse4Q;cei2fo4NiAmea7plex,sIva6;eve8iCua6;mp1rItrol,ve;a6It6E;bOccuNmEpMutLverIwe;l07sJtu6Yu0wI;helm;ee,h1F;gr5Cnu2Cpa4;era7i4Ipo0;py,r;ey,seItaH;r2ss;aMe0ViJoIultiply;leCu6Pw;micJnIspla4;ce,g3us;!k;iIke,na9;m,ntaH;aPeLiIo0u3N;e,ke,ng1quIv5;eIi6S;fy;aKnIss5;d,gI;th5;rn,ve;ng2Gu1N;eep,idnJnI;e4Cow;ap;oHuI;gg3xtaI;po0;gno8mVnIrk;cTdRfQgeChPitia7ju8q1CsNtKun6EvI;a6eIo11;nt,rt,st;erJimi6BoxiPrI;odu4u6;aBn,pr03ru6C;iCpi8tIu8;all,il,ruB;abEibE;eCo3Eu0;iIul9;ca7;i7lu6;b5Xmer0pI;aLer4Uin9ly,oJrI;e3Ais6Bo2;rt,se,veI;riA;le,rt;aLeKiIoiCuD;de,jaInd1;ck;ar,iT;mp1ng,pp5raIve;ng5Mss;ath1et,iMle27oLrI;aJeIow;et;b,pp3ze;!ve5A;gg3ve;aTer45i5RlSorMrJuI;lf4Cndrai0r48;eJiIolic;ght5;e0Qsh5;b3XeLfeEgJsI;a3Dee;eIi2;!t;clo0go,shIwa4Z;ad3F;att1ee,i36;lt1st5;a0OdEl0Mm0FnXquip,rWsVtGvTxI;aRcPeDhOiNpJtIu6;ing0Yol;eKi8lIo0un9;aHoI;it,re;ct,di7l;st,t;a3oDu3B;e30lI;a10u6;lt,mi28;alua7oI;ke,l2;chew,pou0tab19;a0u4U;aYcVdTfSgQhan4joy,lPqOrNsuMtKvI;e0YisI;a9i50;er,i4rI;aHenGuC;e,re;iGol0F;ui8;ar9iC;a9eIra2ulf;nd1;or4;ang1oIu8;r0w;irc3lo0ou0ErJuI;mb1;oaGy4D;b3ct;bKer9pI;hasiIow1;ze;aKody,rI;a4oiI;d1l;lm,rk;ap0eBuI;ci40de;rIt;ma0Rn;a0Re04iKo,rIwind3;aw,ed9oI;wn;agno0e,ff1g,mi2Kne,sLvI;eIul9;rIst;ge,t;aWbVcQlod9mant3pNru3TsMtI;iIoDu37;lJngI;uiA;!l;ol2ua6;eJlIo0ro2;a4ea0;n0r0;a2Xe36lKoIu0S;uIv1;ra9;aIo0;im;a3Kur0;b3rm;af5b01cVduBep5fUliTmQnOpMrLsiCtaGvI;eIol2;lop;ch;a20i2;aDiBloIoD;re,y;oIy;te,un4;eJoI;liA;an;mEv1;a4i0Ao06raud,y;ei2iMla8oKrI;ee,yI;!pt;de,mIup3;missi34po0;de,ma7ph1;aJrief,uI;g,nk;rk;mp5rk5uF;a0Dea0h0Ai09l08oKrIurta1G;a2ea7ipp3uI;mb3;ales4e04habEinci6ll03m00nIrro6;cXdUfQju8no7qu1sLtKvI;eIin4;ne,r9y;aHin2Bribu7;er2iLoli2Epi8tJuI;lt,me;itu7raH;in;d1st;eKiJoIroFu0;rm;de,gu8rm;ss;eJoI;ne;mn,n0;eIlu6ur;al,i2;buCe,men4pI;eIi3ly;l,te;eBi6u6;r4xiC;ean0iT;rcumveFte;eJirp,oI;o0p;riAw;ncIre5t1ulk;el;a02eSi6lQoPrKuI;iXrIy;st,y;aLeaKiJoad5;en;ng;stfeLtX;ke;il,l11mba0WrrMth1;eIow;ed;!coQfrie1LgPhMliLqueaKstJtrIwild1;ay;ow;th;e2tt3;a2eJoI;ld;ad;!in,ui3;me;bysEckfi8ff3tI;he;b15c0Rd0Iff0Ggree,l0Cm09n03ppZrXsQttOuMvJwaE;it;eDoI;id;rt;gIto0X;meF;aIeCraB;ch,in;pi8sJtoI;niA;aKeIi04u8;mb3rt,ss;le;il;re;g0Hi0ou0rI;an9i2;eaKly,oiFrI;ai0o2;nt;r,se;aMi0GnJtI;icipa7;eJoIul;un4y;al;ly0;aJu0;se;lga08ze;iKlI;e9oIu6;t,w;gn;ix,oI;rd;a03jNmiKoJsoI;rb;pt,rn;niIt;st1;er;ouJuC;st;rn;cLhie2knowled9quiItiva7;es4re;ce;ge;eQliOoKrJusI;e,tom;ue;mIst;moJpI;any,liA;da7;ma7;te;pt;andPduBet,i6oKsI;coKol2;ve;liArt,uI;nd;sh;de;ct;on",Person:"true¦0:1S;a2Bb21c1Od1Ge1Af17g15h0Ti0Sj0Pk0Ll0Im0Bn08o07p02rRsKtEusain bolt,vBw4xzibit,y1;anni,oko on2uji,v1;an,es;en,o;a5ednesday adams,i2o1;lfr3o0S;ll1z khalifa; ferrell,.i.1;am;lt disn1Qr1;hol,r0G;a2i1oltai06;n dies0Zrginia wo17;lentino rossi,n goG;a4h3i2ripp,u1yra banks;lZpac shakur;ger woods,mba07;eresa may,or;kashi,t1ylor;um,ya1B;a5carlett johanss0h4i3lobodan milosevic,no2ocr1Lpider1uperm0Fwami;-m0Em0E;op dogg,w whi1H;egfried,nbad;akespeaTerlock holm1Sia labeouf;ddam hussa16nt1;a cla11ig9;aAe6i5o3u1za;mi,n dmc,paul,sh limbau1;gh;bin hood,d stew16nald1thko;in0Mo;han0Yngo starr,valdo;ese witherspo0i1mbrandt;ll2nh1;old;ey,y;chmaninoff,ffi,iJshid,y roma1H;a4e3i2la16o1uff daddy;cahont0Ie;lar,p19;le,rZ;lm17ris hilt0;leg,prah winfr0Sra;a2e1iles cra1Bostradam0J; yo,l5tt06wmQ;pole0s;a5e4i2o1ubar03;by,lie5net,rriss0N;randa ju1tt romn0M;ly;rl0GssiaB;cklemo1rkov,s0ta hari,ya angelou;re;ady gaga,e1ibera0Pu;bron jam0Xch wale1e;sa;anye west,e3i1obe bryant;d cudi,efer suther1;la0P;ats,sha;a2effers0fk,k rowling,rr tolki1;en;ck the ripp0Mwaharlal nehru,y z;liTnez,ron m7;a7e5i3u1;lk hog5mphrey1sa01;! bog05;l1tl0H;de; m1dwig,nry 4;an;ile selassFlle ber4m3rrison1;! 1;ford;id,mo09;ry;ast0iannis,o1;odwPtye;ergus0lorence nightinga08r1;an1ederic chopN;s,z;ff5m2nya,ustaXzeki1;el;eril lagasse,i1;le zatop1nem;ek;ie;a6e4i2octor w1rake;ho;ck w1ego maradoC;olf;g1mi lovaOnzel washingt0;as;l1nHrth vadR;ai lNt0;a8h5lint0o1thulhu;n1olio;an,fuci1;us;on;aucKop2ristian baMy1;na;in;millo,ptain beefhe4r1;dinal wols2son1;! palmF;ey;art;a8e5hatt,i3oHro1;ck,n1;te;ll g1ng crosby;atB;ck,nazir bhut2rtil,yon1;ce;to;nksy,rack ob1;ama;l 6r3shton kutch2vril lavig8yn ra1;nd;er;chimed2istot1;le;es;capo2paci1;no;ne",Adjective:"true¦0:AI;1:BS;2:BI;3:BA;4:A8;5:84;6:AV;7:AN;8:AF;9:7H;A:BQ;B:AY;C:BC;D:BH;E:9Y;aA2b9Ec8Fd7We79f6Ng6Dh60i4Wj4Vk4Sl4Hm40n3Oo35p2Nquart7Pr2Cs1Dt14uSvOwFye28;aMeKhIiHoF;man5oFrth7G;dADzy;despreB1n w97s86;acked1HoleF;!sa6;ather1QeFll o70ste1D;!k5;nt1Jst6Ate4;aHeGiFola5S;bBUce versa,gi3Kle;ng67rsa5Q;ca1gBSluAV;lt0PnLpHrGsFttermoBL;ef9Ku3;b96ge1; Hb31pGsFtiAH;ca6et,ide d4Q;er,i85;f51to da2;a0Fbeco0Hc0Bd04e02f01gu1WheaBGiXkn4NmUnTopp06pRrNsJtHus0wF;aFiel3J;nt0rra0P;app0eXoF;ld,uS;eHi36o59pGuF;perv06spec38;e1ok9O;en,ttl0;eFu5;cogn06gul2QlGqu84sF;erv0olv0;at0en32;aFrecede0E;id,rallel0;am0otic0;aFet;rri0tF;ch0;nFq25vers3;sur0terFv7U;eFrupt0;st0;air,inish0orese98;mploy0n7Ov97xpF;ect0lain0;eHisFocume01ue;clFput0;os0;cid0rF;!a8Scov9ha8Jlyi8nea8Gprivileg0sMwF;aFei9I;t9y;hGircumcFonvin2T;is0;aFeck0;lleng0rt0;b1Zppea85ssuGttend0uthorF;iz0;mi8;i49ra;aLeIhoHip 24oGrF;anspare1encha1i2;geth9leADp notch,rpB;rny,ugh6H;ena8DmpGrFs6U;r48tia4;eCo8P;leFst4M;nt0;a0Cc08e06h05i03ki02l00mug,nobbi4XoWpSqueami4XtKuFymb94;bHccinAi generis,pFr5;erFre7N;! dup9b,vi70;du0li7Lp6IsFurb7J;eq9Atanda9X;aLeKi15o2PrGubboFy4Q;rn;aightGin5GungF; o2M; fFfF;or7U;adfa9Ori6;lwa6Etu81;arHeGir6MlendBot Fry;on;c3Oe1Q;k5se; call0lub6mb9phistic14rHuFviT;ndFth19;proof;dBry;e61ipF;pe4shod;ll0n d7S;g2HnF;ceEg6ist9;am3Te9;co1Zem5lfFn6Bre7; suf4Yi44;aGholFient3A;ar5;rlFt4B;et;cr0me,tisfac7G;aOeIheumatoBiGoF;bu90tt7Hy3;ghtFv3;-1Sf6Y;cJdu8QlInown0pro6AsGtF;ard0;is48oF;lu2na1;e1Suc46;alcit8Ye1ondi2;bBci3mpa1;aSePicayu7laOoNrGuF;bl7Unjabi,z36;eKiIoF;b7WfGmi4ApFxi2M;er,ort82;a7uD;maFor,sti7va2;!ry;ciDexis0Ima2CpaB;in56puli8H;cBid;ac2Znt 3JrFti2;ma41tFv7X;!i40;i2ZrFss7S;anoBtF;-5YiF;al,s5W;bSffQkPld OnMrLth9utKverF;!aIbMdHhGni76seas,t,wF;ei75rou75;a64e7B;ue;ll;do1Ger,si6B;d3Rg2Aotu60; bFbFe on o7g3Vli7;oa81;fashion0school;!ay; gua7YbFha5Vli7;eat;eHligGsF;ce7er0So1C;at0;diFse;a1e1;aOeNiMoGuF;anc0de; moEnHrthFt6W;!eFwe7M;a7Lrn;chaGdescri7Jprof31sF;top;la1;ght5;arby,cessa4ighbor5wlyw0xt;k0usiaFv3;ti8;aQeNiLoHuF;dIltiF;facet0p6;deHlGnFot,rbBst;ochro4Yth5;dy;rn,st;ddle ag0nF;dbloZi,or;ag9diocEga,naGrFtropolit4R;e,ry;ci8;cIgenta,inHj0Fkeshift,mmGnFri4Pscu62ver18;da5Ey;ali4Mo4V;!stream;abEho;aOeLiIoFumberi8;ngFuti1S;stan3StF;erm,i4I;ghtGteraF;l,ry,te;heart0wei5P;ft-JgFss9th3;al,eFi0M;nda4;nguBps0te5;apGind5noF;wi8;ut;ad0itte4uniW;ce co0Hgno6Nll0Cm04nHpso 2VrF;a2releF;va1; ZaYcoWdReQfOgrNhibi4Si05nMoLsHtFvalu5N;aAeF;nDrdepe2L;a7iGolFuboI;ub6ve1;de,gF;nifica1;rdi5O;a2er;own;eriIiLluenVrF;ar0eq5I;pt,rt;eHiGoFul1P;or;e,reA;fiFpe27termi5F;ni2;mpFnsideCrreA;le2;ccuCdeq5Fne,ppr4K;fFsitu,vitro;ro1;mJpF;arHeGl16oFrop9;li2r12;n2MrfeA;ti3;aGeFi19;d4CnD;tuE;egGiF;c0ZteC;al,iF;tiF;ma2;ld;aOelNiLoFuma7;a4meInHrrGsFur5;ti6;if4F;e59o3V; ma3HsF;ick;ghfalut2IspF;an4A;li01pf34;i4llow0ndGrdFtN; 06coEworki8;sy,y;aMener45iga3Clob3oLrGuF;il1Ong ho;aGea1GizF;zl0;cGtF;ef2Vis;ef2U;ld3Aod;iFuc2D;nf2R;aVeSiQlOoJrF;aGeFil5ug3;q43tf2O;gFnt3S;i6ra1;lk13oHrF; keeps,eFge0Vm9tu41;g0Ei2Ds3R;liF;sh;ag4Mowe4uF;e1or45;e4nF;al,i2;d Gmini7rF;ti6ve1;up;bl0lDmIr Fst pac0ux;oGreacF;hi8;ff;ed,ili0R;aXfVlTmQnOqu3rMthere3veryday,xF;aApIquisi2traHuF;be48lF;ta1;!va2L;edRlF;icF;it;eAstF;whi6; Famor0ough,tiE;rou2sui2;erGiF;ne1;ge1;dFe2Aoq34;er5;ficF;ie1;g9sF;t,ygF;oi8;er;aWeMiHoGrFue;ea4owY;ci6mina1ne,r31ti8ubQ;dact2Jfficult,m,sGverF;ge1se;creGePjoi1paCtF;a1inA;et,te; Nadp0WceMfiLgeneCliJmuEpeIreliAsGvoF;id,ut;pFtitu2ul1L;eCoF;nde1;ca2ghF;tf13;a1ni2;as0;facto;i5ngero0I;ar0Ce09h07i06l05oOrIuF;rmudgeon5stoma4teF;sy;ly;aIeHu1EystalF; cleFli7;ar;epy;fFv17z0;ty;erUgTloSmPnGrpoCunterclVveFy;rt;cLdJgr21jIsHtrF;aFi2;dic0Yry;eq1Yta1;oi1ug3;escenFuN;di8;a1QeFiD;it0;atoDmensuCpF;ass1SulF;so4;ni3ss3;e1niza1;ci1J;ockwiD;rcumspeAvil;eFintzy;e4wy;leGrtaF;in;ba2;diac,ef00;a00ePiLliJoGrFuck nak0;and new,isk,on22;gGldface,naF; fi05fi05;us;nd,tF;he;gGpartisFzarE;an;tiF;me;autifOhiNlLnHsFyoN;iWtselF;li8;eGiFt;gn;aFfi03;th;at0oF;v0w;nd;ul;ckwards,rF;e,rT; priori,b13c0Zd0Tf0Ng0Ihe0Hl09mp6nt06pZrTsQttracti0MuLvIwF;aGkF;wa1B;ke,re;ant garGeraF;ge;de;diIsteEtF;heFoimmu7;nt07;re;to4;hGlFtu2;eep;en;bitIchiv3roHtF;ifiFsy;ci3;ga1;ra4;ry;pFt;aHetizi8rF;oprF;ia2;llFre1;ed,i8;ng;iquFsy;at0e;ed;cohKiJkaHl,oGriFterX;ght;ne,of;li7;ne;ke,ve;olF;ic;ad;ain07gressiIi6rF;eeF;ab6;le;ve;fGraB;id;ectGlF;ue1;ioF;na2; JaIeGvF;erD;pt,qF;ua2;ma1;hoc,infinitum;cuCquiGtu3u2;al;esce1;ra2;erSjeAlPoNrKsGuF;nda1;e1olu2trF;aAuD;se;te;eaGuF;pt;st;aFve;rd;aFe;ze;ct;ra1;nt",Pronoun:"true¦'em,elle,h3i2me,she4th0us,we,you;e0ou;e,m,y;!l,t;e0im;!'s",Preposition:"true¦-,aPbMcLdKexcept,fIinGmid,notwithstandiWoDpXqua,sCt7u4v2w0;/o,hereSith0;! whHin,oW;ersus,i0;a,s-a-vis;n1p0;!on;like,til;h1ill,oward0;!s;an,ereby,r0;ough0u;!oM;ans,ince,o that,uch G;f1n0ut;!to;!f;! 0to;effect,part;or,r0;om;espite,own,u3;hez,irca;ar1e0oBy;sides,tween;ri7;bo8cross,ft7lo6m4propos,round,s1t0;!op;! 0;a whole,long 0;as;id0ong0;!st;ng;er;ut",SportsTeam:"true¦0:1A;1:1H;2:1G;a1Eb16c0Td0Kfc dallas,g0Ihouston 0Hindiana0Gjacksonville jagua0k0El0Bm01newToQpJqueens parkIreal salt lake,sAt5utah jazz,vancouver whitecaps,w3yW;ashington 3est ham0Rh10;natio1Oredski2wizar0W;ampa bay 6e5o3;ronto 3ttenham hotspur;blue ja0Mrapto0;nnessee tita2xasC;buccanee0ra0K;a7eattle 5heffield0Kporting kansas0Wt3;. louis 3oke0V;c1Frams;marine0s3;eah15ounG;cramento Rn 3;antonio spu0diego 3francisco gJjose earthquak1;char08paA; ran07;a8h5ittsburgh 4ortland t3;imbe0rail blaze0;pirat1steele0;il3oenix su2;adelphia 3li1;eagl1philNunE;dr1;akland 3klahoma city thunder,rlando magic;athle0Mrai3;de0; 3castle01;england 7orleans 6york 3;city fc,g4je0FknXme0Fred bul0Yy3;anke1;ian0D;pelica2sain0C;patrio0Brevolut3;ion;anchester Be9i3ontreal impact;ami 7lwaukee b6nnesota 3;t4u0Fvi3;kings;imberwolv1wi2;rewe0uc0K;dolphi2heat,marli2;mphis grizz3ts;li1;cXu08;a4eicesterVos angeles 3;clippe0dodDla9; galaxy,ke0;ansas city 3nE;chiefs,roya0E; pace0polis colU;astr06dynamo,rockeTtexa2;olden state warrio0reen bay pac3;ke0;.c.Aallas 7e3i05od5;nver 5troit 3;lio2pisto2ti3;ge0;broncZnuggeM;cowbo4maver3;ic00;ys; uQ;arCelKh8incinnati 6leveland 5ol3;orado r3umbus crew sc;api5ocki1;brow2cavalie0india2;bengaWre3;ds;arlotte horAicago 3;b4cubs,fire,wh3;iteB;ea0ulR;diff3olina panthe0; c3;ity;altimore 9lackburn rove0oston 5rooklyn 3uffalo bilN;ne3;ts;cel4red3; sox;tics;rs;oriol1rave2;rizona Ast8tlanta 3;brav1falco2h4u3;nited;aw9;ns;es;on villa,r3;os;c5di3;amondbac3;ks;ardi3;na3;ls",Unit:"true¦a09b06cZdYexXfTgRhePin00joule0DkMlJmDnan0AoCp9quart0Dsq ft,t7volts,w6y2ze3°1µ0;g,s;c,f,n;dXear1o0;ttT; 0s 0;old;att,b;erPon0;!ne04;ascals,e1i0;cZnt02;rcent,tL;hms,uI;/s,e4i0m²,²,³;/h,cro2l0;e0liM;!²;grNsT;gEtL;it1u0;menSx;erRreR;b5elvins,ilo1m0notQ;/h,ph,²;!byIgrGmEs;ct0rtzN;aLogrE;allonLb0ig5rD;ps;a2emtGl0t6; oz,uid ou0;nceH;hrenheit,radG;aby9;eci3m1;aratDe1m0oulombD;²,³;lsius,nti0;gr2lit1m0;et0;er8;am7;b1y0;te5;l,ps;c2tt0;os0;econd1;re0;!s",PhrasalVerb:"true¦0:92;1:96;2:8H;3:8V;4:8A;5:83;6:85;7:98;8:90;9:8G;A:8X;B:8R;C:8U;D:8S;E:70;F:97;G:8Y;H:81;I:7H;J:79;K:4G;a9Gb7Vc6Sd6Me6Kf5Ig51h4Ciron0j48k41l3Fm32n2Zo2Xp2Dquiet Hr1Ys0Lt00uYvacuu6RwOyammerBzL;ero Dip MonL;e0k0;by,ov9up;aReNhMiLor0Nrit1A;mp0n3Gpe0r5s5;ackAeel Di0T;aMiLn34;gh 3Xrd0;n Dr L;do1in,oJ;it 7Ak5lk Mrm 6Ash Lt84v60;aw3do1o7up;aw3in,oC;rgeBsL;e 2herE;a01eZhWiSoRrNuLypQ;ckErn L;do1in,oJup;aMiLot0y 31;ckl80p F;ck HdL;e 5Z;n7Xp 3Fs5K;ck NdMe Lghten 6me0p o0Sre0;aw3ba4do1in,up;e Iy 2;by,oG;ink Mrow L;aw3ba4in,up;ba4ov9up;aLe 78ll63;m 2r 5N;ckBke Mlk L;ov9shit,u48;aLba4do1in,leave,o66up;ba4ft9pa6Aw3;a0Wc0Ue0Nh0Ji0Gl0Am09n08o07p02quar5HtRuPwL;earNiL;ngMtch L;aw3ba4o8L; by;cLi6Cm 2ss0;k 65;aSeRiQoOrLud36;aigh2Eet76iL;ke 7Tng L;al6Zup;p Lrm2G;by,in,oG;cKnKr 2tc4O;p F;cKmp0nd MrLveAy 2P;e Ht 2M;ba4do1up;arKeOiNlMrLurB;ead0ingBuc5;a49it 6I;c5ll o3Dn 2;ak Fe1Yll0;aKber 2rt0und like;ap 5Wow Duggl5;ash 6Ooke0;eep OiLow 6;cMp L;o6Eup;e 69;in,oL;ff,v9;de1Agn 4OnLt 6Hz5;gLkE; al6Ble0;aNoLu5X;ot Lut0w 7N;aw3ba4f48oC;cKdeEk6FveA;e Qll1Ond Prv5tL; Ltl5K;do1foMin,o7upL;!on;ot,r60;aw3ba4do1in,o4Wup;oCto;al67out0rL;ap66ew 6K;ilAv5;aYeViToPuL;b 5Zle0n Lstl5;aMba4do1inLo2Jth4Ou5Q;!to;c2Xr8w3;ll Not MpeAuL;g3Ind18;a2Wf3Po7;ar8in,o7up;ng 69p oLs5;ff,p19;aLelAinEnt0;c6Id L;o3Oup;cKt0;a00eZiXlUoRrPsyc35uL;ll Nn5Lt L;aLba4do1in,oJto48up;pa4Ew3;a3Kdo1in,o22to46up;attleBess LiOop 2;ah2Fon;iMp Lr50u1Hwer 6O;do1in,o6Oup;nt0;aMuL;gEmp 6;ce u21y 6E;ck Lg0le 4Bn 6p5C;oJup;el 5OncilE;c54ir 3An0ss NtMy L;ba4oG; Hc2R;aw3ba4in,oJ;pLw4Z;e4Yt D;aMerd0oL;dAt54;il Hrrow H;aUeRiQoMuL;ddl5ll I;cKnkeyNp 6uthAve L;aLdo1in,o4Mup;l4Ow3; wi4L;ss0x 2;asur5e3TlMss L;a21up;t 6;ke Mn 6rLs2Ax0;k 6ryA;do,fun,oCsure,up;a03eWiRoMuL;ck0st I;aOc4Gg NoLse0;k Lse4E;aft9ba4do1forw38in57o10u47;in,oJ;d 6;e OghtNnMsLve 01;ten F;e 2k 2; 2e47;ar8do1in;aNt MvelL; oC;do1go,in,o7up;nEve L;in,oL;pLut;en;c5p 2sh MtchBughAy L;do1o5A;in4Qo7;eNick Mnock L;do1oCup;oCup;eMy L;in,up;l Ip L;aw3ba4do1f05in,oJto,up;aNoMuL;ic5mpE;ke3Tt H;c44zz 2;a02eXiUoQuL;nMrrLsh 6;y 2;keMt L;ar8do1;r H;lLneErse3L;d Le 2;ba4dLfast,o25up;ear,o1;de Mt L;ba4on,up;aw3o7;aLlp0;d Nl Ir Lt 2;fLof;rom;f11in,o1WuX;cKm 2nMsh0ve Lz2Q;at,it,to;d Mg LkerQ;do1in,o2Uup;do1in,oL;ut,v9;k 2;aZeUive Sloss IoNrMunL; f0S;ab hold,in44ow 2V; Lof 2J;aNb1Nit,oMr8th1JuL;nd9;ff,n,v9;bo7ft9hQw3;aw3bLdo1in,oJrise,up,w3;a4ir2I;ar 6ek0t L;aLb1Gdo1in,o1Dr8up;cMhLl2Hr8t,w3;ead;ross;d aLng 2;bo7;a0Fe08iZlVoRrNuL;ck Le2P;ar8up;eMighten LownBy 2;aw3oG;eLshe29; 2z5;g 2lNol Lrk I;aLwi22;bo7r8;d 6low 2;aMeLip0;sh0;g 6ke0mLrLtten H;e F;gSlQnOrMsLzzle0;h F;e Lm 2;aw3ba4up;d0isL;h 2;e Ll 1V;aw3fQin,o7;ht ba4ure0;eQnMsL;s 2;cNd L;fLoG;or;e D;d06l 2;cPll Lrm0t1I;aNbMdo1in,oLsho0Gth0Avictim;ff,ut,v9;a4ehi2P;pa0D;e L;do1oGup;at Ldge0nd 13y5;in,o7up;aPi1IoOrL;aMess 6op LuO;aw3b04in,oC;gBwB; Ile0ubl1C;m 2;a0Bh06l03oPrMut L;aw3ba4do1oCup;ackBeep MoLy0;ss Dwd0;by,do1in,o0Vup;me OoMuntL; o2B;k 6l L;do1oG;aSbRforPin,oOtLu0P;hMoLrue;geth9;rough;ff,n,ut,v9;th,wL;ard;a4y;paLr8w3;rt;eaMose L;in,oCup;n 6r F;aOeMiL;ll0pE;ck Der Lw F;on,up;t 2;lSncel0rPsNtch MveE; in;o1Oup;h Dt L;doubt,oG;ry MvL;e 09;aw3oJ;l Lm H;aMba4do1oJup;ff,n,ut;r8w3;a0We0NiteAl0Go05rRuL;bblOckl06il0Elk 6ndl06rMsLtNy FzzA;t 01;n 0IsL;t D;e I;ov9;anXeaViMush L;oGup;ghRng L;aOba4do1forNin,oMuL;nd9p;n,ut;th;bo7lLr8w3;ong;teL;n 2;k L;do1in,o7up;ch0;arUg 6iSn5oQrOssNttlMunce Lx D;aw3ba4;e 6; ar8;e H;do1;k Dt 2;e 2;l 6;do1up;d 2;aQeed0oLurt0;cNw L;aw3ba4do1o7up;ck;k L;in,oC;ck0nk0stA; oRaOef 2lt0nd L;do1ov9up;er;up;r Mt L;do1in,oCup;do1o7;ff,nL;to;ck Qil0nNrgMsL;h D;ainBe D;g DkB; on;in,o7;aw3do1in,oCup;ff,ut;ay;ct FdRir0sk NuctionA; oG;ff;ar8o7;ouL;nd; o7;d L;do1oLup;ff,n;wn;o7up;ut","Noun|Gerund":"true¦0:27;1:26;2:1X;3:1J;4:1Z;a25b1Oc1Cd16en14f0Yg0Wh0Ti0Rjog20k0Pl0Lm0In0Go0Cp05ques08rWsFtBu9volunt15w5y17zo2;a7ed1Si3or6r5;ap1Oest1Ci1;ki0r1O;i1r2s1Utc1U;nder5pri23;st1Mta4;al4e7hin4i6ra5y1J;c4di0i2v0Z;mi0p1H;a1Ys1;aKcHeGhEin1PkatClZmo4nowBpeAt8u6w5;ea3im1U;f02r5;fi0vi0J;a1Lretc1Ju5;d1BfJ;l0Xn1C;b6i0;eb5i0;oar19;ip15o5;rte2u1;a1r0At1;h6o3re5;a1He2;edu0Ooo0O;i0Nyi0;aCe8i11o6u5;li0n2;o5wi0;fi0;a7c6hear1Cnde3por1struct5;r1Au3;or0Vyc0G;di0so2;p0Qti0;aAeacek9la8o6r5ublis0X;a0Peten0Rin1oces16;iso2si5;tio2;n2yi0;ee0K;cka0Tin1rt0K;f7pe6rgani5vula1;si0zi0;ni0ra1;fe3;e5ur0W;gotia1twor4;a6e5i2onito3;e1ssa0L;nufactu3rke1;a7ea6i5od0Jyi0;cen0Qf1s1;r2si0;n09ug0E;i5n0J;c4lS;ci0magi2n5ro2;nova1terac1;andPea1i6o5un1;l03wO;ki0ri0;athe3rie5ui01;vi0;ar0CenHi7l6or5ros1unZ;ecas1mat1;ir1ooX;l6n5;anDdi0;i0li0;di0gin5;ee3;a8eba1irec1oub1r6umOw5;elB;awi0es04i5;n4vi0;n5ti0;ci0;aEelebra1hClAo7r5ur6;aw5osZ;li0;a6di0lo3mplai2n5o4pi0ve3;duc1sul1;cLti0;apCea3imHo5ubH;ni0tJ;a5ee3;n1t1;m8s1te3;ri0;aIeFitDlCoAr8u5;il8ll6r5;pi0;yi0;an5;di0;a1m5o4;bi0;esGoa1;c5i0;hi0;gin2lon5t1;gi0;ni0;bys6c4ki0;ki0;it1;c8dverti7gi0rg6ssu5;mi0;ui0;si0;coun1ti0;ti0;ng",ProperNoun:"true¦abid,barbie,c3e2f1iron maiden,kirby,m0nis,riel;ercedes,issy;lorence,ranco;lmo,uro;atalina,hristi","Person|Place":"true¦a8d6h4jordan,k3orlando,s1vi0;ctor9rgin9;a0ydney;lvador,mara,ntia4;ent,obe;amil0ous0;ton;arw2ie0;go;lexandr1ust0;in;ia",LastName:"true¦0:BT;1:BH;2:B7;3:BJ;4:AZ;5:A0;6:B8;7:BM;8:B2;9:AX;A:AN;B:8S;C:8I;D:7M;E:BO;F:AJ;aBFbA1c8Yd8Ae83f7Mg6Yh66i62j5Nk4Xl4Fm3Bn2Yo2Op25quispe,r1Ls0Pt0Ev03wTxSyKzG;aIhGimmerm6C;aGou,u;ng,o;khar5ytsE;aKeun9DiHoGun;koya34shiBW;!lG;diGmaz;rim,z;maGng;da,g54mo85sGzaC;aChiBX;iao,u;aLeJiHoGright,u;jcA7lff,ng;lGmm0nkl0sniewsC;kiB3liams35s3;bGiss,lt0;b,er,st0;a6Xgn0lHtG;anabe,s3;k0sh,tG;e2Pon;aLeKiHoGukD;gt,lk5roby5;dHllalGnogr3Mr1Css0val3U;ba,ob1W;al,ov4;lasHsel8Y;lJn dIrgBGsHzG;qu7;ilyEqu7siljE;en b6Cijk,yk;enzueAKverde;aPeix1VhKi2j8ka45oJrIsui,uG;om5WrG;c2n0un1;an,emblA9ynisC;dorAOlst3Mm4rrAth;atch0i8WoG;mHrG;are86laci7B;ps3sG;en,on;hirDkah9Onaka,te,varA;a06ch01eYhUiRmOoMtIuHvGzabo;en9Lobod3P;ar7bot4lliv2zuC;aIeHoG;i7Dj4CyanAD;ele,in2HpheBvens27;l8rm0;kol5lovy5re7Vsa,to,uG;ng,sa;iGy74;rn5tG;!h;l73mHnGrbu;at9cla9Ggh;moBo7O;aIeGimizu;hu,vchG;en8Nuk;la,r1I;gu9infe60mGoh,pulveA9rra5R;jGyG;on5;evi6iltz,miHneid0roed0uGwarz;be3Glz;dHtG;!t,z;!t;ar4Vh8ito,ka4QlJnGr4saCto,unde1Bv4;ch7dHtGz;a5Ne,os;b55e18;as,ihDm4Ro10;aVeSiPoJuHyG;a6oo,u;bio,iz,sG;so,u;bKc8Hdrigue69ge12jA0mJosevelt,sItHux,wG;e,li6;a9Eh;enb4Wsi;a56e4N;erts17i95;bei4LcHes,vGzzo;as,e9;ci,hards14;ag2es,iHut0yG;es,nol5P;s,t0;dImHnGsmu99v6E;tan1;ir7os;ic,u;aUeOhMiJoHrGut8;asad,if71ochazk29;lishc2IpGrti74u12we78;e3Cov53;cHe47nG;as,to;as72hl0;aGillips;k,m,n6K;a3Jde3Yete0Dna,rJtG;ersHrovGters56;!a,ic;!en,on;eGic,kiBss3;i9ra,tz,z;h88k,padopoulIrk0tHvG;ic,l4P;el,te3B;os;'NbMcOg2VlJnei6RrHsbor6ZweBzG;dem7Tturk;ella4FtGwe6P;ega,iz;iGof7Js8K;vGyn1T;ei9;aUri1;bri1cG;onn23;aPeNiJoGune50ym2;rHvGwak;ak4Qik5otn66;odahl,r4S;cholsZeHkolGls4Jx3;ic,ov84;ls1miG;!n1;ils3mG;co4Xec;gy,kaGray2sh,var38;jiGmu9shiG;ma;a07c04eZiWoMuHyeG;rs;lJnIrGssoli6S;atGp03r7C;i,ov4;oz,te58;d0l0;h2lOnNo0RrHsGza1A;er,s;aKeJiIoz5risHtG;e56on;!on;!n7K;au,i9no,t5J;!lA;r1Btgome59;i3El0;cracFhhail5kkeHlG;l0os64;ls1;hmeJiIj30lHn3Krci0ssiGyer2N;!er;n0Po;er,j0;dDti;cartHlG;aughl8e2;hy;dQe7Egnu68i0jer3TkPmNnMrItHyG;er,r;ei,ic,su21thews;iHkDquAroqu8tinG;ez,s;a5Xc,nG;!o;ci5Vn;a5UmG;ad5;ar5e6Kin1;rig77s1;aVeOiLoJuHyG;!nch;k4nGo;d,gu;mbarGpe3Fvr4we;di;!nGu,yana2B;coln,dG;b21holm,strom;bedEfeKhIitn0kaHn8rGw35;oy;!j;m11tG;in1on1;bvGvG;re;iGmmy,ng,rs2Qu,voie,ws3;ne,t1F;aZeYh2iWlUnez50oNrJuHvar2woG;k,n;cerGmar68znets5;a,o34;aHem0isGyeziu;h23t3O;m0sni4Fus3KvG;ch4O;bay57ch,rh0Usk16vaIwalGzl5;czGsC;yk;cIlG;!cGen4K;huk;!ev4ic,s;e8uiveG;rt;eff0kGl4mu9nnun1;ucF;ll0nnedy;hn,llKminsCne,pIrHstra3Qto,ur,yGzl5;a,s0;j0Rls22;l2oG;or;oe;aPenOha6im14oHuG;ng,r4;e32hInHrge32u6vG;anD;es,ss3;anHnsG;en,on,t3;nesGs1R;en,s1;kiBnings,s1;cJkob4EnGrv0E;kDsG;en,sG;en0Ion;ks3obs2A;brahimDglesi5Nke5Fl0Qno07oneIshikHto,vanoG;u,v54;awa;scu;aVeOiNjaltal8oIrist50uG;!aGb0ghAynh;m2ng;a6dz4fIjgaa3Hk,lHpUrGwe,x3X;ak1Gvat;mAt;er,fm3WmG;ann;ggiBtchcock;iJmingw4BnHrGss;nand7re9;deGriks1;rs3;kkiHnG;on1;la,n1;dz4g1lvoQmOns0ZqNrMsJuIwHyG;asFes;kiB;g1ng;anHhiG;mo14;i,ov0J;di6p0r10t;ue;alaG;in1;rs1;aVeorgUheorghe,iSjonRoLrJuGw3;errGnnar3Co,staf3Ctierr7zm2;a,eG;ro;ayli6ee2Lg4iffithGub0;!s;lIme0UnHodGrbachE;e,m2;calvAzale0S;dGubE;bGs0E;erg;aj,i;bs3l,mGordaO;en7;iev3U;gnMlJmaIndFo,rGsFuthi0;cGdn0za;ia;ge;eaHlG;agh0i,o;no;e,on;aVerQiLjeldsted,lKoIrHuG;chs,entAji41ll0;eem2iedm2;ntaGrt8urni0wl0;na;emi6orA;lipIsHtzgeraG;ld;ch0h0;ovG;!ic;hatDnanIrG;arGei9;a,i;deY;ov4;b0rre1D;dKinsJriksIsGvaB;cob3GpGtra3D;inoza,osiQ;en,s3;te8;er,is3warG;ds;aXePiNjurhuMoKrisco15uHvorakG;!oT;arte,boHmitru,nn,rGt3C;and,ic;is;g2he0Omingu7nErd1ItG;to;us;aGcki2Hmitr2Ossanayake,x3;s,z; JbnaIlHmirGrvisFvi,w2;!ov4;gado,ic;th;bo0groot,jo6lHsilGvriA;va;a cruz,e3uG;ca;hl,mcevsCnIt2WviG;dGes,s;ov,s3;ielsGku22;!en;ki;a0Be06hRiobQlarkPoIrGunningh1H;awfo0RivGuz;elli;h1lKntJoIrGs2Nx;byn,reG;a,ia;ke,p0;i,rer2K;em2liB;ns;!e;anu;aOeMiu,oIristGu6we;eGiaG;ns1;i,ng,p9uHwGy;!dH;dGng;huJ;!n,onGu6;!g;kJnIpm2ttHudhGv7;ry;erjee,o14;!d,g;ma,raboG;rty;bJl0Cng4rG;eghetHnG;a,y;ti;an,ota1C;cerAlder3mpbeLrIstGvadi0B;iGro;llo;doHl0Er,t0uGvalho;so;so,zo;ll;a0Fe01hYiXlUoNrKuIyG;rLtyG;qi;chan2rG;ke,ns;ank5iem,oGyant;oks,wG;ne;gdan5nIruya,su,uchaHyKziG;c,n5;rd;darGik;enG;ko;ov;aGond15;nco,zG;ev4;ancFshw16;a08oGuiy2;umGwmG;ik;ckRethov1gu,ktPnNrG;gJisInG;ascoGds1;ni;ha;er,mG;anG;!n;gtGit7nP;ss3;asF;hi;er,hG;am;b4ch,ez,hRiley,kk0ldw8nMrIshHtAu0;es;ir;bInHtlGua;ett;es,i0;ieYosa;dGik;a9yoG;padhyG;ay;ra;k,ng;ic;bb0Acos09d07g04kht05lZnPrLsl2tJyG;aHd8;in;la;chis3kiG;ns3;aImstro6sl2;an;ng;ujo,ya;dJgelHsaG;ri;ovG;!a;ersJov,reG;aGjEws;ss1;en;en,on,s3;on;eksejEiyEmeiIvG;ar7es;ez;da;ev;arwHuilG;ar;al;ams,l0;er;ta;as",Ordinal:"true¦eBf7nin5s3t0zeroE;enDhir1we0;lfCn7;d,t3;e0ixt8;cond,vent7;et0th;e6ie7;i2o0;r0urt3;tie4;ft1rst;ight0lev1;e0h,ie1;en0;th",Cardinal:"true¦bEeBf5mEnine7one,s4t0zero;en,h2rDw0;e0o;lve,n5;irt6ousands,ree;even2ix2;i3o0;r1ur0;!t2;ty;ft0ve;e2y;ight0lev1;!e0y;en;illions",Multiple:"true¦b3hundred,m3qu2se1t0;housand,r2;pt1xt1;adr0int0;illion",City:"true¦0:74;1:61;2:6G;3:6J;4:5S;a68b53c4Id48e44f3Wg3Hh39i31j2Wk2Fl23m1Mn1Co19p0Wq0Ur0Os05tRuQvLwDxiBy9z5;a7h5i4Muri4O;a5e5ongsh0;ng3H;greb,nzib5G;ang2e5okoha3Sunfu;katerin3Hrev0;a5n0Q;m5Hn;arsBeAi6roclBu5;h0xi,zh5P;c7n5;d5nipeg,terth4;hoek,s1L;hi5Zkl3A;l63xford;aw;a8e6i5ladivost5Molgogr6L;en3lni6S;ni22r5;o3saill4N;lenc4Wncouv3Sr3ughn;lan bat1Crumqi,trecht;aFbilisi,eEheDiBo9r7u5;l21n63r5;in,ku;i5ondh62;es51poli;kyo,m2Zron1Pulo5;n,uS;an5jua3l2Tmisoa6Bra3;j4Tshui; hag62ssaloni2H;gucigal26hr0l av1U;briz,i6llinn,mpe56ng5rtu,shk2R;i3Esh0;an,chu1n0p2Eyu0;aEeDh8kopje,owe1Gt7u5;ra5zh4X;ba0Ht;aten is55ockholm,rasbou67uttga2V;an8e6i5;jiazhua1llo1m5Xy0;f50n5;ya1zh4H;gh3Kt4Q;att45o1Vv44;cramen16int ClBn5o paulo,ppo3Rrajevo; 7aa,t5;a 5o domin3E;a3fe,m1M;antonio,die3Cfrancisco,j5ped3Nsalvad0J;o5u0;se;em,t lake ci5Fz25;lou58peters24;a9e8i6o5;me,t59;ga,o5yadh;! de janei3F;cife,ims,nn3Jykjavik;b4Sip4lei2Inc2Pwalpindi;ingdao,u5;ez2i0Q;aFeEhDiCo9r7u6yong5;ya1;eb59ya1;a5etor3M;g52to;rt5zn0; 5la4Co;au prin0Melizabe24sa03;ls3Prae5Atts26;iladelph3Gnom pe1Aoenix;ki1r21tah tik3E;dua,lerYnaji,r4Ot5;na,r32;ak44des0Km1Mr6s5ttawa;a3Vlo;an,d06;a7ew5ing2Fovosibir1Jyc; 5cast36;del24orlea44taip14;g8iro4Wn5pl2Wshv33v0;ch6ji1t5;es,o1;a1o1;a6o5p4;ya;no,sa0W;aEeCi9o6u5;mb2Ani26sc3Y;gadishu,nt6s5;c13ul;evideo,pelli1Rre2Z;ami,l6n14s5;kolc,sissauga;an,waukee;cca,d5lbour2Mmph41ndo1Cssi3;an,ell2Xi3;cau,drAkass2Sl9n8r5shh4A;aca6ib5rakesh,se2L;or;i1Sy;a4EchFdal0Zi47;mo;id;aDeAi8o6u5vSy2;anMckn0Odhia3;n5s angel26;d2g bea1N;brev2Be3Lma5nz,sb2verpo28;!ss27; ma39i5;c5pzig;est16; p6g5ho2Wn0Cusan24;os;az,la33;aHharFiClaipeBo9rak0Du7y5;iv,o5;to;ala lump4n5;mi1sh0;hi0Hlka2Xpavog4si5wlo2;ce;da;ev,n5rkuk;gst2sha5;sa;k5toum;iv;bHdu3llakuric0Qmpa3Fn6ohsiu1ra5un1Iwaguc0Q;c0Pj;d5o,p4;ah1Ty;a7e6i5ohannesV;l1Vn0;dd36rusalem;ip4k5;ar2H;bad0mph1OnArkutUs7taXz5;mir,tapala5;pa;fah0l6tanb5;ul;am2Zi2H;che2d5;ianap2Mo20;aAe7o5yder2W; chi mi5ms,nolulu;nh;f6lsin5rakli2;ki;ei;ifa,lifax,mCn5rb1Dva3;g8nov01oi;aFdanEenDhCiPlasgBo9raz,u5;a5jr23;dal6ng5yaquil;zh1J;aja2Oupe;ld coa1Bthen5;bu2S;ow;ent;e0Uoa;sk;lw7n5za;dhi5gt1E;nag0U;ay;aisal29es,o8r6ukuya5;ma;ankfu5esno;rt;rt5sh0; wor6ale5;za;th;d5indhov0Pl paso;in5mont2;bur5;gh;aBe8ha0Xisp4o7resd0Lu5;b5esseldorf,nkirk,rb0shanbe;ai,l0I;ha,nggu0rtmu13;hradSl6nv5troit;er;hi;donghIe6k09l5masc1Zr es sala1KugavpiY;i0lU;gu,je2;aJebu,hAleve0Vo5raio02uriti1Q;lo7n6penhag0Ar5;do1Ok;akKst0V;gUm5;bo;aBen8i6ongqi1ristchur5;ch;ang m7ca5ttago1;go;g6n5;ai;du,zho1;ng5ttogr14;ch8sha,zh07;gliari,i9lga8mayenJn6pe town,r5tanO;acCdiff;ber1Ac5;un;ry;ro;aWeNhKirmingh0WoJr9u5;chareTdapeTenos air7r5s0tu0;g5sa;as;es;a9is6usse5;ls;ba6t5;ol;ne;sil8tisla7zzav5;il5;le;va;ia;goZst2;op6ubaneshw5;ar;al;iCl9ng8r5;g6l5n;in;en;aluru,hazi;fa6grade,o horizon5;te;st;ji1rut;ghd0BkFn9ot8r7s6yan n4;ur;el,r07;celo3i,ranquil09;ou;du1g6ja lu5;ka;alo6k5;ok;re;ng;ers5u;field;a05b02cc01ddis aba00gartaZhmedXizawl,lSmPnHqa00rEsBt7uck5;la5;nd;he7l5;an5;ta;ns;h5unci2;dod,gab5;at;li5;ngt2;on;a8c5kaOtwerp;hora6o3;na;ge;h7p5;ol5;is;eim;aravati,m0s5;terd5;am; 7buquerq6eppo,giers,ma5;ty;ue;basrah al qadim5mawsil al jadid5;ah;ab5;ad;la;ba;ra;idj0u dha5;bi;an;lbo6rh5;us;rg",Region:"true¦0:2K;1:2Q;2:2H;3:2B;a2Ob2Bc1Xd1Ses1Rf1Pg1Kh1Gi1Bj17k12l0Zm0On06o04pYqVrSsJtEuBverAw6y4zacatec2S;akut0o0Cu4;cat2k06;a5est 4isconsin,yomi1K;bengal,virgin0;rwick3shington4;! dc;acruz,mont;dmurt0t4;ah,tar4; 2La0Y;a6e5laxca1Rripu1Xu4;scaEva;langa1nnessee,x2F;bas0Wm4smOtar25;aulip2Dil nadu;a9i7o5taf12u4ylh1F;ffZrr05s1A;me1Cno1Quth 4;cWdV;ber0c4kkim,naloa;hu2ily;n5skatchew2xo4;ny; luis potosi,ta catari1;a4hodeA;j4ngp08;asth2shahi;ingh25u4;e4intana roo;bec,en6retaro;ara8e6rince edward4unjab; i4;sl0C;i,nnsylv4rnambu0C;an0;!na;axa0Ydisha,h4klaho20ntar4reg7ss0Cx0H;io;aKeEo6u4;evo le4nav0W;on;r4tt17va scot0;f9mandy,th4; 4ampton3;c6d5yo4;rk3;ako1N;aroli1;olk;bras1Mva0Cw4; 5foundland4;! and labrador;brunswick,hamp3jers5mexiTyork4;! state;ey;galPyarit;aAeghala0Mi6o4;nta1r4;dov0elos;ch6dlanDn5ss4zor11;issippi,ouri;as geraPneso18;ig2oac2;dhy12harasht0Gine,ni5r4ssachusetts;anhao,i el,ylG;p4toba;ur;anca3e4incoln3ouisI;e4iR;ds;a6e5h4omi;aka06ul1;ntucky,ra01;bardino,lmyk0ns0Qr4;achay,el0nata0X;alis6har4iangxi;kh4;and;co;daho,llino7n4owa;d5gush4;et0;ia1;is;a6ert5i4un2;dalFm0D;ford3;mp3rya1waii;ansu,eorg0lou7oa,u4;an4izhou,jarat;ajuato,gdo4;ng;cester3;lori4uji2;da;sex;ageUe7o5uran4;go;rs4;et;lawaMrby3;aFeaEh9o4rimea ,umbr0;ahui7l6nnectic5rsi4ventry;ca;ut;i03orado;la;e5hattisgarh,i4uvash0;apRhuahua;chn5rke4;ss0;ya;ra;lGm4;bridge3peche;a9ihar,r8u4;ck4ryat0;ingham3;shi4;re;emen,itish columb0;h0ja cal8lk7s4v7;hkorto4que;st2;an;ar0;iforn0;ia;dygea,guascalientes,lBndhr9r5ss4;am;izo1kans5un4;achal 7;as;na;a 4;pradesh;a6ber5t4;ai;ta;ba5s4;ka;ma",Country:"true¦0:39;1:2M;a2Xb2Ec22d1Ye1Sf1Mg1Ch1Ai14j12k0Zl0Um0Gn05om3DpZqat1KrXsKtCu6v4wal3yemTz2;a25imbabwe;es,lis and futu2Y;a2enezue32ietnam;nuatu,tican city;.5gTkraiZnited 3ruXs2zbeE;a,sr;arab emirat0Kkingdom,states2;! of am2Y;k.,s.2; 28a.;a7haBimor-les0Bo6rinidad4u2;nis0rk2valu;ey,me2Ys and caic1U; and 2-2;toba1K;go,kel0Znga;iw2Wji2nz2S;ki2U;aCcotl1eBi8lov7o5pa2Cri lanka,u4w2yr0;az2ed9itzerl1;il1;d2Rriname;lomon1Wmal0uth 2;afr2JkLsud2P;ak0en0;erra leoEn2;gapo1Xt maart2;en;negKrb0ychellY;int 2moa,n marino,udi arab0;hele25luc0mart20;epublic of ir0Dom2Duss0w2;an26;a3eHhilippinTitcairn1Lo2uerto riM;l1rtugE;ki2Cl3nama,pua new0Ura2;gu6;au,esti2;ne;aAe8i6or2;folk1Hth3w2;ay; k2ern mariana1C;or0N;caragua,ger2ue;!ia;p2ther19w zeal1;al;mib0u2;ru;a6exi5icro0Ao2yanm05;ldova,n2roc4zamb9;a3gol0t2;enegro,serrat;co;c9dagasc00l6r4urit3yot2;te;an0i15;shall0Wtin2;ique;a3div2i,ta;es;wi,ys0;ao,ed01;a5e4i2uxembourg;b2echtenste11thu1F;er0ya;ban0Hsotho;os,tv0;azakh1Ee3iriba03o2uwait,yrgyz1E;rWsovo;eling0Jnya;a2erF;ma15p1B;c6nd5r3s2taly,vory coast;le of m19rael;a2el1;n,q;ia,oI;el1;aiSon2ungary;dur0Mg kong;aAermany,ha0Pibralt9re7u2;a5ern4inea2ya0O;!-biss2;au;sey;deloupe,m,tema0P;e2na0M;ce,nl1;ar;bTmb0;a6i5r2;ance,ench 2;guia0Dpoly2;nes0;ji,nl1;lklandTroeT;ast tim6cu5gypt,l salv5ngl1quatorial3ritr4st2thiop0;on0; guin2;ea;ad2;or;enmark,jibou4ominica3r con2;go;!n B;ti;aAentral african 9h7o4roat0u3yprQzech2; 8ia;ba,racao;c3lo2morPngo-brazzaville,okFsta r03te d'ivoiK;mb0;osD;i2ristmasF;le,na;republic;m2naTpe verde,yman9;bod0ero2;on;aFeChut00o8r4u2;lgar0r2;kina faso,ma,undi;azil,itish 2unei;virgin2; is2;lands;liv0nai4snia and herzegoviGtswaGuvet2; isl1;and;re;l2n7rmuF;ar2gium,ize;us;h3ngladesh,rbad2;os;am3ra2;in;as;fghaFlCmAn5r3ustr2zerbaijH;al0ia;genti2men0uba;na;dorra,g4t2;arct6igua and barbu2;da;o2uil2;la;er2;ica;b2ger0;an0;ia;ni2;st2;an",Place:"true¦a0Eb0Ac03d02e01f00gWhUiSkQlNmLnIorHpDrCsAt5u4v3w2y0;a0yz;kutPngtze;ake isHupatki;irgin islands,ostok;laanbaatar,p02;a3eotihuac0Fh1onto,sarskoe selo,u0;lXzigoot;am07e 0;bronx,hamptons;hiti,j mahE;a0cotts bluff,eine,fo,oho,under9;int lawrence river,khalX;ed s3io grande;a1ek,h0itcairn,ompeii;l,x;cif03pahanaumokuak0rthenW;ea;ange county,d,inoco;e0ile;uschwanstePw eng0;land;a0co,ekong,idLuc;chu picchu,gadYlibu,nhattY;a1gw,hr,incoln memori0;al;s,x;azan kremlIosrae,rasnoyar0ul;sk;ax,cn,nd0st;ianQochina;arlem,kg,nd,ov0;d,enweep;a2odavari,re0;at 0enwich;britaAlakG;ngFy village;co,ra;urope,vergladD;anube,en,fw,own4xb;arrizo pla5dg,edar breaks,gk,h1lt,olosse0;um;a2i0uuk;chen itza,mney rock,na0ricahua;town;morro,tham;in;cn,e2kk,ro0;oklyn,wns cany0;on;l air,verly hills;driadic,frica,lhambra,m7n3rc2sia,tl1zor0;es;!ant2; de triomphe,t1;adyr,tarct0;ic0; oce0;an;ericas,s",FirstName:"true¦aTblair,cQdOfrancoZgabMhinaLilya,jHkClBm6ni4quinn,re3s0;h0umit,yd;ay,e0iloh;a,lby;g9ne;co,ko0;!s;a1el0ina,org6;!okuhF;ds,naia,r1tt0xiB;i,y;ion,lo;ashawn,eif,uca;a3e1ir0rM;an;lsFn0rry;dall,yat5;i,sD;a0essIie,ude;i1m0;ie,mG;me;ta;rie0y;le;arcy,ev0;an,on;as1h0;arl8eyenne;ey,sidy;drien,kira,l4nd1ubr0vi;ey;i,r0;a,e0;a,y;ex2f1o0;is;ie;ei,is",WeekDay:"true¦fri2mon2s1t0wednesd3;hurs1ues1;aturd1und1;!d0;ay0;!s",Month:"true¦dec0february,july,nov0octo1sept0;em0;ber",Date:"true¦ago,on4som4t1week0yesterd5; end,ends;mr1o0;d2morrow;!w;ed0;ay",Duration:"true¦centurAd8h7m5q4se3w1y0;ear8r8;eek0k7;!end,s;ason,c5;tr,uarter;i0onth3;llisecond2nute2;our1r1;ay0ecade0;!s;ies,y",FemaleName:"true¦0:JA;1:JE;2:IM;3:IN;4:J4;5:IR;6:JV;7:JR;8:HE;9:JN;A:H7;B:I5;C:IW;D:JK;E:J0;F:BD;G:I7;aGWbFOcDUdD3eBPfB7gAGh9Wi9Jj8Gk7Fl5Zm48n3Lo3Hp33qu32r29s15t0Eu0Cv02wVxiTyOzH;aLeIineb,oHsof3;e3Sf3la,ra;h2iKlIna,ynH;ab,ep;da,ma;da,h2iHra;nab;aKeJi0FolBAuIvH;et8onDS;i0na;le0sen3;el,gm3Hn,rGOs8Z;aoHme0nyi;m60yAG;aMendE2hiDJiH;dele9lJnH;if48niHo0;e,f47;a,helmi0lHma;a,ow;ka0nB;aNeKiHusa5;ck87kIl8oleAviH;anFenJ7;ky,toriBN;da,lABrHs0;a,nHoniHC;a,iFU;leHnesHC;nIOrH;i1y;g9rHs6xHD;su5te;aYeUhRiNoLrIuHy2;i,la;acJ6iHu0J;c3na,sH;hFta;nHr0F;iFya;aJffaERnHs6;a,gtiH;ng;!nFVra;aIeHomasi0;a,l9Ro8Dres1;l3ndolwethu;g9Io8BrIssH;!a,ie;eHi,ri7;sa,za;bOlMmKnIrHs6tia0wa0;a63yn;iHya;a,ka,s6;arFe2iHm7Ara;!ka;a,iH;a,t6;at6it6;a0Ecarlett,e0AhWiSkye,neza0oQri,tNuIyH;bIJlvi1;ha,mayIMniAsIzH;an3Net8ie,y;anHi7;!a,e,nH;aCe;aIeH;fan4l5Gphan6H;cI8r5;b3fiADm0LnHphi1;d2ia,ja,ya;er2lJmon1nIobh8TtH;a,i;dy;lEWv3;aMeIirHo0risFGy5;a,lDP;ba,e0i5lJrH;iHr6Myl;!d8Lfa;ia,lE2;hd,iMki2nJrIu0w0yH;la,ma,na;i,le9on,ron,yn;aIda,ia,nHon;a,on;!ya;k6mH;!aa;lJrItaye85vH;da,inj;e0ife;en1i0ma;anACbLd5Rh1SiBkKlJmInd2rHs6vannaC;aCi0;ant6i2;lDRma,ome;ee0in8Wu2;in1ri0;a05eZhXiUoHuthDP;bScRghQl8OnPsJwIxH;anB6ie,y;an,e0;aIeHie,lD; merBUann7ll1marDJtA;!lHnn1;iHyn;e,nH;a,dF;da,i,na;ayy8J;hel6Aio;bDUerAyn;a,cIkHmas,nFta,ya;ki,o;h90ki;ea,iannGPoH;da,n1P;an0bJemFgi0iInHta,y0;a8Eee;han89na;a,eH;cHkaC;a,ca;bi0chIe,i0mo0nHquEWy0;di,ia;aEUelHiB;!e,le;een4ia0;aPeOhMiLoJrHute6D;iHudenCY;scil3OyamvaB;lHrt3;i0ly;a,paluk;ilome0oebe,ylH;is,lis;ggy,nelope,r5t2;ige,m0VnKo5rvaDPtIulH;a,et8in1;ricHt4W;a,e,ia;do2i07;ctav3dIfD6is6ksa0lHphD6umC8yunbileg;a,ga,iv3;eHvAI;l3t8;aWeUiMoIurHy5;!ay,ul;a,eJor,rIuH;f,r;aCeEma;ll1mi;aNcLhariBTkKlaJna,sHta,vi;anHha;ur;!y;a,iE2ki;hoGkA1olH;a,e4S;!mh;hir,lHna,risDHsreE;!a,lBY;asuMdLh3i6Gl5nKomi7rgEYtHzanin zah2;aHhal4;lHs6;i1ya;cy,et8;e9iF3ya;nngu30;a0Ackenz4e02iMoJrignayani,uriDMyH;a,rH;a,iOlNna,tG;bi0i2llBMnH;a,iH;ca,ka,qDC;a,cUdo52kaTlOmi,nMrItzi,yH;ar;aJiIlH;anEW;am;!l,nB;dy,eHh,n4;nhGrva;aKdJe0iCXlH;iHy;cent,e;red;!gros;!e5;ae5hH;ae5el42;ag5GgNi,lKrH;edi7DiIjem,on,yH;em,l;em,sCJ;an4iHliCI;nHsCM;a,da;!an,han;b0CcAVd0Ae,g08ha,i07ja,l05n03rLsoum61tKuIv87xBNyHz4;bell,ra,soBE;d7rH;a,eE;h8Jild1t4;a,cXgTiKjor4l7Xn4s6tJwa,yH;!aHbe70ja9lAH;m,nBO;a,ha,in1;!aJbCJeIja,lDna,sHt66;!a,ol,sa;!l1G;! Jh,mInH;!a,e,n1;!awit,i;aliALcIeduarBfern5HjHlui60;o6Jul3;ecil3la2;arJeIie,oHr48ueri8;!t;!ry;et46i3B;el4Xi7Cy;dHon,ue5;akranAy;ak,en,iHlo3S;a,ka,nB;a,re,s4te;daHg4;!l3E;alDd4elHge,isDJon0;ei9in1yn;el,le;a0Ne0CiXoQuLyH;d3la,nH;!a,dIe2OnHsCT;!a,e2N;a,sCR;aD4cJel0Pis1lIna,pHz;e,iA;a,u,wa;iHy;a0Se,ja,l2NnB;is,l1UrItt1LuHvel4;el5is1;aKeIi7na,rH;aADi7;lHn1tA;ei;!in1;aTbb9HdSepa,lNnKsJvIzH;!a,be5Ret8z4;!ia;a,et8;!a,dH;a,sHy;ay,ey,i,y;a,iJja,lH;iHy;aA8e;!aH;!nF;ia,ya;!nH;!a,ne;aPda,e0iNjYla,nMoKsJtHx93y5;iHt4;c3t3;e2PlCO;la,nHra;a,ie,o2;a,or1;a,gh,laH;!ni;!h,nH;a,d2e,n5V;cOdon9DiNkes6mi9Gna,rMtJurIvHxmi,y5;ern1in3;a,e5Aie,yn;as6iIoH;nya,ya;fa,s6;a,isA9;a,la;ey,ie,y;a04eZhXiOlASoNrJyH;lHra;a,ee,ie;istHy6I;a,en,iIyH;!na;!e,n5F;nul,ri,urtnB8;aOerNlB7mJrHzzy;a,stH;en,in;!berlImernH;aq;eHi,y;e,y;a,stE;!na,ra;aHei2ongordzol;dij1w5;el7UiKjsi,lJnIrH;a,i,ri;d2na,za;ey,i,lBLs4y;ra,s6;biAcARdiat7MeBAiSlQmPnyakuma1DrNss6NtKviAyH;!e,lH;a,eH;e,i8T;!a6HeIhHi4TlDri0y;ar8Her8Hie,leErBAy;!lyn8Ori0;a,en,iHl5Xoli0yn;!ma,nFs95;a5il1;ei8Mi,lH;e,ie;a,tl6O;a0AeZiWoOuH;anMdLlHst88;es,iH;a8NeHs8X;!n9tH;!a,te;e5Mi3My;a,iA;!anNcelDdMelGhan7VleLni,sIva0yH;a,ce;eHie;fHlDph7Y;a,in1;en,n1;i7y;!a,e,n45;lHng;!i1DlH;!i1C;anNle0nKrJsH;i8JsH;!e,i8I;i,ri;!a,elGif2CnH;a,et8iHy;!e,f2A;a,eJiInH;a,eIiH;e,n1;!t8;cMda,mi,nIque4YsminFvie2y9zH;min7;a7eIiH;ce,e,n1s;!lHs82t0F;e,le;inIk6HlDquelH;in1yn;da,ta;da,lRmPnOo0rNsIvaHwo0zaro;!a0lu,na;aJiIlaHob89;!n9R;do2;belHdo2;!a,e,l3B;a7Ben1i0ma;di2es,gr72ji;a9elBogH;en1;a,e9iHo0se;a0na;aSeOiJoHus7Kyacin2C;da,ll4rten24snH;a,i9U;lImaH;ri;aIdHlaI;a,egard;ry;ath1BiJlInrietArmi9sH;sa,t1A;en2Uga,mi;di;bi2Fil8MlNnMrJsItHwa,yl8M;i5Tt4;n60ti;iHmo51ri53;etH;!te;aCnaC;a,ey,l4;a02eWiRlPoNrKunJwH;enHyne1R;!dolD;ay,el;acieIetHiselB;a,chE;!la;ld1CogooH;sh;adys,enHor3yn2K;a,da,na;aKgi,lIna,ov8EselHta;a,e,le;da,liH;an;!n0;mLnJorgIrH;ald5Si,m3Etrud7;et8i4X;a,eHna;s29vieve;ma;bIle,mHrnet,yG;al5Si5;iIrielH;a,l1;!ja;aTeQiPlorOoz3rH;anJeIiH;da,eB;da,ja;!cH;esIiHoi0P;n1s66;!ca;a,enc3;en,o0;lIn0rnH;anB;ec3ic3;jr,nArKtHy7;emIiHma,oumaA;ha,ma,n;eh;ah,iBrah,za0;cr4Rd0Re0Qi0Pk0Ol07mXn54rUsOtNuMvHwa;aKelIiH;!e,ta;inFyn;!a;!ngel4V;geni1ni47;h5Yien9ta;mLperanKtH;eIhHrel5;er;l31r7;za;a,eralB;iHma,ne4Lyn;cHka,n;a,ka;aPeNiKmH;aHe21ie,y;!li9nuH;elG;lHn1;e7iHy;a,e,ja;lHrald;da,y;!nue5;aWeUiNlMma,no2oKsJvH;a,iH;na,ra;a,ie;iHuiH;se;a,en,ie,y;a0c3da,e,f,nMsJzaH;!betHveA;e,h;aHe,ka;!beH;th;!a,or;anor,nH;!a,i;!in1na;ate1Rta;leEs6;vi;eIiHna,wi0;e,th;l,n;aYeMh3iLjeneKoH;lor5Vminiq4Ln3FrHtt4;a,eEis,la,othHthy;ea,y;ba;an09naCon9ya;anQbPde,eOiMlJmetr3nHsir5M;a,iH;ce,se;a,iIla,orHphi9;es,is;a,l6F;dHrdH;re;!d5Ena;!b2ForaCraC;a,d2nH;!a,e;hl3i0l0GmNnLphn1rIvi1WyH;le,na;a,by,cIia,lH;a,en1;ey,ie;a,et8iH;!ca,el1Aka,z;arHia;is;a0Re0Nh04i02lUoJristIynH;di,th3;al,i0;lPnMrIurH;tn1D;aJd2OiHn2Ori9;!nH;a,e,n1;!l4;cepci5Cn4sH;tanHuelo;ce,za;eHleE;en,t8;aJeoIotH;il54;!pat2;ir7rJudH;et8iH;a,ne;a,e,iH;ce,sZ;a2er2ndH;i,y;aReNloe,rH;isJyH;stH;al;sy,tH;a1Sen,iHy;an1e,n1;deJlseIrH;!i7yl;a,y;li9;nMrH;isKlImH;ai9;a,eHot8;n1t8;!sa;d2elGtH;al,elG;cIlH;es8i47;el3ilH;e,ia,y;itlYlXmilWndVrMsKtHy5;aIeIhHri0;er1IleErDy;ri0;a38sH;a37ie;a,iOlLmeJolIrH;ie,ol;!e,in1yn;lHn;!a,la;a,eIie,otHy;a,ta;ne,y;na,s1X;a0Ii0I;a,e,l1;isAl4;in,yn;a0Ke02iZlXoUrH;andi7eRiJoIyH;an0nn;nwDoke;an3HdgMgiLtH;n31tH;!aInH;ey,i,y;ny;d,t8;etH;!t7;an0e,nH;da,na;bbi7glarIlo07nH;iAn4;ka;ancHythe;a,he;an1Clja0nHsm3M;iAtH;ou;aWcVlinUniArPssOtJulaCvH;!erlH;ey,y;hJsy,tH;e,iHy7;e,na;!anH;ie,y;!ie;nItHyl;ha,ie;adIiH;ce;et8i9;ay,da;ca,ky;!triH;ce,z;rbJyaH;rmH;aa;a2o2ra;a2Ub2Od25g21i1Sj5l18m0Zn0Boi,r06sWtVuPvOwa,yIzH;ra,u0;aKes6gJlIn,seH;!l;in;un;!nH;a,na;a,i2K;drLguJrIsteH;ja;el3;stH;in1;a,ey,i,y;aahua,he0;hIi2Gja,miAs2DtrH;id;aMlIraqHt21;at;eIi7yH;!n;e,iHy;gh;!nH;ti;iJleIo6piA;ta;en,n1t8;aHelG;!n1J;a01dje5eZgViTjRnKohito,toHya;inet8nH;el5ia;te;!aKeIiHmJ;e,ka;!mHtt7;ar4;!belIliHmU;sa;!l1;a,eliH;ca;ka,sHta;a,sa;elHie;a,iH;a,ca,n1qH;ue;!tH;a,te;!bImHstasiMya;ar3;el;aLberKeliJiHy;e,l3naH;!ta;a,ja;!ly;hGiIl3nB;da;a,ra;le;aWba,ePiMlKthJyH;a,c3sH;a,on,sa;ea;iHys0N;e,s0M;a,cIn1sHza;a,e,ha,on,sa;e,ia,ja;c3is6jaKksaKna,sJxH;aHia;!nd2;ia,saH;nd2;ra;ia;i0nIyH;ah,na;a,is,naCoud;la;c6da,leEmNnLsH;haClH;inHyY;g,n;!h;a,o,slH;ey;ee;en;at6g4nIusH;ti0;es;ie;aWdiTelMrH;eJiH;anMenH;a,e,ne;an0;na;!aLeKiIyH;nn;a,n1;a,e;!ne;!iH;de;e,lDsH;on;yn;!lH;i9yn;ne;aKbIiHrL;!e,gaK;ey,i7y;!e;gaH;il;dKliyJradhIs6;ha;ya;ah;a,ya",Honorific:"true¦director1field marsh2lieutenant1rear0sergeant major,vice0; admir1; gener0;al","Adj|Gerund":"true¦0:3H;1:3J;2:33;3:2Z;4:37;5:35;6:3E;7:31;8:38;9:2J;a35b2Vc2Dd1Te1If17g11h0Yi0Rjud9l0Nm0Gnu0Fo0Ap04rYsKtEuBvAw18yiel3;ar6e08;nBpA;l1Rs0B;fol3n21sett2;aEeDhrBi4ouc7rAwis0;e0Bif2oub2us0yi1;ea1SiA;l2vi1;l2mp0rr1J;nt1Xxi1;aMcreec7enten2PhLkyrocke0lo1Tmi2oJpHtDuBweA;e1Sl2;pp2CrA;gi1pri5roun3;aBea8iAri2Jun25;mula0r4;gge4rA;t2vi1;ark2eAraw2;e3llb2H;aAot7;ki1ri1;i1Xoc2B;dYtisf6;aEeBive0oAus7;a4l2;assu4defi1Tfres7ig1Tjuve0QlaImai1Ts0vAwar3;ea2italiAol1I;si1zi1;gi1ll6mb2vi1;a6eDier25lun9rAun2E;eBoA;mi5vo21;ce3s5vai2;n3rpleA;xi1;ffCpWutBverAwi1;arc7lap12p0Pri3whel8;goi1l6st1L;en3sA;et0;m2Lrtu4;aEeDiCoBuAyst0L;mb2;t1Lvi1;s5tiga0;an1Tl0n3smeri28;dAtu4;de17;aCeaBiAo0W;fesa0Vmi0vi1;di1ni1;c1Hg9s0;llumiZmFnArri0T;cDfurGsCtBviA;go25ti1;e1Qimi23oxica0rig0X;pi4ul0;orpo22r0M;po5;arrowi1eaBorr03umilA;ia0;li1rtwar8;lErA;atiCip0BoBuelA;i1li1;undbrea13wi1;f6ng;a4ea8;aIetc7it0lEoCrBulfA;il2;ee1JighZust1P;rAun3;ebo3thco8;aCoA;a0wA;e4i1;mi1tte4;di1sciA;na0;lectrJmHnExA;aCci0hBis0pA;an3lo3;aOila1D;c0spe1C;ab2cBdu4ergi15ga9live06ric7s04tA;hral2i0L;han0oura9;barras5er9pA;owe4;if6;aSeIiBrA;if0;sAzz6;aEgDhearCsen0tA;rAur13;ac0es5;teU;us0;ppoin0r8;biliIcFfiRgra3ligh0mDpres5sCvA;asHeloA;pi1;erE;an3eaNorA;ali0L;a6eiBliLrA;ea5;vi1;ta0;ma9ri1s7un0zz2;aPhMlo5oAripp2ut0;mGnArrespon3;cerEfDspi4tAvinU;inBrA;as0ibu0ol2;ui1;lic0u5;ni1;fDmCpA;eAromi5;l2ti1;an3;or0;aAil2;llen9n9r8;gi1;l8ptAri1;iva0;aff2eGin3lFoDrBuA;d3st2;eathtaAui5;ki1;gg2i2o8ri1unA;ci1;in3;co8wiA;lAtc7;de4;bsorVcOgonMlJmHnno6ppea2rFsA;pi4su4toA;nBun3;di1;is7;hi1;res0;li1;aFu5;si1;ar8lu4;ri1;mi1;iAzi1;zi1;cAhi1;eleDomA;moBpan6;yi1;da0;ra0;ti1;bi1;ng",Adverb:"true¦a08b05d00eYfSheQinPjustOkinda,likewiZmMnJoEpCquite,r9s5t2u0very,well;ltima01p0; to,wards5;h1iny bit,o0wiO;o,t6;en,us;eldom,o0uch;!me1rt0; of;how,times,w0C;a1e0;alS;ndomRth05;ar excellenEer0oint blank; Lhaps;f3n0utright;ce0ly;! 0;ag05moX; courGten;ewJo0; longWt 0;onHwithstand9;aybe,eanwhiNore0;!ovT;! aboX;deed,steY;lla,n0;ce;or3u0;ck1l9rther0;!moK;ing; 0evK;exampCgood,suH;n mas0vI;se;e0irect2; 2fini0;te0;ly;juAtrop;ackward,y 0;far,no0; means,w; GbroFd nauseam,gEl7ny5part,s4t 2w0;ay,hi0;le;be7l0mo7wor7;arge,ea6; soon,i4;mo0way;re;l 3mo2ongsi1ready,so,togeth0ways;er;de;st;b1t0;hat;ut;ain;ad;lot,posteriori",Conjunction:"true¦aXbTcReNhowMiEjust00noBo9p8supposing,t5wh0yet;e1il0o3;e,st;n1re0thN; if,by,vM;evL;h0il,o;erefOo0;!uU;lus,rovided th9;r0therwiM;! not; mattEr,w0;! 0;since,th4w7;f4n0; 0asmuch;as mIcaForder t0;h0o;at;! 0;only,t0w0;hen;!ev3;ith2ven0;! 0;if,tB;er;o0uz;s,z;e0ut,y the time;cau1f0;ore;se;lt3nd,s 0;far1if,m0soon1t2;uch0; as;hou0;gh",Currency:"true¦$,aud,bQcOdJeurIfHgbp,hkd,iGjpy,kElDp8r7s3usd,x2y1z0¢,£,¥,ден,лв,руб,฿,₡,₨,€,₭,﷼;lotyQł;en,uanP;af,of;h0t5;e0il5;k0q0;elK;oubleJp,upeeJ;e2ound st0;er0;lingG;n0soF;ceEnies;empi7i7;n,r0wanzaCyatC;!onaBw;ls,nr;ori7ranc9;!os;en3i2kk,o0;b0ll2;ra5;me4n0rham4;ar3;e0ny;nt1;aht,itcoin0;!s",Determiner:"true¦aBboth,d9e6few,le5mu8neiDplenty,s4th2various,wh0;at0ich0;evC;a0e4is,ose;!t;everal,ome;!ast,s;a1l0very;!se;ch;e0u;!s;!n0;!o0y;th0;er","Adj|Present":"true¦a07b04cVdQeNfJhollIidRlEmCnarrIoBp9qua8r7s3t2uttFw0;aKet,ro0;ng,u08;endChin;e2hort,l1mooth,our,pa9tray,u0;re,speU;i2ow;cu6da02leSpaN;eplica01i02;ck;aHerfePr0;eseUime,omV;bscu1pen,wn;atu0e3odeH;re;a2e1ive,ow0;er;an;st,y;ow;a2i1oul,r0;ee,inge;rm;iIke,ncy,st;l1mpty,x0;emHpress;abo4ic7;amp,e2i1oub0ry,ull;le;ffu9re6;fu8libe0;raE;alm,l5o0;mpleCn3ol,rr1unterfe0;it;e0u7;ct;juga8sum7;ea1o0;se;n,r;ankru1lu0;nt;pt;li2pproxi0rticula1;ma0;te;ght",Comparable:"true¦0:3C;1:3Q;2:3F;a3Tb3Cc33d2Ue2Nf2Ag1Wh1Li1Fj1Ek1Bl13m0Xn0So0Rp0Iqu0Gr07sHtCug0vAw4y3za0Q;el10ouN;ary,e6hi5i3ry;ck0Cde,l3n1ry,se;d,y;ny,te;a3i3R;k,ry;a3erda2ulgar;gue,in,st;a6en2Xhi5i4ouZr3;anqu2Den1ue;dy,g36me0ny;ck,rs29;ll,me,rt,wd3I;aRcaPeOhMiLkin0BlImGoEpDt6u4w3;eet,ift;b3dd0Wperfi21rre29;sta27t22;a8e7iff,r4u3;pUr1;a4ict,o3;ng;ig2Vn0N;a1ep,rn;le,rk,te0;e1Si2Vright0;ci1Zft,l3on,re;emn,id;a3el0;ll,rt;e4i3y;g2Mm0Z;ek,nd2T;ck24l0mp1M;a3iRrill,y;dy,l01rp;ve0Jxy;n1Kr3;ce,y;d,fe,int0l1Iv0V;a8e6i5o3ude;mantic,o19sy,u3;gh;pe,t1P;a3d,mo0A;dy,l;gg4iFndom,p3re,w;id;ed;ai2i3;ck,et;hoAink,l9o8r5u3;ny,r3;e,p12;egna2ic4o3;fouSud;ey,k0;liXor;ain,easa2;ny;dd,i0ld,ranL;aive,e5i4o3u15;b0Tisy,rm0Zsy;bb0ce,mb0S;a3r1w;r,t;ad,e5ild,o4u3;nda12te;ist,o1;a4ek,l3;low;s0ty;a8e7i6o3ucky;f0Kn4o15u3ve0w10y0O;d,sy;e0g;ke0l,mp,tt0Fve0;e1Qwd;me,r3te;ge;e4i3;nd;en;ol0ui19;cy,ll,n3;secu6t3;e3ima4;llege2rmedia3;te;re;aAe7i6o5u3;ge,m3ng1C;bZid;me0t;gh,l0;a3fYsita2;dy,rXv3;en0y;nd13ppy,r3;d3sh;!y;aFenEhCiBlAoofy,r3;a8e6i5o3ue0Z;o3ss;vy;m,s0;at,e3y;dy,n;nd,y;ad,ib,ooD;a2d1;a3o3;st0;tEuiS;u1y;aDeebCi9l8o6r5u3;ll,n3r0N;!ny;aDesh,iend0;a3nd,rmE;my;at,ir8;erce4nan3;ciA;! ;le;r,ul3;ty;a6erie,sse4v3xtre0A;il;nti3;al;r4s3;tern,y;ly,th0;appYe8i4u3;mb;r5vi4z3;zy;ne;e,ty;a3ep,n9;d3f,r;!ly;agey,h8l7o5r4u3;dd0r0te;isp,uel;ar3ld,mmon,st0ward0zy;se;evKou1;e3il0;ap,e3;sy;aHiFlCoAr5u3;ff,r0sy;ly;a6i3oad;g4llia2;nt;ht;sh,ve;ld,un3;cy;a4o3ue;nd,o1;ck,nd;g,tt3;er;d,ld,w1;dy;bsu6ng5we3;so3;me;ry;rd","Person|Adj":"true¦b3du2earnest,frank,mi2r0san1woo1;an0ich,u1;dy;sty;ella,rown",Modal:"true¦c5lets,m4ought3sh1w0;ill,o5;a0o4;ll,nt;! to,a;ight,ust;an,o0;uld",Verb:"true¦born,cannot,gonna,has,keep tabs,msg","Person|Verb":"true¦b8ch7dr6foster,gra5ja9lan4ma2ni9ollie,p1rob,s0wade;kip,pike,t5ue;at,eg,ier2;ck,r0;k,shal;ce;ce,nt;ew;ase,u1;iff,l1ob,u0;ck;aze,ossom","Person|Date":"true¦a2j0sep;an0une;!uary;p0ugust,v0;ril"};const Ao=36,Co="0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ",jo=Co.split("").reduce((function(e,t,n){return e[t]=n,e}),{});var No=function(e){if(void 0!==jo[e])return jo[e];let t=0,n=1,a=Ao,r=1;for(;n=0;n--,r*=Ao){let a=e.charCodeAt(n)-48;a>10&&(a-=7),t+=a*r}return t},Io=function(e){const t=new RegExp("([0-9A-Z]+):([0-9A-Z]+)");for(let n=0;n{let o=e.nodes[a];"!"===o[0]&&(t.push(r),o=o.slice(1));const i=o.split(/([A-Z0-9,]+)/g);for(let o=0;o{const n=t.split("¦");return e[n[0]]=n[1],e}),{}),n={};return Object.keys(t).forEach((function(e){const a=Do(t[e]);"true"===e&&(e=!0);for(let t=0;t{let t=Go(Po[e]);Oo.test(e)?Object.keys(t).forEach((t=>{if(Vo[t]=e,"Noun|Verb"===e){let e=Fo(t,Lo);Vo[e]="Plural|Verb"}})):Object.keys(t).forEach((t=>{zo[t]=e}))})),[":(",":)",":P",":p",":O",";(",";)",";P",";p",";O",":3",":|",":/",":\\",":$",":*",":@",":-(",":-)",":-P",":-p",":-O",":-3",":-|",":-/",":-\\",":-$",":-*",":-@",":^(",":^)",":^P",":^p",":^O",":^3",":^|",":^/",":^\\",":^$",":^*",":^@","):","(:","$:","*:",")-:","(-:","$-:","*-:",")^:","(^:","$^:","*^:","<3","zo[e]="Emoticon")),delete zo[""],delete zo.null,delete zo[" "];const Mo="Singular";var Bo={beforeTags:{Determiner:Mo,Possessive:Mo,Acronym:Mo,Noun:Mo,Adjective:Mo,PresentTense:Mo,Gerund:Mo,PastTense:Mo,Infinitive:Mo,Date:Mo,Ordinal:Mo,Demonym:Mo},afterTags:{Value:Mo,Modal:Mo,Copula:Mo,PresentTense:Mo,PastTense:Mo,Demonym:Mo,Actor:Mo},beforeWords:{the:Mo,with:Mo,without:Mo,of:Mo,for:Mo,any:Mo,all:Mo,on:Mo,cut:Mo,cuts:Mo,increase:Mo,decrease:Mo,raise:Mo,drop:Mo,save:Mo,saved:Mo,saves:Mo,make:Mo,makes:Mo,made:Mo,minus:Mo,plus:Mo,than:Mo,another:Mo,versus:Mo,neither:Mo,about:Mo,favorite:Mo,best:Mo,daily:Mo,weekly:Mo,linear:Mo,binary:Mo,mobile:Mo,lexical:Mo,technical:Mo,computer:Mo,scientific:Mo,security:Mo,government:Mo,popular:Mo,formal:Mo,no:Mo,more:Mo,one:Mo,let:Mo,her:Mo,his:Mo,their:Mo,our:Mo,us:Mo},afterWords:{of:Mo,system:Mo,aid:Mo,method:Mo,utility:Mo,tool:Mo,reform:Mo,therapy:Mo,philosophy:Mo,room:Mo,authority:Mo,says:Mo,said:Mo,wants:Mo,wanted:Mo,is:Mo,did:Mo,do:Mo,can:Mo,wise:Mo}};const So="Infinitive";var $o={beforeTags:{Modal:So,Adverb:So,Negative:So,Plural:So},afterTags:{Determiner:So,Adverb:So,Possessive:So,Reflexive:So,Preposition:So,Cardinal:So,Comparative:So,Superlative:So},beforeWords:{i:So,we:So,you:So,they:So,to:So,please:So,will:So,have:So,had:So,would:So,could:So,should:So,do:So,did:So,does:So,can:So,must:So,us:So,me:So,let:So,even:So,when:So,help:So,he:So,she:So,it:So,being:So,bi:So,co:So,contra:So,de:So,inter:So,intra:So,mis:So,pre:So,out:So,counter:So,nobody:So,somebody:So,anybody:So,everybody:So},afterWords:{the:So,me:So,you:So,him:So,us:So,her:So,his:So,them:So,they:So,it:So,himself:So,herself:So,itself:So,myself:So,ourselves:So,themselves:So,something:So,anything:So,a:So,an:So,up:So,down:So,by:So,out:So,off:So,under:So,what:So,all:So,to:So,because:So,although:So,after:So,before:So,how:So,otherwise:So,together:So,though:So,into:So,yet:So,more:So,here:So,there:So,away:So}},Jo={beforeTags:Object.assign({},$o.beforeTags,Bo.beforeTags,{}),afterTags:Object.assign({},$o.afterTags,Bo.afterTags,{}),beforeWords:Object.assign({},$o.beforeWords,Bo.beforeWords,{}),afterWords:Object.assign({},$o.afterWords,Bo.afterWords,{})};const Wo="Adjective";var Ko={beforeTags:{Determiner:Wo,Possessive:Wo,Hyphenated:Wo},afterTags:{Adjective:Wo},beforeWords:{seem:Wo,seemed:Wo,seems:Wo,feel:Wo,feels:Wo,felt:Wo,stay:Wo,appear:Wo,appears:Wo,appeared:Wo,also:Wo,over:Wo,under:Wo,too:Wo,it:Wo,but:Wo,still:Wo,really:Wo,quite:Wo,well:Wo,very:Wo,how:Wo,deeply:Wo,hella:Wo,profoundly:Wo,extremely:Wo,so:Wo,badly:Wo,mostly:Wo,totally:Wo,awfully:Wo,rather:Wo,nothing:Wo,something:Wo,anything:Wo,not:Wo,me:Wo,is:Wo},afterWords:{too:Wo,also:Wo,or:Wo,enough:Wo,about:Wo}};const qo="Gerund";var Uo={beforeTags:{Adverb:qo,Preposition:qo,Conjunction:qo},afterTags:{Adverb:qo,Possessive:qo,Person:qo,Pronoun:qo,Determiner:qo,Copula:qo,Preposition:qo,Conjunction:qo,Comparative:qo},beforeWords:{been:qo,keep:qo,continue:qo,stop:qo,am:qo,be:qo,me:qo,began:qo,start:qo,starts:qo,started:qo,stops:qo,stopped:qo,help:qo,helps:qo,avoid:qo,avoids:qo,love:qo,loves:qo,loved:qo,hate:qo,hates:qo,hated:qo},afterWords:{you:qo,me:qo,her:qo,him:qo,his:qo,them:qo,their:qo,it:qo,this:qo,there:qo,on:qo,about:qo,for:qo,up:qo,down:qo}},Ro={beforeTags:Object.assign({},Ko.beforeTags,Uo.beforeTags,{Imperative:"Gerund",Infinitive:"Adjective",PresentTense:"Gerund",Plural:"Gerund"}),afterTags:Object.assign({},Ko.afterTags,Uo.afterTags,{Singular:"Adjective"}),beforeWords:Object.assign({},Ko.beforeWords,Uo.beforeWords,{is:"Adjective",was:"Adjective",of:"Adjective",suggest:"Gerund",recommend:"Gerund"}),afterWords:Object.assign({},Ko.afterWords,Uo.afterWords,{to:"Gerund",not:"Gerund",the:"Gerund"})};const Qo={beforeTags:{Determiner:void 0,Cardinal:"Noun",PhrasalVerb:"Adjective"},afterTags:{}};var Xo={beforeTags:Object.assign({},Ko.beforeTags,Bo.beforeTags,Qo.beforeTags),afterTags:Object.assign({},Ko.afterTags,Bo.afterTags,Qo.afterTags),beforeWords:Object.assign({},Ko.beforeWords,Bo.beforeWords,{are:"Adjective",is:"Adjective",was:"Adjective",be:"Adjective",off:"Adjective",out:"Adjective"}),afterWords:Object.assign({},Ko.afterWords,Bo.afterWords)};let Zo="PastTense";const _o={beforeTags:{Adverb:Zo,Pronoun:Zo,ProperNoun:Zo,Auxiliary:Zo,Noun:Zo},afterTags:{Possessive:Zo,Pronoun:Zo,Determiner:Zo,Adverb:Zo,Comparative:Zo,Date:Zo,Gerund:Zo},beforeWords:{be:Zo,who:Zo,get:"Adjective",had:Zo,has:Zo,have:Zo,been:Zo,it:Zo,as:Zo,for:"Adjective",more:"Adjective"},afterWords:{by:Zo,back:Zo,out:Zo,in:Zo,up:Zo,down:Zo,before:Zo,after:Zo,for:Zo,the:Zo,with:Zo,as:Zo,on:Zo,at:Zo,between:Zo,to:Zo,into:Zo,us:Zo,them:Zo,his:Zo,her:Zo,their:Zo,our:Zo,me:Zo}};var Yo={beforeTags:Object.assign({},Ko.beforeTags,_o.beforeTags),afterTags:Object.assign({},Ko.afterTags,_o.afterTags),beforeWords:Object.assign({},Ko.beforeWords,_o.beforeWords),afterWords:Object.assign({},Ko.afterWords,_o.afterWords)};const ei={afterTags:{Noun:"Adjective",Conjunction:void 0}};var ti={beforeTags:Object.assign({},Ko.beforeTags,$o.beforeTags,{Adverb:void 0,Negative:void 0}),afterTags:Object.assign({},Ko.afterTags,$o.afterTags,ei.afterTags),beforeWords:Object.assign({},Ko.beforeWords,$o.beforeWords,{have:void 0,had:void 0,not:void 0,went:"Adjective",goes:"Adjective",got:"Adjective",be:"Adjective"}),afterWords:Object.assign({},Ko.afterWords,$o.afterWords,{to:void 0,as:"Adjective"})};const ni={Copula:"Gerund",PastTense:"Gerund",PresentTense:"Gerund",Infinitive:"Gerund"},ai={},ri={are:"Gerund",were:"Gerund",be:"Gerund",no:"Gerund",without:"Gerund",you:"Gerund",we:"Gerund",they:"Gerund",he:"Gerund",she:"Gerund",us:"Gerund",them:"Gerund"},oi={the:"Gerund",this:"Gerund",that:"Gerund",me:"Gerund",us:"Gerund",them:"Gerund"};var ii={beforeTags:Object.assign({},Uo.beforeTags,Bo.beforeTags,ni),afterTags:Object.assign({},Uo.afterTags,Bo.afterTags,ai),beforeWords:Object.assign({},Uo.beforeWords,Bo.beforeWords,ri),afterWords:Object.assign({},Uo.afterWords,Bo.afterWords,oi)};const si="Singular",li="Infinitive";var ui={beforeTags:Object.assign({},$o.beforeTags,Bo.beforeTags,{Adjective:si,Particle:si}),afterTags:Object.assign({},$o.afterTags,Bo.afterTags,{ProperNoun:li,Gerund:li,Adjective:li,Copula:si}),beforeWords:Object.assign({},$o.beforeWords,Bo.beforeWords,{is:si,was:si,of:si,have:null}),afterWords:Object.assign({},$o.afterWords,Bo.afterWords,{instead:li,about:li,his:li,her:li,to:null,by:null,in:null})};const ci="Person";var di={beforeTags:{Honorific:ci,Person:ci},afterTags:{Person:ci,ProperNoun:ci,Verb:ci},ownTags:{ProperNoun:ci},beforeWords:{hi:ci,hey:ci,yo:ci,dear:ci,hello:ci},afterWords:{said:ci,says:ci,told:ci,tells:ci,feels:ci,felt:ci,seems:ci,thinks:ci,thought:ci,spends:ci,spendt:ci,plays:ci,played:ci,sing:ci,sang:ci,learn:ci,learned:ci,wants:ci,wanted:ci}};const hi="Month",gi={beforeTags:{Date:hi,Value:hi},afterTags:{Date:hi,Value:hi},beforeWords:{by:hi,in:hi,on:hi,during:hi,after:hi,before:hi,between:hi,until:hi,til:hi,sometime:hi,of:hi,this:hi,next:hi,last:hi,previous:hi,following:hi,with:"Person"},afterWords:{sometime:hi,in:hi,of:hi,until:hi,the:hi}};var mi={beforeTags:Object.assign({},di.beforeTags,gi.beforeTags),afterTags:Object.assign({},di.afterTags,gi.afterTags),beforeWords:Object.assign({},di.beforeWords,gi.beforeWords),afterWords:Object.assign({},di.afterWords,gi.afterWords)};const pi="Place",fi={beforeTags:{Place:pi},afterTags:{Place:pi,Abbreviation:pi},beforeWords:{in:pi,by:pi,near:pi,from:pi,to:pi},afterWords:{in:pi,by:pi,near:pi,from:pi,to:pi,government:pi,council:pi,region:pi,city:pi}};let bi="Unit";const vi={"Actor|Verb":Jo,"Adj|Gerund":Ro,"Adj|Noun":Xo,"Adj|Past":Yo,"Adj|Present":ti,"Noun|Verb":ui,"Noun|Gerund":ii,"Person|Noun":{beforeTags:Object.assign({},Bo.beforeTags,di.beforeTags),afterTags:Object.assign({},Bo.afterTags,di.afterTags),beforeWords:Object.assign({},Bo.beforeWords,di.beforeWords,{i:"Infinitive",we:"Infinitive"}),afterWords:Object.assign({},Bo.afterWords,di.afterWords)},"Person|Date":mi,"Person|Verb":{beforeTags:Object.assign({},Bo.beforeTags,di.beforeTags,$o.beforeTags),afterTags:Object.assign({},Bo.afterTags,di.afterTags,$o.afterTags),beforeWords:Object.assign({},Bo.beforeWords,di.beforeWords,$o.beforeWords),afterWords:Object.assign({},Bo.afterWords,di.afterWords,$o.afterWords)},"Person|Place":{beforeTags:Object.assign({},fi.beforeTags,di.beforeTags),afterTags:Object.assign({},fi.afterTags,di.afterTags),beforeWords:Object.assign({},fi.beforeWords,di.beforeWords),afterWords:Object.assign({},fi.afterWords,di.afterWords)},"Person|Adj":{beforeTags:Object.assign({},di.beforeTags,Ko.beforeTags),afterTags:Object.assign({},di.afterTags,Ko.afterTags),beforeWords:Object.assign({},di.beforeWords,Ko.beforeWords),afterWords:Object.assign({},di.afterWords,Ko.afterWords)},"Unit|Noun":{beforeTags:{Value:bi},afterTags:{},beforeWords:{per:bi,every:bi,each:bi,square:bi,cubic:bi,sq:bi,metric:bi},afterWords:{per:bi,squared:bi,cubed:bi,long:bi}}},yi=(e,t)=>{let n=Object.keys(e).reduce(((t,n)=>(t[n]="Infinitive"===e[n]?"PresentTense":"Plural",t)),{});return Object.assign(n,t)};vi["Plural|Verb"]={beforeWords:yi(vi["Noun|Verb"].beforeWords,{had:"Plural",have:"Plural"}),afterWords:yi(vi["Noun|Verb"].afterWords,{his:"PresentTense",her:"PresentTense",its:"PresentTense",in:null,to:null,is:"PresentTense",by:"PresentTense"}),beforeTags:yi(vi["Noun|Verb"].beforeTags,{Conjunction:"PresentTense",Noun:void 0,ProperNoun:"PresentTense"}),afterTags:yi(vi["Noun|Verb"].afterTags,{Gerund:"Plural",Noun:"PresentTense",Value:"PresentTense"})};var wi=vi;const ki="Adjective",Pi="Infinitive",Ai="PresentTense",Ci="Singular",ji="PastTense",Ni="Adverb",Ii="Plural",Hi="Actor",Di="Verb",Gi="Noun",Ti="LastName",xi="Modal",Ei="Place",Fi="Participle";var Oi=[null,null,{ea:Ci,ia:Gi,ic:ki,ly:Ni,"'n":Di,"'t":Di},{oed:ji,ued:ji,xed:ji," so":Ni,"'ll":xi,"'re":"Copula",azy:ki,eer:Gi,end:Di,ped:ji,ffy:ki,ify:Pi,ing:"Gerund",ize:Pi,ibe:Pi,lar:ki,mum:ki,nes:Ai,nny:ki,ous:ki,que:ki,ger:Gi,ber:Gi,rol:Ci,sis:Ci,ogy:Ci,oid:Ci,ian:Ci,zes:Ai,eld:ji,ken:Fi,ven:Fi,ten:Fi,ect:Pi,ict:Pi,ign:Pi,oze:Pi,ful:ki,bal:ki,ton:Gi},{amed:ji,aped:ji,ched:ji,lked:ji,rked:ji,reed:ji,nded:ji,mned:ki,cted:ji,dged:ji,ield:Ci,akis:Ti,cede:Pi,chuk:Ti,czyk:Ti,ects:Ai,iend:Ci,ends:Di,enko:Ti,ette:Ci,iary:Ci,wner:Ci,fies:Ai,fore:Ni,gate:Pi,gone:ki,ices:Ii,ints:Ii,ruct:Pi,ines:Ii,ions:Ii,ners:Ii,pers:Ii,lers:Ii,less:ki,llen:ki,made:ki,nsen:Ti,oses:Ai,ould:xi,some:ki,sson:Ti,ians:Ii,tion:Ci,tage:Gi,ique:Ci,tive:ki,tors:Gi,vice:Ci,lier:Ci,fier:Ci,wned:ji,gent:Ci,tist:Hi,pist:Hi,rist:Hi,mist:Hi,yist:Hi,vist:Hi,ists:Hi,lite:Ci,site:Ci,rite:Ci,mite:Ci,bite:Ci,mate:Ci,date:Ci,ndal:Ci,vent:Ci,uist:Hi,gist:Hi,note:Ci,cide:Ci,ence:Ci,wide:ki,vide:Pi,ract:Pi,duce:Pi,pose:Pi,eive:Pi,lyze:Pi,lyse:Pi,iant:ki,nary:ki,ghty:ki,uent:ki,erer:Hi,bury:Ei,dorf:Gi,esty:Gi,wych:Ei,dale:Ei,folk:Ei},{elist:Hi,holic:Ci,phite:Ci,tized:ji,urned:ji,eased:ji,ances:Ii,bound:ki,ettes:Ii,fully:Ni,ishes:Ai,ities:Ii,marek:Ti,nssen:Ti,ology:Gi,osome:Ci,tment:Ci,ports:Ii,rough:ki,tches:Ai,tieth:"Ordinal",tures:Ii,wards:Ni,where:Ni,archy:Gi,pathy:Gi,opoly:Gi,embly:Gi,phate:Gi,ndent:Ci,scent:Ci,onist:Hi,anist:Hi,alist:Hi,olist:Hi,icist:Hi,ounce:Pi,iable:ki,borne:ki,gnant:ki,inant:ki,igent:ki,atory:ki,rient:Ci,dient:Ci,maker:Hi,burgh:Ei,mouth:Ei,ceter:Ei,ville:Ei,worth:Gi},{auskas:Ti,parent:Ci,cedent:Ci,ionary:Ci,cklist:Ci,keeper:Hi,logist:Hi,teenth:"Value",worker:Hi,master:Hi,writer:Hi,brough:Ei,cester:Ei},{logists:Hi,opoulos:Ti,borough:Ei,sdottir:Ti}];const zi="Adjective",Vi="Noun",Li="Verb";var Mi=[null,null,{},{neo:Vi,bio:Vi,"de-":Li,"re-":Li,"un-":Li,"ex-":Vi},{anti:Vi,auto:Vi,faux:zi,hexa:Vi,kilo:Vi,mono:Vi,nano:Vi,octa:Vi,poly:Vi,semi:zi,tele:Vi,"pro-":zi,"mis-":Li,"dis-":Li,"pre-":zi},{anglo:Vi,centi:Vi,ethno:Vi,ferro:Vi,grand:Vi,hepta:Vi,hydro:Vi,intro:Vi,macro:Vi,micro:Vi,milli:Vi,nitro:Vi,penta:Vi,quasi:zi,radio:Vi,tetra:Vi,"omni-":zi,"post-":zi},{pseudo:zi,"extra-":zi,"hyper-":zi,"inter-":zi,"intra-":zi,"deca-":zi},{electro:Vi}];const Bi="Adjective",Si="Infinitive",$i="PresentTense",Ji="Singular",Wi="PastTense",Ki="Adverb",qi="Expression",Ui="Actor",Ri="Verb",Qi="Noun",Xi="LastName";var Zi={a:[[/.[aeiou]na$/,Qi,"tuna"],[/.[oau][wvl]ska$/,Xi],[/.[^aeiou]ica$/,Ji,"harmonica"],[/^([hyj]a+)+$/,qi,"haha"]],c:[[/.[^aeiou]ic$/,Bi]],d:[[/[aeiou](pp|ll|ss|ff|gg|tt|rr|bb|nn|mm)ed$/,Wi,"popped"],[/.[aeo]{2}[bdgmnprvz]ed$/,Wi,"rammed"],[/.[aeiou][sg]hed$/,Wi,"gushed"],[/.[aeiou]red$/,Wi,"hired"],[/.[aeiou]r?ried$/,Wi,"hurried"],[/[^aeiou]ard$/,Ji,"steward"],[/[aeiou][^aeiou]id$/,Bi,""],[/.[vrl]id$/,Bi,"livid"],[/..led$/,Wi,"hurled"],[/.[iao]sed$/,Wi,""],[/[aeiou]n?[cs]ed$/,Wi,""],[/[aeiou][rl]?[mnf]ed$/,Wi,""],[/[aeiou][ns]?c?ked$/,Wi,"bunked"],[/[aeiou]gned$/,Wi],[/[aeiou][nl]?ged$/,Wi],[/.[tdbwxyz]ed$/,Wi],[/[^aeiou][aeiou][tvx]ed$/,Wi],[/.[cdflmnprstv]ied$/,Wi,"emptied"]],e:[[/.[lnr]ize$/,Si,"antagonize"],[/.[^aeiou]ise$/,Si,"antagonise"],[/.[aeiou]te$/,Si,"bite"],[/.[^aeiou][ai]ble$/,Bi,"fixable"],[/.[^aeiou]eable$/,Bi,"maleable"],[/.[ts]ive$/,Bi,"festive"],[/[a-z]-like$/,Bi,"woman-like"]],h:[[/.[^aeiouf]ish$/,Bi,"cornish"],[/.v[iy]ch$/,Xi,"..ovich"],[/^ug?h+$/,qi,"ughh"],[/^uh[ -]?oh$/,qi,"uhoh"],[/[a-z]-ish$/,Bi,"cartoon-ish"]],i:[[/.[oau][wvl]ski$/,Xi,"polish-male"]],k:[[/^(k){2}$/,qi,"kkkk"]],l:[[/.[gl]ial$/,Bi,"familial"],[/.[^aeiou]ful$/,Bi,"fitful"],[/.[nrtumcd]al$/,Bi,"natal"],[/.[^aeiou][ei]al$/,Bi,"familial"]],m:[[/.[^aeiou]ium$/,Ji,"magnesium"],[/[^aeiou]ism$/,Ji,"schism"],[/^[hu]m+$/,qi,"hmm"],[/^\d+ ?[ap]m$/,"Date","3am"]],n:[[/.[lsrnpb]ian$/,Bi,"republican"],[/[^aeiou]ician$/,Ui,"musician"],[/[aeiou][ktrp]in'$/,"Gerund","cookin'"]],o:[[/^no+$/,qi,"noooo"],[/^(yo)+$/,qi,"yoo"],[/^wo{2,}[pt]?$/,qi,"woop"]],r:[[/.[bdfklmst]ler$/,"Noun"],[/[aeiou][pns]er$/,Ji],[/[^i]fer$/,Si],[/.[^aeiou][ao]pher$/,Ui],[/.[lk]er$/,"Noun"],[/.ier$/,"Comparative"]],t:[[/.[di]est$/,"Superlative"],[/.[icldtgrv]ent$/,Bi],[/[aeiou].*ist$/,Bi],[/^[a-z]et$/,Ri]],s:[[/.[^aeiou]ises$/,$i],[/.[rln]ates$/,$i],[/.[^z]ens$/,Ri],[/.[lstrn]us$/,Ji],[/.[aeiou]sks$/,$i],[/.[aeiou]kes$/,$i],[/[aeiou][^aeiou]is$/,Ji],[/[a-z]'s$/,Qi],[/^yes+$/,qi]],v:[[/.[^aeiou][ai][kln]ov$/,Xi]],y:[[/.[cts]hy$/,Bi],[/.[st]ty$/,Bi],[/.[tnl]ary$/,Bi],[/.[oe]ry$/,Ji],[/[rdntkbhs]ly$/,Ki],[/.(gg|bb|zz)ly$/,Bi],[/...lly$/,Ki],[/.[gk]y$/,Bi],[/[bszmp]{2}y$/,Bi],[/.[ai]my$/,Bi],[/[ea]{2}zy$/,Bi],[/.[^aeiou]ity$/,Ji]]};const _i="Verb",Yi="Noun";var es={leftTags:[["Adjective",Yi],["Possessive",Yi],["Determiner",Yi],["Adverb",_i],["Pronoun",_i],["Value",Yi],["Ordinal",Yi],["Modal",_i],["Superlative",Yi],["Demonym",Yi],["Honorific","Person"]],leftWords:[["i",_i],["first",Yi],["it",_i],["there",_i],["not",_i],["because",Yi],["if",Yi],["but",Yi],["who",_i],["this",Yi],["his",Yi],["when",Yi],["you",_i],["very","Adjective"],["old",Yi],["never",_i],["before",Yi],["a",Yi],["the",Yi],["been",_i]],rightTags:[["Copula",Yi],["PastTense",Yi],["Conjunction",Yi],["Modal",Yi]],rightWords:[["there",_i],["me",_i],["man","Adjective"],["him",_i],["it",_i],["were",Yi],["took",Yi],["himself",_i],["went",Yi],["who",Yi],["jr","Person"]]},ts={fwd:"3:ser,ier¦1er:h,t,f,l,n¦1r:e¦2er:ss,or,om",both:"3er:ver,ear,alm¦3ner:hin¦3ter:lat¦2mer:im¦2er:ng,rm,mb¦2ber:ib¦2ger:ig¦1er:w,p,k,d¦ier:y",rev:"1:tter,yer¦2:uer,ver,ffer,oner,eler,ller,iler,ster,cer,uler,sher,ener,gher,aner,adder,nter,eter,rter,hter,rner,fter¦3:oser,ooler,eafer,user,airer,bler,maler,tler,eater,uger,rger,ainer,urer,ealer,icher,pler,emner,icter,nser,iser¦4:arser,viner,ucher,rosser,somer,ndomer,moter,oother,uarer,hiter¦5:nuiner,esser,emier¦ar:urther",ex:"worse:bad¦better:good¦4er:fair,gray,poor¦1urther:far¦3ter:fat,hot,wet¦3er:lay,shy,fun¦3der:mad,sad¦4der:glad¦:¦4r:cute,dire,fake,fine,free,lame,late,pale,rare,ripe,rude,safe,sore,tame,wide¦5r:eerie,stale"},ns={fwd:"1:nning,tting,rring,pping,eing,mming,gging,dding,bbing,kking¦2:eking,oling,eling,eming¦3:velling,siting,uiting,fiting,loting,geting,ialing,celling¦4:graming",both:"1:aing,iing,fing,xing,ying,oing,hing,wing¦2:tzing,rping,izzing,bting,mning,sping,wling,rling,wding,rbing,uping,lming,wning,mping,oning,lting,mbing,lking,fting,hting,sking,gning,pting,cking,ening,nking,iling,eping,ering,rting,rming,cting,lping,ssing,nting,nding,lding,sting,rning,rding,rking¦3:belling,siping,toming,yaking,uaking,oaning,auling,ooping,aiding,naping,euring,tolling,uzzing,ganing,haning,ualing,halling,iasing,auding,ieting,ceting,ouling,voring,ralling,garing,joring,oaming,oaking,roring,nelling,ooring,uelling,eaming,ooding,eaping,eeting,ooting,ooming,xiting,keting,ooking,ulling,airing,oaring,biting,outing,oiting,earing,naling,oading,eeding,ouring,eaking,aiming,illing,oining,eaning,onging,ealing,aining,eading¦4:thoming,melling,aboring,ivoting,weating,dfilling,onoring,eriting,imiting,tialling,rgining,otoring,linging,winging,lleting,louding,spelling,mpelling,heating,feating,opelling,choring,welling,ymaking,ctoring,calling,peating,iloring,laiting,utoring,uditing,mmaking,loating,iciting,waiting,mbating,voiding,otalling,nsoring,nselling,ocusing,itoring,eloping¦5:rselling,umpeting,atrolling,treating,tselling,rpreting,pringing,ummeting,ossoming,elmaking,eselling,rediting,totyping,onmaking,rfeiting,ntrolling¦5e:chmaking,dkeeping,severing,erouting,ecreting,ephoning,uthoring,ravening,reathing,pediting,erfering,eotyping,fringing,entoring,ombining,ompeting¦4e:emaking,eething,twining,rruling,chuting,xciting,rseding,scoping,edoring,pinging,lunging,agining,craping,pleting,eleting,nciting,nfining,ncoding,tponing,ecoding,writing,esaling,nvening,gnoring,evoting,mpeding,rvening,dhering,mpiling,storing,nviting,ploring¦3e:tining,nuring,saking,miring,haling,ceding,xuding,rining,nuting,laring,caring,miling,riding,hoking,piring,lading,curing,uading,noting,taping,futing,paring,hading,loding,siring,guring,vading,voking,during,niting,laning,caping,luting,muting,ruding,ciding,juring,laming,caling,hining,uoting,liding,ciling,duling,tuting,puting,cuting,coring,uiding,tiring,turing,siding,rading,enging,haping,buting,lining,taking,anging,haring,uiring,coming,mining,moting,suring,viding,luding¦2e:tring,zling,uging,oging,gling,iging,vring,fling,lging,obing,psing,pling,ubing,cling,dling,wsing,iking,rsing,dging,kling,ysing,tling,rging,eging,nsing,uning,osing,uming,using,ibing,bling,aging,ising,asing,ating¦2ie:rlying¦1e:zing,uing,cing,ving",rev:"ying:ie¦1ing:se,ke,te,we,ne,re,de,pe,me,le,c,he¦2ing:ll,ng,dd,ee,ye,oe,rg,us¦2ning:un¦2ging:og,ag,ug,ig,eg¦2ming:um¦2bing:ub,ab,eb,ob¦3ning:lan,can,hin,pin,win¦3ring:cur,lur,tir,tar,pur,car¦3ing:ait,del,eel,fin,eat,oat,eem,lel,ool,ein,uin¦3ping:rop,rap,top,uip,wap,hip,hop,lap,rip,cap¦3ming:tem,wim,rim,kim,lim¦3ting:mat,cut,pot,lit,lot,hat,set,pit,put¦3ding:hed,bed,bid¦3king:rek¦3ling:cil,pel¦3bing:rib¦4ning:egin¦4ing:isit,ruit,ilot,nsit,dget,rkel,ival,rcel¦4ring:efer,nfer¦4ting:rmit,mmit,ysit,dmit,emit,bmit,tfit,gret¦4ling:evel,xcel,ivel¦4ding:hred¦5ing:arget,posit,rofit¦5ring:nsfer¦5ting:nsmit,orget,cquit¦5ling:ancel,istil",ex:"3:adding,eating,aiming,aiding,airing,outing,gassing,setting,getting,putting,cutting,winning,sitting,betting,mapping,tapping,letting,bidding,hitting,tanning,netting,popping,fitting,capping,lapping,barring,banning,vetting,topping,rotting,tipping,potting,wetting,pitting,dipping,budding,hemming,pinning,jetting,kidding,padding,podding,sipping,wedding,bedding,donning,warring,penning,gutting,cueing,wadding,petting,ripping,napping,matting,tinning,binning,dimming,hopping,mopping,nodding,panning,rapping,ridding,sinning¦4:selling,falling,calling,waiting,editing,telling,rolling,heating,boating,hanging,beating,coating,singing,tolling,felling,polling,discing,seating,voiding,gelling,yelling,baiting,reining,ruining,seeking,spanning,stepping,knitting,emitting,slipping,quitting,dialing,omitting,clipping,shutting,skinning,abutting,flipping,trotting,cramming,fretting,suiting¦5:bringing,treating,spelling,stalling,trolling,expelling,rivaling,wringing,deterring,singeing,befitting,refitting¦6:enrolling,distilling,scrolling,strolling,caucusing,travelling¦7:installing,redefining,stencilling,recharging,overeating,benefiting,unraveling,programing¦9:reprogramming¦is:being¦2e:using,aging,owing¦3e:making,taking,coming,noting,hiring,filing,coding,citing,doping,baking,coping,hoping,lading,caring,naming,voting,riding,mining,curing,lining,ruling,typing,boring,dining,firing,hiding,piling,taping,waning,baling,boning,faring,honing,wiping,luring,timing,wading,piping,fading,biting,zoning,daring,waking,gaming,raking,ceding,tiring,coking,wining,joking,paring,gaping,poking,pining,coring,liming,toting,roping,wiring,aching¦4e:writing,storing,eroding,framing,smoking,tasting,wasting,phoning,shaking,abiding,braking,flaking,pasting,priming,shoring,sloping,withing,hinging¦5e:defining,refining,renaming,swathing,fringing,reciting¦1ie:dying,tying,lying,vying¦7e:sunbathing"},as={fwd:"1:mt¦2:llen¦3:iven,aken¦:ne¦y:in",both:"1:wn¦2:me,aten¦3:seen,bidden,isen¦4:roven,asten¦3l:pilt¦3d:uilt¦2e:itten¦1im:wum¦1eak:poken¦1ine:hone¦1ose:osen¦1in:gun¦1ake:woken¦ear:orn¦eal:olen¦eeze:ozen¦et:otten¦ink:unk¦ing:ung",rev:"2:un¦oken:eak¦ought:eek¦oven:eave¦1ne:o¦1own:ly¦1den:de¦1in:ay¦2t:am¦2n:ee¦3en:all¦4n:rive,sake,take¦5n:rgive",ex:"2:been¦3:seen,run¦4:given,taken¦5:shaken¦2eak:broken¦1ive:dove¦2y:flown¦3e:hidden,ridden¦1eek:sought¦1ake:woken¦1eave:woven"},rs={fwd:"1:oes¦1ve:as",both:"1:xes¦2:zzes,ches,shes,sses¦3:iases¦2y:llies,plies¦1y:cies,bies,ties,vies,nies,pies,dies,ries,fies¦:s",rev:"1ies:ly¦2es:us,go,do¦3es:cho,eto",ex:"2:does,goes¦3:gasses¦5:focuses¦is:are¦3y:relies¦2y:flies¦2ve:has"},os={fwd:"1st:e¦1est:l,m,f,s¦1iest:cey¦2est:or,ir¦3est:ver",both:"4:east¦5:hwest¦5lest:erful¦4est:weet,lgar,tter,oung¦4most:uter¦3est:ger,der,rey,iet,ong,ear¦3test:lat¦3most:ner¦2est:pt,ft,nt,ct,rt,ht¦2test:it¦2gest:ig¦1est:b,k,n,p,h,d,w¦iest:y",rev:"1:ttest,nnest,yest¦2:sest,stest,rmest,cest,vest,lmest,olest,ilest,ulest,ssest,imest,uest¦3:rgest,eatest,oorest,plest,allest,urest,iefest,uelest,blest,ugest,amest,yalest,ealest,illest,tlest,itest¦4:cerest,eriest,somest,rmalest,ndomest,motest,uarest,tiffest¦5:leverest,rangest¦ar:urthest¦3ey:riciest",ex:"best:good¦worst:bad¦5est:great¦4est:fast,full,fair,dull¦3test:hot,wet,fat¦4nest:thin¦1urthest:far¦3est:gay,shy,ill¦4test:neat¦4st:late,wide,fine,safe,cute,fake,pale,rare,rude,sore,ripe,dire¦6st:severe"},is={fwd:"1:tistic,eable,lful,sful,ting,tty¦2:onate,rtable,geous,ced,seful,ctful¦3:ortive,ented¦arity:ear¦y:etic¦fulness:begone¦1ity:re¦1y:tiful,gic¦2ity:ile,imous,ilous,ime¦2ion:ated¦2eness:iving¦2y:trious¦2ation:iring¦2tion:vant¦3ion:ect¦3ce:mant,mantic¦3tion:irable¦3y:est,estic¦3m:mistic,listic¦3ess:ning¦4n:utious¦4on:rative,native,vative,ective¦4ce:erant",both:"1:king,wing¦2:alous,ltuous,oyful,rdous¦3:gorous,ectable,werful,amatic¦4:oised,usical,agical,raceful,ocused,lined,ightful¦5ness:stful,lding,itous,nuous,ulous,otous,nable,gious,ayful,rvous,ntous,lsive,peful,entle,ciful,osive,leful,isive,ncise,reful,mious¦5ty:ivacious¦5ties:ubtle¦5ce:ilient,adiant,atient¦5cy:icient¦5sm:gmatic¦5on:sessive,dictive¦5ity:pular,sonal,eative,entic¦5sity:uminous¦5ism:conic¦5nce:mperate¦5ility:mitable¦5ment:xcited¦5n:bitious¦4cy:brant,etent,curate¦4ility:erable,acable,icable,ptable¦4ty:nacious,aive,oyal,dacious¦4n:icious¦4ce:vient,erent,stent,ndent,dient,quent,ident¦4ness:adic,ound,hing,pant,sant,oing,oist,tute¦4icity:imple¦4ment:fined,mused¦4ism:otic¦4ry:dantic¦4ity:tund,eral¦4edness:hand¦4on:uitive¦4lity:pitable¦4sm:eroic,namic¦4sity:nerous¦3th:arm¦3ility:pable,bable,dable,iable¦3cy:hant,nant,icate¦3ness:red,hin,nse,ict,iet,ite,oud,ind,ied,rce¦3ion:lute¦3ity:ual,gal,volous,ial¦3ce:sent,fensive,lant,gant,gent,lent,dant¦3on:asive¦3m:fist,sistic,iastic¦3y:terious,xurious,ronic,tastic¦3ur:amorous¦3e:tunate¦3ation:mined¦3sy:rteous¦3ty:ain¦3ry:ave¦3ment:azed¦2ness:de,on,ue,rn,ur,ft,rp,pe,om,ge,rd,od,ay,ss,er,ll,oy,ap,ht,ld,ad,rt¦2inousness:umous¦2ity:neous,ene,id,ane¦2cy:bate,late¦2ation:ized¦2ility:oble,ible¦2y:odic¦2e:oving,aring¦2s:ost¦2itude:pt¦2dom:ee¦2ance:uring¦2tion:reet¦2ion:oted¦2sion:ending¦2liness:an¦2or:rdent¦1th:ung¦1e:uable¦1ness:w,h,k,f¦1ility:mble¦1or:vent¦1ement:ging¦1tiquity:ncient¦1ment:hed¦verty:or¦ength:ong¦eat:ot¦pth:ep¦iness:y",rev:"",ex:"5:forceful,humorous¦8:charismatic¦13:understanding¦5ity:active¦11ness:adventurous,inquisitive,resourceful¦8on:aggressive,automatic,perceptive¦7ness:amorous,fatuous,furtive,ominous,serious¦5ness:ample,sweet¦12ness:apprehensive,cantankerous,contemptuous,ostentatious¦13ness:argumentative,conscientious¦9ness:assertive,facetious,imperious,inventive,oblivious,rapacious,receptive,seditious,whimsical¦10ness:attractive,expressive,impressive,loquacious,salubrious,thoughtful¦3edom:boring¦4ness:calm,fast,keen,tame¦8ness:cheerful,gracious,specious,spurious,timorous,unctuous¦5sity:curious¦9ion:deliberate¦8ion:desperate¦6e:expensive¦7ce:fragrant¦3y:furious¦9ility:ineluctable¦6ism:mystical¦8ity:physical,proactive,sensitive,vertical¦5cy:pliant¦7ity:positive¦9ity:practical¦12ism:professional¦6ce:prudent¦3ness:red¦6cy:vagrant¦3dom:wise"},ss=function(e="",t={}){let n=function(e,t={}){return t.hasOwnProperty(e)?t[e]:null}(e,t.ex);return n=n||function(e,t=[]){for(let n=0;n=1;a-=1){let r=e.length-a,o=e.substring(r,e.length);if(!0===t.hasOwnProperty(o))return e.slice(0,r)+t[o];if(!0===n.hasOwnProperty(o))return e.slice(0,r)+n[o]}return t.hasOwnProperty("")?e+t[""]:n.hasOwnProperty("")?e+n[""]:null}(e,t.fwd,t.both),n=n||e,n};const ls=function(e){return Object.entries(e).reduce(((e,t)=>(e[t[1]]=t[0],e)),{})};var us=function(e={}){return{reversed:!0,both:ls(e.both),ex:ls(e.ex),fwd:e.rev||{}}};const cs=/^([0-9]+)/,ds=function(e){let t=function(e){let t={};return e.split("¦").forEach((e=>{let[n,a]=e.split(":");a=(a||"").split(","),a.forEach((e=>{t[e]=n}))})),t}(e);return Object.keys(t).reduce(((e,n)=>(e[n]=function(e="",t=""){let n=(t=String(t)).match(cs);if(null===n)return t;let a=Number(n[1])||0;return e.substring(0,a)+t.replace(cs,"")}(n,t[n]),e)),{})};var hs=function(e={}){return"string"==typeof e&&(e=JSON.parse(e)),e.fwd=ds(e.fwd||""),e.both=ds(e.both||""),e.rev=ds(e.rev||""),e.ex=ds(e.ex||""),e};const gs=hs({fwd:"1:tted,wed,gged,nned,een,rred,pped,yed,bbed,oed,dded,rd,wn,mmed¦2:eed,nded,et,hted,st,oled,ut,emed,eled,lded,ken,rt,nked,apt,ant,eped,eked¦3:eared,eat,eaded,nelled,ealt,eeded,ooted,eaked,eaned,eeted,mited,bid,uit,ead,uited,ealed,geted,velled,ialed,belled¦4:ebuted,hined,comed¦y:ied¦ome:ame¦ear:ore¦ind:ound¦ing:ung,ang¦ep:pt¦ink:ank,unk¦ig:ug¦all:ell¦ee:aw¦ive:ave¦eeze:oze¦old:eld¦ave:ft¦ake:ook¦ell:old¦ite:ote¦ide:ode¦ine:one¦in:un,on¦eal:ole¦im:am¦ie:ay¦and:ood¦1ise:rose¦1eak:roke¦1ing:rought¦1ive:rove¦1el:elt¦1id:bade¦1et:got¦1y:aid¦1it:sat¦3e:lid¦3d:pent",both:"1:aed,fed,xed,hed¦2:sged,xted,wled,rped,lked,kied,lmed,lped,uped,bted,rbed,rked,wned,rled,mped,fted,mned,mbed,zzed,omed,ened,cked,gned,lted,sked,ued,zed,nted,ered,rted,rmed,ced,sted,rned,ssed,rded,pted,ved,cted¦3:cled,eined,siped,ooned,uked,ymed,jored,ouded,ioted,oaned,lged,asped,iged,mured,oided,eiled,yped,taled,moned,yled,lit,kled,oaked,gled,naled,fled,uined,oared,valled,koned,soned,aided,obed,ibed,meted,nicked,rored,micked,keted,vred,ooped,oaded,rited,aired,auled,filled,ouled,ooded,ceted,tolled,oited,bited,aped,tled,vored,dled,eamed,nsed,rsed,sited,owded,pled,sored,rged,osed,pelled,oured,psed,oated,loned,aimed,illed,eured,tred,ioned,celled,bled,wsed,ooked,oiled,itzed,iked,iased,onged,ased,ailed,uned,umed,ained,auded,nulled,ysed,eged,ised,aged,oined,ated,used,dged,doned¦4:ntied,efited,uaked,caded,fired,roped,halled,roked,himed,culed,tared,lared,tuted,uared,routed,pited,naked,miled,houted,helled,hared,cored,caled,tired,peated,futed,ciled,called,tined,moted,filed,sided,poned,iloted,honed,lleted,huted,ruled,cured,named,preted,vaded,sured,talled,haled,peded,gined,nited,uided,ramed,feited,laked,gured,ctored,unged,pired,cuted,voked,eloped,ralled,rined,coded,icited,vided,uaded,voted,mined,sired,noted,lined,nselled,luted,jured,fided,puted,piled,pared,olored,cided,hoked,enged,tured,geoned,cotted,lamed,uiled,waited,udited,anged,luded,mired,uired,raded¦5:modelled,izzled,eleted,umpeted,ailored,rseded,treated,eduled,ecited,rammed,eceded,atrolled,nitored,basted,twined,itialled,ncited,gnored,ploded,xcited,nrolled,namelled,plored,efeated,redited,ntrolled,nfined,pleted,llided,lcined,eathed,ibuted,lloted,dhered,cceded¦3ad:sled¦2aw:drew¦2ot:hot¦2ke:made¦2ow:hrew,grew¦2ose:hose¦2d:ilt¦2in:egan¦1un:ran¦1ink:hought¦1ick:tuck¦1ike:ruck¦1eak:poke,nuck¦1it:pat¦1o:did¦1ow:new¦1ake:woke¦go:went",rev:"3:rst,hed,hut,cut,set¦4:tbid¦5:dcast,eread,pread,erbid¦ought:uy,eek¦1ied:ny,ly,dy,ry,fy,py,vy,by,ty,cy¦1ung:ling,ting,wing¦1pt:eep¦1ank:rink¦1ore:bear,wear¦1ave:give¦1oze:reeze¦1ound:rind,wind¦1ook:take,hake¦1aw:see¦1old:sell¦1ote:rite¦1ole:teal¦1unk:tink¦1am:wim¦1ay:lie¦1ood:tand¦1eld:hold¦2d:he,ge,re,le,leed,ne,reed,be,ye,lee,pe,we¦2ed:dd,oy,or,ey,gg,rr,us,ew,to¦2ame:ecome,rcome¦2ped:ap¦2ged:ag,og,ug,eg¦2bed:ub,ab,ib,ob¦2lt:neel¦2id:pay¦2ang:pring¦2ove:trive¦2med:um¦2ode:rride¦2at:ysit¦3ted:mit,hat,mat,lat,pot,rot,bat¦3ed:low,end,tow,und,ond,eem,lay,cho,dow,xit,eld,ald,uld,law,lel,eat,oll,ray,ank,fin,oam,out,how,iek,tay,haw,ait,vet,say,cay,bow¦3d:ste,ede,ode,ete,ree,ude,ame,oke,ote,ime,ute,ade¦3red:lur,cur,pur,car¦3ped:hop,rop,uip,rip,lip,tep,top¦3ded:bed,rod,kid¦3ade:orbid¦3led:uel¦3ned:lan,can,kin,pan,tun¦3med:rim,lim¦4ted:quit,llot¦4ed:pear,rrow,rand,lean,mand,anel,pand,reet,link,abel,evel,imit,ceed,ruit,mind,peal,veal,hool,head,pell,well,mell,uell,band,hear,weak¦4led:nnel,qual,ebel,ivel¦4red:nfer,efer,sfer¦4n:sake,trew¦4d:ntee¦4ded:hred¦4ned:rpin¦5ed:light,nceal,right,ndear,arget,hread,eight,rtial,eboot¦5d:edite,nvite¦5ted:egret¦5led:ravel",ex:"2:been,upped¦3:added,aged,aided,aimed,aired,bid,died,dyed,egged,erred,eyed,fit,gassed,hit,lied,owed,pent,pied,tied,used,vied,oiled,outed,banned,barred,bet,canned,cut,dipped,donned,ended,feed,inked,jarred,let,manned,mowed,netted,padded,panned,pitted,popped,potted,put,set,sewn,sowed,tanned,tipped,topped,vowed,weed,bowed,jammed,binned,dimmed,hopped,mopped,nodded,pinned,rigged,sinned,towed,vetted¦4:ached,baked,baled,boned,bored,called,caned,cared,ceded,cited,coded,cored,cubed,cured,dared,dined,edited,exited,faked,fared,filed,fined,fired,fuelled,gamed,gelled,hired,hoped,joked,lined,mined,named,noted,piled,poked,polled,pored,pulled,reaped,roamed,rolled,ruled,seated,shed,sided,timed,tolled,toned,voted,waited,walled,waned,winged,wiped,wired,zoned,yelled,tamed,lubed,roped,faded,mired,caked,honed,banged,culled,heated,raked,welled,banded,beat,cast,cooled,cost,dealt,feared,folded,footed,handed,headed,heard,hurt,knitted,landed,leaked,leapt,linked,meant,minded,molded,neared,needed,peaked,plodded,plotted,pooled,quit,read,rooted,sealed,seeded,seeped,shipped,shunned,skimmed,slammed,sparred,stemmed,stirred,suited,thinned,twinned,swayed,winked,dialed,abutted,blotted,fretted,healed,heeded,peeled,reeled¦5:basted,cheated,equalled,eroded,exiled,focused,opined,pleated,primed,quoted,scouted,shored,sloped,smoked,sniped,spelled,spouted,routed,staked,stored,swelled,tasted,treated,wasted,smelled,dwelled,honored,prided,quelled,eloped,scared,coveted,sweated,breaded,cleared,debuted,deterred,freaked,modeled,pleaded,rebutted,speeded¦6:anchored,defined,endured,impaled,invited,refined,revered,strolled,cringed,recast,thrust,unfolded¦7:authored,combined,competed,conceded,convened,excreted,extruded,redefined,restored,secreted,rescinded,welcomed¦8:expedited,infringed¦9:interfered,intervened,persevered¦10:contravened¦eat:ate¦is:was¦go:went¦are:were¦3d:bent,lent,rent,sent¦3e:bit,fled,hid,lost¦3ed:bled,bred¦2ow:blew,grew¦1uy:bought¦2tch:caught¦1o:did¦1ive:dove,gave¦2aw:drew¦2ed:fed¦2y:flew,laid,paid,said¦1ight:fought¦1et:got¦2ve:had¦1ang:hung¦2ad:led¦2ght:lit¦2ke:made¦2et:met¦1un:ran¦1ise:rose¦1it:sat¦1eek:sought¦1each:taught¦1ake:woke,took¦1eave:wove¦2ise:arose¦1ear:bore,tore,wore¦1ind:bound,found,wound¦2eak:broke¦2ing:brought,wrung¦1ome:came¦2ive:drove¦1ig:dug¦1all:fell¦2el:felt¦4et:forgot¦1old:held¦2ave:left¦1ing:rang,sang¦1ide:rode¦1ink:sank¦1ee:saw¦2ine:shone¦4e:slid¦1ell:sold,told¦4d:spent¦2in:spun¦1in:won"}),ms=hs(rs),ps=hs(ns),fs=hs(as),bs=us(gs),vs=us(ms),ys=us(ps),ws=us(fs),ks=hs(ts),Ps=hs(os);var As={fromPast:gs,fromPresent:ms,fromGerund:ps,fromParticiple:fs,toPast:bs,toPresent:vs,toGerund:ys,toParticiple:ws,toComparative:ks,toSuperlative:Ps,fromComparative:us(ks),fromSuperlative:us(Ps),adjToNoun:hs(is)},Cs=["academy","administration","agence","agences","agencies","agency","airlines","airways","army","assoc","associates","association","assurance","authority","autorite","aviation","bank","banque","board","boys","brands","brewery","brotherhood","brothers","bureau","cafe","co","caisse","capital","care","cathedral","center","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","corp","council","crew","data","departement","department","departments","design","development","directorate","division","drilling","education","eglise","electric","electricity","energy","ensemble","enterprise","enterprises","entertainment","estate","etat","faculty","faction","federation","financial","fm","foundation","fund","gas","gazette","girls","government","group","guild","herald","holdings","hospital","hotel","hotels","inc","industries","institut","institute","institutes","insurance","international","interstate","investment","investments","investors","journal","laboratory","labs","llc","ltd","limited","machines","magazine","management","marine","marketing","markets","media","memorial","ministere","ministry","military","mobile","motor","motors","musee","museum","news","observatory","office","oil","optical","orchestra","organization","partners","partnership","petrol","petroleum","pharmacare","pharmaceutical","pharmaceuticals","pizza","plc","police","politburo","polytechnic","post","power","press","productions","quartet","radio","reserve","resources","restaurant","restaurants","savings","school","securities","service","services","societe","subsidiary","society","sons","subcommittee","syndicat","systems","telecommunications","telegraph","television","times","tribunal","tv","union","university","utilities","workers"].reduce(((e,t)=>(e[t]=!0,e)),{}),js=["atoll","basin","bay","beach","bluff","bog","camp","canyon","canyons","cape","cave","caves","cliffs","coast","cove","coves","crater","creek","desert","dune","dunes","escarpment","estuary","falls","fjord","fjords","forest","forests","glacier","gorge","gorges","gulf","gully","highland","hill","hills","inlet","island","islands","isthmus","knoll","lagoon","lake","marsh","marshes","mount","mountain","mountains","narrows","peninsula","plains","plateau","pond","rapids","ravine","reef","reefs","ridge","river","rivers","sandhill","shoal","shore","shoreline","shores","strait","straits","stream","swamp","tombolo","trail","trails","trench","valley","vallies","volcano","waterfall","watershed","wetland","woods","burough","county","district","municipality","prefecture","province","region","reservation","state","territory","borough","metropolis","downtown","uptown","midtown","city","town","township","hamlet","country","kingdom","enclave","neighbourhood","neighborhood","kingdom","ward","zone","airport","amphitheater","arch","arena","auditorium","bar","barn","basilica","battlefield","bridge","building","castle","centre","coliseum","cineplex","complex","dam","farm","field","fort","garden","gardens","gymnasium","hall","house","levee","library","memorial","monument","museum","gallery","palace","pillar","pits","plantation","playhouse","quarry","sportsfield","sportsplex","stadium","terrace","terraces","theater","tower","park","parks","site","raceway","sportsplex","st","street","rd","road","crescent","cr","way","tr","terrace","avenue","ave"].reduce(((e,t)=>(e[t]=!0,e)),{}),Ns=[[/([^v])ies$/i,"$1y"],[/(ise)s$/i,"$1"],[/(kn|[^o]l|w)ives$/i,"$1ife"],[/^((?:ca|e|ha|(?:our|them|your)?se|she|wo)l|lea|loa|shea|thie)ves$/i,"$1f"],[/^(dwar|handkerchie|hoo|scar|whar)ves$/i,"$1f"],[/(antenn|formul|nebul|vertebr|vit)ae$/i,"$1a"],[/(octop|vir|radi|nucle|fung|cact|stimul)(i)$/i,"$1us"],[/(buffal|tomat|tornad)(oes)$/i,"$1o"],[/(ause)s$/i,"$1"],[/(ease)s$/i,"$1"],[/(ious)es$/i,"$1"],[/(ouse)s$/i,"$1"],[/(ose)s$/i,"$1"],[/(..ase)s$/i,"$1"],[/(..[aeiu]s)es$/i,"$1"],[/(vert|ind|cort)(ices)$/i,"$1ex"],[/(matr|append)(ices)$/i,"$1ix"],[/([xo]|ch|ss|sh)es$/i,"$1"],[/men$/i,"man"],[/(n)ews$/i,"$1ews"],[/([ti])a$/i,"$1um"],[/([^aeiouy]|qu)ies$/i,"$1y"],[/(s)eries$/i,"$1eries"],[/(m)ovies$/i,"$1ovie"],[/(cris|ax|test)es$/i,"$1is"],[/(alias|status)es$/i,"$1"],[/(ss)$/i,"$1"],[/(ic)s$/i,"$1"],[/s$/i,""]],Is=function(e,t){const{irregularPlurals:n}=t.two;let a=(r=n,Object.keys(r).reduce(((e,t)=>(e[r[t]]=t,e)),{}));var r;if(a.hasOwnProperty(e))return a[e];for(let t=0;t(Ds[t].forEach((n=>e[n]=t)),e)),{});var Gs=Ds,Ts=function(e){let t=e.substring(e.length-3);if(!0===Gs.hasOwnProperty(t))return Gs[t];let n=e.substring(e.length-2);return!0===Gs.hasOwnProperty(n)?Gs[n]:"s"===e.substring(e.length-1)?"PresentTense":null};const xs={are:"be",were:"be",been:"be",is:"be",am:"be",was:"be",be:"be",being:"be"};var Es=function(e,t,n){const{fromPast:a,fromPresent:r,fromGerund:o,fromParticiple:i}=t.two.models;let{prefix:s,verb:l,particle:u}=function(e,t){let n="",a={};t.one&&t.one.prefixes&&(a=t.one.prefixes);let[r,o]=e.split(/ /);return o&&!0===a[r]&&(n=r,r=o,o=""),{prefix:n,verb:r,particle:o}}(e,t),c="";if(n||(n=Ts(e)),xs.hasOwnProperty(e))c=xs[e];else if("Participle"===n)c=ss(l,i);else if("PastTense"===n)c=ss(l,a);else if("PresentTense"===n)c=ss(l,r);else{if("Gerund"!==n)return e;c=ss(l,o)}return u&&(c+=" "+u),s&&(c=s+" "+c),c},Fs=function(e,t){const{toPast:n,toPresent:a,toGerund:r,toParticiple:o}=t.two.models;if("be"===e)return{Infinitive:e,Gerund:"being",PastTense:"was",PresentTense:"is"};let[i,s]=(e=>/ /.test(e)?e.split(/ /):[e,""])(e),l={Infinitive:i,PastTense:ss(i,n),PresentTense:ss(i,a),Gerund:ss(i,r),FutureTense:"will "+i},u=ss(i,o);if(u!==e&&u!==l.PastTense){let n=t.one.lexicon||{};"Participle"!==n[u]&&"Adjective"!==n[u]||("play"===e&&(u="played"),l.Participle=u)}return s&&Object.keys(l).forEach((e=>{l[e]+=" "+s})),l},Os={toInfinitive:Es,conjugate:Fs,all:function(e,t){let n=Fs(e,t);return delete n.FutureTense,Object.values(n).filter((e=>e))}};const zs=function(e,t){const n=t.two.models.toSuperlative;return ss(e,n)},Vs=function(e,t){const n=t.two.models.toComparative;return ss(e,n)};var Ls=function(e="",t=[]){const n=e.length;for(let a=n<=6?n-1:6;a>=1;a-=1){let r=e.substring(n-a,e.length);if(!0===t[r.length].hasOwnProperty(r))return e.slice(0,n-a)+t[r.length][r]}return null};const Ms="ically",Bs=new Set(["analyt"+Ms,"chem"+Ms,"class"+Ms,"clin"+Ms,"crit"+Ms,"ecolog"+Ms,"electr"+Ms,"empir"+Ms,"frant"+Ms,"grammat"+Ms,"ident"+Ms,"ideolog"+Ms,"log"+Ms,"mag"+Ms,"mathemat"+Ms,"mechan"+Ms,"med"+Ms,"method"+Ms,"method"+Ms,"mus"+Ms,"phys"+Ms,"phys"+Ms,"polit"+Ms,"pract"+Ms,"rad"+Ms,"satir"+Ms,"statist"+Ms,"techn"+Ms,"technolog"+Ms,"theoret"+Ms,"typ"+Ms,"vert"+Ms,"whims"+Ms]),Ss=[null,{},{ly:""},{ily:"y",bly:"ble",ply:"ple"},{ally:"al",rply:"rp"},{ually:"ual",ially:"ial",cally:"cal",eally:"eal",rally:"ral",nally:"nal",mally:"mal",eeply:"eep",eaply:"eap"},{ically:"ic"}],$s=new Set(["early","only","hourly","daily","weekly","monthly","yearly","mostly","duly","unduly","especially","undoubtedly","conversely","namely","exceedingly","presumably","accordingly","overly","best","latter","little","long","low"]),Js={wholly:"whole",fully:"full",truly:"true",gently:"gentle",singly:"single",customarily:"customary",idly:"idle",publically:"public",quickly:"quick",superbly:"superb",cynically:"cynical",well:"good"},Ws=[null,{y:"ily"},{ly:"ly",ic:"ically"},{ial:"ially",ual:"ually",tle:"tly",ble:"bly",ple:"ply",ary:"arily"},{},{},{}],Ks={cool:"cooly",whole:"wholly",full:"fully",good:"well",idle:"idly",public:"publicly",single:"singly",special:"especially"};var qs=function(e){if(Ks.hasOwnProperty(e))return Ks[e];let t=Ls(e,Ws);return t||(t=e+"ly"),t},Us={toSuperlative:zs,toComparative:Vs,toAdverb:qs,toNoun:function(e,t){const n=t.two.models.adjToNoun;return ss(e,n)},fromAdverb:function(e){return e.endsWith("ly")?Bs.has(e)?e.replace(/ically/,"ical"):$s.has(e)?null:Js.hasOwnProperty(e)?Js[e]:Ls(e,Ss)||e:null},fromSuperlative:function(e,t){const n=t.two.models.fromSuperlative;return ss(e,n)},fromComparative:function(e,t){const n=t.two.models.fromComparative;return ss(e,n)},all:function(e,t){let n=[e];return n.push(zs(e,t)),n.push(Vs(e,t)),n.push(qs(e)),n=n.filter((e=>e)),n=new Set(n),Array.from(n)}},Rs={noun:Hs,verb:Os,adjective:Us},Qs={Singular:(e,t,n,a)=>{let r=a.one.lexicon,o=n.two.transform.noun.toPlural(e,a);r[o]||(t[o]=t[o]||"Plural")},Actor:(e,t,n,a)=>{let r=a.one.lexicon,o=n.two.transform.noun.toPlural(e,a);r[o]||(t[o]=t[o]||["Plural","Actor"])},Comparable:(e,t,n,a)=>{let r=a.one.lexicon,{toSuperlative:o,toComparative:i}=n.two.transform.adjective,s=o(e,a);r[s]||(t[s]=t[s]||"Superlative");let l=i(e,a);r[l]||(t[l]=t[l]||"Comparative"),t[e]="Adjective"},Demonym:(e,t,n,a)=>{let r=n.two.transform.noun.toPlural(e,a);t[r]=t[r]||["Demonym","Plural"]},Infinitive:(e,t,n,a)=>{let r=a.one.lexicon,o=n.two.transform.verb.conjugate(e,a);Object.entries(o).forEach((e=>{r[e[1]]||t[e[1]]||(t[e[1]]=e[0])}))},PhrasalVerb:(e,t,n,a)=>{let r=a.one.lexicon;t[e]=["PhrasalVerb","Infinitive"];let o=a.one._multiCache,[i,s]=e.split(" ");r[i]||(t[i]=t[i]||"Infinitive");let l=n.two.transform.verb.conjugate(i,a);delete l.FutureTense,Object.entries(l).forEach((e=>{if("Actor"===e[0]||""===e[1])return;t[e[1]]||r[e[1]]||(t[e[1]]=e[0]),o[e[1]]=!0;let n=e[1]+" "+s;t[n]=t[n]||[e[0],"PhrasalVerb"]}))},Multiple:(e,t)=>{t[e]=["Multiple","Cardinal"],t[e+"th"]=["Multiple","Ordinal"],t[e+"ths"]=["Multiple","Fraction"]},Cardinal:(e,t)=>{t[e]=["TextValue","Cardinal"]},Ordinal:(e,t)=>{t[e]=["TextValue","Ordinal"],t[e+"s"]=["TextValue","Fraction"]},Place:(e,t)=>{t[e]=["Place","ProperNoun"]},Region:(e,t)=>{t[e]=["Region","ProperNoun"]}},Xs=function(e,t){const{methods:n,model:a}=t;let r={},o={};return Object.keys(e).forEach((t=>{let i=e[t],s=(t=(t=t.toLowerCase().trim()).replace(/'s\b/,"")).split(/ /);s.length>1&&(o[s[0]]=!0),!0===Qs.hasOwnProperty(i)&&Qs[i](t,r,n,a),r[t]=r[t]||i})),delete r[""],delete r.null,delete r[" "],{lex:r,_multi:o}},Zs=function(e){const t=/[,:;]/;let n=[];return e.forEach((e=>{let a=0;e.forEach(((r,o)=>{t.test(r.post)&&function(e,t){const n=/^[0-9]+$/;let a=e[t];if(!a)return!1;const r=new Set(["may","april","august","jan"]);if("like"===a.normal||r.has(a.normal))return!1;if(a.tags.has("Place")||a.tags.has("Date"))return!1;if(e[t-1]){let n=e[t-1];if(n.tags.has("Date")||r.has(n.normal))return!1;if(n.tags.has("Adjective")||a.tags.has("Adjective"))return!1}let o=a.normal;return 1!==o.length&&2!==o.length&&4!==o.length||!n.test(o)}(e,o+1)&&(n.push(e.slice(a,o+1)),a=o+1)})),ae.endsWith(t))):"s"===t&&!el.find((t=>e.endsWith(t)))},nl={two:{quickSplit:Zs,expandLexicon:Xs,transform:Rs,looksPlural:tl}},al=function(e){const{irregularPlurals:t}=e.two,{lexicon:n}=e.one;return Object.entries(t).forEach((e=>{n[e[0]]=n[e[0]]||"Singular",n[e[1]]=n[e[1]]||"Plural"})),e};let rl={one:{lexicon:{}},two:{models:As}};const ol={"Actor|Verb":"Actor","Adj|Gerund":"Adjective","Adj|Noun":"Adjective","Adj|Past":"Adjective","Adj|Present":"Adjective","Noun|Verb":"Singular","Noun|Gerund":"Gerund","Person|Noun":"Noun","Person|Date":"Month","Person|Verb":"FirstName","Person|Place":"Person","Person|Adj":"Comparative","Plural|Verb":"Plural","Unit|Noun":"Noun"},il=function(e,t){const n={model:t,methods:nl};let{lex:a,_multi:r}=nl.two.expandLexicon(e,n);return Object.assign(t.one.lexicon,a),Object.assign(t.one._multiCache,r),t},sl=function(e,t,n){let a=Fs(e,rl);t[a.PastTense]=t[a.PastTense]||"PastTense",t[a.Gerund]=t[a.Gerund]||"Gerund",!0===n&&(t[a.PresentTense]=t[a.PresentTense]||"PresentTense")},ll=function(e,t,n){let a=zs(e,n);t[a]=t[a]||"Superlative";let r=Vs(e,n);t[r]=t[r]||"Comparative"},ul=function(e,t){let n={};const a=t.one.lexicon;return Object.keys(e).forEach((r=>{const o=e[r];if(n[r]=ol[o],"Noun|Verb"!==o&&"Person|Verb"!==o&&"Actor|Verb"!==o||sl(r,a,!1),"Adj|Present"===o&&(sl(r,a,!0),ll(r,a,t)),"Person|Adj"===o&&ll(r,a,t),"Adj|Gerund"===o||"Noun|Gerund"===o){let e=Es(r,rl,"Gerund");a[e]||(n[e]="Infinitive")}if("Noun|Gerund"!==o&&"Adj|Noun"!==o&&"Person|Noun"!==o||function(e,t,n){let a=Fo(e,n);t[a]=t[a]||"Plural"}(r,a,t),"Adj|Past"===o){let e=Es(r,rl,"PastTense");a[e]||(n[e]="Infinitive")}})),t=il(n,t)};var cl=function(e){return e=function(e,t){return Object.keys(e).forEach((n=>{"Uncountable"===e[n]&&(t.two.uncountable[n]=!0,e[n]="Uncountable")})),t}((e=il(e.one.lexicon,e)).one.lexicon,e),e=ul(e.two.switches,e),e=al(e)};let dl={one:{_multiCache:{},lexicon:zo},two:{irregularPlurals:ko,models:As,suffixPatterns:Oi,prefixPatterns:Mi,endsWith:Zi,neighbours:es,regexNormal:[[/^[\w.]+@[\w.]+\.[a-z]{2,3}$/,"Email"],[/^(https?:\/\/|www\.)+\w+\.[a-z]{2,3}/,"Url","http.."],[/^[a-z0-9./].+\.(com|net|gov|org|ly|edu|info|biz|dev|ru|jp|de|in|uk|br|io|ai)/,"Url",".com"],[/^[PMCE]ST$/,"Timezone","EST"],[/^ma?c'.*/,"LastName","mc'neil"],[/^o'[drlkn].*/,"LastName","o'connor"],[/^ma?cd[aeiou]/,"LastName","mcdonald"],[/^(lol)+[sz]$/,"Expression","lol"],[/^wo{2,}a*h?$/,"Expression","wooah"],[/^(hee?){2,}h?$/,"Expression","hehe"],[/^(un|de|re)\\-[a-z\u00C0-\u00FF]{2}/,"Verb","un-vite"],[/^(m|k|cm|km)\/(s|h|hr)$/,"Unit","5 k/m"],[/^(ug|ng|mg)\/(l|m3|ft3)$/,"Unit","ug/L"]],regexText:[[/^#[\p{Number}_]*\p{Letter}/u,"HashTag"],[/^@\w{2,}$/,"AtMention"],[/^([A-Z]\.){2}[A-Z]?/i,["Acronym","Noun"],"F.B.I"],[/.{3}[lkmnp]in['‘’‛‵′`´]$/,"Gerund","chillin'"],[/.{4}s['‘’‛‵′`´]$/,"Possessive","flanders'"],[/^[\p{Emoji_Presentation}\p{Extended_Pictographic}]/u,"Emoji","emoji-class"]],regexNumbers:[[/^@1?[0-9](am|pm)$/i,"Time","3pm"],[/^@1?[0-9]:[0-9]{2}(am|pm)?$/i,"Time","3:30pm"],[/^'[0-9]{2}$/,"Year"],[/^[012]?[0-9](:[0-5][0-9])(:[0-5][0-9])$/,"Time","3:12:31"],[/^[012]?[0-9](:[0-5][0-9])?(:[0-5][0-9])? ?(am|pm)$/i,"Time","1:12pm"],[/^[012]?[0-9](:[0-5][0-9])(:[0-5][0-9])? ?(am|pm)?$/i,"Time","1:12:31pm"],[/^[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}/i,"Date","iso-date"],[/^[0-9]{1,4}-[0-9]{1,2}-[0-9]{1,4}$/,"Date","iso-dash"],[/^[0-9]{1,4}\/[0-9]{1,2}\/([0-9]{4}|[0-9]{2})$/,"Date","iso-slash"],[/^[0-9]{1,4}\.[0-9]{1,2}\.[0-9]{1,4}$/,"Date","iso-dot"],[/^[0-9]{1,4}-[a-z]{2,9}-[0-9]{1,4}$/i,"Date","12-dec-2019"],[/^utc ?[+-]?[0-9]+$/,"Timezone","utc-9"],[/^(gmt|utc)[+-][0-9]{1,2}$/i,"Timezone","gmt-3"],[/^[0-9]{3}-[0-9]{4}$/,"PhoneNumber","421-0029"],[/^(\+?[0-9][ -])?[0-9]{3}[ -]?[0-9]{3}-[0-9]{4}$/,"PhoneNumber","1-800-"],[/^[-+]?\p{Currency_Symbol}[-+]?[0-9]+(,[0-9]{3})*(\.[0-9]+)?([kmb]|bn)?\+?$/u,["Money","Value"],"$5.30"],[/^[-+]?[0-9]+(,[0-9]{3})*(\.[0-9]+)?\p{Currency_Symbol}\+?$/u,["Money","Value"],"5.30£"],[/^[-+]?[$£]?[0-9]([0-9,.])+(usd|eur|jpy|gbp|cad|aud|chf|cny|hkd|nzd|kr|rub)$/i,["Money","Value"],"$400usd"],[/^[-+]?[0-9]+(,[0-9]{3})*(\.[0-9]+)?\+?$/,["Cardinal","NumericValue"],"5,999"],[/^[-+]?[0-9]+(,[0-9]{3})*(\.[0-9]+)?(st|nd|rd|r?th)$/,["Ordinal","NumericValue"],"53rd"],[/^\.[0-9]+\+?$/,["Cardinal","NumericValue"],".73th"],[/^[-+]?[0-9]+(,[0-9]{3})*(\.[0-9]+)?%\+?$/,["Percent","Cardinal","NumericValue"],"-4%"],[/^\.[0-9]+%$/,["Percent","Cardinal","NumericValue"],".3%"],[/^[0-9]{1,4}\/[0-9]{1,4}(st|nd|rd|th)?s?$/,["Fraction","NumericValue"],"2/3rds"],[/^[0-9.]{1,3}[a-z]{0,2}[-–—][0-9]{1,3}[a-z]{0,2}$/,["Value","NumberRange"],"3-4"],[/^[0-9]{1,2}(:[0-9][0-9])?(am|pm)? ?[-–—] ?[0-9]{1,2}(:[0-9][0-9])?(am|pm)$/,["Time","NumberRange"],"3-4pm"],[/^[0-9.]+([a-z°]{1,4})$/,"NumericValue","9km"]],switches:Vo,clues:wi,uncountable:{},orgWords:Cs,placeWords:js}};dl=cl(dl);var hl=dl,gl=function(e,t,n,a){const r=a.methods.one.setTag;if(0===t&&e.length>=3){const t=/:/;if(e[0].post.match(t)){let t=e[1];if(t.tags.has("Value")||t.tags.has("Email")||t.tags.has("PhoneNumber"))return;r([e[0]],"Expression",a,null,"2-punct-colon''")}}},ml=function(e,t,n,a){const r=a.methods.one.setTag;"-"===e[t].post&&e[t+1]&&r([e[t],e[t+1]],"Hyphenated",a,null,"1-punct-hyphen''")};const pl=/^(under|over|mis|re|un|dis|semi)-?/;var fl=function(e,t,n){const a=n.two.switches;let r=e[t];if(a.hasOwnProperty(r.normal))r.switch=a[r.normal];else if(pl.test(r.normal)){let e=r.normal.replace(pl,"");e.length>3&&a.hasOwnProperty(e)&&(r.switch=a[e])}},bl=function(e,t,n){if(!t||0===t.length)return;const a="undefined"!=typeof process&&process.env?process.env:self.env||{};a&&a.DEBUG_TAGS&&((e,t,n="")=>{let a=e.text||"["+e.implicit+"]";var r;"string"!=typeof t&&t.length>2&&(t=t.slice(0,2).join(", #")+" +"),t="string"!=typeof t?t.join(", #"):t,console.log(` ${(r=a,""+r+"").padEnd(24)} → #${t.padEnd(22)} ${(e=>""+e+"")(n)}`)})(e,t,n),e.tags=e.tags||new Set,"string"==typeof t?e.tags.add(t):t.forEach((t=>e.tags.add(t)))};const vl=["Acronym","Abbreviation","ProperNoun","Uncountable","Possessive","Pronoun","Activity","Honorific","Month"];var yl=function(e,t,n){let a=e[t],r=Array.from(a.tags);for(let e=0;ee.tags.has(t)))||(tl(e.normal)?bl(e,"Plural","3-plural-guess"):bl(e,"Singular","3-singular-guess"))}(a),function(e){let t=e.tags;if(t.has("Verb")&&1===t.size){let t=Ts(e.normal);t&&bl(e,t,"3-verb-tense-guess")}}(a)};const wl=/^\p{Lu}[\p{Ll}'’]/u,kl=/[0-9]/,Pl=["Date","Month","WeekDay","Unit","Expression"],Al=/[IVX]/,Cl=/^[IVXLCDM]{2,}$/,jl=/^M{0,4}(CM|CD|D?C{0,3})(XC|XL|L?X{0,3})(IX|IV|V?I{0,3})$/,Nl={li:!0,dc:!0,md:!0,dm:!0,ml:!0};var Il=function(e,t,n){let a=e[t];a.index=a.index||[0,0];let r=a.index[1],o=a.text||"";return 0!==r&&!0===wl.test(o)&&!1===kl.test(o)?Pl.find((e=>a.tags.has(e)))||a.pre.match(/["']$/)||"the"===a.normal?null:(yl(e,t,n),a.tags.has("Noun")||a.tags.clear(),bl(a,"ProperNoun","2-titlecase"),!0):o.length>=2&&Cl.test(o)&&Al.test(o)&&jl.test(o)&&!Nl[a.normal]?(bl(a,"RomanNumeral","2-xvii"),!0):null};const Hl=function(e="",t=[]){const n=e.length;let a=7;n<=a&&(a=n-1);for(let r=a;r>1;r-=1){let a=e.substring(n-r,n);if(!0===t[a.length].hasOwnProperty(a))return t[a.length][a]}return null};var Dl=function(e,t,n){let a=e[t];if(0===a.tags.size){let e=Hl(a.normal,n.two.suffixPatterns);if(null!==e)return bl(a,e,"2-suffix"),a.confidence=.7,!0;if(a.implicit&&(e=Hl(a.implicit,n.two.suffixPatterns),null!==e))return bl(a,e,"2-implicit-suffix"),a.confidence=.7,!0}return null};const Gl=/['‘’‛‵′`´]/,Tl=function(e,t){for(let n=0;nn-3&&(a=n-3);for(let n=a;n>2;n-=1){let a=e.substring(0,n);if(!0===t[a.length].hasOwnProperty(a))return t[a.length][a]}return null}(a.normal,n.two.prefixPatterns);if(null!==e)return bl(a,e,"2-prefix"),a.confidence=.5,!0}return null};const Fl=new Set(["in","on","by","until","for","to","during","throughout","through","within","before","after","of","this","next","last","circa","around","post","pre","budget","classic","plan","may"]),Ol=function(e){if(!e)return!1;let t=e.normal||e.implicit;return!!Fl.has(t)||!!(e.tags.has("Date")||e.tags.has("Month")||e.tags.has("WeekDay")||e.tags.has("Year"))||!!e.tags.has("ProperNoun")},zl=function(e){return!(!e||!e.tags.has("Ordinal")&&!(e.tags.has("Cardinal")&&e.normal.length<3)&&"is"!==e.normal&&"was"!==e.normal)},Vl=function(e){return e&&(e.tags.has("Date")||e.tags.has("Month")||e.tags.has("WeekDay")||e.tags.has("Year"))};var Ll=function(e,t){const n=e[t];if(n.tags.has("NumericValue")&&n.tags.has("Cardinal")&&4===n.normal.length){let a=Number(n.normal);if(a&&!isNaN(a)&&a>1400&&a<2100){let r=e[t-1],o=e[t+1];if(Ol(r)||Ol(o))return bl(n,"Year","2-tagYear");if(a>=1920&&a<2025){if(zl(r)||zl(o))return bl(n,"Year","2-tagYear-close");if(Vl(e[t-2])||Vl(e[t+2]))return bl(n,"Year","2-tagYear-far");if(r&&(r.tags.has("Determiner")||r.tags.has("Possessive"))&&o&&o.tags.has("Noun")&&!o.tags.has("Plural"))return bl(n,"Year","2-tagYear-noun")}}}return null},Ml=function(e,t,n,a){const r=a.methods.one.setTag,o=e[t],i=["PastTense","PresentTense","Auxiliary","Modal","Particle"];o.tags.has("Verb")&&(i.find((e=>o.tags.has(e)))||r([o],"Infinitive",a,null,"2-verb-type''"))};const Bl=/^[A-Z]('s|,)?$/,Sl=/^[A-Z-]+$/,$l=/^[A-Z]+s$/,Jl=/([A-Z]\.)+[A-Z]?,?$/,Wl=/[A-Z]{2,}('s|,)?$/,Kl=/([a-z]\.)+[a-z]\.?$/,ql={I:!0,A:!0},Ul={la:!0,ny:!0,us:!0,dc:!0,gb:!0};var Rl=function(e,t,n){let a=e[t];return a.tags.has("RomanNumeral")||a.tags.has("Acronym")?null:function(e,t){let n=e.text;if(!1===Sl.test(n)){if(!(n.length>3&&!0===$l.test(n)))return!1;n=n.replace(/s$/,"")}return!(n.length>5||ql.hasOwnProperty(n)||t.one.lexicon.hasOwnProperty(e.normal)||!0!==Jl.test(n)&&!0!==Kl.test(n)&&!0!==Bl.test(n)&&!0!==Wl.test(n))}(a,n)?(a.tags.clear(),bl(a,["Acronym","Noun"],"3-no-period-acronym"),!0===Ul[a.normal]&&bl(a,"Place","3-place-acronym"),!0===$l.test(a.text)&&bl(a,"Plural","3-plural-acronym"),!0):!ql.hasOwnProperty(a.text)&&Bl.test(a.text)?(a.tags.clear(),bl(a,["Acronym","Noun"],"3-one-letter-acronym"),!0):a.tags.has("Organization")&&a.text.length<=3?(bl(a,"Acronym","3-org-acronym"),!0):a.tags.has("Organization")&&Sl.test(a.text)&&a.text.length<=6?(bl(a,"Acronym","3-titlecase-acronym"),!0):null};const Ql=function(e,t){if(!e)return null;let n=t.find((t=>e.normal===t[0]));return n?n[1]:null},Xl=function(e,t){if(!e)return null;let n=t.find((t=>e.tags.has(t[0])));return n?n[1]:null};var Zl=function(e,t,n){const{leftTags:a,leftWords:r,rightWords:o,rightTags:i}=n.two.neighbours;let s=e[t];if(0===s.tags.size){let l=null;if(l=l||Ql(e[t-1],r),l=l||Ql(e[t+1],o),l=l||Xl(e[t-1],a),l=l||Xl(e[t+1],i),l)return bl(s,l,"3-[neighbour]"),yl(e,t,n),e[t].confidence=.2,!0}return null};const _l=function(e,t,n){return!!e&&!e.tags.has("FirstName")&&!e.tags.has("Place")&&(!!(e.tags.has("ProperNoun")||e.tags.has("Organization")||e.tags.has("Acronym"))||!(n||(a=e.text,!/^\p{Lu}[\p{Ll}'’]/u.test(a)))&&(0!==t||e.tags.has("Singular")));var a};var Yl=function(e,t,n,a){const r=n.model.two.orgWords,o=n.methods.one.setTag;let i=e[t];if(!0===r[i.machine||i.normal]&&_l(e[t-1],t-1,a)){o([e[t]],"Organization",n,null,"3-[org-word]");for(let r=t;r>=0&&_l(e[r],r,a);r-=1)o([e[r]],"Organization",n,null,"3-[org-word]")}return null};const eu=/'s$/,tu=new Set(["athletic","city","community","eastern","federal","financial","great","historic","historical","local","memorial","municipal","national","northern","provincial","southern","state","western"]),nu=new Set(["center","centre","way","range","bar","bridge","field","pit"]),au=function(e,t,n){if(!e)return!1;let a=e.tags;return!(a.has("Organization")||a.has("Possessive")||eu.test(e.normal))&&(!(!a.has("ProperNoun")&&!a.has("Place"))||!(n||(r=e.text,!/^\p{Lu}[\p{Ll}'’]/u.test(r)))&&(0!==t||a.has("Singular")));var r};var ru=function(e,t,n,a){const r=n.model.two.placeWords,o=n.methods.one.setTag;let i=e[t],s=i.machine||i.normal;if(!0===r[s]){for(let r=t-1;r>=0;r-=1)if(!tu.has(e[r].normal)){if(!au(e[r],r,a))break;o(e.slice(r,t+1),"Place",n,null,"3-[place-of-foo]")}if(nu.has(s))return!1;for(let r=t+1;re[t].tags.has("ProperNoun")&&iu.test(e[t].text)?"Noun":null,lu=(e,t,n)=>0!==t||e[1]?null:n,uu={"Adj|Gerund":(e,t)=>su(e,t),"Adj|Noun":(e,t)=>su(e,t)||function(e,t){return!e[t+1]&&e[t-1]&&e[t-1].tags.has("Determiner")?"Noun":null}(e,t),"Actor|Verb":(e,t)=>su(e,t),"Adj|Past":(e,t)=>su(e,t),"Adj|Present":(e,t)=>su(e,t),"Noun|Gerund":(e,t)=>su(e,t),"Noun|Verb":(e,t)=>t>0&&su(e,t)||lu(e,t,"Infinitive"),"Plural|Verb":(e,t)=>su(e,t)||lu(e,t,"PresentTense")||function(e,t,n){return 0===t&&e.length>3?n:null}(e,t,"Plural"),"Person|Noun":(e,t)=>su(e,t),"Person|Verb":(e,t)=>0!==t?su(e,t):null,"Person|Adj":(e,t)=>0===t&&e.length>1||su(e,t)?"Person":null};var cu=uu;const du="undefined"!=typeof process&&process.env?process.env:self.env||{},hu=/^(under|over|mis|re|un|dis|semi)-?/,gu=(e,t)=>{if(!e||!t)return null;let n=e.normal||e.implicit,a=null;return t.hasOwnProperty(n)&&(a=t[n]),a&&du.DEBUG_TAGS&&console.log(`\n  ↓ - '${n}' `),a},mu=(e,t={},n)=>{if(!e||!t)return null;let a=Array.from(e.tags).sort(((e,t)=>(n[e]?n[e].parents.length:0)>(n[t]?n[t].parents.length:0)?-1:1)),r=a.find((e=>t[e]));return r&&du.DEBUG_TAGS&&console.log(`  ↓ - '${e.normal||e.implicit}' (#${r}) `),r=t[r],r};var pu=function(e,t,n){const a=n.model,r=n.methods.one.setTag,{switches:o,clues:i}=a.two,s=e[t];let l=s.normal||s.implicit||"";if(hu.test(l)&&!o[l]&&(l=l.replace(hu,"")),s.switch){let o=s.switch;if(s.tags.has("Acronym")||s.tags.has("PhrasalVerb"))return;let u=function(e,t,n,a){if(!n)return null;const r=a.one.tagSet;let o=gu(e[t+1],n.afterWords);return o=o||gu(e[t-1],n.beforeWords),o=o||mu(e[t-1],n.beforeTags,r),o=o||mu(e[t+1],n.afterTags,r),o}(e,t,i[o],a);cu[o]&&(u=cu[o](e,t)||u),u?(r([s],u,n,null,`3-[switch] (${o})`),yl(e,t,a)):du.DEBUG_TAGS&&console.log(`\n -> X - '${l}' : (${o}) `)}};const fu={there:!0,this:!0,it:!0,him:!0,her:!0,us:!0};var bu=function(e,t){const n=t.methods.one.setTag,a=t.model.one._multiCache||{};let r=e[0];if(("Noun|Verb"===r.switch||r.tags.has("Infinitive"))&&e.length>=2){if(e.length<4&&!fu[e[1].normal])return;if(!r.tags.has("PhrasalVerb")&&a.hasOwnProperty(r.normal))return;(e[1].tags.has("Noun")||e[1].tags.has("Determiner"))&&(e.slice(1,3).some((e=>e.tags.has("Verb")))&&!r.tags.has("#PhrasalVerb")||n([r],"Imperative",t,null,"3-[imperative]"))}};const vu=function(e){if(e.filter((e=>!e.tags.has("ProperNoun"))).length<=3)return!1;const t=/^[a-z]/;return e.every((e=>!t.test(e.text)))},yu=function(e,t,n,a){for(let r=0;r{gl(e,0,t,n)}))}(r,n,a);let o=t.two.quickSplit(r);for(let e=0;e{let t=e.machine||e.normal||e.text;return t=t.replace(/'s$/,""),t},Plural:(e,t)=>{let n=e.machine||e.normal||e.text;return t.methods.two.transform.noun.toSingular(n,t.model)},Copula:()=>"is",PastTense:(e,t)=>{let n=e.machine||e.normal||e.text;return t.methods.two.transform.verb.toInfinitive(n,t.model,"PastTense")},Gerund:(e,t)=>{let n=e.machine||e.normal||e.text;return t.methods.two.transform.verb.toInfinitive(n,t.model,"Gerund")},PresentTense:(e,t)=>{let n=e.machine||e.normal||e.text;return e.tags.has("Infinitive")?n:t.methods.two.transform.verb.toInfinitive(n,t.model,"PresentTense")},Comparative:(e,t)=>{let n=e.machine||e.normal||e.text;return t.methods.two.transform.adjective.fromComparative(n,t.model)},Superlative:(e,t)=>{let n=e.machine||e.normal||e.text;return t.methods.two.transform.adjective.fromSuperlative(n,t.model)},Adverb:(e,t)=>{const{fromAdverb:n}=t.methods.two.transform.adjective;return n(e.machine||e.normal||e.text)}};var Au=function(e){const t=e.world,n=Object.keys(Pu);e.docs.forEach((e=>{for(let a=0;a{e.forEach((e=>{e.penn=function(e){if(e.tags.has("ProperNoun")&&e.tags.has("Plural"))return"NNPS";if(e.tags.has("Possessive")&&e.tags.has("Pronoun"))return"PRP$";if("there"===e.normal)return"EX";if("to"===e.normal)return"TO";let t=e.tagRank||[];for(let e=0;e{e.implicit=e.normal,e.text="",e.normal=""}));for(let e=0;e{let t=Ou.test(e[0].text);e.forEach(((t,n)=>{t.text=t.implicit||"",delete t.implicit,ne.toUpperCase()))}(e[0].text))})),this.compute("normal"),this}}e.prototype.contractions=function(){let e=this.match("@hasContraction+");return new Contractions(this.document,e.pointer)},e.prototype.contract=Fu},Vu=function(e,t,n){let[a,r]=t;n&&0!==n.length&&(n=n.map(((e,t)=>(e.implicit=e.text,e.machine=e.text,e.pre="",e.post="",e.text="",e.normal="",e.index=[a,r+t],e))),n[0]&&(n[0].pre=e[a][r].pre,n[n.length-1].post=e[a][r].post,n[0].text=e[a][r].text,n[0].normal=e[a][r].normal),e[a].splice(r,1,...n))};const Lu=/'/;var Mu=function(e,t){let n=e[t].normal.split(Lu)[0];if(((e,t)=>e.slice(t+1,t+3).some((e=>e.tags.has("PastTense"))))(e,t))return[n,"has"];if("let"===n)return[n,"us"];if("there"===n){let a=e[t+1];if(a&&a.tags.has("Plural"))return[n,"are"]}return[n,"is"]};const Bu=/'/;var Su=function(e,t){let n=e[t].normal.split(Bu)[0];return"how"===n||"what"===n?[n,"did"]:!0===((e,t)=>!(!e[t+1]||"better"!=e[t+1].normal)||e.slice(t+1,t+3).some((e=>e.tags.has("PastTense"))))(e,t)?[n,"had"]:[n,"would"]},$u=function(e,t){if("ain't"===e[t].normal||"aint"===e[t].normal){if(e[t+1]&&"never"===e[t+1].normal)return["have"];let n=function(e,t){for(let n=t-1;n>=0;n-=1)if(e[n].tags.has("Noun")||e[n].tags.has("Pronoun")||e[n].tags.has("Plural")||e[n].tags.has("Singular"))return e[n];return null}(e,t);if(n){if("we"===n.normal||"they"===n.normal)return["are","not"];if("i"===n.normal)return["am","not"];if(n.tags&&n.tags.has("Plural"))return["are","not"]}return["is","not"]}return[e[t].normal.replace(/n't/,""),"not"]};const Ju={that:!0,there:!0,let:!0,here:!0,everywhere:!0},Wu={in:!0,by:!0,for:!0};var Ku=(e,t)=>{let n=e[t];if(Ju.hasOwnProperty(n.machine||n.normal))return!1;if(n.tags.has("Possessive"))return!0;if(n.tags.has("QuestionWord"))return!1;if("he's"===n.normal||"she's"===n.normal)return!1;let a=e[t+1];if(!a)return!0;if("it's"===n.normal)return!!a.tags.has("#Noun");if(a.tags.has("Verb"))return!!a.tags.has("Infinitive")||!!a.tags.has("PresentTense");if(a.tags.has("Noun")){let e=a.machine||a.normal;return!("here"===e||"there"===e||"everywhere"===e||a.tags.has("Possessive")||a.tags.has("ProperNoun")&&!n.tags.has("ProperNoun"))}if(e[t-1]&&!0===Wu[e[t-1].normal])return!0;let r=e[t+2];return!(!r||!r.tags.has("Noun")||r.tags.has("Pronoun"))||(a.tags.has("Adjective")||a.tags.has("Adverb")||a.tags.has("Verb"),!1)};const qu=/'/,Uu=function(e,t,n,a){let r=t.update();r.document=[e];let o=n+a;n>0&&(n-=1),e[o]&&(o+=1),r.ptrs=[[0,n,o]],r.compute(["lexicon","preTagger"]),function(e){e.forEach(((e,t)=>{e.index&&(e.index[1]=t)}))}(e)},Ru={d:(e,t)=>Su(e,t),t:(e,t)=>$u(e,t),s:(e,t,n)=>Ku(e,t)?n.methods.one.setTag([e[t]],"Possessive",n,null,"2-contraction"):Mu(e,t)},Qu=function(e,t){let n=t.fromText(e.join(" "));return n.compute("id"),n.docs[0]};var Xu={contractionTwo:e=>{let{world:t,document:n}=e;n.forEach(((a,r)=>{for(let o=a.length-1;o>=0;o-=1){if(a[o].implicit)return;let i=null;!0===qu.test(a[o].normal)&&(i=a[o].normal.split(qu)[1]);let s=null;Ru.hasOwnProperty(i)&&(s=Ru[i](a,o,t)),s&&(s=Qu(s,e),Vu(n,[r,o],s),Uu(n[r],e,o,s.length))}}))}},Zu={compute:Xu,api:zu,hooks:["contractionTwo"]};const _u="(hard|fast|late|early|high|right|deep|close|direct)",Yu="(i|we|they)";let ec=[].concat([{match:"(got|were|was|is|are|am) (#PastTense|#Participle)",tag:"Passive",reason:"got-walked"},{match:"(was|were|is|are|am) being (#PastTense|#Participle)",tag:"Passive",reason:"was-being"},{match:"(had|have|has) been (#PastTense|#Participle)",tag:"Passive",reason:"had-been"},{match:"will be being? (#PastTense|#Participle)",tag:"Passive",reason:"will-be-cleaned"},{match:"#Noun [(#PastTense|#Participle)] by (the|a) #Noun",group:0,tag:"Passive",reason:"suffered-by"}],[{match:"[(all|both)] #Determiner #Noun",group:0,tag:"Noun",reason:"all-noun"},{match:"#Copula [(just|alone)]$",group:0,tag:"Adjective",reason:"not-adverb"},{match:"#Singular is #Adverb? [#PastTense$]",group:0,tag:"Adjective",reason:"is-filled"},{match:"[#PastTense] #Singular is",group:0,tag:"Adjective",reason:"smoked-poutine"},{match:"[#PastTense] #Plural are",group:0,tag:"Adjective",reason:"baked-onions"},{match:"well [#PastTense]",group:0,tag:"Adjective",reason:"well-made"},{match:"#Copula [fucked up?]",group:0,tag:"Adjective",reason:"swears-adjective"},{match:"#Singular (seems|appears) #Adverb? [#PastTense$]",group:0,tag:"Adjective",reason:"seems-filled"},{match:"#Copula #Adjective? [(out|in|through)]$",group:0,tag:"Adjective",reason:"still-out"},{match:"^[#Adjective] (the|your) #Noun",group:0,notIf:"(all|even)",tag:"Infinitive",reason:"shut-the"},{match:"the [said] #Noun",group:0,tag:"Adjective",reason:"the-said-card"},{match:"[#Hyphenated (#Hyphenated && #PastTense)] (#Noun|#Conjunction)",group:0,tag:"Adjective",notIf:"#Adverb",reason:"faith-based"},{match:"[#Hyphenated (#Hyphenated && #Gerund)] (#Noun|#Conjunction)",group:0,tag:"Adjective",notIf:"#Adverb",reason:"self-driving"},{match:"[#PastTense (#Hyphenated && #PhrasalVerb)] (#Noun|#Conjunction)",group:0,tag:"Adjective",reason:"dammed-up"},{match:"(#Hyphenated && #Value) fold",tag:"Adjective",reason:"two-fold"},{match:"must (#Hyphenated && #Infinitive)",tag:"Adjective",reason:"must-win"},{match:"(#Hyphenated && #Infinitive) #Hyphenated",tag:"Adjective",notIf:"#PhrasalVerb",reason:"vacuum-sealed"},{match:"too much",tag:"Adverb Adjective",reason:"bit-4"},{match:"a bit much",tag:"Determiner Adverb Adjective",reason:"bit-3"},{match:"[(un|contra|extra|inter|intra|macro|micro|mid|mis|mono|multi|pre|sub|tri|ex)] #Adjective",group:0,tag:["Adjective","Prefix"],reason:"un-skilled"}],[{match:"#Adverb [#Adverb] (and|or|then)",group:0,tag:"Adjective",reason:"kinda-sparkly-and"},{match:"[(dark|bright|flat|light|soft|pale|dead|dim|faux|little|wee|sheer|most|near|good|extra|all)] #Adjective",group:0,tag:"Adverb",reason:"dark-green"},{match:"#Copula [far too] #Adjective",group:0,tag:"Adverb",reason:"far-too"},{match:"#Copula [still] (in|#Gerund|#Adjective)",group:0,tag:"Adverb",reason:"was-still-walking"},{match:`#Plural ${_u}`,tag:"#PresentTense #Adverb",reason:"studies-hard"},{match:`#Verb [${_u}] !#Noun?`,group:0,notIf:"(#Copula|get|got|getting|become|became|becoming|feel|feels|feeling)",tag:"Adverb",reason:"shops-direct"},{match:"[#Plural] a lot",tag:"PresentTense",reason:"studies-a-lot"}],[{match:"as [#Gerund] as",group:0,tag:"Adjective",reason:"as-gerund-as"},{match:"more [#Gerund] than",group:0,tag:"Adjective",reason:"more-gerund-than"},{match:"(so|very|extremely) [#Gerund]",group:0,tag:"Adjective",reason:"so-gerund"},{match:"(found|found) it #Adverb? [#Gerund]",group:0,tag:"Adjective",reason:"found-it-gerund"},{match:"a (little|bit|wee) bit? [#Gerund]",group:0,tag:"Adjective",reason:"a-bit-gerund"},{match:"#Gerund [#Gerund]",group:0,tag:"Adjective",notIf:"(impersonating|practicing|considering|assuming)",reason:"looking-annoying"},{match:"(looked|look|looks) #Adverb? [%Adj|Gerund%]",group:0,tag:"Adjective",notIf:"(impersonating|practicing|considering|assuming)",reason:"looked-amazing"},{match:"[%Adj|Gerund%] #Determiner",group:0,tag:"Gerund",reason:"developing-a"},{match:"#Possessive [%Adj|Gerund%] #Noun",group:0,tag:"Adjective",reason:"leading-manufacturer"}],[{match:"#Determiner [#Adjective] #Copula",group:0,tag:"Noun",reason:"the-adj-is"},{match:"#Adjective [#Adjective] #Copula",group:0,tag:"Noun",reason:"adj-adj-is"},{match:"(his|its) [%Adj|Noun%]",group:0,tag:"Noun",notIf:"#Hyphenated",reason:"his-fine"},{match:"#Copula #Adverb? [all]",group:0,tag:"Noun",reason:"is-all"},{match:"(have|had) [#Adjective] #Preposition .",group:0,tag:"Noun",reason:"have-fun"},{match:"#Gerund (giant|capital|center|zone|application)",tag:"Noun",reason:"brewing-giant"},{match:"#Preposition (a|an) [#Adjective]$",group:0,tag:"Noun",reason:"an-instant"},{match:"no [#Adjective] #Modal",group:0,tag:"Noun",reason:"no-golden"},{match:"[brand #Gerund?] new",group:0,tag:"Adverb",reason:"brand-new"},{match:"(#Determiner|#Comparative|new|different) [kind]",group:0,tag:"Noun",reason:"some-kind"},{match:"#Possessive [%Adj|Noun%] #Noun",group:0,tag:"Adjective",reason:"her-favourite"},{match:"must && #Hyphenated .",tag:"Adjective",reason:"must-win"},{match:"#Determiner [#Adjective]$",tag:"Noun",notIf:"(this|that|#Comparative|#Superlative)",reason:"the-south"},{match:"(#Noun && #Hyphenated) (#Adjective && #Hyphenated)",tag:"Adjective",notIf:"(this|that|#Comparative|#Superlative)",reason:"company-wide"},{match:"#Determiner [#Adjective] (#Copula|#Determiner)",notIf:"(#Comparative|#Superlative)",group:0,tag:"Noun",reason:"the-poor"}],[{match:"[still] #Adjective",group:0,tag:"Adverb",reason:"still-advb"},{match:"[still] #Verb",group:0,tag:"Adverb",reason:"still-verb"},{match:"[so] #Adjective",group:0,tag:"Adverb",reason:"so-adv"},{match:"[way] #Comparative",group:0,tag:"Adverb",reason:"way-adj"},{match:"[way] #Adverb #Adjective",group:0,tag:"Adverb",reason:"way-too-adj"},{match:"[all] #Verb",group:0,tag:"Adverb",reason:"all-verb"},{match:"#Verb [like]",group:0,notIf:"(#Modal|#PhrasalVerb)",tag:"Adverb",reason:"verb-like"},{match:"(barely|hardly) even",tag:"Adverb",reason:"barely-even"},{match:"[even] #Verb",group:0,tag:"Adverb",reason:"even-walk"},{match:"[even] #Comparative",group:0,tag:"Adverb",reason:"even-worse"},{match:"[even] (#Determiner|#Possessive)",group:0,tag:"#Adverb",reason:"even-the"},{match:"even left",tag:"#Adverb #Verb",reason:"even-left"},{match:"[way] #Adjective",group:0,tag:"#Adverb",reason:"way-over"},{match:"#PresentTense [(hard|quick|bright|slow|fast|backwards|forwards)]",notIf:"#Copula",group:0,tag:"Adverb",reason:"lazy-ly"},{match:"[much] #Adjective",group:0,tag:"Adverb",reason:"bit-1"},{match:"#Copula [#Adverb]$",group:0,tag:"Adjective",reason:"is-well"},{match:"a [(little|bit|wee) bit?] #Adjective",group:0,tag:"Adverb",reason:"a-bit-cold"},{match:"[(super|pretty)] #Adjective",group:0,tag:"Adverb",reason:"super-strong"},{match:"(become|fall|grow) #Adverb? [#PastTense]",group:0,tag:"Adjective",reason:"overly-weakened"},{match:"(a|an) #Adverb [#Participle] #Noun",group:0,tag:"Adjective",reason:"completely-beaten"},{match:"#Determiner #Adverb? [close]",group:0,tag:"Adjective",reason:"a-close"},{match:"#Gerund #Adverb? [close]",group:0,tag:"Adverb",notIf:"(getting|becoming|feeling)",reason:"being-close"},{match:"(the|those|these|a|an) [#Participle] #Noun",group:0,tag:"Adjective",reason:"blown-motor"},{match:"(#PresentTense|#PastTense) [back]",group:0,tag:"Adverb",notIf:"(#PhrasalVerb|#Copula)",reason:"charge-back"},{match:"#Verb [around]",group:0,tag:"Adverb",notIf:"#PhrasalVerb",reason:"send-around"},{match:"[later] #PresentTense",group:0,tag:"Adverb",reason:"later-say"},{match:"#Determiner [well] !#PastTense?",group:0,tag:"Noun",reason:"the-well"},{match:"#Adjective [enough]",group:0,tag:"Adverb",reason:"high-enough"}],[{match:"[sun] the #Ordinal",tag:"WeekDay",reason:"sun-the-5th"},{match:"[sun] #Date",group:0,tag:"WeekDay",reason:"sun-feb"},{match:"#Date (on|this|next|last|during)? [sun]",group:0,tag:"WeekDay",reason:"1pm-sun"},{match:"(in|by|before|during|on|until|after|of|within|all) [sat]",group:0,tag:"WeekDay",reason:"sat"},{match:"(in|by|before|during|on|until|after|of|within|all) [wed]",group:0,tag:"WeekDay",reason:"wed"},{match:"(in|by|before|during|on|until|after|of|within|all) [march]",group:0,tag:"Month",reason:"march"},{match:"[sat] #Date",group:0,tag:"WeekDay",reason:"sat-feb"},{match:"#Preposition [(march|may)]",group:0,tag:"Month",reason:"in-month"},{match:"(this|next|last) (march|may) !#Infinitive?",tag:"#Date #Month",reason:"this-month"},{match:"(march|may) the? #Value",tag:"#Month #Date #Date",reason:"march-5th"},{match:"#Value of? (march|may)",tag:"#Date #Date #Month",reason:"5th-of-march"},{match:"[(march|may)] .? #Date",group:0,tag:"Month",reason:"march-and-feb"},{match:"#Date .? [(march|may)]",group:0,tag:"Month",reason:"feb-and-march"},{match:"#Adverb [(march|may)]",group:0,tag:"Verb",reason:"quickly-march"},{match:"[(march|may)] #Adverb",group:0,tag:"Verb",reason:"march-quickly"},{match:"#Value (am|pm)",tag:"Time",reason:"2-am"}],[{match:"#Holiday (day|eve)",tag:"Holiday",reason:"holiday-day"},{match:"#Value of #Month",tag:"Date",reason:"value-of-month"},{match:"#Cardinal #Month",tag:"Date",reason:"cardinal-month"},{match:"#Month #Value to #Value",tag:"Date",reason:"value-to-value"},{match:"#Month the #Value",tag:"Date",reason:"month-the-value"},{match:"(#WeekDay|#Month) #Value",tag:"Date",reason:"date-value"},{match:"#Value (#WeekDay|#Month)",tag:"Date",reason:"value-date"},{match:"(#TextValue && #Date) #TextValue",tag:"Date",reason:"textvalue-date"},{match:"#Month #NumberRange",tag:"Date",reason:"aug 20-21"},{match:"#WeekDay #Month #Ordinal",tag:"Date",reason:"week mm-dd"},{match:"#Month #Ordinal #Cardinal",tag:"Date",reason:"mm-dd-yyy"},{match:"(#Place|#Demonmym|#Time) (standard|daylight|central|mountain)? time",tag:"Timezone",reason:"std-time"},{match:"(eastern|mountain|pacific|central|atlantic) (standard|daylight|summer)? time",tag:"Timezone",reason:"eastern-time"},{match:"#Time [(eastern|mountain|pacific|central|est|pst|gmt)]",group:0,tag:"Timezone",reason:"5pm-central"},{match:"(central|western|eastern) european time",tag:"Timezone",reason:"cet"}],[{match:"(the|any) [more]",group:0,tag:"Singular",reason:"more-noun"},{match:"[more] #Noun",group:0,tag:"Adjective",reason:"more-noun"},{match:"(right|rights) of .",tag:"Noun",reason:"right-of"},{match:"a [bit]",group:0,tag:"Singular",reason:"bit-2"},{match:"a [must]",group:0,tag:"Singular",reason:"must-2"},{match:"(we|us) [all]",group:0,tag:"Noun",reason:"we all"},{match:"due to [#Verb]",group:0,tag:"Noun",reason:"due-to"},{match:"some [#Verb] #Plural",group:0,tag:"Noun",reason:"determiner6"},{match:"#Possessive #Ordinal [#PastTense]",group:0,tag:"Noun",reason:"first-thought"},{match:"(the|this|those|these) #Adjective [%Verb|Noun%]",group:0,tag:"Noun",notIf:"#Copula",reason:"the-adj-verb"},{match:"(the|this|those|these) #Adverb #Adjective [#Verb]",group:0,tag:"Noun",reason:"determiner4"},{match:"the [#Verb] #Preposition .",group:0,tag:"Noun",reason:"determiner1"},{match:"(a|an|the) [#Verb] of",group:0,tag:"Noun",reason:"the-verb-of"},{match:"#Determiner #Noun of [#Verb]",group:0,tag:"Noun",notIf:"#Gerund",reason:"noun-of-noun"},{match:"#PastTense #Preposition [#PresentTense]",group:0,notIf:"#Gerund",tag:"Noun",reason:"ended-in-ruins"},{match:"#Conjunction [u]",group:0,tag:"Pronoun",reason:"u-pronoun-2"},{match:"[u] #Verb",group:0,tag:"Pronoun",reason:"u-pronoun-1"},{match:"#Determiner [(western|eastern|northern|southern|central)] #Noun",group:0,tag:"Noun",reason:"western-line"},{match:"(#Singular && @hasHyphen) #PresentTense",tag:"Noun",reason:"hyphen-verb"},{match:"is no [#Verb]",group:0,tag:"Noun",reason:"is-no-verb"},{match:"do [so]",group:0,tag:"Noun",reason:"so-noun"},{match:"#Determiner [(shit|damn|hell)]",group:0,tag:"Noun",reason:"swears-noun"},{match:"to [(shit|hell)]",group:0,tag:"Noun",reason:"to-swears"},{match:"(the|these) [#Singular] (were|are)",group:0,tag:"Plural",reason:"singular-were"},{match:"a #Noun+ or #Adverb+? [#Verb]",group:0,tag:"Noun",reason:"noun-or-noun"},{match:"(the|those|these|a|an) #Adjective? [#PresentTense #Particle?]",group:0,tag:"Noun",notIf:"(seem|appear|include|#Gerund|#Copula)",reason:"det-inf"},{match:"#Noun #Actor",tag:"Actor",notIf:"(#Person|#Pronoun)",reason:"thing-doer"},{match:"#Gerund #Actor",tag:"Actor",reason:"gerund-doer"},{match:"co #Singular",tag:"Actor",reason:"co-noun"},{match:"[#Noun+] #Actor",group:0,tag:"Actor",notIf:"(#Honorific|#Pronoun|#Possessive)",reason:"air-traffic-controller"},{match:"(urban|cardiac|cardiovascular|respiratory|medical|clinical|visual|graphic|creative|dental|exotic|fine|certified|registered|technical|virtual|professional|amateur|junior|senior|special|pharmaceutical|theoretical)+ #Noun? #Actor",tag:"Actor",reason:"fine-artist"},{match:"#Noun+ (coach|chef|king|engineer|fellow|personality|boy|girl|man|woman|master)",tag:"Actor",reason:"dance-coach"},{match:"chief . officer",tag:"Actor",reason:"chief-x-officer"},{match:"chief of #Noun+",tag:"Actor",reason:"chief-of-police"},{match:"senior? vice? president of #Noun+",tag:"Actor",reason:"president-of"},{match:"#Determiner [sun]",group:0,tag:"Singular",reason:"the-sun"},{match:"#Verb (a|an) [#Value]$",group:0,tag:"Singular",reason:"did-a-value"},{match:"the [(can|will|may)]",group:0,tag:"Singular",reason:"the can"},{match:"#FirstName #Acronym? (#Possessive && #LastName)",tag:"Possessive",reason:"name-poss"},{match:"#Organization+ #Possessive",tag:"Possessive",reason:"org-possessive"},{match:"#Place+ #Possessive",tag:"Possessive",reason:"place-possessive"},{match:"#Possessive #PresentTense #Particle?",notIf:"(#Gerund|her)",tag:"Noun",reason:"possessive-verb"},{match:"(my|our|their|her|his|its) [(#Plural && #Actor)] #Noun",tag:"Possessive",reason:"my-dads"},{match:"#Value of a [second]",group:0,unTag:"Value",tag:"Singular",reason:"10th-of-a-second"},{match:"#Value [seconds]",group:0,unTag:"Value",tag:"Plural",reason:"10-seconds"},{match:"in [#Infinitive]",group:0,tag:"Singular",reason:"in-age"},{match:"a [#Adjective] #Preposition",group:0,tag:"Noun",reason:"a-minor-in"},{match:"#Determiner [#Singular] said",group:0,tag:"Actor",reason:"the-actor-said"},{match:"#Determiner #Noun [(feel|sense|process|rush|side|bomb|bully|challenge|cover|crush|dump|exchange|flow|function|issue|lecture|limit|march|process)] !(#Preposition|to|#Adverb)?",group:0,tag:"Noun",reason:"the-noun-sense"},{match:"[#PresentTense] (of|by|for) (a|an|the) #Noun #Copula",group:0,tag:"Plural",reason:"photographs-of"},{match:"#Infinitive and [%Noun|Verb%]",group:0,tag:"Infinitive",reason:"fight and win"},{match:"#Noun and [#Verb] and #Noun",group:0,tag:"Noun",reason:"peace-and-flowers"},{match:"the #Cardinal [%Adj|Noun%]",group:0,tag:"Noun",reason:"the-1992-classic"},{match:"#Copula the [%Adj|Noun%] #Noun",group:0,tag:"Adjective",reason:"the-premier-university"},{match:"i #Verb [me] #Noun",group:0,tag:"Possessive",reason:"scottish-me"},{match:"[#PresentTense] (music|class|lesson|night|party|festival|league|ceremony)",group:0,tag:"Noun",reason:"dance-music"},{match:"[wit] (me|it)",group:0,tag:"Presposition",reason:"wit-me"},{match:"#PastTense #Possessive [#Verb]",group:0,tag:"Noun",notIf:"(saw|made)",reason:"left-her-boots"},{match:"#Value [%Plural|Verb%]",group:0,tag:"Plural",notIf:"(one|1|a|an)",reason:"35-signs"},{match:"had [#PresentTense]",group:0,tag:"Noun",notIf:"(#Gerund|come|become)",reason:"had-time"},{match:"%Adj|Noun% %Noun|Verb%",tag:"#Adjective #Noun",notIf:"#ProperNoun #Noun",reason:"instant-access"},{match:"#Determiner [%Adj|Noun%] #Conjunction",group:0,tag:"Noun",reason:"a-rep-to"},{match:"#Adjective #Noun [%Plural|Verb%]$",group:0,tag:"Plural",notIf:"#Pronoun",reason:"near-death-experiences"},{match:"#Possessive #Noun [%Plural|Verb%]$",group:0,tag:"Plural",reason:"your-guild-colors"}],[{match:"(this|that|the|a|an) [#Gerund #Infinitive]",group:0,tag:"Singular",reason:"the-planning-process"},{match:"(that|the) [#Gerund #PresentTense]",group:0,ifNo:"#Copula",tag:"Plural",reason:"the-paving-stones"},{match:"#Determiner [#Gerund] #Noun",group:0,tag:"Adjective",reason:"the-gerund-noun"},{match:"#Pronoun #Infinitive [#Gerund] #PresentTense",group:0,tag:"Noun",reason:"tipping-sucks"},{match:"#Adjective [#Gerund]",group:0,tag:"Noun",notIf:"(still|even|just)",reason:"early-warning"},{match:"[#Gerund] #Adverb? not? #Copula",group:0,tag:"Activity",reason:"gerund-copula"},{match:"#Copula [(#Gerund|#Activity)] #Copula",group:0,tag:"Gerund",reason:"are-doing-is"},{match:"[#Gerund] #Modal",group:0,tag:"Activity",reason:"gerund-modal"},{match:"#Singular for [%Noun|Gerund%]",group:0,tag:"Gerund",reason:"noun-for-gerund"},{match:"#Comparative (for|at) [%Noun|Gerund%]",group:0,tag:"Gerund",reason:"better-for-gerund"},{match:"#PresentTense the [#Gerund]",group:0,tag:"Noun",reason:"keep-the-touching"}],[{match:"#Infinitive (this|that|the) [#Infinitive]",group:0,tag:"Noun",reason:"do-this-dance"},{match:"#Gerund #Determiner [#Infinitive]",group:0,tag:"Noun",reason:"running-a-show"},{match:"#Determiner (only|further|just|more|backward) [#Infinitive]",group:0,tag:"Noun",reason:"the-only-reason"},{match:"(the|this|a|an) [#Infinitive] #Adverb? #Verb",group:0,tag:"Noun",reason:"determiner5"},{match:"#Determiner #Adjective #Adjective? [#Infinitive]",group:0,tag:"Noun",reason:"a-nice-inf"},{match:"#Determiner #Demonym [#PresentTense]",group:0,tag:"Noun",reason:"mexican-train"},{match:"#Adjective #Noun+ [#Infinitive] #Copula",group:0,tag:"Noun",reason:"career-move"},{match:"at some [#Infinitive]",group:0,tag:"Noun",reason:"at-some-inf"},{match:"(go|goes|went) to [#Infinitive]",group:0,tag:"Noun",reason:"goes-to-verb"},{match:"(a|an) #Adjective? #Noun [#Infinitive] (#Preposition|#Noun)",group:0,notIf:"from",tag:"Noun",reason:"a-noun-inf"},{match:"(a|an) #Noun [#Infinitive]$",group:0,tag:"Noun",reason:"a-noun-inf2"},{match:"#Gerund #Adjective? for [#Infinitive]",group:0,tag:"Noun",reason:"running-for"},{match:"about [#Infinitive]",group:0,tag:"Singular",reason:"about-love"},{match:"#Plural on [#Infinitive]",group:0,tag:"Noun",reason:"on-stage"},{match:"any [#Infinitive]",group:0,tag:"Noun",reason:"any-charge"},{match:"no [#Infinitive]",group:0,tag:"Noun",reason:"no-doubt"},{match:"number of [#PresentTense]",group:0,tag:"Noun",reason:"number-of-x"},{match:"(taught|teaches|learns|learned) [#PresentTense]",group:0,tag:"Noun",reason:"teaches-x"},{match:"(try|use|attempt|build|make) [#Verb #Particle?]",notIf:"(#Copula|#Noun|sure|fun|up)",group:0,tag:"Noun",reason:"do-verb"},{match:"^[#Infinitive] (is|was)",group:0,tag:"Noun",reason:"checkmate-is"},{match:"#Infinitive much [#Infinitive]",group:0,tag:"Noun",reason:"get-much"},{match:"[cause] #Pronoun #Verb",group:0,tag:"Conjunction",reason:"cause-cuz"},{match:"the #Singular [#Infinitive] #Noun",group:0,tag:"Noun",notIf:"#Pronoun",reason:"cardio-dance"},{match:"#Determiner #Modal [#Noun]",group:0,tag:"PresentTense",reason:"should-smoke"},{match:"this [#Plural]",group:0,tag:"PresentTense",notIf:"(#Preposition|#Date)",reason:"this-verbs"},{match:"#Noun that [#Plural]",group:0,tag:"PresentTense",notIf:"(#Preposition|#Pronoun|way)",reason:"voice-that-rocks"},{match:"that [#Plural] to",group:0,tag:"PresentTense",notIf:"#Preposition",reason:"that-leads-to"},{match:"(let|make|made) (him|her|it|#Person|#Place|#Organization)+ [#Singular] (a|an|the|it)",group:0,tag:"Infinitive",reason:"let-him-glue"},{match:"#Verb (all|every|each|most|some|no) [#PresentTense]",notIf:"#Modal",group:0,tag:"Noun",reason:"all-presentTense"},{match:"(had|have|#PastTense) #Adjective [#PresentTense]",group:0,tag:"Noun",notIf:"better",reason:"adj-presentTense"},{match:"#Value #Adjective [#PresentTense]",group:0,tag:"Noun",notIf:"#Copula",reason:"one-big-reason"},{match:"#PastTense #Adjective+ [#PresentTense]",group:0,tag:"Noun",notIf:"(#Copula|better)",reason:"won-wide-support"},{match:"(many|few|several|couple) [#PresentTense]",group:0,tag:"Noun",notIf:"#Copula",reason:"many-poses"},{match:"#Determiner #Adverb #Adjective [%Noun|Verb%]",group:0,tag:"Noun",notIf:"#Copula",reason:"very-big-dream"},{match:"from #Noun to [%Noun|Verb%]",group:0,tag:"Noun",reason:"start-to-finish"},{match:"(for|with|of) #Noun (and|or|not) [%Noun|Verb%]",group:0,tag:"Noun",notIf:"#Pronoun",reason:"for-food-and-gas"},{match:"#Adjective #Adjective [#PresentTense]",group:0,tag:"Noun",notIf:"#Copula",reason:"adorable-little-store"},{match:"#Gerund #Adverb? #Comparative [#PresentTense]",group:0,tag:"Noun",notIf:"#Copula",reason:"higher-costs"},{match:"(#Noun && @hasComma) #Noun (and|or) [#PresentTense]",group:0,tag:"Noun",notIf:"#Copula",reason:"noun-list"},{match:"(many|any|some|several) [#PresentTense] for",group:0,tag:"Noun",reason:"any-verbs-for"},{match:"to #PresentTense #Noun [#PresentTense] #Preposition",group:0,tag:"Noun",reason:"gas-exchange"},{match:"#PastTense (until|as|through|without) [#PresentTense]",group:0,tag:"Noun",reason:"waited-until-release"},{match:"#Gerund like #Adjective? [#PresentTense]",group:0,tag:"Plural",reason:"like-hot-cakes"},{match:"some #Adjective [#PresentTense]",group:0,tag:"Noun",reason:"some-reason"},{match:"for some [#PresentTense]",group:0,tag:"Noun",reason:"for-some-reason"},{match:"(same|some|the|that|a) kind of [#PresentTense]",group:0,tag:"Noun",reason:"some-kind-of"},{match:"(same|some|the|that|a) type of [#PresentTense]",group:0,tag:"Noun",reason:"some-type-of"},{match:"#Gerund #Adjective #Preposition [#PresentTense]",group:0,tag:"Noun",reason:"doing-better-for-x"},{match:"(get|got|have) #Comparative [#PresentTense]",group:0,tag:"Noun",reason:"got-better-aim"},{match:"whose [#PresentTense] #Copula",group:0,tag:"Noun",reason:"whos-name-was"},{match:"#PhrasalVerb #Particle #Preposition [#PresentTense]",group:0,tag:"Noun",reason:"given-up-on-x"},{match:"there (are|were) #Adjective? [#PresentTense]",group:0,tag:"Plural",reason:"there-are"},{match:"#Value [#PresentTense] of",group:0,notIf:"(one|1|#Copula|#Infinitive)",tag:"Plural",reason:"2-trains"},{match:"[#PresentTense] (are|were) #Adjective",group:0,tag:"Plural",reason:"compromises-are-possible"},{match:"^[(hope|guess|thought|think)] #Pronoun #Verb",group:0,tag:"Infinitive",reason:"suppose-i"},{match:"#Possessive #Adjective [#Verb]",group:0,tag:"Noun",notIf:"#Copula",reason:"our-full-support"},{match:"[(tastes|smells)] #Adverb? #Adjective",group:0,tag:"PresentTense",reason:"tastes-good"},{match:"#Copula #Gerund [#PresentTense] !by?",group:0,tag:"Noun",notIf:"going",reason:"ignoring-commute"},{match:"#Determiner #Adjective? [(shed|thought|rose|bid|saw|spelt)]",group:0,tag:"Noun",reason:"noun-past"},{match:"how to [%Noun|Verb%]",group:0,tag:"Infinitive",reason:"how-to-noun"},{match:"which [%Noun|Verb%] #Noun",group:0,tag:"Infinitive",reason:"which-boost-it"},{match:"#Gerund [%Plural|Verb%]",group:0,tag:"Plural",reason:"asking-questions"},{match:"(ready|available|difficult|hard|easy|made|attempt|try) to [%Noun|Verb%]",group:0,tag:"Infinitive",reason:"ready-to-noun"},{match:"(bring|went|go|drive|run|bike) to [%Noun|Verb%]",group:0,tag:"Noun",reason:"bring-to-noun"},{match:"#Modal #Noun [%Noun|Verb%]",group:0,tag:"Infinitive",reason:"would-you-look"},{match:"#Copula just [#Infinitive]",group:0,tag:"Noun",reason:"is-just-spam"},{match:"^%Noun|Verb% %Plural|Verb%",tag:"Imperative #Plural",reason:"request-copies"},{match:"#Adjective #Plural and [%Plural|Verb%]",group:0,tag:"#Plural",reason:"pickles-and-drinks"},{match:"#Determiner #Year [#Verb]",group:0,tag:"Noun",reason:"the-1968-film"},{match:"#Determiner [#PhrasalVerb #Particle]",group:0,tag:"Noun",reason:"the-break-up"},{match:"#Determiner [%Adj|Noun%] #Noun",group:0,tag:"Adjective",notIf:"(#Pronoun|#Possessive|#ProperNoun)",reason:"the-individual-goals"},{match:"[%Noun|Verb%] or #Infinitive",group:0,tag:"Infinitive",reason:"work-or-prepare"},{match:"to #Infinitive [#PresentTense]",group:0,tag:"Noun",notIf:"(#Gerund|#Copula|help)",reason:"to-give-thanks"},{match:"[#Noun] me",group:0,tag:"Verb",reason:"kills-me"},{match:"%Plural|Verb% %Plural|Verb%",tag:"#PresentTense #Plural",reason:"removes-wrinkles"}],[{match:"#Money and #Money #Currency?",tag:"Money",reason:"money-and-money"},{match:"#Value #Currency [and] #Value (cents|ore|centavos|sens)",group:0,tag:"money",reason:"and-5-cents"},{match:"#Value (mark|rand|won|rub|ore)",tag:"#Money #Currency",reason:"4-mark"},{match:"a pound",tag:"#Money #Unit",reason:"a-pound"},{match:"#Value (pound|pounds)",tag:"#Money #Unit",reason:"4-pounds"}],[{match:"[(half|quarter)] of? (a|an)",group:0,tag:"Fraction",reason:"millionth"},{match:"#Adverb [half]",group:0,tag:"Fraction",reason:"nearly-half"},{match:"[half] the",group:0,tag:"Fraction",reason:"half-the"},{match:"#Cardinal and a half",tag:"Fraction",reason:"and-a-half"},{match:"#Value (halves|halfs|quarters)",tag:"Fraction",reason:"two-halves"},{match:"a #Ordinal",tag:"Fraction",reason:"a-quarter"},{match:"[#Cardinal+] (#Fraction && /s$/)",tag:"Fraction",reason:"seven-fifths"},{match:"[#Cardinal+ #Ordinal] of .",group:0,tag:"Fraction",reason:"ordinal-of"},{match:"[(#NumericValue && #Ordinal)] of .",group:0,tag:"Fraction",reason:"num-ordinal-of"},{match:"(a|one) #Cardinal?+ #Ordinal",tag:"Fraction",reason:"a-ordinal"},{match:"#Cardinal+ out? of every? #Cardinal",tag:"Fraction",reason:"out-of"}],[{match:"#Cardinal [second]",tag:"Unit",reason:"one-second"},{match:"!once? [(a|an)] (#Duration|hundred|thousand|million|billion|trillion)",group:0,tag:"Value",reason:"a-is-one"},{match:"1 #Value #PhoneNumber",tag:"PhoneNumber",reason:"1-800-Value"},{match:"#NumericValue #PhoneNumber",tag:"PhoneNumber",reason:"(800) PhoneNumber"},{match:"#Demonym #Currency",tag:"Currency",reason:"demonym-currency"},{match:"#Value [(buck|bucks|grand)]",group:0,tag:"Currency",reason:"value-bucks"},{match:"[#Value+] #Currency",group:0,tag:"Money",reason:"15 usd"},{match:"[second] #Noun",group:0,tag:"Ordinal",reason:"second-noun"},{match:"#Value+ [#Currency]",group:0,tag:"Unit",reason:"5-yan"},{match:"#Value [(foot|feet)]",group:0,tag:"Unit",reason:"foot-unit"},{match:"#Value [#Abbreviation]",group:0,tag:"Unit",reason:"value-abbr"},{match:"#Value [k]",group:0,tag:"Unit",reason:"value-k"},{match:"#Unit an hour",tag:"Unit",reason:"unit-an-hour"},{match:"(minus|negative) #Value",tag:"Value",reason:"minus-value"},{match:"#Value (point|decimal) #Value",tag:"Value",reason:"value-point-value"},{match:"#Determiner [(half|quarter)] #Ordinal",group:0,tag:"Value",reason:"half-ordinal"},{match:"#Multiple+ and #Value",tag:"Value",reason:"magnitude-and-value"},{match:"#Value #Unit [(per|an) (hr|hour|sec|second|min|minute)]",group:0,tag:"Unit",reason:"12-miles-per-second"},{match:"#Value [(square|cubic)] #Unit",group:0,tag:"Unit",reason:"square-miles"},{match:"^[#Value] (#Determiner|#Gerund)",group:0,tag:"Expression",unTag:"Value",reason:"numbered-list"}],[{match:"#Copula [(#Noun|#PresentTense)] #LastName",group:0,tag:"FirstName",reason:"copula-noun-lastname"},{match:"(sister|pope|brother|father|aunt|uncle|grandpa|grandfather|grandma) #ProperNoun",tag:"Person",reason:"lady-titlecase",safe:!0},{match:"#FirstName [#Determiner #Noun] #LastName",group:0,tag:"Person",reason:"first-noun-last"},{match:"#ProperNoun (b|c|d|e|f|g|h|j|k|l|m|n|o|p|q|r|s|t|u|v|w|x|y|z) #ProperNoun",tag:"Person",reason:"titlecase-acronym-titlecase",safe:!0},{match:"#Acronym #LastName",tag:"Person",reason:"acronym-lastname",safe:!0},{match:"#Person (jr|sr|md)",tag:"Person",reason:"person-honorific"},{match:"#Honorific #Acronym",tag:"Person",reason:"Honorific-TitleCase"},{match:"#Person #Person the? #RomanNumeral",tag:"Person",reason:"roman-numeral"},{match:"#FirstName [/^[^aiurck]$/]",group:0,tag:["Acronym","Person"],reason:"john-e"},{match:"#Noun van der? #Noun",tag:"Person",reason:"van der noun",safe:!0},{match:"(king|queen|prince|saint|lady) of #Noun",tag:"Person",reason:"king-of-noun",safe:!0},{match:"(prince|lady) #Place",tag:"Person",reason:"lady-place"},{match:"(king|queen|prince|saint) #ProperNoun",tag:"Person",notIf:"#Place",reason:"saint-foo"},{match:"al (#Person|#ProperNoun)",tag:"Person",reason:"al-borlen",safe:!0},{match:"#FirstName de #Noun",tag:"Person",reason:"bill-de-noun"},{match:"#FirstName (bin|al) #Noun",tag:"Person",reason:"bill-al-noun"},{match:"#FirstName #Acronym #ProperNoun",tag:"Person",reason:"bill-acronym-title"},{match:"#FirstName #FirstName #ProperNoun",tag:"Person",reason:"bill-firstname-title"},{match:"#Honorific #FirstName? #ProperNoun",tag:"Person",reason:"dr-john-Title"},{match:"#FirstName the #Adjective",tag:"Person",reason:"name-the-great"},{match:"#ProperNoun (van|al|bin) #ProperNoun",tag:"Person",reason:"title-van-title",safe:!0},{match:"#ProperNoun (de|du) la? #ProperNoun",tag:"Person",notIf:"#Place",reason:"title-de-title"},{match:"#Singular #Acronym #LastName",tag:"#FirstName #Person .",reason:"title-acro-noun",safe:!0},{match:"[#ProperNoun] #Person",group:0,tag:"Person",reason:"proper-person",safe:!0},{match:"#Person [#ProperNoun #ProperNoun]",group:0,tag:"Person",notIf:"#Possessive",reason:"three-name-person",safe:!0},{match:"#FirstName #Acronym? [#ProperNoun]",group:0,tag:"LastName",notIf:"#Possessive",reason:"firstname-titlecase"},{match:"#FirstName [#FirstName]",group:0,tag:"LastName",reason:"firstname-firstname"},{match:"#FirstName #Acronym #Noun",tag:"Person",reason:"n-acro-noun",safe:!0},{match:"#FirstName [(de|di|du|van|von)] #Person",group:0,tag:"LastName",reason:"de-firstname"},{match:"[(lieutenant|corporal|sergeant|captain|qeen|king|admiral|major|colonel|marshal|president|queen|king)+] #ProperNoun",group:0,tag:"Honorific",reason:"seargeant-john"},{match:"[(private|general|major|rear|prime|field|count|miss)] #Honorific? #Person",group:0,tag:["Honorific","Person"],reason:"ambg-honorifics"},{match:"#Honorific #FirstName [#Singular]",group:0,tag:"LastName",notIf:"#Possessive",reason:"dr-john-foo",safe:!0},{match:"[(his|her) (majesty|honour|worship|excellency|honorable)] #Person",group:0,tag:"Honorific",reason:"his-excellency"},{match:"#Honorific #Actor",tag:"Honorific",reason:"Lieutenant colonel"},{match:"(first|second|third|1st|2nd|3rd) #Actor",tag:"Honorific",reason:"first lady"},{match:"#Person #RomanNumeral",tag:"Person",reason:"louis-IV"}],[{match:"#FirstName #Noun$",tag:". #LastName",notIf:"(#Possessive|#Organization|#Place|#Pronoun|@hasTitleCase)",reason:"firstname-noun"},{match:"%Person|Date% #Acronym? #ProperNoun",tag:"Person",reason:"jan-thierson"},{match:"%Person|Noun% #Acronym? #ProperNoun",tag:"Person",reason:"switch-person",safe:!0},{match:"%Person|Noun% #Organization",tag:"Organization",reason:"olive-garden"},{match:"%Person|Verb% #Acronym? #ProperNoun",tag:"Person",reason:"verb-propernoun",ifNo:"#Actor"},{match:"[%Person|Verb%] (will|had|has|said|says|told|did|learned|wants|wanted)",group:0,tag:"Person",reason:"person-said"},{match:"[%Person|Place%] (harbor|harbour|pier|town|city|place|dump|landfill)",group:0,tag:"Place",reason:"sydney-harbour"},{match:"(west|east|north|south) [%Person|Place%]",group:0,tag:"Place",reason:"east-sydney"},{match:"#Modal [%Person|Verb%]",group:0,tag:"Verb",reason:"would-mark"},{match:"#Adverb [%Person|Verb%]",group:0,tag:"Verb",reason:"really-mark"},{match:"[%Person|Verb%] (#Adverb|#Comparative)",group:0,tag:"Verb",reason:"drew-closer"},{match:"%Person|Verb% #Person",tag:"Person",reason:"rob-smith"},{match:"%Person|Verb% #Acronym #ProperNoun",tag:"Person",reason:"rob-a-smith"},{match:"[will] #Verb",group:0,tag:"Modal",reason:"will-verb"},{match:"(will && @isTitleCase) #ProperNoun",tag:"Person",reason:"will-name"},{match:"(#FirstName && !#Possessive) [#Singular] #Verb",group:0,safe:!0,tag:"LastName",reason:"jack-layton"},{match:"^[#Singular] #Person #Verb",group:0,safe:!0,tag:"Person",reason:"sherwood-anderson"},{match:"(a|an) [#Person]$",group:0,unTag:"Person",reason:"a-warhol"}],[{match:"#Copula (pretty|dead|full|well|sure) (#Adjective|#Noun)",tag:"#Copula #Adverb #Adjective",reason:"sometimes-adverb"},{match:"(#Pronoun|#Person) (had|#Adverb)? [better] #PresentTense",group:0,tag:"Modal",reason:"i-better"},{match:"(#Modal|i|they|we|do) not? [like]",group:0,tag:"PresentTense",reason:"modal-like"},{match:"#Noun #Adverb? [left]",group:0,tag:"PastTense",reason:"left-verb"},{match:"will #Adverb? not? #Adverb? [be] #Gerund",group:0,tag:"Copula",reason:"will-be-copula"},{match:"will #Adverb? not? #Adverb? [be] #Adjective",group:0,tag:"Copula",reason:"be-copula"},{match:"[march] (up|down|back|toward)",notIf:"#Date",group:0,tag:"Infinitive",reason:"march-to"},{match:"#Modal [march]",group:0,tag:"Infinitive",reason:"must-march"},{match:"[may] be",group:0,tag:"Verb",reason:"may-be"},{match:"[(subject|subjects|subjected)] to",group:0,tag:"Verb",reason:"subject to"},{match:"[home] to",group:0,tag:"PresentTense",reason:"home to"},{match:"[open] #Determiner",group:0,tag:"Infinitive",reason:"open-the"},{match:"(were|was) being [#PresentTense]",group:0,tag:"PastTense",reason:"was-being"},{match:"(had|has|have) [been /en$/]",group:0,tag:"Auxiliary Participle",reason:"had-been-broken"},{match:"(had|has|have) [been /ed$/]",group:0,tag:"Auxiliary PastTense",reason:"had-been-smoked"},{match:"(had|has) #Adverb? [been] #Adverb? #PastTense",group:0,tag:"Auxiliary",reason:"had-been-adj"},{match:"(had|has) to [#Noun] (#Determiner|#Possessive)",group:0,tag:"Infinitive",reason:"had-to-noun"},{match:"have [#PresentTense]",group:0,tag:"PastTense",notIf:"(come|gotten)",reason:"have-read"},{match:"(does|will|#Modal) that [work]",group:0,tag:"PastTense",reason:"does-that-work"},{match:"[(sound|sounds)] #Adjective",group:0,tag:"PresentTense",reason:"sounds-fun"},{match:"[(look|looks)] #Adjective",group:0,tag:"PresentTense",reason:"looks-good"},{match:"[(start|starts|stop|stops|begin|begins)] #Gerund",group:0,tag:"Verb",reason:"starts-thinking"},{match:"(have|had) read",tag:"Modal #PastTense",reason:"read-read"},{match:"(is|was|were) [(under|over) #PastTense]",group:0,tag:"Adverb Adjective",reason:"was-under-cooked"},{match:"[shit] (#Determiner|#Possessive|them)",group:0,tag:"Verb",reason:"swear1-verb"},{match:"[damn] (#Determiner|#Possessive|them)",group:0,tag:"Verb",reason:"swear2-verb"},{match:"[fuck] (#Determiner|#Possessive|them)",group:0,tag:"Verb",reason:"swear3-verb"},{match:"#Plural that %Noun|Verb%",tag:". #Preposition #Infinitive",reason:"jobs-that-work"},{match:"[works] for me",group:0,tag:"PresentTense",reason:"works-for-me"},{match:"as #Pronoun [please]",group:0,tag:"Infinitive",reason:"as-we-please"},{match:"[(co|mis|de|inter|intra|pre|re|un|out|under|over|counter)] #Verb",group:0,tag:["Verb","Prefix"],notIf:"(#Copula|#PhrasalVerb)",reason:"co-write"},{match:"#PastTense and [%Adj|Past%]",group:0,tag:"PastTense",reason:"dressed-and-left"},{match:"[%Adj|Past%] and #PastTense",group:0,tag:"PastTense",reason:"dressed-and-left"},{match:"#Copula #Pronoun [%Adj|Past%]",group:0,tag:"Adjective",reason:"is-he-stoked"},{match:"to [%Noun|Verb%] #Preposition",group:0,tag:"Infinitive",reason:"to-dream-of"}],[{match:"(slowly|quickly) [#Adjective]",group:0,tag:"Verb",reason:"slowly-adj"},{match:"does (#Adverb|not)? [#Adjective]",group:0,tag:"PresentTense",reason:"does-mean"},{match:"[(fine|okay|cool|ok)] by me",group:0,tag:"Adjective",reason:"okay-by-me"},{match:"i (#Adverb|do)? not? [mean]",group:0,tag:"PresentTense",reason:"i-mean"},{match:"will #Adjective",tag:"Auxiliary Infinitive",reason:"will-adj"},{match:"#Pronoun [#Adjective] #Determiner #Adjective? #Noun",group:0,tag:"Verb",reason:"he-adj-the"},{match:"#Copula [%Adj|Present%] to #Verb",group:0,tag:"Verb",reason:"adj-to"},{match:"#Copula [#Adjective] (well|badly|quickly|slowly)",group:0,tag:"Verb",reason:"done-well"},{match:"#Adjective and [#Gerund] !#Preposition?",group:0,tag:"Adjective",reason:"rude-and-x"},{match:"#Copula #Adverb? (over|under) [#PastTense]",group:0,tag:"Adjective",reason:"over-cooked"},{match:"#Copula #Adjective+ (and|or) [#PastTense]$",group:0,tag:"Adjective",reason:"bland-and-overcooked"},{match:"got #Adverb? [#PastTense] of",group:0,tag:"Adjective",reason:"got-tired-of"},{match:"(seem|seems|seemed|appear|appeared|appears|feel|feels|felt|sound|sounds|sounded) (#Adverb|#Adjective)? [#PastTense]",group:0,tag:"Adjective",reason:"felt-loved"},{match:"(seem|feel|seemed|felt) [#PastTense #Particle?]",group:0,tag:"Adjective",reason:"seem-confused"},{match:"a (bit|little|tad) [#PastTense #Particle?]",group:0,tag:"Adjective",reason:"a-bit-confused"},{match:"not be [%Adj|Past% #Particle?]",group:0,tag:"Adjective",reason:"do-not-be-confused"},{match:"#Copula just [%Adj|Past% #Particle?]",group:0,tag:"Adjective",reason:"is-just-right"},{match:"as [#Infinitive] as",group:0,tag:"Adjective",reason:"as-pale-as"},{match:"[%Adj|Past%] and #Adjective",group:0,tag:"Adjective",reason:"faled-and-oppressive"},{match:"or [#PastTense] #Noun",group:0,tag:"Adjective",notIf:"(#Copula|#Pronoun)",reason:"or-heightened-emotion"},{match:"(become|became|becoming|becomes) [#Verb]",group:0,tag:"Adjective",reason:"become-verb"},{match:"#Possessive [#PastTense] #Noun",group:0,tag:"Adjective",reason:"declared-intentions"},{match:"#Copula #Pronoun [%Adj|Present%]",group:0,tag:"Adjective",reason:"is-he-cool"}],[{match:"will (#Adverb|not)+? [have] (#Adverb|not)+? #Verb",group:0,tag:"Auxiliary",reason:"will-have-vb"},{match:"[#Copula] (#Adverb|not)+? (#Gerund|#PastTense)",group:0,tag:"Auxiliary",reason:"copula-walking"},{match:"[(#Modal|did)+] (#Adverb|not)+? #Verb",group:0,tag:"Auxiliary",reason:"modal-verb"},{match:"#Modal (#Adverb|not)+? [have] (#Adverb|not)+? [had] (#Adverb|not)+? #Verb",group:0,tag:"Auxiliary",reason:"would-have"},{match:"[(has|had)] (#Adverb|not)+? #PastTense",group:0,tag:"Auxiliary",reason:"had-walked"},{match:"[(do|does|did|will|have|had|has|got)] (not|#Adverb)+? #Verb",group:0,tag:"Auxiliary",reason:"have-had"},{match:"[about to] #Adverb? #Verb",group:0,tag:["Auxiliary","Verb"],reason:"about-to"},{match:"#Modal (#Adverb|not)+? [be] (#Adverb|not)+? #Verb",group:0,tag:"Auxiliary",reason:"would-be"},{match:"[(#Modal|had|has)] (#Adverb|not)+? [been] (#Adverb|not)+? #Verb",group:0,tag:"Auxiliary",reason:"had-been"},{match:"[(be|being|been)] #Participle",group:0,tag:"Auxiliary",reason:"being-driven"},{match:"[may] #Adverb? #Infinitive",group:0,tag:"Auxiliary",reason:"may-want"},{match:"#Copula (#Adverb|not)+? [(be|being|been)] #Adverb+? #PastTense",group:0,tag:"Auxiliary",reason:"being-walked"},{match:"will [be] #PastTense",group:0,tag:"Auxiliary",reason:"will-be-x"},{match:"[(be|been)] (#Adverb|not)+? #Gerund",group:0,tag:"Auxiliary",reason:"been-walking"},{match:"[used to] #PresentTense",group:0,tag:"Auxiliary",reason:"used-to-walk"},{match:"#Copula (#Adverb|not)+? [going to] #Adverb+? #PresentTense",group:0,tag:"Auxiliary",reason:"going-to-walk"},{match:"#Imperative [(me|him|her)]",group:0,tag:"Reflexive",reason:"tell-him"},{match:"(is|was) #Adverb? [no]",group:0,tag:"Negative",reason:"is-no"},{match:"[(been|had|became|came)] #PastTense",group:0,notIf:"#PhrasalVerb",tag:"Auxiliary",reason:"been-told"},{match:"[(being|having|getting)] #Verb",group:0,tag:"Auxiliary",reason:"being-born"},{match:"[be] #Gerund",group:0,tag:"Auxiliary",reason:"be-walking"},{match:"[better] #PresentTense",group:0,tag:"Modal",notIf:"(#Copula|#Gerund)",reason:"better-go"},{match:"even better",tag:"Adverb #Comparative",reason:"even-better"}],[{match:"(#Verb && @hasHyphen) up",tag:"PhrasalVerb",reason:"foo-up"},{match:"(#Verb && @hasHyphen) off",tag:"PhrasalVerb",reason:"foo-off"},{match:"(#Verb && @hasHyphen) over",tag:"PhrasalVerb",reason:"foo-over"},{match:"(#Verb && @hasHyphen) out",tag:"PhrasalVerb",reason:"foo-out"},{match:"[#Verb (in|out|up|down|off|back)] (on|in)",notIf:"#Copula",tag:"PhrasalVerb Particle",reason:"walk-in-on"},{match:"(lived|went|crept|go) [on] for",group:0,tag:"PhrasalVerb",reason:"went-on"},{match:"#Verb (up|down|in|on|for)$",tag:"PhrasalVerb #Particle",notIf:"#PhrasalVerb",reason:"come-down$"},{match:"help [(stop|end|make|start)]",group:0,tag:"Infinitive",reason:"help-stop"},{match:"#PhrasalVerb (in && #Particle) #Determiner",tag:"#Verb #Preposition #Determiner",unTag:"PhrasalVerb",reason:"work-in-the"},{match:"[(stop|start|finish|help)] #Gerund",group:0,tag:"Infinitive",reason:"start-listening"},{match:"#Verb (him|her|it|us|himself|herself|itself|everything|something) [(up|down)]",group:0,tag:"Adverb",reason:"phrasal-pronoun-advb"}],[{match:"^do not? [#Infinitive #Particle?]",notIf:Yu,group:0,tag:"Imperative",reason:"do-eat"},{match:"^please do? not? [#Infinitive #Particle?]",group:0,tag:"Imperative",reason:"please-go"},{match:"^just do? not? [#Infinitive #Particle?]",group:0,tag:"Imperative",reason:"just-go"},{match:"^[#Infinitive] it #Comparative",notIf:Yu,group:0,tag:"Imperative",reason:"do-it-better"},{match:"^[#Infinitive] it (please|now|again|plz)",notIf:Yu,group:0,tag:"Imperative",reason:"do-it-please"},{match:"^[#Infinitive] (#Adjective|#Adverb)$",group:0,tag:"Imperative",notIf:"(so|such|rather|enough)",reason:"go-quickly"},{match:"^[#Infinitive] (up|down|over) #Determiner",group:0,tag:"Imperative",reason:"turn-down"},{match:"^[#Infinitive] (your|my|the|a|an|any|each|every|some|more|with|on)",group:0,notIf:"like",tag:"Imperative",reason:"eat-my-shorts"},{match:"^[#Infinitive] (him|her|it|us|me|there)",group:0,tag:"Imperative",reason:"tell-him"},{match:"^[#Infinitive] #Adjective #Noun$",group:0,tag:"Imperative",reason:"avoid-loud-noises"},{match:"^[#Infinitive] (#Adjective|#Adverb)? and #Infinitive",group:0,tag:"Imperative",reason:"call-and-reserve"},{match:"^(go|stop|wait|hurry) please?$",tag:"Imperative",reason:"go"},{match:"^(somebody|everybody) [#Infinitive]",group:0,tag:"Imperative",reason:"somebody-call"},{match:"^let (us|me) [#Infinitive]",group:0,tag:"Imperative",reason:"lets-leave"},{match:"^[(shut|close|open|start|stop|end|keep)] #Determiner #Noun",group:0,tag:"Imperative",reason:"shut-the-door"},{match:"^[#PhrasalVerb #Particle] #Determiner #Noun",group:0,tag:"Imperative",reason:"turn-off-the-light"},{match:"^[go] to .",group:0,tag:"Imperative",reason:"go-to-toronto"},{match:"^#Modal you [#Infinitive]",group:0,tag:"Imperative",reason:"would-you-"},{match:"^never [#Infinitive]",group:0,tag:"Imperative",reason:"never-stop"},{match:"^come #Infinitive",tag:"Imperative",notIf:"on",reason:"come-have"},{match:"^come and? #Infinitive",tag:"Imperative . Imperative",notIf:"#PhrasalVerb",reason:"come-and-have"},{match:"^stay (out|away|back)",tag:"Imperative",reason:"stay-away"},{match:"^[(stay|be|keep)] #Adjective",group:0,tag:"Imperative",reason:"stay-cool"},{match:"^[keep it] #Adjective",group:0,tag:"Imperative",reason:"keep-it-cool"},{match:"^do not [#Infinitive]",group:0,tag:"Imperative",reason:"do-not-be"},{match:"[#Infinitive] (yourself|yourselves)",group:0,tag:"Imperative",reason:"allow-yourself"},{match:"[#Infinitive] what .",group:0,tag:"Imperative",reason:"look-what"},{match:"^[#Infinitive] #Gerund",group:0,tag:"Imperative",reason:"keep-playing"},{match:"^[#Infinitive] (to|for|into|toward|here|there)",group:0,tag:"Imperative",reason:"go-to"},{match:"^[#Infinitive] (and|or) #Infinitive",group:0,tag:"Imperative",reason:"inf-and-inf"},{match:"^[%Noun|Verb%] to",group:0,tag:"Imperative",reason:"commit-to"},{match:"^[#Infinitive] #Adjective? #Singular #Singular",group:0,tag:"Imperative",reason:"maintain-eye-contact"},{match:"do not (forget|omit|neglect) to [#Infinitive]",group:0,tag:"Imperative",reason:"do-not-forget"},{match:"^[(ask|wear|pay|look|help|show|watch|act|fix|kill|stop|start|turn|try|win)] #Noun",group:0,tag:"Imperative",reason:"pay-attention"}],[{match:"(that|which) were [%Adj|Gerund%]",group:0,tag:"Gerund",reason:"that-were-growing"},{match:"#Gerund [#Gerund] #Plural",group:0,tag:"Adjective",reason:"hard-working-fam"}],[{match:"u r",tag:"#Pronoun #Copula",reason:"u r"},{match:"#Noun [(who|whom)]",group:0,tag:"Determiner",reason:"captain-who"},{match:"[had] #Noun+ #PastTense",group:0,tag:"Condition",reason:"had-he"},{match:"[were] #Noun+ to #Infinitive",group:0,tag:"Condition",reason:"were-he"},{match:"some sort of",tag:"Adjective Noun Conjunction",reason:"some-sort-of"},{match:"of some sort",tag:"Conjunction Adjective Noun",reason:"of-some-sort"},{match:"[such] (a|an|is)? #Noun",group:0,tag:"Determiner",reason:"such-skill"},{match:"[right] (before|after|in|into|to|toward)",group:0,tag:"#Adverb",reason:"right-into"},{match:"#Preposition [about]",group:0,tag:"Adjective",reason:"at-about"},{match:"(are|#Modal|see|do|for) [ya]",group:0,tag:"Pronoun",reason:"are-ya"},{match:"[long live] .",group:0,tag:"#Adjective #Infinitive",reason:"long-live"},{match:"[plenty] of",group:0,tag:"#Uncountable",reason:"plenty-of"},{match:"(always|nearly|barely|practically) [there]",group:0,tag:"Adjective",reason:"always-there"},{match:"[there] (#Adverb|#Pronoun)? #Copula",group:0,tag:"There",reason:"there-is"},{match:"#Copula [there] .",group:0,tag:"There",reason:"is-there"},{match:"#Modal #Adverb? [there]",group:0,tag:"There",reason:"should-there"},{match:"^[do] (you|we|they)",group:0,tag:"QuestionWord",reason:"do-you"},{match:"^[does] (he|she|it|#ProperNoun)",group:0,tag:"QuestionWord",reason:"does-he"},{match:"a [while]",group:0,tag:"Noun",reason:"a-while"},{match:"guess who",tag:"#Infinitive #QuestionWord",reason:"guess-who"},{match:"[fucking] !#Verb",group:0,tag:"#Gerund",reason:"f-as-gerund"}],[{match:"university of #Place",tag:"Organization",reason:"university-of-Foo"},{match:"#Noun (&|n) #Noun",tag:"Organization",reason:"Noun-&-Noun"},{match:"#Organization of the? #ProperNoun",tag:"Organization",reason:"org-of-place",safe:!0},{match:"#Organization #Country",tag:"Organization",reason:"org-country"},{match:"#ProperNoun #Organization",tag:"Organization",notIf:"#FirstName",reason:"titlecase-org"},{match:"#ProperNoun (ltd|co|inc|dept|assn|bros)",tag:"Organization",reason:"org-abbrv"},{match:"the [#Acronym]",group:0,tag:"Organization",reason:"the-acronym",safe:!0},{match:"government of the? [#Place+]",tag:"Organization",reason:"government-of-x"},{match:"(health|school|commerce) board",tag:"Organization",reason:"school-board"},{match:"(nominating|special|conference|executive|steering|central|congressional) committee",tag:"Organization",reason:"special-comittee"},{match:"(world|global|international|national|#Demonym) #Organization",tag:"Organization",reason:"global-org"},{match:"#Noun+ (public|private) school",tag:"School",reason:"noun-public-school"}],[{match:"(west|north|south|east|western|northern|southern|eastern)+ #Place",tag:"Region",reason:"west-norfolk"},{match:"#City [(al|ak|az|ar|ca|ct|dc|fl|ga|id|il|nv|nh|nj|ny|oh|pa|sc|tn|tx|ut|vt|pr)]",group:0,tag:"Region",reason:"us-state"},{match:"portland [or]",group:0,tag:"Region",reason:"portland-or"},{match:"#ProperNoun+ (cliff|place|range|pit|place|point|room|grounds|ruins)",tag:"Place",reason:"foo-point"},{match:"in [#ProperNoun] #Place",group:0,tag:"Place",reason:"propernoun-place"},{match:"#Value #Noun (st|street|rd|road|crescent|cr|way|tr|terrace|avenue|ave)",tag:"Address",reason:"address-st"}],[{match:"[so] #Noun",group:0,tag:"Conjunction",reason:"so-conj"},{match:"[(who|what|where|why|how|when)] #Noun #Copula #Adverb? (#Verb|#Adjective)",group:0,tag:"Conjunction",reason:"how-he-is-x"},{match:"#Copula [(who|what|where|why|how|when)] #Noun",group:0,tag:"Conjunction",reason:"when-he"},{match:"#Verb [that] #Pronoun",group:0,tag:"Conjunction",reason:"said-that-he"},{match:"#Noun [that] #Copula",group:0,tag:"Conjunction",reason:"that-are"},{match:"#Noun [that] #Verb #Adjective",group:0,tag:"Conjunction",reason:"that-seem"},{match:"#Noun #Copula not? [that] #Adjective",group:0,tag:"Adverb",reason:"that-adj"},{match:"#Verb #Adverb? #Noun [(that|which)]",group:0,tag:"Preposition",reason:"that-prep"},{match:"@hasComma [which] (#Pronoun|#Verb)",group:0,tag:"Preposition",reason:"which-copula"},{match:"#Noun [like] #Noun",group:0,tag:"Preposition",reason:"noun-like"},{match:"^[like] #Determiner",group:0,tag:"Preposition",reason:"like-the"},{match:"a #Noun [like] (#Noun|#Determiner)",group:0,tag:"Preposition",reason:"a-noun-like"},{match:"#Adverb [like]",group:0,tag:"Verb",reason:"really-like"},{match:"(not|nothing|never) [like]",group:0,tag:"Preposition",reason:"nothing-like"},{match:"#Infinitive #Pronoun [like]",group:0,tag:"Preposition",reason:"treat-them-like"},{match:"[#QuestionWord] (#Pronoun|#Determiner)",group:0,tag:"Preposition",reason:"how-he"},{match:"[#QuestionWord] #Participle",group:0,tag:"Preposition",reason:"when-stolen"},{match:"[how] (#Determiner|#Copula|#Modal|#PastTense)",group:0,tag:"QuestionWord",reason:"how-is"},{match:"#Plural [(who|which|when)] .",group:0,tag:"Preposition",reason:"people-who"}],[{match:"holy (shit|fuck|hell)",tag:"Expression",reason:"swears-expression"},{match:"^[(well|so|okay|now)] !#Adjective?",group:0,tag:"Expression",reason:"well-"},{match:"^come on",tag:"Expression",reason:"come-on"},{match:"(say|says|said) [sorry]",group:0,tag:"Expression",reason:"say-sorry"},{match:"^(ok|alright|shoot|hell|anyways)",tag:"Expression",reason:"ok-"},{match:"^(say && @hasComma)",tag:"Expression",reason:"say-"},{match:"^(like && @hasComma)",tag:"Expression",reason:"like-"},{match:"^[(dude|man|girl)] #Pronoun",group:0,tag:"Expression",reason:"dude-i"}]),tc=null;var nc={postTagger:function(e){const{world:t}=e,{model:n,methods:a}=t;tc=tc||a.one.buildNet(n.two.matches,t);let r=a.two.quickSplit(e.document).map((e=>{let t=e[0];return[t.index[0],t.index[1],t.index[1]+e.length]})),o=e.update(r);return o.cache(),o.sweep(tc),e.uncache(),e},tagger:e=>e.compute(["lexicon","preTagger","postTagger"])};const ac={api:function(e){e.prototype.confidence=function(){let e=0,t=0;return this.docs.forEach((n=>{n.forEach((n=>{t+=1,e+=n.confidence||1}))})),0===t?1:(e=>Math.round(100*e)/100)(e/t)},e.prototype.tagger=function(){return this.compute(["tagger"])}},compute:nc,model:{two:{matches:ec}},hooks:["postTagger"]};var rc=ac,oc=function(e,t){let n=function(e){return Object.keys(e.hooks).filter((e=>!e.startsWith("#")&&!e.startsWith("%")))}(t);if(0===n.length)return e;e._cache||e.cache();let a=e._cache;return e.filter(((e,t)=>n.some((e=>a[t].has(e)))))},ic=function(e,t){let n=t;"string"==typeof t&&(n=this.buildNet([{match:t}]));let a=this.tokenize(e),r=oc(a,n);return r.found?(r.compute(["index","tagger"]),r.match(t)):a.none()},sc={lib:{lazy:ic}},lc=function(e,t){let n=t;return e.forEach((e=>{e.has("#Infinitive")||(n=function(e,t){let n=(0,e.methods.two.transform.verb.conjugate)(t,e.model);return e.has("#Gerund")?n.Gerund:e.has("#PastTense")?n.PastTense:e.has("#PresentTense")?n.PresentTense:e.has("#Gerund")?n.Gerund:t}(e,t)),e.replaceWith(n)})),e},uc=function(e,t,n){let a=e.split(/ /g).map((e=>e.toLowerCase().trim()));a=a.filter((e=>e)),a=a.map((e=>`{${e}}`)).join(" ");let r=this.match(a);return n&&(r=r.if(n)),r.has("#Verb")?lc(r,t):r.has("#Noun")?function(e,t){let n=t;e.has("#Plural")&&(n=(0,e.methods.two.transform.noun.toPlural)(t,e.model)),e.replaceWith(n,{possessives:!0})}(r,t):r.has("#Adverb")?function(e,t){const{toAdverb:n}=e.methods.two.transform.adjective;let a=n(t);a&&e.replaceWith(a)}(r,t):r.has("#Adjective")?function(e,t){const{toComparative:n,toSuperlative:a}=e.methods.two.transform.adjective;let r=t;e.has("#Comparative")?r=n(r,e.model):e.has("#Superlative")&&(r=a(r,e.model)),r&&e.replaceWith(r)}(r,t):this},cc={api:function(e){e.prototype.swap=uc}};return b.plugin(Tu),b.plugin(Zu),b.plugin(rc),b.plugin(sc),b.plugin(cc),b},"object"==typeof exports&&"undefined"!=typeof module?module.exports=t():"function"==typeof define&&define.amd?define(t):(e="undefined"!=typeof globalThis?globalThis:e||self).nlp=t(); diff --git a/builds/two/compromise-two.mjs b/builds/two/compromise-two.mjs index 46f7b0fff..2b76f9731 100644 --- a/builds/two/compromise-two.mjs +++ b/builds/two/compromise-two.mjs @@ -1 +1 @@ -var e={methods:{one:{},two:{},three:{},four:{}},model:{one:{},two:{},three:{}},compute:{},hooks:[]};const t={compute:function(e){const{world:t}=this,n=t.compute;return"string"==typeof e&&n.hasOwnProperty(e)?n[e](this):(e=>"[object Array]"===Object.prototype.toString.call(e))(e)?e.forEach((a=>{t.compute.hasOwnProperty(a)?n[a](this):console.warn("no compute:",e)})):"function"==typeof e?e(this):console.warn("no compute:",e),this}};var n=t;var a={forEach:function(e){return this.fullPointer.forEach(((t,n)=>{let a=this.update([t]);e(a,n)})),this},map:function(e,t){let n=this.fullPointer.map(((t,n)=>{let a=this.update([t]),r=e(a,n);return void 0===r?this.none():r}));if(0===n.length)return t||this.update([]);if(void 0!==n[0]){if("string"==typeof n[0])return n;if("object"==typeof n[0]&&(null===n[0]||!n[0].isView))return n}let a=[];return n.forEach((e=>{a=a.concat(e.fullPointer)})),this.toView(a)},filter:function(e){let t=this.fullPointer;return t=t.filter(((t,n)=>{let a=this.update([t]);return e(a,n)})),this.update(t)},find:function(e){let t=this.fullPointer.find(((t,n)=>{let a=this.update([t]);return e(a,n)}));return this.update([t])},some:function(e){return this.fullPointer.some(((t,n)=>{let a=this.update([t]);return e(a,n)}))},random:function(e=1){let t=this.fullPointer,n=Math.floor(Math.random()*t.length);return n+e>this.length&&(n=this.length-e,n=n<0?0:n),t=t.slice(n,n+e),this.update(t)}};const r={termList:function(){return this.methods.one.termList(this.docs)},terms:function(e){let t=this.match(".");return"number"==typeof e?t.eq(e):t},groups:function(e){if(e||0===e)return this.update(this._groups[e]||[]);let t={};return Object.keys(this._groups).forEach((e=>{t[e]=this.update(this._groups[e])})),t},eq:function(e){let t=this.pointer;return t||(t=this.docs.map(((e,t)=>[t]))),t[e]?this.update([t[e]]):this.none()},first:function(){return this.eq(0)},last:function(){let e=this.fullPointer.length-1;return this.eq(e)},firstTerms:function(){return this.match("^.")},lastTerms:function(){return this.match(".$")},slice:function(e,t){let n=this.pointer||this.docs.map(((e,t)=>[t]));return n=n.slice(e,t),this.update(n)},all:function(){return this.update().toView()},fullSentences:function(){let e=this.fullPointer.map((e=>[e[0]]));return this.update(e).toView()},none:function(){return this.update([])},isDoc:function(e){if(!e||!e.isView)return!1;let t=this.fullPointer,n=e.fullPointer;return!t.length!==n.length&&t.every(((e,t)=>!!n[t]&&(e[0]===n[t][0]&&e[1]===n[t][1]&&e[2]===n[t][2])))},wordCount:function(){return this.docs.reduce(((e,t)=>(e+=t.filter((e=>""!==e.text)).length,e)),0)},isFull:function(){let e=this.pointer;if(!e)return!0;if(0===e.length||0!==e[0][0])return!1;let t=0,n=0;return this.document.forEach((e=>t+=e.length)),this.docs.forEach((e=>n+=e.length)),t===n},getNth:function(e){return"number"==typeof e?this.eq(e):"string"==typeof e?this.if(e):this}};r.group=r.groups,r.fullSentence=r.fullSentences,r.sentence=r.fullSentences,r.lastTerm=r.lastTerms,r.firstTerm=r.firstTerms;var o=r;const i=Object.assign({},o,n,a);i.get=i.eq;var s=i;class View{constructor(t,n,a={}){[["document",t],["world",e],["_groups",a],["_cache",null],["viewType","View"]].forEach((e=>{Object.defineProperty(this,e[0],{value:e[1],writable:!0})})),this.ptrs=n}get docs(){let t=this.document;return this.ptrs&&(t=e.methods.one.getDoc(this.ptrs,this.document)),t}get pointer(){return this.ptrs}get methods(){return this.world.methods}get model(){return this.world.model}get hooks(){return this.world.hooks}get isView(){return!0}get found(){return this.docs.length>0}get length(){return this.docs.length}get fullPointer(){let{docs:e,ptrs:t,document:n}=this,a=t||e.map(((e,t)=>[t]));return a.map((e=>{let[t,a,r,o,i]=e;return a=a||0,r=r||(n[t]||[]).length,n[t]&&n[t][a]&&(o=o||n[t][a].id,n[t][r-1]&&(i=i||n[t][r-1].id)),[t,a,r,o,i]}))}update(e){let t=new View(this.document,e);if(this._cache&&e&&e.length>0){let n=[];e.forEach(((e,t)=>{let[a,r,o]=e;(1===e.length||0===r&&this.document[a].length===o)&&(n[t]=this._cache[a])})),n.length>0&&(t._cache=n)}return t.world=this.world,t}toView(e){return new View(this.document,e||this.pointer)}fromText(e){const{methods:t}=this;let n=t.one.tokenize.fromString(e,this.world),a=new View(n);return a.world=this.world,a.compute(["normal","lexicon"]),this.world.compute.preTagger&&a.compute("preTagger"),a}clone(){let e=this.document.slice(0);e=e.map((e=>e.map((e=>((e=Object.assign({},e)).tags=new Set(e.tags),e)))));let t=this.update(this.pointer);return t.document=e,t._cache=this._cache,t}}Object.assign(View.prototype,s);var l=View;const u=function(e){return e&&"object"==typeof e&&!Array.isArray(e)};function c(e,t){if(u(t))for(const n in t)u(t[n])?(e[n]||Object.assign(e,{[n]:{}}),c(e[n],t[n])):Object.assign(e,{[n]:t[n]});return e}var d=function(e,t,n,a){const{methods:r,model:o,compute:i,hooks:s}=t;e.methods&&function(e,t){for(const n in t)e[n]=e[n]||{},Object.assign(e[n],t[n])}(r,e.methods),e.model&&c(o,e.model),e.irregulars&&function(e,t){let n=e.two.models||{};Object.keys(t).forEach((e=>{t[e].pastTense&&(n.toPast&&(n.toPast.ex[e]=t[e].pastTense),n.fromPast&&(n.fromPast.ex[t[e].pastTense]=e)),t[e].presentTense&&(n.toPresent&&(n.toPresent.ex[e]=t[e].presentTense),n.fromPresent&&(n.fromPresent.ex[t[e].presentTense]=e)),t[e].gerund&&(n.toGerund&&(n.toGerund.ex[e]=t[e].gerund),n.fromGerund&&(n.fromGerund.ex[t[e].gerund]=e)),t[e].comparative&&(n.toComparative&&(n.toComparative.ex[e]=t[e].comparative),n.fromComparative&&(n.fromComparative.ex[t[e].comparative]=e)),t[e].superlative&&(n.toSuperlative&&(n.toSuperlative.ex[e]=t[e].superlative),n.fromSuperlative&&(n.fromSuperlative.ex[t[e].superlative]=e))}))}(o,e.irregulars),e.compute&&Object.assign(i,e.compute),s&&(t.hooks=s.concat(e.hooks||[])),e.api&&e.api(n),e.lib&&Object.keys(e.lib).forEach((t=>a[t]=e.lib[t])),e.tags&&a.addTags(e.tags),e.words&&a.addWords(e.words),e.mutate&&e.mutate(t)};const h=function(e){return"[object Array]"===Object.prototype.toString.call(e)};var m=function(e,t,n){const{methods:a}=n;let r=new t([]);if(r.world=n,"number"==typeof e&&(e=String(e)),!e)return r;if("string"==typeof e){return new t(a.one.tokenize.fromString(e,n))}if(o=e,"[object Object]"===Object.prototype.toString.call(o)&&e.isView)return new t(e.document,e.ptrs);var o;if(h(e)){if(h(e[0])){let n=e.map((e=>e.map((e=>({text:e,normal:e,pre:"",post:" ",tags:new Set})))));return new t(n)}let n=function(e){return e.map((e=>e.terms.map((e=>(h(e.tags)&&(e.tags=new Set(e.tags)),e)))))}(e);return new t(n)}return r};let p=Object.assign({},e);const f=function(e,t){t&&f.addWords(t);let n=m(e,l,p);return e&&n.compute(p.hooks),n};Object.defineProperty(f,"_world",{value:p,writable:!0}),f.tokenize=function(e,t){const{compute:n}=this._world;t&&f.addWords(t);let a=m(e,l,p);return n.contractions&&a.compute(["alias","normal","machine","contractions"]),a},f.plugin=function(e){return d(e,this._world,l,this),this},f.extend=f.plugin,f.world=function(){return this._world},f.model=function(){return this._world.model},f.methods=function(){return this._world.methods},f.hooks=function(){return this._world.hooks},f.verbose=function(e){const t="undefined"!=typeof process&&process.env?process.env:self.env||{};return t.DEBUG_TAGS="tagger"===e||!0===e||"",t.DEBUG_MATCH="match"===e||!0===e||"",t.DEBUG_CHUNKS="chunker"===e||!0===e||"",this},f.version="14.10.0";var b=f;var v=function(e){let t=e.map((e=>{let t=new Set;return e.forEach((e=>{""!==e.normal&&t.add(e.normal),e.switch&&t.add(`%${e.switch}%`),e.implicit&&t.add(e.implicit),e.machine&&t.add(e.machine),e.root&&t.add(e.root),e.alias&&e.alias.forEach((e=>t.add(e)));let n=Array.from(e.tags);for(let e=0;e/^\p{Lu}[\p{Ll}'’]/u.test(e)||/^\p{Lu}$/u.test(e),A=(e,t,n)=>{if(n.forEach((e=>e.dirty=!0)),e){let a=[t,0].concat(n);Array.prototype.splice.apply(e,a)}return e},I=function(e){let t=e[e.length-1];!t||/ $/.test(t.post)||/[-–—]/.test(t.post)||(t.post+=" ")},E=(e,t,n)=>{const a=/[-.?!,;:)–—'"]/g;let r=e[t-1];if(!r)return;let o=r.post;if(a.test(o)){let e=o.match(a).join(""),t=n[n.length-1];t.post=e+t.post,r.post=r.post.replace(a,"")}},j=function(e,t,n,a){let[r,o,i]=t;0===o||i===a[r].length?I(n):(I(n),I([e[t[1]]])),function(e,t,n){let a=e[t];if(0!==t||!P(a.text))return;n[0].text=n[0].text.replace(/^\p{Ll}/u,(e=>e.toUpperCase()));let r=e[t];r.tags.has("ProperNoun")||r.tags.has("Acronym")||P(r.text)&&r.text.length>1&&(r.text=(o=r.text,o.replace(/^\p{Lu}/u,(e=>e.toLowerCase()))));var o}(e,o,n),A(e,o,n)};let D=0;const N=e=>(e=e.length<3?"0"+e:e).length<3?"0"+e:e;var x=function(e){let[t,n]=e.index||[0,0];D+=1,D=D>46655?0:D,t=t>46655?0:t,n=n>1294?0:n;let a=N(D.toString(36));a+=N(t.toString(36));let r=n.toString(36);return r=r.length<2?"0"+r:r,a+=r,a+=parseInt(36*Math.random(),10).toString(36),e.normal+"|"+a.toUpperCase()};const C=function(e){if(e.has("@hasContraction")&&"function"==typeof e.contractions){e.grow("@hasContraction").contractions().expand()}},T=e=>"[object Array]"===Object.prototype.toString.call(e),F=function(e,t,n){const{document:a,world:r}=t;t.uncache();let o=t.fullPointer,i=t.fullPointer;t.forEach(((s,l)=>{let u=s.fullPointer[0],[c]=u,d=a[c],h=function(e,t){const{methods:n}=t;return"string"==typeof e?n.one.tokenize.fromString(e,t)[0]:"object"==typeof e&&e.isView?e.clone().docs[0]||[]:T(e)?T(e[0])?e[0]:e:[]}(e,r);0!==h.length&&(h=function(e){return e.map((e=>(e.id=x(e),e)))}(h),n?(C(t.update([u]).firstTerm()),j(d,u,h,a)):(C(t.update([u]).lastTerm()),function(e,t,n,a){let[r,,o]=t,i=(a[r]||[]).length;o{let n=t(e);e.replaceWith(n)})),e}(a,e);let r=a.docs[0],o=t.possessives&&r[r.length-1].tags.has("Possessive");e=function(e,t){if("string"!=typeof e)return e;let n=t.groups();return e=e.replace(V,(e=>{let t=e.replace(/\$/,"");return n.hasOwnProperty(t)?n[t].text():e})),e}(e,a);let i=this.update(n);n=n.map((e=>e.slice(0,3)));let s=(i.docs[0]||[]).map((e=>Array.from(e.tags)));if("string"==typeof e&&(e=this.fromText(e).compute("id")),a.insertAfter(e),i.has("@hasContraction")&&a.contractions){a.grow("@hasContraction+").contractions().expand()}if(a.delete(i),o){let e=a.docs[0],t=e[e.length-1];t.tags.has("Possessive")||(t.text+="'s",t.normal+="'s",t.tags.add("Possessive"))}let l=a.toView(n).compute(["index","lexicon"]);return l.world.compute.preTagger&&l.compute("preTagger"),t.tags&&l.terms().forEach(((e,t)=>{e.tagSafe(s[t])})),t.case&&l.docs[0]&&l.docs[0][0]&&0===l.docs[0][0].index[1]&&(l.docs[0][0].text=l.docs[0][0].text.replace(/\w\S*/g,(e=>e.charAt(0).toUpperCase()+e.substring(1).toLowerCase()))),l},z.replace=function(e,t,n){if(e&&!t)return this.replaceWith(e,n);let a=this.match(e);return a.found?(this.soften(),a.replaceWith(t,n)):this};var L=z;var M=function(e,t){t.forEach((t=>{let[n,a,r]=t,o=r-a;e[n]&&(r===e[n].length&&r>1&&function(e,t){let n=e.length-1,a=e[n],r=e[n-t];r&&a&&(r.post+=a.post,r.post=r.post.replace(/ +([.?!,;:])/,"$1"),r.post=r.post.replace(/[,;:]+([.?!])/,"$1"))}(e[n],o),e[n].splice(a,o))}));for(let t=e.length-1;t>=0;t-=1)if(0===e[t].length&&(e.splice(t,1),t===e.length&&e[t-1])){let n=e[t-1],a=n[n.length-1];a&&(a.post=a.post.trimEnd())}return e};const S={remove:function(e){const{indexN:t}=this.methods.one.pointer;this.uncache();let n=this.all(),a=this;e&&(n=this,a=this.match(e));let r=!n.ptrs;if(a.has("@hasContraction")&&a.contractions){a.grow("@hasContraction").contractions().expand()}let o=n.fullPointer,i=a.fullPointer.reverse(),s=M(this.document,i);return o=function(e,t){return e=e.map((e=>{let[n]=e;return t[n]?(t[n].forEach((t=>{let n=t[2]-t[1];e[1]<=t[1]&&e[2]>=t[2]&&(e[2]-=n)})),e):e})),e.forEach(((t,n)=>{if(0===t[1]&&0==t[2])for(let t=n+1;te[2]-e[1]>0))).map((e=>(e[3]=null,e[4]=null,e)))}(o,t(i)),n.ptrs=o,n.document=s,n.compute("index"),r&&(n.ptrs=void 0),e?n.toView(o):(this.ptrs=[],n.none())}};S.delete=S.remove;var $=S;const B={pre:function(e,t){return void 0===e&&this.found?this.docs[0][0].pre:(this.docs.forEach((n=>{let a=n[0];!0===t?a.pre+=e:a.pre=e})),this)},post:function(e,t){if(void 0===e){let e=this.docs[this.docs.length-1];return e[e.length-1].post}return this.docs.forEach((n=>{let a=n[n.length-1];!0===t?a.post+=e:a.post=e})),this},trim:function(){if(!this.found)return this;let e=this.docs,t=e[0][0];t.pre=t.pre.trimStart();let n=e[e.length-1],a=n[n.length-1];return a.post=a.post.trimEnd(),this},hyphenate:function(){return this.docs.forEach((e=>{e.forEach(((t,n)=>{0!==n&&(t.pre=""),e[n+1]&&(t.post="-")}))})),this},dehyphenate:function(){const e=/[-–—]/;return this.docs.forEach((t=>{t.forEach((t=>{e.test(t.post)&&(t.post=" ")}))})),this},toQuotations:function(e,t){return e=e||'"',t=t||'"',this.docs.forEach((n=>{n[0].pre=e+n[0].pre;let a=n[n.length-1];a.post=t+a.post})),this},toParentheses:function(e,t){return e=e||"(",t=t||")",this.docs.forEach((n=>{n[0].pre=e+n[0].pre;let a=n[n.length-1];a.post=t+a.post})),this}};B.deHyphenate=B.dehyphenate,B.toQuotation=B.toQuotations;var J=B;var H={alpha:(e,t)=>e.normalt.normal?1:0,length:(e,t)=>{let n=e.normal.trim().length,a=t.normal.trim().length;return na?-1:0},wordCount:(e,t)=>e.wordst.words?-1:0,sequential:(e,t)=>e[0]t[0]?-1:e[1]>t[1]?1:-1,byFreq:function(e){let t={};return e.forEach((e=>{t[e.normal]=t[e.normal]||0,t[e.normal]+=1})),e.sort(((e,n)=>{let a=t[e.normal],r=t[n.normal];return ar?-1:0})),e}};const W=new Set(["index","sequence","seq","sequential","chron","chronological"]),K=new Set(["freq","frequency","topk","repeats"]),q=new Set(["alpha","alphabetical"]);var U={unique:function(){let e=new Set,t=this.filter((t=>{let n=t.text("machine");return!e.has(n)&&(e.add(n),!0)}));return t},reverse:function(){let e=this.pointer||this.docs.map(((e,t)=>[t]));return e=[].concat(e),e=e.reverse(),this._cache&&(this._cache=this._cache.reverse()),this.update(e)},sort:function(e){let{docs:t,pointer:n}=this;if(this.uncache(),"function"==typeof e)return function(e,t){let n=e.fullPointer;return n=n.sort(((n,a)=>(n=e.update([n]),a=e.update([a]),t(n,a)))),e.ptrs=n,e}(this,e);e=e||"alpha";let a=n||t.map(((e,t)=>[t])),r=t.map(((e,t)=>({index:t,words:e.length,normal:e.map((e=>e.machine||e.normal||"")).join(" "),pointer:a[t]})));return W.has(e)&&(e="sequential"),q.has(e)&&(e="alpha"),K.has(e)?(r=H.byFreq(r),this.update(r.map((e=>e.pointer)))):"function"==typeof H[e]?(r=r.sort(H[e]),this.update(r.map((e=>e.pointer)))):this}};const Q=function(e,t){if(e.length>0){let t=e[e.length-1],n=t[t.length-1];!1===/ /.test(n.post)&&(n.post+=" ")}return e=e.concat(t)};var R={concat:function(e){if("string"==typeof e){let t=this.fromText(e);if(this.found&&this.ptrs){let e=this.fullPointer,n=e[e.length-1][0];this.document.splice(n,0,...t.document)}else this.document=this.document.concat(t.document);return this.all().compute("index")}if("object"==typeof e&&e.isView)return function(e,t){if(e.document===t.document){let n=e.fullPointer.concat(t.fullPointer);return e.toView(n).compute("index")}return t.fullPointer.forEach((t=>{t[0]+=e.document.length})),e.document=Q(e.document,t.docs),e.all()}(this,e);if(t=e,"[object Array]"===Object.prototype.toString.call(t)){let t=Q(this.document,e);return this.document=t,this.all()}var t;return this}};var X={harden:function(){return this.ptrs=this.fullPointer,this},soften:function(){let e=this.ptrs;return!e||e.length<1||(e=e.map((e=>e.slice(0,3))),this.ptrs=e),this}};const Z=Object.assign({},{toLowerCase:function(){return this.termList().forEach((e=>{e.text=e.text.toLowerCase()})),this},toUpperCase:function(){return this.termList().forEach((e=>{e.text=e.text.toUpperCase()})),this},toTitleCase:function(){return this.termList().forEach((e=>{e.text=e.text.replace(/^ *[a-z\u00C0-\u00FF]/,(e=>e.toUpperCase()))})),this},toCamelCase:function(){return this.docs.forEach((e=>{e.forEach(((t,n)=>{0!==n&&(t.text=t.text.replace(/^ *[a-z\u00C0-\u00FF]/,(e=>e.toUpperCase()))),n!==e.length-1&&(t.post="")}))})),this}},G,L,$,J,U,R,X);var _=function(e){Object.assign(e.prototype,Z)};const Y={id:function(e){let t=e.docs;for(let e=0;e(e.implicit=e.text,e.machine=e.text,e.pre="",e.post="",e.text="",e.normal="",e.index=[a,r+t],e))),n[0]&&(n[0].pre=e[a][r].pre,n[n.length-1].post=e[a][r].post,n[0].text=e[a][r].text,n[0].normal=e[a][r].normal),e[a].splice(r,1,...n))};const re=/'/,oe=new Set(["what","how","when","where","why"]),ie=new Set(["be","go","start","think","need"]),se=new Set(["been","gone"]);var le=function(e,t){let n=e[t].normal.split(re)[0];if(oe.has(n))return[n,"did"];if(e[t+1]){if(se.has(e[t+1].normal))return[n,"had"];if(ie.has(e[t+1].normal))return[n,"would"]}return null};var ue=function(e,t){if("ain't"===e[t].normal||"aint"===e[t].normal)return null;return[e[t].normal.replace(/n't/,""),"not"]};const ce=/'/;var de=(e,t)=>["je",e[t].normal.split(ce)[1]],he=(e,t)=>{let n=e[t].normal.split(ce)[1];return n&&n.endsWith("e")?["la",n]:["le",n]},ge=(e,t)=>{let n=e[t].normal.split(ce)[1];return n&&n.endsWith("e")?["du",n]:n&&n.endsWith("s")?["des",n]:["de",n]};const me=/^([0-9.]{1,4}[a-z]{0,2}) ?[-–—] ?([0-9]{1,4}[a-z]{0,2})$/i,pe=/^([0-9]{1,2}(:[0-9][0-9])?(am|pm)?) ?[-–—] ?([0-9]{1,2}(:[0-9][0-9])?(am|pm)?)$/i,fe=/^[0-9]{3}-[0-9]{4}$/;var be=function(e,t){let n=e[t],a=n.text.match(me);return null!==a?!0===n.tags.has("PhoneNumber")||fe.test(n.text)?null:[a[1],"to",a[2]]:(a=n.text.match(pe),null!==a?[a[1],"to",a[4]]:null)};const ve=/^([+-]?[0-9][.,0-9]*)([a-z°²³µ/]+)$/;var ye=function(e,t,n){const a=n.model.one.numberSuffixes||{};let r=e[t].text.match(ve);if(null!==r){let e=r[2].toLowerCase().trim();return a.hasOwnProperty(e)?null:[r[1],e]}return null};const we=/'/,ke=/^[0-9][^-–—]*[-–—].*?[0-9]/,Pe=function(e,t,n,a){let r=t.update();r.document=[e];let o=n+a;n>0&&(n-=1),e[o]&&(o+=1),r.ptrs=[[0,n,o]]},Ae={t:(e,t)=>ue(e,t),d:(e,t)=>le(e,t)},Ie={j:(e,t)=>de(e,t),l:(e,t)=>he(e,t),d:(e,t)=>ge(e,t)},Ee=function(e,t,n,a){for(let r=0;r2)return o.out.concat(a)}return null},je=function(e,t){let n=t.fromText(e.join(" "));return n.compute(["id","alias"]),n.docs[0]},De=function(e,t){for(let n=t+1;n<5&&e[n];n+=1)if("been"===e[n].normal)return["there","has"];return["there","is"]};var Ne=e=>{let{world:t,document:n}=e;const{model:a,methods:r}=t;let o=a.one.contractions||[];n.forEach(((a,i)=>{for(let s=a.length-1;s>=0;s-=1){let l=null,u=null;!0===we.test(a[s].normal)&&([l,u]=a[s].normal.split(we));let c=Ee(o,a[s],l,u);!c&&Ae.hasOwnProperty(u)&&(c=Ae[u](a,s,t)),!c&&Ie.hasOwnProperty(l)&&(c=Ie[l](a,s)),"there"===l&&"s"===u&&(c=De(a,s)),c?(c=je(c,e),ae(n,[i,s],c),Pe(n[i],e,s,c.length)):ke.test(a[s].normal)?(c=be(a,s),c&&(c=je(c,e),ae(n,[i,s],c),r.one.setTag(c,"NumberRange",t),c[2]&&c[2].tags.has("Time")&&r.one.setTag([c[0]],"Time",t,null,"time-range"),Pe(n[i],e,s,c.length))):(c=ye(a,s,t),c&&(c=je(c,e),ae(n,[i,s],c),r.one.setTag([c[1]],"Unit",t,null,"contraction-unit")))}}))};var xe={model:ne,compute:{contractions:Ne},hooks:["contractions"]};var Ce=function(e,t,n){const{model:a,methods:r}=n,o=r.one.setTag,i=a.one._multiCache||{},s=a.one.lexicon||{};let l=e[t],u=l.machine||l.normal;return void 0!==e[t+1]&&!0===i[u]?function(e,t,n,a,r){let o=t+4>e.length?e.length-t:4,i=e[t].machine||e[t].normal;for(let s=1;si.hasOwnProperty(e)));if(e){return o([s],i[e],n,!1,"1-lexicon-alias"),!0}}if(!0===Te.test(l)){let e=l.replace(Te,"");if(i.hasOwnProperty(e)&&e.length>3&&Fe.has(i[e]))return o([s],i[e],n,!1,"1-lexicon-prefix"),!0}return null};var Ge={lexicon:function(e){const t=e.world;e.docs.forEach((e=>{for(let n=0;n{let r=e[a],o=(a=(a=a.toLowerCase().trim()).replace(/'s\b/,"")).split(/ /);o.length>1&&(n[o[0]]=!0),t[a]=t[a]||r})),delete t[""],delete t.null,delete t[" "],{lex:t,_multi:n}};var ze={addWords:function(e){const t=this.world(),{methods:n,model:a}=t;if(e)if(Object.keys(e).forEach((t=>{"string"==typeof e[t]&&e[t].startsWith("#")&&(e[t]=e[t].replace(/^#/,""))})),n.two.expandLexicon){let{lex:r,_multi:o}=n.two.expandLexicon(e,t);Object.assign(a.one.lexicon,r),Object.assign(a.one._multiCache,o)}else if(n.one.expandLexicon){let{lex:r,_multi:o}=n.one.expandLexicon(e,t);Object.assign(a.one.lexicon,r),Object.assign(a.one._multiCache,o)}else Object.assign(a.one.lexicon,e)}};var Le={model:{one:{lexicon:{},_multiCache:{}}},methods:{one:{expandLexicon:Ve}},compute:Ge,lib:ze,hooks:["lexicon"]};var Me=function(e,t){let n=[{}],a=[null],r=[0],o=[],i=0;e.forEach((function(e){let r=0,o=function(e,t){const{methods:n,model:a}=t;let r=n.one.tokenize.splitTerms(e,a).map((e=>n.one.tokenize.splitWhitespace(e,a)));return r.map((e=>e.text.toLowerCase()))}(e,t);for(let e=0;e0&&!n[i].hasOwnProperty(l);)i=r[i];if(n.hasOwnProperty(i)){let e=n[i][l];r[u]=e,a[e]&&(a[u]=a[u]||[],a[u]=a[u].concat(a[e]))}else r[u]=0}}return{goNext:n,endAs:a,failTo:r}};const Se=function(e,t,n){let a=0,r=[];for(let o=0;o0&&(void 0===t.goNext[a]||!t.goNext[a].hasOwnProperty(i));)a=t.failTo[a]||0;if(t.goNext[a].hasOwnProperty(i)&&(a=t.goNext[a][i],t.endAs[a])){let n=t.endAs[a];for(let t=0;t0&&(a=a.concat(l))}return e.update(a)};const Je=(e,t)=>{for(let n=e.length-1;n>=0;n-=1)if(e[n]!==t)return e=e.slice(0,n+1);return e};var He=function(e){return e.goNext=e.goNext.map((e=>{if(0!==Object.keys(e).length)return e})),e.goNext=Je(e.goNext,void 0),e.failTo=Je(e.failTo,0),e.endAs=Je(e.endAs,null),e};const We={buildTrie:function(e){const t=Me(e,this.world());return He(t)}};We.compile=We.buildTrie;var Ke={api:function(e){e.prototype.lookup=function(e,t={}){if(!e)return this.none();"string"==typeof e&&(e=[e]);let n=(a=e,"[object Object]"===Object.prototype.toString.call(a)?e:Me(e,this.world));var a;let r=Be(this,n,t);return r=r.settle(),r}},lib:We};const qe=function(e,t){return t?(e.forEach((e=>{let n=e[0];t[n]&&(e[0]=t[n][0],e[1]+=t[n][1],e[2]+=t[n][1])})),e):e},Ue=function(e,t){let{ptrs:n,byGroup:a}=e;return n=qe(n,t),Object.keys(a).forEach((e=>{a[e]=qe(a[e],t)})),{ptrs:n,byGroup:a}},Qe=e=>"[object Object]"===Object.prototype.toString.call(e),Re=e=>e&&Qe(e)&&!0===e.isView,Xe=e=>e&&Qe(e)&&!0===e.isNet,Ze=function(e,t,n){const a=n.methods.one;return"number"==typeof e&&(e=String(e)),"string"==typeof e&&(e=a.killUnicode(e,n),e=a.parseMatch(e,t,n)),e};var _e={matchOne:function(e,t,n){const a=this.methods.one;if(Re(e))return this.intersection(e).eq(0);if(Xe(e))return this.sweep(e,{tagger:!1,matchOne:!0}).view;let r={regs:e=Ze(e,n,this.world),group:t,justOne:!0},o=a.match(this.docs,r,this._cache),{ptrs:i,byGroup:s}=Ue(o,this.fullPointer),l=this.toView(i);return l._groups=s,l},match:function(e,t,n){const a=this.methods.one;if(Re(e))return this.intersection(e);if(Xe(e))return this.sweep(e,{tagger:!1}).view.settle();let r={regs:e=Ze(e,n,this.world),group:t},o=a.match(this.docs,r,this._cache),{ptrs:i,byGroup:s}=Ue(o,this.fullPointer),l=this.toView(i);return l._groups=s,l},has:function(e,t,n){const a=this.methods.one;if(Re(e)){return e.fullPointer.length>0}if(Xe(e))return this.sweep(e,{tagger:!1}).view.found;let r={regs:e=Ze(e,n,this.world),group:t,justOne:!0};return a.match(this.docs,r,this._cache).ptrs.length>0},if:function(e,t,n){const a=this.methods.one;if(Re(e))return this.filter((t=>t.intersection(e).found));if(Xe(e)){let t=this.sweep(e,{tagger:!1}).view.settle();return this.if(t)}let r={regs:e=Ze(e,n,this.world),group:t,justOne:!0},o=this.fullPointer,i=this._cache||[];o=o.filter(((e,t)=>{let n=this.update([e]);return a.match(n.docs,r,i[t]).ptrs.length>0}));let s=this.update(o);return this._cache&&(s._cache=o.map((e=>i[e[0]]))),s},ifNo:function(e,t,n){const{methods:a}=this,r=a.one;if(Re(e))return this.filter((t=>!t.intersection(e).found));if(Xe(e)){let t=this.sweep(e,{tagger:!1}).view.settle();return this.ifNo(t)}e=Ze(e,n,this.world);let o=this._cache||[],i=this.filter(((n,a)=>{let i={regs:e,group:t,justOne:!0};return 0===r.match(n.docs,i,o[a]).ptrs.length}));return this._cache&&(i._cache=i.ptrs.map((e=>o[e[0]]))),i}};var Ye={before:function(e,t,n){const{indexN:a}=this.methods.one.pointer;let r=[],o=a(this.fullPointer);Object.keys(o).forEach((e=>{let t=o[e].sort(((e,t)=>e[1]>t[1]?1:-1))[0];t[1]>0&&r.push([t[0],0,t[1]])}));let i=this.toView(r);return e?i.match(e,t,n):i},after:function(e,t,n){const{indexN:a}=this.methods.one.pointer;let r=[],o=a(this.fullPointer),i=this.document;Object.keys(o).forEach((e=>{let t=o[e].sort(((e,t)=>e[1]>t[1]?-1:1))[0],[n,,a]=t;a{let o=n.before(e,t);if(o.found){let e=o.terms();a[r][1]-=e.length,a[r][3]=e.docs[0][0].id}})),this.update(a)},growRight:function(e,t,n){"string"==typeof e&&(e=this.world.methods.one.parseMatch(e,n,this.world)),e[0].start=!0;let a=this.fullPointer;return this.forEach(((n,r)=>{let o=n.after(e,t);if(o.found){let e=o.terms();a[r][2]+=e.length,a[r][4]=null}})),this.update(a)},grow:function(e,t,n){return this.growRight(e,t,n).growLeft(e,t,n)}};const et=function(e,t){return[e[0],e[1],t[2]]},tt=(e,t,n)=>{return"string"==typeof e||(a=e,"[object Array]"===Object.prototype.toString.call(a))?t.match(e,n):e||t.none();var a},nt=function(e,t){let[n,a,r]=e;return t.document[n]&&t.document[n][a]&&(e[3]=e[3]||t.document[n][a].id,t.document[n][r-1]&&(e[4]=e[4]||t.document[n][r-1].id)),e},at={splitOn:function(e,t){const{splitAll:n}=this.methods.one.pointer;let a=tt(e,this,t).fullPointer,r=n(this.fullPointer,a),o=[];return r.forEach((e=>{o.push(e.passthrough),o.push(e.before),o.push(e.match),o.push(e.after)})),o=o.filter((e=>e)),o=o.map((e=>nt(e,this))),this.update(o)},splitBefore:function(e,t){const{splitAll:n}=this.methods.one.pointer;let a=tt(e,this,t).fullPointer,r=n(this.fullPointer,a);for(let e=0;e{o.push(e.passthrough),o.push(e.before),e.match&&e.after?o.push(et(e.match,e.after)):o.push(e.match)})),o=o.filter((e=>e)),o=o.map((e=>nt(e,this))),this.update(o)},splitAfter:function(e,t){const{splitAll:n}=this.methods.one.pointer;let a=tt(e,this,t).fullPointer,r=n(this.fullPointer,a),o=[];return r.forEach((e=>{o.push(e.passthrough),e.before&&e.match?o.push(et(e.before,e.match)):(o.push(e.before),o.push(e.match)),o.push(e.after)})),o=o.filter((e=>e)),o=o.map((e=>nt(e,this))),this.update(o)}};at.split=at.splitAfter;var rt=at;const ot=Object.assign({},_e,Ye,rt);ot.lookBehind=ot.before,ot.lookBefore=ot.before,ot.lookAhead=ot.after,ot.lookAfter=ot.after,ot.notIf=ot.ifNo;var it=function(e){Object.assign(e.prototype,ot)};const st=/(?:^|\s)([![^]*(?:<[^<]*>)?\/.*?[^\\/]\/[?\]+*$~]*)(?:\s|$)/,lt=/([!~[^]*(?:<[^<]*>)?\([^)]+[^\\)]\)[?\]+*$~]*)(?:\s|$)/,ut=/ /g,ct=e=>/^[![^]*(<[^<]*>)?\//.test(e)&&/\/[?\]+*$~]*$/.test(e),dt=function(e){return e=(e=e.map((e=>e.trim()))).filter((e=>e))};var ht=function(e){let t=e.split(st),n=[];t.forEach((e=>{ct(e)?n.push(e):n=n.concat(e.split(lt))})),n=dt(n);let a=[];return n.forEach((e=>{(e=>/^[![^]*(<[^<]*>)?\(/.test(e)&&/\)[?\]+*$~]*$/.test(e))(e)||ct(e)?a.push(e):a=a.concat(e.split(ut))})),a=dt(a),a};const gt=/\{([0-9]+)?(, *[0-9]*)?\}/,mt=/&&/,pt=new RegExp(/^<\s*(\S+)\s*>/),ft=e=>e.charAt(0).toUpperCase()+e.substring(1),bt=e=>e.charAt(e.length-1),vt=e=>e.charAt(0),yt=e=>e.substring(1),wt=e=>e.substring(0,e.length-1),kt=function(e){return e=yt(e),e=wt(e)},Pt=function(e,t){let n={};for(let a=0;a<2;a+=1){if("$"===bt(e)&&(n.end=!0,e=wt(e)),"^"===vt(e)&&(n.start=!0,e=yt(e)),"?"===bt(e)&&(n.optional=!0,e=wt(e)),("["===vt(e)||"]"===bt(e))&&(n.group=null,"["===vt(e)&&(n.groupStart=!0),"]"===bt(e)&&(n.groupEnd=!0),e=(e=e.replace(/^\[/,"")).replace(/\]$/,""),"<"===vt(e))){const t=pt.exec(e);t.length>=2&&(n.group=t[1],e=e.replace(t[0],""))}if("+"===bt(e)&&(n.greedy=!0,e=wt(e)),"*"!==e&&"*"===bt(e)&&"\\*"!==e&&(n.greedy=!0,e=wt(e)),"!"===vt(e)&&(n.negative=!0,e=yt(e)),"~"===vt(e)&&"~"===bt(e)&&e.length>2&&(e=kt(e),n.fuzzy=!0,n.min=t.fuzzy||.85,!1===/\(/.test(e)))return n.word=e,n;if("/"===vt(e)&&"/"===bt(e))return e=kt(e),t.caseSensitive&&(n.use="text"),n.regex=new RegExp(e),n;if(!0===gt.test(e)&&(e=e.replace(gt,((e,t,a)=>(void 0===a?(n.min=Number(t),n.max=Number(t)):(a=a.replace(/, */,""),void 0===t?(n.min=0,n.max=Number(a)):(n.min=Number(t),n.max=Number(a||999))),n.greedy=!0,n.min||(n.optional=!0),"")))),"("===vt(e)&&")"===bt(e)){mt.test(e)?(n.choices=e.split(mt),n.operator="and"):(n.choices=e.split("|"),n.operator="or"),n.choices[0]=yt(n.choices[0]);let a=n.choices.length-1;n.choices[a]=wt(n.choices[a]),n.choices=n.choices.map((e=>e.trim())),n.choices=n.choices.filter((e=>e)),n.choices=n.choices.map((e=>e.split(/ /g).map((e=>Pt(e,t))))),e=""}if("{"===vt(e)&&"}"===bt(e)){if(e=kt(e),n.root=e,/\//.test(e)){let e=n.root.split(/\//);n.root=e[0],n.pos=e[1],"adj"===n.pos&&(n.pos="Adjective"),n.pos=n.pos.charAt(0).toUpperCase()+n.pos.substr(1).toLowerCase(),void 0!==e[2]&&(n.sense=e[2])}return n}if("<"===vt(e)&&">"===bt(e))return e=kt(e),n.chunk=ft(e),n.greedy=!0,n;if("%"===vt(e)&&"%"===bt(e))return e=kt(e),n.switch=e,n}return"#"===vt(e)?(n.tag=yt(e),n.tag=ft(n.tag),n):"@"===vt(e)?(n.method=yt(e),n):"."===e?(n.anything=!0,n):"*"===e?(n.anything=!0,n.greedy=!0,n.optional=!0,n):(e&&(e=(e=e.replace("\\*","*")).replace("\\.","."),t.caseSensitive?n.use="text":e=e.toLowerCase(),n.word=e),n)};var At=Pt;const It=/[a-z0-9][-–—][a-z]/i;var Et=function(e,t){let n=t.model.one.prefixes;for(let t=e.length-1;t>=0;t-=1){let a=e[t];if(a.word&&It.test(a.word)){let r=a.word.split(/[-–—]/g);if(n.hasOwnProperty(r[0]))continue;r=r.filter((e=>e)).reverse(),e.splice(t,1),r.forEach((n=>{let r=Object.assign({},a);r.word=n,e.splice(t,0,r)}))}}return e};const jt=function(e,t){let{all:n}=t.methods.two.transform.verb||{},a=e.root;return n?n(a,t.model):[]},Dt=function(e,t){let{all:n}=t.methods.two.transform.noun||{};return n?n(e.root,t.model):[e.root]},Nt=function(e,t){let{all:n}=t.methods.two.transform.adjective||{};return n?n(e.root,t.model):[e.root]};var xt=function(e,t){return e=e.map((e=>{if(e.root)if(t.methods.two&&t.methods.two.transform){let n=[];e.pos?"Verb"===e.pos?n=n.concat(jt(e,t)):"Noun"===e.pos?n=n.concat(Dt(e,t)):"Adjective"===e.pos&&(n=n.concat(Nt(e,t))):(n=n.concat(jt(e,t)),n=n.concat(Dt(e,t)),n=n.concat(Nt(e,t))),n=n.filter((e=>e)),n.length>0&&(e.operator="or",e.fastOr=new Set(n))}else e.machine=e.root,delete e.id,delete e.root;return e}))};var Ct=function(e){return e=function(e){let t=0,n=null;for(let a=0;a(e.fuzzy&&e.choices&&e.choices.forEach((t=>{1===t.length&&t[0].word&&(t[0].fuzzy=!0,t[0].min=e.min)})),e)))}(e=e.map((e=>{if(void 0!==e.choices){if("or"!==e.operator)return e;if(!0===e.fuzzy)return e;!0===e.choices.every((e=>{if(1!==e.length)return!1;let t=e[0];return!0!==t.fuzzy&&!t.start&&!t.end&&void 0!==t.word&&!0!==t.negative&&!0!==t.optional&&!0!==t.method}))&&(e.fastOr=new Set,e.choices.forEach((t=>{e.fastOr.add(t[0].word)})),delete e.choices)}return e}))),e};var Tt=function(e,t,n){if(null==e||""===e)return[];t=t||{},"number"==typeof e&&(e=String(e));let a=ht(e);return a=a.map((e=>At(e,t))),a=Et(a,n),a=xt(a,n),a=Ct(a),a};const Ft=function(e,t){for(let n of t)if(e.has(n))return!0;return!1};var Ot=function(e,t){for(let n=0;nn?a:n)+1;if(Math.abs(n-a)>(r||100))return r||100;let o,i,s,l,u,c,d=[];for(let e=0;e4)return n;s=t[o-1],l=i===s?0:1,u=d[r-1][o]+1,(c=d[r][o-1]+1)1&&o>1&&i===t[o-2]&&e[r-2]===s&&(c=d[r-2][o-2]+l)-1!==e.post.indexOf(t),$t=(e,t)=>-1!==e.pre.indexOf(t),Bt={hasQuote:e=>Vt.test(e.pre)||zt.test(e.post),hasComma:e=>St(e,","),hasPeriod:e=>!0===St(e,".")&&!1===St(e,"..."),hasExclamation:e=>St(e,"!"),hasQuestionMark:e=>St(e,"?")||St(e,"¿"),hasEllipses:e=>St(e,"..")||St(e,"…")||$t(e,"..")||$t(e,"…"),hasSemicolon:e=>St(e,";"),hasColon:e=>St(e,":"),hasSlash:e=>/\//.test(e.text),hasHyphen:e=>Lt.test(e.post)||Lt.test(e.pre),hasDash:e=>Mt.test(e.post)||Mt.test(e.pre),hasContraction:e=>Boolean(e.implicit),isAcronym:e=>e.tags.has("Acronym"),isKnown:e=>e.tags.size>0,isTitleCase:e=>/^\p{Lu}[a-z'\u00C0-\u00FF]/u.test(e.text),isUpperCase:e=>/^\p{Lu}+$/u.test(e.text)};Bt.hasQuotation=Bt.hasQuote;var Jt=Bt;let Ht=function(){};Ht=function(e,t,n,a){let r=function(e,t,n,a){if(!0===t.anything)return!0;if(!0===t.start&&0!==n)return!1;if(!0===t.end&&n!==a-1)return!1;if(void 0!==t.id&&t.id===e.id)return!0;if(void 0!==t.word){if(t.use)return t.word===e[t.use];if(null!==e.machine&&e.machine===t.word)return!0;if(void 0!==e.alias&&e.alias.hasOwnProperty(t.word))return!0;if(!0===t.fuzzy){if(t.word===e.root)return!0;if(Gt(t.word,e.normal)>=t.min)return!0}return!(!e.alias||!e.alias.some((e=>e===t.word)))||t.word===e.text||t.word===e.normal}if(void 0!==t.tag)return!0===e.tags.has(t.tag);if(void 0!==t.method)return"function"==typeof Jt[t.method]&&!0===Jt[t.method](e);if(void 0!==t.pre)return e.pre&&e.pre.includes(t.pre);if(void 0!==t.post)return e.post&&e.post.includes(t.post);if(void 0!==t.regex){let n=e.normal;return t.use&&(n=e[t.use]),t.regex.test(n)}if(void 0!==t.chunk)return e.chunk===t.chunk;if(void 0!==t.switch)return e.switch===t.switch;if(void 0!==t.machine)return e.normal===t.machine||e.machine===t.machine||e.root===t.machine;if(void 0!==t.sense)return e.sense===t.sense;if(void 0!==t.fastOr){if(t.pos&&!e.tags.has(t.pos))return null;let n=e.root||e.implicit||e.machine||e.normal;return t.fastOr.has(n)||t.fastOr.has(e.text)}return void 0!==t.choices&&("and"===t.operator?t.choices.every((t=>Ht(e,t,n,a))):t.choices.some((t=>Ht(e,t,n,a))))}(e,t,n,a);return!0===t.negative?!r:r};var Wt=Ht;const Kt=function(e,t){if(!0===e.end&&!0===e.greedy&&t.start_i+t.tn.max)return e.t=e.t+n.max,!0;if(!0===e.hasGroup){qt(e,e.t).length=a-e.t}return e.t=a,!0};const Qt=function(e,t=0){let n=e.regs[e.r],a=!1;for(let o=0;o{let r=0,o=e.t+a+t+r;if(void 0===e.terms[o])return!1;let i=Wt(e.terms[o],n,o+e.start_i,e.phrase_length);if(!0===i&&!0===n.greedy)for(let t=1;t{let a=n.every(((t,n)=>{let a=e.t+n;return void 0!==e.terms[a]&&Wt(e.terms[a],t,a,e.phrase_length)}));return!0===a&&n.length>t&&(t=n.length),a}))&&t}(e);if(a){if(!0===n.negative)return null;if(!0===e.hasGroup){qt(e,e.t).length+=a}if(!0===n.end){let t=e.phrase_length-1;if(e.t+e.start_i!==t)return null}return e.t+=a,!0}return!!n.optional||null};var Zt=function(e,t,n){let a=0;for(let r=e.t;ra)&&(e.t+=a,!0))};var _t=function(e){const{regs:t}=e;let n=t[e.r],a=Object.assign({},n);if(a.negative=!1,Wt(e.terms[e.t],a,e.start_i+e.t,e.phrase_length))return!1;if(n.optional){let n=t[e.r+1];if(n){if(Wt(e.terms[e.t],n,e.start_i+e.t,e.phrase_length))e.r+=1;else if(n.optional&&t[e.r+2]){Wt(e.terms[e.t],t[e.r+2],e.start_i+e.t,e.phrase_length)&&(e.r+=2)}}}return n.greedy?Zt(e,a,t[e.r+1]):(e.t+=1,!0)};var Yt=function(e){const{regs:t}=e;let n=t[e.r],a=e.terms[e.t],r=Wt(a,t[e.r+1],e.start_i+e.t,e.phrase_length);if(n.negative||r){let n=e.terms[e.t+1];n&&Wt(n,t[e.r+1],e.start_i+e.t,e.phrase_length)||(e.r+=1)}};var en=function(e){const{regs:t,phrase_length:n}=e;let a=t[e.r];return e.t=function(e,t){let n=Object.assign({},e.regs[e.r],{start:!1,end:!1}),a=e.t;for(;e.te.t?null:!0!==a.end||e.start_i+e.t===n||null};var tn=function(e){let t=e.terms[e.t],n=e.regs[e.r];if(t.implicit&&e.terms[e.t+1]){if(!e.terms[e.t+1].implicit)return;n.word===t.normal&&(e.t+=1),"hasContraction"===n.method&&(e.t+=1)}};var nn=function(e){const{regs:t}=e;let n=t[e.r],a=e.terms[e.t],r=e.t;if(n.optional&&t[e.r+1]&&n.negative)return!0;if(n.optional&&t[e.r+1]&&Yt(e),a.implicit&&e.terms[e.t+1]&&tn(e),e.t+=1,!0===n.end&&e.t!==e.terms.length&&!0!==n.greedy)return null;if(!0===n.greedy){if(!en(e))return null}return!0===e.hasGroup&&function(e,t){let n=e.regs[e.r];const a=qt(e,t);e.t>1&&n.greedy?a.length+=e.t-t:a.length++}(e,r),!0};var an=function(e,t,n,a){if(0===e.length||0===t.length)return null;let r={t:0,terms:e,r:0,regs:t,groups:{},start_i:n,phrase_length:a,inGroup:null};for(;r.r!e.optional)))break;return null}if(!0!==e.anything||!0!==e.greedy)if(void 0===e.choices||"or"!==e.operator)if(void 0===e.choices||"and"!==e.operator)if(!0!==e.anything)if(!0!==Kt(e,r))if(e.negative){if(!_t(r))return null}else if(!0!==Wt(r.terms[r.t],e,r.start_i+r.t,r.phrase_length)){if(!0!==e.optional)return null}else{if(!nn(r))return null}else{if(!nn(r))return null}else{if(e.negative&&e.anything)return null;if(!nn(r))return null}else{if(!Xt(r))return null}else{if(!Rt(r))return null}else{if(!Ut(r))return null}}let o=[null,n,r.t+n];if(o[1]===o[2])return null;let i={};return Object.keys(r.groups).forEach((e=>{let t=r.groups[e],a=n+t.start;i[e]=[null,a,a+t.length]})),{pointer:o,groups:i}};var rn=function(e,t){let n=[],a={};return 0===e.length||("number"==typeof t&&(t=String(t)),t?e.forEach((e=>{e.groups[t]&&n.push(e.groups[t])})):e.forEach((e=>{n.push(e.pointer),Object.keys(e.groups).forEach((t=>{a[t]=a[t]||[],a[t].push(e.groups[t])}))}))),{ptrs:n,byGroup:a}};var on=function(e,t,n){return e=e.filter((e=>{let[a,r,o]=e.pointer,i=n[a].slice(r,o);for(let e=0;e{e.groups[n][0]=t})),e},ln=function(e,t,n){let a=an(e,t,0,e.length);return a?(a=sn(a,n),a):null};var un=function(e,t,n){n=n||[];let{regs:a,group:r,justOne:o}=t,i=[];if(!a||0===a.length)return{ptrs:[],byGroup:{}};const s=a.filter((e=>!0!==e.optional&&!0!==e.negative)).length;e:for(let t=0;te&&(e=Math.abs(n-1))}}else{let e=ln(r,a,t);e&&i.push(e)}}return!0===a[a.length-1].end&&(i=i.filter((t=>{let n=t.pointer[0];return e[n].length===t.pointer[2]}))),t.notIf&&(i=on(i,t.notIf,e)),i=rn(i,r),i.ptrs.forEach((t=>{let[n,a,r]=t;t[3]=e[n][a].id,t[4]=e[n][r-1].id})),i};var cn={api:it,methods:{one:{termMethods:Jt,parseMatch:Tt,match:un}},lib:{parseMatch:function(e,t){const n=this.world();let a=n.methods.one.killUnicode;return a&&(e=a(e,n)),n.methods.one.parseMatch(e,t,n)}}};const dn=/^\../,hn=/^#./,gn=function(e,t){let n={},a={};return Object.keys(t).forEach((r=>{let o=t[r],i=function(e){let t="",n="";return e=e.replace(/&/g,"&").replace(//g,">").replace(/"/g,""").replace(/'/g,"'"),dn.test(e)?t=``),t+=">",{start:t,end:n}}(r);"string"==typeof o&&(o=e.match(o)),o.docs.forEach((e=>{if(e.every((e=>e.implicit)))return;let t=e[0].id;n[t]=n[t]||[],n[t].push(i.start);let r=e[e.length-1].id;a[r]=a[r]||[],a[r].push(i.end)}))})),{starts:n,ends:a}};var mn={html:function(e){let{starts:t,ends:n}=gn(this,e),a="";return this.docs.forEach((e=>{for(let r=0;r{let n=e.pre||"",r=e.post||"";"some"===t.punctuation&&(n=n.replace(fn,""),vn.test(r)&&(r=" "),r=r.replace(bn,""),r=r.replace(/\?!+/,"?"),r=r.replace(/!+/,"!"),r=r.replace(/\?+/,"?"),r=r.replace(/\.{2,}/,""),e.tags.has("Abbreviation")&&(r=r.replace(/\./,""))),"some"===t.whitespace&&(n=n.replace(/\s/,""),r=r.replace(/\s+/," ")),t.keepPunct||(n=n.replace(fn,""),r="-"===r?" ":r.replace(pn,""));let o=e[t.form||"text"]||e.normal||"";"implicit"===t.form&&(o=e.implicit||e.text),"root"===t.form&&e.implicit&&(o=e.root||e.implicit||e.normal),"machine"!==t.form&&"implicit"!==t.form&&"root"!==t.form||!e.implicit||r&&yn.test(r)||(r+=" "),a+=n+o+r})),!1===n&&(a=a.trim()),!0===t.lowerCase&&(a=a.toLowerCase()),a},kn={text:{form:"text"},normal:{whitespace:"some",punctuation:"some",case:"some",unicode:"some",form:"normal"},machine:{keepSpace:!1,whitespace:"some",punctuation:"some",case:"none",unicode:"some",form:"machine"},root:{keepSpace:!1,whitespace:"some",punctuation:"some",case:"some",unicode:"some",form:"root"},implicit:{form:"implicit"}};kn.clean=kn.normal,kn.reduced=kn.root;var Pn=kn;let An=[],In=0;for(;In<64;)An[In]=0|4294967296*Math.sin(++In%Math.PI);function En(e){let t,n,a,r=[t=1732584193,n=4023233417,~t,~n],o=[],i=decodeURI(encodeURI(e))+"€",s=i.length;for(e=--s/4+2|15,o[--e]=8*s;~s;)o[s>>2]|=i.charCodeAt(s)<<8*s--;for(In=i=0;In>4]+An[i]+~~o[In|15&[i,5*i+1,3*i+5,7*i][s]])<<(s=[7,12,17,22,5,9,14,20,4,11,16,23,6,10,15,21][4*s+i++%4])|a>>>-s),t,n])t=0|s[1],n=s[2];for(i=4;i;)r[--i]+=s[i]}for(e="";i<32;)e+=(r[i>>3]>>4*(1^i++)&15).toString(16);return e}const jn={text:!0,terms:!0};let Dn={case:"none",unicode:"some",form:"machine",punctuation:"some"};const Nn=function(e,t){return Object.assign({},e,t)},xn={text:e=>wn(e,{keepPunct:!0},!1),normal:e=>wn(e,Nn(Pn.normal,{keepPunct:!0}),!1),implicit:e=>wn(e,Nn(Pn.implicit,{keepPunct:!0}),!1),machine:e=>wn(e,Dn,!1),root:e=>wn(e,Nn(Dn,{form:"root"}),!1),hash:e=>En(wn(e,{keepPunct:!0},!1)),offset:e=>{let t=xn.text(e).length;return{index:e[0].offset.index,start:e[0].offset.start,length:t}},terms:e=>e.map((e=>{let t=Object.assign({},e);return t.tags=Array.from(e.tags),t})),confidence:(e,t,n)=>t.eq(n).confidence(),syllables:(e,t,n)=>t.eq(n).syllables(),sentence:(e,t,n)=>t.eq(n).fullSentence().text(),dirty:e=>e.some((e=>!0===e.dirty))};xn.sentences=xn.sentence,xn.clean=xn.normal,xn.reduced=xn.root;const Cn={json:function(e){let t=(n=this,"string"==typeof(a=(a=e)||{})&&(a={}),(a=Object.assign({},jn,a)).offset&&n.compute("offset"),n.docs.map(((e,t)=>{let r={};return Object.keys(a).forEach((o=>{a[o]&&xn[o]&&(r[o]=xn[o](e,n,t))})),r})));var n,a;return"number"==typeof e?t[e]:t}};Cn.data=Cn.json;var Tn=Cn;var Fn=function(e){console.log("%c -=-=- ","background-color:#6699cc;"),e.forEach((e=>{console.groupCollapsed(e.text());let t=e.docs[0].map((e=>{let t=e.text||"-";return e.implicit&&(t="["+e.implicit+"]"),{text:t,tags:"["+Array.from(e.tags).join(", ")+"]"}}));console.table(t,["text","tags"]),console.groupEnd()}))};const On="";var Gn={green:e=>""+e+On,red:e=>""+e+On,blue:e=>""+e+On,magenta:e=>""+e+On,cyan:e=>""+e+On,yellow:e=>""+e+On,black:e=>""+e+On,dim:e=>""+e+On,i:e=>""+e+On};var Vn=function(e){let{docs:t,model:n}=e;0===t.length&&console.log(Gn.blue("\n ──────")),t.forEach((t=>{console.log(Gn.blue("\n ┌─────────")),t.forEach((t=>{let a=[...t.tags||[]],r=t.text||"-";t.sense&&(r=`{${t.normal}/${t.sense}}`),t.implicit&&(r="["+t.implicit+"]"),r=Gn.yellow(r);let o="'"+r+"'";if(t.reference){let n=e.update([t.reference]).text("normal");o+=` - ${Gn.dim(Gn.i("["+n+"]"))}`}o=o.padEnd(18);let i=Gn.blue(" │ ")+Gn.i(o)+" - "+function(e,t){return t.one.tagSet&&(e=e.map((e=>{if(!t.one.tagSet.hasOwnProperty(e))return e;const n=t.one.tagSet[e].color||"blue";return Gn[n](e)}))),e.join(", ")}(a,n);console.log(i)}))}))};var zn=function(e){let{docs:t}=e;console.log(""),t.forEach((e=>{let t=[];e.forEach((e=>{"Noun"===e.chunk?t.push(Gn.blue(e.implicit||e.normal)):"Verb"===e.chunk?t.push(Gn.green(e.implicit||e.normal)):"Adjective"===e.chunk?t.push(Gn.yellow(e.implicit||e.normal)):"Pivot"===e.chunk?t.push(Gn.red(e.implicit||e.normal)):t.push(e.implicit||e.normal)})),console.log(t.join(" "),"\n")}))};var Ln=function(e){if(!e.found)return;let t={};e.fullPointer.forEach((e=>{t[e[0]]=t[e[0]]||[],t[e[0]].push(e)})),Object.keys(t).forEach((n=>{let a=e.update([[Number(n)]]).text();e.update(t[n]).json({offset:!0}).forEach(((e,t)=>{a=function(e,t,n){let a=((e,t,n)=>{let a=9*n,r=t.start+a,o=r+t.length;return[e.substring(0,r),e.substring(r,o),e.substring(o,e.length)]})(e,t,n);return`${a[0]}${Gn.blue(a[1])}${a[2]}`}(a,e.offset,t)})),console.log(a)}))};var Mn=function(e={}){let t=this;if("string"==typeof e){let t={};t[e]=!0,e=t}return"undefined"!=typeof window&&window.document?(Fn(t),t):(!1!==e.tags&&(Vn(t),console.log("\n")),!0===e.chunks&&(zn(t),console.log("\n")),!0===e.highlight&&(Ln(t),console.log("\n")),t)};const Sn=function(e){let t=e.pre||"",n=e.post||"";return t+e.text+n};var $n=function(e,t){let n=function(e,t){let n={};return Object.keys(t).forEach((a=>{e.match(a).fullPointer.forEach((e=>{n[e[3]]={fn:t[a],end:e[2]}}))})),n}(e,t),a="";return e.docs.forEach(((t,r)=>{for(let o=0;oe.reduce(((e,t)=>e+t.pre+t.text+t.post),"").trim()));return e.filter((e=>e))}if("freq"===e||"frequency"===e||"topk"===e)return function(e){let t={};e.forEach((e=>{t[e]=t[e]||0,t[e]+=1}));let n=Object.keys(t).map((e=>({normal:e,count:t[e]})));return n.sort(((e,t)=>e.count>t.count?-1:0))}(this.json({normal:!0}).map((e=>e.normal)));if("terms"===e){let e=[];return this.docs.forEach((t=>{let n=t.terms.map((e=>e.text));n=n.filter((e=>e)),e=e.concat(n)})),e}return"tags"===e?this.docs.map((e=>e.reduce(((e,t)=>(e[t.implicit||t.normal]=Array.from(t.tags),e)),{}))):"debug"===e?this.debug():this.text()},wrap:function(e){return $n(this,e)}};var Jn=Bn;var Hn={text:function(e){let t={};var n;if(e&&"string"==typeof e&&Pn.hasOwnProperty(e)?t=Object.assign({},Pn[e]):e&&(n=e,"[object Object]"===Object.prototype.toString.call(n))&&(t=Object.assign({},e)),void 0!==t.keepSpace||this.isFull()||(t.keepSpace=!1),void 0===t.keepEndPunct&&this.pointer){let e=this.pointer[0];e&&e[1]?t.keepEndPunct=!1:t.keepEndPunct=!0}return void 0===t.keepPunct&&(t.keepPunct=!0),void 0===t.keepSpace&&(t.keepSpace=!0),function(e,t){let n="";if(!e||!e[0]||!e[0][0])return n;for(let a=0;ar||r<=n&&o>n},Qn=function(e){let t={};return e.forEach((e=>{t[e[0]]=t[e[0]]||[],t[e[0]].push(e)})),t};var Rn=function(e,t){let n=Qn(t),a=[];return e.forEach((e=>{let[t]=e,r=n[t]||[];if(r=r.filter((t=>function(e,t){return e[1]<=t[1]&&t[2]<=e[2]}(e,t))),0===r.length)return void a.push({passthrough:e});r=r.sort(((e,t)=>e[1]-t[1]));let o=e;r.forEach(((e,t)=>{let n=function(e,t){let[n,a]=e,r=t[1],o=t[2],i={};if(ao&&(i.after=[n,o,e[2]]),i}(o,e);r[t+1]?(a.push({before:n.before,match:n.match}),n.after&&(o=n.after)):a.push(n)}))})),a};var Xn=function(e,t){let n=[];return e.forEach(((a,r)=>{if(!a)return;let[o,i,s,l,u]=a,c=t[o]||[];if(void 0===i&&(i=0),void 0===s&&(s=c.length),!l||c[i]&&c[i].id===l)c=c.slice(i,s);else{let n=function(e,t,n){for(let a=0;a<20;a+=1){if(t[n-a]){let r=t[n-a].findIndex((t=>t.id===e));if(-1!==r)return[n-a,r]}if(t[n+a]){let r=t[n+a].findIndex((t=>t.id===e));if(-1!==r)return[n+a,r]}}return null}(l,t,o);if(null!==n){let a=s-i;c=t[n[0]].slice(n[1],n[1]+a);let o=c[0]?c[0].id:null;e[r]=[n[0],n[1],n[1]+a,o]}}0!==c.length&&i!==s&&(u&&c[c.length-1].id!==u&&(c=function(e,t){let[n,a,,,r]=e,o=t[n],i=o.findIndex((e=>e.id===r));return-1===i?(e[2]=t[n].length,e[4]=o.length?o[o.length-1].id:null):e[2]=i,t[n].slice(a,e[2]+1)}(a,t)),n.push(c))})),n=n.filter((e=>e.length>0)),n};var Zn={one:{termList:function(e){let t=[];for(let n=0;n{let[t]=e;if(1===a[t].length)return void r.push(e);let n=a[t].filter((t=>Un(e,t)));n.push(e);let o=function(e){let t=e[0][1],n=e[0][2];return e.forEach((e=>{e[1]n&&(n=e[2])})),[e[0][0],t,n]}(n);r.push(o)})),r=function(e){let t={};for(let n=0;n{e.passthrough&&n.push(e.passthrough),e.before&&n.push(e.before),e.after&&n.push(e.after)})),n};var ea=function(e,t){let n=Qn(t),a=[];return e.forEach((e=>{let t=n[e[0]]||[];t=t.filter((t=>Un(e,t))),0!==t.length&&t.forEach((t=>{let n=function(e,t){let n=e[1]t[2]?t[2]:e[2];return n{return"string"==typeof e||(n=e,"[object Array]"===Object.prototype.toString.call(n))?t.match(e):e||t.none();var n},na=function(e,t){return e.map((e=>{let[n,a]=e;return t[n]&&t[n][a]&&(e[3]=t[n][a].id),e}))},aa={union:function(e){e=ta(e,this);let t=_n(this.fullPointer,e.fullPointer);return t=na(t,this.document),this.toView(t)}};aa.and=aa.union,aa.intersection=function(e){e=ta(e,this);let t=ea(this.fullPointer,e.fullPointer);return t=na(t,this.document),this.toView(t)},aa.not=function(e){e=ta(e,this);let t=Yn(this.fullPointer,e.fullPointer);return t=na(t,this.document),this.toView(t)},aa.difference=aa.not,aa.complement=function(){let e=this.all(),t=Yn(e.fullPointer,this.fullPointer);return t=na(t,this.document),this.toView(t)},aa.settle=function(){let e=this.fullPointer;return e.forEach((t=>{e=_n(e,[t])})),e=na(e,this.document),this.update(e)};var ra=function(e){Object.assign(e.prototype,aa)},oa={methods:Zn,api:ra};var ia=function(e){e.prototype.sweep=function(e,t={}){const{world:n,docs:a}=this,{methods:r}=n;let o=r.one.bulkMatch(a,e,this.methods,t);!1!==t.tagger&&r.one.bulkTagger(o,a,this.world),o=o.map((e=>{let t=e.pointer,n=a[t[0]][t[1]],r=t[2]-t[1];return n.index&&(e.pointer=[n.index[0],n.index[1],t[1]+r]),e}));let i=o.map((e=>e.pointer));return o=o.map((e=>(e.view=this.update([e.pointer]),delete e.regs,delete e.needs,delete e.pointer,delete e._expanded,e))),{view:this.update(i),found:o}}};const sa=function(e){return!0===e.optional||!0===e.negative?null:e.tag?"#"+e.tag:e.word?e.word:e.switch?`%${e.switch}%`:null};var la=function(e,t){const n=t.methods.one.parseMatch;return e.forEach((e=>{e.regs=n(e.match,{},t),"string"==typeof e.ifNo&&(e.ifNo=[e.ifNo]),e.notIf&&(e.notIf=n(e.notIf,{},t)),e.needs=function(e){let t=[];return e.forEach((e=>{t.push(sa(e)),"and"===e.operator&&e.choices&&e.choices.forEach((e=>{e.forEach((e=>{t.push(sa(e))}))}))})),t.filter((e=>e))}(e.regs);let{wants:a,count:r}=function(e){let t=[],n=0;return e.forEach((e=>{"or"!==e.operator||e.optional||e.negative||(e.fastOr&&Array.from(e.fastOr).forEach((e=>{t.push(e)})),e.choices&&e.choices.forEach((e=>{e.forEach((e=>{let n=sa(e);n&&t.push(n)}))})),n+=1)})),{wants:t,count:n}}(e.regs);e.wants=a,e.minWant=r,e.minWords=e.regs.filter((e=>!e.optional)).length})),e};var ua=function(e,t){e=la(e,t);let n={};e.forEach((e=>{e.needs.forEach((t=>{n[t]=n[t]||[],n[t].push(e)})),e.wants.forEach((t=>{n[t]=n[t]||[],n[t].push(e)}))})),Object.keys(n).forEach((e=>{let t={};n[e]=n[e].filter((e=>!t[e.match]&&(t[e.match]=!0,!0)))}));let a=e.filter((e=>0===e.needs.length&&0===e.wants.length));return{hooks:n,always:a}};var ca=function(e,t){return e.map(((n,a)=>{let r=[];Object.keys(t).forEach((n=>{e[a].has(n)&&(r=r.concat(t[n]))}));let o={};return r=r.filter((e=>!o[e.match]&&(o[e.match]=!0,!0))),r}))};var da=function(e,t){return e.map(((e,n)=>{let a=t[n];return e=(e=(e=e.filter((e=>e.needs.every((e=>a.has(e)))))).filter((e=>void 0===e.ifNo||!0!==e.ifNo.some((e=>a.has(e)))))).filter((e=>{if(0===e.wants.length)return!0;return e.wants.filter((e=>a.has(e))).length>=e.minWant}))}))};var ha=function(e,t,n,a,r){let o=[];for(let n=0;n0&&(l.ptrs.forEach((e=>{e[0]=n;let t=Object.assign({},s,{pointer:e});void 0!==s.unTag&&(t.unTag=s.unTag),o.push(t)})),!0===r.matchOne))return[o[0]]}return o};var ga=function(e,t,n,a={}){let r=n.one.cacheDoc(e),o=ca(r,t.hooks);return o=da(o,r),t.always.length>0&&(o=o.map((e=>e.concat(t.always)))),o=function(e,t){return e.map(((e,n)=>{let a=t[n].length;return e=e.filter((e=>a>=e.minWords)),e}))}(o,e),ha(o,e,r,n,a)};var ma=function(e,t,n){let a=n.one.tagSet;if(!a.hasOwnProperty(t))return!0;let r=a[t].not||[];for(let t=0;t{if(!e.tag&&!e.chunk&&!e.unTag)return;let r=e.reason||e.match,u=o([e.pointer],t)[0];if(!0===e.safe){if(!1===ma(u,e.tag,a))return;if("-"===u[u.length-1].post)return}if(void 0!==e.tag&&(i(u,e.tag,n,e.safe,`[post] '${r}'`),"Noun"===e.tag&&l)){let t=u[u.length-1];l(t.text)?i([t],"Plural",n,e.safe,"quick-plural"):i([t],"Singular",n,e.safe,"quick-singular")}void 0!==e.unTag&&s(u,e.unTag,n,e.safe,r),e.chunk&&u.forEach((t=>t.chunk=e.chunk))}))},fa={lib:{buildNet:function(e){let t=this.methods().one.buildNet(e,this.world());return t.isNet=!0,t}},api:ia,methods:{one:{buildNet:ua,bulkMatch:ga,bulkTagger:pa}}};const ba=/ /,va=function(e,t){"Noun"===t&&(e.chunk=t),"Verb"===t&&(e.chunk=t)},ya=function(e,t,n,a){if(!0===e.tags.has(t))return null;if("."===t)return null;let r=n[t];if(r){if(r.not&&r.not.length>0)for(let t=0;t0)for(let t=0;t{let a=e.map((e=>e.text||"["+e.implicit+"]")).join(" ");var r;"string"!=typeof t&&t.length>2&&(t=t.slice(0,2).join(", #")+" +"),t="string"!=typeof t?t.join(", #"):t,console.log(` ${(r=a,""+r+"").padEnd(24)} → #${t.padEnd(22)} ${(e=>""+e+"")(n)}`)})(e,t,r),!0!=(s=t,"[object Array]"===Object.prototype.toString.call(s)))if("string"==typeof t)if(t=t.trim(),ba.test(t))!function(e,t,n,a){let r=t.split(ba);e.forEach(((e,t)=>{let o=r[t];o&&(o=o.replace(/^#/,""),ya(e,o,n,a))}))}(e,t,o,a);else{t=t.replace(/^#/,"");for(let n=0;nwa(e,t,n,a)))};var ka=wa;var Pa=function(e,t,n){t=t.trim().replace(/^#/,"");for(let a=0;a0)for(let e=0;e/),n=[];t.forEach((e=>{n=n.concat(function(e){if(!(e=e.trim()))return null;if(/^\[/.test(e)&&/\]$/.test(e)){let t=(e=(e=e.replace(/^\[/,"")).replace(/\]$/,"")).split(/,/);return t=t.map((e=>e.trim())).filter((e=>e)),t=t.map((e=>Aa({id:e}))),t}return[Aa({id:e})]}(e))})),n=n.filter((e=>e));let a=n[0];for(let e=1;e{let n=[],a=[e];for(;a.length>0;){let e=a.pop();n.push(e),e.children&&e.children.forEach((n=>{t&&t(e,n),a.push(n)}))}return n},Da=e=>"[object Array]"===Object.prototype.toString.call(e),Na=e=>(e=e||"").trim(),xa=function(e=[]){return"string"==typeof e?function(e){let t=e.split(/\r?\n/),n=[];t.forEach((e=>{if(!e.trim()||Ia.test(e))return;let t=(e=>{const t=/^( {2}|\t)/;let n=0;for(;t.test(e);)e=e.replace(t,""),n+=1;return n})(e);n.push({indent:t,node:Ea(e)})}));let a=function(e){let t={children:[]};return e.forEach(((n,a)=>{0===n.indent?t.children=t.children.concat(n.node):e[a-1]&&function(e,t){let n=e[t].indent;for(;t>=0;t-=1)if(e[t].indent{t[e.id]=e}));let n=Aa({});return e.forEach((e=>{if((e=Aa(e)).parent)if(t.hasOwnProperty(e.parent)){let n=t[e.parent];delete e.parent,n.children.push(e)}else console.warn(`[Grad] - missing node '${e.parent}'`);else n.children.push(e)})),n}(e):(ja(t=e).forEach(Aa),t);var t},Ca=function(e,t){let n="-> ";t&&(n=(e=>""+e+"")("→ "));let a="";return ja(e).forEach(((e,r)=>{let o=e.id||"";if(t&&(o=(e=>""+e+"")(o)),0===r&&!e.id)return;let i=e._cache.parents.length;a+=" ".repeat(i)+n+o+"\n"})),a},Ta=function(e){let t=ja(e);t.forEach((e=>{delete(e=Object.assign({},e)).children}));let n=t[0];return n&&!n.id&&0===Object.keys(n.props).length&&t.shift(),t},Fa={text:Ca,txt:Ca,array:Ta,flat:Ta},Oa=function(e,t){return"nested"===t||"json"===t?e:"debug"===t?(console.log(Ca(e,!0)),null):Fa.hasOwnProperty(t)?Fa[t](e):e},Ga=e=>{ja(e,((e,t)=>{e.id&&(e._cache.parents=e._cache.parents||[],t._cache.parents=e._cache.parents.concat([e.id]))}))},Va=/\//;let za=class g{constructor(e={}){Object.defineProperty(this,"json",{enumerable:!1,value:e,writable:!0})}get children(){return this.json.children}get id(){return this.json.id}get found(){return this.json.id||this.json.children.length>0}props(e={}){let t=this.json.props||{};return"string"==typeof e&&(t[e]=!0),this.json.props=Object.assign(t,e),this}get(e){if(e=Na(e),!Va.test(e)){let t=this.json.children.find((t=>t.id===e));return new g(t)}let t=((e,t)=>{let n=(e=>"string"!=typeof e?e:(e=e.replace(/^\//,"")).split(/\//))(t=t||"");for(let t=0;te.id===n[t]));if(!a)return null;e=a}return e})(this.json,e)||Aa({});return new g(t)}add(e,t={}){if(Da(e))return e.forEach((e=>this.add(Na(e),t))),this;e=Na(e);let n=Aa({id:e,props:t});return this.json.children.push(n),new g(n)}remove(e){return e=Na(e),this.json.children=this.json.children.filter((t=>t.id!==e)),this}nodes(){return ja(this.json).map((e=>(delete(e=Object.assign({},e)).children,e)))}cache(){return(e=>{let t=ja(e,((e,t)=>{e.id&&(e._cache.parents=e._cache.parents||[],e._cache.children=e._cache.children||[],t._cache.parents=e._cache.parents.concat([e.id]))})),n={};t.forEach((e=>{e.id&&(n[e.id]=e)})),t.forEach((e=>{e._cache.parents.forEach((t=>{n.hasOwnProperty(t)&&n[t]._cache.children.push(e.id)}))})),e._cache.children=Object.keys(n)})(this.json),this}list(){return ja(this.json)}fillDown(){var e;return e=this.json,ja(e,((e,t)=>{t.props=((e,t)=>(Object.keys(t).forEach((n=>{if(t[n]instanceof Set){let a=e[n]||new Set;e[n]=new Set([...a,...t[n]])}else if((e=>e&&"object"==typeof e&&!Array.isArray(e))(t[n])){let a=e[n]||{};e[n]=Object.assign({},t[n],a)}else Da(t[n])?e[n]=t[n].concat(e[n]||[]):void 0===e[n]&&(e[n]=t[n])})),e))(t.props,e.props)})),this}depth(){Ga(this.json);let e=ja(this.json),t=e.length>1?1:0;return e.forEach((e=>{if(0===e._cache.parents.length)return;let n=e._cache.parents.length+1;n>t&&(t=n)})),t}out(e){return Ga(this.json),Oa(this.json,e)}debug(){return Ga(this.json),Oa(this.json,"debug"),this}};const La=function(e){let t=xa(e);return new za(t)};La.prototype.plugin=function(e){e(this)};var Ma={Noun:"blue",Verb:"green",Negative:"green",Date:"red",Value:"red",Adjective:"magenta",Preposition:"cyan",Conjunction:"cyan",Determiner:"cyan",Hyphenated:"cyan",Adverb:"cyan"};const Sa=function(e){if(Ma.hasOwnProperty(e.id))return Ma[e.id];if(Ma.hasOwnProperty(e.is))return Ma[e.is];let t=e._cache.parents.find((e=>Ma[e]));return Ma[t]};var $a=function(e){const t={};return e.forEach((e=>{let{not:n,also:a,is:r,novel:o}=e.props,i=e._cache.parents;a&&(i=i.concat(a)),t[e.id]={is:r,not:n,novel:o,also:a,parents:i,children:e._cache.children,color:Sa(e)}})),Object.keys(t).forEach((e=>{let n=new Set(t[e].not);t[e].not.forEach((e=>{t[e]&&t[e].children.forEach((e=>n.add(e)))})),t[e].not=Array.from(n)})),t};const Ba=function(e){return e?"string"==typeof e?[e]:e:[]};var Ja=function(e,t){return e=function(e,t){return Object.keys(e).forEach((n=>{e[n].isA&&(e[n].is=e[n].isA),e[n].notA&&(e[n].not=e[n].notA),e[n].is&&"string"==typeof e[n].is&&(t.hasOwnProperty(e[n].is)||e.hasOwnProperty(e[n].is)||(e[e[n].is]={})),e[n].not&&"string"==typeof e[n].not&&!e.hasOwnProperty(e[n].not)&&(t.hasOwnProperty(e[n].not)||e.hasOwnProperty(e[n].not)||(e[e[n].not]={}))})),e}(e,t),Object.keys(e).forEach((t=>{e[t].children=Ba(e[t].children),e[t].not=Ba(e[t].not)})),Object.keys(e).forEach((t=>{(e[t].not||[]).forEach((n=>{e[n]&&e[n].not&&e[n].not.push(t)}))})),e};var Ha=function(e,t){Object.keys(t).length>0&&(e=function(e){return Object.keys(e).forEach((t=>{e[t]=Object.assign({},e[t]),e[t].novel=!0})),e}(e)),e=Ja(e,t);const n=function(e){const t=Object.keys(e).map((t=>{let n=e[t];const a={not:new Set(n.not),also:n.also,is:n.is,novel:n.novel};return{id:t,parent:n.is,props:a,children:[]}}));return La(t).cache().fillDown().out("array")}(Object.assign({},t,e));return $a(n)},Wa={one:{setTag:ka,unTag:Pa,addTags:Ha}};const Ka=function(e){return"[object Array]"===Object.prototype.toString.call(e)},qa={tag:function(e,t="",n){if(!this.found||!e)return this;let a=this.termList();if(0===a.length)return this;const{methods:r,verbose:o,world:i}=this;return!0===o&&console.log(" + ",e,t||""),Ka(e)?e.forEach((e=>r.one.setTag(a,e,i,n,t))):r.one.setTag(a,e,i,n,t),this.uncache(),this},tagSafe:function(e,t=""){return this.tag(e,t,!0)},unTag:function(e,t){if(!this.found||!e)return this;let n=this.termList();if(0===n.length)return this;const{methods:a,verbose:r,model:o}=this;!0===r&&console.log(" - ",e,t||"");let i=o.one.tagSet;return Ka(e)?e.forEach((e=>a.one.unTag(n,e,i))):a.one.unTag(n,e,i),this.uncache(),this},canBe:function(e){e=e.replace(/^#/,"");let t=this.model.one.tagSet;if(!t.hasOwnProperty(e))return this;let n=t[e].not||[],a=[];this.document.forEach(((e,t)=>{e.forEach(((e,r)=>{n.find((t=>e.tags.has(t)))&&a.push([t,r,r+1])}))}));let r=this.update(a);return this.difference(r)}};var Ua=qa;var Qa=function(e){Object.assign(e.prototype,Ua)};var Ra={addTags:function(e){const{model:t,methods:n}=this.world(),a=t.one.tagSet;let r=(0,n.one.addTags)(e,a);return t.one.tagSet=r,this}};const Xa=new Set(["Auxiliary","Possessive"]);var Za=function(e){const{document:t,world:n}=e,a=n.model.one.tagSet;t.forEach((e=>{e.forEach((e=>{let t=Array.from(e.tags);e.tagRank=function(e,t){return e=e.sort(((e,n)=>{if(Xa.has(e)||!t.hasOwnProperty(n))return 1;if(Xa.has(n)||!t.hasOwnProperty(e))return-1;let a=t[e].children||[],r=a.length;return a=t[n].children||[],r-a.length})),e}(t,a)}))}))},_a={model:{one:{tagSet:{}}},compute:{tagRank:Za},methods:Wa,api:Qa,lib:Ra};const Ya=/([.!?\u203D\u2E18\u203C\u2047-\u2049\u3002]+\s)/g,er=/^[.!?\u203D\u2E18\u203C\u2047-\u2049\u3002]+\s$/,tr=/((?:\r?\n|\r)+)/;var nr=function(e){let t=[],n=e.split(tr);for(let e=0;e0&&(r.push(o),e[t]="")}return r};const sr={'"':'"',""":""","“":"”","‟":"”","„":"”","⹂":"”","‚":"’","«":"»","‹":"›","‵":"′","‶":"″","‷":"‴","〝":"〞","〟":"〞"},lr=RegExp("["+Object.keys(sr).join("")+"]","g"),ur=RegExp("["+Object.values(sr).join("")+"]","g"),cr=function(e){if(!e)return!1;let t=e.match(ur);return null!==t&&1===t.length};var dr=function(e){let t=[];for(let n=0;n(e[t]=!0,e)),{});var Dr=function(e,t){let n=[],a=[];if("number"==typeof(e=e||"")&&(e=String(e)),function(e){return"[object Array]"===Object.prototype.toString.call(e)}(e))return e;const r=e.split(Er);for(let e=0;e0?(n[n.length-1]+=o,n.push(t)):n.push(o+t),o=""):o+=t}return o&&(0===n.length&&(n[0]=""),n[n.length-1]+=o),n=Pr(n),n=wr(n),n=n.filter((e=>e)),n};const Nr=/\p{Letter}/u,xr=/[\p{Number}\p{Currency_Symbol}]/u,Cr=/^[a-z]\.([a-z]\.)+/i,Tr=/[sn]['’]$/;var Fr=function(e,t){let{prePunctuation:n,postPunctuation:a,emoticons:r}=t.one,o=e,i="",s="",l=Array.from(e);if(r.hasOwnProperty(e.trim()))return{str:e.trim(),pre:i,post:" "};let u=l.length;for(let e=0;e(s=e||"",""))),e=o,i=""),{str:e,pre:i,post:s}};var Or=(e,t)=>{let{str:n,pre:a,post:r}=Fr(e,t);return{text:n,pre:a,post:r,tags:new Set}};var Gr=function(e,t){const n=t.model.one.unicode||{};let a=(e=e||"").split("");return a.forEach(((e,t)=>{n[e]&&(a[t]=n[e])})),a.join("")};var Vr=function(e){let t=e=(e=(e=e||"").toLowerCase()).trim();return e=(e=(e=e.replace(/[,;.!?]+$/,"")).replace(/\u2026/g,"...")).replace(/\u2013/g,"-"),!1===/^[:;]/.test(e)&&(e=(e=(e=e.replace(/\.{3,}$/g,"")).replace(/[",.!:;?)]+$/g,"")).replace(/^['"(]+/g,"")),""===(e=(e=e.replace(/[\u200B-\u200D\uFEFF]/g,"")).trim())&&(e=t),e=e.replace(/([0-9]),([0-9])/g,"$1$2")};const zr=/([A-Z]\.)+[A-Z]?,?$/,Lr=/^[A-Z]\.,?$/,Mr=/[A-Z]{2,}('s|,)?$/,Sr=/([a-z]\.)+[a-z]\.?$/;var $r=function(e){return function(e){return!0===zr.test(e)||!0===Sr.test(e)||!0===Lr.test(e)||!0===Mr.test(e)}(e)&&(e=e.replace(/\./g,"")),e};var Br=function(e,t){const n=t.methods.one.killUnicode;let a=e.text||"";a=Vr(a),a=n(a,t),a=$r(a),e.normal=a};var Jr=function(e,t){const{methods:n,model:a}=t,{splitSentences:r,splitTerms:o,splitWhitespace:i}=n.one.tokenize;return e=r(e=e||"",t).map((e=>{let n=o(e,a);return n=n.map((e=>i(e,a))),n.forEach((e=>{Br(e,t)})),n})),e};const Hr=/[ .][A-Z]\.? *$/i,Wr=/(?:\u2026|\.{2,}) *$/,Kr=/\p{L}/u,qr=/^[A-Z]\. $/;var Ur={one:{killUnicode:Gr,tokenize:{splitSentences:br,isSentence:function(e,t){if(!1===Kr.test(e))return!1;if(!0===Hr.test(e))return!1;if(3===e.length&&qr.test(e))return!1;if(!0===Wr.test(e))return!1;let n=e.replace(/[.!?\u203D\u2E18\u203C\u2047-\u2049] *$/,"").split(" "),a=n[n.length-1].toLowerCase();return!0!==t.hasOwnProperty(a)},splitTerms:Dr,splitWhitespace:Or,fromString:Jr}}};var Qr={"&":"and","@":"at","%":"percent",plz:"please",bein:"being"};let Rr={},Xr={};[[["approx","apt","bc","cyn","eg","esp","est","etc","ex","exp","prob","pron","gal","min","pseud","fig","jd","lat","lng","vol","fm","def","misc","plz","ea","ps","sec","pt","pref","pl","pp","qt","fr","sq","nee","ss","tel","temp","vet","ver","fem","masc","eng","adj","vb","rb","inf","situ","vivo","vitro","wr"]],[["dl","ml","gal","qt","pt","tbl","tsp","tbsp","km","dm","cm","mm","mi","td","hr","hrs","kg","hg","dg","cg","mg","µg","lb","oz","sq ft","hz","mps","mph","kmph","kb","mb","tb","lx","lm","fl oz","yb"],"Unit"],[["ad","al","arc","ba","bl","ca","cca","col","corp","ft","fy","ie","lit","ma","md","pd","tce"],"Noun"],[["adj","adm","adv","asst","atty","bldg","brig","capt","cmdr","comdr","cpl","det","dr","esq","gen","gov","hon","jr","llb","lt","maj","messrs","mlle","mme","mr","mrs","ms","mstr","phd","prof","pvt","rep","reps","res","rev","sen","sens","sfc","sgt","sir","sr","supt","surg"],"Honorific"],[["jan","feb","mar","apr","jun","jul","aug","sep","sept","oct","nov","dec"],"Month"],[["dept","univ","assn","bros","inc","ltd","co"],"Organization"],[["rd","st","dist","mt","ave","blvd","cl","cres","hwy","ariz","cal","calif","colo","conn","fla","fl","ga","ida","ia","kan","kans","minn","neb","nebr","okla","penna","penn","pa","dak","tenn","tex","ut","vt","va","wis","wisc","wy","wyo","usafa","alta","ont","que","sask"],"Place"]].forEach((e=>{e[0].forEach((t=>{Rr[t]=!0,Xr[t]="Abbreviation",void 0!==e[1]&&(Xr[t]=[Xr[t],e[1]])}))}));var Zr=["anti","bi","co","contra","de","extra","infra","inter","intra","macro","micro","mis","mono","multi","peri","pre","pro","proto","pseudo","re","sub","supra","trans","tri","un","out","ex"].reduce(((e,t)=>(e[t]=!0,e)),{});let _r={"!":"¡","?":"¿Ɂ",'"':'“”"❝❞',"'":"‘‛❛❜’","-":"—–",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:"ŹźŻżŽžƵƶȤȥɀΖ"},Yr={};Object.keys(_r).forEach((function(e){_r[e].split("").forEach((function(t){Yr[t]=e}))}));const eo=/\//,to=/[a-z]\.[a-z]/i,no=/[0-9]/;var ao=function(e,t){let n=e.normal||e.text||e.machine;const a=t.model.one.aliases;if(a.hasOwnProperty(n)&&(e.alias=e.alias||[],e.alias.push(a[n])),eo.test(n)&&!to.test(n)&&!no.test(n)){let t=n.split(eo);t.length<=2&&t.forEach((t=>{""!==(t=t.trim())&&(e.alias=e.alias||[],e.alias.push(t))}))}return e};const ro=/^\p{Letter}+-\p{Letter}+$/u;var oo=function(e){let t=e.implicit||e.normal||e.text;t=t.replace(/['’]s$/,""),t=t.replace(/s['’]$/,"s"),t=t.replace(/([aeiou][ktrp])in'$/,"$1ing"),ro.test(t)&&(t=t.replace(/-/g,"")),t=t.replace(/^[#@]/,""),t!==e.normal&&(e.machine=t)};var io=function(e){let t=e.docs,n={};for(let e=0;eco(e,ao),machine:e=>co(e,oo),normal:e=>co(e,Br),freq:io,offset:so,index:lo,wordCount:uo},methods:Ur,model:{one:{aliases:Qr,abbreviations:Rr,prefixes:Zr,suffixes:{like:!0,ish:!0,less:!0,able:!0,elect:!0,type:!0,designate:!0},prePunctuation:{"#":!0,"@":!0,_:!0,"°":!0,"​":!0,"‌":!0,"‍":!0,"\ufeff":!0},postPunctuation:{"%":!0,_:!0,"°":!0,"​":!0,"‌":!0,"‍":!0,"\ufeff":!0},lexicon:Xr,unicode:Yr,emoticons:{"<3":!0,"{let i=(e=e.toLowerCase().trim()).length;t.max&&i>t.max&&(i=t.max);for(let s=t.min;s{delete a[e]})),a};const bo={safe:!0,min:3};var vo={typeahead:function(e=[],t={}){let n=this.model();var a;t=Object.assign({},bo,t),a=e,"[object Object]"===Object.prototype.toString.call(a)&&(Object.assign(n.one.lexicon,e),e=Object.keys(e));let r=fo(e,t,this.world());return Object.keys(r).forEach((e=>{n.one.typeahead.hasOwnProperty(e)?delete n.one.typeahead[e]:n.one.typeahead[e]=r[e]})),this}};var yo={model:{one:{typeahead:{}}},api:po,lib:vo,compute:go,hooks:["typeahead"]};b.extend(ee),b.extend(qn),b.extend(cn),b.extend(oa),b.extend(_a),b.plugin(xe),b.extend(ho),b.plugin(k),b.extend(Ke),b.extend(yo),b.extend(Le),b.extend(fa);var wo={addendum:"addenda",corpus:"corpora",criterion:"criteria",curriculum:"curricula",genus:"genera",memorandum:"memoranda",opus:"opera",ovum:"ova",phenomenon:"phenomena",referendum:"referenda",alga:"algae",alumna:"alumnae",antenna:"antennae",formula:"formulae",larva:"larvae",nebula:"nebulae",vertebra:"vertebrae",analysis:"analyses",axis:"axes",diagnosis:"diagnoses",parenthesis:"parentheses",prognosis:"prognoses",synopsis:"synopses",thesis:"theses",neurosis:"neuroses",appendix:"appendices",index:"indices",matrix:"matrices",ox:"oxen",sex:"sexes",alumnus:"alumni",bacillus:"bacilli",cactus:"cacti",fungus:"fungi",hippopotamus:"hippopotami",libretto:"libretti",modulus:"moduli",nucleus:"nuclei",octopus:"octopi",radius:"radii",stimulus:"stimuli",syllabus:"syllabi",cookie:"cookies",calorie:"calories",auntie:"aunties",movie:"movies",pie:"pies",rookie:"rookies",tie:"ties",zombie:"zombies",leaf:"leaves",loaf:"loaves",thief:"thieves",foot:"feet",goose:"geese",tooth:"teeth",beau:"beaux",chateau:"chateaux",tableau:"tableaux",bus:"buses",gas:"gases",circus:"circuses",crisis:"crises",virus:"viruses",database:"databases",excuse:"excuses",abuse:"abuses",avocado:"avocados",barracks:"barracks",child:"children",clothes:"clothes",echo:"echoes",embargo:"embargoes",epoch:"epochs",deer:"deer",halo:"halos",man:"men",woman:"women",mosquito:"mosquitoes",mouse:"mice",person:"people",quiz:"quizzes",rodeo:"rodeos",shoe:"shoes",sombrero:"sombreros",stomach:"stomachs",tornado:"tornados",tuxedo:"tuxedos",volcano:"volcanoes"},ko={Comparative:"true¦bett1f0;arth0ew0in0;er",Superlative:"true¦earlier",PresentTense:"true¦bests,sounds",Condition:"true¦lest,unless",PastTense:"true¦began,came,d4had,kneel3l2m0sa4we1;ea0sg2;nt;eap0i0;ed;id",Participle:"true¦0:0A;a07b02c00dXeat0fSgQhPoJprov0rHs7t6u4w1;ak0ithdra03o2r1;i03uZ;k0v0;nd1pr05;ergoJoJ;ak0hHo3;e9h7lain,o6p5t4un3w1;o1um;rn;g,k;ol0reT;iRok0;ught,wn;ak0o1ruL;ne,wn;en,wn;ewriOi1uK;dd0s0;ut3ver1;do4se0t1;ak0h2;do2g1;roH;ne;ast0i7;iv0o1;ne,tt0;all0loCor1;bi3g2s1;ak0e0;iv0oA;dd0;ove,r1;a6eamt,iv0u1;nk;hos0lu1;ng;e4i3lo2ui1;lt;wn;tt0;at0en,gun;r2w1;ak0ok0;is0;en",Gerund:"true¦accord0be0doin,go0result0stain0;ing",Expression:"true¦a0Xb0Tc0Rd0Ne0Lg0FhZjeez,lWmVnToNpKsItHuEvDw6y0;a4e3i1u0;ck,p;k04p0;ee,pee;ah,p,s;!a,y;a5h2o1t0;af,f;rd up,w;atsoever,e1o0;a,ops;e,w;hoo,t;ery wEoi0L;gh,h0;! 0h,m;huh,oh;here nQsk,ut tut;h0ic;eesh,hh,it,oo;ff,h1l0ow,sst;ease,s,z;ew,ooey;h1i,mg,o0uch,w,y;h,o,ps;! 0h;h1my go0w1;d,sh;ell;ah,evertheless,o0;!pe;eh,mm;ah,eh,m1ol0;!s;ao,fao;aCeBi9o2u0;h,mph,rra0zzC;h,y;l1o0;r6y9;la,y0;! 0;c1moCsmok0;es;ow;!p hip hoor0;ay;ck,e,llo,y;ha1i,lleluj0;ah;!ha;ah,ee4o1r0;eat scott,r;l1od0sh; grief,bye;ly;! whiz;e0h,t cetera,ww,xcuse me;k,p;'oh,a0rat,uh;m0ng;mit,n0;!it;mon,o0;ngratulations,wabunga;a2oo1r0tw,ye;avo,r;!ya;h,m; 1h0ka,las,men,rgh,ye;!a,em,h,oy;la",Negative:"true¦n0;ever,o0;n,t",QuestionWord:"true¦how3wh0;at,e1ich,o0y;!m,se;n,re; come,'s",Reflexive:"true¦h4it5my5o1the0your2;ir1m1;ne3ur0;sel0;f,ves;er0im0;self",Plural:"true¦dick0gre0ones,records;ens","Unit|Noun":"true¦cEfDgChBinchAk9lb,m6newt5oz,p4qt,t1y0;ardEd;able1b0ea1sp;!l,sp;spo1;a,t,x;on9;!b,g,i1l,m,p0;h,s;!les;!b,elvin,g,m;!es;g,z;al,b;eet,oot,t;m,up0;!s",Value:"true¦a few",Imperative:"true¦bewa0come he0;re","Plural|Verb":"true¦leaves",Demonym:"true¦0:15;1:12;a0Vb0Oc0Dd0Ce08f07g04h02iYjVkTlPmLnIomHpEqatari,rCs7t5u4v3welAz2;am0Gimbabwe0;enezuel0ietnam0I;gAkrai1;aiwTex0hai,rinida0Ju2;ni0Prkmen;a5cotti4e3ingapoOlovak,oma0Spaniard,udRw2y0W;ede,iss;negal0Cr09;sh;mo0uT;o5us0Jw2;and0;a2eru0Fhilippi0Nortugu07uerto r0S;kist3lesti1na2raguay0;ma1;ani;ami00i2orweP;caragu0geri2;an,en;a3ex0Lo2;ngo0Drocc0;cedo1la2;gasy,y07;a4eb9i2;b2thua1;e0Cy0;o,t01;azakh,eny0o2uwaiI;re0;a2orda1;ma0Ap2;anO;celandic,nd4r2sraeli,ta01vo05;a2iB;ni0qi;i0oneU;aiAin2ondur0unO;di;amEe2hanai0reek,uatemal0;or2rm0;gi0;ilipino,ren8;cuadoVgyp4mira3ngli2sto1thiopi0urope0;shm0;ti;ti0;aPominUut3;a9h6o4roat3ub0ze2;ch;!i0;lom2ngol5;bi0;a6i2;le0n2;ese;lifor1m2na3;bo2eroo1;di0;angladeshi,el6o4r3ul2;gaE;azi9it;li2s1;vi0;aru2gi0;si0;fAl7merBngol0r5si0us2;sie,tr2;a2i0;li0;genti2me1;ne;ba1ge2;ri0;ni0;gh0r2;ic0;an",Organization:"true¦0:4D;a3Gb2Yc2Ed26e22f1Xg1Ph1Ki1Hj1Fk1Dl18m0Wn0Jo0Gp09qu08r01sTtGuBv8w3xiaomi,y1;amaha,m13ou1w13;gov,tu2Z;a3e1orld trade organizati2S;lls fargo,st1;fie28inghou2I;l1rner br3I;gree37l street journ29m17;an halOeriz2Nisa,o1;dafo2Ol1;kswagMvo;b4kip,n2ps,s1;a tod2Yps;es3Ai1;lev33ted natio30;er,s; mobi2Qaco beQd bNeAgi frida9h3im horto2Ymz,o1witt31;shi3Xy1;ota,s r 00;e 1in lizzy;b3carpen37daily ma31guess w2holli0rolling st1Rs1w2;mashing pumpki2Tuprem0;ho;ea1lack eyed pe3Lyrds;ch bo1tl0;ys;l2n3Ds1xas instrumen1J;co,la m15;efoni0Cus;a7e4ieme2Lnp,o2pice gir5quare04ta1ubaru;rbucks,to2R;ny,undgard1;en;a2x pisto1;ls;g1Nrs;few2Ainsbury2QlesforYmsu22;.e.m.,adiohead,b6e3oyal 1yana30;b1dutch she4;ank;aders dige1Gd 1max,vl1R;bu1c1Zhot chili peppe2Nlobst2C;ll;c,s;ant30izno2I;a5bs,e3fiz28hilip morrCi2r1;emier2Audenti16;nk floyd,zza hut;psi2Btro1uge0A;br2Vchina,n2V;lant2Nn1yp12; 2ason20da2I;ld navy,pec,range juli2xf1;am;us;aAb9e6fl,h5i4o1sa,vid3wa;k2tre dame,vart1;is;ia;ke,ntendo,ss0L;l,s;c,st1Htflix,w1; 1sweek;kids on the block,york09;a,c;nd1Vs2t1;ional aca2Io,we0Q;a,cYd0O;aBcdonaldAe7i5lb,o3tv,y1;spa1;ce;b1Mnsanto,ody blu0t1;ley crue,or0O;crosoft,t1;as,subisM;dica2rcedes benz,talli1;ca;id,re;'s,s;c's milk,tt14z1Z;'ore08a3e1g,ittle caesa1K;novo,x1;is,mark; 1bour party;pres0Bz boy;atv,fc,kk,m1od1J;art;iffy lu0Moy divisi0Gpmorgan1sa;! cha07;bm,hop,n1tv;g,te1;l,rpol;asbro,ewlett pack1Ri3o1sbc,yundai;me dep1n1L;ot;tac1zbollah;hi;eneral 6hq,ithub,l5mb,o2reen d0Lu1;cci,ns n ros0;ldman sachs,o1;dye1g0E;ar;axo smith kli03encoV;electr0Km1;oto0W;a4bi,da,edex,i2leetwood mac,o1rito l0D;rd,xcX;at,nancial1restoY; tim0;cebook,nnie mae;b08sa,u3xxon1; m1m1;ob0H;!rosceptics;aiml0Be6isney,o4u1;nkin donu2po0Xran dur1;an;ts;j,w j1;on0;a,f lepp0Zll,peche mode,r spiegZstiny's chi1;ld;aIbc,hEiCloudflaBnn,o3r1;aigsli5eedence clearwater reviv1ossra06;al;ca c7inba6l4m1o0Bst06;ca2p1;aq;st;dplPg1;ate;se;ola;re;a,sco1tigroup;! systems;ev2i1;ck fil-a,na daily;r1y;on;dbury,pital o1rl's jr;ne;aEbc,eBf9l5mw,ni,o1p,rexiteeU;ei3mbardiIston 1;glo1pizza;be;ng;o2ue c1;roV;ckbuster video,omingda1;le; g1g1;oodriL;cht2e ge0rkshire hathaw1;ay;el;idu,nana republ3s1xt5y5;f,kin robbi1;ns;ic;bYcTdidSerosmith,iRlKmEnheuser-busDol,pple9r6s3utodesk,v2y1;er;is,on;hland1sociated F; o1;il;by4g2m1;co;os; compu2bee1;'s;te1;rs;ch;c,d,erican3t1;!r1;ak; ex1;pre1;ss; 5catel2ta1;ir;!-lu1;ce1;nt;jazeera,qae1;da;g,rbnb;as;/dc,a3er,tivision1;! blizz1;ard;demy of scienc0;es;ba",Possessive:"true¦its,my,our0thy;!s","Noun|Verb":"true¦0:9U;1:A8;2:94;3:A1;4:9P;5:A0;6:9I;7:8L;8:7J;9:A6;A:91;B:8V;C:8B;a9Mb8Oc7Gd6Pe6Ef5Qg5Gh54i4Wj4Tk4Ql4Em40n3Vo3Sp2Squ2Rr21s0Jt02u00vVwGyFzD;ip,oD;ne,om;awn,e6Die66;aOeMhJiHoErD;ap,e9Mink2;nd0rDuB;kDry,sh5Fth;!shop;ck,nDpe,re,sh;!d,g;e84iD;p,sD;k,p0t2;aDed,lco8U;r,th0;it,lk,rEsDt4ve,x;h,te;!ehou1ra9;aGen5DiFoD;iDmAte,w;ce,d;be,ew,sA;cuum,l4A;pDr7;da5gra6Clo68;aReQhrPiOoMrGuEwiDy5X;n,st;nDrn;e,n7M;aGeFiEoDu6y;t,ub2;bu5ck4Igg0m,p;at,k,nd;ck,de,in,nsDp,v7H;f0i8P;ll,ne,p,r4Wss,t92uD;ch,r;ck,de,e,le,me,p,re;e5Uow,u6;ar,e,ll,mp0st,xt;g,lDng2rg7Ns5x;k,ly;a0Sc0Ne0Kh0Fi0Dk0Bl09m08n06o05pXquaCtKuFwD;ea86iD;ng,pe,t4;bGit,m,ppErD;fa3ge,pri1v2U;lDo6Q;e6Ny;!je8;aMeLiKoHrEuDy2;dy,ff,mb2;a83eEiDo5Nugg2;ke,ng;am,ss,t4;ckEop,p,rD;e,m;ing,pi2;ck,nk,t4;er,m,p;ck,ff,ge,in,ke,lEmp,nd,p2rDte,y;!e,t;k,l;aJeIiHlGoFrDur,y;ay,e54inDu3;g,k2;ns89t;a5Oit;ll,n,r85te;ed,ll;m,n,rk;b,uB;aDee1Tow;ke,p;a5He4Di2o51;eep,iDou4;ce,p,t;ateboa7HiD;!p;de,gnDl2Unk,p,ze;!al;aGeFiEoDuff2;ck,p,re,w;ft,p,v0;d,i3Wlt0;ck,de,pe,re,ve;aEed,nDrv1It;se,t2M;l,r4t;aGhedu2oCrD;aEeDibb2o3X;en,w;pe,t4;le,n,r2L;cDfegua70il,mp2;k,rifi3;aZeHhy6JiGoEuD;b,in,le,n,s5V;a6ck,ll,oDpe,u5;f,t;de,ng,ot,p,s1V;aTcSdo,el,fQgPje8lOmMnLo17pJque6sFturn,vDwa6T;eDi26;al,r1;er72oFpe8tEuD;lt,me;!a53;l6Zrt;air,eaDly,o51;l,t;dezvo2Xt;aDedy;ke,rk;ea1i4E;a6Gist0r5L;act6Wer1Uo6ZuD;nd,se;a36o6D;ch,s6E;c1Cge,iEke,lly,nDp1Vt1V;ge,k,t;n,se;es69iv0;a04e00hYiXlToNrEsy4uD;mp,n4rcha1sh;aKeIiHoDu4M;be,ceFdu3fi2grDje8mi1p,te6;amDe6U;!me;ed,ss;ce,de,nt;sDy;er6As;cti3i1;iHlFoEp,re,sDuBw0;e,i5Wt;l,p;iDl;ce,sh;nt,s5T;aEce,e30uD;g,mp,n7;ce,nDy;!t;ck,le,n16pe,tNvot;a1oD;ne,tograph;ak,eFnErDt;fu53mA;!c30;!l,r;ckJiInHrFsEtDu1y;ch,e9;s,te;k,tD;!y;!ic;nt,r,se;!a7;bje8ff0il,oErDutli3Over49;bAd0ie9;ze;a4PeFoDur1;d,tD;e,i3;ed,gle8tD;!work;aMeKiIoEuD;rd0;ck,d3Pld,nEp,uDve;nt,th;it5CkD;ey;lk,n49rr5AsDx;s,ta29;asuCn4SrDss;ge,it;il,nFp,rk3UsEtD;ch,t0;h,k,t0;da5n0oeuvC;aLeJiHoEuD;mp,st;aEbby,ck,g,oDve;k,t;d,n;cDft,mAnHst;en1k;aDc0Ne4vJ;ch,d,k,p,se;bEcDnd,p,t4un4;e,k;el,o2T;eEiDno4D;ck,d,ll,ss;el,y;aEo1NuD;i3mp;m,zz;mpJnEr45ssD;ue;c1Qdex,fluGha2k,se2GteDvoi3;nt,rD;e6fa3viD;ew;en3;a8le29;aJeHiGoEuD;g,nt;l39no2Cok,pDr1u1;!e;ghli1Eke,nt,re,t;aDd7lp;d,t;ck,mGndFrEsh,tDu9;ch,e;bo3Wm,ne4Dve6;!le;!m0;aLear,ift,lJossIrFuD;arDe49lp,n;antee,d;aEiDouBumb2;ll,nd,p;de,sp;ip;oDue;ss,w;g,in,me,ng,s,te,ze;aZeWiRlNoJrFuD;ck,el,nDss,zz;c38d;aEoDy;st,wn;cDgme,me,nchi1;tuC;cFg,il,ld,rD;ce,e29mDwa31;!at;us;aFe0Vip,oDy;at,ck,od,wD;!er;g,ke,me,re,sh,vo1E;eGgFlEnDre,sh,t,x;an3i0Q;e,m,t0;ht,uC;ld;aEeDn3;d,l;r,tuC;ce,il,ll,rm,vo2W;cho,d7ffe8nMsKxFyeD;!baD;ll;cGerci1hFpDtra8;eriDo0W;en3me9;au6ibA;el,han7u1;caDtima5;pe;count0d,vy;a01eSiMoJrEuDye;b,el,mp,pli2X;aGeFiEoD;ne,p;ft,ll,nk,p,ve;am,ss;ft,g,in;cEd7ubt,wnloD;ad;k,u0E;ge6p,sFt4vD;e,iDor3;de;char7gui1h,liEpD;at4lay,u5;ke;al,bKcJfeIlGmaBposAsEtaD;il;e07iD;gn,re;ay,ega5iD;ght;at,ct;li04rea1;a5ut;b,ma7n3rDte;e,t;a0Eent0Dh06irc2l03oKrFuD;be,e,rDt;b,e,l,ve;aGeFoEuDy;sh;p,ss,wd;dAep;ck,ft,sh;at,de,in,lTmMnFordina5py,re,st,uDv0;gh,nDp2rt;s01t;ceHdu8fli8glomeIsFtDveN;a8rD;a6ol;e9tru8;ct;ntDrn;ra5;bHfoGmFpD;leDouBromi1;me9;aBe9it,u5;rt;at,iD;ne;lap1oD;r,ur;aEiDoud,ub;ck,p;im,w;aEeDip;at,ck,er;iGllen7nErD;ge,m,t;ge,nD;el;n,r;er,re;ke,ll,mp,noe,pGrXsFtEuDve;se,ti0I;alog,ch;h,t;!tuC;re;a03eZiXlToPrHuEyD;pa11;bb2ck2dgEff0mp,rDst,zz;den,n;et;anJeHiFoadEuD;i1sh;ca6;be,d7;ge;aDed;ch,k;ch,d;aFg,mb,nEoDrd0tt2x,ycott;k,st,t;d,e;rd,st;aFeBiDoYur;nk,tz;nd;me;as,d,ke,nd,opsy,tD;!ch,e;aFef,lt,nDt;d,efA;it;r,t;ck,il,lan3nIrFsEtt2;le;e,h;!gDk;aDe;in;!d,g,k;bu1c05dZge,iYlVnTppQrLsIttGucEwaD;rd;tiD;on;aDempt;ck;k,sD;i6ocia5;st;chFmD;!oD;ur;!iD;ve;eEroa4;ch;al;chDg0sw0;or;aEt0;er;rm;d,m,r;dreHvD;an3oD;ca5;te;ce;ss;cDe,he,t;eFoD;rd,u9;nt;nt,ss;se",Actor:"true¦0:7C;1:7H;2:6B;3:7G;4:7P;5:7L;6:72;a6Pb64c4Xd4De43f3Tg3Ch31i2Vj2Rkin2Ql2Lm27n20o1Tp0Wqu0Ur0KsRtKuIvFw9yo7;gi,ut7;h,ub0;aBeAi9o8r7;estl0it0;m2rk0;fe,nn0t2Cza2I;atherm2ld0;ge earn0it0nder0rri1;eter8i7oyG;ll5Sp,s41;an,ina2V;n7s0;c6Wder04;aoisea24eAherapi5iktok0o9r7ut1yco6;a7endseMo45;d0mp,nscri0Cvel0;ddl0u1H;a0Rchn8en7na4st0;ag0;i3Qo0E;aiYcVeShQiNki0mu27oKpHquaGtCu8wee7;p0theart;lt2per8r7;f0ge6viv1;h7inten0Jst5Kvis1;ero,um2;a9ep8r7;ang0eam0;bro2Oc2Pfa2Omo2Osi21;ff0tesm2;tt0;ec8ir2Eo7;kesp5Bu0N;ia5Lt3;l8me6Cn,rcere7ul;r,ss;di0oi5;n8s7;sy,t0;g0n0;am2ephe1Jow7;girl,m2r2R;cretJnior cit3Hr7;gea4v7;a4it1;hol4Zi8reen7ulpt1;wr2D;e02on;l1nt;aFeAo9u7;l0nn7;er up,ingF;g42le mod41of0;a51c9fug2Rpo34searRv7;ere4Wolution7;ary;e7luZru23;ptio3V;bbi,dic5Xpp0;arter7e31;back;aZeXhTiSlPoLr9sycho8u7;nk,p34;logi5;aHeEiCo7;dAfess1g8ph49s7;pe2Mtitu53;en7ramm0;it1y;igy,uc0;est4Pme mini0Vnce7s3G;!ss;a8si7;de4;ch0;ctiti3Bnk0Q;dca0Pet,li7pula52rnst44;c2Ktic7;al scie7i2;nti5;a7umb0;nn0y7;er,ma4Nwright;lgrim,one0;a9iloso8otogra8ra7ysi1X;se;ph0;ntom,rmaci5;r7ssi1V;form0s6;i3Gl,nel40r9st1tr7wn;i7on;arXot;ent4Yi44tn0;ccupa4ffCp9r8ut7;ca5l0C;ac4Kganiz0ig2Hph2;er3t7;i1Lomet7;ri5;ic0spring;aCeAie4Zo8u7;n,rser3L;b7mad,vi4X;le2Xo4F;i7mesis,phew;ce,ghb1;nny,rr3t20;aFeEiBo8u7yst21;m9si18;der3gul,m8n7th0;arEk;!my;ni8s7;f03s0Kt0;on,st0;chan1Tnt1rcha4;giAk0n9rtyr,t7y1;e,riar7;ch;ag0iac;ci2stra3K;a8e2Cieutena4o7;rd,s0v0;bor0d8ndlo7ss,urea3Hwy0ym2;rd;!y;!s2A;anitor ,e9o8u7;ggl0;gg0urna2W;st0;c6dol,llu3Wmmigra4n7;-lAc1Sfa4habi44nov3s8ve7;nt1stig3;pe0Pt7;a1Hig3ru0O;aw;airGeCistoBo9u7ygie1M;man7nt0sba2J;!ita9;bo,st7usekO;age,e3R;ri2;ir,r7;m8o7;!ine;it;dress0sty2E;aMeJhostHirl28ladi3oDrand8u7;e5ru;cAdaugTfa9m8pa7s6;!re4;a,o7;th0;hi1D;al8d7lf0;!de3C;ie,k7te28;eep0;!wr7;it0;isha,n7;i7tl06;us;mbl0rden0;aFella,iBo8r7;eela2Pie1R;e,re7ster pare4;be1Jm2r7st0;unn0;an31g9lmm19nanci0r7tt0;e7st la2J; marsh2Qfig7m2;ht0;rm0th0;conoFdElectriDm9n8x7;amin0cellency,i2B;emy,trepreneur,vironmenta1K;c9p7;er1loye7;e,r;ee;ci2;it1;mi5;aLeCi9ork,ri8u7we03;de,tche2I;ft0vK;ct3eti8plom2Ire7va;ct1;ci2ti2;aEcor3fencDi0JnBputAs8tectNvel7;op0;ce1He7ign0;rt0;ee,y;iz7;en;em2;c6l0;dAnc0redev9ught7;er7;! ;il;!dy;a06e04fo,hXitizenWlToCrAu7;r3stomer7;! representat7;ive;e3it7;ic;-work0lJmGnAord9rpor1Nu7wboy;n7ri0sin ;ciUte1R;in3;fidantBgressTsAt7;e0Lr7;ibut1o7;ll0;tab14ul1P;!e;edi2m7pos0rade;a0FeRissi7;on0;leag9on8um7;ni5;el;ue;e7own;an0r7;ic,k;!s;aAe8i7um;ld;erle7f;ad0;ir8nce7plGract0;ll1;m2wJ;lebri7o;ty;dCptBr7shi0;e8pe7;nt0;r,t7;ak0;ain;et;aNeMiKlogg0oFrCu7;dd0Gild0rglAsiness7;m2p8w7;om2;ers6;ar;i8o7;!k0th0;cklay0de,gadi0;hemi2oge9y7;!frie7;nd;ym2;an;cyc7sS;li5;atbox0ings;by,nk0r7;b0on8te7;nd0;!e08;c05dXge4nRpMrIsGtBu8yatull7;ah;nt8t7;h1oH;!ie;h9t7;e7orney;nda4;ie5le7;te;sis01tron7;aut,om0;chbis9isto8tis7;an,t;crV;hop;ostAp7;ari7rentiT;ti6;on;le;aAcest1im3nou9y7;bo7;dy;nc0;ly5rc7;hi5;mi9v7;entur0is1;er;ni8r7;al;str3;at1;or;counCquaintanBrobAt7;ivi5or,re7;ss;st;at;ce;ta4;nt","Adj|Noun":"true¦0:1F;1:1M;a1Db17c0Vd0Se0Nf0Eg0Bh09i07ju06l03mXnVoTpOrJsCt8u5v2watershed;a2ision10;gabo5nilla,ria2;b0Wnt;ndergr2pstairs;adua14ou2;nd;a4e2oken,ri0;en,r2;min0rori13;boo,n;age,e6ilv0Glack,o4quat,ta3u2well;bordina0Xper6;b0Mndard;ciali0Yl2vereign;e,ve1;cret,n2ri0;ior;a5e3ou2ubbiM;nd,tiZ;ar,bCl0Ynt0p2side1;resent0Xublican;ci0Qsh;a5eriodic0last11otenti0r2;emi3incip0o2;!fession0;er,um;rall5st,tie1;ff2pposi0Hv0;ens0Qi0D;agg02ov2;el;a6e4iniatKo2;bi02der08r2;al,t0;di2tr0P;an,um;le,riH;attPi3u2;sh;ber0ght,qD;stice,veniU;de0mpressioZn2;cumbe1dividu0no0Fsta1terim;alf,o2umdrum;bby,melG;en3old,ra2;ph0Dve;er0ious;a8e6i5l4u2;git05t2;ure;uid;ne;llow,m2;aGiM;ir,t,vo2;riOuriO;l4p02x2;c2ecutWpeX;ess;d2iK;er;ar3e2;mographWrivQ;k,l3;hiGlassUo3rude,unn2;ing;m6n2operM;creCstitue1te3vertab2;le;mpor2nt;ary;ic,m3p2;anion,lex;er3u2;ni8;ci0;e6lank,o5r2;i3u2;te;ef;ttom,urgeois;st;cademCd9l5n3r2;ab,ctB;im0tarctA;al;e4tern2;at2;ive;rt;oles2ult;ce1;nt;ic","Adj|Past":"true¦0:4C;1:40;2:45;3:42;4:3B;a3Tb3Ic2Vd2Ae22f1Wg1Th1Qi1Hj1Ekno1Dl18m13n10o0Vp0Lqu0Jr07sKtEuBvAw5yellow0;a8ea7o5rinkl0;r5u3N;n,ri0;k2Qth3;rp0sh0tY;ari0e1M;n5pd1s0;cov3derstood,i5;fi0t0;a8hreat2Ki7ouTr5urn0wi42;a5imm0ou28;ck0in0pp0;ed,r0;m0nn0r5;get0ni2K;aPcLeJhHimGm0Hoak0pEt8u5;bsid3Fgge3Vs5;pe5ta2P;ct0nd0;a9e8i26ok0r6u5;ff0nn0;ength28ip5;ed,p0;am0reotyp0;in0t0;eci5ik0oI;al35fi0;pSul1;a5ock0ut;d0r0;a5c1Dle2t2S;l0s3Jt0;a7or6r5;at5e1W;ch0;r0tt3;t5ut0;is4ur1;aFe6o5;tt0;cBdJf22gAje2l9m0Knew0p8qu7s5;eTpe2t5;or0ri2;e34ir0;e1lac0;at0e2H;ist3ul1;eiv0o5ycl0;mme2Crd0v3;in0lli0ti4;a5ot0;li4;aCer2RiBlAo9r5ump0;e7i2Go5;ce27d5lo14nou2Spos0te2v0;uc0;fe15ocDp0Fss0;i2Cli1D;ann0e24uT;ck0erc0ss0;ck0i29r5st0;allMk0;bse8c7rgan25ver5;lo5whelm0;ok0;cupi0;rv0;e6o5;t0uri12;ed0gle2;a7e6ix0o5ut0;di4t0Xu1Y;as07lt0;n5rk0;ag0ufact05;e7i6o5;ad0ck0st;cens0mit0st0;ft,v5;el0;tt0wn;a6o0Xu5;dg0s13;gg0;llumin1mpBn5sol1;br0cre1Ddebt0f9jUt6v5;it0olv0;e5ox0Q;gr1n5re1V;d0si4;e2l1o1O;li0oVr5;ov0;amm3e1o5;ok0r5;ri4;ift0r6u5;a14id0;i0Kown;a9e8i7lavo0Goc0Cr5;a5i0oz0S;ctEg13m0;ni04tt0x0;ar0;d0il0;duc1l1mBn9quipp0s8x5;agger1p5te0Q;a0Pe5os0;ct0rie1A;cap0tabliX;gFha18s5;ur0;a0Xbarra0L;aMeEi6r5;a00i0;gni4miniRre2s5;aAc7grun0Et5;o5re0Gurb0;rt0;iplVou5;nt0r5;ag0;bl0;cBdQf9l8pre0Ara7t6v5;elop0ot0;ail0ermP;ng0;ay0ight0;e5in0o0M;rr0;ay0enTor1;m5t0z0;ag0p5;en0;aQeMhJlIoAr7u5;lt5r0stom04;iv1;a6owd0u5;sh0;ck0mp0;d0loBm8n5ok0v3;centr1f6s5troD;id3olid1;us0;b6pl5;ic1;in0;r0ur0;assi4os0utt3;ar6i5;ll0;g0m0;lebr1n7r5;ti4;fi0;tralK;g0lcul1;aEiDlAo8r6urn5;ed,t;ok5uis0;en;il0r0t5und;tl0;e6i5;nd0;ss0;as0;k0laNs0tt3;bandQcOdLfJg0lGmaz0nEppCrm0ssAu6wa5;rd0;g6thor5;iz0;me5;nt0;o7u5;m0r0;li0re5;ci1;im1ticip1;at0;a6leg0t3;er0;rm0;fe2;ct0;ju6o8va5;nc0;st0;ce5knowledg0;pt0;on0;ed",Singular:"true¦0:5J;1:5H;2:4W;3:52;4:4S;5:57;6:5L;7:56;a51b4Jc3Md34e2Wf2Mg2Gh25in21j20k1Zl1Sm1Kn1Go1Ap0Qqu0Pr0EsYtLuGvBw8x r57yo yo;a8ha3Oo3P;f4i4Qt0Fy8;! arou38;arBe9ideo ga2Po8;cabu4Hl5B;gNr8t;di4Yt1V;iety,ni4O;nAp2Zr9s 8;do42s5D;bani1in0;coordinat39der8;estima1to21we40; rex,aJeIhGiEoDrAu9v8;! show;m2Nn2rntKto1B;agedy,ib8o4D;e,u8;n0ta44;ni1p2rq3K;c,er,m8;etE;ing8ree25;!y;am,mp3E;ct2le6x return;aMcLeJhor4PiIkGoFpin off,tCuAy8;ll8ner7st4S;ab2W;b8i1n27per bowl,rro1W;st3Ktot0;at9ipe2Fo1Irate7udent8;! lo0H;i38u1;ft ser4Kmeo1F;elet5i8;ll,r3U;b37gn2Ste;ab2Ic8min3A;t,urity gua2M;e6ho2X;bbatic0la3Hndwi0Opi5;av5eChetor2i9o8;de6om,w;t9v8;erb2B;e,u0;bCcAf8publ2r0Xspi1;er8orm4;e6r0;i8ord label;p2Gt0;a1u45;estion mark,ot2E;aOeLhoKiHlFoDr9u8yram1E;ddi3GpDrpo1Is3I;eAo8;bl3Ys8;pe3Ita1;dic1Qmi1Ep1Proga3Uss relea1E;p8rt0;py;a8ebisci1;q2Cte;cn2e9g8;!gy;!r;ne call,tocoJ;anut,d9r8t0yo1;cen3Isp3J;al,est0;nop3r9t8;e,hog5;adi10i2U;atme0bj3EcApia1rde0thers,utspok5ve8wn4;n,r8;ti0Oview;cu9e8;an;pi4;arAit9ot8umb4;a2Dhi2Q;e,ra1;cot2ra36;aDeBi9o8ur0é0C;nopo3p17rni2Msq1Qti35uld;c,li10n08s8tt5;chief,si33;d8nu,t0;al,ic;gna1mm0nd15rsupi0te8yf3;ri0;aCegBiAu8;ddi1n8;ch;ght bulb,me,p09ving room; 9e0M;bor14y 8;up;eyno1itt5;el3ourn0;cAdices,itia2Oni26s9tel0Mvert8;eb1K;e29titu1;en2Li2U;aHeDighCo9u8;man right,s23;me8rmoEsp1Gtb0L;! r8;un; scho0ZriZ;a8i1O;d8v5; start,pho8;ne;ndful,sh brown,v5ze;aBelat0Jlaci4r9u8yp1T;l3y;an8enadi4id;a1Bd slam,ny;df3r8;l2ni1I;aGeti1HiFlu1oCr9un8;er0;ee market,i9on8;ti4;ga1;l3ur8;so8;me;eOref3;br2mi3n10;conoEffi7gg,lecto0Qmbas1DnBpidem2s1Yth2venAx9yel8;id;ampYempl0Mte6;i18t;er7terp8;ri8;se;my;eKiDoAr8ump tru0T;agonf3i8;er,ve thru;c9g7i3or,ssi4wn8;side;to0DumenD;aDgniCnn4s9vide8;nd;conte6incen1Dp8tri10;osi8;tion;ta0F;le0W;athAc9f8ni0terre6;ault 04err0;al,im0;!b8;ed;aVeShLiKlIoCr8;edit caAuc8;ib8;le;rd;efficCke,lBmmuniqKns9pi4rr0t0Wus8yo1;in;erv8uH;ato00;ic,lP;ie6;er7i8oth;e6n2;ty,vil wL;aCeqBick5ocoAr8;istmas car8ysanthemum;ol;la1;ue;ndeli4racteri8;st2;i9llDr8;e0tifica1;liY;hi4nEpDrBt8ucus;erpi8hedr0;ll8;ar;!bohyd8ri4;ra1;it0;a8e,nib0;l,ry;aMeLiop2leJoHrDu8;nBr8tterf3;g8i0;la8;ry;ny;eak9i8;ck;fa8throA;st;dy,ro8wl;ugh;mi8;sh;an,l3;nki9rri4;er;ng;cRdLlHnEppeti1rCsAtt2utop8;sy;ic;ce6pe8;ct;r8sen0;ay;ec9oma3ti9;ly;do1;i5l8;er7y;gy;en; hominCj9van8;tage;ec8;ti8;ve;em;cBe9qui8;tt0;ta1;te;i9ru0;al;de6;nt","Person|Noun":"true¦a07b01cYdRePfOgMhJjFkiElDmBolive,p7r4s3trini00v1wa0;ng,rd;an,enus,iol0;a,et;ky,on5umm02;ay,e1o0uby;bin,d,se;ed,x;a2e0ol;aHn0;ny;ge,tM;a0eloR;x,ya;a9eo,iE;ng,tL;a2e1o0;lDy;an,w3;de,smi4y;a0iKol8;ll,z0;el;ail,e0;ne;aith,ern,lo;a0dDmir,ula,ve;rl;a4e3i1ol0;ly;ck,x0;ie;an,ja;i0wn;sy;h0liff,rystal;ari0in,ristian;ty;ak4e3i2r0;an0ook;dy;ll;nedict,rg;er;l0rt;fredo,ma","Actor|Verb":"true¦aCb8c5doctor,engineAfool,g3host,judge,m2nerd,p1recruit,scout,ushAvolunteAwi0;mp,tneA;arent,ilot;an,ime;eek,oof,r0uide;adu8oom;ha1o0;ach,nscript,ok;mpion,uffeur;o2u0;lly,tch0;er;ss;ddi1ffili0rchite1;ate;ct",MaleName:"true¦0:DO;1:CO;2:D7;3:AJ;4:CK;5:BZ;6:CF;7:D3;8:BS;9:AR;A:DB;B:D4;C:94;D:BM;aC9bB7cA7d98e8If82g7Fh6Si6Cj5Ek52l4Fm37n2Uo2Op2Gqu2Er1Ms12t0Gu0Fv08wUxTyJzE;aEor0;cEh9Jkaria,n0C;hFkE;!aC7;ar5UeC6;aMoGuE;sEu2LvBJ;if,uf;nGsFusE;ouf,sE;ef;aEg;s,tE;an,h0;hli,nB8ssY;avi3ho4;aNeLiGoEyaBN;jcie87lfgang,odrow,utE;!er;lEnst1;bGey,fredAlE;aAZiE;am,e,s;e97ur;i,nde9sE;!l8t1;lFyE;l1ne;lEt3;a9Xy;aHiEladimir,ojte7U;cFha0kt67nceErgA5va0;!nt;e3Xt65;lentEn9S;inE;!e;ghBElyss59nax,sm0;aXeShOiMoIrGuFyE;!l3ro6s1;n7r59;avAHeEist0oy,um0;ntA9v5Wy;bGd8RmEny;!as,mEoharu;aCCie,y;iCy;mEt5;!my,othy;adGeoFia0KomE;!as;!do8G;!de5;dHrE;en98rE;an97eEy;ll,n96;!dy;dgh,ha,iEnn3req,tsu4R;cAPka;aUcotSeQhMiKoIpenc3tEur1Xylve96zym1;anGeEua85;f0phBCvEwa84;e5Zie;!islaw,l8;lom1uE;leyma6ta;dElCm1yabonga;!dhart74n8;aGeE;lErm0;d1t1;h7Kne,qu11un,wn,y6;aEbasti0k2Cl4Prg4Mth,ymoAE;m5n;!tE;!ie,y;lFmEnti2Gq58ul;!ke5JmDu4;ik,vato7O;aZeVhe9ViRoIuFyE;an,ou;b7DdFf5pe7KssE;!elBJ;ol3Fy;an,bLc62dJel,geIh0landAmHnGry,sFyE;!ce;coe,s;!aA1nD;an,eo;l45r;er78g3n8olfo,riE;go;bDeAQ;cEl8;ar6Ic6HhFkEo;!ey,ie,y;a8Vie;gFid,ubByEza;an1KnZ;g9SiE;na9Os;ch6Qfa4lImHndGpha4sFul,wi2HyE;an,mo6U;h7Jm5;alAXol2U;iACon;f,ph;ent2inE;cy,t1;aJeHhilGier6TrE;aka18eE;m,st1;!ip,lip;dA4rcy,tE;ar,e3Er1Y;b4Hdra73tr6JulE;!o19;ctav3Di3liv3m9Yndrej,rIsFtEum7wB;is,to;aFc7k7m0vE;al5S;ma;i,vM;aMeKiGoEu38;aEel,j5l0ma0r3I;h,m;cFg4i46kEl2R;!au,h7Gola;hEkEolC;olC;al,d,il,ls1vE;il8J;hom,tE;e,hE;anEy;!a4i4;a00eXiNoIuFyE;l2Gr1;hamFr6KstaE;fa,p54;ed,mI;di0Xe,hamGis2CntFsEussa;es,he;e,y;ad,ed,mE;ad,ed;cJgu4hai,kHlGnFtchE;!e9;a7Uik;house,o0Ct1;ae5Oe9NolE;aj;ah,hE;aFeE;al,l;el,l;hFlv2rE;le,ri9v2;di,met;ay0hUjd,ks2AlSmadXnRrLs1tGuricFxE;imilianAwe9;e,io;eHhFiCtEus,yC;!eo,hew,ia;eEis;us,w;j,o;cIio,kHlGqu6Ysha9tEv2;iEy;!m,n;in,on;el,oQus;!el91oPus;iHu4;achEcolm,ik;ai,y;amFdi,eEmoud;sh;adEm5G;ou;aXeRiPlo39oLuFyE;le,nd1;cHiGkEth3uk;aEe;!s;gi,s,z;as,iaE;no;g0nn7BrenGuEv81we9;!iE;e,s;!zo;am,oE;n4r;a7Uevi,la4AnIonHst3thaGvE;eEi;nte;bo;!a6Del;!ny;mFnd1rEur54wr54;ry,s;ar,o4Y;aMeIhal7GiFristEu4Ky6J;i0o54;er0p,rE;k,ollE;os;en0iGnErmit,v3U;!dr3XnEt1;e18y;r,th;cp3j5m5Sna6OrFsp7them,uE;ri;im,l;a01eViToHuE;an,lEst2;en,iE;an,en,o,us;aOeMhnLkubCnJrHsE;eFhEi7Wue;!ua;!ph;dEge;i,on;!aEny;h,s,th55;!ath54ie,nD;!l,sEy;ph;o,qu2;an,mE;!mD;d,ffHrEs5;a5YemFmai6oEry;me,ni0Y;i7Gy;!e5OrE;ey,y;cLdBkJmIrGsFvi3yE;dBs1;on,p3;ed,od,rEv4V;e5Bod;al,es4Mis1;a,e,oEub;b,v;ob,quE;es;aXbRchiQgOkeNlija,nuMonut,rKsGtEv0;ai,suE;ki;aFha0i70maEsac;el,il;ac,iaE;h,s;a,vinEw2;!g;k,nngu5F;!r;nacEor;io;ka;ai,rahE;im;aQeKoJuEyd7;be2FgHmber4KsE;eyFsE;a2e2;in,n;h,o;m3ra36sse2wa40;aIctHitHnrFrE;be28m0;iEy;!q0Z;or;th;bMlLmza,nKo,rGsFyE;a47dB;an,s0;lGo4Nry,uEv8;hi44ki,tE;a,o;an,ey;k,s;!im;ib;aWeSiQlenPoMrIuE;ilFsE;!tavo;herme,lerE;mo;aGegEov3;!g,orE;io,y;dy,h5K;nzaFrE;an,d1;lo;!n;lbe4Xno,oE;rg37van4Y;oGrE;aEry;ld,rdA;ffr8rge;brFlBrEv2;la14r3Hth,y;e33ielE;!i5;aSePiNlLorrest,rE;anFedEitz;!dDer11r11;cGkE;ie,lE;in,yn;esLisE;!co,z2W;etch3oE;yd;d4lEonn;ip;deriFliEng,rnan05;pe,x;co;bi0di,hd;dYfrXit0lSmLnIo2rGsteb0th0uge6vEymBzra;an,eE;ns,re2X;gi,i0AnErol,v2w2;estAie;oFriqEzo;ue;ch;aJerIiFmE;aIe2Q;lErh0;!iE;o,s;s1y;nu4;be0Bd1iGliFm3t1viEwood;n,s;ot1Ss;!as,j4FsE;ha;a2en;!d2Vg7mHoFuFwE;a26in;arE;do;oWuW;a02eRiPoHrag0uGwFylE;an,l0;ay6ight;a6dl8nc0st2;minHnFri0ugEvydCy29;!lC;!a2HnEov0;e9ie,y;go,iFykC;as;cEk;!k;armuEll1on,rk;id;andNj0lbeMmetri5nKon,rIsGvFwExt3;ay6ey;en,in;hawn,moE;nd;ek,rE;ick;is,nE;is,y;rt;re;an,le,mLnKrGvE;e,iE;!d;en,iGne9rEyl;eEin,yl;l36n;n,o,us;!i4ny;iEon;an,en,on;a08e06hYiar0lOoJrHuFyrE;il,us;rtE;!is;aEistob0S;ig;dy,lHnFrE;ey,neli5y;or,rE;ad;by,e,in,l2t1;aIeGiEyK;fEnt;fo0Et1;meEt5;nt;rGuFyE;!t1;de;enE;ce;aIeGrisE;!toE;ph3;st3;er;d,rEs;b4leE;s,y;cEdric,s7;il;lHmer1rE;ey,lFro9y;ll;!os,t1;eb,v2;a07eZiVlaUoSrFuEyr1;ddy,rtL;aMeHiGuFyE;an,ce,on;ce,no;an,ce;nFtE;!t;dFtE;!on;an,on;dFndE;en,on;!foEl8y;rd;bby,rEyd;is;i6ke;bGlFshE;al;al,lD;ek;nIrEshoi;at,nFtE;!r1C;aEie;rdA;!iFjam2nD;ie,y;to;kaNlazs,nIrE;n8rEt;eEy;tt;ey;dEeF;ar,iE;le;ar17b0Vd0Rf0Pgust2hm0Mi0Jja0Il03mZnSputsiRrIsaHugust5veFyEziz;a0kh0;ry;us;hi;aLchKiJjun,maInGon,tEy0;hEu09;ur;av,oE;ld;an,ndA;!el,ki;ie;ta;aq;as,dIgelAtE;hony,oE;i6nE;!iAy;ne;er,reEy;!as,i,s,w;iGmaEos;nu4r;el;ne,r,t;aRbeQdBeKfIi,lHonGphZt1vE;aOin;on;so,zo;an,en;onVrE;ed;c,jaHksandGssaHxE;!andE;er,ru;ar,er;ndE;ro;rtA;dd2n;ni;dBm7;ar;en;ad,eE;d,t;in;onE;so;aFi,olfAri0vik;!o;mEn;!a;dIeHraFuE;!bakr,lfazl;hEm;am;!l;allJelGoulaye,ulE;!lErG;ah,o;! rE;ahm0;an;ah;av,on",Uncountable:"true¦0:2Z;1:2F;2:2M;3:34;4:3D;a2Xb2Oc2Cd25e1Uf1Qg1Hh19i14j11k0Zl0Um0Kn0Go0Fp06r02sNtBuran2Mv9w5you gu0H;a7his1Ai6oo5;d,l;ldlife,ne;rmAt2;apor,ernacul2Ci5;neg2Bol1Rtae;eFhDiCoAr6un5yranny;a,gst1E;aff2Rea1No6ue nor5;th;o0Bu5;bleshoot0se1Wt;night,othpas1Ywn5;foGsfoG;me off,n;er5und2;e,mod2V;a,nnis;aGcFeEhCiBkiAo9p8t6u5weepstak1;g1Xnshi2Kshi;ati0Be5;am,el;ace2Neci1;ap,cc2meth0;n,ttl1;lk;eep,ingl1o5;pp0r1E;lf,na1Iri1;ene1Misso1E;d0Yfe3l6nd,t5;i0Kurn;m1Wt;abi1e6ic5;e,ke17;c5i03laxa13search;ogni12rea12;aBeAhys9luto,o7re5ut3;amble,mis1s5ten22;en21s0N;l5rk;i2Al0GyJ; 18i4;a26tr0H;nt5rk0ti0O;i1s;bstetri4vercrowd0xyg0B;a7e6owada5utella;ys;ptu1Qws;il poli01tional securi3;aCeAo7u5;m5s1J;ps;n5o1M;ey,o5;gamy;a5cha0Glancholy,rchandi1Jtallurgy;sl1t;chine5g1Cj1Jrs,thema1S; learn0ry;aught2e8i7ogi6u5;ck,g14;c,s1O;ce,ghtn0nguis1NteratYv2;ath2isXss;ara0GindergartRn5;icke0Cowled10;e5upit2;a5llyfiIwel0I;ns;ce,gnor8mp7n5;forma02ter5;net,sta09;atiUort5rov;an1A;a9e8isto0Bo5ung2;ckey,mework,ne6o5rseradiAspitali3use arrest;ky;s3y;adquarteZre;ir,libut,ppiJs5;hi5te;sh;eneAl8o7r5um,ymnas13;a5e01;niWss;lf,re;ut5yce0H;en; 5ti4;edit0po5;ol;aPeel0icHlour,o6urnit5;ure;od,rgive5uri2wl;ness;arEcono0NducaDlectrBn9quipAthi4very8x5;ist6per5;ti0D;en0L;body,o0Ath0;joy5tertain5;ment;ici3o5;ni4;tiU;nings,th;emi04i8o6raugh5ynas3;ts;pe,wnstai5;rs;abet1ce,s5;hon01repu5;te;aFelciEhCivi4lAo5urrency;al,ld w8mmenta7n5ral,ttKuscoD;fusiJt 5;ed;ry;ar;assi4oth1;es;aos,e5;eOw0;us;d,rQ;aAi8lood,owl0read7u5;nt0tt2;er;!th;lliarLs5;on;g5ss;ga5;ge;cMdviLeroIirHmDn8ppeal court,r6spi5thleN;rin;ithmet5sen5;ic;i8y5;o6th0;ing;ne;se;en7n5;es3;ty;ds;craft;bi4d5nau9;yna5;mi4;ce;id,ous5;ti4;cs",Infinitive:"true¦0:9G;1:9T;2:AD;3:90;4:9Z;5:84;6:AH;7:A9;8:92;9:A0;A:AG;B:AI;C:9V;D:8R;E:8O;F:97;G:6H;H:7D;a94b8Hc7Jd68e4Zf4Mg4Gh4Ai3Qj3Nk3Kl3Bm34nou48o2Vp2Equ2Dr1Es0CtZuTvRwI;aOeNiLors5rI;eJiI;ng,te;ak,st3;d5e8TthI;draw,er;a2d,ep;i2ke,nIrn;d1t;aIie;liADniAry;nJpI;ho8Llift;cov1dJear8Hfound8DlIplug,rav82tie,ve94;eaAo3X;erIo;cut,go,staAFvalA3w2G;aSeQhNoMrIu73;aIe72;ffi3Smp3nsI;aBfo7CpI;i8oD;pp3ugh5;aJiJrIwaD;eat5i2;nk;aImA0;ch,se;ck3ilor,keImp1r8L;! paD;a0Ic0He0Fh0Bi0Al08mugg3n07o05p02qu01tUuLwI;aJeeIim;p,t5;ll7Wy;bNccMffLggeCmmKppJrI;mouFpa6Zvi2;o0re6Y;ari0on;er,i4;e7Numb;li9KmJsiIveD;de,st;er9it;aMe8MiKrI;ang3eIi2;ng27w;fIng;f5le;b,gg1rI;t3ve;a4AiA;a4UeJit,l7DoI;il,of;ak,nd;lIot7Kw;icEve;atGeak,i0O;aIi6;m,y;ft,ng,t;aKi6CoJriIun;nk,v6Q;ot,rt5;ke,rp5tt1;eIll,nd,que8Gv1w;!k,m;aven9ul8W;dd5tis1Iy;a0FeKiJoI;am,t,ut;d,p5;a0Ab08c06d05f01group,hea00iZjoi4lXmWnVpTq3MsOtMup,vI;amp,eJiIo3B;sEve;l,rI;e,t;i8rI;ie2ofE;eLiKpo8PtIurfa4;o24rI;aHiBuctu8;de,gn,st;mb3nt;el,hra0lIreseF;a4e71;d1ew,o07;aHe3Fo2;a7eFiIo6Jy;e2nq41ve;mbur0nf38;r0t;inKleBocus,rJuI;el,rbiA;aBeA;an4e;aBu4;ei2k8Bla43oIyc3;gni39nci3up,v1;oot,uI;ff;ct,d,liIp;se,ze;tt3viA;aAenGit,o7;aWerUinpoiFlumm1LoTrLuI;b47ke,niArIt;poDsuI;aFe;eMoI;cKd,fe4XhibEmo7noJpo0sp1tru6vI;e,i6o5L;un4;la3Nu8;aGclu6dJf1occupy,sup0JvI;a6BeF;etermi4TiB;aGllu7rtr5Ksse4Q;cei2fo4NiAmea7plex,sIva6;eve8iCua6;mp1rItrol,ve;a6It6E;bOccuNmEpMutLverIwe;l07sJtu6Yu0wI;helm;ee,h1F;gr5Cnu2Cpa4;era7i4Ipo0;py,r;ey,seItaH;r2ss;aMe0ViJoIultiply;leCu6Pw;micJnIspla4;ce,g3us;!k;iIke,na9;m,ntaH;aPeLiIo0u3N;e,ke,ng1quIv5;eIi6S;fy;aKnIss5;d,gI;th5;rn,ve;ng2Gu1N;eep,idnJnI;e4Cow;ap;oHuI;gg3xtaI;po0;gno8mVnIrk;cTdRfQgeChPitia7ju8q1CsNtKun6EvI;a6eIo11;nt,rt,st;erJimi6BoxiPrI;odu4u6;aBn,pr03ru6C;iCpi8tIu8;all,il,ruB;abEibE;eCo3Eu0;iIul9;ca7;i7lu6;b5Xmer0pI;aLer4Uin9ly,oJrI;e3Ais6Bo2;rt,se,veI;riA;le,rt;aLeKiIoiCuD;de,jaInd1;ck;ar,iT;mp1ng,pp5raIve;ng5Mss;ath1et,iMle27oLrI;aJeIow;et;b,pp3ze;!ve5A;gg3ve;aTer45i5RlSorMrJuI;lf4Cndrai0r48;eJiIolic;ght5;e0Qsh5;b3XeLfeEgJsI;a3Dee;eIi2;!t;clo0go,shIwa4Z;ad3F;att1ee,i36;lt1st5;a0OdEl0Mm0FnXquip,rWsVtGvTxI;aRcPeDhOiNpJtIu6;ing0Yol;eKi8lIo0un9;aHoI;it,re;ct,di7l;st,t;a3oDu3B;e30lI;a10u6;lt,mi28;alua7oI;ke,l2;chew,pou0tab19;a0u4U;aYcVdTfSgQhan4joy,lPqOrNsuMtKvI;e0YisI;a9i50;er,i4rI;aHenGuC;e,re;iGol0F;ui8;ar9iC;a9eIra2ulf;nd1;or4;ang1oIu8;r0w;irc3lo0ou0ErJuI;mb1;oaGy4D;b3ct;bKer9pI;hasiIow1;ze;aKody,rI;a4oiI;d1l;lm,rk;ap0eBuI;ci40de;rIt;ma0Rn;a0Re04iKo,rIwind3;aw,ed9oI;wn;agno0e,ff1g,mi2Kne,sLvI;eIul9;rIst;ge,t;aWbVcQlod9mant3pNru3TsMtI;iIoDu37;lJngI;uiA;!l;ol2ua6;eJlIo0ro2;a4ea0;n0r0;a2Xe36lKoIu0S;uIv1;ra9;aIo0;im;a3Kur0;b3rm;af5b01cVduBep5fUliTmQnOpMrLsiCtaGvI;eIol2;lop;ch;a20i2;aDiBloIoD;re,y;oIy;te,un4;eJoI;liA;an;mEv1;a4i0Ao06raud,y;ei2iMla8oKrI;ee,yI;!pt;de,mIup3;missi34po0;de,ma7ph1;aJrief,uI;g,nk;rk;mp5rk5uF;a0Dea0h0Ai09l08oKrIurta1G;a2ea7ipp3uI;mb3;ales4e04habEinci6ll03m00nIrro6;cXdUfQju8no7qu1sLtKvI;eIin4;ne,r9y;aHin2Bribu7;er2iLoli2Epi8tJuI;lt,me;itu7raH;in;d1st;eKiJoIroFu0;rm;de,gu8rm;ss;eJoI;ne;mn,n0;eIlu6ur;al,i2;buCe,men4pI;eIi3ly;l,te;eBi6u6;r4xiC;ean0iT;rcumveFte;eJirp,oI;o0p;riAw;ncIre5t1ulk;el;a02eSi6lQoPrKuI;iXrIy;st,y;aLeaKiJoad5;en;ng;stfeLtX;ke;il,l11mba0WrrMth1;eIow;ed;!coQfrie1LgPhMliLqueaKstJtrIwild1;ay;ow;th;e2tt3;a2eJoI;ld;ad;!in,ui3;me;bysEckfi8ff3tI;he;b15c0Rd0Iff0Ggree,l0Cm09n03ppZrXsQttOuMvJwaE;it;eDoI;id;rt;gIto0X;meF;aIeCraB;ch,in;pi8sJtoI;niA;aKeIi04u8;mb3rt,ss;le;il;re;g0Hi0ou0rI;an9i2;eaKly,oiFrI;ai0o2;nt;r,se;aMi0GnJtI;icipa7;eJoIul;un4y;al;ly0;aJu0;se;lga08ze;iKlI;e9oIu6;t,w;gn;ix,oI;rd;a03jNmiKoJsoI;rb;pt,rn;niIt;st1;er;ouJuC;st;rn;cLhie2knowled9quiItiva7;es4re;ce;ge;eQliOoKrJusI;e,tom;ue;mIst;moJpI;any,liA;da7;ma7;te;pt;andPduBet,i6oKsI;coKol2;ve;liArt,uI;nd;sh;de;ct;on",Adjective:"true¦0:AI;1:BS;2:BI;3:BA;4:A8;5:84;6:AV;7:AN;8:AF;9:7H;A:BQ;B:AY;C:BC;D:BH;E:9Y;aA2b9Ec8Fd7We79f6Ng6Dh60i4Wj4Vk4Sl4Hm40n3Oo35p2Nquart7Pr2Cs1Dt14uSvOwFye28;aMeKhIiHoF;man5oFrth7G;dADzy;despreB1n w97s86;acked1HoleF;!sa6;ather1QeFll o70ste1D;!k5;nt1Jst6Ate4;aHeGiFola5S;bBUce versa,gi3Kle;ng67rsa5Q;ca1gBSluAV;lt0PnLpHrGsFttermoBL;ef9Ku3;b96ge1; Hb31pGsFtiAH;ca6et,ide d4Q;er,i85;f51to da2;a0Fbeco0Hc0Bd04e02f01gu1WheaBGiXkn4NmUnTopp06pRrNsJtHus0wF;aFiel3J;nt0rra0P;app0eXoF;ld,uS;eHi36o59pGuF;perv06spec38;e1ok9O;en,ttl0;eFu5;cogn06gul2QlGqu84sF;erv0olv0;at0en32;aFrecede0E;id,rallel0;am0otic0;aFet;rri0tF;ch0;nFq25vers3;sur0terFv7U;eFrupt0;st0;air,inish0orese98;mploy0n7Ov97xpF;ect0lain0;eHisFocume01ue;clFput0;os0;cid0rF;!a8Scov9ha8Jlyi8nea8Gprivileg0sMwF;aFei9I;t9y;hGircumcFonvin2T;is0;aFeck0;lleng0rt0;b1Zppea85ssuGttend0uthorF;iz0;mi8;i49ra;aLeIhoHip 24oGrF;anspare1encha1i2;geth9leADp notch,rpB;rny,ugh6H;ena8DmpGrFs6U;r48tia4;eCo8P;leFst4M;nt0;a0Cc08e06h05i03ki02l00mug,nobbi4XoWpSqueami4XtKuFymb94;bHccinAi generis,pFr5;erFre7N;! dup9b,vi70;du0li7Lp6IsFurb7J;eq9Atanda9X;aLeKi15o2PrGubboFy4Q;rn;aightGin5GungF; o2M; fFfF;or7U;adfa9Ori6;lwa6Etu81;arHeGir6MlendBot Fry;on;c3Oe1Q;k5se; call0lub6mb9phistic14rHuFviT;ndFth19;proof;dBry;e61ipF;pe4shod;ll0n d7S;g2HnF;ceEg6ist9;am3Te9;co1Zem5lfFn6Bre7; suf4Yi44;aGholFient3A;ar5;rlFt4B;et;cr0me,tisfac7G;aOeIheumatoBiGoF;bu90tt7Hy3;ghtFv3;-1Sf6Y;cJdu8QlInown0pro6AsGtF;ard0;is48oF;lu2na1;e1Suc46;alcit8Ye1ondi2;bBci3mpa1;aSePicayu7laOoNrGuF;bl7Unjabi,z36;eKiIoF;b7WfGmi4ApFxi2M;er,ort82;a7uD;maFor,sti7va2;!ry;ciDexis0Ima2CpaB;in56puli8H;cBid;ac2Znt 3JrFti2;ma41tFv7X;!i40;i2ZrFss7S;anoBtF;-5YiF;al,s5W;bSffQkPld OnMrLth9utKverF;!aIbMdHhGni76seas,t,wF;ei75rou75;a64e7B;ue;ll;do1Ger,si6B;d3Rg2Aotu60; bFbFe on o7g3Vli7;oa81;fashion0school;!ay; gua7YbFha5Vli7;eat;eHligGsF;ce7er0So1C;at0;diFse;a1e1;aOeNiMoGuF;anc0de; moEnHrthFt6W;!eFwe7M;a7Lrn;chaGdescri7Jprof31sF;top;la1;ght5;arby,cessa4ighbor5wlyw0xt;k0usiaFv3;ti8;aQeNiLoHuF;dIltiF;facet0p6;deHlGnFot,rbBst;ochro4Yth5;dy;rn,st;ddle ag0nF;dbloZi,or;ag9diocEga,naGrFtropolit4R;e,ry;ci8;cIgenta,inHj0Fkeshift,mmGnFri4Pscu62ver18;da5Ey;ali4Mo4V;!stream;abEho;aOeLiIoFumberi8;ngFuti1S;stan3StF;erm,i4I;ghtGteraF;l,ry,te;heart0wei5P;ft-JgFss9th3;al,eFi0M;nda4;nguBps0te5;apGind5noF;wi8;ut;ad0itte4uniW;ce co0Hgno6Nll0Cm04nHpso 2VrF;a2releF;va1; ZaYcoWdReQfOgrNhibi4Si05nMoLsHtFvalu5N;aAeF;nDrdepe2L;a7iGolFuboI;ub6ve1;de,gF;nifica1;rdi5O;a2er;own;eriIiLluenVrF;ar0eq5I;pt,rt;eHiGoFul1P;or;e,reA;fiFpe27termi5F;ni2;mpFnsideCrreA;le2;ccuCdeq5Fne,ppr4K;fFsitu,vitro;ro1;mJpF;arHeGl16oFrop9;li2r12;n2MrfeA;ti3;aGeFi19;d4CnD;tuE;egGiF;c0ZteC;al,iF;tiF;ma2;ld;aOelNiLoFuma7;a4meInHrrGsFur5;ti6;if4F;e59o3V; ma3HsF;ick;ghfalut2IspF;an4A;li01pf34;i4llow0ndGrdFtN; 06coEworki8;sy,y;aMener45iga3Clob3oLrGuF;il1Ong ho;aGea1GizF;zl0;cGtF;ef2Vis;ef2U;ld3Aod;iFuc2D;nf2R;aVeSiQlOoJrF;aGeFil5ug3;q43tf2O;gFnt3S;i6ra1;lk13oHrF; keeps,eFge0Vm9tu41;g0Ei2Ds3R;liF;sh;ag4Mowe4uF;e1or45;e4nF;al,i2;d Gmini7rF;ti6ve1;up;bl0lDmIr Fst pac0ux;oGreacF;hi8;ff;ed,ili0R;aXfVlTmQnOqu3rMthere3veryday,xF;aApIquisi2traHuF;be48lF;ta1;!va2L;edRlF;icF;it;eAstF;whi6; Famor0ough,tiE;rou2sui2;erGiF;ne1;ge1;dFe2Aoq34;er5;ficF;ie1;g9sF;t,ygF;oi8;er;aWeMiHoGrFue;ea4owY;ci6mina1ne,r31ti8ubQ;dact2Jfficult,m,sGverF;ge1se;creGePjoi1paCtF;a1inA;et,te; Nadp0WceMfiLgeneCliJmuEpeIreliAsGvoF;id,ut;pFtitu2ul1L;eCoF;nde1;ca2ghF;tf13;a1ni2;as0;facto;i5ngero0I;ar0Ce09h07i06l05oOrIuF;rmudgeon5stoma4teF;sy;ly;aIeHu1EystalF; cleFli7;ar;epy;fFv17z0;ty;erUgTloSmPnGrpoCunterclVveFy;rt;cLdJgr21jIsHtrF;aFi2;dic0Yry;eq1Yta1;oi1ug3;escenFuN;di8;a1QeFiD;it0;atoDmensuCpF;ass1SulF;so4;ni3ss3;e1niza1;ci1J;ockwiD;rcumspeAvil;eFintzy;e4wy;leGrtaF;in;ba2;diac,ef00;a00ePiLliJoGrFuck nak0;and new,isk,on22;gGldface,naF; fi05fi05;us;nd,tF;he;gGpartisFzarE;an;tiF;me;autifOhiNlLnHsFyoN;iWtselF;li8;eGiFt;gn;aFfi03;th;at0oF;v0w;nd;ul;ckwards,rF;e,rT; priori,b13c0Zd0Tf0Ng0Ihe0Hl09mp6nt06pZrTsQttracti0MuLvIwF;aGkF;wa1B;ke,re;ant garGeraF;ge;de;diIsteEtF;heFoimmu7;nt07;re;to4;hGlFtu2;eep;en;bitIchiv3roHtF;ifiFsy;ci3;ga1;ra4;ry;pFt;aHetizi8rF;oprF;ia2;llFre1;ed,i8;ng;iquFsy;at0e;ed;cohKiJkaHl,oGriFterX;ght;ne,of;li7;ne;ke,ve;olF;ic;ad;ain07gressiIi6rF;eeF;ab6;le;ve;fGraB;id;ectGlF;ue1;ioF;na2; JaIeGvF;erD;pt,qF;ua2;ma1;hoc,infinitum;cuCquiGtu3u2;al;esce1;ra2;erSjeAlPoNrKsGuF;nda1;e1olu2trF;aAuD;se;te;eaGuF;pt;st;aFve;rd;aFe;ze;ct;ra1;nt",Pronoun:"true¦'em,elle,h3i2me,she4th0us,we,you;e0ou;e,m,y;!l,t;e0im;!'s",Preposition:"true¦-,aPbMcLdKexcept,fIinGmid,notwithstandiWoDpXqua,sCt7u4v2w0;/o,hereSith0;! whHin,oW;ersus,i0;a,s-a-vis;n1p0;!on;like,til;h1ill,oward0;!s;an,ereby,r0;ough0u;!oM;ans,ince,o that,uch G;f1n0ut;!to;!f;! 0to;effect,part;or,r0;om;espite,own,u3;hez,irca;ar1e0oBy;sides,tween;ri7;bo8cross,ft7lo6m4propos,round,s1t0;!op;! 0;a whole,long 0;as;id0ong0;!st;ng;er;ut",SportsTeam:"true¦0:1A;1:1H;2:1G;a1Eb16c0Td0Kfc dallas,g0Ihouston 0Hindiana0Gjacksonville jagua0k0El0Bm01newToQpJqueens parkIreal salt lake,sAt5utah jazz,vancouver whitecaps,w3yW;ashington 3est ham0Rh10;natio1Oredski2wizar0W;ampa bay 6e5o3;ronto 3ttenham hotspur;blue ja0Mrapto0;nnessee tita2xasC;buccanee0ra0K;a7eattle 5heffield0Kporting kansas0Wt3;. louis 3oke0V;c1Frams;marine0s3;eah15ounG;cramento Rn 3;antonio spu0diego 3francisco gJjose earthquak1;char08paA; ran07;a8h5ittsburgh 4ortland t3;imbe0rail blaze0;pirat1steele0;il3oenix su2;adelphia 3li1;eagl1philNunE;dr1;akland 3klahoma city thunder,rlando magic;athle0Mrai3;de0; 3castle01;england 7orleans 6york 3;city fc,g4je0FknXme0Fred bul0Yy3;anke1;ian0D;pelica2sain0C;patrio0Brevolut3;ion;anchester Be9i3ontreal impact;ami 7lwaukee b6nnesota 3;t4u0Fvi3;kings;imberwolv1wi2;rewe0uc0K;dolphi2heat,marli2;mphis grizz3ts;li1;cXu08;a4eicesterVos angeles 3;clippe0dodDla9; galaxy,ke0;ansas city 3nE;chiefs,roya0E; pace0polis colU;astr06dynamo,rockeTtexa2;olden state warrio0reen bay pac3;ke0;.c.Aallas 7e3i05od5;nver 5troit 3;lio2pisto2ti3;ge0;broncZnuggeM;cowbo4maver3;ic00;ys; uQ;arCelKh8incinnati 6leveland 5ol3;orado r3umbus crew sc;api5ocki1;brow2cavalie0india2;bengaWre3;ds;arlotte horAicago 3;b4cubs,fire,wh3;iteB;ea0ulR;diff3olina panthe0; c3;ity;altimore 9lackburn rove0oston 5rooklyn 3uffalo bilN;ne3;ts;cel4red3; sox;tics;rs;oriol1rave2;rizona Ast8tlanta 3;brav1falco2h4u3;nited;aw9;ns;es;on villa,r3;os;c5di3;amondbac3;ks;ardi3;na3;ls",Unit:"true¦a09b06cZdYexXfTgRhePin00joule0DkMlJmDnan0AoCp9quart0Dsq ft,t7volts,w6y2ze3°1µ0;g,s;c,f,n;dXear1o0;ttT; 0s 0;old;att06b;erPon0;!ne04;ascals,e1i0;cZnt02;rcent,tL;hms,uI;/s,e4i0m²,²,³;/h,cro2l0;e0liM;!²;grNsT;gEtL;it1u0;menSx;erRreR;b5elvins,ilo1m0notQ;/h,ph,²;!byIgrGmEs;ct0rtzN;aLogrE;allonLb0ig5rD;ps;a2emtGl0t6; oz,uid ou0;nceH;hrenheit,radG;aby9;eci3m1;aratDe1m0oulombD;²,³;lsius,nti0;gr2lit1m0;et0;er8;am7;b1y0;te5;l,ps;c2tt0;os0;econd1;re0;!s",PhrasalVerb:"true¦0:92;1:96;2:8H;3:8V;4:8A;5:83;6:85;7:98;8:90;9:8G;A:8X;B:8R;C:8U;D:8S;E:70;F:97;G:8Y;H:81;I:7H;J:79;K:4G;a9Gb7Vc6Sd6Me6Kf5Ig51h4Ciron0j48k41l3Fm32n2Zo2Xp2Dquiet Hr1Ys0Lt00uYvacuu6RwOyammerBzL;ero Dip MonL;e0k0;by,ov9up;aReNhMiLor0Nrit1A;mp0n3Gpe0r5s5;ackAeel Di0T;aMiLn34;gh 3Xrd0;n Dr L;do1in,oJ;it 7Ak5lk Mrm 6Ash Lt84v60;aw3do1o7up;aw3in,oC;rgeBsL;e 2herE;a01eZhWiSoRrNuLypQ;ckErn L;do1in,oJup;aMiLot0y 31;ckl80p F;ck HdL;e 5Z;n7Xp 3Fs5K;ck NdMe Lghten 6me0p o0Sre0;aw3ba4do1in,up;e Iy 2;by,oG;ink Mrow L;aw3ba4in,up;ba4ov9up;aLe 78ll63;m 2r 5N;ckBke Mlk L;ov9shit,u48;aLba4do1in,leave,o66up;ba4ft9pa6Aw3;a0Wc0Ue0Nh0Ji0Gl0Am09n08o07p02quar5HtRuPwL;earNiL;ngMtch L;aw3ba4o8L; by;cLi6Cm 2ss0;k 65;aSeRiQoOrLud36;aigh2Eet76iL;ke 7Tng L;al6Zup;p Lrm2G;by,in,oG;cKnKr 2tc4O;p F;cKmp0nd MrLveAy 2P;e Ht 2M;ba4do1up;arKeOiNlMrLurB;ead0ingBuc5;a49it 6I;c5ll o3Dn 2;ak Fe1Yll0;aKber 2rt0und like;ap 5Wow Duggl5;ash 6Ooke0;eep OiLow 6;cMp L;o6Eup;e 69;in,oL;ff,v9;de1Agn 4OnLt 6Hz5;gLkE; al6Ble0;aNoLu5X;ot Lut0w 7N;aw3ba4f48oC;cKdeEk6FveA;e Qll1Ond Prv5tL; Ltl5K;do1foMin,o7upL;!on;ot,r60;aw3ba4do1in,o4Wup;oCto;al67out0rL;ap66ew 6K;ilAv5;aYeViToPuL;b 5Zle0n Lstl5;aMba4do1inLo2Jth4Ou5Q;!to;c2Xr8w3;ll Not MpeAuL;g3Ind18;a2Wf3Po7;ar8in,o7up;ng 69p oLs5;ff,p19;aLelAinEnt0;c6Id L;o3Oup;cKt0;a00eZiXlUoRrPsyc35uL;ll Nn5Lt L;aLba4do1in,oJto48up;pa4Ew3;a3Kdo1in,o22to46up;attleBess LiOop 2;ah2Fon;iMp Lr50u1Hwer 6O;do1in,o6Oup;nt0;aMuL;gEmp 6;ce u21y 6E;ck Lg0le 4Bn 6p5C;oJup;el 5OncilE;c54ir 3An0ss NtMy L;ba4oG; Hc2R;aw3ba4in,oJ;pLw4Z;e4Yt D;aMerd0oL;dAt54;il Hrrow H;aUeRiQoMuL;ddl5ll I;cKnkeyNp 6uthAve L;aLdo1in,o4Mup;l4Ow3; wi4L;ss0x 2;asur5e3TlMss L;a21up;t 6;ke Mn 6rLs2Ax0;k 6ryA;do,fun,oCsure,up;a03eWiRoMuL;ck0st I;aOc4Gg NoLse0;k Lse4E;aft9ba4do1forw38in57o10u47;in,oJ;d 6;e OghtNnMsLve 01;ten F;e 2k 2; 2e47;ar8do1in;aNt MvelL; oC;do1go,in,o7up;nEve L;in,oL;pLut;en;c5p 2sh MtchBughAy L;do1o5A;in4Qo7;eNick Mnock L;do1oCup;oCup;eMy L;in,up;l Ip L;aw3ba4do1f05in,oJto,up;aNoMuL;ic5mpE;ke3Tt H;c44zz 2;a02eXiUoQuL;nMrrLsh 6;y 2;keMt L;ar8do1;r H;lLneErse3L;d Le 2;ba4dLfast,o25up;ear,o1;de Mt L;ba4on,up;aw3o7;aLlp0;d Nl Ir Lt 2;fLof;rom;f11in,o1WuX;cKm 2nMsh0ve Lz2Q;at,it,to;d Mg LkerQ;do1in,o2Uup;do1in,oL;ut,v9;k 2;aZeUive Sloss IoNrMunL; f0S;ab hold,in44ow 2V; Lof 2J;aNb1Nit,oMr8th1JuL;nd9;ff,n,v9;bo7ft9hQw3;aw3bLdo1in,oJrise,up,w3;a4ir2I;ar 6ek0t L;aLb1Gdo1in,o1Dr8up;cMhLl2Hr8t,w3;ead;ross;d aLng 2;bo7;a0Fe08iZlVoRrNuL;ck Le2P;ar8up;eMighten LownBy 2;aw3oG;eLshe29; 2z5;g 2lNol Lrk I;aLwi22;bo7r8;d 6low 2;aMeLip0;sh0;g 6ke0mLrLtten H;e F;gSlQnOrMsLzzle0;h F;e Lm 2;aw3ba4up;d0isL;h 2;e Ll 1V;aw3fQin,o7;ht ba4ure0;eQnMsL;s 2;cNd L;fLoG;or;e D;d06l 2;cPll Lrm0t1I;aNbMdo1in,oLsho0Gth0Avictim;ff,ut,v9;a4ehi2P;pa0D;e L;do1oGup;at Ldge0nd 13y5;in,o7up;aPi1IoOrL;aMess 6op LuO;aw3b04in,oC;gBwB; Ile0ubl1C;m 2;a0Bh06l03oPrMut L;aw3ba4do1oCup;ackBeep MoLy0;ss Dwd0;by,do1in,o0Vup;me OoMuntL; o2B;k 6l L;do1oG;aSbRforPin,oOtLu0P;hMoLrue;geth9;rough;ff,n,ut,v9;th,wL;ard;a4y;paLr8w3;rt;eaMose L;in,oCup;n 6r F;aOeMiL;ll0pE;ck Der Lw F;on,up;t 2;lSncel0rPsNtch MveE; in;o1Oup;h Dt L;doubt,oG;ry MvL;e 09;aw3oJ;l Lm H;aMba4do1oJup;ff,n,ut;r8w3;a0We0NiteAl0Go05rRuL;bblOckl06il0Elk 6ndl06rMsLtNy FzzA;t 01;n 0IsL;t D;e I;ov9;anXeaViMush L;oGup;ghRng L;aOba4do1forNin,oMuL;nd9p;n,ut;th;bo7lLr8w3;ong;teL;n 2;k L;do1in,o7up;ch0;arUg 6iSn5oQrOssNttlMunce Lx D;aw3ba4;e 6; ar8;e H;do1;k Dt 2;e 2;l 6;do1up;d 2;aQeed0oLurt0;cNw L;aw3ba4do1o7up;ck;k L;in,oC;ck0nk0stA; oRaOef 2lt0nd L;do1ov9up;er;up;r Mt L;do1in,oCup;do1o7;ff,nL;to;ck Qil0nNrgMsL;h D;ainBe D;g DkB; on;in,o7;aw3do1in,oCup;ff,ut;ay;ct FdRir0sk NuctionA; oG;ff;ar8o7;ouL;nd; o7;d L;do1oLup;ff,n;wn;o7up;ut","Noun|Gerund":"true¦0:27;1:26;2:1X;3:1J;4:1Z;a25b1Oc1Cd16en14f0Yg0Wh0Ti0Rjog20k0Pl0Lm0In0Go0Cp05ques08rWsFtBu9volunt15w5y17zo2;a7ed1Si3or6r5;ap1Oest1Ci1;ki0r1O;i1r2s1Utc1U;nder5pri23;st1Mta4;al4e7hin4i6ra5y1J;c4di0i2v0Z;mi0p1H;a1Ys1;aKcHeGhEin1PkatClZmo4nowBpeAt8u6w5;ea3im1U;f02r5;fi0vi0J;a1Lretc1Ju5;d1BfJ;l0Xn1C;b6i0;eb5i0;oar19;ip15o5;rte2u1;a1r0At1;h6o3re5;a1He2;edu0Ooo0O;i0Nyi0;aCe8i11o6u5;li0n2;o5wi0;fi0;a7c6hear1Cnde3por1struct5;r1Au3;or0Vyc0G;di0so2;p0Qti0;aAeacek9la8o6r5ublis0X;a0Peten0Rin1oces16;iso2si5;tio2;n2yi0;ee0K;cka0Tin1rt0K;f7pe6rgani5vula1;si0zi0;ni0ra1;fe3;e5ur0W;gotia1twor4;a6e5i2onito3;e1ssa0L;nufactu3rke1;a7ea6i5od0Jyi0;cen0Qf1s1;r2si0;n09ug0E;i5n0J;c4lS;ci0magi2n5ro2;nova1terac1;andPea1i6o5un1;l03wO;ki0ri0;athe3rie5ui01;vi0;ar0CenHi7l6or5ros1unZ;ecas1mat1;ir1ooX;l6n5;anDdi0;i0li0;di0gin5;ee3;a8eba1irec1oub1r6umOw5;elB;awi0es04i5;n4vi0;n5ti0;ci0;aEelebra1hClAo7r5ur6;aw5osZ;li0;a6di0lo3mplai2n5o4pi0ve3;duc1sul1;cLti0;apCea3imHo5ubH;ni0tJ;a5ee3;n1t1;m8s1te3;ri0;aIeFitDlCoAr8u5;il8ll6r5;pi0;yi0;an5;di0;a1m5o4;bi0;esGoa1;c5i0;hi0;gin2lon5t1;gi0;ni0;bys6c4ki0;ki0;it1;c8dverti7gi0rg6ssu5;mi0;ui0;si0;coun1ti0;ti0;ng",ProperNoun:"true¦barbie,c4diego,e3f2iron maiden,kirby,m0nis,riel,stevens;ercedes,i0;ckey,ssy;inn,lorence,ranco;lmo,uro;atalina,hristi",Ordinal:"true¦eBf7nin5s3t0zeroE;enDhir1we0;lfCn7;d,t3;e0ixt8;cond,vent7;et0th;e6ie7;i2o0;r0urt3;tie4;ft1rst;ight0lev1;e0h,ie1;en0;th",Cardinal:"true¦bEeBf5mEnine7one,s4t0zero;en,h2rDw0;e0o;lve,n5;irt6ousands,ree;even2ix2;i3o0;r1ur0;!t2;ty;ft0ve;e2y;ight0lev1;!e0y;en;illions",Multiple:"true¦b3hundred,m3qu2se1t0;housand,r2;pt1xt1;adr0int0;illion",City:"true¦0:77;1:64;2:6J;3:6M;4:5V;a6Bb56c4Ld4Be47f3Zg3Kh3Ci33j2Yk2Hl25m1Nn1Do1Ap0Xq0Vr0Os05tRuQvLwDxiBy9z5;a7h5i4Puri4R;a5e5ongsh0;ng3K;greb,nzib5J;ang2e5okoha3Vunfu;katerin3Krev0;a5n0R;m5Kn;arsBeAi6roclBu5;h0xi,zh5S;c7n5;d5nipeg,terth4;hoek,s1N;hi62kl3D;l66xford;aw;a8e6i5ladivost5Polgogr6O;en3lni6V;ni24r5;n2o3saill4Q;lenc4Zncouv3Vr3ughn;lan bat1Erumqi,trecht;aFbilisi,eEheDiBo9r7u5;l23n66r5;in,ku;i5ondh65;es54poli;kyo,m32ron1Rulo5;n,uS;an5jua3l2Wmisoa6Era3;j4Wshui; hag65ssaloni2K;gucigal28hr0l av1W;briz,i6llinn,mpe59ng5rtu,shk2U;i3Hsh0;an,chu1n0p2Hyu0;aEeDh8kopje,owe1It7u5;ra5zh50;ba0It;aten is58ockholm,rasbou6Auttga2Y;an8e6i5;jiazhua1llo1m60y0;f53n5;ya1zh4K;gh3Nt4T;att48o1Yv47;cramen18int ClBn5o paulo,ppo3Urajevo; 7aa,t5;a 5o domin3H;a3fe,m1O;antonBdie3Ffrancisco,j5ped3Qsalvad0L;o5u0;se;em,t lake ci5Iz28;lou5Bpeters27;aAe9i7o5;me,sar5t5C;io;ga,o5yadh;! de janei3H;cife,ims,nn3Lykjavik;b4Uip4lei2Knc2Rwalpindi;ingdao,u5;ez2i0R;aFeEhDiCo9r7u6yong5;ya1;eb5Bya1;a5etor3O;g54to;rt5zn0; 5la4Eo;au prin0Nelizabe26sa04;ls3Rrae5Ctts28;iladelph3Inom pe1Coenix;ki1r23tah tik3G;dua,lerZnaji,r4Qt5;na,r34;ak46des0Lm1Or6s5ttawa;a3Xlo;an,d07;a7ew5ing2Hovosibir1Lyc; 5cast38;del26orlea46taip16;g8iro4Yn5pl2Yshv35v0;ch6ji1t5;es,o1;a1o1;a6o5p4;ya;no,sa0Y;aFeCi9o6u5;mb2Cni28sc40;gadishu,nt6s5;c15ul;evideo,pelli1Tre31;ami,l6n16s5;kolc,sissauga;an,waukee;cca,d5lbour2Omph43ndo1Essi3;an,ell5i3;in,ín;cau,drAkass2Tl9n8r5shh4B;aca6ib5rakesh,se2M;or;i1Ty;a4FchFdal10i48;mo;id;aDeAi8o6u5vSy2;anMckn0Pdhia3;n5s angel27;d2g bea1O;brev2Ce3Mma5nz,sb2verpo29;!ss28; ma3Ai5;c5pzig;est17; p6g5ho2Xn0Dusan25;os;az,la34;aHharFiClaipeBo9rak0Eu7y5;iv,o5;to;ala lump4n5;mi1sh0;hi0Ilka2Ypavog4si5wlo2;ce;da;ev,n5rkuk;gst2sha5;sa;k5toum;iv;bIdu3llakuric0Rmpa3Gn6ohsiu1ra5un1Jwaguc0R;c0Qj;d5o,p4;ah1Uy;a7e6i5ohannesW;l1Wn0;dd37rusalem;ip4k5;ar2I;bad0mph1PnBrkutVs8taYz5̇zm7;m6tapala5;pa;ir;fah0l6tanb5;ul;am2Zi2H;che2d5;ianap2Mo20;aAe7o5yder2W; chi mi5ms,nolulu;nh;f6lsin5rakli2;ki;ei;ifa,lifax,mCn5rb1Dva3;g8nov01oi;aFdanEenDhCiPlasgBo9raz,u5;a5jr23;dal6ng5yaquil;zh1J;aja2Oupe;ld coa1Bthen5;bu2S;ow;ent;e0Uoa;sk;lw7n5za;dhi5gt1E;nag0U;ay;aisal29es,o8r6ukuya5;ma;ankfu5esno;rt;rt5sh0; wor6ale5;za;th;d5indhov0Pl paso;in5mont2;bur5;gh;aBe8ha0Xisp4o7resd0Lu5;b5esseldorf,nkirk,rb0shanbe;ai,l0I;ha,nggu0rtmu13;hradSl6nv5troit;er;hi;donghIe6k09l5masc1Zr es sala1KugavpiY;i0lU;gu,je2;aJebu,hAleve0Vo5raio02uriti1Q;lo7n6penhag0Ar5;do1Ok;akKst0V;gUm5;bo;aBen8i6ongqi1ristchur5;ch;ang m7ca5ttago1;go;g6n5;ai;du,zho1;ng5ttogr14;ch8sha,zh07;gliari,i9lga8mayenJn6pe town,r5tanO;acCdiff;ber1Ac5;un;ry;ro;aWeNhKirmingh0WoJr9u5;chareTdapeTenos air7r5s0tu0;g5sa;as;es;a9is6usse5;ls;ba6t5;ol;ne;sil8tisla7zzav5;il5;le;va;ia;goZst2;op6ubaneshw5;ar;al;iCl9ng8r5;g6l5n;in;en;aluru,hazi;fa6grade,o horizon5;te;st;ji1rut;ghd0BkFn9ot8r7s6yan n4;ur;el,r07;celo3i,ranquil09;ou;du1g6ja lu5;ka;alo6k5;ok;re;ng;ers5u;field;a05b02cc01ddis aba00gartaZhmedXizawl,lSmPnHqa00rEsBt7uck5;la5;nd;he7l5;an5;ta;ns;h5unci2;dod,gab5;at;li5;ngt2;on;a8c5kaOtwerp;hora6o3;na;ge;h7p5;ol5;is;eim;aravati,m0s5;terd5;am; 7buquerq6eppo,giers,ma5;ty;ue;basrah al qadim5mawsil al jadid5;ah;ab5;ad;la;ba;ra;idj0u dha5;bi;an;lbo6rh5;us;rg",Region:"true¦0:2N;1:2T;2:2K;a2Qb2Dc1Zd1Ues1Tf1Rg1Lh1Hi1Cj18k13l10m0Pn07o05pZqWrTsKtFuCv9w5y3zacatec2U;akut0o0Du3;cat2k07;a4est 3isconsin,yomi1M;bengal,vi6;rwick2Bshington3;! dc;er4i3;rgin0;acruz,mont;dmurt0t3;ah,tar3; 2La0X;a5e4laxca1Rripu1Xu3;scaDva;langa1nnessee,x2F;bas0Vm3smNtar25;aulip2Dil nadu;a8i6o4taf11u3ylh1F;ffYrr04s1A;me1Cno1Quth 3;cVdU;ber0c3kkim,naloa;hu2ily;n4skatchew2xo3;ny; luis potosi,ta catari1;a3hode9;j3ngp07;asth2shahi;ingh25u3;e3intana roo;bec,en5reta0R;ara7e5rince edward3unjab; i3;sl0B;i,nnsylv3rnambu0B;an0;!na;axa0Ydisha,h3klaho20ntar3reg6ss0Bx0G;io;aJeDo5u3;evo le3nav0W;on;r3tt17va scot0;f8mandy,th3; 3ampton16;c5d4yo3;rk14;ako1N;aroli1;olk;bras1Mva0Cw3; 4foundland3;! and labrador;brunswick,hamp0Xjers4mexiSyork3;! state;ey;galOyarit;a9eghala0Mi5o3;nta1r3;dov0elos;ch5dlanCn4ss3zor11;issippi,ouri;as geraOneso18;ig2oac2;dhy12harasht0Gine,ni4r3ssachusetts;anhao,i el,ylF;p3toba;ur;anca0Ie3incoln0IouisH;e3iR;ds;a5e4h3omi;aka06ul1;ntucky,ra01;bardino,lmyk0ns0Qr3;achay,el0nata0X;alis5har3iangxi;kh3;and;co;daho,llino6n3owa;d4gush3;et0;ia1;is;a5ert4i3un2;dalFm0D;fordZ;mpYrya1waii;ansu,eorg0lou7oa,u3;an4erre3izhou,jarat;ro;ajuato,gdo3;ng;cesterS;lori3uji2;da;sex;ageTe6o4uran3;go;rs3;et;lawaLrbyK;aEeaDh8o3rimea ,umbr0;ahui6l5nnectic4rsi3ventry;ca;ut;i02orado;la;e4hattisgarh,i3uvash0;apQhuahua;chn4rke3;ss0;ya;ra;lFm3;bridge6peche;a8ihar,r7u3;ck3ryat0;ingham3;shi3;re;emen,itish columb0;h0ja cal7lk6s3v6;hkorto3que;st2;an;ar0;iforn0;ia;dygea,guascalientes,lAndhr8r4ss3;am;izo1kans4un3;achal 6;as;na;a 3;pradesh;a5ber4t3;ai;ta;ba4s3;ka;ma",Country:"true¦0:39;1:2M;a2Xb2Ec22d1Ye1Sf1Mg1Ch1Ai14j12k0Zl0Um0Gn05om3DpZqat1KrXsKtCu6v4wal3yemTz2;a25imbabwe;es,lis and futu2Y;a2enezue32ietnam;nuatu,tican city;.5gTkraiZnited 3ruXs2zbeE;a,sr;arab emirat0Kkingdom,states2;! of am2Y;k.,s.2; 28a.;a7haBimor-les0Bo6rinidad4u2;nis0rk2valu;ey,me2Ys and caic1U; and 2-2;toba1K;go,kel0Znga;iw2Wji2nz2S;ki2U;aCcotl1eBi8lov7o5pa2Cri lanka,u4w2yr0;az2ed9itzerl1;il1;d2Rriname;lomon1Wmal0uth 2;afr2JkLsud2P;ak0en0;erra leoEn2;gapo1Xt maart2;en;negKrb0ychellY;int 2moa,n marino,udi arab0;hele25luc0mart20;epublic of ir0Dom2Duss0w2;an26;a3eHhilippinTitcairn1Lo2uerto riM;l1rtugE;ki2Cl3nama,pua new0Ura2;gu6;au,esti2;ne;aAe8i6or2;folk1Hth3w2;ay; k2ern mariana1C;or0N;caragua,ger2ue;!ia;p2ther19w zeal1;al;mib0u2;ru;a6exi5icro0Ao2yanm05;ldova,n2roc4zamb9;a3gol0t2;enegro,serrat;co;c9dagasc00l6r4urit3yot2;te;an0i15;shall0Wtin2;ique;a3div2i,ta;es;wi,ys0;ao,ed01;a5e4i2uxembourg;b2echtenste11thu1F;er0ya;ban0Hsotho;os,tv0;azakh1Ee3iriba03o2uwait,yrgyz1E;rWsovo;eling0Jnya;a2erF;ma15p1B;c6nd5r3s2taly,vory coast;le of m19rael;a2el1;n,q;ia,oI;el1;aiSon2ungary;dur0Mg kong;aAermany,ha0Pibralt9re7u2;a5ern4inea2ya0O;!-biss2;au;sey;deloupe,m,tema0P;e2na0M;ce,nl1;ar;bTmb0;a6i5r2;ance,ench 2;guia0Dpoly2;nes0;ji,nl1;lklandTroeT;ast tim6cu5gypt,l salv5ngl1quatorial3ritr4st2thiop0;on0; guin2;ea;ad2;or;enmark,jibou4ominica3r con2;go;!n B;ti;aAentral african 9h7o4roat0u3yprQzech2; 8ia;ba,racao;c3lo2morPngo-brazzaville,okFsta r03te d'ivoiK;mb0;osD;i2ristmasF;le,na;republic;m2naTpe verde,yman9;bod0ero2;on;aFeChut00o8r4u2;lgar0r2;kina faso,ma,undi;azil,itish 2unei;virgin2; is2;lands;liv0nai4snia and herzegoviGtswaGuvet2; isl1;and;re;l2n7rmuF;ar2gium,ize;us;h3ngladesh,rbad2;os;am3ra2;in;as;fghaFlCmAn5r3ustr2zerbaijH;al0ia;genti2men0uba;na;dorra,g4t2;arct6igua and barbu2;da;o2uil2;la;er2;ica;b2ger0;an0;ia;ni2;st2;an",Place:"true¦a00bYcUdTeSfRgMhLiJjfk,kHlFmDnBorAp8r7s6t3u2vostok,wake isCy0;a0yz;kutGngtze;laanbaatar,pT;ahiti,h0;amWe 0;bronx,hamptons;akhalIeine,fo,oho,under5yd;ed sea,io grande;acifWek,h0itcairn;l,x;ange county,d,inoco;ew eng0ile;land;a0co,ekong,idIuc;gadSlibu,nhattS;a0gw,hr;s,x;osrae,rasnoyar0ul;sk;ax,cn,nd0st;ianLochina;arlem,kg,nd,ovd;a3odavari,re0;at 0enwich;brita0lakC;in;ngAy village;co,ra;urope,verglad8;anube,en,fw,own2xb;dg,gk,h0lt;a1ina0uuk;town;morro,tham;cn,e0kk,rooklyn;l air,verly hills;driadic,frica,m7n2r3sia,tl1zor0;es;!ant2;adyr,tar0;ct0;ic0; oce0;an;ericas,s",WeekDay:"true¦fri2mon2s1t0wednesd3;hurs1ues1;aturd1und1;!d0;ay0;!s",Month:"true¦dec0february,july,nov0octo1sept0;em0;ber",Date:"true¦ago,on4som4t1week0yesterd5; end,ends;mr1o0;d2morrow;!w;ed0;ay",Duration:"true¦centurAd8h7m5q4se3w1y0;ear8r8;eek0k7;!end,s;ason,c5;tr,uarter;i0onth3;llisecond2nute2;our1r1;ay0ecade0;!s;ies,y",FemaleName:"true¦0:IS;1:IW;2:I5;3:I4;4:IM;5:I9;6:JD;7:GQ;8:J9;9:J5;A:HD;B:HN;C:IE;D:J2;E:II;F:H2;G:C4;H:HP;aGIbFDcDJdCSeBIfB0gAAh9Qi9Dj8Ck7Cl5Wm46n3Ko3Gp34qu33r2Bs16t0Fu0Dv03wWxiUyPzI;aMeJineb,oIsof2;e3Rf2la,ra;h3iLlJna,ynI;ab,ep;da,ma;da,h3iIra;nab;aLeKi0GolB3uJvI;etAonDH;i0na;le0sen2;el,gm3Gn,rGAs8T;aoIme0nyi;m5YyAA;aNendDRhiD8iI;dele9lKnI;if45niIo0;e,f44;a,helmi0lIma;a,ow;ka0nB;aOeLiIusa5;ck82kJlAole7viI;anGenIQ;ky,toriBE;da,lA5rIs0;a,nIoniGV;a,iFH;leInesGV;nI7rI;i1y;g9rIxGW;su5te;aZeVhSiOoMrJuIy3;i,la;acIPiIu0L;c2na,sI;hGta;nIr0H;iGya;aKffaEGnIs6;a,gtiI;ng;!nFHra;aJeIomasi0;a,l9Lo87res1;l2ndolwethu;g9Co85rJssI;!a,ie;eIi,ri8;sa,za;bPlNmLnJrIs6tia0wa0;a60yn;iIya;a,ka,s6;arGe3iIm75ra;!ka;a,iI;a,t6;at6it6;a0Gcarlett,e0ChYiUkye,neza0oStOuJyI;bI2lvi1;ha,mayI5ni7sJzI;an3KetAie,y;anIi8;!a,e,nI;aCe;aKeI;fIl5DphI;an4;cHQr5;b2fiA3m0MnIphi1;d3ia,ja,ya;er3lKmon1nJobh8MtI;a,i;dy;lEHv2;aNeJirIo0risEZy5;a,lDD;ba,e0i5lKrI;iIr6Gyl;!d8Efa;ia,lDP;hd,iNki3nKrJu0w0yI;la,ma,na;i,le9on,ron;aJda,ia,nIon;a,on;!ya;k6mI;!aa;lKrJtaye7YvI;da,inj;e0ife;en1i0ma;anA0bMd3Kh1PiBkLlKmJnd3rIs6vannaC;aCi0;ant6i3;lDEma,ome;ee0in8Ou3;in1ri0;a05e00hYiVoIuthDC;bTcSghRl8GnQsKwJxI;anAUie,y;an,e0;aJeIie,lD; merBIann8ll1marD6t7;!lInn1;iIyn;e,nI;a,dG;da,i,na;ayy8B;hel63io;bDFer7yn;a,cJkImas,nGta,ya;ki,o;helHki;ea,iannG7oI;da,n1L;an0bKemGgi0iJnIta,y0;a86ee;han81na;a,eI;cE5kaC;bi0chJe,i0mo0nIquEFy0;di,ia;aEDelIiB;!e,le;een4ia0;aOeNhLipaluk,oKrIute67;iIudenCL;scil3LyamvaB;lly,rt2;ilome0oebe,ylI;is,lis;ggy,nelope,r5t3;ige,m0UnLo5rvaDBtJulI;a,etAin1;ricIt4T;a,e,ia;do3i07;ctav2dJfCUis6lIphCUumBYyunbileg;a,ga,iv2;eIvA9;l2tA;aXeViNoJurIy5;!ay,ul;a,eKor,rJuI;f,r;aCeEma;ll1mi;aOcMhariBJkLlaKna,sIta,vi;anIha;ur;!y;a,iDNki;hoHk9SolI;a,eDE;!mh;hir,lIna,risFsreE;!a,lBO;asuMdLh2i6Cl5nKomi8rgEJtIzanin zah3;aIhal4;li1s6;cy,etA;e9iEP;nngu30;a0Ackenz4e02iNoKrignayani,uriD8yI;a,rI;a,lOna,tH;bi0i3llBDnI;a,iI;ca,ka,qCY;a,cUkaTlOmi,nMrJtzi,yI;ar;aJiam,lI;anEI;!l,nB;dy,eIh,n4;nhHrva;aLdKiCKlI;iIy;cent,e;red;!gros;!e5;ae5hI;ae5el40;ag5EgOi,lLrI;edi77iJjem,on,yI;em,l;em,sF;an4iIliF;nIsC9;a,da;!an,han;b0DcANd0Be,g09ha,i08ja,l06n04rMsoum5YtLuJv80x9FyIz4;bell,ra,soB4;de,rI;a,eE;h8Cild1t4;a,cYgUiLjor4l7Qn4s6tKwa,yI;!aIbe6Uja9lA9;m,nBC;a,ha,in1;!aKbC6eJja,lDna,sIt62;!a,ol,sa;!l1H;! Kh,mJnI;!a,e,n1;!awit,i;aliACcJeduarBfern5EjIlui5W;o6Dul2;ecil2la3;arKeJie,oIr46ueriA;!t;!ry;et44i39;el4Vi75y;dIon,ue5;akran7y;ak,en,iIlo3Q;a,ka,nB;a,re,s4te;daIg4;!l3C;alDd4elIge,isD6on0;ei9in1yn;el,le;a0Oe0DiZoRuMyI;d2la,nI;!a,dJeBCnIsCG;!a,eBB;a,sCE;aCRcKel0QiFlJna,pIz;e,i7;a,u,wa;iIy;a0Te,ja,l2LnB;is,l1TrKttJuIvel4;el5is1;e,ie;aLeJi8na,rI;a84i8;lIn1t7;ei;!in1;aTbb98dSepa,lNnKsJv2zI;!a,be5KetAz4;a,etA;!a,dI;a,sIy;ay,ey,i,y;a,iKja,lI;iIy;a9We;!aI;!nG;ia,ya;!nI;!a,ne;aQda,e0iOjZla,nNoLsKtIx4y5;iIt4;c2t2;e2NlCB;la,nIra;a,ie,o3;a,or1;a,gh,laI;!ni;!h,nI;a,d3e,n5O;cPdon93iOkes6mi96na,rNtKurJvIxmi,y5;ern1in2;a,e53ie,yn;as6iJoI;nya,ya;fa,s6;a,isF;a,la;ey,ie,y;a05e00hYiPlAFoOrKyI;lIra;a,ee,ie;istIy6B;a,en,iJyI;!na;!e,n58;nul,ri,urtnAV;aPerOlAUmKrIzzy;a,stI;en,in;!berlJmernI;aq;eIi,y;e,y;a,stE;!na,ra;aIei3ongordzol;dij1w5;el7MiLjsi,lKnJrI;a,i,ri;d3na,za;ey,i,lB8s4y;ra,s6;bi7cAEdiat7EeAXiSlRmQnyakuma1BrOss6HtLvi7yI;!e,lI;a,eI;e,i8H;a6BeJhIi4MlDri0y;ar69er69ie,leErAXy;!lyn8Cri0;a,en,iIl5Qoli0yn;!ma,nGsF;a5il1;ei8Ai,l4;a,tl6I;a09eZiWoOuI;anMdLliIst61;a8DeIsF;!n9tI;!a,te;e5Hi3Iy;a,i7;!anOcelDdNelHhan7NleMni,sJva0yI;a,ce;eIie;fIlDph5S;a,in1;en,n1;i8y;!a,e,n40;lIng;!i1DlI;!i1C;anOle0nLrKsI;i88sI;!e,i87;i,ri;!a,elHif2AnI;a,etAiIy;!e,f28;a,e89iJnI;a,e88iI;e,n1;cNda,mi,nJque4UsminGvie3y9zI;min8;a8eJiI;ce,e,n1s;!lIsFt0G;e,le;inJk4lDquelI;in1yn;da,ta;da,lSmQnPo0rOsJvaIzaro;!a0lu,na;aKiJlaIob7Z;!n9H;do3;belIdo3;!a,e,l37;a72en1i0ma;di3es,gr6Tji;a9elBogI;en1;a,e9iIo0se;a0na;aTePiKoIusFyacin29;da,ll4rten21snI;a,i9K;lJmaI;ri;aJdIlaJ;a,egard;ry;ath1AiKlJnriet7rmi9sI;sa,t19;en2Qga,mi;di;bi2Bil8ClOnNrKsJtIwa,yl8C;i5Nt4;n5Tti;iImo4Xri4Y;etI;!te;aCnaC;a,ey,l4;a03eXiSlQoOrLunKwI;enIyne1O;!dolD;ay,el;acieJetIiselB;a,chE;!la;ld19ogooI;sh;adys,enIor2yn2G;a,da,na;aLgi,lJna,ov84selIta;a,e,le;da,liI;an;!n0;mMnKorgJrI;ald3Ni,m3Atru86;etAi4S;a,eIna;s25vieve;ma;bJle,mIrnet,yH;al5Ji5;i5BrielI;a,l1;aUeRiQlorPoz2rI;anKeJiI;da,eB;da,ja;!cI;esJiIoi0N;n1s5X;!ca;a,enc2;en,o0;lJn0rnI;anB;ec2ic2;jr,n7rLtIy8;emJiIma,ouma7;ha,ma,n;eh;ah,iBrah,za0;cr4Ld0Oe0Ni0Mk7l05mXn4WrUsOtNuMvI;aKelJiI;!e,ta;inGyn;!ngel2S;geni1ni43;h5Qta;mMperanLtI;eJhIrel5;er;l2Zr8;za;a,eralB;iIma,nest2Jyn;cIka,n;a,ka;a,eNiKmI;aIie,y;!li9;lIn1;ee,iIy;a,e,ja;lIrald;da,y;aXeViOlNma,no3oLsKvI;a,iI;na,ra;a,ie;iIuiI;se;a,en,ie,y;a0c2da,f,nNsKzaI;!betIve7;e,h;aIe,ka;!beI;th;!a,or;anor,nG;!a;!in1na;leEs6;vi;eJiIna,wi0;e,th;l,n;aZeNh2iMjeneLoI;lor5Qminiq4Gn3DrItt4;a,eEis,la,othIthy;ea,y;ba;an0AnaCon9ya;anRbQde,ePiNlKmetr2nIsir5H;a,iI;ce,se;a,iJla,orIphi9;es,is;a,l6A;dIrdI;re;!d59na;!b2ForaCraC;a,d3nI;!a,e;hl2i0l0HmOnMphn1rJvi1WyI;le,na;a,by,cJia,lI;a,en1;ey,ie;a,etAiI;!ca,el1Bka,z;arIia;is;a0Se0Oh05i03lVoKristJynI;di,th2;al,i0;lQnNrJurI;tn1E;aKd2MiIn2Mri9;!nI;a,e,n1;!l4;cepci57n4sI;tanIuelo;ce,za;eIleE;en,tA;aKeoJotI;il4Z;!pat3;ir8rKudI;etAiI;a,ne;a,e,iI;ce,s00;a3er3ndI;i,y;aSeOloe,rI;isKyI;stI;al;sy,tI;a1Qen,iIy;an1e,n1;deKlseJrI;!i8yl;a,y;li9;nNrI;isLlJmI;ai9;a,eIotA;n1tA;!sa;d3elHtI;al,elH;cJlI;esAi42;el2ilI;e,ia,y;itlZlYmilXndWrOsMtIy5;aKeKhIri0;erIleErDy;in1;ri0;a32sI;a31ie;a,iOlMmeKolJrI;ie,ol;!e,in1yn;lIn;!a,la;a,eIie,o7y;ne,y;na,sF;a0Hi0H;a,e,l1;is7l4;in,yn;a0Ie02iZlXoUrI;andi8eRiKoJyI;an0nn;nwDoke;an3CdgMg0XtI;n2WtI;!aJnI;ey,i,y;ny;etI;!t8;an0e,nI;da,na;bbi8glarJlo06nI;i7n4;ka;ancIythe;a,he;an18lja0nIsm3I;i7tI;ou;aVcky,linUni7rQssPtKulaCvI;!erlI;ey,y;hKsy,tI;e,iIy8;e,na;!anI;ie,y;!ie;nIt6yl;adJiI;ce;etAi9;ay,da;!triI;ce,z;rbKyaI;rmI;aa;a3o3ra;a2Sb2Md23g1Zi1Qj5l16m0Xn0Aoi,r05sVtUuQvPwa,yJzI;ra,u0;aLes6gKlJseI;!l;in;un;!nI;a,na;a,i2I;drKgus1RrJsteI;ja;el2;a,ey,i,y;aahua,he0;hJi2Gja,mi7s2DtrI;id;aNlJraqIt21;at;eJi8yI;!n;e,iIy;gh;!nI;ti;iKleJo6pi7;ta;en,n1tA;aIelH;!n1J;a01dje5eZgViTjRnKohito,toIya;inetAnI;el5ia;!aLeJiImK;e,ka;!mItA;ar4;!belJliFmV;sa;!l1;a,eliI;ca;ka,sIta;a,sa;elIie;a,iI;a,ca,n1qI;ue;!tA;te;!bJmIstasiNya;ar2;el;aMberLeliKiIy;e,l2naI;!ta;a,ja;!ly;hHiJl2nB;da;a,ra;le;aXba,eQiNlLthKyI;a,c2sI;a,on,sa;ea;iIys0O;e,s0N;a,cJn1sIza;a,e,ha,on,sa;e,ia,ja;c2is6jaLksaLna,sKxI;aIia;!nd3;ia,saI;nd3;ra;ia;i0nJyI;ah,na;a,is,naCoud;la;c6da,leEmOnMsI;haClI;inIyZ;g,n;!h;a,o,slI;ey;ee;en;at6g4nJusI;ti0;es;ie;aXdiUelNrI;eKiI;anNenI;a,e,ne;an0;na;!aMeLiJyI;nn;a,n1;a,e;!ne;!iI;de;e,lDsI;on;yn;!lI;i9yn;ne;aLbJiIrM;!gaL;ey,i8y;!e;gaI;il;dLliyKradhJs6;ha;ya;ah;a,ya",FirstName:"true¦aLblair,cHdevGgabrieFhinaEjCk9l8m4quinn,re3s0;h0umit;ay,e0iloh;a,lby;g6ne;a1el0ina,org5;!okuh9;naia,r0;ion,lo;ashawn,uca;asCe1ir0rE;an;lsAnyat2rry;am0ess6ie,ude;ie,m5;ta;le;an,on;as2h0;arl0eyenne;ie;ey,sidy;lex2ndr1ubr0;ey;a,ea;is",Person:"true¦a0Ob0Hc08d05e02g01hZinez,jYkVlSmMnKoJpHr9s7t4v2w0xzibit,yanni;ar0ednesday adams,ill.i.am,oode;hol,rO;a0oltaiO;lentino rossi,n go7;a1heresa may,i0yra banks;ger woods,mbaQ;tum,ylor;a0carlett johanss03hakespeaJinbad,lobodan milosevic,ocratM;ddam hussain,ntigold;a6e5i4o2u0za;mi,n dmc,paul,sh limbau0;gh;d stewart,nald0thko;inho,o;hanYvaldo;ese witherspoVil9mbrandt;ffi,y roma03;a0e08ip07lato,oe,uff daddy;lm06ris hiltS;prah winfrWra;as,e0iles crane,ostradamP; yo,l3ttI;acklemo4essia3i1o0ubarek;by,lie3net,rrissS;randa ju0tt romnR;ly;en;re;ady gaga,e0iberaT;bron jam0e;es;anye west,e1iefer suther0obe bryant;land;ats,ndall,sha;aime,effersCk rowling;a0itlPulk hogan;lle berry,rrisA;ast9otye;ff1m0nya,zekiel;eril lagasse,inem;ie;a1e0ick wolf,rake;gas,nzel washingt4;lt3nB;ar5h3lint2o0;nfuci0olio;us;on;aucCy0;na;dinal wols1son0;! palm9;ey;a5e3o2ro0;ck,n0;te;no;ck,yon0;ce;nksy,rack obama;ristot1shton kutch0;er;le",LastName:"true¦0:9G;1:9W;2:9Y;3:9O;4:9I;5:8L;6:9L;7:A1;8:9F;9:8A;A:78;B:6G;C:6K;a9Vb8Nc7Ld6Ye6Tf6Fg5Wh59i55j4Qk45l3Nm2Sn2Fo27p1Oquispe,r18s0Ft05vVwOxNyGzD;aytsAEhD;aDou,u;ng,o;aGeun81iDoshiAAun;!lD;diDmaz;rim,z;maDng;da,guc98mo6VsDzaA;aAhiA8;iao,u;aHeGiEoDright,u;jc8Tng;lDmm0nkl0sniewsA;liA2s2;b0iss,lt0;a5Tgn0lDtanabe;k0sh;aHeGiEoDukB;lk5roby5;dBllalDnogr2Zr10ss0val37;ba,obos;lasEsel7P;lGn dFrg8FsEzD;qu7;ily9Pqu7silj9P;en b35ijk,yk;enzue96verde;aLeix1KhHi3j6ka3IoGrFsui,uD;om50rD;c3n0un1;an,embl8UynisA;dor96lst31m4rr9th;at5Ni7NoD;mErD;are70laci65;ps2s0Z;hirBkah8Enaka;a01chXeUhQiNmKoItFuEvDzabo;en8Bobod34;ar7bot4lliv3zuA;aEein0oD;i68j3Myan8W;l6rm0;kol5lovy5re6Rsa,to,uD;ng,sa;iDy60;rn5tD;!h;l5ZmEnDrbu;at8gh;mo6Eo6K;aFeDimizu;hu,vchD;en7Duk;la,r17;gu8infeld,mDoh,pulve8Trra4S;jDyD;on5;evi6Giltz,miDneid0roed0ulz,warz;dEtD;!z;!t;ar42h6ito,lFnDr4saAto,v4;ch7d0AtDz;a4Pe,os;as,ihBm3Zo0Q;aOeNiKoGuEyD;a67oo,u;bio,iz,sD;so,u;bEc7Bdrigue57g03j73mDosevelt,ssi,ta7Nux,w3Z;a4Ce0O;ertsDins2;!on;bei0LcEes,vDzzo;as,e8;ci,hards2;ag3es,it0ut0y9;dFmEnDsmu7Zv5F;tan1;ir7os;ic,u;aSeLhJiGoErDut6;asad,if60ochazk1V;lishc23pDrti63u55we67;e2Tov48;cEe09nD;as,to;as61hl0;aDillips;k,m,n5L;de3AetIna,rGtD;ersErovDtersC;!a,ic;en,on;eDic,ry,ss2;i8ra,tz,z;ers;h71k,rk0tEvD;ic,l3T;el,t2O;bJconnor,g2ClGnei5QrEzD;demir,turk;ella3MtDwe5O;ega,iz;iDof6GsC;vDyn1E;ei8;aPri1;aLeJguy1iFoDune44ym3;rodahl,vDwak;ak3Uik5otn57;eEkolDlsCx2;ic,ov6X;ls1miD;!n1;ils2mD;co42ec;gy,kaEray3varD;ro;jiDmu8shiD;ma;aWcUeQiPoIuD;lGnFrDssoli5T;atDpTr68;i,ov4;oz,te4C;d0l0;h3lInr13o0GrEsDza0Y;er,s;aFeEiDoz5r3Ete4C;!n6F;au,i8no,t4N;!l9;i2Rl0;crac5Ohhail5kke3Qll0;hmeFij0j2FlEn2Xrci0ssiDyer19;!er;n0Io;dBti;cartDlaughl6;hy;dMe6Egnu5Fi0jer35kLmJnci5ArFtEyD;er,r;ei,ic,su1O;iEkBqu9roqu6tinD;ez,s;a55c,nD;!o;a53mD;ad5;e5Pin1;rig4Ps1;aSeMiIoGuEyD;!nch;k4nDo;d,gu;mbarDpe2Svr4;di;!nDu,yana1T;coln,dD;bDholm;erg;bed5UfeGhtFitn0kaEn6rDw2H;oy;!j;in1on1;bvDvD;re;iDmmy,rsCu,voie;ne,t12;aTennedy,h3iSlQnez48oJrGuEvar3woD;k,n;cerDmar59znets5;a,o2H;aDem0i31yeziu;sni3RvD;ch3W;bay4Grh0Ksk0UvaFwalDzl5;czDsA;yk;cFlD;!cDen3S;huk;!ev4ic,s;e6uiveD;rt;eff0l4mu8nnun1;hn,llFminsArEstra33to,ur,yDzl5;a,s0;j0HlsC;oe;aMenLha2Qim0RoEuD;ng,r4;e2KhFnErge2Ku2OvD;anB;es,ss2;anEnsD;en,on,t2;nesDsC;en,s1;ki27s1;cGkob3RnsDrv06;en,sD;enDon;!s;ks2obs1;brahimBglesi3Ake4Ll0DnoZoneFshikEto,vanoD;u,v4A;awa;scu;aPeIitchcock,jaltal6oFrist46uD;!aDb0gh9ynh;m3ng;a24dz4fEjga2Tk,rDx3B;ak0Yvat;er,fm3B;iGmingw3NnErD;nand7re8;dDriks1;ers2;kkiEnD;on1;la,n1;dz4g1lvoLmJnsCqIrr0SsFuEyD;as36es;g1ng;anEhiD;mo0Q;i,ov08;ue;alaD;in1;rs1;aNeorgMheorghe,iKjonJoGrEuDw2;o,staf2Utierr7zm3;ayDg4iffitVub0;li1H;lub3Rme0JnEodD;e,m3;calv9zale0H;aj,i;bs2l,mDordaL;en7;iev3A;gnJlGmaFnd2Mo,rDs2Muthi0;cDza;ia;ge;eaElD;agh0i,o;no;e,on;ab0erLiHjeldsted,lor9oFriedm3uD;cDent9ji3E;hs;ntaDrt6urni0;na;lipEsD;ch0;ovD;!ic;hatBnanFrD;arDei8;a,i;deS;ov4;dGinste6riksCsDva0D;cob2YpDtra2W;inoza,osiL;en,s2;er,is2wards;aUeMiKjurhuJoHrisco0ZuEvorakD;!oQ;arte,boEmitru,rDt2U;and,ic;is;g3he0Imingu7n2Ord1AtD;to;us;aDmitr29ssanayake;s,z; GbnaFlEmirDrvis1Lvi,w3;!ov4;gado,ic;th;bo0groot,jo04lEsilDvri9;va;a cruz,e2uD;ca;hl,mcevsAnEt2EviD;d5es,s;ieDku1S;ls1;ki;a06e01hOiobNlarkMoFrD;ivDuz;elli;h1lHntGoFrDs26x;byn,reD;a,ia;ke,p0;i,rer0N;em3liD;ns;!e;anu;aLeIiu,oGriDuJwe;stD;eDiaD;ns1;i,ng,uFwDy;!dhury;!n,onEuD;ng;!g;kEnDpm3tterjee,v7;!d,g;ma,raboD;rty;bGl08ng4rD;eghetEnD;a,y;ti;an,ota0L;cer9lder2mpbeIrFstDvadi07;iDro;llo;doEt0uDvalho;so;so,zo;ll;es;a08eWhTiRlNoGrFyD;rne,tyD;qi;ank5iem,ooks,yant;gdan5nFruya,su,uchEyHziD;c,n5;ard;darDik;enD;ko;ov;aEondD;al;nco,zD;ev4;ancRshwD;as;a01oDuiy3;umDwmD;ik;ckNethov1gu,ktLnJrD;gGisFnD;ascoDds1;ni;ha;er,mD;ann;gtDit7nett;ss2;asD;hi;er,ham;b4ch,ez,hMiley,kk0nHrDu0;bEnDua;es,i0;ieDosa;ri;dDik;a8yopadhyD;ay;ra;er;k,ng;ic;cosZdYguilXkhtXlSnJrGsl3tchis2yD;aEd6;in;la;aEsl3;an;ujo,ya;dFgelD;ovD;!a;ersGov,reD;aDjL;ss1;en;en,on,s2;on;eksejGiyGmeiFvD;ar7es;ez;da;ev;ar;ams;ta",Honorific:"true¦director1field marsh2lieutenant1rear0sergeant major,vice0; admir1; gener0;al","Adj|Gerund":"true¦0:3H;1:3J;2:33;3:2Z;4:37;5:35;6:3E;7:31;8:38;9:2J;a35b2Vc2Dd1Te1If17g11h0Yi0Rjud9l0Nm0Gnu0Fo0Ap04rYsKtEuBvAw18yiel3;ar6e08;nBpA;l1Rs0B;fol3n21sett2;aEeDhrBi4ouc7rAwis0;e0Bif2oub2us0yi1;ea1SiA;l2vi1;l2mp0rr1J;nt1Xxi1;aMcreec7enten2PhLkyrocke0lo1Tmi2oJpHtDuBweA;e1Sl2;pp2CrA;gi1pri5roun3;aBea8iAri2Jun25;mula0r4;gge4rA;t2vi1;ark2eAraw2;e3llb2H;aAot7;ki1ri1;i1Xoc2B;dYtisf6;aEeBive0oAus7;a4l2;assu4defi1Tfres7ig1Tjuve0QlaImai1Ts0vAwar3;ea2italiAol1I;si1zi1;gi1ll6mb2vi1;a6eDier25lun9rAun2E;eBoA;mi5vo21;ce3s5vai2;n3rpleA;xi1;ffCpWutBverAwi1;arc7lap12p0Pri3whel8;goi1l6st1L;en3sA;et0;m2Lrtu4;aEeDiCoBuAyst0L;mb2;t1Lvi1;s5tiga0;an1Tl0n3smeri28;dAtu4;de17;aCeaBiAo0W;fesa0Vmi0vi1;di1ni1;c1Hg9s0;llumiZmFnArri0T;cDfurGsCtBviA;go25ti1;e1Qimi23oxica0rig0X;pi4ul0;orpo22r0M;po5;arrowi1eaBorr03umilA;ia0;li1rtwar8;lErA;atiCip0BoBuelA;i1li1;undbrea13wi1;f6ng;a4ea8;aIetc7it0lEoCrBulfA;il2;ee1JighZust1P;rAun3;ebo3thco8;aCoA;a0wA;e4i1;mi1tte4;di1sciA;na0;lectrJmHnExA;aCci0hBis0pA;an3lo3;aOila1D;c0spe1C;ab2cBdu4ergi15ga9live06ric7s04tA;hral2i0L;han0oura9;barras5er9pA;owe4;if6;aSeIiBrA;if0;sAzz6;aEgDhearCsen0tA;rAur13;ac0es5;teU;us0;ppoin0r8;biliIcFfiRgra3ligh0mDpres5sCvA;asHeloA;pi1;erE;an3eaNorA;ali0L;a6eiBliLrA;ea5;vi1;ta0;ma9ri1s7un0zz2;aPhMlo5oAripp2ut0;mGnArrespon3;cerEfDspi4tAvinU;inBrA;as0ibu0ol2;ui1;lic0u5;ni1;fDmCpA;eAromi5;l2ti1;an3;or0;aAil2;llen9n9r8;gi1;l8ptAri1;iva0;aff2eGin3lFoDrBuA;d3st2;eathtaAui5;ki1;gg2i2o8ri1unA;ci1;in3;co8wiA;lAtc7;de4;bsorVcOgonMlJmHnno6ppea2rFsA;pi4su4toA;nBun3;di1;is7;hi1;res0;li1;aFu5;si1;ar8lu4;ri1;mi1;iAzi1;zi1;cAhi1;eleDomA;moBpan6;yi1;da0;ra0;ti1;bi1;ng",Adverb:"true¦a08b05d00eYfSheQinPjustOkinda,likewiZmMnJoEpCquite,r9s5t2u0very,well;ltima01p0; to,wards5;h1iny bit,o0wiO;o,t6;en,us;eldom,o0uch;!me1rt0; of;how,times,w0C;a1e0;alS;ndomRth05;ar excellenEer0oint blank; Lhaps;f3n0utright;ce0ly;! 0;ag05moX; courGten;ewJo0; longWt 0;onHwithstand9;aybe,eanwhiNore0;!ovT;! aboX;deed,steY;lla,n0;ce;or3u0;ck1l9rther0;!moK;ing; 0evK;exampCgood,suH;n mas0vI;se;e0irect2; 2fini0;te0;ly;juAtrop;ackward,y 0;far,no0; means,w; GbroFd nauseam,gEl7ny5part,s4t 2w0;ay,hi0;le;be7l0mo7wor7;arge,ea6; soon,i4;mo0way;re;l 3mo2ongsi1ready,so,togeth0ways;er;de;st;b1t0;hat;ut;ain;ad;lot,posteriori",Conjunction:"true¦aXbTcReNhowMiEjust00noBo9p8supposing,t5wh0yet;e1il0o3;e,st;n1re0thN; if,by,vM;evL;h0il,o;erefOo0;!uU;lus,rovided th9;r0therwiM;! not; mattEr,w0;! 0;since,th4w7;f4n0; 0asmuch;as mIcaForder t0;h0o;at;! 0;only,t0w0;hen;!ev3;ith2ven0;! 0;if,tB;er;o0uz;s,z;e0ut,y the time;cau1f0;ore;se;lt3nd,s 0;far1if,m0soon1t2;uch0; as;hou0;gh",Currency:"true¦$,aud,bQcOdJeurIfHgbp,hkd,iGjpy,kElDp8r7s3usd,x2y1z0¢,£,¥,ден,лв,руб,฿,₡,₨,€,₭,﷼;lotyQł;en,uanP;af,of;h0t5;e0il5;k0q0;elK;oubleJp,upeeJ;e2ound st0;er0;lingG;n0soF;ceEnies;empi7i7;n,r0wanzaCyatC;!onaBw;ls,nr;ori7ranc9;!os;en3i2kk,o0;b0ll2;ra5;me4n0rham4;ar3;e0ny;nt1;aht,itcoin0;!s",Determiner:"true¦aBboth,d9e6few,le5mu8neiDplenty,s4th2various,wh0;at0ich0;evC;a0e4is,ose;!t;everal,ome;!ast,s;a1l0very;!se;ch;e0u;!s;!n0;!o0y;th0;er","Adj|Present":"true¦a07b04cVdQeNfJhollIidRlEmCnarrIoBp9qua8r7s3t2uttFw0;aKet,ro0;ng,u08;endChin;e2hort,l1mooth,our,pa9tray,u0;re,speU;i2ow;cu6da02leSpaN;eplica01i02;ck;aHerfePr0;eseUime,omV;bscu1pen,wn;atu0e3odeH;re;a2e1ive,ow0;er;an;st,y;ow;a2i1oul,r0;ee,inge;rm;iIke,ncy,st;l1mpty,x0;emHpress;abo4ic7;amp,e2i1oub0ry,ull;le;ffu9re6;fu8libe0;raE;alm,l5o0;mpleCn3ol,rr1unterfe0;it;e0u7;ct;juga8sum7;ea1o0;se;n,r;ankru1lu0;nt;pt;li2pproxi0rticula1;ma0;te;ght",Comparable:"true¦0:3C;1:3Q;2:3F;a3Tb3Cc33d2Ue2Nf2Ag1Wh1Li1Fj1Ek1Bl13m0Xn0So0Rp0Iqu0Gr07sHtCug0vAw4y3za0Q;el10ouN;ary,e6hi5i3ry;ck0Cde,l3n1ry,se;d,y;ny,te;a3i3R;k,ry;a3erda2ulgar;gue,in,st;a6en2Xhi5i4ouZr3;anqu2Den1ue;dy,g36me0ny;ck,rs29;ll,me,rt,wd3I;aRcaPeOhMiLkin0BlImGoEpDt6u4w3;eet,ift;b3dd0Wperfi21rre29;sta27t22;a8e7iff,r4u3;pUr1;a4ict,o3;ng;ig2Vn0N;a1ep,rn;le,rk,te0;e1Si2Vright0;ci1Zft,l3on,re;emn,id;a3el0;ll,rt;e4i3y;g2Mm0Z;ek,nd2T;ck24l0mp1M;a3iRrill,y;dy,l01rp;ve0Jxy;n1Kr3;ce,y;d,fe,int0l1Iv0V;a8e6i5o3ude;mantic,o19sy,u3;gh;pe,t1P;a3d,mo0A;dy,l;gg4iFndom,p3re,w;id;ed;ai2i3;ck,et;hoAink,l9o8r5u3;ny,r3;e,p12;egna2ic4o3;fouSud;ey,k0;liXor;ain,easa2;ny;dd,i0ld,ranL;aive,e5i4o3u15;b0Tisy,rm0Zsy;bb0ce,mb0S;a3r1w;r,t;ad,e5ild,o4u3;nda12te;ist,o1;a4ek,l3;low;s0ty;a8e7i6o3ucky;f0Kn4o15u3ve0w10y0O;d,sy;e0g;ke0l,mp,tt0Fve0;e1Qwd;me,r3te;ge;e4i3;nd;en;ol0ui19;cy,ll,n3;secu6t3;e3ima4;llege2rmedia3;te;re;aAe7i6o5u3;ge,m3ng1C;bZid;me0t;gh,l0;a3fYsita2;dy,rXv3;en0y;nd13ppy,r3;d3sh;!y;aFenEhCiBlAoofy,r3;a8e6i5o3ue0Z;o3ss;vy;m,s0;at,e3y;dy,n;nd,y;ad,ib,ooD;a2d1;a3o3;st0;tEuiS;u1y;aDeebCi9l8o6r5u3;ll,n3r0N;!ny;aDesh,iend0;a3nd,rmE;my;at,ir8;erce4nan3;ciA;! ;le;r,ul3;ty;a6erie,sse4v3xtre0A;il;nti3;al;r4s3;tern,y;ly,th0;appYe8i4u3;mb;r5vi4z3;zy;ne;e,ty;a3ep,n9;d3f,r;!ly;agey,h8l7o5r4u3;dd0r0te;isp,uel;ar3ld,mmon,st0ward0zy;se;evKou1;e3il0;ap,e3;sy;aHiFlCoAr5u3;ff,r0sy;ly;a6i3oad;g4llia2;nt;ht;sh,ve;ld,un3;cy;a4o3ue;nd,o1;ck,nd;g,tt3;er;d,ld,w1;dy;bsu6ng5we3;so3;me;ry;rd","Person|Adj":"true¦brown,du2earnest,frank,mi2r0sa1;a0ich,u1;ndy;sty",Modal:"true¦c5lets,m4ought3sh1w0;ill,o5;a0o4;ll,nt;! to,a;ight,ust;an,o0;uld",Verb:"true¦born,cannot,gonna,has,keep tabs,msg","Person|Verb":"true¦b8ch7dr6foster,gra5ja9lan4ma2ni9ollie,p1rob,s0wade;pike,t5ue;at,eg,ier2;ck,r0;k,shal;ce;ce,nt;ew;ase,u1;iff,l1ob,u0;ck;aze,ossom","Person|Place":"true¦a5darw6h3jordan,k2orlando,s0victo7;a0ydney;lvador,mara,ntiago;ent,obe;amil0ous0;ton;lexand1ust0;in;ria","Person|Date":"true¦a2j0sep;an0une;!uary;p0ugust,v0;ril"};const Po=36,Ao="0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ",Io=Ao.split("").reduce((function(e,t,n){return e[t]=n,e}),{});var Eo=function(e){if(void 0!==Io[e])return Io[e];let t=0,n=1,a=Po,r=1;for(;n=0;n--,r*=Po){let a=e.charCodeAt(n)-48;a>10&&(a-=7),t+=a*r}return t};var jo=function(e){const t=new RegExp("([0-9A-Z]+):([0-9A-Z]+)");for(let n=0;n{let o=e.nodes[a];"!"===o[0]&&(t.push(r),o=o.slice(1));const i=o.split(/([A-Z0-9,]+)/g);for(let o=0;o{const n=t.split("¦");return e[n[0]]=n[1],e}),{}),n={};return Object.keys(t).forEach((function(e){const a=No(t[e]);"true"===e&&(e=!0);for(let t=0;t{let t=xo(ko[e]);Go.test(e)?Object.keys(t).forEach((t=>{if(zo[t]=e,"Noun|Verb"===e){let e=Oo(t,Lo);zo[e]="Plural|Verb"}})):Object.keys(t).forEach((t=>{Vo[t]=e}))})),[":(",":)",":P",":p",":O",";(",";)",";P",";p",";O",":3",":|",":/",":\\",":$",":*",":@",":-(",":-)",":-P",":-p",":-O",":-3",":-|",":-/",":-\\",":-$",":-*",":-@",":^(",":^)",":^P",":^p",":^O",":^3",":^|",":^/",":^\\",":^$",":^*",":^@","):","(:","$:","*:",")-:","(-:","$-:","*-:",")^:","(^:","$^:","*^:","<3","Vo[e]="Emoticon")),delete Vo[""],delete Vo.null,delete Vo[" "];const Mo="Singular";var So={beforeTags:{Determiner:Mo,Possessive:Mo,Acronym:Mo,Noun:Mo,Adjective:Mo,PresentTense:Mo,Gerund:Mo,PastTense:Mo,Infinitive:Mo,Date:Mo,Ordinal:Mo,Demonym:Mo},afterTags:{Value:Mo,Modal:Mo,Copula:Mo,PresentTense:Mo,PastTense:Mo,Demonym:Mo,Actor:Mo},beforeWords:{the:Mo,with:Mo,without:Mo,of:Mo,for:Mo,any:Mo,all:Mo,on:Mo,cut:Mo,cuts:Mo,increase:Mo,decrease:Mo,raise:Mo,drop:Mo,save:Mo,saved:Mo,saves:Mo,make:Mo,makes:Mo,made:Mo,minus:Mo,plus:Mo,than:Mo,another:Mo,versus:Mo,neither:Mo,about:Mo,favorite:Mo,best:Mo,daily:Mo,weekly:Mo,linear:Mo,binary:Mo,mobile:Mo,lexical:Mo,technical:Mo,computer:Mo,scientific:Mo,security:Mo,government:Mo,popular:Mo,formal:Mo,no:Mo,more:Mo,one:Mo,let:Mo,her:Mo,his:Mo,their:Mo,our:Mo,us:Mo},afterWords:{of:Mo,system:Mo,aid:Mo,method:Mo,utility:Mo,tool:Mo,reform:Mo,therapy:Mo,philosophy:Mo,room:Mo,authority:Mo,says:Mo,said:Mo,wants:Mo,wanted:Mo,is:Mo,did:Mo,do:Mo,can:Mo,wise:Mo}};const $o="Infinitive";var Bo={beforeTags:{Modal:$o,Adverb:$o,Negative:$o,Plural:$o},afterTags:{Determiner:$o,Adverb:$o,Possessive:$o,Reflexive:$o,Preposition:$o,Cardinal:$o,Comparative:$o,Superlative:$o},beforeWords:{i:$o,we:$o,you:$o,they:$o,to:$o,please:$o,will:$o,have:$o,had:$o,would:$o,could:$o,should:$o,do:$o,did:$o,does:$o,can:$o,must:$o,us:$o,me:$o,let:$o,even:$o,when:$o,help:$o,he:$o,she:$o,it:$o,being:$o,bi:$o,co:$o,contra:$o,de:$o,inter:$o,intra:$o,mis:$o,pre:$o,out:$o,counter:$o,nobody:$o,somebody:$o,anybody:$o,everybody:$o},afterWords:{the:$o,me:$o,you:$o,him:$o,us:$o,her:$o,his:$o,them:$o,they:$o,it:$o,himself:$o,herself:$o,itself:$o,myself:$o,ourselves:$o,themselves:$o,something:$o,anything:$o,a:$o,an:$o,up:$o,down:$o,by:$o,out:$o,off:$o,under:$o,what:$o,all:$o,to:$o,because:$o,although:$o,after:$o,before:$o,how:$o,otherwise:$o,together:$o,though:$o,into:$o,yet:$o,more:$o,here:$o,there:$o,away:$o}};var Jo={beforeTags:Object.assign({},Bo.beforeTags,So.beforeTags,{}),afterTags:Object.assign({},Bo.afterTags,So.afterTags,{}),beforeWords:Object.assign({},Bo.beforeWords,So.beforeWords,{}),afterWords:Object.assign({},Bo.afterWords,So.afterWords,{})};const Ho="Adjective";var Wo={beforeTags:{Determiner:Ho,Possessive:Ho,Hyphenated:Ho},afterTags:{Adjective:Ho},beforeWords:{seem:Ho,seemed:Ho,seems:Ho,feel:Ho,feels:Ho,felt:Ho,stay:Ho,appear:Ho,appears:Ho,appeared:Ho,also:Ho,over:Ho,under:Ho,too:Ho,it:Ho,but:Ho,still:Ho,really:Ho,quite:Ho,well:Ho,very:Ho,how:Ho,deeply:Ho,hella:Ho,profoundly:Ho,extremely:Ho,so:Ho,badly:Ho,mostly:Ho,totally:Ho,awfully:Ho,rather:Ho,nothing:Ho,something:Ho,anything:Ho,not:Ho,me:Ho,is:Ho},afterWords:{too:Ho,also:Ho,or:Ho,enough:Ho,about:Ho}};const Ko="Gerund";var qo={beforeTags:{Adverb:Ko,Preposition:Ko,Conjunction:Ko},afterTags:{Adverb:Ko,Possessive:Ko,Person:Ko,Pronoun:Ko,Determiner:Ko,Copula:Ko,Preposition:Ko,Conjunction:Ko,Comparative:Ko},beforeWords:{been:Ko,keep:Ko,continue:Ko,stop:Ko,am:Ko,be:Ko,me:Ko,began:Ko,start:Ko,starts:Ko,started:Ko,stops:Ko,stopped:Ko,help:Ko,helps:Ko,avoid:Ko,avoids:Ko,love:Ko,loves:Ko,loved:Ko,hate:Ko,hates:Ko,hated:Ko},afterWords:{you:Ko,me:Ko,her:Ko,him:Ko,his:Ko,them:Ko,their:Ko,it:Ko,this:Ko,there:Ko,on:Ko,about:Ko,for:Ko,up:Ko,down:Ko}};var Uo={beforeTags:Object.assign({},Wo.beforeTags,qo.beforeTags,{Imperative:"Gerund",Infinitive:"Adjective",PresentTense:"Gerund",Plural:"Gerund"}),afterTags:Object.assign({},Wo.afterTags,qo.afterTags,{Singular:"Adjective"}),beforeWords:Object.assign({},Wo.beforeWords,qo.beforeWords,{is:"Adjective",was:"Adjective",of:"Adjective",suggest:"Gerund",recommend:"Gerund"}),afterWords:Object.assign({},Wo.afterWords,qo.afterWords,{to:"Gerund",not:"Gerund",the:"Gerund"})};const Qo={beforeTags:{Determiner:void 0,Cardinal:"Noun",PhrasalVerb:"Adjective"},afterTags:{}};var Ro={beforeTags:Object.assign({},Wo.beforeTags,So.beforeTags,Qo.beforeTags),afterTags:Object.assign({},Wo.afterTags,So.afterTags,Qo.afterTags),beforeWords:Object.assign({},Wo.beforeWords,So.beforeWords,{are:"Adjective",is:"Adjective",was:"Adjective",be:"Adjective",off:"Adjective",out:"Adjective"}),afterWords:Object.assign({},Wo.afterWords,So.afterWords)};let Xo="PastTense";const Zo={beforeTags:{Adverb:Xo,Pronoun:Xo,ProperNoun:Xo,Auxiliary:Xo,Noun:Xo},afterTags:{Possessive:Xo,Pronoun:Xo,Determiner:Xo,Adverb:Xo,Comparative:Xo,Date:Xo,Gerund:Xo},beforeWords:{be:Xo,who:Xo,get:"Adjective",had:Xo,has:Xo,have:Xo,been:Xo,it:Xo,as:Xo,for:"Adjective",more:"Adjective"},afterWords:{by:Xo,back:Xo,out:Xo,in:Xo,up:Xo,down:Xo,before:Xo,after:Xo,for:Xo,the:Xo,with:Xo,as:Xo,on:Xo,at:Xo,between:Xo,to:Xo,into:Xo,us:Xo,them:Xo,his:Xo,her:Xo,their:Xo,our:Xo,me:Xo}};var _o={beforeTags:Object.assign({},Wo.beforeTags,Zo.beforeTags),afterTags:Object.assign({},Wo.afterTags,Zo.afterTags),beforeWords:Object.assign({},Wo.beforeWords,Zo.beforeWords),afterWords:Object.assign({},Wo.afterWords,Zo.afterWords)};const Yo={afterTags:{Noun:"Adjective",Conjunction:void 0}};var ei={beforeTags:Object.assign({},Wo.beforeTags,Bo.beforeTags,{Adverb:void 0,Negative:void 0}),afterTags:Object.assign({},Wo.afterTags,Bo.afterTags,Yo.afterTags),beforeWords:Object.assign({},Wo.beforeWords,Bo.beforeWords,{have:void 0,had:void 0,not:void 0,went:"Adjective",goes:"Adjective",got:"Adjective",be:"Adjective"}),afterWords:Object.assign({},Wo.afterWords,Bo.afterWords,{to:void 0,as:"Adjective"})};const ti={Copula:"Gerund",PastTense:"Gerund",PresentTense:"Gerund",Infinitive:"Gerund"},ni={},ai={are:"Gerund",were:"Gerund",be:"Gerund",no:"Gerund",without:"Gerund",you:"Gerund",we:"Gerund",they:"Gerund",he:"Gerund",she:"Gerund",us:"Gerund",them:"Gerund"},ri={the:"Gerund",this:"Gerund",that:"Gerund",me:"Gerund",us:"Gerund",them:"Gerund"};var oi={beforeTags:Object.assign({},qo.beforeTags,So.beforeTags,ti),afterTags:Object.assign({},qo.afterTags,So.afterTags,ni),beforeWords:Object.assign({},qo.beforeWords,So.beforeWords,ai),afterWords:Object.assign({},qo.afterWords,So.afterWords,ri)};const ii="Singular",si="Infinitive";var li={beforeTags:Object.assign({},Bo.beforeTags,So.beforeTags,{Adjective:ii,Particle:ii}),afterTags:Object.assign({},Bo.afterTags,So.afterTags,{ProperNoun:si,Gerund:si,Adjective:si,Copula:ii}),beforeWords:Object.assign({},Bo.beforeWords,So.beforeWords,{is:ii,was:ii,of:ii,have:null}),afterWords:Object.assign({},Bo.afterWords,So.afterWords,{instead:si,about:si,his:si,her:si,to:null,by:null,in:null})};const ui="Person";var ci={beforeTags:{Honorific:ui,Person:ui},afterTags:{Person:ui,ProperNoun:ui,Verb:ui},ownTags:{ProperNoun:ui},beforeWords:{hi:ui,hey:ui,yo:ui,dear:ui,hello:ui},afterWords:{said:ui,says:ui,told:ui,tells:ui,feels:ui,felt:ui,seems:ui,thinks:ui,thought:ui,spends:ui,spendt:ui,plays:ui,played:ui,sing:ui,sang:ui,learn:ui,learned:ui,wants:ui,wanted:ui}};const di="Month",hi={beforeTags:{Date:di,Value:di},afterTags:{Date:di,Value:di},beforeWords:{by:di,in:di,on:di,during:di,after:di,before:di,between:di,until:di,til:di,sometime:di,of:di,this:di,next:di,last:di,previous:di,following:di,with:"Person"},afterWords:{sometime:di,in:di,of:di,until:di,the:di}};var gi={beforeTags:Object.assign({},ci.beforeTags,hi.beforeTags),afterTags:Object.assign({},ci.afterTags,hi.afterTags),beforeWords:Object.assign({},ci.beforeWords,hi.beforeWords),afterWords:Object.assign({},ci.afterWords,hi.afterWords)};const mi="Place",pi={beforeTags:{Place:mi},afterTags:{Place:mi,Abbreviation:mi},beforeWords:{in:mi,by:mi,near:mi,from:mi,to:mi},afterWords:{in:mi,by:mi,near:mi,from:mi,to:mi,government:mi,council:mi,region:mi,city:mi}};let fi="Unit";const bi={"Actor|Verb":Jo,"Adj|Gerund":Uo,"Adj|Noun":Ro,"Adj|Past":_o,"Adj|Present":ei,"Noun|Verb":li,"Noun|Gerund":oi,"Person|Noun":{beforeTags:Object.assign({},So.beforeTags,ci.beforeTags),afterTags:Object.assign({},So.afterTags,ci.afterTags),beforeWords:Object.assign({},So.beforeWords,ci.beforeWords,{i:"Infinitive",we:"Infinitive"}),afterWords:Object.assign({},So.afterWords,ci.afterWords)},"Person|Date":gi,"Person|Verb":{beforeTags:Object.assign({},So.beforeTags,ci.beforeTags,Bo.beforeTags),afterTags:Object.assign({},So.afterTags,ci.afterTags,Bo.afterTags),beforeWords:Object.assign({},So.beforeWords,ci.beforeWords,Bo.beforeWords),afterWords:Object.assign({},So.afterWords,ci.afterWords,Bo.afterWords)},"Person|Place":{beforeTags:Object.assign({},pi.beforeTags,ci.beforeTags),afterTags:Object.assign({},pi.afterTags,ci.afterTags),beforeWords:Object.assign({},pi.beforeWords,ci.beforeWords),afterWords:Object.assign({},pi.afterWords,ci.afterWords)},"Person|Adj":{beforeTags:Object.assign({},ci.beforeTags,Wo.beforeTags),afterTags:Object.assign({},ci.afterTags,Wo.afterTags),beforeWords:Object.assign({},ci.beforeWords,Wo.beforeWords),afterWords:Object.assign({},ci.afterWords,Wo.afterWords)},"Unit|Noun":{beforeTags:{Value:fi},afterTags:{},beforeWords:{per:fi,every:fi,each:fi,square:fi,cubic:fi,sq:fi,metric:fi},afterWords:{per:fi,squared:fi,cubed:fi,long:fi}}},vi=(e,t)=>{let n=Object.keys(e).reduce(((t,n)=>(t[n]="Infinitive"===e[n]?"PresentTense":"Plural",t)),{});return Object.assign(n,t)};bi["Plural|Verb"]={beforeWords:vi(bi["Noun|Verb"].beforeWords,{had:"Plural",have:"Plural"}),afterWords:vi(bi["Noun|Verb"].afterWords,{his:"PresentTense",her:"PresentTense",its:"PresentTense",in:null,to:null,is:"PresentTense",by:"PresentTense"}),beforeTags:vi(bi["Noun|Verb"].beforeTags,{Conjunction:"PresentTense",Noun:void 0,ProperNoun:"PresentTense"}),afterTags:vi(bi["Noun|Verb"].afterTags,{Gerund:"Plural",Noun:"PresentTense",Value:"PresentTense"})};var yi=bi;const wi="Adjective",ki="Infinitive",Pi="PresentTense",Ai="Singular",Ii="PastTense",Ei="Adverb",ji="Plural",Di="Actor",Ni="Verb",xi="Noun",Ci="LastName",Ti="Modal",Fi="Place",Oi="Participle";var Gi=[null,null,{ea:Ai,ia:xi,ic:wi,ly:Ei,"'n":Ni,"'t":Ni},{oed:Ii,ued:Ii,xed:Ii," so":Ei,"'ll":Ti,"'re":"Copula",azy:wi,eer:xi,end:Ni,ped:Ii,ffy:wi,ify:ki,ing:"Gerund",ize:ki,ibe:ki,lar:wi,mum:wi,nes:Pi,nny:wi,ous:wi,que:wi,ger:xi,ber:xi,rol:Ai,sis:Ai,ogy:Ai,oid:Ai,ian:Ai,zes:Pi,eld:Ii,ken:Oi,ven:Oi,ten:Oi,ect:ki,ict:ki,ign:ki,oze:ki,ful:wi,bal:wi,ton:xi},{amed:Ii,aped:Ii,ched:Ii,lked:Ii,rked:Ii,reed:Ii,nded:Ii,mned:wi,cted:Ii,dged:Ii,ield:Ai,akis:Ci,cede:ki,chuk:Ci,czyk:Ci,ects:Pi,iend:Ai,ends:Ni,enko:Ci,ette:Ai,iary:Ai,wner:Ai,fies:Pi,fore:Ei,gate:ki,gone:wi,ices:ji,ints:ji,ruct:ki,ines:ji,ions:ji,ners:ji,pers:ji,lers:ji,less:wi,llen:wi,made:wi,nsen:Ci,oses:Pi,ould:Ti,some:wi,sson:Ci,ians:ji,tion:Ai,tage:xi,ique:Ai,tive:wi,tors:xi,vice:Ai,lier:Ai,fier:Ai,wned:Ii,gent:Ai,tist:Di,pist:Di,rist:Di,mist:Di,yist:Di,vist:Di,ists:Di,lite:Ai,site:Ai,rite:Ai,mite:Ai,bite:Ai,mate:Ai,date:Ai,ndal:Ai,vent:Ai,uist:Di,gist:Di,note:Ai,cide:Ai,ence:Ai,wide:wi,vide:ki,ract:ki,duce:ki,pose:ki,eive:ki,lyze:ki,lyse:ki,iant:wi,nary:wi,ghty:wi,uent:wi,erer:Di,bury:Fi,dorf:xi,esty:xi,wych:Fi,dale:Fi,folk:Fi},{elist:Di,holic:Ai,phite:Ai,tized:Ii,urned:Ii,eased:Ii,ances:ji,bound:wi,ettes:ji,fully:Ei,ishes:Pi,ities:ji,marek:Ci,nssen:Ci,ology:xi,osome:Ai,tment:Ai,ports:ji,rough:wi,tches:Pi,tieth:"Ordinal",tures:ji,wards:Ei,where:Ei,archy:xi,pathy:xi,opoly:xi,embly:xi,phate:xi,ndent:Ai,scent:Ai,onist:Di,anist:Di,alist:Di,olist:Di,icist:Di,ounce:ki,iable:wi,borne:wi,gnant:wi,inant:wi,igent:wi,atory:wi,rient:Ai,dient:Ai,maker:Di,burgh:Fi,mouth:Fi,ceter:Fi,ville:Fi,worth:xi},{auskas:Ci,parent:Ai,cedent:Ai,ionary:Ai,cklist:Ai,keeper:Di,logist:Di,teenth:"Value",worker:Di,master:Di,writer:Di,brough:Fi,cester:Fi},{logists:Di,opoulos:Ci,borough:Fi,sdottir:Ci}];const Vi="Adjective",zi="Noun",Li="Verb";var Mi=[null,null,{},{neo:zi,bio:zi,"de-":Li,"re-":Li,"un-":Li,"ex-":zi},{anti:zi,auto:zi,faux:Vi,hexa:zi,kilo:zi,mono:zi,nano:zi,octa:zi,poly:zi,semi:Vi,tele:zi,"pro-":Vi,"mis-":Li,"dis-":Li,"pre-":Vi},{anglo:zi,centi:zi,ethno:zi,ferro:zi,grand:zi,hepta:zi,hydro:zi,intro:zi,macro:zi,micro:zi,milli:zi,nitro:zi,penta:zi,quasi:Vi,radio:zi,tetra:zi,"omni-":Vi,"post-":Vi},{pseudo:Vi,"extra-":Vi,"hyper-":Vi,"inter-":Vi,"intra-":Vi,"deca-":Vi},{electro:zi}];const Si="Adjective",$i="Infinitive",Bi="PresentTense",Ji="Singular",Hi="PastTense",Wi="Adverb",Ki="Expression",qi="Actor",Ui="Verb",Qi="Noun",Ri="LastName";var Xi={a:[[/.[aeiou]na$/,Qi,"tuna"],[/.[oau][wvl]ska$/,Ri],[/.[^aeiou]ica$/,Ji,"harmonica"],[/^([hyj]a+)+$/,Ki,"haha"]],c:[[/.[^aeiou]ic$/,Si]],d:[[/[aeiou](pp|ll|ss|ff|gg|tt|rr|bb|nn|mm)ed$/,Hi,"popped"],[/.[aeo]{2}[bdgmnprvz]ed$/,Hi,"rammed"],[/.[aeiou][sg]hed$/,Hi,"gushed"],[/.[aeiou]red$/,Hi,"hired"],[/.[aeiou]r?ried$/,Hi,"hurried"],[/[^aeiou]ard$/,Ji,"steward"],[/[aeiou][^aeiou]id$/,Si,""],[/.[vrl]id$/,Si,"livid"],[/..led$/,Hi,"hurled"],[/.[iao]sed$/,Hi,""],[/[aeiou]n?[cs]ed$/,Hi,""],[/[aeiou][rl]?[mnf]ed$/,Hi,""],[/[aeiou][ns]?c?ked$/,Hi,"bunked"],[/[aeiou]gned$/,Hi],[/[aeiou][nl]?ged$/,Hi],[/.[tdbwxyz]ed$/,Hi],[/[^aeiou][aeiou][tvx]ed$/,Hi],[/.[cdflmnprstv]ied$/,Hi,"emptied"]],e:[[/.[lnr]ize$/,$i,"antagonize"],[/.[^aeiou]ise$/,$i,"antagonise"],[/.[aeiou]te$/,$i,"bite"],[/.[^aeiou][ai]ble$/,Si,"fixable"],[/.[^aeiou]eable$/,Si,"maleable"],[/.[ts]ive$/,Si,"festive"],[/[a-z]-like$/,Si,"woman-like"]],h:[[/.[^aeiouf]ish$/,Si,"cornish"],[/.v[iy]ch$/,Ri,"..ovich"],[/^ug?h+$/,Ki,"ughh"],[/^uh[ -]?oh$/,Ki,"uhoh"],[/[a-z]-ish$/,Si,"cartoon-ish"]],i:[[/.[oau][wvl]ski$/,Ri,"polish-male"]],k:[[/^(k){2}$/,Ki,"kkkk"]],l:[[/.[gl]ial$/,Si,"familial"],[/.[^aeiou]ful$/,Si,"fitful"],[/.[nrtumcd]al$/,Si,"natal"],[/.[^aeiou][ei]al$/,Si,"familial"]],m:[[/.[^aeiou]ium$/,Ji,"magnesium"],[/[^aeiou]ism$/,Ji,"schism"],[/^[hu]m+$/,Ki,"hmm"],[/^\d+ ?[ap]m$/,"Date","3am"]],n:[[/.[lsrnpb]ian$/,Si,"republican"],[/[^aeiou]ician$/,qi,"musician"],[/[aeiou][ktrp]in'$/,"Gerund","cookin'"]],o:[[/^no+$/,Ki,"noooo"],[/^(yo)+$/,Ki,"yoo"],[/^wo{2,}[pt]?$/,Ki,"woop"]],r:[[/.[bdfklmst]ler$/,"Noun"],[/[aeiou][pns]er$/,Ji],[/[^i]fer$/,$i],[/.[^aeiou][ao]pher$/,qi],[/.[lk]er$/,"Noun"],[/.ier$/,"Comparative"]],t:[[/.[di]est$/,"Superlative"],[/.[icldtgrv]ent$/,Si],[/[aeiou].*ist$/,Si],[/^[a-z]et$/,Ui]],s:[[/.[^aeiou]ises$/,Bi],[/.[rln]ates$/,Bi],[/.[^z]ens$/,Ui],[/.[lstrn]us$/,Ji],[/.[aeiou]sks$/,Bi],[/.[aeiou]kes$/,Bi],[/[aeiou][^aeiou]is$/,Ji],[/[a-z]'s$/,Qi],[/^yes+$/,Ki]],v:[[/.[^aeiou][ai][kln]ov$/,Ri]],y:[[/.[cts]hy$/,Si],[/.[st]ty$/,Si],[/.[tnl]ary$/,Si],[/.[oe]ry$/,Ji],[/[rdntkbhs]ly$/,Wi],[/.(gg|bb|zz)ly$/,Si],[/...lly$/,Wi],[/.[gk]y$/,Si],[/[bszmp]{2}y$/,Si],[/.[ai]my$/,Si],[/[ea]{2}zy$/,Si],[/.[^aeiou]ity$/,Ji]]};const Zi="Verb",_i="Noun";var Yi={leftTags:[["Adjective",_i],["Possessive",_i],["Determiner",_i],["Adverb",Zi],["Pronoun",Zi],["Value",_i],["Ordinal",_i],["Modal",Zi],["Superlative",_i],["Demonym",_i],["Honorific","Person"]],leftWords:[["i",Zi],["first",_i],["it",Zi],["there",Zi],["not",Zi],["because",_i],["if",_i],["but",_i],["who",Zi],["this",_i],["his",_i],["when",_i],["you",Zi],["very","Adjective"],["old",_i],["never",Zi],["before",_i],["a",_i],["the",_i],["been",Zi]],rightTags:[["Copula",_i],["PastTense",_i],["Conjunction",_i],["Modal",_i]],rightWords:[["there",Zi],["me",Zi],["man","Adjective"],["him",Zi],["it",Zi],["were",_i],["took",_i],["himself",Zi],["went",_i],["who",_i],["jr","Person"]]},es={fwd:"3:ser,ier¦1er:h,t,f,l,n¦1r:e¦2er:ss,or,om",both:"3er:ver,ear,alm¦3ner:hin¦3ter:lat¦2mer:im¦2er:ng,rm,mb¦2ber:ib¦2ger:ig¦1er:w,p,k,d¦ier:y",rev:"1:tter,yer¦2:uer,ver,ffer,oner,eler,ller,iler,ster,cer,uler,sher,ener,gher,aner,adder,nter,eter,rter,hter,rner,fter¦3:oser,ooler,eafer,user,airer,bler,maler,tler,eater,uger,rger,ainer,urer,ealer,icher,pler,emner,icter,nser,iser¦4:arser,viner,ucher,rosser,somer,ndomer,moter,oother,uarer,hiter¦5:nuiner,esser,emier¦ar:urther",ex:"worse:bad¦better:good¦4er:fair,gray,poor¦1urther:far¦3ter:fat,hot,wet¦3er:lay,shy,fun¦3der:mad,sad¦4der:glad¦:¦4r:cute,dire,fake,fine,free,lame,late,pale,rare,ripe,rude,safe,sore,tame,wide¦5r:eerie,stale"},ts={fwd:"1:nning,tting,rring,pping,eing,mming,gging,dding,bbing,kking¦2:eking,oling,eling,eming¦3:velling,siting,uiting,fiting,loting,geting,ialing,celling¦4:graming",both:"1:aing,iing,fing,xing,ying,oing,hing,wing¦2:tzing,rping,izzing,bting,mning,sping,wling,rling,wding,rbing,uping,lming,wning,mping,oning,lting,mbing,lking,fting,hting,sking,gning,pting,cking,ening,nking,iling,eping,ering,rting,rming,cting,lping,ssing,nting,nding,lding,sting,rning,rding,rking¦3:belling,siping,toming,yaking,uaking,oaning,auling,ooping,aiding,naping,euring,tolling,uzzing,ganing,haning,ualing,halling,iasing,auding,ieting,ceting,ouling,voring,ralling,garing,joring,oaming,oaking,roring,nelling,ooring,uelling,eaming,ooding,eaping,eeting,ooting,ooming,xiting,keting,ooking,ulling,airing,oaring,biting,outing,oiting,earing,naling,oading,eeding,ouring,eaking,aiming,illing,oining,eaning,onging,ealing,aining,eading¦4:thoming,melling,aboring,ivoting,weating,dfilling,onoring,eriting,imiting,tialling,rgining,otoring,linging,winging,lleting,louding,spelling,mpelling,heating,feating,opelling,choring,welling,ymaking,ctoring,calling,peating,iloring,laiting,utoring,uditing,mmaking,loating,iciting,waiting,mbating,voiding,otalling,nsoring,nselling,ocusing,itoring,eloping¦5:rselling,umpeting,atrolling,treating,tselling,rpreting,pringing,ummeting,ossoming,elmaking,eselling,rediting,totyping,onmaking,rfeiting,ntrolling¦5e:chmaking,dkeeping,severing,erouting,ecreting,ephoning,uthoring,ravening,reathing,pediting,erfering,eotyping,fringing,entoring,ombining,ompeting¦4e:emaking,eething,twining,rruling,chuting,xciting,rseding,scoping,edoring,pinging,lunging,agining,craping,pleting,eleting,nciting,nfining,ncoding,tponing,ecoding,writing,esaling,nvening,gnoring,evoting,mpeding,rvening,dhering,mpiling,storing,nviting,ploring¦3e:tining,nuring,saking,miring,haling,ceding,xuding,rining,nuting,laring,caring,miling,riding,hoking,piring,lading,curing,uading,noting,taping,futing,paring,hading,loding,siring,guring,vading,voking,during,niting,laning,caping,luting,muting,ruding,ciding,juring,laming,caling,hining,uoting,liding,ciling,duling,tuting,puting,cuting,coring,uiding,tiring,turing,siding,rading,enging,haping,buting,lining,taking,anging,haring,uiring,coming,mining,moting,suring,viding,luding¦2e:tring,zling,uging,oging,gling,iging,vring,fling,lging,obing,psing,pling,ubing,cling,dling,wsing,iking,rsing,dging,kling,ysing,tling,rging,eging,nsing,uning,osing,uming,using,ibing,bling,aging,ising,asing,ating¦2ie:rlying¦1e:zing,uing,cing,ving",rev:"ying:ie¦1ing:se,ke,te,we,ne,re,de,pe,me,le,c,he¦2ing:ll,ng,dd,ee,ye,oe,rg,us¦2ning:un¦2ging:og,ag,ug,ig,eg¦2ming:um¦2bing:ub,ab,eb,ob¦3ning:lan,can,hin,pin,win¦3ring:cur,lur,tir,tar,pur,car¦3ing:ait,del,eel,fin,eat,oat,eem,lel,ool,ein,uin¦3ping:rop,rap,top,uip,wap,hip,hop,lap,rip,cap¦3ming:tem,wim,rim,kim,lim¦3ting:mat,cut,pot,lit,lot,hat,set,pit,put¦3ding:hed,bed,bid¦3king:rek¦3ling:cil,pel¦3bing:rib¦4ning:egin¦4ing:isit,ruit,ilot,nsit,dget,rkel,ival,rcel¦4ring:efer,nfer¦4ting:rmit,mmit,ysit,dmit,emit,bmit,tfit,gret¦4ling:evel,xcel,ivel¦4ding:hred¦5ing:arget,posit,rofit¦5ring:nsfer¦5ting:nsmit,orget,cquit¦5ling:ancel,istil",ex:"3:adding,eating,aiming,aiding,airing,outing,gassing,setting,getting,putting,cutting,winning,sitting,betting,mapping,tapping,letting,bidding,hitting,tanning,netting,popping,fitting,capping,lapping,barring,banning,vetting,topping,rotting,tipping,potting,wetting,pitting,dipping,budding,hemming,pinning,jetting,kidding,padding,podding,sipping,wedding,bedding,donning,warring,penning,gutting,cueing,wadding,petting,ripping,napping,matting,tinning,binning,dimming,hopping,mopping,nodding,panning,rapping,ridding,sinning¦4:selling,falling,calling,waiting,editing,telling,rolling,heating,boating,hanging,beating,coating,singing,tolling,felling,polling,discing,seating,voiding,gelling,yelling,baiting,reining,ruining,seeking,spanning,stepping,knitting,emitting,slipping,quitting,dialing,omitting,clipping,shutting,skinning,abutting,flipping,trotting,cramming,fretting,suiting¦5:bringing,treating,spelling,stalling,trolling,expelling,rivaling,wringing,deterring,singeing,befitting,refitting¦6:enrolling,distilling,scrolling,strolling,caucusing,travelling¦7:installing,redefining,stencilling,recharging,overeating,benefiting,unraveling,programing¦9:reprogramming¦is:being¦2e:using,aging,owing¦3e:making,taking,coming,noting,hiring,filing,coding,citing,doping,baking,coping,hoping,lading,caring,naming,voting,riding,mining,curing,lining,ruling,typing,boring,dining,firing,hiding,piling,taping,waning,baling,boning,faring,honing,wiping,luring,timing,wading,piping,fading,biting,zoning,daring,waking,gaming,raking,ceding,tiring,coking,wining,joking,paring,gaping,poking,pining,coring,liming,toting,roping,wiring,aching¦4e:writing,storing,eroding,framing,smoking,tasting,wasting,phoning,shaking,abiding,braking,flaking,pasting,priming,shoring,sloping,withing,hinging¦5e:defining,refining,renaming,swathing,fringing,reciting¦1ie:dying,tying,lying,vying¦7e:sunbathing"},ns={fwd:"1:mt¦2:llen¦3:iven,aken¦:ne¦y:in",both:"1:wn¦2:me,aten¦3:seen,bidden,isen¦4:roven,asten¦3l:pilt¦3d:uilt¦2e:itten¦1im:wum¦1eak:poken¦1ine:hone¦1ose:osen¦1in:gun¦1ake:woken¦ear:orn¦eal:olen¦eeze:ozen¦et:otten¦ink:unk¦ing:ung",rev:"2:un¦oken:eak¦ought:eek¦oven:eave¦1ne:o¦1own:ly¦1den:de¦1in:ay¦2t:am¦2n:ee¦3en:all¦4n:rive,sake,take¦5n:rgive",ex:"2:been¦3:seen,run¦4:given,taken¦5:shaken¦2eak:broken¦1ive:dove¦2y:flown¦3e:hidden,ridden¦1eek:sought¦1ake:woken¦1eave:woven"},as={fwd:"1:oes¦1ve:as",both:"1:xes¦2:zzes,ches,shes,sses¦3:iases¦2y:llies,plies¦1y:cies,bies,ties,vies,nies,pies,dies,ries,fies¦:s",rev:"1ies:ly¦2es:us,go,do¦3es:cho,eto",ex:"2:does,goes¦3:gasses¦5:focuses¦is:are¦3y:relies¦2y:flies¦2ve:has"},rs={fwd:"1st:e¦1est:l,m,f,s¦1iest:cey¦2est:or,ir¦3est:ver",both:"4:east¦5:hwest¦5lest:erful¦4est:weet,lgar,tter,oung¦4most:uter¦3est:ger,der,rey,iet,ong,ear¦3test:lat¦3most:ner¦2est:pt,ft,nt,ct,rt,ht¦2test:it¦2gest:ig¦1est:b,k,n,p,h,d,w¦iest:y",rev:"1:ttest,nnest,yest¦2:sest,stest,rmest,cest,vest,lmest,olest,ilest,ulest,ssest,imest,uest¦3:rgest,eatest,oorest,plest,allest,urest,iefest,uelest,blest,ugest,amest,yalest,ealest,illest,tlest,itest¦4:cerest,eriest,somest,rmalest,ndomest,motest,uarest,tiffest¦5:leverest,rangest¦ar:urthest¦3ey:riciest",ex:"best:good¦worst:bad¦5est:great¦4est:fast,full,fair,dull¦3test:hot,wet,fat¦4nest:thin¦1urthest:far¦3est:gay,shy,ill¦4test:neat¦4st:late,wide,fine,safe,cute,fake,pale,rare,rude,sore,ripe,dire¦6st:severe"},os={fwd:"1:tistic,eable,lful,sful,ting,tty¦2:onate,rtable,geous,ced,seful,ctful¦3:ortive,ented¦arity:ear¦y:etic¦fulness:begone¦1ity:re¦1y:tiful,gic¦2ity:ile,imous,ilous,ime¦2ion:ated¦2eness:iving¦2y:trious¦2ation:iring¦2tion:vant¦3ion:ect¦3ce:mant,mantic¦3tion:irable¦3y:est,estic¦3m:mistic,listic¦3ess:ning¦4n:utious¦4on:rative,native,vative,ective¦4ce:erant",both:"1:king,wing¦2:alous,ltuous,oyful,rdous¦3:gorous,ectable,werful,amatic¦4:oised,usical,agical,raceful,ocused,lined,ightful¦5ness:stful,lding,itous,nuous,ulous,otous,nable,gious,ayful,rvous,ntous,lsive,peful,entle,ciful,osive,leful,isive,ncise,reful,mious¦5ty:ivacious¦5ties:ubtle¦5ce:ilient,adiant,atient¦5cy:icient¦5sm:gmatic¦5on:sessive,dictive¦5ity:pular,sonal,eative,entic¦5sity:uminous¦5ism:conic¦5nce:mperate¦5ility:mitable¦5ment:xcited¦5n:bitious¦4cy:brant,etent,curate¦4ility:erable,acable,icable,ptable¦4ty:nacious,aive,oyal,dacious¦4n:icious¦4ce:vient,erent,stent,ndent,dient,quent,ident¦4ness:adic,ound,hing,pant,sant,oing,oist,tute¦4icity:imple¦4ment:fined,mused¦4ism:otic¦4ry:dantic¦4ity:tund,eral¦4edness:hand¦4on:uitive¦4lity:pitable¦4sm:eroic,namic¦4sity:nerous¦3th:arm¦3ility:pable,bable,dable,iable¦3cy:hant,nant,icate¦3ness:red,hin,nse,ict,iet,ite,oud,ind,ied,rce¦3ion:lute¦3ity:ual,gal,volous,ial¦3ce:sent,fensive,lant,gant,gent,lent,dant¦3on:asive¦3m:fist,sistic,iastic¦3y:terious,xurious,ronic,tastic¦3ur:amorous¦3e:tunate¦3ation:mined¦3sy:rteous¦3ty:ain¦3ry:ave¦3ment:azed¦2ness:de,on,ue,rn,ur,ft,rp,pe,om,ge,rd,od,ay,ss,er,ll,oy,ap,ht,ld,ad,rt¦2inousness:umous¦2ity:neous,ene,id,ane¦2cy:bate,late¦2ation:ized¦2ility:oble,ible¦2y:odic¦2e:oving,aring¦2s:ost¦2itude:pt¦2dom:ee¦2ance:uring¦2tion:reet¦2ion:oted¦2sion:ending¦2liness:an¦2or:rdent¦1th:ung¦1e:uable¦1ness:w,h,k,f¦1ility:mble¦1or:vent¦1ement:ging¦1tiquity:ncient¦1ment:hed¦verty:or¦ength:ong¦eat:ot¦pth:ep¦iness:y",rev:"",ex:"5:forceful,humorous¦8:charismatic¦13:understanding¦5ity:active¦11ness:adventurous,inquisitive,resourceful¦8on:aggressive,automatic,perceptive¦7ness:amorous,fatuous,furtive,ominous,serious¦5ness:ample,sweet¦12ness:apprehensive,cantankerous,contemptuous,ostentatious¦13ness:argumentative,conscientious¦9ness:assertive,facetious,imperious,inventive,oblivious,rapacious,receptive,seditious,whimsical¦10ness:attractive,expressive,impressive,loquacious,salubrious,thoughtful¦3edom:boring¦4ness:calm,fast,keen,tame¦8ness:cheerful,gracious,specious,spurious,timorous,unctuous¦5sity:curious¦9ion:deliberate¦8ion:desperate¦6e:expensive¦7ce:fragrant¦3y:furious¦9ility:ineluctable¦6ism:mystical¦8ity:physical,proactive,sensitive,vertical¦5cy:pliant¦7ity:positive¦9ity:practical¦12ism:professional¦6ce:prudent¦3ness:red¦6cy:vagrant¦3dom:wise"};var is=function(e="",t={}){let n=function(e,t={}){return t.hasOwnProperty(e)?t[e]:null}(e,t.ex);return n=n||function(e,t=[]){for(let n=0;n=1;a-=1){let r=e.length-a,o=e.substring(r,e.length);if(!0===t.hasOwnProperty(o))return e.slice(0,r)+t[o];if(!0===n.hasOwnProperty(o))return e.slice(0,r)+n[o]}return t.hasOwnProperty("")?e+t[""]:n.hasOwnProperty("")?e+n[""]:null}(e,t.fwd,t.both),n=n||e,n};const ss=function(e){return Object.entries(e).reduce(((e,t)=>(e[t[1]]=t[0],e)),{})};var ls=function(e={}){return{reversed:!0,both:ss(e.both),ex:ss(e.ex),fwd:e.rev||{}}};const us=/^([0-9]+)/,cs=function(e){let t=function(e){let t={};return e.split("¦").forEach((e=>{let[n,a]=e.split(":");a=(a||"").split(","),a.forEach((e=>{t[e]=n}))})),t}(e);return Object.keys(t).reduce(((e,n)=>(e[n]=function(e="",t=""){let n=(t=String(t)).match(us);if(null===n)return t;let a=Number(n[1])||0;return e.substring(0,a)+t.replace(us,"")}(n,t[n]),e)),{})};var ds=function(e={}){return"string"==typeof e&&(e=JSON.parse(e)),e.fwd=cs(e.fwd||""),e.both=cs(e.both||""),e.rev=cs(e.rev||""),e.ex=cs(e.ex||""),e};const hs=ds({fwd:"1:tted,wed,gged,nned,een,rred,pped,yed,bbed,oed,dded,rd,wn,mmed¦2:eed,nded,et,hted,st,oled,ut,emed,eled,lded,ken,rt,nked,apt,ant,eped,eked¦3:eared,eat,eaded,nelled,ealt,eeded,ooted,eaked,eaned,eeted,mited,bid,uit,ead,uited,ealed,geted,velled,ialed,belled¦4:ebuted,hined,comed¦y:ied¦ome:ame¦ear:ore¦ind:ound¦ing:ung,ang¦ep:pt¦ink:ank,unk¦ig:ug¦all:ell¦ee:aw¦ive:ave¦eeze:oze¦old:eld¦ave:ft¦ake:ook¦ell:old¦ite:ote¦ide:ode¦ine:one¦in:un,on¦eal:ole¦im:am¦ie:ay¦and:ood¦1ise:rose¦1eak:roke¦1ing:rought¦1ive:rove¦1el:elt¦1id:bade¦1et:got¦1y:aid¦1it:sat¦3e:lid¦3d:pent",both:"1:aed,fed,xed,hed¦2:sged,xted,wled,rped,lked,kied,lmed,lped,uped,bted,rbed,rked,wned,rled,mped,fted,mned,mbed,zzed,omed,ened,cked,gned,lted,sked,ued,zed,nted,ered,rted,rmed,ced,sted,rned,ssed,rded,pted,ved,cted¦3:cled,eined,siped,ooned,uked,ymed,jored,ouded,ioted,oaned,lged,asped,iged,mured,oided,eiled,yped,taled,moned,yled,lit,kled,oaked,gled,naled,fled,uined,oared,valled,koned,soned,aided,obed,ibed,meted,nicked,rored,micked,keted,vred,ooped,oaded,rited,aired,auled,filled,ouled,ooded,ceted,tolled,oited,bited,aped,tled,vored,dled,eamed,nsed,rsed,sited,owded,pled,sored,rged,osed,pelled,oured,psed,oated,loned,aimed,illed,eured,tred,ioned,celled,bled,wsed,ooked,oiled,itzed,iked,iased,onged,ased,ailed,uned,umed,ained,auded,nulled,ysed,eged,ised,aged,oined,ated,used,dged,doned¦4:ntied,efited,uaked,caded,fired,roped,halled,roked,himed,culed,tared,lared,tuted,uared,routed,pited,naked,miled,houted,helled,hared,cored,caled,tired,peated,futed,ciled,called,tined,moted,filed,sided,poned,iloted,honed,lleted,huted,ruled,cured,named,preted,vaded,sured,talled,haled,peded,gined,nited,uided,ramed,feited,laked,gured,ctored,unged,pired,cuted,voked,eloped,ralled,rined,coded,icited,vided,uaded,voted,mined,sired,noted,lined,nselled,luted,jured,fided,puted,piled,pared,olored,cided,hoked,enged,tured,geoned,cotted,lamed,uiled,waited,udited,anged,luded,mired,uired,raded¦5:modelled,izzled,eleted,umpeted,ailored,rseded,treated,eduled,ecited,rammed,eceded,atrolled,nitored,basted,twined,itialled,ncited,gnored,ploded,xcited,nrolled,namelled,plored,efeated,redited,ntrolled,nfined,pleted,llided,lcined,eathed,ibuted,lloted,dhered,cceded¦3ad:sled¦2aw:drew¦2ot:hot¦2ke:made¦2ow:hrew,grew¦2ose:hose¦2d:ilt¦2in:egan¦1un:ran¦1ink:hought¦1ick:tuck¦1ike:ruck¦1eak:poke,nuck¦1it:pat¦1o:did¦1ow:new¦1ake:woke¦go:went",rev:"3:rst,hed,hut,cut,set¦4:tbid¦5:dcast,eread,pread,erbid¦ought:uy,eek¦1ied:ny,ly,dy,ry,fy,py,vy,by,ty,cy¦1ung:ling,ting,wing¦1pt:eep¦1ank:rink¦1ore:bear,wear¦1ave:give¦1oze:reeze¦1ound:rind,wind¦1ook:take,hake¦1aw:see¦1old:sell¦1ote:rite¦1ole:teal¦1unk:tink¦1am:wim¦1ay:lie¦1ood:tand¦1eld:hold¦2d:he,ge,re,le,leed,ne,reed,be,ye,lee,pe,we¦2ed:dd,oy,or,ey,gg,rr,us,ew,to¦2ame:ecome,rcome¦2ped:ap¦2ged:ag,og,ug,eg¦2bed:ub,ab,ib,ob¦2lt:neel¦2id:pay¦2ang:pring¦2ove:trive¦2med:um¦2ode:rride¦2at:ysit¦3ted:mit,hat,mat,lat,pot,rot,bat¦3ed:low,end,tow,und,ond,eem,lay,cho,dow,xit,eld,ald,uld,law,lel,eat,oll,ray,ank,fin,oam,out,how,iek,tay,haw,ait,vet,say,cay,bow¦3d:ste,ede,ode,ete,ree,ude,ame,oke,ote,ime,ute,ade¦3red:lur,cur,pur,car¦3ped:hop,rop,uip,rip,lip,tep,top¦3ded:bed,rod,kid¦3ade:orbid¦3led:uel¦3ned:lan,can,kin,pan,tun¦3med:rim,lim¦4ted:quit,llot¦4ed:pear,rrow,rand,lean,mand,anel,pand,reet,link,abel,evel,imit,ceed,ruit,mind,peal,veal,hool,head,pell,well,mell,uell,band,hear,weak¦4led:nnel,qual,ebel,ivel¦4red:nfer,efer,sfer¦4n:sake,trew¦4d:ntee¦4ded:hred¦4ned:rpin¦5ed:light,nceal,right,ndear,arget,hread,eight,rtial,eboot¦5d:edite,nvite¦5ted:egret¦5led:ravel",ex:"2:been,upped¦3:added,aged,aided,aimed,aired,bid,died,dyed,egged,erred,eyed,fit,gassed,hit,lied,owed,pent,pied,tied,used,vied,oiled,outed,banned,barred,bet,canned,cut,dipped,donned,ended,feed,inked,jarred,let,manned,mowed,netted,padded,panned,pitted,popped,potted,put,set,sewn,sowed,tanned,tipped,topped,vowed,weed,bowed,jammed,binned,dimmed,hopped,mopped,nodded,pinned,rigged,sinned,towed,vetted¦4:ached,baked,baled,boned,bored,called,caned,cared,ceded,cited,coded,cored,cubed,cured,dared,dined,edited,exited,faked,fared,filed,fined,fired,fuelled,gamed,gelled,hired,hoped,joked,lined,mined,named,noted,piled,poked,polled,pored,pulled,reaped,roamed,rolled,ruled,seated,shed,sided,timed,tolled,toned,voted,waited,walled,waned,winged,wiped,wired,zoned,yelled,tamed,lubed,roped,faded,mired,caked,honed,banged,culled,heated,raked,welled,banded,beat,cast,cooled,cost,dealt,feared,folded,footed,handed,headed,heard,hurt,knitted,landed,leaked,leapt,linked,meant,minded,molded,neared,needed,peaked,plodded,plotted,pooled,quit,read,rooted,sealed,seeded,seeped,shipped,shunned,skimmed,slammed,sparred,stemmed,stirred,suited,thinned,twinned,swayed,winked,dialed,abutted,blotted,fretted,healed,heeded,peeled,reeled¦5:basted,cheated,equalled,eroded,exiled,focused,opined,pleated,primed,quoted,scouted,shored,sloped,smoked,sniped,spelled,spouted,routed,staked,stored,swelled,tasted,treated,wasted,smelled,dwelled,honored,prided,quelled,eloped,scared,coveted,sweated,breaded,cleared,debuted,deterred,freaked,modeled,pleaded,rebutted,speeded¦6:anchored,defined,endured,impaled,invited,refined,revered,strolled,cringed,recast,thrust,unfolded¦7:authored,combined,competed,conceded,convened,excreted,extruded,redefined,restored,secreted,rescinded,welcomed¦8:expedited,infringed¦9:interfered,intervened,persevered¦10:contravened¦eat:ate¦is:was¦go:went¦are:were¦3d:bent,lent,rent,sent¦3e:bit,fled,hid,lost¦3ed:bled,bred¦2ow:blew,grew¦1uy:bought¦2tch:caught¦1o:did¦1ive:dove,gave¦2aw:drew¦2ed:fed¦2y:flew,laid,paid,said¦1ight:fought¦1et:got¦2ve:had¦1ang:hung¦2ad:led¦2ght:lit¦2ke:made¦2et:met¦1un:ran¦1ise:rose¦1it:sat¦1eek:sought¦1each:taught¦1ake:woke,took¦1eave:wove¦2ise:arose¦1ear:bore,tore,wore¦1ind:bound,found,wound¦2eak:broke¦2ing:brought,wrung¦1ome:came¦2ive:drove¦1ig:dug¦1all:fell¦2el:felt¦4et:forgot¦1old:held¦2ave:left¦1ing:rang,sang¦1ide:rode¦1ink:sank¦1ee:saw¦2ine:shone¦4e:slid¦1ell:sold,told¦4d:spent¦2in:spun¦1in:won"}),gs=ds(as),ms=ds(ts),ps=ds(ns),fs=ls(hs),bs=ls(gs),vs=ls(ms),ys=ls(ps),ws=ds(es),ks=ds(rs);var Ps={fromPast:hs,fromPresent:gs,fromGerund:ms,fromParticiple:ps,toPast:fs,toPresent:bs,toGerund:vs,toParticiple:ys,toComparative:ws,toSuperlative:ks,fromComparative:ls(ws),fromSuperlative:ls(ks),adjToNoun:ds(os)},As=["academy","administration","agence","agences","agencies","agency","airlines","airways","army","assoc","associates","association","assurance","authority","autorite","aviation","bank","banque","board","boys","brands","brewery","brotherhood","brothers","bureau","cafe","co","caisse","capital","care","cathedral","center","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","corp","council","crew","data","departement","department","departments","design","development","directorate","division","drilling","education","eglise","electric","electricity","energy","ensemble","enterprise","enterprises","entertainment","estate","etat","faculty","federation","financial","fm","foundation","fund","gas","gazette","girls","government","group","guild","herald","holdings","hospital","hotel","hotels","inc","industries","institut","institute","institutes","insurance","international","interstate","investment","investments","investors","journal","laboratory","labs","llc","ltd","limited","machines","magazine","management","marine","marketing","markets","media","memorial","ministere","ministry","military","mobile","motor","motors","musee","museum","news","observatory","office","oil","optical","orchestra","organization","partners","partnership","petrol","petroleum","pharmacare","pharmaceutical","pharmaceuticals","pizza","plc","police","polytechnic","post","power","press","productions","quartet","radio","reserve","resources","restaurant","restaurants","savings","school","securities","service","services","societe","society","sons","subcommittee","syndicat","systems","telecommunications","telegraph","television","times","tribunal","tv","union","university","utilities","workers"].reduce(((e,t)=>(e[t]=!0,e)),{}),Is=[[/([^v])ies$/i,"$1y"],[/(ise)s$/i,"$1"],[/(kn|[^o]l|w)ives$/i,"$1ife"],[/^((?:ca|e|ha|(?:our|them|your)?se|she|wo)l|lea|loa|shea|thie)ves$/i,"$1f"],[/^(dwar|handkerchie|hoo|scar|whar)ves$/i,"$1f"],[/(antenn|formul|nebul|vertebr|vit)ae$/i,"$1a"],[/(octop|vir|radi|nucle|fung|cact|stimul)(i)$/i,"$1us"],[/(buffal|tomat|tornad)(oes)$/i,"$1o"],[/(ause)s$/i,"$1"],[/(ease)s$/i,"$1"],[/(ious)es$/i,"$1"],[/(ouse)s$/i,"$1"],[/(ose)s$/i,"$1"],[/(..ase)s$/i,"$1"],[/(..[aeiu]s)es$/i,"$1"],[/(vert|ind|cort)(ices)$/i,"$1ex"],[/(matr|append)(ices)$/i,"$1ix"],[/([xo]|ch|ss|sh)es$/i,"$1"],[/men$/i,"man"],[/(n)ews$/i,"$1ews"],[/([ti])a$/i,"$1um"],[/([^aeiouy]|qu)ies$/i,"$1y"],[/(s)eries$/i,"$1eries"],[/(m)ovies$/i,"$1ovie"],[/(cris|ax|test)es$/i,"$1is"],[/(alias|status)es$/i,"$1"],[/(ss)$/i,"$1"],[/(ic)s$/i,"$1"],[/s$/i,""]];var Es=function(e,t){const{irregularPlurals:n}=t.two;let a=(r=n,Object.keys(r).reduce(((e,t)=>(e[r[t]]=t,e)),{}));var r;if(a.hasOwnProperty(e))return a[e];for(let t=0;t(Ds[t].forEach((n=>e[n]=t)),e)),{});var Ns=Ds;var xs=function(e){let t=e.substring(e.length-3);if(!0===Ns.hasOwnProperty(t))return Ns[t];let n=e.substring(e.length-2);return!0===Ns.hasOwnProperty(n)?Ns[n]:"s"===e.substring(e.length-1)?"PresentTense":null};const Cs={are:"be",were:"be",been:"be",is:"be",am:"be",was:"be",be:"be",being:"be"};var Ts=function(e,t,n){const{fromPast:a,fromPresent:r,fromGerund:o,fromParticiple:i}=t.two.models;let{prefix:s,verb:l,particle:u}=function(e,t){let n="",a={};t.one&&t.one.prefixes&&(a=t.one.prefixes);let[r,o]=e.split(/ /);return o&&!0===a[r]&&(n=r,r=o,o=""),{prefix:n,verb:r,particle:o}}(e,t),c="";if(n||(n=xs(e)),Cs.hasOwnProperty(e))c=Cs[e];else if("Participle"===n)c=is(l,i);else if("PastTense"===n)c=is(l,a);else if("PresentTense"===n)c=is(l,r);else{if("Gerund"!==n)return e;c=is(l,o)}return u&&(c+=" "+u),s&&(c=s+" "+c),c};var Fs=function(e,t){const{toPast:n,toPresent:a,toGerund:r,toParticiple:o}=t.two.models;if("be"===e)return{Infinitive:e,Gerund:"being",PastTense:"was",PresentTense:"is"};let[i,s]=(e=>/ /.test(e)?e.split(/ /):[e,""])(e),l={Infinitive:i,PastTense:is(i,n),PresentTense:is(i,a),Gerund:is(i,r),FutureTense:"will "+i},u=is(i,o);if(u!==e&&u!==l.PastTense){let n=t.one.lexicon||{};"Participle"!==n[u]&&"Adjective"!==n[u]||("play"===e&&(u="played"),l.Participle=u)}return s&&Object.keys(l).forEach((e=>{l[e]+=" "+s})),l};var Os={toInfinitive:Ts,conjugate:Fs,all:function(e,t){let n=Fs(e,t);return delete n.FutureTense,Object.values(n).filter((e=>e))}};const Gs=function(e,t){const n=t.two.models.toSuperlative;return is(e,n)},Vs=function(e,t){const n=t.two.models.toComparative;return is(e,n)};var zs=function(e="",t=[]){const n=e.length;for(let a=n<=6?n-1:6;a>=1;a-=1){let r=e.substring(n-a,e.length);if(!0===t[r.length].hasOwnProperty(r)){return e.slice(0,n-a)+t[r.length][r]}}return null};const Ls="ically",Ms=new Set(["analyt"+Ls,"chem"+Ls,"class"+Ls,"clin"+Ls,"crit"+Ls,"ecolog"+Ls,"electr"+Ls,"empir"+Ls,"frant"+Ls,"grammat"+Ls,"ident"+Ls,"ideolog"+Ls,"log"+Ls,"mag"+Ls,"mathemat"+Ls,"mechan"+Ls,"med"+Ls,"method"+Ls,"method"+Ls,"mus"+Ls,"phys"+Ls,"phys"+Ls,"polit"+Ls,"pract"+Ls,"rad"+Ls,"satir"+Ls,"statist"+Ls,"techn"+Ls,"technolog"+Ls,"theoret"+Ls,"typ"+Ls,"vert"+Ls,"whims"+Ls]),Ss=[null,{},{ly:""},{ily:"y",bly:"ble",ply:"ple"},{ally:"al",rply:"rp"},{ually:"ual",ially:"ial",cally:"cal",eally:"eal",rally:"ral",nally:"nal",mally:"mal",eeply:"eep",eaply:"eap"},{ically:"ic"}],$s=new Set(["early","only","hourly","daily","weekly","monthly","yearly","mostly","duly","unduly","especially","undoubtedly","conversely","namely","exceedingly","presumably","accordingly","overly","best","latter","little","long","low"]),Bs={wholly:"whole",fully:"full",truly:"true",gently:"gentle",singly:"single",customarily:"customary",idly:"idle",publically:"public",quickly:"quick",superbly:"superb",cynically:"cynical",well:"good"};const Js=[null,{y:"ily"},{ly:"ly",ic:"ically"},{ial:"ially",ual:"ually",tle:"tly",ble:"bly",ple:"ply",ary:"arily"},{},{},{}],Hs={cool:"cooly",whole:"wholly",full:"fully",good:"well",idle:"idly",public:"publicly",single:"singly",special:"especially"};var Ws=function(e){if(Hs.hasOwnProperty(e))return Hs[e];let t=zs(e,Js);return t||(t=e+"ly"),t};var Ks={toSuperlative:Gs,toComparative:Vs,toAdverb:Ws,toNoun:function(e,t){const n=t.two.models.adjToNoun;return is(e,n)},fromAdverb:function(e){return e.endsWith("ly")?Ms.has(e)?e.replace(/ically/,"ical"):$s.has(e)?null:Bs.hasOwnProperty(e)?Bs[e]:zs(e,Ss)||e:null},fromSuperlative:function(e,t){const n=t.two.models.fromSuperlative;return is(e,n)},fromComparative:function(e,t){const n=t.two.models.fromComparative;return is(e,n)},all:function(e,t){let n=[e];return n.push(Gs(e,t)),n.push(Vs(e,t)),n.push(Ws(e)),n=n.filter((e=>e)),n=new Set(n),Array.from(n)}},qs={noun:js,verb:Os,adjective:Ks},Us={Singular:(e,t,n,a)=>{let r=a.one.lexicon,o=n.two.transform.noun.toPlural(e,a);r[o]||(t[o]=t[o]||"Plural")},Actor:(e,t,n,a)=>{let r=a.one.lexicon,o=n.two.transform.noun.toPlural(e,a);r[o]||(t[o]=t[o]||["Plural","Actor"])},Comparable:(e,t,n,a)=>{let r=a.one.lexicon,{toSuperlative:o,toComparative:i}=n.two.transform.adjective,s=o(e,a);r[s]||(t[s]=t[s]||"Superlative");let l=i(e,a);r[l]||(t[l]=t[l]||"Comparative"),t[e]="Adjective"},Demonym:(e,t,n,a)=>{let r=n.two.transform.noun.toPlural(e,a);t[r]=t[r]||["Demonym","Plural"]},Infinitive:(e,t,n,a)=>{let r=a.one.lexicon,o=n.two.transform.verb.conjugate(e,a);Object.entries(o).forEach((e=>{r[e[1]]||t[e[1]]||(t[e[1]]=e[0])}))},PhrasalVerb:(e,t,n,a)=>{let r=a.one.lexicon;t[e]=["PhrasalVerb","Infinitive"];let o=a.one._multiCache,[i,s]=e.split(" ");r[i]||(t[i]=t[i]||"Infinitive");let l=n.two.transform.verb.conjugate(i,a);delete l.FutureTense,Object.entries(l).forEach((e=>{if("Actor"===e[0]||""===e[1])return;t[e[1]]||r[e[1]]||(t[e[1]]=e[0]),o[e[1]]=!0;let n=e[1]+" "+s;t[n]=t[n]||[e[0],"PhrasalVerb"]}))},Multiple:(e,t)=>{t[e]=["Multiple","Cardinal"],t[e+"th"]=["Multiple","Ordinal"],t[e+"ths"]=["Multiple","Fraction"]},Cardinal:(e,t)=>{t[e]=["TextValue","Cardinal"]},Ordinal:(e,t)=>{t[e]=["TextValue","Ordinal"],t[e+"s"]=["TextValue","Fraction"]},Place:(e,t)=>{t[e]=["Place","ProperNoun"]},Region:(e,t)=>{t[e]=["Region","ProperNoun"]}};var Qs=function(e,t){const{methods:n,model:a}=t;let r={},o={};return Object.keys(e).forEach((t=>{let i=e[t],s=(t=(t=t.toLowerCase().trim()).replace(/'s\b/,"")).split(/ /);s.length>1&&(o[s[0]]=!0),!0===Us.hasOwnProperty(i)&&Us[i](t,r,n,a),r[t]=r[t]||i})),delete r[""],delete r.null,delete r[" "],{lex:r,_multi:o}};var Rs=function(e){const t=/[,:;]/;let n=[];return e.forEach((e=>{let a=0;e.forEach(((r,o)=>{t.test(r.post)&&function(e,t){const n=/^[0-9]+$/;let a=e[t];if(!a)return!1;const r=new Set(["may","april","august","jan"]);if("like"===a.normal||r.has(a.normal))return!1;if(a.tags.has("Place")||a.tags.has("Date"))return!1;if(e[t-1]){let n=e[t-1];if(n.tags.has("Date")||r.has(n.normal))return!1;if(n.tags.has("Adjective")||a.tags.has("Adjective"))return!1}let o=a.normal;return 1!==o.length&&2!==o.length&&4!==o.length||!n.test(o)}(e,o+1)&&(n.push(e.slice(a,o+1)),a=o+1)})),ae.endsWith(t))):"s"===t&&!_s.find((t=>e.endsWith(t)))},el={two:{quickSplit:Rs,expandLexicon:Qs,transform:qs,looksPlural:Ys}};var tl=function(e){const{irregularPlurals:t}=e.two,{lexicon:n}=e.one;return Object.entries(t).forEach((e=>{n[e[0]]=n[e[0]]||"Singular",n[e[1]]=n[e[1]]||"Plural"})),e};let nl={one:{lexicon:{}},two:{models:Ps}};const al={"Actor|Verb":"Actor","Adj|Gerund":"Adjective","Adj|Noun":"Adjective","Adj|Past":"Adjective","Adj|Present":"Adjective","Noun|Verb":"Singular","Noun|Gerund":"Gerund","Person|Noun":"Noun","Person|Date":"Month","Person|Verb":"FirstName","Person|Place":"Person","Person|Adj":"Comparative","Plural|Verb":"Plural","Unit|Noun":"Noun"},rl=function(e,t){const n={model:t,methods:el};let{lex:a,_multi:r}=el.two.expandLexicon(e,n);return Object.assign(t.one.lexicon,a),Object.assign(t.one._multiCache,r),t},ol=function(e,t,n){let a=Fs(e,nl);t[a.PastTense]=t[a.PastTense]||"PastTense",t[a.Gerund]=t[a.Gerund]||"Gerund",!0===n&&(t[a.PresentTense]=t[a.PresentTense]||"PresentTense")},il=function(e,t,n){let a=Gs(e,n);t[a]=t[a]||"Superlative";let r=Vs(e,n);t[r]=t[r]||"Comparative"},sl=function(e,t){let n={};const a=t.one.lexicon;return Object.keys(e).forEach((r=>{const o=e[r];if(n[r]=al[o],"Noun|Verb"!==o&&"Person|Verb"!==o&&"Actor|Verb"!==o||ol(r,a,!1),"Adj|Present"===o&&(ol(r,a,!0),il(r,a,t)),"Person|Adj"===o&&il(r,a,t),"Adj|Gerund"===o||"Noun|Gerund"===o){let e=Ts(r,nl,"Gerund");a[e]||(n[e]="Infinitive")}if("Noun|Gerund"!==o&&"Adj|Noun"!==o&&"Person|Noun"!==o||function(e,t,n){let a=Oo(e,n);t[a]=t[a]||"Plural"}(r,a,t),"Adj|Past"===o){let e=Ts(r,nl,"PastTense");a[e]||(n[e]="Infinitive")}})),t=rl(n,t)};var ll=function(e){return e=function(e,t){return Object.keys(e).forEach((n=>{"Uncountable"===e[n]&&(t.two.uncountable[n]=!0,e[n]="Uncountable")})),t}((e=rl(e.one.lexicon,e)).one.lexicon,e),e=sl(e.two.switches,e),e=tl(e)};let ul={one:{_multiCache:{},lexicon:Vo},two:{irregularPlurals:wo,models:Ps,suffixPatterns:Gi,prefixPatterns:Mi,endsWith:Xi,neighbours:Yi,regexNormal:[[/^[\w.]+@[\w.]+\.[a-z]{2,3}$/,"Email"],[/^(https?:\/\/|www\.)+\w+\.[a-z]{2,3}/,"Url","http.."],[/^[a-z0-9./].+\.(com|net|gov|org|ly|edu|info|biz|dev|ru|jp|de|in|uk|br|io|ai)/,"Url",".com"],[/^[PMCE]ST$/,"Timezone","EST"],[/^ma?c'.*/,"LastName","mc'neil"],[/^o'[drlkn].*/,"LastName","o'connor"],[/^ma?cd[aeiou]/,"LastName","mcdonald"],[/^(lol)+[sz]$/,"Expression","lol"],[/^wo{2,}a*h?$/,"Expression","wooah"],[/^(hee?){2,}h?$/,"Expression","hehe"],[/^(un|de|re)\\-[a-z\u00C0-\u00FF]{2}/,"Verb","un-vite"],[/^(m|k|cm|km)\/(s|h|hr)$/,"Unit","5 k/m"],[/^(ug|ng|mg)\/(l|m3|ft3)$/,"Unit","ug/L"]],regexText:[[/^#[\p{Number}_]*\p{Letter}/u,"HashTag"],[/^@\w{2,}$/,"AtMention"],[/^([A-Z]\.){2}[A-Z]?/i,["Acronym","Noun"],"F.B.I"],[/.{3}[lkmnp]in['‘’‛‵′`´]$/,"Gerund","chillin'"],[/.{4}s['‘’‛‵′`´]$/,"Possessive","flanders'"],[/^[\p{Emoji_Presentation}\p{Extended_Pictographic}]/u,"Emoji","emoji-class"]],regexNumbers:[[/^@1?[0-9](am|pm)$/i,"Time","3pm"],[/^@1?[0-9]:[0-9]{2}(am|pm)?$/i,"Time","3:30pm"],[/^'[0-9]{2}$/,"Year"],[/^[012]?[0-9](:[0-5][0-9])(:[0-5][0-9])$/,"Time","3:12:31"],[/^[012]?[0-9](:[0-5][0-9])?(:[0-5][0-9])? ?(am|pm)$/i,"Time","1:12pm"],[/^[012]?[0-9](:[0-5][0-9])(:[0-5][0-9])? ?(am|pm)?$/i,"Time","1:12:31pm"],[/^[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}/i,"Date","iso-date"],[/^[0-9]{1,4}-[0-9]{1,2}-[0-9]{1,4}$/,"Date","iso-dash"],[/^[0-9]{1,4}\/[0-9]{1,2}\/([0-9]{4}|[0-9]{2})$/,"Date","iso-slash"],[/^[0-9]{1,4}\.[0-9]{1,2}\.[0-9]{1,4}$/,"Date","iso-dot"],[/^[0-9]{1,4}-[a-z]{2,9}-[0-9]{1,4}$/i,"Date","12-dec-2019"],[/^utc ?[+-]?[0-9]+$/,"Timezone","utc-9"],[/^(gmt|utc)[+-][0-9]{1,2}$/i,"Timezone","gmt-3"],[/^[0-9]{3}-[0-9]{4}$/,"PhoneNumber","421-0029"],[/^(\+?[0-9][ -])?[0-9]{3}[ -]?[0-9]{3}-[0-9]{4}$/,"PhoneNumber","1-800-"],[/^[-+]?\p{Currency_Symbol}[-+]?[0-9]+(,[0-9]{3})*(\.[0-9]+)?([kmb]|bn)?\+?$/u,["Money","Value"],"$5.30"],[/^[-+]?[0-9]+(,[0-9]{3})*(\.[0-9]+)?\p{Currency_Symbol}\+?$/u,["Money","Value"],"5.30£"],[/^[-+]?[$£]?[0-9]([0-9,.])+(usd|eur|jpy|gbp|cad|aud|chf|cny|hkd|nzd|kr|rub)$/i,["Money","Value"],"$400usd"],[/^[-+]?[0-9]+(,[0-9]{3})*(\.[0-9]+)?\+?$/,["Cardinal","NumericValue"],"5,999"],[/^[-+]?[0-9]+(,[0-9]{3})*(\.[0-9]+)?(st|nd|rd|r?th)$/,["Ordinal","NumericValue"],"53rd"],[/^\.[0-9]+\+?$/,["Cardinal","NumericValue"],".73th"],[/^[-+]?[0-9]+(,[0-9]{3})*(\.[0-9]+)?%\+?$/,["Percent","Cardinal","NumericValue"],"-4%"],[/^\.[0-9]+%$/,["Percent","Cardinal","NumericValue"],".3%"],[/^[0-9]{1,4}\/[0-9]{1,4}(st|nd|rd|th)?s?$/,["Fraction","NumericValue"],"2/3rds"],[/^[0-9.]{1,3}[a-z]{0,2}[-–—][0-9]{1,3}[a-z]{0,2}$/,["Value","NumberRange"],"3-4"],[/^[0-9]{1,2}(:[0-9][0-9])?(am|pm)? ?[-–—] ?[0-9]{1,2}(:[0-9][0-9])?(am|pm)$/,["Time","NumberRange"],"3-4pm"],[/^[0-9.]+([a-z°]{1,4})$/,"NumericValue","9km"]],switches:zo,clues:yi,uncountable:{},orgWords:As}};ul=ll(ul);var cl=ul;var dl=function(e,t,n,a){const r=a.methods.one.setTag;if(0===t&&e.length>=3){const t=/:/;if(e[0].post.match(t)){let t=e[1];if(t.tags.has("Value")||t.tags.has("Email")||t.tags.has("PhoneNumber"))return;r([e[0]],"Expression",a,null,"2-punct-colon''")}}};var hl=function(e,t,n,a){const r=a.methods.one.setTag;"-"===e[t].post&&e[t+1]&&r([e[t],e[t+1]],"Hyphenated",a,null,"1-punct-hyphen''")};const gl=/^(under|over|mis|re|un|dis|semi)-?/;var ml=function(e,t,n){const a=n.two.switches;let r=e[t];if(a.hasOwnProperty(r.normal))r.switch=a[r.normal];else if(gl.test(r.normal)){let e=r.normal.replace(gl,"");e.length>3&&a.hasOwnProperty(e)&&(r.switch=a[e])}};var pl=function(e,t,n){if(!t||0===t.length)return;const a="undefined"!=typeof process&&process.env?process.env:self.env||{};a&&a.DEBUG_TAGS&&((e,t,n="")=>{let a=e.text||"["+e.implicit+"]";var r;"string"!=typeof t&&t.length>2&&(t=t.slice(0,2).join(", #")+" +"),t="string"!=typeof t?t.join(", #"):t,console.log(` ${(r=a,""+r+"").padEnd(24)} → #${t.padEnd(22)} ${(e=>""+e+"")(n)}`)})(e,t,n),e.tags=e.tags||new Set,"string"==typeof t?e.tags.add(t):t.forEach((t=>e.tags.add(t)))};const fl=["Acronym","Abbreviation","ProperNoun","Uncountable","Possessive","Pronoun","Activity","Honorific","Month"];var bl=function(e,t,n){let a=e[t],r=Array.from(a.tags);for(let e=0;ee.tags.has(t)))||(Ys(e.normal)?pl(e,"Plural","3-plural-guess"):pl(e,"Singular","3-singular-guess"))}(a),function(e){let t=e.tags;if(t.has("Verb")&&1===t.size){let t=xs(e.normal);t&&pl(e,t,"3-verb-tense-guess")}}(a)};const vl=/^\p{Lu}[\p{Ll}'’]/u,yl=/[0-9]/,wl=["Date","Month","WeekDay","Unit","Expression"],kl=/[IVX]/,Pl=/^[IVXLCDM]{2,}$/,Al=/^M{0,4}(CM|CD|D?C{0,3})(XC|XL|L?X{0,3})(IX|IV|V?I{0,3})$/,Il={li:!0,dc:!0,md:!0,dm:!0,ml:!0};var El=function(e,t,n){let a=e[t];a.index=a.index||[0,0];let r=a.index[1],o=a.text||"";return 0!==r&&!0===vl.test(o)&&!1===yl.test(o)?wl.find((e=>a.tags.has(e)))||a.pre.match(/["']$/)||"the"===a.normal?null:(bl(e,t,n),a.tags.has("Noun")||a.tags.clear(),pl(a,"ProperNoun","2-titlecase"),!0):o.length>=2&&Pl.test(o)&&kl.test(o)&&Al.test(o)&&!Il[a.normal]?(pl(a,"RomanNumeral","2-xvii"),!0):null};const jl=function(e="",t=[]){const n=e.length;let a=7;n<=a&&(a=n-1);for(let r=a;r>1;r-=1){let a=e.substring(n-r,n);if(!0===t[a.length].hasOwnProperty(a)){return t[a.length][a]}}return null};var Dl=function(e,t,n){let a=e[t];if(0===a.tags.size){let e=jl(a.normal,n.two.suffixPatterns);if(null!==e)return pl(a,e,"2-suffix"),a.confidence=.7,!0;if(a.implicit&&(e=jl(a.implicit,n.two.suffixPatterns),null!==e))return pl(a,e,"2-implicit-suffix"),a.confidence=.7,!0}return null};const Nl=/['‘’‛‵′`´]/,xl=function(e,t){for(let n=0;nn-3&&(a=n-3);for(let n=a;n>2;n-=1){let a=e.substring(0,n);if(!0===t[a.length].hasOwnProperty(a))return t[a.length][a]}return null}(a.normal,n.two.prefixPatterns);if(null!==e)return pl(a,e,"2-prefix"),a.confidence=.5,!0}return null};const Fl=new Set(["in","on","by","until","for","to","during","throughout","through","within","before","after","of","this","next","last","circa","around","post","pre","budget","classic","plan","may"]),Ol=function(e){if(!e)return!1;let t=e.normal||e.implicit;return!!Fl.has(t)||(!!(e.tags.has("Date")||e.tags.has("Month")||e.tags.has("WeekDay")||e.tags.has("Year"))||!!e.tags.has("ProperNoun"))},Gl=function(e){return!!e&&(!!e.tags.has("Ordinal")||(!!(e.tags.has("Cardinal")&&e.normal.length<3)||("is"===e.normal||"was"===e.normal)))},Vl=function(e){return e&&(e.tags.has("Date")||e.tags.has("Month")||e.tags.has("WeekDay")||e.tags.has("Year"))};var zl=function(e,t){const n=e[t];if(n.tags.has("NumericValue")&&n.tags.has("Cardinal")&&4===n.normal.length){let a=Number(n.normal);if(a&&!isNaN(a)&&a>1400&&a<2100){let r=e[t-1],o=e[t+1];if(Ol(r)||Ol(o))return pl(n,"Year","2-tagYear");if(a>=1920&&a<2025){if(Gl(r)||Gl(o))return pl(n,"Year","2-tagYear-close");if(Vl(e[t-2])||Vl(e[t+2]))return pl(n,"Year","2-tagYear-far");if(r&&(r.tags.has("Determiner")||r.tags.has("Possessive"))&&o&&o.tags.has("Noun")&&!o.tags.has("Plural"))return pl(n,"Year","2-tagYear-noun")}}}return null};var Ll=function(e,t,n,a){const r=a.methods.one.setTag,o=e[t],i=["PastTense","PresentTense","Auxiliary","Modal","Particle"];if(o.tags.has("Verb")){i.find((e=>o.tags.has(e)))||r([o],"Infinitive",a,null,"2-verb-type''")}};const Ml=/^[A-Z]('s|,)?$/,Sl=/^[A-Z-]+$/,$l=/^[A-Z]+s$/,Bl=/([A-Z]\.)+[A-Z]?,?$/,Jl=/[A-Z]{2,}('s|,)?$/,Hl=/([a-z]\.)+[a-z]\.?$/,Wl={I:!0,A:!0},Kl={la:!0,ny:!0,us:!0,dc:!0,gb:!0};var ql=function(e,t,n){let a=e[t];return a.tags.has("RomanNumeral")||a.tags.has("Acronym")?null:function(e,t){let n=e.text;if(!1===Sl.test(n)){if(!(n.length>3&&!0===$l.test(n)))return!1;n=n.replace(/s$/,"")}return!(n.length>5||Wl.hasOwnProperty(n)||t.one.lexicon.hasOwnProperty(e.normal)||!0!==Bl.test(n)&&!0!==Hl.test(n)&&!0!==Ml.test(n)&&!0!==Jl.test(n))}(a,n)?(a.tags.clear(),pl(a,["Acronym","Noun"],"3-no-period-acronym"),!0===Kl[a.normal]&&pl(a,"Place","3-place-acronym"),!0===$l.test(a.text)&&pl(a,"Plural","3-plural-acronym"),!0):!Wl.hasOwnProperty(a.text)&&Ml.test(a.text)?(a.tags.clear(),pl(a,["Acronym","Noun"],"3-one-letter-acronym"),!0):a.tags.has("Organization")&&a.text.length<=3?(pl(a,"Acronym","3-org-acronym"),!0):a.tags.has("Organization")&&Sl.test(a.text)&&a.text.length<=6?(pl(a,"Acronym","3-titlecase-acronym"),!0):null};const Ul=function(e,t){if(!e)return null;let n=t.find((t=>e.normal===t[0]));return n?n[1]:null},Ql=function(e,t){if(!e)return null;let n=t.find((t=>e.tags.has(t[0])));return n?n[1]:null};var Rl=function(e,t,n){const{leftTags:a,leftWords:r,rightWords:o,rightTags:i}=n.two.neighbours;let s=e[t];if(0===s.tags.size){let l=null;if(l=l||Ul(e[t-1],r),l=l||Ul(e[t+1],o),l=l||Ql(e[t-1],a),l=l||Ql(e[t+1],i),l)return pl(s,l,"3-[neighbour]"),bl(e,t,n),e[t].confidence=.2,!0}return null};const Xl=function(e,t,n){return!!e&&(!e.tags.has("FirstName")&&!e.tags.has("Place")&&(!!(e.tags.has("ProperNoun")||e.tags.has("Organization")||e.tags.has("Acronym"))||!(n||(a=e.text,!/^\p{Lu}[\p{Ll}'’]/u.test(a)))&&(0!==t||e.tags.has("Singular"))));var a};var Zl=function(e,t,n,a){const r=n.model.two.orgWords,o=n.methods.one.setTag;let i=e[t];if(!0===r[i.machine||i.normal]&&Xl(e[t-1],t-1,a)){o([e[t]],"Organization",n,null,"3-[org-word]");for(let r=t;r>=0&&Xl(e[r],r,a);r-=1)o([e[r]],"Organization",n,null,"3-[org-word]")}return null};var _l=function(e,t,n){let a=!1,r=e[t].tags;(0===r.size||1===r.size&&(r.has("Hyphenated")||r.has("HashTag")||r.has("Prefix")))&&(a=!0),a&&(pl(e[t],"Noun","3-[fallback]"),bl(e,t,n),e[t].confidence=.1)};const Yl=/^[A-Z][a-z]/,eu=(e,t)=>e[t].tags.has("ProperNoun")&&Yl.test(e[t].text)?"Noun":null,tu=(e,t,n)=>0!==t||e[1]?null:n,nu={"Adj|Gerund":(e,t)=>eu(e,t),"Adj|Noun":(e,t)=>eu(e,t)||function(e,t){return!e[t+1]&&e[t-1]&&e[t-1].tags.has("Determiner")?"Noun":null}(e,t),"Actor|Verb":(e,t)=>eu(e,t),"Adj|Past":(e,t)=>eu(e,t),"Adj|Present":(e,t)=>eu(e,t),"Noun|Gerund":(e,t)=>eu(e,t),"Noun|Verb":(e,t)=>t>0&&eu(e,t)||tu(e,t,"Infinitive"),"Plural|Verb":(e,t)=>eu(e,t)||tu(e,t,"PresentTense")||function(e,t,n){return 0===t&&e.length>3?n:null}(e,t,"Plural"),"Person|Noun":(e,t)=>eu(e,t),"Person|Verb":(e,t)=>0!==t?eu(e,t):null,"Person|Adj":(e,t)=>0===t&&e.length>1||eu(e,t)?"Person":null};var au=nu;const ru="undefined"!=typeof process&&process.env?process.env:self.env||{},ou=/^(under|over|mis|re|un|dis|semi)-?/,iu=(e,t)=>{if(!e||!t)return null;let n=e.normal||e.implicit,a=null;return t.hasOwnProperty(n)&&(a=t[n]),a&&ru.DEBUG_TAGS&&console.log(`\n  ↓ - '${n}' `),a},su=(e,t={},n)=>{if(!e||!t)return null;let a=Array.from(e.tags).sort(((e,t)=>(n[e]?n[e].parents.length:0)>(n[t]?n[t].parents.length:0)?-1:1)),r=a.find((e=>t[e]));return r&&ru.DEBUG_TAGS&&console.log(`  ↓ - '${e.normal||e.implicit}' (#${r}) `),r=t[r],r};var lu=function(e,t,n){const a=n.model,r=n.methods.one.setTag,{switches:o,clues:i}=a.two,s=e[t];let l=s.normal||s.implicit||"";if(ou.test(l)&&!o[l]&&(l=l.replace(ou,"")),s.switch){let o=s.switch;if(s.tags.has("Acronym")||s.tags.has("PhrasalVerb"))return;let u=function(e,t,n,a){if(!n)return null;const r=a.one.tagSet;let o=iu(e[t+1],n.afterWords);return o=o||iu(e[t-1],n.beforeWords),o=o||su(e[t-1],n.beforeTags,r),o=o||su(e[t+1],n.afterTags,r),o}(e,t,i[o],a);au[o]&&(u=au[o](e,t)||u),u?(r([s],u,n,null,`3-[switch] (${o})`),bl(e,t,a)):ru.DEBUG_TAGS&&console.log(`\n -> X - '${l}' : (${o}) `)}};const uu={there:!0,this:!0,it:!0,him:!0,her:!0,us:!0};var cu=function(e,t){const n=t.methods.one.setTag,a=t.model.one._multiCache||{};let r=e[0];if(("Noun|Verb"===r.switch||r.tags.has("Infinitive"))&&e.length>=2){if(e.length<4&&!uu[e[1].normal])return;if(!r.tags.has("PhrasalVerb")&&a.hasOwnProperty(r.normal))return;if(e[1].tags.has("Noun")||e[1].tags.has("Determiner")){e.slice(1,3).some((e=>e.tags.has("Verb")))&&!r.tags.has("#PhrasalVerb")||n([r],"Imperative",t,null,"3-[imperative]")}}};const du=function(e){if(e.filter((e=>!e.tags.has("ProperNoun"))).length<=3)return!1;const t=/^[a-z]/;return e.every((e=>!t.test(e.text)))},hu=function(e,t,n,a){for(let r=0;r{dl(e,0,t,n)}))}(r,n,a);let o=t.two.quickSplit(r);for(let e=0;e{let t=e.machine||e.normal||e.text;return t=t.replace(/'s$/,""),t},Plural:(e,t)=>{let n=e.machine||e.normal||e.text;return t.methods.two.transform.noun.toSingular(n,t.model)},Copula:()=>"is",PastTense:(e,t)=>{let n=e.machine||e.normal||e.text;return t.methods.two.transform.verb.toInfinitive(n,t.model,"PastTense")},Gerund:(e,t)=>{let n=e.machine||e.normal||e.text;return t.methods.two.transform.verb.toInfinitive(n,t.model,"Gerund")},PresentTense:(e,t)=>{let n=e.machine||e.normal||e.text;return e.tags.has("Infinitive")?n:t.methods.two.transform.verb.toInfinitive(n,t.model,"PresentTense")},Comparative:(e,t)=>{let n=e.machine||e.normal||e.text;return t.methods.two.transform.adjective.fromComparative(n,t.model)},Superlative:(e,t)=>{let n=e.machine||e.normal||e.text;return t.methods.two.transform.adjective.fromSuperlative(n,t.model)},Adverb:(e,t)=>{const{fromAdverb:n}=t.methods.two.transform.adjective;return n(e.machine||e.normal||e.text)}};var fu=function(e){const t=e.world,n=Object.keys(pu);e.docs.forEach((e=>{for(let a=0;a{e.forEach((e=>{e.penn=function(e){if(e.tags.has("ProperNoun")&&e.tags.has("Plural"))return"NNPS";if(e.tags.has("Possessive")&&e.tags.has("Pronoun"))return"PRP$";if("there"===e.normal)return"EX";if("to"===e.normal)return"TO";let t=e.tagRank||[];for(let e=0;e{e.implicit=e.normal,e.text="",e.normal=""}));for(let e=0;e{let t=Nu.test(e[0].text);e.forEach(((t,n)=>{t.text=t.implicit||"",delete t.implicit,ne.toUpperCase()))}(e[0].text))})),this.compute("normal"),this}}e.prototype.contractions=function(){let e=this.match("@hasContraction+");return new Contractions(this.document,e.pointer)},e.prototype.contract=Du};var Cu=function(e,t,n){let[a,r]=t;n&&0!==n.length&&(n=n.map(((e,t)=>(e.implicit=e.text,e.machine=e.text,e.pre="",e.post="",e.text="",e.normal="",e.index=[a,r+t],e))),n[0]&&(n[0].pre=e[a][r].pre,n[n.length-1].post=e[a][r].post,n[0].text=e[a][r].text,n[0].normal=e[a][r].normal),e[a].splice(r,1,...n))};const Tu=/'/;var Fu=function(e,t){let n=e[t].normal.split(Tu)[0];if(((e,t)=>e.slice(t+1,t+3).some((e=>e.tags.has("PastTense"))))(e,t))return[n,"has"];if("let"===n)return[n,"us"];if("there"===n){let a=e[t+1];if(a&&a.tags.has("Plural"))return[n,"are"]}return[n,"is"]};const Ou=/'/;var Gu=function(e,t){let n=e[t].normal.split(Ou)[0];return"how"===n||"what"===n?[n,"did"]:!0===((e,t)=>!(!e[t+1]||"better"!=e[t+1].normal)||e.slice(t+1,t+3).some((e=>e.tags.has("PastTense"))))(e,t)?[n,"had"]:[n,"would"]};var Vu=function(e,t){if("ain't"===e[t].normal||"aint"===e[t].normal){if(e[t+1]&&"never"===e[t+1].normal)return["have"];let n=function(e,t){for(let n=t-1;n>=0;n-=1)if(e[n].tags.has("Noun")||e[n].tags.has("Pronoun")||e[n].tags.has("Plural")||e[n].tags.has("Singular"))return e[n];return null}(e,t);if(n){if("we"===n.normal||"they"===n.normal)return["are","not"];if("i"===n.normal)return["am","not"];if(n.tags&&n.tags.has("Plural"))return["are","not"]}return["is","not"]}return[e[t].normal.replace(/n't/,""),"not"]};const zu={that:!0,there:!0,let:!0,here:!0,everywhere:!0},Lu={in:!0,by:!0,for:!0};var Mu=(e,t)=>{let n=e[t];if(zu.hasOwnProperty(n.machine||n.normal))return!1;if(n.tags.has("Possessive"))return!0;if(n.tags.has("QuestionWord"))return!1;if("he's"===n.normal||"she's"===n.normal)return!1;let a=e[t+1];if(!a)return!0;if("it's"===n.normal)return!!a.tags.has("#Noun");if(a.tags.has("Verb"))return!!a.tags.has("Infinitive")||!!a.tags.has("PresentTense");if(a.tags.has("Noun")){let e=a.machine||a.normal;return"here"!==e&&"there"!==e&&"everywhere"!==e&&(!a.tags.has("Possessive")&&!(a.tags.has("ProperNoun")&&!n.tags.has("ProperNoun")))}if(e[t-1]&&!0===Lu[e[t-1].normal])return!0;let r=e[t+2];return!(!r||!r.tags.has("Noun")||r.tags.has("Pronoun"))||(a.tags.has("Adjective")||a.tags.has("Adverb")||a.tags.has("Verb"),!1)};const Su=/'/,$u=function(e,t,n,a){let r=t.update();r.document=[e];let o=n+a;n>0&&(n-=1),e[o]&&(o+=1),r.ptrs=[[0,n,o]],r.compute(["lexicon","preTagger"]),function(e){e.forEach(((e,t)=>{e.index&&(e.index[1]=t)}))}(e)},Bu={d:(e,t)=>Gu(e,t),t:(e,t)=>Vu(e,t),s:(e,t,n)=>Mu(e,t)?n.methods.one.setTag([e[t]],"Possessive",n,"2-contraction"):Fu(e,t)},Ju=function(e,t){let n=t.fromText(e.join(" "));return n.compute("id"),n.docs[0]};var Hu={contractionTwo:e=>{let{world:t,document:n}=e;n.forEach(((a,r)=>{for(let o=a.length-1;o>=0;o-=1){if(a[o].implicit)return;let i=null;!0===Su.test(a[o].normal)&&([,i]=a[o].normal.split(Su));let s=null;Bu.hasOwnProperty(i)&&(s=Bu[i](a,o,t)),s&&(s=Ju(s,e),Cu(n,[r,o],s),$u(n[r],e,o,s.length))}}))}},Wu={compute:Hu,api:xu,hooks:["contractionTwo"]};const Ku="(hard|fast|late|early|high|right|deep|close|direct)";const qu="(i|we|they)";let Uu=[].concat([{match:"(got|were|was|is|are|am) (#PastTense|#Participle)",tag:"Passive",reason:"got-walked"},{match:"(was|were|is|are|am) being (#PastTense|#Participle)",tag:"Passive",reason:"was-being"},{match:"(had|have|has) been (#PastTense|#Participle)",tag:"Passive",reason:"had-been"},{match:"will be being? (#PastTense|#Participle)",tag:"Passive",reason:"will-be-cleaned"},{match:"#Noun [(#PastTense|#Participle)] by (the|a) #Noun",group:0,tag:"Passive",reason:"suffered-by"}],[{match:"[(all|both)] #Determiner #Noun",group:0,tag:"Noun",reason:"all-noun"},{match:"#Copula [(just|alone)]$",group:0,tag:"Adjective",reason:"not-adverb"},{match:"#Singular is #Adverb? [#PastTense$]",group:0,tag:"Adjective",reason:"is-filled"},{match:"[#PastTense] #Singular is",group:0,tag:"Adjective",reason:"smoked-poutine"},{match:"[#PastTense] #Plural are",group:0,tag:"Adjective",reason:"baked-onions"},{match:"well [#PastTense]",group:0,tag:"Adjective",reason:"well-made"},{match:"#Copula [fucked up?]",group:0,tag:"Adjective",reason:"swears-adjective"},{match:"#Singular (seems|appears) #Adverb? [#PastTense$]",group:0,tag:"Adjective",reason:"seems-filled"},{match:"#Copula #Adjective? [(out|in|through)]$",group:0,tag:"Adjective",reason:"still-out"},{match:"^[#Adjective] (the|your) #Noun",group:0,notIf:"(all|even)",tag:"Infinitive",reason:"shut-the"},{match:"the [said] #Noun",group:0,tag:"Adjective",reason:"the-said-card"},{match:"[#Hyphenated (#Hyphenated && #PastTense)] (#Noun|#Conjunction)",group:0,tag:"Adjective",notIf:"#Adverb",reason:"faith-based"},{match:"[#Hyphenated (#Hyphenated && #Gerund)] (#Noun|#Conjunction)",group:0,tag:"Adjective",notIf:"#Adverb",reason:"self-driving"},{match:"[#PastTense (#Hyphenated && #PhrasalVerb)] (#Noun|#Conjunction)",group:0,tag:"Adjective",reason:"dammed-up"},{match:"(#Hyphenated && #Value) fold",tag:"Adjective",reason:"two-fold"},{match:"must (#Hyphenated && #Infinitive)",tag:"Adjective",reason:"must-win"},{match:"(#Hyphenated && #Infinitive) #Hyphenated",tag:"Adjective",notIf:"#PhrasalVerb",reason:"vacuum-sealed"},{match:"too much",tag:"Adverb Adjective",reason:"bit-4"},{match:"a bit much",tag:"Determiner Adverb Adjective",reason:"bit-3"},{match:"[(un|contra|extra|inter|intra|macro|micro|mid|mis|mono|multi|pre|sub|tri|ex)] #Adjective",group:0,tag:["Adjective","Prefix"],reason:"un-skilled"}],[{match:"#Adverb [#Adverb] (and|or|then)",group:0,tag:"Adjective",reason:"kinda-sparkly-and"},{match:"[(dark|bright|flat|light|soft|pale|dead|dim|faux|little|wee|sheer|most|near|good|extra|all)] #Adjective",group:0,tag:"Adverb",reason:"dark-green"},{match:"#Copula [far too] #Adjective",group:0,tag:"Adverb",reason:"far-too"},{match:"#Copula [still] (in|#Gerund|#Adjective)",group:0,tag:"Adverb",reason:"was-still-walking"},{match:`#Plural ${Ku}`,tag:"#PresentTense #Adverb",reason:"studies-hard"},{match:`#Verb [${Ku}] !#Noun?`,group:0,notIf:"(#Copula|get|got|getting|become|became|becoming|feel|feels|feeling)",tag:"Adverb",reason:"shops-direct"},{match:"[#Plural] a lot",tag:"PresentTense",reason:"studies-a-lot"}],[{match:"as [#Gerund] as",group:0,tag:"Adjective",reason:"as-gerund-as"},{match:"more [#Gerund] than",group:0,tag:"Adjective",reason:"more-gerund-than"},{match:"(so|very|extremely) [#Gerund]",group:0,tag:"Adjective",reason:"so-gerund"},{match:"(found|found) it #Adverb? [#Gerund]",group:0,tag:"Adjective",reason:"found-it-gerund"},{match:"a (little|bit|wee) bit? [#Gerund]",group:0,tag:"Adjective",reason:"a-bit-gerund"},{match:"#Gerund [#Gerund]",group:0,tag:"Adjective",notIf:"(impersonating|practicing|considering|assuming)",reason:"looking-annoying"},{match:"(looked|look|looks) #Adverb? [%Adj|Gerund%]",group:0,tag:"Adjective",notIf:"(impersonating|practicing|considering|assuming)",reason:"looked-amazing"},{match:"[%Adj|Gerund%] #Determiner",group:0,tag:"Gerund",reason:"developing-a"},{match:"#Possessive [%Adj|Gerund%] #Noun",group:0,tag:"Adjective",reason:"leading-manufacturer"}],[{match:"#Determiner [#Adjective] #Copula",group:0,tag:"Noun",reason:"the-adj-is"},{match:"#Adjective [#Adjective] #Copula",group:0,tag:"Noun",reason:"adj-adj-is"},{match:"(his|its) [%Adj|Noun%]",group:0,tag:"Noun",notIf:"#Hyphenated",reason:"his-fine"},{match:"#Copula #Adverb? [all]",group:0,tag:"Noun",reason:"is-all"},{match:"(have|had) [#Adjective] #Preposition .",group:0,tag:"Noun",reason:"have-fun"},{match:"#Gerund (giant|capital|center|zone|application)",tag:"Noun",reason:"brewing-giant"},{match:"#Preposition (a|an) [#Adjective]$",group:0,tag:"Noun",reason:"an-instant"},{match:"no [#Adjective] #Modal",group:0,tag:"Noun",reason:"no-golden"},{match:"[brand #Gerund?] new",group:0,tag:"Adverb",reason:"brand-new"},{match:"(#Determiner|#Comparative|new|different) [kind]",group:0,tag:"Noun",reason:"some-kind"},{match:"#Possessive [%Adj|Noun%] #Noun",group:0,tag:"Adjective",reason:"her-favourite"},{match:"must && #Hyphenated .",tag:"Adjective",reason:"must-win"},{match:"#Determiner [#Adjective]$",tag:"Noun",notIf:"(this|that|#Comparative|#Superlative)",reason:"the-south"},{match:"(#Noun && #Hyphenated) (#Adjective && #Hyphenated)",tag:"Adjective",notIf:"(this|that|#Comparative|#Superlative)",reason:"company-wide"},{match:"#Determiner [#Adjective] (#Copula|#Determiner)",notIf:"(#Comparative|#Superlative)",group:0,tag:"Noun",reason:"the-poor"}],[{match:"[still] #Adjective",group:0,tag:"Adverb",reason:"still-advb"},{match:"[still] #Verb",group:0,tag:"Adverb",reason:"still-verb"},{match:"[so] #Adjective",group:0,tag:"Adverb",reason:"so-adv"},{match:"[way] #Comparative",group:0,tag:"Adverb",reason:"way-adj"},{match:"[way] #Adverb #Adjective",group:0,tag:"Adverb",reason:"way-too-adj"},{match:"[all] #Verb",group:0,tag:"Adverb",reason:"all-verb"},{match:"#Verb [like]",group:0,notIf:"(#Modal|#PhrasalVerb)",tag:"Adverb",reason:"verb-like"},{match:"(barely|hardly) even",tag:"Adverb",reason:"barely-even"},{match:"[even] #Verb",group:0,tag:"Adverb",reason:"even-walk"},{match:"[even] #Comparative",group:0,tag:"Adverb",reason:"even-worse"},{match:"[even] (#Determiner|#Possessive)",group:0,tag:"#Adverb",reason:"even-the"},{match:"even left",tag:"#Adverb #Verb",reason:"even-left"},{match:"[way] #Adjective",group:0,tag:"#Adverb",reason:"way-over"},{match:"#PresentTense [(hard|quick|bright|slow|fast|backwards|forwards)]",notIf:"#Copula",group:0,tag:"Adverb",reason:"lazy-ly"},{match:"[much] #Adjective",group:0,tag:"Adverb",reason:"bit-1"},{match:"#Copula [#Adverb]$",group:0,tag:"Adjective",reason:"is-well"},{match:"a [(little|bit|wee) bit?] #Adjective",group:0,tag:"Adverb",reason:"a-bit-cold"},{match:"[(super|pretty)] #Adjective",group:0,tag:"Adverb",reason:"super-strong"},{match:"(become|fall|grow) #Adverb? [#PastTense]",group:0,tag:"Adjective",reason:"overly-weakened"},{match:"(a|an) #Adverb [#Participle] #Noun",group:0,tag:"Adjective",reason:"completely-beaten"},{match:"#Determiner #Adverb? [close]",group:0,tag:"Adjective",reason:"a-close"},{match:"#Gerund #Adverb? [close]",group:0,tag:"Adverb",notIf:"(getting|becoming|feeling)",reason:"being-close"},{match:"(the|those|these|a|an) [#Participle] #Noun",group:0,tag:"Adjective",reason:"blown-motor"},{match:"(#PresentTense|#PastTense) [back]",group:0,tag:"Adverb",notIf:"(#PhrasalVerb|#Copula)",reason:"charge-back"},{match:"#Verb [around]",group:0,tag:"Adverb",notIf:"#PhrasalVerb",reason:"send-around"},{match:"[later] #PresentTense",group:0,tag:"Adverb",reason:"later-say"},{match:"#Determiner [well] !#PastTense?",group:0,tag:"Noun",reason:"the-well"},{match:"#Adjective [enough]",group:0,tag:"Adverb",reason:"high-enough"}],[{match:"[sun] the #Ordinal",tag:"WeekDay",reason:"sun-the-5th"},{match:"[sun] #Date",group:0,tag:"WeekDay",reason:"sun-feb"},{match:"#Date (on|this|next|last|during)? [sun]",group:0,tag:"WeekDay",reason:"1pm-sun"},{match:"(in|by|before|during|on|until|after|of|within|all) [sat]",group:0,tag:"WeekDay",reason:"sat"},{match:"(in|by|before|during|on|until|after|of|within|all) [wed]",group:0,tag:"WeekDay",reason:"wed"},{match:"(in|by|before|during|on|until|after|of|within|all) [march]",group:0,tag:"Month",reason:"march"},{match:"[sat] #Date",group:0,tag:"WeekDay",reason:"sat-feb"},{match:"#Preposition [(march|may)]",group:0,tag:"Month",reason:"in-month"},{match:"(this|next|last) (march|may) !#Infinitive?",tag:"#Date #Month",reason:"this-month"},{match:"(march|may) the? #Value",tag:"#Month #Date #Date",reason:"march-5th"},{match:"#Value of? (march|may)",tag:"#Date #Date #Month",reason:"5th-of-march"},{match:"[(march|may)] .? #Date",group:0,tag:"Month",reason:"march-and-feb"},{match:"#Date .? [(march|may)]",group:0,tag:"Month",reason:"feb-and-march"},{match:"#Adverb [(march|may)]",group:0,tag:"Verb",reason:"quickly-march"},{match:"[(march|may)] #Adverb",group:0,tag:"Verb",reason:"march-quickly"}],[{match:"#Holiday (day|eve)",tag:"Holiday",reason:"holiday-day"},{match:"#Value of #Month",tag:"Date",reason:"value-of-month"},{match:"#Cardinal #Month",tag:"Date",reason:"cardinal-month"},{match:"#Month #Value to #Value",tag:"Date",reason:"value-to-value"},{match:"#Month the #Value",tag:"Date",reason:"month-the-value"},{match:"(#WeekDay|#Month) #Value",tag:"Date",reason:"date-value"},{match:"#Value (#WeekDay|#Month)",tag:"Date",reason:"value-date"},{match:"(#TextValue && #Date) #TextValue",tag:"Date",reason:"textvalue-date"},{match:"#Month #NumberRange",tag:"Date",reason:"aug 20-21"},{match:"#WeekDay #Month #Ordinal",tag:"Date",reason:"week mm-dd"},{match:"#Month #Ordinal #Cardinal",tag:"Date",reason:"mm-dd-yyy"},{match:"(#Place|#Demonmym|#Time) (standard|daylight|central|mountain)? time",tag:"Timezone",reason:"std-time"},{match:"(eastern|mountain|pacific|central|atlantic) (standard|daylight|summer)? time",tag:"Timezone",reason:"eastern-time"},{match:"#Time [(eastern|mountain|pacific|central|est|pst|gmt)]",group:0,tag:"Timezone",reason:"5pm-central"},{match:"(central|western|eastern) european time",tag:"Timezone",reason:"cet"}],[{match:"(the|any) [more]",group:0,tag:"Singular",reason:"more-noun"},{match:"[more] #Noun",group:0,tag:"Adjective",reason:"more-noun"},{match:"(right|rights) of .",tag:"Noun",reason:"right-of"},{match:"a [bit]",group:0,tag:"Singular",reason:"bit-2"},{match:"a [must]",group:0,tag:"Singular",reason:"must-2"},{match:"(we|us) [all]",group:0,tag:"Noun",reason:"we all"},{match:"due to [#Verb]",group:0,tag:"Noun",reason:"due-to"},{match:"some [#Verb] #Plural",group:0,tag:"Noun",reason:"determiner6"},{match:"#Possessive #Ordinal [#PastTense]",group:0,tag:"Noun",reason:"first-thought"},{match:"(the|this|those|these) #Adjective [%Verb|Noun%]",group:0,tag:"Noun",notIf:"#Copula",reason:"the-adj-verb"},{match:"(the|this|those|these) #Adverb #Adjective [#Verb]",group:0,tag:"Noun",reason:"determiner4"},{match:"the [#Verb] #Preposition .",group:0,tag:"Noun",reason:"determiner1"},{match:"(a|an|the) [#Verb] of",group:0,tag:"Noun",reason:"the-verb-of"},{match:"#Determiner #Noun of [#Verb]",group:0,tag:"Noun",notIf:"#Gerund",reason:"noun-of-noun"},{match:"#PastTense #Preposition [#PresentTense]",group:0,notIf:"#Gerund",tag:"Noun",reason:"ended-in-ruins"},{match:"#Conjunction [u]",group:0,tag:"Pronoun",reason:"u-pronoun-2"},{match:"[u] #Verb",group:0,tag:"Pronoun",reason:"u-pronoun-1"},{match:"#Determiner [(western|eastern|northern|southern|central)] #Noun",group:0,tag:"Noun",reason:"western-line"},{match:"(#Singular && @hasHyphen) #PresentTense",tag:"Noun",reason:"hyphen-verb"},{match:"is no [#Verb]",group:0,tag:"Noun",reason:"is-no-verb"},{match:"do [so]",group:0,tag:"Noun",reason:"so-noun"},{match:"#Determiner [(shit|damn|hell)]",group:0,tag:"Noun",reason:"swears-noun"},{match:"to [(shit|hell)]",group:0,tag:"Noun",reason:"to-swears"},{match:"(the|these) [#Singular] (were|are)",group:0,tag:"Plural",reason:"singular-were"},{match:"a #Noun+ or #Adverb+? [#Verb]",group:0,tag:"Noun",reason:"noun-or-noun"},{match:"(the|those|these|a|an) #Adjective? [#PresentTense #Particle?]",group:0,tag:"Noun",notIf:"(seem|appear|include|#Gerund|#Copula)",reason:"det-inf"},{match:"#Noun #Actor",tag:"Actor",notIf:"(#Person|#Pronoun)",reason:"thing-doer"},{match:"#Gerund #Actor",tag:"Actor",reason:"gerund-doer"},{match:"co #Singular",tag:"Actor",reason:"co-noun"},{match:"[#Noun+] #Actor",group:0,tag:"Actor",notIf:"(#Honorific|#Pronoun|#Possessive)",reason:"air-traffic-controller"},{match:"(urban|cardiac|cardiovascular|respiratory|medical|clinical|visual|graphic|creative|dental|exotic|fine|certified|registered|technical|virtual|professional|amateur|junior|senior|special|pharmaceutical|theoretical)+ #Noun? #Actor",tag:"Actor",reason:"fine-artist"},{match:"#Noun+ (coach|chef|king|engineer|fellow|personality|boy|girl|man|woman|master)",tag:"Actor",reason:"dance-coach"},{match:"chief . officer",tag:"Actor",reason:"chief-x-officer"},{match:"chief of #Noun+",tag:"Actor",reason:"chief-of-police"},{match:"senior? vice? president of #Noun+",tag:"Actor",reason:"president-of"},{match:"#Determiner [sun]",group:0,tag:"Singular",reason:"the-sun"},{match:"#Verb (a|an) [#Value]$",group:0,tag:"Singular",reason:"did-a-value"},{match:"the [(can|will|may)]",group:0,tag:"Singular",reason:"the can"},{match:"#FirstName #Acronym? (#Possessive && #LastName)",tag:"Possessive",reason:"name-poss"},{match:"#Organization+ #Possessive",tag:"Possessive",reason:"org-possessive"},{match:"#Place+ #Possessive",tag:"Possessive",reason:"place-possessive"},{match:"#Possessive #PresentTense #Particle?",notIf:"(#Gerund|her)",tag:"Noun",reason:"possessive-verb"},{match:"(my|our|their|her|his|its) [(#Plural && #Actor)] #Noun",tag:"Possessive",reason:"my-dads"},{match:"#Value of a [second]",group:0,unTag:"Value",tag:"Singular",reason:"10th-of-a-second"},{match:"#Value [seconds]",group:0,unTag:"Value",tag:"Plural",reason:"10-seconds"},{match:"in [#Infinitive]",group:0,tag:"Singular",reason:"in-age"},{match:"a [#Adjective] #Preposition",group:0,tag:"Noun",reason:"a-minor-in"},{match:"#Determiner [#Singular] said",group:0,tag:"Actor",reason:"the-actor-said"},{match:"#Determiner #Noun [(feel|sense|process|rush|side|bomb|bully|challenge|cover|crush|dump|exchange|flow|function|issue|lecture|limit|march|process)] !(#Preposition|to|#Adverb)?",group:0,tag:"Noun",reason:"the-noun-sense"},{match:"[#PresentTense] (of|by|for) (a|an|the) #Noun #Copula",group:0,tag:"Plural",reason:"photographs-of"},{match:"#Infinitive and [%Noun|Verb%]",group:0,tag:"Infinitive",reason:"fight and win"},{match:"#Noun and [#Verb] and #Noun",group:0,tag:"Noun",reason:"peace-and-flowers"},{match:"the #Cardinal [%Adj|Noun%]",group:0,tag:"Noun",reason:"the-1992-classic"},{match:"#Copula the [%Adj|Noun%] #Noun",group:0,tag:"Adjective",reason:"the-premier-university"},{match:"i #Verb [me] #Noun",group:0,tag:"Possessive",reason:"scottish-me"},{match:"[#PresentTense] (music|class|lesson|night|party|festival|league|ceremony)",group:0,tag:"Noun",reason:"dance-music"},{match:"[wit] (me|it)",group:0,tag:"Presposition",reason:"wit-me"},{match:"#PastTense #Possessive [#Verb]",group:0,tag:"Noun",notIf:"(saw|made)",reason:"left-her-boots"},{match:"#Value [%Plural|Verb%]",group:0,tag:"Plural",notIf:"(one|1|a|an)",reason:"35-signs"},{match:"had [#PresentTense]",group:0,tag:"Noun",notIf:"(#Gerund|come|become)",reason:"had-time"},{match:"%Adj|Noun% %Noun|Verb%",tag:"#Adjective #Noun",notIf:"#ProperNoun #Noun",reason:"instant-access"},{match:"#Determiner [%Adj|Noun%] #Conjunction",group:0,tag:"Noun",reason:"a-rep-to"},{match:"#Adjective #Noun [%Plural|Verb%]$",group:0,tag:"Plural",notIf:"#Pronoun",reason:"near-death-experiences"},{match:"#Possessive #Noun [%Plural|Verb%]$",group:0,tag:"Plural",reason:"your-guild-colors"}],[{match:"(this|that|the|a|an) [#Gerund #Infinitive]",group:0,tag:"Singular",reason:"the-planning-process"},{match:"(that|the) [#Gerund #PresentTense]",group:0,ifNo:"#Copula",tag:"Plural",reason:"the-paving-stones"},{match:"#Determiner [#Gerund] #Noun",group:0,tag:"Adjective",reason:"the-gerund-noun"},{match:"#Pronoun #Infinitive [#Gerund] #PresentTense",group:0,tag:"Noun",reason:"tipping-sucks"},{match:"#Adjective [#Gerund]",group:0,tag:"Noun",notIf:"(still|even|just)",reason:"early-warning"},{match:"[#Gerund] #Adverb? not? #Copula",group:0,tag:"Activity",reason:"gerund-copula"},{match:"#Copula [(#Gerund|#Activity)] #Copula",group:0,tag:"Gerund",reason:"are-doing-is"},{match:"[#Gerund] #Modal",group:0,tag:"Activity",reason:"gerund-modal"},{match:"#Singular for [%Noun|Gerund%]",group:0,tag:"Gerund",reason:"noun-for-gerund"},{match:"#Comparative (for|at) [%Noun|Gerund%]",group:0,tag:"Gerund",reason:"better-for-gerund"},{match:"#PresentTense the [#Gerund]",group:0,tag:"Noun",reason:"keep-the-touching"}],[{match:"#Infinitive (this|that|the) [#Infinitive]",group:0,tag:"Noun",reason:"do-this-dance"},{match:"#Gerund #Determiner [#Infinitive]",group:0,tag:"Noun",reason:"running-a-show"},{match:"#Determiner (only|further|just|more|backward) [#Infinitive]",group:0,tag:"Noun",reason:"the-only-reason"},{match:"(the|this|a|an) [#Infinitive] #Adverb? #Verb",group:0,tag:"Noun",reason:"determiner5"},{match:"#Determiner #Adjective #Adjective? [#Infinitive]",group:0,tag:"Noun",reason:"a-nice-inf"},{match:"#Determiner #Demonym [#PresentTense]",group:0,tag:"Noun",reason:"mexican-train"},{match:"#Adjective #Noun+ [#Infinitive] #Copula",group:0,tag:"Noun",reason:"career-move"},{match:"at some [#Infinitive]",group:0,tag:"Noun",reason:"at-some-inf"},{match:"(go|goes|went) to [#Infinitive]",group:0,tag:"Noun",reason:"goes-to-verb"},{match:"(a|an) #Adjective? #Noun [#Infinitive] (#Preposition|#Noun)",group:0,notIf:"from",tag:"Noun",reason:"a-noun-inf"},{match:"(a|an) #Noun [#Infinitive]$",group:0,tag:"Noun",reason:"a-noun-inf2"},{match:"#Gerund #Adjective? for [#Infinitive]",group:0,tag:"Noun",reason:"running-for"},{match:"about [#Infinitive]",group:0,tag:"Singular",reason:"about-love"},{match:"#Plural on [#Infinitive]",group:0,tag:"Noun",reason:"on-stage"},{match:"any [#Infinitive]",group:0,tag:"Noun",reason:"any-charge"},{match:"no [#Infinitive]",group:0,tag:"Noun",reason:"no-doubt"},{match:"number of [#PresentTense]",group:0,tag:"Noun",reason:"number-of-x"},{match:"(taught|teaches|learns|learned) [#PresentTense]",group:0,tag:"Noun",reason:"teaches-x"},{match:"(try|use|attempt|build|make) [#Verb #Particle?]",notIf:"(#Copula|#Noun|sure|fun|up)",group:0,tag:"Noun",reason:"do-verb"},{match:"^[#Infinitive] (is|was)",group:0,tag:"Noun",reason:"checkmate-is"},{match:"#Infinitive much [#Infinitive]",group:0,tag:"Noun",reason:"get-much"},{match:"[cause] #Pronoun #Verb",group:0,tag:"Conjunction",reason:"cause-cuz"},{match:"the #Singular [#Infinitive] #Noun",group:0,tag:"Noun",notIf:"#Pronoun",reason:"cardio-dance"},{match:"#Determiner #Modal [#Noun]",group:0,tag:"PresentTense",reason:"should-smoke"},{match:"this [#Plural]",group:0,tag:"PresentTense",notIf:"(#Preposition|#Date)",reason:"this-verbs"},{match:"#Noun that [#Plural]",group:0,tag:"PresentTense",notIf:"(#Preposition|#Pronoun|way)",reason:"voice-that-rocks"},{match:"that [#Plural] to",group:0,tag:"PresentTense",notIf:"#Preposition",reason:"that-leads-to"},{match:"(let|make|made) (him|her|it|#Person|#Place|#Organization)+ [#Singular] (a|an|the|it)",group:0,tag:"Infinitive",reason:"let-him-glue"},{match:"#Verb (all|every|each|most|some|no) [#PresentTense]",notIf:"#Modal",group:0,tag:"Noun",reason:"all-presentTense"},{match:"(had|have|#PastTense) #Adjective [#PresentTense]",group:0,tag:"Noun",notIf:"better",reason:"adj-presentTense"},{match:"#Value #Adjective [#PresentTense]",group:0,tag:"Noun",notIf:"#Copula",reason:"one-big-reason"},{match:"#PastTense #Adjective+ [#PresentTense]",group:0,tag:"Noun",notIf:"(#Copula|better)",reason:"won-wide-support"},{match:"(many|few|several|couple) [#PresentTense]",group:0,tag:"Noun",notIf:"#Copula",reason:"many-poses"},{match:"#Determiner #Adverb #Adjective [%Noun|Verb%]",group:0,tag:"Noun",notIf:"#Copula",reason:"very-big-dream"},{match:"from #Noun to [%Noun|Verb%]",group:0,tag:"Noun",reason:"start-to-finish"},{match:"(for|with|of) #Noun (and|or|not) [%Noun|Verb%]",group:0,tag:"Noun",notIf:"#Pronoun",reason:"for-food-and-gas"},{match:"#Adjective #Adjective [#PresentTense]",group:0,tag:"Noun",notIf:"#Copula",reason:"adorable-little-store"},{match:"#Gerund #Adverb? #Comparative [#PresentTense]",group:0,tag:"Noun",notIf:"#Copula",reason:"higher-costs"},{match:"(#Noun && @hasComma) #Noun (and|or) [#PresentTense]",group:0,tag:"Noun",notIf:"#Copula",reason:"noun-list"},{match:"(many|any|some|several) [#PresentTense] for",group:0,tag:"Noun",reason:"any-verbs-for"},{match:"to #PresentTense #Noun [#PresentTense] #Preposition",group:0,tag:"Noun",reason:"gas-exchange"},{match:"#PastTense (until|as|through|without) [#PresentTense]",group:0,tag:"Noun",reason:"waited-until-release"},{match:"#Gerund like #Adjective? [#PresentTense]",group:0,tag:"Plural",reason:"like-hot-cakes"},{match:"some #Adjective [#PresentTense]",group:0,tag:"Noun",reason:"some-reason"},{match:"for some [#PresentTense]",group:0,tag:"Noun",reason:"for-some-reason"},{match:"(same|some|the|that|a) kind of [#PresentTense]",group:0,tag:"Noun",reason:"some-kind-of"},{match:"(same|some|the|that|a) type of [#PresentTense]",group:0,tag:"Noun",reason:"some-type-of"},{match:"#Gerund #Adjective #Preposition [#PresentTense]",group:0,tag:"Noun",reason:"doing-better-for-x"},{match:"(get|got|have) #Comparative [#PresentTense]",group:0,tag:"Noun",reason:"got-better-aim"},{match:"whose [#PresentTense] #Copula",group:0,tag:"Noun",reason:"whos-name-was"},{match:"#PhrasalVerb #Particle #Preposition [#PresentTense]",group:0,tag:"Noun",reason:"given-up-on-x"},{match:"there (are|were) #Adjective? [#PresentTense]",group:0,tag:"Plural",reason:"there-are"},{match:"#Value [#PresentTense] of",group:0,notIf:"(one|1|#Copula|#Infinitive)",tag:"Plural",reason:"2-trains"},{match:"[#PresentTense] (are|were) #Adjective",group:0,tag:"Plural",reason:"compromises-are-possible"},{match:"^[(hope|guess|thought|think)] #Pronoun #Verb",group:0,tag:"Infinitive",reason:"suppose-i"},{match:"#Possessive #Adjective [#Verb]",group:0,tag:"Noun",notIf:"#Copula",reason:"our-full-support"},{match:"[(tastes|smells)] #Adverb? #Adjective",group:0,tag:"PresentTense",reason:"tastes-good"},{match:"#Copula #Gerund [#PresentTense] !by?",group:0,tag:"Noun",notIf:"going",reason:"ignoring-commute"},{match:"#Determiner #Adjective? [(shed|thought|rose|bid|saw|spelt)]",group:0,tag:"Noun",reason:"noun-past"},{match:"how to [%Noun|Verb%]",group:0,tag:"Infinitive",reason:"how-to-noun"},{match:"which [%Noun|Verb%] #Noun",group:0,tag:"Infinitive",reason:"which-boost-it"},{match:"#Gerund [%Plural|Verb%]",group:0,tag:"Plural",reason:"asking-questions"},{match:"(ready|available|difficult|hard|easy|made|attempt|try) to [%Noun|Verb%]",group:0,tag:"Infinitive",reason:"ready-to-noun"},{match:"(bring|went|go|drive|run|bike) to [%Noun|Verb%]",group:0,tag:"Noun",reason:"bring-to-noun"},{match:"#Modal #Noun [%Noun|Verb%]",group:0,tag:"Infinitive",reason:"would-you-look"},{match:"#Copula just [#Infinitive]",group:0,tag:"Noun",reason:"is-just-spam"},{match:"^%Noun|Verb% %Plural|Verb%",tag:"Imperative #Plural",reason:"request-copies"},{match:"#Adjective #Plural and [%Plural|Verb%]",group:0,tag:"#Plural",reason:"pickles-and-drinks"},{match:"#Determiner #Year [#Verb]",group:0,tag:"Noun",reason:"the-1968-film"},{match:"#Determiner [#PhrasalVerb #Particle]",group:0,tag:"Noun",reason:"the-break-up"},{match:"#Determiner [%Adj|Noun%] #Noun",group:0,tag:"Adjective",notIf:"(#Pronoun|#Possessive|#ProperNoun)",reason:"the-individual-goals"},{match:"[%Noun|Verb%] or #Infinitive",group:0,tag:"Infinitive",reason:"work-or-prepare"},{match:"to #Infinitive [#PresentTense]",group:0,tag:"Noun",notIf:"(#Gerund|#Copula|help)",reason:"to-give-thanks"},{match:"[#Noun] me",group:0,tag:"Verb",reason:"kills-me"},{match:"%Plural|Verb% %Plural|Verb%",tag:"#PresentTense #Plural",reason:"removes-wrinkles"}],[{match:"#Money and #Money #Currency?",tag:"Money",reason:"money-and-money"},{match:"#Value #Currency [and] #Value (cents|ore|centavos|sens)",group:0,tag:"money",reason:"and-5-cents"},{match:"#Value (mark|rand|won|rub|ore)",tag:"#Money #Currency",reason:"4-mark"},{match:"a pound",tag:"#Money #Unit",reason:"a-pound"},{match:"#Value (pound|pounds)",tag:"#Money #Unit",reason:"4-pounds"}],[{match:"[(half|quarter)] of? (a|an)",group:0,tag:"Fraction",reason:"millionth"},{match:"#Adverb [half]",group:0,tag:"Fraction",reason:"nearly-half"},{match:"[half] the",group:0,tag:"Fraction",reason:"half-the"},{match:"#Cardinal and a half",tag:"Fraction",reason:"and-a-half"},{match:"#Value (halves|halfs|quarters)",tag:"Fraction",reason:"two-halves"},{match:"a #Ordinal",tag:"Fraction",reason:"a-quarter"},{match:"[#Cardinal+] (#Fraction && /s$/)",tag:"Fraction",reason:"seven-fifths"},{match:"[#Cardinal+ #Ordinal] of .",group:0,tag:"Fraction",reason:"ordinal-of"},{match:"[(#NumericValue && #Ordinal)] of .",group:0,tag:"Fraction",reason:"num-ordinal-of"},{match:"(a|one) #Cardinal?+ #Ordinal",tag:"Fraction",reason:"a-ordinal"},{match:"#Cardinal+ out? of every? #Cardinal",tag:"Fraction",reason:"out-of"}],[{match:"#Cardinal [second]",tag:"Unit",reason:"one-second"},{match:"!once? [(a|an)] (#Duration|hundred|thousand|million|billion|trillion)",group:0,tag:"Value",reason:"a-is-one"},{match:"1 #Value #PhoneNumber",tag:"PhoneNumber",reason:"1-800-Value"},{match:"#NumericValue #PhoneNumber",tag:"PhoneNumber",reason:"(800) PhoneNumber"},{match:"#Demonym #Currency",tag:"Currency",reason:"demonym-currency"},{match:"#Value [(buck|bucks|grand)]",group:0,tag:"Currency",reason:"value-bucks"},{match:"[#Value+] #Currency",group:0,tag:"Money",reason:"15 usd"},{match:"[second] #Noun",group:0,tag:"Ordinal",reason:"second-noun"},{match:"#Value+ [#Currency]",group:0,tag:"Unit",reason:"5-yan"},{match:"#Value [(foot|feet)]",group:0,tag:"Unit",reason:"foot-unit"},{match:"#Value [#Abbreviation]",group:0,tag:"Unit",reason:"value-abbr"},{match:"#Value [k]",group:0,tag:"Unit",reason:"value-k"},{match:"#Unit an hour",tag:"Unit",reason:"unit-an-hour"},{match:"(minus|negative) #Value",tag:"Value",reason:"minus-value"},{match:"#Value (point|decimal) #Value",tag:"Value",reason:"value-point-value"},{match:"#Determiner [(half|quarter)] #Ordinal",group:0,tag:"Value",reason:"half-ordinal"},{match:"#Multiple+ and #Value",tag:"Value",reason:"magnitude-and-value"},{match:"#Value #Unit [(per|an) (hr|hour|sec|second|min|minute)]",group:0,tag:"Unit",reason:"12-miles-per-second"},{match:"#Value [(square|cubic)] #Unit",group:0,tag:"Unit",reason:"square-miles"},{match:"^[#Value] (#Determiner|#Gerund)",group:0,tag:"Expression",unTag:"Value",reason:"numbered-list"}],[{match:"#Copula [(#Noun|#PresentTense)] #LastName",group:0,tag:"FirstName",reason:"copula-noun-lastname"},{match:"(sister|pope|brother|father|aunt|uncle|grandpa|grandfather|grandma) #ProperNoun",tag:"Person",reason:"lady-titlecase",safe:!0},{match:"#FirstName [#Determiner #Noun] #LastName",group:0,tag:"Person",reason:"first-noun-last"},{match:"#ProperNoun (b|c|d|e|f|g|h|j|k|l|m|n|o|p|q|r|s|t|u|v|w|x|y|z) #ProperNoun",tag:"Person",reason:"titlecase-acronym-titlecase",safe:!0},{match:"#Acronym #LastName",tag:"Person",reason:"acronym-lastname",safe:!0},{match:"#Person (jr|sr|md)",tag:"Person",reason:"person-honorific"},{match:"#Honorific #Acronym",tag:"Person",reason:"Honorific-TitleCase"},{match:"#Person #Person the? #RomanNumeral",tag:"Person",reason:"roman-numeral"},{match:"#FirstName [/^[^aiurck]$/]",group:0,tag:["Acronym","Person"],reason:"john-e"},{match:"#Noun van der? #Noun",tag:"Person",reason:"van der noun",safe:!0},{match:"(king|queen|prince|saint|lady) of #Noun",tag:"Person",reason:"king-of-noun",safe:!0},{match:"(prince|lady) #Place",tag:"Person",reason:"lady-place"},{match:"(king|queen|prince|saint) #ProperNoun",tag:"Person",reason:"saint-foo"},{match:"al (#Person|#ProperNoun)",tag:"Person",reason:"al-borlen",safe:!0},{match:"#FirstName de #Noun",tag:"Person",reason:"bill-de-noun"},{match:"#FirstName (bin|al) #Noun",tag:"Person",reason:"bill-al-noun"},{match:"#FirstName #Acronym #ProperNoun",tag:"Person",reason:"bill-acronym-title"},{match:"#FirstName #FirstName #ProperNoun",tag:"Person",reason:"bill-firstname-title"},{match:"#Honorific #FirstName? #ProperNoun",tag:"Person",reason:"dr-john-Title"},{match:"#FirstName the #Adjective",tag:"Person",reason:"name-the-great"},{match:"#ProperNoun (van|al|bin) #ProperNoun",tag:"Person",reason:"title-van-title",safe:!0},{match:"#ProperNoun (de|du) la? #ProperNoun",tag:"Person",reason:"title-de-title"},{match:"#Singular #Acronym #LastName",tag:"#FirstName #Person .",reason:"title-acro-noun",safe:!0},{match:"[#ProperNoun] #Person",group:0,tag:"Person",reason:"proper-person",safe:!0},{match:"#Person [#ProperNoun #ProperNoun]",group:0,tag:"Person",notIf:"#Possessive",reason:"three-name-person",safe:!0},{match:"#FirstName #Acronym? [#ProperNoun]",group:0,tag:"LastName",notIf:"#Possessive",reason:"firstname-titlecase"},{match:"#FirstName [#FirstName]",group:0,tag:"LastName",reason:"firstname-firstname"},{match:"#FirstName #Acronym #Noun",tag:"Person",reason:"n-acro-noun",safe:!0},{match:"#FirstName [(de|di|du|van|von)] #Person",group:0,tag:"LastName",reason:"de-firstname"},{match:"[(lieutenant|corporal|sergeant|captain|qeen|king|admiral|major|colonel|marshal|president|queen|king)+] #ProperNoun",group:0,tag:"Honorific",reason:"seargeant-john"},{match:"[(private|general|major|rear|prime|field|count|miss)] #Honorific? #Person",group:0,tag:["Honorific","Person"],reason:"ambg-honorifics"},{match:"#Honorific #FirstName [#Singular]",group:0,tag:"LastName",notIf:"#Possessive",reason:"dr-john-foo",safe:!0},{match:"[(his|her) (majesty|honour|worship|excellency|honorable)] #Person",group:0,tag:"Honorific",reason:"his-excellency"},{match:"#Honorific #Actor",tag:"Honorific",reason:"Lieutenant colonel"},{match:"(first|second|third|1st|2nd|3rd) #Actor",tag:"Honorific",reason:"first lady"},{match:"#Person #RomanNumeral",tag:"Person",reason:"louis-IV"}],[{match:"%Person|Date% #Acronym? #ProperNoun",tag:"Person",reason:"jan-thierson"},{match:"%Person|Noun% #Acronym? #ProperNoun",tag:"Person",reason:"switch-person",safe:!0},{match:"%Person|Noun% #Organization",tag:"Organization",reason:"olive-garden"},{match:"%Person|Verb% #Acronym? #ProperNoun",tag:"Person",reason:"verb-propernoun",ifNo:"#Actor"},{match:"[%Person|Verb%] (will|had|has|said|says|told|did|learned|wants|wanted)",group:0,tag:"Person",reason:"person-said"},{match:"[%Person|Place%] (harbor|harbour|pier|town|city|place|dump|landfill)",group:0,tag:"Place",reason:"sydney-harbour"},{match:"(west|east|north|south) [%Person|Place%]",group:0,tag:"Place",reason:"east-sydney"},{match:"#Modal [%Person|Verb%]",group:0,tag:"Verb",reason:"would-mark"},{match:"#Adverb [%Person|Verb%]",group:0,tag:"Verb",reason:"really-mark"},{match:"[%Person|Verb%] (#Adverb|#Comparative)",group:0,tag:"Verb",reason:"drew-closer"},{match:"%Person|Verb% #Person",tag:"Person",reason:"rob-smith"},{match:"%Person|Verb% #Acronym #ProperNoun",tag:"Person",reason:"rob-a-smith"},{match:"[will] #Verb",group:0,tag:"Modal",reason:"will-verb"},{match:"(will && @isTitleCase) #ProperNoun",tag:"Person",reason:"will-name"},{match:"(#FirstName && !#Possessive) [#Singular] #Verb",group:0,safe:!0,tag:"LastName",reason:"jack-layton"},{match:"^[#Singular] #Person #Verb",group:0,safe:!0,tag:"Person",reason:"sherwood-anderson"},{match:"(a|an) [#Person]$",group:0,unTag:"Person",reason:"a-warhol"}],[{match:"#Copula (pretty|dead|full|well|sure) (#Adjective|#Noun)",tag:"#Copula #Adverb #Adjective",reason:"sometimes-adverb"},{match:"(#Pronoun|#Person) (had|#Adverb)? [better] #PresentTense",group:0,tag:"Modal",reason:"i-better"},{match:"(#Modal|i|they|we|do) not? [like]",group:0,tag:"PresentTense",reason:"modal-like"},{match:"#Noun #Adverb? [left]",group:0,tag:"PastTense",reason:"left-verb"},{match:"will #Adverb? not? #Adverb? [be] #Gerund",group:0,tag:"Copula",reason:"will-be-copula"},{match:"will #Adverb? not? #Adverb? [be] #Adjective",group:0,tag:"Copula",reason:"be-copula"},{match:"[march] (up|down|back|toward)",notIf:"#Date",group:0,tag:"Infinitive",reason:"march-to"},{match:"#Modal [march]",group:0,tag:"Infinitive",reason:"must-march"},{match:"[may] be",group:0,tag:"Verb",reason:"may-be"},{match:"[(subject|subjects|subjected)] to",group:0,tag:"Verb",reason:"subject to"},{match:"[home] to",group:0,tag:"PresentTense",reason:"home to"},{match:"[open] #Determiner",group:0,tag:"Infinitive",reason:"open-the"},{match:"(were|was) being [#PresentTense]",group:0,tag:"PastTense",reason:"was-being"},{match:"(had|has|have) [been /en$/]",group:0,tag:"Auxiliary Participle",reason:"had-been-broken"},{match:"(had|has|have) [been /ed$/]",group:0,tag:"Auxiliary PastTense",reason:"had-been-smoked"},{match:"(had|has) #Adverb? [been] #Adverb? #PastTense",group:0,tag:"Auxiliary",reason:"had-been-adj"},{match:"(had|has) to [#Noun] (#Determiner|#Possessive)",group:0,tag:"Infinitive",reason:"had-to-noun"},{match:"have [#PresentTense]",group:0,tag:"PastTense",notIf:"(come|gotten)",reason:"have-read"},{match:"(does|will|#Modal) that [work]",group:0,tag:"PastTense",reason:"does-that-work"},{match:"[(sound|sounds)] #Adjective",group:0,tag:"PresentTense",reason:"sounds-fun"},{match:"[(look|looks)] #Adjective",group:0,tag:"PresentTense",reason:"looks-good"},{match:"[(start|starts|stop|stops|begin|begins)] #Gerund",group:0,tag:"Verb",reason:"starts-thinking"},{match:"(have|had) read",tag:"Modal #PastTense",reason:"read-read"},{match:"(is|was|were) [(under|over) #PastTense]",group:0,tag:"Adverb Adjective",reason:"was-under-cooked"},{match:"[shit] (#Determiner|#Possessive|them)",group:0,tag:"Verb",reason:"swear1-verb"},{match:"[damn] (#Determiner|#Possessive|them)",group:0,tag:"Verb",reason:"swear2-verb"},{match:"[fuck] (#Determiner|#Possessive|them)",group:0,tag:"Verb",reason:"swear3-verb"},{match:"#Plural that %Noun|Verb%",tag:". #Preposition #Infinitive",reason:"jobs-that-work"},{match:"[works] for me",group:0,tag:"PresentTense",reason:"works-for-me"},{match:"as #Pronoun [please]",group:0,tag:"Infinitive",reason:"as-we-please"},{match:"[(co|mis|de|inter|intra|pre|re|un|out|under|over|counter)] #Verb",group:0,tag:["Verb","Prefix"],notIf:"(#Copula|#PhrasalVerb)",reason:"co-write"},{match:"#PastTense and [%Adj|Past%]",group:0,tag:"PastTense",reason:"dressed-and-left"},{match:"[%Adj|Past%] and #PastTense",group:0,tag:"PastTense",reason:"dressed-and-left"},{match:"#Copula #Pronoun [%Adj|Past%]",group:0,tag:"Adjective",reason:"is-he-stoked"},{match:"to [%Noun|Verb%] #Preposition",group:0,tag:"Infinitive",reason:"to-dream-of"}],[{match:"(slowly|quickly) [#Adjective]",group:0,tag:"Verb",reason:"slowly-adj"},{match:"does (#Adverb|not)? [#Adjective]",group:0,tag:"PresentTense",reason:"does-mean"},{match:"[(fine|okay|cool|ok)] by me",group:0,tag:"Adjective",reason:"okay-by-me"},{match:"i (#Adverb|do)? not? [mean]",group:0,tag:"PresentTense",reason:"i-mean"},{match:"will #Adjective",tag:"Auxiliary Infinitive",reason:"will-adj"},{match:"#Pronoun [#Adjective] #Determiner #Adjective? #Noun",group:0,tag:"Verb",reason:"he-adj-the"},{match:"#Copula [%Adj|Present%] to #Verb",group:0,tag:"Verb",reason:"adj-to"},{match:"#Copula [#Adjective] (well|badly|quickly|slowly)",group:0,tag:"Verb",reason:"done-well"},{match:"#Adjective and [#Gerund] !#Preposition?",group:0,tag:"Adjective",reason:"rude-and-x"},{match:"#Copula #Adverb? (over|under) [#PastTense]",group:0,tag:"Adjective",reason:"over-cooked"},{match:"#Copula #Adjective+ (and|or) [#PastTense]$",group:0,tag:"Adjective",reason:"bland-and-overcooked"},{match:"got #Adverb? [#PastTense] of",group:0,tag:"Adjective",reason:"got-tired-of"},{match:"(seem|seems|seemed|appear|appeared|appears|feel|feels|felt|sound|sounds|sounded) (#Adverb|#Adjective)? [#PastTense]",group:0,tag:"Adjective",reason:"felt-loved"},{match:"(seem|feel|seemed|felt) [#PastTense #Particle?]",group:0,tag:"Adjective",reason:"seem-confused"},{match:"a (bit|little|tad) [#PastTense #Particle?]",group:0,tag:"Adjective",reason:"a-bit-confused"},{match:"not be [%Adj|Past% #Particle?]",group:0,tag:"Adjective",reason:"do-not-be-confused"},{match:"#Copula just [%Adj|Past% #Particle?]",group:0,tag:"Adjective",reason:"is-just-right"},{match:"as [#Infinitive] as",group:0,tag:"Adjective",reason:"as-pale-as"},{match:"[%Adj|Past%] and #Adjective",group:0,tag:"Adjective",reason:"faled-and-oppressive"},{match:"or [#PastTense] #Noun",group:0,tag:"Adjective",notIf:"(#Copula|#Pronoun)",reason:"or-heightened-emotion"},{match:"(become|became|becoming|becomes) [#Verb]",group:0,tag:"Adjective",reason:"become-verb"},{match:"#Possessive [#PastTense] #Noun",group:0,tag:"Adjective",reason:"declared-intentions"},{match:"#Copula #Pronoun [%Adj|Present%]",group:0,tag:"Adjective",reason:"is-he-cool"}],[{match:"will (#Adverb|not)+? [have] (#Adverb|not)+? #Verb",group:0,tag:"Auxiliary",reason:"will-have-vb"},{match:"[#Copula] (#Adverb|not)+? (#Gerund|#PastTense)",group:0,tag:"Auxiliary",reason:"copula-walking"},{match:"[(#Modal|did)+] (#Adverb|not)+? #Verb",group:0,tag:"Auxiliary",reason:"modal-verb"},{match:"#Modal (#Adverb|not)+? [have] (#Adverb|not)+? [had] (#Adverb|not)+? #Verb",group:0,tag:"Auxiliary",reason:"would-have"},{match:"[(has|had)] (#Adverb|not)+? #PastTense",group:0,tag:"Auxiliary",reason:"had-walked"},{match:"[(do|does|did|will|have|had|has|got)] (not|#Adverb)+? #Verb",group:0,tag:"Auxiliary",reason:"have-had"},{match:"[about to] #Adverb? #Verb",group:0,tag:["Auxiliary","Verb"],reason:"about-to"},{match:"#Modal (#Adverb|not)+? [be] (#Adverb|not)+? #Verb",group:0,tag:"Auxiliary",reason:"would-be"},{match:"[(#Modal|had|has)] (#Adverb|not)+? [been] (#Adverb|not)+? #Verb",group:0,tag:"Auxiliary",reason:"had-been"},{match:"[(be|being|been)] #Participle",group:0,tag:"Auxiliary",reason:"being-driven"},{match:"[may] #Adverb? #Infinitive",group:0,tag:"Auxiliary",reason:"may-want"},{match:"#Copula (#Adverb|not)+? [(be|being|been)] #Adverb+? #PastTense",group:0,tag:"Auxiliary",reason:"being-walked"},{match:"will [be] #PastTense",group:0,tag:"Auxiliary",reason:"will-be-x"},{match:"[(be|been)] (#Adverb|not)+? #Gerund",group:0,tag:"Auxiliary",reason:"been-walking"},{match:"[used to] #PresentTense",group:0,tag:"Auxiliary",reason:"used-to-walk"},{match:"#Copula (#Adverb|not)+? [going to] #Adverb+? #PresentTense",group:0,tag:"Auxiliary",reason:"going-to-walk"},{match:"#Imperative [(me|him|her)]",group:0,tag:"Reflexive",reason:"tell-him"},{match:"(is|was) #Adverb? [no]",group:0,tag:"Negative",reason:"is-no"},{match:"[(been|had|became|came)] #PastTense",group:0,notIf:"#PhrasalVerb",tag:"Auxiliary",reason:"been-told"},{match:"[(being|having|getting)] #Verb",group:0,tag:"Auxiliary",reason:"being-born"},{match:"[be] #Gerund",group:0,tag:"Auxiliary",reason:"be-walking"},{match:"[better] #PresentTense",group:0,tag:"Modal",notIf:"(#Copula|#Gerund)",reason:"better-go"},{match:"even better",tag:"Adverb #Comparative",reason:"even-better"}],[{match:"(#Verb && @hasHyphen) up",tag:"PhrasalVerb",reason:"foo-up"},{match:"(#Verb && @hasHyphen) off",tag:"PhrasalVerb",reason:"foo-off"},{match:"(#Verb && @hasHyphen) over",tag:"PhrasalVerb",reason:"foo-over"},{match:"(#Verb && @hasHyphen) out",tag:"PhrasalVerb",reason:"foo-out"},{match:"[#Verb (in|out|up|down|off|back)] (on|in)",notIf:"#Copula",tag:"PhrasalVerb Particle",reason:"walk-in-on"},{match:"(lived|went|crept|go) [on] for",group:0,tag:"PhrasalVerb",reason:"went-on"},{match:"#Verb (up|down|in|on|for)$",tag:"PhrasalVerb #Particle",notIf:"#PhrasalVerb",reason:"come-down$"},{match:"help [(stop|end|make|start)]",group:0,tag:"Infinitive",reason:"help-stop"},{match:"#PhrasalVerb (in && #Particle) #Determiner",tag:"#Verb #Preposition #Determiner",unTag:"PhrasalVerb",reason:"work-in-the"},{match:"[(stop|start|finish|help)] #Gerund",group:0,tag:"Infinitive",reason:"start-listening"},{match:"#Verb (him|her|it|us|himself|herself|itself|everything|something) [(up|down)]",group:0,tag:"Adverb",reason:"phrasal-pronoun-advb"}],[{match:"^do not? [#Infinitive #Particle?]",notIf:qu,group:0,tag:"Imperative",reason:"do-eat"},{match:"^please do? not? [#Infinitive #Particle?]",group:0,tag:"Imperative",reason:"please-go"},{match:"^just do? not? [#Infinitive #Particle?]",group:0,tag:"Imperative",reason:"just-go"},{match:"^[#Infinitive] it #Comparative",notIf:qu,group:0,tag:"Imperative",reason:"do-it-better"},{match:"^[#Infinitive] it (please|now|again|plz)",notIf:qu,group:0,tag:"Imperative",reason:"do-it-please"},{match:"^[#Infinitive] (#Adjective|#Adverb)$",group:0,tag:"Imperative",notIf:"(so|such|rather|enough)",reason:"go-quickly"},{match:"^[#Infinitive] (up|down|over) #Determiner",group:0,tag:"Imperative",reason:"turn-down"},{match:"^[#Infinitive] (your|my|the|a|an|any|each|every|some|more|with|on)",group:0,notIf:"like",tag:"Imperative",reason:"eat-my-shorts"},{match:"^[#Infinitive] (him|her|it|us|me|there)",group:0,tag:"Imperative",reason:"tell-him"},{match:"^[#Infinitive] #Adjective #Noun$",group:0,tag:"Imperative",reason:"avoid-loud-noises"},{match:"^[#Infinitive] (#Adjective|#Adverb)? and #Infinitive",group:0,tag:"Imperative",reason:"call-and-reserve"},{match:"^(go|stop|wait|hurry) please?$",tag:"Imperative",reason:"go"},{match:"^(somebody|everybody) [#Infinitive]",group:0,tag:"Imperative",reason:"somebody-call"},{match:"^let (us|me) [#Infinitive]",group:0,tag:"Imperative",reason:"lets-leave"},{match:"^[(shut|close|open|start|stop|end|keep)] #Determiner #Noun",group:0,tag:"Imperative",reason:"shut-the-door"},{match:"^[#PhrasalVerb #Particle] #Determiner #Noun",group:0,tag:"Imperative",reason:"turn-off-the-light"},{match:"^[go] to .",group:0,tag:"Imperative",reason:"go-to-toronto"},{match:"^#Modal you [#Infinitive]",group:0,tag:"Imperative",reason:"would-you-"},{match:"^never [#Infinitive]",group:0,tag:"Imperative",reason:"never-stop"},{match:"^come #Infinitive",tag:"Imperative",notIf:"on",reason:"come-have"},{match:"^come and? #Infinitive",tag:"Imperative . Imperative",notIf:"#PhrasalVerb",reason:"come-and-have"},{match:"^stay (out|away|back)",tag:"Imperative",reason:"stay-away"},{match:"^[(stay|be|keep)] #Adjective",group:0,tag:"Imperative",reason:"stay-cool"},{match:"^[keep it] #Adjective",group:0,tag:"Imperative",reason:"keep-it-cool"},{match:"^do not [#Infinitive]",group:0,tag:"Imperative",reason:"do-not-be"},{match:"[#Infinitive] (yourself|yourselves)",group:0,tag:"Imperative",reason:"allow-yourself"},{match:"[#Infinitive] what .",group:0,tag:"Imperative",reason:"look-what"},{match:"^[#Infinitive] #Gerund",group:0,tag:"Imperative",reason:"keep-playing"},{match:"^[#Infinitive] (to|for|into|toward|here|there)",group:0,tag:"Imperative",reason:"go-to"},{match:"^[#Infinitive] (and|or) #Infinitive",group:0,tag:"Imperative",reason:"inf-and-inf"},{match:"^[%Noun|Verb%] to",group:0,tag:"Imperative",reason:"commit-to"},{match:"^[#Infinitive] #Adjective? #Singular #Singular",group:0,tag:"Imperative",reason:"maintain-eye-contact"},{match:"do not (forget|omit|neglect) to [#Infinitive]",group:0,tag:"Imperative",reason:"do-not-forget"},{match:"^[(ask|wear|pay|look|help|show|watch|act|fix|kill|stop|start|turn|try|win)] #Noun",group:0,tag:"Imperative",reason:"pay-attention"}],[{match:"(that|which) were [%Adj|Gerund%]",group:0,tag:"Gerund",reason:"that-were-growing"},{match:"#Gerund [#Gerund] #Plural",group:0,tag:"Adjective",reason:"hard-working-fam"}],[{match:"u r",tag:"#Pronoun #Copula",reason:"u r"},{match:"#Noun [(who|whom)]",group:0,tag:"Determiner",reason:"captain-who"},{match:"[had] #Noun+ #PastTense",group:0,tag:"Condition",reason:"had-he"},{match:"[were] #Noun+ to #Infinitive",group:0,tag:"Condition",reason:"were-he"},{match:"some sort of",tag:"Adjective Noun Conjunction",reason:"some-sort-of"},{match:"of some sort",tag:"Conjunction Adjective Noun",reason:"of-some-sort"},{match:"[such] (a|an|is)? #Noun",group:0,tag:"Determiner",reason:"such-skill"},{match:"[right] (before|after|in|into|to|toward)",group:0,tag:"#Adverb",reason:"right-into"},{match:"#Preposition [about]",group:0,tag:"Adjective",reason:"at-about"},{match:"(are|#Modal|see|do|for) [ya]",group:0,tag:"Pronoun",reason:"are-ya"},{match:"[long live] .",group:0,tag:"#Adjective #Infinitive",reason:"long-live"},{match:"[plenty] of",group:0,tag:"#Uncountable",reason:"plenty-of"},{match:"(always|nearly|barely|practically) [there]",group:0,tag:"Adjective",reason:"always-there"},{match:"[there] (#Adverb|#Pronoun)? #Copula",group:0,tag:"There",reason:"there-is"},{match:"#Copula [there] .",group:0,tag:"There",reason:"is-there"},{match:"#Modal #Adverb? [there]",group:0,tag:"There",reason:"should-there"},{match:"^[do] (you|we|they)",group:0,tag:"QuestionWord",reason:"do-you"},{match:"^[does] (he|she|it|#ProperNoun)",group:0,tag:"QuestionWord",reason:"does-he"},{match:"a [while]",group:0,tag:"Noun",reason:"a-while"},{match:"guess who",tag:"#Infinitive #QuestionWord",reason:"guess-who"},{match:"[fucking] !#Verb",group:0,tag:"#Gerund",reason:"f-as-gerund"}],[{match:"#Noun (&|n) #Noun",tag:"Organization",reason:"Noun-&-Noun"},{match:"#Organization of the? #ProperNoun",tag:"Organization",reason:"org-of-place",safe:!0},{match:"#Organization #Country",tag:"Organization",reason:"org-country"},{match:"#ProperNoun #Organization",tag:"Organization",reason:"titlecase-org"},{match:"#ProperNoun (ltd|co|inc|dept|assn|bros)",tag:"Organization",reason:"org-abbrv"},{match:"the [#Acronym]",group:0,tag:"Organization",reason:"the-acronym",safe:!0},{match:"(world|global|international|national|#Demonym) #Organization",tag:"Organization",reason:"global-org"},{match:"#Noun+ (public|private) school",tag:"School",reason:"noun-public-school"}],[{match:"(west|north|south|east|western|northern|southern|eastern)+ #Place",tag:"Region",reason:"west-norfolk"},{match:"#City [(al|ak|az|ar|ca|ct|dc|fl|ga|id|il|nv|nh|nj|ny|oh|pa|sc|tn|tx|ut|vt|pr)]",group:0,tag:"Region",reason:"us-state"},{match:"portland [or]",group:0,tag:"Region",reason:"portland-or"},{match:"#ProperNoun+ (district|region|province|county|prefecture|municipality|territory|burough|reservation)",tag:"Region",reason:"foo-district"},{match:"#ProperNoun+ (river|lake|bay|inlet|creek|narrows|cove|dune|coast|lagoon|beach|peninsula|hill|mountain|canyon|marsh|island|trail|valley|glacier|estuary|desert|escarpment|gorge|plains|waterfall)",tag:"Place",reason:"foo-river"},{match:"(river|gulf|lake) of? #ProperNoun+",tag:"Place",reason:"river-foo"},{match:"(district|region|province|municipality|territory|burough|state) of #ProperNoun",tag:"Region",reason:"district-of-Foo"},{match:"in [#ProperNoun] #Place",group:0,tag:"Place",reason:"propernoun-place"},{match:"#Value #Noun (st|street|rd|road|crescent|cr|way|tr|terrace|avenue|ave)",tag:"Address",reason:"address-st"}],[{match:"[so] #Noun",group:0,tag:"Conjunction",reason:"so-conj"},{match:"[(who|what|where|why|how|when)] #Noun #Copula #Adverb? (#Verb|#Adjective)",group:0,tag:"Conjunction",reason:"how-he-is-x"},{match:"#Copula [(who|what|where|why|how|when)] #Noun",group:0,tag:"Conjunction",reason:"when-he"},{match:"#Verb [that] #Pronoun",group:0,tag:"Conjunction",reason:"said-that-he"},{match:"#Noun [that] #Copula",group:0,tag:"Conjunction",reason:"that-are"},{match:"#Noun [that] #Verb #Adjective",group:0,tag:"Conjunction",reason:"that-seem"},{match:"#Noun #Copula not? [that] #Adjective",group:0,tag:"Adverb",reason:"that-adj"},{match:"#Verb #Adverb? #Noun [(that|which)]",group:0,tag:"Preposition",reason:"that-prep"},{match:"@hasComma [which] (#Pronoun|#Verb)",group:0,tag:"Preposition",reason:"which-copula"},{match:"#Noun [like] #Noun",group:0,tag:"Preposition",reason:"noun-like"},{match:"^[like] #Determiner",group:0,tag:"Preposition",reason:"like-the"},{match:"a #Noun [like] (#Noun|#Determiner)",group:0,tag:"Preposition",reason:"a-noun-like"},{match:"#Adverb [like]",group:0,tag:"Verb",reason:"really-like"},{match:"(not|nothing|never) [like]",group:0,tag:"Preposition",reason:"nothing-like"},{match:"#Infinitive #Pronoun [like]",group:0,tag:"Preposition",reason:"treat-them-like"},{match:"[#QuestionWord] (#Pronoun|#Determiner)",group:0,tag:"Preposition",reason:"how-he"},{match:"[#QuestionWord] #Participle",group:0,tag:"Preposition",reason:"when-stolen"},{match:"[how] (#Determiner|#Copula|#Modal|#PastTense)",group:0,tag:"QuestionWord",reason:"how-is"},{match:"#Plural [(who|which|when)] .",group:0,tag:"Preposition",reason:"people-who"}],[{match:"holy (shit|fuck|hell)",tag:"Expression",reason:"swears-expression"},{match:"^[(well|so|okay|now)] !#Adjective?",group:0,tag:"Expression",reason:"well-"},{match:"^come on",tag:"Expression",reason:"come-on"},{match:"(say|says|said) [sorry]",group:0,tag:"Expression",reason:"say-sorry"},{match:"^(ok|alright|shoot|hell|anyways)",tag:"Expression",reason:"ok-"},{match:"^(say && @hasComma)",tag:"Expression",reason:"say-"},{match:"^(like && @hasComma)",tag:"Expression",reason:"like-"},{match:"^[(dude|man|girl)] #Pronoun",group:0,tag:"Expression",reason:"dude-i"}]);let Qu=null;var Ru={postTagger:function(e){const{world:t}=e,{model:n,methods:a}=t;Qu=Qu||a.one.buildNet(n.two.matches,t);let r=a.two.quickSplit(e.document).map((e=>{let t=e[0];return[t.index[0],t.index[1],t.index[1]+e.length]})),o=e.update(r);return o.cache(),o.sweep(Qu),e.uncache(),e},tagger:e=>e.compute(["lexicon","preTagger","postTagger"])};const Xu={api:function(e){e.prototype.confidence=function(){let e=0,t=0;return this.docs.forEach((n=>{n.forEach((n=>{t+=1,e+=n.confidence||1}))})),0===t?1:(e=>Math.round(100*e)/100)(e/t)},e.prototype.tagger=function(){return this.compute(["tagger"])}},compute:Ru,model:{two:{matches:Uu}},hooks:["postTagger"]};var Zu=Xu;var _u=function(e,t){let n=function(e){return Object.keys(e.hooks).filter((e=>!e.startsWith("#")&&!e.startsWith("%")))}(t);if(0===n.length)return e;e._cache||e.cache();let a=e._cache;return e.filter(((e,t)=>n.some((e=>a[t].has(e)))))};var Yu=function(e,t){let n=t;"string"==typeof t&&(n=this.buildNet([{match:t}]));let a=this.tokenize(e),r=_u(a,n);return r.found?(r.compute(["index","tagger"]),r.match(t)):a.none()},ec={lib:{lazy:Yu}};var tc=function(e,t){let n=t;return e.forEach((e=>{e.has("#Infinitive")||(n=function(e,t){let n=(0,e.methods.two.transform.verb.conjugate)(t,e.model);return e.has("#Gerund")?n.Gerund:e.has("#PastTense")?n.PastTense:e.has("#PresentTense")?n.PresentTense:e.has("#Gerund")?n.Gerund:t}(e,t)),e.replaceWith(n)})),e};var nc=function(e,t,n){let a=e.split(/ /g).map((e=>e.toLowerCase().trim()));a=a.filter((e=>e)),a=a.map((e=>`{${e}}`)).join(" ");let r=this.match(a);return n&&(r=r.if(n)),r.has("#Verb")?tc(r,t):r.has("#Noun")?function(e,t){let n=t;e.has("#Plural")&&(n=(0,e.methods.two.transform.noun.toPlural)(t,e.model));e.replaceWith(n,{possessives:!0})}(r,t):r.has("#Adverb")?function(e,t){const{toAdverb:n}=e.methods.two.transform.adjective;let a=n(t);a&&e.replaceWith(a)}(r,t):r.has("#Adjective")?function(e,t){const{toComparative:n,toSuperlative:a}=e.methods.two.transform.adjective;let r=t;e.has("#Comparative")?r=n(r,e.model):e.has("#Superlative")&&(r=a(r,e.model)),r&&e.replaceWith(r)}(r,t):this};var ac={api:function(e){e.prototype.swap=nc}};b.plugin(Iu),b.plugin(Wu),b.plugin(Zu),b.plugin(ec),b.plugin(ac);export{b as default}; +var e={methods:{one:{},two:{},three:{},four:{}},model:{one:{},two:{},three:{}},compute:{},hooks:[]};const t={compute:function(e){const{world:t}=this,n=t.compute;return"string"==typeof e&&n.hasOwnProperty(e)?n[e](this):(e=>"[object Array]"===Object.prototype.toString.call(e))(e)?e.forEach((a=>{t.compute.hasOwnProperty(a)?n[a](this):console.warn("no compute:",e)})):"function"==typeof e?e(this):console.warn("no compute:",e),this}};var n=t;var a={forEach:function(e){return this.fullPointer.forEach(((t,n)=>{let a=this.update([t]);e(a,n)})),this},map:function(e,t){let n=this.fullPointer.map(((t,n)=>{let a=this.update([t]),r=e(a,n);return void 0===r?this.none():r}));if(0===n.length)return t||this.update([]);if(void 0!==n[0]){if("string"==typeof n[0])return n;if("object"==typeof n[0]&&(null===n[0]||!n[0].isView))return n}let a=[];return n.forEach((e=>{a=a.concat(e.fullPointer)})),this.toView(a)},filter:function(e){let t=this.fullPointer;return t=t.filter(((t,n)=>{let a=this.update([t]);return e(a,n)})),this.update(t)},find:function(e){let t=this.fullPointer.find(((t,n)=>{let a=this.update([t]);return e(a,n)}));return this.update([t])},some:function(e){return this.fullPointer.some(((t,n)=>{let a=this.update([t]);return e(a,n)}))},random:function(e=1){let t=this.fullPointer,n=Math.floor(Math.random()*t.length);return n+e>this.length&&(n=this.length-e,n=n<0?0:n),t=t.slice(n,n+e),this.update(t)}};const r={termList:function(){return this.methods.one.termList(this.docs)},terms:function(e){let t=this.match(".");return"number"==typeof e?t.eq(e):t},groups:function(e){if(e||0===e)return this.update(this._groups[e]||[]);let t={};return Object.keys(this._groups).forEach((e=>{t[e]=this.update(this._groups[e])})),t},eq:function(e){let t=this.pointer;return t||(t=this.docs.map(((e,t)=>[t]))),t[e]?this.update([t[e]]):this.none()},first:function(){return this.eq(0)},last:function(){let e=this.fullPointer.length-1;return this.eq(e)},firstTerms:function(){return this.match("^.")},lastTerms:function(){return this.match(".$")},slice:function(e,t){let n=this.pointer||this.docs.map(((e,t)=>[t]));return n=n.slice(e,t),this.update(n)},all:function(){return this.update().toView()},fullSentences:function(){let e=this.fullPointer.map((e=>[e[0]]));return this.update(e).toView()},none:function(){return this.update([])},isDoc:function(e){if(!e||!e.isView)return!1;let t=this.fullPointer,n=e.fullPointer;return!t.length!==n.length&&t.every(((e,t)=>!!n[t]&&(e[0]===n[t][0]&&e[1]===n[t][1]&&e[2]===n[t][2])))},wordCount:function(){return this.docs.reduce(((e,t)=>(e+=t.filter((e=>""!==e.text)).length,e)),0)},isFull:function(){let e=this.pointer;if(!e)return!0;if(0===e.length||0!==e[0][0])return!1;let t=0,n=0;return this.document.forEach((e=>t+=e.length)),this.docs.forEach((e=>n+=e.length)),t===n},getNth:function(e){return"number"==typeof e?this.eq(e):"string"==typeof e?this.if(e):this}};r.group=r.groups,r.fullSentence=r.fullSentences,r.sentence=r.fullSentences,r.lastTerm=r.lastTerms,r.firstTerm=r.firstTerms;var o=r;const i=Object.assign({},o,n,a);i.get=i.eq;var s=i;class View{constructor(t,n,a={}){[["document",t],["world",e],["_groups",a],["_cache",null],["viewType","View"]].forEach((e=>{Object.defineProperty(this,e[0],{value:e[1],writable:!0})})),this.ptrs=n}get docs(){let t=this.document;return this.ptrs&&(t=e.methods.one.getDoc(this.ptrs,this.document)),t}get pointer(){return this.ptrs}get methods(){return this.world.methods}get model(){return this.world.model}get hooks(){return this.world.hooks}get isView(){return!0}get found(){return this.docs.length>0}get length(){return this.docs.length}get fullPointer(){let{docs:e,ptrs:t,document:n}=this,a=t||e.map(((e,t)=>[t]));return a.map((e=>{let[t,a,r,o,i]=e;return a=a||0,r=r||(n[t]||[]).length,n[t]&&n[t][a]&&(o=o||n[t][a].id,n[t][r-1]&&(i=i||n[t][r-1].id)),[t,a,r,o,i]}))}update(e){let t=new View(this.document,e);if(this._cache&&e&&e.length>0){let n=[];e.forEach(((e,t)=>{let[a,r,o]=e;(1===e.length||0===r&&this.document[a].length===o)&&(n[t]=this._cache[a])})),n.length>0&&(t._cache=n)}return t.world=this.world,t}toView(e){return new View(this.document,e||this.pointer)}fromText(e){const{methods:t}=this;let n=t.one.tokenize.fromString(e,this.world),a=new View(n);return a.world=this.world,a.compute(["normal","lexicon"]),this.world.compute.preTagger&&a.compute("preTagger"),a}clone(){let e=this.document.slice(0);e=e.map((e=>e.map((e=>((e=Object.assign({},e)).tags=new Set(e.tags),e)))));let t=this.update(this.pointer);return t.document=e,t._cache=this._cache,t}}Object.assign(View.prototype,s);var l=View;const u=function(e){return e&&"object"==typeof e&&!Array.isArray(e)};function c(e,t){if(u(t))for(const n in t)u(t[n])?(e[n]||Object.assign(e,{[n]:{}}),c(e[n],t[n])):Object.assign(e,{[n]:t[n]});return e}var d=function(e,t,n,a){const{methods:r,model:o,compute:i,hooks:s}=t;e.methods&&function(e,t){for(const n in t)e[n]=e[n]||{},Object.assign(e[n],t[n])}(r,e.methods),e.model&&c(o,e.model),e.irregulars&&function(e,t){let n=e.two.models||{};Object.keys(t).forEach((e=>{t[e].pastTense&&(n.toPast&&(n.toPast.ex[e]=t[e].pastTense),n.fromPast&&(n.fromPast.ex[t[e].pastTense]=e)),t[e].presentTense&&(n.toPresent&&(n.toPresent.ex[e]=t[e].presentTense),n.fromPresent&&(n.fromPresent.ex[t[e].presentTense]=e)),t[e].gerund&&(n.toGerund&&(n.toGerund.ex[e]=t[e].gerund),n.fromGerund&&(n.fromGerund.ex[t[e].gerund]=e)),t[e].comparative&&(n.toComparative&&(n.toComparative.ex[e]=t[e].comparative),n.fromComparative&&(n.fromComparative.ex[t[e].comparative]=e)),t[e].superlative&&(n.toSuperlative&&(n.toSuperlative.ex[e]=t[e].superlative),n.fromSuperlative&&(n.fromSuperlative.ex[t[e].superlative]=e))}))}(o,e.irregulars),e.compute&&Object.assign(i,e.compute),s&&(t.hooks=s.concat(e.hooks||[])),e.api&&e.api(n),e.lib&&Object.keys(e.lib).forEach((t=>a[t]=e.lib[t])),e.tags&&a.addTags(e.tags),e.words&&a.addWords(e.words),e.mutate&&e.mutate(t)};const h=function(e){return"[object Array]"===Object.prototype.toString.call(e)};var m=function(e,t,n){const{methods:a}=n;let r=new t([]);if(r.world=n,"number"==typeof e&&(e=String(e)),!e)return r;if("string"==typeof e){return new t(a.one.tokenize.fromString(e,n))}if(o=e,"[object Object]"===Object.prototype.toString.call(o)&&e.isView)return new t(e.document,e.ptrs);var o;if(h(e)){if(h(e[0])){let n=e.map((e=>e.map((e=>({text:e,normal:e,pre:"",post:" ",tags:new Set})))));return new t(n)}let n=function(e){return e.map((e=>e.terms.map((e=>(h(e.tags)&&(e.tags=new Set(e.tags)),e)))))}(e);return new t(n)}return r};let p=Object.assign({},e);const f=function(e,t){t&&f.addWords(t);let n=m(e,l,p);return e&&n.compute(p.hooks),n};Object.defineProperty(f,"_world",{value:p,writable:!0}),f.tokenize=function(e,t){const{compute:n}=this._world;t&&f.addWords(t);let a=m(e,l,p);return n.contractions&&a.compute(["alias","normal","machine","contractions"]),a},f.plugin=function(e){return d(e,this._world,l,this),this},f.extend=f.plugin,f.world=function(){return this._world},f.model=function(){return this._world.model},f.methods=function(){return this._world.methods},f.hooks=function(){return this._world.hooks},f.verbose=function(e){const t="undefined"!=typeof process&&process.env?process.env:self.env||{};return t.DEBUG_TAGS="tagger"===e||!0===e||"",t.DEBUG_MATCH="match"===e||!0===e||"",t.DEBUG_CHUNKS="chunker"===e||!0===e||"",this},f.version="14.10.1";var b=f;var v=function(e){let t=e.map((e=>{let t=new Set;return e.forEach((e=>{""!==e.normal&&t.add(e.normal),e.switch&&t.add(`%${e.switch}%`),e.implicit&&t.add(e.implicit),e.machine&&t.add(e.machine),e.root&&t.add(e.root),e.alias&&e.alias.forEach((e=>t.add(e)));let n=Array.from(e.tags);for(let e=0;e/^\p{Lu}[\p{Ll}'’]/u.test(e)||/^\p{Lu}$/u.test(e),A=(e,t,n)=>{if(n.forEach((e=>e.dirty=!0)),e){let a=[t,0].concat(n);Array.prototype.splice.apply(e,a)}return e},C=function(e){let t=e[e.length-1];!t||/ $/.test(t.post)||/[-–—]/.test(t.post)||(t.post+=" ")},j=(e,t,n)=>{const a=/[-.?!,;:)–—'"]/g;let r=e[t-1];if(!r)return;let o=r.post;if(a.test(o)){let e=o.match(a).join(""),t=n[n.length-1];t.post=e+t.post,r.post=r.post.replace(a,"")}},N=function(e,t,n,a){let[r,o,i]=t;0===o||i===a[r].length?C(n):(C(n),C([e[t[1]]])),function(e,t,n){let a=e[t];if(0!==t||!P(a.text))return;n[0].text=n[0].text.replace(/^\p{Ll}/u,(e=>e.toUpperCase()));let r=e[t];r.tags.has("ProperNoun")||r.tags.has("Acronym")||P(r.text)&&r.text.length>1&&(r.text=(o=r.text,o.replace(/^\p{Lu}/u,(e=>e.toLowerCase()))));var o}(e,o,n),A(e,o,n)};let I=0;const H=e=>(e=e.length<3?"0"+e:e).length<3?"0"+e:e;var D=function(e){let[t,n]=e.index||[0,0];I+=1,I=I>46655?0:I,t=t>46655?0:t,n=n>1294?0:n;let a=H(I.toString(36));a+=H(t.toString(36));let r=n.toString(36);return r=r.length<2?"0"+r:r,a+=r,a+=parseInt(36*Math.random(),10).toString(36),e.normal+"|"+a.toUpperCase()};const G=function(e){if(e.has("@hasContraction")&&"function"==typeof e.contractions){e.grow("@hasContraction").contractions().expand()}},T=e=>"[object Array]"===Object.prototype.toString.call(e),x=function(e,t,n){const{document:a,world:r}=t;t.uncache();let o=t.fullPointer,i=t.fullPointer;t.forEach(((s,l)=>{let u=s.fullPointer[0],[c]=u,d=a[c],h=function(e,t){const{methods:n}=t;return"string"==typeof e?n.one.tokenize.fromString(e,t)[0]:"object"==typeof e&&e.isView?e.clone().docs[0]||[]:T(e)?T(e[0])?e[0]:e:[]}(e,r);0!==h.length&&(h=function(e){return e.map((e=>(e.id=D(e),e)))}(h),n?(G(t.update([u]).firstTerm()),N(d,u,h,a)):(G(t.update([u]).lastTerm()),function(e,t,n,a){let[r,,o]=t,i=(a[r]||[]).length;o{let n=t(e);e.replaceWith(n)})),e}(a,e);let r=a.docs[0],o=t.possessives&&r[r.length-1].tags.has("Possessive");e=function(e,t){if("string"!=typeof e)return e;let n=t.groups();return e=e.replace(O,(e=>{let t=e.replace(/\$/,"");return n.hasOwnProperty(t)?n[t].text():e})),e}(e,a);let i=this.update(n);n=n.map((e=>e.slice(0,3)));let s=(i.docs[0]||[]).map((e=>Array.from(e.tags)));if("string"==typeof e&&(e=this.fromText(e).compute("id")),a.insertAfter(e),i.has("@hasContraction")&&a.contractions){a.grow("@hasContraction+").contractions().expand()}if(a.delete(i),o){let e=a.docs[0],t=e[e.length-1];t.tags.has("Possessive")||(t.text+="'s",t.normal+="'s",t.tags.add("Possessive"))}let l=a.toView(n).compute(["index","lexicon"]);return l.world.compute.preTagger&&l.compute("preTagger"),t.tags&&l.terms().forEach(((e,t)=>{e.tagSafe(s[t])})),t.case&&l.docs[0]&&l.docs[0][0]&&0===l.docs[0][0].index[1]&&(l.docs[0][0].text=l.docs[0][0].text.replace(/\w\S*/g,(e=>e.charAt(0).toUpperCase()+e.substring(1).toLowerCase()))),l},z.replace=function(e,t,n){if(e&&!t)return this.replaceWith(e,n);let a=this.match(e);return a.found?(this.soften(),a.replaceWith(t,n)):this};var V=z;var L=function(e,t){t.forEach((t=>{let[n,a,r]=t,o=r-a;e[n]&&(r===e[n].length&&r>1&&function(e,t){let n=e.length-1,a=e[n],r=e[n-t];r&&a&&(r.post+=a.post,r.post=r.post.replace(/ +([.?!,;:])/,"$1"),r.post=r.post.replace(/[,;:]+([.?!])/,"$1"))}(e[n],o),e[n].splice(a,o))}));for(let t=e.length-1;t>=0;t-=1)if(0===e[t].length&&(e.splice(t,1),t===e.length&&e[t-1])){let n=e[t-1],a=n[n.length-1];a&&(a.post=a.post.trimEnd())}return e};const M={remove:function(e){const{indexN:t}=this.methods.one.pointer;this.uncache();let n=this.all(),a=this;e&&(n=this,a=this.match(e));let r=!n.ptrs;if(a.has("@hasContraction")&&a.contractions){a.grow("@hasContraction").contractions().expand()}let o=n.fullPointer,i=a.fullPointer.reverse(),s=L(this.document,i);return o=function(e,t){return e=e.map((e=>{let[n]=e;return t[n]?(t[n].forEach((t=>{let n=t[2]-t[1];e[1]<=t[1]&&e[2]>=t[2]&&(e[2]-=n)})),e):e})),e.forEach(((t,n)=>{if(0===t[1]&&0==t[2])for(let t=n+1;te[2]-e[1]>0))).map((e=>(e[3]=null,e[4]=null,e)))}(o,t(i)),n.ptrs=o,n.document=s,n.compute("index"),r&&(n.ptrs=void 0),e?n.toView(o):(this.ptrs=[],n.none())}};M.delete=M.remove;var B=M;const S={pre:function(e,t){return void 0===e&&this.found?this.docs[0][0].pre:(this.docs.forEach((n=>{let a=n[0];!0===t?a.pre+=e:a.pre=e})),this)},post:function(e,t){if(void 0===e){let e=this.docs[this.docs.length-1];return e[e.length-1].post}return this.docs.forEach((n=>{let a=n[n.length-1];!0===t?a.post+=e:a.post=e})),this},trim:function(){if(!this.found)return this;let e=this.docs,t=e[0][0];t.pre=t.pre.trimStart();let n=e[e.length-1],a=n[n.length-1];return a.post=a.post.trimEnd(),this},hyphenate:function(){return this.docs.forEach((e=>{e.forEach(((t,n)=>{0!==n&&(t.pre=""),e[n+1]&&(t.post="-")}))})),this},dehyphenate:function(){const e=/[-–—]/;return this.docs.forEach((t=>{t.forEach((t=>{e.test(t.post)&&(t.post=" ")}))})),this},toQuotations:function(e,t){return e=e||'"',t=t||'"',this.docs.forEach((n=>{n[0].pre=e+n[0].pre;let a=n[n.length-1];a.post=t+a.post})),this},toParentheses:function(e,t){return e=e||"(",t=t||")",this.docs.forEach((n=>{n[0].pre=e+n[0].pre;let a=n[n.length-1];a.post=t+a.post})),this}};S.deHyphenate=S.dehyphenate,S.toQuotation=S.toQuotations;var $=S;var J={alpha:(e,t)=>e.normalt.normal?1:0,length:(e,t)=>{let n=e.normal.trim().length,a=t.normal.trim().length;return na?-1:0},wordCount:(e,t)=>e.wordst.words?-1:0,sequential:(e,t)=>e[0]t[0]?-1:e[1]>t[1]?1:-1,byFreq:function(e){let t={};return e.forEach((e=>{t[e.normal]=t[e.normal]||0,t[e.normal]+=1})),e.sort(((e,n)=>{let a=t[e.normal],r=t[n.normal];return ar?-1:0})),e}};const W=new Set(["index","sequence","seq","sequential","chron","chronological"]),K=new Set(["freq","frequency","topk","repeats"]),q=new Set(["alpha","alphabetical"]);var U={unique:function(){let e=new Set,t=this.filter((t=>{let n=t.text("machine");return!e.has(n)&&(e.add(n),!0)}));return t},reverse:function(){let e=this.pointer||this.docs.map(((e,t)=>[t]));return e=[].concat(e),e=e.reverse(),this._cache&&(this._cache=this._cache.reverse()),this.update(e)},sort:function(e){let{docs:t,pointer:n}=this;if(this.uncache(),"function"==typeof e)return function(e,t){let n=e.fullPointer;return n=n.sort(((n,a)=>(n=e.update([n]),a=e.update([a]),t(n,a)))),e.ptrs=n,e}(this,e);e=e||"alpha";let a=n||t.map(((e,t)=>[t])),r=t.map(((e,t)=>({index:t,words:e.length,normal:e.map((e=>e.machine||e.normal||"")).join(" "),pointer:a[t]})));return W.has(e)&&(e="sequential"),q.has(e)&&(e="alpha"),K.has(e)?(r=J.byFreq(r),this.update(r.map((e=>e.pointer)))):"function"==typeof J[e]?(r=r.sort(J[e]),this.update(r.map((e=>e.pointer)))):this}};const R=function(e,t){if(e.length>0){let t=e[e.length-1],n=t[t.length-1];!1===/ /.test(n.post)&&(n.post+=" ")}return e=e.concat(t)};var Q={concat:function(e){if("string"==typeof e){let t=this.fromText(e);if(this.found&&this.ptrs){let e=this.fullPointer,n=e[e.length-1][0];this.document.splice(n,0,...t.document)}else this.document=this.document.concat(t.document);return this.all().compute("index")}if("object"==typeof e&&e.isView)return function(e,t){if(e.document===t.document){let n=e.fullPointer.concat(t.fullPointer);return e.toView(n).compute("index")}return t.fullPointer.forEach((t=>{t[0]+=e.document.length})),e.document=R(e.document,t.docs),e.all()}(this,e);if(t=e,"[object Array]"===Object.prototype.toString.call(t)){let t=R(this.document,e);return this.document=t,this.all()}var t;return this}};var X={harden:function(){return this.ptrs=this.fullPointer,this},soften:function(){let e=this.ptrs;return!e||e.length<1||(e=e.map((e=>e.slice(0,3))),this.ptrs=e),this}};const Z=Object.assign({},{toLowerCase:function(){return this.termList().forEach((e=>{e.text=e.text.toLowerCase()})),this},toUpperCase:function(){return this.termList().forEach((e=>{e.text=e.text.toUpperCase()})),this},toTitleCase:function(){return this.termList().forEach((e=>{e.text=e.text.replace(/^ *[a-z\u00C0-\u00FF]/,(e=>e.toUpperCase()))})),this},toCamelCase:function(){return this.docs.forEach((e=>{e.forEach(((t,n)=>{0!==n&&(t.text=t.text.replace(/^ *[a-z\u00C0-\u00FF]/,(e=>e.toUpperCase()))),n!==e.length-1&&(t.post="")}))})),this}},F,V,B,$,U,Q,X);var _=function(e){Object.assign(e.prototype,Z)};const Y={id:function(e){let t=e.docs;for(let e=0;e(e.implicit=e.text,e.machine=e.text,e.pre="",e.post="",e.text="",e.normal="",e.index=[a,r+t],e))),n[0]&&(n[0].pre=e[a][r].pre,n[n.length-1].post=e[a][r].post,n[0].text=e[a][r].text,n[0].normal=e[a][r].normal),e[a].splice(r,1,...n))};const re=/'/,oe=new Set(["what","how","when","where","why"]),ie=new Set(["be","go","start","think","need"]),se=new Set(["been","gone"]);var le=function(e,t){let n=e[t].normal.split(re)[0];if(oe.has(n))return[n,"did"];if(e[t+1]){if(se.has(e[t+1].normal))return[n,"had"];if(ie.has(e[t+1].normal))return[n,"would"]}return null};var ue=function(e,t){if("ain't"===e[t].normal||"aint"===e[t].normal)return null;return[e[t].normal.replace(/n't/,""),"not"]};const ce=/'/;var de=(e,t)=>["je",e[t].normal.split(ce)[1]],he=(e,t)=>{let n=e[t].normal.split(ce)[1];return n&&n.endsWith("e")?["la",n]:["le",n]},ge=(e,t)=>{let n=e[t].normal.split(ce)[1];return n&&n.endsWith("e")?["du",n]:n&&n.endsWith("s")?["des",n]:["de",n]};const me=/^([0-9.]{1,4}[a-z]{0,2}) ?[-–—] ?([0-9]{1,4}[a-z]{0,2})$/i,pe=/^([0-9]{1,2}(:[0-9][0-9])?(am|pm)?) ?[-–—] ?([0-9]{1,2}(:[0-9][0-9])?(am|pm)?)$/i,fe=/^[0-9]{3}-[0-9]{4}$/;var be=function(e,t){let n=e[t],a=n.text.match(me);return null!==a?!0===n.tags.has("PhoneNumber")||fe.test(n.text)?null:[a[1],"to",a[2]]:(a=n.text.match(pe),null!==a?[a[1],"to",a[4]]:null)};const ve=/^([+-]?[0-9][.,0-9]*)([a-z°²³µ/]+)$/;var ye=function(e,t,n){const a=n.model.one.numberSuffixes||{};let r=e[t].text.match(ve);if(null!==r){let e=r[2].toLowerCase().trim();return a.hasOwnProperty(e)?null:[r[1],e]}return null};const we=/'/,ke=/^[0-9][^-–—]*[-–—].*?[0-9]/,Pe=function(e,t,n,a){let r=t.update();r.document=[e];let o=n+a;n>0&&(n-=1),e[o]&&(o+=1),r.ptrs=[[0,n,o]]},Ae={t:(e,t)=>ue(e,t),d:(e,t)=>le(e,t)},Ce={j:(e,t)=>de(e,t),l:(e,t)=>he(e,t),d:(e,t)=>ge(e,t)},je=function(e,t,n,a){for(let r=0;r2)return o.out.concat(a)}return null},Ne=function(e,t){let n=t.fromText(e.join(" "));return n.compute(["id","alias"]),n.docs[0]},Ie=function(e,t){for(let n=t+1;n<5&&e[n];n+=1)if("been"===e[n].normal)return["there","has"];return["there","is"]};var He=e=>{let{world:t,document:n}=e;const{model:a,methods:r}=t;let o=a.one.contractions||[];n.forEach(((a,i)=>{for(let s=a.length-1;s>=0;s-=1){let l=null,u=null;!0===we.test(a[s].normal)&&([l,u]=a[s].normal.split(we));let c=je(o,a[s],l,u);!c&&Ae.hasOwnProperty(u)&&(c=Ae[u](a,s,t)),!c&&Ce.hasOwnProperty(l)&&(c=Ce[l](a,s)),"there"===l&&"s"===u&&(c=Ie(a,s)),c?(c=Ne(c,e),ae(n,[i,s],c),Pe(n[i],e,s,c.length)):ke.test(a[s].normal)?(c=be(a,s),c&&(c=Ne(c,e),ae(n,[i,s],c),r.one.setTag(c,"NumberRange",t),c[2]&&c[2].tags.has("Time")&&r.one.setTag([c[0]],"Time",t,null,"time-range"),Pe(n[i],e,s,c.length))):(c=ye(a,s,t),c&&(c=Ne(c,e),ae(n,[i,s],c),r.one.setTag([c[1]],"Unit",t,null,"contraction-unit")))}}))};var De={model:ne,compute:{contractions:He},hooks:["contractions"]};var Ge=function(e,t,n){const{model:a,methods:r}=n,o=r.one.setTag,i=a.one._multiCache||{},s=a.one.lexicon||{};let l=e[t],u=l.machine||l.normal;return void 0!==e[t+1]&&!0===i[u]?function(e,t,n,a,r){let o=t+4>e.length?e.length-t:4,i=e[t].machine||e[t].normal;for(let s=1;si.hasOwnProperty(e)));if(e){return o([s],i[e],n,!1,"1-lexicon-alias"),!0}}if(!0===Te.test(l)){let e=l.replace(Te,"");if(i.hasOwnProperty(e)&&e.length>3&&xe.has(i[e]))return o([s],i[e],n,!1,"1-lexicon-prefix"),!0}return null};var Fe={lexicon:function(e){const t=e.world;e.docs.forEach((e=>{for(let n=0;n{let r=e[a],o=(a=(a=a.toLowerCase().trim()).replace(/'s\b/,"")).split(/ /);o.length>1&&(n[o[0]]=!0),t[a]=t[a]||r})),delete t[""],delete t.null,delete t[" "],{lex:t,_multi:n}};var ze={addWords:function(e){const t=this.world(),{methods:n,model:a}=t;if(e)if(Object.keys(e).forEach((t=>{"string"==typeof e[t]&&e[t].startsWith("#")&&(e[t]=e[t].replace(/^#/,""))})),n.two.expandLexicon){let{lex:r,_multi:o}=n.two.expandLexicon(e,t);Object.assign(a.one.lexicon,r),Object.assign(a.one._multiCache,o)}else if(n.one.expandLexicon){let{lex:r,_multi:o}=n.one.expandLexicon(e,t);Object.assign(a.one.lexicon,r),Object.assign(a.one._multiCache,o)}else Object.assign(a.one.lexicon,e)}};var Ve={model:{one:{lexicon:{},_multiCache:{}}},methods:{one:{expandLexicon:Oe}},compute:Fe,lib:ze,hooks:["lexicon"]};var Le=function(e,t){let n=[{}],a=[null],r=[0],o=[],i=0;e.forEach((function(e){let r=0,o=function(e,t){const{methods:n,model:a}=t;let r=n.one.tokenize.splitTerms(e,a).map((e=>n.one.tokenize.splitWhitespace(e,a)));return r.map((e=>e.text.toLowerCase()))}(e,t);for(let e=0;e0&&!n[i].hasOwnProperty(l);)i=r[i];if(n.hasOwnProperty(i)){let e=n[i][l];r[u]=e,a[e]&&(a[u]=a[u]||[],a[u]=a[u].concat(a[e]))}else r[u]=0}}return{goNext:n,endAs:a,failTo:r}};const Me=function(e,t,n){let a=0,r=[];for(let o=0;o0&&(void 0===t.goNext[a]||!t.goNext[a].hasOwnProperty(i));)a=t.failTo[a]||0;if(t.goNext[a].hasOwnProperty(i)&&(a=t.goNext[a][i],t.endAs[a])){let n=t.endAs[a];for(let t=0;t0&&(a=a.concat(l))}return e.update(a)};const $e=(e,t)=>{for(let n=e.length-1;n>=0;n-=1)if(e[n]!==t)return e=e.slice(0,n+1);return e};var Je=function(e){return e.goNext=e.goNext.map((e=>{if(0!==Object.keys(e).length)return e})),e.goNext=$e(e.goNext,void 0),e.failTo=$e(e.failTo,0),e.endAs=$e(e.endAs,null),e};const We={buildTrie:function(e){const t=Le(e,this.world());return Je(t)}};We.compile=We.buildTrie;var Ke={api:function(e){e.prototype.lookup=function(e,t={}){if(!e)return this.none();"string"==typeof e&&(e=[e]);let n=(a=e,"[object Object]"===Object.prototype.toString.call(a)?e:Le(e,this.world));var a;let r=Se(this,n,t);return r=r.settle(),r}},lib:We};const qe=function(e,t){return t?(e.forEach((e=>{let n=e[0];t[n]&&(e[0]=t[n][0],e[1]+=t[n][1],e[2]+=t[n][1])})),e):e},Ue=function(e,t){let{ptrs:n,byGroup:a}=e;return n=qe(n,t),Object.keys(a).forEach((e=>{a[e]=qe(a[e],t)})),{ptrs:n,byGroup:a}},Re=e=>"[object Object]"===Object.prototype.toString.call(e),Qe=e=>e&&Re(e)&&!0===e.isView,Xe=e=>e&&Re(e)&&!0===e.isNet,Ze=function(e,t,n){const a=n.methods.one;return"number"==typeof e&&(e=String(e)),"string"==typeof e&&(e=a.killUnicode(e,n),e=a.parseMatch(e,t,n)),e};var _e={matchOne:function(e,t,n){const a=this.methods.one;if(Qe(e))return this.intersection(e).eq(0);if(Xe(e))return this.sweep(e,{tagger:!1,matchOne:!0}).view;let r={regs:e=Ze(e,n,this.world),group:t,justOne:!0},o=a.match(this.docs,r,this._cache),{ptrs:i,byGroup:s}=Ue(o,this.fullPointer),l=this.toView(i);return l._groups=s,l},match:function(e,t,n){const a=this.methods.one;if(Qe(e))return this.intersection(e);if(Xe(e))return this.sweep(e,{tagger:!1}).view.settle();let r={regs:e=Ze(e,n,this.world),group:t},o=a.match(this.docs,r,this._cache),{ptrs:i,byGroup:s}=Ue(o,this.fullPointer),l=this.toView(i);return l._groups=s,l},has:function(e,t,n){const a=this.methods.one;if(Qe(e)){return e.fullPointer.length>0}if(Xe(e))return this.sweep(e,{tagger:!1}).view.found;let r={regs:e=Ze(e,n,this.world),group:t,justOne:!0};return a.match(this.docs,r,this._cache).ptrs.length>0},if:function(e,t,n){const a=this.methods.one;if(Qe(e))return this.filter((t=>t.intersection(e).found));if(Xe(e)){let t=this.sweep(e,{tagger:!1}).view.settle();return this.if(t)}let r={regs:e=Ze(e,n,this.world),group:t,justOne:!0},o=this.fullPointer,i=this._cache||[];o=o.filter(((e,t)=>{let n=this.update([e]);return a.match(n.docs,r,i[t]).ptrs.length>0}));let s=this.update(o);return this._cache&&(s._cache=o.map((e=>i[e[0]]))),s},ifNo:function(e,t,n){const{methods:a}=this,r=a.one;if(Qe(e))return this.filter((t=>!t.intersection(e).found));if(Xe(e)){let t=this.sweep(e,{tagger:!1}).view.settle();return this.ifNo(t)}e=Ze(e,n,this.world);let o=this._cache||[],i=this.filter(((n,a)=>{let i={regs:e,group:t,justOne:!0};return 0===r.match(n.docs,i,o[a]).ptrs.length}));return this._cache&&(i._cache=i.ptrs.map((e=>o[e[0]]))),i}};var Ye={before:function(e,t,n){const{indexN:a}=this.methods.one.pointer;let r=[],o=a(this.fullPointer);Object.keys(o).forEach((e=>{let t=o[e].sort(((e,t)=>e[1]>t[1]?1:-1))[0];t[1]>0&&r.push([t[0],0,t[1]])}));let i=this.toView(r);return e?i.match(e,t,n):i},after:function(e,t,n){const{indexN:a}=this.methods.one.pointer;let r=[],o=a(this.fullPointer),i=this.document;Object.keys(o).forEach((e=>{let t=o[e].sort(((e,t)=>e[1]>t[1]?-1:1))[0],[n,,a]=t;a{let o=n.before(e,t);if(o.found){let e=o.terms();a[r][1]-=e.length,a[r][3]=e.docs[0][0].id}})),this.update(a)},growRight:function(e,t,n){"string"==typeof e&&(e=this.world.methods.one.parseMatch(e,n,this.world)),e[0].start=!0;let a=this.fullPointer;return this.forEach(((n,r)=>{let o=n.after(e,t);if(o.found){let e=o.terms();a[r][2]+=e.length,a[r][4]=null}})),this.update(a)},grow:function(e,t,n){return this.growRight(e,t,n).growLeft(e,t,n)}};const et=function(e,t){return[e[0],e[1],t[2]]},tt=(e,t,n)=>{return"string"==typeof e||(a=e,"[object Array]"===Object.prototype.toString.call(a))?t.match(e,n):e||t.none();var a},nt=function(e,t){let[n,a,r]=e;return t.document[n]&&t.document[n][a]&&(e[3]=e[3]||t.document[n][a].id,t.document[n][r-1]&&(e[4]=e[4]||t.document[n][r-1].id)),e},at={splitOn:function(e,t){const{splitAll:n}=this.methods.one.pointer;let a=tt(e,this,t).fullPointer,r=n(this.fullPointer,a),o=[];return r.forEach((e=>{o.push(e.passthrough),o.push(e.before),o.push(e.match),o.push(e.after)})),o=o.filter((e=>e)),o=o.map((e=>nt(e,this))),this.update(o)},splitBefore:function(e,t){const{splitAll:n}=this.methods.one.pointer;let a=tt(e,this,t).fullPointer,r=n(this.fullPointer,a);for(let e=0;e{o.push(e.passthrough),o.push(e.before),e.match&&e.after?o.push(et(e.match,e.after)):o.push(e.match)})),o=o.filter((e=>e)),o=o.map((e=>nt(e,this))),this.update(o)},splitAfter:function(e,t){const{splitAll:n}=this.methods.one.pointer;let a=tt(e,this,t).fullPointer,r=n(this.fullPointer,a),o=[];return r.forEach((e=>{o.push(e.passthrough),e.before&&e.match?o.push(et(e.before,e.match)):(o.push(e.before),o.push(e.match)),o.push(e.after)})),o=o.filter((e=>e)),o=o.map((e=>nt(e,this))),this.update(o)}};at.split=at.splitAfter;var rt=at;const ot=Object.assign({},_e,Ye,rt);ot.lookBehind=ot.before,ot.lookBefore=ot.before,ot.lookAhead=ot.after,ot.lookAfter=ot.after,ot.notIf=ot.ifNo;var it=function(e){Object.assign(e.prototype,ot)};const st=/(?:^|\s)([![^]*(?:<[^<]*>)?\/.*?[^\\/]\/[?\]+*$~]*)(?:\s|$)/,lt=/([!~[^]*(?:<[^<]*>)?\([^)]+[^\\)]\)[?\]+*$~]*)(?:\s|$)/,ut=/ /g,ct=e=>/^[![^]*(<[^<]*>)?\//.test(e)&&/\/[?\]+*$~]*$/.test(e),dt=function(e){return e=(e=e.map((e=>e.trim()))).filter((e=>e))};var ht=function(e){let t=e.split(st),n=[];t.forEach((e=>{ct(e)?n.push(e):n=n.concat(e.split(lt))})),n=dt(n);let a=[];return n.forEach((e=>{(e=>/^[![^]*(<[^<]*>)?\(/.test(e)&&/\)[?\]+*$~]*$/.test(e))(e)||ct(e)?a.push(e):a=a.concat(e.split(ut))})),a=dt(a),a};const gt=/\{([0-9]+)?(, *[0-9]*)?\}/,mt=/&&/,pt=new RegExp(/^<\s*(\S+)\s*>/),ft=e=>e.charAt(0).toUpperCase()+e.substring(1),bt=e=>e.charAt(e.length-1),vt=e=>e.charAt(0),yt=e=>e.substring(1),wt=e=>e.substring(0,e.length-1),kt=function(e){return e=yt(e),e=wt(e)},Pt=function(e,t){let n={};for(let a=0;a<2;a+=1){if("$"===bt(e)&&(n.end=!0,e=wt(e)),"^"===vt(e)&&(n.start=!0,e=yt(e)),"?"===bt(e)&&(n.optional=!0,e=wt(e)),("["===vt(e)||"]"===bt(e))&&(n.group=null,"["===vt(e)&&(n.groupStart=!0),"]"===bt(e)&&(n.groupEnd=!0),e=(e=e.replace(/^\[/,"")).replace(/\]$/,""),"<"===vt(e))){const t=pt.exec(e);t.length>=2&&(n.group=t[1],e=e.replace(t[0],""))}if("+"===bt(e)&&(n.greedy=!0,e=wt(e)),"*"!==e&&"*"===bt(e)&&"\\*"!==e&&(n.greedy=!0,e=wt(e)),"!"===vt(e)&&(n.negative=!0,e=yt(e)),"~"===vt(e)&&"~"===bt(e)&&e.length>2&&(e=kt(e),n.fuzzy=!0,n.min=t.fuzzy||.85,!1===/\(/.test(e)))return n.word=e,n;if("/"===vt(e)&&"/"===bt(e))return e=kt(e),t.caseSensitive&&(n.use="text"),n.regex=new RegExp(e),n;if(!0===gt.test(e)&&(e=e.replace(gt,((e,t,a)=>(void 0===a?(n.min=Number(t),n.max=Number(t)):(a=a.replace(/, */,""),void 0===t?(n.min=0,n.max=Number(a)):(n.min=Number(t),n.max=Number(a||999))),n.greedy=!0,n.min||(n.optional=!0),"")))),"("===vt(e)&&")"===bt(e)){mt.test(e)?(n.choices=e.split(mt),n.operator="and"):(n.choices=e.split("|"),n.operator="or"),n.choices[0]=yt(n.choices[0]);let a=n.choices.length-1;n.choices[a]=wt(n.choices[a]),n.choices=n.choices.map((e=>e.trim())),n.choices=n.choices.filter((e=>e)),n.choices=n.choices.map((e=>e.split(/ /g).map((e=>Pt(e,t))))),e=""}if("{"===vt(e)&&"}"===bt(e)){if(e=kt(e),n.root=e,/\//.test(e)){let e=n.root.split(/\//);n.root=e[0],n.pos=e[1],"adj"===n.pos&&(n.pos="Adjective"),n.pos=n.pos.charAt(0).toUpperCase()+n.pos.substr(1).toLowerCase(),void 0!==e[2]&&(n.sense=e[2])}return n}if("<"===vt(e)&&">"===bt(e))return e=kt(e),n.chunk=ft(e),n.greedy=!0,n;if("%"===vt(e)&&"%"===bt(e))return e=kt(e),n.switch=e,n}return"#"===vt(e)?(n.tag=yt(e),n.tag=ft(n.tag),n):"@"===vt(e)?(n.method=yt(e),n):"."===e?(n.anything=!0,n):"*"===e?(n.anything=!0,n.greedy=!0,n.optional=!0,n):(e&&(e=(e=e.replace("\\*","*")).replace("\\.","."),t.caseSensitive?n.use="text":e=e.toLowerCase(),n.word=e),n)};var At=Pt;const Ct=/[a-z0-9][-–—][a-z]/i;var jt=function(e,t){let n=t.model.one.prefixes;for(let t=e.length-1;t>=0;t-=1){let a=e[t];if(a.word&&Ct.test(a.word)){let r=a.word.split(/[-–—]/g);if(n.hasOwnProperty(r[0]))continue;r=r.filter((e=>e)).reverse(),e.splice(t,1),r.forEach((n=>{let r=Object.assign({},a);r.word=n,e.splice(t,0,r)}))}}return e};const Nt=function(e,t){let{all:n}=t.methods.two.transform.verb||{},a=e.root;return n?n(a,t.model):[]},It=function(e,t){let{all:n}=t.methods.two.transform.noun||{};return n?n(e.root,t.model):[e.root]},Ht=function(e,t){let{all:n}=t.methods.two.transform.adjective||{};return n?n(e.root,t.model):[e.root]};var Dt=function(e,t){return e=e.map((e=>{if(e.root)if(t.methods.two&&t.methods.two.transform){let n=[];e.pos?"Verb"===e.pos?n=n.concat(Nt(e,t)):"Noun"===e.pos?n=n.concat(It(e,t)):"Adjective"===e.pos&&(n=n.concat(Ht(e,t))):(n=n.concat(Nt(e,t)),n=n.concat(It(e,t)),n=n.concat(Ht(e,t))),n=n.filter((e=>e)),n.length>0&&(e.operator="or",e.fastOr=new Set(n))}else e.machine=e.root,delete e.id,delete e.root;return e}))};var Gt=function(e){return e=function(e){let t=0,n=null;for(let a=0;a(e.fuzzy&&e.choices&&e.choices.forEach((t=>{1===t.length&&t[0].word&&(t[0].fuzzy=!0,t[0].min=e.min)})),e)))}(e=e.map((e=>{if(void 0!==e.choices){if("or"!==e.operator)return e;if(!0===e.fuzzy)return e;!0===e.choices.every((e=>{if(1!==e.length)return!1;let t=e[0];return!0!==t.fuzzy&&!t.start&&!t.end&&void 0!==t.word&&!0!==t.negative&&!0!==t.optional&&!0!==t.method}))&&(e.fastOr=new Set,e.choices.forEach((t=>{e.fastOr.add(t[0].word)})),delete e.choices)}return e}))),e};var Tt=function(e,t,n){if(null==e||""===e)return[];t=t||{},"number"==typeof e&&(e=String(e));let a=ht(e);return a=a.map((e=>At(e,t))),a=jt(a,n),a=Dt(a,n),a=Gt(a),a};const xt=function(e,t){for(let n of t)if(e.has(n))return!0;return!1};var Et=function(e,t){for(let n=0;nn?a:n)+1;if(Math.abs(n-a)>(r||100))return r||100;let o,i,s,l,u,c,d=[];for(let e=0;e4)return n;s=t[o-1],l=i===s?0:1,u=d[r-1][o]+1,(c=d[r][o-1]+1)1&&o>1&&i===t[o-2]&&e[r-2]===s&&(c=d[r-2][o-2]+l)-1!==e.post.indexOf(t),Bt=(e,t)=>-1!==e.pre.indexOf(t),St={hasQuote:e=>Ot.test(e.pre)||zt.test(e.post),hasComma:e=>Mt(e,","),hasPeriod:e=>!0===Mt(e,".")&&!1===Mt(e,"..."),hasExclamation:e=>Mt(e,"!"),hasQuestionMark:e=>Mt(e,"?")||Mt(e,"¿"),hasEllipses:e=>Mt(e,"..")||Mt(e,"…")||Bt(e,"..")||Bt(e,"…"),hasSemicolon:e=>Mt(e,";"),hasColon:e=>Mt(e,":"),hasSlash:e=>/\//.test(e.text),hasHyphen:e=>Vt.test(e.post)||Vt.test(e.pre),hasDash:e=>Lt.test(e.post)||Lt.test(e.pre),hasContraction:e=>Boolean(e.implicit),isAcronym:e=>e.tags.has("Acronym"),isKnown:e=>e.tags.size>0,isTitleCase:e=>/^\p{Lu}[a-z'\u00C0-\u00FF]/u.test(e.text),isUpperCase:e=>/^\p{Lu}+$/u.test(e.text)};St.hasQuotation=St.hasQuote;var $t=St;let Jt=function(){};Jt=function(e,t,n,a){let r=function(e,t,n,a){if(!0===t.anything)return!0;if(!0===t.start&&0!==n)return!1;if(!0===t.end&&n!==a-1)return!1;if(void 0!==t.id&&t.id===e.id)return!0;if(void 0!==t.word){if(t.use)return t.word===e[t.use];if(null!==e.machine&&e.machine===t.word)return!0;if(void 0!==e.alias&&e.alias.hasOwnProperty(t.word))return!0;if(!0===t.fuzzy){if(t.word===e.root)return!0;if(Ft(t.word,e.normal)>=t.min)return!0}return!(!e.alias||!e.alias.some((e=>e===t.word)))||t.word===e.text||t.word===e.normal}if(void 0!==t.tag)return!0===e.tags.has(t.tag);if(void 0!==t.method)return"function"==typeof $t[t.method]&&!0===$t[t.method](e);if(void 0!==t.pre)return e.pre&&e.pre.includes(t.pre);if(void 0!==t.post)return e.post&&e.post.includes(t.post);if(void 0!==t.regex){let n=e.normal;return t.use&&(n=e[t.use]),t.regex.test(n)}if(void 0!==t.chunk)return e.chunk===t.chunk;if(void 0!==t.switch)return e.switch===t.switch;if(void 0!==t.machine)return e.normal===t.machine||e.machine===t.machine||e.root===t.machine;if(void 0!==t.sense)return e.sense===t.sense;if(void 0!==t.fastOr){if(t.pos&&!e.tags.has(t.pos))return null;let n=e.root||e.implicit||e.machine||e.normal;return t.fastOr.has(n)||t.fastOr.has(e.text)}return void 0!==t.choices&&("and"===t.operator?t.choices.every((t=>Jt(e,t,n,a))):t.choices.some((t=>Jt(e,t,n,a))))}(e,t,n,a);return!0===t.negative?!r:r};var Wt=Jt;const Kt=function(e,t){if(!0===e.end&&!0===e.greedy&&t.start_i+t.tn.max)return e.t=e.t+n.max,!0;if(!0===e.hasGroup){qt(e,e.t).length=a-e.t}return e.t=a,!0};const Rt=function(e,t=0){let n=e.regs[e.r],a=!1;for(let o=0;o{let r=0,o=e.t+a+t+r;if(void 0===e.terms[o])return!1;let i=Wt(e.terms[o],n,o+e.start_i,e.phrase_length);if(!0===i&&!0===n.greedy)for(let t=1;t{let a=n.every(((t,n)=>{let a=e.t+n;return void 0!==e.terms[a]&&Wt(e.terms[a],t,a,e.phrase_length)}));return!0===a&&n.length>t&&(t=n.length),a}))&&t}(e);if(a){if(!0===n.negative)return null;if(!0===e.hasGroup){qt(e,e.t).length+=a}if(!0===n.end){let t=e.phrase_length-1;if(e.t+e.start_i!==t)return null}return e.t+=a,!0}return!!n.optional||null};var Zt=function(e,t,n){let a=0;for(let r=e.t;ra)&&(e.t+=a,!0))};var _t=function(e){const{regs:t}=e;let n=t[e.r],a=Object.assign({},n);if(a.negative=!1,Wt(e.terms[e.t],a,e.start_i+e.t,e.phrase_length))return!1;if(n.optional){let n=t[e.r+1];if(n){if(Wt(e.terms[e.t],n,e.start_i+e.t,e.phrase_length))e.r+=1;else if(n.optional&&t[e.r+2]){Wt(e.terms[e.t],t[e.r+2],e.start_i+e.t,e.phrase_length)&&(e.r+=2)}}}return n.greedy?Zt(e,a,t[e.r+1]):(e.t+=1,!0)};var Yt=function(e){const{regs:t}=e;let n=t[e.r],a=e.terms[e.t],r=Wt(a,t[e.r+1],e.start_i+e.t,e.phrase_length);if(n.negative||r){let n=e.terms[e.t+1];n&&Wt(n,t[e.r+1],e.start_i+e.t,e.phrase_length)||(e.r+=1)}};var en=function(e){const{regs:t,phrase_length:n}=e;let a=t[e.r];return e.t=function(e,t){let n=Object.assign({},e.regs[e.r],{start:!1,end:!1}),a=e.t;for(;e.te.t?null:!0!==a.end||e.start_i+e.t===n||null};var tn=function(e){let t=e.terms[e.t],n=e.regs[e.r];if(t.implicit&&e.terms[e.t+1]){if(!e.terms[e.t+1].implicit)return;n.word===t.normal&&(e.t+=1),"hasContraction"===n.method&&(e.t+=1)}};var nn=function(e){const{regs:t}=e;let n=t[e.r],a=e.terms[e.t],r=e.t;if(n.optional&&t[e.r+1]&&n.negative)return!0;if(n.optional&&t[e.r+1]&&Yt(e),a.implicit&&e.terms[e.t+1]&&tn(e),e.t+=1,!0===n.end&&e.t!==e.terms.length&&!0!==n.greedy)return null;if(!0===n.greedy){if(!en(e))return null}return!0===e.hasGroup&&function(e,t){let n=e.regs[e.r];const a=qt(e,t);e.t>1&&n.greedy?a.length+=e.t-t:a.length++}(e,r),!0};var an=function(e,t,n,a){if(0===e.length||0===t.length)return null;let r={t:0,terms:e,r:0,regs:t,groups:{},start_i:n,phrase_length:a,inGroup:null};for(;r.r!e.optional)))break;return null}if(!0!==e.anything||!0!==e.greedy)if(void 0===e.choices||"or"!==e.operator)if(void 0===e.choices||"and"!==e.operator)if(!0!==e.anything)if(!0!==Kt(e,r))if(e.negative){if(!_t(r))return null}else if(!0!==Wt(r.terms[r.t],e,r.start_i+r.t,r.phrase_length)){if(!0!==e.optional)return null}else{if(!nn(r))return null}else{if(!nn(r))return null}else{if(e.negative&&e.anything)return null;if(!nn(r))return null}else{if(!Xt(r))return null}else{if(!Qt(r))return null}else{if(!Ut(r))return null}}let o=[null,n,r.t+n];if(o[1]===o[2])return null;let i={};return Object.keys(r.groups).forEach((e=>{let t=r.groups[e],a=n+t.start;i[e]=[null,a,a+t.length]})),{pointer:o,groups:i}};var rn=function(e,t){let n=[],a={};return 0===e.length||("number"==typeof t&&(t=String(t)),t?e.forEach((e=>{e.groups[t]&&n.push(e.groups[t])})):e.forEach((e=>{n.push(e.pointer),Object.keys(e.groups).forEach((t=>{a[t]=a[t]||[],a[t].push(e.groups[t])}))}))),{ptrs:n,byGroup:a}};var on=function(e,t,n){return e=e.filter((e=>{let[a,r,o]=e.pointer,i=n[a].slice(r,o);for(let e=0;e{e.groups[n][0]=t})),e},ln=function(e,t,n){let a=an(e,t,0,e.length);return a?(a=sn(a,n),a):null};var un=function(e,t,n){n=n||[];let{regs:a,group:r,justOne:o}=t,i=[];if(!a||0===a.length)return{ptrs:[],byGroup:{}};const s=a.filter((e=>!0!==e.optional&&!0!==e.negative)).length;e:for(let t=0;te&&(e=Math.abs(n-1))}}else{let e=ln(r,a,t);e&&i.push(e)}}return!0===a[a.length-1].end&&(i=i.filter((t=>{let n=t.pointer[0];return e[n].length===t.pointer[2]}))),t.notIf&&(i=on(i,t.notIf,e)),i=rn(i,r),i.ptrs.forEach((t=>{let[n,a,r]=t;t[3]=e[n][a].id,t[4]=e[n][r-1].id})),i};var cn={api:it,methods:{one:{termMethods:$t,parseMatch:Tt,match:un}},lib:{parseMatch:function(e,t){const n=this.world();let a=n.methods.one.killUnicode;return a&&(e=a(e,n)),n.methods.one.parseMatch(e,t,n)}}};const dn=/^\../,hn=/^#./,gn=function(e,t){let n={},a={};return Object.keys(t).forEach((r=>{let o=t[r],i=function(e){let t="",n="";return e=e.replace(/&/g,"&").replace(//g,">").replace(/"/g,""").replace(/'/g,"'"),dn.test(e)?t=``),t+=">",{start:t,end:n}}(r);"string"==typeof o&&(o=e.match(o)),o.docs.forEach((e=>{if(e.every((e=>e.implicit)))return;let t=e[0].id;n[t]=n[t]||[],n[t].push(i.start);let r=e[e.length-1].id;a[r]=a[r]||[],a[r].push(i.end)}))})),{starts:n,ends:a}};var mn={html:function(e){let{starts:t,ends:n}=gn(this,e),a="";return this.docs.forEach((e=>{for(let r=0;r{let n=e.pre||"",r=e.post||"";"some"===t.punctuation&&(n=n.replace(fn,""),vn.test(r)&&(r=" "),r=r.replace(bn,""),r=r.replace(/\?!+/,"?"),r=r.replace(/!+/,"!"),r=r.replace(/\?+/,"?"),r=r.replace(/\.{2,}/,""),e.tags.has("Abbreviation")&&(r=r.replace(/\./,""))),"some"===t.whitespace&&(n=n.replace(/\s/,""),r=r.replace(/\s+/," ")),t.keepPunct||(n=n.replace(fn,""),r="-"===r?" ":r.replace(pn,""));let o=e[t.form||"text"]||e.normal||"";"implicit"===t.form&&(o=e.implicit||e.text),"root"===t.form&&e.implicit&&(o=e.root||e.implicit||e.normal),"machine"!==t.form&&"implicit"!==t.form&&"root"!==t.form||!e.implicit||r&&yn.test(r)||(r+=" "),a+=n+o+r})),!1===n&&(a=a.trim()),!0===t.lowerCase&&(a=a.toLowerCase()),a},kn={text:{form:"text"},normal:{whitespace:"some",punctuation:"some",case:"some",unicode:"some",form:"normal"},machine:{keepSpace:!1,whitespace:"some",punctuation:"some",case:"none",unicode:"some",form:"machine"},root:{keepSpace:!1,whitespace:"some",punctuation:"some",case:"some",unicode:"some",form:"root"},implicit:{form:"implicit"}};kn.clean=kn.normal,kn.reduced=kn.root;var Pn=kn;let An=[],Cn=0;for(;Cn<64;)An[Cn]=0|4294967296*Math.sin(++Cn%Math.PI);function jn(e){let t,n,a,r=[t=1732584193,n=4023233417,~t,~n],o=[],i=decodeURI(encodeURI(e))+"€",s=i.length;for(e=--s/4+2|15,o[--e]=8*s;~s;)o[s>>2]|=i.charCodeAt(s)<<8*s--;for(Cn=i=0;Cn>4]+An[i]+~~o[Cn|15&[i,5*i+1,3*i+5,7*i][s]])<<(s=[7,12,17,22,5,9,14,20,4,11,16,23,6,10,15,21][4*s+i++%4])|a>>>-s),t,n])t=0|s[1],n=s[2];for(i=4;i;)r[--i]+=s[i]}for(e="";i<32;)e+=(r[i>>3]>>4*(1^i++)&15).toString(16);return e}const Nn={text:!0,terms:!0};let In={case:"none",unicode:"some",form:"machine",punctuation:"some"};const Hn=function(e,t){return Object.assign({},e,t)},Dn={text:e=>wn(e,{keepPunct:!0},!1),normal:e=>wn(e,Hn(Pn.normal,{keepPunct:!0}),!1),implicit:e=>wn(e,Hn(Pn.implicit,{keepPunct:!0}),!1),machine:e=>wn(e,In,!1),root:e=>wn(e,Hn(In,{form:"root"}),!1),hash:e=>jn(wn(e,{keepPunct:!0},!1)),offset:e=>{let t=Dn.text(e).length;return{index:e[0].offset.index,start:e[0].offset.start,length:t}},terms:e=>e.map((e=>{let t=Object.assign({},e);return t.tags=Array.from(e.tags),t})),confidence:(e,t,n)=>t.eq(n).confidence(),syllables:(e,t,n)=>t.eq(n).syllables(),sentence:(e,t,n)=>t.eq(n).fullSentence().text(),dirty:e=>e.some((e=>!0===e.dirty))};Dn.sentences=Dn.sentence,Dn.clean=Dn.normal,Dn.reduced=Dn.root;const Gn={json:function(e){let t=(n=this,"string"==typeof(a=(a=e)||{})&&(a={}),(a=Object.assign({},Nn,a)).offset&&n.compute("offset"),n.docs.map(((e,t)=>{let r={};return Object.keys(a).forEach((o=>{a[o]&&Dn[o]&&(r[o]=Dn[o](e,n,t))})),r})));var n,a;return"number"==typeof e?t[e]:t}};Gn.data=Gn.json;var Tn=Gn;var xn=function(e){console.log("%c -=-=- ","background-color:#6699cc;"),e.forEach((e=>{console.groupCollapsed(e.text());let t=e.docs[0].map((e=>{let t=e.text||"-";return e.implicit&&(t="["+e.implicit+"]"),{text:t,tags:"["+Array.from(e.tags).join(", ")+"]"}}));console.table(t,["text","tags"]),console.groupEnd()}))};const En="";var Fn={green:e=>""+e+En,red:e=>""+e+En,blue:e=>""+e+En,magenta:e=>""+e+En,cyan:e=>""+e+En,yellow:e=>""+e+En,black:e=>""+e+En,dim:e=>""+e+En,i:e=>""+e+En};var On=function(e){let{docs:t,model:n}=e;0===t.length&&console.log(Fn.blue("\n ──────")),t.forEach((t=>{console.log(Fn.blue("\n ┌─────────")),t.forEach((t=>{let a=[...t.tags||[]],r=t.text||"-";t.sense&&(r=`{${t.normal}/${t.sense}}`),t.implicit&&(r="["+t.implicit+"]"),r=Fn.yellow(r);let o="'"+r+"'";if(t.reference){let n=e.update([t.reference]).text("normal");o+=` - ${Fn.dim(Fn.i("["+n+"]"))}`}o=o.padEnd(18);let i=Fn.blue(" │ ")+Fn.i(o)+" - "+function(e,t){return t.one.tagSet&&(e=e.map((e=>{if(!t.one.tagSet.hasOwnProperty(e))return e;const n=t.one.tagSet[e].color||"blue";return Fn[n](e)}))),e.join(", ")}(a,n);console.log(i)}))}))};var zn=function(e){let{docs:t}=e;console.log(""),t.forEach((e=>{let t=[];e.forEach((e=>{"Noun"===e.chunk?t.push(Fn.blue(e.implicit||e.normal)):"Verb"===e.chunk?t.push(Fn.green(e.implicit||e.normal)):"Adjective"===e.chunk?t.push(Fn.yellow(e.implicit||e.normal)):"Pivot"===e.chunk?t.push(Fn.red(e.implicit||e.normal)):t.push(e.implicit||e.normal)})),console.log(t.join(" "),"\n")}))};var Vn=function(e){if(!e.found)return;let t={};e.fullPointer.forEach((e=>{t[e[0]]=t[e[0]]||[],t[e[0]].push(e)})),Object.keys(t).forEach((n=>{let a=e.update([[Number(n)]]).text();e.update(t[n]).json({offset:!0}).forEach(((e,t)=>{a=function(e,t,n){let a=((e,t,n)=>{let a=9*n,r=t.start+a,o=r+t.length;return[e.substring(0,r),e.substring(r,o),e.substring(o,e.length)]})(e,t,n);return`${a[0]}${Fn.blue(a[1])}${a[2]}`}(a,e.offset,t)})),console.log(a)}))};var Ln=function(e={}){let t=this;if("string"==typeof e){let t={};t[e]=!0,e=t}return"undefined"!=typeof window&&window.document?(xn(t),t):(!1!==e.tags&&(On(t),console.log("\n")),!0===e.chunks&&(zn(t),console.log("\n")),!0===e.highlight&&(Vn(t),console.log("\n")),t)};const Mn=function(e){let t=e.pre||"",n=e.post||"";return t+e.text+n};var Bn=function(e,t){let n=function(e,t){let n={};return Object.keys(t).forEach((a=>{e.match(a).fullPointer.forEach((e=>{n[e[3]]={fn:t[a],end:e[2]}}))})),n}(e,t),a="";return e.docs.forEach(((t,r)=>{for(let o=0;oe.reduce(((e,t)=>e+t.pre+t.text+t.post),"").trim()));return e.filter((e=>e))}if("freq"===e||"frequency"===e||"topk"===e)return function(e){let t={};e.forEach((e=>{t[e]=t[e]||0,t[e]+=1}));let n=Object.keys(t).map((e=>({normal:e,count:t[e]})));return n.sort(((e,t)=>e.count>t.count?-1:0))}(this.json({normal:!0}).map((e=>e.normal)));if("terms"===e){let e=[];return this.docs.forEach((t=>{let n=t.map((e=>e.text));n=n.filter((e=>e)),e=e.concat(n)})),e}return"tags"===e?this.docs.map((e=>e.reduce(((e,t)=>(e[t.implicit||t.normal]=Array.from(t.tags),e)),{}))):"debug"===e?this.debug():this.text()},wrap:function(e){return Bn(this,e)}};var $n=Sn;var Jn={text:function(e){let t={};var n;if(e&&"string"==typeof e&&Pn.hasOwnProperty(e)?t=Object.assign({},Pn[e]):e&&(n=e,"[object Object]"===Object.prototype.toString.call(n))&&(t=Object.assign({},e)),void 0!==t.keepSpace||this.isFull()||(t.keepSpace=!1),void 0===t.keepEndPunct&&this.pointer){let e=this.pointer[0];e&&e[1]?t.keepEndPunct=!1:t.keepEndPunct=!0}return void 0===t.keepPunct&&(t.keepPunct=!0),void 0===t.keepSpace&&(t.keepSpace=!0),function(e,t){let n="";if(!e||!e[0]||!e[0][0])return n;for(let a=0;ar||r<=n&&o>n},Rn=function(e){let t={};return e.forEach((e=>{t[e[0]]=t[e[0]]||[],t[e[0]].push(e)})),t};var Qn=function(e,t){let n=Rn(t),a=[];return e.forEach((e=>{let[t]=e,r=n[t]||[];if(r=r.filter((t=>function(e,t){return e[1]<=t[1]&&t[2]<=e[2]}(e,t))),0===r.length)return void a.push({passthrough:e});r=r.sort(((e,t)=>e[1]-t[1]));let o=e;r.forEach(((e,t)=>{let n=function(e,t){let[n,a]=e,r=t[1],o=t[2],i={};if(ao&&(i.after=[n,o,e[2]]),i}(o,e);r[t+1]?(a.push({before:n.before,match:n.match}),n.after&&(o=n.after)):a.push(n)}))})),a};var Xn=function(e,t){let n=[];return e.forEach(((a,r)=>{if(!a)return;let[o,i,s,l,u]=a,c=t[o]||[];if(void 0===i&&(i=0),void 0===s&&(s=c.length),!l||c[i]&&c[i].id===l)c=c.slice(i,s);else{let n=function(e,t,n){for(let a=0;a<20;a+=1){if(t[n-a]){let r=t[n-a].findIndex((t=>t.id===e));if(-1!==r)return[n-a,r]}if(t[n+a]){let r=t[n+a].findIndex((t=>t.id===e));if(-1!==r)return[n+a,r]}}return null}(l,t,o);if(null!==n){let a=s-i;c=t[n[0]].slice(n[1],n[1]+a);let o=c[0]?c[0].id:null;e[r]=[n[0],n[1],n[1]+a,o]}}0!==c.length&&i!==s&&(u&&c[c.length-1].id!==u&&(c=function(e,t){let[n,a,,,r]=e,o=t[n],i=o.findIndex((e=>e.id===r));return-1===i?(e[2]=t[n].length,e[4]=o.length?o[o.length-1].id:null):e[2]=i,t[n].slice(a,e[2]+1)}(a,t)),n.push(c))})),n=n.filter((e=>e.length>0)),n};var Zn={one:{termList:function(e){let t=[];for(let n=0;n{let[t]=e;if(1===a[t].length)return void r.push(e);let n=a[t].filter((t=>Un(e,t)));n.push(e);let o=function(e){let t=e[0][1],n=e[0][2];return e.forEach((e=>{e[1]n&&(n=e[2])})),[e[0][0],t,n]}(n);r.push(o)})),r=function(e){let t={};for(let n=0;n{e.passthrough&&n.push(e.passthrough),e.before&&n.push(e.before),e.after&&n.push(e.after)})),n};var ea=function(e,t){let n=Rn(t),a=[];return e.forEach((e=>{let t=n[e[0]]||[];t=t.filter((t=>Un(e,t))),0!==t.length&&t.forEach((t=>{let n=function(e,t){let n=e[1]t[2]?t[2]:e[2];return n{return"string"==typeof e||(n=e,"[object Array]"===Object.prototype.toString.call(n))?t.match(e):e||t.none();var n},na=function(e,t){return e.map((e=>{let[n,a]=e;return t[n]&&t[n][a]&&(e[3]=t[n][a].id),e}))},aa={union:function(e){e=ta(e,this);let t=_n(this.fullPointer,e.fullPointer);return t=na(t,this.document),this.toView(t)}};aa.and=aa.union,aa.intersection=function(e){e=ta(e,this);let t=ea(this.fullPointer,e.fullPointer);return t=na(t,this.document),this.toView(t)},aa.not=function(e){e=ta(e,this);let t=Yn(this.fullPointer,e.fullPointer);return t=na(t,this.document),this.toView(t)},aa.difference=aa.not,aa.complement=function(){let e=this.all(),t=Yn(e.fullPointer,this.fullPointer);return t=na(t,this.document),this.toView(t)},aa.settle=function(){let e=this.fullPointer;return e.forEach((t=>{e=_n(e,[t])})),e=na(e,this.document),this.update(e)};var ra=function(e){Object.assign(e.prototype,aa)},oa={methods:Zn,api:ra};var ia=function(e){e.prototype.sweep=function(e,t={}){const{world:n,docs:a}=this,{methods:r}=n;let o=r.one.bulkMatch(a,e,this.methods,t);!1!==t.tagger&&r.one.bulkTagger(o,a,this.world),o=o.map((e=>{let t=e.pointer,n=a[t[0]][t[1]],r=t[2]-t[1];return n.index&&(e.pointer=[n.index[0],n.index[1],t[1]+r]),e}));let i=o.map((e=>e.pointer));return o=o.map((e=>(e.view=this.update([e.pointer]),delete e.regs,delete e.needs,delete e.pointer,delete e._expanded,e))),{view:this.update(i),found:o}}};const sa=function(e){return!0===e.optional||!0===e.negative?null:e.tag?"#"+e.tag:e.word?e.word:e.switch?`%${e.switch}%`:null};var la=function(e,t){const n=t.methods.one.parseMatch;return e.forEach((e=>{e.regs=n(e.match,{},t),"string"==typeof e.ifNo&&(e.ifNo=[e.ifNo]),e.notIf&&(e.notIf=n(e.notIf,{},t)),e.needs=function(e){let t=[];return e.forEach((e=>{t.push(sa(e)),"and"===e.operator&&e.choices&&e.choices.forEach((e=>{e.forEach((e=>{t.push(sa(e))}))}))})),t.filter((e=>e))}(e.regs);let{wants:a,count:r}=function(e){let t=[],n=0;return e.forEach((e=>{"or"!==e.operator||e.optional||e.negative||(e.fastOr&&Array.from(e.fastOr).forEach((e=>{t.push(e)})),e.choices&&e.choices.forEach((e=>{e.forEach((e=>{let n=sa(e);n&&t.push(n)}))})),n+=1)})),{wants:t,count:n}}(e.regs);e.wants=a,e.minWant=r,e.minWords=e.regs.filter((e=>!e.optional)).length})),e};var ua=function(e,t){e=la(e,t);let n={};e.forEach((e=>{e.needs.forEach((t=>{n[t]=n[t]||[],n[t].push(e)})),e.wants.forEach((t=>{n[t]=n[t]||[],n[t].push(e)}))})),Object.keys(n).forEach((e=>{let t={};n[e]=n[e].filter((e=>!t[e.match]&&(t[e.match]=!0,!0)))}));let a=e.filter((e=>0===e.needs.length&&0===e.wants.length));return{hooks:n,always:a}};var ca=function(e,t){return e.map(((n,a)=>{let r=[];Object.keys(t).forEach((n=>{e[a].has(n)&&(r=r.concat(t[n]))}));let o={};return r=r.filter((e=>!o[e.match]&&(o[e.match]=!0,!0))),r}))};var da=function(e,t){return e.map(((e,n)=>{let a=t[n];return e=(e=(e=e.filter((e=>e.needs.every((e=>a.has(e)))))).filter((e=>void 0===e.ifNo||!0!==e.ifNo.some((e=>a.has(e)))))).filter((e=>{if(0===e.wants.length)return!0;return e.wants.filter((e=>a.has(e))).length>=e.minWant}))}))};var ha=function(e,t,n,a,r){let o=[];for(let n=0;n0&&(l.ptrs.forEach((e=>{e[0]=n;let t=Object.assign({},s,{pointer:e});void 0!==s.unTag&&(t.unTag=s.unTag),o.push(t)})),!0===r.matchOne))return[o[0]]}return o};var ga=function(e,t,n,a={}){let r=n.one.cacheDoc(e),o=ca(r,t.hooks);return o=da(o,r),t.always.length>0&&(o=o.map((e=>e.concat(t.always)))),o=function(e,t){return e.map(((e,n)=>{let a=t[n].length;return e=e.filter((e=>a>=e.minWords)),e}))}(o,e),ha(o,e,r,n,a)};var ma=function(e,t,n){let a=n.one.tagSet;if(!a.hasOwnProperty(t))return!0;let r=a[t].not||[];for(let t=0;t{if(!e.tag&&!e.chunk&&!e.unTag)return;let r=e.reason||e.match,u=o([e.pointer],t)[0];if(!0===e.safe){if(!1===ma(u,e.tag,a))return;if("-"===u[u.length-1].post)return}if(void 0!==e.tag&&(i(u,e.tag,n,e.safe,`[post] '${r}'`),"Noun"===e.tag&&l)){let t=u[u.length-1];l(t.text)?i([t],"Plural",n,e.safe,"quick-plural"):i([t],"Singular",n,e.safe,"quick-singular")}void 0!==e.unTag&&s(u,e.unTag,n,e.safe,r),e.chunk&&u.forEach((t=>t.chunk=e.chunk))}))},fa={lib:{buildNet:function(e){let t=this.methods().one.buildNet(e,this.world());return t.isNet=!0,t}},api:ia,methods:{one:{buildNet:ua,bulkMatch:ga,bulkTagger:pa}}};const ba=/ /,va=function(e,t){"Noun"===t&&(e.chunk=t),"Verb"===t&&(e.chunk=t)},ya=function(e,t,n,a){if(!0===e.tags.has(t))return null;if("."===t)return null;let r=n[t];if(r){if(r.not&&r.not.length>0)for(let t=0;t0)for(let t=0;t{let a=e.map((e=>e.text||"["+e.implicit+"]")).join(" ");var r;"string"!=typeof t&&t.length>2&&(t=t.slice(0,2).join(", #")+" +"),t="string"!=typeof t?t.join(", #"):t,console.log(` ${(r=a,""+r+"").padEnd(24)} → #${t.padEnd(22)} ${(e=>""+e+"")(n)}`)})(e,t,r),!0!=(s=t,"[object Array]"===Object.prototype.toString.call(s)))if("string"==typeof t)if(t=t.trim(),ba.test(t))!function(e,t,n,a){let r=t.split(ba);e.forEach(((e,t)=>{let o=r[t];o&&(o=o.replace(/^#/,""),ya(e,o,n,a))}))}(e,t,o,a);else{t=t.replace(/^#/,"");for(let n=0;nwa(e,t,n,a)))};var ka=wa;var Pa=function(e,t,n){t=t.trim().replace(/^#/,"");for(let a=0;a0)for(let e=0;e/),n=[];t.forEach((e=>{n=n.concat(function(e){if(!(e=e.trim()))return null;if(/^\[/.test(e)&&/\]$/.test(e)){let t=(e=(e=e.replace(/^\[/,"")).replace(/\]$/,"")).split(/,/);return t=t.map((e=>e.trim())).filter((e=>e)),t=t.map((e=>Aa({id:e}))),t}return[Aa({id:e})]}(e))})),n=n.filter((e=>e));let a=n[0];for(let e=1;e{let n=[],a=[e];for(;a.length>0;){let e=a.pop();n.push(e),e.children&&e.children.forEach((n=>{t&&t(e,n),a.push(n)}))}return n},Ia=e=>"[object Array]"===Object.prototype.toString.call(e),Ha=e=>(e=e||"").trim(),Da=function(e=[]){return"string"==typeof e?function(e){let t=e.split(/\r?\n/),n=[];t.forEach((e=>{if(!e.trim()||Ca.test(e))return;let t=(e=>{const t=/^( {2}|\t)/;let n=0;for(;t.test(e);)e=e.replace(t,""),n+=1;return n})(e);n.push({indent:t,node:ja(e)})}));let a=function(e){let t={children:[]};return e.forEach(((n,a)=>{0===n.indent?t.children=t.children.concat(n.node):e[a-1]&&function(e,t){let n=e[t].indent;for(;t>=0;t-=1)if(e[t].indent{t[e.id]=e}));let n=Aa({});return e.forEach((e=>{if((e=Aa(e)).parent)if(t.hasOwnProperty(e.parent)){let n=t[e.parent];delete e.parent,n.children.push(e)}else console.warn(`[Grad] - missing node '${e.parent}'`);else n.children.push(e)})),n}(e):(Na(t=e).forEach(Aa),t);var t},Ga=function(e,t){let n="-> ";t&&(n=(e=>""+e+"")("→ "));let a="";return Na(e).forEach(((e,r)=>{let o=e.id||"";if(t&&(o=(e=>""+e+"")(o)),0===r&&!e.id)return;let i=e._cache.parents.length;a+=" ".repeat(i)+n+o+"\n"})),a},Ta=function(e){let t=Na(e);t.forEach((e=>{delete(e=Object.assign({},e)).children}));let n=t[0];return n&&!n.id&&0===Object.keys(n.props).length&&t.shift(),t},xa={text:Ga,txt:Ga,array:Ta,flat:Ta},Ea=function(e,t){return"nested"===t||"json"===t?e:"debug"===t?(console.log(Ga(e,!0)),null):xa.hasOwnProperty(t)?xa[t](e):e},Fa=e=>{Na(e,((e,t)=>{e.id&&(e._cache.parents=e._cache.parents||[],t._cache.parents=e._cache.parents.concat([e.id]))}))},Oa=/\//;let za=class g{constructor(e={}){Object.defineProperty(this,"json",{enumerable:!1,value:e,writable:!0})}get children(){return this.json.children}get id(){return this.json.id}get found(){return this.json.id||this.json.children.length>0}props(e={}){let t=this.json.props||{};return"string"==typeof e&&(t[e]=!0),this.json.props=Object.assign(t,e),this}get(e){if(e=Ha(e),!Oa.test(e)){let t=this.json.children.find((t=>t.id===e));return new g(t)}let t=((e,t)=>{let n=(e=>"string"!=typeof e?e:(e=e.replace(/^\//,"")).split(/\//))(t=t||"");for(let t=0;te.id===n[t]));if(!a)return null;e=a}return e})(this.json,e)||Aa({});return new g(t)}add(e,t={}){if(Ia(e))return e.forEach((e=>this.add(Ha(e),t))),this;e=Ha(e);let n=Aa({id:e,props:t});return this.json.children.push(n),new g(n)}remove(e){return e=Ha(e),this.json.children=this.json.children.filter((t=>t.id!==e)),this}nodes(){return Na(this.json).map((e=>(delete(e=Object.assign({},e)).children,e)))}cache(){return(e=>{let t=Na(e,((e,t)=>{e.id&&(e._cache.parents=e._cache.parents||[],e._cache.children=e._cache.children||[],t._cache.parents=e._cache.parents.concat([e.id]))})),n={};t.forEach((e=>{e.id&&(n[e.id]=e)})),t.forEach((e=>{e._cache.parents.forEach((t=>{n.hasOwnProperty(t)&&n[t]._cache.children.push(e.id)}))})),e._cache.children=Object.keys(n)})(this.json),this}list(){return Na(this.json)}fillDown(){var e;return e=this.json,Na(e,((e,t)=>{t.props=((e,t)=>(Object.keys(t).forEach((n=>{if(t[n]instanceof Set){let a=e[n]||new Set;e[n]=new Set([...a,...t[n]])}else if((e=>e&&"object"==typeof e&&!Array.isArray(e))(t[n])){let a=e[n]||{};e[n]=Object.assign({},t[n],a)}else Ia(t[n])?e[n]=t[n].concat(e[n]||[]):void 0===e[n]&&(e[n]=t[n])})),e))(t.props,e.props)})),this}depth(){Fa(this.json);let e=Na(this.json),t=e.length>1?1:0;return e.forEach((e=>{if(0===e._cache.parents.length)return;let n=e._cache.parents.length+1;n>t&&(t=n)})),t}out(e){return Fa(this.json),Ea(this.json,e)}debug(){return Fa(this.json),Ea(this.json,"debug"),this}};const Va=function(e){let t=Da(e);return new za(t)};Va.prototype.plugin=function(e){e(this)};var La={Noun:"blue",Verb:"green",Negative:"green",Date:"red",Value:"red",Adjective:"magenta",Preposition:"cyan",Conjunction:"cyan",Determiner:"cyan",Hyphenated:"cyan",Adverb:"cyan"};const Ma=function(e){if(La.hasOwnProperty(e.id))return La[e.id];if(La.hasOwnProperty(e.is))return La[e.is];let t=e._cache.parents.find((e=>La[e]));return La[t]};var Ba=function(e){const t={};return e.forEach((e=>{let{not:n,also:a,is:r,novel:o}=e.props,i=e._cache.parents;a&&(i=i.concat(a)),t[e.id]={is:r,not:n,novel:o,also:a,parents:i,children:e._cache.children,color:Ma(e)}})),Object.keys(t).forEach((e=>{let n=new Set(t[e].not);t[e].not.forEach((e=>{t[e]&&t[e].children.forEach((e=>n.add(e)))})),t[e].not=Array.from(n)})),t};const Sa=function(e){return e?"string"==typeof e?[e]:e:[]};var $a=function(e,t){return e=function(e,t){return Object.keys(e).forEach((n=>{e[n].isA&&(e[n].is=e[n].isA),e[n].notA&&(e[n].not=e[n].notA),e[n].is&&"string"==typeof e[n].is&&(t.hasOwnProperty(e[n].is)||e.hasOwnProperty(e[n].is)||(e[e[n].is]={})),e[n].not&&"string"==typeof e[n].not&&!e.hasOwnProperty(e[n].not)&&(t.hasOwnProperty(e[n].not)||e.hasOwnProperty(e[n].not)||(e[e[n].not]={}))})),e}(e,t),Object.keys(e).forEach((t=>{e[t].children=Sa(e[t].children),e[t].not=Sa(e[t].not)})),Object.keys(e).forEach((t=>{(e[t].not||[]).forEach((n=>{e[n]&&e[n].not&&e[n].not.push(t)}))})),e};var Ja=function(e,t){Object.keys(t).length>0&&(e=function(e){return Object.keys(e).forEach((t=>{e[t]=Object.assign({},e[t]),e[t].novel=!0})),e}(e)),e=$a(e,t);const n=function(e){const t=Object.keys(e).map((t=>{let n=e[t];const a={not:new Set(n.not),also:n.also,is:n.is,novel:n.novel};return{id:t,parent:n.is,props:a,children:[]}}));return Va(t).cache().fillDown().out("array")}(Object.assign({},t,e));return Ba(n)},Wa={one:{setTag:ka,unTag:Pa,addTags:Ja}};const Ka=function(e){return"[object Array]"===Object.prototype.toString.call(e)},qa={tag:function(e,t="",n){if(!this.found||!e)return this;let a=this.termList();if(0===a.length)return this;const{methods:r,verbose:o,world:i}=this;return!0===o&&console.log(" + ",e,t||""),Ka(e)?e.forEach((e=>r.one.setTag(a,e,i,n,t))):r.one.setTag(a,e,i,n,t),this.uncache(),this},tagSafe:function(e,t=""){return this.tag(e,t,!0)},unTag:function(e,t){if(!this.found||!e)return this;let n=this.termList();if(0===n.length)return this;const{methods:a,verbose:r,model:o}=this;!0===r&&console.log(" - ",e,t||"");let i=o.one.tagSet;return Ka(e)?e.forEach((e=>a.one.unTag(n,e,i))):a.one.unTag(n,e,i),this.uncache(),this},canBe:function(e){e=e.replace(/^#/,"");let t=this.model.one.tagSet;if(!t.hasOwnProperty(e))return this;let n=t[e].not||[],a=[];this.document.forEach(((e,t)=>{e.forEach(((e,r)=>{n.find((t=>e.tags.has(t)))&&a.push([t,r,r+1])}))}));let r=this.update(a);return this.difference(r)}};var Ua=qa;var Ra=function(e){Object.assign(e.prototype,Ua)};var Qa={addTags:function(e){const{model:t,methods:n}=this.world(),a=t.one.tagSet;let r=(0,n.one.addTags)(e,a);return t.one.tagSet=r,this}};const Xa=new Set(["Auxiliary","Possessive"]);var Za=function(e){const{document:t,world:n}=e,a=n.model.one.tagSet;t.forEach((e=>{e.forEach((e=>{let t=Array.from(e.tags);e.tagRank=function(e,t){return e=e.sort(((e,n)=>{if(Xa.has(e)||!t.hasOwnProperty(n))return 1;if(Xa.has(n)||!t.hasOwnProperty(e))return-1;let a=t[e].children||[],r=a.length;return a=t[n].children||[],r-a.length})),e}(t,a)}))}))},_a={model:{one:{tagSet:{}}},compute:{tagRank:Za},methods:Wa,api:Ra,lib:Qa};const Ya=/([.!?\u203D\u2E18\u203C\u2047-\u2049\u3002]+\s)/g,er=/^[.!?\u203D\u2E18\u203C\u2047-\u2049\u3002]+\s$/,tr=/((?:\r?\n|\r)+)/;var nr=function(e){let t=[],n=e.split(tr);for(let e=0;e0&&(r.push(o),e[t]="")}return r};const sr={'"':'"',""":""","“":"”","‟":"”","„":"”","⹂":"”","‚":"’","«":"»","‹":"›","‵":"′","‶":"″","‷":"‴","〝":"〞","〟":"〞"},lr=RegExp("["+Object.keys(sr).join("")+"]","g"),ur=RegExp("["+Object.values(sr).join("")+"]","g"),cr=function(e){if(!e)return!1;let t=e.match(ur);return null!==t&&1===t.length};var dr=function(e){let t=[];for(let n=0;n(e[t]=!0,e)),{});var Ir=function(e,t){let n=[],a=[];if("number"==typeof(e=e||"")&&(e=String(e)),function(e){return"[object Array]"===Object.prototype.toString.call(e)}(e))return e;const r=e.split(jr);for(let e=0;e0?(n[n.length-1]+=o,n.push(t)):n.push(o+t),o=""):o+=t}return o&&(0===n.length&&(n[0]=""),n[n.length-1]+=o),n=Pr(n),n=wr(n),n=n.filter((e=>e)),n};const Hr=/\p{Letter}/u,Dr=/[\p{Number}\p{Currency_Symbol}]/u,Gr=/^[a-z]\.([a-z]\.)+/i,Tr=/[sn]['’]$/;var xr=function(e,t){let{prePunctuation:n,postPunctuation:a,emoticons:r}=t.one,o=e,i="",s="",l=Array.from(e);if(r.hasOwnProperty(e.trim()))return{str:e.trim(),pre:i,post:" "};let u=l.length;for(let e=0;e(s=e||"",""))),e=o,i=""),{str:e,pre:i,post:s}};var Er=(e,t)=>{let{str:n,pre:a,post:r}=xr(e,t);return{text:n,pre:a,post:r,tags:new Set}};var Fr=function(e,t){const n=t.model.one.unicode||{};let a=(e=e||"").split("");return a.forEach(((e,t)=>{n[e]&&(a[t]=n[e])})),a.join("")};var Or=function(e){let t=e=(e=(e=e||"").toLowerCase()).trim();return e=(e=(e=e.replace(/[,;.!?]+$/,"")).replace(/\u2026/g,"...")).replace(/\u2013/g,"-"),!1===/^[:;]/.test(e)&&(e=(e=(e=e.replace(/\.{3,}$/g,"")).replace(/[",.!:;?)]+$/g,"")).replace(/^['"(]+/g,"")),""===(e=(e=e.replace(/[\u200B-\u200D\uFEFF]/g,"")).trim())&&(e=t),e=e.replace(/([0-9]),([0-9])/g,"$1$2")};const zr=/([A-Z]\.)+[A-Z]?,?$/,Vr=/^[A-Z]\.,?$/,Lr=/[A-Z]{2,}('s|,)?$/,Mr=/([a-z]\.)+[a-z]\.?$/;var Br=function(e){return function(e){return!0===zr.test(e)||!0===Mr.test(e)||!0===Vr.test(e)||!0===Lr.test(e)}(e)&&(e=e.replace(/\./g,"")),e};var Sr=function(e,t){const n=t.methods.one.killUnicode;let a=e.text||"";a=Or(a),a=n(a,t),a=Br(a),e.normal=a};var $r=function(e,t){const{methods:n,model:a}=t,{splitSentences:r,splitTerms:o,splitWhitespace:i}=n.one.tokenize;return e=r(e=e||"",t).map((e=>{let n=o(e,a);return n=n.map((e=>i(e,a))),n.forEach((e=>{Sr(e,t)})),n})),e};const Jr=/[ .][A-Z]\.? *$/i,Wr=/(?:\u2026|\.{2,}) *$/,Kr=/\p{L}/u,qr=/\. *$/,Ur=/^[A-Z]\. $/;var Rr={one:{killUnicode:Fr,tokenize:{splitSentences:br,isSentence:function(e,t){if(!1===Kr.test(e))return!1;if(!0===Jr.test(e))return!1;if(3===e.length&&Ur.test(e))return!1;if(!0===Wr.test(e))return!1;let n=e.replace(/[.!?\u203D\u2E18\u203C\u2047-\u2049] *$/,"").split(" "),a=n[n.length-1].toLowerCase();return!0!==t.hasOwnProperty(a)||!0!==qr.test(e)},splitTerms:Ir,splitWhitespace:Er,fromString:$r}}};var Qr={"&":"and","@":"at","%":"percent",plz:"please",bein:"being"};let Xr={},Zr={};[[["approx","apt","bc","cyn","eg","esp","est","etc","ex","exp","prob","pron","gal","min","pseud","fig","jd","lat","lng","vol","fm","def","misc","plz","ea","ps","sec","pt","pref","pl","pp","qt","fr","sq","nee","ss","tel","temp","vet","ver","fem","masc","eng","adj","vb","rb","inf","situ","vivo","vitro","wr"]],[["dl","ml","gal","qt","pt","tbl","tsp","tbsp","km","dm","cm","mm","mi","td","hr","hrs","kg","hg","dg","cg","mg","µg","lb","oz","sq ft","hz","mps","mph","kmph","kb","mb","tb","lx","lm","fl oz","yb"],"Unit"],[["ad","al","arc","ba","bl","ca","cca","col","corp","ft","fy","ie","lit","ma","md","pd","tce"],"Noun"],[["adj","adm","adv","asst","atty","bldg","brig","capt","cmdr","comdr","cpl","det","dr","esq","gen","gov","hon","jr","llb","lt","maj","messrs","mlle","mme","mr","mrs","ms","mstr","phd","prof","pvt","rep","reps","res","rev","sen","sens","sfc","sgt","sir","sr","supt","surg"],"Honorific"],[["jan","feb","mar","apr","jun","jul","aug","sep","sept","oct","nov","dec"],"Month"],[["dept","univ","assn","bros","inc","ltd","co"],"Organization"],[["rd","st","dist","mt","ave","blvd","cl","cres","hwy","ariz","cal","calif","colo","conn","fla","fl","ga","ida","ia","kan","kans","minn","neb","nebr","okla","penna","penn","pa","dak","tenn","tex","ut","vt","va","wis","wisc","wy","wyo","usafa","alta","ont","que","sask"],"Place"]].forEach((e=>{e[0].forEach((t=>{Xr[t]=!0,Zr[t]="Abbreviation",void 0!==e[1]&&(Zr[t]=[Zr[t],e[1]])}))}));var _r=["anti","bi","co","contra","de","extra","infra","inter","intra","macro","micro","mis","mono","multi","peri","pre","pro","proto","pseudo","re","sub","supra","trans","tri","un","out","ex"].reduce(((e,t)=>(e[t]=!0,e)),{});let Yr={"!":"¡","?":"¿Ɂ",'"':'“”"❝❞',"'":"‘‛❛❜’","-":"—–",a:"ªÀÁÂÃÄÅàáâãäåĀāĂ㥹ǍǎǞǟǠǡǺǻȀȁȂȃȦȧȺΆΑΔΛάαλАаѦѧӐӑӒӓƛæ",b:"ßþƀƁƂƃƄƅɃΒβϐϦБВЪЬвъьѢѣҌҍ",c:"¢©ÇçĆćĈĉĊċČčƆƇƈȻȼͻͼϲϹϽϾСсєҀҁҪҫ",d:"ÐĎďĐđƉƊȡƋƌ",e:"ÈÉÊËèéêëĒēĔĕĖėĘęĚěƐȄȅȆȇȨȩɆɇΈΕΞΣέεξϵЀЁЕеѐёҼҽҾҿӖӗễ",f:"ƑƒϜϝӺӻҒғſ",g:"ĜĝĞğĠġĢģƓǤǥǦǧǴǵ",h:"ĤĥĦħƕǶȞȟΉΗЂЊЋНнђћҢңҤҥҺһӉӊ",I:"ÌÍÎÏ",i:"ìíîïĨĩĪīĬĭĮįİıƖƗȈȉȊȋΊΐΪίιϊІЇіїi̇",j:"ĴĵǰȷɈɉϳЈј",k:"ĶķĸƘƙǨǩΚκЌЖКжкќҚқҜҝҞҟҠҡ",l:"ĹĺĻļĽľĿŀŁłƚƪǀǏǐȴȽΙӀӏ",m:"ΜϺϻМмӍӎ",n:"ÑñŃńŅņŇňʼnŊŋƝƞǸǹȠȵΝΠήηϞЍИЙЛПийлпѝҊҋӅӆӢӣӤӥπ",o:"ÒÓÔÕÖØðòóôõöøŌōŎŏŐőƟƠơǑǒǪǫǬǭǾǿȌȍȎȏȪȫȬȭȮȯȰȱΌΘΟθοσόϕϘϙϬϴОФоѲѳӦӧӨөӪӫ",p:"ƤΡρϷϸϼРрҎҏÞ",q:"Ɋɋ",r:"ŔŕŖŗŘřƦȐȑȒȓɌɍЃГЯгяѓҐґ",s:"ŚśŜŝŞşŠšƧƨȘșȿЅѕ",t:"ŢţŤťŦŧƫƬƭƮȚțȶȾΓΤτϮТт",u:"ÙÚÛÜùúûüŨũŪūŬŭŮůŰűŲųƯưƱƲǓǔǕǖǗǘǙǚǛǜȔȕȖȗɄΰυϋύ",v:"νѴѵѶѷ",w:"ŴŵƜωώϖϢϣШЩшщѡѿ",x:"×ΧχϗϰХхҲҳӼӽӾӿ",y:"ÝýÿŶŷŸƳƴȲȳɎɏΎΥΫγψϒϓϔЎУучўѰѱҮүҰұӮӯӰӱӲӳ",z:"ŹźŻżŽžƵƶȤȥɀΖ"},eo={};Object.keys(Yr).forEach((function(e){Yr[e].split("").forEach((function(t){eo[t]=e}))}));const to=/\//,no=/[a-z]\.[a-z]/i,ao=/[0-9]/;var ro=function(e,t){let n=e.normal||e.text||e.machine;const a=t.model.one.aliases;if(a.hasOwnProperty(n)&&(e.alias=e.alias||[],e.alias.push(a[n])),to.test(n)&&!no.test(n)&&!ao.test(n)){let t=n.split(to);t.length<=2&&t.forEach((t=>{""!==(t=t.trim())&&(e.alias=e.alias||[],e.alias.push(t))}))}return e};const oo=/^\p{Letter}+-\p{Letter}+$/u;var io=function(e){let t=e.implicit||e.normal||e.text;t=t.replace(/['’]s$/,""),t=t.replace(/s['’]$/,"s"),t=t.replace(/([aeiou][ktrp])in'$/,"$1ing"),oo.test(t)&&(t=t.replace(/-/g,"")),t=t.replace(/^[#@]/,""),t!==e.normal&&(e.machine=t)};var so=function(e){let t=e.docs,n={};for(let e=0;eho(e,ro),machine:e=>ho(e,io),normal:e=>ho(e,Sr),freq:so,offset:lo,index:uo,wordCount:co},methods:Rr,model:{one:{aliases:Qr,abbreviations:Xr,prefixes:_r,suffixes:{like:!0,ish:!0,less:!0,able:!0,elect:!0,type:!0,designate:!0},prePunctuation:{"#":!0,"@":!0,_:!0,"°":!0,"​":!0,"‌":!0,"‍":!0,"\ufeff":!0},postPunctuation:{"%":!0,_:!0,"°":!0,"​":!0,"‌":!0,"‍":!0,"\ufeff":!0},lexicon:Zr,unicode:eo,emoticons:{"<3":!0,"{let i=(e=e.toLowerCase().trim()).length;t.max&&i>t.max&&(i=t.max);for(let s=t.min;s{delete a[e]})),a};const vo={safe:!0,min:3};var yo={typeahead:function(e=[],t={}){let n=this.model();var a;t=Object.assign({},vo,t),a=e,"[object Object]"===Object.prototype.toString.call(a)&&(Object.assign(n.one.lexicon,e),e=Object.keys(e));let r=bo(e,t,this.world());return Object.keys(r).forEach((e=>{n.one.typeahead.hasOwnProperty(e)?delete n.one.typeahead[e]:n.one.typeahead[e]=r[e]})),this}};var wo={model:{one:{typeahead:{}}},api:fo,lib:yo,compute:mo,hooks:["typeahead"]};b.extend(ee),b.extend(qn),b.extend(cn),b.extend(oa),b.extend(_a),b.plugin(De),b.extend(go),b.plugin(k),b.extend(Ke),b.extend(wo),b.extend(Ve),b.extend(fa);var ko={addendum:"addenda",corpus:"corpora",criterion:"criteria",curriculum:"curricula",genus:"genera",memorandum:"memoranda",opus:"opera",ovum:"ova",phenomenon:"phenomena",referendum:"referenda",alga:"algae",alumna:"alumnae",antenna:"antennae",formula:"formulae",larva:"larvae",nebula:"nebulae",vertebra:"vertebrae",analysis:"analyses",axis:"axes",diagnosis:"diagnoses",parenthesis:"parentheses",prognosis:"prognoses",synopsis:"synopses",thesis:"theses",neurosis:"neuroses",appendix:"appendices",index:"indices",matrix:"matrices",ox:"oxen",sex:"sexes",alumnus:"alumni",bacillus:"bacilli",cactus:"cacti",fungus:"fungi",hippopotamus:"hippopotami",libretto:"libretti",modulus:"moduli",nucleus:"nuclei",octopus:"octopi",radius:"radii",stimulus:"stimuli",syllabus:"syllabi",cookie:"cookies",calorie:"calories",auntie:"aunties",movie:"movies",pie:"pies",rookie:"rookies",tie:"ties",zombie:"zombies",leaf:"leaves",loaf:"loaves",thief:"thieves",foot:"feet",goose:"geese",tooth:"teeth",beau:"beaux",chateau:"chateaux",tableau:"tableaux",bus:"buses",gas:"gases",circus:"circuses",crisis:"crises",virus:"viruses",database:"databases",excuse:"excuses",abuse:"abuses",avocado:"avocados",barracks:"barracks",child:"children",clothes:"clothes",echo:"echoes",embargo:"embargoes",epoch:"epochs",deer:"deer",halo:"halos",man:"men",woman:"women",mosquito:"mosquitoes",mouse:"mice",person:"people",quiz:"quizzes",rodeo:"rodeos",shoe:"shoes",sombrero:"sombreros",stomach:"stomachs",tornado:"tornados",tuxedo:"tuxedos",volcano:"volcanoes"},Po={Comparative:"true¦bett1f0;arth0ew0in0;er",Superlative:"true¦earlier",PresentTense:"true¦bests,sounds",Condition:"true¦lest,unless",PastTense:"true¦began,came,d4had,kneel3l2m0sa4we1;ea0sg2;nt;eap0i0;ed;id",Participle:"true¦0:0A;a07b02c00dXeat0fSgQhPoJprov0rHs7t6u4w1;ak0ithdra03o2r1;i03uZ;k0v0;nd1pr05;ergoJoJ;ak0hHo3;e9h7lain,o6p5t4un3w1;o1um;rn;g,k;ol0reT;iRok0;ught,wn;ak0o1ruL;ne,wn;en,wn;ewriOi1uK;dd0s0;ut3ver1;do4se0t1;ak0h2;do2g1;roH;ne;ast0i7;iv0o1;ne,tt0;all0loCor1;bi3g2s1;ak0e0;iv0oA;dd0;ove,r1;a6eamt,iv0u1;nk;hos0lu1;ng;e4i3lo2ui1;lt;wn;tt0;at0en,gun;r2w1;ak0ok0;is0;en",Gerund:"true¦accord0be0doin,go0result0stain0;ing",Expression:"true¦a0Yb0Uc0Sd0Oe0Mfarew0Lg0FhZjeez,lWmVnToOpLsJtIuFvEw7y0;a5e3i1u0;ck,p;k04p0;ee,pee;a0p,s;!h;!a,h,y;a5h2o1t0;af,f;rd up,w;atsoever,e1o0;a,ops;e,w;hoo,t;ery w06oi0L;gh,h0;! 0h,m;huh,oh;here nPsk,ut tut;h0ic;eesh,hh,it,oo;ff,h1l0ow,sst;ease,s,z;ew,ooey;h1i,mg,o0uch,w,y;h,o,ps;! 0h;hTmy go0wT;d,sh;a7evertheless,o0;!pe;eh,mm;ah,eh,m1ol0;!s;ao,fao;aCeBi9o2u0;h,mph,rra0zzC;h,y;l1o0;r6y9;la,y0;! 0;c1moCsmok0;es;ow;!p hip hoor0;ay;ck,e,llo,y;ha1i,lleluj0;ah;!ha;ah,ee4o1r0;eat scott,r;l1od0sh; grief,bye;ly;! whiz;ell;e0h,t cetera,ureka,ww,xcuse me;k,p;'oh,a0rat,uh;m0ng;mit,n0;!it;mon,o0;ngratulations,wabunga;a2oo1r0tw,ye;avo,r;!ya;h,m; 1h0ka,las,men,rgh,ye;!a,em,h,oy;la",Negative:"true¦n0;ever,o0;n,t",QuestionWord:"true¦how3wh0;at,e1ich,o0y;!m,se;n,re; come,'s",Reflexive:"true¦h4it5my5o1the0your2;ir1m1;ne3ur0;sel0;f,ves;er0im0;self",Plural:"true¦dick0gre0ones,records;ens","Unit|Noun":"true¦cEfDgChBinchAk9lb,m6newt5oz,p4qt,t1y0;ardEd;able1b0ea1sp;!l,sp;spo1;a,t,x;on9;!b,g,i1l,m,p0;h,s;!les;!b,elvin,g,m;!es;g,z;al,b;eet,oot,t;m,up0;!s",Value:"true¦a few",Imperative:"true¦bewa0come he0;re","Plural|Verb":"true¦leaves",Demonym:"true¦0:15;1:12;a0Vb0Oc0Dd0Ce08f07g04h02iYjVkTlPmLnIomHpEqatari,rCs7t5u4v3welAz2;am0Gimbabwe0;enezuel0ietnam0I;gAkrai1;aiwTex0hai,rinida0Ju2;ni0Prkmen;a5cotti4e3ingapoOlovak,oma0Spaniard,udRw2y0W;ede,iss;negal0Cr09;sh;mo0uT;o5us0Jw2;and0;a2eru0Fhilippi0Nortugu07uerto r0S;kist3lesti1na2raguay0;ma1;ani;ami00i2orweP;caragu0geri2;an,en;a3ex0Lo2;ngo0Drocc0;cedo1la2;gasy,y07;a4eb9i2;b2thua1;e0Cy0;o,t01;azakh,eny0o2uwaiI;re0;a2orda1;ma0Ap2;anO;celandic,nd4r2sraeli,ta01vo05;a2iB;ni0qi;i0oneU;aiAin2ondur0unO;di;amEe2hanai0reek,uatemal0;or2rm0;gi0;ilipino,ren8;cuadoVgyp4mira3ngli2sto1thiopi0urope0;shm0;ti;ti0;aPominUut3;a9h6o4roat3ub0ze2;ch;!i0;lom2ngol5;bi0;a6i2;le0n2;ese;lifor1m2na3;bo2eroo1;di0;angladeshi,el6o4r3ul2;gaE;azi9it;li2s1;vi0;aru2gi0;si0;fAl7merBngol0r5si0us2;sie,tr2;a2i0;li0;genti2me1;ne;ba1ge2;ri0;ni0;gh0r2;ic0;an",Organization:"true¦0:4S;a3Vb3Dc2Qd2Ie2Ef28g20h1Ui1Qj1Ok1Ml1Hm13n0Qo0Np0Dqu0Cr03sUtHuCv9w3xiaomi,y1;amaha,m1Cou1w1C;gov,tu3E;a4e2iki1orld trade organizati35;leaSped0P;lls fargo,st1;fie2Jinghou2T;l1rner br3W;gree3Ll street journ2Km1F;an halPeriz2Zisa,o1;dafo30l1;kswagNvo;b4kip,n2ps,s1;a tod3Cps;es3Oi1;lev3Hted natio3E;er,s; mobi34aco beSd bPeAgi frida9h3im horto3Cmz,o1witt3F;shi4By1;ota,s r 06;e 1in lizzy;b3carpen3Ldaily ma3Fguess w2holli0rolling st22s1w2;mashing pumpki37uprem0;ho;ea1lack eyed pe3Zyrds;ch bo1tl0;ys;l2n3Rs1xas instrumen1U;co,la m1F;efoni0Kus;a8cientology,e5ieme2Zmirnoff,np,o3pice gir6quare0Ata1ubaru;rbuc1to35;ks;ny,undgard1;en;a2x pisto1;ls;g1Xrs;few2Ninsbury33lesfor03msu2F;.e.m.,adiohead,b8e4o1yana3D;man empi1Yyal 1;b1dutch she4;ank;a3d 1max,vl21;bu1c2Bhot chili peppe2Zlobst2O;ll;ders dige1Ml madrid;c,s;ant3Bizno2T;a8bs,e5fiz2Jhilip4i3r1;emier 1udenti1E;leagTo2L;nk floyd,zza hut; morrBs;psi2tro1uge0E;br34chi0Tn34;!co;lant2Vn1yp17; 2ason28da2Q;ld navy,pec,range juli2xf1;am;us;aAb9e6fl,h5i4o1sa,vid3wa;k2tre dame,vart1;is;ia;ke,ntendo,ss0QvZ;l,s;c,st1Ptflix,w1; 1sweek;kids on the block,york0D;a,c;nd23s2t1;ional aca2Qo,we0V;a,c02d0T;aDcdonaldCe9i6lb,o3tv,y1;spa1;ce;b1Unsanto,ody blu0t1;ley cr1or0U;ue;c2t1;as,subisO;helin,rosoft;dica2rcedes benz,talli1;ca;id,re;'s,s;c's milk,tt1Az25;'ore0Ba3e1g,ittle caesa1Q;novo,x1;is,mark,us; 1bour party;pres0Ez boy;atv,fc,kk,lm,m1od1P;art;iffy lu0Soy divisi0Kpmorgan1sa;! cha0A;bm,hop,k3n1tv;g,te1;l,rpol;ea;a5ewlett pack1Wi3o1sbc,yundai;me dep1n1Q;ot;tac1zbollah;hi;lliburt09sbro;eneral 6hq,ithub,l5mb,o2reen d0Pu1;cci,ns n ros0;ldman sachs,o1;dye1g0I;ar;axo smith kli05encoX;electr0Om1;oto10;a5bi,c barcelo4da,edex,i2leetwood m04o1rito l0H;rd,xcZ;at,fa,nancial1resto00; tim0;na;cebook,nnie mae;b0Bsa,u3xxon1; m1m1;ob0K;!rosceptics;aiml0Ee6isney,o4u1;nkin donu2po10ran dur1;an;ts;j,w j1;on0;a,f lepp12ll,peche mode,r spieg02stiny's chi1;ld;aJbc,hFiDloudflaCnn,o3r1;aigsli5eedence clearwater reviv1ossra09;al;c7inba6l4m1o0Est09;ca2p1;aq;st;dplSg1;ate;se;a c1o chanQ;ola;re;a,sco1tigroup;! systems;ev2i1;ck fil-a,na daily;r1y;on;d2pital o1rl's jr;ne;bury,ill1;ac;aEbc,eBf9l5mw,ni,o1p,rexiteeU;ei3mbardiIston 1;glo1pizza;be;ng;o2ue c1;roV;ckbuster video,omingda1;le; g1g1;oodriL;cht2e ge0rkshire hathaw1;ay;el;cardi,idu,nana republ3s1xt5y5;f,kin robbi1;ns;ic;bYcTdidSerosmith,iRlKmEnheuser-busDol,pple9r6s4u3v2y1;er;is,on;di,todesk;hland o1sociated E;il;by4g2m1;co;os; compu2bee1;'s;te1;rs;ch;c,d,erican3t1;!r1;ak; ex1;pre1;ss; 5catel2ta1;ir;!-lu1;ce1;nt;jazeera,qae1;da;g,rbnb;as;/dc,a3er,tivision1;! blizz1;ard;demy of scienc0;es;ba",Possessive:"true¦its,my,our0thy;!s","Noun|Verb":"true¦0:9T;1:A7;2:93;3:A0;4:9O;5:9Z;6:9H;7:8K;8:7I;9:A5;A:90;B:8U;C:8A;a9Lb8Nc7Fd6Oe6Df5Pg5Fh53i4Vj4Sk4Pl4Dm3Zn3Uo3Rp2Rqu2Qr20s0Jt02u00vVwGyFzD;ip,oD;ne,om;awn,e6Cie65;aOeMhJiHoErD;ap,e9Link2;nd0rDuB;kDry,sh5Eth;!shop;ck,nDpe,re,sh;!d,g;e83iD;p,sD;k,p0t2;aDed,lco8T;r,th0;it,lk,rEsDt4ve,x;h,te;!ehou1ra9;aGen5CiFoD;iDmAte,w;ce,d;be,ew,sA;cuum,l49;pDr7;da5gra6Blo67;aReQhrPiOoMrGuEwiDy5W;n,st;nDrn;e,n7L;aGeFiEoDu6y;t,ub2;bu5ck4Hgg0m,p;at,k,nd;ck,de,in,nsDp,v7G;f0i8O;ll,ne,p,r4Vss,t91uD;ch,r;ck,de,e,le,me,p,re;e5Tow,u6;ar,e,ll,mp0st,xt;g,lDng2rg7Ms5x;k,ly;a0Rc0Me0Jh0Ei0Ck0Bl09m08n06o05pXquaCtKuFwD;ea85iD;ng,pe,t4;bGit,m,ppErD;fa3ge,pri1v2T;lDo6P;e6My;!je8;aMeLiKoHrEuDy2;dy,ff,mb2;a82eEiDo5Mugg2;ke,ng;am,ss,t4;ckEop,p,rD;e,m;ing,pi2;ck,nk,t4;er,m,p;ck,ff,ge,in,ke,lEmp,nd,p2rDte,y;!e,t;k,l;aJeIiHlGoFrDur,y;ay,e53inDu3;g,k2;ns88t;a5Nit;ll,n,r84te;ed,ll;m,n,rk;b,uB;aDee1Sow;ke,p;a5Ge4Ci2o50;eep,iDou4;ce,p,t;ateboa7Gi;de,gnDl2Unk,p,ze;!al;aGeFiEoDuff2;ck,p,re,w;ft,p,v0;d,i3Wlt0;ck,de,pe,re,ve;aEed,nDrv1It;se,t2M;l,r4t;aGhedu2oCrD;aEeDibb2o3X;en,w;pe,t4;le,n,r2L;cDfegua70il,mp2;k,rifi3;aZeHhy6JiGoEuD;b,in,le,n,s5V;a6ck,ll,oDpe,u5;f,t;de,ng,ot,p,s1V;aTcSdo,el,fQgPje8lOmMnLo17pJque6sFturn,vDwa6T;eDi26;al,r1;er72oFpe8tEuD;lt,me;!a53;l6Zrt;air,eaDly,o51;l,t;dezvo2Xt;aDedy;ke,rk;ea1i4E;a6Gist0r5L;act6Wer1Uo6ZuD;nd,se;a36o6D;ch,s6E;c1Cge,iEke,lly,nDp1Vt1V;ge,k,t;n,se;es69iv0;a04e00hYiXlToNrEsy4uD;mp,n4rcha1sh;aKeIiHoDu4M;be,ceFdu3fi2grDje8mi1p,te6;amDe6U;!me;ed,ss;ce,de,nt;sDy;er6As;cti3i1;iHlFoEp,re,sDuBw0;e,i5Wt;l,p;iDl;ce,sh;nt,s5T;aEce,e30uD;g,mp,n7;ce,nDy;!t;ck,le,n16pe,tNvot;a1oD;ne,tograph;ak,eFnErDt;fu53mA;!c30;!l,r;ckJiInHrFsEtDu1y;ch,e9;s,te;k,tD;!y;!ic;nt,r,se;!a7;bje8ff0il,oErDutli3Over49;bAd0ie9;ze;a4PeFoDur1;d,tD;e,i3;ed,gle8tD;!work;aMeKiIoEuD;rd0;ck,d3Pld,nEp,uDve;nt,th;it5CkD;ey;lk,n49rr5AsDx;s,ta29;asuCn4SrDss;ge,it;il,nFp,rk3UsEtD;ch,t0;h,k,t0;da5n0oeuvC;aLeJiHoEuD;mp,st;aEbby,ck,g,oDve;k,t;d,n;cDft,mAnHst;en1k;aDc0Ne4vJ;ch,d,k,p,se;bEcDnd,p,t4un4;e,k;el,o2T;eEiDno4D;ck,d,ll,ss;el,y;aEo1NuD;i3mp;m,zz;mpJnEr45ssD;ue;c1Qdex,fluGha2k,se2GteDvoi3;nt,rD;e6fa3viD;ew;en3;a8le29;aJeHiGoEuD;g,nt;l39no2Cok,pDr1u1;!e;ghli1Eke,nt,re,t;aDd7lp;d,t;ck,mGndFrEsh,tDu9;ch,e;bo3Wm,ne4Dve6;!le;!m0;aLear,ift,lJossIrFuD;arDe49lp,n;antee,d;aEiDouBumb2;ll,nd,p;de,sp;ip;oDue;ss,w;g,in,me,ng,s,te,ze;aZeWiRlNoJrFuD;ck,el,nDss,zz;c38d;aEoDy;st,wn;cDgme,me,nchi1;tuC;cFg,il,ld,rD;ce,e29mDwa31;!at;us;aFe0Vip,oDy;at,ck,od,wD;!er;g,ke,me,re,sh,vo1E;eGgFlEnDre,sh,t,x;an3i0Q;e,m,t0;ht,uC;ld;aEeDn3;d,l;r,tuC;ce,il,ll,rm,vo2W;cho,d7ffe8nMsKxFyeD;!baD;ll;cGerci1hFpDtra8;eriDo0W;en3me9;au6ibA;el,han7u1;caDtima5;pe;count0d,vy;a01eSiMoJrEuDye;b,el,mp,pli2X;aGeFiEoD;ne,p;ft,ll,nk,p,ve;am,ss;ft,g,in;cEd7ubt,wnloD;ad;k,u0E;ge6p,sFt4vD;e,iDor3;de;char7gui1h,liEpD;at4lay,u5;ke;al,bKcJfeIlGmaBposAsEtaD;il;e07iD;gn,re;ay,ega5iD;ght;at,ct;li04rea1;a5ut;b,ma7n3rDte;e,t;a0Eent0Dh06irc2l03oKrFuD;be,e,rDt;b,e,l,ve;aGeFoEuDy;sh;p,ss,wd;dAep;ck,ft,sh;at,de,in,lTmMnFordina5py,re,st,uDv0;gh,nDp2rt;s01t;ceHdu8fli8glomeIsFtDveN;a8rD;a6ol;e9tru8;ct;ntDrn;ra5;bHfoGmFpD;leDouBromi1;me9;aBe9it,u5;rt;at,iD;ne;lap1oD;r,ur;aEiDoud,ub;ck,p;im,w;aEeDip;at,ck,er;iGllen7nErD;ge,m,t;ge,nD;el;n,r;er,re;ke,ll,mp,noe,pGrXsFtEuDve;se,ti0I;alog,ch;h,t;!tuC;re;a03eZiXlToPrHuEyD;pa11;bb2ck2dgEff0mp,rDst,zz;den,n;et;anJeHiFoadEuD;i1sh;ca6;be,d7;ge;aDed;ch,k;ch,d;aFg,mb,nEoDrd0tt2x,ycott;k,st,t;d,e;rd,st;aFeBiDoYur;nk,tz;nd;me;as,d,ke,nd,opsy,tD;!ch,e;aFef,lt,nDt;d,efA;it;r,t;ck,il,lan3nIrFsEtt2;le;e,h;!gDk;aDe;in;!d,g,k;bu1c05dZge,iYlVnTppQrLsIttGucEwaD;rd;tiD;on;aDempt;ck;k,sD;i6ocia5;st;chFmD;!oD;ur;!iD;ve;eEroa4;ch;al;chDg0sw0;or;aEt0;er;rm;d,m,r;dreHvD;an3oD;ca5;te;ce;ss;cDe,he,t;eFoD;rd,u9;nt;nt,ss;se",Actor:"true¦0:7C;1:7H;2:6B;3:7G;4:7P;5:7L;6:72;a6Pb64c4Xd4De43f3Tg3Ch31i2Vj2Rkin2Ql2Lm27n20o1Tp0Wqu0Ur0KsRtKuIvFw9yo7;gi,ut7;h,ub0;aBeAi9o8r7;estl0it0;m2rk0;fe,nn0t2Cza2I;atherm2ld0;ge earn0it0nder0rri1;eter8i7oyG;ll5Sp,s41;an,ina2V;n7s0;c6Wder04;aoisea24eAherapi5iktok0o9r7ut1yco6;a7endseMo45;d0mp,nscri0Cvel0;ddl0u1H;a0Rchn8en7na4st0;ag0;i3Qo0E;aiYcVeShQiNki0mu27oKpHquaGtCu8wee7;p0theart;lt2per8r7;f0ge6viv1;h7inten0Jst5Kvis1;ero,um2;a9ep8r7;ang0eam0;bro2Oc2Pfa2Omo2Osi21;ff0tesm2;tt0;ec8ir2Eo7;kesp5Bu0N;ia5Lt3;l8me6Cn,rcere7ul;r,ss;di0oi5;n8s7;sy,t0;g0n0;am2ephe1Jow7;girl,m2r2R;cretJnior cit3Hr7;gea4v7;a4it1;hol4Zi8reen7ulpt1;wr2D;e02on;l1nt;aFeAo9u7;l0nn7;er up,ingF;g42le mod41of0;a51c9fug2Rpo34searRv7;ere4Wolution7;ary;e7luZru23;ptio3V;bbi,dic5Xpp0;arter7e31;back;aZeXhTiSlPoLr9sycho8u7;nk,p34;logi5;aHeEiCo7;dAfess1g8ph49s7;pe2Mtitu53;en7ramm0;it1y;igy,uc0;est4Pme mini0Vnce7s3G;!ss;a8si7;de4;ch0;ctiti3Bnk0Q;dca0Pet,li7pula52rnst44;c2Ktic7;al scie7i2;nti5;a7umb0;nn0y7;er,ma4Nwright;lgrim,one0;a9iloso8otogra8ra7ysi1X;se;ph0;ntom,rmaci5;r7ssi1V;form0s6;i3Gl,nel40r9st1tr7wn;i7on;arXot;ent4Yi44tn0;ccupa4ffCp9r8ut7;ca5l0C;ac4Kganiz0ig2Hph2;er3t7;i1Lomet7;ri5;ic0spring;aCeAie4Zo8u7;n,rser3L;b7mad,vi4X;le2Xo4F;i7mesis,phew;ce,ghb1;nny,rr3t20;aFeEiBo8u7yst21;m9si18;der3gul,m8n7th0;arEk;!my;ni8s7;f03s0Kt0;on,st0;chan1Tnt1rcha4;giAk0n9rtyr,t7y1;e,riar7;ch;ag0iac;ci2stra3K;a8e2Cieutena4o7;rd,s0v0;bor0d8ndlo7ss,urea3Hwy0ym2;rd;!y;!s2A;anitor ,e9o8u7;ggl0;gg0urna2W;st0;c6dol,llu3Wmmigra4n7;-lAc1Sfa4habi44nov3s8ve7;nt1stig3;pe0Pt7;a1Hig3ru0O;aw;airGeCistoBo9u7ygie1M;man7sba2J;!ita9;bo,st7usekO;age,e3R;ri2;ir,r7;m8o7;!ine;it;dress0sty2E;aMeJhostHirl28ladi3oDrand8u7;e5ru;cAdaugTfa9m8pa7s6;!re4;a,o7;th0;hi1D;al8d7lf0;!de3C;ie,k7te28;eep0;!wr7;it0;isha,n7;i7tl06;us;mbl0rden0;aFella,iBo8r7;eela2Pie1R;e,re7ster pare4;be1Jm2r7st0;unn0;an31g9lmm19nanci0r7tt0;e7st la2J; marsh2Qfig7m2;ht0;rm0th0;conoFdElectriDm9n8x7;amin0cellency,i2B;emy,trepreneur,vironmenta1K;c9p7;er1loye7;e,r;ee;ci2;it1;mi5;aLeCi9ork,ri8u7we03;de,tche2I;ft0vK;ct3eti8plom2Ire7va;ct1;ci2ti2;aEcor3fencDi0JnBputAs8tectNvel7;op0;ce1He7ign0;rt0;ee,y;iz7;en;em2;c6l0;dAnc0redev9ught7;er7;! ;il;!dy;a06e04fo,hXitizenWlToCrAu7;r3stomer7;! representat7;ive;e3it7;ic;-work0lJmGnAord9rpor1Nu7wboy;n7ri0sin ;ciUte1R;in3;fidantBgressTsAt7;e0Lr7;ibut1o7;ll0;tab14ul1P;!e;edi2m7pos0rade;a0FeRissi7;on0;leag9on8um7;ni5;el;ue;e7own;an0r7;ic,k;!s;aAe8i7um;ld;erle7f;ad0;ir8nce7plGract0;ll1;m2wJ;lebri7o;ty;dCptBr7shi0;e8pe7;nt0;r,t7;ak0;ain;et;aNeMiKlogg0oFrCu7;dd0Gild0rglAsiness7;m2p8w7;om2;ers6;ar;i8o7;!k0th0;cklay0de,gadi0;hemi2oge9y7;!frie7;nd;ym2;an;cyc7sS;li5;atbox0ings;by,nk0r7;b0on8te7;nd0;!e08;c05dXge4nRpMrIsGtBu8yatull7;ah;nt8t7;h1oH;!ie;h9t7;e7orney;nda4;ie5le7;te;sis01tron7;aut,om0;chbis9isto8tis7;an,t;crV;hop;ostAp7;ari7rentiT;ti6;on;le;aAcest1im3nou9y7;bo7;dy;nc0;ly5rc7;hi5;mi9v7;entur0is1;er;ni8r7;al;str3;at1;or;counCquaintanBrobAt7;ivi5or,re7;ss;st;at;ce;ta4;nt","Adj|Noun":"true¦0:1F;1:1M;a1Db17c0Vd0Se0Nf0Eg0Bh09i07ju06l03mXnVoTpOrJsCt8u5v2watershed;a2ision10;gabo5nilla,ria2;b0Wnt;ndergr2pstairs;adua14ou2;nd;a4e2oken,ri0;en,r2;min0rori13;boo,n;age,e6ilv0Glack,o4quat,ta3u2well;bordina0Xper6;b0Mndard;ciali0Yl2vereign;e,ve1;cret,n2ri0;ior;a5e3ou2ubbiM;nd,tiZ;ar,bCl0Ynt0p2side1;resent0Xublican;ci0Qsh;a5eriodic0last11otenti0r2;emi3incip0o2;!fession0;er,um;rall5st,tie1;ff2pposi0Hv0;ens0Qi0D;agg02ov2;el;a6e4iniatKo2;bi02der08r2;al,t0;di2tr0P;an,um;le,riH;attPi3u2;sh;ber0ght,qD;stice,veniU;de0mpressioZn2;cumbe1dividu0no0Fsta1terim;alf,o2umdrum;bby,melG;en3old,ra2;ph0Dve;er0ious;a8e6i5l4u2;git05t2;ure;uid;ne;llow,m2;aGiM;ir,t,vo2;riOuriO;l4p02x2;c2ecutWpeX;ess;d2iK;er;ar3e2;mographWrivQ;k,l3;hiGlassUo3rude,unn2;ing;m6n2operM;creCstitue1te3vertab2;le;mpor2nt;ary;ic,m3p2;anion,lex;er3u2;ni8;ci0;e6lank,o5r2;i3u2;te;ef;ttom,urgeois;st;cademCd9l5n3r2;ab,ctB;im0tarctA;al;e4tern2;at2;ive;rt;oles2ult;ce1;nt;ic","Adj|Past":"true¦0:4C;1:40;2:45;3:42;4:3B;a3Tb3Ic2Vd2Ae22f1Wg1Th1Qi1Hj1Ekno1Dl18m13n10o0Vp0Lqu0Jr07sKtEuBvAw5yellow0;a8ea7o5rinkl0;r5u3N;n,ri0;k2Qth3;rp0sh0tY;ari0e1M;n5pd1s0;cov3derstood,i5;fi0t0;a8hreat2Ki7ouTr5urn0wi42;a5imm0ou28;ck0in0pp0;ed,r0;m0nn0r5;get0ni2K;aPcLeJhHimGm0Hoak0pEt8u5;bsid3Fgge3Vs5;pe5ta2P;ct0nd0;a9e8i26ok0r6u5;ff0nn0;ength28ip5;ed,p0;am0reotyp0;in0t0;eci5ik0oI;al35fi0;pSul1;a5ock0ut;d0r0;a5c1Dle2t2S;l0s3Jt0;a7or6r5;at5e1W;ch0;r0tt3;t5ut0;is4ur1;aFe6o5;tt0;cBdJf22gAje2l9m0Knew0p8qu7s5;eTpe2t5;or0ri2;e34ir0;e1lac0;at0e2H;ist3ul1;eiv0o5ycl0;mme2Crd0v3;in0lli0ti4;a5ot0;li4;aCer2RiBlAo9r5ump0;e7i2Go5;ce27d5lo14nou2Spos0te2v0;uc0;fe15ocDp0Fss0;i2Cli1D;ann0e24uT;ck0erc0ss0;ck0i29r5st0;allMk0;bse8c7rgan25ver5;lo5whelm0;ok0;cupi0;rv0;e6o5;t0uri12;ed0gle2;a7e6ix0o5ut0;di4t0Xu1Y;as07lt0;n5rk0;ag0ufact05;e7i6o5;ad0ck0st;cens0mit0st0;ft,v5;el0;tt0wn;a6o0Xu5;dg0s13;gg0;llumin1mpBn5sol1;br0cre1Ddebt0f9jUt6v5;it0olv0;e5ox0Q;gr1n5re1V;d0si4;e2l1o1O;li0oVr5;ov0;amm3e1o5;ok0r5;ri4;ift0r6u5;a14id0;i0Kown;a9e8i7lavo0Goc0Cr5;a5i0oz0S;ctEg13m0;ni04tt0x0;ar0;d0il0;duc1l1mBn9quipp0s8x5;agger1p5te0Q;a0Pe5os0;ct0rie1A;cap0tabliX;gFha18s5;ur0;a0Xbarra0L;aMeEi6r5;a00i0;gni4miniRre2s5;aAc7grun0Et5;o5re0Gurb0;rt0;iplVou5;nt0r5;ag0;bl0;cBdQf9l8pre0Ara7t6v5;elop0ot0;ail0ermP;ng0;ay0ight0;e5in0o0M;rr0;ay0enTor1;m5t0z0;ag0p5;en0;aQeMhJlIoAr7u5;lt5r0stom04;iv1;a6owd0u5;sh0;ck0mp0;d0loBm8n5ok0v3;centr1f6s5troD;id3olid1;us0;b6pl5;ic1;in0;r0ur0;assi4os0utt3;ar6i5;ll0;g0m0;lebr1n7r5;ti4;fi0;tralK;g0lcul1;aEiDlAo8r6urn5;ed,t;ok5uis0;en;il0r0t5und;tl0;e6i5;nd0;ss0;as0;k0laNs0tt3;bandQcOdLfJg0lGmaz0nEppCrm0ssAu6wa5;rd0;g6thor5;iz0;me5;nt0;o7u5;m0r0;li0re5;ci1;im1ticip1;at0;a6leg0t3;er0;rm0;fe2;ct0;ju6o8va5;nc0;st0;ce5knowledg0;pt0;on0;ed",Singular:"true¦0:5H;1:5F;2:4U;3:4Q;4:50;5:55;6:5J;a4Yb4Hc3Kd32e2Uf2Lg2Gh25in21j20k1Zl1Sm1Jn1Fo19p0Pqu0Or0DsXtKuFvAw7x r54yo yo;a7ha3Mo3N;f3i4Nt0Ey7;! arou36;arAe8ideo ga2No7;cabu4Fl58;gMr7t;di4Vt1V;iety,ni4L;n9p2Xr8s 7;do40s5A;bani1in0;coordinat37der7;estima1to21we3Y; rex,aIeHhFiDoCr9u8v7;! show;m2Ln2rntJto1B;agedy,ib7o4A;e,u7;n0ta42;ni1p2rq3I;c,er,m7;etD;ing7ree23;!y;am,mp3C;ct2le6x return;aLcKeIhor4MiHkFoEpin off,tBu9y7;ll7ner4Ist4P;ab2U;b7i1n25per bowl,rro1U;st3Itot0;at8ipe2Do1Irate4Eudent7;! lo0G;i36u1;ft ser4Hmeo1F;elet5i7;ll,r3R;b35gn2Qte;ab2Gc7min38;t,urity gua2K;e6ho2V;bbatic0la3Fndwi0Opi5;av5eBhetor2i8o7;de6om,w;t8v7;erb29;e,u0;bBc9f7publ2r0Xspi1;er7orm3;e6r0;i7ord label;p2Et0;a1u42;estion mark,ot2C;aNeKhoJiGlEoCr8u7yram1C;ddi3DpCrpo1Gs3F;e9o7;bl3Vs7;pe3Fta1;dic1Omi1Cp1Nroga3Rss relea1C;p7rt0;py;a7ebisci1;q2Ate;cn2e8g7;!gy;!r;ne call,tocoI;anut,d8r7t0yo1;cen3Fsp3G;al,est0;nop4r8t7;e,hog5;adi0Yi2R;atme0bj3Bc9pia1rde0thers,utspok5ve7wn3;n,r7;ti0Mview;cu8e7;an;pi3;ar9it8ot7umb3;a2Bhi2N;e,ra1;cot2ra33;aDeAi8o7ur0;nopo4p15rni2Jsq1Oti32uld;c,li0Yn07s7tt5;chief,si30;d8nu,t7;al,i3;al,ic;gna1mm0nd12rsupi0te7yf4;ri0;aBegAi9u7;ddi1n7;ch;ght bulb,me,p06ving room; 8e0J;bor11y 7;up;eyno1itt5;el4ourn0;c9dices,itia2Kni22s8tel0Jvert7;eb1H;e25titu1;en2Hi2Q;aGeCighBo8u7;man right,s1Z;me7rmoDsp1Dtb0I;! r7;un; scho0WriW;a7i1K;d7v5; start,pho7;ne;ndful,sh brown,v5ze;a9elat0Glaci3r7ul4yp1P;an7enadi3id;a19d slam,ny;df4r7;l2ni1F;aEeti1EiDlu1oAr8un7;er0;ee market,i7onti3;ga1;l4ur7;so7;me;eNref4;br2mi4;conoDffi1Mgg,lecto0Pmbas1BnApidem2s1Wth2ven9x8yel7;id;ampXempl0Lte6;i16t;er1Iterp7;ri7;se;my;eJiCo9r7ump tru0R;agonf4i7;er,ve thru;c8g1Bi4or,ssi3wn7;side;to0CumenC;aCgniBnn3s8vide7;nd;conte6incen1Bp7tri0Y;osi7;tion;ta0E;le0U;ath9c8f7ni0terre6;ault 03err0;al,im0;!b7;ed;aUeRhKiJlHoBr7;edit ca9uc7;ib7;le;rd;efficBke,lAmmuniqJns8pi3rr0t0Uus7yo1;in;erv7uG;atoZ;ic,lO;ie6;er0Li7oth;e6n2;ty,vil wK;aBeqAick5oco9r7;istmas car7ysanthemum;ol;la1;ue;ndeli3racteri7;st2;i8llCr7;e0tifica1;liW;hi3nDpCrAt7ucus;erpi7hedr0;ll7;ar;!bohyd7ri3;ra1;it0;a7e,nib0;l,ry;aKeJiop2leHoFrBu7;nny,r7tterf4;g7i0;la7;ry;eak8i7;ck;fa7thro9;st;dy,ro7wl;ugh;mi7;sh;an,l4;nki8rri3;er;ng;cQdKlGnDppeti1rBs9tt2utop7;sy;ic;ce6pe7;ct;r7sen0;ay;ec8oma4ti8;ly;do1;i5l7;er7y;gy;en; hominBj8van7;tage;ec7;ti7;ve;em;cAe8qui7;tt0;ta1;te;i8ru0;al;de6;nt","Person|Noun":"true¦a0Eb07c03dWeUfQgOhLjHkiGlFmCnBolive,p7r4s3trini06v1wa0;ng,rd,tts;an,enus,iol0;a,et;ky,onPumm09;ay,e1o0uby;bin,d,se;ed,x;a2e1o0;l,tt04;aLnJ;dYge,tR;at,orm;a0eloW;t0x,ya;!s;a9eo,iH;ng,tP;a2e1o0;lGy;an,w3;de,smi4y;a0erb,iOolBuntR;ll,z0;el;ail,e0iLuy;ne;a1ern,i0lo;elds,nn;ith,n0;ny;a0dEmir,ula,ve;rl;a4e3i1j,ol0;ly;ck,x0;ie;an,ja;i0wn;sy;am,h0liff,rystal;a0in,ristian;mbers,ri0;ty;a4e3i2o,r0ud;an0ook;dy;ll;nedict,rg;k0nks;er;l0rt;fredo,ma","Actor|Verb":"true¦aCb8c5doctor,engineAfool,g3host,judge,m2nerd,p1recruit,scout,ushAvolunteAwi0;mp,tneA;arent,ilot;an,ime;eek,oof,r0uide;adu8oom;ha1o0;ach,nscript,ok;mpion,uffeur;o2u0;lly,tch0;er;ss;ddi1ffili0rchite1;ate;ct",MaleName:"true¦0:H9;1:FZ;2:DS;3:GQ;4:CZ;5:FV;6:GM;7:FP;8:GW;9:ET;A:C2;B:GD;aF8bE1cCQdBMeASfA1g8Yh88i7Uj6Sk6Bl5Mm48n3So3Ip33qu31r26s1Et0Ru0Ov0CwTxSyHzC;aCor0;cChC1karia,nAT;!hDkC;!aF6;!ar7CeF5;aJevgenBSoEuC;en,rFVsCu3FvEF;if,uf;nDs6OusC;ouf,s6N;aCg;s,tC;an,h0;hli,nCrosE1ss09;is,nC;!iBU;avi2ho5;aPeNiDoCyaEL;jcieBJlfgang,odrFutR;lFnC;f8TsC;lCt1;ow;bGey,frEhe4QlC;aE5iCy;am,e,s;ed8iC;d,ed;eAur;i,ndeD2rn2sC;!l9t1;lDyC;l1ne;lDtC;!er;aCHy;aKernDAiFladDoC;jteB0lodymyr;!iC;mFQsDB;cFha0ktBZnceDrgCOvC;a0ek;!nC;t,zo;!e4StBV;lCnC7sily;!entC;in9J;ghE2lCm70nax,ri,sm0;riCyss87;ch,k;aWeRhNiLoGrEuDyC;!l2roEDs1;n6r6E;avD0eCist0oy,um0;ntCRvBKy;bFdAWmCny;!asDmCoharu;aFFie,y;!z;iA6y;mCt4;!my,othy;adEeoDia0SomC;!as;!dor91;!de4;dFrC;enBKrC;anBJeCy;ll,nBI;!dy;dgh,ha,iCnn2req,tsu5V;cDAka;aYcotWeThPiMlobod0oKpenc2tEurDvenAEyCzym1;ed,lvest2;aj,e9V;anFeDuC;!aA;fan17phEQvCwaA;e77ie;!islaCl9;v,w;lom1rBuC;leymaDHta;dDgmu9UlCm1yabonga;as,v8B;!dhart8Yn9;aEeClo75;lCrm0;d1t1;h9Jne,qu1Jun,wn,yne;aDbastiEDk2Yl5Mpp,rgCth,ymoCU;e1Dio;m4n;!tC;!ie,y;eDPlFmEnCq67tosCMul;dCj2UtiA5;e01ro;!iATkeB6mC4u5;!ik,vato9K;aZeUheC8iRoGuDyC;an,ou;b99dDf4peAssC;!elEG;ol00y;an,bLc7MdJel,geIh0lHmGnEry,sDyC;!ce;ar7Ocoe,s;!aCnBU;ld,n;an,eo;a7Ef;l7Jr;e3Eg2n9olfo,riC;go;bBNeDH;cCl9;ar87c86h54kCo;!ey,ie,y;cFeA3gDid,ubByCza;an8Ln06;g85iC;naC6s;ep;ch8Kfa5hHin2je8HlGmFndEoHpha5sDul,wi36yC;an,mo8O;h9Im4;alDSol3O;iD0on;f,ph;ul;e9CinC;cy,t1;aOeLhilJiFrCyoG;aDeC;m,st1;ka85v2O;eDoC;tr;r8GtC;er,ro;!ipCl6H;!p6U;dCLrcy,tC;ar,e9JrC;!o7;b9Udra8So9UscAHtri62ulCv8I;!ie,o7;ctav6Ji2lImHndrBRrGsDtCum6wB;is,to;aDc6k6m0vCwaBE;al79;ma;i,vR;ar,er;aDeksandr,ivC;er,i2;f,v;aNeLguyBiFoCu3O;aDel,j4l0ma0rC;beAm0;h,m;cFels,g5i9EkDlC;es,s;!au,h96l78olaC;!i,y;hCkCol76;ol75;al,d,il,ls1vC;ilAF;hom,tC;e,hC;anCy;!a5i5;aYeViLoGuDyC;l4Nr1;hamDr84staC;fa,p6E;ed,mG;di10e,hamEis4JntDritz,sCussa;es,he;e,y;ad,ed,mC;ad,ed;cGgu5hai,kFlEnDtchC;!e8O;a9Pik;house,o7t1;ae73eC3ha8Iolaj;ah,hDkC;!ey,y;aDeC;al,l;el,l;hDlv3rC;le,ri8Ev4T;di,met;ay0c00gn4hWjd,ks2NlTmadZnSrKsXtDuric7VxC;imilBKwe8B;eHhEi69tCus,y69;!eo,hCia7;ew,i67;eDiC;as,eu,s;us,w;j,o;cHiGkFlEqu8Qsha83tCv3;iCy;!m,n;in,on;el,o7us;a6Yo7us;!elCin,o7us;!l8o;frAEi5Zny,u5;achDcoCik;lm;ai,y;amDdi,e5VmC;oud;adCm6W;ou;aulCi9P;ay;aWeOiMloyd,oJuDyC;le,nd1;cFdEiDkCth2uk;a7e;gi,s,z;ov7Cv6Hw6H;!as,iC;a6Een;g0nn52renDuCvA4we7D;!iS;!zo;am,n4oC;n5r;a9Yevi,la5KnHoFst2thaEvC;eCi;nte;bo;nCpo8V;!a82el,id;!nC;aAy;mEnd1rDsz73urenCwr6K;ce,t;ry,s;ar,beAont;aOeIhalHiFla4onr63rDu5SylC;e,s;istCzysztof;i0oph2;er0ngsl9p,rC;ilA9k,ollos;ed,id;en0iGnDrmCv4Z;it;!dDnCt1;e2Ny;ri4Z;r,th;cp2j4mEna8BrDsp6them,uC;ri;im,l;al,il;a03eXiVoFuC;an,lCst3;en,iC;an,en,o,us;aQeOhKkub4AnIrGsDzC;ef;eDhCi9Yue;!ua;!f,ph;dCge;i,on;!aCny;h,s,th6J;anDnC;!ath6Hie,n72;!nC;!es;!l,sCy;ph;o,qu3;an,mC;!i,m6V;d,ffFns,rCs4;a7JemDmai7QoCry;me,ni1H;i9Fy;!e73rC;ey,y;cKdBkImHrEsDvi2yC;dBs1;on,p2;ed,oDrCv67;e6Qod;d,s61;al,es5Wis1;a,e,oCub;b,v;ob,qu13;aTbNchiMgLke53lija,nuKonut,rIsEtCv0;ai,suC;ki;aDha0i8ZmaCsac;el,il;ac,iaC;h,s;a,vinCw3;!g;k,nngu6X;nac1Xor;ka;ai,rahC;im;aReLoIuCyd6;beAgGmFsC;eyDsC;a3e3;in,n;ber5W;h,o;m2raDsse3wC;a5Pie;c49t1K;a0Qct3XiGnDrC;beAman08;dr7VrC;iCy2N;!k,q1R;n0Tt3S;bKlJmza,nIo,rEsDyC;a5KdB;an,s0;lEo67r2IuCv9;hi5Hki,tC;a,o;an,ey;k,s;!im;ib;a08e00iUlenToQrMuCyorgy;iHnFsC;!taC;f,vC;!e,o;n6tC;er,h2;do,lC;herDlC;auCerQ;me;aEegCov2;!g,orC;!io,y;dy,h7C;dfr9nza3XrDttfC;ri6C;an,d47;!n;acoGlEno,oCuseppe;rgiCvan6O;!o,s;be6Ies,lC;es;mo;oFrC;aDha4HrC;it,y;ld,rd8;ffErgC;!e7iCy;!os;!r9;bElBrCv3;eCla1Nr4Hth,y;th;e,rC;e3YielC;!i4;aXeSiQlOorrest,rCyod2E;aHedFiC;edDtC;s,z;ri18;!d42eri11riC;ck,k;nCs2;cEkC;ie,lC;in,yn;esLisC;!co,z3M;etch2oC;ri0yd;d5lConn;ip;deriFliEng,rC;dinaCg4nan0B;nd8;pe,x;co;bCdi,hd;iEriC;ce,zC;io;an,en,o;benez2dZfrYit0lTmMnJo3rFsteb0th0ugenEvCymBzra;an,eCge4D;ns,re3K;!e;gi,iDnCrol,v3w3;est8ie,st;cCk;!h,k;o0DriCzo;co,qC;ue;aHerGiDmC;aGe3A;lCrh0;!iC;a10o,s;s1y;nu5;beAd1iEliDm2t1viCwood;n,s;ot28s;!as,j5Jot,sC;ha;a3en;!dGg6mFoDua2QwC;a2Pin;arC;do;oZuZ;ie;a04eTiOmitrNoFrag0uEwDylC;an,l0;ay3Hig4D;a3Gdl9nc0st3;minFnDri0ugCvydGy2S;!lF;!a36nCov0;e1Eie,y;go,iDykC;as;cCk;!k;i,y;armuFetDll1mitri7neCon,rk;sh;er,m6riC;ch;id;andLepak,j0lbeAmetri4nIon,rGsEvDwCxt2;ay30ey;en,in;hawn,moC;nd;ek,riC;ck;is,nC;is,y;rt;re;an,le,mKnIrEvC;e,iC;!d;en,iEne0PrCyl;eCin,yl;l45n;n,o,us;!iCny;el,lo;iCon;an,en,on;a0Fe0Ch03iar0lRoJrFuDyrC;il,us;rtC;!is;aEistC;iaCob12;no;ig;dy,lInErC;ey,neliCy;s,us;nEor,rDstaC;nt3;ad;or;by,e,in,l3t1;aHeEiCyde;fCnt,ve;fo0Xt1;menDt4;us;s,t;rFuDyC;!t1;dCs;e,io;enC;ce;aHeGrisC;!toC;phCs;!eC;!r;st2t;d,rCs;b5leC;s,y;cDdrCs6;ic;il;lHmFrC;ey,lDroCy;ll;!o7t1;er1iC;lo;!eb,v3;a09eZiVjorn,laUoSrEuCyr1;ddy,rtKst2;er;aKeFiEuDyC;an,ce,on;ce,no;an,ce;nDtC;!t;dDtC;!on;an,on;dFnC;dDisC;lav;en,on;!foOl9y;bby,gd0rCyd;is;i0Lke;bElDshC;al;al,lL;ek;nIrCshoi;at,nEtC;!raC;m,nd;aDhaCie;rd;rd8;!iDjam3nCs1;ie,y;to;kaMlazs,nHrC;n9rDtC;!holomew;eCy;tt;ey;dCeD;ar,iC;le;ar1Pb1Dd16fon15gust3hm12i0Zja0Yl0Bm07nTputsiSrGsaFugustEveDyCziz;a0kh0;ry;o,us;hi;aMchiKiJjun,mHnEon,tCy0;em,hCie,ur8;ur;aDoC;!ld;ud,v;aCin;an,nd8;!el,ki;baCe;ld;ta;aq;aMdHgel8tCw6;hoFoC;iDnC;!i8y;ne;ny;er7rCy;eDzC;ej;!as,i,j,s,w;!s;s,tolC;iCy;!y;ar,iEmaCos;nu5r;el;ne,r,t;aVbSdBeJfHiGl01onFphonsEt1vC;aPin;on;e,o;so,zo;!sR;!onZrC;ed;c,jaHksFssaHxC;!andC;er,rC;e,os,u;andCei;ar,er,r;ndC;ro;en;eDrecC;ht;rt8;dd3in,n,sC;taC;ir;ni;dDm6;ar;an,en;ad,eC;d,t;in;so;aGi,olErDvC;ik;ian8;f8ph;!o;mCn;!a;dGeFraDuC;!bakr,lfazl;hCm;am;!l;allHelEoulaye,ulC;!lCrE;ah,o;! rC;ahm0;an;ah;av,on",Uncountable:"true¦0:2Z;1:2F;2:2M;3:34;4:3D;a2Xb2Oc2Cd25e1Uf1Qg1Hh19i14j11k0Zl0Um0Kn0Go0Fp06r02sNtBuran2Mv9w5you gu0H;a7his1Ai6oo5;d,l;ldlife,ne;rmAt2;apor,ernacul2Ci5;neg2Bol1Rtae;eFhDiCoAr6un5yranny;a,gst1E;aff2Rea1No6ue nor5;th;o0Bu5;bleshoot0se1Wt;night,othpas1Ywn5;foGsfoG;me off,n;er5und2;e,mod2V;a,nnis;aGcFeEhCiBkiAo9p8t6u5weepstak1;g1Xnshi2Kshi;ati0Be5;am,el;ace2Neci1;ap,cc2meth0;n,ttl1;lk;eep,ingl1o5;pp0r1E;lf,na1Iri1;ene1Misso1E;d0Yfe3l6nd,t5;i0Kurn;m1Wt;abi1e6ic5;e,ke17;c5i03laxa13search;ogni12rea12;aBeAhys9luto,o7re5ut3;amble,mis1s5ten22;en21s0N;l5rk;i2Al0GyJ; 18i4;a26tr0H;nt5rk0ti0O;i1s;bstetri4vercrowd0xyg0B;a7e6owada5utella;ys;ptu1Qws;il poli01tional securi3;aCeAo7u5;m5s1J;ps;n5o1M;ey,o5;gamy;a5cha0Glancholy,rchandi1Jtallurgy;sl1t;chine5g1Cj1Jrs,thema1S; learn0ry;aught2e8i7ogi6u5;ck,g14;c,s1O;ce,ghtn0nguis1NteratYv2;ath2isXss;ara0GindergartRn5;icke0Cowled10;e5upit2;a5llyfiIwel0I;ns;ce,gnor8mp7n5;forma02ter5;net,sta09;atiUort5rov;an1A;a9e8isto0Bo5ung2;ckey,mework,ne6o5rseradiAspitali3use arrest;ky;s3y;adquarteZre;ir,libut,ppiJs5;hi5te;sh;eneAl8o7r5um,ymnas13;a5e01;niWss;lf,re;ut5yce0H;en; 5ti4;edit0po5;ol;aPeel0icHlour,o6urnit5;ure;od,rgive5uri2wl;ness;arEcono0NducaDlectrBn9quipAthi4very8x5;ist6per5;ti0D;en0L;body,o0Ath0;joy5tertain5;ment;ici3o5;ni4;tiU;nings,th;emi04i8o6raugh5ynas3;ts;pe,wnstai5;rs;abet1ce,s5;hon01repu5;te;aFelciEhCivi4lAo5urrency;al,ld w8mmenta7n5ral,ttKuscoD;fusiJt 5;ed;ry;ar;assi4oth1;es;aos,e5;eOw0;us;d,rQ;aAi8lood,owl0read7u5;nt0tt2;er;!th;lliarLs5;on;g5ss;ga5;ge;cMdviLeroIirHmDn8ppeal court,r6spi5thleN;rin;ithmet5sen5;ic;i8y5;o6th0;ing;ne;se;en7n5;es3;ty;ds;craft;bi4d5nau9;yna5;mi4;ce;id,ous5;ti4;cs",Infinitive:"true¦0:9G;1:9T;2:AD;3:90;4:9Z;5:84;6:AH;7:A9;8:92;9:A0;A:AG;B:AI;C:9V;D:8R;E:8O;F:97;G:6H;H:7D;a94b8Hc7Jd68e4Zf4Mg4Gh4Ai3Qj3Nk3Kl3Bm34nou48o2Vp2Equ2Dr1Es0CtZuTvRwI;aOeNiLors5rI;eJiI;ng,te;ak,st3;d5e8TthI;draw,er;a2d,ep;i2ke,nIrn;d1t;aIie;liADniAry;nJpI;ho8Llift;cov1dJear8Hfound8DlIplug,rav82tie,ve94;eaAo3X;erIo;cut,go,staAFvalA3w2G;aSeQhNoMrIu73;aIe72;ffi3Smp3nsI;aBfo7CpI;i8oD;pp3ugh5;aJiJrIwaD;eat5i2;nk;aImA0;ch,se;ck3ilor,keImp1r8L;! paD;a0Ic0He0Fh0Bi0Al08mugg3n07o05p02qu01tUuLwI;aJeeIim;p,t5;ll7Wy;bNccMffLggeCmmKppJrI;mouFpa6Zvi2;o0re6Y;ari0on;er,i4;e7Numb;li9KmJsiIveD;de,st;er9it;aMe8MiKrI;ang3eIi2;ng27w;fIng;f5le;b,gg1rI;t3ve;a4AiA;a4UeJit,l7DoI;il,of;ak,nd;lIot7Kw;icEve;atGeak,i0O;aIi6;m,y;ft,ng,t;aKi6CoJriIun;nk,v6Q;ot,rt5;ke,rp5tt1;eIll,nd,que8Gv1w;!k,m;aven9ul8W;dd5tis1Iy;a0FeKiJoI;am,t,ut;d,p5;a0Ab08c06d05f01group,hea00iZjoi4lXmWnVpTq3MsOtMup,vI;amp,eJiIo3B;sEve;l,rI;e,t;i8rI;ie2ofE;eLiKpo8PtIurfa4;o24rI;aHiBuctu8;de,gn,st;mb3nt;el,hra0lIreseF;a4e71;d1ew,o07;aHe3Fo2;a7eFiIo6Jy;e2nq41ve;mbur0nf38;r0t;inKleBocus,rJuI;el,rbiA;aBeA;an4e;aBu4;ei2k8Bla43oIyc3;gni39nci3up,v1;oot,uI;ff;ct,d,liIp;se,ze;tt3viA;aAenGit,o7;aWerUinpoiFlumm1LoTrLuI;b47ke,niArIt;poDsuI;aFe;eMoI;cKd,fe4XhibEmo7noJpo0sp1tru6vI;e,i6o5L;un4;la3Nu8;aGclu6dJf1occupy,sup0JvI;a6BeF;etermi4TiB;aGllu7rtr5Ksse4Q;cei2fo4NiAmea7plex,sIva6;eve8iCua6;mp1rItrol,ve;a6It6E;bOccuNmEpMutLverIwe;l07sJtu6Yu0wI;helm;ee,h1F;gr5Cnu2Cpa4;era7i4Ipo0;py,r;ey,seItaH;r2ss;aMe0ViJoIultiply;leCu6Pw;micJnIspla4;ce,g3us;!k;iIke,na9;m,ntaH;aPeLiIo0u3N;e,ke,ng1quIv5;eIi6S;fy;aKnIss5;d,gI;th5;rn,ve;ng2Gu1N;eep,idnJnI;e4Cow;ap;oHuI;gg3xtaI;po0;gno8mVnIrk;cTdRfQgeChPitia7ju8q1CsNtKun6EvI;a6eIo11;nt,rt,st;erJimi6BoxiPrI;odu4u6;aBn,pr03ru6C;iCpi8tIu8;all,il,ruB;abEibE;eCo3Eu0;iIul9;ca7;i7lu6;b5Xmer0pI;aLer4Uin9ly,oJrI;e3Ais6Bo2;rt,se,veI;riA;le,rt;aLeKiIoiCuD;de,jaInd1;ck;ar,iT;mp1ng,pp5raIve;ng5Mss;ath1et,iMle27oLrI;aJeIow;et;b,pp3ze;!ve5A;gg3ve;aTer45i5RlSorMrJuI;lf4Cndrai0r48;eJiIolic;ght5;e0Qsh5;b3XeLfeEgJsI;a3Dee;eIi2;!t;clo0go,shIwa4Z;ad3F;att1ee,i36;lt1st5;a0OdEl0Mm0FnXquip,rWsVtGvTxI;aRcPeDhOiNpJtIu6;ing0Yol;eKi8lIo0un9;aHoI;it,re;ct,di7l;st,t;a3oDu3B;e30lI;a10u6;lt,mi28;alua7oI;ke,l2;chew,pou0tab19;a0u4U;aYcVdTfSgQhan4joy,lPqOrNsuMtKvI;e0YisI;a9i50;er,i4rI;aHenGuC;e,re;iGol0F;ui8;ar9iC;a9eIra2ulf;nd1;or4;ang1oIu8;r0w;irc3lo0ou0ErJuI;mb1;oaGy4D;b3ct;bKer9pI;hasiIow1;ze;aKody,rI;a4oiI;d1l;lm,rk;ap0eBuI;ci40de;rIt;ma0Rn;a0Re04iKo,rIwind3;aw,ed9oI;wn;agno0e,ff1g,mi2Kne,sLvI;eIul9;rIst;ge,t;aWbVcQlod9mant3pNru3TsMtI;iIoDu37;lJngI;uiA;!l;ol2ua6;eJlIo0ro2;a4ea0;n0r0;a2Xe36lKoIu0S;uIv1;ra9;aIo0;im;a3Kur0;b3rm;af5b01cVduBep5fUliTmQnOpMrLsiCtaGvI;eIol2;lop;ch;a20i2;aDiBloIoD;re,y;oIy;te,un4;eJoI;liA;an;mEv1;a4i0Ao06raud,y;ei2iMla8oKrI;ee,yI;!pt;de,mIup3;missi34po0;de,ma7ph1;aJrief,uI;g,nk;rk;mp5rk5uF;a0Dea0h0Ai09l08oKrIurta1G;a2ea7ipp3uI;mb3;ales4e04habEinci6ll03m00nIrro6;cXdUfQju8no7qu1sLtKvI;eIin4;ne,r9y;aHin2Bribu7;er2iLoli2Epi8tJuI;lt,me;itu7raH;in;d1st;eKiJoIroFu0;rm;de,gu8rm;ss;eJoI;ne;mn,n0;eIlu6ur;al,i2;buCe,men4pI;eIi3ly;l,te;eBi6u6;r4xiC;ean0iT;rcumveFte;eJirp,oI;o0p;riAw;ncIre5t1ulk;el;a02eSi6lQoPrKuI;iXrIy;st,y;aLeaKiJoad5;en;ng;stfeLtX;ke;il,l11mba0WrrMth1;eIow;ed;!coQfrie1LgPhMliLqueaKstJtrIwild1;ay;ow;th;e2tt3;a2eJoI;ld;ad;!in,ui3;me;bysEckfi8ff3tI;he;b15c0Rd0Iff0Ggree,l0Cm09n03ppZrXsQttOuMvJwaE;it;eDoI;id;rt;gIto0X;meF;aIeCraB;ch,in;pi8sJtoI;niA;aKeIi04u8;mb3rt,ss;le;il;re;g0Hi0ou0rI;an9i2;eaKly,oiFrI;ai0o2;nt;r,se;aMi0GnJtI;icipa7;eJoIul;un4y;al;ly0;aJu0;se;lga08ze;iKlI;e9oIu6;t,w;gn;ix,oI;rd;a03jNmiKoJsoI;rb;pt,rn;niIt;st1;er;ouJuC;st;rn;cLhie2knowled9quiItiva7;es4re;ce;ge;eQliOoKrJusI;e,tom;ue;mIst;moJpI;any,liA;da7;ma7;te;pt;andPduBet,i6oKsI;coKol2;ve;liArt,uI;nd;sh;de;ct;on",Person:"true¦0:1S;a2Bb21c1Od1Ge1Af17g15h0Ti0Sj0Pk0Ll0Im0Bn08o07p02rRsKtEusain bolt,vBw4xzibit,y1;anni,oko on2uji,v1;an,es;en,o;a5ednesday adams,i2o1;lfr3o0S;ll1z khalifa; ferrell,.i.1;am;lt disn1Qr1;hol,r0G;a2i1oltai06;n dies0Zrginia wo17;lentino rossi,n goG;a4h3i2ripp,u1yra banks;lZpac shakur;ger woods,mba07;eresa may,or;kashi,t1ylor;um,ya1B;a5carlett johanss0h4i3lobodan milosevic,no2ocr1Lpider1uperm0Fwami;-m0Em0E;op dogg,w whi1H;egfried,nbad;akespeaTerlock holm1Sia labeouf;ddam hussa16nt1;a cla11ig9;aAe6i5o3u1za;mi,n dmc,paul,sh limbau1;gh;bin hood,d stew16nald1thko;in0Mo;han0Yngo starr,valdo;ese witherspo0i1mbrandt;ll2nh1;old;ey,y;chmaninoff,ffi,iJshid,y roma1H;a4e3i2la16o1uff daddy;cahont0Ie;lar,p19;le,rZ;lm17ris hilt0;leg,prah winfr0Sra;a2e1iles cra1Bostradam0J; yo,l5tt06wmQ;pole0s;a5e4i2o1ubar03;by,lie5net,rriss0N;randa ju1tt romn0M;ly;rl0GssiaB;cklemo1rkov,s0ta hari,ya angelou;re;ady gaga,e1ibera0Pu;bron jam0Xch wale1e;sa;anye west,e3i1obe bryant;d cudi,efer suther1;la0P;ats,sha;a2effers0fk,k rowling,rr tolki1;en;ck the ripp0Mwaharlal nehru,y z;liTnez,ron m7;a7e5i3u1;lk hog5mphrey1sa01;! bog05;l1tl0H;de; m1dwig,nry 4;an;ile selassFlle ber4m3rrison1;! 1;ford;id,mo09;ry;ast0iannis,o1;odwPtye;ergus0lorence nightinga08r1;an1ederic chopN;s,z;ff5m2nya,ustaXzeki1;el;eril lagasse,i1;le zatop1nem;ek;ie;a6e4i2octor w1rake;ho;ck w1ego maradoC;olf;g1mi lovaOnzel washingt0;as;l1nHrth vadR;ai lNt0;a8h5lint0o1thulhu;n1olio;an,fuci1;us;on;aucKop2ristian baMy1;na;in;millo,ptain beefhe4r1;dinal wols2son1;! palmF;ey;art;a8e5hatt,i3oHro1;ck,n1;te;ll g1ng crosby;atB;ck,nazir bhut2rtil,yon1;ce;to;nksy,rack ob1;ama;l 6r3shton kutch2vril lavig8yn ra1;nd;er;chimed2istot1;le;es;capo2paci1;no;ne",Adjective:"true¦0:AI;1:BS;2:BI;3:BA;4:A8;5:84;6:AV;7:AN;8:AF;9:7H;A:BQ;B:AY;C:BC;D:BH;E:9Y;aA2b9Ec8Fd7We79f6Ng6Dh60i4Wj4Vk4Sl4Hm40n3Oo35p2Nquart7Pr2Cs1Dt14uSvOwFye28;aMeKhIiHoF;man5oFrth7G;dADzy;despreB1n w97s86;acked1HoleF;!sa6;ather1QeFll o70ste1D;!k5;nt1Jst6Ate4;aHeGiFola5S;bBUce versa,gi3Kle;ng67rsa5Q;ca1gBSluAV;lt0PnLpHrGsFttermoBL;ef9Ku3;b96ge1; Hb31pGsFtiAH;ca6et,ide d4Q;er,i85;f51to da2;a0Fbeco0Hc0Bd04e02f01gu1WheaBGiXkn4NmUnTopp06pRrNsJtHus0wF;aFiel3J;nt0rra0P;app0eXoF;ld,uS;eHi36o59pGuF;perv06spec38;e1ok9O;en,ttl0;eFu5;cogn06gul2QlGqu84sF;erv0olv0;at0en32;aFrecede0E;id,rallel0;am0otic0;aFet;rri0tF;ch0;nFq25vers3;sur0terFv7U;eFrupt0;st0;air,inish0orese98;mploy0n7Ov97xpF;ect0lain0;eHisFocume01ue;clFput0;os0;cid0rF;!a8Scov9ha8Jlyi8nea8Gprivileg0sMwF;aFei9I;t9y;hGircumcFonvin2T;is0;aFeck0;lleng0rt0;b1Zppea85ssuGttend0uthorF;iz0;mi8;i49ra;aLeIhoHip 24oGrF;anspare1encha1i2;geth9leADp notch,rpB;rny,ugh6H;ena8DmpGrFs6U;r48tia4;eCo8P;leFst4M;nt0;a0Cc08e06h05i03ki02l00mug,nobbi4XoWpSqueami4XtKuFymb94;bHccinAi generis,pFr5;erFre7N;! dup9b,vi70;du0li7Lp6IsFurb7J;eq9Atanda9X;aLeKi15o2PrGubboFy4Q;rn;aightGin5GungF; o2M; fFfF;or7U;adfa9Ori6;lwa6Etu81;arHeGir6MlendBot Fry;on;c3Oe1Q;k5se; call0lub6mb9phistic14rHuFviT;ndFth19;proof;dBry;e61ipF;pe4shod;ll0n d7S;g2HnF;ceEg6ist9;am3Te9;co1Zem5lfFn6Bre7; suf4Yi44;aGholFient3A;ar5;rlFt4B;et;cr0me,tisfac7G;aOeIheumatoBiGoF;bu90tt7Hy3;ghtFv3;-1Sf6Y;cJdu8QlInown0pro6AsGtF;ard0;is48oF;lu2na1;e1Suc46;alcit8Ye1ondi2;bBci3mpa1;aSePicayu7laOoNrGuF;bl7Unjabi,z36;eKiIoF;b7WfGmi4ApFxi2M;er,ort82;a7uD;maFor,sti7va2;!ry;ciDexis0Ima2CpaB;in56puli8H;cBid;ac2Znt 3JrFti2;ma41tFv7X;!i40;i2ZrFss7S;anoBtF;-5YiF;al,s5W;bSffQkPld OnMrLth9utKverF;!aIbMdHhGni76seas,t,wF;ei75rou75;a64e7B;ue;ll;do1Ger,si6B;d3Rg2Aotu60; bFbFe on o7g3Vli7;oa81;fashion0school;!ay; gua7YbFha5Vli7;eat;eHligGsF;ce7er0So1C;at0;diFse;a1e1;aOeNiMoGuF;anc0de; moEnHrthFt6W;!eFwe7M;a7Lrn;chaGdescri7Jprof31sF;top;la1;ght5;arby,cessa4ighbor5wlyw0xt;k0usiaFv3;ti8;aQeNiLoHuF;dIltiF;facet0p6;deHlGnFot,rbBst;ochro4Yth5;dy;rn,st;ddle ag0nF;dbloZi,or;ag9diocEga,naGrFtropolit4R;e,ry;ci8;cIgenta,inHj0Fkeshift,mmGnFri4Pscu62ver18;da5Ey;ali4Mo4V;!stream;abEho;aOeLiIoFumberi8;ngFuti1S;stan3StF;erm,i4I;ghtGteraF;l,ry,te;heart0wei5P;ft-JgFss9th3;al,eFi0M;nda4;nguBps0te5;apGind5noF;wi8;ut;ad0itte4uniW;ce co0Hgno6Nll0Cm04nHpso 2VrF;a2releF;va1; ZaYcoWdReQfOgrNhibi4Si05nMoLsHtFvalu5N;aAeF;nDrdepe2L;a7iGolFuboI;ub6ve1;de,gF;nifica1;rdi5O;a2er;own;eriIiLluenVrF;ar0eq5I;pt,rt;eHiGoFul1P;or;e,reA;fiFpe27termi5F;ni2;mpFnsideCrreA;le2;ccuCdeq5Fne,ppr4K;fFsitu,vitro;ro1;mJpF;arHeGl16oFrop9;li2r12;n2MrfeA;ti3;aGeFi19;d4CnD;tuE;egGiF;c0ZteC;al,iF;tiF;ma2;ld;aOelNiLoFuma7;a4meInHrrGsFur5;ti6;if4F;e59o3V; ma3HsF;ick;ghfalut2IspF;an4A;li01pf34;i4llow0ndGrdFtN; 06coEworki8;sy,y;aMener45iga3Clob3oLrGuF;il1Ong ho;aGea1GizF;zl0;cGtF;ef2Vis;ef2U;ld3Aod;iFuc2D;nf2R;aVeSiQlOoJrF;aGeFil5ug3;q43tf2O;gFnt3S;i6ra1;lk13oHrF; keeps,eFge0Vm9tu41;g0Ei2Ds3R;liF;sh;ag4Mowe4uF;e1or45;e4nF;al,i2;d Gmini7rF;ti6ve1;up;bl0lDmIr Fst pac0ux;oGreacF;hi8;ff;ed,ili0R;aXfVlTmQnOqu3rMthere3veryday,xF;aApIquisi2traHuF;be48lF;ta1;!va2L;edRlF;icF;it;eAstF;whi6; Famor0ough,tiE;rou2sui2;erGiF;ne1;ge1;dFe2Aoq34;er5;ficF;ie1;g9sF;t,ygF;oi8;er;aWeMiHoGrFue;ea4owY;ci6mina1ne,r31ti8ubQ;dact2Jfficult,m,sGverF;ge1se;creGePjoi1paCtF;a1inA;et,te; Nadp0WceMfiLgeneCliJmuEpeIreliAsGvoF;id,ut;pFtitu2ul1L;eCoF;nde1;ca2ghF;tf13;a1ni2;as0;facto;i5ngero0I;ar0Ce09h07i06l05oOrIuF;rmudgeon5stoma4teF;sy;ly;aIeHu1EystalF; cleFli7;ar;epy;fFv17z0;ty;erUgTloSmPnGrpoCunterclVveFy;rt;cLdJgr21jIsHtrF;aFi2;dic0Yry;eq1Yta1;oi1ug3;escenFuN;di8;a1QeFiD;it0;atoDmensuCpF;ass1SulF;so4;ni3ss3;e1niza1;ci1J;ockwiD;rcumspeAvil;eFintzy;e4wy;leGrtaF;in;ba2;diac,ef00;a00ePiLliJoGrFuck nak0;and new,isk,on22;gGldface,naF; fi05fi05;us;nd,tF;he;gGpartisFzarE;an;tiF;me;autifOhiNlLnHsFyoN;iWtselF;li8;eGiFt;gn;aFfi03;th;at0oF;v0w;nd;ul;ckwards,rF;e,rT; priori,b13c0Zd0Tf0Ng0Ihe0Hl09mp6nt06pZrTsQttracti0MuLvIwF;aGkF;wa1B;ke,re;ant garGeraF;ge;de;diIsteEtF;heFoimmu7;nt07;re;to4;hGlFtu2;eep;en;bitIchiv3roHtF;ifiFsy;ci3;ga1;ra4;ry;pFt;aHetizi8rF;oprF;ia2;llFre1;ed,i8;ng;iquFsy;at0e;ed;cohKiJkaHl,oGriFterX;ght;ne,of;li7;ne;ke,ve;olF;ic;ad;ain07gressiIi6rF;eeF;ab6;le;ve;fGraB;id;ectGlF;ue1;ioF;na2; JaIeGvF;erD;pt,qF;ua2;ma1;hoc,infinitum;cuCquiGtu3u2;al;esce1;ra2;erSjeAlPoNrKsGuF;nda1;e1olu2trF;aAuD;se;te;eaGuF;pt;st;aFve;rd;aFe;ze;ct;ra1;nt",Pronoun:"true¦'em,elle,h3i2me,she4th0us,we,you;e0ou;e,m,y;!l,t;e0im;!'s",Preposition:"true¦-,aPbMcLdKexcept,fIinGmid,notwithstandiWoDpXqua,sCt7u4v2w0;/o,hereSith0;! whHin,oW;ersus,i0;a,s-a-vis;n1p0;!on;like,til;h1ill,oward0;!s;an,ereby,r0;ough0u;!oM;ans,ince,o that,uch G;f1n0ut;!to;!f;! 0to;effect,part;or,r0;om;espite,own,u3;hez,irca;ar1e0oBy;sides,tween;ri7;bo8cross,ft7lo6m4propos,round,s1t0;!op;! 0;a whole,long 0;as;id0ong0;!st;ng;er;ut",SportsTeam:"true¦0:1A;1:1H;2:1G;a1Eb16c0Td0Kfc dallas,g0Ihouston 0Hindiana0Gjacksonville jagua0k0El0Bm01newToQpJqueens parkIreal salt lake,sAt5utah jazz,vancouver whitecaps,w3yW;ashington 3est ham0Rh10;natio1Oredski2wizar0W;ampa bay 6e5o3;ronto 3ttenham hotspur;blue ja0Mrapto0;nnessee tita2xasC;buccanee0ra0K;a7eattle 5heffield0Kporting kansas0Wt3;. louis 3oke0V;c1Frams;marine0s3;eah15ounG;cramento Rn 3;antonio spu0diego 3francisco gJjose earthquak1;char08paA; ran07;a8h5ittsburgh 4ortland t3;imbe0rail blaze0;pirat1steele0;il3oenix su2;adelphia 3li1;eagl1philNunE;dr1;akland 3klahoma city thunder,rlando magic;athle0Mrai3;de0; 3castle01;england 7orleans 6york 3;city fc,g4je0FknXme0Fred bul0Yy3;anke1;ian0D;pelica2sain0C;patrio0Brevolut3;ion;anchester Be9i3ontreal impact;ami 7lwaukee b6nnesota 3;t4u0Fvi3;kings;imberwolv1wi2;rewe0uc0K;dolphi2heat,marli2;mphis grizz3ts;li1;cXu08;a4eicesterVos angeles 3;clippe0dodDla9; galaxy,ke0;ansas city 3nE;chiefs,roya0E; pace0polis colU;astr06dynamo,rockeTtexa2;olden state warrio0reen bay pac3;ke0;.c.Aallas 7e3i05od5;nver 5troit 3;lio2pisto2ti3;ge0;broncZnuggeM;cowbo4maver3;ic00;ys; uQ;arCelKh8incinnati 6leveland 5ol3;orado r3umbus crew sc;api5ocki1;brow2cavalie0india2;bengaWre3;ds;arlotte horAicago 3;b4cubs,fire,wh3;iteB;ea0ulR;diff3olina panthe0; c3;ity;altimore 9lackburn rove0oston 5rooklyn 3uffalo bilN;ne3;ts;cel4red3; sox;tics;rs;oriol1rave2;rizona Ast8tlanta 3;brav1falco2h4u3;nited;aw9;ns;es;on villa,r3;os;c5di3;amondbac3;ks;ardi3;na3;ls",Unit:"true¦a09b06cZdYexXfTgRhePin00joule0DkMlJmDnan0AoCp9quart0Dsq ft,t7volts,w6y2ze3°1µ0;g,s;c,f,n;dXear1o0;ttT; 0s 0;old;att,b;erPon0;!ne04;ascals,e1i0;cZnt02;rcent,tL;hms,uI;/s,e4i0m²,²,³;/h,cro2l0;e0liM;!²;grNsT;gEtL;it1u0;menSx;erRreR;b5elvins,ilo1m0notQ;/h,ph,²;!byIgrGmEs;ct0rtzN;aLogrE;allonLb0ig5rD;ps;a2emtGl0t6; oz,uid ou0;nceH;hrenheit,radG;aby9;eci3m1;aratDe1m0oulombD;²,³;lsius,nti0;gr2lit1m0;et0;er8;am7;b1y0;te5;l,ps;c2tt0;os0;econd1;re0;!s",PhrasalVerb:"true¦0:92;1:96;2:8H;3:8V;4:8A;5:83;6:85;7:98;8:90;9:8G;A:8X;B:8R;C:8U;D:8S;E:70;F:97;G:8Y;H:81;I:7H;J:79;K:4G;a9Gb7Vc6Sd6Me6Kf5Ig51h4Ciron0j48k41l3Fm32n2Zo2Xp2Dquiet Hr1Ys0Lt00uYvacuu6RwOyammerBzL;ero Dip MonL;e0k0;by,ov9up;aReNhMiLor0Nrit1A;mp0n3Gpe0r5s5;ackAeel Di0T;aMiLn34;gh 3Xrd0;n Dr L;do1in,oJ;it 7Ak5lk Mrm 6Ash Lt84v60;aw3do1o7up;aw3in,oC;rgeBsL;e 2herE;a01eZhWiSoRrNuLypQ;ckErn L;do1in,oJup;aMiLot0y 31;ckl80p F;ck HdL;e 5Z;n7Xp 3Fs5K;ck NdMe Lghten 6me0p o0Sre0;aw3ba4do1in,up;e Iy 2;by,oG;ink Mrow L;aw3ba4in,up;ba4ov9up;aLe 78ll63;m 2r 5N;ckBke Mlk L;ov9shit,u48;aLba4do1in,leave,o66up;ba4ft9pa6Aw3;a0Wc0Ue0Nh0Ji0Gl0Am09n08o07p02quar5HtRuPwL;earNiL;ngMtch L;aw3ba4o8L; by;cLi6Cm 2ss0;k 65;aSeRiQoOrLud36;aigh2Eet76iL;ke 7Tng L;al6Zup;p Lrm2G;by,in,oG;cKnKr 2tc4O;p F;cKmp0nd MrLveAy 2P;e Ht 2M;ba4do1up;arKeOiNlMrLurB;ead0ingBuc5;a49it 6I;c5ll o3Dn 2;ak Fe1Yll0;aKber 2rt0und like;ap 5Wow Duggl5;ash 6Ooke0;eep OiLow 6;cMp L;o6Eup;e 69;in,oL;ff,v9;de1Agn 4OnLt 6Hz5;gLkE; al6Ble0;aNoLu5X;ot Lut0w 7N;aw3ba4f48oC;cKdeEk6FveA;e Qll1Ond Prv5tL; Ltl5K;do1foMin,o7upL;!on;ot,r60;aw3ba4do1in,o4Wup;oCto;al67out0rL;ap66ew 6K;ilAv5;aYeViToPuL;b 5Zle0n Lstl5;aMba4do1inLo2Jth4Ou5Q;!to;c2Xr8w3;ll Not MpeAuL;g3Ind18;a2Wf3Po7;ar8in,o7up;ng 69p oLs5;ff,p19;aLelAinEnt0;c6Id L;o3Oup;cKt0;a00eZiXlUoRrPsyc35uL;ll Nn5Lt L;aLba4do1in,oJto48up;pa4Ew3;a3Kdo1in,o22to46up;attleBess LiOop 2;ah2Fon;iMp Lr50u1Hwer 6O;do1in,o6Oup;nt0;aMuL;gEmp 6;ce u21y 6E;ck Lg0le 4Bn 6p5C;oJup;el 5OncilE;c54ir 3An0ss NtMy L;ba4oG; Hc2R;aw3ba4in,oJ;pLw4Z;e4Yt D;aMerd0oL;dAt54;il Hrrow H;aUeRiQoMuL;ddl5ll I;cKnkeyNp 6uthAve L;aLdo1in,o4Mup;l4Ow3; wi4L;ss0x 2;asur5e3TlMss L;a21up;t 6;ke Mn 6rLs2Ax0;k 6ryA;do,fun,oCsure,up;a03eWiRoMuL;ck0st I;aOc4Gg NoLse0;k Lse4E;aft9ba4do1forw38in57o10u47;in,oJ;d 6;e OghtNnMsLve 01;ten F;e 2k 2; 2e47;ar8do1in;aNt MvelL; oC;do1go,in,o7up;nEve L;in,oL;pLut;en;c5p 2sh MtchBughAy L;do1o5A;in4Qo7;eNick Mnock L;do1oCup;oCup;eMy L;in,up;l Ip L;aw3ba4do1f05in,oJto,up;aNoMuL;ic5mpE;ke3Tt H;c44zz 2;a02eXiUoQuL;nMrrLsh 6;y 2;keMt L;ar8do1;r H;lLneErse3L;d Le 2;ba4dLfast,o25up;ear,o1;de Mt L;ba4on,up;aw3o7;aLlp0;d Nl Ir Lt 2;fLof;rom;f11in,o1WuX;cKm 2nMsh0ve Lz2Q;at,it,to;d Mg LkerQ;do1in,o2Uup;do1in,oL;ut,v9;k 2;aZeUive Sloss IoNrMunL; f0S;ab hold,in44ow 2V; Lof 2J;aNb1Nit,oMr8th1JuL;nd9;ff,n,v9;bo7ft9hQw3;aw3bLdo1in,oJrise,up,w3;a4ir2I;ar 6ek0t L;aLb1Gdo1in,o1Dr8up;cMhLl2Hr8t,w3;ead;ross;d aLng 2;bo7;a0Fe08iZlVoRrNuL;ck Le2P;ar8up;eMighten LownBy 2;aw3oG;eLshe29; 2z5;g 2lNol Lrk I;aLwi22;bo7r8;d 6low 2;aMeLip0;sh0;g 6ke0mLrLtten H;e F;gSlQnOrMsLzzle0;h F;e Lm 2;aw3ba4up;d0isL;h 2;e Ll 1V;aw3fQin,o7;ht ba4ure0;eQnMsL;s 2;cNd L;fLoG;or;e D;d06l 2;cPll Lrm0t1I;aNbMdo1in,oLsho0Gth0Avictim;ff,ut,v9;a4ehi2P;pa0D;e L;do1oGup;at Ldge0nd 13y5;in,o7up;aPi1IoOrL;aMess 6op LuO;aw3b04in,oC;gBwB; Ile0ubl1C;m 2;a0Bh06l03oPrMut L;aw3ba4do1oCup;ackBeep MoLy0;ss Dwd0;by,do1in,o0Vup;me OoMuntL; o2B;k 6l L;do1oG;aSbRforPin,oOtLu0P;hMoLrue;geth9;rough;ff,n,ut,v9;th,wL;ard;a4y;paLr8w3;rt;eaMose L;in,oCup;n 6r F;aOeMiL;ll0pE;ck Der Lw F;on,up;t 2;lSncel0rPsNtch MveE; in;o1Oup;h Dt L;doubt,oG;ry MvL;e 09;aw3oJ;l Lm H;aMba4do1oJup;ff,n,ut;r8w3;a0We0NiteAl0Go05rRuL;bblOckl06il0Elk 6ndl06rMsLtNy FzzA;t 01;n 0IsL;t D;e I;ov9;anXeaViMush L;oGup;ghRng L;aOba4do1forNin,oMuL;nd9p;n,ut;th;bo7lLr8w3;ong;teL;n 2;k L;do1in,o7up;ch0;arUg 6iSn5oQrOssNttlMunce Lx D;aw3ba4;e 6; ar8;e H;do1;k Dt 2;e 2;l 6;do1up;d 2;aQeed0oLurt0;cNw L;aw3ba4do1o7up;ck;k L;in,oC;ck0nk0stA; oRaOef 2lt0nd L;do1ov9up;er;up;r Mt L;do1in,oCup;do1o7;ff,nL;to;ck Qil0nNrgMsL;h D;ainBe D;g DkB; on;in,o7;aw3do1in,oCup;ff,ut;ay;ct FdRir0sk NuctionA; oG;ff;ar8o7;ouL;nd; o7;d L;do1oLup;ff,n;wn;o7up;ut","Noun|Gerund":"true¦0:27;1:26;2:1X;3:1J;4:1Z;a25b1Oc1Cd16en14f0Yg0Wh0Ti0Rjog20k0Pl0Lm0In0Go0Cp05ques08rWsFtBu9volunt15w5y17zo2;a7ed1Si3or6r5;ap1Oest1Ci1;ki0r1O;i1r2s1Utc1U;nder5pri23;st1Mta4;al4e7hin4i6ra5y1J;c4di0i2v0Z;mi0p1H;a1Ys1;aKcHeGhEin1PkatClZmo4nowBpeAt8u6w5;ea3im1U;f02r5;fi0vi0J;a1Lretc1Ju5;d1BfJ;l0Xn1C;b6i0;eb5i0;oar19;ip15o5;rte2u1;a1r0At1;h6o3re5;a1He2;edu0Ooo0O;i0Nyi0;aCe8i11o6u5;li0n2;o5wi0;fi0;a7c6hear1Cnde3por1struct5;r1Au3;or0Vyc0G;di0so2;p0Qti0;aAeacek9la8o6r5ublis0X;a0Peten0Rin1oces16;iso2si5;tio2;n2yi0;ee0K;cka0Tin1rt0K;f7pe6rgani5vula1;si0zi0;ni0ra1;fe3;e5ur0W;gotia1twor4;a6e5i2onito3;e1ssa0L;nufactu3rke1;a7ea6i5od0Jyi0;cen0Qf1s1;r2si0;n09ug0E;i5n0J;c4lS;ci0magi2n5ro2;nova1terac1;andPea1i6o5un1;l03wO;ki0ri0;athe3rie5ui01;vi0;ar0CenHi7l6or5ros1unZ;ecas1mat1;ir1ooX;l6n5;anDdi0;i0li0;di0gin5;ee3;a8eba1irec1oub1r6umOw5;elB;awi0es04i5;n4vi0;n5ti0;ci0;aEelebra1hClAo7r5ur6;aw5osZ;li0;a6di0lo3mplai2n5o4pi0ve3;duc1sul1;cLti0;apCea3imHo5ubH;ni0tJ;a5ee3;n1t1;m8s1te3;ri0;aIeFitDlCoAr8u5;il8ll6r5;pi0;yi0;an5;di0;a1m5o4;bi0;esGoa1;c5i0;hi0;gin2lon5t1;gi0;ni0;bys6c4ki0;ki0;it1;c8dverti7gi0rg6ssu5;mi0;ui0;si0;coun1ti0;ti0;ng",ProperNoun:"true¦abid,barbie,c3e2f1iron maiden,kirby,m0nis,riel;ercedes,issy;lorence,ranco;lmo,uro;atalina,hristi","Person|Place":"true¦a8d6h4jordan,k3orlando,s1vi0;ctor9rgin9;a0ydney;lvador,mara,ntia4;ent,obe;amil0ous0;ton;arw2ie0;go;lexandr1ust0;in;ia",LastName:"true¦0:BT;1:BH;2:B7;3:BJ;4:AZ;5:A0;6:B8;7:BM;8:B2;9:AX;A:AN;B:8S;C:8I;D:7M;E:BO;F:AJ;aBFbA1c8Yd8Ae83f7Mg6Yh66i62j5Nk4Xl4Fm3Bn2Yo2Op25quispe,r1Ls0Pt0Ev03wTxSyKzG;aIhGimmerm6C;aGou,u;ng,o;khar5ytsE;aKeun9DiHoGun;koya34shiBW;!lG;diGmaz;rim,z;maGng;da,g54mo85sGzaC;aChiBX;iao,u;aLeJiHoGright,u;jcA7lff,ng;lGmm0nkl0sniewsC;kiB3liams35s3;bGiss,lt0;b,er,st0;a6Xgn0lHtG;anabe,s3;k0sh,tG;e2Pon;aLeKiHoGukD;gt,lk5roby5;dHllalGnogr3Mr1Css0val3U;ba,ob1W;al,ov4;lasHsel8Y;lJn dIrgBGsHzG;qu7;ilyEqu7siljE;en b6Cijk,yk;enzueAKverde;aPeix1VhKi2j8ka45oJrIsui,uG;om5WrG;c2n0un1;an,emblA9ynisC;dorAOlst3Mm4rrAth;atch0i8WoG;mHrG;are86laci7B;ps3sG;en,on;hirDkah9Onaka,te,varA;a06ch01eYhUiRmOoMtIuHvGzabo;en9Lobod3P;ar7bot4lliv2zuC;aIeHoG;i7Dj4CyanAD;ele,in2HpheBvens27;l8rm0;kol5lovy5re7Vsa,to,uG;ng,sa;iGy74;rn5tG;!h;l73mHnGrbu;at9cla9Ggh;moBo7O;aIeGimizu;hu,vchG;en8Nuk;la,r1I;gu9infe60mGoh,pulveA9rra5R;jGyG;on5;evi6iltz,miHneid0roed0uGwarz;be3Glz;dHtG;!t,z;!t;ar4Vh8ito,ka4QlJnGr4saCto,unde1Bv4;ch7dHtGz;a5Ne,os;b55e18;as,ihDm4Ro10;aVeSiPoJuHyG;a6oo,u;bio,iz,sG;so,u;bKc8Hdrigue69ge12jA0mJosevelt,sItHux,wG;e,li6;a9Eh;enb4Wsi;a56e4N;erts17i95;bei4LcHes,vGzzo;as,e9;ci,hards14;ag2es,iHut0yG;es,nol5P;s,t0;dImHnGsmu99v6E;tan1;ir7os;ic,u;aUeOhMiJoHrGut8;asad,if71ochazk29;lishc2IpGrti74u12we78;e3Cov53;cHe47nG;as,to;as72hl0;aGillips;k,m,n6K;a3Jde3Yete0Dna,rJtG;ersHrovGters56;!a,ic;!en,on;eGic,kiBss3;i9ra,tz,z;h88k,padopoulIrk0tHvG;ic,l4P;el,te3B;os;'NbMcOg2VlJnei6RrHsbor6ZweBzG;dem7Tturk;ella4FtGwe6P;ega,iz;iGof7Js8K;vGyn1T;ei9;aUri1;bri1cG;onn23;aPeNiJoGune50ym2;rHvGwak;ak4Qik5otn66;odahl,r4S;cholsZeHkolGls4Jx3;ic,ov84;ls1miG;!n1;ils3mG;co4Xec;gy,kaGray2sh,var38;jiGmu9shiG;ma;a07c04eZiWoMuHyeG;rs;lJnIrGssoli6S;atGp03r7C;i,ov4;oz,te58;d0l0;h2lOnNo0RrHsGza1A;er,s;aKeJiIoz5risHtG;e56on;!on;!n7K;au,i9no,t5J;!lA;r1Btgome59;i3El0;cracFhhail5kkeHlG;l0os64;ls1;hmeJiIj30lHn3Krci0ssiGyer2N;!er;n0Po;er,j0;dDti;cartHlG;aughl8e2;hy;dQe7Egnu68i0jer3TkPmNnMrItHyG;er,r;ei,ic,su21thews;iHkDquAroqu8tinG;ez,s;a5Xc,nG;!o;ci5Vn;a5UmG;ad5;ar5e6Kin1;rig77s1;aVeOiLoJuHyG;!nch;k4nGo;d,gu;mbarGpe3Fvr4we;di;!nGu,yana2B;coln,dG;b21holm,strom;bedEfeKhIitn0kaHn8rGw35;oy;!j;m11tG;in1on1;bvGvG;re;iGmmy,ng,rs2Qu,voie,ws3;ne,t1F;aZeYh2iWlUnez50oNrJuHvar2woG;k,n;cerGmar68znets5;a,o34;aHem0isGyeziu;h23t3O;m0sni4Fus3KvG;ch4O;bay57ch,rh0Usk16vaIwalGzl5;czGsC;yk;cIlG;!cGen4K;huk;!ev4ic,s;e8uiveG;rt;eff0kGl4mu9nnun1;ucF;ll0nnedy;hn,llKminsCne,pIrHstra3Qto,ur,yGzl5;a,s0;j0Rls22;l2oG;or;oe;aPenOha6im14oHuG;ng,r4;e32hInHrge32u6vG;anD;es,ss3;anHnsG;en,on,t3;nesGs1R;en,s1;kiBnings,s1;cJkob4EnGrv0E;kDsG;en,sG;en0Ion;ks3obs2A;brahimDglesi5Nke5Fl0Qno07oneIshikHto,vanoG;u,v54;awa;scu;aVeOiNjaltal8oIrist50uG;!aGb0ghAynh;m2ng;a6dz4fIjgaa3Hk,lHpUrGwe,x3X;ak1Gvat;mAt;er,fm3WmG;ann;ggiBtchcock;iJmingw4BnHrGss;nand7re9;deGriks1;rs3;kkiHnG;on1;la,n1;dz4g1lvoQmOns0ZqNrMsJuIwHyG;asFes;kiB;g1ng;anHhiG;mo14;i,ov0J;di6p0r10t;ue;alaG;in1;rs1;aVeorgUheorghe,iSjonRoLrJuGw3;errGnnar3Co,staf3Ctierr7zm2;a,eG;ro;ayli6ee2Lg4iffithGub0;!s;lIme0UnHodGrbachE;e,m2;calvAzale0S;dGubE;bGs0E;erg;aj,i;bs3l,mGordaO;en7;iev3U;gnMlJmaIndFo,rGsFuthi0;cGdn0za;ia;ge;eaHlG;agh0i,o;no;e,on;aVerQiLjeldsted,lKoIrHuG;chs,entAji41ll0;eem2iedm2;ntaGrt8urni0wl0;na;emi6orA;lipIsHtzgeraG;ld;ch0h0;ovG;!ic;hatDnanIrG;arGei9;a,i;deY;ov4;b0rre1D;dKinsJriksIsGvaB;cob3GpGtra3D;inoza,osiQ;en,s3;te8;er,is3warG;ds;aXePiNjurhuMoKrisco15uHvorakG;!oT;arte,boHmitru,nn,rGt3C;and,ic;is;g2he0Omingu7nErd1ItG;to;us;aGcki2Hmitr2Ossanayake,x3;s,z; JbnaIlHmirGrvisFvi,w2;!ov4;gado,ic;th;bo0groot,jo6lHsilGvriA;va;a cruz,e3uG;ca;hl,mcevsCnIt2WviG;dGes,s;ov,s3;ielsGku22;!en;ki;a0Be06hRiobQlarkPoIrGunningh1H;awfo0RivGuz;elli;h1lKntJoIrGs2Nx;byn,reG;a,ia;ke,p0;i,rer2K;em2liB;ns;!e;anu;aOeMiu,oIristGu6we;eGiaG;ns1;i,ng,p9uHwGy;!dH;dGng;huJ;!n,onGu6;!g;kJnIpm2ttHudhGv7;ry;erjee,o14;!d,g;ma,raboG;rty;bJl0Cng4rG;eghetHnG;a,y;ti;an,ota1C;cerAlder3mpbeLrIstGvadi0B;iGro;llo;doHl0Er,t0uGvalho;so;so,zo;ll;a0Fe01hYiXlUoNrKuIyG;rLtyG;qi;chan2rG;ke,ns;ank5iem,oGyant;oks,wG;ne;gdan5nIruya,su,uchaHyKziG;c,n5;rd;darGik;enG;ko;ov;aGond15;nco,zG;ev4;ancFshw16;a08oGuiy2;umGwmG;ik;ckRethov1gu,ktPnNrG;gJisInG;ascoGds1;ni;ha;er,mG;anG;!n;gtGit7nP;ss3;asF;hi;er,hG;am;b4ch,ez,hRiley,kk0ldw8nMrIshHtAu0;es;ir;bInHtlGua;ett;es,i0;ieYosa;dGik;a9yoG;padhyG;ay;ra;k,ng;ic;bb0Acos09d07g04kht05lZnPrLsl2tJyG;aHd8;in;la;chis3kiG;ns3;aImstro6sl2;an;ng;ujo,ya;dJgelHsaG;ri;ovG;!a;ersJov,reG;aGjEws;ss1;en;en,on,s3;on;eksejEiyEmeiIvG;ar7es;ez;da;ev;arwHuilG;ar;al;ams,l0;er;ta;as",Ordinal:"true¦eBf7nin5s3t0zeroE;enDhir1we0;lfCn7;d,t3;e0ixt8;cond,vent7;et0th;e6ie7;i2o0;r0urt3;tie4;ft1rst;ight0lev1;e0h,ie1;en0;th",Cardinal:"true¦bEeBf5mEnine7one,s4t0zero;en,h2rDw0;e0o;lve,n5;irt6ousands,ree;even2ix2;i3o0;r1ur0;!t2;ty;ft0ve;e2y;ight0lev1;!e0y;en;illions",Multiple:"true¦b3hundred,m3qu2se1t0;housand,r2;pt1xt1;adr0int0;illion",City:"true¦0:74;1:61;2:6G;3:6J;4:5S;a68b53c4Id48e44f3Wg3Hh39i31j2Wk2Fl23m1Mn1Co19p0Wq0Ur0Os05tRuQvLwDxiBy9z5;a7h5i4Muri4O;a5e5ongsh0;ng3H;greb,nzib5G;ang2e5okoha3Sunfu;katerin3Hrev0;a5n0Q;m5Hn;arsBeAi6roclBu5;h0xi,zh5P;c7n5;d5nipeg,terth4;hoek,s1L;hi5Zkl3A;l63xford;aw;a8e6i5ladivost5Molgogr6L;en3lni6S;ni22r5;o3saill4N;lenc4Wncouv3Sr3ughn;lan bat1Crumqi,trecht;aFbilisi,eEheDiBo9r7u5;l21n63r5;in,ku;i5ondh62;es51poli;kyo,m2Zron1Pulo5;n,uS;an5jua3l2Tmisoa6Bra3;j4Tshui; hag62ssaloni2H;gucigal26hr0l av1U;briz,i6llinn,mpe56ng5rtu,shk2R;i3Esh0;an,chu1n0p2Eyu0;aEeDh8kopje,owe1Gt7u5;ra5zh4X;ba0Ht;aten is55ockholm,rasbou67uttga2V;an8e6i5;jiazhua1llo1m5Xy0;f50n5;ya1zh4H;gh3Kt4Q;att45o1Vv44;cramen16int ClBn5o paulo,ppo3Rrajevo; 7aa,t5;a 5o domin3E;a3fe,m1M;antonio,die3Cfrancisco,j5ped3Nsalvad0J;o5u0;se;em,t lake ci5Fz25;lou58peters24;a9e8i6o5;me,t59;ga,o5yadh;! de janei3F;cife,ims,nn3Jykjavik;b4Sip4lei2Inc2Pwalpindi;ingdao,u5;ez2i0Q;aFeEhDiCo9r7u6yong5;ya1;eb59ya1;a5etor3M;g52to;rt5zn0; 5la4Co;au prin0Melizabe24sa03;ls3Prae5Atts26;iladelph3Gnom pe1Aoenix;ki1r21tah tik3E;dua,lerYnaji,r4Ot5;na,r32;ak44des0Km1Mr6s5ttawa;a3Vlo;an,d06;a7ew5ing2Fovosibir1Jyc; 5cast36;del24orlea44taip14;g8iro4Wn5pl2Wshv33v0;ch6ji1t5;es,o1;a1o1;a6o5p4;ya;no,sa0W;aEeCi9o6u5;mb2Ani26sc3Y;gadishu,nt6s5;c13ul;evideo,pelli1Rre2Z;ami,l6n14s5;kolc,sissauga;an,waukee;cca,d5lbour2Mmph41ndo1Cssi3;an,ell2Xi3;cau,drAkass2Sl9n8r5shh4A;aca6ib5rakesh,se2L;or;i1Sy;a4EchFdal0Zi47;mo;id;aDeAi8o6u5vSy2;anMckn0Odhia3;n5s angel26;d2g bea1N;brev2Be3Lma5nz,sb2verpo28;!ss27; ma39i5;c5pzig;est16; p6g5ho2Wn0Cusan24;os;az,la33;aHharFiClaipeBo9rak0Du7y5;iv,o5;to;ala lump4n5;mi1sh0;hi0Hlka2Xpavog4si5wlo2;ce;da;ev,n5rkuk;gst2sha5;sa;k5toum;iv;bHdu3llakuric0Qmpa3Fn6ohsiu1ra5un1Iwaguc0Q;c0Pj;d5o,p4;ah1Ty;a7e6i5ohannesV;l1Vn0;dd36rusalem;ip4k5;ar2H;bad0mph1OnArkutUs7taXz5;mir,tapala5;pa;fah0l6tanb5;ul;am2Zi2H;che2d5;ianap2Mo20;aAe7o5yder2W; chi mi5ms,nolulu;nh;f6lsin5rakli2;ki;ei;ifa,lifax,mCn5rb1Dva3;g8nov01oi;aFdanEenDhCiPlasgBo9raz,u5;a5jr23;dal6ng5yaquil;zh1J;aja2Oupe;ld coa1Bthen5;bu2S;ow;ent;e0Uoa;sk;lw7n5za;dhi5gt1E;nag0U;ay;aisal29es,o8r6ukuya5;ma;ankfu5esno;rt;rt5sh0; wor6ale5;za;th;d5indhov0Pl paso;in5mont2;bur5;gh;aBe8ha0Xisp4o7resd0Lu5;b5esseldorf,nkirk,rb0shanbe;ai,l0I;ha,nggu0rtmu13;hradSl6nv5troit;er;hi;donghIe6k09l5masc1Zr es sala1KugavpiY;i0lU;gu,je2;aJebu,hAleve0Vo5raio02uriti1Q;lo7n6penhag0Ar5;do1Ok;akKst0V;gUm5;bo;aBen8i6ongqi1ristchur5;ch;ang m7ca5ttago1;go;g6n5;ai;du,zho1;ng5ttogr14;ch8sha,zh07;gliari,i9lga8mayenJn6pe town,r5tanO;acCdiff;ber1Ac5;un;ry;ro;aWeNhKirmingh0WoJr9u5;chareTdapeTenos air7r5s0tu0;g5sa;as;es;a9is6usse5;ls;ba6t5;ol;ne;sil8tisla7zzav5;il5;le;va;ia;goZst2;op6ubaneshw5;ar;al;iCl9ng8r5;g6l5n;in;en;aluru,hazi;fa6grade,o horizon5;te;st;ji1rut;ghd0BkFn9ot8r7s6yan n4;ur;el,r07;celo3i,ranquil09;ou;du1g6ja lu5;ka;alo6k5;ok;re;ng;ers5u;field;a05b02cc01ddis aba00gartaZhmedXizawl,lSmPnHqa00rEsBt7uck5;la5;nd;he7l5;an5;ta;ns;h5unci2;dod,gab5;at;li5;ngt2;on;a8c5kaOtwerp;hora6o3;na;ge;h7p5;ol5;is;eim;aravati,m0s5;terd5;am; 7buquerq6eppo,giers,ma5;ty;ue;basrah al qadim5mawsil al jadid5;ah;ab5;ad;la;ba;ra;idj0u dha5;bi;an;lbo6rh5;us;rg",Region:"true¦0:2K;1:2Q;2:2H;3:2B;a2Ob2Bc1Xd1Ses1Rf1Pg1Kh1Gi1Bj17k12l0Zm0On06o04pYqVrSsJtEuBverAw6y4zacatec2S;akut0o0Cu4;cat2k06;a5est 4isconsin,yomi1K;bengal,virgin0;rwick3shington4;! dc;acruz,mont;dmurt0t4;ah,tar4; 2La0Y;a6e5laxca1Rripu1Xu4;scaEva;langa1nnessee,x2F;bas0Wm4smOtar25;aulip2Dil nadu;a9i7o5taf12u4ylh1F;ffZrr05s1A;me1Cno1Quth 4;cWdV;ber0c4kkim,naloa;hu2ily;n5skatchew2xo4;ny; luis potosi,ta catari1;a4hodeA;j4ngp08;asth2shahi;ingh25u4;e4intana roo;bec,en6retaro;ara8e6rince edward4unjab; i4;sl0C;i,nnsylv4rnambu0C;an0;!na;axa0Ydisha,h4klaho20ntar4reg7ss0Cx0H;io;aKeEo6u4;evo le4nav0W;on;r4tt17va scot0;f9mandy,th4; 4ampton3;c6d5yo4;rk3;ako1N;aroli1;olk;bras1Mva0Cw4; 5foundland4;! and labrador;brunswick,hamp3jers5mexiTyork4;! state;ey;galPyarit;aAeghala0Mi6o4;nta1r4;dov0elos;ch6dlanDn5ss4zor11;issippi,ouri;as geraPneso18;ig2oac2;dhy12harasht0Gine,ni5r4ssachusetts;anhao,i el,ylG;p4toba;ur;anca3e4incoln3ouisI;e4iR;ds;a6e5h4omi;aka06ul1;ntucky,ra01;bardino,lmyk0ns0Qr4;achay,el0nata0X;alis6har4iangxi;kh4;and;co;daho,llino7n4owa;d5gush4;et0;ia1;is;a6ert5i4un2;dalFm0D;ford3;mp3rya1waii;ansu,eorg0lou7oa,u4;an4izhou,jarat;ajuato,gdo4;ng;cester3;lori4uji2;da;sex;ageUe7o5uran4;go;rs4;et;lawaMrby3;aFeaEh9o4rimea ,umbr0;ahui7l6nnectic5rsi4ventry;ca;ut;i03orado;la;e5hattisgarh,i4uvash0;apRhuahua;chn5rke4;ss0;ya;ra;lGm4;bridge3peche;a9ihar,r8u4;ck4ryat0;ingham3;shi4;re;emen,itish columb0;h0ja cal8lk7s4v7;hkorto4que;st2;an;ar0;iforn0;ia;dygea,guascalientes,lBndhr9r5ss4;am;izo1kans5un4;achal 7;as;na;a 4;pradesh;a6ber5t4;ai;ta;ba5s4;ka;ma",Country:"true¦0:39;1:2M;a2Xb2Ec22d1Ye1Sf1Mg1Ch1Ai14j12k0Zl0Um0Gn05om3DpZqat1KrXsKtCu6v4wal3yemTz2;a25imbabwe;es,lis and futu2Y;a2enezue32ietnam;nuatu,tican city;.5gTkraiZnited 3ruXs2zbeE;a,sr;arab emirat0Kkingdom,states2;! of am2Y;k.,s.2; 28a.;a7haBimor-les0Bo6rinidad4u2;nis0rk2valu;ey,me2Ys and caic1U; and 2-2;toba1K;go,kel0Znga;iw2Wji2nz2S;ki2U;aCcotl1eBi8lov7o5pa2Cri lanka,u4w2yr0;az2ed9itzerl1;il1;d2Rriname;lomon1Wmal0uth 2;afr2JkLsud2P;ak0en0;erra leoEn2;gapo1Xt maart2;en;negKrb0ychellY;int 2moa,n marino,udi arab0;hele25luc0mart20;epublic of ir0Dom2Duss0w2;an26;a3eHhilippinTitcairn1Lo2uerto riM;l1rtugE;ki2Cl3nama,pua new0Ura2;gu6;au,esti2;ne;aAe8i6or2;folk1Hth3w2;ay; k2ern mariana1C;or0N;caragua,ger2ue;!ia;p2ther19w zeal1;al;mib0u2;ru;a6exi5icro0Ao2yanm05;ldova,n2roc4zamb9;a3gol0t2;enegro,serrat;co;c9dagasc00l6r4urit3yot2;te;an0i15;shall0Wtin2;ique;a3div2i,ta;es;wi,ys0;ao,ed01;a5e4i2uxembourg;b2echtenste11thu1F;er0ya;ban0Hsotho;os,tv0;azakh1Ee3iriba03o2uwait,yrgyz1E;rWsovo;eling0Jnya;a2erF;ma15p1B;c6nd5r3s2taly,vory coast;le of m19rael;a2el1;n,q;ia,oI;el1;aiSon2ungary;dur0Mg kong;aAermany,ha0Pibralt9re7u2;a5ern4inea2ya0O;!-biss2;au;sey;deloupe,m,tema0P;e2na0M;ce,nl1;ar;bTmb0;a6i5r2;ance,ench 2;guia0Dpoly2;nes0;ji,nl1;lklandTroeT;ast tim6cu5gypt,l salv5ngl1quatorial3ritr4st2thiop0;on0; guin2;ea;ad2;or;enmark,jibou4ominica3r con2;go;!n B;ti;aAentral african 9h7o4roat0u3yprQzech2; 8ia;ba,racao;c3lo2morPngo-brazzaville,okFsta r03te d'ivoiK;mb0;osD;i2ristmasF;le,na;republic;m2naTpe verde,yman9;bod0ero2;on;aFeChut00o8r4u2;lgar0r2;kina faso,ma,undi;azil,itish 2unei;virgin2; is2;lands;liv0nai4snia and herzegoviGtswaGuvet2; isl1;and;re;l2n7rmuF;ar2gium,ize;us;h3ngladesh,rbad2;os;am3ra2;in;as;fghaFlCmAn5r3ustr2zerbaijH;al0ia;genti2men0uba;na;dorra,g4t2;arct6igua and barbu2;da;o2uil2;la;er2;ica;b2ger0;an0;ia;ni2;st2;an",Place:"true¦a0Eb0Ac03d02e01f00gWhUiSkQlNmLnIorHpDrCsAt5u4v3w2y0;a0yz;kutPngtze;ake isHupatki;irgin islands,ostok;laanbaatar,p02;a3eotihuac0Fh1onto,sarskoe selo,u0;lXzigoot;am07e 0;bronx,hamptons;hiti,j mahE;a0cotts bluff,eine,fo,oho,under9;int lawrence river,khalX;ed s3io grande;a1ek,h0itcairn,ompeii;l,x;cif03pahanaumokuak0rthenW;ea;ange county,d,inoco;e0ile;uschwanstePw eng0;land;a0co,ekong,idLuc;chu picchu,gadYlibu,nhattY;a1gw,hr,incoln memori0;al;s,x;azan kremlIosrae,rasnoyar0ul;sk;ax,cn,nd0st;ianQochina;arlem,kg,nd,ov0;d,enweep;a2odavari,re0;at 0enwich;britaAlakG;ngFy village;co,ra;urope,vergladD;anube,en,fw,own4xb;arrizo pla5dg,edar breaks,gk,h1lt,olosse0;um;a2i0uuk;chen itza,mney rock,na0ricahua;town;morro,tham;in;cn,e2kk,ro0;oklyn,wns cany0;on;l air,verly hills;driadic,frica,lhambra,m7n3rc2sia,tl1zor0;es;!ant2; de triomphe,t1;adyr,tarct0;ic0; oce0;an;ericas,s",FirstName:"true¦aTblair,cQdOfrancoZgabMhinaLilya,jHkClBm6ni4quinn,re3s0;h0umit,yd;ay,e0iloh;a,lby;g9ne;co,ko0;!s;a1el0ina,org6;!okuhF;ds,naia,r1tt0xiB;i,y;ion,lo;ashawn,eif,uca;a3e1ir0rM;an;lsFn0rry;dall,yat5;i,sD;a0essIie,ude;i1m0;ie,mG;me;ta;rie0y;le;arcy,ev0;an,on;as1h0;arl8eyenne;ey,sidy;drien,kira,l4nd1ubr0vi;ey;i,r0;a,e0;a,y;ex2f1o0;is;ie;ei,is",WeekDay:"true¦fri2mon2s1t0wednesd3;hurs1ues1;aturd1und1;!d0;ay0;!s",Month:"true¦dec0february,july,nov0octo1sept0;em0;ber",Date:"true¦ago,on4som4t1week0yesterd5; end,ends;mr1o0;d2morrow;!w;ed0;ay",Duration:"true¦centurAd8h7m5q4se3w1y0;ear8r8;eek0k7;!end,s;ason,c5;tr,uarter;i0onth3;llisecond2nute2;our1r1;ay0ecade0;!s;ies,y",FemaleName:"true¦0:JA;1:JE;2:IM;3:IN;4:J4;5:IR;6:JV;7:JR;8:HE;9:JN;A:H7;B:I5;C:IW;D:JK;E:J0;F:BD;G:I7;aGWbFOcDUdD3eBPfB7gAGh9Wi9Jj8Gk7Fl5Zm48n3Lo3Hp33qu32r29s15t0Eu0Cv02wVxiTyOzH;aLeIineb,oHsof3;e3Sf3la,ra;h2iKlIna,ynH;ab,ep;da,ma;da,h2iHra;nab;aKeJi0FolBAuIvH;et8onDS;i0na;le0sen3;el,gm3Hn,rGOs8Z;aoHme0nyi;m60yAG;aMendE2hiDJiH;dele9lJnH;if48niHo0;e,f47;a,helmi0lHma;a,ow;ka0nB;aNeKiHusa5;ck87kIl8oleAviH;anFenJ7;ky,toriBN;da,lABrHs0;a,nHoniHC;a,iFU;leHnesHC;nIOrH;i1y;g9rHs6xHD;su5te;aYeUhRiNoLrIuHy2;i,la;acJ6iHu0J;c3na,sH;hFta;nHr0F;iFya;aJffaERnHs6;a,gtiH;ng;!nFVra;aIeHomasi0;a,l9Ro8Dres1;l3ndolwethu;g9Io8BrIssH;!a,ie;eHi,ri7;sa,za;bOlMmKnIrHs6tia0wa0;a63yn;iHya;a,ka,s6;arFe2iHm7Ara;!ka;a,iH;a,t6;at6it6;a0Ecarlett,e0AhWiSkye,neza0oQri,tNuIyH;bIJlvi1;ha,mayIMniAsIzH;an3Net8ie,y;anHi7;!a,e,nH;aCe;aIeH;fan4l5Gphan6H;cI8r5;b3fiADm0LnHphi1;d2ia,ja,ya;er2lJmon1nIobh8TtH;a,i;dy;lEWv3;aMeIirHo0risFGy5;a,lDP;ba,e0i5lJrH;iHr6Myl;!d8Lfa;ia,lE2;hd,iMki2nJrIu0w0yH;la,ma,na;i,le9on,ron,yn;aIda,ia,nHon;a,on;!ya;k6mH;!aa;lJrItaye85vH;da,inj;e0ife;en1i0ma;anACbLd5Rh1SiBkKlJmInd2rHs6vannaC;aCi0;ant6i2;lDRma,ome;ee0in8Wu2;in1ri0;a05eZhXiUoHuthDP;bScRghQl8OnPsJwIxH;anB6ie,y;an,e0;aIeHie,lD; merBUann7ll1marDJtA;!lHnn1;iHyn;e,nH;a,dF;da,i,na;ayy8J;hel6Aio;bDUerAyn;a,cIkHmas,nFta,ya;ki,o;h90ki;ea,iannGPoH;da,n1P;an0bJemFgi0iInHta,y0;a8Eee;han89na;a,eH;cHkaC;a,ca;bi0chIe,i0mo0nHquEWy0;di,ia;aEUelHiB;!e,le;een4ia0;aPeOhMiLoJrHute6D;iHudenCY;scil3OyamvaB;lHrt3;i0ly;a,paluk;ilome0oebe,ylH;is,lis;ggy,nelope,r5t2;ige,m0VnKo5rvaDPtIulH;a,et8in1;ricHt4W;a,e,ia;do2i07;ctav3dIfD6is6ksa0lHphD6umC8yunbileg;a,ga,iv3;eHvAI;l3t8;aWeUiMoIurHy5;!ay,ul;a,eJor,rIuH;f,r;aCeEma;ll1mi;aNcLhariBTkKlaJna,sHta,vi;anHha;ur;!y;a,iE2ki;hoGkA1olH;a,e4S;!mh;hir,lHna,risDHsreE;!a,lBY;asuMdLh3i6Gl5nKomi7rgEYtHzanin zah2;aHhal4;lHs6;i1ya;cy,et8;e9iF3ya;nngu30;a0Ackenz4e02iMoJrignayani,uriDMyH;a,rH;a,iOlNna,tG;bi0i2llBMnH;a,iH;ca,ka,qDC;a,cUdo52kaTlOmi,nMrItzi,yH;ar;aJiIlH;anEW;am;!l,nB;dy,eHh,n4;nhGrva;aKdJe0iCXlH;iHy;cent,e;red;!gros;!e5;ae5hH;ae5el42;ag5GgNi,lKrH;edi7DiIjem,on,yH;em,l;em,sCJ;an4iHliCI;nHsCM;a,da;!an,han;b0CcAVd0Ae,g08ha,i07ja,l05n03rLsoum61tKuIv87xBNyHz4;bell,ra,soBE;d7rH;a,eE;h8Jild1t4;a,cXgTiKjor4l7Xn4s6tJwa,yH;!aHbe70ja9lAH;m,nBO;a,ha,in1;!aJbCJeIja,lDna,sHt66;!a,ol,sa;!l1G;! Jh,mInH;!a,e,n1;!awit,i;aliALcIeduarBfern5HjHlui60;o6Jul3;ecil3la2;arJeIie,oHr48ueri8;!t;!ry;et46i3B;el4Xi7Cy;dHon,ue5;akranAy;ak,en,iHlo3S;a,ka,nB;a,re,s4te;daHg4;!l3E;alDd4elHge,isDJon0;ei9in1yn;el,le;a0Ne0CiXoQuLyH;d3la,nH;!a,dIe2OnHsCT;!a,e2N;a,sCR;aD4cJel0Pis1lIna,pHz;e,iA;a,u,wa;iHy;a0Se,ja,l2NnB;is,l1UrItt1LuHvel4;el5is1;aKeIi7na,rH;aADi7;lHn1tA;ei;!in1;aTbb9HdSepa,lNnKsJvIzH;!a,be5Ret8z4;!ia;a,et8;!a,dH;a,sHy;ay,ey,i,y;a,iJja,lH;iHy;aA8e;!aH;!nF;ia,ya;!nH;!a,ne;aPda,e0iNjYla,nMoKsJtHx93y5;iHt4;c3t3;e2PlCO;la,nHra;a,ie,o2;a,or1;a,gh,laH;!ni;!h,nH;a,d2e,n5V;cOdon9DiNkes6mi9Gna,rMtJurIvHxmi,y5;ern1in3;a,e5Aie,yn;as6iIoH;nya,ya;fa,s6;a,isA9;a,la;ey,ie,y;a04eZhXiOlASoNrJyH;lHra;a,ee,ie;istHy6I;a,en,iIyH;!na;!e,n5F;nul,ri,urtnB8;aOerNlB7mJrHzzy;a,stH;en,in;!berlImernH;aq;eHi,y;e,y;a,stE;!na,ra;aHei2ongordzol;dij1w5;el7UiKjsi,lJnIrH;a,i,ri;d2na,za;ey,i,lBLs4y;ra,s6;biAcARdiat7MeBAiSlQmPnyakuma1DrNss6NtKviAyH;!e,lH;a,eH;e,i8T;!a6HeIhHi4TlDri0y;ar8Her8Hie,leErBAy;!lyn8Ori0;a,en,iHl5Xoli0yn;!ma,nFs95;a5il1;ei8Mi,lH;e,ie;a,tl6O;a0AeZiWoOuH;anMdLlHst88;es,iH;a8NeHs8X;!n9tH;!a,te;e5Mi3My;a,iA;!anNcelDdMelGhan7VleLni,sIva0yH;a,ce;eHie;fHlDph7Y;a,in1;en,n1;i7y;!a,e,n45;lHng;!i1DlH;!i1C;anNle0nKrJsH;i8JsH;!e,i8I;i,ri;!a,elGif2CnH;a,et8iHy;!e,f2A;a,eJiInH;a,eIiH;e,n1;!t8;cMda,mi,nIque4YsminFvie2y9zH;min7;a7eIiH;ce,e,n1s;!lHs82t0F;e,le;inIk6HlDquelH;in1yn;da,ta;da,lRmPnOo0rNsIvaHwo0zaro;!a0lu,na;aJiIlaHob89;!n9R;do2;belHdo2;!a,e,l3B;a7Ben1i0ma;di2es,gr72ji;a9elBogH;en1;a,e9iHo0se;a0na;aSeOiJoHus7Kyacin2C;da,ll4rten24snH;a,i9U;lImaH;ri;aIdHlaI;a,egard;ry;ath1BiJlInrietArmi9sH;sa,t1A;en2Uga,mi;di;bi2Fil8MlNnMrJsItHwa,yl8M;i5Tt4;n60ti;iHmo51ri53;etH;!te;aCnaC;a,ey,l4;a02eWiRlPoNrKunJwH;enHyne1R;!dolD;ay,el;acieIetHiselB;a,chE;!la;ld1CogooH;sh;adys,enHor3yn2K;a,da,na;aKgi,lIna,ov8EselHta;a,e,le;da,liH;an;!n0;mLnJorgIrH;ald5Si,m3Etrud7;et8i4X;a,eHna;s29vieve;ma;bIle,mHrnet,yG;al5Si5;iIrielH;a,l1;!ja;aTeQiPlorOoz3rH;anJeIiH;da,eB;da,ja;!cH;esIiHoi0P;n1s66;!ca;a,enc3;en,o0;lIn0rnH;anB;ec3ic3;jr,nArKtHy7;emIiHma,oumaA;ha,ma,n;eh;ah,iBrah,za0;cr4Rd0Re0Qi0Pk0Ol07mXn54rUsOtNuMvHwa;aKelIiH;!e,ta;inFyn;!a;!ngel4V;geni1ni47;h5Yien9ta;mLperanKtH;eIhHrel5;er;l31r7;za;a,eralB;iHma,ne4Lyn;cHka,n;a,ka;aPeNiKmH;aHe21ie,y;!li9nuH;elG;lHn1;e7iHy;a,e,ja;lHrald;da,y;!nue5;aWeUiNlMma,no2oKsJvH;a,iH;na,ra;a,ie;iHuiH;se;a,en,ie,y;a0c3da,e,f,nMsJzaH;!betHveA;e,h;aHe,ka;!beH;th;!a,or;anor,nH;!a,i;!in1na;ate1Rta;leEs6;vi;eIiHna,wi0;e,th;l,n;aYeMh3iLjeneKoH;lor5Vminiq4Ln3FrHtt4;a,eEis,la,othHthy;ea,y;ba;an09naCon9ya;anQbPde,eOiMlJmetr3nHsir5M;a,iH;ce,se;a,iIla,orHphi9;es,is;a,l6F;dHrdH;re;!d5Ena;!b2ForaCraC;a,d2nH;!a,e;hl3i0l0GmNnLphn1rIvi1WyH;le,na;a,by,cIia,lH;a,en1;ey,ie;a,et8iH;!ca,el1Aka,z;arHia;is;a0Re0Nh04i02lUoJristIynH;di,th3;al,i0;lPnMrIurH;tn1D;aJd2OiHn2Ori9;!nH;a,e,n1;!l4;cepci5Cn4sH;tanHuelo;ce,za;eHleE;en,t8;aJeoIotH;il54;!pat2;ir7rJudH;et8iH;a,ne;a,e,iH;ce,sZ;a2er2ndH;i,y;aReNloe,rH;isJyH;stH;al;sy,tH;a1Sen,iHy;an1e,n1;deJlseIrH;!i7yl;a,y;li9;nMrH;isKlImH;ai9;a,eHot8;n1t8;!sa;d2elGtH;al,elG;cIlH;es8i47;el3ilH;e,ia,y;itlYlXmilWndVrMsKtHy5;aIeIhHri0;er1IleErDy;ri0;a38sH;a37ie;a,iOlLmeJolIrH;ie,ol;!e,in1yn;lHn;!a,la;a,eIie,otHy;a,ta;ne,y;na,s1X;a0Ii0I;a,e,l1;isAl4;in,yn;a0Ke02iZlXoUrH;andi7eRiJoIyH;an0nn;nwDoke;an3HdgMgiLtH;n31tH;!aInH;ey,i,y;ny;d,t8;etH;!t7;an0e,nH;da,na;bbi7glarIlo07nH;iAn4;ka;ancHythe;a,he;an1Clja0nHsm3M;iAtH;ou;aWcVlinUniArPssOtJulaCvH;!erlH;ey,y;hJsy,tH;e,iHy7;e,na;!anH;ie,y;!ie;nItHyl;ha,ie;adIiH;ce;et8i9;ay,da;ca,ky;!triH;ce,z;rbJyaH;rmH;aa;a2o2ra;a2Ub2Od25g21i1Sj5l18m0Zn0Boi,r06sWtVuPvOwa,yIzH;ra,u0;aKes6gJlIn,seH;!l;in;un;!nH;a,na;a,i2K;drLguJrIsteH;ja;el3;stH;in1;a,ey,i,y;aahua,he0;hIi2Gja,miAs2DtrH;id;aMlIraqHt21;at;eIi7yH;!n;e,iHy;gh;!nH;ti;iJleIo6piA;ta;en,n1t8;aHelG;!n1J;a01dje5eZgViTjRnKohito,toHya;inet8nH;el5ia;te;!aKeIiHmJ;e,ka;!mHtt7;ar4;!belIliHmU;sa;!l1;a,eliH;ca;ka,sHta;a,sa;elHie;a,iH;a,ca,n1qH;ue;!tH;a,te;!bImHstasiMya;ar3;el;aLberKeliJiHy;e,l3naH;!ta;a,ja;!ly;hGiIl3nB;da;a,ra;le;aWba,ePiMlKthJyH;a,c3sH;a,on,sa;ea;iHys0N;e,s0M;a,cIn1sHza;a,e,ha,on,sa;e,ia,ja;c3is6jaKksaKna,sJxH;aHia;!nd2;ia,saH;nd2;ra;ia;i0nIyH;ah,na;a,is,naCoud;la;c6da,leEmNnLsH;haClH;inHyY;g,n;!h;a,o,slH;ey;ee;en;at6g4nIusH;ti0;es;ie;aWdiTelMrH;eJiH;anMenH;a,e,ne;an0;na;!aLeKiIyH;nn;a,n1;a,e;!ne;!iH;de;e,lDsH;on;yn;!lH;i9yn;ne;aKbIiHrL;!e,gaK;ey,i7y;!e;gaH;il;dKliyJradhIs6;ha;ya;ah;a,ya",Honorific:"true¦director1field marsh2lieutenant1rear0sergeant major,vice0; admir1; gener0;al","Adj|Gerund":"true¦0:3H;1:3J;2:33;3:2Z;4:37;5:35;6:3E;7:31;8:38;9:2J;a35b2Vc2Dd1Te1If17g11h0Yi0Rjud9l0Nm0Gnu0Fo0Ap04rYsKtEuBvAw18yiel3;ar6e08;nBpA;l1Rs0B;fol3n21sett2;aEeDhrBi4ouc7rAwis0;e0Bif2oub2us0yi1;ea1SiA;l2vi1;l2mp0rr1J;nt1Xxi1;aMcreec7enten2PhLkyrocke0lo1Tmi2oJpHtDuBweA;e1Sl2;pp2CrA;gi1pri5roun3;aBea8iAri2Jun25;mula0r4;gge4rA;t2vi1;ark2eAraw2;e3llb2H;aAot7;ki1ri1;i1Xoc2B;dYtisf6;aEeBive0oAus7;a4l2;assu4defi1Tfres7ig1Tjuve0QlaImai1Ts0vAwar3;ea2italiAol1I;si1zi1;gi1ll6mb2vi1;a6eDier25lun9rAun2E;eBoA;mi5vo21;ce3s5vai2;n3rpleA;xi1;ffCpWutBverAwi1;arc7lap12p0Pri3whel8;goi1l6st1L;en3sA;et0;m2Lrtu4;aEeDiCoBuAyst0L;mb2;t1Lvi1;s5tiga0;an1Tl0n3smeri28;dAtu4;de17;aCeaBiAo0W;fesa0Vmi0vi1;di1ni1;c1Hg9s0;llumiZmFnArri0T;cDfurGsCtBviA;go25ti1;e1Qimi23oxica0rig0X;pi4ul0;orpo22r0M;po5;arrowi1eaBorr03umilA;ia0;li1rtwar8;lErA;atiCip0BoBuelA;i1li1;undbrea13wi1;f6ng;a4ea8;aIetc7it0lEoCrBulfA;il2;ee1JighZust1P;rAun3;ebo3thco8;aCoA;a0wA;e4i1;mi1tte4;di1sciA;na0;lectrJmHnExA;aCci0hBis0pA;an3lo3;aOila1D;c0spe1C;ab2cBdu4ergi15ga9live06ric7s04tA;hral2i0L;han0oura9;barras5er9pA;owe4;if6;aSeIiBrA;if0;sAzz6;aEgDhearCsen0tA;rAur13;ac0es5;teU;us0;ppoin0r8;biliIcFfiRgra3ligh0mDpres5sCvA;asHeloA;pi1;erE;an3eaNorA;ali0L;a6eiBliLrA;ea5;vi1;ta0;ma9ri1s7un0zz2;aPhMlo5oAripp2ut0;mGnArrespon3;cerEfDspi4tAvinU;inBrA;as0ibu0ol2;ui1;lic0u5;ni1;fDmCpA;eAromi5;l2ti1;an3;or0;aAil2;llen9n9r8;gi1;l8ptAri1;iva0;aff2eGin3lFoDrBuA;d3st2;eathtaAui5;ki1;gg2i2o8ri1unA;ci1;in3;co8wiA;lAtc7;de4;bsorVcOgonMlJmHnno6ppea2rFsA;pi4su4toA;nBun3;di1;is7;hi1;res0;li1;aFu5;si1;ar8lu4;ri1;mi1;iAzi1;zi1;cAhi1;eleDomA;moBpan6;yi1;da0;ra0;ti1;bi1;ng",Adverb:"true¦a08b05d00eYfSheQinPjustOkinda,likewiZmMnJoEpCquite,r9s5t2u0very,well;ltima01p0; to,wards5;h1iny bit,o0wiO;o,t6;en,us;eldom,o0uch;!me1rt0; of;how,times,w0C;a1e0;alS;ndomRth05;ar excellenEer0oint blank; Lhaps;f3n0utright;ce0ly;! 0;ag05moX; courGten;ewJo0; longWt 0;onHwithstand9;aybe,eanwhiNore0;!ovT;! aboX;deed,steY;lla,n0;ce;or3u0;ck1l9rther0;!moK;ing; 0evK;exampCgood,suH;n mas0vI;se;e0irect2; 2fini0;te0;ly;juAtrop;ackward,y 0;far,no0; means,w; GbroFd nauseam,gEl7ny5part,s4t 2w0;ay,hi0;le;be7l0mo7wor7;arge,ea6; soon,i4;mo0way;re;l 3mo2ongsi1ready,so,togeth0ways;er;de;st;b1t0;hat;ut;ain;ad;lot,posteriori",Conjunction:"true¦aXbTcReNhowMiEjust00noBo9p8supposing,t5wh0yet;e1il0o3;e,st;n1re0thN; if,by,vM;evL;h0il,o;erefOo0;!uU;lus,rovided th9;r0therwiM;! not; mattEr,w0;! 0;since,th4w7;f4n0; 0asmuch;as mIcaForder t0;h0o;at;! 0;only,t0w0;hen;!ev3;ith2ven0;! 0;if,tB;er;o0uz;s,z;e0ut,y the time;cau1f0;ore;se;lt3nd,s 0;far1if,m0soon1t2;uch0; as;hou0;gh",Currency:"true¦$,aud,bQcOdJeurIfHgbp,hkd,iGjpy,kElDp8r7s3usd,x2y1z0¢,£,¥,ден,лв,руб,฿,₡,₨,€,₭,﷼;lotyQł;en,uanP;af,of;h0t5;e0il5;k0q0;elK;oubleJp,upeeJ;e2ound st0;er0;lingG;n0soF;ceEnies;empi7i7;n,r0wanzaCyatC;!onaBw;ls,nr;ori7ranc9;!os;en3i2kk,o0;b0ll2;ra5;me4n0rham4;ar3;e0ny;nt1;aht,itcoin0;!s",Determiner:"true¦aBboth,d9e6few,le5mu8neiDplenty,s4th2various,wh0;at0ich0;evC;a0e4is,ose;!t;everal,ome;!ast,s;a1l0very;!se;ch;e0u;!s;!n0;!o0y;th0;er","Adj|Present":"true¦a07b04cVdQeNfJhollIidRlEmCnarrIoBp9qua8r7s3t2uttFw0;aKet,ro0;ng,u08;endChin;e2hort,l1mooth,our,pa9tray,u0;re,speU;i2ow;cu6da02leSpaN;eplica01i02;ck;aHerfePr0;eseUime,omV;bscu1pen,wn;atu0e3odeH;re;a2e1ive,ow0;er;an;st,y;ow;a2i1oul,r0;ee,inge;rm;iIke,ncy,st;l1mpty,x0;emHpress;abo4ic7;amp,e2i1oub0ry,ull;le;ffu9re6;fu8libe0;raE;alm,l5o0;mpleCn3ol,rr1unterfe0;it;e0u7;ct;juga8sum7;ea1o0;se;n,r;ankru1lu0;nt;pt;li2pproxi0rticula1;ma0;te;ght",Comparable:"true¦0:3C;1:3Q;2:3F;a3Tb3Cc33d2Ue2Nf2Ag1Wh1Li1Fj1Ek1Bl13m0Xn0So0Rp0Iqu0Gr07sHtCug0vAw4y3za0Q;el10ouN;ary,e6hi5i3ry;ck0Cde,l3n1ry,se;d,y;ny,te;a3i3R;k,ry;a3erda2ulgar;gue,in,st;a6en2Xhi5i4ouZr3;anqu2Den1ue;dy,g36me0ny;ck,rs29;ll,me,rt,wd3I;aRcaPeOhMiLkin0BlImGoEpDt6u4w3;eet,ift;b3dd0Wperfi21rre29;sta27t22;a8e7iff,r4u3;pUr1;a4ict,o3;ng;ig2Vn0N;a1ep,rn;le,rk,te0;e1Si2Vright0;ci1Zft,l3on,re;emn,id;a3el0;ll,rt;e4i3y;g2Mm0Z;ek,nd2T;ck24l0mp1M;a3iRrill,y;dy,l01rp;ve0Jxy;n1Kr3;ce,y;d,fe,int0l1Iv0V;a8e6i5o3ude;mantic,o19sy,u3;gh;pe,t1P;a3d,mo0A;dy,l;gg4iFndom,p3re,w;id;ed;ai2i3;ck,et;hoAink,l9o8r5u3;ny,r3;e,p12;egna2ic4o3;fouSud;ey,k0;liXor;ain,easa2;ny;dd,i0ld,ranL;aive,e5i4o3u15;b0Tisy,rm0Zsy;bb0ce,mb0S;a3r1w;r,t;ad,e5ild,o4u3;nda12te;ist,o1;a4ek,l3;low;s0ty;a8e7i6o3ucky;f0Kn4o15u3ve0w10y0O;d,sy;e0g;ke0l,mp,tt0Fve0;e1Qwd;me,r3te;ge;e4i3;nd;en;ol0ui19;cy,ll,n3;secu6t3;e3ima4;llege2rmedia3;te;re;aAe7i6o5u3;ge,m3ng1C;bZid;me0t;gh,l0;a3fYsita2;dy,rXv3;en0y;nd13ppy,r3;d3sh;!y;aFenEhCiBlAoofy,r3;a8e6i5o3ue0Z;o3ss;vy;m,s0;at,e3y;dy,n;nd,y;ad,ib,ooD;a2d1;a3o3;st0;tEuiS;u1y;aDeebCi9l8o6r5u3;ll,n3r0N;!ny;aDesh,iend0;a3nd,rmE;my;at,ir8;erce4nan3;ciA;! ;le;r,ul3;ty;a6erie,sse4v3xtre0A;il;nti3;al;r4s3;tern,y;ly,th0;appYe8i4u3;mb;r5vi4z3;zy;ne;e,ty;a3ep,n9;d3f,r;!ly;agey,h8l7o5r4u3;dd0r0te;isp,uel;ar3ld,mmon,st0ward0zy;se;evKou1;e3il0;ap,e3;sy;aHiFlCoAr5u3;ff,r0sy;ly;a6i3oad;g4llia2;nt;ht;sh,ve;ld,un3;cy;a4o3ue;nd,o1;ck,nd;g,tt3;er;d,ld,w1;dy;bsu6ng5we3;so3;me;ry;rd","Person|Adj":"true¦b3du2earnest,frank,mi2r0san1woo1;an0ich,u1;dy;sty;ella,rown",Modal:"true¦c5lets,m4ought3sh1w0;ill,o5;a0o4;ll,nt;! to,a;ight,ust;an,o0;uld",Verb:"true¦born,cannot,gonna,has,keep tabs,msg","Person|Verb":"true¦b8ch7dr6foster,gra5ja9lan4ma2ni9ollie,p1rob,s0wade;kip,pike,t5ue;at,eg,ier2;ck,r0;k,shal;ce;ce,nt;ew;ase,u1;iff,l1ob,u0;ck;aze,ossom","Person|Date":"true¦a2j0sep;an0une;!uary;p0ugust,v0;ril"};const Ao=36,Co="0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ",jo=Co.split("").reduce((function(e,t,n){return e[t]=n,e}),{});var No=function(e){if(void 0!==jo[e])return jo[e];let t=0,n=1,a=Ao,r=1;for(;n=0;n--,r*=Ao){let a=e.charCodeAt(n)-48;a>10&&(a-=7),t+=a*r}return t};var Io=function(e){const t=new RegExp("([0-9A-Z]+):([0-9A-Z]+)");for(let n=0;n{let o=e.nodes[a];"!"===o[0]&&(t.push(r),o=o.slice(1));const i=o.split(/([A-Z0-9,]+)/g);for(let o=0;o{const n=t.split("¦");return e[n[0]]=n[1],e}),{}),n={};return Object.keys(t).forEach((function(e){const a=Do(t[e]);"true"===e&&(e=!0);for(let t=0;t{let t=Go(Po[e]);Oo.test(e)?Object.keys(t).forEach((t=>{if(Vo[t]=e,"Noun|Verb"===e){let e=Fo(t,Lo);Vo[e]="Plural|Verb"}})):Object.keys(t).forEach((t=>{zo[t]=e}))})),[":(",":)",":P",":p",":O",";(",";)",";P",";p",";O",":3",":|",":/",":\\",":$",":*",":@",":-(",":-)",":-P",":-p",":-O",":-3",":-|",":-/",":-\\",":-$",":-*",":-@",":^(",":^)",":^P",":^p",":^O",":^3",":^|",":^/",":^\\",":^$",":^*",":^@","):","(:","$:","*:",")-:","(-:","$-:","*-:",")^:","(^:","$^:","*^:","<3","zo[e]="Emoticon")),delete zo[""],delete zo.null,delete zo[" "];const Mo="Singular";var Bo={beforeTags:{Determiner:Mo,Possessive:Mo,Acronym:Mo,Noun:Mo,Adjective:Mo,PresentTense:Mo,Gerund:Mo,PastTense:Mo,Infinitive:Mo,Date:Mo,Ordinal:Mo,Demonym:Mo},afterTags:{Value:Mo,Modal:Mo,Copula:Mo,PresentTense:Mo,PastTense:Mo,Demonym:Mo,Actor:Mo},beforeWords:{the:Mo,with:Mo,without:Mo,of:Mo,for:Mo,any:Mo,all:Mo,on:Mo,cut:Mo,cuts:Mo,increase:Mo,decrease:Mo,raise:Mo,drop:Mo,save:Mo,saved:Mo,saves:Mo,make:Mo,makes:Mo,made:Mo,minus:Mo,plus:Mo,than:Mo,another:Mo,versus:Mo,neither:Mo,about:Mo,favorite:Mo,best:Mo,daily:Mo,weekly:Mo,linear:Mo,binary:Mo,mobile:Mo,lexical:Mo,technical:Mo,computer:Mo,scientific:Mo,security:Mo,government:Mo,popular:Mo,formal:Mo,no:Mo,more:Mo,one:Mo,let:Mo,her:Mo,his:Mo,their:Mo,our:Mo,us:Mo},afterWords:{of:Mo,system:Mo,aid:Mo,method:Mo,utility:Mo,tool:Mo,reform:Mo,therapy:Mo,philosophy:Mo,room:Mo,authority:Mo,says:Mo,said:Mo,wants:Mo,wanted:Mo,is:Mo,did:Mo,do:Mo,can:Mo,wise:Mo}};const So="Infinitive";var $o={beforeTags:{Modal:So,Adverb:So,Negative:So,Plural:So},afterTags:{Determiner:So,Adverb:So,Possessive:So,Reflexive:So,Preposition:So,Cardinal:So,Comparative:So,Superlative:So},beforeWords:{i:So,we:So,you:So,they:So,to:So,please:So,will:So,have:So,had:So,would:So,could:So,should:So,do:So,did:So,does:So,can:So,must:So,us:So,me:So,let:So,even:So,when:So,help:So,he:So,she:So,it:So,being:So,bi:So,co:So,contra:So,de:So,inter:So,intra:So,mis:So,pre:So,out:So,counter:So,nobody:So,somebody:So,anybody:So,everybody:So},afterWords:{the:So,me:So,you:So,him:So,us:So,her:So,his:So,them:So,they:So,it:So,himself:So,herself:So,itself:So,myself:So,ourselves:So,themselves:So,something:So,anything:So,a:So,an:So,up:So,down:So,by:So,out:So,off:So,under:So,what:So,all:So,to:So,because:So,although:So,after:So,before:So,how:So,otherwise:So,together:So,though:So,into:So,yet:So,more:So,here:So,there:So,away:So}};var Jo={beforeTags:Object.assign({},$o.beforeTags,Bo.beforeTags,{}),afterTags:Object.assign({},$o.afterTags,Bo.afterTags,{}),beforeWords:Object.assign({},$o.beforeWords,Bo.beforeWords,{}),afterWords:Object.assign({},$o.afterWords,Bo.afterWords,{})};const Wo="Adjective";var Ko={beforeTags:{Determiner:Wo,Possessive:Wo,Hyphenated:Wo},afterTags:{Adjective:Wo},beforeWords:{seem:Wo,seemed:Wo,seems:Wo,feel:Wo,feels:Wo,felt:Wo,stay:Wo,appear:Wo,appears:Wo,appeared:Wo,also:Wo,over:Wo,under:Wo,too:Wo,it:Wo,but:Wo,still:Wo,really:Wo,quite:Wo,well:Wo,very:Wo,how:Wo,deeply:Wo,hella:Wo,profoundly:Wo,extremely:Wo,so:Wo,badly:Wo,mostly:Wo,totally:Wo,awfully:Wo,rather:Wo,nothing:Wo,something:Wo,anything:Wo,not:Wo,me:Wo,is:Wo},afterWords:{too:Wo,also:Wo,or:Wo,enough:Wo,about:Wo}};const qo="Gerund";var Uo={beforeTags:{Adverb:qo,Preposition:qo,Conjunction:qo},afterTags:{Adverb:qo,Possessive:qo,Person:qo,Pronoun:qo,Determiner:qo,Copula:qo,Preposition:qo,Conjunction:qo,Comparative:qo},beforeWords:{been:qo,keep:qo,continue:qo,stop:qo,am:qo,be:qo,me:qo,began:qo,start:qo,starts:qo,started:qo,stops:qo,stopped:qo,help:qo,helps:qo,avoid:qo,avoids:qo,love:qo,loves:qo,loved:qo,hate:qo,hates:qo,hated:qo},afterWords:{you:qo,me:qo,her:qo,him:qo,his:qo,them:qo,their:qo,it:qo,this:qo,there:qo,on:qo,about:qo,for:qo,up:qo,down:qo}};var Ro={beforeTags:Object.assign({},Ko.beforeTags,Uo.beforeTags,{Imperative:"Gerund",Infinitive:"Adjective",PresentTense:"Gerund",Plural:"Gerund"}),afterTags:Object.assign({},Ko.afterTags,Uo.afterTags,{Singular:"Adjective"}),beforeWords:Object.assign({},Ko.beforeWords,Uo.beforeWords,{is:"Adjective",was:"Adjective",of:"Adjective",suggest:"Gerund",recommend:"Gerund"}),afterWords:Object.assign({},Ko.afterWords,Uo.afterWords,{to:"Gerund",not:"Gerund",the:"Gerund"})};const Qo={beforeTags:{Determiner:void 0,Cardinal:"Noun",PhrasalVerb:"Adjective"},afterTags:{}};var Xo={beforeTags:Object.assign({},Ko.beforeTags,Bo.beforeTags,Qo.beforeTags),afterTags:Object.assign({},Ko.afterTags,Bo.afterTags,Qo.afterTags),beforeWords:Object.assign({},Ko.beforeWords,Bo.beforeWords,{are:"Adjective",is:"Adjective",was:"Adjective",be:"Adjective",off:"Adjective",out:"Adjective"}),afterWords:Object.assign({},Ko.afterWords,Bo.afterWords)};let Zo="PastTense";const _o={beforeTags:{Adverb:Zo,Pronoun:Zo,ProperNoun:Zo,Auxiliary:Zo,Noun:Zo},afterTags:{Possessive:Zo,Pronoun:Zo,Determiner:Zo,Adverb:Zo,Comparative:Zo,Date:Zo,Gerund:Zo},beforeWords:{be:Zo,who:Zo,get:"Adjective",had:Zo,has:Zo,have:Zo,been:Zo,it:Zo,as:Zo,for:"Adjective",more:"Adjective"},afterWords:{by:Zo,back:Zo,out:Zo,in:Zo,up:Zo,down:Zo,before:Zo,after:Zo,for:Zo,the:Zo,with:Zo,as:Zo,on:Zo,at:Zo,between:Zo,to:Zo,into:Zo,us:Zo,them:Zo,his:Zo,her:Zo,their:Zo,our:Zo,me:Zo}};var Yo={beforeTags:Object.assign({},Ko.beforeTags,_o.beforeTags),afterTags:Object.assign({},Ko.afterTags,_o.afterTags),beforeWords:Object.assign({},Ko.beforeWords,_o.beforeWords),afterWords:Object.assign({},Ko.afterWords,_o.afterWords)};const ei={afterTags:{Noun:"Adjective",Conjunction:void 0}};var ti={beforeTags:Object.assign({},Ko.beforeTags,$o.beforeTags,{Adverb:void 0,Negative:void 0}),afterTags:Object.assign({},Ko.afterTags,$o.afterTags,ei.afterTags),beforeWords:Object.assign({},Ko.beforeWords,$o.beforeWords,{have:void 0,had:void 0,not:void 0,went:"Adjective",goes:"Adjective",got:"Adjective",be:"Adjective"}),afterWords:Object.assign({},Ko.afterWords,$o.afterWords,{to:void 0,as:"Adjective"})};const ni={Copula:"Gerund",PastTense:"Gerund",PresentTense:"Gerund",Infinitive:"Gerund"},ai={},ri={are:"Gerund",were:"Gerund",be:"Gerund",no:"Gerund",without:"Gerund",you:"Gerund",we:"Gerund",they:"Gerund",he:"Gerund",she:"Gerund",us:"Gerund",them:"Gerund"},oi={the:"Gerund",this:"Gerund",that:"Gerund",me:"Gerund",us:"Gerund",them:"Gerund"};var ii={beforeTags:Object.assign({},Uo.beforeTags,Bo.beforeTags,ni),afterTags:Object.assign({},Uo.afterTags,Bo.afterTags,ai),beforeWords:Object.assign({},Uo.beforeWords,Bo.beforeWords,ri),afterWords:Object.assign({},Uo.afterWords,Bo.afterWords,oi)};const si="Singular",li="Infinitive";var ui={beforeTags:Object.assign({},$o.beforeTags,Bo.beforeTags,{Adjective:si,Particle:si}),afterTags:Object.assign({},$o.afterTags,Bo.afterTags,{ProperNoun:li,Gerund:li,Adjective:li,Copula:si}),beforeWords:Object.assign({},$o.beforeWords,Bo.beforeWords,{is:si,was:si,of:si,have:null}),afterWords:Object.assign({},$o.afterWords,Bo.afterWords,{instead:li,about:li,his:li,her:li,to:null,by:null,in:null})};const ci="Person";var di={beforeTags:{Honorific:ci,Person:ci},afterTags:{Person:ci,ProperNoun:ci,Verb:ci},ownTags:{ProperNoun:ci},beforeWords:{hi:ci,hey:ci,yo:ci,dear:ci,hello:ci},afterWords:{said:ci,says:ci,told:ci,tells:ci,feels:ci,felt:ci,seems:ci,thinks:ci,thought:ci,spends:ci,spendt:ci,plays:ci,played:ci,sing:ci,sang:ci,learn:ci,learned:ci,wants:ci,wanted:ci}};const hi="Month",gi={beforeTags:{Date:hi,Value:hi},afterTags:{Date:hi,Value:hi},beforeWords:{by:hi,in:hi,on:hi,during:hi,after:hi,before:hi,between:hi,until:hi,til:hi,sometime:hi,of:hi,this:hi,next:hi,last:hi,previous:hi,following:hi,with:"Person"},afterWords:{sometime:hi,in:hi,of:hi,until:hi,the:hi}};var mi={beforeTags:Object.assign({},di.beforeTags,gi.beforeTags),afterTags:Object.assign({},di.afterTags,gi.afterTags),beforeWords:Object.assign({},di.beforeWords,gi.beforeWords),afterWords:Object.assign({},di.afterWords,gi.afterWords)};const pi="Place",fi={beforeTags:{Place:pi},afterTags:{Place:pi,Abbreviation:pi},beforeWords:{in:pi,by:pi,near:pi,from:pi,to:pi},afterWords:{in:pi,by:pi,near:pi,from:pi,to:pi,government:pi,council:pi,region:pi,city:pi}};let bi="Unit";const vi={"Actor|Verb":Jo,"Adj|Gerund":Ro,"Adj|Noun":Xo,"Adj|Past":Yo,"Adj|Present":ti,"Noun|Verb":ui,"Noun|Gerund":ii,"Person|Noun":{beforeTags:Object.assign({},Bo.beforeTags,di.beforeTags),afterTags:Object.assign({},Bo.afterTags,di.afterTags),beforeWords:Object.assign({},Bo.beforeWords,di.beforeWords,{i:"Infinitive",we:"Infinitive"}),afterWords:Object.assign({},Bo.afterWords,di.afterWords)},"Person|Date":mi,"Person|Verb":{beforeTags:Object.assign({},Bo.beforeTags,di.beforeTags,$o.beforeTags),afterTags:Object.assign({},Bo.afterTags,di.afterTags,$o.afterTags),beforeWords:Object.assign({},Bo.beforeWords,di.beforeWords,$o.beforeWords),afterWords:Object.assign({},Bo.afterWords,di.afterWords,$o.afterWords)},"Person|Place":{beforeTags:Object.assign({},fi.beforeTags,di.beforeTags),afterTags:Object.assign({},fi.afterTags,di.afterTags),beforeWords:Object.assign({},fi.beforeWords,di.beforeWords),afterWords:Object.assign({},fi.afterWords,di.afterWords)},"Person|Adj":{beforeTags:Object.assign({},di.beforeTags,Ko.beforeTags),afterTags:Object.assign({},di.afterTags,Ko.afterTags),beforeWords:Object.assign({},di.beforeWords,Ko.beforeWords),afterWords:Object.assign({},di.afterWords,Ko.afterWords)},"Unit|Noun":{beforeTags:{Value:bi},afterTags:{},beforeWords:{per:bi,every:bi,each:bi,square:bi,cubic:bi,sq:bi,metric:bi},afterWords:{per:bi,squared:bi,cubed:bi,long:bi}}},yi=(e,t)=>{let n=Object.keys(e).reduce(((t,n)=>(t[n]="Infinitive"===e[n]?"PresentTense":"Plural",t)),{});return Object.assign(n,t)};vi["Plural|Verb"]={beforeWords:yi(vi["Noun|Verb"].beforeWords,{had:"Plural",have:"Plural"}),afterWords:yi(vi["Noun|Verb"].afterWords,{his:"PresentTense",her:"PresentTense",its:"PresentTense",in:null,to:null,is:"PresentTense",by:"PresentTense"}),beforeTags:yi(vi["Noun|Verb"].beforeTags,{Conjunction:"PresentTense",Noun:void 0,ProperNoun:"PresentTense"}),afterTags:yi(vi["Noun|Verb"].afterTags,{Gerund:"Plural",Noun:"PresentTense",Value:"PresentTense"})};var wi=vi;const ki="Adjective",Pi="Infinitive",Ai="PresentTense",Ci="Singular",ji="PastTense",Ni="Adverb",Ii="Plural",Hi="Actor",Di="Verb",Gi="Noun",Ti="LastName",xi="Modal",Ei="Place",Fi="Participle";var Oi=[null,null,{ea:Ci,ia:Gi,ic:ki,ly:Ni,"'n":Di,"'t":Di},{oed:ji,ued:ji,xed:ji," so":Ni,"'ll":xi,"'re":"Copula",azy:ki,eer:Gi,end:Di,ped:ji,ffy:ki,ify:Pi,ing:"Gerund",ize:Pi,ibe:Pi,lar:ki,mum:ki,nes:Ai,nny:ki,ous:ki,que:ki,ger:Gi,ber:Gi,rol:Ci,sis:Ci,ogy:Ci,oid:Ci,ian:Ci,zes:Ai,eld:ji,ken:Fi,ven:Fi,ten:Fi,ect:Pi,ict:Pi,ign:Pi,oze:Pi,ful:ki,bal:ki,ton:Gi},{amed:ji,aped:ji,ched:ji,lked:ji,rked:ji,reed:ji,nded:ji,mned:ki,cted:ji,dged:ji,ield:Ci,akis:Ti,cede:Pi,chuk:Ti,czyk:Ti,ects:Ai,iend:Ci,ends:Di,enko:Ti,ette:Ci,iary:Ci,wner:Ci,fies:Ai,fore:Ni,gate:Pi,gone:ki,ices:Ii,ints:Ii,ruct:Pi,ines:Ii,ions:Ii,ners:Ii,pers:Ii,lers:Ii,less:ki,llen:ki,made:ki,nsen:Ti,oses:Ai,ould:xi,some:ki,sson:Ti,ians:Ii,tion:Ci,tage:Gi,ique:Ci,tive:ki,tors:Gi,vice:Ci,lier:Ci,fier:Ci,wned:ji,gent:Ci,tist:Hi,pist:Hi,rist:Hi,mist:Hi,yist:Hi,vist:Hi,ists:Hi,lite:Ci,site:Ci,rite:Ci,mite:Ci,bite:Ci,mate:Ci,date:Ci,ndal:Ci,vent:Ci,uist:Hi,gist:Hi,note:Ci,cide:Ci,ence:Ci,wide:ki,vide:Pi,ract:Pi,duce:Pi,pose:Pi,eive:Pi,lyze:Pi,lyse:Pi,iant:ki,nary:ki,ghty:ki,uent:ki,erer:Hi,bury:Ei,dorf:Gi,esty:Gi,wych:Ei,dale:Ei,folk:Ei},{elist:Hi,holic:Ci,phite:Ci,tized:ji,urned:ji,eased:ji,ances:Ii,bound:ki,ettes:Ii,fully:Ni,ishes:Ai,ities:Ii,marek:Ti,nssen:Ti,ology:Gi,osome:Ci,tment:Ci,ports:Ii,rough:ki,tches:Ai,tieth:"Ordinal",tures:Ii,wards:Ni,where:Ni,archy:Gi,pathy:Gi,opoly:Gi,embly:Gi,phate:Gi,ndent:Ci,scent:Ci,onist:Hi,anist:Hi,alist:Hi,olist:Hi,icist:Hi,ounce:Pi,iable:ki,borne:ki,gnant:ki,inant:ki,igent:ki,atory:ki,rient:Ci,dient:Ci,maker:Hi,burgh:Ei,mouth:Ei,ceter:Ei,ville:Ei,worth:Gi},{auskas:Ti,parent:Ci,cedent:Ci,ionary:Ci,cklist:Ci,keeper:Hi,logist:Hi,teenth:"Value",worker:Hi,master:Hi,writer:Hi,brough:Ei,cester:Ei},{logists:Hi,opoulos:Ti,borough:Ei,sdottir:Ti}];const zi="Adjective",Vi="Noun",Li="Verb";var Mi=[null,null,{},{neo:Vi,bio:Vi,"de-":Li,"re-":Li,"un-":Li,"ex-":Vi},{anti:Vi,auto:Vi,faux:zi,hexa:Vi,kilo:Vi,mono:Vi,nano:Vi,octa:Vi,poly:Vi,semi:zi,tele:Vi,"pro-":zi,"mis-":Li,"dis-":Li,"pre-":zi},{anglo:Vi,centi:Vi,ethno:Vi,ferro:Vi,grand:Vi,hepta:Vi,hydro:Vi,intro:Vi,macro:Vi,micro:Vi,milli:Vi,nitro:Vi,penta:Vi,quasi:zi,radio:Vi,tetra:Vi,"omni-":zi,"post-":zi},{pseudo:zi,"extra-":zi,"hyper-":zi,"inter-":zi,"intra-":zi,"deca-":zi},{electro:Vi}];const Bi="Adjective",Si="Infinitive",$i="PresentTense",Ji="Singular",Wi="PastTense",Ki="Adverb",qi="Expression",Ui="Actor",Ri="Verb",Qi="Noun",Xi="LastName";var Zi={a:[[/.[aeiou]na$/,Qi,"tuna"],[/.[oau][wvl]ska$/,Xi],[/.[^aeiou]ica$/,Ji,"harmonica"],[/^([hyj]a+)+$/,qi,"haha"]],c:[[/.[^aeiou]ic$/,Bi]],d:[[/[aeiou](pp|ll|ss|ff|gg|tt|rr|bb|nn|mm)ed$/,Wi,"popped"],[/.[aeo]{2}[bdgmnprvz]ed$/,Wi,"rammed"],[/.[aeiou][sg]hed$/,Wi,"gushed"],[/.[aeiou]red$/,Wi,"hired"],[/.[aeiou]r?ried$/,Wi,"hurried"],[/[^aeiou]ard$/,Ji,"steward"],[/[aeiou][^aeiou]id$/,Bi,""],[/.[vrl]id$/,Bi,"livid"],[/..led$/,Wi,"hurled"],[/.[iao]sed$/,Wi,""],[/[aeiou]n?[cs]ed$/,Wi,""],[/[aeiou][rl]?[mnf]ed$/,Wi,""],[/[aeiou][ns]?c?ked$/,Wi,"bunked"],[/[aeiou]gned$/,Wi],[/[aeiou][nl]?ged$/,Wi],[/.[tdbwxyz]ed$/,Wi],[/[^aeiou][aeiou][tvx]ed$/,Wi],[/.[cdflmnprstv]ied$/,Wi,"emptied"]],e:[[/.[lnr]ize$/,Si,"antagonize"],[/.[^aeiou]ise$/,Si,"antagonise"],[/.[aeiou]te$/,Si,"bite"],[/.[^aeiou][ai]ble$/,Bi,"fixable"],[/.[^aeiou]eable$/,Bi,"maleable"],[/.[ts]ive$/,Bi,"festive"],[/[a-z]-like$/,Bi,"woman-like"]],h:[[/.[^aeiouf]ish$/,Bi,"cornish"],[/.v[iy]ch$/,Xi,"..ovich"],[/^ug?h+$/,qi,"ughh"],[/^uh[ -]?oh$/,qi,"uhoh"],[/[a-z]-ish$/,Bi,"cartoon-ish"]],i:[[/.[oau][wvl]ski$/,Xi,"polish-male"]],k:[[/^(k){2}$/,qi,"kkkk"]],l:[[/.[gl]ial$/,Bi,"familial"],[/.[^aeiou]ful$/,Bi,"fitful"],[/.[nrtumcd]al$/,Bi,"natal"],[/.[^aeiou][ei]al$/,Bi,"familial"]],m:[[/.[^aeiou]ium$/,Ji,"magnesium"],[/[^aeiou]ism$/,Ji,"schism"],[/^[hu]m+$/,qi,"hmm"],[/^\d+ ?[ap]m$/,"Date","3am"]],n:[[/.[lsrnpb]ian$/,Bi,"republican"],[/[^aeiou]ician$/,Ui,"musician"],[/[aeiou][ktrp]in'$/,"Gerund","cookin'"]],o:[[/^no+$/,qi,"noooo"],[/^(yo)+$/,qi,"yoo"],[/^wo{2,}[pt]?$/,qi,"woop"]],r:[[/.[bdfklmst]ler$/,"Noun"],[/[aeiou][pns]er$/,Ji],[/[^i]fer$/,Si],[/.[^aeiou][ao]pher$/,Ui],[/.[lk]er$/,"Noun"],[/.ier$/,"Comparative"]],t:[[/.[di]est$/,"Superlative"],[/.[icldtgrv]ent$/,Bi],[/[aeiou].*ist$/,Bi],[/^[a-z]et$/,Ri]],s:[[/.[^aeiou]ises$/,$i],[/.[rln]ates$/,$i],[/.[^z]ens$/,Ri],[/.[lstrn]us$/,Ji],[/.[aeiou]sks$/,$i],[/.[aeiou]kes$/,$i],[/[aeiou][^aeiou]is$/,Ji],[/[a-z]'s$/,Qi],[/^yes+$/,qi]],v:[[/.[^aeiou][ai][kln]ov$/,Xi]],y:[[/.[cts]hy$/,Bi],[/.[st]ty$/,Bi],[/.[tnl]ary$/,Bi],[/.[oe]ry$/,Ji],[/[rdntkbhs]ly$/,Ki],[/.(gg|bb|zz)ly$/,Bi],[/...lly$/,Ki],[/.[gk]y$/,Bi],[/[bszmp]{2}y$/,Bi],[/.[ai]my$/,Bi],[/[ea]{2}zy$/,Bi],[/.[^aeiou]ity$/,Ji]]};const _i="Verb",Yi="Noun";var es={leftTags:[["Adjective",Yi],["Possessive",Yi],["Determiner",Yi],["Adverb",_i],["Pronoun",_i],["Value",Yi],["Ordinal",Yi],["Modal",_i],["Superlative",Yi],["Demonym",Yi],["Honorific","Person"]],leftWords:[["i",_i],["first",Yi],["it",_i],["there",_i],["not",_i],["because",Yi],["if",Yi],["but",Yi],["who",_i],["this",Yi],["his",Yi],["when",Yi],["you",_i],["very","Adjective"],["old",Yi],["never",_i],["before",Yi],["a",Yi],["the",Yi],["been",_i]],rightTags:[["Copula",Yi],["PastTense",Yi],["Conjunction",Yi],["Modal",Yi]],rightWords:[["there",_i],["me",_i],["man","Adjective"],["him",_i],["it",_i],["were",Yi],["took",Yi],["himself",_i],["went",Yi],["who",Yi],["jr","Person"]]},ts={fwd:"3:ser,ier¦1er:h,t,f,l,n¦1r:e¦2er:ss,or,om",both:"3er:ver,ear,alm¦3ner:hin¦3ter:lat¦2mer:im¦2er:ng,rm,mb¦2ber:ib¦2ger:ig¦1er:w,p,k,d¦ier:y",rev:"1:tter,yer¦2:uer,ver,ffer,oner,eler,ller,iler,ster,cer,uler,sher,ener,gher,aner,adder,nter,eter,rter,hter,rner,fter¦3:oser,ooler,eafer,user,airer,bler,maler,tler,eater,uger,rger,ainer,urer,ealer,icher,pler,emner,icter,nser,iser¦4:arser,viner,ucher,rosser,somer,ndomer,moter,oother,uarer,hiter¦5:nuiner,esser,emier¦ar:urther",ex:"worse:bad¦better:good¦4er:fair,gray,poor¦1urther:far¦3ter:fat,hot,wet¦3er:lay,shy,fun¦3der:mad,sad¦4der:glad¦:¦4r:cute,dire,fake,fine,free,lame,late,pale,rare,ripe,rude,safe,sore,tame,wide¦5r:eerie,stale"},ns={fwd:"1:nning,tting,rring,pping,eing,mming,gging,dding,bbing,kking¦2:eking,oling,eling,eming¦3:velling,siting,uiting,fiting,loting,geting,ialing,celling¦4:graming",both:"1:aing,iing,fing,xing,ying,oing,hing,wing¦2:tzing,rping,izzing,bting,mning,sping,wling,rling,wding,rbing,uping,lming,wning,mping,oning,lting,mbing,lking,fting,hting,sking,gning,pting,cking,ening,nking,iling,eping,ering,rting,rming,cting,lping,ssing,nting,nding,lding,sting,rning,rding,rking¦3:belling,siping,toming,yaking,uaking,oaning,auling,ooping,aiding,naping,euring,tolling,uzzing,ganing,haning,ualing,halling,iasing,auding,ieting,ceting,ouling,voring,ralling,garing,joring,oaming,oaking,roring,nelling,ooring,uelling,eaming,ooding,eaping,eeting,ooting,ooming,xiting,keting,ooking,ulling,airing,oaring,biting,outing,oiting,earing,naling,oading,eeding,ouring,eaking,aiming,illing,oining,eaning,onging,ealing,aining,eading¦4:thoming,melling,aboring,ivoting,weating,dfilling,onoring,eriting,imiting,tialling,rgining,otoring,linging,winging,lleting,louding,spelling,mpelling,heating,feating,opelling,choring,welling,ymaking,ctoring,calling,peating,iloring,laiting,utoring,uditing,mmaking,loating,iciting,waiting,mbating,voiding,otalling,nsoring,nselling,ocusing,itoring,eloping¦5:rselling,umpeting,atrolling,treating,tselling,rpreting,pringing,ummeting,ossoming,elmaking,eselling,rediting,totyping,onmaking,rfeiting,ntrolling¦5e:chmaking,dkeeping,severing,erouting,ecreting,ephoning,uthoring,ravening,reathing,pediting,erfering,eotyping,fringing,entoring,ombining,ompeting¦4e:emaking,eething,twining,rruling,chuting,xciting,rseding,scoping,edoring,pinging,lunging,agining,craping,pleting,eleting,nciting,nfining,ncoding,tponing,ecoding,writing,esaling,nvening,gnoring,evoting,mpeding,rvening,dhering,mpiling,storing,nviting,ploring¦3e:tining,nuring,saking,miring,haling,ceding,xuding,rining,nuting,laring,caring,miling,riding,hoking,piring,lading,curing,uading,noting,taping,futing,paring,hading,loding,siring,guring,vading,voking,during,niting,laning,caping,luting,muting,ruding,ciding,juring,laming,caling,hining,uoting,liding,ciling,duling,tuting,puting,cuting,coring,uiding,tiring,turing,siding,rading,enging,haping,buting,lining,taking,anging,haring,uiring,coming,mining,moting,suring,viding,luding¦2e:tring,zling,uging,oging,gling,iging,vring,fling,lging,obing,psing,pling,ubing,cling,dling,wsing,iking,rsing,dging,kling,ysing,tling,rging,eging,nsing,uning,osing,uming,using,ibing,bling,aging,ising,asing,ating¦2ie:rlying¦1e:zing,uing,cing,ving",rev:"ying:ie¦1ing:se,ke,te,we,ne,re,de,pe,me,le,c,he¦2ing:ll,ng,dd,ee,ye,oe,rg,us¦2ning:un¦2ging:og,ag,ug,ig,eg¦2ming:um¦2bing:ub,ab,eb,ob¦3ning:lan,can,hin,pin,win¦3ring:cur,lur,tir,tar,pur,car¦3ing:ait,del,eel,fin,eat,oat,eem,lel,ool,ein,uin¦3ping:rop,rap,top,uip,wap,hip,hop,lap,rip,cap¦3ming:tem,wim,rim,kim,lim¦3ting:mat,cut,pot,lit,lot,hat,set,pit,put¦3ding:hed,bed,bid¦3king:rek¦3ling:cil,pel¦3bing:rib¦4ning:egin¦4ing:isit,ruit,ilot,nsit,dget,rkel,ival,rcel¦4ring:efer,nfer¦4ting:rmit,mmit,ysit,dmit,emit,bmit,tfit,gret¦4ling:evel,xcel,ivel¦4ding:hred¦5ing:arget,posit,rofit¦5ring:nsfer¦5ting:nsmit,orget,cquit¦5ling:ancel,istil",ex:"3:adding,eating,aiming,aiding,airing,outing,gassing,setting,getting,putting,cutting,winning,sitting,betting,mapping,tapping,letting,bidding,hitting,tanning,netting,popping,fitting,capping,lapping,barring,banning,vetting,topping,rotting,tipping,potting,wetting,pitting,dipping,budding,hemming,pinning,jetting,kidding,padding,podding,sipping,wedding,bedding,donning,warring,penning,gutting,cueing,wadding,petting,ripping,napping,matting,tinning,binning,dimming,hopping,mopping,nodding,panning,rapping,ridding,sinning¦4:selling,falling,calling,waiting,editing,telling,rolling,heating,boating,hanging,beating,coating,singing,tolling,felling,polling,discing,seating,voiding,gelling,yelling,baiting,reining,ruining,seeking,spanning,stepping,knitting,emitting,slipping,quitting,dialing,omitting,clipping,shutting,skinning,abutting,flipping,trotting,cramming,fretting,suiting¦5:bringing,treating,spelling,stalling,trolling,expelling,rivaling,wringing,deterring,singeing,befitting,refitting¦6:enrolling,distilling,scrolling,strolling,caucusing,travelling¦7:installing,redefining,stencilling,recharging,overeating,benefiting,unraveling,programing¦9:reprogramming¦is:being¦2e:using,aging,owing¦3e:making,taking,coming,noting,hiring,filing,coding,citing,doping,baking,coping,hoping,lading,caring,naming,voting,riding,mining,curing,lining,ruling,typing,boring,dining,firing,hiding,piling,taping,waning,baling,boning,faring,honing,wiping,luring,timing,wading,piping,fading,biting,zoning,daring,waking,gaming,raking,ceding,tiring,coking,wining,joking,paring,gaping,poking,pining,coring,liming,toting,roping,wiring,aching¦4e:writing,storing,eroding,framing,smoking,tasting,wasting,phoning,shaking,abiding,braking,flaking,pasting,priming,shoring,sloping,withing,hinging¦5e:defining,refining,renaming,swathing,fringing,reciting¦1ie:dying,tying,lying,vying¦7e:sunbathing"},as={fwd:"1:mt¦2:llen¦3:iven,aken¦:ne¦y:in",both:"1:wn¦2:me,aten¦3:seen,bidden,isen¦4:roven,asten¦3l:pilt¦3d:uilt¦2e:itten¦1im:wum¦1eak:poken¦1ine:hone¦1ose:osen¦1in:gun¦1ake:woken¦ear:orn¦eal:olen¦eeze:ozen¦et:otten¦ink:unk¦ing:ung",rev:"2:un¦oken:eak¦ought:eek¦oven:eave¦1ne:o¦1own:ly¦1den:de¦1in:ay¦2t:am¦2n:ee¦3en:all¦4n:rive,sake,take¦5n:rgive",ex:"2:been¦3:seen,run¦4:given,taken¦5:shaken¦2eak:broken¦1ive:dove¦2y:flown¦3e:hidden,ridden¦1eek:sought¦1ake:woken¦1eave:woven"},rs={fwd:"1:oes¦1ve:as",both:"1:xes¦2:zzes,ches,shes,sses¦3:iases¦2y:llies,plies¦1y:cies,bies,ties,vies,nies,pies,dies,ries,fies¦:s",rev:"1ies:ly¦2es:us,go,do¦3es:cho,eto",ex:"2:does,goes¦3:gasses¦5:focuses¦is:are¦3y:relies¦2y:flies¦2ve:has"},os={fwd:"1st:e¦1est:l,m,f,s¦1iest:cey¦2est:or,ir¦3est:ver",both:"4:east¦5:hwest¦5lest:erful¦4est:weet,lgar,tter,oung¦4most:uter¦3est:ger,der,rey,iet,ong,ear¦3test:lat¦3most:ner¦2est:pt,ft,nt,ct,rt,ht¦2test:it¦2gest:ig¦1est:b,k,n,p,h,d,w¦iest:y",rev:"1:ttest,nnest,yest¦2:sest,stest,rmest,cest,vest,lmest,olest,ilest,ulest,ssest,imest,uest¦3:rgest,eatest,oorest,plest,allest,urest,iefest,uelest,blest,ugest,amest,yalest,ealest,illest,tlest,itest¦4:cerest,eriest,somest,rmalest,ndomest,motest,uarest,tiffest¦5:leverest,rangest¦ar:urthest¦3ey:riciest",ex:"best:good¦worst:bad¦5est:great¦4est:fast,full,fair,dull¦3test:hot,wet,fat¦4nest:thin¦1urthest:far¦3est:gay,shy,ill¦4test:neat¦4st:late,wide,fine,safe,cute,fake,pale,rare,rude,sore,ripe,dire¦6st:severe"},is={fwd:"1:tistic,eable,lful,sful,ting,tty¦2:onate,rtable,geous,ced,seful,ctful¦3:ortive,ented¦arity:ear¦y:etic¦fulness:begone¦1ity:re¦1y:tiful,gic¦2ity:ile,imous,ilous,ime¦2ion:ated¦2eness:iving¦2y:trious¦2ation:iring¦2tion:vant¦3ion:ect¦3ce:mant,mantic¦3tion:irable¦3y:est,estic¦3m:mistic,listic¦3ess:ning¦4n:utious¦4on:rative,native,vative,ective¦4ce:erant",both:"1:king,wing¦2:alous,ltuous,oyful,rdous¦3:gorous,ectable,werful,amatic¦4:oised,usical,agical,raceful,ocused,lined,ightful¦5ness:stful,lding,itous,nuous,ulous,otous,nable,gious,ayful,rvous,ntous,lsive,peful,entle,ciful,osive,leful,isive,ncise,reful,mious¦5ty:ivacious¦5ties:ubtle¦5ce:ilient,adiant,atient¦5cy:icient¦5sm:gmatic¦5on:sessive,dictive¦5ity:pular,sonal,eative,entic¦5sity:uminous¦5ism:conic¦5nce:mperate¦5ility:mitable¦5ment:xcited¦5n:bitious¦4cy:brant,etent,curate¦4ility:erable,acable,icable,ptable¦4ty:nacious,aive,oyal,dacious¦4n:icious¦4ce:vient,erent,stent,ndent,dient,quent,ident¦4ness:adic,ound,hing,pant,sant,oing,oist,tute¦4icity:imple¦4ment:fined,mused¦4ism:otic¦4ry:dantic¦4ity:tund,eral¦4edness:hand¦4on:uitive¦4lity:pitable¦4sm:eroic,namic¦4sity:nerous¦3th:arm¦3ility:pable,bable,dable,iable¦3cy:hant,nant,icate¦3ness:red,hin,nse,ict,iet,ite,oud,ind,ied,rce¦3ion:lute¦3ity:ual,gal,volous,ial¦3ce:sent,fensive,lant,gant,gent,lent,dant¦3on:asive¦3m:fist,sistic,iastic¦3y:terious,xurious,ronic,tastic¦3ur:amorous¦3e:tunate¦3ation:mined¦3sy:rteous¦3ty:ain¦3ry:ave¦3ment:azed¦2ness:de,on,ue,rn,ur,ft,rp,pe,om,ge,rd,od,ay,ss,er,ll,oy,ap,ht,ld,ad,rt¦2inousness:umous¦2ity:neous,ene,id,ane¦2cy:bate,late¦2ation:ized¦2ility:oble,ible¦2y:odic¦2e:oving,aring¦2s:ost¦2itude:pt¦2dom:ee¦2ance:uring¦2tion:reet¦2ion:oted¦2sion:ending¦2liness:an¦2or:rdent¦1th:ung¦1e:uable¦1ness:w,h,k,f¦1ility:mble¦1or:vent¦1ement:ging¦1tiquity:ncient¦1ment:hed¦verty:or¦ength:ong¦eat:ot¦pth:ep¦iness:y",rev:"",ex:"5:forceful,humorous¦8:charismatic¦13:understanding¦5ity:active¦11ness:adventurous,inquisitive,resourceful¦8on:aggressive,automatic,perceptive¦7ness:amorous,fatuous,furtive,ominous,serious¦5ness:ample,sweet¦12ness:apprehensive,cantankerous,contemptuous,ostentatious¦13ness:argumentative,conscientious¦9ness:assertive,facetious,imperious,inventive,oblivious,rapacious,receptive,seditious,whimsical¦10ness:attractive,expressive,impressive,loquacious,salubrious,thoughtful¦3edom:boring¦4ness:calm,fast,keen,tame¦8ness:cheerful,gracious,specious,spurious,timorous,unctuous¦5sity:curious¦9ion:deliberate¦8ion:desperate¦6e:expensive¦7ce:fragrant¦3y:furious¦9ility:ineluctable¦6ism:mystical¦8ity:physical,proactive,sensitive,vertical¦5cy:pliant¦7ity:positive¦9ity:practical¦12ism:professional¦6ce:prudent¦3ness:red¦6cy:vagrant¦3dom:wise"};var ss=function(e="",t={}){let n=function(e,t={}){return t.hasOwnProperty(e)?t[e]:null}(e,t.ex);return n=n||function(e,t=[]){for(let n=0;n=1;a-=1){let r=e.length-a,o=e.substring(r,e.length);if(!0===t.hasOwnProperty(o))return e.slice(0,r)+t[o];if(!0===n.hasOwnProperty(o))return e.slice(0,r)+n[o]}return t.hasOwnProperty("")?e+t[""]:n.hasOwnProperty("")?e+n[""]:null}(e,t.fwd,t.both),n=n||e,n};const ls=function(e){return Object.entries(e).reduce(((e,t)=>(e[t[1]]=t[0],e)),{})};var us=function(e={}){return{reversed:!0,both:ls(e.both),ex:ls(e.ex),fwd:e.rev||{}}};const cs=/^([0-9]+)/,ds=function(e){let t=function(e){let t={};return e.split("¦").forEach((e=>{let[n,a]=e.split(":");a=(a||"").split(","),a.forEach((e=>{t[e]=n}))})),t}(e);return Object.keys(t).reduce(((e,n)=>(e[n]=function(e="",t=""){let n=(t=String(t)).match(cs);if(null===n)return t;let a=Number(n[1])||0;return e.substring(0,a)+t.replace(cs,"")}(n,t[n]),e)),{})};var hs=function(e={}){return"string"==typeof e&&(e=JSON.parse(e)),e.fwd=ds(e.fwd||""),e.both=ds(e.both||""),e.rev=ds(e.rev||""),e.ex=ds(e.ex||""),e};const gs=hs({fwd:"1:tted,wed,gged,nned,een,rred,pped,yed,bbed,oed,dded,rd,wn,mmed¦2:eed,nded,et,hted,st,oled,ut,emed,eled,lded,ken,rt,nked,apt,ant,eped,eked¦3:eared,eat,eaded,nelled,ealt,eeded,ooted,eaked,eaned,eeted,mited,bid,uit,ead,uited,ealed,geted,velled,ialed,belled¦4:ebuted,hined,comed¦y:ied¦ome:ame¦ear:ore¦ind:ound¦ing:ung,ang¦ep:pt¦ink:ank,unk¦ig:ug¦all:ell¦ee:aw¦ive:ave¦eeze:oze¦old:eld¦ave:ft¦ake:ook¦ell:old¦ite:ote¦ide:ode¦ine:one¦in:un,on¦eal:ole¦im:am¦ie:ay¦and:ood¦1ise:rose¦1eak:roke¦1ing:rought¦1ive:rove¦1el:elt¦1id:bade¦1et:got¦1y:aid¦1it:sat¦3e:lid¦3d:pent",both:"1:aed,fed,xed,hed¦2:sged,xted,wled,rped,lked,kied,lmed,lped,uped,bted,rbed,rked,wned,rled,mped,fted,mned,mbed,zzed,omed,ened,cked,gned,lted,sked,ued,zed,nted,ered,rted,rmed,ced,sted,rned,ssed,rded,pted,ved,cted¦3:cled,eined,siped,ooned,uked,ymed,jored,ouded,ioted,oaned,lged,asped,iged,mured,oided,eiled,yped,taled,moned,yled,lit,kled,oaked,gled,naled,fled,uined,oared,valled,koned,soned,aided,obed,ibed,meted,nicked,rored,micked,keted,vred,ooped,oaded,rited,aired,auled,filled,ouled,ooded,ceted,tolled,oited,bited,aped,tled,vored,dled,eamed,nsed,rsed,sited,owded,pled,sored,rged,osed,pelled,oured,psed,oated,loned,aimed,illed,eured,tred,ioned,celled,bled,wsed,ooked,oiled,itzed,iked,iased,onged,ased,ailed,uned,umed,ained,auded,nulled,ysed,eged,ised,aged,oined,ated,used,dged,doned¦4:ntied,efited,uaked,caded,fired,roped,halled,roked,himed,culed,tared,lared,tuted,uared,routed,pited,naked,miled,houted,helled,hared,cored,caled,tired,peated,futed,ciled,called,tined,moted,filed,sided,poned,iloted,honed,lleted,huted,ruled,cured,named,preted,vaded,sured,talled,haled,peded,gined,nited,uided,ramed,feited,laked,gured,ctored,unged,pired,cuted,voked,eloped,ralled,rined,coded,icited,vided,uaded,voted,mined,sired,noted,lined,nselled,luted,jured,fided,puted,piled,pared,olored,cided,hoked,enged,tured,geoned,cotted,lamed,uiled,waited,udited,anged,luded,mired,uired,raded¦5:modelled,izzled,eleted,umpeted,ailored,rseded,treated,eduled,ecited,rammed,eceded,atrolled,nitored,basted,twined,itialled,ncited,gnored,ploded,xcited,nrolled,namelled,plored,efeated,redited,ntrolled,nfined,pleted,llided,lcined,eathed,ibuted,lloted,dhered,cceded¦3ad:sled¦2aw:drew¦2ot:hot¦2ke:made¦2ow:hrew,grew¦2ose:hose¦2d:ilt¦2in:egan¦1un:ran¦1ink:hought¦1ick:tuck¦1ike:ruck¦1eak:poke,nuck¦1it:pat¦1o:did¦1ow:new¦1ake:woke¦go:went",rev:"3:rst,hed,hut,cut,set¦4:tbid¦5:dcast,eread,pread,erbid¦ought:uy,eek¦1ied:ny,ly,dy,ry,fy,py,vy,by,ty,cy¦1ung:ling,ting,wing¦1pt:eep¦1ank:rink¦1ore:bear,wear¦1ave:give¦1oze:reeze¦1ound:rind,wind¦1ook:take,hake¦1aw:see¦1old:sell¦1ote:rite¦1ole:teal¦1unk:tink¦1am:wim¦1ay:lie¦1ood:tand¦1eld:hold¦2d:he,ge,re,le,leed,ne,reed,be,ye,lee,pe,we¦2ed:dd,oy,or,ey,gg,rr,us,ew,to¦2ame:ecome,rcome¦2ped:ap¦2ged:ag,og,ug,eg¦2bed:ub,ab,ib,ob¦2lt:neel¦2id:pay¦2ang:pring¦2ove:trive¦2med:um¦2ode:rride¦2at:ysit¦3ted:mit,hat,mat,lat,pot,rot,bat¦3ed:low,end,tow,und,ond,eem,lay,cho,dow,xit,eld,ald,uld,law,lel,eat,oll,ray,ank,fin,oam,out,how,iek,tay,haw,ait,vet,say,cay,bow¦3d:ste,ede,ode,ete,ree,ude,ame,oke,ote,ime,ute,ade¦3red:lur,cur,pur,car¦3ped:hop,rop,uip,rip,lip,tep,top¦3ded:bed,rod,kid¦3ade:orbid¦3led:uel¦3ned:lan,can,kin,pan,tun¦3med:rim,lim¦4ted:quit,llot¦4ed:pear,rrow,rand,lean,mand,anel,pand,reet,link,abel,evel,imit,ceed,ruit,mind,peal,veal,hool,head,pell,well,mell,uell,band,hear,weak¦4led:nnel,qual,ebel,ivel¦4red:nfer,efer,sfer¦4n:sake,trew¦4d:ntee¦4ded:hred¦4ned:rpin¦5ed:light,nceal,right,ndear,arget,hread,eight,rtial,eboot¦5d:edite,nvite¦5ted:egret¦5led:ravel",ex:"2:been,upped¦3:added,aged,aided,aimed,aired,bid,died,dyed,egged,erred,eyed,fit,gassed,hit,lied,owed,pent,pied,tied,used,vied,oiled,outed,banned,barred,bet,canned,cut,dipped,donned,ended,feed,inked,jarred,let,manned,mowed,netted,padded,panned,pitted,popped,potted,put,set,sewn,sowed,tanned,tipped,topped,vowed,weed,bowed,jammed,binned,dimmed,hopped,mopped,nodded,pinned,rigged,sinned,towed,vetted¦4:ached,baked,baled,boned,bored,called,caned,cared,ceded,cited,coded,cored,cubed,cured,dared,dined,edited,exited,faked,fared,filed,fined,fired,fuelled,gamed,gelled,hired,hoped,joked,lined,mined,named,noted,piled,poked,polled,pored,pulled,reaped,roamed,rolled,ruled,seated,shed,sided,timed,tolled,toned,voted,waited,walled,waned,winged,wiped,wired,zoned,yelled,tamed,lubed,roped,faded,mired,caked,honed,banged,culled,heated,raked,welled,banded,beat,cast,cooled,cost,dealt,feared,folded,footed,handed,headed,heard,hurt,knitted,landed,leaked,leapt,linked,meant,minded,molded,neared,needed,peaked,plodded,plotted,pooled,quit,read,rooted,sealed,seeded,seeped,shipped,shunned,skimmed,slammed,sparred,stemmed,stirred,suited,thinned,twinned,swayed,winked,dialed,abutted,blotted,fretted,healed,heeded,peeled,reeled¦5:basted,cheated,equalled,eroded,exiled,focused,opined,pleated,primed,quoted,scouted,shored,sloped,smoked,sniped,spelled,spouted,routed,staked,stored,swelled,tasted,treated,wasted,smelled,dwelled,honored,prided,quelled,eloped,scared,coveted,sweated,breaded,cleared,debuted,deterred,freaked,modeled,pleaded,rebutted,speeded¦6:anchored,defined,endured,impaled,invited,refined,revered,strolled,cringed,recast,thrust,unfolded¦7:authored,combined,competed,conceded,convened,excreted,extruded,redefined,restored,secreted,rescinded,welcomed¦8:expedited,infringed¦9:interfered,intervened,persevered¦10:contravened¦eat:ate¦is:was¦go:went¦are:were¦3d:bent,lent,rent,sent¦3e:bit,fled,hid,lost¦3ed:bled,bred¦2ow:blew,grew¦1uy:bought¦2tch:caught¦1o:did¦1ive:dove,gave¦2aw:drew¦2ed:fed¦2y:flew,laid,paid,said¦1ight:fought¦1et:got¦2ve:had¦1ang:hung¦2ad:led¦2ght:lit¦2ke:made¦2et:met¦1un:ran¦1ise:rose¦1it:sat¦1eek:sought¦1each:taught¦1ake:woke,took¦1eave:wove¦2ise:arose¦1ear:bore,tore,wore¦1ind:bound,found,wound¦2eak:broke¦2ing:brought,wrung¦1ome:came¦2ive:drove¦1ig:dug¦1all:fell¦2el:felt¦4et:forgot¦1old:held¦2ave:left¦1ing:rang,sang¦1ide:rode¦1ink:sank¦1ee:saw¦2ine:shone¦4e:slid¦1ell:sold,told¦4d:spent¦2in:spun¦1in:won"}),ms=hs(rs),ps=hs(ns),fs=hs(as),bs=us(gs),vs=us(ms),ys=us(ps),ws=us(fs),ks=hs(ts),Ps=hs(os);var As={fromPast:gs,fromPresent:ms,fromGerund:ps,fromParticiple:fs,toPast:bs,toPresent:vs,toGerund:ys,toParticiple:ws,toComparative:ks,toSuperlative:Ps,fromComparative:us(ks),fromSuperlative:us(Ps),adjToNoun:hs(is)},Cs=["academy","administration","agence","agences","agencies","agency","airlines","airways","army","assoc","associates","association","assurance","authority","autorite","aviation","bank","banque","board","boys","brands","brewery","brotherhood","brothers","bureau","cafe","co","caisse","capital","care","cathedral","center","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","corp","council","crew","data","departement","department","departments","design","development","directorate","division","drilling","education","eglise","electric","electricity","energy","ensemble","enterprise","enterprises","entertainment","estate","etat","faculty","faction","federation","financial","fm","foundation","fund","gas","gazette","girls","government","group","guild","herald","holdings","hospital","hotel","hotels","inc","industries","institut","institute","institutes","insurance","international","interstate","investment","investments","investors","journal","laboratory","labs","llc","ltd","limited","machines","magazine","management","marine","marketing","markets","media","memorial","ministere","ministry","military","mobile","motor","motors","musee","museum","news","observatory","office","oil","optical","orchestra","organization","partners","partnership","petrol","petroleum","pharmacare","pharmaceutical","pharmaceuticals","pizza","plc","police","politburo","polytechnic","post","power","press","productions","quartet","radio","reserve","resources","restaurant","restaurants","savings","school","securities","service","services","societe","subsidiary","society","sons","subcommittee","syndicat","systems","telecommunications","telegraph","television","times","tribunal","tv","union","university","utilities","workers"].reduce(((e,t)=>(e[t]=!0,e)),{}),js=["atoll","basin","bay","beach","bluff","bog","camp","canyon","canyons","cape","cave","caves","cliffs","coast","cove","coves","crater","creek","desert","dune","dunes","escarpment","estuary","falls","fjord","fjords","forest","forests","glacier","gorge","gorges","gulf","gully","highland","hill","hills","inlet","island","islands","isthmus","knoll","lagoon","lake","marsh","marshes","mount","mountain","mountains","narrows","peninsula","plains","plateau","pond","rapids","ravine","reef","reefs","ridge","river","rivers","sandhill","shoal","shore","shoreline","shores","strait","straits","stream","swamp","tombolo","trail","trails","trench","valley","vallies","volcano","waterfall","watershed","wetland","woods","burough","county","district","municipality","prefecture","province","region","reservation","state","territory","borough","metropolis","downtown","uptown","midtown","city","town","township","hamlet","country","kingdom","enclave","neighbourhood","neighborhood","kingdom","ward","zone","airport","amphitheater","arch","arena","auditorium","bar","barn","basilica","battlefield","bridge","building","castle","centre","coliseum","cineplex","complex","dam","farm","field","fort","garden","gardens","gymnasium","hall","house","levee","library","memorial","monument","museum","gallery","palace","pillar","pits","plantation","playhouse","quarry","sportsfield","sportsplex","stadium","terrace","terraces","theater","tower","park","parks","site","raceway","sportsplex","st","street","rd","road","crescent","cr","way","tr","terrace","avenue","ave"].reduce(((e,t)=>(e[t]=!0,e)),{}),Ns=[[/([^v])ies$/i,"$1y"],[/(ise)s$/i,"$1"],[/(kn|[^o]l|w)ives$/i,"$1ife"],[/^((?:ca|e|ha|(?:our|them|your)?se|she|wo)l|lea|loa|shea|thie)ves$/i,"$1f"],[/^(dwar|handkerchie|hoo|scar|whar)ves$/i,"$1f"],[/(antenn|formul|nebul|vertebr|vit)ae$/i,"$1a"],[/(octop|vir|radi|nucle|fung|cact|stimul)(i)$/i,"$1us"],[/(buffal|tomat|tornad)(oes)$/i,"$1o"],[/(ause)s$/i,"$1"],[/(ease)s$/i,"$1"],[/(ious)es$/i,"$1"],[/(ouse)s$/i,"$1"],[/(ose)s$/i,"$1"],[/(..ase)s$/i,"$1"],[/(..[aeiu]s)es$/i,"$1"],[/(vert|ind|cort)(ices)$/i,"$1ex"],[/(matr|append)(ices)$/i,"$1ix"],[/([xo]|ch|ss|sh)es$/i,"$1"],[/men$/i,"man"],[/(n)ews$/i,"$1ews"],[/([ti])a$/i,"$1um"],[/([^aeiouy]|qu)ies$/i,"$1y"],[/(s)eries$/i,"$1eries"],[/(m)ovies$/i,"$1ovie"],[/(cris|ax|test)es$/i,"$1is"],[/(alias|status)es$/i,"$1"],[/(ss)$/i,"$1"],[/(ic)s$/i,"$1"],[/s$/i,""]];var Is=function(e,t){const{irregularPlurals:n}=t.two;let a=(r=n,Object.keys(r).reduce(((e,t)=>(e[r[t]]=t,e)),{}));var r;if(a.hasOwnProperty(e))return a[e];for(let t=0;t(Ds[t].forEach((n=>e[n]=t)),e)),{});var Gs=Ds;var Ts=function(e){let t=e.substring(e.length-3);if(!0===Gs.hasOwnProperty(t))return Gs[t];let n=e.substring(e.length-2);return!0===Gs.hasOwnProperty(n)?Gs[n]:"s"===e.substring(e.length-1)?"PresentTense":null};const xs={are:"be",were:"be",been:"be",is:"be",am:"be",was:"be",be:"be",being:"be"};var Es=function(e,t,n){const{fromPast:a,fromPresent:r,fromGerund:o,fromParticiple:i}=t.two.models;let{prefix:s,verb:l,particle:u}=function(e,t){let n="",a={};t.one&&t.one.prefixes&&(a=t.one.prefixes);let[r,o]=e.split(/ /);return o&&!0===a[r]&&(n=r,r=o,o=""),{prefix:n,verb:r,particle:o}}(e,t),c="";if(n||(n=Ts(e)),xs.hasOwnProperty(e))c=xs[e];else if("Participle"===n)c=ss(l,i);else if("PastTense"===n)c=ss(l,a);else if("PresentTense"===n)c=ss(l,r);else{if("Gerund"!==n)return e;c=ss(l,o)}return u&&(c+=" "+u),s&&(c=s+" "+c),c};var Fs=function(e,t){const{toPast:n,toPresent:a,toGerund:r,toParticiple:o}=t.two.models;if("be"===e)return{Infinitive:e,Gerund:"being",PastTense:"was",PresentTense:"is"};let[i,s]=(e=>/ /.test(e)?e.split(/ /):[e,""])(e),l={Infinitive:i,PastTense:ss(i,n),PresentTense:ss(i,a),Gerund:ss(i,r),FutureTense:"will "+i},u=ss(i,o);if(u!==e&&u!==l.PastTense){let n=t.one.lexicon||{};"Participle"!==n[u]&&"Adjective"!==n[u]||("play"===e&&(u="played"),l.Participle=u)}return s&&Object.keys(l).forEach((e=>{l[e]+=" "+s})),l};var Os={toInfinitive:Es,conjugate:Fs,all:function(e,t){let n=Fs(e,t);return delete n.FutureTense,Object.values(n).filter((e=>e))}};const zs=function(e,t){const n=t.two.models.toSuperlative;return ss(e,n)},Vs=function(e,t){const n=t.two.models.toComparative;return ss(e,n)};var Ls=function(e="",t=[]){const n=e.length;for(let a=n<=6?n-1:6;a>=1;a-=1){let r=e.substring(n-a,e.length);if(!0===t[r.length].hasOwnProperty(r)){return e.slice(0,n-a)+t[r.length][r]}}return null};const Ms="ically",Bs=new Set(["analyt"+Ms,"chem"+Ms,"class"+Ms,"clin"+Ms,"crit"+Ms,"ecolog"+Ms,"electr"+Ms,"empir"+Ms,"frant"+Ms,"grammat"+Ms,"ident"+Ms,"ideolog"+Ms,"log"+Ms,"mag"+Ms,"mathemat"+Ms,"mechan"+Ms,"med"+Ms,"method"+Ms,"method"+Ms,"mus"+Ms,"phys"+Ms,"phys"+Ms,"polit"+Ms,"pract"+Ms,"rad"+Ms,"satir"+Ms,"statist"+Ms,"techn"+Ms,"technolog"+Ms,"theoret"+Ms,"typ"+Ms,"vert"+Ms,"whims"+Ms]),Ss=[null,{},{ly:""},{ily:"y",bly:"ble",ply:"ple"},{ally:"al",rply:"rp"},{ually:"ual",ially:"ial",cally:"cal",eally:"eal",rally:"ral",nally:"nal",mally:"mal",eeply:"eep",eaply:"eap"},{ically:"ic"}],$s=new Set(["early","only","hourly","daily","weekly","monthly","yearly","mostly","duly","unduly","especially","undoubtedly","conversely","namely","exceedingly","presumably","accordingly","overly","best","latter","little","long","low"]),Js={wholly:"whole",fully:"full",truly:"true",gently:"gentle",singly:"single",customarily:"customary",idly:"idle",publically:"public",quickly:"quick",superbly:"superb",cynically:"cynical",well:"good"};const Ws=[null,{y:"ily"},{ly:"ly",ic:"ically"},{ial:"ially",ual:"ually",tle:"tly",ble:"bly",ple:"ply",ary:"arily"},{},{},{}],Ks={cool:"cooly",whole:"wholly",full:"fully",good:"well",idle:"idly",public:"publicly",single:"singly",special:"especially"};var qs=function(e){if(Ks.hasOwnProperty(e))return Ks[e];let t=Ls(e,Ws);return t||(t=e+"ly"),t};var Us={toSuperlative:zs,toComparative:Vs,toAdverb:qs,toNoun:function(e,t){const n=t.two.models.adjToNoun;return ss(e,n)},fromAdverb:function(e){return e.endsWith("ly")?Bs.has(e)?e.replace(/ically/,"ical"):$s.has(e)?null:Js.hasOwnProperty(e)?Js[e]:Ls(e,Ss)||e:null},fromSuperlative:function(e,t){const n=t.two.models.fromSuperlative;return ss(e,n)},fromComparative:function(e,t){const n=t.two.models.fromComparative;return ss(e,n)},all:function(e,t){let n=[e];return n.push(zs(e,t)),n.push(Vs(e,t)),n.push(qs(e)),n=n.filter((e=>e)),n=new Set(n),Array.from(n)}},Rs={noun:Hs,verb:Os,adjective:Us},Qs={Singular:(e,t,n,a)=>{let r=a.one.lexicon,o=n.two.transform.noun.toPlural(e,a);r[o]||(t[o]=t[o]||"Plural")},Actor:(e,t,n,a)=>{let r=a.one.lexicon,o=n.two.transform.noun.toPlural(e,a);r[o]||(t[o]=t[o]||["Plural","Actor"])},Comparable:(e,t,n,a)=>{let r=a.one.lexicon,{toSuperlative:o,toComparative:i}=n.two.transform.adjective,s=o(e,a);r[s]||(t[s]=t[s]||"Superlative");let l=i(e,a);r[l]||(t[l]=t[l]||"Comparative"),t[e]="Adjective"},Demonym:(e,t,n,a)=>{let r=n.two.transform.noun.toPlural(e,a);t[r]=t[r]||["Demonym","Plural"]},Infinitive:(e,t,n,a)=>{let r=a.one.lexicon,o=n.two.transform.verb.conjugate(e,a);Object.entries(o).forEach((e=>{r[e[1]]||t[e[1]]||(t[e[1]]=e[0])}))},PhrasalVerb:(e,t,n,a)=>{let r=a.one.lexicon;t[e]=["PhrasalVerb","Infinitive"];let o=a.one._multiCache,[i,s]=e.split(" ");r[i]||(t[i]=t[i]||"Infinitive");let l=n.two.transform.verb.conjugate(i,a);delete l.FutureTense,Object.entries(l).forEach((e=>{if("Actor"===e[0]||""===e[1])return;t[e[1]]||r[e[1]]||(t[e[1]]=e[0]),o[e[1]]=!0;let n=e[1]+" "+s;t[n]=t[n]||[e[0],"PhrasalVerb"]}))},Multiple:(e,t)=>{t[e]=["Multiple","Cardinal"],t[e+"th"]=["Multiple","Ordinal"],t[e+"ths"]=["Multiple","Fraction"]},Cardinal:(e,t)=>{t[e]=["TextValue","Cardinal"]},Ordinal:(e,t)=>{t[e]=["TextValue","Ordinal"],t[e+"s"]=["TextValue","Fraction"]},Place:(e,t)=>{t[e]=["Place","ProperNoun"]},Region:(e,t)=>{t[e]=["Region","ProperNoun"]}};var Xs=function(e,t){const{methods:n,model:a}=t;let r={},o={};return Object.keys(e).forEach((t=>{let i=e[t],s=(t=(t=t.toLowerCase().trim()).replace(/'s\b/,"")).split(/ /);s.length>1&&(o[s[0]]=!0),!0===Qs.hasOwnProperty(i)&&Qs[i](t,r,n,a),r[t]=r[t]||i})),delete r[""],delete r.null,delete r[" "],{lex:r,_multi:o}};var Zs=function(e){const t=/[,:;]/;let n=[];return e.forEach((e=>{let a=0;e.forEach(((r,o)=>{t.test(r.post)&&function(e,t){const n=/^[0-9]+$/;let a=e[t];if(!a)return!1;const r=new Set(["may","april","august","jan"]);if("like"===a.normal||r.has(a.normal))return!1;if(a.tags.has("Place")||a.tags.has("Date"))return!1;if(e[t-1]){let n=e[t-1];if(n.tags.has("Date")||r.has(n.normal))return!1;if(n.tags.has("Adjective")||a.tags.has("Adjective"))return!1}let o=a.normal;return 1!==o.length&&2!==o.length&&4!==o.length||!n.test(o)}(e,o+1)&&(n.push(e.slice(a,o+1)),a=o+1)})),ae.endsWith(t))):"s"===t&&!el.find((t=>e.endsWith(t)))},nl={two:{quickSplit:Zs,expandLexicon:Xs,transform:Rs,looksPlural:tl}};var al=function(e){const{irregularPlurals:t}=e.two,{lexicon:n}=e.one;return Object.entries(t).forEach((e=>{n[e[0]]=n[e[0]]||"Singular",n[e[1]]=n[e[1]]||"Plural"})),e};let rl={one:{lexicon:{}},two:{models:As}};const ol={"Actor|Verb":"Actor","Adj|Gerund":"Adjective","Adj|Noun":"Adjective","Adj|Past":"Adjective","Adj|Present":"Adjective","Noun|Verb":"Singular","Noun|Gerund":"Gerund","Person|Noun":"Noun","Person|Date":"Month","Person|Verb":"FirstName","Person|Place":"Person","Person|Adj":"Comparative","Plural|Verb":"Plural","Unit|Noun":"Noun"},il=function(e,t){const n={model:t,methods:nl};let{lex:a,_multi:r}=nl.two.expandLexicon(e,n);return Object.assign(t.one.lexicon,a),Object.assign(t.one._multiCache,r),t},sl=function(e,t,n){let a=Fs(e,rl);t[a.PastTense]=t[a.PastTense]||"PastTense",t[a.Gerund]=t[a.Gerund]||"Gerund",!0===n&&(t[a.PresentTense]=t[a.PresentTense]||"PresentTense")},ll=function(e,t,n){let a=zs(e,n);t[a]=t[a]||"Superlative";let r=Vs(e,n);t[r]=t[r]||"Comparative"},ul=function(e,t){let n={};const a=t.one.lexicon;return Object.keys(e).forEach((r=>{const o=e[r];if(n[r]=ol[o],"Noun|Verb"!==o&&"Person|Verb"!==o&&"Actor|Verb"!==o||sl(r,a,!1),"Adj|Present"===o&&(sl(r,a,!0),ll(r,a,t)),"Person|Adj"===o&&ll(r,a,t),"Adj|Gerund"===o||"Noun|Gerund"===o){let e=Es(r,rl,"Gerund");a[e]||(n[e]="Infinitive")}if("Noun|Gerund"!==o&&"Adj|Noun"!==o&&"Person|Noun"!==o||function(e,t,n){let a=Fo(e,n);t[a]=t[a]||"Plural"}(r,a,t),"Adj|Past"===o){let e=Es(r,rl,"PastTense");a[e]||(n[e]="Infinitive")}})),t=il(n,t)};var cl=function(e){return e=function(e,t){return Object.keys(e).forEach((n=>{"Uncountable"===e[n]&&(t.two.uncountable[n]=!0,e[n]="Uncountable")})),t}((e=il(e.one.lexicon,e)).one.lexicon,e),e=ul(e.two.switches,e),e=al(e)};let dl={one:{_multiCache:{},lexicon:zo},two:{irregularPlurals:ko,models:As,suffixPatterns:Oi,prefixPatterns:Mi,endsWith:Zi,neighbours:es,regexNormal:[[/^[\w.]+@[\w.]+\.[a-z]{2,3}$/,"Email"],[/^(https?:\/\/|www\.)+\w+\.[a-z]{2,3}/,"Url","http.."],[/^[a-z0-9./].+\.(com|net|gov|org|ly|edu|info|biz|dev|ru|jp|de|in|uk|br|io|ai)/,"Url",".com"],[/^[PMCE]ST$/,"Timezone","EST"],[/^ma?c'.*/,"LastName","mc'neil"],[/^o'[drlkn].*/,"LastName","o'connor"],[/^ma?cd[aeiou]/,"LastName","mcdonald"],[/^(lol)+[sz]$/,"Expression","lol"],[/^wo{2,}a*h?$/,"Expression","wooah"],[/^(hee?){2,}h?$/,"Expression","hehe"],[/^(un|de|re)\\-[a-z\u00C0-\u00FF]{2}/,"Verb","un-vite"],[/^(m|k|cm|km)\/(s|h|hr)$/,"Unit","5 k/m"],[/^(ug|ng|mg)\/(l|m3|ft3)$/,"Unit","ug/L"]],regexText:[[/^#[\p{Number}_]*\p{Letter}/u,"HashTag"],[/^@\w{2,}$/,"AtMention"],[/^([A-Z]\.){2}[A-Z]?/i,["Acronym","Noun"],"F.B.I"],[/.{3}[lkmnp]in['‘’‛‵′`´]$/,"Gerund","chillin'"],[/.{4}s['‘’‛‵′`´]$/,"Possessive","flanders'"],[/^[\p{Emoji_Presentation}\p{Extended_Pictographic}]/u,"Emoji","emoji-class"]],regexNumbers:[[/^@1?[0-9](am|pm)$/i,"Time","3pm"],[/^@1?[0-9]:[0-9]{2}(am|pm)?$/i,"Time","3:30pm"],[/^'[0-9]{2}$/,"Year"],[/^[012]?[0-9](:[0-5][0-9])(:[0-5][0-9])$/,"Time","3:12:31"],[/^[012]?[0-9](:[0-5][0-9])?(:[0-5][0-9])? ?(am|pm)$/i,"Time","1:12pm"],[/^[012]?[0-9](:[0-5][0-9])(:[0-5][0-9])? ?(am|pm)?$/i,"Time","1:12:31pm"],[/^[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}/i,"Date","iso-date"],[/^[0-9]{1,4}-[0-9]{1,2}-[0-9]{1,4}$/,"Date","iso-dash"],[/^[0-9]{1,4}\/[0-9]{1,2}\/([0-9]{4}|[0-9]{2})$/,"Date","iso-slash"],[/^[0-9]{1,4}\.[0-9]{1,2}\.[0-9]{1,4}$/,"Date","iso-dot"],[/^[0-9]{1,4}-[a-z]{2,9}-[0-9]{1,4}$/i,"Date","12-dec-2019"],[/^utc ?[+-]?[0-9]+$/,"Timezone","utc-9"],[/^(gmt|utc)[+-][0-9]{1,2}$/i,"Timezone","gmt-3"],[/^[0-9]{3}-[0-9]{4}$/,"PhoneNumber","421-0029"],[/^(\+?[0-9][ -])?[0-9]{3}[ -]?[0-9]{3}-[0-9]{4}$/,"PhoneNumber","1-800-"],[/^[-+]?\p{Currency_Symbol}[-+]?[0-9]+(,[0-9]{3})*(\.[0-9]+)?([kmb]|bn)?\+?$/u,["Money","Value"],"$5.30"],[/^[-+]?[0-9]+(,[0-9]{3})*(\.[0-9]+)?\p{Currency_Symbol}\+?$/u,["Money","Value"],"5.30£"],[/^[-+]?[$£]?[0-9]([0-9,.])+(usd|eur|jpy|gbp|cad|aud|chf|cny|hkd|nzd|kr|rub)$/i,["Money","Value"],"$400usd"],[/^[-+]?[0-9]+(,[0-9]{3})*(\.[0-9]+)?\+?$/,["Cardinal","NumericValue"],"5,999"],[/^[-+]?[0-9]+(,[0-9]{3})*(\.[0-9]+)?(st|nd|rd|r?th)$/,["Ordinal","NumericValue"],"53rd"],[/^\.[0-9]+\+?$/,["Cardinal","NumericValue"],".73th"],[/^[-+]?[0-9]+(,[0-9]{3})*(\.[0-9]+)?%\+?$/,["Percent","Cardinal","NumericValue"],"-4%"],[/^\.[0-9]+%$/,["Percent","Cardinal","NumericValue"],".3%"],[/^[0-9]{1,4}\/[0-9]{1,4}(st|nd|rd|th)?s?$/,["Fraction","NumericValue"],"2/3rds"],[/^[0-9.]{1,3}[a-z]{0,2}[-–—][0-9]{1,3}[a-z]{0,2}$/,["Value","NumberRange"],"3-4"],[/^[0-9]{1,2}(:[0-9][0-9])?(am|pm)? ?[-–—] ?[0-9]{1,2}(:[0-9][0-9])?(am|pm)$/,["Time","NumberRange"],"3-4pm"],[/^[0-9.]+([a-z°]{1,4})$/,"NumericValue","9km"]],switches:Vo,clues:wi,uncountable:{},orgWords:Cs,placeWords:js}};dl=cl(dl);var hl=dl;var gl=function(e,t,n,a){const r=a.methods.one.setTag;if(0===t&&e.length>=3){const t=/:/;if(e[0].post.match(t)){let t=e[1];if(t.tags.has("Value")||t.tags.has("Email")||t.tags.has("PhoneNumber"))return;r([e[0]],"Expression",a,null,"2-punct-colon''")}}};var ml=function(e,t,n,a){const r=a.methods.one.setTag;"-"===e[t].post&&e[t+1]&&r([e[t],e[t+1]],"Hyphenated",a,null,"1-punct-hyphen''")};const pl=/^(under|over|mis|re|un|dis|semi)-?/;var fl=function(e,t,n){const a=n.two.switches;let r=e[t];if(a.hasOwnProperty(r.normal))r.switch=a[r.normal];else if(pl.test(r.normal)){let e=r.normal.replace(pl,"");e.length>3&&a.hasOwnProperty(e)&&(r.switch=a[e])}};var bl=function(e,t,n){if(!t||0===t.length)return;const a="undefined"!=typeof process&&process.env?process.env:self.env||{};a&&a.DEBUG_TAGS&&((e,t,n="")=>{let a=e.text||"["+e.implicit+"]";var r;"string"!=typeof t&&t.length>2&&(t=t.slice(0,2).join(", #")+" +"),t="string"!=typeof t?t.join(", #"):t,console.log(` ${(r=a,""+r+"").padEnd(24)} → #${t.padEnd(22)} ${(e=>""+e+"")(n)}`)})(e,t,n),e.tags=e.tags||new Set,"string"==typeof t?e.tags.add(t):t.forEach((t=>e.tags.add(t)))};const vl=["Acronym","Abbreviation","ProperNoun","Uncountable","Possessive","Pronoun","Activity","Honorific","Month"];var yl=function(e,t,n){let a=e[t],r=Array.from(a.tags);for(let e=0;ee.tags.has(t)))||(tl(e.normal)?bl(e,"Plural","3-plural-guess"):bl(e,"Singular","3-singular-guess"))}(a),function(e){let t=e.tags;if(t.has("Verb")&&1===t.size){let t=Ts(e.normal);t&&bl(e,t,"3-verb-tense-guess")}}(a)};const wl=/^\p{Lu}[\p{Ll}'’]/u,kl=/[0-9]/,Pl=["Date","Month","WeekDay","Unit","Expression"],Al=/[IVX]/,Cl=/^[IVXLCDM]{2,}$/,jl=/^M{0,4}(CM|CD|D?C{0,3})(XC|XL|L?X{0,3})(IX|IV|V?I{0,3})$/,Nl={li:!0,dc:!0,md:!0,dm:!0,ml:!0};var Il=function(e,t,n){let a=e[t];a.index=a.index||[0,0];let r=a.index[1],o=a.text||"";return 0!==r&&!0===wl.test(o)&&!1===kl.test(o)?Pl.find((e=>a.tags.has(e)))||a.pre.match(/["']$/)||"the"===a.normal?null:(yl(e,t,n),a.tags.has("Noun")||a.tags.clear(),bl(a,"ProperNoun","2-titlecase"),!0):o.length>=2&&Cl.test(o)&&Al.test(o)&&jl.test(o)&&!Nl[a.normal]?(bl(a,"RomanNumeral","2-xvii"),!0):null};const Hl=function(e="",t=[]){const n=e.length;let a=7;n<=a&&(a=n-1);for(let r=a;r>1;r-=1){let a=e.substring(n-r,n);if(!0===t[a.length].hasOwnProperty(a)){return t[a.length][a]}}return null};var Dl=function(e,t,n){let a=e[t];if(0===a.tags.size){let e=Hl(a.normal,n.two.suffixPatterns);if(null!==e)return bl(a,e,"2-suffix"),a.confidence=.7,!0;if(a.implicit&&(e=Hl(a.implicit,n.two.suffixPatterns),null!==e))return bl(a,e,"2-implicit-suffix"),a.confidence=.7,!0}return null};const Gl=/['‘’‛‵′`´]/,Tl=function(e,t){for(let n=0;nn-3&&(a=n-3);for(let n=a;n>2;n-=1){let a=e.substring(0,n);if(!0===t[a.length].hasOwnProperty(a))return t[a.length][a]}return null}(a.normal,n.two.prefixPatterns);if(null!==e)return bl(a,e,"2-prefix"),a.confidence=.5,!0}return null};const Fl=new Set(["in","on","by","until","for","to","during","throughout","through","within","before","after","of","this","next","last","circa","around","post","pre","budget","classic","plan","may"]),Ol=function(e){if(!e)return!1;let t=e.normal||e.implicit;return!!Fl.has(t)||(!!(e.tags.has("Date")||e.tags.has("Month")||e.tags.has("WeekDay")||e.tags.has("Year"))||!!e.tags.has("ProperNoun"))},zl=function(e){return!!e&&(!!e.tags.has("Ordinal")||(!!(e.tags.has("Cardinal")&&e.normal.length<3)||("is"===e.normal||"was"===e.normal)))},Vl=function(e){return e&&(e.tags.has("Date")||e.tags.has("Month")||e.tags.has("WeekDay")||e.tags.has("Year"))};var Ll=function(e,t){const n=e[t];if(n.tags.has("NumericValue")&&n.tags.has("Cardinal")&&4===n.normal.length){let a=Number(n.normal);if(a&&!isNaN(a)&&a>1400&&a<2100){let r=e[t-1],o=e[t+1];if(Ol(r)||Ol(o))return bl(n,"Year","2-tagYear");if(a>=1920&&a<2025){if(zl(r)||zl(o))return bl(n,"Year","2-tagYear-close");if(Vl(e[t-2])||Vl(e[t+2]))return bl(n,"Year","2-tagYear-far");if(r&&(r.tags.has("Determiner")||r.tags.has("Possessive"))&&o&&o.tags.has("Noun")&&!o.tags.has("Plural"))return bl(n,"Year","2-tagYear-noun")}}}return null};var Ml=function(e,t,n,a){const r=a.methods.one.setTag,o=e[t],i=["PastTense","PresentTense","Auxiliary","Modal","Particle"];if(o.tags.has("Verb")){i.find((e=>o.tags.has(e)))||r([o],"Infinitive",a,null,"2-verb-type''")}};const Bl=/^[A-Z]('s|,)?$/,Sl=/^[A-Z-]+$/,$l=/^[A-Z]+s$/,Jl=/([A-Z]\.)+[A-Z]?,?$/,Wl=/[A-Z]{2,}('s|,)?$/,Kl=/([a-z]\.)+[a-z]\.?$/,ql={I:!0,A:!0},Ul={la:!0,ny:!0,us:!0,dc:!0,gb:!0};var Rl=function(e,t,n){let a=e[t];return a.tags.has("RomanNumeral")||a.tags.has("Acronym")?null:function(e,t){let n=e.text;if(!1===Sl.test(n)){if(!(n.length>3&&!0===$l.test(n)))return!1;n=n.replace(/s$/,"")}return!(n.length>5||ql.hasOwnProperty(n)||t.one.lexicon.hasOwnProperty(e.normal)||!0!==Jl.test(n)&&!0!==Kl.test(n)&&!0!==Bl.test(n)&&!0!==Wl.test(n))}(a,n)?(a.tags.clear(),bl(a,["Acronym","Noun"],"3-no-period-acronym"),!0===Ul[a.normal]&&bl(a,"Place","3-place-acronym"),!0===$l.test(a.text)&&bl(a,"Plural","3-plural-acronym"),!0):!ql.hasOwnProperty(a.text)&&Bl.test(a.text)?(a.tags.clear(),bl(a,["Acronym","Noun"],"3-one-letter-acronym"),!0):a.tags.has("Organization")&&a.text.length<=3?(bl(a,"Acronym","3-org-acronym"),!0):a.tags.has("Organization")&&Sl.test(a.text)&&a.text.length<=6?(bl(a,"Acronym","3-titlecase-acronym"),!0):null};const Ql=function(e,t){if(!e)return null;let n=t.find((t=>e.normal===t[0]));return n?n[1]:null},Xl=function(e,t){if(!e)return null;let n=t.find((t=>e.tags.has(t[0])));return n?n[1]:null};var Zl=function(e,t,n){const{leftTags:a,leftWords:r,rightWords:o,rightTags:i}=n.two.neighbours;let s=e[t];if(0===s.tags.size){let l=null;if(l=l||Ql(e[t-1],r),l=l||Ql(e[t+1],o),l=l||Xl(e[t-1],a),l=l||Xl(e[t+1],i),l)return bl(s,l,"3-[neighbour]"),yl(e,t,n),e[t].confidence=.2,!0}return null};const _l=function(e,t,n){return!!e&&(!e.tags.has("FirstName")&&!e.tags.has("Place")&&(!!(e.tags.has("ProperNoun")||e.tags.has("Organization")||e.tags.has("Acronym"))||!(n||(a=e.text,!/^\p{Lu}[\p{Ll}'’]/u.test(a)))&&(0!==t||e.tags.has("Singular"))));var a};var Yl=function(e,t,n,a){const r=n.model.two.orgWords,o=n.methods.one.setTag;let i=e[t];if(!0===r[i.machine||i.normal]&&_l(e[t-1],t-1,a)){o([e[t]],"Organization",n,null,"3-[org-word]");for(let r=t;r>=0&&_l(e[r],r,a);r-=1)o([e[r]],"Organization",n,null,"3-[org-word]")}return null};const eu=/'s$/,tu=new Set(["athletic","city","community","eastern","federal","financial","great","historic","historical","local","memorial","municipal","national","northern","provincial","southern","state","western"]),nu=new Set(["center","centre","way","range","bar","bridge","field","pit"]),au=function(e,t,n){if(!e)return!1;let a=e.tags;return!(a.has("Organization")||a.has("Possessive")||eu.test(e.normal))&&(!(!a.has("ProperNoun")&&!a.has("Place"))||!(n||(r=e.text,!/^\p{Lu}[\p{Ll}'’]/u.test(r)))&&(0!==t||a.has("Singular")));var r};var ru=function(e,t,n,a){const r=n.model.two.placeWords,o=n.methods.one.setTag;let i=e[t],s=i.machine||i.normal;if(!0===r[s]){for(let r=t-1;r>=0;r-=1)if(!tu.has(e[r].normal)){if(!au(e[r],r,a))break;o(e.slice(r,t+1),"Place",n,null,"3-[place-of-foo]")}if(nu.has(s))return!1;for(let r=t+1;re[t].tags.has("ProperNoun")&&iu.test(e[t].text)?"Noun":null,lu=(e,t,n)=>0!==t||e[1]?null:n,uu={"Adj|Gerund":(e,t)=>su(e,t),"Adj|Noun":(e,t)=>su(e,t)||function(e,t){return!e[t+1]&&e[t-1]&&e[t-1].tags.has("Determiner")?"Noun":null}(e,t),"Actor|Verb":(e,t)=>su(e,t),"Adj|Past":(e,t)=>su(e,t),"Adj|Present":(e,t)=>su(e,t),"Noun|Gerund":(e,t)=>su(e,t),"Noun|Verb":(e,t)=>t>0&&su(e,t)||lu(e,t,"Infinitive"),"Plural|Verb":(e,t)=>su(e,t)||lu(e,t,"PresentTense")||function(e,t,n){return 0===t&&e.length>3?n:null}(e,t,"Plural"),"Person|Noun":(e,t)=>su(e,t),"Person|Verb":(e,t)=>0!==t?su(e,t):null,"Person|Adj":(e,t)=>0===t&&e.length>1||su(e,t)?"Person":null};var cu=uu;const du="undefined"!=typeof process&&process.env?process.env:self.env||{},hu=/^(under|over|mis|re|un|dis|semi)-?/,gu=(e,t)=>{if(!e||!t)return null;let n=e.normal||e.implicit,a=null;return t.hasOwnProperty(n)&&(a=t[n]),a&&du.DEBUG_TAGS&&console.log(`\n  ↓ - '${n}' `),a},mu=(e,t={},n)=>{if(!e||!t)return null;let a=Array.from(e.tags).sort(((e,t)=>(n[e]?n[e].parents.length:0)>(n[t]?n[t].parents.length:0)?-1:1)),r=a.find((e=>t[e]));return r&&du.DEBUG_TAGS&&console.log(`  ↓ - '${e.normal||e.implicit}' (#${r}) `),r=t[r],r};var pu=function(e,t,n){const a=n.model,r=n.methods.one.setTag,{switches:o,clues:i}=a.two,s=e[t];let l=s.normal||s.implicit||"";if(hu.test(l)&&!o[l]&&(l=l.replace(hu,"")),s.switch){let o=s.switch;if(s.tags.has("Acronym")||s.tags.has("PhrasalVerb"))return;let u=function(e,t,n,a){if(!n)return null;const r=a.one.tagSet;let o=gu(e[t+1],n.afterWords);return o=o||gu(e[t-1],n.beforeWords),o=o||mu(e[t-1],n.beforeTags,r),o=o||mu(e[t+1],n.afterTags,r),o}(e,t,i[o],a);cu[o]&&(u=cu[o](e,t)||u),u?(r([s],u,n,null,`3-[switch] (${o})`),yl(e,t,a)):du.DEBUG_TAGS&&console.log(`\n -> X - '${l}' : (${o}) `)}};const fu={there:!0,this:!0,it:!0,him:!0,her:!0,us:!0};var bu=function(e,t){const n=t.methods.one.setTag,a=t.model.one._multiCache||{};let r=e[0];if(("Noun|Verb"===r.switch||r.tags.has("Infinitive"))&&e.length>=2){if(e.length<4&&!fu[e[1].normal])return;if(!r.tags.has("PhrasalVerb")&&a.hasOwnProperty(r.normal))return;if(e[1].tags.has("Noun")||e[1].tags.has("Determiner")){e.slice(1,3).some((e=>e.tags.has("Verb")))&&!r.tags.has("#PhrasalVerb")||n([r],"Imperative",t,null,"3-[imperative]")}}};const vu=function(e){if(e.filter((e=>!e.tags.has("ProperNoun"))).length<=3)return!1;const t=/^[a-z]/;return e.every((e=>!t.test(e.text)))},yu=function(e,t,n,a){for(let r=0;r{gl(e,0,t,n)}))}(r,n,a);let o=t.two.quickSplit(r);for(let e=0;e{let t=e.machine||e.normal||e.text;return t=t.replace(/'s$/,""),t},Plural:(e,t)=>{let n=e.machine||e.normal||e.text;return t.methods.two.transform.noun.toSingular(n,t.model)},Copula:()=>"is",PastTense:(e,t)=>{let n=e.machine||e.normal||e.text;return t.methods.two.transform.verb.toInfinitive(n,t.model,"PastTense")},Gerund:(e,t)=>{let n=e.machine||e.normal||e.text;return t.methods.two.transform.verb.toInfinitive(n,t.model,"Gerund")},PresentTense:(e,t)=>{let n=e.machine||e.normal||e.text;return e.tags.has("Infinitive")?n:t.methods.two.transform.verb.toInfinitive(n,t.model,"PresentTense")},Comparative:(e,t)=>{let n=e.machine||e.normal||e.text;return t.methods.two.transform.adjective.fromComparative(n,t.model)},Superlative:(e,t)=>{let n=e.machine||e.normal||e.text;return t.methods.two.transform.adjective.fromSuperlative(n,t.model)},Adverb:(e,t)=>{const{fromAdverb:n}=t.methods.two.transform.adjective;return n(e.machine||e.normal||e.text)}};var Au=function(e){const t=e.world,n=Object.keys(Pu);e.docs.forEach((e=>{for(let a=0;a{e.forEach((e=>{e.penn=function(e){if(e.tags.has("ProperNoun")&&e.tags.has("Plural"))return"NNPS";if(e.tags.has("Possessive")&&e.tags.has("Pronoun"))return"PRP$";if("there"===e.normal)return"EX";if("to"===e.normal)return"TO";let t=e.tagRank||[];for(let e=0;e{e.implicit=e.normal,e.text="",e.normal=""}));for(let e=0;e{let t=Ou.test(e[0].text);e.forEach(((t,n)=>{t.text=t.implicit||"",delete t.implicit,ne.toUpperCase()))}(e[0].text))})),this.compute("normal"),this}}e.prototype.contractions=function(){let e=this.match("@hasContraction+");return new Contractions(this.document,e.pointer)},e.prototype.contract=Fu};var Vu=function(e,t,n){let[a,r]=t;n&&0!==n.length&&(n=n.map(((e,t)=>(e.implicit=e.text,e.machine=e.text,e.pre="",e.post="",e.text="",e.normal="",e.index=[a,r+t],e))),n[0]&&(n[0].pre=e[a][r].pre,n[n.length-1].post=e[a][r].post,n[0].text=e[a][r].text,n[0].normal=e[a][r].normal),e[a].splice(r,1,...n))};const Lu=/'/;var Mu=function(e,t){let n=e[t].normal.split(Lu)[0];if(((e,t)=>e.slice(t+1,t+3).some((e=>e.tags.has("PastTense"))))(e,t))return[n,"has"];if("let"===n)return[n,"us"];if("there"===n){let a=e[t+1];if(a&&a.tags.has("Plural"))return[n,"are"]}return[n,"is"]};const Bu=/'/;var Su=function(e,t){let n=e[t].normal.split(Bu)[0];return"how"===n||"what"===n?[n,"did"]:!0===((e,t)=>!(!e[t+1]||"better"!=e[t+1].normal)||e.slice(t+1,t+3).some((e=>e.tags.has("PastTense"))))(e,t)?[n,"had"]:[n,"would"]};var $u=function(e,t){if("ain't"===e[t].normal||"aint"===e[t].normal){if(e[t+1]&&"never"===e[t+1].normal)return["have"];let n=function(e,t){for(let n=t-1;n>=0;n-=1)if(e[n].tags.has("Noun")||e[n].tags.has("Pronoun")||e[n].tags.has("Plural")||e[n].tags.has("Singular"))return e[n];return null}(e,t);if(n){if("we"===n.normal||"they"===n.normal)return["are","not"];if("i"===n.normal)return["am","not"];if(n.tags&&n.tags.has("Plural"))return["are","not"]}return["is","not"]}return[e[t].normal.replace(/n't/,""),"not"]};const Ju={that:!0,there:!0,let:!0,here:!0,everywhere:!0},Wu={in:!0,by:!0,for:!0};var Ku=(e,t)=>{let n=e[t];if(Ju.hasOwnProperty(n.machine||n.normal))return!1;if(n.tags.has("Possessive"))return!0;if(n.tags.has("QuestionWord"))return!1;if("he's"===n.normal||"she's"===n.normal)return!1;let a=e[t+1];if(!a)return!0;if("it's"===n.normal)return!!a.tags.has("#Noun");if(a.tags.has("Verb"))return!!a.tags.has("Infinitive")||!!a.tags.has("PresentTense");if(a.tags.has("Noun")){let e=a.machine||a.normal;return"here"!==e&&"there"!==e&&"everywhere"!==e&&(!a.tags.has("Possessive")&&!(a.tags.has("ProperNoun")&&!n.tags.has("ProperNoun")))}if(e[t-1]&&!0===Wu[e[t-1].normal])return!0;let r=e[t+2];return!(!r||!r.tags.has("Noun")||r.tags.has("Pronoun"))||(a.tags.has("Adjective")||a.tags.has("Adverb")||a.tags.has("Verb"),!1)};const qu=/'/,Uu=function(e,t,n,a){let r=t.update();r.document=[e];let o=n+a;n>0&&(n-=1),e[o]&&(o+=1),r.ptrs=[[0,n,o]],r.compute(["lexicon","preTagger"]),function(e){e.forEach(((e,t)=>{e.index&&(e.index[1]=t)}))}(e)},Ru={d:(e,t)=>Su(e,t),t:(e,t)=>$u(e,t),s:(e,t,n)=>Ku(e,t)?n.methods.one.setTag([e[t]],"Possessive",n,null,"2-contraction"):Mu(e,t)},Qu=function(e,t){let n=t.fromText(e.join(" "));return n.compute("id"),n.docs[0]};var Xu={contractionTwo:e=>{let{world:t,document:n}=e;n.forEach(((a,r)=>{for(let o=a.length-1;o>=0;o-=1){if(a[o].implicit)return;let i=null;!0===qu.test(a[o].normal)&&(i=a[o].normal.split(qu)[1]);let s=null;Ru.hasOwnProperty(i)&&(s=Ru[i](a,o,t)),s&&(s=Qu(s,e),Vu(n,[r,o],s),Uu(n[r],e,o,s.length))}}))}},Zu={compute:Xu,api:zu,hooks:["contractionTwo"]};const _u="(hard|fast|late|early|high|right|deep|close|direct)";const Yu="(i|we|they)";let ec=[].concat([{match:"(got|were|was|is|are|am) (#PastTense|#Participle)",tag:"Passive",reason:"got-walked"},{match:"(was|were|is|are|am) being (#PastTense|#Participle)",tag:"Passive",reason:"was-being"},{match:"(had|have|has) been (#PastTense|#Participle)",tag:"Passive",reason:"had-been"},{match:"will be being? (#PastTense|#Participle)",tag:"Passive",reason:"will-be-cleaned"},{match:"#Noun [(#PastTense|#Participle)] by (the|a) #Noun",group:0,tag:"Passive",reason:"suffered-by"}],[{match:"[(all|both)] #Determiner #Noun",group:0,tag:"Noun",reason:"all-noun"},{match:"#Copula [(just|alone)]$",group:0,tag:"Adjective",reason:"not-adverb"},{match:"#Singular is #Adverb? [#PastTense$]",group:0,tag:"Adjective",reason:"is-filled"},{match:"[#PastTense] #Singular is",group:0,tag:"Adjective",reason:"smoked-poutine"},{match:"[#PastTense] #Plural are",group:0,tag:"Adjective",reason:"baked-onions"},{match:"well [#PastTense]",group:0,tag:"Adjective",reason:"well-made"},{match:"#Copula [fucked up?]",group:0,tag:"Adjective",reason:"swears-adjective"},{match:"#Singular (seems|appears) #Adverb? [#PastTense$]",group:0,tag:"Adjective",reason:"seems-filled"},{match:"#Copula #Adjective? [(out|in|through)]$",group:0,tag:"Adjective",reason:"still-out"},{match:"^[#Adjective] (the|your) #Noun",group:0,notIf:"(all|even)",tag:"Infinitive",reason:"shut-the"},{match:"the [said] #Noun",group:0,tag:"Adjective",reason:"the-said-card"},{match:"[#Hyphenated (#Hyphenated && #PastTense)] (#Noun|#Conjunction)",group:0,tag:"Adjective",notIf:"#Adverb",reason:"faith-based"},{match:"[#Hyphenated (#Hyphenated && #Gerund)] (#Noun|#Conjunction)",group:0,tag:"Adjective",notIf:"#Adverb",reason:"self-driving"},{match:"[#PastTense (#Hyphenated && #PhrasalVerb)] (#Noun|#Conjunction)",group:0,tag:"Adjective",reason:"dammed-up"},{match:"(#Hyphenated && #Value) fold",tag:"Adjective",reason:"two-fold"},{match:"must (#Hyphenated && #Infinitive)",tag:"Adjective",reason:"must-win"},{match:"(#Hyphenated && #Infinitive) #Hyphenated",tag:"Adjective",notIf:"#PhrasalVerb",reason:"vacuum-sealed"},{match:"too much",tag:"Adverb Adjective",reason:"bit-4"},{match:"a bit much",tag:"Determiner Adverb Adjective",reason:"bit-3"},{match:"[(un|contra|extra|inter|intra|macro|micro|mid|mis|mono|multi|pre|sub|tri|ex)] #Adjective",group:0,tag:["Adjective","Prefix"],reason:"un-skilled"}],[{match:"#Adverb [#Adverb] (and|or|then)",group:0,tag:"Adjective",reason:"kinda-sparkly-and"},{match:"[(dark|bright|flat|light|soft|pale|dead|dim|faux|little|wee|sheer|most|near|good|extra|all)] #Adjective",group:0,tag:"Adverb",reason:"dark-green"},{match:"#Copula [far too] #Adjective",group:0,tag:"Adverb",reason:"far-too"},{match:"#Copula [still] (in|#Gerund|#Adjective)",group:0,tag:"Adverb",reason:"was-still-walking"},{match:`#Plural ${_u}`,tag:"#PresentTense #Adverb",reason:"studies-hard"},{match:`#Verb [${_u}] !#Noun?`,group:0,notIf:"(#Copula|get|got|getting|become|became|becoming|feel|feels|feeling)",tag:"Adverb",reason:"shops-direct"},{match:"[#Plural] a lot",tag:"PresentTense",reason:"studies-a-lot"}],[{match:"as [#Gerund] as",group:0,tag:"Adjective",reason:"as-gerund-as"},{match:"more [#Gerund] than",group:0,tag:"Adjective",reason:"more-gerund-than"},{match:"(so|very|extremely) [#Gerund]",group:0,tag:"Adjective",reason:"so-gerund"},{match:"(found|found) it #Adverb? [#Gerund]",group:0,tag:"Adjective",reason:"found-it-gerund"},{match:"a (little|bit|wee) bit? [#Gerund]",group:0,tag:"Adjective",reason:"a-bit-gerund"},{match:"#Gerund [#Gerund]",group:0,tag:"Adjective",notIf:"(impersonating|practicing|considering|assuming)",reason:"looking-annoying"},{match:"(looked|look|looks) #Adverb? [%Adj|Gerund%]",group:0,tag:"Adjective",notIf:"(impersonating|practicing|considering|assuming)",reason:"looked-amazing"},{match:"[%Adj|Gerund%] #Determiner",group:0,tag:"Gerund",reason:"developing-a"},{match:"#Possessive [%Adj|Gerund%] #Noun",group:0,tag:"Adjective",reason:"leading-manufacturer"}],[{match:"#Determiner [#Adjective] #Copula",group:0,tag:"Noun",reason:"the-adj-is"},{match:"#Adjective [#Adjective] #Copula",group:0,tag:"Noun",reason:"adj-adj-is"},{match:"(his|its) [%Adj|Noun%]",group:0,tag:"Noun",notIf:"#Hyphenated",reason:"his-fine"},{match:"#Copula #Adverb? [all]",group:0,tag:"Noun",reason:"is-all"},{match:"(have|had) [#Adjective] #Preposition .",group:0,tag:"Noun",reason:"have-fun"},{match:"#Gerund (giant|capital|center|zone|application)",tag:"Noun",reason:"brewing-giant"},{match:"#Preposition (a|an) [#Adjective]$",group:0,tag:"Noun",reason:"an-instant"},{match:"no [#Adjective] #Modal",group:0,tag:"Noun",reason:"no-golden"},{match:"[brand #Gerund?] new",group:0,tag:"Adverb",reason:"brand-new"},{match:"(#Determiner|#Comparative|new|different) [kind]",group:0,tag:"Noun",reason:"some-kind"},{match:"#Possessive [%Adj|Noun%] #Noun",group:0,tag:"Adjective",reason:"her-favourite"},{match:"must && #Hyphenated .",tag:"Adjective",reason:"must-win"},{match:"#Determiner [#Adjective]$",tag:"Noun",notIf:"(this|that|#Comparative|#Superlative)",reason:"the-south"},{match:"(#Noun && #Hyphenated) (#Adjective && #Hyphenated)",tag:"Adjective",notIf:"(this|that|#Comparative|#Superlative)",reason:"company-wide"},{match:"#Determiner [#Adjective] (#Copula|#Determiner)",notIf:"(#Comparative|#Superlative)",group:0,tag:"Noun",reason:"the-poor"}],[{match:"[still] #Adjective",group:0,tag:"Adverb",reason:"still-advb"},{match:"[still] #Verb",group:0,tag:"Adverb",reason:"still-verb"},{match:"[so] #Adjective",group:0,tag:"Adverb",reason:"so-adv"},{match:"[way] #Comparative",group:0,tag:"Adverb",reason:"way-adj"},{match:"[way] #Adverb #Adjective",group:0,tag:"Adverb",reason:"way-too-adj"},{match:"[all] #Verb",group:0,tag:"Adverb",reason:"all-verb"},{match:"#Verb [like]",group:0,notIf:"(#Modal|#PhrasalVerb)",tag:"Adverb",reason:"verb-like"},{match:"(barely|hardly) even",tag:"Adverb",reason:"barely-even"},{match:"[even] #Verb",group:0,tag:"Adverb",reason:"even-walk"},{match:"[even] #Comparative",group:0,tag:"Adverb",reason:"even-worse"},{match:"[even] (#Determiner|#Possessive)",group:0,tag:"#Adverb",reason:"even-the"},{match:"even left",tag:"#Adverb #Verb",reason:"even-left"},{match:"[way] #Adjective",group:0,tag:"#Adverb",reason:"way-over"},{match:"#PresentTense [(hard|quick|bright|slow|fast|backwards|forwards)]",notIf:"#Copula",group:0,tag:"Adverb",reason:"lazy-ly"},{match:"[much] #Adjective",group:0,tag:"Adverb",reason:"bit-1"},{match:"#Copula [#Adverb]$",group:0,tag:"Adjective",reason:"is-well"},{match:"a [(little|bit|wee) bit?] #Adjective",group:0,tag:"Adverb",reason:"a-bit-cold"},{match:"[(super|pretty)] #Adjective",group:0,tag:"Adverb",reason:"super-strong"},{match:"(become|fall|grow) #Adverb? [#PastTense]",group:0,tag:"Adjective",reason:"overly-weakened"},{match:"(a|an) #Adverb [#Participle] #Noun",group:0,tag:"Adjective",reason:"completely-beaten"},{match:"#Determiner #Adverb? [close]",group:0,tag:"Adjective",reason:"a-close"},{match:"#Gerund #Adverb? [close]",group:0,tag:"Adverb",notIf:"(getting|becoming|feeling)",reason:"being-close"},{match:"(the|those|these|a|an) [#Participle] #Noun",group:0,tag:"Adjective",reason:"blown-motor"},{match:"(#PresentTense|#PastTense) [back]",group:0,tag:"Adverb",notIf:"(#PhrasalVerb|#Copula)",reason:"charge-back"},{match:"#Verb [around]",group:0,tag:"Adverb",notIf:"#PhrasalVerb",reason:"send-around"},{match:"[later] #PresentTense",group:0,tag:"Adverb",reason:"later-say"},{match:"#Determiner [well] !#PastTense?",group:0,tag:"Noun",reason:"the-well"},{match:"#Adjective [enough]",group:0,tag:"Adverb",reason:"high-enough"}],[{match:"[sun] the #Ordinal",tag:"WeekDay",reason:"sun-the-5th"},{match:"[sun] #Date",group:0,tag:"WeekDay",reason:"sun-feb"},{match:"#Date (on|this|next|last|during)? [sun]",group:0,tag:"WeekDay",reason:"1pm-sun"},{match:"(in|by|before|during|on|until|after|of|within|all) [sat]",group:0,tag:"WeekDay",reason:"sat"},{match:"(in|by|before|during|on|until|after|of|within|all) [wed]",group:0,tag:"WeekDay",reason:"wed"},{match:"(in|by|before|during|on|until|after|of|within|all) [march]",group:0,tag:"Month",reason:"march"},{match:"[sat] #Date",group:0,tag:"WeekDay",reason:"sat-feb"},{match:"#Preposition [(march|may)]",group:0,tag:"Month",reason:"in-month"},{match:"(this|next|last) (march|may) !#Infinitive?",tag:"#Date #Month",reason:"this-month"},{match:"(march|may) the? #Value",tag:"#Month #Date #Date",reason:"march-5th"},{match:"#Value of? (march|may)",tag:"#Date #Date #Month",reason:"5th-of-march"},{match:"[(march|may)] .? #Date",group:0,tag:"Month",reason:"march-and-feb"},{match:"#Date .? [(march|may)]",group:0,tag:"Month",reason:"feb-and-march"},{match:"#Adverb [(march|may)]",group:0,tag:"Verb",reason:"quickly-march"},{match:"[(march|may)] #Adverb",group:0,tag:"Verb",reason:"march-quickly"},{match:"#Value (am|pm)",tag:"Time",reason:"2-am"}],[{match:"#Holiday (day|eve)",tag:"Holiday",reason:"holiday-day"},{match:"#Value of #Month",tag:"Date",reason:"value-of-month"},{match:"#Cardinal #Month",tag:"Date",reason:"cardinal-month"},{match:"#Month #Value to #Value",tag:"Date",reason:"value-to-value"},{match:"#Month the #Value",tag:"Date",reason:"month-the-value"},{match:"(#WeekDay|#Month) #Value",tag:"Date",reason:"date-value"},{match:"#Value (#WeekDay|#Month)",tag:"Date",reason:"value-date"},{match:"(#TextValue && #Date) #TextValue",tag:"Date",reason:"textvalue-date"},{match:"#Month #NumberRange",tag:"Date",reason:"aug 20-21"},{match:"#WeekDay #Month #Ordinal",tag:"Date",reason:"week mm-dd"},{match:"#Month #Ordinal #Cardinal",tag:"Date",reason:"mm-dd-yyy"},{match:"(#Place|#Demonmym|#Time) (standard|daylight|central|mountain)? time",tag:"Timezone",reason:"std-time"},{match:"(eastern|mountain|pacific|central|atlantic) (standard|daylight|summer)? time",tag:"Timezone",reason:"eastern-time"},{match:"#Time [(eastern|mountain|pacific|central|est|pst|gmt)]",group:0,tag:"Timezone",reason:"5pm-central"},{match:"(central|western|eastern) european time",tag:"Timezone",reason:"cet"}],[{match:"(the|any) [more]",group:0,tag:"Singular",reason:"more-noun"},{match:"[more] #Noun",group:0,tag:"Adjective",reason:"more-noun"},{match:"(right|rights) of .",tag:"Noun",reason:"right-of"},{match:"a [bit]",group:0,tag:"Singular",reason:"bit-2"},{match:"a [must]",group:0,tag:"Singular",reason:"must-2"},{match:"(we|us) [all]",group:0,tag:"Noun",reason:"we all"},{match:"due to [#Verb]",group:0,tag:"Noun",reason:"due-to"},{match:"some [#Verb] #Plural",group:0,tag:"Noun",reason:"determiner6"},{match:"#Possessive #Ordinal [#PastTense]",group:0,tag:"Noun",reason:"first-thought"},{match:"(the|this|those|these) #Adjective [%Verb|Noun%]",group:0,tag:"Noun",notIf:"#Copula",reason:"the-adj-verb"},{match:"(the|this|those|these) #Adverb #Adjective [#Verb]",group:0,tag:"Noun",reason:"determiner4"},{match:"the [#Verb] #Preposition .",group:0,tag:"Noun",reason:"determiner1"},{match:"(a|an|the) [#Verb] of",group:0,tag:"Noun",reason:"the-verb-of"},{match:"#Determiner #Noun of [#Verb]",group:0,tag:"Noun",notIf:"#Gerund",reason:"noun-of-noun"},{match:"#PastTense #Preposition [#PresentTense]",group:0,notIf:"#Gerund",tag:"Noun",reason:"ended-in-ruins"},{match:"#Conjunction [u]",group:0,tag:"Pronoun",reason:"u-pronoun-2"},{match:"[u] #Verb",group:0,tag:"Pronoun",reason:"u-pronoun-1"},{match:"#Determiner [(western|eastern|northern|southern|central)] #Noun",group:0,tag:"Noun",reason:"western-line"},{match:"(#Singular && @hasHyphen) #PresentTense",tag:"Noun",reason:"hyphen-verb"},{match:"is no [#Verb]",group:0,tag:"Noun",reason:"is-no-verb"},{match:"do [so]",group:0,tag:"Noun",reason:"so-noun"},{match:"#Determiner [(shit|damn|hell)]",group:0,tag:"Noun",reason:"swears-noun"},{match:"to [(shit|hell)]",group:0,tag:"Noun",reason:"to-swears"},{match:"(the|these) [#Singular] (were|are)",group:0,tag:"Plural",reason:"singular-were"},{match:"a #Noun+ or #Adverb+? [#Verb]",group:0,tag:"Noun",reason:"noun-or-noun"},{match:"(the|those|these|a|an) #Adjective? [#PresentTense #Particle?]",group:0,tag:"Noun",notIf:"(seem|appear|include|#Gerund|#Copula)",reason:"det-inf"},{match:"#Noun #Actor",tag:"Actor",notIf:"(#Person|#Pronoun)",reason:"thing-doer"},{match:"#Gerund #Actor",tag:"Actor",reason:"gerund-doer"},{match:"co #Singular",tag:"Actor",reason:"co-noun"},{match:"[#Noun+] #Actor",group:0,tag:"Actor",notIf:"(#Honorific|#Pronoun|#Possessive)",reason:"air-traffic-controller"},{match:"(urban|cardiac|cardiovascular|respiratory|medical|clinical|visual|graphic|creative|dental|exotic|fine|certified|registered|technical|virtual|professional|amateur|junior|senior|special|pharmaceutical|theoretical)+ #Noun? #Actor",tag:"Actor",reason:"fine-artist"},{match:"#Noun+ (coach|chef|king|engineer|fellow|personality|boy|girl|man|woman|master)",tag:"Actor",reason:"dance-coach"},{match:"chief . officer",tag:"Actor",reason:"chief-x-officer"},{match:"chief of #Noun+",tag:"Actor",reason:"chief-of-police"},{match:"senior? vice? president of #Noun+",tag:"Actor",reason:"president-of"},{match:"#Determiner [sun]",group:0,tag:"Singular",reason:"the-sun"},{match:"#Verb (a|an) [#Value]$",group:0,tag:"Singular",reason:"did-a-value"},{match:"the [(can|will|may)]",group:0,tag:"Singular",reason:"the can"},{match:"#FirstName #Acronym? (#Possessive && #LastName)",tag:"Possessive",reason:"name-poss"},{match:"#Organization+ #Possessive",tag:"Possessive",reason:"org-possessive"},{match:"#Place+ #Possessive",tag:"Possessive",reason:"place-possessive"},{match:"#Possessive #PresentTense #Particle?",notIf:"(#Gerund|her)",tag:"Noun",reason:"possessive-verb"},{match:"(my|our|their|her|his|its) [(#Plural && #Actor)] #Noun",tag:"Possessive",reason:"my-dads"},{match:"#Value of a [second]",group:0,unTag:"Value",tag:"Singular",reason:"10th-of-a-second"},{match:"#Value [seconds]",group:0,unTag:"Value",tag:"Plural",reason:"10-seconds"},{match:"in [#Infinitive]",group:0,tag:"Singular",reason:"in-age"},{match:"a [#Adjective] #Preposition",group:0,tag:"Noun",reason:"a-minor-in"},{match:"#Determiner [#Singular] said",group:0,tag:"Actor",reason:"the-actor-said"},{match:"#Determiner #Noun [(feel|sense|process|rush|side|bomb|bully|challenge|cover|crush|dump|exchange|flow|function|issue|lecture|limit|march|process)] !(#Preposition|to|#Adverb)?",group:0,tag:"Noun",reason:"the-noun-sense"},{match:"[#PresentTense] (of|by|for) (a|an|the) #Noun #Copula",group:0,tag:"Plural",reason:"photographs-of"},{match:"#Infinitive and [%Noun|Verb%]",group:0,tag:"Infinitive",reason:"fight and win"},{match:"#Noun and [#Verb] and #Noun",group:0,tag:"Noun",reason:"peace-and-flowers"},{match:"the #Cardinal [%Adj|Noun%]",group:0,tag:"Noun",reason:"the-1992-classic"},{match:"#Copula the [%Adj|Noun%] #Noun",group:0,tag:"Adjective",reason:"the-premier-university"},{match:"i #Verb [me] #Noun",group:0,tag:"Possessive",reason:"scottish-me"},{match:"[#PresentTense] (music|class|lesson|night|party|festival|league|ceremony)",group:0,tag:"Noun",reason:"dance-music"},{match:"[wit] (me|it)",group:0,tag:"Presposition",reason:"wit-me"},{match:"#PastTense #Possessive [#Verb]",group:0,tag:"Noun",notIf:"(saw|made)",reason:"left-her-boots"},{match:"#Value [%Plural|Verb%]",group:0,tag:"Plural",notIf:"(one|1|a|an)",reason:"35-signs"},{match:"had [#PresentTense]",group:0,tag:"Noun",notIf:"(#Gerund|come|become)",reason:"had-time"},{match:"%Adj|Noun% %Noun|Verb%",tag:"#Adjective #Noun",notIf:"#ProperNoun #Noun",reason:"instant-access"},{match:"#Determiner [%Adj|Noun%] #Conjunction",group:0,tag:"Noun",reason:"a-rep-to"},{match:"#Adjective #Noun [%Plural|Verb%]$",group:0,tag:"Plural",notIf:"#Pronoun",reason:"near-death-experiences"},{match:"#Possessive #Noun [%Plural|Verb%]$",group:0,tag:"Plural",reason:"your-guild-colors"}],[{match:"(this|that|the|a|an) [#Gerund #Infinitive]",group:0,tag:"Singular",reason:"the-planning-process"},{match:"(that|the) [#Gerund #PresentTense]",group:0,ifNo:"#Copula",tag:"Plural",reason:"the-paving-stones"},{match:"#Determiner [#Gerund] #Noun",group:0,tag:"Adjective",reason:"the-gerund-noun"},{match:"#Pronoun #Infinitive [#Gerund] #PresentTense",group:0,tag:"Noun",reason:"tipping-sucks"},{match:"#Adjective [#Gerund]",group:0,tag:"Noun",notIf:"(still|even|just)",reason:"early-warning"},{match:"[#Gerund] #Adverb? not? #Copula",group:0,tag:"Activity",reason:"gerund-copula"},{match:"#Copula [(#Gerund|#Activity)] #Copula",group:0,tag:"Gerund",reason:"are-doing-is"},{match:"[#Gerund] #Modal",group:0,tag:"Activity",reason:"gerund-modal"},{match:"#Singular for [%Noun|Gerund%]",group:0,tag:"Gerund",reason:"noun-for-gerund"},{match:"#Comparative (for|at) [%Noun|Gerund%]",group:0,tag:"Gerund",reason:"better-for-gerund"},{match:"#PresentTense the [#Gerund]",group:0,tag:"Noun",reason:"keep-the-touching"}],[{match:"#Infinitive (this|that|the) [#Infinitive]",group:0,tag:"Noun",reason:"do-this-dance"},{match:"#Gerund #Determiner [#Infinitive]",group:0,tag:"Noun",reason:"running-a-show"},{match:"#Determiner (only|further|just|more|backward) [#Infinitive]",group:0,tag:"Noun",reason:"the-only-reason"},{match:"(the|this|a|an) [#Infinitive] #Adverb? #Verb",group:0,tag:"Noun",reason:"determiner5"},{match:"#Determiner #Adjective #Adjective? [#Infinitive]",group:0,tag:"Noun",reason:"a-nice-inf"},{match:"#Determiner #Demonym [#PresentTense]",group:0,tag:"Noun",reason:"mexican-train"},{match:"#Adjective #Noun+ [#Infinitive] #Copula",group:0,tag:"Noun",reason:"career-move"},{match:"at some [#Infinitive]",group:0,tag:"Noun",reason:"at-some-inf"},{match:"(go|goes|went) to [#Infinitive]",group:0,tag:"Noun",reason:"goes-to-verb"},{match:"(a|an) #Adjective? #Noun [#Infinitive] (#Preposition|#Noun)",group:0,notIf:"from",tag:"Noun",reason:"a-noun-inf"},{match:"(a|an) #Noun [#Infinitive]$",group:0,tag:"Noun",reason:"a-noun-inf2"},{match:"#Gerund #Adjective? for [#Infinitive]",group:0,tag:"Noun",reason:"running-for"},{match:"about [#Infinitive]",group:0,tag:"Singular",reason:"about-love"},{match:"#Plural on [#Infinitive]",group:0,tag:"Noun",reason:"on-stage"},{match:"any [#Infinitive]",group:0,tag:"Noun",reason:"any-charge"},{match:"no [#Infinitive]",group:0,tag:"Noun",reason:"no-doubt"},{match:"number of [#PresentTense]",group:0,tag:"Noun",reason:"number-of-x"},{match:"(taught|teaches|learns|learned) [#PresentTense]",group:0,tag:"Noun",reason:"teaches-x"},{match:"(try|use|attempt|build|make) [#Verb #Particle?]",notIf:"(#Copula|#Noun|sure|fun|up)",group:0,tag:"Noun",reason:"do-verb"},{match:"^[#Infinitive] (is|was)",group:0,tag:"Noun",reason:"checkmate-is"},{match:"#Infinitive much [#Infinitive]",group:0,tag:"Noun",reason:"get-much"},{match:"[cause] #Pronoun #Verb",group:0,tag:"Conjunction",reason:"cause-cuz"},{match:"the #Singular [#Infinitive] #Noun",group:0,tag:"Noun",notIf:"#Pronoun",reason:"cardio-dance"},{match:"#Determiner #Modal [#Noun]",group:0,tag:"PresentTense",reason:"should-smoke"},{match:"this [#Plural]",group:0,tag:"PresentTense",notIf:"(#Preposition|#Date)",reason:"this-verbs"},{match:"#Noun that [#Plural]",group:0,tag:"PresentTense",notIf:"(#Preposition|#Pronoun|way)",reason:"voice-that-rocks"},{match:"that [#Plural] to",group:0,tag:"PresentTense",notIf:"#Preposition",reason:"that-leads-to"},{match:"(let|make|made) (him|her|it|#Person|#Place|#Organization)+ [#Singular] (a|an|the|it)",group:0,tag:"Infinitive",reason:"let-him-glue"},{match:"#Verb (all|every|each|most|some|no) [#PresentTense]",notIf:"#Modal",group:0,tag:"Noun",reason:"all-presentTense"},{match:"(had|have|#PastTense) #Adjective [#PresentTense]",group:0,tag:"Noun",notIf:"better",reason:"adj-presentTense"},{match:"#Value #Adjective [#PresentTense]",group:0,tag:"Noun",notIf:"#Copula",reason:"one-big-reason"},{match:"#PastTense #Adjective+ [#PresentTense]",group:0,tag:"Noun",notIf:"(#Copula|better)",reason:"won-wide-support"},{match:"(many|few|several|couple) [#PresentTense]",group:0,tag:"Noun",notIf:"#Copula",reason:"many-poses"},{match:"#Determiner #Adverb #Adjective [%Noun|Verb%]",group:0,tag:"Noun",notIf:"#Copula",reason:"very-big-dream"},{match:"from #Noun to [%Noun|Verb%]",group:0,tag:"Noun",reason:"start-to-finish"},{match:"(for|with|of) #Noun (and|or|not) [%Noun|Verb%]",group:0,tag:"Noun",notIf:"#Pronoun",reason:"for-food-and-gas"},{match:"#Adjective #Adjective [#PresentTense]",group:0,tag:"Noun",notIf:"#Copula",reason:"adorable-little-store"},{match:"#Gerund #Adverb? #Comparative [#PresentTense]",group:0,tag:"Noun",notIf:"#Copula",reason:"higher-costs"},{match:"(#Noun && @hasComma) #Noun (and|or) [#PresentTense]",group:0,tag:"Noun",notIf:"#Copula",reason:"noun-list"},{match:"(many|any|some|several) [#PresentTense] for",group:0,tag:"Noun",reason:"any-verbs-for"},{match:"to #PresentTense #Noun [#PresentTense] #Preposition",group:0,tag:"Noun",reason:"gas-exchange"},{match:"#PastTense (until|as|through|without) [#PresentTense]",group:0,tag:"Noun",reason:"waited-until-release"},{match:"#Gerund like #Adjective? [#PresentTense]",group:0,tag:"Plural",reason:"like-hot-cakes"},{match:"some #Adjective [#PresentTense]",group:0,tag:"Noun",reason:"some-reason"},{match:"for some [#PresentTense]",group:0,tag:"Noun",reason:"for-some-reason"},{match:"(same|some|the|that|a) kind of [#PresentTense]",group:0,tag:"Noun",reason:"some-kind-of"},{match:"(same|some|the|that|a) type of [#PresentTense]",group:0,tag:"Noun",reason:"some-type-of"},{match:"#Gerund #Adjective #Preposition [#PresentTense]",group:0,tag:"Noun",reason:"doing-better-for-x"},{match:"(get|got|have) #Comparative [#PresentTense]",group:0,tag:"Noun",reason:"got-better-aim"},{match:"whose [#PresentTense] #Copula",group:0,tag:"Noun",reason:"whos-name-was"},{match:"#PhrasalVerb #Particle #Preposition [#PresentTense]",group:0,tag:"Noun",reason:"given-up-on-x"},{match:"there (are|were) #Adjective? [#PresentTense]",group:0,tag:"Plural",reason:"there-are"},{match:"#Value [#PresentTense] of",group:0,notIf:"(one|1|#Copula|#Infinitive)",tag:"Plural",reason:"2-trains"},{match:"[#PresentTense] (are|were) #Adjective",group:0,tag:"Plural",reason:"compromises-are-possible"},{match:"^[(hope|guess|thought|think)] #Pronoun #Verb",group:0,tag:"Infinitive",reason:"suppose-i"},{match:"#Possessive #Adjective [#Verb]",group:0,tag:"Noun",notIf:"#Copula",reason:"our-full-support"},{match:"[(tastes|smells)] #Adverb? #Adjective",group:0,tag:"PresentTense",reason:"tastes-good"},{match:"#Copula #Gerund [#PresentTense] !by?",group:0,tag:"Noun",notIf:"going",reason:"ignoring-commute"},{match:"#Determiner #Adjective? [(shed|thought|rose|bid|saw|spelt)]",group:0,tag:"Noun",reason:"noun-past"},{match:"how to [%Noun|Verb%]",group:0,tag:"Infinitive",reason:"how-to-noun"},{match:"which [%Noun|Verb%] #Noun",group:0,tag:"Infinitive",reason:"which-boost-it"},{match:"#Gerund [%Plural|Verb%]",group:0,tag:"Plural",reason:"asking-questions"},{match:"(ready|available|difficult|hard|easy|made|attempt|try) to [%Noun|Verb%]",group:0,tag:"Infinitive",reason:"ready-to-noun"},{match:"(bring|went|go|drive|run|bike) to [%Noun|Verb%]",group:0,tag:"Noun",reason:"bring-to-noun"},{match:"#Modal #Noun [%Noun|Verb%]",group:0,tag:"Infinitive",reason:"would-you-look"},{match:"#Copula just [#Infinitive]",group:0,tag:"Noun",reason:"is-just-spam"},{match:"^%Noun|Verb% %Plural|Verb%",tag:"Imperative #Plural",reason:"request-copies"},{match:"#Adjective #Plural and [%Plural|Verb%]",group:0,tag:"#Plural",reason:"pickles-and-drinks"},{match:"#Determiner #Year [#Verb]",group:0,tag:"Noun",reason:"the-1968-film"},{match:"#Determiner [#PhrasalVerb #Particle]",group:0,tag:"Noun",reason:"the-break-up"},{match:"#Determiner [%Adj|Noun%] #Noun",group:0,tag:"Adjective",notIf:"(#Pronoun|#Possessive|#ProperNoun)",reason:"the-individual-goals"},{match:"[%Noun|Verb%] or #Infinitive",group:0,tag:"Infinitive",reason:"work-or-prepare"},{match:"to #Infinitive [#PresentTense]",group:0,tag:"Noun",notIf:"(#Gerund|#Copula|help)",reason:"to-give-thanks"},{match:"[#Noun] me",group:0,tag:"Verb",reason:"kills-me"},{match:"%Plural|Verb% %Plural|Verb%",tag:"#PresentTense #Plural",reason:"removes-wrinkles"}],[{match:"#Money and #Money #Currency?",tag:"Money",reason:"money-and-money"},{match:"#Value #Currency [and] #Value (cents|ore|centavos|sens)",group:0,tag:"money",reason:"and-5-cents"},{match:"#Value (mark|rand|won|rub|ore)",tag:"#Money #Currency",reason:"4-mark"},{match:"a pound",tag:"#Money #Unit",reason:"a-pound"},{match:"#Value (pound|pounds)",tag:"#Money #Unit",reason:"4-pounds"}],[{match:"[(half|quarter)] of? (a|an)",group:0,tag:"Fraction",reason:"millionth"},{match:"#Adverb [half]",group:0,tag:"Fraction",reason:"nearly-half"},{match:"[half] the",group:0,tag:"Fraction",reason:"half-the"},{match:"#Cardinal and a half",tag:"Fraction",reason:"and-a-half"},{match:"#Value (halves|halfs|quarters)",tag:"Fraction",reason:"two-halves"},{match:"a #Ordinal",tag:"Fraction",reason:"a-quarter"},{match:"[#Cardinal+] (#Fraction && /s$/)",tag:"Fraction",reason:"seven-fifths"},{match:"[#Cardinal+ #Ordinal] of .",group:0,tag:"Fraction",reason:"ordinal-of"},{match:"[(#NumericValue && #Ordinal)] of .",group:0,tag:"Fraction",reason:"num-ordinal-of"},{match:"(a|one) #Cardinal?+ #Ordinal",tag:"Fraction",reason:"a-ordinal"},{match:"#Cardinal+ out? of every? #Cardinal",tag:"Fraction",reason:"out-of"}],[{match:"#Cardinal [second]",tag:"Unit",reason:"one-second"},{match:"!once? [(a|an)] (#Duration|hundred|thousand|million|billion|trillion)",group:0,tag:"Value",reason:"a-is-one"},{match:"1 #Value #PhoneNumber",tag:"PhoneNumber",reason:"1-800-Value"},{match:"#NumericValue #PhoneNumber",tag:"PhoneNumber",reason:"(800) PhoneNumber"},{match:"#Demonym #Currency",tag:"Currency",reason:"demonym-currency"},{match:"#Value [(buck|bucks|grand)]",group:0,tag:"Currency",reason:"value-bucks"},{match:"[#Value+] #Currency",group:0,tag:"Money",reason:"15 usd"},{match:"[second] #Noun",group:0,tag:"Ordinal",reason:"second-noun"},{match:"#Value+ [#Currency]",group:0,tag:"Unit",reason:"5-yan"},{match:"#Value [(foot|feet)]",group:0,tag:"Unit",reason:"foot-unit"},{match:"#Value [#Abbreviation]",group:0,tag:"Unit",reason:"value-abbr"},{match:"#Value [k]",group:0,tag:"Unit",reason:"value-k"},{match:"#Unit an hour",tag:"Unit",reason:"unit-an-hour"},{match:"(minus|negative) #Value",tag:"Value",reason:"minus-value"},{match:"#Value (point|decimal) #Value",tag:"Value",reason:"value-point-value"},{match:"#Determiner [(half|quarter)] #Ordinal",group:0,tag:"Value",reason:"half-ordinal"},{match:"#Multiple+ and #Value",tag:"Value",reason:"magnitude-and-value"},{match:"#Value #Unit [(per|an) (hr|hour|sec|second|min|minute)]",group:0,tag:"Unit",reason:"12-miles-per-second"},{match:"#Value [(square|cubic)] #Unit",group:0,tag:"Unit",reason:"square-miles"},{match:"^[#Value] (#Determiner|#Gerund)",group:0,tag:"Expression",unTag:"Value",reason:"numbered-list"}],[{match:"#Copula [(#Noun|#PresentTense)] #LastName",group:0,tag:"FirstName",reason:"copula-noun-lastname"},{match:"(sister|pope|brother|father|aunt|uncle|grandpa|grandfather|grandma) #ProperNoun",tag:"Person",reason:"lady-titlecase",safe:!0},{match:"#FirstName [#Determiner #Noun] #LastName",group:0,tag:"Person",reason:"first-noun-last"},{match:"#ProperNoun (b|c|d|e|f|g|h|j|k|l|m|n|o|p|q|r|s|t|u|v|w|x|y|z) #ProperNoun",tag:"Person",reason:"titlecase-acronym-titlecase",safe:!0},{match:"#Acronym #LastName",tag:"Person",reason:"acronym-lastname",safe:!0},{match:"#Person (jr|sr|md)",tag:"Person",reason:"person-honorific"},{match:"#Honorific #Acronym",tag:"Person",reason:"Honorific-TitleCase"},{match:"#Person #Person the? #RomanNumeral",tag:"Person",reason:"roman-numeral"},{match:"#FirstName [/^[^aiurck]$/]",group:0,tag:["Acronym","Person"],reason:"john-e"},{match:"#Noun van der? #Noun",tag:"Person",reason:"van der noun",safe:!0},{match:"(king|queen|prince|saint|lady) of #Noun",tag:"Person",reason:"king-of-noun",safe:!0},{match:"(prince|lady) #Place",tag:"Person",reason:"lady-place"},{match:"(king|queen|prince|saint) #ProperNoun",tag:"Person",notIf:"#Place",reason:"saint-foo"},{match:"al (#Person|#ProperNoun)",tag:"Person",reason:"al-borlen",safe:!0},{match:"#FirstName de #Noun",tag:"Person",reason:"bill-de-noun"},{match:"#FirstName (bin|al) #Noun",tag:"Person",reason:"bill-al-noun"},{match:"#FirstName #Acronym #ProperNoun",tag:"Person",reason:"bill-acronym-title"},{match:"#FirstName #FirstName #ProperNoun",tag:"Person",reason:"bill-firstname-title"},{match:"#Honorific #FirstName? #ProperNoun",tag:"Person",reason:"dr-john-Title"},{match:"#FirstName the #Adjective",tag:"Person",reason:"name-the-great"},{match:"#ProperNoun (van|al|bin) #ProperNoun",tag:"Person",reason:"title-van-title",safe:!0},{match:"#ProperNoun (de|du) la? #ProperNoun",tag:"Person",notIf:"#Place",reason:"title-de-title"},{match:"#Singular #Acronym #LastName",tag:"#FirstName #Person .",reason:"title-acro-noun",safe:!0},{match:"[#ProperNoun] #Person",group:0,tag:"Person",reason:"proper-person",safe:!0},{match:"#Person [#ProperNoun #ProperNoun]",group:0,tag:"Person",notIf:"#Possessive",reason:"three-name-person",safe:!0},{match:"#FirstName #Acronym? [#ProperNoun]",group:0,tag:"LastName",notIf:"#Possessive",reason:"firstname-titlecase"},{match:"#FirstName [#FirstName]",group:0,tag:"LastName",reason:"firstname-firstname"},{match:"#FirstName #Acronym #Noun",tag:"Person",reason:"n-acro-noun",safe:!0},{match:"#FirstName [(de|di|du|van|von)] #Person",group:0,tag:"LastName",reason:"de-firstname"},{match:"[(lieutenant|corporal|sergeant|captain|qeen|king|admiral|major|colonel|marshal|president|queen|king)+] #ProperNoun",group:0,tag:"Honorific",reason:"seargeant-john"},{match:"[(private|general|major|rear|prime|field|count|miss)] #Honorific? #Person",group:0,tag:["Honorific","Person"],reason:"ambg-honorifics"},{match:"#Honorific #FirstName [#Singular]",group:0,tag:"LastName",notIf:"#Possessive",reason:"dr-john-foo",safe:!0},{match:"[(his|her) (majesty|honour|worship|excellency|honorable)] #Person",group:0,tag:"Honorific",reason:"his-excellency"},{match:"#Honorific #Actor",tag:"Honorific",reason:"Lieutenant colonel"},{match:"(first|second|third|1st|2nd|3rd) #Actor",tag:"Honorific",reason:"first lady"},{match:"#Person #RomanNumeral",tag:"Person",reason:"louis-IV"}],[{match:"#FirstName #Noun$",tag:". #LastName",notIf:"(#Possessive|#Organization|#Place|#Pronoun|@hasTitleCase)",reason:"firstname-noun"},{match:"%Person|Date% #Acronym? #ProperNoun",tag:"Person",reason:"jan-thierson"},{match:"%Person|Noun% #Acronym? #ProperNoun",tag:"Person",reason:"switch-person",safe:!0},{match:"%Person|Noun% #Organization",tag:"Organization",reason:"olive-garden"},{match:"%Person|Verb% #Acronym? #ProperNoun",tag:"Person",reason:"verb-propernoun",ifNo:"#Actor"},{match:"[%Person|Verb%] (will|had|has|said|says|told|did|learned|wants|wanted)",group:0,tag:"Person",reason:"person-said"},{match:"[%Person|Place%] (harbor|harbour|pier|town|city|place|dump|landfill)",group:0,tag:"Place",reason:"sydney-harbour"},{match:"(west|east|north|south) [%Person|Place%]",group:0,tag:"Place",reason:"east-sydney"},{match:"#Modal [%Person|Verb%]",group:0,tag:"Verb",reason:"would-mark"},{match:"#Adverb [%Person|Verb%]",group:0,tag:"Verb",reason:"really-mark"},{match:"[%Person|Verb%] (#Adverb|#Comparative)",group:0,tag:"Verb",reason:"drew-closer"},{match:"%Person|Verb% #Person",tag:"Person",reason:"rob-smith"},{match:"%Person|Verb% #Acronym #ProperNoun",tag:"Person",reason:"rob-a-smith"},{match:"[will] #Verb",group:0,tag:"Modal",reason:"will-verb"},{match:"(will && @isTitleCase) #ProperNoun",tag:"Person",reason:"will-name"},{match:"(#FirstName && !#Possessive) [#Singular] #Verb",group:0,safe:!0,tag:"LastName",reason:"jack-layton"},{match:"^[#Singular] #Person #Verb",group:0,safe:!0,tag:"Person",reason:"sherwood-anderson"},{match:"(a|an) [#Person]$",group:0,unTag:"Person",reason:"a-warhol"}],[{match:"#Copula (pretty|dead|full|well|sure) (#Adjective|#Noun)",tag:"#Copula #Adverb #Adjective",reason:"sometimes-adverb"},{match:"(#Pronoun|#Person) (had|#Adverb)? [better] #PresentTense",group:0,tag:"Modal",reason:"i-better"},{match:"(#Modal|i|they|we|do) not? [like]",group:0,tag:"PresentTense",reason:"modal-like"},{match:"#Noun #Adverb? [left]",group:0,tag:"PastTense",reason:"left-verb"},{match:"will #Adverb? not? #Adverb? [be] #Gerund",group:0,tag:"Copula",reason:"will-be-copula"},{match:"will #Adverb? not? #Adverb? [be] #Adjective",group:0,tag:"Copula",reason:"be-copula"},{match:"[march] (up|down|back|toward)",notIf:"#Date",group:0,tag:"Infinitive",reason:"march-to"},{match:"#Modal [march]",group:0,tag:"Infinitive",reason:"must-march"},{match:"[may] be",group:0,tag:"Verb",reason:"may-be"},{match:"[(subject|subjects|subjected)] to",group:0,tag:"Verb",reason:"subject to"},{match:"[home] to",group:0,tag:"PresentTense",reason:"home to"},{match:"[open] #Determiner",group:0,tag:"Infinitive",reason:"open-the"},{match:"(were|was) being [#PresentTense]",group:0,tag:"PastTense",reason:"was-being"},{match:"(had|has|have) [been /en$/]",group:0,tag:"Auxiliary Participle",reason:"had-been-broken"},{match:"(had|has|have) [been /ed$/]",group:0,tag:"Auxiliary PastTense",reason:"had-been-smoked"},{match:"(had|has) #Adverb? [been] #Adverb? #PastTense",group:0,tag:"Auxiliary",reason:"had-been-adj"},{match:"(had|has) to [#Noun] (#Determiner|#Possessive)",group:0,tag:"Infinitive",reason:"had-to-noun"},{match:"have [#PresentTense]",group:0,tag:"PastTense",notIf:"(come|gotten)",reason:"have-read"},{match:"(does|will|#Modal) that [work]",group:0,tag:"PastTense",reason:"does-that-work"},{match:"[(sound|sounds)] #Adjective",group:0,tag:"PresentTense",reason:"sounds-fun"},{match:"[(look|looks)] #Adjective",group:0,tag:"PresentTense",reason:"looks-good"},{match:"[(start|starts|stop|stops|begin|begins)] #Gerund",group:0,tag:"Verb",reason:"starts-thinking"},{match:"(have|had) read",tag:"Modal #PastTense",reason:"read-read"},{match:"(is|was|were) [(under|over) #PastTense]",group:0,tag:"Adverb Adjective",reason:"was-under-cooked"},{match:"[shit] (#Determiner|#Possessive|them)",group:0,tag:"Verb",reason:"swear1-verb"},{match:"[damn] (#Determiner|#Possessive|them)",group:0,tag:"Verb",reason:"swear2-verb"},{match:"[fuck] (#Determiner|#Possessive|them)",group:0,tag:"Verb",reason:"swear3-verb"},{match:"#Plural that %Noun|Verb%",tag:". #Preposition #Infinitive",reason:"jobs-that-work"},{match:"[works] for me",group:0,tag:"PresentTense",reason:"works-for-me"},{match:"as #Pronoun [please]",group:0,tag:"Infinitive",reason:"as-we-please"},{match:"[(co|mis|de|inter|intra|pre|re|un|out|under|over|counter)] #Verb",group:0,tag:["Verb","Prefix"],notIf:"(#Copula|#PhrasalVerb)",reason:"co-write"},{match:"#PastTense and [%Adj|Past%]",group:0,tag:"PastTense",reason:"dressed-and-left"},{match:"[%Adj|Past%] and #PastTense",group:0,tag:"PastTense",reason:"dressed-and-left"},{match:"#Copula #Pronoun [%Adj|Past%]",group:0,tag:"Adjective",reason:"is-he-stoked"},{match:"to [%Noun|Verb%] #Preposition",group:0,tag:"Infinitive",reason:"to-dream-of"}],[{match:"(slowly|quickly) [#Adjective]",group:0,tag:"Verb",reason:"slowly-adj"},{match:"does (#Adverb|not)? [#Adjective]",group:0,tag:"PresentTense",reason:"does-mean"},{match:"[(fine|okay|cool|ok)] by me",group:0,tag:"Adjective",reason:"okay-by-me"},{match:"i (#Adverb|do)? not? [mean]",group:0,tag:"PresentTense",reason:"i-mean"},{match:"will #Adjective",tag:"Auxiliary Infinitive",reason:"will-adj"},{match:"#Pronoun [#Adjective] #Determiner #Adjective? #Noun",group:0,tag:"Verb",reason:"he-adj-the"},{match:"#Copula [%Adj|Present%] to #Verb",group:0,tag:"Verb",reason:"adj-to"},{match:"#Copula [#Adjective] (well|badly|quickly|slowly)",group:0,tag:"Verb",reason:"done-well"},{match:"#Adjective and [#Gerund] !#Preposition?",group:0,tag:"Adjective",reason:"rude-and-x"},{match:"#Copula #Adverb? (over|under) [#PastTense]",group:0,tag:"Adjective",reason:"over-cooked"},{match:"#Copula #Adjective+ (and|or) [#PastTense]$",group:0,tag:"Adjective",reason:"bland-and-overcooked"},{match:"got #Adverb? [#PastTense] of",group:0,tag:"Adjective",reason:"got-tired-of"},{match:"(seem|seems|seemed|appear|appeared|appears|feel|feels|felt|sound|sounds|sounded) (#Adverb|#Adjective)? [#PastTense]",group:0,tag:"Adjective",reason:"felt-loved"},{match:"(seem|feel|seemed|felt) [#PastTense #Particle?]",group:0,tag:"Adjective",reason:"seem-confused"},{match:"a (bit|little|tad) [#PastTense #Particle?]",group:0,tag:"Adjective",reason:"a-bit-confused"},{match:"not be [%Adj|Past% #Particle?]",group:0,tag:"Adjective",reason:"do-not-be-confused"},{match:"#Copula just [%Adj|Past% #Particle?]",group:0,tag:"Adjective",reason:"is-just-right"},{match:"as [#Infinitive] as",group:0,tag:"Adjective",reason:"as-pale-as"},{match:"[%Adj|Past%] and #Adjective",group:0,tag:"Adjective",reason:"faled-and-oppressive"},{match:"or [#PastTense] #Noun",group:0,tag:"Adjective",notIf:"(#Copula|#Pronoun)",reason:"or-heightened-emotion"},{match:"(become|became|becoming|becomes) [#Verb]",group:0,tag:"Adjective",reason:"become-verb"},{match:"#Possessive [#PastTense] #Noun",group:0,tag:"Adjective",reason:"declared-intentions"},{match:"#Copula #Pronoun [%Adj|Present%]",group:0,tag:"Adjective",reason:"is-he-cool"}],[{match:"will (#Adverb|not)+? [have] (#Adverb|not)+? #Verb",group:0,tag:"Auxiliary",reason:"will-have-vb"},{match:"[#Copula] (#Adverb|not)+? (#Gerund|#PastTense)",group:0,tag:"Auxiliary",reason:"copula-walking"},{match:"[(#Modal|did)+] (#Adverb|not)+? #Verb",group:0,tag:"Auxiliary",reason:"modal-verb"},{match:"#Modal (#Adverb|not)+? [have] (#Adverb|not)+? [had] (#Adverb|not)+? #Verb",group:0,tag:"Auxiliary",reason:"would-have"},{match:"[(has|had)] (#Adverb|not)+? #PastTense",group:0,tag:"Auxiliary",reason:"had-walked"},{match:"[(do|does|did|will|have|had|has|got)] (not|#Adverb)+? #Verb",group:0,tag:"Auxiliary",reason:"have-had"},{match:"[about to] #Adverb? #Verb",group:0,tag:["Auxiliary","Verb"],reason:"about-to"},{match:"#Modal (#Adverb|not)+? [be] (#Adverb|not)+? #Verb",group:0,tag:"Auxiliary",reason:"would-be"},{match:"[(#Modal|had|has)] (#Adverb|not)+? [been] (#Adverb|not)+? #Verb",group:0,tag:"Auxiliary",reason:"had-been"},{match:"[(be|being|been)] #Participle",group:0,tag:"Auxiliary",reason:"being-driven"},{match:"[may] #Adverb? #Infinitive",group:0,tag:"Auxiliary",reason:"may-want"},{match:"#Copula (#Adverb|not)+? [(be|being|been)] #Adverb+? #PastTense",group:0,tag:"Auxiliary",reason:"being-walked"},{match:"will [be] #PastTense",group:0,tag:"Auxiliary",reason:"will-be-x"},{match:"[(be|been)] (#Adverb|not)+? #Gerund",group:0,tag:"Auxiliary",reason:"been-walking"},{match:"[used to] #PresentTense",group:0,tag:"Auxiliary",reason:"used-to-walk"},{match:"#Copula (#Adverb|not)+? [going to] #Adverb+? #PresentTense",group:0,tag:"Auxiliary",reason:"going-to-walk"},{match:"#Imperative [(me|him|her)]",group:0,tag:"Reflexive",reason:"tell-him"},{match:"(is|was) #Adverb? [no]",group:0,tag:"Negative",reason:"is-no"},{match:"[(been|had|became|came)] #PastTense",group:0,notIf:"#PhrasalVerb",tag:"Auxiliary",reason:"been-told"},{match:"[(being|having|getting)] #Verb",group:0,tag:"Auxiliary",reason:"being-born"},{match:"[be] #Gerund",group:0,tag:"Auxiliary",reason:"be-walking"},{match:"[better] #PresentTense",group:0,tag:"Modal",notIf:"(#Copula|#Gerund)",reason:"better-go"},{match:"even better",tag:"Adverb #Comparative",reason:"even-better"}],[{match:"(#Verb && @hasHyphen) up",tag:"PhrasalVerb",reason:"foo-up"},{match:"(#Verb && @hasHyphen) off",tag:"PhrasalVerb",reason:"foo-off"},{match:"(#Verb && @hasHyphen) over",tag:"PhrasalVerb",reason:"foo-over"},{match:"(#Verb && @hasHyphen) out",tag:"PhrasalVerb",reason:"foo-out"},{match:"[#Verb (in|out|up|down|off|back)] (on|in)",notIf:"#Copula",tag:"PhrasalVerb Particle",reason:"walk-in-on"},{match:"(lived|went|crept|go) [on] for",group:0,tag:"PhrasalVerb",reason:"went-on"},{match:"#Verb (up|down|in|on|for)$",tag:"PhrasalVerb #Particle",notIf:"#PhrasalVerb",reason:"come-down$"},{match:"help [(stop|end|make|start)]",group:0,tag:"Infinitive",reason:"help-stop"},{match:"#PhrasalVerb (in && #Particle) #Determiner",tag:"#Verb #Preposition #Determiner",unTag:"PhrasalVerb",reason:"work-in-the"},{match:"[(stop|start|finish|help)] #Gerund",group:0,tag:"Infinitive",reason:"start-listening"},{match:"#Verb (him|her|it|us|himself|herself|itself|everything|something) [(up|down)]",group:0,tag:"Adverb",reason:"phrasal-pronoun-advb"}],[{match:"^do not? [#Infinitive #Particle?]",notIf:Yu,group:0,tag:"Imperative",reason:"do-eat"},{match:"^please do? not? [#Infinitive #Particle?]",group:0,tag:"Imperative",reason:"please-go"},{match:"^just do? not? [#Infinitive #Particle?]",group:0,tag:"Imperative",reason:"just-go"},{match:"^[#Infinitive] it #Comparative",notIf:Yu,group:0,tag:"Imperative",reason:"do-it-better"},{match:"^[#Infinitive] it (please|now|again|plz)",notIf:Yu,group:0,tag:"Imperative",reason:"do-it-please"},{match:"^[#Infinitive] (#Adjective|#Adverb)$",group:0,tag:"Imperative",notIf:"(so|such|rather|enough)",reason:"go-quickly"},{match:"^[#Infinitive] (up|down|over) #Determiner",group:0,tag:"Imperative",reason:"turn-down"},{match:"^[#Infinitive] (your|my|the|a|an|any|each|every|some|more|with|on)",group:0,notIf:"like",tag:"Imperative",reason:"eat-my-shorts"},{match:"^[#Infinitive] (him|her|it|us|me|there)",group:0,tag:"Imperative",reason:"tell-him"},{match:"^[#Infinitive] #Adjective #Noun$",group:0,tag:"Imperative",reason:"avoid-loud-noises"},{match:"^[#Infinitive] (#Adjective|#Adverb)? and #Infinitive",group:0,tag:"Imperative",reason:"call-and-reserve"},{match:"^(go|stop|wait|hurry) please?$",tag:"Imperative",reason:"go"},{match:"^(somebody|everybody) [#Infinitive]",group:0,tag:"Imperative",reason:"somebody-call"},{match:"^let (us|me) [#Infinitive]",group:0,tag:"Imperative",reason:"lets-leave"},{match:"^[(shut|close|open|start|stop|end|keep)] #Determiner #Noun",group:0,tag:"Imperative",reason:"shut-the-door"},{match:"^[#PhrasalVerb #Particle] #Determiner #Noun",group:0,tag:"Imperative",reason:"turn-off-the-light"},{match:"^[go] to .",group:0,tag:"Imperative",reason:"go-to-toronto"},{match:"^#Modal you [#Infinitive]",group:0,tag:"Imperative",reason:"would-you-"},{match:"^never [#Infinitive]",group:0,tag:"Imperative",reason:"never-stop"},{match:"^come #Infinitive",tag:"Imperative",notIf:"on",reason:"come-have"},{match:"^come and? #Infinitive",tag:"Imperative . Imperative",notIf:"#PhrasalVerb",reason:"come-and-have"},{match:"^stay (out|away|back)",tag:"Imperative",reason:"stay-away"},{match:"^[(stay|be|keep)] #Adjective",group:0,tag:"Imperative",reason:"stay-cool"},{match:"^[keep it] #Adjective",group:0,tag:"Imperative",reason:"keep-it-cool"},{match:"^do not [#Infinitive]",group:0,tag:"Imperative",reason:"do-not-be"},{match:"[#Infinitive] (yourself|yourselves)",group:0,tag:"Imperative",reason:"allow-yourself"},{match:"[#Infinitive] what .",group:0,tag:"Imperative",reason:"look-what"},{match:"^[#Infinitive] #Gerund",group:0,tag:"Imperative",reason:"keep-playing"},{match:"^[#Infinitive] (to|for|into|toward|here|there)",group:0,tag:"Imperative",reason:"go-to"},{match:"^[#Infinitive] (and|or) #Infinitive",group:0,tag:"Imperative",reason:"inf-and-inf"},{match:"^[%Noun|Verb%] to",group:0,tag:"Imperative",reason:"commit-to"},{match:"^[#Infinitive] #Adjective? #Singular #Singular",group:0,tag:"Imperative",reason:"maintain-eye-contact"},{match:"do not (forget|omit|neglect) to [#Infinitive]",group:0,tag:"Imperative",reason:"do-not-forget"},{match:"^[(ask|wear|pay|look|help|show|watch|act|fix|kill|stop|start|turn|try|win)] #Noun",group:0,tag:"Imperative",reason:"pay-attention"}],[{match:"(that|which) were [%Adj|Gerund%]",group:0,tag:"Gerund",reason:"that-were-growing"},{match:"#Gerund [#Gerund] #Plural",group:0,tag:"Adjective",reason:"hard-working-fam"}],[{match:"u r",tag:"#Pronoun #Copula",reason:"u r"},{match:"#Noun [(who|whom)]",group:0,tag:"Determiner",reason:"captain-who"},{match:"[had] #Noun+ #PastTense",group:0,tag:"Condition",reason:"had-he"},{match:"[were] #Noun+ to #Infinitive",group:0,tag:"Condition",reason:"were-he"},{match:"some sort of",tag:"Adjective Noun Conjunction",reason:"some-sort-of"},{match:"of some sort",tag:"Conjunction Adjective Noun",reason:"of-some-sort"},{match:"[such] (a|an|is)? #Noun",group:0,tag:"Determiner",reason:"such-skill"},{match:"[right] (before|after|in|into|to|toward)",group:0,tag:"#Adverb",reason:"right-into"},{match:"#Preposition [about]",group:0,tag:"Adjective",reason:"at-about"},{match:"(are|#Modal|see|do|for) [ya]",group:0,tag:"Pronoun",reason:"are-ya"},{match:"[long live] .",group:0,tag:"#Adjective #Infinitive",reason:"long-live"},{match:"[plenty] of",group:0,tag:"#Uncountable",reason:"plenty-of"},{match:"(always|nearly|barely|practically) [there]",group:0,tag:"Adjective",reason:"always-there"},{match:"[there] (#Adverb|#Pronoun)? #Copula",group:0,tag:"There",reason:"there-is"},{match:"#Copula [there] .",group:0,tag:"There",reason:"is-there"},{match:"#Modal #Adverb? [there]",group:0,tag:"There",reason:"should-there"},{match:"^[do] (you|we|they)",group:0,tag:"QuestionWord",reason:"do-you"},{match:"^[does] (he|she|it|#ProperNoun)",group:0,tag:"QuestionWord",reason:"does-he"},{match:"a [while]",group:0,tag:"Noun",reason:"a-while"},{match:"guess who",tag:"#Infinitive #QuestionWord",reason:"guess-who"},{match:"[fucking] !#Verb",group:0,tag:"#Gerund",reason:"f-as-gerund"}],[{match:"university of #Place",tag:"Organization",reason:"university-of-Foo"},{match:"#Noun (&|n) #Noun",tag:"Organization",reason:"Noun-&-Noun"},{match:"#Organization of the? #ProperNoun",tag:"Organization",reason:"org-of-place",safe:!0},{match:"#Organization #Country",tag:"Organization",reason:"org-country"},{match:"#ProperNoun #Organization",tag:"Organization",notIf:"#FirstName",reason:"titlecase-org"},{match:"#ProperNoun (ltd|co|inc|dept|assn|bros)",tag:"Organization",reason:"org-abbrv"},{match:"the [#Acronym]",group:0,tag:"Organization",reason:"the-acronym",safe:!0},{match:"government of the? [#Place+]",tag:"Organization",reason:"government-of-x"},{match:"(health|school|commerce) board",tag:"Organization",reason:"school-board"},{match:"(nominating|special|conference|executive|steering|central|congressional) committee",tag:"Organization",reason:"special-comittee"},{match:"(world|global|international|national|#Demonym) #Organization",tag:"Organization",reason:"global-org"},{match:"#Noun+ (public|private) school",tag:"School",reason:"noun-public-school"}],[{match:"(west|north|south|east|western|northern|southern|eastern)+ #Place",tag:"Region",reason:"west-norfolk"},{match:"#City [(al|ak|az|ar|ca|ct|dc|fl|ga|id|il|nv|nh|nj|ny|oh|pa|sc|tn|tx|ut|vt|pr)]",group:0,tag:"Region",reason:"us-state"},{match:"portland [or]",group:0,tag:"Region",reason:"portland-or"},{match:"#ProperNoun+ (cliff|place|range|pit|place|point|room|grounds|ruins)",tag:"Place",reason:"foo-point"},{match:"in [#ProperNoun] #Place",group:0,tag:"Place",reason:"propernoun-place"},{match:"#Value #Noun (st|street|rd|road|crescent|cr|way|tr|terrace|avenue|ave)",tag:"Address",reason:"address-st"}],[{match:"[so] #Noun",group:0,tag:"Conjunction",reason:"so-conj"},{match:"[(who|what|where|why|how|when)] #Noun #Copula #Adverb? (#Verb|#Adjective)",group:0,tag:"Conjunction",reason:"how-he-is-x"},{match:"#Copula [(who|what|where|why|how|when)] #Noun",group:0,tag:"Conjunction",reason:"when-he"},{match:"#Verb [that] #Pronoun",group:0,tag:"Conjunction",reason:"said-that-he"},{match:"#Noun [that] #Copula",group:0,tag:"Conjunction",reason:"that-are"},{match:"#Noun [that] #Verb #Adjective",group:0,tag:"Conjunction",reason:"that-seem"},{match:"#Noun #Copula not? [that] #Adjective",group:0,tag:"Adverb",reason:"that-adj"},{match:"#Verb #Adverb? #Noun [(that|which)]",group:0,tag:"Preposition",reason:"that-prep"},{match:"@hasComma [which] (#Pronoun|#Verb)",group:0,tag:"Preposition",reason:"which-copula"},{match:"#Noun [like] #Noun",group:0,tag:"Preposition",reason:"noun-like"},{match:"^[like] #Determiner",group:0,tag:"Preposition",reason:"like-the"},{match:"a #Noun [like] (#Noun|#Determiner)",group:0,tag:"Preposition",reason:"a-noun-like"},{match:"#Adverb [like]",group:0,tag:"Verb",reason:"really-like"},{match:"(not|nothing|never) [like]",group:0,tag:"Preposition",reason:"nothing-like"},{match:"#Infinitive #Pronoun [like]",group:0,tag:"Preposition",reason:"treat-them-like"},{match:"[#QuestionWord] (#Pronoun|#Determiner)",group:0,tag:"Preposition",reason:"how-he"},{match:"[#QuestionWord] #Participle",group:0,tag:"Preposition",reason:"when-stolen"},{match:"[how] (#Determiner|#Copula|#Modal|#PastTense)",group:0,tag:"QuestionWord",reason:"how-is"},{match:"#Plural [(who|which|when)] .",group:0,tag:"Preposition",reason:"people-who"}],[{match:"holy (shit|fuck|hell)",tag:"Expression",reason:"swears-expression"},{match:"^[(well|so|okay|now)] !#Adjective?",group:0,tag:"Expression",reason:"well-"},{match:"^come on",tag:"Expression",reason:"come-on"},{match:"(say|says|said) [sorry]",group:0,tag:"Expression",reason:"say-sorry"},{match:"^(ok|alright|shoot|hell|anyways)",tag:"Expression",reason:"ok-"},{match:"^(say && @hasComma)",tag:"Expression",reason:"say-"},{match:"^(like && @hasComma)",tag:"Expression",reason:"like-"},{match:"^[(dude|man|girl)] #Pronoun",group:0,tag:"Expression",reason:"dude-i"}]);let tc=null;var nc={postTagger:function(e){const{world:t}=e,{model:n,methods:a}=t;tc=tc||a.one.buildNet(n.two.matches,t);let r=a.two.quickSplit(e.document).map((e=>{let t=e[0];return[t.index[0],t.index[1],t.index[1]+e.length]})),o=e.update(r);return o.cache(),o.sweep(tc),e.uncache(),e},tagger:e=>e.compute(["lexicon","preTagger","postTagger"])};const ac={api:function(e){e.prototype.confidence=function(){let e=0,t=0;return this.docs.forEach((n=>{n.forEach((n=>{t+=1,e+=n.confidence||1}))})),0===t?1:(e=>Math.round(100*e)/100)(e/t)},e.prototype.tagger=function(){return this.compute(["tagger"])}},compute:nc,model:{two:{matches:ec}},hooks:["postTagger"]};var rc=ac;var oc=function(e,t){let n=function(e){return Object.keys(e.hooks).filter((e=>!e.startsWith("#")&&!e.startsWith("%")))}(t);if(0===n.length)return e;e._cache||e.cache();let a=e._cache;return e.filter(((e,t)=>n.some((e=>a[t].has(e)))))};var ic=function(e,t){let n=t;"string"==typeof t&&(n=this.buildNet([{match:t}]));let a=this.tokenize(e),r=oc(a,n);return r.found?(r.compute(["index","tagger"]),r.match(t)):a.none()},sc={lib:{lazy:ic}};var lc=function(e,t){let n=t;return e.forEach((e=>{e.has("#Infinitive")||(n=function(e,t){let n=(0,e.methods.two.transform.verb.conjugate)(t,e.model);return e.has("#Gerund")?n.Gerund:e.has("#PastTense")?n.PastTense:e.has("#PresentTense")?n.PresentTense:e.has("#Gerund")?n.Gerund:t}(e,t)),e.replaceWith(n)})),e};var uc=function(e,t,n){let a=e.split(/ /g).map((e=>e.toLowerCase().trim()));a=a.filter((e=>e)),a=a.map((e=>`{${e}}`)).join(" ");let r=this.match(a);return n&&(r=r.if(n)),r.has("#Verb")?lc(r,t):r.has("#Noun")?function(e,t){let n=t;e.has("#Plural")&&(n=(0,e.methods.two.transform.noun.toPlural)(t,e.model));e.replaceWith(n,{possessives:!0})}(r,t):r.has("#Adverb")?function(e,t){const{toAdverb:n}=e.methods.two.transform.adjective;let a=n(t);a&&e.replaceWith(a)}(r,t):r.has("#Adjective")?function(e,t){const{toComparative:n,toSuperlative:a}=e.methods.two.transform.adjective;let r=t;e.has("#Comparative")?r=n(r,e.model):e.has("#Superlative")&&(r=a(r,e.model)),r&&e.replaceWith(r)}(r,t):this};var cc={api:function(e){e.prototype.swap=uc}};b.plugin(Tu),b.plugin(Zu),b.plugin(rc),b.plugin(sc),b.plugin(cc);export{b as default}; diff --git a/changelog.md b/changelog.md index 3a6c4139c..f18c1d25b 100644 --- a/changelog.md +++ b/changelog.md @@ -19,7 +19,18 @@ While all _Major_ releases should be reviewed, our only _large_ releases are **v --> + +#### 14.10.1 [Nov 2023] + +- **[fix]** - abbreviation checks for sentence-tokenizer #1061 +- **[change]** - improve person tagger #1059 +- **[change]** - add #FutureTense tag +- **[fix]** - .out() runtime error #1056 +- **[fix]** - punctuation loss in .not() #1022 +- **[update]** - dependencies + #### 14.10.0 [Aug 2023] + - **[fix]** - verb conjugation fixes - **[fix]** - tagger fixes - **[change]** - align package.json with ESM module #1023 @@ -29,6 +40,7 @@ While all _Major_ releases should be reviewed, our only _large_ releases are **v - **[update]** - dependencies #### 14.9.0 [May 2023] + - **[new]** - .verbs().toPastParticiple() method - **[new]** - `.normalize({ debullet: true })` #1004 - **[change]** - typescript path changes (thanks @rotemdan !) @@ -45,6 +57,7 @@ While all _Major_ releases should be reviewed, our only _large_ releases are **v - **[update]** - dependencies #### 14.8.2 [Feb 2023] + - **[change]** - #Actor tagging - in advance of #565 - **[change]** - .noun() lumping changes - in advance of #565 - **[new]** - support japanese full-stop @@ -52,12 +65,14 @@ While all _Major_ releases should be reviewed, our only _large_ releases are **v - **[update]** - dependencies #### 14.8.1 [Dec 2022] + - **[fix]** - tagging fixes - **[change]** - allow #Plural acronyms - **[fix]** - allow root matches in fastOr - **[fix]** - more flexible PhrasalVerb tagging #### 14.8.0 [Dec 2022] + - **[fix]** - tagging fixes - **[new]** - add Person .presumedMale(), .presumedFemale() methods - **[new]** - add Pronoun class, .refersTo() @@ -69,11 +84,13 @@ While all _Major_ releases should be reviewed, our only _large_ releases are **v - **[update]** - dependencies #### 14.7.1 [Nov 2022] + - **[fix]** - concat fix - **[change]** - tagging fixes - **[change]** - `{word/tag/sense}` sense-match syntax #### 14.7.0 [Nov 2022] + - **[new]** - match term id - **[change]** - tag text by default on .concat('') - **[change]** - allow modifying term prePunctuation @@ -87,6 +104,7 @@ While all _Major_ releases should be reviewed, our only _large_ releases are **v - **[fix]** - compromise-paragraphs plugin #### 14.6.0 [Oct 2022] + - **[change]** - move internal conjugation methods - **[update]** - github scripts - **[change]** - fixes to .clauses() parser @@ -101,16 +119,19 @@ While all _Major_ releases should be reviewed, our only _large_ releases are **v - **[update]** - dependencies #### 14.5.2 [Oct 2022] + - **[fix]** - runtime error #965 - **[fix]** - misc possessive tagging issues - **[update]** - dependencies #### 14.5.1 [Oct 2022] + - **[fix]** - .remove() fixes -- **[change]** - support « angle quotes » +- **[change]** - support « angle quotes » - **[update]** - dependencies #### 14.5.0 [August 2022] + - **[fix]** - possible runtime error in setTag method - **[change]** - make #Honorific always a #Person #951 - **[new]** - manually change conjugations/inflections from plugin #949 @@ -118,21 +139,26 @@ While all _Major_ releases should be reviewed, our only _large_ releases are **v - **[update]** - dependencies #### 14.4.5 [August 2022] -- **[fix]** - fix logic for greedy-negative matches - #936 + +- **[fix]** - fix logic for greedy-negative matches - #936 - **[fix]** - fix tagging for 3-digit year iso dates - #868 - **[update]** - dependencies #### 14.4.4 [August 2022] + - **[fix]** - support {root} matches without compromise/two #### 14.4.3 [August 2022] + - **[fix]** - guard for toRoot methods in root match - **[update]** - compromise-stats #### 14.4.2 [July 2022] + - **[fix]** - hotfix for sentence tokenization issue #935 #### 14.4.1 [July 2022] + - **[change]** - improvements to negative-optional match logic - `!foo?` - **[change]** - support short sentences embedded in quotes+parentheses - **[change]** - faster sentence tokenizer @@ -142,6 +168,7 @@ While all _Major_ releases should be reviewed, our only _large_ releases are **v - **[update]** - dependencies #### 14.4.0 [July 2022] + - **[change]** - support root matches like '{walk}' work without doing .compute('root') - **[change]** - split numbers+units '12km' as contraction - #919 - **[new]** - `.lazy(txt, match)` fast-scan method [1](https://observablehq.com/@spencermountain/compromise-performance) @@ -154,10 +181,12 @@ While all _Major_ releases should be reviewed, our only _large_ releases are **v _plugin-releases_: dates, speed, de-compromise #### 14.3.1 [June 2022] + - **[fix]** - missed caches in .sweep() - **[new]** - .out('hash') and `.json({hash:true})` #### 14.3.0 [June 2022] + - **[fix]** - unwanted logging in compromise/one - **[fix]** - dependency export path for react-native builds #928 - **[change]** - split hyphenated words in match syntax 'foo-bar' @@ -165,18 +194,20 @@ While all _Major_ releases should be reviewed, our only _large_ releases are **v _plugin-releases_: dates #### 14.2.1 [June 2022] + - **[fix]** - double-contraction issue #925 - **[fix]** - .not() memleak #926 #### 14.2.0 [June 2022] + - **[fix]** - speed improvements - **[fix]** - bug with fast-or possessive matches - **[fix]** - bug with slow-or end-matches - **[change]** - no-longer attempt 's contractions in compromise/one -- **[new]** - flag novel tags in world.one.tagSet +- **[new]** - flag novel tags in world.one.tagSet - **[new]** - .sweep() and nlp.buildNet() methods - **[new]** - some typescript support in plugins #918 -- **[fix]** - better unicode support with Unicode property escapes +- **[fix]** - better unicode support with Unicode property escapes - **[fix]** - problems matching on cached documents - **[fix]** - typescript fixes - **[fix]** - suffix tagging issues @@ -187,6 +218,7 @@ While all _Major_ releases should be reviewed, our only _large_ releases are **v - **[new]** - some support for .numbers().units() again #919 #### 14.1.2 [April 2022] + - **[new]** - add .harden() .soften() undocumented methods - **[fix]** - support pre-parsed matches in .has() .if() and .not() - **[fix]** - contraction OR match issue @@ -196,15 +228,18 @@ While all _Major_ releases should be reviewed, our only _large_ releases are **v - **[update]** - dependencies #### 14.1.1 [April 2022] + - **[fix]** - main property in package.json #911 #### 14.1.0 [April 2022] + - **[fix]** - client-side export format for plugins - **[new]** - more adjective transformation methods - **[new]** - emoji + emoticon tagger - **[new]** - case-sensitive match option - `{caseSensitive:true}` ### 🚨 14.0.0 🚨   [March 2022] + Major release - see [Release Notes](https://github.com/spencermountain/compromise/releases/tag/14.0.0) for full details - **[breaking]** - remove `.parent()` and `.parents()` chain - (use `.all()` instead) @@ -212,11 +247,11 @@ Major release - see [Release Notes](https://github.com/spencermountain/compromis - **[breaking]** - remove '.get()' alias - use '.eq()' - **[breaking]** - remove `.json(0)` shorthand - use `.json()[0]` - **[breaking]** - remove `.tagger()` - use .compute('tagger') -- **[breaking]** - remove `.export()` -> .load() - use .json() -> nlp(json) +- **[breaking]** - remove `.export()` -> .load() - use .json() -> nlp(json) - **[breaking]** - remove `nlp.clone()` -- **[breaking]** - remove `.join()` *deprecated* -- **[breaking]** - remove `.lists()` *deprecated* -- **[breaking]** - remove `.segment()` *deprecated* +- **[breaking]** - remove `.join()` _deprecated_ +- **[breaking]** - remove `.lists()` _deprecated_ +- **[breaking]** - remove `.segment()` _deprecated_ - **[breaking]** - remove `.sententences().toParticiple()` & `.verbs().toParticiple()` - **[breaking]** - remove `.nouns().toPossessive()` & `.nouns().hasPlural()` - **[breaking]** - remove array support in match methods - (use `.match().match()` instead) diff --git a/data/lexicon/misc/expressions.js b/data/lexicon/misc/expressions.js index 6cef5f650..aa8b3db1a 100644 --- a/data/lexicon/misc/expressions.js +++ b/data/lexicon/misc/expressions.js @@ -122,7 +122,7 @@ export default [ 'shoo', 'there now', 'aye', - 'cmon',//come on + 'cmon', //come on 'excuse me', 'oh well', 'oh hell', @@ -140,5 +140,11 @@ export default [ 'omg', 'aka', 'holla', - 'very well' + 'very well', + + 'eureka', + 'farewell', + 'yea', + 'nay', + 'yah', ] diff --git a/data/lexicon/nouns/organizations.js b/data/lexicon/nouns/organizations.js index 09b72a5a7..7315fe142 100644 --- a/data/lexicon/nouns/organizations.js +++ b/data/lexicon/nouns/organizations.js @@ -327,4 +327,26 @@ export default [ 'eurosceptics', 'brexiteers', + 'audi', + 'bacardi', + 'cadillac', + 'coco chanel', + 'fc barcelona', + 'fifa', + 'halliburton', + 'ikea', + 'klm', + 'lexus', + // 'mcgill university', + 'michelin', + 'nivea', + 'pepsi', + 'philips', + 'premier league', + 'real madrid', + 'roman empire', + 'scientology', + 'smirnoff', + 'wikileaks', + 'wikipedia', ] diff --git a/data/lexicon/nouns/properNouns.js b/data/lexicon/nouns/properNouns.js index 12d176bda..451902070 100644 --- a/data/lexicon/nouns/properNouns.js +++ b/data/lexicon/nouns/properNouns.js @@ -13,9 +13,10 @@ export default [ 'missy', 'florence', 'stevens', + 'abid', // currencies 'nis', 'riel', 'euro', 'iron maiden', -] \ No newline at end of file +] diff --git a/data/lexicon/nouns/singulars.js b/data/lexicon/nouns/singulars.js index 0b509141b..6570bee52 100644 --- a/data/lexicon/nouns/singulars.js +++ b/data/lexicon/nouns/singulars.js @@ -21,7 +21,6 @@ export default [ 'characteristic', 'statistic', - // -ed 'seabed', 'waterbed', @@ -90,7 +89,6 @@ export default [ 'estate', 'prostate', - 'plebiscite', 'luddite', 'urbanite', @@ -118,7 +116,6 @@ export default [ 'egg', 'pig', - // -ing 'pudding', 'thing', @@ -217,11 +214,10 @@ export default [ 'carrier', 'dossier', 'frontier', - 'métier', + 'metier', 'reformer', 'dinner', - 'door', 'indices', 'others', @@ -258,7 +254,6 @@ export default [ // -ist 'waist', - 'bout', 'overview', 'tv show', @@ -438,5 +433,3 @@ export default [ 'cannibal', 'video game', ] - - diff --git a/data/lexicon/people/femaleNames.js b/data/lexicon/people/femaleNames.js index 77d27c59d..bc754806f 100644 --- a/data/lexicon/people/femaleNames.js +++ b/data/lexicon/people/femaleNames.js @@ -188,6 +188,7 @@ export default [ 'avigail', 'awa', 'aya', + 'ayn', 'ayana', 'ayanna', 'ayesha', @@ -527,6 +528,7 @@ export default [ 'emily', 'emina', 'emine', + 'emmeline', 'emma', 'emmaline', 'emmie', @@ -1756,6 +1758,49 @@ export default [ 'zola', 'zora', 'zsofia', + + 'abie', + 'aneta', + 'annett', + 'augustine', + 'becca', + 'bertie', + 'brigitte', + 'carlotta', + 'ekaterina', + 'eleni', + 'elie', + 'emanuela', + 'emile', + 'emile', + 'emmanuelle', + 'etienne', + 'ewa', + 'gabi', + 'gertrud', + 'iwona', + 'jacky', + 'jules', + 'kalle', + 'kat', + 'larisa', + 'lex', + 'liv', + 'luise', + 'maud', + 'midori', + 'milena', + 'myriam', + 'nadya', + 'natalya', + 'oksana', + 'pia', + 'polina', + 'rebeca', + 'sharyn', + 'sri', + 'stephane', + 'usha', // 'grace', // 'lily', // 'scarlet', diff --git a/data/lexicon/people/firstnames.js b/data/lexicon/people/firstnames.js index 5e2f09b62..377cda167 100644 --- a/data/lexicon/people/firstnames.js +++ b/data/lexicon/people/firstnames.js @@ -42,5 +42,32 @@ export default [ 'luca', 'manaia', 'melokuhle', - 'sumit' + 'sumit', + 'gaby', + 'jaime', + 'kendall', + 'syd', + 'kai', + 'kiril', + 'leif', + 'mads', + 'matti', + 'matty', + 'maxime', + 'nico', + 'niko', + 'nikos', + 'adrien', + 'alexei', + 'andi', + 'andrey', + 'avi', + 'darcy', + 'ilya', + 'werner', + 'francois', + 'friedrich', + 'akira', + 'alfie', + 'alois', ] diff --git a/data/lexicon/people/lastnames.js b/data/lexicon/people/lastnames.js index fc69b102f..1c2e33497 100644 --- a/data/lexicon/people/lastnames.js +++ b/data/lexicon/people/lastnames.js @@ -238,6 +238,7 @@ export default [ 'giordano', 'gjonaj', 'gjoni', + 'gorbachev', 'golubev', 'gomes', 'gomez', @@ -555,7 +556,6 @@ export default [ 'peretz', 'perez', 'peric', - 'perry', 'persson', 'petersen', 'peterson', @@ -793,4 +793,136 @@ export default [ 'zhou', 'zhu', 'atchison', + 'dickinson', + + 'stevens', + 'watson', + "o'brien", + "o'connor", + 'koch', + 'peters', + 'jacobs', + 'abbas', + 'richards', + 'fisher', + 'kapoor', + 'andrews', + 'holmes', + 'dixon', + 'matthews', + 'keller', + 'armstrong', + 'gibson', + 'krishna', + 'burns', + 'browne', + 'lang', + 'mann', + 'burke', + 'davidson', + 'reynolds', + 'greene', + 'roth', + 'williamson', + 'webb', + 'choudhury', + 'gardner', + 'hart', + 'morrison', + 'carr', + 'cunningham', + 'lehmann', + 'freeman', + 'crawford', + 'dunn', + 'daniels', + 'sakamoto', + 'morton', + 'agarwal', + 'zimmermann', + 'hawkins', + 'kikuchi', + 'ansari', + 'carlsson', + 'pearson', + 'jennings', + 'stephens', + 'chopra', + 'yokoyama', + 'myers', + 'saunders', + 'papadopoulos', + 'higgins', + 'webster', + 'wilkinson', + 'kramer', + 'bergman', + 'meier', + 'baldwin', + 'stein', + 'hopkins', + 'stevenson', + 'rosenberg', + 'lindstrom', + 'hoffman', + 'mclean', + 'wolff', + 'vidal', + 'kaplan', + 'lawson', + 'perkins', + 'hofmann', + 'krause', + 'harper', + 'bashir', + 'bates', + 'atkinson', + 'walters', + 'guerra', + 'benson', + 'nicholson', + 'schmitt', + 'schubert', + 'holt', + 'kane', + 'fleming', + 'gunnarsson', + 'montgomery', + 'hess', + 'fowler', + 'vogt', + 'tavares', + 'sinclair', + 'milosevic', + 'chattopadhyay', + 'rowe', + 'fuller', + 'norris', + 'jankovic', + 'owens', + 'adler', + 'nash', + 'steele', + 'fitzgerald', + 'lowe', + 'osborne', + 'kraus', + 'tate', + 'reis', + 'buchanan', + 'makarov', + 'harding', + 'goldberg', + 'sandberg', + 'griffith', + 'guerrero', + 'bartlett', + 'zakharov', + 'walton', + 'farrell', + 'olson', + 'howe', + 'goldstein', + 'chaudhry', + 'nichols', ] diff --git a/data/lexicon/people/maleNames.js b/data/lexicon/people/maleNames.js index 33b27bcbc..fed7d095d 100644 --- a/data/lexicon/people/maleNames.js +++ b/data/lexicon/people/maleNames.js @@ -275,6 +275,8 @@ export default [ 'dwight', 'dylan', 'dyllan', + 'dmitry', + 'ebenezer', 'ed', 'eddie', 'edgar', @@ -358,6 +360,7 @@ export default [ 'freddie', 'freddy', 'frederick', + 'frederic', 'fredrick', 'fritz', 'gabreal', @@ -507,6 +510,7 @@ export default [ 'jim', 'jimmie', 'jimmy', + 'jimi', 'joao', 'joaquin', 'joe', @@ -618,6 +622,7 @@ export default [ 'lyle', 'lyndon', 'maayan', + 'macaulay', // 'mack', 'mahamadou', 'mahammad', @@ -654,7 +659,6 @@ export default [ 'martin', 'marty', 'marvin', - 'mason', 'matej', 'mateo', 'matheus', @@ -683,6 +687,7 @@ export default [ 'michal', 'micheal', 'michel', + 'micky', 'miguel', 'mihai', 'mikaere', @@ -879,6 +884,7 @@ export default [ 'sebastian', 'sekou', 'selim', + 'sergei', 'sergio', 'seth', 'seymour', @@ -894,7 +900,9 @@ export default [ 'sid', 'siddhartha', 'sidney', + 'sigmund', 'silas', + 'silvio', 'simon', 'siyabonga', 'solomon', @@ -985,6 +993,7 @@ export default [ 'vojtech', 'wallace', 'wally', + 'walt', 'walter', 'waylon', 'wayne', @@ -1036,5 +1045,284 @@ export default [ 'zan', 'zane', 'zoran', + + 'adolph', + 'adriano', + 'aidan', + 'alain', + 'alastair', + 'albrecht', + 'aleksandr', + 'aleksei', + 'alexandre', + 'alexandros', + 'alf', + 'alistair', + 'alphonse', + 'amar', + 'anatoli', + 'anatoliy', + 'anatoly', + 'anders', + 'andrej', + 'andrzej', + 'anwar', + 'archibald', + 'armin', + 'arnaud', + 'arno', + 'artem', + 'artie', + 'artur', + 'augusto', + 'bartholomew', + 'benson', + 'bernhard', + 'bertrand', + 'bjorn', + 'bogdan', + 'branislav', + 'buster', + 'cal', + 'camillo', + 'camilo', + 'carlo', + 'chet', + 'christoph', + 'christophe', + 'christos', + 'claudio', + 'claus', + 'clemens', + 'clive', + 'connor', + 'constantin', + 'cornelis', + 'cristiano', + 'danilo', + 'deepak', + 'dieter', + 'dietmar', + 'dietrich', + 'dimitri', + 'dimitris', + 'dinesh', + 'dmitri', + 'dmitry', + 'ebenezer', + 'eduard', + 'eliot', + 'emiliano', + 'enrico', + 'erich', + 'ernst', + 'eugen', + 'evgeny', + 'fabien', + 'fabio', + 'fabrice', + 'fabrizio', + 'ferdinand', + 'ferdinando', + 'fergus', + 'florian', + 'fraser', + 'frederic', + 'frederik', + 'fredrik', + 'friedrich', + 'frits', + 'fyodor', + 'gabe', + 'gareth', + 'geoff', + 'georg', + 'georges', + 'georgi', + 'georgios', + 'georgy', + 'gerhard', + 'gerrit', + 'giacomo', + 'giles', + 'gilles', + 'giorgi', + 'giorgio', + 'giuseppe', + 'godfrey', + 'gord', + 'gottfried', + 'gregor', + 'guido', + 'guillaume', + 'gunnar', + 'gunter', + 'gunther', + 'gustaf', + 'gustav', + 'gustave', + 'gyorgy', + 'hamid', + 'harri', + 'heinrich', + 'hendrik', + 'henrik', + 'henryk', + 'hermann', + 'horacio', + 'horatio', + 'howie', + 'humphrey', + 'jaroslav', + 'jens', + 'johan', + 'johann', + 'johannes', + 'josef', + 'jozef', + 'kamil', + 'khalid', + 'kingsley', + 'kiril', + 'kirill', + 'klaus', + 'konrad', + 'krzysztof', + 'kyls', + 'lambert', + 'laszlo', + 'laurent', + 'lennart', + 'leonid', + 'leopold', + 'linus', + 'luc', + 'lucien', + 'ludovic', + 'ludvig', + 'ludwig', + 'maciej', + 'magnus', + 'manfred', + 'manny', + 'marcello', + 'marcelo', + 'marcin', + 'mariano', + 'marios', + 'marius', + 'masoud', + 'mathias', + 'mathieu', + 'matthias', + 'mattias', + 'mervyn', + 'mick', + 'mickey', + 'mikhail', + 'moritz', + 'nate', + 'ned', + 'newton', + 'nguyen', + 'niels', + 'niklas', + 'nikolai', + 'nikolay', + 'nils', + 'norm', + 'olaf', + 'olav', + 'oleksandr', + 'olivier', + 'oswald', + 'paolo', + 'pascal', + 'patrik', + 'paulie', + 'pavel', + 'pavlo', + 'petr', + 'petro', + 'philipp', + 'philippe', + 'pieter', + 'pietro', + 'piotr', + 'pravit', + 'pyotr', + 'rahul', + 'rainer', + 'rajesh', + 'raoul', + 'rashid', + 'recep', + 'reece', + 'rolf', + 'ronan', + 'rosario', + 'rudolf', + 'saeed', + 'sal', + 'sami', + 'samir', + 'sandeep', + 'sandro', + 'sanjay', + 'satoshi', + 'sebastien', + 'sepp', + 'serge', + 'sergei', + 'sergey', + 'shlomo', + 'sigmund', + 'silvio', + 'slobodan', + 'soren', + 'stanislav', + 'stefano', + 'stefanos', + 'stu', + 'suresh', + 'sven', + 'svend', + 'syed', + 'theodor', + 'tomasz', + 'ulrich', + 'ulrik', + 'umberto', + 'uri', + 'val', + 'vasily', + 'vern', + 'vernon', + 'vic', + 'vincenzo', + 'vivek', + 'vlad', + 'vladislav', + 'volodymyr', + 'walt', + 'werner', + 'wilfrid', + 'wilfried', + 'wilhelm', + 'willy', + 'winfried', + 'winslow', + 'yann', + 'yannick', + 'yaroslav', + 'yevgeni', + 'yevgeny', + 'yuen', + 'yuri', + 'yuriy', + 'yury', + 'zac', + 'zach', + // 'chase', ] diff --git a/data/lexicon/people/people.js b/data/lexicon/people/people.js index b6b5c62c8..2f5b3f76c 100644 --- a/data/lexicon/people/people.js +++ b/data/lexicon/people/people.js @@ -106,17 +106,116 @@ export default [ 'ezekiel', 'gaston', 'inez', - 'jaime', - 'kendall', 'jefferson', 'lee', 'nettie', 'ora', 'palmer', 'piper', + 'humphrey', + 'raisa', // 'sung', 'taylor', 'reilly', 'warren', 'woode', + + 'al capone', + 'al pacino', + 'archimedes', + 'avril lavigne', + 'ayn rand', + 'benazir bhutto', + 'bill gates', + 'bing crosby', + 'captain beefheart', + 'chopin', + 'christian bale', + 'conan', + 'cthulhu', + 'dalai lama', + 'darth vader', + 'demi lovato', + 'diego maradona', + 'doctor who', + 'emile zatopek', + 'florence nightingale', + 'frederic chopin', + 'haile selassie', + 'harrison ford', + 'he man', + 'henry ford', + 'humphrey bogart', + 'iron man', + 'jrr tolkien', + 'jfk', + 'jack the ripper', + 'jawaharlal nehru', + 'jay z', + 'kid cudi', + 'lech walesa', + 'mata hari', + 'maya angelou', + 'merlin', + 'napoleon', + 'pocahontas', + 'rachmaninoff', + 'ringo starr', + 'robin hood', + 'santa claus', + 'sherlock holmes', + 'shia labeouf', + 'snoop dogg', + 'snow white', + 'spider-man', + 'spiderman', + 'superman', + 'thor', + 'tupac shakur', + 'usain bolt', + 'vin diesel', + 'virginia woolf', + 'walt disney', + 'will ferrell', + 'wiz khalifa', + 'yoko onen', + 'yoko ono', + + // first+last names + 'bertil', + 'camillo', + 'eustace', + 'hedwig', + 'hilde', + 'ilias', + 'oleg', + 'pilar', + 'reilley', + 'reinhold', + 'siegfried', + 'swami', + 'takashi', + 'tatyana', + 'tripp', + 'tully', + 'wolfram', + 'yuji', + 'yvan', + 'yves', + 'frans', + 'franz', + 'giannis', + 'ferguson', + 'rashid', + 'newman', + 'goodwin', + 'bhatt', + 'lu', + 'markov', + 'husain', + 'hammond', + 'hamid', + 'perry', + 'mason', + // '', ] diff --git a/data/lexicon/places/cities.js b/data/lexicon/places/cities.js index 86cda3f99..dfe75d24d 100644 --- a/data/lexicon/places/cities.js +++ b/data/lexicon/places/cities.js @@ -92,7 +92,6 @@ export default [ // 'houston', 'incheon', 'istanbul', - 'i̇zmir', 'jakarta', 'kabul', 'kampala', @@ -129,7 +128,7 @@ export default [ 'manila', 'maribor', 'marseille', - 'medellín', + 'medellin', 'melbourne', 'milan', 'minsk', @@ -301,6 +300,7 @@ export default [ 'mogadishu', 'faisalabad', 'izmir', + 'izmir', 'lucknow', 'fortaleza', 'surabaya', diff --git a/data/lexicon/places/places.js b/data/lexicon/places/places.js index 70d1b7a0f..10b610271 100644 --- a/data/lexicon/places/places.js +++ b/data/lexicon/places/places.js @@ -102,4 +102,34 @@ export default [ 'chuuk', 'kosrae', 'sakhalin', + + // US national monuments + 'alhambra', + 'arc de triomphe', + 'browns canyon', + 'carrizo plain', + 'cedar breaks', + 'chichen itza', + 'chimney rock', + 'chiricahua', + 'colosseum', + 'hovenweep', + 'kazan kremlin', + 'lincoln memorial', + 'machu picchu', + 'neuschwanstein', + 'papahanaumokuakea', + 'parthenon', + 'pompeii', + 'taj mahal', + 'teotihuacan', + 'tonto', + 'tsarskoe selo', + 'tulum', + 'tuzigoot', + 'virgin islands', + 'wupatki', + 'cedar breaks', + 'scotts bluff', + 'saint lawrence river', ] diff --git a/data/lexicon/switches/person-adj.js b/data/lexicon/switches/person-adj.js index 161b4bd66..c30324743 100644 --- a/data/lexicon/switches/person-adj.js +++ b/data/lexicon/switches/person-adj.js @@ -8,5 +8,7 @@ export default [ 'earnest', 'frank', // 'young', - 'brown' + 'brown', + 'bella', + 'woody' ] \ No newline at end of file diff --git a/data/lexicon/switches/person-noun.js b/data/lexicon/switches/person-noun.js index f9f004479..2428b1eff 100644 --- a/data/lexicon/switches/person-noun.js +++ b/data/lexicon/switches/person-noun.js @@ -12,6 +12,7 @@ export default [ 'bill', 'brandy', 'brook', + 'cam', 'charity', 'chin', 'christian', @@ -35,6 +36,7 @@ export default [ 'gail', 'gene', 'grant', + "guy", 'hall', 'hazel', 'hill', @@ -80,6 +82,26 @@ export default [ 'wang', 'ward', 'venus', - + "dj", + "paddy", + "herb", + "fanny", + "norm", + "bo", + "bud", + "finn", + "mat", + "mats", + "nat", + "hunter", + "ward", + "dean", + "gill", + "chambers", + "watts", + "banks", + "fields", + "miles", + "potter", ] diff --git a/data/lexicon/switches/person-place.js b/data/lexicon/switches/person-place.js index 84df222c5..30bae0bcb 100644 --- a/data/lexicon/switches/person-place.js +++ b/data/lexicon/switches/person-place.js @@ -3,6 +3,7 @@ export default [ 'alexandria', 'austin', 'darwin', + 'diego', 'hamilton', 'houston', 'jordan', @@ -14,4 +15,5 @@ export default [ 'santiago', 'sydney', 'victoria', -] \ No newline at end of file + 'virginia', +] diff --git a/data/lexicon/switches/person-verb.js b/data/lexicon/switches/person-verb.js index ea34b30b3..a3ab5c79f 100644 --- a/data/lexicon/switches/person-verb.js +++ b/data/lexicon/switches/person-verb.js @@ -27,6 +27,7 @@ export default [ 'spike', 'stew', 'sue', + 'skip', 'wade', // 'hope', // 'trace', diff --git a/package-lock.json b/package-lock.json index 9c4836c21..eaae9337e 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "compromise", - "version": "14.10.0", + "version": "14.10.1", "lockfileVersion": 2, "requires": true, "packages": { "": { "name": "compromise", - "version": "14.10.0", + "version": "14.10.1", "license": "MIT", "dependencies": { "efrt": "2.7.0", @@ -18,14 +18,14 @@ "@rollup/plugin-terser": "0.4.3", "amble": "1.3.0", "cross-env": "^7.0.3", - "eslint": "8.46.0", + "eslint": "8.53.0", "eslint-plugin-regexp": "1.15.0", "nlp-corpus": "4.4.0", "rollup": "3.28.0", "rollup-plugin-filesize-check": "^0.0.2", "shelljs": "0.8.5", "tap-dancer": "0.3.4", - "tape": "5.6.6" + "tape": "5.7.2" }, "engines": { "node": ">=12.0.0" @@ -56,18 +56,18 @@ } }, "node_modules/@eslint-community/regexpp": { - "version": "4.6.2", - "resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.6.2.tgz", - "integrity": "sha512-pPTNuaAG3QMH+buKyBIGJs3g/S5y0caxw0ygM3YyE6yJFySwiGGSzA+mM3KJ8QQvzeLh3blwgSonkFjgQdxzMw==", + "version": "4.10.0", + "resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.10.0.tgz", + "integrity": "sha512-Cu96Sd2By9mCNTx2iyKOmq10v22jUVQv0lQnlGNy16oE9589yE+QADPbrMGCkA51cKZSg3Pu/aTJVTGfL/qjUA==", "dev": true, "engines": { "node": "^12.0.0 || ^14.0.0 || >=16.0.0" } }, "node_modules/@eslint/eslintrc": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-2.1.1.tgz", - "integrity": "sha512-9t7ZA7NGGK8ckelF0PQCfcxIUzs1Md5rrO6U/c+FIQNanea5UZC0wqKXH4vHBccmu4ZJgZ2idtPeW7+Q2npOEA==", + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-2.1.3.tgz", + "integrity": "sha512-yZzuIG+jnVu6hNSzFEN07e8BxF3uAzYtQb6uDkaYZLo6oYZDCq454c5kB8zxnzfCYyP4MIuyBn10L0DqwujTmA==", "dev": true, "dependencies": { "ajv": "^6.12.4", @@ -88,21 +88,21 @@ } }, "node_modules/@eslint/js": { - "version": "8.46.0", - "resolved": "https://registry.npmjs.org/@eslint/js/-/js-8.46.0.tgz", - "integrity": "sha512-a8TLtmPi8xzPkCbp/OGFUo5yhRkHM2Ko9kOWP4znJr0WAhWyThaw3PnwX4vOTWOAMsV2uRt32PPDcEz63esSaA==", + "version": "8.53.0", + "resolved": "https://registry.npmjs.org/@eslint/js/-/js-8.53.0.tgz", + "integrity": "sha512-Kn7K8dx/5U6+cT1yEhpX1w4PCSg0M+XyRILPgvwcEBjerFWCwQj5sbr3/VmxqV0JGHCBCzyd6LxypEuehypY1w==", "dev": true, "engines": { "node": "^12.22.0 || ^14.17.0 || >=16.0.0" } }, "node_modules/@humanwhocodes/config-array": { - "version": "0.11.10", - "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.11.10.tgz", - "integrity": "sha512-KVVjQmNUepDVGXNuoRRdmmEjruj0KfiGSbS8LVc12LMsWDQzRXJ0qdhN8L8uUigKpfEHRhlaQFY0ib1tnUbNeQ==", + "version": "0.11.13", + "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.11.13.tgz", + "integrity": "sha512-JSBDMiDKSzQVngfRjOdFXgFfklaXI4K9nLF49Auh21lmBWRLIK3+xTErTWD4KU54pb6coM6ESE7Awz/FNU3zgQ==", "dev": true, "dependencies": { - "@humanwhocodes/object-schema": "^1.2.1", + "@humanwhocodes/object-schema": "^2.0.1", "debug": "^4.1.1", "minimatch": "^3.0.5" }, @@ -124,9 +124,9 @@ } }, "node_modules/@humanwhocodes/object-schema": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-1.2.1.tgz", - "integrity": "sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA==", + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-2.0.1.tgz", + "integrity": "sha512-dvuCeX5fC9dXgJn9t+X5atfmgQAzUOWqS1254Gh0m6i8wKd10ebXkfNKiRK+1GWi/yTvvLDHpoxLr0xxxeslWw==", "dev": true }, "node_modules/@jridgewell/gen-mapping": { @@ -200,10 +200,13 @@ } }, "node_modules/@ljharb/through": { - "version": "2.3.9", - "resolved": "https://registry.npmjs.org/@ljharb/through/-/through-2.3.9.tgz", - "integrity": "sha512-yN599ZBuMPPK4tdoToLlvgJB4CLK8fGl7ntfy0Wn7U6ttNvHYurd81bfUiK/6sMkiIwm65R6ck4L6+Y3DfVbNQ==", + "version": "2.3.11", + "resolved": "https://registry.npmjs.org/@ljharb/through/-/through-2.3.11.tgz", + "integrity": "sha512-ccfcIDlogiXNq5KcbAwbaO7lMh3Tm1i3khMPYpxlK8hH/W53zN81KM9coerRLOnTGu3nfXIniAmQbRI9OxbC0w==", "dev": true, + "dependencies": { + "call-bind": "^1.0.2" + }, "engines": { "node": ">= 0.4" } @@ -333,6 +336,12 @@ "integrity": "sha512-60BCwRFOZCQhDncwQdxxeOEEkbc5dIMccYLwbxsS4TUNeVECQ/pBJ0j09mrHOl/JJvpRPGwO9SvE4nR2Nb/a4Q==", "dev": true }, + "node_modules/@ungap/structured-clone": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@ungap/structured-clone/-/structured-clone-1.2.0.tgz", + "integrity": "sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ==", + "dev": true + }, "node_modules/acorn": { "version": "8.10.0", "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.10.0.tgz", @@ -425,14 +434,14 @@ } }, "node_modules/array.prototype.every": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/array.prototype.every/-/array.prototype.every-1.1.4.tgz", - "integrity": "sha512-Aui35iRZk1HHLRAyF7QP0KAnOnduaQ6fo6k1NVWfRc0xTs2AZ70ytlXvOmkC6Di4JmUs2Wv3DYzGtCQFSk5uGg==", + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/array.prototype.every/-/array.prototype.every-1.1.5.tgz", + "integrity": "sha512-FfMQJ+/joFGXpRCltbzV3znaP5QxIhLFySo0fEPn3GuoYlud9LhknMCIxdYKC2qsM/6VHoSp6YGwe3EZXrEcwQ==", "dev": true, "dependencies": { "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "es-abstract": "^1.20.4", + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1", "is-string": "^1.0.7" }, "engines": { @@ -442,6 +451,27 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/arraybuffer.prototype.slice": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/arraybuffer.prototype.slice/-/arraybuffer.prototype.slice-1.0.2.tgz", + "integrity": "sha512-yMBKppFur/fbHu9/6USUe03bZ4knMYiwFBcyiaXB8Go0qNehwX6inYPzK9U0NeQvGxKthcmHcaR8P5MStSRBAw==", + "dev": true, + "dependencies": { + "array-buffer-byte-length": "^1.0.0", + "call-bind": "^1.0.2", + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1", + "get-intrinsic": "^1.2.1", + "is-array-buffer": "^3.0.2", + "is-shared-array-buffer": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/available-typed-arrays": { "version": "1.0.5", "resolved": "https://registry.npmjs.org/available-typed-arrays/-/available-typed-arrays-1.0.5.tgz", @@ -510,13 +540,17 @@ } }, "node_modules/call-bind": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.2.tgz", - "integrity": "sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==", + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.5.tgz", + "integrity": "sha512-C3nQxfFZxFRVoJoGKKI8y3MOEo129NQ+FgQ08iye+Mk4zNZZGdjfs06bVTr+DBSlA66Q2VEcMki/cUCP4SercQ==", "dev": true, "dependencies": { - "function-bind": "^1.1.1", - "get-intrinsic": "^1.0.2" + "function-bind": "^1.1.2", + "get-intrinsic": "^1.2.1", + "set-function-length": "^1.1.1" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, "node_modules/callsites": { @@ -562,9 +596,9 @@ "dev": true }, "node_modules/comment-parser": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/comment-parser/-/comment-parser-1.2.4.tgz", - "integrity": "sha512-pm0b+qv+CkWNriSTMsfnjChF9kH0kxz55y44Wo5le9qLxMj5xDQAaEd9ZN1ovSuk9CsrncWaFwgpOMg7ClJwkw==", + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/comment-parser/-/comment-parser-1.4.1.tgz", + "integrity": "sha512-buhp5kePrmda3vhc5B9t7pUQXAb2Tnd0qgpkIhPhkHXxJpiPJ11H0ZEU0oBpJ2QztSbzG/ZxMj/CHsYJqRHmyg==", "dev": true, "engines": { "node": ">= 12.0.0" @@ -681,6 +715,20 @@ "node": ">=0.10.0" } }, + "node_modules/define-data-property": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/define-data-property/-/define-data-property-1.1.1.tgz", + "integrity": "sha512-E7uGkTzkk1d0ByLeSc6ZsFS79Axg+m1P/VsgYsxHgiuc3tFSj+MjMIwe90FC4lOAZzNBdY7kkO2P2wKdsQ1vgQ==", + "dev": true, + "dependencies": { + "get-intrinsic": "^1.2.1", + "gopd": "^1.0.1", + "has-property-descriptors": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + } + }, "node_modules/define-properties": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.2.0.tgz", @@ -739,44 +787,50 @@ } }, "node_modules/es-abstract": { - "version": "1.21.1", - "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.21.1.tgz", - "integrity": "sha512-QudMsPOz86xYz/1dG1OuGBKOELjCh99IIWHLzy5znUB6j8xG2yMA7bfTV86VSqKF+Y/H08vQPR+9jyXpuC6hfg==", + "version": "1.22.3", + "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.22.3.tgz", + "integrity": "sha512-eiiY8HQeYfYH2Con2berK+To6GrK2RxbPawDkGq4UiCQQfZHb6wX9qQqkbpPqaxQFcl8d9QzZqo0tGE0VcrdwA==", "dev": true, "dependencies": { + "array-buffer-byte-length": "^1.0.0", + "arraybuffer.prototype.slice": "^1.0.2", "available-typed-arrays": "^1.0.5", - "call-bind": "^1.0.2", + "call-bind": "^1.0.5", "es-set-tostringtag": "^2.0.1", "es-to-primitive": "^1.2.1", - "function-bind": "^1.1.1", - "function.prototype.name": "^1.1.5", - "get-intrinsic": "^1.1.3", + "function.prototype.name": "^1.1.6", + "get-intrinsic": "^1.2.2", "get-symbol-description": "^1.0.0", "globalthis": "^1.0.3", "gopd": "^1.0.1", - "has": "^1.0.3", "has-property-descriptors": "^1.0.0", "has-proto": "^1.0.1", "has-symbols": "^1.0.3", - "internal-slot": "^1.0.4", - "is-array-buffer": "^3.0.1", + "hasown": "^2.0.0", + "internal-slot": "^1.0.5", + "is-array-buffer": "^3.0.2", "is-callable": "^1.2.7", "is-negative-zero": "^2.0.2", "is-regex": "^1.1.4", "is-shared-array-buffer": "^1.0.2", "is-string": "^1.0.7", - "is-typed-array": "^1.1.10", + "is-typed-array": "^1.1.12", "is-weakref": "^1.0.2", - "object-inspect": "^1.12.2", + "object-inspect": "^1.13.1", "object-keys": "^1.1.1", "object.assign": "^4.1.4", - "regexp.prototype.flags": "^1.4.3", + "regexp.prototype.flags": "^1.5.1", + "safe-array-concat": "^1.0.1", "safe-regex-test": "^1.0.0", - "string.prototype.trimend": "^1.0.6", - "string.prototype.trimstart": "^1.0.6", + "string.prototype.trim": "^1.2.8", + "string.prototype.trimend": "^1.0.7", + "string.prototype.trimstart": "^1.0.7", + "typed-array-buffer": "^1.0.0", + "typed-array-byte-length": "^1.0.0", + "typed-array-byte-offset": "^1.0.0", "typed-array-length": "^1.0.4", "unbox-primitive": "^1.0.2", - "which-typed-array": "^1.1.9" + "which-typed-array": "^1.1.13" }, "engines": { "node": ">= 0.4" @@ -812,14 +866,14 @@ "dev": true }, "node_modules/es-set-tostringtag": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/es-set-tostringtag/-/es-set-tostringtag-2.0.1.tgz", - "integrity": "sha512-g3OMbtlwY3QewlqAiMLI47KywjWZoEytKr8pf6iTC8uJq5bIAH52Z9pnQ8pVL6whrCto53JZDuUIsifGeLorTg==", + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/es-set-tostringtag/-/es-set-tostringtag-2.0.2.tgz", + "integrity": "sha512-BuDyupZt65P9D2D2vA/zqcI3G5xRsklm5N3xCwuiy+/vKy8i0ifdsQP1sLgO4tZDSCaQUSnmC48khknGMV3D2Q==", "dev": true, "dependencies": { - "get-intrinsic": "^1.1.3", - "has": "^1.0.3", - "has-tostringtag": "^1.0.0" + "get-intrinsic": "^1.2.2", + "has-tostringtag": "^1.0.0", + "hasown": "^2.0.0" }, "engines": { "node": ">= 0.4" @@ -843,18 +897,19 @@ } }, "node_modules/eslint": { - "version": "8.46.0", - "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.46.0.tgz", - "integrity": "sha512-cIO74PvbW0qU8e0mIvk5IV3ToWdCq5FYG6gWPHHkx6gNdjlbAYvtfHmlCMXxjcoVaIdwy/IAt3+mDkZkfvb2Dg==", + "version": "8.53.0", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.53.0.tgz", + "integrity": "sha512-N4VuiPjXDUa4xVeV/GC/RV3hQW9Nw+Y463lkWaKKXKYMvmRiRDAtfpuPFLN+E1/6ZhyR8J2ig+eVREnYgUsiag==", "dev": true, "dependencies": { "@eslint-community/eslint-utils": "^4.2.0", "@eslint-community/regexpp": "^4.6.1", - "@eslint/eslintrc": "^2.1.1", - "@eslint/js": "^8.46.0", - "@humanwhocodes/config-array": "^0.11.10", + "@eslint/eslintrc": "^2.1.3", + "@eslint/js": "8.53.0", + "@humanwhocodes/config-array": "^0.11.13", "@humanwhocodes/module-importer": "^1.0.1", "@nodelib/fs.walk": "^1.2.8", + "@ungap/structured-clone": "^1.2.0", "ajv": "^6.12.4", "chalk": "^4.0.0", "cross-spawn": "^7.0.2", @@ -862,7 +917,7 @@ "doctrine": "^3.0.0", "escape-string-regexp": "^4.0.0", "eslint-scope": "^7.2.2", - "eslint-visitor-keys": "^3.4.2", + "eslint-visitor-keys": "^3.4.3", "espree": "^9.6.1", "esquery": "^1.4.2", "esutils": "^2.0.2", @@ -935,9 +990,9 @@ } }, "node_modules/eslint-visitor-keys": { - "version": "3.4.2", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.2.tgz", - "integrity": "sha512-8drBzUEyZ2llkpCA67iYrgEssKDUu68V8ChqqOfFupIaG/LCVPUT+CoGJpT77zJprs4T/W7p07LP7zAIMuweVw==", + "version": "3.4.3", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz", + "integrity": "sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==", "dev": true, "engines": { "node": "^12.22.0 || ^14.17.0 || >=16.0.0" @@ -1220,21 +1275,24 @@ } }, "node_modules/function-bind": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", - "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==", - "dev": true + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz", + "integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==", + "dev": true, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } }, "node_modules/function.prototype.name": { - "version": "1.1.5", - "resolved": "https://registry.npmjs.org/function.prototype.name/-/function.prototype.name-1.1.5.tgz", - "integrity": "sha512-uN7m/BzVKQnCUF/iW8jYea67v++2u7m5UgENbHRtdDVclOUP+FMPlCNdmk0h/ysGyo2tavMJEDqJAkJdRa1vMA==", + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/function.prototype.name/-/function.prototype.name-1.1.6.tgz", + "integrity": "sha512-Z5kx79swU5P27WEayXM1tBi5Ze/lbIyiNgU3qyXUOf9b2rgXYyF9Dy9Cx+IQv/Lc8WCG6L82zwUPpSS9hGehIg==", "dev": true, "dependencies": { "call-bind": "^1.0.2", - "define-properties": "^1.1.3", - "es-abstract": "^1.19.0", - "functions-have-names": "^1.2.2" + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1", + "functions-have-names": "^1.2.3" }, "engines": { "node": ">= 0.4" @@ -1253,15 +1311,15 @@ } }, "node_modules/get-intrinsic": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.1.tgz", - "integrity": "sha512-2DcsyfABl+gVHEfCOaTrWgyt+tb6MSEGmKq+kI5HwLbIYgjgmMcV8KQ41uaKz1xxUcn9tJtgFbQUEVcEbd0FYw==", + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.2.tgz", + "integrity": "sha512-0gSo4ml/0j98Y3lngkFEot/zhiCeWsbYIlZ+uZOVgzLyLaUw7wxUL+nCTP0XJvJg1AXulJRI3UJi8GsbDuxdGA==", "dev": true, "dependencies": { - "function-bind": "^1.1.1", - "has": "^1.0.3", + "function-bind": "^1.1.2", "has-proto": "^1.0.1", - "has-symbols": "^1.0.3" + "has-symbols": "^1.0.3", + "hasown": "^2.0.0" }, "funding": { "url": "https://github.com/sponsors/ljharb" @@ -1325,9 +1383,9 @@ } }, "node_modules/globals": { - "version": "13.20.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-13.20.0.tgz", - "integrity": "sha512-Qg5QtVkCy/kv3FUSlu4ukeZDVf9ee0iXLAUYX13gbR17bnejFTzr4iS9bY7kwCf1NztRNm1t91fjOiyx4CSwPQ==", + "version": "13.23.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-13.23.0.tgz", + "integrity": "sha512-XAmF0RjlrjY23MA51q3HltdlGxUpXPvg0GioKiD9X6HD28iMjo2dKC8Vqwm7lne4GNr78+RHTfliktR6ZH09wA==", "dev": true, "dependencies": { "type-fest": "^0.20.2" @@ -1386,18 +1444,6 @@ "integrity": "sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==", "dev": true }, - "node_modules/has": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", - "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", - "dev": true, - "dependencies": { - "function-bind": "^1.1.1" - }, - "engines": { - "node": ">= 0.4.0" - } - }, "node_modules/has-bigints": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/has-bigints/-/has-bigints-1.0.2.tgz", @@ -1471,10 +1517,22 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/hasown": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.0.tgz", + "integrity": "sha512-vUptKVTpIJhcczKBbgnS+RtcuYMB8+oNzPK2/Hp3hanz8JmpATdmmgLgSaadVREkDm+e2giHwY3ZRkyjSIDDFA==", + "dev": true, + "dependencies": { + "function-bind": "^1.1.2" + }, + "engines": { + "node": ">= 0.4" + } + }, "node_modules/ignore": { - "version": "5.2.4", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.2.4.tgz", - "integrity": "sha512-MAb38BcSbH0eHNBxn7ql2NH/kX33OkB3lZ1BNdh7ENeRChHTYsTvWrMubiIAMNS2llXEEgZ1MUOBtXChP3kaFQ==", + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.3.0.tgz", + "integrity": "sha512-g7dmpshy+gD7mh88OC9NwSGTKoc3kyLAZQRU1mt53Aw/vnvfXnbC+F/7F7QoYVKbV+KNvJx8wArewKy1vXMtlg==", "dev": true, "engines": { "node": ">= 4" @@ -1522,13 +1580,13 @@ "dev": true }, "node_modules/internal-slot": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/internal-slot/-/internal-slot-1.0.4.tgz", - "integrity": "sha512-tA8URYccNzMo94s5MQZgH8NB/XTa6HsOo0MLfXTKKEnHVVdegzaQoFZ7Jp44bdvLvY2waT5dc+j5ICEswhi7UQ==", + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/internal-slot/-/internal-slot-1.0.6.tgz", + "integrity": "sha512-Xj6dv+PsbtwyPpEflsejS+oIZxmMlV44zAhG479uYu89MsjcYOhCFnNyKrkJrihbsiasQyY0afoCl/9BLR65bg==", "dev": true, "dependencies": { - "get-intrinsic": "^1.1.3", - "has": "^1.0.3", + "get-intrinsic": "^1.2.2", + "hasown": "^2.0.0", "side-channel": "^1.0.4" }, "engines": { @@ -1642,12 +1700,12 @@ } }, "node_modules/is-core-module": { - "version": "2.10.0", - "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.10.0.tgz", - "integrity": "sha512-Erxj2n/LDAZ7H8WNJXd9tw38GYM3dv8rk8Zcs+jJuxYTW7sozH+SS8NtrSjVL1/vpLvWi1hxy96IzjJ3EHTJJg==", + "version": "2.13.1", + "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.13.1.tgz", + "integrity": "sha512-hHrIjvZsftOsvKSn2TRYl63zvxsgE0K+0mYMoH6gD4omR5IWB2KynivBQczo3+wF1cCkjzvptnI9Q0sPU66ilw==", "dev": true, "dependencies": { - "has": "^1.0.3" + "hasown": "^2.0.0" }, "funding": { "url": "https://github.com/sponsors/ljharb" @@ -1817,16 +1875,12 @@ } }, "node_modules/is-typed-array": { - "version": "1.1.10", - "resolved": "https://registry.npmjs.org/is-typed-array/-/is-typed-array-1.1.10.tgz", - "integrity": "sha512-PJqgEHiWZvMpaFZ3uTc8kHPM4+4ADTlDniuQL7cU/UDA0Ql7F70yGfHph3cLNe+c9toaigv+DFzTJKhc2CtO6A==", + "version": "1.1.12", + "resolved": "https://registry.npmjs.org/is-typed-array/-/is-typed-array-1.1.12.tgz", + "integrity": "sha512-Z14TF2JNG8Lss5/HMqt0//T9JeHXttXy5pH/DBU4vi98ozO2btxzq9MwYDZYnKwU8nRsz/+GVFVRDq3DkVuSPg==", "dev": true, "dependencies": { - "available-typed-arrays": "^1.0.5", - "call-bind": "^1.0.2", - "for-each": "^0.3.3", - "gopd": "^1.0.1", - "has-tostringtag": "^1.0.0" + "which-typed-array": "^1.1.11" }, "engines": { "node": ">= 0.4" @@ -1972,6 +2026,32 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/mock-property": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/mock-property/-/mock-property-1.0.3.tgz", + "integrity": "sha512-2emPTb1reeLLYwHxyVx993iYyCHEiRRO+y8NFXFPL5kl5q14sgTK76cXyEKkeKCHeRw35SfdkUJ10Q1KfHuiIQ==", + "dev": true, + "dependencies": { + "define-data-property": "^1.1.1", + "functions-have-names": "^1.2.3", + "gopd": "^1.0.1", + "has-property-descriptors": "^1.0.0", + "hasown": "^2.0.0", + "isarray": "^2.0.5" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/mock-property/node_modules/isarray": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-2.0.5.tgz", + "integrity": "sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==", + "dev": true + }, "node_modules/ms": { "version": "2.1.2", "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", @@ -2000,9 +2080,9 @@ } }, "node_modules/object-inspect": { - "version": "1.12.3", - "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.12.3.tgz", - "integrity": "sha512-geUvdk7c+eizMNUDkRpW1wJwgfOiOeHbxBR/hLXK1aT6zmVSO0jsQcs7fj6MGw89jC/cjGfLcNOrtMYtGqm81g==", + "version": "1.13.1", + "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.13.1.tgz", + "integrity": "sha512-5qoj1RUiKOMsCCNLV1CBiPYE10sziTsnmNxkAI/rZhiD63CF7IqdFGC/XzjWjpSgLf0LxXX3bDFIh0E18f6UhQ==", "dev": true, "funding": { "url": "https://github.com/sponsors/ljharb" @@ -2180,9 +2260,9 @@ "dev": true }, "node_modules/punycode": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.0.tgz", - "integrity": "sha512-rRV+zQD8tVFys26lAGR9WUuS4iUAngJScM+ZRSKtvl5tKeZ2t5bvdNFdNHBW9FWR4guGHlgmsZ1G7BSm2wTbuA==", + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.1.tgz", + "integrity": "sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==", "dev": true, "engines": { "node": ">=6" @@ -2288,14 +2368,14 @@ } }, "node_modules/regexp.prototype.flags": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.5.0.tgz", - "integrity": "sha512-0SutC3pNudRKgquxGoRGIz946MZVHqbNfPjBdxeOhBrdgDKlRoXmYLQN9xRbrR09ZXWeGAdPuif7egofn6v5LA==", + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.5.1.tgz", + "integrity": "sha512-sy6TXMN+hnP/wMy+ISxg3krXx7BAtWVO4UouuCN/ziM9UEne0euamVNafDfvC83bRNr95y0V5iijeDQFUNpvrg==", "dev": true, "dependencies": { "call-bind": "^1.0.2", "define-properties": "^1.2.0", - "functions-have-names": "^1.2.3" + "set-function-name": "^2.0.0" }, "engines": { "node": ">= 0.4" @@ -2400,6 +2480,30 @@ "queue-microtask": "^1.2.2" } }, + "node_modules/safe-array-concat": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/safe-array-concat/-/safe-array-concat-1.0.1.tgz", + "integrity": "sha512-6XbUAseYE2KtOuGueyeobCySj9L4+66Tn6KQMOPQJrAJEowYKW/YR/MGJZl7FdydUdaFu4LYyDZjxf4/Nmo23Q==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "get-intrinsic": "^1.2.1", + "has-symbols": "^1.0.3", + "isarray": "^2.0.5" + }, + "engines": { + "node": ">=0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/safe-array-concat/node_modules/isarray": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-2.0.5.tgz", + "integrity": "sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==", + "dev": true + }, "node_modules/safe-buffer": { "version": "5.1.2", "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", @@ -2431,6 +2535,35 @@ "regexp-ast-analysis": "^0.6.0" } }, + "node_modules/set-function-length": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/set-function-length/-/set-function-length-1.1.1.tgz", + "integrity": "sha512-VoaqjbBJKiWtg4yRcKBQ7g7wnGnLV3M8oLvVWwOk2PdYY6PEFegR1vezXR0tw6fZGF9csVakIRjrJiy2veSBFQ==", + "dev": true, + "dependencies": { + "define-data-property": "^1.1.1", + "get-intrinsic": "^1.2.1", + "gopd": "^1.0.1", + "has-property-descriptors": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/set-function-name": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/set-function-name/-/set-function-name-2.0.1.tgz", + "integrity": "sha512-tMNCiqYVkXIZgc2Hnoy2IvC/f8ezc5koaRFkCjrpWzGpCd3qbZXPzVy9MAZzK1ch/X0jvSkojys3oqJN0qCmdA==", + "dev": true, + "dependencies": { + "define-data-property": "^1.0.1", + "functions-have-names": "^1.2.3", + "has-property-descriptors": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + } + }, "node_modules/shebang-command": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", @@ -2542,14 +2675,14 @@ } }, "node_modules/string.prototype.trim": { - "version": "1.2.7", - "resolved": "https://registry.npmjs.org/string.prototype.trim/-/string.prototype.trim-1.2.7.tgz", - "integrity": "sha512-p6TmeT1T3411M8Cgg9wBTMRtY2q9+PNy9EV1i2lIXUN/btt763oIfxwN3RR8VU6wHX8j/1CFy0L+YuThm6bgOg==", + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/string.prototype.trim/-/string.prototype.trim-1.2.8.tgz", + "integrity": "sha512-lfjY4HcixfQXOfaqCvcBuOIapyaroTXhbkfJN3gcB1OtyupngWK4sEET9Knd0cXd28kTUqu/kHoV4HKSJdnjiQ==", "dev": true, "dependencies": { "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "es-abstract": "^1.20.4" + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1" }, "engines": { "node": ">= 0.4" @@ -2559,28 +2692,28 @@ } }, "node_modules/string.prototype.trimend": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.6.tgz", - "integrity": "sha512-JySq+4mrPf9EsDBEDYMOb/lM7XQLulwg5R/m1r0PXEFqrV0qHvl58sdTilSXtKOflCsK2E8jxf+GKC0T07RWwQ==", + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.7.tgz", + "integrity": "sha512-Ni79DqeB72ZFq1uH/L6zJ+DKZTkOtPIHovb3YZHQViE+HDouuU4mBrLOLDn5Dde3RF8qw5qVETEjhu9locMLvA==", "dev": true, "dependencies": { "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "es-abstract": "^1.20.4" + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1" }, "funding": { "url": "https://github.com/sponsors/ljharb" } }, "node_modules/string.prototype.trimstart": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.6.tgz", - "integrity": "sha512-omqjMDaY92pbn5HOX7f9IccLA+U1tA9GvtU4JrodiXFfYB7jPzzHpRzpglLAjtUV6bB557zwClJezTqnAiYnQA==", + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.7.tgz", + "integrity": "sha512-NGhtDFu3jCEm7B4Fy0DpLewdJQOZcQ0rGbwQ/+stjnrp2i+rlKeCvos9hOIeCmqwratM47OBxY7uFZzjxHXmrg==", "dev": true, "dependencies": { "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "es-abstract": "^1.20.4" + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1" }, "funding": { "url": "https://github.com/sponsors/ljharb" @@ -2665,32 +2798,33 @@ } }, "node_modules/tape": { - "version": "5.6.6", - "resolved": "https://registry.npmjs.org/tape/-/tape-5.6.6.tgz", - "integrity": "sha512-rGp2cZ3rfZ6QfTBm6yvohf8aXmDqPyzMKZwTMV12w4i+b/N2Adwlg8PlW8jLqWzlJUZhglyYaLOSrMt/ZlZkAA==", + "version": "5.7.2", + "resolved": "https://registry.npmjs.org/tape/-/tape-5.7.2.tgz", + "integrity": "sha512-cvSyprYahyOYXbtBwV/B7nrx7kINeZ3VZ9fKoSywoPwZN3oQ1WVLvt+Vl0XCz/gi37CDrY3dlW790nzviIzoPw==", "dev": true, "dependencies": { "@ljharb/resumer": "^0.0.1", - "@ljharb/through": "^2.3.9", - "array.prototype.every": "^1.1.4", - "call-bind": "^1.0.2", + "@ljharb/through": "^2.3.11", + "array.prototype.every": "^1.1.5", + "call-bind": "^1.0.5", "deep-equal": "^2.2.2", "defined": "^1.0.1", "dotignore": "^0.1.2", "for-each": "^0.3.3", "get-package-type": "^0.1.0", "glob": "^7.2.3", - "has": "^1.0.3", "has-dynamic-import": "^2.0.1", + "hasown": "^2.0.0", "inherits": "^2.0.4", "is-regex": "^1.1.4", "minimist": "^1.2.8", - "object-inspect": "^1.12.3", + "mock-property": "^1.0.2", + "object-inspect": "^1.13.1", "object-is": "^1.1.5", "object-keys": "^1.1.1", "object.assign": "^4.1.4", - "resolve": "^2.0.0-next.4", - "string.prototype.trim": "^1.2.7" + "resolve": "^2.0.0-next.5", + "string.prototype.trim": "^1.2.8" }, "bin": { "tape": "bin/tape" @@ -2700,12 +2834,12 @@ } }, "node_modules/tape/node_modules/resolve": { - "version": "2.0.0-next.4", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-2.0.0-next.4.tgz", - "integrity": "sha512-iMDbmAWtfU+MHpxt/I5iWI7cY6YVEZUQ3MBgPQ++XD1PELuJHIl82xBmObyP2KyQmkNB2dsqF7seoQQiAn5yDQ==", + "version": "2.0.0-next.5", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-2.0.0-next.5.tgz", + "integrity": "sha512-U7WjGVG9sH8tvjW5SmGbQuui75FiyjAX72HX15DwBBwF9dNiQZRQAg9nnPhYy+TUnE0+VcrttuvNI8oSxZcocA==", "dev": true, "dependencies": { - "is-core-module": "^2.9.0", + "is-core-module": "^2.13.0", "path-parse": "^1.0.7", "supports-preserve-symlinks-flag": "^1.0.0" }, @@ -2788,6 +2922,57 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/typed-array-buffer": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/typed-array-buffer/-/typed-array-buffer-1.0.0.tgz", + "integrity": "sha512-Y8KTSIglk9OZEr8zywiIHG/kmQ7KWyjseXs1CbSo8vC42w7hg2HgYTxSWwP0+is7bWDc1H+Fo026CpHFwm8tkw==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "get-intrinsic": "^1.2.1", + "is-typed-array": "^1.1.10" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/typed-array-byte-length": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/typed-array-byte-length/-/typed-array-byte-length-1.0.0.tgz", + "integrity": "sha512-Or/+kvLxNpeQ9DtSydonMxCx+9ZXOswtwJn17SNLvhptaXYDJvkFFP5zbfU/uLmvnBJlI4yrnXRxpdWH/M5tNA==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "for-each": "^0.3.3", + "has-proto": "^1.0.1", + "is-typed-array": "^1.1.10" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/typed-array-byte-offset": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/typed-array-byte-offset/-/typed-array-byte-offset-1.0.0.tgz", + "integrity": "sha512-RD97prjEt9EL8YgAgpOkf3O4IF9lhJFr9g0htQkm0rchFp/Vx7LW5Q8fSXXub7BXAODyUQohRMyOc3faCPd0hg==", + "dev": true, + "dependencies": { + "available-typed-arrays": "^1.0.5", + "call-bind": "^1.0.2", + "for-each": "^0.3.3", + "has-proto": "^1.0.1", + "is-typed-array": "^1.1.10" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/typed-array-length": { "version": "1.0.4", "resolved": "https://registry.npmjs.org/typed-array-length/-/typed-array-length-1.0.4.tgz", @@ -2879,17 +3064,16 @@ } }, "node_modules/which-typed-array": { - "version": "1.1.9", - "resolved": "https://registry.npmjs.org/which-typed-array/-/which-typed-array-1.1.9.tgz", - "integrity": "sha512-w9c4xkx6mPidwp7180ckYWfMmvxpjlZuIudNtDf4N/tTAUB8VJbX25qZoAsrtGuYNnGw3pa0AXgbGKRB8/EceA==", + "version": "1.1.13", + "resolved": "https://registry.npmjs.org/which-typed-array/-/which-typed-array-1.1.13.tgz", + "integrity": "sha512-P5Nra0qjSncduVPEAr7xhoF5guty49ArDTwzJ/yNuPIbZppyRxFQsRCWrocxIY+CnMVG+qfbU2FmDKyvSGClow==", "dev": true, "dependencies": { "available-typed-arrays": "^1.0.5", - "call-bind": "^1.0.2", + "call-bind": "^1.0.4", "for-each": "^0.3.3", "gopd": "^1.0.1", - "has-tostringtag": "^1.0.0", - "is-typed-array": "^1.1.10" + "has-tostringtag": "^1.0.0" }, "engines": { "node": ">= 0.4" @@ -2934,15 +3118,15 @@ } }, "@eslint-community/regexpp": { - "version": "4.6.2", - "resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.6.2.tgz", - "integrity": "sha512-pPTNuaAG3QMH+buKyBIGJs3g/S5y0caxw0ygM3YyE6yJFySwiGGSzA+mM3KJ8QQvzeLh3blwgSonkFjgQdxzMw==", + "version": "4.10.0", + "resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.10.0.tgz", + "integrity": "sha512-Cu96Sd2By9mCNTx2iyKOmq10v22jUVQv0lQnlGNy16oE9589yE+QADPbrMGCkA51cKZSg3Pu/aTJVTGfL/qjUA==", "dev": true }, "@eslint/eslintrc": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-2.1.1.tgz", - "integrity": "sha512-9t7ZA7NGGK8ckelF0PQCfcxIUzs1Md5rrO6U/c+FIQNanea5UZC0wqKXH4vHBccmu4ZJgZ2idtPeW7+Q2npOEA==", + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-2.1.3.tgz", + "integrity": "sha512-yZzuIG+jnVu6hNSzFEN07e8BxF3uAzYtQb6uDkaYZLo6oYZDCq454c5kB8zxnzfCYyP4MIuyBn10L0DqwujTmA==", "dev": true, "requires": { "ajv": "^6.12.4", @@ -2957,18 +3141,18 @@ } }, "@eslint/js": { - "version": "8.46.0", - "resolved": "https://registry.npmjs.org/@eslint/js/-/js-8.46.0.tgz", - "integrity": "sha512-a8TLtmPi8xzPkCbp/OGFUo5yhRkHM2Ko9kOWP4znJr0WAhWyThaw3PnwX4vOTWOAMsV2uRt32PPDcEz63esSaA==", + "version": "8.53.0", + "resolved": "https://registry.npmjs.org/@eslint/js/-/js-8.53.0.tgz", + "integrity": "sha512-Kn7K8dx/5U6+cT1yEhpX1w4PCSg0M+XyRILPgvwcEBjerFWCwQj5sbr3/VmxqV0JGHCBCzyd6LxypEuehypY1w==", "dev": true }, "@humanwhocodes/config-array": { - "version": "0.11.10", - "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.11.10.tgz", - "integrity": "sha512-KVVjQmNUepDVGXNuoRRdmmEjruj0KfiGSbS8LVc12LMsWDQzRXJ0qdhN8L8uUigKpfEHRhlaQFY0ib1tnUbNeQ==", + "version": "0.11.13", + "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.11.13.tgz", + "integrity": "sha512-JSBDMiDKSzQVngfRjOdFXgFfklaXI4K9nLF49Auh21lmBWRLIK3+xTErTWD4KU54pb6coM6ESE7Awz/FNU3zgQ==", "dev": true, "requires": { - "@humanwhocodes/object-schema": "^1.2.1", + "@humanwhocodes/object-schema": "^2.0.1", "debug": "^4.1.1", "minimatch": "^3.0.5" } @@ -2980,9 +3164,9 @@ "dev": true }, "@humanwhocodes/object-schema": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-1.2.1.tgz", - "integrity": "sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA==", + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-2.0.1.tgz", + "integrity": "sha512-dvuCeX5fC9dXgJn9t+X5atfmgQAzUOWqS1254Gh0m6i8wKd10ebXkfNKiRK+1GWi/yTvvLDHpoxLr0xxxeslWw==", "dev": true }, "@jridgewell/gen-mapping": { @@ -3044,10 +3228,13 @@ } }, "@ljharb/through": { - "version": "2.3.9", - "resolved": "https://registry.npmjs.org/@ljharb/through/-/through-2.3.9.tgz", - "integrity": "sha512-yN599ZBuMPPK4tdoToLlvgJB4CLK8fGl7ntfy0Wn7U6ttNvHYurd81bfUiK/6sMkiIwm65R6ck4L6+Y3DfVbNQ==", - "dev": true + "version": "2.3.11", + "resolved": "https://registry.npmjs.org/@ljharb/through/-/through-2.3.11.tgz", + "integrity": "sha512-ccfcIDlogiXNq5KcbAwbaO7lMh3Tm1i3khMPYpxlK8hH/W53zN81KM9coerRLOnTGu3nfXIniAmQbRI9OxbC0w==", + "dev": true, + "requires": { + "call-bind": "^1.0.2" + } }, "@nodelib/fs.scandir": { "version": "2.1.5", @@ -3134,6 +3321,12 @@ "integrity": "sha512-60BCwRFOZCQhDncwQdxxeOEEkbc5dIMccYLwbxsS4TUNeVECQ/pBJ0j09mrHOl/JJvpRPGwO9SvE4nR2Nb/a4Q==", "dev": true }, + "@ungap/structured-clone": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@ungap/structured-clone/-/structured-clone-1.2.0.tgz", + "integrity": "sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ==", + "dev": true + }, "acorn": { "version": "8.10.0", "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.10.0.tgz", @@ -3202,17 +3395,32 @@ } }, "array.prototype.every": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/array.prototype.every/-/array.prototype.every-1.1.4.tgz", - "integrity": "sha512-Aui35iRZk1HHLRAyF7QP0KAnOnduaQ6fo6k1NVWfRc0xTs2AZ70ytlXvOmkC6Di4JmUs2Wv3DYzGtCQFSk5uGg==", + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/array.prototype.every/-/array.prototype.every-1.1.5.tgz", + "integrity": "sha512-FfMQJ+/joFGXpRCltbzV3znaP5QxIhLFySo0fEPn3GuoYlud9LhknMCIxdYKC2qsM/6VHoSp6YGwe3EZXrEcwQ==", "dev": true, "requires": { "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "es-abstract": "^1.20.4", + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1", "is-string": "^1.0.7" } }, + "arraybuffer.prototype.slice": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/arraybuffer.prototype.slice/-/arraybuffer.prototype.slice-1.0.2.tgz", + "integrity": "sha512-yMBKppFur/fbHu9/6USUe03bZ4knMYiwFBcyiaXB8Go0qNehwX6inYPzK9U0NeQvGxKthcmHcaR8P5MStSRBAw==", + "dev": true, + "requires": { + "array-buffer-byte-length": "^1.0.0", + "call-bind": "^1.0.2", + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1", + "get-intrinsic": "^1.2.1", + "is-array-buffer": "^3.0.2", + "is-shared-array-buffer": "^1.0.2" + } + }, "available-typed-arrays": { "version": "1.0.5", "resolved": "https://registry.npmjs.org/available-typed-arrays/-/available-typed-arrays-1.0.5.tgz", @@ -3263,13 +3471,14 @@ "dev": true }, "call-bind": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.2.tgz", - "integrity": "sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==", + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.5.tgz", + "integrity": "sha512-C3nQxfFZxFRVoJoGKKI8y3MOEo129NQ+FgQ08iye+Mk4zNZZGdjfs06bVTr+DBSlA66Q2VEcMki/cUCP4SercQ==", "dev": true, "requires": { - "function-bind": "^1.1.1", - "get-intrinsic": "^1.0.2" + "function-bind": "^1.1.2", + "get-intrinsic": "^1.2.1", + "set-function-length": "^1.1.1" } }, "callsites": { @@ -3307,9 +3516,9 @@ "dev": true }, "comment-parser": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/comment-parser/-/comment-parser-1.2.4.tgz", - "integrity": "sha512-pm0b+qv+CkWNriSTMsfnjChF9kH0kxz55y44Wo5le9qLxMj5xDQAaEd9ZN1ovSuk9CsrncWaFwgpOMg7ClJwkw==", + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/comment-parser/-/comment-parser-1.4.1.tgz", + "integrity": "sha512-buhp5kePrmda3vhc5B9t7pUQXAb2Tnd0qgpkIhPhkHXxJpiPJ11H0ZEU0oBpJ2QztSbzG/ZxMj/CHsYJqRHmyg==", "dev": true }, "concat-map": { @@ -3399,6 +3608,17 @@ "integrity": "sha512-FJ3UgI4gIl+PHZm53knsuSFpE+nESMr7M4v9QcgB7S63Kj/6WqMiFQJpBBYz1Pt+66bZpP3Q7Lye0Oo9MPKEdg==", "dev": true }, + "define-data-property": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/define-data-property/-/define-data-property-1.1.1.tgz", + "integrity": "sha512-E7uGkTzkk1d0ByLeSc6ZsFS79Axg+m1P/VsgYsxHgiuc3tFSj+MjMIwe90FC4lOAZzNBdY7kkO2P2wKdsQ1vgQ==", + "dev": true, + "requires": { + "get-intrinsic": "^1.2.1", + "gopd": "^1.0.1", + "has-property-descriptors": "^1.0.0" + } + }, "define-properties": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.2.0.tgz", @@ -3439,44 +3659,50 @@ "integrity": "sha512-/RInbCy1d4P6Zdfa+TMVsf/ufZVotat5hCw3QXmWtjU+3pFEOvOQ7ibo3aIxyCJw2leIeAMjmPj+1SLJiCpdrQ==" }, "es-abstract": { - "version": "1.21.1", - "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.21.1.tgz", - "integrity": "sha512-QudMsPOz86xYz/1dG1OuGBKOELjCh99IIWHLzy5znUB6j8xG2yMA7bfTV86VSqKF+Y/H08vQPR+9jyXpuC6hfg==", + "version": "1.22.3", + "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.22.3.tgz", + "integrity": "sha512-eiiY8HQeYfYH2Con2berK+To6GrK2RxbPawDkGq4UiCQQfZHb6wX9qQqkbpPqaxQFcl8d9QzZqo0tGE0VcrdwA==", "dev": true, "requires": { + "array-buffer-byte-length": "^1.0.0", + "arraybuffer.prototype.slice": "^1.0.2", "available-typed-arrays": "^1.0.5", - "call-bind": "^1.0.2", + "call-bind": "^1.0.5", "es-set-tostringtag": "^2.0.1", "es-to-primitive": "^1.2.1", - "function-bind": "^1.1.1", - "function.prototype.name": "^1.1.5", - "get-intrinsic": "^1.1.3", + "function.prototype.name": "^1.1.6", + "get-intrinsic": "^1.2.2", "get-symbol-description": "^1.0.0", "globalthis": "^1.0.3", "gopd": "^1.0.1", - "has": "^1.0.3", "has-property-descriptors": "^1.0.0", "has-proto": "^1.0.1", "has-symbols": "^1.0.3", - "internal-slot": "^1.0.4", - "is-array-buffer": "^3.0.1", + "hasown": "^2.0.0", + "internal-slot": "^1.0.5", + "is-array-buffer": "^3.0.2", "is-callable": "^1.2.7", "is-negative-zero": "^2.0.2", "is-regex": "^1.1.4", "is-shared-array-buffer": "^1.0.2", "is-string": "^1.0.7", - "is-typed-array": "^1.1.10", + "is-typed-array": "^1.1.12", "is-weakref": "^1.0.2", - "object-inspect": "^1.12.2", + "object-inspect": "^1.13.1", "object-keys": "^1.1.1", "object.assign": "^4.1.4", - "regexp.prototype.flags": "^1.4.3", + "regexp.prototype.flags": "^1.5.1", + "safe-array-concat": "^1.0.1", "safe-regex-test": "^1.0.0", - "string.prototype.trimend": "^1.0.6", - "string.prototype.trimstart": "^1.0.6", + "string.prototype.trim": "^1.2.8", + "string.prototype.trimend": "^1.0.7", + "string.prototype.trimstart": "^1.0.7", + "typed-array-buffer": "^1.0.0", + "typed-array-byte-length": "^1.0.0", + "typed-array-byte-offset": "^1.0.0", "typed-array-length": "^1.0.4", "unbox-primitive": "^1.0.2", - "which-typed-array": "^1.1.9" + "which-typed-array": "^1.1.13" } }, "es-get-iterator": { @@ -3505,14 +3731,14 @@ } }, "es-set-tostringtag": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/es-set-tostringtag/-/es-set-tostringtag-2.0.1.tgz", - "integrity": "sha512-g3OMbtlwY3QewlqAiMLI47KywjWZoEytKr8pf6iTC8uJq5bIAH52Z9pnQ8pVL6whrCto53JZDuUIsifGeLorTg==", + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/es-set-tostringtag/-/es-set-tostringtag-2.0.2.tgz", + "integrity": "sha512-BuDyupZt65P9D2D2vA/zqcI3G5xRsklm5N3xCwuiy+/vKy8i0ifdsQP1sLgO4tZDSCaQUSnmC48khknGMV3D2Q==", "dev": true, "requires": { - "get-intrinsic": "^1.1.3", - "has": "^1.0.3", - "has-tostringtag": "^1.0.0" + "get-intrinsic": "^1.2.2", + "has-tostringtag": "^1.0.0", + "hasown": "^2.0.0" } }, "es-to-primitive": { @@ -3527,18 +3753,19 @@ } }, "eslint": { - "version": "8.46.0", - "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.46.0.tgz", - "integrity": "sha512-cIO74PvbW0qU8e0mIvk5IV3ToWdCq5FYG6gWPHHkx6gNdjlbAYvtfHmlCMXxjcoVaIdwy/IAt3+mDkZkfvb2Dg==", + "version": "8.53.0", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.53.0.tgz", + "integrity": "sha512-N4VuiPjXDUa4xVeV/GC/RV3hQW9Nw+Y463lkWaKKXKYMvmRiRDAtfpuPFLN+E1/6ZhyR8J2ig+eVREnYgUsiag==", "dev": true, "requires": { "@eslint-community/eslint-utils": "^4.2.0", "@eslint-community/regexpp": "^4.6.1", - "@eslint/eslintrc": "^2.1.1", - "@eslint/js": "^8.46.0", - "@humanwhocodes/config-array": "^0.11.10", + "@eslint/eslintrc": "^2.1.3", + "@eslint/js": "8.53.0", + "@humanwhocodes/config-array": "^0.11.13", "@humanwhocodes/module-importer": "^1.0.1", "@nodelib/fs.walk": "^1.2.8", + "@ungap/structured-clone": "^1.2.0", "ajv": "^6.12.4", "chalk": "^4.0.0", "cross-spawn": "^7.0.2", @@ -3546,7 +3773,7 @@ "doctrine": "^3.0.0", "escape-string-regexp": "^4.0.0", "eslint-scope": "^7.2.2", - "eslint-visitor-keys": "^3.4.2", + "eslint-visitor-keys": "^3.4.3", "espree": "^9.6.1", "esquery": "^1.4.2", "esutils": "^2.0.2", @@ -3664,9 +3891,9 @@ } }, "eslint-visitor-keys": { - "version": "3.4.2", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.2.tgz", - "integrity": "sha512-8drBzUEyZ2llkpCA67iYrgEssKDUu68V8ChqqOfFupIaG/LCVPUT+CoGJpT77zJprs4T/W7p07LP7zAIMuweVw==", + "version": "3.4.3", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz", + "integrity": "sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==", "dev": true }, "espree": { @@ -3810,21 +4037,21 @@ "optional": true }, "function-bind": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", - "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==", + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz", + "integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==", "dev": true }, "function.prototype.name": { - "version": "1.1.5", - "resolved": "https://registry.npmjs.org/function.prototype.name/-/function.prototype.name-1.1.5.tgz", - "integrity": "sha512-uN7m/BzVKQnCUF/iW8jYea67v++2u7m5UgENbHRtdDVclOUP+FMPlCNdmk0h/ysGyo2tavMJEDqJAkJdRa1vMA==", + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/function.prototype.name/-/function.prototype.name-1.1.6.tgz", + "integrity": "sha512-Z5kx79swU5P27WEayXM1tBi5Ze/lbIyiNgU3qyXUOf9b2rgXYyF9Dy9Cx+IQv/Lc8WCG6L82zwUPpSS9hGehIg==", "dev": true, "requires": { "call-bind": "^1.0.2", - "define-properties": "^1.1.3", - "es-abstract": "^1.19.0", - "functions-have-names": "^1.2.2" + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1", + "functions-have-names": "^1.2.3" } }, "functions-have-names": { @@ -3834,15 +4061,15 @@ "dev": true }, "get-intrinsic": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.1.tgz", - "integrity": "sha512-2DcsyfABl+gVHEfCOaTrWgyt+tb6MSEGmKq+kI5HwLbIYgjgmMcV8KQ41uaKz1xxUcn9tJtgFbQUEVcEbd0FYw==", + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.2.tgz", + "integrity": "sha512-0gSo4ml/0j98Y3lngkFEot/zhiCeWsbYIlZ+uZOVgzLyLaUw7wxUL+nCTP0XJvJg1AXulJRI3UJi8GsbDuxdGA==", "dev": true, "requires": { - "function-bind": "^1.1.1", - "has": "^1.0.3", + "function-bind": "^1.1.2", "has-proto": "^1.0.1", - "has-symbols": "^1.0.3" + "has-symbols": "^1.0.3", + "hasown": "^2.0.0" } }, "get-package-type": { @@ -3885,9 +4112,9 @@ } }, "globals": { - "version": "13.20.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-13.20.0.tgz", - "integrity": "sha512-Qg5QtVkCy/kv3FUSlu4ukeZDVf9ee0iXLAUYX13gbR17bnejFTzr4iS9bY7kwCf1NztRNm1t91fjOiyx4CSwPQ==", + "version": "13.23.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-13.23.0.tgz", + "integrity": "sha512-XAmF0RjlrjY23MA51q3HltdlGxUpXPvg0GioKiD9X6HD28iMjo2dKC8Vqwm7lne4GNr78+RHTfliktR6ZH09wA==", "dev": true, "requires": { "type-fest": "^0.20.2" @@ -3928,15 +4155,6 @@ "integrity": "sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==", "dev": true }, - "has": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", - "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", - "dev": true, - "requires": { - "function-bind": "^1.1.1" - } - }, "has-bigints": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/has-bigints/-/has-bigints-1.0.2.tgz", @@ -3983,10 +4201,19 @@ "has-symbols": "^1.0.2" } }, + "hasown": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.0.tgz", + "integrity": "sha512-vUptKVTpIJhcczKBbgnS+RtcuYMB8+oNzPK2/Hp3hanz8JmpATdmmgLgSaadVREkDm+e2giHwY3ZRkyjSIDDFA==", + "dev": true, + "requires": { + "function-bind": "^1.1.2" + } + }, "ignore": { - "version": "5.2.4", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.2.4.tgz", - "integrity": "sha512-MAb38BcSbH0eHNBxn7ql2NH/kX33OkB3lZ1BNdh7ENeRChHTYsTvWrMubiIAMNS2llXEEgZ1MUOBtXChP3kaFQ==", + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.3.0.tgz", + "integrity": "sha512-g7dmpshy+gD7mh88OC9NwSGTKoc3kyLAZQRU1mt53Aw/vnvfXnbC+F/7F7QoYVKbV+KNvJx8wArewKy1vXMtlg==", "dev": true }, "import-fresh": { @@ -4022,13 +4249,13 @@ "dev": true }, "internal-slot": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/internal-slot/-/internal-slot-1.0.4.tgz", - "integrity": "sha512-tA8URYccNzMo94s5MQZgH8NB/XTa6HsOo0MLfXTKKEnHVVdegzaQoFZ7Jp44bdvLvY2waT5dc+j5ICEswhi7UQ==", + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/internal-slot/-/internal-slot-1.0.6.tgz", + "integrity": "sha512-Xj6dv+PsbtwyPpEflsejS+oIZxmMlV44zAhG479uYu89MsjcYOhCFnNyKrkJrihbsiasQyY0afoCl/9BLR65bg==", "dev": true, "requires": { - "get-intrinsic": "^1.1.3", - "has": "^1.0.3", + "get-intrinsic": "^1.2.2", + "hasown": "^2.0.0", "side-channel": "^1.0.4" } }, @@ -4103,12 +4330,12 @@ "dev": true }, "is-core-module": { - "version": "2.10.0", - "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.10.0.tgz", - "integrity": "sha512-Erxj2n/LDAZ7H8WNJXd9tw38GYM3dv8rk8Zcs+jJuxYTW7sozH+SS8NtrSjVL1/vpLvWi1hxy96IzjJ3EHTJJg==", + "version": "2.13.1", + "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.13.1.tgz", + "integrity": "sha512-hHrIjvZsftOsvKSn2TRYl63zvxsgE0K+0mYMoH6gD4omR5IWB2KynivBQczo3+wF1cCkjzvptnI9Q0sPU66ilw==", "dev": true, "requires": { - "has": "^1.0.3" + "hasown": "^2.0.0" } }, "is-date-object": { @@ -4218,16 +4445,12 @@ } }, "is-typed-array": { - "version": "1.1.10", - "resolved": "https://registry.npmjs.org/is-typed-array/-/is-typed-array-1.1.10.tgz", - "integrity": "sha512-PJqgEHiWZvMpaFZ3uTc8kHPM4+4ADTlDniuQL7cU/UDA0Ql7F70yGfHph3cLNe+c9toaigv+DFzTJKhc2CtO6A==", + "version": "1.1.12", + "resolved": "https://registry.npmjs.org/is-typed-array/-/is-typed-array-1.1.12.tgz", + "integrity": "sha512-Z14TF2JNG8Lss5/HMqt0//T9JeHXttXy5pH/DBU4vi98ozO2btxzq9MwYDZYnKwU8nRsz/+GVFVRDq3DkVuSPg==", "dev": true, "requires": { - "available-typed-arrays": "^1.0.5", - "call-bind": "^1.0.2", - "for-each": "^0.3.3", - "gopd": "^1.0.1", - "has-tostringtag": "^1.0.0" + "which-typed-array": "^1.1.11" } }, "is-weakmap": { @@ -4334,6 +4557,28 @@ "integrity": "sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==", "dev": true }, + "mock-property": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/mock-property/-/mock-property-1.0.3.tgz", + "integrity": "sha512-2emPTb1reeLLYwHxyVx993iYyCHEiRRO+y8NFXFPL5kl5q14sgTK76cXyEKkeKCHeRw35SfdkUJ10Q1KfHuiIQ==", + "dev": true, + "requires": { + "define-data-property": "^1.1.1", + "functions-have-names": "^1.2.3", + "gopd": "^1.0.1", + "has-property-descriptors": "^1.0.0", + "hasown": "^2.0.0", + "isarray": "^2.0.5" + }, + "dependencies": { + "isarray": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-2.0.5.tgz", + "integrity": "sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==", + "dev": true + } + } + }, "ms": { "version": "2.1.2", "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", @@ -4359,9 +4604,9 @@ "dev": true }, "object-inspect": { - "version": "1.12.3", - "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.12.3.tgz", - "integrity": "sha512-geUvdk7c+eizMNUDkRpW1wJwgfOiOeHbxBR/hLXK1aT6zmVSO0jsQcs7fj6MGw89jC/cjGfLcNOrtMYtGqm81g==", + "version": "1.13.1", + "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.13.1.tgz", + "integrity": "sha512-5qoj1RUiKOMsCCNLV1CBiPYE10sziTsnmNxkAI/rZhiD63CF7IqdFGC/XzjWjpSgLf0LxXX3bDFIh0E18f6UhQ==", "dev": true }, "object-is": { @@ -4485,9 +4730,9 @@ "dev": true }, "punycode": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.0.tgz", - "integrity": "sha512-rRV+zQD8tVFys26lAGR9WUuS4iUAngJScM+ZRSKtvl5tKeZ2t5bvdNFdNHBW9FWR4guGHlgmsZ1G7BSm2wTbuA==", + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.1.tgz", + "integrity": "sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==", "dev": true }, "queue-microtask": { @@ -4564,14 +4809,14 @@ } }, "regexp.prototype.flags": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.5.0.tgz", - "integrity": "sha512-0SutC3pNudRKgquxGoRGIz946MZVHqbNfPjBdxeOhBrdgDKlRoXmYLQN9xRbrR09ZXWeGAdPuif7egofn6v5LA==", + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.5.1.tgz", + "integrity": "sha512-sy6TXMN+hnP/wMy+ISxg3krXx7BAtWVO4UouuCN/ziM9UEne0euamVNafDfvC83bRNr95y0V5iijeDQFUNpvrg==", "dev": true, "requires": { "call-bind": "^1.0.2", "define-properties": "^1.2.0", - "functions-have-names": "^1.2.3" + "set-function-name": "^2.0.0" } }, "resolve": { @@ -4631,6 +4876,26 @@ "queue-microtask": "^1.2.2" } }, + "safe-array-concat": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/safe-array-concat/-/safe-array-concat-1.0.1.tgz", + "integrity": "sha512-6XbUAseYE2KtOuGueyeobCySj9L4+66Tn6KQMOPQJrAJEowYKW/YR/MGJZl7FdydUdaFu4LYyDZjxf4/Nmo23Q==", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "get-intrinsic": "^1.2.1", + "has-symbols": "^1.0.3", + "isarray": "^2.0.5" + }, + "dependencies": { + "isarray": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-2.0.5.tgz", + "integrity": "sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==", + "dev": true + } + } + }, "safe-buffer": { "version": "5.1.2", "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", @@ -4659,6 +4924,29 @@ "regexp-ast-analysis": "^0.6.0" } }, + "set-function-length": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/set-function-length/-/set-function-length-1.1.1.tgz", + "integrity": "sha512-VoaqjbBJKiWtg4yRcKBQ7g7wnGnLV3M8oLvVWwOk2PdYY6PEFegR1vezXR0tw6fZGF9csVakIRjrJiy2veSBFQ==", + "dev": true, + "requires": { + "define-data-property": "^1.1.1", + "get-intrinsic": "^1.2.1", + "gopd": "^1.0.1", + "has-property-descriptors": "^1.0.0" + } + }, + "set-function-name": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/set-function-name/-/set-function-name-2.0.1.tgz", + "integrity": "sha512-tMNCiqYVkXIZgc2Hnoy2IvC/f8ezc5koaRFkCjrpWzGpCd3qbZXPzVy9MAZzK1ch/X0jvSkojys3oqJN0qCmdA==", + "dev": true, + "requires": { + "define-data-property": "^1.0.1", + "functions-have-names": "^1.2.3", + "has-property-descriptors": "^1.0.0" + } + }, "shebang-command": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", @@ -4746,36 +5034,36 @@ } }, "string.prototype.trim": { - "version": "1.2.7", - "resolved": "https://registry.npmjs.org/string.prototype.trim/-/string.prototype.trim-1.2.7.tgz", - "integrity": "sha512-p6TmeT1T3411M8Cgg9wBTMRtY2q9+PNy9EV1i2lIXUN/btt763oIfxwN3RR8VU6wHX8j/1CFy0L+YuThm6bgOg==", + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/string.prototype.trim/-/string.prototype.trim-1.2.8.tgz", + "integrity": "sha512-lfjY4HcixfQXOfaqCvcBuOIapyaroTXhbkfJN3gcB1OtyupngWK4sEET9Knd0cXd28kTUqu/kHoV4HKSJdnjiQ==", "dev": true, "requires": { "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "es-abstract": "^1.20.4" + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1" } }, "string.prototype.trimend": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.6.tgz", - "integrity": "sha512-JySq+4mrPf9EsDBEDYMOb/lM7XQLulwg5R/m1r0PXEFqrV0qHvl58sdTilSXtKOflCsK2E8jxf+GKC0T07RWwQ==", + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.7.tgz", + "integrity": "sha512-Ni79DqeB72ZFq1uH/L6zJ+DKZTkOtPIHovb3YZHQViE+HDouuU4mBrLOLDn5Dde3RF8qw5qVETEjhu9locMLvA==", "dev": true, "requires": { "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "es-abstract": "^1.20.4" + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1" } }, "string.prototype.trimstart": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.6.tgz", - "integrity": "sha512-omqjMDaY92pbn5HOX7f9IccLA+U1tA9GvtU4JrodiXFfYB7jPzzHpRzpglLAjtUV6bB557zwClJezTqnAiYnQA==", + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.7.tgz", + "integrity": "sha512-NGhtDFu3jCEm7B4Fy0DpLewdJQOZcQ0rGbwQ/+stjnrp2i+rlKeCvos9hOIeCmqwratM47OBxY7uFZzjxHXmrg==", "dev": true, "requires": { "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "es-abstract": "^1.20.4" + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1" } }, "strip-ansi": { @@ -4835,41 +5123,42 @@ } }, "tape": { - "version": "5.6.6", - "resolved": "https://registry.npmjs.org/tape/-/tape-5.6.6.tgz", - "integrity": "sha512-rGp2cZ3rfZ6QfTBm6yvohf8aXmDqPyzMKZwTMV12w4i+b/N2Adwlg8PlW8jLqWzlJUZhglyYaLOSrMt/ZlZkAA==", + "version": "5.7.2", + "resolved": "https://registry.npmjs.org/tape/-/tape-5.7.2.tgz", + "integrity": "sha512-cvSyprYahyOYXbtBwV/B7nrx7kINeZ3VZ9fKoSywoPwZN3oQ1WVLvt+Vl0XCz/gi37CDrY3dlW790nzviIzoPw==", "dev": true, "requires": { "@ljharb/resumer": "^0.0.1", - "@ljharb/through": "^2.3.9", - "array.prototype.every": "^1.1.4", - "call-bind": "^1.0.2", + "@ljharb/through": "^2.3.11", + "array.prototype.every": "^1.1.5", + "call-bind": "^1.0.5", "deep-equal": "^2.2.2", "defined": "^1.0.1", "dotignore": "^0.1.2", "for-each": "^0.3.3", "get-package-type": "^0.1.0", "glob": "^7.2.3", - "has": "^1.0.3", "has-dynamic-import": "^2.0.1", + "hasown": "^2.0.0", "inherits": "^2.0.4", "is-regex": "^1.1.4", "minimist": "^1.2.8", - "object-inspect": "^1.12.3", + "mock-property": "^1.0.2", + "object-inspect": "^1.13.1", "object-is": "^1.1.5", "object-keys": "^1.1.1", "object.assign": "^4.1.4", - "resolve": "^2.0.0-next.4", - "string.prototype.trim": "^1.2.7" + "resolve": "^2.0.0-next.5", + "string.prototype.trim": "^1.2.8" }, "dependencies": { "resolve": { - "version": "2.0.0-next.4", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-2.0.0-next.4.tgz", - "integrity": "sha512-iMDbmAWtfU+MHpxt/I5iWI7cY6YVEZUQ3MBgPQ++XD1PELuJHIl82xBmObyP2KyQmkNB2dsqF7seoQQiAn5yDQ==", + "version": "2.0.0-next.5", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-2.0.0-next.5.tgz", + "integrity": "sha512-U7WjGVG9sH8tvjW5SmGbQuui75FiyjAX72HX15DwBBwF9dNiQZRQAg9nnPhYy+TUnE0+VcrttuvNI8oSxZcocA==", "dev": true, "requires": { - "is-core-module": "^2.9.0", + "is-core-module": "^2.13.0", "path-parse": "^1.0.7", "supports-preserve-symlinks-flag": "^1.0.0" } @@ -4930,6 +5219,42 @@ "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==", "dev": true }, + "typed-array-buffer": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/typed-array-buffer/-/typed-array-buffer-1.0.0.tgz", + "integrity": "sha512-Y8KTSIglk9OZEr8zywiIHG/kmQ7KWyjseXs1CbSo8vC42w7hg2HgYTxSWwP0+is7bWDc1H+Fo026CpHFwm8tkw==", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "get-intrinsic": "^1.2.1", + "is-typed-array": "^1.1.10" + } + }, + "typed-array-byte-length": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/typed-array-byte-length/-/typed-array-byte-length-1.0.0.tgz", + "integrity": "sha512-Or/+kvLxNpeQ9DtSydonMxCx+9ZXOswtwJn17SNLvhptaXYDJvkFFP5zbfU/uLmvnBJlI4yrnXRxpdWH/M5tNA==", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "for-each": "^0.3.3", + "has-proto": "^1.0.1", + "is-typed-array": "^1.1.10" + } + }, + "typed-array-byte-offset": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/typed-array-byte-offset/-/typed-array-byte-offset-1.0.0.tgz", + "integrity": "sha512-RD97prjEt9EL8YgAgpOkf3O4IF9lhJFr9g0htQkm0rchFp/Vx7LW5Q8fSXXub7BXAODyUQohRMyOc3faCPd0hg==", + "dev": true, + "requires": { + "available-typed-arrays": "^1.0.5", + "call-bind": "^1.0.2", + "for-each": "^0.3.3", + "has-proto": "^1.0.1", + "is-typed-array": "^1.1.10" + } + }, "typed-array-length": { "version": "1.0.4", "resolved": "https://registry.npmjs.org/typed-array-length/-/typed-array-length-1.0.4.tgz", @@ -5003,17 +5328,16 @@ } }, "which-typed-array": { - "version": "1.1.9", - "resolved": "https://registry.npmjs.org/which-typed-array/-/which-typed-array-1.1.9.tgz", - "integrity": "sha512-w9c4xkx6mPidwp7180ckYWfMmvxpjlZuIudNtDf4N/tTAUB8VJbX25qZoAsrtGuYNnGw3pa0AXgbGKRB8/EceA==", + "version": "1.1.13", + "resolved": "https://registry.npmjs.org/which-typed-array/-/which-typed-array-1.1.13.tgz", + "integrity": "sha512-P5Nra0qjSncduVPEAr7xhoF5guty49ArDTwzJ/yNuPIbZppyRxFQsRCWrocxIY+CnMVG+qfbU2FmDKyvSGClow==", "dev": true, "requires": { "available-typed-arrays": "^1.0.5", - "call-bind": "^1.0.2", + "call-bind": "^1.0.4", "for-each": "^0.3.3", "gopd": "^1.0.1", - "has-tostringtag": "^1.0.0", - "is-typed-array": "^1.1.10" + "has-tostringtag": "^1.0.0" } }, "wrappy": { diff --git a/package.json b/package.json index 2c2237d01..a6330091a 100644 --- a/package.json +++ b/package.json @@ -2,7 +2,7 @@ "author": "Spencer Kelly (http://spencermounta.in)", "name": "compromise", "description": "modest natural language processing", - "version": "14.10.0", + "version": "14.10.1", "module": "./src/three.js", "main": "./src/three.js", "unpkg": "./builds/compromise.js", @@ -76,7 +76,7 @@ "coverage": "c8 -r lcov -n 'src/**/*' -n 'plugins/**/*' npm run test", "perf": "node ./scripts/perf/index.js", "flame": "clinic flame -- node ./scripts/perf/flame", - "lint": "eslint ./src/**/* && eslint ./plugins/**/src/*", + "lint": "eslint ./src/**/*", "plugins:ci": "node ./scripts/plugins.js npm ci", "plugins:build": "node ./scripts/plugins.js npm run build" }, @@ -106,14 +106,14 @@ "@rollup/plugin-terser": "0.4.3", "amble": "1.3.0", "cross-env": "^7.0.3", - "eslint": "8.46.0", + "eslint": "8.53.0", "eslint-plugin-regexp": "1.15.0", "nlp-corpus": "4.4.0", "rollup": "3.28.0", "rollup-plugin-filesize-check": "^0.0.2", "shelljs": "0.8.5", "tap-dancer": "0.3.4", - "tape": "5.6.6" + "tape": "5.7.2" }, "eslintIgnore": [ "builds/*.js", diff --git a/plugins/dates/builds/compromise-dates.cjs b/plugins/dates/builds/compromise-dates.cjs index ca0e4cc78..0fc830349 100644 --- a/plugins/dates/builds/compromise-dates.cjs +++ b/plugins/dates/builds/compromise-dates.cjs @@ -2955,6 +2955,7 @@ var methods$5 = methods$4; // javascript setX methods like setDate() can't be used because of the local bias + //these methods wrap around them. const validate = (n) => { //handle number as a string @@ -4588,6 +4589,8 @@ var doSection = parseSection; // some opinionated-but-common-sense timezone abbreviations + // these timezone abbreviations are wholly made-up by me, Spencer Kelly, with no expertise in geography + // generated humbly from https://github.com/spencermountain/spacetime-informal const america$1 = 'America/'; const asia$1 = 'Asia/'; @@ -8674,13 +8677,13 @@ // @4pm [/^@[1-9]+(am|pm)$/, 'Time', '@5pm'], // 03/02 - [/^[0-9]{2}\/[0-9]{2}/, 'Date', '03/02'], + [/^[0-9]{2}\/[0-9]{2}$/, 'Date', '03/02'], // iso-time // [/^[0-9]{4}[:-][0-9]{2}[:-][0-9]{2}T[0-9]/i, 'Time', 'iso-time-tag'] ]; - var version = '3.4.1'; + var version = '3.4.2'; // import matches from './compute/matches.js' diff --git a/plugins/dates/builds/compromise-dates.min.js b/plugins/dates/builds/compromise-dates.min.js index c2476e46f..e6216c4b1 100644 --- a/plugins/dates/builds/compromise-dates.min.js +++ b/plugins/dates/builds/compromise-dates.min.js @@ -1 +1 @@ -var e,t;e=this,t=function(){var e=function(e){let t=null;return e.has("^(between|within) #Date")?e:(e.has("#Month")&&(t=e.match("[#Month #Value] and? #Month",0).ifNo("@hasDash$"),t.found&&(e=e.splitAfter(t)),t=e.match("[#Value #Month] and? #Value #Month",0),t.found&&(e=e.splitAfter(t)),t=e.match("^[#Month] and? #Month #Ordinal?$",0),t.found&&(e=e.splitAfter(t)),t=e.match("[#Month #Value] #Month",0).ifNo("@hasDash$"),t.found&&(e=e.splitAfter(t))),e.has("#WeekDay")&&(t=e.match("^[#WeekDay] and? #WeekDay$",0).ifNo("@hasDash$"),t.found&&(e=e.splitAfter(t)),t=e.match("#WeekDay #WeekDay and? #WeekDay"),t.found&&(e=e.splitOn("#WeekDay")),t=e.match("[#WeekDay] (and|or|this|next)? #WeekDay",0).ifNo("@hasDash$"),t.found&&(e=e.splitAfter("#WeekDay"))),t=e.match("(this|next) #Duration [(today|tomorrow|yesterday)]",0),t.found&&(e=e.splitBefore(t)),t=e.match("[(today|tomorrow|yesterday)] #Value #Month",0),t.found&&(e=e.splitAfter(t)),t=e.match("[(today|tomorrow|yesterday)] (today|tomorrow|yesterday|#WeekDay)",0).ifNo("@hasDash$"),t.found&&(e=e.splitAfter(t)),e=e.not("^and"))},t=function(t){let a=t.match("#Date+");a=a.filter(e=>{let t=e.has("^#Duration+$")||e.has("^#Value #Duration+$");return!(!0!==t||!e.has("(#FinancialQuarter|quarter)"))||!1===t});let n=a.match("[#Cardinal #Duration (in|on|this|next|during|for)] #Date",0);return n.found&&(a=a.not(n)),n=a.match("[#Cardinal #Duration] #WeekDay",0),n.found&&(a=a.not(n)),n=a.match("#Date [for #Value #Duration]$",0),n.found&&(a=a.not(n)),n=a.match("[#Cardinal #Duration] #Date",0),n.found&&!a.has("#Cardinal #Duration] (ago|from|before|after|back)")&&(a=a.not(n)),n=a.match("for #Cardinal #Duration"),n.found&&(a=a.not(n)),a=a.notIf("^one (#WeekDay|#Month)$"),a=e(a),a=a.notIf("(#Money|#Percentage)"),a=a.notIf("^per #Duration"),a};const a={second:!0,minute:!0,hour:!0,day:!0,week:!0,weekend:!0,month:!0,season:!0,quarter:!0,year:!0},n={wk:"week",min:"minute",sec:"second",weekend:"week"},r=function(e){let t=e.match("#Duration").text("normal");return t=t.replace(/s$/,""),n.hasOwnProperty(t)&&(t=n[t]),t};var i=function(e){let t={},n=e.none(),i=e.match("#DateShift+");if(!1===i.found)return{res:t,m:n};if(i.match("#Cardinal #Duration").forEach(e=>{let n=e.match("#Cardinal").numbers().get()[0];if(n&&"number"==typeof n){let i=r(e);!0===a[i]&&(t[i]=n)}}),!0===i.has("(before|ago|hence|back)$")&&Object.keys(t).forEach(e=>t[e]*=-1),n=i.match("#Cardinal #Duration"),i=i.not(n),n=i.match("[#Duration] [(after|before)]"),n.found){let e=n.groups("unit").text("reduced"),a=n.groups("dir").text("reduced");"after"===a?t[e]=1:"before"===a&&(t[e]=-1)}if(n=i.match("half (a|an) [#Duration]",0),n.found){let e=r(n);t[e]=.5}return n=e.match("#DateShift+"),{result:t,m:n}};const o={minute:!0};var s=function(e){let t=e.match("[#Value] [#Duration+] (of|in)");if(t.found){let e=t.groups(),a=e.num.numbers().get()[0],n=e.unit.text("reduced"),r={unit:n,num:Number(a)||0};return o[n]||(r.num-=1),{result:r,m:t}}if(t=e.match("[(first|initial|last|final)] [#Duration+] (of|in)"),t.found){let e=t.groups(),a=e.dir.text("reduced"),n=e.unit.text("reduced");return"initial"===a&&(a="first"),"final"===a&&(a="last"),{result:{unit:n,dir:a},m:t}}return{result:null,m:e.none()}};const u=(e,t,a)=>{const[n,r]=e.split("/"),[i,o]=r.split(":");return Date.UTC(a,n-1,i,o)-36e5*t};var d=(e,t,a,n,r)=>{const i=new Date(e).getUTCFullYear(),o=u(t,r,i),s=u(a,n,i);return e>=o&&e{let t=e.timezones[e.tz];if(void 0===t)return console.warn("Warning: couldn't find timezone "+e.tz),0;if(void 0===t.dst)return t.offset;let a=t.offset,n=t.offset+1;"n"===t.hem&&(n=a-1);let r=t.dst.split("->");return!0===d(e.epoch,r[0],r[1],a,n)?a:n},m={"9|s":"2/dili,2/jayapura","9|n":"2/chita,2/khandyga,2/pyongyang,2/seoul,2/tokyo,11/palau,japan,rok","9.5|s|04/03:03->10/02:02":"4/adelaide,4/broken_hill,4/south,4/yancowinna","9.5|s":"4/darwin,4/north","8|s|03/08:01->10/04:00":"12/casey","8|s":"2/kuala_lumpur,2/makassar,2/singapore,4/perth,2/ujung_pandang,4/west,singapore","8|n":"2/brunei,2/choibalsan,2/hong_kong,2/irkutsk,2/kuching,2/macau,2/manila,2/shanghai,2/taipei,2/ulaanbaatar,2/chongqing,2/chungking,2/harbin,2/macao,2/ulan_bator,hongkong,prc,roc","8.75|s":"4/eucla","7|s":"12/davis,2/jakarta,9/christmas","7|n":"2/bangkok,2/barnaul,2/hovd,2/krasnoyarsk,2/novokuznetsk,2/novosibirsk,2/phnom_penh,2/pontianak,2/ho_chi_minh,2/tomsk,2/vientiane,2/saigon","6|s":"12/vostok","6|n":"2/almaty,2/bishkek,2/dhaka,2/omsk,2/qyzylorda,2/qostanay,2/thimphu,2/urumqi,9/chagos,2/dacca,2/kashgar,2/thimbu","6.5|n":"2/yangon,9/cocos,2/rangoon","5|s":"12/mawson,9/kerguelen","5|n":"2/aqtau,2/aqtobe,2/ashgabat,2/atyrau,2/dushanbe,2/karachi,2/oral,2/samarkand,2/tashkent,2/yekaterinburg,9/maldives,2/ashkhabad","5.75|n":"2/katmandu,2/kathmandu","5.5|n":"2/kolkata,2/colombo,2/calcutta","4|s":"9/reunion","4|n":"2/baku,2/dubai,2/muscat,2/tbilisi,2/yerevan,8/astrakhan,8/samara,8/saratov,8/ulyanovsk,8/volgograd,2/volgograd,9/mahe,9/mauritius","4.5|n|03/22:00->09/21:24":"2/tehran,iran","4.5|n":"2/kabul","3|s":"12/syowa,9/antananarivo","3|n|03/27:03->10/30:04":"2/famagusta,2/nicosia,8/athens,8/bucharest,8/helsinki,8/kiev,8/mariehamn,8/riga,8/sofia,8/tallinn,8/uzhgorod,8/vilnius,8/zaporozhye,8/nicosia","3|n|03/27:02->10/30:03":"8/chisinau,8/tiraspol","3|n|03/27:00->10/29:24":"2/beirut","3|n|03/27:00->10/28:01":"2/gaza,2/hebron","3|n|03/25:02->10/30:02":"2/jerusalem,2/tel_aviv,israel","3|n|03/25:00->10/27:24":"2/damascus","3|n|02/25:00->10/28:01":"2/amman","3|n":"0/addis_ababa,0/asmara,0/asmera,0/dar_es_salaam,0/djibouti,0/juba,0/kampala,0/mogadishu,0/nairobi,2/aden,2/baghdad,2/bahrain,2/kuwait,2/qatar,2/riyadh,8/istanbul,8/kirov,8/minsk,8/moscow,8/simferopol,9/comoro,9/mayotte,2/istanbul,turkey,w-su","2|s|03/27:02->10/30:02":"12/troll","2|s":"0/gaborone,0/harare,0/johannesburg,0/lubumbashi,0/lusaka,0/maputo,0/maseru,0/mbabane","2|n|03/27:02->10/30:03":"0/ceuta,arctic/longyearbyen,8/amsterdam,8/andorra,8/belgrade,8/berlin,8/bratislava,8/brussels,8/budapest,8/busingen,8/copenhagen,8/gibraltar,8/ljubljana,8/luxembourg,8/madrid,8/malta,8/monaco,8/oslo,8/paris,8/podgorica,8/prague,8/rome,8/san_marino,8/sarajevo,8/skopje,8/stockholm,8/tirane,8/vaduz,8/vatican,8/vienna,8/warsaw,8/zagreb,8/zurich,3/jan_mayen,poland","2|n":"0/blantyre,0/bujumbura,0/cairo,0/khartoum,0/kigali,0/tripoli,8/kaliningrad,egypt,libya","1|s":"0/brazzaville,0/kinshasa,0/luanda,0/windhoek","1|n|03/27:03->05/08:02":"0/casablanca,0/el_aaiun","1|n|03/27:01->10/30:02":"3/canary,3/faroe,3/madeira,8/dublin,8/guernsey,8/isle_of_man,8/jersey,8/lisbon,8/london,3/faeroe,eire,8/belfast,gb-eire,gb,portugal","1|n":"0/algiers,0/bangui,0/douala,0/lagos,0/libreville,0/malabo,0/ndjamena,0/niamey,0/porto-novo,0/tunis","14|n":"11/kiritimati","13|s|04/04:04->09/26:03":"11/apia","13|s|01/15:02->11/05:03":"11/tongatapu","13|n":"11/enderbury,11/fakaofo","12|s|04/03:03->09/25:02":"12/mcmurdo,11/auckland,12/south_pole,nz","12|s|01/17:03->11/14:02":"11/fiji","12|n":"2/anadyr,2/kamchatka,2/srednekolymsk,11/funafuti,11/kwajalein,11/majuro,11/nauru,11/tarawa,11/wake,11/wallis,kwajalein","12.75|s|04/03:03->04/03:02":"11/chatham,nz-chat","11|s|04/03:03->10/02:02":"12/macquarie","11|s":"11/bougainville","11|n":"2/magadan,2/sakhalin,11/efate,11/guadalcanal,11/kosrae,11/noumea,11/pohnpei,11/ponape","11.5|n|04/03:03->10/02:02":"11/norfolk","10|s|04/03:03->10/02:02":"4/currie,4/hobart,4/melbourne,4/sydney,4/act,4/canberra,4/nsw,4/tasmania,4/victoria","10|s":"12/dumontdurville,4/brisbane,4/lindeman,11/port_moresby,4/queensland","10|n":"2/ust-nera,2/vladivostok,2/yakutsk,11/guam,11/saipan,11/chuuk,11/truk,11/yap","10.5|s|04/03:01->10/02:02":"4/lord_howe,4/lhi","0|n|03/27:00->10/30:01":"1/scoresbysund,3/azores","0|n":"0/abidjan,0/accra,0/bamako,0/banjul,0/bissau,0/conakry,0/dakar,0/freetown,0/lome,0/monrovia,0/nouakchott,0/ouagadougou,0/sao_tome,1/danmarkshavn,3/reykjavik,3/st_helena,13/gmt,13/utc,0/timbuktu,13/greenwich,13/uct,13/universal,13/zulu,gmt-0,gmt+0,gmt0,greenwich,iceland,uct,universal,utc,zulu","-9|n|03/13:02->11/06:02":"1/adak,1/atka,us/aleutian","-9|n":"11/gambier","-9.5|n":"11/marquesas","-8|n|03/13:02->11/06:02":"1/anchorage,1/juneau,1/metlakatla,1/nome,1/sitka,1/yakutat,us/alaska","-8|n":"11/pitcairn","-7|n|03/13:02->11/06:02":"1/los_angeles,1/santa_isabel,1/tijuana,1/vancouver,1/ensenada,6/pacific,10/bajanorte,us/pacific-new,us/pacific","-7|n|03/08:02->11/01:01":"1/dawson,1/whitehorse,6/yukon","-7|n":"1/creston,1/dawson_creek,1/fort_nelson,1/hermosillo,1/phoenix,us/arizona","-6|s|04/02:22->09/03:22":"11/easter,7/easterisland","-6|n|04/03:02->10/30:02":"1/chihuahua,1/mazatlan,10/bajasur","-6|n|03/13:02->11/06:02":"1/boise,1/cambridge_bay,1/denver,1/edmonton,1/inuvik,1/ojinaga,1/yellowknife,1/shiprock,6/mountain,navajo,us/mountain","-6|n":"1/belize,1/costa_rica,1/el_salvador,1/guatemala,1/managua,1/regina,1/swift_current,1/tegucigalpa,11/galapagos,6/east-saskatchewan,6/saskatchewan","-5|s":"1/lima,1/rio_branco,1/porto_acre,5/acre","-5|n|04/03:02->10/30:02":"1/bahia_banderas,1/merida,1/mexico_city,1/monterrey,10/general","-5|n|03/13:02->11/06:02":"1/chicago,1/matamoros,1/menominee,1/rainy_river,1/rankin_inlet,1/resolute,1/winnipeg,1/indiana/knox,1/indiana/tell_city,1/north_dakota/beulah,1/north_dakota/center,1/north_dakota/new_salem,1/knox_in,6/central,us/central,us/indiana-starke","-5|n|03/12:03->11/05:01":"1/north_dakota","-5|n":"1/bogota,1/cancun,1/cayman,1/coral_harbour,1/eirunepe,1/guayaquil,1/jamaica,1/panama,1/atikokan,jamaica","-4|s|05/13:23->08/13:01":"12/palmer","-4|s|04/02:24->09/04:00":"1/santiago,7/continental","-4|s|03/26:24->10/02:00":"1/asuncion","-4|s|02/16:24->11/03:00":"1/campo_grande,1/cuiaba","-4|s":"1/la_paz,1/manaus,5/west","-4|n|03/13:02->11/06:02":"1/detroit,1/grand_turk,1/indianapolis,1/iqaluit,1/louisville,1/montreal,1/nassau,1/new_york,1/nipigon,1/pangnirtung,1/port-au-prince,1/thunder_bay,1/toronto,1/indiana/marengo,1/indiana/petersburg,1/indiana/vevay,1/indiana/vincennes,1/indiana/winamac,1/kentucky/monticello,1/fort_wayne,1/indiana/indianapolis,1/kentucky/louisville,6/eastern,us/east-indiana,us/eastern,us/michigan","-4|n|03/13:00->11/06:01":"1/havana,cuba","-4|n|03/12:03->11/05:01":"1/indiana,1/kentucky","-4|n":"1/anguilla,1/antigua,1/aruba,1/barbados,1/blanc-sablon,1/boa_vista,1/caracas,1/curacao,1/dominica,1/grenada,1/guadeloupe,1/guyana,1/kralendijk,1/lower_princes,1/marigot,1/martinique,1/montserrat,1/port_of_spain,1/porto_velho,1/puerto_rico,1/santo_domingo,1/st_barthelemy,1/st_kitts,1/st_lucia,1/st_thomas,1/st_vincent,1/tortola,1/virgin","-3|s":"1/argentina,1/buenos_aires,1/catamarca,1/cordoba,1/fortaleza,1/jujuy,1/mendoza,1/montevideo,1/punta_arenas,1/sao_paulo,12/rothera,3/stanley,1/argentina/la_rioja,1/argentina/rio_gallegos,1/argentina/salta,1/argentina/san_juan,1/argentina/san_luis,1/argentina/tucuman,1/argentina/ushuaia,1/argentina/comodrivadavia,1/argentina/buenos_aires,1/argentina/catamarca,1/argentina/cordoba,1/argentina/jujuy,1/argentina/mendoza,1/argentina/rosario,1/rosario,5/east","-3|n|03/13:02->11/06:02":"1/glace_bay,1/goose_bay,1/halifax,1/moncton,1/thule,3/bermuda,6/atlantic","-3|n":"1/araguaina,1/bahia,1/belem,1/cayenne,1/maceio,1/paramaribo,1/recife,1/santarem","-2|n|03/26:22->10/29:23":"1/nuuk,1/godthab","-2|n|03/13:02->11/06:02":"1/miquelon","-2|n":"1/noronha,3/south_georgia,5/denoronha","-2.5|n|03/13:02->11/06:02":"1/st_johns,6/newfoundland","-1|n":"3/cape_verde","-11|n":"11/midway,11/niue,11/pago_pago,11/samoa,us/samoa","-10|n":"11/honolulu,11/johnston,11/rarotonga,11/tahiti,us/hawaii"},h=["africa","america","asia","atlantic","australia","brazil","canada","chile","europe","indian","mexico","pacific","antarctica","etc"];let c={};Object.keys(m).forEach(e=>{let t=e.split("|"),a={offset:Number(t[0]),hem:t[1]};t[2]&&(a.dst=t[2]),m[e].split(",").forEach(e=>{e=e.replace(/(^[0-9]+)\//,(e,t)=>(t=Number(t),h[t]+"/")),c[e]=a})}),c.utc={offset:0,hem:"n"};for(let e=-14;e<=14;e+=.5){let t=e;t>0&&(t="+"+t);let a="etc/gmt"+t;c[a]={offset:-1*e,hem:"n"},a="utc/gmt"+t,c[a]={offset:-1*e,hem:"n"}}var f=c;const y=/(\-?[0-9]+)h(rs)?/i,p=/(\-?[0-9]+)/,g=/utc([\-+]?[0-9]+)/i,w=/gmt([\-+]?[0-9]+)/i,b=function(e){return(e=Number(e))>=-13&&e<=13?"etc/gmt"+(e=((e*=-1)>0?"+":"")+e):null};var k=function(e){let t=e.match(y);if(null!==t)return b(t[1]);if(t=e.match(g),null!==t)return b(t[1]);if(t=e.match(w),null!==t){let e=-1*Number(t[1]);return b(e)}return t=e.match(p),null!==t?b(t[1]):null};const D=(()=>{let e=(()=>{if("undefined"==typeof Intl||void 0===Intl.DateTimeFormat)return null;let e=Intl.DateTimeFormat();if(void 0===e||void 0===e.resolvedOptions)return null;let t=e.resolvedOptions().timeZone;return t?t.toLowerCase():null})();return null===e?"utc":e})(),v=Object.keys(f).reduce((e,t)=>{let a=t.split("/")[1]||"";return a=a.replace(/_/g," "),e[a]=t,e},{});var A=(e,t)=>{if(!e)return D;"string"!=typeof e&&console.error("Timezone must be a string - recieved: '",e,"'\n");let a=e.trim();if(a=a.toLowerCase(),!0===t.hasOwnProperty(a))return a;if(a=(e=>(e=(e=(e=(e=(e=e.replace(/ time/g,"")).replace(/ (standard|daylight|summer)/g,"")).replace(/\b(east|west|north|south)ern/g,"$1")).replace(/\b(africa|america|australia)n/g,"$1")).replace(/\beuropean/g,"europe")).replace(/\islands/g,"island"))(a),!0===t.hasOwnProperty(a))return a;if(!0===v.hasOwnProperty(a))return v[a];if(!0===/[0-9]/.test(a)){let e=k(a);if(e)return e}throw new Error("Spacetime: Cannot find timezone named: '"+e+"'. Please enter an IANA timezone id.")};function x(e){return e%4==0&&e%100!=0||e%400==0}function O(e){return"[object Date]"===Object.prototype.toString.call(e)&&!isNaN(e.valueOf())}function M(e){return"[object Object]"===Object.prototype.toString.call(e)}function _(e,t=2){return(e+="").length>=t?e:new Array(t-e.length+1).join("0")+e}function j(e){let t=e%10,a=e%100;return 1===t&&11!==a?e+"st":2===t&&12!==a?e+"nd":3===t&&13!==a?e+"rd":e+"th"}function $(e){return e=(e=String(e)).replace(/([0-9])(st|nd|rd|th)$/i,"$1"),parseInt(e,10)}function T(e=""){return"day"===(e=(e=(e=(e=e.toLowerCase().trim()).replace(/ies$/,"y")).replace(/s$/,"")).replace(/-/g,""))||"days"===e?"date":"min"===e||"mins"===e?"minute":e}function z(e){return"number"==typeof e?e:O(e)?e.getTime():e.epoch?e.epoch:null}function E(e,t){return!1===M(e)?t.clone().set(e):e}function V(e,t=""){const a=e>0?"+":"-",n=Math.abs(e);return`${a}${_(parseInt(""+n,10))}${t}${_(n%1*60)}`}const q={year:(new Date).getFullYear(),month:0,date:1};var S={parseArray:(e,t,a)=>{if(0===t.length)return e;let n=["year","month","date","hour","minute","second","millisecond"];for(let r=0;r{if(0===Object.keys(t).length)return e;t=Object.assign({},q,a,t);let n=Object.keys(t);for(let r=0;r0&&t<25e8&&!1===e.silent&&(console.warn(" - Warning: You are setting the date to January 1970."),console.warn(" - did input seconds instead of milliseconds?")),e.epoch=t,e}};const C=function(e){return e.epoch=Date.now(),Object.keys(e._today||{}).forEach(t=>{"function"==typeof e[t]&&(e=e[t](e._today[t]))}),e},N={now:e=>C(e),today:e=>C(e),tonight:e=>e=(e=C(e)).hour(18),tomorrow:e=>e=(e=(e=C(e)).add(1,"day")).startOf("day"),yesterday:e=>e=(e=(e=C(e)).subtract(1,"day")).startOf("day"),christmas:e=>{let t=C(e).year();return e=e.set([t,11,25,18,0,0])},"new years":e=>{let t=C(e).year();return e=e.set([t,11,31,18,0,0])}};N["new years eve"]=N["new years"];var P=N,Y=function(e){return e=(e=(e=(e=e.replace(/\b(mon|tues?|wed|wednes|thur?s?|fri|sat|satur|sun)(day)?\b/i,"")).replace(/([0-9])(th|rd|st|nd)/,"$1")).replace(/,/g,"")).replace(/ +/g," ").trim()};let H={millisecond:1,second:1e3,minute:6e4,hour:36e5,day:864e5};H.date=H.day,H.month=25488e5,H.week=6048e5,H.year=3154e7,Object.keys(H).forEach(e=>{H[e+"s"]=H[e]});var B=H;const L=(e,t,a,n,r)=>{let i=e.d[a]();if(i===t)return;let o=null===r?null:e.d[r](),s=e.epoch,u=t-i;e.epoch+=B[n]*u,"day"===n&&Math.abs(u)>28&&t<28&&(e.epoch+=B.hour),null!==r&&o!==e.d[r]()&&(e.epoch=s);const d=B[n]/2;for(;e.d[a]()t;)e.epoch-=d;null!==r&&o!==e.d[r]()&&(e.epoch=s)},I={year:{valid:e=>e>-4e3&&e<4e3,walkTo:(e,t)=>L(e,t,"getFullYear","year",null)},month:{valid:e=>e>=0&&e<=11,walkTo:(e,t)=>{let a=e.d,n=a.getMonth(),r=e.epoch,i=a.getFullYear();if(n===t)return;let o=t-n;for(e.epoch+=B.day*(28*o),i!==e.d.getFullYear()&&(e.epoch=r);e.d.getMonth()t;)e.epoch-=B.day}},date:{valid:e=>e>0&&e<=31,walkTo:(e,t)=>L(e,t,"getDate","day","getMonth")},hour:{valid:e=>e>=0&&e<24,walkTo:(e,t)=>L(e,t,"getHours","hour","getDate")},minute:{valid:e=>e>=0&&e<60,walkTo:(e,t)=>L(e,t,"getMinutes","minute","getHours")},second:{valid:e=>e>=0&&e<60,walkTo:(e,t)=>{e.epoch=e.seconds(t).epoch}},millisecond:{valid:e=>e>=0&&e<1e3,walkTo:(e,t)=>{e.epoch=e.milliseconds(t).epoch}}};var W=(e,t)=>{let a=Object.keys(I),n=e.clone();for(let r=0;r{if(!t)return e;let a=0;if(/^[\+-]?[0-9]{2}:[0-9]{2}$/.test(t)&&(!0===/:00/.test(t)&&(t=t.replace(/:00/,"")),!0===/:30/.test(t)&&(t=t.replace(/:30/,".5"))),/^[\+-]?[0-9]{4}$/.test(t)&&(t=t.replace(/30$/,".5")),a=parseFloat(t),Math.abs(a)>100&&(a/=100),0===a||"Z"===t||"z"===t)return e.tz="etc/gmt",e;a*=-1,a>=0&&(a="+"+a);let n="etc/gmt"+a;return e.timezones[n]&&(e.tz=n),e},U=(e,t="")=>{let a=(t=t.replace(/^\s+/,"").toLowerCase()).match(/([0-9]{1,2}):([0-9]{1,2}):?([0-9]{1,2})?[:\.]?([0-9]{1,4})?/);if(null!==a){let n=Number(a[1]);if(n<0||n>24)return e.startOf("day");let r=Number(a[2]);if(a[2].length<2||r<0||r>59)return e.startOf("day");e=(e=(e=(e=e.hour(n)).minute(r)).seconds(a[3]||0)).millisecond(function(e=""){return(e=String(e)).length>3?e=e.substr(0,3):1===e.length?e+="00":2===e.length&&(e+="0"),Number(e)||0}(a[4]));let i=t.match(/[\b0-9] ?(am|pm)\b/);return null!==i&&i[1]&&(e=e.ampm(i[1])),e}if(a=t.match(/([0-9]+) ?(am|pm)/),null!==a&&a[1]){let t=Number(a[1]);return t>12||t<1?e.startOf("day"):e=(e=(e=e.hour(a[1]||0)).ampm(a[2])).startOf("hour")}return e=e.startOf("day")};let Z=R();const X=e=>{if(!0!==F.hasOwnProperty(e.month))return!1;if(1===e.month)return!!(x(e.year)&&e.date<=29)||e.date<=28;let t=F[e.month]||0;return e.date<=t},ee=(e="",t)=>{if(e=e.trim(),!0===/^'[0-9][0-9]$/.test(e)){let t=Number(e.replace(/'/,""));return t>50?1900+t:2e3+t}let a=parseInt(e,10);return!a&&t&&(a=t.year),a=a||(new Date).getFullYear(),a},te=function(e){return"sept"===(e=e.toLowerCase().trim())?Z.sep:Z[e]};var ae=[].concat([{reg:/^(\-?0?0?[0-9]{3,4})-([0-9]{1,2})-([0-9]{1,2})[T| ]([0-9.:]+)(Z|[0-9\-\+:]+)?$/i,parse:(e,t)=>{let a={year:t[1],month:parseInt(t[2],10)-1,date:t[3]};return!1===X(a)?(e.epoch=null,e):(G(e,t[5]),W(e,a),e=U(e,t[4]))}},{reg:/^([0-9]{4})[\-\/\. ]([0-9]{1,2})[\-\/\. ]([0-9]{1,2})( [0-9]{1,2}(:[0-9]{0,2})?(:[0-9]{0,3})? ?(am|pm)?)?$/i,parse:(e,t)=>{let a={year:t[1],month:parseInt(t[2],10)-1,date:parseInt(t[3],10)};return a.month>=12&&(a.date=parseInt(t[2],10),a.month=parseInt(t[3],10)-1),!1===X(a)?(e.epoch=null,e):(W(e,a),e=U(e,t[4]))}},{reg:/^([0-9]{4})[\-\/\. ]([a-z]+)[\-\/\. ]([0-9]{1,2})( [0-9]{1,2}(:[0-9]{0,2})?(:[0-9]{0,3})? ?(am|pm)?)?$/i,parse:(e,t)=>{let a={year:ee(t[1],e._today),month:te(t[2]),date:$(t[3]||"")};return!1===X(a)?(e.epoch=null,e):(W(e,a),e=U(e,t[4]))}}],[{reg:/^([0-9]{1,2})[\-\/.]([0-9]{1,2})[\-\/.]?([0-9]{4})?( [0-9]{1,2}:[0-9]{2}:?[0-9]{0,2}? ?(am|pm|gmt))?$/i,parse:(e,t)=>{let a=parseInt(t[1],10)-1,n=parseInt(t[2],10);(e.british||a>=12)&&(n=parseInt(t[1],10),a=parseInt(t[2],10)-1);let r={date:n,month:a,year:ee(t[3],e._today)||(new Date).getFullYear()};return!1===X(r)?(e.epoch=null,e):(W(e,r),e=U(e,t[4]))}},{reg:/^([a-z]+)[\-\/\. ]([0-9]{1,2})[\-\/\. ]?([0-9]{4}|'[0-9]{2})?( [0-9]{1,2}(:[0-9]{0,2})?(:[0-9]{0,3})? ?(am|pm)?)?$/i,parse:(e,t)=>{let a={year:ee(t[3],e._today),month:te(t[1]),date:$(t[2]||"")};return!1===X(a)?(e.epoch=null,e):(W(e,a),e=U(e,t[4]))}},{reg:/^([a-z]+) ([0-9]{1,2})( [0-9]{4})?( ([0-9:]+( ?am| ?pm| ?gmt)?))?$/i,parse:(e,t)=>{let a={year:ee(t[3],e._today),month:te(t[1]),date:$(t[2]||"")};return!1===X(a)?(e.epoch=null,e):(W(e,a),e=U(e,t[4]))}},{reg:/^([a-z]+) ([0-9]{1,2})( [0-9:]+)?( \+[0-9]{4})?( [0-9]{4})?$/i,parse:(e,t)=>{let a={year:ee(t[5],e._today),month:te(t[1]),date:$(t[2]||"")};return!1===X(a)?(e.epoch=null,e):(W(e,a),e=U(e,t[3]))}}],[{reg:/^([0-9]{1,2})[\-\/]([a-z]+)[\-\/]?([0-9]{4})?$/i,parse:(e,t)=>{let a={year:ee(t[3],e._today),month:te(t[2]),date:$(t[1]||"")};return!1===X(a)?(e.epoch=null,e):(W(e,a),e=U(e,t[4]))}},{reg:/^([0-9]{1,2})( [a-z]+)( [0-9]{4}| '[0-9]{2})? ?([0-9]{1,2}:[0-9]{2}:?[0-9]{0,2}? ?(am|pm|gmt))?$/i,parse:(e,t)=>{let a={year:ee(t[3],e._today),month:te(t[2]),date:$(t[1])};return a.month&&!1!==X(a)?(W(e,a),e=U(e,t[4])):(e.epoch=null,e)}},{reg:/^([0-9]{1,2})[\. -/]([a-z]+)[\. -/]([0-9]{4})?( [0-9]{1,2}(:[0-9]{0,2})?(:[0-9]{0,3})? ?(am|pm)?)?$/i,parse:(e,t)=>{let a={date:Number(t[1]),month:te(t[2]),year:Number(t[3])};return!1===X(a)?(e.epoch=null,e):(W(e,a),e=e.startOf("day"),e=U(e,t[4]))}}],[{reg:/^([0-9]{4})[\-\/]([0-9]{2})$/i,parse:(e,t)=>{let a={year:t[1],month:parseInt(t[2],10)-1,date:1};return!1===X(a)?(e.epoch=null,e):(W(e,a),e=U(e,t[4]))}},{reg:/^([a-z]+) ([0-9]{4})$/i,parse:(e,t)=>{let a={year:ee(t[2],e._today),month:te(t[1]),date:e._today.date||1};return!1===X(a)?(e.epoch=null,e):(W(e,a),e=U(e,t[4]))}},{reg:/^(q[0-9])( of)?( [0-9]{4})?/i,parse:(e,t)=>{let a=t[1]||"";e=e.quarter(a);let n=t[3]||"";return n&&(n=n.trim(),e=e.year(n)),e}},{reg:/^(spring|summer|winter|fall|autumn)( of)?( [0-9]{4})?/i,parse:(e,t)=>{let a=t[1]||"";e=e.season(a);let n=t[3]||"";return n&&(n=n.trim(),e=e.year(n)),e}},{reg:/^[0-9,]+ ?b\.?c\.?$/i,parse:(e,t)=>{let a=t[0]||"";a=a.replace(/^([0-9,]+) ?b\.?c\.?$/i,"-$1");let n=new Date,r={year:parseInt(a.trim(),10),month:n.getMonth(),date:n.getDate()};return!1===X(r)?(e.epoch=null,e):(W(e,r),e=U(e))}},{reg:/^[0-9,]+ ?(a\.?d\.?|c\.?e\.?)$/i,parse:(e,t)=>{let a=t[0]||"";a=a.replace(/,/g,"");let n=new Date,r={year:parseInt(a.trim(),10),month:n.getMonth(),date:n.getDate()};return!1===X(r)?(e.epoch=null,e):(W(e,r),e=U(e))}},{reg:/^[0-9]{4}( ?a\.?d\.?)?$/i,parse:(e,t)=>{let a=e._today;a.month&&!a.date&&(a.date=1);let n=new Date,r={year:ee(t[0],a),month:a.month||n.getMonth(),date:a.date||n.getDate()};return!1===X(r)?(e.epoch=null,e):(W(e,r),e=U(e))}}]),ne=function(e,t,a){for(let n=0;n{let a=e._today||se;if("number"==typeof t)return oe(e,t);if(e.epoch=Date.now(),e._today&&M(e._today)&&Object.keys(e._today).length>0){let t=ie(e,a,se);t.isValid()&&(e.epoch=t.epoch)}return null==t||""===t?e:!0===O(t)?(e.epoch=t.getTime(),e):!0===function(e){return"[object Array]"===Object.prototype.toString.call(e)}(t)?e=re(e,t,a):!0===M(t)?t.epoch?(e.epoch=t.epoch,e.tz=t.tz,e):e=ie(e,t,a):"string"!=typeof t?e:(t=Y(t),!0===P.hasOwnProperty(t)?e=P[t](e):ne(e,t))};let de=["sun","mon","tue","wed","thu","fri","sat"],le=["sunday","monday","tuesday","wednesday","thursday","friday","saturday"];function me(){return de}function he(){return le}const ce={mo:1,tu:2,we:3,th:4,fr:5,sa:6,su:7,tues:2,weds:3,wedn:3,thur:4,thurs:4};let fe=!0;var ye=e=>{let t=e.timezone().current.offset;return t?V(t,":"):"Z"};const pe=e=>fe?function(e){return e?e[0].toUpperCase()+e.substr(1):""}(e):e,ge={day:e=>pe(e.dayName()),"day-short":e=>pe(me()[e.day()]),"day-number":e=>e.day(),"day-ordinal":e=>j(e.day()),"day-pad":e=>_(e.day()),date:e=>e.date(),"date-ordinal":e=>j(e.date()),"date-pad":e=>_(e.date()),month:e=>pe(e.monthName()),"month-short":e=>pe(Q()[e.month()]),"month-number":e=>e.month(),"month-ordinal":e=>j(e.month()),"month-pad":e=>_(e.month()),"iso-month":e=>_(e.month()+1),year:e=>{let t=e.year();return t>0?t:(t=Math.abs(t),t+" BC")},"year-short":e=>{let t=e.year();return t>0?"'"+String(e.year()).substr(2,4):(t=Math.abs(t),t+" BC")},"iso-year":e=>{let t=e.year(),a=t<0,n=_(Math.abs(t),4);return a&&(n=_(n,6),n="-"+n),n},time:e=>e.time(),"time-24":e=>`${e.hour24()}:${_(e.minute())}`,hour:e=>e.hour12(),"hour-pad":e=>_(e.hour12()),"hour-24":e=>e.hour24(),"hour-24-pad":e=>_(e.hour24()),minute:e=>e.minute(),"minute-pad":e=>_(e.minute()),second:e=>e.second(),"second-pad":e=>_(e.second()),millisecond:e=>e.millisecond(),"millisecond-pad":e=>_(e.millisecond(),3),ampm:e=>e.ampm(),quarter:e=>"Q"+e.quarter(),season:e=>e.season(),era:e=>e.era(),json:e=>e.json(),timezone:e=>e.timezone().name,offset:e=>ye(e),numeric:e=>`${e.year()}/${_(e.month()+1)}/${_(e.date())}`,"numeric-us":e=>`${_(e.month()+1)}/${_(e.date())}/${e.year()}`,"numeric-uk":e=>`${_(e.date())}/${_(e.month()+1)}/${e.year()}`,"mm/dd":e=>`${_(e.month()+1)}/${_(e.date())}`,iso:e=>`${e.format("iso-year")}-${_(e.month()+1)}-${_(e.date())}T${_(e.h24())}:${_(e.minute())}:${_(e.second())}.${_(e.millisecond(),3)}${ye(e)}`,"iso-short":e=>{let t=_(e.month()+1),a=_(e.date());var n;return`${(n=e.year())>=0?_(n,4):"-"+_(n=Math.abs(n),4)}-${t}-${a}`},"iso-utc":e=>new Date(e.epoch).toISOString(),nice:e=>`${Q()[e.month()]} ${j(e.date())}, ${e.time()}`,"nice-24":e=>`${Q()[e.month()]} ${j(e.date())}, ${e.hour24()}:${_(e.minute())}`,"nice-year":e=>`${Q()[e.month()]} ${j(e.date())}, ${e.year()}`,"nice-day":e=>`${me()[e.day()]} ${pe(Q()[e.month()])} ${j(e.date())}`,"nice-full":e=>`${e.dayName()} ${pe(e.monthName())} ${j(e.date())}, ${e.time()}`,"nice-full-24":e=>`${e.dayName()} ${pe(e.monthName())} ${j(e.date())}, ${e.hour24()}:${_(e.minute())}`},we={"day-name":"day","month-name":"month","iso 8601":"iso","time-h24":"time-24","time-12":"time","time-h12":"time",tz:"timezone","day-num":"day-number","month-num":"month-number","month-iso":"iso-month","year-iso":"iso-year","nice-short":"nice","nice-short-24":"nice-24",mdy:"numeric-us",dmy:"numeric-uk",ymd:"numeric","yyyy/mm/dd":"numeric","mm/dd/yyyy":"numeric-us","dd/mm/yyyy":"numeric-us","little-endian":"numeric-uk","big-endian":"numeric","day-nice":"nice-day"};Object.keys(we).forEach(e=>ge[e]=ge[we[e]]);var be=(e,t="")=>{if(!0!==e.isValid())return"";if(ge.hasOwnProperty(t)){let a=ge[t](e)||"";return"json"!==t&&(a=String(a),"ampm"!==t&&(a=pe(a))),a}if(-1!==t.indexOf("{")){let a=/\{(.+?)\}/g;return t=t.replace(a,(t,a)=>{if(a=a.toLowerCase().trim(),ge.hasOwnProperty(a)){let t=String(ge[a](e));return"ampm"!==a?pe(t):t}return""})}return e.format("iso-short")};const ke={G:e=>e.era(),GG:e=>e.era(),GGG:e=>e.era(),GGGG:e=>"AD"===e.era()?"Anno Domini":"Before Christ",y:e=>e.year(),yy:e=>_(Number(String(e.year()).substr(2,4))),yyy:e=>e.year(),yyyy:e=>e.year(),yyyyy:e=>"0"+e.year(),Q:e=>e.quarter(),QQ:e=>e.quarter(),QQQ:e=>e.quarter(),QQQQ:e=>e.quarter(),M:e=>e.month()+1,MM:e=>_(e.month()+1),MMM:e=>e.format("month-short"),MMMM:e=>e.format("month"),w:e=>e.week(),ww:e=>_(e.week()),d:e=>e.date(),dd:e=>_(e.date()),D:e=>e.dayOfYear(),DD:e=>_(e.dayOfYear()),DDD:e=>_(e.dayOfYear(),3),E:e=>e.format("day-short"),EE:e=>e.format("day-short"),EEE:e=>e.format("day-short"),EEEE:e=>e.format("day"),EEEEE:e=>e.format("day")[0],e:e=>e.day(),ee:e=>e.day(),eee:e=>e.format("day-short"),eeee:e=>e.format("day"),eeeee:e=>e.format("day")[0],a:e=>e.ampm().toUpperCase(),aa:e=>e.ampm().toUpperCase(),aaa:e=>e.ampm().toUpperCase(),aaaa:e=>e.ampm().toUpperCase(),h:e=>e.h12(),hh:e=>_(e.h12()),H:e=>e.hour(),HH:e=>_(e.hour()),m:e=>e.minute(),mm:e=>_(e.minute()),s:e=>e.second(),ss:e=>_(e.second()),SSS:e=>_(e.millisecond(),3),A:e=>e.epoch-e.startOf("day").epoch,z:e=>e.timezone().name,zz:e=>e.timezone().name,zzz:e=>e.timezone().name,zzzz:e=>e.timezone().name,Z:e=>V(e.timezone().current.offset),ZZ:e=>V(e.timezone().current.offset),ZZZ:e=>V(e.timezone().current.offset),ZZZZ:e=>V(e.timezone().current.offset,":")},De=(e,t,a)=>{let n=e,r=t;for(let i=0;i{let a=t.split("");return a=function(e){for(let t=0;te)}(a),a=function(e){for(let t=0;te)).map(e=>("''"===e&&(e="'"),e))}(a),a.reduce((t,a)=>(void 0!==ke[a]?t+=ke[a](e)||"":(/^'.{1,}'$/.test(a)&&(a=a.replace(/'/g,"")),t+=a),t),"")};const Ae=["year","season","quarter","month","week","day","quarterHour","hour","minute"],xe=function(e,t){let a=e.clone().startOf(t),n=e.clone().endOf(t).epoch-a.epoch,r=(e.epoch-a.epoch)/n;return parseFloat(r.toFixed(2))};var Oe=(e,t)=>{if(t)return t=T(t),xe(e,t);let a={};return Ae.forEach(t=>{a[t]=xe(e,t)}),a},Me=(e,t)=>{let a=e.progress();return"quarterhour"===(t=T(t))&&(t="quarterHour"),void 0!==a[t]?(a[t]>.5&&(e=e.add(1,t)),e=e.startOf(t)):!1===e.silent&&console.warn("no known unit '"+t+"'"),e};const _e=(e,t,a)=>{let n=0;for(e=e.clone();e.isBefore(t);)e=e.add(1,a),n+=1;return e.isAfter(t,a)&&(n-=1),n};var je=(e,t,a)=>e.isBefore(t)?_e(e,t,a):-1*_e(t,e,a),$e=function(e,t){let a=t.epoch-e.epoch,n={milliseconds:a,seconds:parseInt(a/1e3,10)};n.minutes=parseInt(n.seconds/60,10),n.hours=parseInt(n.minutes/60,10);let r=e.clone();return n.years=((e,t)=>{let a=t.year()-e.year();return(e=e.year(t.year())).isAfter(t)&&(a-=1),a})(r,t),r=e.add(n.years,"year"),n.months=12*n.years,r=e.add(n.months,"month"),n.months+=je(r,t,"month"),n.weeks=52*n.years,r=e.add(n.weeks,"week"),n.weeks+=je(r,t,"week"),n.days=7*n.weeks,r=e.add(n.days,"day"),n.days+=je(r,t,"day"),n},Te=function(e,t,a){t=E(t,e);let n=!1;if(e.isAfter(t)){let a=e;e=t,t=a,n=!0}let r=$e(e,t);return n&&(r=function(e){return Object.keys(e).forEach(t=>{e[t]*=-1}),e}(r)),a?(a=T(a),!0!==/s$/.test(a)&&(a+="s"),"dates"===a&&(a="days"),r[a]):r};const ze=e=>Math.abs(e)||0;var Ee=function(e){let t="P";return t+=ze(e.years)+"Y",t+=ze(e.months)+"M",t+=ze(e.days)+"DT",t+=ze(e.hours)+"H",t+=ze(e.minutes)+"M",t+=ze(e.seconds)+"S",t};const Ve={months:{almost:10,over:4},days:{almost:25,over:10},hours:{almost:20,over:8},minutes:{almost:50,over:20},seconds:{almost:50,over:20}};function qe(e,t){return 1===e&&(t=t.slice(0,-1)),e+" "+t}var Se=function(e){let t=null,a=null,n=[],r=[];return Object.keys(e).forEach((i,o,s)=>{const u=Math.abs(e[i]);if(0===u)return;n.push(u+i[0]);const d=qe(u,i);if(r.push(d),!t){if(t=a=d,o>4)return;const n=s[o+1],r=Math.abs(e[n]);r>Ve[n].almost?(t=qe(u+1,i),a="almost "+t):r>Ve[n].over&&(a="over "+d)}}),{qualified:a,rounded:t,abbreviated:n,englishValues:r}},Ce=(e,t)=>{const a=function(e,t){const a=e.isBefore(t),n=a?t:e;let r=a?e:t;r=r.clone();const i={years:0,months:0,days:0,hours:0,minutes:0,seconds:0};return Object.keys(i).forEach(e=>{if(r.isSame(n,e))return;let t=r.diff(n,e);r=r.add(t,e),i[e]=t}),a&&Object.keys(i).forEach(e=>{0!==i[e]&&(i[e]*=-1)}),i}(e,t=E(t,e));if(!0===Object.keys(a).every(e=>!a[e]))return{diff:a,rounded:"now",qualified:"now",precise:"now",abbreviated:[],iso:"P0Y0M0DT0H0M0S",direction:"present"};let n,r="future",{rounded:i,qualified:o,englishValues:s,abbreviated:u}=Se(a);n=s.splice(0,2).join(", "),!0===e.isAfter(t)?(i+=" ago",o+=" ago",n+=" ago",r="past"):(i="in "+i,o="in "+o,n="in "+n);let d=Ee(a);return{diff:a,rounded:i,qualified:o,precise:n,abbreviated:u,iso:d,direction:r}},Ne={north:[["spring",2,1],["summer",5,1],["fall",8,1],["autumn",8,1],["winter",11,1]],south:[["fall",2,1],["autumn",2,1],["winter",5,1],["spring",8,1],["summer",11,1]]},Pe=[null,[0,1],[3,1],[6,1],[9,1]];const Ye={minute:e=>(W(e,{second:0,millisecond:0}),e),quarterhour:e=>{let t=e.minutes();return e=t>=45?e.minutes(45):t>=30?e.minutes(30):t>=15?e.minutes(15):e.minutes(0),W(e,{second:0,millisecond:0}),e},hour:e=>(W(e,{minute:0,second:0,millisecond:0}),e),day:e=>(W(e,{hour:0,minute:0,second:0,millisecond:0}),e),week:e=>{let t=e.clone();return(e=e.day(e._weekStart)).isAfter(t)&&(e=e.subtract(1,"week")),W(e,{hour:0,minute:0,second:0,millisecond:0}),e},month:e=>(W(e,{date:1,hour:0,minute:0,second:0,millisecond:0}),e),quarter:e=>{let t=e.quarter();return Pe[t]&&W(e,{month:Pe[t][0],date:Pe[t][1],hour:0,minute:0,second:0,millisecond:0}),e},season:e=>{let t=e.season(),a="north";"South"===e.hemisphere()&&(a="south");for(let n=0;n(W(e,{month:0,date:1,hour:0,minute:0,second:0,millisecond:0}),e),decade:e=>{let t=(e=e.startOf("year")).year(),a=10*parseInt(t/10,10);return e=e.year(a)},century:e=>{let t=(e=e.startOf("year")).year(),a=100*parseInt(t/100,10);return e=e.year(a)}};Ye.date=Ye.day;var He=function(e,t,a){if(!t||!a)return[];if(t=T(t),a=e.clone().set(a),e.isAfter(a)){let t=e;e=a,a=t}let n=e.clone();!function(e){return!!me().find(t=>t===e)||!!he().find(t=>t===e)}(t)?n.startOf(t).isBefore(e)&&(n=n.next(t)):(n=n.next(t),t="week");let r=[];for(;n.isBefore(a);)r.push(n),n=n.add(1,t);return r},Be=e=>{let t=e.timezones,a=e.tz;if(!1===t.hasOwnProperty(a)&&(a=A(e.tz,t)),null===a)return!1===e.silent&&console.warn("Warn: could not find given or local timezone - '"+e.tz+"'"),{current:{epochShift:0}};let n=t[a],r={name:(i=a,i=(i=(i=i[0].toUpperCase()+i.substr(1)).replace(/\/gmt/,"/GMT")).replace(/[\/_]([a-z])/gi,e=>e.toUpperCase())),hasDst:Boolean(n.dst),default_offset:n.offset,hemisphere:"s"===n.hem?"South":"North",current:{}};var i,o;if(r.hasDst){let e=(o=n.dst)?o.split("->"):[];r.change={start:e[0],back:e[1]}}let s=n.offset,u=s;return!0===r.hasDst&&(u="North"===r.hemisphere?s-1:n.offset+1),!1===r.hasDst?(r.current.offset=s,r.current.isDST=!1):!0===d(e.epoch,r.change.start,r.change.back,s,u)?(r.current.offset=s,r.current.isDST="North"===r.hemisphere):(r.current.offset=u,r.current.isDST="South"===r.hemisphere),r};const Le=["century","decade","year","month","date","day","hour","minute","second","millisecond"],Ie={set:function(e,t){let a=this.clone();return a=ue(a,e),t&&(this.tz=A(t)),a},timezone:function(){return Be(this)},isDST:function(){return Be(this).current.isDST},hasDST:function(){return Be(this).hasDst},offset:function(){return 60*Be(this).current.offset},hemisphere:function(){return Be(this).hemisphere},format:function(e){return be(this,e)},unixFmt:function(e){return ve(this,e)},startOf:function(e){return((e,t)=>{let a=e.clone();return t=T(t),Ye[t]?Ye[t](a):"summer"===t||"winter"===t?(a=a.season(t),Ye.season(a)):a})(this,e)},endOf:function(e){return((e,t)=>{let a=e.clone();return t=T(t),Ye[t]?(a=Ye[t](a),a=a.add(1,t),a=a.subtract(1,"millisecond"),a):a})(this,e)},leapYear:function(){return x(this.year())},progress:function(e){return Oe(this,e)},nearest:function(e){return Me(this,e)},diff:function(e,t){return Te(this,e,t)},since:function(e){return e||(e=this.clone().set()),Ce(this,e)},next:function(e){return this.add(1,e).startOf(e)},last:function(e){return this.subtract(1,e).startOf(e)},isValid:function(){return!(!this.epoch&&0!==this.epoch||isNaN(this.d.getTime()))},goto:function(e){let t=this.clone();return t.tz=A(e,t.timezones),t},every:function(e,t){if("object"==typeof e&&"string"==typeof t){let a=t;t=e,e=a}return He(this,e,t)},isAwake:function(){let e=this.hour();return!(e<8||e>22)},isAsleep:function(){return!this.isAwake()},daysInMonth:function(){switch(this.month()){case 0:return 31;case 1:return this.leapYear()?29:28;case 2:return 31;case 3:return 30;case 4:return 31;case 5:return 30;case 6:case 7:return 31;case 8:return 30;case 9:return 31;case 10:return 30;case 11:return 31;default:throw new Error("Invalid Month state.")}},log:function(){return console.log(""),console.log(be(this,"nice-short")),this},logYear:function(){return console.log(""),console.log(be(this,"full-short")),this},json:function(){return Le.reduce((e,t)=>(e[t]=this[t](),e),{})},debug:function(){let e=this.timezone(),t=this.format("MM")+" "+this.format("date-ordinal")+" "+this.year();return t+="\n - "+this.format("time"),console.log("\n\n",t+"\n - "+e.name+" ("+e.current.offset+")"),this},from:function(e){return(e=this.clone().set(e)).since(this)},fromNow:function(){return this.clone().set(Date.now()).since(this)},weekStart:function(e){if("number"==typeof e)return this._weekStart=e,this;if("string"==typeof e){e=e.toLowerCase().trim();let t=me().indexOf(e);-1===t&&(t=he().indexOf(e)),-1===t&&(t=1),this._weekStart=t}else console.warn("Spacetime Error: Cannot understand .weekStart() input:",e);return this}};Ie.inDST=Ie.isDST,Ie.round=Ie.nearest,Ie.each=Ie.every;var We=Ie;const Fe=e=>("string"==typeof e&&(e=parseInt(e,10)),e),Je=["year","month","date","hour","minute","second","millisecond"],Ke=(e,t,a)=>{let n=Je.indexOf(a),r=Je.slice(n,Je.length);for(let a=0;a=24?t=24:t<0&&(t=0);let n=e.clone(),r=e.hour()-t,i=r*B.hour;return e.epoch-=i,e.date()!==n.date()&&(e=n.clone(),r>1&&(r-=1),r<1&&(r+=1),i=r*B.hour,e.epoch-=i),W(e,{hour:t}),Ke(e,n,"minute"),(e=Qe(e,n,a,"day")).epoch},Ue=function(e,t){return"string"==typeof t&&/^'[0-9]{2}$/.test(t)&&(t=t.replace(/'/,"").trim(),t=(t=Number(t))>30?1900+t:2e3+t),t=Fe(t),W(e,{year:t}),e.epoch};let Ze="am",Xe="pm";var et={millisecond:function(e){if(void 0!==e){let t=this.clone();return t.epoch=function(e,t){t=Fe(t);let a=e.millisecond()-t;return e.epoch-a}(t,e),t}return this.d.getMilliseconds()},second:function(e,t){if(void 0!==e){let a=this.clone();return a.epoch=function(e,t,a){t=Fe(t);let n=e.clone(),r=(e.second()-t)*B.second;return e.epoch=e.epoch-r,(e=Qe(e,n,a,"minute")).epoch}(a,e,t),a}return this.d.getSeconds()},minute:function(e,t){if(void 0!==e){let a=this.clone();return a.epoch=Re(a,e,t),a}return this.d.getMinutes()},hour:function(e,t){let a=this.d;if(void 0!==e){let a=this.clone();return a.epoch=Ge(a,e,t),a}return a.getHours()},hourFloat:function(e,t){if(void 0!==e){let a=this.clone(),n=e%1;n*=60;let r=parseInt(e,10);return a.epoch=Ge(a,r,t),a.epoch=Re(a,n,t),a}let a=this.d,n=a.getHours(),r=a.getMinutes();return r/=60,n+r},hour12:function(e,t){let a=this.d;if(void 0!==e){let a=this.clone(),n=(e=""+e).match(/^([0-9]+)(am|pm)$/);if(n){let e=parseInt(n[1],10);"pm"===n[2]&&(e+=12),a.epoch=Ge(a,e,t)}return a}let n=a.getHours();return n>12&&(n-=12),0===n&&(n=12),n},time:function(e,t){if(void 0!==e){let a=this.clone();return e=e.toLowerCase().trim(),a.epoch=function(e,t,a){let n=t.match(/([0-9]{1,2})[:h]([0-9]{1,2})(:[0-9]{1,2})? ?(am|pm)?/);if(!n){if(n=t.match(/([0-9]{1,2}) ?(am|pm)/),!n)return e.epoch;n.splice(2,0,"0"),n.splice(3,0,"")}let r=!1,i=parseInt(n[1],10),o=parseInt(n[2],10);o>=60&&(o=59),i>12&&(r=!0),!1===r&&("am"===n[4]&&12===i&&(i=0),"pm"===n[4]&&i<12&&(i+=12)),n[3]=n[3]||"",n[3]=n[3].replace(/:/,"");let s=parseInt(n[3],10)||0,u=e.clone();return e=(e=(e=(e=e.hour(i)).minute(o)).second(s)).millisecond(0),(e=Qe(e,u,a,"day")).epoch}(a,e,t),a}return`${this.h12()}:${_(this.minute())}${this.ampm()}`},ampm:function(e,t){let a=Ze,n=this.hour();if(n>=12&&(a=Xe),"string"!=typeof e)return a;let r=this.clone();return e=e.toLowerCase().trim(),n>=12&&"am"===e?(n-=12,r.hour(n,t)):n<12&&"pm"===e?(n+=12,r.hour(n,t)):r},dayTime:function(e,t){if(void 0!==e){const a={morning:"7:00am",breakfast:"7:00am",noon:"12:00am",lunch:"12:00pm",afternoon:"2:00pm",evening:"6:00pm",dinner:"6:00pm",night:"11:00pm",midnight:"23:59pm"};let n=this.clone();return e=(e=e||"").toLowerCase(),!0===a.hasOwnProperty(e)&&(n=n.time(a[e],t)),n}let a=this.hour();return a<6?"night":a<12?"morning":a<17?"afternoon":a<22?"evening":"night"},iso:function(e){return void 0!==e?this.set(e):this.format("iso")}},tt={date:function(e,t){if(void 0!==e){let a=this.clone();return(e=parseInt(e,10))&&(a.epoch=function(e,t,a){if((t=Fe(t))>28){let a=e.month(),n=F[a];1===a&&29===t&&x(e.year())&&(n=29),t>n&&(t=n)}t<=0&&(t=1);let n=e.clone();return W(e,{date:t}),(e=Qe(e,n,a,"month")).epoch}(a,e,t)),a}return this.d.getDate()},day:function(e,t){if(void 0===e)return this.d.getDay();let a=this.clone(),n=e;"string"==typeof e&&(e=e.toLowerCase(),ce.hasOwnProperty(e)?n=ce[e]:(n=me().indexOf(e),-1===n&&(n=he().indexOf(e))));let r=this.d.getDay()-n;!0===t&&r>0&&(r-=7),!1===t&&r<0&&(r+=7);let i=this.subtract(r,"days");return W(i,{hour:a.hour(),minute:a.minute(),second:a.second()}),i},dayName:function(e,t){if(void 0===e)return he()[this.day()];let a=this.clone();return a=a.day(e,t),a}};const at=e=>e=(e=(e=e.minute(0)).second(0)).millisecond(1);var nt={dayOfYear:function(e,t){if(void 0!==e){let a=this.clone();return a.epoch=function(e,t,a){t=Fe(t);let n=e.clone();return(t-=1)<=0?t=0:t>=365&&(t=364),e=(e=e.startOf("year")).add(t,"day"),Ke(e,n,"hour"),(e=Qe(e,n,a,"year")).epoch}(a,e,t),a}let a,n=0,r=this.d.getMonth();for(let e=1;e<=r;e++)a=new Date,a.setDate(1),a.setFullYear(this.d.getFullYear()),a.setHours(1),a.setMinutes(1),a.setMonth(e),a.setHours(-2),n+=a.getDate();return n+this.d.getDate()},week:function(e,t){if(void 0!==e){let a=this.clone();return a.epoch=function(e,t,a){let n=e.clone();return t=Fe(t),"december"===(e=(e=(e=e.month(0)).date(1)).day("monday")).monthName()&&e.date()>=28&&(e=e.add(1,"week")),t-=1,e=e.add(t,"weeks"),(e=Qe(e,n,a,"year")).epoch}(this,e,t),a=at(a),a}let a=this.clone();a=a.month(0),a=a.date(1),a=at(a),a=a.day("monday"),"december"===a.monthName()&&a.date()>=28&&(a=a.add(1,"week"));let n=1;1===a.date()&&(n=0),a=a.minus(1,"second");const r=this.epoch;if(a.epoch>r)return 1;let i=0,o=4*this.month();for(a.epoch+=B.week*o,i+=o;i<=52;i++){if(a.epoch>r)return i+n;a=a.add(1,"week")}return 52},month:function(e,t){if(void 0!==e){let a=this.clone();return a.epoch=function(e,t,a){"string"==typeof t&&("sept"===t&&(t="sep"),t=R()[t.toLowerCase()]),(t=Fe(t))>=12&&(t=11),t<=0&&(t=0);let n=e.date();n>F[t]&&(n=F[t]);let r=e.clone();return W(e,{month:t,d:n}),(e=Qe(e,r,a,"year")).epoch}(a,e,t),a}return this.d.getMonth()},monthName:function(e,t){if(void 0!==e){let a=this.clone();return a=a.month(e,t),a}return K[this.month()]},quarter:function(e,t){if(void 0!==e&&("string"==typeof e&&(e=e.replace(/^q/i,""),e=parseInt(e,10)),Pe[e])){let a=this.clone(),n=Pe[e][0];return a=a.month(n,t),a=a.date(1,t),a=a.startOf("day"),a}let a=this.d.getMonth();for(let e=1;e=Ne[a][e][1]&&n0&&(t.epoch=Ue(t,-1*a)),"ad"===e&&a<0&&(t.epoch=Ue(t,-1*a)),t}return this.d.getFullYear()<0?"BC":"AD"},decade:function(e){if(void 0!==e){if(!(e=(e=(e=String(e)).replace(/([0-9])'?s$/,"$1")).replace(/([0-9])(th|rd|st|nd)/,"$1")))return console.warn("Spacetime: Invalid decade input"),this;2===e.length&&/[0-9][0-9]/.test(e)&&(e="19"+e);let t=Number(e);return isNaN(t)?this:(t=10*Math.floor(t/10),this.year(t))}return this.startOf("decade").year()},century:function(e){if(void 0!==e){"string"==typeof e&&(e=(e=(e=e.replace(/([0-9])(th|rd|st|nd)/,"$1")).replace(/([0-9]+) ?(b\.?c\.?|a\.?d\.?)/i,(e,t,a)=>(a.match(/b\.?c\.?/i)&&(t="-"+t),t))).replace(/c$/,""));let t=Number(e);return isNaN(e)?(console.warn("Spacetime: Invalid century input"),this):(0===t&&(t=1),t=t>=0?100*(t-1):100*(t+1),this.year(t))}let t=this.startOf("century").year();return t=Math.floor(t/100),t<0?t-1:t+1},millenium:function(e){if(void 0!==e){if("string"==typeof e&&(e=e.replace(/([0-9])(th|rd|st|nd)/,"$1"),e=Number(e),isNaN(e)))return console.warn("Spacetime: Invalid millenium input"),this;e>0&&(e-=1);let t=1e3*e;return 0===t&&(t=1),this.year(t)}let t=Math.floor(this.year()/1e3);return t>=0&&(t+=1),t}};const rt=Object.assign({},et,tt,nt);rt.milliseconds=rt.millisecond,rt.seconds=rt.second,rt.minutes=rt.minute,rt.hours=rt.hour,rt.hour24=rt.hour,rt.h12=rt.hour12,rt.h24=rt.hour24,rt.days=rt.day;var it=e=>{Object.keys(rt).forEach(t=>{e.prototype[t]=rt[t]})};const ot=function(e,t){return 1===e&&x(t)?29:F[e]},st=(e,t)=>{if(e.month>0){let a=parseInt(e.month/12,10);e.year=t.year()+a,e.month=e.month%12}else if(e.month<0){let a=Math.abs(e.month),n=parseInt(a/12,10);a%12!=0&&(n+=1),e.year=t.year()-n,e.month=e.month%12,e.month=e.month+12,12===e.month&&(e.month=0)}return e},ut=(e,t,a)=>{let n=t.year(),r=t.month(),i=ot(r,n);for(;a>i;)a-=i,r+=1,r>=12&&(r-=12,n+=1),i=ot(r,n);return e.month=r,e.date=a,e},dt=(e,t,a)=>{e.year=t.year(),e.month=t.month();let n=t.date();for(e.date=n-Math.abs(a);e.date<1;){e.month-=1,e.month<0&&(e.month=11,e.year-=1);let t=ot(e.month,e.year);e.date+=t}return e},lt=["millisecond","second","minute","hour","date","month"];let mt={second:lt.slice(0,1),minute:lt.slice(0,2),quarterhour:lt.slice(0,2),hour:lt.slice(0,3),date:lt.slice(0,4),month:lt.slice(0,4),quarter:lt.slice(0,4),season:lt.slice(0,4),year:lt,decade:lt,century:lt};mt.week=mt.hour,mt.season=mt.date,mt.quarter=mt.date;const ht={year:!0,quarter:!0,season:!0,month:!0,week:!0,date:!0},ct={month:!0,quarter:!0,season:!0,year:!0};var ft=e=>{e.prototype.add=function(e,t){let a=this.clone();if(!t||0===e)return a;let n=this.clone();if("millisecond"===(t=T(t)))return a.epoch+=e,a;"fortnight"===t&&(e*=2,t="week"),B[t]?a.epoch+=B[t]*e:"week"===t||"weekend"===t?a.epoch+=B.day*(7*e):"quarter"===t||"season"===t?a.epoch+=B.month*(3*e):"quarterhour"===t&&(a.epoch+=15*B.minute*e);let r={};if(mt[t]&&mt[t].forEach(e=>{r[e]=n[e]()}),ht[t]){const e=n.timezone().current.offset-a.timezone().current.offset;a.epoch+=3600*e*1e3}if("month"===t&&(r.month=n.month()+e,r=st(r,n)),"week"===t){let t=n.date()+7*e;t<=28&&t>1&&(r.date=t)}if("weekend"===t&&"saturday"!==a.dayName())a=a.day("saturday",!0);else if("date"===t){if(e<0)r=dt(r,n,e);else{let t=n.date()+e;r=ut(r,n,t)}0!==e&&n.isSame(a,"day")&&(r.date=n.date()+e)}else if("quarter"===t){if(r.month=n.month()+3*e,r.year=n.year(),r.month<0){let e=Math.floor(r.month/12),t=r.month+12*Math.abs(e);r.month=t,r.year+=e}else if(r.month>=12){let e=Math.floor(r.month/12);r.month=r.month%12,r.year+=e}r.date=n.date()}else if("year"===t){let t=n.year()+e,r=a.year();if(rt){let t=Math.floor(e/4)||1;a.epoch+=B.day*t}}else"decade"===t?r.year=a.year()+10:"century"===t&&(r.year=a.year()+100);if(ct[t]){let e=F[r.month];r.date=n.date(),r.date>e&&(r.date=e)}return Object.keys(r).length>1&&W(a,r),a},e.prototype.subtract=function(e,t){return this.clone().add(-1*e,t)},e.prototype.minus=e.prototype.subtract,e.prototype.plus=e.prototype.add};const yt={millisecond:e=>e.epoch,second:e=>[e.year(),e.month(),e.date(),e.hour(),e.minute(),e.second()].join("-"),minute:e=>[e.year(),e.month(),e.date(),e.hour(),e.minute()].join("-"),hour:e=>[e.year(),e.month(),e.date(),e.hour()].join("-"),day:e=>[e.year(),e.month(),e.date()].join("-"),week:e=>[e.year(),e.week()].join("-"),month:e=>[e.year(),e.month()].join("-"),quarter:e=>[e.year(),e.quarter()].join("-"),year:e=>e.year()};yt.date=yt.day;var pt=e=>{e.prototype.isSame=function(t,a,n=!0){let r=this;if(!a)return null;if("string"==typeof t&&"object"==typeof a){let e=t;t=a,a=e}return"string"!=typeof t&&"number"!=typeof t||(t=new e(t,this.timezone.name)),a=a.replace(/s$/,""),!0===n&&r.tz!==t.tz&&((t=t.clone()).tz=r.tz),yt[a]?yt[a](r)===yt[a](t):null}},gt=e=>{const t={isAfter:function(e){let t=z(e=E(e,this));return null===t?null:this.epoch>t},isBefore:function(e){let t=z(e=E(e,this));return null===t?null:this.epoch{e.prototype[a]=t[a]})},wt=e=>{const t={i18n:e=>{var t,a,n;M(e.days)&&(t=e.days,de=t.short||de,le=t.long||le),M(e.months)&&function(e){J=e.short||J,K=e.long||K}(e.months),n=e.useTitleCase,"[object Boolean]"===Object.prototype.toString.call(n)&&(a=e.useTitleCase,fe=a),M(e.ampm)&&function(e){Ze=e.am||Ze,Xe=e.pm||Xe}(e.ampm)}};Object.keys(t).forEach(a=>{e.prototype[a]=t[a]})};let bt=f;const kt=function(e,t,a={}){this.epoch=null,this.tz=A(t,bt),this.silent=void 0===a.silent||a.silent,this.british=a.dmy||a.british,this._weekStart=1,void 0!==a.weekStart&&(this._weekStart=a.weekStart),this._today={},void 0!==a.today&&(this._today=a.today),Object.defineProperty(this,"d",{get:function(){let e=l(this),t=(new Date(this.epoch).getTimezoneOffset()||0)+60*e;t=60*t*1e3;let a=this.epoch+t;return new Date(a)}}),Object.defineProperty(this,"timezones",{get:()=>bt,set:e=>(bt=e,e)});let n=ue(this,e);this.epoch=n.epoch};Object.keys(We).forEach(e=>{kt.prototype[e]=We[e]}),kt.prototype.clone=function(){return new kt(this.epoch,this.tz,{silent:this.silent,weekStart:this._weekStart,today:this._today,parsers:this.parsers})},kt.prototype.toLocalDate=function(){return this.toNativeDate()},kt.prototype.toNativeDate=function(){return new Date(this.epoch)},it(kt),ft(kt),pt(kt),gt(kt),wt(kt);var Dt=kt,vt=(e,t)=>{let a=new Dt(null),n=new Dt(null);a=a.time(e),n=t?n.time(t):a.add(59,"minutes");let r=a.hour(),i=n.hour();return Object.keys(a.timezones).filter(e=>{if(-1===e.indexOf("/"))return!1;let t=new Dt(null,e),o=t.hour();return o>=r&&o<=i&&!(o===r&&t.minute()n.minute())})};const At=(e,t,a)=>new Dt(e,t,a),xt=function(e){let t=e._today||{};return Object.keys(t).forEach(a=>{e=e[a](t[a])}),e};At.now=(e,t)=>{let a=new Dt((new Date).getTime(),e,t);return a=xt(a),a},At.today=(e,t)=>{let a=new Dt((new Date).getTime(),e,t);return a=xt(a),a.startOf("day")},At.tomorrow=(e,t)=>{let a=new Dt((new Date).getTime(),e,t);return a=xt(a),a.add(1,"day").startOf("day")},At.yesterday=(e,t)=>{let a=new Dt((new Date).getTime(),e,t);return a=xt(a),a.subtract(1,"day").startOf("day")},At.extend=function(e={}){return Object.keys(e).forEach(t=>{Dt.prototype[t]=e[t]}),this},At.timezones=function(){return(new Dt).timezones},At.max=function(e,t){let a=new Dt(null,e,t);return a.epoch=864e13,a},At.min=function(e,t){let a=new Dt(null,e,t);return a.epoch=-864e13,a},At.whereIts=vt,At.version="7.1.4",At.plugin=At.extend;var Ot=At;const Mt={daybreak:"7:00am",breakfast:"8:00am",morning:"9:00am",noon:"12:00pm",midday:"12:00pm",afternoon:"2:00pm",lunchtime:"12:00pm",evening:"6:00pm",dinnertime:"6:00pm",night:"8:00pm",eod:"10:00pm",midnight:"12:00am",am:"9:00am",pm:"5:00pm","early day":"8:00am","late at night":"11:00pm"},_t={quarter:15,half:30},jt=function(e){let t=e.time("6:00am");return e.isBefore(t)?e.ampm("pm"):e};var $t=function(e,t){let a=e.match("(at|by|for|before|this|after)? #Time+");a=a.not("^(at|by|for|before|this|after)"),a=a.not("sharp"),a=a.not("on the dot");let n=Ot.now(t.timezone),r=n.clone(),i=a.not("in the").text("reduced");if(i=i.replace(/^@/,""),Mt.hasOwnProperty(i))return{result:Mt[i],m:a};let o=a.match("^#Cardinal oclock (am|pm)?");if(o.found&&(n=n.hour(o.text("reduced")),n=n.startOf("hour"),n.isValid()&&!n.isEqual(r))){let e=o.match("(am|pm)");return n=e.found?n.ampm(e.text("reduced")):jt(n),{result:n.time(),m:o}}if(o=a.match("(half|quarter|25|20|15|10|5) (past|after|to) #Cardinal"),o.found&&(n=function(e,t){let a=e.match("#Cardinal$"),n=e.not(a).match("(half|quarter|25|20|15|10|5)");a=a.text("reduced");let r=n.text("reduced");_t.hasOwnProperty(r)&&(r=_t[r]);let i=e.has("to");return t=(t=t.hour(a)).startOf("hour"),a<6&&(t=t.ampm("pm")),i?t.subtract(r,"minutes"):t.add(r,"minutes")}(o,n),n.isValid()&&!n.isEqual(r)))return n=jt(n),{result:n.time(),m:o};if(o=a.match("[(half|quarter|25|20|15|10|5)] (past|after)"),o.found){let e=o.groups("min").text("reduced"),a=Ot(t.today);if(_t.hasOwnProperty(e)&&(e=_t[e]),a=a.next("hour").startOf("hour").minute(e),a.isValid()&&!a.isEqual(r))return{result:a.time(),m:o}}if(o=a.match("[(half|quarter|25|20|15|10|5)] to"),o.found){let e=o.groups("min").text("reduced"),a=Ot(t.today);if(_t.hasOwnProperty(e)&&(e=_t[e]),a=a.next("hour").startOf("hour").minus(e,"minutes"),a.isValid()&&!a.isEqual(r))return{result:a.time(),m:o}}if(o=a.match("[