1
0
mirror of https://github.com/samba-team/samba.git synced 2024-12-22 13:34:15 +03:00

examples: Remove outdated validchars

I don't think we even look into this anymore and have other tests in
place.

Signed-off-by: Andreas Schneider <asn@samba.org>
Reviewed-by: Andrew Bartlett <abartlet@samba.org>
This commit is contained in:
Andreas Schneider 2023-07-13 07:52:02 +02:00 committed by Andreas Schneider
parent 573e5e06f8
commit f9107c55a8
5 changed files with 0 additions and 815 deletions

View File

@ -1,257 +0,0 @@
255: ok
254: ok
253: ok
252: ok
251: ok
250: ok
249: ok
248: ok
247: ok
246: ok
245: ok
244: ok
243: ok
242: ok
241: ok
240: ok
239: ok
238: ok
237: ok
236: 237
235: ok
234: ok
233: ok
232: ok
231: 232
230: ok
229: ok
228: 229
227: ok
226: ok
225: ok
224: ok
223: ok
222: ok
221: ok
220: ok
219: ok
218: ok
217: ok
216: ok
215: ok
214: ok
213: 73
212: ok
211: ok
210: ok
209: ok
208: 209
207: ok
206: ok
205: ok
204: ok
203: ok
202: ok
201: ok
200: ok
199: ok
198: 199
197: ok
196: ok
195: ok
194: ok
193: ok
192: ok
191: ok
190: ok
189: ok
188: ok
187: ok
186: ok
185: ok
184: ok
183: ok
182: ok
181: ok
180: ok
179: ok
178: ok
177: ok
176: ok
175: ok
174: ok
173: ok
172: ok
171: ok
170: ok
169: ok
168: ok
167: ok
166: ok
165: ok
164: 165
163: 233
162: 224
161: 214
160: 181
159: ok
158: ok
157: ok
156: ok
155: 157
154: ok
153: ok
152: length 0
151: 235
150: 234
149: 227
148: 153
147: 226
146: ok
145: 146
144: ok
143: ok
142: ok
141: 222
140: 215
139: 216
138: 212
137: 211
136: 210
135: 128
134: 143
133: 183
132: 142
131: 182
130: 144
129: 154
128: ok
127: ok
126: ok
125: ok
124: open unlink 0
123: ok
122: 90
121: 89
120: 88
119: 87
118: 86
117: 85
116: 84
115: 83
114: 82
113: 81
112: 80
111: 79
110: 78
109: 77
108: 76
107: 75
106: 74
105: 73
104: 72
103: 71
102: 70
101: 69
100: 68
99: 67
98: 66
97: 65
96: ok
95: ok
94: ok
93: open unlink 0
92: open unlink 0
91: open unlink 0
90: ok
89: ok
88: ok
87: ok
86: ok
85: ok
84: ok
83: ok
82: ok
81: ok
80: ok
79: ok
78: ok
77: ok
76: ok
75: ok
74: ok
73: ok
72: ok
71: ok
70: ok
69: ok
68: ok
67: ok
66: ok
65: ok
64: ok
63: open unlink 0
62: open unlink 0
61: open unlink 0
60: open unlink 0
59: open unlink 0
58: open unlink 0
57: ok
56: ok
55: ok
54: ok
53: ok
52: ok
51: ok
50: ok
49: ok
48: ok
47: open unlink 0
46: open unlink 0
45: ok
44: open unlink 0
43: open unlink 0
42: open unlink 0
41: ok
40: ok
39: ok
38: ok
37: ok
36: ok
35: ok
34: open unlink 0
33: ok
32: open unlink 0
31: open unlink 0
30: open unlink 0
29: open unlink 0
28: open unlink 0
27: open unlink 0
26: open unlink 0
25: open unlink 0
24: open unlink 0
23: open unlink 0
22: open unlink 0
21: open unlink 0
20: open unlink 0
19: open unlink 0
18: open unlink 0
17: open unlink 0
16: open unlink 0
15: open unlink 0
14: open unlink 0
13: open unlink 0
12: open unlink 0
11: open unlink 0
10: open unlink 0
9: open unlink 0
8: open unlink 0
7: open unlink 0
6: open unlink 0
5: open unlink 0
4: open unlink 0
3: open unlink 0
2: open unlink 0
1: open unlink 0
valid chars = 73:213 213:73 73:73 33 35 36 37 38 39 40 41 45 48 49 50 51 52 53 54 55 56 57 64 97:65 98:66 99:67 100:68 101:69 102:70 103:71 104:72 105:73 106:74 107:75 108:76 109:77 110:78 111:79 112:80 113:81 114:82 115:83 116:84 117:85 118:86 119:87 120:88 121:89 122:90 94 95 96 123 125 126 127 135:128 132:142 134:143 130:144 145:146 148:153 129:154 156 155:157 158 159 164:165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 160:181 131:182 133:183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198:199 200 201 202 203 204 205 206 207 208:209 136:210 137:211 138:212 161:214 140:215 139:216 217 218 219 220 221 141:222 223 162:224 225 147:226 149:227 228:229 230 231:232 163:233 150:234 151:235 236:237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255

View File

@ -1,257 +0,0 @@
255: ok
254: ok
253: ok
252: ok
251: ok
250: ok
249: ok
248: ok
247: ok
246: ok
245: ok
244: ok
243: ok
242: ok
241: ok
240: ok
239: ok
238: ok
237: ok
236: ok
235: ok
234: ok
233: ok
232: ok
231: ok
230: ok
229: ok
228: ok
227: ok
226: ok
225: ok
224: ok
223: ok
222: ok
221: ok
220: ok
219: ok
218: ok
217: ok
216: ok
215: ok
214: ok
213: ok
212: ok
211: ok
210: ok
209: ok
208: ok
207: ok
206: ok
205: ok
204: ok
203: ok
202: ok
201: ok
200: ok
199: ok
198: ok
197: ok
196: ok
195: ok
194: ok
193: ok
192: ok
191: ok
190: ok
189: ok
188: ok
187: ok
186: ok
185: ok
184: ok
183: ok
182: ok
181: ok
180: ok
179: ok
178: ok
177: ok
176: ok
175: ok
174: ok
173: ok
172: ok
171: ok
170: ok
169: ok
168: ok
167: ok
166: ok
165: ok
164: 165
163: 85
162: 79
161: 73
160: 65
159: ok
158: ok
157: ok
156: ok
155: ok
154: ok
153: ok
152: 89
151: 85
150: 85
149: 79
148: 153
147: 79
146: ok
145: 146
144: ok
143: ok
142: ok
141: 73
140: 73
139: 73
138: 69
137: 69
136: 69
135: 128
134: 143
133: 65
132: 142
131: 65
130: 69
129: 154
128: ok
127: ok
126: ok
125: ok
124: open unlink 0
123: ok
122: 90
121: 89
120: 88
119: 87
118: 86
117: 85
116: 84
115: 83
114: 82
113: 81
112: 80
111: 79
110: 78
109: 77
108: 76
107: 75
106: 74
105: 73
104: 72
103: 71
102: 70
101: 69
100: 68
99: 67
98: 66
97: 65
96: ok
95: ok
94: ok
93: open unlink 0
92: open unlink 0
91: open unlink 0
90: ok
89: ok
88: ok
87: ok
86: ok
85: ok
84: ok
83: ok
82: ok
81: ok
80: ok
79: ok
78: ok
77: ok
76: ok
75: ok
74: ok
73: ok
72: ok
71: ok
70: ok
69: ok
68: ok
67: ok
66: ok
65: ok
64: ok
63: open unlink 0
62: open unlink 0
61: open unlink 0
60: open unlink 0
59: open unlink 0
58: open unlink 0
57: ok
56: ok
55: ok
54: ok
53: ok
52: ok
51: ok
50: ok
49: ok
48: ok
47: open unlink 0
46: open unlink 0
45: ok
44: open unlink 0
43: open unlink 0
42: open unlink 0
41: ok
40: ok
39: ok
38: ok
37: ok
36: ok
35: ok
34: open unlink 0
33: ok
32: length 0
31: open unlink 0
30: open unlink 0
29: open unlink 0
28: open unlink 0
27: open unlink 0
26: open unlink 0
25: open unlink 0
24: open unlink 0
23: open unlink 0
22: open unlink 0
21: open unlink 0
20: open unlink 0
19: open unlink 0
18: open unlink 0
17: open unlink 0
16: open unlink 0
15: open unlink 0
14: open unlink 0
13: open unlink 0
12: open unlink 0
11: open unlink 0
10: open unlink 0
9: open unlink 0
8: open unlink 0
7: open unlink 0
6: open unlink 0
5: open unlink 0
4: open unlink 0
3: open unlink 0
2: open unlink 0
1: open unlink 0
valid chars = 69:130 130:69 69:69 65:131 131:65 65:65 65:133 133:65 65:65 69:136 136:69 69:69 69:137 137:69 69:69 69:138 138:69 69:69 73:139 139:73 73:73 73:140 140:73 73:73 73:141 141:73 73:73 79:147 147:79 79:79 79:149 149:79 79:79 85:150 150:85 85:85 85:151 151:85 85:85 89:152 152:89 89:89 65:160 160:65 65:65 73:161 161:73 73:73 79:162 162:79 79:79 85:163 163:85 85:85 33 35 36 37 38 39 40 41 45 48 49 50 51 52 53 54 55 56 57 64 97:65 98:66 99:67 100:68 101:69 102:70 103:71 104:72 105:73 106:74 107:75 108:76 109:77 110:78 111:79 112:80 113:81 114:82 115:83 116:84 117:85 118:86 119:87 120:88 121:89 122:90 94 95 96 123 125 126 127 135:128 132:142 134:143 144 145:146 148:153 129:154 155 156 157 158 159 164:165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255

View File

@ -1,101 +0,0 @@
Note: All files in this directory are DOS formatted (CRLF line terminator).
!!! VIRUS WARNING !!! I do not know if VALIDCHR.COM is virus free !!!
I think that my system is virus free here because I do not run any games
or other copied software. I only run Shareware/Freeware etc. from CD-ROMs
or from registered disks, however I do not use viral scanners because
I have not registered any (I consider `having no sex' is better than
`testing for AIDS on a regular basis', if you know what I mean).
This is VALIDCHR, a little DOS program I wrote to create
an appropriate `valid chars =' config parameter.
It is freeware and is thought to be distributed freely with Samba.
WARNING:
Your SMB driver may use another character map as the one VALIDCHR
sees. The only way you can tell this is that some file names fail.
Under Win95 everything is fine, though.
Usage:
c:
mkdir junk_dir
cd junk_dir
a:validchr > a:output.log
cd ..
rmdir junk_dir
Siedeffects:
Files named *.TST may be deleted.
Verification:
For diagnostic purpose you can run VALIDCHR on a Samba mounted drive.
Then you can use unix diff to compare the output of the network and
the hard drive. These two outputs usually differ! However there
should be few differences. I get following on Win95 (c: visa e:)
104c104
< 152: length 0
---
> 152: 95
(diff line for `valid chars =' deleted because it's uninteresting)
You can see, `y diaresis' can be mapped on the network drive while
it cannot be mapped on the hard drive. Everything else is identical.
However this gives a hint that one can improve the mapping.
Bugs:
Yes, probably some.
VALIDCHR must be run on the system which character mapping should be probed.
It must be run on the hard drive for this. VALIDCHR ALTERS THE CURRENT
DIRECTORY AND REMOVES SOME FILES, SO ALWAYS RUN IT IN A junk DIRECTORY !!!
You should redirect the output of VALIDCHR. At the end of the output is a
line like
valid chars = x:y y:x x:x ... a:b c ...
which is suitable for your smb.conf file. (you should remove the DOS CR
character, because DOS uses CRLF while Unix uses LF only.)
Note that some mappings at the beginning of the `valid chars =' line like
A:B B:A B:B
might look a little bit strange to you, however sometimes character A
has to be mapped to character B independently of a default mapping
to uppercase or lowercase while character B must not be touched. I found
this out the hard way ... Consider it a crude workaround, because Samba
lacks the possibility to map characters in one direction only!
VALIDCHR usually issues one warning for character 32.
You may ignore these and any other warnings.
VALIDCHR does not test for character NUL (this is the directory end marker).
validchr.c is the source code to validchr.com
You may do anything with the source code (copy, change, sell, burn)
validchr.com is a Borland C compiled binary.
Beware, it may contain a virus (if my system contains one).
nwdos70.out is the output of an VALIDCHR-run under Novell DOS 7.0
while no codepage (no display.sys) was active.
msdos70.out is the output of an VALIDCHR-run under MS-DOS 7.0 (Win95 DOS)
while codepage 850 was active.
I have no other MS-DOS systems at home currently.
(I have access to MS-DOS 3.0, 3.2, 3.3, 5.0 and 6.22, however I have no time
to run VALIDCHR there)
Some words to the output
(for people not fammiliar with programming language C):
probed_char: [text] mapped_char
probed_char is the character probed to be written to disk
text may be empty or contain:
open File could not be opened.
close File could not be closed (should not happen)
length File name was shortened (usually occurs on SPC)
unlink File cannot be unlinked (usually when open fails)
mapped_char is the character which is used by MS-DOS in the directory
This is usually the uppercase character.
The mapped character is 0 if something failed (you may say
that the character is not supported)
The last line in the output is documented in the smb.conf manual page ;)
tino@augsburg.net

View File

@ -1,123 +0,0 @@
/* by tino@augsburg.net
*/
#include <stdio.h>
#include <string.h>
#include <dirent.h>
unsigned char
test(void)
{
DIR *dir;
struct dirent *dp;
unsigned char c;
if ((dir=opendir("."))==0)
{
perror("open .");
return 0;
}
c = 0;
while ((dp=readdir(dir))!=0)
{
size_t len;
len = strlen(dp->d_name);
if (len<4)
continue;
if (strcmp(dp->d_name+len-4, ".TST"))
continue;
if (len!=5)
{
fprintf(stderr, "warning: %s\n", dp->d_name);
printf(" length");
continue;
}
if (c)
printf(" double%d\n", c);
c = dp->d_name[0];
}
if (closedir(dir))
perror("close .");
return c;
}
int
main(void)
{
char name[256];
unsigned char map[256], upper[256], lower[256];
int i, j, c;
FILE *fd;
if (test())
{
printf("There are *.TST files, please remove\n");
return 0;
}
for (i=0; ++i<256; )
{
lower[i] = i;
upper[i] = 0;
}
for (i=256; --i; )
{
map[i] = i;
strcpy(name, "..TST");
name[0] = i;
printf("%d:", i);
if ((fd=fopen(name, "w"))==0)
printf(" open");
else
fclose(fd);
c = test();
if (unlink(name))
printf(" unlink");
if (c==i)
printf(" ok");
else
printf(" %d", c);
printf("\n");
if (c!=i)
{
upper[c]++;
lower[c] = i;
}
map[i] = c;
}
/* Uppercase characters are detected above on:
* The character is mapped to itself and there is a
* character which maps to it.
* Lowercase characters are the lowest character pointing to another one.
* Else it is a one way character.
*
* For this reason we have to process the list
* 1) for 'one way' characters
* 'one way' is something which is no upper and no lower character.
* This is an awful, crude and ugly hack due to missing Samba support.
* 2) for true uppercase/lowercase characters
* 3) for standalone characters
* Note that there might be characters which do not fall into 1 to 3.
*/
printf("\n valid chars =");
for (i=0; ++i<256; )
if (map[i] && map[i]!=i && lower[map[i]]!=i)
{
if (!upper[i])
printf(" %d:%d %d:%d %d:%d", /*1*/
map[i], i, i, map[i], map[i], map[i]);
else
fprintf(stderr, "ignoring map %d->%d because of %d->%d\n",
lower[i], i, i, map[i]);
}
for (i=0; ++i<256; )
if (map[i] && map[i]==i)
if (upper[i])
printf(" %d:%d", lower[i], i); /*2*/
else
printf(" %d", i); /*3*/
printf("\n");
return 0;
}

View File

@ -1,77 +0,0 @@
ŚĘ.‰´0Í!.,ŽÚŁé Śç ‰ă ‰.˙ č]ˇă ŽŔ3ŔŘřą˙üň®ăaC&8uö€Í€÷ىá ąÓă<C393>Ă<08>ăř‰ĺ ŚÚ+ę‹>ş#<23>˙sż‰>ş#<23>Ç>'r(>R#r"±ÓďG;ďr<19>>ş#t<07>>R#uż;ďw‹ýëéă‹ßÚ‰÷ ‰ű ˇç +ŘŽŔ´JWÍ!_ÓçúŽŇçű3Ŕ.Žżî&ą>'+ĎüóŞ<C3B3>>$#vG€>é r@w€>ę r7¸Í!r*´g$#Í!r ´Í!r@Ł˙ HŽŔ´IÍ!r
¸X»Í!séb´Íí ‰ď
Ŕt ¸@ŽŔ»p&Ć3í.Žľč&żî&č©˙6ß ˙6Ý ˙6Ű čóPčyVWľî&żî&čĘ_^ĂĂě´LŠFÍ!ąşź é¸5Í!‰Ë ŚÍ ¸5Í!‰Ď ŚŃ ¸5Í!‰Ó ŚŐ ¸5Í!‰× ŚŮ ¸%ŚĘŽÚş{Í!Ă¸Ë Í!¸Ď Í!¸Ó Í!¸× Í!ø‹×‹Ţ;ßt&€?˙t&ŠO2í;ČsÁÓ<E280B9>Ăëă;×t‹Ú&€?&Ć˙t&˙_ëÄ&˙Wë˝Ă´‹×‹Ţ;ßt&€?˙t &8gr&ŠgÓ<E280B9>Ăëĺ;×t‹Ú&€?&Ć˙t&˙_ëÇ&˙WëŔĂ´@»Í!Ăąş­ .Žčę˙¸PčPUě<E280B9>ěVW¸!Pč6Y‰Fţ Ŕu ¸!Pč<50>Y°é‰ĆFýë]VčúYř<E280B9>˙sëO¸ !PĆÇü˙Pč<50>YY Ŕtë8<C3AB>˙tV¸!P¸"PčĆ<12>ĸ!Pčm€~ýtŠFý´P¸%!PčWYYŠ<04>Fý˙vţčtYđ Ŕu˙vţčY Ŕt¸0!PčűYŠFýét˙_^‹ĺ]ĂUě<E280B9>ěčC˙
Ŕt ¸8!PčY3ŔéaÇFţ덆úű‹^ţŘŠFţ<46>Ť†úü‹^ţŘĆ˙FţFţ=|ŰÇFţéĆŤ†úý‹^ţŘŠFţ<46>¸^!PŤ†úţPčęYYŠFţ<46>†úţ˙vţ¸d!Pč¨YY¸h!PŤ†úţPčĘYY‰Fú Ŕu ¸j!PčŠë˙vúčYč§ţ´‰FüŤ†úţPčJY Ŕt¸p!PčeYFü;Fţu
¸x!PčU ˙vü¸|!PčHYY¸€!Pč?YFü;FţtŤ†úü‹^üŘţŤ†úű‹^üŘŠFţ<46>Ť†úý‹^ţŘŠFü<46>˙Nţté2˙¸!PčYÇFţéŇŤ†úýŘ€?uéÁŤ†úý‹^ţŘŠ´;Fţu鬍†úý‹^ţŘŠ´Ť–úű‹؊´;Fţué‹Ť†úü‹^ţŘŠ´ ŔuJŤ†úýŘŠ´PŤ†úýŘŠ´PŤ†úýŘŠ´P˙vţ˙vţŤ†úýŘŠ´P¸”!PčZ<14>Äë0Ť†úýŘŠ´P˙vţ˙vţŤ†úűŘŠ´P¸§!P¸"Pčw<10>Ä ˙FţFţ=}é ˙ÇFţëWŤ†úýŘ€?tIŤ†úýŘŠ´;Fţu7Ť†úüŘ€?t˙vţŤ†úűŘŠ´P¸Î!PčĘ<13>Äë ˙vţ¸Ő!Pč»YY˙FţFţ=|ž¸Ů!é•ý‹ĺ]ĂUě<E280B9>>Ü! u¸ëÜ!ŃăF‰‡î&˙Ü!3Ŕ]ĂUě´C2ŔVÍ!r ^3ŔëPč?]ĂUě´VNÍ!r3ŔëPč$]ĂUě´/Í!S´VÍ!´NNVÍ!śY“´ZÍ!Qťr3ŔëSčń]ĂUě´/Í!S´VÍ!´OÍ!śY“´ZÍ!Qťr3ŔëSčÄ]ĂĂUěVv öuë˙Ü!Ü!Ńă˙—î&<26>>Ü!uëčŻú˙Ţ!čűč¸ú<C2B8>~u öu˙ŕ!˙â!˙včˇúY^]ÂUě3ŔPP˙vč¦˙]ĂUě¸P3ŔP˙vč”˙]Ă3ŔP¸P3ŔPč…˙øPP3ŔPčy˙ĂUěVv ö|<15>ţX~ľW‰6T#Š„V#<23>đë ÷Ţ<C3B7>ţ0éÇT#˙˙‰6ë ¸˙˙^]ÂUěVvVčĽ˙Ć^]ÂUě¸D^Í!%€]ĂUě<E280B9>ě"VW~
^<08>ű$wX€űrSF N É}€~t Ć-G÷Ů÷Ř<C3B7>ŮŤvŢă+Ň÷ó÷ó<C3B7>Fă ëń+Ň÷ó<C3B7>F ŔuőŤNŢ÷ŮÎüNŠ,
sFŞâď°ŞF
_^‹ĺ]Â Uě3ŔP˙v˙v¸
P°P°aPčj˙]ÂUě^Ńă<C583>§&#˙ý´BŠF
^NVÍ!rëPčäţ™]ĂUěVvV öuľ.'˙v Ňu¸°#ëÂPVčÖYYPč<50>˙¸´#PVčŐYYĆ^]ÂUě<E280B9>ěVWv~V3ŔP<C594>=˙u¸ë¸Pčž˙đŤFţPVčTýYY Ŕt×Ć_^‹ĺ]Âş;$#s+‹ÚŃăLJ&#‹Ú±ÓăƇč!˙‹ÂÓŕä!‹ÚÓ㉇ň!B;$#rŐ č!<21>PčtţY Ŕu<06>&ć!˙ý¸ć!t¸ë3ŔP3ŔP¸ä!PčZ<13>Ä ř!<21>Pč@ţY Ŕu<06>&ö!˙ý¸ö!t¸ë3ŔP3ŔP¸ô!Pč&<13>ÄĂUě´AVÍ!r3Ŕë´ý]ĂŠĆčŠÂÔ†ŕč†ŕ<04>'@'ŞĂUě<E280B9>ěVWÇFîÇFěPÇFęëFWą˙˙2Ŕň®÷ŃI_Ă6<C482>GţNěu/SQRŤ†j˙+řŤ†j˙PW˙v˙V
ŔuÇFęÇFěP~j˙ZY[ĂüŤľj˙‰~ü‹~üv¬
Ŕt<%t6<>GţNěîč¬˙ëééÚ‰vđ¬<%tç‰~ü3ɉNň‰Nţ<4E>NőÇFř˙˙ÇFö˙˙ë¬2äĐŘ€ë €ű`sŠźĂ#<23>űvéŤŃă.˙§űé<>€ýwř<77>ëĐ€ýwí<77>ëĹ€ýwâ€~ő+t<03>Vőëµ<C3AB>fţßë<04>Nţ µ맀ýwM÷Fţu)<29>µë“é8~6<05>F€ýs Ŕy÷Ř<C3B7>‰Fřµéo˙€ýu׉FöţĹéb˙€ýsʵ˙FöéU˙,0<>€ýwµ‡Fř Ŕ|ŃŃŕ‹ĐŃŕŃŕÂFřé3˙€ýu‡Fö ŔtµŃŕĐŃŕŃŕÂFöé˙<>ée˙<65><01>fţďéY˙·ë
·
ë
·łéÚĆFő<46>Vű3Ň<33>~6ë·
ĆFú<01>~6™GG‰v÷Fţt6GG‰~Ť~» Ŕu Ňu<0E>~öu ‹Çë<13>RPWŠÇ<C5A0>PŠFúPSčÝű Ň}éňéý<C3A9>Vű‰vŤ~ş‹^6˙7CC‰^÷Fţ t6CC‰^č<>ý°:ŞZčŹý6ĆĆFú<46>fţűŤNş+ů‡ĎVö;ŃŃ韉v<06>~6<05>FŤ~»2ä6‰ąé‰v<06>~÷Fţ u 6=<3D>F ˙ë 6Ä=<3D>FŚŔ ÇużĽ#čPý;NövNöé…‰v<06>~ É}ąWQŤ^»SR¸#FţPFţ©t ¸<08>F
ë<07>F¸PčňŤ~»÷Fţt Ň~čňü&€=-uI+Ń~‰Vň&€=-t ŠFő
ŔtO&<26><05>~ň~
É}˙NňčŔü÷~ü‹^ř¸#Fţ=uŠfű€üou <0A>~ňÇFňë€üxt€üXu<11>Nţ@KK<4B>}ÇFňNň÷Fţu ë° čyüK;Ůö÷Fţ@t °0čhüŠFűčbü Ň~'+Ę+Ú&Š<-t< t<+u&¬čCüIK‡Ęă°0č8üâů‡Ęă+Ů&¬6<C2AC>GţNěč+üâđ Ű~ ‹Ë° čüâůéUü‰v~÷Fţ u 6=<3D>Fë6Ä=<3D>F¸P*FěFî&‰÷FţtGG&Çéü~ü°%čÉű¬
Ŕuř€~ěP}čÄű<07>~ęt¸˙˙ëFî_^‹ĺ]Â^ H S Á Î   | A  # '   M đ  ŹËËËn t UěVW~˙vč‰Yđ@P˙v <09>Ä‹ÇĆ_^]ĂUěFÔ<E280B9>ę;ÂsŁó 3Ŕë Çë ¸˙˙]ĂUěFVó <20>ŇČ Ňu<10>Ár
;Ěsó ë Çë ¸˙˙]ĂUě˙vč¤˙Y]ĂUěF™RPč·˙YY]Ăş$$ëş)$ą´Í!ą'ş.$´@Í!éŁóUěV´DŠF^N
Í!r <0C>~u‹Âëëř]ĂVWô\<06>ër;X$tčBëč_^Ă9V$t#wöt‰6X$ë ;6V$t ŢčTGŁX$ë Ţ3ŔŁV$ŁX$ŁZ$Sčöţ[Ă˙;V$tw¨u?ű‰u‹Ţëč2?ű‹¨tĂ‹÷đ‰\‹ß‹;ßt‰>Z$w‰u‰|ĂÇZ$Ă6Z$ öt|‰\‰]‰‰wÉZ$‰_‰_ĂVWôD ŔtRr6%ţ˙=s¸<08>>V$tZ$ Űt Ó9s_;Úuőčfë!čŠëčë3Ŕëđ<E280B9>Ć97séčk˙˙‹Ă_^ĂP3ŔPPč6ţ[[%t 3ŇRPč(ţ[[XP3ŰSPčţ[[=˙˙t‹Ř‰V$‰X$X@‰<07>Ă‹ĂĂ[3ŔĂP3ŰSPčöý[[=˙˙tءX$‰GX$X@‰<07>ĂĂĂX3ŔĂ)‹ó7ţř@‰‰\‰u<02>ĆĆĂěSPQPč˙[‹Ř Ŕtüř <0C>ĆV<>éŃéóĄ‰Fţč$ţ[<>ÄĂÂ<E280B9>Â;Ńw5Ń;X$u˙ĂSPčKý[[ë‹űř‰]+Đ)‹÷ň‰|B‰Ëßč7ţŮ<E280B9>ĂĂVWUě^F
Ŕt7 Űt-<2D>ëIĐ<E280B9>Â<05>âţ<C3A2>úsş;Ęr w<05>Ăëč‡˙ëčO˙Ăë Pčeţë<53>ý3Ŕ[]_^Ă˙&ŕ&UěN´CŠFVÍ!r‘ëPčyő]ĂUěV;$#r ¸Pčdőë‹ÚŃăLJ&#RčY]ĂUě´>^Í!r ŃăLJ&#3ŔëPč5ő]ĂUěVW˙včŘ YřPčŕýYđ Ŕu
Çë 3Ŕëp˙vVč” YYÇO Ŕt߀8:t€8\t
€8/t¸\$ë¸a$PVč YY¸/Pč<50>ýYř Ŕu Çë W¸PVčÔó<C394>Ä Ŕt VčĄüYWč üY뙉u+ĆE-ĆE.ÝÇ_^]ĂUěVv€|.ÝuV¸P˙t+č<>ó<EFBFBD>ÄĆD-^]ĂUěVv€|.Ýt
Çë 3ŔëŠD-<2D> Ŕu VčžóY ŔuëĆD-‹Ć^]ĂUěVv öt€|.Ýt Çë ¸˙˙ëĆD.˙t+čüYVč üY3Ŕ^]ĂUěVW~ľ˙˙ ˙td9}u_<75>}t<1C>=} WčVY ŔuK÷Et˙učĐűY€}| ŠE<04>PčWţYđÇEÇEÇĆE˙<>} t3ŔPP˙u čČôPčÝőYÇE Ć_^]ĂUěVW~ ˙učnëf9}t¸˙˙ë^<5E>=|)÷Eu
‹Ç9E
uFÇ‹Ç9E
u8E‰E
ë0ë.E@‹đ)5PE‰E
PŠE<04>
<EFBFBD>Ä;Ćt ÷Eu<06>Mëź3Ŕ_^]ĂUě<E280B9>ěVWÇFţ>$#ľä!ë÷DtVčb˙Y˙Fţ<46>ĆÇO ŔuçFţ_^‹ĺ]ĂUě<E280B9>ěVWvÇFţŢFŠŠÁ<ruşżë €ůwuşë€ůau ş ÇFţ€żë3ŔëiŠ F€ů+t€<+u€ůtt€ůbu€ů+uŠ <0C>âü<C3A2>ĘÇFţ€ż€ůtu<06>Ę@ë€ůbu<06>Ę€ëˇN#%Ŕ Đ©€t<03>Ď@Çŕ! ^^Fţ‰Ç_^‹ĺ]ÂUě<E280B9>ěVv
˙vŤFţPŤFüPč4˙‰D Ŕt €|}'˙vü FP˙vč‹<02>Ä<06>D
Ŕ} ĆD˙ÇD3ŔëAŠD<04>Pč'ňY Ŕt<05>L¸P÷Dt¸ë3ŔP3ŔPVč<07>Ä ŔtýYëÂÇD ‹Ć^‹ĺ]ÂVľä!€||ˇ$#±Óŕä!Ö<E280B9>Ć;Âwç€||3Ŕë‹Ć^ĂUěčĎ˙Đ Ŕu3Ŕë R˙v˙v3ŔPč$˙]ĂUě¸×P˙v˙vŤFPč¤ó]ĂUěVWv<04><}
TBúë ™3Â+ÂĐř÷D@u,L
<EFBFBD><}ë IŮ€?
uGÂJ ŔuđëŮA€?
uGÂJ ŔuđÇ_^]ÂUěVWv~
Vč7ýY Ŕt¸˙˙ëG<C3AB>˙u<10><~ Vč|˙™)FV<08>d_ţÇD‰D
W˙v˙vŠD<04>Pč‰ń<E280B0>Ä<08>ú˙u
=˙˙u¸˙˙ë3Ŕ_^]ĂUě<E280B9>ěVv¸P3Ŕ3ŇPRŠD<04>PčUń<55>ĉVţ‰Fü<46>ú˙u=˙˙ué„<C3A9><}tŠD<04>ŃŕŘ÷‡&#tW¸P3Ŕ3ŇPRŠD<04>ń<>ĉVú‰Fř<46>ú˙u=˙˙tP3ŔP˙vţ˙vüŠD<04>Pčôđ<C3B4>Ä<08>ú˙u =˙˙uş˙˙¸˙˙ë*Vř‰Fţ‰VüVčťţ™Vţë <56>ţ™)FüFü^‹ĺ]ĂUěVW~vNŃéüóĄs¤F_^]ĂUěN´<VÍ!rëPč†ď]ÂUě^+É+Ň´@Í!]ÂUě<E280B9>ěVWv~÷ĆŔuˇN#%Ŕ đ3ŔP˙včąůYY‰Fţ÷Ćtx#>P#‹Ç©€u¸Pč.ď<>~ţ˙u#<23>>T#t
˙6T#čďéí÷Ç€t3Ŕ븉Fţë ÷Ćt7¸PPëÜ÷Ćđt˙v3ŔPčO˙ř Ŕ}éµWčŚůYë˙v˙vţč6˙ř Ŕ}léśV˙včťYYř Ŕ|Z3ŔPWč~öYY‰Fü©€t<1E>Î ÷Ć€t%˙ P¸PWč[ö<>Äë
÷ĆtWčţţ÷Fţt÷Ćt÷Ćđt¸PP˙včĐř<C490>Ä ˙|/÷Ćt¸ëÖ<E280B9>â˙ř ĐR÷Fţt3Ŕë¸Z Đ‹ßŃ㉗&#Ç_^‹ĺ]ĂUě<E280B9>ě°N÷Áu
°÷Áu°V±đ"N
Á´=Í!r‰FţF%˙¸ €‹^ţŃ㉇&#FţëPčŰíĺ]ĂUěˇë ;Ć$}<13>>ë | ë Ńă—f$ëşĂ&R˙v¸Ń&P¸"PčTü<54>Ä]ĂUě¸×P¸ô!P˙vŤFPčňď]ĂUěVv˙ VŠF<04>YY^]ĂUěVW~ŠF˘<'<27>=˙}:˙]
˙E
<EFBFBD>÷Eué÷€><'
t
€><' téćWčžůY ŔuéÚ¸˙˙éŮéŃ÷E<02>u÷Eu<06>Mëă<C3AB>M<01>}tE<74>=t WčeůY ŔuĘE÷؉]
˙E
 <'<27>÷Eué<>€><'
t€><' uzWč2ůY Ŕtqë•ëmŠE<04>ŃŕŘ÷‡&#t¸P3Ŕ3ŇPRŠE<04>í<E28093>Ä€><'
u÷E@u¸P¸Ú&PŠE<04>PčO<04>Ä=u¸P¸<'PŠE<04>Pč7<04>Ä=t
÷Eué=˙ <'´_^]ĂUě¸ô!P˙včĚţYY]ĂUě<E280B9>ěVW~F‰Fţ÷Et)ëW^˙FŠ<07> ţYY=˙˙u3ŔéYF˙N ŔuÜéI÷E@uéă<C3A9>}uéšE;FsQ<73>=t Wč=řY ŔuĹŠE<04>ŃŕŘ÷‡&#t¸P3Ŕ3ŇPRŠE<04>PčĄě<C484>Ä˙v˙vŠE<04>Pčn<03>Ä;Fuéâë…éÝ‹F|<1B>=u
¸˙˙+Eë WčŰ÷Y Ŕté`˙˙v˙v˙u
č¦ű<EFBFBD>ÄFFE
霊E<04>ŃŕŘ÷‡&#t¸P3Ŕ3ŇPRŠE<04>Pč!ě<>Ä˙v˙vŠE<04>Pčę<02>Ä;Ftaé˙ë\<5C>}t=ë/˙}]
˙E
v˙FŠ<04>´ëW^˙FŠPčVýYY=˙˙uéĘţF˙N ŔuÇë˙v˙vŠE<04>Pč†<01>Ä;FtéĄţFţ_^‹ĺ]ÂUěVWv~
9tu <0C>~<06>˙˙v¸˙˙é¦<C3A9>>Ţ&u<0E>ţô!uÇŢ&ë<13>>Ü&u <0C>ţä!uÇÜ&<01><t¸P3Ŕ3ŇPRVčjů<6A>Ä÷Dt˙tč,ňY<C588>dóÇD‹Ć‰D‰D
<EFBFBD>~t> ˙v:ÇŢ!B <20>~uWčĚňY‰F Ŕuéu˙<75>Lëél˙F‰D
‰D‰|<06>~u<04>L3Ŕ_^]ĂUěVWü~×2Ŕą˙˙ň®Ťu˙~ą˙˙ň®÷Ń+ů‡÷÷Ćt¤IŃéóĄs¤_^]ĂUěVWŚŘŽŔü3ŔŘ~÷2Ŕą˙˙ň®÷Ńţvó¦ŠD˙Š]˙+Ă_^]ĂUěVWü‹~÷2Ŕą˙˙ň®÷Ń~ó¤F_^]ĂUěWŚŘŽŔ~3Ŕüą˙˙ň®÷ĐH_]ĂUě<E280B9>ě<EFBFBD>VW~v;>$#r
¸ééáF@=s3ŔéÓßŃă÷‡&#t¸P3Ŕ3ŇPRWčĺé<C4BA>Ä‹ßŃă÷‡&#@u˙vVWč¨<C48D>ÄéśßŃă<C583>§&#˙ý‰vúF‰FţëM˙Nţ^ú˙FúŠ<07>Fý<
uĆ FŠFý<46>FŤ†x˙Ö+Đ<>ú€|'+đVPWč[<5B>Ä‹Đ;Ćt<12>ú˙u¸˙˙ë=F+Fţë1Ť¶x˙<78>~ţu©Ť†x˙+đ‹Ć Ŕv!VŤ†x˙PWč <20>Ä‹Đ;Ćt<0E>ú˙tĹFÂ+ĆëF_^‹ĺ]ĂUě^Ńă÷‡&#t¸´@^NVÍ!rP^Ńă<C583>Ź&#Pčřç]ĂVW3˙ľä!;>$#s÷DtVčĚóY<C3B3>ĆG;>$#rę_^ĂVWżľä!ë÷DtVč"ôYO<59>Ć ˙uě_^ĂBorland C++ - Copyright 1991 Borland Intl.Divide error
Abnormal program termination
>'>'.open ..TSTwarning: %s
length double%d
close .There are *.TST files, please remove
..TST%d:w open unlink ok %d
valid chars = %d:%d %d:%d %d:%dignoring map %d->%d because of %d->%d
%d:%d %d
 ä!
ô!"C"B$"```  @˙˙),(((((),(((),#,*((((**#(#%(TMP.$$$(null)  

   print scanf : floating point formats not linked
\*.**.*Č$Đ$č$%%%%7%G%\%n%%ź%®%Â%Ď%Đ%ß%&&#&4&E&W&i&j&k&l&m&n&o&p&q&r&s&<26>&&¦&¸&ą&ş&»&Ľ&˝&ľ&ż&Ŕ&Á&Â&0Error 0Invalid function numberNo such file or directoryPath not foundToo many open filesPermission deniedBad file numberMemory arena trashedNot enough memoryInvalid memory block addressInvalid environmentInvalid formatInvalid access codeInvalid dataNo such deviceAttempted to remove current directoryNot same deviceNo more filesInvalid argumentArg list too bigExec format errorCross-device linkMath argumentResult too largeFile already existsPossible deadlockUnknown error%s: %s