1
0
mirror of https://github.com/nextapps-de/flexsearch.git synced 2025-08-29 16:50:13 +02:00

MOD improve profiles

This commit is contained in:
Thomas Wilkerling
2018-03-21 19:27:37 +01:00
parent 152aa43d69
commit c3e0d39e3d
4 changed files with 47 additions and 68 deletions

File diff suppressed because one or more lines are too long

Before

Width:  |  Height:  |  Size: 30 KiB

After

Width:  |  Height:  |  Size: 33 KiB

View File

@@ -59,7 +59,6 @@ var SUPPORT_ASYNC = true;
};
/**
* @struct
* @private
* @const
* @final
@@ -101,6 +100,7 @@ var SUPPORT_ASYNC = true;
"fastest": {
encode: "icase",
mode: "strict",
threshold: 9,
depth: 1
}
@@ -412,12 +412,10 @@ var SUPPORT_ASYNC = true;
if(typeof options === 'string'){
options = profiles[options] || defaults;
options = profiles[options];
}
else{
options || (options = defaults);
}
options || (options = defaults);
// generate UID
@@ -517,7 +515,8 @@ var SUPPORT_ASYNC = true;
if(options){
var custom;
var custom = options['profile'];
var profile = custom ? profiles[custom] : {};
// initialize worker
@@ -588,34 +587,12 @@ var SUPPORT_ASYNC = true;
}
}
// apply profile options
if((custom = options['profile'])) {
this.profile = custom || 'custom';
custom = profiles[custom];
if(custom) {
for(var option in custom){
if(custom.hasOwnProperty(option)){
if(typeof options[option] === 'undefined'){
options[option] = custom[option];
}
}
}
}
}
// apply custom options
this.mode = (
options['mode'] ||
profile.mode ||
this.mode ||
defaults.mode
);
@@ -644,6 +621,7 @@ var SUPPORT_ASYNC = true;
this.threshold = (
options['threshold'] ||
profile.threshold ||
this.threshold ||
defaults.threshold
);
@@ -651,11 +629,12 @@ var SUPPORT_ASYNC = true;
this.depth = (
options['depth'] ||
profile.depth ||
this.depth ||
defaults.depth
);
custom = options['encode'];
custom = options['encode'] || profile.encode;
this.encoder = (
@@ -1224,7 +1203,7 @@ var SUPPORT_ASYNC = true;
query = query['query'];
}
threshold || (threshold = 0);
threshold = (threshold || this.threshold || 0) | 0;
if(typeof limit === 'function'){
@@ -1916,7 +1895,7 @@ var SUPPORT_ASYNC = true;
if(score >= threshold){
var arr = map[score];
var arr = map[(score + 0.5) | 0];
arr = arr[tmp] || (arr[tmp] = []);
arr[arr.length] = id;
}
@@ -1938,7 +1917,7 @@ var SUPPORT_ASYNC = true;
return (
((3 / ref.length * (ref.length - context_index)) + (6 / partial_index) + 0.5) | 0
(3 / ref.length * (ref.length - context_index)) + (6 / partial_index)
);
}

View File

@@ -4,15 +4,15 @@
Released under the Apache 2.0 Licence
https://github.com/nextapps-de/flexsearch
*/
'use strict';(function(d,t,l){var q;(q=l.define)&&q.amd?q([],function(){return t}):(q=l.modules)?q[d.toLowerCase()]=t:"undefined"!==typeof module?module.exports=t:l[d]=t})("FlexSearch",function(){function d(a){"string"===typeof a?a=A[a]||x:a||(a=x);this.id=a.id||D++;this.init(a);t(this,"index",function(){return this.a});t(this,"length",function(){return Object.keys(this.a).length})}function t(a,b,c){Object.defineProperty(a,b,{get:c})}function l(a){return new RegExp(a,"g")}function q(a,b,c){if("undefined"===
typeof c){for(c=0;c<b.length;c+=2)a=a.replace(b[c],b[c+1]);return a}return a.replace(b,c)}function v(a,b,c,k,g,e){if("undefined"===typeof b[c]){var f=g.indexOf(c);f=3/g.length*(g.length-f)+6/(f-g.lastIndexOf(" ",f))+.5|0;b[c]=f;f>=e&&(a=a[f],a=a[c]||(a[c]=[]),a[a.length]=k)}return f||b[c]}function B(a){var b=[];if(!a)return b;for(var c=0,k=0,g=0,e="",f=a.length,p=0;p<f;p++){var m=a[p];"a"===m||"e"===m||"i"===m||"o"===m||"u"===m||"y"===m?c++:k++;" "!==m&&(e+=m);if(" "===m||1<c&&1<k||2<c||2<k||p===
'use strict';(function(d,t,l){var q;(q=l.define)&&q.amd?q([],function(){return t}):(q=l.modules)?q[d.toLowerCase()]=t:"undefined"!==typeof module?module.exports=t:l[d]=t})("FlexSearch",function(){function d(a){"string"===typeof a&&(a=A[a]);a||(a=y);this.id=a.id||D++;this.init(a);t(this,"index",function(){return this.a});t(this,"length",function(){return Object.keys(this.a).length})}function t(a,b,c){Object.defineProperty(a,b,{get:c})}function l(a){return new RegExp(a,"g")}function q(a,b,c){if("undefined"===
typeof c){for(c=0;c<b.length;c+=2)a=a.replace(b[c],b[c+1]);return a}return a.replace(b,c)}function x(a,b,c,k,g,e){if("undefined"===typeof b[c]){var f=g.indexOf(c);f=3/g.length*(g.length-f)+6/(f-g.lastIndexOf(" ",f));b[c]=f;f>=e&&(a=a[f+.5|0],a=a[c]||(a[c]=[]),a[a.length]=k)}return f||b[c]}function B(a){var b=[];if(!a)return b;for(var c=0,k=0,g=0,e="",f=a.length,p=0;p<f;p++){var m=a[p];"a"===m||"e"===m||"i"===m||"o"===m||"u"===m||"y"===m?c++:k++;" "!==m&&(e+=m);if(" "===m||1<c&&1<k||2<c||2<k||p===
f-1)e&&(b[g]&&2<e.length&&g++,b[g]=b[g]?b[g]+e:e," "===m&&g++,e=""),k=c=0}return b}function E(a,b){a=a.length-b.length;return 0>a?1:0<a?-1:0}function F(a,b){a=a.length-b.length;return 0>a?-1:0<a?1:0}function G(a,b){var c=[],k=a.length;if(1<k){a.sort(F);for(var g={},e=a[0],f=e.length,p=0;p<f;)g[e[p++]]=1;for(var m,d=0,n=1;n<k;){var r=!1;e=a[n];f=e.length;for(p=0;p<f;)if(g[m=e[p++]]===n){if(n===k-1&&(c[d++]=m,b&&d===b)){r=!1;break}r=!0;g[m]=n+1}if(!r)break;n++}}else k&&(c=a[0],b&&c&&c.length>b&&(c=
c.slice(0,b)));return c}var x={encode:"icase",mode:"forward",cache:!1,async:!1,l:!1,threshold:0,depth:0},A={memory:{encode:"extra",mode:"strict",threshold:7},speed:{encode:"icase",mode:"strict",threshold:7,depth:2},match:{encode:"extra",mode:"full"},score:{encode:"extra",mode:"strict",threshold:5,depth:4},balance:{encode:"balance",mode:"ngram",threshold:6,depth:3},fastest:{encode:"icase",threshold:9,depth:1}},w=[],D=0,C=l("[ -/]");d.new=function(a){return new this(a)};d.create=function(a){return d.new(a)};
d.addMatcher=function(a){for(var b in a)a.hasOwnProperty(b)&&(w[w.length]=l(b),w[w.length]=a[b]);return this};d.register=function(a,b){y[a]=b;return this};d.encode=function(a,b){return y[a].call(y,b)};d.prototype.init=function(a){this.c=[];if(a){var b;if(b=a.profile)if(b=A[b])for(var c in b)b.hasOwnProperty(c)&&"undefined"===typeof a[c]&&(a[c]=b[c]);this.mode=a.mode||this.mode||x.mode;this.threshold=a.threshold||this.threshold||x.threshold;this.depth=a.depth||this.depth||x.depth;this.h=(b=a.encode)&&
y[b]||("function"===typeof b?b:this.h||!1);(b=a.matcher)&&this.addMatcher(b)}this.b=[{},{},{},{},{},{},{},{},{},{},{}];this.a={};this.f="";this.g=!0;return this};d.prototype.encode=function(a){a&&w.length&&(a=q(a,w));a&&this.c.length&&(a=q(a,this.c));a&&this.h&&(a=this.h.call(y,a));if(a&&this.i){a=a.split(" ");for(var b=0;b<a.length;b++){var c=a[b];this.i[c]&&(a[b]=this.i[c])}a=a.join(" ")}a&&this.j&&(a=q(a,this.j));return a};d.prototype.addMatcher=function(a){for(var b in a)a.hasOwnProperty(b)&&
(this.c[this.c.length]=l(b),this.c[this.c.length]=a[b]);return this};d.prototype.add=function(a,b){if("string"===typeof b&&b&&(a||0===a))if(this.a[a])this.update(a,b);else{b=this.encode(b);if(!b.length)return this;for(var c=this.mode,k="function"===typeof c?c(b):"ngram"===c?B(b):b.split(C),g={_ctx:{}},e=this.threshold,f=this.depth,p=this.b,m=k.length,d=0;d<m;d++){var n=k[d];if(n){var r=n.length;switch(c){case "reverse":case "both":for(var u="",h=r-1;1<=h;h--)u=n[h]+u,v(p,g,u,a,b,e);case "forward":u=
"";for(h=0;h<r;h++)u+=n[h],v(p,g,u,a,b,e);break;case "full":for(h=0;h<r;h++)for(var l=r;l>h;l--)u=n.substring(h,l),v(p,g,u,a,b,e);break;default:if(h=v(p,g,n,a,b,e),f&&1<m&&h>=e)for(h=p[10],r=g._ctx[n]||(g._ctx[n]={}),n=h[n]||(h[n]=[{},{},{},{},{},{},{},{},{},{}]),h=d-f,l=d+f,0>h&&(h=0),l>m-1&&(l=m-1);h<=l;h++)h!==d&&v(n,r,k[h],a,b,e)}}}this.a[a]="1";this.g=!1}return this};d.prototype.update=function(a,b){"string"===typeof b&&(a||0===a)&&this.a[a]&&(this.remove(a),b&&this.add(a,b));return this};d.prototype.remove=
function(a){if(this.a[a]){for(var b=0;10>b;b++)for(var c=Object.keys(this.b[b]),k=0;k<c.length;k++){var g=c[k],e=this.b[b];if((e=e&&e[g])&&e.length)for(var f=0;f<e.length;f++)if(e[f]===a){e.splice(f,1);break}e.length||delete this.b[b][g]}delete this.a[a];this.g=!1}return this};d.prototype.search=function(a,b,c){var k=[];if(a&&"object"===typeof a){c=a.callback||b;b=a.limit;var g=a.threshold;a=a.query}g||(g=0);"function"===typeof b?(c=b,b=1E3):b||(b=1E3);if(c){var e=this;H(function(){c(e.search(a,b));
e=null},1,"search-"+this.id);return null}if(!a||"string"!==typeof a)return k;if(!this.g)this.g=!0;else if(this.f&&0===a.indexOf(this.f))return k;var f=this.encode(a);if(!f.length)return k;var d=this.mode;f="function"===typeof d?d(f):"ngram"===d?B(f):f.split(C);d=f.length;var m=!0,l=[],n={};if(1<d)if(this.depth){var r=!0,u=f[0];n[u]="1"}else f.sort(E);var h;if(!r||(h=this.b[10])[u])for(var q=r?1:0;q<d;q++){var t=f[q];if(t&&!n[t]){for(var w,x=!1,v=[],y=0,z=9;z>=g;z--)if(w=(r?h[u]:this.b)[z][t])v[y++]=
w,x=!0;if(x)l[l.length]=1<y?l.concat.apply([],v):v[0];else{m=!1;break}n[t]="1"}u=t}else m=!1;m&&(k=G(l,b));k.length?this.f="":this.f||(this.f=a);return k};d.prototype.reset=function(){this.destroy();return this.init()};d.prototype.destroy=function(){this.b=this.a=null;return this};var y={icase:function(a){return a.toLowerCase()},balance:function(){var a=[l("[-/]")," ",l("[^a-z0-9 ]"),"",l("\\s\\s+")," ",l("[aeiouy]"),""];return function(b){b=q(b.toLowerCase(),a);for(var c="",d="",g="",e=0;e<b.length;e++){var f=
b[e];if(f!==d)if(e&&"h"===f){if(g="a"===g||"e"===g||"i"===g||"o"===g||"u"===g||"y"===g,("a"===d||"e"===d||"i"===d||"o"===d||"u"===d||"y"===d)&&g||" "===d)c+=f}else c+=f;g=e===b.length-1?"":b[e+1];d=f}return c}}()},H=null;return d}(!1),this);
c.slice(0,b)));return c}var y={encode:"icase",mode:"forward",cache:!1,async:!1,l:!1,threshold:0,depth:0},A={memory:{encode:"extra",mode:"strict",threshold:7},speed:{encode:"icase",mode:"strict",threshold:7,depth:2},match:{encode:"extra",mode:"full"},score:{encode:"extra",mode:"strict",threshold:5,depth:4},balance:{encode:"balance",mode:"ngram",threshold:6,depth:3},fastest:{encode:"icase",mode:"strict",threshold:9,depth:1}},v=[],D=0,C=l("[ -/]");d.new=function(a){return new this(a)};d.create=function(a){return d.new(a)};
d.addMatcher=function(a){for(var b in a)a.hasOwnProperty(b)&&(v[v.length]=l(b),v[v.length]=a[b]);return this};d.register=function(a,b){w[a]=b;return this};d.encode=function(a,b){return w[a].call(w,b)};d.prototype.init=function(a){this.c=[];if(a){var b=a.profile;b=b?A[b]:{};this.mode=a.mode||b.mode||this.mode||y.mode;this.threshold=a.threshold||b.threshold||this.threshold||y.threshold;this.depth=a.depth||b.depth||this.depth||y.depth;this.h=(b=a.encode||b.encode)&&w[b]||("function"===typeof b?b:this.h||
!1);(b=a.matcher)&&this.addMatcher(b)}this.b=[{},{},{},{},{},{},{},{},{},{},{}];this.a={};this.f="";this.g=!0;return this};d.prototype.encode=function(a){a&&v.length&&(a=q(a,v));a&&this.c.length&&(a=q(a,this.c));a&&this.h&&(a=this.h.call(w,a));if(a&&this.i){a=a.split(" ");for(var b=0;b<a.length;b++){var c=a[b];this.i[c]&&(a[b]=this.i[c])}a=a.join(" ")}a&&this.j&&(a=q(a,this.j));return a};d.prototype.addMatcher=function(a){for(var b in a)a.hasOwnProperty(b)&&(this.c[this.c.length]=l(b),this.c[this.c.length]=
a[b]);return this};d.prototype.add=function(a,b){if("string"===typeof b&&b&&(a||0===a))if(this.a[a])this.update(a,b);else{b=this.encode(b);if(!b.length)return this;for(var c=this.mode,k="function"===typeof c?c(b):"ngram"===c?B(b):b.split(C),g={_ctx:{}},e=this.threshold,f=this.depth,p=this.b,m=k.length,d=0;d<m;d++){var n=k[d];if(n){var r=n.length;switch(c){case "reverse":case "both":for(var u="",h=r-1;1<=h;h--)u=n[h]+u,x(p,g,u,a,b,e);case "forward":u="";for(h=0;h<r;h++)u+=n[h],x(p,g,u,a,b,e);break;
case "full":for(h=0;h<r;h++)for(var l=r;l>h;l--)u=n.substring(h,l),x(p,g,u,a,b,e);break;default:if(h=x(p,g,n,a,b,e),f&&1<m&&h>=e)for(h=p[10],r=g._ctx[n]||(g._ctx[n]={}),n=h[n]||(h[n]=[{},{},{},{},{},{},{},{},{},{}]),h=d-f,l=d+f,0>h&&(h=0),l>m-1&&(l=m-1);h<=l;h++)h!==d&&x(n,r,k[h],a,b,e)}}}this.a[a]="1";this.g=!1}return this};d.prototype.update=function(a,b){"string"===typeof b&&(a||0===a)&&this.a[a]&&(this.remove(a),b&&this.add(a,b));return this};d.prototype.remove=function(a){if(this.a[a]){for(var b=
0;10>b;b++)for(var c=Object.keys(this.b[b]),k=0;k<c.length;k++){var g=c[k],e=this.b[b];if((e=e&&e[g])&&e.length)for(var f=0;f<e.length;f++)if(e[f]===a){e.splice(f,1);break}e.length||delete this.b[b][g]}delete this.a[a];this.g=!1}return this};d.prototype.search=function(a,b,c){var k=[];if(a&&"object"===typeof a){c=a.callback||b;b=a.limit;var g=a.threshold;a=a.query}g=(g||this.threshold||0)|0;"function"===typeof b?(c=b,b=1E3):b||(b=1E3);if(c){var e=this;H(function(){c(e.search(a,b));e=null},1,"search-"+
this.id);return null}if(!a||"string"!==typeof a)return k;if(!this.g)this.g=!0;else if(this.f&&0===a.indexOf(this.f))return k;var f=this.encode(a);if(!f.length)return k;var d=this.mode;f="function"===typeof d?d(f):"ngram"===d?B(f):f.split(C);d=f.length;var m=!0,l=[],n={};if(1<d)if(this.depth){var r=!0,u=f[0];n[u]="1"}else f.sort(E);var h;if(!r||(h=this.b[10])[u])for(var q=r?1:0;q<d;q++){var t=f[q];if(t&&!n[t]){for(var v,x=!1,w=[],y=0,z=9;z>=g;z--)if(v=(r?h[u]:this.b)[z][t])w[y++]=v,x=!0;if(x)l[l.length]=
1<y?l.concat.apply([],w):w[0];else{m=!1;break}n[t]="1"}u=t}else m=!1;m&&(k=G(l,b));k.length?this.f="":this.f||(this.f=a);return k};d.prototype.reset=function(){this.destroy();return this.init()};d.prototype.destroy=function(){this.b=this.a=null;return this};var w={icase:function(a){return a.toLowerCase()},balance:function(){var a=[l("[-/]")," ",l("[^a-z0-9 ]"),"",l("\\s\\s+")," ",l("[aeiouy]"),""];return function(b){b=q(b.toLowerCase(),a);for(var c="",d="",g="",e=0;e<b.length;e++){var f=b[e];if(f!==
d)if(e&&"h"===f){if(g="a"===g||"e"===g||"i"===g||"o"===g||"u"===g||"y"===g,("a"===d||"e"===d||"i"===d||"o"===d||"u"===d||"y"===d)&&g||" "===d)c+=f}else c+=f;g=e===b.length-1?"":b[e+1];d=f}return c}}()},H=null;return d}(!1),this);

46
flexsearch.min.js vendored
View File

@@ -4,27 +4,27 @@
Released under the Apache 2.0 Licence
https://github.com/nextapps-de/flexsearch
*/
'use strict';(function(n,C,g){var p;(p=g.define)&&p.amd?p([],function(){return C}):(p=g.modules)?p[n.toLowerCase()]=C:"undefined"!==typeof module?module.exports=C:g[n]=C})("FlexSearch",function L(n){function g(a){"string"===typeof a?a=G[a]||v:a||(a=v);this.id=a.id||M++;this.init(a);p(this,"index",function(){return this.a});p(this,"length",function(){return Object.keys(this.a).length})}function p(a,b,c){Object.defineProperty(a,b,{get:c})}function d(a){return new RegExp(a,"g")}function w(a,b,c){if("undefined"===
typeof c){for(c=0;c<b.length;c+=2)a=a.replace(b[c],b[c+1]);return a}return a.replace(b,c)}function t(a,b,c,e,f,k){if("undefined"===typeof b[c]){var h=f.indexOf(c);h=3/f.length*(f.length-h)+6/(h-f.lastIndexOf(" ",h))+.5|0;b[c]=h;h>=k&&(a=a[h],a=a[c]||(a[c]=[]),a[a.length]=e)}return h||b[c]}function x(a){var b=[];if(!a)return b;for(var c=0,e=0,f=0,k="",h=a.length,B=0;B<h;B++){var d=a[B];"a"===d||"e"===d||"i"===d||"o"===d||"u"===d||"y"===d?c++:e++;" "!==d&&(k+=d);if(" "===d||1<c&&1<e||2<c||2<e||B===
h-1)k&&(b[f]&&2<k.length&&f++,b[f]=b[f]?b[f]+k:k," "===d&&f++,k=""),e=c=0}return b}function F(a){for(var b="",c="",e="",f=0;f<a.length;f++){var k=a[f];if(k!==c)if(f&&"h"===k){if(e="a"===e||"e"===e||"i"===e||"o"===e||"u"===e||"y"===e,("a"===c||"e"===c||"i"===c||"o"===c||"u"===c||"y"===c)&&e||" "===c)b+=k}else b+=k;e=f===a.length-1?"":a[f+1];c=k}return b}function N(a,b){var c={};if(H)for(var e=0;e<a.length;e++){var f=b?b.call(y,a[e]):a[e];c[f]=String.fromCharCode(65E3-a.length+e)}return c}function O(a,
b){var c=[];if(a){var e=0,f;for(f in a)if(a.hasOwnProperty(f)){var k=b?b.call(y,f):f;c[e++]=d("(?=.{"+(k.length+3)+",})"+k+"$");c[e++]=b?b.call(y,a[f]):a[f]}}return c}function P(a,b){a=a.length-b.length;return 0>a?1:0<a?-1:0}function Q(a,b){a=a.length-b.length;return 0>a?-1:0<a?1:0}function R(a,b){var c=[],e=a.length;if(1<e){a.sort(Q);for(var f={},k=a[0],d=k.length,B=0;B<d;)f[k[B++]]=1;for(var g,q=0,m=1;m<e;){var r=!1;k=a[m];d=k.length;for(B=0;B<d;)if(f[g=k[B++]]===m){if(m===e-1&&(c[q++]=g,b&&q===
b)){r=!1;break}r=!0;f[g]=m+1}if(!r)break;m++}}else e&&(c=a[0],b&&c&&c.length>b&&(c=c.slice(0,b)));return c}function E(a){a.B||(a.B=I(function(){a.B=null;var b=a.async;b&&(a.async=!1);if(a.c.length){for(var c=J(),e;(e=a.c.shift())||0===e;){var f=a.h[e];switch(f[0]){case D.add:a.add(f[1],f[2]);break;case D.update:a.update(f[1],f[2]);break;case D.remove:a.remove(f[1])}a.h[e]=null;delete a.h[e];if(100<J()-c)break}a.c.length&&E(a)}b&&(a.async=b)},1,"search-async-"+a.id))}function J(){return"undefined"!==
typeof performance?performance.now():(new Date).getTime()}function S(a,b,c,e){a=n("flexsearch","id"+a,function(){var a,b;self.a=function(c){if(c=c.data)c.search?self.postMessage({result:b.search(c.content,c.threshold?{limit:c.limit,threshold:c.threshold}:c.limit),id:a,content:c.content,limit:c.limit}):c.add?b.add(c.id,c.content):c.update?b.update(c.id,c.content):c.remove?b.remove(c.id):c.reset?b.reset():c.info?(c=b.info(),c.worker=a,b.C&&console.log(c)):c.register&&(a=c.id,c.options.cache=!1,c.options.async=
!0,c.options.worker=!1,b=(new Function(c.register.substring(c.register.indexOf("{")+1,c.register.lastIndexOf("}"))))(),b=new b(c.options))}},function(a){(a=a.data)&&a.result?e(a.id,a.content,a.result,a.limit):c.debug&&console.log(a)},b);var f=L.toString();c.id=b;a.postMessage(b,{register:f,options:c,id:b});return a}var v={encode:"icase",mode:"forward",cache:!1,async:!1,b:!1,threshold:0,depth:0},G={memory:{encode:"extra",mode:"strict",threshold:7},speed:{encode:"icase",mode:"strict",threshold:7,depth:2},
match:{encode:"extra",mode:"full"},score:{encode:"extra",mode:"strict",threshold:5,depth:4},balance:{encode:"balance",mode:"ngram",threshold:6,depth:3},fastest:{encode:"icase",threshold:9,depth:1}},z=[],M=0,D={add:0,update:1,remove:2},K=d("[ -/]"),T="a about above after again against all also am an and any are aren't as at be because been before being below both but by can cannot can't come could couldn't did didn't do does doesn't doing dont down during each even few first for from further get go had hadn't has hasn't have haven't having he hed her here here's hers herself hes him himself his how how's i id if ill im in into is isn't it it's itself i've just know let's like make me more most mustn't my myself new no nor not now of off on once only or other ought our our's ourselves out over own same say see shan't she she'd shell shes should shouldn't so some such than that that's the their theirs them themselves then there there's these they they'd they'll they're they've this those through time to too until up us very want was wasn't way we wed well were weren't we've what what's when when's where where's which while who whom who's why why's will with won't would wouldn't you you'd you'll your you're your's yourself yourselves you've".split(" "),
'use strict';(function(n,C,g){var p;(p=g.define)&&p.amd?p([],function(){return C}):(p=g.modules)?p[n.toLowerCase()]=C:"undefined"!==typeof module?module.exports=C:g[n]=C})("FlexSearch",function L(n){function g(a){"string"===typeof a&&(a=G[a]);a||(a=u);this.id=a.id||M++;this.init(a);p(this,"index",function(){return this.a});p(this,"length",function(){return Object.keys(this.a).length})}function p(a,b,d){Object.defineProperty(a,b,{get:d})}function e(a){return new RegExp(a,"g")}function v(a,b,d){if("undefined"===
typeof d){for(d=0;d<b.length;d+=2)a=a.replace(b[d],b[d+1]);return a}return a.replace(b,d)}function w(a,b,d,c,f,k){if("undefined"===typeof b[d]){var h=f.indexOf(d);h=3/f.length*(f.length-h)+6/(h-f.lastIndexOf(" ",h));b[d]=h;h>=k&&(a=a[h+.5|0],a=a[d]||(a[d]=[]),a[a.length]=c)}return h||b[d]}function x(a){var b=[];if(!a)return b;for(var d=0,c=0,f=0,k="",h=a.length,B=0;B<h;B++){var e=a[B];"a"===e||"e"===e||"i"===e||"o"===e||"u"===e||"y"===e?d++:c++;" "!==e&&(k+=e);if(" "===e||1<d&&1<c||2<d||2<c||B===
h-1)k&&(b[f]&&2<k.length&&f++,b[f]=b[f]?b[f]+k:k," "===e&&f++,k=""),c=d=0}return b}function F(a){for(var b="",d="",c="",f=0;f<a.length;f++){var k=a[f];if(k!==d)if(f&&"h"===k){if(c="a"===c||"e"===c||"i"===c||"o"===c||"u"===c||"y"===c,("a"===d||"e"===d||"i"===d||"o"===d||"u"===d||"y"===d)&&c||" "===d)b+=k}else b+=k;c=f===a.length-1?"":a[f+1];d=k}return b}function N(a,b){var d={};if(H)for(var c=0;c<a.length;c++){var f=b?b.call(y,a[c]):a[c];d[f]=String.fromCharCode(65E3-a.length+c)}return d}function O(a,
b){var d=[];if(a){var c=0,f;for(f in a)if(a.hasOwnProperty(f)){var k=b?b.call(y,f):f;d[c++]=e("(?=.{"+(k.length+3)+",})"+k+"$");d[c++]=b?b.call(y,a[f]):a[f]}}return d}function P(a,b){a=a.length-b.length;return 0>a?1:0<a?-1:0}function Q(a,b){a=a.length-b.length;return 0>a?-1:0<a?1:0}function R(a,b){var d=[],c=a.length;if(1<c){a.sort(Q);for(var f={},k=a[0],e=k.length,B=0;B<e;)f[k[B++]]=1;for(var g,q=0,m=1;m<c;){var r=!1;k=a[m];e=k.length;for(B=0;B<e;)if(f[g=k[B++]]===m){if(m===c-1&&(d[q++]=g,b&&q===
b)){r=!1;break}r=!0;f[g]=m+1}if(!r)break;m++}}else c&&(d=a[0],b&&d&&d.length>b&&(d=d.slice(0,b)));return d}function E(a){a.B||(a.B=I(function(){a.B=null;var b=a.async;b&&(a.async=!1);if(a.c.length){for(var d=J(),c;(c=a.c.shift())||0===c;){var f=a.h[c];switch(f[0]){case D.add:a.add(f[1],f[2]);break;case D.update:a.update(f[1],f[2]);break;case D.remove:a.remove(f[1])}a.h[c]=null;delete a.h[c];if(100<J()-d)break}a.c.length&&E(a)}b&&(a.async=b)},1,"search-async-"+a.id))}function J(){return"undefined"!==
typeof performance?performance.now():(new Date).getTime()}function S(a,b,d,c){a=n("flexsearch","id"+a,function(){var a,b;self.a=function(c){if(c=c.data)c.search?self.postMessage({result:b.search(c.content,c.threshold?{limit:c.limit,threshold:c.threshold}:c.limit),id:a,content:c.content,limit:c.limit}):c.add?b.add(c.id,c.content):c.update?b.update(c.id,c.content):c.remove?b.remove(c.id):c.reset?b.reset():c.info?(c=b.info(),c.worker=a,b.C&&console.log(c)):c.register&&(a=c.id,c.options.cache=!1,c.options.async=
!0,c.options.worker=!1,b=(new Function(c.register.substring(c.register.indexOf("{")+1,c.register.lastIndexOf("}"))))(),b=new b(c.options))}},function(a){(a=a.data)&&a.result?c(a.id,a.content,a.result,a.limit):d.debug&&console.log(a)},b);var f=L.toString();d.id=b;a.postMessage(b,{register:f,options:d,id:b});return a}var u={encode:"icase",mode:"forward",cache:!1,async:!1,b:!1,threshold:0,depth:0},G={memory:{encode:"extra",mode:"strict",threshold:7},speed:{encode:"icase",mode:"strict",threshold:7,depth:2},
match:{encode:"extra",mode:"full"},score:{encode:"extra",mode:"strict",threshold:5,depth:4},balance:{encode:"balance",mode:"ngram",threshold:6,depth:3},fastest:{encode:"icase",mode:"strict",threshold:9,depth:1}},z=[],M=0,D={add:0,update:1,remove:2},K=e("[ -/]"),T="a about above after again against all also am an and any are aren't as at be because been before being below both but by can cannot can't come could couldn't did didn't do does doesn't doing dont down during each even few first for from further get go had hadn't has hasn't have haven't having he hed her here here's hers herself hes him himself his how how's i id if ill im in into is isn't it it's itself i've just know let's like make me more most mustn't my myself new no nor not now of off on once only or other ought our our's ourselves out over own same say see shan't she she'd shell shes should shouldn't so some such than that that's the their theirs them themselves then there there's these they they'd they'll they're they've this those through time to too until up us very want was wasn't way we wed well were weren't we've what what's when when's where where's which while who whom who's why why's will with won't would wouldn't you you'd you'll your you're your's yourself yourselves you've".split(" "),
H={ational:"ate",tional:"tion",enci:"ence",anci:"ance",izer:"ize",bli:"ble",alli:"al",entli:"ent",eli:"e",ousli:"ous",ization:"ize",ation:"ate",ator:"ate",alism:"al",iveness:"ive",fulness:"ful",ousness:"ous",aliti:"al",iviti:"ive",biliti:"ble",logi:"log",icate:"ic",ative:"",alize:"al",iciti:"ic",ical:"ic",ful:"",ness:"",al:"",ance:"",ence:"",er:"",ic:"",able:"",ible:"",ant:"",ement:"",ment:"",ent:"",ou:"",ism:"",ate:"",iti:"",ous:"",ive:"",ize:""};g.new=function(a){return new this(a)};g.create=function(a){return g.new(a)};
g.addMatcher=function(a){for(var b in a)a.hasOwnProperty(b)&&(z[z.length]=d(b),z[z.length]=a[b]);return this};g.register=function(a,b){y[a]=b;return this};g.encode=function(a,b){return y[a].call(y,b)};g.prototype.init=function(a){this.m=[];if(a){var b;if(b=a.worker)if("undefined"===typeof Worker)a.worker=!1,a.async=!0,this.j=null;else{var c=this;b=parseInt(b,10)||4;c.s=-1;c.o=0;c.i=[];c.w=null;c.j=Array(b);for(var e=0;e<b;e++)c.j[e]=S(c.id,e,a||v,function(a,b,e,f){c.o!==c.b&&(c.i=c.i.concat(e),c.o++,
f&&c.i.length>=f&&(c.o=c.b),c.w&&c.o===c.b&&(c.i.length?c.f="":c.f||(c.f=b),c.cache&&c.l.set(b,c.i),c.w(c.i),c.i=[]))})}if(b=a.profile)if(b=G[b])for(var f in b)b.hasOwnProperty(f)&&"undefined"===typeof a[f]&&(a[f]=b[f]);this.mode=a.mode||this.mode||v.mode;this.cache=a.cache||this.cache||v.cache;this.async=a.async||this.async||v.async;this.b=a.worker||this.b||v.b;this.threshold=a.threshold||this.threshold||v.threshold;this.depth=a.depth||this.depth||v.depth;this.v=(b=a.encode)&&y[b]||("function"===
typeof b?b:this.v||!1);this.C=a.debug||this.C;(b=a.matcher)&&this.addMatcher(b);if(b=a.filter)this.A=N(!0===b?T:b,this.v);if(b=a.stemmer)this.D=O(!0===b?H:b,this.v)}this.g=[{},{},{},{},{},{},{},{},{},{},{}];this.a={};this.h={};this.c=[];this.B=null;this.f="";this.u=!0;this.l=this.cache?new U(3E4,50,!0):!1;return this};g.prototype.encode=function(a){a&&z.length&&(a=w(a,z));a&&this.m.length&&(a=w(a,this.m));a&&this.v&&(a=this.v.call(y,a));if(a&&this.A){a=a.split(" ");for(var b=0;b<a.length;b++){var c=
a[b];this.A[c]&&(a[b]=this.A[c])}a=a.join(" ")}a&&this.D&&(a=w(a,this.D));return a};g.prototype.addMatcher=function(a){for(var b in a)a.hasOwnProperty(b)&&(this.m[this.m.length]=d(b),this.m[this.m.length]=a[b]);return this};g.prototype.add=function(a,b){if("string"===typeof b&&b&&(a||0===a))if(this.a[a])this.update(a,b);else{if(this.b)return++this.s>=this.j.length&&(this.s=0),this.j[this.s].postMessage(this.s,{add:!0,id:a,content:b}),this.a[a]=""+this.s,this;if(this.async)return this.h[a]||(this.c[this.c.length]=
a),this.h[a]=[D.add,a,b],E(this),this;b=this.encode(b);if(!b.length)return this;for(var c=this.mode,e="function"===typeof c?c(b):"ngram"===c?x(b):b.split(K),f={_ctx:{}},d=this.threshold,h=this.depth,g=this.g,n=e.length,q=0;q<n;q++){var m=e[q];if(m){var r=m.length;switch(c){case "reverse":case "both":for(var u="",l=r-1;1<=l;l--)u=m[l]+u,t(g,f,u,a,b,d);case "forward":u="";for(l=0;l<r;l++)u+=m[l],t(g,f,u,a,b,d);break;case "full":for(l=0;l<r;l++)for(var A=r;A>l;A--)u=m.substring(l,A),t(g,f,u,a,b,d);break;
default:if(l=t(g,f,m,a,b,d),h&&1<n&&l>=d)for(l=g[10],r=f._ctx[m]||(f._ctx[m]={}),m=l[m]||(l[m]=[{},{},{},{},{},{},{},{},{},{}]),l=q-h,A=q+h,0>l&&(l=0),A>n-1&&(A=n-1);l<=A;l++)l!==q&&t(m,r,e[l],a,b,d)}}}this.a[a]="1";this.u=!1}return this};g.prototype.update=function(a,b){if("string"===typeof b&&(a||0===a)&&this.a[a]){if(this.b){var c=parseInt(this.a[a],10);this.j[c].postMessage(c,{update:!0,id:a,content:b});return this}if(this.async)return this.h[a]||(this.c[this.c.length]=a),this.h[a]=[D.update,
a,b],E(this),this;this.remove(a);b&&this.add(a,b)}return this};g.prototype.remove=function(a){if(this.a[a]){if(this.b){var b=parseInt(this.a[a],10);this.j[b].postMessage(b,{remove:!0,id:a});delete this.a[a];return this}if(this.async)return this.h[a]||(this.c[this.c.length]=a),this.h[a]=[D.remove,a],E(this),this;for(b=0;10>b;b++)for(var c=Object.keys(this.g[b]),e=0;e<c.length;e++){var d=c[e],k=this.g[b];if((k=k&&k[d])&&k.length)for(var h=0;h<k.length;h++)if(k[h]===a){k.splice(h,1);break}k.length||
delete this.g[b][d]}delete this.a[a];this.u=!1}return this};g.prototype.search=function(a,b,c){var e=[];if(a&&"object"===typeof a){c=a.callback||b;b=a.limit;var d=a.threshold;a=a.query}d||(d=0);"function"===typeof b?(c=b,b=1E3):b||(b=1E3);if(this.b){this.w=c;this.o=0;this.i=[];for(e=0;e<this.b;e++)this.j[e].postMessage(e,{search:!0,limit:b,threshold:d,content:a});return null}if(c){var k=this;I(function(){c(k.search(a,b));k=null},1,"search-"+this.id);return null}if(!a||"string"!==typeof a)return e;
var h=a;if(!this.u)this.cache&&(this.f="",this.l.reset()),this.u=!0;else if(this.cache){var g=this.l.get(a);if(g)return g}else if(this.f&&0===a.indexOf(this.f))return e;h=this.encode(h);if(!h.length)return e;g=this.mode;h="function"===typeof g?g(h):"ngram"===g?x(h):h.split(K);g=h.length;var n=!0,q=[],m={};if(1<g)if(this.depth){var r=!0,u=h[0];m[u]="1"}else h.sort(P);var l;if(!r||(l=this.g[10])[u])for(var A=r?1:0;A<g;A++){var p=h[A];if(p&&!m[p]){for(var v,w=!1,t=[],y=0,z=9;z>=d;z--)if(v=(r?l[u]:this.g)[z][p])t[y++]=
v,w=!0;if(w)q[q.length]=1<y?q.concat.apply([],t):t[0];else{n=!1;break}m[p]="1"}u=p}else n=!1;n&&(e=R(q,b));e.length?this.f="":this.f||(this.f=a);this.cache&&this.l.set(a,e);return e};g.prototype.info=function(){if(this.b)for(var a=0;a<this.b;a++)this.j[a].postMessage(a,{info:!0,id:this.id});else{for(var b,c,d=0,f=0,g=0,h=0;10>h;h++)for(b=Object.keys(this.g[h]),a=0;a<b.length;a++)c=this.g[h][b[a]].length,d+=c+2*b[a].length+4,f+=c,g+=2*b[a].length;b=Object.keys(this.a);c=b.length;for(a=0;a<c;a++)d+=
2*b[a].length+2;return{id:this.id,memory:d,items:c,sequences:f,chars:g,status:this.u,cache:this.c.length,matcher:z.length,worker:this.b}}};g.prototype.reset=function(){this.destroy();return this.init()};g.prototype.destroy=function(){this.cache&&this.l.reset();this.g=this.a=this.l=null;return this};var y={icase:function(a){return a.toLowerCase()},simple:function(){var a=[d("[\u00e0\u00e1\u00e2\u00e3\u00e4\u00e5]"),"a",d("[\u00e8\u00e9\u00ea\u00eb]"),"e",d("[\u00ec\u00ed\u00ee\u00ef]"),"i",d("[\u00f2\u00f3\u00f4\u00f5\u00f6\u0151]"),
"o",d("[\u00f9\u00fa\u00fb\u00fc\u0171]"),"u",d("[\u00fd\u0177\u00ff]"),"y",d("\u00f1"),"n",d("\u00e7"),"c",d("\u00df"),"s",d(" & ")," and ",d("[-/]")," ",d("[^a-z0-9 ]"),"",d("\\s\\s+")," "];return function(b){b=w(b.toLowerCase(),a);return" "!==b?b:""}}(),advanced:function(){var a=[d("ae"),"a",d("ai"),"ei",d("ay"),"ei",d("ey"),"ei",d("oe"),"o",d("ue"),"u",d("ie"),"i",d("sz"),"s",d("zs"),"s",d("sh"),"s",d("ck"),"k",d("cc"),"k",d("dt"),"t",d("ph"),"f",d("pf"),"f",d("ou"),"o",d("uo"),"u"];return function(b,
c){if(!b)return b;b=this.simple(b);2<b.length&&(b=w(b,a));c||1<b.length&&(b=F(b));return b}}(),extra:function(){var a=[d("p"),"b",d("z"),"s",d("[cgq]"),"k",d("n"),"m",d("d"),"t",d("[vw]"),"f",d("[aeiouy]"),""];return function(b){if(!b)return b;b=this.advanced(b,!0);if(1<b.length){b=b.split(" ");for(var c=0;c<b.length;c++){var d=b[c];1<d.length&&(b[c]=d[0]+w(d.substring(1),a))}b=b.join(" ");b=F(b)}return b}}(),balance:function(){var a=[d("[-/]")," ",d("[^a-z0-9 ]"),"",d("\\s\\s+")," ",d("[aeiouy]"),
""];return function(b){return F(w(b.toLowerCase(),a))}}()},I=function(){var a={};return function(b,c,d){var e=a[d];e&&clearTimeout(e);return a[d]=setTimeout(b,c)}}(),U=function(){function a(){this.cache={}}a.prototype.reset=function(){this.cache={}};a.prototype.set=function(a,c){this.cache[a]=c};a.prototype.get=function(a){return this.cache[a]};return a}();return g}(function(){var n={},C=!("undefined"===typeof Blob||"undefined"===typeof URL||!URL.createObjectURL);return function(g,p,d,w,t){var x=
g;g=C?URL.createObjectURL(new Blob(["var SUPPORT_WORKER = true;var SUPPORT_BUILTINS = true;var SUPPORT_DEBUG = true;var SUPPORT_CACHE = true;var SUPPORT_ASYNC = true;("+d.toString()+")()"],{type:"text/javascript"})):"../"+x+".js";x+="-"+p;n[x]||(n[x]=[]);n[x][t]=new Worker(g);n[x][t].onmessage=w;console.log("Register Worker: "+x+"@"+t);return{postMessage:function(d,g){n[x][d].postMessage(g)}}}}()),this);
g.addMatcher=function(a){for(var b in a)a.hasOwnProperty(b)&&(z[z.length]=e(b),z[z.length]=a[b]);return this};g.register=function(a,b){y[a]=b;return this};g.encode=function(a,b){return y[a].call(y,b)};g.prototype.init=function(a){this.m=[];if(a){var b=a.profile,d=b?G[b]:{};if(b=a.worker)if("undefined"===typeof Worker)a.worker=!1,a.async=!0,this.j=null;else{var c=this;b=parseInt(b,10)||4;c.s=-1;c.o=0;c.i=[];c.w=null;c.j=Array(b);for(var f=0;f<b;f++)c.j[f]=S(c.id,f,a||u,function(a,b,d,f){c.o!==c.b&&
(c.i=c.i.concat(d),c.o++,f&&c.i.length>=f&&(c.o=c.b),c.w&&c.o===c.b&&(c.i.length?c.f="":c.f||(c.f=b),c.cache&&c.l.set(b,c.i),c.w(c.i),c.i=[]))})}this.mode=a.mode||d.mode||this.mode||u.mode;this.cache=a.cache||this.cache||u.cache;this.async=a.async||this.async||u.async;this.b=a.worker||this.b||u.b;this.threshold=a.threshold||d.threshold||this.threshold||u.threshold;this.depth=a.depth||d.depth||this.depth||u.depth;this.v=(b=a.encode||d.encode)&&y[b]||("function"===typeof b?b:this.v||!1);this.C=a.debug||
this.C;(b=a.matcher)&&this.addMatcher(b);if(b=a.filter)this.A=N(!0===b?T:b,this.v);if(b=a.stemmer)this.D=O(!0===b?H:b,this.v)}this.g=[{},{},{},{},{},{},{},{},{},{},{}];this.a={};this.h={};this.c=[];this.B=null;this.f="";this.u=!0;this.l=this.cache?new U(3E4,50,!0):!1;return this};g.prototype.encode=function(a){a&&z.length&&(a=v(a,z));a&&this.m.length&&(a=v(a,this.m));a&&this.v&&(a=this.v.call(y,a));if(a&&this.A){a=a.split(" ");for(var b=0;b<a.length;b++){var d=a[b];this.A[d]&&(a[b]=this.A[d])}a=a.join(" ")}a&&
this.D&&(a=v(a,this.D));return a};g.prototype.addMatcher=function(a){for(var b in a)a.hasOwnProperty(b)&&(this.m[this.m.length]=e(b),this.m[this.m.length]=a[b]);return this};g.prototype.add=function(a,b){if("string"===typeof b&&b&&(a||0===a))if(this.a[a])this.update(a,b);else{if(this.b)return++this.s>=this.j.length&&(this.s=0),this.j[this.s].postMessage(this.s,{add:!0,id:a,content:b}),this.a[a]=""+this.s,this;if(this.async)return this.h[a]||(this.c[this.c.length]=a),this.h[a]=[D.add,a,b],E(this),
this;b=this.encode(b);if(!b.length)return this;for(var d=this.mode,c="function"===typeof d?d(b):"ngram"===d?x(b):b.split(K),f={_ctx:{}},e=this.threshold,h=this.depth,g=this.g,n=c.length,q=0;q<n;q++){var m=c[q];if(m){var r=m.length;switch(d){case "reverse":case "both":for(var t="",l=r-1;1<=l;l--)t=m[l]+t,w(g,f,t,a,b,e);case "forward":t="";for(l=0;l<r;l++)t+=m[l],w(g,f,t,a,b,e);break;case "full":for(l=0;l<r;l++)for(var A=r;A>l;A--)t=m.substring(l,A),w(g,f,t,a,b,e);break;default:if(l=w(g,f,m,a,b,e),
h&&1<n&&l>=e)for(l=g[10],r=f._ctx[m]||(f._ctx[m]={}),m=l[m]||(l[m]=[{},{},{},{},{},{},{},{},{},{}]),l=q-h,A=q+h,0>l&&(l=0),A>n-1&&(A=n-1);l<=A;l++)l!==q&&w(m,r,c[l],a,b,e)}}}this.a[a]="1";this.u=!1}return this};g.prototype.update=function(a,b){if("string"===typeof b&&(a||0===a)&&this.a[a]){if(this.b){var d=parseInt(this.a[a],10);this.j[d].postMessage(d,{update:!0,id:a,content:b});return this}if(this.async)return this.h[a]||(this.c[this.c.length]=a),this.h[a]=[D.update,a,b],E(this),this;this.remove(a);
b&&this.add(a,b)}return this};g.prototype.remove=function(a){if(this.a[a]){if(this.b){var b=parseInt(this.a[a],10);this.j[b].postMessage(b,{remove:!0,id:a});delete this.a[a];return this}if(this.async)return this.h[a]||(this.c[this.c.length]=a),this.h[a]=[D.remove,a],E(this),this;for(b=0;10>b;b++)for(var d=Object.keys(this.g[b]),c=0;c<d.length;c++){var e=d[c],k=this.g[b];if((k=k&&k[e])&&k.length)for(var h=0;h<k.length;h++)if(k[h]===a){k.splice(h,1);break}k.length||delete this.g[b][e]}delete this.a[a];
this.u=!1}return this};g.prototype.search=function(a,b,d){var c=[];if(a&&"object"===typeof a){d=a.callback||b;b=a.limit;var e=a.threshold;a=a.query}e=(e||this.threshold||0)|0;"function"===typeof b?(d=b,b=1E3):b||(b=1E3);if(this.b){this.w=d;this.o=0;this.i=[];for(c=0;c<this.b;c++)this.j[c].postMessage(c,{search:!0,limit:b,threshold:e,content:a});return null}if(d){var k=this;I(function(){d(k.search(a,b));k=null},1,"search-"+this.id);return null}if(!a||"string"!==typeof a)return c;var h=a;if(!this.u)this.cache&&
(this.f="",this.l.reset()),this.u=!0;else if(this.cache){var g=this.l.get(a);if(g)return g}else if(this.f&&0===a.indexOf(this.f))return c;h=this.encode(h);if(!h.length)return c;g=this.mode;h="function"===typeof g?g(h):"ngram"===g?x(h):h.split(K);g=h.length;var n=!0,q=[],m={};if(1<g)if(this.depth){var r=!0,t=h[0];m[t]="1"}else h.sort(P);var l;if(!r||(l=this.g[10])[t])for(var A=r?1:0;A<g;A++){var p=h[A];if(p&&!m[p]){for(var v,w=!1,u=[],y=0,z=9;z>=e;z--)if(v=(r?l[t]:this.g)[z][p])u[y++]=v,w=!0;if(w)q[q.length]=
1<y?q.concat.apply([],u):u[0];else{n=!1;break}m[p]="1"}t=p}else n=!1;n&&(c=R(q,b));c.length?this.f="":this.f||(this.f=a);this.cache&&this.l.set(a,c);return c};g.prototype.info=function(){if(this.b)for(var a=0;a<this.b;a++)this.j[a].postMessage(a,{info:!0,id:this.id});else{for(var b,d,c=0,e=0,g=0,h=0;10>h;h++)for(b=Object.keys(this.g[h]),a=0;a<b.length;a++)d=this.g[h][b[a]].length,c+=d+2*b[a].length+4,e+=d,g+=2*b[a].length;b=Object.keys(this.a);d=b.length;for(a=0;a<d;a++)c+=2*b[a].length+2;return{id:this.id,
memory:c,items:d,sequences:e,chars:g,status:this.u,cache:this.c.length,matcher:z.length,worker:this.b}}};g.prototype.reset=function(){this.destroy();return this.init()};g.prototype.destroy=function(){this.cache&&this.l.reset();this.g=this.a=this.l=null;return this};var y={icase:function(a){return a.toLowerCase()},simple:function(){var a=[e("[\u00e0\u00e1\u00e2\u00e3\u00e4\u00e5]"),"a",e("[\u00e8\u00e9\u00ea\u00eb]"),"e",e("[\u00ec\u00ed\u00ee\u00ef]"),"i",e("[\u00f2\u00f3\u00f4\u00f5\u00f6\u0151]"),
"o",e("[\u00f9\u00fa\u00fb\u00fc\u0171]"),"u",e("[\u00fd\u0177\u00ff]"),"y",e("\u00f1"),"n",e("\u00e7"),"c",e("\u00df"),"s",e(" & ")," and ",e("[-/]")," ",e("[^a-z0-9 ]"),"",e("\\s\\s+")," "];return function(b){b=v(b.toLowerCase(),a);return" "!==b?b:""}}(),advanced:function(){var a=[e("ae"),"a",e("ai"),"ei",e("ay"),"ei",e("ey"),"ei",e("oe"),"o",e("ue"),"u",e("ie"),"i",e("sz"),"s",e("zs"),"s",e("sh"),"s",e("ck"),"k",e("cc"),"k",e("dt"),"t",e("ph"),"f",e("pf"),"f",e("ou"),"o",e("uo"),"u"];return function(b,
d){if(!b)return b;b=this.simple(b);2<b.length&&(b=v(b,a));d||1<b.length&&(b=F(b));return b}}(),extra:function(){var a=[e("p"),"b",e("z"),"s",e("[cgq]"),"k",e("n"),"m",e("d"),"t",e("[vw]"),"f",e("[aeiouy]"),""];return function(b){if(!b)return b;b=this.advanced(b,!0);if(1<b.length){b=b.split(" ");for(var d=0;d<b.length;d++){var c=b[d];1<c.length&&(b[d]=c[0]+v(c.substring(1),a))}b=b.join(" ");b=F(b)}return b}}(),balance:function(){var a=[e("[-/]")," ",e("[^a-z0-9 ]"),"",e("\\s\\s+")," ",e("[aeiouy]"),
""];return function(b){return F(v(b.toLowerCase(),a))}}()},I=function(){var a={};return function(b,d,c){var e=a[c];e&&clearTimeout(e);return a[c]=setTimeout(b,d)}}(),U=function(){function a(){this.cache={}}a.prototype.reset=function(){this.cache={}};a.prototype.set=function(a,d){this.cache[a]=d};a.prototype.get=function(a){return this.cache[a]};return a}();return g}(function(){var n={},C=!("undefined"===typeof Blob||"undefined"===typeof URL||!URL.createObjectURL);return function(g,p,e,v,w){var x=
g;g=C?URL.createObjectURL(new Blob(["var SUPPORT_WORKER = true;var SUPPORT_BUILTINS = true;var SUPPORT_DEBUG = true;var SUPPORT_CACHE = true;var SUPPORT_ASYNC = true;("+e.toString()+")()"],{type:"text/javascript"})):"../"+x+".js";x+="-"+p;n[x]||(n[x]=[]);n[x][w]=new Worker(g);n[x][w].onmessage=v;console.log("Register Worker: "+x+"@"+w);return{postMessage:function(e,g){n[x][e].postMessage(g)}}}}()),this);