diff --git a/README.md b/README.md index 09002a913..05427191b 100644 --- a/README.md +++ b/README.md @@ -453,6 +453,8 @@ doc.money().json() - **[.termList()](https://observablehq.com/@spencermountain/compromise-accessors)** - return a flat list of all Term objects in match - **[.cache({})](https://observablehq.com/@spencermountain/compromise-cache)** - freeze the current state of the document, for speed-purposes - **[.uncache()](https://observablehq.com/@spencermountain/compromise-cache)** - un-freezes the current state of the document, so it may be transformed +- **[.freeze({})](https://observablehq.com/@spencermountain/compromise-freeze)** - prevent any tags from being removed, in these terms +- **[.unfreeze({})](https://observablehq.com/@spencermountain/compromise-freeze)** - allow tags to change again, as default ##### Accessors @@ -560,7 +562,7 @@ _(these methods are on the main `nlp` object)_ - **[nlp.verbose(mode)](https://observablehq.com/@spencermountain/compromise-constructor-methods)** - log our decision-making for debugging - **[nlp.version](https://observablehq.com/@spencermountain/compromise-constructor-methods)** - current semver version of the library -- **[nlp.addWords(obj)](https://observablehq.com/@spencermountain/compromise-plugin)** - add new words to the lexicon +- **[nlp.addWords(obj, isFrozen?)](https://observablehq.com/@spencermountain/compromise-plugin)** - add new words to the lexicon - **[nlp.addTags(obj)](https://observablehq.com/@spencermountain/compromise-plugin)** - add new tags to the tagSet - **[nlp.typeahead(arr)](https://observablehq.com/@spencermountain/compromise-typeahead)** - add words to the auto-fill dictionary - **[nlp.buildTrie(arr)](https://observablehq.com/@spencermountain/compromise-lookup)** - compile a list of words into a fast lookup form @@ -799,28 +801,27 @@ nlp.extend({ ##### Documentation: -| Concepts | API | Plugins | -| ------------------------------------------------------------------------------------- | :---------------------------------------------------------------------------------------------: | -------------------------------------------------------------------------------------: | -| [Accuracy](https://observablehq.com/@spencermountain/compromise-accuracy) | [Accessors](https://observablehq.com/@spencermountain/compromise-accessors) | [Adjectives](https://observablehq.com/@spencermountain/compromise-adjectives) | -| [Caching](https://observablehq.com/@spencermountain/compromise-cache) | [Constructor-methods](https://observablehq.com/@spencermountain/compromise-constructor-methods) | [Dates](https://observablehq.com/@spencermountain/compromise-dates) | -| [Case](https://observablehq.com/@spencermountain/compromise-case) | [Contractions](https://observablehq.com/@spencermountain/compromise-contractions) | [Export](https://observablehq.com/@spencermountain/compromise-export) | -| [Filesize](https://observablehq.com/@spencermountain/compromise-filesize) | [Insert](https://observablehq.com/@spencermountain/compromise-insert) | [Hash](https://observablehq.com/@spencermountain/compromise-hash) | -| [Internals](https://observablehq.com/@spencermountain/compromise-internals) | [Json](https://observablehq.com/@spencermountain/compromise-json) | [Html](https://observablehq.com/@spencermountain/compromise-html) | -| [Justification](https://observablehq.com/@spencermountain/compromise-justification) | [Character Offsets](https://observablehq.com/@spencermountain/compromise-offsets) | [Keypress](https://observablehq.com/@spencermountain/compromise-keypress) | -| [Lexicon](https://observablehq.com/@spencermountain/compromise-lexicon) | [Loops](https://observablehq.com/@spencermountain/compromise-loops) | [Ngrams](https://observablehq.com/@spencermountain/compromise-ngram) | -| [Match-syntax](https://observablehq.com/@spencermountain/compromise-match-syntax) | [Match](https://observablehq.com/@spencermountain/compromise-match) | [Numbers](https://observablehq.com/@spencermountain/compromise-values) | -| [Performance](https://observablehq.com/@spencermountain/compromise-performance) | [Nouns](https://observablehq.com/@spencermountain/nouns) | [Paragraphs](https://observablehq.com/@spencermountain/compromise-paragraphs) | -| [Plugins](https://observablehq.com/@spencermountain/compromise-plugins) | [Output](https://observablehq.com/@spencermountain/compromise-output) | [Scan](https://observablehq.com/@spencermountain/compromise-scan) | -| [Projects](https://observablehq.com/@spencermountain/compromise-projects) | [Selections](https://observablehq.com/@spencermountain/compromise-selections) | [Sentences](https://observablehq.com/@spencermountain/compromise-sentences) | -| [Tagger](https://observablehq.com/@spencermountain/compromise-tagger) | [Sorting](https://observablehq.com/@spencermountain/compromise-sorting) | [Syllables](https://observablehq.com/@spencermountain/compromise-syllables) | -| [Tags](https://observablehq.com/@spencermountain/compromise-tags) | [Split](https://observablehq.com/@spencermountain/compromise-split) | [Pronounce](https://observablehq.com/@spencermountain/compromise-pronounce) | | -| [Tokenization](https://observablehq.com/@spencermountain/compromise-tokenization) | [Text](https://observablehq.com/@spencermountain/compromise-text) | [Strict](https://observablehq.com/@spencermountain/compromise-strict) | -| [Named-Entities](https://observablehq.com/@spencermountain/topics-named-entity-recognition) | [Utils](https://observablehq.com/@spencermountain/compromise-utils) | [Penn-tags](https://observablehq.com/@spencermountain/compromise-penn-tags) | -| [Whitespace](https://observablehq.com/@spencermountain/compromise-whitespace) | [Verbs](https://observablehq.com/@spencermountain/verbs) | [Typeahead](https://observablehq.com/@spencermountain/compromise/compromise-typeahead) | -| [World data](https://observablehq.com/@spencermountain/compromise-world) | [Normalization](https://observablehq.com/@spencermountain/compromise-normalization) | [Sweep](https://observablehq.com/@spencermountain/compromise-sweep) | -| [Fuzzy-matching](https://observablehq.com/@spencermountain/compromise-fuzzy-matching) | [Typescript](https://observablehq.com/@spencermountain/compromise-typescript) | [Mutation](https://observablehq.com/@spencermountain/compromise-mutation) | -| [Root-forms](https://observablehq.com/@spencermountain/compromise-root) | - +| Concepts | API | Plugins | +| ------------------------------------------------------------------------------------------- | :---------------------------------------------------------------------------------------------: | -------------------------------------------------------------------------------------: | --- | +| [Accuracy](https://observablehq.com/@spencermountain/compromise-accuracy) | [Accessors](https://observablehq.com/@spencermountain/compromise-accessors) | [Adjectives](https://observablehq.com/@spencermountain/compromise-adjectives) | +| [Caching](https://observablehq.com/@spencermountain/compromise-cache) | [Constructor-methods](https://observablehq.com/@spencermountain/compromise-constructor-methods) | [Dates](https://observablehq.com/@spencermountain/compromise-dates) | +| [Case](https://observablehq.com/@spencermountain/compromise-case) | [Contractions](https://observablehq.com/@spencermountain/compromise-contractions) | [Export](https://observablehq.com/@spencermountain/compromise-export) | +| [Filesize](https://observablehq.com/@spencermountain/compromise-filesize) | [Insert](https://observablehq.com/@spencermountain/compromise-insert) | [Hash](https://observablehq.com/@spencermountain/compromise-hash) | +| [Internals](https://observablehq.com/@spencermountain/compromise-internals) | [Json](https://observablehq.com/@spencermountain/compromise-json) | [Html](https://observablehq.com/@spencermountain/compromise-html) | +| [Justification](https://observablehq.com/@spencermountain/compromise-justification) | [Character Offsets](https://observablehq.com/@spencermountain/compromise-offsets) | [Keypress](https://observablehq.com/@spencermountain/compromise-keypress) | +| [Lexicon](https://observablehq.com/@spencermountain/compromise-lexicon) | [Loops](https://observablehq.com/@spencermountain/compromise-loops) | [Ngrams](https://observablehq.com/@spencermountain/compromise-ngram) | +| [Match-syntax](https://observablehq.com/@spencermountain/compromise-match-syntax) | [Match](https://observablehq.com/@spencermountain/compromise-match) | [Numbers](https://observablehq.com/@spencermountain/compromise-values) | +| [Performance](https://observablehq.com/@spencermountain/compromise-performance) | [Nouns](https://observablehq.com/@spencermountain/nouns) | [Paragraphs](https://observablehq.com/@spencermountain/compromise-paragraphs) | +| [Plugins](https://observablehq.com/@spencermountain/compromise-plugins) | [Output](https://observablehq.com/@spencermountain/compromise-output) | [Scan](https://observablehq.com/@spencermountain/compromise-scan) | +| [Projects](https://observablehq.com/@spencermountain/compromise-projects) | [Selections](https://observablehq.com/@spencermountain/compromise-selections) | [Sentences](https://observablehq.com/@spencermountain/compromise-sentences) | +| [Tagger](https://observablehq.com/@spencermountain/compromise-tagger) | [Sorting](https://observablehq.com/@spencermountain/compromise-sorting) | [Syllables](https://observablehq.com/@spencermountain/compromise-syllables) | +| [Tags](https://observablehq.com/@spencermountain/compromise-tags) | [Split](https://observablehq.com/@spencermountain/compromise-split) | [Pronounce](https://observablehq.com/@spencermountain/compromise-pronounce) | | +| [Tokenization](https://observablehq.com/@spencermountain/compromise-tokenization) | [Text](https://observablehq.com/@spencermountain/compromise-text) | [Strict](https://observablehq.com/@spencermountain/compromise-strict) | +| [Named-Entities](https://observablehq.com/@spencermountain/topics-named-entity-recognition) | [Utils](https://observablehq.com/@spencermountain/compromise-utils) | [Penn-tags](https://observablehq.com/@spencermountain/compromise-penn-tags) | +| [Whitespace](https://observablehq.com/@spencermountain/compromise-whitespace) | [Verbs](https://observablehq.com/@spencermountain/verbs) | [Typeahead](https://observablehq.com/@spencermountain/compromise/compromise-typeahead) | +| [World data](https://observablehq.com/@spencermountain/compromise-world) | [Normalization](https://observablehq.com/@spencermountain/compromise-normalization) | [Sweep](https://observablehq.com/@spencermountain/compromise-sweep) | +| [Fuzzy-matching](https://observablehq.com/@spencermountain/compromise-fuzzy-matching) | [Typescript](https://observablehq.com/@spencermountain/compromise-typescript) | [Mutation](https://observablehq.com/@spencermountain/compromise-mutation) | +| [Root-forms](https://observablehq.com/@spencermountain/compromise-root) |
diff --git a/builds/compromise.js b/builds/compromise.js index 586b1d7b7..a544fa8be 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.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(); +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.11.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},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 D=function(e){e.has("@hasContraction")&&"function"==typeof e.contractions&&e.grow("@hasContraction").contractions().expand()},H=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]||[]:H(e)?H(e[0])?e[0]:e:[]}(e,a);0!==d.length&&(d=function(e){return e.map((e=>(e.id=T(e),e)))}(d),n?(D(t.update([u]).firstTerm()),j(h,u,d,r)):(D(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 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 B=S;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 K=M,L={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 J=new Set(["index","sequence","seq","sequential","chron","chronological"]),W=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 J.has(e)&&(e="sequential"),q.has(e)&&(e="alpha"),W.has(e)?(a=L.byFreq(a),this.update(a.map((e=>e.pointer)))):"function"==typeof L[e]?(a=a.sort(L[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 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}},O,z,B,K,U,R,_);var X=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=[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=/'/,he=/(e|é|aison|sion|tion)$/,de=/(age|isme|acle|ege|oire)$/;var ge=(e,t)=>["je",e[t].normal.split(ce)[1]],me=(e,t)=>{let n=e[t].normal.split(ce)[1];return n&&n.endsWith("e")?["la",n]:["le",n]},pe=(e,t)=>{let n=e[t].normal.split(ce)[1];return n&&he.test(n)&&!de.test(n)?["du",n]:n&&n.endsWith("s")?["des",n]:["de",n]};const fe=/^([0-9.]{1,4}[a-z]{0,2}) ?[-–—] ?([0-9]{1,4}[a-z]{0,2})$/i,ve=/^([0-9]{1,2}(:[0-9][0-9])?(am|pm)?) ?[-–—] ?([0-9]{1,2}(:[0-9][0-9])?(am|pm)?)$/i,be=/^[0-9]{3}-[0-9]{4}$/;var ye=function(e,t){let n=e[t],r=n.text.match(fe);return null!==r?!0===n.tags.has("PhoneNumber")||be.test(n.text)?null:[r[1],"to",r[2]]:(r=n.text.match(ve),null!==r?[r[1],"to",r[4]]:null)};const we=/^([+-]?[0-9][.,0-9]*)([a-z°²³µ/]+)$/;var ke=function(e,t,n){const r=n.model.one.numberSuffixes||{};let a=e[t].text.match(we);if(null!==a){let e=a[2].toLowerCase().trim();return r.hasOwnProperty(e)?null:[a[1],e]}return null};const Pe=/'/,Ae=/^[0-9][^-–—]*[-–—].*?[0-9]/,Ce=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]]},Ne={t:(e,t)=>ue(e,t),d:(e,t)=>le(e,t)},je={j:(e,t)=>ge(e,t),l:(e,t)=>me(e,t),d:(e,t)=>pe(e,t)},xe=function(e,t,n,r){for(let a=0;a2)return o.out.concat(r)}return null},Ie=function(e,t){let n=t.fromText(e.join(" "));return n.compute(["id","alias"]),n.docs[0]},Te=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 De=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;if(!0===Pe.test(r[s].normal)){let e=r[s].normal.split(Pe);l=e[0],u=e[1]}let c=xe(o,r[s],l,u);!c&&Ne.hasOwnProperty(u)&&(c=Ne[u](r,s,t)),!c&&je.hasOwnProperty(l)&&(c=je[l](r,s)),"there"===l&&"s"===u&&(c=Te(r,s)),c?(c=Ie(c,e),re(n,[i,s],c),Ce(n[i],e,s,c.length)):Ae.test(r[s].normal)?(c=ye(r,s),c&&(c=Ie(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"),Ce(n[i],e,s,c.length))):(c=ke(r,s,t),c&&(c=Ie(c,e),re(n,[i,s],c),a.one.setTag([c[1]],"Unit",t,null,"contraction-unit")))}}))},He={model:ne,compute:{contractions:De},hooks:["contractions"]},Ge=function(e,t,n){const{model:r,methods:a}=n,o=a.one.setTag,i=r.one._multiCache||{},{lexicon:s,frozenLex:l}=r.one||{};let u=e[t],c=u.machine||u.normal;if(void 0!==i[c]&&e[t+1]){for(let r=t+i[c]-1;r>t;r-=1){let a=e.slice(t,r+1);if(a.length<=1)return!1;let i=a.map((e=>e.machine||e.normal)).join(" ");if(!0===l.hasOwnProperty(i))return o(a,l[i],n,!1,"1-frozen-multi-lexicon"),a.forEach((e=>e.frozen=!0)),!0;if(!0===s.hasOwnProperty(i)){let e=s[i];return o(a,e,n,!1,"1-multi-lexicon"),!e||2!==e.length||"PhrasalVerb"!==e[0]&&"PhrasalVerb"!==e[1]||o([a[1]],"Particle",n,!1,"1-phrasal-particle"),!0}}return!1}return null};const Ee=/^(under|over|mis|re|un|dis|semi|pre|post)-?/,Oe=new Set(["Verb","Infinitive","PastTense","Gerund","PresentTense","Adjective","Participle"]);var Fe=function(e,t,n){const{model:r,methods:a}=n,o=a.one.setTag,{lexicon:i,frozenLex:s}=r.one;let l=e[t],u=l.machine||l.normal;if(void 0!==s[u]&&s.hasOwnProperty(u))return o([l],s[u],n,!1,"1-freeze-lexicon"),l.frozen=!0,!0;if(void 0!==i[u]&&i.hasOwnProperty(u))return o([l],i[u],n,!1,"1-lexicon"),!0;if(l.alias){let e=l.alias.find((e=>i.hasOwnProperty(e)));if(e)return o([l],i[e],n,!1,"1-lexicon-alias"),!0}if(!0===Ee.test(u)){let e=u.replace(Ee,"");if(i.hasOwnProperty(e)&&e.length>3&&Oe.has(i[e]))return o([l],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&&(void 0===n[o[0]]||o.length>n[o[0]])&&(n[o[0]]=o.length),t[r]=t[r]||a})),delete t[""],delete t.null,delete t[" "],{lex:t,_multi:n}},$e={addWords:function(e,t=!1){const n=this.world(),{methods:r,model:a}=n;if(!e)return;if(Object.keys(e).forEach((t=>{"string"==typeof e[t]&&e[t].startsWith("#")&&(e[t]=e[t].replace(/^#/,""))})),!0===t){let{lex:t,_multi:o}=r.one.expandLexicon(e,n);return Object.assign(a.one._multiCache,o),void Object.assign(a.one.frozenLex,t)}if(r.two.expandLexicon){let{lex:t,_multi:o}=r.two.expandLexicon(e,n);Object.assign(a.one.lexicon,t),Object.assign(a.one._multiCache,o)}let{lex:o,_multi:i}=r.one.expandLexicon(e,n);Object.assign(a.one.lexicon,o),Object.assign(a.one._multiCache,i)}},Se={model:{one:{lexicon:{},_multiCache:{},frozenLex:{}}},methods:{one:{expandLexicon:ze}},compute:Ve,lib:$e,hooks:["lexicon"]},Be=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 Me=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 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 We=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 qe={buildTrie:function(e){const t=Be(e,this.world());return We(t)}};qe.compile=qe.buildTrie;var Ue={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:Be(e,this.world));var r;let a=Le(this,n,t);return a=a.settle(),a}},lib:qe};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},Re=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}},_e=e=>"[object Object]"===Object.prototype.toString.call(e),Ze=e=>e&&_e(e)&&!0===e.isView,Xe=e=>e&&_e(e)&&!0===e.isNet,Ye=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 et={matchOne:function(e,t,n){const r=this.methods.one;if(Ze(e))return this.intersection(e).eq(0);if(Xe(e))return this.sweep(e,{tagger:!1,matchOne:!0}).view;let a={regs:e=Ye(e,n,this.world),group:t,justOne:!0},o=r.match(this.docs,a,this._cache),{ptrs:i,byGroup:s}=Re(o,this.fullPointer),l=this.toView(i);return l._groups=s,l},match:function(e,t,n){const r=this.methods.one;if(Ze(e))return this.intersection(e);if(Xe(e))return this.sweep(e,{tagger:!1}).view.settle();let a={regs:e=Ye(e,n,this.world),group:t},o=r.match(this.docs,a,this._cache),{ptrs:i,byGroup:s}=Re(o,this.fullPointer),l=this.toView(i);return l._groups=s,l},has:function(e,t,n){const r=this.methods.one;if(Ze(e))return e.fullPointer.length>0;if(Xe(e))return this.sweep(e,{tagger:!1}).view.found;let a={regs:e=Ye(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(Ze(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 a={regs:e=Ye(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(Ze(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=Ye(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}},tt={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 nt=function(e,t){return[e[0],e[1],t[2]]},rt=(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},at=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},ot={splitOn:function(e,t){const{splitAll:n}=this.methods.one.pointer;let r=rt(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=>at(e,this))),this.update(o)},splitBefore:function(e,t){const{splitAll:n}=this.methods.one.pointer;let r=rt(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(nt(e.match,e.after)):o.push(e.match)})),o=o.filter((e=>e)),o=o.map((e=>at(e,this))),this.update(o)},splitAfter:function(e,t){const{splitAll:n}=this.methods.one.pointer;let r=rt(e,this,t).fullPointer,a=n(this.fullPointer,r),o=[];return a.forEach((e=>{o.push(e.passthrough),e.before&&e.match?o.push(nt(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=>at(e,this))),this.update(o)}};ot.split=ot.splitAfter;var it=ot;const st=Object.assign({},et,tt,it);st.lookBehind=st.before,st.lookBefore=st.before,st.lookAhead=st.after,st.lookAfter=st.after,st.notIf=st.ifNo;var lt=function(e){Object.assign(e.prototype,st)};const ut=/(?:^|\s)([![^]*(?:<[^<]*>)?\/.*?[^\\/]\/[?\]+*$~]*)(?:\s|$)/,ct=/([!~[^]*(?:<[^<]*>)?\([^)]+[^\\)]\)[?\]+*$~]*)(?:\s|$)/,ht=/ /g,dt=e=>/^[![^]*(<[^<]*>)?\//.test(e)&&/\/[?\]+*$~]*$/.test(e),gt=function(e){return e=(e=e.map((e=>e.trim()))).filter((e=>e))};var mt=function(e){let t=e.split(ut),n=[];t.forEach((e=>{dt(e)?n.push(e):n=n.concat(e.split(ct))})),n=gt(n);let r=[];return n.forEach((e=>{(e=>/^[![^]*(<[^<]*>)?\(/.test(e)&&/\)[?\]+*$~]*$/.test(e))(e)||dt(e)?r.push(e):r=r.concat(e.split(ht))})),r=gt(r),r};const pt=/\{([0-9]+)?(, *[0-9]*)?\}/,ft=/&&/,vt=new RegExp(/^<\s*(\S+)\s*>/),bt=e=>e.charAt(0).toUpperCase()+e.substring(1),yt=e=>e.charAt(e.length-1),wt=e=>e.charAt(0),kt=e=>e.substring(1),Pt=e=>e.substring(0,e.length-1),At=function(e){return e=kt(e),e=Pt(e)},Ct=function(e,t){let n={};for(let r=0;r<2;r+=1){if("$"===yt(e)&&(n.end=!0,e=Pt(e)),"^"===wt(e)&&(n.start=!0,e=kt(e)),"?"===yt(e)&&(n.optional=!0,e=Pt(e)),("["===wt(e)||"]"===yt(e))&&(n.group=null,"["===wt(e)&&(n.groupStart=!0),"]"===yt(e)&&(n.groupEnd=!0),e=(e=e.replace(/^\[/,"")).replace(/\]$/,""),"<"===wt(e))){const t=vt.exec(e);t.length>=2&&(n.group=t[1],e=e.replace(t[0],""))}if("+"===yt(e)&&(n.greedy=!0,e=Pt(e)),"*"!==e&&"*"===yt(e)&&"\\*"!==e&&(n.greedy=!0,e=Pt(e)),"!"===wt(e)&&(n.negative=!0,e=kt(e)),"~"===wt(e)&&"~"===yt(e)&&e.length>2&&(e=At(e),n.fuzzy=!0,n.min=t.fuzzy||.85,!1===/\(/.test(e)))return n.word=e,n;if("/"===wt(e)&&"/"===yt(e))return e=At(e),t.caseSensitive&&(n.use="text"),n.regex=new RegExp(e),n;if(!0===pt.test(e)&&(e=e.replace(pt,((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),"")))),"("===wt(e)&&")"===yt(e)){ft.test(e)?(n.choices=e.split(ft),n.operator="and"):(n.choices=e.split("|"),n.operator="or"),n.choices[0]=kt(n.choices[0]);let r=n.choices.length-1;n.choices[r]=Pt(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=>Ct(e,t))))),e=""}if("{"===wt(e)&&"}"===yt(e)){if(e=At(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("<"===wt(e)&&">"===yt(e))return e=At(e),n.chunk=bt(e),n.greedy=!0,n;if("%"===wt(e)&&"%"===yt(e))return e=At(e),n.switch=e,n}return"#"===wt(e)?(n.tag=kt(e),n.tag=bt(n.tag),n):"@"===wt(e)?(n.method=kt(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 Nt=Ct;const jt=/[a-z0-9][-–—][a-z]/i;var xt=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&&jt.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 It=function(e,t){let{all:n}=t.methods.two.transform.verb||{},r=e.root;return n?n(r,t.model):[]},Tt=function(e,t){let{all:n}=t.methods.two.transform.noun||{};return n?n(e.root,t.model):[e.root]},Dt=function(e,t){let{all:n}=t.methods.two.transform.adjective||{};return n?n(e.root,t.model):[e.root]};var Ht=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(It(e,t)):"Noun"===e.pos?n=n.concat(Tt(e,t)):"Adjective"===e.pos&&(n=n.concat(Dt(e,t))):(n=n.concat(It(e,t)),n=n.concat(Tt(e,t)),n=n.concat(Dt(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 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},Et=function(e,t,n){if(null==e||""===e)return[];t=t||{},"number"==typeof e&&(e=String(e));let r=mt(e);return r=r.map((e=>Nt(e,t))),r=xt(r,n),r=Ht(r,n),r=Gt(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),Kt=(e,t)=>-1!==e.pre.indexOf(t),Lt={hasQuote:e=>zt.test(e.pre)||$t.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,"…")||Kt(e,"..")||Kt(e,"…"),hasSemicolon:e=>Mt(e,";"),hasColon:e=>Mt(e,":"),hasSlash:e=>/\//.test(e.text),hasHyphen:e=>St.test(e.post)||St.test(e.pre),hasDash:e=>Bt.test(e.post)||Bt.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)};Lt.hasQuotation=Lt.hasQuote;var Jt=Lt;let Wt=function(){};Wt=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 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=>Wt(e,t,n,r))):t.choices.some((t=>Wt(e,t,n,r))))}(e,t,n,r);return!0===t.negative?!a:a};var qt=Wt;const Ut=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 _t=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=qt(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]&&qt(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},Yt=function(e,t,n){let r=0;for(let a=e.t;ar||(e.t+=r,0))},en=function(e){const{regs:t}=e;let n=t[e.r],r=Object.assign({},n);if(r.negative=!1,qt(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&&(qt(e.terms[e.t],n,e.start_i+e.t,e.phrase_length)?e.r+=1:n.optional&&t[e.r+2]&&qt(e.terms[e.t],t[e.r+2],e.start_i+e.t,e.phrase_length)&&(e.r+=2))}return n.greedy?Yt(e,r,t[e.r+1]):(e.t+=1,!0)},tn=function(e){const{regs:t}=e;let n=t[e.r],r=e.terms[e.t],a=qt(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&&qt(n,t[e.r+1],e.start_i+e.t,e.phrase_length)||(e.r+=1)}},nn=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},rn=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)}},an=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]&&tn(e),r.implicit&&e.terms[e.t+1]&&rn(e),e.t+=1,!0===n.end&&e.t!==e.terms.length&&!0!==n.greedy?null:!0!==n.greedy||nn(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)},on=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!==Ut(e,a)){if(e.negative){if(!en(a))return null}else if(!0!==qt(a.terms[a.t],e,a.start_i+a.t,a.phrase_length)){if(!0!==e.optional)return null}else if(!an(a))return null}else if(!an(a))return null}else{if(e.negative&&e.anything)return null;if(!an(a))return null}else if(!Xt(a))return null}else if(!Zt(a))return null}else if(!Rt(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}},sn=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}},ln=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},cn=function(e,t,n){let r=on(e,t,0,e.length);return r?(r=un(r,n),r):null};var hn=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=cn(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=ln(i,t.notIf,e)),i=sn(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},dn={api:lt,methods:{one:{termMethods:Jt,parseMatch:Et,match:hn}},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 gn=/^\../,mn=/^#./,pn=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,"'"),gn.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 fn={html:function(e){let{starts:t,ends:n}=pn(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(bn,""),wn.test(a)&&(a=" "),a=a.replace(yn,""),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(bn,""),a="-"===a?" ":a.replace(vn,""));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&&kn.test(a)||(a+=" "),r+=n+o+a})),!1===n&&(r=r.trim()),!0===t.lowerCase&&(r=r.toLowerCase()),r},An={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"}};An.clean=An.normal,An.reduced=An.root;var Cn=An;let Nn=[],jn=0;for(;jn<64;)Nn[jn]=0|4294967296*Math.sin(++jn%Math.PI);function xn(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(jn=i=0;jn>4]+Nn[i]+~~o[jn|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 In={text:!0,terms:!0};let Tn={case:"none",unicode:"some",form:"machine",punctuation:"some"};const Dn=function(e,t){return Object.assign({},e,t)},Hn={text:e=>Pn(e,{keepPunct:!0},!1),normal:e=>Pn(e,Dn(Cn.normal,{keepPunct:!0}),!1),implicit:e=>Pn(e,Dn(Cn.implicit,{keepPunct:!0}),!1),machine:e=>Pn(e,Tn,!1),root:e=>Pn(e,Dn(Tn,{form:"root"}),!1),hash:e=>xn(Pn(e,{keepPunct:!0},!1)),offset:e=>{let t=Hn.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))};Hn.sentences=Hn.sentence,Hn.clean=Hn.normal,Hn.reduced=Hn.root;const Gn={json:function(e){let t=(n=this,"string"==typeof(r=(r=e)||{})&&(r={}),(r=Object.assign({},In,r)).offset&&n.compute("offset"),n.docs.map(((e,t)=>{let a={};return Object.keys(r).forEach((o=>{r[o]&&Hn[o]&&(a[o]=Hn[o](e,n,t))})),a})));var n,r;return"number"==typeof e?t[e]:t}};Gn.data=Gn.json;var En=Gn,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},zn=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)}))}))},$n=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")}))},Sn=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)}))},Bn=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&&(zn(t),console.log("\n")),!0===e.chunks&&($n(t),console.log("\n")),!0===e.highlight&&(Sn(t),console.log("\n")),t)};const Mn=function(e){let t=e.pre||"",n=e.post||"";return t+e.text+n};var Kn=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 Kn(this,e)}};var Jn=Ln,Wn={text:function(e){let t={};var n;if(e&&"string"==typeof e&&Cn.hasOwnProperty(e)?t=Object.assign({},Cn[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},_n=function(e){let t={};return e.forEach((e=>{t[e[0]]=t[e[0]]||[],t[e[0]].push(e)})),t};var Zn=function(e,t){let n=_n(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},Xn=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},Yn={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=>Rn(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},nr=function(e,t){let n=_n(t),r=[];return e.forEach((e=>{let t=n[e[0]]||[];t=t.filter((t=>Rn(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},ar=function(e,t){return e.map((e=>{let[n,r]=e;return t[n]&&t[n][r]&&(e[3]=t[n][r].id),e}))},or={union:function(e){e=rr(e,this);let t=er(this.fullPointer,e.fullPointer);return t=ar(t,this.document),this.toView(t)}};or.and=or.union,or.intersection=function(e){e=rr(e,this);let t=nr(this.fullPointer,e.fullPointer);return t=ar(t,this.document),this.toView(t)},or.not=function(e){e=rr(e,this);let t=tr(this.fullPointer,e.fullPointer);return t=ar(t,this.document),this.toView(t)},or.difference=or.not,or.complement=function(){let e=this.all(),t=tr(e.fullPointer,this.fullPointer);return t=ar(t,this.document),this.toView(t)},or.settle=function(){let e=this.fullPointer;return e.forEach((t=>{e=er(e,[t])})),e=ar(e,this.document),this.update(e)};var ir=function(e){Object.assign(e.prototype,or)},sr={methods:Yn,api:ir},lr=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 ur=function(e){return!0===e.optional||!0===e.negative?null:e.tag?"#"+e.tag:e.word?e.word:e.switch?`%${e.switch}%`:null};var cr=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(ur(e)),"and"===e.operator&&e.choices&&e.choices.forEach((e=>{e.forEach((e=>{t.push(ur(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=ur(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},hr=function(e,t){e=cr(e,t);let n={};e.forEach((e=>{e.needs.forEach((t=>{n[t]=Array.isArray(n[t])?n[t]:[],n[t].push(e)})),e.wants.forEach((t=>{n[t]=Array.isArray(n[t])?n[t]:[],n[t].push(e)}))})),Object.keys(n).forEach((e=>{let t={};n[e]=n[e].filter((e=>"boolean"!=typeof 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}},dr=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=>"boolean"!=typeof o[e.match]&&(o[e.match]=!0,!0))),a}))},gr=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))}))},mr=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},pr=function(e,t,n,r={}){let a=n.one.cacheDoc(e),o=dr(a,t.hooks);return o=gr(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),mr(o,e,a,n,r)},fr=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===fr(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))})))},br={lib:{buildNet:function(e){let t=this.methods().one.buildNet(e,this.world());return t.isNet=!0,t}},api:lr,methods:{one:{buildNet:hr,bulkMatch:pr,bulkTagger:vr}}};const yr=/ /,wr=function(e,t){"Noun"===t&&(e.chunk=t),"Verb"===t&&(e.chunk=t)},kr=function(e,t,n,r){if(!0===e.tags.has(t))return null;if("."===t)return null;!0===e.frozen&&(r=!0);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(),yr.test(t))!function(e,t,n,r){let a=t.split(yr);e.forEach(((e,t)=>{let o=a[t];o&&(o=o.replace(/^#/,""),kr(e,o,n,r))}))}(e,t,o,r);else{t=t.replace(/^#/,"");for(let n=0;nPr(e,t,n,r)))};var Ar=Pr,Cr=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=>jr({id:e}))),t}return[jr({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},Dr=e=>"[object Array]"===Object.prototype.toString.call(e),Hr=e=>(e=e||"").trim(),Gr=function(e=[]){return"string"==typeof e?function(e){let t=e.split(/\r?\n/),n=[];t.forEach((e=>{if(!e.trim()||xr.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:Ir(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=jr({});return e.forEach((e=>{if((e=jr(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):(Tr(t=e).forEach(jr),t);var t},Er=function(e,t){let n="-> ";t&&(n=(e=>""+e+"")("→ "));let r="";return Tr(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},Or=function(e){let t=Tr(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},Fr={text:Er,txt:Er,array:Or,flat:Or},Vr=function(e,t){return"nested"===t||"json"===t?e:"debug"===t?(console.log(Er(e,!0)),null):Fr.hasOwnProperty(t)?Fr[t](e):e},zr=e=>{Tr(e,((e,t)=>{e.id&&(e._cache.parents=e._cache.parents||[],t._cache.parents=e._cache.parents.concat([e.id]))}))},$r=/\//;let Sr=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=Hr(e),!$r.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)||jr({});return new g(t)}add(e,t={}){if(Dr(e))return e.forEach((e=>this.add(Hr(e),t))),this;e=Hr(e);let n=jr({id:e,props:t});return this.json.children.push(n),new g(n)}remove(e){return e=Hr(e),this.json.children=this.json.children.filter((t=>t.id!==e)),this}nodes(){return Tr(this.json).map((e=>(delete(e=Object.assign({},e)).children,e)))}cache(){return(e=>{let t=Tr(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 Tr(this.json)}fillDown(){var e;return e=this.json,Tr(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 Dr(t[n])?e[n]=t[n].concat(e[n]||[]):void 0===e[n]&&(e[n]=t[n])})),e))(t.props,e.props)})),this}depth(){zr(this.json);let e=Tr(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 zr(this.json),Vr(this.json,e)}debug(){return zr(this.json),Vr(this.json,"debug"),this}};const Br=function(e){let t=Gr(e);return new Sr(t)};Br.prototype.plugin=function(e){e(this)};var Mr={Noun:"blue",Verb:"green",Negative:"green",Date:"red",Value:"red",Adjective:"magenta",Preposition:"cyan",Conjunction:"cyan",Determiner:"cyan",Hyphenated:"cyan",Adverb:"cyan"};const Kr=function(e){if(Mr.hasOwnProperty(e.id))return Mr[e.id];if(Mr.hasOwnProperty(e.is))return Mr[e.is];let t=e._cache.parents.find((e=>Mr[e]));return Mr[t]};var Lr=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:Kr(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 Jr=function(e){return e?"string"==typeof e?[e]:e:[]};var Wr=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=Jr(e[t].children),e[t].not=Jr(e[t].not)})),Object.keys(e).forEach((t=>{(e[t].not||[]).forEach((n=>{e[n]&&e[n].not&&e[n].not.push(t)}))})),e},qr=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=Wr(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 Br(t).cache().fillDown().out("array")}(Object.assign({},t,e));return Lr(n)},Ur={one:{setTag:Ar,unTag:Cr,addTags:qr,canBe:Nr}};const Qr=function(e){return"[object Array]"===Object.prototype.toString.call(e)},Rr={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,n=this.methods.one.canBe,r=[];this.document.forEach(((a,o)=>{a.forEach(((a,i)=>{n(a,e,t)||r.push([o,i,i+1])}))}));let a=this.update(r);return this.difference(a)}};var _r=Rr,Zr=function(e){Object.assign(e.prototype,_r)},Xr={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 Yr=new Set(["Auxiliary","Possessive"]);var ea=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(Yr.has(e)||!t.hasOwnProperty(n))return 1;if(Yr.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)}))}))},ta={model:{one:{tagSet:{}}},compute:{tagRank:ea},methods:Ur,api:Zr,lib:Xr};const na=/([.!?\u203D\u2E18\u203C\u2047-\u2049\u3002]+\s)/g,ra=/^[.!?\u203D\u2E18\u203C\u2047-\u2049\u3002]+\s$/,aa=/((?:\r?\n|\r)+)/;var oa=function(e){let t=[],n=e.split(aa);for(let e=0;e0&&(a.push(o),e[t]="")}return a};const ca={'"':'"',""":""","“":"”","‟":"”","„":"”","⹂":"”","‚":"’","«":"»","‹":"›","‵":"′","‶":"″","‷":"‴","〝":"〞","〟":"〞"},ha=RegExp("["+Object.keys(ca).join("")+"]","g"),da=RegExp("["+Object.values(ca).join("")+"]","g"),ga=function(e){if(!e)return!1;let t=e.match(da);return null!==t&&1===t.length};var ma=function(e){let t=[];for(let n=0;n(e[t]=!0,e)),{});var Da=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(Ia);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=Na(n),n=Aa(n),n=n.filter((e=>e)),n};const Ha=/\p{Letter}/u,Ga=/[\p{Number}\p{Currency_Symbol}]/u,Ea=/^[a-z]\.([a-z]\.)+/i,Oa=/[sn]['’]$/;var Fa=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}},Va=(e,t)=>{let{str:n,pre:r,post:a}=Fa(e,t);return{text:n,pre:r,post:a,tags:new Set}},za=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("")},$a=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 Sa=/([A-Z]\.)+[A-Z]?,?$/,Ba=/^[A-Z]\.,?$/,Ma=/[A-Z]{2,}('s|,)?$/,Ka=/([a-z]\.)+[a-z]\.?$/;var La=function(e){return function(e){return!0===Sa.test(e)||!0===Ka.test(e)||!0===Ba.test(e)||!0===Ma.test(e)}(e)&&(e=e.replace(/\./g,"")),e},Ja=function(e,t){const n=t.methods.one.killUnicode;let r=e.text||"";r=$a(r),r=n(r,t),r=La(r),e.normal=r},Wa=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=>{Ja(e,t)})),n})),e};const qa=/[ .][A-Z]\.? *$/i,Ua=/(?:\u2026|\.{2,}) *$/,Qa=/\p{L}/u,Ra=/\. *$/,_a=/^[A-Z]\. $/;var Za=function(e,t){if(!1===Qa.test(e))return!1;if(!0===qa.test(e))return!1;if(3===e.length&&_a.test(e))return!1;if(!0===Ua.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!==Ra.test(e)},Xa={one:{killUnicode:za,tokenize:{splitSentences:wa,isSentence:Za,splitTerms:Da,splitWhitespace:Va,fromString:Wa}}},Ya={"&":"and","@":"at","%":"percent",plz:"please",bein:"being"};let eo={},to={};[[["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=>{eo[t]=!0,to[t]="Abbreviation",void 0!==e[1]&&(to[t]=[to[t],e[1]])}))}));var no=["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 ro={"!":"¡","?":"¿Ɂ",'"':'“”"❝❞',"'":"‘‛❛❜’","-":"—–",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:"ŹźŻżŽžƵƶȤȥɀΖ"},ao={};Object.keys(ro).forEach((function(e){ro[e].split("").forEach((function(t){ao[t]=e}))}));const oo=/\//,io=/[a-z]\.[a-z]/i,so=/[0-9]/;var lo=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])),oo.test(n)&&!io.test(n)&&!so.test(n)){let t=n.split(oo);t.length<=2&&t.forEach((t=>{""!==(t=t.trim())&&(e.alias=e.alias||[],e.alias.push(t))}))}return e};const uo=/^\p{Letter}+-\p{Letter}+$/u;var co=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"),uo.test(t)&&(t=t.replace(/-/g,"")),t=t.replace(/^[#@]/,""),t!==e.normal&&(e.machine=t)},ho=function(e){let t=e.docs,n={};for(let e=0;efo(e,lo),machine:e=>fo(e,co),normal:e=>fo(e,Ja),freq:ho,offset:go,index:mo,wordCount:po},methods:Xa,model:{one:{aliases:Ya,abbreviations:eo,prefixes:no,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:to,unicode:ao,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 Po={safe:!0,min:3};var Ao={typeahead:function(e=[],t={}){let n=this.model();var r;t=Object.assign({},Po,t),r=e,"[object Object]"===Object.prototype.toString.call(r)&&(Object.assign(n.one.lexicon,e),e=Object.keys(e));let a=ko(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}},Co={model:{one:{typeahead:{}}},api:wo,lib:Ao,compute:bo,hooks:["typeahead"]};v.extend(ee),v.extend(Qn),v.extend(dn),v.extend(sr),v.extend(ta),v.plugin(He),v.extend({mutate:e=>{e.methods.one.termMethods.isFrozen=e=>!0===e.frozen},api:function(e){e.prototype.freeze=function(){return this.docs.forEach((e=>{e.forEach((e=>{e.frozen=!0}))})),this},e.prototype.unfreeze=function(){return this.docs.forEach((e=>{e.forEach((e=>{delete e.frozen}))})),this},e.prototype.isFrozen=function(){return this.match("@isFrozen+")}}}),v.extend(vo),v.plugin(k),v.extend(Ue),v.extend(Co),v.extend(Se),v.extend(br);var No={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"},jo={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:4R;a3Ub3Cc2Pd2He2Df27g1Zh1Ti1Pj1Nk1Ll1Gm12n0Po0Mp0Cqu0Br02sTtHuCv9w3xiaomi,y1;amaha,m1Bou1w1B;gov,tu3D;a4e2iki1orld trade organizati34;leaRped0O;lls fargo,st1;fie2Iinghou2S;l1rner br3V;gree3Kl street journ2Jm1E;an halOeriz2Yisa,o1;dafo2Zl1;kswagMvo;b4kip,n2ps,s1;a tod3Bps;es3Ni1;lev3Gted natio3D;er,s; mobi33aco beRd bOe9gi frida3Mh3im horto3Bmz,o1witt3E;shi4Ay1;ota,s r 05;e 1in lizzy;b3carpen3Kdaily ma3Eguess w2holli0rolling st21s1w2;mashing pumpki36uprem0;ho;ea1lack eyed pe3Yyr0Q;ch bo3Etl0;l2n3Rs1xas instrumen1U;co,la m1F;efoni0Kus;a8cientology,e5ieme2Zmirnoff,np,o3pice gir6quare0Ata1ubaru;rbuc1to35;ks;ny,undgard1;en;a2x pisto1;ls;g1Xrs;few2Ninsbur32lesfor03msu2F;adiohead,b8e4o1yana3D;man empi1Yyal 1;b1dutch she4;ank;a3d 1max,vl21;bu1c2Bhot chili peppe2Zlobst2O;ll;ders dige1Ml madrid;c,s;ant3Bizn2R;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;aDcdonalCe9i6lb,o3tv,y1;spa1;ce;b1Unsanto,ody blu0t1;ley cr1or0U;ue;c2t1;as,subisO;helin,rosoft;dica2rcedes benz,talli1;ca;id,re;ds;cs milk,tt1Az25;a3e1g,ittle caesa1Q; ore0Anovo,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 o1rls 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,ppleAr6s4u3v2y1;er;is,on;di,todesk;hland o1sociated E;il;b3g2m1;co;os;ys; compu1be0;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:7B;1:7G;2:6A;3:7F;4:7O;5:7K;a6Nb62c4Ud4Be41f3Sg3Bh30i2Uj2Qkin2Pl2Km26n1Zo1Sp0Vqu0Tr0JsQtJuHvEw8yo6;gi,ut6;h,ub0;aAe9i8o7r6;estl0it0;m2rk0;fe,nn0t2Bza2H;atherm2ld0;ge earn0it0nder0rri1;eter7i6oyF;ll5Qp,s3Z;an,ina2U;n6s0;c6Uder03;aoisea23e9herapi5iktok0o8r6ut1yco6S;a6endseLo43;d0mp,nscri0Bvel0;ddl0u1G;a0Qchn7en6na4st0;ag0;i3Oo0D;aiXcUeRhPiMki0mu26oJpGquaFtBu7wee6;p0theart;lt2per7r6;f0ge6Iviv1;h6inten0Ist5Ivis1;ero,um2;a8ep7r6;ang0eam0;bro2Nc2Ofa2Nmo2Nsi20;ff0tesm2;tt0;ec7ir2Do6;kesp59u0M;ia5Jt3;l7me6An,rcere6ul;r,ss;di0oi5;n7s6;sy,t0;g0n0;am2ephe1Iow6;girl,m2r2Q;cretInior cit3Fr6;gea4v6;a4it1;hol4Xi7reen6ulpt1;wr2C;e01on;l1nt;aEe9o8u6;l0nn6;er up,ingE;g40le mod3Zof0;a4Zc8fug2Ppo32searQv6;ere4Uolution6;ary;e6luYru22;ptio3T;bbi,dic5Vpp0;arter6e2Z;back;aYeWhSiRlOoKr8sycho7u6;nk,p31;logi5;aGeDiBo6;d9fess1g7ph47s6;pe2Ktitu51;en6ramm0;it1y;igy,uc0;est4Nme mini0Unce6s3E;!ss;a7si6;de4;ch0;ctiti39nk0P;dca0Oet,li6pula50rnst42;c2Itic6;al scie6i2;nti5;a6umb0;nn0y6;er,ma4Lwright;lgrim,one0;a8iloso7otogra7ra6ysi1V;se;ph0;ntom,rmaci5;r6ssi1T;form0s4O;i3El,nel3Yr8st1tr6wn;i6on;arWot;ent4Wi42tn0;ccupa4ffBp8r7ut6;ca5l0B;ac4Iganiz0ig2Fph2;er3t6;i1Jomet6;ri5;ic0spring;aBe9ie4Xo7u6;n,rser3J;b6mad,vi4V;le2Vo4D;i6mesis,phew;ce,ghb1;nny,rr3t1X;aEeDiAo7u6yst1Y;m8si16;der3gul,m7n6th0;arDk;!my;ni7s6;f02s0Jt0;on,st0;chan1Qnt1rcha4;gi9k0n8rtyr,t6y1;e,riar6;ch;ag0iac;ci2stra3I;a7e2Aieutena4o6;rd,s0v0;bor0d7ndlo6ss,urea3Fwy0ym2;rd;!y;!s28;e8o7u6;ggl0;gg0urna2U;st0;c3Hdol,llu3Ummigra4n6; l9c1Qfa4habi42nov3s7ve6;nt1stig3;pe0Nt6;a1Fig3ru0M;aw;airFeBistoAo8u6ygie1K;man6sba2H;!ita8;bo,st6usekN;age,e3P;ri2;ir,r6;m7o6;!ine;it;dress0sty2C;aLeIhostGirl26ladi3oCrand7u6;e5ru;c9daug0Jfa8m7pa6s2Y;!re4;a,o6;th0;hi1B;al7d6lf0;!de3A;ie,k6te26;eep0;!wr6;it0;isha,n6;i6tl04;us;mbl0rden0;aDella,iAo7r6;eela2Nie1P;e,re6ster pare4;be1Hm2r6st0;unn0;an2ZgZlmm17nanci0r6tt0;e6st la2H; marsh2OfigXm2;rm0th0;conoEdDlectriCm8n7x6;amin0cellency,i2A;emy,trepreneur,vironmenta1J;c8p6;er1loye6;e,r;ee;ci2;it1;mi5;aKeBi8ork,ri7u6we02;de,tche2H;ft0v0;ct3eti7plom2Hre6va;ct1;ci2ti2;aDcor3fencCi0InAput9s7tectLvel6;op0;ce1Ge6ign0;rt0;ee,y;iz6;en;em2;c1Ml0;d8nc0redev7ug6;ht0;il;!dy;a06e04fo,hXitizenWlToBr9u6;r3stomer6;! representat6;ive;e3it6;ic;lJmGnAord9rpor1Nu7w6;boy,ork0;n6ri0;ciTte1Q;in3;fidantAgressSs9t6;e0Kr6;ibut1o6;ll0;tab13ul1O;!e;edi2m6pos0rade;a0EeQissi6;on0;leag8on7um6;ni5;el;ue;e6own;an0r6;ic,k;!s;a9e7i6um;ld;erle6f;ad0;ir7nce6plFract0;ll1;m2wI;lebri6o;ty;dBptAr6shi0;e7pe6;nt0;r,t6;ak0;ain;et;aMeLiJlogg0oErBu6;dd0Fild0rgl9siness6;m2p7w6;om2;ers05;ar;i7o6;!k0th0;cklay0de,gadi0;hemi2oge8y6;!frie6;nd;ym2;an;cyc6sR;li5;atbox0ings;by,nk0r6;b0on7te6;nd0;!e07;c04dWge4nQpLrHsFtAu7yatull6;ah;nt7t6;h1oG;!ie;h8t6;e6orney;nda4;ie5le6;te;sis00tron6;aut,om0;chbis8isto7tis6;an,t;crU;hop;ost9p6;ari6rentiS;ti6;on;le;a9cest1im3nou8y6;bo6;dy;nc0;ly5rc6;hi5;mi8v6;entur0is1;er;ni7r6;al;str3;at1;or;counBquaintanArob9t6;ivi5or,re6;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:H6;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;eDhCi9Wue;!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;i9Dy;!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;aDha0i8XmaCsac;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,j5Hot,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;ar1Nb1Dd16fon15gust3hm12i0Zja0Yl0Bm07nTputsiSrGsaFugustEveDyCziz;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;allFel,oulaye,ulC;!lDrahm0;an;ah,o;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:1Q;a29b1Zc1Md1Ee18f15g13h0Ri0Qj0Nk0Jl0Gm09n06o05p00rPsItCusain bolt,v9w4xzibit,y1;anni,oko on2uji,v1;an,es;en,o;a3ednesday adams,i2o1;lfram,o0Q;ll ferrell,z khalifa;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¦elle,h3i2me,she,th0us,we,you;e0ou;e,m,y;!l,t;e,im",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:18;1:1E;2:1D;3:14;a1Db15c0Sd0Kfc dallas,g0Ihouston 0Hindiana0Gjacksonville jagua0k0El0Am01new UoRpKqueens parkJreal salt lake,sBt6utah jazz,vancouver whitecaps,w4yW;ashington 4h10;natio1Mredski2wizar0W;ampa bay 7e6o4;ronto 4ttenham hotspur;blue ja0Mrapto0;nnessee tita2xasD;buccanee0ra0K;a8eattle 6porting kansas0Wt4; louis 4oke0V;c1Drams;marine0s4;eah13ounH;cramento Rn 4;antonio spu0diego 4francisco gJjose earthquak1;char08paB; ran07;a9h6ittsburgh 5ortland t4;imbe0rail blaze0;pirat1steele0;il4oenix su2;adelphia 4li1;eagl1philNunE;dr1;akland 4klahoma city thunder,rlando magic;athle0Lrai4;de0;england 8orleans 7york 4;g5je3knYme3red bul0Xy4;anke1;ian3;pelica2sain3;patrio3revolut4;ion;anchEeAi4ontreal impact;ami 8lwaukee b7nnesota 4;t5vi4;kings;imberwolv1wi2;rewe0uc0J;dolphi2heat,marli2;mphis grizz4ts;li1;a6eic5os angeles 4;clippe0dodFlaB;esterV; galaxy,ke0;ansas city 4nF;chiefs,roya0D; pace0polis col3;astr05dynamo,rocke3texa2;olden state warrio0reen bay pac4;ke0;allas 8e4i04od6;nver 6troit 4;lio2pisto2ti4;ge0;broncYnugge3;cowbo5maver4;icZ;ys;arEelLhAincinnati 8leveland 6ol4;orado r4umbus crew sc;api7ocki1;brow2cavalie0guar4in4;dia2;bengaVre4;ds;arlotte horAicago 4;b5cubs,fire,wh4;iteB;ea0ulQ;diff4olina panthe0; city;altimore Alackburn rove0oston 6rooklyn 4uffalo bilN;ne3;ts;cel5red4; sox;tics;rs;oriol1rave2;rizona Ast8tlanta 4;brav1falco2h4;awA;ns;es;on villa,r4;os;c6di4;amondbac4;ks;ardi4;na4;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;a9Fb7Uc6Rd6Le6Jf5Ig50h4Biron0j47k40l3Em31n2Yo2Wp2Cquiet Hr1Xs0KtZuXvacuu6QwNyammerBzK;ero Dip LonK;e0k0;by,ov9up;aQeMhLiKor0Mrit19;mp0n3Fpe0r5s5;ackAeel Di0S;aLiKn33;gh 3Wrd0;n Dr K;do1in,oJ;it 79k5lk Lrm 69sh Kt83v60;aw3do1o7up;aw3in,oC;rgeBsK;e 2herE;a00eYhViRoQrMuKypP;ckErn K;do1in,oJup;aLiKot0y 30;ckl7Zp F;ck HdK;e 5Y;n7Wp 3Es5K;ck MdLe Kghten 6me0p o0Rre0;aw3ba4do1in,up;e Iy 2;by,oG;ink Lrow K;aw3ba4in,up;ba4ov9up;aKe 77ll62;m 2r 5M;ckBke Llk K;ov9shit,u47;aKba4do1in,leave,o4Dup;ba4ft9pa69w3;a0Vc0Te0Mh0Ii0Fl09m08n07o06p01quar5GtQuOwK;earMiK;ngLtch K;aw3ba4o8K; by;cKi6Bm 2ss0;k 64;aReQiPoNrKud35;aigh2Det75iK;ke 7Sng K;al6Yup;p Krm2F;by,in,oG;c3Ln3Lr 2tc4O;p F;c3Jmp0nd LrKveAy 2O;e Ht 2L;ba4do1up;ar3GeNiMlLrKurB;ead0ingBuc5;a49it 6H;c5ll o3Cn 2;ak Fe1Xll0;a3Bber 2rt0und like;ap 5Vow Duggl5;ash 6Noke0;eep NiKow 6;cLp K;o6Dup;e 68;in,oK;ff,v9;de19gn 4NnKt 6Gz5;gKkE; al6Ale0;aMoKu5W;ot Kut0w 7M;aw3ba4f48oC;c2WdeEk6EveA;e Pll1Nnd Orv5tK; Ktl5J;do1foLin,o7upK;!on;ot,r5Z;aw3ba4do1in,o33up;oCto;al66out0rK;ap65ew 6J;ilAv5;aXeUiSoOuK;b 5Yle0n Kstl5;aLba4do1inKo2Ith4Nu5P;!to;c2Xr8w3;ll Mot LpeAuK;g3Ind17;a2Wf3Po7;ar8in,o7up;ng 68p oKs5;ff,p18;aKelAinEnt0;c6Hd K;o4Dup;c27t0;aZeYiWlToQrOsyc35uK;ll Mn5Kt K;aKba4do1in,oJto47up;pa4Dw3;a3Jdo1in,o21to45up;attleBess KiNop 2;ah2Fon;iLp Kr4Zu1Gwer 6N;do1in,o6Nup;nt0;aLuK;gEmp 6;ce u20y 6D;ck Kg0le 4An 6p5B;oJup;el 5NncilE;c53ir 39n0ss MtLy K;ba4oG; Hc2R;aw3ba4in,oJ;pKw4Y;e4Xt D;aLerd0oK;dAt53;il Hrrow H;aTeQiPoLuK;ddl5ll I;c1FnkeyMp 6uthAve K;aKdo1in,o4Lup;l4Nw3; wi4K;ss0x 2;asur5e3SlLss K;a21up;t 6;ke Ln 6rKs2Ax0;k 6ryA;do,fun,oCsure,up;a02eViQoLuK;ck0st I;aNc4Fg MoKse0;k Kse4D;aft9ba4do1forw37in56o0Zu46;in,oJ;d 6;e NghtMnLsKve 00;ten F;e 2k 2; 2e46;ar8do1in;aMt LvelK; oC;do1go,in,o7up;nEve K;in,oK;pKut;en;c5p 2sh LtchBughAy K;do1o59;in4Po7;eMick Lnock K;do1oCup;oCup;eLy K;in,up;l Ip K;aw3ba4do1f04in,oJto,up;aMoLuK;ic5mpE;ke3St H;c43zz 2;a01eWiToPuK;nLrrKsh 6;y 2;keLt K;ar8do1;r H;lKneErse3K;d Ke 2;ba4dKfast,o0Cup;ear,o1;de Lt K;ba4on,up;aw3o7;aKlp0;d Ml Ir Kt 2;fKof;rom;f11in,o03uW;cPm 2nLsh0ve Kz2P;at,it,to;d Lg KkerP;do1in,o2Tup;do1in,oK;ut,v9;k 2;aZeTive Rloss IoMrLunK; f0S;ab hold,in43ow 2U; Kof 2I;aMb1Mit,oLr8th1IuK;nd9;ff,n,v9;bo7ft9hQw3;aw3bKdo1in,oJrise,up,w3;a4ir2H;ar 6ek0t K;aLb1Fdo1in,oKr8up;ff,n,ut,v9;cLhKl2Fr8t,w3;ead;ross;d aKng 2;bo7;a0Ee07iYlUoQrMuK;ck Ke2N;ar8up;eLighten KownBy 2;aw3oG;eKshe27; 2z5;g 2lMol Krk I;aKwi20;bo7r8;d 6low 2;aLeKip0;sh0;g 6ke0mKrKtten H;e F;gRlPnNrLsKzzle0;h F;e Km 2;aw3ba4up;d0isK;h 2;e Kl 1T;aw3fPin,o7;ht ba4ure0;ePnLsK;s 2;cMd K;fKoG;or;e D;d04l 2;cNll Krm0t1G;aLbKdo1in,o09sho0Eth08victim;a4ehi2O;pa0C;e K;do1oGup;at Kdge0nd 12y5;in,o7up;aOi1HoNrK;aLess 6op KuN;aw3b03in,oC;gBwB; Ile0ubl1B;m 2;a0Ah05l02oOrLut K;aw3ba4do1oCup;ackBeep LoKy0;ss Dwd0;by,do1in,o0Uup;me NoLuntK; o2A;k 6l K;do1oG;aRbQforOin,oNtKu0O;hLoKrue;geth9;rough;ff,ut,v9;th,wK;ard;a4y;paKr8w3;rt;eaLose K;in,oCup;n 6r F;aNeLiK;ll0pE;ck Der Kw F;on,up;t 2;lRncel0rOsMtch LveE; in;o1Nup;h Dt K;doubt,oG;ry LvK;e 08;aw3oJ;l Km H;aLba4do1oJup;ff,n,ut;r8w3;a0Ve0MiteAl0Fo04rQuK;bblNckl05il0Dlk 6ndl05rLsKtMy FzzA;t 00;n 0HsK;t D;e I;ov9;anWeaUiLush K;oGup;ghQng K;aNba4do1forMin,oLuK;nd9p;n,ut;th;bo7lKr8w3;ong;teK;n 2;k K;do1in,o7up;ch0;arTg 6iRn5oPrNssMttlLunce Kx D;aw3ba4;e 6; ar8;e H;do1;k Dt 2;e 2;l 6;do1up;d 2;aPeed0oKurt0;cMw K;aw3ba4do1o7up;ck;k K;in,oC;ck0nk0stA; oQaNef 2lt0nd K;do1ov9up;er;up;r Lt K;do1in,oCup;do1o7;ff,nK;to;ck Pil0nMrgLsK;h D;ainBe D;g DkB; on;in,o7;aw3do1in,oCup;ff,ut;ay;ct FdQir0sk MuctionA; oG;ff;ar8o7;ouK;nd; o7;d K;do1oKup;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:BR;1:BF;2:B5;3:BH;4:AX;5:9Y;6:B6;7:BK;8:B0;9:AV;A:AL;B:8Q;C:8G;D:7K;E:BM;F:AH;aBDb9Zc8Wd88e81f7Kg6Wh64i60j5Lk4Vl4Dm39n2Wo2Op25quispe,r1Ls0Pt0Ev03wTxSyKzG;aIhGimmerm6A;aGou,u;ng,o;khar5ytsE;aKeun9BiHoGun;koya32shiBU;!lG;diGmaz;rim,z;maGng;da,g52mo83sGzaC;aChiBV;iao,u;aLeJiHoGright,u;jcA5lff,ng;lGmm0nkl0sniewsC;kiB1liams33s3;bGiss,lt0;b,er,st0;a6Vgn0lHtG;anabe,s3;k0sh,tG;e2Non;aLeKiHoGukD;gt,lk5roby5;dHllalGnogr3Kr1Css0val3S;ba,ob1W;al,ov4;lasHsel8W;lJn dIrgBEsHzG;qu7;ilyEqu7siljE;en b6Aijk,yk;enzueAIverde;aPeix1VhKi2j8ka43oJrIsui,uG;om5UrG;c2n0un1;an,emblA7ynisC;dorAMlst3Km4rrAth;atch0i8UoG;mHrG;are84laci79;ps3sG;en,on;hirDkah9Mnaka,te,varA;a06ch01eYhUiRmOoMtIuHvGzabo;en9Jobod3N;ar7bot4lliv2zuC;aIeHoG;i7Bj4AyanAB;ele,in2FpheBvens25;l8rm0;kol5lovy5re7Tsa,to,uG;ng,sa;iGy72;rn5tG;!h;l71mHnGrbu;at9cla9Egh;moBo7M;aIeGimizu;hu,vchG;en8Luk;la,r1G;gu9infe5YmGoh,pulveA7rra5P;jGyG;on5;evi6iltz,miHneid0roed0uGwarz;be3Elz;dHtG;!t,z;!t;ar4Th8ito,ka4OlJnGr4saCto,unde19v4;ch7dHtGz;a5Le,os;b53e16;as,ihDm4Po0Y;aVeSiPoJuHyG;a6oo,u;bio,iz,sG;so,u;bKc8Fdrigue67ge10j9YmJosevelt,sItHux,wG;e,li6;a9Ch;enb4Usi;a54e4L;erts15i93;bei4JcHes,vGzzo;as,e9;ci,hards12;ag2es,iHut0yG;es,nol5N;s,t0;dImHnGsmu97v6C;tan1;ir7os;ic,u;aUeOhMiJoHrGut8;asad,if6Zochazk27;lishc2GpGrti72u10we76;e3Aov51;cHe45nG;as,to;as70hl0;aGillips;k,m,n6I;a3Hde3Wete0Bna,rJtG;ersHrovGters54;!a,ic;!en,on;eGic,kiBss3;i9ra,tz,z;h86k,padopoulIrk0tHvG;ic,l4N;el,te39;os;bMconn2Ag2TlJnei6PrHsbor6XweBzG;dem7Rturk;ella4DtGwe6N;ega,iz;iGof7Hs8I;vGyn1R;ei9;aSri1;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;aFeaEh9o4rim08umbr0;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;dygHguascalientes,lBndhr9r5ss4;am;izo1kans5un4;achal 7;as;na;a 4;pradesh;a6ber5t4;ai;ta;ba5s4;ka;ma;ea",Country:"true¦0:38;1:2L;2:3B;a2Xb2Ec22d1Ye1Sf1Mg1Ch1Ai14j12k0Zl0Um0Gn05om2pZqat1KrXsKtCu7v5wal4yemTz3;a25imbabwe;es,lis and futu2Y;a3enezue32ietnam;nuatu,tican city;gTk6nited 4ruXs3zbeE; 2Ca,sr;arab emirat0Kkingdom,states3;! of am2Y;!raiV;a8haCimor les0Co7rinidad 5u3;nis0rk3valu;ey,me2Zs and caic1V;and t3t3;oba1L;go,kel10nga;iw2ji3nz2T;ki2V;aDcotl1eCi9lov8o6pa2Dri lanka,u5w3yr0;az3edAitzerl1;il1;d2riname;lomon1Xmal0uth 3;afr2KkMsud2;ak0en0;erra leoFn3;gapo1Yt maart3;en;negLrb0ychellZ;int 3moa,n marino,udi arab0;hele26luc0mart21;epublic of ir0Eom2Euss0w3;an27;a4eIhilippinUitcairn1Mo3uerto riN;l1rtugF;ki2Dl4nama,pua new0Vra3;gu7;au,esti3;ne;aBe9i7or3;folk1Ith4w3;ay; k3ern mariana1D;or0O;caragua,ger3ue;!ia;p3ther1Aw zeal1;al;mib0u3;ru;a7exi6icro0Bo3yanm06;ldova,n3roc5zambA;a4gol0t3;enegro,serrat;co;cAdagasc01l7r5urit4yot3;te;an0i16;shall0Xtin3;ique;a4div3i,ta;es;wi,ys0;ao,ed02;a6e5i3uxembourg;b3echtenste12thu1G;er0ya;ban0Isotho;os,tv0;azakh1Fe4iriba04o3uwait,yrgyz1F;rXsovo;eling0Knya;a3erG;ma16p2;c7nd6r4s3taly,vory coast;le of m2rael;a3el1;n,q;ia,oJ;el1;aiTon3ungary;dur0Ng kong;aBermany,ha0QibraltAre8u3;a6ern5inea3ya0P;! biss3;au;sey;deloupe,m,tema0Q;e3na0N;ce,nl1;ar;bUmb0;a7i6r3;ance,ench 3;guia0Epoly3;nes0;ji,nl1;lklandUroeU;ast tim7cu6gypt,l salv6ngl1quatorial4ritr5st3thiop0;on0; guin3;ea;ad3;or;enmark,jibou5ominica4r con3;go;!n C;ti;aBentral african Ah8o5roat0u4yprRzech3; 9ia;ba,racao;c4lo3morQngo brazzaville,okGsta r04te de ivoiL;mb0;osE;i3ristmasG;le,na;republic;m3naUpe verde,ymanA;bod0ero3;on;aGeDhut2o9r5u3;lgar0r3;kina faso,ma,undi;azil,itish 3unei;virgin3; is3;lands;liv0nai5snia and herzegoviHtswaHuvet3; isl1;and;re;l3n8rmuG;ar3gium,ize;us;h4ngladesh,rbad3;os;am4ra3;in;as;fghaGlDmBn6r4ustr3zerbaij2;al0ia;genti3men0uba;na;dorra,g5t3;arct7igua and barbu3;da;o3uil3;la;er3;ica;b3ger0;an0;ia;ni3;st2;an",Place:"true¦a0Gb0Bc03d02e01f00gWhUiSkQlNmLnIorHpDrCsAt5u4v3w2y0;a0yz;kutPngtze;ake isHupatki;irgin islands,ostok;laanbaatar,p02;a3eotihuac0Hh1onto,sarskoe selo,u0;lXzigoot;am09e 0;bronx,hamptons;hiti,j mahE;a0cotts bluff,eine,fo,oho,under9;int lawrence river,khalY;ed s3io grande;a1ek,h0itcairn,ompeii;l,x;cif05pahanaumokuak0rthenX;ea;ange county,d,inoco;e0ile;uschwansteQw eng0;land;a0co,ekong,idLuc;chu picchu,gad00libu,nhatt00;a1gw,hr,incoln memori0;al;s,x;azan kremlJosrae,rasnoyar0ul;sk;ax,cn,nd0st;ianSochina;arlem,kg,nd,ov0;d,enweep;a2odavari,re0;at 0enwich;britaBlakI;ngHy village;co,ra;urope,vergladF;anube,en,fw,own4xb;arrizo pla6dg,edar 5gk,h1lt,olosse0;um;a2i0uuk;chen itza,mney rock,na0ricahua;town;morro,tham;breaks,fa5;in;cn,e2kk,ro0;oklyn,wns cany0;on;l air,verly hi0;lls;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:J7;1:JB;2:IJ;3:IK;4:J1;5:IO;6:JS;7:JO;8:HB;9:JK;A:H4;B:I2;C:IT;D:JH;E:IX;F:BA;G:I4;aGTbFLcDRdD0eBMfB4gADh9Ti9Gj8Dk7Cl5Wm48n3Lo3Hp33qu32r29s15t0Eu0Cv02wVxiTyOzH;aLeIineb,oHsof3;e3Sf3la,ra;h2iKlIna,ynH;ab,ep;da,ma;da,h2iHra;nab;aKeJi0FolB7uIvH;et8onDP;i0na;le0sen3;el,gm3Hn,rGLs8W;aoHme0nyi;m5XyAD;aMendDZhiDGiH;dele9lJnH;if48niHo0;e,f47;a,helmi0lHma;a,ow;ka0nB;aNeKiHusa5;ck84kIl8oleAviH;anFenJ4;ky,toriBK;da,lA8rHs0;a,nHoniH9;a,iFR;leHnesH9;nILrH;i1y;g9rHs6xHA;su5te;aYeUhRiNoLrIuHy2;i,la;acJ3iHu0J;c3na,sH;hFta;nHr0F;iFya;aJffaEOnHs6;a,gtiH;ng;!nFSra;aIeHomasi0;a,l9Oo8Ares1;l3ndolwethu;g9Fo88rIssH;!a,ie;eHi,ri7;sa,za;bOlMmKnIrHs6tia0wa0;a60yn;iHya;a,ka,s6;arFe2iHm77ra;!ka;a,iH;a,t6;at6it6;a0Ecarlett,e0AhWiSkye,neza0oQri,tNuIyH;bIGlvi1;ha,mayIJniAsIzH;an3Net8ie,y;anHi7;!a,e,nH;aCe;aIeH;fan4l5Dphan6E;cI5r5;b3fiAAm0LnHphi1;d2ia,ja,ya;er2lJmon1nIobh8QtH;a,i;dy;lETv3;aMeIirHo0risFDy5;a,lDM;ba,e0i5lJrH;iHr6Jyl;!d8Ifa;ia,lDZ;hd,iMki2nJrIu0w0yH;la,ma,na;i,le9on,ron,yn;aIda,ia,nHon;a,on;!ya;k6mH;!aa;lJrItaye82vH;da,inj;e0ife;en1i0ma;anA9bLd5Oh1SiBkKlJmInd2rHs6vannaC;aCi0;ant6i2;lDOma,ome;ee0in8Tu2;in1ri0;a05eZhXiUoHuthDM;bScRghQl8LnPsJwIxH;anB3ie,y;an,e0;aIeHie,lD;ann7ll1marDGtA;!lHnn1;iHyn;e,nH;a,dF;da,i,na;ayy8G;hel67io;bDRerAyn;a,cIkHmas,nFta,ya;ki,o;h8Xki;ea,iannGMoH;da,n1P;an0bJemFgi0iInHta,y0;a8Bee;han86na;a,eH;cHkaC;a,ca;bi0chIe,i0mo0nHquETy0;di,ia;aERelHiB;!e,le;een4ia0;aPeOhMiLoJrHute6A;iHudenCV;scil3LyamvaB;lHrt3;i0ly;a,paluk;ilome0oebe,ylH;is,lis;ggy,nelope,r5t2;ige,m0VnKo5rvaDMtIulH;a,et8in1;ricHt4T;a,e,ia;do2i07;ctav3dIfD3is6ksa0lHphD3umC5yunbileg;a,ga,iv3;eHvAF;l3t8;aWeUiMoIurHy5;!ay,ul;a,eJor,rIuH;f,r;aCeEma;ll1mi;aNcLhariBQkKlaJna,sHta,vi;anHha;ur;!y;a,iDZki;hoGk9YolH;a,e4P;!mh;hir,lHna,risDEsreE;!a,lBV;asuMdLh3i6Dl5nKomi7rgEVtH;aHhal4;lHs6;i1ya;cy,et8;e9iF0ya;nngu2X;a0Ackenz4e02iMoJrignayani,uriDJyH;a,rH;a,iOlNna,tG;bi0i2llBJnH;a,iH;ca,ka,qD9;a,cUdo4ZkaTlOmi,nMrItzi,yH;ar;aJiIlH;anET;am;!l,nB;dy,eHh,n4;nhGrva;aKdJe0iCUlH;iHy;cent,e;red;!gros;!e5;ae5hH;ae5el3Z;ag5DgNi,lKrH;edi7AiIjem,on,yH;em,l;em,sCG;an4iHliCF;nHsCJ;a,da;!an,han;b09cASd07e,g05ha,i04ja,l02n00rLsoum5YtKuIv84xBKyHz4;bell,ra,soBB;d7rH;a,eE;h8Gild1t4;a,cUgQiKjor4l7Un4s6tJwa,yH;!aHbe6Xja9lAE;m,nBL;a,ha,in1;!aJbCGeIja,lDna,sHt63;!a,ol,sa;!l1D;!h,mInH;!a,e,n1;!awit,i;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:3B;1:3P;2:3E;3:2H;a3Tb3Cc33d2Ue2Nf2Bg1Xh1Mi1Gj1Fk1Cl14m0Yn0To0Sp0Jqu0Hr08sItDug0vBw5y4za0R;el11ouO;ary,e7hi6i4ry;ck0Dde,l4n1ry,se;d,y;ny,te;a4i3R;k,ry;a4erda2ulgar;gue,in,st;a7en2Xhi6i5ou00r4;anqu2Den1ue;dy,g36me0ny;ck,rs29;ll,me,rt,wd3I;aScaQePhNiMkin0ClJmHoFpEt7u5w4;eet,ift;b4dd0Xperfi22rre29;sta27t3;a9e8iff,r5u4;pVr1;a5ict,o4;ng;ig2Vn0O;a1ep,rn;le,rk,te0;e1Ti2Vright0;ci1Zft,l4on,re;emn,id;a4el0;ll,rt;e5i4y;g2Mm10;ek,nd2T;ck24l0mp3;a4iSrill,y;dy,l02rp;ve0Kxy;n1Kr4;ce,y;d,fe,int0l1Iv0W;a9e7i6o4ude;mantic,o1Asy,u4;gh;pe,t1P;a4d,mo0B;dy,l;gg5iGndom,p4re,w;id;ed;ai2i4;ck,et;hoBink,lAo9r6u4;ny,r4;e,p3;egna2ic5o4;fouTud;ey,k0;liYor;ain,easa2;ny;dd,i0ld,ranM;aive,e6i5o4u15;b3isy,rm0Zsy;bb0ce,mb3;a4r1w;r,t;ad,e6ild,o5u4;nda12te;ist,o1;a5ek,l4;low;s0ty;a9e8i7o4ucky;f0Kn5o15u4ve0w10y0O;d,sy;e0g;ke0l,mp,tt3ve0;e1Qwd;me,r4te;ge;e5i4;nd;en;ol0ui19;cy,ll,n4;secu7t4;e4ima5;llege2rmedia4;te;re;aBe8i7o6u4;ge,m4ng1C;b3id;me0t;gh,l0;a4fYsita2;dy,rXv4;en0y;nd13ppy,r4;d4sh;!y;aGenFhDiClBoofy,r4;a9e7i6o4ue0Z;o4ss;vy;m,s0;at,e4y;dy,n;nd,y;ad,ib,ooE;a2d1;a4o4;st0;t3uiS;u1y;aDeeb3iAl9o7r6u4;ll,n4r0N;!ny;aDesh,iend0;a4nd,rmE;my;at,ir8;erce,nan4;ciA;le;r,ul4;ty;a7erie,sse5v4xtre0B;il;nti4;al;r5s4;tern,y;ly,th0;appZe9i5u4;mb;r6vi5z4;zy;ne;e,ty;a4ep,nA;d4f,r;!ly;agey,h9l8o6r5u4;dd0r0te;isp,uel;ar4ld,mmon,st0ward0zy;se;evLou1;e4il0;ap,e4;sy;aIiGlDoBr6u4;ff,r0sy;ly;a7i4oad;g5llia2;nt;ht;sh,ve;ld,un4;cy;a5o4ue;nd,o1;ck,nd;g,tt4;er;d,ld,w1;dy;bsu7ng6we4;so4;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 xo=36,Io="0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ",To=Io.split("").reduce((function(e,t,n){return e[t]=n,e}),{});var Do=function(e){if(void 0!==To[e])return To[e];let t=0,n=1,r=xo,a=1;for(;n=0;n--,a*=xo){let r=e.charCodeAt(n)-48;r>10&&(r-=7),t+=r*a}return t},Ho=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=Eo(t[e]);"true"===e&&(e=!0);for(let t=0;t{let t=Oo(jo[e]);So.test(e)?Object.keys(t).forEach((t=>{if(Mo[t]=e,"Noun|Verb"===e){let e=$o(t,Ko);Mo[e]="Plural|Verb"}})):Object.keys(t).forEach((t=>{Bo[t]=e}))})),[":(",":)",":P",":p",":O",";(",";)",";P",";p",";O",":3",":|",":/",":\\",":$",":*",":@",":-(",":-)",":-P",":-p",":-O",":-3",":-|",":-/",":-\\",":-$",":-*",":-@",":^(",":^)",":^P",":^p",":^O",":^3",":^|",":^/",":^\\",":^$",":^*",":^@","):","(:","$:","*:",")-:","(-:","$-:","*-:",")^:","(^:","$^:","*^:","<3","Bo[e]="Emoticon")),delete Bo[""],delete Bo.null,delete Bo[" "];const Lo="Singular";var Jo={beforeTags:{Determiner:Lo,Possessive:Lo,Acronym:Lo,Noun:Lo,Adjective:Lo,PresentTense:Lo,Gerund:Lo,PastTense:Lo,Infinitive:Lo,Date:Lo,Ordinal:Lo,Demonym:Lo},afterTags:{Value:Lo,Modal:Lo,Copula:Lo,PresentTense:Lo,PastTense:Lo,Demonym:Lo,Actor:Lo},beforeWords:{the:Lo,with:Lo,without:Lo,of:Lo,for:Lo,any:Lo,all:Lo,on:Lo,cut:Lo,cuts:Lo,increase:Lo,decrease:Lo,raise:Lo,drop:Lo,save:Lo,saved:Lo,saves:Lo,make:Lo,makes:Lo,made:Lo,minus:Lo,plus:Lo,than:Lo,another:Lo,versus:Lo,neither:Lo,about:Lo,favorite:Lo,best:Lo,daily:Lo,weekly:Lo,linear:Lo,binary:Lo,mobile:Lo,lexical:Lo,technical:Lo,computer:Lo,scientific:Lo,security:Lo,government:Lo,popular:Lo,formal:Lo,no:Lo,more:Lo,one:Lo,let:Lo,her:Lo,his:Lo,their:Lo,our:Lo,us:Lo},afterWords:{of:Lo,system:Lo,aid:Lo,method:Lo,utility:Lo,tool:Lo,reform:Lo,therapy:Lo,philosophy:Lo,room:Lo,authority:Lo,says:Lo,said:Lo,wants:Lo,wanted:Lo,is:Lo,did:Lo,do:Lo,can:Lo,wise:Lo}};const Wo="Infinitive";var qo={beforeTags:{Modal:Wo,Adverb:Wo,Negative:Wo,Plural:Wo},afterTags:{Determiner:Wo,Adverb:Wo,Possessive:Wo,Reflexive:Wo,Preposition:Wo,Cardinal:Wo,Comparative:Wo,Superlative:Wo},beforeWords:{i:Wo,we:Wo,you:Wo,they:Wo,to:Wo,please:Wo,will:Wo,have:Wo,had:Wo,would:Wo,could:Wo,should:Wo,do:Wo,did:Wo,does:Wo,can:Wo,must:Wo,us:Wo,me:Wo,let:Wo,even:Wo,when:Wo,help:Wo,he:Wo,she:Wo,it:Wo,being:Wo,bi:Wo,co:Wo,contra:Wo,de:Wo,inter:Wo,intra:Wo,mis:Wo,pre:Wo,out:Wo,counter:Wo,nobody:Wo,somebody:Wo,anybody:Wo,everybody:Wo},afterWords:{the:Wo,me:Wo,you:Wo,him:Wo,us:Wo,her:Wo,his:Wo,them:Wo,they:Wo,it:Wo,himself:Wo,herself:Wo,itself:Wo,myself:Wo,ourselves:Wo,themselves:Wo,something:Wo,anything:Wo,a:Wo,an:Wo,up:Wo,down:Wo,by:Wo,out:Wo,off:Wo,under:Wo,what:Wo,all:Wo,to:Wo,because:Wo,although:Wo,after:Wo,before:Wo,how:Wo,otherwise:Wo,together:Wo,though:Wo,into:Wo,yet:Wo,more:Wo,here:Wo,there:Wo,away:Wo}},Uo={beforeTags:Object.assign({},qo.beforeTags,Jo.beforeTags,{}),afterTags:Object.assign({},qo.afterTags,Jo.afterTags,{}),beforeWords:Object.assign({},qo.beforeWords,Jo.beforeWords,{}),afterWords:Object.assign({},qo.afterWords,Jo.afterWords,{})};const Qo="Adjective";var Ro={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 _o="Gerund";var Zo={beforeTags:{Adverb:_o,Preposition:_o,Conjunction:_o},afterTags:{Adverb:_o,Possessive:_o,Person:_o,Pronoun:_o,Determiner:_o,Copula:_o,Preposition:_o,Conjunction:_o,Comparative:_o},beforeWords:{been:_o,keep:_o,continue:_o,stop:_o,am:_o,be:_o,me:_o,began:_o,start:_o,starts:_o,started:_o,stops:_o,stopped:_o,help:_o,helps:_o,avoid:_o,avoids:_o,love:_o,loves:_o,loved:_o,hate:_o,hates:_o,hated:_o},afterWords:{you:_o,me:_o,her:_o,him:_o,his:_o,them:_o,their:_o,it:_o,this:_o,there:_o,on:_o,about:_o,for:_o,up:_o,down:_o}},Xo={beforeTags:Object.assign({},Ro.beforeTags,Zo.beforeTags,{Imperative:"Gerund",Infinitive:"Adjective",PresentTense:"Gerund",Plural:"Gerund"}),afterTags:Object.assign({},Ro.afterTags,Zo.afterTags,{Singular:"Adjective"}),beforeWords:Object.assign({},Ro.beforeWords,Zo.beforeWords,{is:"Adjective",was:"Adjective",of:"Adjective",suggest:"Gerund",recommend:"Gerund"}),afterWords:Object.assign({},Ro.afterWords,Zo.afterWords,{to:"Gerund",not:"Gerund",the:"Gerund"})};const Yo={beforeTags:{Determiner:void 0,Cardinal:"Noun",PhrasalVerb:"Adjective"},afterTags:{}};var ei={beforeTags:Object.assign({},Ro.beforeTags,Jo.beforeTags,Yo.beforeTags),afterTags:Object.assign({},Ro.afterTags,Jo.afterTags,Yo.afterTags),beforeWords:Object.assign({},Ro.beforeWords,Jo.beforeWords,{are:"Adjective",is:"Adjective",was:"Adjective",be:"Adjective",off:"Adjective",out:"Adjective"}),afterWords:Object.assign({},Ro.afterWords,Jo.afterWords)};let ti="PastTense";const ni={beforeTags:{Adverb:ti,Pronoun:ti,ProperNoun:ti,Auxiliary:ti,Noun:ti},afterTags:{Possessive:ti,Pronoun:ti,Determiner:ti,Adverb:ti,Comparative:ti,Date:ti,Gerund:ti},beforeWords:{be:ti,who:ti,get:"Adjective",had:ti,has:ti,have:ti,been:ti,it:ti,as:ti,for:"Adjective",more:"Adjective"},afterWords:{by:ti,back:ti,out:ti,in:ti,up:ti,down:ti,before:ti,after:ti,for:ti,the:ti,with:ti,as:ti,on:ti,at:ti,between:ti,to:ti,into:ti,us:ti,them:ti,his:ti,her:ti,their:ti,our:ti,me:ti}};var ri={beforeTags:Object.assign({},Ro.beforeTags,ni.beforeTags),afterTags:Object.assign({},Ro.afterTags,ni.afterTags),beforeWords:Object.assign({},Ro.beforeWords,ni.beforeWords),afterWords:Object.assign({},Ro.afterWords,ni.afterWords)};const ai={afterTags:{Noun:"Adjective",Conjunction:void 0}};var oi={beforeTags:Object.assign({},Ro.beforeTags,qo.beforeTags,{Adverb:void 0,Negative:void 0}),afterTags:Object.assign({},Ro.afterTags,qo.afterTags,ai.afterTags),beforeWords:Object.assign({},Ro.beforeWords,qo.beforeWords,{have:void 0,had:void 0,not:void 0,went:"Adjective",goes:"Adjective",got:"Adjective",be:"Adjective"}),afterWords:Object.assign({},Ro.afterWords,qo.afterWords,{to:void 0,as:"Adjective"})};const ii={Copula:"Gerund",PastTense:"Gerund",PresentTense:"Gerund",Infinitive:"Gerund"},si={},li={are:"Gerund",were:"Gerund",be:"Gerund",no:"Gerund",without:"Gerund",you:"Gerund",we:"Gerund",they:"Gerund",he:"Gerund",she:"Gerund",us:"Gerund",them:"Gerund"},ui={the:"Gerund",this:"Gerund",that:"Gerund",me:"Gerund",us:"Gerund",them:"Gerund"};var ci={beforeTags:Object.assign({},Zo.beforeTags,Jo.beforeTags,ii),afterTags:Object.assign({},Zo.afterTags,Jo.afterTags,si),beforeWords:Object.assign({},Zo.beforeWords,Jo.beforeWords,li),afterWords:Object.assign({},Zo.afterWords,Jo.afterWords,ui)};const hi="Singular",di="Infinitive";var gi={beforeTags:Object.assign({},qo.beforeTags,Jo.beforeTags,{Adjective:hi,Particle:hi}),afterTags:Object.assign({},qo.afterTags,Jo.afterTags,{ProperNoun:di,Gerund:di,Adjective:di,Copula:hi}),beforeWords:Object.assign({},qo.beforeWords,Jo.beforeWords,{is:hi,was:hi,of:hi,have:null}),afterWords:Object.assign({},qo.afterWords,Jo.afterWords,{instead:di,about:di,his:di,her:di,to:null,by:null,in:null})};const mi="Person";var pi={beforeTags:{Honorific:mi,Person:mi},afterTags:{Person:mi,ProperNoun:mi,Verb:mi},ownTags:{ProperNoun:mi},beforeWords:{hi:mi,hey:mi,yo:mi,dear:mi,hello:mi},afterWords:{said:mi,says:mi,told:mi,tells:mi,feels:mi,felt:mi,seems:mi,thinks:mi,thought:mi,spends:mi,spendt:mi,plays:mi,played:mi,sing:mi,sang:mi,learn:mi,learned:mi,wants:mi,wanted:mi}};const fi="Month",vi={beforeTags:{Date:fi,Value:fi},afterTags:{Date:fi,Value:fi},beforeWords:{by:fi,in:fi,on:fi,during:fi,after:fi,before:fi,between:fi,until:fi,til:fi,sometime:fi,of:fi,this:fi,next:fi,last:fi,previous:fi,following:fi,with:"Person"},afterWords:{sometime:fi,in:fi,of:fi,until:fi,the:fi}};var bi={beforeTags:Object.assign({},pi.beforeTags,vi.beforeTags),afterTags:Object.assign({},pi.afterTags,vi.afterTags),beforeWords:Object.assign({},pi.beforeWords,vi.beforeWords),afterWords:Object.assign({},pi.afterWords,vi.afterWords)};const yi="Place",wi={beforeTags:{Place:yi},afterTags:{Place:yi,Abbreviation:yi},beforeWords:{in:yi,by:yi,near:yi,from:yi,to:yi},afterWords:{in:yi,by:yi,near:yi,from:yi,to:yi,government:yi,council:yi,region:yi,city:yi}};let ki="Unit";const Pi={"Actor|Verb":Uo,"Adj|Gerund":Xo,"Adj|Noun":ei,"Adj|Past":ri,"Adj|Present":oi,"Noun|Verb":gi,"Noun|Gerund":ci,"Person|Noun":{beforeTags:Object.assign({},Jo.beforeTags,pi.beforeTags),afterTags:Object.assign({},Jo.afterTags,pi.afterTags),beforeWords:Object.assign({},Jo.beforeWords,pi.beforeWords,{i:"Infinitive",we:"Infinitive"}),afterWords:Object.assign({},Jo.afterWords,pi.afterWords)},"Person|Date":bi,"Person|Verb":{beforeTags:Object.assign({},Jo.beforeTags,pi.beforeTags,qo.beforeTags),afterTags:Object.assign({},Jo.afterTags,pi.afterTags,qo.afterTags),beforeWords:Object.assign({},Jo.beforeWords,pi.beforeWords,qo.beforeWords),afterWords:Object.assign({},Jo.afterWords,pi.afterWords,qo.afterWords)},"Person|Place":{beforeTags:Object.assign({},wi.beforeTags,pi.beforeTags),afterTags:Object.assign({},wi.afterTags,pi.afterTags),beforeWords:Object.assign({},wi.beforeWords,pi.beforeWords),afterWords:Object.assign({},wi.afterWords,pi.afterWords)},"Person|Adj":{beforeTags:Object.assign({},pi.beforeTags,Ro.beforeTags),afterTags:Object.assign({},pi.afterTags,Ro.afterTags),beforeWords:Object.assign({},pi.beforeWords,Ro.beforeWords),afterWords:Object.assign({},pi.afterWords,Ro.afterWords)},"Unit|Noun":{beforeTags:{Value:ki},afterTags:{},beforeWords:{per:ki,every:ki,each:ki,square:ki,cubic:ki,sq:ki,metric:ki},afterWords:{per:ki,squared:ki,cubed:ki,long:ki}}},Ai=(e,t)=>{let n=Object.keys(e).reduce(((t,n)=>(t[n]="Infinitive"===e[n]?"PresentTense":"Plural",t)),{});return Object.assign(n,t)};Pi["Plural|Verb"]={beforeWords:Ai(Pi["Noun|Verb"].beforeWords,{had:"Plural",have:"Plural"}),afterWords:Ai(Pi["Noun|Verb"].afterWords,{his:"PresentTense",her:"PresentTense",its:"PresentTense",in:null,to:null,is:"PresentTense",by:"PresentTense"}),beforeTags:Ai(Pi["Noun|Verb"].beforeTags,{Conjunction:"PresentTense",Noun:void 0,ProperNoun:"PresentTense"}),afterTags:Ai(Pi["Noun|Verb"].afterTags,{Gerund:"Plural",Noun:"PresentTense",Value:"PresentTense"})};var Ci=Pi;const Ni="Adjective",ji="Infinitive",xi="PresentTense",Ii="Singular",Ti="PastTense",Di="Adverb",Hi="Plural",Gi="Actor",Ei="Verb",Oi="Noun",Fi="LastName",Vi="Modal",zi="Place",$i="Participle";var Si=[null,null,{ea:Ii,ia:Oi,ic:Ni,ly:Di,"'n":Ei,"'t":Ei},{oed:Ti,ued:Ti,xed:Ti," so":Di,"'ll":Vi,"'re":"Copula",azy:Ni,eer:Oi,end:Ei,ped:Ti,ffy:Ni,ify:ji,ing:"Gerund",ize:ji,ibe:ji,lar:Ni,mum:Ni,nes:xi,nny:Ni,ous:Ni,que:Ni,ger:Oi,ber:Oi,rol:Ii,sis:Ii,ogy:Ii,oid:Ii,ian:Ii,zes:xi,eld:Ti,ken:$i,ven:$i,ten:$i,ect:ji,ict:ji,ign:ji,oze:ji,ful:Ni,bal:Ni,ton:Oi},{amed:Ti,aped:Ti,ched:Ti,lked:Ti,rked:Ti,reed:Ti,nded:Ti,mned:Ni,cted:Ti,dged:Ti,ield:Ii,akis:Fi,cede:ji,chuk:Fi,czyk:Fi,ects:xi,iend:Ii,ends:Ei,enko:Fi,ette:Ii,iary:Ii,wner:Ii,fies:xi,fore:Di,gate:ji,gone:Ni,ices:Hi,ints:Hi,ruct:ji,ines:Hi,ions:Hi,ners:Hi,pers:Hi,lers:Hi,less:Ni,llen:Ni,made:Ni,nsen:Fi,oses:xi,ould:Vi,some:Ni,sson:Fi,ians:Hi,tion:Ii,tage:Oi,ique:Ii,tive:Ni,tors:Oi,vice:Ii,lier:Ii,fier:Ii,wned:Ti,gent:Ii,tist:Gi,pist:Gi,rist:Gi,mist:Gi,yist:Gi,vist:Gi,ists:Gi,lite:Ii,site:Ii,rite:Ii,mite:Ii,bite:Ii,mate:Ii,date:Ii,ndal:Ii,vent:Ii,uist:Gi,gist:Gi,note:Ii,cide:Ii,ence:Ii,wide:Ni,vide:ji,ract:ji,duce:ji,pose:ji,eive:ji,lyze:ji,lyse:ji,iant:Ni,nary:Ni,ghty:Ni,uent:Ni,erer:Gi,bury:zi,dorf:Oi,esty:Oi,wych:zi,dale:zi,folk:zi},{elist:Gi,holic:Ii,phite:Ii,tized:Ti,urned:Ti,eased:Ti,ances:Hi,bound:Ni,ettes:Hi,fully:Di,ishes:xi,ities:Hi,marek:Fi,nssen:Fi,ology:Oi,osome:Ii,tment:Ii,ports:Hi,rough:Ni,tches:xi,tieth:"Ordinal",tures:Hi,wards:Di,where:Di,archy:Oi,pathy:Oi,opoly:Oi,embly:Oi,phate:Oi,ndent:Ii,scent:Ii,onist:Gi,anist:Gi,alist:Gi,olist:Gi,icist:Gi,ounce:ji,iable:Ni,borne:Ni,gnant:Ni,inant:Ni,igent:Ni,atory:Ni,rient:Ii,dient:Ii,maker:Gi,burgh:zi,mouth:zi,ceter:zi,ville:zi,worth:Oi},{auskas:Fi,parent:Ii,cedent:Ii,ionary:Ii,cklist:Ii,keeper:Gi,logist:Gi,teenth:"Value",worker:Gi,master:Gi,writer:Gi,brough:zi,cester:zi},{logists:Gi,opoulos:Fi,borough:zi,sdottir:Fi}];const Bi="Adjective",Mi="Noun",Ki="Verb";var Li=[null,null,{},{neo:Mi,bio:Mi,"de-":Ki,"re-":Ki,"un-":Ki,"ex-":Mi},{anti:Mi,auto:Mi,faux:Bi,hexa:Mi,kilo:Mi,mono:Mi,nano:Mi,octa:Mi,poly:Mi,semi:Bi,tele:Mi,"pro-":Bi,"mis-":Ki,"dis-":Ki,"pre-":Bi},{anglo:Mi,centi:Mi,ethno:Mi,ferro:Mi,grand:Mi,hepta:Mi,hydro:Mi,intro:Mi,macro:Mi,micro:Mi,milli:Mi,nitro:Mi,penta:Mi,quasi:Bi,radio:Mi,tetra:Mi,"omni-":Bi,"post-":Bi},{pseudo:Bi,"extra-":Bi,"hyper-":Bi,"inter-":Bi,"intra-":Bi,"deca-":Bi},{electro:Mi}];const Ji="Adjective",Wi="Infinitive",qi="PresentTense",Ui="Singular",Qi="PastTense",Ri="Adverb",_i="Expression",Zi="Actor",Xi="Verb",Yi="Noun",es="LastName";var ts={a:[[/.[aeiou]na$/,Yi,"tuna"],[/.[oau][wvl]ska$/,es],[/.[^aeiou]ica$/,Ui,"harmonica"],[/^([hyj]a+)+$/,_i,"haha"]],c:[[/.[^aeiou]ic$/,Ji]],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$/,Ui,"steward"],[/[aeiou][^aeiou]id$/,Ji,""],[/.[vrl]id$/,Ji,"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$/,Wi,"antagonize"],[/.[^aeiou]ise$/,Wi,"antagonise"],[/.[aeiou]te$/,Wi,"bite"],[/.[^aeiou][ai]ble$/,Ji,"fixable"],[/.[^aeiou]eable$/,Ji,"maleable"],[/.[ts]ive$/,Ji,"festive"],[/[a-z]-like$/,Ji,"woman-like"]],h:[[/.[^aeiouf]ish$/,Ji,"cornish"],[/.v[iy]ch$/,es,"..ovich"],[/^ug?h+$/,_i,"ughh"],[/^uh[ -]?oh$/,_i,"uhoh"],[/[a-z]-ish$/,Ji,"cartoon-ish"]],i:[[/.[oau][wvl]ski$/,es,"polish-male"]],k:[[/^(k){2}$/,_i,"kkkk"]],l:[[/.[gl]ial$/,Ji,"familial"],[/.[^aeiou]ful$/,Ji,"fitful"],[/.[nrtumcd]al$/,Ji,"natal"],[/.[^aeiou][ei]al$/,Ji,"familial"]],m:[[/.[^aeiou]ium$/,Ui,"magnesium"],[/[^aeiou]ism$/,Ui,"schism"],[/^[hu]m+$/,_i,"hmm"],[/^\d+ ?[ap]m$/,"Date","3am"]],n:[[/.[lsrnpb]ian$/,Ji,"republican"],[/[^aeiou]ician$/,Zi,"musician"],[/[aeiou][ktrp]in'$/,"Gerund","cookin'"]],o:[[/^no+$/,_i,"noooo"],[/^(yo)+$/,_i,"yoo"],[/^wo{2,}[pt]?$/,_i,"woop"]],r:[[/.[bdfklmst]ler$/,"Noun"],[/[aeiou][pns]er$/,Ui],[/[^i]fer$/,Wi],[/.[^aeiou][ao]pher$/,Zi],[/.[lk]er$/,"Noun"],[/.ier$/,"Comparative"]],t:[[/.[di]est$/,"Superlative"],[/.[icldtgrv]ent$/,Ji],[/[aeiou].*ist$/,Ji],[/^[a-z]et$/,Xi]],s:[[/.[^aeiou]ises$/,qi],[/.[rln]ates$/,qi],[/.[^z]ens$/,Xi],[/.[lstrn]us$/,Ui],[/.[aeiou]sks$/,qi],[/.[aeiou]kes$/,qi],[/[aeiou][^aeiou]is$/,Ui],[/[a-z]'s$/,Yi],[/^yes+$/,_i]],v:[[/.[^aeiou][ai][kln]ov$/,es]],y:[[/.[cts]hy$/,Ji],[/.[st]ty$/,Ji],[/.[tnl]ary$/,Ji],[/.[oe]ry$/,Ui],[/[rdntkbhs]ly$/,Ri],[/.(gg|bb|zz)ly$/,Ji],[/...lly$/,Ri],[/.[gk]y$/,Ji],[/[bszmp]{2}y$/,Ji],[/.[ai]my$/,Ji],[/[ea]{2}zy$/,Ji],[/.[^aeiou]ity$/,Ui]]};const ns="Verb",rs="Noun";var as={leftTags:[["Adjective",rs],["Possessive",rs],["Determiner",rs],["Adverb",ns],["Pronoun",ns],["Value",rs],["Ordinal",rs],["Modal",ns],["Superlative",rs],["Demonym",rs],["Honorific","Person"]],leftWords:[["i",ns],["first",rs],["it",ns],["there",ns],["not",ns],["because",rs],["if",rs],["but",rs],["who",ns],["this",rs],["his",rs],["when",rs],["you",ns],["very","Adjective"],["old",rs],["never",ns],["before",rs],["a",rs],["the",rs],["been",ns]],rightTags:[["Copula",rs],["PastTense",rs],["Conjunction",rs],["Modal",rs]],rightWords:[["there",ns],["me",ns],["man","Adjective"],["him",ns],["it",ns],["were",rs],["took",rs],["himself",ns],["went",rs],["who",rs],["jr","Person"]]},os={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"},is={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"},ss={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"},ls={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"},us={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"},cs={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"},hs=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 ds=function(e){return Object.entries(e).reduce(((e,t)=>(e[t[1]]=t[0],e)),{})};var gs=function(e={}){return{reversed:!0,both:ds(e.both),ex:ds(e.ex),fwd:e.rev||{}}};const ms=/^([0-9]+)/,ps=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(ms);if(null===n)return t;let r=Number(n[1])||0;return e.substring(0,r)+t.replace(ms,"")}(n,t[n]),e)),{})};var fs=function(e={}){return"string"==typeof e&&(e=JSON.parse(e)),e.fwd=ps(e.fwd||""),e.both=ps(e.both||""),e.rev=ps(e.rev||""),e.ex=ps(e.ex||""),e};const vs=fs({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"}),bs=fs(ls),ys=fs(is),ws=fs(ss),ks=gs(vs),Ps=gs(bs),As=gs(ys),Cs=gs(ws),Ns=fs(os),js=fs(us);var xs={fromPast:vs,fromPresent:bs,fromGerund:ys,fromParticiple:ws,toPast:ks,toPresent:Ps,toGerund:As,toParticiple:Cs,toComparative:Ns,toSuperlative:js,fromComparative:gs(Ns),fromSuperlative:gs(js),adjToNoun:fs(cs)},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","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)),{}),Ts=["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)),{}),Ds=[[/([^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,""]],Hs=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(Es[t].forEach((n=>e[n]=t)),e)),{});var Os=Es,Fs=function(e){let t=e.substring(e.length-3);if(!0===Os.hasOwnProperty(t))return Os[t];let n=e.substring(e.length-2);return!0===Os.hasOwnProperty(n)?Os[n]:"s"===e.substring(e.length-1)?"PresentTense":null};const Vs={are:"be",were:"be",been:"be",is:"be",am:"be",was:"be",be:"be",being:"be"};var zs=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=Fs(e)),Vs.hasOwnProperty(e))c=Vs[e];else if("Participle"===n)c=hs(l,i);else if("PastTense"===n)c=hs(l,r);else if("PresentTense"===n)c=hs(l,a);else{if("Gerund"!==n)return e;c=hs(l,o)}return u&&(c+=" "+u),s&&(c=s+" "+c),c},$s=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:hs(i,n),PresentTense:hs(i,r),Gerund:hs(i,a),FutureTense:"will "+i},u=hs(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},Ss={toInfinitive:zs,conjugate:$s,all:function(e,t){let n=$s(e,t);return delete n.FutureTense,Object.values(n).filter((e=>e))}};const Bs=function(e,t){const n=t.two.models.toSuperlative;return hs(e,n)},Ms=function(e,t){const n=t.two.models.toComparative;return hs(e,n)};var Ks=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 Ls="ically",Js=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]),Ws=[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"}],qs=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"]),Us={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"},{},{},{}],Rs={cool:"cooly",whole:"wholly",full:"fully",good:"well",idle:"idly",public:"publicly",single:"singly",special:"especially"};var _s=function(e){if(Rs.hasOwnProperty(e))return Rs[e];let t=Ks(e,Qs);return t||(t=e+"ly"),t},Zs={toSuperlative:Bs,toComparative:Ms,toAdverb:_s,toNoun:function(e,t){const n=t.two.models.adjToNoun;return hs(e,n)},fromAdverb:function(e){return e.endsWith("ly")?Js.has(e)?e.replace(/ically/,"ical"):qs.has(e)?null:Us.hasOwnProperty(e)?Us[e]:Ks(e,Ws)||e:null},fromSuperlative:function(e,t){const n=t.two.models.fromSuperlative;return hs(e,n)},fromComparative:function(e,t){const n=t.two.models.fromComparative;return hs(e,n)},all:function(e,t){let n=[e];return n.push(Bs(e,t)),n.push(Ms(e,t)),n.push(_s(e)),n=n.filter((e=>e)),n=new Set(n),Array.from(n)}},Xs={noun:Gs,verb:Ss,adjective:Zs},Ys={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]]||"FutureTense"===e[0]||(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]]=2;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"]}},el=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&&(void 0===o[s[0]]||s.length>o[s[0]])&&(o[s[0]]=s.length),!0===Ys.hasOwnProperty(i)&&Ys[i](t,a,n,r),a[t]=a[t]||i})),delete a[""],delete a.null,delete a[" "],{lex:a,_multi:o}},tl=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&&!al.find((t=>e.endsWith(t)))},il={two:{quickSplit:tl,expandLexicon:el,transform:Xs,looksPlural:ol}},sl=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 ll={one:{lexicon:{}},two:{models:xs}};const ul={"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"},cl=function(e,t){const n={model:t,methods:il};let{lex:r,_multi:a}=il.two.expandLexicon(e,n);return Object.assign(t.one.lexicon,r),Object.assign(t.one._multiCache,a),t},hl=function(e,t,n){let r=$s(e,ll);t[r.PastTense]=t[r.PastTense]||"PastTense",t[r.Gerund]=t[r.Gerund]||"Gerund",!0===n&&(t[r.PresentTense]=t[r.PresentTense]||"PresentTense")},dl=function(e,t,n){let r=Bs(e,n);t[r]=t[r]||"Superlative";let a=Ms(e,n);t[a]=t[a]||"Comparative"},gl=function(e,t){let n={};const r=t.one.lexicon;return Object.keys(e).forEach((a=>{const o=e[a];if(n[a]=ul[o],"Noun|Verb"!==o&&"Person|Verb"!==o&&"Actor|Verb"!==o||hl(a,r,!1),"Adj|Present"===o&&(hl(a,r,!0),dl(a,r,t)),"Person|Adj"===o&&dl(a,r,t),"Adj|Gerund"===o||"Noun|Gerund"===o){let e=zs(a,ll,"Gerund");r[e]||(n[e]="Infinitive")}if("Noun|Gerund"!==o&&"Adj|Noun"!==o&&"Person|Noun"!==o||function(e,t,n){let r=$o(e,n);t[r]=t[r]||"Plural"}(a,r,t),"Adj|Past"===o){let e=zs(a,ll,"PastTense");r[e]||(n[e]="Infinitive")}})),t=cl(n,t)};var ml=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=cl(e.one.lexicon,e)).one.lexicon,e),e=gl(e.two.switches,e),e=sl(e)};let pl={one:{_multiCache:{},lexicon:Bo,frozenLex:{"20th century fox":"Organization","7 eleven":"Organization","motel 6":"Organization","excuse me":"Expression","financial times":"Organization","guns n roses":"Organization","la z boy":"Organization","labour party":"Organization","new kids on the block":"Organization","new york times":"Organization","the guess who":"Organization","thin lizzy":"Organization","prime minister":"Actor","free market":"Singular","lay up":"Singular","living room":"Singular","spin off":"Singular","appeal court":"Uncountable","cold war":"Uncountable","gene pool":"Uncountable","machine learning":"Uncountable","nail polish":"Uncountable","time off":"Uncountable","take part":"Infinitive","bill gates":"Person","doctor who":"Person","he man":"Person","iron man":"Person","kid cudi":"Person","run dmc":"Person","rush limbaugh":"Person","snow white":"Person","tiger woods":"Person","brand new":"Adjective","en route":"Adjective","left wing":"Adjective","off guard":"Adjective","on board":"Adjective","part time":"Adjective","right wing":"Adjective","so called":"Adjective","spot on":"Adjective","straight forward":"Adjective","super duper":"Adjective","tip top":"Adjective","top notch":"Adjective","up to date":"Adjective","win win":"Adjective","brooklyn nets":"SportsTeam","chicago bears":"SportsTeam","houston astros":"SportsTeam","houston dynamo":"SportsTeam","houston rockets":"SportsTeam","houston texans":"SportsTeam","minnesota twins":"SportsTeam","orlando magic":"SportsTeam","san antonio spurs":"SportsTeam","san diego chargers":"SportsTeam","san diego padres":"SportsTeam","iron maiden":"ProperNoun","isle of man":"Country","united states":"Country","united states of america":"Country","prince edward island":"Region","cedar breaks":"Place","cedar falls":"Place","point blank":"Adverb","tiny bit":"Adverb","by the time":"Conjunction","no matter":"Conjunction","civil wars":"Plural","credit cards":"Plural","default rates":"Plural","free markets":"Plural","head starts":"Plural","home runs":"Plural","lay ups":"Plural","phone calls":"Plural","press releases":"Plural","record labels":"Plural","soft serves":"Plural","student loans":"Plural","tax returns":"Plural","tv shows":"Plural","video games":"Plural","took part":"PastTense","takes part":"PresentTense","taking part":"Gerund","taken part":"Participle"}},two:{irregularPlurals:No,models:xs,suffixPatterns:Si,prefixPatterns:Li,endsWith:ts,neighbours:as,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'[a-z]{3}/,"LastName","mc'neil"],[/^o'[a-z]{3}/,"LastName","o'connor"],[/^ma?cd[aeiou][a-z]{3}/,"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:Mo,clues:Ci,uncountable:{},orgWords:Is,placeWords:Ts}};pl=ml(pl);var fl=pl,vl=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''")}}},bl=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 yl=/^(under|over|mis|re|un|dis|semi)-?/;var wl=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(yl.test(a.normal)){let e=a.normal.replace(yl,"");e.length>3&&r.hasOwnProperty(e)&&(a.switch=r[e])}},kl=function(e,t,n){if(!t||0===t.length)return;if(!0===e.frozen)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 Pl=["Acronym","Abbreviation","ProperNoun","Uncountable","Possessive","Pronoun","Activity","Honorific","Month"];var Al=function(e,t,n){let r=e[t],a=Array.from(r.tags);for(let e=0;ee.tags.has(t)))||(ol(e.normal)?kl(e,"Plural","3-plural-guess"):kl(e,"Singular","3-singular-guess"))}(r),function(e){let t=e.tags;if(t.has("Verb")&&1===t.size){let t=Fs(e.normal);t&&kl(e,t,"3-verb-tense-guess")}}(r)};const Cl=/^\p{Lu}[\p{Ll}'’]/u,Nl=/[0-9]/,jl=["Date","Month","WeekDay","Unit","Expression"],xl=/[IVX]/,Il=/^[IVXLCDM]{2,}$/,Tl=/^M{0,4}(CM|CD|D?C{0,3})(XC|XL|L?X{0,3})(IX|IV|V?I{0,3})$/,Dl={li:!0,dc:!0,md:!0,dm:!0,ml:!0};var Hl=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===Cl.test(o)&&!1===Nl.test(o)?jl.find((e=>r.tags.has(e)))||r.pre.match(/["']$/)||"the"===r.normal?null:(Al(e,t,n),r.tags.has("Noun")||r.frozen||r.tags.clear(),kl(r,"ProperNoun","2-titlecase"),!0):o.length>=2&&Il.test(o)&&xl.test(o)&&Tl.test(o)&&!Dl[r.normal]?(kl(r,"RomanNumeral","2-xvii"),!0):null};const Gl=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 El=function(e,t,n){let r=e[t];if(0===r.tags.size){let e=Gl(r.normal,n.two.suffixPatterns);if(null!==e)return kl(r,e,"2-suffix"),r.confidence=.7,!0;if(r.implicit&&(e=Gl(r.implicit,n.two.suffixPatterns),null!==e))return kl(r,e,"2-implicit-suffix"),r.confidence=.7,!0}return null};const Ol=/['‘’‛‵′`´]/,Fl=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 kl(r,e,"2-prefix"),r.confidence=.5,!0}return null};const $l=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"]),Sl=function(e){if(!e)return!1;let t=e.normal||e.implicit;return!!$l.has(t)||!!(e.tags.has("Date")||e.tags.has("Month")||e.tags.has("WeekDay")||e.tags.has("Year"))||!!e.tags.has("ProperNoun")},Bl=function(e){return!(!e||!e.tags.has("Ordinal")&&!(e.tags.has("Cardinal")&&e.normal.length<3)&&"is"!==e.normal&&"was"!==e.normal)},Ml=function(e){return e&&(e.tags.has("Date")||e.tags.has("Month")||e.tags.has("WeekDay")||e.tags.has("Year"))};var Kl=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(Sl(a)||Sl(o))return kl(n,"Year","2-tagYear");if(r>=1920&&r<2025){if(Bl(a)||Bl(o))return kl(n,"Year","2-tagYear-close");if(Ml(e[t-2])||Ml(e[t+2]))return kl(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 kl(n,"Year","2-tagYear-noun")}}}return null},Ll=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 Jl=/^[A-Z]('s|,)?$/,Wl=/^[A-Z-]+$/,ql=/^[A-Z]+s$/,Ul=/([A-Z]\.)+[A-Z]?,?$/,Ql=/[A-Z]{2,}('s|,)?$/,Rl=/([a-z]\.)+[a-z]\.?$/,_l={I:!0,A:!0},Zl={la:!0,ny:!0,us:!0,dc:!0,gb:!0};var Xl=function(e,t,n){let r=e[t];return r.tags.has("RomanNumeral")||r.tags.has("Acronym")||r.frozen?null:function(e,t){let n=e.text;if(!1===Wl.test(n)){if(!(n.length>3&&!0===ql.test(n)))return!1;n=n.replace(/s$/,"")}return!(n.length>5||_l.hasOwnProperty(n)||t.one.lexicon.hasOwnProperty(e.normal)||!0!==Ul.test(n)&&!0!==Rl.test(n)&&!0!==Jl.test(n)&&!0!==Ql.test(n))}(r,n)?(r.tags.clear(),kl(r,["Acronym","Noun"],"3-no-period-acronym"),!0===Zl[r.normal]&&kl(r,"Place","3-place-acronym"),!0===ql.test(r.text)&&kl(r,"Plural","3-plural-acronym"),!0):!_l.hasOwnProperty(r.text)&&Jl.test(r.text)?(r.tags.clear(),kl(r,["Acronym","Noun"],"3-one-letter-acronym"),!0):r.tags.has("Organization")&&r.text.length<=3?(kl(r,"Acronym","3-org-acronym"),!0):r.tags.has("Organization")&&Wl.test(r.text)&&r.text.length<=6?(kl(r,"Acronym","3-titlecase-acronym"),!0):null};const Yl=function(e,t){if(!e)return null;let n=t.find((t=>e.normal===t[0]));return n?n[1]:null},eu=function(e,t){if(!e)return null;let n=t.find((t=>e.tags.has(t[0])));return n?n[1]:null};var tu=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||Yl(e[t-1],a),l=l||Yl(e[t+1],o),l=l||eu(e[t-1],r),l=l||eu(e[t+1],i),l)return kl(s,l,"3-[neighbour]"),Al(e,t,n),e[t].confidence=.2,!0}return null};const nu=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 ru=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]&&nu(e[t-1],t-1,r)){o([e[t]],"Organization",n,null,"3-[org-word]");for(let a=t;a>=0&&nu(e[a],a,r);a-=1)o([e[a]],"Organization",n,null,"3-[org-word]")}return null};const au=/'s$/,ou=new Set(["athletic","city","community","eastern","federal","financial","great","historic","historical","local","memorial","municipal","national","northern","provincial","southern","state","western"]),iu=new Set(["center","centre","way","range","bar","bridge","field","pit"]),su=function(e,t,n){if(!e)return!1;let r=e.tags;return!(r.has("Organization")||r.has("Possessive")||au.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 lu=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(!ou.has(e[a].normal)){if(!su(e[a],a,r))break;o(e.slice(a,t+1),"Place",n,null,"3-[place-of-foo]")}if(iu.has(s))return!1;for(let a=t+1;ae[t].tags.has("ProperNoun")&&cu.test(e[t].text)?"Noun":null,du=(e,t,n)=>0!==t||e[1]?null:n,gu={"Adj|Gerund":(e,t)=>hu(e,t),"Adj|Noun":(e,t)=>hu(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)=>hu(e,t),"Adj|Past":(e,t)=>hu(e,t),"Adj|Present":(e,t)=>hu(e,t),"Noun|Gerund":(e,t)=>hu(e,t),"Noun|Verb":(e,t)=>t>0&&hu(e,t)||du(e,t,"Infinitive"),"Plural|Verb":(e,t)=>hu(e,t)||du(e,t,"PresentTense")||function(e,t,n){return 0===t&&e.length>3?n:null}(e,t,"Plural"),"Person|Noun":(e,t)=>hu(e,t),"Person|Verb":(e,t)=>0!==t?hu(e,t):null,"Person|Adj":(e,t)=>0===t&&e.length>1||hu(e,t)?"Person":null};var mu=gu;const pu="undefined"!=typeof process&&process.env?process.env:self.env||{},fu=/^(under|over|mis|re|un|dis|semi)-?/,vu=(e,t)=>{if(!e||!t)return null;let n=e.normal||e.implicit,r=null;return t.hasOwnProperty(n)&&(r=t[n]),r&&pu.DEBUG_TAGS&&console.log(`\n  ↓ - '${n}' `),r},bu=(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&&pu.DEBUG_TAGS&&console.log(`  ↓ - '${e.normal||e.implicit}' (#${a}) `),a=t[a],a};var yu=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(fu.test(l)&&!o[l]&&(l=l.replace(fu,"")),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=vu(e[t+1],n.afterWords);return o=o||vu(e[t-1],n.beforeWords),o=o||bu(e[t-1],n.beforeTags,a),o=o||bu(e[t+1],n.afterTags,a),o}(e,t,i[o],r);mu[o]&&(u=mu[o](e,t)||u),u?(a([s],u,n,null,`3-[switch] (${o})`),Al(e,t,r)):pu.DEBUG_TAGS&&console.log(`\n -> X - '${l}' : (${o}) `)}};const wu={there:!0,this:!0,it:!0,him:!0,her:!0,us:!0};var ku=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&&!wu[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 Pu=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)))},Au=function(e,t,n,r){for(let a=0;a{vl(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 xu=function(e){const t=e.world,n=Object.keys(ju);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=Su.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=$u},Mu=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 Ku=/'/;var Lu=function(e,t){let n=e[t].normal.split(Ku)[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 Ju=/'/;var Wu=function(e,t){let n=e[t].normal.split(Ju)[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"]},qu=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 Uu={that:!0,there:!0,let:!0,here:!0,everywhere:!0},Qu={in:!0,by:!0,for:!0};var Ru=(e,t)=>{let n=e[t];if(Uu.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 _u=/'/,Zu=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)},Xu={d:(e,t)=>Wu(e,t),t:(e,t)=>qu(e,t),s:(e,t,n)=>Ru(e,t)?n.methods.one.setTag([e[t]],"Possessive",n,null,"2-contraction"):Lu(e,t)},Yu=function(e,t){let n=t.fromText(e.join(" "));return n.compute("id"),n.docs[0]};var ec={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===_u.test(r[o].normal)&&(i=r[o].normal.split(_u)[1]);let s=null;Xu.hasOwnProperty(i)&&(s=Xu[i](r,o,t)),s&&(s=Yu(s,e),Mu(n,[a,o],s),Zu(n[a],e,o,s.length))}}))}},tc={compute:ec,api:Bu,hooks:["contractionTwo"]};const nc="(hard|fast|late|early|high|right|deep|close|direct)",rc="(i|we|they)";let ac=[].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 ${nc}`,tag:"#PresentTense #Adverb",reason:"studies-hard"},{match:`#Verb [${nc}] !#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:rc,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:rc,group:0,tag:"Imperative",reason:"do-it-better"},{match:"^[#Infinitive] it (please|now|again|plz)",notIf:rc,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:"#Determiner #Noun+ [who] #Verb",group:0,tag:"Preposition",reason:"the-x-who"},{match:"#Determiner #Noun+ [which] #Verb",group:0,tag:"Preposition",reason:"the-x-which"},{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:"#Place+ #SportsTeam",tag:"SportsTeam",reason:"place-sportsteam"},{match:"(dc|atlanta|minnesota|manchester|newcastle|sheffield) united",tag:"SportsTeam",reason:"united-sportsteam"},{match:"#Place+ fc",tag:"SportsTeam",reason:"fc-sportsteam"}],[{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"}]),oc=null;var ic={postTagger:function(e){const{world:t}=e,{model:n,methods:r}=t;oc=oc||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(oc),e.uncache(),e.unfreeze(),e},tagger:e=>e.compute(["lexicon","preTagger","postTagger"])};const sc={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:ic,model:{two:{matches:ac}},hooks:["postTagger"]};var lc=sc,uc=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)))))},cc=function(e,t){let n=t;"string"==typeof t&&(n=this.buildNet([{match:t}]));let r=this.tokenize(e),a=uc(r,n);return a.found?(a.compute(["index","tagger"]),a.match(t)):r.none()},hc={lib:{lazy:cc}},dc=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},gc=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")?dc(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},mc={api:function(e){e.prototype.swap=gc}};v.plugin(Fu),v.plugin(tc),v.plugin(lc),v.plugin(hc),v.plugin(mc);const pc=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 fc={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=pc(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=pc(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=pc(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=pc(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=pc(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=pc(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)}}},vc={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)}}},bc=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},yc=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)},wc=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=yc(this);return t=t.getNth(e),new Chunks(this.document,t.pointer)},e.prototype.clauses=bc};const kc={this:"Noun",then:"Pivot"};var Pc=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 Nc=null;var jc=function(e,t,n){const{methods:r}=n;Nc=Nc||r.one.buildNet(Cc,n),e.sweep(Nc)};const xc=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 Ic=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))}}))},Dc={chunks:function(e){const{document:t,world:n}=e;Pc(t),Ac(t),jc(e,t,n),Ic(t),Tc(t)}},Hc={compute:Dc,api:wc,hooks:["chunks"]};const Gc=/\./g;var Ec=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(Gc,""),e.normal=e.normal.replace(Gc,"")}))})),this}addPeriods(){return this.docs.forEach((e=>{e.forEach((e=>{e.text=e.text.replace(Gc,""),e.normal=e.normal.replace(Gc,""),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 Oc=/\(/,Fc=/\)/,Vc=function(e,t){for(;t{e[0].pre=e[0].pre.replace(Oc,"");let t=e[e.length-1];t.post=t.post.replace(Fc,"")})),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($c,""),e.normal=e.normal.replace($c,"")}))})),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 Bc={'"':'"',""":""","'":"'","“":"”","‘":"’","‟":"”","‛":"’","„":"”","⹂":"”","‚":"’","«":"»","‹":"›","‵":"′","‶":"″","‷":"‴","〝":"〞","`":"´","〟":"〞"},Mc=RegExp("["+Object.keys(Bc).join("")+"]"),Kc=RegExp("["+Object.values(Bc).join("")+"]"),Lc=function(e,t){const n=e[t].pre.match(Mc)[0]||"";if(!n||!Bc[n])return null;const r=Bc[n];for(;t{e[0].pre=e[0].pre.replace(Mc,"");let t=e[e.length-1];t.post=t.post.replace(Kc,"")}))}(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=Wc,Uc.forEach((t=>{e.prototype[t[0]]=e.prototype[t[1]]}))},Rc={api:function(e){Ec(e),zc(e),Sc(e),Jc(e),Qc(e)}};const _c=function(e,t){e.docs.forEach((e=>{e.forEach(t)}))};var Zc={case:e=>{_c(e,(e=>{e.text=e.text.toLowerCase()}))},unicode:e=>{const t=e.world,n=t.methods.one.killUnicode;_c(e,(e=>e.text=n(e.text,t)))},whitespace:e=>{_c(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=>{_c(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 Xc=e=>e.split("|").reduce(((e,t)=>(e[t]=!0,e)),{}),Yc="unicode|punctuation|whitespace|acronyms",eh="|case|contractions|parentheses|quotations|emoji|honorifics|debullet",th={light:Xc(Yc),medium:Xc(Yc+eh),heavy:Xc(Yc+eh+"|possessives|adverbs|nouns|verbs")};var nh={api:function(e){e.prototype.normalize=function(e="light"){return"string"==typeof e&&(e=th[e]),Object.keys(e).forEach((t=>{Zc.hasOwnProperty(t)&&Zc[t](this,e[t])})),this}}},rh=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 ah=["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 oh=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")},sh=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:ih(e,t),isSubordinate:oh(e),root:t}};const lh=e=>e.text(),uh=e=>e.json({terms:!1,normal:!0}).map((e=>e.normal)),ch=function(e){if(!e.found)return null;let t=e.values(0);return t.found?(t.parse()[0]||{}).num:null};var hh=function(e){let t=sh(e);return{root:lh(t.root),number:ch(t.number),determiner:lh(t.determiner),adjectives:uh(t.adjectives),isPlural:t.isPlural,isSubordinate:t.isSubordinate}},dh=function(e){return!e.has("^(#Uncountable|#ProperNoun|#Place|#Pronoun|#Acronym)+$")};const gh={tags:!0};var mh=function(e,t){if(!0===t.isPlural)return e;if(t.root.has("#Possessive")&&(t.root=t.root.possessives().strip()),!dh(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,gh).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 ph={tags:!0};var fh=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,ph).tag("Singular","toPlural"),e},vh=function(e){class Nouns extends e{constructor(e,t,n){super(e,t,n),this.viewType="Nouns"}parse(e){return this.getNth(e).map(sh)}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=hh(e)),n}),[])}conjugate(e){const t=this.world.methods.two.transform.noun;return this.getNth(e).map((e=>{let n=sh(e),r=n.root.compute("root").text("root"),a={Singular:r};return dh(n.root)&&(a.Plural=t.toPlural(r,this.model)),a.Singular===a.Plural&&delete a.Plural,a}),[])}isPlural(e){let t=this.filter((e=>sh(e).isPlural));return t.getNth(e)}isSingular(e){let t=this.filter((e=>!sh(e).isPlural));return t.getNth(e)}adjectives(e){let t=this.update([]);return this.forEach((e=>{let n=sh(e).adjectives;n.found&&(t=t.concat(n))})),t.getNth(e)}toPlural(e){return this.getNth(e).map((e=>mh(e,sh(e))))}toSingular(e){return this.getNth(e).map((e=>{let t=sh(e);return fh(e,t)}))}update(e){let t=new Nouns(this.document,e);return t._cache=this._cache,t}}e.prototype.nouns=function(e){let t=rh(this);return t=t.getNth(e),new Nouns(this.document,t.pointer)}},bh={api:vh},yh=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},wh=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(kh.ones.hasOwnProperty(e)){if(t.ones||t.teens)return!1}else if(kh.teens.hasOwnProperty(e)){if(t.ones||t.teens||t.tens)return!1}else if(kh.tens.hasOwnProperty(e)&&(t.ones||t.teens||t.tens))return!1;return!0},Ah=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 Nh=/^([0-9,. ]+)\/([0-9,. ]+)$/,jh={"a few":3,"a couple":2,"a dozen":12,"two dozen":24,zero:0},xh=e=>Object.keys(e).reduce(((t,n)=>t+=e[n]),0);var Ih=function(e){if(!0===jh.hasOwnProperty(e))return jh[e];if("a"===e||"an"===e)return 1;const t=wh(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=Dh(n),r=Dh(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:Dh(n);let a=r.text("reduced");return Th.test(a)&&(a=a.replace(Th,""),r=r.replaceWith(a)),r=Hh.hasOwnProperty(a)?Hh[a]:Dh(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:Dh(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},Eh=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 Oh=[["ninety",90],["eighty",80],["seventy",70],["sixty",60],["fifty",50],["forty",40],["thirty",30],["twenty",20]],Fh=["","one","two","three","four","five","six","seven","eight","nine","ten","eleven","twelve","thirteen","fourteen","fifteen","sixteen","seventeen","eighteen","nineteen"],Vh=[[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"]],zh=function(e){let t=[];if(e>100)return t;for(let n=0;n=Oh[n][1]&&(e-=Oh[n][1],t.push(Oh[n][0]));return Fh[e]&&t.push(Fh[e]),t};var $h=function(e){let t=e.num;if(0===t||"0"===t)return"zero";t>1e21&&(t=Eh(t));let n=[];t<0&&(n.push("minus"),t=Math.abs(t));let r=function(e){let t=e,n=[];return Vh.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(zh(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=Eh(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(" ")},Sh=function(e){return e.numerator&&e.denominator?`${$h({num:e.numerator})} out of ${$h({num:e.denominator})}`:""};const Bh={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 Mh=e=>{let t=$h(e).split(" "),n=t[t.length-1];return Bh.hasOwnProperty(n)?t[t.length-1]=Bh[n]:t[t.length-1]=n.replace(/y$/,"i")+"th",t.join(" ")},Kh=function(e){if(!e.numerator||!e.denominator)return"";let t=$h({num:e.numerator}),n=Mh({num:e.denominator});return 2===e.denominator&&(n="half"),t&&n?(1!==e.numerator&&(n+="s"),`${t} ${n}`):""},Lh=function(e){class Fractions extends e{constructor(e,t,n){super(e,t,n),this.viewType="Fractions"}parse(e){return this.getNth(e).map(Gh)}get(e){return this.getNth(e).map(Gh)}json(e){return this.getNth(e).map((t=>{let n=t.toView().json(e)[0],r=Gh(t);return n.fraction=r,n}),[])}toDecimal(e){return this.getNth(e).forEach((e=>{let{decimal:t}=Gh(e);(e=e.replaceWith(String(t),!0)).tag("NumericValue"),e.unTag("Fraction")})),this}toFraction(e){return this.getNth(e).forEach((e=>{let t=Gh(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=Gh(e),n=Kh(t);e.after("^#Noun").found&&(n+=" of"),e.replaceWith(n)})),this}toCardinal(e){return this.getNth(e).forEach((e=>{let t=Gh(e),n=Sh(t);e.replaceWith(n)})),this}toPercentage(e){return this.getNth(e).forEach((e=>{let{decimal:t}=Gh(e),n=100*t;n=Math.round(100*n)/100,e.replaceWith(`${n}%`)})),this}}e.prototype.fractions=function(e){let t=yh(this);return t=t.getNth(e),new Fractions(this.document,t.pointer)}};const Jh="twenty|thirty|forty|fifty|sixty|seventy|eighty|ninety|fourty";var Wh=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("("+Jh+") #Cardinal #Cardinal")&&(t=t.splitAfter("("+Jh+") #Cardinal")),t.has("#Value #Value")){t.has("#NumericValue #NumericValue")&&(t=t.splitOn("#Year")),t.has("("+Jh+") (eleven|twelve|thirteen|fourteen|fifteen|sixteen|seventeen|eighteen|nineteen)")&&(t=t.splitAfter("("+Jh+")"));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) (${Jh})`),r=e.has("("+Jh+") #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("("+Jh+") #Ordinal")||(t=t.splitAfter("#Ordinal"))),t=t.splitBefore("#Ordinal [#Cardinal]",0),t.has("#TextValue #NumericValue")&&!t.has("("+Jh+"|#Multiple)")&&(t=t.splitBefore("#TextValue #NumericValue"))}return t=t.splitAfter("#NumberRange"),t=t.splitBefore("#Year"),t},qh=function(e){if("string"==typeof e)return{num:Ih(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=Gh(a),t=(e=(e=e.not(a)).not("and$")).text("reduced"));let i=0;return t&&(i=Ih(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}},Uh=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=Eh(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"},Rh={"%":"percent","°":"degrees"};var _h=function(e){let t={suffix:"",prefix:e.prefix};return Qh.hasOwnProperty(e.prefix)&&(t.suffix+=" "+Qh[e.prefix],t.prefix=""),Rh.hasOwnProperty(e.suffix)&&(t.suffix+=" "+Rh[e.suffix]),t.suffix&&1===e.num&&(t.suffix=t.suffix.replace(/s$/,"")),!t.suffix&&e.suffix&&(t.suffix+=" "+e.suffix),t},Zh=function(e,t){if("TextOrdinal"===t){let{prefix:t,suffix:n}=_h(e);return t+Mh(e)+n}if("Ordinal"===t)return e.prefix+Uh(e)+e.suffix;if("TextCardinal"===t){let{prefix:t,suffix:n}=_h(e);return t+$h(e)+n}let n=e.num;return e.hasComma&&(n=n.toLocaleString()),e.prefix+String(n)+e.suffix},Xh=function(e){class Numbers extends e{constructor(e,t,n){super(e,t,n),this.viewType="Numbers"}parse(e){return this.getNth(e).map(qh)}get(e){return this.getNth(e).map(qh).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=qh(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=qh(e);if(null===t.num)return;let n=e.has("#Ordinal")?"Ordinal":"Cardinal",r=Zh(t,n);e.replaceWith(r,{tags:!0}),e.tag("NumericValue")})),this}toLocaleString(){return this.forEach((e=>{let t=qh(e);if(null===t.num)return;let n=t.num.toLocaleString();if(e.has("#Ordinal")){let e=Zh(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=qh(e);if(null===t.num)return e;let n=e.has("#Ordinal")?"TextOrdinal":"TextCardinal",r=Zh(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=qh(e);if(null===t.num)return e;let n=e.has("#TextValue")?"TextCardinal":"Cardinal",r=Zh(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=qh(e);if(null===t.num)return e;let n=e.has("#TextValue")?"TextOrdinal":"Ordinal",r=Zh(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=>qh(t).num===e))}greaterThan(e){return this.filter((t=>qh(t).num>e))}lessThan(e){return this.filter((t=>qh(t).num{let r=qh(n).num;return r>e&&r{let n=qh(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=Zh(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=qh(e).num);let t=this.map((t=>{let n=qh(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=Zh(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=Wh(this);return t=t.getNth(e),new Numbers(this.document,t.pointer)},e.prototype.percentages=function(e){let t=Wh(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=Wh(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},Yh={api:function(e){Lh(e),Xh(e)}};const ed={people:!0,emails:!0,phoneNumbers:!0,places:!0},td=function(e={}){return!1!==(e=Object.assign({},ed,e)).people&&this.people().replaceWith("██████████"),!1!==e.emails&&this.emails().replaceWith("██████████"),!1!==e.places&&this.places().replaceWith("██████████"),!1!==e.phoneNumbers&&this.phoneNumbers().replaceWith("███████"),this},nd={api:function(e){e.prototype.redact=td}};var rd=nd,ad=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))}))},od=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 id=function(e){let t=null;return e.has("#PastTense")?t="PastTense":e.has("#FutureTense")?t="FutureTense":e.has("#PresentTense")&&(t="PresentTense"),{tense:t}};var sd=function(e){let t=e.clauses(),n=od(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:id(a)}},ld=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},ud=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},cd=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},hd=function(e){return e.verbs().toInfinitive(),e},dd=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}=sd(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=>(sd(e),ld(e))))}toPresentTense(e){return this.getNth(e).map((e=>(sd(e),ud(e))))}toFutureTense(e){return this.getNth(e).map((e=>(sd(e),e=cd(e))))}toInfinitive(e){return this.getNth(e).map((e=>(sd(e),hd(e))))}toNegative(e){return this.getNth(e).map((e=>(sd(e),function(e){return e.verbs().first().toNegative().compute("chunks"),e}(e))))}toPositive(e){return this.getNth(e).map((e=>(sd(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 ad(this).getNth(e)}};Object.assign(e.prototype,t)},gd={api:dd},md=function(e){let t=e.match("#Honorific+? #Person+"),n=t.match("#Possessive").notIf("(his|her)");return t=t.splitAfter(n),t},pd=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 fd="male",vd="female",bd={mr:fd,mrs:vd,miss:vd,madam:vd,king:fd,queen:vd,duke:fd,duchess:vd,baron:fd,baroness:vd,count:fd,countess:vd,prince:fd,princess:vd,sire:fd,dame:vd,lady:vd,ayatullah:fd,congressman:fd,congresswoman:vd,"first lady":vd,mx:null};var yd=function(e,t){let{firstName:n,honorific:r}=e;if(n.has("#FemaleName"))return vd;if(n.has("#MaleName"))return fd;if(r.found){let e=r.text("normal");if(e=e.replace(/\./g,""),bd.hasOwnProperty(e))return bd[e];if(/^her /.test(e))return vd;if(/^his /.test(e))return fd}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 fd;if(n&&!t)return vd}return null},wd=function(e){class People extends e{constructor(e,t,n){super(e,t,n),this.viewType="People"}parse(e){return this.getNth(e).map(pd)}json(e){let t="object"==typeof e?e:{};return this.getNth(e).map((e=>{let n=e.toView().json(t)[0],r=pd(e);return n.person={firstName:r.firstName.text("normal"),lastName:r.lastName.text("normal"),honorific:r.honorific.text("normal"),presumed_gender:yd(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=md(this);return t=t.getNth(e),new People(this.document,t.pointer)}},kd=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},Pd=function(e){e.prototype.places=function(t){let n=kd(this);return n=n.getNth(t),new e(this.document,n.pointer)}},Ad=function(e){e.prototype.organizations=function(e){return this.match("#Organization+").getNth(e)}};const Cd=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 Nd=function(e){e.prototype.topics=Cd},jd={api:function(e){wd(e),Pd(e),Ad(e),Nd(e)}},xd=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},Id=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},Td=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 Dd=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},Hd=function(e){return e.match("#Negative")},Gd=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 Ed=function(e){let t=e.clone();t.contractions().expand();const n=Id(t);return{root:n,prefix:t.match("#Prefix"),adverbs:Td(t,n),auxiliary:Dd(t,n),negative:Hd(t),phrasal:Gd(n)}};const Od={tense:"PresentTense"},Fd={conditional:!0},Vd={tense:"FutureTense"},zd={progressive:!0},$d={tense:"PastTense"},Sd={complete:!0,progressive:!1},Bd={passive:!0},Md=function(e){let t={};return e.forEach((e=>{Object.assign(t,e)})),t},Kd={imperative:[["#Imperative",[]]],"want-infinitive":[["^(want|wants|wanted) to #Infinitive$",[Od]],["^wanted to #Infinitive$",[$d]],["^will want to #Infinitive$",[Vd]]],"gerund-phrase":[["^#PastTense #Gerund$",[$d]],["^#PresentTense #Gerund$",[Od]],["^#Infinitive #Gerund$",[Od]],["^will #Infinitive #Gerund$",[Vd]],["^have #PastTense #Gerund$",[$d]],["^will have #PastTense #Gerund$",[$d]]],"simple-present":[["^#PresentTense$",[Od]],["^#Infinitive$",[Od]]],"simple-past":[["^#PastTense$",[$d]]],"simple-future":[["^will #Adverb? #Infinitive",[Vd]]],"present-progressive":[["^(is|are|am) #Gerund$",[Od,zd]]],"past-progressive":[["^(was|were) #Gerund$",[$d,zd]]],"future-progressive":[["^will be #Gerund$",[Vd,zd]]],"present-perfect":[["^(has|have) #PastTense$",[$d,Sd]]],"past-perfect":[["^had #PastTense$",[$d,Sd]],["^had #PastTense to #Infinitive",[$d,Sd]]],"future-perfect":[["^will have #PastTense$",[Vd,Sd]]],"present-perfect-progressive":[["^(has|have) been #Gerund$",[$d,zd]]],"past-perfect-progressive":[["^had been #Gerund$",[$d,zd]]],"future-perfect-progressive":[["^will have been #Gerund$",[Vd,zd]]],"passive-past":[["(got|were|was) #Passive",[$d,Bd]],["^(was|were) being #Passive",[$d,Bd]],["^(had|have) been #Passive",[$d,Bd]]],"passive-present":[["^(is|are|am) #Passive",[Od,Bd]],["^(is|are|am) being #Passive",[Od,Bd]],["^has been #Passive",[Od,Bd]]],"passive-future":[["will have been #Passive",[Vd,Bd,Fd]],["will be being? #Passive",[Vd,Bd,Fd]]],"present-conditional":[["would be #PastTense",[Od,Fd]]],"past-conditional":[["would have been #PastTense",[$d,Fd]]],"auxiliary-future":[["(is|are|am|was) going to (#Infinitive|#PresentTense)",[Vd]]],"auxiliary-past":[["^did #Infinitive$",[$d,{plural:!1}]],["^used to #Infinitive$",[$d,Sd]]],"auxiliary-present":[["^(does|do) #Infinitive$",[Od,Sd,{plural:!0}]]],"modal-past":[["^(could|must|should|shall) have #PastTense$",[$d]]],"modal-infinitive":[["^#Modal #Infinitive$",[]]],infinitive:[["^#Infinitive$",[]]]};let Ld=[];Object.keys(Kd).map((e=>{Kd[e].forEach((t=>{Ld.push({name:e,match:t[0],data:Md(t[1])})}))}));var Jd=Ld,Wd=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(),qd(r)&&(n.remove(r),r=n.last()),qd(r)&&(n.remove(r),r=n.last()),r)}(e);return{subject:t,plural:Ud(t,e)}};const Rd=e=>e,_d=(e,t)=>{let n=Qd(e),r=n.subject;return!(!r.has("i")&&!r.has("we"))||n.plural},Zd=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"},Xd=function(e,t){let n=Qd(e),r=n.subject;return r.has("i")||r.has("we")||n.plural?"do":"does"},Yd=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},eg=function(e,t){const{toInfinitive:n}=e.methods.two.transform.verb;let r=t.root.text({keepPunct:!1});return r=n(r,e.model,Yd(e)),r&&e.replace(t.root,r),e},tg=e=>e.has("will not")?e.replace("will not","have not"):e.remove("will"),ng=function(e){return e&&e.isView?e.json({normal:!0,terms:!1,text:!1}).map((e=>e.normal)):[]},rg=function(e){return e&&e.isView?e.text("normal"):""},ag=function(e){const{toInfinitive:t}=e.methods.two.transform.verb;return t(e.text("normal"),e.model,Yd(e))};var og=function(e){let t=Ed(e);e=e.clone().toView();const n=Wd(e,t);return{root:t.root.text(),preAdverbs:ng(t.adverbs.pre),postAdverbs:ng(t.adverbs.post),auxiliary:rg(t.auxiliary),negative:t.negative.found,prefix:rg(t.prefix),infinitive:ag(t.root),grammar:n}};const ig={tags:!0};var sg=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,Yd(r)),i&&e.replace(r,i,ig).tag("Verb").firstTerm().tag("Infinitive"),o.found&&e.remove(o),t.negative.found){e.has("not")||e.prepend("not");let t=Xd(e);e.prepend(t)}return e.fullSentence().compute(["lexicon","preTagger","postTagger","chunks"]),e};const lg={tags:!0},ug={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,Yd(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,lg),e},both:function(e,t){return t.negative.found?(e.replace("will","did"),e):(e=ug.simple(e,t),e=ug.noAux(e,t))},hasHad:e=>(e.replace("has","had",lg),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,Yd(a)),n(o,e.model).Participle}},cg={infinitive:ug.simple,"simple-present":ug.simple,"simple-past":Rd,"simple-future":ug.both,"present-progressive":e=>(e.replace("are","were",lg),e.replace("(is|are|am)","was",lg),e),"past-progressive":Rd,"future-progressive":(e,t)=>(e.match(t.root).insertBefore("was"),e.remove("(will|be)"),e),"present-perfect":ug.hasHad,"past-perfect":Rd,"future-perfect":(e,t)=>(e.match(t.root).insertBefore("had"),e.has("will")&&(e=tg(e)),e.remove("have"),e),"present-perfect-progressive":ug.hasHad,"past-perfect-progressive":Rd,"future-perfect-progressive":e=>(e.remove("will"),e.replace("have","had",lg),e),"passive-past":e=>(e.replace("have","had",lg),e),"passive-present":e=>(e.replace("(is|are)","was",lg),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",lg),e.remove("will")),e),"present-conditional":e=>(e.replace("be","have been"),e),"past-conditional":Rd,"auxiliary-future":e=>(e.replace("(is|are|am)","was",lg),e),"auxiliary-past":Rd,"auxiliary-present":e=>(e.replace("(do|does)","did",lg),e),"modal-infinitive":(e,t)=>(e.has("can")?e.replace("can","could",lg):(ug.simple(e,t),e.match("#Modal").insertAfter("have").tag("Auxiliary")),e),"modal-past":Rd,"want-infinitive":e=>(e.replace("(want|wants)","wanted",lg),e.remove("will"),e),"gerund-phrase":(e,t)=>(t.root=t.root.not("#Gerund$"),ug.simple(e,t),tg(e),e)};var hg=function(e,t,n){return cg.hasOwnProperty(n)?((e=cg[n](e,t)).fullSentence().compute(["tagger","chunks"]),e):e};const dg=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"},gg=(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,Yd(a));let s=n(i,e.model);if(i=s.Participle||s.PastTense,i){e=e.replace(a,i);let t=dg(e);e.prepend(t).match(t).tag("Auxiliary"),e.remove(o)}return e},mg={infinitive:gg,"simple-present":gg,"simple-future":(e,t)=>e.replace("will",dg(e)),"present-perfect":Rd,"past-perfect":Rd,"future-perfect":(e,t)=>e.replace("will have",dg(e)),"present-perfect-progressive":Rd,"past-perfect-progressive":Rd,"future-perfect-progressive":Rd};var pg=function(e,t,n){return mg.hasOwnProperty(n)?((e=mg[n](e,t)).fullSentence().compute(["tagger","chunks"]),e):((e=gg(e,t)).fullSentence().compute(["tagger","chunks"]),e)};const fg={tags:!0},vg=(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,Yd(a)),!1===_d(e)&&(o=n(o,e.model).PresentTense),a.has("#Copula")&&(o=Zd(e)),o&&(e=e.replace(a,o,fg)).not("#Particle").tag("PresentTense"),e},bg=(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,Yd(a)),!1===_d(e)&&(o=n(o,e.model).Gerund),o&&(e=e.replace(a,o,fg)).not("#Particle").tag("Gerund"),e},yg={infinitive:vg,"simple-present":(e,t)=>{const{conjugate:n}=e.methods.two.transform.verb;let{root:r}=t;if(!r.has("#Infinitive"))return vg(e,t);{let t=Qd(e).subject;if(_d(e)||t.has("i"))return e;let a=r.text("normal"),o=n(a,e.model).PresentTense;a!==o&&e.replace(r,o,fg)}return e},"simple-past":vg,"simple-future":(e,t)=>{const{root:n,auxiliary:r}=t;if(r.has("will")&&n.has("be")){let t=Zd(e);e.replace(n,t),(e=e.remove("will")).replace("not "+t,t+" not")}else vg(e,t),e=e.remove("will");return e},"present-progressive":Rd,"past-progressive":(e,t)=>{let n=Zd(e);return e.replace("(were|was)",n,fg)},"future-progressive":e=>(e.match("will").insertBefore("is"),e.remove("be"),e.remove("will")),"present-perfect":(e,t)=>(vg(e,t),e=e.remove("(have|had|has)")),"past-perfect":(e,t)=>{let n=Qd(e).subject;return _d(e)||n.has("i")?((e=eg(e,t)).remove("had"),e):(e.replace("had","has",fg),e)},"future-perfect":e=>(e.match("will").insertBefore("has"),e.remove("have").remove("will")),"present-perfect-progressive":Rd,"past-perfect-progressive":e=>e.replace("had","has",fg),"future-perfect-progressive":e=>(e.match("will").insertBefore("has"),e.remove("have").remove("will")),"passive-past":(e,t)=>{let n=Zd(e);return e.has("(had|have|has)")&&e.has("been")?(e.replace("(had|have|has)",n,fg),e.replace("been","being"),e):e.replace("(got|was|were)",n)},"passive-present":Rd,"passive-future":e=>(e.replace("will","is"),e.replace("be","being")),"present-conditional":Rd,"past-conditional":e=>(e.replace("been","be"),e.remove("have")),"auxiliary-future":(e,t)=>(bg(e,t),e.remove("(going|to)"),e),"auxiliary-past":(e,t)=>{if(t.auxiliary.has("did")){let n=Xd(e);return e.replace(t.auxiliary,n),e}return bg(e,t),e.replace(t.auxiliary,"is"),e},"auxiliary-present":Rd,"modal-infinitive":Rd,"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,Yd(r)),a&&(e=e.replace(t.root,a,fg))})(e,t),e.remove("have")),"gerund-phrase":(e,t)=>(t.root=t.root.not("#Gerund$"),vg(e,t),e.remove("(will|have)")),"want-infinitive":(e,t)=>{let n="wants";return _d(e)&&(n="want"),e.replace("(want|wanted|wants)",n,fg),e.remove("will"),e}};var wg=function(e,t,n){return yg.hasOwnProperty(n)?((e=yg[n](e,t)).fullSentence().compute(["tagger","chunks"]),e):e};const kg={tags:!0},Pg=(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,Yd(r)),o&&(e=e.replace(r,o,kg)).not("#Particle").tag("Verb"),e.prepend("will").match("will").tag("Auxiliary"),e.remove(a),e},Ag=(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,Yd(a)),i&&(i=n(i,e.model).Gerund,e.replace(a,i,kg),e.not("#Particle").tag("PresentTense")),e.remove(o),e.prepend("will be").match("will be").tag("Auxiliary"),e},Cg={infinitive:Pg,"simple-present":Pg,"simple-past":Pg,"simple-future":Rd,"present-progressive":Ag,"past-progressive":Ag,"future-progressive":Rd,"present-perfect":e=>(e.match("(have|has)").replaceWith("will have"),e),"past-perfect":e=>e.replace("(had|has)","will have"),"future-perfect":Rd,"present-perfect-progressive":e=>e.replace("has","will have"),"past-perfect-progressive":e=>e.replace("had","will have"),"future-perfect-progressive":Rd,"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":Rd,"present-conditional":e=>e.replace("would","will"),"past-conditional":e=>e.replace("would","will"),"auxiliary-future":Rd,"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":Rd,"modal-past":Rd,"gerund-phrase":(e,t)=>(t.root=t.root.not("#Gerund$"),Pg(e,t),e.remove("(had|have)")),"want-infinitive":e=>(e.replace("(want|wants|wanted)","will want"),e)};var Ng=function(e,t,n){return e.has("will")||e.has("going to")?e:Cg.hasOwnProperty(n)?((e=Cg[n](e,t)).fullSentence().compute(["tagger","chunks"]),e):e};const jg={tags:!0};var xg=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,Yd(a));let s=r(i,e.model).Gerund;if(s){let t=Zd(e);e.replace(a,s,jg),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 Ig={tags:!0},Tg=function(e,t){let n=Xd(e);return e.prepend(n+" not"),e},Dg=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)},Hg=e=>e.has("(is|was|am|are|will|were|be)"),Gg={"simple-present":(e,t)=>!0===Hg(e)?Dg(e):(e=eg(e,t),e=Tg(e)),"simple-past":(e,t)=>!0===Hg(e)?Dg(e):((e=eg(e,t)).prepend("did not"),e),imperative:e=>(e.prepend("do not"),e),infinitive:(e,t)=>!0===Hg(e)?Dg(e):Tg(e),"passive-past":e=>{if(e.has("got"))return e.replace("got","get",Ig),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=Tg(e)).replace("wants","want",Ig)};var Eg=function(e,t,n){if(e.has("#Negative"))return e;if(Gg.hasOwnProperty(n))return e=Gg[n](e,t);let r=e.matchOne("be");return r.found?(r.prepend("not"),e):!0===Hg(e)?Dg(e):(r=e.matchOne("(will|had|have|has|did|does|do|#Modal)"),r.found?(r.append("not"),e):e)},Og=function(e){class Verbs extends e{constructor(e,t,n){super(e,t,n),this.viewType="Verbs"}parse(e){return this.getNth(e).map(Ed)}json(e,t){let n=this.getNth(t).map((t=>{let n=t.toView().json(e)[0]||{};return n.verb=og(t),n}),[]);return n}subjects(e){return this.getNth(e).map((e=>(Ed(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=Ed(e),n=Wd(e,t);return sg(e,t,n.form)}))}toPresentTense(e){return this.getNth(e).map((e=>{let t=Ed(e),n=Wd(e,t);return n.isInfinitive?e:wg(e,t,n.form)}))}toPastTense(e){return this.getNth(e).map((e=>{let t=Ed(e),n=Wd(e,t);return n.isInfinitive?e:hg(e,t,n.form)}))}toFutureTense(e){return this.getNth(e).map((e=>{let t=Ed(e),n=Wd(e,t);return n.isInfinitive?e:Ng(e,t,n.form)}))}toGerund(e){return this.getNth(e).map((e=>{let t=Ed(e),n=Wd(e,t);return n.isInfinitive?e:xg(e,t,n.form)}))}toPastParticiple(e){return this.getNth(e).map((e=>{let t=Ed(e),n=Wd(e,t);return n.isInfinitive?e:pg(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=Ed(e),a=Wd(e,r);"imperative"===a.form&&(a.form="simple-present");let o=r.root.text("normal");if(!r.root.has("#Infinitive")){let t=Yd(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=Ed(e),n=Wd(e,t);return Eg(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=xd(this);return t=t.getNth(e),new Verbs(this.document,t.pointer)}},Fg={api:Og};const Vg=function(e,t){let n=t.match(e);if(n.found){let e=n.pronouns().refersTo();if(e.found)return e}return t.none()},zg=function(e){if(!e.found)return e;let[t]=e.fullPointer[0];return t&&t>0?e.update([[t-1]]):e.none()};var $g=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?Vg("(she|her|hers)",e):"m"===t?Vg("(he|him|his)",e):e.none())},Sg=function(e){let t=e.nouns(),n=t.isPlural().notIf("#Pronoun");if(n.found)return n.last();let r=Vg("(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 Bg=function(e,t){let n=e.before(),r=t(n);return r.found?r:(n=zg(e),r=t(n),r.found?r:(n=zg(n),r=t(n),r.found?r:e.none()))};var Mg=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=Bg(e,(e=>$g(e,"m"))):e.has("(she|her|hers)")?t=Bg(e,(e=>$g(e,"f"))):e.has("(they|their|theirs)")&&(t=Bg(e,Sg)),t&&t.found&&function(e,t){t&&t.found&&(e.docs[0][0].reference=t.ptrs[0])}(e,t)}))},Kg=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)}},Lg={compute:{coreference:Mg},api:Kg};return v.plugin(fc),v.plugin(vc),v.plugin(Hc),v.plugin(Lg),v.plugin(Rc),v.plugin(nh),v.plugin(bh),v.plugin(Yh),v.plugin(rd),v.plugin(gd),v.plugin(jd),v.plugin(Fg),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 f6ed0ff3f..66ec4de11 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.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(); +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.11.0";var w=m,y=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 $=function(t){t.has("@hasContraction")&&"function"==typeof t.contractions&&t.grow("@hasContraction").contractions().expand()},z=t=>"[object Array]"===Object.prototype.toString.call(t),T=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]||[]:z(t)?z(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([c]).firstTerm()),P(h,c,f,r)):($(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 F=V,q=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=q(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,F,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=/'/,ht=/(e|é|aison|sion|tion)$/,ft=/(age|isme|acle|ege|oire)$/;var pt=(t,e)=>["je",t[e].normal.split(ut)[1]],dt=(t,e)=>{let n=t[e].normal.split(ut)[1];return n&&n.endsWith("e")?["la",n]:["le",n]},mt=(t,e)=>{let n=t[e].normal.split(ut)[1];return n&&ht.test(n)&&!ft.test(n)?["du",n]:n&&n.endsWith("s")?["des",n]:["de",n]};const gt=/^([0-9.]{1,4}[a-z]{0,2}) ?[-–—] ?([0-9]{1,4}[a-z]{0,2})$/i,wt=/^([0-9]{1,2}(:[0-9][0-9])?(am|pm)?) ?[-–—] ?([0-9]{1,2}(:[0-9][0-9])?(am|pm)?)$/i,yt=/^[0-9]{3}-[0-9]{4}$/;var bt=function(t,e){let n=t[e],r=n.text.match(gt);return null!==r?!0===n.tags.has("PhoneNumber")||yt.test(n.text)?null:[r[1],"to",r[2]]:(r=n.text.match(wt),null!==r?[r[1],"to",r[4]]:null)};const vt=/^([+-]?[0-9][.,0-9]*)([a-z°²³µ/]+)$/;var xt=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 jt=/'/,Et=/^[0-9][^-–—]*[-–—].*?[0-9]/,Ot=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]]},kt={t:(t,e)=>ct(t,e),d:(t,e)=>at(t,e)},Pt={j:(t,e)=>pt(t,e),l:(t,e)=>dt(t,e),d:(t,e)=>mt(t,e)},_t=function(t,e,n,r){for(let o=0;o2)return i.out.concat(r)}return null},St=function(t,e){let n=e.fromText(t.join(" "));return n.compute(["id","alias"]),n.docs[0]},At=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 $t=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;if(!0===jt.test(r[l].normal)){let t=r[l].normal.split(jt);a=t[0],c=t[1]}let u=_t(i,r[l],a,c);!u&&kt.hasOwnProperty(c)&&(u=kt[c](r,l,e)),!u&&Pt.hasOwnProperty(a)&&(u=Pt[a](r,l)),"there"===a&&"s"===c&&(u=At(r,l)),u?(u=St(u,t),rt(n,[s,l],u),Ot(n[s],t,l,u.length)):Et.test(r[l].normal)?(u=bt(r,l),u&&(u=St(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"),Ot(n[s],t,l,u.length))):(u=xt(r,l,e),u&&(u=St(u,t),rt(n,[s,l],u),o.one.setTag([u[1]],"Unit",e,null,"contraction-unit")))}}))},zt={model:nt,compute:{contractions:$t},hooks:["contractions"]},Tt=function(t,e,n){const{model:r,methods:o}=n,i=o.one.setTag,s=r.one._multiCache||{},{lexicon:l,frozenLex:a}=r.one||{};let c=t[e],u=c.machine||c.normal;if(void 0!==s[u]&&t[e+1]){for(let r=e+s[u]-1;r>e;r-=1){let o=t.slice(e,r+1);if(o.length<=1)return!1;let s=o.map((t=>t.machine||t.normal)).join(" ");if(!0===a.hasOwnProperty(s))return i(o,a[s],n,!1,"1-frozen-multi-lexicon"),o.forEach((t=>t.frozen=!0)),!0;if(!0===l.hasOwnProperty(s)){let t=l[s];return i(o,t,n,!1,"1-multi-lexicon"),!t||2!==t.length||"PhrasalVerb"!==t[0]&&"PhrasalVerb"!==t[1]||i([o[1]],"Particle",n,!1,"1-phrasal-particle"),!0}}return!1}return null};const Ct=/^(under|over|mis|re|un|dis|semi|pre|post)-?/,Nt=new Set(["Verb","Infinitive","PastTense","Gerund","PresentTense","Adjective","Participle"]);var Lt=function(t,e,n){const{model:r,methods:o}=n,i=o.one.setTag,{lexicon:s,frozenLex:l}=r.one;let a=t[e],c=a.machine||a.normal;if(void 0!==l[c]&&l.hasOwnProperty(c))return i([a],l[c],n,!1,"1-freeze-lexicon"),a.frozen=!0,!0;if(void 0!==s[c]&&s.hasOwnProperty(c))return i([a],s[c],n,!1,"1-lexicon"),!0;if(a.alias){let t=a.alias.find((t=>s.hasOwnProperty(t)));if(t)return i([a],s[t],n,!1,"1-lexicon-alias"),!0}if(!0===Ct.test(c)){let t=c.replace(Ct,"");if(s.hasOwnProperty(t)&&t.length>3&&Nt.has(s[t]))return i([a],s[t],n,!1,"1-lexicon-prefix"),!0}return null},Vt={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&&(void 0===n[i[0]]||i.length>n[i[0]])&&(n[i[0]]=i.length),e[r]=e[r]||o})),delete e[""],delete e.null,delete e[" "],{lex:e,_multi:n}},qt={addWords:function(t,e=!1){const n=this.world(),{methods:r,model:o}=n;if(!t)return;if(Object.keys(t).forEach((e=>{"string"==typeof t[e]&&t[e].startsWith("#")&&(t[e]=t[e].replace(/^#/,""))})),!0===e){let{lex:e,_multi:i}=r.one.expandLexicon(t,n);return Object.assign(o.one._multiCache,i),void Object.assign(o.one.frozenLex,e)}if(r.two.expandLexicon){let{lex:e,_multi:i}=r.two.expandLexicon(t,n);Object.assign(o.one.lexicon,e),Object.assign(o.one._multiCache,i)}let{lex:i,_multi:s}=r.one.expandLexicon(t,n);Object.assign(o.one.lexicon,i),Object.assign(o.one._multiCache,s)}},Gt={model:{one:{lexicon:{},_multiCache:{},frozenLex:{}}},methods:{one:{expandLexicon:Ft}},compute:Vt,lib:qt,hooks:["lexicon"]},Dt=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 Bt=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 Wt=(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 It=function(t){return t.goNext=t.goNext.map((t=>{if(0!==Object.keys(t).length)return t})),t.goNext=Wt(t.goNext,void 0),t.failTo=Wt(t.failTo,0),t.endAs=Wt(t.endAs,null),t};const Rt={buildTrie:function(t){const e=Dt(t,this.world());return It(e)}};Rt.compile=Rt.buildTrie;var Qt={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:Dt(t,this.world));var r;let o=Mt(this,n,e);return o=o.settle(),o}},lib:Rt};const Ht=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},Zt=function(t,e){let{ptrs:n,byGroup:r}=t;return n=Ht(n,e),Object.keys(r).forEach((t=>{r[t]=Ht(r[t],e)})),{ptrs:n,byGroup:r}},Kt=t=>"[object Object]"===Object.prototype.toString.call(t),Jt=t=>t&&Kt(t)&&!0===t.isView,Xt=t=>t&&Kt(t)&&!0===t.isNet,Yt=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 te={matchOne:function(t,e,n){const r=this.methods.one;if(Jt(t))return this.intersection(t).eq(0);if(Xt(t))return this.sweep(t,{tagger:!1,matchOne:!0}).view;let o={regs:t=Yt(t,n,this.world),group:e,justOne:!0},i=r.match(this.docs,o,this._cache),{ptrs:s,byGroup:l}=Zt(i,this.fullPointer),a=this.toView(s);return a._groups=l,a},match:function(t,e,n){const r=this.methods.one;if(Jt(t))return this.intersection(t);if(Xt(t))return this.sweep(t,{tagger:!1}).view.settle();let o={regs:t=Yt(t,n,this.world),group:e},i=r.match(this.docs,o,this._cache),{ptrs:s,byGroup:l}=Zt(i,this.fullPointer),a=this.toView(s);return a._groups=l,a},has:function(t,e,n){const r=this.methods.one;if(Jt(t))return t.fullPointer.length>0;if(Xt(t))return this.sweep(t,{tagger:!1}).view.found;let o={regs:t=Yt(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(Jt(t))return this.filter((e=>e.intersection(t).found));if(Xt(t)){let e=this.sweep(t,{tagger:!1}).view.settle();return this.if(e)}let o={regs:t=Yt(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(Jt(t))return this.filter((e=>!e.intersection(t).found));if(Xt(t)){let e=this.sweep(t,{tagger:!1}).view.settle();return this.ifNo(e)}t=Yt(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}},ee={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 ne=function(t,e){return[t[0],t[1],e[2]]},re=(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},oe=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},ie={splitOn:function(t,e){const{splitAll:n}=this.methods.one.pointer;let r=re(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=>oe(t,this))),this.update(i)},splitBefore:function(t,e){const{splitAll:n}=this.methods.one.pointer;let r=re(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(ne(t.match,t.after)):i.push(t.match)})),i=i.filter((t=>t)),i=i.map((t=>oe(t,this))),this.update(i)},splitAfter:function(t,e){const{splitAll:n}=this.methods.one.pointer;let r=re(t,this,e).fullPointer,o=n(this.fullPointer,r),i=[];return o.forEach((t=>{i.push(t.passthrough),t.before&&t.match?i.push(ne(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=>oe(t,this))),this.update(i)}};ie.split=ie.splitAfter;var se=ie;const le=Object.assign({},te,ee,se);le.lookBehind=le.before,le.lookBefore=le.before,le.lookAhead=le.after,le.lookAfter=le.after,le.notIf=le.ifNo;var ae=function(t){Object.assign(t.prototype,le)};const ce=/(?:^|\s)([![^]*(?:<[^<]*>)?\/.*?[^\\/]\/[?\]+*$~]*)(?:\s|$)/,ue=/([!~[^]*(?:<[^<]*>)?\([^)]+[^\\)]\)[?\]+*$~]*)(?:\s|$)/,he=/ /g,fe=t=>/^[![^]*(<[^<]*>)?\//.test(t)&&/\/[?\]+*$~]*$/.test(t),pe=function(t){return t=(t=t.map((t=>t.trim()))).filter((t=>t))};var de=function(t){let e=t.split(ce),n=[];e.forEach((t=>{fe(t)?n.push(t):n=n.concat(t.split(ue))})),n=pe(n);let r=[];return n.forEach((t=>{(t=>/^[![^]*(<[^<]*>)?\(/.test(t)&&/\)[?\]+*$~]*$/.test(t))(t)||fe(t)?r.push(t):r=r.concat(t.split(he))})),r=pe(r),r};const me=/\{([0-9]+)?(, *[0-9]*)?\}/,ge=/&&/,we=new RegExp(/^<\s*(\S+)\s*>/),ye=t=>t.charAt(0).toUpperCase()+t.substring(1),be=t=>t.charAt(t.length-1),ve=t=>t.charAt(0),xe=t=>t.substring(1),je=t=>t.substring(0,t.length-1),Ee=function(t){return t=xe(t),t=je(t)},Oe=function(t,e){let n={};for(let r=0;r<2;r+=1){if("$"===be(t)&&(n.end=!0,t=je(t)),"^"===ve(t)&&(n.start=!0,t=xe(t)),"?"===be(t)&&(n.optional=!0,t=je(t)),("["===ve(t)||"]"===be(t))&&(n.group=null,"["===ve(t)&&(n.groupStart=!0),"]"===be(t)&&(n.groupEnd=!0),t=(t=t.replace(/^\[/,"")).replace(/\]$/,""),"<"===ve(t))){const e=we.exec(t);e.length>=2&&(n.group=e[1],t=t.replace(e[0],""))}if("+"===be(t)&&(n.greedy=!0,t=je(t)),"*"!==t&&"*"===be(t)&&"\\*"!==t&&(n.greedy=!0,t=je(t)),"!"===ve(t)&&(n.negative=!0,t=xe(t)),"~"===ve(t)&&"~"===be(t)&&t.length>2&&(t=Ee(t),n.fuzzy=!0,n.min=e.fuzzy||.85,!1===/\(/.test(t)))return n.word=t,n;if("/"===ve(t)&&"/"===be(t))return t=Ee(t),e.caseSensitive&&(n.use="text"),n.regex=new RegExp(t),n;if(!0===me.test(t)&&(t=t.replace(me,((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)&&")"===be(t)){ge.test(t)?(n.choices=t.split(ge),n.operator="and"):(n.choices=t.split("|"),n.operator="or"),n.choices[0]=xe(n.choices[0]);let r=n.choices.length-1;n.choices[r]=je(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=>Oe(t,e))))),t=""}if("{"===ve(t)&&"}"===be(t)){if(t=Ee(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)&&">"===be(t))return t=Ee(t),n.chunk=ye(t),n.greedy=!0,n;if("%"===ve(t)&&"%"===be(t))return t=Ee(t),n.switch=t,n}return"#"===ve(t)?(n.tag=xe(t),n.tag=ye(n.tag),n):"@"===ve(t)?(n.method=xe(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 ke=Oe;const Pe=/[a-z0-9][-–—][a-z]/i;var _e=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&&Pe.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 Se=function(t,e){let{all:n}=e.methods.two.transform.verb||{},r=t.root;return n?n(r,e.model):[]},Ae=function(t,e){let{all:n}=e.methods.two.transform.noun||{};return n?n(t.root,e.model):[t.root]},$e=function(t,e){let{all:n}=e.methods.two.transform.adjective||{};return n?n(t.root,e.model):[t.root]};var ze=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(Se(t,e)):"Noun"===t.pos?n=n.concat(Ae(t,e)):"Adjective"===t.pos&&(n=n.concat($e(t,e))):(n=n.concat(Se(t,e)),n=n.concat(Ae(t,e)),n=n.concat($e(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},Ce=function(t,e,n){if(null==t||""===t)return[];e=e||{},"number"==typeof t&&(t=String(t));let r=de(t);return r=r.map((t=>ke(t,e))),r=_e(r,n),r=ze(r,n),r=Te(r),r};const Ne=function(t,e){for(let n of e)if(t.has(n))return!0;return!1};var Le=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),Ue=(t,e)=>-1!==t.pre.indexOf(e),Me={hasQuote:t=>Fe.test(t.pre)||qe.test(t.post),hasComma:t=>Be(t,","),hasPeriod:t=>!0===Be(t,".")&&!1===Be(t,"..."),hasExclamation:t=>Be(t,"!"),hasQuestionMark:t=>Be(t,"?")||Be(t,"¿"),hasEllipses:t=>Be(t,"..")||Be(t,"…")||Ue(t,"..")||Ue(t,"…"),hasSemicolon:t=>Be(t,";"),hasColon:t=>Be(t,":"),hasSlash:t=>/\//.test(t.text),hasHyphen:t=>Ge.test(t.post)||Ge.test(t.pre),hasDash:t=>De.test(t.post)||De.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)};Me.hasQuotation=Me.hasQuote;var We=Me;let Ie=function(){};Ie=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(Ve(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 We[e.method]&&!0===We[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=>Ie(t,e,n,r))):e.choices.some((e=>Ie(t,e,n,r))))}(t,e,n,r);return!0===e.negative?!o:o};var Re=Ie;const Qe=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&&(He(t,t.t).length=r-t.t),t.t=r,!0)};const Ke=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=Re(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]&&Re(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&&(He(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},Ye=function(t,e,n){let r=0;for(let o=t.t;or||(t.t+=r,0))},tn=function(t){const{regs:e}=t;let n=e[t.r],r=Object.assign({},n);if(r.negative=!1,Re(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&&(Re(t.terms[t.t],n,t.start_i+t.t,t.phrase_length)?t.r+=1:n.optional&&e[t.r+2]&&Re(t.terms[t.t],e[t.r+2],t.start_i+t.t,t.phrase_length)&&(t.r+=2))}return n.greedy?Ye(t,r,e[t.r+1]):(t.t+=1,!0)},en=function(t){const{regs:e}=t;let n=e[t.r],r=t.terms[t.t],o=Re(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&&Re(n,e[t.r+1],t.start_i+t.t,t.phrase_length)||(t.r+=1)}},nn=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},rn=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)}},on=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]&&en(t),r.implicit&&t.terms[t.t+1]&&rn(t),t.t+=1,!0===n.end&&t.t!==t.terms.length&&!0!==n.greedy?null:!0!==n.greedy||nn(t)?(!0===t.hasGroup&&function(t,e){let n=t.regs[t.r];const r=He(t,e);t.t>1&&n.greedy?r.length+=t.t-e:r.length++}(t,o),!0):null)},sn=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!==Qe(t,o)){if(t.negative){if(!tn(o))return null}else if(!0!==Re(o.terms[o.t],t,o.start_i+o.t,o.phrase_length)){if(!0!==t.optional)return null}else if(!on(o))return null}else if(!on(o))return null}else{if(t.negative&&t.anything)return null;if(!on(o))return null}else if(!Xe(o))return null}else if(!Je(o))return null}else if(!Ze(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}},ln=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}},an=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},un=function(t,e,n){let r=sn(t,e,0,t.length);return r?(r=cn(r,n),r):null};var hn=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=un(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=an(s,e.notIf,t)),s=ln(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},fn={api:ae,methods:{one:{termMethods:We,parseMatch:Ce,match:hn}},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 pn=/^\../,dn=/^#./,mn=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,"'"),pn.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 gn={html:function(t){let{starts:e,ends:n}=mn(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(yn,""),vn.test(o)&&(o=" "),o=o.replace(bn,""),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(yn,""),o="-"===o?" ":o.replace(wn,""));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&&xn.test(o)||(o+=" "),r+=n+i+o})),!1===n&&(r=r.trim()),!0===e.lowerCase&&(r=r.toLowerCase()),r},En={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"}};En.clean=En.normal,En.reduced=En.root;var On=En;let kn=[],Pn=0;for(;Pn<64;)kn[Pn]=0|4294967296*Math.sin(++Pn%Math.PI);function _n(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(Pn=s=0;Pn>4]+kn[s]+~~i[Pn|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 Sn={text:!0,terms:!0};let An={case:"none",unicode:"some",form:"machine",punctuation:"some"};const $n=function(t,e){return Object.assign({},t,e)},zn={text:t=>jn(t,{keepPunct:!0},!1),normal:t=>jn(t,$n(On.normal,{keepPunct:!0}),!1),implicit:t=>jn(t,$n(On.implicit,{keepPunct:!0}),!1),machine:t=>jn(t,An,!1),root:t=>jn(t,$n(An,{form:"root"}),!1),hash:t=>_n(jn(t,{keepPunct:!0},!1)),offset:t=>{let e=zn.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))};zn.sentences=zn.sentence,zn.clean=zn.normal,zn.reduced=zn.root;const Tn={json:function(t){let e=(n=this,"string"==typeof(r=(r=t)||{})&&(r={}),(r=Object.assign({},Sn,r)).offset&&n.compute("offset"),n.docs.map(((t,e)=>{let o={};return Object.keys(r).forEach((i=>{r[i]&&zn[i]&&(o[i]=zn[i](t,n,e))})),o})));var n,r;return"number"==typeof t?e[t]:e}};Tn.data=Tn.json;var Cn=Tn,Nn=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 Ln="";var Vn={green:t=>""+t+Ln,red:t=>""+t+Ln,blue:t=>""+t+Ln,magenta:t=>""+t+Ln,cyan:t=>""+t+Ln,yellow:t=>""+t+Ln,black:t=>""+t+Ln,dim:t=>""+t+Ln,i:t=>""+t+Ln},Fn=function(t){let{docs:e,model:n}=t;0===e.length&&console.log(Vn.blue("\n ──────")),e.forEach((e=>{console.log(Vn.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=Vn.yellow(o);let i="'"+o+"'";if(e.reference){let n=t.update([e.reference]).text("normal");i+=` - ${Vn.dim(Vn.i("["+n+"]"))}`}i=i.padEnd(18);let s=Vn.blue(" │ ")+Vn.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 Vn[n](t)}))),t.join(", ")}(r,n);console.log(s)}))}))},qn=function(t){let{docs:e}=t;console.log(""),e.forEach((t=>{let e=[];t.forEach((t=>{"Noun"===t.chunk?e.push(Vn.blue(t.implicit||t.normal)):"Verb"===t.chunk?e.push(Vn.green(t.implicit||t.normal)):"Adjective"===t.chunk?e.push(Vn.yellow(t.implicit||t.normal)):"Pivot"===t.chunk?e.push(Vn.red(t.implicit||t.normal)):e.push(t.implicit||t.normal)})),console.log(e.join(" "),"\n")}))},Gn=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]}${Vn.blue(r[1])}${r[2]}`}(r,t.offset,e)})),console.log(r)}))},Dn=function(t={}){let e=this;if("string"==typeof t){let e={};e[t]=!0,t=e}return"undefined"!=typeof window&&window.document?(Nn(e),e):(!1!==t.tags&&(Fn(e),console.log("\n")),!0===t.chunks&&(qn(e),console.log("\n")),!0===t.highlight&&(Gn(e),console.log("\n")),e)};const Bn=function(t){let e=t.pre||"",n=t.post||"";return e+t.text+n};var Un=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 Un(this,t)}};var Wn=Mn,In={text:function(t){let e={};var n;if(t&&"string"==typeof t&&On.hasOwnProperty(t)?e=Object.assign({},On[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},Kn=function(t){let e={};return t.forEach((t=>{e[t[0]]=e[t[0]]||[],e[t[0]].push(t)})),e};var Jn=function(t,e){let n=Kn(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},Xn=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},Yn={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=>Zn(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},nr=function(t,e){let n=Kn(e),r=[];return t.forEach((t=>{let e=n[t[0]]||[];e=e.filter((e=>Zn(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},or=function(t,e){return t.map((t=>{let[n,r]=t;return e[n]&&e[n][r]&&(t[3]=e[n][r].id),t}))},ir={union:function(t){t=rr(t,this);let e=tr(this.fullPointer,t.fullPointer);return e=or(e,this.document),this.toView(e)}};ir.and=ir.union,ir.intersection=function(t){t=rr(t,this);let e=nr(this.fullPointer,t.fullPointer);return e=or(e,this.document),this.toView(e)},ir.not=function(t){t=rr(t,this);let e=er(this.fullPointer,t.fullPointer);return e=or(e,this.document),this.toView(e)},ir.difference=ir.not,ir.complement=function(){let t=this.all(),e=er(t.fullPointer,this.fullPointer);return e=or(e,this.document),this.toView(e)},ir.settle=function(){let t=this.fullPointer;return t.forEach((e=>{t=tr(t,[e])})),t=or(t,this.document),this.update(t)};var sr=function(t){Object.assign(t.prototype,ir)},lr={methods:Yn,api:sr},ar=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 cr=function(t){return!0===t.optional||!0===t.negative?null:t.tag?"#"+t.tag:t.word?t.word:t.switch?`%${t.switch}%`:null};var ur=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(cr(t)),"and"===t.operator&&t.choices&&t.choices.forEach((t=>{t.forEach((t=>{e.push(cr(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=cr(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},hr=function(t,e){t=ur(t,e);let n={};t.forEach((t=>{t.needs.forEach((e=>{n[e]=Array.isArray(n[e])?n[e]:[],n[e].push(t)})),t.wants.forEach((e=>{n[e]=Array.isArray(n[e])?n[e]:[],n[e].push(t)}))})),Object.keys(n).forEach((t=>{let e={};n[t]=n[t].filter((t=>"boolean"!=typeof 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}},fr=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=>"boolean"!=typeof i[t.match]&&(i[t.match]=!0,!0))),o}))},pr=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))}))},dr=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},mr=function(t,e,n,r={}){let o=n.one.cacheDoc(t),i=fr(o,e.hooks);return i=pr(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),dr(i,t,o,n,r)},gr=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===gr(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))})))},yr={lib:{buildNet:function(t){let e=this.methods().one.buildNet(t,this.world());return e.isNet=!0,e}},api:ar,methods:{one:{buildNet:hr,bulkMatch:mr,bulkTagger:wr}}};const br=/ /,vr=function(t,e){"Noun"===e&&(t.chunk=e),"Verb"===e&&(t.chunk=e)},xr=function(t,e,n,r){if(!0===t.tags.has(e))return null;if("."===e)return null;!0===t.frozen&&(r=!0);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(),br.test(e))!function(t,e,n,r){let o=e.split(br);t.forEach(((t,e)=>{let i=o[e];i&&(i=i.replace(/^#/,""),xr(t,i,n,r))}))}(t,e,i,r);else{e=e.replace(/^#/,"");for(let n=0;njr(t,e,n,r)))};var Er=jr,Or=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=>Pr({id:t}))),e}return[Pr({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),zr=t=>(t=t||"").trim(),Tr=function(t=[]){return"string"==typeof t?function(t){let e=t.split(/\r?\n/),n=[];e.forEach((t=>{if(!t.trim()||_r.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:Sr(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=Pr({});return t.forEach((t=>{if((t=Pr(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):(Ar(e=t).forEach(Pr),e);var e},Cr=function(t,e){let n="-> ";e&&(n=(t=>""+t+"")("→ "));let r="";return Ar(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},Nr=function(t){let e=Ar(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},Lr={text:Cr,txt:Cr,array:Nr,flat:Nr},Vr=function(t,e){return"nested"===e||"json"===e?t:"debug"===e?(console.log(Cr(t,!0)),null):Lr.hasOwnProperty(e)?Lr[e](t):t},Fr=t=>{Ar(t,((t,e)=>{t.id&&(t._cache.parents=t._cache.parents||[],e._cache.parents=t._cache.parents.concat([t.id]))}))},qr=/\//;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=zr(t),!qr.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)||Pr({});return new g(e)}add(t,e={}){if($r(t))return t.forEach((t=>this.add(zr(t),e))),this;t=zr(t);let n=Pr({id:t,props:e});return this.json.children.push(n),new g(n)}remove(t){return t=zr(t),this.json.children=this.json.children.filter((e=>e.id!==t)),this}nodes(){return Ar(this.json).map((t=>(delete(t=Object.assign({},t)).children,t)))}cache(){return(t=>{let e=Ar(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 Ar(this.json)}fillDown(){var t;return t=this.json,Ar(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(){Fr(this.json);let t=Ar(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 Fr(this.json),Vr(this.json,t)}debug(){return Fr(this.json),Vr(this.json,"debug"),this}}const Gr=function(t){let e=Tr(t);return new g(e)};Gr.prototype.plugin=function(t){t(this)};var Dr={Noun:"blue",Verb:"green",Negative:"green",Date:"red",Value:"red",Adjective:"magenta",Preposition:"cyan",Conjunction:"cyan",Determiner:"cyan",Hyphenated:"cyan",Adverb:"cyan"};const Br=function(t){if(Dr.hasOwnProperty(t.id))return Dr[t.id];if(Dr.hasOwnProperty(t.is))return Dr[t.is];let e=t._cache.parents.find((t=>Dr[t]));return Dr[e]};var Ur=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:Br(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 Mr=function(t){return t?"string"==typeof t?[t]:t:[]};var Wr=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=Mr(t[e].children),t[e].not=Mr(t[e].not)})),Object.keys(t).forEach((e=>{(t[e].not||[]).forEach((n=>{t[n]&&t[n].not&&t[n].not.push(e)}))})),t},Ir=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=Wr(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 Gr(e).cache().fillDown().out("array")}(Object.assign({},e,t));return Ur(n)},Rr={one:{setTag:Er,unTag:Or,addTags:Ir,canBe:kr}};const Qr=function(t){return"[object Array]"===Object.prototype.toString.call(t)},Hr={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||""),Qr(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 Qr(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,n=this.methods.one.canBe,r=[];this.document.forEach(((o,i)=>{o.forEach(((o,s)=>{n(o,t,e)||r.push([i,s,s+1])}))}));let o=this.update(r);return this.difference(o)}};var Zr=Hr,Kr=function(t){Object.assign(t.prototype,Zr)},Jr={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 Xr=new Set(["Auxiliary","Possessive"]);var Yr=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(Xr.has(t)||!e.hasOwnProperty(n))return 1;if(Xr.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)}))}))},to={model:{one:{tagSet:{}}},compute:{tagRank:Yr},methods:Rr,api:Kr,lib:Jr};const eo=/([.!?\u203D\u2E18\u203C\u2047-\u2049\u3002]+\s)/g,no=/^[.!?\u203D\u2E18\u203C\u2047-\u2049\u3002]+\s$/,ro=/((?:\r?\n|\r)+)/;var oo=function(t){let e=[],n=t.split(ro);for(let t=0;t0&&(o.push(i),t[e]="")}return o};const co={'"':'"',""":""","“":"”","‟":"”","„":"”","⹂":"”","‚":"’","«":"»","‹":"›","‵":"′","‶":"″","‷":"‴","〝":"〞","〟":"〞"},uo=RegExp("["+Object.keys(co).join("")+"]","g"),ho=RegExp("["+Object.values(co).join("")+"]","g"),fo=function(t){if(!t)return!1;let e=t.match(ho);return null!==e&&1===e.length};var po=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(So);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=ko(n),n=Eo(n),n=n.filter((t=>t)),n};const zo=/\p{Letter}/u,To=/[\p{Number}\p{Currency_Symbol}]/u,Co=/^[a-z]\.([a-z]\.)+/i,No=/[sn]['’]$/;var Lo=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}},Vo=(t,e)=>{let{str:n,pre:r,post:o}=Lo(t,e);return{text:n,pre:r,post:o,tags:new Set}},Fo=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("")},qo=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 Go=/([A-Z]\.)+[A-Z]?,?$/,Do=/^[A-Z]\.,?$/,Bo=/[A-Z]{2,}('s|,)?$/,Uo=/([a-z]\.)+[a-z]\.?$/;var Mo=function(t){return function(t){return!0===Go.test(t)||!0===Uo.test(t)||!0===Do.test(t)||!0===Bo.test(t)}(t)&&(t=t.replace(/\./g,"")),t},Wo=function(t,e){const n=e.methods.one.killUnicode;let r=t.text||"";r=qo(r),r=n(r,e),r=Mo(r),t.normal=r},Io=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=>{Wo(t,e)})),n})),t};const Ro=/[ .][A-Z]\.? *$/i,Qo=/(?:\u2026|\.{2,}) *$/,Ho=/\p{L}/u,Zo=/\. *$/,Ko=/^[A-Z]\. $/;var Jo={one:{killUnicode:Fo,tokenize:{splitSentences:vo,isSentence:function(t,e){if(!1===Ho.test(t))return!1;if(!0===Ro.test(t))return!1;if(3===t.length&&Ko.test(t))return!1;if(!0===Qo.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!==Zo.test(t)},splitTerms:$o,splitWhitespace:Vo,fromString:Io}}},Xo={"&":"and","@":"at","%":"percent",plz:"please",bein:"being"};let Yo={},ti={};[[["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=>{Yo[e]=!0,ti[e]="Abbreviation",void 0!==t[1]&&(ti[e]=[ti[e],t[1]])}))}));var ei=["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 ni={"!":"¡","?":"¿Ɂ",'"':'“”"❝❞',"'":"‘‛❛❜’","-":"—–",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:"ŹźŻżŽžƵƶȤȥɀΖ"},ri={};Object.keys(ni).forEach((function(t){ni[t].split("").forEach((function(e){ri[e]=t}))}));const oi=/\//,ii=/[a-z]\.[a-z]/i,si=/[0-9]/;var li=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])),oi.test(n)&&!ii.test(n)&&!si.test(n)){let e=n.split(oi);e.length<=2&&e.forEach((e=>{""!==(e=e.trim())&&(t.alias=t.alias||[],t.alias.push(e))}))}return t};const ai=/^\p{Letter}+-\p{Letter}+$/u;var ci=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"),ai.test(e)&&(e=e.replace(/-/g,"")),e=e.replace(/^[#@]/,""),e!==t.normal&&(t.machine=e)},ui=function(t){let e=t.docs,n={};for(let t=0;tdi(t,li),machine:t=>di(t,ci),normal:t=>di(t,Wo),freq:ui,offset:hi,index:fi,wordCount:pi},methods:Jo,model:{one:{aliases:Xo,abbreviations:Yo,prefixes:ei,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:ti,unicode:ri,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 vi={safe:!0,min:3};var xi={typeahead:function(t=[],e={}){let n=this.model();var r;e=Object.assign({},vi,e),r=t,"[object Object]"===Object.prototype.toString.call(r)&&(Object.assign(n.one.lexicon,t),t=Object.keys(t));let o=bi(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}},ji={model:{one:{typeahead:{}}},api:yi,lib:xi,compute:gi,hooks:["typeahead"]};return w.extend(tt),w.extend(Hn),w.extend(fn),w.extend(lr),w.extend(to),w.plugin(zt),w.extend({mutate:t=>{t.methods.one.termMethods.isFrozen=t=>!0===t.frozen},api:function(t){t.prototype.freeze=function(){return this.docs.forEach((t=>{t.forEach((t=>{t.frozen=!0}))})),this},t.prototype.unfreeze=function(){return this.docs.forEach((t=>{t.forEach((t=>{delete t.frozen}))})),this},t.prototype.isFrozen=function(){return this.match("@isFrozen+")}}}),w.extend(mi),w.plugin(x),w.extend(Qt),w.extend(ji),w.extend(Gt),w.extend(yr),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 963a03055..bf6a31f13 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.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}; +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.11.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 $=function(t){if(t.has("@hasContraction")&&"function"==typeof t.contractions){t.grow("@hasContraction").contractions().expand()}},z=t=>"[object Array]"===Object.prototype.toString.call(t),T=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]||[]:z(t)?z(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 F=V;var q=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=q(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,F,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=/'/,ht=/(e|é|aison|sion|tion)$/,ft=/(age|isme|acle|ege|oire)$/;var pt=(t,e)=>["je",t[e].normal.split(ct)[1]],dt=(t,e)=>{let n=t[e].normal.split(ct)[1];return n&&n.endsWith("e")?["la",n]:["le",n]},mt=(t,e)=>{let n=t[e].normal.split(ct)[1];return n&&ht.test(n)&&!ft.test(n)?["du",n]:n&&n.endsWith("s")?["des",n]:["de",n]};const gt=/^([0-9.]{1,4}[a-z]{0,2}) ?[-–—] ?([0-9]{1,4}[a-z]{0,2})$/i,wt=/^([0-9]{1,2}(:[0-9][0-9])?(am|pm)?) ?[-–—] ?([0-9]{1,2}(:[0-9][0-9])?(am|pm)?)$/i,vt=/^[0-9]{3}-[0-9]{4}$/;var yt=function(t,e){let n=t[e],r=n.text.match(gt);return null!==r?!0===n.tags.has("PhoneNumber")||vt.test(n.text)?null:[r[1],"to",r[2]]:(r=n.text.match(wt),null!==r?[r[1],"to",r[4]]:null)};const bt=/^([+-]?[0-9][.,0-9]*)([a-z°²³µ/]+)$/;var xt=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 jt=/'/,Et=/^[0-9][^-–—]*[-–—].*?[0-9]/,Ot=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]]},kt={t:(t,e)=>ut(t,e),d:(t,e)=>at(t,e)},Pt={j:(t,e)=>pt(t,e),l:(t,e)=>dt(t,e),d:(t,e)=>mt(t,e)},_t=function(t,e,n,r){for(let o=0;o2)return i.out.concat(r)}return null},St=function(t,e){let n=e.fromText(t.join(" "));return n.compute(["id","alias"]),n.docs[0]},At=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 $t=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;if(!0===jt.test(r[l].normal)){let t=r[l].normal.split(jt);a=t[0],u=t[1]}let c=_t(i,r[l],a,u);!c&&kt.hasOwnProperty(u)&&(c=kt[u](r,l,e)),!c&&Pt.hasOwnProperty(a)&&(c=Pt[a](r,l)),"there"===a&&"s"===u&&(c=At(r,l)),c?(c=St(c,t),rt(n,[s,l],c),Ot(n[s],t,l,c.length)):Et.test(r[l].normal)?(c=yt(r,l),c&&(c=St(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"),Ot(n[s],t,l,c.length))):(c=xt(r,l,e),c&&(c=St(c,t),rt(n,[s,l],c),o.one.setTag([c[1]],"Unit",e,null,"contraction-unit")))}}))};var zt={model:nt,compute:{contractions:$t},hooks:["contractions"]};var Tt=function(t,e,n){const{model:r,methods:o}=n,i=o.one.setTag,s=r.one._multiCache||{},{lexicon:l,frozenLex:a}=r.one||{};let u=t[e],c=u.machine||u.normal;if(void 0!==s[c]&&t[e+1]){for(let r=e+s[c]-1;r>e;r-=1){let o=t.slice(e,r+1);if(o.length<=1)return!1;let s=o.map((t=>t.machine||t.normal)).join(" ");if(!0===a.hasOwnProperty(s))return i(o,a[s],n,!1,"1-frozen-multi-lexicon"),o.forEach((t=>t.frozen=!0)),!0;if(!0===l.hasOwnProperty(s)){let t=l[s];return i(o,t,n,!1,"1-multi-lexicon"),!t||2!==t.length||"PhrasalVerb"!==t[0]&&"PhrasalVerb"!==t[1]||i([o[1]],"Particle",n,!1,"1-phrasal-particle"),!0}}return!1}return null};const Ct=/^(under|over|mis|re|un|dis|semi|pre|post)-?/,Nt=new Set(["Verb","Infinitive","PastTense","Gerund","PresentTense","Adjective","Participle"]);var Lt=function(t,e,n){const{model:r,methods:o}=n,i=o.one.setTag,{lexicon:s,frozenLex:l}=r.one;let a=t[e],u=a.machine||a.normal;if(void 0!==l[u]&&l.hasOwnProperty(u))return i([a],l[u],n,!1,"1-freeze-lexicon"),a.frozen=!0,!0;if(void 0!==s[u]&&s.hasOwnProperty(u))return i([a],s[u],n,!1,"1-lexicon"),!0;if(a.alias){let t=a.alias.find((t=>s.hasOwnProperty(t)));if(t)return i([a],s[t],n,!1,"1-lexicon-alias"),!0}if(!0===Ct.test(u)){let t=u.replace(Ct,"");if(s.hasOwnProperty(t)&&t.length>3&&Nt.has(s[t]))return i([a],s[t],n,!1,"1-lexicon-prefix"),!0}return null};var Vt={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&&(void 0===n[i[0]]||i.length>n[i[0]])&&(n[i[0]]=i.length),e[r]=e[r]||o})),delete e[""],delete e.null,delete e[" "],{lex:e,_multi:n}};var qt={addWords:function(t,e=!1){const n=this.world(),{methods:r,model:o}=n;if(!t)return;if(Object.keys(t).forEach((e=>{"string"==typeof t[e]&&t[e].startsWith("#")&&(t[e]=t[e].replace(/^#/,""))})),!0===e){let{lex:e,_multi:i}=r.one.expandLexicon(t,n);return Object.assign(o.one._multiCache,i),void Object.assign(o.one.frozenLex,e)}if(r.two.expandLexicon){let{lex:e,_multi:i}=r.two.expandLexicon(t,n);Object.assign(o.one.lexicon,e),Object.assign(o.one._multiCache,i)}let{lex:i,_multi:s}=r.one.expandLexicon(t,n);Object.assign(o.one.lexicon,i),Object.assign(o.one._multiCache,s)}};var Gt={model:{one:{lexicon:{},_multiCache:{},frozenLex:{}}},methods:{one:{expandLexicon:Ft}},compute:Vt,lib:qt,hooks:["lexicon"]};var Dt=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 Bt=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 Wt=(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 It=function(t){return t.goNext=t.goNext.map((t=>{if(0!==Object.keys(t).length)return t})),t.goNext=Wt(t.goNext,void 0),t.failTo=Wt(t.failTo,0),t.endAs=Wt(t.endAs,null),t};const Rt={buildTrie:function(t){const e=Dt(t,this.world());return It(e)}};Rt.compile=Rt.buildTrie;var Qt={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:Dt(t,this.world));var r;let o=Mt(this,n,e);return o=o.settle(),o}},lib:Rt};const Ht=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},Zt=function(t,e){let{ptrs:n,byGroup:r}=t;return n=Ht(n,e),Object.keys(r).forEach((t=>{r[t]=Ht(r[t],e)})),{ptrs:n,byGroup:r}},Kt=t=>"[object Object]"===Object.prototype.toString.call(t),Jt=t=>t&&Kt(t)&&!0===t.isView,Xt=t=>t&&Kt(t)&&!0===t.isNet,Yt=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 te={matchOne:function(t,e,n){const r=this.methods.one;if(Jt(t))return this.intersection(t).eq(0);if(Xt(t))return this.sweep(t,{tagger:!1,matchOne:!0}).view;let o={regs:t=Yt(t,n,this.world),group:e,justOne:!0},i=r.match(this.docs,o,this._cache),{ptrs:s,byGroup:l}=Zt(i,this.fullPointer),a=this.toView(s);return a._groups=l,a},match:function(t,e,n){const r=this.methods.one;if(Jt(t))return this.intersection(t);if(Xt(t))return this.sweep(t,{tagger:!1}).view.settle();let o={regs:t=Yt(t,n,this.world),group:e},i=r.match(this.docs,o,this._cache),{ptrs:s,byGroup:l}=Zt(i,this.fullPointer),a=this.toView(s);return a._groups=l,a},has:function(t,e,n){const r=this.methods.one;if(Jt(t)){return t.fullPointer.length>0}if(Xt(t))return this.sweep(t,{tagger:!1}).view.found;let o={regs:t=Yt(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(Jt(t))return this.filter((e=>e.intersection(t).found));if(Xt(t)){let e=this.sweep(t,{tagger:!1}).view.settle();return this.if(e)}let o={regs:t=Yt(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(Jt(t))return this.filter((e=>!e.intersection(t).found));if(Xt(t)){let e=this.sweep(t,{tagger:!1}).view.settle();return this.ifNo(e)}t=Yt(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 ee={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 ne=function(t,e){return[t[0],t[1],e[2]]},re=(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},oe=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},ie={splitOn:function(t,e){const{splitAll:n}=this.methods.one.pointer;let r=re(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=>oe(t,this))),this.update(i)},splitBefore:function(t,e){const{splitAll:n}=this.methods.one.pointer;let r=re(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(ne(t.match,t.after)):i.push(t.match)})),i=i.filter((t=>t)),i=i.map((t=>oe(t,this))),this.update(i)},splitAfter:function(t,e){const{splitAll:n}=this.methods.one.pointer;let r=re(t,this,e).fullPointer,o=n(this.fullPointer,r),i=[];return o.forEach((t=>{i.push(t.passthrough),t.before&&t.match?i.push(ne(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=>oe(t,this))),this.update(i)}};ie.split=ie.splitAfter;var se=ie;const le=Object.assign({},te,ee,se);le.lookBehind=le.before,le.lookBefore=le.before,le.lookAhead=le.after,le.lookAfter=le.after,le.notIf=le.ifNo;var ae=function(t){Object.assign(t.prototype,le)};const ue=/(?:^|\s)([![^]*(?:<[^<]*>)?\/.*?[^\\/]\/[?\]+*$~]*)(?:\s|$)/,ce=/([!~[^]*(?:<[^<]*>)?\([^)]+[^\\)]\)[?\]+*$~]*)(?:\s|$)/,he=/ /g,fe=t=>/^[![^]*(<[^<]*>)?\//.test(t)&&/\/[?\]+*$~]*$/.test(t),pe=function(t){return t=(t=t.map((t=>t.trim()))).filter((t=>t))};var de=function(t){let e=t.split(ue),n=[];e.forEach((t=>{fe(t)?n.push(t):n=n.concat(t.split(ce))})),n=pe(n);let r=[];return n.forEach((t=>{(t=>/^[![^]*(<[^<]*>)?\(/.test(t)&&/\)[?\]+*$~]*$/.test(t))(t)||fe(t)?r.push(t):r=r.concat(t.split(he))})),r=pe(r),r};const me=/\{([0-9]+)?(, *[0-9]*)?\}/,ge=/&&/,we=new RegExp(/^<\s*(\S+)\s*>/),ve=t=>t.charAt(0).toUpperCase()+t.substring(1),ye=t=>t.charAt(t.length-1),be=t=>t.charAt(0),xe=t=>t.substring(1),je=t=>t.substring(0,t.length-1),Ee=function(t){return t=xe(t),t=je(t)},Oe=function(t,e){let n={};for(let r=0;r<2;r+=1){if("$"===ye(t)&&(n.end=!0,t=je(t)),"^"===be(t)&&(n.start=!0,t=xe(t)),"?"===ye(t)&&(n.optional=!0,t=je(t)),("["===be(t)||"]"===ye(t))&&(n.group=null,"["===be(t)&&(n.groupStart=!0),"]"===ye(t)&&(n.groupEnd=!0),t=(t=t.replace(/^\[/,"")).replace(/\]$/,""),"<"===be(t))){const e=we.exec(t);e.length>=2&&(n.group=e[1],t=t.replace(e[0],""))}if("+"===ye(t)&&(n.greedy=!0,t=je(t)),"*"!==t&&"*"===ye(t)&&"\\*"!==t&&(n.greedy=!0,t=je(t)),"!"===be(t)&&(n.negative=!0,t=xe(t)),"~"===be(t)&&"~"===ye(t)&&t.length>2&&(t=Ee(t),n.fuzzy=!0,n.min=e.fuzzy||.85,!1===/\(/.test(t)))return n.word=t,n;if("/"===be(t)&&"/"===ye(t))return t=Ee(t),e.caseSensitive&&(n.use="text"),n.regex=new RegExp(t),n;if(!0===me.test(t)&&(t=t.replace(me,((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)&&")"===ye(t)){ge.test(t)?(n.choices=t.split(ge),n.operator="and"):(n.choices=t.split("|"),n.operator="or"),n.choices[0]=xe(n.choices[0]);let r=n.choices.length-1;n.choices[r]=je(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=>Oe(t,e))))),t=""}if("{"===be(t)&&"}"===ye(t)){if(t=Ee(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)&&">"===ye(t))return t=Ee(t),n.chunk=ve(t),n.greedy=!0,n;if("%"===be(t)&&"%"===ye(t))return t=Ee(t),n.switch=t,n}return"#"===be(t)?(n.tag=xe(t),n.tag=ve(n.tag),n):"@"===be(t)?(n.method=xe(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 ke=Oe;const Pe=/[a-z0-9][-–—][a-z]/i;var _e=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&&Pe.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 Se=function(t,e){let{all:n}=e.methods.two.transform.verb||{},r=t.root;return n?n(r,e.model):[]},Ae=function(t,e){let{all:n}=e.methods.two.transform.noun||{};return n?n(t.root,e.model):[t.root]},$e=function(t,e){let{all:n}=e.methods.two.transform.adjective||{};return n?n(t.root,e.model):[t.root]};var ze=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(Se(t,e)):"Noun"===t.pos?n=n.concat(Ae(t,e)):"Adjective"===t.pos&&(n=n.concat($e(t,e))):(n=n.concat(Se(t,e)),n=n.concat(Ae(t,e)),n=n.concat($e(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 Ce=function(t,e,n){if(null==t||""===t)return[];e=e||{},"number"==typeof t&&(t=String(t));let r=de(t);return r=r.map((t=>ke(t,e))),r=_e(r,n),r=ze(r,n),r=Te(r),r};const Ne=function(t,e){for(let n of e)if(t.has(n))return!0;return!1};var Le=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),Ue=(t,e)=>-1!==t.pre.indexOf(e),Me={hasQuote:t=>Fe.test(t.pre)||qe.test(t.post),hasComma:t=>Be(t,","),hasPeriod:t=>!0===Be(t,".")&&!1===Be(t,"..."),hasExclamation:t=>Be(t,"!"),hasQuestionMark:t=>Be(t,"?")||Be(t,"¿"),hasEllipses:t=>Be(t,"..")||Be(t,"…")||Ue(t,"..")||Ue(t,"…"),hasSemicolon:t=>Be(t,";"),hasColon:t=>Be(t,":"),hasSlash:t=>/\//.test(t.text),hasHyphen:t=>Ge.test(t.post)||Ge.test(t.pre),hasDash:t=>De.test(t.post)||De.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)};Me.hasQuotation=Me.hasQuote;var We=Me;let Ie=function(){};Ie=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(Ve(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 We[e.method]&&!0===We[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=>Ie(t,e,n,r))):e.choices.some((e=>Ie(t,e,n,r))))}(t,e,n,r);return!0===e.negative?!o:o};var Re=Ie;const Qe=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){He(t,t.t).length=r-t.t}return t.t=r,!0};const Ke=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=Re(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]&&Re(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){He(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 Ye=function(t,e,n){let r=0;for(let o=t.t;or)&&(t.t+=r,!0))};var tn=function(t){const{regs:e}=t;let n=e[t.r],r=Object.assign({},n);if(r.negative=!1,Re(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(Re(t.terms[t.t],n,t.start_i+t.t,t.phrase_length))t.r+=1;else if(n.optional&&e[t.r+2]){Re(t.terms[t.t],e[t.r+2],t.start_i+t.t,t.phrase_length)&&(t.r+=2)}}}return n.greedy?Ye(t,r,e[t.r+1]):(t.t+=1,!0)};var en=function(t){const{regs:e}=t;let n=e[t.r],r=t.terms[t.t],o=Re(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&&Re(n,e[t.r+1],t.start_i+t.t,t.phrase_length)||(t.r+=1)}};var nn=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 rn=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 on=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]&&en(t),r.implicit&&t.terms[t.t+1]&&rn(t),t.t+=1,!0===n.end&&t.t!==t.terms.length&&!0!==n.greedy)return null;if(!0===n.greedy){if(!nn(t))return null}return!0===t.hasGroup&&function(t,e){let n=t.regs[t.r];const r=He(t,e);t.t>1&&n.greedy?r.length+=t.t-e:r.length++}(t,o),!0};var sn=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!==Qe(t,o))if(t.negative){if(!tn(o))return null}else if(!0!==Re(o.terms[o.t],t,o.start_i+o.t,o.phrase_length)){if(!0!==t.optional)return null}else{if(!on(o))return null}else{if(!on(o))return null}else{if(t.negative&&t.anything)return null;if(!on(o))return null}else{if(!Xe(o))return null}else{if(!Je(o))return null}else{if(!Ze(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 ln=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 an=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},cn=function(t,e,n){let r=sn(t,e,0,t.length);return r?(r=un(r,n),r):null};var hn=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=cn(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=an(s,e.notIf,t)),s=ln(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 fn={api:ae,methods:{one:{termMethods:We,parseMatch:Ce,match:hn}},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 pn=/^\../,dn=/^#./,mn=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,"'"),pn.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 gn={html:function(t){let{starts:e,ends:n}=mn(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(vn,""),bn.test(o)&&(o=" "),o=o.replace(yn,""),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(vn,""),o="-"===o?" ":o.replace(wn,""));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&&xn.test(o)||(o+=" "),r+=n+i+o})),!1===n&&(r=r.trim()),!0===e.lowerCase&&(r=r.toLowerCase()),r},En={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"}};En.clean=En.normal,En.reduced=En.root;var On=En;let kn=[],Pn=0;for(;Pn<64;)kn[Pn]=0|4294967296*Math.sin(++Pn%Math.PI);function _n(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(Pn=s=0;Pn>4]+kn[s]+~~i[Pn|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 Sn={text:!0,terms:!0};let An={case:"none",unicode:"some",form:"machine",punctuation:"some"};const $n=function(t,e){return Object.assign({},t,e)},zn={text:t=>jn(t,{keepPunct:!0},!1),normal:t=>jn(t,$n(On.normal,{keepPunct:!0}),!1),implicit:t=>jn(t,$n(On.implicit,{keepPunct:!0}),!1),machine:t=>jn(t,An,!1),root:t=>jn(t,$n(An,{form:"root"}),!1),hash:t=>_n(jn(t,{keepPunct:!0},!1)),offset:t=>{let e=zn.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))};zn.sentences=zn.sentence,zn.clean=zn.normal,zn.reduced=zn.root;const Tn={json:function(t){let e=(n=this,"string"==typeof(r=(r=t)||{})&&(r={}),(r=Object.assign({},Sn,r)).offset&&n.compute("offset"),n.docs.map(((t,e)=>{let o={};return Object.keys(r).forEach((i=>{r[i]&&zn[i]&&(o[i]=zn[i](t,n,e))})),o})));var n,r;return"number"==typeof t?e[t]:e}};Tn.data=Tn.json;var Cn=Tn;var Nn=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 Ln="";var Vn={green:t=>""+t+Ln,red:t=>""+t+Ln,blue:t=>""+t+Ln,magenta:t=>""+t+Ln,cyan:t=>""+t+Ln,yellow:t=>""+t+Ln,black:t=>""+t+Ln,dim:t=>""+t+Ln,i:t=>""+t+Ln};var Fn=function(t){let{docs:e,model:n}=t;0===e.length&&console.log(Vn.blue("\n ──────")),e.forEach((e=>{console.log(Vn.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=Vn.yellow(o);let i="'"+o+"'";if(e.reference){let n=t.update([e.reference]).text("normal");i+=` - ${Vn.dim(Vn.i("["+n+"]"))}`}i=i.padEnd(18);let s=Vn.blue(" │ ")+Vn.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 Vn[n](t)}))),t.join(", ")}(r,n);console.log(s)}))}))};var qn=function(t){let{docs:e}=t;console.log(""),e.forEach((t=>{let e=[];t.forEach((t=>{"Noun"===t.chunk?e.push(Vn.blue(t.implicit||t.normal)):"Verb"===t.chunk?e.push(Vn.green(t.implicit||t.normal)):"Adjective"===t.chunk?e.push(Vn.yellow(t.implicit||t.normal)):"Pivot"===t.chunk?e.push(Vn.red(t.implicit||t.normal)):e.push(t.implicit||t.normal)})),console.log(e.join(" "),"\n")}))};var Gn=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]}${Vn.blue(r[1])}${r[2]}`}(r,t.offset,e)})),console.log(r)}))};var Dn=function(t={}){let e=this;if("string"==typeof t){let e={};e[t]=!0,t=e}return"undefined"!=typeof window&&window.document?(Nn(e),e):(!1!==t.tags&&(Fn(e),console.log("\n")),!0===t.chunks&&(qn(e),console.log("\n")),!0===t.highlight&&(Gn(e),console.log("\n")),e)};const Bn=function(t){let e=t.pre||"",n=t.post||"";return e+t.text+n};var Un=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 Un(this,t)}};var Wn=Mn;var In={text:function(t){let e={};var n;if(t&&"string"==typeof t&&On.hasOwnProperty(t)?e=Object.assign({},On[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},Kn=function(t){let e={};return t.forEach((t=>{e[t[0]]=e[t[0]]||[],e[t[0]].push(t)})),e};var Jn=function(t,e){let n=Kn(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 Xn=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 Yn={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=>Zn(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 nr=function(t,e){let n=Kn(e),r=[];return t.forEach((t=>{let e=n[t[0]]||[];e=e.filter((e=>Zn(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},or=function(t,e){return t.map((t=>{let[n,r]=t;return e[n]&&e[n][r]&&(t[3]=e[n][r].id),t}))},ir={union:function(t){t=rr(t,this);let e=tr(this.fullPointer,t.fullPointer);return e=or(e,this.document),this.toView(e)}};ir.and=ir.union,ir.intersection=function(t){t=rr(t,this);let e=nr(this.fullPointer,t.fullPointer);return e=or(e,this.document),this.toView(e)},ir.not=function(t){t=rr(t,this);let e=er(this.fullPointer,t.fullPointer);return e=or(e,this.document),this.toView(e)},ir.difference=ir.not,ir.complement=function(){let t=this.all(),e=er(t.fullPointer,this.fullPointer);return e=or(e,this.document),this.toView(e)},ir.settle=function(){let t=this.fullPointer;return t.forEach((e=>{t=tr(t,[e])})),t=or(t,this.document),this.update(t)};var sr=function(t){Object.assign(t.prototype,ir)},lr={methods:Yn,api:sr};var ar=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 ur=function(t){return!0===t.optional||!0===t.negative?null:t.tag?"#"+t.tag:t.word?t.word:t.switch?`%${t.switch}%`:null};var cr=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(ur(t)),"and"===t.operator&&t.choices&&t.choices.forEach((t=>{t.forEach((t=>{e.push(ur(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=ur(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 hr=function(t,e){t=cr(t,e);let n={};t.forEach((t=>{t.needs.forEach((e=>{n[e]=Array.isArray(n[e])?n[e]:[],n[e].push(t)})),t.wants.forEach((e=>{n[e]=Array.isArray(n[e])?n[e]:[],n[e].push(t)}))})),Object.keys(n).forEach((t=>{let e={};n[t]=n[t].filter((t=>"boolean"!=typeof 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 fr=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=>"boolean"!=typeof i[t.match]&&(i[t.match]=!0,!0))),o}))};var pr=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 dr=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 mr=function(t,e,n,r={}){let o=n.one.cacheDoc(t),i=fr(o,e.hooks);return i=pr(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),dr(i,t,o,n,r)};var gr=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===gr(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))}))},vr={lib:{buildNet:function(t){let e=this.methods().one.buildNet(t,this.world());return e.isNet=!0,e}},api:ar,methods:{one:{buildNet:hr,bulkMatch:mr,bulkTagger:wr}}};const yr=/ /,br=function(t,e){"Noun"===e&&(t.chunk=e),"Verb"===e&&(t.chunk=e)},xr=function(t,e,n,r){if(!0===t.tags.has(e))return null;if("."===e)return null;!0===t.frozen&&(r=!0);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(),yr.test(e))!function(t,e,n,r){let o=e.split(yr);t.forEach(((t,e)=>{let i=o[e];i&&(i=i.replace(/^#/,""),xr(t,i,n,r))}))}(t,e,i,r);else{e=e.replace(/^#/,"");for(let n=0;njr(t,e,n,r)))};var Er=jr;var Or=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=>Pr({id:t}))),e}return[Pr({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),zr=t=>(t=t||"").trim(),Tr=function(t=[]){return"string"==typeof t?function(t){let e=t.split(/\r?\n/),n=[];e.forEach((t=>{if(!t.trim()||_r.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:Sr(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=Pr({});return t.forEach((t=>{if((t=Pr(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):(Ar(e=t).forEach(Pr),e);var e},Cr=function(t,e){let n="-> ";e&&(n=(t=>""+t+"")("→ "));let r="";return Ar(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},Nr=function(t){let e=Ar(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},Lr={text:Cr,txt:Cr,array:Nr,flat:Nr},Vr=function(t,e){return"nested"===e||"json"===e?t:"debug"===e?(console.log(Cr(t,!0)),null):Lr.hasOwnProperty(e)?Lr[e](t):t},Fr=t=>{Ar(t,((t,e)=>{t.id&&(t._cache.parents=t._cache.parents||[],e._cache.parents=t._cache.parents.concat([t.id]))}))},qr=/\//;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=zr(t),!qr.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)||Pr({});return new g(e)}add(t,e={}){if($r(t))return t.forEach((t=>this.add(zr(t),e))),this;t=zr(t);let n=Pr({id:t,props:e});return this.json.children.push(n),new g(n)}remove(t){return t=zr(t),this.json.children=this.json.children.filter((e=>e.id!==t)),this}nodes(){return Ar(this.json).map((t=>(delete(t=Object.assign({},t)).children,t)))}cache(){return(t=>{let e=Ar(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 Ar(this.json)}fillDown(){var t;return t=this.json,Ar(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(){Fr(this.json);let t=Ar(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 Fr(this.json),Vr(this.json,t)}debug(){return Fr(this.json),Vr(this.json,"debug"),this}}const Gr=function(t){let e=Tr(t);return new g(e)};Gr.prototype.plugin=function(t){t(this)};var Dr={Noun:"blue",Verb:"green",Negative:"green",Date:"red",Value:"red",Adjective:"magenta",Preposition:"cyan",Conjunction:"cyan",Determiner:"cyan",Hyphenated:"cyan",Adverb:"cyan"};const Br=function(t){if(Dr.hasOwnProperty(t.id))return Dr[t.id];if(Dr.hasOwnProperty(t.is))return Dr[t.is];let e=t._cache.parents.find((t=>Dr[t]));return Dr[e]};var Ur=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:Br(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 Mr=function(t){return t?"string"==typeof t?[t]:t:[]};var Wr=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=Mr(t[e].children),t[e].not=Mr(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 Ir=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=Wr(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 Gr(e).cache().fillDown().out("array")}(Object.assign({},e,t));return Ur(n)},Rr={one:{setTag:Er,unTag:Or,addTags:Ir,canBe:kr}};const Qr=function(t){return"[object Array]"===Object.prototype.toString.call(t)},Hr={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||""),Qr(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 Qr(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,n=this.methods.one.canBe,r=[];this.document.forEach(((o,i)=>{o.forEach(((o,s)=>{n(o,t,e)||r.push([i,s,s+1])}))}));let o=this.update(r);return this.difference(o)}};var Zr=Hr;var Kr=function(t){Object.assign(t.prototype,Zr)};var Jr={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 Xr=new Set(["Auxiliary","Possessive"]);var Yr=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(Xr.has(t)||!e.hasOwnProperty(n))return 1;if(Xr.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)}))}))},to={model:{one:{tagSet:{}}},compute:{tagRank:Yr},methods:Rr,api:Kr,lib:Jr};const eo=/([.!?\u203D\u2E18\u203C\u2047-\u2049\u3002]+\s)/g,no=/^[.!?\u203D\u2E18\u203C\u2047-\u2049\u3002]+\s$/,ro=/((?:\r?\n|\r)+)/;var oo=function(t){let e=[],n=t.split(ro);for(let t=0;t0&&(o.push(i),t[e]="")}return o};const uo={'"':'"',""":""","“":"”","‟":"”","„":"”","⹂":"”","‚":"’","«":"»","‹":"›","‵":"′","‶":"″","‷":"‴","〝":"〞","〟":"〞"},co=RegExp("["+Object.keys(uo).join("")+"]","g"),ho=RegExp("["+Object.values(uo).join("")+"]","g"),fo=function(t){if(!t)return!1;let e=t.match(ho);return null!==e&&1===e.length};var po=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(So);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=ko(n),n=Eo(n),n=n.filter((t=>t)),n};const zo=/\p{Letter}/u,To=/[\p{Number}\p{Currency_Symbol}]/u,Co=/^[a-z]\.([a-z]\.)+/i,No=/[sn]['’]$/;var Lo=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 Vo=(t,e)=>{let{str:n,pre:r,post:o}=Lo(t,e);return{text:n,pre:r,post:o,tags:new Set}};var Fo=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 qo=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 Go=/([A-Z]\.)+[A-Z]?,?$/,Do=/^[A-Z]\.,?$/,Bo=/[A-Z]{2,}('s|,)?$/,Uo=/([a-z]\.)+[a-z]\.?$/;var Mo=function(t){return function(t){return!0===Go.test(t)||!0===Uo.test(t)||!0===Do.test(t)||!0===Bo.test(t)}(t)&&(t=t.replace(/\./g,"")),t};var Wo=function(t,e){const n=e.methods.one.killUnicode;let r=t.text||"";r=qo(r),r=n(r,e),r=Mo(r),t.normal=r};var Io=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=>{Wo(t,e)})),n})),t};const Ro=/[ .][A-Z]\.? *$/i,Qo=/(?:\u2026|\.{2,}) *$/,Ho=/\p{L}/u,Zo=/\. *$/,Ko=/^[A-Z]\. $/;var Jo={one:{killUnicode:Fo,tokenize:{splitSentences:bo,isSentence:function(t,e){if(!1===Ho.test(t))return!1;if(!0===Ro.test(t))return!1;if(3===t.length&&Ko.test(t))return!1;if(!0===Qo.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!==Zo.test(t)},splitTerms:$o,splitWhitespace:Vo,fromString:Io}}};var Xo={"&":"and","@":"at","%":"percent",plz:"please",bein:"being"};let Yo={},ti={};[[["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=>{Yo[e]=!0,ti[e]="Abbreviation",void 0!==t[1]&&(ti[e]=[ti[e],t[1]])}))}));var ei=["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 ni={"!":"¡","?":"¿Ɂ",'"':'“”"❝❞',"'":"‘‛❛❜’","-":"—–",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:"ŹźŻżŽžƵƶȤȥɀΖ"},ri={};Object.keys(ni).forEach((function(t){ni[t].split("").forEach((function(e){ri[e]=t}))}));const oi=/\//,ii=/[a-z]\.[a-z]/i,si=/[0-9]/;var li=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])),oi.test(n)&&!ii.test(n)&&!si.test(n)){let e=n.split(oi);e.length<=2&&e.forEach((e=>{""!==(e=e.trim())&&(t.alias=t.alias||[],t.alias.push(e))}))}return t};const ai=/^\p{Letter}+-\p{Letter}+$/u;var ui=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"),ai.test(e)&&(e=e.replace(/-/g,"")),e=e.replace(/^[#@]/,""),e!==t.normal&&(t.machine=e)};var ci=function(t){let e=t.docs,n={};for(let t=0;tdi(t,li),machine:t=>di(t,ui),normal:t=>di(t,Wo),freq:ci,offset:hi,index:fi,wordCount:pi},methods:Jo,model:{one:{aliases:Xo,abbreviations:Yo,prefixes:ei,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:ti,unicode:ri,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 bi={safe:!0,min:3};var xi={typeahead:function(t=[],e={}){let n=this.model();var r;e=Object.assign({},bi,e),r=t,"[object Object]"===Object.prototype.toString.call(r)&&(Object.assign(n.one.lexicon,t),t=Object.keys(t));let o=yi(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 ji={model:{one:{typeahead:{}}},api:vi,lib:xi,compute:gi,hooks:["typeahead"]};w.extend(tt),w.extend(Hn),w.extend(fn),w.extend(lr),w.extend(to),w.plugin(zt),w.extend({mutate:t=>{t.methods.one.termMethods.isFrozen=t=>!0===t.frozen},api:function(t){t.prototype.freeze=function(){return this.docs.forEach((t=>{t.forEach((t=>{t.frozen=!0}))})),this},t.prototype.unfreeze=function(){return this.docs.forEach((t=>{t.forEach((t=>{delete t.frozen}))})),this},t.prototype.isFrozen=function(){return this.match("@isFrozen+")}}}),w.extend(mi),w.plugin(x),w.extend(Qt),w.extend(ji),w.extend(Gt),w.extend(vr);export{w as default}; diff --git a/builds/three/compromise-three.cjs b/builds/three/compromise-three.cjs index 586b1d7b7..a544fa8be 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.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(); +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.11.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},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 D=function(e){e.has("@hasContraction")&&"function"==typeof e.contractions&&e.grow("@hasContraction").contractions().expand()},H=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]||[]:H(e)?H(e[0])?e[0]:e:[]}(e,a);0!==d.length&&(d=function(e){return e.map((e=>(e.id=T(e),e)))}(d),n?(D(t.update([u]).firstTerm()),j(h,u,d,r)):(D(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 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 B=S;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 K=M,L={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 J=new Set(["index","sequence","seq","sequential","chron","chronological"]),W=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 J.has(e)&&(e="sequential"),q.has(e)&&(e="alpha"),W.has(e)?(a=L.byFreq(a),this.update(a.map((e=>e.pointer)))):"function"==typeof L[e]?(a=a.sort(L[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 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}},O,z,B,K,U,R,_);var X=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=[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=/'/,he=/(e|é|aison|sion|tion)$/,de=/(age|isme|acle|ege|oire)$/;var ge=(e,t)=>["je",e[t].normal.split(ce)[1]],me=(e,t)=>{let n=e[t].normal.split(ce)[1];return n&&n.endsWith("e")?["la",n]:["le",n]},pe=(e,t)=>{let n=e[t].normal.split(ce)[1];return n&&he.test(n)&&!de.test(n)?["du",n]:n&&n.endsWith("s")?["des",n]:["de",n]};const fe=/^([0-9.]{1,4}[a-z]{0,2}) ?[-–—] ?([0-9]{1,4}[a-z]{0,2})$/i,ve=/^([0-9]{1,2}(:[0-9][0-9])?(am|pm)?) ?[-–—] ?([0-9]{1,2}(:[0-9][0-9])?(am|pm)?)$/i,be=/^[0-9]{3}-[0-9]{4}$/;var ye=function(e,t){let n=e[t],r=n.text.match(fe);return null!==r?!0===n.tags.has("PhoneNumber")||be.test(n.text)?null:[r[1],"to",r[2]]:(r=n.text.match(ve),null!==r?[r[1],"to",r[4]]:null)};const we=/^([+-]?[0-9][.,0-9]*)([a-z°²³µ/]+)$/;var ke=function(e,t,n){const r=n.model.one.numberSuffixes||{};let a=e[t].text.match(we);if(null!==a){let e=a[2].toLowerCase().trim();return r.hasOwnProperty(e)?null:[a[1],e]}return null};const Pe=/'/,Ae=/^[0-9][^-–—]*[-–—].*?[0-9]/,Ce=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]]},Ne={t:(e,t)=>ue(e,t),d:(e,t)=>le(e,t)},je={j:(e,t)=>ge(e,t),l:(e,t)=>me(e,t),d:(e,t)=>pe(e,t)},xe=function(e,t,n,r){for(let a=0;a2)return o.out.concat(r)}return null},Ie=function(e,t){let n=t.fromText(e.join(" "));return n.compute(["id","alias"]),n.docs[0]},Te=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 De=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;if(!0===Pe.test(r[s].normal)){let e=r[s].normal.split(Pe);l=e[0],u=e[1]}let c=xe(o,r[s],l,u);!c&&Ne.hasOwnProperty(u)&&(c=Ne[u](r,s,t)),!c&&je.hasOwnProperty(l)&&(c=je[l](r,s)),"there"===l&&"s"===u&&(c=Te(r,s)),c?(c=Ie(c,e),re(n,[i,s],c),Ce(n[i],e,s,c.length)):Ae.test(r[s].normal)?(c=ye(r,s),c&&(c=Ie(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"),Ce(n[i],e,s,c.length))):(c=ke(r,s,t),c&&(c=Ie(c,e),re(n,[i,s],c),a.one.setTag([c[1]],"Unit",t,null,"contraction-unit")))}}))},He={model:ne,compute:{contractions:De},hooks:["contractions"]},Ge=function(e,t,n){const{model:r,methods:a}=n,o=a.one.setTag,i=r.one._multiCache||{},{lexicon:s,frozenLex:l}=r.one||{};let u=e[t],c=u.machine||u.normal;if(void 0!==i[c]&&e[t+1]){for(let r=t+i[c]-1;r>t;r-=1){let a=e.slice(t,r+1);if(a.length<=1)return!1;let i=a.map((e=>e.machine||e.normal)).join(" ");if(!0===l.hasOwnProperty(i))return o(a,l[i],n,!1,"1-frozen-multi-lexicon"),a.forEach((e=>e.frozen=!0)),!0;if(!0===s.hasOwnProperty(i)){let e=s[i];return o(a,e,n,!1,"1-multi-lexicon"),!e||2!==e.length||"PhrasalVerb"!==e[0]&&"PhrasalVerb"!==e[1]||o([a[1]],"Particle",n,!1,"1-phrasal-particle"),!0}}return!1}return null};const Ee=/^(under|over|mis|re|un|dis|semi|pre|post)-?/,Oe=new Set(["Verb","Infinitive","PastTense","Gerund","PresentTense","Adjective","Participle"]);var Fe=function(e,t,n){const{model:r,methods:a}=n,o=a.one.setTag,{lexicon:i,frozenLex:s}=r.one;let l=e[t],u=l.machine||l.normal;if(void 0!==s[u]&&s.hasOwnProperty(u))return o([l],s[u],n,!1,"1-freeze-lexicon"),l.frozen=!0,!0;if(void 0!==i[u]&&i.hasOwnProperty(u))return o([l],i[u],n,!1,"1-lexicon"),!0;if(l.alias){let e=l.alias.find((e=>i.hasOwnProperty(e)));if(e)return o([l],i[e],n,!1,"1-lexicon-alias"),!0}if(!0===Ee.test(u)){let e=u.replace(Ee,"");if(i.hasOwnProperty(e)&&e.length>3&&Oe.has(i[e]))return o([l],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&&(void 0===n[o[0]]||o.length>n[o[0]])&&(n[o[0]]=o.length),t[r]=t[r]||a})),delete t[""],delete t.null,delete t[" "],{lex:t,_multi:n}},$e={addWords:function(e,t=!1){const n=this.world(),{methods:r,model:a}=n;if(!e)return;if(Object.keys(e).forEach((t=>{"string"==typeof e[t]&&e[t].startsWith("#")&&(e[t]=e[t].replace(/^#/,""))})),!0===t){let{lex:t,_multi:o}=r.one.expandLexicon(e,n);return Object.assign(a.one._multiCache,o),void Object.assign(a.one.frozenLex,t)}if(r.two.expandLexicon){let{lex:t,_multi:o}=r.two.expandLexicon(e,n);Object.assign(a.one.lexicon,t),Object.assign(a.one._multiCache,o)}let{lex:o,_multi:i}=r.one.expandLexicon(e,n);Object.assign(a.one.lexicon,o),Object.assign(a.one._multiCache,i)}},Se={model:{one:{lexicon:{},_multiCache:{},frozenLex:{}}},methods:{one:{expandLexicon:ze}},compute:Ve,lib:$e,hooks:["lexicon"]},Be=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 Me=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 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 We=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 qe={buildTrie:function(e){const t=Be(e,this.world());return We(t)}};qe.compile=qe.buildTrie;var Ue={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:Be(e,this.world));var r;let a=Le(this,n,t);return a=a.settle(),a}},lib:qe};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},Re=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}},_e=e=>"[object Object]"===Object.prototype.toString.call(e),Ze=e=>e&&_e(e)&&!0===e.isView,Xe=e=>e&&_e(e)&&!0===e.isNet,Ye=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 et={matchOne:function(e,t,n){const r=this.methods.one;if(Ze(e))return this.intersection(e).eq(0);if(Xe(e))return this.sweep(e,{tagger:!1,matchOne:!0}).view;let a={regs:e=Ye(e,n,this.world),group:t,justOne:!0},o=r.match(this.docs,a,this._cache),{ptrs:i,byGroup:s}=Re(o,this.fullPointer),l=this.toView(i);return l._groups=s,l},match:function(e,t,n){const r=this.methods.one;if(Ze(e))return this.intersection(e);if(Xe(e))return this.sweep(e,{tagger:!1}).view.settle();let a={regs:e=Ye(e,n,this.world),group:t},o=r.match(this.docs,a,this._cache),{ptrs:i,byGroup:s}=Re(o,this.fullPointer),l=this.toView(i);return l._groups=s,l},has:function(e,t,n){const r=this.methods.one;if(Ze(e))return e.fullPointer.length>0;if(Xe(e))return this.sweep(e,{tagger:!1}).view.found;let a={regs:e=Ye(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(Ze(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 a={regs:e=Ye(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(Ze(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=Ye(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}},tt={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 nt=function(e,t){return[e[0],e[1],t[2]]},rt=(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},at=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},ot={splitOn:function(e,t){const{splitAll:n}=this.methods.one.pointer;let r=rt(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=>at(e,this))),this.update(o)},splitBefore:function(e,t){const{splitAll:n}=this.methods.one.pointer;let r=rt(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(nt(e.match,e.after)):o.push(e.match)})),o=o.filter((e=>e)),o=o.map((e=>at(e,this))),this.update(o)},splitAfter:function(e,t){const{splitAll:n}=this.methods.one.pointer;let r=rt(e,this,t).fullPointer,a=n(this.fullPointer,r),o=[];return a.forEach((e=>{o.push(e.passthrough),e.before&&e.match?o.push(nt(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=>at(e,this))),this.update(o)}};ot.split=ot.splitAfter;var it=ot;const st=Object.assign({},et,tt,it);st.lookBehind=st.before,st.lookBefore=st.before,st.lookAhead=st.after,st.lookAfter=st.after,st.notIf=st.ifNo;var lt=function(e){Object.assign(e.prototype,st)};const ut=/(?:^|\s)([![^]*(?:<[^<]*>)?\/.*?[^\\/]\/[?\]+*$~]*)(?:\s|$)/,ct=/([!~[^]*(?:<[^<]*>)?\([^)]+[^\\)]\)[?\]+*$~]*)(?:\s|$)/,ht=/ /g,dt=e=>/^[![^]*(<[^<]*>)?\//.test(e)&&/\/[?\]+*$~]*$/.test(e),gt=function(e){return e=(e=e.map((e=>e.trim()))).filter((e=>e))};var mt=function(e){let t=e.split(ut),n=[];t.forEach((e=>{dt(e)?n.push(e):n=n.concat(e.split(ct))})),n=gt(n);let r=[];return n.forEach((e=>{(e=>/^[![^]*(<[^<]*>)?\(/.test(e)&&/\)[?\]+*$~]*$/.test(e))(e)||dt(e)?r.push(e):r=r.concat(e.split(ht))})),r=gt(r),r};const pt=/\{([0-9]+)?(, *[0-9]*)?\}/,ft=/&&/,vt=new RegExp(/^<\s*(\S+)\s*>/),bt=e=>e.charAt(0).toUpperCase()+e.substring(1),yt=e=>e.charAt(e.length-1),wt=e=>e.charAt(0),kt=e=>e.substring(1),Pt=e=>e.substring(0,e.length-1),At=function(e){return e=kt(e),e=Pt(e)},Ct=function(e,t){let n={};for(let r=0;r<2;r+=1){if("$"===yt(e)&&(n.end=!0,e=Pt(e)),"^"===wt(e)&&(n.start=!0,e=kt(e)),"?"===yt(e)&&(n.optional=!0,e=Pt(e)),("["===wt(e)||"]"===yt(e))&&(n.group=null,"["===wt(e)&&(n.groupStart=!0),"]"===yt(e)&&(n.groupEnd=!0),e=(e=e.replace(/^\[/,"")).replace(/\]$/,""),"<"===wt(e))){const t=vt.exec(e);t.length>=2&&(n.group=t[1],e=e.replace(t[0],""))}if("+"===yt(e)&&(n.greedy=!0,e=Pt(e)),"*"!==e&&"*"===yt(e)&&"\\*"!==e&&(n.greedy=!0,e=Pt(e)),"!"===wt(e)&&(n.negative=!0,e=kt(e)),"~"===wt(e)&&"~"===yt(e)&&e.length>2&&(e=At(e),n.fuzzy=!0,n.min=t.fuzzy||.85,!1===/\(/.test(e)))return n.word=e,n;if("/"===wt(e)&&"/"===yt(e))return e=At(e),t.caseSensitive&&(n.use="text"),n.regex=new RegExp(e),n;if(!0===pt.test(e)&&(e=e.replace(pt,((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),"")))),"("===wt(e)&&")"===yt(e)){ft.test(e)?(n.choices=e.split(ft),n.operator="and"):(n.choices=e.split("|"),n.operator="or"),n.choices[0]=kt(n.choices[0]);let r=n.choices.length-1;n.choices[r]=Pt(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=>Ct(e,t))))),e=""}if("{"===wt(e)&&"}"===yt(e)){if(e=At(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("<"===wt(e)&&">"===yt(e))return e=At(e),n.chunk=bt(e),n.greedy=!0,n;if("%"===wt(e)&&"%"===yt(e))return e=At(e),n.switch=e,n}return"#"===wt(e)?(n.tag=kt(e),n.tag=bt(n.tag),n):"@"===wt(e)?(n.method=kt(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 Nt=Ct;const jt=/[a-z0-9][-–—][a-z]/i;var xt=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&&jt.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 It=function(e,t){let{all:n}=t.methods.two.transform.verb||{},r=e.root;return n?n(r,t.model):[]},Tt=function(e,t){let{all:n}=t.methods.two.transform.noun||{};return n?n(e.root,t.model):[e.root]},Dt=function(e,t){let{all:n}=t.methods.two.transform.adjective||{};return n?n(e.root,t.model):[e.root]};var Ht=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(It(e,t)):"Noun"===e.pos?n=n.concat(Tt(e,t)):"Adjective"===e.pos&&(n=n.concat(Dt(e,t))):(n=n.concat(It(e,t)),n=n.concat(Tt(e,t)),n=n.concat(Dt(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 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},Et=function(e,t,n){if(null==e||""===e)return[];t=t||{},"number"==typeof e&&(e=String(e));let r=mt(e);return r=r.map((e=>Nt(e,t))),r=xt(r,n),r=Ht(r,n),r=Gt(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),Kt=(e,t)=>-1!==e.pre.indexOf(t),Lt={hasQuote:e=>zt.test(e.pre)||$t.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,"…")||Kt(e,"..")||Kt(e,"…"),hasSemicolon:e=>Mt(e,";"),hasColon:e=>Mt(e,":"),hasSlash:e=>/\//.test(e.text),hasHyphen:e=>St.test(e.post)||St.test(e.pre),hasDash:e=>Bt.test(e.post)||Bt.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)};Lt.hasQuotation=Lt.hasQuote;var Jt=Lt;let Wt=function(){};Wt=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 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=>Wt(e,t,n,r))):t.choices.some((t=>Wt(e,t,n,r))))}(e,t,n,r);return!0===t.negative?!a:a};var qt=Wt;const Ut=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 _t=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=qt(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]&&qt(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},Yt=function(e,t,n){let r=0;for(let a=e.t;ar||(e.t+=r,0))},en=function(e){const{regs:t}=e;let n=t[e.r],r=Object.assign({},n);if(r.negative=!1,qt(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&&(qt(e.terms[e.t],n,e.start_i+e.t,e.phrase_length)?e.r+=1:n.optional&&t[e.r+2]&&qt(e.terms[e.t],t[e.r+2],e.start_i+e.t,e.phrase_length)&&(e.r+=2))}return n.greedy?Yt(e,r,t[e.r+1]):(e.t+=1,!0)},tn=function(e){const{regs:t}=e;let n=t[e.r],r=e.terms[e.t],a=qt(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&&qt(n,t[e.r+1],e.start_i+e.t,e.phrase_length)||(e.r+=1)}},nn=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},rn=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)}},an=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]&&tn(e),r.implicit&&e.terms[e.t+1]&&rn(e),e.t+=1,!0===n.end&&e.t!==e.terms.length&&!0!==n.greedy?null:!0!==n.greedy||nn(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)},on=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!==Ut(e,a)){if(e.negative){if(!en(a))return null}else if(!0!==qt(a.terms[a.t],e,a.start_i+a.t,a.phrase_length)){if(!0!==e.optional)return null}else if(!an(a))return null}else if(!an(a))return null}else{if(e.negative&&e.anything)return null;if(!an(a))return null}else if(!Xt(a))return null}else if(!Zt(a))return null}else if(!Rt(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}},sn=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}},ln=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},cn=function(e,t,n){let r=on(e,t,0,e.length);return r?(r=un(r,n),r):null};var hn=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=cn(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=ln(i,t.notIf,e)),i=sn(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},dn={api:lt,methods:{one:{termMethods:Jt,parseMatch:Et,match:hn}},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 gn=/^\../,mn=/^#./,pn=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,"'"),gn.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 fn={html:function(e){let{starts:t,ends:n}=pn(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(bn,""),wn.test(a)&&(a=" "),a=a.replace(yn,""),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(bn,""),a="-"===a?" ":a.replace(vn,""));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&&kn.test(a)||(a+=" "),r+=n+o+a})),!1===n&&(r=r.trim()),!0===t.lowerCase&&(r=r.toLowerCase()),r},An={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"}};An.clean=An.normal,An.reduced=An.root;var Cn=An;let Nn=[],jn=0;for(;jn<64;)Nn[jn]=0|4294967296*Math.sin(++jn%Math.PI);function xn(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(jn=i=0;jn>4]+Nn[i]+~~o[jn|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 In={text:!0,terms:!0};let Tn={case:"none",unicode:"some",form:"machine",punctuation:"some"};const Dn=function(e,t){return Object.assign({},e,t)},Hn={text:e=>Pn(e,{keepPunct:!0},!1),normal:e=>Pn(e,Dn(Cn.normal,{keepPunct:!0}),!1),implicit:e=>Pn(e,Dn(Cn.implicit,{keepPunct:!0}),!1),machine:e=>Pn(e,Tn,!1),root:e=>Pn(e,Dn(Tn,{form:"root"}),!1),hash:e=>xn(Pn(e,{keepPunct:!0},!1)),offset:e=>{let t=Hn.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))};Hn.sentences=Hn.sentence,Hn.clean=Hn.normal,Hn.reduced=Hn.root;const Gn={json:function(e){let t=(n=this,"string"==typeof(r=(r=e)||{})&&(r={}),(r=Object.assign({},In,r)).offset&&n.compute("offset"),n.docs.map(((e,t)=>{let a={};return Object.keys(r).forEach((o=>{r[o]&&Hn[o]&&(a[o]=Hn[o](e,n,t))})),a})));var n,r;return"number"==typeof e?t[e]:t}};Gn.data=Gn.json;var En=Gn,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},zn=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)}))}))},$n=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")}))},Sn=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)}))},Bn=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&&(zn(t),console.log("\n")),!0===e.chunks&&($n(t),console.log("\n")),!0===e.highlight&&(Sn(t),console.log("\n")),t)};const Mn=function(e){let t=e.pre||"",n=e.post||"";return t+e.text+n};var Kn=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 Kn(this,e)}};var Jn=Ln,Wn={text:function(e){let t={};var n;if(e&&"string"==typeof e&&Cn.hasOwnProperty(e)?t=Object.assign({},Cn[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},_n=function(e){let t={};return e.forEach((e=>{t[e[0]]=t[e[0]]||[],t[e[0]].push(e)})),t};var Zn=function(e,t){let n=_n(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},Xn=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},Yn={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=>Rn(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},nr=function(e,t){let n=_n(t),r=[];return e.forEach((e=>{let t=n[e[0]]||[];t=t.filter((t=>Rn(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},ar=function(e,t){return e.map((e=>{let[n,r]=e;return t[n]&&t[n][r]&&(e[3]=t[n][r].id),e}))},or={union:function(e){e=rr(e,this);let t=er(this.fullPointer,e.fullPointer);return t=ar(t,this.document),this.toView(t)}};or.and=or.union,or.intersection=function(e){e=rr(e,this);let t=nr(this.fullPointer,e.fullPointer);return t=ar(t,this.document),this.toView(t)},or.not=function(e){e=rr(e,this);let t=tr(this.fullPointer,e.fullPointer);return t=ar(t,this.document),this.toView(t)},or.difference=or.not,or.complement=function(){let e=this.all(),t=tr(e.fullPointer,this.fullPointer);return t=ar(t,this.document),this.toView(t)},or.settle=function(){let e=this.fullPointer;return e.forEach((t=>{e=er(e,[t])})),e=ar(e,this.document),this.update(e)};var ir=function(e){Object.assign(e.prototype,or)},sr={methods:Yn,api:ir},lr=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 ur=function(e){return!0===e.optional||!0===e.negative?null:e.tag?"#"+e.tag:e.word?e.word:e.switch?`%${e.switch}%`:null};var cr=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(ur(e)),"and"===e.operator&&e.choices&&e.choices.forEach((e=>{e.forEach((e=>{t.push(ur(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=ur(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},hr=function(e,t){e=cr(e,t);let n={};e.forEach((e=>{e.needs.forEach((t=>{n[t]=Array.isArray(n[t])?n[t]:[],n[t].push(e)})),e.wants.forEach((t=>{n[t]=Array.isArray(n[t])?n[t]:[],n[t].push(e)}))})),Object.keys(n).forEach((e=>{let t={};n[e]=n[e].filter((e=>"boolean"!=typeof 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}},dr=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=>"boolean"!=typeof o[e.match]&&(o[e.match]=!0,!0))),a}))},gr=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))}))},mr=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},pr=function(e,t,n,r={}){let a=n.one.cacheDoc(e),o=dr(a,t.hooks);return o=gr(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),mr(o,e,a,n,r)},fr=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===fr(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))})))},br={lib:{buildNet:function(e){let t=this.methods().one.buildNet(e,this.world());return t.isNet=!0,t}},api:lr,methods:{one:{buildNet:hr,bulkMatch:pr,bulkTagger:vr}}};const yr=/ /,wr=function(e,t){"Noun"===t&&(e.chunk=t),"Verb"===t&&(e.chunk=t)},kr=function(e,t,n,r){if(!0===e.tags.has(t))return null;if("."===t)return null;!0===e.frozen&&(r=!0);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(),yr.test(t))!function(e,t,n,r){let a=t.split(yr);e.forEach(((e,t)=>{let o=a[t];o&&(o=o.replace(/^#/,""),kr(e,o,n,r))}))}(e,t,o,r);else{t=t.replace(/^#/,"");for(let n=0;nPr(e,t,n,r)))};var Ar=Pr,Cr=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=>jr({id:e}))),t}return[jr({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},Dr=e=>"[object Array]"===Object.prototype.toString.call(e),Hr=e=>(e=e||"").trim(),Gr=function(e=[]){return"string"==typeof e?function(e){let t=e.split(/\r?\n/),n=[];t.forEach((e=>{if(!e.trim()||xr.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:Ir(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=jr({});return e.forEach((e=>{if((e=jr(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):(Tr(t=e).forEach(jr),t);var t},Er=function(e,t){let n="-> ";t&&(n=(e=>""+e+"")("→ "));let r="";return Tr(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},Or=function(e){let t=Tr(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},Fr={text:Er,txt:Er,array:Or,flat:Or},Vr=function(e,t){return"nested"===t||"json"===t?e:"debug"===t?(console.log(Er(e,!0)),null):Fr.hasOwnProperty(t)?Fr[t](e):e},zr=e=>{Tr(e,((e,t)=>{e.id&&(e._cache.parents=e._cache.parents||[],t._cache.parents=e._cache.parents.concat([e.id]))}))},$r=/\//;let Sr=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=Hr(e),!$r.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)||jr({});return new g(t)}add(e,t={}){if(Dr(e))return e.forEach((e=>this.add(Hr(e),t))),this;e=Hr(e);let n=jr({id:e,props:t});return this.json.children.push(n),new g(n)}remove(e){return e=Hr(e),this.json.children=this.json.children.filter((t=>t.id!==e)),this}nodes(){return Tr(this.json).map((e=>(delete(e=Object.assign({},e)).children,e)))}cache(){return(e=>{let t=Tr(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 Tr(this.json)}fillDown(){var e;return e=this.json,Tr(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 Dr(t[n])?e[n]=t[n].concat(e[n]||[]):void 0===e[n]&&(e[n]=t[n])})),e))(t.props,e.props)})),this}depth(){zr(this.json);let e=Tr(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 zr(this.json),Vr(this.json,e)}debug(){return zr(this.json),Vr(this.json,"debug"),this}};const Br=function(e){let t=Gr(e);return new Sr(t)};Br.prototype.plugin=function(e){e(this)};var Mr={Noun:"blue",Verb:"green",Negative:"green",Date:"red",Value:"red",Adjective:"magenta",Preposition:"cyan",Conjunction:"cyan",Determiner:"cyan",Hyphenated:"cyan",Adverb:"cyan"};const Kr=function(e){if(Mr.hasOwnProperty(e.id))return Mr[e.id];if(Mr.hasOwnProperty(e.is))return Mr[e.is];let t=e._cache.parents.find((e=>Mr[e]));return Mr[t]};var Lr=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:Kr(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 Jr=function(e){return e?"string"==typeof e?[e]:e:[]};var Wr=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=Jr(e[t].children),e[t].not=Jr(e[t].not)})),Object.keys(e).forEach((t=>{(e[t].not||[]).forEach((n=>{e[n]&&e[n].not&&e[n].not.push(t)}))})),e},qr=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=Wr(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 Br(t).cache().fillDown().out("array")}(Object.assign({},t,e));return Lr(n)},Ur={one:{setTag:Ar,unTag:Cr,addTags:qr,canBe:Nr}};const Qr=function(e){return"[object Array]"===Object.prototype.toString.call(e)},Rr={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,n=this.methods.one.canBe,r=[];this.document.forEach(((a,o)=>{a.forEach(((a,i)=>{n(a,e,t)||r.push([o,i,i+1])}))}));let a=this.update(r);return this.difference(a)}};var _r=Rr,Zr=function(e){Object.assign(e.prototype,_r)},Xr={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 Yr=new Set(["Auxiliary","Possessive"]);var ea=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(Yr.has(e)||!t.hasOwnProperty(n))return 1;if(Yr.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)}))}))},ta={model:{one:{tagSet:{}}},compute:{tagRank:ea},methods:Ur,api:Zr,lib:Xr};const na=/([.!?\u203D\u2E18\u203C\u2047-\u2049\u3002]+\s)/g,ra=/^[.!?\u203D\u2E18\u203C\u2047-\u2049\u3002]+\s$/,aa=/((?:\r?\n|\r)+)/;var oa=function(e){let t=[],n=e.split(aa);for(let e=0;e0&&(a.push(o),e[t]="")}return a};const ca={'"':'"',""":""","“":"”","‟":"”","„":"”","⹂":"”","‚":"’","«":"»","‹":"›","‵":"′","‶":"″","‷":"‴","〝":"〞","〟":"〞"},ha=RegExp("["+Object.keys(ca).join("")+"]","g"),da=RegExp("["+Object.values(ca).join("")+"]","g"),ga=function(e){if(!e)return!1;let t=e.match(da);return null!==t&&1===t.length};var ma=function(e){let t=[];for(let n=0;n(e[t]=!0,e)),{});var Da=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(Ia);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=Na(n),n=Aa(n),n=n.filter((e=>e)),n};const Ha=/\p{Letter}/u,Ga=/[\p{Number}\p{Currency_Symbol}]/u,Ea=/^[a-z]\.([a-z]\.)+/i,Oa=/[sn]['’]$/;var Fa=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}},Va=(e,t)=>{let{str:n,pre:r,post:a}=Fa(e,t);return{text:n,pre:r,post:a,tags:new Set}},za=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("")},$a=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 Sa=/([A-Z]\.)+[A-Z]?,?$/,Ba=/^[A-Z]\.,?$/,Ma=/[A-Z]{2,}('s|,)?$/,Ka=/([a-z]\.)+[a-z]\.?$/;var La=function(e){return function(e){return!0===Sa.test(e)||!0===Ka.test(e)||!0===Ba.test(e)||!0===Ma.test(e)}(e)&&(e=e.replace(/\./g,"")),e},Ja=function(e,t){const n=t.methods.one.killUnicode;let r=e.text||"";r=$a(r),r=n(r,t),r=La(r),e.normal=r},Wa=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=>{Ja(e,t)})),n})),e};const qa=/[ .][A-Z]\.? *$/i,Ua=/(?:\u2026|\.{2,}) *$/,Qa=/\p{L}/u,Ra=/\. *$/,_a=/^[A-Z]\. $/;var Za=function(e,t){if(!1===Qa.test(e))return!1;if(!0===qa.test(e))return!1;if(3===e.length&&_a.test(e))return!1;if(!0===Ua.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!==Ra.test(e)},Xa={one:{killUnicode:za,tokenize:{splitSentences:wa,isSentence:Za,splitTerms:Da,splitWhitespace:Va,fromString:Wa}}},Ya={"&":"and","@":"at","%":"percent",plz:"please",bein:"being"};let eo={},to={};[[["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=>{eo[t]=!0,to[t]="Abbreviation",void 0!==e[1]&&(to[t]=[to[t],e[1]])}))}));var no=["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 ro={"!":"¡","?":"¿Ɂ",'"':'“”"❝❞',"'":"‘‛❛❜’","-":"—–",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:"ŹźŻżŽžƵƶȤȥɀΖ"},ao={};Object.keys(ro).forEach((function(e){ro[e].split("").forEach((function(t){ao[t]=e}))}));const oo=/\//,io=/[a-z]\.[a-z]/i,so=/[0-9]/;var lo=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])),oo.test(n)&&!io.test(n)&&!so.test(n)){let t=n.split(oo);t.length<=2&&t.forEach((t=>{""!==(t=t.trim())&&(e.alias=e.alias||[],e.alias.push(t))}))}return e};const uo=/^\p{Letter}+-\p{Letter}+$/u;var co=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"),uo.test(t)&&(t=t.replace(/-/g,"")),t=t.replace(/^[#@]/,""),t!==e.normal&&(e.machine=t)},ho=function(e){let t=e.docs,n={};for(let e=0;efo(e,lo),machine:e=>fo(e,co),normal:e=>fo(e,Ja),freq:ho,offset:go,index:mo,wordCount:po},methods:Xa,model:{one:{aliases:Ya,abbreviations:eo,prefixes:no,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:to,unicode:ao,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 Po={safe:!0,min:3};var Ao={typeahead:function(e=[],t={}){let n=this.model();var r;t=Object.assign({},Po,t),r=e,"[object Object]"===Object.prototype.toString.call(r)&&(Object.assign(n.one.lexicon,e),e=Object.keys(e));let a=ko(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}},Co={model:{one:{typeahead:{}}},api:wo,lib:Ao,compute:bo,hooks:["typeahead"]};v.extend(ee),v.extend(Qn),v.extend(dn),v.extend(sr),v.extend(ta),v.plugin(He),v.extend({mutate:e=>{e.methods.one.termMethods.isFrozen=e=>!0===e.frozen},api:function(e){e.prototype.freeze=function(){return this.docs.forEach((e=>{e.forEach((e=>{e.frozen=!0}))})),this},e.prototype.unfreeze=function(){return this.docs.forEach((e=>{e.forEach((e=>{delete e.frozen}))})),this},e.prototype.isFrozen=function(){return this.match("@isFrozen+")}}}),v.extend(vo),v.plugin(k),v.extend(Ue),v.extend(Co),v.extend(Se),v.extend(br);var No={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"},jo={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:4R;a3Ub3Cc2Pd2He2Df27g1Zh1Ti1Pj1Nk1Ll1Gm12n0Po0Mp0Cqu0Br02sTtHuCv9w3xiaomi,y1;amaha,m1Bou1w1B;gov,tu3D;a4e2iki1orld trade organizati34;leaRped0O;lls fargo,st1;fie2Iinghou2S;l1rner br3V;gree3Kl street journ2Jm1E;an halOeriz2Yisa,o1;dafo2Zl1;kswagMvo;b4kip,n2ps,s1;a tod3Bps;es3Ni1;lev3Gted natio3D;er,s; mobi33aco beRd bOe9gi frida3Mh3im horto3Bmz,o1witt3E;shi4Ay1;ota,s r 05;e 1in lizzy;b3carpen3Kdaily ma3Eguess w2holli0rolling st21s1w2;mashing pumpki36uprem0;ho;ea1lack eyed pe3Yyr0Q;ch bo3Etl0;l2n3Rs1xas instrumen1U;co,la m1F;efoni0Kus;a8cientology,e5ieme2Zmirnoff,np,o3pice gir6quare0Ata1ubaru;rbuc1to35;ks;ny,undgard1;en;a2x pisto1;ls;g1Xrs;few2Ninsbur32lesfor03msu2F;adiohead,b8e4o1yana3D;man empi1Yyal 1;b1dutch she4;ank;a3d 1max,vl21;bu1c2Bhot chili peppe2Zlobst2O;ll;ders dige1Ml madrid;c,s;ant3Bizn2R;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;aDcdonalCe9i6lb,o3tv,y1;spa1;ce;b1Unsanto,ody blu0t1;ley cr1or0U;ue;c2t1;as,subisO;helin,rosoft;dica2rcedes benz,talli1;ca;id,re;ds;cs milk,tt1Az25;a3e1g,ittle caesa1Q; ore0Anovo,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 o1rls 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,ppleAr6s4u3v2y1;er;is,on;di,todesk;hland o1sociated E;il;b3g2m1;co;os;ys; compu1be0;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:7B;1:7G;2:6A;3:7F;4:7O;5:7K;a6Nb62c4Ud4Be41f3Sg3Bh30i2Uj2Qkin2Pl2Km26n1Zo1Sp0Vqu0Tr0JsQtJuHvEw8yo6;gi,ut6;h,ub0;aAe9i8o7r6;estl0it0;m2rk0;fe,nn0t2Bza2H;atherm2ld0;ge earn0it0nder0rri1;eter7i6oyF;ll5Qp,s3Z;an,ina2U;n6s0;c6Uder03;aoisea23e9herapi5iktok0o8r6ut1yco6S;a6endseLo43;d0mp,nscri0Bvel0;ddl0u1G;a0Qchn7en6na4st0;ag0;i3Oo0D;aiXcUeRhPiMki0mu26oJpGquaFtBu7wee6;p0theart;lt2per7r6;f0ge6Iviv1;h6inten0Ist5Ivis1;ero,um2;a8ep7r6;ang0eam0;bro2Nc2Ofa2Nmo2Nsi20;ff0tesm2;tt0;ec7ir2Do6;kesp59u0M;ia5Jt3;l7me6An,rcere6ul;r,ss;di0oi5;n7s6;sy,t0;g0n0;am2ephe1Iow6;girl,m2r2Q;cretInior cit3Fr6;gea4v6;a4it1;hol4Xi7reen6ulpt1;wr2C;e01on;l1nt;aEe9o8u6;l0nn6;er up,ingE;g40le mod3Zof0;a4Zc8fug2Ppo32searQv6;ere4Uolution6;ary;e6luYru22;ptio3T;bbi,dic5Vpp0;arter6e2Z;back;aYeWhSiRlOoKr8sycho7u6;nk,p31;logi5;aGeDiBo6;d9fess1g7ph47s6;pe2Ktitu51;en6ramm0;it1y;igy,uc0;est4Nme mini0Unce6s3E;!ss;a7si6;de4;ch0;ctiti39nk0P;dca0Oet,li6pula50rnst42;c2Itic6;al scie6i2;nti5;a6umb0;nn0y6;er,ma4Lwright;lgrim,one0;a8iloso7otogra7ra6ysi1V;se;ph0;ntom,rmaci5;r6ssi1T;form0s4O;i3El,nel3Yr8st1tr6wn;i6on;arWot;ent4Wi42tn0;ccupa4ffBp8r7ut6;ca5l0B;ac4Iganiz0ig2Fph2;er3t6;i1Jomet6;ri5;ic0spring;aBe9ie4Xo7u6;n,rser3J;b6mad,vi4V;le2Vo4D;i6mesis,phew;ce,ghb1;nny,rr3t1X;aEeDiAo7u6yst1Y;m8si16;der3gul,m7n6th0;arDk;!my;ni7s6;f02s0Jt0;on,st0;chan1Qnt1rcha4;gi9k0n8rtyr,t6y1;e,riar6;ch;ag0iac;ci2stra3I;a7e2Aieutena4o6;rd,s0v0;bor0d7ndlo6ss,urea3Fwy0ym2;rd;!y;!s28;e8o7u6;ggl0;gg0urna2U;st0;c3Hdol,llu3Ummigra4n6; l9c1Qfa4habi42nov3s7ve6;nt1stig3;pe0Nt6;a1Fig3ru0M;aw;airFeBistoAo8u6ygie1K;man6sba2H;!ita8;bo,st6usekN;age,e3P;ri2;ir,r6;m7o6;!ine;it;dress0sty2C;aLeIhostGirl26ladi3oCrand7u6;e5ru;c9daug0Jfa8m7pa6s2Y;!re4;a,o6;th0;hi1B;al7d6lf0;!de3A;ie,k6te26;eep0;!wr6;it0;isha,n6;i6tl04;us;mbl0rden0;aDella,iAo7r6;eela2Nie1P;e,re6ster pare4;be1Hm2r6st0;unn0;an2ZgZlmm17nanci0r6tt0;e6st la2H; marsh2OfigXm2;rm0th0;conoEdDlectriCm8n7x6;amin0cellency,i2A;emy,trepreneur,vironmenta1J;c8p6;er1loye6;e,r;ee;ci2;it1;mi5;aKeBi8ork,ri7u6we02;de,tche2H;ft0v0;ct3eti7plom2Hre6va;ct1;ci2ti2;aDcor3fencCi0InAput9s7tectLvel6;op0;ce1Ge6ign0;rt0;ee,y;iz6;en;em2;c1Ml0;d8nc0redev7ug6;ht0;il;!dy;a06e04fo,hXitizenWlToBr9u6;r3stomer6;! representat6;ive;e3it6;ic;lJmGnAord9rpor1Nu7w6;boy,ork0;n6ri0;ciTte1Q;in3;fidantAgressSs9t6;e0Kr6;ibut1o6;ll0;tab13ul1O;!e;edi2m6pos0rade;a0EeQissi6;on0;leag8on7um6;ni5;el;ue;e6own;an0r6;ic,k;!s;a9e7i6um;ld;erle6f;ad0;ir7nce6plFract0;ll1;m2wI;lebri6o;ty;dBptAr6shi0;e7pe6;nt0;r,t6;ak0;ain;et;aMeLiJlogg0oErBu6;dd0Fild0rgl9siness6;m2p7w6;om2;ers05;ar;i7o6;!k0th0;cklay0de,gadi0;hemi2oge8y6;!frie6;nd;ym2;an;cyc6sR;li5;atbox0ings;by,nk0r6;b0on7te6;nd0;!e07;c04dWge4nQpLrHsFtAu7yatull6;ah;nt7t6;h1oG;!ie;h8t6;e6orney;nda4;ie5le6;te;sis00tron6;aut,om0;chbis8isto7tis6;an,t;crU;hop;ost9p6;ari6rentiS;ti6;on;le;a9cest1im3nou8y6;bo6;dy;nc0;ly5rc6;hi5;mi8v6;entur0is1;er;ni7r6;al;str3;at1;or;counBquaintanArob9t6;ivi5or,re6;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:H6;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;eDhCi9Wue;!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;i9Dy;!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;aDha0i8XmaCsac;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,j5Hot,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;ar1Nb1Dd16fon15gust3hm12i0Zja0Yl0Bm07nTputsiSrGsaFugustEveDyCziz;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;allFel,oulaye,ulC;!lDrahm0;an;ah,o;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:1Q;a29b1Zc1Md1Ee18f15g13h0Ri0Qj0Nk0Jl0Gm09n06o05p00rPsItCusain bolt,v9w4xzibit,y1;anni,oko on2uji,v1;an,es;en,o;a3ednesday adams,i2o1;lfram,o0Q;ll ferrell,z khalifa;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¦elle,h3i2me,she,th0us,we,you;e0ou;e,m,y;!l,t;e,im",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:18;1:1E;2:1D;3:14;a1Db15c0Sd0Kfc dallas,g0Ihouston 0Hindiana0Gjacksonville jagua0k0El0Am01new UoRpKqueens parkJreal salt lake,sBt6utah jazz,vancouver whitecaps,w4yW;ashington 4h10;natio1Mredski2wizar0W;ampa bay 7e6o4;ronto 4ttenham hotspur;blue ja0Mrapto0;nnessee tita2xasD;buccanee0ra0K;a8eattle 6porting kansas0Wt4; louis 4oke0V;c1Drams;marine0s4;eah13ounH;cramento Rn 4;antonio spu0diego 4francisco gJjose earthquak1;char08paB; ran07;a9h6ittsburgh 5ortland t4;imbe0rail blaze0;pirat1steele0;il4oenix su2;adelphia 4li1;eagl1philNunE;dr1;akland 4klahoma city thunder,rlando magic;athle0Lrai4;de0;england 8orleans 7york 4;g5je3knYme3red bul0Xy4;anke1;ian3;pelica2sain3;patrio3revolut4;ion;anchEeAi4ontreal impact;ami 8lwaukee b7nnesota 4;t5vi4;kings;imberwolv1wi2;rewe0uc0J;dolphi2heat,marli2;mphis grizz4ts;li1;a6eic5os angeles 4;clippe0dodFlaB;esterV; galaxy,ke0;ansas city 4nF;chiefs,roya0D; pace0polis col3;astr05dynamo,rocke3texa2;olden state warrio0reen bay pac4;ke0;allas 8e4i04od6;nver 6troit 4;lio2pisto2ti4;ge0;broncYnugge3;cowbo5maver4;icZ;ys;arEelLhAincinnati 8leveland 6ol4;orado r4umbus crew sc;api7ocki1;brow2cavalie0guar4in4;dia2;bengaVre4;ds;arlotte horAicago 4;b5cubs,fire,wh4;iteB;ea0ulQ;diff4olina panthe0; city;altimore Alackburn rove0oston 6rooklyn 4uffalo bilN;ne3;ts;cel5red4; sox;tics;rs;oriol1rave2;rizona Ast8tlanta 4;brav1falco2h4;awA;ns;es;on villa,r4;os;c6di4;amondbac4;ks;ardi4;na4;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;a9Fb7Uc6Rd6Le6Jf5Ig50h4Biron0j47k40l3Em31n2Yo2Wp2Cquiet Hr1Xs0KtZuXvacuu6QwNyammerBzK;ero Dip LonK;e0k0;by,ov9up;aQeMhLiKor0Mrit19;mp0n3Fpe0r5s5;ackAeel Di0S;aLiKn33;gh 3Wrd0;n Dr K;do1in,oJ;it 79k5lk Lrm 69sh Kt83v60;aw3do1o7up;aw3in,oC;rgeBsK;e 2herE;a00eYhViRoQrMuKypP;ckErn K;do1in,oJup;aLiKot0y 30;ckl7Zp F;ck HdK;e 5Y;n7Wp 3Es5K;ck MdLe Kghten 6me0p o0Rre0;aw3ba4do1in,up;e Iy 2;by,oG;ink Lrow K;aw3ba4in,up;ba4ov9up;aKe 77ll62;m 2r 5M;ckBke Llk K;ov9shit,u47;aKba4do1in,leave,o4Dup;ba4ft9pa69w3;a0Vc0Te0Mh0Ii0Fl09m08n07o06p01quar5GtQuOwK;earMiK;ngLtch K;aw3ba4o8K; by;cKi6Bm 2ss0;k 64;aReQiPoNrKud35;aigh2Det75iK;ke 7Sng K;al6Yup;p Krm2F;by,in,oG;c3Ln3Lr 2tc4O;p F;c3Jmp0nd LrKveAy 2O;e Ht 2L;ba4do1up;ar3GeNiMlLrKurB;ead0ingBuc5;a49it 6H;c5ll o3Cn 2;ak Fe1Xll0;a3Bber 2rt0und like;ap 5Vow Duggl5;ash 6Noke0;eep NiKow 6;cLp K;o6Dup;e 68;in,oK;ff,v9;de19gn 4NnKt 6Gz5;gKkE; al6Ale0;aMoKu5W;ot Kut0w 7M;aw3ba4f48oC;c2WdeEk6EveA;e Pll1Nnd Orv5tK; Ktl5J;do1foLin,o7upK;!on;ot,r5Z;aw3ba4do1in,o33up;oCto;al66out0rK;ap65ew 6J;ilAv5;aXeUiSoOuK;b 5Yle0n Kstl5;aLba4do1inKo2Ith4Nu5P;!to;c2Xr8w3;ll Mot LpeAuK;g3Ind17;a2Wf3Po7;ar8in,o7up;ng 68p oKs5;ff,p18;aKelAinEnt0;c6Hd K;o4Dup;c27t0;aZeYiWlToQrOsyc35uK;ll Mn5Kt K;aKba4do1in,oJto47up;pa4Dw3;a3Jdo1in,o21to45up;attleBess KiNop 2;ah2Fon;iLp Kr4Zu1Gwer 6N;do1in,o6Nup;nt0;aLuK;gEmp 6;ce u20y 6D;ck Kg0le 4An 6p5B;oJup;el 5NncilE;c53ir 39n0ss MtLy K;ba4oG; Hc2R;aw3ba4in,oJ;pKw4Y;e4Xt D;aLerd0oK;dAt53;il Hrrow H;aTeQiPoLuK;ddl5ll I;c1FnkeyMp 6uthAve K;aKdo1in,o4Lup;l4Nw3; wi4K;ss0x 2;asur5e3SlLss K;a21up;t 6;ke Ln 6rKs2Ax0;k 6ryA;do,fun,oCsure,up;a02eViQoLuK;ck0st I;aNc4Fg MoKse0;k Kse4D;aft9ba4do1forw37in56o0Zu46;in,oJ;d 6;e NghtMnLsKve 00;ten F;e 2k 2; 2e46;ar8do1in;aMt LvelK; oC;do1go,in,o7up;nEve K;in,oK;pKut;en;c5p 2sh LtchBughAy K;do1o59;in4Po7;eMick Lnock K;do1oCup;oCup;eLy K;in,up;l Ip K;aw3ba4do1f04in,oJto,up;aMoLuK;ic5mpE;ke3St H;c43zz 2;a01eWiToPuK;nLrrKsh 6;y 2;keLt K;ar8do1;r H;lKneErse3K;d Ke 2;ba4dKfast,o0Cup;ear,o1;de Lt K;ba4on,up;aw3o7;aKlp0;d Ml Ir Kt 2;fKof;rom;f11in,o03uW;cPm 2nLsh0ve Kz2P;at,it,to;d Lg KkerP;do1in,o2Tup;do1in,oK;ut,v9;k 2;aZeTive Rloss IoMrLunK; f0S;ab hold,in43ow 2U; Kof 2I;aMb1Mit,oLr8th1IuK;nd9;ff,n,v9;bo7ft9hQw3;aw3bKdo1in,oJrise,up,w3;a4ir2H;ar 6ek0t K;aLb1Fdo1in,oKr8up;ff,n,ut,v9;cLhKl2Fr8t,w3;ead;ross;d aKng 2;bo7;a0Ee07iYlUoQrMuK;ck Ke2N;ar8up;eLighten KownBy 2;aw3oG;eKshe27; 2z5;g 2lMol Krk I;aKwi20;bo7r8;d 6low 2;aLeKip0;sh0;g 6ke0mKrKtten H;e F;gRlPnNrLsKzzle0;h F;e Km 2;aw3ba4up;d0isK;h 2;e Kl 1T;aw3fPin,o7;ht ba4ure0;ePnLsK;s 2;cMd K;fKoG;or;e D;d04l 2;cNll Krm0t1G;aLbKdo1in,o09sho0Eth08victim;a4ehi2O;pa0C;e K;do1oGup;at Kdge0nd 12y5;in,o7up;aOi1HoNrK;aLess 6op KuN;aw3b03in,oC;gBwB; Ile0ubl1B;m 2;a0Ah05l02oOrLut K;aw3ba4do1oCup;ackBeep LoKy0;ss Dwd0;by,do1in,o0Uup;me NoLuntK; o2A;k 6l K;do1oG;aRbQforOin,oNtKu0O;hLoKrue;geth9;rough;ff,ut,v9;th,wK;ard;a4y;paKr8w3;rt;eaLose K;in,oCup;n 6r F;aNeLiK;ll0pE;ck Der Kw F;on,up;t 2;lRncel0rOsMtch LveE; in;o1Nup;h Dt K;doubt,oG;ry LvK;e 08;aw3oJ;l Km H;aLba4do1oJup;ff,n,ut;r8w3;a0Ve0MiteAl0Fo04rQuK;bblNckl05il0Dlk 6ndl05rLsKtMy FzzA;t 00;n 0HsK;t D;e I;ov9;anWeaUiLush K;oGup;ghQng K;aNba4do1forMin,oLuK;nd9p;n,ut;th;bo7lKr8w3;ong;teK;n 2;k K;do1in,o7up;ch0;arTg 6iRn5oPrNssMttlLunce Kx D;aw3ba4;e 6; ar8;e H;do1;k Dt 2;e 2;l 6;do1up;d 2;aPeed0oKurt0;cMw K;aw3ba4do1o7up;ck;k K;in,oC;ck0nk0stA; oQaNef 2lt0nd K;do1ov9up;er;up;r Lt K;do1in,oCup;do1o7;ff,nK;to;ck Pil0nMrgLsK;h D;ainBe D;g DkB; on;in,o7;aw3do1in,oCup;ff,ut;ay;ct FdQir0sk MuctionA; oG;ff;ar8o7;ouK;nd; o7;d K;do1oKup;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:BR;1:BF;2:B5;3:BH;4:AX;5:9Y;6:B6;7:BK;8:B0;9:AV;A:AL;B:8Q;C:8G;D:7K;E:BM;F:AH;aBDb9Zc8Wd88e81f7Kg6Wh64i60j5Lk4Vl4Dm39n2Wo2Op25quispe,r1Ls0Pt0Ev03wTxSyKzG;aIhGimmerm6A;aGou,u;ng,o;khar5ytsE;aKeun9BiHoGun;koya32shiBU;!lG;diGmaz;rim,z;maGng;da,g52mo83sGzaC;aChiBV;iao,u;aLeJiHoGright,u;jcA5lff,ng;lGmm0nkl0sniewsC;kiB1liams33s3;bGiss,lt0;b,er,st0;a6Vgn0lHtG;anabe,s3;k0sh,tG;e2Non;aLeKiHoGukD;gt,lk5roby5;dHllalGnogr3Kr1Css0val3S;ba,ob1W;al,ov4;lasHsel8W;lJn dIrgBEsHzG;qu7;ilyEqu7siljE;en b6Aijk,yk;enzueAIverde;aPeix1VhKi2j8ka43oJrIsui,uG;om5UrG;c2n0un1;an,emblA7ynisC;dorAMlst3Km4rrAth;atch0i8UoG;mHrG;are84laci79;ps3sG;en,on;hirDkah9Mnaka,te,varA;a06ch01eYhUiRmOoMtIuHvGzabo;en9Jobod3N;ar7bot4lliv2zuC;aIeHoG;i7Bj4AyanAB;ele,in2FpheBvens25;l8rm0;kol5lovy5re7Tsa,to,uG;ng,sa;iGy72;rn5tG;!h;l71mHnGrbu;at9cla9Egh;moBo7M;aIeGimizu;hu,vchG;en8Luk;la,r1G;gu9infe5YmGoh,pulveA7rra5P;jGyG;on5;evi6iltz,miHneid0roed0uGwarz;be3Elz;dHtG;!t,z;!t;ar4Th8ito,ka4OlJnGr4saCto,unde19v4;ch7dHtGz;a5Le,os;b53e16;as,ihDm4Po0Y;aVeSiPoJuHyG;a6oo,u;bio,iz,sG;so,u;bKc8Fdrigue67ge10j9YmJosevelt,sItHux,wG;e,li6;a9Ch;enb4Usi;a54e4L;erts15i93;bei4JcHes,vGzzo;as,e9;ci,hards12;ag2es,iHut0yG;es,nol5N;s,t0;dImHnGsmu97v6C;tan1;ir7os;ic,u;aUeOhMiJoHrGut8;asad,if6Zochazk27;lishc2GpGrti72u10we76;e3Aov51;cHe45nG;as,to;as70hl0;aGillips;k,m,n6I;a3Hde3Wete0Bna,rJtG;ersHrovGters54;!a,ic;!en,on;eGic,kiBss3;i9ra,tz,z;h86k,padopoulIrk0tHvG;ic,l4N;el,te39;os;bMconn2Ag2TlJnei6PrHsbor6XweBzG;dem7Rturk;ella4DtGwe6N;ega,iz;iGof7Hs8I;vGyn1R;ei9;aSri1;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;aFeaEh9o4rim08umbr0;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;dygHguascalientes,lBndhr9r5ss4;am;izo1kans5un4;achal 7;as;na;a 4;pradesh;a6ber5t4;ai;ta;ba5s4;ka;ma;ea",Country:"true¦0:38;1:2L;2:3B;a2Xb2Ec22d1Ye1Sf1Mg1Ch1Ai14j12k0Zl0Um0Gn05om2pZqat1KrXsKtCu7v5wal4yemTz3;a25imbabwe;es,lis and futu2Y;a3enezue32ietnam;nuatu,tican city;gTk6nited 4ruXs3zbeE; 2Ca,sr;arab emirat0Kkingdom,states3;! of am2Y;!raiV;a8haCimor les0Co7rinidad 5u3;nis0rk3valu;ey,me2Zs and caic1V;and t3t3;oba1L;go,kel10nga;iw2ji3nz2T;ki2V;aDcotl1eCi9lov8o6pa2Dri lanka,u5w3yr0;az3edAitzerl1;il1;d2riname;lomon1Xmal0uth 3;afr2KkMsud2;ak0en0;erra leoFn3;gapo1Yt maart3;en;negLrb0ychellZ;int 3moa,n marino,udi arab0;hele26luc0mart21;epublic of ir0Eom2Euss0w3;an27;a4eIhilippinUitcairn1Mo3uerto riN;l1rtugF;ki2Dl4nama,pua new0Vra3;gu7;au,esti3;ne;aBe9i7or3;folk1Ith4w3;ay; k3ern mariana1D;or0O;caragua,ger3ue;!ia;p3ther1Aw zeal1;al;mib0u3;ru;a7exi6icro0Bo3yanm06;ldova,n3roc5zambA;a4gol0t3;enegro,serrat;co;cAdagasc01l7r5urit4yot3;te;an0i16;shall0Xtin3;ique;a4div3i,ta;es;wi,ys0;ao,ed02;a6e5i3uxembourg;b3echtenste12thu1G;er0ya;ban0Isotho;os,tv0;azakh1Fe4iriba04o3uwait,yrgyz1F;rXsovo;eling0Knya;a3erG;ma16p2;c7nd6r4s3taly,vory coast;le of m2rael;a3el1;n,q;ia,oJ;el1;aiTon3ungary;dur0Ng kong;aBermany,ha0QibraltAre8u3;a6ern5inea3ya0P;! biss3;au;sey;deloupe,m,tema0Q;e3na0N;ce,nl1;ar;bUmb0;a7i6r3;ance,ench 3;guia0Epoly3;nes0;ji,nl1;lklandUroeU;ast tim7cu6gypt,l salv6ngl1quatorial4ritr5st3thiop0;on0; guin3;ea;ad3;or;enmark,jibou5ominica4r con3;go;!n C;ti;aBentral african Ah8o5roat0u4yprRzech3; 9ia;ba,racao;c4lo3morQngo brazzaville,okGsta r04te de ivoiL;mb0;osE;i3ristmasG;le,na;republic;m3naUpe verde,ymanA;bod0ero3;on;aGeDhut2o9r5u3;lgar0r3;kina faso,ma,undi;azil,itish 3unei;virgin3; is3;lands;liv0nai5snia and herzegoviHtswaHuvet3; isl1;and;re;l3n8rmuG;ar3gium,ize;us;h4ngladesh,rbad3;os;am4ra3;in;as;fghaGlDmBn6r4ustr3zerbaij2;al0ia;genti3men0uba;na;dorra,g5t3;arct7igua and barbu3;da;o3uil3;la;er3;ica;b3ger0;an0;ia;ni3;st2;an",Place:"true¦a0Gb0Bc03d02e01f00gWhUiSkQlNmLnIorHpDrCsAt5u4v3w2y0;a0yz;kutPngtze;ake isHupatki;irgin islands,ostok;laanbaatar,p02;a3eotihuac0Hh1onto,sarskoe selo,u0;lXzigoot;am09e 0;bronx,hamptons;hiti,j mahE;a0cotts bluff,eine,fo,oho,under9;int lawrence river,khalY;ed s3io grande;a1ek,h0itcairn,ompeii;l,x;cif05pahanaumokuak0rthenX;ea;ange county,d,inoco;e0ile;uschwansteQw eng0;land;a0co,ekong,idLuc;chu picchu,gad00libu,nhatt00;a1gw,hr,incoln memori0;al;s,x;azan kremlJosrae,rasnoyar0ul;sk;ax,cn,nd0st;ianSochina;arlem,kg,nd,ov0;d,enweep;a2odavari,re0;at 0enwich;britaBlakI;ngHy village;co,ra;urope,vergladF;anube,en,fw,own4xb;arrizo pla6dg,edar 5gk,h1lt,olosse0;um;a2i0uuk;chen itza,mney rock,na0ricahua;town;morro,tham;breaks,fa5;in;cn,e2kk,ro0;oklyn,wns cany0;on;l air,verly hi0;lls;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:J7;1:JB;2:IJ;3:IK;4:J1;5:IO;6:JS;7:JO;8:HB;9:JK;A:H4;B:I2;C:IT;D:JH;E:IX;F:BA;G:I4;aGTbFLcDRdD0eBMfB4gADh9Ti9Gj8Dk7Cl5Wm48n3Lo3Hp33qu32r29s15t0Eu0Cv02wVxiTyOzH;aLeIineb,oHsof3;e3Sf3la,ra;h2iKlIna,ynH;ab,ep;da,ma;da,h2iHra;nab;aKeJi0FolB7uIvH;et8onDP;i0na;le0sen3;el,gm3Hn,rGLs8W;aoHme0nyi;m5XyAD;aMendDZhiDGiH;dele9lJnH;if48niHo0;e,f47;a,helmi0lHma;a,ow;ka0nB;aNeKiHusa5;ck84kIl8oleAviH;anFenJ4;ky,toriBK;da,lA8rHs0;a,nHoniH9;a,iFR;leHnesH9;nILrH;i1y;g9rHs6xHA;su5te;aYeUhRiNoLrIuHy2;i,la;acJ3iHu0J;c3na,sH;hFta;nHr0F;iFya;aJffaEOnHs6;a,gtiH;ng;!nFSra;aIeHomasi0;a,l9Oo8Ares1;l3ndolwethu;g9Fo88rIssH;!a,ie;eHi,ri7;sa,za;bOlMmKnIrHs6tia0wa0;a60yn;iHya;a,ka,s6;arFe2iHm77ra;!ka;a,iH;a,t6;at6it6;a0Ecarlett,e0AhWiSkye,neza0oQri,tNuIyH;bIGlvi1;ha,mayIJniAsIzH;an3Net8ie,y;anHi7;!a,e,nH;aCe;aIeH;fan4l5Dphan6E;cI5r5;b3fiAAm0LnHphi1;d2ia,ja,ya;er2lJmon1nIobh8QtH;a,i;dy;lETv3;aMeIirHo0risFDy5;a,lDM;ba,e0i5lJrH;iHr6Jyl;!d8Ifa;ia,lDZ;hd,iMki2nJrIu0w0yH;la,ma,na;i,le9on,ron,yn;aIda,ia,nHon;a,on;!ya;k6mH;!aa;lJrItaye82vH;da,inj;e0ife;en1i0ma;anA9bLd5Oh1SiBkKlJmInd2rHs6vannaC;aCi0;ant6i2;lDOma,ome;ee0in8Tu2;in1ri0;a05eZhXiUoHuthDM;bScRghQl8LnPsJwIxH;anB3ie,y;an,e0;aIeHie,lD;ann7ll1marDGtA;!lHnn1;iHyn;e,nH;a,dF;da,i,na;ayy8G;hel67io;bDRerAyn;a,cIkHmas,nFta,ya;ki,o;h8Xki;ea,iannGMoH;da,n1P;an0bJemFgi0iInHta,y0;a8Bee;han86na;a,eH;cHkaC;a,ca;bi0chIe,i0mo0nHquETy0;di,ia;aERelHiB;!e,le;een4ia0;aPeOhMiLoJrHute6A;iHudenCV;scil3LyamvaB;lHrt3;i0ly;a,paluk;ilome0oebe,ylH;is,lis;ggy,nelope,r5t2;ige,m0VnKo5rvaDMtIulH;a,et8in1;ricHt4T;a,e,ia;do2i07;ctav3dIfD3is6ksa0lHphD3umC5yunbileg;a,ga,iv3;eHvAF;l3t8;aWeUiMoIurHy5;!ay,ul;a,eJor,rIuH;f,r;aCeEma;ll1mi;aNcLhariBQkKlaJna,sHta,vi;anHha;ur;!y;a,iDZki;hoGk9YolH;a,e4P;!mh;hir,lHna,risDEsreE;!a,lBV;asuMdLh3i6Dl5nKomi7rgEVtH;aHhal4;lHs6;i1ya;cy,et8;e9iF0ya;nngu2X;a0Ackenz4e02iMoJrignayani,uriDJyH;a,rH;a,iOlNna,tG;bi0i2llBJnH;a,iH;ca,ka,qD9;a,cUdo4ZkaTlOmi,nMrItzi,yH;ar;aJiIlH;anET;am;!l,nB;dy,eHh,n4;nhGrva;aKdJe0iCUlH;iHy;cent,e;red;!gros;!e5;ae5hH;ae5el3Z;ag5DgNi,lKrH;edi7AiIjem,on,yH;em,l;em,sCG;an4iHliCF;nHsCJ;a,da;!an,han;b09cASd07e,g05ha,i04ja,l02n00rLsoum5YtKuIv84xBKyHz4;bell,ra,soBB;d7rH;a,eE;h8Gild1t4;a,cUgQiKjor4l7Un4s6tJwa,yH;!aHbe6Xja9lAE;m,nBL;a,ha,in1;!aJbCGeIja,lDna,sHt63;!a,ol,sa;!l1D;!h,mInH;!a,e,n1;!awit,i;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:3B;1:3P;2:3E;3:2H;a3Tb3Cc33d2Ue2Nf2Bg1Xh1Mi1Gj1Fk1Cl14m0Yn0To0Sp0Jqu0Hr08sItDug0vBw5y4za0R;el11ouO;ary,e7hi6i4ry;ck0Dde,l4n1ry,se;d,y;ny,te;a4i3R;k,ry;a4erda2ulgar;gue,in,st;a7en2Xhi6i5ou00r4;anqu2Den1ue;dy,g36me0ny;ck,rs29;ll,me,rt,wd3I;aScaQePhNiMkin0ClJmHoFpEt7u5w4;eet,ift;b4dd0Xperfi22rre29;sta27t3;a9e8iff,r5u4;pVr1;a5ict,o4;ng;ig2Vn0O;a1ep,rn;le,rk,te0;e1Ti2Vright0;ci1Zft,l4on,re;emn,id;a4el0;ll,rt;e5i4y;g2Mm10;ek,nd2T;ck24l0mp3;a4iSrill,y;dy,l02rp;ve0Kxy;n1Kr4;ce,y;d,fe,int0l1Iv0W;a9e7i6o4ude;mantic,o1Asy,u4;gh;pe,t1P;a4d,mo0B;dy,l;gg5iGndom,p4re,w;id;ed;ai2i4;ck,et;hoBink,lAo9r6u4;ny,r4;e,p3;egna2ic5o4;fouTud;ey,k0;liYor;ain,easa2;ny;dd,i0ld,ranM;aive,e6i5o4u15;b3isy,rm0Zsy;bb0ce,mb3;a4r1w;r,t;ad,e6ild,o5u4;nda12te;ist,o1;a5ek,l4;low;s0ty;a9e8i7o4ucky;f0Kn5o15u4ve0w10y0O;d,sy;e0g;ke0l,mp,tt3ve0;e1Qwd;me,r4te;ge;e5i4;nd;en;ol0ui19;cy,ll,n4;secu7t4;e4ima5;llege2rmedia4;te;re;aBe8i7o6u4;ge,m4ng1C;b3id;me0t;gh,l0;a4fYsita2;dy,rXv4;en0y;nd13ppy,r4;d4sh;!y;aGenFhDiClBoofy,r4;a9e7i6o4ue0Z;o4ss;vy;m,s0;at,e4y;dy,n;nd,y;ad,ib,ooE;a2d1;a4o4;st0;t3uiS;u1y;aDeeb3iAl9o7r6u4;ll,n4r0N;!ny;aDesh,iend0;a4nd,rmE;my;at,ir8;erce,nan4;ciA;le;r,ul4;ty;a7erie,sse5v4xtre0B;il;nti4;al;r5s4;tern,y;ly,th0;appZe9i5u4;mb;r6vi5z4;zy;ne;e,ty;a4ep,nA;d4f,r;!ly;agey,h9l8o6r5u4;dd0r0te;isp,uel;ar4ld,mmon,st0ward0zy;se;evLou1;e4il0;ap,e4;sy;aIiGlDoBr6u4;ff,r0sy;ly;a7i4oad;g5llia2;nt;ht;sh,ve;ld,un4;cy;a5o4ue;nd,o1;ck,nd;g,tt4;er;d,ld,w1;dy;bsu7ng6we4;so4;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 xo=36,Io="0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ",To=Io.split("").reduce((function(e,t,n){return e[t]=n,e}),{});var Do=function(e){if(void 0!==To[e])return To[e];let t=0,n=1,r=xo,a=1;for(;n=0;n--,a*=xo){let r=e.charCodeAt(n)-48;r>10&&(r-=7),t+=r*a}return t},Ho=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=Eo(t[e]);"true"===e&&(e=!0);for(let t=0;t{let t=Oo(jo[e]);So.test(e)?Object.keys(t).forEach((t=>{if(Mo[t]=e,"Noun|Verb"===e){let e=$o(t,Ko);Mo[e]="Plural|Verb"}})):Object.keys(t).forEach((t=>{Bo[t]=e}))})),[":(",":)",":P",":p",":O",";(",";)",";P",";p",";O",":3",":|",":/",":\\",":$",":*",":@",":-(",":-)",":-P",":-p",":-O",":-3",":-|",":-/",":-\\",":-$",":-*",":-@",":^(",":^)",":^P",":^p",":^O",":^3",":^|",":^/",":^\\",":^$",":^*",":^@","):","(:","$:","*:",")-:","(-:","$-:","*-:",")^:","(^:","$^:","*^:","<3","Bo[e]="Emoticon")),delete Bo[""],delete Bo.null,delete Bo[" "];const Lo="Singular";var Jo={beforeTags:{Determiner:Lo,Possessive:Lo,Acronym:Lo,Noun:Lo,Adjective:Lo,PresentTense:Lo,Gerund:Lo,PastTense:Lo,Infinitive:Lo,Date:Lo,Ordinal:Lo,Demonym:Lo},afterTags:{Value:Lo,Modal:Lo,Copula:Lo,PresentTense:Lo,PastTense:Lo,Demonym:Lo,Actor:Lo},beforeWords:{the:Lo,with:Lo,without:Lo,of:Lo,for:Lo,any:Lo,all:Lo,on:Lo,cut:Lo,cuts:Lo,increase:Lo,decrease:Lo,raise:Lo,drop:Lo,save:Lo,saved:Lo,saves:Lo,make:Lo,makes:Lo,made:Lo,minus:Lo,plus:Lo,than:Lo,another:Lo,versus:Lo,neither:Lo,about:Lo,favorite:Lo,best:Lo,daily:Lo,weekly:Lo,linear:Lo,binary:Lo,mobile:Lo,lexical:Lo,technical:Lo,computer:Lo,scientific:Lo,security:Lo,government:Lo,popular:Lo,formal:Lo,no:Lo,more:Lo,one:Lo,let:Lo,her:Lo,his:Lo,their:Lo,our:Lo,us:Lo},afterWords:{of:Lo,system:Lo,aid:Lo,method:Lo,utility:Lo,tool:Lo,reform:Lo,therapy:Lo,philosophy:Lo,room:Lo,authority:Lo,says:Lo,said:Lo,wants:Lo,wanted:Lo,is:Lo,did:Lo,do:Lo,can:Lo,wise:Lo}};const Wo="Infinitive";var qo={beforeTags:{Modal:Wo,Adverb:Wo,Negative:Wo,Plural:Wo},afterTags:{Determiner:Wo,Adverb:Wo,Possessive:Wo,Reflexive:Wo,Preposition:Wo,Cardinal:Wo,Comparative:Wo,Superlative:Wo},beforeWords:{i:Wo,we:Wo,you:Wo,they:Wo,to:Wo,please:Wo,will:Wo,have:Wo,had:Wo,would:Wo,could:Wo,should:Wo,do:Wo,did:Wo,does:Wo,can:Wo,must:Wo,us:Wo,me:Wo,let:Wo,even:Wo,when:Wo,help:Wo,he:Wo,she:Wo,it:Wo,being:Wo,bi:Wo,co:Wo,contra:Wo,de:Wo,inter:Wo,intra:Wo,mis:Wo,pre:Wo,out:Wo,counter:Wo,nobody:Wo,somebody:Wo,anybody:Wo,everybody:Wo},afterWords:{the:Wo,me:Wo,you:Wo,him:Wo,us:Wo,her:Wo,his:Wo,them:Wo,they:Wo,it:Wo,himself:Wo,herself:Wo,itself:Wo,myself:Wo,ourselves:Wo,themselves:Wo,something:Wo,anything:Wo,a:Wo,an:Wo,up:Wo,down:Wo,by:Wo,out:Wo,off:Wo,under:Wo,what:Wo,all:Wo,to:Wo,because:Wo,although:Wo,after:Wo,before:Wo,how:Wo,otherwise:Wo,together:Wo,though:Wo,into:Wo,yet:Wo,more:Wo,here:Wo,there:Wo,away:Wo}},Uo={beforeTags:Object.assign({},qo.beforeTags,Jo.beforeTags,{}),afterTags:Object.assign({},qo.afterTags,Jo.afterTags,{}),beforeWords:Object.assign({},qo.beforeWords,Jo.beforeWords,{}),afterWords:Object.assign({},qo.afterWords,Jo.afterWords,{})};const Qo="Adjective";var Ro={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 _o="Gerund";var Zo={beforeTags:{Adverb:_o,Preposition:_o,Conjunction:_o},afterTags:{Adverb:_o,Possessive:_o,Person:_o,Pronoun:_o,Determiner:_o,Copula:_o,Preposition:_o,Conjunction:_o,Comparative:_o},beforeWords:{been:_o,keep:_o,continue:_o,stop:_o,am:_o,be:_o,me:_o,began:_o,start:_o,starts:_o,started:_o,stops:_o,stopped:_o,help:_o,helps:_o,avoid:_o,avoids:_o,love:_o,loves:_o,loved:_o,hate:_o,hates:_o,hated:_o},afterWords:{you:_o,me:_o,her:_o,him:_o,his:_o,them:_o,their:_o,it:_o,this:_o,there:_o,on:_o,about:_o,for:_o,up:_o,down:_o}},Xo={beforeTags:Object.assign({},Ro.beforeTags,Zo.beforeTags,{Imperative:"Gerund",Infinitive:"Adjective",PresentTense:"Gerund",Plural:"Gerund"}),afterTags:Object.assign({},Ro.afterTags,Zo.afterTags,{Singular:"Adjective"}),beforeWords:Object.assign({},Ro.beforeWords,Zo.beforeWords,{is:"Adjective",was:"Adjective",of:"Adjective",suggest:"Gerund",recommend:"Gerund"}),afterWords:Object.assign({},Ro.afterWords,Zo.afterWords,{to:"Gerund",not:"Gerund",the:"Gerund"})};const Yo={beforeTags:{Determiner:void 0,Cardinal:"Noun",PhrasalVerb:"Adjective"},afterTags:{}};var ei={beforeTags:Object.assign({},Ro.beforeTags,Jo.beforeTags,Yo.beforeTags),afterTags:Object.assign({},Ro.afterTags,Jo.afterTags,Yo.afterTags),beforeWords:Object.assign({},Ro.beforeWords,Jo.beforeWords,{are:"Adjective",is:"Adjective",was:"Adjective",be:"Adjective",off:"Adjective",out:"Adjective"}),afterWords:Object.assign({},Ro.afterWords,Jo.afterWords)};let ti="PastTense";const ni={beforeTags:{Adverb:ti,Pronoun:ti,ProperNoun:ti,Auxiliary:ti,Noun:ti},afterTags:{Possessive:ti,Pronoun:ti,Determiner:ti,Adverb:ti,Comparative:ti,Date:ti,Gerund:ti},beforeWords:{be:ti,who:ti,get:"Adjective",had:ti,has:ti,have:ti,been:ti,it:ti,as:ti,for:"Adjective",more:"Adjective"},afterWords:{by:ti,back:ti,out:ti,in:ti,up:ti,down:ti,before:ti,after:ti,for:ti,the:ti,with:ti,as:ti,on:ti,at:ti,between:ti,to:ti,into:ti,us:ti,them:ti,his:ti,her:ti,their:ti,our:ti,me:ti}};var ri={beforeTags:Object.assign({},Ro.beforeTags,ni.beforeTags),afterTags:Object.assign({},Ro.afterTags,ni.afterTags),beforeWords:Object.assign({},Ro.beforeWords,ni.beforeWords),afterWords:Object.assign({},Ro.afterWords,ni.afterWords)};const ai={afterTags:{Noun:"Adjective",Conjunction:void 0}};var oi={beforeTags:Object.assign({},Ro.beforeTags,qo.beforeTags,{Adverb:void 0,Negative:void 0}),afterTags:Object.assign({},Ro.afterTags,qo.afterTags,ai.afterTags),beforeWords:Object.assign({},Ro.beforeWords,qo.beforeWords,{have:void 0,had:void 0,not:void 0,went:"Adjective",goes:"Adjective",got:"Adjective",be:"Adjective"}),afterWords:Object.assign({},Ro.afterWords,qo.afterWords,{to:void 0,as:"Adjective"})};const ii={Copula:"Gerund",PastTense:"Gerund",PresentTense:"Gerund",Infinitive:"Gerund"},si={},li={are:"Gerund",were:"Gerund",be:"Gerund",no:"Gerund",without:"Gerund",you:"Gerund",we:"Gerund",they:"Gerund",he:"Gerund",she:"Gerund",us:"Gerund",them:"Gerund"},ui={the:"Gerund",this:"Gerund",that:"Gerund",me:"Gerund",us:"Gerund",them:"Gerund"};var ci={beforeTags:Object.assign({},Zo.beforeTags,Jo.beforeTags,ii),afterTags:Object.assign({},Zo.afterTags,Jo.afterTags,si),beforeWords:Object.assign({},Zo.beforeWords,Jo.beforeWords,li),afterWords:Object.assign({},Zo.afterWords,Jo.afterWords,ui)};const hi="Singular",di="Infinitive";var gi={beforeTags:Object.assign({},qo.beforeTags,Jo.beforeTags,{Adjective:hi,Particle:hi}),afterTags:Object.assign({},qo.afterTags,Jo.afterTags,{ProperNoun:di,Gerund:di,Adjective:di,Copula:hi}),beforeWords:Object.assign({},qo.beforeWords,Jo.beforeWords,{is:hi,was:hi,of:hi,have:null}),afterWords:Object.assign({},qo.afterWords,Jo.afterWords,{instead:di,about:di,his:di,her:di,to:null,by:null,in:null})};const mi="Person";var pi={beforeTags:{Honorific:mi,Person:mi},afterTags:{Person:mi,ProperNoun:mi,Verb:mi},ownTags:{ProperNoun:mi},beforeWords:{hi:mi,hey:mi,yo:mi,dear:mi,hello:mi},afterWords:{said:mi,says:mi,told:mi,tells:mi,feels:mi,felt:mi,seems:mi,thinks:mi,thought:mi,spends:mi,spendt:mi,plays:mi,played:mi,sing:mi,sang:mi,learn:mi,learned:mi,wants:mi,wanted:mi}};const fi="Month",vi={beforeTags:{Date:fi,Value:fi},afterTags:{Date:fi,Value:fi},beforeWords:{by:fi,in:fi,on:fi,during:fi,after:fi,before:fi,between:fi,until:fi,til:fi,sometime:fi,of:fi,this:fi,next:fi,last:fi,previous:fi,following:fi,with:"Person"},afterWords:{sometime:fi,in:fi,of:fi,until:fi,the:fi}};var bi={beforeTags:Object.assign({},pi.beforeTags,vi.beforeTags),afterTags:Object.assign({},pi.afterTags,vi.afterTags),beforeWords:Object.assign({},pi.beforeWords,vi.beforeWords),afterWords:Object.assign({},pi.afterWords,vi.afterWords)};const yi="Place",wi={beforeTags:{Place:yi},afterTags:{Place:yi,Abbreviation:yi},beforeWords:{in:yi,by:yi,near:yi,from:yi,to:yi},afterWords:{in:yi,by:yi,near:yi,from:yi,to:yi,government:yi,council:yi,region:yi,city:yi}};let ki="Unit";const Pi={"Actor|Verb":Uo,"Adj|Gerund":Xo,"Adj|Noun":ei,"Adj|Past":ri,"Adj|Present":oi,"Noun|Verb":gi,"Noun|Gerund":ci,"Person|Noun":{beforeTags:Object.assign({},Jo.beforeTags,pi.beforeTags),afterTags:Object.assign({},Jo.afterTags,pi.afterTags),beforeWords:Object.assign({},Jo.beforeWords,pi.beforeWords,{i:"Infinitive",we:"Infinitive"}),afterWords:Object.assign({},Jo.afterWords,pi.afterWords)},"Person|Date":bi,"Person|Verb":{beforeTags:Object.assign({},Jo.beforeTags,pi.beforeTags,qo.beforeTags),afterTags:Object.assign({},Jo.afterTags,pi.afterTags,qo.afterTags),beforeWords:Object.assign({},Jo.beforeWords,pi.beforeWords,qo.beforeWords),afterWords:Object.assign({},Jo.afterWords,pi.afterWords,qo.afterWords)},"Person|Place":{beforeTags:Object.assign({},wi.beforeTags,pi.beforeTags),afterTags:Object.assign({},wi.afterTags,pi.afterTags),beforeWords:Object.assign({},wi.beforeWords,pi.beforeWords),afterWords:Object.assign({},wi.afterWords,pi.afterWords)},"Person|Adj":{beforeTags:Object.assign({},pi.beforeTags,Ro.beforeTags),afterTags:Object.assign({},pi.afterTags,Ro.afterTags),beforeWords:Object.assign({},pi.beforeWords,Ro.beforeWords),afterWords:Object.assign({},pi.afterWords,Ro.afterWords)},"Unit|Noun":{beforeTags:{Value:ki},afterTags:{},beforeWords:{per:ki,every:ki,each:ki,square:ki,cubic:ki,sq:ki,metric:ki},afterWords:{per:ki,squared:ki,cubed:ki,long:ki}}},Ai=(e,t)=>{let n=Object.keys(e).reduce(((t,n)=>(t[n]="Infinitive"===e[n]?"PresentTense":"Plural",t)),{});return Object.assign(n,t)};Pi["Plural|Verb"]={beforeWords:Ai(Pi["Noun|Verb"].beforeWords,{had:"Plural",have:"Plural"}),afterWords:Ai(Pi["Noun|Verb"].afterWords,{his:"PresentTense",her:"PresentTense",its:"PresentTense",in:null,to:null,is:"PresentTense",by:"PresentTense"}),beforeTags:Ai(Pi["Noun|Verb"].beforeTags,{Conjunction:"PresentTense",Noun:void 0,ProperNoun:"PresentTense"}),afterTags:Ai(Pi["Noun|Verb"].afterTags,{Gerund:"Plural",Noun:"PresentTense",Value:"PresentTense"})};var Ci=Pi;const Ni="Adjective",ji="Infinitive",xi="PresentTense",Ii="Singular",Ti="PastTense",Di="Adverb",Hi="Plural",Gi="Actor",Ei="Verb",Oi="Noun",Fi="LastName",Vi="Modal",zi="Place",$i="Participle";var Si=[null,null,{ea:Ii,ia:Oi,ic:Ni,ly:Di,"'n":Ei,"'t":Ei},{oed:Ti,ued:Ti,xed:Ti," so":Di,"'ll":Vi,"'re":"Copula",azy:Ni,eer:Oi,end:Ei,ped:Ti,ffy:Ni,ify:ji,ing:"Gerund",ize:ji,ibe:ji,lar:Ni,mum:Ni,nes:xi,nny:Ni,ous:Ni,que:Ni,ger:Oi,ber:Oi,rol:Ii,sis:Ii,ogy:Ii,oid:Ii,ian:Ii,zes:xi,eld:Ti,ken:$i,ven:$i,ten:$i,ect:ji,ict:ji,ign:ji,oze:ji,ful:Ni,bal:Ni,ton:Oi},{amed:Ti,aped:Ti,ched:Ti,lked:Ti,rked:Ti,reed:Ti,nded:Ti,mned:Ni,cted:Ti,dged:Ti,ield:Ii,akis:Fi,cede:ji,chuk:Fi,czyk:Fi,ects:xi,iend:Ii,ends:Ei,enko:Fi,ette:Ii,iary:Ii,wner:Ii,fies:xi,fore:Di,gate:ji,gone:Ni,ices:Hi,ints:Hi,ruct:ji,ines:Hi,ions:Hi,ners:Hi,pers:Hi,lers:Hi,less:Ni,llen:Ni,made:Ni,nsen:Fi,oses:xi,ould:Vi,some:Ni,sson:Fi,ians:Hi,tion:Ii,tage:Oi,ique:Ii,tive:Ni,tors:Oi,vice:Ii,lier:Ii,fier:Ii,wned:Ti,gent:Ii,tist:Gi,pist:Gi,rist:Gi,mist:Gi,yist:Gi,vist:Gi,ists:Gi,lite:Ii,site:Ii,rite:Ii,mite:Ii,bite:Ii,mate:Ii,date:Ii,ndal:Ii,vent:Ii,uist:Gi,gist:Gi,note:Ii,cide:Ii,ence:Ii,wide:Ni,vide:ji,ract:ji,duce:ji,pose:ji,eive:ji,lyze:ji,lyse:ji,iant:Ni,nary:Ni,ghty:Ni,uent:Ni,erer:Gi,bury:zi,dorf:Oi,esty:Oi,wych:zi,dale:zi,folk:zi},{elist:Gi,holic:Ii,phite:Ii,tized:Ti,urned:Ti,eased:Ti,ances:Hi,bound:Ni,ettes:Hi,fully:Di,ishes:xi,ities:Hi,marek:Fi,nssen:Fi,ology:Oi,osome:Ii,tment:Ii,ports:Hi,rough:Ni,tches:xi,tieth:"Ordinal",tures:Hi,wards:Di,where:Di,archy:Oi,pathy:Oi,opoly:Oi,embly:Oi,phate:Oi,ndent:Ii,scent:Ii,onist:Gi,anist:Gi,alist:Gi,olist:Gi,icist:Gi,ounce:ji,iable:Ni,borne:Ni,gnant:Ni,inant:Ni,igent:Ni,atory:Ni,rient:Ii,dient:Ii,maker:Gi,burgh:zi,mouth:zi,ceter:zi,ville:zi,worth:Oi},{auskas:Fi,parent:Ii,cedent:Ii,ionary:Ii,cklist:Ii,keeper:Gi,logist:Gi,teenth:"Value",worker:Gi,master:Gi,writer:Gi,brough:zi,cester:zi},{logists:Gi,opoulos:Fi,borough:zi,sdottir:Fi}];const Bi="Adjective",Mi="Noun",Ki="Verb";var Li=[null,null,{},{neo:Mi,bio:Mi,"de-":Ki,"re-":Ki,"un-":Ki,"ex-":Mi},{anti:Mi,auto:Mi,faux:Bi,hexa:Mi,kilo:Mi,mono:Mi,nano:Mi,octa:Mi,poly:Mi,semi:Bi,tele:Mi,"pro-":Bi,"mis-":Ki,"dis-":Ki,"pre-":Bi},{anglo:Mi,centi:Mi,ethno:Mi,ferro:Mi,grand:Mi,hepta:Mi,hydro:Mi,intro:Mi,macro:Mi,micro:Mi,milli:Mi,nitro:Mi,penta:Mi,quasi:Bi,radio:Mi,tetra:Mi,"omni-":Bi,"post-":Bi},{pseudo:Bi,"extra-":Bi,"hyper-":Bi,"inter-":Bi,"intra-":Bi,"deca-":Bi},{electro:Mi}];const Ji="Adjective",Wi="Infinitive",qi="PresentTense",Ui="Singular",Qi="PastTense",Ri="Adverb",_i="Expression",Zi="Actor",Xi="Verb",Yi="Noun",es="LastName";var ts={a:[[/.[aeiou]na$/,Yi,"tuna"],[/.[oau][wvl]ska$/,es],[/.[^aeiou]ica$/,Ui,"harmonica"],[/^([hyj]a+)+$/,_i,"haha"]],c:[[/.[^aeiou]ic$/,Ji]],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$/,Ui,"steward"],[/[aeiou][^aeiou]id$/,Ji,""],[/.[vrl]id$/,Ji,"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$/,Wi,"antagonize"],[/.[^aeiou]ise$/,Wi,"antagonise"],[/.[aeiou]te$/,Wi,"bite"],[/.[^aeiou][ai]ble$/,Ji,"fixable"],[/.[^aeiou]eable$/,Ji,"maleable"],[/.[ts]ive$/,Ji,"festive"],[/[a-z]-like$/,Ji,"woman-like"]],h:[[/.[^aeiouf]ish$/,Ji,"cornish"],[/.v[iy]ch$/,es,"..ovich"],[/^ug?h+$/,_i,"ughh"],[/^uh[ -]?oh$/,_i,"uhoh"],[/[a-z]-ish$/,Ji,"cartoon-ish"]],i:[[/.[oau][wvl]ski$/,es,"polish-male"]],k:[[/^(k){2}$/,_i,"kkkk"]],l:[[/.[gl]ial$/,Ji,"familial"],[/.[^aeiou]ful$/,Ji,"fitful"],[/.[nrtumcd]al$/,Ji,"natal"],[/.[^aeiou][ei]al$/,Ji,"familial"]],m:[[/.[^aeiou]ium$/,Ui,"magnesium"],[/[^aeiou]ism$/,Ui,"schism"],[/^[hu]m+$/,_i,"hmm"],[/^\d+ ?[ap]m$/,"Date","3am"]],n:[[/.[lsrnpb]ian$/,Ji,"republican"],[/[^aeiou]ician$/,Zi,"musician"],[/[aeiou][ktrp]in'$/,"Gerund","cookin'"]],o:[[/^no+$/,_i,"noooo"],[/^(yo)+$/,_i,"yoo"],[/^wo{2,}[pt]?$/,_i,"woop"]],r:[[/.[bdfklmst]ler$/,"Noun"],[/[aeiou][pns]er$/,Ui],[/[^i]fer$/,Wi],[/.[^aeiou][ao]pher$/,Zi],[/.[lk]er$/,"Noun"],[/.ier$/,"Comparative"]],t:[[/.[di]est$/,"Superlative"],[/.[icldtgrv]ent$/,Ji],[/[aeiou].*ist$/,Ji],[/^[a-z]et$/,Xi]],s:[[/.[^aeiou]ises$/,qi],[/.[rln]ates$/,qi],[/.[^z]ens$/,Xi],[/.[lstrn]us$/,Ui],[/.[aeiou]sks$/,qi],[/.[aeiou]kes$/,qi],[/[aeiou][^aeiou]is$/,Ui],[/[a-z]'s$/,Yi],[/^yes+$/,_i]],v:[[/.[^aeiou][ai][kln]ov$/,es]],y:[[/.[cts]hy$/,Ji],[/.[st]ty$/,Ji],[/.[tnl]ary$/,Ji],[/.[oe]ry$/,Ui],[/[rdntkbhs]ly$/,Ri],[/.(gg|bb|zz)ly$/,Ji],[/...lly$/,Ri],[/.[gk]y$/,Ji],[/[bszmp]{2}y$/,Ji],[/.[ai]my$/,Ji],[/[ea]{2}zy$/,Ji],[/.[^aeiou]ity$/,Ui]]};const ns="Verb",rs="Noun";var as={leftTags:[["Adjective",rs],["Possessive",rs],["Determiner",rs],["Adverb",ns],["Pronoun",ns],["Value",rs],["Ordinal",rs],["Modal",ns],["Superlative",rs],["Demonym",rs],["Honorific","Person"]],leftWords:[["i",ns],["first",rs],["it",ns],["there",ns],["not",ns],["because",rs],["if",rs],["but",rs],["who",ns],["this",rs],["his",rs],["when",rs],["you",ns],["very","Adjective"],["old",rs],["never",ns],["before",rs],["a",rs],["the",rs],["been",ns]],rightTags:[["Copula",rs],["PastTense",rs],["Conjunction",rs],["Modal",rs]],rightWords:[["there",ns],["me",ns],["man","Adjective"],["him",ns],["it",ns],["were",rs],["took",rs],["himself",ns],["went",rs],["who",rs],["jr","Person"]]},os={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"},is={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"},ss={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"},ls={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"},us={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"},cs={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"},hs=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 ds=function(e){return Object.entries(e).reduce(((e,t)=>(e[t[1]]=t[0],e)),{})};var gs=function(e={}){return{reversed:!0,both:ds(e.both),ex:ds(e.ex),fwd:e.rev||{}}};const ms=/^([0-9]+)/,ps=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(ms);if(null===n)return t;let r=Number(n[1])||0;return e.substring(0,r)+t.replace(ms,"")}(n,t[n]),e)),{})};var fs=function(e={}){return"string"==typeof e&&(e=JSON.parse(e)),e.fwd=ps(e.fwd||""),e.both=ps(e.both||""),e.rev=ps(e.rev||""),e.ex=ps(e.ex||""),e};const vs=fs({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"}),bs=fs(ls),ys=fs(is),ws=fs(ss),ks=gs(vs),Ps=gs(bs),As=gs(ys),Cs=gs(ws),Ns=fs(os),js=fs(us);var xs={fromPast:vs,fromPresent:bs,fromGerund:ys,fromParticiple:ws,toPast:ks,toPresent:Ps,toGerund:As,toParticiple:Cs,toComparative:Ns,toSuperlative:js,fromComparative:gs(Ns),fromSuperlative:gs(js),adjToNoun:fs(cs)},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","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)),{}),Ts=["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)),{}),Ds=[[/([^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,""]],Hs=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(Es[t].forEach((n=>e[n]=t)),e)),{});var Os=Es,Fs=function(e){let t=e.substring(e.length-3);if(!0===Os.hasOwnProperty(t))return Os[t];let n=e.substring(e.length-2);return!0===Os.hasOwnProperty(n)?Os[n]:"s"===e.substring(e.length-1)?"PresentTense":null};const Vs={are:"be",were:"be",been:"be",is:"be",am:"be",was:"be",be:"be",being:"be"};var zs=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=Fs(e)),Vs.hasOwnProperty(e))c=Vs[e];else if("Participle"===n)c=hs(l,i);else if("PastTense"===n)c=hs(l,r);else if("PresentTense"===n)c=hs(l,a);else{if("Gerund"!==n)return e;c=hs(l,o)}return u&&(c+=" "+u),s&&(c=s+" "+c),c},$s=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:hs(i,n),PresentTense:hs(i,r),Gerund:hs(i,a),FutureTense:"will "+i},u=hs(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},Ss={toInfinitive:zs,conjugate:$s,all:function(e,t){let n=$s(e,t);return delete n.FutureTense,Object.values(n).filter((e=>e))}};const Bs=function(e,t){const n=t.two.models.toSuperlative;return hs(e,n)},Ms=function(e,t){const n=t.two.models.toComparative;return hs(e,n)};var Ks=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 Ls="ically",Js=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]),Ws=[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"}],qs=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"]),Us={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"},{},{},{}],Rs={cool:"cooly",whole:"wholly",full:"fully",good:"well",idle:"idly",public:"publicly",single:"singly",special:"especially"};var _s=function(e){if(Rs.hasOwnProperty(e))return Rs[e];let t=Ks(e,Qs);return t||(t=e+"ly"),t},Zs={toSuperlative:Bs,toComparative:Ms,toAdverb:_s,toNoun:function(e,t){const n=t.two.models.adjToNoun;return hs(e,n)},fromAdverb:function(e){return e.endsWith("ly")?Js.has(e)?e.replace(/ically/,"ical"):qs.has(e)?null:Us.hasOwnProperty(e)?Us[e]:Ks(e,Ws)||e:null},fromSuperlative:function(e,t){const n=t.two.models.fromSuperlative;return hs(e,n)},fromComparative:function(e,t){const n=t.two.models.fromComparative;return hs(e,n)},all:function(e,t){let n=[e];return n.push(Bs(e,t)),n.push(Ms(e,t)),n.push(_s(e)),n=n.filter((e=>e)),n=new Set(n),Array.from(n)}},Xs={noun:Gs,verb:Ss,adjective:Zs},Ys={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]]||"FutureTense"===e[0]||(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]]=2;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"]}},el=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&&(void 0===o[s[0]]||s.length>o[s[0]])&&(o[s[0]]=s.length),!0===Ys.hasOwnProperty(i)&&Ys[i](t,a,n,r),a[t]=a[t]||i})),delete a[""],delete a.null,delete a[" "],{lex:a,_multi:o}},tl=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&&!al.find((t=>e.endsWith(t)))},il={two:{quickSplit:tl,expandLexicon:el,transform:Xs,looksPlural:ol}},sl=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 ll={one:{lexicon:{}},two:{models:xs}};const ul={"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"},cl=function(e,t){const n={model:t,methods:il};let{lex:r,_multi:a}=il.two.expandLexicon(e,n);return Object.assign(t.one.lexicon,r),Object.assign(t.one._multiCache,a),t},hl=function(e,t,n){let r=$s(e,ll);t[r.PastTense]=t[r.PastTense]||"PastTense",t[r.Gerund]=t[r.Gerund]||"Gerund",!0===n&&(t[r.PresentTense]=t[r.PresentTense]||"PresentTense")},dl=function(e,t,n){let r=Bs(e,n);t[r]=t[r]||"Superlative";let a=Ms(e,n);t[a]=t[a]||"Comparative"},gl=function(e,t){let n={};const r=t.one.lexicon;return Object.keys(e).forEach((a=>{const o=e[a];if(n[a]=ul[o],"Noun|Verb"!==o&&"Person|Verb"!==o&&"Actor|Verb"!==o||hl(a,r,!1),"Adj|Present"===o&&(hl(a,r,!0),dl(a,r,t)),"Person|Adj"===o&&dl(a,r,t),"Adj|Gerund"===o||"Noun|Gerund"===o){let e=zs(a,ll,"Gerund");r[e]||(n[e]="Infinitive")}if("Noun|Gerund"!==o&&"Adj|Noun"!==o&&"Person|Noun"!==o||function(e,t,n){let r=$o(e,n);t[r]=t[r]||"Plural"}(a,r,t),"Adj|Past"===o){let e=zs(a,ll,"PastTense");r[e]||(n[e]="Infinitive")}})),t=cl(n,t)};var ml=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=cl(e.one.lexicon,e)).one.lexicon,e),e=gl(e.two.switches,e),e=sl(e)};let pl={one:{_multiCache:{},lexicon:Bo,frozenLex:{"20th century fox":"Organization","7 eleven":"Organization","motel 6":"Organization","excuse me":"Expression","financial times":"Organization","guns n roses":"Organization","la z boy":"Organization","labour party":"Organization","new kids on the block":"Organization","new york times":"Organization","the guess who":"Organization","thin lizzy":"Organization","prime minister":"Actor","free market":"Singular","lay up":"Singular","living room":"Singular","spin off":"Singular","appeal court":"Uncountable","cold war":"Uncountable","gene pool":"Uncountable","machine learning":"Uncountable","nail polish":"Uncountable","time off":"Uncountable","take part":"Infinitive","bill gates":"Person","doctor who":"Person","he man":"Person","iron man":"Person","kid cudi":"Person","run dmc":"Person","rush limbaugh":"Person","snow white":"Person","tiger woods":"Person","brand new":"Adjective","en route":"Adjective","left wing":"Adjective","off guard":"Adjective","on board":"Adjective","part time":"Adjective","right wing":"Adjective","so called":"Adjective","spot on":"Adjective","straight forward":"Adjective","super duper":"Adjective","tip top":"Adjective","top notch":"Adjective","up to date":"Adjective","win win":"Adjective","brooklyn nets":"SportsTeam","chicago bears":"SportsTeam","houston astros":"SportsTeam","houston dynamo":"SportsTeam","houston rockets":"SportsTeam","houston texans":"SportsTeam","minnesota twins":"SportsTeam","orlando magic":"SportsTeam","san antonio spurs":"SportsTeam","san diego chargers":"SportsTeam","san diego padres":"SportsTeam","iron maiden":"ProperNoun","isle of man":"Country","united states":"Country","united states of america":"Country","prince edward island":"Region","cedar breaks":"Place","cedar falls":"Place","point blank":"Adverb","tiny bit":"Adverb","by the time":"Conjunction","no matter":"Conjunction","civil wars":"Plural","credit cards":"Plural","default rates":"Plural","free markets":"Plural","head starts":"Plural","home runs":"Plural","lay ups":"Plural","phone calls":"Plural","press releases":"Plural","record labels":"Plural","soft serves":"Plural","student loans":"Plural","tax returns":"Plural","tv shows":"Plural","video games":"Plural","took part":"PastTense","takes part":"PresentTense","taking part":"Gerund","taken part":"Participle"}},two:{irregularPlurals:No,models:xs,suffixPatterns:Si,prefixPatterns:Li,endsWith:ts,neighbours:as,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'[a-z]{3}/,"LastName","mc'neil"],[/^o'[a-z]{3}/,"LastName","o'connor"],[/^ma?cd[aeiou][a-z]{3}/,"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:Mo,clues:Ci,uncountable:{},orgWords:Is,placeWords:Ts}};pl=ml(pl);var fl=pl,vl=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''")}}},bl=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 yl=/^(under|over|mis|re|un|dis|semi)-?/;var wl=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(yl.test(a.normal)){let e=a.normal.replace(yl,"");e.length>3&&r.hasOwnProperty(e)&&(a.switch=r[e])}},kl=function(e,t,n){if(!t||0===t.length)return;if(!0===e.frozen)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 Pl=["Acronym","Abbreviation","ProperNoun","Uncountable","Possessive","Pronoun","Activity","Honorific","Month"];var Al=function(e,t,n){let r=e[t],a=Array.from(r.tags);for(let e=0;ee.tags.has(t)))||(ol(e.normal)?kl(e,"Plural","3-plural-guess"):kl(e,"Singular","3-singular-guess"))}(r),function(e){let t=e.tags;if(t.has("Verb")&&1===t.size){let t=Fs(e.normal);t&&kl(e,t,"3-verb-tense-guess")}}(r)};const Cl=/^\p{Lu}[\p{Ll}'’]/u,Nl=/[0-9]/,jl=["Date","Month","WeekDay","Unit","Expression"],xl=/[IVX]/,Il=/^[IVXLCDM]{2,}$/,Tl=/^M{0,4}(CM|CD|D?C{0,3})(XC|XL|L?X{0,3})(IX|IV|V?I{0,3})$/,Dl={li:!0,dc:!0,md:!0,dm:!0,ml:!0};var Hl=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===Cl.test(o)&&!1===Nl.test(o)?jl.find((e=>r.tags.has(e)))||r.pre.match(/["']$/)||"the"===r.normal?null:(Al(e,t,n),r.tags.has("Noun")||r.frozen||r.tags.clear(),kl(r,"ProperNoun","2-titlecase"),!0):o.length>=2&&Il.test(o)&&xl.test(o)&&Tl.test(o)&&!Dl[r.normal]?(kl(r,"RomanNumeral","2-xvii"),!0):null};const Gl=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 El=function(e,t,n){let r=e[t];if(0===r.tags.size){let e=Gl(r.normal,n.two.suffixPatterns);if(null!==e)return kl(r,e,"2-suffix"),r.confidence=.7,!0;if(r.implicit&&(e=Gl(r.implicit,n.two.suffixPatterns),null!==e))return kl(r,e,"2-implicit-suffix"),r.confidence=.7,!0}return null};const Ol=/['‘’‛‵′`´]/,Fl=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 kl(r,e,"2-prefix"),r.confidence=.5,!0}return null};const $l=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"]),Sl=function(e){if(!e)return!1;let t=e.normal||e.implicit;return!!$l.has(t)||!!(e.tags.has("Date")||e.tags.has("Month")||e.tags.has("WeekDay")||e.tags.has("Year"))||!!e.tags.has("ProperNoun")},Bl=function(e){return!(!e||!e.tags.has("Ordinal")&&!(e.tags.has("Cardinal")&&e.normal.length<3)&&"is"!==e.normal&&"was"!==e.normal)},Ml=function(e){return e&&(e.tags.has("Date")||e.tags.has("Month")||e.tags.has("WeekDay")||e.tags.has("Year"))};var Kl=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(Sl(a)||Sl(o))return kl(n,"Year","2-tagYear");if(r>=1920&&r<2025){if(Bl(a)||Bl(o))return kl(n,"Year","2-tagYear-close");if(Ml(e[t-2])||Ml(e[t+2]))return kl(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 kl(n,"Year","2-tagYear-noun")}}}return null},Ll=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 Jl=/^[A-Z]('s|,)?$/,Wl=/^[A-Z-]+$/,ql=/^[A-Z]+s$/,Ul=/([A-Z]\.)+[A-Z]?,?$/,Ql=/[A-Z]{2,}('s|,)?$/,Rl=/([a-z]\.)+[a-z]\.?$/,_l={I:!0,A:!0},Zl={la:!0,ny:!0,us:!0,dc:!0,gb:!0};var Xl=function(e,t,n){let r=e[t];return r.tags.has("RomanNumeral")||r.tags.has("Acronym")||r.frozen?null:function(e,t){let n=e.text;if(!1===Wl.test(n)){if(!(n.length>3&&!0===ql.test(n)))return!1;n=n.replace(/s$/,"")}return!(n.length>5||_l.hasOwnProperty(n)||t.one.lexicon.hasOwnProperty(e.normal)||!0!==Ul.test(n)&&!0!==Rl.test(n)&&!0!==Jl.test(n)&&!0!==Ql.test(n))}(r,n)?(r.tags.clear(),kl(r,["Acronym","Noun"],"3-no-period-acronym"),!0===Zl[r.normal]&&kl(r,"Place","3-place-acronym"),!0===ql.test(r.text)&&kl(r,"Plural","3-plural-acronym"),!0):!_l.hasOwnProperty(r.text)&&Jl.test(r.text)?(r.tags.clear(),kl(r,["Acronym","Noun"],"3-one-letter-acronym"),!0):r.tags.has("Organization")&&r.text.length<=3?(kl(r,"Acronym","3-org-acronym"),!0):r.tags.has("Organization")&&Wl.test(r.text)&&r.text.length<=6?(kl(r,"Acronym","3-titlecase-acronym"),!0):null};const Yl=function(e,t){if(!e)return null;let n=t.find((t=>e.normal===t[0]));return n?n[1]:null},eu=function(e,t){if(!e)return null;let n=t.find((t=>e.tags.has(t[0])));return n?n[1]:null};var tu=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||Yl(e[t-1],a),l=l||Yl(e[t+1],o),l=l||eu(e[t-1],r),l=l||eu(e[t+1],i),l)return kl(s,l,"3-[neighbour]"),Al(e,t,n),e[t].confidence=.2,!0}return null};const nu=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 ru=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]&&nu(e[t-1],t-1,r)){o([e[t]],"Organization",n,null,"3-[org-word]");for(let a=t;a>=0&&nu(e[a],a,r);a-=1)o([e[a]],"Organization",n,null,"3-[org-word]")}return null};const au=/'s$/,ou=new Set(["athletic","city","community","eastern","federal","financial","great","historic","historical","local","memorial","municipal","national","northern","provincial","southern","state","western"]),iu=new Set(["center","centre","way","range","bar","bridge","field","pit"]),su=function(e,t,n){if(!e)return!1;let r=e.tags;return!(r.has("Organization")||r.has("Possessive")||au.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 lu=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(!ou.has(e[a].normal)){if(!su(e[a],a,r))break;o(e.slice(a,t+1),"Place",n,null,"3-[place-of-foo]")}if(iu.has(s))return!1;for(let a=t+1;ae[t].tags.has("ProperNoun")&&cu.test(e[t].text)?"Noun":null,du=(e,t,n)=>0!==t||e[1]?null:n,gu={"Adj|Gerund":(e,t)=>hu(e,t),"Adj|Noun":(e,t)=>hu(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)=>hu(e,t),"Adj|Past":(e,t)=>hu(e,t),"Adj|Present":(e,t)=>hu(e,t),"Noun|Gerund":(e,t)=>hu(e,t),"Noun|Verb":(e,t)=>t>0&&hu(e,t)||du(e,t,"Infinitive"),"Plural|Verb":(e,t)=>hu(e,t)||du(e,t,"PresentTense")||function(e,t,n){return 0===t&&e.length>3?n:null}(e,t,"Plural"),"Person|Noun":(e,t)=>hu(e,t),"Person|Verb":(e,t)=>0!==t?hu(e,t):null,"Person|Adj":(e,t)=>0===t&&e.length>1||hu(e,t)?"Person":null};var mu=gu;const pu="undefined"!=typeof process&&process.env?process.env:self.env||{},fu=/^(under|over|mis|re|un|dis|semi)-?/,vu=(e,t)=>{if(!e||!t)return null;let n=e.normal||e.implicit,r=null;return t.hasOwnProperty(n)&&(r=t[n]),r&&pu.DEBUG_TAGS&&console.log(`\n  ↓ - '${n}' `),r},bu=(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&&pu.DEBUG_TAGS&&console.log(`  ↓ - '${e.normal||e.implicit}' (#${a}) `),a=t[a],a};var yu=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(fu.test(l)&&!o[l]&&(l=l.replace(fu,"")),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=vu(e[t+1],n.afterWords);return o=o||vu(e[t-1],n.beforeWords),o=o||bu(e[t-1],n.beforeTags,a),o=o||bu(e[t+1],n.afterTags,a),o}(e,t,i[o],r);mu[o]&&(u=mu[o](e,t)||u),u?(a([s],u,n,null,`3-[switch] (${o})`),Al(e,t,r)):pu.DEBUG_TAGS&&console.log(`\n -> X - '${l}' : (${o}) `)}};const wu={there:!0,this:!0,it:!0,him:!0,her:!0,us:!0};var ku=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&&!wu[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 Pu=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)))},Au=function(e,t,n,r){for(let a=0;a{vl(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 xu=function(e){const t=e.world,n=Object.keys(ju);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=Su.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=$u},Mu=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 Ku=/'/;var Lu=function(e,t){let n=e[t].normal.split(Ku)[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 Ju=/'/;var Wu=function(e,t){let n=e[t].normal.split(Ju)[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"]},qu=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 Uu={that:!0,there:!0,let:!0,here:!0,everywhere:!0},Qu={in:!0,by:!0,for:!0};var Ru=(e,t)=>{let n=e[t];if(Uu.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 _u=/'/,Zu=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)},Xu={d:(e,t)=>Wu(e,t),t:(e,t)=>qu(e,t),s:(e,t,n)=>Ru(e,t)?n.methods.one.setTag([e[t]],"Possessive",n,null,"2-contraction"):Lu(e,t)},Yu=function(e,t){let n=t.fromText(e.join(" "));return n.compute("id"),n.docs[0]};var ec={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===_u.test(r[o].normal)&&(i=r[o].normal.split(_u)[1]);let s=null;Xu.hasOwnProperty(i)&&(s=Xu[i](r,o,t)),s&&(s=Yu(s,e),Mu(n,[a,o],s),Zu(n[a],e,o,s.length))}}))}},tc={compute:ec,api:Bu,hooks:["contractionTwo"]};const nc="(hard|fast|late|early|high|right|deep|close|direct)",rc="(i|we|they)";let ac=[].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 ${nc}`,tag:"#PresentTense #Adverb",reason:"studies-hard"},{match:`#Verb [${nc}] !#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:rc,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:rc,group:0,tag:"Imperative",reason:"do-it-better"},{match:"^[#Infinitive] it (please|now|again|plz)",notIf:rc,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:"#Determiner #Noun+ [who] #Verb",group:0,tag:"Preposition",reason:"the-x-who"},{match:"#Determiner #Noun+ [which] #Verb",group:0,tag:"Preposition",reason:"the-x-which"},{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:"#Place+ #SportsTeam",tag:"SportsTeam",reason:"place-sportsteam"},{match:"(dc|atlanta|minnesota|manchester|newcastle|sheffield) united",tag:"SportsTeam",reason:"united-sportsteam"},{match:"#Place+ fc",tag:"SportsTeam",reason:"fc-sportsteam"}],[{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"}]),oc=null;var ic={postTagger:function(e){const{world:t}=e,{model:n,methods:r}=t;oc=oc||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(oc),e.uncache(),e.unfreeze(),e},tagger:e=>e.compute(["lexicon","preTagger","postTagger"])};const sc={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:ic,model:{two:{matches:ac}},hooks:["postTagger"]};var lc=sc,uc=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)))))},cc=function(e,t){let n=t;"string"==typeof t&&(n=this.buildNet([{match:t}]));let r=this.tokenize(e),a=uc(r,n);return a.found?(a.compute(["index","tagger"]),a.match(t)):r.none()},hc={lib:{lazy:cc}},dc=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},gc=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")?dc(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},mc={api:function(e){e.prototype.swap=gc}};v.plugin(Fu),v.plugin(tc),v.plugin(lc),v.plugin(hc),v.plugin(mc);const pc=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 fc={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=pc(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=pc(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=pc(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=pc(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=pc(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=pc(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)}}},vc={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)}}},bc=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},yc=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)},wc=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=yc(this);return t=t.getNth(e),new Chunks(this.document,t.pointer)},e.prototype.clauses=bc};const kc={this:"Noun",then:"Pivot"};var Pc=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 Nc=null;var jc=function(e,t,n){const{methods:r}=n;Nc=Nc||r.one.buildNet(Cc,n),e.sweep(Nc)};const xc=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 Ic=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))}}))},Dc={chunks:function(e){const{document:t,world:n}=e;Pc(t),Ac(t),jc(e,t,n),Ic(t),Tc(t)}},Hc={compute:Dc,api:wc,hooks:["chunks"]};const Gc=/\./g;var Ec=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(Gc,""),e.normal=e.normal.replace(Gc,"")}))})),this}addPeriods(){return this.docs.forEach((e=>{e.forEach((e=>{e.text=e.text.replace(Gc,""),e.normal=e.normal.replace(Gc,""),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 Oc=/\(/,Fc=/\)/,Vc=function(e,t){for(;t{e[0].pre=e[0].pre.replace(Oc,"");let t=e[e.length-1];t.post=t.post.replace(Fc,"")})),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($c,""),e.normal=e.normal.replace($c,"")}))})),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 Bc={'"':'"',""":""","'":"'","“":"”","‘":"’","‟":"”","‛":"’","„":"”","⹂":"”","‚":"’","«":"»","‹":"›","‵":"′","‶":"″","‷":"‴","〝":"〞","`":"´","〟":"〞"},Mc=RegExp("["+Object.keys(Bc).join("")+"]"),Kc=RegExp("["+Object.values(Bc).join("")+"]"),Lc=function(e,t){const n=e[t].pre.match(Mc)[0]||"";if(!n||!Bc[n])return null;const r=Bc[n];for(;t{e[0].pre=e[0].pre.replace(Mc,"");let t=e[e.length-1];t.post=t.post.replace(Kc,"")}))}(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=Wc,Uc.forEach((t=>{e.prototype[t[0]]=e.prototype[t[1]]}))},Rc={api:function(e){Ec(e),zc(e),Sc(e),Jc(e),Qc(e)}};const _c=function(e,t){e.docs.forEach((e=>{e.forEach(t)}))};var Zc={case:e=>{_c(e,(e=>{e.text=e.text.toLowerCase()}))},unicode:e=>{const t=e.world,n=t.methods.one.killUnicode;_c(e,(e=>e.text=n(e.text,t)))},whitespace:e=>{_c(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=>{_c(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 Xc=e=>e.split("|").reduce(((e,t)=>(e[t]=!0,e)),{}),Yc="unicode|punctuation|whitespace|acronyms",eh="|case|contractions|parentheses|quotations|emoji|honorifics|debullet",th={light:Xc(Yc),medium:Xc(Yc+eh),heavy:Xc(Yc+eh+"|possessives|adverbs|nouns|verbs")};var nh={api:function(e){e.prototype.normalize=function(e="light"){return"string"==typeof e&&(e=th[e]),Object.keys(e).forEach((t=>{Zc.hasOwnProperty(t)&&Zc[t](this,e[t])})),this}}},rh=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 ah=["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 oh=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")},sh=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:ih(e,t),isSubordinate:oh(e),root:t}};const lh=e=>e.text(),uh=e=>e.json({terms:!1,normal:!0}).map((e=>e.normal)),ch=function(e){if(!e.found)return null;let t=e.values(0);return t.found?(t.parse()[0]||{}).num:null};var hh=function(e){let t=sh(e);return{root:lh(t.root),number:ch(t.number),determiner:lh(t.determiner),adjectives:uh(t.adjectives),isPlural:t.isPlural,isSubordinate:t.isSubordinate}},dh=function(e){return!e.has("^(#Uncountable|#ProperNoun|#Place|#Pronoun|#Acronym)+$")};const gh={tags:!0};var mh=function(e,t){if(!0===t.isPlural)return e;if(t.root.has("#Possessive")&&(t.root=t.root.possessives().strip()),!dh(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,gh).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 ph={tags:!0};var fh=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,ph).tag("Singular","toPlural"),e},vh=function(e){class Nouns extends e{constructor(e,t,n){super(e,t,n),this.viewType="Nouns"}parse(e){return this.getNth(e).map(sh)}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=hh(e)),n}),[])}conjugate(e){const t=this.world.methods.two.transform.noun;return this.getNth(e).map((e=>{let n=sh(e),r=n.root.compute("root").text("root"),a={Singular:r};return dh(n.root)&&(a.Plural=t.toPlural(r,this.model)),a.Singular===a.Plural&&delete a.Plural,a}),[])}isPlural(e){let t=this.filter((e=>sh(e).isPlural));return t.getNth(e)}isSingular(e){let t=this.filter((e=>!sh(e).isPlural));return t.getNth(e)}adjectives(e){let t=this.update([]);return this.forEach((e=>{let n=sh(e).adjectives;n.found&&(t=t.concat(n))})),t.getNth(e)}toPlural(e){return this.getNth(e).map((e=>mh(e,sh(e))))}toSingular(e){return this.getNth(e).map((e=>{let t=sh(e);return fh(e,t)}))}update(e){let t=new Nouns(this.document,e);return t._cache=this._cache,t}}e.prototype.nouns=function(e){let t=rh(this);return t=t.getNth(e),new Nouns(this.document,t.pointer)}},bh={api:vh},yh=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},wh=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(kh.ones.hasOwnProperty(e)){if(t.ones||t.teens)return!1}else if(kh.teens.hasOwnProperty(e)){if(t.ones||t.teens||t.tens)return!1}else if(kh.tens.hasOwnProperty(e)&&(t.ones||t.teens||t.tens))return!1;return!0},Ah=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 Nh=/^([0-9,. ]+)\/([0-9,. ]+)$/,jh={"a few":3,"a couple":2,"a dozen":12,"two dozen":24,zero:0},xh=e=>Object.keys(e).reduce(((t,n)=>t+=e[n]),0);var Ih=function(e){if(!0===jh.hasOwnProperty(e))return jh[e];if("a"===e||"an"===e)return 1;const t=wh(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=Dh(n),r=Dh(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:Dh(n);let a=r.text("reduced");return Th.test(a)&&(a=a.replace(Th,""),r=r.replaceWith(a)),r=Hh.hasOwnProperty(a)?Hh[a]:Dh(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:Dh(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},Eh=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 Oh=[["ninety",90],["eighty",80],["seventy",70],["sixty",60],["fifty",50],["forty",40],["thirty",30],["twenty",20]],Fh=["","one","two","three","four","five","six","seven","eight","nine","ten","eleven","twelve","thirteen","fourteen","fifteen","sixteen","seventeen","eighteen","nineteen"],Vh=[[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"]],zh=function(e){let t=[];if(e>100)return t;for(let n=0;n=Oh[n][1]&&(e-=Oh[n][1],t.push(Oh[n][0]));return Fh[e]&&t.push(Fh[e]),t};var $h=function(e){let t=e.num;if(0===t||"0"===t)return"zero";t>1e21&&(t=Eh(t));let n=[];t<0&&(n.push("minus"),t=Math.abs(t));let r=function(e){let t=e,n=[];return Vh.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(zh(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=Eh(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(" ")},Sh=function(e){return e.numerator&&e.denominator?`${$h({num:e.numerator})} out of ${$h({num:e.denominator})}`:""};const Bh={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 Mh=e=>{let t=$h(e).split(" "),n=t[t.length-1];return Bh.hasOwnProperty(n)?t[t.length-1]=Bh[n]:t[t.length-1]=n.replace(/y$/,"i")+"th",t.join(" ")},Kh=function(e){if(!e.numerator||!e.denominator)return"";let t=$h({num:e.numerator}),n=Mh({num:e.denominator});return 2===e.denominator&&(n="half"),t&&n?(1!==e.numerator&&(n+="s"),`${t} ${n}`):""},Lh=function(e){class Fractions extends e{constructor(e,t,n){super(e,t,n),this.viewType="Fractions"}parse(e){return this.getNth(e).map(Gh)}get(e){return this.getNth(e).map(Gh)}json(e){return this.getNth(e).map((t=>{let n=t.toView().json(e)[0],r=Gh(t);return n.fraction=r,n}),[])}toDecimal(e){return this.getNth(e).forEach((e=>{let{decimal:t}=Gh(e);(e=e.replaceWith(String(t),!0)).tag("NumericValue"),e.unTag("Fraction")})),this}toFraction(e){return this.getNth(e).forEach((e=>{let t=Gh(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=Gh(e),n=Kh(t);e.after("^#Noun").found&&(n+=" of"),e.replaceWith(n)})),this}toCardinal(e){return this.getNth(e).forEach((e=>{let t=Gh(e),n=Sh(t);e.replaceWith(n)})),this}toPercentage(e){return this.getNth(e).forEach((e=>{let{decimal:t}=Gh(e),n=100*t;n=Math.round(100*n)/100,e.replaceWith(`${n}%`)})),this}}e.prototype.fractions=function(e){let t=yh(this);return t=t.getNth(e),new Fractions(this.document,t.pointer)}};const Jh="twenty|thirty|forty|fifty|sixty|seventy|eighty|ninety|fourty";var Wh=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("("+Jh+") #Cardinal #Cardinal")&&(t=t.splitAfter("("+Jh+") #Cardinal")),t.has("#Value #Value")){t.has("#NumericValue #NumericValue")&&(t=t.splitOn("#Year")),t.has("("+Jh+") (eleven|twelve|thirteen|fourteen|fifteen|sixteen|seventeen|eighteen|nineteen)")&&(t=t.splitAfter("("+Jh+")"));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) (${Jh})`),r=e.has("("+Jh+") #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("("+Jh+") #Ordinal")||(t=t.splitAfter("#Ordinal"))),t=t.splitBefore("#Ordinal [#Cardinal]",0),t.has("#TextValue #NumericValue")&&!t.has("("+Jh+"|#Multiple)")&&(t=t.splitBefore("#TextValue #NumericValue"))}return t=t.splitAfter("#NumberRange"),t=t.splitBefore("#Year"),t},qh=function(e){if("string"==typeof e)return{num:Ih(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=Gh(a),t=(e=(e=e.not(a)).not("and$")).text("reduced"));let i=0;return t&&(i=Ih(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}},Uh=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=Eh(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"},Rh={"%":"percent","°":"degrees"};var _h=function(e){let t={suffix:"",prefix:e.prefix};return Qh.hasOwnProperty(e.prefix)&&(t.suffix+=" "+Qh[e.prefix],t.prefix=""),Rh.hasOwnProperty(e.suffix)&&(t.suffix+=" "+Rh[e.suffix]),t.suffix&&1===e.num&&(t.suffix=t.suffix.replace(/s$/,"")),!t.suffix&&e.suffix&&(t.suffix+=" "+e.suffix),t},Zh=function(e,t){if("TextOrdinal"===t){let{prefix:t,suffix:n}=_h(e);return t+Mh(e)+n}if("Ordinal"===t)return e.prefix+Uh(e)+e.suffix;if("TextCardinal"===t){let{prefix:t,suffix:n}=_h(e);return t+$h(e)+n}let n=e.num;return e.hasComma&&(n=n.toLocaleString()),e.prefix+String(n)+e.suffix},Xh=function(e){class Numbers extends e{constructor(e,t,n){super(e,t,n),this.viewType="Numbers"}parse(e){return this.getNth(e).map(qh)}get(e){return this.getNth(e).map(qh).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=qh(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=qh(e);if(null===t.num)return;let n=e.has("#Ordinal")?"Ordinal":"Cardinal",r=Zh(t,n);e.replaceWith(r,{tags:!0}),e.tag("NumericValue")})),this}toLocaleString(){return this.forEach((e=>{let t=qh(e);if(null===t.num)return;let n=t.num.toLocaleString();if(e.has("#Ordinal")){let e=Zh(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=qh(e);if(null===t.num)return e;let n=e.has("#Ordinal")?"TextOrdinal":"TextCardinal",r=Zh(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=qh(e);if(null===t.num)return e;let n=e.has("#TextValue")?"TextCardinal":"Cardinal",r=Zh(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=qh(e);if(null===t.num)return e;let n=e.has("#TextValue")?"TextOrdinal":"Ordinal",r=Zh(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=>qh(t).num===e))}greaterThan(e){return this.filter((t=>qh(t).num>e))}lessThan(e){return this.filter((t=>qh(t).num{let r=qh(n).num;return r>e&&r{let n=qh(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=Zh(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=qh(e).num);let t=this.map((t=>{let n=qh(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=Zh(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=Wh(this);return t=t.getNth(e),new Numbers(this.document,t.pointer)},e.prototype.percentages=function(e){let t=Wh(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=Wh(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},Yh={api:function(e){Lh(e),Xh(e)}};const ed={people:!0,emails:!0,phoneNumbers:!0,places:!0},td=function(e={}){return!1!==(e=Object.assign({},ed,e)).people&&this.people().replaceWith("██████████"),!1!==e.emails&&this.emails().replaceWith("██████████"),!1!==e.places&&this.places().replaceWith("██████████"),!1!==e.phoneNumbers&&this.phoneNumbers().replaceWith("███████"),this},nd={api:function(e){e.prototype.redact=td}};var rd=nd,ad=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))}))},od=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 id=function(e){let t=null;return e.has("#PastTense")?t="PastTense":e.has("#FutureTense")?t="FutureTense":e.has("#PresentTense")&&(t="PresentTense"),{tense:t}};var sd=function(e){let t=e.clauses(),n=od(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:id(a)}},ld=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},ud=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},cd=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},hd=function(e){return e.verbs().toInfinitive(),e},dd=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}=sd(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=>(sd(e),ld(e))))}toPresentTense(e){return this.getNth(e).map((e=>(sd(e),ud(e))))}toFutureTense(e){return this.getNth(e).map((e=>(sd(e),e=cd(e))))}toInfinitive(e){return this.getNth(e).map((e=>(sd(e),hd(e))))}toNegative(e){return this.getNth(e).map((e=>(sd(e),function(e){return e.verbs().first().toNegative().compute("chunks"),e}(e))))}toPositive(e){return this.getNth(e).map((e=>(sd(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 ad(this).getNth(e)}};Object.assign(e.prototype,t)},gd={api:dd},md=function(e){let t=e.match("#Honorific+? #Person+"),n=t.match("#Possessive").notIf("(his|her)");return t=t.splitAfter(n),t},pd=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 fd="male",vd="female",bd={mr:fd,mrs:vd,miss:vd,madam:vd,king:fd,queen:vd,duke:fd,duchess:vd,baron:fd,baroness:vd,count:fd,countess:vd,prince:fd,princess:vd,sire:fd,dame:vd,lady:vd,ayatullah:fd,congressman:fd,congresswoman:vd,"first lady":vd,mx:null};var yd=function(e,t){let{firstName:n,honorific:r}=e;if(n.has("#FemaleName"))return vd;if(n.has("#MaleName"))return fd;if(r.found){let e=r.text("normal");if(e=e.replace(/\./g,""),bd.hasOwnProperty(e))return bd[e];if(/^her /.test(e))return vd;if(/^his /.test(e))return fd}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 fd;if(n&&!t)return vd}return null},wd=function(e){class People extends e{constructor(e,t,n){super(e,t,n),this.viewType="People"}parse(e){return this.getNth(e).map(pd)}json(e){let t="object"==typeof e?e:{};return this.getNth(e).map((e=>{let n=e.toView().json(t)[0],r=pd(e);return n.person={firstName:r.firstName.text("normal"),lastName:r.lastName.text("normal"),honorific:r.honorific.text("normal"),presumed_gender:yd(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=md(this);return t=t.getNth(e),new People(this.document,t.pointer)}},kd=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},Pd=function(e){e.prototype.places=function(t){let n=kd(this);return n=n.getNth(t),new e(this.document,n.pointer)}},Ad=function(e){e.prototype.organizations=function(e){return this.match("#Organization+").getNth(e)}};const Cd=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 Nd=function(e){e.prototype.topics=Cd},jd={api:function(e){wd(e),Pd(e),Ad(e),Nd(e)}},xd=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},Id=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},Td=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 Dd=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},Hd=function(e){return e.match("#Negative")},Gd=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 Ed=function(e){let t=e.clone();t.contractions().expand();const n=Id(t);return{root:n,prefix:t.match("#Prefix"),adverbs:Td(t,n),auxiliary:Dd(t,n),negative:Hd(t),phrasal:Gd(n)}};const Od={tense:"PresentTense"},Fd={conditional:!0},Vd={tense:"FutureTense"},zd={progressive:!0},$d={tense:"PastTense"},Sd={complete:!0,progressive:!1},Bd={passive:!0},Md=function(e){let t={};return e.forEach((e=>{Object.assign(t,e)})),t},Kd={imperative:[["#Imperative",[]]],"want-infinitive":[["^(want|wants|wanted) to #Infinitive$",[Od]],["^wanted to #Infinitive$",[$d]],["^will want to #Infinitive$",[Vd]]],"gerund-phrase":[["^#PastTense #Gerund$",[$d]],["^#PresentTense #Gerund$",[Od]],["^#Infinitive #Gerund$",[Od]],["^will #Infinitive #Gerund$",[Vd]],["^have #PastTense #Gerund$",[$d]],["^will have #PastTense #Gerund$",[$d]]],"simple-present":[["^#PresentTense$",[Od]],["^#Infinitive$",[Od]]],"simple-past":[["^#PastTense$",[$d]]],"simple-future":[["^will #Adverb? #Infinitive",[Vd]]],"present-progressive":[["^(is|are|am) #Gerund$",[Od,zd]]],"past-progressive":[["^(was|were) #Gerund$",[$d,zd]]],"future-progressive":[["^will be #Gerund$",[Vd,zd]]],"present-perfect":[["^(has|have) #PastTense$",[$d,Sd]]],"past-perfect":[["^had #PastTense$",[$d,Sd]],["^had #PastTense to #Infinitive",[$d,Sd]]],"future-perfect":[["^will have #PastTense$",[Vd,Sd]]],"present-perfect-progressive":[["^(has|have) been #Gerund$",[$d,zd]]],"past-perfect-progressive":[["^had been #Gerund$",[$d,zd]]],"future-perfect-progressive":[["^will have been #Gerund$",[Vd,zd]]],"passive-past":[["(got|were|was) #Passive",[$d,Bd]],["^(was|were) being #Passive",[$d,Bd]],["^(had|have) been #Passive",[$d,Bd]]],"passive-present":[["^(is|are|am) #Passive",[Od,Bd]],["^(is|are|am) being #Passive",[Od,Bd]],["^has been #Passive",[Od,Bd]]],"passive-future":[["will have been #Passive",[Vd,Bd,Fd]],["will be being? #Passive",[Vd,Bd,Fd]]],"present-conditional":[["would be #PastTense",[Od,Fd]]],"past-conditional":[["would have been #PastTense",[$d,Fd]]],"auxiliary-future":[["(is|are|am|was) going to (#Infinitive|#PresentTense)",[Vd]]],"auxiliary-past":[["^did #Infinitive$",[$d,{plural:!1}]],["^used to #Infinitive$",[$d,Sd]]],"auxiliary-present":[["^(does|do) #Infinitive$",[Od,Sd,{plural:!0}]]],"modal-past":[["^(could|must|should|shall) have #PastTense$",[$d]]],"modal-infinitive":[["^#Modal #Infinitive$",[]]],infinitive:[["^#Infinitive$",[]]]};let Ld=[];Object.keys(Kd).map((e=>{Kd[e].forEach((t=>{Ld.push({name:e,match:t[0],data:Md(t[1])})}))}));var Jd=Ld,Wd=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(),qd(r)&&(n.remove(r),r=n.last()),qd(r)&&(n.remove(r),r=n.last()),r)}(e);return{subject:t,plural:Ud(t,e)}};const Rd=e=>e,_d=(e,t)=>{let n=Qd(e),r=n.subject;return!(!r.has("i")&&!r.has("we"))||n.plural},Zd=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"},Xd=function(e,t){let n=Qd(e),r=n.subject;return r.has("i")||r.has("we")||n.plural?"do":"does"},Yd=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},eg=function(e,t){const{toInfinitive:n}=e.methods.two.transform.verb;let r=t.root.text({keepPunct:!1});return r=n(r,e.model,Yd(e)),r&&e.replace(t.root,r),e},tg=e=>e.has("will not")?e.replace("will not","have not"):e.remove("will"),ng=function(e){return e&&e.isView?e.json({normal:!0,terms:!1,text:!1}).map((e=>e.normal)):[]},rg=function(e){return e&&e.isView?e.text("normal"):""},ag=function(e){const{toInfinitive:t}=e.methods.two.transform.verb;return t(e.text("normal"),e.model,Yd(e))};var og=function(e){let t=Ed(e);e=e.clone().toView();const n=Wd(e,t);return{root:t.root.text(),preAdverbs:ng(t.adverbs.pre),postAdverbs:ng(t.adverbs.post),auxiliary:rg(t.auxiliary),negative:t.negative.found,prefix:rg(t.prefix),infinitive:ag(t.root),grammar:n}};const ig={tags:!0};var sg=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,Yd(r)),i&&e.replace(r,i,ig).tag("Verb").firstTerm().tag("Infinitive"),o.found&&e.remove(o),t.negative.found){e.has("not")||e.prepend("not");let t=Xd(e);e.prepend(t)}return e.fullSentence().compute(["lexicon","preTagger","postTagger","chunks"]),e};const lg={tags:!0},ug={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,Yd(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,lg),e},both:function(e,t){return t.negative.found?(e.replace("will","did"),e):(e=ug.simple(e,t),e=ug.noAux(e,t))},hasHad:e=>(e.replace("has","had",lg),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,Yd(a)),n(o,e.model).Participle}},cg={infinitive:ug.simple,"simple-present":ug.simple,"simple-past":Rd,"simple-future":ug.both,"present-progressive":e=>(e.replace("are","were",lg),e.replace("(is|are|am)","was",lg),e),"past-progressive":Rd,"future-progressive":(e,t)=>(e.match(t.root).insertBefore("was"),e.remove("(will|be)"),e),"present-perfect":ug.hasHad,"past-perfect":Rd,"future-perfect":(e,t)=>(e.match(t.root).insertBefore("had"),e.has("will")&&(e=tg(e)),e.remove("have"),e),"present-perfect-progressive":ug.hasHad,"past-perfect-progressive":Rd,"future-perfect-progressive":e=>(e.remove("will"),e.replace("have","had",lg),e),"passive-past":e=>(e.replace("have","had",lg),e),"passive-present":e=>(e.replace("(is|are)","was",lg),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",lg),e.remove("will")),e),"present-conditional":e=>(e.replace("be","have been"),e),"past-conditional":Rd,"auxiliary-future":e=>(e.replace("(is|are|am)","was",lg),e),"auxiliary-past":Rd,"auxiliary-present":e=>(e.replace("(do|does)","did",lg),e),"modal-infinitive":(e,t)=>(e.has("can")?e.replace("can","could",lg):(ug.simple(e,t),e.match("#Modal").insertAfter("have").tag("Auxiliary")),e),"modal-past":Rd,"want-infinitive":e=>(e.replace("(want|wants)","wanted",lg),e.remove("will"),e),"gerund-phrase":(e,t)=>(t.root=t.root.not("#Gerund$"),ug.simple(e,t),tg(e),e)};var hg=function(e,t,n){return cg.hasOwnProperty(n)?((e=cg[n](e,t)).fullSentence().compute(["tagger","chunks"]),e):e};const dg=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"},gg=(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,Yd(a));let s=n(i,e.model);if(i=s.Participle||s.PastTense,i){e=e.replace(a,i);let t=dg(e);e.prepend(t).match(t).tag("Auxiliary"),e.remove(o)}return e},mg={infinitive:gg,"simple-present":gg,"simple-future":(e,t)=>e.replace("will",dg(e)),"present-perfect":Rd,"past-perfect":Rd,"future-perfect":(e,t)=>e.replace("will have",dg(e)),"present-perfect-progressive":Rd,"past-perfect-progressive":Rd,"future-perfect-progressive":Rd};var pg=function(e,t,n){return mg.hasOwnProperty(n)?((e=mg[n](e,t)).fullSentence().compute(["tagger","chunks"]),e):((e=gg(e,t)).fullSentence().compute(["tagger","chunks"]),e)};const fg={tags:!0},vg=(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,Yd(a)),!1===_d(e)&&(o=n(o,e.model).PresentTense),a.has("#Copula")&&(o=Zd(e)),o&&(e=e.replace(a,o,fg)).not("#Particle").tag("PresentTense"),e},bg=(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,Yd(a)),!1===_d(e)&&(o=n(o,e.model).Gerund),o&&(e=e.replace(a,o,fg)).not("#Particle").tag("Gerund"),e},yg={infinitive:vg,"simple-present":(e,t)=>{const{conjugate:n}=e.methods.two.transform.verb;let{root:r}=t;if(!r.has("#Infinitive"))return vg(e,t);{let t=Qd(e).subject;if(_d(e)||t.has("i"))return e;let a=r.text("normal"),o=n(a,e.model).PresentTense;a!==o&&e.replace(r,o,fg)}return e},"simple-past":vg,"simple-future":(e,t)=>{const{root:n,auxiliary:r}=t;if(r.has("will")&&n.has("be")){let t=Zd(e);e.replace(n,t),(e=e.remove("will")).replace("not "+t,t+" not")}else vg(e,t),e=e.remove("will");return e},"present-progressive":Rd,"past-progressive":(e,t)=>{let n=Zd(e);return e.replace("(were|was)",n,fg)},"future-progressive":e=>(e.match("will").insertBefore("is"),e.remove("be"),e.remove("will")),"present-perfect":(e,t)=>(vg(e,t),e=e.remove("(have|had|has)")),"past-perfect":(e,t)=>{let n=Qd(e).subject;return _d(e)||n.has("i")?((e=eg(e,t)).remove("had"),e):(e.replace("had","has",fg),e)},"future-perfect":e=>(e.match("will").insertBefore("has"),e.remove("have").remove("will")),"present-perfect-progressive":Rd,"past-perfect-progressive":e=>e.replace("had","has",fg),"future-perfect-progressive":e=>(e.match("will").insertBefore("has"),e.remove("have").remove("will")),"passive-past":(e,t)=>{let n=Zd(e);return e.has("(had|have|has)")&&e.has("been")?(e.replace("(had|have|has)",n,fg),e.replace("been","being"),e):e.replace("(got|was|were)",n)},"passive-present":Rd,"passive-future":e=>(e.replace("will","is"),e.replace("be","being")),"present-conditional":Rd,"past-conditional":e=>(e.replace("been","be"),e.remove("have")),"auxiliary-future":(e,t)=>(bg(e,t),e.remove("(going|to)"),e),"auxiliary-past":(e,t)=>{if(t.auxiliary.has("did")){let n=Xd(e);return e.replace(t.auxiliary,n),e}return bg(e,t),e.replace(t.auxiliary,"is"),e},"auxiliary-present":Rd,"modal-infinitive":Rd,"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,Yd(r)),a&&(e=e.replace(t.root,a,fg))})(e,t),e.remove("have")),"gerund-phrase":(e,t)=>(t.root=t.root.not("#Gerund$"),vg(e,t),e.remove("(will|have)")),"want-infinitive":(e,t)=>{let n="wants";return _d(e)&&(n="want"),e.replace("(want|wanted|wants)",n,fg),e.remove("will"),e}};var wg=function(e,t,n){return yg.hasOwnProperty(n)?((e=yg[n](e,t)).fullSentence().compute(["tagger","chunks"]),e):e};const kg={tags:!0},Pg=(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,Yd(r)),o&&(e=e.replace(r,o,kg)).not("#Particle").tag("Verb"),e.prepend("will").match("will").tag("Auxiliary"),e.remove(a),e},Ag=(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,Yd(a)),i&&(i=n(i,e.model).Gerund,e.replace(a,i,kg),e.not("#Particle").tag("PresentTense")),e.remove(o),e.prepend("will be").match("will be").tag("Auxiliary"),e},Cg={infinitive:Pg,"simple-present":Pg,"simple-past":Pg,"simple-future":Rd,"present-progressive":Ag,"past-progressive":Ag,"future-progressive":Rd,"present-perfect":e=>(e.match("(have|has)").replaceWith("will have"),e),"past-perfect":e=>e.replace("(had|has)","will have"),"future-perfect":Rd,"present-perfect-progressive":e=>e.replace("has","will have"),"past-perfect-progressive":e=>e.replace("had","will have"),"future-perfect-progressive":Rd,"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":Rd,"present-conditional":e=>e.replace("would","will"),"past-conditional":e=>e.replace("would","will"),"auxiliary-future":Rd,"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":Rd,"modal-past":Rd,"gerund-phrase":(e,t)=>(t.root=t.root.not("#Gerund$"),Pg(e,t),e.remove("(had|have)")),"want-infinitive":e=>(e.replace("(want|wants|wanted)","will want"),e)};var Ng=function(e,t,n){return e.has("will")||e.has("going to")?e:Cg.hasOwnProperty(n)?((e=Cg[n](e,t)).fullSentence().compute(["tagger","chunks"]),e):e};const jg={tags:!0};var xg=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,Yd(a));let s=r(i,e.model).Gerund;if(s){let t=Zd(e);e.replace(a,s,jg),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 Ig={tags:!0},Tg=function(e,t){let n=Xd(e);return e.prepend(n+" not"),e},Dg=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)},Hg=e=>e.has("(is|was|am|are|will|were|be)"),Gg={"simple-present":(e,t)=>!0===Hg(e)?Dg(e):(e=eg(e,t),e=Tg(e)),"simple-past":(e,t)=>!0===Hg(e)?Dg(e):((e=eg(e,t)).prepend("did not"),e),imperative:e=>(e.prepend("do not"),e),infinitive:(e,t)=>!0===Hg(e)?Dg(e):Tg(e),"passive-past":e=>{if(e.has("got"))return e.replace("got","get",Ig),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=Tg(e)).replace("wants","want",Ig)};var Eg=function(e,t,n){if(e.has("#Negative"))return e;if(Gg.hasOwnProperty(n))return e=Gg[n](e,t);let r=e.matchOne("be");return r.found?(r.prepend("not"),e):!0===Hg(e)?Dg(e):(r=e.matchOne("(will|had|have|has|did|does|do|#Modal)"),r.found?(r.append("not"),e):e)},Og=function(e){class Verbs extends e{constructor(e,t,n){super(e,t,n),this.viewType="Verbs"}parse(e){return this.getNth(e).map(Ed)}json(e,t){let n=this.getNth(t).map((t=>{let n=t.toView().json(e)[0]||{};return n.verb=og(t),n}),[]);return n}subjects(e){return this.getNth(e).map((e=>(Ed(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=Ed(e),n=Wd(e,t);return sg(e,t,n.form)}))}toPresentTense(e){return this.getNth(e).map((e=>{let t=Ed(e),n=Wd(e,t);return n.isInfinitive?e:wg(e,t,n.form)}))}toPastTense(e){return this.getNth(e).map((e=>{let t=Ed(e),n=Wd(e,t);return n.isInfinitive?e:hg(e,t,n.form)}))}toFutureTense(e){return this.getNth(e).map((e=>{let t=Ed(e),n=Wd(e,t);return n.isInfinitive?e:Ng(e,t,n.form)}))}toGerund(e){return this.getNth(e).map((e=>{let t=Ed(e),n=Wd(e,t);return n.isInfinitive?e:xg(e,t,n.form)}))}toPastParticiple(e){return this.getNth(e).map((e=>{let t=Ed(e),n=Wd(e,t);return n.isInfinitive?e:pg(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=Ed(e),a=Wd(e,r);"imperative"===a.form&&(a.form="simple-present");let o=r.root.text("normal");if(!r.root.has("#Infinitive")){let t=Yd(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=Ed(e),n=Wd(e,t);return Eg(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=xd(this);return t=t.getNth(e),new Verbs(this.document,t.pointer)}},Fg={api:Og};const Vg=function(e,t){let n=t.match(e);if(n.found){let e=n.pronouns().refersTo();if(e.found)return e}return t.none()},zg=function(e){if(!e.found)return e;let[t]=e.fullPointer[0];return t&&t>0?e.update([[t-1]]):e.none()};var $g=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?Vg("(she|her|hers)",e):"m"===t?Vg("(he|him|his)",e):e.none())},Sg=function(e){let t=e.nouns(),n=t.isPlural().notIf("#Pronoun");if(n.found)return n.last();let r=Vg("(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 Bg=function(e,t){let n=e.before(),r=t(n);return r.found?r:(n=zg(e),r=t(n),r.found?r:(n=zg(n),r=t(n),r.found?r:e.none()))};var Mg=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=Bg(e,(e=>$g(e,"m"))):e.has("(she|her|hers)")?t=Bg(e,(e=>$g(e,"f"))):e.has("(they|their|theirs)")&&(t=Bg(e,Sg)),t&&t.found&&function(e,t){t&&t.found&&(e.docs[0][0].reference=t.ptrs[0])}(e,t)}))},Kg=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)}},Lg={compute:{coreference:Mg},api:Kg};return v.plugin(fc),v.plugin(vc),v.plugin(Hc),v.plugin(Lg),v.plugin(Rc),v.plugin(nh),v.plugin(bh),v.plugin(Yh),v.plugin(rd),v.plugin(gd),v.plugin(jd),v.plugin(Fg),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 9b59bbe49..31557054f 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.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}; +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.11.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},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 D=function(e){if(e.has("@hasContraction")&&"function"==typeof e.contractions){e.grow("@hasContraction").contractions().expand()}},H=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]||[]:H(e)?H(e[0])?e[0]:e:[]}(e,a);0!==d.length&&(d=function(e){return e.map((e=>(e.id=T(e),e)))}(d),n?(D(t.update([u]).firstTerm()),j(h,u,d,r)):(D(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 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 B=S;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 K=M;var L={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 J=new Set(["index","sequence","seq","sequential","chron","chronological"]),W=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 J.has(e)&&(e="sequential"),q.has(e)&&(e="alpha"),W.has(e)?(a=L.byFreq(a),this.update(a.map((e=>e.pointer)))):"function"==typeof L[e]?(a=a.sort(L[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 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}},O,z,B,K,U,R,_);var X=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=[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=/'/,he=/(e|é|aison|sion|tion)$/,de=/(age|isme|acle|ege|oire)$/;var ge=(e,t)=>["je",e[t].normal.split(ce)[1]],me=(e,t)=>{let n=e[t].normal.split(ce)[1];return n&&n.endsWith("e")?["la",n]:["le",n]},pe=(e,t)=>{let n=e[t].normal.split(ce)[1];return n&&he.test(n)&&!de.test(n)?["du",n]:n&&n.endsWith("s")?["des",n]:["de",n]};const fe=/^([0-9.]{1,4}[a-z]{0,2}) ?[-–—] ?([0-9]{1,4}[a-z]{0,2})$/i,ve=/^([0-9]{1,2}(:[0-9][0-9])?(am|pm)?) ?[-–—] ?([0-9]{1,2}(:[0-9][0-9])?(am|pm)?)$/i,be=/^[0-9]{3}-[0-9]{4}$/;var ye=function(e,t){let n=e[t],r=n.text.match(fe);return null!==r?!0===n.tags.has("PhoneNumber")||be.test(n.text)?null:[r[1],"to",r[2]]:(r=n.text.match(ve),null!==r?[r[1],"to",r[4]]:null)};const we=/^([+-]?[0-9][.,0-9]*)([a-z°²³µ/]+)$/;var ke=function(e,t,n){const r=n.model.one.numberSuffixes||{};let a=e[t].text.match(we);if(null!==a){let e=a[2].toLowerCase().trim();return r.hasOwnProperty(e)?null:[a[1],e]}return null};const Pe=/'/,Ae=/^[0-9][^-–—]*[-–—].*?[0-9]/,Ce=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]]},Ne={t:(e,t)=>ue(e,t),d:(e,t)=>le(e,t)},je={j:(e,t)=>ge(e,t),l:(e,t)=>me(e,t),d:(e,t)=>pe(e,t)},xe=function(e,t,n,r){for(let a=0;a2)return o.out.concat(r)}return null},Ie=function(e,t){let n=t.fromText(e.join(" "));return n.compute(["id","alias"]),n.docs[0]},Te=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 De=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;if(!0===Pe.test(r[s].normal)){let e=r[s].normal.split(Pe);l=e[0],u=e[1]}let c=xe(o,r[s],l,u);!c&&Ne.hasOwnProperty(u)&&(c=Ne[u](r,s,t)),!c&&je.hasOwnProperty(l)&&(c=je[l](r,s)),"there"===l&&"s"===u&&(c=Te(r,s)),c?(c=Ie(c,e),re(n,[i,s],c),Ce(n[i],e,s,c.length)):Ae.test(r[s].normal)?(c=ye(r,s),c&&(c=Ie(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"),Ce(n[i],e,s,c.length))):(c=ke(r,s,t),c&&(c=Ie(c,e),re(n,[i,s],c),a.one.setTag([c[1]],"Unit",t,null,"contraction-unit")))}}))};var He={model:ne,compute:{contractions:De},hooks:["contractions"]};var Ge=function(e,t,n){const{model:r,methods:a}=n,o=a.one.setTag,i=r.one._multiCache||{},{lexicon:s,frozenLex:l}=r.one||{};let u=e[t],c=u.machine||u.normal;if(void 0!==i[c]&&e[t+1]){for(let r=t+i[c]-1;r>t;r-=1){let a=e.slice(t,r+1);if(a.length<=1)return!1;let i=a.map((e=>e.machine||e.normal)).join(" ");if(!0===l.hasOwnProperty(i))return o(a,l[i],n,!1,"1-frozen-multi-lexicon"),a.forEach((e=>e.frozen=!0)),!0;if(!0===s.hasOwnProperty(i)){let e=s[i];return o(a,e,n,!1,"1-multi-lexicon"),!e||2!==e.length||"PhrasalVerb"!==e[0]&&"PhrasalVerb"!==e[1]||o([a[1]],"Particle",n,!1,"1-phrasal-particle"),!0}}return!1}return null};const Ee=/^(under|over|mis|re|un|dis|semi|pre|post)-?/,Oe=new Set(["Verb","Infinitive","PastTense","Gerund","PresentTense","Adjective","Participle"]);var Fe=function(e,t,n){const{model:r,methods:a}=n,o=a.one.setTag,{lexicon:i,frozenLex:s}=r.one;let l=e[t],u=l.machine||l.normal;if(void 0!==s[u]&&s.hasOwnProperty(u))return o([l],s[u],n,!1,"1-freeze-lexicon"),l.frozen=!0,!0;if(void 0!==i[u]&&i.hasOwnProperty(u))return o([l],i[u],n,!1,"1-lexicon"),!0;if(l.alias){let e=l.alias.find((e=>i.hasOwnProperty(e)));if(e)return o([l],i[e],n,!1,"1-lexicon-alias"),!0}if(!0===Ee.test(u)){let e=u.replace(Ee,"");if(i.hasOwnProperty(e)&&e.length>3&&Oe.has(i[e]))return o([l],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&&(void 0===n[o[0]]||o.length>n[o[0]])&&(n[o[0]]=o.length),t[r]=t[r]||a})),delete t[""],delete t.null,delete t[" "],{lex:t,_multi:n}};var $e={addWords:function(e,t=!1){const n=this.world(),{methods:r,model:a}=n;if(!e)return;if(Object.keys(e).forEach((t=>{"string"==typeof e[t]&&e[t].startsWith("#")&&(e[t]=e[t].replace(/^#/,""))})),!0===t){let{lex:t,_multi:o}=r.one.expandLexicon(e,n);return Object.assign(a.one._multiCache,o),void Object.assign(a.one.frozenLex,t)}if(r.two.expandLexicon){let{lex:t,_multi:o}=r.two.expandLexicon(e,n);Object.assign(a.one.lexicon,t),Object.assign(a.one._multiCache,o)}let{lex:o,_multi:i}=r.one.expandLexicon(e,n);Object.assign(a.one.lexicon,o),Object.assign(a.one._multiCache,i)}};var Se={model:{one:{lexicon:{},_multiCache:{},frozenLex:{}}},methods:{one:{expandLexicon:ze}},compute:Ve,lib:$e,hooks:["lexicon"]};var Be=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 Me=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 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 We=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 qe={buildTrie:function(e){const t=Be(e,this.world());return We(t)}};qe.compile=qe.buildTrie;var Ue={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:Be(e,this.world));var r;let a=Le(this,n,t);return a=a.settle(),a}},lib:qe};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},Re=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}},_e=e=>"[object Object]"===Object.prototype.toString.call(e),Ze=e=>e&&_e(e)&&!0===e.isView,Xe=e=>e&&_e(e)&&!0===e.isNet,Ye=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 et={matchOne:function(e,t,n){const r=this.methods.one;if(Ze(e))return this.intersection(e).eq(0);if(Xe(e))return this.sweep(e,{tagger:!1,matchOne:!0}).view;let a={regs:e=Ye(e,n,this.world),group:t,justOne:!0},o=r.match(this.docs,a,this._cache),{ptrs:i,byGroup:s}=Re(o,this.fullPointer),l=this.toView(i);return l._groups=s,l},match:function(e,t,n){const r=this.methods.one;if(Ze(e))return this.intersection(e);if(Xe(e))return this.sweep(e,{tagger:!1}).view.settle();let a={regs:e=Ye(e,n,this.world),group:t},o=r.match(this.docs,a,this._cache),{ptrs:i,byGroup:s}=Re(o,this.fullPointer),l=this.toView(i);return l._groups=s,l},has:function(e,t,n){const r=this.methods.one;if(Ze(e)){return e.fullPointer.length>0}if(Xe(e))return this.sweep(e,{tagger:!1}).view.found;let a={regs:e=Ye(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(Ze(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 a={regs:e=Ye(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(Ze(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=Ye(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 tt={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 nt=function(e,t){return[e[0],e[1],t[2]]},rt=(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},at=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},ot={splitOn:function(e,t){const{splitAll:n}=this.methods.one.pointer;let r=rt(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=>at(e,this))),this.update(o)},splitBefore:function(e,t){const{splitAll:n}=this.methods.one.pointer;let r=rt(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(nt(e.match,e.after)):o.push(e.match)})),o=o.filter((e=>e)),o=o.map((e=>at(e,this))),this.update(o)},splitAfter:function(e,t){const{splitAll:n}=this.methods.one.pointer;let r=rt(e,this,t).fullPointer,a=n(this.fullPointer,r),o=[];return a.forEach((e=>{o.push(e.passthrough),e.before&&e.match?o.push(nt(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=>at(e,this))),this.update(o)}};ot.split=ot.splitAfter;var it=ot;const st=Object.assign({},et,tt,it);st.lookBehind=st.before,st.lookBefore=st.before,st.lookAhead=st.after,st.lookAfter=st.after,st.notIf=st.ifNo;var lt=function(e){Object.assign(e.prototype,st)};const ut=/(?:^|\s)([![^]*(?:<[^<]*>)?\/.*?[^\\/]\/[?\]+*$~]*)(?:\s|$)/,ct=/([!~[^]*(?:<[^<]*>)?\([^)]+[^\\)]\)[?\]+*$~]*)(?:\s|$)/,ht=/ /g,dt=e=>/^[![^]*(<[^<]*>)?\//.test(e)&&/\/[?\]+*$~]*$/.test(e),gt=function(e){return e=(e=e.map((e=>e.trim()))).filter((e=>e))};var mt=function(e){let t=e.split(ut),n=[];t.forEach((e=>{dt(e)?n.push(e):n=n.concat(e.split(ct))})),n=gt(n);let r=[];return n.forEach((e=>{(e=>/^[![^]*(<[^<]*>)?\(/.test(e)&&/\)[?\]+*$~]*$/.test(e))(e)||dt(e)?r.push(e):r=r.concat(e.split(ht))})),r=gt(r),r};const pt=/\{([0-9]+)?(, *[0-9]*)?\}/,ft=/&&/,vt=new RegExp(/^<\s*(\S+)\s*>/),bt=e=>e.charAt(0).toUpperCase()+e.substring(1),yt=e=>e.charAt(e.length-1),wt=e=>e.charAt(0),kt=e=>e.substring(1),Pt=e=>e.substring(0,e.length-1),At=function(e){return e=kt(e),e=Pt(e)},Ct=function(e,t){let n={};for(let r=0;r<2;r+=1){if("$"===yt(e)&&(n.end=!0,e=Pt(e)),"^"===wt(e)&&(n.start=!0,e=kt(e)),"?"===yt(e)&&(n.optional=!0,e=Pt(e)),("["===wt(e)||"]"===yt(e))&&(n.group=null,"["===wt(e)&&(n.groupStart=!0),"]"===yt(e)&&(n.groupEnd=!0),e=(e=e.replace(/^\[/,"")).replace(/\]$/,""),"<"===wt(e))){const t=vt.exec(e);t.length>=2&&(n.group=t[1],e=e.replace(t[0],""))}if("+"===yt(e)&&(n.greedy=!0,e=Pt(e)),"*"!==e&&"*"===yt(e)&&"\\*"!==e&&(n.greedy=!0,e=Pt(e)),"!"===wt(e)&&(n.negative=!0,e=kt(e)),"~"===wt(e)&&"~"===yt(e)&&e.length>2&&(e=At(e),n.fuzzy=!0,n.min=t.fuzzy||.85,!1===/\(/.test(e)))return n.word=e,n;if("/"===wt(e)&&"/"===yt(e))return e=At(e),t.caseSensitive&&(n.use="text"),n.regex=new RegExp(e),n;if(!0===pt.test(e)&&(e=e.replace(pt,((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),"")))),"("===wt(e)&&")"===yt(e)){ft.test(e)?(n.choices=e.split(ft),n.operator="and"):(n.choices=e.split("|"),n.operator="or"),n.choices[0]=kt(n.choices[0]);let r=n.choices.length-1;n.choices[r]=Pt(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=>Ct(e,t))))),e=""}if("{"===wt(e)&&"}"===yt(e)){if(e=At(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("<"===wt(e)&&">"===yt(e))return e=At(e),n.chunk=bt(e),n.greedy=!0,n;if("%"===wt(e)&&"%"===yt(e))return e=At(e),n.switch=e,n}return"#"===wt(e)?(n.tag=kt(e),n.tag=bt(n.tag),n):"@"===wt(e)?(n.method=kt(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 Nt=Ct;const jt=/[a-z0-9][-–—][a-z]/i;var xt=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&&jt.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 It=function(e,t){let{all:n}=t.methods.two.transform.verb||{},r=e.root;return n?n(r,t.model):[]},Tt=function(e,t){let{all:n}=t.methods.two.transform.noun||{};return n?n(e.root,t.model):[e.root]},Dt=function(e,t){let{all:n}=t.methods.two.transform.adjective||{};return n?n(e.root,t.model):[e.root]};var Ht=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(It(e,t)):"Noun"===e.pos?n=n.concat(Tt(e,t)):"Adjective"===e.pos&&(n=n.concat(Dt(e,t))):(n=n.concat(It(e,t)),n=n.concat(Tt(e,t)),n=n.concat(Dt(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 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 Et=function(e,t,n){if(null==e||""===e)return[];t=t||{},"number"==typeof e&&(e=String(e));let r=mt(e);return r=r.map((e=>Nt(e,t))),r=xt(r,n),r=Ht(r,n),r=Gt(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),Kt=(e,t)=>-1!==e.pre.indexOf(t),Lt={hasQuote:e=>zt.test(e.pre)||$t.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,"…")||Kt(e,"..")||Kt(e,"…"),hasSemicolon:e=>Mt(e,";"),hasColon:e=>Mt(e,":"),hasSlash:e=>/\//.test(e.text),hasHyphen:e=>St.test(e.post)||St.test(e.pre),hasDash:e=>Bt.test(e.post)||Bt.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)};Lt.hasQuotation=Lt.hasQuote;var Jt=Lt;let Wt=function(){};Wt=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 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=>Wt(e,t,n,r))):t.choices.some((t=>Wt(e,t,n,r))))}(e,t,n,r);return!0===t.negative?!a:a};var qt=Wt;const Ut=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 _t=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=qt(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]&&qt(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 Yt=function(e,t,n){let r=0;for(let a=e.t;ar)&&(e.t+=r,!0))};var en=function(e){const{regs:t}=e;let n=t[e.r],r=Object.assign({},n);if(r.negative=!1,qt(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(qt(e.terms[e.t],n,e.start_i+e.t,e.phrase_length))e.r+=1;else if(n.optional&&t[e.r+2]){qt(e.terms[e.t],t[e.r+2],e.start_i+e.t,e.phrase_length)&&(e.r+=2)}}}return n.greedy?Yt(e,r,t[e.r+1]):(e.t+=1,!0)};var tn=function(e){const{regs:t}=e;let n=t[e.r],r=e.terms[e.t],a=qt(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&&qt(n,t[e.r+1],e.start_i+e.t,e.phrase_length)||(e.r+=1)}};var nn=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 rn=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 an=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]&&tn(e),r.implicit&&e.terms[e.t+1]&&rn(e),e.t+=1,!0===n.end&&e.t!==e.terms.length&&!0!==n.greedy)return null;if(!0===n.greedy){if(!nn(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 on=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!==Ut(e,a))if(e.negative){if(!en(a))return null}else if(!0!==qt(a.terms[a.t],e,a.start_i+a.t,a.phrase_length)){if(!0!==e.optional)return null}else{if(!an(a))return null}else{if(!an(a))return null}else{if(e.negative&&e.anything)return null;if(!an(a))return null}else{if(!Xt(a))return null}else{if(!Zt(a))return null}else{if(!Rt(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 sn=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 ln=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},cn=function(e,t,n){let r=on(e,t,0,e.length);return r?(r=un(r,n),r):null};var hn=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=cn(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=ln(i,t.notIf,e)),i=sn(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 dn={api:lt,methods:{one:{termMethods:Jt,parseMatch:Et,match:hn}},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 gn=/^\../,mn=/^#./,pn=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,"'"),gn.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 fn={html:function(e){let{starts:t,ends:n}=pn(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(bn,""),wn.test(a)&&(a=" "),a=a.replace(yn,""),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(bn,""),a="-"===a?" ":a.replace(vn,""));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&&kn.test(a)||(a+=" "),r+=n+o+a})),!1===n&&(r=r.trim()),!0===t.lowerCase&&(r=r.toLowerCase()),r},An={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"}};An.clean=An.normal,An.reduced=An.root;var Cn=An;let Nn=[],jn=0;for(;jn<64;)Nn[jn]=0|4294967296*Math.sin(++jn%Math.PI);function xn(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(jn=i=0;jn>4]+Nn[i]+~~o[jn|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 In={text:!0,terms:!0};let Tn={case:"none",unicode:"some",form:"machine",punctuation:"some"};const Dn=function(e,t){return Object.assign({},e,t)},Hn={text:e=>Pn(e,{keepPunct:!0},!1),normal:e=>Pn(e,Dn(Cn.normal,{keepPunct:!0}),!1),implicit:e=>Pn(e,Dn(Cn.implicit,{keepPunct:!0}),!1),machine:e=>Pn(e,Tn,!1),root:e=>Pn(e,Dn(Tn,{form:"root"}),!1),hash:e=>xn(Pn(e,{keepPunct:!0},!1)),offset:e=>{let t=Hn.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))};Hn.sentences=Hn.sentence,Hn.clean=Hn.normal,Hn.reduced=Hn.root;const Gn={json:function(e){let t=(n=this,"string"==typeof(r=(r=e)||{})&&(r={}),(r=Object.assign({},In,r)).offset&&n.compute("offset"),n.docs.map(((e,t)=>{let a={};return Object.keys(r).forEach((o=>{r[o]&&Hn[o]&&(a[o]=Hn[o](e,n,t))})),a})));var n,r;return"number"==typeof e?t[e]:t}};Gn.data=Gn.json;var En=Gn;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 zn=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 $n=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 Sn=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 Bn=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&&(zn(t),console.log("\n")),!0===e.chunks&&($n(t),console.log("\n")),!0===e.highlight&&(Sn(t),console.log("\n")),t)};const Mn=function(e){let t=e.pre||"",n=e.post||"";return t+e.text+n};var Kn=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 Kn(this,e)}};var Jn=Ln;var Wn={text:function(e){let t={};var n;if(e&&"string"==typeof e&&Cn.hasOwnProperty(e)?t=Object.assign({},Cn[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},_n=function(e){let t={};return e.forEach((e=>{t[e[0]]=t[e[0]]||[],t[e[0]].push(e)})),t};var Zn=function(e,t){let n=_n(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 Xn=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 Yn={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=>Rn(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 nr=function(e,t){let n=_n(t),r=[];return e.forEach((e=>{let t=n[e[0]]||[];t=t.filter((t=>Rn(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},ar=function(e,t){return e.map((e=>{let[n,r]=e;return t[n]&&t[n][r]&&(e[3]=t[n][r].id),e}))},or={union:function(e){e=rr(e,this);let t=er(this.fullPointer,e.fullPointer);return t=ar(t,this.document),this.toView(t)}};or.and=or.union,or.intersection=function(e){e=rr(e,this);let t=nr(this.fullPointer,e.fullPointer);return t=ar(t,this.document),this.toView(t)},or.not=function(e){e=rr(e,this);let t=tr(this.fullPointer,e.fullPointer);return t=ar(t,this.document),this.toView(t)},or.difference=or.not,or.complement=function(){let e=this.all(),t=tr(e.fullPointer,this.fullPointer);return t=ar(t,this.document),this.toView(t)},or.settle=function(){let e=this.fullPointer;return e.forEach((t=>{e=er(e,[t])})),e=ar(e,this.document),this.update(e)};var ir=function(e){Object.assign(e.prototype,or)},sr={methods:Yn,api:ir};var lr=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 ur=function(e){return!0===e.optional||!0===e.negative?null:e.tag?"#"+e.tag:e.word?e.word:e.switch?`%${e.switch}%`:null};var cr=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(ur(e)),"and"===e.operator&&e.choices&&e.choices.forEach((e=>{e.forEach((e=>{t.push(ur(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=ur(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 hr=function(e,t){e=cr(e,t);let n={};e.forEach((e=>{e.needs.forEach((t=>{n[t]=Array.isArray(n[t])?n[t]:[],n[t].push(e)})),e.wants.forEach((t=>{n[t]=Array.isArray(n[t])?n[t]:[],n[t].push(e)}))})),Object.keys(n).forEach((e=>{let t={};n[e]=n[e].filter((e=>"boolean"!=typeof 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 dr=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=>"boolean"!=typeof o[e.match]&&(o[e.match]=!0,!0))),a}))};var gr=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 mr=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 pr=function(e,t,n,r={}){let a=n.one.cacheDoc(e),o=dr(a,t.hooks);return o=gr(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),mr(o,e,a,n,r)};var fr=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===fr(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))}))},br={lib:{buildNet:function(e){let t=this.methods().one.buildNet(e,this.world());return t.isNet=!0,t}},api:lr,methods:{one:{buildNet:hr,bulkMatch:pr,bulkTagger:vr}}};const yr=/ /,wr=function(e,t){"Noun"===t&&(e.chunk=t),"Verb"===t&&(e.chunk=t)},kr=function(e,t,n,r){if(!0===e.tags.has(t))return null;if("."===t)return null;!0===e.frozen&&(r=!0);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(),yr.test(t))!function(e,t,n,r){let a=t.split(yr);e.forEach(((e,t)=>{let o=a[t];o&&(o=o.replace(/^#/,""),kr(e,o,n,r))}))}(e,t,o,r);else{t=t.replace(/^#/,"");for(let n=0;nPr(e,t,n,r)))};var Ar=Pr;var Cr=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=>jr({id:e}))),t}return[jr({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},Dr=e=>"[object Array]"===Object.prototype.toString.call(e),Hr=e=>(e=e||"").trim(),Gr=function(e=[]){return"string"==typeof e?function(e){let t=e.split(/\r?\n/),n=[];t.forEach((e=>{if(!e.trim()||xr.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:Ir(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=jr({});return e.forEach((e=>{if((e=jr(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):(Tr(t=e).forEach(jr),t);var t},Er=function(e,t){let n="-> ";t&&(n=(e=>""+e+"")("→ "));let r="";return Tr(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},Or=function(e){let t=Tr(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},Fr={text:Er,txt:Er,array:Or,flat:Or},Vr=function(e,t){return"nested"===t||"json"===t?e:"debug"===t?(console.log(Er(e,!0)),null):Fr.hasOwnProperty(t)?Fr[t](e):e},zr=e=>{Tr(e,((e,t)=>{e.id&&(e._cache.parents=e._cache.parents||[],t._cache.parents=e._cache.parents.concat([e.id]))}))},$r=/\//;let Sr=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=Hr(e),!$r.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)||jr({});return new g(t)}add(e,t={}){if(Dr(e))return e.forEach((e=>this.add(Hr(e),t))),this;e=Hr(e);let n=jr({id:e,props:t});return this.json.children.push(n),new g(n)}remove(e){return e=Hr(e),this.json.children=this.json.children.filter((t=>t.id!==e)),this}nodes(){return Tr(this.json).map((e=>(delete(e=Object.assign({},e)).children,e)))}cache(){return(e=>{let t=Tr(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 Tr(this.json)}fillDown(){var e;return e=this.json,Tr(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 Dr(t[n])?e[n]=t[n].concat(e[n]||[]):void 0===e[n]&&(e[n]=t[n])})),e))(t.props,e.props)})),this}depth(){zr(this.json);let e=Tr(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 zr(this.json),Vr(this.json,e)}debug(){return zr(this.json),Vr(this.json,"debug"),this}};const Br=function(e){let t=Gr(e);return new Sr(t)};Br.prototype.plugin=function(e){e(this)};var Mr={Noun:"blue",Verb:"green",Negative:"green",Date:"red",Value:"red",Adjective:"magenta",Preposition:"cyan",Conjunction:"cyan",Determiner:"cyan",Hyphenated:"cyan",Adverb:"cyan"};const Kr=function(e){if(Mr.hasOwnProperty(e.id))return Mr[e.id];if(Mr.hasOwnProperty(e.is))return Mr[e.is];let t=e._cache.parents.find((e=>Mr[e]));return Mr[t]};var Lr=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:Kr(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 Jr=function(e){return e?"string"==typeof e?[e]:e:[]};var Wr=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=Jr(e[t].children),e[t].not=Jr(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 qr=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=Wr(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 Br(t).cache().fillDown().out("array")}(Object.assign({},t,e));return Lr(n)},Ur={one:{setTag:Ar,unTag:Cr,addTags:qr,canBe:Nr}};const Qr=function(e){return"[object Array]"===Object.prototype.toString.call(e)},Rr={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,n=this.methods.one.canBe,r=[];this.document.forEach(((a,o)=>{a.forEach(((a,i)=>{n(a,e,t)||r.push([o,i,i+1])}))}));let a=this.update(r);return this.difference(a)}};var _r=Rr;var Zr=function(e){Object.assign(e.prototype,_r)};var Xr={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 Yr=new Set(["Auxiliary","Possessive"]);var ea=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(Yr.has(e)||!t.hasOwnProperty(n))return 1;if(Yr.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)}))}))},ta={model:{one:{tagSet:{}}},compute:{tagRank:ea},methods:Ur,api:Zr,lib:Xr};const na=/([.!?\u203D\u2E18\u203C\u2047-\u2049\u3002]+\s)/g,ra=/^[.!?\u203D\u2E18\u203C\u2047-\u2049\u3002]+\s$/,aa=/((?:\r?\n|\r)+)/;var oa=function(e){let t=[],n=e.split(aa);for(let e=0;e0&&(a.push(o),e[t]="")}return a};const ca={'"':'"',""":""","“":"”","‟":"”","„":"”","⹂":"”","‚":"’","«":"»","‹":"›","‵":"′","‶":"″","‷":"‴","〝":"〞","〟":"〞"},ha=RegExp("["+Object.keys(ca).join("")+"]","g"),da=RegExp("["+Object.values(ca).join("")+"]","g"),ga=function(e){if(!e)return!1;let t=e.match(da);return null!==t&&1===t.length};var ma=function(e){let t=[];for(let n=0;n(e[t]=!0,e)),{});var Da=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(Ia);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=Na(n),n=Aa(n),n=n.filter((e=>e)),n};const Ha=/\p{Letter}/u,Ga=/[\p{Number}\p{Currency_Symbol}]/u,Ea=/^[a-z]\.([a-z]\.)+/i,Oa=/[sn]['’]$/;var Fa=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 Va=(e,t)=>{let{str:n,pre:r,post:a}=Fa(e,t);return{text:n,pre:r,post:a,tags:new Set}};var za=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 $a=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 Sa=/([A-Z]\.)+[A-Z]?,?$/,Ba=/^[A-Z]\.,?$/,Ma=/[A-Z]{2,}('s|,)?$/,Ka=/([a-z]\.)+[a-z]\.?$/;var La=function(e){return function(e){return!0===Sa.test(e)||!0===Ka.test(e)||!0===Ba.test(e)||!0===Ma.test(e)}(e)&&(e=e.replace(/\./g,"")),e};var Ja=function(e,t){const n=t.methods.one.killUnicode;let r=e.text||"";r=$a(r),r=n(r,t),r=La(r),e.normal=r};var Wa=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=>{Ja(e,t)})),n})),e};const qa=/[ .][A-Z]\.? *$/i,Ua=/(?:\u2026|\.{2,}) *$/,Qa=/\p{L}/u,Ra=/\. *$/,_a=/^[A-Z]\. $/;var Za=function(e,t){if(!1===Qa.test(e))return!1;if(!0===qa.test(e))return!1;if(3===e.length&&_a.test(e))return!1;if(!0===Ua.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!==Ra.test(e)},Xa={one:{killUnicode:za,tokenize:{splitSentences:wa,isSentence:Za,splitTerms:Da,splitWhitespace:Va,fromString:Wa}}};var Ya={"&":"and","@":"at","%":"percent",plz:"please",bein:"being"};let eo={},to={};[[["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=>{eo[t]=!0,to[t]="Abbreviation",void 0!==e[1]&&(to[t]=[to[t],e[1]])}))}));var no=["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 ro={"!":"¡","?":"¿Ɂ",'"':'“”"❝❞',"'":"‘‛❛❜’","-":"—–",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:"ŹźŻżŽžƵƶȤȥɀΖ"},ao={};Object.keys(ro).forEach((function(e){ro[e].split("").forEach((function(t){ao[t]=e}))}));const oo=/\//,io=/[a-z]\.[a-z]/i,so=/[0-9]/;var lo=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])),oo.test(n)&&!io.test(n)&&!so.test(n)){let t=n.split(oo);t.length<=2&&t.forEach((t=>{""!==(t=t.trim())&&(e.alias=e.alias||[],e.alias.push(t))}))}return e};const uo=/^\p{Letter}+-\p{Letter}+$/u;var co=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"),uo.test(t)&&(t=t.replace(/-/g,"")),t=t.replace(/^[#@]/,""),t!==e.normal&&(e.machine=t)};var ho=function(e){let t=e.docs,n={};for(let e=0;efo(e,lo),machine:e=>fo(e,co),normal:e=>fo(e,Ja),freq:ho,offset:go,index:mo,wordCount:po},methods:Xa,model:{one:{aliases:Ya,abbreviations:eo,prefixes:no,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:to,unicode:ao,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 Po={safe:!0,min:3};var Ao={typeahead:function(e=[],t={}){let n=this.model();var r;t=Object.assign({},Po,t),r=e,"[object Object]"===Object.prototype.toString.call(r)&&(Object.assign(n.one.lexicon,e),e=Object.keys(e));let a=ko(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 Co={model:{one:{typeahead:{}}},api:wo,lib:Ao,compute:bo,hooks:["typeahead"]};v.extend(ee),v.extend(Qn),v.extend(dn),v.extend(sr),v.extend(ta),v.plugin(He),v.extend({mutate:e=>{e.methods.one.termMethods.isFrozen=e=>!0===e.frozen},api:function(e){e.prototype.freeze=function(){return this.docs.forEach((e=>{e.forEach((e=>{e.frozen=!0}))})),this},e.prototype.unfreeze=function(){return this.docs.forEach((e=>{e.forEach((e=>{delete e.frozen}))})),this},e.prototype.isFrozen=function(){return this.match("@isFrozen+")}}}),v.extend(vo),v.plugin(k),v.extend(Ue),v.extend(Co),v.extend(Se),v.extend(br);var No={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"},jo={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:4R;a3Ub3Cc2Pd2He2Df27g1Zh1Ti1Pj1Nk1Ll1Gm12n0Po0Mp0Cqu0Br02sTtHuCv9w3xiaomi,y1;amaha,m1Bou1w1B;gov,tu3D;a4e2iki1orld trade organizati34;leaRped0O;lls fargo,st1;fie2Iinghou2S;l1rner br3V;gree3Kl street journ2Jm1E;an halOeriz2Yisa,o1;dafo2Zl1;kswagMvo;b4kip,n2ps,s1;a tod3Bps;es3Ni1;lev3Gted natio3D;er,s; mobi33aco beRd bOe9gi frida3Mh3im horto3Bmz,o1witt3E;shi4Ay1;ota,s r 05;e 1in lizzy;b3carpen3Kdaily ma3Eguess w2holli0rolling st21s1w2;mashing pumpki36uprem0;ho;ea1lack eyed pe3Yyr0Q;ch bo3Etl0;l2n3Rs1xas instrumen1U;co,la m1F;efoni0Kus;a8cientology,e5ieme2Zmirnoff,np,o3pice gir6quare0Ata1ubaru;rbuc1to35;ks;ny,undgard1;en;a2x pisto1;ls;g1Xrs;few2Ninsbur32lesfor03msu2F;adiohead,b8e4o1yana3D;man empi1Yyal 1;b1dutch she4;ank;a3d 1max,vl21;bu1c2Bhot chili peppe2Zlobst2O;ll;ders dige1Ml madrid;c,s;ant3Bizn2R;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;aDcdonalCe9i6lb,o3tv,y1;spa1;ce;b1Unsanto,ody blu0t1;ley cr1or0U;ue;c2t1;as,subisO;helin,rosoft;dica2rcedes benz,talli1;ca;id,re;ds;cs milk,tt1Az25;a3e1g,ittle caesa1Q; ore0Anovo,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 o1rls 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,ppleAr6s4u3v2y1;er;is,on;di,todesk;hland o1sociated E;il;b3g2m1;co;os;ys; compu1be0;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:7B;1:7G;2:6A;3:7F;4:7O;5:7K;a6Nb62c4Ud4Be41f3Sg3Bh30i2Uj2Qkin2Pl2Km26n1Zo1Sp0Vqu0Tr0JsQtJuHvEw8yo6;gi,ut6;h,ub0;aAe9i8o7r6;estl0it0;m2rk0;fe,nn0t2Bza2H;atherm2ld0;ge earn0it0nder0rri1;eter7i6oyF;ll5Qp,s3Z;an,ina2U;n6s0;c6Uder03;aoisea23e9herapi5iktok0o8r6ut1yco6S;a6endseLo43;d0mp,nscri0Bvel0;ddl0u1G;a0Qchn7en6na4st0;ag0;i3Oo0D;aiXcUeRhPiMki0mu26oJpGquaFtBu7wee6;p0theart;lt2per7r6;f0ge6Iviv1;h6inten0Ist5Ivis1;ero,um2;a8ep7r6;ang0eam0;bro2Nc2Ofa2Nmo2Nsi20;ff0tesm2;tt0;ec7ir2Do6;kesp59u0M;ia5Jt3;l7me6An,rcere6ul;r,ss;di0oi5;n7s6;sy,t0;g0n0;am2ephe1Iow6;girl,m2r2Q;cretInior cit3Fr6;gea4v6;a4it1;hol4Xi7reen6ulpt1;wr2C;e01on;l1nt;aEe9o8u6;l0nn6;er up,ingE;g40le mod3Zof0;a4Zc8fug2Ppo32searQv6;ere4Uolution6;ary;e6luYru22;ptio3T;bbi,dic5Vpp0;arter6e2Z;back;aYeWhSiRlOoKr8sycho7u6;nk,p31;logi5;aGeDiBo6;d9fess1g7ph47s6;pe2Ktitu51;en6ramm0;it1y;igy,uc0;est4Nme mini0Unce6s3E;!ss;a7si6;de4;ch0;ctiti39nk0P;dca0Oet,li6pula50rnst42;c2Itic6;al scie6i2;nti5;a6umb0;nn0y6;er,ma4Lwright;lgrim,one0;a8iloso7otogra7ra6ysi1V;se;ph0;ntom,rmaci5;r6ssi1T;form0s4O;i3El,nel3Yr8st1tr6wn;i6on;arWot;ent4Wi42tn0;ccupa4ffBp8r7ut6;ca5l0B;ac4Iganiz0ig2Fph2;er3t6;i1Jomet6;ri5;ic0spring;aBe9ie4Xo7u6;n,rser3J;b6mad,vi4V;le2Vo4D;i6mesis,phew;ce,ghb1;nny,rr3t1X;aEeDiAo7u6yst1Y;m8si16;der3gul,m7n6th0;arDk;!my;ni7s6;f02s0Jt0;on,st0;chan1Qnt1rcha4;gi9k0n8rtyr,t6y1;e,riar6;ch;ag0iac;ci2stra3I;a7e2Aieutena4o6;rd,s0v0;bor0d7ndlo6ss,urea3Fwy0ym2;rd;!y;!s28;e8o7u6;ggl0;gg0urna2U;st0;c3Hdol,llu3Ummigra4n6; l9c1Qfa4habi42nov3s7ve6;nt1stig3;pe0Nt6;a1Fig3ru0M;aw;airFeBistoAo8u6ygie1K;man6sba2H;!ita8;bo,st6usekN;age,e3P;ri2;ir,r6;m7o6;!ine;it;dress0sty2C;aLeIhostGirl26ladi3oCrand7u6;e5ru;c9daug0Jfa8m7pa6s2Y;!re4;a,o6;th0;hi1B;al7d6lf0;!de3A;ie,k6te26;eep0;!wr6;it0;isha,n6;i6tl04;us;mbl0rden0;aDella,iAo7r6;eela2Nie1P;e,re6ster pare4;be1Hm2r6st0;unn0;an2ZgZlmm17nanci0r6tt0;e6st la2H; marsh2OfigXm2;rm0th0;conoEdDlectriCm8n7x6;amin0cellency,i2A;emy,trepreneur,vironmenta1J;c8p6;er1loye6;e,r;ee;ci2;it1;mi5;aKeBi8ork,ri7u6we02;de,tche2H;ft0v0;ct3eti7plom2Hre6va;ct1;ci2ti2;aDcor3fencCi0InAput9s7tectLvel6;op0;ce1Ge6ign0;rt0;ee,y;iz6;en;em2;c1Ml0;d8nc0redev7ug6;ht0;il;!dy;a06e04fo,hXitizenWlToBr9u6;r3stomer6;! representat6;ive;e3it6;ic;lJmGnAord9rpor1Nu7w6;boy,ork0;n6ri0;ciTte1Q;in3;fidantAgressSs9t6;e0Kr6;ibut1o6;ll0;tab13ul1O;!e;edi2m6pos0rade;a0EeQissi6;on0;leag8on7um6;ni5;el;ue;e6own;an0r6;ic,k;!s;a9e7i6um;ld;erle6f;ad0;ir7nce6plFract0;ll1;m2wI;lebri6o;ty;dBptAr6shi0;e7pe6;nt0;r,t6;ak0;ain;et;aMeLiJlogg0oErBu6;dd0Fild0rgl9siness6;m2p7w6;om2;ers05;ar;i7o6;!k0th0;cklay0de,gadi0;hemi2oge8y6;!frie6;nd;ym2;an;cyc6sR;li5;atbox0ings;by,nk0r6;b0on7te6;nd0;!e07;c04dWge4nQpLrHsFtAu7yatull6;ah;nt7t6;h1oG;!ie;h8t6;e6orney;nda4;ie5le6;te;sis00tron6;aut,om0;chbis8isto7tis6;an,t;crU;hop;ost9p6;ari6rentiS;ti6;on;le;a9cest1im3nou8y6;bo6;dy;nc0;ly5rc6;hi5;mi8v6;entur0is1;er;ni7r6;al;str3;at1;or;counBquaintanArob9t6;ivi5or,re6;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:H6;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;eDhCi9Wue;!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;i9Dy;!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;aDha0i8XmaCsac;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,j5Hot,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;ar1Nb1Dd16fon15gust3hm12i0Zja0Yl0Bm07nTputsiSrGsaFugustEveDyCziz;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;allFel,oulaye,ulC;!lDrahm0;an;ah,o;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:1Q;a29b1Zc1Md1Ee18f15g13h0Ri0Qj0Nk0Jl0Gm09n06o05p00rPsItCusain bolt,v9w4xzibit,y1;anni,oko on2uji,v1;an,es;en,o;a3ednesday adams,i2o1;lfram,o0Q;ll ferrell,z khalifa;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¦elle,h3i2me,she,th0us,we,you;e0ou;e,m,y;!l,t;e,im",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:18;1:1E;2:1D;3:14;a1Db15c0Sd0Kfc dallas,g0Ihouston 0Hindiana0Gjacksonville jagua0k0El0Am01new UoRpKqueens parkJreal salt lake,sBt6utah jazz,vancouver whitecaps,w4yW;ashington 4h10;natio1Mredski2wizar0W;ampa bay 7e6o4;ronto 4ttenham hotspur;blue ja0Mrapto0;nnessee tita2xasD;buccanee0ra0K;a8eattle 6porting kansas0Wt4; louis 4oke0V;c1Drams;marine0s4;eah13ounH;cramento Rn 4;antonio spu0diego 4francisco gJjose earthquak1;char08paB; ran07;a9h6ittsburgh 5ortland t4;imbe0rail blaze0;pirat1steele0;il4oenix su2;adelphia 4li1;eagl1philNunE;dr1;akland 4klahoma city thunder,rlando magic;athle0Lrai4;de0;england 8orleans 7york 4;g5je3knYme3red bul0Xy4;anke1;ian3;pelica2sain3;patrio3revolut4;ion;anchEeAi4ontreal impact;ami 8lwaukee b7nnesota 4;t5vi4;kings;imberwolv1wi2;rewe0uc0J;dolphi2heat,marli2;mphis grizz4ts;li1;a6eic5os angeles 4;clippe0dodFlaB;esterV; galaxy,ke0;ansas city 4nF;chiefs,roya0D; pace0polis col3;astr05dynamo,rocke3texa2;olden state warrio0reen bay pac4;ke0;allas 8e4i04od6;nver 6troit 4;lio2pisto2ti4;ge0;broncYnugge3;cowbo5maver4;icZ;ys;arEelLhAincinnati 8leveland 6ol4;orado r4umbus crew sc;api7ocki1;brow2cavalie0guar4in4;dia2;bengaVre4;ds;arlotte horAicago 4;b5cubs,fire,wh4;iteB;ea0ulQ;diff4olina panthe0; city;altimore Alackburn rove0oston 6rooklyn 4uffalo bilN;ne3;ts;cel5red4; sox;tics;rs;oriol1rave2;rizona Ast8tlanta 4;brav1falco2h4;awA;ns;es;on villa,r4;os;c6di4;amondbac4;ks;ardi4;na4;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;a9Fb7Uc6Rd6Le6Jf5Ig50h4Biron0j47k40l3Em31n2Yo2Wp2Cquiet Hr1Xs0KtZuXvacuu6QwNyammerBzK;ero Dip LonK;e0k0;by,ov9up;aQeMhLiKor0Mrit19;mp0n3Fpe0r5s5;ackAeel Di0S;aLiKn33;gh 3Wrd0;n Dr K;do1in,oJ;it 79k5lk Lrm 69sh Kt83v60;aw3do1o7up;aw3in,oC;rgeBsK;e 2herE;a00eYhViRoQrMuKypP;ckErn K;do1in,oJup;aLiKot0y 30;ckl7Zp F;ck HdK;e 5Y;n7Wp 3Es5K;ck MdLe Kghten 6me0p o0Rre0;aw3ba4do1in,up;e Iy 2;by,oG;ink Lrow K;aw3ba4in,up;ba4ov9up;aKe 77ll62;m 2r 5M;ckBke Llk K;ov9shit,u47;aKba4do1in,leave,o4Dup;ba4ft9pa69w3;a0Vc0Te0Mh0Ii0Fl09m08n07o06p01quar5GtQuOwK;earMiK;ngLtch K;aw3ba4o8K; by;cKi6Bm 2ss0;k 64;aReQiPoNrKud35;aigh2Det75iK;ke 7Sng K;al6Yup;p Krm2F;by,in,oG;c3Ln3Lr 2tc4O;p F;c3Jmp0nd LrKveAy 2O;e Ht 2L;ba4do1up;ar3GeNiMlLrKurB;ead0ingBuc5;a49it 6H;c5ll o3Cn 2;ak Fe1Xll0;a3Bber 2rt0und like;ap 5Vow Duggl5;ash 6Noke0;eep NiKow 6;cLp K;o6Dup;e 68;in,oK;ff,v9;de19gn 4NnKt 6Gz5;gKkE; al6Ale0;aMoKu5W;ot Kut0w 7M;aw3ba4f48oC;c2WdeEk6EveA;e Pll1Nnd Orv5tK; Ktl5J;do1foLin,o7upK;!on;ot,r5Z;aw3ba4do1in,o33up;oCto;al66out0rK;ap65ew 6J;ilAv5;aXeUiSoOuK;b 5Yle0n Kstl5;aLba4do1inKo2Ith4Nu5P;!to;c2Xr8w3;ll Mot LpeAuK;g3Ind17;a2Wf3Po7;ar8in,o7up;ng 68p oKs5;ff,p18;aKelAinEnt0;c6Hd K;o4Dup;c27t0;aZeYiWlToQrOsyc35uK;ll Mn5Kt K;aKba4do1in,oJto47up;pa4Dw3;a3Jdo1in,o21to45up;attleBess KiNop 2;ah2Fon;iLp Kr4Zu1Gwer 6N;do1in,o6Nup;nt0;aLuK;gEmp 6;ce u20y 6D;ck Kg0le 4An 6p5B;oJup;el 5NncilE;c53ir 39n0ss MtLy K;ba4oG; Hc2R;aw3ba4in,oJ;pKw4Y;e4Xt D;aLerd0oK;dAt53;il Hrrow H;aTeQiPoLuK;ddl5ll I;c1FnkeyMp 6uthAve K;aKdo1in,o4Lup;l4Nw3; wi4K;ss0x 2;asur5e3SlLss K;a21up;t 6;ke Ln 6rKs2Ax0;k 6ryA;do,fun,oCsure,up;a02eViQoLuK;ck0st I;aNc4Fg MoKse0;k Kse4D;aft9ba4do1forw37in56o0Zu46;in,oJ;d 6;e NghtMnLsKve 00;ten F;e 2k 2; 2e46;ar8do1in;aMt LvelK; oC;do1go,in,o7up;nEve K;in,oK;pKut;en;c5p 2sh LtchBughAy K;do1o59;in4Po7;eMick Lnock K;do1oCup;oCup;eLy K;in,up;l Ip K;aw3ba4do1f04in,oJto,up;aMoLuK;ic5mpE;ke3St H;c43zz 2;a01eWiToPuK;nLrrKsh 6;y 2;keLt K;ar8do1;r H;lKneErse3K;d Ke 2;ba4dKfast,o0Cup;ear,o1;de Lt K;ba4on,up;aw3o7;aKlp0;d Ml Ir Kt 2;fKof;rom;f11in,o03uW;cPm 2nLsh0ve Kz2P;at,it,to;d Lg KkerP;do1in,o2Tup;do1in,oK;ut,v9;k 2;aZeTive Rloss IoMrLunK; f0S;ab hold,in43ow 2U; Kof 2I;aMb1Mit,oLr8th1IuK;nd9;ff,n,v9;bo7ft9hQw3;aw3bKdo1in,oJrise,up,w3;a4ir2H;ar 6ek0t K;aLb1Fdo1in,oKr8up;ff,n,ut,v9;cLhKl2Fr8t,w3;ead;ross;d aKng 2;bo7;a0Ee07iYlUoQrMuK;ck Ke2N;ar8up;eLighten KownBy 2;aw3oG;eKshe27; 2z5;g 2lMol Krk I;aKwi20;bo7r8;d 6low 2;aLeKip0;sh0;g 6ke0mKrKtten H;e F;gRlPnNrLsKzzle0;h F;e Km 2;aw3ba4up;d0isK;h 2;e Kl 1T;aw3fPin,o7;ht ba4ure0;ePnLsK;s 2;cMd K;fKoG;or;e D;d04l 2;cNll Krm0t1G;aLbKdo1in,o09sho0Eth08victim;a4ehi2O;pa0C;e K;do1oGup;at Kdge0nd 12y5;in,o7up;aOi1HoNrK;aLess 6op KuN;aw3b03in,oC;gBwB; Ile0ubl1B;m 2;a0Ah05l02oOrLut K;aw3ba4do1oCup;ackBeep LoKy0;ss Dwd0;by,do1in,o0Uup;me NoLuntK; o2A;k 6l K;do1oG;aRbQforOin,oNtKu0O;hLoKrue;geth9;rough;ff,ut,v9;th,wK;ard;a4y;paKr8w3;rt;eaLose K;in,oCup;n 6r F;aNeLiK;ll0pE;ck Der Kw F;on,up;t 2;lRncel0rOsMtch LveE; in;o1Nup;h Dt K;doubt,oG;ry LvK;e 08;aw3oJ;l Km H;aLba4do1oJup;ff,n,ut;r8w3;a0Ve0MiteAl0Fo04rQuK;bblNckl05il0Dlk 6ndl05rLsKtMy FzzA;t 00;n 0HsK;t D;e I;ov9;anWeaUiLush K;oGup;ghQng K;aNba4do1forMin,oLuK;nd9p;n,ut;th;bo7lKr8w3;ong;teK;n 2;k K;do1in,o7up;ch0;arTg 6iRn5oPrNssMttlLunce Kx D;aw3ba4;e 6; ar8;e H;do1;k Dt 2;e 2;l 6;do1up;d 2;aPeed0oKurt0;cMw K;aw3ba4do1o7up;ck;k K;in,oC;ck0nk0stA; oQaNef 2lt0nd K;do1ov9up;er;up;r Lt K;do1in,oCup;do1o7;ff,nK;to;ck Pil0nMrgLsK;h D;ainBe D;g DkB; on;in,o7;aw3do1in,oCup;ff,ut;ay;ct FdQir0sk MuctionA; oG;ff;ar8o7;ouK;nd; o7;d K;do1oKup;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:BR;1:BF;2:B5;3:BH;4:AX;5:9Y;6:B6;7:BK;8:B0;9:AV;A:AL;B:8Q;C:8G;D:7K;E:BM;F:AH;aBDb9Zc8Wd88e81f7Kg6Wh64i60j5Lk4Vl4Dm39n2Wo2Op25quispe,r1Ls0Pt0Ev03wTxSyKzG;aIhGimmerm6A;aGou,u;ng,o;khar5ytsE;aKeun9BiHoGun;koya32shiBU;!lG;diGmaz;rim,z;maGng;da,g52mo83sGzaC;aChiBV;iao,u;aLeJiHoGright,u;jcA5lff,ng;lGmm0nkl0sniewsC;kiB1liams33s3;bGiss,lt0;b,er,st0;a6Vgn0lHtG;anabe,s3;k0sh,tG;e2Non;aLeKiHoGukD;gt,lk5roby5;dHllalGnogr3Kr1Css0val3S;ba,ob1W;al,ov4;lasHsel8W;lJn dIrgBEsHzG;qu7;ilyEqu7siljE;en b6Aijk,yk;enzueAIverde;aPeix1VhKi2j8ka43oJrIsui,uG;om5UrG;c2n0un1;an,emblA7ynisC;dorAMlst3Km4rrAth;atch0i8UoG;mHrG;are84laci79;ps3sG;en,on;hirDkah9Mnaka,te,varA;a06ch01eYhUiRmOoMtIuHvGzabo;en9Jobod3N;ar7bot4lliv2zuC;aIeHoG;i7Bj4AyanAB;ele,in2FpheBvens25;l8rm0;kol5lovy5re7Tsa,to,uG;ng,sa;iGy72;rn5tG;!h;l71mHnGrbu;at9cla9Egh;moBo7M;aIeGimizu;hu,vchG;en8Luk;la,r1G;gu9infe5YmGoh,pulveA7rra5P;jGyG;on5;evi6iltz,miHneid0roed0uGwarz;be3Elz;dHtG;!t,z;!t;ar4Th8ito,ka4OlJnGr4saCto,unde19v4;ch7dHtGz;a5Le,os;b53e16;as,ihDm4Po0Y;aVeSiPoJuHyG;a6oo,u;bio,iz,sG;so,u;bKc8Fdrigue67ge10j9YmJosevelt,sItHux,wG;e,li6;a9Ch;enb4Usi;a54e4L;erts15i93;bei4JcHes,vGzzo;as,e9;ci,hards12;ag2es,iHut0yG;es,nol5N;s,t0;dImHnGsmu97v6C;tan1;ir7os;ic,u;aUeOhMiJoHrGut8;asad,if6Zochazk27;lishc2GpGrti72u10we76;e3Aov51;cHe45nG;as,to;as70hl0;aGillips;k,m,n6I;a3Hde3Wete0Bna,rJtG;ersHrovGters54;!a,ic;!en,on;eGic,kiBss3;i9ra,tz,z;h86k,padopoulIrk0tHvG;ic,l4N;el,te39;os;bMconn2Ag2TlJnei6PrHsbor6XweBzG;dem7Rturk;ella4DtGwe6N;ega,iz;iGof7Hs8I;vGyn1R;ei9;aSri1;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;aFeaEh9o4rim08umbr0;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;dygHguascalientes,lBndhr9r5ss4;am;izo1kans5un4;achal 7;as;na;a 4;pradesh;a6ber5t4;ai;ta;ba5s4;ka;ma;ea",Country:"true¦0:38;1:2L;2:3B;a2Xb2Ec22d1Ye1Sf1Mg1Ch1Ai14j12k0Zl0Um0Gn05om2pZqat1KrXsKtCu7v5wal4yemTz3;a25imbabwe;es,lis and futu2Y;a3enezue32ietnam;nuatu,tican city;gTk6nited 4ruXs3zbeE; 2Ca,sr;arab emirat0Kkingdom,states3;! of am2Y;!raiV;a8haCimor les0Co7rinidad 5u3;nis0rk3valu;ey,me2Zs and caic1V;and t3t3;oba1L;go,kel10nga;iw2ji3nz2T;ki2V;aDcotl1eCi9lov8o6pa2Dri lanka,u5w3yr0;az3edAitzerl1;il1;d2riname;lomon1Xmal0uth 3;afr2KkMsud2;ak0en0;erra leoFn3;gapo1Yt maart3;en;negLrb0ychellZ;int 3moa,n marino,udi arab0;hele26luc0mart21;epublic of ir0Eom2Euss0w3;an27;a4eIhilippinUitcairn1Mo3uerto riN;l1rtugF;ki2Dl4nama,pua new0Vra3;gu7;au,esti3;ne;aBe9i7or3;folk1Ith4w3;ay; k3ern mariana1D;or0O;caragua,ger3ue;!ia;p3ther1Aw zeal1;al;mib0u3;ru;a7exi6icro0Bo3yanm06;ldova,n3roc5zambA;a4gol0t3;enegro,serrat;co;cAdagasc01l7r5urit4yot3;te;an0i16;shall0Xtin3;ique;a4div3i,ta;es;wi,ys0;ao,ed02;a6e5i3uxembourg;b3echtenste12thu1G;er0ya;ban0Isotho;os,tv0;azakh1Fe4iriba04o3uwait,yrgyz1F;rXsovo;eling0Knya;a3erG;ma16p2;c7nd6r4s3taly,vory coast;le of m2rael;a3el1;n,q;ia,oJ;el1;aiTon3ungary;dur0Ng kong;aBermany,ha0QibraltAre8u3;a6ern5inea3ya0P;! biss3;au;sey;deloupe,m,tema0Q;e3na0N;ce,nl1;ar;bUmb0;a7i6r3;ance,ench 3;guia0Epoly3;nes0;ji,nl1;lklandUroeU;ast tim7cu6gypt,l salv6ngl1quatorial4ritr5st3thiop0;on0; guin3;ea;ad3;or;enmark,jibou5ominica4r con3;go;!n C;ti;aBentral african Ah8o5roat0u4yprRzech3; 9ia;ba,racao;c4lo3morQngo brazzaville,okGsta r04te de ivoiL;mb0;osE;i3ristmasG;le,na;republic;m3naUpe verde,ymanA;bod0ero3;on;aGeDhut2o9r5u3;lgar0r3;kina faso,ma,undi;azil,itish 3unei;virgin3; is3;lands;liv0nai5snia and herzegoviHtswaHuvet3; isl1;and;re;l3n8rmuG;ar3gium,ize;us;h4ngladesh,rbad3;os;am4ra3;in;as;fghaGlDmBn6r4ustr3zerbaij2;al0ia;genti3men0uba;na;dorra,g5t3;arct7igua and barbu3;da;o3uil3;la;er3;ica;b3ger0;an0;ia;ni3;st2;an",Place:"true¦a0Gb0Bc03d02e01f00gWhUiSkQlNmLnIorHpDrCsAt5u4v3w2y0;a0yz;kutPngtze;ake isHupatki;irgin islands,ostok;laanbaatar,p02;a3eotihuac0Hh1onto,sarskoe selo,u0;lXzigoot;am09e 0;bronx,hamptons;hiti,j mahE;a0cotts bluff,eine,fo,oho,under9;int lawrence river,khalY;ed s3io grande;a1ek,h0itcairn,ompeii;l,x;cif05pahanaumokuak0rthenX;ea;ange county,d,inoco;e0ile;uschwansteQw eng0;land;a0co,ekong,idLuc;chu picchu,gad00libu,nhatt00;a1gw,hr,incoln memori0;al;s,x;azan kremlJosrae,rasnoyar0ul;sk;ax,cn,nd0st;ianSochina;arlem,kg,nd,ov0;d,enweep;a2odavari,re0;at 0enwich;britaBlakI;ngHy village;co,ra;urope,vergladF;anube,en,fw,own4xb;arrizo pla6dg,edar 5gk,h1lt,olosse0;um;a2i0uuk;chen itza,mney rock,na0ricahua;town;morro,tham;breaks,fa5;in;cn,e2kk,ro0;oklyn,wns cany0;on;l air,verly hi0;lls;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:J7;1:JB;2:IJ;3:IK;4:J1;5:IO;6:JS;7:JO;8:HB;9:JK;A:H4;B:I2;C:IT;D:JH;E:IX;F:BA;G:I4;aGTbFLcDRdD0eBMfB4gADh9Ti9Gj8Dk7Cl5Wm48n3Lo3Hp33qu32r29s15t0Eu0Cv02wVxiTyOzH;aLeIineb,oHsof3;e3Sf3la,ra;h2iKlIna,ynH;ab,ep;da,ma;da,h2iHra;nab;aKeJi0FolB7uIvH;et8onDP;i0na;le0sen3;el,gm3Hn,rGLs8W;aoHme0nyi;m5XyAD;aMendDZhiDGiH;dele9lJnH;if48niHo0;e,f47;a,helmi0lHma;a,ow;ka0nB;aNeKiHusa5;ck84kIl8oleAviH;anFenJ4;ky,toriBK;da,lA8rHs0;a,nHoniH9;a,iFR;leHnesH9;nILrH;i1y;g9rHs6xHA;su5te;aYeUhRiNoLrIuHy2;i,la;acJ3iHu0J;c3na,sH;hFta;nHr0F;iFya;aJffaEOnHs6;a,gtiH;ng;!nFSra;aIeHomasi0;a,l9Oo8Ares1;l3ndolwethu;g9Fo88rIssH;!a,ie;eHi,ri7;sa,za;bOlMmKnIrHs6tia0wa0;a60yn;iHya;a,ka,s6;arFe2iHm77ra;!ka;a,iH;a,t6;at6it6;a0Ecarlett,e0AhWiSkye,neza0oQri,tNuIyH;bIGlvi1;ha,mayIJniAsIzH;an3Net8ie,y;anHi7;!a,e,nH;aCe;aIeH;fan4l5Dphan6E;cI5r5;b3fiAAm0LnHphi1;d2ia,ja,ya;er2lJmon1nIobh8QtH;a,i;dy;lETv3;aMeIirHo0risFDy5;a,lDM;ba,e0i5lJrH;iHr6Jyl;!d8Ifa;ia,lDZ;hd,iMki2nJrIu0w0yH;la,ma,na;i,le9on,ron,yn;aIda,ia,nHon;a,on;!ya;k6mH;!aa;lJrItaye82vH;da,inj;e0ife;en1i0ma;anA9bLd5Oh1SiBkKlJmInd2rHs6vannaC;aCi0;ant6i2;lDOma,ome;ee0in8Tu2;in1ri0;a05eZhXiUoHuthDM;bScRghQl8LnPsJwIxH;anB3ie,y;an,e0;aIeHie,lD;ann7ll1marDGtA;!lHnn1;iHyn;e,nH;a,dF;da,i,na;ayy8G;hel67io;bDRerAyn;a,cIkHmas,nFta,ya;ki,o;h8Xki;ea,iannGMoH;da,n1P;an0bJemFgi0iInHta,y0;a8Bee;han86na;a,eH;cHkaC;a,ca;bi0chIe,i0mo0nHquETy0;di,ia;aERelHiB;!e,le;een4ia0;aPeOhMiLoJrHute6A;iHudenCV;scil3LyamvaB;lHrt3;i0ly;a,paluk;ilome0oebe,ylH;is,lis;ggy,nelope,r5t2;ige,m0VnKo5rvaDMtIulH;a,et8in1;ricHt4T;a,e,ia;do2i07;ctav3dIfD3is6ksa0lHphD3umC5yunbileg;a,ga,iv3;eHvAF;l3t8;aWeUiMoIurHy5;!ay,ul;a,eJor,rIuH;f,r;aCeEma;ll1mi;aNcLhariBQkKlaJna,sHta,vi;anHha;ur;!y;a,iDZki;hoGk9YolH;a,e4P;!mh;hir,lHna,risDEsreE;!a,lBV;asuMdLh3i6Dl5nKomi7rgEVtH;aHhal4;lHs6;i1ya;cy,et8;e9iF0ya;nngu2X;a0Ackenz4e02iMoJrignayani,uriDJyH;a,rH;a,iOlNna,tG;bi0i2llBJnH;a,iH;ca,ka,qD9;a,cUdo4ZkaTlOmi,nMrItzi,yH;ar;aJiIlH;anET;am;!l,nB;dy,eHh,n4;nhGrva;aKdJe0iCUlH;iHy;cent,e;red;!gros;!e5;ae5hH;ae5el3Z;ag5DgNi,lKrH;edi7AiIjem,on,yH;em,l;em,sCG;an4iHliCF;nHsCJ;a,da;!an,han;b09cASd07e,g05ha,i04ja,l02n00rLsoum5YtKuIv84xBKyHz4;bell,ra,soBB;d7rH;a,eE;h8Gild1t4;a,cUgQiKjor4l7Un4s6tJwa,yH;!aHbe6Xja9lAE;m,nBL;a,ha,in1;!aJbCGeIja,lDna,sHt63;!a,ol,sa;!l1D;!h,mInH;!a,e,n1;!awit,i;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:3B;1:3P;2:3E;3:2H;a3Tb3Cc33d2Ue2Nf2Bg1Xh1Mi1Gj1Fk1Cl14m0Yn0To0Sp0Jqu0Hr08sItDug0vBw5y4za0R;el11ouO;ary,e7hi6i4ry;ck0Dde,l4n1ry,se;d,y;ny,te;a4i3R;k,ry;a4erda2ulgar;gue,in,st;a7en2Xhi6i5ou00r4;anqu2Den1ue;dy,g36me0ny;ck,rs29;ll,me,rt,wd3I;aScaQePhNiMkin0ClJmHoFpEt7u5w4;eet,ift;b4dd0Xperfi22rre29;sta27t3;a9e8iff,r5u4;pVr1;a5ict,o4;ng;ig2Vn0O;a1ep,rn;le,rk,te0;e1Ti2Vright0;ci1Zft,l4on,re;emn,id;a4el0;ll,rt;e5i4y;g2Mm10;ek,nd2T;ck24l0mp3;a4iSrill,y;dy,l02rp;ve0Kxy;n1Kr4;ce,y;d,fe,int0l1Iv0W;a9e7i6o4ude;mantic,o1Asy,u4;gh;pe,t1P;a4d,mo0B;dy,l;gg5iGndom,p4re,w;id;ed;ai2i4;ck,et;hoBink,lAo9r6u4;ny,r4;e,p3;egna2ic5o4;fouTud;ey,k0;liYor;ain,easa2;ny;dd,i0ld,ranM;aive,e6i5o4u15;b3isy,rm0Zsy;bb0ce,mb3;a4r1w;r,t;ad,e6ild,o5u4;nda12te;ist,o1;a5ek,l4;low;s0ty;a9e8i7o4ucky;f0Kn5o15u4ve0w10y0O;d,sy;e0g;ke0l,mp,tt3ve0;e1Qwd;me,r4te;ge;e5i4;nd;en;ol0ui19;cy,ll,n4;secu7t4;e4ima5;llege2rmedia4;te;re;aBe8i7o6u4;ge,m4ng1C;b3id;me0t;gh,l0;a4fYsita2;dy,rXv4;en0y;nd13ppy,r4;d4sh;!y;aGenFhDiClBoofy,r4;a9e7i6o4ue0Z;o4ss;vy;m,s0;at,e4y;dy,n;nd,y;ad,ib,ooE;a2d1;a4o4;st0;t3uiS;u1y;aDeeb3iAl9o7r6u4;ll,n4r0N;!ny;aDesh,iend0;a4nd,rmE;my;at,ir8;erce,nan4;ciA;le;r,ul4;ty;a7erie,sse5v4xtre0B;il;nti4;al;r5s4;tern,y;ly,th0;appZe9i5u4;mb;r6vi5z4;zy;ne;e,ty;a4ep,nA;d4f,r;!ly;agey,h9l8o6r5u4;dd0r0te;isp,uel;ar4ld,mmon,st0ward0zy;se;evLou1;e4il0;ap,e4;sy;aIiGlDoBr6u4;ff,r0sy;ly;a7i4oad;g5llia2;nt;ht;sh,ve;ld,un4;cy;a5o4ue;nd,o1;ck,nd;g,tt4;er;d,ld,w1;dy;bsu7ng6we4;so4;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 xo=36,Io="0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ",To=Io.split("").reduce((function(e,t,n){return e[t]=n,e}),{});var Do=function(e){if(void 0!==To[e])return To[e];let t=0,n=1,r=xo,a=1;for(;n=0;n--,a*=xo){let r=e.charCodeAt(n)-48;r>10&&(r-=7),t+=r*a}return t};var Ho=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=Eo(t[e]);"true"===e&&(e=!0);for(let t=0;t{let t=Oo(jo[e]);So.test(e)?Object.keys(t).forEach((t=>{if(Mo[t]=e,"Noun|Verb"===e){let e=$o(t,Ko);Mo[e]="Plural|Verb"}})):Object.keys(t).forEach((t=>{Bo[t]=e}))})),[":(",":)",":P",":p",":O",";(",";)",";P",";p",";O",":3",":|",":/",":\\",":$",":*",":@",":-(",":-)",":-P",":-p",":-O",":-3",":-|",":-/",":-\\",":-$",":-*",":-@",":^(",":^)",":^P",":^p",":^O",":^3",":^|",":^/",":^\\",":^$",":^*",":^@","):","(:","$:","*:",")-:","(-:","$-:","*-:",")^:","(^:","$^:","*^:","<3","Bo[e]="Emoticon")),delete Bo[""],delete Bo.null,delete Bo[" "];const Lo="Singular";var Jo={beforeTags:{Determiner:Lo,Possessive:Lo,Acronym:Lo,Noun:Lo,Adjective:Lo,PresentTense:Lo,Gerund:Lo,PastTense:Lo,Infinitive:Lo,Date:Lo,Ordinal:Lo,Demonym:Lo},afterTags:{Value:Lo,Modal:Lo,Copula:Lo,PresentTense:Lo,PastTense:Lo,Demonym:Lo,Actor:Lo},beforeWords:{the:Lo,with:Lo,without:Lo,of:Lo,for:Lo,any:Lo,all:Lo,on:Lo,cut:Lo,cuts:Lo,increase:Lo,decrease:Lo,raise:Lo,drop:Lo,save:Lo,saved:Lo,saves:Lo,make:Lo,makes:Lo,made:Lo,minus:Lo,plus:Lo,than:Lo,another:Lo,versus:Lo,neither:Lo,about:Lo,favorite:Lo,best:Lo,daily:Lo,weekly:Lo,linear:Lo,binary:Lo,mobile:Lo,lexical:Lo,technical:Lo,computer:Lo,scientific:Lo,security:Lo,government:Lo,popular:Lo,formal:Lo,no:Lo,more:Lo,one:Lo,let:Lo,her:Lo,his:Lo,their:Lo,our:Lo,us:Lo},afterWords:{of:Lo,system:Lo,aid:Lo,method:Lo,utility:Lo,tool:Lo,reform:Lo,therapy:Lo,philosophy:Lo,room:Lo,authority:Lo,says:Lo,said:Lo,wants:Lo,wanted:Lo,is:Lo,did:Lo,do:Lo,can:Lo,wise:Lo}};const Wo="Infinitive";var qo={beforeTags:{Modal:Wo,Adverb:Wo,Negative:Wo,Plural:Wo},afterTags:{Determiner:Wo,Adverb:Wo,Possessive:Wo,Reflexive:Wo,Preposition:Wo,Cardinal:Wo,Comparative:Wo,Superlative:Wo},beforeWords:{i:Wo,we:Wo,you:Wo,they:Wo,to:Wo,please:Wo,will:Wo,have:Wo,had:Wo,would:Wo,could:Wo,should:Wo,do:Wo,did:Wo,does:Wo,can:Wo,must:Wo,us:Wo,me:Wo,let:Wo,even:Wo,when:Wo,help:Wo,he:Wo,she:Wo,it:Wo,being:Wo,bi:Wo,co:Wo,contra:Wo,de:Wo,inter:Wo,intra:Wo,mis:Wo,pre:Wo,out:Wo,counter:Wo,nobody:Wo,somebody:Wo,anybody:Wo,everybody:Wo},afterWords:{the:Wo,me:Wo,you:Wo,him:Wo,us:Wo,her:Wo,his:Wo,them:Wo,they:Wo,it:Wo,himself:Wo,herself:Wo,itself:Wo,myself:Wo,ourselves:Wo,themselves:Wo,something:Wo,anything:Wo,a:Wo,an:Wo,up:Wo,down:Wo,by:Wo,out:Wo,off:Wo,under:Wo,what:Wo,all:Wo,to:Wo,because:Wo,although:Wo,after:Wo,before:Wo,how:Wo,otherwise:Wo,together:Wo,though:Wo,into:Wo,yet:Wo,more:Wo,here:Wo,there:Wo,away:Wo}};var Uo={beforeTags:Object.assign({},qo.beforeTags,Jo.beforeTags,{}),afterTags:Object.assign({},qo.afterTags,Jo.afterTags,{}),beforeWords:Object.assign({},qo.beforeWords,Jo.beforeWords,{}),afterWords:Object.assign({},qo.afterWords,Jo.afterWords,{})};const Qo="Adjective";var Ro={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 _o="Gerund";var Zo={beforeTags:{Adverb:_o,Preposition:_o,Conjunction:_o},afterTags:{Adverb:_o,Possessive:_o,Person:_o,Pronoun:_o,Determiner:_o,Copula:_o,Preposition:_o,Conjunction:_o,Comparative:_o},beforeWords:{been:_o,keep:_o,continue:_o,stop:_o,am:_o,be:_o,me:_o,began:_o,start:_o,starts:_o,started:_o,stops:_o,stopped:_o,help:_o,helps:_o,avoid:_o,avoids:_o,love:_o,loves:_o,loved:_o,hate:_o,hates:_o,hated:_o},afterWords:{you:_o,me:_o,her:_o,him:_o,his:_o,them:_o,their:_o,it:_o,this:_o,there:_o,on:_o,about:_o,for:_o,up:_o,down:_o}};var Xo={beforeTags:Object.assign({},Ro.beforeTags,Zo.beforeTags,{Imperative:"Gerund",Infinitive:"Adjective",PresentTense:"Gerund",Plural:"Gerund"}),afterTags:Object.assign({},Ro.afterTags,Zo.afterTags,{Singular:"Adjective"}),beforeWords:Object.assign({},Ro.beforeWords,Zo.beforeWords,{is:"Adjective",was:"Adjective",of:"Adjective",suggest:"Gerund",recommend:"Gerund"}),afterWords:Object.assign({},Ro.afterWords,Zo.afterWords,{to:"Gerund",not:"Gerund",the:"Gerund"})};const Yo={beforeTags:{Determiner:void 0,Cardinal:"Noun",PhrasalVerb:"Adjective"},afterTags:{}};var ei={beforeTags:Object.assign({},Ro.beforeTags,Jo.beforeTags,Yo.beforeTags),afterTags:Object.assign({},Ro.afterTags,Jo.afterTags,Yo.afterTags),beforeWords:Object.assign({},Ro.beforeWords,Jo.beforeWords,{are:"Adjective",is:"Adjective",was:"Adjective",be:"Adjective",off:"Adjective",out:"Adjective"}),afterWords:Object.assign({},Ro.afterWords,Jo.afterWords)};let ti="PastTense";const ni={beforeTags:{Adverb:ti,Pronoun:ti,ProperNoun:ti,Auxiliary:ti,Noun:ti},afterTags:{Possessive:ti,Pronoun:ti,Determiner:ti,Adverb:ti,Comparative:ti,Date:ti,Gerund:ti},beforeWords:{be:ti,who:ti,get:"Adjective",had:ti,has:ti,have:ti,been:ti,it:ti,as:ti,for:"Adjective",more:"Adjective"},afterWords:{by:ti,back:ti,out:ti,in:ti,up:ti,down:ti,before:ti,after:ti,for:ti,the:ti,with:ti,as:ti,on:ti,at:ti,between:ti,to:ti,into:ti,us:ti,them:ti,his:ti,her:ti,their:ti,our:ti,me:ti}};var ri={beforeTags:Object.assign({},Ro.beforeTags,ni.beforeTags),afterTags:Object.assign({},Ro.afterTags,ni.afterTags),beforeWords:Object.assign({},Ro.beforeWords,ni.beforeWords),afterWords:Object.assign({},Ro.afterWords,ni.afterWords)};const ai={afterTags:{Noun:"Adjective",Conjunction:void 0}};var oi={beforeTags:Object.assign({},Ro.beforeTags,qo.beforeTags,{Adverb:void 0,Negative:void 0}),afterTags:Object.assign({},Ro.afterTags,qo.afterTags,ai.afterTags),beforeWords:Object.assign({},Ro.beforeWords,qo.beforeWords,{have:void 0,had:void 0,not:void 0,went:"Adjective",goes:"Adjective",got:"Adjective",be:"Adjective"}),afterWords:Object.assign({},Ro.afterWords,qo.afterWords,{to:void 0,as:"Adjective"})};const ii={Copula:"Gerund",PastTense:"Gerund",PresentTense:"Gerund",Infinitive:"Gerund"},si={},li={are:"Gerund",were:"Gerund",be:"Gerund",no:"Gerund",without:"Gerund",you:"Gerund",we:"Gerund",they:"Gerund",he:"Gerund",she:"Gerund",us:"Gerund",them:"Gerund"},ui={the:"Gerund",this:"Gerund",that:"Gerund",me:"Gerund",us:"Gerund",them:"Gerund"};var ci={beforeTags:Object.assign({},Zo.beforeTags,Jo.beforeTags,ii),afterTags:Object.assign({},Zo.afterTags,Jo.afterTags,si),beforeWords:Object.assign({},Zo.beforeWords,Jo.beforeWords,li),afterWords:Object.assign({},Zo.afterWords,Jo.afterWords,ui)};const hi="Singular",di="Infinitive";var gi={beforeTags:Object.assign({},qo.beforeTags,Jo.beforeTags,{Adjective:hi,Particle:hi}),afterTags:Object.assign({},qo.afterTags,Jo.afterTags,{ProperNoun:di,Gerund:di,Adjective:di,Copula:hi}),beforeWords:Object.assign({},qo.beforeWords,Jo.beforeWords,{is:hi,was:hi,of:hi,have:null}),afterWords:Object.assign({},qo.afterWords,Jo.afterWords,{instead:di,about:di,his:di,her:di,to:null,by:null,in:null})};const mi="Person";var pi={beforeTags:{Honorific:mi,Person:mi},afterTags:{Person:mi,ProperNoun:mi,Verb:mi},ownTags:{ProperNoun:mi},beforeWords:{hi:mi,hey:mi,yo:mi,dear:mi,hello:mi},afterWords:{said:mi,says:mi,told:mi,tells:mi,feels:mi,felt:mi,seems:mi,thinks:mi,thought:mi,spends:mi,spendt:mi,plays:mi,played:mi,sing:mi,sang:mi,learn:mi,learned:mi,wants:mi,wanted:mi}};const fi="Month",vi={beforeTags:{Date:fi,Value:fi},afterTags:{Date:fi,Value:fi},beforeWords:{by:fi,in:fi,on:fi,during:fi,after:fi,before:fi,between:fi,until:fi,til:fi,sometime:fi,of:fi,this:fi,next:fi,last:fi,previous:fi,following:fi,with:"Person"},afterWords:{sometime:fi,in:fi,of:fi,until:fi,the:fi}};var bi={beforeTags:Object.assign({},pi.beforeTags,vi.beforeTags),afterTags:Object.assign({},pi.afterTags,vi.afterTags),beforeWords:Object.assign({},pi.beforeWords,vi.beforeWords),afterWords:Object.assign({},pi.afterWords,vi.afterWords)};const yi="Place",wi={beforeTags:{Place:yi},afterTags:{Place:yi,Abbreviation:yi},beforeWords:{in:yi,by:yi,near:yi,from:yi,to:yi},afterWords:{in:yi,by:yi,near:yi,from:yi,to:yi,government:yi,council:yi,region:yi,city:yi}};let ki="Unit";const Pi={"Actor|Verb":Uo,"Adj|Gerund":Xo,"Adj|Noun":ei,"Adj|Past":ri,"Adj|Present":oi,"Noun|Verb":gi,"Noun|Gerund":ci,"Person|Noun":{beforeTags:Object.assign({},Jo.beforeTags,pi.beforeTags),afterTags:Object.assign({},Jo.afterTags,pi.afterTags),beforeWords:Object.assign({},Jo.beforeWords,pi.beforeWords,{i:"Infinitive",we:"Infinitive"}),afterWords:Object.assign({},Jo.afterWords,pi.afterWords)},"Person|Date":bi,"Person|Verb":{beforeTags:Object.assign({},Jo.beforeTags,pi.beforeTags,qo.beforeTags),afterTags:Object.assign({},Jo.afterTags,pi.afterTags,qo.afterTags),beforeWords:Object.assign({},Jo.beforeWords,pi.beforeWords,qo.beforeWords),afterWords:Object.assign({},Jo.afterWords,pi.afterWords,qo.afterWords)},"Person|Place":{beforeTags:Object.assign({},wi.beforeTags,pi.beforeTags),afterTags:Object.assign({},wi.afterTags,pi.afterTags),beforeWords:Object.assign({},wi.beforeWords,pi.beforeWords),afterWords:Object.assign({},wi.afterWords,pi.afterWords)},"Person|Adj":{beforeTags:Object.assign({},pi.beforeTags,Ro.beforeTags),afterTags:Object.assign({},pi.afterTags,Ro.afterTags),beforeWords:Object.assign({},pi.beforeWords,Ro.beforeWords),afterWords:Object.assign({},pi.afterWords,Ro.afterWords)},"Unit|Noun":{beforeTags:{Value:ki},afterTags:{},beforeWords:{per:ki,every:ki,each:ki,square:ki,cubic:ki,sq:ki,metric:ki},afterWords:{per:ki,squared:ki,cubed:ki,long:ki}}},Ai=(e,t)=>{let n=Object.keys(e).reduce(((t,n)=>(t[n]="Infinitive"===e[n]?"PresentTense":"Plural",t)),{});return Object.assign(n,t)};Pi["Plural|Verb"]={beforeWords:Ai(Pi["Noun|Verb"].beforeWords,{had:"Plural",have:"Plural"}),afterWords:Ai(Pi["Noun|Verb"].afterWords,{his:"PresentTense",her:"PresentTense",its:"PresentTense",in:null,to:null,is:"PresentTense",by:"PresentTense"}),beforeTags:Ai(Pi["Noun|Verb"].beforeTags,{Conjunction:"PresentTense",Noun:void 0,ProperNoun:"PresentTense"}),afterTags:Ai(Pi["Noun|Verb"].afterTags,{Gerund:"Plural",Noun:"PresentTense",Value:"PresentTense"})};var Ci=Pi;const Ni="Adjective",ji="Infinitive",xi="PresentTense",Ii="Singular",Ti="PastTense",Di="Adverb",Hi="Plural",Gi="Actor",Ei="Verb",Oi="Noun",Fi="LastName",Vi="Modal",zi="Place",$i="Participle";var Si=[null,null,{ea:Ii,ia:Oi,ic:Ni,ly:Di,"'n":Ei,"'t":Ei},{oed:Ti,ued:Ti,xed:Ti," so":Di,"'ll":Vi,"'re":"Copula",azy:Ni,eer:Oi,end:Ei,ped:Ti,ffy:Ni,ify:ji,ing:"Gerund",ize:ji,ibe:ji,lar:Ni,mum:Ni,nes:xi,nny:Ni,ous:Ni,que:Ni,ger:Oi,ber:Oi,rol:Ii,sis:Ii,ogy:Ii,oid:Ii,ian:Ii,zes:xi,eld:Ti,ken:$i,ven:$i,ten:$i,ect:ji,ict:ji,ign:ji,oze:ji,ful:Ni,bal:Ni,ton:Oi},{amed:Ti,aped:Ti,ched:Ti,lked:Ti,rked:Ti,reed:Ti,nded:Ti,mned:Ni,cted:Ti,dged:Ti,ield:Ii,akis:Fi,cede:ji,chuk:Fi,czyk:Fi,ects:xi,iend:Ii,ends:Ei,enko:Fi,ette:Ii,iary:Ii,wner:Ii,fies:xi,fore:Di,gate:ji,gone:Ni,ices:Hi,ints:Hi,ruct:ji,ines:Hi,ions:Hi,ners:Hi,pers:Hi,lers:Hi,less:Ni,llen:Ni,made:Ni,nsen:Fi,oses:xi,ould:Vi,some:Ni,sson:Fi,ians:Hi,tion:Ii,tage:Oi,ique:Ii,tive:Ni,tors:Oi,vice:Ii,lier:Ii,fier:Ii,wned:Ti,gent:Ii,tist:Gi,pist:Gi,rist:Gi,mist:Gi,yist:Gi,vist:Gi,ists:Gi,lite:Ii,site:Ii,rite:Ii,mite:Ii,bite:Ii,mate:Ii,date:Ii,ndal:Ii,vent:Ii,uist:Gi,gist:Gi,note:Ii,cide:Ii,ence:Ii,wide:Ni,vide:ji,ract:ji,duce:ji,pose:ji,eive:ji,lyze:ji,lyse:ji,iant:Ni,nary:Ni,ghty:Ni,uent:Ni,erer:Gi,bury:zi,dorf:Oi,esty:Oi,wych:zi,dale:zi,folk:zi},{elist:Gi,holic:Ii,phite:Ii,tized:Ti,urned:Ti,eased:Ti,ances:Hi,bound:Ni,ettes:Hi,fully:Di,ishes:xi,ities:Hi,marek:Fi,nssen:Fi,ology:Oi,osome:Ii,tment:Ii,ports:Hi,rough:Ni,tches:xi,tieth:"Ordinal",tures:Hi,wards:Di,where:Di,archy:Oi,pathy:Oi,opoly:Oi,embly:Oi,phate:Oi,ndent:Ii,scent:Ii,onist:Gi,anist:Gi,alist:Gi,olist:Gi,icist:Gi,ounce:ji,iable:Ni,borne:Ni,gnant:Ni,inant:Ni,igent:Ni,atory:Ni,rient:Ii,dient:Ii,maker:Gi,burgh:zi,mouth:zi,ceter:zi,ville:zi,worth:Oi},{auskas:Fi,parent:Ii,cedent:Ii,ionary:Ii,cklist:Ii,keeper:Gi,logist:Gi,teenth:"Value",worker:Gi,master:Gi,writer:Gi,brough:zi,cester:zi},{logists:Gi,opoulos:Fi,borough:zi,sdottir:Fi}];const Bi="Adjective",Mi="Noun",Ki="Verb";var Li=[null,null,{},{neo:Mi,bio:Mi,"de-":Ki,"re-":Ki,"un-":Ki,"ex-":Mi},{anti:Mi,auto:Mi,faux:Bi,hexa:Mi,kilo:Mi,mono:Mi,nano:Mi,octa:Mi,poly:Mi,semi:Bi,tele:Mi,"pro-":Bi,"mis-":Ki,"dis-":Ki,"pre-":Bi},{anglo:Mi,centi:Mi,ethno:Mi,ferro:Mi,grand:Mi,hepta:Mi,hydro:Mi,intro:Mi,macro:Mi,micro:Mi,milli:Mi,nitro:Mi,penta:Mi,quasi:Bi,radio:Mi,tetra:Mi,"omni-":Bi,"post-":Bi},{pseudo:Bi,"extra-":Bi,"hyper-":Bi,"inter-":Bi,"intra-":Bi,"deca-":Bi},{electro:Mi}];const Ji="Adjective",Wi="Infinitive",qi="PresentTense",Ui="Singular",Qi="PastTense",Ri="Adverb",_i="Expression",Zi="Actor",Xi="Verb",Yi="Noun",es="LastName";var ts={a:[[/.[aeiou]na$/,Yi,"tuna"],[/.[oau][wvl]ska$/,es],[/.[^aeiou]ica$/,Ui,"harmonica"],[/^([hyj]a+)+$/,_i,"haha"]],c:[[/.[^aeiou]ic$/,Ji]],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$/,Ui,"steward"],[/[aeiou][^aeiou]id$/,Ji,""],[/.[vrl]id$/,Ji,"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$/,Wi,"antagonize"],[/.[^aeiou]ise$/,Wi,"antagonise"],[/.[aeiou]te$/,Wi,"bite"],[/.[^aeiou][ai]ble$/,Ji,"fixable"],[/.[^aeiou]eable$/,Ji,"maleable"],[/.[ts]ive$/,Ji,"festive"],[/[a-z]-like$/,Ji,"woman-like"]],h:[[/.[^aeiouf]ish$/,Ji,"cornish"],[/.v[iy]ch$/,es,"..ovich"],[/^ug?h+$/,_i,"ughh"],[/^uh[ -]?oh$/,_i,"uhoh"],[/[a-z]-ish$/,Ji,"cartoon-ish"]],i:[[/.[oau][wvl]ski$/,es,"polish-male"]],k:[[/^(k){2}$/,_i,"kkkk"]],l:[[/.[gl]ial$/,Ji,"familial"],[/.[^aeiou]ful$/,Ji,"fitful"],[/.[nrtumcd]al$/,Ji,"natal"],[/.[^aeiou][ei]al$/,Ji,"familial"]],m:[[/.[^aeiou]ium$/,Ui,"magnesium"],[/[^aeiou]ism$/,Ui,"schism"],[/^[hu]m+$/,_i,"hmm"],[/^\d+ ?[ap]m$/,"Date","3am"]],n:[[/.[lsrnpb]ian$/,Ji,"republican"],[/[^aeiou]ician$/,Zi,"musician"],[/[aeiou][ktrp]in'$/,"Gerund","cookin'"]],o:[[/^no+$/,_i,"noooo"],[/^(yo)+$/,_i,"yoo"],[/^wo{2,}[pt]?$/,_i,"woop"]],r:[[/.[bdfklmst]ler$/,"Noun"],[/[aeiou][pns]er$/,Ui],[/[^i]fer$/,Wi],[/.[^aeiou][ao]pher$/,Zi],[/.[lk]er$/,"Noun"],[/.ier$/,"Comparative"]],t:[[/.[di]est$/,"Superlative"],[/.[icldtgrv]ent$/,Ji],[/[aeiou].*ist$/,Ji],[/^[a-z]et$/,Xi]],s:[[/.[^aeiou]ises$/,qi],[/.[rln]ates$/,qi],[/.[^z]ens$/,Xi],[/.[lstrn]us$/,Ui],[/.[aeiou]sks$/,qi],[/.[aeiou]kes$/,qi],[/[aeiou][^aeiou]is$/,Ui],[/[a-z]'s$/,Yi],[/^yes+$/,_i]],v:[[/.[^aeiou][ai][kln]ov$/,es]],y:[[/.[cts]hy$/,Ji],[/.[st]ty$/,Ji],[/.[tnl]ary$/,Ji],[/.[oe]ry$/,Ui],[/[rdntkbhs]ly$/,Ri],[/.(gg|bb|zz)ly$/,Ji],[/...lly$/,Ri],[/.[gk]y$/,Ji],[/[bszmp]{2}y$/,Ji],[/.[ai]my$/,Ji],[/[ea]{2}zy$/,Ji],[/.[^aeiou]ity$/,Ui]]};const ns="Verb",rs="Noun";var as={leftTags:[["Adjective",rs],["Possessive",rs],["Determiner",rs],["Adverb",ns],["Pronoun",ns],["Value",rs],["Ordinal",rs],["Modal",ns],["Superlative",rs],["Demonym",rs],["Honorific","Person"]],leftWords:[["i",ns],["first",rs],["it",ns],["there",ns],["not",ns],["because",rs],["if",rs],["but",rs],["who",ns],["this",rs],["his",rs],["when",rs],["you",ns],["very","Adjective"],["old",rs],["never",ns],["before",rs],["a",rs],["the",rs],["been",ns]],rightTags:[["Copula",rs],["PastTense",rs],["Conjunction",rs],["Modal",rs]],rightWords:[["there",ns],["me",ns],["man","Adjective"],["him",ns],["it",ns],["were",rs],["took",rs],["himself",ns],["went",rs],["who",rs],["jr","Person"]]},os={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"},is={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"},ss={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"},ls={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"},us={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"},cs={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 hs=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 ds=function(e){return Object.entries(e).reduce(((e,t)=>(e[t[1]]=t[0],e)),{})};var gs=function(e={}){return{reversed:!0,both:ds(e.both),ex:ds(e.ex),fwd:e.rev||{}}};const ms=/^([0-9]+)/,ps=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(ms);if(null===n)return t;let r=Number(n[1])||0;return e.substring(0,r)+t.replace(ms,"")}(n,t[n]),e)),{})};var fs=function(e={}){return"string"==typeof e&&(e=JSON.parse(e)),e.fwd=ps(e.fwd||""),e.both=ps(e.both||""),e.rev=ps(e.rev||""),e.ex=ps(e.ex||""),e};const vs=fs({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"}),bs=fs(ls),ys=fs(is),ws=fs(ss),ks=gs(vs),Ps=gs(bs),As=gs(ys),Cs=gs(ws),Ns=fs(os),js=fs(us);var xs={fromPast:vs,fromPresent:bs,fromGerund:ys,fromParticiple:ws,toPast:ks,toPresent:Ps,toGerund:As,toParticiple:Cs,toComparative:Ns,toSuperlative:js,fromComparative:gs(Ns),fromSuperlative:gs(js),adjToNoun:fs(cs)},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","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)),{}),Ts=["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)),{}),Ds=[[/([^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 Hs=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(Es[t].forEach((n=>e[n]=t)),e)),{});var Os=Es;var Fs=function(e){let t=e.substring(e.length-3);if(!0===Os.hasOwnProperty(t))return Os[t];let n=e.substring(e.length-2);return!0===Os.hasOwnProperty(n)?Os[n]:"s"===e.substring(e.length-1)?"PresentTense":null};const Vs={are:"be",were:"be",been:"be",is:"be",am:"be",was:"be",be:"be",being:"be"};var zs=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=Fs(e)),Vs.hasOwnProperty(e))c=Vs[e];else if("Participle"===n)c=hs(l,i);else if("PastTense"===n)c=hs(l,r);else if("PresentTense"===n)c=hs(l,a);else{if("Gerund"!==n)return e;c=hs(l,o)}return u&&(c+=" "+u),s&&(c=s+" "+c),c};var $s=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:hs(i,n),PresentTense:hs(i,r),Gerund:hs(i,a),FutureTense:"will "+i},u=hs(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 Ss={toInfinitive:zs,conjugate:$s,all:function(e,t){let n=$s(e,t);return delete n.FutureTense,Object.values(n).filter((e=>e))}};const Bs=function(e,t){const n=t.two.models.toSuperlative;return hs(e,n)},Ms=function(e,t){const n=t.two.models.toComparative;return hs(e,n)};var Ks=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 Ls="ically",Js=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]),Ws=[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"}],qs=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"]),Us={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"},{},{},{}],Rs={cool:"cooly",whole:"wholly",full:"fully",good:"well",idle:"idly",public:"publicly",single:"singly",special:"especially"};var _s=function(e){if(Rs.hasOwnProperty(e))return Rs[e];let t=Ks(e,Qs);return t||(t=e+"ly"),t};var Zs={toSuperlative:Bs,toComparative:Ms,toAdverb:_s,toNoun:function(e,t){const n=t.two.models.adjToNoun;return hs(e,n)},fromAdverb:function(e){return e.endsWith("ly")?Js.has(e)?e.replace(/ically/,"ical"):qs.has(e)?null:Us.hasOwnProperty(e)?Us[e]:Ks(e,Ws)||e:null},fromSuperlative:function(e,t){const n=t.two.models.fromSuperlative;return hs(e,n)},fromComparative:function(e,t){const n=t.two.models.fromComparative;return hs(e,n)},all:function(e,t){let n=[e];return n.push(Bs(e,t)),n.push(Ms(e,t)),n.push(_s(e)),n=n.filter((e=>e)),n=new Set(n),Array.from(n)}},Xs={noun:Gs,verb:Ss,adjective:Zs},Ys={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]]||"FutureTense"===e[0]||(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]]=2;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 el=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&&(void 0===o[s[0]]||s.length>o[s[0]])&&(o[s[0]]=s.length),!0===Ys.hasOwnProperty(i)&&Ys[i](t,a,n,r),a[t]=a[t]||i})),delete a[""],delete a.null,delete a[" "],{lex:a,_multi:o}};var tl=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&&!al.find((t=>e.endsWith(t)))},il={two:{quickSplit:tl,expandLexicon:el,transform:Xs,looksPlural:ol}};var sl=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 ll={one:{lexicon:{}},two:{models:xs}};const ul={"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"},cl=function(e,t){const n={model:t,methods:il};let{lex:r,_multi:a}=il.two.expandLexicon(e,n);return Object.assign(t.one.lexicon,r),Object.assign(t.one._multiCache,a),t},hl=function(e,t,n){let r=$s(e,ll);t[r.PastTense]=t[r.PastTense]||"PastTense",t[r.Gerund]=t[r.Gerund]||"Gerund",!0===n&&(t[r.PresentTense]=t[r.PresentTense]||"PresentTense")},dl=function(e,t,n){let r=Bs(e,n);t[r]=t[r]||"Superlative";let a=Ms(e,n);t[a]=t[a]||"Comparative"},gl=function(e,t){let n={};const r=t.one.lexicon;return Object.keys(e).forEach((a=>{const o=e[a];if(n[a]=ul[o],"Noun|Verb"!==o&&"Person|Verb"!==o&&"Actor|Verb"!==o||hl(a,r,!1),"Adj|Present"===o&&(hl(a,r,!0),dl(a,r,t)),"Person|Adj"===o&&dl(a,r,t),"Adj|Gerund"===o||"Noun|Gerund"===o){let e=zs(a,ll,"Gerund");r[e]||(n[e]="Infinitive")}if("Noun|Gerund"!==o&&"Adj|Noun"!==o&&"Person|Noun"!==o||function(e,t,n){let r=$o(e,n);t[r]=t[r]||"Plural"}(a,r,t),"Adj|Past"===o){let e=zs(a,ll,"PastTense");r[e]||(n[e]="Infinitive")}})),t=cl(n,t)};var ml=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=cl(e.one.lexicon,e)).one.lexicon,e),e=gl(e.two.switches,e),e=sl(e)};let pl={one:{_multiCache:{},lexicon:Bo,frozenLex:{"20th century fox":"Organization","7 eleven":"Organization","motel 6":"Organization","excuse me":"Expression","financial times":"Organization","guns n roses":"Organization","la z boy":"Organization","labour party":"Organization","new kids on the block":"Organization","new york times":"Organization","the guess who":"Organization","thin lizzy":"Organization","prime minister":"Actor","free market":"Singular","lay up":"Singular","living room":"Singular","spin off":"Singular","appeal court":"Uncountable","cold war":"Uncountable","gene pool":"Uncountable","machine learning":"Uncountable","nail polish":"Uncountable","time off":"Uncountable","take part":"Infinitive","bill gates":"Person","doctor who":"Person","he man":"Person","iron man":"Person","kid cudi":"Person","run dmc":"Person","rush limbaugh":"Person","snow white":"Person","tiger woods":"Person","brand new":"Adjective","en route":"Adjective","left wing":"Adjective","off guard":"Adjective","on board":"Adjective","part time":"Adjective","right wing":"Adjective","so called":"Adjective","spot on":"Adjective","straight forward":"Adjective","super duper":"Adjective","tip top":"Adjective","top notch":"Adjective","up to date":"Adjective","win win":"Adjective","brooklyn nets":"SportsTeam","chicago bears":"SportsTeam","houston astros":"SportsTeam","houston dynamo":"SportsTeam","houston rockets":"SportsTeam","houston texans":"SportsTeam","minnesota twins":"SportsTeam","orlando magic":"SportsTeam","san antonio spurs":"SportsTeam","san diego chargers":"SportsTeam","san diego padres":"SportsTeam","iron maiden":"ProperNoun","isle of man":"Country","united states":"Country","united states of america":"Country","prince edward island":"Region","cedar breaks":"Place","cedar falls":"Place","point blank":"Adverb","tiny bit":"Adverb","by the time":"Conjunction","no matter":"Conjunction","civil wars":"Plural","credit cards":"Plural","default rates":"Plural","free markets":"Plural","head starts":"Plural","home runs":"Plural","lay ups":"Plural","phone calls":"Plural","press releases":"Plural","record labels":"Plural","soft serves":"Plural","student loans":"Plural","tax returns":"Plural","tv shows":"Plural","video games":"Plural","took part":"PastTense","takes part":"PresentTense","taking part":"Gerund","taken part":"Participle"}},two:{irregularPlurals:No,models:xs,suffixPatterns:Si,prefixPatterns:Li,endsWith:ts,neighbours:as,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'[a-z]{3}/,"LastName","mc'neil"],[/^o'[a-z]{3}/,"LastName","o'connor"],[/^ma?cd[aeiou][a-z]{3}/,"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:Mo,clues:Ci,uncountable:{},orgWords:Is,placeWords:Ts}};pl=ml(pl);var fl=pl;var vl=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 bl=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 yl=/^(under|over|mis|re|un|dis|semi)-?/;var wl=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(yl.test(a.normal)){let e=a.normal.replace(yl,"");e.length>3&&r.hasOwnProperty(e)&&(a.switch=r[e])}};var kl=function(e,t,n){if(!t||0===t.length)return;if(!0===e.frozen)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 Pl=["Acronym","Abbreviation","ProperNoun","Uncountable","Possessive","Pronoun","Activity","Honorific","Month"];var Al=function(e,t,n){let r=e[t],a=Array.from(r.tags);for(let e=0;ee.tags.has(t)))||(ol(e.normal)?kl(e,"Plural","3-plural-guess"):kl(e,"Singular","3-singular-guess"))}(r),function(e){let t=e.tags;if(t.has("Verb")&&1===t.size){let t=Fs(e.normal);t&&kl(e,t,"3-verb-tense-guess")}}(r)};const Cl=/^\p{Lu}[\p{Ll}'’]/u,Nl=/[0-9]/,jl=["Date","Month","WeekDay","Unit","Expression"],xl=/[IVX]/,Il=/^[IVXLCDM]{2,}$/,Tl=/^M{0,4}(CM|CD|D?C{0,3})(XC|XL|L?X{0,3})(IX|IV|V?I{0,3})$/,Dl={li:!0,dc:!0,md:!0,dm:!0,ml:!0};var Hl=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===Cl.test(o)&&!1===Nl.test(o)?jl.find((e=>r.tags.has(e)))||r.pre.match(/["']$/)||"the"===r.normal?null:(Al(e,t,n),r.tags.has("Noun")||r.frozen||r.tags.clear(),kl(r,"ProperNoun","2-titlecase"),!0):o.length>=2&&Il.test(o)&&xl.test(o)&&Tl.test(o)&&!Dl[r.normal]?(kl(r,"RomanNumeral","2-xvii"),!0):null};const Gl=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 El=function(e,t,n){let r=e[t];if(0===r.tags.size){let e=Gl(r.normal,n.two.suffixPatterns);if(null!==e)return kl(r,e,"2-suffix"),r.confidence=.7,!0;if(r.implicit&&(e=Gl(r.implicit,n.two.suffixPatterns),null!==e))return kl(r,e,"2-implicit-suffix"),r.confidence=.7,!0}return null};const Ol=/['‘’‛‵′`´]/,Fl=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 kl(r,e,"2-prefix"),r.confidence=.5,!0}return null};const $l=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"]),Sl=function(e){if(!e)return!1;let t=e.normal||e.implicit;return!!$l.has(t)||(!!(e.tags.has("Date")||e.tags.has("Month")||e.tags.has("WeekDay")||e.tags.has("Year"))||!!e.tags.has("ProperNoun"))},Bl=function(e){return!!e&&(!!e.tags.has("Ordinal")||(!!(e.tags.has("Cardinal")&&e.normal.length<3)||("is"===e.normal||"was"===e.normal)))},Ml=function(e){return e&&(e.tags.has("Date")||e.tags.has("Month")||e.tags.has("WeekDay")||e.tags.has("Year"))};var Kl=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(Sl(a)||Sl(o))return kl(n,"Year","2-tagYear");if(r>=1920&&r<2025){if(Bl(a)||Bl(o))return kl(n,"Year","2-tagYear-close");if(Ml(e[t-2])||Ml(e[t+2]))return kl(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 kl(n,"Year","2-tagYear-noun")}}}return null};var Ll=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 Jl=/^[A-Z]('s|,)?$/,Wl=/^[A-Z-]+$/,ql=/^[A-Z]+s$/,Ul=/([A-Z]\.)+[A-Z]?,?$/,Ql=/[A-Z]{2,}('s|,)?$/,Rl=/([a-z]\.)+[a-z]\.?$/,_l={I:!0,A:!0},Zl={la:!0,ny:!0,us:!0,dc:!0,gb:!0};var Xl=function(e,t,n){let r=e[t];return r.tags.has("RomanNumeral")||r.tags.has("Acronym")||r.frozen?null:function(e,t){let n=e.text;if(!1===Wl.test(n)){if(!(n.length>3&&!0===ql.test(n)))return!1;n=n.replace(/s$/,"")}return!(n.length>5||_l.hasOwnProperty(n)||t.one.lexicon.hasOwnProperty(e.normal)||!0!==Ul.test(n)&&!0!==Rl.test(n)&&!0!==Jl.test(n)&&!0!==Ql.test(n))}(r,n)?(r.tags.clear(),kl(r,["Acronym","Noun"],"3-no-period-acronym"),!0===Zl[r.normal]&&kl(r,"Place","3-place-acronym"),!0===ql.test(r.text)&&kl(r,"Plural","3-plural-acronym"),!0):!_l.hasOwnProperty(r.text)&&Jl.test(r.text)?(r.tags.clear(),kl(r,["Acronym","Noun"],"3-one-letter-acronym"),!0):r.tags.has("Organization")&&r.text.length<=3?(kl(r,"Acronym","3-org-acronym"),!0):r.tags.has("Organization")&&Wl.test(r.text)&&r.text.length<=6?(kl(r,"Acronym","3-titlecase-acronym"),!0):null};const Yl=function(e,t){if(!e)return null;let n=t.find((t=>e.normal===t[0]));return n?n[1]:null},eu=function(e,t){if(!e)return null;let n=t.find((t=>e.tags.has(t[0])));return n?n[1]:null};var tu=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||Yl(e[t-1],a),l=l||Yl(e[t+1],o),l=l||eu(e[t-1],r),l=l||eu(e[t+1],i),l)return kl(s,l,"3-[neighbour]"),Al(e,t,n),e[t].confidence=.2,!0}return null};const nu=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 ru=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]&&nu(e[t-1],t-1,r)){o([e[t]],"Organization",n,null,"3-[org-word]");for(let a=t;a>=0&&nu(e[a],a,r);a-=1)o([e[a]],"Organization",n,null,"3-[org-word]")}return null};const au=/'s$/,ou=new Set(["athletic","city","community","eastern","federal","financial","great","historic","historical","local","memorial","municipal","national","northern","provincial","southern","state","western"]),iu=new Set(["center","centre","way","range","bar","bridge","field","pit"]),su=function(e,t,n){if(!e)return!1;let r=e.tags;return!(r.has("Organization")||r.has("Possessive")||au.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 lu=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(!ou.has(e[a].normal)){if(!su(e[a],a,r))break;o(e.slice(a,t+1),"Place",n,null,"3-[place-of-foo]")}if(iu.has(s))return!1;for(let a=t+1;ae[t].tags.has("ProperNoun")&&cu.test(e[t].text)?"Noun":null,du=(e,t,n)=>0!==t||e[1]?null:n,gu={"Adj|Gerund":(e,t)=>hu(e,t),"Adj|Noun":(e,t)=>hu(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)=>hu(e,t),"Adj|Past":(e,t)=>hu(e,t),"Adj|Present":(e,t)=>hu(e,t),"Noun|Gerund":(e,t)=>hu(e,t),"Noun|Verb":(e,t)=>t>0&&hu(e,t)||du(e,t,"Infinitive"),"Plural|Verb":(e,t)=>hu(e,t)||du(e,t,"PresentTense")||function(e,t,n){return 0===t&&e.length>3?n:null}(e,t,"Plural"),"Person|Noun":(e,t)=>hu(e,t),"Person|Verb":(e,t)=>0!==t?hu(e,t):null,"Person|Adj":(e,t)=>0===t&&e.length>1||hu(e,t)?"Person":null};var mu=gu;const pu="undefined"!=typeof process&&process.env?process.env:self.env||{},fu=/^(under|over|mis|re|un|dis|semi)-?/,vu=(e,t)=>{if(!e||!t)return null;let n=e.normal||e.implicit,r=null;return t.hasOwnProperty(n)&&(r=t[n]),r&&pu.DEBUG_TAGS&&console.log(`\n  ↓ - '${n}' `),r},bu=(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&&pu.DEBUG_TAGS&&console.log(`  ↓ - '${e.normal||e.implicit}' (#${a}) `),a=t[a],a};var yu=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(fu.test(l)&&!o[l]&&(l=l.replace(fu,"")),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=vu(e[t+1],n.afterWords);return o=o||vu(e[t-1],n.beforeWords),o=o||bu(e[t-1],n.beforeTags,a),o=o||bu(e[t+1],n.afterTags,a),o}(e,t,i[o],r);mu[o]&&(u=mu[o](e,t)||u),u?(a([s],u,n,null,`3-[switch] (${o})`),Al(e,t,r)):pu.DEBUG_TAGS&&console.log(`\n -> X - '${l}' : (${o}) `)}};const wu={there:!0,this:!0,it:!0,him:!0,her:!0,us:!0};var ku=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&&!wu[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 Pu=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)))},Au=function(e,t,n,r){for(let a=0;a{vl(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 xu=function(e){const t=e.world,n=Object.keys(ju);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=Su.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=$u};var Mu=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 Ku=/'/;var Lu=function(e,t){let n=e[t].normal.split(Ku)[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 Ju=/'/;var Wu=function(e,t){let n=e[t].normal.split(Ju)[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 qu=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 Uu={that:!0,there:!0,let:!0,here:!0,everywhere:!0},Qu={in:!0,by:!0,for:!0};var Ru=(e,t)=>{let n=e[t];if(Uu.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 _u=/'/,Zu=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)},Xu={d:(e,t)=>Wu(e,t),t:(e,t)=>qu(e,t),s:(e,t,n)=>Ru(e,t)?n.methods.one.setTag([e[t]],"Possessive",n,null,"2-contraction"):Lu(e,t)},Yu=function(e,t){let n=t.fromText(e.join(" "));return n.compute("id"),n.docs[0]};var ec={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===_u.test(r[o].normal)&&(i=r[o].normal.split(_u)[1]);let s=null;Xu.hasOwnProperty(i)&&(s=Xu[i](r,o,t)),s&&(s=Yu(s,e),Mu(n,[a,o],s),Zu(n[a],e,o,s.length))}}))}},tc={compute:ec,api:Bu,hooks:["contractionTwo"]};const nc="(hard|fast|late|early|high|right|deep|close|direct)";const rc="(i|we|they)";let ac=[].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 ${nc}`,tag:"#PresentTense #Adverb",reason:"studies-hard"},{match:`#Verb [${nc}] !#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:rc,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:rc,group:0,tag:"Imperative",reason:"do-it-better"},{match:"^[#Infinitive] it (please|now|again|plz)",notIf:rc,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:"#Determiner #Noun+ [who] #Verb",group:0,tag:"Preposition",reason:"the-x-who"},{match:"#Determiner #Noun+ [which] #Verb",group:0,tag:"Preposition",reason:"the-x-which"},{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:"#Place+ #SportsTeam",tag:"SportsTeam",reason:"place-sportsteam"},{match:"(dc|atlanta|minnesota|manchester|newcastle|sheffield) united",tag:"SportsTeam",reason:"united-sportsteam"},{match:"#Place+ fc",tag:"SportsTeam",reason:"fc-sportsteam"}],[{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 oc=null;var ic={postTagger:function(e){const{world:t}=e,{model:n,methods:r}=t;oc=oc||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(oc),e.uncache(),e.unfreeze(),e},tagger:e=>e.compute(["lexicon","preTagger","postTagger"])};const sc={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:ic,model:{two:{matches:ac}},hooks:["postTagger"]};var lc=sc;var uc=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 cc=function(e,t){let n=t;"string"==typeof t&&(n=this.buildNet([{match:t}]));let r=this.tokenize(e),a=uc(r,n);return a.found?(a.compute(["index","tagger"]),a.match(t)):r.none()},hc={lib:{lazy:cc}};var dc=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 gc=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")?dc(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 mc={api:function(e){e.prototype.swap=gc}};v.plugin(Fu),v.plugin(tc),v.plugin(lc),v.plugin(hc),v.plugin(mc);const pc=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 fc={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=pc(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=pc(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=pc(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=pc(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=pc(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=pc(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 vc={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 bc=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 yc=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 wc=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=yc(this);return t=t.getNth(e),new Chunks(this.document,t.pointer)},e.prototype.clauses=bc};const kc={this:"Noun",then:"Pivot"};var Pc=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 Nc=null;var jc=function(e,t,n){const{methods:r}=n;Nc=Nc||r.one.buildNet(Cc,n),e.sweep(Nc)};const xc=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 Ic=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 Dc={chunks:function(e){const{document:t,world:n}=e;Pc(t),Ac(t),jc(e,t,n),Ic(t),Tc(t)}},Hc={compute:Dc,api:wc,hooks:["chunks"]};const Gc=/\./g;var Ec=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(Gc,""),e.normal=e.normal.replace(Gc,"")}))})),this}addPeriods(){return this.docs.forEach((e=>{e.forEach((e=>{e.text=e.text.replace(Gc,""),e.normal=e.normal.replace(Gc,""),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 Oc=/\(/,Fc=/\)/,Vc=function(e,t){for(;t{e[0].pre=e[0].pre.replace(Oc,"");let t=e[e.length-1];t.post=t.post.replace(Fc,"")})),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($c,""),e.normal=e.normal.replace($c,"")}))})),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 Bc={'"':'"',""":""","'":"'","“":"”","‘":"’","‟":"”","‛":"’","„":"”","⹂":"”","‚":"’","«":"»","‹":"›","‵":"′","‶":"″","‷":"‴","〝":"〞","`":"´","〟":"〞"},Mc=RegExp("["+Object.keys(Bc).join("")+"]"),Kc=RegExp("["+Object.values(Bc).join("")+"]"),Lc=function(e,t){const n=e[t].pre.match(Mc)[0]||"";if(!n||!Bc[n])return null;const r=Bc[n];for(;t{e[0].pre=e[0].pre.replace(Mc,"");let t=e[e.length-1];t.post=t.post.replace(Kc,"")}))}(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=Wc,Uc.forEach((t=>{e.prototype[t[0]]=e.prototype[t[1]]}))},Rc={api:function(e){Ec(e),zc(e),Sc(e),Jc(e),Qc(e)}};const _c=function(e,t){e.docs.forEach((e=>{e.forEach(t)}))};var Zc={case:e=>{_c(e,(e=>{e.text=e.text.toLowerCase()}))},unicode:e=>{const t=e.world,n=t.methods.one.killUnicode;_c(e,(e=>e.text=n(e.text,t)))},whitespace:e=>{_c(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=>{_c(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 Xc=e=>e.split("|").reduce(((e,t)=>(e[t]=!0,e)),{}),Yc="unicode|punctuation|whitespace|acronyms",eh="|case|contractions|parentheses|quotations|emoji|honorifics|debullet",th={light:Xc(Yc),medium:Xc(Yc+eh),heavy:Xc(Yc+eh+"|possessives|adverbs|nouns|verbs")};var nh={api:function(e){e.prototype.normalize=function(e="light"){return"string"==typeof e&&(e=th[e]),Object.keys(e).forEach((t=>{Zc.hasOwnProperty(t)&&Zc[t](this,e[t])})),this}}};var rh=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 ah=["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 oh=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 sh=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:ih(e,t),isSubordinate:oh(e),root:t}};const lh=e=>e.text(),uh=e=>e.json({terms:!1,normal:!0}).map((e=>e.normal)),ch=function(e){if(!e.found)return null;let t=e.values(0);if(t.found){return(t.parse()[0]||{}).num}return null};var hh=function(e){let t=sh(e);return{root:lh(t.root),number:ch(t.number),determiner:lh(t.determiner),adjectives:uh(t.adjectives),isPlural:t.isPlural,isSubordinate:t.isSubordinate}};var dh=function(e){return!e.has("^(#Uncountable|#ProperNoun|#Place|#Pronoun|#Acronym)+$")};const gh={tags:!0};var mh=function(e,t){if(!0===t.isPlural)return e;if(t.root.has("#Possessive")&&(t.root=t.root.possessives().strip()),!dh(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,gh).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 ph={tags:!0};var fh=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,ph).tag("Singular","toPlural"),e};var vh=function(e){class Nouns extends e{constructor(e,t,n){super(e,t,n),this.viewType="Nouns"}parse(e){return this.getNth(e).map(sh)}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=hh(e)),n}),[])}conjugate(e){const t=this.world.methods.two.transform.noun;return this.getNth(e).map((e=>{let n=sh(e),r=n.root.compute("root").text("root"),a={Singular:r};return dh(n.root)&&(a.Plural=t.toPlural(r,this.model)),a.Singular===a.Plural&&delete a.Plural,a}),[])}isPlural(e){let t=this.filter((e=>sh(e).isPlural));return t.getNth(e)}isSingular(e){let t=this.filter((e=>!sh(e).isPlural));return t.getNth(e)}adjectives(e){let t=this.update([]);return this.forEach((e=>{let n=sh(e).adjectives;n.found&&(t=t.concat(n))})),t.getNth(e)}toPlural(e){return this.getNth(e).map((e=>mh(e,sh(e))))}toSingular(e){return this.getNth(e).map((e=>{let t=sh(e);return fh(e,t)}))}update(e){let t=new Nouns(this.document,e);return t._cache=this._cache,t}}e.prototype.nouns=function(e){let t=rh(this);return t=t.getNth(e),new Nouns(this.document,t.pointer)}},bh={api:vh};var yh=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 wh=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(kh.ones.hasOwnProperty(e)){if(t.ones||t.teens)return!1}else if(kh.teens.hasOwnProperty(e)){if(t.ones||t.teens||t.tens)return!1}else if(kh.tens.hasOwnProperty(e)&&(t.ones||t.teens||t.tens))return!1;return!0};var Ah=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 Nh=/^([0-9,. ]+)\/([0-9,. ]+)$/,jh={"a few":3,"a couple":2,"a dozen":12,"two dozen":24,zero:0},xh=e=>Object.keys(e).reduce(((t,n)=>t+=e[n]),0);var Ih=function(e){if(!0===jh.hasOwnProperty(e))return jh[e];if("a"===e||"an"===e)return 1;const t=wh(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=Dh(n),r=Dh(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:Dh(n);let a=r.text("reduced");return Th.test(a)&&(a=a.replace(Th,""),r=r.replaceWith(a)),r=Hh.hasOwnProperty(a)?Hh[a]:Dh(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:Dh(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 Eh=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 Oh=[["ninety",90],["eighty",80],["seventy",70],["sixty",60],["fifty",50],["forty",40],["thirty",30],["twenty",20]],Fh=["","one","two","three","four","five","six","seven","eight","nine","ten","eleven","twelve","thirteen","fourteen","fifteen","sixteen","seventeen","eighteen","nineteen"],Vh=[[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"]],zh=function(e){let t=[];if(e>100)return t;for(let n=0;n=Oh[n][1]&&(e-=Oh[n][1],t.push(Oh[n][0]));return Fh[e]&&t.push(Fh[e]),t};var $h=function(e){let t=e.num;if(0===t||"0"===t)return"zero";t>1e21&&(t=Eh(t));let n=[];t<0&&(n.push("minus"),t=Math.abs(t));let r=function(e){let t=e,n=[];return Vh.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(zh(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=Eh(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 Sh=function(e){if(!e.numerator||!e.denominator)return"";return`${$h({num:e.numerator})} out of ${$h({num:e.denominator})}`};const Bh={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 Mh=e=>{let t=$h(e).split(" "),n=t[t.length-1];return Bh.hasOwnProperty(n)?t[t.length-1]=Bh[n]:t[t.length-1]=n.replace(/y$/,"i")+"th",t.join(" ")};var Kh=function(e){if(!e.numerator||!e.denominator)return"";let t=$h({num:e.numerator}),n=Mh({num:e.denominator});return 2===e.denominator&&(n="half"),t&&n?(1!==e.numerator&&(n+="s"),`${t} ${n}`):""};var Lh=function(e){class Fractions extends e{constructor(e,t,n){super(e,t,n),this.viewType="Fractions"}parse(e){return this.getNth(e).map(Gh)}get(e){return this.getNth(e).map(Gh)}json(e){return this.getNth(e).map((t=>{let n=t.toView().json(e)[0],r=Gh(t);return n.fraction=r,n}),[])}toDecimal(e){return this.getNth(e).forEach((e=>{let{decimal:t}=Gh(e);(e=e.replaceWith(String(t),!0)).tag("NumericValue"),e.unTag("Fraction")})),this}toFraction(e){return this.getNth(e).forEach((e=>{let t=Gh(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=Gh(e),n=Kh(t);e.after("^#Noun").found&&(n+=" of"),e.replaceWith(n)})),this}toCardinal(e){return this.getNth(e).forEach((e=>{let t=Gh(e),n=Sh(t);e.replaceWith(n)})),this}toPercentage(e){return this.getNth(e).forEach((e=>{let{decimal:t}=Gh(e),n=100*t;n=Math.round(100*n)/100,e.replaceWith(`${n}%`)})),this}}e.prototype.fractions=function(e){let t=yh(this);return t=t.getNth(e),new Fractions(this.document,t.pointer)}};const Jh="twenty|thirty|forty|fifty|sixty|seventy|eighty|ninety|fourty";var Wh=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("("+Jh+") #Cardinal #Cardinal")&&(t=t.splitAfter("("+Jh+") #Cardinal")),t.has("#Value #Value")){t.has("#NumericValue #NumericValue")&&(t=t.splitOn("#Year")),t.has("("+Jh+") (eleven|twelve|thirteen|fourteen|fifteen|sixteen|seventeen|eighteen|nineteen)")&&(t=t.splitAfter("("+Jh+")"));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) (${Jh})`),r=e.has("("+Jh+") #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("("+Jh+") #Ordinal")||(t=t.splitAfter("#Ordinal"))),t=t.splitBefore("#Ordinal [#Cardinal]",0),t.has("#TextValue #NumericValue")&&!t.has("("+Jh+"|#Multiple)")&&(t=t.splitBefore("#TextValue #NumericValue"))}return t=t.splitAfter("#NumberRange"),t=t.splitBefore("#Year"),t};var qh=function(e){if("string"==typeof e)return{num:Ih(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=Gh(a),t=(e=(e=e.not(a)).not("and$")).text("reduced"));let i=0;return t&&(i=Ih(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 Uh=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=Eh(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"},Rh={"%":"percent","°":"degrees"};var _h=function(e){let t={suffix:"",prefix:e.prefix};return Qh.hasOwnProperty(e.prefix)&&(t.suffix+=" "+Qh[e.prefix],t.prefix=""),Rh.hasOwnProperty(e.suffix)&&(t.suffix+=" "+Rh[e.suffix]),t.suffix&&1===e.num&&(t.suffix=t.suffix.replace(/s$/,"")),!t.suffix&&e.suffix&&(t.suffix+=" "+e.suffix),t};var Zh=function(e,t){if("TextOrdinal"===t){let{prefix:t,suffix:n}=_h(e);return t+Mh(e)+n}if("Ordinal"===t)return e.prefix+Uh(e)+e.suffix;if("TextCardinal"===t){let{prefix:t,suffix:n}=_h(e);return t+$h(e)+n}let n=e.num;return e.hasComma&&(n=n.toLocaleString()),e.prefix+String(n)+e.suffix};var Xh=function(e){class Numbers extends e{constructor(e,t,n){super(e,t,n),this.viewType="Numbers"}parse(e){return this.getNth(e).map(qh)}get(e){return this.getNth(e).map(qh).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=qh(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=qh(e);if(null===t.num)return;let n=e.has("#Ordinal")?"Ordinal":"Cardinal",r=Zh(t,n);e.replaceWith(r,{tags:!0}),e.tag("NumericValue")})),this}toLocaleString(){return this.forEach((e=>{let t=qh(e);if(null===t.num)return;let n=t.num.toLocaleString();if(e.has("#Ordinal")){let e=Zh(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=qh(e);if(null===t.num)return e;let n=e.has("#Ordinal")?"TextOrdinal":"TextCardinal",r=Zh(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=qh(e);if(null===t.num)return e;let n=e.has("#TextValue")?"TextCardinal":"Cardinal",r=Zh(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=qh(e);if(null===t.num)return e;let n=e.has("#TextValue")?"TextOrdinal":"Ordinal",r=Zh(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=>qh(t).num===e))}greaterThan(e){return this.filter((t=>qh(t).num>e))}lessThan(e){return this.filter((t=>qh(t).num{let r=qh(n).num;return r>e&&r{let n=qh(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=Zh(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=qh(e).num);let t=this.map((t=>{let n=qh(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=Zh(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=Wh(this);return t=t.getNth(e),new Numbers(this.document,t.pointer)},e.prototype.percentages=function(e){let t=Wh(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=Wh(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 Yh={api:function(e){Lh(e),Xh(e)}};const ed={people:!0,emails:!0,phoneNumbers:!0,places:!0},td=function(e={}){return!1!==(e=Object.assign({},ed,e)).people&&this.people().replaceWith("██████████"),!1!==e.emails&&this.emails().replaceWith("██████████"),!1!==e.places&&this.places().replaceWith("██████████"),!1!==e.phoneNumbers&&this.phoneNumbers().replaceWith("███████"),this},nd={api:function(e){e.prototype.redact=td}};var rd=nd;var ad=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 od=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 id=function(e){let t=null;return e.has("#PastTense")?t="PastTense":e.has("#FutureTense")?t="FutureTense":e.has("#PresentTense")&&(t="PresentTense"),{tense:t}};var sd=function(e){let t=e.clauses(),n=od(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:id(a)}};var ld=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 ud=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 cd=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 hd=function(e){return e.verbs().toInfinitive(),e};var dd=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}=sd(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=>(sd(e),ld(e))))}toPresentTense(e){return this.getNth(e).map((e=>(sd(e),ud(e))))}toFutureTense(e){return this.getNth(e).map((e=>(sd(e),e=cd(e))))}toInfinitive(e){return this.getNth(e).map((e=>(sd(e),hd(e))))}toNegative(e){return this.getNth(e).map((e=>(sd(e),function(e){return e.verbs().first().toNegative().compute("chunks"),e}(e))))}toPositive(e){return this.getNth(e).map((e=>(sd(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 ad(this).getNth(e)}};Object.assign(e.prototype,t)},gd={api:dd};var md=function(e){let t=e.match("#Honorific+? #Person+"),n=t.match("#Possessive").notIf("(his|her)");return t=t.splitAfter(n),t};var pd=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 fd="male",vd="female",bd={mr:fd,mrs:vd,miss:vd,madam:vd,king:fd,queen:vd,duke:fd,duchess:vd,baron:fd,baroness:vd,count:fd,countess:vd,prince:fd,princess:vd,sire:fd,dame:vd,lady:vd,ayatullah:fd,congressman:fd,congresswoman:vd,"first lady":vd,mx:null};var yd=function(e,t){let{firstName:n,honorific:r}=e;if(n.has("#FemaleName"))return vd;if(n.has("#MaleName"))return fd;if(r.found){let e=r.text("normal");if(e=e.replace(/\./g,""),bd.hasOwnProperty(e))return bd[e];if(/^her /.test(e))return vd;if(/^his /.test(e))return fd}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 fd;if(n&&!t)return vd}return null};var wd=function(e){class People extends e{constructor(e,t,n){super(e,t,n),this.viewType="People"}parse(e){return this.getNth(e).map(pd)}json(e){let t="object"==typeof e?e:{};return this.getNth(e).map((e=>{let n=e.toView().json(t)[0],r=pd(e);return n.person={firstName:r.firstName.text("normal"),lastName:r.lastName.text("normal"),honorific:r.honorific.text("normal"),presumed_gender:yd(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=md(this);return t=t.getNth(e),new People(this.document,t.pointer)}};var kd=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 Pd=function(e){e.prototype.places=function(t){let n=kd(this);return n=n.getNth(t),new e(this.document,n.pointer)}};var Ad=function(e){e.prototype.organizations=function(e){return this.match("#Organization+").getNth(e)}};const Cd=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 Nd=function(e){e.prototype.topics=Cd};var jd={api:function(e){wd(e),Pd(e),Ad(e),Nd(e)}};var xd=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 Id=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 Td=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 Dd=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},Hd=function(e){return e.match("#Negative")},Gd=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 Ed=function(e){let t=e.clone();t.contractions().expand();const n=Id(t);return{root:n,prefix:t.match("#Prefix"),adverbs:Td(t,n),auxiliary:Dd(t,n),negative:Hd(t),phrasal:Gd(n)}};const Od={tense:"PresentTense"},Fd={conditional:!0},Vd={tense:"FutureTense"},zd={progressive:!0},$d={tense:"PastTense"},Sd={complete:!0,progressive:!1},Bd={passive:!0},Md=function(e){let t={};return e.forEach((e=>{Object.assign(t,e)})),t},Kd={imperative:[["#Imperative",[]]],"want-infinitive":[["^(want|wants|wanted) to #Infinitive$",[Od]],["^wanted to #Infinitive$",[$d]],["^will want to #Infinitive$",[Vd]]],"gerund-phrase":[["^#PastTense #Gerund$",[$d]],["^#PresentTense #Gerund$",[Od]],["^#Infinitive #Gerund$",[Od]],["^will #Infinitive #Gerund$",[Vd]],["^have #PastTense #Gerund$",[$d]],["^will have #PastTense #Gerund$",[$d]]],"simple-present":[["^#PresentTense$",[Od]],["^#Infinitive$",[Od]]],"simple-past":[["^#PastTense$",[$d]]],"simple-future":[["^will #Adverb? #Infinitive",[Vd]]],"present-progressive":[["^(is|are|am) #Gerund$",[Od,zd]]],"past-progressive":[["^(was|were) #Gerund$",[$d,zd]]],"future-progressive":[["^will be #Gerund$",[Vd,zd]]],"present-perfect":[["^(has|have) #PastTense$",[$d,Sd]]],"past-perfect":[["^had #PastTense$",[$d,Sd]],["^had #PastTense to #Infinitive",[$d,Sd]]],"future-perfect":[["^will have #PastTense$",[Vd,Sd]]],"present-perfect-progressive":[["^(has|have) been #Gerund$",[$d,zd]]],"past-perfect-progressive":[["^had been #Gerund$",[$d,zd]]],"future-perfect-progressive":[["^will have been #Gerund$",[Vd,zd]]],"passive-past":[["(got|were|was) #Passive",[$d,Bd]],["^(was|were) being #Passive",[$d,Bd]],["^(had|have) been #Passive",[$d,Bd]]],"passive-present":[["^(is|are|am) #Passive",[Od,Bd]],["^(is|are|am) being #Passive",[Od,Bd]],["^has been #Passive",[Od,Bd]]],"passive-future":[["will have been #Passive",[Vd,Bd,Fd]],["will be being? #Passive",[Vd,Bd,Fd]]],"present-conditional":[["would be #PastTense",[Od,Fd]]],"past-conditional":[["would have been #PastTense",[$d,Fd]]],"auxiliary-future":[["(is|are|am|was) going to (#Infinitive|#PresentTense)",[Vd]]],"auxiliary-past":[["^did #Infinitive$",[$d,{plural:!1}]],["^used to #Infinitive$",[$d,Sd]]],"auxiliary-present":[["^(does|do) #Infinitive$",[Od,Sd,{plural:!0}]]],"modal-past":[["^(could|must|should|shall) have #PastTense$",[$d]]],"modal-infinitive":[["^#Modal #Infinitive$",[]]],infinitive:[["^#Infinitive$",[]]]};let Ld=[];Object.keys(Kd).map((e=>{Kd[e].forEach((t=>{Ld.push({name:e,match:t[0],data:Md(t[1])})}))}));var Jd=Ld;var Wd=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(),qd(r)&&(n.remove(r),r=n.last()),qd(r)&&(n.remove(r),r=n.last()),r)}(e);return{subject:t,plural:Ud(t,e)}};const Rd=e=>e,_d=(e,t)=>{let n=Qd(e),r=n.subject;return!(!r.has("i")&&!r.has("we"))||n.plural},Zd=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"},Xd=function(e,t){let n=Qd(e),r=n.subject;return r.has("i")||r.has("we")||n.plural?"do":"does"},Yd=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},eg=function(e,t){const{toInfinitive:n}=e.methods.two.transform.verb;let r=t.root.text({keepPunct:!1});return r=n(r,e.model,Yd(e)),r&&e.replace(t.root,r),e},tg=e=>e.has("will not")?e.replace("will not","have not"):e.remove("will"),ng=function(e){if(!e||!e.isView)return[];return e.json({normal:!0,terms:!1,text:!1}).map((e=>e.normal))},rg=function(e){return e&&e.isView?e.text("normal"):""},ag=function(e){const{toInfinitive:t}=e.methods.two.transform.verb;return t(e.text("normal"),e.model,Yd(e))};var og=function(e){let t=Ed(e);e=e.clone().toView();const n=Wd(e,t);return{root:t.root.text(),preAdverbs:ng(t.adverbs.pre),postAdverbs:ng(t.adverbs.post),auxiliary:rg(t.auxiliary),negative:t.negative.found,prefix:rg(t.prefix),infinitive:ag(t.root),grammar:n}};const ig={tags:!0};var sg=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,Yd(r)),i&&e.replace(r,i,ig).tag("Verb").firstTerm().tag("Infinitive"),o.found&&e.remove(o),t.negative.found){e.has("not")||e.prepend("not");let t=Xd(e);e.prepend(t)}return e.fullSentence().compute(["lexicon","preTagger","postTagger","chunks"]),e};const lg={tags:!0},ug={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,Yd(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,lg),e},both:function(e,t){return t.negative.found?(e.replace("will","did"),e):(e=ug.simple(e,t),e=ug.noAux(e,t))},hasHad:e=>(e.replace("has","had",lg),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,Yd(a)),n(o,e.model).Participle}},cg={infinitive:ug.simple,"simple-present":ug.simple,"simple-past":Rd,"simple-future":ug.both,"present-progressive":e=>(e.replace("are","were",lg),e.replace("(is|are|am)","was",lg),e),"past-progressive":Rd,"future-progressive":(e,t)=>(e.match(t.root).insertBefore("was"),e.remove("(will|be)"),e),"present-perfect":ug.hasHad,"past-perfect":Rd,"future-perfect":(e,t)=>(e.match(t.root).insertBefore("had"),e.has("will")&&(e=tg(e)),e.remove("have"),e),"present-perfect-progressive":ug.hasHad,"past-perfect-progressive":Rd,"future-perfect-progressive":e=>(e.remove("will"),e.replace("have","had",lg),e),"passive-past":e=>(e.replace("have","had",lg),e),"passive-present":e=>(e.replace("(is|are)","was",lg),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",lg),e.remove("will")),e),"present-conditional":e=>(e.replace("be","have been"),e),"past-conditional":Rd,"auxiliary-future":e=>(e.replace("(is|are|am)","was",lg),e),"auxiliary-past":Rd,"auxiliary-present":e=>(e.replace("(do|does)","did",lg),e),"modal-infinitive":(e,t)=>(e.has("can")?e.replace("can","could",lg):(ug.simple(e,t),e.match("#Modal").insertAfter("have").tag("Auxiliary")),e),"modal-past":Rd,"want-infinitive":e=>(e.replace("(want|wants)","wanted",lg),e.remove("will"),e),"gerund-phrase":(e,t)=>(t.root=t.root.not("#Gerund$"),ug.simple(e,t),tg(e),e)};var hg=function(e,t,n){return cg.hasOwnProperty(n)?((e=cg[n](e,t)).fullSentence().compute(["tagger","chunks"]),e):e};const dg=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"},gg=(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,Yd(a));let s=n(i,e.model);if(i=s.Participle||s.PastTense,i){e=e.replace(a,i);let t=dg(e);e.prepend(t).match(t).tag("Auxiliary"),e.remove(o)}return e},mg={infinitive:gg,"simple-present":gg,"simple-future":(e,t)=>e.replace("will",dg(e)),"present-perfect":Rd,"past-perfect":Rd,"future-perfect":(e,t)=>e.replace("will have",dg(e)),"present-perfect-progressive":Rd,"past-perfect-progressive":Rd,"future-perfect-progressive":Rd};var pg=function(e,t,n){return mg.hasOwnProperty(n)?((e=mg[n](e,t)).fullSentence().compute(["tagger","chunks"]),e):((e=gg(e,t)).fullSentence().compute(["tagger","chunks"]),e)};const fg={tags:!0},vg=(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,Yd(a)),!1===_d(e)&&(o=n(o,e.model).PresentTense),a.has("#Copula")&&(o=Zd(e)),o&&(e=e.replace(a,o,fg)).not("#Particle").tag("PresentTense"),e},bg=(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,Yd(a)),!1===_d(e)&&(o=n(o,e.model).Gerund),o&&(e=e.replace(a,o,fg)).not("#Particle").tag("Gerund"),e},yg={infinitive:vg,"simple-present":(e,t)=>{const{conjugate:n}=e.methods.two.transform.verb;let{root:r}=t;if(!r.has("#Infinitive"))return vg(e,t);{let t=Qd(e).subject;if(_d(e)||t.has("i"))return e;let a=r.text("normal"),o=n(a,e.model).PresentTense;a!==o&&e.replace(r,o,fg)}return e},"simple-past":vg,"simple-future":(e,t)=>{const{root:n,auxiliary:r}=t;if(r.has("will")&&n.has("be")){let t=Zd(e);e.replace(n,t),(e=e.remove("will")).replace("not "+t,t+" not")}else vg(e,t),e=e.remove("will");return e},"present-progressive":Rd,"past-progressive":(e,t)=>{let n=Zd(e);return e.replace("(were|was)",n,fg)},"future-progressive":e=>(e.match("will").insertBefore("is"),e.remove("be"),e.remove("will")),"present-perfect":(e,t)=>(vg(e,t),e=e.remove("(have|had|has)")),"past-perfect":(e,t)=>{let n=Qd(e).subject;return _d(e)||n.has("i")?((e=eg(e,t)).remove("had"),e):(e.replace("had","has",fg),e)},"future-perfect":e=>(e.match("will").insertBefore("has"),e.remove("have").remove("will")),"present-perfect-progressive":Rd,"past-perfect-progressive":e=>e.replace("had","has",fg),"future-perfect-progressive":e=>(e.match("will").insertBefore("has"),e.remove("have").remove("will")),"passive-past":(e,t)=>{let n=Zd(e);return e.has("(had|have|has)")&&e.has("been")?(e.replace("(had|have|has)",n,fg),e.replace("been","being"),e):e.replace("(got|was|were)",n)},"passive-present":Rd,"passive-future":e=>(e.replace("will","is"),e.replace("be","being")),"present-conditional":Rd,"past-conditional":e=>(e.replace("been","be"),e.remove("have")),"auxiliary-future":(e,t)=>(bg(e,t),e.remove("(going|to)"),e),"auxiliary-past":(e,t)=>{if(t.auxiliary.has("did")){let n=Xd(e);return e.replace(t.auxiliary,n),e}return bg(e,t),e.replace(t.auxiliary,"is"),e},"auxiliary-present":Rd,"modal-infinitive":Rd,"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,Yd(r)),a&&(e=e.replace(t.root,a,fg))})(e,t),e.remove("have")),"gerund-phrase":(e,t)=>(t.root=t.root.not("#Gerund$"),vg(e,t),e.remove("(will|have)")),"want-infinitive":(e,t)=>{let n="wants";return _d(e)&&(n="want"),e.replace("(want|wanted|wants)",n,fg),e.remove("will"),e}};var wg=function(e,t,n){return yg.hasOwnProperty(n)?((e=yg[n](e,t)).fullSentence().compute(["tagger","chunks"]),e):e};const kg={tags:!0},Pg=(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,Yd(r)),o&&(e=e.replace(r,o,kg)).not("#Particle").tag("Verb"),e.prepend("will").match("will").tag("Auxiliary"),e.remove(a),e},Ag=(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,Yd(a)),i&&(i=n(i,e.model).Gerund,e.replace(a,i,kg),e.not("#Particle").tag("PresentTense")),e.remove(o),e.prepend("will be").match("will be").tag("Auxiliary"),e},Cg={infinitive:Pg,"simple-present":Pg,"simple-past":Pg,"simple-future":Rd,"present-progressive":Ag,"past-progressive":Ag,"future-progressive":Rd,"present-perfect":e=>(e.match("(have|has)").replaceWith("will have"),e),"past-perfect":e=>e.replace("(had|has)","will have"),"future-perfect":Rd,"present-perfect-progressive":e=>e.replace("has","will have"),"past-perfect-progressive":e=>e.replace("had","will have"),"future-perfect-progressive":Rd,"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":Rd,"present-conditional":e=>e.replace("would","will"),"past-conditional":e=>e.replace("would","will"),"auxiliary-future":Rd,"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":Rd,"modal-past":Rd,"gerund-phrase":(e,t)=>(t.root=t.root.not("#Gerund$"),Pg(e,t),e.remove("(had|have)")),"want-infinitive":e=>(e.replace("(want|wants|wanted)","will want"),e)};var Ng=function(e,t,n){return e.has("will")||e.has("going to")?e:Cg.hasOwnProperty(n)?((e=Cg[n](e,t)).fullSentence().compute(["tagger","chunks"]),e):e};const jg={tags:!0};var xg=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,Yd(a));let s=r(i,e.model).Gerund;if(s){let t=Zd(e);e.replace(a,s,jg),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 Ig={tags:!0},Tg=function(e,t){let n=Xd(e);return e.prepend(n+" not"),e},Dg=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)},Hg=e=>e.has("(is|was|am|are|will|were|be)"),Gg={"simple-present":(e,t)=>!0===Hg(e)?Dg(e):(e=eg(e,t),e=Tg(e)),"simple-past":(e,t)=>!0===Hg(e)?Dg(e):((e=eg(e,t)).prepend("did not"),e),imperative:e=>(e.prepend("do not"),e),infinitive:(e,t)=>!0===Hg(e)?Dg(e):Tg(e),"passive-past":e=>{if(e.has("got"))return e.replace("got","get",Ig),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=Tg(e)).replace("wants","want",Ig)};var Eg=function(e,t,n){if(e.has("#Negative"))return e;if(Gg.hasOwnProperty(n))return e=Gg[n](e,t);let r=e.matchOne("be");return r.found?(r.prepend("not"),e):!0===Hg(e)?Dg(e):(r=e.matchOne("(will|had|have|has|did|does|do|#Modal)"),r.found?(r.append("not"),e):e)};var Og=function(e){class Verbs extends e{constructor(e,t,n){super(e,t,n),this.viewType="Verbs"}parse(e){return this.getNth(e).map(Ed)}json(e,t){let n=this.getNth(t).map((t=>{let n=t.toView().json(e)[0]||{};return n.verb=og(t),n}),[]);return n}subjects(e){return this.getNth(e).map((e=>(Ed(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=Ed(e),n=Wd(e,t);return sg(e,t,n.form)}))}toPresentTense(e){return this.getNth(e).map((e=>{let t=Ed(e),n=Wd(e,t);return n.isInfinitive?e:wg(e,t,n.form)}))}toPastTense(e){return this.getNth(e).map((e=>{let t=Ed(e),n=Wd(e,t);return n.isInfinitive?e:hg(e,t,n.form)}))}toFutureTense(e){return this.getNth(e).map((e=>{let t=Ed(e),n=Wd(e,t);return n.isInfinitive?e:Ng(e,t,n.form)}))}toGerund(e){return this.getNth(e).map((e=>{let t=Ed(e),n=Wd(e,t);return n.isInfinitive?e:xg(e,t,n.form)}))}toPastParticiple(e){return this.getNth(e).map((e=>{let t=Ed(e),n=Wd(e,t);return n.isInfinitive?e:pg(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=Ed(e),a=Wd(e,r);"imperative"===a.form&&(a.form="simple-present");let o=r.root.text("normal");if(!r.root.has("#Infinitive")){let t=Yd(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=Ed(e),n=Wd(e,t);return Eg(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=xd(this);return t=t.getNth(e),new Verbs(this.document,t.pointer)}},Fg={api:Og};const Vg=function(e,t){let n=t.match(e);if(n.found){let e=n.pronouns().refersTo();if(e.found)return e}return t.none()},zg=function(e){if(!e.found)return e;let[t]=e.fullPointer[0];return t&&t>0?e.update([[t-1]]):e.none()};var $g=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?Vg("(she|her|hers)",e):"m"===t?Vg("(he|him|his)",e):e.none())};var Sg=function(e){let t=e.nouns(),n=t.isPlural().notIf("#Pronoun");if(n.found)return n.last();let r=Vg("(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 Bg=function(e,t){let n=e.before(),r=t(n);return r.found?r:(n=zg(e),r=t(n),r.found?r:(n=zg(n),r=t(n),r.found?r:e.none()))};var Mg=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=Bg(e,(e=>$g(e,"m"))):e.has("(she|her|hers)")?t=Bg(e,(e=>$g(e,"f"))):e.has("(they|their|theirs)")&&(t=Bg(e,Sg)),t&&t.found&&function(e,t){t&&t.found&&(e.docs[0][0].reference=t.ptrs[0])}(e,t)}))};var Kg=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)}},Lg={compute:{coreference:Mg},api:Kg};v.plugin(fc),v.plugin(vc),v.plugin(Hc),v.plugin(Lg),v.plugin(Rc),v.plugin(nh),v.plugin(bh),v.plugin(Yh),v.plugin(rd),v.plugin(gd),v.plugin(jd),v.plugin(Fg);export{v as default}; diff --git a/builds/two/compromise-two.cjs b/builds/two/compromise-two.cjs index 7decdcee9..64291ce76 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.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(); +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.11.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},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,"")}},I=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 N=0;const D=e=>(e=e.length<3?"0"+e:e).length<3?"0"+e:e;var H=function(e){let[t,n]=e.index||[0,0];N+=1,N=N>46655?0:N,t=t>46655?0:t,n=n>1294?0:n;let a=D(N.toString(36));a+=D(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=H(e),e)))}(h),n?(G(t.update([u]).firstTerm()),I(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,B=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=B(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 K=S;const $={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}};$.deHyphenate=$.dehyphenate,$.toQuotation=$.toQuotations;var M=$,L={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 J=new Set(["index","sequence","seq","sequential","chron","chronological"]),W=new Set(["freq","frequency","topk","repeats"]),U=new Set(["alpha","alphabetical"]);var q={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 J.has(e)&&(e="sequential"),U.has(e)&&(e="alpha"),W.has(e)?(r=L.byFreq(r),this.update(r.map((e=>e.pointer)))):"function"==typeof L[e]?(r=r.sort(L[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}},Z={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}},F,V,K,M,q,R,Z);var _=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=[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=/'/,de=/(e|é|aison|sion|tion)$/,he=/(age|isme|acle|ege|oire)$/;var ge=(e,t)=>["je",e[t].normal.split(ce)[1]],me=(e,t)=>{let n=e[t].normal.split(ce)[1];return n&&n.endsWith("e")?["la",n]:["le",n]},pe=(e,t)=>{let n=e[t].normal.split(ce)[1];return n&&de.test(n)&&!he.test(n)?["du",n]:n&&n.endsWith("s")?["des",n]:["de",n]};const fe=/^([0-9.]{1,4}[a-z]{0,2}) ?[-–—] ?([0-9]{1,4}[a-z]{0,2})$/i,be=/^([0-9]{1,2}(:[0-9][0-9])?(am|pm)?) ?[-–—] ?([0-9]{1,2}(:[0-9][0-9])?(am|pm)?)$/i,ve=/^[0-9]{3}-[0-9]{4}$/;var ye=function(e,t){let n=e[t],a=n.text.match(fe);return null!==a?!0===n.tags.has("PhoneNumber")||ve.test(n.text)?null:[a[1],"to",a[2]]:(a=n.text.match(be),null!==a?[a[1],"to",a[4]]:null)};const we=/^([+-]?[0-9][.,0-9]*)([a-z°²³µ/]+)$/;var ke=function(e,t,n){const a=n.model.one.numberSuffixes||{};let r=e[t].text.match(we);if(null!==r){let e=r[2].toLowerCase().trim();return a.hasOwnProperty(e)?null:[r[1],e]}return null};const Pe=/'/,Ae=/^[0-9][^-–—]*[-–—].*?[0-9]/,Ce=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]]},je={t:(e,t)=>ue(e,t),d:(e,t)=>le(e,t)},Ie={j:(e,t)=>ge(e,t),l:(e,t)=>me(e,t),d:(e,t)=>pe(e,t)},Ne=function(e,t,n,a){for(let r=0;r2)return o.out.concat(a)}return null},De=function(e,t){let n=t.fromText(e.join(" "));return n.compute(["id","alias"]),n.docs[0]},He=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 Ge=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;if(!0===Pe.test(a[s].normal)){let e=a[s].normal.split(Pe);l=e[0],u=e[1]}let c=Ne(o,a[s],l,u);!c&&je.hasOwnProperty(u)&&(c=je[u](a,s,t)),!c&&Ie.hasOwnProperty(l)&&(c=Ie[l](a,s)),"there"===l&&"s"===u&&(c=He(a,s)),c?(c=De(c,e),ae(n,[i,s],c),Ce(n[i],e,s,c.length)):Ae.test(a[s].normal)?(c=ye(a,s),c&&(c=De(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"),Ce(n[i],e,s,c.length))):(c=ke(a,s,t),c&&(c=De(c,e),ae(n,[i,s],c),r.one.setTag([c[1]],"Unit",t,null,"contraction-unit")))}}))},Te={model:ne,compute:{contractions:Ge},hooks:["contractions"]},xe=function(e,t,n){const{model:a,methods:r}=n,o=r.one.setTag,i=a.one._multiCache||{},{lexicon:s,frozenLex:l}=a.one||{};let u=e[t],c=u.machine||u.normal;if(void 0!==i[c]&&e[t+1]){for(let a=t+i[c]-1;a>t;a-=1){let r=e.slice(t,a+1);if(r.length<=1)return!1;let i=r.map((e=>e.machine||e.normal)).join(" ");if(!0===l.hasOwnProperty(i))return o(r,l[i],n,!1,"1-frozen-multi-lexicon"),r.forEach((e=>e.frozen=!0)),!0;if(!0===s.hasOwnProperty(i)){let e=s[i];return o(r,e,n,!1,"1-multi-lexicon"),!e||2!==e.length||"PhrasalVerb"!==e[0]&&"PhrasalVerb"!==e[1]||o([r[1]],"Particle",n,!1,"1-phrasal-particle"),!0}}return!1}return null};const Ee=/^(under|over|mis|re|un|dis|semi|pre|post)-?/,Fe=new Set(["Verb","Infinitive","PastTense","Gerund","PresentTense","Adjective","Participle"]);var Oe=function(e,t,n){const{model:a,methods:r}=n,o=r.one.setTag,{lexicon:i,frozenLex:s}=a.one;let l=e[t],u=l.machine||l.normal;if(void 0!==s[u]&&s.hasOwnProperty(u))return o([l],s[u],n,!1,"1-freeze-lexicon"),l.frozen=!0,!0;if(void 0!==i[u]&&i.hasOwnProperty(u))return o([l],i[u],n,!1,"1-lexicon"),!0;if(l.alias){let e=l.alias.find((e=>i.hasOwnProperty(e)));if(e)return o([l],i[e],n,!1,"1-lexicon-alias"),!0}if(!0===Ee.test(u)){let e=u.replace(Ee,"");if(i.hasOwnProperty(e)&&e.length>3&&Fe.has(i[e]))return o([l],i[e],n,!1,"1-lexicon-prefix"),!0}return null},ze={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&&(void 0===n[o[0]]||o.length>n[o[0]])&&(n[o[0]]=o.length),t[a]=t[a]||r})),delete t[""],delete t.null,delete t[" "],{lex:t,_multi:n}},Be={addWords:function(e,t=!1){const n=this.world(),{methods:a,model:r}=n;if(!e)return;if(Object.keys(e).forEach((t=>{"string"==typeof e[t]&&e[t].startsWith("#")&&(e[t]=e[t].replace(/^#/,""))})),!0===t){let{lex:t,_multi:o}=a.one.expandLexicon(e,n);return Object.assign(r.one._multiCache,o),void Object.assign(r.one.frozenLex,t)}if(a.two.expandLexicon){let{lex:t,_multi:o}=a.two.expandLexicon(e,n);Object.assign(r.one.lexicon,t),Object.assign(r.one._multiCache,o)}let{lex:o,_multi:i}=a.one.expandLexicon(e,n);Object.assign(r.one.lexicon,o),Object.assign(r.one._multiCache,i)}},Se={model:{one:{lexicon:{},_multiCache:{},frozenLex:{}}},methods:{one:{expandLexicon:Ve}},compute:ze,lib:Be,hooks:["lexicon"]},Ke=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 $e=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 We=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 Ue={buildTrie:function(e){const t=Ke(e,this.world());return We(t)}};Ue.compile=Ue.buildTrie;var qe={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:Ke(e,this.world));var a;let r=Le(this,n,t);return r=r.settle(),r}},lib:Ue};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},Re=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}},Ze=e=>"[object Object]"===Object.prototype.toString.call(e),Xe=e=>e&&Ze(e)&&!0===e.isView,_e=e=>e&&Ze(e)&&!0===e.isNet,Ye=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 et={matchOne:function(e,t,n){const a=this.methods.one;if(Xe(e))return this.intersection(e).eq(0);if(_e(e))return this.sweep(e,{tagger:!1,matchOne:!0}).view;let r={regs:e=Ye(e,n,this.world),group:t,justOne:!0},o=a.match(this.docs,r,this._cache),{ptrs:i,byGroup:s}=Re(o,this.fullPointer),l=this.toView(i);return l._groups=s,l},match:function(e,t,n){const a=this.methods.one;if(Xe(e))return this.intersection(e);if(_e(e))return this.sweep(e,{tagger:!1}).view.settle();let r={regs:e=Ye(e,n,this.world),group:t},o=a.match(this.docs,r,this._cache),{ptrs:i,byGroup:s}=Re(o,this.fullPointer),l=this.toView(i);return l._groups=s,l},has:function(e,t,n){const a=this.methods.one;if(Xe(e))return e.fullPointer.length>0;if(_e(e))return this.sweep(e,{tagger:!1}).view.found;let r={regs:e=Ye(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(Xe(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 r={regs:e=Ye(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(Xe(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=Ye(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}},tt={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 nt=function(e,t){return[e[0],e[1],t[2]]},at=(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},rt=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},ot={splitOn:function(e,t){const{splitAll:n}=this.methods.one.pointer;let a=at(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=>rt(e,this))),this.update(o)},splitBefore:function(e,t){const{splitAll:n}=this.methods.one.pointer;let a=at(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(nt(e.match,e.after)):o.push(e.match)})),o=o.filter((e=>e)),o=o.map((e=>rt(e,this))),this.update(o)},splitAfter:function(e,t){const{splitAll:n}=this.methods.one.pointer;let a=at(e,this,t).fullPointer,r=n(this.fullPointer,a),o=[];return r.forEach((e=>{o.push(e.passthrough),e.before&&e.match?o.push(nt(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=>rt(e,this))),this.update(o)}};ot.split=ot.splitAfter;var it=ot;const st=Object.assign({},et,tt,it);st.lookBehind=st.before,st.lookBefore=st.before,st.lookAhead=st.after,st.lookAfter=st.after,st.notIf=st.ifNo;var lt=function(e){Object.assign(e.prototype,st)};const ut=/(?:^|\s)([![^]*(?:<[^<]*>)?\/.*?[^\\/]\/[?\]+*$~]*)(?:\s|$)/,ct=/([!~[^]*(?:<[^<]*>)?\([^)]+[^\\)]\)[?\]+*$~]*)(?:\s|$)/,dt=/ /g,ht=e=>/^[![^]*(<[^<]*>)?\//.test(e)&&/\/[?\]+*$~]*$/.test(e),gt=function(e){return e=(e=e.map((e=>e.trim()))).filter((e=>e))};var mt=function(e){let t=e.split(ut),n=[];t.forEach((e=>{ht(e)?n.push(e):n=n.concat(e.split(ct))})),n=gt(n);let a=[];return n.forEach((e=>{(e=>/^[![^]*(<[^<]*>)?\(/.test(e)&&/\)[?\]+*$~]*$/.test(e))(e)||ht(e)?a.push(e):a=a.concat(e.split(dt))})),a=gt(a),a};const pt=/\{([0-9]+)?(, *[0-9]*)?\}/,ft=/&&/,bt=new RegExp(/^<\s*(\S+)\s*>/),vt=e=>e.charAt(0).toUpperCase()+e.substring(1),yt=e=>e.charAt(e.length-1),wt=e=>e.charAt(0),kt=e=>e.substring(1),Pt=e=>e.substring(0,e.length-1),At=function(e){return e=kt(e),e=Pt(e)},Ct=function(e,t){let n={};for(let a=0;a<2;a+=1){if("$"===yt(e)&&(n.end=!0,e=Pt(e)),"^"===wt(e)&&(n.start=!0,e=kt(e)),"?"===yt(e)&&(n.optional=!0,e=Pt(e)),("["===wt(e)||"]"===yt(e))&&(n.group=null,"["===wt(e)&&(n.groupStart=!0),"]"===yt(e)&&(n.groupEnd=!0),e=(e=e.replace(/^\[/,"")).replace(/\]$/,""),"<"===wt(e))){const t=bt.exec(e);t.length>=2&&(n.group=t[1],e=e.replace(t[0],""))}if("+"===yt(e)&&(n.greedy=!0,e=Pt(e)),"*"!==e&&"*"===yt(e)&&"\\*"!==e&&(n.greedy=!0,e=Pt(e)),"!"===wt(e)&&(n.negative=!0,e=kt(e)),"~"===wt(e)&&"~"===yt(e)&&e.length>2&&(e=At(e),n.fuzzy=!0,n.min=t.fuzzy||.85,!1===/\(/.test(e)))return n.word=e,n;if("/"===wt(e)&&"/"===yt(e))return e=At(e),t.caseSensitive&&(n.use="text"),n.regex=new RegExp(e),n;if(!0===pt.test(e)&&(e=e.replace(pt,((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),"")))),"("===wt(e)&&")"===yt(e)){ft.test(e)?(n.choices=e.split(ft),n.operator="and"):(n.choices=e.split("|"),n.operator="or"),n.choices[0]=kt(n.choices[0]);let a=n.choices.length-1;n.choices[a]=Pt(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=>Ct(e,t))))),e=""}if("{"===wt(e)&&"}"===yt(e)){if(e=At(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("<"===wt(e)&&">"===yt(e))return e=At(e),n.chunk=vt(e),n.greedy=!0,n;if("%"===wt(e)&&"%"===yt(e))return e=At(e),n.switch=e,n}return"#"===wt(e)?(n.tag=kt(e),n.tag=vt(n.tag),n):"@"===wt(e)?(n.method=kt(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 jt=Ct;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 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 Dt=function(e,t){let{all:n}=t.methods.two.transform.verb||{},a=e.root;return n?n(a,t.model):[]},Ht=function(e,t){let{all:n}=t.methods.two.transform.noun||{};return n?n(e.root,t.model):[e.root]},Gt=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(Dt(e,t)):"Noun"===e.pos?n=n.concat(Ht(e,t)):"Adjective"===e.pos&&(n=n.concat(Gt(e,t))):(n=n.concat(Dt(e,t)),n=n.concat(Ht(e,t)),n=n.concat(Gt(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}))},xt=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},Et=function(e,t,n){if(null==e||""===e)return[];t=t||{},"number"==typeof e&&(e=String(e));let a=mt(e);return a=a.map((e=>jt(e,t))),a=Nt(a,n),a=Tt(a,n),a=xt(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),Mt=(e,t)=>-1!==e.pre.indexOf(t),Lt={hasQuote:e=>Vt.test(e.pre)||Bt.test(e.post),hasComma:e=>$t(e,","),hasPeriod:e=>!0===$t(e,".")&&!1===$t(e,"..."),hasExclamation:e=>$t(e,"!"),hasQuestionMark:e=>$t(e,"?")||$t(e,"¿"),hasEllipses:e=>$t(e,"..")||$t(e,"…")||Mt(e,"..")||Mt(e,"…"),hasSemicolon:e=>$t(e,";"),hasColon:e=>$t(e,":"),hasSlash:e=>/\//.test(e.text),hasHyphen:e=>St.test(e.post)||St.test(e.pre),hasDash:e=>Kt.test(e.post)||Kt.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)};Lt.hasQuotation=Lt.hasQuote;var Jt=Lt;let Wt=function(){};Wt=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(zt(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=>Wt(e,t,n,a))):t.choices.some((t=>Wt(e,t,n,a))))}(e,t,n,a);return!0===t.negative?!r:r};var Ut=Wt;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&&(Qt(e,e.t).length=a-e.t),e.t=a,!0)};const Zt=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=Ut(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]&&Ut(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},Yt=function(e,t,n){let a=0;for(let r=e.t;ra||(e.t+=a,0))},en=function(e){const{regs:t}=e;let n=t[e.r],a=Object.assign({},n);if(a.negative=!1,Ut(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&&(Ut(e.terms[e.t],n,e.start_i+e.t,e.phrase_length)?e.r+=1:n.optional&&t[e.r+2]&&Ut(e.terms[e.t],t[e.r+2],e.start_i+e.t,e.phrase_length)&&(e.r+=2))}return n.greedy?Yt(e,a,t[e.r+1]):(e.t+=1,!0)},tn=function(e){const{regs:t}=e;let n=t[e.r],a=e.terms[e.t],r=Ut(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&&Ut(n,t[e.r+1],e.start_i+e.t,e.phrase_length)||(e.r+=1)}},nn=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},an=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)}},rn=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]&&tn(e),a.implicit&&e.terms[e.t+1]&&an(e),e.t+=1,!0===n.end&&e.t!==e.terms.length&&!0!==n.greedy?null:!0!==n.greedy||nn(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)},on=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!==qt(e,r)){if(e.negative){if(!en(r))return null}else if(!0!==Ut(r.terms[r.t],e,r.start_i+r.t,r.phrase_length)){if(!0!==e.optional)return null}else if(!rn(r))return null}else if(!rn(r))return null}else{if(e.negative&&e.anything)return null;if(!rn(r))return null}else if(!_t(r))return null}else if(!Xt(r))return null}else if(!Rt(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}},sn=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}},ln=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},cn=function(e,t,n){let a=on(e,t,0,e.length);return a?(a=un(a,n),a):null};var dn=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=cn(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=ln(i,t.notIf,e)),i=sn(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},hn={api:lt,methods:{one:{termMethods:Jt,parseMatch:Et,match:dn}},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 gn=/^\../,mn=/^#./,pn=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,"'"),gn.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 fn={html:function(e){let{starts:t,ends:n}=pn(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(vn,""),wn.test(r)&&(r=" "),r=r.replace(yn,""),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(vn,""),r="-"===r?" ":r.replace(bn,""));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&&kn.test(r)||(r+=" "),a+=n+o+r})),!1===n&&(a=a.trim()),!0===t.lowerCase&&(a=a.toLowerCase()),a},An={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"}};An.clean=An.normal,An.reduced=An.root;var Cn=An;let jn=[],In=0;for(;In<64;)jn[In]=0|4294967296*Math.sin(++In%Math.PI);function Nn(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]+jn[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 Dn={text:!0,terms:!0};let Hn={case:"none",unicode:"some",form:"machine",punctuation:"some"};const Gn=function(e,t){return Object.assign({},e,t)},Tn={text:e=>Pn(e,{keepPunct:!0},!1),normal:e=>Pn(e,Gn(Cn.normal,{keepPunct:!0}),!1),implicit:e=>Pn(e,Gn(Cn.implicit,{keepPunct:!0}),!1),machine:e=>Pn(e,Hn,!1),root:e=>Pn(e,Gn(Hn,{form:"root"}),!1),hash:e=>Nn(Pn(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 xn={json:function(e){let t=(n=this,"string"==typeof(a=(a=e)||{})&&(a={}),(a=Object.assign({},Dn,a)).offset&&n.compute("offset"),n.docs.map(((e,t)=>{let r={};return Object.keys(a).forEach((o=>{a[o]&&Tn[o]&&(r[o]=Tn[o](e,n,t))})),r})));var n,a;return"number"==typeof e?t[e]:t}};xn.data=xn.json;var En=xn,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 zn={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(zn.blue("\n ──────")),t.forEach((t=>{console.log(zn.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=zn.yellow(r);let o="'"+r+"'";if(t.reference){let n=e.update([t.reference]).text("normal");o+=` - ${zn.dim(zn.i("["+n+"]"))}`}o=o.padEnd(18);let i=zn.blue(" │ ")+zn.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 zn[n](e)}))),e.join(", ")}(a,n);console.log(i)}))}))},Bn=function(e){let{docs:t}=e;console.log(""),t.forEach((e=>{let t=[];e.forEach((e=>{"Noun"===e.chunk?t.push(zn.blue(e.implicit||e.normal)):"Verb"===e.chunk?t.push(zn.green(e.implicit||e.normal)):"Adjective"===e.chunk?t.push(zn.yellow(e.implicit||e.normal)):"Pivot"===e.chunk?t.push(zn.red(e.implicit||e.normal)):t.push(e.implicit||e.normal)})),console.log(t.join(" "),"\n")}))},Sn=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]}${zn.blue(a[1])}${a[2]}`}(a,e.offset,t)})),console.log(a)}))},Kn=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&&(Bn(t),console.log("\n")),!0===e.highlight&&(Sn(t),console.log("\n")),t)};const $n=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((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 Mn(this,e)}};var Jn=Ln,Wn={text:function(e){let t={};var n;if(e&&"string"==typeof e&&Cn.hasOwnProperty(e)?t=Object.assign({},Cn[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},Zn=function(e){let t={};return e.forEach((e=>{t[e[0]]=t[e[0]]||[],t[e[0]].push(e)})),t};var Xn=function(e,t){let n=Zn(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},_n=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},Yn={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=>Rn(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},na=function(e,t){let n=Zn(t),a=[];return e.forEach((e=>{let t=n[e[0]]||[];t=t.filter((t=>Rn(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},ra=function(e,t){return e.map((e=>{let[n,a]=e;return t[n]&&t[n][a]&&(e[3]=t[n][a].id),e}))},oa={union:function(e){e=aa(e,this);let t=ea(this.fullPointer,e.fullPointer);return t=ra(t,this.document),this.toView(t)}};oa.and=oa.union,oa.intersection=function(e){e=aa(e,this);let t=na(this.fullPointer,e.fullPointer);return t=ra(t,this.document),this.toView(t)},oa.not=function(e){e=aa(e,this);let t=ta(this.fullPointer,e.fullPointer);return t=ra(t,this.document),this.toView(t)},oa.difference=oa.not,oa.complement=function(){let e=this.all(),t=ta(e.fullPointer,this.fullPointer);return t=ra(t,this.document),this.toView(t)},oa.settle=function(){let e=this.fullPointer;return e.forEach((t=>{e=ea(e,[t])})),e=ra(e,this.document),this.update(e)};var ia=function(e){Object.assign(e.prototype,oa)},sa={methods:Yn,api:ia},la=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 ua=function(e){return!0===e.optional||!0===e.negative?null:e.tag?"#"+e.tag:e.word?e.word:e.switch?`%${e.switch}%`:null};var ca=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(ua(e)),"and"===e.operator&&e.choices&&e.choices.forEach((e=>{e.forEach((e=>{t.push(ua(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=ua(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},da=function(e,t){e=ca(e,t);let n={};e.forEach((e=>{e.needs.forEach((t=>{n[t]=Array.isArray(n[t])?n[t]:[],n[t].push(e)})),e.wants.forEach((t=>{n[t]=Array.isArray(n[t])?n[t]:[],n[t].push(e)}))})),Object.keys(n).forEach((e=>{let t={};n[e]=n[e].filter((e=>"boolean"!=typeof 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}},ha=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=>"boolean"!=typeof o[e.match]&&(o[e.match]=!0,!0))),r}))},ga=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))}))},ma=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},pa=function(e,t,n,a={}){let r=n.one.cacheDoc(e),o=ha(r,t.hooks);return o=ga(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),ma(o,e,r,n,a)},fa=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===fa(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))})))},va={lib:{buildNet:function(e){let t=this.methods().one.buildNet(e,this.world());return t.isNet=!0,t}},api:la,methods:{one:{buildNet:da,bulkMatch:pa,bulkTagger:ba}}};const ya=/ /,wa=function(e,t){"Noun"===t&&(e.chunk=t),"Verb"===t&&(e.chunk=t)},ka=function(e,t,n,a){if(!0===e.tags.has(t))return null;if("."===t)return null;!0===e.frozen&&(a=!0);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(),ya.test(t))!function(e,t,n,a){let r=t.split(ya);e.forEach(((e,t)=>{let o=r[t];o&&(o=o.replace(/^#/,""),ka(e,o,n,a))}))}(e,t,o,a);else{t=t.replace(/^#/,"");for(let n=0;nPa(e,t,n,a)))};var Aa=Pa,Ca=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=>Ia({id:e}))),t}return[Ia({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},Ga=e=>"[object Array]"===Object.prototype.toString.call(e),Ta=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()||Na.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:Da(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=Ia({});return e.forEach((e=>{if((e=Ia(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):(Ha(t=e).forEach(Ia),t);var t},Ea=function(e,t){let n="-> ";t&&(n=(e=>""+e+"")("→ "));let a="";return Ha(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},Fa=function(e){let t=Ha(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},Oa={text:Ea,txt:Ea,array:Fa,flat:Fa},za=function(e,t){return"nested"===t||"json"===t?e:"debug"===t?(console.log(Ea(e,!0)),null):Oa.hasOwnProperty(t)?Oa[t](e):e},Va=e=>{Ha(e,((e,t)=>{e.id&&(e._cache.parents=e._cache.parents||[],t._cache.parents=e._cache.parents.concat([e.id]))}))},Ba=/\//;let Sa=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=Ta(e),!Ba.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)||Ia({});return new g(t)}add(e,t={}){if(Ga(e))return e.forEach((e=>this.add(Ta(e),t))),this;e=Ta(e);let n=Ia({id:e,props:t});return this.json.children.push(n),new g(n)}remove(e){return e=Ta(e),this.json.children=this.json.children.filter((t=>t.id!==e)),this}nodes(){return Ha(this.json).map((e=>(delete(e=Object.assign({},e)).children,e)))}cache(){return(e=>{let t=Ha(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 Ha(this.json)}fillDown(){var e;return e=this.json,Ha(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 Ga(t[n])?e[n]=t[n].concat(e[n]||[]):void 0===e[n]&&(e[n]=t[n])})),e))(t.props,e.props)})),this}depth(){Va(this.json);let e=Ha(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 Va(this.json),za(this.json,e)}debug(){return Va(this.json),za(this.json,"debug"),this}};const Ka=function(e){let t=xa(e);return new Sa(t)};Ka.prototype.plugin=function(e){e(this)};var $a={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($a.hasOwnProperty(e.id))return $a[e.id];if($a.hasOwnProperty(e.is))return $a[e.is];let t=e._cache.parents.find((e=>$a[e]));return $a[t]};var La=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 Ja=function(e){return e?"string"==typeof e?[e]:e:[]};var Wa=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=Ja(e[t].children),e[t].not=Ja(e[t].not)})),Object.keys(e).forEach((t=>{(e[t].not||[]).forEach((n=>{e[n]&&e[n].not&&e[n].not.push(t)}))})),e},Ua=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=Wa(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 Ka(t).cache().fillDown().out("array")}(Object.assign({},t,e));return La(n)},qa={one:{setTag:Aa,unTag:Ca,addTags:Ua,canBe:ja}};const Qa=function(e){return"[object Array]"===Object.prototype.toString.call(e)},Ra={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||""),Qa(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 Qa(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,n=this.methods.one.canBe,a=[];this.document.forEach(((r,o)=>{r.forEach(((r,i)=>{n(r,e,t)||a.push([o,i,i+1])}))}));let r=this.update(a);return this.difference(r)}};var Za=Ra,Xa=function(e){Object.assign(e.prototype,Za)},_a={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 Ya=new Set(["Auxiliary","Possessive"]);var er=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(Ya.has(e)||!t.hasOwnProperty(n))return 1;if(Ya.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)}))}))},tr={model:{one:{tagSet:{}}},compute:{tagRank:er},methods:qa,api:Xa,lib:_a};const nr=/([.!?\u203D\u2E18\u203C\u2047-\u2049\u3002]+\s)/g,ar=/^[.!?\u203D\u2E18\u203C\u2047-\u2049\u3002]+\s$/,rr=/((?:\r?\n|\r)+)/;var or=function(e){let t=[],n=e.split(rr);for(let e=0;e0&&(r.push(o),e[t]="")}return r};const cr={'"':'"',""":""","“":"”","‟":"”","„":"”","⹂":"”","‚":"’","«":"»","‹":"›","‵":"′","‶":"″","‷":"‴","〝":"〞","〟":"〞"},dr=RegExp("["+Object.keys(cr).join("")+"]","g"),hr=RegExp("["+Object.values(cr).join("")+"]","g"),gr=function(e){if(!e)return!1;let t=e.match(hr);return null!==t&&1===t.length};var mr=function(e){let t=[];for(let n=0;n(e[t]=!0,e)),{});var Gr=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(Dr);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=jr(n),n=Ar(n),n=n.filter((e=>e)),n};const Tr=/\p{Letter}/u,xr=/[\p{Number}\p{Currency_Symbol}]/u,Er=/^[a-z]\.([a-z]\.)+/i,Fr=/[sn]['’]$/;var Or=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}},zr=(e,t)=>{let{str:n,pre:a,post:r}=Or(e,t);return{text:n,pre:a,post:r,tags:new Set}},Vr=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("")},Br=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 Sr=/([A-Z]\.)+[A-Z]?,?$/,Kr=/^[A-Z]\.,?$/,$r=/[A-Z]{2,}('s|,)?$/,Mr=/([a-z]\.)+[a-z]\.?$/;var Lr=function(e){return function(e){return!0===Sr.test(e)||!0===Mr.test(e)||!0===Kr.test(e)||!0===$r.test(e)}(e)&&(e=e.replace(/\./g,"")),e},Jr=function(e,t){const n=t.methods.one.killUnicode;let a=e.text||"";a=Br(a),a=n(a,t),a=Lr(a),e.normal=a},Wr=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=>{Jr(e,t)})),n})),e};const Ur=/[ .][A-Z]\.? *$/i,qr=/(?:\u2026|\.{2,}) *$/,Qr=/\p{L}/u,Rr=/\. *$/,Zr=/^[A-Z]\. $/;var Xr={one:{killUnicode:Vr,tokenize:{splitSentences:wr,isSentence:function(e,t){if(!1===Qr.test(e))return!1;if(!0===Ur.test(e))return!1;if(3===e.length&&Zr.test(e))return!1;if(!0===qr.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!==Rr.test(e)},splitTerms:Gr,splitWhitespace:zr,fromString:Wr}}},_r={"&":"and","@":"at","%":"percent",plz:"please",bein:"being"};let Yr={},eo={};[[["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=>{Yr[t]=!0,eo[t]="Abbreviation",void 0!==e[1]&&(eo[t]=[eo[t],e[1]])}))}));var to=["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 no={"!":"¡","?":"¿Ɂ",'"':'“”"❝❞',"'":"‘‛❛❜’","-":"—–",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:"ŹźŻżŽžƵƶȤȥɀΖ"},ao={};Object.keys(no).forEach((function(e){no[e].split("").forEach((function(t){ao[t]=e}))}));const ro=/\//,oo=/[a-z]\.[a-z]/i,io=/[0-9]/;var so=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])),ro.test(n)&&!oo.test(n)&&!io.test(n)){let t=n.split(ro);t.length<=2&&t.forEach((t=>{""!==(t=t.trim())&&(e.alias=e.alias||[],e.alias.push(t))}))}return e};const lo=/^\p{Letter}+-\p{Letter}+$/u;var uo=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"),lo.test(t)&&(t=t.replace(/-/g,"")),t=t.replace(/^[#@]/,""),t!==e.normal&&(e.machine=t)},co=function(e){let t=e.docs,n={};for(let e=0;epo(e,so),machine:e=>po(e,uo),normal:e=>po(e,Jr),freq:co,offset:ho,index:go,wordCount:mo},methods:Xr,model:{one:{aliases:_r,abbreviations:Yr,prefixes:to,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:eo,unicode:ao,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 ko={safe:!0,min:3};var Po={typeahead:function(e=[],t={}){let n=this.model();var a;t=Object.assign({},ko,t),a=e,"[object Object]"===Object.prototype.toString.call(a)&&(Object.assign(n.one.lexicon,e),e=Object.keys(e));let r=wo(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}},Ao={model:{one:{typeahead:{}}},api:yo,lib:Po,compute:bo,hooks:["typeahead"]};b.extend(ee),b.extend(Qn),b.extend(hn),b.extend(sa),b.extend(tr),b.plugin(Te),b.extend({mutate:e=>{e.methods.one.termMethods.isFrozen=e=>!0===e.frozen},api:function(e){e.prototype.freeze=function(){return this.docs.forEach((e=>{e.forEach((e=>{e.frozen=!0}))})),this},e.prototype.unfreeze=function(){return this.docs.forEach((e=>{e.forEach((e=>{delete e.frozen}))})),this},e.prototype.isFrozen=function(){return this.match("@isFrozen+")}}}),b.extend(fo),b.plugin(k),b.extend(qe),b.extend(Ao),b.extend(Se),b.extend(va);var Co={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"},jo={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:4R;a3Ub3Cc2Pd2He2Df27g1Zh1Ti1Pj1Nk1Ll1Gm12n0Po0Mp0Cqu0Br02sTtHuCv9w3xiaomi,y1;amaha,m1Bou1w1B;gov,tu3D;a4e2iki1orld trade organizati34;leaRped0O;lls fargo,st1;fie2Iinghou2S;l1rner br3V;gree3Kl street journ2Jm1E;an halOeriz2Yisa,o1;dafo2Zl1;kswagMvo;b4kip,n2ps,s1;a tod3Bps;es3Ni1;lev3Gted natio3D;er,s; mobi33aco beRd bOe9gi frida3Mh3im horto3Bmz,o1witt3E;shi4Ay1;ota,s r 05;e 1in lizzy;b3carpen3Kdaily ma3Eguess w2holli0rolling st21s1w2;mashing pumpki36uprem0;ho;ea1lack eyed pe3Yyr0Q;ch bo3Etl0;l2n3Rs1xas instrumen1U;co,la m1F;efoni0Kus;a8cientology,e5ieme2Zmirnoff,np,o3pice gir6quare0Ata1ubaru;rbuc1to35;ks;ny,undgard1;en;a2x pisto1;ls;g1Xrs;few2Ninsbur32lesfor03msu2F;adiohead,b8e4o1yana3D;man empi1Yyal 1;b1dutch she4;ank;a3d 1max,vl21;bu1c2Bhot chili peppe2Zlobst2O;ll;ders dige1Ml madrid;c,s;ant3Bizn2R;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;aDcdonalCe9i6lb,o3tv,y1;spa1;ce;b1Unsanto,ody blu0t1;ley cr1or0U;ue;c2t1;as,subisO;helin,rosoft;dica2rcedes benz,talli1;ca;id,re;ds;cs milk,tt1Az25;a3e1g,ittle caesa1Q; ore0Anovo,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 o1rls 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,ppleAr6s4u3v2y1;er;is,on;di,todesk;hland o1sociated E;il;b3g2m1;co;os;ys; compu1be0;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:7B;1:7G;2:6A;3:7F;4:7O;5:7K;a6Nb62c4Ud4Be41f3Sg3Bh30i2Uj2Qkin2Pl2Km26n1Zo1Sp0Vqu0Tr0JsQtJuHvEw8yo6;gi,ut6;h,ub0;aAe9i8o7r6;estl0it0;m2rk0;fe,nn0t2Bza2H;atherm2ld0;ge earn0it0nder0rri1;eter7i6oyF;ll5Qp,s3Z;an,ina2U;n6s0;c6Uder03;aoisea23e9herapi5iktok0o8r6ut1yco6S;a6endseLo43;d0mp,nscri0Bvel0;ddl0u1G;a0Qchn7en6na4st0;ag0;i3Oo0D;aiXcUeRhPiMki0mu26oJpGquaFtBu7wee6;p0theart;lt2per7r6;f0ge6Iviv1;h6inten0Ist5Ivis1;ero,um2;a8ep7r6;ang0eam0;bro2Nc2Ofa2Nmo2Nsi20;ff0tesm2;tt0;ec7ir2Do6;kesp59u0M;ia5Jt3;l7me6An,rcere6ul;r,ss;di0oi5;n7s6;sy,t0;g0n0;am2ephe1Iow6;girl,m2r2Q;cretInior cit3Fr6;gea4v6;a4it1;hol4Xi7reen6ulpt1;wr2C;e01on;l1nt;aEe9o8u6;l0nn6;er up,ingE;g40le mod3Zof0;a4Zc8fug2Ppo32searQv6;ere4Uolution6;ary;e6luYru22;ptio3T;bbi,dic5Vpp0;arter6e2Z;back;aYeWhSiRlOoKr8sycho7u6;nk,p31;logi5;aGeDiBo6;d9fess1g7ph47s6;pe2Ktitu51;en6ramm0;it1y;igy,uc0;est4Nme mini0Unce6s3E;!ss;a7si6;de4;ch0;ctiti39nk0P;dca0Oet,li6pula50rnst42;c2Itic6;al scie6i2;nti5;a6umb0;nn0y6;er,ma4Lwright;lgrim,one0;a8iloso7otogra7ra6ysi1V;se;ph0;ntom,rmaci5;r6ssi1T;form0s4O;i3El,nel3Yr8st1tr6wn;i6on;arWot;ent4Wi42tn0;ccupa4ffBp8r7ut6;ca5l0B;ac4Iganiz0ig2Fph2;er3t6;i1Jomet6;ri5;ic0spring;aBe9ie4Xo7u6;n,rser3J;b6mad,vi4V;le2Vo4D;i6mesis,phew;ce,ghb1;nny,rr3t1X;aEeDiAo7u6yst1Y;m8si16;der3gul,m7n6th0;arDk;!my;ni7s6;f02s0Jt0;on,st0;chan1Qnt1rcha4;gi9k0n8rtyr,t6y1;e,riar6;ch;ag0iac;ci2stra3I;a7e2Aieutena4o6;rd,s0v0;bor0d7ndlo6ss,urea3Fwy0ym2;rd;!y;!s28;e8o7u6;ggl0;gg0urna2U;st0;c3Hdol,llu3Ummigra4n6; l9c1Qfa4habi42nov3s7ve6;nt1stig3;pe0Nt6;a1Fig3ru0M;aw;airFeBistoAo8u6ygie1K;man6sba2H;!ita8;bo,st6usekN;age,e3P;ri2;ir,r6;m7o6;!ine;it;dress0sty2C;aLeIhostGirl26ladi3oCrand7u6;e5ru;c9daug0Jfa8m7pa6s2Y;!re4;a,o6;th0;hi1B;al7d6lf0;!de3A;ie,k6te26;eep0;!wr6;it0;isha,n6;i6tl04;us;mbl0rden0;aDella,iAo7r6;eela2Nie1P;e,re6ster pare4;be1Hm2r6st0;unn0;an2ZgZlmm17nanci0r6tt0;e6st la2H; marsh2OfigXm2;rm0th0;conoEdDlectriCm8n7x6;amin0cellency,i2A;emy,trepreneur,vironmenta1J;c8p6;er1loye6;e,r;ee;ci2;it1;mi5;aKeBi8ork,ri7u6we02;de,tche2H;ft0v0;ct3eti7plom2Hre6va;ct1;ci2ti2;aDcor3fencCi0InAput9s7tectLvel6;op0;ce1Ge6ign0;rt0;ee,y;iz6;en;em2;c1Ml0;d8nc0redev7ug6;ht0;il;!dy;a06e04fo,hXitizenWlToBr9u6;r3stomer6;! representat6;ive;e3it6;ic;lJmGnAord9rpor1Nu7w6;boy,ork0;n6ri0;ciTte1Q;in3;fidantAgressSs9t6;e0Kr6;ibut1o6;ll0;tab13ul1O;!e;edi2m6pos0rade;a0EeQissi6;on0;leag8on7um6;ni5;el;ue;e6own;an0r6;ic,k;!s;a9e7i6um;ld;erle6f;ad0;ir7nce6plFract0;ll1;m2wI;lebri6o;ty;dBptAr6shi0;e7pe6;nt0;r,t6;ak0;ain;et;aMeLiJlogg0oErBu6;dd0Fild0rgl9siness6;m2p7w6;om2;ers05;ar;i7o6;!k0th0;cklay0de,gadi0;hemi2oge8y6;!frie6;nd;ym2;an;cyc6sR;li5;atbox0ings;by,nk0r6;b0on7te6;nd0;!e07;c04dWge4nQpLrHsFtAu7yatull6;ah;nt7t6;h1oG;!ie;h8t6;e6orney;nda4;ie5le6;te;sis00tron6;aut,om0;chbis8isto7tis6;an,t;crU;hop;ost9p6;ari6rentiS;ti6;on;le;a9cest1im3nou8y6;bo6;dy;nc0;ly5rc6;hi5;mi8v6;entur0is1;er;ni7r6;al;str3;at1;or;counBquaintanArob9t6;ivi5or,re6;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:H6;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;eDhCi9Wue;!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;i9Dy;!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;aDha0i8XmaCsac;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,j5Hot,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;ar1Nb1Dd16fon15gust3hm12i0Zja0Yl0Bm07nTputsiSrGsaFugustEveDyCziz;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;allFel,oulaye,ulC;!lDrahm0;an;ah,o;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:1Q;a29b1Zc1Md1Ee18f15g13h0Ri0Qj0Nk0Jl0Gm09n06o05p00rPsItCusain bolt,v9w4xzibit,y1;anni,oko on2uji,v1;an,es;en,o;a3ednesday adams,i2o1;lfram,o0Q;ll ferrell,z khalifa;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¦elle,h3i2me,she,th0us,we,you;e0ou;e,m,y;!l,t;e,im",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:18;1:1E;2:1D;3:14;a1Db15c0Sd0Kfc dallas,g0Ihouston 0Hindiana0Gjacksonville jagua0k0El0Am01new UoRpKqueens parkJreal salt lake,sBt6utah jazz,vancouver whitecaps,w4yW;ashington 4h10;natio1Mredski2wizar0W;ampa bay 7e6o4;ronto 4ttenham hotspur;blue ja0Mrapto0;nnessee tita2xasD;buccanee0ra0K;a8eattle 6porting kansas0Wt4; louis 4oke0V;c1Drams;marine0s4;eah13ounH;cramento Rn 4;antonio spu0diego 4francisco gJjose earthquak1;char08paB; ran07;a9h6ittsburgh 5ortland t4;imbe0rail blaze0;pirat1steele0;il4oenix su2;adelphia 4li1;eagl1philNunE;dr1;akland 4klahoma city thunder,rlando magic;athle0Lrai4;de0;england 8orleans 7york 4;g5je3knYme3red bul0Xy4;anke1;ian3;pelica2sain3;patrio3revolut4;ion;anchEeAi4ontreal impact;ami 8lwaukee b7nnesota 4;t5vi4;kings;imberwolv1wi2;rewe0uc0J;dolphi2heat,marli2;mphis grizz4ts;li1;a6eic5os angeles 4;clippe0dodFlaB;esterV; galaxy,ke0;ansas city 4nF;chiefs,roya0D; pace0polis col3;astr05dynamo,rocke3texa2;olden state warrio0reen bay pac4;ke0;allas 8e4i04od6;nver 6troit 4;lio2pisto2ti4;ge0;broncYnugge3;cowbo5maver4;icZ;ys;arEelLhAincinnati 8leveland 6ol4;orado r4umbus crew sc;api7ocki1;brow2cavalie0guar4in4;dia2;bengaVre4;ds;arlotte horAicago 4;b5cubs,fire,wh4;iteB;ea0ulQ;diff4olina panthe0; city;altimore Alackburn rove0oston 6rooklyn 4uffalo bilN;ne3;ts;cel5red4; sox;tics;rs;oriol1rave2;rizona Ast8tlanta 4;brav1falco2h4;awA;ns;es;on villa,r4;os;c6di4;amondbac4;ks;ardi4;na4;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;a9Fb7Uc6Rd6Le6Jf5Ig50h4Biron0j47k40l3Em31n2Yo2Wp2Cquiet Hr1Xs0KtZuXvacuu6QwNyammerBzK;ero Dip LonK;e0k0;by,ov9up;aQeMhLiKor0Mrit19;mp0n3Fpe0r5s5;ackAeel Di0S;aLiKn33;gh 3Wrd0;n Dr K;do1in,oJ;it 79k5lk Lrm 69sh Kt83v60;aw3do1o7up;aw3in,oC;rgeBsK;e 2herE;a00eYhViRoQrMuKypP;ckErn K;do1in,oJup;aLiKot0y 30;ckl7Zp F;ck HdK;e 5Y;n7Wp 3Es5K;ck MdLe Kghten 6me0p o0Rre0;aw3ba4do1in,up;e Iy 2;by,oG;ink Lrow K;aw3ba4in,up;ba4ov9up;aKe 77ll62;m 2r 5M;ckBke Llk K;ov9shit,u47;aKba4do1in,leave,o4Dup;ba4ft9pa69w3;a0Vc0Te0Mh0Ii0Fl09m08n07o06p01quar5GtQuOwK;earMiK;ngLtch K;aw3ba4o8K; by;cKi6Bm 2ss0;k 64;aReQiPoNrKud35;aigh2Det75iK;ke 7Sng K;al6Yup;p Krm2F;by,in,oG;c3Ln3Lr 2tc4O;p F;c3Jmp0nd LrKveAy 2O;e Ht 2L;ba4do1up;ar3GeNiMlLrKurB;ead0ingBuc5;a49it 6H;c5ll o3Cn 2;ak Fe1Xll0;a3Bber 2rt0und like;ap 5Vow Duggl5;ash 6Noke0;eep NiKow 6;cLp K;o6Dup;e 68;in,oK;ff,v9;de19gn 4NnKt 6Gz5;gKkE; al6Ale0;aMoKu5W;ot Kut0w 7M;aw3ba4f48oC;c2WdeEk6EveA;e Pll1Nnd Orv5tK; Ktl5J;do1foLin,o7upK;!on;ot,r5Z;aw3ba4do1in,o33up;oCto;al66out0rK;ap65ew 6J;ilAv5;aXeUiSoOuK;b 5Yle0n Kstl5;aLba4do1inKo2Ith4Nu5P;!to;c2Xr8w3;ll Mot LpeAuK;g3Ind17;a2Wf3Po7;ar8in,o7up;ng 68p oKs5;ff,p18;aKelAinEnt0;c6Hd K;o4Dup;c27t0;aZeYiWlToQrOsyc35uK;ll Mn5Kt K;aKba4do1in,oJto47up;pa4Dw3;a3Jdo1in,o21to45up;attleBess KiNop 2;ah2Fon;iLp Kr4Zu1Gwer 6N;do1in,o6Nup;nt0;aLuK;gEmp 6;ce u20y 6D;ck Kg0le 4An 6p5B;oJup;el 5NncilE;c53ir 39n0ss MtLy K;ba4oG; Hc2R;aw3ba4in,oJ;pKw4Y;e4Xt D;aLerd0oK;dAt53;il Hrrow H;aTeQiPoLuK;ddl5ll I;c1FnkeyMp 6uthAve K;aKdo1in,o4Lup;l4Nw3; wi4K;ss0x 2;asur5e3SlLss K;a21up;t 6;ke Ln 6rKs2Ax0;k 6ryA;do,fun,oCsure,up;a02eViQoLuK;ck0st I;aNc4Fg MoKse0;k Kse4D;aft9ba4do1forw37in56o0Zu46;in,oJ;d 6;e NghtMnLsKve 00;ten F;e 2k 2; 2e46;ar8do1in;aMt LvelK; oC;do1go,in,o7up;nEve K;in,oK;pKut;en;c5p 2sh LtchBughAy K;do1o59;in4Po7;eMick Lnock K;do1oCup;oCup;eLy K;in,up;l Ip K;aw3ba4do1f04in,oJto,up;aMoLuK;ic5mpE;ke3St H;c43zz 2;a01eWiToPuK;nLrrKsh 6;y 2;keLt K;ar8do1;r H;lKneErse3K;d Ke 2;ba4dKfast,o0Cup;ear,o1;de Lt K;ba4on,up;aw3o7;aKlp0;d Ml Ir Kt 2;fKof;rom;f11in,o03uW;cPm 2nLsh0ve Kz2P;at,it,to;d Lg KkerP;do1in,o2Tup;do1in,oK;ut,v9;k 2;aZeTive Rloss IoMrLunK; f0S;ab hold,in43ow 2U; Kof 2I;aMb1Mit,oLr8th1IuK;nd9;ff,n,v9;bo7ft9hQw3;aw3bKdo1in,oJrise,up,w3;a4ir2H;ar 6ek0t K;aLb1Fdo1in,oKr8up;ff,n,ut,v9;cLhKl2Fr8t,w3;ead;ross;d aKng 2;bo7;a0Ee07iYlUoQrMuK;ck Ke2N;ar8up;eLighten KownBy 2;aw3oG;eKshe27; 2z5;g 2lMol Krk I;aKwi20;bo7r8;d 6low 2;aLeKip0;sh0;g 6ke0mKrKtten H;e F;gRlPnNrLsKzzle0;h F;e Km 2;aw3ba4up;d0isK;h 2;e Kl 1T;aw3fPin,o7;ht ba4ure0;ePnLsK;s 2;cMd K;fKoG;or;e D;d04l 2;cNll Krm0t1G;aLbKdo1in,o09sho0Eth08victim;a4ehi2O;pa0C;e K;do1oGup;at Kdge0nd 12y5;in,o7up;aOi1HoNrK;aLess 6op KuN;aw3b03in,oC;gBwB; Ile0ubl1B;m 2;a0Ah05l02oOrLut K;aw3ba4do1oCup;ackBeep LoKy0;ss Dwd0;by,do1in,o0Uup;me NoLuntK; o2A;k 6l K;do1oG;aRbQforOin,oNtKu0O;hLoKrue;geth9;rough;ff,ut,v9;th,wK;ard;a4y;paKr8w3;rt;eaLose K;in,oCup;n 6r F;aNeLiK;ll0pE;ck Der Kw F;on,up;t 2;lRncel0rOsMtch LveE; in;o1Nup;h Dt K;doubt,oG;ry LvK;e 08;aw3oJ;l Km H;aLba4do1oJup;ff,n,ut;r8w3;a0Ve0MiteAl0Fo04rQuK;bblNckl05il0Dlk 6ndl05rLsKtMy FzzA;t 00;n 0HsK;t D;e I;ov9;anWeaUiLush K;oGup;ghQng K;aNba4do1forMin,oLuK;nd9p;n,ut;th;bo7lKr8w3;ong;teK;n 2;k K;do1in,o7up;ch0;arTg 6iRn5oPrNssMttlLunce Kx D;aw3ba4;e 6; ar8;e H;do1;k Dt 2;e 2;l 6;do1up;d 2;aPeed0oKurt0;cMw K;aw3ba4do1o7up;ck;k K;in,oC;ck0nk0stA; oQaNef 2lt0nd K;do1ov9up;er;up;r Lt K;do1in,oCup;do1o7;ff,nK;to;ck Pil0nMrgLsK;h D;ainBe D;g DkB; on;in,o7;aw3do1in,oCup;ff,ut;ay;ct FdQir0sk MuctionA; oG;ff;ar8o7;ouK;nd; o7;d K;do1oKup;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:BR;1:BF;2:B5;3:BH;4:AX;5:9Y;6:B6;7:BK;8:B0;9:AV;A:AL;B:8Q;C:8G;D:7K;E:BM;F:AH;aBDb9Zc8Wd88e81f7Kg6Wh64i60j5Lk4Vl4Dm39n2Wo2Op25quispe,r1Ls0Pt0Ev03wTxSyKzG;aIhGimmerm6A;aGou,u;ng,o;khar5ytsE;aKeun9BiHoGun;koya32shiBU;!lG;diGmaz;rim,z;maGng;da,g52mo83sGzaC;aChiBV;iao,u;aLeJiHoGright,u;jcA5lff,ng;lGmm0nkl0sniewsC;kiB1liams33s3;bGiss,lt0;b,er,st0;a6Vgn0lHtG;anabe,s3;k0sh,tG;e2Non;aLeKiHoGukD;gt,lk5roby5;dHllalGnogr3Kr1Css0val3S;ba,ob1W;al,ov4;lasHsel8W;lJn dIrgBEsHzG;qu7;ilyEqu7siljE;en b6Aijk,yk;enzueAIverde;aPeix1VhKi2j8ka43oJrIsui,uG;om5UrG;c2n0un1;an,emblA7ynisC;dorAMlst3Km4rrAth;atch0i8UoG;mHrG;are84laci79;ps3sG;en,on;hirDkah9Mnaka,te,varA;a06ch01eYhUiRmOoMtIuHvGzabo;en9Jobod3N;ar7bot4lliv2zuC;aIeHoG;i7Bj4AyanAB;ele,in2FpheBvens25;l8rm0;kol5lovy5re7Tsa,to,uG;ng,sa;iGy72;rn5tG;!h;l71mHnGrbu;at9cla9Egh;moBo7M;aIeGimizu;hu,vchG;en8Luk;la,r1G;gu9infe5YmGoh,pulveA7rra5P;jGyG;on5;evi6iltz,miHneid0roed0uGwarz;be3Elz;dHtG;!t,z;!t;ar4Th8ito,ka4OlJnGr4saCto,unde19v4;ch7dHtGz;a5Le,os;b53e16;as,ihDm4Po0Y;aVeSiPoJuHyG;a6oo,u;bio,iz,sG;so,u;bKc8Fdrigue67ge10j9YmJosevelt,sItHux,wG;e,li6;a9Ch;enb4Usi;a54e4L;erts15i93;bei4JcHes,vGzzo;as,e9;ci,hards12;ag2es,iHut0yG;es,nol5N;s,t0;dImHnGsmu97v6C;tan1;ir7os;ic,u;aUeOhMiJoHrGut8;asad,if6Zochazk27;lishc2GpGrti72u10we76;e3Aov51;cHe45nG;as,to;as70hl0;aGillips;k,m,n6I;a3Hde3Wete0Bna,rJtG;ersHrovGters54;!a,ic;!en,on;eGic,kiBss3;i9ra,tz,z;h86k,padopoulIrk0tHvG;ic,l4N;el,te39;os;bMconn2Ag2TlJnei6PrHsbor6XweBzG;dem7Rturk;ella4DtGwe6N;ega,iz;iGof7Hs8I;vGyn1R;ei9;aSri1;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;aFeaEh9o4rim08umbr0;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;dygHguascalientes,lBndhr9r5ss4;am;izo1kans5un4;achal 7;as;na;a 4;pradesh;a6ber5t4;ai;ta;ba5s4;ka;ma;ea",Country:"true¦0:38;1:2L;2:3B;a2Xb2Ec22d1Ye1Sf1Mg1Ch1Ai14j12k0Zl0Um0Gn05om2pZqat1KrXsKtCu7v5wal4yemTz3;a25imbabwe;es,lis and futu2Y;a3enezue32ietnam;nuatu,tican city;gTk6nited 4ruXs3zbeE; 2Ca,sr;arab emirat0Kkingdom,states3;! of am2Y;!raiV;a8haCimor les0Co7rinidad 5u3;nis0rk3valu;ey,me2Zs and caic1V;and t3t3;oba1L;go,kel10nga;iw2ji3nz2T;ki2V;aDcotl1eCi9lov8o6pa2Dri lanka,u5w3yr0;az3edAitzerl1;il1;d2riname;lomon1Xmal0uth 3;afr2KkMsud2;ak0en0;erra leoFn3;gapo1Yt maart3;en;negLrb0ychellZ;int 3moa,n marino,udi arab0;hele26luc0mart21;epublic of ir0Eom2Euss0w3;an27;a4eIhilippinUitcairn1Mo3uerto riN;l1rtugF;ki2Dl4nama,pua new0Vra3;gu7;au,esti3;ne;aBe9i7or3;folk1Ith4w3;ay; k3ern mariana1D;or0O;caragua,ger3ue;!ia;p3ther1Aw zeal1;al;mib0u3;ru;a7exi6icro0Bo3yanm06;ldova,n3roc5zambA;a4gol0t3;enegro,serrat;co;cAdagasc01l7r5urit4yot3;te;an0i16;shall0Xtin3;ique;a4div3i,ta;es;wi,ys0;ao,ed02;a6e5i3uxembourg;b3echtenste12thu1G;er0ya;ban0Isotho;os,tv0;azakh1Fe4iriba04o3uwait,yrgyz1F;rXsovo;eling0Knya;a3erG;ma16p2;c7nd6r4s3taly,vory coast;le of m2rael;a3el1;n,q;ia,oJ;el1;aiTon3ungary;dur0Ng kong;aBermany,ha0QibraltAre8u3;a6ern5inea3ya0P;! biss3;au;sey;deloupe,m,tema0Q;e3na0N;ce,nl1;ar;bUmb0;a7i6r3;ance,ench 3;guia0Epoly3;nes0;ji,nl1;lklandUroeU;ast tim7cu6gypt,l salv6ngl1quatorial4ritr5st3thiop0;on0; guin3;ea;ad3;or;enmark,jibou5ominica4r con3;go;!n C;ti;aBentral african Ah8o5roat0u4yprRzech3; 9ia;ba,racao;c4lo3morQngo brazzaville,okGsta r04te de ivoiL;mb0;osE;i3ristmasG;le,na;republic;m3naUpe verde,ymanA;bod0ero3;on;aGeDhut2o9r5u3;lgar0r3;kina faso,ma,undi;azil,itish 3unei;virgin3; is3;lands;liv0nai5snia and herzegoviHtswaHuvet3; isl1;and;re;l3n8rmuG;ar3gium,ize;us;h4ngladesh,rbad3;os;am4ra3;in;as;fghaGlDmBn6r4ustr3zerbaij2;al0ia;genti3men0uba;na;dorra,g5t3;arct7igua and barbu3;da;o3uil3;la;er3;ica;b3ger0;an0;ia;ni3;st2;an",Place:"true¦a0Gb0Bc03d02e01f00gWhUiSkQlNmLnIorHpDrCsAt5u4v3w2y0;a0yz;kutPngtze;ake isHupatki;irgin islands,ostok;laanbaatar,p02;a3eotihuac0Hh1onto,sarskoe selo,u0;lXzigoot;am09e 0;bronx,hamptons;hiti,j mahE;a0cotts bluff,eine,fo,oho,under9;int lawrence river,khalY;ed s3io grande;a1ek,h0itcairn,ompeii;l,x;cif05pahanaumokuak0rthenX;ea;ange county,d,inoco;e0ile;uschwansteQw eng0;land;a0co,ekong,idLuc;chu picchu,gad00libu,nhatt00;a1gw,hr,incoln memori0;al;s,x;azan kremlJosrae,rasnoyar0ul;sk;ax,cn,nd0st;ianSochina;arlem,kg,nd,ov0;d,enweep;a2odavari,re0;at 0enwich;britaBlakI;ngHy village;co,ra;urope,vergladF;anube,en,fw,own4xb;arrizo pla6dg,edar 5gk,h1lt,olosse0;um;a2i0uuk;chen itza,mney rock,na0ricahua;town;morro,tham;breaks,fa5;in;cn,e2kk,ro0;oklyn,wns cany0;on;l air,verly hi0;lls;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:J7;1:JB;2:IJ;3:IK;4:J1;5:IO;6:JS;7:JO;8:HB;9:JK;A:H4;B:I2;C:IT;D:JH;E:IX;F:BA;G:I4;aGTbFLcDRdD0eBMfB4gADh9Ti9Gj8Dk7Cl5Wm48n3Lo3Hp33qu32r29s15t0Eu0Cv02wVxiTyOzH;aLeIineb,oHsof3;e3Sf3la,ra;h2iKlIna,ynH;ab,ep;da,ma;da,h2iHra;nab;aKeJi0FolB7uIvH;et8onDP;i0na;le0sen3;el,gm3Hn,rGLs8W;aoHme0nyi;m5XyAD;aMendDZhiDGiH;dele9lJnH;if48niHo0;e,f47;a,helmi0lHma;a,ow;ka0nB;aNeKiHusa5;ck84kIl8oleAviH;anFenJ4;ky,toriBK;da,lA8rHs0;a,nHoniH9;a,iFR;leHnesH9;nILrH;i1y;g9rHs6xHA;su5te;aYeUhRiNoLrIuHy2;i,la;acJ3iHu0J;c3na,sH;hFta;nHr0F;iFya;aJffaEOnHs6;a,gtiH;ng;!nFSra;aIeHomasi0;a,l9Oo8Ares1;l3ndolwethu;g9Fo88rIssH;!a,ie;eHi,ri7;sa,za;bOlMmKnIrHs6tia0wa0;a60yn;iHya;a,ka,s6;arFe2iHm77ra;!ka;a,iH;a,t6;at6it6;a0Ecarlett,e0AhWiSkye,neza0oQri,tNuIyH;bIGlvi1;ha,mayIJniAsIzH;an3Net8ie,y;anHi7;!a,e,nH;aCe;aIeH;fan4l5Dphan6E;cI5r5;b3fiAAm0LnHphi1;d2ia,ja,ya;er2lJmon1nIobh8QtH;a,i;dy;lETv3;aMeIirHo0risFDy5;a,lDM;ba,e0i5lJrH;iHr6Jyl;!d8Ifa;ia,lDZ;hd,iMki2nJrIu0w0yH;la,ma,na;i,le9on,ron,yn;aIda,ia,nHon;a,on;!ya;k6mH;!aa;lJrItaye82vH;da,inj;e0ife;en1i0ma;anA9bLd5Oh1SiBkKlJmInd2rHs6vannaC;aCi0;ant6i2;lDOma,ome;ee0in8Tu2;in1ri0;a05eZhXiUoHuthDM;bScRghQl8LnPsJwIxH;anB3ie,y;an,e0;aIeHie,lD;ann7ll1marDGtA;!lHnn1;iHyn;e,nH;a,dF;da,i,na;ayy8G;hel67io;bDRerAyn;a,cIkHmas,nFta,ya;ki,o;h8Xki;ea,iannGMoH;da,n1P;an0bJemFgi0iInHta,y0;a8Bee;han86na;a,eH;cHkaC;a,ca;bi0chIe,i0mo0nHquETy0;di,ia;aERelHiB;!e,le;een4ia0;aPeOhMiLoJrHute6A;iHudenCV;scil3LyamvaB;lHrt3;i0ly;a,paluk;ilome0oebe,ylH;is,lis;ggy,nelope,r5t2;ige,m0VnKo5rvaDMtIulH;a,et8in1;ricHt4T;a,e,ia;do2i07;ctav3dIfD3is6ksa0lHphD3umC5yunbileg;a,ga,iv3;eHvAF;l3t8;aWeUiMoIurHy5;!ay,ul;a,eJor,rIuH;f,r;aCeEma;ll1mi;aNcLhariBQkKlaJna,sHta,vi;anHha;ur;!y;a,iDZki;hoGk9YolH;a,e4P;!mh;hir,lHna,risDEsreE;!a,lBV;asuMdLh3i6Dl5nKomi7rgEVtH;aHhal4;lHs6;i1ya;cy,et8;e9iF0ya;nngu2X;a0Ackenz4e02iMoJrignayani,uriDJyH;a,rH;a,iOlNna,tG;bi0i2llBJnH;a,iH;ca,ka,qD9;a,cUdo4ZkaTlOmi,nMrItzi,yH;ar;aJiIlH;anET;am;!l,nB;dy,eHh,n4;nhGrva;aKdJe0iCUlH;iHy;cent,e;red;!gros;!e5;ae5hH;ae5el3Z;ag5DgNi,lKrH;edi7AiIjem,on,yH;em,l;em,sCG;an4iHliCF;nHsCJ;a,da;!an,han;b09cASd07e,g05ha,i04ja,l02n00rLsoum5YtKuIv84xBKyHz4;bell,ra,soBB;d7rH;a,eE;h8Gild1t4;a,cUgQiKjor4l7Un4s6tJwa,yH;!aHbe6Xja9lAE;m,nBL;a,ha,in1;!aJbCGeIja,lDna,sHt63;!a,ol,sa;!l1D;!h,mInH;!a,e,n1;!awit,i;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:3B;1:3P;2:3E;3:2H;a3Tb3Cc33d2Ue2Nf2Bg1Xh1Mi1Gj1Fk1Cl14m0Yn0To0Sp0Jqu0Hr08sItDug0vBw5y4za0R;el11ouO;ary,e7hi6i4ry;ck0Dde,l4n1ry,se;d,y;ny,te;a4i3R;k,ry;a4erda2ulgar;gue,in,st;a7en2Xhi6i5ou00r4;anqu2Den1ue;dy,g36me0ny;ck,rs29;ll,me,rt,wd3I;aScaQePhNiMkin0ClJmHoFpEt7u5w4;eet,ift;b4dd0Xperfi22rre29;sta27t3;a9e8iff,r5u4;pVr1;a5ict,o4;ng;ig2Vn0O;a1ep,rn;le,rk,te0;e1Ti2Vright0;ci1Zft,l4on,re;emn,id;a4el0;ll,rt;e5i4y;g2Mm10;ek,nd2T;ck24l0mp3;a4iSrill,y;dy,l02rp;ve0Kxy;n1Kr4;ce,y;d,fe,int0l1Iv0W;a9e7i6o4ude;mantic,o1Asy,u4;gh;pe,t1P;a4d,mo0B;dy,l;gg5iGndom,p4re,w;id;ed;ai2i4;ck,et;hoBink,lAo9r6u4;ny,r4;e,p3;egna2ic5o4;fouTud;ey,k0;liYor;ain,easa2;ny;dd,i0ld,ranM;aive,e6i5o4u15;b3isy,rm0Zsy;bb0ce,mb3;a4r1w;r,t;ad,e6ild,o5u4;nda12te;ist,o1;a5ek,l4;low;s0ty;a9e8i7o4ucky;f0Kn5o15u4ve0w10y0O;d,sy;e0g;ke0l,mp,tt3ve0;e1Qwd;me,r4te;ge;e5i4;nd;en;ol0ui19;cy,ll,n4;secu7t4;e4ima5;llege2rmedia4;te;re;aBe8i7o6u4;ge,m4ng1C;b3id;me0t;gh,l0;a4fYsita2;dy,rXv4;en0y;nd13ppy,r4;d4sh;!y;aGenFhDiClBoofy,r4;a9e7i6o4ue0Z;o4ss;vy;m,s0;at,e4y;dy,n;nd,y;ad,ib,ooE;a2d1;a4o4;st0;t3uiS;u1y;aDeeb3iAl9o7r6u4;ll,n4r0N;!ny;aDesh,iend0;a4nd,rmE;my;at,ir8;erce,nan4;ciA;le;r,ul4;ty;a7erie,sse5v4xtre0B;il;nti4;al;r5s4;tern,y;ly,th0;appZe9i5u4;mb;r6vi5z4;zy;ne;e,ty;a4ep,nA;d4f,r;!ly;agey,h9l8o6r5u4;dd0r0te;isp,uel;ar4ld,mmon,st0ward0zy;se;evLou1;e4il0;ap,e4;sy;aIiGlDoBr6u4;ff,r0sy;ly;a7i4oad;g5llia2;nt;ht;sh,ve;ld,un4;cy;a5o4ue;nd,o1;ck,nd;g,tt4;er;d,ld,w1;dy;bsu7ng6we4;so4;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 Io=36,No="0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ",Do=No.split("").reduce((function(e,t,n){return e[t]=n,e}),{});var Ho=function(e){if(void 0!==Do[e])return Do[e];let t=0,n=1,a=Io,r=1;for(;n=0;n--,r*=Io){let a=e.charCodeAt(n)-48;a>10&&(a-=7),t+=a*r}return t},Go=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=xo(t[e]);"true"===e&&(e=!0);for(let t=0;t{let t=Eo(jo[e]);Bo.test(e)?Object.keys(t).forEach((t=>{if(Ko[t]=e,"Noun|Verb"===e){let e=Vo(t,$o);Ko[e]="Plural|Verb"}})):Object.keys(t).forEach((t=>{So[t]=e}))})),[":(",":)",":P",":p",":O",";(",";)",";P",";p",";O",":3",":|",":/",":\\",":$",":*",":@",":-(",":-)",":-P",":-p",":-O",":-3",":-|",":-/",":-\\",":-$",":-*",":-@",":^(",":^)",":^P",":^p",":^O",":^3",":^|",":^/",":^\\",":^$",":^*",":^@","):","(:","$:","*:",")-:","(-:","$-:","*-:",")^:","(^:","$^:","*^:","<3","So[e]="Emoticon")),delete So[""],delete So.null,delete So[" "];const Mo="Singular";var Lo={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 Jo="Infinitive";var Wo={beforeTags:{Modal:Jo,Adverb:Jo,Negative:Jo,Plural:Jo},afterTags:{Determiner:Jo,Adverb:Jo,Possessive:Jo,Reflexive:Jo,Preposition:Jo,Cardinal:Jo,Comparative:Jo,Superlative:Jo},beforeWords:{i:Jo,we:Jo,you:Jo,they:Jo,to:Jo,please:Jo,will:Jo,have:Jo,had:Jo,would:Jo,could:Jo,should:Jo,do:Jo,did:Jo,does:Jo,can:Jo,must:Jo,us:Jo,me:Jo,let:Jo,even:Jo,when:Jo,help:Jo,he:Jo,she:Jo,it:Jo,being:Jo,bi:Jo,co:Jo,contra:Jo,de:Jo,inter:Jo,intra:Jo,mis:Jo,pre:Jo,out:Jo,counter:Jo,nobody:Jo,somebody:Jo,anybody:Jo,everybody:Jo},afterWords:{the:Jo,me:Jo,you:Jo,him:Jo,us:Jo,her:Jo,his:Jo,them:Jo,they:Jo,it:Jo,himself:Jo,herself:Jo,itself:Jo,myself:Jo,ourselves:Jo,themselves:Jo,something:Jo,anything:Jo,a:Jo,an:Jo,up:Jo,down:Jo,by:Jo,out:Jo,off:Jo,under:Jo,what:Jo,all:Jo,to:Jo,because:Jo,although:Jo,after:Jo,before:Jo,how:Jo,otherwise:Jo,together:Jo,though:Jo,into:Jo,yet:Jo,more:Jo,here:Jo,there:Jo,away:Jo}},Uo={beforeTags:Object.assign({},Wo.beforeTags,Lo.beforeTags,{}),afterTags:Object.assign({},Wo.afterTags,Lo.afterTags,{}),beforeWords:Object.assign({},Wo.beforeWords,Lo.beforeWords,{}),afterWords:Object.assign({},Wo.afterWords,Lo.afterWords,{})};const qo="Adjective";var Qo={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 Ro="Gerund";var Zo={beforeTags:{Adverb:Ro,Preposition:Ro,Conjunction:Ro},afterTags:{Adverb:Ro,Possessive:Ro,Person:Ro,Pronoun:Ro,Determiner:Ro,Copula:Ro,Preposition:Ro,Conjunction:Ro,Comparative:Ro},beforeWords:{been:Ro,keep:Ro,continue:Ro,stop:Ro,am:Ro,be:Ro,me:Ro,began:Ro,start:Ro,starts:Ro,started:Ro,stops:Ro,stopped:Ro,help:Ro,helps:Ro,avoid:Ro,avoids:Ro,love:Ro,loves:Ro,loved:Ro,hate:Ro,hates:Ro,hated:Ro},afterWords:{you:Ro,me:Ro,her:Ro,him:Ro,his:Ro,them:Ro,their:Ro,it:Ro,this:Ro,there:Ro,on:Ro,about:Ro,for:Ro,up:Ro,down:Ro}},Xo={beforeTags:Object.assign({},Qo.beforeTags,Zo.beforeTags,{Imperative:"Gerund",Infinitive:"Adjective",PresentTense:"Gerund",Plural:"Gerund"}),afterTags:Object.assign({},Qo.afterTags,Zo.afterTags,{Singular:"Adjective"}),beforeWords:Object.assign({},Qo.beforeWords,Zo.beforeWords,{is:"Adjective",was:"Adjective",of:"Adjective",suggest:"Gerund",recommend:"Gerund"}),afterWords:Object.assign({},Qo.afterWords,Zo.afterWords,{to:"Gerund",not:"Gerund",the:"Gerund"})};const _o={beforeTags:{Determiner:void 0,Cardinal:"Noun",PhrasalVerb:"Adjective"},afterTags:{}};var Yo={beforeTags:Object.assign({},Qo.beforeTags,Lo.beforeTags,_o.beforeTags),afterTags:Object.assign({},Qo.afterTags,Lo.afterTags,_o.afterTags),beforeWords:Object.assign({},Qo.beforeWords,Lo.beforeWords,{are:"Adjective",is:"Adjective",was:"Adjective",be:"Adjective",off:"Adjective",out:"Adjective"}),afterWords:Object.assign({},Qo.afterWords,Lo.afterWords)};let ei="PastTense";const ti={beforeTags:{Adverb:ei,Pronoun:ei,ProperNoun:ei,Auxiliary:ei,Noun:ei},afterTags:{Possessive:ei,Pronoun:ei,Determiner:ei,Adverb:ei,Comparative:ei,Date:ei,Gerund:ei},beforeWords:{be:ei,who:ei,get:"Adjective",had:ei,has:ei,have:ei,been:ei,it:ei,as:ei,for:"Adjective",more:"Adjective"},afterWords:{by:ei,back:ei,out:ei,in:ei,up:ei,down:ei,before:ei,after:ei,for:ei,the:ei,with:ei,as:ei,on:ei,at:ei,between:ei,to:ei,into:ei,us:ei,them:ei,his:ei,her:ei,their:ei,our:ei,me:ei}};var ni={beforeTags:Object.assign({},Qo.beforeTags,ti.beforeTags),afterTags:Object.assign({},Qo.afterTags,ti.afterTags),beforeWords:Object.assign({},Qo.beforeWords,ti.beforeWords),afterWords:Object.assign({},Qo.afterWords,ti.afterWords)};const ai={afterTags:{Noun:"Adjective",Conjunction:void 0}};var ri={beforeTags:Object.assign({},Qo.beforeTags,Wo.beforeTags,{Adverb:void 0,Negative:void 0}),afterTags:Object.assign({},Qo.afterTags,Wo.afterTags,ai.afterTags),beforeWords:Object.assign({},Qo.beforeWords,Wo.beforeWords,{have:void 0,had:void 0,not:void 0,went:"Adjective",goes:"Adjective",got:"Adjective",be:"Adjective"}),afterWords:Object.assign({},Qo.afterWords,Wo.afterWords,{to:void 0,as:"Adjective"})};const oi={Copula:"Gerund",PastTense:"Gerund",PresentTense:"Gerund",Infinitive:"Gerund"},ii={},si={are:"Gerund",were:"Gerund",be:"Gerund",no:"Gerund",without:"Gerund",you:"Gerund",we:"Gerund",they:"Gerund",he:"Gerund",she:"Gerund",us:"Gerund",them:"Gerund"},li={the:"Gerund",this:"Gerund",that:"Gerund",me:"Gerund",us:"Gerund",them:"Gerund"};var ui={beforeTags:Object.assign({},Zo.beforeTags,Lo.beforeTags,oi),afterTags:Object.assign({},Zo.afterTags,Lo.afterTags,ii),beforeWords:Object.assign({},Zo.beforeWords,Lo.beforeWords,si),afterWords:Object.assign({},Zo.afterWords,Lo.afterWords,li)};const ci="Singular",di="Infinitive";var hi={beforeTags:Object.assign({},Wo.beforeTags,Lo.beforeTags,{Adjective:ci,Particle:ci}),afterTags:Object.assign({},Wo.afterTags,Lo.afterTags,{ProperNoun:di,Gerund:di,Adjective:di,Copula:ci}),beforeWords:Object.assign({},Wo.beforeWords,Lo.beforeWords,{is:ci,was:ci,of:ci,have:null}),afterWords:Object.assign({},Wo.afterWords,Lo.afterWords,{instead:di,about:di,his:di,her:di,to:null,by:null,in:null})};const gi="Person";var mi={beforeTags:{Honorific:gi,Person:gi},afterTags:{Person:gi,ProperNoun:gi,Verb:gi},ownTags:{ProperNoun:gi},beforeWords:{hi:gi,hey:gi,yo:gi,dear:gi,hello:gi},afterWords:{said:gi,says:gi,told:gi,tells:gi,feels:gi,felt:gi,seems:gi,thinks:gi,thought:gi,spends:gi,spendt:gi,plays:gi,played:gi,sing:gi,sang:gi,learn:gi,learned:gi,wants:gi,wanted:gi}};const pi="Month",fi={beforeTags:{Date:pi,Value:pi},afterTags:{Date:pi,Value:pi},beforeWords:{by:pi,in:pi,on:pi,during:pi,after:pi,before:pi,between:pi,until:pi,til:pi,sometime:pi,of:pi,this:pi,next:pi,last:pi,previous:pi,following:pi,with:"Person"},afterWords:{sometime:pi,in:pi,of:pi,until:pi,the:pi}};var bi={beforeTags:Object.assign({},mi.beforeTags,fi.beforeTags),afterTags:Object.assign({},mi.afterTags,fi.afterTags),beforeWords:Object.assign({},mi.beforeWords,fi.beforeWords),afterWords:Object.assign({},mi.afterWords,fi.afterWords)};const vi="Place",yi={beforeTags:{Place:vi},afterTags:{Place:vi,Abbreviation:vi},beforeWords:{in:vi,by:vi,near:vi,from:vi,to:vi},afterWords:{in:vi,by:vi,near:vi,from:vi,to:vi,government:vi,council:vi,region:vi,city:vi}};let wi="Unit";const ki={"Actor|Verb":Uo,"Adj|Gerund":Xo,"Adj|Noun":Yo,"Adj|Past":ni,"Adj|Present":ri,"Noun|Verb":hi,"Noun|Gerund":ui,"Person|Noun":{beforeTags:Object.assign({},Lo.beforeTags,mi.beforeTags),afterTags:Object.assign({},Lo.afterTags,mi.afterTags),beforeWords:Object.assign({},Lo.beforeWords,mi.beforeWords,{i:"Infinitive",we:"Infinitive"}),afterWords:Object.assign({},Lo.afterWords,mi.afterWords)},"Person|Date":bi,"Person|Verb":{beforeTags:Object.assign({},Lo.beforeTags,mi.beforeTags,Wo.beforeTags),afterTags:Object.assign({},Lo.afterTags,mi.afterTags,Wo.afterTags),beforeWords:Object.assign({},Lo.beforeWords,mi.beforeWords,Wo.beforeWords),afterWords:Object.assign({},Lo.afterWords,mi.afterWords,Wo.afterWords)},"Person|Place":{beforeTags:Object.assign({},yi.beforeTags,mi.beforeTags),afterTags:Object.assign({},yi.afterTags,mi.afterTags),beforeWords:Object.assign({},yi.beforeWords,mi.beforeWords),afterWords:Object.assign({},yi.afterWords,mi.afterWords)},"Person|Adj":{beforeTags:Object.assign({},mi.beforeTags,Qo.beforeTags),afterTags:Object.assign({},mi.afterTags,Qo.afterTags),beforeWords:Object.assign({},mi.beforeWords,Qo.beforeWords),afterWords:Object.assign({},mi.afterWords,Qo.afterWords)},"Unit|Noun":{beforeTags:{Value:wi},afterTags:{},beforeWords:{per:wi,every:wi,each:wi,square:wi,cubic:wi,sq:wi,metric:wi},afterWords:{per:wi,squared:wi,cubed:wi,long:wi}}},Pi=(e,t)=>{let n=Object.keys(e).reduce(((t,n)=>(t[n]="Infinitive"===e[n]?"PresentTense":"Plural",t)),{});return Object.assign(n,t)};ki["Plural|Verb"]={beforeWords:Pi(ki["Noun|Verb"].beforeWords,{had:"Plural",have:"Plural"}),afterWords:Pi(ki["Noun|Verb"].afterWords,{his:"PresentTense",her:"PresentTense",its:"PresentTense",in:null,to:null,is:"PresentTense",by:"PresentTense"}),beforeTags:Pi(ki["Noun|Verb"].beforeTags,{Conjunction:"PresentTense",Noun:void 0,ProperNoun:"PresentTense"}),afterTags:Pi(ki["Noun|Verb"].afterTags,{Gerund:"Plural",Noun:"PresentTense",Value:"PresentTense"})};var Ai=ki;const Ci="Adjective",ji="Infinitive",Ii="PresentTense",Ni="Singular",Di="PastTense",Hi="Adverb",Gi="Plural",Ti="Actor",xi="Verb",Ei="Noun",Fi="LastName",Oi="Modal",zi="Place",Vi="Participle";var Bi=[null,null,{ea:Ni,ia:Ei,ic:Ci,ly:Hi,"'n":xi,"'t":xi},{oed:Di,ued:Di,xed:Di," so":Hi,"'ll":Oi,"'re":"Copula",azy:Ci,eer:Ei,end:xi,ped:Di,ffy:Ci,ify:ji,ing:"Gerund",ize:ji,ibe:ji,lar:Ci,mum:Ci,nes:Ii,nny:Ci,ous:Ci,que:Ci,ger:Ei,ber:Ei,rol:Ni,sis:Ni,ogy:Ni,oid:Ni,ian:Ni,zes:Ii,eld:Di,ken:Vi,ven:Vi,ten:Vi,ect:ji,ict:ji,ign:ji,oze:ji,ful:Ci,bal:Ci,ton:Ei},{amed:Di,aped:Di,ched:Di,lked:Di,rked:Di,reed:Di,nded:Di,mned:Ci,cted:Di,dged:Di,ield:Ni,akis:Fi,cede:ji,chuk:Fi,czyk:Fi,ects:Ii,iend:Ni,ends:xi,enko:Fi,ette:Ni,iary:Ni,wner:Ni,fies:Ii,fore:Hi,gate:ji,gone:Ci,ices:Gi,ints:Gi,ruct:ji,ines:Gi,ions:Gi,ners:Gi,pers:Gi,lers:Gi,less:Ci,llen:Ci,made:Ci,nsen:Fi,oses:Ii,ould:Oi,some:Ci,sson:Fi,ians:Gi,tion:Ni,tage:Ei,ique:Ni,tive:Ci,tors:Ei,vice:Ni,lier:Ni,fier:Ni,wned:Di,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:Ci,vide:ji,ract:ji,duce:ji,pose:ji,eive:ji,lyze:ji,lyse:ji,iant:Ci,nary:Ci,ghty:Ci,uent:Ci,erer:Ti,bury:zi,dorf:Ei,esty:Ei,wych:zi,dale:zi,folk:zi},{elist:Ti,holic:Ni,phite:Ni,tized:Di,urned:Di,eased:Di,ances:Gi,bound:Ci,ettes:Gi,fully:Hi,ishes:Ii,ities:Gi,marek:Fi,nssen:Fi,ology:Ei,osome:Ni,tment:Ni,ports:Gi,rough:Ci,tches:Ii,tieth:"Ordinal",tures:Gi,wards:Hi,where:Hi,archy:Ei,pathy:Ei,opoly:Ei,embly:Ei,phate:Ei,ndent:Ni,scent:Ni,onist:Ti,anist:Ti,alist:Ti,olist:Ti,icist:Ti,ounce:ji,iable:Ci,borne:Ci,gnant:Ci,inant:Ci,igent:Ci,atory:Ci,rient:Ni,dient:Ni,maker:Ti,burgh:zi,mouth:zi,ceter:zi,ville:zi,worth:Ei},{auskas:Fi,parent:Ni,cedent:Ni,ionary:Ni,cklist:Ni,keeper:Ti,logist:Ti,teenth:"Value",worker:Ti,master:Ti,writer:Ti,brough:zi,cester:zi},{logists:Ti,opoulos:Fi,borough:zi,sdottir:Fi}];const Si="Adjective",Ki="Noun",$i="Verb";var Mi=[null,null,{},{neo:Ki,bio:Ki,"de-":$i,"re-":$i,"un-":$i,"ex-":Ki},{anti:Ki,auto:Ki,faux:Si,hexa:Ki,kilo:Ki,mono:Ki,nano:Ki,octa:Ki,poly:Ki,semi:Si,tele:Ki,"pro-":Si,"mis-":$i,"dis-":$i,"pre-":Si},{anglo:Ki,centi:Ki,ethno:Ki,ferro:Ki,grand:Ki,hepta:Ki,hydro:Ki,intro:Ki,macro:Ki,micro:Ki,milli:Ki,nitro:Ki,penta:Ki,quasi:Si,radio:Ki,tetra:Ki,"omni-":Si,"post-":Si},{pseudo:Si,"extra-":Si,"hyper-":Si,"inter-":Si,"intra-":Si,"deca-":Si},{electro:Ki}];const Li="Adjective",Ji="Infinitive",Wi="PresentTense",Ui="Singular",qi="PastTense",Qi="Adverb",Ri="Expression",Zi="Actor",Xi="Verb",_i="Noun",Yi="LastName";var es={a:[[/.[aeiou]na$/,_i,"tuna"],[/.[oau][wvl]ska$/,Yi],[/.[^aeiou]ica$/,Ui,"harmonica"],[/^([hyj]a+)+$/,Ri,"haha"]],c:[[/.[^aeiou]ic$/,Li]],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$/,Ui,"steward"],[/[aeiou][^aeiou]id$/,Li,""],[/.[vrl]id$/,Li,"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$/,Ji,"antagonize"],[/.[^aeiou]ise$/,Ji,"antagonise"],[/.[aeiou]te$/,Ji,"bite"],[/.[^aeiou][ai]ble$/,Li,"fixable"],[/.[^aeiou]eable$/,Li,"maleable"],[/.[ts]ive$/,Li,"festive"],[/[a-z]-like$/,Li,"woman-like"]],h:[[/.[^aeiouf]ish$/,Li,"cornish"],[/.v[iy]ch$/,Yi,"..ovich"],[/^ug?h+$/,Ri,"ughh"],[/^uh[ -]?oh$/,Ri,"uhoh"],[/[a-z]-ish$/,Li,"cartoon-ish"]],i:[[/.[oau][wvl]ski$/,Yi,"polish-male"]],k:[[/^(k){2}$/,Ri,"kkkk"]],l:[[/.[gl]ial$/,Li,"familial"],[/.[^aeiou]ful$/,Li,"fitful"],[/.[nrtumcd]al$/,Li,"natal"],[/.[^aeiou][ei]al$/,Li,"familial"]],m:[[/.[^aeiou]ium$/,Ui,"magnesium"],[/[^aeiou]ism$/,Ui,"schism"],[/^[hu]m+$/,Ri,"hmm"],[/^\d+ ?[ap]m$/,"Date","3am"]],n:[[/.[lsrnpb]ian$/,Li,"republican"],[/[^aeiou]ician$/,Zi,"musician"],[/[aeiou][ktrp]in'$/,"Gerund","cookin'"]],o:[[/^no+$/,Ri,"noooo"],[/^(yo)+$/,Ri,"yoo"],[/^wo{2,}[pt]?$/,Ri,"woop"]],r:[[/.[bdfklmst]ler$/,"Noun"],[/[aeiou][pns]er$/,Ui],[/[^i]fer$/,Ji],[/.[^aeiou][ao]pher$/,Zi],[/.[lk]er$/,"Noun"],[/.ier$/,"Comparative"]],t:[[/.[di]est$/,"Superlative"],[/.[icldtgrv]ent$/,Li],[/[aeiou].*ist$/,Li],[/^[a-z]et$/,Xi]],s:[[/.[^aeiou]ises$/,Wi],[/.[rln]ates$/,Wi],[/.[^z]ens$/,Xi],[/.[lstrn]us$/,Ui],[/.[aeiou]sks$/,Wi],[/.[aeiou]kes$/,Wi],[/[aeiou][^aeiou]is$/,Ui],[/[a-z]'s$/,_i],[/^yes+$/,Ri]],v:[[/.[^aeiou][ai][kln]ov$/,Yi]],y:[[/.[cts]hy$/,Li],[/.[st]ty$/,Li],[/.[tnl]ary$/,Li],[/.[oe]ry$/,Ui],[/[rdntkbhs]ly$/,Qi],[/.(gg|bb|zz)ly$/,Li],[/...lly$/,Qi],[/.[gk]y$/,Li],[/[bszmp]{2}y$/,Li],[/.[ai]my$/,Li],[/[ea]{2}zy$/,Li],[/.[^aeiou]ity$/,Ui]]};const ts="Verb",ns="Noun";var as={leftTags:[["Adjective",ns],["Possessive",ns],["Determiner",ns],["Adverb",ts],["Pronoun",ts],["Value",ns],["Ordinal",ns],["Modal",ts],["Superlative",ns],["Demonym",ns],["Honorific","Person"]],leftWords:[["i",ts],["first",ns],["it",ts],["there",ts],["not",ts],["because",ns],["if",ns],["but",ns],["who",ts],["this",ns],["his",ns],["when",ns],["you",ts],["very","Adjective"],["old",ns],["never",ts],["before",ns],["a",ns],["the",ns],["been",ts]],rightTags:[["Copula",ns],["PastTense",ns],["Conjunction",ns],["Modal",ns]],rightWords:[["there",ts],["me",ts],["man","Adjective"],["him",ts],["it",ts],["were",ns],["took",ns],["himself",ts],["went",ns],["who",ns],["jr","Person"]]},rs={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"},os={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"},is={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"},ss={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"},ls={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"},us={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"},cs=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 ds=function(e){return Object.entries(e).reduce(((e,t)=>(e[t[1]]=t[0],e)),{})};var hs=function(e={}){return{reversed:!0,both:ds(e.both),ex:ds(e.ex),fwd:e.rev||{}}};const gs=/^([0-9]+)/,ms=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(gs);if(null===n)return t;let a=Number(n[1])||0;return e.substring(0,a)+t.replace(gs,"")}(n,t[n]),e)),{})};var ps=function(e={}){return"string"==typeof e&&(e=JSON.parse(e)),e.fwd=ms(e.fwd||""),e.both=ms(e.both||""),e.rev=ms(e.rev||""),e.ex=ms(e.ex||""),e};const fs=ps({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"}),bs=ps(ss),vs=ps(os),ys=ps(is),ws=hs(fs),ks=hs(bs),Ps=hs(vs),As=hs(ys),Cs=ps(rs),js=ps(ls);var Is={fromPast:fs,fromPresent:bs,fromGerund:vs,fromParticiple:ys,toPast:ws,toPresent:ks,toGerund:Ps,toParticiple:As,toComparative:Cs,toSuperlative:js,fromComparative:hs(Cs),fromSuperlative:hs(js),adjToNoun:ps(us)},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)),{}),Ds=["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)),{}),Hs=[[/([^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,""]],Gs=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(xs[t].forEach((n=>e[n]=t)),e)),{});var Es=xs,Fs=function(e){let t=e.substring(e.length-3);if(!0===Es.hasOwnProperty(t))return Es[t];let n=e.substring(e.length-2);return!0===Es.hasOwnProperty(n)?Es[n]:"s"===e.substring(e.length-1)?"PresentTense":null};const Os={are:"be",were:"be",been:"be",is:"be",am:"be",was:"be",be:"be",being:"be"};var zs=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=Fs(e)),Os.hasOwnProperty(e))c=Os[e];else if("Participle"===n)c=cs(l,i);else if("PastTense"===n)c=cs(l,a);else if("PresentTense"===n)c=cs(l,r);else{if("Gerund"!==n)return e;c=cs(l,o)}return u&&(c+=" "+u),s&&(c=s+" "+c),c},Vs=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:cs(i,n),PresentTense:cs(i,a),Gerund:cs(i,r),FutureTense:"will "+i},u=cs(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},Bs={toInfinitive:zs,conjugate:Vs,all:function(e,t){let n=Vs(e,t);return delete n.FutureTense,Object.values(n).filter((e=>e))}};const Ss=function(e,t){const n=t.two.models.toSuperlative;return cs(e,n)},Ks=function(e,t){const n=t.two.models.toComparative;return cs(e,n)};var $s=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",Ls=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]),Js=[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"}],Ws=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"]),Us={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"},{},{},{}],Qs={cool:"cooly",whole:"wholly",full:"fully",good:"well",idle:"idly",public:"publicly",single:"singly",special:"especially"};var Rs=function(e){if(Qs.hasOwnProperty(e))return Qs[e];let t=$s(e,qs);return t||(t=e+"ly"),t},Zs={toSuperlative:Ss,toComparative:Ks,toAdverb:Rs,toNoun:function(e,t){const n=t.two.models.adjToNoun;return cs(e,n)},fromAdverb:function(e){return e.endsWith("ly")?Ls.has(e)?e.replace(/ically/,"ical"):Ws.has(e)?null:Us.hasOwnProperty(e)?Us[e]:$s(e,Js)||e:null},fromSuperlative:function(e,t){const n=t.two.models.fromSuperlative;return cs(e,n)},fromComparative:function(e,t){const n=t.two.models.fromComparative;return cs(e,n)},all:function(e,t){let n=[e];return n.push(Ss(e,t)),n.push(Ks(e,t)),n.push(Rs(e)),n=n.filter((e=>e)),n=new Set(n),Array.from(n)}},Xs={noun:Ts,verb:Bs,adjective:Zs},_s={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]]||"FutureTense"===e[0]||(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]]=2;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"]}},Ys=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&&(void 0===o[s[0]]||s.length>o[s[0]])&&(o[s[0]]=s.length),!0===_s.hasOwnProperty(i)&&_s[i](t,r,n,a),r[t]=r[t]||i})),delete r[""],delete r.null,delete r[" "],{lex:r,_multi:o}},el=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&&!al.find((t=>e.endsWith(t)))},ol={two:{quickSplit:el,expandLexicon:Ys,transform:Xs,looksPlural:rl}},il=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 sl={one:{lexicon:{}},two:{models:Is}};const ll={"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"},ul=function(e,t){const n={model:t,methods:ol};let{lex:a,_multi:r}=ol.two.expandLexicon(e,n);return Object.assign(t.one.lexicon,a),Object.assign(t.one._multiCache,r),t},cl=function(e,t,n){let a=Vs(e,sl);t[a.PastTense]=t[a.PastTense]||"PastTense",t[a.Gerund]=t[a.Gerund]||"Gerund",!0===n&&(t[a.PresentTense]=t[a.PresentTense]||"PresentTense")},dl=function(e,t,n){let a=Ss(e,n);t[a]=t[a]||"Superlative";let r=Ks(e,n);t[r]=t[r]||"Comparative"},hl=function(e,t){let n={};const a=t.one.lexicon;return Object.keys(e).forEach((r=>{const o=e[r];if(n[r]=ll[o],"Noun|Verb"!==o&&"Person|Verb"!==o&&"Actor|Verb"!==o||cl(r,a,!1),"Adj|Present"===o&&(cl(r,a,!0),dl(r,a,t)),"Person|Adj"===o&&dl(r,a,t),"Adj|Gerund"===o||"Noun|Gerund"===o){let e=zs(r,sl,"Gerund");a[e]||(n[e]="Infinitive")}if("Noun|Gerund"!==o&&"Adj|Noun"!==o&&"Person|Noun"!==o||function(e,t,n){let a=Vo(e,n);t[a]=t[a]||"Plural"}(r,a,t),"Adj|Past"===o){let e=zs(r,sl,"PastTense");a[e]||(n[e]="Infinitive")}})),t=ul(n,t)};var gl=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=ul(e.one.lexicon,e)).one.lexicon,e),e=hl(e.two.switches,e),e=il(e)};let ml={one:{_multiCache:{},lexicon:So,frozenLex:{"20th century fox":"Organization","7 eleven":"Organization","motel 6":"Organization","excuse me":"Expression","financial times":"Organization","guns n roses":"Organization","la z boy":"Organization","labour party":"Organization","new kids on the block":"Organization","new york times":"Organization","the guess who":"Organization","thin lizzy":"Organization","prime minister":"Actor","free market":"Singular","lay up":"Singular","living room":"Singular","spin off":"Singular","appeal court":"Uncountable","cold war":"Uncountable","gene pool":"Uncountable","machine learning":"Uncountable","nail polish":"Uncountable","time off":"Uncountable","take part":"Infinitive","bill gates":"Person","doctor who":"Person","he man":"Person","iron man":"Person","kid cudi":"Person","run dmc":"Person","rush limbaugh":"Person","snow white":"Person","tiger woods":"Person","brand new":"Adjective","en route":"Adjective","left wing":"Adjective","off guard":"Adjective","on board":"Adjective","part time":"Adjective","right wing":"Adjective","so called":"Adjective","spot on":"Adjective","straight forward":"Adjective","super duper":"Adjective","tip top":"Adjective","top notch":"Adjective","up to date":"Adjective","win win":"Adjective","brooklyn nets":"SportsTeam","chicago bears":"SportsTeam","houston astros":"SportsTeam","houston dynamo":"SportsTeam","houston rockets":"SportsTeam","houston texans":"SportsTeam","minnesota twins":"SportsTeam","orlando magic":"SportsTeam","san antonio spurs":"SportsTeam","san diego chargers":"SportsTeam","san diego padres":"SportsTeam","iron maiden":"ProperNoun","isle of man":"Country","united states":"Country","united states of america":"Country","prince edward island":"Region","cedar breaks":"Place","cedar falls":"Place","point blank":"Adverb","tiny bit":"Adverb","by the time":"Conjunction","no matter":"Conjunction","civil wars":"Plural","credit cards":"Plural","default rates":"Plural","free markets":"Plural","head starts":"Plural","home runs":"Plural","lay ups":"Plural","phone calls":"Plural","press releases":"Plural","record labels":"Plural","soft serves":"Plural","student loans":"Plural","tax returns":"Plural","tv shows":"Plural","video games":"Plural","took part":"PastTense","takes part":"PresentTense","taking part":"Gerund","taken part":"Participle"}},two:{irregularPlurals:Co,models:Is,suffixPatterns:Bi,prefixPatterns:Mi,endsWith:es,neighbours:as,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'[a-z]{3}/,"LastName","mc'neil"],[/^o'[a-z]{3}/,"LastName","o'connor"],[/^ma?cd[aeiou][a-z]{3}/,"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:Ko,clues:Ai,uncountable:{},orgWords:Ns,placeWords:Ds}};ml=gl(ml);var pl=ml,fl=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''")}}},bl=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 vl=/^(under|over|mis|re|un|dis|semi)-?/;var yl=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(vl.test(r.normal)){let e=r.normal.replace(vl,"");e.length>3&&a.hasOwnProperty(e)&&(r.switch=a[e])}},wl=function(e,t,n){if(!t||0===t.length)return;if(!0===e.frozen)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 kl=["Acronym","Abbreviation","ProperNoun","Uncountable","Possessive","Pronoun","Activity","Honorific","Month"];var Pl=function(e,t,n){let a=e[t],r=Array.from(a.tags);for(let e=0;ee.tags.has(t)))||(rl(e.normal)?wl(e,"Plural","3-plural-guess"):wl(e,"Singular","3-singular-guess"))}(a),function(e){let t=e.tags;if(t.has("Verb")&&1===t.size){let t=Fs(e.normal);t&&wl(e,t,"3-verb-tense-guess")}}(a)};const Al=/^\p{Lu}[\p{Ll}'’]/u,Cl=/[0-9]/,jl=["Date","Month","WeekDay","Unit","Expression"],Il=/[IVX]/,Nl=/^[IVXLCDM]{2,}$/,Dl=/^M{0,4}(CM|CD|D?C{0,3})(XC|XL|L?X{0,3})(IX|IV|V?I{0,3})$/,Hl={li:!0,dc:!0,md:!0,dm:!0,ml:!0};var Gl=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===Al.test(o)&&!1===Cl.test(o)?jl.find((e=>a.tags.has(e)))||a.pre.match(/["']$/)||"the"===a.normal?null:(Pl(e,t,n),a.tags.has("Noun")||a.frozen||a.tags.clear(),wl(a,"ProperNoun","2-titlecase"),!0):o.length>=2&&Nl.test(o)&&Il.test(o)&&Dl.test(o)&&!Hl[a.normal]?(wl(a,"RomanNumeral","2-xvii"),!0):null};const Tl=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 xl=function(e,t,n){let a=e[t];if(0===a.tags.size){let e=Tl(a.normal,n.two.suffixPatterns);if(null!==e)return wl(a,e,"2-suffix"),a.confidence=.7,!0;if(a.implicit&&(e=Tl(a.implicit,n.two.suffixPatterns),null!==e))return wl(a,e,"2-implicit-suffix"),a.confidence=.7,!0}return null};const El=/['‘’‛‵′`´]/,Fl=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 wl(a,e,"2-prefix"),a.confidence=.5,!0}return null};const Vl=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"]),Bl=function(e){if(!e)return!1;let t=e.normal||e.implicit;return!!Vl.has(t)||!!(e.tags.has("Date")||e.tags.has("Month")||e.tags.has("WeekDay")||e.tags.has("Year"))||!!e.tags.has("ProperNoun")},Sl=function(e){return!(!e||!e.tags.has("Ordinal")&&!(e.tags.has("Cardinal")&&e.normal.length<3)&&"is"!==e.normal&&"was"!==e.normal)},Kl=function(e){return e&&(e.tags.has("Date")||e.tags.has("Month")||e.tags.has("WeekDay")||e.tags.has("Year"))};var $l=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(Bl(r)||Bl(o))return wl(n,"Year","2-tagYear");if(a>=1920&&a<2025){if(Sl(r)||Sl(o))return wl(n,"Year","2-tagYear-close");if(Kl(e[t-2])||Kl(e[t+2]))return wl(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 wl(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 Ll=/^[A-Z]('s|,)?$/,Jl=/^[A-Z-]+$/,Wl=/^[A-Z]+s$/,Ul=/([A-Z]\.)+[A-Z]?,?$/,ql=/[A-Z]{2,}('s|,)?$/,Ql=/([a-z]\.)+[a-z]\.?$/,Rl={I:!0,A:!0},Zl={la:!0,ny:!0,us:!0,dc:!0,gb:!0};var Xl=function(e,t,n){let a=e[t];return a.tags.has("RomanNumeral")||a.tags.has("Acronym")||a.frozen?null:function(e,t){let n=e.text;if(!1===Jl.test(n)){if(!(n.length>3&&!0===Wl.test(n)))return!1;n=n.replace(/s$/,"")}return!(n.length>5||Rl.hasOwnProperty(n)||t.one.lexicon.hasOwnProperty(e.normal)||!0!==Ul.test(n)&&!0!==Ql.test(n)&&!0!==Ll.test(n)&&!0!==ql.test(n))}(a,n)?(a.tags.clear(),wl(a,["Acronym","Noun"],"3-no-period-acronym"),!0===Zl[a.normal]&&wl(a,"Place","3-place-acronym"),!0===Wl.test(a.text)&&wl(a,"Plural","3-plural-acronym"),!0):!Rl.hasOwnProperty(a.text)&&Ll.test(a.text)?(a.tags.clear(),wl(a,["Acronym","Noun"],"3-one-letter-acronym"),!0):a.tags.has("Organization")&&a.text.length<=3?(wl(a,"Acronym","3-org-acronym"),!0):a.tags.has("Organization")&&Jl.test(a.text)&&a.text.length<=6?(wl(a,"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},Yl=function(e,t){if(!e)return null;let n=t.find((t=>e.tags.has(t[0])));return n?n[1]:null};var eu=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||_l(e[t-1],r),l=l||_l(e[t+1],o),l=l||Yl(e[t-1],a),l=l||Yl(e[t+1],i),l)return wl(s,l,"3-[neighbour]"),Pl(e,t,n),e[t].confidence=.2,!0}return null};const tu=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 nu=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]&&tu(e[t-1],t-1,a)){o([e[t]],"Organization",n,null,"3-[org-word]");for(let r=t;r>=0&&tu(e[r],r,a);r-=1)o([e[r]],"Organization",n,null,"3-[org-word]")}return null};const au=/'s$/,ru=new Set(["athletic","city","community","eastern","federal","financial","great","historic","historical","local","memorial","municipal","national","northern","provincial","southern","state","western"]),ou=new Set(["center","centre","way","range","bar","bridge","field","pit"]),iu=function(e,t,n){if(!e)return!1;let a=e.tags;return!(a.has("Organization")||a.has("Possessive")||au.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 su=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(!ru.has(e[r].normal)){if(!iu(e[r],r,a))break;o(e.slice(r,t+1),"Place",n,null,"3-[place-of-foo]")}if(ou.has(s))return!1;for(let r=t+1;re[t].tags.has("ProperNoun")&&uu.test(e[t].text)?"Noun":null,du=(e,t,n)=>0!==t||e[1]?null:n,hu={"Adj|Gerund":(e,t)=>cu(e,t),"Adj|Noun":(e,t)=>cu(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)=>cu(e,t),"Adj|Past":(e,t)=>cu(e,t),"Adj|Present":(e,t)=>cu(e,t),"Noun|Gerund":(e,t)=>cu(e,t),"Noun|Verb":(e,t)=>t>0&&cu(e,t)||du(e,t,"Infinitive"),"Plural|Verb":(e,t)=>cu(e,t)||du(e,t,"PresentTense")||function(e,t,n){return 0===t&&e.length>3?n:null}(e,t,"Plural"),"Person|Noun":(e,t)=>cu(e,t),"Person|Verb":(e,t)=>0!==t?cu(e,t):null,"Person|Adj":(e,t)=>0===t&&e.length>1||cu(e,t)?"Person":null};var gu=hu;const mu="undefined"!=typeof process&&process.env?process.env:self.env||{},pu=/^(under|over|mis|re|un|dis|semi)-?/,fu=(e,t)=>{if(!e||!t)return null;let n=e.normal||e.implicit,a=null;return t.hasOwnProperty(n)&&(a=t[n]),a&&mu.DEBUG_TAGS&&console.log(`\n  ↓ - '${n}' `),a},bu=(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&&mu.DEBUG_TAGS&&console.log(`  ↓ - '${e.normal||e.implicit}' (#${r}) `),r=t[r],r};var vu=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(pu.test(l)&&!o[l]&&(l=l.replace(pu,"")),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=fu(e[t+1],n.afterWords);return o=o||fu(e[t-1],n.beforeWords),o=o||bu(e[t-1],n.beforeTags,r),o=o||bu(e[t+1],n.afterTags,r),o}(e,t,i[o],a);gu[o]&&(u=gu[o](e,t)||u),u?(r([s],u,n,null,`3-[switch] (${o})`),Pl(e,t,a)):mu.DEBUG_TAGS&&console.log(`\n -> X - '${l}' : (${o}) `)}};const yu={there:!0,this:!0,it:!0,him:!0,her:!0,us:!0};var wu=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&&!yu[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 ku=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)))},Pu=function(e,t,n,a){for(let r=0;r{fl(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 Iu=function(e){const t=e.world,n=Object.keys(ju);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=Bu.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=Vu},Ku=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 $u=/'/;var Mu=function(e,t){let n=e[t].normal.split($u)[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 Lu=/'/;var Ju=function(e,t){let n=e[t].normal.split(Lu)[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"]},Wu=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 Uu={that:!0,there:!0,let:!0,here:!0,everywhere:!0},qu={in:!0,by:!0,for:!0};var Qu=(e,t)=>{let n=e[t];if(Uu.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===qu[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 Ru=/'/,Zu=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)},Xu={d:(e,t)=>Ju(e,t),t:(e,t)=>Wu(e,t),s:(e,t,n)=>Qu(e,t)?n.methods.one.setTag([e[t]],"Possessive",n,null,"2-contraction"):Mu(e,t)},_u=function(e,t){let n=t.fromText(e.join(" "));return n.compute("id"),n.docs[0]};var Yu={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===Ru.test(a[o].normal)&&(i=a[o].normal.split(Ru)[1]);let s=null;Xu.hasOwnProperty(i)&&(s=Xu[i](a,o,t)),s&&(s=_u(s,e),Ku(n,[r,o],s),Zu(n[r],e,o,s.length))}}))}},ec={compute:Yu,api:Su,hooks:["contractionTwo"]};const tc="(hard|fast|late|early|high|right|deep|close|direct)",nc="(i|we|they)";let ac=[].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 ${tc}`,tag:"#PresentTense #Adverb",reason:"studies-hard"},{match:`#Verb [${tc}] !#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:nc,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:nc,group:0,tag:"Imperative",reason:"do-it-better"},{match:"^[#Infinitive] it (please|now|again|plz)",notIf:nc,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:"#Determiner #Noun+ [who] #Verb",group:0,tag:"Preposition",reason:"the-x-who"},{match:"#Determiner #Noun+ [which] #Verb",group:0,tag:"Preposition",reason:"the-x-which"},{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:"#Place+ #SportsTeam",tag:"SportsTeam",reason:"place-sportsteam"},{match:"(dc|atlanta|minnesota|manchester|newcastle|sheffield) united",tag:"SportsTeam",reason:"united-sportsteam"},{match:"#Place+ fc",tag:"SportsTeam",reason:"fc-sportsteam"}],[{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"}]),rc=null;var oc={postTagger:function(e){const{world:t}=e,{model:n,methods:a}=t;rc=rc||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(rc),e.uncache(),e.unfreeze(),e},tagger:e=>e.compute(["lexicon","preTagger","postTagger"])};const ic={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:oc,model:{two:{matches:ac}},hooks:["postTagger"]};var sc=ic,lc=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)))))},uc=function(e,t){let n=t;"string"==typeof t&&(n=this.buildNet([{match:t}]));let a=this.tokenize(e),r=lc(a,n);return r.found?(r.compute(["index","tagger"]),r.match(t)):a.none()},cc={lib:{lazy:uc}},dc=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},hc=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")?dc(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},gc={api:function(e){e.prototype.swap=hc}};return b.plugin(Fu),b.plugin(ec),b.plugin(sc),b.plugin(cc),b.plugin(gc),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 2b76f9731..2e361dbdf 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.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}; +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.11.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},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,"")}},I=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 N=0;const D=e=>(e=e.length<3?"0"+e:e).length<3?"0"+e:e;var H=function(e){let[t,n]=e.index||[0,0];N+=1,N=N>46655?0:N,t=t>46655?0:t,n=n>1294?0:n;let a=D(N.toString(36));a+=D(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=H(e),e)))}(h),n?(G(t.update([u]).firstTerm()),I(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 B=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=B(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 K=S;const $={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}};$.deHyphenate=$.dehyphenate,$.toQuotation=$.toQuotations;var M=$;var L={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 J=new Set(["index","sequence","seq","sequential","chron","chronological"]),W=new Set(["freq","frequency","topk","repeats"]),U=new Set(["alpha","alphabetical"]);var q={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 J.has(e)&&(e="sequential"),U.has(e)&&(e="alpha"),W.has(e)?(r=L.byFreq(r),this.update(r.map((e=>e.pointer)))):"function"==typeof L[e]?(r=r.sort(L[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 Z={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}},F,V,K,M,q,R,Z);var _=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=[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=/'/,de=/(e|é|aison|sion|tion)$/,he=/(age|isme|acle|ege|oire)$/;var ge=(e,t)=>["je",e[t].normal.split(ce)[1]],me=(e,t)=>{let n=e[t].normal.split(ce)[1];return n&&n.endsWith("e")?["la",n]:["le",n]},pe=(e,t)=>{let n=e[t].normal.split(ce)[1];return n&&de.test(n)&&!he.test(n)?["du",n]:n&&n.endsWith("s")?["des",n]:["de",n]};const fe=/^([0-9.]{1,4}[a-z]{0,2}) ?[-–—] ?([0-9]{1,4}[a-z]{0,2})$/i,be=/^([0-9]{1,2}(:[0-9][0-9])?(am|pm)?) ?[-–—] ?([0-9]{1,2}(:[0-9][0-9])?(am|pm)?)$/i,ve=/^[0-9]{3}-[0-9]{4}$/;var ye=function(e,t){let n=e[t],a=n.text.match(fe);return null!==a?!0===n.tags.has("PhoneNumber")||ve.test(n.text)?null:[a[1],"to",a[2]]:(a=n.text.match(be),null!==a?[a[1],"to",a[4]]:null)};const we=/^([+-]?[0-9][.,0-9]*)([a-z°²³µ/]+)$/;var ke=function(e,t,n){const a=n.model.one.numberSuffixes||{};let r=e[t].text.match(we);if(null!==r){let e=r[2].toLowerCase().trim();return a.hasOwnProperty(e)?null:[r[1],e]}return null};const Pe=/'/,Ae=/^[0-9][^-–—]*[-–—].*?[0-9]/,Ce=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]]},je={t:(e,t)=>ue(e,t),d:(e,t)=>le(e,t)},Ie={j:(e,t)=>ge(e,t),l:(e,t)=>me(e,t),d:(e,t)=>pe(e,t)},Ne=function(e,t,n,a){for(let r=0;r2)return o.out.concat(a)}return null},De=function(e,t){let n=t.fromText(e.join(" "));return n.compute(["id","alias"]),n.docs[0]},He=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 Ge=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;if(!0===Pe.test(a[s].normal)){let e=a[s].normal.split(Pe);l=e[0],u=e[1]}let c=Ne(o,a[s],l,u);!c&&je.hasOwnProperty(u)&&(c=je[u](a,s,t)),!c&&Ie.hasOwnProperty(l)&&(c=Ie[l](a,s)),"there"===l&&"s"===u&&(c=He(a,s)),c?(c=De(c,e),ae(n,[i,s],c),Ce(n[i],e,s,c.length)):Ae.test(a[s].normal)?(c=ye(a,s),c&&(c=De(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"),Ce(n[i],e,s,c.length))):(c=ke(a,s,t),c&&(c=De(c,e),ae(n,[i,s],c),r.one.setTag([c[1]],"Unit",t,null,"contraction-unit")))}}))};var Te={model:ne,compute:{contractions:Ge},hooks:["contractions"]};var xe=function(e,t,n){const{model:a,methods:r}=n,o=r.one.setTag,i=a.one._multiCache||{},{lexicon:s,frozenLex:l}=a.one||{};let u=e[t],c=u.machine||u.normal;if(void 0!==i[c]&&e[t+1]){for(let a=t+i[c]-1;a>t;a-=1){let r=e.slice(t,a+1);if(r.length<=1)return!1;let i=r.map((e=>e.machine||e.normal)).join(" ");if(!0===l.hasOwnProperty(i))return o(r,l[i],n,!1,"1-frozen-multi-lexicon"),r.forEach((e=>e.frozen=!0)),!0;if(!0===s.hasOwnProperty(i)){let e=s[i];return o(r,e,n,!1,"1-multi-lexicon"),!e||2!==e.length||"PhrasalVerb"!==e[0]&&"PhrasalVerb"!==e[1]||o([r[1]],"Particle",n,!1,"1-phrasal-particle"),!0}}return!1}return null};const Ee=/^(under|over|mis|re|un|dis|semi|pre|post)-?/,Fe=new Set(["Verb","Infinitive","PastTense","Gerund","PresentTense","Adjective","Participle"]);var Oe=function(e,t,n){const{model:a,methods:r}=n,o=r.one.setTag,{lexicon:i,frozenLex:s}=a.one;let l=e[t],u=l.machine||l.normal;if(void 0!==s[u]&&s.hasOwnProperty(u))return o([l],s[u],n,!1,"1-freeze-lexicon"),l.frozen=!0,!0;if(void 0!==i[u]&&i.hasOwnProperty(u))return o([l],i[u],n,!1,"1-lexicon"),!0;if(l.alias){let e=l.alias.find((e=>i.hasOwnProperty(e)));if(e)return o([l],i[e],n,!1,"1-lexicon-alias"),!0}if(!0===Ee.test(u)){let e=u.replace(Ee,"");if(i.hasOwnProperty(e)&&e.length>3&&Fe.has(i[e]))return o([l],i[e],n,!1,"1-lexicon-prefix"),!0}return null};var ze={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&&(void 0===n[o[0]]||o.length>n[o[0]])&&(n[o[0]]=o.length),t[a]=t[a]||r})),delete t[""],delete t.null,delete t[" "],{lex:t,_multi:n}};var Be={addWords:function(e,t=!1){const n=this.world(),{methods:a,model:r}=n;if(!e)return;if(Object.keys(e).forEach((t=>{"string"==typeof e[t]&&e[t].startsWith("#")&&(e[t]=e[t].replace(/^#/,""))})),!0===t){let{lex:t,_multi:o}=a.one.expandLexicon(e,n);return Object.assign(r.one._multiCache,o),void Object.assign(r.one.frozenLex,t)}if(a.two.expandLexicon){let{lex:t,_multi:o}=a.two.expandLexicon(e,n);Object.assign(r.one.lexicon,t),Object.assign(r.one._multiCache,o)}let{lex:o,_multi:i}=a.one.expandLexicon(e,n);Object.assign(r.one.lexicon,o),Object.assign(r.one._multiCache,i)}};var Se={model:{one:{lexicon:{},_multiCache:{},frozenLex:{}}},methods:{one:{expandLexicon:Ve}},compute:ze,lib:Be,hooks:["lexicon"]};var Ke=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 $e=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 We=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 Ue={buildTrie:function(e){const t=Ke(e,this.world());return We(t)}};Ue.compile=Ue.buildTrie;var qe={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:Ke(e,this.world));var a;let r=Le(this,n,t);return r=r.settle(),r}},lib:Ue};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},Re=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}},Ze=e=>"[object Object]"===Object.prototype.toString.call(e),Xe=e=>e&&Ze(e)&&!0===e.isView,_e=e=>e&&Ze(e)&&!0===e.isNet,Ye=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 et={matchOne:function(e,t,n){const a=this.methods.one;if(Xe(e))return this.intersection(e).eq(0);if(_e(e))return this.sweep(e,{tagger:!1,matchOne:!0}).view;let r={regs:e=Ye(e,n,this.world),group:t,justOne:!0},o=a.match(this.docs,r,this._cache),{ptrs:i,byGroup:s}=Re(o,this.fullPointer),l=this.toView(i);return l._groups=s,l},match:function(e,t,n){const a=this.methods.one;if(Xe(e))return this.intersection(e);if(_e(e))return this.sweep(e,{tagger:!1}).view.settle();let r={regs:e=Ye(e,n,this.world),group:t},o=a.match(this.docs,r,this._cache),{ptrs:i,byGroup:s}=Re(o,this.fullPointer),l=this.toView(i);return l._groups=s,l},has:function(e,t,n){const a=this.methods.one;if(Xe(e)){return e.fullPointer.length>0}if(_e(e))return this.sweep(e,{tagger:!1}).view.found;let r={regs:e=Ye(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(Xe(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 r={regs:e=Ye(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(Xe(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=Ye(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 tt={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 nt=function(e,t){return[e[0],e[1],t[2]]},at=(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},rt=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},ot={splitOn:function(e,t){const{splitAll:n}=this.methods.one.pointer;let a=at(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=>rt(e,this))),this.update(o)},splitBefore:function(e,t){const{splitAll:n}=this.methods.one.pointer;let a=at(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(nt(e.match,e.after)):o.push(e.match)})),o=o.filter((e=>e)),o=o.map((e=>rt(e,this))),this.update(o)},splitAfter:function(e,t){const{splitAll:n}=this.methods.one.pointer;let a=at(e,this,t).fullPointer,r=n(this.fullPointer,a),o=[];return r.forEach((e=>{o.push(e.passthrough),e.before&&e.match?o.push(nt(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=>rt(e,this))),this.update(o)}};ot.split=ot.splitAfter;var it=ot;const st=Object.assign({},et,tt,it);st.lookBehind=st.before,st.lookBefore=st.before,st.lookAhead=st.after,st.lookAfter=st.after,st.notIf=st.ifNo;var lt=function(e){Object.assign(e.prototype,st)};const ut=/(?:^|\s)([![^]*(?:<[^<]*>)?\/.*?[^\\/]\/[?\]+*$~]*)(?:\s|$)/,ct=/([!~[^]*(?:<[^<]*>)?\([^)]+[^\\)]\)[?\]+*$~]*)(?:\s|$)/,dt=/ /g,ht=e=>/^[![^]*(<[^<]*>)?\//.test(e)&&/\/[?\]+*$~]*$/.test(e),gt=function(e){return e=(e=e.map((e=>e.trim()))).filter((e=>e))};var mt=function(e){let t=e.split(ut),n=[];t.forEach((e=>{ht(e)?n.push(e):n=n.concat(e.split(ct))})),n=gt(n);let a=[];return n.forEach((e=>{(e=>/^[![^]*(<[^<]*>)?\(/.test(e)&&/\)[?\]+*$~]*$/.test(e))(e)||ht(e)?a.push(e):a=a.concat(e.split(dt))})),a=gt(a),a};const pt=/\{([0-9]+)?(, *[0-9]*)?\}/,ft=/&&/,bt=new RegExp(/^<\s*(\S+)\s*>/),vt=e=>e.charAt(0).toUpperCase()+e.substring(1),yt=e=>e.charAt(e.length-1),wt=e=>e.charAt(0),kt=e=>e.substring(1),Pt=e=>e.substring(0,e.length-1),At=function(e){return e=kt(e),e=Pt(e)},Ct=function(e,t){let n={};for(let a=0;a<2;a+=1){if("$"===yt(e)&&(n.end=!0,e=Pt(e)),"^"===wt(e)&&(n.start=!0,e=kt(e)),"?"===yt(e)&&(n.optional=!0,e=Pt(e)),("["===wt(e)||"]"===yt(e))&&(n.group=null,"["===wt(e)&&(n.groupStart=!0),"]"===yt(e)&&(n.groupEnd=!0),e=(e=e.replace(/^\[/,"")).replace(/\]$/,""),"<"===wt(e))){const t=bt.exec(e);t.length>=2&&(n.group=t[1],e=e.replace(t[0],""))}if("+"===yt(e)&&(n.greedy=!0,e=Pt(e)),"*"!==e&&"*"===yt(e)&&"\\*"!==e&&(n.greedy=!0,e=Pt(e)),"!"===wt(e)&&(n.negative=!0,e=kt(e)),"~"===wt(e)&&"~"===yt(e)&&e.length>2&&(e=At(e),n.fuzzy=!0,n.min=t.fuzzy||.85,!1===/\(/.test(e)))return n.word=e,n;if("/"===wt(e)&&"/"===yt(e))return e=At(e),t.caseSensitive&&(n.use="text"),n.regex=new RegExp(e),n;if(!0===pt.test(e)&&(e=e.replace(pt,((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),"")))),"("===wt(e)&&")"===yt(e)){ft.test(e)?(n.choices=e.split(ft),n.operator="and"):(n.choices=e.split("|"),n.operator="or"),n.choices[0]=kt(n.choices[0]);let a=n.choices.length-1;n.choices[a]=Pt(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=>Ct(e,t))))),e=""}if("{"===wt(e)&&"}"===yt(e)){if(e=At(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("<"===wt(e)&&">"===yt(e))return e=At(e),n.chunk=vt(e),n.greedy=!0,n;if("%"===wt(e)&&"%"===yt(e))return e=At(e),n.switch=e,n}return"#"===wt(e)?(n.tag=kt(e),n.tag=vt(n.tag),n):"@"===wt(e)?(n.method=kt(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 jt=Ct;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 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 Dt=function(e,t){let{all:n}=t.methods.two.transform.verb||{},a=e.root;return n?n(a,t.model):[]},Ht=function(e,t){let{all:n}=t.methods.two.transform.noun||{};return n?n(e.root,t.model):[e.root]},Gt=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(Dt(e,t)):"Noun"===e.pos?n=n.concat(Ht(e,t)):"Adjective"===e.pos&&(n=n.concat(Gt(e,t))):(n=n.concat(Dt(e,t)),n=n.concat(Ht(e,t)),n=n.concat(Gt(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 xt=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 Et=function(e,t,n){if(null==e||""===e)return[];t=t||{},"number"==typeof e&&(e=String(e));let a=mt(e);return a=a.map((e=>jt(e,t))),a=Nt(a,n),a=Tt(a,n),a=xt(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),Mt=(e,t)=>-1!==e.pre.indexOf(t),Lt={hasQuote:e=>Vt.test(e.pre)||Bt.test(e.post),hasComma:e=>$t(e,","),hasPeriod:e=>!0===$t(e,".")&&!1===$t(e,"..."),hasExclamation:e=>$t(e,"!"),hasQuestionMark:e=>$t(e,"?")||$t(e,"¿"),hasEllipses:e=>$t(e,"..")||$t(e,"…")||Mt(e,"..")||Mt(e,"…"),hasSemicolon:e=>$t(e,";"),hasColon:e=>$t(e,":"),hasSlash:e=>/\//.test(e.text),hasHyphen:e=>St.test(e.post)||St.test(e.pre),hasDash:e=>Kt.test(e.post)||Kt.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)};Lt.hasQuotation=Lt.hasQuote;var Jt=Lt;let Wt=function(){};Wt=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(zt(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=>Wt(e,t,n,a))):t.choices.some((t=>Wt(e,t,n,a))))}(e,t,n,a);return!0===t.negative?!r:r};var Ut=Wt;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){Qt(e,e.t).length=a-e.t}return e.t=a,!0};const Zt=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=Ut(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]&&Ut(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 Yt=function(e,t,n){let a=0;for(let r=e.t;ra)&&(e.t+=a,!0))};var en=function(e){const{regs:t}=e;let n=t[e.r],a=Object.assign({},n);if(a.negative=!1,Ut(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(Ut(e.terms[e.t],n,e.start_i+e.t,e.phrase_length))e.r+=1;else if(n.optional&&t[e.r+2]){Ut(e.terms[e.t],t[e.r+2],e.start_i+e.t,e.phrase_length)&&(e.r+=2)}}}return n.greedy?Yt(e,a,t[e.r+1]):(e.t+=1,!0)};var tn=function(e){const{regs:t}=e;let n=t[e.r],a=e.terms[e.t],r=Ut(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&&Ut(n,t[e.r+1],e.start_i+e.t,e.phrase_length)||(e.r+=1)}};var nn=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 an=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 rn=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]&&tn(e),a.implicit&&e.terms[e.t+1]&&an(e),e.t+=1,!0===n.end&&e.t!==e.terms.length&&!0!==n.greedy)return null;if(!0===n.greedy){if(!nn(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 on=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!==qt(e,r))if(e.negative){if(!en(r))return null}else if(!0!==Ut(r.terms[r.t],e,r.start_i+r.t,r.phrase_length)){if(!0!==e.optional)return null}else{if(!rn(r))return null}else{if(!rn(r))return null}else{if(e.negative&&e.anything)return null;if(!rn(r))return null}else{if(!_t(r))return null}else{if(!Xt(r))return null}else{if(!Rt(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 sn=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 ln=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},cn=function(e,t,n){let a=on(e,t,0,e.length);return a?(a=un(a,n),a):null};var dn=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=cn(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=ln(i,t.notIf,e)),i=sn(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 hn={api:lt,methods:{one:{termMethods:Jt,parseMatch:Et,match:dn}},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 gn=/^\../,mn=/^#./,pn=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,"'"),gn.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 fn={html:function(e){let{starts:t,ends:n}=pn(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(vn,""),wn.test(r)&&(r=" "),r=r.replace(yn,""),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(vn,""),r="-"===r?" ":r.replace(bn,""));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&&kn.test(r)||(r+=" "),a+=n+o+r})),!1===n&&(a=a.trim()),!0===t.lowerCase&&(a=a.toLowerCase()),a},An={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"}};An.clean=An.normal,An.reduced=An.root;var Cn=An;let jn=[],In=0;for(;In<64;)jn[In]=0|4294967296*Math.sin(++In%Math.PI);function Nn(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]+jn[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 Dn={text:!0,terms:!0};let Hn={case:"none",unicode:"some",form:"machine",punctuation:"some"};const Gn=function(e,t){return Object.assign({},e,t)},Tn={text:e=>Pn(e,{keepPunct:!0},!1),normal:e=>Pn(e,Gn(Cn.normal,{keepPunct:!0}),!1),implicit:e=>Pn(e,Gn(Cn.implicit,{keepPunct:!0}),!1),machine:e=>Pn(e,Hn,!1),root:e=>Pn(e,Gn(Hn,{form:"root"}),!1),hash:e=>Nn(Pn(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 xn={json:function(e){let t=(n=this,"string"==typeof(a=(a=e)||{})&&(a={}),(a=Object.assign({},Dn,a)).offset&&n.compute("offset"),n.docs.map(((e,t)=>{let r={};return Object.keys(a).forEach((o=>{a[o]&&Tn[o]&&(r[o]=Tn[o](e,n,t))})),r})));var n,a;return"number"==typeof e?t[e]:t}};xn.data=xn.json;var En=xn;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 zn={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(zn.blue("\n ──────")),t.forEach((t=>{console.log(zn.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=zn.yellow(r);let o="'"+r+"'";if(t.reference){let n=e.update([t.reference]).text("normal");o+=` - ${zn.dim(zn.i("["+n+"]"))}`}o=o.padEnd(18);let i=zn.blue(" │ ")+zn.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 zn[n](e)}))),e.join(", ")}(a,n);console.log(i)}))}))};var Bn=function(e){let{docs:t}=e;console.log(""),t.forEach((e=>{let t=[];e.forEach((e=>{"Noun"===e.chunk?t.push(zn.blue(e.implicit||e.normal)):"Verb"===e.chunk?t.push(zn.green(e.implicit||e.normal)):"Adjective"===e.chunk?t.push(zn.yellow(e.implicit||e.normal)):"Pivot"===e.chunk?t.push(zn.red(e.implicit||e.normal)):t.push(e.implicit||e.normal)})),console.log(t.join(" "),"\n")}))};var Sn=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]}${zn.blue(a[1])}${a[2]}`}(a,e.offset,t)})),console.log(a)}))};var Kn=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&&(Bn(t),console.log("\n")),!0===e.highlight&&(Sn(t),console.log("\n")),t)};const $n=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((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 Mn(this,e)}};var Jn=Ln;var Wn={text:function(e){let t={};var n;if(e&&"string"==typeof e&&Cn.hasOwnProperty(e)?t=Object.assign({},Cn[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},Zn=function(e){let t={};return e.forEach((e=>{t[e[0]]=t[e[0]]||[],t[e[0]].push(e)})),t};var Xn=function(e,t){let n=Zn(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 _n=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 Yn={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=>Rn(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 na=function(e,t){let n=Zn(t),a=[];return e.forEach((e=>{let t=n[e[0]]||[];t=t.filter((t=>Rn(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},ra=function(e,t){return e.map((e=>{let[n,a]=e;return t[n]&&t[n][a]&&(e[3]=t[n][a].id),e}))},oa={union:function(e){e=aa(e,this);let t=ea(this.fullPointer,e.fullPointer);return t=ra(t,this.document),this.toView(t)}};oa.and=oa.union,oa.intersection=function(e){e=aa(e,this);let t=na(this.fullPointer,e.fullPointer);return t=ra(t,this.document),this.toView(t)},oa.not=function(e){e=aa(e,this);let t=ta(this.fullPointer,e.fullPointer);return t=ra(t,this.document),this.toView(t)},oa.difference=oa.not,oa.complement=function(){let e=this.all(),t=ta(e.fullPointer,this.fullPointer);return t=ra(t,this.document),this.toView(t)},oa.settle=function(){let e=this.fullPointer;return e.forEach((t=>{e=ea(e,[t])})),e=ra(e,this.document),this.update(e)};var ia=function(e){Object.assign(e.prototype,oa)},sa={methods:Yn,api:ia};var la=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 ua=function(e){return!0===e.optional||!0===e.negative?null:e.tag?"#"+e.tag:e.word?e.word:e.switch?`%${e.switch}%`:null};var ca=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(ua(e)),"and"===e.operator&&e.choices&&e.choices.forEach((e=>{e.forEach((e=>{t.push(ua(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=ua(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 da=function(e,t){e=ca(e,t);let n={};e.forEach((e=>{e.needs.forEach((t=>{n[t]=Array.isArray(n[t])?n[t]:[],n[t].push(e)})),e.wants.forEach((t=>{n[t]=Array.isArray(n[t])?n[t]:[],n[t].push(e)}))})),Object.keys(n).forEach((e=>{let t={};n[e]=n[e].filter((e=>"boolean"!=typeof 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 ha=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=>"boolean"!=typeof o[e.match]&&(o[e.match]=!0,!0))),r}))};var ga=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 ma=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 pa=function(e,t,n,a={}){let r=n.one.cacheDoc(e),o=ha(r,t.hooks);return o=ga(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),ma(o,e,r,n,a)};var fa=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===fa(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))}))},va={lib:{buildNet:function(e){let t=this.methods().one.buildNet(e,this.world());return t.isNet=!0,t}},api:la,methods:{one:{buildNet:da,bulkMatch:pa,bulkTagger:ba}}};const ya=/ /,wa=function(e,t){"Noun"===t&&(e.chunk=t),"Verb"===t&&(e.chunk=t)},ka=function(e,t,n,a){if(!0===e.tags.has(t))return null;if("."===t)return null;!0===e.frozen&&(a=!0);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(),ya.test(t))!function(e,t,n,a){let r=t.split(ya);e.forEach(((e,t)=>{let o=r[t];o&&(o=o.replace(/^#/,""),ka(e,o,n,a))}))}(e,t,o,a);else{t=t.replace(/^#/,"");for(let n=0;nPa(e,t,n,a)))};var Aa=Pa;var Ca=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=>Ia({id:e}))),t}return[Ia({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},Ga=e=>"[object Array]"===Object.prototype.toString.call(e),Ta=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()||Na.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:Da(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=Ia({});return e.forEach((e=>{if((e=Ia(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):(Ha(t=e).forEach(Ia),t);var t},Ea=function(e,t){let n="-> ";t&&(n=(e=>""+e+"")("→ "));let a="";return Ha(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},Fa=function(e){let t=Ha(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},Oa={text:Ea,txt:Ea,array:Fa,flat:Fa},za=function(e,t){return"nested"===t||"json"===t?e:"debug"===t?(console.log(Ea(e,!0)),null):Oa.hasOwnProperty(t)?Oa[t](e):e},Va=e=>{Ha(e,((e,t)=>{e.id&&(e._cache.parents=e._cache.parents||[],t._cache.parents=e._cache.parents.concat([e.id]))}))},Ba=/\//;let Sa=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=Ta(e),!Ba.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)||Ia({});return new g(t)}add(e,t={}){if(Ga(e))return e.forEach((e=>this.add(Ta(e),t))),this;e=Ta(e);let n=Ia({id:e,props:t});return this.json.children.push(n),new g(n)}remove(e){return e=Ta(e),this.json.children=this.json.children.filter((t=>t.id!==e)),this}nodes(){return Ha(this.json).map((e=>(delete(e=Object.assign({},e)).children,e)))}cache(){return(e=>{let t=Ha(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 Ha(this.json)}fillDown(){var e;return e=this.json,Ha(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 Ga(t[n])?e[n]=t[n].concat(e[n]||[]):void 0===e[n]&&(e[n]=t[n])})),e))(t.props,e.props)})),this}depth(){Va(this.json);let e=Ha(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 Va(this.json),za(this.json,e)}debug(){return Va(this.json),za(this.json,"debug"),this}};const Ka=function(e){let t=xa(e);return new Sa(t)};Ka.prototype.plugin=function(e){e(this)};var $a={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($a.hasOwnProperty(e.id))return $a[e.id];if($a.hasOwnProperty(e.is))return $a[e.is];let t=e._cache.parents.find((e=>$a[e]));return $a[t]};var La=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 Ja=function(e){return e?"string"==typeof e?[e]:e:[]};var Wa=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=Ja(e[t].children),e[t].not=Ja(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 Ua=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=Wa(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 Ka(t).cache().fillDown().out("array")}(Object.assign({},t,e));return La(n)},qa={one:{setTag:Aa,unTag:Ca,addTags:Ua,canBe:ja}};const Qa=function(e){return"[object Array]"===Object.prototype.toString.call(e)},Ra={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||""),Qa(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 Qa(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,n=this.methods.one.canBe,a=[];this.document.forEach(((r,o)=>{r.forEach(((r,i)=>{n(r,e,t)||a.push([o,i,i+1])}))}));let r=this.update(a);return this.difference(r)}};var Za=Ra;var Xa=function(e){Object.assign(e.prototype,Za)};var _a={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 Ya=new Set(["Auxiliary","Possessive"]);var er=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(Ya.has(e)||!t.hasOwnProperty(n))return 1;if(Ya.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)}))}))},tr={model:{one:{tagSet:{}}},compute:{tagRank:er},methods:qa,api:Xa,lib:_a};const nr=/([.!?\u203D\u2E18\u203C\u2047-\u2049\u3002]+\s)/g,ar=/^[.!?\u203D\u2E18\u203C\u2047-\u2049\u3002]+\s$/,rr=/((?:\r?\n|\r)+)/;var or=function(e){let t=[],n=e.split(rr);for(let e=0;e0&&(r.push(o),e[t]="")}return r};const cr={'"':'"',""":""","“":"”","‟":"”","„":"”","⹂":"”","‚":"’","«":"»","‹":"›","‵":"′","‶":"″","‷":"‴","〝":"〞","〟":"〞"},dr=RegExp("["+Object.keys(cr).join("")+"]","g"),hr=RegExp("["+Object.values(cr).join("")+"]","g"),gr=function(e){if(!e)return!1;let t=e.match(hr);return null!==t&&1===t.length};var mr=function(e){let t=[];for(let n=0;n(e[t]=!0,e)),{});var Gr=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(Dr);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=jr(n),n=Ar(n),n=n.filter((e=>e)),n};const Tr=/\p{Letter}/u,xr=/[\p{Number}\p{Currency_Symbol}]/u,Er=/^[a-z]\.([a-z]\.)+/i,Fr=/[sn]['’]$/;var Or=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 zr=(e,t)=>{let{str:n,pre:a,post:r}=Or(e,t);return{text:n,pre:a,post:r,tags:new Set}};var Vr=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 Br=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 Sr=/([A-Z]\.)+[A-Z]?,?$/,Kr=/^[A-Z]\.,?$/,$r=/[A-Z]{2,}('s|,)?$/,Mr=/([a-z]\.)+[a-z]\.?$/;var Lr=function(e){return function(e){return!0===Sr.test(e)||!0===Mr.test(e)||!0===Kr.test(e)||!0===$r.test(e)}(e)&&(e=e.replace(/\./g,"")),e};var Jr=function(e,t){const n=t.methods.one.killUnicode;let a=e.text||"";a=Br(a),a=n(a,t),a=Lr(a),e.normal=a};var Wr=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=>{Jr(e,t)})),n})),e};const Ur=/[ .][A-Z]\.? *$/i,qr=/(?:\u2026|\.{2,}) *$/,Qr=/\p{L}/u,Rr=/\. *$/,Zr=/^[A-Z]\. $/;var Xr={one:{killUnicode:Vr,tokenize:{splitSentences:wr,isSentence:function(e,t){if(!1===Qr.test(e))return!1;if(!0===Ur.test(e))return!1;if(3===e.length&&Zr.test(e))return!1;if(!0===qr.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!==Rr.test(e)},splitTerms:Gr,splitWhitespace:zr,fromString:Wr}}};var _r={"&":"and","@":"at","%":"percent",plz:"please",bein:"being"};let Yr={},eo={};[[["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=>{Yr[t]=!0,eo[t]="Abbreviation",void 0!==e[1]&&(eo[t]=[eo[t],e[1]])}))}));var to=["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 no={"!":"¡","?":"¿Ɂ",'"':'“”"❝❞',"'":"‘‛❛❜’","-":"—–",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:"ŹźŻżŽžƵƶȤȥɀΖ"},ao={};Object.keys(no).forEach((function(e){no[e].split("").forEach((function(t){ao[t]=e}))}));const ro=/\//,oo=/[a-z]\.[a-z]/i,io=/[0-9]/;var so=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])),ro.test(n)&&!oo.test(n)&&!io.test(n)){let t=n.split(ro);t.length<=2&&t.forEach((t=>{""!==(t=t.trim())&&(e.alias=e.alias||[],e.alias.push(t))}))}return e};const lo=/^\p{Letter}+-\p{Letter}+$/u;var uo=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"),lo.test(t)&&(t=t.replace(/-/g,"")),t=t.replace(/^[#@]/,""),t!==e.normal&&(e.machine=t)};var co=function(e){let t=e.docs,n={};for(let e=0;epo(e,so),machine:e=>po(e,uo),normal:e=>po(e,Jr),freq:co,offset:ho,index:go,wordCount:mo},methods:Xr,model:{one:{aliases:_r,abbreviations:Yr,prefixes:to,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:eo,unicode:ao,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 ko={safe:!0,min:3};var Po={typeahead:function(e=[],t={}){let n=this.model();var a;t=Object.assign({},ko,t),a=e,"[object Object]"===Object.prototype.toString.call(a)&&(Object.assign(n.one.lexicon,e),e=Object.keys(e));let r=wo(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 Ao={model:{one:{typeahead:{}}},api:yo,lib:Po,compute:bo,hooks:["typeahead"]};b.extend(ee),b.extend(Qn),b.extend(hn),b.extend(sa),b.extend(tr),b.plugin(Te),b.extend({mutate:e=>{e.methods.one.termMethods.isFrozen=e=>!0===e.frozen},api:function(e){e.prototype.freeze=function(){return this.docs.forEach((e=>{e.forEach((e=>{e.frozen=!0}))})),this},e.prototype.unfreeze=function(){return this.docs.forEach((e=>{e.forEach((e=>{delete e.frozen}))})),this},e.prototype.isFrozen=function(){return this.match("@isFrozen+")}}}),b.extend(fo),b.plugin(k),b.extend(qe),b.extend(Ao),b.extend(Se),b.extend(va);var Co={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"},jo={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:4R;a3Ub3Cc2Pd2He2Df27g1Zh1Ti1Pj1Nk1Ll1Gm12n0Po0Mp0Cqu0Br02sTtHuCv9w3xiaomi,y1;amaha,m1Bou1w1B;gov,tu3D;a4e2iki1orld trade organizati34;leaRped0O;lls fargo,st1;fie2Iinghou2S;l1rner br3V;gree3Kl street journ2Jm1E;an halOeriz2Yisa,o1;dafo2Zl1;kswagMvo;b4kip,n2ps,s1;a tod3Bps;es3Ni1;lev3Gted natio3D;er,s; mobi33aco beRd bOe9gi frida3Mh3im horto3Bmz,o1witt3E;shi4Ay1;ota,s r 05;e 1in lizzy;b3carpen3Kdaily ma3Eguess w2holli0rolling st21s1w2;mashing pumpki36uprem0;ho;ea1lack eyed pe3Yyr0Q;ch bo3Etl0;l2n3Rs1xas instrumen1U;co,la m1F;efoni0Kus;a8cientology,e5ieme2Zmirnoff,np,o3pice gir6quare0Ata1ubaru;rbuc1to35;ks;ny,undgard1;en;a2x pisto1;ls;g1Xrs;few2Ninsbur32lesfor03msu2F;adiohead,b8e4o1yana3D;man empi1Yyal 1;b1dutch she4;ank;a3d 1max,vl21;bu1c2Bhot chili peppe2Zlobst2O;ll;ders dige1Ml madrid;c,s;ant3Bizn2R;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;aDcdonalCe9i6lb,o3tv,y1;spa1;ce;b1Unsanto,ody blu0t1;ley cr1or0U;ue;c2t1;as,subisO;helin,rosoft;dica2rcedes benz,talli1;ca;id,re;ds;cs milk,tt1Az25;a3e1g,ittle caesa1Q; ore0Anovo,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 o1rls 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,ppleAr6s4u3v2y1;er;is,on;di,todesk;hland o1sociated E;il;b3g2m1;co;os;ys; compu1be0;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:7B;1:7G;2:6A;3:7F;4:7O;5:7K;a6Nb62c4Ud4Be41f3Sg3Bh30i2Uj2Qkin2Pl2Km26n1Zo1Sp0Vqu0Tr0JsQtJuHvEw8yo6;gi,ut6;h,ub0;aAe9i8o7r6;estl0it0;m2rk0;fe,nn0t2Bza2H;atherm2ld0;ge earn0it0nder0rri1;eter7i6oyF;ll5Qp,s3Z;an,ina2U;n6s0;c6Uder03;aoisea23e9herapi5iktok0o8r6ut1yco6S;a6endseLo43;d0mp,nscri0Bvel0;ddl0u1G;a0Qchn7en6na4st0;ag0;i3Oo0D;aiXcUeRhPiMki0mu26oJpGquaFtBu7wee6;p0theart;lt2per7r6;f0ge6Iviv1;h6inten0Ist5Ivis1;ero,um2;a8ep7r6;ang0eam0;bro2Nc2Ofa2Nmo2Nsi20;ff0tesm2;tt0;ec7ir2Do6;kesp59u0M;ia5Jt3;l7me6An,rcere6ul;r,ss;di0oi5;n7s6;sy,t0;g0n0;am2ephe1Iow6;girl,m2r2Q;cretInior cit3Fr6;gea4v6;a4it1;hol4Xi7reen6ulpt1;wr2C;e01on;l1nt;aEe9o8u6;l0nn6;er up,ingE;g40le mod3Zof0;a4Zc8fug2Ppo32searQv6;ere4Uolution6;ary;e6luYru22;ptio3T;bbi,dic5Vpp0;arter6e2Z;back;aYeWhSiRlOoKr8sycho7u6;nk,p31;logi5;aGeDiBo6;d9fess1g7ph47s6;pe2Ktitu51;en6ramm0;it1y;igy,uc0;est4Nme mini0Unce6s3E;!ss;a7si6;de4;ch0;ctiti39nk0P;dca0Oet,li6pula50rnst42;c2Itic6;al scie6i2;nti5;a6umb0;nn0y6;er,ma4Lwright;lgrim,one0;a8iloso7otogra7ra6ysi1V;se;ph0;ntom,rmaci5;r6ssi1T;form0s4O;i3El,nel3Yr8st1tr6wn;i6on;arWot;ent4Wi42tn0;ccupa4ffBp8r7ut6;ca5l0B;ac4Iganiz0ig2Fph2;er3t6;i1Jomet6;ri5;ic0spring;aBe9ie4Xo7u6;n,rser3J;b6mad,vi4V;le2Vo4D;i6mesis,phew;ce,ghb1;nny,rr3t1X;aEeDiAo7u6yst1Y;m8si16;der3gul,m7n6th0;arDk;!my;ni7s6;f02s0Jt0;on,st0;chan1Qnt1rcha4;gi9k0n8rtyr,t6y1;e,riar6;ch;ag0iac;ci2stra3I;a7e2Aieutena4o6;rd,s0v0;bor0d7ndlo6ss,urea3Fwy0ym2;rd;!y;!s28;e8o7u6;ggl0;gg0urna2U;st0;c3Hdol,llu3Ummigra4n6; l9c1Qfa4habi42nov3s7ve6;nt1stig3;pe0Nt6;a1Fig3ru0M;aw;airFeBistoAo8u6ygie1K;man6sba2H;!ita8;bo,st6usekN;age,e3P;ri2;ir,r6;m7o6;!ine;it;dress0sty2C;aLeIhostGirl26ladi3oCrand7u6;e5ru;c9daug0Jfa8m7pa6s2Y;!re4;a,o6;th0;hi1B;al7d6lf0;!de3A;ie,k6te26;eep0;!wr6;it0;isha,n6;i6tl04;us;mbl0rden0;aDella,iAo7r6;eela2Nie1P;e,re6ster pare4;be1Hm2r6st0;unn0;an2ZgZlmm17nanci0r6tt0;e6st la2H; marsh2OfigXm2;rm0th0;conoEdDlectriCm8n7x6;amin0cellency,i2A;emy,trepreneur,vironmenta1J;c8p6;er1loye6;e,r;ee;ci2;it1;mi5;aKeBi8ork,ri7u6we02;de,tche2H;ft0v0;ct3eti7plom2Hre6va;ct1;ci2ti2;aDcor3fencCi0InAput9s7tectLvel6;op0;ce1Ge6ign0;rt0;ee,y;iz6;en;em2;c1Ml0;d8nc0redev7ug6;ht0;il;!dy;a06e04fo,hXitizenWlToBr9u6;r3stomer6;! representat6;ive;e3it6;ic;lJmGnAord9rpor1Nu7w6;boy,ork0;n6ri0;ciTte1Q;in3;fidantAgressSs9t6;e0Kr6;ibut1o6;ll0;tab13ul1O;!e;edi2m6pos0rade;a0EeQissi6;on0;leag8on7um6;ni5;el;ue;e6own;an0r6;ic,k;!s;a9e7i6um;ld;erle6f;ad0;ir7nce6plFract0;ll1;m2wI;lebri6o;ty;dBptAr6shi0;e7pe6;nt0;r,t6;ak0;ain;et;aMeLiJlogg0oErBu6;dd0Fild0rgl9siness6;m2p7w6;om2;ers05;ar;i7o6;!k0th0;cklay0de,gadi0;hemi2oge8y6;!frie6;nd;ym2;an;cyc6sR;li5;atbox0ings;by,nk0r6;b0on7te6;nd0;!e07;c04dWge4nQpLrHsFtAu7yatull6;ah;nt7t6;h1oG;!ie;h8t6;e6orney;nda4;ie5le6;te;sis00tron6;aut,om0;chbis8isto7tis6;an,t;crU;hop;ost9p6;ari6rentiS;ti6;on;le;a9cest1im3nou8y6;bo6;dy;nc0;ly5rc6;hi5;mi8v6;entur0is1;er;ni7r6;al;str3;at1;or;counBquaintanArob9t6;ivi5or,re6;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:H6;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;eDhCi9Wue;!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;i9Dy;!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;aDha0i8XmaCsac;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,j5Hot,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;ar1Nb1Dd16fon15gust3hm12i0Zja0Yl0Bm07nTputsiSrGsaFugustEveDyCziz;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;allFel,oulaye,ulC;!lDrahm0;an;ah,o;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:1Q;a29b1Zc1Md1Ee18f15g13h0Ri0Qj0Nk0Jl0Gm09n06o05p00rPsItCusain bolt,v9w4xzibit,y1;anni,oko on2uji,v1;an,es;en,o;a3ednesday adams,i2o1;lfram,o0Q;ll ferrell,z khalifa;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¦elle,h3i2me,she,th0us,we,you;e0ou;e,m,y;!l,t;e,im",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:18;1:1E;2:1D;3:14;a1Db15c0Sd0Kfc dallas,g0Ihouston 0Hindiana0Gjacksonville jagua0k0El0Am01new UoRpKqueens parkJreal salt lake,sBt6utah jazz,vancouver whitecaps,w4yW;ashington 4h10;natio1Mredski2wizar0W;ampa bay 7e6o4;ronto 4ttenham hotspur;blue ja0Mrapto0;nnessee tita2xasD;buccanee0ra0K;a8eattle 6porting kansas0Wt4; louis 4oke0V;c1Drams;marine0s4;eah13ounH;cramento Rn 4;antonio spu0diego 4francisco gJjose earthquak1;char08paB; ran07;a9h6ittsburgh 5ortland t4;imbe0rail blaze0;pirat1steele0;il4oenix su2;adelphia 4li1;eagl1philNunE;dr1;akland 4klahoma city thunder,rlando magic;athle0Lrai4;de0;england 8orleans 7york 4;g5je3knYme3red bul0Xy4;anke1;ian3;pelica2sain3;patrio3revolut4;ion;anchEeAi4ontreal impact;ami 8lwaukee b7nnesota 4;t5vi4;kings;imberwolv1wi2;rewe0uc0J;dolphi2heat,marli2;mphis grizz4ts;li1;a6eic5os angeles 4;clippe0dodFlaB;esterV; galaxy,ke0;ansas city 4nF;chiefs,roya0D; pace0polis col3;astr05dynamo,rocke3texa2;olden state warrio0reen bay pac4;ke0;allas 8e4i04od6;nver 6troit 4;lio2pisto2ti4;ge0;broncYnugge3;cowbo5maver4;icZ;ys;arEelLhAincinnati 8leveland 6ol4;orado r4umbus crew sc;api7ocki1;brow2cavalie0guar4in4;dia2;bengaVre4;ds;arlotte horAicago 4;b5cubs,fire,wh4;iteB;ea0ulQ;diff4olina panthe0; city;altimore Alackburn rove0oston 6rooklyn 4uffalo bilN;ne3;ts;cel5red4; sox;tics;rs;oriol1rave2;rizona Ast8tlanta 4;brav1falco2h4;awA;ns;es;on villa,r4;os;c6di4;amondbac4;ks;ardi4;na4;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;a9Fb7Uc6Rd6Le6Jf5Ig50h4Biron0j47k40l3Em31n2Yo2Wp2Cquiet Hr1Xs0KtZuXvacuu6QwNyammerBzK;ero Dip LonK;e0k0;by,ov9up;aQeMhLiKor0Mrit19;mp0n3Fpe0r5s5;ackAeel Di0S;aLiKn33;gh 3Wrd0;n Dr K;do1in,oJ;it 79k5lk Lrm 69sh Kt83v60;aw3do1o7up;aw3in,oC;rgeBsK;e 2herE;a00eYhViRoQrMuKypP;ckErn K;do1in,oJup;aLiKot0y 30;ckl7Zp F;ck HdK;e 5Y;n7Wp 3Es5K;ck MdLe Kghten 6me0p o0Rre0;aw3ba4do1in,up;e Iy 2;by,oG;ink Lrow K;aw3ba4in,up;ba4ov9up;aKe 77ll62;m 2r 5M;ckBke Llk K;ov9shit,u47;aKba4do1in,leave,o4Dup;ba4ft9pa69w3;a0Vc0Te0Mh0Ii0Fl09m08n07o06p01quar5GtQuOwK;earMiK;ngLtch K;aw3ba4o8K; by;cKi6Bm 2ss0;k 64;aReQiPoNrKud35;aigh2Det75iK;ke 7Sng K;al6Yup;p Krm2F;by,in,oG;c3Ln3Lr 2tc4O;p F;c3Jmp0nd LrKveAy 2O;e Ht 2L;ba4do1up;ar3GeNiMlLrKurB;ead0ingBuc5;a49it 6H;c5ll o3Cn 2;ak Fe1Xll0;a3Bber 2rt0und like;ap 5Vow Duggl5;ash 6Noke0;eep NiKow 6;cLp K;o6Dup;e 68;in,oK;ff,v9;de19gn 4NnKt 6Gz5;gKkE; al6Ale0;aMoKu5W;ot Kut0w 7M;aw3ba4f48oC;c2WdeEk6EveA;e Pll1Nnd Orv5tK; Ktl5J;do1foLin,o7upK;!on;ot,r5Z;aw3ba4do1in,o33up;oCto;al66out0rK;ap65ew 6J;ilAv5;aXeUiSoOuK;b 5Yle0n Kstl5;aLba4do1inKo2Ith4Nu5P;!to;c2Xr8w3;ll Mot LpeAuK;g3Ind17;a2Wf3Po7;ar8in,o7up;ng 68p oKs5;ff,p18;aKelAinEnt0;c6Hd K;o4Dup;c27t0;aZeYiWlToQrOsyc35uK;ll Mn5Kt K;aKba4do1in,oJto47up;pa4Dw3;a3Jdo1in,o21to45up;attleBess KiNop 2;ah2Fon;iLp Kr4Zu1Gwer 6N;do1in,o6Nup;nt0;aLuK;gEmp 6;ce u20y 6D;ck Kg0le 4An 6p5B;oJup;el 5NncilE;c53ir 39n0ss MtLy K;ba4oG; Hc2R;aw3ba4in,oJ;pKw4Y;e4Xt D;aLerd0oK;dAt53;il Hrrow H;aTeQiPoLuK;ddl5ll I;c1FnkeyMp 6uthAve K;aKdo1in,o4Lup;l4Nw3; wi4K;ss0x 2;asur5e3SlLss K;a21up;t 6;ke Ln 6rKs2Ax0;k 6ryA;do,fun,oCsure,up;a02eViQoLuK;ck0st I;aNc4Fg MoKse0;k Kse4D;aft9ba4do1forw37in56o0Zu46;in,oJ;d 6;e NghtMnLsKve 00;ten F;e 2k 2; 2e46;ar8do1in;aMt LvelK; oC;do1go,in,o7up;nEve K;in,oK;pKut;en;c5p 2sh LtchBughAy K;do1o59;in4Po7;eMick Lnock K;do1oCup;oCup;eLy K;in,up;l Ip K;aw3ba4do1f04in,oJto,up;aMoLuK;ic5mpE;ke3St H;c43zz 2;a01eWiToPuK;nLrrKsh 6;y 2;keLt K;ar8do1;r H;lKneErse3K;d Ke 2;ba4dKfast,o0Cup;ear,o1;de Lt K;ba4on,up;aw3o7;aKlp0;d Ml Ir Kt 2;fKof;rom;f11in,o03uW;cPm 2nLsh0ve Kz2P;at,it,to;d Lg KkerP;do1in,o2Tup;do1in,oK;ut,v9;k 2;aZeTive Rloss IoMrLunK; f0S;ab hold,in43ow 2U; Kof 2I;aMb1Mit,oLr8th1IuK;nd9;ff,n,v9;bo7ft9hQw3;aw3bKdo1in,oJrise,up,w3;a4ir2H;ar 6ek0t K;aLb1Fdo1in,oKr8up;ff,n,ut,v9;cLhKl2Fr8t,w3;ead;ross;d aKng 2;bo7;a0Ee07iYlUoQrMuK;ck Ke2N;ar8up;eLighten KownBy 2;aw3oG;eKshe27; 2z5;g 2lMol Krk I;aKwi20;bo7r8;d 6low 2;aLeKip0;sh0;g 6ke0mKrKtten H;e F;gRlPnNrLsKzzle0;h F;e Km 2;aw3ba4up;d0isK;h 2;e Kl 1T;aw3fPin,o7;ht ba4ure0;ePnLsK;s 2;cMd K;fKoG;or;e D;d04l 2;cNll Krm0t1G;aLbKdo1in,o09sho0Eth08victim;a4ehi2O;pa0C;e K;do1oGup;at Kdge0nd 12y5;in,o7up;aOi1HoNrK;aLess 6op KuN;aw3b03in,oC;gBwB; Ile0ubl1B;m 2;a0Ah05l02oOrLut K;aw3ba4do1oCup;ackBeep LoKy0;ss Dwd0;by,do1in,o0Uup;me NoLuntK; o2A;k 6l K;do1oG;aRbQforOin,oNtKu0O;hLoKrue;geth9;rough;ff,ut,v9;th,wK;ard;a4y;paKr8w3;rt;eaLose K;in,oCup;n 6r F;aNeLiK;ll0pE;ck Der Kw F;on,up;t 2;lRncel0rOsMtch LveE; in;o1Nup;h Dt K;doubt,oG;ry LvK;e 08;aw3oJ;l Km H;aLba4do1oJup;ff,n,ut;r8w3;a0Ve0MiteAl0Fo04rQuK;bblNckl05il0Dlk 6ndl05rLsKtMy FzzA;t 00;n 0HsK;t D;e I;ov9;anWeaUiLush K;oGup;ghQng K;aNba4do1forMin,oLuK;nd9p;n,ut;th;bo7lKr8w3;ong;teK;n 2;k K;do1in,o7up;ch0;arTg 6iRn5oPrNssMttlLunce Kx D;aw3ba4;e 6; ar8;e H;do1;k Dt 2;e 2;l 6;do1up;d 2;aPeed0oKurt0;cMw K;aw3ba4do1o7up;ck;k K;in,oC;ck0nk0stA; oQaNef 2lt0nd K;do1ov9up;er;up;r Lt K;do1in,oCup;do1o7;ff,nK;to;ck Pil0nMrgLsK;h D;ainBe D;g DkB; on;in,o7;aw3do1in,oCup;ff,ut;ay;ct FdQir0sk MuctionA; oG;ff;ar8o7;ouK;nd; o7;d K;do1oKup;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:BR;1:BF;2:B5;3:BH;4:AX;5:9Y;6:B6;7:BK;8:B0;9:AV;A:AL;B:8Q;C:8G;D:7K;E:BM;F:AH;aBDb9Zc8Wd88e81f7Kg6Wh64i60j5Lk4Vl4Dm39n2Wo2Op25quispe,r1Ls0Pt0Ev03wTxSyKzG;aIhGimmerm6A;aGou,u;ng,o;khar5ytsE;aKeun9BiHoGun;koya32shiBU;!lG;diGmaz;rim,z;maGng;da,g52mo83sGzaC;aChiBV;iao,u;aLeJiHoGright,u;jcA5lff,ng;lGmm0nkl0sniewsC;kiB1liams33s3;bGiss,lt0;b,er,st0;a6Vgn0lHtG;anabe,s3;k0sh,tG;e2Non;aLeKiHoGukD;gt,lk5roby5;dHllalGnogr3Kr1Css0val3S;ba,ob1W;al,ov4;lasHsel8W;lJn dIrgBEsHzG;qu7;ilyEqu7siljE;en b6Aijk,yk;enzueAIverde;aPeix1VhKi2j8ka43oJrIsui,uG;om5UrG;c2n0un1;an,emblA7ynisC;dorAMlst3Km4rrAth;atch0i8UoG;mHrG;are84laci79;ps3sG;en,on;hirDkah9Mnaka,te,varA;a06ch01eYhUiRmOoMtIuHvGzabo;en9Jobod3N;ar7bot4lliv2zuC;aIeHoG;i7Bj4AyanAB;ele,in2FpheBvens25;l8rm0;kol5lovy5re7Tsa,to,uG;ng,sa;iGy72;rn5tG;!h;l71mHnGrbu;at9cla9Egh;moBo7M;aIeGimizu;hu,vchG;en8Luk;la,r1G;gu9infe5YmGoh,pulveA7rra5P;jGyG;on5;evi6iltz,miHneid0roed0uGwarz;be3Elz;dHtG;!t,z;!t;ar4Th8ito,ka4OlJnGr4saCto,unde19v4;ch7dHtGz;a5Le,os;b53e16;as,ihDm4Po0Y;aVeSiPoJuHyG;a6oo,u;bio,iz,sG;so,u;bKc8Fdrigue67ge10j9YmJosevelt,sItHux,wG;e,li6;a9Ch;enb4Usi;a54e4L;erts15i93;bei4JcHes,vGzzo;as,e9;ci,hards12;ag2es,iHut0yG;es,nol5N;s,t0;dImHnGsmu97v6C;tan1;ir7os;ic,u;aUeOhMiJoHrGut8;asad,if6Zochazk27;lishc2GpGrti72u10we76;e3Aov51;cHe45nG;as,to;as70hl0;aGillips;k,m,n6I;a3Hde3Wete0Bna,rJtG;ersHrovGters54;!a,ic;!en,on;eGic,kiBss3;i9ra,tz,z;h86k,padopoulIrk0tHvG;ic,l4N;el,te39;os;bMconn2Ag2TlJnei6PrHsbor6XweBzG;dem7Rturk;ella4DtGwe6N;ega,iz;iGof7Hs8I;vGyn1R;ei9;aSri1;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;aFeaEh9o4rim08umbr0;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;dygHguascalientes,lBndhr9r5ss4;am;izo1kans5un4;achal 7;as;na;a 4;pradesh;a6ber5t4;ai;ta;ba5s4;ka;ma;ea",Country:"true¦0:38;1:2L;2:3B;a2Xb2Ec22d1Ye1Sf1Mg1Ch1Ai14j12k0Zl0Um0Gn05om2pZqat1KrXsKtCu7v5wal4yemTz3;a25imbabwe;es,lis and futu2Y;a3enezue32ietnam;nuatu,tican city;gTk6nited 4ruXs3zbeE; 2Ca,sr;arab emirat0Kkingdom,states3;! of am2Y;!raiV;a8haCimor les0Co7rinidad 5u3;nis0rk3valu;ey,me2Zs and caic1V;and t3t3;oba1L;go,kel10nga;iw2ji3nz2T;ki2V;aDcotl1eCi9lov8o6pa2Dri lanka,u5w3yr0;az3edAitzerl1;il1;d2riname;lomon1Xmal0uth 3;afr2KkMsud2;ak0en0;erra leoFn3;gapo1Yt maart3;en;negLrb0ychellZ;int 3moa,n marino,udi arab0;hele26luc0mart21;epublic of ir0Eom2Euss0w3;an27;a4eIhilippinUitcairn1Mo3uerto riN;l1rtugF;ki2Dl4nama,pua new0Vra3;gu7;au,esti3;ne;aBe9i7or3;folk1Ith4w3;ay; k3ern mariana1D;or0O;caragua,ger3ue;!ia;p3ther1Aw zeal1;al;mib0u3;ru;a7exi6icro0Bo3yanm06;ldova,n3roc5zambA;a4gol0t3;enegro,serrat;co;cAdagasc01l7r5urit4yot3;te;an0i16;shall0Xtin3;ique;a4div3i,ta;es;wi,ys0;ao,ed02;a6e5i3uxembourg;b3echtenste12thu1G;er0ya;ban0Isotho;os,tv0;azakh1Fe4iriba04o3uwait,yrgyz1F;rXsovo;eling0Knya;a3erG;ma16p2;c7nd6r4s3taly,vory coast;le of m2rael;a3el1;n,q;ia,oJ;el1;aiTon3ungary;dur0Ng kong;aBermany,ha0QibraltAre8u3;a6ern5inea3ya0P;! biss3;au;sey;deloupe,m,tema0Q;e3na0N;ce,nl1;ar;bUmb0;a7i6r3;ance,ench 3;guia0Epoly3;nes0;ji,nl1;lklandUroeU;ast tim7cu6gypt,l salv6ngl1quatorial4ritr5st3thiop0;on0; guin3;ea;ad3;or;enmark,jibou5ominica4r con3;go;!n C;ti;aBentral african Ah8o5roat0u4yprRzech3; 9ia;ba,racao;c4lo3morQngo brazzaville,okGsta r04te de ivoiL;mb0;osE;i3ristmasG;le,na;republic;m3naUpe verde,ymanA;bod0ero3;on;aGeDhut2o9r5u3;lgar0r3;kina faso,ma,undi;azil,itish 3unei;virgin3; is3;lands;liv0nai5snia and herzegoviHtswaHuvet3; isl1;and;re;l3n8rmuG;ar3gium,ize;us;h4ngladesh,rbad3;os;am4ra3;in;as;fghaGlDmBn6r4ustr3zerbaij2;al0ia;genti3men0uba;na;dorra,g5t3;arct7igua and barbu3;da;o3uil3;la;er3;ica;b3ger0;an0;ia;ni3;st2;an",Place:"true¦a0Gb0Bc03d02e01f00gWhUiSkQlNmLnIorHpDrCsAt5u4v3w2y0;a0yz;kutPngtze;ake isHupatki;irgin islands,ostok;laanbaatar,p02;a3eotihuac0Hh1onto,sarskoe selo,u0;lXzigoot;am09e 0;bronx,hamptons;hiti,j mahE;a0cotts bluff,eine,fo,oho,under9;int lawrence river,khalY;ed s3io grande;a1ek,h0itcairn,ompeii;l,x;cif05pahanaumokuak0rthenX;ea;ange county,d,inoco;e0ile;uschwansteQw eng0;land;a0co,ekong,idLuc;chu picchu,gad00libu,nhatt00;a1gw,hr,incoln memori0;al;s,x;azan kremlJosrae,rasnoyar0ul;sk;ax,cn,nd0st;ianSochina;arlem,kg,nd,ov0;d,enweep;a2odavari,re0;at 0enwich;britaBlakI;ngHy village;co,ra;urope,vergladF;anube,en,fw,own4xb;arrizo pla6dg,edar 5gk,h1lt,olosse0;um;a2i0uuk;chen itza,mney rock,na0ricahua;town;morro,tham;breaks,fa5;in;cn,e2kk,ro0;oklyn,wns cany0;on;l air,verly hi0;lls;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:J7;1:JB;2:IJ;3:IK;4:J1;5:IO;6:JS;7:JO;8:HB;9:JK;A:H4;B:I2;C:IT;D:JH;E:IX;F:BA;G:I4;aGTbFLcDRdD0eBMfB4gADh9Ti9Gj8Dk7Cl5Wm48n3Lo3Hp33qu32r29s15t0Eu0Cv02wVxiTyOzH;aLeIineb,oHsof3;e3Sf3la,ra;h2iKlIna,ynH;ab,ep;da,ma;da,h2iHra;nab;aKeJi0FolB7uIvH;et8onDP;i0na;le0sen3;el,gm3Hn,rGLs8W;aoHme0nyi;m5XyAD;aMendDZhiDGiH;dele9lJnH;if48niHo0;e,f47;a,helmi0lHma;a,ow;ka0nB;aNeKiHusa5;ck84kIl8oleAviH;anFenJ4;ky,toriBK;da,lA8rHs0;a,nHoniH9;a,iFR;leHnesH9;nILrH;i1y;g9rHs6xHA;su5te;aYeUhRiNoLrIuHy2;i,la;acJ3iHu0J;c3na,sH;hFta;nHr0F;iFya;aJffaEOnHs6;a,gtiH;ng;!nFSra;aIeHomasi0;a,l9Oo8Ares1;l3ndolwethu;g9Fo88rIssH;!a,ie;eHi,ri7;sa,za;bOlMmKnIrHs6tia0wa0;a60yn;iHya;a,ka,s6;arFe2iHm77ra;!ka;a,iH;a,t6;at6it6;a0Ecarlett,e0AhWiSkye,neza0oQri,tNuIyH;bIGlvi1;ha,mayIJniAsIzH;an3Net8ie,y;anHi7;!a,e,nH;aCe;aIeH;fan4l5Dphan6E;cI5r5;b3fiAAm0LnHphi1;d2ia,ja,ya;er2lJmon1nIobh8QtH;a,i;dy;lETv3;aMeIirHo0risFDy5;a,lDM;ba,e0i5lJrH;iHr6Jyl;!d8Ifa;ia,lDZ;hd,iMki2nJrIu0w0yH;la,ma,na;i,le9on,ron,yn;aIda,ia,nHon;a,on;!ya;k6mH;!aa;lJrItaye82vH;da,inj;e0ife;en1i0ma;anA9bLd5Oh1SiBkKlJmInd2rHs6vannaC;aCi0;ant6i2;lDOma,ome;ee0in8Tu2;in1ri0;a05eZhXiUoHuthDM;bScRghQl8LnPsJwIxH;anB3ie,y;an,e0;aIeHie,lD;ann7ll1marDGtA;!lHnn1;iHyn;e,nH;a,dF;da,i,na;ayy8G;hel67io;bDRerAyn;a,cIkHmas,nFta,ya;ki,o;h8Xki;ea,iannGMoH;da,n1P;an0bJemFgi0iInHta,y0;a8Bee;han86na;a,eH;cHkaC;a,ca;bi0chIe,i0mo0nHquETy0;di,ia;aERelHiB;!e,le;een4ia0;aPeOhMiLoJrHute6A;iHudenCV;scil3LyamvaB;lHrt3;i0ly;a,paluk;ilome0oebe,ylH;is,lis;ggy,nelope,r5t2;ige,m0VnKo5rvaDMtIulH;a,et8in1;ricHt4T;a,e,ia;do2i07;ctav3dIfD3is6ksa0lHphD3umC5yunbileg;a,ga,iv3;eHvAF;l3t8;aWeUiMoIurHy5;!ay,ul;a,eJor,rIuH;f,r;aCeEma;ll1mi;aNcLhariBQkKlaJna,sHta,vi;anHha;ur;!y;a,iDZki;hoGk9YolH;a,e4P;!mh;hir,lHna,risDEsreE;!a,lBV;asuMdLh3i6Dl5nKomi7rgEVtH;aHhal4;lHs6;i1ya;cy,et8;e9iF0ya;nngu2X;a0Ackenz4e02iMoJrignayani,uriDJyH;a,rH;a,iOlNna,tG;bi0i2llBJnH;a,iH;ca,ka,qD9;a,cUdo4ZkaTlOmi,nMrItzi,yH;ar;aJiIlH;anET;am;!l,nB;dy,eHh,n4;nhGrva;aKdJe0iCUlH;iHy;cent,e;red;!gros;!e5;ae5hH;ae5el3Z;ag5DgNi,lKrH;edi7AiIjem,on,yH;em,l;em,sCG;an4iHliCF;nHsCJ;a,da;!an,han;b09cASd07e,g05ha,i04ja,l02n00rLsoum5YtKuIv84xBKyHz4;bell,ra,soBB;d7rH;a,eE;h8Gild1t4;a,cUgQiKjor4l7Un4s6tJwa,yH;!aHbe6Xja9lAE;m,nBL;a,ha,in1;!aJbCGeIja,lDna,sHt63;!a,ol,sa;!l1D;!h,mInH;!a,e,n1;!awit,i;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:3B;1:3P;2:3E;3:2H;a3Tb3Cc33d2Ue2Nf2Bg1Xh1Mi1Gj1Fk1Cl14m0Yn0To0Sp0Jqu0Hr08sItDug0vBw5y4za0R;el11ouO;ary,e7hi6i4ry;ck0Dde,l4n1ry,se;d,y;ny,te;a4i3R;k,ry;a4erda2ulgar;gue,in,st;a7en2Xhi6i5ou00r4;anqu2Den1ue;dy,g36me0ny;ck,rs29;ll,me,rt,wd3I;aScaQePhNiMkin0ClJmHoFpEt7u5w4;eet,ift;b4dd0Xperfi22rre29;sta27t3;a9e8iff,r5u4;pVr1;a5ict,o4;ng;ig2Vn0O;a1ep,rn;le,rk,te0;e1Ti2Vright0;ci1Zft,l4on,re;emn,id;a4el0;ll,rt;e5i4y;g2Mm10;ek,nd2T;ck24l0mp3;a4iSrill,y;dy,l02rp;ve0Kxy;n1Kr4;ce,y;d,fe,int0l1Iv0W;a9e7i6o4ude;mantic,o1Asy,u4;gh;pe,t1P;a4d,mo0B;dy,l;gg5iGndom,p4re,w;id;ed;ai2i4;ck,et;hoBink,lAo9r6u4;ny,r4;e,p3;egna2ic5o4;fouTud;ey,k0;liYor;ain,easa2;ny;dd,i0ld,ranM;aive,e6i5o4u15;b3isy,rm0Zsy;bb0ce,mb3;a4r1w;r,t;ad,e6ild,o5u4;nda12te;ist,o1;a5ek,l4;low;s0ty;a9e8i7o4ucky;f0Kn5o15u4ve0w10y0O;d,sy;e0g;ke0l,mp,tt3ve0;e1Qwd;me,r4te;ge;e5i4;nd;en;ol0ui19;cy,ll,n4;secu7t4;e4ima5;llege2rmedia4;te;re;aBe8i7o6u4;ge,m4ng1C;b3id;me0t;gh,l0;a4fYsita2;dy,rXv4;en0y;nd13ppy,r4;d4sh;!y;aGenFhDiClBoofy,r4;a9e7i6o4ue0Z;o4ss;vy;m,s0;at,e4y;dy,n;nd,y;ad,ib,ooE;a2d1;a4o4;st0;t3uiS;u1y;aDeeb3iAl9o7r6u4;ll,n4r0N;!ny;aDesh,iend0;a4nd,rmE;my;at,ir8;erce,nan4;ciA;le;r,ul4;ty;a7erie,sse5v4xtre0B;il;nti4;al;r5s4;tern,y;ly,th0;appZe9i5u4;mb;r6vi5z4;zy;ne;e,ty;a4ep,nA;d4f,r;!ly;agey,h9l8o6r5u4;dd0r0te;isp,uel;ar4ld,mmon,st0ward0zy;se;evLou1;e4il0;ap,e4;sy;aIiGlDoBr6u4;ff,r0sy;ly;a7i4oad;g5llia2;nt;ht;sh,ve;ld,un4;cy;a5o4ue;nd,o1;ck,nd;g,tt4;er;d,ld,w1;dy;bsu7ng6we4;so4;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 Io=36,No="0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ",Do=No.split("").reduce((function(e,t,n){return e[t]=n,e}),{});var Ho=function(e){if(void 0!==Do[e])return Do[e];let t=0,n=1,a=Io,r=1;for(;n=0;n--,r*=Io){let a=e.charCodeAt(n)-48;a>10&&(a-=7),t+=a*r}return t};var Go=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=xo(t[e]);"true"===e&&(e=!0);for(let t=0;t{let t=Eo(jo[e]);Bo.test(e)?Object.keys(t).forEach((t=>{if(Ko[t]=e,"Noun|Verb"===e){let e=Vo(t,$o);Ko[e]="Plural|Verb"}})):Object.keys(t).forEach((t=>{So[t]=e}))})),[":(",":)",":P",":p",":O",";(",";)",";P",";p",";O",":3",":|",":/",":\\",":$",":*",":@",":-(",":-)",":-P",":-p",":-O",":-3",":-|",":-/",":-\\",":-$",":-*",":-@",":^(",":^)",":^P",":^p",":^O",":^3",":^|",":^/",":^\\",":^$",":^*",":^@","):","(:","$:","*:",")-:","(-:","$-:","*-:",")^:","(^:","$^:","*^:","<3","So[e]="Emoticon")),delete So[""],delete So.null,delete So[" "];const Mo="Singular";var Lo={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 Jo="Infinitive";var Wo={beforeTags:{Modal:Jo,Adverb:Jo,Negative:Jo,Plural:Jo},afterTags:{Determiner:Jo,Adverb:Jo,Possessive:Jo,Reflexive:Jo,Preposition:Jo,Cardinal:Jo,Comparative:Jo,Superlative:Jo},beforeWords:{i:Jo,we:Jo,you:Jo,they:Jo,to:Jo,please:Jo,will:Jo,have:Jo,had:Jo,would:Jo,could:Jo,should:Jo,do:Jo,did:Jo,does:Jo,can:Jo,must:Jo,us:Jo,me:Jo,let:Jo,even:Jo,when:Jo,help:Jo,he:Jo,she:Jo,it:Jo,being:Jo,bi:Jo,co:Jo,contra:Jo,de:Jo,inter:Jo,intra:Jo,mis:Jo,pre:Jo,out:Jo,counter:Jo,nobody:Jo,somebody:Jo,anybody:Jo,everybody:Jo},afterWords:{the:Jo,me:Jo,you:Jo,him:Jo,us:Jo,her:Jo,his:Jo,them:Jo,they:Jo,it:Jo,himself:Jo,herself:Jo,itself:Jo,myself:Jo,ourselves:Jo,themselves:Jo,something:Jo,anything:Jo,a:Jo,an:Jo,up:Jo,down:Jo,by:Jo,out:Jo,off:Jo,under:Jo,what:Jo,all:Jo,to:Jo,because:Jo,although:Jo,after:Jo,before:Jo,how:Jo,otherwise:Jo,together:Jo,though:Jo,into:Jo,yet:Jo,more:Jo,here:Jo,there:Jo,away:Jo}};var Uo={beforeTags:Object.assign({},Wo.beforeTags,Lo.beforeTags,{}),afterTags:Object.assign({},Wo.afterTags,Lo.afterTags,{}),beforeWords:Object.assign({},Wo.beforeWords,Lo.beforeWords,{}),afterWords:Object.assign({},Wo.afterWords,Lo.afterWords,{})};const qo="Adjective";var Qo={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 Ro="Gerund";var Zo={beforeTags:{Adverb:Ro,Preposition:Ro,Conjunction:Ro},afterTags:{Adverb:Ro,Possessive:Ro,Person:Ro,Pronoun:Ro,Determiner:Ro,Copula:Ro,Preposition:Ro,Conjunction:Ro,Comparative:Ro},beforeWords:{been:Ro,keep:Ro,continue:Ro,stop:Ro,am:Ro,be:Ro,me:Ro,began:Ro,start:Ro,starts:Ro,started:Ro,stops:Ro,stopped:Ro,help:Ro,helps:Ro,avoid:Ro,avoids:Ro,love:Ro,loves:Ro,loved:Ro,hate:Ro,hates:Ro,hated:Ro},afterWords:{you:Ro,me:Ro,her:Ro,him:Ro,his:Ro,them:Ro,their:Ro,it:Ro,this:Ro,there:Ro,on:Ro,about:Ro,for:Ro,up:Ro,down:Ro}};var Xo={beforeTags:Object.assign({},Qo.beforeTags,Zo.beforeTags,{Imperative:"Gerund",Infinitive:"Adjective",PresentTense:"Gerund",Plural:"Gerund"}),afterTags:Object.assign({},Qo.afterTags,Zo.afterTags,{Singular:"Adjective"}),beforeWords:Object.assign({},Qo.beforeWords,Zo.beforeWords,{is:"Adjective",was:"Adjective",of:"Adjective",suggest:"Gerund",recommend:"Gerund"}),afterWords:Object.assign({},Qo.afterWords,Zo.afterWords,{to:"Gerund",not:"Gerund",the:"Gerund"})};const _o={beforeTags:{Determiner:void 0,Cardinal:"Noun",PhrasalVerb:"Adjective"},afterTags:{}};var Yo={beforeTags:Object.assign({},Qo.beforeTags,Lo.beforeTags,_o.beforeTags),afterTags:Object.assign({},Qo.afterTags,Lo.afterTags,_o.afterTags),beforeWords:Object.assign({},Qo.beforeWords,Lo.beforeWords,{are:"Adjective",is:"Adjective",was:"Adjective",be:"Adjective",off:"Adjective",out:"Adjective"}),afterWords:Object.assign({},Qo.afterWords,Lo.afterWords)};let ei="PastTense";const ti={beforeTags:{Adverb:ei,Pronoun:ei,ProperNoun:ei,Auxiliary:ei,Noun:ei},afterTags:{Possessive:ei,Pronoun:ei,Determiner:ei,Adverb:ei,Comparative:ei,Date:ei,Gerund:ei},beforeWords:{be:ei,who:ei,get:"Adjective",had:ei,has:ei,have:ei,been:ei,it:ei,as:ei,for:"Adjective",more:"Adjective"},afterWords:{by:ei,back:ei,out:ei,in:ei,up:ei,down:ei,before:ei,after:ei,for:ei,the:ei,with:ei,as:ei,on:ei,at:ei,between:ei,to:ei,into:ei,us:ei,them:ei,his:ei,her:ei,their:ei,our:ei,me:ei}};var ni={beforeTags:Object.assign({},Qo.beforeTags,ti.beforeTags),afterTags:Object.assign({},Qo.afterTags,ti.afterTags),beforeWords:Object.assign({},Qo.beforeWords,ti.beforeWords),afterWords:Object.assign({},Qo.afterWords,ti.afterWords)};const ai={afterTags:{Noun:"Adjective",Conjunction:void 0}};var ri={beforeTags:Object.assign({},Qo.beforeTags,Wo.beforeTags,{Adverb:void 0,Negative:void 0}),afterTags:Object.assign({},Qo.afterTags,Wo.afterTags,ai.afterTags),beforeWords:Object.assign({},Qo.beforeWords,Wo.beforeWords,{have:void 0,had:void 0,not:void 0,went:"Adjective",goes:"Adjective",got:"Adjective",be:"Adjective"}),afterWords:Object.assign({},Qo.afterWords,Wo.afterWords,{to:void 0,as:"Adjective"})};const oi={Copula:"Gerund",PastTense:"Gerund",PresentTense:"Gerund",Infinitive:"Gerund"},ii={},si={are:"Gerund",were:"Gerund",be:"Gerund",no:"Gerund",without:"Gerund",you:"Gerund",we:"Gerund",they:"Gerund",he:"Gerund",she:"Gerund",us:"Gerund",them:"Gerund"},li={the:"Gerund",this:"Gerund",that:"Gerund",me:"Gerund",us:"Gerund",them:"Gerund"};var ui={beforeTags:Object.assign({},Zo.beforeTags,Lo.beforeTags,oi),afterTags:Object.assign({},Zo.afterTags,Lo.afterTags,ii),beforeWords:Object.assign({},Zo.beforeWords,Lo.beforeWords,si),afterWords:Object.assign({},Zo.afterWords,Lo.afterWords,li)};const ci="Singular",di="Infinitive";var hi={beforeTags:Object.assign({},Wo.beforeTags,Lo.beforeTags,{Adjective:ci,Particle:ci}),afterTags:Object.assign({},Wo.afterTags,Lo.afterTags,{ProperNoun:di,Gerund:di,Adjective:di,Copula:ci}),beforeWords:Object.assign({},Wo.beforeWords,Lo.beforeWords,{is:ci,was:ci,of:ci,have:null}),afterWords:Object.assign({},Wo.afterWords,Lo.afterWords,{instead:di,about:di,his:di,her:di,to:null,by:null,in:null})};const gi="Person";var mi={beforeTags:{Honorific:gi,Person:gi},afterTags:{Person:gi,ProperNoun:gi,Verb:gi},ownTags:{ProperNoun:gi},beforeWords:{hi:gi,hey:gi,yo:gi,dear:gi,hello:gi},afterWords:{said:gi,says:gi,told:gi,tells:gi,feels:gi,felt:gi,seems:gi,thinks:gi,thought:gi,spends:gi,spendt:gi,plays:gi,played:gi,sing:gi,sang:gi,learn:gi,learned:gi,wants:gi,wanted:gi}};const pi="Month",fi={beforeTags:{Date:pi,Value:pi},afterTags:{Date:pi,Value:pi},beforeWords:{by:pi,in:pi,on:pi,during:pi,after:pi,before:pi,between:pi,until:pi,til:pi,sometime:pi,of:pi,this:pi,next:pi,last:pi,previous:pi,following:pi,with:"Person"},afterWords:{sometime:pi,in:pi,of:pi,until:pi,the:pi}};var bi={beforeTags:Object.assign({},mi.beforeTags,fi.beforeTags),afterTags:Object.assign({},mi.afterTags,fi.afterTags),beforeWords:Object.assign({},mi.beforeWords,fi.beforeWords),afterWords:Object.assign({},mi.afterWords,fi.afterWords)};const vi="Place",yi={beforeTags:{Place:vi},afterTags:{Place:vi,Abbreviation:vi},beforeWords:{in:vi,by:vi,near:vi,from:vi,to:vi},afterWords:{in:vi,by:vi,near:vi,from:vi,to:vi,government:vi,council:vi,region:vi,city:vi}};let wi="Unit";const ki={"Actor|Verb":Uo,"Adj|Gerund":Xo,"Adj|Noun":Yo,"Adj|Past":ni,"Adj|Present":ri,"Noun|Verb":hi,"Noun|Gerund":ui,"Person|Noun":{beforeTags:Object.assign({},Lo.beforeTags,mi.beforeTags),afterTags:Object.assign({},Lo.afterTags,mi.afterTags),beforeWords:Object.assign({},Lo.beforeWords,mi.beforeWords,{i:"Infinitive",we:"Infinitive"}),afterWords:Object.assign({},Lo.afterWords,mi.afterWords)},"Person|Date":bi,"Person|Verb":{beforeTags:Object.assign({},Lo.beforeTags,mi.beforeTags,Wo.beforeTags),afterTags:Object.assign({},Lo.afterTags,mi.afterTags,Wo.afterTags),beforeWords:Object.assign({},Lo.beforeWords,mi.beforeWords,Wo.beforeWords),afterWords:Object.assign({},Lo.afterWords,mi.afterWords,Wo.afterWords)},"Person|Place":{beforeTags:Object.assign({},yi.beforeTags,mi.beforeTags),afterTags:Object.assign({},yi.afterTags,mi.afterTags),beforeWords:Object.assign({},yi.beforeWords,mi.beforeWords),afterWords:Object.assign({},yi.afterWords,mi.afterWords)},"Person|Adj":{beforeTags:Object.assign({},mi.beforeTags,Qo.beforeTags),afterTags:Object.assign({},mi.afterTags,Qo.afterTags),beforeWords:Object.assign({},mi.beforeWords,Qo.beforeWords),afterWords:Object.assign({},mi.afterWords,Qo.afterWords)},"Unit|Noun":{beforeTags:{Value:wi},afterTags:{},beforeWords:{per:wi,every:wi,each:wi,square:wi,cubic:wi,sq:wi,metric:wi},afterWords:{per:wi,squared:wi,cubed:wi,long:wi}}},Pi=(e,t)=>{let n=Object.keys(e).reduce(((t,n)=>(t[n]="Infinitive"===e[n]?"PresentTense":"Plural",t)),{});return Object.assign(n,t)};ki["Plural|Verb"]={beforeWords:Pi(ki["Noun|Verb"].beforeWords,{had:"Plural",have:"Plural"}),afterWords:Pi(ki["Noun|Verb"].afterWords,{his:"PresentTense",her:"PresentTense",its:"PresentTense",in:null,to:null,is:"PresentTense",by:"PresentTense"}),beforeTags:Pi(ki["Noun|Verb"].beforeTags,{Conjunction:"PresentTense",Noun:void 0,ProperNoun:"PresentTense"}),afterTags:Pi(ki["Noun|Verb"].afterTags,{Gerund:"Plural",Noun:"PresentTense",Value:"PresentTense"})};var Ai=ki;const Ci="Adjective",ji="Infinitive",Ii="PresentTense",Ni="Singular",Di="PastTense",Hi="Adverb",Gi="Plural",Ti="Actor",xi="Verb",Ei="Noun",Fi="LastName",Oi="Modal",zi="Place",Vi="Participle";var Bi=[null,null,{ea:Ni,ia:Ei,ic:Ci,ly:Hi,"'n":xi,"'t":xi},{oed:Di,ued:Di,xed:Di," so":Hi,"'ll":Oi,"'re":"Copula",azy:Ci,eer:Ei,end:xi,ped:Di,ffy:Ci,ify:ji,ing:"Gerund",ize:ji,ibe:ji,lar:Ci,mum:Ci,nes:Ii,nny:Ci,ous:Ci,que:Ci,ger:Ei,ber:Ei,rol:Ni,sis:Ni,ogy:Ni,oid:Ni,ian:Ni,zes:Ii,eld:Di,ken:Vi,ven:Vi,ten:Vi,ect:ji,ict:ji,ign:ji,oze:ji,ful:Ci,bal:Ci,ton:Ei},{amed:Di,aped:Di,ched:Di,lked:Di,rked:Di,reed:Di,nded:Di,mned:Ci,cted:Di,dged:Di,ield:Ni,akis:Fi,cede:ji,chuk:Fi,czyk:Fi,ects:Ii,iend:Ni,ends:xi,enko:Fi,ette:Ni,iary:Ni,wner:Ni,fies:Ii,fore:Hi,gate:ji,gone:Ci,ices:Gi,ints:Gi,ruct:ji,ines:Gi,ions:Gi,ners:Gi,pers:Gi,lers:Gi,less:Ci,llen:Ci,made:Ci,nsen:Fi,oses:Ii,ould:Oi,some:Ci,sson:Fi,ians:Gi,tion:Ni,tage:Ei,ique:Ni,tive:Ci,tors:Ei,vice:Ni,lier:Ni,fier:Ni,wned:Di,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:Ci,vide:ji,ract:ji,duce:ji,pose:ji,eive:ji,lyze:ji,lyse:ji,iant:Ci,nary:Ci,ghty:Ci,uent:Ci,erer:Ti,bury:zi,dorf:Ei,esty:Ei,wych:zi,dale:zi,folk:zi},{elist:Ti,holic:Ni,phite:Ni,tized:Di,urned:Di,eased:Di,ances:Gi,bound:Ci,ettes:Gi,fully:Hi,ishes:Ii,ities:Gi,marek:Fi,nssen:Fi,ology:Ei,osome:Ni,tment:Ni,ports:Gi,rough:Ci,tches:Ii,tieth:"Ordinal",tures:Gi,wards:Hi,where:Hi,archy:Ei,pathy:Ei,opoly:Ei,embly:Ei,phate:Ei,ndent:Ni,scent:Ni,onist:Ti,anist:Ti,alist:Ti,olist:Ti,icist:Ti,ounce:ji,iable:Ci,borne:Ci,gnant:Ci,inant:Ci,igent:Ci,atory:Ci,rient:Ni,dient:Ni,maker:Ti,burgh:zi,mouth:zi,ceter:zi,ville:zi,worth:Ei},{auskas:Fi,parent:Ni,cedent:Ni,ionary:Ni,cklist:Ni,keeper:Ti,logist:Ti,teenth:"Value",worker:Ti,master:Ti,writer:Ti,brough:zi,cester:zi},{logists:Ti,opoulos:Fi,borough:zi,sdottir:Fi}];const Si="Adjective",Ki="Noun",$i="Verb";var Mi=[null,null,{},{neo:Ki,bio:Ki,"de-":$i,"re-":$i,"un-":$i,"ex-":Ki},{anti:Ki,auto:Ki,faux:Si,hexa:Ki,kilo:Ki,mono:Ki,nano:Ki,octa:Ki,poly:Ki,semi:Si,tele:Ki,"pro-":Si,"mis-":$i,"dis-":$i,"pre-":Si},{anglo:Ki,centi:Ki,ethno:Ki,ferro:Ki,grand:Ki,hepta:Ki,hydro:Ki,intro:Ki,macro:Ki,micro:Ki,milli:Ki,nitro:Ki,penta:Ki,quasi:Si,radio:Ki,tetra:Ki,"omni-":Si,"post-":Si},{pseudo:Si,"extra-":Si,"hyper-":Si,"inter-":Si,"intra-":Si,"deca-":Si},{electro:Ki}];const Li="Adjective",Ji="Infinitive",Wi="PresentTense",Ui="Singular",qi="PastTense",Qi="Adverb",Ri="Expression",Zi="Actor",Xi="Verb",_i="Noun",Yi="LastName";var es={a:[[/.[aeiou]na$/,_i,"tuna"],[/.[oau][wvl]ska$/,Yi],[/.[^aeiou]ica$/,Ui,"harmonica"],[/^([hyj]a+)+$/,Ri,"haha"]],c:[[/.[^aeiou]ic$/,Li]],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$/,Ui,"steward"],[/[aeiou][^aeiou]id$/,Li,""],[/.[vrl]id$/,Li,"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$/,Ji,"antagonize"],[/.[^aeiou]ise$/,Ji,"antagonise"],[/.[aeiou]te$/,Ji,"bite"],[/.[^aeiou][ai]ble$/,Li,"fixable"],[/.[^aeiou]eable$/,Li,"maleable"],[/.[ts]ive$/,Li,"festive"],[/[a-z]-like$/,Li,"woman-like"]],h:[[/.[^aeiouf]ish$/,Li,"cornish"],[/.v[iy]ch$/,Yi,"..ovich"],[/^ug?h+$/,Ri,"ughh"],[/^uh[ -]?oh$/,Ri,"uhoh"],[/[a-z]-ish$/,Li,"cartoon-ish"]],i:[[/.[oau][wvl]ski$/,Yi,"polish-male"]],k:[[/^(k){2}$/,Ri,"kkkk"]],l:[[/.[gl]ial$/,Li,"familial"],[/.[^aeiou]ful$/,Li,"fitful"],[/.[nrtumcd]al$/,Li,"natal"],[/.[^aeiou][ei]al$/,Li,"familial"]],m:[[/.[^aeiou]ium$/,Ui,"magnesium"],[/[^aeiou]ism$/,Ui,"schism"],[/^[hu]m+$/,Ri,"hmm"],[/^\d+ ?[ap]m$/,"Date","3am"]],n:[[/.[lsrnpb]ian$/,Li,"republican"],[/[^aeiou]ician$/,Zi,"musician"],[/[aeiou][ktrp]in'$/,"Gerund","cookin'"]],o:[[/^no+$/,Ri,"noooo"],[/^(yo)+$/,Ri,"yoo"],[/^wo{2,}[pt]?$/,Ri,"woop"]],r:[[/.[bdfklmst]ler$/,"Noun"],[/[aeiou][pns]er$/,Ui],[/[^i]fer$/,Ji],[/.[^aeiou][ao]pher$/,Zi],[/.[lk]er$/,"Noun"],[/.ier$/,"Comparative"]],t:[[/.[di]est$/,"Superlative"],[/.[icldtgrv]ent$/,Li],[/[aeiou].*ist$/,Li],[/^[a-z]et$/,Xi]],s:[[/.[^aeiou]ises$/,Wi],[/.[rln]ates$/,Wi],[/.[^z]ens$/,Xi],[/.[lstrn]us$/,Ui],[/.[aeiou]sks$/,Wi],[/.[aeiou]kes$/,Wi],[/[aeiou][^aeiou]is$/,Ui],[/[a-z]'s$/,_i],[/^yes+$/,Ri]],v:[[/.[^aeiou][ai][kln]ov$/,Yi]],y:[[/.[cts]hy$/,Li],[/.[st]ty$/,Li],[/.[tnl]ary$/,Li],[/.[oe]ry$/,Ui],[/[rdntkbhs]ly$/,Qi],[/.(gg|bb|zz)ly$/,Li],[/...lly$/,Qi],[/.[gk]y$/,Li],[/[bszmp]{2}y$/,Li],[/.[ai]my$/,Li],[/[ea]{2}zy$/,Li],[/.[^aeiou]ity$/,Ui]]};const ts="Verb",ns="Noun";var as={leftTags:[["Adjective",ns],["Possessive",ns],["Determiner",ns],["Adverb",ts],["Pronoun",ts],["Value",ns],["Ordinal",ns],["Modal",ts],["Superlative",ns],["Demonym",ns],["Honorific","Person"]],leftWords:[["i",ts],["first",ns],["it",ts],["there",ts],["not",ts],["because",ns],["if",ns],["but",ns],["who",ts],["this",ns],["his",ns],["when",ns],["you",ts],["very","Adjective"],["old",ns],["never",ts],["before",ns],["a",ns],["the",ns],["been",ts]],rightTags:[["Copula",ns],["PastTense",ns],["Conjunction",ns],["Modal",ns]],rightWords:[["there",ts],["me",ts],["man","Adjective"],["him",ts],["it",ts],["were",ns],["took",ns],["himself",ts],["went",ns],["who",ns],["jr","Person"]]},rs={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"},os={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"},is={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"},ss={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"},ls={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"},us={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 cs=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 ds=function(e){return Object.entries(e).reduce(((e,t)=>(e[t[1]]=t[0],e)),{})};var hs=function(e={}){return{reversed:!0,both:ds(e.both),ex:ds(e.ex),fwd:e.rev||{}}};const gs=/^([0-9]+)/,ms=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(gs);if(null===n)return t;let a=Number(n[1])||0;return e.substring(0,a)+t.replace(gs,"")}(n,t[n]),e)),{})};var ps=function(e={}){return"string"==typeof e&&(e=JSON.parse(e)),e.fwd=ms(e.fwd||""),e.both=ms(e.both||""),e.rev=ms(e.rev||""),e.ex=ms(e.ex||""),e};const fs=ps({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"}),bs=ps(ss),vs=ps(os),ys=ps(is),ws=hs(fs),ks=hs(bs),Ps=hs(vs),As=hs(ys),Cs=ps(rs),js=ps(ls);var Is={fromPast:fs,fromPresent:bs,fromGerund:vs,fromParticiple:ys,toPast:ws,toPresent:ks,toGerund:Ps,toParticiple:As,toComparative:Cs,toSuperlative:js,fromComparative:hs(Cs),fromSuperlative:hs(js),adjToNoun:ps(us)},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)),{}),Ds=["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)),{}),Hs=[[/([^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 Gs=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(xs[t].forEach((n=>e[n]=t)),e)),{});var Es=xs;var Fs=function(e){let t=e.substring(e.length-3);if(!0===Es.hasOwnProperty(t))return Es[t];let n=e.substring(e.length-2);return!0===Es.hasOwnProperty(n)?Es[n]:"s"===e.substring(e.length-1)?"PresentTense":null};const Os={are:"be",were:"be",been:"be",is:"be",am:"be",was:"be",be:"be",being:"be"};var zs=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=Fs(e)),Os.hasOwnProperty(e))c=Os[e];else if("Participle"===n)c=cs(l,i);else if("PastTense"===n)c=cs(l,a);else if("PresentTense"===n)c=cs(l,r);else{if("Gerund"!==n)return e;c=cs(l,o)}return u&&(c+=" "+u),s&&(c=s+" "+c),c};var Vs=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:cs(i,n),PresentTense:cs(i,a),Gerund:cs(i,r),FutureTense:"will "+i},u=cs(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 Bs={toInfinitive:zs,conjugate:Vs,all:function(e,t){let n=Vs(e,t);return delete n.FutureTense,Object.values(n).filter((e=>e))}};const Ss=function(e,t){const n=t.two.models.toSuperlative;return cs(e,n)},Ks=function(e,t){const n=t.two.models.toComparative;return cs(e,n)};var $s=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",Ls=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]),Js=[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"}],Ws=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"]),Us={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"},{},{},{}],Qs={cool:"cooly",whole:"wholly",full:"fully",good:"well",idle:"idly",public:"publicly",single:"singly",special:"especially"};var Rs=function(e){if(Qs.hasOwnProperty(e))return Qs[e];let t=$s(e,qs);return t||(t=e+"ly"),t};var Zs={toSuperlative:Ss,toComparative:Ks,toAdverb:Rs,toNoun:function(e,t){const n=t.two.models.adjToNoun;return cs(e,n)},fromAdverb:function(e){return e.endsWith("ly")?Ls.has(e)?e.replace(/ically/,"ical"):Ws.has(e)?null:Us.hasOwnProperty(e)?Us[e]:$s(e,Js)||e:null},fromSuperlative:function(e,t){const n=t.two.models.fromSuperlative;return cs(e,n)},fromComparative:function(e,t){const n=t.two.models.fromComparative;return cs(e,n)},all:function(e,t){let n=[e];return n.push(Ss(e,t)),n.push(Ks(e,t)),n.push(Rs(e)),n=n.filter((e=>e)),n=new Set(n),Array.from(n)}},Xs={noun:Ts,verb:Bs,adjective:Zs},_s={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]]||"FutureTense"===e[0]||(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]]=2;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 Ys=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&&(void 0===o[s[0]]||s.length>o[s[0]])&&(o[s[0]]=s.length),!0===_s.hasOwnProperty(i)&&_s[i](t,r,n,a),r[t]=r[t]||i})),delete r[""],delete r.null,delete r[" "],{lex:r,_multi:o}};var el=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&&!al.find((t=>e.endsWith(t)))},ol={two:{quickSplit:el,expandLexicon:Ys,transform:Xs,looksPlural:rl}};var il=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 sl={one:{lexicon:{}},two:{models:Is}};const ll={"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"},ul=function(e,t){const n={model:t,methods:ol};let{lex:a,_multi:r}=ol.two.expandLexicon(e,n);return Object.assign(t.one.lexicon,a),Object.assign(t.one._multiCache,r),t},cl=function(e,t,n){let a=Vs(e,sl);t[a.PastTense]=t[a.PastTense]||"PastTense",t[a.Gerund]=t[a.Gerund]||"Gerund",!0===n&&(t[a.PresentTense]=t[a.PresentTense]||"PresentTense")},dl=function(e,t,n){let a=Ss(e,n);t[a]=t[a]||"Superlative";let r=Ks(e,n);t[r]=t[r]||"Comparative"},hl=function(e,t){let n={};const a=t.one.lexicon;return Object.keys(e).forEach((r=>{const o=e[r];if(n[r]=ll[o],"Noun|Verb"!==o&&"Person|Verb"!==o&&"Actor|Verb"!==o||cl(r,a,!1),"Adj|Present"===o&&(cl(r,a,!0),dl(r,a,t)),"Person|Adj"===o&&dl(r,a,t),"Adj|Gerund"===o||"Noun|Gerund"===o){let e=zs(r,sl,"Gerund");a[e]||(n[e]="Infinitive")}if("Noun|Gerund"!==o&&"Adj|Noun"!==o&&"Person|Noun"!==o||function(e,t,n){let a=Vo(e,n);t[a]=t[a]||"Plural"}(r,a,t),"Adj|Past"===o){let e=zs(r,sl,"PastTense");a[e]||(n[e]="Infinitive")}})),t=ul(n,t)};var gl=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=ul(e.one.lexicon,e)).one.lexicon,e),e=hl(e.two.switches,e),e=il(e)};let ml={one:{_multiCache:{},lexicon:So,frozenLex:{"20th century fox":"Organization","7 eleven":"Organization","motel 6":"Organization","excuse me":"Expression","financial times":"Organization","guns n roses":"Organization","la z boy":"Organization","labour party":"Organization","new kids on the block":"Organization","new york times":"Organization","the guess who":"Organization","thin lizzy":"Organization","prime minister":"Actor","free market":"Singular","lay up":"Singular","living room":"Singular","spin off":"Singular","appeal court":"Uncountable","cold war":"Uncountable","gene pool":"Uncountable","machine learning":"Uncountable","nail polish":"Uncountable","time off":"Uncountable","take part":"Infinitive","bill gates":"Person","doctor who":"Person","he man":"Person","iron man":"Person","kid cudi":"Person","run dmc":"Person","rush limbaugh":"Person","snow white":"Person","tiger woods":"Person","brand new":"Adjective","en route":"Adjective","left wing":"Adjective","off guard":"Adjective","on board":"Adjective","part time":"Adjective","right wing":"Adjective","so called":"Adjective","spot on":"Adjective","straight forward":"Adjective","super duper":"Adjective","tip top":"Adjective","top notch":"Adjective","up to date":"Adjective","win win":"Adjective","brooklyn nets":"SportsTeam","chicago bears":"SportsTeam","houston astros":"SportsTeam","houston dynamo":"SportsTeam","houston rockets":"SportsTeam","houston texans":"SportsTeam","minnesota twins":"SportsTeam","orlando magic":"SportsTeam","san antonio spurs":"SportsTeam","san diego chargers":"SportsTeam","san diego padres":"SportsTeam","iron maiden":"ProperNoun","isle of man":"Country","united states":"Country","united states of america":"Country","prince edward island":"Region","cedar breaks":"Place","cedar falls":"Place","point blank":"Adverb","tiny bit":"Adverb","by the time":"Conjunction","no matter":"Conjunction","civil wars":"Plural","credit cards":"Plural","default rates":"Plural","free markets":"Plural","head starts":"Plural","home runs":"Plural","lay ups":"Plural","phone calls":"Plural","press releases":"Plural","record labels":"Plural","soft serves":"Plural","student loans":"Plural","tax returns":"Plural","tv shows":"Plural","video games":"Plural","took part":"PastTense","takes part":"PresentTense","taking part":"Gerund","taken part":"Participle"}},two:{irregularPlurals:Co,models:Is,suffixPatterns:Bi,prefixPatterns:Mi,endsWith:es,neighbours:as,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'[a-z]{3}/,"LastName","mc'neil"],[/^o'[a-z]{3}/,"LastName","o'connor"],[/^ma?cd[aeiou][a-z]{3}/,"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:Ko,clues:Ai,uncountable:{},orgWords:Ns,placeWords:Ds}};ml=gl(ml);var pl=ml;var fl=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 bl=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 vl=/^(under|over|mis|re|un|dis|semi)-?/;var yl=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(vl.test(r.normal)){let e=r.normal.replace(vl,"");e.length>3&&a.hasOwnProperty(e)&&(r.switch=a[e])}};var wl=function(e,t,n){if(!t||0===t.length)return;if(!0===e.frozen)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 kl=["Acronym","Abbreviation","ProperNoun","Uncountable","Possessive","Pronoun","Activity","Honorific","Month"];var Pl=function(e,t,n){let a=e[t],r=Array.from(a.tags);for(let e=0;ee.tags.has(t)))||(rl(e.normal)?wl(e,"Plural","3-plural-guess"):wl(e,"Singular","3-singular-guess"))}(a),function(e){let t=e.tags;if(t.has("Verb")&&1===t.size){let t=Fs(e.normal);t&&wl(e,t,"3-verb-tense-guess")}}(a)};const Al=/^\p{Lu}[\p{Ll}'’]/u,Cl=/[0-9]/,jl=["Date","Month","WeekDay","Unit","Expression"],Il=/[IVX]/,Nl=/^[IVXLCDM]{2,}$/,Dl=/^M{0,4}(CM|CD|D?C{0,3})(XC|XL|L?X{0,3})(IX|IV|V?I{0,3})$/,Hl={li:!0,dc:!0,md:!0,dm:!0,ml:!0};var Gl=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===Al.test(o)&&!1===Cl.test(o)?jl.find((e=>a.tags.has(e)))||a.pre.match(/["']$/)||"the"===a.normal?null:(Pl(e,t,n),a.tags.has("Noun")||a.frozen||a.tags.clear(),wl(a,"ProperNoun","2-titlecase"),!0):o.length>=2&&Nl.test(o)&&Il.test(o)&&Dl.test(o)&&!Hl[a.normal]?(wl(a,"RomanNumeral","2-xvii"),!0):null};const Tl=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 xl=function(e,t,n){let a=e[t];if(0===a.tags.size){let e=Tl(a.normal,n.two.suffixPatterns);if(null!==e)return wl(a,e,"2-suffix"),a.confidence=.7,!0;if(a.implicit&&(e=Tl(a.implicit,n.two.suffixPatterns),null!==e))return wl(a,e,"2-implicit-suffix"),a.confidence=.7,!0}return null};const El=/['‘’‛‵′`´]/,Fl=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 wl(a,e,"2-prefix"),a.confidence=.5,!0}return null};const Vl=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"]),Bl=function(e){if(!e)return!1;let t=e.normal||e.implicit;return!!Vl.has(t)||(!!(e.tags.has("Date")||e.tags.has("Month")||e.tags.has("WeekDay")||e.tags.has("Year"))||!!e.tags.has("ProperNoun"))},Sl=function(e){return!!e&&(!!e.tags.has("Ordinal")||(!!(e.tags.has("Cardinal")&&e.normal.length<3)||("is"===e.normal||"was"===e.normal)))},Kl=function(e){return e&&(e.tags.has("Date")||e.tags.has("Month")||e.tags.has("WeekDay")||e.tags.has("Year"))};var $l=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(Bl(r)||Bl(o))return wl(n,"Year","2-tagYear");if(a>=1920&&a<2025){if(Sl(r)||Sl(o))return wl(n,"Year","2-tagYear-close");if(Kl(e[t-2])||Kl(e[t+2]))return wl(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 wl(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 Ll=/^[A-Z]('s|,)?$/,Jl=/^[A-Z-]+$/,Wl=/^[A-Z]+s$/,Ul=/([A-Z]\.)+[A-Z]?,?$/,ql=/[A-Z]{2,}('s|,)?$/,Ql=/([a-z]\.)+[a-z]\.?$/,Rl={I:!0,A:!0},Zl={la:!0,ny:!0,us:!0,dc:!0,gb:!0};var Xl=function(e,t,n){let a=e[t];return a.tags.has("RomanNumeral")||a.tags.has("Acronym")||a.frozen?null:function(e,t){let n=e.text;if(!1===Jl.test(n)){if(!(n.length>3&&!0===Wl.test(n)))return!1;n=n.replace(/s$/,"")}return!(n.length>5||Rl.hasOwnProperty(n)||t.one.lexicon.hasOwnProperty(e.normal)||!0!==Ul.test(n)&&!0!==Ql.test(n)&&!0!==Ll.test(n)&&!0!==ql.test(n))}(a,n)?(a.tags.clear(),wl(a,["Acronym","Noun"],"3-no-period-acronym"),!0===Zl[a.normal]&&wl(a,"Place","3-place-acronym"),!0===Wl.test(a.text)&&wl(a,"Plural","3-plural-acronym"),!0):!Rl.hasOwnProperty(a.text)&&Ll.test(a.text)?(a.tags.clear(),wl(a,["Acronym","Noun"],"3-one-letter-acronym"),!0):a.tags.has("Organization")&&a.text.length<=3?(wl(a,"Acronym","3-org-acronym"),!0):a.tags.has("Organization")&&Jl.test(a.text)&&a.text.length<=6?(wl(a,"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},Yl=function(e,t){if(!e)return null;let n=t.find((t=>e.tags.has(t[0])));return n?n[1]:null};var eu=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||_l(e[t-1],r),l=l||_l(e[t+1],o),l=l||Yl(e[t-1],a),l=l||Yl(e[t+1],i),l)return wl(s,l,"3-[neighbour]"),Pl(e,t,n),e[t].confidence=.2,!0}return null};const tu=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 nu=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]&&tu(e[t-1],t-1,a)){o([e[t]],"Organization",n,null,"3-[org-word]");for(let r=t;r>=0&&tu(e[r],r,a);r-=1)o([e[r]],"Organization",n,null,"3-[org-word]")}return null};const au=/'s$/,ru=new Set(["athletic","city","community","eastern","federal","financial","great","historic","historical","local","memorial","municipal","national","northern","provincial","southern","state","western"]),ou=new Set(["center","centre","way","range","bar","bridge","field","pit"]),iu=function(e,t,n){if(!e)return!1;let a=e.tags;return!(a.has("Organization")||a.has("Possessive")||au.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 su=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(!ru.has(e[r].normal)){if(!iu(e[r],r,a))break;o(e.slice(r,t+1),"Place",n,null,"3-[place-of-foo]")}if(ou.has(s))return!1;for(let r=t+1;re[t].tags.has("ProperNoun")&&uu.test(e[t].text)?"Noun":null,du=(e,t,n)=>0!==t||e[1]?null:n,hu={"Adj|Gerund":(e,t)=>cu(e,t),"Adj|Noun":(e,t)=>cu(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)=>cu(e,t),"Adj|Past":(e,t)=>cu(e,t),"Adj|Present":(e,t)=>cu(e,t),"Noun|Gerund":(e,t)=>cu(e,t),"Noun|Verb":(e,t)=>t>0&&cu(e,t)||du(e,t,"Infinitive"),"Plural|Verb":(e,t)=>cu(e,t)||du(e,t,"PresentTense")||function(e,t,n){return 0===t&&e.length>3?n:null}(e,t,"Plural"),"Person|Noun":(e,t)=>cu(e,t),"Person|Verb":(e,t)=>0!==t?cu(e,t):null,"Person|Adj":(e,t)=>0===t&&e.length>1||cu(e,t)?"Person":null};var gu=hu;const mu="undefined"!=typeof process&&process.env?process.env:self.env||{},pu=/^(under|over|mis|re|un|dis|semi)-?/,fu=(e,t)=>{if(!e||!t)return null;let n=e.normal||e.implicit,a=null;return t.hasOwnProperty(n)&&(a=t[n]),a&&mu.DEBUG_TAGS&&console.log(`\n  ↓ - '${n}' `),a},bu=(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&&mu.DEBUG_TAGS&&console.log(`  ↓ - '${e.normal||e.implicit}' (#${r}) `),r=t[r],r};var vu=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(pu.test(l)&&!o[l]&&(l=l.replace(pu,"")),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=fu(e[t+1],n.afterWords);return o=o||fu(e[t-1],n.beforeWords),o=o||bu(e[t-1],n.beforeTags,r),o=o||bu(e[t+1],n.afterTags,r),o}(e,t,i[o],a);gu[o]&&(u=gu[o](e,t)||u),u?(r([s],u,n,null,`3-[switch] (${o})`),Pl(e,t,a)):mu.DEBUG_TAGS&&console.log(`\n -> X - '${l}' : (${o}) `)}};const yu={there:!0,this:!0,it:!0,him:!0,her:!0,us:!0};var wu=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&&!yu[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 ku=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)))},Pu=function(e,t,n,a){for(let r=0;r{fl(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 Iu=function(e){const t=e.world,n=Object.keys(ju);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=Bu.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=Vu};var Ku=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 $u=/'/;var Mu=function(e,t){let n=e[t].normal.split($u)[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 Lu=/'/;var Ju=function(e,t){let n=e[t].normal.split(Lu)[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 Wu=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 Uu={that:!0,there:!0,let:!0,here:!0,everywhere:!0},qu={in:!0,by:!0,for:!0};var Qu=(e,t)=>{let n=e[t];if(Uu.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===qu[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 Ru=/'/,Zu=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)},Xu={d:(e,t)=>Ju(e,t),t:(e,t)=>Wu(e,t),s:(e,t,n)=>Qu(e,t)?n.methods.one.setTag([e[t]],"Possessive",n,null,"2-contraction"):Mu(e,t)},_u=function(e,t){let n=t.fromText(e.join(" "));return n.compute("id"),n.docs[0]};var Yu={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===Ru.test(a[o].normal)&&(i=a[o].normal.split(Ru)[1]);let s=null;Xu.hasOwnProperty(i)&&(s=Xu[i](a,o,t)),s&&(s=_u(s,e),Ku(n,[r,o],s),Zu(n[r],e,o,s.length))}}))}},ec={compute:Yu,api:Su,hooks:["contractionTwo"]};const tc="(hard|fast|late|early|high|right|deep|close|direct)";const nc="(i|we|they)";let ac=[].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 ${tc}`,tag:"#PresentTense #Adverb",reason:"studies-hard"},{match:`#Verb [${tc}] !#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:nc,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:nc,group:0,tag:"Imperative",reason:"do-it-better"},{match:"^[#Infinitive] it (please|now|again|plz)",notIf:nc,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:"#Determiner #Noun+ [who] #Verb",group:0,tag:"Preposition",reason:"the-x-who"},{match:"#Determiner #Noun+ [which] #Verb",group:0,tag:"Preposition",reason:"the-x-which"},{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:"#Place+ #SportsTeam",tag:"SportsTeam",reason:"place-sportsteam"},{match:"(dc|atlanta|minnesota|manchester|newcastle|sheffield) united",tag:"SportsTeam",reason:"united-sportsteam"},{match:"#Place+ fc",tag:"SportsTeam",reason:"fc-sportsteam"}],[{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 rc=null;var oc={postTagger:function(e){const{world:t}=e,{model:n,methods:a}=t;rc=rc||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(rc),e.uncache(),e.unfreeze(),e},tagger:e=>e.compute(["lexicon","preTagger","postTagger"])};const ic={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:oc,model:{two:{matches:ac}},hooks:["postTagger"]};var sc=ic;var lc=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 uc=function(e,t){let n=t;"string"==typeof t&&(n=this.buildNet([{match:t}]));let a=this.tokenize(e),r=lc(a,n);return r.found?(r.compute(["index","tagger"]),r.match(t)):a.none()},cc={lib:{lazy:uc}};var dc=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 hc=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")?dc(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 gc={api:function(e){e.prototype.swap=hc}};b.plugin(Fu),b.plugin(ec),b.plugin(sc),b.plugin(cc),b.plugin(gc);export{b as default}; diff --git a/changelog.md b/changelog.md index f18c1d25b..9d5803731 100644 --- a/changelog.md +++ b/changelog.md @@ -15,11 +15,19 @@ While all _Major_ releases should be reviewed, our only _large_ releases are **v - remove confidence numbers --> - +#### 14.11.0 [Dec 2023] + +- **[new]** - tagging `.freeze()` and `.unfreeze()` feature +- **[change]** - stronger deferal to internal lexicon +- **[change]** - support any-length phrases in lexicon +- **[fix]** - prevent missed overlapping lexicon phrases +- **[update]** - dependencies + #### 14.10.1 [Nov 2023] - **[fix]** - abbreviation checks for sentence-tokenizer #1061 diff --git a/data/lexicon/adjectives/adjectives.js b/data/lexicon/adjectives/adjectives.js index 4876f8b8d..485b2b428 100644 --- a/data/lexicon/adjectives/adjectives.js +++ b/data/lexicon/adjectives/adjectives.js @@ -119,7 +119,7 @@ export default [ 'ample', 'same', 'supreme', - 'part-time', + 'part time', 'profane', 'humane', 'insane', @@ -232,8 +232,8 @@ export default [ 'lumbering', 'nausiating', 'preexisting', - 'left-wing', - 'right-wing', + 'left wing', + 'right wing', 'mindblowing', 'knowing', 'appetizing', @@ -249,7 +249,6 @@ export default [ 'squeamish', 'loutish', - 'mammoth', 'north', 'south', @@ -472,7 +471,6 @@ export default [ 'congruent', 'insolvent', - 'conjoint', 'disjoint', 'in front', @@ -812,4 +810,3 @@ export default [ 'pointy', 'testy', ] - diff --git a/data/lexicon/adjectives/comparables.js b/data/lexicon/adjectives/comparables.js index 585d34be1..87d7b9364 100644 --- a/data/lexicon/adjectives/comparables.js +++ b/data/lexicon/adjectives/comparables.js @@ -17,8 +17,11 @@ export default [ 'bouncy', 'brash', 'brave', + 'bright', 'brilliant', + 'broad', 'brown', + 'buff', 'burly', 'busy', 'cagey', @@ -27,6 +30,7 @@ export default [ 'chilly', 'clever', 'cloudy', + 'coarse', 'cold', 'common', 'costly', @@ -38,12 +42,17 @@ export default [ 'curly', 'cute', 'dapper', + 'dark', + 'dead', 'deadly', + 'deaf', 'dear', + 'deep', 'dense', 'dire', 'dirty', 'divine', + 'dizzy', 'drunk', 'dumb', 'early', @@ -57,12 +66,15 @@ export default [ 'far', 'faulty', 'feeble', - 'fierce ', 'fierce', 'financial', + 'flat', + 'flirty', 'foamy', + 'fond', 'formal', 'frail', + 'fresh', 'friendly', 'full', 'fun', @@ -82,16 +94,22 @@ export default [ 'goofy', 'grand', 'gray', + 'great', + 'greedy', 'green', 'grey', + 'grim', 'grisly', 'groovy', 'gross', 'gruesome', 'handsome', 'happy', + 'hard', + 'hardy', 'harsh', 'heady', + 'hearty', 'heavenly', 'heavy', 'hefty', @@ -117,13 +135,17 @@ export default [ 'lame', 'large', 'late', + 'leery', 'lewd', 'likely', + 'lil', + 'limp', 'little', 'lively', 'lofty', 'lonely', 'long', + 'loose', 'loud', 'lousy', 'lovely', @@ -131,24 +153,29 @@ export default [ 'lowly', 'loyal', 'lucky', + 'mad', 'measly', 'meaty', 'meek', 'mellow', 'mild', + 'moist', 'moody', 'mundane', 'mute', 'naive', 'near', 'neat', + 'nerdy', 'new', + 'nibbly', 'nice', 'nimble', 'noble', 'noisy', 'normal', 'nosy', + 'numb', 'odd', 'oily', 'old', @@ -168,34 +195,45 @@ export default [ 'pure', 'purple', 'quaint', + 'quick', + 'quiet', 'ragged', + 'rainy', 'random', 'rapid', 'rare', 'raw', 'ready', 'real', + 'red', 'remote', 'rich', + 'ripe', 'ritzy', 'romantic', 'roomy', 'rosy', + 'rough', 'round', 'rude', + 'sad', 'safe', 'saintly', 'salty', 'savvy', + 'scanty', 'scarce', 'scary', 'severe', 'sexy', 'shady', 'shallow', + 'sharp', 'shiny', 'shrill', 'shy', + 'sick', + 'sickly', 'silly', 'simple', 'skinny', @@ -206,8 +244,10 @@ export default [ 'slimy', 'sly', 'small', + 'smart', 'smelly', 'social', + 'soft', 'solemn', 'solid', 'soon', @@ -217,8 +257,12 @@ export default [ 'sprightly', 'stale', 'stark', + 'stately', 'steady', + 'steep', 'stern', + 'stiff', + 'straight', 'strange', 'strict', 'strong', @@ -229,17 +273,21 @@ export default [ 'sudden', 'superficial', 'surreal', + 'sweet', 'swift', 'tall', 'tame', 'tart', 'tawdry', 'tense', + 'thick', 'thirsty', 'tidy', + 'tight', 'timely', 'tiny', 'tired', + 'tough', 'tranquil', 'trendy', 'true', @@ -250,9 +298,13 @@ export default [ 'verdant', 'vulgar', 'wary', + 'weak', 'weary', 'weird', + 'whiny', + 'white', 'wicked', + 'wide', 'wild', 'wily', 'windy', @@ -262,59 +314,4 @@ export default [ 'yellow', 'young', 'zany', - - 'bright', - 'broad', - 'coarse', - 'dark', - 'dead', - 'deaf', - 'deep', - 'flat', - 'fresh', - 'great', - 'hard', - 'loose', - 'mad', - 'moist', - 'quick', - 'quiet', - 'red', - 'ripe', - 'rough', - 'sad', - 'sharp', - 'sick', - 'smart', - 'soft', - 'steep', - 'stiff', - 'straight', - 'sweet', - 'thick', - 'tight', - 'tough', - 'weak', - 'white', - 'wide', - 'stately', - 'nibbly', - 'dizzy', - 'fond', - 'flirty', - 'grim', - 'lil', - 'rainy', - 'whiny', - 'nerdy', - 'hardy', - 'drunk', - 'buff', - 'greedy', - 'hearty', - 'leery', - 'limp', - 'numb', - 'scanty', - 'sickly', ] diff --git a/data/lexicon/dates/dates.js b/data/lexicon/dates/dates.js index e391ddc2e..7547328ea 100644 --- a/data/lexicon/dates/dates.js +++ b/data/lexicon/dates/dates.js @@ -1,5 +1,6 @@ // uncontroversial date words -export default ['today', +export default [ + 'today', 'tomorrow', 'tmr', 'tmrw', @@ -8,10 +9,6 @@ export default ['today', 'weekends', 'week end', 'ago', - 'q1', - 'q2', - 'q3', - 'q4', 'someday', - 'oneday' + 'oneday', ] diff --git a/data/lexicon/index.js b/data/lexicon/index.js index 0895f9528..49493b7ba 100644 --- a/data/lexicon/index.js +++ b/data/lexicon/index.js @@ -49,7 +49,6 @@ import determiners from './misc/determiners.js' import expressions from './misc/expressions.js' import prepositions from './misc/prepositions.js' - import actorVerb from './switches/actor-verb.js' import adjGerund from './switches/adj-gerund.js' import adjNoun from './switches/adj-noun.js' @@ -64,7 +63,6 @@ import personPlace from './switches/person-place.js' import personAdj from './switches/person-adj.js' import unitNoun from './switches/unit-noun.js' - //add-in the generic, flat word-lists const data = [ // nouns @@ -110,7 +108,7 @@ const data = [ [prepositions, 'Preposition'], [comparables, 'Comparable'], - [infinitives, 'Infinitive'],//3kb + [infinitives, 'Infinitive'], //3kb [modals, 'Modal'], [verbs, 'Verb'], [participles, 'Participle'], @@ -138,10 +136,15 @@ for (let i = 0; i < data.length; i++) { // if (lex[list[o]]) { // console.log(list[o] + ' ' + lex[list[o]] + ' ' + data[i][1]) // } - lex[list[o]] = data[i][1] + let str = list[o] + //do some linting + if (str.match(/[.,0-9-]/) || str.trim().toLowerCase() !== str) { + console.log(`'${str}'`) //eslint-disable-line + } + lex[str] = data[i][1] } } export default lex // console.log(Object.keys(lex).length); -// console.log(lex[`become`]) +// console.log(lex[`will want`]) diff --git a/data/lexicon/misc/prepositions.js b/data/lexicon/misc/prepositions.js index 5d9189c8d..c36ade35b 100644 --- a/data/lexicon/misc/prepositions.js +++ b/data/lexicon/misc/prepositions.js @@ -1,5 +1,4 @@ export default [ - '-', //june - july 'about', 'across', 'after', @@ -57,7 +56,7 @@ export default [ 'upon', 'versus', 'via', - 'vis-a-vis', + 'vis a vis', 'w/o', 'whereas', 'with', diff --git a/data/lexicon/nouns/actors.js b/data/lexicon/nouns/actors.js index 7691c2ab5..32671283d 100644 --- a/data/lexicon/nouns/actors.js +++ b/data/lexicon/nouns/actors.js @@ -101,7 +101,7 @@ export default [ 'clerk', 'client', 'clown', - 'co-worker', + 'coworker', 'colleague', 'colonel', 'columnist', @@ -129,7 +129,6 @@ export default [ 'count', 'countess', 'courier', - 'cousin ', 'cousin', 'cowboy', 'critic', @@ -142,7 +141,6 @@ export default [ 'dancer', 'daredevil', 'darling', - 'daughter ', 'daughter', 'deacon', 'dealer', @@ -166,7 +164,6 @@ export default [ 'doctor', 'dork', 'drifter', - 'driver ', 'driver', 'dude', 'dutchess', @@ -261,7 +258,7 @@ export default [ 'idol', 'illustrator', 'immigrant', - 'in-law', + 'in law', 'incel', 'individual', 'infant', @@ -274,7 +271,6 @@ export default [ 'intern', 'inventor', 'investigator', - 'janitor ', 'jester', 'jogger', 'journalist', diff --git a/data/lexicon/nouns/organizations.js b/data/lexicon/nouns/organizations.js index 7315fe142..0460623c7 100644 --- a/data/lexicon/nouns/organizations.js +++ b/data/lexicon/nouns/organizations.js @@ -11,7 +11,7 @@ export default [ 'airbnb', 'al jazeera', 'al qaeda', - 'alcatel-lucent', + 'alcatel lucent', 'alcatel', 'altair', 'amc', @@ -19,7 +19,7 @@ export default [ 'american express', 'amt', 'amtrak', - 'anheuser-busch', + 'anheuser busch', 'aol', 'apple computers', 'argos', @@ -56,7 +56,7 @@ export default [ 'cbc', 'chevron', 'chevy', - 'chick fil-a', + 'chick fil a', 'china daily', 'cia', 'cisco systems', @@ -273,14 +273,15 @@ export default [ 'ywca', // 'mercedes', - `applebee's`, - `arby's`, - `carl's jr`, - `l'oreal`, - `mac's milk`, - `mcdonald's`, - `quizno's`, - `sainsbury's`, + `applebees`, + `applebees`, + `arbys`, + `carls jr`, + `le oreal`, //l'oreal + `macs milk`, + `mcdonalds`, + `quiznos`, + `sainsburys`, //some bands 'abba', @@ -301,7 +302,7 @@ export default [ 'motley crue', 'new kids on the block', 'pink floyd', - 'r.e.m.', + // 'r.e.m.', 'radiohead', 'red hot chili peppers', 'sex pistols', @@ -319,7 +320,7 @@ export default [ 'the supremes', 'the who', 'thin lizzy', - 'u2', + // 'u2', 'van halen', `destiny's child`, diff --git a/data/lexicon/nouns/pronouns.js b/data/lexicon/nouns/pronouns.js index 767cb81eb..7f267c3d2 100644 --- a/data/lexicon/nouns/pronouns.js +++ b/data/lexicon/nouns/pronouns.js @@ -14,7 +14,5 @@ export default [ 'thee', 'il', 'elle', - `'em`, - `he's`, - `she's`, + // `'em`, ] diff --git a/data/lexicon/nouns/properNouns.js b/data/lexicon/nouns/properNouns.js index 451902070..fdab921c5 100644 --- a/data/lexicon/nouns/properNouns.js +++ b/data/lexicon/nouns/properNouns.js @@ -14,6 +14,7 @@ export default [ 'florence', 'stevens', 'abid', + 'mcgill', // currencies 'nis', 'riel', diff --git a/data/lexicon/nouns/sportsTeams.js b/data/lexicon/nouns/sportsTeams.js index 27814a4ad..e3bbc2e05 100644 --- a/data/lexicon/nouns/sportsTeams.js +++ b/data/lexicon/nouns/sportsTeams.js @@ -8,27 +8,28 @@ export default [ 'chicago white sox', 'cincinnati reds', 'cleveland indians', + 'cleveland guardians', 'colorado rockies', 'detroit tigers', 'houston astros', - 'kansas city royals', - 'los angeles dodgers', 'miami marlins', 'milwaukee brewers', 'minnesota twins', - 'new york mets', - 'new york yankees', 'oakland athletics', 'philadelphia phillies', 'pittsburgh pirates', - 'san diego padres', - 'san francisco giants', 'seattle mariners', - 'st. louis cardinals', - 'tampa bay rays', 'texas rangers', 'toronto blue jays', 'washington nationals', + 'tampa bay rays', + 'new york mets', + 'new york yankees', + 'san diego padres', + 'kansas city royals', + 'los angeles dodgers', + 'san francisco giants', + 'st louis cardinals', 'diamondbacks', 'white sox', 'astros', @@ -42,7 +43,6 @@ export default [ 'boston celtics', 'brooklyn nets', 'new york knicks', - 'philadelphia 76ers', 'toronto raptors', 'chicago bulls', 'cleveland cavaliers', @@ -57,13 +57,13 @@ export default [ 'dallas mavericks', 'houston rockets', 'memphis grizzlies', - 'new orleans pelicans', - 'san antonio spurs', 'denver nuggets', + 'utah jazz', 'minnesota timberwolves', + 'new orleans pelicans', + 'san antonio spurs', 'portland trail blazers', 'oklahoma city thunder', - 'utah jazz', 'golden state warriors', 'los angeles clippers', 'los angeles lakers', @@ -72,6 +72,7 @@ export default [ 'knicks', 'lakers', 'celtics', + // 'philadelphia 76ers', //nfl 'arizona cardinals', @@ -100,26 +101,22 @@ export default [ 'philadelphia eagles', 'pittsburgh steelers', 'san diego chargers', - 'san francisco 49ers', + // 'san francisco 49ers', 'seattle seahawks', - 'st. louis rams', + 'st louis rams', 'tampa bay buccaneers', 'tennessee titans', 'washington redskins', //mls - 'atlanta united', 'chicago fire', 'colorado rapids', 'columbus crew sc', - 'd.c. united', 'fc dallas', 'houston dynamo', 'la galaxy', - 'minnesota united', 'montreal impact', 'new england revolution', - 'new york city fc', 'new york red bulls', 'philadelphia union', 'portland timbers', @@ -128,17 +125,21 @@ export default [ 'seattle sounders', 'sporting kansas city', 'vancouver whitecaps', + // 'new york city fc', + // 'atlanta united', + // 'dc united', + // 'minnesota united', //premier league soccer (mostly city+fc) 'aston villa', 'blackburn rovers', 'cardiff city', 'leicester city', 'manchester city', - 'manchester united', - 'newcastle united', 'queens park rangers', - 'sheffield united', 'stoke city', 'tottenham hotspur', - 'west ham united', + // 'sheffield united', + // 'manchester united', + // 'newcastle united', + // 'west ham united', ] diff --git a/data/lexicon/people/femaleNames.js b/data/lexicon/people/femaleNames.js index bc754806f..d3f5e2a56 100644 --- a/data/lexicon/people/femaleNames.js +++ b/data/lexicon/people/femaleNames.js @@ -1160,14 +1160,6 @@ export default [ 'margrette', 'marguerite', 'mari', - 'maria alice', - 'maria cecilia', - 'maria clara', - 'maria eduarda', - 'maria fernanda', - 'maria jose', - 'maria julia', - 'maria luiza', 'maria', 'mariah', 'mariam', @@ -1301,7 +1293,6 @@ export default [ 'natalie', 'natasha', 'nathalie', - 'nazanin zahra', 'nehir', 'nel', 'nela', @@ -1455,7 +1446,6 @@ export default [ 'rosalyn', 'rosanna', 'rosanne', - 'rose merline', 'roseann', 'roseanne', 'rosella', diff --git a/data/lexicon/people/lastnames.js b/data/lexicon/people/lastnames.js index 1c2e33497..4ab2e413d 100644 --- a/data/lexicon/people/lastnames.js +++ b/data/lexicon/people/lastnames.js @@ -797,8 +797,6 @@ export default [ 'stevens', 'watson', - "o'brien", - "o'connor", 'koch', 'peters', 'jacobs', diff --git a/data/lexicon/people/maleNames.js b/data/lexicon/people/maleNames.js index fed7d095d..5e35aa0a6 100644 --- a/data/lexicon/people/maleNames.js +++ b/data/lexicon/people/maleNames.js @@ -4,7 +4,6 @@ export default [ 'aarav', 'aaron', 'abdallah', - 'abdel rahman', 'abdel', 'abdoulaye', 'abdul', diff --git a/data/lexicon/people/people.js b/data/lexicon/people/people.js index 2f5b3f76c..8683ecca8 100644 --- a/data/lexicon/people/people.js +++ b/data/lexicon/people/people.js @@ -80,7 +80,7 @@ export default [ 'santigold', 'timbaland', 'yanni', - 'will.i.am', + // 'will.i.am', //tricky female names 'halle berry', @@ -167,7 +167,7 @@ export default [ 'shia labeouf', 'snoop dogg', 'snow white', - 'spider-man', + 'spider man', 'spiderman', 'superman', 'thor', diff --git a/data/lexicon/places/countries.js b/data/lexicon/places/countries.js index e6cf126a1..b1180ad3a 100644 --- a/data/lexicon/places/countries.js +++ b/data/lexicon/places/countries.js @@ -48,7 +48,7 @@ export default [ 'cocos islands', 'colombia', 'comoros', - 'congo-brazzaville', + 'congo brazzaville', 'cook islands', 'costa rica', 'croatia', @@ -91,7 +91,7 @@ export default [ 'guam', 'guatemala', 'guernsey', - 'guinea-bissau', + 'guinea bissau', 'guinea', 'guyana', 'haiti', @@ -214,20 +214,19 @@ export default [ 'tajikistan', 'tanzania', 'thailand', - 'timor-leste', + 'timor leste', 'togo', 'tokelau', 'tonga', 'trinidad and tobago', - 'trinidad-tobago', + 'trinidad tobago', 'tunisia', 'turkey', 'turkmenistan', 'turks and caicos islands', 'tuvalu', - 'u.k.', - 'u.s. virgin islands', - 'u.s.a.', + 'uk', + 'us virgin islands', 'uganda', 'ukraine', 'united arab emirates', @@ -247,6 +246,6 @@ export default [ 'yemen', 'zambia', 'zimbabwe', - `cote d'ivoire`, + `cote de ivoire`, // 'jordan', //... or a name? ] diff --git a/data/lexicon/places/places.js b/data/lexicon/places/places.js index 10b610271..91d5d7955 100644 --- a/data/lexicon/places/places.js +++ b/data/lexicon/places/places.js @@ -109,6 +109,7 @@ export default [ 'browns canyon', 'carrizo plain', 'cedar breaks', + 'cedar falls', 'chichen itza', 'chimney rock', 'chiricahua', diff --git a/data/lexicon/places/regions.js b/data/lexicon/places/regions.js index e4887fdfd..e40a11e7c 100644 --- a/data/lexicon/places/regions.js +++ b/data/lexicon/places/regions.js @@ -222,5 +222,5 @@ export default [ 'khakassia', 'chechnya', 'chuvashia', - 'crimea ', + 'crimea', ] diff --git a/data/lexicon/verbs/phrasals.js b/data/lexicon/verbs/phrasals.js index 74fc1a3f2..bab20e97d 100644 --- a/data/lexicon/verbs/phrasals.js +++ b/data/lexicon/verbs/phrasals.js @@ -169,7 +169,6 @@ export default [ 'come forth', 'come forward', 'come in', - 'come on', 'come off', 'come up', 'come out', @@ -951,5 +950,5 @@ export default [ 'zip over', 'zone out', 'zonk out', - 'grab hold' + 'grab hold', ] diff --git a/package-lock.json b/package-lock.json index eaae9337e..ac0e9954b 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "compromise", - "version": "14.10.1", + "version": "14.11.0", "lockfileVersion": 2, "requires": true, "packages": { "": { "name": "compromise", - "version": "14.10.1", + "version": "14.11.0", "license": "MIT", "dependencies": { "efrt": "2.7.0", @@ -15,7 +15,7 @@ }, "devDependencies": { "@rollup/plugin-node-resolve": "15.1.0", - "@rollup/plugin-terser": "0.4.3", + "@rollup/plugin-terser": "0.4.4", "amble": "1.3.0", "cross-env": "^7.0.3", "eslint": "8.53.0", @@ -65,9 +65,9 @@ } }, "node_modules/@eslint/eslintrc": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-2.1.3.tgz", - "integrity": "sha512-yZzuIG+jnVu6hNSzFEN07e8BxF3uAzYtQb6uDkaYZLo6oYZDCq454c5kB8zxnzfCYyP4MIuyBn10L0DqwujTmA==", + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-2.1.4.tgz", + "integrity": "sha512-269Z39MS6wVJtsoUl10L60WdkhJVdPG24Q4eZTH3nnF6lpvSShEK3wQjDX9JRWAUPvPh7COouPpU9IrqaZFvtQ==", "dev": true, "dependencies": { "ajv": "^6.12.4", @@ -272,9 +272,9 @@ } }, "node_modules/@rollup/plugin-terser": { - "version": "0.4.3", - "resolved": "https://registry.npmjs.org/@rollup/plugin-terser/-/plugin-terser-0.4.3.tgz", - "integrity": "sha512-EF0oejTMtkyhrkwCdg0HJ0IpkcaVg1MMSf2olHb2Jp+1mnLM04OhjpJWGma4HobiDTF0WCyViWuvadyE9ch2XA==", + "version": "0.4.4", + "resolved": "https://registry.npmjs.org/@rollup/plugin-terser/-/plugin-terser-0.4.4.tgz", + "integrity": "sha512-XHeJC5Bgvs8LfukDwWZp7yeqin6ns8RTl2B9avbejt6tZqsqvVoWI7ZTQrcNsfKEDWBTnTxM8nMDkO2IFFbd0A==", "dev": true, "dependencies": { "serialize-javascript": "^6.0.1", @@ -285,7 +285,7 @@ "node": ">=14.0.0" }, "peerDependencies": { - "rollup": "^2.x || ^3.x" + "rollup": "^2.0.0||^3.0.0||^4.0.0" }, "peerDependenciesMeta": { "rollup": { @@ -1383,9 +1383,9 @@ } }, "node_modules/globals": { - "version": "13.23.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-13.23.0.tgz", - "integrity": "sha512-XAmF0RjlrjY23MA51q3HltdlGxUpXPvg0GioKiD9X6HD28iMjo2dKC8Vqwm7lne4GNr78+RHTfliktR6ZH09wA==", + "version": "13.24.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-13.24.0.tgz", + "integrity": "sha512-AhO5QUcj8llrbG09iWhPU2B204J1xnPeL8kQmVorSsy+Sjj1sk8gIyh6cUocGmH4L0UuhAJy+hJMRA4mgA4mFQ==", "dev": true, "dependencies": { "type-fest": "^0.20.2" @@ -3124,9 +3124,9 @@ "dev": true }, "@eslint/eslintrc": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-2.1.3.tgz", - "integrity": "sha512-yZzuIG+jnVu6hNSzFEN07e8BxF3uAzYtQb6uDkaYZLo6oYZDCq454c5kB8zxnzfCYyP4MIuyBn10L0DqwujTmA==", + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-2.1.4.tgz", + "integrity": "sha512-269Z39MS6wVJtsoUl10L60WdkhJVdPG24Q4eZTH3nnF6lpvSShEK3wQjDX9JRWAUPvPh7COouPpU9IrqaZFvtQ==", "dev": true, "requires": { "ajv": "^6.12.4", @@ -3277,9 +3277,9 @@ } }, "@rollup/plugin-terser": { - "version": "0.4.3", - "resolved": "https://registry.npmjs.org/@rollup/plugin-terser/-/plugin-terser-0.4.3.tgz", - "integrity": "sha512-EF0oejTMtkyhrkwCdg0HJ0IpkcaVg1MMSf2olHb2Jp+1mnLM04OhjpJWGma4HobiDTF0WCyViWuvadyE9ch2XA==", + "version": "0.4.4", + "resolved": "https://registry.npmjs.org/@rollup/plugin-terser/-/plugin-terser-0.4.4.tgz", + "integrity": "sha512-XHeJC5Bgvs8LfukDwWZp7yeqin6ns8RTl2B9avbejt6tZqsqvVoWI7ZTQrcNsfKEDWBTnTxM8nMDkO2IFFbd0A==", "dev": true, "requires": { "serialize-javascript": "^6.0.1", @@ -4112,9 +4112,9 @@ } }, "globals": { - "version": "13.23.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-13.23.0.tgz", - "integrity": "sha512-XAmF0RjlrjY23MA51q3HltdlGxUpXPvg0GioKiD9X6HD28iMjo2dKC8Vqwm7lne4GNr78+RHTfliktR6ZH09wA==", + "version": "13.24.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-13.24.0.tgz", + "integrity": "sha512-AhO5QUcj8llrbG09iWhPU2B204J1xnPeL8kQmVorSsy+Sjj1sk8gIyh6cUocGmH4L0UuhAJy+hJMRA4mgA4mFQ==", "dev": true, "requires": { "type-fest": "^0.20.2" diff --git a/package.json b/package.json index a6330091a..c0358943c 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.1", + "version": "14.11.0", "module": "./src/three.js", "main": "./src/three.js", "unpkg": "./builds/compromise.js", @@ -103,7 +103,7 @@ }, "devDependencies": { "@rollup/plugin-node-resolve": "15.1.0", - "@rollup/plugin-terser": "0.4.3", + "@rollup/plugin-terser": "0.4.4", "amble": "1.3.0", "cross-env": "^7.0.3", "eslint": "8.53.0", diff --git a/plugins/dates/index.d.ts b/plugins/dates/index.d.ts index e32bac6af..392167d51 100644 --- a/plugins/dates/index.d.ts +++ b/plugins/dates/index.d.ts @@ -25,6 +25,6 @@ export interface DatesMethods { } /** extended compromise lib **/ -declare const nlpSpeed: nlp.TypedPlugin +declare const nlpDates: nlp.TypedPlugin -export default nlpSpeed +export default nlpDates diff --git a/scratch.js b/scratch.js index cb121446f..f34dbada3 100644 --- a/scratch.js +++ b/scratch.js @@ -2,11 +2,12 @@ import nlp from './src/three.js' // import plg from './plugins/dates/src/plugin.js' // nlp.plugin(plg) - -nlp.verbose('tagger') +// nlp.verbose('tagger') let arr = [ - 'government of india', + // 'new york mets', + 'new york yankees', + 'new york rangers', 'Waterloo Catholic District School Board', // 'the cineplex of Tokyo', // 'Castner Range', @@ -336,7 +337,7 @@ let arr = [ // 'what companies are doing is', ] -let doc = nlp(arr[0]).debug() +// let doc = nlp(arr[0]).debug() // console.log(doc.people().debug().json()) // let p = doc.pronouns().debug().refersTo().debug() // console.log(nlp('colored').debug().verbs().conjugate()) diff --git a/src/1-one/contraction-one/compute/contractions/french.js b/src/1-one/contraction-one/compute/contractions/french.js index ad09e8ce3..1265b30c2 100644 --- a/src/1-one/contraction-one/compute/contractions/french.js +++ b/src/1-one/contraction-one/compute/contractions/french.js @@ -1,5 +1,6 @@ const hasContraction = /'/ - +const isFeminine = /(e|é|aison|sion|tion)$/ +const isMasculine = /(age|isme|acle|ege|oire)$/ // l'amour const preL = (terms, i) => { // le/la @@ -15,7 +16,7 @@ const preL = (terms, i) => { const preD = (terms, i) => { let after = terms[i].normal.split(hasContraction)[1] // quick guess for noun-agreement (rough) - if (after && after.endsWith('e')) { + if (after && isFeminine.test(after) && !isMasculine.test(after)) { return ['du', after] } else if (after && after.endsWith('s')) { return ['des', after] diff --git a/src/1-one/contraction-one/compute/contractions/index.js b/src/1-one/contraction-one/compute/contractions/index.js index d1d6d4d39..70492bfd3 100644 --- a/src/1-one/contraction-one/compute/contractions/index.js +++ b/src/1-one/contraction-one/compute/contractions/index.js @@ -81,7 +81,7 @@ const thereHas = function (terms, i) { } //really easy ones -const contractions = (view) => { +const contractions = view => { let { world, document } = view const { model, methods } = world let list = model.one.contractions || [] @@ -93,7 +93,9 @@ const contractions = (view) => { let before = null let after = null if (byApostrophe.test(terms[i].normal) === true) { - [before, after] = terms[i].normal.split(byApostrophe) + let res = terms[i].normal.split(byApostrophe) + before = res[0] + after = res[1] } // any known-ones, like 'dunno'? let words = knownOnes(list, terms[i], before, after) @@ -122,7 +124,7 @@ const contractions = (view) => { if (words) { words = toDocs(words, view) splice(document, [n, i], words) - methods.one.setTag(words, 'NumberRange', world)//add custom tag + methods.one.setTag(words, 'NumberRange', world) //add custom tag // is it a time-range, like '5-9pm' if (words[2] && words[2].tags.has('Time')) { methods.one.setTag([words[0]], 'Time', world, null, 'time-range') diff --git a/src/1-one/freeze/plugin.js b/src/1-one/freeze/plugin.js new file mode 100644 index 000000000..ff6cfb73d --- /dev/null +++ b/src/1-one/freeze/plugin.js @@ -0,0 +1,37 @@ +export default { + // lib: { + // freeze: function (obj) { + // this.world().model.two.freeze = obj + // }, + // }, + + mutate: world => { + // add @isFrozen method + world.methods.one.termMethods.isFrozen = term => term.frozen === true + }, + + api: function (View) { + // set all terms to reject any desctructive tags + View.prototype.freeze = function () { + this.docs.forEach(ts => { + ts.forEach(term => { + term.frozen = true + }) + }) + return this + } + // reset all terms to allow any desctructive tags + View.prototype.unfreeze = function () { + this.docs.forEach(ts => { + ts.forEach(term => { + delete term.frozen + }) + }) + return this + } + // return all frozen terms + View.prototype.isFrozen = function () { + return this.match('@isFrozen+') + } + }, +} diff --git a/src/1-one/lexicon/compute/index.js b/src/1-one/lexicon/compute/index.js index 3de8ff0d7..a5dbc7744 100644 --- a/src/1-one/lexicon/compute/index.js +++ b/src/1-one/lexicon/compute/index.js @@ -18,5 +18,5 @@ const lexicon = function (view) { } export default { - lexicon -} \ No newline at end of file + lexicon, +} diff --git a/src/1-one/lexicon/compute/multi-word.js b/src/1-one/lexicon/compute/multi-word.js index c6ab9237b..b3c5a2c3c 100644 --- a/src/1-one/lexicon/compute/multi-word.js +++ b/src/1-one/lexicon/compute/multi-word.js @@ -1,41 +1,39 @@ - // scan-ahead to match multiple-word terms - 'jack rabbit' -const checkMulti = function (terms, i, lexicon, setTag, world) { - let max = i + 4 > terms.length ? terms.length - i : 4 - let str = terms[i].machine || terms[i].normal - for (let skip = 1; skip < max; skip += 1) { - let t = terms[i + skip] - let word = t.machine || t.normal - str += ' ' + word - if (lexicon.hasOwnProperty(str) === true) { - let tag = lexicon[str] - let ts = terms.slice(i, i + skip + 1) - setTag(ts, tag, world, false, '1-multi-lexicon') - - // special case for phrasal-verbs - 2nd word is a #Particle - if (tag && tag.length === 2 && (tag[0] === 'PhrasalVerb' || tag[1] === 'PhrasalVerb')) { - // guard against 'take walks in' - // if (terms[i + skip - 2] && terms[i + skip - 2].tags.has('Infinitive')) { } - setTag([ts[1]], 'Particle', world, false, '1-phrasal-particle') - } - return true - } - } - return false -} - -const multiWord = function (terms, i, world) { +const multiWord = function (terms, start_i, world) { const { model, methods } = world - // const { fastTag } = methods.one const setTag = methods.one.setTag const multi = model.one._multiCache || {} - const lexicon = model.one.lexicon || {} - // basic lexicon lookup - let t = terms[i] + const { lexicon, frozenLex } = model.one || {} + let t = terms[start_i] let word = t.machine || t.normal - // multi-word lookup - if (terms[i + 1] !== undefined && multi[word] === true) { - return checkMulti(terms, i, lexicon, setTag, world) + + // found a word to scan-ahead on + if (multi[word] !== undefined && terms[start_i + 1]) { + let end = start_i + multi[word] - 1 + for (let i = end; i > start_i; i -= 1) { + let words = terms.slice(start_i, i + 1) + if (words.length <= 1) { + return false + } + let str = words.map(term => term.machine || term.normal).join(' ') + // lookup frozen lexicon + if (frozenLex.hasOwnProperty(str) === true) { + setTag(words, frozenLex[str], world, false, '1-frozen-multi-lexicon') + words.forEach(term => (term.frozen = true)) + return true + } + // lookup regular lexicon + if (lexicon.hasOwnProperty(str) === true) { + let tag = lexicon[str] + setTag(words, tag, world, false, '1-multi-lexicon') + // special case for phrasal-verbs - 2nd word is a #Particle + if (tag && tag.length === 2 && (tag[0] === 'PhrasalVerb' || tag[1] === 'PhrasalVerb')) { + setTag([words[1]], 'Particle', world, false, '1-phrasal-particle') + } + return true + } + } + return false } return null } diff --git a/src/1-one/lexicon/compute/single-word.js b/src/1-one/lexicon/compute/single-word.js index 6a414b898..f3dde9fb1 100644 --- a/src/1-one/lexicon/compute/single-word.js +++ b/src/1-one/lexicon/compute/single-word.js @@ -7,23 +7,27 @@ const checkLexicon = function (terms, i, world) { const { model, methods } = world // const fastTag = methods.one.fastTag const setTag = methods.one.setTag - const lexicon = model.one.lexicon + const { lexicon, frozenLex } = model.one // basic lexicon lookup let t = terms[i] let word = t.machine || t.normal + // freeze lex + if (frozenLex[word] !== undefined && frozenLex.hasOwnProperty(word)) { + setTag([t], frozenLex[word], world, false, '1-freeze-lexicon') + t.frozen = true + return true + } // normal lexicon lookup if (lexicon[word] !== undefined && lexicon.hasOwnProperty(word)) { - let tag = lexicon[word] - setTag([t], tag, world, false, '1-lexicon') + setTag([t], lexicon[word], world, false, '1-lexicon') return true } // lookup aliases in the lexicon if (t.alias) { let found = t.alias.find(str => lexicon.hasOwnProperty(str)) if (found) { - let tag = lexicon[found] - setTag([t], tag, world, false, '1-lexicon-alias') + setTag([t], lexicon[found], world, false, '1-lexicon-alias') return true } } diff --git a/src/1-one/lexicon/lib.js b/src/1-one/lexicon/lib.js index d34948d20..df3958ab5 100644 --- a/src/1-one/lexicon/lib.js +++ b/src/1-one/lexicon/lib.js @@ -1,5 +1,5 @@ /** insert new words/phrases into the lexicon */ -const addWords = function (words) { +const addWords = function (words, isFrozen = false) { const world = this.world() const { methods, model } = world if (!words) { @@ -11,21 +11,24 @@ const addWords = function (words) { words[k] = words[k].replace(/^#/, '') } }) + // these words go into a seperate lexicon + if (isFrozen === true) { + let { lex, _multi } = methods.one.expandLexicon(words, world) + Object.assign(model.one._multiCache, _multi) + Object.assign(model.one.frozenLex, lex) + return + } // add some words to our lexicon if (methods.two.expandLexicon) { // do fancy ./two version let { lex, _multi } = methods.two.expandLexicon(words, world) Object.assign(model.one.lexicon, lex) Object.assign(model.one._multiCache, _multi) - } else if (methods.one.expandLexicon) { - // do basic ./one version - let { lex, _multi } = methods.one.expandLexicon(words, world) - Object.assign(model.one.lexicon, lex) - Object.assign(model.one._multiCache, _multi) - } else { - //no fancy-business - Object.assign(model.one.lexicon, words) } + // do basic ./one version + let { lex, _multi } = methods.one.expandLexicon(words, world) + Object.assign(model.one.lexicon, lex) + Object.assign(model.one._multiCache, _multi) } -export default { addWords } \ No newline at end of file +export default { addWords } diff --git a/src/1-one/lexicon/methods/expand.js b/src/1-one/lexicon/methods/expand.js index 02400dcaa..327875bca 100644 --- a/src/1-one/lexicon/methods/expand.js +++ b/src/1-one/lexicon/methods/expand.js @@ -13,7 +13,10 @@ const expand = function (words) { // cache multi-word terms let split = word.split(/ /) if (split.length > 1) { - _multi[split[0]] = true + // prefer longer ones + if (_multi[split[0]] === undefined || split.length > _multi[split[0]]) { + _multi[split[0]] = split.length + } } lex[word] = lex[word] || tag }) diff --git a/src/1-one/lexicon/plugin.js b/src/1-one/lexicon/plugin.js index db349e867..571cf70e8 100644 --- a/src/1-one/lexicon/plugin.js +++ b/src/1-one/lexicon/plugin.js @@ -6,7 +6,8 @@ const model = { one: { lexicon: {}, //setup blank lexicon _multiCache: {}, - } + frozenLex: {}, //2nd lexicon + }, } export default { @@ -14,5 +15,5 @@ export default { methods, compute, lib, - hooks: ['lexicon'] -} \ No newline at end of file + hooks: ['lexicon'], +} diff --git a/src/1-one/sweep/methods/buildNet/index.js b/src/1-one/sweep/methods/buildNet/index.js index f95419ef2..bd735f557 100644 --- a/src/1-one/sweep/methods/buildNet/index.js +++ b/src/1-one/sweep/methods/buildNet/index.js @@ -10,12 +10,12 @@ const buildNet = function (matches, world) { matches.forEach(obj => { // add needs obj.needs.forEach(str => { - hooks[str] = hooks[str] || [] + hooks[str] = Array.isArray(hooks[str]) ? hooks[str] : [] hooks[str].push(obj) }) // add wants obj.wants.forEach(str => { - hooks[str] = hooks[str] || [] + hooks[str] = Array.isArray(hooks[str]) ? hooks[str] : [] hooks[str].push(obj) }) }) @@ -23,7 +23,7 @@ const buildNet = function (matches, world) { Object.keys(hooks).forEach(k => { let already = {} hooks[k] = hooks[k].filter(obj => { - if (already[obj.match]) { + if (typeof already[obj.match] === 'boolean') { return false } already[obj.match] = true diff --git a/src/1-one/sweep/methods/sweep/01-getHooks.js b/src/1-one/sweep/methods/sweep/01-getHooks.js index 2aecd25f9..beb6681e2 100644 --- a/src/1-one/sweep/methods/sweep/01-getHooks.js +++ b/src/1-one/sweep/methods/sweep/01-getHooks.js @@ -10,7 +10,7 @@ const getHooks = function (docCaches, hooks) { // remove duplicates let already = {} maybe = maybe.filter(m => { - if (already[m.match]) { + if (typeof already[m.match] === 'boolean') { return false } already[m.match] = true diff --git a/src/1-one/tag/api/tag.js b/src/1-one/tag/api/tag.js index dec8f1edf..99e4bd4d5 100644 --- a/src/1-one/tag/api/tag.js +++ b/src/1-one/tag/api/tag.js @@ -61,16 +61,11 @@ const fns = { canBe: function (tag) { tag = tag.replace(/^#/, '') let tagSet = this.model.one.tagSet - // everything can be an unknown tag - if (!tagSet.hasOwnProperty(tag)) { - return this - } - let not = tagSet[tag].not || [] + let canBe = this.methods.one.canBe let nope = [] this.document.forEach((terms, n) => { terms.forEach((term, i) => { - let found = not.find(no => term.tags.has(no)) - if (found) { + if (!canBe(term, tag, tagSet)) { nope.push([n, i, i + 1]) } }) diff --git a/src/1-one/tag/methods/canBe.js b/src/1-one/tag/methods/canBe.js new file mode 100644 index 000000000..c6ad4c8c6 --- /dev/null +++ b/src/1-one/tag/methods/canBe.js @@ -0,0 +1,14 @@ +// quick check if this tag will require any untagging +const canBe = function (term, tag, tagSet) { + if (!tagSet.hasOwnProperty(tag)) { + return true // everything can be an unknown tag + } + let not = tagSet[tag].not || [] + for (let i = 0; i < not.length; i += 1) { + if (term.tags.has(not[i])) { + return false + } + } + return true +} +export default canBe diff --git a/src/1-one/tag/methods/index.js b/src/1-one/tag/methods/index.js index 1363f804f..1b344d97b 100644 --- a/src/1-one/tag/methods/index.js +++ b/src/1-one/tag/methods/index.js @@ -1,11 +1,13 @@ import setTag from './setTag.js' import unTag from './unTag.js' +import canBe from './canBe.js' import addTags from './addTags/index.js' export default { one: { setTag, unTag, - addTags + addTags, + canBe, }, } diff --git a/src/1-one/tag/methods/setTag.js b/src/1-one/tag/methods/setTag.js index d28d91a0c..a37ae24e0 100644 --- a/src/1-one/tag/methods/setTag.js +++ b/src/1-one/tag/methods/setTag.js @@ -18,6 +18,10 @@ const tagTerm = function (term, tag, tagSet, isSafe) { if (tag === '.') { return null } + // don't overwrite any tags, if term is frozen + if (term.frozen === true) { + isSafe = true + } // for known tags, do logical dependencies first let known = tagSet[tag] if (known) { @@ -68,9 +72,11 @@ const isArray = function (arr) { const log = (terms, tag, reason = '') => { const yellow = str => '\x1b[33m\x1b[3m' + str + '\x1b[0m' const i = str => '\x1b[3m' + str + '\x1b[0m' - let word = terms.map(t => { - return t.text || '[' + t.implicit + ']' - }).join(' ') + let word = terms + .map(t => { + return t.text || '[' + t.implicit + ']' + }) + .join(' ') if (typeof tag !== 'string' && tag.length > 2) { tag = tag.slice(0, 2).join(', #') + ' +' //truncate the list of tags } @@ -94,7 +100,7 @@ const setTag = function (terms, tag, world = {}, isSafe, reason) { return } if (typeof tag !== 'string') { - console.warn(`compromise: Invalid tag '${tag}'`)// eslint-disable-line + console.warn(`compromise: Invalid tag '${tag}'`) // eslint-disable-line return } tag = tag.trim() diff --git a/src/1-one/tag/methods/unTag.js b/src/1-one/tag/methods/unTag.js index 245a1b85b..f9e7daf58 100644 --- a/src/1-one/tag/methods/unTag.js +++ b/src/1-one/tag/methods/unTag.js @@ -3,6 +3,10 @@ const unTag = function (terms, tag, tagSet) { tag = tag.trim().replace(/^#/, '') for (let i = 0; i < terms.length; i += 1) { let term = terms[i] + // don't untag anything if term is frozen + if (term.frozen === true) { + continue + } // support clearing all tags, with '*' if (tag === '*') { term.tags.clear() diff --git a/src/2-two/postTagger/compute/index.js b/src/2-two/postTagger/compute/index.js index b9d4295db..47ae6a8d3 100644 --- a/src/2-two/postTagger/compute/index.js +++ b/src/2-two/postTagger/compute/index.js @@ -15,11 +15,11 @@ const postTagger = function (view) { m.cache() m.sweep(net) view.uncache() - // view.cache() + view.unfreeze() return view } // helper function for compute('tagger') -const tagger = (view) => view.compute(['lexicon', 'preTagger', 'postTagger']) +const tagger = view => view.compute(['lexicon', 'preTagger', 'postTagger']) export default { postTagger, tagger } diff --git a/src/2-two/postTagger/model/_misc.js b/src/2-two/postTagger/model/_misc.js index cacfd4557..1bf3dad41 100644 --- a/src/2-two/postTagger/model/_misc.js +++ b/src/2-two/postTagger/model/_misc.js @@ -43,6 +43,10 @@ let matches = [ { match: '^[do] (you|we|they)', group: 0, tag: 'QuestionWord', reason: 'do-you' }, // does he { match: '^[does] (he|she|it|#ProperNoun)', group: 0, tag: 'QuestionWord', reason: 'does-he' }, + // the person who + { match: '#Determiner #Noun+ [who] #Verb', group: 0, tag: 'Preposition', reason: 'the-x-who' }, + // the person which + { match: '#Determiner #Noun+ [which] #Verb', group: 0, tag: 'Preposition', reason: 'the-x-which' }, // a while { match: 'a [while]', group: 0, tag: 'Noun', reason: 'a-while' }, // guess who diff --git a/src/2-two/postTagger/model/nouns/organizations.js b/src/2-two/postTagger/model/nouns/organizations.js index c767da03c..c32c7f11e 100644 --- a/src/2-two/postTagger/model/nouns/organizations.js +++ b/src/2-two/postTagger/model/nouns/organizations.js @@ -59,4 +59,14 @@ export default [ }, // schools { match: '#Noun+ (public|private) school', tag: 'School', reason: 'noun-public-school' }, + // new york yankees + { match: '#Place+ #SportsTeam', tag: 'SportsTeam', reason: 'place-sportsteam' }, + // 'manchester united' + { + match: '(dc|atlanta|minnesota|manchester|newcastle|sheffield) united', + tag: 'SportsTeam', + reason: 'united-sportsteam', + }, + // 'toronto fc' + { match: '#Place+ fc', tag: 'SportsTeam', reason: 'fc-sportsteam' }, ] diff --git a/src/2-two/preTagger/compute/tagger/1st-pass/01-colons.js b/src/2-two/preTagger/compute/tagger/1st-pass/01-colons.js index fc6553911..97d0c2f5b 100644 --- a/src/2-two/preTagger/compute/tagger/1st-pass/01-colons.js +++ b/src/2-two/preTagger/compute/tagger/1st-pass/01-colons.js @@ -1,24 +1,20 @@ - const byPunctuation = function (terms, i, model, world) { const setTag = world.methods.one.setTag - // colon following first word + // colon following first word // edit: foo // breaking: foobar if (i === 0 && terms.length >= 3) { const hasColon = /:/ let post = terms[0].post if (post.match(hasColon)) { - // phone: 555-2938 let nextTerm = terms[1] if (nextTerm.tags.has('Value') || nextTerm.tags.has('Email') || nextTerm.tags.has('PhoneNumber')) { return } - // + // setTag([terms[0]], 'Expression', world, null, `2-punct-colon''`) } } - - } -export default byPunctuation \ No newline at end of file +export default byPunctuation diff --git a/src/2-two/preTagger/compute/tagger/2nd-pass/01-case.js b/src/2-two/preTagger/compute/tagger/2nd-pass/01-case.js index 506b74baa..0de58246a 100644 --- a/src/2-two/preTagger/compute/tagger/2nd-pass/01-case.js +++ b/src/2-two/preTagger/compute/tagger/2nd-pass/01-case.js @@ -1,9 +1,8 @@ import fastTag from '../_fastTag.js' - import fillTags from '../3rd-pass/_fillTags.js' + const titleCase = /^\p{Lu}[\p{Ll}'’]/u const hasNumber = /[0-9]/ - const notProper = ['Date', 'Month', 'WeekDay', 'Unit', 'Expression'] // roman numeral by regex @@ -20,23 +19,6 @@ const nope = { ml: true, } -// 'Buy Our Affordable Cars!' -// const isAllTitleCase = function (terms) { -// if (terms.length <= 3) { -// return false -// } -// let count = 0 -// terms.forEach(term => { -// if (titleCase.test(term.text)) { -// count += 1 -// } -// }) -// if (count >= terms.length - 2) { -// return true -// } -// return false -// } - // if it's a unknown titlecase word, it's a propernoun const checkCase = function (terms, i, model) { let term = terms[i] @@ -57,12 +39,8 @@ const checkCase = function (terms, i, model) { if (term.normal === 'the') { return null } - // ignore 'Buy Our Affordable Cars!' - // if (isAllTitleCase(terms)) { - // return null - // } fillTags(terms, i, model) - if (!term.tags.has('Noun')) { + if (!term.tags.has('Noun') && !term.frozen) { term.tags.clear() } fastTag(term, 'ProperNoun', '2-titlecase') diff --git a/src/2-two/preTagger/compute/tagger/2nd-pass/05-year.js b/src/2-two/preTagger/compute/tagger/2nd-pass/05-year.js index ce51aa691..125e2c931 100644 --- a/src/2-two/preTagger/compute/tagger/2nd-pass/05-year.js +++ b/src/2-two/preTagger/compute/tagger/2nd-pass/05-year.js @@ -26,7 +26,7 @@ const dateWords = new Set([ 'budget', 'classic', 'plan', - 'may' + 'may', ]) const seemsGood = function (term) { @@ -105,4 +105,4 @@ const tagYear = function (terms, i) { return null } -export default tagYear \ No newline at end of file +export default tagYear diff --git a/src/2-two/preTagger/compute/tagger/3rd-pass/01-acronym.js b/src/2-two/preTagger/compute/tagger/3rd-pass/01-acronym.js index f3cf4ea53..a3d938e7d 100644 --- a/src/2-two/preTagger/compute/tagger/3rd-pass/01-acronym.js +++ b/src/2-two/preTagger/compute/tagger/3rd-pass/01-acronym.js @@ -67,7 +67,7 @@ const isNoPeriodAcronym = function (term, model) { const isAcronym = function (terms, i, model) { let term = terms[i] //these are not acronyms - if (term.tags.has('RomanNumeral') || term.tags.has('Acronym')) { + if (term.tags.has('RomanNumeral') || term.tags.has('Acronym') || term.frozen) { return null } //non-period ones are harder diff --git a/src/2-two/preTagger/compute/tagger/_fastTag.js b/src/2-two/preTagger/compute/tagger/_fastTag.js index 356db3c43..87967ecb7 100644 --- a/src/2-two/preTagger/compute/tagger/_fastTag.js +++ b/src/2-two/preTagger/compute/tagger/_fastTag.js @@ -11,10 +11,13 @@ const log = (term, tag, reason = '') => { } // a faster version than the user-facing one in ./methods -const setTag = function (term, tag, reason) { +const fastTag = function (term, tag, reason) { if (!tag || tag.length === 0) { return } + if (term.frozen === true) { + return + } // some logging for debugging const env = typeof process === 'undefined' || !process.env ? self.env || {} : process.env if (env && env.DEBUG_TAGS) { @@ -28,4 +31,4 @@ const setTag = function (term, tag, reason) { } } -export default setTag +export default fastTag diff --git a/src/2-two/preTagger/compute/tagger/index.js b/src/2-two/preTagger/compute/tagger/index.js index f938e4fdd..345d8c970 100644 --- a/src/2-two/preTagger/compute/tagger/index.js +++ b/src/2-two/preTagger/compute/tagger/index.js @@ -39,6 +39,10 @@ const firstPass = function (docs, model, world) { // these methods don't care about word-neighbours const secondPass = function (terms, model, world, isYelling) { for (let i = 0; i < terms.length; i += 1) { + // skip frozen terms, for now + if (terms[i].frozen === true) { + continue + } // mark Noun|Verb on term metadata tagSwitch(terms, i, model) // is it titlecased? @@ -69,6 +73,10 @@ const thirdPass = function (terms, model, world, isYelling) { found = found || nounFallback(terms, i, model) } for (let i = 0; i < terms.length; i += 1) { + // skip these + if (terms[i].frozen === true) { + continue + } // Johnson LLC orgWords(terms, i, world, isYelling) // Wawel Castle diff --git a/src/2-two/preTagger/methods/expand/byTag.js b/src/2-two/preTagger/methods/expand/byTag.js index 7db2068d5..c3580a0f3 100644 --- a/src/2-two/preTagger/methods/expand/byTag.js +++ b/src/2-two/preTagger/methods/expand/byTag.js @@ -46,7 +46,7 @@ export default { let already = model.one.lexicon let all = methods.two.transform.verb.conjugate(word, model) Object.entries(all).forEach(a => { - if (!already[a[1]] && !lex[a[1]]) { + if (!already[a[1]] && !lex[a[1]] && a[0] !== 'FutureTense') { lex[a[1]] = a[0] } }) @@ -74,7 +74,7 @@ export default { if (!lex[a[1]] && !already[a[1]]) { lex[a[1]] = a[0] } - _multi[a[1]] = true + _multi[a[1]] = 2 let str = a[1] + ' ' + rest lex[str] = lex[str] || [a[0], 'PhrasalVerb'] }) diff --git a/src/2-two/preTagger/methods/expand/index.js b/src/2-two/preTagger/methods/expand/index.js index 7194788e8..24087a521 100644 --- a/src/2-two/preTagger/methods/expand/index.js +++ b/src/2-two/preTagger/methods/expand/index.js @@ -1,4 +1,4 @@ -import fancyThings from './byTag.js' +import byTag from './byTag.js' // derive clever things from our lexicon key-value pairs // this method runs as the pre-tagger plugin gets loaded @@ -16,11 +16,14 @@ const expand = function (words, world) { // cache multi-word terms let split = word.split(/ /) if (split.length > 1) { - _multi[split[0]] = true + // prefer longer ones + if (_multi[split[0]] === undefined || split.length > _multi[split[0]]) { + _multi[split[0]] = split.length + } } // do any clever-business, by it's tag - if (fancyThings.hasOwnProperty(tag) === true) { - fancyThings[tag](word, lex, methods, model) + if (byTag.hasOwnProperty(tag) === true) { + byTag[tag](word, lex, methods, model) } lex[word] = lex[word] || tag }) diff --git a/src/2-two/preTagger/model/index.js b/src/2-two/preTagger/model/index.js index a047d216d..6df08ac48 100644 --- a/src/2-two/preTagger/model/index.js +++ b/src/2-two/preTagger/model/index.js @@ -1,5 +1,5 @@ import irregularPlurals from './irregulars/plurals.js' -import { lexicon, switches } from './lexicon/index.js' +import { lexicon, switches, frozenLex } from './lexicon/index.js' import clues from './clues/index.js' import suffixPatterns from './patterns/suffixes.js' import prefixPatterns from './patterns/prefixes.js' @@ -17,6 +17,7 @@ let model = { one: { _multiCache: {}, lexicon, + frozenLex, }, two: { irregularPlurals, diff --git a/src/2-two/preTagger/model/lexicon/_data.js b/src/2-two/preTagger/model/lexicon/_data.js index d574d8fbf..e04950d14 100644 --- a/src/2-two/preTagger/model/lexicon/_data.js +++ b/src/2-two/preTagger/model/lexicon/_data.js @@ -17,42 +17,42 @@ export default { "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", + "Organization": "true¦0:4R;a3Ub3Cc2Pd2He2Df27g1Zh1Ti1Pj1Nk1Ll1Gm12n0Po0Mp0Cqu0Br02sTtHuCv9w3xiaomi,y1;amaha,m1Bou1w1B;gov,tu3D;a4e2iki1orld trade organizati34;leaRped0O;lls fargo,st1;fie2Iinghou2S;l1rner br3V;gree3Kl street journ2Jm1E;an halOeriz2Yisa,o1;dafo2Zl1;kswagMvo;b4kip,n2ps,s1;a tod3Bps;es3Ni1;lev3Gted natio3D;er,s; mobi33aco beRd bOe9gi frida3Mh3im horto3Bmz,o1witt3E;shi4Ay1;ota,s r 05;e 1in lizzy;b3carpen3Kdaily ma3Eguess w2holli0rolling st21s1w2;mashing pumpki36uprem0;ho;ea1lack eyed pe3Yyr0Q;ch bo3Etl0;l2n3Rs1xas instrumen1U;co,la m1F;efoni0Kus;a8cientology,e5ieme2Zmirnoff,np,o3pice gir6quare0Ata1ubaru;rbuc1to35;ks;ny,undgard1;en;a2x pisto1;ls;g1Xrs;few2Ninsbur32lesfor03msu2F;adiohead,b8e4o1yana3D;man empi1Yyal 1;b1dutch she4;ank;a3d 1max,vl21;bu1c2Bhot chili peppe2Zlobst2O;ll;ders dige1Ml madrid;c,s;ant3Bizn2R;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;aDcdonalCe9i6lb,o3tv,y1;spa1;ce;b1Unsanto,ody blu0t1;ley cr1or0U;ue;c2t1;as,subisO;helin,rosoft;dica2rcedes benz,talli1;ca;id,re;ds;cs milk,tt1Az25;a3e1g,ittle caesa1Q; ore0Anovo,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 o1rls 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,ppleAr6s4u3v2y1;er;is,on;di,todesk;hland o1sociated E;il;b3g2m1;co;os;ys; compu1be0;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", + "Actor": "true¦0:7B;1:7G;2:6A;3:7F;4:7O;5:7K;a6Nb62c4Ud4Be41f3Sg3Bh30i2Uj2Qkin2Pl2Km26n1Zo1Sp0Vqu0Tr0JsQtJuHvEw8yo6;gi,ut6;h,ub0;aAe9i8o7r6;estl0it0;m2rk0;fe,nn0t2Bza2H;atherm2ld0;ge earn0it0nder0rri1;eter7i6oyF;ll5Qp,s3Z;an,ina2U;n6s0;c6Uder03;aoisea23e9herapi5iktok0o8r6ut1yco6S;a6endseLo43;d0mp,nscri0Bvel0;ddl0u1G;a0Qchn7en6na4st0;ag0;i3Oo0D;aiXcUeRhPiMki0mu26oJpGquaFtBu7wee6;p0theart;lt2per7r6;f0ge6Iviv1;h6inten0Ist5Ivis1;ero,um2;a8ep7r6;ang0eam0;bro2Nc2Ofa2Nmo2Nsi20;ff0tesm2;tt0;ec7ir2Do6;kesp59u0M;ia5Jt3;l7me6An,rcere6ul;r,ss;di0oi5;n7s6;sy,t0;g0n0;am2ephe1Iow6;girl,m2r2Q;cretInior cit3Fr6;gea4v6;a4it1;hol4Xi7reen6ulpt1;wr2C;e01on;l1nt;aEe9o8u6;l0nn6;er up,ingE;g40le mod3Zof0;a4Zc8fug2Ppo32searQv6;ere4Uolution6;ary;e6luYru22;ptio3T;bbi,dic5Vpp0;arter6e2Z;back;aYeWhSiRlOoKr8sycho7u6;nk,p31;logi5;aGeDiBo6;d9fess1g7ph47s6;pe2Ktitu51;en6ramm0;it1y;igy,uc0;est4Nme mini0Unce6s3E;!ss;a7si6;de4;ch0;ctiti39nk0P;dca0Oet,li6pula50rnst42;c2Itic6;al scie6i2;nti5;a6umb0;nn0y6;er,ma4Lwright;lgrim,one0;a8iloso7otogra7ra6ysi1V;se;ph0;ntom,rmaci5;r6ssi1T;form0s4O;i3El,nel3Yr8st1tr6wn;i6on;arWot;ent4Wi42tn0;ccupa4ffBp8r7ut6;ca5l0B;ac4Iganiz0ig2Fph2;er3t6;i1Jomet6;ri5;ic0spring;aBe9ie4Xo7u6;n,rser3J;b6mad,vi4V;le2Vo4D;i6mesis,phew;ce,ghb1;nny,rr3t1X;aEeDiAo7u6yst1Y;m8si16;der3gul,m7n6th0;arDk;!my;ni7s6;f02s0Jt0;on,st0;chan1Qnt1rcha4;gi9k0n8rtyr,t6y1;e,riar6;ch;ag0iac;ci2stra3I;a7e2Aieutena4o6;rd,s0v0;bor0d7ndlo6ss,urea3Fwy0ym2;rd;!y;!s28;e8o7u6;ggl0;gg0urna2U;st0;c3Hdol,llu3Ummigra4n6; l9c1Qfa4habi42nov3s7ve6;nt1stig3;pe0Nt6;a1Fig3ru0M;aw;airFeBistoAo8u6ygie1K;man6sba2H;!ita8;bo,st6usekN;age,e3P;ri2;ir,r6;m7o6;!ine;it;dress0sty2C;aLeIhostGirl26ladi3oCrand7u6;e5ru;c9daug0Jfa8m7pa6s2Y;!re4;a,o6;th0;hi1B;al7d6lf0;!de3A;ie,k6te26;eep0;!wr6;it0;isha,n6;i6tl04;us;mbl0rden0;aDella,iAo7r6;eela2Nie1P;e,re6ster pare4;be1Hm2r6st0;unn0;an2ZgZlmm17nanci0r6tt0;e6st la2H; marsh2OfigXm2;rm0th0;conoEdDlectriCm8n7x6;amin0cellency,i2A;emy,trepreneur,vironmenta1J;c8p6;er1loye6;e,r;ee;ci2;it1;mi5;aKeBi8ork,ri7u6we02;de,tche2H;ft0v0;ct3eti7plom2Hre6va;ct1;ci2ti2;aDcor3fencCi0InAput9s7tectLvel6;op0;ce1Ge6ign0;rt0;ee,y;iz6;en;em2;c1Ml0;d8nc0redev7ug6;ht0;il;!dy;a06e04fo,hXitizenWlToBr9u6;r3stomer6;! representat6;ive;e3it6;ic;lJmGnAord9rpor1Nu7w6;boy,ork0;n6ri0;ciTte1Q;in3;fidantAgressSs9t6;e0Kr6;ibut1o6;ll0;tab13ul1O;!e;edi2m6pos0rade;a0EeQissi6;on0;leag8on7um6;ni5;el;ue;e6own;an0r6;ic,k;!s;a9e7i6um;ld;erle6f;ad0;ir7nce6plFract0;ll1;m2wI;lebri6o;ty;dBptAr6shi0;e7pe6;nt0;r,t6;ak0;ain;et;aMeLiJlogg0oErBu6;dd0Fild0rgl9siness6;m2p7w6;om2;ers05;ar;i7o6;!k0th0;cklay0de,gadi0;hemi2oge8y6;!frie6;nd;ym2;an;cyc6sR;li5;atbox0ings;by,nk0r6;b0on7te6;nd0;!e07;c04dWge4nQpLrHsFtAu7yatull6;ah;nt7t6;h1oG;!ie;h8t6;e6orney;nda4;ie5le6;te;sis00tron6;aut,om0;chbis8isto7tis6;an,t;crU;hop;ost9p6;ari6rentiS;ti6;on;le;a9cest1im3nou8y6;bo6;dy;nc0;ly5rc6;hi5;mi8v6;entur0is1;er;ni7r6;al;str3;at1;or;counBquaintanArob9t6;ivi5or,re6;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", + "MaleName": "true¦0:H6;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;eDhCi9Wue;!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;i9Dy;!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;aDha0i8XmaCsac;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,j5Hot,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;ar1Nb1Dd16fon15gust3hm12i0Zja0Yl0Bm07nTputsiSrGsaFugustEveDyCziz;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;allFel,oulaye,ulC;!lDrahm0;an;ah,o;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", + "Person": "true¦0:1Q;a29b1Zc1Md1Ee18f15g13h0Ri0Qj0Nk0Jl0Gm09n06o05p00rPsItCusain bolt,v9w4xzibit,y1;anni,oko on2uji,v1;an,es;en,o;a3ednesday adams,i2o1;lfram,o0Q;ll ferrell,z khalifa;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¦elle,h3i2me,she,th0us,we,you;e0ou;e,m,y;!l,t;e,im", + "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:18;1:1E;2:1D;3:14;a1Db15c0Sd0Kfc dallas,g0Ihouston 0Hindiana0Gjacksonville jagua0k0El0Am01new UoRpKqueens parkJreal salt lake,sBt6utah jazz,vancouver whitecaps,w4yW;ashington 4h10;natio1Mredski2wizar0W;ampa bay 7e6o4;ronto 4ttenham hotspur;blue ja0Mrapto0;nnessee tita2xasD;buccanee0ra0K;a8eattle 6porting kansas0Wt4; louis 4oke0V;c1Drams;marine0s4;eah13ounH;cramento Rn 4;antonio spu0diego 4francisco gJjose earthquak1;char08paB; ran07;a9h6ittsburgh 5ortland t4;imbe0rail blaze0;pirat1steele0;il4oenix su2;adelphia 4li1;eagl1philNunE;dr1;akland 4klahoma city thunder,rlando magic;athle0Lrai4;de0;england 8orleans 7york 4;g5je3knYme3red bul0Xy4;anke1;ian3;pelica2sain3;patrio3revolut4;ion;anchEeAi4ontreal impact;ami 8lwaukee b7nnesota 4;t5vi4;kings;imberwolv1wi2;rewe0uc0J;dolphi2heat,marli2;mphis grizz4ts;li1;a6eic5os angeles 4;clippe0dodFlaB;esterV; galaxy,ke0;ansas city 4nF;chiefs,roya0D; pace0polis col3;astr05dynamo,rocke3texa2;olden state warrio0reen bay pac4;ke0;allas 8e4i04od6;nver 6troit 4;lio2pisto2ti4;ge0;broncYnugge3;cowbo5maver4;icZ;ys;arEelLhAincinnati 8leveland 6ol4;orado r4umbus crew sc;api7ocki1;brow2cavalie0guar4in4;dia2;bengaVre4;ds;arlotte horAicago 4;b5cubs,fire,wh4;iteB;ea0ulQ;diff4olina panthe0; city;altimore Alackburn rove0oston 6rooklyn 4uffalo bilN;ne3;ts;cel5red4; sox;tics;rs;oriol1rave2;rizona Ast8tlanta 4;brav1falco2h4;awA;ns;es;on villa,r4;os;c6di4;amondbac4;ks;ardi4;na4;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", + "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;a9Fb7Uc6Rd6Le6Jf5Ig50h4Biron0j47k40l3Em31n2Yo2Wp2Cquiet Hr1Xs0KtZuXvacuu6QwNyammerBzK;ero Dip LonK;e0k0;by,ov9up;aQeMhLiKor0Mrit19;mp0n3Fpe0r5s5;ackAeel Di0S;aLiKn33;gh 3Wrd0;n Dr K;do1in,oJ;it 79k5lk Lrm 69sh Kt83v60;aw3do1o7up;aw3in,oC;rgeBsK;e 2herE;a00eYhViRoQrMuKypP;ckErn K;do1in,oJup;aLiKot0y 30;ckl7Zp F;ck HdK;e 5Y;n7Wp 3Es5K;ck MdLe Kghten 6me0p o0Rre0;aw3ba4do1in,up;e Iy 2;by,oG;ink Lrow K;aw3ba4in,up;ba4ov9up;aKe 77ll62;m 2r 5M;ckBke Llk K;ov9shit,u47;aKba4do1in,leave,o4Dup;ba4ft9pa69w3;a0Vc0Te0Mh0Ii0Fl09m08n07o06p01quar5GtQuOwK;earMiK;ngLtch K;aw3ba4o8K; by;cKi6Bm 2ss0;k 64;aReQiPoNrKud35;aigh2Det75iK;ke 7Sng K;al6Yup;p Krm2F;by,in,oG;c3Ln3Lr 2tc4O;p F;c3Jmp0nd LrKveAy 2O;e Ht 2L;ba4do1up;ar3GeNiMlLrKurB;ead0ingBuc5;a49it 6H;c5ll o3Cn 2;ak Fe1Xll0;a3Bber 2rt0und like;ap 5Vow Duggl5;ash 6Noke0;eep NiKow 6;cLp K;o6Dup;e 68;in,oK;ff,v9;de19gn 4NnKt 6Gz5;gKkE; al6Ale0;aMoKu5W;ot Kut0w 7M;aw3ba4f48oC;c2WdeEk6EveA;e Pll1Nnd Orv5tK; Ktl5J;do1foLin,o7upK;!on;ot,r5Z;aw3ba4do1in,o33up;oCto;al66out0rK;ap65ew 6J;ilAv5;aXeUiSoOuK;b 5Yle0n Kstl5;aLba4do1inKo2Ith4Nu5P;!to;c2Xr8w3;ll Mot LpeAuK;g3Ind17;a2Wf3Po7;ar8in,o7up;ng 68p oKs5;ff,p18;aKelAinEnt0;c6Hd K;o4Dup;c27t0;aZeYiWlToQrOsyc35uK;ll Mn5Kt K;aKba4do1in,oJto47up;pa4Dw3;a3Jdo1in,o21to45up;attleBess KiNop 2;ah2Fon;iLp Kr4Zu1Gwer 6N;do1in,o6Nup;nt0;aLuK;gEmp 6;ce u20y 6D;ck Kg0le 4An 6p5B;oJup;el 5NncilE;c53ir 39n0ss MtLy K;ba4oG; Hc2R;aw3ba4in,oJ;pKw4Y;e4Xt D;aLerd0oK;dAt53;il Hrrow H;aTeQiPoLuK;ddl5ll I;c1FnkeyMp 6uthAve K;aKdo1in,o4Lup;l4Nw3; wi4K;ss0x 2;asur5e3SlLss K;a21up;t 6;ke Ln 6rKs2Ax0;k 6ryA;do,fun,oCsure,up;a02eViQoLuK;ck0st I;aNc4Fg MoKse0;k Kse4D;aft9ba4do1forw37in56o0Zu46;in,oJ;d 6;e NghtMnLsKve 00;ten F;e 2k 2; 2e46;ar8do1in;aMt LvelK; oC;do1go,in,o7up;nEve K;in,oK;pKut;en;c5p 2sh LtchBughAy K;do1o59;in4Po7;eMick Lnock K;do1oCup;oCup;eLy K;in,up;l Ip K;aw3ba4do1f04in,oJto,up;aMoLuK;ic5mpE;ke3St H;c43zz 2;a01eWiToPuK;nLrrKsh 6;y 2;keLt K;ar8do1;r H;lKneErse3K;d Ke 2;ba4dKfast,o0Cup;ear,o1;de Lt K;ba4on,up;aw3o7;aKlp0;d Ml Ir Kt 2;fKof;rom;f11in,o03uW;cPm 2nLsh0ve Kz2P;at,it,to;d Lg KkerP;do1in,o2Tup;do1in,oK;ut,v9;k 2;aZeTive Rloss IoMrLunK; f0S;ab hold,in43ow 2U; Kof 2I;aMb1Mit,oLr8th1IuK;nd9;ff,n,v9;bo7ft9hQw3;aw3bKdo1in,oJrise,up,w3;a4ir2H;ar 6ek0t K;aLb1Fdo1in,oKr8up;ff,n,ut,v9;cLhKl2Fr8t,w3;ead;ross;d aKng 2;bo7;a0Ee07iYlUoQrMuK;ck Ke2N;ar8up;eLighten KownBy 2;aw3oG;eKshe27; 2z5;g 2lMol Krk I;aKwi20;bo7r8;d 6low 2;aLeKip0;sh0;g 6ke0mKrKtten H;e F;gRlPnNrLsKzzle0;h F;e Km 2;aw3ba4up;d0isK;h 2;e Kl 1T;aw3fPin,o7;ht ba4ure0;ePnLsK;s 2;cMd K;fKoG;or;e D;d04l 2;cNll Krm0t1G;aLbKdo1in,o09sho0Eth08victim;a4ehi2O;pa0C;e K;do1oGup;at Kdge0nd 12y5;in,o7up;aOi1HoNrK;aLess 6op KuN;aw3b03in,oC;gBwB; Ile0ubl1B;m 2;a0Ah05l02oOrLut K;aw3ba4do1oCup;ackBeep LoKy0;ss Dwd0;by,do1in,o0Uup;me NoLuntK; o2A;k 6l K;do1oG;aRbQforOin,oNtKu0O;hLoKrue;geth9;rough;ff,ut,v9;th,wK;ard;a4y;paKr8w3;rt;eaLose K;in,oCup;n 6r F;aNeLiK;ll0pE;ck Der Kw F;on,up;t 2;lRncel0rOsMtch LveE; in;o1Nup;h Dt K;doubt,oG;ry LvK;e 08;aw3oJ;l Km H;aLba4do1oJup;ff,n,ut;r8w3;a0Ve0MiteAl0Fo04rQuK;bblNckl05il0Dlk 6ndl05rLsKtMy FzzA;t 00;n 0HsK;t D;e I;ov9;anWeaUiLush K;oGup;ghQng K;aNba4do1forMin,oLuK;nd9p;n,ut;th;bo7lKr8w3;ong;teK;n 2;k K;do1in,o7up;ch0;arTg 6iRn5oPrNssMttlLunce Kx D;aw3ba4;e 6; ar8;e H;do1;k Dt 2;e 2;l 6;do1up;d 2;aPeed0oKurt0;cMw K;aw3ba4do1o7up;ck;k K;in,oC;ck0nk0stA; oQaNef 2lt0nd K;do1ov9up;er;up;r Lt K;do1in,oCup;do1o7;ff,nK;to;ck Pil0nMrgLsK;h D;ainBe D;g DkB; on;in,o7;aw3do1in,oCup;ff,ut;ay;ct FdQir0sk MuctionA; oG;ff;ar8o7;ouK;nd; o7;d K;do1oKup;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", + "LastName": "true¦0:BR;1:BF;2:B5;3:BH;4:AX;5:9Y;6:B6;7:BK;8:B0;9:AV;A:AL;B:8Q;C:8G;D:7K;E:BM;F:AH;aBDb9Zc8Wd88e81f7Kg6Wh64i60j5Lk4Vl4Dm39n2Wo2Op25quispe,r1Ls0Pt0Ev03wTxSyKzG;aIhGimmerm6A;aGou,u;ng,o;khar5ytsE;aKeun9BiHoGun;koya32shiBU;!lG;diGmaz;rim,z;maGng;da,g52mo83sGzaC;aChiBV;iao,u;aLeJiHoGright,u;jcA5lff,ng;lGmm0nkl0sniewsC;kiB1liams33s3;bGiss,lt0;b,er,st0;a6Vgn0lHtG;anabe,s3;k0sh,tG;e2Non;aLeKiHoGukD;gt,lk5roby5;dHllalGnogr3Kr1Css0val3S;ba,ob1W;al,ov4;lasHsel8W;lJn dIrgBEsHzG;qu7;ilyEqu7siljE;en b6Aijk,yk;enzueAIverde;aPeix1VhKi2j8ka43oJrIsui,uG;om5UrG;c2n0un1;an,emblA7ynisC;dorAMlst3Km4rrAth;atch0i8UoG;mHrG;are84laci79;ps3sG;en,on;hirDkah9Mnaka,te,varA;a06ch01eYhUiRmOoMtIuHvGzabo;en9Jobod3N;ar7bot4lliv2zuC;aIeHoG;i7Bj4AyanAB;ele,in2FpheBvens25;l8rm0;kol5lovy5re7Tsa,to,uG;ng,sa;iGy72;rn5tG;!h;l71mHnGrbu;at9cla9Egh;moBo7M;aIeGimizu;hu,vchG;en8Luk;la,r1G;gu9infe5YmGoh,pulveA7rra5P;jGyG;on5;evi6iltz,miHneid0roed0uGwarz;be3Elz;dHtG;!t,z;!t;ar4Th8ito,ka4OlJnGr4saCto,unde19v4;ch7dHtGz;a5Le,os;b53e16;as,ihDm4Po0Y;aVeSiPoJuHyG;a6oo,u;bio,iz,sG;so,u;bKc8Fdrigue67ge10j9YmJosevelt,sItHux,wG;e,li6;a9Ch;enb4Usi;a54e4L;erts15i93;bei4JcHes,vGzzo;as,e9;ci,hards12;ag2es,iHut0yG;es,nol5N;s,t0;dImHnGsmu97v6C;tan1;ir7os;ic,u;aUeOhMiJoHrGut8;asad,if6Zochazk27;lishc2GpGrti72u10we76;e3Aov51;cHe45nG;as,to;as70hl0;aGillips;k,m,n6I;a3Hde3Wete0Bna,rJtG;ersHrovGters54;!a,ic;!en,on;eGic,kiBss3;i9ra,tz,z;h86k,padopoulIrk0tHvG;ic,l4N;el,te39;os;bMconn2Ag2TlJnei6PrHsbor6XweBzG;dem7Rturk;ella4DtGwe6N;ega,iz;iGof7Hs8I;vGyn1R;ei9;aSri1;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", + "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;aFeaEh9o4rim08umbr0;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;dygHguascalientes,lBndhr9r5ss4;am;izo1kans5un4;achal 7;as;na;a 4;pradesh;a6ber5t4;ai;ta;ba5s4;ka;ma;ea", + "Country": "true¦0:38;1:2L;2:3B;a2Xb2Ec22d1Ye1Sf1Mg1Ch1Ai14j12k0Zl0Um0Gn05om2pZqat1KrXsKtCu7v5wal4yemTz3;a25imbabwe;es,lis and futu2Y;a3enezue32ietnam;nuatu,tican city;gTk6nited 4ruXs3zbeE; 2Ca,sr;arab emirat0Kkingdom,states3;! of am2Y;!raiV;a8haCimor les0Co7rinidad 5u3;nis0rk3valu;ey,me2Zs and caic1V;and t3t3;oba1L;go,kel10nga;iw2ji3nz2T;ki2V;aDcotl1eCi9lov8o6pa2Dri lanka,u5w3yr0;az3edAitzerl1;il1;d2riname;lomon1Xmal0uth 3;afr2KkMsud2;ak0en0;erra leoFn3;gapo1Yt maart3;en;negLrb0ychellZ;int 3moa,n marino,udi arab0;hele26luc0mart21;epublic of ir0Eom2Euss0w3;an27;a4eIhilippinUitcairn1Mo3uerto riN;l1rtugF;ki2Dl4nama,pua new0Vra3;gu7;au,esti3;ne;aBe9i7or3;folk1Ith4w3;ay; k3ern mariana1D;or0O;caragua,ger3ue;!ia;p3ther1Aw zeal1;al;mib0u3;ru;a7exi6icro0Bo3yanm06;ldova,n3roc5zambA;a4gol0t3;enegro,serrat;co;cAdagasc01l7r5urit4yot3;te;an0i16;shall0Xtin3;ique;a4div3i,ta;es;wi,ys0;ao,ed02;a6e5i3uxembourg;b3echtenste12thu1G;er0ya;ban0Isotho;os,tv0;azakh1Fe4iriba04o3uwait,yrgyz1F;rXsovo;eling0Knya;a3erG;ma16p2;c7nd6r4s3taly,vory coast;le of m2rael;a3el1;n,q;ia,oJ;el1;aiTon3ungary;dur0Ng kong;aBermany,ha0QibraltAre8u3;a6ern5inea3ya0P;! biss3;au;sey;deloupe,m,tema0Q;e3na0N;ce,nl1;ar;bUmb0;a7i6r3;ance,ench 3;guia0Epoly3;nes0;ji,nl1;lklandUroeU;ast tim7cu6gypt,l salv6ngl1quatorial4ritr5st3thiop0;on0; guin3;ea;ad3;or;enmark,jibou5ominica4r con3;go;!n C;ti;aBentral african Ah8o5roat0u4yprRzech3; 9ia;ba,racao;c4lo3morQngo brazzaville,okGsta r04te de ivoiL;mb0;osE;i3ristmasG;le,na;republic;m3naUpe verde,ymanA;bod0ero3;on;aGeDhut2o9r5u3;lgar0r3;kina faso,ma,undi;azil,itish 3unei;virgin3; is3;lands;liv0nai5snia and herzegoviHtswaHuvet3; isl1;and;re;l3n8rmuG;ar3gium,ize;us;h4ngladesh,rbad3;os;am4ra3;in;as;fghaGlDmBn6r4ustr3zerbaij2;al0ia;genti3men0uba;na;dorra,g5t3;arct7igua and barbu3;da;o3uil3;la;er3;ica;b3ger0;an0;ia;ni3;st2;an", + "Place": "true¦a0Gb0Bc03d02e01f00gWhUiSkQlNmLnIorHpDrCsAt5u4v3w2y0;a0yz;kutPngtze;ake isHupatki;irgin islands,ostok;laanbaatar,p02;a3eotihuac0Hh1onto,sarskoe selo,u0;lXzigoot;am09e 0;bronx,hamptons;hiti,j mahE;a0cotts bluff,eine,fo,oho,under9;int lawrence river,khalY;ed s3io grande;a1ek,h0itcairn,ompeii;l,x;cif05pahanaumokuak0rthenX;ea;ange county,d,inoco;e0ile;uschwansteQw eng0;land;a0co,ekong,idLuc;chu picchu,gad00libu,nhatt00;a1gw,hr,incoln memori0;al;s,x;azan kremlJosrae,rasnoyar0ul;sk;ax,cn,nd0st;ianSochina;arlem,kg,nd,ov0;d,enweep;a2odavari,re0;at 0enwich;britaBlakI;ngHy village;co,ra;urope,vergladF;anube,en,fw,own4xb;arrizo pla6dg,edar 5gk,h1lt,olosse0;um;a2i0uuk;chen itza,mney rock,na0ricahua;town;morro,tham;breaks,fa5;in;cn,e2kk,ro0;oklyn,wns cany0;on;l air,verly hi0;lls;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", + "FemaleName": "true¦0:J7;1:JB;2:IJ;3:IK;4:J1;5:IO;6:JS;7:JO;8:HB;9:JK;A:H4;B:I2;C:IT;D:JH;E:IX;F:BA;G:I4;aGTbFLcDRdD0eBMfB4gADh9Ti9Gj8Dk7Cl5Wm48n3Lo3Hp33qu32r29s15t0Eu0Cv02wVxiTyOzH;aLeIineb,oHsof3;e3Sf3la,ra;h2iKlIna,ynH;ab,ep;da,ma;da,h2iHra;nab;aKeJi0FolB7uIvH;et8onDP;i0na;le0sen3;el,gm3Hn,rGLs8W;aoHme0nyi;m5XyAD;aMendDZhiDGiH;dele9lJnH;if48niHo0;e,f47;a,helmi0lHma;a,ow;ka0nB;aNeKiHusa5;ck84kIl8oleAviH;anFenJ4;ky,toriBK;da,lA8rHs0;a,nHoniH9;a,iFR;leHnesH9;nILrH;i1y;g9rHs6xHA;su5te;aYeUhRiNoLrIuHy2;i,la;acJ3iHu0J;c3na,sH;hFta;nHr0F;iFya;aJffaEOnHs6;a,gtiH;ng;!nFSra;aIeHomasi0;a,l9Oo8Ares1;l3ndolwethu;g9Fo88rIssH;!a,ie;eHi,ri7;sa,za;bOlMmKnIrHs6tia0wa0;a60yn;iHya;a,ka,s6;arFe2iHm77ra;!ka;a,iH;a,t6;at6it6;a0Ecarlett,e0AhWiSkye,neza0oQri,tNuIyH;bIGlvi1;ha,mayIJniAsIzH;an3Net8ie,y;anHi7;!a,e,nH;aCe;aIeH;fan4l5Dphan6E;cI5r5;b3fiAAm0LnHphi1;d2ia,ja,ya;er2lJmon1nIobh8QtH;a,i;dy;lETv3;aMeIirHo0risFDy5;a,lDM;ba,e0i5lJrH;iHr6Jyl;!d8Ifa;ia,lDZ;hd,iMki2nJrIu0w0yH;la,ma,na;i,le9on,ron,yn;aIda,ia,nHon;a,on;!ya;k6mH;!aa;lJrItaye82vH;da,inj;e0ife;en1i0ma;anA9bLd5Oh1SiBkKlJmInd2rHs6vannaC;aCi0;ant6i2;lDOma,ome;ee0in8Tu2;in1ri0;a05eZhXiUoHuthDM;bScRghQl8LnPsJwIxH;anB3ie,y;an,e0;aIeHie,lD;ann7ll1marDGtA;!lHnn1;iHyn;e,nH;a,dF;da,i,na;ayy8G;hel67io;bDRerAyn;a,cIkHmas,nFta,ya;ki,o;h8Xki;ea,iannGMoH;da,n1P;an0bJemFgi0iInHta,y0;a8Bee;han86na;a,eH;cHkaC;a,ca;bi0chIe,i0mo0nHquETy0;di,ia;aERelHiB;!e,le;een4ia0;aPeOhMiLoJrHute6A;iHudenCV;scil3LyamvaB;lHrt3;i0ly;a,paluk;ilome0oebe,ylH;is,lis;ggy,nelope,r5t2;ige,m0VnKo5rvaDMtIulH;a,et8in1;ricHt4T;a,e,ia;do2i07;ctav3dIfD3is6ksa0lHphD3umC5yunbileg;a,ga,iv3;eHvAF;l3t8;aWeUiMoIurHy5;!ay,ul;a,eJor,rIuH;f,r;aCeEma;ll1mi;aNcLhariBQkKlaJna,sHta,vi;anHha;ur;!y;a,iDZki;hoGk9YolH;a,e4P;!mh;hir,lHna,risDEsreE;!a,lBV;asuMdLh3i6Dl5nKomi7rgEVtH;aHhal4;lHs6;i1ya;cy,et8;e9iF0ya;nngu2X;a0Ackenz4e02iMoJrignayani,uriDJyH;a,rH;a,iOlNna,tG;bi0i2llBJnH;a,iH;ca,ka,qD9;a,cUdo4ZkaTlOmi,nMrItzi,yH;ar;aJiIlH;anET;am;!l,nB;dy,eHh,n4;nhGrva;aKdJe0iCUlH;iHy;cent,e;red;!gros;!e5;ae5hH;ae5el3Z;ag5DgNi,lKrH;edi7AiIjem,on,yH;em,l;em,sCG;an4iHliCF;nHsCJ;a,da;!an,han;b09cASd07e,g05ha,i04ja,l02n00rLsoum5YtKuIv84xBKyHz4;bell,ra,soBB;d7rH;a,eE;h8Gild1t4;a,cUgQiKjor4l7Un4s6tJwa,yH;!aHbe6Xja9lAE;m,nBL;a,ha,in1;!aJbCGeIja,lDna,sHt63;!a,ol,sa;!l1D;!h,mInH;!a,e,n1;!awit,i;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", @@ -60,7 +60,7 @@ export default { "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", + "Comparable": "true¦0:3B;1:3P;2:3E;3:2H;a3Tb3Cc33d2Ue2Nf2Bg1Xh1Mi1Gj1Fk1Cl14m0Yn0To0Sp0Jqu0Hr08sItDug0vBw5y4za0R;el11ouO;ary,e7hi6i4ry;ck0Dde,l4n1ry,se;d,y;ny,te;a4i3R;k,ry;a4erda2ulgar;gue,in,st;a7en2Xhi6i5ou00r4;anqu2Den1ue;dy,g36me0ny;ck,rs29;ll,me,rt,wd3I;aScaQePhNiMkin0ClJmHoFpEt7u5w4;eet,ift;b4dd0Xperfi22rre29;sta27t3;a9e8iff,r5u4;pVr1;a5ict,o4;ng;ig2Vn0O;a1ep,rn;le,rk,te0;e1Ti2Vright0;ci1Zft,l4on,re;emn,id;a4el0;ll,rt;e5i4y;g2Mm10;ek,nd2T;ck24l0mp3;a4iSrill,y;dy,l02rp;ve0Kxy;n1Kr4;ce,y;d,fe,int0l1Iv0W;a9e7i6o4ude;mantic,o1Asy,u4;gh;pe,t1P;a4d,mo0B;dy,l;gg5iGndom,p4re,w;id;ed;ai2i4;ck,et;hoBink,lAo9r6u4;ny,r4;e,p3;egna2ic5o4;fouTud;ey,k0;liYor;ain,easa2;ny;dd,i0ld,ranM;aive,e6i5o4u15;b3isy,rm0Zsy;bb0ce,mb3;a4r1w;r,t;ad,e6ild,o5u4;nda12te;ist,o1;a5ek,l4;low;s0ty;a9e8i7o4ucky;f0Kn5o15u4ve0w10y0O;d,sy;e0g;ke0l,mp,tt3ve0;e1Qwd;me,r4te;ge;e5i4;nd;en;ol0ui19;cy,ll,n4;secu7t4;e4ima5;llege2rmedia4;te;re;aBe8i7o6u4;ge,m4ng1C;b3id;me0t;gh,l0;a4fYsita2;dy,rXv4;en0y;nd13ppy,r4;d4sh;!y;aGenFhDiClBoofy,r4;a9e7i6o4ue0Z;o4ss;vy;m,s0;at,e4y;dy,n;nd,y;ad,ib,ooE;a2d1;a4o4;st0;t3uiS;u1y;aDeeb3iAl9o7r6u4;ll,n4r0N;!ny;aDesh,iend0;a4nd,rmE;my;at,ir8;erce,nan4;ciA;le;r,ul4;ty;a7erie,sse5v4xtre0B;il;nti4;al;r5s4;tern,y;ly,th0;appZe9i5u4;mb;r6vi5z4;zy;ne;e,ty;a4ep,nA;d4f,r;!ly;agey,h9l8o6r5u4;dd0r0te;isp,uel;ar4ld,mmon,st0ward0zy;se;evLou1;e4il0;ap,e4;sy;aIiGlDoBr6u4;ff,r0sy;ly;a7i4oad;g5llia2;nt;ht;sh,ve;ld,un4;cy;a5o4ue;nd,o1;ck,nd;g,tt4;er;d,ld,w1;dy;bsu7ng6we4;so4;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", diff --git a/src/2-two/preTagger/model/lexicon/frozenLex.js b/src/2-two/preTagger/model/lexicon/frozenLex.js new file mode 100644 index 000000000..d7ea99db0 --- /dev/null +++ b/src/2-two/preTagger/model/lexicon/frozenLex.js @@ -0,0 +1,99 @@ +export default { + '20th century fox': 'Organization', + '7 eleven': 'Organization', + 'motel 6': 'Organization', + 'excuse me': 'Expression', + 'financial times': 'Organization', + 'guns n roses': 'Organization', + 'la z boy': 'Organization', + 'labour party': 'Organization', + 'new kids on the block': 'Organization', + 'new york times': 'Organization', + 'the guess who': 'Organization', + 'thin lizzy': 'Organization', + + 'prime minister': 'Actor', + 'free market': 'Singular', + 'lay up': 'Singular', + 'living room': 'Singular', + 'spin off': 'Singular', + 'appeal court': 'Uncountable', + 'cold war': 'Uncountable', + 'gene pool': 'Uncountable', + 'machine learning': 'Uncountable', + 'nail polish': 'Uncountable', + 'time off': 'Uncountable', + 'take part': 'Infinitive', + + 'bill gates': 'Person', + 'doctor who': 'Person', + 'he man': 'Person', + 'iron man': 'Person', + 'kid cudi': 'Person', + 'run dmc': 'Person', + 'rush limbaugh': 'Person', + 'snow white': 'Person', + 'tiger woods': 'Person', + + 'brand new': 'Adjective', + 'en route': 'Adjective', + 'left wing': 'Adjective', + 'off guard': 'Adjective', + 'on board': 'Adjective', + 'part time': 'Adjective', + 'right wing': 'Adjective', + 'so called': 'Adjective', + 'spot on': 'Adjective', + 'straight forward': 'Adjective', + 'super duper': 'Adjective', + 'tip top': 'Adjective', + 'top notch': 'Adjective', + 'up to date': 'Adjective', + 'win win': 'Adjective', + + 'brooklyn nets': 'SportsTeam', + 'chicago bears': 'SportsTeam', + 'houston astros': 'SportsTeam', + 'houston dynamo': 'SportsTeam', + 'houston rockets': 'SportsTeam', + 'houston texans': 'SportsTeam', + 'minnesota twins': 'SportsTeam', + 'orlando magic': 'SportsTeam', + 'san antonio spurs': 'SportsTeam', + 'san diego chargers': 'SportsTeam', + 'san diego padres': 'SportsTeam', + + 'iron maiden': 'ProperNoun', + 'isle of man': 'Country', + 'united states': 'Country', + 'united states of america': 'Country', + 'prince edward island': 'Region', + 'cedar breaks': 'Place', + 'cedar falls': 'Place', + + 'point blank': 'Adverb', + 'tiny bit': 'Adverb', + 'by the time': 'Conjunction', + 'no matter': 'Conjunction', + + 'civil wars': 'Plural', + 'credit cards': 'Plural', + 'default rates': 'Plural', + 'free markets': 'Plural', + 'head starts': 'Plural', + 'home runs': 'Plural', + 'lay ups': 'Plural', + 'phone calls': 'Plural', + 'press releases': 'Plural', + 'record labels': 'Plural', + 'soft serves': 'Plural', + 'student loans': 'Plural', + 'tax returns': 'Plural', + 'tv shows': 'Plural', + 'video games': 'Plural', + + 'took part': 'PastTense', + 'takes part': 'PresentTense', + 'taking part': 'Gerund', + 'taken part': 'Participle', +} diff --git a/src/2-two/preTagger/model/lexicon/index.js b/src/2-two/preTagger/model/lexicon/index.js index 56dded5b7..5ecb1b9c9 100644 --- a/src/2-two/preTagger/model/lexicon/index.js +++ b/src/2-two/preTagger/model/lexicon/index.js @@ -1,10 +1,10 @@ import lexData from './_data.js' import { unpack } from 'efrt' import misc from './misc.js' +import frozenLex from './frozenLex.js' import emoticons from './emoticons.js' import toPlural from '../../methods/transform/nouns/toPlural/index.js' import irregularPlurals from '../irregulars/plurals.js' - // unpack our lexicon of words // (found in ./lexicon/) @@ -37,11 +37,11 @@ Object.keys(lexData).forEach(tag => { }) }) // add ':)' -emoticons.forEach(str => lexicon[str] = 'Emoticon') +emoticons.forEach(str => (lexicon[str] = 'Emoticon')) // misc cleanup delete lexicon[''] delete lexicon[null] delete lexicon[' '] -export { lexicon, switches } +export { lexicon, switches, frozenLex } diff --git a/src/2-two/preTagger/model/lexicon/misc.js b/src/2-two/preTagger/model/lexicon/misc.js index a1282d9e5..b05045729 100644 --- a/src/2-two/preTagger/model/lexicon/misc.js +++ b/src/2-two/preTagger/model/lexicon/misc.js @@ -7,23 +7,29 @@ let misc = { 'motel 6': 'Organization', g8: 'Organization', vh1: 'Organization', + '76ers': 'SportsTeam', + '49ers': 'SportsTeam', - 'km2': 'Unit', - 'm2': 'Unit', - 'dm2': 'Unit', - 'cm2': 'Unit', - 'mm2': 'Unit', - 'mile2': 'Unit', - 'in2': 'Unit', - 'yd2': 'Unit', - 'ft2': 'Unit', - 'm3': 'Unit', - 'dm3': 'Unit', - 'cm3': 'Unit', - 'in3': 'Unit', - 'ft3': 'Unit', - 'yd3': 'Unit', + q1: 'Date', + q2: 'Date', + q3: 'Date', + q4: 'Date', + km2: 'Unit', + m2: 'Unit', + dm2: 'Unit', + cm2: 'Unit', + mm2: 'Unit', + mile2: 'Unit', + in2: 'Unit', + yd2: 'Unit', + ft2: 'Unit', + m3: 'Unit', + dm3: 'Unit', + cm3: 'Unit', + in3: 'Unit', + ft3: 'Unit', + yd3: 'Unit', // ampersands 'at&t': 'Organization', @@ -68,7 +74,6 @@ let misc = { much: 'Adverb', may: 'Modal', - // irregular conjugations with two forms babysat: 'PastTense', blew: 'PastTense', @@ -90,6 +95,8 @@ let misc = { no: ['Negative', 'Expression'], + // '-': 'Preposition', //june - july + // there: 'There' } export default misc diff --git a/src/2-two/preTagger/model/patterns/prefixes.js b/src/2-two/preTagger/model/patterns/prefixes.js index a69f17d61..4aa33e8dc 100644 --- a/src/2-two/preTagger/model/patterns/prefixes.js +++ b/src/2-two/preTagger/model/patterns/prefixes.js @@ -73,4 +73,4 @@ export default [ // 7-letter electro: Noun, }, -] \ No newline at end of file +] diff --git a/src/2-two/preTagger/model/regex/regex-normal.js b/src/2-two/preTagger/model/regex/regex-normal.js index 41a677664..0171c1342 100644 --- a/src/2-two/preTagger/model/regex/regex-normal.js +++ b/src/2-two/preTagger/model/regex/regex-normal.js @@ -8,9 +8,9 @@ export default [ [/^[PMCE]ST$/, 'Timezone', 'EST'], //names - [/^ma?c'.*/, 'LastName', "mc'neil"], - [/^o'[drlkn].*/, 'LastName', "o'connor"], - [/^ma?cd[aeiou]/, 'LastName', 'mcdonald'], + [/^ma?c'[a-z]{3}/, 'LastName', "mc'neil"], + [/^o'[a-z]{3}/, 'LastName', "o'connor"], + [/^ma?cd[aeiou][a-z]{3}/, 'LastName', 'mcdonald'], //slang things [/^(lol)+[sz]$/, 'Expression', 'lol'], diff --git a/src/2-two/preTagger/model/regex/regex-numbers.js b/src/2-two/preTagger/model/regex/regex-numbers.js index 4d34e0397..a18c0e384 100644 --- a/src/2-two/preTagger/model/regex/regex-numbers.js +++ b/src/2-two/preTagger/model/regex/regex-numbers.js @@ -1,5 +1,4 @@ export default [ - [/^@1?[0-9](am|pm)$/i, 'Time', '3pm'], [/^@1?[0-9]:[0-9]{2}(am|pm)?$/i, 'Time', '3:30pm'], [/^'[0-9]{2}$/, 'Year'], @@ -23,20 +22,11 @@ export default [ [/^[0-9]{3}-[0-9]{4}$/, 'PhoneNumber', '421-0029'], [/^(\+?[0-9][ -])?[0-9]{3}[ -]?[0-9]{3}-[0-9]{4}$/, 'PhoneNumber', '1-800-'], - //money //like $5.30 - [ - /^[-+]?\p{Currency_Symbol}[-+]?[0-9]+(,[0-9]{3})*(\.[0-9]+)?([kmb]|bn)?\+?$/u, - ['Money', 'Value'], - '$5.30', - ], + [/^[-+]?\p{Currency_Symbol}[-+]?[0-9]+(,[0-9]{3})*(\.[0-9]+)?([kmb]|bn)?\+?$/u, ['Money', 'Value'], '$5.30'], //like 5.30$ - [ - /^[-+]?[0-9]+(,[0-9]{3})*(\.[0-9]+)?\p{Currency_Symbol}\+?$/u, - ['Money', 'Value'], - '5.30£', - ], + [/^[-+]?[0-9]+(,[0-9]{3})*(\.[0-9]+)?\p{Currency_Symbol}\+?$/u, ['Money', 'Value'], '5.30£'], //like [/^[-+]?[$£]?[0-9]([0-9,.])+(usd|eur|jpy|gbp|cad|aud|chf|cny|hkd|nzd|kr|rub)$/i, ['Money', 'Value'], '$400usd'], @@ -57,4 +47,4 @@ export default [ [/^[0-9]{1,2}(:[0-9][0-9])?(am|pm)? ?[-–—] ?[0-9]{1,2}(:[0-9][0-9])?(am|pm)$/, ['Time', 'NumberRange'], '3-4pm'], //number with unit [/^[0-9.]+([a-z°]{1,4})$/, 'NumericValue', '9km'], -] \ No newline at end of file +] diff --git a/src/_version.js b/src/_version.js index 634a83fe0..11f400705 100644 --- a/src/_version.js +++ b/src/_version.js @@ -1 +1 @@ -export default '14.10.1' \ No newline at end of file +export default '14.11.0' \ No newline at end of file diff --git a/src/one.js b/src/one.js index b766ed7df..2c88f14de 100644 --- a/src/one.js +++ b/src/one.js @@ -2,6 +2,7 @@ import nlp from './nlp.js' // 5kb import cache from './1-one/cache/plugin.js' import change from './1-one/change/plugin.js' import contractions from './1-one/contraction-one/plugin.js' +import freeze from './1-one/freeze/plugin.js' import lexicon from './1-one/lexicon/plugin.js' import lookup from './1-one/lookup/plugin.js' import match from './1-one/match/plugin.js' @@ -19,6 +20,7 @@ nlp.extend(match) //10kb nlp.extend(pointers) //2kb nlp.extend(tag) //2kb nlp.plugin(contractions) //~6kb +nlp.extend(freeze) // nlp.extend(tokenize) //7kb nlp.plugin(cache) //~1kb nlp.extend(lookup) //7kb diff --git a/tests/one/lexicon/lexicon.test.js b/tests/one/lexicon/lexicon.test.js index 0f178baa3..d0e6ee8e8 100644 --- a/tests/one/lexicon/lexicon.test.js +++ b/tests/one/lexicon/lexicon.test.js @@ -5,9 +5,9 @@ const here = '[one/lexicon] ' test('addWords side-load:', function (t) { let lex = { bigg: 'Size', - 'bigg apple': 'Town' + 'bigg apple': 'Town', } - const _nlp = nlp//.fork() + const _nlp = nlp //.fork() let doc = _nlp('it was bigg') t.equal(doc.has('(#Size|#Town)'), false, here + 'none-on-init') @@ -22,7 +22,7 @@ test('addWords side-load:', function (t) { lex = { bigg: undefined, - 'bigg apple': undefined + 'bigg apple': undefined, } doc = _nlp('it was bigg', lex) t.equal(doc.has('#Size'), false, here + 'lex-removed') @@ -34,7 +34,7 @@ test('addWords side-load:', function (t) { test('lexicon compute:', function (t) { let words = { - 'captain obvious': 'Captain' + 'captain obvious': 'Captain', } let doc = nlp('it was captain obvious', words) let m = doc.match('#Captain+') @@ -46,7 +46,7 @@ test('tricky lexicon:', function (t) { let lexicon = { 'bed bath and beyond': 'Organization', } - const _nlp = nlp//.fork() + const _nlp = nlp //.fork() let r = _nlp('shopping at Bed Bath and Beyond, the store', lexicon) let str = r.match('#Organization+').out('normal') t.equal(str, 'bed bath and beyond', here + 'four-word') @@ -63,8 +63,8 @@ test('tricky lexicon:', function (t) { test('apostrophe lexicon:', function (t) { let lex = { - 'queen anne\'s lace': 'Flower', - 'applebee\'s': 'Restaurant' + "queen anne's lace": 'Flower', + "applebee's": 'Restaurant', } let doc = nlp(`i went to applebee's for dinner`, lex) t.equal(doc.has(`#Restaurant`), true, here + 'lexicon w/ apostrophe') @@ -72,4 +72,15 @@ test('apostrophe lexicon:', function (t) { doc = nlp(`Queen Anne's lace`, lex) t.equal(doc.has(`#Flower`), true, here + 'multi lexicon w/ apostrophe') t.end() -}) \ No newline at end of file +}) + +test('long lexicon:', function (t) { + nlp.addWords({ 'new york yankees are cool and not bad': 'Long' }) + let doc = nlp('the new york yankees are cool and smart') + t.equal(doc.has('#Long'), false, here + 'missed-long') + + doc = nlp('the new york yankees are cool and not bad') + t.equal(doc.has('#Long'), true, here + 'found-long') + + t.end() +}) diff --git a/tests/one/match/sweep.test.js b/tests/one/match/sweep.test.js index be0639689..db459c209 100644 --- a/tests/one/match/sweep.test.js +++ b/tests/one/match/sweep.test.js @@ -176,4 +176,18 @@ test('no negative OR false-matches:', function (t) { ]) t.equal(doc.match(net).found, false, here + 'no negative OR') t.end() -}) \ No newline at end of file +}) + +test('buildNet reserved word safe:', function (t) { + let matches = [ + { match: 'first' }, + { match: 'constructor' }, + ] + let net = nlp.buildNet(matches) + let doc = nlp(`constructor. second`) + + let res = doc.sweep(net) + t.equal(res.view.text(), 'constructor.', here + 'buildNet reserved word safe') + + t.end() +}) diff --git a/tests/two/freeze/freeze.test.js b/tests/two/freeze/freeze.test.js new file mode 100644 index 000000000..d5c49da80 --- /dev/null +++ b/tests/two/freeze/freeze.test.js @@ -0,0 +1,49 @@ +import test from 'tape' +import nlp from '../_lib.js' +const here = '[two/freeze]' + +test('isFrozen() method', function (t) { + let doc = nlp('the dr who is a a shoe in the closet') + let m = doc.match('dr who').tag('Noun') + m.freeze() // ☃️ + t.equal(doc.isFrozen().text(), 'dr who', here) + doc.match('who').unfreeze() + t.equal(doc.isFrozen().text(), 'dr', here) + doc.unfreeze() + t.equal(doc.isFrozen().text(), '', here) + t.end() +}) + +test('cant tag frozen term', function (t) { + let doc = nlp('one two three four.') + let m = doc.match('two three') + m.freeze() + doc.tag('Person') + t.equal(doc.match('one').has('#Person'), true, 'not-frozen has tag', here) + t.equal(doc.match('two three').has('#Person'), false, 'frozen has no tag', here) + t.equal(doc.match('four').has('#Person'), true, 'after has tag', here) + t.end() +}) + +test('cant tag frozen term', function (t) { + let doc = nlp('a shoe in the closet') + let m = doc.match('shoe').tag('Noun') + m.freeze() // ☃️ + m.tag('Verb') // ❌ (does nothing) + t.equal(m.has('#Verb'), false, here) + m.tag('Singular') // ✅ works + t.equal(m.has('#Singular'), true, here) + + m.unfreeze() // 🏖️ + m.tag('Verb') // ✅ works + t.equal(m.has('#Verb'), true, here) + t.end() +}) + +test('catch sneeky tags', function (t) { + let doc = nlp.tokenize('John Ginger is nice') + doc.match('ginger').tag('Verb').freeze() + doc.compute('tagger') + t.equal(doc.has('#Person #Verb is nice'), true, here) + t.end() +}) diff --git a/tests/two/freeze/internal.test.js b/tests/two/freeze/internal.test.js new file mode 100644 index 000000000..c99d822e7 --- /dev/null +++ b/tests/two/freeze/internal.test.js @@ -0,0 +1,88 @@ +import test from 'tape' +import nlp from '../_lib.js' +const here = '[two/freeze-lex] ' + +test('internal freezeLex', function (t) { + let arr = [ + ['tiger woods', 'Person'], + ['houston astros', 'SportsTeam'], + ['top notch', 'Adjective'], + ['cold war', 'Noun'], + ['excuse me', 'Expression'], + ['chick fil-a', 'Organization'], + ['financial times', 'Organization'], + ['guns n roses', 'Organization'], + ['la z boy', 'Organization'], + ['labour party', 'Organization'], + // ['new kids on the block', 'Organization'], + ['new york times', 'Organization'], + ['the guess who', 'Organization'], + ['thin lizzy', 'Organization'], + ['prime minister', 'Actor'], + ['free market', 'Singular'], + ['lay up', 'Singular'], + ['living room', 'Singular'], + ['spin off', 'Singular'], + ['appeal court', 'Uncountable'], + ['cold war', 'Uncountable'], + ['gene pool', 'Uncountable'], + ['machine learning', 'Uncountable'], + ['nail polish', 'Uncountable'], + ['time off', 'Uncountable'], + ['take part', 'Infinitive'], + ['bill gates', 'Person'], + ['doctor who', 'Person'], + ['he man', 'Person'], + ['iron man', 'Person'], + ['kid cudi', 'Person'], + ['run dmc', 'Person'], + ['rush limbaugh', 'Person'], + ['snow white', 'Person'], + ['brand new', 'Adjective'], + ['en route', 'Adjective'], + ['off guard', 'Adjective'], + ['on board', 'Adjective'], + ['so called', 'Adjective'], + ['spot on', 'Adjective'], + ['straight forward', 'Adjective'], + ['super duper', 'Adjective'], + ['tip top', 'Adjective'], + ['top notch', 'Adjective'], + ['up to date', 'Adjective'], + ['win win', 'Adjective'], + ['atlanta united', 'SportsTeam'], + + // ['try in', 'PhrasalVerb'], + // ['try off', 'PhrasalVerb'], + // ['try on', 'PhrasalVerb'], + // ['try out', 'PhrasalVerb'], + ['iron maiden', 'ProperNoun'], + ['new york state', 'Region'], + ['prince edward island', 'Region'], + ["cote d'ivoire", 'Country'], + ['isle of man', 'Country'], + ['united states', 'Country'], + ['u.s. virgin islands', 'Country'], + ['united states of america', 'Country'], + ['cedar breaks', 'Place'], + ['cedar falls', 'Place'], + ['point blank', 'Adverb'], + ['tiny bit', 'Adverb'], + ['as soon as', 'Conjunction'], + ['by the time', 'Conjunction'], + ['no matter', 'Conjunction'], + ['will like', 'Verb'], + ['will refine', 'Verb'], + ['took part', 'PastTense'], + ['takes part', 'PresentTense'], + ['taking part', 'Gerund'], + ['will take part', 'Verb'], + ['taken part', 'Participle'], + ] + arr.forEach(a => { + let [str, tag] = a + let doc = nlp(str) + t.equal(doc.has('^#' + tag + '+$'), true, here + str) + }) + t.end() +}) diff --git a/tests/two/freeze/lex.test.js b/tests/two/freeze/lex.test.js new file mode 100644 index 000000000..985129e26 --- /dev/null +++ b/tests/two/freeze/lex.test.js @@ -0,0 +1,55 @@ +import test from 'tape' +import nlp from '../_lib.js' +const here = '[two/freeze-lex] ' + +test('nonfrozen behaviour', function (t) { + nlp.addWords({ 'shoe in': 'Noun', 'dr who': 'Person' }) + let doc = nlp('the dr who threw a shoe in the car.') + t.ok(doc.has('dr #Preposition threw a #Noun'), here + 'default') + t.end() +}) +test('frozen behaviour', function (t) { + nlp.addWords({ 'shoe in': 'Noun', 'dr who': 'Person' }, true) + let doc = nlp('the dr who threw a shoe in the car.') + t.ok(doc.has('#Person #Person threw a #Noun #Noun the car'), here + 'frozen') + t.end() +}) + +test('addWords() frozen', function (t) { + nlp.addWords({ 'dr which': 'Place', moose: 'Adverb' }, true) + let doc = nlp('i saw dr. which on ice in Moose, Canada') + t.equal(doc.has('saw #Place #Place on'), true, here) + t.equal(doc.has('in #Adverb #Place$'), true, here) + t.end() +}) + +test('freeze + tags', function (t) { + nlp.addTags({ Diagnostic: { isA: 'Noun' } }) + nlp.addWords({ echo: 'Diagnostic', scan: 'Diagnostic' }, true) + let doc = nlp(`she should have a further scan in a year.`) + t.ok(doc.has('(scan && #Diagnostic)'), here + 'scan #1') + doc = nlp('She went for a scan.') + t.ok(doc.has('(scan && #Diagnostic)'), here + 'scan #2') + + doc = nlp('The plan is for a further echo in October.') + t.ok(doc.has('(echo && #Diagnostic)'), here + 'echo #1') + doc = nlp('He had an echo today.') + t.ok(doc.has('(echo && #Diagnostic)'), here + 'echo #2') + t.end() +}) + +test('more-lex', function (t) { + nlp.addWords({ 'fast times at freddy': 'Cardinal' }, true) + let doc = nlp('i saw fast times at freddy, on the weekend') + + t.equal(doc.has('i saw #Cardinal+ on'), true, here + 'is cardinal') + t.equal(doc.has('(#Adjective|#Person)'), false, here + 'no person') + + let m = doc.match('fast times').freeze() + doc.tag('Noun') + doc.tag('ImdbTag') + + t.equal(m.has('#Noun'), false, here + 'no noun') + t.equal(m.has('#ImdbTag'), true, here + 'has random tag') + t.end() +}) diff --git a/tests/two/match.test.js b/tests/two/match.test.js index 70cd01500..ddbdef992 100644 --- a/tests/two/match.test.js +++ b/tests/two/match.test.js @@ -699,7 +699,7 @@ let arr = [ ['hell', '#Expression'], ['live in hell', '#Verb in #Noun'], [`we gave tax reductions`, `#Pronoun #PastTense #Noun #Plural`], - [`brand new`, `#Adverb #Adjective`], + // [`brand new`, `#Adverb #Adjective`], [`brand spanking new`, `#Adverb #Adverb #Adjective`], ['Right after.', '#Adverb .'], diff --git a/tests/two/tagger/_pennSample.js b/tests/two/tagger/_pennSample.js index 7fd542821..f4bc3dda1 100644 --- a/tests/two/tagger/_pennSample.js +++ b/tests/two/tagger/_pennSample.js @@ -2802,7 +2802,7 @@ export default [ // }, { text: 'I am GEORGE WALKER BUSH, son of the former president of the United States of America George Herbert Walker Bush, and currently serving as President of the United States of America.', - tags: 'PRP, VBP, NNP, NNP, NNP, NN, IN, DT, JJ, NNP, IN, DT, NNP, NNP, IN, NNP, NNP, NNP, NNP, NNP, CC, RB, VBG, IN, NNP, IN, DT, NNP, NNP, IN, NNP', + tags: 'PRP, VBP, NNP, NNP, NNP, NN, IN, DT, JJ, NNP, IN, DT, NNP, NNP, NN, NNP, NNP, NNP, NNP, NNP, CC, RB, VBG, IN, NNP, IN, DT, NNP, NNP, NN, NNP', }, { text: 'Watch the airlift', @@ -3606,7 +3606,7 @@ export default [ tags: 'CC, MD, DT, NN, IN, DT, NN, VB, DT, NN', }, { - text: 'Is normal bird food good?',//fine + text: 'Is normal bird food good?', //fine tags: 'VBZ, JJ, NN, NN, JJ', }, { diff --git a/tests/two/tagger/lexicon.test.js b/tests/two/tagger/lexicon.test.js index 6ef046df6..10cd32be8 100644 --- a/tests/two/tagger/lexicon.test.js +++ b/tests/two/tagger/lexicon.test.js @@ -45,3 +45,33 @@ test('allow orthagonal tags:', function (t) { t.end() }) +test('look for invalid lexicon items:', function (t) { + let lex = nlp.world().model.one.lexicon + Object.keys(lex).forEach(k => { + if (k.trim() !== k) { + t.fail(here + `'${k}' has whitespace`) + } + if (k.match(/[.,-]/) && lex[k] !== 'Emoticon') { + t.fail(here + `'${k}' has punctuation`) + } + }) + t.end() +}) + +test('all multi-word items get tagged:', function (t) { + let lex = nlp.world().model.one.lexicon + Object.keys(lex).forEach(k => { + let tag = lex[k] + if (!k.match(' ') || typeof tag !== 'string' || tag === 'FutureTense') { + return + } + let doc = nlp(k) + if (!doc.has('^#' + tag + '+$')) { + t.fail(here + `lex changed : '${k}'`) + } + if (doc.isFrozen().found) { + t.fail(here + ` '${k}' still frozen`) + } + }) + t.end() +}) diff --git a/tmp-NER.js b/tmp-NER.js deleted file mode 100644 index 83b5bf08a..000000000 --- a/tmp-NER.js +++ /dev/null @@ -1,49 +0,0 @@ -/* eslint-disable no-console, no-unused-vars */ -import combineRanges from './src/1-one/tokenize/methods/02-terms/03-ranges.js' -import nlp from './src/three.js' -// import plg from './plugins/dates/src/plugin.js' -// nlp.plugin(plg) - -// nlp.verbose('tagger') -let arr = [ - 'at&t', - 'amazon.com', - 'apple inc.', - 'audi', - 'bacardi', - 'cadillac', - 'coco chanel', - 'fc barcelona', - 'fifa', - 'firefox', - 'halliburton', - 'ikea', - 'klm', - 'lexus', - 'manchester united', - 'mcgill university', - 'mercedes-benz', - 'michelin', - 'nivea', - 'pepsi', - 'philips', - 'premier league', - 'real madrid', - 'roman empire', - 'scientology', - 'smirnoff', - 'wikileaks', - 'wikipedia', -] -let count = 0 -let missing = [] -arr.forEach(str => { - let doc = nlp(str) - if (!doc.organizations().found) { - console.log(str) - count += 1 - missing.push(str) - } -}) -console.log(count, arr.length) -console.log(JSON.stringify(missing, null, 2)) diff --git a/types/one.d.ts b/types/one.d.ts index 382784dd2..50c2dc35a 100644 --- a/types/one.d.ts +++ b/types/one.d.ts @@ -31,7 +31,7 @@ declare module nlp { /** connect new tags to tagset graph */ export function addTags(tags: object): any /** add new words to internal lexicon */ - export function addWords(words: Lexicon): any + export function addWords(words: Lexicon, isFrozen?:boolean): any /** turn a list of words into a searchable graph */ export function buildTrie(words: string[]): object /** compile a set of match objects to a more optimized form */ diff --git a/types/three.d.ts b/types/three.d.ts index 227e6e81d..9877093fe 100644 --- a/types/three.d.ts +++ b/types/three.d.ts @@ -31,7 +31,7 @@ declare module nlp { /** connect new tags to tagset graph */ export function addTags(tags: object): any /** add new words to internal lexicon */ - export function addWords(words: Lexicon): any + export function addWords(words: Lexicon, isFrozen?:boolean): any /** turn a list of words into a searchable graph */ export function buildTrie(words: string[]): object /** compile a set of match objects to a more optimized form */ diff --git a/types/two.d.ts b/types/two.d.ts index 966de6771..07922b080 100644 --- a/types/two.d.ts +++ b/types/two.d.ts @@ -31,7 +31,7 @@ declare module nlp { /** connect new tags to tagset graph */ export function addTags(tags: object): any /** add new words to internal lexicon */ - export function addWords(words: Lexicon): any + export function addWords(words: Lexicon, isFrozen?:boolean): any /** turn a list of words into a searchable graph */ export function buildTrie(words: string[]): object /** compile a set of match objects to a more optimized form */ diff --git a/types/view/one.d.ts b/types/view/one.d.ts index adc8ad21d..244564d01 100644 --- a/types/view/one.d.ts +++ b/types/view/one.d.ts @@ -231,10 +231,11 @@ declare class View { cache: (options?: object) => View /** un-freezes the current state of the document, so it may be transformed */ uncache: (options?: object) => View - /* - harden: () => View - soften: () => View - */ + + /** prevent current tags from being removed */ + freeze: () => View + /** allow current tags to be changed [default] */ + unfreeze: () => View /** quick find for an array of string matches */ lookup: (trie: object | string[], opts?: object) => View