<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="ru">
	<id>https://ejwiki.org/index.php?action=history&amp;feed=atom&amp;title=MediaWiki%3AStemmer.js</id>
	<title>MediaWiki:Stemmer.js - История изменений</title>
	<link rel="self" type="application/atom+xml" href="https://ejwiki.org/index.php?action=history&amp;feed=atom&amp;title=MediaWiki%3AStemmer.js"/>
	<link rel="alternate" type="text/html" href="https://ejwiki.org/index.php?title=MediaWiki:Stemmer.js&amp;action=history"/>
	<updated>2026-05-13T19:50:03Z</updated>
	<subtitle>История изменений этой страницы в вики</subtitle>
	<generator>MediaWiki 1.42.3</generator>
	<entry>
		<id>https://ejwiki.org/index.php?title=MediaWiki:Stemmer.js&amp;diff=108687&amp;oldid=prev</id>
		<title>Ariely: Новая страница: «// Russian stemmer // released under GNU GPL 2.0 or later // based on Russian Javascript stemmer from Urim project (http://code.google.com/p/urim/ Mozilla Public Lic…»</title>
		<link rel="alternate" type="text/html" href="https://ejwiki.org/index.php?title=MediaWiki:Stemmer.js&amp;diff=108687&amp;oldid=prev"/>
		<updated>2011-03-22T21:16:25Z</updated>

		<summary type="html">&lt;p&gt;Новая страница: «// Russian stemmer // released under GNU GPL 2.0 or later // based on Russian Javascript stemmer from Urim project (http://code.google.com/p/urim/ Mozilla Public Lic…»&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Новая страница&lt;/b&gt;&lt;/p&gt;&lt;div&gt;// Russian stemmer&lt;br /&gt;
// released under GNU GPL 2.0 or later&lt;br /&gt;
// based on Russian Javascript stemmer from Urim project (http://code.google.com/p/urim/ Mozilla Public License 1.1), which is based on Snowball project (http://snowball.tartarus.org)&lt;br /&gt;
&lt;br /&gt;
//&lt;br /&gt;
// Example&lt;br /&gt;
//&lt;br /&gt;
// var testStemmer = new RussianStemmer();&lt;br /&gt;
// testStemmer.setCurrent(&amp;#039;Википедия&amp;#039;);&lt;br /&gt;
// var res = testStemmer.getCurrent(); // res == &amp;#039;Википед&amp;#039;&lt;br /&gt;
//&lt;br /&gt;
&lt;br /&gt;
function Among(s, substring_i, result, method) {&lt;br /&gt;
	if ((!s &amp;amp;&amp;amp; s != &amp;quot;&amp;quot;) || (!substring_i &amp;amp;&amp;amp; (substring_i != 0)) || !result)&lt;br /&gt;
		throw (&amp;quot;Bad Among initialisation: s:&amp;quot; + s + &amp;quot;, substring_i: &amp;quot;&lt;br /&gt;
				+ substring_i + &amp;quot;, result: &amp;quot; + result);&lt;br /&gt;
	this.s_size = s.length;&lt;br /&gt;
	this.s = this.toCharArray(s);&lt;br /&gt;
	this.substring_i = substring_i;&lt;br /&gt;
	this.result = result;&lt;br /&gt;
	this.method = method;&lt;br /&gt;
}&lt;br /&gt;
Among.prototype.toCharArray = function(s) {&lt;br /&gt;
	var sLength = s.length;&lt;br /&gt;
	var charArr = new Array(sLength);&lt;br /&gt;
	for (var i = 0; i &amp;lt; sLength; i++)&lt;br /&gt;
		charArr[i] = s.charCodeAt(i);&lt;br /&gt;
	return charArr;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
function SnowballProgram() {&lt;br /&gt;
	var current;&lt;br /&gt;
	return {&lt;br /&gt;
		bra : 0,&lt;br /&gt;
		ket : 0,&lt;br /&gt;
		limit : 0,&lt;br /&gt;
		cursor : 0,&lt;br /&gt;
		limit_backward : 0,&lt;br /&gt;
		setCurrent : function(word) {&lt;br /&gt;
			current = word;&lt;br /&gt;
			this.cursor = 0;&lt;br /&gt;
			this.limit = word.length;&lt;br /&gt;
			this.limit_backward = 0;&lt;br /&gt;
			this.bra = this.cursor;&lt;br /&gt;
			this.ket = this.limit;&lt;br /&gt;
		},&lt;br /&gt;
		getCurrent : function() {&lt;br /&gt;
			var result = current;&lt;br /&gt;
			current = null;&lt;br /&gt;
			return result;&lt;br /&gt;
		},&lt;br /&gt;
		in_grouping : function(s, min, max) {&lt;br /&gt;
			if (this.cursor &amp;gt;= this.limit)&lt;br /&gt;
				return false;&lt;br /&gt;
			var ch = current.charCodeAt(this.cursor);&lt;br /&gt;
			if (ch &amp;gt; max || ch &amp;lt; min)&lt;br /&gt;
				return false;&lt;br /&gt;
			ch -= min;&lt;br /&gt;
			if ((s[ch &amp;gt;&amp;gt; 3] &amp;amp; (0X1 &amp;lt;&amp;lt; (ch &amp;amp; 0X7))) == 0)&lt;br /&gt;
				return false;&lt;br /&gt;
			this.cursor++;&lt;br /&gt;
			return true;&lt;br /&gt;
		},&lt;br /&gt;
		in_grouping_b : function(s, min, max) {&lt;br /&gt;
			if (this.cursor &amp;lt;= this.limit_backward)&lt;br /&gt;
				return false;&lt;br /&gt;
			var ch = current.charCodeAt(this.cursor - 1);&lt;br /&gt;
			if (ch &amp;gt; max || ch &amp;lt; min)&lt;br /&gt;
				return false;&lt;br /&gt;
			ch -= min;&lt;br /&gt;
			if ((s[ch &amp;gt;&amp;gt; 3] &amp;amp; (0X1 &amp;lt;&amp;lt; (ch &amp;amp; 0X7))) == 0)&lt;br /&gt;
				return false;&lt;br /&gt;
			this.cursor--;&lt;br /&gt;
			return true;&lt;br /&gt;
		},&lt;br /&gt;
		out_grouping : function(s, min, max) {&lt;br /&gt;
			if (this.cursor &amp;gt;= this.limit)&lt;br /&gt;
				return false;&lt;br /&gt;
			var ch = current.charCodeAt(this.cursor);&lt;br /&gt;
			if (ch &amp;gt; max || ch &amp;lt; min) {&lt;br /&gt;
				this.cursor++;&lt;br /&gt;
				return true;&lt;br /&gt;
			}&lt;br /&gt;
			ch -= min;&lt;br /&gt;
			if ((s[ch &amp;gt;&amp;gt; 3] &amp;amp; (0X1 &amp;lt;&amp;lt; (ch &amp;amp; 0X7))) == 0) {&lt;br /&gt;
				this.cursor++;&lt;br /&gt;
				return true;&lt;br /&gt;
			}&lt;br /&gt;
			return false;&lt;br /&gt;
		},&lt;br /&gt;
		out_grouping_b : function(s, min, max) {&lt;br /&gt;
			if (this.cursor &amp;lt;= this.limit_backward)&lt;br /&gt;
				return false;&lt;br /&gt;
			var ch = current.charCodeAt(this.cursor - 1);&lt;br /&gt;
			if (ch &amp;gt; max || ch &amp;lt; min) {&lt;br /&gt;
				this.cursor--;&lt;br /&gt;
				return true;&lt;br /&gt;
			}&lt;br /&gt;
			ch -= min;&lt;br /&gt;
			if ((s[ch &amp;gt;&amp;gt; 3] &amp;amp; (0X1 &amp;lt;&amp;lt; (ch &amp;amp; 0X7))) == 0) {&lt;br /&gt;
				this.cursor--;&lt;br /&gt;
				return true;&lt;br /&gt;
			}&lt;br /&gt;
			return false;&lt;br /&gt;
		},&lt;br /&gt;
		in_range : function(min, max) {&lt;br /&gt;
			if (this.cursor &amp;gt;= this.limit)&lt;br /&gt;
				return false;&lt;br /&gt;
			var ch = current.charCodeAt(this.cursor);&lt;br /&gt;
			if (ch &amp;gt; max || ch &amp;lt; min)&lt;br /&gt;
				return false;&lt;br /&gt;
			this.cursor++;&lt;br /&gt;
			return true;&lt;br /&gt;
		},&lt;br /&gt;
		in_range_b : function(min, max) {&lt;br /&gt;
			if (this.cursor &amp;lt;= this.limit_backward)&lt;br /&gt;
				return false;&lt;br /&gt;
			var ch = current.charCodeAt(this.cursor - 1);&lt;br /&gt;
			if (ch &amp;gt; max || ch &amp;lt; min)&lt;br /&gt;
				return false;&lt;br /&gt;
			this.cursor--;&lt;br /&gt;
			return true;&lt;br /&gt;
		},&lt;br /&gt;
		out_range : function(min, max) {&lt;br /&gt;
			if (this.cursor &amp;gt;= this.limit)&lt;br /&gt;
				return false;&lt;br /&gt;
			var ch = current.charCodeAt(this.cursor);&lt;br /&gt;
			if (!(ch &amp;gt; max || ch &amp;lt; min))&lt;br /&gt;
				return false;&lt;br /&gt;
			this.cursor++;&lt;br /&gt;
			return true;&lt;br /&gt;
		},&lt;br /&gt;
		out_range_b : function(min, max) {&lt;br /&gt;
			if (this.cursor &amp;lt;= this.limit_backward)&lt;br /&gt;
				return false;&lt;br /&gt;
			var ch = current.charCodeAt(this.cursor - 1);&lt;br /&gt;
			if (!(ch &amp;gt; max || ch &amp;lt; min))&lt;br /&gt;
				return false;&lt;br /&gt;
			this.cursor--;&lt;br /&gt;
			return true;&lt;br /&gt;
		},&lt;br /&gt;
		eq_s : function(s_size, s) {&lt;br /&gt;
			if (this.limit - this.cursor &amp;lt; s_size)&lt;br /&gt;
				return false;&lt;br /&gt;
			for (var i = 0; i != s_size; i++) {&lt;br /&gt;
				if (current.charCodeAt(this.cursor + i) != s.charCodeAt(i))&lt;br /&gt;
					return false;&lt;br /&gt;
			}&lt;br /&gt;
			this.cursor += s_size;&lt;br /&gt;
			return true;&lt;br /&gt;
		},&lt;br /&gt;
		eq_s_b : function(s_size, s) {&lt;br /&gt;
			if (this.cursor - this.limit_backward &amp;lt; s_size)&lt;br /&gt;
				return false;&lt;br /&gt;
			for (var i = 0; i != s_size; i++) {&lt;br /&gt;
				if (current.charCodeAt(this.cursor - s_size + i) != s&lt;br /&gt;
						.charCodeAt(i))&lt;br /&gt;
					return false;&lt;br /&gt;
			}&lt;br /&gt;
			this.cursor -= s_size;&lt;br /&gt;
			return true;&lt;br /&gt;
		},&lt;br /&gt;
		find_among : function(v, v_size) {&lt;br /&gt;
			var i = 0;&lt;br /&gt;
			var j = v_size;&lt;br /&gt;
			var c = this.cursor;&lt;br /&gt;
			var l = this.limit;&lt;br /&gt;
			var common_i = 0;&lt;br /&gt;
			var common_j = 0;&lt;br /&gt;
			var first_key_inspected = false;&lt;br /&gt;
			while (true) {&lt;br /&gt;
				var k = i + ((j - i) &amp;gt;&amp;gt; 1);&lt;br /&gt;
				var diff = 0;&lt;br /&gt;
				var common = common_i &amp;lt; common_j ? common_i : common_j;&lt;br /&gt;
				var w = v[k];&lt;br /&gt;
				for (var i2 = common; i2 &amp;lt; w.s_size; i2++) {&lt;br /&gt;
					if (c + common == l) {&lt;br /&gt;
						diff = -1;&lt;br /&gt;
						break;&lt;br /&gt;
					}&lt;br /&gt;
					diff = current.charCodeAt(c + common) - w.s[i2];&lt;br /&gt;
					if (diff != 0)&lt;br /&gt;
						break;&lt;br /&gt;
					common++;&lt;br /&gt;
				}&lt;br /&gt;
				if (diff &amp;lt; 0) {&lt;br /&gt;
					j = k;&lt;br /&gt;
					common_j = common;&lt;br /&gt;
				} else {&lt;br /&gt;
					i = k;&lt;br /&gt;
					common_i = common;&lt;br /&gt;
				}&lt;br /&gt;
				if (j - i &amp;lt;= 1) {&lt;br /&gt;
					if (i &amp;gt; 0)&lt;br /&gt;
						break;&lt;br /&gt;
					if (j == i)&lt;br /&gt;
						break;&lt;br /&gt;
					if (first_key_inspected)&lt;br /&gt;
						break;&lt;br /&gt;
					first_key_inspected = true;&lt;br /&gt;
				}&lt;br /&gt;
			}&lt;br /&gt;
			while (true) {&lt;br /&gt;
				var w = v[i];&lt;br /&gt;
				if (common_i &amp;gt;= w.s_size) {&lt;br /&gt;
					this.cursor = c + w.s_size;&lt;br /&gt;
					if (!w.method)&lt;br /&gt;
						return w.result;&lt;br /&gt;
					var res = w.method();&lt;br /&gt;
					this.cursor = c + w.s_size;&lt;br /&gt;
					if (res)&lt;br /&gt;
						return w.result;&lt;br /&gt;
				}&lt;br /&gt;
				i = w.substring_i;&lt;br /&gt;
				if (i &amp;lt; 0)&lt;br /&gt;
					return 0;&lt;br /&gt;
			}&lt;br /&gt;
		},&lt;br /&gt;
		find_among_b : function(v, v_size) {&lt;br /&gt;
			var i = 0;&lt;br /&gt;
			var j = v_size;&lt;br /&gt;
			var c = this.cursor;&lt;br /&gt;
			var lb = this.limit_backward;&lt;br /&gt;
			var common_i = 0;&lt;br /&gt;
			var common_j = 0;&lt;br /&gt;
			var first_key_inspected = false;&lt;br /&gt;
			while (true) {&lt;br /&gt;
				var k = i + ((j - i) &amp;gt;&amp;gt; 1);&lt;br /&gt;
				var diff = 0;&lt;br /&gt;
				var common = common_i &amp;lt; common_j ? common_i : common_j;&lt;br /&gt;
				var w = v[k];&lt;br /&gt;
				for (var i2 = w.s_size - 1 - common; i2 &amp;gt;= 0; i2--) {&lt;br /&gt;
					if (c - common == lb) {&lt;br /&gt;
						diff = -1;&lt;br /&gt;
						break;&lt;br /&gt;
					}&lt;br /&gt;
					diff = current.charCodeAt(c - 1 - common) - w.s[i2];&lt;br /&gt;
					if (diff != 0)&lt;br /&gt;
						break;&lt;br /&gt;
					common++;&lt;br /&gt;
				}&lt;br /&gt;
				if (diff &amp;lt; 0) {&lt;br /&gt;
					j = k;&lt;br /&gt;
					common_j = common;&lt;br /&gt;
				} else {&lt;br /&gt;
					i = k;&lt;br /&gt;
					common_i = common;&lt;br /&gt;
				}&lt;br /&gt;
				if (j - i &amp;lt;= 1) {&lt;br /&gt;
					if (i &amp;gt; 0)&lt;br /&gt;
						break;&lt;br /&gt;
					if (j == i)&lt;br /&gt;
						break;&lt;br /&gt;
					if (first_key_inspected)&lt;br /&gt;
						break;&lt;br /&gt;
					first_key_inspected = true;&lt;br /&gt;
				}&lt;br /&gt;
			}&lt;br /&gt;
			while (true) {&lt;br /&gt;
				var w = v[i];&lt;br /&gt;
				if (common_i &amp;gt;= w.s_size) {&lt;br /&gt;
					this.cursor = c - w.s_size;&lt;br /&gt;
					if (!w.method)&lt;br /&gt;
						return w.result;&lt;br /&gt;
					var res = w.method();&lt;br /&gt;
					this.cursor = c - w.s_size;&lt;br /&gt;
					if (res)&lt;br /&gt;
						return w.result;&lt;br /&gt;
				}&lt;br /&gt;
				i = w.substring_i;&lt;br /&gt;
				if (i &amp;lt; 0)&lt;br /&gt;
					return 0;&lt;br /&gt;
			}&lt;br /&gt;
		},&lt;br /&gt;
		replace_s : function(c_bra, c_ket, s) {&lt;br /&gt;
			var adjustment = s.length - (c_ket - c_bra);&lt;br /&gt;
			var left = current.substring(0, c_bra);&lt;br /&gt;
			var right = current.substring(c_ket);&lt;br /&gt;
			current = left + s + right;&lt;br /&gt;
			this.limit += adjustment;&lt;br /&gt;
			if (this.cursor &amp;gt;= c_ket)&lt;br /&gt;
				this.cursor += adjustment;&lt;br /&gt;
			else if (this.cursor &amp;gt; c_bra)&lt;br /&gt;
				this.cursor = c_bra;&lt;br /&gt;
			return adjustment;&lt;br /&gt;
		},&lt;br /&gt;
		slice_check : function() {&lt;br /&gt;
			if (this.bra &amp;lt; 0 || this.bra &amp;gt; this.ket || this.ket &amp;gt; this.limit&lt;br /&gt;
					|| this.limit &amp;gt; current.length) {&lt;br /&gt;
				throw (&amp;quot;faulty slice operation&amp;quot;);&lt;br /&gt;
			}&lt;br /&gt;
		},&lt;br /&gt;
		slice_from : function(s) {&lt;br /&gt;
			this.slice_check();&lt;br /&gt;
			this.replace_s(this.bra, this.ket, s);&lt;br /&gt;
		},&lt;br /&gt;
		slice_del : function() {&lt;br /&gt;
			this.slice_from(&amp;quot;&amp;quot;);&lt;br /&gt;
		},&lt;br /&gt;
		insert : function(c_bra, c_ket, s) {&lt;br /&gt;
			var adjustment = this.replace_s(c_bra, c_ket, s);&lt;br /&gt;
			if (c_bra &amp;lt;= this.bra)&lt;br /&gt;
				this.bra += adjustment;&lt;br /&gt;
			if (c_bra &amp;lt;= this.ket)&lt;br /&gt;
				this.ket += adjustment;&lt;br /&gt;
		},&lt;br /&gt;
		slice_to : function() {&lt;br /&gt;
			this.slice_check();&lt;br /&gt;
			return current.substring(this.bra, this.ket);&lt;br /&gt;
		},&lt;br /&gt;
		eq_v_b : function(s) {&lt;br /&gt;
			return this.eq_s_b(s.length, s);&lt;br /&gt;
		}&lt;br /&gt;
	};&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
function RussianStemmer() {&lt;br /&gt;
	var a_0 = [new Among(&amp;quot;\u0432&amp;quot;, -1, 1), new Among(&amp;quot;\u0438\u0432&amp;quot;, 0, 2),&lt;br /&gt;
			new Among(&amp;quot;\u044B\u0432&amp;quot;, 0, 2),&lt;br /&gt;
			new Among(&amp;quot;\u0432\u0448\u0438&amp;quot;, -1, 1),&lt;br /&gt;
			new Among(&amp;quot;\u0438\u0432\u0448\u0438&amp;quot;, 3, 2),&lt;br /&gt;
			new Among(&amp;quot;\u044B\u0432\u0448\u0438&amp;quot;, 3, 2),&lt;br /&gt;
			new Among(&amp;quot;\u0432\u0448\u0438\u0441\u044C&amp;quot;, -1, 1),&lt;br /&gt;
			new Among(&amp;quot;\u0438\u0432\u0448\u0438\u0441\u044C&amp;quot;, 6, 2),&lt;br /&gt;
			new Among(&amp;quot;\u044B\u0432\u0448\u0438\u0441\u044C&amp;quot;, 6, 2)];&lt;br /&gt;
	var a_1 = [new Among(&amp;quot;\u0435\u0435&amp;quot;, -1, 1),&lt;br /&gt;
			new Among(&amp;quot;\u0438\u0435&amp;quot;, -1, 1), new Among(&amp;quot;\u043E\u0435&amp;quot;, -1, 1),&lt;br /&gt;
			new Among(&amp;quot;\u044B\u0435&amp;quot;, -1, 1),&lt;br /&gt;
			new Among(&amp;quot;\u0438\u043C\u0438&amp;quot;, -1, 1),&lt;br /&gt;
			new Among(&amp;quot;\u044B\u043C\u0438&amp;quot;, -1, 1),&lt;br /&gt;
			new Among(&amp;quot;\u0435\u0439&amp;quot;, -1, 1), new Among(&amp;quot;\u0438\u0439&amp;quot;, -1, 1),&lt;br /&gt;
			new Among(&amp;quot;\u043E\u0439&amp;quot;, -1, 1), new Among(&amp;quot;\u044B\u0439&amp;quot;, -1, 1),&lt;br /&gt;
			new Among(&amp;quot;\u0435\u043C&amp;quot;, -1, 1), new Among(&amp;quot;\u0438\u043C&amp;quot;, -1, 1),&lt;br /&gt;
			new Among(&amp;quot;\u043E\u043C&amp;quot;, -1, 1), new Among(&amp;quot;\u044B\u043C&amp;quot;, -1, 1),&lt;br /&gt;
			new Among(&amp;quot;\u0435\u0433\u043E&amp;quot;, -1, 1),&lt;br /&gt;
			new Among(&amp;quot;\u043E\u0433\u043E&amp;quot;, -1, 1),&lt;br /&gt;
			new Among(&amp;quot;\u0435\u043C\u0443&amp;quot;, -1, 1),&lt;br /&gt;
			new Among(&amp;quot;\u043E\u043C\u0443&amp;quot;, -1, 1),&lt;br /&gt;
			new Among(&amp;quot;\u0438\u0445&amp;quot;, -1, 1), new Among(&amp;quot;\u044B\u0445&amp;quot;, -1, 1),&lt;br /&gt;
			new Among(&amp;quot;\u0435\u044E&amp;quot;, -1, 1), new Among(&amp;quot;\u043E\u044E&amp;quot;, -1, 1),&lt;br /&gt;
			new Among(&amp;quot;\u0443\u044E&amp;quot;, -1, 1), new Among(&amp;quot;\u044E\u044E&amp;quot;, -1, 1),&lt;br /&gt;
			new Among(&amp;quot;\u0430\u044F&amp;quot;, -1, 1), new Among(&amp;quot;\u044F\u044F&amp;quot;, -1, 1)];&lt;br /&gt;
	var a_2 = [new Among(&amp;quot;\u0435\u043C&amp;quot;, -1, 1),&lt;br /&gt;
			new Among(&amp;quot;\u043D\u043D&amp;quot;, -1, 1), new Among(&amp;quot;\u0432\u0448&amp;quot;, -1, 1),&lt;br /&gt;
			new Among(&amp;quot;\u0438\u0432\u0448&amp;quot;, 2, 2),&lt;br /&gt;
			new Among(&amp;quot;\u044B\u0432\u0448&amp;quot;, 2, 2), new Among(&amp;quot;\u0449&amp;quot;, -1, 1),&lt;br /&gt;
			new Among(&amp;quot;\u044E\u0449&amp;quot;, 5, 1),&lt;br /&gt;
			new Among(&amp;quot;\u0443\u044E\u0449&amp;quot;, 6, 2)]&lt;br /&gt;
	var a_3 = [new Among(&amp;quot;\u0441\u044C&amp;quot;, -1, 1),&lt;br /&gt;
			new Among(&amp;quot;\u0441\u044F&amp;quot;, -1, 1)];&lt;br /&gt;
	var a_4 = [new Among(&amp;quot;\u043B\u0430&amp;quot;, -1, 1),&lt;br /&gt;
			new Among(&amp;quot;\u0438\u043B\u0430&amp;quot;, 0, 2),&lt;br /&gt;
			new Among(&amp;quot;\u044B\u043B\u0430&amp;quot;, 0, 2),&lt;br /&gt;
			new Among(&amp;quot;\u043D\u0430&amp;quot;, -1, 1),&lt;br /&gt;
			new Among(&amp;quot;\u0435\u043D\u0430&amp;quot;, 3, 2),&lt;br /&gt;
			new Among(&amp;quot;\u0435\u0442\u0435&amp;quot;, -1, 1),&lt;br /&gt;
			new Among(&amp;quot;\u0438\u0442\u0435&amp;quot;, -1, 2),&lt;br /&gt;
			new Among(&amp;quot;\u0439\u0442\u0435&amp;quot;, -1, 1),&lt;br /&gt;
			new Among(&amp;quot;\u0435\u0439\u0442\u0435&amp;quot;, 7, 2),&lt;br /&gt;
			new Among(&amp;quot;\u0443\u0439\u0442\u0435&amp;quot;, 7, 2),&lt;br /&gt;
			new Among(&amp;quot;\u043B\u0438&amp;quot;, -1, 1),&lt;br /&gt;
			new Among(&amp;quot;\u0438\u043B\u0438&amp;quot;, 10, 2),&lt;br /&gt;
			new Among(&amp;quot;\u044B\u043B\u0438&amp;quot;, 10, 2), new Among(&amp;quot;\u0439&amp;quot;, -1, 1),&lt;br /&gt;
			new Among(&amp;quot;\u0435\u0439&amp;quot;, 13, 2), new Among(&amp;quot;\u0443\u0439&amp;quot;, 13, 2),&lt;br /&gt;
			new Among(&amp;quot;\u043B&amp;quot;, -1, 1), new Among(&amp;quot;\u0438\u043B&amp;quot;, 16, 2),&lt;br /&gt;
			new Among(&amp;quot;\u044B\u043B&amp;quot;, 16, 2), new Among(&amp;quot;\u0435\u043C&amp;quot;, -1, 1),&lt;br /&gt;
			new Among(&amp;quot;\u0438\u043C&amp;quot;, -1, 2), new Among(&amp;quot;\u044B\u043C&amp;quot;, -1, 2),&lt;br /&gt;
			new Among(&amp;quot;\u043D&amp;quot;, -1, 1), new Among(&amp;quot;\u0435\u043D&amp;quot;, 22, 2),&lt;br /&gt;
			new Among(&amp;quot;\u043B\u043E&amp;quot;, -1, 1),&lt;br /&gt;
			new Among(&amp;quot;\u0438\u043B\u043E&amp;quot;, 24, 2),&lt;br /&gt;
			new Among(&amp;quot;\u044B\u043B\u043E&amp;quot;, 24, 2),&lt;br /&gt;
			new Among(&amp;quot;\u043D\u043E&amp;quot;, -1, 1),&lt;br /&gt;
			new Among(&amp;quot;\u0435\u043D\u043E&amp;quot;, 27, 2),&lt;br /&gt;
			new Among(&amp;quot;\u043D\u043D\u043E&amp;quot;, 27, 1),&lt;br /&gt;
			new Among(&amp;quot;\u0435\u0442&amp;quot;, -1, 1),&lt;br /&gt;
			new Among(&amp;quot;\u0443\u0435\u0442&amp;quot;, 30, 2),&lt;br /&gt;
			new Among(&amp;quot;\u0438\u0442&amp;quot;, -1, 2), new Among(&amp;quot;\u044B\u0442&amp;quot;, -1, 2),&lt;br /&gt;
			new Among(&amp;quot;\u044E\u0442&amp;quot;, -1, 1),&lt;br /&gt;
			new Among(&amp;quot;\u0443\u044E\u0442&amp;quot;, 34, 2),&lt;br /&gt;
			new Among(&amp;quot;\u044F\u0442&amp;quot;, -1, 2), new Among(&amp;quot;\u043D\u044B&amp;quot;, -1, 1),&lt;br /&gt;
			new Among(&amp;quot;\u0435\u043D\u044B&amp;quot;, 37, 2),&lt;br /&gt;
			new Among(&amp;quot;\u0442\u044C&amp;quot;, -1, 1),&lt;br /&gt;
			new Among(&amp;quot;\u0438\u0442\u044C&amp;quot;, 39, 2),&lt;br /&gt;
			new Among(&amp;quot;\u044B\u0442\u044C&amp;quot;, 39, 2),&lt;br /&gt;
			new Among(&amp;quot;\u0435\u0448\u044C&amp;quot;, -1, 1),&lt;br /&gt;
			new Among(&amp;quot;\u0438\u0448\u044C&amp;quot;, -1, 2), new Among(&amp;quot;\u044E&amp;quot;, -1, 2),&lt;br /&gt;
			new Among(&amp;quot;\u0443\u044E&amp;quot;, 44, 2)];&lt;br /&gt;
	var a_5 = [new Among(&amp;quot;\u0430&amp;quot;, -1, 1), new Among(&amp;quot;\u0435\u0432&amp;quot;, -1, 1),&lt;br /&gt;
			new Among(&amp;quot;\u043E\u0432&amp;quot;, -1, 1), new Among(&amp;quot;\u0435&amp;quot;, -1, 1),&lt;br /&gt;
			new Among(&amp;quot;\u0438\u0435&amp;quot;, 3, 1), new Among(&amp;quot;\u044C\u0435&amp;quot;, 3, 1),&lt;br /&gt;
			new Among(&amp;quot;\u0438&amp;quot;, -1, 1), new Among(&amp;quot;\u0435\u0438&amp;quot;, 6, 1),&lt;br /&gt;
			new Among(&amp;quot;\u0438\u0438&amp;quot;, 6, 1),&lt;br /&gt;
			new Among(&amp;quot;\u0430\u043C\u0438&amp;quot;, 6, 1),&lt;br /&gt;
			new Among(&amp;quot;\u044F\u043C\u0438&amp;quot;, 6, 1),&lt;br /&gt;
			new Among(&amp;quot;\u0438\u044F\u043C\u0438&amp;quot;, 10, 1),&lt;br /&gt;
			new Among(&amp;quot;\u0439&amp;quot;, -1, 1), new Among(&amp;quot;\u0435\u0439&amp;quot;, 12, 1),&lt;br /&gt;
			new Among(&amp;quot;\u0438\u0435\u0439&amp;quot;, 13, 1),&lt;br /&gt;
			new Among(&amp;quot;\u0438\u0439&amp;quot;, 12, 1), new Among(&amp;quot;\u043E\u0439&amp;quot;, 12, 1),&lt;br /&gt;
			new Among(&amp;quot;\u0430\u043C&amp;quot;, -1, 1), new Among(&amp;quot;\u0435\u043C&amp;quot;, -1, 1),&lt;br /&gt;
			new Among(&amp;quot;\u0438\u0435\u043C&amp;quot;, 18, 1),&lt;br /&gt;
			new Among(&amp;quot;\u043E\u043C&amp;quot;, -1, 1), new Among(&amp;quot;\u044F\u043C&amp;quot;, -1, 1),&lt;br /&gt;
			new Among(&amp;quot;\u0438\u044F\u043C&amp;quot;, 21, 1), new Among(&amp;quot;\u043E&amp;quot;, -1, 1),&lt;br /&gt;
			new Among(&amp;quot;\u0443&amp;quot;, -1, 1), new Among(&amp;quot;\u0430\u0445&amp;quot;, -1, 1),&lt;br /&gt;
			new Among(&amp;quot;\u044F\u0445&amp;quot;, -1, 1),&lt;br /&gt;
			new Among(&amp;quot;\u0438\u044F\u0445&amp;quot;, 26, 1), new Among(&amp;quot;\u044B&amp;quot;, -1, 1),&lt;br /&gt;
			new Among(&amp;quot;\u044C&amp;quot;, -1, 1), new Among(&amp;quot;\u044E&amp;quot;, -1, 1),&lt;br /&gt;
			new Among(&amp;quot;\u0438\u044E&amp;quot;, 30, 1), new Among(&amp;quot;\u044C\u044E&amp;quot;, 30, 1),&lt;br /&gt;
			new Among(&amp;quot;\u044F&amp;quot;, -1, 1), new Among(&amp;quot;\u0438\u044F&amp;quot;, 33, 1),&lt;br /&gt;
			new Among(&amp;quot;\u044C\u044F&amp;quot;, 33, 1)];&lt;br /&gt;
	var a_6 = [new Among(&amp;quot;\u043E\u0441\u0442&amp;quot;, -1, 1),&lt;br /&gt;
			new Among(&amp;quot;\u043E\u0441\u0442\u044C&amp;quot;, -1, 1)];&lt;br /&gt;
	var a_7 = [new Among(&amp;quot;\u0435\u0439\u0448\u0435&amp;quot;, -1, 1),&lt;br /&gt;
			new Among(&amp;quot;\u043D&amp;quot;, -1, 2), new Among(&amp;quot;\u0435\u0439\u0448&amp;quot;, -1, 1),&lt;br /&gt;
			new Among(&amp;quot;\u044C&amp;quot;, -1, 3)];&lt;br /&gt;
	var g_v = [33, 65, 8, 232];&lt;br /&gt;
	var I_p2, I_pV;&lt;br /&gt;
	var sbp = new SnowballProgram();&lt;br /&gt;
	this.setCurrent = function(word) {&lt;br /&gt;
		sbp.setCurrent(word);&lt;br /&gt;
	};&lt;br /&gt;
	this.getCurrent = function() {&lt;br /&gt;
		return sbp.getCurrent();&lt;br /&gt;
	};&lt;br /&gt;
	function r_mark_regions() {&lt;br /&gt;
		var v_1;&lt;br /&gt;
		I_pV = sbp.limit;&lt;br /&gt;
		I_p2 = sbp.limit;&lt;br /&gt;
		v_1 = sbp.cursor;&lt;br /&gt;
		lab0 : do {&lt;br /&gt;
			golab1 : while (true) {&lt;br /&gt;
				lab2 : do {&lt;br /&gt;
					if (!(sbp.in_grouping(g_v, 1072, 1103))) {&lt;br /&gt;
						break lab2;&lt;br /&gt;
					}&lt;br /&gt;
					break golab1;&lt;br /&gt;
				} while (false);&lt;br /&gt;
				if (sbp.cursor &amp;gt;= sbp.limit) {&lt;br /&gt;
					break lab0;&lt;br /&gt;
				}&lt;br /&gt;
				sbp.cursor++;&lt;br /&gt;
			}&lt;br /&gt;
			I_pV = sbp.cursor;&lt;br /&gt;
			golab3 : while (true) {&lt;br /&gt;
				lab4 : do {&lt;br /&gt;
					if (!(sbp.out_grouping(g_v, 1072, 1103))) {&lt;br /&gt;
						break lab4;&lt;br /&gt;
					}&lt;br /&gt;
					break golab3;&lt;br /&gt;
				} while (false);&lt;br /&gt;
				if (sbp.cursor &amp;gt;= sbp.limit) {&lt;br /&gt;
					break lab0;&lt;br /&gt;
				}&lt;br /&gt;
				sbp.cursor++;&lt;br /&gt;
			}&lt;br /&gt;
			golab5 : while (true) {&lt;br /&gt;
				lab6 : do {&lt;br /&gt;
					if (!(sbp.in_grouping(g_v, 1072, 1103))) {&lt;br /&gt;
						break lab6;&lt;br /&gt;
					}&lt;br /&gt;
					break golab5;&lt;br /&gt;
				} while (false);&lt;br /&gt;
				if (sbp.cursor &amp;gt;= sbp.limit) {&lt;br /&gt;
					break lab0;&lt;br /&gt;
				}&lt;br /&gt;
				sbp.cursor++;&lt;br /&gt;
			}&lt;br /&gt;
			golab7 : while (true) {&lt;br /&gt;
				lab8 : do {&lt;br /&gt;
					if (!(sbp.out_grouping(g_v, 1072, 1103))) {&lt;br /&gt;
						break lab8;&lt;br /&gt;
					}&lt;br /&gt;
					break golab7;&lt;br /&gt;
				} while (false);&lt;br /&gt;
				if (sbp.cursor &amp;gt;= sbp.limit) {&lt;br /&gt;
					break lab0;&lt;br /&gt;
				}&lt;br /&gt;
				sbp.cursor++;&lt;br /&gt;
			}&lt;br /&gt;
			I_p2 = sbp.cursor;&lt;br /&gt;
		} while (false);&lt;br /&gt;
		sbp.cursor = v_1;&lt;br /&gt;
		return true;&lt;br /&gt;
	}&lt;br /&gt;
	function r_R2() {&lt;br /&gt;
		if (!(I_p2 &amp;lt;= sbp.cursor)) {&lt;br /&gt;
			return false;&lt;br /&gt;
		}&lt;br /&gt;
		return true;&lt;br /&gt;
	}&lt;br /&gt;
	function r_perfective_gerund() {&lt;br /&gt;
		var among_var;&lt;br /&gt;
		var v_1;&lt;br /&gt;
		sbp.ket = sbp.cursor;&lt;br /&gt;
		among_var = sbp.find_among_b(a_0, 9);&lt;br /&gt;
		if (among_var == 0) {&lt;br /&gt;
			return false;&lt;br /&gt;
		}&lt;br /&gt;
		sbp.bra = sbp.cursor;&lt;br /&gt;
		switch (among_var) {&lt;br /&gt;
			case 0 :&lt;br /&gt;
				return false;&lt;br /&gt;
			case 1 :&lt;br /&gt;
				lab0 : do {&lt;br /&gt;
					v_1 = sbp.limit - sbp.cursor;&lt;br /&gt;
					lab1 : do {&lt;br /&gt;
						if (!(sbp.eq_s_b(1, &amp;quot;\u0430&amp;quot;))) {&lt;br /&gt;
							break lab1;&lt;br /&gt;
						}&lt;br /&gt;
						break lab0;&lt;br /&gt;
					} while (false);&lt;br /&gt;
					sbp.cursor = sbp.limit - v_1;&lt;br /&gt;
					if (!(sbp.eq_s_b(1, &amp;quot;\u044F&amp;quot;))) {&lt;br /&gt;
						return false;&lt;br /&gt;
					}&lt;br /&gt;
				} while (false);&lt;br /&gt;
				sbp.slice_del();&lt;br /&gt;
				break;&lt;br /&gt;
			case 2 :&lt;br /&gt;
				sbp.slice_del();&lt;br /&gt;
				break;&lt;br /&gt;
		}&lt;br /&gt;
		return true;&lt;br /&gt;
	}&lt;br /&gt;
	function r_adjective() {&lt;br /&gt;
		var among_var;&lt;br /&gt;
		sbp.ket = sbp.cursor;&lt;br /&gt;
		among_var = sbp.find_among_b(a_1, 26);&lt;br /&gt;
		if (among_var == 0) {&lt;br /&gt;
			return false;&lt;br /&gt;
		}&lt;br /&gt;
		sbp.bra = sbp.cursor;&lt;br /&gt;
		switch (among_var) {&lt;br /&gt;
			case 0 :&lt;br /&gt;
				return false;&lt;br /&gt;
			case 1 :&lt;br /&gt;
				sbp.slice_del();&lt;br /&gt;
				break;&lt;br /&gt;
		}&lt;br /&gt;
		return true;&lt;br /&gt;
	}&lt;br /&gt;
	function r_adjectival() {&lt;br /&gt;
		var among_var;&lt;br /&gt;
		var v_1;&lt;br /&gt;
		var v_2;&lt;br /&gt;
		if (!r_adjective()) {&lt;br /&gt;
			return false;&lt;br /&gt;
		}&lt;br /&gt;
		v_1 = sbp.limit - sbp.cursor;&lt;br /&gt;
		lab0 : do {&lt;br /&gt;
			sbp.ket = sbp.cursor;&lt;br /&gt;
			among_var = sbp.find_among_b(a_2, 8);&lt;br /&gt;
			if (among_var == 0) {&lt;br /&gt;
				sbp.cursor = sbp.limit - v_1;&lt;br /&gt;
				break lab0;&lt;br /&gt;
			}&lt;br /&gt;
			sbp.bra = sbp.cursor;&lt;br /&gt;
			switch (among_var) {&lt;br /&gt;
				case 0 :&lt;br /&gt;
					sbp.cursor = sbp.limit - v_1;&lt;br /&gt;
					break lab0;&lt;br /&gt;
				case 1 :&lt;br /&gt;
					lab1 : do {&lt;br /&gt;
						v_2 = sbp.limit - sbp.cursor;&lt;br /&gt;
						lab2 : do {&lt;br /&gt;
							if (!(sbp.eq_s_b(1, &amp;quot;\u0430&amp;quot;))) {&lt;br /&gt;
								break lab2;&lt;br /&gt;
							}&lt;br /&gt;
							break lab1;&lt;br /&gt;
						} while (false);&lt;br /&gt;
						sbp.cursor = sbp.limit - v_2;&lt;br /&gt;
						if (!(sbp.eq_s_b(1, &amp;quot;\u044F&amp;quot;))) {&lt;br /&gt;
							sbp.cursor = sbp.limit - v_1;&lt;br /&gt;
							break lab0;&lt;br /&gt;
						}&lt;br /&gt;
					} while (false);&lt;br /&gt;
					sbp.slice_del();&lt;br /&gt;
					break;&lt;br /&gt;
				case 2 :&lt;br /&gt;
					sbp.slice_del();&lt;br /&gt;
					break;&lt;br /&gt;
			}&lt;br /&gt;
		} while (false);&lt;br /&gt;
		return true;&lt;br /&gt;
	}&lt;br /&gt;
	function r_reflexive() {&lt;br /&gt;
		var among_var;&lt;br /&gt;
		sbp.ket = sbp.cursor;&lt;br /&gt;
		among_var = sbp.find_among_b(a_3, 2);&lt;br /&gt;
		if (among_var == 0) {&lt;br /&gt;
			return false;&lt;br /&gt;
		}&lt;br /&gt;
		sbp.bra = sbp.cursor;&lt;br /&gt;
		switch (among_var) {&lt;br /&gt;
			case 0 :&lt;br /&gt;
				return false;&lt;br /&gt;
			case 1 :&lt;br /&gt;
				sbp.slice_del();&lt;br /&gt;
				break;&lt;br /&gt;
		}&lt;br /&gt;
		return true;&lt;br /&gt;
	}&lt;br /&gt;
	function r_verb() {&lt;br /&gt;
		var among_var;&lt;br /&gt;
		var v_1;&lt;br /&gt;
		sbp.ket = sbp.cursor;&lt;br /&gt;
		among_var = sbp.find_among_b(a_4, 46);&lt;br /&gt;
		if (among_var == 0) {&lt;br /&gt;
			return false;&lt;br /&gt;
		}&lt;br /&gt;
		sbp.bra = sbp.cursor;&lt;br /&gt;
		switch (among_var) {&lt;br /&gt;
			case 0 :&lt;br /&gt;
				return false;&lt;br /&gt;
			case 1 :&lt;br /&gt;
				lab0 : do {&lt;br /&gt;
					v_1 = sbp.limit - sbp.cursor;&lt;br /&gt;
					lab1 : do {&lt;br /&gt;
						if (!(sbp.eq_s_b(1, &amp;quot;\u0430&amp;quot;))) {&lt;br /&gt;
							break lab1;&lt;br /&gt;
						}&lt;br /&gt;
						break lab0;&lt;br /&gt;
					} while (false);&lt;br /&gt;
					sbp.cursor = sbp.limit - v_1;&lt;br /&gt;
					if (!(sbp.eq_s_b(1, &amp;quot;\u044F&amp;quot;))) {&lt;br /&gt;
						return false;&lt;br /&gt;
					}&lt;br /&gt;
				} while (false);&lt;br /&gt;
				sbp.slice_del();&lt;br /&gt;
				break;&lt;br /&gt;
			case 2 :&lt;br /&gt;
				sbp.slice_del();&lt;br /&gt;
				break;&lt;br /&gt;
		}&lt;br /&gt;
		return true;&lt;br /&gt;
	}&lt;br /&gt;
	function r_noun() {&lt;br /&gt;
		var among_var;&lt;br /&gt;
		sbp.ket = sbp.cursor;&lt;br /&gt;
		among_var = sbp.find_among_b(a_5, 36);&lt;br /&gt;
		if (among_var == 0) {&lt;br /&gt;
			return false;&lt;br /&gt;
		}&lt;br /&gt;
		sbp.bra = sbp.cursor;&lt;br /&gt;
		switch (among_var) {&lt;br /&gt;
			case 0 :&lt;br /&gt;
				return false;&lt;br /&gt;
			case 1 :&lt;br /&gt;
				sbp.slice_del();&lt;br /&gt;
				break;&lt;br /&gt;
		}&lt;br /&gt;
		return true;&lt;br /&gt;
	}&lt;br /&gt;
	function r_derivational() {&lt;br /&gt;
		var among_var;&lt;br /&gt;
		sbp.ket = sbp.cursor;&lt;br /&gt;
		among_var = sbp.find_among_b(a_6, 2);&lt;br /&gt;
		if (among_var == 0) {&lt;br /&gt;
			return false;&lt;br /&gt;
		}&lt;br /&gt;
		sbp.bra = sbp.cursor;&lt;br /&gt;
		if (!r_R2()) {&lt;br /&gt;
			return false;&lt;br /&gt;
		}&lt;br /&gt;
		switch (among_var) {&lt;br /&gt;
			case 0 :&lt;br /&gt;
				return false;&lt;br /&gt;
			case 1 :&lt;br /&gt;
				sbp.slice_del();&lt;br /&gt;
				break;&lt;br /&gt;
		}&lt;br /&gt;
		return true;&lt;br /&gt;
	}&lt;br /&gt;
	function r_tidy_up() {&lt;br /&gt;
		var among_var;&lt;br /&gt;
		sbp.ket = sbp.cursor;&lt;br /&gt;
		among_var = sbp.find_among_b(a_7, 4);&lt;br /&gt;
		if (among_var == 0) {&lt;br /&gt;
			return false;&lt;br /&gt;
		}&lt;br /&gt;
		sbp.bra = sbp.cursor;&lt;br /&gt;
		switch (among_var) {&lt;br /&gt;
			case 0 :&lt;br /&gt;
				return false;&lt;br /&gt;
			case 1 :&lt;br /&gt;
				sbp.slice_del();&lt;br /&gt;
				sbp.ket = sbp.cursor;&lt;br /&gt;
				if (!(sbp.eq_s_b(1, &amp;quot;\u043D&amp;quot;))) {&lt;br /&gt;
					return false;&lt;br /&gt;
				}&lt;br /&gt;
				sbp.bra = sbp.cursor;&lt;br /&gt;
				if (!(sbp.eq_s_b(1, &amp;quot;\u043D&amp;quot;))) {&lt;br /&gt;
					return false;&lt;br /&gt;
				}&lt;br /&gt;
				sbp.slice_del();&lt;br /&gt;
				break;&lt;br /&gt;
			case 2 :&lt;br /&gt;
				if (!(sbp.eq_s_b(1, &amp;quot;\u043D&amp;quot;))) {&lt;br /&gt;
					return false;&lt;br /&gt;
				}&lt;br /&gt;
				sbp.slice_del();&lt;br /&gt;
				break;&lt;br /&gt;
			case 3 :&lt;br /&gt;
				sbp.slice_del();&lt;br /&gt;
				break;&lt;br /&gt;
		}&lt;br /&gt;
		return true;&lt;br /&gt;
	}&lt;br /&gt;
	this.stem = function() {&lt;br /&gt;
		var v_1, v_2, v_3, v_4, v_5, v_6, v_7, v_8, v_9, v_10;&lt;br /&gt;
		v_1 = sbp.cursor;&lt;br /&gt;
		lab0 : do {&lt;br /&gt;
			if (!r_mark_regions()) {&lt;br /&gt;
				break lab0;&lt;br /&gt;
			}&lt;br /&gt;
		} while (false);&lt;br /&gt;
		sbp.cursor = v_1;&lt;br /&gt;
		sbp.limit_backward = sbp.cursor;&lt;br /&gt;
		sbp.cursor = sbp.limit;&lt;br /&gt;
		v_2 = sbp.limit - sbp.cursor;&lt;br /&gt;
		if (sbp.cursor &amp;lt; I_pV) {&lt;br /&gt;
			return false;&lt;br /&gt;
		}&lt;br /&gt;
		sbp.cursor = I_pV;&lt;br /&gt;
		v_3 = sbp.limit_backward;&lt;br /&gt;
		sbp.limit_backward = sbp.cursor;&lt;br /&gt;
		sbp.cursor = sbp.limit - v_2;&lt;br /&gt;
		v_4 = sbp.limit - sbp.cursor;&lt;br /&gt;
		lab1 : do {&lt;br /&gt;
			lab2 : do {&lt;br /&gt;
				v_5 = sbp.limit - sbp.cursor;&lt;br /&gt;
				lab3 : do {&lt;br /&gt;
					if (!r_perfective_gerund()) {&lt;br /&gt;
						break lab3;&lt;br /&gt;
					}&lt;br /&gt;
					break lab2;&lt;br /&gt;
				} while (false);&lt;br /&gt;
				sbp.cursor = sbp.limit - v_5;&lt;br /&gt;
				v_6 = sbp.limit - sbp.cursor;&lt;br /&gt;
				lab4 : do {&lt;br /&gt;
					if (!r_reflexive()) {&lt;br /&gt;
						sbp.cursor = sbp.limit - v_6;&lt;br /&gt;
						break lab4;&lt;br /&gt;
					}&lt;br /&gt;
				} while (false);&lt;br /&gt;
				lab5 : do {&lt;br /&gt;
					v_7 = sbp.limit - sbp.cursor;&lt;br /&gt;
					lab6 : do {&lt;br /&gt;
						if (!r_adjectival()) {&lt;br /&gt;
							break lab6;&lt;br /&gt;
						}&lt;br /&gt;
						break lab5;&lt;br /&gt;
					} while (false);&lt;br /&gt;
					sbp.cursor = sbp.limit - v_7;&lt;br /&gt;
					lab7 : do {&lt;br /&gt;
						if (!r_verb()) {&lt;br /&gt;
							break lab7;&lt;br /&gt;
						}&lt;br /&gt;
						break lab5;&lt;br /&gt;
					} while (false);&lt;br /&gt;
					sbp.cursor = sbp.limit - v_7;&lt;br /&gt;
					if (!r_noun()) {&lt;br /&gt;
						break lab1;&lt;br /&gt;
					}&lt;br /&gt;
				} while (false);&lt;br /&gt;
			} while (false);&lt;br /&gt;
		} while (false);&lt;br /&gt;
		sbp.cursor = sbp.limit - v_4;&lt;br /&gt;
		v_8 = sbp.limit - sbp.cursor;&lt;br /&gt;
		lab8 : do {&lt;br /&gt;
			sbp.ket = sbp.cursor;&lt;br /&gt;
			if (!(sbp.eq_s_b(1, &amp;quot;\u0438&amp;quot;))) {&lt;br /&gt;
				sbp.cursor = sbp.limit - v_8;&lt;br /&gt;
				break lab8;&lt;br /&gt;
			}&lt;br /&gt;
			sbp.bra = sbp.cursor;&lt;br /&gt;
			sbp.slice_del();&lt;br /&gt;
		} while (false);&lt;br /&gt;
		v_9 = sbp.limit - sbp.cursor;&lt;br /&gt;
		lab9 : do {&lt;br /&gt;
			if (!r_derivational()) {&lt;br /&gt;
				break lab9;&lt;br /&gt;
			}&lt;br /&gt;
		} while (false);&lt;br /&gt;
		sbp.cursor = sbp.limit - v_9;&lt;br /&gt;
		v_10 = sbp.limit - sbp.cursor;&lt;br /&gt;
		lab10 : do {&lt;br /&gt;
			if (!r_tidy_up()) {&lt;br /&gt;
				break lab10;&lt;br /&gt;
			}&lt;br /&gt;
		} while (false);&lt;br /&gt;
		sbp.cursor = sbp.limit - v_10;&lt;br /&gt;
		sbp.limit_backward = v_3;&lt;br /&gt;
		sbp.cursor = sbp.limit_backward;&lt;br /&gt;
		return true;&lt;br /&gt;
	}&lt;br /&gt;
}&lt;/div&gt;</summary>
		<author><name>Ariely</name></author>
	</entry>
</feed>