var GermanStemmer=function(){var n=new BaseStemmer,o=[["",-1,5],["ae",0,2],["oe",0,3],["qu",0,-1],["ue",0,4],["ß",0,1]],s=[["",-1,5],["U",0,2],["Y",0,1],["ä",0,3],["ö",0,4],["ü",0,2]],l=[["e",-1,3],["em",-1,1],["en",-1,3],["erinnen",2,2],["erin",-1,2],["ln",-1,5],["ern",-1,2],["er",-1,2],["s",-1,4],["es",8,3],["lns",8,5]],f=[["tick",-1,-1],["plan",-1,-1],["geordn",-1,-1],["intern",-1,-1],["tr",-1,-1]],_=[["en",-1,1],["er",-1,1],["et",-1,3],["st",-1,2],["est",3,1]],m=[["ig",-1,1],["lich",-1,1]],b=[["end",-1,1],["ig",-1,2],["ung",-1,1],["lich",-1,3],["isch",-1,2],["ik",-1,2],["heit",-1,3],["keit",-1,4]],t=[17,65,16,1,0,0,0,0,0,0,0,0,0,0,0,0,8,0,32,8],k=[1,128,198,227,32,0,0,0,0,0,0,0,0,0,0,0,0,128],g=[117,30,5],d=[117,30,4],c=0,u=0,a=0;function v(){return a<=n.cursor}function h(){return u<=n.cursor}this.stem=function(){var r,i=n.cursor,i=((()=>{for(var r,i=n.cursor;;){var e=n.cursor;r:{for(;;){var s=n.cursor;i:if(n.in_grouping(t,97,252)){n.bra=n.cursor;e:{var c=n.cursor;if(n.eq_s("u")&&(n.ket=n.cursor,n.in_grouping(t,97,252))){if(n.slice_from("U"))break e;return}if(n.cursor=c,!n.eq_s("y"))break i;if(n.ket=n.cursor,!n.in_grouping(t,97,252))break i;if(!n.slice_from("Y"))return}n.cursor=s;break}if(n.cursor=s,n.cursor>=n.limit)break r;n.cursor++}continue}n.cursor=e;break}for(n.cursor=i;;){var u=n.cursor;r:{switch(n.bra=n.cursor,r=n.find_among(o),n.ket=n.cursor,r){case 1:if(n.slice_from("ss"))break;return;case 2:if(n.slice_from("ä"))break;return;case 3:if(n.slice_from("ö"))break;return;case 4:if(n.slice_from("ü"))break;return;case 5:if(n.cursor>=n.limit)break r;n.cursor++}continue}n.cursor=u;break}})(),n.cursor=i,n.cursor),e=(a=n.limit,u=n.limit,r=n.cursor,(e=n.cursor+3)>n.limit||(n.cursor=e,c=n.cursor,n.cursor=r,n.go_out_grouping(t,97,252)&&(n.cursor++,n.go_in_grouping(t,97,252))&&(n.cursor++,a=n.cursor,c<=a||(a=c),n.go_out_grouping(t,97,252))&&(n.cursor++,n.go_in_grouping(t,97,252))&&(n.cursor++,u=n.cursor)),n.cursor=i,n.limit_backward=n.cursor,n.cursor=n.limit,(()=>{var r,i=n.limit-n.cursor;r:if(n.ket=n.cursor,0!=(r=n.find_among_b(l))&&(n.bra=n.cursor,v()))switch(r){case 1:var e=n.limit-n.cursor;if(n.eq_s_b("syst"))break r;if(n.cursor=n.limit-e,n.slice_del())break;return;case 2:if(n.slice_del())break;return;case 3:if(!n.slice_del())return;e=n.limit-n.cursor;if(n.ket=n.cursor,n.eq_s_b("s"))if(n.bra=n.cursor,n.eq_s_b("nis")){if(!n.slice_del())return}else n.cursor=n.limit-e;else n.cursor=n.limit-e;break;case 4:if(!n.in_grouping_b(g,98,116))break r;if(n.slice_del())break;return;case 5:if(n.slice_from("l"))break;return}n.cursor=n.limit-i,i=n.limit-n.cursor;r:if(n.ket=n.cursor,0!=(r=n.find_among_b(_))&&(n.bra=n.cursor,v()))switch(r){case 1:if(n.slice_del())break;return;case 2:if(!n.in_grouping_b(d,98,116))break r;var s=n.cursor-3;if(s<n.limit_backward)break r;if(n.cursor=s,n.slice_del())break;return;case 3:var c=n.limit-n.cursor;if(!n.in_grouping_b(k,85,228))break r;n.cursor=n.limit-c;var u=n.limit-n.cursor;if(0!=n.find_among_b(f))break r;if(n.cursor=n.limit-u,n.slice_del())break;return}n.cursor=n.limit-i,i=n.limit-n.cursor;r:if(n.ket=n.cursor,0!=(r=n.find_among_b(b))&&(n.bra=n.cursor,h()))switch(r){case 1:if(!n.slice_del())return;var o=n.limit-n.cursor;if(n.ket=n.cursor,n.eq_s_b("ig")){n.bra=n.cursor;var t=n.limit-n.cursor;if(n.eq_s_b("e"))n.cursor=n.limit-o;else if(n.cursor=n.limit-t,h()){if(!n.slice_del())return}else n.cursor=n.limit-o}else n.cursor=n.limit-o;break;case 2:var a=n.limit-n.cursor;if(n.eq_s_b("e"))break r;if(n.cursor=n.limit-a,n.slice_del())break;return;case 3:if(!n.slice_del())return;t=n.limit-n.cursor,o=(n.ket=n.cursor,n.limit-n.cursor);if(n.eq_s_b("er")||(n.cursor=n.limit-o,n.eq_s_b("en")))if(n.bra=n.cursor,v()){if(!n.slice_del())return}else n.cursor=n.limit-t;else n.cursor=n.limit-t;break;case 4:if(!n.slice_del())return;a=n.limit-n.cursor;if(n.ket=n.cursor,0==n.find_among_b(m))n.cursor=n.limit-a;else if(n.bra=n.cursor,h()){if(!n.slice_del())return}else n.cursor=n.limit-a}n.cursor=n.limit-i})(),n.cursor=n.limit_backward,n.cursor);return(()=>{for(var r;;){var i=n.cursor;r:{switch(n.bra=n.cursor,r=n.find_among(s),n.ket=n.cursor,r){case 1:if(n.slice_from("y"))break;return;case 2:if(n.slice_from("u"))break;return;case 3:if(n.slice_from("a"))break;return;case 4:if(n.slice_from("o"))break;return;case 5:if(n.cursor>=n.limit)break r;n.cursor++}continue}n.cursor=i;break}})(),n.cursor=e,!0},this.stemWord=function(r){return n.setCurrent(r),this.stem(),n.getCurrent()}};