import{j,A as Uf,m as Te}from"./ui-vendor-pHBa535G.js";import{a as Qv,b as Yv,r as ke,c as Xv,R as Is,L as N1,B as Zv,d as Wv,e as ip}from"./router-BC4OM2fV.js";(function(){const a=document.createElement("link").relList;if(a&&a.supports&&a.supports("modulepreload"))return;for(const s of document.querySelectorAll('link[rel="modulepreload"]'))o(s);new MutationObserver(s=>{for(const u of s)if(u.type==="childList")for(const h of u.addedNodes)h.tagName==="LINK"&&h.rel==="modulepreload"&&o(h)}).observe(document,{childList:!0,subtree:!0});function i(s){const u={};return s.integrity&&(u.integrity=s.integrity),s.referrerPolicy&&(u.referrerPolicy=s.referrerPolicy),s.crossOrigin==="use-credentials"?u.credentials="include":s.crossOrigin==="anonymous"?u.credentials="omit":u.credentials="same-origin",u}function o(s){if(s.ep)return;s.ep=!0;const u=i(s);fetch(s.href,u)}})();var Fc={exports:{}},lr={},Kc={exports:{}},qc={};var op;function e2(){return op||(op=1,(function(e){function a(E,M){var F=E.length;E.push(M);e:for(;0>>1,xe=E[Ae];if(0>>1;Aes(le,F))Jes(yn,le)?(E[Ae]=yn,E[Je]=F,Ae=Je):(E[Ae]=le,E[Oe]=F,Ae=Oe);else if(Jes(yn,F))E[Ae]=yn,E[Je]=F,Ae=Je;else break e}}return M}function s(E,M){var F=E.sortIndex-M.sortIndex;return F!==0?F:E.id-M.id}if(e.unstable_now=void 0,typeof performance=="object"&&typeof performance.now=="function"){var u=performance;e.unstable_now=function(){return u.now()}}else{var h=Date,m=h.now();e.unstable_now=function(){return h.now()-m}}var g=[],y=[],b=1,A=null,k=3,V=!1,W=!1,se=!1,te=!1,ht=typeof setTimeout=="function"?setTimeout:null,jn=typeof clearTimeout=="function"?clearTimeout:null,et=typeof setImmediate<"u"?setImmediate:null;function Ee(E){for(var M=i(y);M!==null;){if(M.callback===null)o(y);else if(M.startTime<=E)o(y),M.sortIndex=M.expirationTime,a(g,M);else break;M=i(y)}}function tt(E){if(se=!1,Ee(E),!W)if(i(g)!==null)W=!0,yt||(yt=!0,Ft());else{var M=i(y);M!==null&&Tn(tt,M.startTime-E)}}var yt=!1,on=-1,rn=5,hi=-1;function Cr(){return te?!0:!(e.unstable_now()-hiE&&Cr());){var Ae=A.callback;if(typeof Ae=="function"){A.callback=null,k=A.priorityLevel;var xe=Ae(A.expirationTime<=E);if(E=e.unstable_now(),typeof xe=="function"){A.callback=xe,Ee(E),M=!0;break t}A===i(g)&&o(g),Ee(E)}else o(g);A=i(g)}if(A!==null)M=!0;else{var dt=i(y);dt!==null&&Tn(tt,dt.startTime-E),M=!1}}break e}finally{A=null,k=F,V=!1}M=void 0}}finally{M?Ft():yt=!1}}}var Ft;if(typeof et=="function")Ft=function(){et(di)};else if(typeof MessageChannel<"u"){var jr=new MessageChannel,go=jr.port2;jr.port1.onmessage=di,Ft=function(){go.postMessage(null)}}else Ft=function(){ht(di,0)};function Tn(E,M){on=ht(function(){E(e.unstable_now())},M)}e.unstable_IdlePriority=5,e.unstable_ImmediatePriority=1,e.unstable_LowPriority=4,e.unstable_NormalPriority=3,e.unstable_Profiling=null,e.unstable_UserBlockingPriority=2,e.unstable_cancelCallback=function(E){E.callback=null},e.unstable_forceFrameRate=function(E){0>E||125Ae?(E.sortIndex=F,a(y,E),i(g)===null&&E===i(y)&&(se?(jn(on),on=-1):se=!0,Tn(tt,F-Ae))):(E.sortIndex=xe,a(g,E),W||V||(W=!0,yt||(yt=!0,Ft()))),E},e.unstable_shouldYield=Cr,e.unstable_wrapCallback=function(E){var M=k;return function(){var F=k;k=M;try{return E.apply(this,arguments)}finally{k=F}}}})(qc)),qc}var rp;function t2(){return rp||(rp=1,Kc.exports=e2()),Kc.exports}var sp;function n2(){if(sp)return lr;sp=1;var e=t2(),a=Qv(),i=Yv();function o(t){var n="https://react.dev/errors/"+t;if(1xe||(t.current=Ae[xe],Ae[xe]=null,xe--)}function le(t,n){xe++,Ae[xe]=t.current,t.current=n}var Je=dt(null),yn=dt(null),na=dt(null),Tr=dt(null);function kr(t,n){switch(le(na,n),le(yn,t),le(Je,null),n.nodeType){case 9:case 11:t=(t=n.documentElement)&&(t=t.namespaceURI)?kg(t):0;break;default:if(t=n.tagName,n=n.namespaceURI)n=kg(n),t=Sg(n,t);else switch(t){case"svg":t=1;break;case"math":t=2;break;default:t=0}}Oe(Je),le(Je,t)}function mi(){Oe(Je),Oe(yn),Oe(na)}function Cl(t){t.memoizedState!==null&&le(Tr,t);var n=Je.current,r=Sg(n,t.type);n!==r&&(le(yn,t),le(Je,r))}function Sr(t){yn.current===t&&(Oe(Je),Oe(yn)),Tr.current===t&&(Oe(Tr),ir._currentValue=F)}var jl,ah;function Ma(t){if(jl===void 0)try{throw Error()}catch(r){var n=r.stack.trim().match(/\n( *(at )?)/);jl=n&&n[1]||"",ah=-1)":-1c||v[l]!==C[c]){var D=` `+v[l].replace(" at new "," at ");return t.displayName&&D.includes("")&&(D=D.replace("",t.displayName)),D}while(1<=l&&0<=c);break}}}finally{Tl=!1,Error.prepareStackTrace=r}return(r=t?t.displayName||t.name:"")?Ma(r):""}function Ty(t,n){switch(t.tag){case 26:case 27:case 5:return Ma(t.type);case 16:return Ma("Lazy");case 13:return t.child!==n&&n!==null?Ma("Suspense Fallback"):Ma("Suspense");case 19:return Ma("SuspenseList");case 0:case 15:return kl(t.type,!1);case 11:return kl(t.type.render,!1);case 1:return kl(t.type,!0);case 31:return Ma("Activity");default:return""}}function ih(t){try{var n="",r=null;do n+=Ty(t,r),r=t,t=t.return;while(t);return n}catch(l){return` Error generating stack: `+l.message+` `+l.stack}}var Sl=Object.prototype.hasOwnProperty,Dl=e.unstable_scheduleCallback,zl=e.unstable_cancelCallback,ky=e.unstable_shouldYield,Sy=e.unstable_requestPaint,Tt=e.unstable_now,Dy=e.unstable_getCurrentPriorityLevel,oh=e.unstable_ImmediatePriority,rh=e.unstable_UserBlockingPriority,Dr=e.unstable_NormalPriority,zy=e.unstable_LowPriority,sh=e.unstable_IdlePriority,Ey=e.log,Oy=e.unstable_setDisableYieldValue,po=null,kt=null;function aa(t){if(typeof Ey=="function"&&Oy(t),kt&&typeof kt.setStrictMode=="function")try{kt.setStrictMode(po,t)}catch{}}var St=Math.clz32?Math.clz32:Gy,Py=Math.log,Hy=Math.LN2;function Gy(t){return t>>>=0,t===0?32:31-(Py(t)/Hy|0)|0}var zr=256,Er=262144,Or=4194304;function Ba(t){var n=t&42;if(n!==0)return n;switch(t&-t){case 1:return 1;case 2:return 2;case 4:return 4;case 8:return 8;case 16:return 16;case 32:return 32;case 64:return 64;case 128:return 128;case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:return t&261888;case 262144:case 524288:case 1048576:case 2097152:return t&3932160;case 4194304:case 8388608:case 16777216:case 33554432:return t&62914560;case 67108864:return 67108864;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 0;default:return t}}function Pr(t,n,r){var l=t.pendingLanes;if(l===0)return 0;var c=0,f=t.suspendedLanes,d=t.pingedLanes;t=t.warmLanes;var p=l&134217727;return p!==0?(l=p&~f,l!==0?c=Ba(l):(d&=p,d!==0?c=Ba(d):r||(r=p&~t,r!==0&&(c=Ba(r))))):(p=l&~f,p!==0?c=Ba(p):d!==0?c=Ba(d):r||(r=l&~t,r!==0&&(c=Ba(r)))),c===0?0:n!==0&&n!==c&&(n&f)===0&&(f=c&-c,r=n&-n,f>=r||f===32&&(r&4194048)!==0)?n:c}function yo(t,n){return(t.pendingLanes&~(t.suspendedLanes&~t.pingedLanes)&n)===0}function My(t,n){switch(t){case 1:case 2:case 4:case 8:case 64:return n+250;case 16:case 32:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:return n+5e3;case 4194304:case 8388608:case 16777216:case 33554432:return-1;case 67108864:case 134217728:case 268435456:case 536870912:case 1073741824:return-1;default:return-1}}function lh(){var t=Or;return Or<<=1,(Or&62914560)===0&&(Or=4194304),t}function El(t){for(var n=[],r=0;31>r;r++)n.push(t);return n}function bo(t,n){t.pendingLanes|=n,n!==268435456&&(t.suspendedLanes=0,t.pingedLanes=0,t.warmLanes=0)}function By(t,n,r,l,c,f){var d=t.pendingLanes;t.pendingLanes=r,t.suspendedLanes=0,t.pingedLanes=0,t.warmLanes=0,t.expiredLanes&=r,t.entangledLanes&=r,t.errorRecoveryDisabledLanes&=r,t.shellSuspendCounter=0;var p=t.entanglements,v=t.expirationTimes,C=t.hiddenUpdates;for(r=d&~r;0"u")return null;try{return t.activeElement||t.body}catch{return t.body}}var Fy=/[\n"\\]/g;function qt(t){return t.replace(Fy,function(n){return"\\"+n.charCodeAt(0).toString(16)+" "})}function Bl(t,n,r,l,c,f,d,p){t.name="",d!=null&&typeof d!="function"&&typeof d!="symbol"&&typeof d!="boolean"?t.type=d:t.removeAttribute("type"),n!=null?d==="number"?(n===0&&t.value===""||t.value!=n)&&(t.value=""+Kt(n)):t.value!==""+Kt(n)&&(t.value=""+Kt(n)):d!=="submit"&&d!=="reset"||t.removeAttribute("value"),n!=null?Vl(t,d,Kt(n)):r!=null?Vl(t,d,Kt(r)):l!=null&&t.removeAttribute("value"),c==null&&f!=null&&(t.defaultChecked=!!f),c!=null&&(t.checked=c&&typeof c!="function"&&typeof c!="symbol"),p!=null&&typeof p!="function"&&typeof p!="symbol"&&typeof p!="boolean"?t.name=""+Kt(p):t.removeAttribute("name")}function Ah(t,n,r,l,c,f,d,p){if(f!=null&&typeof f!="function"&&typeof f!="symbol"&&typeof f!="boolean"&&(t.type=f),n!=null||r!=null){if(!(f!=="submit"&&f!=="reset"||n!=null)){Ml(t);return}r=r!=null?""+Kt(r):"",n=n!=null?""+Kt(n):r,p||n===t.value||(t.value=n),t.defaultValue=n}l=l??c,l=typeof l!="function"&&typeof l!="symbol"&&!!l,t.checked=p?t.checked:!!l,t.defaultChecked=!!l,d!=null&&typeof d!="function"&&typeof d!="symbol"&&typeof d!="boolean"&&(t.name=d),Ml(t)}function Vl(t,n,r){n==="number"&&Mr(t.ownerDocument)===t||t.defaultValue===""+r||(t.defaultValue=""+r)}function wi(t,n,r,l){if(t=t.options,n){n={};for(var c=0;c"u"||typeof window.document>"u"||typeof window.document.createElement>"u"),Fl=!1;if(Dn)try{var xo={};Object.defineProperty(xo,"passive",{get:function(){Fl=!0}}),window.addEventListener("test",xo,xo),window.removeEventListener("test",xo,xo)}catch{Fl=!1}var oa=null,Kl=null,Vr=null;function Sh(){if(Vr)return Vr;var t,n=Kl,r=n.length,l,c="value"in oa?oa.value:oa.textContent,f=c.length;for(t=0;t=jo),Hh=" ",Gh=!1;function Mh(t,n){switch(t){case"keyup":return yb.indexOf(n.keyCode)!==-1;case"keydown":return n.keyCode!==229;case"keypress":case"mousedown":case"focusout":return!0;default:return!1}}function Bh(t){return t=t.detail,typeof t=="object"&&"data"in t?t.data:null}var Ci=!1;function vb(t,n){switch(t){case"compositionend":return Bh(n);case"keypress":return n.which!==32?null:(Gh=!0,Hh);case"textInput":return t=n.data,t===Hh&&Gh?null:t;default:return null}}function wb(t,n){if(Ci)return t==="compositionend"||!Ql&&Mh(t,n)?(t=Sh(),Vr=Kl=oa=null,Ci=!1,t):null;switch(t){case"paste":return null;case"keypress":if(!(n.ctrlKey||n.altKey||n.metaKey)||n.ctrlKey&&n.altKey){if(n.char&&1=n)return{node:r,offset:n-t};t=l}e:{for(;r;){if(r.nextSibling){r=r.nextSibling;break e}r=r.parentNode}r=void 0}r=qh(r)}}function Jh(t,n){return t&&n?t===n?!0:t&&t.nodeType===3?!1:n&&n.nodeType===3?Jh(t,n.parentNode):"contains"in t?t.contains(n):t.compareDocumentPosition?!!(t.compareDocumentPosition(n)&16):!1:!1}function Rh(t){t=t!=null&&t.ownerDocument!=null&&t.ownerDocument.defaultView!=null?t.ownerDocument.defaultView:window;for(var n=Mr(t.document);n instanceof t.HTMLIFrameElement;){try{var r=typeof n.contentWindow.location.href=="string"}catch{r=!1}if(r)t=n.contentWindow;else break;n=Mr(t.document)}return n}function Zl(t){var n=t&&t.nodeName&&t.nodeName.toLowerCase();return n&&(n==="input"&&(t.type==="text"||t.type==="search"||t.type==="tel"||t.type==="url"||t.type==="password")||n==="textarea"||t.contentEditable==="true")}var Sb=Dn&&"documentMode"in document&&11>=document.documentMode,ji=null,Wl=null,Do=null,eu=!1;function Qh(t,n,r){var l=r.window===r?r.document:r.nodeType===9?r:r.ownerDocument;eu||ji==null||ji!==Mr(l)||(l=ji,"selectionStart"in l&&Zl(l)?l={start:l.selectionStart,end:l.selectionEnd}:(l=(l.ownerDocument&&l.ownerDocument.defaultView||window).getSelection(),l={anchorNode:l.anchorNode,anchorOffset:l.anchorOffset,focusNode:l.focusNode,focusOffset:l.focusOffset}),Do&&So(Do,l)||(Do=l,l=Es(Wl,"onSelect"),0>=d,c-=d,bn=1<<32-St(n)+c|r<J?(Z=$,$=null):Z=$.sibling;var ie=T(x,$,N[J],z);if(ie===null){$===null&&($=Z);break}t&&$&&ie.alternate===null&&n(x,$),w=f(ie,w,J),ae===null?U=ie:ae.sibling=ie,ae=ie,$=Z}if(J===N.length)return r(x,$),ee&&En(x,J),U;if($===null){for(;JJ?(Z=$,$=null):Z=$.sibling;var ka=T(x,$,ie.value,z);if(ka===null){$===null&&($=Z);break}t&&$&&ka.alternate===null&&n(x,$),w=f(ka,w,J),ae===null?U=ka:ae.sibling=ka,ae=ka,$=Z}if(ie.done)return r(x,$),ee&&En(x,J),U;if($===null){for(;!ie.done;J++,ie=N.next())ie=O(x,ie.value,z),ie!==null&&(w=f(ie,w,J),ae===null?U=ie:ae.sibling=ie,ae=ie);return ee&&En(x,J),U}for($=l($);!ie.done;J++,ie=N.next())ie=S($,x,J,ie.value,z),ie!==null&&(t&&ie.alternate!==null&&$.delete(ie.key===null?J:ie.key),w=f(ie,w,J),ae===null?U=ie:ae.sibling=ie,ae=ie);return t&&$.forEach(function(Rv){return n(x,Rv)}),ee&&En(x,J),U}function ge(x,w,N,z){if(typeof N=="object"&&N!==null&&N.type===se&&N.key===null&&(N=N.props.children),typeof N=="object"&&N!==null){switch(N.$$typeof){case V:e:{for(var U=N.key;w!==null;){if(w.key===U){if(U=N.type,U===se){if(w.tag===7){r(x,w.sibling),z=c(w,N.props.children),z.return=x,x=z;break e}}else if(w.elementType===U||typeof U=="object"&&U!==null&&U.$$typeof===rn&&Ra(U)===w.type){r(x,w.sibling),z=c(w,N.props),Go(z,N),z.return=x,x=z;break e}r(x,w);break}else n(x,w);w=w.sibling}N.type===se?(z=Fa(N.props.children,x.mode,z,N.key),z.return=x,x=z):(z=Rr(N.type,N.key,N.props,null,x.mode,z),Go(z,N),z.return=x,x=z)}return d(x);case W:e:{for(U=N.key;w!==null;){if(w.key===U)if(w.tag===4&&w.stateNode.containerInfo===N.containerInfo&&w.stateNode.implementation===N.implementation){r(x,w.sibling),z=c(w,N.children||[]),z.return=x,x=z;break e}else{r(x,w);break}else n(x,w);w=w.sibling}z=su(N,x.mode,z),z.return=x,x=z}return d(x);case rn:return N=Ra(N),ge(x,w,N,z)}if(Tn(N))return B(x,w,N,z);if(Ft(N)){if(U=Ft(N),typeof U!="function")throw Error(o(150));return N=U.call(N),_(x,w,N,z)}if(typeof N.then=="function")return ge(x,w,ts(N),z);if(N.$$typeof===et)return ge(x,w,Xr(x,N),z);ns(x,N)}return typeof N=="string"&&N!==""||typeof N=="number"||typeof N=="bigint"?(N=""+N,w!==null&&w.tag===6?(r(x,w.sibling),z=c(w,N),z.return=x,x=z):(r(x,w),z=ru(N,x.mode,z),z.return=x,x=z),d(x)):r(x,w)}return function(x,w,N,z){try{Ho=0;var U=ge(x,w,N,z);return Mi=null,U}catch($){if($===Gi||$===Wr)throw $;var ae=zt(29,$,null,x.mode);return ae.lanes=z,ae.return=x,ae}}}var Ya=bd(!0),vd=bd(!1),ca=!1;function vu(t){t.updateQueue={baseState:t.memoizedState,firstBaseUpdate:null,lastBaseUpdate:null,shared:{pending:null,lanes:0,hiddenCallbacks:null},callbacks:null}}function wu(t,n){t=t.updateQueue,n.updateQueue===t&&(n.updateQueue={baseState:t.baseState,firstBaseUpdate:t.firstBaseUpdate,lastBaseUpdate:t.lastBaseUpdate,shared:t.shared,callbacks:null})}function fa(t){return{lane:t,tag:0,payload:null,callback:null,next:null}}function ha(t,n,r){var l=t.updateQueue;if(l===null)return null;if(l=l.shared,(re&2)!==0){var c=l.pending;return c===null?n.next=n:(n.next=c.next,c.next=n),l.pending=n,n=Jr(t),nd(t,null,r),n}return Ir(t,l,n,r),Jr(t)}function Mo(t,n,r){if(n=n.updateQueue,n!==null&&(n=n.shared,(r&4194048)!==0)){var l=n.lanes;l&=t.pendingLanes,r|=l,n.lanes=r,ch(t,r)}}function Au(t,n){var r=t.updateQueue,l=t.alternate;if(l!==null&&(l=l.updateQueue,r===l)){var c=null,f=null;if(r=r.firstBaseUpdate,r!==null){do{var d={lane:r.lane,tag:r.tag,payload:r.payload,callback:null,next:null};f===null?c=f=d:f=f.next=d,r=r.next}while(r!==null);f===null?c=f=n:f=f.next=n}else c=f=n;r={baseState:l.baseState,firstBaseUpdate:c,lastBaseUpdate:f,shared:l.shared,callbacks:l.callbacks},t.updateQueue=r;return}t=r.lastBaseUpdate,t===null?r.firstBaseUpdate=n:t.next=n,r.lastBaseUpdate=n}var xu=!1;function Bo(){if(xu){var t=Hi;if(t!==null)throw t}}function Vo(t,n,r,l){xu=!1;var c=t.updateQueue;ca=!1;var f=c.firstBaseUpdate,d=c.lastBaseUpdate,p=c.shared.pending;if(p!==null){c.shared.pending=null;var v=p,C=v.next;v.next=null,d===null?f=C:d.next=C,d=v;var D=t.alternate;D!==null&&(D=D.updateQueue,p=D.lastBaseUpdate,p!==d&&(p===null?D.firstBaseUpdate=C:p.next=C,D.lastBaseUpdate=v))}if(f!==null){var O=c.baseState;d=0,D=C=v=null,p=f;do{var T=p.lane&-536870913,S=T!==p.lane;if(S?(X&T)===T:(l&T)===T){T!==0&&T===Pi&&(xu=!0),D!==null&&(D=D.next={lane:0,tag:p.tag,payload:p.payload,callback:null,next:null});e:{var B=t,_=p;T=n;var ge=r;switch(_.tag){case 1:if(B=_.payload,typeof B=="function"){O=B.call(ge,O,T);break e}O=B;break e;case 3:B.flags=B.flags&-65537|128;case 0:if(B=_.payload,T=typeof B=="function"?B.call(ge,O,T):B,T==null)break e;O=A({},O,T);break e;case 2:ca=!0}}T=p.callback,T!==null&&(t.flags|=64,S&&(t.flags|=8192),S=c.callbacks,S===null?c.callbacks=[T]:S.push(T))}else S={lane:T,tag:p.tag,payload:p.payload,callback:p.callback,next:null},D===null?(C=D=S,v=O):D=D.next=S,d|=T;if(p=p.next,p===null){if(p=c.shared.pending,p===null)break;S=p,p=S.next,S.next=null,c.lastBaseUpdate=S,c.shared.pending=null}}while(!0);D===null&&(v=O),c.baseState=v,c.firstBaseUpdate=C,c.lastBaseUpdate=D,f===null&&(c.shared.lanes=0),ya|=d,t.lanes=d,t.memoizedState=O}}function wd(t,n){if(typeof t!="function")throw Error(o(191,t));t.call(n)}function Ad(t,n){var r=t.callbacks;if(r!==null)for(t.callbacks=null,t=0;tf?f:8;var d=E.T,p={};E.T=p,_u(t,!1,n,r);try{var v=c(),C=E.S;if(C!==null&&C(p,v),v!==null&&typeof v=="object"&&typeof v.then=="function"){var D=Bb(v,l);_o(t,n,D,Gt(t))}else _o(t,n,l,Gt(t))}catch(O){_o(t,n,{then:function(){},status:"rejected",reason:O},Gt())}finally{M.p=f,d!==null&&p.types!==null&&(d.types=p.types),E.T=d}}function Fb(){}function $u(t,n,r,l){if(t.tag!==5)throw Error(o(476));var c=Wd(t).queue;Zd(t,c,n,F,r===null?Fb:function(){return em(t),r(l)})}function Wd(t){var n=t.memoizedState;if(n!==null)return n;n={memoizedState:F,baseState:F,baseQueue:null,queue:{pending:null,lanes:0,dispatch:null,lastRenderedReducer:Gn,lastRenderedState:F},next:null};var r={};return n.next={memoizedState:r,baseState:r,baseQueue:null,queue:{pending:null,lanes:0,dispatch:null,lastRenderedReducer:Gn,lastRenderedState:r},next:null},t.memoizedState=n,t=t.alternate,t!==null&&(t.memoizedState=n),n}function em(t){var n=Wd(t);n.next===null&&(n=t.alternate.memoizedState),_o(t,n.next.queue,{},Gt())}function Uu(){return it(ir)}function tm(){return Be().memoizedState}function nm(){return Be().memoizedState}function Kb(t){for(var n=t.return;n!==null;){switch(n.tag){case 24:case 3:var r=Gt();t=fa(r);var l=ha(n,t,r);l!==null&&(Ct(l,n,r),Mo(l,n,r)),n={cache:gu()},t.payload=n;return}n=n.return}}function qb(t,n,r){var l=Gt();r={lane:l,revertLane:0,gesture:null,action:r,hasEagerState:!1,eagerState:null,next:null},hs(t)?im(n,r):(r=iu(t,n,r,l),r!==null&&(Ct(r,t,l),om(r,n,l)))}function am(t,n,r){var l=Gt();_o(t,n,r,l)}function _o(t,n,r,l){var c={lane:l,revertLane:0,gesture:null,action:r,hasEagerState:!1,eagerState:null,next:null};if(hs(t))im(n,c);else{var f=t.alternate;if(t.lanes===0&&(f===null||f.lanes===0)&&(f=n.lastRenderedReducer,f!==null))try{var d=n.lastRenderedState,p=f(d,r);if(c.hasEagerState=!0,c.eagerState=p,Dt(p,d))return Ir(t,n,c,0),be===null&&qr(),!1}catch{}if(r=iu(t,n,c,l),r!==null)return Ct(r,t,l),om(r,n,l),!0}return!1}function _u(t,n,r,l){if(l={lane:2,revertLane:vc(),gesture:null,action:l,hasEagerState:!1,eagerState:null,next:null},hs(t)){if(n)throw Error(o(479))}else n=iu(t,r,l,2),n!==null&&Ct(n,t,2)}function hs(t){var n=t.alternate;return t===I||n!==null&&n===I}function im(t,n){Vi=os=!0;var r=t.pending;r===null?n.next=n:(n.next=r.next,r.next=n),t.pending=n}function om(t,n,r){if((r&4194048)!==0){var l=n.lanes;l&=t.pendingLanes,r|=l,n.lanes=r,ch(t,r)}}var Lo={readContext:it,use:ls,useCallback:He,useContext:He,useEffect:He,useImperativeHandle:He,useLayoutEffect:He,useInsertionEffect:He,useMemo:He,useReducer:He,useRef:He,useState:He,useDebugValue:He,useDeferredValue:He,useTransition:He,useSyncExternalStore:He,useId:He,useHostTransitionStatus:He,useFormState:He,useActionState:He,useOptimistic:He,useMemoCache:He,useCacheRefresh:He};Lo.useEffectEvent=He;var rm={readContext:it,use:ls,useCallback:function(t,n){return mt().memoizedState=[t,n===void 0?null:n],t},useContext:it,useEffect:Fd,useImperativeHandle:function(t,n,r){r=r!=null?r.concat([t]):null,cs(4194308,4,Jd.bind(null,n,t),r)},useLayoutEffect:function(t,n){return cs(4194308,4,t,n)},useInsertionEffect:function(t,n){cs(4,2,t,n)},useMemo:function(t,n){var r=mt();n=n===void 0?null:n;var l=t();if(Xa){aa(!0);try{t()}finally{aa(!1)}}return r.memoizedState=[l,n],l},useReducer:function(t,n,r){var l=mt();if(r!==void 0){var c=r(n);if(Xa){aa(!0);try{r(n)}finally{aa(!1)}}}else c=n;return l.memoizedState=l.baseState=c,t={pending:null,lanes:0,dispatch:null,lastRenderedReducer:t,lastRenderedState:c},l.queue=t,t=t.dispatch=qb.bind(null,I,t),[l.memoizedState,t]},useRef:function(t){var n=mt();return t={current:t},n.memoizedState=t},useState:function(t){t=Hu(t);var n=t.queue,r=am.bind(null,I,n);return n.dispatch=r,[t.memoizedState,r]},useDebugValue:Bu,useDeferredValue:function(t,n){var r=mt();return Vu(r,t,n)},useTransition:function(){var t=Hu(!1);return t=Zd.bind(null,I,t.queue,!0,!1),mt().memoizedState=t,[!1,t]},useSyncExternalStore:function(t,n,r){var l=I,c=mt();if(ee){if(r===void 0)throw Error(o(407));r=r()}else{if(r=n(),be===null)throw Error(o(349));(X&127)!==0||kd(l,n,r)}c.memoizedState=r;var f={value:r,getSnapshot:n};return c.queue=f,Fd(Dd.bind(null,l,f,t),[t]),l.flags|=2048,Ui(9,{destroy:void 0},Sd.bind(null,l,f,r,n),null),r},useId:function(){var t=mt(),n=be.identifierPrefix;if(ee){var r=vn,l=bn;r=(l&~(1<<32-St(l)-1)).toString(32)+r,n="_"+n+"R_"+r,r=rs++,0<\/script>",f=f.removeChild(f.firstChild);break;case"select":f=typeof l.is=="string"?d.createElement("select",{is:l.is}):d.createElement("select"),l.multiple?f.multiple=!0:l.size&&(f.size=l.size);break;default:f=typeof l.is=="string"?d.createElement(c,{is:l.is}):d.createElement(c)}}f[nt]=n,f[bt]=l;e:for(d=n.child;d!==null;){if(d.tag===5||d.tag===6)f.appendChild(d.stateNode);else if(d.tag!==4&&d.tag!==27&&d.child!==null){d.child.return=d,d=d.child;continue}if(d===n)break e;for(;d.sibling===null;){if(d.return===null||d.return===n)break e;d=d.return}d.sibling.return=d.return,d=d.sibling}n.stateNode=f;e:switch(rt(f,c,l),c){case"button":case"input":case"select":case"textarea":l=!!l.autoFocus;break e;case"img":l=!0;break e;default:l=!1}l&&Bn(n)}}return Ce(n),tc(n,n.type,t===null?null:t.memoizedProps,n.pendingProps,r),null;case 6:if(t&&n.stateNode!=null)t.memoizedProps!==l&&Bn(n);else{if(typeof l!="string"&&n.stateNode===null)throw Error(o(166));if(t=na.current,Ei(n)){if(t=n.stateNode,r=n.memoizedProps,l=null,c=at,c!==null)switch(c.tag){case 27:case 5:l=c.memoizedProps}t[nt]=n,t=!!(t.nodeValue===r||l!==null&&l.suppressHydrationWarning===!0||jg(t.nodeValue,r)),t||la(n,!0)}else t=Os(t).createTextNode(l),t[nt]=n,n.stateNode=t}return Ce(n),null;case 31:if(r=n.memoizedState,t===null||t.memoizedState!==null){if(l=Ei(n),r!==null){if(t===null){if(!l)throw Error(o(318));if(t=n.memoizedState,t=t!==null?t.dehydrated:null,!t)throw Error(o(557));t[nt]=n}else Ka(),(n.flags&128)===0&&(n.memoizedState=null),n.flags|=4;Ce(n),t=!1}else r=fu(),t!==null&&t.memoizedState!==null&&(t.memoizedState.hydrationErrors=r),t=!0;if(!t)return n.flags&256?(Ot(n),n):(Ot(n),null);if((n.flags&128)!==0)throw Error(o(558))}return Ce(n),null;case 13:if(l=n.memoizedState,t===null||t.memoizedState!==null&&t.memoizedState.dehydrated!==null){if(c=Ei(n),l!==null&&l.dehydrated!==null){if(t===null){if(!c)throw Error(o(318));if(c=n.memoizedState,c=c!==null?c.dehydrated:null,!c)throw Error(o(317));c[nt]=n}else Ka(),(n.flags&128)===0&&(n.memoizedState=null),n.flags|=4;Ce(n),c=!1}else c=fu(),t!==null&&t.memoizedState!==null&&(t.memoizedState.hydrationErrors=c),c=!0;if(!c)return n.flags&256?(Ot(n),n):(Ot(n),null)}return Ot(n),(n.flags&128)!==0?(n.lanes=r,n):(r=l!==null,t=t!==null&&t.memoizedState!==null,r&&(l=n.child,c=null,l.alternate!==null&&l.alternate.memoizedState!==null&&l.alternate.memoizedState.cachePool!==null&&(c=l.alternate.memoizedState.cachePool.pool),f=null,l.memoizedState!==null&&l.memoizedState.cachePool!==null&&(f=l.memoizedState.cachePool.pool),f!==c&&(l.flags|=2048)),r!==t&&r&&(n.child.flags|=8192),ys(n,n.updateQueue),Ce(n),null);case 4:return mi(),t===null&&Nc(n.stateNode.containerInfo),Ce(n),null;case 10:return Pn(n.type),Ce(n),null;case 19:if(Oe(Me),l=n.memoizedState,l===null)return Ce(n),null;if(c=(n.flags&128)!==0,f=l.rendering,f===null)if(c)Ko(l,!1);else{if(Ge!==0||t!==null&&(t.flags&128)!==0)for(t=n.child;t!==null;){if(f=is(t),f!==null){for(n.flags|=128,Ko(l,!1),t=f.updateQueue,n.updateQueue=t,ys(n,t),n.subtreeFlags=0,t=r,r=n.child;r!==null;)ad(r,t),r=r.sibling;return le(Me,Me.current&1|2),ee&&En(n,l.treeForkCount),n.child}t=t.sibling}l.tail!==null&&Tt()>xs&&(n.flags|=128,c=!0,Ko(l,!1),n.lanes=4194304)}else{if(!c)if(t=is(f),t!==null){if(n.flags|=128,c=!0,t=t.updateQueue,n.updateQueue=t,ys(n,t),Ko(l,!0),l.tail===null&&l.tailMode==="hidden"&&!f.alternate&&!ee)return Ce(n),null}else 2*Tt()-l.renderingStartTime>xs&&r!==536870912&&(n.flags|=128,c=!0,Ko(l,!1),n.lanes=4194304);l.isBackwards?(f.sibling=n.child,n.child=f):(t=l.last,t!==null?t.sibling=f:n.child=f,l.last=f)}return l.tail!==null?(t=l.tail,l.rendering=t,l.tail=t.sibling,l.renderingStartTime=Tt(),t.sibling=null,r=Me.current,le(Me,c?r&1|2:r&1),ee&&En(n,l.treeForkCount),t):(Ce(n),null);case 22:case 23:return Ot(n),Cu(),l=n.memoizedState!==null,t!==null?t.memoizedState!==null!==l&&(n.flags|=8192):l&&(n.flags|=8192),l?(r&536870912)!==0&&(n.flags&128)===0&&(Ce(n),n.subtreeFlags&6&&(n.flags|=8192)):Ce(n),r=n.updateQueue,r!==null&&ys(n,r.retryQueue),r=null,t!==null&&t.memoizedState!==null&&t.memoizedState.cachePool!==null&&(r=t.memoizedState.cachePool.pool),l=null,n.memoizedState!==null&&n.memoizedState.cachePool!==null&&(l=n.memoizedState.cachePool.pool),l!==r&&(n.flags|=2048),t!==null&&Oe(Ja),null;case 24:return r=null,t!==null&&(r=t.memoizedState.cache),n.memoizedState.cache!==r&&(n.flags|=2048),Pn($e),Ce(n),null;case 25:return null;case 30:return null}throw Error(o(156,n.tag))}function Yb(t,n){switch(uu(n),n.tag){case 1:return t=n.flags,t&65536?(n.flags=t&-65537|128,n):null;case 3:return Pn($e),mi(),t=n.flags,(t&65536)!==0&&(t&128)===0?(n.flags=t&-65537|128,n):null;case 26:case 27:case 5:return Sr(n),null;case 31:if(n.memoizedState!==null){if(Ot(n),n.alternate===null)throw Error(o(340));Ka()}return t=n.flags,t&65536?(n.flags=t&-65537|128,n):null;case 13:if(Ot(n),t=n.memoizedState,t!==null&&t.dehydrated!==null){if(n.alternate===null)throw Error(o(340));Ka()}return t=n.flags,t&65536?(n.flags=t&-65537|128,n):null;case 19:return Oe(Me),null;case 4:return mi(),null;case 10:return Pn(n.type),null;case 22:case 23:return Ot(n),Cu(),t!==null&&Oe(Ja),t=n.flags,t&65536?(n.flags=t&-65537|128,n):null;case 24:return Pn($e),null;case 25:return null;default:return null}}function zm(t,n){switch(uu(n),n.tag){case 3:Pn($e),mi();break;case 26:case 27:case 5:Sr(n);break;case 4:mi();break;case 31:n.memoizedState!==null&&Ot(n);break;case 13:Ot(n);break;case 19:Oe(Me);break;case 10:Pn(n.type);break;case 22:case 23:Ot(n),Cu(),t!==null&&Oe(Ja);break;case 24:Pn($e)}}function qo(t,n){try{var r=n.updateQueue,l=r!==null?r.lastEffect:null;if(l!==null){var c=l.next;r=c;do{if((r.tag&t)===t){l=void 0;var f=r.create,d=r.inst;l=f(),d.destroy=l}r=r.next}while(r!==c)}}catch(p){fe(n,n.return,p)}}function ga(t,n,r){try{var l=n.updateQueue,c=l!==null?l.lastEffect:null;if(c!==null){var f=c.next;l=f;do{if((l.tag&t)===t){var d=l.inst,p=d.destroy;if(p!==void 0){d.destroy=void 0,c=n;var v=r,C=p;try{C()}catch(D){fe(c,v,D)}}}l=l.next}while(l!==f)}}catch(D){fe(n,n.return,D)}}function Em(t){var n=t.updateQueue;if(n!==null){var r=t.stateNode;try{Ad(n,r)}catch(l){fe(t,t.return,l)}}}function Om(t,n,r){r.props=Za(t.type,t.memoizedProps),r.state=t.memoizedState;try{r.componentWillUnmount()}catch(l){fe(t,n,l)}}function Io(t,n){try{var r=t.ref;if(r!==null){switch(t.tag){case 26:case 27:case 5:var l=t.stateNode;break;case 30:l=t.stateNode;break;default:l=t.stateNode}typeof r=="function"?t.refCleanup=r(l):r.current=l}}catch(c){fe(t,n,c)}}function wn(t,n){var r=t.ref,l=t.refCleanup;if(r!==null)if(typeof l=="function")try{l()}catch(c){fe(t,n,c)}finally{t.refCleanup=null,t=t.alternate,t!=null&&(t.refCleanup=null)}else if(typeof r=="function")try{r(null)}catch(c){fe(t,n,c)}else r.current=null}function Pm(t){var n=t.type,r=t.memoizedProps,l=t.stateNode;try{e:switch(n){case"button":case"input":case"select":case"textarea":r.autoFocus&&l.focus();break e;case"img":r.src?l.src=r.src:r.srcSet&&(l.srcset=r.srcSet)}}catch(c){fe(t,t.return,c)}}function nc(t,n,r){try{var l=t.stateNode;bv(l,t.type,r,n),l[bt]=n}catch(c){fe(t,t.return,c)}}function Hm(t){return t.tag===5||t.tag===3||t.tag===26||t.tag===27&&xa(t.type)||t.tag===4}function ac(t){e:for(;;){for(;t.sibling===null;){if(t.return===null||Hm(t.return))return null;t=t.return}for(t.sibling.return=t.return,t=t.sibling;t.tag!==5&&t.tag!==6&&t.tag!==18;){if(t.tag===27&&xa(t.type)||t.flags&2||t.child===null||t.tag===4)continue e;t.child.return=t,t=t.child}if(!(t.flags&2))return t.stateNode}}function ic(t,n,r){var l=t.tag;if(l===5||l===6)t=t.stateNode,n?(r.nodeType===9?r.body:r.nodeName==="HTML"?r.ownerDocument.body:r).insertBefore(t,n):(n=r.nodeType===9?r.body:r.nodeName==="HTML"?r.ownerDocument.body:r,n.appendChild(t),r=r._reactRootContainer,r!=null||n.onclick!==null||(n.onclick=Sn));else if(l!==4&&(l===27&&xa(t.type)&&(r=t.stateNode,n=null),t=t.child,t!==null))for(ic(t,n,r),t=t.sibling;t!==null;)ic(t,n,r),t=t.sibling}function bs(t,n,r){var l=t.tag;if(l===5||l===6)t=t.stateNode,n?r.insertBefore(t,n):r.appendChild(t);else if(l!==4&&(l===27&&xa(t.type)&&(r=t.stateNode),t=t.child,t!==null))for(bs(t,n,r),t=t.sibling;t!==null;)bs(t,n,r),t=t.sibling}function Gm(t){var n=t.stateNode,r=t.memoizedProps;try{for(var l=t.type,c=n.attributes;c.length;)n.removeAttributeNode(c[0]);rt(n,l,r),n[nt]=t,n[bt]=r}catch(f){fe(t,t.return,f)}}var Vn=!1,Le=!1,oc=!1,Mm=typeof WeakSet=="function"?WeakSet:Set,Qe=null;function Xb(t,n){if(t=t.containerInfo,Tc=$s,t=Rh(t),Zl(t)){if("selectionStart"in t)var r={start:t.selectionStart,end:t.selectionEnd};else e:{r=(r=t.ownerDocument)&&r.defaultView||window;var l=r.getSelection&&r.getSelection();if(l&&l.rangeCount!==0){r=l.anchorNode;var c=l.anchorOffset,f=l.focusNode;l=l.focusOffset;try{r.nodeType,f.nodeType}catch{r=null;break e}var d=0,p=-1,v=-1,C=0,D=0,O=t,T=null;t:for(;;){for(var S;O!==r||c!==0&&O.nodeType!==3||(p=d+c),O!==f||l!==0&&O.nodeType!==3||(v=d+l),O.nodeType===3&&(d+=O.nodeValue.length),(S=O.firstChild)!==null;)T=O,O=S;for(;;){if(O===t)break t;if(T===r&&++C===c&&(p=d),T===f&&++D===l&&(v=d),(S=O.nextSibling)!==null)break;O=T,T=O.parentNode}O=S}r=p===-1||v===-1?null:{start:p,end:v}}else r=null}r=r||{start:0,end:0}}else r=null;for(kc={focusedElem:t,selectionRange:r},$s=!1,Qe=n;Qe!==null;)if(n=Qe,t=n.child,(n.subtreeFlags&1028)!==0&&t!==null)t.return=n,Qe=t;else for(;Qe!==null;){switch(n=Qe,f=n.alternate,t=n.flags,n.tag){case 0:if((t&4)!==0&&(t=n.updateQueue,t=t!==null?t.events:null,t!==null))for(r=0;r title"))),rt(f,l,r),f[nt]=t,Re(f),l=f;break e;case"link":var d=Lg("link","href",c).get(l+(r.href||""));if(d){for(var p=0;pge&&(d=ge,ge=_,_=d);var x=Ih(p,_),w=Ih(p,ge);if(x&&w&&(S.rangeCount!==1||S.anchorNode!==x.node||S.anchorOffset!==x.offset||S.focusNode!==w.node||S.focusOffset!==w.offset)){var N=O.createRange();N.setStart(x.node,x.offset),S.removeAllRanges(),_>ge?(S.addRange(N),S.extend(w.node,w.offset)):(N.setEnd(w.node,w.offset),S.addRange(N))}}}}for(O=[],S=p;S=S.parentNode;)S.nodeType===1&&O.push({element:S,left:S.scrollLeft,top:S.scrollTop});for(typeof p.focus=="function"&&p.focus(),p=0;pr?32:r,E.T=null,r=hc,hc=null;var f=va,d=Fn;if(Ie=0,qi=va=null,Fn=0,(re&6)!==0)throw Error(o(331));var p=re;if(re|=4,Jm(f.current),Km(f,f.current,d,r),re=p,Zo(0,!1),kt&&typeof kt.onPostCommitFiberRoot=="function")try{kt.onPostCommitFiberRoot(po,f)}catch{}return!0}finally{M.p=c,E.T=l,fg(t,n)}}function dg(t,n,r){n=Jt(r,n),n=qu(t.stateNode,n,2),t=ha(t,n,2),t!==null&&(bo(t,2),An(t))}function fe(t,n,r){if(t.tag===3)dg(t,t,r);else for(;n!==null;){if(n.tag===3){dg(n,t,r);break}else if(n.tag===1){var l=n.stateNode;if(typeof n.type.getDerivedStateFromError=="function"||typeof l.componentDidCatch=="function"&&(ba===null||!ba.has(l))){t=Jt(r,t),r=mm(2),l=ha(n,r,2),l!==null&&(gm(r,l,n,t),bo(l,2),An(l));break}}n=n.return}}function pc(t,n,r){var l=t.pingCache;if(l===null){l=t.pingCache=new ev;var c=new Set;l.set(n,c)}else c=l.get(n),c===void 0&&(c=new Set,l.set(n,c));c.has(r)||(lc=!0,c.add(r),t=ov.bind(null,t,n,r),n.then(t,t))}function ov(t,n,r){var l=t.pingCache;l!==null&&l.delete(n),t.pingedLanes|=t.suspendedLanes&r,t.warmLanes&=~r,be===t&&(X&r)===r&&(Ge===4||Ge===3&&(X&62914560)===X&&300>Tt()-As?(re&2)===0&&Ii(t,0):uc|=r,Ki===X&&(Ki=0)),An(t)}function mg(t,n){n===0&&(n=lh()),t=La(t,n),t!==null&&(bo(t,n),An(t))}function rv(t){var n=t.memoizedState,r=0;n!==null&&(r=n.retryLane),mg(t,r)}function sv(t,n){var r=0;switch(t.tag){case 31:case 13:var l=t.stateNode,c=t.memoizedState;c!==null&&(r=c.retryLane);break;case 19:l=t.stateNode;break;case 22:l=t.stateNode._retryCache;break;default:throw Error(o(314))}l!==null&&l.delete(n),mg(t,r)}function lv(t,n){return Dl(t,n)}var Ss=null,Ri=null,yc=!1,Ds=!1,bc=!1,Aa=0;function An(t){t!==Ri&&t.next===null&&(Ri===null?Ss=Ri=t:Ri=Ri.next=t),Ds=!0,yc||(yc=!0,cv())}function Zo(t,n){if(!bc&&Ds){bc=!0;do for(var r=!1,l=Ss;l!==null;){if(t!==0){var c=l.pendingLanes;if(c===0)var f=0;else{var d=l.suspendedLanes,p=l.pingedLanes;f=(1<<31-St(42|t)+1)-1,f&=c&~(d&~p),f=f&201326741?f&201326741|1:f?f|2:0}f!==0&&(r=!0,bg(l,f))}else f=X,f=Pr(l,l===be?f:0,l.cancelPendingCommit!==null||l.timeoutHandle!==-1),(f&3)===0||yo(l,f)||(r=!0,bg(l,f));l=l.next}while(r);bc=!1}}function uv(){gg()}function gg(){Ds=yc=!1;var t=0;Aa!==0&&wv()&&(t=Aa);for(var n=Tt(),r=null,l=Ss;l!==null;){var c=l.next,f=pg(l,n);f===0?(l.next=null,r===null?Ss=c:r.next=c,c===null&&(Ri=r)):(r=l,(t!==0||(f&3)!==0)&&(Ds=!0)),l=c}Ie!==0&&Ie!==5||Zo(t),Aa!==0&&(Aa=0)}function pg(t,n){for(var r=t.suspendedLanes,l=t.pingedLanes,c=t.expirationTimes,f=t.pendingLanes&-62914561;0p)break;var D=v.transferSize,O=v.initiatorType;D&&Tg(O)&&(v=v.responseEnd,d+=D*(v"u"?null:document;function Vg(t,n,r){var l=Qi;if(l&&typeof n=="string"&&n){var c=qt(n);c='link[rel="'+t+'"][href="'+c+'"]',typeof r=="string"&&(c+='[crossorigin="'+r+'"]'),Bg.has(c)||(Bg.add(c),t={rel:t,crossOrigin:r,href:n},l.querySelector(c)===null&&(n=l.createElement("link"),rt(n,"link",t),Re(n),l.head.appendChild(n)))}}function Dv(t){Kn.D(t),Vg("dns-prefetch",t,null)}function zv(t,n){Kn.C(t,n),Vg("preconnect",t,n)}function Ev(t,n,r){Kn.L(t,n,r);var l=Qi;if(l&&t&&n){var c='link[rel="preload"][as="'+qt(n)+'"]';n==="image"&&r&&r.imageSrcSet?(c+='[imagesrcset="'+qt(r.imageSrcSet)+'"]',typeof r.imageSizes=="string"&&(c+='[imagesizes="'+qt(r.imageSizes)+'"]')):c+='[href="'+qt(t)+'"]';var f=c;switch(n){case"style":f=Yi(t);break;case"script":f=Xi(t)}Wt.has(f)||(t=A({rel:"preload",href:n==="image"&&r&&r.imageSrcSet?void 0:t,as:n},r),Wt.set(f,t),l.querySelector(c)!==null||n==="style"&&l.querySelector(nr(f))||n==="script"&&l.querySelector(ar(f))||(n=l.createElement("link"),rt(n,"link",t),Re(n),l.head.appendChild(n)))}}function Ov(t,n){Kn.m(t,n);var r=Qi;if(r&&t){var l=n&&typeof n.as=="string"?n.as:"script",c='link[rel="modulepreload"][as="'+qt(l)+'"][href="'+qt(t)+'"]',f=c;switch(l){case"audioworklet":case"paintworklet":case"serviceworker":case"sharedworker":case"worker":case"script":f=Xi(t)}if(!Wt.has(f)&&(t=A({rel:"modulepreload",href:t},n),Wt.set(f,t),r.querySelector(c)===null)){switch(l){case"audioworklet":case"paintworklet":case"serviceworker":case"sharedworker":case"worker":case"script":if(r.querySelector(ar(f)))return}l=r.createElement("link"),rt(l,"link",t),Re(l),r.head.appendChild(l)}}}function Pv(t,n,r){Kn.S(t,n,r);var l=Qi;if(l&&t){var c=bi(l).hoistableStyles,f=Yi(t);n=n||"default";var d=c.get(f);if(!d){var p={loading:0,preload:null};if(d=l.querySelector(nr(f)))p.loading=5;else{t=A({rel:"stylesheet",href:t,"data-precedence":n},r),(r=Wt.get(f))&&Hc(t,r);var v=d=l.createElement("link");Re(v),rt(v,"link",t),v._p=new Promise(function(C,D){v.onload=C,v.onerror=D}),v.addEventListener("load",function(){p.loading|=1}),v.addEventListener("error",function(){p.loading|=2}),p.loading|=4,Hs(d,n,l)}d={type:"stylesheet",instance:d,count:1,state:p},c.set(f,d)}}}function Hv(t,n){Kn.X(t,n);var r=Qi;if(r&&t){var l=bi(r).hoistableScripts,c=Xi(t),f=l.get(c);f||(f=r.querySelector(ar(c)),f||(t=A({src:t,async:!0},n),(n=Wt.get(c))&&Gc(t,n),f=r.createElement("script"),Re(f),rt(f,"link",t),r.head.appendChild(f)),f={type:"script",instance:f,count:1,state:null},l.set(c,f))}}function Gv(t,n){Kn.M(t,n);var r=Qi;if(r&&t){var l=bi(r).hoistableScripts,c=Xi(t),f=l.get(c);f||(f=r.querySelector(ar(c)),f||(t=A({src:t,async:!0,type:"module"},n),(n=Wt.get(c))&&Gc(t,n),f=r.createElement("script"),Re(f),rt(f,"link",t),r.head.appendChild(f)),f={type:"script",instance:f,count:1,state:null},l.set(c,f))}}function $g(t,n,r,l){var c=(c=na.current)?Ps(c):null;if(!c)throw Error(o(446));switch(t){case"meta":case"title":return null;case"style":return typeof r.precedence=="string"&&typeof r.href=="string"?(n=Yi(r.href),r=bi(c).hoistableStyles,l=r.get(n),l||(l={type:"style",instance:null,count:0,state:null},r.set(n,l)),l):{type:"void",instance:null,count:0,state:null};case"link":if(r.rel==="stylesheet"&&typeof r.href=="string"&&typeof r.precedence=="string"){t=Yi(r.href);var f=bi(c).hoistableStyles,d=f.get(t);if(d||(c=c.ownerDocument||c,d={type:"stylesheet",instance:null,count:0,state:{loading:0,preload:null}},f.set(t,d),(f=c.querySelector(nr(t)))&&!f._p&&(d.instance=f,d.state.loading=5),Wt.has(t)||(r={rel:"preload",as:"style",href:r.href,crossOrigin:r.crossOrigin,integrity:r.integrity,media:r.media,hrefLang:r.hrefLang,referrerPolicy:r.referrerPolicy},Wt.set(t,r),f||Mv(c,t,r,d.state))),n&&l===null)throw Error(o(528,""));return d}if(n&&l!==null)throw Error(o(529,""));return null;case"script":return n=r.async,r=r.src,typeof r=="string"&&n&&typeof n!="function"&&typeof n!="symbol"?(n=Xi(r),r=bi(c).hoistableScripts,l=r.get(n),l||(l={type:"script",instance:null,count:0,state:null},r.set(n,l)),l):{type:"void",instance:null,count:0,state:null};default:throw Error(o(444,t))}}function Yi(t){return'href="'+qt(t)+'"'}function nr(t){return'link[rel="stylesheet"]['+t+"]"}function Ug(t){return A({},t,{"data-precedence":t.precedence,precedence:null})}function Mv(t,n,r,l){t.querySelector('link[rel="preload"][as="style"]['+n+"]")?l.loading=1:(n=t.createElement("link"),l.preload=n,n.addEventListener("load",function(){return l.loading|=1}),n.addEventListener("error",function(){return l.loading|=2}),rt(n,"link",r),Re(n),t.head.appendChild(n))}function Xi(t){return'[src="'+qt(t)+'"]'}function ar(t){return"script[async]"+t}function _g(t,n,r){if(n.count++,n.instance===null)switch(n.type){case"style":var l=t.querySelector('style[data-href~="'+qt(r.href)+'"]');if(l)return n.instance=l,Re(l),l;var c=A({},r,{"data-href":r.href,"data-precedence":r.precedence,href:null,precedence:null});return l=(t.ownerDocument||t).createElement("style"),Re(l),rt(l,"style",c),Hs(l,r.precedence,t),n.instance=l;case"stylesheet":c=Yi(r.href);var f=t.querySelector(nr(c));if(f)return n.state.loading|=4,n.instance=f,Re(f),f;l=Ug(r),(c=Wt.get(c))&&Hc(l,c),f=(t.ownerDocument||t).createElement("link"),Re(f);var d=f;return d._p=new Promise(function(p,v){d.onload=p,d.onerror=v}),rt(f,"link",l),n.state.loading|=4,Hs(f,r.precedence,t),n.instance=f;case"script":return f=Xi(r.src),(c=t.querySelector(ar(f)))?(n.instance=c,Re(c),c):(l=r,(c=Wt.get(f))&&(l=A({},r),Gc(l,c)),t=t.ownerDocument||t,c=t.createElement("script"),Re(c),rt(c,"link",l),t.head.appendChild(c),n.instance=c);case"void":return null;default:throw Error(o(443,n.type))}else n.type==="stylesheet"&&(n.state.loading&4)===0&&(l=n.instance,n.state.loading|=4,Hs(l,r.precedence,t));return n.instance}function Hs(t,n,r){for(var l=r.querySelectorAll('link[rel="stylesheet"][data-precedence],style[data-precedence]'),c=l.length?l[l.length-1]:null,f=c,d=0;d title"):null)}function Bv(t,n,r){if(r===1||n.itemProp!=null)return!1;switch(t){case"meta":case"title":return!0;case"style":if(typeof n.precedence!="string"||typeof n.href!="string"||n.href==="")break;return!0;case"link":if(typeof n.rel!="string"||typeof n.href!="string"||n.href===""||n.onLoad||n.onError)break;return n.rel==="stylesheet"?(t=n.disabled,typeof n.precedence=="string"&&t==null):!0;case"script":if(n.async&&typeof n.async!="function"&&typeof n.async!="symbol"&&!n.onLoad&&!n.onError&&n.src&&typeof n.src=="string")return!0}return!1}function Kg(t){return!(t.type==="stylesheet"&&(t.state.loading&3)===0)}function Vv(t,n,r,l){if(r.type==="stylesheet"&&(typeof l.media!="string"||matchMedia(l.media).matches!==!1)&&(r.state.loading&4)===0){if(r.instance===null){var c=Yi(l.href),f=n.querySelector(nr(c));if(f){n=f._p,n!==null&&typeof n=="object"&&typeof n.then=="function"&&(t.count++,t=Ms.bind(t),n.then(t,t)),r.state.loading|=4,r.instance=f,Re(f);return}f=n.ownerDocument||n,l=Ug(l),(c=Wt.get(c))&&Hc(l,c),f=f.createElement("link"),Re(f);var d=f;d._p=new Promise(function(p,v){d.onload=p,d.onerror=v}),rt(f,"link",l),r.instance=f}t.stylesheets===null&&(t.stylesheets=new Map),t.stylesheets.set(r,n),(n=r.state.preload)&&(r.state.loading&3)===0&&(t.count++,r=Ms.bind(t),n.addEventListener("load",r),n.addEventListener("error",r))}}var Mc=0;function $v(t,n){return t.stylesheets&&t.count===0&&Vs(t,t.stylesheets),0Mc?50:800)+n);return t.unsuspend=r,function(){t.unsuspend=null,clearTimeout(l),clearTimeout(c)}}:null}function Ms(){if(this.count--,this.count===0&&(this.imgCount===0||!this.waitingForImages)){if(this.stylesheets)Vs(this,this.stylesheets);else if(this.unsuspend){var t=this.unsuspend;this.unsuspend=null,t()}}}var Bs=null;function Vs(t,n){t.stylesheets=null,t.unsuspend!==null&&(t.count++,Bs=new Map,n.forEach(Uv,t),Bs=null,Ms.call(t))}function Uv(t,n){if(!(n.state.loading&4)){var r=Bs.get(t);if(r)var l=r.get(null);else{r=new Map,Bs.set(t,r);for(var c=t.querySelectorAll("link[data-precedence],style[data-precedence]"),f=0;f"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(e)}catch(a){console.error(a)}}return e(),Fc.exports=n2(),Fc.exports}var i2=a2();const C1=ke.createContext(null),o2="/api/word-lookup";function r2({children:e}){const[a,i]=ke.useState({word:null,position:null,result:null,loading:!1,error:null}),o=ke.useRef(new Map),s=ke.useRef(null),u=ke.useCallback(async(m,g)=>{const y=m.toLowerCase().trim(),b=320,A=8;let k=g.left+window.scrollX,V=g.bottom+window.scrollY+A;if(k+b>window.innerWidth-A&&(k=window.innerWidth-b-A),k({...ht,result:te,loading:!1}))}catch{if(s.current!==y)return;i(se=>({...se,error:"查询失败,请重试。",loading:!1}))}},[]),h=ke.useCallback(()=>{s.current=null,i({word:null,position:null,result:null,loading:!1,error:null})},[]);return j.jsx(C1.Provider,{value:{state:a,lookup:u,close:h},children:e})}function j1(){const e=ke.useContext(C1);if(!e)throw new Error("useWordLookup must be used within WordLookupProvider");return e}const T1=(...e)=>e.filter((a,i,o)=>!!a&&a.trim()!==""&&o.indexOf(a)===i).join(" ").trim();const s2=e=>e.replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase();const l2=e=>e.replace(/^([A-Z])|[\s-_]+(\w)/g,(a,i,o)=>o?o.toUpperCase():i.toLowerCase());const up=e=>{const a=l2(e);return a.charAt(0).toUpperCase()+a.slice(1)};var u2={xmlns:"http://www.w3.org/2000/svg",width:24,height:24,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:2,strokeLinecap:"round",strokeLinejoin:"round"};const c2=e=>{for(const a in e)if(a.startsWith("aria-")||a==="role"||a==="title")return!0;return!1};const f2=ke.forwardRef(({color:e="currentColor",size:a=24,strokeWidth:i=2,absoluteStrokeWidth:o,className:s="",children:u,iconNode:h,...m},g)=>ke.createElement("svg",{ref:g,...u2,width:a,height:a,stroke:e,strokeWidth:o?Number(i)*24/Number(a):i,className:T1("lucide",s),...!u&&!c2(m)&&{"aria-hidden":"true"},...m},[...h.map(([y,b])=>ke.createElement(y,b)),...Array.isArray(u)?u:[u]]));const jt=(e,a)=>{const i=ke.forwardRef(({className:o,...s},u)=>ke.createElement(f2,{ref:u,iconNode:a,className:T1(`lucide-${s2(up(e))}`,`lucide-${e}`,o),...s}));return i.displayName=up(e),i};const h2=[["path",{d:"m12 19-7-7 7-7",key:"1l729n"}],["path",{d:"M19 12H5",key:"x3x0zl"}]],d2=jt("arrow-left",h2);const m2=[["path",{d:"M5 12h14",key:"1ays0h"}],["path",{d:"m12 5 7 7-7 7",key:"xquz4c"}]],k1=jt("arrow-right",m2);const g2=[["path",{d:"M12 7v14",key:"1akyts"}],["path",{d:"M3 18a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1h5a4 4 0 0 1 4 4 4 4 0 0 1 4-4h5a1 1 0 0 1 1 1v13a1 1 0 0 1-1 1h-6a3 3 0 0 0-3 3 3 3 0 0 0-3-3z",key:"ruj8y"}]],_f=jt("book-open",g2);const p2=[["path",{d:"M20 6 9 17l-5-5",key:"1gmf2c"}]],y2=jt("check",p2);const b2=[["path",{d:"m9 18 6-6-6-6",key:"mthhwq"}]],v2=jt("chevron-right",b2);const w2=[["path",{d:"M21.801 10A10 10 0 1 1 17 3.335",key:"yps3ct"}],["path",{d:"m9 11 3 3L22 4",key:"1pflzl"}]],A2=jt("circle-check-big",w2);const x2=[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"m15 9-6 6",key:"1uzhvr"}],["path",{d:"m9 9 6 6",key:"z0biqf"}]],N2=jt("circle-x",x2);const C2=[["path",{d:"M15 14c.2-1 .7-1.7 1.5-2.5 1-.9 1.5-2.2 1.5-3.5A6 6 0 0 0 6 8c0 1 .2 2.2 1.5 3.5.7.7 1.3 1.5 1.5 2.5",key:"1gvzjb"}],["path",{d:"M9 18h6",key:"x1upvd"}],["path",{d:"M10 22h4",key:"ceow96"}]],j2=jt("lightbulb",C2);const T2=[["path",{d:"M21 12a9 9 0 1 1-6.219-8.56",key:"13zald"}]],k2=jt("loader-circle",T2);const S2=[["path",{d:"M3 12a9 9 0 1 0 9-9 9.75 9.75 0 0 0-6.74 2.74L3 8",key:"1357e3"}],["path",{d:"M3 3v5h5",key:"1xhq8a"}]],D2=jt("rotate-ccw",S2);const z2=[["path",{d:"M9.671 4.136a2.34 2.34 0 0 1 4.659 0 2.34 2.34 0 0 0 3.319 1.915 2.34 2.34 0 0 1 2.33 4.033 2.34 2.34 0 0 0 0 3.831 2.34 2.34 0 0 1-2.33 4.033 2.34 2.34 0 0 0-3.319 1.915 2.34 2.34 0 0 1-4.659 0 2.34 2.34 0 0 0-3.32-1.915 2.34 2.34 0 0 1-2.33-4.033 2.34 2.34 0 0 0 0-3.831A2.34 2.34 0 0 1 6.35 6.051a2.34 2.34 0 0 0 3.319-1.915",key:"1i5ecw"}],["circle",{cx:"12",cy:"12",r:"3",key:"1v7zrd"}]],E2=jt("settings",z2);const O2=[["path",{d:"m21.73 18-8-14a2 2 0 0 0-3.48 0l-8 14A2 2 0 0 0 4 21h16a2 2 0 0 0 1.73-3",key:"wmoenq"}],["path",{d:"M12 9v4",key:"juzpu7"}],["path",{d:"M12 17h.01",key:"p32p05"}]],P2=jt("triangle-alert",O2);const H2=[["path",{d:"M11 4.702a.705.705 0 0 0-1.203-.498L6.413 7.587A1.4 1.4 0 0 1 5.416 8H3a1 1 0 0 0-1 1v6a1 1 0 0 0 1 1h2.416a1.4 1.4 0 0 1 .997.413l3.383 3.384A.705.705 0 0 0 11 19.298z",key:"uqj9uw"}],["path",{d:"M16 9a5 5 0 0 1 0 6",key:"1q6k2b"}],["path",{d:"M19.364 18.364a9 9 0 0 0 0-12.728",key:"ijwkga"}]],G2=jt("volume-2",H2);const M2=[["path",{d:"M18 6 6 18",key:"1bl5f8"}],["path",{d:"m6 6 12 12",key:"d8bk6v"}]],B2=jt("x",M2),V2={verb:"bg-violet-100 text-violet-700",noun:"bg-amber-100 text-amber-700",adjective:"bg-emerald-100 text-emerald-700",adverb:"bg-sky-100 text-sky-700",preposition:"bg-rose-100 text-rose-700",conjunction:"bg-orange-100 text-orange-700",determiner:"bg-teal-100 text-teal-700",pronoun:"bg-pink-100 text-pink-700"};function $2(e,a){e?new Audio(e).play().catch(()=>{cp(a)}):cp(a)}function cp(e){if(!window.speechSynthesis)return;const a=new SpeechSynthesisUtterance(e);a.lang="en-US",window.speechSynthesis.cancel(),window.speechSynthesis.speak(a)}function U2(){const{state:e,close:a}=j1(),i=ke.useRef(null);ke.useEffect(()=>{if(!e.word)return;const h=g=>{i.current&&!i.current.contains(g.target)&&a()},m=setTimeout(()=>{document.addEventListener("mousedown",h),document.addEventListener("touchstart",h)},80);return()=>{clearTimeout(m),document.removeEventListener("mousedown",h),document.removeEventListener("touchstart",h)}},[e.word,a]),ke.useEffect(()=>{const h=m=>{m.key==="Escape"&&a()};return document.addEventListener("keydown",h),()=>document.removeEventListener("keydown",h)},[a]);const o=e.position,s=e.result?.partOfSpeech?.toLowerCase()??"",u=V2[s]??"bg-gray-100 text-gray-600";return Xv.createPortal(j.jsx(Uf,{children:e.word&&o&&j.jsxs(Te.div,{ref:i,initial:{opacity:0,y:-6,scale:.97},animate:{opacity:1,y:0,scale:1},exit:{opacity:0,y:-4,scale:.97},transition:{duration:.15,ease:"easeOut"},style:{position:"absolute",top:o.y,left:o.x,width:320,zIndex:9999},className:"bg-white rounded-2xl shadow-xl border border-gray-100 overflow-hidden",children:[j.jsxs("div",{className:"flex items-start justify-between px-4 pt-4 pb-2",children:[j.jsxs("div",{className:"flex items-center gap-2 flex-wrap",children:[j.jsx("span",{className:"text-xl font-bold text-gray-900",children:e.result?.word??e.word}),e.result&&j.jsx("span",{className:`text-xs font-medium px-2 py-0.5 rounded-full ${u}`,children:e.result.partOfSpeech})]}),j.jsx("button",{onClick:a,className:"text-gray-400 hover:text-gray-600 transition-colors ml-2 mt-0.5 shrink-0",children:j.jsx(B2,{className:"w-4 h-4"})})]}),e.result&&j.jsxs("div",{className:"flex items-center gap-2 px-4 pb-3",children:[j.jsx("span",{className:"text-sm text-gray-400 font-mono",children:e.result.phonetic||"—"}),j.jsx("button",{onClick:()=>$2(e.result.audioUrl,e.result.word),className:"text-gray-400 hover:text-blue-500 transition-colors",title:"播放发音",children:j.jsx(G2,{className:"w-3.5 h-3.5"})})]}),e.loading&&j.jsxs("div",{className:"flex items-center justify-center py-8 text-gray-400",children:[j.jsx(k2,{className:"w-5 h-5 animate-spin mr-2"}),j.jsx("span",{className:"text-sm",children:"查询中…"})]}),e.error&&j.jsx("p",{className:"px-4 pb-4 text-sm text-red-500",children:e.error}),e.result&&j.jsxs("div",{className:"px-4 pb-4 space-y-3",children:[j.jsx("ol",{className:"space-y-1.5 list-decimal list-inside",children:e.result.definitions.map((h,m)=>j.jsx("li",{className:"text-sm text-gray-700 leading-snug",children:h},m))}),e.result.exampleSentence&&j.jsx("div",{className:"pt-1 pl-3 border-l-2 border-blue-200",children:j.jsx("p",{className:"text-xs text-gray-500 italic leading-relaxed",children:e.result.exampleSentence})})]})]},e.word)}),document.body)}const fp=e=>{let a;const i=new Set,o=(y,b)=>{const A=typeof y=="function"?y(a):y;if(!Object.is(A,a)){const k=a;a=b??(typeof A!="object"||A===null)?A:Object.assign({},a,A),i.forEach(V=>V(a,k))}},s=()=>a,m={setState:o,getState:s,getInitialState:()=>g,subscribe:y=>(i.add(y),()=>i.delete(y))},g=a=e(o,s,m);return m},_2=(e=>e?fp(e):fp),L2=e=>e;function F2(e,a=L2){const i=Is.useSyncExternalStore(e.subscribe,Is.useCallback(()=>a(e.getState()),[e,a]),Is.useCallback(()=>a(e.getInitialState()),[e,a]));return Is.useDebugValue(i),i}const K2=e=>{const a=_2(e),i=o=>F2(a,o);return Object.assign(i,a),i},q2=(e=>K2);function I2(e,a){let i;try{i=e()}catch{return}return{getItem:s=>{var u;const h=g=>g===null?null:JSON.parse(g,void 0),m=(u=i.getItem(s))!=null?u:null;return m instanceof Promise?m.then(h):h(m)},setItem:(s,u)=>i.setItem(s,JSON.stringify(u,void 0)),removeItem:s=>i.removeItem(s)}}const gf=e=>a=>{try{const i=e(a);return i instanceof Promise?i:{then(o){return gf(o)(i)},catch(o){return this}}}catch(i){return{then(o){return this},catch(o){return gf(o)(i)}}}},J2=(e,a)=>(i,o,s)=>{let u={storage:I2(()=>window.localStorage),partialize:te=>te,version:0,merge:(te,ht)=>({...ht,...te}),...a},h=!1,m=0;const g=new Set,y=new Set;let b=u.storage;if(!b)return e((...te)=>{console.warn(`[zustand persist middleware] Unable to update item '${u.name}', the given storage is currently unavailable.`),i(...te)},o,s);const A=()=>{const te=u.partialize({...o()});return b.setItem(u.name,{state:te,version:u.version})},k=s.setState;s.setState=(te,ht)=>(k(te,ht),A());const V=e((...te)=>(i(...te),A()),o,s);s.getInitialState=()=>V;let W;const se=()=>{var te,ht;if(!b)return;const jn=++m;h=!1,g.forEach(Ee=>{var tt;return Ee((tt=o())!=null?tt:V)});const et=((ht=u.onRehydrateStorage)==null?void 0:ht.call(u,(te=o())!=null?te:V))||void 0;return gf(b.getItem.bind(b))(u.name).then(Ee=>{if(Ee)if(typeof Ee.version=="number"&&Ee.version!==u.version){if(u.migrate){const tt=u.migrate(Ee.state,Ee.version);return tt instanceof Promise?tt.then(yt=>[!0,yt]):[!0,tt]}console.error("State loaded from storage couldn't be migrated since no migrate function was provided")}else return[!1,Ee.state];return[!1,void 0]}).then(Ee=>{var tt;if(jn!==m)return;const[yt,on]=Ee;if(W=u.merge(on,(tt=o())!=null?tt:V),i(W,!0),yt)return A()}).then(()=>{jn===m&&(et?.(W,void 0),W=o(),h=!0,y.forEach(Ee=>Ee(W)))}).catch(Ee=>{jn===m&&et?.(void 0,Ee)})};return s.persist={setOptions:te=>{u={...u,...te},te.storage&&(b=te.storage)},clearStorage:()=>{b?.removeItem(u.name)},getOptions:()=>u,rehydrate:()=>se(),hasHydrated:()=>h,onHydrate:te=>(g.add(te),()=>{g.delete(te)}),onFinishHydration:te=>(y.add(te),()=>{y.delete(te)})},u.skipHydration||se(),W||V},R2=J2,hp=[{id:"implement-1",targetWord:"implement",phonetic:"/ˈɪmplɪment/",coreDefinitions:["to put a plan, decision, or system into action","to start using a new plan, system, or law"],chinesePrompt:"你们团队讨论了数月的新功能,终于要...",sentenceScaffold:"After months of discussion, we have decided to ________ (implement) the new feature in the upcoming release.",sentenceMeaning:"We have decided to start using the new feature in the next release.",exampleSentences:["After months of deliberation, the team finally secured approval to implement the innovative feature."],learningPoints:["deliberation 替代 discussion 更正式","secure approval to do sth 是常用搭配"],difficulty:"B2",partOfSpeech:"verb"},{id:"compromise-1",targetWord:"compromise",phonetic:"/ˈkɒmprəmaɪz/",coreDefinitions:["to reach an agreement by everyone accepting less than they wanted","to allow someone to take a position that is between two extremes"],chinesePrompt:"双方都不愿意让步,你觉得应该如何...",sentenceScaffold:"Both sides refused to ________ (compromise), so the negotiation reached a deadlock.",sentenceMeaning:"Neither side was willing to give up something to reach an agreement, so the negotiation stopped.",exampleSentences:["Neither party was willing to compromise, leading to a stalemate in the negotiations."],learningPoints:["stalemate 是谈判中常用的词汇,表示僵局","neither party 表示双方都不..."],difficulty:"B2",partOfSpeech:"verb"},{id:"facility-1",targetWord:"facility",phonetic:"/fəˈsɪləti/",coreDefinitions:["a building or place that provides a particular service","the ability to do something easily or well"],chinesePrompt:"公司新建了一个健身...",sentenceScaffold:"The company has built a new fitness ________ (facility) for its employees.",sentenceMeaning:"The company has constructed a new building or place for employees to exercise.",exampleSentences:["The company has established a state-of-the-art fitness facility to promote employee wellness."],learningPoints:["state-of-the-art 表示最先进的","promote employee wellness 表示促进员工健康"],difficulty:"B1",partOfSpeech:"noun"},{id:"significant-1",targetWord:"significant",phonetic:"/sɪɡˈnɪfɪkənt/",coreDefinitions:["large or important enough to have an effect or to be noticed","having a particular meaning"],chinesePrompt:"这个项目对我们的未来非常...",sentenceScaffold:"This project is ________ (significant) to our company's future success.",sentenceMeaning:"This project is very important and will greatly affect our company's future.",exampleSentences:["This project holds significant implications for our company's future trajectory."],learningPoints:["hold implications 表示具有影响","trajectory 表示发展轨迹"],difficulty:"B1",partOfSpeech:"adjective"},{id:"approach-1",targetWord:"approach",phonetic:"/əˈprəʊtʃ/",coreDefinitions:["a way of doing or thinking about something","to come near or nearer to"],chinesePrompt:"面对这个问题,我们需要采取不同的...",sentenceScaffold:"We need to take a different ________ (approach) to solve this problem.",sentenceMeaning:"We need to use a different method or way of thinking to solve this problem.",exampleSentences:["We need to adopt a innovative approach to address this complex challenge."],learningPoints:["adopt an approach 表示采取一种方法","address a challenge 表示应对挑战"],difficulty:"B1",partOfSpeech:"noun"},{id:"achieve-1",targetWord:"achieve",phonetic:"/əˈtʃiːv/",coreDefinitions:["to succeed in doing or getting something","to reach a goal"],chinesePrompt:"经过努力工作,他们终于...",sentenceScaffold:"After years of hard work, they finally ________ (achieve) their goal of going abroad.",sentenceMeaning:"After years of effort, they finally succeeded in reaching their goal of going abroad.",exampleSentences:["After years of dedicated effort, they finally achieved their dream of studying abroad."],learningPoints:["dedicated effort 表示专注的努力","study abroad 表示出国留学"],difficulty:"A2",partOfSpeech:"verb"},{id:"sufficient-1",targetWord:"sufficient",phonetic:"/səˈfɪʃnt/",coreDefinitions:["enough for a particular purpose","as much as is needed"],chinesePrompt:"这些证据不足以...",sentenceScaffold:"The evidence provided is not ________ (sufficient) to prove his guilt.",sentenceMeaning:"The evidence given is not enough to prove that he is guilty.",exampleSentences:["The evidence presented was insufficient to establish his guilt beyond reasonable doubt."],learningPoints:["establish guilt 表示证明有罪","beyond reasonable doubt 是法律用语,表示排除合理怀疑"],difficulty:"B2",partOfSpeech:"adjective"},{id:"emphasize-1",targetWord:"emphasize",phonetic:"/ˈemfəsaɪz/",coreDefinitions:["to give special importance or value to something","to stress"],chinesePrompt:"老师反复...学习的重要性。",sentenceScaffold:"The teacher ________ (emphasize) the importance of daily practice.",sentenceMeaning:"The teacher repeatedly stressed that practicing every day is very important.",exampleSentences:["The instructor consistently emphasized the importance of consistent daily practice."],learningPoints:["instructor 可以替代 teacher","consistent daily practice 表示坚持每日练习"],difficulty:"B1",partOfSpeech:"verb"}],Q2={one:{},two:{},three:{},four:{}},Y2={one:{},two:{},three:{}},X2={},Z2=[],pf={methods:Q2,model:Y2,compute:X2,hooks:Z2},W2=e=>Object.prototype.toString.call(e)==="[object Array]",e3={compute:function(e){const{world:a}=this,i=a.compute;return typeof e=="string"&&i.hasOwnProperty(e)?i[e](this):W2(e)?e.forEach(o=>{a.compute.hasOwnProperty(o)?i[o](this):console.warn("no compute:",e)}):typeof e=="function"?e(this):console.warn("no compute:",e),this}},t3=function(e){return this.fullPointer.forEach((i,o)=>{const s=this.update([i]);e(s,o)}),this},n3=function(e,a){const o=this.fullPointer.map((u,h)=>{const m=this.update([u]),g=e(m,h);return g===void 0?this.none():g});if(o.length===0)return a||this.update([]);if(o[0]!==void 0&&(typeof o[0]=="string"||typeof o[0]=="object"&&(o[0]===null||!o[0].isView)))return o;let s=[];return o.forEach(u=>{s=s.concat(u.fullPointer)}),this.toView(s)},a3=function(e){let a=this.fullPointer;return a=a.filter((o,s)=>{const u=this.update([o]);return e(u,s)}),this.update(a)},i3=function(e){const i=this.fullPointer.find((o,s)=>{const u=this.update([o]);return e(u,s)});return this.update([i])},o3=function(e){return this.fullPointer.some((i,o)=>{const s=this.update([i]);return e(s,o)})},r3=function(e=1){let a=this.fullPointer,i=Math.floor(Math.random()*a.length);return i+e>this.length&&(i=this.length-e,i=i<0?0:i),a=a.slice(i,i+e),this.update(a)},s3={forEach:t3,map:n3,filter:a3,find:i3,some:o3,random:r3},gn={termList:function(){return this.methods.one.termList(this.docs)},terms:function(e){const a=this.match(".");return typeof e=="number"?a.eq(e):a},groups:function(e){if(e||e===0)return this.update(this._groups[e]||[]);const a={};return Object.keys(this._groups).forEach(i=>{a[i]=this.update(this._groups[i])}),a},eq:function(e){let a=this.pointer;return a||(a=this.docs.map((i,o)=>[o])),a[e]?this.update([a[e]]):this.none()},first:function(){return this.eq(0)},last:function(){const e=this.fullPointer.length-1;return this.eq(e)},firstTerms:function(){return this.match("^.")},lastTerms:function(){return this.match(".$")},slice:function(e,a){let i=this.pointer||this.docs.map((o,s)=>[s]);return i=i.slice(e,a),this.update(i)},all:function(){return this.update().toView()},fullSentences:function(){const e=this.fullPointer.map(a=>[a[0]]);return this.update(e).toView()},none:function(){return this.update([])},isDoc:function(e){if(!e||!e.isView)return!1;const a=this.fullPointer,i=e.fullPointer;return!a.length===i.length?!1:a.every((o,s)=>i[s]?o[0]===i[s][0]&&o[1]===i[s][1]&&o[2]===i[s][2]:!1)},wordCount:function(){return this.docs.reduce((e,a)=>(e+=a.filter(i=>i.text!=="").length,e),0)},isFull:function(){const e=this.pointer;if(!e)return!0;if(e.length===0||e[0][0]!==0)return!1;let a=0,i=0;return this.document.forEach(o=>a+=o.length),this.docs.forEach(o=>i+=o.length),a===i},getNth:function(e){return typeof e=="number"?this.eq(e):typeof e=="string"?this.if(e):this}};gn.group=gn.groups;gn.fullSentence=gn.fullSentences;gn.sentence=gn.fullSentences;gn.lastTerm=gn.lastTerms;gn.firstTerm=gn.firstTerms;const yf=Object.assign({},gn,e3,s3);yf.get=yf.eq;class Ha{constructor(a,i,o={}){[["document",a],["world",pf],["_groups",o],["_cache",null],["viewType","View"]].forEach(u=>{Object.defineProperty(this,u[0],{value:u[1],writable:!0})}),this.ptrs=i}get docs(){let a=this.document;return this.ptrs&&(a=pf.methods.one.getDoc(this.ptrs,this.document)),a}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(){const{docs:a,ptrs:i,document:o}=this;return(i||a.map((u,h)=>[h])).map(u=>{let[h,m,g,y,b]=u;return m=m||0,g=g||(o[h]||[]).length,o[h]&&o[h][m]&&(y=y||o[h][m].id,o[h][g-1]&&(b=b||o[h][g-1].id)),[h,m,g,y,b]})}update(a){const i=new Ha(this.document,a);if(this._cache&&a&&a.length>0){const o=[];a.forEach((s,u)=>{const[h,m,g]=s;s.length===1?o[u]=this._cache[h]:m===0&&this.document[h].length===g&&(o[u]=this._cache[h])}),o.length>0&&(i._cache=o)}return i.world=this.world,i}toView(a){return new Ha(this.document,a||this.pointer)}fromText(a){const{methods:i}=this,o=i.one.tokenize.fromString(a,this.world),s=new Ha(o);return s.world=this.world,s.compute(["normal","freeze","lexicon"]),this.world.compute.preTagger&&s.compute("preTagger"),s.compute("unfreeze"),s}clone(){let a=this.document.slice(0);a=a.map(o=>o.map(s=>(s=Object.assign({},s),s.tags=new Set(s.tags),s)));const i=this.update(this.pointer);return i.document=a,i._cache=this._cache,i}}Object.assign(Ha.prototype,yf);const l3="14.15.0",dp=function(e){return e&&typeof e=="object"&&!Array.isArray(e)},u3=function(e){return Object.prototype.toString.call(e)==="[object Array]"};function S1(e,a){if(dp(a))for(const i in a)dp(a[i])?(e[i]||Object.assign(e,{[i]:{}}),S1(e[i],a[i])):Object.assign(e,{[i]:a[i]});return e}function c3(e,a){for(const i in a)e[i]=e[i]||{},Object.assign(e[i],a[i]);return e}const f3=function(e,a){const i=e.two.models||{};Object.keys(a).forEach(o=>{a[o].pastTense&&(i.toPast&&(i.toPast.ex[o]=a[o].pastTense),i.fromPast&&(i.fromPast.ex[a[o].pastTense]=o)),a[o].presentTense&&(i.toPresent&&(i.toPresent.ex[o]=a[o].presentTense),i.fromPresent&&(i.fromPresent.ex[a[o].presentTense]=o)),a[o].gerund&&(i.toGerund&&(i.toGerund.ex[o]=a[o].gerund),i.fromGerund&&(i.fromGerund.ex[a[o].gerund]=o)),a[o].comparative&&(i.toComparative&&(i.toComparative.ex[o]=a[o].comparative),i.fromComparative&&(i.fromComparative.ex[a[o].comparative]=o)),a[o].superlative&&(i.toSuperlative&&(i.toSuperlative.ex[o]=a[o].superlative),i.fromSuperlative&&(i.fromSuperlative.ex[a[o].superlative]=o))})},D1=function(e,a,i,o){if(u3(e)){e.forEach(g=>D1(g,a,i,o));return}const{methods:s,model:u,compute:h,hooks:m}=a;e.methods&&c3(s,e.methods),e.model&&S1(u,e.model),e.irregulars&&f3(u,e.irregulars),e.compute&&Object.assign(h,e.compute),m&&(a.hooks=m.concat(e.hooks||[])),e.api&&e.api(i),e.lib&&Object.keys(e.lib).forEach(g=>o[g]=e.lib[g]),e.tags&&o.addTags(e.tags),e.words&&o.addWords(e.words),e.frozen&&o.addWords(e.frozen,!0),e.mutate&&e.mutate(a,o)};var mp={};const h3=function(e){const a=typeof process>"u"||!mp?self.env||{}:mp;return a.DEBUG_TAGS=e==="tagger"||e===!0?!0:"",a.DEBUG_MATCH=e==="match"||e===!0?!0:"",a.DEBUG_CHUNKS=e==="chunker"||e===!0?!0:"",this},d3=e=>Object.prototype.toString.call(e)==="[object Object]",bf=function(e){return Object.prototype.toString.call(e)==="[object Array]"},m3=function(e){return e.map(a=>a.terms.map(i=>(bf(i.tags)&&(i.tags=new Set(i.tags)),i)))},g3=function(e){return e.map(a=>a.map(i=>({text:i,normal:i,pre:"",post:" ",tags:new Set})))},z1=function(e,a,i){const{methods:o}=i,s=new a([]);if(s.world=i,typeof e=="number"&&(e=String(e)),!e)return s;if(typeof e=="string"){const u=o.one.tokenize.fromString(e,i);return new a(u)}if(d3(e)&&e.isView)return new a(e.document,e.ptrs);if(bf(e)){if(bf(e[0])){const h=g3(e);return new a(h)}const u=m3(e);return new a(u)}return s},yl=Object.assign({},pf),K=function(e,a){a&&K.addWords(a);const i=z1(e,Ha,yl);return e&&i.compute(yl.hooks),i};Object.defineProperty(K,"_world",{value:yl,writable:!0});K.tokenize=function(e,a){const{compute:i}=this._world;a&&K.addWords(a);const o=z1(e,Ha,yl);return i.contractions&&o.compute(["alias","normal","machine","contractions"]),o};K.plugin=function(e){return D1(e,this._world,Ha,this),this};K.extend=K.plugin;K.world=function(){return this._world};K.model=function(){return this._world.model};K.methods=function(){return this._world.methods};K.hooks=function(){return this._world.hooks};K.verbose=h3;K.version=l3;const p3=function(e){return e.map(i=>{const o=new Set;return i.forEach(s=>{s.normal!==""&&o.add(s.normal),s.switch&&o.add(`%${s.switch}%`),s.implicit&&o.add(s.implicit),s.machine&&o.add(s.machine),s.root&&o.add(s.root),s.alias&&s.alias.forEach(h=>o.add(h));const u=Array.from(s.tags);for(let h=0;h{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]/,a=>a.toUpperCase())}),this},toCamelCase:function(){return this.docs.forEach(e=>{e.forEach((a,i)=>{i!==0&&(a.text=a.text.replace(/^ *[a-z\u00C0-\u00FF]/,o=>o.toUpperCase())),i!==e.length-1&&(a.post="")})}),this}},gp=e=>new RegExp("^\\p{Lu}[\\p{Ll}'’]","u").test(e)||new RegExp("^\\p{Lu}$","u").test(e),N3=e=>e.replace(new RegExp("^\\p{Ll}","u"),a=>a.toUpperCase()),C3=e=>e.replace(new RegExp("^\\p{Lu}","u"),a=>a.toLowerCase()),E1=(e,a,i)=>{if(i.forEach(o=>o.dirty=!0),e){const o=[a,0].concat(i);Array.prototype.splice.apply(e,o)}return e},uo=function(e){const a=/ $/,i=/[-–—]/,o=e[e.length-1];o&&!a.test(o.post)&&!i.test(o.post)&&(o.post+=" ")},pp=(e,a,i)=>{const o=/[-.?!,;:)–—'"]/g,s=e[a-1];if(!s)return;const u=s.post;if(o.test(u)){const h=u.match(o).join(""),m=i[i.length-1];m.post=h+m.post,s.post=s.post.replace(o,"")}},j3=function(e,a,i){const o=e[a];if(a!==0||!gp(o.text))return;i[0].text=N3(i[0].text);const s=e[a];s.tags.has("ProperNoun")||s.tags.has("Acronym")||gp(s.text)&&s.text.length>1&&(s.text=C3(s.text))},T3=function(e,a,i,o){const[s,u,h]=a;u===0||h===o[s].length?uo(i):(uo(i),uo([e[a[1]]])),j3(e,u,i),E1(e,u,i)},k3=function(e,a,i,o){const[s,,u]=a,h=(o[s]||[]).length;u(e=e.length<3?"0"+e:e,e.length<3?"0"+e:e),O1=function(e){let[a,i]=e.index||[0,0];ur+=1,ur=ur>46655?0:ur,a=a>46655?0:a,i=i>1294?0:i;let o=yp(ur.toString(36));o+=yp(a.toString(36));let s=i.toString(36);s=s.length<2?"0"+s:s,o+=s;const u=parseInt(Math.random()*36,10);return o+=u.toString(36),e.normal+"|"+o.toUpperCase()},bp=function(e){e.has("@hasContraction")&&typeof e.contractions=="function"&&e.grow("@hasContraction").contractions().expand()},vp=e=>Object.prototype.toString.call(e)==="[object Array]",S3=function(e){return e=e.map(a=>(a.id=O1(a),a)),e},D3=function(e,a){const{methods:i}=a;return typeof e=="string"?i.one.tokenize.fromString(e,a)[0]:typeof e=="object"&&e.isView?e.clone().docs[0]||[]:vp(e)?vp(e[0])?e[0]:e:[]},wp=function(e,a,i){const{document:o,world:s}=a;a.uncache();const u=a.fullPointer,h=a.fullPointer;a.forEach((g,y)=>{const b=g.fullPointer[0],[A]=b,k=o[A];let V=D3(e,s);V.length!==0&&(V=S3(V),i?(bp(a.update([b]).firstTerm()),T3(k,b,V,o)):(bp(a.update([b]).lastTerm()),k3(k,b,V,o)),o[A]&&o[A][b[1]]&&(b[3]=o[A][b[1]].id),h[y]=b,b[2]+=V.length,u[y]=b)});const m=a.toView(u);return a.ptrs=h,m.compute(["id","index","freeze","lexicon"]),m.world.compute.preTagger&&m.compute("preTagger"),m.compute("unfreeze"),m},ui={insertAfter:function(e){return wp(e,this,!1)},insertBefore:function(e){return wp(e,this,!0)}};ui.append=ui.insertAfter;ui.prepend=ui.insertBefore;ui.insert=ui.insertAfter;const z3=/\$[0-9a-z]+/g,Lf={},E3=e=>new RegExp("^\\p{Lu}[\\p{Ll}'’]","u").test(e)||new RegExp("^\\p{Lu}$","u").test(e),O3=e=>e.replace(new RegExp("^\\p{Ll}","u"),a=>a.toUpperCase()),P3=e=>e.replace(new RegExp("^\\p{Lu}","u"),a=>a.toLowerCase()),H3=function(e,a,i){return e.forEach(o=>{const s=a(o);o.replaceWith(s,i)}),e},G3=function(e,a){if(typeof e!="string")return e;const i=a.groups();return e=e.replace(z3,o=>{const s=o.replace(/\$/,"");return i.hasOwnProperty(s)?i[s].text():o}),e};Lf.replaceWith=function(e,a={}){let i=this.fullPointer;const o=this;if(this.uncache(),typeof e=="function")return H3(o,e,a);const s=o.docs[0];if(!s)return o;const u=a.possessives&&s[s.length-1].tags.has("Possessive"),h=a.case&&E3(s[0].text);e=G3(e,o);const m=this.update(i);i=i.map(k=>k.slice(0,3));const g=(m.docs[0]||[]).map(k=>Array.from(k.tags)),y=m.docs[0][0].pre,b=m.docs[0][m.docs[0].length-1].post;if(typeof e=="string"&&(e=this.fromText(e).compute("id")),o.insertAfter(e),m.has("@hasContraction")&&o.contractions&&o.grow("@hasContraction+").contractions().expand(),o.delete(m),u){const k=o.docs[0],V=k[k.length-1];V.tags.has("Possessive")||(V.text+="'s",V.normal+="'s",V.tags.add("Possessive"))}if(y&&o.docs[0]&&(o.docs[0][0].pre=y),b&&o.docs[0]){const k=o.docs[0][o.docs[0].length-1];k.post.trim()||(k.post=b)}const A=o.toView(i).compute(["index","freeze","lexicon"]);if(A.world.compute.preTagger&&A.compute("preTagger"),A.compute("unfreeze"),a.tags&&A.terms().forEach((k,V)=>{k.tagSafe(g[V])}),!A.docs[0]||!A.docs[0][0])return A;if(a.case){const k=h?O3:P3;A.docs[0][0].text=k(A.docs[0][0].text)}return A};Lf.replace=function(e,a,i){if(e&&!a)return this.replaceWith(e,i);const o=this.match(e);return o.found?(this.soften(),o.replaceWith(a,i)):this};const M3=function(e,a){const i=e.length-1,o=e[i],s=e[i-a];s&&o&&(s.post+=o.post,s.post=s.post.replace(/ +([.?!,;:])/,"$1"),s.post=s.post.replace(/[,;:]+([.?!])/,"$1"))},B3=function(e,a){a.forEach(i=>{const[o,s,u]=i,h=u-s;e[o]&&(u===e[o].length&&u>1&&M3(e[o],h),e[o].splice(s,h))});for(let i=e.length-1;i>=0;i-=1)if(e[i].length===0&&(e.splice(i,1),i===e.length&&e[i-1])){const o=e[i-1],s=o[o.length-1];s&&(s.post=s.post.trimEnd())}return e},V3=function(e,a){return e=e.map(i=>{const[o]=i;return a[o]&&a[o].forEach(s=>{const u=s[2]-s[1];i[1]<=s[1]&&i[2]>=s[2]&&(i[2]-=u)}),i}),e.forEach((i,o)=>{if(i[1]===0&&i[2]==0)for(let s=o+1;si[2]-i[1]>0),e=e.map(i=>(i[3]=null,i[4]=null,i)),e},vf={remove:function(e){const{indexN:a}=this.methods.one.pointer;this.uncache();let i=this.all(),o=this;e&&(i=this,o=this.match(e));const s=!i.ptrs;o.has("@hasContraction")&&o.contractions&&o.grow("@hasContraction").contractions().expand();let u=i.fullPointer;const h=o.fullPointer.reverse(),m=B3(this.document,h),g=a(h);return u=V3(u,g),i.ptrs=u,i.document=m,i.compute("index"),s&&(i.ptrs=void 0),e?i.toView(u):(this.ptrs=[],i.none())}};vf.delete=vf.remove;const gr={pre:function(e,a){return e===void 0&&this.found?this.docs[0][0].pre:(this.docs.forEach(i=>{const o=i[0];a===!0?o.pre+=e:o.pre=e}),this)},post:function(e,a){if(e===void 0){const i=this.docs[this.docs.length-1];return i[i.length-1].post}return this.docs.forEach(i=>{const o=i[i.length-1];a===!0?o.post+=e:o.post=e}),this},trim:function(){if(!this.found)return this;const e=this.docs,a=e[0][0];a.pre=a.pre.trimStart();const i=e[e.length-1],o=i[i.length-1];return o.post=o.post.trimEnd(),this},hyphenate:function(){return this.docs.forEach(e=>{e.forEach((a,i)=>{i!==0&&(a.pre=""),e[i+1]&&(a.post="-")})}),this},dehyphenate:function(){const e=/[-–—]/;return this.docs.forEach(a=>{a.forEach(i=>{e.test(i.post)&&(i.post=" ")})}),this},toQuotations:function(e,a){return e=e||'"',a=a||'"',this.docs.forEach(i=>{i[0].pre=e+i[0].pre;const o=i[i.length-1];o.post=a+o.post}),this},toParentheses:function(e,a){return e=e||"(",a=a||")",this.docs.forEach(i=>{i[0].pre=e+i[0].pre;const o=i[i.length-1];o.post=a+o.post}),this}};gr.deHyphenate=gr.dehyphenate;gr.toQuotation=gr.toQuotations;const $3=(e,a)=>e.normala.normal?1:0,U3=(e,a)=>{const i=e.normal.trim().length,o=a.normal.trim().length;return io?-1:0},_3=(e,a)=>e.wordsa.words?-1:0,L3=(e,a)=>e[0]a[0]?-1:e[1]>a[1]?1:-1,F3=function(e){const a={};return e.forEach(i=>{a[i.normal]=a[i.normal]||0,a[i.normal]+=1}),e.sort((i,o)=>{const s=a[i.normal],u=a[o.normal];return su?-1:0}),e},Ic={alpha:$3,length:U3,wordCount:_3,sequential:L3,byFreq:F3},K3=new Set(["index","sequence","seq","sequential","chron","chronological"]),q3=new Set(["freq","frequency","topk","repeats"]),I3=new Set(["alpha","alphabetical"]),J3=function(e,a){let i=e.fullPointer;return i=i.sort((o,s)=>(o=e.update([o]),s=e.update([s]),a(o,s))),e.ptrs=i,e},R3=function(e){const{docs:a,pointer:i}=this;if(this.uncache(),typeof e=="function")return J3(this,e);e=e||"alpha";const o=i||a.map((u,h)=>[h]);let s=a.map((u,h)=>({index:h,words:u.length,normal:u.map(m=>m.machine||m.normal||"").join(" "),pointer:o[h]}));return K3.has(e)&&(e="sequential"),I3.has(e)&&(e="alpha"),q3.has(e)?(s=Ic.byFreq(s),this.update(s.map(u=>u.pointer))):typeof Ic[e]=="function"?(s=s.sort(Ic[e]),this.update(s.map(u=>u.pointer))):this},Q3=function(){let e=this.pointer||this.docs.map((a,i)=>[i]);return e=[].concat(e),e=e.reverse(),this._cache&&(this._cache=this._cache.reverse()),this.update(e)},Y3=function(){const e=new Set;return this.filter(i=>{const o=i.text("machine");return e.has(o)?!1:(e.add(o),!0)})},X3={unique:Y3,reverse:Q3,sort:R3},Z3=e=>Object.prototype.toString.call(e)==="[object Array]",P1=function(e,a){if(e.length>0){const i=e[e.length-1],o=i[i.length-1];/ /.test(o.post)===!1&&(o.post+=" ")}return e=e.concat(a),e},W3=function(e,a){if(e.document===a.document){const o=e.fullPointer.concat(a.fullPointer);return e.toView(o).compute("index")}return a.fullPointer.forEach(o=>{o[0]+=e.document.length}),e.document=P1(e.document,a.docs),e.all()},e4={concat:function(e){if(typeof e=="string"){const a=this.fromText(e);if(!this.found||!this.ptrs)this.document=this.document.concat(a.document);else{const i=this.fullPointer,o=i[i.length-1][0];this.document.splice(o,0,...a.document)}return this.all().compute("index")}if(typeof e=="object"&&e.isView)return W3(this,e);if(Z3(e)){const a=P1(this.document,e);return this.document=a,this.all()}return this}},t4=function(){return this.ptrs=this.fullPointer,this},n4=function(){let e=this.ptrs;return!e||e.length<1?this:(e=e.map(a=>a.slice(0,3)),this.ptrs=e,this)},a4={harden:t4,soften:n4},i4=Object.assign({},x3,ui,Lf,vf,gr,X3,e4,a4),o4=function(e){Object.assign(e.prototype,i4)},r4={id:function(e){const a=e.docs;for(let i=0;i(u.implicit=u.text,u.machine=u.text,u.pre="",u.post="",u.text="",u.normal="",u.index=[o,s+h],u)),i[0]&&(i[0].pre=e[o][s].pre,i[i.length-1].post=e[o][s].post,i[0].text=e[o][s].text,i[0].normal=e[o][s].normal),e[o].splice(s,1,...i))},f4=/'/,h4=new Set(["what","how","when","where","why"]),d4=new Set(["be","go","start","think","need"]),m4=new Set(["been","gone"]),g4=function(e,a){const i=e[a].normal.split(f4)[0];if(h4.has(i))return[i,"did"];if(e[a+1]){if(m4.has(e[a+1].normal))return[i,"had"];if(d4.has(e[a+1].normal))return[i,"would"]}return null},p4=function(e,a){return e[a].normal==="ain't"||e[a].normal==="aint"?null:[e[a].normal.replace(/n't/,""),"not"]},Ff=/'/,y4=/(e|é|aison|sion|tion)$/,b4=/(age|isme|acle|ege|oire)$/,v4=(e,a)=>{const i=e[a].normal.split(Ff)[1];return i&&i.endsWith("e")?["la",i]:["le",i]},w4=(e,a)=>{const i=e[a].normal.split(Ff)[1];return i&&y4.test(i)&&!b4.test(i)?["du",i]:i&&i.endsWith("s")?["des",i]:["de",i]},A4=(e,a)=>["je",e[a].normal.split(Ff)[1]],Rc={preJ:A4,preL:v4,preD:w4},x4=/^([0-9.]{1,4}[a-z]{0,2}) ?[-–—] ?([0-9]{1,4}[a-z]{0,2})$/i,N4=/^([0-9]{1,2}(:[0-9][0-9])?(am|pm)?) ?[-–—] ?([0-9]{1,2}(:[0-9][0-9])?(am|pm)?)$/i,C4=/^[0-9]{3}-[0-9]{4}$/,j4=function(e,a){const i=e[a];let o=i.text.match(x4);return o!==null?i.tags.has("PhoneNumber")===!0||C4.test(i.text)?null:[o[1],"to",o[2]]:(o=i.text.match(N4),o!==null?[o[1],"to",o[4]]:null)},T4=/^([+-]?[0-9][.,0-9]*)([a-z°²³µ/]+)$/,k4=function(e,a,i){const o=i.model.one.numberSuffixes||{},u=e[a].text.match(T4);if(u!==null){const h=u[2].toLowerCase().trim();return o.hasOwnProperty(h)?null:[u[1],h]}return null},Ap=/'/,S4=/^[0-9][^-–—]*[-–—].*?[0-9]/,xp=function(e,a,i,o){const s=a.update();s.document=[e];let u=i+o;i>0&&(i-=1),e[u]&&(u+=1),s.ptrs=[[0,i,u]]},Np={t:(e,a)=>p4(e,a),d:(e,a)=>g4(e,a)},Cp={j:(e,a)=>Rc.preJ(e,a),l:(e,a)=>Rc.preL(e,a),d:(e,a)=>Rc.preD(e,a)},D4=function(e,a,i,o){for(let s=0;s2)return u.out.concat(o)}return null},Qc=function(e,a){const i=a.fromText(e.join(" "));return i.compute(["id","alias"]),i.docs[0]},z4=function(e,a){for(let i=a+1;i<5&&e[i];i+=1)if(e[i].normal==="been")return["there","has"];return["there","is"]},E4=e=>{const{world:a,document:i}=e,{model:o,methods:s}=a,u=o.one.contractions||[];i.forEach((h,m)=>{for(let g=h.length-1;g>=0;g-=1){let y=null,b=null;if(Ap.test(h[g].normal)===!0){const k=h[g].normal.split(Ap);y=k[0],b=k[1]}let A=D4(u,h[g],y,b);if(!A&&Np.hasOwnProperty(b)&&(A=Np[b](h,g,a)),!A&&Cp.hasOwnProperty(y)&&(A=Cp[y](h,g)),y==="there"&&b==="s"&&(A=z4(h,g)),A){A=Qc(A,e),Jc(i,[m,g],A),xp(i[m],e,g,A.length);continue}if(S4.test(h[g].normal)){A=j4(h,g),A&&(A=Qc(A,e),Jc(i,[m,g],A),s.one.setTag(A,"NumberRange",a),A[2]&&A[2].tags.has("Time")&&s.one.setTag([A[0]],"Time",a,null,"time-range"),xp(i[m],e,g,A.length));continue}A=k4(h,g,a),A&&(A=Qc(A,e),Jc(i,[m,g],A),s.one.setTag([A[1]],"Unit",a,null,"contraction-unit"))}})},O4={contractions:E4},P4={model:c4,compute:O4,hooks:["contractions"]},jp=function(e){const a=e.world,{model:i,methods:o}=e.world,s=o.one.setTag,{frozenLex:u}=i.one,h=i.one._multiCache||{};e.docs.forEach(m=>{for(let g=0;gg;k-=1){const V=m.slice(g,k+1),W=V.map(se=>se.machine||se.normal).join(" ");if(u.hasOwnProperty(W)===!0){s(V,u[W],a,!1,"1-frozen-multi-lexicon"),V.forEach(se=>se.frozen=!0);continue}}}if(u[b]!==void 0&&u.hasOwnProperty(b)){s([y],u[b],a,!1,"1-freeze-lexicon"),y.frozen=!0;continue}}})},H4=function(e){return e.docs.forEach(a=>{a.forEach(i=>{delete i.frozen})}),e},G4={frozen:jp,freeze:jp,unfreeze:H4},Tp=e=>"\x1B[34m"+e+"\x1B[0m",kp=e=>"\x1B[3m\x1B[2m"+e+"\x1B[0m",Sp=function(e){e.docs.forEach(a=>{console.log(Tp(` ┌─────────`)),a.forEach(i=>{let o=` ${kp("│")} `;const s=i.implicit||i.text||"-";i.frozen===!0?o+=`${Tp(s)} ❄️`:o+=kp(s),console.log(o)})})},M4={compute:G4,mutate:e=>{const a=e.methods.one;a.termMethods.isFrozen=i=>i.frozen===!0,a.debug.freeze=Sp,a.debug.frozen=Sp},api:function(e){e.prototype.freeze=function(){return this.docs.forEach(a=>{a.forEach(i=>{i.frozen=!0})}),this},e.prototype.unfreeze=function(){this.compute("unfreeze")},e.prototype.isFrozen=function(){return this.match("@isFrozen+")}},hooks:["freeze"]},B4=function(e,a,i){const{model:o,methods:s}=i,u=s.one.setTag,h=o.one._multiCache||{},{lexicon:m}=o.one||{},g=e[a],y=g.machine||g.normal;if(h[y]!==void 0&&e[a+1]){const b=a+h[y]-1;for(let A=b;A>a;A-=1){const k=e.slice(a,A+1);if(k.length<=1)return!1;const V=k.map(W=>W.machine||W.normal).join(" ");if(m.hasOwnProperty(V)===!0){const W=m[V];return u(k,W,i,!1,"1-multi-lexicon"),W&&W.length===2&&(W[0]==="PhrasalVerb"||W[1]==="PhrasalVerb")&&u([k[1]],"Particle",i,!1,"1-phrasal-particle"),!0}}return!1}return null},Dp=/^(under|over|mis|re|un|dis|semi|pre|post)-?/,V4=new Set(["Verb","Infinitive","PastTense","Gerund","PresentTense","Adjective","Participle"]),$4=function(e,a,i){const{model:o,methods:s}=i,u=s.one.setTag,{lexicon:h}=o.one,m=e[a],g=m.machine||m.normal;if(h[g]!==void 0&&h.hasOwnProperty(g))return u([m],h[g],i,!1,"1-lexicon"),!0;if(m.alias){const y=m.alias.find(b=>h.hasOwnProperty(b));if(y)return u([m],h[y],i,!1,"1-lexicon-alias"),!0}if(Dp.test(g)===!0){const y=g.replace(Dp,"");if(h.hasOwnProperty(y)&&y.length>3&&V4.has(h[y]))return u([m],h[y],i,!1,"1-lexicon-prefix"),!0}return null},U4=function(e){const a=e.world;e.docs.forEach(i=>{for(let o=0;o{const s=e[o];o=o.toLowerCase().trim(),o=o.replace(/'s\b/,"");const u=o.split(/ /);u.length>1&&(i[u[0]]===void 0||u.length>i[u[0]])&&(i[u[0]]=u.length),a[o]=a[o]||s}),delete a[""],delete a[null],delete a[" "],{lex:a,_multi:i}},F4={one:{expandLexicon:L4}},K4=function(e,a=!1){const i=this.world(),{methods:o,model:s}=i;if(!e)return;if(Object.keys(e).forEach(m=>{typeof e[m]=="string"&&e[m].startsWith("#")&&(e[m]=e[m].replace(/^#/,""))}),a===!0){const{lex:m,_multi:g}=o.one.expandLexicon(e,i);Object.assign(s.one._multiCache,g),Object.assign(s.one.frozenLex,m);return}if(o.two.expandLexicon){const{lex:m,_multi:g}=o.two.expandLexicon(e,i);Object.assign(s.one.lexicon,m),Object.assign(s.one._multiCache,g)}const{lex:u,_multi:h}=o.one.expandLexicon(e,i);Object.assign(s.one.lexicon,u),Object.assign(s.one._multiCache,h)},q4={addWords:K4},I4={one:{lexicon:{},_multiCache:{},frozenLex:{}}},J4={model:I4,methods:F4,compute:_4,lib:q4,hooks:["lexicon"]},R4=function(e,a){const{methods:i,model:o}=a;return i.one.tokenize.splitTerms(e,o).map(u=>i.one.tokenize.splitWhitespace(u,o)).map(u=>u.text.toLowerCase())},H1=function(e,a){const i=[{}],o=[null],s=[0],u=[];let h=0;e.forEach(function(m){let g=0;const y=R4(m,a);for(let b=0;b0&&!i[h].hasOwnProperty(b);)h=s[h];if(i.hasOwnProperty(h)){const k=i[h][b];s[A]=k,o[k]&&(o[A]=o[A]||[],o[A]=o[A].concat(o[k]))}else s[A]=0}}return{goNext:i,endAs:o,failTo:s}},Q4=function(e,a,i){let o=0;const s=[];for(let u=0;u0&&(a.goNext[o]===void 0||!a.goNext[o].hasOwnProperty(h));)o=a.failTo[o]||0;if(a.goNext[o].hasOwnProperty(h)&&(o=a.goNext[o][h],a.endAs[o])){const m=a.endAs[o];for(let g=0;g0&&(o=o.concat(g))}return e.update(o)},Z4=e=>Object.prototype.toString.call(e)==="[object Object]";function W4(e){e.prototype.lookup=function(a,i={}){if(!a)return this.none();typeof a=="string"&&(a=[a]);const o=Z4(a)?a:H1(a,this.world);let s=X4(this,o,i);return s=s.settle(),s}}const Yc=(e,a)=>{for(let i=e.length-1;i>=0;i-=1)if(e[i]!==a)return e=e.slice(0,i+1),e;return e},ew=function(e){return e.goNext=e.goNext.map(a=>{if(Object.keys(a).length!==0)return a}),e.goNext=Yc(e.goNext,void 0),e.failTo=Yc(e.failTo,0),e.endAs=Yc(e.endAs,null),e},wf={buildTrie:function(e){const a=H1(e,this.world());return ew(a)}};wf.compile=wf.buildTrie;const tw={api:W4,lib:wf},zp=function(e,a){return a&&e.forEach(i=>{const o=i[0];a[o]&&(i[0]=a[o][0],i[1]+=a[o][1],i[2]+=a[o][1])}),e},G1=function(e,a){let{ptrs:i}=e;const{byGroup:o}=e;return i=zp(i,a),Object.keys(o).forEach(s=>{o[s]=zp(o[s],a)}),{ptrs:i,byGroup:o}},vr=function(e,a,i){const o=i.methods.one;return typeof e=="number"&&(e=String(e)),typeof e=="string"&&(e=o.killUnicode(e,i),e=o.parseMatch(e,a,i)),e},M1=e=>Object.prototype.toString.call(e)==="[object Object]",wr=e=>e&&M1(e)&&e.isView===!0,Ar=e=>e&&M1(e)&&e.isNet===!0,nw=function(e,a,i){const o=this.methods.one;if(wr(e))return this.intersection(e);if(Ar(e))return this.sweep(e,{tagger:!1}).view.settle();e=vr(e,i,this.world);const s={regs:e,group:a},u=o.match(this.docs,s,this._cache),{ptrs:h,byGroup:m}=G1(u,this.fullPointer),g=this.toView(h);return g._groups=m,g},aw=function(e,a,i){const o=this.methods.one;if(wr(e))return this.intersection(e).eq(0);if(Ar(e))return this.sweep(e,{tagger:!1,matchOne:!0}).view;e=vr(e,i,this.world);const s={regs:e,group:a,justOne:!0},u=o.match(this.docs,s,this._cache),{ptrs:h,byGroup:m}=G1(u,this.fullPointer),g=this.toView(h);return g._groups=m,g},iw=function(e,a,i){const o=this.methods.one;if(wr(e))return this.intersection(e).fullPointer.length>0;if(Ar(e))return this.sweep(e,{tagger:!1}).view.found;e=vr(e,i,this.world);const s={regs:e,group:a,justOne:!0};return o.match(this.docs,s,this._cache).ptrs.length>0},ow=function(e,a,i){const o=this.methods.one;if(wr(e))return this.filter(g=>g.intersection(e).found);if(Ar(e)){const g=this.sweep(e,{tagger:!1}).view.settle();return this.if(g)}e=vr(e,i,this.world);const s={regs:e,group:a,justOne:!0};let u=this.fullPointer;const h=this._cache||[];u=u.filter((g,y)=>{const b=this.update([g]);return o.match(b.docs,s,h[y]).ptrs.length>0});const m=this.update(u);return this._cache&&(m._cache=u.map(g=>h[g[0]])),m},rw=function(e,a,i){const{methods:o}=this,s=o.one;if(wr(e))return this.filter(m=>!m.intersection(e).found);if(Ar(e)){const m=this.sweep(e,{tagger:!1}).view.settle();return this.ifNo(m)}e=vr(e,i,this.world);const u=this._cache||[],h=this.filter((m,g)=>{const y={regs:e,group:a,justOne:!0};return s.match(m.docs,y,u[g]).ptrs.length===0});return this._cache&&(h._cache=h.ptrs.map(m=>u[m[0]])),h},sw={matchOne:aw,match:nw,has:iw,if:ow,ifNo:rw},lw=function(e,a,i){const{indexN:o}=this.methods.one.pointer,s=[],u=o(this.fullPointer);Object.keys(u).forEach(m=>{const g=u[m].sort((y,b)=>y[1]>b[1]?1:-1)[0];g[1]>0&&s.push([g[0],0,g[1]])});const h=this.toView(s);return e?h.match(e,a,i):h},uw=function(e,a,i){const{indexN:o}=this.methods.one.pointer,s=[],u=o(this.fullPointer),h=this.document;Object.keys(u).forEach(g=>{const y=u[g].sort((k,V)=>k[1]>V[1]?-1:1)[0],[b,,A]=y;A{const h=s.before(e,a);if(h.found){const m=h.terms();o[u][1]-=m.length,o[u][3]=m.docs[0][0].id}}),this.update(o)},fw=function(e,a,i){typeof e=="string"&&(e=this.world.methods.one.parseMatch(e,i,this.world)),e[0].start=!0;const o=this.fullPointer;return this.forEach((s,u)=>{const h=s.after(e,a);if(h.found){const m=h.terms();o[u][2]+=m.length,o[u][4]=null}}),this.update(o)},hw=function(e,a,i){return this.growRight(e,a,i).growLeft(e,a,i)},dw={before:lw,after:uw,growLeft:cw,growRight:fw,grow:hw},B1=function(e,a){return[e[0],e[1],a[2]]},mw=function(e){return Object.prototype.toString.call(e)==="[object Array]"},Kf=(e,a,i)=>typeof e=="string"||mw(e)?a.match(e,i):e||a.none(),qf=function(e,a){const[i,o,s]=e;return a.document[i]&&a.document[i][o]&&(e[3]=e[3]||a.document[i][o].id,a.document[i][s-1]&&(e[4]=e[4]||a.document[i][s-1].id)),e},co={};co.splitOn=function(e,a){const{splitAll:i}=this.methods.one.pointer,o=Kf(e,this,a).fullPointer,s=i(this.fullPointer,o);let u=[];return s.forEach(h=>{u.push(h.passthrough),u.push(h.before),u.push(h.match),u.push(h.after)}),u=u.filter(h=>h),u=u.map(h=>qf(h,this)),this.update(u)};co.splitBefore=function(e,a){const{splitAll:i}=this.methods.one.pointer,o=Kf(e,this,a).fullPointer,s=i(this.fullPointer,o);for(let h=0;h{u.push(h.passthrough),u.push(h.before),h.match&&h.after?u.push(B1(h.match,h.after)):u.push(h.match)}),u=u.filter(h=>h),u=u.map(h=>qf(h,this)),this.update(u)};co.splitAfter=function(e,a){const{splitAll:i}=this.methods.one.pointer,o=Kf(e,this,a).fullPointer,s=i(this.fullPointer,o);let u=[];return s.forEach(h=>{u.push(h.passthrough),h.before&&h.match?u.push(B1(h.before,h.match)):(u.push(h.before),u.push(h.match)),u.push(h.after)}),u=u.filter(h=>h),u=u.map(h=>qf(h,this)),this.update(u)};co.split=co.splitAfter;const gw=function(e,a){return!e||!a||e[0]!==a[0]?!1:e[2]===a[1]},Ep=function(e,a,i){const o=e.world,s=o.methods.one.parseMatch;a=a||".$",i=i||"^.";const u=s(a,{},o),h=s(i,{},o);u[u.length-1].end=!0,h[0].start=!0;const m=e.fullPointer,g=[m[0]];for(let y=1;y)?\/.*?[^\\/]\/[?\]+*$~]*)(?:\s|$)/,vw=/([!~[^]*(?:<[^<]*>)?\([^)]+[^\\)]\)[?\]+*$~]*)(?:\s|$)/,ww=/ /g,Aw=e=>/^[![^]*(<[^<]*>)?\(/.test(e)&&/\)[?\]+*$~]*$/.test(e),Op=e=>/^[![^]*(<[^<]*>)?\//.test(e)&&/\/[?\]+*$~]*$/.test(e),Pp=function(e){return e=e.map(a=>a.trim()),e=e.filter(a=>a),e},xw=function(e){const a=e.split(bw);let i=[];a.forEach(s=>{if(Op(s)){i.push(s);return}i=i.concat(s.split(vw))}),i=Pp(i);let o=[];return i.forEach(s=>{Aw(s)||Op(s)?o.push(s):o=o.concat(s.split(ww))}),o=Pp(o),o},Hp=/\{([0-9]+)?(, *[0-9]*)?\}/,Gp=/&&/,Nw=new RegExp(/^<\s*(\S+)\s*>/),Mp=e=>e.charAt(0).toUpperCase()+e.substring(1),en=e=>e.charAt(e.length-1),Bt=e=>e.charAt(0),ro=e=>e.substring(1),so=e=>e.substring(0,e.length-1),cr=function(e){return e=ro(e),e=so(e),e},V1=function(e,a){const i={};for(let o=0;o<2;o+=1){if(en(e)==="$"&&(i.end=!0,e=so(e)),Bt(e)==="^"&&(i.start=!0,e=ro(e)),en(e)==="?"&&(i.optional=!0,e=so(e)),(Bt(e)==="["||en(e)==="]")&&(i.group=null,Bt(e)==="["&&(i.groupStart=!0),en(e)==="]"&&(i.groupEnd=!0),e=e.replace(/^\[/,""),e=e.replace(/\]$/,""),Bt(e)==="<")){const s=Nw.exec(e);s.length>=2&&(i.group=s[1],e=e.replace(s[0],""))}if(en(e)==="+"&&(i.greedy=!0,e=so(e)),e!=="*"&&en(e)==="*"&&e!=="\\*"&&(i.greedy=!0,e=so(e)),Bt(e)==="!"&&(i.negative=!0,e=ro(e)),Bt(e)==="~"&&en(e)==="~"&&e.length>2&&(e=cr(e),i.fuzzy=!0,i.min=a.fuzzy||.85,/\(/.test(e)===!1))return i.word=e,i;if(Bt(e)==="/"&&en(e)==="/")return e=cr(e),a.caseSensitive&&(i.use="text"),i.regex=new RegExp(e),i;if(Hp.test(e)===!0&&(e=e.replace(Hp,(s,u,h)=>(h===void 0?(i.min=Number(u),i.max=Number(u)):(h=h.replace(/, */,""),u===void 0?(i.min=0,i.max=Number(h)):(i.min=Number(u),i.max=Number(h||999))),i.greedy=!0,i.min||(i.optional=!0),""))),Bt(e)==="("&&en(e)===")"){Gp.test(e)?(i.choices=e.split(Gp),i.operator="and"):(i.choices=e.split("|"),i.operator="or"),i.choices[0]=ro(i.choices[0]);const s=i.choices.length-1;i.choices[s]=so(i.choices[s]),i.choices=i.choices.map(u=>u.trim()),i.choices=i.choices.filter(u=>u),i.choices=i.choices.map(u=>u.split(/ /g).map(h=>V1(h,a))),e=""}if(Bt(e)==="{"&&en(e)==="}"){if(e=cr(e),i.root=e,/\//.test(e)){const s=i.root.split(/\//);i.root=s[0],i.pos=s[1],i.pos==="adj"&&(i.pos="Adjective"),i.pos=i.pos.charAt(0).toUpperCase()+i.pos.substr(1).toLowerCase(),s[2]!==void 0&&(i.sense=s[2])}return i}if(Bt(e)==="<"&&en(e)===">")return e=cr(e),i.chunk=Mp(e),i.greedy=!0,i;if(Bt(e)==="%"&&en(e)==="%")return e=cr(e),i.switch=e,i}return Bt(e)==="#"?(i.tag=ro(e),i.tag=Mp(i.tag),i):Bt(e)==="@"?(i.method=ro(e),i):e==="."?(i.anything=!0,i):e==="*"?(i.anything=!0,i.greedy=!0,i.optional=!0,i):(e&&(e=e.replace("\\*","*"),e=e.replace("\\.","."),a.caseSensitive?i.use="text":e=e.toLowerCase(),i.word=e),i)},Cw=/[a-z0-9][-–—][a-z]/i,jw=function(e,a){const i=a.model.one.prefixes;for(let o=e.length-1;o>=0;o-=1){const s=e[o];if(s.word&&Cw.test(s.word)){let u=s.word.split(/[-–—]/g);if(i.hasOwnProperty(u[0]))continue;u=u.filter(h=>h).reverse(),e.splice(o,1),u.forEach(h=>{const m=Object.assign({},s);m.word=h,e.splice(o,0,m)})}}return e},Bp=function(e,a){const{all:i}=a.methods.two.transform.verb||{},o=e.root;return i?i(o,a.model):[]},Vp=function(e,a){const{all:i}=a.methods.two.transform.noun||{};return i?i(e.root,a.model):[e.root]},$p=function(e,a){const{all:i}=a.methods.two.transform.adjective||{};return i?i(e.root,a.model):[e.root]},Tw=function(e,a){return e=e.map(i=>{if(i.root)if(a.methods.two&&a.methods.two.transform){let o=[];i.pos?i.pos==="Verb"?o=o.concat(Bp(i,a)):i.pos==="Noun"?o=o.concat(Vp(i,a)):i.pos==="Adjective"&&(o=o.concat($p(i,a))):(o=o.concat(Bp(i,a)),o=o.concat(Vp(i,a)),o=o.concat($p(i,a))),o=o.filter(s=>s),o.length>0&&(i.operator="or",i.fastOr=new Set(o))}else i.machine=i.root,delete i.id,delete i.root;return i}),e},kw=function(e){let a=0,i=null;for(let o=0;o{if(a.choices!==void 0){if(a.operator!=="or"||a.fuzzy===!0)return a;a.choices.every(o=>{if(o.length!==1)return!1;const s=o[0];return s.fuzzy===!0||s.start||s.end?!1:s.word!==void 0&&s.negative!==!0&&s.optional!==!0&&s.method!==!0})===!0&&(a.fastOr=new Set,a.choices.forEach(o=>{a.fastOr.add(o[0].word)}),delete a.choices)}return a})},Dw=function(e){return e.map(a=>(a.fuzzy&&a.choices&&a.choices.forEach(i=>{i.length===1&&i[0].word&&(i[0].fuzzy=!0,i[0].min=a.min)}),a))},zw=function(e){return e=kw(e),e=Sw(e),e=Dw(e),e},Ew=function(e,a,i){if(e==null||e==="")return[];a=a||{},typeof e=="number"&&(e=String(e));let o=xw(e);return o=o.map(s=>V1(s,a)),o=jw(o,i),o=Tw(o,i),o=zw(o),o},Ow=function(e,a){for(const i of a)if(e.has(i))return!0;return!1},Pw=function(e,a){for(let i=0;ii?o:i)+1;if(Math.abs(i-o)>(s||100))return s||100;const u=[];for(let k=0;k4)return i;g=a[h-1],y=m===g?0:1,b=u[k-1][h]+1,(A=u[k][h-1]+1)1&&h>1&&m===a[h-2]&&e[k-2]===g&&(A=u[k-2][h-2]+y)e.post.indexOf(a)!==-1,pr={hasQuote:e=>Mw.test(e.pre)||Bw.test(e.post),hasComma:e=>xn(e,","),hasPeriod:e=>xn(e,".")===!0&&xn(e,"...")===!1,hasExclamation:e=>xn(e,"!"),hasQuestionMark:e=>xn(e,"?")||xn(e,"¿"),hasEllipses:e=>xn(e,"..")||xn(e,"…"),hasSemicolon:e=>xn(e,";"),hasColon:e=>xn(e,":"),hasSlash:e=>/\//.test(e.text),hasHyphen:e=>Up.test(e.post)||Up.test(e.pre),hasDash:e=>_p.test(e.post)||_p.test(e.pre),hasContraction:e=>!!e.implicit,isAcronym:e=>e.tags.has("Acronym"),isKnown:e=>e.tags.size>0,isTitleCase:e=>new RegExp("^\\p{Lu}[a-z'\\u00C0-\\u00FF]","u").test(e.text),isUpperCase:e=>new RegExp("^\\p{Lu}+$","u").test(e.text)};pr.hasQuotation=pr.hasQuote;let We=function(){};const Vw=function(e,a,i,o){if(a.anything===!0)return!0;if(a.start===!0&&i!==0||a.end===!0&&i!==o-1)return!1;if(a.id!==void 0&&a.id===e.id)return!0;if(a.word!==void 0)return a.use?a.word===e[a.use]:e.machine!==null&&e.machine===a.word||e.alias!==void 0&&e.alias.hasOwnProperty(a.word)||a.fuzzy===!0&&(a.word===e.root||Gw(a.word,e.normal)>=a.min)||e.alias&&e.alias.some(s=>s===a.word)?!0:a.word===e.text||a.word===e.normal;if(a.tag!==void 0)return e.tags.has(a.tag)===!0;if(a.method!==void 0)return typeof pr[a.method]=="function"&&pr[a.method](e)===!0;if(a.pre!==void 0)return e.pre&&e.pre.includes(a.pre);if(a.post!==void 0)return e.post&&e.post.includes(a.post);if(a.regex!==void 0){let s=e.normal;return a.use&&(s=e[a.use]),a.regex.test(s)}if(a.chunk!==void 0)return e.chunk===a.chunk;if(a.switch!==void 0)return e.switch===a.switch;if(a.machine!==void 0)return e.normal===a.machine||e.machine===a.machine||e.root===a.machine;if(a.sense!==void 0)return e.sense===a.sense;if(a.fastOr!==void 0){if(a.pos&&!e.tags.has(a.pos))return null;const s=e.root||e.implicit||e.machine||e.normal;return a.fastOr.has(s)||a.fastOr.has(e.text)}return a.choices!==void 0?a.operator==="and"?a.choices.every(s=>We(e,s,i,o)):a.choices.some(s=>We(e,s,i,o)):!1};We=function(e,a,i,o){const s=Vw(e,a,i,o);return a.negative===!0?!s:s};const $w=function(e,a){const i=Object.assign({},e.regs[e.r],{start:!1,end:!1}),o=e.t;for(;e.ti.max)return e.t=e.t+i.max,!0;if(e.hasGroup===!0){const s=Al(e,e.t);s.length=o-e.t}return e.t=o,!0},Fw=function(e){return Object.prototype.toString.call(e)==="[object Array]"},$1=function(e,a=0){const i=e.regs[e.r];let o=!1;for(let s=0;s{let g=0;const y=e.t+m+a+g;if(e.terms[y]===void 0)return!1;const b=We(e.terms[y],h,y+e.start_i,e.phrase_length);if(b===!0&&h.greedy===!0)for(let A=1;A{const u=s.every((h,m)=>{const g=e.t+m;return e.terms[g]===void 0?!1:We(e.terms[g],h,g,e.phrase_length)});return u===!0&&s.length>a&&(a=s.length),u})===!0?a:!1},qw=function(e){const{regs:a}=e,i=a[e.r],o=$1(e);if(o){if(i.negative===!0)return null;if(e.hasGroup===!0){const s=Al(e,e.t);s.length+=o}if(i.end===!0){const s=e.phrase_length;if(e.t+e.start_i+o!==s)return null}return e.t+=o,!0}else if(!i.optional)return null;return!0},Iw=function(e){const{regs:a}=e,i=a[e.r],o=Kw(e);if(o){if(i.negative===!0)return null;if(e.hasGroup===!0){const s=Al(e,e.t);s.length+=o}if(i.end===!0){const s=e.phrase_length-1;if(e.t+e.start_i!==s)return null}return e.t+=o,!0}else if(!i.optional)return null;return!0},Jw=function(e,a,i){let o=0;for(let s=e.t;so?!1:(e.t+=o,!0)},Rw=function(e){const{regs:a}=e,i=a[e.r],o=Object.assign({},i);if(o.negative=!1,We(e.terms[e.t],o,e.start_i+e.t,e.phrase_length))return!1;if(i.optional){const u=a[e.r+1];u&&(We(e.terms[e.t],u,e.start_i+e.t,e.phrase_length)?e.r+=1:u.optional&&a[e.r+2]&&We(e.terms[e.t],a[e.r+2],e.start_i+e.t,e.phrase_length)&&(e.r+=2))}return i.greedy?Jw(e,o,a[e.r+1]):(e.t+=1,!0)},Qw=function(e){const{regs:a}=e,i=a[e.r],o=e.terms[e.t],s=We(o,a[e.r+1],e.start_i+e.t,e.phrase_length);if(i.negative||s){const u=e.terms[e.t+1];(!u||!We(u,a[e.r+1],e.start_i+e.t,e.phrase_length))&&(e.r+=1)}},Yw=function(e){const{regs:a,phrase_length:i}=e,o=a[e.r];return e.t=$w(e,a[e.r+1]),e.t===null||o.min&&o.min>e.t||o.end===!0&&e.start_i+e.t!==i?null:!0},Xw=function(e){const a=e.terms[e.t],i=e.regs[e.r];if(a.implicit&&e.terms[e.t+1]){if(!e.terms[e.t+1].implicit)return;i.word===a.normal&&(e.t+=1),i.method==="hasContraction"&&(e.t+=1)}},Zw=function(e,a){const i=e.regs[e.r],o=Al(e,a);e.t>1&&i.greedy?o.length+=e.t-a:o.length++},Xc=function(e){const{regs:a}=e,i=a[e.r],o=e.terms[e.t],s=e.t;return i.optional&&a[e.r+1]&&i.negative?!0:(i.optional&&a[e.r+1]&&Qw(e),o.implicit&&e.terms[e.t+1]&&Xw(e),e.t+=1,i.end===!0&&e.t!==e.terms.length&&i.greedy!==!0||i.greedy===!0&&!Yw(e)?null:(e.hasGroup===!0&&Zw(e,s),!0))},If=function(e,a,i,o){if(e.length===0||a.length===0)return null;const s={t:0,terms:e,r:0,regs:a,groups:{},start_i:i,phrase_length:o,inGroup:null};for(;s.r!b.optional)===!1)break;return null}if(m.anything===!0&&m.greedy===!0){if(!Lw(s))return null;continue}if(m.choices!==void 0&&m.operator==="or"){if(!qw(s))return null;continue}if(m.choices!==void 0&&m.operator==="and"){if(!Iw(s))return null;continue}if(m.anything===!0){if(m.negative&&m.anything||!Xc(s))return null;continue}if(_w(m,s)===!0){if(!Xc(s))return null;continue}if(m.negative){if(!Rw(s))return null;continue}if(We(s.terms[s.t],m,s.start_i+s.t,s.phrase_length)===!0){if(!Xc(s))return null;continue}if(m.optional!==!0)return null}const u=[null,i,s.t+i];if(u[1]===u[2])return null;const h={};return Object.keys(s.groups).forEach(m=>{const g=s.groups[m],y=i+g.start;h[m]=[null,y,y+g.length]}),{pointer:u,groups:h}},Ww=function(e,a){const i=[],o={};return e.length===0?{ptrs:i,byGroup:o}:(typeof a=="number"&&(a=String(a)),a?e.forEach(s=>{s.groups[a]&&i.push(s.groups[a])}):e.forEach(s=>{i.push(s.pointer),Object.keys(s.groups).forEach(u=>{o[u]=o[u]||[],o[u].push(s.groups[u])})}),{ptrs:i,byGroup:o})},eA=function(e,a,i){return e=e.filter(o=>{const[s,u,h]=o.pointer,m=i[s].slice(u,h);for(let g=0;g{e.groups[i][0]=a}),e},tA=function(e,a,i){let o=If(e,a,0,e.length);return o?(o=U1(o,i),o):null},nA=function(e,a,i){i=i||[];const{regs:o,group:s,justOne:u}=a;let h=[];if(!o||o.length===0)return{ptrs:[],byGroup:{}};const m=o.filter(g=>g.optional!==!0&&g.negative!==!0).length;e:for(let g=0;gb&&(b=Math.abs(V-1))}}}}return o[o.length-1].end===!0&&(h=h.filter(g=>{const y=g.pointer[0];return e[y].length===g.pointer[2]})),a.notIf&&(h=eA(h,a.notIf,e)),h=Ww(h,s),h.ptrs.forEach(g=>{const[y,b,A]=g;g[3]=e[y][b].id,g[4]=e[y][A-1].id}),h},aA={one:{termMethods:pr,parseMatch:Ew,match:nA}},iA={parseMatch:function(e,a){const i=this.world(),o=i.methods.one.killUnicode;return o&&(e=o(e,i)),i.methods.one.parseMatch(e,a,i)}},oA={api:yw,methods:aA,lib:iA},rA=/^\../,sA=/^#./,lA=e=>(e=e.replace(/&/g,"&"),e=e.replace(//g,">"),e=e.replace(/"/g,"""),e=e.replace(/'/g,"'"),e),uA=function(e){let a="",i="";return e=lA(e),rA.test(e)?a=``),a+=">",{start:a,end:i}},cA=function(e,a){const i={},o={};return Object.keys(a).forEach(s=>{let u=a[s];const h=uA(s);typeof u=="string"&&(u=e.match(u)),u.docs.forEach(m=>{if(m.every(b=>b.implicit))return;const g=m[0].id;i[g]=i[g]||[],i[g].push(h.start);const y=m[m.length-1].id;o[y]=o[y]||[],o[y].push(h.end)})}),{starts:i,ends:o}},fA=function(e){const{starts:a,ends:i}=cA(this,e);let o="";return this.docs.forEach(s=>{for(let u=0;u{let u=s.pre||"",h=s.post||"";a.punctuation==="some"&&(u=u.replace(Af,""),mA.test(h)&&(h=" "),h=h.replace(dA,""),h=h.replace(/\?!+/,"?"),h=h.replace(/!+/,"!"),h=h.replace(/\?+/,"?"),h=h.replace(/\.{2,}/,""),s.tags.has("Abbreviation")&&(h=h.replace(/\./,""))),a.whitespace==="some"&&(u=u.replace(/\s/,""),h=h.replace(/\s+/," ")),a.keepPunct||(u=u.replace(Af,""),h==="-"?h=" ":h=h.replace(_1,""));let m=s[a.form||"text"]||s.normal||"";a.form==="implicit"&&(m=s.implicit||s.text),a.form==="root"&&s.implicit&&(m=s.root||s.implicit||s.normal),(a.form==="machine"||a.form==="implicit"||a.form==="root")&&s.implicit&&(!h||!gA.test(h))&&(h+=" "),o+=u+m+h}),i===!1&&(o=o.trim()),a.lowerCase===!0&&(o=o.toLowerCase()),o},pA=function(e,a){let i="";if(!e||!e[0]||!e[0][0])return i;for(let o=0;o>2]|=s.charCodeAt(u)<<8*u--;for(ri=s=0;ri>4]+L1[s]+~~m[ri|[s,5*s+1,3*s+5,7*s][u]&15])<<(u=[7,12,17,22,5,9,14,20,4,11,16,23,6,10,15,21][4*u+s++%4])|o>>>-u),a,i])a=u[1]|0,i=u[2];for(s=4;s;)h[--s]+=u[s]}for(e="";s<32;)e+=(h[s>>3]>>(1^s++)*4&15).toString(16);return e},yA={text:!0,terms:!0},Lp={case:"none",unicode:"some",form:"machine",punctuation:"some"},Zc=function(e,a){return Object.assign({},e,a)},ta={text:e=>oi(e,{keepPunct:!0},!1),normal:e=>oi(e,Zc(Ga.normal,{keepPunct:!0}),!1),implicit:e=>oi(e,Zc(Ga.implicit,{keepPunct:!0}),!1),machine:e=>oi(e,Lp,!1),root:e=>oi(e,Zc(Lp,{form:"root"}),!1),hash:e=>Jf(oi(e,{keepPunct:!0},!1)),offset:e=>{const a=ta.text(e).length;return{index:e[0].offset.index,start:e[0].offset.start,length:a}},terms:e=>e.map(a=>{const i=Object.assign({},a);return i.tags=Array.from(a.tags),i}),confidence:(e,a,i)=>a.eq(i).confidence(),syllables:(e,a,i)=>a.eq(i).syllables(),sentence:(e,a,i)=>a.eq(i).fullSentence().text(),dirty:e=>e.some(a=>a.dirty===!0)};ta.sentences=ta.sentence;ta.clean=ta.normal;ta.reduced=ta.root;const bA=function(e,a){return a=a||{},typeof a=="string"&&(a={}),a=Object.assign({},yA,a),a.offset&&e.compute("offset"),e.docs.map((i,o)=>{const s={};return Object.keys(a).forEach(u=>{a[u]&&ta[u]&&(s[u]=ta[u](i,e,o))}),s})},xf={json:function(e){const a=bA(this,e);return typeof e=="number"?a[e]:a}};xf.data=xf.json;const vA=()=>typeof window<"u"&&window.document,wA=function(e){const a=this.methods.one.debug||{};return e&&a.hasOwnProperty(e)?(a[e](this),this):vA()?(a.clientSide(this),this):(a.tags(this),this)},AA=function(e){const a=e.pre||"",i=e.post||"";return a+e.text+i},xA=function(e,a){const i={};return Object.keys(a).forEach(o=>{e.match(o).fullPointer.forEach(u=>{i[u[3]]={fn:a[o],end:u[2]}})}),i},F1=function(e,a){const i=xA(e,a);let o="";return e.docs.forEach((s,u)=>{for(let h=0;hObject.prototype.toString.call(e)==="[object Object]",CA=function(e){const a={};return e.forEach(o=>{a[o]=a[o]||0,a[o]+=1}),Object.keys(a).map(o=>({normal:o,count:a[o]})).sort((o,s)=>o.count>s.count?-1:0)},jA=function(e){if(NA(e))return F1(this,e);if(e==="text")return this.text();if(e==="normal")return this.text("normal");if(e==="root")return this.text("root");if(e==="machine"||e==="reduced")return this.text("machine");if(e==="hash"||e==="md5")return Jf(this.text());if(e==="json")return this.json();if(e==="offset"||e==="offsets")return this.compute("offset"),this.json({offset:!0});if(e==="array")return this.docs.map(i=>i.reduce((o,s)=>o+s.pre+s.text+s.post,"").trim()).filter(i=>i);if(e==="freq"||e==="frequency"||e==="topk")return CA(this.json({normal:!0}).map(a=>a.normal));if(e==="terms"){let a=[];return this.docs.forEach(i=>{let o=i.map(s=>s.text);o=o.filter(s=>s),a=a.concat(o)}),a}return e==="tags"?this.docs.map(a=>a.reduce((i,o)=>(i[o.implicit||o.normal]=Array.from(o.tags),i),{})):e==="debug"?this.debug():this.text()},TA={debug:wA,out:jA,wrap:function(e){return F1(this,e)}},kA=e=>Object.prototype.toString.call(e)==="[object Object]",SA={text:function(e){let a={};if(e&&typeof e=="string"&&Ga.hasOwnProperty(e)?a=Object.assign({},Ga[e]):e&&kA(e)&&(a=Object.assign({},e)),a.keepSpace===void 0&&!this.isFull()&&(a.keepSpace=!1),a.keepEndPunct===void 0&&this.pointer){const i=this.pointer[0];i&&i[1]?a.keepEndPunct=!1:a.keepEndPunct=!0}return a.keepPunct===void 0&&(a.keepPunct=!0),a.keepSpace===void 0&&(a.keepSpace=!0),pA(this.docs,a)}},DA=Object.assign({},TA,SA,xf,hA),zA=function(e){Object.assign(e.prototype,DA)},EA=function(e){console.log("%c -=-=- ","background-color:#6699cc;"),e.forEach(a=>{console.groupCollapsed(a.text());const o=a.docs[0].map(s=>{let u=s.text||"-";s.implicit&&(u="["+s.implicit+"]");const h="["+Array.from(s.tags).join(", ")+"]";return{text:u,tags:h}});console.table(o,["text","tags"]),console.groupEnd()})},qn="\x1B[0m",Ut={green:e=>"\x1B[32m"+e+qn,red:e=>"\x1B[31m"+e+qn,blue:e=>"\x1B[34m"+e+qn,magenta:e=>"\x1B[35m"+e+qn,cyan:e=>"\x1B[36m"+e+qn,yellow:e=>"\x1B[33m"+e+qn,black:e=>"\x1B[30m"+e+qn,dim:e=>"\x1B[2m"+e+qn,i:e=>"\x1B[3m"+e+qn},OA=function(e,a){return a.one.tagSet&&(e=e.map(i=>{if(!a.one.tagSet.hasOwnProperty(i))return i;const o=a.one.tagSet[i].color||"blue";return Ut[o](i)})),e.join(", ")},PA=function(e){const{docs:a,model:i}=e;a.length===0&&console.log(Ut.blue(` ──────`)),a.forEach(o=>{console.log(Ut.blue(` ┌─────────`)),o.forEach(s=>{const u=[...s.tags||[]];let h=s.text||"-";s.sense&&(h=`{${s.normal}/${s.sense}}`),s.implicit&&(h="["+s.implicit+"]"),h=Ut.yellow(h);let m="'"+h+"'";if(s.reference){const y=e.update([s.reference]).text("normal");m+=` - ${Ut.dim(Ut.i("["+y+"]"))}`}m=m.padEnd(18);const g=Ut.blue(" │ ")+Ut.i(m)+" - "+OA(u,i);console.log(g)})}),console.log(` `)},HA=function(e){const{docs:a}=e;console.log(""),a.forEach(i=>{const o=[];i.forEach(s=>{s.chunk==="Noun"?o.push(Ut.blue(s.implicit||s.normal)):s.chunk==="Verb"?o.push(Ut.green(s.implicit||s.normal)):s.chunk==="Adjective"?o.push(Ut.yellow(s.implicit||s.normal)):s.chunk==="Pivot"?o.push(Ut.red(s.implicit||s.normal)):o.push(s.implicit||s.normal)}),console.log(o.join(" "),` `)}),console.log(` `)},GA=(e,a,i)=>{const o=i*9,s=a.start+o,u=s+a.length,h=e.substring(0,s),m=e.substring(s,u),g=e.substring(u,e.length);return[h,m,g]},MA=function(e,a,i){const o=GA(e,a,i);return`${o[0]}${Ut.blue(o[1])}${o[2]}`},BA=function(e){if(!e.found)return;const a={};e.fullPointer.forEach(i=>{a[i[0]]=a[i[0]]||[],a[i[0]].push(i)}),Object.keys(a).forEach(i=>{let s=e.update([[Number(i)]]).text();e.update(a[i]).json({offset:!0}).forEach((m,g)=>{s=MA(s,m.offset,g)}),console.log(s)}),console.log(` `)},VA={tags:PA,clientSide:EA,chunks:HA,highlight:BA},$A={api:zA,methods:{one:{hash:Jf,debug:VA}}},K1=function(e,a){if(e[0]!==a[0])return!1;const[,i,o]=e,[,s,u]=a;return i<=s&&o>s||s<=i&&u>i},UA=function(e){let a=e[0][1],i=e[0][2];return e.forEach(o=>{o[1]i&&(i=o[2])}),[e[0][0],a,i]},xl=function(e){const a={};return e.forEach(i=>{a[i[0]]=a[i[0]]||[],a[i[0]].push(i)}),a},_A=function(e){const a={};for(let i=0;iu&&(h.after=[i,u,e[2]]),h},FA=function(e,a){return e[1]<=a[1]&&a[2]<=e[2]},q1=function(e,a){const i=xl(a),o=[];return e.forEach(s=>{const[u]=s;let h=i[u]||[];if(h=h.filter(g=>FA(s,g)),h.length===0){o.push({passthrough:s});return}h=h.sort((g,y)=>g[1]-y[1]);let m=s;h.forEach((g,y)=>{const b=LA(m,g);h[y+1]?(o.push({before:b.before,match:b.match}),b.after&&(m=b.after)):o.push(b)})}),o},KA=20,qA=function(e,a,i){for(let o=0;ou.id===e);if(s!==-1)return[i-o,s]}if(a[i+o]){const s=a[i+o].findIndex(u=>u.id===e);if(s!==-1)return[i+o,s]}}return null},IA=function(e,a){const[i,o,,,s]=e,u=a[i],h=u.findIndex(m=>m.id===s);return h===-1?(e[2]=a[i].length,e[4]=u.length?u[u.length-1].id:null):e[2]=h,a[i].slice(o,e[2]+1)},JA=function(e,a){let i=[];return e.forEach((o,s)=>{if(!o)return;let[u,h,m,g,y]=o,b=a[u]||[];if(h===void 0&&(h=0),m===void 0&&(m=b.length),g&&(!b[h]||b[h].id!==g)){const A=qA(g,a,u);if(A!==null){const k=m-h;b=a[A[0]].slice(A[1],A[1]+k);const V=b[0]?b[0].id:null;e[s]=[A[0],A[1],A[1]+k,V]}}else b=b.slice(h,m);b.length!==0&&h!==m&&(y&&b[b.length-1].id!==y&&(b=IA(o,a)),i.push(b))}),i=i.filter(o=>o.length>0),i},RA=function(e){const a=[];for(let i=0;i{const[h]=u;if(o[h].length===1){s.push(u);return}const m=o[h].filter(y=>K1(u,y));m.push(u);const g=UA(m);s.push(g)}),s=_A(s),s},J1=function(e,a){const i=[];return q1(e,a).forEach(s=>{s.passthrough&&i.push(s.passthrough),s.before&&i.push(s.before),s.after&&i.push(s.after)}),i},YA=function(e,a){const i=e[1]a[2]?a[2]:e[2];return i{let u=i[s[0]]||[];u=u.filter(h=>K1(s,h)),u.length!==0&&u.forEach(h=>{const m=YA(s,h);m&&o.push(m)})}),o},ZA=function(e){return Object.prototype.toString.call(e)==="[object Array]"},Rf=(e,a)=>typeof e=="string"||ZA(e)?a.match(e):e||a.none(),xr=function(e,a){return e.map(i=>{const[o,s]=i;return a[o]&&a[o][s]&&(i[3]=a[o][s].id),i})},Cn={};Cn.union=function(e){e=Rf(e,this);let a=I1(this.fullPointer,e.fullPointer);return a=xr(a,this.document),this.toView(a)};Cn.and=Cn.union;Cn.intersection=function(e){e=Rf(e,this);let a=XA(this.fullPointer,e.fullPointer);return a=xr(a,this.document),this.toView(a)};Cn.not=function(e){e=Rf(e,this);let a=J1(this.fullPointer,e.fullPointer);return a=xr(a,this.document),this.toView(a)};Cn.difference=Cn.not;Cn.complement=function(){const e=this.all();let a=J1(e.fullPointer,this.fullPointer);return a=xr(a,this.document),this.toView(a)};Cn.settle=function(){let e=this.fullPointer;return e.forEach(a=>{e=I1(e,[a])}),e=xr(e,this.document),this.update(e)};const WA=function(e){Object.assign(e.prototype,Cn)},ex={methods:QA,api:WA},tx={buildNet:function(e){const i=this.methods().one.buildNet(e,this.world());return i.isNet=!0,i}},nx=function(e){e.prototype.sweep=function(a,i={}){const{world:o,docs:s}=this,{methods:u}=o;let h=u.one.bulkMatch(s,a,this.methods,i);i.tagger!==!1&&u.one.bulkTagger(h,s,this.world),h=h.map(g=>{const y=g.pointer,b=s[y[0]][y[1]],A=y[2]-y[1];return b.index&&(g.pointer=[b.index[0],b.index[1],y[1]+A]),g});const m=h.map(g=>g.pointer);return h=h.map(g=>(g.view=this.update([g.pointer]),delete g.regs,delete g.needs,delete g.pointer,delete g._expanded,g)),{view:this.update(m),found:h}}},Nf=function(e){return e.optional===!0||e.negative===!0?null:e.tag?"#"+e.tag:e.word?e.word:e.switch?`%${e.switch}%`:null},ax=function(e){const a=[];return e.forEach(i=>{a.push(Nf(i)),i.operator==="and"&&i.choices&&i.choices.forEach(o=>{o.forEach(s=>{a.push(Nf(s))})})}),a.filter(i=>i)},ix=function(e){const a=[];let i=0;return e.forEach(o=>{o.operator==="or"&&!o.optional&&!o.negative&&(o.fastOr&&Array.from(o.fastOr).forEach(s=>{a.push(s)}),o.choices&&o.choices.forEach(s=>{s.forEach(u=>{const h=Nf(u);h&&a.push(h)})}),i+=1)}),{wants:a,count:i}},ox=function(e,a){const i=a.methods.one.parseMatch;return e.forEach(o=>{o.regs=i(o.match,{},a),typeof o.ifNo=="string"&&(o.ifNo=[o.ifNo]),o.notIf&&(o.notIf=i(o.notIf,{},a)),o.needs=ax(o.regs);const{wants:s,count:u}=ix(o.regs);o.wants=s,o.minWant=u,o.minWords=o.regs.filter(h=>!h.optional).length}),e},rx=function(e,a){e=ox(e,a);const i={};e.forEach(s=>{s.needs.forEach(u=>{i[u]=Array.isArray(i[u])?i[u]:[],i[u].push(s)}),s.wants.forEach(u=>{i[u]=Array.isArray(i[u])?i[u]:[],i[u].push(s)})}),Object.keys(i).forEach(s=>{const u={};i[s]=i[s].filter(h=>typeof u[h.match]=="boolean"?!1:(u[h.match]=!0,!0))});const o=e.filter(s=>s.needs.length===0&&s.wants.length===0);return{hooks:i,always:o}},sx=function(e,a){return e.map((i,o)=>{let s=[];Object.keys(a).forEach(h=>{e[o].has(h)&&(s=s.concat(a[h]))});const u={};return s=s.filter(h=>typeof u[h.match]=="boolean"?!1:(u[h.match]=!0,!0)),s})},lx=function(e,a){return e.map((i,o)=>{const s=a[o];return i=i.filter(u=>u.needs.every(h=>s.has(h))),i=i.filter(u=>!(u.ifNo!==void 0&&u.ifNo.some(h=>s.has(h))===!0)),i=i.filter(u=>u.wants.length===0?!0:u.wants.filter(m=>s.has(m)).length>=u.minWant),i})},ux=function(e,a,i,o,s){const u=[];for(let h=0;h0&&(y.ptrs.forEach(b=>{b[0]=h;const A=Object.assign({},g,{pointer:b});g.unTag!==void 0&&(A.unTag=g.unTag),u.push(A)}),s.matchOne===!0))return[u[0]]}return u},cx=function(e,a){return e.map((i,o)=>{const s=a[o].length;return i=i.filter(u=>s>=u.minWords),i})},fx=function(e,a,i,o={}){const s=i.one.cacheDoc(e);let u=sx(s,a.hooks);return u=lx(u,s),a.always.length>0&&(u=u.map(m=>m.concat(a.always))),u=cx(u,e),ux(u,e,s,i,o)},hx=function(e,a,i){const o=i.one.tagSet;if(!o.hasOwnProperty(a))return!0;const s=o[a].not||[];for(let u=0;u"u"||!Fp?self.env||{}:Fp).DEBUG_TAGS&&console.log(` \x1B[32m→ ${e.length} post-tagger:\x1B[0m`),e.map(b=>{if(!b.tag&&!b.chunk&&!b.unTag)return;const A=b.reason||b.match,k=u([b.pointer],a)[0];if(!(b.safe===!0&&(hx(k,b.tag,o)===!1||k[k.length-1].post==="-"))){if(b.tag!==void 0){if(h(k,b.tag,i,b.safe,`[post] '${A}'`),b.tag==="Noun"&&g){const V=k[k.length-1];g(V.text)?h([V],"Plural",i,b.safe,"quick-plural"):h([V],"Singular",i,b.safe,"quick-singular")}b.freeze===!0&&k.forEach(V=>V.frozen=!0)}b.unTag!==void 0&&m(k,b.unTag,i,b.safe,A),b.chunk&&k.forEach(V=>V.chunk=b.chunk)}}))},mx={buildNet:rx,bulkMatch:fx,bulkTagger:dx},gx={lib:tx,api:nx,methods:{one:mx}};var Kp={};const R1=/ /,qp=function(e,a){a==="Noun"&&(e.chunk=a),a==="Verb"&&(e.chunk=a)},Q1=function(e,a,i,o){if(e.tags.has(a)===!0||a===".")return null;e.frozen===!0&&(o=!0);const s=i[a];if(s){if(s.not&&s.not.length>0)for(let u=0;u0)for(let u=0;u{let m=s[h];m&&(m=m.replace(/^#/,""),Q1(u,m,i,o))})},yx=function(e){return Object.prototype.toString.call(e)==="[object Array]"},bx=(e,a,i="")=>{const o=h=>"\x1B[33m\x1B[3m"+h+"\x1B[0m",s=h=>"\x1B[3m"+h+"\x1B[0m",u=e.map(h=>h.text||"["+h.implicit+"]").join(" ");typeof a!="string"&&a.length>2&&(a=a.slice(0,2).join(", #")+" +"),a=typeof a!="string"?a.join(", #"):a,console.log(` ${o(u).padEnd(24)} \x1B[32m→\x1B[0m #${a.padEnd(22)} ${s(i)}`)},Y1=function(e,a,i={},o,s){const u=i.model.one.tagSet||{};if(!a)return;const h=typeof process>"u"||!Kp?self.env||{}:Kp;if(h&&h.DEBUG_TAGS&&bx(e,a,s),yx(a)===!0){a.forEach(m=>Y1(e,m,i,o));return}if(typeof a!="string"){console.warn(`compromise: Invalid tag '${a}'`);return}if(a=a.trim(),R1.test(a)){px(e,a,u,o);return}a=a.replace(/^#/,"");for(let m=0;m0)for(let h=0;h/),i=[];a.forEach((s=>{i=i.concat((function(u){if(!(u=u.trim()))return null;if(/^\[/.test(u)&&/\]$/.test(u)){let h=(u=(u=u.replace(/^\[/,"")).replace(/\]$/,"")).split(/,/);return h=h.map((m=>m.trim())).filter((m=>m)),h=h.map((m=>Oa({id:m}))),h}return[Oa({id:u})]})(s))})),i=i.filter((s=>s));let o=i[0];for(let s=1;s{let i=[],o=[e];for(;o.length>0;){let s=o.pop();i.push(s),s.children&&s.children.forEach((u=>{a&&a(s,u),o.push(u)}))}return i},Qf=e=>Object.prototype.toString.call(e)==="[object Array]",Js=e=>(e=e||"").trim(),Nx=function(e=[]){return typeof e=="string"?(function(i){let o=i.split(/\r?\n/),s=[];o.forEach((h=>{if(!h.trim()||Ax.test(h))return;let m=(g=>{const y=/^( {2}|\t)/;let b=0;for(;y.test(g);)g=g.replace(y,""),b+=1;return b})(h);s.push({indent:m,node:xx(h)})}));let u=(function(h){let m={children:[]};return h.forEach(((g,y)=>{g.indent===0?m.children=m.children.concat(g.node):h[y-1]&&(function(b,A){let k=b[A].indent;for(;A>=0;A-=1)if(b[A].indent{o[u.id]=u}));let s=Oa({});return i.forEach((u=>{if((u=Oa(u)).parent)if(o.hasOwnProperty(u.parent)){let h=o[u.parent];delete u.parent,h.children.push(u)}else console.warn(`[Grad] - missing node '${u.parent}'`);else s.children.push(u)})),s})(e):(ea(a=e).forEach(Oa),a);var a},Cx=e=>"\x1B[31m"+e+"\x1B[0m",jx=e=>"\x1B[2m"+e+"\x1B[0m",Cf=function(e,a){let i="-> ";a&&(i=jx("→ "));let o="";return ea(e).forEach(((s,u)=>{let h=s.id||"";if(a&&(h=Cx(h)),u===0&&!s.id)return;let m=s._cache.parents.length;o+=" ".repeat(m)+i+h+` `})),o},Ip=function(e){let a=ea(e);a.forEach((o=>{delete(o=Object.assign({},o)).children}));let i=a[0];return i&&!i.id&&Object.keys(i.props).length===0&&a.shift(),a},Jp={text:Cf,txt:Cf,array:Ip,flat:Ip},Rp=function(e,a){return a==="nested"||a==="json"?e:a==="debug"?(console.log(Cf(e,!0)),null):Jp.hasOwnProperty(a)?Jp[a](e):e},Wc=e=>{ea(e,((a,i)=>{a.id&&(a._cache.parents=a._cache.parents||[],i._cache.parents=a._cache.parents.concat([a.id]))}))},Tx=(e,a)=>(Object.keys(a).forEach((i=>{if(a[i]instanceof Set){let o=e[i]||new Set;e[i]=new Set([...o,...a[i]])}else if((o=>o&&typeof o=="object"&&!Array.isArray(o))(a[i])){let o=e[i]||{};e[i]=Object.assign({},a[i],o)}else Qf(a[i])?e[i]=a[i].concat(e[i]||[]):e[i]===void 0&&(e[i]=a[i])})),e),kx=/\//;let Sx=class dl{constructor(a={}){Object.defineProperty(this,"json",{enumerable:!1,value:a,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(a={}){let i=this.json.props||{};return typeof a=="string"&&(i[a]=!0),this.json.props=Object.assign(i,a),this}get(a){if(a=Js(a),!kx.test(a)){let o=this.json.children.find((s=>s.id===a));return new dl(o)}let i=((o,s)=>{let u=(h=>typeof h!="string"?h:(h=h.replace(/^\//,"")).split(/\//))(s=s||"");for(let h=0;hg.id===u[h]));if(!m)return null;o=m}return o})(this.json,a)||Oa({});return new dl(i)}add(a,i={}){if(Qf(a))return a.forEach((s=>this.add(Js(s),i))),this;a=Js(a);let o=Oa({id:a,props:i});return this.json.children.push(o),new dl(o)}remove(a){return a=Js(a),this.json.children=this.json.children.filter((i=>i.id!==a)),this}nodes(){return ea(this.json).map((a=>(delete(a=Object.assign({},a)).children,a)))}cache(){return(a=>{let i=ea(a,((s,u)=>{s.id&&(s._cache.parents=s._cache.parents||[],s._cache.children=s._cache.children||[],u._cache.parents=s._cache.parents.concat([s.id]))})),o={};i.forEach((s=>{s.id&&(o[s.id]=s)})),i.forEach((s=>{s._cache.parents.forEach((u=>{o.hasOwnProperty(u)&&o[u]._cache.children.push(s.id)}))})),a._cache.children=Object.keys(o)})(this.json),this}list(){return ea(this.json)}fillDown(){var a;return a=this.json,ea(a,((i,o)=>{o.props=Tx(o.props,i.props)})),this}depth(){Wc(this.json);let a=ea(this.json),i=a.length>1?1:0;return a.forEach((o=>{if(o._cache.parents.length===0)return;let s=o._cache.parents.length+1;s>i&&(i=s)})),i}out(a){return Wc(this.json),Rp(this.json,a)}debug(){return Wc(this.json),Rp(this.json,"debug"),this}};const X1=function(e){let a=Nx(e);return new Sx(a)};X1.prototype.plugin=function(e){e(this)};const Wi={Noun:"blue",Verb:"green",Negative:"green",Date:"red",Value:"red",Adjective:"magenta",Preposition:"cyan",Conjunction:"cyan",Determiner:"cyan",Hyphenated:"cyan",Adverb:"cyan"},Dx=function(e){if(Wi.hasOwnProperty(e.id))return Wi[e.id];if(Wi.hasOwnProperty(e.is))return Wi[e.is];const a=e._cache.parents.find(i=>Wi[i]);return Wi[a]},zx=function(e){const a={};return e.forEach(i=>{const{not:o,also:s,is:u,novel:h}=i.props;let m=i._cache.parents;s&&(m=m.concat(s)),a[i.id]={is:u,not:o,novel:h,also:s,parents:m,children:i._cache.children,color:Dx(i)}}),Object.keys(a).forEach(i=>{const o=new Set(a[i].not);a[i].not.forEach(s=>{a[s]&&a[s].children.forEach(u=>o.add(u))}),a[i].not=Array.from(o)}),a},Qp=function(e){return e?typeof e=="string"?[e]:e:[]},Ex=function(e,a){return Object.keys(e).forEach(i=>{e[i].isA&&(e[i].is=e[i].isA),e[i].notA&&(e[i].not=e[i].notA),e[i].is&&typeof e[i].is=="string"&&!a.hasOwnProperty(e[i].is)&&!e.hasOwnProperty(e[i].is)&&(e[e[i].is]={}),e[i].not&&typeof e[i].not=="string"&&!e.hasOwnProperty(e[i].not)&&!a.hasOwnProperty(e[i].not)&&!e.hasOwnProperty(e[i].not)&&(e[e[i].not]={})}),e},Ox=function(e,a){return e=Ex(e,a),Object.keys(e).forEach(i=>{e[i].children=Qp(e[i].children),e[i].not=Qp(e[i].not)}),Object.keys(e).forEach(i=>{(e[i].not||[]).forEach(s=>{e[s]&&e[s].not&&e[s].not.push(i)})}),e},Px=function(e){const a=Object.keys(e).map(o=>{const s=e[o],u={not:new Set(s.not),also:s.also,is:s.is,novel:s.novel};return{id:o,parent:s.is,props:u,children:[]}});return X1(a).cache().fillDown().out("array")},Hx=function(e){return Object.keys(e).forEach(a=>{e[a]=Object.assign({},e[a]),e[a].novel=!0}),e},Gx=function(e,a){Object.keys(a).length>0&&(e=Hx(e)),e=Ox(e,a);const i=Object.assign({},a,e),o=Px(i);return zx(o)},Mx={one:{setTag:Y1,unTag:vx,addTags:Gx,canBe:wx}},Yp=function(e){return Object.prototype.toString.call(e)==="[object Array]"},Bx={tag:function(e,a="",i){if(!this.found||!e)return this;const o=this.termList();if(o.length===0)return this;const{methods:s,verbose:u,world:h}=this;return u===!0&&console.log(" + ",e,a||""),Yp(e)?e.forEach(m=>s.one.setTag(o,m,h,i,a)):s.one.setTag(o,e,h,i,a),this.uncache(),this},tagSafe:function(e,a=""){return this.tag(e,a,!0)},unTag:function(e,a){if(!this.found||!e)return this;const i=this.termList();if(i.length===0)return this;const{methods:o,verbose:s,model:u}=this;s===!0&&console.log(" - ",e,a||"");const h=u.one.tagSet;return Yp(e)?e.forEach(m=>o.one.unTag(i,m,h)):o.one.unTag(i,e,h),this.uncache(),this},canBe:function(e){e=e.replace(/^#/,"");const a=this.model.one.tagSet,i=this.methods.one.canBe,o=[];this.document.forEach((u,h)=>{u.forEach((m,g)=>{i(m,e,a)||o.push([h,g,g+1])})});const s=this.update(o);return this.difference(s)}},Vx=function(e){Object.assign(e.prototype,Bx)},$x=function(e){const{model:a,methods:i}=this.world(),o=a.one.tagSet,s=i.one.addTags,u=s(e,o);return a.one.tagSet=u,this},Ux={addTags:$x},Xp=new Set(["Auxiliary","Possessive"]),_x=function(e,a){return e=e.sort((i,o)=>{if(Xp.has(i)||!a.hasOwnProperty(o))return 1;if(Xp.has(o)||!a.hasOwnProperty(i))return-1;let s=a[i].children||[];const u=s.length;s=a[o].children||[];const h=s.length;return u-h}),e},Lx=function(e){const{document:a,world:i}=e,o=i.model.one.tagSet;a.forEach(s=>{s.forEach(u=>{const h=Array.from(u.tags);u.tagRank=_x(h,o)})})},Fx={model:{one:{tagSet:{}}},compute:{tagRank:Lx},methods:Mx,api:Vx,lib:Ux},Kx=/([.!?\u203D\u2E18\u203C\u2047-\u2049\u3002]+\s)/g,qx=/^[.!?\u203D\u2E18\u203C\u2047-\u2049\u3002]+\s$/,Ix=/((?:\r?\n|\r)+)/,Jx=function(e){const a=[],i=e.split(Ix);for(let o=0;o0&&(s.push(h),e[u]="")}return s},Zp=280,Z1={'"':'"',""":""","“":"”","‟":"”","„":"”","⹂":"”","‚":"’","«":"»","‹":"›","‵":"′","‶":"″","‷":"‴","〝":"〞","〟":"〞"},Wx=RegExp("["+Object.keys(Z1).join("")+"]","g"),e5=RegExp("["+Object.values(Z1).join("")+"]","g"),Wp=function(e){if(!e)return!1;const a=e.match(e5);return a!==null&&a.length===1},t5=function(e){const a=[];for(let i=0;i(e[a]=!0,e),{});const g5=function(e){return Object.prototype.toString.call(e)==="[object Array]"},p5=function(e,a){let i=[],o=[];if(e=e||"",typeof e=="number"&&(e=String(e)),g5(e))return e;const s=e.split(m5);for(let h=0;h0?(i[i.length-1]+=u,i.push(m)):i.push(u+m),u=""):u+=m}return u&&(i.length===0&&(i[0]=""),i[i.length-1]+=u),i=f5(i),i=u5(i),i=i.filter(h=>h),i},n0=new RegExp("\\p{Letter}","u"),Rs=/[\p{Number}\p{Currency_Symbol}]/u,y5=/^[a-z]\.([a-z]\.)+/i,b5=/[sn]['’]$/,v5=function(e,a){const{prePunctuation:i,postPunctuation:o,emoticons:s}=a.one;let u=e,h="",m="";const g=Array.from(e);if(s.hasOwnProperty(e.trim()))return{str:e.trim(),pre:h,post:" "};let y=g.length;for(let b=0;b(m=b||"","")),e=u,h=""),{str:e,pre:h,post:m}},w5=(e,a)=>{const{str:i,pre:o,post:s}=v5(e,a);return{text:i,pre:o,post:s,tags:new Set}},A5=function(e,a){const i=a.model.one.unicode||{};e=e||"";const o=e.split("");return o.forEach((s,u)=>{i[s]&&(o[u]=i[s])}),o.join("")},x5=function(e){e=e||"",e=e.toLowerCase(),e=e.trim();const a=e;return e=e.replace(/[,;.!?]+$/,""),e=e.replace(/\u2026/g,"..."),e=e.replace(/\u2013/g,"-"),/^[:;]/.test(e)===!1&&(e=e.replace(/\.{3,}$/g,""),e=e.replace(/[",.!:;?)]+$/g,""),e=e.replace(/^['"(]+/g,"")),e=e.replace(/[\u200B-\u200D\uFEFF]/g,""),e=e.trim(),e===""&&(e=a),e=e.replace(/([0-9]),([0-9])/g,"$1$2"),e},N5=/([A-Z]\.)+[A-Z]?,?$/,C5=/^[A-Z]\.,?$/,j5=/[A-Z]{2,}('s|,)?$/,T5=/([a-z]\.)+[a-z]\.?$/,k5=function(e){return N5.test(e)===!0||T5.test(e)===!0||C5.test(e)===!0||j5.test(e)===!0},S5=function(e){return k5(e)&&(e=e.replace(/\./g,"")),e},W1=function(e,a){const i=a.methods.one.killUnicode;let o=e.text||"";o=x5(o),o=i(o,a),o=S5(o),e.normal=o},D5=function(e,a){const{methods:i,model:o}=a,{splitSentences:s,splitTerms:u,splitWhitespace:h}=i.one.tokenize;return e=e||"",e=s(e,a).map(g=>{let y=u(g,o);return y=y.map(b=>h(b,o)),y.forEach(b=>{W1(b,a)}),y}),e},z5=/[ .][A-Z]\.? *$/i,E5=/(?:\u2026|\.{2,}) *$/,O5=new RegExp("\\p{L}","u"),P5=/\. *$/,H5=/^[A-Z]\. $/,G5=function(e,a){if(O5.test(e)===!1||z5.test(e)===!0||e.length===3&&H5.test(e)||E5.test(e)===!0)return!1;const o=e.replace(/[.!?\u203D\u2E18\u203C\u2047-\u2049] *$/,"").split(" "),s=o[o.length-1].toLowerCase();return!(a.hasOwnProperty(s)===!0&&P5.test(e)===!0)},M5={one:{killUnicode:A5,tokenize:{splitSentences:r5,isSentence:G5,splitTerms:p5,splitWhitespace:w5,fromString:D5}}},B5={"&":"and","@":"at","%":"percent",plz:"please",bein:"being"},V5=["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"],$5=["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"],U5=["jan","feb","mar","apr","jun","jul","aug","sep","sept","oct","nov","dec"],_5=["ad","al","arc","ba","bl","ca","cca","col","corp","ft","fy","ie","lit","ma","md","pd","tce"],L5=["dept","univ","assn","bros","inc","ltd","co"],F5=["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"],K5=["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"],q5=[[V5],[K5,"Unit"],[_5,"Noun"],[$5,"Honorific"],[U5,"Month"],[L5,"Organization"],[F5,"Place"]],ey={},ml={};q5.forEach(e=>{e[0].forEach(a=>{ey[a]=!0,ml[a]="Abbreviation",e[1]!==void 0&&(ml[a]=[ml[a],e[1]])})});const I5=["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,a)=>(e[a]=!0,e),{}),J5={like:!0,ish:!0,less:!0,able:!0,elect:!0,type:!0,designate:!0},a0={"!":"¡","?":"¿Ɂ",'"':'“”"❝❞',"'":"‘‛❛❜’","-":"—–",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:"ŹźŻżŽžƵƶȤȥɀΖ"},ty={};Object.keys(a0).forEach(function(e){a0[e].split("").forEach(function(a){ty[a]=e})});const R5={"#":!0,"@":!0,_:!0,"°":!0,"​":!0,"‌":!0,"‍":!0,"\uFEFF":!0},Q5={"%":!0,_:!0,"°":!0,"​":!0,"‌":!0,"‍":!0,"\uFEFF":!0},Y5={"<3":!0,"{u=u.trim(),u!==""&&(e.alias=e.alias||[],e.alias.push(u))})}return e},tN=new RegExp("^\\p{Letter}+-\\p{Letter}+$","u"),nN=function(e){let a=e.implicit||e.normal||e.text;a=a.replace(/['’]s$/,""),a=a.replace(/s['’]$/,"s"),a=a.replace(/([aeiou][ktrp])in'$/,"$1ing"),tN.test(a)&&(a=a.replace(/-/g,"")),a=a.replace(/^[#@]/,""),a!==e.normal&&(e.machine=a)},aN=function(e){const a=e.docs,i={};for(let o=0;oef(e,eN),machine:e=>ef(e,nN),normal:e=>ef(e,W1),freq:aN,offset:iN,index:oN,wordCount:rN},lN={compute:sN,methods:M5,model:X5,hooks:["alias","machine","index","id"]},uN=function(e){const a=e.model.one.typeahead,i=e.docs;if(i.length===0||Object.keys(a).length===0)return;const o=i[i.length-1]||[],s=o[o.length-1];if(!s.post&&a.hasOwnProperty(s.normal)){const u=a[s.normal];s.implicit=u,s.machine=u,s.typeahead=!0,e.compute.preTagger&&e.last().unTag("*").compute(["lexicon","preTagger"])}},cN={typeahead:uN},fN=function(){const e=this.docs;if(e.length===0)return this;const a=e[e.length-1]||[],i=a[a.length-1];return i.typeahead===!0&&i.machine&&(i.text=i.machine,i.normal=i.machine),this},hN=function(e){e.prototype.autoFill=fN},dN=function(e,a,i){let o={};const s=[],u=i.prefixes||{};return e.forEach(h=>{h=h.toLowerCase().trim();let m=h.length;a.max&&m>a.max&&(m=a.max);for(let g=a.min;g{delete o[h]}),o},mN=e=>Object.prototype.toString.call(e)==="[object Object]",gN={safe:!0,min:3},pN=function(e=[],a={}){const i=this.model();a=Object.assign({},gN,a),mN(e)&&(Object.assign(i.one.lexicon,e),e=Object.keys(e));const o=dN(e,a,this.world());return Object.keys(o).forEach(s=>{if(i.one.typeahead.hasOwnProperty(s)){delete i.one.typeahead[s];return}i.one.typeahead[s]=o[s]}),this},yN={typeahead:pN},bN={one:{typeahead:{}}},vN={model:bN,api:hN,lib:yN,compute:cN,hooks:["typeahead"]};K.extend(s4);K.extend($A);K.extend(oA);K.extend(ex);K.extend(Fx);K.plugin(P4);K.extend(lN);K.extend(M4);K.plugin(A3);K.extend(tw);K.extend(vN);K.extend(J4);K.extend(gx);const ny={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"},o0={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:09;a06b01cZdXeat0fSgQhPoJprov0rHs7t6u4w1;ak0ithdra02o2r1;i02uY;k0v0;nd1pr04;ergoJoJ;ak0hHo3;e9h7lain,o6p5t4un3w1;o1um;rn;g,k;ol0reS;iQok0;ught,wn;ak0o1runk;ne,wn;en,wn;ewriNi1uJ;dd0s0;ut3ver1;do4se0t1;ak0h2;do2g1;roG;ne;ast0i7;iv0o1;ne,tt0;all0loBor1;bi3g2s1;ak0e0;iv0o9;dd0;ove,r1;a5eamt,iv0;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:4Q;a3Tb3Bc2Od2He2Df27g1Zh1Ti1Pj1Nk1Ll1Gm12n0Po0Mp0Cqu0Br02sTtHuCv9w3xiaomi,y1;amaha,m1Bou1w1B;gov,tu3C;a4e2iki1orld trade organizati33;leaRped0O;lls fargo,st1;fie2Hinghou2R;l1rner br3U;gree3Jl street journ2Im1E;an halOeriz2Xisa,o1;dafo2Yl1;kswagMvo;b4kip,n2ps,s1;a tod3Aps;es3Mi1;lev3Fted natio3C;er,s; mobi32aco beRd bOe9gi frida3Lh3im horto3Amz,o1witt3D;shi49y1;ota,s r 05;e 1in lizzy;b3carpen3Jdaily ma3Dguess w2holli0s1w2;mashing pumpki35uprem0;ho;ea1lack eyed pe3Xyr0Q;ch bo3Dtl0;l2n3Qs1xas instrumen1U;co,la m1F;efoni0Kus;a8cientology,e5ieme2Ymirnoff,np,o3pice gir6quare0Ata1ubaru;rbuc1to34;ks;ny,undgard1;en;a2x pisto1;ls;g1Wrs;few2Minsbur31lesfor03msu2E;adiohead,b8e4o1yana3C;man empi1Xyal 1;b1dutch she4;ank;a3d 1max,vl20;bu1c2Ahot chili peppe2Ylobst2N;ll;ders dige1Ll madrid;c,s;ant3Aizn2Q;a8bs,e5fiz2Ihilip4i3r1;emier 1udenti1D;leagTo2K;nk floyd,zza hut; morrBs;psi2tro1uge0E;br33chi0Tn33;!co;lant2Un1yp16; 2ason27da2P;ld navy,pec,range juli2xf1;am;us;aAb9e6fl,h5i4o1sa,vid3wa;k2tre dame,vart1;is;ia;ke,ntendo,ss0QvZ;l,s;c,st1Otflix,w1; 1sweek;kids on the block,york0D;a,c;nd22s2t1;ional aca2Po,we0U;a,c02d0S;aDcdonalCe9i6lb,o3tv,y1;spa1;ce;b1Tnsanto,ody blu0t1;ley cr1or0T;ue;c2t1;as,subisO;helin,rosoft;dica2rcedes benz,talli1;ca;id,re;ds;cs milk,tt19z24;a3e1g,ittle caesa1P; ore09novo,x1;is,mark,us; 1bour party;pres0Dz boy;atv,fc,kk,lm,m1od1O;art;iffy lu0Roy divisi0Jpmorgan1sa;! cha09;bm,hop,k3n1tv;g,te1;l,rpol;ea;a5ewlett pack1Vi3o1sbc,yundai;me dep1n1P;ot;tac1zbollah;hi;lliburt08sbro;eneral 6hq,ithub,l5mb,o2reen d0Ou1;cci,ns n ros0;ldman sachs,o1;dye1g0H;ar;axo smith kli04encoW;electr0Nm1;oto0Z;a5bi,c barcelo4da,edex,i2leetwood m03o1rito l0G;rd,xcY;at,fa,nancial1restoZ; tim0;na;cebook,nnie mae;b0Asa,u3xxon1; m1m1;ob0J;!rosceptics;aiml0De5isney,o4u1;nkin donu2po0Zran dur1;an;ts;j,w jon0;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:9W;1:AA;2:96;3:A3;4:9R;5:A2;6:9K;7:8N;8:7L;9:A8;A:93;B:8D;C:8X;a9Ob8Qc7Id6Re6Gf5Sg5Hh55i4Xj4Uk4Rl4Em40n3Vo3Sp2Squ2Rr21s0Jt02u00vVwGyFzD;ip,oD;ne,om;awn,e6Fie68;aOeMhJiHoErD;ap,e9Oink2;nd0rDuC;kDry,sh5Hth;!shop;ck,nDpe,re,sh;!d,g;e86iD;p,sD;k,p0t2;aDed,lco8W;r,th0;it,lk,rEsDt4ve,x;h,te;!ehou1ra9;aGen5FiFoD;iDmAte,w;ce,d;be,ew,sA;cuum,l4B;pDr7;da5gra6Elo6A;aReQhrPiOoMrGuEwiDy5Z;n,st;nDrn;e,n7O;aGeFiEoDu6;t,ub2;bu5ck4Jgg0m,p;at,k,nd;ck,de,in,nsDp,v7J;f0i8R;ll,ne,p,r4Yss,t94uD;ch,r;ck,de,e,le,me,p,re;e5Wow,u6;ar,e,ll,mp0st,xt;g,lDng2rg7Ps5x;k,ly;a0Sc0Ne0Kh0Fi0Dk0Cl0Am08n06o05pXquaBtKuFwD;ea88iD;ng,pe,t4;bGit,m,ppErD;fa3ge,pri1v2U;lDo6S;e6Py;!je8;aMeLiKoHrEuDy2;dy,ff,mb2;a85eEiDo5Pugg2;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,e56inDu3;g,k2;ns8Bt;a5Qit;ll,n,r87te;ed,ll;m,n,rk;b,uC;aDee1Tow;ke,p;a5Je4FiDo53;le,rk;eep,iDou4;ce,p,t;ateboa7Ii;de,gnDl2Vnk,p,ze;!al;aGeFiEoDuff2;ck,p,re,w;ft,p,v0;d,i3Ylt0;ck,de,pe,re,ve;aEed,nDrv1It;se,t2N;l,r4t;aGhedu2oBrD;aEeDibb2o3Z;en,w;pe,t4;le,n,r2M;cDfegua72il,mp2;k,rifi3;aZeHhy6LiGoEuD;b,in,le,n,s5X;a6ck,ll,oDpe,u5;f,t;de,ng,ot,p,s1W;aTcSdo,el,fQgPje8lOmMnLo17pJque6sFturn,vDwa6V;eDi27;al,r1;er74oFpe8tEuD;lt,me;!a55;l71rt;air,eaDly,o53;l,t;dezvo2Zt;aDedy;ke,rk;ea1i4G;a6Iist0r5N;act6Yer1Vo71uD;nd,se;a38o6F;ch,s6G;c1Dge,iEke,lly,nDp1Wt1W;ge,k,t;n,se;es6Biv0;a04e00hYiXlToNrEsy4uD;mp,n4rcha1sh;aKeIiHoDu4O;be,ceFdu3fi2grDje8mi1p,te6;amDe6W;!me;ed,ss;ce,de,nt;sDy;er6Cs;cti3i1;iHlFoEp,re,sDuCw0;e,i5Yt;l,p;iDl;ce,sh;nt,s5V;aEce,e32uD;g,mp,n7;ce,nDy;!t;ck,le,n17pe,tNvot;a1oD;ne,tograph;ak,eFnErDt;fu55mA;!c32;!l,r;ckJiInHrFsEtDu1y;ch,e9;s,te;k,tD;!y;!ic;nt,r,se;!a7;bje8ff0il,oErDutli3Qver4B;bAd0ie9;ze;a4ReFoDur1;d,tD;e,i3;ed,gle8tD;!work;aMeKiIoEuD;rd0;ck,d3Rld,nEp,uDve;nt,th;it5EkD;ey;lk,n4Brr5CsDx;s,ta2B;asuBn4UrDss;ge,it;il,nFp,rk3WsEtD;ch,t0;h,k,t0;da5n0oeuvB;aLeJiHoEuD;mp,st;aEbby,ck,g,oDve;k,t;d,n;cDe,ft,mAnIst;en1k;aDc0Pe4vK;ch,d,k,p,se;bFcEnd,p,t4uD;gh,n4;e,k;el,o2U;eEiDno4E;ck,d,ll,ss;el,y;aEo1OuD;i3mp;m,zz;mpJnEr46ssD;ue;c1Rdex,fluGha2k,se2HteDvoi3;nt,rD;e6fa3viD;ew;en3;a8le2A;aJeHiGoEuD;g,nt;l3Ano2Dok,pDr1u1;!e;ghli1Fke,nt,re,t;aDd7lp;d,t;ck,mGndFrEsh,tDu9;ch,e;bo3Xm,ne4Eve6;!le;!m0;aMear,ift,lKossJrFuD;arDe4Alp,n;antee,d;aFiEoDumb2;uCwth;ll,nd,p;de,sp;ip;aBoDue;ss,w;g,in,me,ng,s,te,ze;aZeWiRlNoJrFuD;ck,el,nDss,zz;c38d;aEoDy;st,wn;cDgme,me,nchi1;tuB;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,uB;ld;aEeDn3;d,l;r,tuB;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,bKcJfeIlGmaCposAsEtaD;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;leDouCromi1;me9;aCe9it,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;!tuB;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;aFeCiDoYur;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:16;a1Db17c0Ud0Re0Mf0Dg0Ah08i06ju05l02mWnUoSpNrIsBt7u4v1watershed;a1ision0Z;gabo4nilla,ria1;b0Vnt;ndergr1pstairs;adua14ou1;nd;a3e1oken,ri0;en,r1;min0rori13;boo,n;age,e5ilv0Flack,o3quat,ta2u1well;bordina0Xper5;b0Lndard;ciali0Yl1vereign;e,ve16;cret,n1ri0;ior;a4e2ou1ubbiL;nd,tiY;ar,bBl0Wnt0p1side11;resent0Vublican;ci0Qsh;a4eriodic0last0Zotenti0r1;emi2incip0o1;!fession0;er,um;rall4st,tie0U;ff1pposi0Hv0;ens0Oi0C;agg01ov1uts;el;a5e3iniatJo1;bi01der07r1;al,t0;di1tr0N;an,um;le,riG;attOi2u1;sh;ber0ght,qC;stice,veniT;de0mpressioYn1;cumbe0Edividu0no0Dsta0Eterim;alf,o1umdrum;bby,melF;en2old,ra1;ph0Bve;er0ious;a7e5i4l3u1;git03t1;ure;uid;ne;llow,m1;aFiL;ir,t,vo1;riOuriO;l3p00x1;c1ecutUpeV;ess;d1iK;er;ar2e1;mographUrivO;k,l2;hiGlassSo2rude,unn1;ing;m5n1operK;creCstitueOte2vertab1;le;mpor1nt;ary;ic,m2p1;anion,lex;er2u1;ni8;ci0;al;e5lank,o4r1;i2u1;te;ef;ttom,urgeois;st;cadem9d6l2ntarct9r1;ab,ct8;e3tern1;at1;ive;rt;oles1ult;ce1;nt;ic","Adj|Past":"true¦0:4Q;1:4C;2:4H;3:4E;a44b3Tc36d2Je29f20g1Wh1Si1Jj1Gkno1Fl1Am15n12o0Xp0Mqu0Kr08sLtEuAv9w4yellow0;a7ea6o4rinkl0;r4u3Y;n,ri0;k31th3;rp0sh0tZ;ari0e1O;n5p4s0;d1li1Rset;cov3derstood,i4;fi0t0;a8e3Rhr7i6ouTr4urn0wi4C;a4imm0ou2G;ck0in0pp0;ed,r0;eat2Qi37;m0nn0r4;get0ni2T;aOcKeIhGimFm0Hoak0pDt7u4;bsid3Ogge44s4;pe4ta2Y;ct0nd0;a8e7i2Eok0r5u4;ff0mp0nn0;ength2Hip4;ed,p0;am0reotyp0;in0t0;eci4ik0oH;al3Efi0;pRul1;a4ock0ut;d0r0;a4c1Jle2t31;l0s3Ut0;a6or5r4;at4e25;ch0;r0tt3;t4ut0;is2Mur1;aEe5o4;tt0;cAdJf2Bg9je2l8m0Knew0p7qu6s4;eTpe2t4;or0ri2;e3Dir0;e1lac0;at0e2Q;i0Rul1;eiv0o4ycl0;mme2Lrd0v3;in0lli0ti2A;a4ot0;li28;aCer30iBlAo9r5u4;mp0zzl0;e6i2Oo4;ce2Fd4lo1Anou30pos0te2v0;uc0;fe1CocCp0Iss0;i2Kli1L;ann0e2CuS;ck0erc0ss0;ck0i2Hr4st0;allLk0;bse7c6pp13rgan2Dver4;lo4whelm0;ok0;cupi0;rv0;aJe5o4;t0uri1A;ed0gle2;a6e5ix0o4ut0ys1N;di1Nt15u26;as0Clt0;n4rk0;ag0ufact0A;e6i5o4;ad0ck0st,v0;cens0m04st0;ft,v4;el0;tt0wn;a5o15u4;dg0s1B;gg0;llumSmpAn4sol1;br0cre1Ldebt0f8jZspir0t5v4;it0olv0;e4ox0Y;gr1n4re23;d0si15;e2l1o1Wuri1;li0o01r4;ov0;a6e1o4um03;ok0r4;ri0Z;mm3rm0;i6r5u4;a1Bid0;a0Ui0Rown;ft0;aAe9i8l6oc0Ir4;a4i0oz0Y;ctHg19m0;avo0Ju4;st3;ni08tt0x0;ar0;d0il0sc4;in1;dCl1mBn9quipp0s8x4;agger1c6p4te0T;a0Se4os0;ct0rie1D;it0;cap0tabliZ;cha0XgFha1As4;ur0;a0Zbarra0N;i0Buc1;aMeDi5r4;a01i0;gni08miniSre2s4;a9c6grun0Ft4;o4re0Hu17;rt0;iplWou4;nt0r4;ag0;bl0;cBdRf9l8p7ra6t5v4;elop0ot0;ail0ermQ;ng0;re07;ay0ight0;e4in0o0M;rr0;ay0enTor1;m5t0z4;ed,zl0;ag0p4;en0;aPeLhIlHo9r6u4;lt4r0stom03;iv1;a5owd0u4;sh0;ck0mp0;d0loAm7n4ok0v3;centr1f5s4troC;id3olid1;us0;b5pl4;ic1;in0;r0ur0;assi9os0utt3;ar5i4;ll0;g0m0;lebr1n6r4;ti4;fi0;tralJ;g0lcul1;aDewild3iCl9o7r5urn4;ed,t;ok4uis0;en;il0r0t4und;tl0;e5i4;nd0;ss0;as0;ffl0k0laMs0tt3;bPcNdKfIg0lFmaz0nDppBrm0ss9u5wa4;rd0;g5thor4;iz0;me4;nt0;o6u4;m0r0;li0re4;ci1;im1ticip1;at0;a5leg0t3;er0;rm0;fe2;ct0;ju5o7va4;nc0;st0;ce4knowledg0;pt0;and5so4;rb0;on0;ed",Singular:"true¦0:5J;1:5H;2:4W;3:4S;4:52;5:57;6:5L;7:56;8:5B;a52b4Lc3Nd35e2Xf2Og2Jh28in24j23k22l1Um1Ln1Ho1Bp0Rqu0Qr0FsZtMuHvCw9x r58yo yo;a9ha3Po3Q;f3i4Rt0Gy9;! arou39;arCeAideo ga2Qo9;cabu4Jl5C;gOr9t;di4Zt1Y;iety,ni4P;nBp30rAs 9;do43s5E;bani1in0;coordinat3Ader9;estima1to24we41; rex,aKeJhHiFoErBuAv9;! show;m2On2rntLto1D;agedy,ib9o4E;e,u9;n0ta46;ni1p2rq3L;c,er,m9;etF;ing9ree26;!y;am,mp3F;ct2le6x return;aNcMeKhor4QiJkHoGpin off,tDuBy9;ll9ner7st4T;ab2X;b9i1n28per bowl,rro1X;st3Ltot0;atAipe2Go1Lrate7udent9;! lo0I;i39u1;ft ser4Lmeo1I;elet5i9;ll,r3V;b38gn2Tte;ab2Jc9min3B;t,urity gua2N;e6ho2Y;bbatic0la3Jndwi0Qpi5;av5eDhetor2iAo9;de6om,w;tAv9;erb2C;e,u0;bDcBf9publ2r10spi1;er9orm3;e6r0;i9ord label;p2Ht0;a1u46;estion mark,ot2F;aPeMhoLiIlGoErAu9yram1F;ddi3HpErpo1Js3J;eBo9;bl3Zs9;pe3Jta1;dic1Rmi1Fp1Qroga8ss relea1F;p9rt0;py;a9ebisci1;q2Dte;cn2eAg9;!gy;!r;ne call,tocoK;anut,dAr9t0yo1;cen3Jsp3K;al,est0;nop4rAt9;e,hog5;adi11i2V;atme0bj3FcBpia1rde0thers,utspok5ve9wn3;n,r9;ti0Pview;cuAe9;an;pi3;arBitAot9umb3;a2Fhi2R;e,ra1;cot2ra8;aFeCiAo9ur0;nopo4p18rni2Nsq1Rti36uld;c,li11n0As9tt5;chief,si34;dAnu,t9;al,i3;al,ic;gna1mm0nd15rsupi0te9yf4;ri0;aDegCiBu9;ddi1n9;ch;me,p09; Be0M;bor14y9; 9er;up;eyno1itt5;el4ourn0;cBdices,itia8ni25sAtel0Lvert9;eb1J;e28titu1;en8i2T;aIeEighDoAu9;man right,s22;me9rmoFsp1Ftb0K;! r9;un; scho0YriY;a9i1N;d9v5; start,pho9;ne;ndful,sh brown,v5ze;aBelat0Ilaci3r9ul4yp1S;an9enadi3id;a1Cd slam,ny;df4r9;l2ni1I;aGeti1HiFlu1oCrAun9;er0;ee market,i9onti3;ga1;l4ur9;so9;me;ePref4;br2mi4;conoFffi7gg,lecto0Rmbas1EnCpidem2s1Zth2venBxAyel9;id;ampZempl0Nte6;i19t;er7terp9;ri9;se;my;eLiEoBr9ump tru0U;agonf4i9;er,ve thru;cAg7i4or,ssi3wn9;side;to0EumenE;aEgniDnn3sAvide9;nd;conte6incen8p9tri11;osi9;ti0C;ta0H;le0X;athBcAf9ni0terre6;ault 05err0;al,im0;!b9;ed;aWeThMiLlJoDr9;edit caBuc9;ib9;le;rd;efficDke,lCmmuniqLnsApi3rr0t0Xus9yo1;in;erv9uI;ato02;ic,lQ;ie6;er7i9oth;e6n2;ty,vil wM;aDeqCick5ocoBr9;istmas car9ysanthemum;ol;la1;ue;ndeli3racteri9;st2;iAllEr9;e0tifica1;liZ;hi3nFpErCt9ucus;erpi9hedr0;ll9;ar;!bohyd9ri3;ra1;it0;aAe,nib0t9;on;l,ry;aMeLiop2leJoHrDu9;nny,r9tterf4;g9i0;la9;ry;eakAi9;ck;fa9throB;st;dy,ro9wl;ugh;mi9;sh;an,l4;nkiArri3;er;ng;cSdMlInFppeti1rDsBtt2utop9;sy;ic;ce6pe9;ct;r9sen0;ay;ecAoma4tiA;ly;do1;i5l9;er7y;gy;en; hominDjAvan9;tage;ec8;ti9;ve;em;cCeAqui9;tt0;ta1;te;iAru0;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;aDha4HrCt;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:2E;1:2L;2:33;a2Ub2Lc29d22e1Rf1Ng1Eh16i11j0Yk0Wl0Rm0Hn0Do0Cp03rZsLt9uran2Jv7w3you gu0E;a5his17i4oo3;d,l;ldlife,ne;rm8t1;apor,ernacul29i3;neg28ol1Otae;eDhBiAo8r4un3yranny;a,gst1B;aff2Oea1Ko4ue nor3;th;o08u3;bleshoot2Ose1Tt;night,othpas1Vwn3;foEsfoE;me off,n;er3und1;e,mod2S;a,nnis;aDcCeBhAi9ki8o7p6t4u3weepstak0;g1Unshi2Hshi;ati08e3;am,el;ace2Keci0;ap,cc1meth2C;n,ttl0;lk;eep,ingl0or1C;lf,na1Gri0;ene1Kisso1C;d0Wfe2l4nd,t3;i0Iurn;m1Ut;abi0e4ic3;e,ke15;c3i01laxa11search;ogni10rea10;a9e8hys7luto,o5re3ut2;amble,mis0s3ten20;en1Zs0L;l3rk;i28l0EyH; 16i28;a24tr0F;nt3ti0M;i0s;bstetri24vercrowd1Qxyg09;a5e4owada3utella;ys;ptu1Ows;il poliZtional securi2;aAe8o5u3;m3s1H;ps;n3o1K;ey,o3;gamy;a3cha0Elancholy,rchandi1Htallurgy;sl0t;chine3g1Aj1Hrs,thema1Q; learn1Cry;aught1e6i5ogi4u3;ck,g12;c,s1M;ce,ghtn18nguis1LteratWv1;ath1isVss;ara0EindergartPn3;icke0Aowled0Y;e3upit1;a3llyfiGwel0G;ns;ce,gnor6mp5n3;forma00ter3;net,sta07;atiSort3rov;an18;a7e6isto09o3ung1;ckey,mework,ne4o3rseradi8spitali2use arrest;ky;s2y;adquarteXre;ir,libut,ppiHs3;hi3te;sh;ene8l6o5r3um,ymnas11;a3eZ;niUss;lf,re;ut3yce0F;en; 3ti0W;edit0Hpo3;ol;aNicFlour,o4urnit3;ure;od,rgive3uri1wl;ness;arCcono0LducaBlectr9n7quip8thi0Pvery6x3;ist4per3;ti0B;en0J;body,o08th07;joy3tertain3;ment;ici2o3;ni0H;tiS;nings,th;emi02i6o4raugh3ynas2;ts;pe,wnstai3;rs;abet0ce,s3;honZrepu3;te;aDelciChAivi07l8o3urrency;al,ld w6mmenta5n3ral,ttIuscoB;fusiHt 3;ed;ry;ar;assi01oth0;es;aos,e3;eMwK;us;d,rO;a8i6lood,owlHread5u3;ntGtt1;er;!th;lliarJs3;on;g3ss;ga3;ge;cKdviJeroGirFmBn6ppeal court,r4spi3thleL;rin;ithmet3sen3;ic;i6y3;o4th3;ing;ne;se;en5n3;es2;ty;ds;craft;bi8d3nau7;yna3;mi6;ce;id,ous3;ti3;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;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;aA2b9Ec8Fd7We79f6Ng6Eh61i4Xj4Wk4Tl4Im41n3Po36p2Oquart7Pr2Ds1Dt14uSvOwFye29;aMeKhIiHoF;man5oFrth7G;dADzy;despreB1n w97s86;acked1UoleF;!sa6;ather1PeFll o70ste1D;!k5;nt1Ist6Ate4;aHeGiFola5T;bBUce versa,gi3Lle;ng67rsa5R;ca1gBSluAV;lt0PnLpHrGsFttermoBL;ef9Ku3;b96ge1; Hb32pGsFtiAH;ca6ide d4R;er,i85;f52to da2;a0Fbeco0Hc0Bd04e02f01gu1XheaBGiXkn4OmUnTopp06pRrNsJtHus0wF;aFiel3K;nt0rra0P;app0eXoF;ld,uS;eHi37o5ApGuF;perv06spec39;e1ok9O;en,ttl0;eFu5;cogn06gul2RlGqu84sF;erv0olv0;at0en33;aFrecede0E;id,rallel0;am0otic0;aFet;rri0tF;ch0;nFq26vers3;sur0terFv7U;eFrupt0;st0;air,inish0orese98;mploy0n7Ov97xpF;ect0lain0;eHisFocume01ue;clFput0;os0;cid0rF;!a8Scov9ha8Jlyi8nea8Gprivileg0sMwF;aFei9I;t9y;hGircumcFonvin2U;is0;aFeck0;lleng0rt0;b20ppea85ssuGttend0uthorF;iz0;mi8;i4Ara;aLeIhoHip 25oGrF;anspare1encha1i2;geth9leADp notch,rpB;rny,ugh6H;ena8DmpGrFs6U;r49tia4;eCo8P;leFst4M;nt0;a0Dc09e07h06i04ki03l01mug,nobbi4XoVpRqueami4XtKuFymb94;bHccinAi generis,pFr5;erFre7N;! dup9b,vi70;du0li7Lp6IsFurb7J;eq9Atanda9X;aKeJi16o2QrGubboFy4Q;rn;aightFin5GungS; fFfF;or7V;adfa9Pri6;lwa6Ftu82;arHeGir6NlendBot Fry;on;c3Qe1S;k5se; call0lImb9phistic16rHuFviV;ndFth1B;proof;dBry;dFub6; o2A;e60ipF;pe4shod;ll0n d7R;g2HnF;ceEg6ist9;am3Se9;co1Zem5lfFn6Are7; suf4Xi43;aGholFient3A;ar5;rlFt4A;et;cr0me,tisfac7F;aOeIheumatoBiGoF;bu8Ztt7Gy3;ghtFv3; 1Sf6X;cJdu8PlInown0pro69sGtF;ard0;is47oF;lu2na1;e1Suc45;alcit8Xe1ondi2;bBci3mpa1;aSePicayu7laOoNrGuF;bl7Tnjabi;eKiIoF;b7VfGmi49pFxi2M;er,ort81;a7uD;maFor,sti7va2;!ry;ciDexis0Ima2CpaB;in55puli8G;cBid;ac2Ynt 3IrFti2;ma40tFv7W;!i3Z;i2YrFss7R;anoBtF; 5XiF;al,s5V;bSffQkPld OnMrLth9utKverF;!aIbMdHhGni75seas,t,wF;ei74rou74;a63e7A;ue;ll;do1Ger,si6A;d3Qg2Aotu5Z; bFbFe on o7g3Uli7;oa80;fashion0school;!ay; gua7XbFha5Uli7;eat;eHligGsF;ce7er0So1C;at0;diFse;a1e1;aOeNiMoGuF;anc0de; moEnHrthFt6V;!eFwe7L;a7Krn;chaGdescri7Iprof30sF;top;la1;ght5;arby,cessa4ighbor5wlyw0xt;k0usiaFv3;ti8;aQeNiLoHuF;dIltiF;facet0p6;deHlGnFot,rbBst;ochro4Xth5;dy;rn,st;ddle ag0nF;dbloZi,or;ag9diocEga,naGrFtropolit4Q;e,ry;ci8;cIgenta,inHj0Fkeshift,mmGnFri4Oscu61ver18;da5Dy;ali4Lo4U;!stream;abEho;aOeLiIoFumberi8;ngFuti1R;stan3RtF;erm,i4H;ghtGteraF;l,ry,te;heart0wei5O;ft JgFss9th3;al,eFi0M;nda4;nguBps0te5;apGind5noF;wi8;ut;ad0itte4uniW;ce co0Hgno6Mll0Cm04nHpso 2UrF;a2releF;va1; ZaYcoWdReQfOgrNhibi4Ri05nMoLsHtFvalu5M;aAeF;nDrdepe2K;a7iGolFuboI;ub6ve1;de,gF;nifica1;rdi5N;a2er;own;eriIiLluenVrF;ar0eq5H;pt,rt;eHiGoFul1O;or;e,reA;fiFpe26termi5E;ni2;mpFnsideCrreA;le2;ccuCdeq5Ene,ppr4J;fFsitu,vitro;ro1;mJpF;arHeGl15oFrop9;li2r11;n2LrfeA;ti3;aGeFi18;d4BnD;tuE;egGiF;c0YteC;al,iF;tiF;ma2;ld;aOelNiLoFuma7;a4meInHrrGsFur5;ti6;if4E;e58o3U; ma3GsF;ick;ghfalut2HspF;an49;li00pf33;i4llow0ndGrdFtM; 05coEworki8;sy,y;aLener44iga3Blob3oKrGuF;il1Nng ho;aFea1Fizzl0;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¦a07b04cXdWexVfTgRhePinYjoule0BkMlJmDnan08oCp9quart0Bsq ft,t7volts,w6y2ze3°1µ0;g,s;c,f,n;dVear1o0;ttR; 0s 0;old;att,b;erNon0;!ne02;ascals,e1i0;cXnt00;rcent,tJ;hms,unceY;/s,e4i0m²,²,³;/h,cro2l0;e0liK;!²;grLsR;gCtJ;it1u0;menQx;erPreP;b5elvins,ilo1m0notO;/h,ph,²;!byGgrEmCs;ct0rtzL;aJogrC;allonJb0ig3rB;ps;a0emtEl oz,t4;hrenheit,radG;aby9;eci3m1;aratDe1m0oulombD;²,³;lsius,nti0;gr2lit1m0;et0;er8;am7;b1y0;te5;l,ps;c2tt0;os0;econd1;re0;!s","Noun|Gerund":"true¦0:3O;1:3M;2:3N;3:3D;4:32;5:2V;6:3E;7:3K;8:36;9:3J;A:3B;a3Pb37c2Jd27e23f1Vg1Sh1Mi1Ij1Gk1Dl18m13n11o0Wp0Pques0Sr0EsTtNunderMvKwFyDzB;eroi0oB;ni0o3P;aw2eB;ar2l3;aEed4hispe5i5oCrB;ap8est3i1;n0ErB;ki0r31;i1r2s9tc9;isualizi0oB;lunt1Vti0;stan4ta6;aFeDhin6iCraBy8;c6di0i2vel1M;mi0p8;aBs1;c9si0;l6n2s1;aUcReQhOiMkatKl2Wmo6nowJpeItFuCwB;ea5im37;b35f0FrB;fi0vB;e2Mi2J;aAoryt1KrCuB;d2KfS;etc9ugg3;l3n4;bCi0;ebBi0;oar4;gnBnAt1;a3i0;ip8oB;p8rte2u1;a1r27t1;hCo5reBulp1;a2Qe2;edu3oo3;i3yi0;aKeEi4oCuB;li0n2;oBwi0;fi0;aFcEhear7laxi0nDpor1sB;pon4tructB;r2Iu5;de5;or4yc3;di0so2;p8ti0;aFeacek20laEoCrBublis9;a1Teten4in1oces7;iso2siB;tio2;n2yi0;ckaAin1rB;ki0t1O;fEpeDrganiCvB;erco24ula1;si0zi0;ni0ra1;fe5;avi0QeBur7;gotia1twor6;aDeCi2oB;de3nito5;a2dita1e1ssaA;int0XnBrke1;ifUufactu5;aEeaDiBodAyi0;cen7f1mi1stB;e2i0;r2si0;n4ug9;iCnB;ea4it1;c6l3;ogAuB;dAgg3stif12;ci0llust0VmDnBro2;nova1sp0NterBven1;ac1vie02;agi2plo4;aDea1iCoBun1;l4w3;ki0ri0;nd3rB;roWvB;es1;aCene0Lli4rBui4;ee1ie0N;rde2the5;aHeGiDlCorBros1un4;e0Pmat1;ir1oo4;gh1lCnBs9;anZdi0;i0li0;e3nX;r0Zscina1;a1du01nCxB;erci7plo5;chan1di0ginB;ee5;aLeHiGoub1rCum8wB;el3;aDeCiB;bb3n6vi0;a0Qs7;wi0;rTscoDvi0;ba1coZlBvelo8;eCiB;ve5;ga1;nGti0;aVelebUhSlPoDrBur3yc3;aBos7yi0;f1w3;aLdi0lJmFnBo6pi0ve5;dDsCvinB;ci0;trBul1;uc1;muniDpB;lBo7;ai2;ca1;lBo5;ec1;c9ti0;ap8eaCimToBubT;ni0t9;ni0ri0;aBee5;n1t1;ra1;m8rCs1te5;ri0;vi0;aPeNitMlLoGrDuB;dge1il4llBr8;yi0;an4eat9oadB;cas1;di0;a1mEokB;i0kB;ee8;pi0;bi0;es7oa1;c9i0;gin2lonAt1;gi0;bysit1c6ki0tt3;li0;ki0;bando2cGdverti7gi0pproac9rgDssuCtB;trac1;mi0;ui0;hi0;si0;coun1ti0;ti0;ni0;ng",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",ProperNoun:"true¦aIbDc8dalhousHe7f5gosford,h4iron maiden,kirby,landsdowne,m2nis,r1s0wembF;herwood,paldiB;iel,othwe1;cgi0ercedes,issy;ll;intBudsB;airview,lorence,ra0;mpt9nco;lmo,uro;a1h0;arlt6es5risti;rl0talina;et4i0;ng;arb3e0;et1nt0rke0;ley;on;ie;bid,jax","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;ki1tah 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:2O;1:2L;2:2U;3:2F;a2Sb2Fc21d1Wes1Vf1Tg1Oh1Ki1Fj1Bk16l13m0Sn09o07pYqVrSsJtEuBverAw6y4zacatec2W;akut0o0Fu4;cat1k09;a5est 4isconsin,yomi1O;bengal,virgin0;rwick3shington4;! dc;acruz,mont;dmurt0t4;ah,tar4; 2Pa12;a6e5laxca1Vripu21u4;scaEva;langa2nnessee,x2J;bas10m4smQtar29;aulip2Hil nadu;a9elang07i7o5taf16u4ylh1J;ff02rr09s1E;me1Gno1Uuth 4;cZdY;ber0c4kkim,naloa;hu1ily;n5rawak,skatchew1xo4;ny; luis potosi,ta catari2;a4hodeA;j4ngp0C;asth1shahi;ingh29u4;e4intana roo;bec,en6retaro;aAe6rince edward4unjab; i4;sl0G;i,n5r4;ak,nambu0F;a0Rnsylv4;an0;ha0Pra4;!na;axa0Zdisha,h4klaho21ntar4reg7ss0Dx0I;io;aLeEo6u4;evo le4nav0X;on;r4tt18va scot0;f9mandy,th4; 4ampton3;c6d5yo4;rk3;ako1O;aroli2;olk;bras1Nva0Dw4; 6foundland4;! and labrad4;or;brunswick,hamp3jers5mexiTyork4;! state;ey;galPyarit;aAeghala0Mi6o4;nta2r4;dov0elos;ch6dlanDn5ss4zor11;issippi,ouri;as geraPneso18;ig1oac1;dhy12harasht0Gine,lac07ni5r4ssachusetts;anhao,i el,ylG;p4toba;ur;anca3e4incoln3ouisI;e4iR;ds;a6e5h4omi;aka06ul2;dah,lant1ntucky,ra01;bardino,lmyk0ns0Qr4;achay,el0nata0X;alis6har4iangxi;kh4;and;co;daho,llino7n4owa;d5gush4;et0;ia2;is;a6ert5i4un1;dalFm0D;ford3;mp3rya2waii;ansu,eorg0lou7oa,u4;an4izhou,jarat;ajuato,gdo4;ng;cester3;lori4uji1;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;st1;an;ar0;iforn0;ia;dygHguascalientes,lBndhr9r5ss4;am;izo2kans5un4;achal 7;as;na;a 4;pradesh;a6ber5t4;ai;ta;ba5s4;ka;ma;ea",Place:"true¦0:4T;1:4V;2:44;3:4B;4:3I;a4Eb3Gc2Td2Ge26f25g1Vh1Ji1Fk1Cl14m0Vn0No0Jp08r04sTtNuLvJw7y5;a5o0Syz;kut1Bngtze;aDeChitBi9o5upatki,ycom2P;ki26o5;d5l1B;b3Ps5;i4to3Y;c0SllowbroCn5;c2Qgh2;by,chur1P;ed0ntw3Gs22;ke6r3St5;erf1f1; is0Gf3V;auxha3Mirgin is0Jost5;ok;laanbaatar,pto5xb3E;n,wn;a9eotihuac43h7ive49o6ru2Nsarskoe selo,u5;l2Dzigo47;nto,rquay,tt2J;am3e 5orn3E;bronx,hamptons;hiti,j mah0Iu1N;aEcotts bluff,eCfo,herbroQoApring9t7u5yd2F;dbu1Wn5;der03set3B;aff1ock2Nr5;atf1oud;hi37w24;ho,uth5; 1Iam1Zwo3E;a5i2O;f2Tt0;int lawrence riv3Pkhal2D;ayleigh,ed7i5oc1Z;chmo1Eo gran4ver5;be1Dfr09si4; s39cliffe,hi2Y;aCe9h8i5ompeii,utn2;c6ne5tcai2T; 2Pc0G;keri13t0;l,x;k,lh2mbr6n5r2J;n1Hzance;oke;cif38pahanaumokuak30r5;k5then0;si4w1K;ak7r6x5;f1l2X;ange county,d,f1inoco;mTw1G;e8i1Uo5;r5tt2N;th5wi0E; 0Sam19;uschwanste1Pw5; eng6a5h2market,po36;rk;la0P;a8co,e6i5uc;dt1Yll0Z;adow5ko0H;lands;chu picchu,gad2Ridsto1Ql8n7ple6r5;kh2; g1Cw11;hatt2Osf2B;ibu,t0ve1Z;a8e7gw,hr,in5owlOynd02;coln memori5dl2C;al;asi4w3;kefr7mbe1On5s,x;ca2Ig5si05;f1l27t0;ont;azan kreml14e6itchen2Gosrae,rasnoyar5ul;sk;ns0Hs1U;ax,cn,lf1n6ps5st;wiN;d5glew0Lverness;ian27ochina;aDeBi6kg,nd,ov5unti2H;d,enweep;gh6llc5;reL;bu03l5;and5;!s;r5yw0C;ef1tf1;libu24mp6r5stings;f1lem,row;stead,t0;aDodavari,r5uelph;avenAe5imsS;at 8en5; 6f1Fwi5;ch;acr3vall1H;brita0Flak3;hur5;st;ng3y villa0W;airhavHco,ra;aAgli9nf17ppi8u7ver6x5;et1Lf1;glad3t0;rope,st0;ng;nt0;rls1Ls5;t 5;e5si4;nd;aCe9fw,ig8o7ryd6u5xb;mfri3nstab00rh2tt0;en;nca18rcKv19wnt0B;by;n6r5vonpo1D;ry;!h2;nu8r5;l6t5;f1moor;ingt0;be;aLdg,eIgk,hClBo5royd0;l6m5rnwa0B;pt0;c7lingw6osse5;um;ood;he0S;earwat0St;a8el6i5uuk;chen itza,mney ro07natSricahua;m0Zt5;enh2;mor5rlottetPth2;ro;dar 5ntervilA;breaks,faZg5;rove;ld9m8r5versh2;lis6rizo pla5;in;le;bLpbellf1;weQ;aZcn,eNingl01kk,lackLolt0r5uckV;aGiAo5;ckt0ok5wns cany0;lyn,s5;i4to5;ne;de;dge6gh5;am,t0;n6t5;own;or5;th;ceb6m5;lNpt0;rid5;ge;bu5pool,wa8;rn;aconsfEdf1lBr9verly7x5;hi5;ll; hi5;lls;wi5;ck; air,l5;ingh2;am;ie5;ld;ltimore,rnsl6tters5;ea;ey;bLct0driadic,frica,ginJlGmFn9rc8s7tl6yleOzor3;es;!ant8;hcroft,ia; de triomphe,t6;adyr,ca8dov9tarct5;ic5; oce5;an;st5;er;ericas,s;be6dersh5hambra,list0;ot;rt0;cou5;rt;bot7i5;ngd0;on;sf1;ord",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",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,iDDlBV;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:3F;1:3H;2:31;3:2X;4:35;5:33;6:3C;7:2Z;8:36;9:29;a33b2Tc2Bd1Te1If19g12h0Zi0Rl0Nm0Gnu0Fo0Ap04rYsKtEuBvAw1Ayiel3;ar6e08;nBpA;l1Rs0B;fol3n1Zsett2;aEeDhrBi4ouc7rAwis0;e0Bif2oub2us0yi1;ea1SiA;l2vi1;l2mp0rr1J;nt1Vxi1;aMcreec7enten2NhLkyrocke0lo0Vmi2oJpHtDuBweA;e0Ul2;pp2ArA;gi1pri5roun3;aBea8iAri2Hun9;mula0r4;gge4rA;t2vi1;ark2eAraw2;e3llb2F;aAot7;ki1ri1;i9oc29;dYtisf6;aEeBive0oAus7;a4l2;assu4defi9fres7ig9juve07mai9s0vAwar3;ea2italiAol1G;si1zi1;gi1ll6mb2vi1;a6eDier23lun1VrAun2C;eBoA;mi5vo1Z;ce3s5vai2;n3rpleA;xi1;ffCpWutBverAwi1;arc7lap04p0Pri3whel8;goi1l6st1J;en3sA;et0;m2Jrtu4;aEeDiCoBuAyst0L;mb2;t1Jvi1;s5tiga0;an1Rl0n3smeri26;dAtu4;de9;aCeaBiAo0U;fesa0Tvi1;di1ni1;c1Fg19s0;llumiGmFnArri0R;cDfurHsCtBviA;go23ti1;e1Oimi21oxica0rig0V;pi4ul0;orpo20r0K;po5;na0;eaBorr02umilA;ia0;li1rtwar8;lFrA;atiDipCoBuelA;i1li1;undbrea10wi1;pi1;f6ng;a4ea8;a3etc7it0lEoCrBulfA;il2;ee1FighXust1L;rAun3;ebo3thco8;aCoA;a0wA;e4i1;mi1tte4;lectrJmHnExA;aCci0hBis0pA;an3lo3;aOila1B;c0spe1A;ab2coura0CdBergi13ga0Clive9ric7s02tA;hral2i0J;ea4u4;barras5er09pA;owe4;if6;aQeIiBrA;if0;sAzz6;aEgDhearCsen0tA;rAur11;ac0es5;te9;us0;ppoin0r8;biliGcDfi9gra3ligh0mBpres5sAvasG;erE;an3ea9orA;ali0L;a6eiBli9rA;ea5;vi1;ta0;maPri1s7un0zz2;aPhMlo5oAripp2ut0;mGnArrespon3;cer9fDspi4tA;inBrA;as0ibu0ol2;ui1;lic0u5;ni1;fDmCpA;eAromi5;l2ti1;an3;or0;aAil2;llenAnAr8;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",Comparable:"true¦0:3C;1:3Q;2:3F;a3Tb3Cc33d2Te2Mf2Ag1Wh1Li1Fj1Ek1Bl13m0Xn0So0Rp0Iqu0Gr07sHtCug0vAw4y3za0Q;el10ouN;ary,e6hi5i3ry;ck0Cde,l3n1ry,se;d,y;ny,te;a3i3R;k,ry;a3erda2ulgar;gue,in,st;a6en2Xhi5i4ouZr3;anqu2Cen1ue;dy,g36me0ny;ck,rs28;ll,me,rt,wd3I;aRcaPeOhMiLkin0BlImGoEpDt6u4w3;eet,ift;b3dd0Wperfi21rre28;sta26t21;a8e7iff,r4u3;pUr1;a4ict,o3;ng;ig2Vn0N;a1ep,rn;le,rk,te0;e1Si2Vright0;ci1Yft,l3on,re;emn,id;a3el0;ll,rt;e4i3y;g2Mm0Z;ek,nd2T;ck24l0mp1L;a3iRrill,y;dy,l01rp;ve0Jxy;n1Jr3;ce,y;d,fe,int0l1Hv0V;a8e6i5o3ude;mantic,o19sy,u3;gh;pe,t1P;a3d,mo0A;dy,l;gg4iFndom,p3re,w;id;ed;ai2i3;ck,et;hoAi1Fl9o8r5u3;ny,r3;e,p11;egna2ic4o3;fouSud;ey,k0;liXor;ain,easa2;ny;dd,i0ld,ranL;aive,e5i4o3u14;b0Sisy,rm0Ysy;bb0ce,mb0R;a3r1w;r,t;ad,e5ild,o4u3;nda12te;ist,o1;a4ek,l3;low;s0ty;a8e7i6o3ucky;f0Jn4o15u3ve0w10y0N;d,sy;e0g;ke0l,mp,tt0Eve0;e1Qwd;me,r3te;ge;e4i3;nd;en;ol0ui19;cy,ll,n3;secu6t3;e3ima4;llege2rmedia3;te;re;aAe7i6o5u3;ge,m3ng1C;bYid;me0t;gh,l0;a3fXsita2;dy,rWv3;en0y;nd13ppy,r3;d3sh;!y;aFenEhCiBlAoofy,r3;a8e6i5o3ue0Z;o3ss;vy;m,s0;at,e3y;dy,n;nd,y;ad,ib,ooD;a2d1;a3o3;st0;tDuiS;u1y;aCeebBi9l8o6r5u3;ll,n3r0N;!ny;aCesh,iend0;a3nd,rmD;my;at,ir7;erce,nan3;ci9;le;r,ul3;ty;a6erie,sse4v3xtre0B;il;nti3;al;r4s3;tern,y;ly,th0;appZe9i5ru4u3;mb;nk;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",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","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"},si=36,Tf="0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ",r0=Tf.split("").reduce(function(e,a,i){return e[a]=i,e},{}),wN=function(e){if(Tf[e]!==void 0)return Tf[e];let a=1,i=si,o="";for(;e>=i;e-=i,a++,i*=si);for(;a--;){const s=e%si;o=String.fromCharCode((s<10?48:55)+s)+o,e=(e-s)/si}return o},AN=function(e){if(r0[e]!==void 0)return r0[e];let a=0,i=1,o=si,s=1;for(;i=0;u--,s*=si){let h=e.charCodeAt(u)-48;h>10&&(h-=7),a+=h*s}return a},kf={toAlphaCode:wN,fromAlphaCode:AN},xN=function(e){const a=new RegExp("([0-9A-Z]+):([0-9A-Z]+)");for(let i=0;i{let u=e.nodes[o];u[0]==="!"&&(a.push(s),u=u.slice(1));const h=u.split(/([A-Z0-9,]+)/g);for(let m=0;m{const u=s.split("¦");return o[u[0]]=u[1],o},{}),i={};return Object.keys(a).forEach(function(o){const s=jN(a[o]);o==="true"&&(o=!0);for(let u=0;u{const a=TN(o0[e]);if(!ON.test(e)){Object.keys(a).forEach(i=>{fo[i]=e});return}Object.keys(a).forEach(i=>{if(Sf[i]=e,e==="Noun|Verb"){const o=Nl(i,PN);Sf[o]="Plural|Verb"}})});DN.forEach(e=>fo[e]="Emoticon");delete fo[""];delete fo[null];delete fo[" "];const P="Singular",ze={beforeTags:{Determiner:P,Possessive:P,Acronym:P,Noun:P,Adjective:P,PresentTense:P,Gerund:P,PastTense:P,Infinitive:P,Date:P,Ordinal:P,Demonym:P},afterTags:{Value:P,Modal:P,Copula:P,PresentTense:P,PastTense:P,Demonym:P,Actor:P},beforeWords:{the:P,with:P,without:P,of:P,for:P,any:P,all:P,on:P,cut:P,cuts:P,increase:P,decrease:P,raise:P,drop:P,save:P,saved:P,saves:P,make:P,makes:P,made:P,minus:P,plus:P,than:P,another:P,versus:P,neither:P,about:P,favorite:P,best:P,daily:P,weekly:P,linear:P,binary:P,mobile:P,lexical:P,technical:P,computer:P,scientific:P,security:P,government:P,popular:P,formal:P,no:P,more:P,one:P,let:P,her:P,his:P,their:P,our:P,us:P,sheer:P,monthly:P,yearly:P,current:P,previous:P,upcoming:P,last:P,next:P,main:P,initial:P,final:P,beginning:P,end:P,top:P,bottom:P,future:P,past:P,major:P,minor:P,side:P,central:P,peripheral:P,public:P,private:P},afterWords:{of:P,system:P,aid:P,method:P,utility:P,tool:P,reform:P,therapy:P,philosophy:P,room:P,authority:P,says:P,said:P,wants:P,wanted:P,is:P,did:P,do:P,can:P,wise:P}},H="Infinitive",ft={beforeTags:{Modal:H,Adverb:H,Negative:H,Plural:H},afterTags:{Determiner:H,Adverb:H,Possessive:H,Reflexive:H,Preposition:H,Cardinal:H,Comparative:H,Superlative:H},beforeWords:{i:H,we:H,you:H,they:H,to:H,please:H,will:H,have:H,had:H,would:H,could:H,should:H,do:H,did:H,does:H,can:H,must:H,us:H,me:H,let:H,even:H,when:H,help:H,he:H,she:H,it:H,being:H,bi:H,co:H,contra:H,de:H,inter:H,intra:H,mis:H,pre:H,out:H,counter:H,nobody:H,somebody:H,anybody:H,everybody:H},afterWords:{the:H,me:H,you:H,him:H,us:H,her:H,his:H,them:H,they:H,it:H,himself:H,herself:H,itself:H,myself:H,ourselves:H,themselves:H,something:H,anything:H,a:H,an:H,up:H,down:H,by:H,out:H,off:H,under:H,what:H,all:H,to:H,because:H,although:H,how:H,otherwise:H,together:H,though:H,into:H,yet:H,more:H,here:H,there:H,away:H}},HN={beforeTags:Object.assign({},ft.beforeTags,ze.beforeTags,{}),afterTags:Object.assign({},ft.afterTags,ze.afterTags,{}),beforeWords:Object.assign({},ft.beforeWords,ze.beforeWords,{}),afterWords:Object.assign({},ft.afterWords,ze.afterWords,{})},G="Adjective",Ke={beforeTags:{Determiner:G,Possessive:G,Hyphenated:G},afterTags:{Adjective:G},beforeWords:{seem:G,seemed:G,seems:G,feel:G,feels:G,felt:G,stay:G,appear:G,appears:G,appeared:G,also:G,over:G,under:G,too:G,it:G,but:G,still:G,really:G,quite:G,well:G,very:G,truly:G,how:G,deeply:G,hella:G,profoundly:G,extremely:G,so:G,badly:G,mostly:G,totally:G,awfully:G,rather:G,nothing:G,something:G,anything:G,not:G,me:G,is:G,face:G,faces:G,faced:G,look:G,looks:G,looked:G,reveal:G,reveals:G,revealed:G,sound:G,sounded:G,sounds:G,remains:G,remained:G,prove:G,proves:G,proved:G,becomes:G,stays:G,tastes:G,taste:G,smells:G,smell:G,gets:G,grows:G,as:G,rings:G,radiates:G,conveys:G,convey:G,conveyed:G,of:G},afterWords:{too:G,also:G,or:G,enough:G,as:G}},L="Gerund",Pa={beforeTags:{Adverb:L,Preposition:L,Conjunction:L},afterTags:{Adverb:L,Possessive:L,Person:L,Pronoun:L,Determiner:L,Copula:L,Preposition:L,Conjunction:L,Comparative:L},beforeWords:{been:L,keep:L,continue:L,stop:L,am:L,be:L,me:L,began:L,start:L,starts:L,started:L,stops:L,stopped:L,help:L,helps:L,avoid:L,avoids:L,love:L,loves:L,loved:L,hate:L,hates:L,hated:L},afterWords:{you:L,me:L,her:L,him:L,his:L,them:L,their:L,it:L,this:L,there:L,on:L,about:L,for:L,up:L,down:L}},oe="Gerund",Sa="Adjective",GN={beforeTags:Object.assign({},Ke.beforeTags,Pa.beforeTags,{Imperative:oe,Infinitive:Sa,Plural:oe}),afterTags:Object.assign({},Ke.afterTags,Pa.afterTags,{Noun:Sa}),beforeWords:Object.assign({},Ke.beforeWords,Pa.beforeWords,{is:Sa,are:oe,was:Sa,of:Sa,suggest:oe,suggests:oe,suggested:oe,recommend:oe,recommends:oe,recommended:oe,imagine:oe,imagines:oe,imagined:oe,consider:oe,considered:oe,considering:oe,resist:oe,resists:oe,resisted:oe,avoid:oe,avoided:oe,avoiding:oe,except:Sa,accept:Sa,assess:oe,explore:oe,fear:oe,fears:oe,appreciate:oe,question:oe,help:oe,embrace:oe,with:Sa}),afterWords:Object.assign({},Ke.afterWords,Pa.afterWords,{to:oe,not:oe,the:oe})},s0={beforeTags:{Determiner:void 0,Cardinal:"Noun",PhrasalVerb:"Adjective"},afterTags:{}},MN={beforeTags:Object.assign({},Ke.beforeTags,ze.beforeTags,s0.beforeTags),afterTags:Object.assign({},Ke.afterTags,ze.afterTags,s0.afterTags),beforeWords:Object.assign({},Ke.beforeWords,ze.beforeWords,{are:"Adjective",is:"Adjective",was:"Adjective",be:"Adjective",off:"Adjective",out:"Adjective"}),afterWords:Object.assign({},Ke.afterWords,ze.afterWords)},q="PastTense",fr="Adjective",Ys={beforeTags:{Adverb:q,Pronoun:q,ProperNoun:q,Auxiliary:q,Noun:q},afterTags:{Possessive:q,Pronoun:q,Determiner:q,Adverb:q,Comparative:q,Date:q,Gerund:q},beforeWords:{be:q,who:q,get:fr,had:q,has:q,have:q,been:q,it:q,as:q,for:fr,more:fr,always:fr},afterWords:{by:q,back:q,out:q,in:q,up:q,down:q,before:q,after:q,for:q,the:q,with:q,as:q,on:q,at:q,between:q,to:q,into:q,us:q,them:q,his:q,her:q,their:q,our:q,me:q,about:fr}},BN={beforeTags:Object.assign({},Ke.beforeTags,Ys.beforeTags),afterTags:Object.assign({},Ke.afterTags,Ys.afterTags),beforeWords:Object.assign({},Ke.beforeWords,Ys.beforeWords),afterWords:Object.assign({},Ke.afterWords,Ys.afterWords)},VN={afterTags:{Noun:"Adjective",Conjunction:void 0}},$N={beforeTags:Object.assign({},Ke.beforeTags,ft.beforeTags,{Adverb:void 0,Negative:void 0}),afterTags:Object.assign({},Ke.afterTags,ft.afterTags,VN.afterTags),beforeWords:Object.assign({},Ke.beforeWords,ft.beforeWords,{have:void 0,had:void 0,not:void 0,went:"Adjective",goes:"Adjective",got:"Adjective",be:"Adjective"}),afterWords:Object.assign({},Ke.afterWords,ft.afterWords,{to:void 0,as:"Adjective"})},Xs={beforeTags:{Copula:"Gerund",PastTense:"Gerund",PresentTense:"Gerund",Infinitive:"Gerund"},afterTags:{Value:"Gerund"},beforeWords:{are:"Gerund",were:"Gerund",be:"Gerund",no:"Gerund",without:"Gerund",you:"Gerund",we:"Gerund",they:"Gerund",he:"Gerund",she:"Gerund",us:"Gerund",them:"Gerund"},afterWords:{the:"Gerund",this:"Gerund",that:"Gerund",me:"Gerund",us:"Gerund",them:"Gerund"}},UN={beforeTags:Object.assign({},Pa.beforeTags,ze.beforeTags,Xs.beforeTags),afterTags:Object.assign({},Pa.afterTags,ze.afterTags,Xs.afterTags),beforeWords:Object.assign({},Pa.beforeWords,ze.beforeWords,Xs.beforeWords),afterWords:Object.assign({},Pa.afterWords,ze.afterWords,Xs.afterWords)},eo="Singular",ti="Infinitive",_N={beforeTags:Object.assign({},ft.beforeTags,ze.beforeTags,{Adjective:eo,Particle:eo}),afterTags:Object.assign({},ft.afterTags,ze.afterTags,{ProperNoun:ti,Gerund:ti,Adjective:ti,Copula:eo}),beforeWords:Object.assign({},ft.beforeWords,ze.beforeWords,{is:eo,was:eo,of:eo,have:null}),afterWords:Object.assign({},ft.afterWords,ze.afterWords,{instead:ti,about:ti,his:ti,her:ti,to:null,by:null,in:null})},he="Person",qe={beforeTags:{Honorific:he,Person:he},afterTags:{Person:he,ProperNoun:he,Verb:he},beforeWords:{hi:he,hey:he,yo:he,dear:he,hello:he},afterWords:{said:he,says:he,told:he,tells:he,feels:he,felt:he,seems:he,thinks:he,thought:he,spends:he,spendt:he,plays:he,played:he,sing:he,sang:he,learn:he,learned:he,wants:he,wanted:he}},je="Month",LN="Person",Zs={beforeTags:{Date:je,Value:je},afterTags:{Date:je,Value:je},beforeWords:{by:je,in:je,on:je,during:je,after:je,before:je,between:je,until:je,til:je,sometime:je,of:je,this:je,next:je,last:je,previous:je,following:je,with:LN},afterWords:{sometime:je,in:je,of:je,until:je,the:je}},FN={beforeTags:Object.assign({},qe.beforeTags,Zs.beforeTags),afterTags:Object.assign({},qe.afterTags,Zs.afterTags),beforeWords:Object.assign({},qe.beforeWords,Zs.beforeWords),afterWords:Object.assign({},qe.afterWords,Zs.afterWords)},KN={beforeTags:Object.assign({},ze.beforeTags,qe.beforeTags),afterTags:Object.assign({},ze.afterTags,qe.afterTags),beforeWords:Object.assign({},ze.beforeWords,qe.beforeWords,{i:"Infinitive",we:"Infinitive"}),afterWords:Object.assign({},ze.afterWords,qe.afterWords)},qN={beforeTags:Object.assign({},ze.beforeTags,qe.beforeTags,ft.beforeTags),afterTags:Object.assign({},ze.afterTags,qe.afterTags,ft.afterTags),beforeWords:Object.assign({},ze.beforeWords,qe.beforeWords,ft.beforeWords),afterWords:Object.assign({},ze.afterWords,qe.afterWords,ft.afterWords)},st="Place",Ws={beforeTags:{Place:st},afterTags:{Place:st,Abbreviation:st},beforeWords:{in:st,by:st,near:st,from:st,to:st},afterWords:{in:st,by:st,near:st,from:st,to:st,government:st,council:st,region:st,city:st}},IN={beforeTags:Object.assign({},Ws.beforeTags,qe.beforeTags),afterTags:Object.assign({},Ws.afterTags,qe.afterTags),beforeWords:Object.assign({},Ws.beforeWords,qe.beforeWords),afterWords:Object.assign({},Ws.afterWords,qe.afterWords)},JN={beforeTags:Object.assign({},qe.beforeTags,Ke.beforeTags),afterTags:Object.assign({},qe.afterTags,Ke.afterTags),beforeWords:Object.assign({},qe.beforeWords,Ke.beforeWords),afterWords:Object.assign({},qe.afterWords,Ke.afterWords)},tn="Unit",RN={beforeTags:{Value:tn},afterTags:{},beforeWords:{per:tn,every:tn,each:tn,square:tn,cubic:tn,sq:tn,metric:tn},afterWords:{per:tn,squared:tn,cubed:tn,long:tn}},lo={"Actor|Verb":HN,"Adj|Gerund":GN,"Adj|Noun":MN,"Adj|Past":BN,"Adj|Present":$N,"Noun|Verb":_N,"Noun|Gerund":UN,"Person|Noun":KN,"Person|Date":FN,"Person|Verb":qN,"Person|Place":IN,"Person|Adj":JN,"Unit|Noun":RN},el=(e,a)=>{const i=Object.keys(e).reduce((o,s)=>(o[s]=e[s]==="Infinitive"?"PresentTense":"Plural",o),{});return Object.assign(i,a)};lo["Plural|Verb"]={beforeWords:el(lo["Noun|Verb"].beforeWords,{had:"Plural",have:"Plural"}),afterWords:el(lo["Noun|Verb"].afterWords,{his:"PresentTense",her:"PresentTense",its:"PresentTense",in:null,to:null,is:"PresentTense",by:"PresentTense"}),beforeTags:el(lo["Noun|Verb"].beforeTags,{Conjunction:"PresentTense",Noun:void 0,ProperNoun:"PresentTense"}),afterTags:el(lo["Noun|Verb"].afterTags,{Gerund:"Plural",Noun:"PresentTense",Value:"PresentTense"})};const ue="Adjective",Ye="Infinitive",ni="PresentTense",R="Singular",Xe="PastTense",to="Adverb",Vt="Plural",Pe="Actor",tl="Verb",ut="Noun",QN="ProperNoun",fn="LastName",l0="Modal",pe="Place",tf="Participle",YN=[null,null,{ea:R,ia:ut,ic:ue,ly:to,"'n":tl,"'t":tl},{oed:Xe,ued:Xe,xed:Xe," so":to,"'ll":l0,"'re":"Copula",azy:ue,eer:ut,end:tl,ped:Xe,ffy:ue,ify:Ye,ing:"Gerund",ize:Ye,ibe:Ye,lar:ue,mum:ue,nes:ni,nny:ue,ous:ue,que:ue,ger:ut,ber:ut,rol:R,sis:R,ogy:R,oid:R,ian:R,zes:ni,eld:Xe,ken:tf,ven:tf,ten:tf,ect:Ye,ict:Ye,ign:Ye,oze:Ye,ful:ue,bal:ue,ton:ut,pur:pe},{amed:Xe,aped:Xe,ched:Xe,lked:Xe,rked:Xe,reed:Xe,nded:Xe,mned:ue,cted:Xe,dged:Xe,ield:R,akis:fn,cede:Ye,chuk:fn,czyk:fn,ects:ni,iend:R,ends:tl,enko:fn,ette:R,iary:R,wner:R,fies:ni,fore:to,gate:Ye,gone:ue,ices:Vt,ints:Vt,ruct:Ye,ines:Vt,ions:Vt,ners:Vt,pers:Vt,lers:Vt,less:ue,llen:ue,made:ue,nsen:fn,oses:ni,ould:l0,some:ue,sson:fn,ians:Vt,tion:R,tage:ut,ique:R,tive:ue,tors:ut,vice:R,lier:R,fier:R,wned:Xe,gent:R,tist:Pe,pist:Pe,rist:Pe,mist:Pe,yist:Pe,vist:Pe,ists:Pe,lite:R,site:R,rite:R,mite:R,bite:R,mate:R,date:R,ndal:R,vent:R,uist:Pe,gist:Pe,note:R,cide:R,ence:R,wide:ue,vide:Ye,ract:Ye,duce:Ye,pose:Ye,eive:Ye,lyze:Ye,lyse:Ye,iant:ue,nary:ue,ghty:ue,uent:ue,erer:Pe,bury:pe,dorf:ut,esty:ut,wych:pe,dale:pe,folk:pe,vale:pe,abad:pe,sham:pe,wick:pe,view:pe},{elist:Pe,holic:R,phite:R,tized:Xe,urned:Xe,eased:Xe,ances:Vt,bound:ue,ettes:Vt,fully:to,ishes:ni,ities:Vt,marek:fn,nssen:fn,ology:ut,osome:R,tment:R,ports:Vt,rough:ue,tches:ni,tieth:"Ordinal",tures:Vt,wards:to,where:to,archy:ut,pathy:ut,opoly:ut,embly:ut,phate:ut,ndent:R,scent:R,onist:Pe,anist:Pe,alist:Pe,olist:Pe,icist:Pe,ounce:Ye,iable:ue,borne:ue,gnant:ue,inant:ue,igent:ue,atory:ue,rient:R,dient:R,maker:Pe,burgh:pe,mouth:pe,ceter:pe,ville:pe,hurst:pe,stead:pe,endon:pe,brook:pe,shire:pe,worth:ut,field:QN,ridge:pe},{auskas:fn,parent:R,cedent:R,ionary:R,cklist:R,brooke:pe,keeper:Pe,logist:Pe,teenth:"Value",worker:Pe,master:Pe,writer:Pe,brough:pe,cester:pe,ington:pe,cliffe:pe,ingham:pe},{chester:pe,logists:Pe,opoulos:fn,borough:pe,sdottir:fn}],$t="Adjective",ye="Noun",hr="Verb",XN=[null,null,{},{neo:ye,bio:ye,"de-":hr,"re-":hr,"un-":hr,"ex-":ye},{anti:ye,auto:ye,faux:$t,hexa:ye,kilo:ye,mono:ye,nano:ye,octa:ye,poly:ye,semi:$t,tele:ye,"pro-":$t,"mis-":hr,"dis-":hr,"pre-":$t},{anglo:ye,centi:ye,ethno:ye,ferro:ye,grand:ye,hepta:ye,hydro:ye,intro:ye,macro:ye,micro:ye,milli:ye,nitro:ye,penta:ye,quasi:$t,radio:ye,tetra:ye,"omni-":$t,"post-":$t},{pseudo:$t,"extra-":$t,"hyper-":$t,"inter-":$t,"intra-":$t,"deca-":$t},{electro:ye}],De="Adjective",nl="Infinitive",al="PresentTense",In="Singular",gt="PastTense",u0="Adverb",Jn="Expression",c0="Actor",f0="Verb",h0="Noun",il="LastName",ZN={a:[[/.[aeiou]na$/,h0,"tuna"],[/.[oau][wvl]ska$/,il],[/.[^aeiou]ica$/,In,"harmonica"],[/^([hyj]a+)+$/,Jn,"haha"]],c:[[/.[^aeiou]ic$/,De]],d:[[/[aeiou](pp|ll|ss|ff|gg|tt|rr|bb|nn|mm)ed$/,gt,"popped"],[/.[aeo]{2}[bdgmnprvz]ed$/,gt,"rammed"],[/.[aeiou][sg]hed$/,gt,"gushed"],[/.[aeiou]red$/,gt,"hired"],[/.[aeiou]r?ried$/,gt,"hurried"],[/[^aeiou]ard$/,In,"steward"],[/[aeiou][^aeiou]id$/,De,""],[/.[vrl]id$/,De,"livid"],[/..led$/,gt,"hurled"],[/.[iao]sed$/,gt,""],[/[aeiou]n?[cs]ed$/,gt,""],[/[aeiou][rl]?[mnf]ed$/,gt,""],[/[aeiou][ns]?c?ked$/,gt,"bunked"],[/[aeiou]gned$/,gt],[/[aeiou][nl]?ged$/,gt],[/.[tdbwxyz]ed$/,gt],[/[^aeiou][aeiou][tvx]ed$/,gt],[/.[cdflmnprstv]ied$/,gt,"emptied"]],e:[[/.[lnr]ize$/,nl,"antagonize"],[/.[^aeiou]ise$/,nl,"antagonise"],[/.[aeiou]te$/,nl,"bite"],[/.[^aeiou][ai]ble$/,De,"fixable"],[/.[^aeiou]eable$/,De,"maleable"],[/.[ts]ive$/,De,"festive"],[/[a-z]-like$/,De,"woman-like"]],h:[[/.[^aeiouf]ish$/,De,"cornish"],[/.v[iy]ch$/,il,"..ovich"],[/^ug?h+$/,Jn,"ughh"],[/^uh[ -]?oh$/,Jn,"uhoh"],[/[a-z]-ish$/,De,"cartoon-ish"]],i:[[/.[oau][wvl]ski$/,il,"polish-male"]],k:[[/^(k){2}$/,Jn,"kkkk"]],l:[[/.[gl]ial$/,De,"familial"],[/.[^aeiou]ful$/,De,"fitful"],[/.[nrtumcd]al$/,De,"natal"],[/.[^aeiou][ei]al$/,De,"familial"]],m:[[/.[^aeiou]ium$/,In,"magnesium"],[/[^aeiou]ism$/,In,"schism"],[/^[hu]m+$/,Jn,"hmm"],[/^\d+ ?[ap]m$/,"Date","3am"]],n:[[/.[lsrnpb]ian$/,De,"republican"],[/[^aeiou]ician$/,c0,"musician"],[/[aeiou][ktrp]in'$/,"Gerund","cookin'"]],o:[[/^no+$/,Jn,"noooo"],[/^(yo)+$/,Jn,"yoo"],[/^wo{2,}[pt]?$/,Jn,"woop"]],r:[[/.[bdfklmst]ler$/,"Noun"],[/[aeiou][pns]er$/,In],[/[^i]fer$/,nl],[/.[^aeiou][ao]pher$/,c0],[/.[lk]er$/,"Noun"],[/.ier$/,"Comparative"]],t:[[/.[di]est$/,"Superlative"],[/.[icldtgrv]ent$/,De],[/[aeiou].*ist$/,De],[/^[a-z]et$/,f0]],s:[[/.[^aeiou]ises$/,al],[/.[rln]ates$/,al],[/.[^z]ens$/,f0],[/.[lstrn]us$/,In],[/.[aeiou]sks$/,al],[/.[aeiou]kes$/,al],[/[aeiou][^aeiou]is$/,In],[/[a-z]'s$/,h0],[/^yes+$/,Jn]],v:[[/.[^aeiou][ai][kln]ov$/,il]],y:[[/.[cts]hy$/,De],[/.[st]ty$/,De],[/.[tnl]ary$/,De],[/.[oe]ry$/,In],[/[rdntkbhs]ly$/,u0],[/.(gg|bb|zz)ly$/,De],[/...lly$/,u0],[/.[gk]y$/,De],[/[bszmp]{2}y$/,De],[/.[ai]my$/,De],[/[ea]{2}zy$/,De],[/.[^aeiou]ity$/,In]]},ct="Verb",ve="Noun",WN={leftTags:[["Adjective",ve],["Possessive",ve],["Determiner",ve],["Adverb",ct],["Pronoun",ct],["Value",ve],["Ordinal",ve],["Modal",ct],["Superlative",ve],["Demonym",ve],["Honorific","Person"]],leftWords:[["i",ct],["first",ve],["it",ct],["there",ct],["not",ct],["because",ve],["if",ve],["but",ve],["who",ct],["this",ve],["his",ve],["when",ve],["you",ct],["very","Adjective"],["old",ve],["never",ct],["before",ve],["a",ve],["the",ve],["been",ct]],rightTags:[["Copula",ve],["PastTense",ve],["Conjunction",ve],["Modal",ve]],rightWords:[["there",ct],["me",ct],["man","Adjective"],["him",ct],["it",ct],["were",ve],["took",ve],["himself",ct],["went",ve],["who",ve],["jr","Person"]]},ci={Comparative:{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¦3der:mad,sad¦3er:shy,fun¦4der:glad¦:¦4r:cute,dire,fake,fine,free,lame,late,pale,rare,ripe,rude,safe,sore,tame,wide¦5r:eerie,stale"},Gerund:{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"},Participle:{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"},PastTense:{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"},PresentTense:{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"},Superlative:{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"},AdjToNoun:{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"}},e6=function(e,a={}){return a.hasOwnProperty(e)?a[e]:null},t6=function(e,a=[]){for(let i=0;i=1;s-=1){let u=e.length-s,h=e.substring(u,e.length);if(a.hasOwnProperty(h)===!0)return e.slice(0,u)+a[h];if(i.hasOwnProperty(h)===!0)return e.slice(0,u)+i[h]}return a.hasOwnProperty("")?e+=a[""]:i.hasOwnProperty("")?e+=i[""]:null},_t=function(e="",a={}){let i=e6(e,a.ex);return i=i||t6(e,a.same),i=i||n6(e,a.fwd,a.both),i=i||e,i},d0=function(e){return Object.entries(e).reduce((a,i)=>(a[i[1]]=i[0],a),{})},ho=function(e={}){return{reversed:!0,both:d0(e.both),ex:d0(e.ex),fwd:e.rev||{}}},m0=/^([0-9]+)/,a6=function(e){let a={};return e.split("¦").forEach(i=>{let[o,s]=i.split(":");s=(s||"").split(","),s.forEach(u=>{a[u]=o})}),a},i6=function(e="",a=""){a=String(a);let i=a.match(m0);if(i===null)return a;let o=Number(i[1])||0;return e.substring(0,o)+a.replace(m0,"")},ol=function(e){let a=a6(e);return Object.keys(a).reduce((i,o)=>(i[o]=i6(o,a[o]),i),{})},fi=function(e={}){return typeof e=="string"&&(e=JSON.parse(e)),e.fwd=ol(e.fwd||""),e.both=ol(e.both||""),e.rev=ol(e.rev||""),e.ex=ol(e.ex||""),e},ay=fi(ci.PastTense),iy=fi(ci.PresentTense),oy=fi(ci.Gerund),ry=fi(ci.Participle),o6=ho(ay),r6=ho(iy),s6=ho(oy),l6=ho(ry),sy=fi(ci.Comparative),ly=fi(ci.Superlative),u6=ho(sy),c6=ho(ly),f6=fi(ci.AdjToNoun),uy={fromPast:ay,fromPresent:iy,fromGerund:oy,fromParticiple:ry,toPast:o6,toPresent:r6,toGerund:s6,toParticiple:l6,toComparative:sy,toSuperlative:ly,fromComparative:u6,fromSuperlative:c6,adjToNoun:f6},h6=[[/^[\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"],[new RegExp("[^:/]\\/\\p{Letter}","u"),"SlashedTerm","love/hate"]],d6=[[new RegExp("^#[\\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"]],m6=[[/^@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-"],[new RegExp("^[-+]?\\p{Currency_Symbol}[-+]?[0-9]+(,[0-9]{3})*(\\.[0-9]+)?([kmb]|bn)?\\+?$","u"),["Money","Value"],"$5.30"],[new RegExp("^[-+]?[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"]],g6=["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,a)=>(e[a]=!0,e),{}),p6=["atoll","basin","bay","beach","bluff","bog","camp","canyon","canyons","cape","cave","caves","cliffs","coast","cove","coves","crater","crossing","creek","desert","dune","dunes","downs","estates","escarpment","estuary","falls","fjord","fjords","forest","forests","glacier","gorge","gorges","grove","gulf","gully","highland","heights","hollow","hill","hills","inlet","island","islands","isthmus","junction","knoll","lagoon","lake","lakeshore","marsh","marshes","mount","mountain","mountains","narrows","peninsula","plains","plateau","pond","rapids","ravine","reef","reefs","ridge","river","rivers","sandhill","shoal","shore","shoreline","shores","strait","straits","springs","stream","swamp","tombolo","trail","trails","trench","valley","vallies","village","volcano","waterfall","watershed","wetland","woods","acres","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","manor","memorial","monument","museum","gallery","palace","pillar","pits","plantation","playhouse","quarry","sportsfield","sportsplex","stadium","terrace","terraces","theater","tower","park","parks","site","ranch","raceway","sportsplex","ave","st","street","rd","road","lane","landing","crescent","cr","way","tr","terrace","avenue"].reduce((e,a)=>(e[a]=!0,e),{}),rl=[[/([^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,""]],y6=function(e){return Object.keys(e).reduce((a,i)=>(a[e[i]]=i,a),{})},cy=function(e,a){const{irregularPlurals:i}=a.two,o=y6(i);if(o.hasOwnProperty(e))return o[e];for(let s=0;s(li[a].forEach(i=>e[i]=a),e),{});const fy=function(e){const a=e.substring(e.length-3);if(li.hasOwnProperty(a)===!0)return li[a];const i=e.substring(e.length-2);return li.hasOwnProperty(i)===!0?li[i]:e.substring(e.length-1)==="s"?"PresentTense":null},w6=function(e,a){let i="",o={};a.one&&a.one.prefixes&&(o=a.one.prefixes);let[s,u]=e.split(/ /);return u&&o[s]===!0&&(i=s,s=u,u=""),{prefix:i,verb:s,particle:u}},g0={are:"be",were:"be",been:"be",is:"be",am:"be",was:"be",be:"be",being:"be"},Df=function(e,a,i){const{fromPast:o,fromPresent:s,fromGerund:u,fromParticiple:h}=a.two.models,{prefix:m,verb:g,particle:y}=w6(e,a);let b="";if(i||(i=fy(e)),g0.hasOwnProperty(e))b=g0[e];else if(i==="Participle")b=_t(g,h);else if(i==="PastTense")b=_t(g,o);else if(i==="PresentTense")b=_t(g,s);else if(i==="Gerund")b=_t(g,u);else return e;return y&&(b+=" "+y),m&&(b=m+" "+b),b},A6=e=>/ /.test(e)?e.split(/ /):[e,""],Yf=function(e,a){const{toPast:i,toPresent:o,toGerund:s,toParticiple:u}=a.two.models;if(e==="be")return{Infinitive:e,Gerund:"being",PastTense:"was",PresentTense:"is"};const[h,m]=A6(e),g={Infinitive:h,PastTense:_t(h,i),PresentTense:_t(h,o),Gerund:_t(h,s),FutureTense:"will "+h};let y=_t(h,u);if(y!==e&&y!==g.PastTense){const b=a.one.lexicon||{};(b[y]==="Participle"||b[y]==="Adjective")&&(e==="play"&&(y="played"),g.Participle=y)}return m&&Object.keys(g).forEach(b=>{g[b]+=" "+m}),g},x6=function(e,a){const i=Yf(e,a);return delete i.FutureTense,Object.values(i).filter(o=>o)},N6={toInfinitive:Df,conjugate:Yf,all:x6},Xf=function(e,a){const i=a.two.models.toSuperlative;return _t(e,i)},Zf=function(e,a){const i=a.two.models.toComparative;return _t(e,i)},C6=function(e,a){const i=a.two.models.fromComparative;return _t(e,i)},j6=function(e,a){const i=a.two.models.fromSuperlative;return _t(e,i)},T6=function(e,a){const i=a.two.models.adjToNoun;return _t(e,i)},hy=function(e="",a=[]){const i=e.length,o=i<=6?i-1:6;for(let s=o;s>=1;s-=1){const u=e.substring(i-s,e.length);if(a[u.length].hasOwnProperty(u)===!0){const h=e.slice(0,i-s),m=a[u.length][u];return h+m}}return null},ne="ically",k6=new Set(["analyt"+ne,"chem"+ne,"class"+ne,"clin"+ne,"crit"+ne,"ecolog"+ne,"electr"+ne,"empir"+ne,"frant"+ne,"grammat"+ne,"ident"+ne,"ideolog"+ne,"log"+ne,"mag"+ne,"mathemat"+ne,"mechan"+ne,"med"+ne,"method"+ne,"method"+ne,"mus"+ne,"phys"+ne,"phys"+ne,"polit"+ne,"pract"+ne,"rad"+ne,"satir"+ne,"statist"+ne,"techn"+ne,"technolog"+ne,"theoret"+ne,"typ"+ne,"vert"+ne,"whims"+ne]),S6=[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"}],D6=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"]),p0={wholly:"whole",fully:"full",truly:"true",gently:"gentle",singly:"single",customarily:"customary",idly:"idle",publically:"public",quickly:"quick",superbly:"superb",cynically:"cynical",well:"good"},z6=function(e){return e.endsWith("ly")?k6.has(e)?e.replace(/ically/,"ical"):D6.has(e)?null:p0.hasOwnProperty(e)?p0[e]:hy(e,S6)||e:null},E6=[null,{y:"ily"},{ly:"ly",ic:"ically"},{ial:"ially",ual:"ually",tle:"tly",ble:"bly",ple:"ply",ary:"arily"},{},{},{}],y0={cool:"cooly",whole:"wholly",full:"fully",good:"well",idle:"idly",public:"publicly",single:"singly",special:"especially"},dy=function(e){if(y0.hasOwnProperty(e))return y0[e];let a=hy(e,E6);return a||(a=e+"ly"),a},O6=function(e,a){let i=[e];return i.push(Xf(e,a)),i.push(Zf(e,a)),i.push(dy(e)),i=i.filter(o=>o),i=new Set(i),Array.from(i)},P6={toSuperlative:Xf,toComparative:Zf,toAdverb:dy,toNoun:T6,fromAdverb:z6,fromSuperlative:j6,fromComparative:C6,all:O6},H6={noun:v6,verb:N6,adjective:P6},b0={Singular:(e,a,i,o)=>{const s=o.one.lexicon,u=i.two.transform.noun.toPlural(e,o);s[u]||(a[u]=a[u]||"Plural")},Actor:(e,a,i,o)=>{const s=o.one.lexicon,u=i.two.transform.noun.toPlural(e,o);s[u]||(a[u]=a[u]||["Plural","Actor"])},Comparable:(e,a,i,o)=>{const s=o.one.lexicon,{toSuperlative:u,toComparative:h}=i.two.transform.adjective,m=u(e,o);s[m]||(a[m]=a[m]||"Superlative");const g=h(e,o);s[g]||(a[g]=a[g]||"Comparative"),a[e]="Adjective"},Demonym:(e,a,i,o)=>{const s=i.two.transform.noun.toPlural(e,o);a[s]=a[s]||["Demonym","Plural"]},Infinitive:(e,a,i,o)=>{const s=o.one.lexicon,u=i.two.transform.verb.conjugate(e,o);Object.entries(u).forEach(h=>{!s[h[1]]&&!a[h[1]]&&h[0]!=="FutureTense"&&(a[h[1]]=h[0])})},PhrasalVerb:(e,a,i,o)=>{const s=o.one.lexicon;a[e]=["PhrasalVerb","Infinitive"];const u=o.one._multiCache,[h,m]=e.split(" ");s[h]||(a[h]=a[h]||"Infinitive");const g=i.two.transform.verb.conjugate(h,o);delete g.FutureTense,Object.entries(g).forEach(y=>{if(y[0]==="Actor"||y[1]==="")return;!a[y[1]]&&!s[y[1]]&&(a[y[1]]=y[0]),u[y[1]]=2;const b=y[1]+" "+m;a[b]=a[b]||[y[0],"PhrasalVerb"]})},Multiple:(e,a)=>{a[e]=["Multiple","Cardinal"],a[e+"th"]=["Multiple","Ordinal"],a[e+"ths"]=["Multiple","Fraction"]},Cardinal:(e,a)=>{a[e]=["TextValue","Cardinal"]},Ordinal:(e,a)=>{a[e]=["TextValue","Ordinal"],a[e+"s"]=["TextValue","Fraction"]},Place:(e,a)=>{a[e]=["Place","ProperNoun"]},Region:(e,a)=>{a[e]=["Region","ProperNoun"]}},G6=function(e,a){const{methods:i,model:o}=a,s={},u={};return Object.keys(e).forEach(h=>{const m=e[h];h=h.toLowerCase().trim(),h=h.replace(/'s\b/,"");const g=h.split(/ /);g.length>1&&(u[g[0]]===void 0||g.length>u[g[0]])&&(u[g[0]]=g.length),b0.hasOwnProperty(m)===!0&&b0[m](h,s,i,o),s[h]=s[h]||m}),delete s[""],delete s[null],delete s[" "],{lex:s,_multi:u}},M6=function(e,a){const i=/^[0-9]+$/,o=e[a];if(!o)return!1;const s=new Set(["may","april","august","jan"]);if(o.normal==="like"||s.has(o.normal)||o.tags.has("Place")||o.tags.has("Date"))return!1;if(e[a-1]){const h=e[a-1];if(h.tags.has("Date")||s.has(h.normal)||h.tags.has("Adjective")||o.tags.has("Adjective"))return!1}const u=o.normal;return!((u.length===1||u.length===2||u.length===4)&&i.test(u))},B6=function(e){const a=/[,:;]/,i=[];return e.forEach(o=>{let s=0;o.forEach((u,h)=>{a.test(u.post)&&M6(o,h+1)&&(i.push(o.slice(s,h+1)),s=h+1)}),se.endsWith(i)):!(a!=="s"||$6.find(i=>e.endsWith(i)))},zf={two:{quickSplit:B6,expandLexicon:G6,transform:H6,looksPlural:my}},U6=function(e){const{irregularPlurals:a}=e.two,{lexicon:i}=e.one;return Object.entries(a).forEach(o=>{i[o[0]]=i[o[0]]||"Singular",i[o[1]]=i[o[1]]||"Plural"}),e},Ef={one:{lexicon:{}},two:{models:uy}},_6={"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"},gy=function(e,a){const i={model:a,methods:zf},{lex:o,_multi:s}=zf.two.expandLexicon(e,i);return Object.assign(a.one.lexicon,o),Object.assign(a.one._multiCache,s),a},L6=function(e,a){return Object.keys(e).forEach(i=>{e[i]==="Uncountable"&&(a.two.uncountable[i]=!0,e[i]="Uncountable")}),a},w0=function(e,a,i){const o=Yf(e,Ef);a[o.PastTense]=a[o.PastTense]||"PastTense",a[o.Gerund]=a[o.Gerund]||"Gerund",i===!0&&(a[o.PresentTense]=a[o.PresentTense]||"PresentTense")},A0=function(e,a,i){const o=Xf(e,i);a[o]=a[o]||"Superlative";const s=Zf(e,i);a[s]=a[s]||"Comparative"},F6=function(e,a,i){const o=Nl(e,i);a[o]=a[o]||"Plural"},K6=function(e,a){const i={},o=a.one.lexicon;return Object.keys(e).forEach(s=>{const u=e[s];if(i[s]=_6[u],(u==="Noun|Verb"||u==="Person|Verb"||u==="Actor|Verb")&&w0(s,o,!1),u==="Adj|Present"&&(w0(s,o,!0),A0(s,o,a)),u==="Person|Adj"&&A0(s,o,a),u==="Adj|Gerund"||u==="Noun|Gerund"){const h=Df(s,Ef,"Gerund");o[h]||(i[h]="Infinitive")}if((u==="Noun|Gerund"||u==="Adj|Noun"||u==="Person|Noun")&&F6(s,o,a),u==="Adj|Past"){const h=Df(s,Ef,"PastTense");o[h]||(i[h]="Infinitive")}}),a=gy(i,a),a},q6=function(e){return e=gy(e.one.lexicon,e),e=L6(e.one.lexicon,e),e=K6(e.two.switches,e),e=U6(e),e};let Of={one:{_multiCache:{},lexicon:fo,frozenLex:SN},two:{irregularPlurals:ny,models:uy,suffixPatterns:YN,prefixPatterns:XN,endsWith:ZN,neighbours:WN,regexNormal:h6,regexText:d6,regexNumbers:m6,switches:Sf,clues:lo,uncountable:{},orgWords:g6,placeWords:p6}};Of=q6(Of);const I6=function(e,a,i,o){const s=o.methods.one.setTag;if(e.length>=3){const u=/:/;if(e[0].post.match(u)){const m=e[1];if(m.tags.has("Value")||m.tags.has("Email")||m.tags.has("PhoneNumber"))return;s([e[0]],"Expression",o,null,"2-punct-colon''")}}},J6=function(e,a,i,o){const s=o.methods.one.setTag;e[a].post==="-"&&e[a+1]&&s([e[a],e[a+1]],"Hyphenated",o,null,"1-punct-hyphen''")},x0=/^(under|over|mis|re|un|dis|semi)-?/,R6=function(e,a,i){const o=i.two.switches,s=e[a];if(o.hasOwnProperty(s.normal)){s.switch=o[s.normal];return}if(x0.test(s.normal)){const u=s.normal.replace(x0,"");u.length>3&&o.hasOwnProperty(u)&&(s.switch=o[u])}};var N0={};const Q6=(e,a,i="")=>{const o=h=>"\x1B[33m\x1B[3m"+h+"\x1B[0m",s=h=>"\x1B[3m"+h+"\x1B[0m",u=e.text||"["+e.implicit+"]";typeof a!="string"&&a.length>2&&(a=a.slice(0,2).join(", #")+" +"),a=typeof a!="string"?a.join(", #"):a,console.log(` ${o(u).padEnd(24)} \x1B[32m→\x1B[0m #${a.padEnd(22)} ${s(i)}`)},Ve=function(e,a,i){if(!a||a.length===0||e.frozen===!0)return;const o=typeof process>"u"||!N0?self.env||{}:N0;o&&o.DEBUG_TAGS&&Q6(e,a,i),e.tags=e.tags||new Set,typeof a=="string"?e.tags.add(a):a.forEach(s=>e.tags.add(s))},Y6=["Acronym","Abbreviation","ProperNoun","Uncountable","Possessive","Pronoun","Activity","Honorific","Month"],X6=function(e){!e.tags.has("Noun")||e.tags.has("Plural")||e.tags.has("Singular")||Y6.find(a=>e.tags.has(a))||(my(e.normal)?Ve(e,"Plural","3-plural-guess"):Ve(e,"Singular","3-singular-guess"))},Z6=function(e){const a=e.tags;if(a.has("Verb")&&a.size===1){const i=fy(e.normal);i&&Ve(e,i,"3-verb-tense-guess")}},Nr=function(e,a,i){const o=e[a],s=Array.from(o.tags);for(let u=0;uo.tags.has(h))||o.pre.match(/["']$/)||o.normal==="the"?null:(Nr(e,a,i),!o.tags.has("Noun")&&!o.frozen&&o.tags.clear(),Ve(o,"ProperNoun","2-titlecase"),!0):u.length>=2&&aC.test(u)&&nC.test(u)&&iC.test(u)&&!oC[o.normal]?(Ve(o,"RomanNumeral","2-xvii"),!0):null},C0=function(e="",a=[]){const i=e.length;let o=7;i<=o&&(o=i-1);for(let s=o;s>1;s-=1){const u=e.substring(i-s,i);if(a[u.length].hasOwnProperty(u)===!0)return a[u.length][u]}return null},sC=function(e,a,i){const o=e[a];if(o.tags.size===0){let s=C0(o.normal,i.two.suffixPatterns);if(s!==null)return Ve(o,s,"2-suffix"),o.confidence=.7,!0;if(o.implicit&&(s=C0(o.implicit,i.two.suffixPatterns),s!==null))return Ve(o,s,"2-implicit-suffix"),o.confidence=.7,!0}return null},j0=/['‘’‛‵′`´]/,nf=function(e,a){for(let i=0;ii-3&&(o=i-3);for(let s=o;s>2;s-=1){const u=e.substring(0,s);if(a[u.length].hasOwnProperty(u)===!0)return a[u.length][u]}return null},fC=function(e,a,i){const o=e[a];if(o.tags.size===0){const s=cC(o.normal,i.two.prefixPatterns);if(s!==null)return Ve(o,s,"2-prefix"),o.confidence=.5,!0}return null},hC=1400,dC=2100,mC=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"]),T0=function(e){if(!e)return!1;const a=e.normal||e.implicit;return!!(mC.has(a)||e.tags.has("Date")||e.tags.has("Month")||e.tags.has("WeekDay")||e.tags.has("Year")||e.tags.has("ProperNoun"))},k0=function(e){return e?!!(e.tags.has("Ordinal")||e.tags.has("Cardinal")&&e.normal.length<3||e.normal==="is"||e.normal==="was"):!1},S0=function(e){return e&&(e.tags.has("Date")||e.tags.has("Month")||e.tags.has("WeekDay")||e.tags.has("Year"))},gC=function(e,a){const i=e[a];if(i.tags.has("NumericValue")&&i.tags.has("Cardinal")&&i.normal.length===4){const o=Number(i.normal);if(o&&!isNaN(o)&&o>hC&&o=1920&&o<2025){if(k0(s)||k0(u))return Ve(i,"Year","2-tagYear-close");if(S0(e[a-2])||S0(e[a+2]))return Ve(i,"Year","2-tagYear-far");if(s&&(s.tags.has("Determiner")||s.tags.has("Possessive"))&&u&&u.tags.has("Noun")&&!u.tags.has("Plural"))return Ve(i,"Year","2-tagYear-noun")}}}return null},pC=function(e,a,i,o){const s=o.methods.one.setTag,u=e[a],h=["PastTense","PresentTense","Auxiliary","Modal","Particle"];u.tags.has("Verb")&&(h.find(g=>u.tags.has(g))||s([u],"Infinitive",o,null,"2-verb-type''"))},py=/^[A-Z]('s|,)?$/,yy=/^[A-Z-]+$/,by=/^[A-Z]+s$/,yC=/([A-Z]\.)+[A-Z]?,?$/,bC=/[A-Z]{2,}('s|,)?$/,vC=/([a-z]\.)+[a-z]\.?$/,vy={I:!0,A:!0},wC={la:!0,ny:!0,us:!0,dc:!0,gb:!0},AC=function(e,a){let i=e.text;if(yy.test(i)===!1)if(i.length>3&&by.test(i)===!0)i=i.replace(/s$/,"");else return!1;return i.length>5||vy.hasOwnProperty(i)||a.one.lexicon.hasOwnProperty(e.normal)?!1:yC.test(i)===!0||vC.test(i)===!0||py.test(i)===!0||bC.test(i)===!0},xC=function(e,a,i){const o=e[a];return o.tags.has("RomanNumeral")||o.tags.has("Acronym")||o.frozen?null:AC(o,i)?(o.tags.clear(),Ve(o,["Acronym","Noun"],"3-no-period-acronym"),wC[o.normal]===!0&&Ve(o,"Place","3-place-acronym"),by.test(o.text)===!0&&Ve(o,"Plural","3-plural-acronym"),!0):!vy.hasOwnProperty(o.text)&&py.test(o.text)?(o.tags.clear(),Ve(o,["Acronym","Noun"],"3-one-letter-acronym"),!0):o.tags.has("Organization")&&o.text.length<=3?(Ve(o,"Acronym","3-org-acronym"),!0):o.tags.has("Organization")&&yy.test(o.text)&&o.text.length<=6?(Ve(o,"Acronym","3-titlecase-acronym"),!0):null},D0=function(e,a){if(!e)return null;const i=a.find(o=>e.normal===o[0]);return i?i[1]:null},z0=function(e,a){if(!e)return null;const i=a.find(o=>e.tags.has(o[0]));return i?i[1]:null},NC=function(e,a,i){const{leftTags:o,leftWords:s,rightWords:u,rightTags:h}=i.two.neighbours,m=e[a];if(m.tags.size===0){let g=null;if(g=g||D0(e[a-1],s),g=g||D0(e[a+1],u),g=g||z0(e[a-1],o),g=g||z0(e[a+1],h),g)return Ve(m,g,"3-[neighbour]"),Nr(e,a,i),e[a].confidence=.2,!0}return null},CC=e=>new RegExp("^\\p{Lu}[\\p{Ll}'’]","u").test(e),E0=function(e,a,i){return!e||e.tags.has("FirstName")||e.tags.has("Place")?!1:e.tags.has("ProperNoun")||e.tags.has("Organization")||e.tags.has("Acronym")?!0:!i&&CC(e.text)?a===0?e.tags.has("Singular"):!0:!1},jC=function(e,a,i,o){const s=i.model.two.orgWords,u=i.methods.one.setTag,h=e[a],m=h.machine||h.normal;if(s[m]===!0&&E0(e[a-1],a-1,o)){u([e[a]],"Organization",i,null,"3-[org-word]");for(let g=a;g>=0&&E0(e[g],g,o);g-=1)u([e[g]],"Organization",i,null,"3-[org-word]")}return null},TC=e=>new RegExp("^\\p{Lu}[\\p{Ll}'’]","u").test(e),kC=/'s$/,O0=new Set(["athletic","city","community","eastern","federal","financial","great","historic","historical","local","memorial","municipal","national","northern","provincial","southern","state","western","spring","pine","sunset","view","oak","maple","spruce","cedar","willow"]),SC=new Set(["center","centre","way","range","bar","bridge","field","pit"]),P0=function(e,a,i){if(!e)return!1;const o=e.tags;return o.has("Organization")||o.has("Possessive")||kC.test(e.normal)?!1:o.has("ProperNoun")||o.has("Place")?!0:!i&&TC(e.text)?a===0?o.has("Singular"):!0:!1},DC=function(e,a,i,o){const s=i.model.two.placeWords,u=i.methods.one.setTag,h=e[a],m=h.machine||h.normal;if(s[m]===!0){for(let g=a-1;g>=0;g-=1)if(!O0.has(e[g].normal)){if(P0(e[g],g,o)){u(e.slice(g,a+1),"Place",i,null,"3-[place-of-foo]");continue}break}if(SC.has(m))return!1;for(let g=a+1;ge[a].tags.has("ProperNoun")&&EC.test(e[a].text)?"Noun":null,H0=(e,a,i)=>a===0&&!e[1]?i:null,OC=function(e,a){return!e[a+1]&&e[a-1]&&e[a-1].tags.has("Determiner")?"Noun":null},PC=function(e,a,i){return a===0&&e.length>3?i:null},G0={"Adj|Gerund":(e,a)=>hn(e,a),"Adj|Noun":(e,a)=>hn(e,a)||OC(e,a),"Actor|Verb":(e,a)=>hn(e,a),"Adj|Past":(e,a)=>hn(e,a),"Adj|Present":(e,a)=>hn(e,a),"Noun|Gerund":(e,a)=>hn(e,a),"Noun|Verb":(e,a)=>a>0&&hn(e,a)||H0(e,a,"Infinitive"),"Plural|Verb":(e,a)=>hn(e,a)||H0(e,a,"PresentTense")||PC(e,a,"Plural"),"Person|Noun":(e,a)=>hn(e,a),"Person|Verb":(e,a)=>a!==0?hn(e,a):null,"Person|Adj":(e,a)=>a===0&&e.length>1||hn(e,a)?"Person":null};var M0={};const Wf=typeof process>"u"||!M0?self.env||{}:M0,B0=/^(under|over|mis|re|un|dis|semi)-?/,V0=(e,a)=>{if(!e||!a)return null;const i=e.normal||e.implicit;let o=null;return a.hasOwnProperty(i)&&(o=a[i]),o&&Wf.DEBUG_TAGS&&console.log(` \x1B[2m\x1B[3m ↓ - '${i}' \x1B[0m`),o},$0=(e,a={},i)=>{if(!e||!a)return null;let s=Array.from(e.tags).sort((u,h)=>{const m=i[u]?i[u].parents.length:0,g=i[h]?i[h].parents.length:0;return m>g?-1:1}).find(u=>a[u]);return s&&Wf.DEBUG_TAGS&&console.log(` \x1B[2m\x1B[3m ↓ - '${e.normal||e.implicit}' (#${s}) \x1B[0m`),s=a[s],s},HC=function(e,a,i,o){if(!i)return null;const s=e[a-1]?.text!=="also"?a-1:Math.max(0,a-2),u=o.one.tagSet;let h=V0(e[a+1],i.afterWords);return h=h||V0(e[s],i.beforeWords),h=h||$0(e[s],i.beforeTags,u),h=h||$0(e[a+1],i.afterTags,u),h},GC=function(e,a,i){const o=i.model,s=i.methods.one.setTag,{switches:u,clues:h}=o.two,m=e[a];let g=m.normal||m.implicit||"";if(B0.test(g)&&!u[g]&&(g=g.replace(B0,"")),m.switch){const y=m.switch;if(m.tags.has("Acronym")||m.tags.has("PhrasalVerb"))return;let b=HC(e,a,h[y],o);G0[y]&&(b=G0[y](e,a)||b),b?(s([m],b,i,null,`3-[switch] (${y})`),Nr(e,a,o)):Wf.DEBUG_TAGS&&console.log(` -> X - '${g}' : (${y}) `)}},MC={there:!0,this:!0,it:!0,him:!0,her:!0,us:!0},BC=function(e,a){const i=a.methods.one.setTag,o=a.model.one._multiCache||{},s=e[0];if((s.switch==="Noun|Verb"||s.tags.has("Infinitive"))&&e.length>=2){if(e.length<4&&!MC[e[1].normal]||!s.tags.has("PhrasalVerb")&&o.hasOwnProperty(s.normal))return;(e[1].tags.has("Noun")||e[1].tags.has("Determiner"))&&(!e.slice(1,3).some(g=>g.tags.has("Verb"))||s.tags.has("#PhrasalVerb"))&&i([s],"Imperative",a,null,"3-[imperative]")}},VC=function(e){if(e.filter(i=>!i.tags.has("ProperNoun")).length<=3)return!1;const a=/^[a-z]/;return e.every(i=>!a.test(i.text))},$C=function(e,a,i){e.forEach(o=>{I6(o,0,a,i)})},UC=function(e,a,i,o){for(let s=0;s{let a=e.machine||e.normal||e.text;return a=a.replace(/'s$/,""),a},Plural:(e,a)=>{const i=e.machine||e.normal||e.text;return a.methods.two.transform.noun.toSingular(i,a.model)},Copula:()=>"is",PastTense:(e,a)=>{const i=e.machine||e.normal||e.text;return a.methods.two.transform.verb.toInfinitive(i,a.model,"PastTense")},Gerund:(e,a)=>{const i=e.machine||e.normal||e.text;return a.methods.two.transform.verb.toInfinitive(i,a.model,"Gerund")},PresentTense:(e,a)=>{const i=e.machine||e.normal||e.text;return e.tags.has("Infinitive")?i:a.methods.two.transform.verb.toInfinitive(i,a.model,"PresentTense")},Comparative:(e,a)=>{const i=e.machine||e.normal||e.text;return a.methods.two.transform.adjective.fromComparative(i,a.model)},Superlative:(e,a)=>{const i=e.machine||e.normal||e.text;return a.methods.two.transform.adjective.fromSuperlative(i,a.model)},Adverb:(e,a)=>{const{fromAdverb:i}=a.methods.two.transform.adjective,o=e.machine||e.normal||e.text;return i(o)}},FC=function(e){const a=e.world,i=Object.keys(U0);e.docs.forEach(o=>{for(let s=0;s{a.forEach(i=>{i.penn=KC(i)})})},IC={preTagger:LC,root:FC,penn:qC},af=["Person","Place","Organization"],JC={Noun:{not:["Verb","Adjective","Adverb","Value","Determiner"]},Singular:{is:"Noun",not:["Plural","Uncountable"]},ProperNoun:{is:"Noun"},Person:{is:"Singular",also:["ProperNoun"],not:["Place","Organization","Date"]},FirstName:{is:"Person"},MaleName:{is:"FirstName",not:["FemaleName","LastName"]},FemaleName:{is:"FirstName",not:["MaleName","LastName"]},LastName:{is:"Person",not:["FirstName"]},Honorific:{is:"Person",not:["FirstName","LastName","Value"]},Place:{is:"Singular",not:["Person","Organization"]},Country:{is:"Place",also:["ProperNoun"],not:["City"]},City:{is:"Place",also:["ProperNoun"],not:["Country"]},Region:{is:"Place",also:["ProperNoun"]},Address:{},Organization:{is:"ProperNoun",not:["Person","Place"]},SportsTeam:{is:"Organization"},School:{is:"Organization"},Company:{is:"Organization"},Plural:{is:"Noun",not:["Singular","Uncountable"]},Uncountable:{is:"Noun"},Pronoun:{is:"Noun",not:af},Actor:{is:"Noun",not:["Place","Organization"]},Activity:{is:"Noun",not:["Person","Place"]},Unit:{is:"Noun",not:af},Demonym:{is:"Noun",also:["ProperNoun"],not:af},Possessive:{is:"Noun"},Reflexive:{is:"Pronoun"}},RC={Verb:{not:["Noun","Adjective","Adverb","Value","Expression"]},PresentTense:{is:"Verb",not:["PastTense","FutureTense"]},Infinitive:{is:"PresentTense",not:["Gerund"]},Imperative:{is:"Verb",not:["PastTense","Gerund","Copula"]},Gerund:{is:"PresentTense",not:["Copula"]},PastTense:{is:"Verb",not:["PresentTense","Gerund","FutureTense"]},FutureTense:{is:"Verb",not:["PresentTense","PastTense"]},Copula:{is:"Verb"},Modal:{is:"Verb",not:["Infinitive"]},Participle:{is:"PastTense"},Auxiliary:{is:"Verb",not:["PastTense","PresentTense","Gerund","Conjunction"]},PhrasalVerb:{is:"Verb"},Particle:{is:"PhrasalVerb",not:["PastTense","PresentTense","Copula","Gerund"]},Passive:{is:"Verb"}},QC={Value:{not:["Verb","Adjective","Adverb"]},Ordinal:{is:"Value",not:["Cardinal"]},Cardinal:{is:"Value",not:["Ordinal"]},Fraction:{is:"Value",not:["Noun"]},Multiple:{is:"TextValue"},RomanNumeral:{is:"Cardinal",not:["TextValue"]},TextValue:{is:"Value",not:["NumericValue"]},NumericValue:{is:"Value",not:["TextValue"]},Money:{is:"Cardinal"},Percent:{is:"Value"}},YC={Date:{not:["Verb","Adverb","Adjective"]},Month:{is:"Date",also:["Noun"],not:["Year","WeekDay","Time"]},WeekDay:{is:"Date",also:["Noun"]},Year:{is:"Date",not:["RomanNumeral"]},FinancialQuarter:{is:"Date",not:"Fraction"},Holiday:{is:"Date",also:["Noun"]},Season:{is:"Date"},Timezone:{is:"Date",also:["Noun"],not:["ProperNoun"]},Time:{is:"Date",not:["AtMention"]},Duration:{is:"Date",also:["Noun"]}},XC=["Noun","Verb","Adjective","Adverb","Value","QuestionWord"],ZC={Adjective:{not:["Noun","Verb","Adverb","Value"]},Comparable:{is:"Adjective"},Comparative:{is:"Adjective"},Superlative:{is:"Adjective",not:["Comparative"]},NumberRange:{},Adverb:{not:["Noun","Verb","Adjective","Value"]},Determiner:{not:["Noun","Verb","Adjective","Adverb","QuestionWord","Conjunction"]},Conjunction:{not:XC},Preposition:{not:["Noun","Verb","Adjective","Adverb","QuestionWord","Determiner"]},QuestionWord:{not:["Determiner"]},Currency:{is:"Noun"},Expression:{not:["Noun","Adjective","Verb","Adverb"]},Abbreviation:{},Url:{not:["HashTag","PhoneNumber","Verb","Adjective","Value","AtMention","Email","SlashedTerm"]},PhoneNumber:{not:["HashTag","Verb","Adjective","Value","AtMention","Email"]},HashTag:{},AtMention:{is:"Noun",not:["HashTag","Email"]},Emoji:{not:["HashTag","Verb","Adjective","Value","AtMention"]},Emoticon:{not:["HashTag","Verb","Adjective","Value","AtMention","SlashedTerm"]},SlashedTerm:{not:["Emoticon","Url","Value"]},Email:{not:["HashTag","Verb","Adjective","Value","AtMention"]},Acronym:{not:["Plural","RomanNumeral","Pronoun","Date"]},Negative:{not:["Noun","Adjective","Value","Expression"]},Condition:{not:["Verb","Adjective","Noun","Value"]},There:{not:["Verb","Adjective","Noun","Value","Conjunction","Preposition"]},Prefix:{not:["Abbreviation","Acronym","ProperNoun"]},Hyphenated:{}},WC=Object.assign({},JC,RC,QC,YC,ZC),ej={compute:IC,methods:zf,model:Of,tags:WC,hooks:["preTagger"]},tj=/[,)"';:\-–—.…]/,Rn=function(e,a){if(!e.found)return;const i=e.termList();for(let o=0;o{o.implicit=o.normal,o.text="",o.normal=""});for(let o=0;oa.toUpperCase()),e},oj=function(e){class a extends e{constructor(o,s,u){super(o,s,u),this.viewType="Contraction"}expand(){return this.docs.forEach(o=>{const s=aj.test(o[0].text);o.forEach((u,h)=>{u.text=u.implicit||"",delete u.implicit,h(u.implicit=u.text,u.machine=u.text,u.pre="",u.post="",u.text="",u.normal="",u.index=[o,s+h],u)),i[0]&&(i[0].pre=e[o][s].pre,i[i.length-1].post=e[o][s].post,i[0].text=e[o][s].text,i[0].normal=e[o][s].normal),e[o].splice(s,1,...i))},sj=/'/,lj=new Set(["been","become"]),uj=new Set(["what","how","when","if","too"]),cj=new Set(["too","also","enough"]),fj=(e,a)=>{for(let i=a+1;i{for(let i=a+1;i=0;i-=1)if(e[i].tags.has("Noun")||e[i].tags.has("Pronoun")||e[i].tags.has("Plural")||e[i].tags.has("Singular"))return e[i];return null},vj=function(e,a){if(e[a].normal==="ain't"||e[a].normal==="aint"){if(e[a+1]&&e[a+1].normal==="never")return["have"];const o=bj(e,a);if(o){if(o.normal==="we"||o.normal==="they")return["are","not"];if(o.normal==="i")return["am","not"];if(o.tags&&o.tags.has("Plural"))return["are","not"]}return["is","not"]}return[e[a].normal.replace(/n't/,""),"not"]},wj={that:!0,there:!0,let:!0,here:!0,everywhere:!0},Aj={in:!0,by:!0,for:!0},xj=new Set(["too","also","enough","about"]),Nj=new Set(["is","are","did","were","could","should","must","had","have"]),Cj=(e,a)=>{const i=e[a];if(wj.hasOwnProperty(i.machine||i.normal))return!1;if(i.tags.has("Possessive"))return!0;if(i.tags.has("QuestionWord")||i.normal==="he's"||i.normal==="she's")return!1;const o=e[a+1];if(!o)return!0;if(i.normal==="it's")return!!o.tags.has("#Noun");if(o.switch=="Noun|Gerund"){const s=e[a+2];return s?s.tags.has("Copula")?!0:(s.normal==="on"||s.normal==="in",!1):!!(i.tags.has("Actor")||i.tags.has("ProperNoun"))}if(o.tags.has("Verb"))return o.tags.has("Infinitive")?!0:o.tags.has("Gerund")?!1:!!o.tags.has("PresentTense");if(o.switch==="Adj|Noun"){const s=e[a+2];if(!s)return!1;if(Nj.has(s.normal))return!0;if(xj.has(s.normal))return!1}if(o.tags.has("Noun")){const s=o.machine||o.normal;return!(s==="here"||s==="there"||s==="everywhere"||o.tags.has("Possessive")||o.tags.has("ProperNoun")&&!i.tags.has("ProperNoun"))}if(e[a-1]&&Aj[e[a-1].normal]===!0)return!0;if(o.tags.has("Adjective")){const s=e[a+2];if(!s)return!1;if(s.tags.has("Noun")&&!s.tags.has("Pronoun")){const u=o.normal;return!(u==="above"||u==="below"||u==="behind")}return s.switch==="Noun|Verb"}return!!o.tags.has("Value")},L0=/'/,jj=function(e){e.forEach((a,i)=>{a.index&&(a.index[1]=i)})},Tj=function(e,a,i,o){const s=a.update();s.document=[e];let u=i+o;i>0&&(i-=1),e[u]&&(u+=1),s.ptrs=[[0,i,u]],s.compute(["freeze","lexicon","preTagger","unfreeze"]),jj(e)},F0={d:(e,a)=>yj(e,a),t:(e,a)=>vj(e,a),s:(e,a,i)=>Cj(e,a)?i.methods.one.setTag([e[a]],"Possessive",i,null,"2-contraction"):hj(e,a)},kj=function(e,a){const i=a.fromText(e.join(" "));return i.compute("id"),i.docs[0]},Sj=e=>{const{world:a,document:i}=e;i.forEach((o,s)=>{for(let u=o.length-1;u>=0;u-=1){if(o[u].implicit)continue;let h=null;L0.test(o[u].normal)===!0&&(h=o[u].normal.split(L0)[1]);let m=null;if(F0.hasOwnProperty(h)&&(m=F0[h](o,u,a)),m){m=kj(m,e),rj(i,[s,u],m),Tj(i[s],e,u,m.length);continue}}})},Dj={contractionTwo:Sj},zj={compute:Dj,api:oj,hooks:["contractionTwo"]},Ej=[{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"}],Oj="(dark|bright|flat|light|soft|pale|dead|dim|faux|little|wee|sheer|most|near|good|extra|all)",K0="(hard|fast|late|early|high|right|deep|close|direct)",Pj=[{match:"#Adverb [#Adverb] (and|or|then)",group:0,tag:"Adjective",reason:"kinda-sparkly-and"},{match:`[${Oj}] #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 ${K0}`,tag:"#PresentTense #Adverb",reason:"studies-hard"},{match:`#Verb [${K0}] !#Noun?`,group:0,notIf:"(#Copula|get|got|getting|become|became|becoming|feel|feels|feeling|#Determiner|#Preposition)",tag:"Adverb",reason:"shops-direct"},{match:"[#Plural] a lot",tag:"PresentTense",reason:"studies-a-lot"}],Hj=[{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:"%Noun|Gerund% %Adj|Gerund%",tag:"Gerund #Adjective",reason:"meaning-alluring"},{match:"(face|embrace|reveal|stop|start|resume) %Adj|Gerund%",tag:"#PresentTense #Adjective",reason:"face-shocking"},{match:"(are|were) [%Adj|Gerund%] #Plural",group:0,tag:"Adjective",reason:"are-enduring-symbols"}],Gj=[{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:"[%Adj|Noun%] #Noun",notIf:"(#Pronoun|#ProperNoun)",group:0,tag:"Adjective",reason:"stable-foundations"}],Mj=[{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:"#Copula [%Adj|Past%] with",group:0,tag:"Adjective",notIf:"(associated|worn|baked|aged|armed|bound|fried|loaded|mixed|packed|pumped|filled|sealed)",reason:"is-crowded-with"},{match:"#Copula #Adverb? [%Adj|Present%]$",group:0,tag:"Adjective",reason:"was-empty$"}],Bj=[{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"}],Vj=[{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"}],$j=[{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"}],Uj="(feel|sense|process|rush|side|bomb|bully|challenge|cover|crush|dump|exchange|flow|function|issue|lecture|limit|march|process)",_j=[{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 [${Uj}] !(#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"}],Lj=[{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"}],Fj=[{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"}],Kj=[{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"}],qj=[{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"}],Ij=[{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"}],Jj=[{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"}],Rj=[{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"}],Qj=[{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"}],Yj=[{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"}],Xj=[{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"}],of="(i|we|they)",Zj=[{match:"^do not? [#Infinitive #Particle?]",notIf:of,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:of,group:0,tag:"Imperative",reason:"do-it-better"},{match:"^[#Infinitive] it (please|now|again|plz)",notIf:of,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"}],Wj=[{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"}],eT=[{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"}],tT=[{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"}],nT=[{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:"#Place+ #Noun{0,2} (club|society|group|team|committee|commission|association|guild|crew)",tag:"Organization",reason:"place-noun-society"}],aT=[{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:"(port|mount|mt) #ProperName",tag:"Place",reason:"port-name"}],iT=[{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"}],oT=[{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"}],rT=[].concat(eT,Ej,Pj,Hj,Gj,Bj,$j,Vj,_j,Lj,Fj,Kj,qj,Ij,Jj,Rj,Qj,Mj,Yj,Xj,Zj,Wj,tT,nT,aT,iT,oT),sT={two:{matches:rT}};let rf=null;const lT=function(e){const{world:a}=e,{model:i,methods:o}=a;rf=rf||o.one.buildNet(i.two.matches,a);const u=o.two.quickSplit(e.document).map(m=>{const g=m[0];return[g.index[0],g.index[1],g.index[1]+m.length]}),h=e.update(u);return h.cache(),h.sweep(rf),e.uncache(),e.unfreeze(),e},uT=e=>e.compute(["freeze","lexicon","preTagger","postTagger","unfreeze"]),cT={postTagger:lT,tagger:uT},fT=e=>Math.round(e*100)/100;function hT(e){e.prototype.confidence=function(){let a=0,i=0;return this.docs.forEach(o=>{o.forEach(s=>{i+=1,a+=s.confidence||1})}),i===0?1:fT(a/i)},e.prototype.tagger=function(){return this.compute(["tagger"])}}const dT={api:hT,compute:cT,model:sT,hooks:["postTagger"]},mT=function(e){return Object.keys(e.hooks).filter(a=>!a.startsWith("#")&&!a.startsWith("%"))},gT=function(e,a){const i=mT(a);if(i.length===0)return e;e._cache||e.cache();const o=e._cache;return e.filter((s,u)=>i.some(h=>o[u].has(h)))},pT=function(e,a){let i=a;typeof a=="string"&&(i=this.buildNet([{match:a}]));const o=this.tokenize(e),s=gT(o,i);return s.found?(s.compute(["index","tagger"]),s.match(a)):o.none()},yT={lib:{lazy:pT}},bT=function(e,a){const i=e.methods.two.transform.verb.conjugate,o=i(a,e.model);return e.has("#Gerund")?o.Gerund:e.has("#PastTense")?o.PastTense:e.has("#PresentTense")?o.PresentTense:e.has("#Gerund")?o.Gerund:a},vT=function(e,a){let i=a;return e.forEach(o=>{o.has("#Infinitive")||(i=bT(o,a)),o.replaceWith(i)}),e},wT=function(e,a){let i=a;if(e.has("#Plural")){const o=e.methods.two.transform.noun.toPlural;i=o(a,e.model)}e.replaceWith(i,{possessives:!0})},AT=function(e,a){const{toAdverb:i}=e.methods.two.transform.adjective,s=i(a);s&&e.replaceWith(s)},xT=function(e,a){const{toComparative:i,toSuperlative:o}=e.methods.two.transform.adjective;let s=a;e.has("#Comparative")?s=i(s,e.model):e.has("#Superlative")&&(s=o(s,e.model)),s&&e.replaceWith(s)},NT=function(e,a,i){let o=e.split(/ /g).map(u=>u.toLowerCase().trim());o=o.filter(u=>u),o=o.map(u=>`{${u}}`).join(" ");let s=this.match(o);return i&&(s=s.if(i)),s.has("#Verb")?vT(s,a):s.has("#Noun")?wT(s,a):s.has("#Adverb")?AT(s,a):s.has("#Adjective")?xT(s,a):this},CT=function(e){e.prototype.swap=NT},jT={api:CT};K.plugin(ej);K.plugin(zj);K.plugin(dT);K.plugin(yT);K.plugin(jT);const no=function(e){const{fromComparative:a,fromSuperlative:i}=e.methods.two.transform.adjective,o=e.text("normal");return e.has("#Comparative")?a(o,e.model):e.has("#Superlative")?i(o,e.model):o},TT=function(e){class a extends e{constructor(o,s,u){super(o,s,u),this.viewType="Adjectives"}json(o={}){const{toAdverb:s,toNoun:u,toSuperlative:h,toComparative:m}=this.methods.two.transform.adjective;return o.normal=!0,this.map(g=>{const y=g.toView().json(o)[0]||{},b=no(g);return y.adjective={adverb:s(b,this.model),noun:u(b,this.model),superlative:h(b,this.model),comparative:m(b,this.model)},y},[])}adverbs(){return this.before("#Adverb+$").concat(this.after("^#Adverb+"))}conjugate(o){const{toComparative:s,toSuperlative:u,toNoun:h,toAdverb:m}=this.methods.two.transform.adjective;return this.getNth(o).map(g=>{const y=no(g);return{Adjective:y,Comparative:s(y,this.model),Superlative:u(y,this.model),Noun:h(y,this.model),Adverb:m(y,this.model)}},[])}toComparative(o){const{toComparative:s}=this.methods.two.transform.adjective;return this.getNth(o).map(u=>{const h=no(u),m=s(h,this.model);return u.replaceWith(m)})}toSuperlative(o){const{toSuperlative:s}=this.methods.two.transform.adjective;return this.getNth(o).map(u=>{const h=no(u),m=s(h,this.model);return u.replaceWith(m)})}toAdverb(o){const{toAdverb:s}=this.methods.two.transform.adjective;return this.getNth(o).map(u=>{const h=no(u),m=s(h,this.model);return u.replaceWith(m)})}toNoun(o){const{toNoun:s}=this.methods.two.transform.adjective;return this.getNth(o).map(u=>{const h=no(u),m=s(h,this.model);return u.replaceWith(m)})}}e.prototype.adjectives=function(i){let o=this.match("#Adjective");return o=o.getNth(i),new a(o.document,o.pointer)},e.prototype.superlatives=function(i){let o=this.match("#Superlative");return o=o.getNth(i),new a(o.document,o.pointer)},e.prototype.comparatives=function(i){let o=this.match("#Comparative");return o=o.getNth(i),new a(o.document,o.pointer)}},kT={api:TT},ST=function(e){return e.compute("root").text("root")},DT=function(e){class a extends e{constructor(o,s,u){super(o,s,u),this.viewType="Adverbs"}conjugate(o){return this.getNth(o).map(s=>{const u=ST(s);return{Adverb:s.text("normal"),Adjective:u}},[])}json(o={}){const s=this.methods.two.transform.adjective.fromAdverb;return o.normal=!0,this.map(u=>{const h=u.toView().json(o)[0]||{};return h.adverb={adjective:s(h.normal)},h},[])}}e.prototype.adverbs=function(i){let o=this.match("#Adverb");return o=o.getNth(i),new a(o.document,o.pointer)}},zT={api:DT},ET=function(e){let a=e.match("@hasComma");return a=a.filter(i=>{if(i.growLeft(".").wordCount()===1||i.growRight(". .").wordCount()===1)return!1;let o=i.grow(".");return o=o.ifNo("@hasComma @hasComma"),o=o.ifNo("@hasComma (and|or) ."),o=o.ifNo("(#City && @hasComma) #Country"),o=o.ifNo("(#WeekDay && @hasComma) #Date"),o=o.ifNo("(#Date+ && @hasComma) #Value"),o=o.ifNo("(#Adjective && @hasComma) #Adjective"),o.found}),e.splitAfter(a)},OT=function(e){let a=e.parentheses();return a=a.filter(i=>i.wordCount()>=3&&i.has("#Verb")&&i.has("#Noun")),e.splitOn(a)},PT=function(e){let a=e.quotations();return a=a.filter(i=>i.wordCount()>=3&&i.has("#Verb")&&i.has("#Noun")),e.splitOn(a)},HT=function(e){let a=this;a=OT(a),a=PT(a),a=ET(a),a=a.splitAfter("(@hasEllipses|@hasSemicolon|@hasDash|@hasColon)"),a=a.splitAfter("^#Pronoun (said|says)"),a=a.splitBefore("(said|says) #ProperNoun$"),a=a.splitBefore(". . if .{4}"),a=a.splitBefore("and while"),a=a.splitBefore("now that"),a=a.splitBefore("ever since"),a=a.splitBefore("(supposing|although)"),a=a.splitBefore("even (while|if|though)"),a=a.splitBefore("(whereas|whose)"),a=a.splitBefore("as (though|if)"),a=a.splitBefore("(til|until)");const i=a.match("#Verb .* [but] .* #Verb",0);i.found&&(a=a.splitBefore(i));const o=a.if("if .{2,9} then .").match("then");return a=a.splitBefore(o),typeof e=="number"&&(a=a.get(e)),a},GT=function(e){const a=[];let i=null;return e.clauses().docs.forEach(u=>{u.forEach(h=>{!h.chunk||h.chunk!==i?(i=h.chunk,a.push([h.index[0],h.index[1],h.index[1]+1])):a[a.length-1][2]=h.index[1]+1}),i=null}),e.update(a)},MT=function(e){class a extends e{constructor(o,s,u){super(o,s,u),this.viewType="Chunks"}isVerb(){return this.filter(o=>o.has(""))}isNoun(){return this.filter(o=>o.has(""))}isAdjective(){return this.filter(o=>o.has(""))}isPivot(){return this.filter(o=>o.has(""))}debug(){return this.toView().debug("chunks"),this}update(o){const s=new a(this.document,o);return s._cache=this._cache,s}}e.prototype.chunks=function(i){let o=GT(this);return o=o.getNth(i),new a(this.document,o.pointer)},e.prototype.clauses=HT},q0={this:"Noun",then:"Pivot"},BT=function(e){for(let a=0;a",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 sf=null;const UT=function(e,a,i){const{methods:o}=i;sf=sf||o.one.buildNet($T,i),e.sweep(sf)};var I0={};const lf=function(e,a){if((typeof process>"u"||!I0?self.env||{}:I0).DEBUG_CHUNKS){const o=(e.normal+"'").padEnd(8);console.log(` | '${o} → \x1B[34m${a.padEnd(12)}\x1B[0m \x1B[2m -fallback- \x1B[0m`)}e.chunk=a},_T=function(e){for(let a=0;a{for(let s=0;s{o.chunk==="Verb"&&(o.terms.find(u=>u.tags.has("Verb"))||o.terms.forEach(u=>u.chunk=null))})},FT=function(e){const{document:a,world:i}=e;BT(a),VT(a),UT(e,a,i),_T(a),LT(a)},KT={chunks:FT},qT={compute:KT,api:MT,hooks:["chunks"]},sl=/\./g,IT=function(e){class a extends e{constructor(o,s,u){super(o,s,u),this.viewType="Acronyms"}strip(){return this.docs.forEach(o=>{o.forEach(s=>{s.text=s.text.replace(sl,""),s.normal=s.normal.replace(sl,"")})}),this}addPeriods(){return this.docs.forEach(o=>{o.forEach(s=>{s.text=s.text.replace(sl,""),s.normal=s.normal.replace(sl,""),s.text=s.text.split("").join(".")+".",s.normal=s.normal.split("").join(".")+"."})}),this}}e.prototype.acronyms=function(i){let o=this.match("#Acronym");return o=o.getNth(i),new a(o.document,o.pointer)}},wy=/\(/,Ay=/\)/,JT=function(e,a){for(;a{for(let o=0;o{a[0].pre=a[0].pre.replace(wy,"");const i=a[a.length-1];i.post=i.post.replace(Ay,"")}),e},YT=function(e){class a extends e{constructor(o,s,u){super(o,s,u),this.viewType="Possessives"}strip(){return QT(this)}}e.prototype.parentheses=function(i){let o=RT(this);return o=o.getNth(i),new a(o.document,o.pointer)}},J0=/'s$/,XT=function(e){let a=e.match("#Possessive+");return a.has("#Person")&&(a=a.growLeft("#Person+")),a.has("#Place")&&(a=a.growLeft("#Place+")),a.has("#Organization")&&(a=a.growLeft("#Organization+")),a},ZT=function(e){class a extends e{constructor(o,s,u){super(o,s,u),this.viewType="Possessives"}strip(){return this.docs.forEach(o=>{o.forEach(s=>{s.text=s.text.replace(J0,""),s.normal=s.normal.replace(J0,"")})}),this}}e.prototype.possessives=function(i){let o=XT(this);return o=o.getNth(i),new a(o.document,o.pointer)}},bl={'"':'"',""":""","'":"'","“":"”","‘":"’","‟":"”","‛":"’","„":"”","⹂":"”","‚":"’","«":"»","‹":"›","‵":"′","‶":"″","‷":"‴","〝":"〞","`":"´","〟":"〞"},eh=RegExp("["+Object.keys(bl).join("")+"]"),WT=RegExp("["+Object.values(bl).join("")+"]"),ek=function(e,a){const i=e[a].pre.match(eh)[0]||"";if(!i||!bl[i])return null;const o=bl[i];for(;a{for(let o=0;o{a[0].pre=a[0].pre.replace(eh,"");const i=a[a.length-1];i.post=i.post.replace(WT,"")})},ak=function(e){class a extends e{constructor(o,s,u){super(o,s,u),this.viewType="Possessives"}strip(){return nk(this)}}e.prototype.quotations=function(i){let o=tk(this);return o=o.getNth(i),new a(o.document,o.pointer)}},ik=function(e){let a=this.splitAfter("@hasComma");return a=a.match("#PhoneNumber+"),a=a.getNth(e),a},ok=[["hyphenated","@hasHyphen ."],["hashTags","#HashTag"],["emails","#Email"],["emoji","#Emoji"],["emoticons","#Emoticon"],["atMentions","#AtMention"],["urls","#Url"],["conjunctions","#Conjunction"],["prepositions","#Preposition"],["abbreviations","#Abbreviation"],["honorifics","#Honorific"]],rk=[["emojis","emoji"],["atmentions","atMentions"]],sk=function(e){ok.forEach(a=>{e.prototype[a[0]]=function(i){const o=this.match(a[1]);return typeof i=="number"?o.get(i):o}}),e.prototype.phoneNumbers=ik,rk.forEach(a=>{e.prototype[a[0]]=e.prototype[a[1]]})},lk=/\//,uk=function(e){class a extends e{constructor(o,s,u){super(o,s,u),this.viewType="Slashes"}split(){return this.map(o=>{const u=o.text().split(lk);return o=o.replaceWith(u.join(" ")),o.growRight("("+u.join("|")+")+")})}}e.prototype.slashes=function(i){let o=this.match("#SlashedTerm");return o=o.getNth(i),new a(o.document,o.pointer)}},ck={api:function(e){IT(e),YT(e),ZT(e),ak(e),sk(e),uk(e)}},ll=function(e,a){e.docs.forEach(i=>{i.forEach(a)})},R0={case:e=>{ll(e,a=>{a.text=a.text.toLowerCase()})},unicode:e=>{const a=e.world,i=a.methods.one.killUnicode;ll(e,o=>o.text=i(o.text,a))},whitespace:e=>{ll(e,a=>{a.post=a.post.replace(/\s+/g," "),a.post=a.post.replace(/\s([.,?!:;])/g,"$1"),a.pre=a.pre.replace(/\s+/g,"")})},punctuation:e=>{ll(e,o=>{o.post=o.post.replace(/[–—-]/g," "),o.post=o.post.replace(/[,:;]/g,""),o.post=o.post.replace(/\.{2,}/g,""),o.post=o.post.replace(/\?{2,}/g,"?"),o.post=o.post.replace(/!{2,}/g,"!"),o.post=o.post.replace(/\?!+/g,"?")});const a=e.docs,i=a[a.length-1];if(i&&i.length>0){const o=i[i.length-1];o.post=o.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 a=/^\s*([-–—*•])\s*$/;return e.docs.forEach(i=>{a.test(i[0].pre)&&(i[0].pre=i[0].pre.replace(a,""))}),e}},uf=e=>e.split("|").reduce((a,i)=>(a[i]=!0,a),{}),cf="unicode|punctuation|whitespace|acronyms",Q0="|case|contractions|parentheses|quotations|emoji|honorifics|debullet",fk="|possessives|adverbs|nouns|verbs",hk={light:uf(cf),medium:uf(cf+Q0),heavy:uf(cf+Q0+fk)};function dk(e){e.prototype.normalize=function(a="light"){return typeof a=="string"&&(a=hk[a]),Object.keys(a).forEach(i=>{R0.hasOwnProperty(i)&&R0[i](this,a[i])}),this}}const mk={api:dk},gk=function(e){let a=e.clauses().match(""),i=a.match("@hasComma");return i=i.not("#Place"),i.found&&(a=a.splitAfter(i)),a=a.splitOn("#Expression"),a=a.splitOn("(he|she|we|you|they|i)"),a=a.splitOn("(#Noun|#Adjective) [(he|him|she|it)]",0),a=a.splitOn("[(he|him|she|it)] (#Determiner|#Value)",0),a=a.splitBefore("#Noun [(the|a|an)] #Adjective? #Noun",0),a=a.splitOn("[(here|there)] #Noun",0),a=a.splitOn("[#Noun] (here|there)",0),a=a.splitBefore("(our|my|their|your)"),a=a.splitOn("#Noun [#Determiner]",0),a=a.if("#Noun"),a},Y0=["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"],pk=function(e){if(e.before("#Preposition$").found)return!0;if(!e.before().found)return!1;for(let i=0;i3&&i.endsWith("s")&&!i.endsWith("ss")},vk=function(e){let a=e.clone();return a=a.match("#Noun+"),a=a.remove("(#Adjective|#Preposition|#Determiner|#Value)"),a=a.not("#Possessive"),a=a.first(),a.found?a:e},Ea=function(e){const a=vk(e);return{determiner:e.match("#Determiner").eq(0),adjectives:e.match("#Adjective"),number:e.values(),isPlural:bk(e,a),isSubordinate:pk(e),root:a}},X0=e=>e.text(),wk=e=>e.json({terms:!1,normal:!0}).map(a=>a.normal),Ak=function(e){if(!e.found)return null;const i=e.values(0);return i.found?(i.parse()[0]||{}).num:null},xk=function(e){const a=Ea(e);return{root:X0(a.root),number:Ak(a.number),determiner:X0(a.determiner),adjectives:wk(a.adjectives),isPlural:a.isPlural,isSubordinate:a.isSubordinate}},xy=function(e){return!e.has("^(#Uncountable|#ProperNoun|#Place|#Pronoun|#Acronym)+$")},Nk={tags:!0},Ck=function(e,a){if(a.isPlural===!0||(a.root.has("#Possessive")&&(a.root=a.root.possessives().strip()),!xy(a.root)))return e;const{methods:i,model:o}=e.world,{toPlural:s}=i.two.transform.noun,u=a.root.text({keepPunct:!1}),h=s(u,o);e.match(a.root).replaceWith(h,Nk).tag("Plural","toPlural"),a.determiner.has("(a|an)")&&e.remove(a.determiner);const m=a.root.after("not? #Adverb+? [#Copula]",0);return m.found&&(m.has("is")?e.replace(m,"are"):m.has("was")&&e.replace(m,"were")),e},jk={tags:!0},Tk=function(e,a){if(a.isPlural===!1)return e;const{methods:i,model:o}=e.world,{toSingular:s}=i.two.transform.noun,u=a.root.text("normal"),h=s(u,o);return e.replace(a.root,h,jk).tag("Singular","toPlural"),e},kk=function(e){class a extends e{constructor(o,s,u){super(o,s,u),this.viewType="Nouns"}parse(o){return this.getNth(o).map(Ea)}json(o){const s=typeof o=="object"?o:{};return this.getNth(o).map(u=>{const h=u.toView().json(s)[0]||{};return s&&s.noun!==!1&&(h.noun=xk(u)),h},[])}conjugate(o){const s=this.world.methods.two.transform.noun;return this.getNth(o).map(u=>{const h=Ea(u),m=h.root.compute("root").text("root"),g={Singular:m};return xy(h.root)&&(g.Plural=s.toPlural(m,this.model)),g.Singular===g.Plural&&delete g.Plural,g},[])}isPlural(o){return this.filter(u=>Ea(u).isPlural).getNth(o)}isSingular(o){return this.filter(u=>!Ea(u).isPlural).getNth(o)}adjectives(o){let s=this.update([]);return this.forEach(u=>{const h=Ea(u).adjectives;h.found&&(s=s.concat(h))}),s.getNth(o)}toPlural(o){return this.getNth(o).map(s=>Ck(s,Ea(s)))}toSingular(o){return this.getNth(o).map(s=>{const u=Ea(s);return Tk(s,u)})}update(o){const s=new a(this.document,o);return s._cache=this._cache,s}}e.prototype.nouns=function(i){let o=gk(this);return o=o.getNth(i),new a(this.document,o.pointer)}},Sk={api:kk},Dk=function(e,a){let i=e.match("#Fraction+");return i=i.filter(o=>!o.lookBehind("#Value and$").found),i=i.notIf("#Value seconds"),i},zk=e=>{const a=[{reg:/^(minus|negative)[\s-]/i,mult:-1},{reg:/^(a\s)?half[\s-](of\s)?/i,mult:.5}];for(let i=0;i{if(Fe.ones.hasOwnProperty(e)){if(a.ones||a.teens)return!1}else if(Fe.teens.hasOwnProperty(e)){if(a.ones||a.teens||a.tens)return!1}else if(Fe.tens.hasOwnProperty(e)&&(a.ones||a.teens||a.tens))return!1;return!0},Ok=function(e){let a="0.";for(let i=0;i(e=e.replace(/1st$/,"1"),e=e.replace(/2nd$/,"2"),e=e.replace(/3rd$/,"3"),e=e.replace(/([4567890])r?th$/,"$1"),e=e.replace(/^[$€¥£¢]/,""),e=e.replace(/[%$€¥£¢]$/,""),e=e.replace(/,/g,""),e=e.replace(/([0-9])([a-z\u00C0-\u00FF]{1,2})$/,"$1"),e),Hk=/^([0-9,. ]+)\/([0-9,. ]+)$/,Z0={"a few":3,"a couple":2,"a dozen":12,"two dozen":24,zero:0},ul=e=>Object.keys(e).reduce((a,i)=>(a+=e[i],a),0),Pf=function(e){if(Z0.hasOwnProperty(e)===!0)return Z0[e];if(e==="a"||e==="an")return 1;const a=zk(e);e=a.str;let i=null,o={},s=0,u=!1;const h=e.split(/[ -]/);for(let m=0;m#Value+] out of every? [#Value+]");if(a.found!==!0)return null;let{num:i,den:o}=a.groups();return!i||!o||(i=yr(i),o=yr(o),!i||!o)?null:typeof i=="number"&&typeof o=="number"?{numerator:i,denominator:o}:null},Bk=function(e){const a=e.match("[(#Cardinal|a)+] [#Fraction+]");if(a.found!==!0)return null;let{num:i,den:o}=a.groups();i.has("a")?i=1:i=yr(i);let s=o.text("reduced");return W0.test(s)&&(s=s.replace(W0,""),o=o.replaceWith(s)),vl.hasOwnProperty(s)?o=vl[s]:o=yr(o),typeof i=="number"&&typeof o=="number"?{numerator:i,denominator:o}:null},Vk=function(e){const a=e.match("^#Ordinal$");return a.found!==!0?null:e.lookAhead("^of .")?{numerator:1,denominator:yr(a)}:null},$k=function(e){const a=e.text("reduced");return vl.hasOwnProperty(a)?{numerator:1,denominator:vl[a]}:null},Uk=e=>{const a=Math.round(e*1e3)/1e3;return a===0&&e!==0?e:a},Yn=function(e){e=e.clone();const a=$k(e)||Gk(e)||Mk(e)||Bk(e)||Vk(e)||null;return a!==null&&a.numerator&&a.denominator&&(a.decimal=a.numerator/a.denominator,a.decimal=Uk(a.decimal)),a},th=function(e){if(e<1e6)return String(e);let a;return typeof e=="number"?a=e.toFixed(0):a=e,a.indexOf("e+")===-1?a:a.replace(".","").split("e+").reduce(function(i,o){return i+Array(o-i.length+2).join(0)})},cl=[["ninety",90],["eighty",80],["seventy",70],["sixty",60],["fifty",50],["forty",40],["thirty",30],["twenty",20]],e1=["","one","two","three","four","five","six","seven","eight","nine","ten","eleven","twelve","thirteen","fourteen","fifteen","sixteen","seventeen","eighteen","nineteen"],_k=[[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"]],Lk=function(e){let a=e;const i=[];return _k.forEach(o=>{if(e>=o[0]){const s=Math.floor(a/o[0]);a-=s*o[0],s&&i.push({unit:o[1],count:s})}}),i},Fk=function(e){const a=[];if(e>100)return a;for(let i=0;i=cl[i][1]&&(e-=cl[i][1],a.push(cl[i][0]));return e1[e]&&a.push(e1[e]),a},Kk=e=>{const a=["zero","one","two","three","four","five","six","seven","eight","nine"],i=[],s=th(e).match(/\.([0-9]+)/);if(!s||!s[0])return i;i.push("point");const u=s[0].split("");for(let h=0;h1e21&&(a=th(a));let i=[];a<0&&(i.push("minus"),a=Math.abs(a));const o=Lk(a);for(let s=0;s1&&i.push("and")),i=i.concat(Fk(o[s].count)),i.push(u)}return i=i.concat(Kk(a)),i=i.filter(s=>s),i.length===0&&(i[0]=""),i.join(" ")},qk=function(e){if(!e.numerator||!e.denominator)return"";const a=br({num:e.numerator}),i=br({num:e.denominator});return`${a} out of ${i}`},t1={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"},Ny=e=>{const a=br(e).split(" "),i=a[a.length-1];return t1.hasOwnProperty(i)?a[a.length-1]=t1[i]:a[a.length-1]=i.replace(/y$/,"i")+"th",a.join(" ")},Ik=function(e){if(!e.numerator||!e.denominator)return"";const a=br({num:e.numerator});let i=Ny({num:e.denominator});return e.denominator===2&&(i="half"),a&&i?(e.numerator!==1&&(i+="s"),`${a} ${i}`):""},Jk=function(e){class a extends e{constructor(o,s,u){super(o,s,u),this.viewType="Fractions"}parse(o){return this.getNth(o).map(Yn)}get(o){return this.getNth(o).map(Yn)}json(o){return this.getNth(o).map(s=>{const u=s.toView().json(o)[0],h=Yn(s);return u.fraction=h,u},[])}toDecimal(o){return this.getNth(o).forEach(s=>{const{decimal:u}=Yn(s);s=s.replaceWith(String(u),!0),s.tag("NumericValue"),s.unTag("Fraction")}),this}toFraction(o){return this.getNth(o).forEach(s=>{const u=Yn(s);if(u&&typeof u.numerator=="number"&&typeof u.denominator=="number"){const h=`${u.numerator}/${u.denominator}`;this.replace(s,h)}}),this}toOrdinal(o){return this.getNth(o).forEach(s=>{const u=Yn(s);let h=Ik(u);s.after("^#Noun").found&&(h+=" of"),s.replaceWith(h)}),this}toCardinal(o){return this.getNth(o).forEach(s=>{const u=Yn(s),h=qk(u);s.replaceWith(h)}),this}toPercentage(o){return this.getNth(o).forEach(s=>{const{decimal:u}=Yn(s);let h=u*100;h=Math.round(h*100)/100,s.replaceWith(`${h}%`)}),this}}e.prototype.fractions=function(i){let o=Dk(this);return o=o.getNth(i),new a(this.document,o.pointer)}},Rk="one|two|three|four|five|six|seven|eight|nine",Da="twenty|thirty|forty|fifty|sixty|seventy|eighty|ninety|fourty",Qk="eleven|twelve|thirteen|fourteen|fifteen|sixteen|seventeen|eighteen|nineteen",ff=function(e){let a=e.match("#Value+");if(a.has("#NumericValue #NumericValue")&&(a.has("#Value @hasComma #Value")?a.splitAfter("@hasComma"):a.has("#NumericValue #Fraction")?a.splitAfter("#NumericValue #Fraction"):a=a.splitAfter("#NumericValue")),a.has("#Value #Value #Value")&&!a.has("#Multiple")&&a.has("("+Da+") #Cardinal #Cardinal")&&(a=a.splitAfter("("+Da+") #Cardinal")),a.has("#Value #Value")){a.has("#NumericValue #NumericValue")&&(a=a.splitOn("#Year")),a.has("("+Da+") ("+Qk+")")&&(a=a.splitAfter("("+Da+")"));const i=a.match("#Cardinal #Cardinal");if(i.found&&!a.has("(point|decimal|#Fraction)")&&!i.has("#Cardinal (#Multiple|point|decimal)")){const o=a.has(`(${Rk}) (${Da})`),s=i.has("("+Da+") #Cardinal"),u=i.has("#Multiple #Value");!o&&!s&&!u&&i.terms().forEach(h=>{a=a.splitOn(h)})}a.match("#Ordinal #Ordinal").match("#TextValue").found&&!a.has("#Multiple")&&(a.has("("+Da+") #Ordinal")||(a=a.splitAfter("#Ordinal"))),a=a.splitBefore("#Ordinal [#Cardinal]",0),a.has("#TextValue #NumericValue")&&!a.has("("+Da+"|#Multiple)")&&(a=a.splitBefore("#TextValue #NumericValue"))}return a=a.splitAfter("#NumberRange"),a=a.splitBefore("#Year"),a},Yk=function(e,a){e=e.replace(/,/g,"");const i=e.split(/([0-9.,]*)/);let[o,s]=i,u=i.slice(2).join("");return s!==""&&a.length<2?(s=Number(s||e),typeof s!="number"&&(s=null),u=u||"",(u==="st"||u==="nd"||u==="rd"||u==="th")&&(u=""),{prefix:o||"",num:s,suffix:u}):null},lt=function(e){if(typeof e=="string")return{num:Pf(e)};let a=e.text("reduced");const i=e.growRight("#Unit").match("#Unit$").text("machine"),o=/[0-9],[0-9]/.test(e.text("text"));if(e.terms().length===1&&!e.has("#Multiple")){const m=Yk(a,e);if(m!==null)return m.hasComma=o,m.unit=i,m}let s=e.match("#Fraction{2,}$");s=s.found===!1?e.match("^#Fraction$"):s;let u=null;s.found&&(s.has("#Value and #Value #Fraction")&&(s=s.match("and #Value #Fraction")),u=Yn(s),e=e.not(s),e=e.not("and$"),a=e.text("reduced"));let h=0;return a&&(h=Pf(a)||0),u&&u.decimal&&(h+=u.decimal),{hasComma:o,prefix:"",num:h,suffix:"",isOrdinal:e.has("#Ordinal"),isText:e.has("#TextValue"),isFraction:e.has("#Fraction"),isMoney:e.has("#Money"),unit:i}},Xk=function(e){const a=e.num;if(!a&&a!==0)return null;const i=a%100;if(i>10&&i<20)return String(a)+"th";const o={0:"th",1:"st",2:"nd",3:"rd"};let s=th(a);const u=s.slice(s.length-1,s.length);return o[u]?s+=o[u]:s+="th",s},n1={"¢":"cents",$:"dollars","£":"pounds","¥":"yen","€":"euros","₡":"colón","฿":"baht","₭":"kip","₩":"won","₹":"rupees","₽":"ruble","₺":"liras"},a1={"%":"percent","°":"degrees"},i1=function(e){const a={suffix:"",prefix:e.prefix};return n1.hasOwnProperty(e.prefix)&&(a.suffix+=" "+n1[e.prefix],a.prefix=""),a1.hasOwnProperty(e.suffix)&&(a.suffix+=" "+a1[e.suffix]),a.suffix&&e.num===1&&(a.suffix=a.suffix.replace(/s$/,"")),!a.suffix&&e.suffix&&(a.suffix+=" "+e.suffix),a},ai=function(e,a){if(a==="TextOrdinal"){const{prefix:o,suffix:s}=i1(e);return o+Ny(e)+s}if(a==="Ordinal")return e.prefix+Xk(e)+e.suffix;if(a==="TextCardinal"){const{prefix:o,suffix:s}=i1(e);return o+br(e)+s}let i=e.num;return e.hasComma&&(i=i.toLocaleString()),e.prefix+String(i)+e.suffix},Zk=e=>Object.prototype.toString.call(e)==="[object Array]",Wk=function(e){if(typeof e=="string"||typeof e=="number"){const a={};return a[e]=!0,a}return Zk(e)?e.reduce((a,i)=>(a[i]=!0,a),{}):e||{}},eS=function(e,a={}){return a=Wk(a),e.filter(i=>{const{unit:o}=lt(i);return!!(o&&a[o]===!0)})},tS=function(e){class a extends e{constructor(o,s,u){super(o,s,u),this.viewType="Numbers"}parse(o){return this.getNth(o).map(lt)}get(o){return this.getNth(o).map(lt).map(s=>s.num)}json(o){const s=typeof o=="object"?o:{};return this.getNth(o).map(u=>{const h=u.toView().json(s)[0],m=lt(u);return h.number={prefix:m.prefix,num:m.num,suffix:m.suffix,hasComma:m.hasComma,unit:m.unit},h},[])}units(){return this.growRight("#Unit").match("#Unit$")}isUnit(o){return eS(this,o)}isOrdinal(){return this.if("#Ordinal")}isCardinal(){return this.if("#Cardinal")}toNumber(){const o=this.map(s=>{if(!this.has("#TextValue"))return s;const u=lt(s);if(u.num===null)return s;const h=s.has("#Ordinal")?"Ordinal":"Cardinal",m=ai(u,h);return s.replaceWith(m,{tags:!0}),s.tag("NumericValue")});return new a(o.document,o.pointer)}toLocaleString(){return this.forEach(s=>{const u=lt(s);if(u.num===null)return;let h=u.num.toLocaleString();if(s.has("#Ordinal")){const g=ai(u,"Ordinal").match(/[a-z]+$/);g&&(h+=g[0]||"")}s.replaceWith(h,{tags:!0})}),this}toText(){const s=this.map(u=>{if(u.has("#TextValue"))return u;const h=lt(u);if(h.num===null)return u;const m=u.has("#Ordinal")?"TextOrdinal":"TextCardinal",g=ai(h,m);return u.replaceWith(g,{tags:!0}),u.tag("TextValue"),u});return new a(s.document,s.pointer)}toCardinal(){const s=this.map(u=>{if(!u.has("#Ordinal"))return u;const h=lt(u);if(h.num===null)return u;const m=u.has("#TextValue")?"TextCardinal":"Cardinal",g=ai(h,m);return u.replaceWith(g,{tags:!0}),u.tag("Cardinal"),u});return new a(s.document,s.pointer)}toOrdinal(){const s=this.map(u=>{if(u.has("#Ordinal"))return u;const h=lt(u);if(h.num===null)return u;const m=u.has("#TextValue")?"TextOrdinal":"Ordinal",g=ai(h,m);return u.replaceWith(g,{tags:!0}),u.tag("Ordinal"),u});return new a(s.document,s.pointer)}isEqual(o){return this.filter(s=>lt(s).num===o)}greaterThan(o){return this.filter(s=>lt(s).num>o)}lessThan(o){return this.filter(s=>lt(s).num{const h=lt(u).num;return h>o&&h{const m=lt(h);if(m.num=o,m.num===null)return h;let g=h.has("#Ordinal")?"Ordinal":"Cardinal";h.has("#TextValue")&&(g=h.has("#Ordinal")?"TextOrdinal":"TextCardinal");let y=ai(m,g);return m.hasComma&&g==="Cardinal"&&(y=Number(y).toLocaleString()),h=h.not("#Currency"),h.replaceWith(y,{tags:!0}),h});return new a(u.document,u.pointer)}add(o){if(!o)return this;typeof o=="string"&&(o=lt(o).num);const u=this.map(h=>{const m=lt(h);if(m.num===null)return h;m.num+=o;let g=h.has("#Ordinal")?"Ordinal":"Cardinal";m.isText&&(g=h.has("#Ordinal")?"TextOrdinal":"TextCardinal");const y=ai(m,g);return h.replaceWith(y,{tags:!0}),h});return new a(u.document,u.pointer)}subtract(o,s){return this.add(o*-1,s)}increment(o){return this.add(1,o)}decrement(o){return this.add(-1,o)}update(o){const s=new a(this.document,o);return s._cache=this._cache,s}}a.prototype.toNice=a.prototype.toLocaleString,a.prototype.isBetween=a.prototype.between,a.prototype.minus=a.prototype.subtract,a.prototype.plus=a.prototype.add,a.prototype.equals=a.prototype.isEqual,e.prototype.numbers=function(i){let o=ff(this);return o=o.getNth(i),new a(this.document,o.pointer)},e.prototype.percentages=function(i){let o=ff(this);return o=o.filter(s=>s.has("#Percent")||s.after("^percent")),o=o.getNth(i),new a(this.document,o.pointer)},e.prototype.money=function(i){let o=ff(this);return o=o.filter(s=>s.has("#Money")||s.after("^#Currency")),o=o.getNth(i),new a(this.document,o.pointer)},e.prototype.values=e.prototype.numbers},nS=function(e){Jk(e),tS(e)},aS={api:nS},iS={people:!0,emails:!0,phoneNumbers:!0,places:!0},oS=function(e={}){return e=Object.assign({},iS,e),e.people!==!1&&this.people().replaceWith("██████████"),e.emails!==!1&&this.emails().replaceWith("██████████"),e.places!==!1&&this.places().replaceWith("██████████"),e.phoneNumbers!==!1&&this.phoneNumbers().replaceWith("███████"),this},rS={api:function(e){e.prototype.redact=oS}},sS=function(e){const a=e.clauses();return/\.\.$/.test(e.out("text"))||e.has("^#QuestionWord")&&e.has("@hasComma")?!1:!!(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")||a.has("(do|does|is|was) #Noun+ #Adverb? (#Adjective|#Infinitive)$"))},lS=function(e){const a=/\?/,{document:i}=e;return e.filter(o=>{const s=o.docs[0]||[],u=s[s.length-1];return!u||i[u.index[0]].length!==s.length?!1:a.test(u.post)?!0:sS(o)})},uS="(after|although|as|because|before|if|since|than|that|though|when|whenever|where|whereas|wherever|whether|while|why|unless|until|once)",cS="(that|which|whichever|who|whoever|whom|whose|whomever)",fS=function(e){let a=e;return a.length===1||(a=a.if("#Verb"),a.length===1)||(a=a.ifNo(uS),a=a.ifNo("^even (if|though)"),a=a.ifNo("^so that"),a=a.ifNo("^rather than"),a=a.ifNo("^provided that"),a.length===1)||(a=a.ifNo(cS),a.length===1)||(a=a.ifNo("(^despite|^during|^before|^through|^throughout)"),a.length===1)||(a=a.ifNo("^#Gerund"),a.length===1)?a:(a.length===0&&(a=e),a.eq(0))},hS=function(e){let a=null;return e.has("#PastTense")?a="PastTense":e.has("#FutureTense")?a="FutureTense":e.has("#PresentTense")&&(a="PresentTense"),{tense:a}},ii=function(e){const a=e.clauses(),o=fS(a).chunks();let s=e.none(),u=e.none(),h=e.none();return o.forEach((m,g)=>{if(g===0&&!m.has("")){s=m;return}if(!u.found&&m.has("")){u=m;return}u.found&&(h=h.concat(m))}),u.found&&!s.found&&(s=u.before("+").first()),{subj:s,verb:u,pred:h,grammar:hS(u)}},dS=function(e){let a=e.verbs();const i=a.eq(0);if(i.has("#PastTense"))return e;if(i.toPastTense(),a.length>1){a=a.slice(1),a=a.filter(s=>!s.lookBehind("to$").found),a=a.if("#PresentTense"),a=a.notIf("#Gerund");const o=e.match("to #Verb+ #Conjunction #Verb").terms();a=a.not(o),a.found&&a.verbs().toPastTense()}return e},mS=function(e){let a=e.verbs();return a.eq(0).toPresentTense(),a.length>1&&(a=a.slice(1),a=a.filter(o=>!o.lookBehind("to$").found),a=a.notIf("#Gerund"),a.found&&a.verbs().toPresentTense()),e},gS=function(e){let a=e.verbs();if(a.eq(0).toFutureTense(),e=e.fullSentence(),a=e.verbs(),a.length>1){a=a.slice(1);const o=a.filter(s=>s.lookBehind("to$").found?!1:s.has("#Copula #Gerund")?!0:s.has("#Gerund")?!1:s.has("#Copula")?!0:!(s.has("#PresentTense")&&!s.has("#Infinitive")&&s.lookBefore("(he|she|it|that|which)$").found));o.found&&o.forEach(s=>{if(s.has("#Copula")){s.match("was").replaceWith("is"),s.match("is").replaceWith("will be");return}s.toInfinitive()})}return e},pS=function(e){return e.verbs().first().toNegative().compute("chunks"),e},yS=function(e){return e.verbs().first().toPositive().compute("chunks"),e},bS=function(e){return e.verbs().toInfinitive(),e},vS=function(e){class a extends e{constructor(s,u,h){super(s,u,h),this.viewType="Sentences"}json(s={}){return this.map(u=>{const h=u.toView().json(s)[0]||{},{subj:m,verb:g,pred:y,grammar:b}=ii(u);return h.sentence={subject:m.text("normal"),verb:g.text("normal"),predicate:y.text("normal"),grammar:b},h},[])}toPastTense(s){return this.getNth(s).map(u=>(ii(u),dS(u)))}toPresentTense(s){return this.getNth(s).map(u=>(ii(u),mS(u)))}toFutureTense(s){return this.getNth(s).map(u=>(ii(u),u=gS(u),u))}toInfinitive(s){return this.getNth(s).map(u=>(ii(u),bS(u)))}toNegative(s){return this.getNth(s).map(u=>(ii(u),pS(u)))}toPositive(s){return this.getNth(s).map(u=>(ii(u),yS(u)))}isQuestion(s){return this.questions(s)}isExclamation(s){return this.filter(h=>h.lastTerm().has("@hasExclamation")).getNth(s)}isStatement(s){return this.filter(h=>!h.isExclamation().found&&!h.isQuestion().found).getNth(s)}update(s){const u=new a(this.document,s);return u._cache=this._cache,u}}a.prototype.toPresent=a.prototype.toPresentTense,a.prototype.toPast=a.prototype.toPastTense,a.prototype.toFuture=a.prototype.toFutureTense;const i={sentences:function(o){let s=this.map(u=>u.fullSentence());return s=s.getNth(o),new a(this.document,s.pointer)},questions:function(o){return lS(this).getNth(o)}};Object.assign(e.prototype,i)},wS={api:vS},AS=function(e){let a=e.splitAfter("@hasComma");a=a.match("#Honorific+? #Person+");const i=a.match("#Possessive").notIf("(his|her)");return a=a.splitAfter(i),a},o1=function(e){const a={};a.firstName=e.match("#FirstName+"),a.lastName=e.match("#LastName+"),a.honorific=e.match("#Honorific+");const i=a.lastName,o=a.firstName;return(!o.found||!i.found)&&!o.found&&!i.found&&e.has("^#Honorific .$")&&(a.lastName=e.match(".$")),a},an="male",pt="female",r1={mr:an,mrs:pt,miss:pt,madam:pt,king:an,queen:pt,duke:an,duchess:pt,baron:an,baroness:pt,count:an,countess:pt,prince:an,princess:pt,sire:an,dame:pt,lady:pt,ayatullah:an,congressman:an,congresswoman:pt,"first lady":pt,mx:null},xS=function(e,a){const{firstName:i,honorific:o}=e;if(i.has("#FemaleName"))return pt;if(i.has("#MaleName"))return an;if(o.found){let u=o.text("normal");if(u=u.replace(/\./g,""),r1.hasOwnProperty(u))return r1[u];if(/^her /.test(u))return pt;if(/^his /.test(u))return an}const s=a.after();if(!s.has("#Person")&&s.has("#Pronoun")){const u=s.match("#Pronoun");if(u.has("(they|their)"))return null;const h=u.has("(he|his)"),m=u.has("(she|her|hers)");if(h&&!m)return an;if(m&&!h)return pt}return null},NS=function(e){class a extends e{constructor(o,s,u){super(o,s,u),this.viewType="People"}parse(o){return this.getNth(o).map(o1)}json(o){const s=typeof o=="object"?o:{};return this.getNth(o).map(u=>{const h=u.toView().json(s)[0],m=o1(u);return h.person={firstName:m.firstName.text("normal"),lastName:m.lastName.text("normal"),honorific:m.honorific.text("normal"),presumed_gender:xS(m,u)},h},[])}presumedMale(){return this.filter(o=>o.has("(#MaleName|mr|mister|sr|jr|king|pope|prince|sir)"))}presumedFemale(){return this.filter(o=>o.has("(#FemaleName|mrs|miss|queen|princess|madam)"))}update(o){const s=new a(this.document,o);return s._cache=this._cache,s}}e.prototype.people=function(i){let o=AS(this);return o=o.getNth(i),new a(this.document,o.pointer)}},CS=function(e){let a=e.match("(#Place|#Address)+"),i=a.match("@hasComma");return i=i.filter(o=>o.has("(asia|africa|europe|america)$")?!0:!(o.has("(#City|#Region|#ProperNoun)$")&&o.after("^(#Country|#Region)").found)),a=a.splitAfter(i),a},jS=function(e){e.prototype.places=function(a){let i=CS(this);return i=i.getNth(a),new e(this.document,i.pointer)}},TS=function(e){e.prototype.organizations=function(a){return this.match("#Organization+").getNth(a)}},kS=function(e){const a=this.clauses();let i=a.people();return i=i.concat(a.places()),i=i.concat(a.organizations()),i=i.not("(someone|man|woman|mother|brother|sister|father)"),i=i.sort("seq"),i=i.getNth(e),i},SS=function(e){e.prototype.topics=kS},DS=function(e){NS(e),jS(e),TS(e),SS(e)},zS={api:DS},ES=function(e){let a=e.match("");return a=a.not("#Conjunction"),a=a.not("#Preposition"),a=a.splitAfter("@hasComma"),a=a.splitAfter("[(do|did|am|was|is|will)] (is|was)",0),a=a.splitBefore("(#Verb && !#Copula) [being] #Verb",0),a=a.splitBefore("#Verb [to be] #Verb",0),a=a.splitAfter("[help] #PresentTense",0),a=a.splitBefore("(#PresentTense|#PastTense) [#Copula]$",0),a=a.splitBefore("(#PresentTense|#PastTense) [will be]$",0),a=a.splitBefore("(#PresentTense|#PastTense) [(had|has)]",0),a=a.not("#Reflexive$"),a=a.not("#Adjective"),a=a.splitAfter("[#PastTense] #PastTense",0),a=a.splitAfter("[#PastTense] #Auxiliary+ #PastTense",0),a=a.splitAfter("#Copula [#Gerund] #PastTense",0),a=a.if("#Verb"),a.has("(#Verb && !#Auxiliary) #Adverb+? #Copula")&&(a=a.splitBefore("#Copula")),a},OS=function(e){let a=e;return e.wordCount()>1&&(a=e.not("(#Negative|#Auxiliary|#Modal|#Adverb|#Prefix)")),a.length>1&&!a.has("#Phrasal #Particle")&&(a=a.last()),a=a.not("(want|wants|wanted) to"),a.found||(a=e.not("#Negative")),a},PS=function(e,a){const i={pre:e.none(),post:e.none()};if(!e.has("#Adverb"))return i;const o=e.splitOn(a);return o.length===3?{pre:o.eq(0).adverbs(),post:o.eq(2).adverbs()}:o.eq(0).isDoc(a)?(i.post=o.eq(1).adverbs(),i):(i.pre=o.eq(0).adverbs(),i)},HS=function(e,a){const i=e.splitBefore(a);if(i.length<=1)return e.none();let o=i.eq(0);return o=o.not("(#Adverb|#Negative|#Prefix)"),o},GS=function(e){return e.match("#Negative")},MS=function(e){if(!e.has("(#Particle|#PhrasalVerb)"))return{verb:e.none(),particle:e.none()};const a=e.match("#Particle$");return{verb:e.not(a),particle:a}},mn=function(e){const a=e.clone();a.contractions().expand();const i=OS(a);return{root:i,prefix:a.match("#Prefix"),adverbs:PS(a,i),auxiliary:HS(a,i),negative:GS(a),phrasal:MS(i)}},dn={tense:"PresentTense"},fl={conditional:!0},Qn={tense:"FutureTense"},ao={progressive:!0},Ze={tense:"PastTense"},io={complete:!0,progressive:!1},za={passive:!0},BS={plural:!0},VS={plural:!1},$S=function(e){const a={};return e.forEach(i=>{Object.assign(a,i)}),a},s1={imperative:[["#Imperative",[]]],"want-infinitive":[["^(want|wants|wanted) to #Infinitive$",[dn]],["^wanted to #Infinitive$",[Ze]],["^will want to #Infinitive$",[Qn]]],"gerund-phrase":[["^#PastTense #Gerund$",[Ze]],["^#PresentTense #Gerund$",[dn]],["^#Infinitive #Gerund$",[dn]],["^will #Infinitive #Gerund$",[Qn]],["^have #PastTense #Gerund$",[Ze]],["^will have #PastTense #Gerund$",[Ze]]],"simple-present":[["^#PresentTense$",[dn]],["^#Infinitive$",[dn]]],"simple-past":[["^#PastTense$",[Ze]]],"simple-future":[["^will #Adverb? #Infinitive",[Qn]]],"present-progressive":[["^(is|are|am) #Gerund$",[dn,ao]]],"past-progressive":[["^(was|were) #Gerund$",[Ze,ao]]],"future-progressive":[["^will be #Gerund$",[Qn,ao]]],"present-perfect":[["^(has|have) #PastTense$",[Ze,io]]],"past-perfect":[["^had #PastTense$",[Ze,io]],["^had #PastTense to #Infinitive",[Ze,io]]],"future-perfect":[["^will have #PastTense$",[Qn,io]]],"present-perfect-progressive":[["^(has|have) been #Gerund$",[Ze,ao]]],"past-perfect-progressive":[["^had been #Gerund$",[Ze,ao]]],"future-perfect-progressive":[["^will have been #Gerund$",[Qn,ao]]],"passive-past":[["(got|were|was) #Passive",[Ze,za]],["^(was|were) being #Passive",[Ze,za]],["^(had|have) been #Passive",[Ze,za]]],"passive-present":[["^(is|are|am) #Passive",[dn,za]],["^(is|are|am) being #Passive",[dn,za]],["^has been #Passive",[dn,za]]],"passive-future":[["will have been #Passive",[Qn,za,fl]],["will be being? #Passive",[Qn,za,fl]]],"present-conditional":[["would be #PastTense",[dn,fl]]],"past-conditional":[["would have been #PastTense",[Ze,fl]]],"auxiliary-future":[["(is|are|am|was) going to (#Infinitive|#PresentTense)",[Qn]]],"auxiliary-past":[["^did #Infinitive$",[Ze,VS]],["^used to #Infinitive$",[Ze,io]]],"auxiliary-present":[["^(does|do) #Infinitive$",[dn,io,BS]]],"modal-past":[["^(could|must|should|shall) have #PastTense$",[Ze]]],"modal-infinitive":[["^#Modal #Infinitive$",[]]],infinitive:[["^#Infinitive$",[]]]},Hf=[];Object.keys(s1).map(e=>{s1[e].forEach(a=>{Hf.push({name:e,match:a[0],data:$S(a[1])})})});const US=function(e,a){return e=e.clone(),a.adverbs.post&&a.adverbs.post.found&&e.remove(a.adverbs.post),a.adverbs.pre&&a.adverbs.pre.found&&e.remove(a.adverbs.pre),e.has("#Negative")&&(e=e.remove("#Negative")),e.has("#Prefix")&&(e=e.remove("#Prefix")),a.root.has("#PhrasalVerb #Particle")&&e.remove("#Particle$"),e=e.not("#Adverb"),e},_S=function(e){return!!(e.has("#Infinitive")&&e.growLeft("to").has("^to #Infinitive"))},Xn=function(e,a){const i={};e=US(e,a);for(let o=0;o!(i.has("^(if|unless|while|but|for|per|at|by|that|which|who|from)")||o>0&&i.has("^#Verb . #Noun+$")||o>0&&i.has("^#Adverb"))),a.length===0?e:a},FS=function(e){let a=e.before();a=LS(a);const i=a.nouns();let o=i.last();const s=o.match("(i|he|she|we|you|they)");if(s.found)return s.nouns();let u=i.if("^(that|this|those)");return u.found||i.found===!1&&(u=a.match("^(that|this|those)"),u.found)?u:(o=i.last(),l1(o)&&(i.remove(o),o=i.last()),l1(o)&&(i.remove(o),o=i.last()),o)},KS=function(e,a){return a.has("(are|were|does)")||e.has("(those|they|we)")?!0:e.found&&e.isPlural?e.isPlural().found:!1},Nn=function(e){const a=FS(e);return{subject:a,plural:KS(a,e)}},we=e=>e,dr=(e,a)=>{const i=Nn(e),o=i.subject;return o.has("i")||o.has("we")?!0:i.plural},qS=(e,a)=>{const{subject:i,plural:o}=Nn(e);return o||i.has("we")?"were":"was"},mr=function(e,a){if(e.has("were"))return"are";const{subject:i,plural:o}=Nn(e);return i.has("i")?"am":i.has("we")||o?"are":"is"},nh=function(e,a){const i=Nn(e),o=i.subject;return o.has("i")||o.has("we")||i.plural?"do":"does"},Lt=function(e){if(e.has("#Infinitive"))return"Infinitive";if(e.has("#Participle"))return"Participle";if(e.has("#PastTense"))return"PastTense";if(e.has("#Gerund"))return"Gerund";if(e.has("#PresentTense"))return"PresentTense"},Gf=function(e,a){const{toInfinitive:i}=e.methods.two.transform.verb;let o=a.root.text({keepPunct:!1});return o=i(o,e.model,Lt(e)),o&&e.replace(a.root,o),e},u1=e=>e.has("will not")?e.replace("will not","have not"):e.remove("will"),c1=function(e){if(!e||!e.isView)return[];const a={normal:!0,terms:!1,text:!1};return e.json(a).map(i=>i.normal)},f1=function(e){return!e||!e.isView?"":e.text("normal")},IS=function(e){const{toInfinitive:a}=e.methods.two.transform.verb,i=e.text("normal");return a(i,e.model,Lt(e))},JS=function(e){const a=mn(e);e=e.clone().toView();const i=Xn(e,a);return{root:a.root.text(),preAdverbs:c1(a.adverbs.pre),postAdverbs:c1(a.adverbs.post),auxiliary:f1(a.auxiliary),negative:a.negative.found,prefix:f1(a.prefix),infinitive:IS(a.root),grammar:i}},RS={tags:!0},QS=function(e,a){const{toInfinitive:i}=e.methods.two.transform.verb,{root:o,auxiliary:s}=a,u=s.terms().harden();let h=o.text("normal");if(h=i(h,e.model,Lt(o)),h&&e.replace(o,h,RS).tag("Verb").firstTerm().tag("Infinitive"),u.found&&e.remove(u),a.negative.found){e.has("not")||e.prepend("not");const m=nh(e);e.prepend(m)}return e.fullSentence().compute(["freeze","lexicon","preTagger","postTagger","unfreeze","chunks"]),e},nn={tags:!0},Zn={noAux:(e,a)=>(a.auxiliary.found&&(e=e.remove(a.auxiliary)),e),simple:(e,a)=>{const{conjugate:i,toInfinitive:o}=e.methods.two.transform.verb,s=a.root;if(s.has("#Modal"))return e;let u=s.text({keepPunct:!1});return u=o(u,e.model,Lt(s)),u=i(u,e.model).PastTense,u=u==="been"?"was":u,u==="was"&&(u=qS(e)),u&&e.replace(s,u,nn),e},both:function(e,a){return a.negative.found?(e.replace("will","did"),e):(e=Zn.simple(e,a),e=Zn.noAux(e,a),e)},hasHad:e=>(e.replace("has","had",nn),e),hasParticiple:(e,a)=>{const{conjugate:i,toInfinitive:o}=e.methods.two.transform.verb,s=a.root;let u=s.text("normal");return u=o(u,e.model,Lt(s)),i(u,e.model).Participle}},h1={infinitive:Zn.simple,"simple-present":Zn.simple,"simple-past":we,"simple-future":Zn.both,"present-progressive":e=>(e.replace("are","were",nn),e.replace("(is|are|am)","was",nn),e),"past-progressive":we,"future-progressive":(e,a)=>(e.match(a.root).insertBefore("was"),e.remove("(will|be)"),e),"present-perfect":Zn.hasHad,"past-perfect":we,"future-perfect":(e,a)=>(e.match(a.root).insertBefore("had"),e.has("will")&&(e=u1(e)),e.remove("have"),e),"present-perfect-progressive":Zn.hasHad,"past-perfect-progressive":we,"future-perfect-progressive":e=>(e.remove("will"),e.replace("have","had",nn),e),"passive-past":e=>(e.replace("have","had",nn),e),"passive-present":e=>(e.replace("(is|are)","was",nn),e),"passive-future":(e,a)=>(a.auxiliary.has("will be")&&(e.match(a.root).insertBefore("had been"),e.remove("(will|be)")),a.auxiliary.has("will have been")&&(e.replace("have","had",nn),e.remove("will")),e),"present-conditional":e=>(e.replace("be","have been"),e),"past-conditional":we,"auxiliary-future":e=>(e.replace("(is|are|am)","was",nn),e),"auxiliary-past":we,"auxiliary-present":e=>(e.replace("(do|does)","did",nn),e),"modal-infinitive":(e,a)=>(e.has("can")?e.replace("can","could",nn):(Zn.simple(e,a),e.match("#Modal").insertAfter("have").tag("Auxiliary")),e),"modal-past":we,"want-infinitive":e=>(e.replace("(want|wants)","wanted",nn),e.remove("will"),e),"gerund-phrase":(e,a)=>(a.root=a.root.not("#Gerund$"),Zn.simple(e,a),u1(e),e)},YS=function(e,a,i){return h1.hasOwnProperty(i)&&(e=h1[i](e,a),e.fullSentence().compute(["tagger","chunks"])),e},Mf=function(e,a){const i=Nn(e),o=i.subject;return o.has("(i|we|you)")?"have":i.plural===!1||o.has("he")||o.has("she")||o.has("#Person")?"has":"have"},Bf=(e,a)=>{const{conjugate:i,toInfinitive:o}=e.methods.two.transform.verb,{root:s,auxiliary:u}=a;if(s.has("#Modal"))return e;let h=s.text({keepPunct:!1});h=o(h,e.model,Lt(s));const m=i(h,e.model);if(h=m.Participle||m.PastTense,h){e=e.replace(s,h);const g=Mf(e);e.prepend(g).match(g).tag("Auxiliary"),e.remove(u)}return e},d1={infinitive:Bf,"simple-present":Bf,"simple-future":(e,a)=>e.replace("will",Mf(e)),"present-perfect":we,"past-perfect":we,"future-perfect":(e,a)=>e.replace("will have",Mf(e)),"present-perfect-progressive":we,"past-perfect-progressive":we,"future-perfect-progressive":we},XS=function(e,a,i){return d1.hasOwnProperty(i)?(e=d1[i](e,a),e.fullSentence().compute(["tagger","chunks"]),e):(e=Bf(e,a),e.fullSentence().compute(["tagger","chunks"]),e)},Wn={tags:!0},oo=(e,a)=>{const{conjugate:i,toInfinitive:o}=e.methods.two.transform.verb,s=a.root;let u=s.text("normal");return u=o(u,e.model,Lt(s)),dr(e)===!1&&(u=i(u,e.model).PresentTense),s.has("#Copula")&&(u=mr(e)),u&&(e=e.replace(s,u,Wn),e.not("#Particle").tag("PresentTense")),e},m1=(e,a)=>{const{conjugate:i,toInfinitive:o}=e.methods.two.transform.verb,s=a.root;let u=s.text("normal");return u=o(u,e.model,Lt(s)),dr(e)===!1&&(u=i(u,e.model).Gerund),u&&(e=e.replace(s,u,Wn),e.not("#Particle").tag("Gerund")),e},ZS=(e,a)=>{const{toInfinitive:i}=e.methods.two.transform.verb,o=a.root;let s=a.root.text("normal");return s=i(s,e.model,Lt(o)),s&&(e=e.replace(a.root,s,Wn)),e},g1={infinitive:oo,"simple-present":(e,a)=>{const{conjugate:i}=e.methods.two.transform.verb,{root:o}=a;if(o.has("#Infinitive")){const u=Nn(e).subject;if(dr(e)||u.has("i"))return e;const h=o.text("normal"),m=i(h,e.model).PresentTense;h!==m&&e.replace(o,m,Wn)}else return oo(e,a);return e},"simple-past":oo,"simple-future":(e,a)=>{const{root:i,auxiliary:o}=a;if(o.has("will")&&i.has("be")){const s=mr(e);e.replace(i,s),e=e.remove("will"),e.replace("not "+s,s+" not")}else oo(e,a),e=e.remove("will");return e},"present-progressive":we,"past-progressive":(e,a)=>{const i=mr(e);return e.replace("(were|was)",i,Wn)},"future-progressive":e=>(e.match("will").insertBefore("is"),e.remove("be"),e.remove("will")),"present-perfect":(e,a)=>(oo(e,a),e=e.remove("(have|had|has)"),e),"past-perfect":(e,a)=>{const o=Nn(e).subject;return dr(e)||o.has("i")?(e=Gf(e,a),e.remove("had"),e):(e.replace("had","has",Wn),e)},"future-perfect":e=>(e.match("will").insertBefore("has"),e.remove("have").remove("will")),"present-perfect-progressive":we,"past-perfect-progressive":e=>e.replace("had","has",Wn),"future-perfect-progressive":e=>(e.match("will").insertBefore("has"),e.remove("have").remove("will")),"passive-past":(e,a)=>{const i=mr(e);return e.has("(had|have|has)")&&e.has("been")?(e.replace("(had|have|has)",i,Wn),e.replace("been","being"),e):e.replace("(got|was|were)",i)},"passive-present":we,"passive-future":e=>(e.replace("will","is"),e.replace("be","being")),"present-conditional":we,"past-conditional":e=>(e.replace("been","be"),e.remove("have")),"auxiliary-future":(e,a)=>(m1(e,a),e.remove("(going|to)"),e),"auxiliary-past":(e,a)=>{if(a.auxiliary.has("did")){const i=nh(e);return e.replace(a.auxiliary,i),e}return m1(e,a),e.replace(a.auxiliary,"is"),e},"auxiliary-present":we,"modal-infinitive":we,"modal-past":(e,a)=>(ZS(e,a),e.remove("have")),"gerund-phrase":(e,a)=>(a.root=a.root.not("#Gerund$"),oo(e,a),e.remove("(will|have)")),"want-infinitive":(e,a)=>{let i="wants";return dr(e)&&(i="want"),e.replace("(want|wanted|wants)",i,Wn),e.remove("will"),e}},WS=function(e,a,i){return g1.hasOwnProperty(i)&&(e=g1[i](e,a),e.fullSentence().compute(["tagger","chunks"])),e},Cy={tags:!0},hl=(e,a)=>{const{toInfinitive:i}=e.methods.two.transform.verb,{root:o,auxiliary:s}=a;if(o.has("#Modal"))return e;let u=o.text("normal");return u=i(u,e.model,Lt(o)),u&&(e=e.replace(o,u,Cy),e.not("#Particle").tag("Verb")),e.prepend("will").match("will").tag("Auxiliary"),e.remove(s),e},p1=(e,a)=>{const{conjugate:i,toInfinitive:o}=e.methods.two.transform.verb,{root:s,auxiliary:u}=a;let h=s.text("normal");return h=o(h,e.model,Lt(s)),h&&(h=i(h,e.model).Gerund,e.replace(s,h,Cy),e.not("#Particle").tag("PresentTense")),e.remove(u),e.prepend("will be").match("will be").tag("Auxiliary"),e},y1={infinitive:hl,"simple-present":hl,"simple-past":hl,"simple-future":we,"present-progressive":p1,"past-progressive":p1,"future-progressive":we,"present-perfect":e=>(e.match("(have|has)").replaceWith("will have"),e),"past-perfect":e=>e.replace("(had|has)","will have"),"future-perfect":we,"present-perfect-progressive":e=>e.replace("has","will have"),"past-perfect-progressive":e=>e.replace("had","will have"),"future-perfect-progressive":we,"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":we,"present-conditional":e=>e.replace("would","will"),"past-conditional":e=>e.replace("would","will"),"auxiliary-future":we,"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":we,"modal-past":we,"gerund-phrase":(e,a)=>(a.root=a.root.not("#Gerund$"),hl(e,a),e.remove("(had|have)")),"want-infinitive":e=>(e.replace("(want|wants|wanted)","will want"),e)},eD=function(e,a,i){return e.has("will")||e.has("going to")||y1.hasOwnProperty(i)&&(e=y1[i](e,a),e.fullSentence().compute(["tagger","chunks"])),e},tD={tags:!0},nD=function(e,a){const{toInfinitive:i,conjugate:o}=e.methods.two.transform.verb,{root:s,auxiliary:u}=a;if(e.has("#Gerund"))return e;let h=s.text("normal");h=i(h,e.model,Lt(s));const m=o(h,e.model).Gerund;if(m){const g=mr(e);e.replace(s,m,tD),e.remove(u),e.prepend(g)}return e.replace("not is","is not"),e.replace("not are","are not"),e.fullSentence().compute(["tagger","chunks"]),e},b1={tags:!0},hf=function(e,a){const i=nh(e);return e.prepend(i+" not"),e},gl=function(e){let a=e.match("be");return a.found?(a.prepend("not"),e):(a=e.match("(is|was|am|are|will|were)"),a.found&&a.append("not"),e)},pl=e=>e.has("(is|was|am|are|will|were|be)"),v1={"simple-present":(e,a)=>pl(e)===!0?gl(e):(e=Gf(e,a),e=hf(e),e),"simple-past":(e,a)=>pl(e)===!0?gl(e):(e=Gf(e,a),e.prepend("did not"),e),imperative:e=>(e.prepend("do not"),e),infinitive:(e,a)=>pl(e)===!0?gl(e):hf(e),"passive-past":e=>{if(e.has("got"))return e.replace("got","get",b1),e.prepend("did not"),e;const a=e.match("(was|were|had|have)");return a.found&&a.append("not"),e},"auxiliary-past":e=>{if(e.has("used"))return e.prepend("did not"),e;const a=e.match("(did|does|do)");return a.found&&a.append("not"),e},"want-infinitive":(e,a)=>(e=hf(e),e=e.replace("wants","want",b1),e)},aD=function(e,a,i){if(e.has("#Negative"))return e;if(v1.hasOwnProperty(i))return e=v1[i](e,a),e;let o=e.matchOne("be");return o.found?(o.prepend("not"),e):pl(e)===!0?gl(e):(o=e.matchOne("(will|had|have|has|did|does|do|#Modal)"),o.found&&o.append("not"),e)},iD=function(e){class a extends e{constructor(o,s,u){super(o,s,u),this.viewType="Verbs"}parse(o){return this.getNth(o).map(mn)}json(o,s){return this.getNth(s).map(m=>{const g=m.toView().json(o)[0]||{};return g.verb=JS(m),g},[])}subjects(o){return this.getNth(o).map(s=>(mn(s),Nn(s).subject))}adverbs(o){return this.getNth(o).map(s=>s.match("#Adverb"))}isSingular(o){return this.getNth(o).filter(s=>Nn(s).plural!==!0)}isPlural(o){return this.getNth(o).filter(s=>Nn(s).plural===!0)}isImperative(o){return this.getNth(o).filter(s=>s.has("#Imperative"))}toInfinitive(o){return this.getNth(o).map(s=>{const u=mn(s),h=Xn(s,u);return QS(s,u,h.form)})}toPresentTense(o){return this.getNth(o).map(s=>{const u=mn(s),h=Xn(s,u);return h.isInfinitive?s:WS(s,u,h.form)})}toPastTense(o){return this.getNth(o).map(s=>{const u=mn(s),h=Xn(s,u);return h.isInfinitive?s:YS(s,u,h.form)})}toFutureTense(o){return this.getNth(o).map(s=>{const u=mn(s),h=Xn(s,u);return h.isInfinitive?s:eD(s,u,h.form)})}toGerund(o){return this.getNth(o).map(s=>{const u=mn(s),h=Xn(s,u);return h.isInfinitive?s:nD(s,u,h.form)})}toPastParticiple(o){return this.getNth(o).map(s=>{const u=mn(s),h=Xn(s,u);return h.isInfinitive?s:XS(s,u,h.form)})}conjugate(o){const{conjugate:s,toInfinitive:u}=this.world.methods.two.transform.verb;return this.getNth(o).map(h=>{const m=mn(h),g=Xn(h,m);g.form==="imperative"&&(g.form="simple-present");let y=m.root.text("normal");if(!m.root.has("#Infinitive")){const b=Lt(m.root);y=u(y,h.model,b)||y}return s(y,h.model)},[])}isNegative(){return this.if("#Negative")}isPositive(){return this.ifNo("#Negative")}toPositive(){const o=this.match("do not #Verb");return o.found&&o.remove("do not"),this.remove("#Negative")}toNegative(o){return this.getNth(o).map(s=>{const u=mn(s),h=Xn(s,u);return aD(s,u,h.form)})}update(o){const s=new a(this.document,o);return s._cache=this._cache,s}}a.prototype.toPast=a.prototype.toPastTense,a.prototype.toPresent=a.prototype.toPresentTense,a.prototype.toFuture=a.prototype.toFutureTense,e.prototype.verbs=function(i){let o=ES(this);return o=o.getNth(i),new a(this.document,o.pointer)}},oD={api:iD},Vf=function(e,a){const i=a.match(e);if(i.found){const o=i.pronouns().refersTo();if(o.found)return o}return a.none()},w1=function(e){if(!e.found)return e;const[a]=e.fullPointer[0];return a&&a>0?e.update([[a-1]]):e.none()},rD=function(e,a){return a==="m"?e.filter(i=>!i.presumedFemale().found):a==="f"?e.filter(i=>!i.presumedMale().found):e},A1=function(e,a){let i=e.people();return i=rD(i,a),i.found||(i=e.nouns("#Actor"),i.found)?i.last():a==="f"?Vf("(she|her|hers)",e):a==="m"?Vf("(he|him|his)",e):e.none()},sD=function(e){const a=e.nouns();let i=a.isPlural().notIf("#Pronoun");if(i.found)return i.last();const o=Vf("(they|their|theirs)",e);return o.found?o:(i=a.match("(somebody|nobody|everybody|anybody|someone|noone|everyone|anyone)"),i.found?i.last():e.none())},lD=function(e,a){if(a&&a.found){const i=e.docs[0][0];i.reference=a.ptrs[0]}},df=function(e,a){let i=e.before(),o=a(i);return o.found||(i=w1(e),o=a(i),o.found)||(i=w1(i),o=a(i),o.found)?o:e.none()},uD=function(e){e.pronouns().if("(he|him|his|she|her|hers|they|their|theirs|it|its)").forEach(i=>{let o=null;i.has("(he|him|his)")?o=df(i,s=>A1(s,"m")):i.has("(she|her|hers)")?o=df(i,s=>A1(s,"f")):i.has("(they|their|theirs)")&&(o=df(i,sD)),o&&o.found&&lD(i,o)})},cD=function(e){class a extends e{constructor(o,s,u){super(o,s,u),this.viewType="Pronouns"}hasReference(){return this.compute("coreference"),this.filter(o=>o.docs[0][0].reference)}refersTo(){return this.compute("coreference"),this.map(o=>{if(!o.found)return o.none();const s=o.docs[0][0];return s.reference?o.update([s.reference]):o.none()})}update(o){const s=new a(this.document,o);return s._cache=this._cache,s}}e.prototype.pronouns=function(i){let o=this.match("#Pronoun");return o=o.getNth(i),new a(o.document,o.pointer)}},fD={compute:{coreference:uD},api:cD};K.plugin(kT);K.plugin(zT);K.plugin(qT);K.plugin(fD);K.plugin(ck);K.plugin(mk);K.plugin(Sk);K.plugin(aS);K.plugin(rS);K.plugin(wS);K.plugin(zS);K.plugin(oD);const hD={implement:{wrong:"execute",suggestion:"implement"},compromise:{wrong:"settle",suggestion:"compromise"},facility:{wrong:"equipment",suggestion:"facility"},significant:{wrong:"big",suggestion:"significant"},approach:{wrong:"way",suggestion:"approach"},achieve:{wrong:"get",suggestion:"achieve"},sufficient:{wrong:"enough",suggestion:"sufficient"},emphasize:{wrong:"stress",suggestion:"emphasize"}};function dD(e){const i=K(e).match("#Pronoun+ #Verb").out("array");for(const o of i){const s=o.split(" ");if(s.length===2){const u=s[0].toLowerCase(),h=s[1].toLowerCase();if(["he","she","it"].includes(u)&&!h.endsWith("s")&&!h.endsWith("es")&&!h.endsWith("ies"))return{type:"warning",message:`注意:主语 '${u}' 通常与第三人称单数动词搭配使用`}}}return null}function mD(e){const i=K(e).sentences().out("array");for(const o of i)if(K(o).match("#PastTense+ #Gerund").out("array").length>0)return{type:"warning",message:"检测到过去进行时结构,请确认时态使用正确"};return null}function gD(e,a){const i=a.toLowerCase(),o=e.toLowerCase();return i.includes(o)?null:{type:"error",message:`请确保在句子中使用了目标词 "${e}"。`}}function pD(e,a){const i=hD[e.toLowerCase()];return i&&a.toLowerCase().includes(i.wrong)?{type:"suggestion",message:`您可能想表达的是 "${e}",而非 "${i.wrong}"。`}:null}function yD(e,a){const i=[],o=gD(e,a);if(o)return i.push(o),{isValid:!1,feedback:i};const s=dD(a);s&&i.push(s);const u=mD(a);u&&i.push(u);const h=pD(e,a);h&&i.push(h);const m=i.some(y=>y.type==="error"),g=i.some(y=>y.type==="warning");return!m&&i.length===0?i.push({type:"success",message:"句子结构正确,很棒!"}):!m&&!g&&i.push({type:"success",message:"句子基本正确!"}),{isValid:!m,feedback:i}}const x1={completedUnits:[],masteredWords:{}},$f=q2()(R2((e,a)=>({currentUnitIndex:0,currentPhase:"focus",userInput:"",validationResult:null,progress:x1,setPhase:i=>e({currentPhase:i}),setUserInput:i=>e({userInput:i}),submitAnswer:()=>{const{getCurrentUnit:i,userInput:o,progress:s}=a(),u=i(),h=yD(u.targetWord,o);e({validationResult:h});const m=s.masteredWords[u.id],g=m?{...m,lastPracticed:new Date().toISOString(),totalAttempts:m.totalAttempts+1,correctAttempts:m.correctAttempts+(h.isValid?1:0)}:{lastPracticed:new Date().toISOString(),correctAttempts:h.isValid?1:0,totalAttempts:1},y={...s,masteredWords:{...s.masteredWords,[u.id]:g}};e({progress:y})},nextUnit:()=>{const{currentUnitIndex:i}=a(),o=(i+1)%hp.length;e({currentUnitIndex:o,currentPhase:"focus",userInput:"",validationResult:null})},goToNextPhase:()=>{const{currentPhase:i}=a(),o=["focus","construct","validate","reinforce"],s=o.indexOf(i),u=o[s+1];u&&e({currentPhase:u})},reset:()=>{e({currentUnitIndex:0,currentPhase:"focus",userInput:"",validationResult:null,progress:x1})},getCurrentUnit:()=>{const{currentUnitIndex:i}=a();return hp[i]}}),{name:"sentencecraft-storage",partialize:e=>({progress:e.progress})}));function jy({children:e,className:a=""}){return j.jsx("div",{className:`max-w-3xl mx-auto px-4 sm:px-6 lg:px-8 ${a}`,children:e})}const bD={primary:"bg-blue-600 text-white hover:bg-blue-700",secondary:"bg-gray-100 text-gray-800 hover:bg-gray-200",outline:"border-2 border-gray-300 text-gray-700 hover:border-blue-500 hover:text-blue-600"},vD={sm:"px-3 py-1.5 text-sm",md:"px-5 py-2.5 text-base",lg:"px-7 py-3.5 text-lg"},mo=ke.forwardRef(({variant:e="primary",size:a="md",className:i="",children:o,...s},u)=>j.jsx(Te.button,{ref:u,whileHover:{scale:1.02},whileTap:{scale:.98},className:` rounded-xl font-medium transition-colors duration-200 disabled:opacity-50 disabled:cursor-not-allowed ${bD[e]} ${vD[a]} ${i} `,...s,children:o}));mo.displayName="Button";function wD({unit:e,onNext:a}){return j.jsxs(Te.div,{initial:{opacity:0,y:20},animate:{opacity:1,y:0},exit:{opacity:0,y:-20},transition:{duration:.4},className:"flex flex-col items-center text-center py-12",children:[j.jsx(Te.h1,{initial:{scale:.8},animate:{scale:1},transition:{delay:.2,type:"spring",stiffness:200},className:"text-5xl font-bold text-gray-900 mb-2",children:e.targetWord}),j.jsx("p",{className:"text-xl text-gray-500 mb-8",children:e.phonetic}),j.jsxs("div",{className:"max-w-xl mb-10",children:[j.jsx("h2",{className:"text-sm font-semibold text-gray-400 uppercase tracking-wider mb-4",children:"Core Definitions"}),j.jsx("ul",{className:"space-y-3",children:e.coreDefinitions.map((i,o)=>j.jsxs(Te.li,{initial:{opacity:0,x:-20},animate:{opacity:1,x:0},transition:{delay:.3+o*.1},className:"text-lg text-gray-700 italic",children:['"',i,'"']},o))})]}),j.jsx(Te.div,{initial:{opacity:0},animate:{opacity:1},transition:{delay:.5},className:"bg-amber-50 border-l-4 border-amber-400 px-6 py-4 rounded-r-lg mb-10",children:j.jsx("p",{className:"text-lg text-gray-800",children:e.chinesePrompt})}),j.jsx(Te.div,{initial:{opacity:0},animate:{opacity:1},transition:{delay:.6},children:j.jsx(mo,{onClick:a,size:"lg",children:"开始造句 →"})})]})}const mf="________";function AD({unit:e,userInput:a,onInputChange:i,onSubmit:o}){const s=ke.useRef(null),[u,h]=ke.useState(!1),{before:m,after:g}=ke.useMemo(()=>{const k=e.sentenceScaffold.indexOf(mf);return k===-1?{before:e.sentenceScaffold,after:""}:{before:e.sentenceScaffold.slice(0,k),after:e.sentenceScaffold.slice(k+mf.length)}},[e.sentenceScaffold]),y=ke.useMemo(()=>a?a.startsWith(m)&&a.endsWith(g)?a.slice(m.length,a.length-g.length||void 0):a:"",[a,m,g]);ke.useEffect(()=>{s.current?.focus()},[e.sentenceScaffold]);const b=k=>{(k.metaKey||k.ctrlKey)&&k.key==="Enter"&&(k.preventDefault(),o())},A=k=>{const V=k.target.value;i(m+V+g)};return j.jsxs(Te.div,{initial:{opacity:0,y:20},animate:{opacity:1,y:0},exit:{opacity:0,y:-20},transition:{duration:.4},className:"py-8",children:[j.jsxs("div",{className:"text-center mb-8",children:[j.jsx("h2",{className:"text-3xl font-bold text-gray-900 mb-1",children:e.targetWord}),j.jsx("p",{className:"text-gray-500 text-sm",children:e.coreDefinitions[0]})]}),j.jsxs("div",{className:"max-w-2xl mx-auto",children:[j.jsx(Te.div,{initial:{opacity:0,scale:.95},animate:{opacity:1,scale:1},transition:{delay:.2},className:"bg-white rounded-2xl shadow-sm border border-gray-200 overflow-hidden",children:j.jsxs("div",{className:"w-full p-6 text-lg leading-relaxed",style:{wordBreak:"break-word"},children:[j.jsx("span",{className:"text-gray-800",children:m}),j.jsx("input",{ref:s,type:"text",value:y,onChange:A,onKeyDown:b,"aria-label":`Fill in the blank with: ${e.targetWord}`,className:` inline-block border-b-2 border-blue-400 focus:border-blue-600 bg-transparent text-blue-700 font-semibold text-center focus:outline-none transition-colors duration-150 mx-1 `,style:{width:`${Math.max(y.length+1,mf.length)*.62}em`,minWidth:"6em"},spellCheck:!1,autoComplete:"off",autoCorrect:"off",autoCapitalize:"none"}),j.jsx("span",{className:"text-gray-800",children:g})]})}),j.jsxs(Te.div,{initial:{opacity:0},animate:{opacity:1},transition:{delay:.35},className:"mt-4",children:[j.jsxs("button",{onClick:()=>h(!u),className:"inline-flex items-center gap-1 text-sm text-blue-600 hover:text-blue-800 transition-colors","aria-expanded":u,children:[j.jsx(v2,{className:`w-4 h-4 transition-transform duration-200 ${u?"rotate-90":""}`}),j.jsx("span",{children:u?"收起解释":"需要解释?"})]}),j.jsx(Uf,{initial:!1,children:u&&j.jsx(Te.div,{initial:{opacity:0,height:0},animate:{opacity:1,height:"auto"},exit:{opacity:0,height:0},transition:{duration:.2,ease:"easeInOut"},style:{overflow:"hidden"},children:j.jsx("div",{className:"mt-2 ml-6 pl-3 border-l-2 border-blue-300",children:j.jsx("p",{className:"text-sm text-gray-500 italic",children:e.sentenceMeaning})})},"explanation")})]}),j.jsxs(Te.p,{initial:{opacity:0},animate:{opacity:1},transition:{delay:.4},className:"text-center text-gray-400 text-sm mt-3",children:["在下划线处输入目标词",j.jsx("span",{className:"mx-2",children:"·"}),j.jsx("kbd",{className:"bg-gray-100 px-1.5 py-0.5 rounded text-xs",children:"⌘"}),j.jsx("span",{className:"mx-1",children:"+"}),j.jsx("kbd",{className:"bg-gray-100 px-1.5 py-0.5 rounded text-xs",children:"Enter"}),"提交"]}),j.jsx(Te.div,{initial:{opacity:0},animate:{opacity:1},transition:{delay:.5},className:"flex justify-center mt-6",children:j.jsx(mo,{onClick:o,size:"lg",children:"提交句子"})})]})]})}function xD(e){const a=[],i=/([A-Za-z](?:[A-Za-z'-]*[A-Za-z])?)|([^A-Za-z]+)/g;let o;for(;(o=i.exec(e))!==null;)a.push(o[1]?{value:o[1],isWord:!0}:{value:o[2],isWord:!1});return a}function wl({text:e,skipWords:a=[],className:i,...o}){const{lookup:s,state:u}=j1(),h=ke.useCallback((y,b)=>{const A=b.getBoundingClientRect();s(y,A)},[s]),m=xD(e),g=new Set(a.map(y=>y.toLowerCase()));return j.jsx("span",{className:i,...o,children:m.map((y,b)=>!y.isWord||g.has(y.value.toLowerCase())?j.jsx("span",{children:y.value},b):j.jsx(ND,{word:y.value,isActive:u.word===y.value.toLowerCase(),onTrigger:h},b))})}function ND({word:e,isActive:a,onTrigger:i}){const o=ke.useRef(null),s=ke.useRef(!1),u=g=>{if(s.current){s.current=!1;return}g.stopPropagation(),i(e,g.currentTarget)},h=g=>{s.current=!1,o.current=setTimeout(()=>{s.current=!0,g.preventDefault(),i(e,g.currentTarget)},500)},m=()=>{o.current&&(clearTimeout(o.current),o.current=null)};return j.jsx("span",{onClick:u,onTouchStart:h,onTouchEnd:m,onTouchMove:m,className:` cursor-pointer rounded-sm px-px transition-colors duration-100 hover:bg-blue-50 hover:text-blue-700 select-none ${a?"bg-blue-100 text-blue-700":""} `,style:{WebkitUserSelect:"none",touchAction:"manipulation"},children:e})}const CD={error:{icon:N2,color:"text-red-500",bgColor:"bg-red-50",borderColor:"border-red-200"},warning:{icon:P2,color:"text-amber-500",bgColor:"bg-amber-50",borderColor:"border-amber-200"},success:{icon:A2,color:"text-green-500",bgColor:"bg-green-50",borderColor:"border-green-200"},suggestion:{icon:j2,color:"text-blue-500",bgColor:"bg-blue-50",borderColor:"border-blue-200"}};function jD({unit:e,userSentence:a,validationResult:i,onNext:o}){const{feedback:s}=i;return j.jsxs(Te.div,{initial:{opacity:0,y:20},animate:{opacity:1,y:0},exit:{opacity:0,y:-20},transition:{duration:.4},className:"py-8",children:[j.jsxs("div",{className:"text-center mb-8",children:[j.jsx("h2",{className:"text-3xl font-bold text-gray-900 mb-1",children:e.targetWord}),j.jsx("p",{className:"text-gray-500 text-sm",children:e.coreDefinitions[0]})]}),j.jsx(Te.div,{initial:{opacity:0,scale:.95},animate:{opacity:1,scale:1},transition:{delay:.1},className:"max-w-2xl mx-auto mb-8",children:j.jsx("div",{className:"bg-white rounded-2xl shadow-sm border border-gray-200 p-6",children:j.jsx("p",{className:"text-lg text-gray-800 leading-relaxed",children:j.jsx(wl,{text:a,skipWords:[e.targetWord]})})})}),j.jsx(Te.div,{initial:{opacity:0,y:10},animate:{opacity:1,y:0},transition:{delay:.3},className:"max-w-2xl mx-auto space-y-3 mb-8",children:s.map((u,h)=>{const m=CD[u.type],g=m.icon;return j.jsxs(Te.div,{initial:{opacity:0,x:-10},animate:{opacity:1,x:0},transition:{delay:.4+h*.1},className:`flex items-start gap-3 p-4 rounded-xl ${m.bgColor} border ${m.borderColor}`,children:[j.jsx(g,{className:`w-5 h-5 mt-0.5 ${m.color}`}),j.jsx("div",{className:`text-base ${u.type==="error"?"text-red-700":u.type==="warning"?"text-amber-700":u.type==="success"?"text-green-700":"text-blue-700"}`,children:j.jsx(wl,{text:u.message})})]},h)})}),j.jsx(Te.div,{initial:{opacity:0},animate:{opacity:1},transition:{delay:.6},className:"flex justify-center",children:j.jsxs(mo,{onClick:o,size:"lg",children:["查看参考句子 ",j.jsx(k1,{className:"ml-2 w-5 h-5"})]})})]})}function TD({unit:e,userSentence:a,onNext:i}){return j.jsxs(Te.div,{initial:{opacity:0,y:20},animate:{opacity:1,y:0},exit:{opacity:0,y:-20},transition:{duration:.4},className:"py-8",children:[j.jsxs("div",{className:"text-center mb-8",children:[j.jsx("h2",{className:"text-3xl font-bold text-gray-900 mb-1",children:e.targetWord}),j.jsx("p",{className:"text-gray-500 text-sm",children:e.coreDefinitions[0]})]}),j.jsxs(Te.div,{initial:{opacity:0,scale:.95},animate:{opacity:1,scale:1},transition:{delay:.1},className:"max-w-4xl mx-auto grid md:grid-cols-2 gap-6 mb-8",children:[j.jsxs("div",{className:"bg-orange-50 rounded-2xl p-6 border border-orange-100",children:[j.jsx("div",{className:"flex items-center gap-2 mb-4",children:j.jsx("span",{className:"bg-orange-200 text-orange-700 text-xs font-medium px-2 py-1 rounded-full",children:"你的句子"})}),j.jsx("p",{className:"text-lg text-gray-800 leading-relaxed",children:j.jsx(wl,{text:a,skipWords:[e.targetWord]})})]}),j.jsxs("div",{className:"bg-green-50 rounded-2xl p-6 border border-green-100",children:[j.jsx("div",{className:"flex items-center gap-2 mb-4",children:j.jsx("span",{className:"bg-green-200 text-green-700 text-xs font-medium px-2 py-1 rounded-full",children:"范例句子"})}),j.jsx("p",{className:"text-lg text-gray-800 leading-relaxed",children:j.jsx(wl,{text:e.exampleSentences[0],skipWords:[e.targetWord]})})]})]}),j.jsx(Te.div,{initial:{opacity:0,y:10},animate:{opacity:1,y:0},transition:{delay:.3},className:"max-w-2xl mx-auto mb-8",children:j.jsxs("div",{className:"bg-gray-50 rounded-2xl p-6 border border-gray-200",children:[j.jsxs("div",{className:"flex items-center gap-2 mb-4",children:[j.jsx(_f,{className:"w-5 h-5 text-gray-600"}),j.jsx("h3",{className:"font-semibold text-gray-800",children:"学习要点"})]}),j.jsx("ul",{className:"space-y-2",children:e.learningPoints.map((o,s)=>j.jsxs(Te.li,{initial:{opacity:0,x:-10},animate:{opacity:1,x:0},transition:{delay:.4+s*.1},className:"flex items-start gap-2 text-gray-700",children:[j.jsx(y2,{className:"w-4 h-4 mt-1 text-green-500 flex-shrink-0"}),j.jsx("span",{children:o})]},s))})]})}),j.jsx(Te.div,{initial:{opacity:0},animate:{opacity:1},transition:{delay:.6},className:"flex justify-center",children:j.jsxs(mo,{onClick:i,size:"lg",children:["下一个词 ",j.jsx(k1,{className:"ml-2 w-5 h-5"})]})})]})}function kD(){const{currentPhase:e,userInput:a,validationResult:i,getCurrentUnit:o,goToNextPhase:s,setUserInput:u,submitAnswer:h,nextUnit:m}=$f(),g=o(),y=()=>{h(),s()},b=()=>{s()},A=()=>{m()};return j.jsxs(jy,{className:"py-8",children:[j.jsxs("div",{className:"flex items-center justify-between mb-8",children:[j.jsxs("div",{className:"flex items-center gap-2",children:[j.jsx(_f,{className:"w-6 h-6 text-blue-600"}),j.jsx("h1",{className:"text-xl font-bold text-gray-900",children:"SentenceCraft"})]}),j.jsx(N1,{to:"/settings",children:j.jsx(E2,{className:"w-5 h-5 text-gray-400 hover:text-gray-600 transition-colors"})})]}),j.jsx("div",{className:"flex items-center justify-center gap-2 mb-8",children:["focus","construct","validate","reinforce"].map((k,V)=>j.jsx("div",{className:`h-1.5 rounded-full transition-all duration-300 ${k===e?"w-8 bg-blue-600":["focus","construct","validate","reinforce"].indexOf(e)>V?"w-4 bg-green-500":"w-4 bg-gray-200"}`},k))}),j.jsx("div",{className:"bg-white rounded-3xl shadow-sm border border-gray-100 p-6 sm:p-10",children:j.jsxs(Uf,{mode:"wait",children:[e==="focus"&&j.jsx(wD,{unit:g,onNext:s},"focus"),e==="construct"&&j.jsx(AD,{unit:g,userInput:a,onInputChange:u,onSubmit:y},"construct"),e==="validate"&&i&&j.jsx(jD,{unit:g,userSentence:a,validationResult:i,onNext:b},"validate"),e==="reinforce"&&j.jsx(TD,{unit:g,userSentence:a,onNext:A},"reinforce")]})}),j.jsxs("p",{className:"text-center text-gray-400 text-sm mt-6",children:["第 ",$f.getState().currentUnitIndex+1," / ",8," 个词汇"]})]})}function SD(){const{progress:e,reset:a}=$f(),i=Object.keys(e.masteredWords).filter(s=>{const u=e.masteredWords[s];return u&&u.correctAttempts>0}).length,o=Object.values(e.masteredWords).reduce((s,u)=>s+(u?.totalAttempts||0),0);return j.jsxs(jy,{className:"py-8",children:[j.jsxs(N1,{to:"/",className:"inline-flex items-center gap-2 text-gray-500 hover:text-gray-700 transition-colors mb-6",children:[j.jsx(d2,{className:"w-4 h-4"}),j.jsx("span",{children:"返回学习"})]}),j.jsxs("div",{className:"max-w-lg mx-auto",children:[j.jsx("h1",{className:"text-2xl font-bold text-gray-900 mb-8",children:"设置"}),j.jsxs(Te.div,{initial:{opacity:0,y:10},animate:{opacity:1,y:0},className:"bg-white rounded-2xl p-6 border border-gray-100 mb-6",children:[j.jsxs("div",{className:"flex items-center gap-3 mb-4",children:[j.jsx(_f,{className:"w-5 h-5 text-blue-600"}),j.jsx("h2",{className:"font-semibold text-gray-800",children:"学习统计"})]}),j.jsxs("div",{className:"grid grid-cols-2 gap-4",children:[j.jsxs("div",{className:"bg-gray-50 rounded-xl p-4",children:[j.jsx("p",{className:"text-2xl font-bold text-gray-900",children:i}),j.jsx("p",{className:"text-sm text-gray-500",children:"已学习词汇"})]}),j.jsxs("div",{className:"bg-gray-50 rounded-xl p-4",children:[j.jsx("p",{className:"text-2xl font-bold text-gray-900",children:o}),j.jsx("p",{className:"text-sm text-gray-500",children:"总练习次数"})]})]})]}),j.jsxs(Te.div,{initial:{opacity:0,y:10},animate:{opacity:1,y:0},transition:{delay:.1},className:"bg-white rounded-2xl p-6 border border-gray-100",children:[j.jsxs("div",{className:"flex items-center gap-3 mb-4",children:[j.jsx(D2,{className:"w-5 h-5 text-red-500"}),j.jsx("h2",{className:"font-semibold text-gray-800",children:"重置进度"})]}),j.jsx("p",{className:"text-gray-500 text-sm mb-4",children:"清空所有学习记录,重新开始。"}),j.jsx(mo,{variant:"outline",onClick:()=>{confirm("确定要重置所有学习进度吗?")&&a()},children:"重置进度"})]})]})]})}function DD(){return j.jsx(r2,{children:j.jsxs(Zv,{children:[j.jsx("div",{className:"min-h-screen bg-gray-50",children:j.jsxs(Wv,{children:[j.jsx(ip,{path:"/",element:j.jsx(kD,{})}),j.jsx(ip,{path:"/settings",element:j.jsx(SD,{})})]})}),j.jsx(U2,{})]})})}i2.createRoot(document.getElementById("root")).render(j.jsx(ke.StrictMode,{children:j.jsx(DD,{})}));