Commit | Line | Data |
---|---|---|
f4240b08 | 1 | # .Sanitize for devo/gdb. |
eeadf5c2 | 2 | |
d1bcda67 | 3 | # Each directory to survive its way into a release will need a file |
eeadf5c2 RP |
4 | # like this one called "./.Sanitize". All keyword lines must exist, |
5 | # and must exist in the order specified by this file. Each directory | |
6 | # in the tree will be processed, top down, in the following order. | |
7 | ||
8 | # Hash started lines like this one are comments and will be deleted | |
9 | # before anything else is done. Blank lines will also be squashed | |
10 | # out. | |
11 | ||
12 | # The lines between the "Do-first:" line and the "Things-to-keep:" | |
13 | # line are executed as a /bin/sh shell script before anything else is | |
d1bcda67 | 14 | # done in this directory. |
eeadf5c2 RP |
15 | |
16 | Do-first: | |
17 | ||
d4c5309e DE |
18 | arc_files="arc-tdep.c remote-arc.c" |
19 | ||
20 | if ( echo $* | grep keep\-arc > /dev/null ) ; then | |
21 | keep_these_too="${arc_files} ${keep_these_too}" | |
22 | if [ -n "${verbose}" ] ; then | |
23 | echo Keeping ${arc_files} | |
24 | fi | |
25 | else | |
26 | lose_these_too="${arc_files} ${lose_these_too}" | |
27 | if [ -n "${verbose}" ] ; then | |
28 | echo Deleting ${arc_files} | |
29 | fi | |
30 | fi | |
31 | ||
fce537ae | 32 | gdbtk_files="README.GDBTK gdbtk.c gdbtk.tcl" |
d3d75ec9 | 33 | |
6e9cac5f SS |
34 | if ( echo $* | grep lose\-gdbtk > /dev/null ) ; then |
35 | lose_these_too="${gdbtk_files} ${lose_these_too}" | |
d3d75ec9 | 36 | if [ -n "${verbose}" ] ; then |
6e9cac5f | 37 | echo Deleting ${gdbtk_files} |
d3d75ec9 SS |
38 | fi |
39 | else | |
6e9cac5f | 40 | keep_these_too="${gdbtk_files} ${keep_these_too}" |
d3d75ec9 | 41 | if [ -n "${verbose}" ] ; then |
6e9cac5f | 42 | echo Keeping ${gdbtk_files} |
d3d75ec9 SS |
43 | fi |
44 | fi | |
45 | ||
fce537ae SS |
46 | # WinGDB files are not really ready to be part of FSF releases, but |
47 | # keep them for progressives and such. | |
48 | ||
49 | mswin_files="mswin" | |
50 | ||
51 | if ( echo $* | grep lose\-mswin > /dev/null ) ; then | |
52 | lose_these_too="${mswin_files} ${lose_these_too}" | |
53 | if [ -n "${verbose}" ] ; then | |
54 | echo Deleting ${mswin_files} | |
55 | fi | |
56 | else | |
57 | keep_these_too="${mswin_files} ${keep_these_too}" | |
58 | if [ -n "${verbose}" ] ; then | |
59 | echo Keeping ${mswin_files} | |
60 | fi | |
61 | fi | |
62 | ||
cd10c7e3 SG |
63 | gm_files="magic.c magic.h" |
64 | ||
65 | if ( echo $* | grep keep\-gm > /dev/null ) ; then | |
66 | keep_these_too="${gm_files} ${keep_these_too}" | |
67 | if [ -n "${verbose}" ] ; then | |
68 | echo Keeping ${gm_files} | |
69 | fi | |
70 | else | |
71 | lose_these_too="${gm_files} ${lose_these_too}" | |
72 | if [ -n "${verbose}" ] ; then | |
73 | echo Deleting ${gm_files} | |
74 | fi | |
75 | fi | |
76 | ||
eeadf5c2 RP |
77 | # All files listed between the "Things-to-keep:" line and the |
78 | # "Files-to-sed:" line will be kept. All other files will be removed. | |
79 | # Directories listed in this section will have their own Sanitize | |
80 | # called. Directories not listed will be removed in their entirety | |
81 | # with rm -rf. | |
82 | ||
83 | Things-to-keep: | |
84 | ||
85 | .gdbinit | |
a96c3444 | 86 | 29k-share |
eeadf5c2 RP |
87 | COPYING |
88 | ChangeLog | |
89 | ChangeLog-3.x | |
ee799e2a | 90 | ChangeLog-9091 |
5debf76d | 91 | ChangeLog-92 |
1ea8b1dc | 92 | ChangeLog-93 |
73cb6167 | 93 | ChangeLog-94 |
bdf3621b | 94 | Makefile.in |
ddce75e0 | 95 | NEWS |
eeadf5c2 RP |
96 | README |
97 | TODO | |
b4b0321b | 98 | a29k-tdep.c |
203a8d54 | 99 | a68v-nat.c |
5436fc65 | 100 | aclocal.m4 |
cef4c2e7 PS |
101 | alpha-nat.c |
102 | alpha-tdep.c | |
203a8d54 | 103 | altos-xdep.c |
1c95d7ab JK |
104 | annotate.c |
105 | annotate.h | |
eeadf5c2 | 106 | arm-convert.s |
eeadf5c2 RP |
107 | arm-tdep.c |
108 | arm-xdep.c | |
109 | blockframe.c | |
110 | breakpoint.c | |
111 | breakpoint.h | |
2ce38c6d JG |
112 | buildsym.c |
113 | buildsym.h | |
dedcc91d SC |
114 | callback.c |
115 | callback.h | |
56d921a8 | 116 | c-exp.y |
22e39759 FF |
117 | c-lang.c |
118 | c-lang.h | |
a8a69e63 FF |
119 | c-typeprint.c |
120 | c-valprint.c | |
be772100 | 121 | call-cmds.h |
b1086bf5 FF |
122 | ch-exp.y |
123 | ch-lang.c | |
124 | ch-lang.h | |
125 | ch-typeprint.c | |
126 | ch-valprint.c | |
ead291d4 SG |
127 | coff-solib.c |
128 | coff-solib.h | |
eeadf5c2 RP |
129 | coffread.c |
130 | command.c | |
131 | command.h | |
51b80b00 FF |
132 | complaints.c |
133 | complaints.h | |
f187c3a4 | 134 | config |
5436fc65 | 135 | configure |
eeadf5c2 | 136 | configure.in |
eeadf5c2 RP |
137 | convex-tdep.c |
138 | convex-xdep.c | |
eeadf5c2 RP |
139 | copying.awk |
140 | copying.c | |
256533df | 141 | core-sol2.c |
203a8d54 | 142 | core-svr4.c |
1738bcd3 | 143 | corefile.c |
eeadf5c2 | 144 | coredep.c |
dfc82617 | 145 | corelow.c |
a8a69e63 | 146 | cp-valprint.c |
5de0c648 | 147 | cpu32bug-rom.c |
670a8e09 | 148 | cxux-nat.c |
eeadf5c2 | 149 | dbxread.c |
755892d6 RP |
150 | dcache.c |
151 | dcache.h | |
eeadf5c2 | 152 | defs.h |
be0ed5bb | 153 | delta68-nat.c |
2dbde378 | 154 | demangle.c |
eeadf5c2 | 155 | doc |
0a8f1742 | 156 | dpx2-nat.c |
2d628281 JK |
157 | dst.h |
158 | dstread.c | |
6fccdaf4 FF |
159 | dwarfread.c |
160 | elfread.c | |
eeadf5c2 RP |
161 | environ.c |
162 | environ.h | |
163 | eval.c | |
164 | exec.c | |
165 | expprint.c | |
eeadf5c2 | 166 | expression.h |
042bb079 SS |
167 | f-exp.y |
168 | f-lang.c | |
169 | f-lang.h | |
170 | f-typeprint.c | |
171 | f-valprint.c | |
eeadf5c2 | 172 | findvar.c |
e745abe5 | 173 | fork-child.c |
eeadf5c2 | 174 | frame.h |
2b576293 C |
175 | gdb_stat.h |
176 | gdb_string.h | |
ed7c0948 | 177 | gdb-stabs.h |
0857b46a | 178 | gdb.1 |
56b73ad2 | 179 | gdb.gdb |
dec525ce | 180 | gdba.el |
eeadf5c2 RP |
181 | gdbcmd.h |
182 | gdbcore.h | |
463a71db | 183 | gdbserver |
a1f596f4 FF |
184 | gdbtypes.c |
185 | gdbtypes.h | |
f2cd3441 SS |
186 | gnu-regex.c |
187 | gnu-regex.h | |
ae0ea72e | 188 | go32-xdep.c |
0f1cf145 | 189 | gould-tdep.c |
eeadf5c2 | 190 | gould-xdep.c |
0a8ed751 | 191 | h8300-tdep.c |
5cd0940a | 192 | h8500-tdep.c |
b1de302a | 193 | hp300ux-nat.c |
66a1aa07 | 194 | hppa-tdep.c |
ca048722 | 195 | hppab-nat.c |
ca048722 | 196 | hppah-nat.c |
2d2959e8 | 197 | hppam3-nat.c |
2848f793 | 198 | hpread.c |
eeadf5c2 RP |
199 | i386-stub.c |
200 | i386-tdep.c | |
2c7ab4ca | 201 | i386aix-nat.c |
0e35d2f3 | 202 | i386b-nat.c |
c458501e | 203 | i386ly-tdep.c |
c2d751d5 | 204 | i386m3-nat.c |
a113beac | 205 | i386mach-nat.c |
c7c94073 | 206 | i386v-nat.c |
4d0eabff | 207 | i386v4-nat.c |
56d921a8 | 208 | i387-tdep.c |
eeadf5c2 | 209 | i960-tdep.c |
eeadf5c2 RP |
210 | infcmd.c |
211 | inferior.h | |
212 | inflow.c | |
213 | infptrace.c | |
214 | infrun.c | |
eeadf5c2 | 215 | inftarg.c |
a70dc898 | 216 | irix4-nat.c |
a2f1e2e5 | 217 | irix5-nat.c |
4aadcb02 | 218 | isi-xdep.c |
eeadf5c2 | 219 | kdb-start.c |
56d921a8 JG |
220 | language.c |
221 | language.h | |
069e0566 | 222 | lynx-nat.c |
56d921a8 | 223 | m2-exp.y |
22e39759 FF |
224 | m2-lang.c |
225 | m2-lang.h | |
a8a69e63 FF |
226 | m2-typeprint.c |
227 | m2-valprint.c | |
c2d751d5 | 228 | m3-nat.c |
eeadf5c2 RP |
229 | m68k-stub.c |
230 | m68k-tdep.c | |
173a4f1b | 231 | m88k-nat.c |
eeadf5c2 | 232 | m88k-tdep.c |
49073be0 SS |
233 | mac-defs.h |
234 | mac-xdep.c | |
c24ce5e2 | 235 | mac-gdb.r |
eeadf5c2 | 236 | main.c |
0239d9b3 | 237 | maint.c |
a2f1e2e5 | 238 | mdebugread.c |
eeadf5c2 | 239 | mem-break.c |
1111151a | 240 | minimon.h |
a1f596f4 | 241 | minsyms.c |
a70dc898 | 242 | mips-nat.c |
eeadf5c2 | 243 | mips-tdep.c |
c2d751d5 | 244 | mipsm3-nat.c |
2fe3b329 | 245 | mipsv4-nat.c |
eeadf5c2 | 246 | mipsread.c |
2f1c04d1 | 247 | monitor.h |
25ca0dfc | 248 | monitor.c |
49073be0 | 249 | mpw-config.in |
c24ce5e2 | 250 | mpw-make.sed |
eeadf5c2 RP |
251 | news-xdep.c |
252 | nindy-share | |
253 | nindy-tdep.c | |
bbc34049 | 254 | nlm |
db85f523 | 255 | nlmread.c |
0f1cf145 | 256 | ns32k-tdep.c |
c2d751d5 | 257 | ns32km3-nat.c |
a1f596f4 | 258 | objfiles.c |
5e2e79f8 | 259 | objfiles.h |
25ca0dfc | 260 | op50-rom.c |
25200748 | 261 | os9kread.c |
cef4c2e7 | 262 | osfsolib.c |
56d921a8 JG |
263 | parse.c |
264 | parser-defs.h | |
7e258d18 | 265 | partial-stab.h |
9547d27f | 266 | ppc-bug.c |
eeadf5c2 | 267 | printcmd.c |
6fccdaf4 | 268 | procfs.c |
c6889f63 | 269 | ptx4-nat.c |
eeadf5c2 RP |
270 | pyr-tdep.c |
271 | pyr-xdep.c | |
1111151a | 272 | remote-adapt.c |
3e437fe6 | 273 | remote-array.c |
203a8d54 | 274 | remote-bug.c |
a0b28275 | 275 | remote-e7000.c |
eeadf5c2 | 276 | remote-eb.c |
91c87211 | 277 | remote-es.c |
93584146 | 278 | remote-est.c |
d93b79d9 | 279 | remote-hms.c |
c2a0f1cb | 280 | remote-mips.c |
1111151a | 281 | remote-mm.c |
eeadf5c2 | 282 | remote-nindy.c |
a55c3291 | 283 | remote-nrom.c |
25200748 | 284 | remote-os9k.c |
399290be | 285 | remote-pa.c |
dedcc91d | 286 | remote-rdp.c |
ec25d19b | 287 | remote-sim.c |
40b92220 | 288 | remote-sim.h |
91c87211 | 289 | remote-st.c |
e4dd52dd | 290 | remote-udi.c |
3283eab3 JK |
291 | remote-utils.c |
292 | remote-utils.h | |
eeadf5c2 | 293 | remote-vx.c |
456f6de6 | 294 | remote-vx29k.c |
44505113 DW |
295 | remote-vx68.c |
296 | remote-vx960.c | |
88890fb5 AMT |
297 | remote-vxmips.c |
298 | remote-vxsparc.c | |
eeadf5c2 | 299 | remote.c |
dc48694c | 300 | rs6000-nat.c |
6373dbe3 | 301 | rs6000-tdep.c |
fb9f8033 | 302 | rom68k-rom.c |
eeadf5c2 | 303 | saber.suppress |
3c02944a | 304 | scm-exp.c |
0e4ca328 | 305 | scm-lang.c |
5b4d668a PB |
306 | scm-lang.h |
307 | scm-tags.h | |
308 | scm-valprint.c | |
55679787 | 309 | ser-e7kpc.c |
ddce75e0 | 310 | ser-go32.c |
49073be0 | 311 | ser-mac.c |
4d551aa3 | 312 | ser-tcp.c |
e8a5f0ed SG |
313 | ser-unix.c |
314 | serial.c | |
ddce75e0 | 315 | serial.h |
9faacb92 | 316 | sh-tdep.c |
1480482a | 317 | sh3-rom.c |
eeadf5c2 | 318 | signals.h |
eeadf5c2 | 319 | solib.c |
a1f596f4 | 320 | solib.h |
bfe2f12b | 321 | somread.c |
bb140953 JL |
322 | somsolib.c |
323 | somsolib.h | |
eeadf5c2 | 324 | source.c |
dfc82617 | 325 | sparc-nat.c |
c9715956 | 326 | sparc-stub.c |
eeadf5c2 | 327 | sparc-tdep.c |
2b14c195 KH |
328 | sparcl-stub.c |
329 | sparcl-tdep.c | |
5c8ba017 SG |
330 | srec.c |
331 | srec.h | |
d07734e3 FF |
332 | stabsread.c |
333 | stabsread.h | |
eeadf5c2 RP |
334 | stack.c |
335 | standalone.c | |
1e6f592d | 336 | stop-gdb.c |
eeadf5c2 | 337 | stuff.c |
dc48694c | 338 | sun3-nat.c |
61bbb1c2 | 339 | sun386-nat.c |
eeadf5c2 RP |
340 | symfile.c |
341 | symfile.h | |
d39d83c1 | 342 | symm-nat.c |
203a8d54 | 343 | symm-tdep.c |
eeadf5c2 RP |
344 | symmisc.c |
345 | symtab.c | |
346 | symtab.h | |
0f1cf145 | 347 | tahoe-tdep.c |
eeadf5c2 RP |
348 | target.c |
349 | target.h | |
eeadf5c2 | 350 | terminal.h |
a2df03aa | 351 | testsuite |
6a21c756 SG |
352 | thread.c |
353 | thread.h | |
172559ec JK |
354 | top.c |
355 | top.h | |
a8a69e63 FF |
356 | typeprint.c |
357 | typeprint.h | |
6bf98ac0 | 358 | ultra3-nat.c |
1111151a | 359 | ultra3-xdep.c |
eeadf5c2 RP |
360 | umax-xdep.c |
361 | utils.c | |
362 | valarith.c | |
363 | valops.c | |
364 | valprint.c | |
a8a69e63 | 365 | valprint.h |
eeadf5c2 RP |
366 | value.h |
367 | values.c | |
0f1cf145 | 368 | vax-tdep.c |
eeadf5c2 | 369 | vx-share |
d723ade7 | 370 | w65-tdep.c |
25ca0dfc | 371 | w89k-rom.c |
24e60978 | 372 | win32-nat.c |
6373dbe3 | 373 | xcoffread.c |
1eeba686 PB |
374 | xcoffsolib.c |
375 | xcoffsolib.h | |
5de0c648 SG |
376 | xmodem.c |
377 | xmodem.h | |
2aedd91e | 378 | z8k-tdep.c |
eeadf5c2 | 379 | |
f747d259 | 380 | # Things which are explicitly *not* kept, for now. |
f747d259 | 381 | |
87756e15 RP |
382 | Things-to-lose: |
383 | ||
48828493 | 384 | ser-go32-para.c |
62b1697e | 385 | HOW_TO_RELEASE |
87756e15 | 386 | |
eeadf5c2 RP |
387 | Do-last: |
388 | ||
d3d75ec9 SS |
389 | # Don't try to clean directories here, as the 'mv' command will fail. |
390 | # Also, grep fails on NFS mounted directories. | |
a06cde09 SS |
391 | if ( echo $* | grep lose\-gdbtk > /dev/null ) ; then |
392 | echo Catering to RMS by removing traces of \"gdbtk\"... | |
d3d75ec9 SS |
393 | for i in * ; do |
394 | if test ! -d $i && (grep sanitize-gdbtk $i > /dev/null) ; then | |
a06cde09 SS |
395 | echo Removing traces of \"gdbtk\" out of $i... |
396 | cp $i new | |
397 | sed '/start\-sanitize\-gdbtk/,/end-\sanitize\-gdbtk/d' < $i > new | |
398 | if [ -n "${safe}" -a ! -f .Recover/$i ] ; then | |
399 | echo Caching $i in .Recover... | |
400 | mv $i .Recover | |
401 | fi | |
402 | mv new $i | |
d3d75ec9 SS |
403 | fi |
404 | done | |
405 | else | |
a06cde09 | 406 | echo Leaving \"gdbtk\" in the sources... |
d3d75ec9 SS |
407 | for i in * ; do |
408 | if test ! -d $i && (grep sanitize-gdbtk $i > /dev/null) ; then | |
a06cde09 | 409 | echo Keeping \"gdbtk\" stuff in $i, but editing out sanitize lines... |
d3d75ec9 | 410 | cp $i new |
a06cde09 | 411 | sed -e '/start\-sanitize\-gdbtk/d' -e '/end\-sanitize\-gdbtk/d' < $i > new |
d3d75ec9 SS |
412 | if [ -n "${safe}" -a ! -f .Recover/$i ] ; then |
413 | echo Caching $i in .Recover... | |
414 | mv $i .Recover | |
415 | fi | |
416 | mv new $i | |
417 | fi | |
418 | done | |
419 | fi | |
420 | ||
fb333bb8 | 421 | r16_files="configure.in configure" |
03c4ce2f MT |
422 | |
423 | if ( echo $* | grep keep\-r16 > /dev/null ) ; then | |
424 | for i in $r16_files ; do | |
425 | if test ! -d $i && (grep sanitize-r16 $i > /dev/null) ; then | |
426 | if [ -n "${verbose}" ] ; then | |
427 | echo Keeping r16 stuff in $i | |
428 | fi | |
429 | fi | |
430 | done | |
431 | else | |
432 | for i in $r16_files ; do | |
433 | if test ! -d $i && (grep sanitize-r16 $i > /dev/null) ; then | |
434 | if [ -n "${verbose}" ] ; then | |
435 | echo Removing traces of \"r16\" from $i... | |
436 | fi | |
437 | cp $i new | |
438 | sed '/start\-sanitize\-r16/,/end-\sanitize\-r16/d' < $i > new | |
439 | if [ -n "${safe}" -a ! -f .Recover/$i ] ; then | |
440 | if [ -n "${verbose}" ] ; then | |
441 | echo Caching $i in .Recover... | |
442 | fi | |
443 | mv $i .Recover | |
444 | fi | |
445 | mv new $i | |
446 | fi | |
447 | done | |
448 | fi | |
449 | ||
fb333bb8 | 450 | arc_files="configure.in configure ChangeLog" |
c1ac88f9 DE |
451 | |
452 | if ( echo $* | grep keep\-arc > /dev/null ) ; then | |
453 | for i in $arc_files ; do | |
454 | if test ! -d $i && (grep sanitize-arc $i > /dev/null) ; then | |
455 | if [ -n "${verbose}" ] ; then | |
456 | echo Keeping arc stuff in $i | |
457 | fi | |
458 | fi | |
459 | done | |
460 | else | |
461 | for i in $arc_files ; do | |
462 | if test ! -d $i && (grep sanitize-arc $i > /dev/null) ; then | |
463 | if [ -n "${verbose}" ] ; then | |
464 | echo Removing traces of \"arc\" from $i... | |
465 | fi | |
466 | cp $i new | |
467 | sed '/start\-sanitize\-arc/,/end-\sanitize\-arc/d' < $i > new | |
468 | if [ -n "${safe}" -a ! -f .Recover/$i ] ; then | |
469 | if [ -n "${verbose}" ] ; then | |
470 | echo Caching $i in .Recover... | |
471 | fi | |
472 | mv $i .Recover | |
473 | fi | |
474 | mv new $i | |
475 | fi | |
476 | done | |
477 | fi | |
478 | ||
a8620985 JW |
479 | sh3e_files="ChangeLog" |
480 | ||
481 | if ( echo $* | grep keep\-sh3e > /dev/null ) ; then | |
482 | for i in $sh3e_files ; do | |
483 | if test ! -d $i && (grep sanitize-sh3e $i > /dev/null) ; then | |
484 | if [ -n "${verbose}" ] ; then | |
485 | echo Keeping sh3e stuff in $i | |
486 | fi | |
487 | fi | |
488 | done | |
489 | else | |
490 | for i in $sh3e_files ; do | |
491 | if test ! -d $i && (grep sanitize-sh3e $i > /dev/null) ; then | |
492 | if [ -n "${verbose}" ] ; then | |
493 | echo Removing traces of \"sh3e\" from $i... | |
494 | fi | |
495 | cp $i new | |
496 | sed '/start\-sanitize\-sh3e/,/end-\sanitize\-sh3e/d' < $i > new | |
497 | if [ -n "${safe}" -a ! -f .Recover/$i ] ; then | |
498 | if [ -n "${verbose}" ] ; then | |
499 | echo Caching $i in .Recover... | |
500 | fi | |
501 | mv $i .Recover | |
502 | fi | |
503 | mv new $i | |
504 | fi | |
505 | done | |
506 | fi | |
507 | ||
cd10c7e3 SG |
508 | if ( echo $* | grep keep\-gm > /dev/null ) ; then |
509 | for i in * ; do | |
510 | if test ! -d $i && (grep sanitize-gm $i > /dev/null) ; then | |
511 | if [ -n "${verbose}" ] ; then | |
512 | echo Keeping gm stuff in $i | |
513 | fi | |
514 | fi | |
515 | done | |
516 | else | |
517 | for i in * ; do | |
518 | if test ! -d $i && (grep sanitize-gm $i > /dev/null) ; then | |
519 | if [ -n "${verbose}" ] ; then | |
520 | echo Removing traces of \"gm\" from $i... | |
521 | fi | |
522 | cp $i new | |
523 | sed '/start\-sanitize\-gm/,/end-\sanitize\-gm/d' < $i > new | |
524 | if [ -n "${safe}" -a ! -f .Recover/$i ] ; then | |
525 | if [ -n "${verbose}" ] ; then | |
526 | echo Caching $i in .Recover... | |
527 | fi | |
528 | mv $i .Recover | |
529 | fi | |
530 | mv new $i | |
531 | fi | |
532 | done | |
533 | fi | |
534 | ||
03c4ce2f MT |
535 | for i in * ; do |
536 | if test ! -d $i && (grep sanitize $i > /dev/null) ; then | |
537 | echo '***' Some mentions of Sanitize are still left in $i! 1>&2 | |
538 | fi | |
539 | done | |
540 | ||
541 | # | |
eeadf5c2 | 542 | # End of file. |