1 //! This file was generated automatically by the Snowball to Rust compiler
2 //! http://snowballstem.org/
3 
4 #![allow(non_upper_case_globals)]
5 #![allow(non_snake_case)]
6 #![allow(unused_variables)]
7 #![allow(unused_mut)]
8 use snowball::SnowballEnv;
9 use snowball::Among;
10 
11 static A_0: &'static [Among<Context>; 10] = &[
12     Among("\u{0B95}", -1, -1, None),
13     Among("\u{0B99}", -1, -1, None),
14     Among("\u{0B9A}", -1, -1, None),
15     Among("\u{0B9E}", -1, -1, None),
16     Among("\u{0BA4}", -1, -1, None),
17     Among("\u{0BA8}", -1, -1, None),
18     Among("\u{0BAA}", -1, -1, None),
19     Among("\u{0BAE}", -1, -1, None),
20     Among("\u{0BAF}", -1, -1, None),
21     Among("\u{0BB5}", -1, -1, None),
22 ];
23 
24 static A_1: &'static [Among<Context>; 3] = &[
25     Among("\u{0BA8}\u{0BCD}\u{0BA4}\u{0BCD}", -1, -1, None),
26     Among("\u{0BA8}\u{0BCD}", -1, -1, None),
27     Among("\u{0BA8}\u{0BCD}\u{0BA4}", -1, -1, None),
28 ];
29 
30 static A_2: &'static [Among<Context>; 3] = &[
31     Among("\u{0BC0}", -1, -1, None),
32     Among("\u{0BC8}", -1, -1, None),
33     Among("\u{0BBF}", -1, -1, None),
34 ];
35 
36 static A_3: &'static [Among<Context>; 6] = &[
37     Among("\u{0B95}", -1, -1, None),
38     Among("\u{0B9A}", -1, -1, None),
39     Among("\u{0B9F}", -1, -1, None),
40     Among("\u{0BA4}", -1, -1, None),
41     Among("\u{0BAA}", -1, -1, None),
42     Among("\u{0BB1}", -1, -1, None),
43 ];
44 
45 static A_4: &'static [Among<Context>; 6] = &[
46     Among("\u{0B95}", -1, -1, None),
47     Among("\u{0B9A}", -1, -1, None),
48     Among("\u{0B9F}", -1, -1, None),
49     Among("\u{0BA4}", -1, -1, None),
50     Among("\u{0BAA}", -1, -1, None),
51     Among("\u{0BB1}", -1, -1, None),
52 ];
53 
54 static A_5: &'static [Among<Context>; 6] = &[
55     Among("\u{0B95}", -1, -1, None),
56     Among("\u{0B9A}", -1, -1, None),
57     Among("\u{0B9F}", -1, -1, None),
58     Among("\u{0BA4}", -1, -1, None),
59     Among("\u{0BAA}", -1, -1, None),
60     Among("\u{0BB1}", -1, -1, None),
61 ];
62 
63 static A_6: &'static [Among<Context>; 6] = &[
64     Among("\u{0BAF}", -1, -1, None),
65     Among("\u{0BB0}", -1, -1, None),
66     Among("\u{0BB2}", -1, -1, None),
67     Among("\u{0BB3}", -1, -1, None),
68     Among("\u{0BB4}", -1, -1, None),
69     Among("\u{0BB5}", -1, -1, None),
70 ];
71 
72 static A_7: &'static [Among<Context>; 6] = &[
73     Among("\u{0B99}", -1, -1, None),
74     Among("\u{0B9E}", -1, -1, None),
75     Among("\u{0BA3}", -1, -1, None),
76     Among("\u{0BA8}", -1, -1, None),
77     Among("\u{0BA9}", -1, -1, None),
78     Among("\u{0BAE}", -1, -1, None),
79 ];
80 
81 static A_8: &'static [Among<Context>; 3] = &[
82     Among("\u{0BB5}\u{0BCD}", -1, -1, None),
83     Among("\u{0BAF}", -1, -1, None),
84     Among("\u{0BB5}", -1, -1, None),
85 ];
86 
87 static A_9: &'static [Among<Context>; 8] = &[
88     Among("\u{0BC0}", -1, -1, None),
89     Among("\u{0BC1}", -1, -1, None),
90     Among("\u{0BC2}", -1, -1, None),
91     Among("\u{0BC6}", -1, -1, None),
92     Among("\u{0BC7}", -1, -1, None),
93     Among("\u{0BC8}", -1, -1, None),
94     Among("\u{0BBE}", -1, -1, None),
95     Among("\u{0BBF}", -1, -1, None),
96 ];
97 
98 static A_10: &'static [Among<Context>; 8] = &[
99     Among("\u{0BC0}", -1, -1, None),
100     Among("\u{0BC1}", -1, -1, None),
101     Among("\u{0BC2}", -1, -1, None),
102     Among("\u{0BC6}", -1, -1, None),
103     Among("\u{0BC7}", -1, -1, None),
104     Among("\u{0BC8}", -1, -1, None),
105     Among("\u{0BBE}", -1, -1, None),
106     Among("\u{0BBF}", -1, -1, None),
107 ];
108 
109 static A_11: &'static [Among<Context>; 3] = &[
110     Among("\u{0B85}", -1, -1, None),
111     Among("\u{0B87}", -1, -1, None),
112     Among("\u{0B89}", -1, -1, None),
113 ];
114 
115 static A_12: &'static [Among<Context>; 10] = &[
116     Among("\u{0B95}", -1, -1, None),
117     Among("\u{0B99}", -1, -1, None),
118     Among("\u{0B9A}", -1, -1, None),
119     Among("\u{0B9E}", -1, -1, None),
120     Among("\u{0BA4}", -1, -1, None),
121     Among("\u{0BA8}", -1, -1, None),
122     Among("\u{0BAA}", -1, -1, None),
123     Among("\u{0BAE}", -1, -1, None),
124     Among("\u{0BAF}", -1, -1, None),
125     Among("\u{0BB5}", -1, -1, None),
126 ];
127 
128 static A_13: &'static [Among<Context>; 6] = &[
129     Among("\u{0B95}", -1, -1, None),
130     Among("\u{0B9A}", -1, -1, None),
131     Among("\u{0B9F}", -1, -1, None),
132     Among("\u{0BA4}", -1, -1, None),
133     Among("\u{0BAA}", -1, -1, None),
134     Among("\u{0BB1}", -1, -1, None),
135 ];
136 
137 static A_14: &'static [Among<Context>; 3] = &[
138     Among("\u{0BC7}", -1, -1, None),
139     Among("\u{0BCB}", -1, -1, None),
140     Among("\u{0BBE}", -1, -1, None),
141 ];
142 
143 static A_15: &'static [Among<Context>; 2] = &[
144     Among("\u{0BAA}\u{0BBF}", -1, -1, None),
145     Among("\u{0BB5}\u{0BBF}", -1, -1, None),
146 ];
147 
148 static A_16: &'static [Among<Context>; 8] = &[
149     Among("\u{0BC0}", -1, -1, None),
150     Among("\u{0BC1}", -1, -1, None),
151     Among("\u{0BC2}", -1, -1, None),
152     Among("\u{0BC6}", -1, -1, None),
153     Among("\u{0BC7}", -1, -1, None),
154     Among("\u{0BC8}", -1, -1, None),
155     Among("\u{0BBE}", -1, -1, None),
156     Among("\u{0BBF}", -1, -1, None),
157 ];
158 
159 static A_17: &'static [Among<Context>; 13] = &[
160     Among("\u{0BAA}\u{0B9F}\u{0BCD}\u{0B9F}\u{0BC1}", -1, -1, None),
161     Among("\u{0BB5}\u{0BBF}\u{0B9F}\u{0BCD}\u{0B9F}\u{0BC1}", -1, -1, None),
162     Among("\u{0BAA}\u{0B9F}\u{0BC1}", -1, -1, None),
163     Among("\u{0BB5}\u{0BBF}\u{0B9F}\u{0BC1}", -1, -1, None),
164     Among("\u{0BAA}\u{0B9F}\u{0BCD}\u{0B9F}\u{0BA4}\u{0BC1}", -1, -1, None),
165     Among("\u{0BC6}\u{0BB2}\u{0BCD}\u{0BB2}\u{0BBE}\u{0BAE}\u{0BCD}", -1, -1, None),
166     Among("\u{0BAA}\u{0B9F}\u{0BCD}\u{0B9F}", -1, -1, None),
167     Among("\u{0BAA}\u{0B9F}\u{0BCD}\u{0B9F}\u{0BA3}", -1, -1, None),
168     Among("\u{0BA4}\u{0BBE}\u{0BA9}", -1, -1, None),
169     Among("\u{0BAA}\u{0B9F}\u{0BBF}\u{0BA4}\u{0BBE}\u{0BA9}", 8, -1, None),
170     Among("\u{0B95}\u{0BC1}\u{0BB0}\u{0BBF}\u{0BAF}", -1, -1, None),
171     Among("\u{0BAA}\u{0B9F}\u{0BBF}", -1, -1, None),
172     Among("\u{0BAA}\u{0BB1}\u{0BCD}\u{0BB1}\u{0BBF}", -1, -1, None),
173 ];
174 
175 static A_18: &'static [Among<Context>; 6] = &[
176     Among("\u{0B95}", -1, -1, None),
177     Among("\u{0B9A}", -1, -1, None),
178     Among("\u{0B9F}", -1, -1, None),
179     Among("\u{0BA4}", -1, -1, None),
180     Among("\u{0BAA}", -1, -1, None),
181     Among("\u{0BB1}", -1, -1, None),
182 ];
183 
184 static A_19: &'static [Among<Context>; 6] = &[
185     Among("\u{0B95}", -1, -1, None),
186     Among("\u{0B9A}", -1, -1, None),
187     Among("\u{0B9F}", -1, -1, None),
188     Among("\u{0BA4}", -1, -1, None),
189     Among("\u{0BAA}", -1, -1, None),
190     Among("\u{0BB1}", -1, -1, None),
191 ];
192 
193 static A_20: &'static [Among<Context>; 8] = &[
194     Among("\u{0BC0}", -1, -1, None),
195     Among("\u{0BC1}", -1, -1, None),
196     Among("\u{0BC2}", -1, -1, None),
197     Among("\u{0BC6}", -1, -1, None),
198     Among("\u{0BC7}", -1, -1, None),
199     Among("\u{0BC8}", -1, -1, None),
200     Among("\u{0BBE}", -1, -1, None),
201     Among("\u{0BBF}", -1, -1, None),
202 ];
203 
204 static A_21: &'static [Among<Context>; 8] = &[
205     Among("\u{0BC0}", -1, -1, None),
206     Among("\u{0BC1}", -1, -1, None),
207     Among("\u{0BC2}", -1, -1, None),
208     Among("\u{0BC6}", -1, -1, None),
209     Among("\u{0BC7}", -1, -1, None),
210     Among("\u{0BC8}", -1, -1, None),
211     Among("\u{0BBE}", -1, -1, None),
212     Among("\u{0BBF}", -1, -1, None),
213 ];
214 
215 static A_22: &'static [Among<Context>; 2] = &[
216     Among("\u{0BAA}\u{0B9F}\u{0BC1}", -1, -1, None),
217     Among("\u{0B95}\u{0BCA}\u{0BA3}\u{0BCD}\u{0B9F}\u{0BBF}\u{0BB0}\u{0BCD}", -1, -1, None),
218 ];
219 
220 static A_23: &'static [Among<Context>; 12] = &[
221     Among("\u{0B85}", -1, -1, None),
222     Among("\u{0B86}", -1, -1, None),
223     Among("\u{0B87}", -1, -1, None),
224     Among("\u{0B88}", -1, -1, None),
225     Among("\u{0B89}", -1, -1, None),
226     Among("\u{0B8A}", -1, -1, None),
227     Among("\u{0B8E}", -1, -1, None),
228     Among("\u{0B8F}", -1, -1, None),
229     Among("\u{0B90}", -1, -1, None),
230     Among("\u{0B92}", -1, -1, None),
231     Among("\u{0B93}", -1, -1, None),
232     Among("\u{0B94}", -1, -1, None),
233 ];
234 
235 static A_24: &'static [Among<Context>; 8] = &[
236     Among("\u{0BC0}", -1, -1, None),
237     Among("\u{0BC1}", -1, -1, None),
238     Among("\u{0BC2}", -1, -1, None),
239     Among("\u{0BC6}", -1, -1, None),
240     Among("\u{0BC7}", -1, -1, None),
241     Among("\u{0BC8}", -1, -1, None),
242     Among("\u{0BBE}", -1, -1, None),
243     Among("\u{0BBF}", -1, -1, None),
244 ];
245 
246 static A_25: &'static [Among<Context>; 6] = &[
247     Among("\u{0B95}\u{0BBF}\u{0BA9}\u{0BCD}\u{0BB1}\u{0BCD}", -1, -1, None),
248     Among("\u{0BBE}\u{0BA8}\u{0BBF}\u{0BA9}\u{0BCD}\u{0BB1}\u{0BCD}", -1, -1, None),
249     Among("\u{0B95}\u{0BBF}\u{0BB1}\u{0BCD}", -1, -1, None),
250     Among("\u{0B95}\u{0BBF}\u{0BA9}\u{0BCD}\u{0BB1}", -1, -1, None),
251     Among("\u{0BBE}\u{0BA8}\u{0BBF}\u{0BA9}\u{0BCD}\u{0BB1}", -1, -1, None),
252     Among("\u{0B95}\u{0BBF}\u{0BB1}", -1, -1, None),
253 ];
254 
255 #[derive(Clone)]
256 struct Context {
257     i_length: usize,
258     b_found_wrong_ending: bool,
259     b_found_vetrumai_urupu: bool,
260     b_found_a_match: bool,
261 }
262 
r_has_min_length(env: &mut SnowballEnv, context: &mut Context) -> bool263 fn r_has_min_length(env: &mut SnowballEnv, context: &mut Context) -> bool {
264     // (, line 104
265     context.i_length = env.current.chars().count();
266     if !(context.i_length > 4){
267         return false;
268     }
269     return true;
270 }
271 
r_fix_va_start(env: &mut SnowballEnv, context: &mut Context) -> bool272 fn r_fix_va_start(env: &mut SnowballEnv, context: &mut Context) -> bool {
273     // (, line 109
274     // or, line 110
275     'lab0: loop {
276         let v_1 = env.cursor;
277         'lab1: loop {
278             // (, line 110
279             // and, line 110
280             let v_2 = env.cursor;
281             // try, line 110
282             let v_3 = env.cursor;
283             'lab2: loop {
284                 // literal, line 110
285                 if !env.eq_s(&"\u{0BB5}\u{0BCB}") {
286                     env.cursor = v_3;
287                     break 'lab2;
288                 }
289                 break 'lab2;
290             }
291             env.cursor = v_2;
292             // [, line 110
293             env.bra = env.cursor;
294             // literal, line 110
295             if !env.eq_s(&"\u{0BB5}\u{0BCB}") {
296                 break 'lab1;
297             }
298             // ], line 110
299             env.ket = env.cursor;
300             // <-, line 110
301             if !env.slice_from("\u{0B93}") {
302                 return false;
303             }
304             break 'lab0;
305         }
306         env.cursor = v_1;
307         'lab3: loop {
308             // (, line 111
309             // and, line 111
310             let v_4 = env.cursor;
311             // try, line 111
312             let v_5 = env.cursor;
313             'lab4: loop {
314                 // literal, line 111
315                 if !env.eq_s(&"\u{0BB5}\u{0BCA}") {
316                     env.cursor = v_5;
317                     break 'lab4;
318                 }
319                 break 'lab4;
320             }
321             env.cursor = v_4;
322             // [, line 111
323             env.bra = env.cursor;
324             // literal, line 111
325             if !env.eq_s(&"\u{0BB5}\u{0BCA}") {
326                 break 'lab3;
327             }
328             // ], line 111
329             env.ket = env.cursor;
330             // <-, line 111
331             if !env.slice_from("\u{0B92}") {
332                 return false;
333             }
334             break 'lab0;
335         }
336         env.cursor = v_1;
337         'lab5: loop {
338             // (, line 112
339             // and, line 112
340             let v_6 = env.cursor;
341             // try, line 112
342             let v_7 = env.cursor;
343             'lab6: loop {
344                 // literal, line 112
345                 if !env.eq_s(&"\u{0BB5}\u{0BC1}") {
346                     env.cursor = v_7;
347                     break 'lab6;
348                 }
349                 break 'lab6;
350             }
351             env.cursor = v_6;
352             // [, line 112
353             env.bra = env.cursor;
354             // literal, line 112
355             if !env.eq_s(&"\u{0BB5}\u{0BC1}") {
356                 break 'lab5;
357             }
358             // ], line 112
359             env.ket = env.cursor;
360             // <-, line 112
361             if !env.slice_from("\u{0B89}") {
362                 return false;
363             }
364             break 'lab0;
365         }
366         env.cursor = v_1;
367         // (, line 113
368         // and, line 113
369         let v_8 = env.cursor;
370         // try, line 113
371         let v_9 = env.cursor;
372         'lab7: loop {
373             // literal, line 113
374             if !env.eq_s(&"\u{0BB5}\u{0BC2}") {
375                 env.cursor = v_9;
376                 break 'lab7;
377             }
378             break 'lab7;
379         }
380         env.cursor = v_8;
381         // [, line 113
382         env.bra = env.cursor;
383         // literal, line 113
384         if !env.eq_s(&"\u{0BB5}\u{0BC2}") {
385             return false;
386         }
387         // ], line 113
388         env.ket = env.cursor;
389         // <-, line 113
390         if !env.slice_from("\u{0B8A}") {
391             return false;
392         }
393         break 'lab0;
394     }
395     return true;
396 }
397 
r_fix_endings(env: &mut SnowballEnv, context: &mut Context) -> bool398 fn r_fix_endings(env: &mut SnowballEnv, context: &mut Context) -> bool {
399     // (, line 116
400     // set found_wrong_ending, line 117
401     context.b_found_wrong_ending = true;
402     // repeat, line 118
403     'replab0: loop{
404         let v_1 = env.cursor;
405         'lab1: for _ in 0..1 {
406             // (, line 118
407             // Boolean test found_wrong_ending, line 118
408             if !context.b_found_wrong_ending {
409                 break 'lab1;
410             }
411             // (, line 118
412             // do, line 118
413             let v_2 = env.cursor;
414             'lab2: loop {
415                 // call fix_ending, line 118
416                 if !r_fix_ending(env, context) {
417                     break 'lab2;
418                 }
419                 break 'lab2;
420             }
421             env.cursor = v_2;
422             continue 'replab0;
423         }
424         env.cursor = v_1;
425         break 'replab0;
426     }
427     return true;
428 }
429 
r_remove_question_prefixes(env: &mut SnowballEnv, context: &mut Context) -> bool430 fn r_remove_question_prefixes(env: &mut SnowballEnv, context: &mut Context) -> bool {
431     // (, line 121
432     // [, line 122
433     env.bra = env.cursor;
434     // (, line 122
435     // literal, line 122
436     if !env.eq_s(&"\u{0B8E}") {
437         return false;
438     }
439     // among, line 122
440     if env.find_among(A_0, context) == 0 {
441         return false;
442     }
443     // literal, line 122
444     if !env.eq_s(&"\u{0BCD}") {
445         return false;
446     }
447     // ], line 122
448     env.ket = env.cursor;
449     // delete, line 122
450     if !env.slice_del() {
451         return false;
452     }
453     // do, line 123
454     let v_1 = env.cursor;
455     'lab0: loop {
456         // call fix_va_start, line 123
457         if !r_fix_va_start(env, context) {
458             break 'lab0;
459         }
460         break 'lab0;
461     }
462     env.cursor = v_1;
463     return true;
464 }
465 
r_fix_ending(env: &mut SnowballEnv, context: &mut Context) -> bool466 fn r_fix_ending(env: &mut SnowballEnv, context: &mut Context) -> bool {
467     // (, line 126
468     // unset found_wrong_ending, line 127
469     context.b_found_wrong_ending = false;
470     context.i_length = env.current.chars().count();
471     if !(context.i_length > 3){
472         return false;
473     }
474     // backwards, line 130
475     env.limit_backward = env.cursor;
476     env.cursor = env.limit;
477     // (, line 130
478     // or, line 132
479     'lab0: loop {
480         let v_1 = env.limit - env.cursor;
481         'lab1: loop {
482             // (, line 131
483             // [, line 131
484             env.ket = env.cursor;
485             // among, line 131
486             if env.find_among_b(A_1, context) == 0 {
487                 break 'lab1;
488             }
489             // ], line 131
490             env.bra = env.cursor;
491             // delete, line 131
492             if !env.slice_del() {
493                 return false;
494             }
495             break 'lab0;
496         }
497         env.cursor = env.limit - v_1;
498         'lab2: loop {
499             // (, line 133
500             // [, line 133
501             env.ket = env.cursor;
502             // literal, line 133
503             if !env.eq_s_b(&"\u{0BAF}\u{0BCD}") {
504                 break 'lab2;
505             }
506             // test, line 133
507             let v_2 = env.limit - env.cursor;
508             // among, line 133
509             if env.find_among_b(A_2, context) == 0 {
510                 break 'lab2;
511             }
512             env.cursor = env.limit - v_2;
513             // ], line 133
514             env.bra = env.cursor;
515             // delete, line 133
516             if !env.slice_del() {
517                 return false;
518             }
519             break 'lab0;
520         }
521         env.cursor = env.limit - v_1;
522         'lab3: loop {
523             // (, line 135
524             // [, line 135
525             env.ket = env.cursor;
526             // or, line 135
527             'lab4: loop {
528                 let v_3 = env.limit - env.cursor;
529                 'lab5: loop {
530                     // literal, line 135
531                     if !env.eq_s_b(&"\u{0B9F}\u{0BCD}\u{0BAA}\u{0BCD}") {
532                         break 'lab5;
533                     }
534                     break 'lab4;
535                 }
536                 env.cursor = env.limit - v_3;
537                 // literal, line 135
538                 if !env.eq_s_b(&"\u{0B9F}\u{0BCD}\u{0B95}\u{0BCD}") {
539                     break 'lab3;
540                 }
541                 break 'lab4;
542             }
543             // ], line 135
544             env.bra = env.cursor;
545             // <-, line 135
546             if !env.slice_from("\u{0BB3}\u{0BCD}") {
547                 return false;
548             }
549             break 'lab0;
550         }
551         env.cursor = env.limit - v_1;
552         'lab6: loop {
553             // (, line 137
554             // [, line 137
555             env.ket = env.cursor;
556             // literal, line 137
557             if !env.eq_s_b(&"\u{0BA9}\u{0BCD}\u{0BB1}\u{0BCD}") {
558                 break 'lab6;
559             }
560             // ], line 137
561             env.bra = env.cursor;
562             // <-, line 137
563             if !env.slice_from("\u{0BB2}\u{0BCD}") {
564                 return false;
565             }
566             break 'lab0;
567         }
568         env.cursor = env.limit - v_1;
569         'lab7: loop {
570             // (, line 140
571             // [, line 140
572             env.ket = env.cursor;
573             // literal, line 140
574             if !env.eq_s_b(&"\u{0BB1}\u{0BCD}\u{0B95}\u{0BCD}") {
575                 break 'lab7;
576             }
577             // ], line 140
578             env.bra = env.cursor;
579             // <-, line 140
580             if !env.slice_from("\u{0BB2}\u{0BCD}") {
581                 return false;
582             }
583             break 'lab0;
584         }
585         env.cursor = env.limit - v_1;
586         'lab8: loop {
587             // (, line 142
588             // [, line 142
589             env.ket = env.cursor;
590             // literal, line 142
591             if !env.eq_s_b(&"\u{0B9F}\u{0BCD}\u{0B9F}\u{0BCD}") {
592                 break 'lab8;
593             }
594             // ], line 142
595             env.bra = env.cursor;
596             // <-, line 142
597             if !env.slice_from("\u{0B9F}\u{0BC1}") {
598                 return false;
599             }
600             break 'lab0;
601         }
602         env.cursor = env.limit - v_1;
603         'lab9: loop {
604             // (, line 144
605             // Boolean test found_vetrumai_urupu, line 144
606             if !context.b_found_vetrumai_urupu {
607                 break 'lab9;
608             }
609             // [, line 144
610             env.ket = env.cursor;
611             // literal, line 144
612             if !env.eq_s_b(&"\u{0BA4}\u{0BCD}\u{0BA4}\u{0BCD}") {
613                 break 'lab9;
614             }
615             // (, line 144
616             // test, line 144
617             let v_4 = env.limit - env.cursor;
618             // not, line 144
619             let v_5 = env.limit - env.cursor;
620             'lab10: loop {
621                 // literal, line 144
622                 if !env.eq_s_b(&"\u{0BC8}") {
623                     break 'lab10;
624                 }
625                 break 'lab9;
626             }
627             env.cursor = env.limit - v_5;
628             env.cursor = env.limit - v_4;
629             // ], line 144
630             env.bra = env.cursor;
631             // <-, line 144
632             if !env.slice_from("\u{0BAE}\u{0BCD}") {
633                 return false;
634             }
635             // ], line 144
636             env.bra = env.cursor;
637             break 'lab0;
638         }
639         env.cursor = env.limit - v_1;
640         'lab11: loop {
641             // (, line 146
642             // [, line 146
643             env.ket = env.cursor;
644             // or, line 146
645             'lab12: loop {
646                 let v_6 = env.limit - env.cursor;
647                 'lab13: loop {
648                     // literal, line 146
649                     if !env.eq_s_b(&"\u{0BC1}\u{0B95}\u{0BCD}") {
650                         break 'lab13;
651                     }
652                     break 'lab12;
653                 }
654                 env.cursor = env.limit - v_6;
655                 // literal, line 146
656                 if !env.eq_s_b(&"\u{0BC1}\u{0B95}\u{0BCD}\u{0B95}\u{0BCD}") {
657                     break 'lab11;
658                 }
659                 break 'lab12;
660             }
661             // ], line 146
662             env.bra = env.cursor;
663             // <-, line 146
664             if !env.slice_from("\u{0BCD}") {
665                 return false;
666             }
667             break 'lab0;
668         }
669         env.cursor = env.limit - v_1;
670         'lab14: loop {
671             // (, line 148
672             // [, line 148
673             env.ket = env.cursor;
674             // literal, line 148
675             if !env.eq_s_b(&"\u{0BCD}") {
676                 break 'lab14;
677             }
678             // among, line 148
679             if env.find_among_b(A_3, context) == 0 {
680                 break 'lab14;
681             }
682             // literal, line 148
683             if !env.eq_s_b(&"\u{0BCD}") {
684                 break 'lab14;
685             }
686             // among, line 148
687             if env.find_among_b(A_4, context) == 0 {
688                 break 'lab14;
689             }
690             // ], line 148
691             env.bra = env.cursor;
692             // delete, line 148
693             if !env.slice_del() {
694                 return false;
695             }
696             break 'lab0;
697         }
698         env.cursor = env.limit - v_1;
699         'lab15: loop {
700             // (, line 150
701             // [, line 150
702             env.ket = env.cursor;
703             // literal, line 150
704             if !env.eq_s_b(&"\u{0BC1}\u{0B95}\u{0BCD}") {
705                 break 'lab15;
706             }
707             // ], line 150
708             env.bra = env.cursor;
709             // <-, line 150
710             if !env.slice_from("\u{0BCD}") {
711                 return false;
712             }
713             break 'lab0;
714         }
715         env.cursor = env.limit - v_1;
716         'lab16: loop {
717             // (, line 152
718             // [, line 152
719             env.ket = env.cursor;
720             // literal, line 152
721             if !env.eq_s_b(&"\u{0BCD}") {
722                 break 'lab16;
723             }
724             // among, line 152
725             if env.find_among_b(A_5, context) == 0 {
726                 break 'lab16;
727             }
728             // ], line 152
729             env.bra = env.cursor;
730             // delete, line 152
731             if !env.slice_del() {
732                 return false;
733             }
734             break 'lab0;
735         }
736         env.cursor = env.limit - v_1;
737         'lab17: loop {
738             // (, line 154
739             // [, line 154
740             env.ket = env.cursor;
741             // literal, line 154
742             if !env.eq_s_b(&"\u{0BCD}") {
743                 break 'lab17;
744             }
745             // (, line 154
746             // or, line 154
747             'lab18: loop {
748                 let v_7 = env.limit - env.cursor;
749                 'lab19: loop {
750                     // among, line 154
751                     if env.find_among_b(A_6, context) == 0 {
752                         break 'lab19;
753                     }
754                     break 'lab18;
755                 }
756                 env.cursor = env.limit - v_7;
757                 // among, line 154
758                 if env.find_among_b(A_7, context) == 0 {
759                     break 'lab17;
760                 }
761                 break 'lab18;
762             }
763             // literal, line 154
764             if !env.eq_s_b(&"\u{0BCD}") {
765                 break 'lab17;
766             }
767             // ], line 154
768             env.bra = env.cursor;
769             // <-, line 154
770             if !env.slice_from("\u{0BCD}") {
771                 return false;
772             }
773             break 'lab0;
774         }
775         env.cursor = env.limit - v_1;
776         'lab20: loop {
777             // (, line 156
778             // [, line 156
779             env.ket = env.cursor;
780             // among, line 156
781             if env.find_among_b(A_8, context) == 0 {
782                 break 'lab20;
783             }
784             // ], line 156
785             env.bra = env.cursor;
786             // delete, line 156
787             if !env.slice_del() {
788                 return false;
789             }
790             break 'lab0;
791         }
792         env.cursor = env.limit - v_1;
793         'lab21: loop {
794             // (, line 158
795             // [, line 158
796             env.ket = env.cursor;
797             // literal, line 158
798             if !env.eq_s_b(&"\u{0BA9}\u{0BC1}") {
799                 break 'lab21;
800             }
801             // (, line 158
802             // test, line 158
803             let v_8 = env.limit - env.cursor;
804             // not, line 158
805             let v_9 = env.limit - env.cursor;
806             'lab22: loop {
807                 // among, line 158
808                 if env.find_among_b(A_9, context) == 0 {
809                     break 'lab22;
810                 }
811                 break 'lab21;
812             }
813             env.cursor = env.limit - v_9;
814             env.cursor = env.limit - v_8;
815             // ], line 158
816             env.bra = env.cursor;
817             // delete, line 158
818             if !env.slice_del() {
819                 return false;
820             }
821             break 'lab0;
822         }
823         env.cursor = env.limit - v_1;
824         'lab23: loop {
825             // (, line 160
826             // [, line 160
827             env.ket = env.cursor;
828             // literal, line 160
829             if !env.eq_s_b(&"\u{0B99}\u{0BCD}") {
830                 break 'lab23;
831             }
832             // (, line 160
833             // test, line 160
834             let v_10 = env.limit - env.cursor;
835             // not, line 160
836             let v_11 = env.limit - env.cursor;
837             'lab24: loop {
838                 // literal, line 160
839                 if !env.eq_s_b(&"\u{0BC8}") {
840                     break 'lab24;
841                 }
842                 break 'lab23;
843             }
844             env.cursor = env.limit - v_11;
845             env.cursor = env.limit - v_10;
846             // ], line 160
847             env.bra = env.cursor;
848             // <-, line 160
849             if !env.slice_from("\u{0BAE}\u{0BCD}") {
850                 return false;
851             }
852             break 'lab0;
853         }
854         env.cursor = env.limit - v_1;
855         'lab25: loop {
856             // (, line 162
857             // [, line 162
858             env.ket = env.cursor;
859             // literal, line 162
860             if !env.eq_s_b(&"\u{0B99}\u{0BCD}") {
861                 break 'lab25;
862             }
863             // ], line 162
864             env.bra = env.cursor;
865             // delete, line 162
866             if !env.slice_del() {
867                 return false;
868             }
869             break 'lab0;
870         }
871         env.cursor = env.limit - v_1;
872         // (, line 164
873         // [, line 164
874         env.ket = env.cursor;
875         // literal, line 164
876         if !env.eq_s_b(&"\u{0BCD}") {
877             return false;
878         }
879         // (, line 164
880         // test, line 164
881         let v_12 = env.limit - env.cursor;
882         // (, line 164
883         // or, line 164
884         'lab26: loop {
885             let v_13 = env.limit - env.cursor;
886             'lab27: loop {
887                 // among, line 164
888                 if env.find_among_b(A_10, context) == 0 {
889                     break 'lab27;
890                 }
891                 break 'lab26;
892             }
893             env.cursor = env.limit - v_13;
894             // literal, line 164
895             if !env.eq_s_b(&"\u{0BCD}") {
896                 return false;
897             }
898             break 'lab26;
899         }
900         env.cursor = env.limit - v_12;
901         // ], line 164
902         env.bra = env.cursor;
903         // delete, line 164
904         if !env.slice_del() {
905             return false;
906         }
907         break 'lab0;
908     }
909     env.cursor = env.limit_backward;
910     // set found_wrong_ending, line 167
911     context.b_found_wrong_ending = true;
912     return true;
913 }
914 
r_remove_pronoun_prefixes(env: &mut SnowballEnv, context: &mut Context) -> bool915 fn r_remove_pronoun_prefixes(env: &mut SnowballEnv, context: &mut Context) -> bool {
916     // (, line 170
917     // unset found_a_match, line 171
918     context.b_found_a_match = false;
919     // [, line 172
920     env.bra = env.cursor;
921     // among, line 172
922     if env.find_among(A_11, context) == 0 {
923         return false;
924     }
925     // among, line 172
926     if env.find_among(A_12, context) == 0 {
927         return false;
928     }
929     // literal, line 172
930     if !env.eq_s(&"\u{0BCD}") {
931         return false;
932     }
933     // ], line 172
934     env.ket = env.cursor;
935     // delete, line 172
936     if !env.slice_del() {
937         return false;
938     }
939     // (, line 173
940     // set found_a_match, line 173
941     context.b_found_a_match = true;
942     // do, line 174
943     let v_1 = env.cursor;
944     'lab0: loop {
945         // call fix_va_start, line 174
946         if !r_fix_va_start(env, context) {
947             break 'lab0;
948         }
949         break 'lab0;
950     }
951     env.cursor = v_1;
952     return true;
953 }
954 
r_remove_plural_suffix(env: &mut SnowballEnv, context: &mut Context) -> bool955 fn r_remove_plural_suffix(env: &mut SnowballEnv, context: &mut Context) -> bool {
956     // (, line 177
957     // unset found_a_match, line 178
958     context.b_found_a_match = false;
959     // backwards, line 179
960     env.limit_backward = env.cursor;
961     env.cursor = env.limit;
962     // (, line 179
963     // or, line 180
964     'lab0: loop {
965         let v_1 = env.limit - env.cursor;
966         'lab1: loop {
967             // (, line 180
968             // [, line 180
969             env.ket = env.cursor;
970             // literal, line 180
971             if !env.eq_s_b(&"\u{0BC1}\u{0B99}\u{0BCD}\u{0B95}\u{0BB3}\u{0BCD}") {
972                 break 'lab1;
973             }
974             // (, line 180
975             // test, line 180
976             let v_2 = env.limit - env.cursor;
977             // not, line 180
978             let v_3 = env.limit - env.cursor;
979             'lab2: loop {
980                 // among, line 180
981                 if env.find_among_b(A_13, context) == 0 {
982                     break 'lab2;
983                 }
984                 break 'lab1;
985             }
986             env.cursor = env.limit - v_3;
987             env.cursor = env.limit - v_2;
988             // ], line 180
989             env.bra = env.cursor;
990             // <-, line 180
991             if !env.slice_from("\u{0BCD}") {
992                 return false;
993             }
994             break 'lab0;
995         }
996         env.cursor = env.limit - v_1;
997         'lab3: loop {
998             // (, line 181
999             // [, line 181
1000             env.ket = env.cursor;
1001             // literal, line 181
1002             if !env.eq_s_b(&"\u{0BB1}\u{0BCD}\u{0B95}\u{0BB3}\u{0BCD}") {
1003                 break 'lab3;
1004             }
1005             // ], line 181
1006             env.bra = env.cursor;
1007             // <-, line 181
1008             if !env.slice_from("\u{0BB2}\u{0BCD}") {
1009                 return false;
1010             }
1011             break 'lab0;
1012         }
1013         env.cursor = env.limit - v_1;
1014         'lab4: loop {
1015             // (, line 182
1016             // [, line 182
1017             env.ket = env.cursor;
1018             // literal, line 182
1019             if !env.eq_s_b(&"\u{0B9F}\u{0BCD}\u{0B95}\u{0BB3}\u{0BCD}") {
1020                 break 'lab4;
1021             }
1022             // ], line 182
1023             env.bra = env.cursor;
1024             // <-, line 182
1025             if !env.slice_from("\u{0BB3}\u{0BCD}") {
1026                 return false;
1027             }
1028             break 'lab0;
1029         }
1030         env.cursor = env.limit - v_1;
1031         // (, line 183
1032         // [, line 183
1033         env.ket = env.cursor;
1034         // literal, line 183
1035         if !env.eq_s_b(&"\u{0B95}\u{0BB3}\u{0BCD}") {
1036             return false;
1037         }
1038         // ], line 183
1039         env.bra = env.cursor;
1040         // delete, line 183
1041         if !env.slice_del() {
1042             return false;
1043         }
1044         break 'lab0;
1045     }
1046     // (, line 184
1047     // set found_a_match, line 184
1048     context.b_found_a_match = true;
1049     env.cursor = env.limit_backward;
1050     return true;
1051 }
1052 
r_remove_question_suffixes(env: &mut SnowballEnv, context: &mut Context) -> bool1053 fn r_remove_question_suffixes(env: &mut SnowballEnv, context: &mut Context) -> bool {
1054     // (, line 188
1055     // call has_min_length, line 189
1056     if !r_has_min_length(env, context) {
1057         return false;
1058     }
1059     // unset found_a_match, line 190
1060     context.b_found_a_match = false;
1061     // backwards, line 191
1062     env.limit_backward = env.cursor;
1063     env.cursor = env.limit;
1064     // (, line 191
1065     // do, line 192
1066     let v_1 = env.limit - env.cursor;
1067     'lab0: loop {
1068         // (, line 192
1069         // [, line 193
1070         env.ket = env.cursor;
1071         // among, line 193
1072         if env.find_among_b(A_14, context) == 0 {
1073             break 'lab0;
1074         }
1075         // ], line 193
1076         env.bra = env.cursor;
1077         // <-, line 193
1078         if !env.slice_from("\u{0BCD}") {
1079             return false;
1080         }
1081         // (, line 194
1082         // set found_a_match, line 194
1083         context.b_found_a_match = true;
1084         break 'lab0;
1085     }
1086     env.cursor = env.limit - v_1;
1087     env.cursor = env.limit_backward;
1088     // do, line 197
1089     let v_2 = env.cursor;
1090     'lab1: loop {
1091         // call fix_endings, line 197
1092         if !r_fix_endings(env, context) {
1093             break 'lab1;
1094         }
1095         break 'lab1;
1096     }
1097     env.cursor = v_2;
1098     return true;
1099 }
1100 
r_remove_command_suffixes(env: &mut SnowballEnv, context: &mut Context) -> bool1101 fn r_remove_command_suffixes(env: &mut SnowballEnv, context: &mut Context) -> bool {
1102     // (, line 200
1103     // call has_min_length, line 201
1104     if !r_has_min_length(env, context) {
1105         return false;
1106     }
1107     // unset found_a_match, line 202
1108     context.b_found_a_match = false;
1109     // backwards, line 203
1110     env.limit_backward = env.cursor;
1111     env.cursor = env.limit;
1112     // (, line 203
1113     // [, line 204
1114     env.ket = env.cursor;
1115     // among, line 204
1116     if env.find_among_b(A_15, context) == 0 {
1117         return false;
1118     }
1119     // ], line 204
1120     env.bra = env.cursor;
1121     // delete, line 204
1122     if !env.slice_del() {
1123         return false;
1124     }
1125     // (, line 205
1126     // set found_a_match, line 205
1127     context.b_found_a_match = true;
1128     env.cursor = env.limit_backward;
1129     return true;
1130 }
1131 
r_remove_um(env: &mut SnowballEnv, context: &mut Context) -> bool1132 fn r_remove_um(env: &mut SnowballEnv, context: &mut Context) -> bool {
1133     // (, line 209
1134     // unset found_a_match, line 210
1135     context.b_found_a_match = false;
1136     // call has_min_length, line 211
1137     if !r_has_min_length(env, context) {
1138         return false;
1139     }
1140     // backwards, line 212
1141     env.limit_backward = env.cursor;
1142     env.cursor = env.limit;
1143     // (, line 212
1144     // [, line 212
1145     env.ket = env.cursor;
1146     // literal, line 212
1147     if !env.eq_s_b(&"\u{0BC1}\u{0BAE}\u{0BCD}") {
1148         return false;
1149     }
1150     // ], line 212
1151     env.bra = env.cursor;
1152     // <-, line 212
1153     if !env.slice_from("\u{0BCD}") {
1154         return false;
1155     }
1156     // (, line 213
1157     // set found_a_match, line 213
1158     context.b_found_a_match = true;
1159     env.cursor = env.limit_backward;
1160     // do, line 215
1161     let v_1 = env.cursor;
1162     'lab0: loop {
1163         // call fix_ending, line 215
1164         if !r_fix_ending(env, context) {
1165             break 'lab0;
1166         }
1167         break 'lab0;
1168     }
1169     env.cursor = v_1;
1170     return true;
1171 }
1172 
r_remove_common_word_endings(env: &mut SnowballEnv, context: &mut Context) -> bool1173 fn r_remove_common_word_endings(env: &mut SnowballEnv, context: &mut Context) -> bool {
1174     // (, line 218
1175     // unset found_a_match, line 222
1176     context.b_found_a_match = false;
1177     // call has_min_length, line 223
1178     if !r_has_min_length(env, context) {
1179         return false;
1180     }
1181     // backwards, line 224
1182     env.limit_backward = env.cursor;
1183     env.cursor = env.limit;
1184     // (, line 224
1185     // or, line 241
1186     'lab0: loop {
1187         let v_1 = env.limit - env.cursor;
1188         'lab1: loop {
1189             // test, line 225
1190             let v_2 = env.limit - env.cursor;
1191             // (, line 225
1192             // [, line 225
1193             env.ket = env.cursor;
1194             // or, line 225
1195             'lab2: loop {
1196                 let v_3 = env.limit - env.cursor;
1197                 'lab3: loop {
1198                     // literal, line 225
1199                     if !env.eq_s_b(&"\u{0BC1}\u{0B9F}\u{0BA9}\u{0BCD}") {
1200                         break 'lab3;
1201                     }
1202                     break 'lab2;
1203                 }
1204                 env.cursor = env.limit - v_3;
1205                 'lab4: loop {
1206                     // literal, line 226
1207                     if !env.eq_s_b(&"\u{0BBF}\u{0BB2}\u{0BCD}\u{0BB2}\u{0BC8}") {
1208                         break 'lab4;
1209                     }
1210                     break 'lab2;
1211                 }
1212                 env.cursor = env.limit - v_3;
1213                 'lab5: loop {
1214                     // literal, line 227
1215                     if !env.eq_s_b(&"\u{0BBF}\u{0B9F}\u{0BAE}\u{0BCD}") {
1216                         break 'lab5;
1217                     }
1218                     break 'lab2;
1219                 }
1220                 env.cursor = env.limit - v_3;
1221                 'lab6: loop {
1222                     // literal, line 228
1223                     if !env.eq_s_b(&"\u{0BBF}\u{0BA9}\u{0BCD}\u{0BB1}\u{0BBF}") {
1224                         break 'lab6;
1225                     }
1226                     break 'lab2;
1227                 }
1228                 env.cursor = env.limit - v_3;
1229                 'lab7: loop {
1230                     // literal, line 229
1231                     if !env.eq_s_b(&"\u{0BBE}\u{0B95}\u{0BBF}") {
1232                         break 'lab7;
1233                     }
1234                     break 'lab2;
1235                 }
1236                 env.cursor = env.limit - v_3;
1237                 'lab8: loop {
1238                     // literal, line 230
1239                     if !env.eq_s_b(&"\u{0BBE}\u{0B95}\u{0BBF}\u{0BAF}") {
1240                         break 'lab8;
1241                     }
1242                     break 'lab2;
1243                 }
1244                 env.cursor = env.limit - v_3;
1245                 'lab9: loop {
1246                     // literal, line 231
1247                     if !env.eq_s_b(&"\u{0BC6}\u{0BA9}\u{0BCD}\u{0BB1}\u{0BC1}") {
1248                         break 'lab9;
1249                     }
1250                     break 'lab2;
1251                 }
1252                 env.cursor = env.limit - v_3;
1253                 'lab10: loop {
1254                     // literal, line 232
1255                     if !env.eq_s_b(&"\u{0BC1}\u{0BB3}\u{0BCD}\u{0BB3}") {
1256                         break 'lab10;
1257                     }
1258                     break 'lab2;
1259                 }
1260                 env.cursor = env.limit - v_3;
1261                 'lab11: loop {
1262                     // literal, line 233
1263                     if !env.eq_s_b(&"\u{0BC1}\u{0B9F}\u{0BC8}\u{0BAF}") {
1264                         break 'lab11;
1265                     }
1266                     break 'lab2;
1267                 }
1268                 env.cursor = env.limit - v_3;
1269                 'lab12: loop {
1270                     // literal, line 234
1271                     if !env.eq_s_b(&"\u{0BC1}\u{0B9F}\u{0BC8}") {
1272                         break 'lab12;
1273                     }
1274                     break 'lab2;
1275                 }
1276                 env.cursor = env.limit - v_3;
1277                 'lab13: loop {
1278                     // literal, line 235
1279                     if !env.eq_s_b(&"\u{0BC6}\u{0BA9}\u{0BC1}\u{0BAE}\u{0BCD}") {
1280                         break 'lab13;
1281                     }
1282                     break 'lab2;
1283                 }
1284                 env.cursor = env.limit - v_3;
1285                 'lab14: loop {
1286                     // (, line 236
1287                     // literal, line 236
1288                     if !env.eq_s_b(&"\u{0BB2}\u{0BCD}\u{0BB2}") {
1289                         break 'lab14;
1290                     }
1291                     // test, line 236
1292                     let v_4 = env.limit - env.cursor;
1293                     // (, line 236
1294                     // not, line 236
1295                     let v_5 = env.limit - env.cursor;
1296                     'lab15: loop {
1297                         // among, line 236
1298                         if env.find_among_b(A_16, context) == 0 {
1299                             break 'lab15;
1300                         }
1301                         break 'lab14;
1302                     }
1303                     env.cursor = env.limit - v_5;
1304                     env.cursor = env.limit - v_4;
1305                     break 'lab2;
1306                 }
1307                 env.cursor = env.limit - v_3;
1308                 'lab16: loop {
1309                     // literal, line 237
1310                     if !env.eq_s_b(&"\u{0BC6}\u{0BA9}") {
1311                         break 'lab16;
1312                     }
1313                     break 'lab2;
1314                 }
1315                 env.cursor = env.limit - v_3;
1316                 // literal, line 238
1317                 if !env.eq_s_b(&"\u{0BBE}\u{0B95}\u{0BBF}") {
1318                     break 'lab1;
1319                 }
1320                 break 'lab2;
1321             }
1322             // ], line 238
1323             env.bra = env.cursor;
1324             // <-, line 238
1325             if !env.slice_from("\u{0BCD}") {
1326                 return false;
1327             }
1328             // (, line 239
1329             // set found_a_match, line 239
1330             context.b_found_a_match = true;
1331             env.cursor = env.limit - v_2;
1332             break 'lab0;
1333         }
1334         env.cursor = env.limit - v_1;
1335         // test, line 242
1336         let v_6 = env.limit - env.cursor;
1337         // (, line 242
1338         // [, line 242
1339         env.ket = env.cursor;
1340         // among, line 242
1341         if env.find_among_b(A_17, context) == 0 {
1342             return false;
1343         }
1344         // ], line 255
1345         env.bra = env.cursor;
1346         // delete, line 255
1347         if !env.slice_del() {
1348             return false;
1349         }
1350         // (, line 256
1351         // set found_a_match, line 256
1352         context.b_found_a_match = true;
1353         env.cursor = env.limit - v_6;
1354         break 'lab0;
1355     }
1356     env.cursor = env.limit_backward;
1357     // do, line 259
1358     let v_7 = env.cursor;
1359     'lab17: loop {
1360         // call fix_endings, line 259
1361         if !r_fix_endings(env, context) {
1362             break 'lab17;
1363         }
1364         break 'lab17;
1365     }
1366     env.cursor = v_7;
1367     return true;
1368 }
1369 
r_remove_vetrumai_urupukal(env: &mut SnowballEnv, context: &mut Context) -> bool1370 fn r_remove_vetrumai_urupukal(env: &mut SnowballEnv, context: &mut Context) -> bool {
1371     // (, line 262
1372     // unset found_a_match, line 263
1373     context.b_found_a_match = false;
1374     // unset found_vetrumai_urupu, line 264
1375     context.b_found_vetrumai_urupu = false;
1376     // call has_min_length, line 265
1377     if !r_has_min_length(env, context) {
1378         return false;
1379     }
1380     // backwards, line 266
1381     env.limit_backward = env.cursor;
1382     env.cursor = env.limit;
1383     // (, line 266
1384     // (, line 267
1385     // or, line 269
1386     'lab0: loop {
1387         let v_1 = env.limit - env.cursor;
1388         'lab1: loop {
1389             // test, line 268
1390             let v_2 = env.limit - env.cursor;
1391             // (, line 268
1392             // [, line 268
1393             env.ket = env.cursor;
1394             // literal, line 268
1395             if !env.eq_s_b(&"\u{0BA9}\u{0BC8}") {
1396                 break 'lab1;
1397             }
1398             // ], line 268
1399             env.bra = env.cursor;
1400             // delete, line 268
1401             if !env.slice_del() {
1402                 return false;
1403             }
1404             env.cursor = env.limit - v_2;
1405             break 'lab0;
1406         }
1407         env.cursor = env.limit - v_1;
1408         'lab2: loop {
1409             // test, line 270
1410             let v_3 = env.limit - env.cursor;
1411             // (, line 270
1412             // [, line 270
1413             env.ket = env.cursor;
1414             // or, line 271
1415             'lab3: loop {
1416                 let v_4 = env.limit - env.cursor;
1417                 'lab4: loop {
1418                     // (, line 270
1419                     // or, line 270
1420                     'lab5: loop {
1421                         let v_5 = env.limit - env.cursor;
1422                         'lab6: loop {
1423                             // literal, line 270
1424                             if !env.eq_s_b(&"\u{0BBF}\u{0BA9}\u{0BC8}") {
1425                                 break 'lab6;
1426                             }
1427                             break 'lab5;
1428                         }
1429                         env.cursor = env.limit - v_5;
1430                         // literal, line 271
1431                         if !env.eq_s_b(&"\u{0BC8}") {
1432                             break 'lab4;
1433                         }
1434                         break 'lab5;
1435                     }
1436                     // (, line 271
1437                     // test, line 271
1438                     let v_6 = env.limit - env.cursor;
1439                     // not, line 271
1440                     let v_7 = env.limit - env.cursor;
1441                     'lab7: loop {
1442                         // among, line 271
1443                         if env.find_among_b(A_18, context) == 0 {
1444                             break 'lab7;
1445                         }
1446                         break 'lab4;
1447                     }
1448                     env.cursor = env.limit - v_7;
1449                     env.cursor = env.limit - v_6;
1450                     break 'lab3;
1451                 }
1452                 env.cursor = env.limit - v_4;
1453                 // (, line 272
1454                 // literal, line 272
1455                 if !env.eq_s_b(&"\u{0BC8}") {
1456                     break 'lab2;
1457                 }
1458                 // (, line 272
1459                 // test, line 272
1460                 let v_8 = env.limit - env.cursor;
1461                 // (, line 272
1462                 // among, line 272
1463                 if env.find_among_b(A_19, context) == 0 {
1464                     break 'lab2;
1465                 }
1466                 // literal, line 272
1467                 if !env.eq_s_b(&"\u{0BCD}") {
1468                     break 'lab2;
1469                 }
1470                 env.cursor = env.limit - v_8;
1471                 break 'lab3;
1472             }
1473             // ], line 273
1474             env.bra = env.cursor;
1475             // <-, line 273
1476             if !env.slice_from("\u{0BCD}") {
1477                 return false;
1478             }
1479             env.cursor = env.limit - v_3;
1480             break 'lab0;
1481         }
1482         env.cursor = env.limit - v_1;
1483         'lab8: loop {
1484             // test, line 276
1485             let v_9 = env.limit - env.cursor;
1486             // (, line 276
1487             // [, line 276
1488             env.ket = env.cursor;
1489             // or, line 277
1490             'lab9: loop {
1491                 let v_10 = env.limit - env.cursor;
1492                 'lab10: loop {
1493                     // literal, line 277
1494                     if !env.eq_s_b(&"\u{0BCA}\u{0B9F}\u{0BC1}") {
1495                         break 'lab10;
1496                     }
1497                     break 'lab9;
1498                 }
1499                 env.cursor = env.limit - v_10;
1500                 'lab11: loop {
1501                     // literal, line 278
1502                     if !env.eq_s_b(&"\u{0BCB}\u{0B9F}\u{0BC1}") {
1503                         break 'lab11;
1504                     }
1505                     break 'lab9;
1506                 }
1507                 env.cursor = env.limit - v_10;
1508                 'lab12: loop {
1509                     // literal, line 279
1510                     if !env.eq_s_b(&"\u{0BBF}\u{0BB2}\u{0BCD}") {
1511                         break 'lab12;
1512                     }
1513                     break 'lab9;
1514                 }
1515                 env.cursor = env.limit - v_10;
1516                 'lab13: loop {
1517                     // literal, line 280
1518                     if !env.eq_s_b(&"\u{0BBF}\u{0BB1}\u{0BCD}") {
1519                         break 'lab13;
1520                     }
1521                     break 'lab9;
1522                 }
1523                 env.cursor = env.limit - v_10;
1524                 'lab14: loop {
1525                     // (, line 281
1526                     // literal, line 281
1527                     if !env.eq_s_b(&"\u{0BBF}\u{0BA9}\u{0BCD}") {
1528                         break 'lab14;
1529                     }
1530                     // (, line 281
1531                     // test, line 281
1532                     let v_11 = env.limit - env.cursor;
1533                     // not, line 281
1534                     let v_12 = env.limit - env.cursor;
1535                     'lab15: loop {
1536                         // literal, line 281
1537                         if !env.eq_s_b(&"\u{0BAE}") {
1538                             break 'lab15;
1539                         }
1540                         break 'lab14;
1541                     }
1542                     env.cursor = env.limit - v_12;
1543                     env.cursor = env.limit - v_11;
1544                     break 'lab9;
1545                 }
1546                 env.cursor = env.limit - v_10;
1547                 'lab16: loop {
1548                     // literal, line 282
1549                     if !env.eq_s_b(&"\u{0BBF}\u{0BA9}\u{0BCD}\u{0BB1}\u{0BC1}") {
1550                         break 'lab16;
1551                     }
1552                     break 'lab9;
1553                 }
1554                 env.cursor = env.limit - v_10;
1555                 'lab17: loop {
1556                     // literal, line 283
1557                     if !env.eq_s_b(&"\u{0BBF}\u{0BB0}\u{0BC1}\u{0BA8}\u{0BCD}\u{0BA4}\u{0BC1}") {
1558                         break 'lab17;
1559                     }
1560                     break 'lab9;
1561                 }
1562                 env.cursor = env.limit - v_10;
1563                 'lab18: loop {
1564                     // literal, line 284
1565                     if !env.eq_s_b(&"\u{0BB5}\u{0BBF}\u{0B9F}") {
1566                         break 'lab18;
1567                     }
1568                     break 'lab9;
1569                 }
1570                 env.cursor = env.limit - v_10;
1571                 'lab19: loop {
1572                     // (, line 285
1573                     if !(context.i_length >= 7){
1574                         break 'lab19;
1575                     }
1576                     // literal, line 285
1577                     if !env.eq_s_b(&"\u{0BBF}\u{0B9F}\u{0BAE}\u{0BCD}") {
1578                         break 'lab19;
1579                     }
1580                     break 'lab9;
1581                 }
1582                 env.cursor = env.limit - v_10;
1583                 'lab20: loop {
1584                     // literal, line 286
1585                     if !env.eq_s_b(&"\u{0BBE}\u{0BB2}\u{0BCD}") {
1586                         break 'lab20;
1587                     }
1588                     break 'lab9;
1589                 }
1590                 env.cursor = env.limit - v_10;
1591                 'lab21: loop {
1592                     // literal, line 287
1593                     if !env.eq_s_b(&"\u{0BC1}\u{0B9F}\u{0BC8}") {
1594                         break 'lab21;
1595                     }
1596                     break 'lab9;
1597                 }
1598                 env.cursor = env.limit - v_10;
1599                 'lab22: loop {
1600                     // literal, line 288
1601                     if !env.eq_s_b(&"\u{0BBE}\u{0BAE}\u{0BB2}\u{0BCD}") {
1602                         break 'lab22;
1603                     }
1604                     break 'lab9;
1605                 }
1606                 env.cursor = env.limit - v_10;
1607                 'lab23: loop {
1608                     // (, line 289
1609                     // literal, line 289
1610                     if !env.eq_s_b(&"\u{0BB2}\u{0BCD}") {
1611                         break 'lab23;
1612                     }
1613                     // (, line 289
1614                     // test, line 289
1615                     let v_13 = env.limit - env.cursor;
1616                     // not, line 289
1617                     let v_14 = env.limit - env.cursor;
1618                     'lab24: loop {
1619                         // among, line 289
1620                         if env.find_among_b(A_20, context) == 0 {
1621                             break 'lab24;
1622                         }
1623                         break 'lab23;
1624                     }
1625                     env.cursor = env.limit - v_14;
1626                     env.cursor = env.limit - v_13;
1627                     break 'lab9;
1628                 }
1629                 env.cursor = env.limit - v_10;
1630                 // literal, line 290
1631                 if !env.eq_s_b(&"\u{0BC1}\u{0BB3}\u{0BCD}") {
1632                     break 'lab8;
1633                 }
1634                 break 'lab9;
1635             }
1636             // ], line 291
1637             env.bra = env.cursor;
1638             // <-, line 291
1639             if !env.slice_from("\u{0BCD}") {
1640                 return false;
1641             }
1642             env.cursor = env.limit - v_9;
1643             break 'lab0;
1644         }
1645         env.cursor = env.limit - v_1;
1646         'lab25: loop {
1647             // test, line 294
1648             let v_15 = env.limit - env.cursor;
1649             // (, line 294
1650             // [, line 294
1651             env.ket = env.cursor;
1652             // or, line 295
1653             'lab26: loop {
1654                 let v_16 = env.limit - env.cursor;
1655                 'lab27: loop {
1656                     // literal, line 295
1657                     if !env.eq_s_b(&"\u{0B95}\u{0BA3}\u{0BCD}") {
1658                         break 'lab27;
1659                     }
1660                     break 'lab26;
1661                 }
1662                 env.cursor = env.limit - v_16;
1663                 'lab28: loop {
1664                     // literal, line 296
1665                     if !env.eq_s_b(&"\u{0BAE}\u{0BC1}\u{0BA9}\u{0BCD}") {
1666                         break 'lab28;
1667                     }
1668                     break 'lab26;
1669                 }
1670                 env.cursor = env.limit - v_16;
1671                 'lab29: loop {
1672                     // literal, line 297
1673                     if !env.eq_s_b(&"\u{0BAE}\u{0BC7}\u{0BB2}\u{0BCD}") {
1674                         break 'lab29;
1675                     }
1676                     break 'lab26;
1677                 }
1678                 env.cursor = env.limit - v_16;
1679                 'lab30: loop {
1680                     // literal, line 298
1681                     if !env.eq_s_b(&"\u{0BAE}\u{0BC7}\u{0BB1}\u{0BCD}") {
1682                         break 'lab30;
1683                     }
1684                     break 'lab26;
1685                 }
1686                 env.cursor = env.limit - v_16;
1687                 'lab31: loop {
1688                     // literal, line 299
1689                     if !env.eq_s_b(&"\u{0B95}\u{0BC0}\u{0BB4}\u{0BCD}") {
1690                         break 'lab31;
1691                     }
1692                     break 'lab26;
1693                 }
1694                 env.cursor = env.limit - v_16;
1695                 'lab32: loop {
1696                     // literal, line 300
1697                     if !env.eq_s_b(&"\u{0BAA}\u{0BBF}\u{0BA9}\u{0BCD}") {
1698                         break 'lab32;
1699                     }
1700                     break 'lab26;
1701                 }
1702                 env.cursor = env.limit - v_16;
1703                 // (, line 301
1704                 // literal, line 301
1705                 if !env.eq_s_b(&"\u{0BA4}\u{0BC1}") {
1706                     break 'lab25;
1707                 }
1708                 // (, line 301
1709                 // test, line 301
1710                 let v_17 = env.limit - env.cursor;
1711                 // not, line 301
1712                 let v_18 = env.limit - env.cursor;
1713                 'lab33: loop {
1714                     // among, line 301
1715                     if env.find_among_b(A_21, context) == 0 {
1716                         break 'lab33;
1717                     }
1718                     break 'lab25;
1719                 }
1720                 env.cursor = env.limit - v_18;
1721                 env.cursor = env.limit - v_17;
1722                 break 'lab26;
1723             }
1724             // ], line 302
1725             env.bra = env.cursor;
1726             // delete, line 302
1727             if !env.slice_del() {
1728                 return false;
1729             }
1730             env.cursor = env.limit - v_15;
1731             break 'lab0;
1732         }
1733         env.cursor = env.limit - v_1;
1734         // test, line 305
1735         let v_19 = env.limit - env.cursor;
1736         // (, line 305
1737         // [, line 305
1738         env.ket = env.cursor;
1739         // literal, line 305
1740         if !env.eq_s_b(&"\u{0BC0}") {
1741             return false;
1742         }
1743         // ], line 305
1744         env.bra = env.cursor;
1745         // <-, line 305
1746         if !env.slice_from("\u{0BBF}") {
1747             return false;
1748         }
1749         env.cursor = env.limit - v_19;
1750         break 'lab0;
1751     }
1752     // (, line 307
1753     // set found_a_match, line 307
1754     context.b_found_a_match = true;
1755     // (, line 308
1756     // set found_vetrumai_urupu, line 308
1757     context.b_found_vetrumai_urupu = true;
1758     // do, line 309
1759     let v_20 = env.limit - env.cursor;
1760     'lab34: loop {
1761         // (, line 309
1762         // [, line 309
1763         env.ket = env.cursor;
1764         // literal, line 309
1765         if !env.eq_s_b(&"\u{0BBF}\u{0BA9}\u{0BCD}") {
1766             break 'lab34;
1767         }
1768         // ], line 309
1769         env.bra = env.cursor;
1770         // <-, line 309
1771         if !env.slice_from("\u{0BCD}") {
1772             return false;
1773         }
1774         break 'lab34;
1775     }
1776     env.cursor = env.limit - v_20;
1777     env.cursor = env.limit_backward;
1778     // do, line 311
1779     let v_21 = env.cursor;
1780     'lab35: loop {
1781         // call fix_endings, line 311
1782         if !r_fix_endings(env, context) {
1783             break 'lab35;
1784         }
1785         break 'lab35;
1786     }
1787     env.cursor = v_21;
1788     return true;
1789 }
1790 
r_remove_tense_suffixes(env: &mut SnowballEnv, context: &mut Context) -> bool1791 fn r_remove_tense_suffixes(env: &mut SnowballEnv, context: &mut Context) -> bool {
1792     // (, line 314
1793     // set found_a_match, line 315
1794     context.b_found_a_match = true;
1795     // repeat, line 316
1796     'replab0: loop{
1797         let v_1 = env.cursor;
1798         'lab1: for _ in 0..1 {
1799             // (, line 316
1800             // Boolean test found_a_match, line 316
1801             if !context.b_found_a_match {
1802                 break 'lab1;
1803             }
1804             // (, line 316
1805             // do, line 316
1806             let v_2 = env.cursor;
1807             'lab2: loop {
1808                 // call remove_tense_suffix, line 316
1809                 if !r_remove_tense_suffix(env, context) {
1810                     break 'lab2;
1811                 }
1812                 break 'lab2;
1813             }
1814             env.cursor = v_2;
1815             continue 'replab0;
1816         }
1817         env.cursor = v_1;
1818         break 'replab0;
1819     }
1820     return true;
1821 }
1822 
r_remove_tense_suffix(env: &mut SnowballEnv, context: &mut Context) -> bool1823 fn r_remove_tense_suffix(env: &mut SnowballEnv, context: &mut Context) -> bool {
1824     // (, line 319
1825     // unset found_a_match, line 320
1826     context.b_found_a_match = false;
1827     // call has_min_length, line 321
1828     if !r_has_min_length(env, context) {
1829         return false;
1830     }
1831     // backwards, line 322
1832     env.limit_backward = env.cursor;
1833     env.cursor = env.limit;
1834     // (, line 322
1835     // do, line 323
1836     let v_1 = env.limit - env.cursor;
1837     'lab0: loop {
1838         // (, line 323
1839         // or, line 330
1840         'lab1: loop {
1841             let v_2 = env.limit - env.cursor;
1842             'lab2: loop {
1843                 // test, line 324
1844                 let v_3 = env.limit - env.cursor;
1845                 // (, line 324
1846                 // [, line 324
1847                 env.ket = env.cursor;
1848                 // among, line 324
1849                 if env.find_among_b(A_22, context) == 0 {
1850                     break 'lab2;
1851                 }
1852                 // ], line 327
1853                 env.bra = env.cursor;
1854                 // delete, line 327
1855                 if !env.slice_del() {
1856                     return false;
1857                 }
1858                 // (, line 328
1859                 // set found_a_match, line 328
1860                 context.b_found_a_match = true;
1861                 env.cursor = env.limit - v_3;
1862                 break 'lab1;
1863             }
1864             env.cursor = env.limit - v_2;
1865             'lab3: loop {
1866                 // test, line 331
1867                 let v_4 = env.limit - env.cursor;
1868                 // (, line 331
1869                 // [, line 331
1870                 env.ket = env.cursor;
1871                 // or, line 332
1872                 'lab4: loop {
1873                     let v_5 = env.limit - env.cursor;
1874                     'lab5: loop {
1875                         // literal, line 332
1876                         if !env.eq_s_b(&"\u{0BAE}\u{0BBE}\u{0BB0}\u{0BCD}") {
1877                             break 'lab5;
1878                         }
1879                         break 'lab4;
1880                     }
1881                     env.cursor = env.limit - v_5;
1882                     'lab6: loop {
1883                         // literal, line 333
1884                         if !env.eq_s_b(&"\u{0BAE}\u{0BBF}\u{0BA9}\u{0BCD}") {
1885                             break 'lab6;
1886                         }
1887                         break 'lab4;
1888                     }
1889                     env.cursor = env.limit - v_5;
1890                     'lab7: loop {
1891                         // literal, line 334
1892                         if !env.eq_s_b(&"\u{0BA9}\u{0BA9}\u{0BCD}") {
1893                             break 'lab7;
1894                         }
1895                         break 'lab4;
1896                     }
1897                     env.cursor = env.limit - v_5;
1898                     'lab8: loop {
1899                         // literal, line 335
1900                         if !env.eq_s_b(&"\u{0BA9}\u{0BBE}\u{0BA9}\u{0BCD}") {
1901                             break 'lab8;
1902                         }
1903                         break 'lab4;
1904                     }
1905                     env.cursor = env.limit - v_5;
1906                     'lab9: loop {
1907                         // literal, line 336
1908                         if !env.eq_s_b(&"\u{0BA9}\u{0BBE}\u{0BB3}\u{0BCD}") {
1909                             break 'lab9;
1910                         }
1911                         break 'lab4;
1912                     }
1913                     env.cursor = env.limit - v_5;
1914                     'lab10: loop {
1915                         // literal, line 337
1916                         if !env.eq_s_b(&"\u{0BA9}\u{0BBE}\u{0BB0}\u{0BCD}") {
1917                             break 'lab10;
1918                         }
1919                         break 'lab4;
1920                     }
1921                     env.cursor = env.limit - v_5;
1922                     'lab11: loop {
1923                         // (, line 338
1924                         // literal, line 338
1925                         if !env.eq_s_b(&"\u{0BB5}\u{0BA9}\u{0BCD}") {
1926                             break 'lab11;
1927                         }
1928                         // test, line 338
1929                         let v_6 = env.limit - env.cursor;
1930                         // (, line 338
1931                         // not, line 338
1932                         let v_7 = env.limit - env.cursor;
1933                         'lab12: loop {
1934                             // among, line 338
1935                             if env.find_among_b(A_23, context) == 0 {
1936                                 break 'lab12;
1937                             }
1938                             break 'lab11;
1939                         }
1940                         env.cursor = env.limit - v_7;
1941                         env.cursor = env.limit - v_6;
1942                         break 'lab4;
1943                     }
1944                     env.cursor = env.limit - v_5;
1945                     'lab13: loop {
1946                         // literal, line 339
1947                         if !env.eq_s_b(&"\u{0BA9}\u{0BB3}\u{0BCD}") {
1948                             break 'lab13;
1949                         }
1950                         break 'lab4;
1951                     }
1952                     env.cursor = env.limit - v_5;
1953                     'lab14: loop {
1954                         // literal, line 340
1955                         if !env.eq_s_b(&"\u{0BB5}\u{0BB3}\u{0BCD}") {
1956                             break 'lab14;
1957                         }
1958                         break 'lab4;
1959                     }
1960                     env.cursor = env.limit - v_5;
1961                     'lab15: loop {
1962                         // literal, line 341
1963                         if !env.eq_s_b(&"\u{0BA9}\u{0BB0}\u{0BCD}") {
1964                             break 'lab15;
1965                         }
1966                         break 'lab4;
1967                     }
1968                     env.cursor = env.limit - v_5;
1969                     'lab16: loop {
1970                         // literal, line 342
1971                         if !env.eq_s_b(&"\u{0BB5}\u{0BB0}\u{0BCD}") {
1972                             break 'lab16;
1973                         }
1974                         break 'lab4;
1975                     }
1976                     env.cursor = env.limit - v_5;
1977                     'lab17: loop {
1978                         // literal, line 343
1979                         if !env.eq_s_b(&"\u{0BA9}") {
1980                             break 'lab17;
1981                         }
1982                         break 'lab4;
1983                     }
1984                     env.cursor = env.limit - v_5;
1985                     'lab18: loop {
1986                         // literal, line 343
1987                         if !env.eq_s_b(&"\u{0BAA}") {
1988                             break 'lab18;
1989                         }
1990                         break 'lab4;
1991                     }
1992                     env.cursor = env.limit - v_5;
1993                     'lab19: loop {
1994                         // literal, line 343
1995                         if !env.eq_s_b(&"\u{0B95}") {
1996                             break 'lab19;
1997                         }
1998                         break 'lab4;
1999                     }
2000                     env.cursor = env.limit - v_5;
2001                     'lab20: loop {
2002                         // literal, line 343
2003                         if !env.eq_s_b(&"\u{0BA4}") {
2004                             break 'lab20;
2005                         }
2006                         break 'lab4;
2007                     }
2008                     env.cursor = env.limit - v_5;
2009                     'lab21: loop {
2010                         // literal, line 343
2011                         if !env.eq_s_b(&"\u{0BAF}") {
2012                             break 'lab21;
2013                         }
2014                         break 'lab4;
2015                     }
2016                     env.cursor = env.limit - v_5;
2017                     'lab22: loop {
2018                         // literal, line 344
2019                         if !env.eq_s_b(&"\u{0BAA}\u{0BA9}\u{0BCD}") {
2020                             break 'lab22;
2021                         }
2022                         break 'lab4;
2023                     }
2024                     env.cursor = env.limit - v_5;
2025                     'lab23: loop {
2026                         // literal, line 345
2027                         if !env.eq_s_b(&"\u{0BAA}\u{0BB3}\u{0BCD}") {
2028                             break 'lab23;
2029                         }
2030                         break 'lab4;
2031                     }
2032                     env.cursor = env.limit - v_5;
2033                     'lab24: loop {
2034                         // literal, line 346
2035                         if !env.eq_s_b(&"\u{0BAA}\u{0BB0}\u{0BCD}") {
2036                             break 'lab24;
2037                         }
2038                         break 'lab4;
2039                     }
2040                     env.cursor = env.limit - v_5;
2041                     'lab25: loop {
2042                         // (, line 347
2043                         // literal, line 347
2044                         if !env.eq_s_b(&"\u{0BA4}\u{0BC1}") {
2045                             break 'lab25;
2046                         }
2047                         // (, line 347
2048                         // test, line 347
2049                         let v_8 = env.limit - env.cursor;
2050                         // not, line 347
2051                         let v_9 = env.limit - env.cursor;
2052                         'lab26: loop {
2053                             // among, line 347
2054                             if env.find_among_b(A_24, context) == 0 {
2055                                 break 'lab26;
2056                             }
2057                             break 'lab25;
2058                         }
2059                         env.cursor = env.limit - v_9;
2060                         env.cursor = env.limit - v_8;
2061                         break 'lab4;
2062                     }
2063                     env.cursor = env.limit - v_5;
2064                     'lab27: loop {
2065                         // literal, line 348
2066                         if !env.eq_s_b(&"\u{0BBF}\u{0BB1}\u{0BCD}\u{0BB1}\u{0BC1}") {
2067                             break 'lab27;
2068                         }
2069                         break 'lab4;
2070                     }
2071                     env.cursor = env.limit - v_5;
2072                     'lab28: loop {
2073                         // literal, line 349
2074                         if !env.eq_s_b(&"\u{0BAA}\u{0BAE}\u{0BCD}") {
2075                             break 'lab28;
2076                         }
2077                         break 'lab4;
2078                     }
2079                     env.cursor = env.limit - v_5;
2080                     'lab29: loop {
2081                         // literal, line 350
2082                         if !env.eq_s_b(&"\u{0BA9}\u{0BAE}\u{0BCD}") {
2083                             break 'lab29;
2084                         }
2085                         break 'lab4;
2086                     }
2087                     env.cursor = env.limit - v_5;
2088                     'lab30: loop {
2089                         // literal, line 351
2090                         if !env.eq_s_b(&"\u{0BA4}\u{0BC1}\u{0BAE}\u{0BCD}") {
2091                             break 'lab30;
2092                         }
2093                         break 'lab4;
2094                     }
2095                     env.cursor = env.limit - v_5;
2096                     'lab31: loop {
2097                         // literal, line 352
2098                         if !env.eq_s_b(&"\u{0BB1}\u{0BC1}\u{0BAE}\u{0BCD}") {
2099                             break 'lab31;
2100                         }
2101                         break 'lab4;
2102                     }
2103                     env.cursor = env.limit - v_5;
2104                     'lab32: loop {
2105                         // literal, line 353
2106                         if !env.eq_s_b(&"\u{0B95}\u{0BC1}\u{0BAE}\u{0BCD}") {
2107                             break 'lab32;
2108                         }
2109                         break 'lab4;
2110                     }
2111                     env.cursor = env.limit - v_5;
2112                     'lab33: loop {
2113                         // literal, line 354
2114                         if !env.eq_s_b(&"\u{0BA9}\u{0BC6}\u{0BA9}\u{0BCD}") {
2115                             break 'lab33;
2116                         }
2117                         break 'lab4;
2118                     }
2119                     env.cursor = env.limit - v_5;
2120                     'lab34: loop {
2121                         // literal, line 355
2122                         if !env.eq_s_b(&"\u{0BA9}\u{0BC8}") {
2123                             break 'lab34;
2124                         }
2125                         break 'lab4;
2126                     }
2127                     env.cursor = env.limit - v_5;
2128                     // literal, line 356
2129                     if !env.eq_s_b(&"\u{0BB5}\u{0BC8}") {
2130                         break 'lab3;
2131                     }
2132                     break 'lab4;
2133                 }
2134                 // ], line 357
2135                 env.bra = env.cursor;
2136                 // delete, line 357
2137                 if !env.slice_del() {
2138                     return false;
2139                 }
2140                 // (, line 358
2141                 // set found_a_match, line 358
2142                 context.b_found_a_match = true;
2143                 env.cursor = env.limit - v_4;
2144                 break 'lab1;
2145             }
2146             env.cursor = env.limit - v_2;
2147             'lab35: loop {
2148                 // test, line 361
2149                 let v_10 = env.limit - env.cursor;
2150                 // (, line 361
2151                 // [, line 361
2152                 env.ket = env.cursor;
2153                 // or, line 362
2154                 'lab36: loop {
2155                     let v_11 = env.limit - env.cursor;
2156                     'lab37: loop {
2157                         // (, line 362
2158                         // literal, line 362
2159                         if !env.eq_s_b(&"\u{0BBE}\u{0BA9}\u{0BCD}") {
2160                             break 'lab37;
2161                         }
2162                         // test, line 362
2163                         let v_12 = env.limit - env.cursor;
2164                         // (, line 362
2165                         // not, line 362
2166                         let v_13 = env.limit - env.cursor;
2167                         'lab38: loop {
2168                             // literal, line 362
2169                             if !env.eq_s_b(&"\u{0B9A}") {
2170                                 break 'lab38;
2171                             }
2172                             break 'lab37;
2173                         }
2174                         env.cursor = env.limit - v_13;
2175                         env.cursor = env.limit - v_12;
2176                         break 'lab36;
2177                     }
2178                     env.cursor = env.limit - v_11;
2179                     'lab39: loop {
2180                         // literal, line 363
2181                         if !env.eq_s_b(&"\u{0BBE}\u{0BB3}\u{0BCD}") {
2182                             break 'lab39;
2183                         }
2184                         break 'lab36;
2185                     }
2186                     env.cursor = env.limit - v_11;
2187                     'lab40: loop {
2188                         // literal, line 364
2189                         if !env.eq_s_b(&"\u{0BBE}\u{0BB0}\u{0BCD}") {
2190                             break 'lab40;
2191                         }
2192                         break 'lab36;
2193                     }
2194                     env.cursor = env.limit - v_11;
2195                     'lab41: loop {
2196                         // literal, line 365
2197                         if !env.eq_s_b(&"\u{0BC7}\u{0BA9}\u{0BCD}") {
2198                             break 'lab41;
2199                         }
2200                         break 'lab36;
2201                     }
2202                     env.cursor = env.limit - v_11;
2203                     'lab42: loop {
2204                         // literal, line 366
2205                         if !env.eq_s_b(&"\u{0BBE}") {
2206                             break 'lab42;
2207                         }
2208                         break 'lab36;
2209                     }
2210                     env.cursor = env.limit - v_11;
2211                     'lab43: loop {
2212                         // literal, line 367
2213                         if !env.eq_s_b(&"\u{0BBE}\u{0BAE}\u{0BCD}") {
2214                             break 'lab43;
2215                         }
2216                         break 'lab36;
2217                     }
2218                     env.cursor = env.limit - v_11;
2219                     'lab44: loop {
2220                         // literal, line 368
2221                         if !env.eq_s_b(&"\u{0BC6}\u{0BAE}\u{0BCD}") {
2222                             break 'lab44;
2223                         }
2224                         break 'lab36;
2225                     }
2226                     env.cursor = env.limit - v_11;
2227                     'lab45: loop {
2228                         // literal, line 369
2229                         if !env.eq_s_b(&"\u{0BC7}\u{0BAE}\u{0BCD}") {
2230                             break 'lab45;
2231                         }
2232                         break 'lab36;
2233                     }
2234                     env.cursor = env.limit - v_11;
2235                     'lab46: loop {
2236                         // literal, line 370
2237                         if !env.eq_s_b(&"\u{0BCB}\u{0BAE}\u{0BCD}") {
2238                             break 'lab46;
2239                         }
2240                         break 'lab36;
2241                     }
2242                     env.cursor = env.limit - v_11;
2243                     'lab47: loop {
2244                         // literal, line 371
2245                         if !env.eq_s_b(&"\u{0B95}\u{0BC1}\u{0BAE}\u{0BCD}") {
2246                             break 'lab47;
2247                         }
2248                         break 'lab36;
2249                     }
2250                     env.cursor = env.limit - v_11;
2251                     'lab48: loop {
2252                         // literal, line 372
2253                         if !env.eq_s_b(&"\u{0BA4}\u{0BC1}\u{0BAE}\u{0BCD}") {
2254                             break 'lab48;
2255                         }
2256                         break 'lab36;
2257                     }
2258                     env.cursor = env.limit - v_11;
2259                     'lab49: loop {
2260                         // literal, line 373
2261                         if !env.eq_s_b(&"\u{0B9F}\u{0BC1}\u{0BAE}\u{0BCD}") {
2262                             break 'lab49;
2263                         }
2264                         break 'lab36;
2265                     }
2266                     env.cursor = env.limit - v_11;
2267                     'lab50: loop {
2268                         // literal, line 374
2269                         if !env.eq_s_b(&"\u{0BB1}\u{0BC1}\u{0BAE}\u{0BCD}") {
2270                             break 'lab50;
2271                         }
2272                         break 'lab36;
2273                     }
2274                     env.cursor = env.limit - v_11;
2275                     'lab51: loop {
2276                         // literal, line 375
2277                         if !env.eq_s_b(&"\u{0BBE}\u{0BAF}\u{0BCD}") {
2278                             break 'lab51;
2279                         }
2280                         break 'lab36;
2281                     }
2282                     env.cursor = env.limit - v_11;
2283                     'lab52: loop {
2284                         // literal, line 376
2285                         if !env.eq_s_b(&"\u{0BA9}\u{0BC6}\u{0BA9}\u{0BCD}") {
2286                             break 'lab52;
2287                         }
2288                         break 'lab36;
2289                     }
2290                     env.cursor = env.limit - v_11;
2291                     'lab53: loop {
2292                         // literal, line 377
2293                         if !env.eq_s_b(&"\u{0BA9}\u{0BBF}\u{0BB0}\u{0BCD}") {
2294                             break 'lab53;
2295                         }
2296                         break 'lab36;
2297                     }
2298                     env.cursor = env.limit - v_11;
2299                     'lab54: loop {
2300                         // literal, line 378
2301                         if !env.eq_s_b(&"\u{0BC0}\u{0BB0}\u{0BCD}") {
2302                             break 'lab54;
2303                         }
2304                         break 'lab36;
2305                     }
2306                     env.cursor = env.limit - v_11;
2307                     // literal, line 379
2308                     if !env.eq_s_b(&"\u{0BC0}\u{0BAF}\u{0BB0}\u{0BCD}") {
2309                         break 'lab35;
2310                     }
2311                     break 'lab36;
2312                 }
2313                 // ], line 380
2314                 env.bra = env.cursor;
2315                 // <-, line 380
2316                 if !env.slice_from("\u{0BCD}") {
2317                     return false;
2318                 }
2319                 // (, line 381
2320                 // set found_a_match, line 381
2321                 context.b_found_a_match = true;
2322                 env.cursor = env.limit - v_10;
2323                 break 'lab1;
2324             }
2325             env.cursor = env.limit - v_2;
2326             // test, line 384
2327             let v_14 = env.limit - env.cursor;
2328             // (, line 384
2329             // (, line 384
2330             // [, line 384
2331             env.ket = env.cursor;
2332             // or, line 384
2333             'lab55: loop {
2334                 let v_15 = env.limit - env.cursor;
2335                 'lab56: loop {
2336                     // literal, line 384
2337                     if !env.eq_s_b(&"\u{0B95}\u{0BC1}") {
2338                         break 'lab56;
2339                     }
2340                     break 'lab55;
2341                 }
2342                 env.cursor = env.limit - v_15;
2343                 // literal, line 384
2344                 if !env.eq_s_b(&"\u{0BA4}\u{0BC1}") {
2345                     break 'lab0;
2346                 }
2347                 break 'lab55;
2348             }
2349             // (, line 384
2350             // test, line 384
2351             let v_16 = env.limit - env.cursor;
2352             // literal, line 384
2353             if !env.eq_s_b(&"\u{0BCD}") {
2354                 break 'lab0;
2355             }
2356             env.cursor = env.limit - v_16;
2357             // ], line 384
2358             env.bra = env.cursor;
2359             // delete, line 384
2360             if !env.slice_del() {
2361                 return false;
2362             }
2363             // (, line 385
2364             // set found_a_match, line 385
2365             context.b_found_a_match = true;
2366             env.cursor = env.limit - v_14;
2367             break 'lab1;
2368         }
2369         break 'lab0;
2370     }
2371     env.cursor = env.limit - v_1;
2372     // do, line 388
2373     let v_17 = env.limit - env.cursor;
2374     'lab57: loop {
2375         // (, line 388
2376         // [, line 388
2377         env.ket = env.cursor;
2378         // among, line 388
2379         if env.find_among_b(A_25, context) == 0 {
2380             break 'lab57;
2381         }
2382         // ], line 395
2383         env.bra = env.cursor;
2384         // delete, line 395
2385         if !env.slice_del() {
2386             return false;
2387         }
2388         // (, line 396
2389         // set found_a_match, line 396
2390         context.b_found_a_match = true;
2391         break 'lab57;
2392     }
2393     env.cursor = env.limit - v_17;
2394     env.cursor = env.limit_backward;
2395     // do, line 399
2396     let v_18 = env.cursor;
2397     'lab58: loop {
2398         // call fix_endings, line 399
2399         if !r_fix_endings(env, context) {
2400             break 'lab58;
2401         }
2402         break 'lab58;
2403     }
2404     env.cursor = v_18;
2405     return true;
2406 }
2407 
stem(env: &mut SnowballEnv) -> bool2408 pub fn stem(env: &mut SnowballEnv) -> bool {
2409     let mut context = &mut Context {
2410         i_length: 0,
2411         b_found_wrong_ending: false,
2412         b_found_vetrumai_urupu: false,
2413         b_found_a_match: false,
2414     };
2415     // (, line 402
2416     // unset found_vetrumai_urupu, line 403
2417     context.b_found_vetrumai_urupu = false;
2418     // do, line 404
2419     let v_1 = env.cursor;
2420     'lab0: loop {
2421         // call fix_ending, line 404
2422         if !r_fix_ending(env, context) {
2423             break 'lab0;
2424         }
2425         break 'lab0;
2426     }
2427     env.cursor = v_1;
2428     // call has_min_length, line 405
2429     if !r_has_min_length(env, context) {
2430         return false;
2431     }
2432     // do, line 406
2433     let v_2 = env.cursor;
2434     'lab1: loop {
2435         // call remove_question_prefixes, line 406
2436         if !r_remove_question_prefixes(env, context) {
2437             break 'lab1;
2438         }
2439         break 'lab1;
2440     }
2441     env.cursor = v_2;
2442     // do, line 407
2443     let v_3 = env.cursor;
2444     'lab2: loop {
2445         // call remove_pronoun_prefixes, line 407
2446         if !r_remove_pronoun_prefixes(env, context) {
2447             break 'lab2;
2448         }
2449         break 'lab2;
2450     }
2451     env.cursor = v_3;
2452     // do, line 408
2453     let v_4 = env.cursor;
2454     'lab3: loop {
2455         // call remove_question_suffixes, line 408
2456         if !r_remove_question_suffixes(env, context) {
2457             break 'lab3;
2458         }
2459         break 'lab3;
2460     }
2461     env.cursor = v_4;
2462     // do, line 409
2463     let v_5 = env.cursor;
2464     'lab4: loop {
2465         // call remove_um, line 409
2466         if !r_remove_um(env, context) {
2467             break 'lab4;
2468         }
2469         break 'lab4;
2470     }
2471     env.cursor = v_5;
2472     // do, line 410
2473     let v_6 = env.cursor;
2474     'lab5: loop {
2475         // call remove_common_word_endings, line 410
2476         if !r_remove_common_word_endings(env, context) {
2477             break 'lab5;
2478         }
2479         break 'lab5;
2480     }
2481     env.cursor = v_6;
2482     // do, line 411
2483     let v_7 = env.cursor;
2484     'lab6: loop {
2485         // call remove_vetrumai_urupukal, line 411
2486         if !r_remove_vetrumai_urupukal(env, context) {
2487             break 'lab6;
2488         }
2489         break 'lab6;
2490     }
2491     env.cursor = v_7;
2492     // do, line 412
2493     let v_8 = env.cursor;
2494     'lab7: loop {
2495         // call remove_plural_suffix, line 412
2496         if !r_remove_plural_suffix(env, context) {
2497             break 'lab7;
2498         }
2499         break 'lab7;
2500     }
2501     env.cursor = v_8;
2502     // do, line 413
2503     let v_9 = env.cursor;
2504     'lab8: loop {
2505         // call remove_command_suffixes, line 413
2506         if !r_remove_command_suffixes(env, context) {
2507             break 'lab8;
2508         }
2509         break 'lab8;
2510     }
2511     env.cursor = v_9;
2512     // do, line 414
2513     let v_10 = env.cursor;
2514     'lab9: loop {
2515         // call remove_tense_suffixes, line 414
2516         if !r_remove_tense_suffixes(env, context) {
2517             break 'lab9;
2518         }
2519         break 'lab9;
2520     }
2521     env.cursor = v_10;
2522     return true;
2523 }
2524