xref: /PHP-5.5/ext/mbstring/oniguruma/testu.c (revision fe92d64a)
1 /*
2  * This program was generated by testconv.rb.
3  */
4 #include<stdio.h>
5 
6 #ifdef POSIX_TEST
7 #include "onigposix.h"
8 #else
9 #include "oniguruma.h"
10 #endif
11 
12 static int nsucc  = 0;
13 static int nfail  = 0;
14 static int nerror = 0;
15 
16 static FILE* err_file;
17 
18 #ifndef POSIX_TEST
19 static OnigRegion* region;
20 static OnigEncoding ENC;
21 #endif
22 
23 #define ulen(p) onigenc_str_bytelen_null(ENC, (UChar* )p)
24 
uconv(char * from,char * to,int len)25 static void uconv(char* from, char* to, int len)
26 {
27   int i;
28   unsigned char c;
29   char *q;
30 
31   q = to;
32 
33   for (i = 0; i < len; i += 2) {
34     c = (unsigned char )from[i];
35     if (c == 0) {
36       c = (unsigned char )from[i+1];
37       if (c < 0x20 || c >= 0x7f || c == 0x5c || c == 0x22) {
38         sprintf(q, "\\%03o", c);
39         q += 4;
40       }
41       else {
42         sprintf(q, "%c", c);
43         q++;
44       }
45     }
46     else {
47       sprintf(q, "\\%03o", c);
48       q += 4;
49       c = (unsigned char )from[i+1];
50       sprintf(q, "\\%03o", c);
51       q += 4;
52     }
53   }
54 
55   *q = 0;
56 }
57 
xx(char * pattern,char * str,int from,int to,int mem,int not)58 static void xx(char* pattern, char* str, int from, int to, int mem, int not)
59 {
60   int r;
61   char cpat[4000], cstr[4000];
62 
63 #ifdef POSIX_TEST
64   regex_t reg;
65   char buf[200];
66   regmatch_t pmatch[20];
67 
68   uconv(pattern, cpat, ulen(pattern));
69   uconv(str,     cstr, ulen(str));
70 
71   r = regcomp(&reg, pattern, REG_EXTENDED | REG_NEWLINE);
72   if (r) {
73     regerror(r, &reg, buf, sizeof(buf));
74     fprintf(err_file, "ERROR: %s\n", buf);
75     nerror++;
76     return ;
77   }
78 
79   r = regexec(&reg, str, reg.re_nsub + 1, pmatch, 0);
80   if (r != 0 && r != REG_NOMATCH) {
81     regerror(r, &reg, buf, sizeof(buf));
82     fprintf(err_file, "ERROR: %s\n", buf);
83     nerror++;
84     return ;
85   }
86 
87   if (r == REG_NOMATCH) {
88     if (not) {
89       fprintf(stdout, "OK(N): /%s/ '%s'\n", cpat, cstr);
90       nsucc++;
91     }
92     else {
93       fprintf(stdout, "FAIL: /%s/ '%s'\n", cpat, cstr);
94       nfail++;
95     }
96   }
97   else {
98     if (not) {
99       fprintf(stdout, "FAIL(N): /%s/ '%s'\n", cpat, cstr);
100       nfail++;
101     }
102     else {
103       if (pmatch[mem].rm_so == from && pmatch[mem].rm_eo == to) {
104         fprintf(stdout, "OK: /%s/ '%s'\n", cpat, cstr);
105         nsucc++;
106       }
107       else {
108         fprintf(stdout, "FAIL: /%s/ '%s' %d-%d : %d-%d\n", cpat, cstr,
109 	        from, to, pmatch[mem].rm_so, pmatch[mem].rm_eo);
110         nfail++;
111       }
112     }
113   }
114   regfree(&reg);
115 
116 #else
117   regex_t* reg;
118   OnigCompileInfo ci;
119   OnigErrorInfo einfo;
120 
121   uconv(pattern, cpat, ulen(pattern));
122   uconv(str,     cstr, ulen(str));
123 
124 #if 0
125   r = onig_new(&reg, (UChar* )pattern, (UChar* )(pattern + ulen(pattern)),
126 	       ONIG_OPTION_DEFAULT, ENC, ONIG_SYNTAX_DEFAULT, &einfo);
127 #else
128   ci.num_of_elements = 5;
129   ci.pattern_enc = ENC;
130   ci.target_enc  = ENC;
131   ci.syntax      = ONIG_SYNTAX_DEFAULT;
132   ci.option      = ONIG_OPTION_DEFAULT;
133   ci.case_fold_flag = ONIGENC_CASE_FOLD_DEFAULT;
134 
135   r = onig_new_deluxe(&reg, (UChar* )pattern,
136           (UChar* )(pattern + ulen(pattern)),
137           &ci, &einfo);
138 #endif
139 
140   if (r) {
141     char s[ONIG_MAX_ERROR_MESSAGE_LEN];
142     onig_error_code_to_str(s, r, &einfo);
143     fprintf(err_file, "ERROR: %s\n", s);
144     nerror++;
145     return ;
146   }
147 
148   r = onig_search(reg, (UChar* )str, (UChar* )(str + ulen(str)),
149 		  (UChar* )str, (UChar* )(str + ulen(str)),
150 		  region, ONIG_OPTION_NONE);
151   if (r < ONIG_MISMATCH) {
152     char s[ONIG_MAX_ERROR_MESSAGE_LEN];
153     onig_error_code_to_str(s, r);
154     fprintf(err_file, "ERROR: %s\n", s);
155     nerror++;
156     return ;
157   }
158 
159   if (r == ONIG_MISMATCH) {
160     if (not) {
161       fprintf(stdout, "OK(N): /%s/ '%s'\n", cpat, cstr);
162       nsucc++;
163     }
164     else {
165       fprintf(stdout, "FAIL: /%s/ '%s'\n", cpat, cstr);
166       nfail++;
167     }
168   }
169   else {
170     if (not) {
171       fprintf(stdout, "FAIL(N): /%s/ '%s'\n", cpat, cstr);
172       nfail++;
173     }
174     else {
175       if (region->beg[mem] == from && region->end[mem] == to) {
176         fprintf(stdout, "OK: /%s/ '%s'\n", cpat, cstr);
177         nsucc++;
178       }
179       else {
180         fprintf(stdout, "FAIL: /%s/ '%s' %d-%d : %d-%d\n", cpat, cstr,
181 	        from, to, region->beg[mem], region->end[mem]);
182         nfail++;
183       }
184     }
185   }
186   onig_free(reg);
187 #endif
188 }
189 
x2(char * pattern,char * str,int from,int to)190 static void x2(char* pattern, char* str, int from, int to)
191 {
192   xx(pattern, str, from, to, 0, 0);
193 }
194 
x3(char * pattern,char * str,int from,int to,int mem)195 static void x3(char* pattern, char* str, int from, int to, int mem)
196 {
197   xx(pattern, str, from, to, mem, 0);
198 }
199 
n(char * pattern,char * str)200 static void n(char* pattern, char* str)
201 {
202   xx(pattern, str, 0, 0, 0, 1);
203 }
204 
main(int argc,char * argv[])205 extern int main(int argc, char* argv[])
206 {
207   err_file = stdout;
208 
209 #ifndef POSIX_TEST
210   region = onig_region_new();
211 #endif
212 #ifdef POSIX_TEST
213   reg_set_encoding(REG_POSIX_ENCODING_UTF16_BE);
214 #else
215   ENC = ONIG_ENCODING_UTF16_BE;
216 #endif
217   x2("\000\000", "\000\000", 0, 0);
218   x2("\000^\000\000", "\000\000", 0, 0);
219   x2("\000$\000\000", "\000\000", 0, 0);
220   x2("\000\134\000G\000\000", "\000\000", 0, 0);
221   x2("\000\134\000A\000\000", "\000\000", 0, 0);
222   x2("\000\134\000Z\000\000", "\000\000", 0, 0);
223   x2("\000\134\000z\000\000", "\000\000", 0, 0);
224   x2("\000^\000$\000\000", "\000\000", 0, 0);
225   x2("\000\134\000c\000a\000\000", "\000\001\000\000", 0, 2);
226   x2("\000\134\000C\000-\000b\000\000", "\000\002\000\000", 0, 2);
227   x2("\000\134\000c\000\134\000\134\000\000", "\000\034\000\000", 0, 2);
228   x2("\000q\000[\000\134\000c\000\134\000\134\000]\000\000", "\000q\000\034\000\000", 0, 4);
229   x2("\000\000", "\000a\000\000", 0, 0);
230   x2("\000a\000\000", "\000a\000\000", 0, 2);
231   x2("\000\134\000x\0000\0000\000\134\000x\0006\0001\000\000", "\000a\000\000", 0, 2);
232   x2("\000a\000a\000\000", "\000a\000a\000\000", 0, 4);
233   x2("\000a\000a\000a\000\000", "\000a\000a\000a\000\000", 0, 6);
234   x2("\000a\000a\000a\000a\000a\000a\000a\000a\000a\000a\000a\000a\000a\000a\000a\000a\000a\000a\000a\000a\000a\000a\000a\000a\000a\000a\000a\000a\000a\000a\000a\000a\000a\000a\000a\000\000", "\000a\000a\000a\000a\000a\000a\000a\000a\000a\000a\000a\000a\000a\000a\000a\000a\000a\000a\000a\000a\000a\000a\000a\000a\000a\000a\000a\000a\000a\000a\000a\000a\000a\000a\000a\000\000", 0, 70);
235   x2("\000a\000b\000\000", "\000a\000b\000\000", 0, 4);
236   x2("\000b\000\000", "\000a\000b\000\000", 2, 4);
237   x2("\000b\000c\000\000", "\000a\000b\000c\000\000", 2, 6);
238   x2("\000(\000?\000i\000:\000#\000R\000E\000T\000#\000)\000\000", "\000#\000I\000N\000S\000#\000#\000R\000E\000T\000#\000\000", 10, 20);
239   x2("\000\134\0000\0000\0000\000\134\0001\0007\000\000", "\000\017\000\000", 0, 2);
240   x2("\000\134\000x\0000\0000\000\134\000x\0001\000f\000\000", "\000\037\000\000", 0, 2);
241   x2("\000a\000(\000?\000#\000.\000.\000.\000.\000\134\000\134\000J\000J\000J\000J\000)\000b\000\000", "\000a\000b\000\000", 0, 4);
242   x2("\000(\000?\000x\000)\000 \000 \000G\000 \000(\000o\000 \000O\000(\000?\000-\000x\000)\000o\000O\000)\000 \000g\000 \000L\000\000", "\000G\000o\000O\000o\000O\000g\000L\000e\000\000", 0, 14);
243   x2("\000.\000\000", "\000a\000\000", 0, 2);
244   n("\000.\000\000", "\000\000");
245   x2("\000.\000.\000\000", "\000a\000b\000\000", 0, 4);
246   x2("\000\134\000w\000\000", "\000e\000\000", 0, 2);
247   n("\000\134\000W\000\000", "\000e\000\000");
248   x2("\000\134\000s\000\000", "\000 \000\000", 0, 2);
249   x2("\000\134\000S\000\000", "\000b\000\000", 0, 2);
250   x2("\000\134\000d\000\000", "\0004\000\000", 0, 2);
251   n("\000\134\000D\000\000", "\0004\000\000");
252   x2("\000\134\000b\000\000", "\000z\000 \000\000", 0, 0);
253   x2("\000\134\000b\000\000", "\000 \000z\000\000", 2, 2);
254   x2("\000\134\000B\000\000", "\000z\000z\000 \000\000", 2, 2);
255   x2("\000\134\000B\000\000", "\000z\000 \000\000", 4, 4);
256   x2("\000\134\000B\000\000", "\000 \000z\000\000", 0, 0);
257   x2("\000[\000a\000b\000]\000\000", "\000b\000\000", 0, 2);
258   n("\000[\000a\000b\000]\000\000", "\000c\000\000");
259   x2("\000[\000a\000-\000z\000]\000\000", "\000t\000\000", 0, 2);
260   n("\000[\000^\000a\000]\000\000", "\000a\000\000");
261   x2("\000[\000^\000a\000]\000\000", "\000\012\000\000", 0, 2);
262   x2("\000[\000]\000]\000\000", "\000]\000\000", 0, 2);
263   n("\000[\000^\000]\000]\000\000", "\000]\000\000");
264   x2("\000[\000\134\000^\000]\000+\000\000", "\0000\000^\000^\0001\000\000", 2, 6);
265   x2("\000[\000b\000-\000]\000\000", "\000b\000\000", 0, 2);
266   x2("\000[\000b\000-\000]\000\000", "\000-\000\000", 0, 2);
267   x2("\000[\000\134\000w\000]\000\000", "\000z\000\000", 0, 2);
268   n("\000[\000\134\000w\000]\000\000", "\000 \000\000");
269   x2("\000[\000\134\000W\000]\000\000", "\000b\000$\000\000", 2, 4);
270   x2("\000[\000\134\000d\000]\000\000", "\0005\000\000", 0, 2);
271   n("\000[\000\134\000d\000]\000\000", "\000e\000\000");
272   x2("\000[\000\134\000D\000]\000\000", "\000t\000\000", 0, 2);
273   n("\000[\000\134\000D\000]\000\000", "\0003\000\000");
274   x2("\000[\000\134\000s\000]\000\000", "\000 \000\000", 0, 2);
275   n("\000[\000\134\000s\000]\000\000", "\000a\000\000");
276   x2("\000[\000\134\000S\000]\000\000", "\000b\000\000", 0, 2);
277   n("\000[\000\134\000S\000]\000\000", "\000 \000\000");
278   x2("\000[\000\134\000w\000\134\000d\000]\000\000", "\0002\000\000", 0, 2);
279   n("\000[\000\134\000w\000\134\000d\000]\000\000", "\000 \000\000");
280   x2("\000[\000[\000:\000u\000p\000p\000e\000r\000:\000]\000]\000\000", "\000B\000\000", 0, 2);
281   x2("\000[\000*\000[\000:\000x\000d\000i\000g\000i\000t\000:\000]\000+\000]\000\000", "\000+\000\000", 0, 2);
282   x2("\000[\000*\000[\000:\000x\000d\000i\000g\000i\000t\000:\000]\000+\000]\000\000", "\000G\000H\000I\000K\000K\000-\0009\000+\000*\000\000", 12, 14);
283   x2("\000[\000*\000[\000:\000x\000d\000i\000g\000i\000t\000:\000]\000+\000]\000\000", "\000-\000@\000^\000+\000\000", 6, 8);
284   n("\000[\000[\000:\000u\000p\000p\000e\000r\000]\000]\000\000", "\000A\000\000");
285   x2("\000[\000[\000:\000u\000p\000p\000e\000r\000]\000]\000\000", "\000:\000\000", 0, 2);
286   x2("\000[\000\134\0000\0000\0000\000\134\0000\0004\0004\000-\000\134\0000\0000\0000\000\134\0000\0004\0007\000]\000\000", "\000&\000\000", 0, 2);
287   x2("\000[\000\134\000x\0000\0000\000\134\000x\0005\000a\000-\000\134\000x\0000\0000\000\134\000x\0005\000c\000]\000\000", "\000[\000\000", 0, 2);
288   x2("\000[\000\134\000x\0000\0000\000\134\000x\0006\000A\000-\000\134\000x\0000\0000\000\134\000x\0006\000D\000]\000\000", "\000l\000\000", 0, 2);
289   n("\000[\000\134\000x\0000\0000\000\134\000x\0006\000A\000-\000\134\000x\0000\0000\000\134\000x\0006\000D\000]\000\000", "\000n\000\000");
290   n("\000^\000[\0000\000-\0009\000A\000-\000F\000]\000+\000 \0000\000+\000 \000U\000N\000D\000E\000F\000 \000\000", "\0007\0005\000F\000 \0000\0000\0000\0000\0000\0000\0000\0000\000 \000S\000E\000C\000T\0001\0004\000A\000 \000n\000o\000t\000y\000p\000e\000 \000(\000)\000 \000 \000 \000 \000E\000x\000t\000e\000r\000n\000a\000l\000 \000 \000 \000 \000|\000 \000_\000r\000b\000_\000a\000p\000p\000l\000y\000\000");
291   x2("\000[\000\134\000[\000]\000\000", "\000[\000\000", 0, 2);
292   x2("\000[\000\134\000]\000]\000\000", "\000]\000\000", 0, 2);
293   x2("\000[\000&\000]\000\000", "\000&\000\000", 0, 2);
294   x2("\000[\000[\000a\000b\000]\000]\000\000", "\000b\000\000", 0, 2);
295   x2("\000[\000[\000a\000b\000]\000c\000]\000\000", "\000c\000\000", 0, 2);
296   n("\000[\000[\000^\000a\000]\000]\000\000", "\000a\000\000");
297   n("\000[\000^\000[\000a\000]\000]\000\000", "\000a\000\000");
298   x2("\000[\000[\000a\000b\000]\000&\000&\000b\000c\000]\000\000", "\000b\000\000", 0, 2);
299   n("\000[\000[\000a\000b\000]\000&\000&\000b\000c\000]\000\000", "\000a\000\000");
300   n("\000[\000[\000a\000b\000]\000&\000&\000b\000c\000]\000\000", "\000c\000\000");
301   x2("\000[\000a\000-\000z\000&\000&\000b\000-\000y\000&\000&\000c\000-\000x\000]\000\000", "\000w\000\000", 0, 2);
302   n("\000[\000^\000a\000-\000z\000&\000&\000b\000-\000y\000&\000&\000c\000-\000x\000]\000\000", "\000w\000\000");
303   x2("\000[\000[\000^\000a\000&\000&\000a\000]\000&\000&\000a\000-\000z\000]\000\000", "\000b\000\000", 0, 2);
304   n("\000[\000[\000^\000a\000&\000&\000a\000]\000&\000&\000a\000-\000z\000]\000\000", "\000a\000\000");
305   x2("\000[\000[\000^\000a\000-\000z\000&\000&\000b\000c\000d\000e\000f\000]\000&\000&\000[\000^\000c\000-\000g\000]\000]\000\000", "\000h\000\000", 0, 2);
306   n("\000[\000[\000^\000a\000-\000z\000&\000&\000b\000c\000d\000e\000f\000]\000&\000&\000[\000^\000c\000-\000g\000]\000]\000\000", "\000c\000\000");
307   x2("\000[\000^\000[\000^\000a\000b\000c\000]\000&\000&\000[\000^\000c\000d\000e\000]\000]\000\000", "\000c\000\000", 0, 2);
308   x2("\000[\000^\000[\000^\000a\000b\000c\000]\000&\000&\000[\000^\000c\000d\000e\000]\000]\000\000", "\000e\000\000", 0, 2);
309   n("\000[\000^\000[\000^\000a\000b\000c\000]\000&\000&\000[\000^\000c\000d\000e\000]\000]\000\000", "\000f\000\000");
310   x2("\000[\000a\000-\000&\000&\000-\000a\000]\000\000", "\000-\000\000", 0, 2);
311   n("\000[\000a\000\134\000-\000&\000&\000\134\000-\000a\000]\000\000", "\000&\000\000");
312   n("\000\134\000w\000a\000b\000c\000\000", "\000 \000a\000b\000c\000\000");
313   x2("\000a\000\134\000W\000b\000c\000\000", "\000a\000 \000b\000c\000\000", 0, 8);
314   x2("\000a\000.\000b\000.\000c\000\000", "\000a\000a\000b\000b\000c\000\000", 0, 10);
315   x2("\000.\000\134\000w\000b\000\134\000W\000.\000.\000c\000\000", "\000a\000b\000b\000 \000b\000c\000c\000\000", 0, 14);
316   x2("\000\134\000s\000\134\000w\000z\000z\000z\000\000", "\000 \000z\000z\000z\000z\000\000", 0, 10);
317   x2("\000a\000a\000.\000b\000\000", "\000a\000a\000b\000b\000\000", 0, 8);
318   n("\000.\000a\000\000", "\000a\000b\000\000");
319   x2("\000.\000a\000\000", "\000a\000a\000\000", 0, 4);
320   x2("\000^\000a\000\000", "\000a\000\000", 0, 2);
321   x2("\000^\000a\000$\000\000", "\000a\000\000", 0, 2);
322   x2("\000^\000\134\000w\000$\000\000", "\000a\000\000", 0, 2);
323   n("\000^\000\134\000w\000$\000\000", "\000 \000\000");
324   x2("\000^\000\134\000w\000a\000b\000$\000\000", "\000z\000a\000b\000\000", 0, 6);
325   x2("\000^\000\134\000w\000a\000b\000c\000d\000e\000f\000$\000\000", "\000z\000a\000b\000c\000d\000e\000f\000\000", 0, 14);
326   x2("\000^\000\134\000w\000.\000.\000.\000d\000e\000f\000$\000\000", "\000z\000a\000b\000c\000d\000e\000f\000\000", 0, 14);
327   x2("\000\134\000w\000\134\000w\000\134\000s\000\134\000W\000a\000a\000a\000\134\000d\000\000", "\000a\000a\000 \000 \000a\000a\000a\0004\000\000", 0, 16);
328   x2("\000\134\000A\000\134\000Z\000\000", "\000\000", 0, 0);
329   x2("\000\134\000A\000x\000y\000z\000\000", "\000x\000y\000z\000\000", 0, 6);
330   x2("\000x\000y\000z\000\134\000Z\000\000", "\000x\000y\000z\000\000", 0, 6);
331   x2("\000x\000y\000z\000\134\000z\000\000", "\000x\000y\000z\000\000", 0, 6);
332   x2("\000a\000\134\000Z\000\000", "\000a\000\000", 0, 2);
333   x2("\000\134\000G\000a\000z\000\000", "\000a\000z\000\000", 0, 4);
334   n("\000\134\000G\000z\000\000", "\000b\000z\000a\000\000");
335   n("\000a\000z\000\134\000G\000\000", "\000a\000z\000\000");
336   n("\000a\000z\000\134\000A\000\000", "\000a\000z\000\000");
337   n("\000a\000\134\000A\000z\000\000", "\000a\000z\000\000");
338   x2("\000\134\000^\000\134\000$\000\000", "\000^\000$\000\000", 0, 4);
339   x2("\000^\000x\000?\000y\000\000", "\000x\000y\000\000", 0, 4);
340   x2("\000^\000(\000x\000?\000y\000)\000\000", "\000x\000y\000\000", 0, 4);
341   x2("\000\134\000w\000\000", "\000_\000\000", 0, 2);
342   n("\000\134\000W\000\000", "\000_\000\000");
343   x2("\000(\000?\000=\000z\000)\000z\000\000", "\000z\000\000", 0, 2);
344   n("\000(\000?\000=\000z\000)\000.\000\000", "\000a\000\000");
345   x2("\000(\000?\000!\000z\000)\000a\000\000", "\000a\000\000", 0, 2);
346   n("\000(\000?\000!\000z\000)\000a\000\000", "\000z\000\000");
347   x2("\000(\000?\000i\000:\000a\000)\000\000", "\000a\000\000", 0, 2);
348   x2("\000(\000?\000i\000:\000a\000)\000\000", "\000A\000\000", 0, 2);
349   x2("\000(\000?\000i\000:\000A\000)\000\000", "\000a\000\000", 0, 2);
350   n("\000(\000?\000i\000:\000A\000)\000\000", "\000b\000\000");
351   x2("\000(\000?\000i\000:\000[\000A\000-\000Z\000]\000)\000\000", "\000a\000\000", 0, 2);
352   x2("\000(\000?\000i\000:\000[\000f\000-\000m\000]\000)\000\000", "\000H\000\000", 0, 2);
353   x2("\000(\000?\000i\000:\000[\000f\000-\000m\000]\000)\000\000", "\000h\000\000", 0, 2);
354   n("\000(\000?\000i\000:\000[\000f\000-\000m\000]\000)\000\000", "\000e\000\000");
355   x2("\000(\000?\000i\000:\000[\000A\000-\000c\000]\000)\000\000", "\000D\000\000", 0, 2);
356   n("\000(\000?\000i\000:\000[\000^\000a\000-\000z\000]\000)\000\000", "\000A\000\000");
357   n("\000(\000?\000i\000:\000[\000^\000a\000-\000z\000]\000)\000\000", "\000a\000\000");
358   x2("\000(\000?\000i\000:\000[\000!\000-\000k\000]\000)\000\000", "\000Z\000\000", 0, 2);
359   x2("\000(\000?\000i\000:\000[\000!\000-\000k\000]\000)\000\000", "\0007\000\000", 0, 2);
360   x2("\000(\000?\000i\000:\000[\000T\000-\000}\000]\000)\000\000", "\000b\000\000", 0, 2);
361   x2("\000(\000?\000i\000:\000[\000T\000-\000}\000]\000)\000\000", "\000{\000\000", 0, 2);
362   x2("\000(\000?\000i\000:\000\134\000?\000a\000)\000\000", "\000?\000A\000\000", 0, 4);
363   x2("\000(\000?\000i\000:\000\134\000*\000A\000)\000\000", "\000*\000a\000\000", 0, 4);
364   n("\000.\000\000", "\000\012\000\000");
365   x2("\000(\000?\000m\000:\000.\000)\000\000", "\000\012\000\000", 0, 2);
366   x2("\000(\000?\000m\000:\000a\000.\000)\000\000", "\000a\000\012\000\000", 0, 4);
367   x2("\000(\000?\000m\000:\000.\000b\000)\000\000", "\000a\000\012\000b\000\000", 2, 6);
368   x2("\000.\000*\000a\000b\000c\000\000", "\000d\000d\000d\000a\000b\000d\000d\000\012\000d\000d\000a\000b\000c\000\000", 16, 26);
369   x2("\000(\000?\000m\000:\000.\000*\000a\000b\000c\000)\000\000", "\000d\000d\000d\000a\000b\000d\000d\000a\000b\000c\000\000", 0, 20);
370   n("\000(\000?\000i\000)\000(\000?\000-\000i\000)\000a\000\000", "\000A\000\000");
371   n("\000(\000?\000i\000)\000(\000?\000-\000i\000:\000a\000)\000\000", "\000A\000\000");
372   x2("\000a\000?\000\000", "\000\000", 0, 0);
373   x2("\000a\000?\000\000", "\000b\000\000", 0, 0);
374   x2("\000a\000?\000\000", "\000a\000\000", 0, 2);
375   x2("\000a\000*\000\000", "\000\000", 0, 0);
376   x2("\000a\000*\000\000", "\000a\000\000", 0, 2);
377   x2("\000a\000*\000\000", "\000a\000a\000a\000\000", 0, 6);
378   x2("\000a\000*\000\000", "\000b\000a\000a\000a\000a\000\000", 0, 0);
379   n("\000a\000+\000\000", "\000\000");
380   x2("\000a\000+\000\000", "\000a\000\000", 0, 2);
381   x2("\000a\000+\000\000", "\000a\000a\000a\000a\000\000", 0, 8);
382   x2("\000a\000+\000\000", "\000a\000a\000b\000b\000b\000\000", 0, 4);
383   x2("\000a\000+\000\000", "\000b\000a\000a\000a\000a\000\000", 2, 10);
384   x2("\000.\000?\000\000", "\000\000", 0, 0);
385   x2("\000.\000?\000\000", "\000f\000\000", 0, 2);
386   x2("\000.\000?\000\000", "\000\012\000\000", 0, 0);
387   x2("\000.\000*\000\000", "\000\000", 0, 0);
388   x2("\000.\000*\000\000", "\000a\000b\000c\000d\000e\000\000", 0, 10);
389   x2("\000.\000+\000\000", "\000z\000\000", 0, 2);
390   x2("\000.\000+\000\000", "\000z\000d\000s\000w\000e\000r\000\012\000\000", 0, 12);
391   x2("\000(\000.\000*\000)\000a\000\134\0001\000f\000\000", "\000b\000a\000b\000f\000b\000a\000c\000\000", 0, 8);
392   x2("\000(\000.\000*\000)\000a\000\134\0001\000f\000\000", "\000b\000a\000c\000b\000a\000b\000f\000\000", 6, 14);
393   x2("\000(\000(\000.\000*\000)\000a\000\134\0002\000f\000)\000\000", "\000b\000a\000c\000b\000a\000b\000f\000\000", 6, 14);
394   x2("\000(\000.\000*\000)\000a\000\134\0001\000f\000\000", "\000b\000a\000c\000z\000z\000z\000z\000z\000z\000\012\000b\000a\000z\000z\000\012\000z\000z\000z\000z\000b\000a\000b\000f\000\000", 38, 46);
395   x2("\000a\000|\000b\000\000", "\000a\000\000", 0, 2);
396   x2("\000a\000|\000b\000\000", "\000b\000\000", 0, 2);
397   x2("\000|\000a\000\000", "\000a\000\000", 0, 0);
398   x2("\000(\000|\000a\000)\000\000", "\000a\000\000", 0, 0);
399   x2("\000a\000b\000|\000b\000c\000\000", "\000a\000b\000\000", 0, 4);
400   x2("\000a\000b\000|\000b\000c\000\000", "\000b\000c\000\000", 0, 4);
401   x2("\000z\000(\000?\000:\000a\000b\000|\000b\000c\000)\000\000", "\000z\000b\000c\000\000", 0, 6);
402   x2("\000a\000(\000?\000:\000a\000b\000|\000b\000c\000)\000c\000\000", "\000a\000a\000b\000c\000\000", 0, 8);
403   x2("\000a\000b\000|\000(\000?\000:\000a\000c\000|\000a\000z\000)\000\000", "\000a\000z\000\000", 0, 4);
404   x2("\000a\000|\000b\000|\000c\000\000", "\000d\000c\000\000", 2, 4);
405   x2("\000a\000|\000b\000|\000c\000d\000|\000e\000f\000g\000|\000h\000|\000i\000j\000k\000|\000l\000m\000n\000|\000o\000|\000p\000q\000|\000r\000s\000t\000u\000v\000w\000x\000|\000y\000z\000\000", "\000p\000q\000r\000\000", 0, 4);
406   n("\000a\000|\000b\000|\000c\000d\000|\000e\000f\000g\000|\000h\000|\000i\000j\000k\000|\000l\000m\000n\000|\000o\000|\000p\000q\000|\000r\000s\000t\000u\000v\000w\000x\000|\000y\000z\000\000", "\000m\000n\000\000");
407   x2("\000a\000|\000^\000z\000\000", "\000b\000a\000\000", 2, 4);
408   x2("\000a\000|\000^\000z\000\000", "\000z\000a\000\000", 0, 2);
409   x2("\000a\000|\000\134\000G\000z\000\000", "\000b\000z\000a\000\000", 4, 6);
410   x2("\000a\000|\000\134\000G\000z\000\000", "\000z\000a\000\000", 0, 2);
411   x2("\000a\000|\000\134\000A\000z\000\000", "\000b\000z\000a\000\000", 4, 6);
412   x2("\000a\000|\000\134\000A\000z\000\000", "\000z\000a\000\000", 0, 2);
413   x2("\000a\000|\000b\000\134\000Z\000\000", "\000b\000a\000\000", 2, 4);
414   x2("\000a\000|\000b\000\134\000Z\000\000", "\000b\000\000", 0, 2);
415   x2("\000a\000|\000b\000\134\000z\000\000", "\000b\000a\000\000", 2, 4);
416   x2("\000a\000|\000b\000\134\000z\000\000", "\000b\000\000", 0, 2);
417   x2("\000\134\000w\000|\000\134\000s\000\000", "\000 \000\000", 0, 2);
418   n("\000\134\000w\000|\000\134\000w\000\000", "\000 \000\000");
419   x2("\000\134\000w\000|\000%\000\000", "\000%\000\000", 0, 2);
420   x2("\000\134\000w\000|\000[\000&\000$\000]\000\000", "\000&\000\000", 0, 2);
421   x2("\000[\000b\000-\000d\000]\000|\000[\000^\000e\000-\000z\000]\000\000", "\000a\000\000", 0, 2);
422   x2("\000(\000?\000:\000a\000|\000[\000c\000-\000f\000]\000)\000|\000b\000z\000\000", "\000d\000z\000\000", 0, 2);
423   x2("\000(\000?\000:\000a\000|\000[\000c\000-\000f\000]\000)\000|\000b\000z\000\000", "\000b\000z\000\000", 0, 4);
424   x2("\000a\000b\000c\000|\000(\000?\000=\000z\000z\000)\000.\000.\000f\000\000", "\000z\000z\000f\000\000", 0, 6);
425   x2("\000a\000b\000c\000|\000(\000?\000!\000z\000z\000)\000.\000.\000f\000\000", "\000a\000b\000f\000\000", 0, 6);
426   x2("\000(\000?\000=\000z\000a\000)\000.\000.\000a\000|\000(\000?\000=\000z\000z\000)\000.\000.\000a\000\000", "\000z\000z\000a\000\000", 0, 6);
427   n("\000(\000?\000>\000a\000|\000a\000b\000d\000)\000c\000\000", "\000a\000b\000d\000c\000\000");
428   x2("\000(\000?\000>\000a\000b\000d\000|\000a\000)\000c\000\000", "\000a\000b\000d\000c\000\000", 0, 8);
429   x2("\000a\000?\000|\000b\000\000", "\000a\000\000", 0, 2);
430   x2("\000a\000?\000|\000b\000\000", "\000b\000\000", 0, 0);
431   x2("\000a\000?\000|\000b\000\000", "\000\000", 0, 0);
432   x2("\000a\000*\000|\000b\000\000", "\000a\000a\000\000", 0, 4);
433   x2("\000a\000*\000|\000b\000*\000\000", "\000b\000a\000\000", 0, 0);
434   x2("\000a\000*\000|\000b\000*\000\000", "\000a\000b\000\000", 0, 2);
435   x2("\000a\000+\000|\000b\000*\000\000", "\000\000", 0, 0);
436   x2("\000a\000+\000|\000b\000*\000\000", "\000b\000b\000b\000\000", 0, 6);
437   x2("\000a\000+\000|\000b\000*\000\000", "\000a\000b\000b\000b\000\000", 0, 2);
438   n("\000a\000+\000|\000b\000+\000\000", "\000\000");
439   x2("\000(\000a\000|\000b\000)\000?\000\000", "\000b\000\000", 0, 2);
440   x2("\000(\000a\000|\000b\000)\000*\000\000", "\000b\000a\000\000", 0, 4);
441   x2("\000(\000a\000|\000b\000)\000+\000\000", "\000b\000a\000b\000\000", 0, 6);
442   x2("\000(\000a\000b\000|\000c\000a\000)\000+\000\000", "\000c\000a\000a\000b\000b\000c\000\000", 0, 8);
443   x2("\000(\000a\000b\000|\000c\000a\000)\000+\000\000", "\000a\000a\000b\000c\000a\000\000", 2, 10);
444   x2("\000(\000a\000b\000|\000c\000a\000)\000+\000\000", "\000a\000b\000z\000c\000a\000\000", 0, 4);
445   x2("\000(\000a\000|\000b\000a\000b\000)\000+\000\000", "\000a\000b\000a\000b\000a\000\000", 0, 10);
446   x2("\000(\000a\000|\000b\000a\000b\000)\000+\000\000", "\000b\000a\000\000", 2, 4);
447   x2("\000(\000a\000|\000b\000a\000b\000)\000+\000\000", "\000b\000a\000a\000a\000b\000a\000\000", 2, 8);
448   x2("\000(\000?\000:\000a\000|\000b\000)\000(\000?\000:\000a\000|\000b\000)\000\000", "\000a\000b\000\000", 0, 4);
449   x2("\000(\000?\000:\000a\000*\000|\000b\000*\000)\000(\000?\000:\000a\000*\000|\000b\000*\000)\000\000", "\000a\000a\000a\000b\000b\000b\000\000", 0, 6);
450   x2("\000(\000?\000:\000a\000*\000|\000b\000*\000)\000(\000?\000:\000a\000+\000|\000b\000+\000)\000\000", "\000a\000a\000a\000b\000b\000b\000\000", 0, 12);
451   x2("\000(\000?\000:\000a\000+\000|\000b\000+\000)\000{\0002\000}\000\000", "\000a\000a\000a\000b\000b\000b\000\000", 0, 12);
452   x2("\000h\000{\0000\000,\000}\000\000", "\000h\000h\000h\000h\000\000", 0, 8);
453   x2("\000(\000?\000:\000a\000+\000|\000b\000+\000)\000{\0001\000,\0002\000}\000\000", "\000a\000a\000a\000b\000b\000b\000\000", 0, 12);
454   n("\000a\000x\000{\0002\000}\000*\000a\000\000", "\0000\000a\000x\000x\000x\000a\0001\000\000");
455   n("\000a\000.\000{\0000\000,\0002\000}\000a\000\000", "\0000\000a\000X\000X\000X\000a\0000\000\000");
456   n("\000a\000.\000{\0000\000,\0002\000}\000?\000a\000\000", "\0000\000a\000X\000X\000X\000a\0000\000\000");
457   n("\000a\000.\000{\0000\000,\0002\000}\000?\000a\000\000", "\0000\000a\000X\000X\000X\000X\000a\0000\000\000");
458   x2("\000^\000a\000{\0002\000,\000}\000?\000a\000$\000\000", "\000a\000a\000a\000\000", 0, 6);
459   x2("\000^\000[\000a\000-\000z\000]\000{\0002\000,\000}\000?\000$\000\000", "\000a\000a\000a\000\000", 0, 6);
460   x2("\000(\000?\000:\000a\000+\000|\000\134\000A\000b\000*\000)\000c\000c\000\000", "\000c\000c\000\000", 0, 4);
461   n("\000(\000?\000:\000a\000+\000|\000\134\000A\000b\000*\000)\000c\000c\000\000", "\000a\000b\000c\000c\000\000");
462   x2("\000(\000?\000:\000^\000a\000+\000|\000b\000+\000)\000*\000c\000\000", "\000a\000a\000b\000b\000b\000a\000b\000c\000\000", 12, 16);
463   x2("\000(\000?\000:\000^\000a\000+\000|\000b\000+\000)\000*\000c\000\000", "\000a\000a\000b\000b\000b\000b\000c\000\000", 0, 14);
464   x2("\000a\000|\000(\000?\000i\000)\000c\000\000", "\000C\000\000", 0, 2);
465   x2("\000(\000?\000i\000)\000c\000|\000a\000\000", "\000C\000\000", 0, 2);
466   x2("\000(\000?\000i\000)\000c\000|\000a\000\000", "\000A\000\000", 0, 2);
467   x2("\000(\000?\000i\000:\000c\000)\000|\000a\000\000", "\000C\000\000", 0, 2);
468   n("\000(\000?\000i\000:\000c\000)\000|\000a\000\000", "\000A\000\000");
469   x2("\000[\000a\000b\000c\000]\000?\000\000", "\000a\000b\000c\000\000", 0, 2);
470   x2("\000[\000a\000b\000c\000]\000*\000\000", "\000a\000b\000c\000\000", 0, 6);
471   x2("\000[\000^\000a\000b\000c\000]\000*\000\000", "\000a\000b\000c\000\000", 0, 0);
472   n("\000[\000^\000a\000b\000c\000]\000+\000\000", "\000a\000b\000c\000\000");
473   x2("\000a\000?\000?\000\000", "\000a\000a\000a\000\000", 0, 0);
474   x2("\000b\000a\000?\000?\000b\000\000", "\000b\000a\000b\000\000", 0, 6);
475   x2("\000a\000*\000?\000\000", "\000a\000a\000a\000\000", 0, 0);
476   x2("\000b\000a\000*\000?\000\000", "\000b\000a\000a\000\000", 0, 2);
477   x2("\000b\000a\000*\000?\000b\000\000", "\000b\000a\000a\000b\000\000", 0, 8);
478   x2("\000a\000+\000?\000\000", "\000a\000a\000a\000\000", 0, 2);
479   x2("\000b\000a\000+\000?\000\000", "\000b\000a\000a\000\000", 0, 4);
480   x2("\000b\000a\000+\000?\000b\000\000", "\000b\000a\000a\000b\000\000", 0, 8);
481   x2("\000(\000?\000:\000a\000?\000)\000?\000?\000\000", "\000a\000\000", 0, 0);
482   x2("\000(\000?\000:\000a\000?\000?\000)\000?\000\000", "\000a\000\000", 0, 0);
483   x2("\000(\000?\000:\000a\000?\000)\000+\000?\000\000", "\000a\000a\000a\000\000", 0, 2);
484   x2("\000(\000?\000:\000a\000+\000)\000?\000?\000\000", "\000a\000a\000a\000\000", 0, 0);
485   x2("\000(\000?\000:\000a\000+\000)\000?\000?\000b\000\000", "\000a\000a\000a\000b\000\000", 0, 8);
486   x2("\000(\000?\000:\000a\000b\000)\000?\000{\0002\000}\000\000", "\000\000", 0, 0);
487   x2("\000(\000?\000:\000a\000b\000)\000?\000{\0002\000}\000\000", "\000a\000b\000a\000b\000a\000\000", 0, 8);
488   x2("\000(\000?\000:\000a\000b\000)\000*\000{\0000\000}\000\000", "\000a\000b\000a\000b\000a\000\000", 0, 0);
489   x2("\000(\000?\000:\000a\000b\000)\000{\0003\000,\000}\000\000", "\000a\000b\000a\000b\000a\000b\000a\000b\000\000", 0, 16);
490   n("\000(\000?\000:\000a\000b\000)\000{\0003\000,\000}\000\000", "\000a\000b\000a\000b\000\000");
491   x2("\000(\000?\000:\000a\000b\000)\000{\0002\000,\0004\000}\000\000", "\000a\000b\000a\000b\000a\000b\000\000", 0, 12);
492   x2("\000(\000?\000:\000a\000b\000)\000{\0002\000,\0004\000}\000\000", "\000a\000b\000a\000b\000a\000b\000a\000b\000a\000b\000\000", 0, 16);
493   x2("\000(\000?\000:\000a\000b\000)\000{\0002\000,\0004\000}\000?\000\000", "\000a\000b\000a\000b\000a\000b\000a\000b\000a\000b\000\000", 0, 8);
494   x2("\000(\000?\000:\000a\000b\000)\000{\000,\000}\000\000", "\000a\000b\000{\000,\000}\000\000", 0, 10);
495   x2("\000(\000?\000:\000a\000b\000c\000)\000+\000?\000{\0002\000}\000\000", "\000a\000b\000c\000a\000b\000c\000a\000b\000c\000\000", 0, 12);
496   x2("\000(\000?\000:\000X\000*\000)\000(\000?\000i\000:\000x\000a\000)\000\000", "\000X\000X\000X\000a\000\000", 0, 8);
497   x2("\000(\000d\000+\000)\000(\000[\000^\000a\000b\000c\000]\000z\000)\000\000", "\000d\000d\000d\000z\000\000", 0, 8);
498   x2("\000(\000[\000^\000a\000b\000c\000]\000*\000)\000(\000[\000^\000a\000b\000c\000]\000z\000)\000\000", "\000d\000d\000d\000z\000\000", 0, 8);
499   x2("\000(\000\134\000w\000+\000)\000(\000\134\000w\000z\000)\000\000", "\000d\000d\000d\000z\000\000", 0, 8);
500   x3("\000(\000a\000)\000\000", "\000a\000\000", 0, 2, 1);
501   x3("\000(\000a\000b\000)\000\000", "\000a\000b\000\000", 0, 4, 1);
502   x2("\000(\000(\000a\000b\000)\000)\000\000", "\000a\000b\000\000", 0, 4);
503   x3("\000(\000(\000a\000b\000)\000)\000\000", "\000a\000b\000\000", 0, 4, 1);
504   x3("\000(\000(\000a\000b\000)\000)\000\000", "\000a\000b\000\000", 0, 4, 2);
505   x3("\000(\000(\000(\000(\000(\000(\000(\000(\000(\000(\000(\000(\000(\000(\000(\000(\000(\000(\000(\000(\000a\000b\000)\000)\000)\000)\000)\000)\000)\000)\000)\000)\000)\000)\000)\000)\000)\000)\000)\000)\000)\000)\000\000", "\000a\000b\000\000", 0, 4, 20);
506   x3("\000(\000a\000b\000)\000(\000c\000d\000)\000\000", "\000a\000b\000c\000d\000\000", 0, 4, 1);
507   x3("\000(\000a\000b\000)\000(\000c\000d\000)\000\000", "\000a\000b\000c\000d\000\000", 4, 8, 2);
508   x3("\000(\000)\000(\000a\000)\000b\000c\000(\000d\000e\000f\000)\000g\000h\000i\000j\000k\000\000", "\000a\000b\000c\000d\000e\000f\000g\000h\000i\000j\000k\000\000", 6, 12, 3);
509   x3("\000(\000(\000)\000(\000a\000)\000b\000c\000(\000d\000e\000f\000)\000g\000h\000i\000j\000k\000)\000\000", "\000a\000b\000c\000d\000e\000f\000g\000h\000i\000j\000k\000\000", 6, 12, 4);
510   x2("\000(\000^\000a\000)\000\000", "\000a\000\000", 0, 2);
511   x3("\000(\000a\000)\000|\000(\000a\000)\000\000", "\000b\000a\000\000", 2, 4, 1);
512   x3("\000(\000^\000a\000)\000|\000(\000a\000)\000\000", "\000b\000a\000\000", 2, 4, 2);
513   x3("\000(\000a\000?\000)\000\000", "\000a\000a\000a\000\000", 0, 2, 1);
514   x3("\000(\000a\000*\000)\000\000", "\000a\000a\000a\000\000", 0, 6, 1);
515   x3("\000(\000a\000*\000)\000\000", "\000\000", 0, 0, 1);
516   x3("\000(\000a\000+\000)\000\000", "\000a\000a\000a\000a\000a\000a\000a\000\000", 0, 14, 1);
517   x3("\000(\000a\000+\000|\000b\000*\000)\000\000", "\000b\000b\000b\000a\000a\000\000", 0, 6, 1);
518   x3("\000(\000a\000+\000|\000b\000?\000)\000\000", "\000b\000b\000b\000a\000a\000\000", 0, 2, 1);
519   x3("\000(\000a\000b\000c\000)\000?\000\000", "\000a\000b\000c\000\000", 0, 6, 1);
520   x3("\000(\000a\000b\000c\000)\000*\000\000", "\000a\000b\000c\000\000", 0, 6, 1);
521   x3("\000(\000a\000b\000c\000)\000+\000\000", "\000a\000b\000c\000\000", 0, 6, 1);
522   x3("\000(\000x\000y\000z\000|\000a\000b\000c\000)\000+\000\000", "\000a\000b\000c\000\000", 0, 6, 1);
523   x3("\000(\000[\000x\000y\000z\000]\000[\000a\000b\000c\000]\000|\000a\000b\000c\000)\000+\000\000", "\000a\000b\000c\000\000", 0, 6, 1);
524   x3("\000(\000(\000?\000i\000:\000a\000b\000c\000)\000)\000\000", "\000A\000b\000C\000\000", 0, 6, 1);
525   x2("\000(\000a\000b\000c\000)\000(\000?\000i\000:\000\134\0001\000)\000\000", "\000a\000b\000c\000A\000B\000C\000\000", 0, 12);
526   x3("\000(\000(\000?\000m\000:\000a\000.\000c\000)\000)\000\000", "\000a\000\012\000c\000\000", 0, 6, 1);
527   x3("\000(\000(\000?\000=\000a\000z\000)\000a\000)\000\000", "\000a\000z\000b\000\000", 0, 2, 1);
528   x3("\000a\000b\000c\000|\000(\000.\000a\000b\000d\000)\000\000", "\000z\000a\000b\000d\000\000", 0, 8, 1);
529   x2("\000(\000?\000:\000a\000b\000c\000)\000|\000(\000A\000B\000C\000)\000\000", "\000a\000b\000c\000\000", 0, 6);
530   x3("\000(\000?\000i\000:\000(\000a\000b\000c\000)\000)\000|\000(\000z\000z\000z\000)\000\000", "\000A\000B\000C\000\000", 0, 6, 1);
531   x3("\000a\000*\000(\000.\000)\000\000", "\000a\000a\000a\000a\000z\000\000", 8, 10, 1);
532   x3("\000a\000*\000?\000(\000.\000)\000\000", "\000a\000a\000a\000a\000z\000\000", 0, 2, 1);
533   x3("\000a\000*\000?\000(\000c\000)\000\000", "\000a\000a\000a\000a\000c\000\000", 8, 10, 1);
534   x3("\000[\000b\000c\000d\000]\000a\000*\000(\000.\000)\000\000", "\000c\000a\000a\000a\000a\000z\000\000", 10, 12, 1);
535   x3("\000(\000\134\000A\000b\000b\000)\000c\000c\000\000", "\000b\000b\000c\000c\000\000", 0, 4, 1);
536   n("\000(\000\134\000A\000b\000b\000)\000c\000c\000\000", "\000z\000b\000b\000c\000c\000\000");
537   x3("\000(\000^\000b\000b\000)\000c\000c\000\000", "\000b\000b\000c\000c\000\000", 0, 4, 1);
538   n("\000(\000^\000b\000b\000)\000c\000c\000\000", "\000z\000b\000b\000c\000c\000\000");
539   x3("\000c\000c\000(\000b\000b\000$\000)\000\000", "\000c\000c\000b\000b\000\000", 4, 8, 1);
540   n("\000c\000c\000(\000b\000b\000$\000)\000\000", "\000c\000c\000b\000b\000b\000\000");
541   n("\000(\000\134\0001\000)\000\000", "\000\000");
542   n("\000\134\0001\000(\000a\000)\000\000", "\000a\000a\000\000");
543   n("\000(\000a\000(\000b\000)\000\134\0001\000)\000\134\0002\000+\000\000", "\000a\000b\000a\000b\000b\000\000");
544   n("\000(\000?\000:\000(\000?\000:\000\134\0001\000|\000z\000)\000(\000a\000)\000)\000+\000$\000\000", "\000z\000a\000a\000\000");
545   x2("\000(\000?\000:\000(\000?\000:\000\134\0001\000|\000z\000)\000(\000a\000)\000)\000+\000$\000\000", "\000z\000a\000a\000a\000\000", 0, 8);
546   x2("\000(\000a\000)\000(\000?\000=\000\134\0001\000)\000\000", "\000a\000a\000\000", 0, 2);
547   n("\000(\000a\000)\000$\000|\000\134\0001\000\000", "\000a\000z\000\000");
548   x2("\000(\000a\000)\000\134\0001\000\000", "\000a\000a\000\000", 0, 4);
549   n("\000(\000a\000)\000\134\0001\000\000", "\000a\000b\000\000");
550   x2("\000(\000a\000?\000)\000\134\0001\000\000", "\000a\000a\000\000", 0, 4);
551   x2("\000(\000a\000?\000?\000)\000\134\0001\000\000", "\000a\000a\000\000", 0, 0);
552   x2("\000(\000a\000*\000)\000\134\0001\000\000", "\000a\000a\000a\000a\000a\000\000", 0, 8);
553   x3("\000(\000a\000*\000)\000\134\0001\000\000", "\000a\000a\000a\000a\000a\000\000", 0, 4, 1);
554   x2("\000a\000(\000b\000*\000)\000\134\0001\000\000", "\000a\000b\000b\000b\000b\000\000", 0, 10);
555   x2("\000a\000(\000b\000*\000)\000\134\0001\000\000", "\000a\000b\000\000", 0, 2);
556   x2("\000(\000a\000*\000)\000(\000b\000*\000)\000\134\0001\000\134\0002\000\000", "\000a\000a\000a\000b\000b\000a\000a\000a\000b\000b\000\000", 0, 20);
557   x2("\000(\000a\000*\000)\000(\000b\000*\000)\000\134\0002\000\000", "\000a\000a\000a\000b\000b\000b\000b\000\000", 0, 14);
558   x2("\000(\000(\000(\000(\000(\000(\000(\000a\000*\000)\000b\000)\000)\000)\000)\000)\000)\000c\000\134\0007\000\000", "\000a\000a\000a\000b\000c\000a\000a\000a\000\000", 0, 16);
559   x3("\000(\000(\000(\000(\000(\000(\000(\000a\000*\000)\000b\000)\000)\000)\000)\000)\000)\000c\000\134\0007\000\000", "\000a\000a\000a\000b\000c\000a\000a\000a\000\000", 0, 6, 7);
560   x2("\000(\000a\000)\000(\000b\000)\000(\000c\000)\000\134\0002\000\134\0001\000\134\0003\000\000", "\000a\000b\000c\000b\000a\000c\000\000", 0, 12);
561   x2("\000(\000[\000a\000-\000d\000]\000)\000\134\0001\000\000", "\000c\000c\000\000", 0, 4);
562   x2("\000(\000\134\000w\000\134\000d\000\134\000s\000)\000\134\0001\000\000", "\000f\0005\000 \000f\0005\000 \000\000", 0, 12);
563   n("\000(\000\134\000w\000\134\000d\000\134\000s\000)\000\134\0001\000\000", "\000f\0005\000 \000f\0005\000\000");
564   x2("\000(\000w\000h\000o\000|\000[\000a\000-\000c\000]\000{\0003\000}\000)\000\134\0001\000\000", "\000w\000h\000o\000w\000h\000o\000\000", 0, 12);
565   x2("\000.\000.\000.\000(\000w\000h\000o\000|\000[\000a\000-\000c\000]\000{\0003\000}\000)\000\134\0001\000\000", "\000a\000b\000c\000w\000h\000o\000w\000h\000o\000\000", 0, 18);
566   x2("\000(\000w\000h\000o\000|\000[\000a\000-\000c\000]\000{\0003\000}\000)\000\134\0001\000\000", "\000c\000b\000c\000c\000b\000c\000\000", 0, 12);
567   x2("\000(\000^\000a\000)\000\134\0001\000\000", "\000a\000a\000\000", 0, 4);
568   n("\000(\000^\000a\000)\000\134\0001\000\000", "\000b\000a\000a\000\000");
569   n("\000(\000a\000$\000)\000\134\0001\000\000", "\000a\000a\000\000");
570   n("\000(\000a\000b\000\134\000Z\000)\000\134\0001\000\000", "\000a\000b\000\000");
571   x2("\000(\000a\000*\000\134\000Z\000)\000\134\0001\000\000", "\000a\000\000", 2, 2);
572   x2("\000.\000(\000a\000*\000\134\000Z\000)\000\134\0001\000\000", "\000b\000a\000\000", 2, 4);
573   x3("\000(\000.\000(\000a\000b\000c\000)\000\134\0002\000)\000\000", "\000z\000a\000b\000c\000a\000b\000c\000\000", 0, 14, 1);
574   x3("\000(\000.\000(\000.\000.\000\134\000d\000.\000)\000\134\0002\000)\000\000", "\000z\0001\0002\0003\0004\0001\0002\0003\0004\000\000", 0, 18, 1);
575   x2("\000(\000(\000?\000i\000:\000a\000z\000)\000)\000\134\0001\000\000", "\000A\000z\000A\000z\000\000", 0, 8);
576   n("\000(\000(\000?\000i\000:\000a\000z\000)\000)\000\134\0001\000\000", "\000A\000z\000a\000z\000\000");
577   x2("\000(\000?\000<\000=\000a\000)\000b\000\000", "\000a\000b\000\000", 2, 4);
578   n("\000(\000?\000<\000=\000a\000)\000b\000\000", "\000b\000b\000\000");
579   x2("\000(\000?\000<\000=\000a\000|\000b\000)\000b\000\000", "\000b\000b\000\000", 2, 4);
580   x2("\000(\000?\000<\000=\000a\000|\000b\000c\000)\000b\000\000", "\000b\000c\000b\000\000", 4, 6);
581   x2("\000(\000?\000<\000=\000a\000|\000b\000c\000)\000b\000\000", "\000a\000b\000\000", 2, 4);
582   x2("\000(\000?\000<\000=\000a\000|\000b\000c\000|\000|\000d\000e\000f\000g\000h\000i\000j\000|\000k\000l\000m\000n\000o\000p\000q\000|\000r\000)\000z\000\000", "\000r\000z\000\000", 2, 4);
583   x2("\000(\000a\000)\000\134\000g\000<\0001\000>\000\000", "\000a\000a\000\000", 0, 4);
584   x2("\000(\000?\000<\000!\000a\000)\000b\000\000", "\000c\000b\000\000", 2, 4);
585   n("\000(\000?\000<\000!\000a\000)\000b\000\000", "\000a\000b\000\000");
586   x2("\000(\000?\000<\000!\000a\000|\000b\000c\000)\000b\000\000", "\000b\000b\000b\000\000", 0, 2);
587   n("\000(\000?\000<\000!\000a\000|\000b\000c\000)\000z\000\000", "\000b\000c\000z\000\000");
588   x2("\000(\000?\000<\000n\000a\000m\000e\0001\000>\000a\000)\000\000", "\000a\000\000", 0, 2);
589   x2("\000(\000?\000<\000n\000a\000m\000e\000_\0002\000>\000a\000b\000)\000\134\000g\000<\000n\000a\000m\000e\000_\0002\000>\000\000", "\000a\000b\000a\000b\000\000", 0, 8);
590   x2("\000(\000?\000<\000n\000a\000m\000e\000_\0003\000>\000.\000z\000v\000.\000)\000\134\000k\000<\000n\000a\000m\000e\000_\0003\000>\000\000", "\000a\000z\000v\000b\000a\000z\000v\000b\000\000", 0, 16);
591   x2("\000(\000?\000<\000=\000\134\000g\000<\000a\000b\000>\000)\000|\000-\000\134\000z\000E\000N\000D\000 \000(\000?\000<\000a\000b\000>\000X\000y\000Z\000)\000\000", "\000X\000y\000Z\000\000", 6, 6);
592   x2("\000(\000?\000<\000n\000>\000|\000a\000\134\000g\000<\000n\000>\000)\000+\000\000", "\000\000", 0, 0);
593   x2("\000(\000?\000<\000n\000>\000|\000\134\000(\000\134\000g\000<\000n\000>\000\134\000)\000)\000+\000$\000\000", "\000(\000)\000(\000(\000)\000)\000\000", 0, 12);
594   x3("\000\134\000g\000<\000n\000>\000(\000?\000<\000n\000>\000.\000)\000{\0000\000}\000\000", "\000X\000\000", 0, 2, 1);
595   x2("\000\134\000g\000<\000n\000>\000(\000a\000b\000c\000|\000d\000f\000(\000?\000<\000n\000>\000.\000Y\000Z\000)\000{\0002\000,\0008\000}\000)\000{\0000\000}\000\000", "\000X\000Y\000Z\000\000", 0, 6);
596   x2("\000\134\000A\000(\000?\000<\000n\000>\000(\000a\000\134\000g\000<\000n\000>\000)\000|\000)\000\134\000z\000\000", "\000a\000a\000a\000a\000\000", 0, 8);
597   x2("\000(\000?\000<\000n\000>\000|\000\134\000g\000<\000m\000>\000\134\000g\000<\000n\000>\000)\000\134\000z\000|\000\134\000z\000E\000N\000D\000 \000(\000?\000<\000m\000>\000a\000|\000(\000b\000)\000\134\000g\000<\000m\000>\000)\000\000", "\000b\000b\000b\000b\000a\000b\000b\000a\000\000", 0, 16);
598   x2("\000(\000?\000<\000n\000a\000m\000e\0001\0002\0004\0000\000>\000\134\000w\000+\000\134\000s\000x\000)\000a\000+\000\134\000k\000<\000n\000a\000m\000e\0001\0002\0004\0000\000>\000\000", "\000 \000 \000f\000g\000 \000x\000a\000a\000a\000a\000a\000a\000a\000a\000f\000g\000 \000x\000\000", 4, 36);
599   x3("\000(\000z\000)\000(\000)\000(\000)\000(\000?\000<\000_\0009\000>\000a\000)\000\134\000g\000<\000_\0009\000>\000\000", "\000z\000a\000a\000\000", 4, 6, 1);
600   x2("\000(\000.\000)\000(\000(\000(\000?\000<\000_\000>\000a\000)\000)\000)\000\134\000k\000<\000_\000>\000\000", "\000z\000a\000a\000\000", 0, 6);
601   x2("\000(\000(\000?\000<\000n\000a\000m\000e\0001\000>\000\134\000d\000)\000|\000(\000?\000<\000n\000a\000m\000e\0002\000>\000\134\000w\000)\000)\000(\000\134\000k\000<\000n\000a\000m\000e\0001\000>\000|\000\134\000k\000<\000n\000a\000m\000e\0002\000>\000)\000\000", "\000f\000f\000\000", 0, 4);
602   x2("\000(\000?\000:\000(\000?\000<\000x\000>\000)\000|\000(\000?\000<\000x\000>\000e\000f\000g\000)\000)\000\134\000k\000<\000x\000>\000\000", "\000\000", 0, 0);
603   x2("\000(\000?\000:\000(\000?\000<\000x\000>\000a\000b\000c\000)\000|\000(\000?\000<\000x\000>\000e\000f\000g\000)\000)\000\134\000k\000<\000x\000>\000\000", "\000a\000b\000c\000e\000f\000g\000e\000f\000g\000\000", 6, 18);
604   n("\000(\000?\000:\000(\000?\000<\000x\000>\000a\000b\000c\000)\000|\000(\000?\000<\000x\000>\000e\000f\000g\000)\000)\000\134\000k\000<\000x\000>\000\000", "\000a\000b\000c\000e\000f\000g\000\000");
605   x2("\000(\000?\000:\000(\000?\000<\000n\0001\000>\000.\000)\000|\000(\000?\000<\000n\0001\000>\000.\000.\000)\000|\000(\000?\000<\000n\0001\000>\000.\000.\000.\000)\000|\000(\000?\000<\000n\0001\000>\000.\000.\000.\000.\000)\000|\000(\000?\000<\000n\0001\000>\000.\000.\000.\000.\000.\000)\000|\000(\000?\000<\000n\0001\000>\000.\000.\000.\000.\000.\000.\000)\000|\000(\000?\000<\000n\0001\000>\000.\000.\000.\000.\000.\000.\000.\000)\000|\000(\000?\000<\000n\0001\000>\000.\000.\000.\000.\000.\000.\000.\000.\000)\000|\000(\000?\000<\000n\0001\000>\000.\000.\000.\000.\000.\000.\000.\000.\000.\000)\000|\000(\000?\000<\000n\0001\000>\000.\000.\000.\000.\000.\000.\000.\000.\000.\000.\000)\000|\000(\000?\000<\000n\0001\000>\000.\000.\000.\000.\000.\000.\000.\000.\000.\000.\000.\000)\000|\000(\000?\000<\000n\0001\000>\000.\000.\000.\000.\000.\000.\000.\000.\000.\000.\000.\000.\000)\000|\000(\000?\000<\000n\0001\000>\000.\000.\000.\000.\000.\000.\000.\000.\000.\000.\000.\000.\000.\000)\000|\000(\000?\000<\000n\0001\000>\000.\000.\000.\000.\000.\000.\000.\000.\000.\000.\000.\000.\000.\000.\000)\000)\000\134\000k\000<\000n\0001\000>\000$\000\000", "\000a\000-\000p\000y\000u\000m\000p\000y\000u\000m\000\000", 4, 20);
606   x3("\000(\000?\000:\000(\000?\000<\000n\0001\000>\000.\000)\000|\000(\000?\000<\000n\0001\000>\000.\000.\000)\000|\000(\000?\000<\000n\0001\000>\000.\000.\000.\000)\000|\000(\000?\000<\000n\0001\000>\000.\000.\000.\000.\000)\000|\000(\000?\000<\000n\0001\000>\000.\000.\000.\000.\000.\000)\000|\000(\000?\000<\000n\0001\000>\000.\000.\000.\000.\000.\000.\000)\000|\000(\000?\000<\000n\0001\000>\000.\000.\000.\000.\000.\000.\000.\000)\000|\000(\000?\000<\000n\0001\000>\000.\000.\000.\000.\000.\000.\000.\000.\000)\000|\000(\000?\000<\000n\0001\000>\000.\000.\000.\000.\000.\000.\000.\000.\000.\000)\000|\000(\000?\000<\000n\0001\000>\000.\000.\000.\000.\000.\000.\000.\000.\000.\000.\000)\000|\000(\000?\000<\000n\0001\000>\000.\000.\000.\000.\000.\000.\000.\000.\000.\000.\000.\000)\000|\000(\000?\000<\000n\0001\000>\000.\000.\000.\000.\000.\000.\000.\000.\000.\000.\000.\000.\000)\000|\000(\000?\000<\000n\0001\000>\000.\000.\000.\000.\000.\000.\000.\000.\000.\000.\000.\000.\000.\000)\000|\000(\000?\000<\000n\0001\000>\000.\000.\000.\000.\000.\000.\000.\000.\000.\000.\000.\000.\000.\000.\000)\000)\000\134\000k\000<\000n\0001\000>\000$\000\000", "\000x\000x\000x\000x\000a\000b\000c\000d\000e\000f\000g\000h\000i\000j\000k\000l\000m\000n\000a\000b\000c\000d\000e\000f\000g\000h\000i\000j\000k\000l\000m\000n\000\000", 8, 36, 14);
607   x3("\000(\000?\000<\000n\000a\000m\000e\0001\000>\000)\000(\000?\000<\000n\000a\000m\000e\0002\000>\000)\000(\000?\000<\000n\000a\000m\000e\0003\000>\000)\000(\000?\000<\000n\000a\000m\000e\0004\000>\000)\000(\000?\000<\000n\000a\000m\000e\0005\000>\000)\000(\000?\000<\000n\000a\000m\000e\0006\000>\000)\000(\000?\000<\000n\000a\000m\000e\0007\000>\000)\000(\000?\000<\000n\000a\000m\000e\0008\000>\000)\000(\000?\000<\000n\000a\000m\000e\0009\000>\000)\000(\000?\000<\000n\000a\000m\000e\0001\0000\000>\000)\000(\000?\000<\000n\000a\000m\000e\0001\0001\000>\000)\000(\000?\000<\000n\000a\000m\000e\0001\0002\000>\000)\000(\000?\000<\000n\000a\000m\000e\0001\0003\000>\000)\000(\000?\000<\000n\000a\000m\000e\0001\0004\000>\000)\000(\000?\000<\000n\000a\000m\000e\0001\0005\000>\000)\000(\000?\000<\000n\000a\000m\000e\0001\0006\000>\000a\000a\000a\000)\000(\000?\000<\000n\000a\000m\000e\0001\0007\000>\000)\000$\000\000", "\000a\000a\000a\000\000", 0, 6, 16);
608   x2("\000(\000?\000<\000f\000o\000o\000>\000a\000|\000\134\000(\000\134\000g\000<\000f\000o\000o\000>\000\134\000)\000)\000\000", "\000a\000\000", 0, 2);
609   x2("\000(\000?\000<\000f\000o\000o\000>\000a\000|\000\134\000(\000\134\000g\000<\000f\000o\000o\000>\000\134\000)\000)\000\000", "\000(\000(\000(\000(\000(\000(\000a\000)\000)\000)\000)\000)\000)\000\000", 0, 26);
610   x3("\000(\000?\000<\000f\000o\000o\000>\000a\000|\000\134\000(\000\134\000g\000<\000f\000o\000o\000>\000\134\000)\000)\000\000", "\000(\000(\000(\000(\000(\000(\000(\000(\000a\000)\000)\000)\000)\000)\000)\000)\000)\000\000", 0, 34, 1);
611   x2("\000\134\000g\000<\000b\000a\000r\000>\000|\000\134\000z\000E\000N\000D\000(\000?\000<\000b\000a\000r\000>\000.\000*\000a\000b\000c\000$\000)\000\000", "\000a\000b\000c\000x\000x\000x\000a\000b\000c\000\000", 0, 18);
612   x2("\000\134\000g\000<\0001\000>\000|\000\134\000z\000E\000N\000D\000(\000.\000a\000.\000)\000\000", "\000b\000a\000c\000\000", 0, 6);
613   x3("\000\134\000g\000<\000_\000A\000>\000\134\000g\000<\000_\000A\000>\000|\000\134\000z\000E\000N\000D\000(\000.\000a\000.\000)\000(\000?\000<\000_\000A\000>\000.\000b\000.\000)\000\000", "\000x\000b\000x\000y\000b\000y\000\000", 6, 12, 1);
614   x2("\000\134\000A\000(\000?\000:\000\134\000g\000<\000p\000o\000n\000>\000|\000\134\000g\000<\000p\000a\000n\000>\000|\000\134\000z\000E\000N\000D\000 \000 \000(\000?\000<\000p\000a\000n\000>\000a\000|\000c\000\134\000g\000<\000p\000o\000n\000>\000c\000)\000(\000?\000<\000p\000o\000n\000>\000b\000|\000d\000\134\000g\000<\000p\000a\000n\000>\000d\000)\000)\000$\000\000", "\000c\000d\000c\000b\000c\000d\000c\000\000", 0, 14);
615   x2("\000\134\000A\000(\000?\000<\000n\000>\000|\000a\000\134\000g\000<\000m\000>\000)\000\134\000z\000|\000\134\000z\000E\000N\000D\000 \000(\000?\000<\000m\000>\000\134\000g\000<\000n\000>\000)\000\000", "\000a\000a\000a\000a\000\000", 0, 8);
616   x2("\000(\000?\000<\000n\000>\000(\000a\000|\000b\000\134\000g\000<\000n\000>\000c\000)\000{\0003\000,\0005\000}\000)\000\000", "\000b\000a\000a\000a\000a\000c\000a\000\000", 2, 10);
617   x2("\000(\000?\000<\000n\000>\000(\000a\000|\000b\000\134\000g\000<\000n\000>\000c\000)\000{\0003\000,\0005\000}\000)\000\000", "\000b\000a\000a\000a\000a\000c\000a\000a\000a\000a\000a\000\000", 0, 20);
618   x2("\000(\000?\000<\000p\000a\000r\000e\000>\000\134\000(\000(\000[\000^\000\134\000(\000\134\000)\000]\000+\000+\000|\000\134\000g\000<\000p\000a\000r\000e\000>\000)\000*\000+\000\134\000)\000)\000\000", "\000(\000(\000a\000)\000)\000\000", 0, 10);
619   x2("\000(\000)\000*\000\134\0001\000\000", "\000\000", 0, 0);
620   x2("\000(\000?\000:\000(\000)\000|\000(\000)\000)\000*\000\134\0001\000\134\0002\000\000", "\000\000", 0, 0);
621   x3("\000(\000?\000:\000\134\0001\000a\000|\000(\000)\000)\000*\000\000", "\000a\000\000", 0, 0, 1);
622   x2("\000x\000(\000(\000.\000)\000*\000)\000*\000x\000\000", "\0000\000x\0001\000x\0002\000x\0003\000\000", 2, 12);
623   x2("\000x\000(\000(\000.\000)\000*\000)\000*\000x\000(\000?\000i\000:\000\134\0001\000)\000\134\000Z\000\000", "\0000\000x\0001\000x\0002\000x\0001\000X\0002\000\000", 2, 18);
624   x2("\000(\000?\000:\000(\000)\000|\000(\000)\000|\000(\000)\000|\000(\000)\000|\000(\000)\000|\000(\000)\000)\000*\000\134\0002\000\134\0005\000\000", "\000\000", 0, 0);
625   x2("\000(\000?\000:\000(\000)\000|\000(\000)\000|\000(\000)\000|\000(\000x\000)\000|\000(\000)\000|\000(\000)\000)\000*\000\134\0002\000b\000\134\0005\000\000", "\000b\000\000", 0, 2);
626   x2("\217\372\000\000", "\217\372\000\000", 0, 2);
627   x2("\000\000", "0B\000\000", 0, 0);
628   x2("0B\000\000", "0B\000\000", 0, 2);
629   n("0D\000\000", "0B\000\000");
630   x2("0F0F\000\000", "0F0F\000\000", 0, 4);
631   x2("0B0D0F\000\000", "0B0D0F\000\000", 0, 6);
632   x2("0S0S0S0S0S0S0S0S0S0S0S0S0S0S0S0S0S0S0S0S0S0S0S0S0S0S0S0S0S0S0S0S0S0S0S\000\000", "0S0S0S0S0S0S0S0S0S0S0S0S0S0S0S0S0S0S0S0S0S0S0S0S0S0S0S0S0S0S0S0S0S0S0S\000\000", 0, 70);
633   x2("0B\000\000", "0D0B\000\000", 2, 4);
634   x2("0D0F\000\000", "0B0D0F\000\000", 2, 6);
635   x2("e\207\000\000", "e\207\000\000", 0, 2);
636   x2("\000.\000\000", "0B\000\000", 0, 2);
637   x2("\000.\000.\000\000", "0K0M\000\000", 0, 4);
638   x2("\000\134\000w\000\000", "0J\000\000", 0, 2);
639   n("\000\134\000W\000\000", "0B\000\000");
640   x2("\000[\000\134\000W\000]\000\000", "0F\000$\000\000", 2, 4);
641   x2("\000\134\000S\000\000", "0]\000\000", 0, 2);
642   x2("\000\134\000S\000\000", "o\042\000\000", 0, 2);
643   x2("\000\134\000b\000\000", "l\027\000 \000\000", 0, 0);
644   x2("\000\134\000b\000\000", "\000 0{\000\000", 2, 2);
645   x2("\000\134\000B\000\000", "0[0]\000 \000\000", 2, 2);
646   x2("\000\134\000B\000\000", "0F\000 \000\000", 4, 4);
647   x2("\000\134\000B\000\000", "\000 0D\000\000", 0, 0);
648   x2("\000[0_0a\000]\000\000", "0a\000\000", 0, 2);
649   n("\000[0j0k\000]\000\000", "0l\000\000");
650   x2("\000[0F\000-0J\000]\000\000", "0H\000\000", 0, 2);
651   n("\000[\000^0Q\000]\000\000", "0Q\000\000");
652   x2("\000[\000\134\000w\000]\000\000", "0m\000\000", 0, 2);
653   n("\000[\000\134\000d\000]\000\000", "0u\000\000");
654   x2("\000[\000\134\000D\000]\000\000", "0o\000\000", 0, 2);
655   n("\000[\000\134\000s\000]\000\000", "0O\000\000");
656   x2("\000[\000\134\000S\000]\000\000", "0x\000\000", 0, 2);
657   x2("\000[\000\134\000w\000\134\000d\000]\000\000", "0\210\000\000", 0, 2);
658   x2("\000[\000\134\000w\000\134\000d\000]\000\000", "\000 \000 \000 0\210\000\000", 6, 8);
659   n("\000\134\000w\233<\216\312\000\000", "\000 \233<\216\312\000\000");
660   x2("\233<\000\134\000W\216\312\000\000", "\233<\000 \216\312\000\000", 0, 6);
661   x2("0B\000.0D\000.0F\000\000", "0B0B0D0D0F\000\000", 0, 10);
662   x2("\000.\000\134\000w0F\000\134\000W\000.\000.0^\000\000", "0H0F0F\000 0F0^0^\000\000", 0, 14);
663   x2("\000\134\000s\000\134\000w0S0S0S\000\000", "\000 0S0S0S0S\000\000", 0, 10);
664   x2("0B0B\000.0Q\000\000", "0B0B0Q0Q\000\000", 0, 8);
665   n("\000.0D\000\000", "0D0H\000\000");
666   x2("\000.0J\000\000", "0J0J\000\000", 0, 4);
667   x2("\000^0B\000\000", "0B\000\000", 0, 2);
668   x2("\000^0\200\000$\000\000", "0\200\000\000", 0, 2);
669   x2("\000^\000\134\000w\000$\000\000", "0k\000\000", 0, 2);
670   x2("\000^\000\134\000w0K0M0O0Q0S\000$\000\000", "\000z0K0M0O0Q0S\000\000", 0, 12);
671   x2("\000^\000\134\000w\000.\000.\000.0F0H0J\000$\000\000", "\000z0B0D0F0F0H0J\000\000", 0, 14);
672   x2("\000\134\000w\000\134\000w\000\134\000s\000\134\000W0J0J0J\000\134\000d\000\000", "\000a0J\000 \000 0J0J0J\0004\000\000", 0, 16);
673   x2("\000\134\000A0_0a0d\000\000", "0_0a0d\000\000", 0, 6);
674   x2("0\2000\2010\202\000\134\000Z\000\000", "0\2000\2010\202\000\000", 0, 6);
675   x2("0K0M0O\000\134\000z\000\000", "0K0M0O\000\000", 0, 6);
676   x2("0K0M0O\000\134\000Z\000\000", "0K0M0O\000\012\000\000", 0, 6);
677   x2("\000\134\000G0}0t\000\000", "0}0t\000\000", 0, 4);
678   n("\000\134\000G0H\000\000", "0F0H0J\000\000");
679   n("0h0f\000\134\000G\000\000", "0h0f\000\000");
680   n("0~0\177\000\134\000A\000\000", "0~0\177\000\000");
681   n("0~\000\134\000A0\177\000\000", "0~0\177\000\000");
682   x2("\000(\000?\000=0[\000)0[\000\000", "0[\000\000", 0, 2);
683   n("\000(\000?\000=0F\000)\000.\000\000", "0D\000\000");
684   x2("\000(\000?\000!0F\000)0K\000\000", "0K\000\000", 0, 2);
685   n("\000(\000?\000!0h\000)0B\000\000", "0h\000\000");
686   x2("\000(\000?\000i\000:0B\000)\000\000", "0B\000\000", 0, 2);
687   x2("\000(\000?\000i\000:0v0y\000)\000\000", "0v0y\000\000", 0, 4);
688   n("\000(\000?\000i\000:0D\000)\000\000", "0F\000\000");
689   x2("\000(\000?\000m\000:0\210\000.\000)\000\000", "0\210\000\012\000\000", 0, 4);
690   x2("\000(\000?\000m\000:\000.0\201\000)\000\000", "0~\000\0120\201\000\000", 2, 6);
691   x2("0B\000?\000\000", "\000\000", 0, 0);
692   x2("Y\011\000?\000\000", "S\026\000\000", 0, 0);
693   x2("Y\011\000?\000\000", "Y\011\000\000", 0, 2);
694   x2("\221\317\000*\000\000", "\000\000", 0, 0);
695   x2("\221\317\000*\000\000", "\221\317\000\000", 0, 2);
696   x2("[P\000*\000\000", "[P[P[P\000\000", 0, 6);
697   x2("\231\254\000*\000\000", "\236\177\231\254\231\254\231\254\231\254\000\000", 0, 0);
698   n("\134q\000+\000\000", "\000\000");
699   x2("l\263\000+\000\000", "l\263\000\000", 0, 2);
700   x2("fB\000+\000\000", "fBfBfBfB\000\000", 0, 8);
701   x2("0H\000+\000\000", "0H0H0F0F0F\000\000", 0, 4);
702   x2("0F\000+\000\000", "0J0F0F0F0F\000\000", 2, 10);
703   x2("\000.\000?\000\000", "0_\000\000", 0, 2);
704   x2("\000.\000*\000\000", "0q0t0w0z\000\000", 0, 8);
705   x2("\000.\000+\000\000", "0\215\000\000", 0, 2);
706   x2("\000.\000+\000\000", "0D0F0H0K\000\012\000\000", 0, 8);
707   x2("0B\000|0D\000\000", "0B\000\000", 0, 2);
708   x2("0B\000|0D\000\000", "0D\000\000", 0, 2);
709   x2("0B0D\000|0D0F\000\000", "0B0D\000\000", 0, 4);
710   x2("0B0D\000|0D0F\000\000", "0D0F\000\000", 0, 4);
711   x2("0\222\000(\000?\000:0K0M\000|0M0O\000)\000\000", "0\2220K0M\000\000", 0, 6);
712   x2("0\222\000(\000?\000:0K0M\000|0M0O\000)0Q\000\000", "0\2220M0O0Q\000\000", 0, 8);
713   x2("0B0D\000|\000(\000?\000:0B0F\000|0B0\222\000)\000\000", "0B0\222\000\000", 0, 4);
714   x2("0B\000|0D\000|0F\000\000", "0H0F\000\000", 2, 4);
715   x2("0B\000|0D\000|0F0H\000|0J0K0M\000|0O\000|0Q0S0U\000|0W0Y0[\000|0]\000|0_0a\000|0d0f0h0j0k\000|0l0m\000\000", "0W0Y0[\000\000", 0, 6);
716   n("0B\000|0D\000|0F0H\000|0J0K0M\000|0O\000|0Q0S0U\000|0W0Y0[\000|0]\000|0_0a\000|0d0f0h0j0k\000|0l0m\000\000", "0Y0[\000\000");
717   x2("0B\000|\000^0\217\000\000", "0v0B\000\000", 2, 4);
718   x2("0B\000|\000^0\222\000\000", "0\2220B\000\000", 0, 2);
719   x2("\233<\000|\000\134\000G\216\312\000\000", "0Q\216\312\233<\000\000", 4, 6);
720   x2("\233<\000|\000\134\000G\216\312\000\000", "\216\312\233<\000\000", 0, 2);
721   x2("\233<\000|\000\134\000A\216\312\000\000", "\000b\216\312\233<\000\000", 4, 6);
722   x2("\233<\000|\000\134\000A\216\312\000\000", "\216\312\000\000", 0, 2);
723   x2("\233<\000|\216\312\000\134\000Z\000\000", "\216\312\233<\000\000", 2, 4);
724   x2("\233<\000|\216\312\000\134\000Z\000\000", "\216\312\000\000", 0, 2);
725   x2("\233<\000|\216\312\000\134\000Z\000\000", "\216\312\000\012\000\000", 0, 2);
726   x2("\233<\000|\216\312\000\134\000z\000\000", "\216\312\233<\000\000", 2, 4);
727   x2("\233<\000|\216\312\000\134\000z\000\000", "\216\312\000\000", 0, 2);
728   x2("\000\134\000w\000|\000\134\000s\000\000", "0J\000\000", 0, 2);
729   x2("\000\134\000w\000|\000%\000\000", "\000%0J\000\000", 0, 2);
730   x2("\000\134\000w\000|\000[\000&\000$\000]\000\000", "0F\000&\000\000", 0, 2);
731   x2("\000[0D\000-0Q\000]\000\000", "0F\000\000", 0, 2);
732   x2("\000[0D\000-0Q\000]\000|\000[\000^0K\000-0S\000]\000\000", "0B\000\000", 0, 2);
733   x2("\000[0D\000-0Q\000]\000|\000[\000^0K\000-0S\000]\000\000", "0K\000\000", 0, 2);
734   x2("\000[\000^0B\000]\000\000", "\000\012\000\000", 0, 2);
735   x2("\000(\000?\000:0B\000|\000[0F\000-0M\000]\000)\000|0D0\222\000\000", "0F0\222\000\000", 0, 2);
736   x2("\000(\000?\000:0B\000|\000[0F\000-0M\000]\000)\000|0D0\222\000\000", "0D0\222\000\000", 0, 4);
737   x2("0B0D0F\000|\000(\000?\000=0Q0Q\000)\000.\000.0{\000\000", "0Q0Q0{\000\000", 0, 6);
738   x2("0B0D0F\000|\000(\000?\000!0Q0Q\000)\000.\000.0{\000\000", "0B0D0{\000\000", 0, 6);
739   x2("\000(\000?\000=0\2220B\000)\000.\000.0B\000|\000(\000?\000=0\2220\222\000)\000.\000.0B\000\000", "0\2220\2220B\000\000", 0, 6);
740   x2("\000(\000?\000<\000=0B\000|0D0F\000)0D\000\000", "0D0F0D\000\000", 4, 6);
741   n("\000(\000?\000>0B\000|0B0D0H\000)0F\000\000", "0B0D0H0F\000\000");
742   x2("\000(\000?\000>0B0D0H\000|0B\000)0F\000\000", "0B0D0H0F\000\000", 0, 8);
743   x2("0B\000?\000|0D\000\000", "0B\000\000", 0, 2);
744   x2("0B\000?\000|0D\000\000", "0D\000\000", 0, 0);
745   x2("0B\000?\000|0D\000\000", "\000\000", 0, 0);
746   x2("0B\000*\000|0D\000\000", "0B0B\000\000", 0, 4);
747   x2("0B\000*\000|0D\000*\000\000", "0D0B\000\000", 0, 0);
748   x2("0B\000*\000|0D\000*\000\000", "0B0D\000\000", 0, 2);
749   x2("\000[\000a0B\000]\000*\000|0D\000*\000\000", "\000a0B0D0D0D\000\000", 0, 4);
750   x2("0B\000+\000|0D\000*\000\000", "\000\000", 0, 0);
751   x2("0B\000+\000|0D\000*\000\000", "0D0D0D\000\000", 0, 6);
752   x2("0B\000+\000|0D\000*\000\000", "0B0D0D0D\000\000", 0, 2);
753   x2("0B\000+\000|0D\000*\000\000", "\000a0B0D0D0D\000\000", 0, 0);
754   n("0B\000+\000|0D\000+\000\000", "\000\000");
755   x2("\000(0B\000|0D\000)\000?\000\000", "0D\000\000", 0, 2);
756   x2("\000(0B\000|0D\000)\000*\000\000", "0D0B\000\000", 0, 4);
757   x2("\000(0B\000|0D\000)\000+\000\000", "0D0B0D\000\000", 0, 6);
758   x2("\000(0B0D\000|0F0B\000)\000+\000\000", "0F0B0B0D0F0H\000\000", 0, 8);
759   x2("\000(0B0D\000|0F0H\000)\000+\000\000", "0F0B0B0D0F0H\000\000", 4, 12);
760   x2("\000(0B0D\000|0F0B\000)\000+\000\000", "0B0B0D0F0B\000\000", 2, 10);
761   x2("\000(0B0D\000|0F0B\000)\000+\000\000", "0B0D0\2220F0B\000\000", 0, 4);
762   x2("\000(0B0D\000|0F0B\000)\000+\000\000", "\000$\000$\000z\000z\000z\000z0B0D0\2220F0B\000\000", 12, 16);
763   x2("\000(0B\000|0D0B0D\000)\000+\000\000", "0B0D0B0D0B\000\000", 0, 10);
764   x2("\000(0B\000|0D0B0D\000)\000+\000\000", "0D0B\000\000", 2, 4);
765   x2("\000(0B\000|0D0B0D\000)\000+\000\000", "0D0B0B0B0D0B\000\000", 2, 8);
766   x2("\000(\000?\000:0B\000|0D\000)\000(\000?\000:0B\000|0D\000)\000\000", "0B0D\000\000", 0, 4);
767   x2("\000(\000?\000:0B\000*\000|0D\000*\000)\000(\000?\000:0B\000*\000|0D\000*\000)\000\000", "0B0B0B0D0D0D\000\000", 0, 6);
768   x2("\000(\000?\000:0B\000*\000|0D\000*\000)\000(\000?\000:0B\000+\000|0D\000+\000)\000\000", "0B0B0B0D0D0D\000\000", 0, 12);
769   x2("\000(\000?\000:0B\000+\000|0D\000+\000)\000{\0002\000}\000\000", "0B0B0B0D0D0D\000\000", 0, 12);
770   x2("\000(\000?\000:0B\000+\000|0D\000+\000)\000{\0001\000,\0002\000}\000\000", "0B0B0B0D0D0D\000\000", 0, 12);
771   x2("\000(\000?\000:0B\000+\000|\000\134\000A0D\000*\000)0F0F\000\000", "0F0F\000\000", 0, 4);
772   n("\000(\000?\000:0B\000+\000|\000\134\000A0D\000*\000)0F0F\000\000", "0B0D0F0F\000\000");
773   x2("\000(\000?\000:\000^0B\000+\000|0D\000+\000)\000*0F\000\000", "0B0B0D0D0D0B0D0F\000\000", 12, 16);
774   x2("\000(\000?\000:\000^0B\000+\000|0D\000+\000)\000*0F\000\000", "0B0B0D0D0D0D0F\000\000", 0, 14);
775   x2("0F\000{\0000\000,\000}\000\000", "0F0F0F0F\000\000", 0, 8);
776   x2("0B\000|\000(\000?\000i\000)\000c\000\000", "\000C\000\000", 0, 2);
777   x2("\000(\000?\000i\000)\000c\000|0B\000\000", "\000C\000\000", 0, 2);
778   x2("\000(\000?\000i\000:0B\000)\000|\000a\000\000", "\000a\000\000", 0, 2);
779   n("\000(\000?\000i\000:0B\000)\000|\000a\000\000", "\000A\000\000");
780   x2("\000[0B0D0F\000]\000?\000\000", "0B0D0F\000\000", 0, 2);
781   x2("\000[0B0D0F\000]\000*\000\000", "0B0D0F\000\000", 0, 6);
782   x2("\000[\000^0B0D0F\000]\000*\000\000", "0B0D0F\000\000", 0, 0);
783   n("\000[\000^0B0D0F\000]\000+\000\000", "0B0D0F\000\000");
784   x2("0B\000?\000?\000\000", "0B0B0B\000\000", 0, 0);
785   x2("0D0B\000?\000?0D\000\000", "0D0B0D\000\000", 0, 6);
786   x2("0B\000*\000?\000\000", "0B0B0B\000\000", 0, 0);
787   x2("0D0B\000*\000?\000\000", "0D0B0B\000\000", 0, 2);
788   x2("0D0B\000*\000?0D\000\000", "0D0B0B0D\000\000", 0, 8);
789   x2("0B\000+\000?\000\000", "0B0B0B\000\000", 0, 2);
790   x2("0D0B\000+\000?\000\000", "0D0B0B\000\000", 0, 4);
791   x2("0D0B\000+\000?0D\000\000", "0D0B0B0D\000\000", 0, 8);
792   x2("\000(\000?\000:Y)\000?\000)\000?\000?\000\000", "Y)\000\000", 0, 0);
793   x2("\000(\000?\000:Y)\000?\000?\000)\000?\000\000", "Y)\000\000", 0, 0);
794   x2("\000(\000?\000:Y\042\000?\000)\000+\000?\000\000", "Y\042Y\042Y\042\000\000", 0, 2);
795   x2("\000(\000?\000:\230\250\000+\000)\000?\000?\000\000", "\230\250\230\250\230\250\000\000", 0, 0);
796   x2("\000(\000?\000:\226\352\000+\000)\000?\000?\227\034\000\000", "\226\352\226\352\226\352\227\034\000\000", 0, 8);
797   x2("\000(\000?\000:0B0D\000)\000?\000{\0002\000}\000\000", "\000\000", 0, 0);
798   x2("\000(\000?\000:\233<\216\312\000)\000?\000{\0002\000}\000\000", "\233<\216\312\233<\216\312\233<\000\000", 0, 8);
799   x2("\000(\000?\000:\233<\216\312\000)\000*\000{\0000\000}\000\000", "\233<\216\312\233<\216\312\233<\000\000", 0, 0);
800   x2("\000(\000?\000:\233<\216\312\000)\000{\0003\000,\000}\000\000", "\233<\216\312\233<\216\312\233<\216\312\233<\216\312\000\000", 0, 16);
801   n("\000(\000?\000:\233<\216\312\000)\000{\0003\000,\000}\000\000", "\233<\216\312\233<\216\312\000\000");
802   x2("\000(\000?\000:\233<\216\312\000)\000{\0002\000,\0004\000}\000\000", "\233<\216\312\233<\216\312\233<\216\312\000\000", 0, 12);
803   x2("\000(\000?\000:\233<\216\312\000)\000{\0002\000,\0004\000}\000\000", "\233<\216\312\233<\216\312\233<\216\312\233<\216\312\233<\216\312\000\000", 0, 16);
804   x2("\000(\000?\000:\233<\216\312\000)\000{\0002\000,\0004\000}\000?\000\000", "\233<\216\312\233<\216\312\233<\216\312\233<\216\312\233<\216\312\000\000", 0, 8);
805   x2("\000(\000?\000:\233<\216\312\000)\000{\000,\000}\000\000", "\233<\216\312\000{\000,\000}\000\000", 0, 10);
806   x2("\000(\000?\000:0K0M0O\000)\000+\000?\000{\0002\000}\000\000", "0K0M0O0K0M0O0K0M0O\000\000", 0, 12);
807   x3("\000(pk\000)\000\000", "pk\000\000", 0, 2, 1);
808   x3("\000(pkl4\000)\000\000", "pkl4\000\000", 0, 4, 1);
809   x2("\000(\000(fB\225\223\000)\000)\000\000", "fB\225\223\000\000", 0, 4);
810   x3("\000(\000(\230\250l4\000)\000)\000\000", "\230\250l4\000\000", 0, 4, 1);
811   x3("\000(\000(f(e\345\000)\000)\000\000", "f(e\345\000\000", 0, 4, 2);
812   x3("\000(\000(\000(\000(\000(\000(\000(\000(\000(\000(\000(\000(\000(\000(\000(\000(\000(\000(\000(\000(\221\317[P\000)\000)\000)\000)\000)\000)\000)\000)\000)\000)\000)\000)\000)\000)\000)\000)\000)\000)\000)\000)\000\000", "\221\317[P\000\000", 0, 4, 20);
813   x3("\000(0B0D\000)\000(0F0H\000)\000\000", "0B0D0F0H\000\000", 0, 4, 1);
814   x3("\000(0B0D\000)\000(0F0H\000)\000\000", "0B0D0F0H\000\000", 4, 8, 2);
815   x3("\000(\000)\000(0B\000)0D0F\000(0H0J0K\000)0M0O0Q0S\000\000", "0B0D0F0H0J0K0M0O0Q0S\000\000", 6, 12, 3);
816   x3("\000(\000(\000)\000(0B\000)0D0F\000(0H0J0K\000)0M0O0Q0S\000)\000\000", "0B0D0F0H0J0K0M0O0Q0S\000\000", 6, 12, 4);
817   x3("\000.\000*\000(0\3250\251\000)0\3630\3730\336\000(0\363\000(\000)0\2670\3450\277\000)0\2440\363\000\000", "0\3250\2510\3630\3730\3360\3630\2670\3450\2770\2440\363\000\000", 10, 18, 2);
818   x2("\000(\000^0B\000)\000\000", "0B\000\000", 0, 2);
819   x3("\000(0B\000)\000|\000(0B\000)\000\000", "0D0B\000\000", 2, 4, 1);
820   x3("\000(\000^0B\000)\000|\000(0B\000)\000\000", "0D0B\000\000", 2, 4, 2);
821   x3("\000(0B\000?\000)\000\000", "0B0B0B\000\000", 0, 2, 1);
822   x3("\000(0~\000*\000)\000\000", "0~0~0~\000\000", 0, 6, 1);
823   x3("\000(0h\000*\000)\000\000", "\000\000", 0, 0, 1);
824   x3("\000(0\213\000+\000)\000\000", "0\2130\2130\2130\2130\2130\2130\213\000\000", 0, 14, 1);
825   x3("\000(0u\000+\000|0x\000*\000)\000\000", "0u0u0u0x0x\000\000", 0, 6, 1);
826   x3("\000(0B\000+\000|0D\000?\000)\000\000", "0D0D0D0B0B\000\000", 0, 2, 1);
827   x3("\000(0B0D0F\000)\000?\000\000", "0B0D0F\000\000", 0, 6, 1);
828   x3("\000(0B0D0F\000)\000*\000\000", "0B0D0F\000\000", 0, 6, 1);
829   x3("\000(0B0D0F\000)\000+\000\000", "0B0D0F\000\000", 0, 6, 1);
830   x3("\000(0U0W0Y\000|0B0D0F\000)\000+\000\000", "0B0D0F\000\000", 0, 6, 1);
831   x3("\000(\000[0j0k0l\000]\000[0K0M0O\000]\000|0K0M0O\000)\000+\000\000", "0K0M0O\000\000", 0, 6, 1);
832   x3("\000(\000(\000?\000i\000:0B0D0F\000)\000)\000\000", "0B0D0F\000\000", 0, 6, 1);
833   x3("\000(\000(\000?\000m\000:0B\000.0F\000)\000)\000\000", "0B\000\0120F\000\000", 0, 6, 1);
834   x3("\000(\000(\000?\000=0B0\223\000)0B\000)\000\000", "0B0\2230D\000\000", 0, 2, 1);
835   x3("0B0D0F\000|\000(\000.0B0D0H\000)\000\000", "0\2230B0D0H\000\000", 0, 8, 1);
836   x3("0B\000*\000(\000.\000)\000\000", "0B0B0B0B0\223\000\000", 8, 10, 1);
837   x3("0B\000*\000?\000(\000.\000)\000\000", "0B0B0B0B0\223\000\000", 0, 2, 1);
838   x3("0B\000*\000?\000(0\223\000)\000\000", "0B0B0B0B0\223\000\000", 8, 10, 1);
839   x3("\000[0D0F0H\000]0B\000*\000(\000.\000)\000\000", "0H0B0B0B0B0\223\000\000", 10, 12, 1);
840   x3("\000(\000\134\000A0D0D\000)0F0F\000\000", "0D0D0F0F\000\000", 0, 4, 1);
841   n("\000(\000\134\000A0D0D\000)0F0F\000\000", "0\2230D0D0F0F\000\000");
842   x3("\000(\000^0D0D\000)0F0F\000\000", "0D0D0F0F\000\000", 0, 4, 1);
843   n("\000(\000^0D0D\000)0F0F\000\000", "0\2230D0D0F0F\000\000");
844   x3("0\2150\215\000(0\2130\213\000$\000)\000\000", "0\2150\2150\2130\213\000\000", 4, 8, 1);
845   n("0\2150\215\000(0\2130\213\000$\000)\000\000", "0\2150\2150\2130\2130\213\000\000");
846   x2("\000(q!\000)\000\134\0001\000\000", "q!q!\000\000", 0, 4);
847   n("\000(q!\000)\000\134\0001\000\000", "q!kf\000\000");
848   x2("\000(zz\000?\000)\000\134\0001\000\000", "zzzz\000\000", 0, 4);
849   x2("\000(zz\000?\000?\000)\000\134\0001\000\000", "zzzz\000\000", 0, 0);
850   x2("\000(zz\000*\000)\000\134\0001\000\000", "zzzzzzzzzz\000\000", 0, 8);
851   x3("\000(zz\000*\000)\000\134\0001\000\000", "zzzzzzzzzz\000\000", 0, 4, 1);
852   x2("0B\000(0D\000*\000)\000\134\0001\000\000", "0B0D0D0D0D\000\000", 0, 10);
853   x2("0B\000(0D\000*\000)\000\134\0001\000\000", "0B0D\000\000", 0, 2);
854   x2("\000(0B\000*\000)\000(0D\000*\000)\000\134\0001\000\134\0002\000\000", "0B0B0B0D0D0B0B0B0D0D\000\000", 0, 20);
855   x2("\000(0B\000*\000)\000(0D\000*\000)\000\134\0002\000\000", "0B0B0B0D0D0D0D\000\000", 0, 14);
856   x3("\000(0B\000*\000)\000(0D\000*\000)\000\134\0002\000\000", "0B0B0B0D0D0D0D\000\000", 6, 10, 2);
857   x2("\000(\000(\000(\000(\000(\000(\000(0}\000*\000)0z\000)\000)\000)\000)\000)\000)0t\000\134\0007\000\000", "0}0}0}0z0t0}0}0}\000\000", 0, 16);
858   x3("\000(\000(\000(\000(\000(\000(\000(0}\000*\000)0z\000)\000)\000)\000)\000)\000)0t\000\134\0007\000\000", "0}0}0}0z0t0}0}0}\000\000", 0, 6, 7);
859   x2("\000(0o\000)\000(0r\000)\000(0u\000)\000\134\0002\000\134\0001\000\134\0003\000\000", "0o0r0u0r0o0u\000\000", 0, 12);
860   x2("\000(\000[0M\000-0Q\000]\000)\000\134\0001\000\000", "0O0O\000\000", 0, 4);
861   x2("\000(\000\134\000w\000\134\000d\000\134\000s\000)\000\134\0001\000\000", "0B\0005\000 0B\0005\000 \000\000", 0, 12);
862   n("\000(\000\134\000w\000\134\000d\000\134\000s\000)\000\134\0001\000\000", "0B\0005\000 0B\0005\000\000");
863   x2("\000(\212\260\377\037\000|\000[0B\000-0F\000]\000{\0003\000}\000)\000\134\0001\000\000", "\212\260\377\037\212\260\377\037\000\000", 0, 8);
864   x2("\000.\000.\000.\000(\212\260\377\037\000|\000[0B\000-0F\000]\000{\0003\000}\000)\000\134\0001\000\000", "0B\000a0B\212\260\377\037\212\260\377\037\000\000", 0, 14);
865   x2("\000(\212\260\377\037\000|\000[0B\000-0F\000]\000{\0003\000}\000)\000\134\0001\000\000", "0F0D0F0F0D0F\000\000", 0, 12);
866   x2("\000(\000^0S\000)\000\134\0001\000\000", "0S0S\000\000", 0, 4);
867   n("\000(\000^0\200\000)\000\134\0001\000\000", "0\2010\2000\200\000\000");
868   n("\000(0B\000$\000)\000\134\0001\000\000", "0B0B\000\000");
869   n("\000(0B0D\000\134\000Z\000)\000\134\0001\000\000", "0B0D\000\000");
870   x2("\000(0B\000*\000\134\000Z\000)\000\134\0001\000\000", "0B\000\000", 2, 2);
871   x2("\000.\000(0B\000*\000\134\000Z\000)\000\134\0001\000\000", "0D0B\000\000", 2, 4);
872   x3("\000(\000.\000(0\2040D0\206\000)\000\134\0002\000)\000\000", "\000z0\2040D0\2060\2040D0\206\000\000", 0, 14, 1);
873   x3("\000(\000.\000(\000.\000.\000\134\000d\000.\000)\000\134\0002\000)\000\000", "0B\0001\0002\0003\0004\0001\0002\0003\0004\000\000", 0, 18, 1);
874   x2("\000(\000(\000?\000i\000:0B\000v0Z\000)\000)\000\134\0001\000\000", "0B\000v0Z0B\000v0Z\000\000", 0, 12);
875   x2("\000(\000?\000<a\0320K\000>Y\011\000|\000\134\000(\000\134\000g\000<a\0320K\000>\000\134\000)\000)\000\000", "\000(\000(\000(\000(\000(\000(Y\011\000)\000)\000)\000)\000)\000)\000\000", 0, 26);
876   x2("\000\134\000A\000(\000?\000:\000\134\000g\000<\226?\000_\0001\000>\000|\000\134\000g\000<N\221\000_\0002\000>\000|\000\134\000z}BN\206\000 \000 \000(\000?\000<\226?\000_\0001\000>\211\263\000|\201\352\000\134\000g\000<N\221\000_\0002\000>\201\352\000)\000(\000?\000<N\221\000_\0002\000>W(\000|\203\351\205\251\000\134\000g\000<\226?\000_\0001\000>\203\351\205\251\000)\000)\000$\000\000", "\203\351\205\251\201\352\203\351\205\251\201\352W(\201\352\203\351\205\251\201\352\203\351\205\251\000\000", 0, 26);
877   x2("\000[\000[0r0u\000]\000]\000\000", "0u\000\000", 0, 2);
878   x2("\000[\000[0D0J0F\000]0K\000]\000\000", "0K\000\000", 0, 2);
879   n("\000[\000[\000^0B\000]\000]\000\000", "0B\000\000");
880   n("\000[\000^\000[0B\000]\000]\000\000", "0B\000\000");
881   x2("\000[\000^\000[\000^0B\000]\000]\000\000", "0B\000\000", 0, 2);
882   x2("\000[\000[0K0M0O\000]\000&\000&0M0O\000]\000\000", "0O\000\000", 0, 2);
883   n("\000[\000[0K0M0O\000]\000&\000&0M0O\000]\000\000", "0K\000\000");
884   n("\000[\000[0K0M0O\000]\000&\000&0M0O\000]\000\000", "0Q\000\000");
885   x2("\000[0B\000-0\223\000&\000&0D\000-0\222\000&\000&0F\000-0\221\000]\000\000", "0\221\000\000", 0, 2);
886   n("\000[\000^0B\000-0\223\000&\000&0D\000-0\222\000&\000&0F\000-0\221\000]\000\000", "0\221\000\000");
887   x2("\000[\000[\000^0B\000&\000&0B\000]\000&\000&0B\000-0\223\000]\000\000", "0D\000\000", 0, 2);
888   n("\000[\000[\000^0B\000&\000&0B\000]\000&\000&0B\000-0\223\000]\000\000", "0B\000\000");
889   x2("\000[\000[\000^0B\000-0\223\000&\000&0D0F0H0J\000]\000&\000&\000[\000^0F\000-0K\000]\000]\000\000", "0M\000\000", 0, 2);
890   n("\000[\000[\000^0B\000-0\223\000&\000&0D0F0H0J\000]\000&\000&\000[\000^0F\000-0K\000]\000]\000\000", "0D\000\000");
891   x2("\000[\000^\000[\000^0B0D0F\000]\000&\000&\000[\000^0F0H0J\000]\000]\000\000", "0F\000\000", 0, 2);
892   x2("\000[\000^\000[\000^0B0D0F\000]\000&\000&\000[\000^0F0H0J\000]\000]\000\000", "0H\000\000", 0, 2);
893   n("\000[\000^\000[\000^0B0D0F\000]\000&\000&\000[\000^0F0H0J\000]\000]\000\000", "0K\000\000");
894   x2("\000[0B\000-\000&\000&\000-0B\000]\000\000", "\000-\000\000", 0, 2);
895   x2("\000[\000^\000[\000^\000a\000-\000z0B0D0F\000]\000&\000&\000[\000^\000b\000c\000d\000e\000f\000g0F0H0J\000]\000q\000-\000w\000]\000\000", "0H\000\000", 0, 2);
896   x2("\000[\000^\000[\000^\000a\000-\000z0B0D0F\000]\000&\000&\000[\000^\000b\000c\000d\000e\000f\000g0F0H0J\000]\000g\000-\000w\000]\000\000", "\000f\000\000", 0, 2);
897   x2("\000[\000^\000[\000^\000a\000-\000z0B0D0F\000]\000&\000&\000[\000^\000b\000c\000d\000e\000f\000g0F0H0J\000]\000g\000-\000w\000]\000\000", "\000g\000\000", 0, 2);
898   n("\000[\000^\000[\000^\000a\000-\000z0B0D0F\000]\000&\000&\000[\000^\000b\000c\000d\000e\000f\000g0F0H0J\000]\000g\000-\000w\000]\000\000", "\0002\000\000");
899   x2("\000a\000<\000b\000>0\3200\3740\2700\3470\3630n0\3000\2460\3630\3550\3740\311\000<\000\134\000/\000b\000>\000\000", "\000a\000<\000b\000>0\3200\3740\2700\3470\3630n0\3000\2460\3630\3550\3740\311\000<\000/\000b\000>\000\000", 0, 40);
900   x2("\000.\000<\000b\000>0\3200\3740\2700\3470\3630n0\3000\2460\3630\3550\3740\311\000<\000\134\000/\000b\000>\000\000", "\000a\000<\000b\000>0\3200\3740\2700\3470\3630n0\3000\2460\3630\3550\3740\311\000<\000/\000b\000>\000\000", 0, 40);
901   fprintf(stdout,
902        "\nRESULT   SUCC: %d,  FAIL: %d,  ERROR: %d      (by Oniguruma %s)\n",
903        nsucc, nfail, nerror, onig_version());
904 
905 #ifndef POSIX_TEST
906   onig_region_free(region, 1);
907   onig_end();
908 #endif
909 
910   return ((nfail == 0 && nerror == 0) ? 0 : -1);
911 }
912