[llvm-commits] [parallel] CVS: llvm/test/Programs/MultiSource/Benchmarks/MallocBench/perl/EXTERN.h INTERN.h LICENSE.TXT Makefile arg.h array.c array.h cmd.c cmd.h config.h config.sh cons.c consarg.c cscope.out doarg.c doio.c dolist.c dump.c eval.c form.c form.h handy.h hash.c hash.h malloc.c patch-malloc.c patchlevel.h perl.c perl.h perly.c perly.h regcomp.c regcomp.h regexec.c regexp.h spat.h stab.c stab.h str.c str.h toke.c tperly.c usersub.c util.c util.h

Misha Brukman brukman at cs.uiuc.edu
Mon Mar 1 21:06:42 PST 2004


Changes in directory llvm/test/Programs/MultiSource/Benchmarks/MallocBench/perl:

EXTERN.h added (r1.1.2.1)
INTERN.h added (r1.1.2.1)
LICENSE.TXT added (r1.1.2.1)
Makefile added (r1.1.2.1)
arg.h added (r1.1.2.1)
array.c added (r1.1.2.1)
array.h added (r1.1.2.1)
cmd.c added (r1.1.2.1)
cmd.h added (r1.1.2.1)
config.h added (r1.1.2.1)
config.sh added (r1.1.2.1)
cons.c added (r1.1.2.1)
consarg.c added (r1.1.2.1)
cscope.out added (r1.1.2.1)
doarg.c added (r1.1.2.1)
doio.c added (r1.1.2.1)
dolist.c added (r1.1.2.1)
dump.c added (r1.1.2.1)
eval.c added (r1.1.2.1)
form.c added (r1.1.2.1)
form.h added (r1.1.2.1)
handy.h added (r1.1.2.1)
hash.c added (r1.1.2.1)
hash.h added (r1.1.2.1)
malloc.c added (r1.1.2.1)
patch-malloc.c added (r1.1.2.1)
patchlevel.h added (r1.1.2.1)
perl.c added (r1.1.2.1)
perl.h added (r1.1.2.1)
perly.c added (r1.1.2.1)
perly.h added (r1.1.2.1)
regcomp.c added (r1.1.2.1)
regcomp.h added (r1.1.2.1)
regexec.c added (r1.1.2.1)
regexp.h added (r1.1.2.1)
spat.h added (r1.1.2.1)
stab.c added (r1.1.2.1)
stab.h added (r1.1.2.1)
str.c added (r1.1.2.1)
str.h added (r1.1.2.1)
toke.c added (r1.1.2.1)
tperly.c added (r1.1.2.1)
usersub.c added (r1.1.2.1)
util.c added (r1.1.2.1)
util.h added (r1.1.2.1)

---
Log message:

Merge from trunk

---
Diffs of the changes:  (+228961 -0)

Index: llvm/test/Programs/MultiSource/Benchmarks/MallocBench/perl/EXTERN.h
diff -c /dev/null llvm/test/Programs/MultiSource/Benchmarks/MallocBench/perl/EXTERN.h:1.1.2.1
*** /dev/null	Mon Mar  1 17:59:23 2004
--- llvm/test/Programs/MultiSource/Benchmarks/MallocBench/perl/EXTERN.h	Mon Mar  1 17:59:12 2004
***************
*** 0 ****
--- 1,28 ----
+ /* $Header: /home/vadve/shared/PublicCVS/llvm/test/Programs/MultiSource/Benchmarks/MallocBench/perl/EXTERN.h,v 1.1.2.1 2004/03/01 23:59:12 brukman Exp $
+  *
+  *    Copyright (c) 1989, Larry Wall
+  *
+  *    You may distribute under the terms of the GNU General Public License
+  *    as specified in the README file that comes with the perl 3.0 kit.
+  *
+  * $Log: EXTERN.h,v $
+  * Revision 1.1.2.1  2004/03/01 23:59:12  brukman
+  * Merge from trunk
+  *
+  * Revision 1.1  2004/02/17 22:21:15  criswell
+  * Initial commit of the perl Malloc Benchmark.  I've cheated a little by
+  * generating the yacc output files and committing them directly, but it was
+  * easier than disabling the Bison Voodoo that gets executed by default.
+  *
+  * Revision 4.0  91/03/20  00:58:26  lwall
+  * 4.0 baseline.
+  * 
+  */
+ 
+ #undef EXT
+ #define EXT extern
+ 
+ #undef INIT
+ #define INIT(x)
+ 
+ #undef DOINIT


Index: llvm/test/Programs/MultiSource/Benchmarks/MallocBench/perl/INTERN.h
diff -c /dev/null llvm/test/Programs/MultiSource/Benchmarks/MallocBench/perl/INTERN.h:1.1.2.1
*** /dev/null	Mon Mar  1 17:59:23 2004
--- llvm/test/Programs/MultiSource/Benchmarks/MallocBench/perl/INTERN.h	Mon Mar  1 17:59:12 2004
***************
*** 0 ****
--- 1,28 ----
+ /* $Header: /home/vadve/shared/PublicCVS/llvm/test/Programs/MultiSource/Benchmarks/MallocBench/perl/INTERN.h,v 1.1.2.1 2004/03/01 23:59:12 brukman Exp $
+  *
+  *    Copyright (c) 1989, Larry Wall
+  *
+  *    You may distribute under the terms of the GNU General Public License
+  *    as specified in the README file that comes with the perl 3.0 kit.
+  *
+  * $Log: INTERN.h,v $
+  * Revision 1.1.2.1  2004/03/01 23:59:12  brukman
+  * Merge from trunk
+  *
+  * Revision 1.1  2004/02/17 22:21:15  criswell
+  * Initial commit of the perl Malloc Benchmark.  I've cheated a little by
+  * generating the yacc output files and committing them directly, but it was
+  * easier than disabling the Bison Voodoo that gets executed by default.
+  *
+  * Revision 4.0  91/03/20  00:58:35  lwall
+  * 4.0 baseline.
+  * 
+  */
+ 
+ #undef EXT
+ #define EXT
+ 
+ #undef INIT
+ #define INIT(x) = x
+ 
+ #define DOINIT


Index: llvm/test/Programs/MultiSource/Benchmarks/MallocBench/perl/LICENSE.TXT
diff -c /dev/null llvm/test/Programs/MultiSource/Benchmarks/MallocBench/perl/LICENSE.TXT:1.1.2.1
*** /dev/null	Mon Mar  1 17:59:23 2004
--- llvm/test/Programs/MultiSource/Benchmarks/MallocBench/perl/LICENSE.TXT	Mon Mar  1 17:59:12 2004
***************
*** 0 ****
--- 1,9 ----
+ perl - Part of the Malloc Benchmark Suite
+ -------------------------------------------------------------------------------
+ All files are licensed under the LLVM license with the following additions:
+ 
+ These files are licensed to you under the GNU General Public License.
+ Redistribution must follow the additional restrictions required by the GPL.
+ 
+ Please see individiual files for additional copyright information.
+ 


Index: llvm/test/Programs/MultiSource/Benchmarks/MallocBench/perl/Makefile
diff -c /dev/null llvm/test/Programs/MultiSource/Benchmarks/MallocBench/perl/Makefile:1.1.2.1
*** /dev/null	Mon Mar  1 17:59:23 2004
--- llvm/test/Programs/MultiSource/Benchmarks/MallocBench/perl/Makefile	Mon Mar  1 17:59:12 2004
***************
*** 0 ****
--- 1,15 ----
+ LEVEL = ../../../../../..
+ PROG = perl
+ REQUIRES_EH_SUPPORT = 1
+ CPPFLAGS += -DHAS_STRERROR -DHAS_MKDIR -DHAS_RMDIR -U_POSIX_SOURCE -D__USE_MISC
+ LIBS += -lm -lcrypt
+ LDFLAGS += -lm -lcrypt
+ 
+ Source := array.c doarg.c eval.c regexec.c \
+           cmd.c doio.c form.c perl.c stab.c usersub.c \
+           cons.c dolist.c hash.c perly.c str.c util.c \
+           consarg.c dump.c malloc.c regcomp.c toke.c
+ 
+ RUN_OPTIONS = $(BUILD_SRC_DIR)/INPUT/endsort.perl $(BUILD_SRC_DIR)/INPUT/endsort.perl
+ include ../../../Makefile.multisrc
+ 


Index: llvm/test/Programs/MultiSource/Benchmarks/MallocBench/perl/arg.h
diff -c /dev/null llvm/test/Programs/MultiSource/Benchmarks/MallocBench/perl/arg.h:1.1.2.1
*** /dev/null	Mon Mar  1 17:59:23 2004
--- llvm/test/Programs/MultiSource/Benchmarks/MallocBench/perl/arg.h	Mon Mar  1 17:59:12 2004
***************
*** 0 ****
--- 1,977 ----
+ /* $Header: /home/vadve/shared/PublicCVS/llvm/test/Programs/MultiSource/Benchmarks/MallocBench/perl/arg.h,v 1.1.2.1 2004/03/01 23:59:12 brukman Exp $
+  *
+  *    Copyright (c) 1989, Larry Wall
+  *
+  *    You may distribute under the terms of the GNU General Public License
+  *    as specified in the README file that comes with the perl 3.0 kit.
+  *
+  * $Log: arg.h,v $
+  * Revision 1.1.2.1  2004/03/01 23:59:12  brukman
+  * Merge from trunk
+  *
+  * Revision 1.1  2004/02/17 22:21:15  criswell
+  * Initial commit of the perl Malloc Benchmark.  I've cheated a little by
+  * generating the yacc output files and committing them directly, but it was
+  * easier than disabling the Bison Voodoo that gets executed by default.
+  *
+  * Revision 4.0  91/03/20  01:03:09  lwall
+  * 4.0 baseline.
+  * 
+  */
+ 
+ #define O_NULL 0
+ #define O_RCAT 1
+ #define O_ITEM 2
+ #define O_SCALAR 3
+ #define O_ITEM2 4
+ #define O_ITEM3 5
+ #define O_CONCAT 6
+ #define O_REPEAT 7
+ #define O_MATCH 8
+ #define O_NMATCH 9
+ #define O_SUBST 10
+ #define O_NSUBST 11
+ #define O_ASSIGN 12
+ #define O_LOCAL 13
+ #define O_AASSIGN 14
+ #define O_SASSIGN 15
+ #define O_CHOP 16
+ #define O_DEFINED 17
+ #define O_UNDEF 18
+ #define O_STUDY 19
+ #define O_POW 20
+ #define O_MULTIPLY 21
+ #define O_DIVIDE 22
+ #define O_MODULO 23
+ #define O_ADD 24
+ #define O_SUBTRACT 25
+ #define O_LEFT_SHIFT 26
+ #define O_RIGHT_SHIFT 27
+ #define O_LT 28
+ #define O_GT 29
+ #define O_LE 30
+ #define O_GE 31
+ #define O_EQ 32
+ #define O_NE 33
+ #define O_NCMP 34
+ #define O_BIT_AND 35
+ #define O_XOR 36
+ #define O_BIT_OR 37
+ #define O_AND 38
+ #define O_OR 39
+ #define O_COND_EXPR 40
+ #define O_COMMA 41
+ #define O_NEGATE 42
+ #define O_NOT 43
+ #define O_COMPLEMENT 44
+ #define O_SELECT 45
+ #define O_WRITE 46
+ #define O_DBMOPEN 47
+ #define O_DBMCLOSE 48
+ #define O_OPEN 49
+ #define O_TRANS 50
+ #define O_NTRANS 51
+ #define O_CLOSE 52
+ #define O_EACH 53
+ #define O_VALUES 54
+ #define O_KEYS 55
+ #define O_LARRAY 56
+ #define O_ARRAY 57
+ #define O_AELEM 58
+ #define O_DELETE 59
+ #define O_LHASH 60
+ #define O_HASH 61
+ #define O_HELEM 62
+ #define O_LAELEM 63
+ #define O_LHELEM 64
+ #define O_LSLICE 65
+ #define O_ASLICE 66
+ #define O_HSLICE 67
+ #define O_LASLICE 68
+ #define O_LHSLICE 69
+ #define O_SPLICE 70
+ #define O_PUSH 71
+ #define O_POP 72
+ #define O_SHIFT 73
+ #define O_UNPACK 74
+ #define O_SPLIT 75
+ #define O_LENGTH 76
+ #define O_SPRINTF 77
+ #define O_SUBSTR 78
+ #define O_PACK 79
+ #define O_GREP 80
+ #define O_JOIN 81
+ #define O_SLT 82
+ #define O_SGT 83
+ #define O_SLE 84
+ #define O_SGE 85
+ #define O_SEQ 86
+ #define O_SNE 87
+ #define O_SCMP 88
+ #define O_SUBR 89
+ #define O_DBSUBR 90
+ #define O_CALLER 91
+ #define O_SORT 92
+ #define O_REVERSE 93
+ #define O_WARN 94
+ #define O_DIE 95
+ #define O_PRTF 96
+ #define O_PRINT 97
+ #define O_CHDIR 98
+ #define O_EXIT 99
+ #define O_RESET 100
+ #define O_LIST 101
+ #define O_EOF 102
+ #define O_GETC 103
+ #define O_TELL 104
+ #define O_RECV 105
+ #define O_READ 106
+ #define O_SYSREAD 107
+ #define O_SYSWRITE 108
+ #define O_SEND 109
+ #define O_SEEK 110
+ #define O_RETURN 111
+ #define O_REDO 112
+ #define O_NEXT 113
+ #define O_LAST 114
+ #define O_DUMP 115
+ #define O_GOTO 116
+ #define O_INDEX 117
+ #define O_RINDEX 118
+ #define O_TIME 119
+ #define O_TMS 120
+ #define O_LOCALTIME 121
+ #define O_GMTIME 122
+ #define O_TRUNCATE 123
+ #define O_LSTAT 124
+ #define O_STAT 125
+ #define O_CRYPT 126
+ #define O_ATAN2 127
+ #define O_SIN 128
+ #define O_COS 129
+ #define O_RAND 130
+ #define O_SRAND 131
+ #define O_EXP 132
+ #define O_LOG 133
+ #define O_SQRT 134
+ #define O_INT 135
+ #define O_ORD 136
+ #define O_ALARM 137
+ #define O_SLEEP 138
+ #define O_RANGE 139
+ #define O_F_OR_R 140
+ #define O_FLIP 141
+ #define O_FLOP 142
+ #define O_FORK 143
+ #define O_WAIT 144
+ #define O_WAITPID 145
+ #define O_SYSTEM 146
+ #define O_EXEC_OP 147
+ #define O_HEX 148
+ #define O_OCT 149
+ #define O_CHOWN 150
+ #define O_KILL 151
+ #define O_UNLINK 152
+ #define O_CHMOD 153
+ #define O_UTIME 154
+ #define O_UMASK 155
+ #define O_MSGGET 156
+ #define O_SHMGET 157
+ #define O_SEMGET 158
+ #define O_MSGCTL 159
+ #define O_SHMCTL 160
+ #define O_SEMCTL 161
+ #define O_MSGSND 162
+ #define O_MSGRCV 163
+ #define O_SEMOP 164
+ #define O_SHMREAD 165
+ #define O_SHMWRITE 166
+ #define O_RENAME 167
+ #define O_LINK 168
+ #define O_MKDIR 169
+ #define O_RMDIR 170
+ #define O_GETPPID 171
+ #define O_GETPGRP 172
+ #define O_SETPGRP 173
+ #define O_GETPRIORITY 174
+ #define O_SETPRIORITY 175
+ #define O_CHROOT 176
+ #define O_FCNTL 177
+ #define O_IOCTL 178
+ #define O_FLOCK 179
+ #define O_UNSHIFT 180
+ #define O_REQUIRE 181
+ #define O_DOFILE 182
+ #define O_EVAL 183
+ #define O_FTRREAD 184
+ #define O_FTRWRITE 185
+ #define O_FTREXEC 186
+ #define O_FTEREAD 187
+ #define O_FTEWRITE 188
+ #define O_FTEEXEC 189
+ #define O_FTIS 190
+ #define O_FTEOWNED 191
+ #define O_FTROWNED 192
+ #define O_FTZERO 193
+ #define O_FTSIZE 194
+ #define O_FTMTIME 195
+ #define O_FTATIME 196
+ #define O_FTCTIME 197
+ #define O_FTSOCK 198
+ #define O_FTCHR 199
+ #define O_FTBLK 200
+ #define O_FTFILE 201
+ #define O_FTDIR 202
+ #define O_FTPIPE 203
+ #define O_FTLINK 204
+ #define O_SYMLINK 205
+ #define O_READLINK 206
+ #define O_FTSUID 207
+ #define O_FTSGID 208
+ #define O_FTSVTX 209
+ #define O_FTTTY 210
+ #define O_FTTEXT 211
+ #define O_FTBINARY 212
+ #define O_SOCKET 213
+ #define O_BIND 214
+ #define O_CONNECT 215
+ #define O_LISTEN 216
+ #define O_ACCEPT 217
+ #define O_GHBYNAME 218
+ #define O_GHBYADDR 219
+ #define O_GHOSTENT 220
+ #define O_GNBYNAME 221
+ #define O_GNBYADDR 222
+ #define O_GNETENT 223
+ #define O_GPBYNAME 224
+ #define O_GPBYNUMBER 225
+ #define O_GPROTOENT 226
+ #define O_GSBYNAME 227
+ #define O_GSBYPORT 228
+ #define O_GSERVENT 229
+ #define O_SHOSTENT 230
+ #define O_SNETENT 231
+ #define O_SPROTOENT 232
+ #define O_SSERVENT 233
+ #define O_EHOSTENT 234
+ #define O_ENETENT 235
+ #define O_EPROTOENT 236
+ #define O_ESERVENT 237
+ #define O_SOCKPAIR 238
+ #define O_SHUTDOWN 239
+ #define O_GSOCKOPT 240
+ #define O_SSOCKOPT 241
+ #define O_GETSOCKNAME 242
+ #define O_GETPEERNAME 243
+ #define O_SSELECT 244
+ #define O_FILENO 245
+ #define O_BINMODE 246
+ #define O_VEC 247
+ #define O_GPWNAM 248
+ #define O_GPWUID 249
+ #define O_GPWENT 250
+ #define O_SPWENT 251
+ #define O_EPWENT 252
+ #define O_GGRNAM 253
+ #define O_GGRGID 254
+ #define O_GGRENT 255
+ #define O_SGRENT 256
+ #define O_EGRENT 257
+ #define O_GETLOGIN 258
+ #define O_OPENDIR 259
+ #define O_READDIR 260
+ #define O_TELLDIR 261
+ #define O_SEEKDIR 262
+ #define O_REWINDDIR 263
+ #define O_CLOSEDIR 264
+ #define O_SYSCALL 265
+ #define O_PIPE 266
+ #define MAXO 267
+ 
+ #ifndef DOINIT
+ extern char *opname[];
+ #else
+ char *opname[] = {
+     "NULL",
+     "RCAT",
+     "ITEM",
+     "SCALAR",
+     "ITEM2",
+     "ITEM3",
+     "CONCAT",
+     "REPEAT",
+     "MATCH",
+     "NMATCH",
+     "SUBST",
+     "NSUBST",
+     "ASSIGN",
+     "LOCAL",
+     "AASSIGN",
+     "SASSIGN",
+     "CHOP",
+     "DEFINED",
+     "UNDEF",
+     "STUDY",
+     "POW",
+     "MULTIPLY",
+     "DIVIDE",
+     "MODULO",
+     "ADD",
+     "SUBTRACT",
+     "LEFT_SHIFT",
+     "RIGHT_SHIFT",
+     "LT",
+     "GT",
+     "LE",
+     "GE",
+     "EQ",
+     "NE",
+     "NCMP",
+     "BIT_AND",
+     "XOR",
+     "BIT_OR",
+     "AND",
+     "OR",
+     "COND_EXPR",
+     "COMMA",
+     "NEGATE",
+     "NOT",
+     "COMPLEMENT",
+     "SELECT",
+     "WRITE",
+     "DBMOPEN",
+     "DBMCLOSE",
+     "OPEN",
+     "TRANS",
+     "NTRANS",
+     "CLOSE",
+     "EACH",
+     "VALUES",
+     "KEYS",
+     "LARRAY",
+     "ARRAY",
+     "AELEM",
+     "DELETE",
+     "LHASH",
+     "HASH",
+     "HELEM",
+     "LAELEM",
+     "LHELEM",
+     "LSLICE",
+     "ASLICE",
+     "HSLICE",
+     "LASLICE",
+     "LHSLICE",
+     "SPLICE",
+     "PUSH",
+     "POP",
+     "SHIFT",
+     "UNPACK",
+     "SPLIT",
+     "LENGTH",
+     "SPRINTF",
+     "SUBSTR",
+     "PACK",
+     "GREP",
+     "JOIN",
+     "SLT",
+     "SGT",
+     "SLE",
+     "SGE",
+     "SEQ",
+     "SNE",
+     "SCMP",
+     "SUBR",
+     "DBSUBR",
+     "CALLER",
+     "SORT",
+     "REVERSE",
+     "WARN",
+     "DIE",
+     "PRINTF",
+     "PRINT",
+     "CHDIR",
+     "EXIT",
+     "RESET",
+     "LIST",
+     "EOF",
+     "GETC",
+     "TELL",
+     "RECV",
+     "READ",
+     "SYSREAD",
+     "SYSWRITE",
+     "SEND",
+     "SEEK",
+     "RETURN",
+     "REDO",
+     "NEXT",
+     "LAST",
+     "DUMP",
+     "GOTO",/* shudder */
+     "INDEX",
+     "RINDEX",
+     "TIME",
+     "TIMES",
+     "LOCALTIME",
+     "GMTIME",
+     "TRUNCATE",
+     "LSTAT",
+     "STAT",
+     "CRYPT",
+     "ATAN2",
+     "SIN",
+     "COS",
+     "RAND",
+     "SRAND",
+     "EXP",
+     "LOG",
+     "SQRT",
+     "INT",
+     "ORD",
+     "ALARM",
+     "SLEEP",
+     "RANGE",
+     "FLIP_OR_RANGE",
+     "FLIP",
+     "FLOP",
+     "FORK",
+     "WAIT",
+     "WAITPID",
+     "SYSTEM",
+     "EXEC",
+     "HEX",
+     "OCT",
+     "CHOWN",
+     "KILL",
+     "UNLINK",
+     "CHMOD",
+     "UTIME",
+     "UMASK",
+     "MSGGET",
+     "SHMGET",
+     "SEMGET",
+     "MSGCTL",
+     "SHMCTL",
+     "SEMCTL",
+     "MSGSND",
+     "MSGRCV",
+     "SEMOP",
+     "SHMREAD",
+     "SHMWRITE",
+     "RENAME",
+     "LINK",
+     "MKDIR",
+     "RMDIR",
+     "GETPPID",
+     "GETPGRP",
+     "SETPGRP",
+     "GETPRIORITY",
+     "SETPRIORITY",
+     "CHROOT",
+     "FCNTL",
+     "SYSIOCTL",
+     "FLOCK",
+     "UNSHIFT",
+     "REQUIRE",
+     "DOFILE",
+     "EVAL",
+     "FTRREAD",
+     "FTRWRITE",
+     "FTREXEC",
+     "FTEREAD",
+     "FTEWRITE",
+     "FTEEXEC",
+     "FTIS",
+     "FTEOWNED",
+     "FTROWNED",
+     "FTZERO",
+     "FTSIZE",
+     "FTMTIME",
+     "FTATIME",
+     "FTCTIME",
+     "FTSOCK",
+     "FTCHR",
+     "FTBLK",
+     "FTFILE",
+     "FTDIR",
+     "FTPIPE",
+     "FTLINK",
+     "SYMLINK",
+     "READLINK",
+     "FTSUID",
+     "FTSGID",
+     "FTSVTX",
+     "FTTTY",
+     "FTTEXT",
+     "FTBINARY",
+     "SOCKET",
+     "BIND",
+     "CONNECT",
+     "LISTEN",
+     "ACCEPT",
+     "GHBYNAME",
+     "GHBYADDR",
+     "GHOSTENT",
+     "GNBYNAME",
+     "GNBYADDR",
+     "GNETENT",
+     "GPBYNAME",
+     "GPBYNUMBER",
+     "GPROTOENT",
+     "GSBYNAME",
+     "GSBYPORT",
+     "GSERVENT",
+     "SHOSTENT",
+     "SNETENT",
+     "SPROTOENT",
+     "SSERVENT",
+     "EHOSTENT",
+     "ENETENT",
+     "EPROTOENT",
+     "ESERVENT",
+     "SOCKPAIR",
+     "SHUTDOWN",
+     "GSOCKOPT",
+     "SSOCKOPT",
+     "GETSOCKNAME",
+     "GETPEERNAME",
+     "SSELECT",
+     "FILENO",
+     "BINMODE",
+     "VEC",
+     "GPWNAM",
+     "GPWUID",
+     "GPWENT",
+     "SPWENT",
+     "EPWENT",
+     "GGRNAM",
+     "GGRGID",
+     "GGRENT",
+     "SGRENT",
+     "EGRENT",
+     "GETLOGIN",
+     "OPENDIR",
+     "READDIR",
+     "TELLDIR",
+     "SEEKDIR",
+     "REWINDDIR",
+     "CLOSEDIR",
+     "SYSCALL",
+     "PIPE",
+     "267"
+ };
+ #endif
+ 
+ #define A_NULL 0
+ #define A_EXPR 1
+ #define A_CMD 2
+ #define A_STAB 3
+ #define A_LVAL 4
+ #define A_SINGLE 5
+ #define A_DOUBLE 6
+ #define A_BACKTICK 7
+ #define A_READ 8
+ #define A_SPAT 9
+ #define A_LEXPR 10
+ #define A_ARYLEN 11
+ #define A_ARYSTAB 12
+ #define A_LARYLEN 13
+ #define A_GLOB 14
+ #define A_WORD 15
+ #define A_INDREAD 16
+ #define A_LARYSTAB 17
+ #define A_STAR 18
+ #define A_LSTAR 19
+ #define A_WANTARRAY 20
+ 
+ #define A_MASK 31
+ #define A_DONT 32		/* or this into type to suppress evaluation */
+ 
+ #ifndef DOINIT
+ extern char *argname[];
+ #else
+ char *argname[] = {
+     "A_NULL",
+     "EXPR",
+     "CMD",
+     "STAB",
+     "LVAL",
+     "SINGLE",
+     "DOUBLE",
+     "BACKTICK",
+     "READ",
+     "SPAT",
+     "LEXPR",
+     "ARYLEN",
+     "ARYSTAB",
+     "LARYLEN",
+     "GLOB",
+     "WORD",
+     "INDREAD",
+     "LARYSTAB",
+     "STAR",
+     "LSTAR",
+     "WANTARRAY",
+     "21"
+ };
+ #endif
+ 
+ #ifndef DOINIT
+ extern bool hoistable[];
+ #else
+ bool hoistable[] =
+   {0,	/* A_NULL */
+    0,	/* EXPR */
+    1,	/* CMD */
+    1,	/* STAB */
+    0,	/* LVAL */
+    1,	/* SINGLE */
+    0,	/* DOUBLE */
+    0,	/* BACKTICK */
+    0,	/* READ */
+    0,	/* SPAT */
+    0,	/* LEXPR */
+    1,	/* ARYLEN */
+    1,	/* ARYSTAB */
+    0,	/* LARYLEN */
+    0,	/* GLOB */
+    1,	/* WORD */
+    0,	/* INDREAD */
+    0,	/* LARYSTAB */
+    1,	/* STAR */
+    1,	/* LSTAR */
+    1,	/* WANTARRAY */
+    0,	/* 21 */
+ };
+ #endif
+ 
+ union argptr {
+     ARG		*arg_arg;
+     char	*arg_cval;
+     STAB	*arg_stab;
+     SPAT	*arg_spat;
+     CMD		*arg_cmd;
+     STR		*arg_str;
+     HASH	*arg_hash;
+ };
+ 
+ struct arg {
+     union argptr arg_ptr;
+     short	arg_len;
+     unsigned short arg_type;
+     unsigned short arg_flags;
+ };
+ 
+ #define AF_ARYOK 1		/* op can handle multiple values here */
+ #define AF_POST 2		/* post *crement this item */
+ #define AF_PRE 4		/* pre *crement this item */
+ #define AF_UP 8			/* increment rather than decrement */
+ #define AF_COMMON 16		/* left and right have symbols in common */
+ #define AF_DEPR 32		/* an older form of the construct */
+ #define AF_LISTISH 64		/* turn into list if important */
+ #define AF_LOCAL 128		/* list of local variables */
+ 
+ /*
+  * Most of the ARG pointers are used as pointers to arrays of ARG.  When
+  * so used, the 0th element is special, and represents the operator to
+  * use on the list of arguments following.  The arg_len in the 0th element
+  * gives the maximum argument number, and the arg_str is used to store
+  * the return value in a more-or-less static location.  Sorry it's not
+  * re-entrant (yet), but it sure makes it efficient.  The arg_type of the
+  * 0th element is an operator (O_*) rather than an argument type (A_*).
+  */
+ 
+ #define Nullarg Null(ARG*)
+ 
+ #ifndef DOINIT
+ EXT unsigned short opargs[MAXO+1];
+ #else
+ #define A(e1,e2,e3)        (e1+(e2<<2)+(e3<<4))
+ #define A5(e1,e2,e3,e4,e5) (e1+(e2<<2)+(e3<<4)+(e4<<6)+(e5<<8))
+ unsigned short opargs[MAXO+1] = {
+ 	A(0,0,0),	/* NULL */
+ 	A(1,1,0),	/* RCAT */
+ 	A(1,0,0),	/* ITEM */
+ 	A(1,0,0),	/* SCALAR */
+ 	A(0,0,0),	/* ITEM2 */
+ 	A(0,0,0),	/* ITEM3 */
+ 	A(1,1,0),	/* CONCAT */
+ 	A(3,1,0),	/* REPEAT */
+ 	A(1,0,0),	/* MATCH */
+ 	A(1,0,0),	/* NMATCH */
+ 	A(1,0,0),	/* SUBST */
+ 	A(1,0,0),	/* NSUBST */
+ 	A(1,1,0),	/* ASSIGN */
+ 	A(1,0,0),	/* LOCAL */
+ 	A(3,3,0),	/* AASSIGN */
+ 	A(0,0,0),	/* SASSIGN */
+ 	A(3,0,0),	/* CHOP */
+ 	A(1,0,0),	/* DEFINED */
+ 	A(1,0,0),	/* UNDEF */
+ 	A(1,0,0),	/* STUDY */
+ 	A(1,1,0),	/* POW */
+ 	A(1,1,0),	/* MULTIPLY */
+ 	A(1,1,0),	/* DIVIDE */
+ 	A(1,1,0),	/* MODULO */
+ 	A(1,1,0),	/* ADD */
+ 	A(1,1,0),	/* SUBTRACT */
+ 	A(1,1,0),	/* LEFT_SHIFT */
+ 	A(1,1,0),	/* RIGHT_SHIFT */
+ 	A(1,1,0),	/* LT */
+ 	A(1,1,0),	/* GT */
+ 	A(1,1,0),	/* LE */
+ 	A(1,1,0),	/* GE */
+ 	A(1,1,0),	/* EQ */
+ 	A(1,1,0),	/* NE */
+ 	A(1,1,0),	/* NCMP */
+ 	A(1,1,0),	/* BIT_AND */
+ 	A(1,1,0),	/* XOR */
+ 	A(1,1,0),	/* BIT_OR */
+ 	A(1,0,0),	/* AND */
+ 	A(1,0,0),	/* OR */
+ 	A(1,0,0),	/* COND_EXPR */
+ 	A(1,1,0),	/* COMMA */
+ 	A(1,0,0),	/* NEGATE */
+ 	A(1,0,0),	/* NOT */
+ 	A(1,0,0),	/* COMPLEMENT */
+ 	A(1,0,0),	/* SELECT */
+ 	A(1,0,0),	/* WRITE */
+ 	A(1,1,1),	/* DBMOPEN */
+ 	A(1,0,0),	/* DBMCLOSE */
+ 	A(1,1,0),	/* OPEN */
+ 	A(1,0,0),	/* TRANS */
+ 	A(1,0,0),	/* NTRANS */
+ 	A(1,0,0),	/* CLOSE */
+ 	A(0,0,0),	/* EACH */
+ 	A(0,0,0),	/* VALUES */
+ 	A(0,0,0),	/* KEYS */
+ 	A(0,0,0),	/* LARRAY */
+ 	A(0,0,0),	/* ARRAY */
+ 	A(0,1,0),	/* AELEM */
+ 	A(0,1,0),	/* DELETE */
+ 	A(0,0,0),	/* LHASH */
+ 	A(0,0,0),	/* HASH */
+ 	A(0,1,0),	/* HELEM */
+ 	A(0,1,0),	/* LAELEM */
+ 	A(0,1,0),	/* LHELEM */
+ 	A(0,3,3),	/* LSLICE */
+ 	A(0,3,0),	/* ASLICE */
+ 	A(0,3,0),	/* HSLICE */
+ 	A(0,3,0),	/* LASLICE */
+ 	A(0,3,0),	/* LHSLICE */
+ 	A(0,3,1),	/* SPLICE */
+ 	A(0,3,0),	/* PUSH */
+ 	A(0,0,0),	/* POP */
+ 	A(0,0,0),	/* SHIFT */
+ 	A(1,1,0),	/* UNPACK */
+ 	A(1,0,1),	/* SPLIT */
+ 	A(1,0,0),	/* LENGTH */
+ 	A(3,0,0),	/* SPRINTF */
+ 	A(1,1,1),	/* SUBSTR */
+ 	A(1,3,0),	/* PACK */
+ 	A(0,3,0),	/* GREP */
+ 	A(1,3,0),	/* JOIN */
+ 	A(1,1,0),	/* SLT */
+ 	A(1,1,0),	/* SGT */
+ 	A(1,1,0),	/* SLE */
+ 	A(1,1,0),	/* SGE */
+ 	A(1,1,0),	/* SEQ */
+ 	A(1,1,0),	/* SNE */
+ 	A(1,1,0),	/* SCMP */
+ 	A(0,3,0),	/* SUBR */
+ 	A(0,3,0),	/* DBSUBR */
+ 	A(1,0,0),	/* CALLER */
+ 	A(1,3,0),	/* SORT */
+ 	A(0,3,0),	/* REVERSE */
+ 	A(0,3,0),	/* WARN */
+ 	A(0,3,0),	/* DIE */
+ 	A(1,3,0),	/* PRINTF */
+ 	A(1,3,0),	/* PRINT */
+ 	A(1,0,0),	/* CHDIR */
+ 	A(1,0,0),	/* EXIT */
+ 	A(1,0,0),	/* RESET */
+ 	A(3,0,0),	/* LIST */
+ 	A(1,0,0),	/* EOF */
+ 	A(1,0,0),	/* GETC */
+ 	A(1,0,0),	/* TELL */
+ 	A5(1,1,1,1,0),	/* RECV */
+ 	A(1,1,3),	/* READ */
+ 	A(1,1,3),	/* SYSREAD */
+ 	A(1,1,3),	/* SYSWRITE */
+ 	A(1,1,3),	/* SEND */
+ 	A(1,1,1),	/* SEEK */
+ 	A(0,3,0),	/* RETURN */
+ 	A(0,0,0),	/* REDO */
+ 	A(0,0,0),	/* NEXT */
+ 	A(0,0,0),	/* LAST */
+ 	A(0,0,0),	/* DUMP */
+ 	A(0,0,0),	/* GOTO */
+ 	A(1,1,1),	/* INDEX */
+ 	A(1,1,1),	/* RINDEX */
+ 	A(0,0,0),	/* TIME */
+ 	A(0,0,0),	/* TIMES */
+ 	A(1,0,0),	/* LOCALTIME */
+ 	A(1,0,0),	/* GMTIME */
+ 	A(1,1,0),	/* TRUNCATE */
+ 	A(1,0,0),	/* LSTAT */
+ 	A(1,0,0),	/* STAT */
+ 	A(1,1,0),	/* CRYPT */
+ 	A(1,1,0),	/* ATAN2 */
+ 	A(1,0,0),	/* SIN */
+ 	A(1,0,0),	/* COS */
+ 	A(1,0,0),	/* RAND */
+ 	A(1,0,0),	/* SRAND */
+ 	A(1,0,0),	/* EXP */
+ 	A(1,0,0),	/* LOG */
+ 	A(1,0,0),	/* SQRT */
+ 	A(1,0,0),	/* INT */
+ 	A(1,0,0),	/* ORD */
+ 	A(1,0,0),	/* ALARM */
+ 	A(1,0,0),	/* SLEEP */
+ 	A(1,1,0),	/* RANGE */
+ 	A(1,0,0),	/* F_OR_R */
+ 	A(1,0,0),	/* FLIP */
+ 	A(0,1,0),	/* FLOP */
+ 	A(0,0,0),	/* FORK */
+ 	A(0,0,0),	/* WAIT */
+ 	A(1,1,0),	/* WAITPID */
+ 	A(1,3,0),	/* SYSTEM */
+ 	A(1,3,0),	/* EXEC */
+ 	A(1,0,0),	/* HEX */
+ 	A(1,0,0),	/* OCT */
+ 	A(0,3,0),	/* CHOWN */
+ 	A(0,3,0),	/* KILL */
+ 	A(0,3,0),	/* UNLINK */
+ 	A(0,3,0),	/* CHMOD */
+ 	A(0,3,0),	/* UTIME */
+ 	A(1,0,0),	/* UMASK */
+ 	A(1,1,0),	/* MSGGET */
+ 	A(1,1,1),	/* SHMGET */
+ 	A(1,1,1),	/* SEMGET */
+ 	A(1,1,1),	/* MSGCTL */
+ 	A(1,1,1),	/* SHMCTL */
+ 	A5(1,1,1,1,0),	/* SEMCTL */
+ 	A(1,1,1),	/* MSGSND */
+ 	A5(1,1,1,1,1),	/* MSGRCV */
+ 	A(1,1,1),	/* SEMOP */
+ 	A5(1,1,1,1,0),	/* SHMREAD */
+ 	A5(1,1,1,1,0),	/* SHMWRITE */
+ 	A(1,1,0),	/* RENAME */
+ 	A(1,1,0),	/* LINK */
+ 	A(1,1,0),	/* MKDIR */
+ 	A(1,0,0),	/* RMDIR */
+ 	A(0,0,0),	/* GETPPID */
+ 	A(1,0,0),	/* GETPGRP */
+ 	A(1,1,0),	/* SETPGRP */
+ 	A(1,1,0),	/* GETPRIORITY */
+ 	A(1,1,1),	/* SETPRIORITY */
+ 	A(1,0,0),	/* CHROOT */
+ 	A(1,1,1),	/* FCNTL */
+ 	A(1,1,1),	/* SYSIOCTL */
+ 	A(1,1,0),	/* FLOCK */
+ 	A(0,3,0),	/* UNSHIFT */
+ 	A(1,0,0),	/* REQUIRE */
+ 	A(1,0,0),	/* DOFILE */
+ 	A(1,0,0),	/* EVAL */
+ 	A(1,0,0),	/* FTRREAD */
+ 	A(1,0,0),	/* FTRWRITE */
+ 	A(1,0,0),	/* FTREXEC */
+ 	A(1,0,0),	/* FTEREAD */
+ 	A(1,0,0),	/* FTEWRITE */
+ 	A(1,0,0),	/* FTEEXEC */
+ 	A(1,0,0),	/* FTIS */
+ 	A(1,0,0),	/* FTEOWNED */
+ 	A(1,0,0),	/* FTROWNED */
+ 	A(1,0,0),	/* FTZERO */
+ 	A(1,0,0),	/* FTSIZE */
+ 	A(1,0,0),	/* FTMTIME */
+ 	A(1,0,0),	/* FTATIME */
+ 	A(1,0,0),	/* FTCTIME */
+ 	A(1,0,0),	/* FTSOCK */
+ 	A(1,0,0),	/* FTCHR */
+ 	A(1,0,0),	/* FTBLK */
+ 	A(1,0,0),	/* FTFILE */
+ 	A(1,0,0),	/* FTDIR */
+ 	A(1,0,0),	/* FTPIPE */
+ 	A(1,0,0),	/* FTLINK */
+ 	A(1,1,0),	/* SYMLINK */
+ 	A(1,0,0),	/* READLINK */
+ 	A(1,0,0),	/* FTSUID */
+ 	A(1,0,0),	/* FTSGID */
+ 	A(1,0,0),	/* FTSVTX */
+ 	A(1,0,0),	/* FTTTY */
+ 	A(1,0,0),	/* FTTEXT */
+ 	A(1,0,0),	/* FTBINARY */
+ 	A5(1,1,1,1,0),	/* SOCKET */
+ 	A(1,1,0),	/* BIND */
+ 	A(1,1,0),	/* CONNECT */
+ 	A(1,1,0),	/* LISTEN */
+ 	A(1,1,0),	/* ACCEPT */
+ 	A(1,0,0),	/* GHBYNAME */
+ 	A(1,1,0),	/* GHBYADDR */
+ 	A(0,0,0),	/* GHOSTENT */
+ 	A(1,0,0),	/* GNBYNAME */
+ 	A(1,1,0),	/* GNBYADDR */
+ 	A(0,0,0),	/* GNETENT */
+ 	A(1,0,0),	/* GPBYNAME */
+ 	A(1,0,0),	/* GPBYNUMBER */
+ 	A(0,0,0),	/* GPROTOENT */
+ 	A(1,1,0),	/* GSBYNAME */
+ 	A(1,1,0),	/* GSBYPORT */
+ 	A(0,0,0),	/* GSERVENT */
+ 	A(1,0,0),	/* SHOSTENT */
+ 	A(1,0,0),	/* SNETENT */
+ 	A(1,0,0),	/* SPROTOENT */
+ 	A(1,0,0),	/* SSERVENT */
+ 	A(0,0,0),	/* EHOSTENT */
+ 	A(0,0,0),	/* ENETENT */
+ 	A(0,0,0),	/* EPROTOENT */
+ 	A(0,0,0),	/* ESERVENT */
+ 	A5(1,1,1,1,1),	/* SOCKPAIR */
+ 	A(1,1,0),	/* SHUTDOWN */
+ 	A(1,1,1),	/* GSOCKOPT */
+ 	A5(1,1,1,1,0),	/* SSOCKOPT */
+ 	A(1,0,0),	/* GETSOCKNAME */
+ 	A(1,0,0),	/* GETPEERNAME */
+ 	A5(1,1,1,1,0),	/* SSELECT */
+ 	A(1,0,0),	/* FILENO */
+ 	A(1,0,0),	/* BINMODE */
+ 	A(1,1,1),	/* VEC */
+ 	A(1,0,0),	/* GPWNAM */
+ 	A(1,0,0),	/* GPWUID */
+ 	A(0,0,0),	/* GPWENT */
+ 	A(0,0,0),	/* SPWENT */
+ 	A(0,0,0),	/* EPWENT */
+ 	A(1,0,0),	/* GGRNAM */
+ 	A(1,0,0),	/* GGRGID */
+ 	A(0,0,0),	/* GGRENT */
+ 	A(0,0,0),	/* SGRENT */
+ 	A(0,0,0),	/* EGRENT */
+ 	A(0,0,0),	/* GETLOGIN */
+ 	A(1,1,0),	/* OPENDIR */
+ 	A(1,0,0),	/* READDIR */
+ 	A(1,0,0),	/* TELLDIR */
+ 	A(1,1,0),	/* SEEKDIR */
+ 	A(1,0,0),	/* REWINDDIR */
+ 	A(1,0,0),	/* CLOSEDIR */
+ 	A(1,3,0),	/* SYSCALL */
+ 	A(1,1,0),	/* PIPE */
+ 	0
+ };
+ #undef A
+ #undef A5
+ #endif
+ 
+ int do_trans();
+ int do_split();
+ bool do_eof();
+ long do_tell();
+ bool do_seek();
+ int do_tms();
+ int do_time();
+ int do_stat();
+ STR *do_push();
+ FILE *nextargv();
+ STR *do_fttext();
+ int do_slice();


Index: llvm/test/Programs/MultiSource/Benchmarks/MallocBench/perl/array.c
diff -c /dev/null llvm/test/Programs/MultiSource/Benchmarks/MallocBench/perl/array.c:1.1.2.1
*** /dev/null	Mon Mar  1 17:59:23 2004
--- llvm/test/Programs/MultiSource/Benchmarks/MallocBench/perl/array.c	Mon Mar  1 17:59:12 2004
***************
*** 0 ****
--- 1,272 ----
+ /* $Header: /home/vadve/shared/PublicCVS/llvm/test/Programs/MultiSource/Benchmarks/MallocBench/perl/array.c,v 1.1.2.1 2004/03/01 23:59:12 brukman Exp $
+  *
+  *    Copyright (c) 1989, Larry Wall
+  *
+  *    You may distribute under the terms of the GNU General Public License
+  *    as specified in the README file that comes with the perl 3.0 kit.
+  *
+  * $Log: array.c,v $
+  * Revision 1.1.2.1  2004/03/01 23:59:12  brukman
+  * Merge from trunk
+  *
+  * Revision 1.1  2004/02/17 22:21:15  criswell
+  * Initial commit of the perl Malloc Benchmark.  I've cheated a little by
+  * generating the yacc output files and committing them directly, but it was
+  * easier than disabling the Bison Voodoo that gets executed by default.
+  *
+  * Revision 4.0  91/03/20  01:03:32  lwall
+  * 4.0 baseline.
+  * 
+  */
+ 
+ #include "EXTERN.h"
+ #include "perl.h"
+ 
+ STR *
+ afetch(ar,key,lval)
+ register ARRAY *ar;
+ int key;
+ int lval;
+ {
+     STR *str;
+ 
+     if (key < 0 || key > ar->ary_fill) {
+ 	if (lval && key >= 0) {
+ 	    if (ar->ary_flags & ARF_REAL)
+ 		str = Str_new(5,0);
+ 	    else
+ 		str = str_mortal(&str_undef);
+ 	    (void)astore(ar,key,str);
+ 	    return str;
+ 	}
+ 	else
+ 	    return &str_undef;
+     }
+     if (!ar->ary_array[key]) {
+ 	if (lval) {
+ 	    str = Str_new(6,0);
+ 	    (void)astore(ar,key,str);
+ 	    return str;
+ 	}
+ 	return &str_undef;
+     }
+     return ar->ary_array[key];
+ }
+ 
+ bool
+ astore(ar,key,val)
+ register ARRAY *ar;
+ int key;
+ STR *val;
+ {
+     int retval;
+ 
+     if (key < 0)
+ 	return FALSE;
+     if (key > ar->ary_max) {
+ 	int newmax;
+ 
+ 	if (ar->ary_alloc != ar->ary_array) {
+ 	    retval = ar->ary_array - ar->ary_alloc;
+ 	    Copy(ar->ary_array, ar->ary_alloc, ar->ary_max+1, STR*);
+ 	    Zero(ar->ary_alloc+ar->ary_max+1, retval, STR*);
+ 	    ar->ary_max += retval;
+ 	    ar->ary_array -= retval;
+ 	    if (key > ar->ary_max - 10) {
+ 		newmax = key + ar->ary_max;
+ 		goto resize;
+ 	    }
+ 	}
+ 	else {
+ 	    if (ar->ary_alloc) {
+ 		newmax = key + ar->ary_max / 5;
+ 	      resize:
+ 		Renew(ar->ary_alloc,newmax+1, STR*);
+ 		Zero(&ar->ary_alloc[ar->ary_max+1], newmax - ar->ary_max, STR*);
+ 	    }
+ 	    else {
+ 		newmax = key < 4 ? 4 : key;
+ 		Newz(2,ar->ary_alloc, newmax+1, STR*);
+ 	    }
+ 	    ar->ary_array = ar->ary_alloc;
+ 	    ar->ary_max = newmax;
+ 	}
+     }
+     if ((ar->ary_flags & ARF_REAL) && ar->ary_fill < key) {
+ 	while (++ar->ary_fill < key) {
+ 	    if (ar->ary_array[ar->ary_fill] != Nullstr) {
+ 		str_free(ar->ary_array[ar->ary_fill]);
+ 		ar->ary_array[ar->ary_fill] = Nullstr;
+ 	    }
+ 	}
+     }
+     retval = (ar->ary_array[key] != Nullstr);
+     if (retval && (ar->ary_flags & ARF_REAL))
+ 	str_free(ar->ary_array[key]);
+     ar->ary_array[key] = val;
+     return retval;
+ }
+ 
+ ARRAY *
+ anew(stab)
+ STAB *stab;
+ {
+     register ARRAY *ar;
+ 
+     New(1,ar,1,ARRAY);
+     ar->ary_magic = Str_new(7,0);
+     ar->ary_alloc = ar->ary_array = 0;
+     str_magic(ar->ary_magic, stab, '#', Nullch, 0);
+     ar->ary_max = ar->ary_fill = -1;
+     ar->ary_flags = ARF_REAL;
+     return ar;
+ }
+ 
+ ARRAY *
+ afake(stab,size,strp)
+ STAB *stab;
+ register int size;
+ register STR **strp;
+ {
+     register ARRAY *ar;
+ 
+     New(3,ar,1,ARRAY);
+     New(4,ar->ary_alloc,size+1,STR*);
+     Copy(strp,ar->ary_alloc,size,STR*);
+     ar->ary_array = ar->ary_alloc;
+     ar->ary_magic = Str_new(8,0);
+     str_magic(ar->ary_magic, stab, '#', Nullch, 0);
+     ar->ary_fill = size - 1;
+     ar->ary_max = size - 1;
+     ar->ary_flags = 0;
+     while (size--) {
+ 	(*strp++)->str_pok &= ~SP_TEMP;
+     }
+     return ar;
+ }
+ 
+ void
+ aclear(ar)
+ register ARRAY *ar;
+ {
+     register int key;
+ 
+     if (!ar || !(ar->ary_flags & ARF_REAL) || ar->ary_max < 0)
+ 	return;
+     if (key = ar->ary_array - ar->ary_alloc) {
+ 	ar->ary_max += key;
+ 	ar->ary_array -= key;
+     }
+     for (key = 0; key <= ar->ary_max; key++)
+ 	str_free(ar->ary_array[key]);
+     ar->ary_fill = -1;
+     Zero(ar->ary_array, ar->ary_max+1, STR*);
+ }
+ 
+ void
+ afree(ar)
+ register ARRAY *ar;
+ {
+     register int key;
+ 
+     if (!ar)
+ 	return;
+     if (key = ar->ary_array - ar->ary_alloc) {
+ 	ar->ary_max += key;
+ 	ar->ary_array -= key;
+     }
+     if (ar->ary_flags & ARF_REAL) {
+ 	for (key = 0; key <= ar->ary_max; key++)
+ 	    str_free(ar->ary_array[key]);
+     }
+     str_free(ar->ary_magic);
+     Safefree(ar->ary_alloc);
+     Safefree(ar);
+ }
+ 
+ bool
+ apush(ar,val)
+ register ARRAY *ar;
+ STR *val;
+ {
+     return astore(ar,++(ar->ary_fill),val);
+ }
+ 
+ STR *
+ apop(ar)
+ register ARRAY *ar;
+ {
+     STR *retval;
+ 
+     if (ar->ary_fill < 0)
+ 	return Nullstr;
+     retval = ar->ary_array[ar->ary_fill];
+     ar->ary_array[ar->ary_fill--] = Nullstr;
+     return retval;
+ }
+ 
+ aunshift(ar,num)
+ register ARRAY *ar;
+ register int num;
+ {
+     register int i;
+     register STR **sstr,**dstr;
+ 
+     if (num <= 0)
+ 	return;
+     if (ar->ary_array - ar->ary_alloc >= num) {
+ 	ar->ary_max += num;
+ 	ar->ary_fill += num;
+ 	while (num--)
+ 	    *--ar->ary_array = Nullstr;
+     }
+     else {
+ 	(void)astore(ar,ar->ary_fill+num,(STR*)0);	/* maybe extend array */
+ 	dstr = ar->ary_array + ar->ary_fill;
+ 	sstr = dstr - num;
+ #ifdef BUGGY_MSC5
+  # pragma loop_opt(off)	/* don't loop-optimize the following code */
+ #endif /* BUGGY_MSC5 */
+ 	for (i = ar->ary_fill; i >= 0; i--) {
+ 	    *dstr-- = *sstr--;
+ #ifdef BUGGY_MSC5
+  # pragma loop_opt()	/* loop-optimization back to command-line setting */
+ #endif /* BUGGY_MSC5 */
+ 	}
+ 	Zero(ar->ary_array, num, STR*);
+     }
+ }
+ 
+ STR *
+ ashift(ar)
+ register ARRAY *ar;
+ {
+     STR *retval;
+ 
+     if (ar->ary_fill < 0)
+ 	return Nullstr;
+     retval = *ar->ary_array;
+     *(ar->ary_array++) = Nullstr;
+     ar->ary_max--;
+     ar->ary_fill--;
+     return retval;
+ }
+ 
+ int
+ alen(ar)
+ register ARRAY *ar;
+ {
+     return ar->ary_fill;
+ }
+ 
+ afill(ar, fill)
+ register ARRAY *ar;
+ int fill;
+ {
+     if (fill < 0)
+ 	fill = -1;
+     if (fill <= ar->ary_max)
+ 	ar->ary_fill = fill;
+     else
+ 	(void)astore(ar,fill,Nullstr);
+ }


Index: llvm/test/Programs/MultiSource/Benchmarks/MallocBench/perl/array.h
diff -c /dev/null llvm/test/Programs/MultiSource/Benchmarks/MallocBench/perl/array.h:1.1.2.1
*** /dev/null	Mon Mar  1 17:59:23 2004
--- llvm/test/Programs/MultiSource/Benchmarks/MallocBench/perl/array.h	Mon Mar  1 17:59:12 2004
***************
*** 0 ****
--- 1,42 ----
+ /* $Header: /home/vadve/shared/PublicCVS/llvm/test/Programs/MultiSource/Benchmarks/MallocBench/perl/array.h,v 1.1.2.1 2004/03/01 23:59:12 brukman Exp $
+  *
+  *    Copyright (c) 1989, Larry Wall
+  *
+  *    You may distribute under the terms of the GNU General Public License
+  *    as specified in the README file that comes with the perl 3.0 kit.
+  *
+  * $Log: array.h,v $
+  * Revision 1.1.2.1  2004/03/01 23:59:12  brukman
+  * Merge from trunk
+  *
+  * Revision 1.1  2004/02/17 22:21:15  criswell
+  * Initial commit of the perl Malloc Benchmark.  I've cheated a little by
+  * generating the yacc output files and committing them directly, but it was
+  * easier than disabling the Bison Voodoo that gets executed by default.
+  *
+  * Revision 4.0  91/03/20  01:03:44  lwall
+  * 4.0 baseline.
+  * 
+  */
+ 
+ struct atbl {
+     STR	**ary_array;
+     STR **ary_alloc;
+     STR *ary_magic;
+     int ary_max;
+     int ary_fill;
+     char ary_flags;
+ };
+ 
+ #define ARF_REAL 1	/* free old entries */
+ 
+ STR *afetch();
+ bool astore();
+ STR *apop();
+ STR *ashift();
+ void afree();
+ void aclear();
+ bool apush();
+ int alen();
+ ARRAY *anew();
+ ARRAY *afake();


Index: llvm/test/Programs/MultiSource/Benchmarks/MallocBench/perl/cmd.c
diff -c /dev/null llvm/test/Programs/MultiSource/Benchmarks/MallocBench/perl/cmd.c:1.1.2.1
*** /dev/null	Mon Mar  1 17:59:23 2004
--- llvm/test/Programs/MultiSource/Benchmarks/MallocBench/perl/cmd.c	Mon Mar  1 17:59:12 2004
***************
*** 0 ****
--- 1,1226 ----
+ /* $RCSfile: cmd.c,v $$Revision: 1.1.2.1 $$Date: 2004/03/01 23:59:12 $
+  *
+  *    Copyright (c) 1989, Larry Wall
+  *
+  *    You may distribute under the terms of the GNU General Public License
+  *    as specified in the README file that comes with the perl 3.0 kit.
+  *
+  * $Log: cmd.c,v $
+  * Revision 1.1.2.1  2004/03/01 23:59:12  brukman
+  * Merge from trunk
+  *
+  * Revision 1.1  2004/02/17 22:21:15  criswell
+  * Initial commit of the perl Malloc Benchmark.  I've cheated a little by
+  * generating the yacc output files and committing them directly, but it was
+  * easier than disabling the Bison Voodoo that gets executed by default.
+  *
+  * Revision 4.0.1.1  91/04/11  17:36:16  lwall
+  * patch1: you may now use "die" and "caller" in a signal handler
+  * 
+  * Revision 4.0  91/03/20  01:04:18  lwall
+  * 4.0 baseline.
+  * 
+  */
+ 
+ #include "EXTERN.h"
+ #include "perl.h"
+ 
+ #ifdef I_VARARGS
+ #  include <varargs.h>
+ #endif
+ 
+ static STR str_chop;
+ 
+ void grow_dlevel();
+ 
+ /* do longjmps() clobber register variables? */
+ 
+ #if defined(cray) || defined(__STDC__)
+ #define JMPCLOBBER
+ #endif
+ 
+ /* This is the main command loop.  We try to spend as much time in this loop
+  * as possible, so lots of optimizations do their activities in here.  This
+  * means things get a little sloppy.
+  */
+ 
+ int
+ cmd_exec(cmdparm,gimme,sp)
+ CMD *VOLATILE cmdparm;
+ VOLATILE int gimme;
+ VOLATILE int sp;
+ {
+     register CMD *cmd = cmdparm;
+     SPAT *VOLATILE oldspat;
+     VOLATILE int firstsave = savestack->ary_fill;
+     VOLATILE int oldsave;
+     VOLATILE int aryoptsave;
+ #ifdef DEBUGGING
+     VOLATILE int olddlevel;
+     VOLATILE int entdlevel;
+ #endif
+     register STR *retstr = &str_undef;
+     register char *tmps;
+     register int cmdflags;
+     register int match;
+     register char *go_to = goto_targ;
+     register int newsp = -2;
+     register STR **st = stack->ary_array;
+     FILE *VOLATILE fp;
+     ARRAY *VOLATILE ar;
+ 
+     lastsize = 0;
+ #ifdef DEBUGGING
+     entdlevel = dlevel;
+ #endif
+ tail_recursion_entry:
+ #ifdef DEBUGGING
+     dlevel = entdlevel;
+ #endif
+ #ifdef TAINT
+     tainted = 0;	/* Each statement is presumed innocent */
+ #endif
+     if (cmd == Nullcmd) {
+ 	if (gimme == G_ARRAY && newsp > -2)
+ 	    return newsp;
+ 	else {
+ 	    st[++sp] = retstr;
+ 	    return sp;
+ 	}
+     }
+     cmdflags = cmd->c_flags;	/* hopefully load register */
+     if (go_to) {
+ 	if (cmd->c_label && strEQ(go_to,cmd->c_label))
+ 	    goto_targ = go_to = Nullch;		/* here at last */
+ 	else {
+ 	    switch (cmd->c_type) {
+ 	    case C_IF:
+ 		oldspat = curspat;
+ 		oldsave = savestack->ary_fill;
+ #ifdef DEBUGGING
+ 		olddlevel = dlevel;
+ #endif
+ 		retstr = &str_yes;
+ 		newsp = -2;
+ 		if (cmd->ucmd.ccmd.cc_true) {
+ #ifdef DEBUGGING
+ 		    if (debug) {
+ 			debname[dlevel] = 't';
+ 			debdelim[dlevel] = '_';
+ 			if (++dlevel >= dlmax)
+ 			    grow_dlevel();
+ 		    }
+ #endif
+ 		    newsp = cmd_exec(cmd->ucmd.ccmd.cc_true,gimme && (cmdflags & CF_TERM),sp);
+ 		    st = stack->ary_array;	/* possibly reallocated */
+ 		    retstr = st[newsp];
+ 		}
+ 		if (!goto_targ)
+ 		    go_to = Nullch;
+ 		curspat = oldspat;
+ 		if (savestack->ary_fill > oldsave)
+ 		    restorelist(oldsave);
+ #ifdef DEBUGGING
+ 		dlevel = olddlevel;
+ #endif
+ 		cmd = cmd->ucmd.ccmd.cc_alt;
+ 		goto tail_recursion_entry;
+ 	    case C_ELSE:
+ 		oldspat = curspat;
+ 		oldsave = savestack->ary_fill;
+ #ifdef DEBUGGING
+ 		olddlevel = dlevel;
+ #endif
+ 		retstr = &str_undef;
+ 		newsp = -2;
+ 		if (cmd->ucmd.ccmd.cc_true) {
+ #ifdef DEBUGGING
+ 		    if (debug) {
+ 			debname[dlevel] = 'e';
+ 			debdelim[dlevel] = '_';
+ 			if (++dlevel >= dlmax)
+ 			    grow_dlevel();
+ 		    }
+ #endif
+ 		    newsp = cmd_exec(cmd->ucmd.ccmd.cc_true,gimme && (cmdflags & CF_TERM),sp);
+ 		    st = stack->ary_array;	/* possibly reallocated */
+ 		    retstr = st[newsp];
+ 		}
+ 		if (!goto_targ)
+ 		    go_to = Nullch;
+ 		curspat = oldspat;
+ 		if (savestack->ary_fill > oldsave)
+ 		    restorelist(oldsave);
+ #ifdef DEBUGGING
+ 		dlevel = olddlevel;
+ #endif
+ 		break;
+ 	    case C_BLOCK:
+ 	    case C_WHILE:
+ 		if (!(cmdflags & CF_ONCE)) {
+ 		    cmdflags |= CF_ONCE;
+ 		    if (++loop_ptr >= loop_max) {
+ 			loop_max += 128;
+ 			Renew(loop_stack, loop_max, struct loop);
+ 		    }
+ 		    loop_stack[loop_ptr].loop_label = cmd->c_label;
+ 		    loop_stack[loop_ptr].loop_sp = sp;
+ #ifdef DEBUGGING
+ 		    if (debug & 4) {
+ 			deb("(Pushing label #%d %s)\n",
+ 			  loop_ptr, cmd->c_label ? cmd->c_label : "");
+ 		    }
+ #endif
+ 		}
+ #ifdef JMPCLOBBER
+ 		cmdparm = cmd;
+ #endif
+ 		match = setjmp(loop_stack[loop_ptr].loop_env);
+ 		if (match) {
+ 		    st = stack->ary_array;	/* possibly reallocated */
+ #ifdef JMPCLOBBER
+ 		    cmd = cmdparm;
+ 		    cmdflags = cmd->c_flags|CF_ONCE;
+ #endif
+ 		    if (savestack->ary_fill > oldsave)
+ 			restorelist(oldsave);
+ 		    switch (match) {
+ 		    default:
+ 			fatal("longjmp returned bad value (%d)",match);
+ 		    case O_LAST:	/* not done unless go_to found */
+ 			go_to = Nullch;
+ 			if (lastretstr) {
+ 			    retstr = lastretstr;
+ 			    newsp = -2;
+ 			}
+ 			else {
+ 			    newsp = sp + lastsize;
+ 			    retstr = st[newsp];
+ 			}
+ #ifdef DEBUGGING
+ 			olddlevel = dlevel;
+ #endif
+ 			curspat = oldspat;
+ 			goto next_cmd;
+ 		    case O_NEXT:	/* not done unless go_to found */
+ 			go_to = Nullch;
+ #ifdef JMPCLOBBER
+ 			newsp = -2;
+ 			retstr = &str_undef;
+ #endif
+ 			goto next_iter;
+ 		    case O_REDO:	/* not done unless go_to found */
+ 			go_to = Nullch;
+ #ifdef JMPCLOBBER
+ 			newsp = -2;
+ 			retstr = &str_undef;
+ #endif
+ 			goto doit;
+ 		    }
+ 		}
+ 		oldspat = curspat;
+ 		oldsave = savestack->ary_fill;
+ #ifdef DEBUGGING
+ 		olddlevel = dlevel;
+ #endif
+ 		if (cmd->ucmd.ccmd.cc_true) {
+ #ifdef DEBUGGING
+ 		    if (debug) {
+ 			debname[dlevel] = 't';
+ 			debdelim[dlevel] = '_';
+ 			if (++dlevel >= dlmax)
+ 			    grow_dlevel();
+ 		    }
+ #endif
+ 		    newsp = cmd_exec(cmd->ucmd.ccmd.cc_true,gimme && (cmdflags & CF_TERM),sp);
+ 		    st = stack->ary_array;	/* possibly reallocated */
+ 		    retstr = st[newsp];
+ 		}
+ 		if (!goto_targ) {
+ 		    go_to = Nullch;
+ 		    goto next_iter;
+ 		}
+ #ifdef DEBUGGING
+ 		dlevel = olddlevel;
+ #endif
+ 		if (cmd->ucmd.ccmd.cc_alt) {
+ #ifdef DEBUGGING
+ 		    if (debug) {
+ 			debname[dlevel] = 'a';
+ 			debdelim[dlevel] = '_';
+ 			if (++dlevel >= dlmax)
+ 			    grow_dlevel();
+ 		    }
+ #endif
+ 		    newsp = cmd_exec(cmd->ucmd.ccmd.cc_alt,gimme && (cmdflags & CF_TERM),sp);
+ 		    st = stack->ary_array;	/* possibly reallocated */
+ 		    retstr = st[newsp];
+ 		}
+ 		if (goto_targ)
+ 		    break;
+ 		go_to = Nullch;
+ 		goto finish_while;
+ 	    }
+ 	    cmd = cmd->c_next;
+ 	    if (cmd && cmd->c_head == cmd)
+ 					/* reached end of while loop */
+ 		return sp;		/* targ isn't in this block */
+ 	    if (cmdflags & CF_ONCE) {
+ #ifdef DEBUGGING
+ 		if (debug & 4) {
+ 		    tmps = loop_stack[loop_ptr].loop_label;
+ 		    deb("(Popping label #%d %s)\n",loop_ptr,
+ 			tmps ? tmps : "" );
+ 		}
+ #endif
+ 		loop_ptr--;
+ 	    }
+ 	    goto tail_recursion_entry;
+ 	}
+     }
+ 
+ until_loop:
+ 
+     /* Set line number so run-time errors can be located */
+ 
+     curcmd = cmd;
+ 
+ #ifdef DEBUGGING
+     if (debug) {
+ 	if (debug & 2) {
+ 	    deb("%s	(%lx)	r%lx	t%lx	a%lx	n%lx	cs%lx\n",
+ 		cmdname[cmd->c_type],cmd,cmd->c_expr,
+ 		cmd->ucmd.ccmd.cc_true,cmd->ucmd.ccmd.cc_alt,cmd->c_next,
+ 		curspat);
+ 	}
+ 	debname[dlevel] = cmdname[cmd->c_type][0];
+ 	debdelim[dlevel] = '!';
+ 	if (++dlevel >= dlmax)
+ 	    grow_dlevel();
+     }
+ #endif
+ 
+     /* Here is some common optimization */
+ 
+     if (cmdflags & CF_COND) {
+ 	switch (cmdflags & CF_OPTIMIZE) {
+ 
+ 	case CFT_FALSE:
+ 	    retstr = cmd->c_short;
+ 	    newsp = -2;
+ 	    match = FALSE;
+ 	    if (cmdflags & CF_NESURE)
+ 		goto maybe;
+ 	    break;
+ 	case CFT_TRUE:
+ 	    retstr = cmd->c_short;
+ 	    newsp = -2;
+ 	    match = TRUE;
+ 	    if (cmdflags & CF_EQSURE)
+ 		goto flipmaybe;
+ 	    break;
+ 
+ 	case CFT_REG:
+ 	    retstr = STAB_STR(cmd->c_stab);
+ 	    newsp = -2;
+ 	    match = str_true(retstr);	/* => retstr = retstr, c2 should fix */
+ 	    if (cmdflags & (match ? CF_EQSURE : CF_NESURE))
+ 		goto flipmaybe;
+ 	    break;
+ 
+ 	case CFT_ANCHOR:	/* /^pat/ optimization */
+ 	    if (multiline) {
+ 		if (*cmd->c_short->str_ptr && !(cmdflags & CF_EQSURE))
+ 		    goto scanner;	/* just unanchor it */
+ 		else
+ 		    break;		/* must evaluate */
+ 	    }
+ 	    /* FALL THROUGH */
+ 	case CFT_STROP:		/* string op optimization */
+ 	    retstr = STAB_STR(cmd->c_stab);
+ 	    newsp = -2;
+ #ifndef I286
+ 	    if (*cmd->c_short->str_ptr == *str_get(retstr) &&
+ 		    bcmp(cmd->c_short->str_ptr, str_get(retstr),
+ 		      cmd->c_slen) == 0 ) {
+ 		if (cmdflags & CF_EQSURE) {
+ 		    if (sawampersand && (cmdflags & CF_OPTIMIZE) != CFT_STROP) {
+ 			curspat = Nullspat;
+ 			if (leftstab)
+ 			    str_nset(stab_val(leftstab),"",0);
+ 			if (amperstab)
+ 			    str_sset(stab_val(amperstab),cmd->c_short);
+ 			if (rightstab)
+ 			    str_nset(stab_val(rightstab),
+ 			      retstr->str_ptr + cmd->c_slen,
+ 			      retstr->str_cur - cmd->c_slen);
+ 		    }
+ 		    if (cmd->c_spat)
+ 			lastspat = cmd->c_spat;
+ 		    match = !(cmdflags & CF_FIRSTNEG);
+ 		    retstr = &str_yes;
+ 		    goto flipmaybe;
+ 		}
+ 	    }
+ 	    else if (cmdflags & CF_NESURE) {
+ 		match = cmdflags & CF_FIRSTNEG;
+ 		retstr = &str_no;
+ 		goto flipmaybe;
+ 	    }
+ #else
+ 	    {
+ 		char *zap1, *zap2, zap1c, zap2c;
+ 		int  zaplen;
+ 
+ 		zap1 = cmd->c_short->str_ptr;
+ 		zap2 = str_get(retstr);
+ 		zap1c = *zap1;
+ 		zap2c = *zap2;
+ 		zaplen = cmd->c_slen;
+ 		if ((zap1c == zap2c) && (bcmp(zap1, zap2, zaplen) == 0)) {
+ 		    if (cmdflags & CF_EQSURE) {
+ 			if (sawampersand &&
+ 			  (cmdflags & CF_OPTIMIZE) != CFT_STROP) {
+ 			    curspat = Nullspat;
+ 			    if (leftstab)
+ 				str_nset(stab_val(leftstab),"",0);
+ 			    if (amperstab)
+ 				str_sset(stab_val(amperstab),cmd->c_short);
+ 			    if (rightstab)
+ 				str_nset(stab_val(rightstab),
+ 					 retstr->str_ptr + cmd->c_slen,
+ 					 retstr->str_cur - cmd->c_slen);
+ 			}
+ 			if (cmd->c_spat)
+ 			    lastspat = cmd->c_spat;
+ 		 	match = !(cmdflags & CF_FIRSTNEG);
+ 		 	retstr = &str_yes;
+ 		 	goto flipmaybe;
+ 		    }
+ 		}
+ 		else if (cmdflags & CF_NESURE) {
+ 		    match = cmdflags & CF_FIRSTNEG;
+ 		    retstr = &str_no;
+ 		    goto flipmaybe;
+ 		}
+ 	    }
+ #endif
+ 	    break;			/* must evaluate */
+ 
+ 	case CFT_SCAN:			/* non-anchored search */
+ 	  scanner:
+ 	    retstr = STAB_STR(cmd->c_stab);
+ 	    newsp = -2;
+ 	    if (retstr->str_pok & SP_STUDIED)
+ 		if (screamfirst[cmd->c_short->str_rare] >= 0)
+ 		    tmps = screaminstr(retstr, cmd->c_short);
+ 		else
+ 		    tmps = Nullch;
+ 	    else {
+ 		tmps = str_get(retstr);		/* make sure it's pok */
+ #ifndef lint
+ 		tmps = fbminstr((unsigned char*)tmps,
+ 		    (unsigned char*)tmps + retstr->str_cur, cmd->c_short);
+ #endif
+ 	    }
+ 	    if (tmps) {
+ 		if (cmdflags & CF_EQSURE) {
+ 		    ++cmd->c_short->str_u.str_useful;
+ 		    if (sawampersand) {
+ 			curspat = Nullspat;
+ 			if (leftstab)
+ 			    str_nset(stab_val(leftstab),retstr->str_ptr,
+ 			      tmps - retstr->str_ptr);
+ 			if (amperstab)
+ 			    str_nset(stab_val(amperstab),
+ 			      tmps, cmd->c_short->str_cur);
+ 			if (rightstab)
+ 			    str_nset(stab_val(rightstab),
+ 			      tmps + cmd->c_short->str_cur,
+ 			      retstr->str_cur - (tmps - retstr->str_ptr) -
+ 				cmd->c_short->str_cur);
+ 		    }
+ 		    lastspat = cmd->c_spat;
+ 		    match = !(cmdflags & CF_FIRSTNEG);
+ 		    retstr = &str_yes;
+ 		    goto flipmaybe;
+ 		}
+ 		else
+ 		    hint = tmps;
+ 	    }
+ 	    else {
+ 		if (cmdflags & CF_NESURE) {
+ 		    ++cmd->c_short->str_u.str_useful;
+ 		    match = cmdflags & CF_FIRSTNEG;
+ 		    retstr = &str_no;
+ 		    goto flipmaybe;
+ 		}
+ 	    }
+ 	    if (--cmd->c_short->str_u.str_useful < 0) {
+ 		cmdflags &= ~CF_OPTIMIZE;
+ 		cmdflags |= CFT_EVAL;	/* never try this optimization again */
+ 		cmd->c_flags = (cmdflags & ~CF_ONCE);
+ 	    }
+ 	    break;			/* must evaluate */
+ 
+ 	case CFT_NUMOP:		/* numeric op optimization */
+ 	    retstr = STAB_STR(cmd->c_stab);
+ 	    newsp = -2;
+ 	    switch (cmd->c_slen) {
+ 	    case O_EQ:
+ 		if (dowarn) {
+ 		    if ((!retstr->str_nok && !looks_like_number(retstr)))
+ 			warn("Possible use of == on string value");
+ 		}
+ 		match = (str_gnum(retstr) == cmd->c_short->str_u.str_nval);
+ 		break;
+ 	    case O_NE:
+ 		match = (str_gnum(retstr) != cmd->c_short->str_u.str_nval);
+ 		break;
+ 	    case O_LT:
+ 		match = (str_gnum(retstr) <  cmd->c_short->str_u.str_nval);
+ 		break;
+ 	    case O_LE:
+ 		match = (str_gnum(retstr) <= cmd->c_short->str_u.str_nval);
+ 		break;
+ 	    case O_GT:
+ 		match = (str_gnum(retstr) >  cmd->c_short->str_u.str_nval);
+ 		break;
+ 	    case O_GE:
+ 		match = (str_gnum(retstr) >= cmd->c_short->str_u.str_nval);
+ 		break;
+ 	    }
+ 	    if (match) {
+ 		if (cmdflags & CF_EQSURE) {
+ 		    retstr = &str_yes;
+ 		    goto flipmaybe;
+ 		}
+ 	    }
+ 	    else if (cmdflags & CF_NESURE) {
+ 		retstr = &str_no;
+ 		goto flipmaybe;
+ 	    }
+ 	    break;			/* must evaluate */
+ 
+ 	case CFT_INDGETS:		/* while (<$foo>) */
+ 	    last_in_stab = stabent(str_get(STAB_STR(cmd->c_stab)),TRUE);
+ 	    if (!stab_io(last_in_stab))
+ 		stab_io(last_in_stab) = stio_new();
+ 	    goto dogets;
+ 	case CFT_GETS:			/* really a while (<file>) */
+ 	    last_in_stab = cmd->c_stab;
+ 	  dogets:
+ 	    fp = stab_io(last_in_stab)->ifp;
+ 	    retstr = stab_val(defstab);
+ 	    newsp = -2;
+ 	  keepgoing:
+ 	    if (fp && str_gets(retstr, fp, 0)) {
+ 		if (*retstr->str_ptr == '0' && retstr->str_cur == 1)
+ 		    match = FALSE;
+ 		else
+ 		    match = TRUE;
+ 		stab_io(last_in_stab)->lines++;
+ 	    }
+ 	    else if (stab_io(last_in_stab)->flags & IOF_ARGV) {
+ 		if (!fp)
+ 		    goto doeval;	/* first time through */
+ 		fp = nextargv(last_in_stab);
+ 		if (fp)
+ 		    goto keepgoing;
+ 		(void)do_close(last_in_stab,FALSE);
+ 		stab_io(last_in_stab)->flags |= IOF_START;
+ 		retstr = &str_undef;
+ 		match = FALSE;
+ 	    }
+ 	    else {
+ 		retstr = &str_undef;
+ 		match = FALSE;
+ 	    }
+ 	    goto flipmaybe;
+ 	case CFT_EVAL:
+ 	    break;
+ 	case CFT_UNFLIP:
+ 	    while (tmps_max > tmps_base) {	/* clean up after last eval */
+ 		str_free(tmps_list[tmps_max]);
+ 		tmps_list[tmps_max--] = Nullstr;
+ 	    }
+ 	    newsp = eval(cmd->c_expr,gimme && (cmdflags & CF_TERM),sp);
+ 	    st = stack->ary_array;	/* possibly reallocated */
+ 	    retstr = st[newsp];
+ 	    match = str_true(retstr);
+ 	    if (cmd->c_expr->arg_type == O_FLIP)	/* undid itself? */
+ 		cmdflags = copyopt(cmd,cmd->c_expr[3].arg_ptr.arg_cmd);
+ 	    goto maybe;
+ 	case CFT_CHOP:
+ 	    retstr = stab_val(cmd->c_stab);
+ 	    newsp = -2;
+ 	    match = (retstr->str_cur != 0);
+ 	    tmps = str_get(retstr);
+ 	    tmps += retstr->str_cur - match;
+ 	    str_nset(&str_chop,tmps,match);
+ 	    *tmps = '\0';
+ 	    retstr->str_nok = 0;
+ 	    retstr->str_cur = tmps - retstr->str_ptr;
+ 	    STABSET(retstr);
+ 	    retstr = &str_chop;
+ 	    goto flipmaybe;
+ 	case CFT_ARRAY:
+ 	    match = cmd->c_short->str_u.str_useful; /* just to get register */
+ 
+ 	    if (match < 0) {		/* first time through here? */
+ 		ar = stab_array(cmd->c_expr[1].arg_ptr.arg_stab);
+ 		aryoptsave = savestack->ary_fill;
+ 		savesptr(&stab_val(cmd->c_stab));
+ 		savelong(&cmd->c_short->str_u.str_useful);
+ 	    }
+ 	    else {
+ 		ar = stab_xarray(cmd->c_expr[1].arg_ptr.arg_stab);
+ 		if (cmd->c_type != C_WHILE && savestack->ary_fill > firstsave)
+ 		    restorelist(firstsave);
+ 	    }
+ 
+ 	    if (match >= ar->ary_fill) {	/* we're in LAST, probably */
+ 		retstr = &str_undef;
+ 		cmd->c_short->str_u.str_useful = -1;	/* actually redundant */
+ 		match = FALSE;
+ 	    }
+ 	    else {
+ 		match++;
+ 		if (!(retstr = ar->ary_array[match]))
+ 		    retstr = afetch(ar,match,TRUE);
+ 		stab_val(cmd->c_stab) = retstr;
+ 		cmd->c_short->str_u.str_useful = match;
+ 		match = TRUE;
+ 	    }
+ 	    newsp = -2;
+ 	    goto maybe;
+ 	case CFT_D1:
+ 	    break;
+ 	case CFT_D0:
+ 	    if (DBsingle->str_u.str_nval != 0)
+ 		break;
+ 	    if (DBsignal->str_u.str_nval != 0)
+ 		break;
+ 	    if (DBtrace->str_u.str_nval != 0)
+ 		break;
+ 	    goto next_cmd;
+ 	}
+ 
+     /* we have tried to make this normal case as abnormal as possible */
+ 
+     doeval:
+ 	if (gimme == G_ARRAY) {
+ 	    lastretstr = Nullstr;
+ 	    lastspbase = sp;
+ 	    lastsize = newsp - sp;
+ 	    if (lastsize < 0)
+ 		lastsize = 0;
+ 	}
+ 	else
+ 	    lastretstr = retstr;
+ 	while (tmps_max > tmps_base) {	/* clean up after last eval */
+ 	    str_free(tmps_list[tmps_max]);
+ 	    tmps_list[tmps_max--] = Nullstr;
+ 	}
+ 	newsp = eval(cmd->c_expr,
+ 	  gimme && (cmdflags & CF_TERM) && cmd->c_type == C_EXPR &&
+ 		!cmd->ucmd.acmd.ac_expr,
+ 	  sp);
+ 	st = stack->ary_array;	/* possibly reallocated */
+ 	retstr = st[newsp];
+ 	if (newsp > sp && retstr)
+ 	    match = str_true(retstr);
+ 	else
+ 	    match = FALSE;
+ 	goto maybe;
+ 
+     /* if flipflop was true, flop it */
+ 
+     flipmaybe:
+ 	if (match && cmdflags & CF_FLIP) {
+ 	    while (tmps_max > tmps_base) {	/* clean up after last eval */
+ 		str_free(tmps_list[tmps_max]);
+ 		tmps_list[tmps_max--] = Nullstr;
+ 	    }
+ 	    if (cmd->c_expr->arg_type == O_FLOP) {	/* currently toggled? */
+ 		newsp = eval(cmd->c_expr,G_SCALAR,sp);/*let eval undo it*/
+ 		cmdflags = copyopt(cmd,cmd->c_expr[3].arg_ptr.arg_cmd);
+ 	    }
+ 	    else {
+ 		newsp = eval(cmd->c_expr,G_SCALAR,sp);/* let eval do it */
+ 		if (cmd->c_expr->arg_type == O_FLOP)	/* still toggled? */
+ 		    cmdflags = copyopt(cmd,cmd->c_expr[4].arg_ptr.arg_cmd);
+ 	    }
+ 	}
+ 	else if (cmdflags & CF_FLIP) {
+ 	    if (cmd->c_expr->arg_type == O_FLOP) {	/* currently toggled? */
+ 		match = TRUE;				/* force on */
+ 	    }
+ 	}
+ 
+     /* at this point, match says whether our expression was true */
+ 
+     maybe:
+ 	if (cmdflags & CF_INVERT)
+ 	    match = !match;
+ 	if (!match)
+ 	    goto next_cmd;
+     }
+ #ifdef TAINT
+     tainted = 0;	/* modifier doesn't affect regular expression */
+ #endif
+ 
+     /* now to do the actual command, if any */
+ 
+     switch (cmd->c_type) {
+     case C_NULL:
+ 	fatal("panic: cmd_exec");
+     case C_EXPR:			/* evaluated for side effects */
+ 	if (cmd->ucmd.acmd.ac_expr) {	/* more to do? */
+ 	    if (gimme == G_ARRAY) {
+ 		lastretstr = Nullstr;
+ 		lastspbase = sp;
+ 		lastsize = newsp - sp;
+ 		if (lastsize < 0)
+ 		    lastsize = 0;
+ 	    }
+ 	    else
+ 		lastretstr = retstr;
+ 	    while (tmps_max > tmps_base) {	/* clean up after last eval */
+ 		str_free(tmps_list[tmps_max]);
+ 		tmps_list[tmps_max--] = Nullstr;
+ 	    }
+ 	    newsp = eval(cmd->ucmd.acmd.ac_expr,gimme && (cmdflags&CF_TERM),sp);
+ 	    st = stack->ary_array;	/* possibly reallocated */
+ 	    retstr = st[newsp];
+ 	}
+ 	break;
+     case C_NSWITCH:
+ 	{
+ 	    double value = str_gnum(STAB_STR(cmd->c_stab));
+ 
+ 	    match = (int)value;
+ 	    if (value < 0.0) {
+ 		if (((double)match) > value)
+ 		    --match;		/* was fractional--truncate other way */
+ 	    }
+ 	}
+ 	goto doswitch;
+     case C_CSWITCH:
+ 	match = *(str_get(STAB_STR(cmd->c_stab))) & 255;
+       doswitch:
+ 	match -= cmd->ucmd.scmd.sc_offset;
+ 	if (match < 0)
+ 	    match = 0;
+ 	else if (match > cmd->ucmd.scmd.sc_max)
+ 	    match = cmd->ucmd.scmd.sc_max;
+ 	cmd = cmd->ucmd.scmd.sc_next[match];
+ 	goto tail_recursion_entry;
+     case C_NEXT:
+ 	cmd = cmd->ucmd.ccmd.cc_alt;
+ 	goto tail_recursion_entry;
+     case C_ELSIF:
+ 	fatal("panic: ELSIF");
+     case C_IF:
+ 	oldspat = curspat;
+ 	oldsave = savestack->ary_fill;
+ #ifdef DEBUGGING
+ 	olddlevel = dlevel;
+ #endif
+ 	retstr = &str_yes;
+ 	newsp = -2;
+ 	if (cmd->ucmd.ccmd.cc_true) {
+ #ifdef DEBUGGING
+ 	    if (debug) {
+ 		debname[dlevel] = 't';
+ 		debdelim[dlevel] = '_';
+ 		if (++dlevel >= dlmax)
+ 		    grow_dlevel();
+ 	    }
+ #endif
+ 	    newsp = cmd_exec(cmd->ucmd.ccmd.cc_true,gimme && (cmdflags & CF_TERM),sp);
+ 	    st = stack->ary_array;	/* possibly reallocated */
+ 	    retstr = st[newsp];
+ 	}
+ 	curspat = oldspat;
+ 	if (savestack->ary_fill > oldsave)
+ 	    restorelist(oldsave);
+ #ifdef DEBUGGING
+ 	dlevel = olddlevel;
+ #endif
+ 	cmd = cmd->ucmd.ccmd.cc_alt;
+ 	goto tail_recursion_entry;
+     case C_ELSE:
+ 	oldspat = curspat;
+ 	oldsave = savestack->ary_fill;
+ #ifdef DEBUGGING
+ 	olddlevel = dlevel;
+ #endif
+ 	retstr = &str_undef;
+ 	newsp = -2;
+ 	if (cmd->ucmd.ccmd.cc_true) {
+ #ifdef DEBUGGING
+ 	    if (debug) {
+ 		debname[dlevel] = 'e';
+ 		debdelim[dlevel] = '_';
+ 		if (++dlevel >= dlmax)
+ 		    grow_dlevel();
+ 	    }
+ #endif
+ 	    newsp = cmd_exec(cmd->ucmd.ccmd.cc_true,gimme && (cmdflags & CF_TERM),sp);
+ 	    st = stack->ary_array;	/* possibly reallocated */
+ 	    retstr = st[newsp];
+ 	}
+ 	curspat = oldspat;
+ 	if (savestack->ary_fill > oldsave)
+ 	    restorelist(oldsave);
+ #ifdef DEBUGGING
+ 	dlevel = olddlevel;
+ #endif
+ 	break;
+     case C_BLOCK:
+     case C_WHILE:
+ 	if (!(cmdflags & CF_ONCE)) {	/* first time through here? */
+ 	    cmdflags |= CF_ONCE;
+ 	    if (++loop_ptr >= loop_max) {
+ 		loop_max += 128;
+ 		Renew(loop_stack, loop_max, struct loop);
+ 	    }
+ 	    loop_stack[loop_ptr].loop_label = cmd->c_label;
+ 	    loop_stack[loop_ptr].loop_sp = sp;
+ #ifdef DEBUGGING
+ 	    if (debug & 4) {
+ 		deb("(Pushing label #%d %s)\n",
+ 		  loop_ptr, cmd->c_label ? cmd->c_label : "");
+ 	    }
+ #endif
+ 	}
+ #ifdef JMPCLOBBER
+ 	cmdparm = cmd;
+ #endif
+ 	match = setjmp(loop_stack[loop_ptr].loop_env);
+ 	if (match) {
+ 	    st = stack->ary_array;	/* possibly reallocated */
+ #ifdef JMPCLOBBER
+ 	    cmd = cmdparm;
+ 	    cmdflags = cmd->c_flags|CF_ONCE;
+ 	    go_to = goto_targ;
+ #endif
+ 	    if (savestack->ary_fill > oldsave)
+ 		restorelist(oldsave);
+ 	    switch (match) {
+ 	    default:
+ 		fatal("longjmp returned bad value (%d)",match);
+ 	    case O_LAST:
+ 		if (lastretstr) {
+ 		    retstr = lastretstr;
+ 		    newsp = -2;
+ 		}
+ 		else {
+ 		    newsp = sp + lastsize;
+ 		    retstr = st[newsp];
+ 		}
+ 		curspat = oldspat;
+ 		goto next_cmd;
+ 	    case O_NEXT:
+ #ifdef JMPCLOBBER
+ 		newsp = -2;
+ 		retstr = &str_undef;
+ #endif
+ 		goto next_iter;
+ 	    case O_REDO:
+ #ifdef DEBUGGING
+ 		dlevel = olddlevel;
+ #endif
+ #ifdef JMPCLOBBER
+ 		newsp = -2;
+ 		retstr = &str_undef;
+ #endif
+ 		goto doit;
+ 	    }
+ 	}
+ 	oldspat = curspat;
+ 	oldsave = savestack->ary_fill;
+ #ifdef DEBUGGING
+ 	olddlevel = dlevel;
+ #endif
+     doit:
+ 	if (cmd->ucmd.ccmd.cc_true) {
+ #ifdef DEBUGGING
+ 	    if (debug) {
+ 		debname[dlevel] = 't';
+ 		debdelim[dlevel] = '_';
+ 		if (++dlevel >= dlmax)
+ 		    grow_dlevel();
+ 	    }
+ #endif
+ 	    newsp = cmd_exec(cmd->ucmd.ccmd.cc_true,gimme && (cmdflags & CF_TERM),sp);
+ 	    st = stack->ary_array;	/* possibly reallocated */
+ 	    retstr = st[newsp];
+ 	}
+ 	/* actually, this spot is rarely reached anymore since the above
+ 	 * cmd_exec() returns through longjmp().  Hooray for structure.
+ 	 */
+       next_iter:
+ #ifdef DEBUGGING
+ 	dlevel = olddlevel;
+ #endif
+ 	if (cmd->ucmd.ccmd.cc_alt) {
+ #ifdef DEBUGGING
+ 	    if (debug) {
+ 		debname[dlevel] = 'a';
+ 		debdelim[dlevel] = '_';
+ 		if (++dlevel >= dlmax)
+ 		    grow_dlevel();
+ 	    }
+ #endif
+ 	    newsp = cmd_exec(cmd->ucmd.ccmd.cc_alt,gimme && (cmdflags & CF_TERM),sp);
+ 	    st = stack->ary_array;	/* possibly reallocated */
+ 	    retstr = st[newsp];
+ 	}
+       finish_while:
+ 	curspat = oldspat;
+ 	if (savestack->ary_fill > oldsave) {
+ 	    if (cmdflags & CF_TERM) {
+ 		for (match = sp + 1; match <= newsp; match++)
+ 		    st[match] = str_mortal(st[match]);
+ 		retstr = st[newsp];
+ 	    }
+ 	    restorelist(oldsave);
+ 	}
+ #ifdef DEBUGGING
+ 	dlevel = olddlevel - 1;
+ #endif
+ 	if (cmd->c_type != C_BLOCK)
+ 	    goto until_loop;	/* go back and evaluate conditional again */
+     }
+     if (cmdflags & CF_LOOP) {
+ 	cmdflags |= CF_COND;		/* now test the condition */
+ #ifdef DEBUGGING
+ 	dlevel = entdlevel;
+ #endif
+ 	goto until_loop;
+     }
+   next_cmd:
+     if (cmdflags & CF_ONCE) {
+ #ifdef DEBUGGING
+ 	if (debug & 4) {
+ 	    tmps = loop_stack[loop_ptr].loop_label;
+ 	    deb("(Popping label #%d %s)\n",loop_ptr, tmps ? tmps : "");
+ 	}
+ #endif
+ 	loop_ptr--;
+ 	if ((cmdflags & CF_OPTIMIZE) == CFT_ARRAY &&
+ 	  savestack->ary_fill > aryoptsave)
+ 	    restorelist(aryoptsave);
+     }
+     cmd = cmd->c_next;
+     goto tail_recursion_entry;
+ }
+ 
+ #ifdef DEBUGGING
+ #  ifndef I_VARARGS
+ /*VARARGS1*/
+ deb(pat,a1,a2,a3,a4,a5,a6,a7,a8)
+ char *pat;
+ {
+     register int i;
+ 
+     fprintf(stderr,"%-4ld",(long)curcmd->c_line);
+     for (i=0; i<dlevel; i++)
+ 	fprintf(stderr,"%c%c ",debname[i],debdelim[i]);
+     fprintf(stderr,pat,a1,a2,a3,a4,a5,a6,a7,a8);
+ }
+ #  else
+ /*VARARGS1*/
+ deb(va_alist)
+ va_dcl
+ {
+     va_list args;
+     char *pat;
+     register int i;
+ 
+     va_start(args);
+     fprintf(stderr,"%-4ld",(long)curcmd->c_line);
+     for (i=0; i<dlevel; i++)
+ 	fprintf(stderr,"%c%c ",debname[i],debdelim[i]);
+ 
+     pat = va_arg(args, char *);
+     (void) vfprintf(stderr,pat,args);
+     va_end( args );
+ }
+ #  endif
+ #endif
+ 
+ copyopt(cmd,which)
+ register CMD *cmd;
+ register CMD *which;
+ {
+     cmd->c_flags &= CF_ONCE|CF_COND|CF_LOOP;
+     cmd->c_flags |= which->c_flags;
+     cmd->c_short = which->c_short;
+     cmd->c_slen = which->c_slen;
+     cmd->c_stab = which->c_stab;
+     return cmd->c_flags;
+ }
+ 
+ ARRAY *
+ saveary(stab)
+ STAB *stab;
+ {
+     register STR *str;
+ 
+     str = Str_new(10,0);
+     str->str_state = SS_SARY;
+     str->str_u.str_stab = stab;
+     if (str->str_ptr) {
+ 	Safefree(str->str_ptr);
+ 	str->str_ptr = Nullch;
+ 	str->str_len = 0;
+     }
+     str->str_ptr = (char*)stab_array(stab);
+     (void)apush(savestack,str); /* save array ptr */
+     stab_xarray(stab) = Null(ARRAY*);
+     return stab_xarray(aadd(stab));
+ }
+ 
+ HASH *
+ savehash(stab)
+ STAB *stab;
+ {
+     register STR *str;
+ 
+     str = Str_new(11,0);
+     str->str_state = SS_SHASH;
+     str->str_u.str_stab = stab;
+     if (str->str_ptr) {
+ 	Safefree(str->str_ptr);
+ 	str->str_ptr = Nullch;
+ 	str->str_len = 0;
+     }
+     str->str_ptr = (char*)stab_hash(stab);
+     (void)apush(savestack,str); /* save hash ptr */
+     stab_xhash(stab) = Null(HASH*);
+     return stab_xhash(hadd(stab));
+ }
+ 
+ void
+ saveitem(item)
+ register STR *item;
+ {
+     register STR *str;
+ 
+     (void)apush(savestack,item);		/* remember the pointer */
+     str = Str_new(12,0);
+     str_sset(str,item);
+     (void)apush(savestack,str);			/* remember the value */
+ }
+ 
+ void
+ saveint(intp)
+ int *intp;
+ {
+     register STR *str;
+ 
+     str = Str_new(13,0);
+     str->str_state = SS_SINT;
+     str->str_u.str_useful = (long)*intp;	/* remember value */
+     if (str->str_ptr) {
+ 	Safefree(str->str_ptr);
+ 	str->str_len = 0;
+     }
+     str->str_ptr = (char*)intp;		/* remember pointer */
+     (void)apush(savestack,str);
+ }
+ 
+ void
+ savelong(longp)
+ long *longp;
+ {
+     register STR *str;
+ 
+     str = Str_new(14,0);
+     str->str_state = SS_SLONG;
+     str->str_u.str_useful = *longp;		/* remember value */
+     if (str->str_ptr) {
+ 	Safefree(str->str_ptr);
+ 	str->str_len = 0;
+     }
+     str->str_ptr = (char*)longp;		/* remember pointer */
+     (void)apush(savestack,str);
+ }
+ 
+ void
+ savesptr(sptr)
+ STR **sptr;
+ {
+     register STR *str;
+ 
+     str = Str_new(15,0);
+     str->str_state = SS_SSTRP;
+     str->str_magic = *sptr;		/* remember value */
+     if (str->str_ptr) {
+ 	Safefree(str->str_ptr);
+ 	str->str_len = 0;
+     }
+     str->str_ptr = (char*)sptr;		/* remember pointer */
+     (void)apush(savestack,str);
+ }
+ 
+ void
+ savenostab(stab)
+ STAB *stab;
+ {
+     register STR *str;
+ 
+     str = Str_new(16,0);
+     str->str_state = SS_SNSTAB;
+     str->str_magic = (STR*)stab;	/* remember which stab to free */
+     (void)apush(savestack,str);
+ }
+ 
+ void
+ savehptr(hptr)
+ HASH **hptr;
+ {
+     register STR *str;
+ 
+     str = Str_new(17,0);
+     str->str_state = SS_SHPTR;
+     str->str_u.str_hash = *hptr;	/* remember value */
+     if (str->str_ptr) {
+ 	Safefree(str->str_ptr);
+ 	str->str_len = 0;
+     }
+     str->str_ptr = (char*)hptr;		/* remember pointer */
+     (void)apush(savestack,str);
+ }
+ 
+ void
+ saveaptr(aptr)
+ ARRAY **aptr;
+ {
+     register STR *str;
+ 
+     str = Str_new(17,0);
+     str->str_state = SS_SAPTR;
+     str->str_u.str_array = *aptr;	/* remember value */
+     if (str->str_ptr) {
+ 	Safefree(str->str_ptr);
+ 	str->str_len = 0;
+     }
+     str->str_ptr = (char*)aptr;		/* remember pointer */
+     (void)apush(savestack,str);
+ }
+ 
+ void
+ savelist(sarg,maxsarg)
+ register STR **sarg;
+ int maxsarg;
+ {
+     register STR *str;
+     register int i;
+ 
+     for (i = 1; i <= maxsarg; i++) {
+ 	(void)apush(savestack,sarg[i]);		/* remember the pointer */
+ 	str = Str_new(18,0);
+ 	str_sset(str,sarg[i]);
+ 	(void)apush(savestack,str);			/* remember the value */
+ 	sarg[i]->str_u.str_useful = -1;
+     }
+ }
+ 
+ void
+ restorelist(base)
+ int base;
+ {
+     register STR *str;
+     register STR *value;
+     register STAB *stab;
+ 
+     if (base < -1)
+ 	fatal("panic: corrupt saved stack index");
+     while (savestack->ary_fill > base) {
+ 	value = apop(savestack);
+ 	switch (value->str_state) {
+ 	case SS_NORM:				/* normal string */
+ 	case SS_INCR:
+ 	    str = apop(savestack);
+ 	    str_replace(str,value);
+ 	    STABSET(str);
+ 	    break;
+ 	case SS_SARY:				/* array reference */
+ 	    stab = value->str_u.str_stab;
+ 	    afree(stab_xarray(stab));
+ 	    stab_xarray(stab) = (ARRAY*)value->str_ptr;
+ 	    value->str_ptr = Nullch;
+ 	    str_free(value);
+ 	    break;
+ 	case SS_SHASH:				/* hash reference */
+ 	    stab = value->str_u.str_stab;
+ 	    (void)hfree(stab_xhash(stab), FALSE);
+ 	    stab_xhash(stab) = (HASH*)value->str_ptr;
+ 	    value->str_ptr = Nullch;
+ 	    str_free(value);
+ 	    break;
+ 	case SS_SINT:				/* int reference */
+ 	    *((int*)value->str_ptr) = (int)value->str_u.str_useful;
+ 	    value->str_ptr = Nullch;
+ 	    str_free(value);
+ 	    break;
+ 	case SS_SLONG:				/* long reference */
+ 	    *((long*)value->str_ptr) = value->str_u.str_useful;
+ 	    value->str_ptr = Nullch;
+ 	    str_free(value);
+ 	    break;
+ 	case SS_SSTRP:				/* STR* reference */
+ 	    *((STR**)value->str_ptr) = value->str_magic;
+ 	    value->str_magic = Nullstr;
+ 	    value->str_ptr = Nullch;
+ 	    str_free(value);
+ 	    break;
+ 	case SS_SHPTR:				/* HASH* reference */
+ 	    *((HASH**)value->str_ptr) = value->str_u.str_hash;
+ 	    value->str_ptr = Nullch;
+ 	    str_free(value);
+ 	    break;
+ 	case SS_SAPTR:				/* ARRAY* reference */
+ 	    *((ARRAY**)value->str_ptr) = value->str_u.str_array;
+ 	    value->str_ptr = Nullch;
+ 	    str_free(value);
+ 	    break;
+ 	case SS_SNSTAB:
+ 	    stab = (STAB*)value->str_magic;
+ 	    value->str_magic = Nullstr;
+ 	    (void)stab_clear(stab);
+ 	    str_free(value);
+ 	    break;
+ 	case SS_SCSV:				/* callsave structure */
+ 	    {
+ 		CSV *csv = (CSV*) value->str_ptr;
+ 
+ 		curcmd = csv->curcmd;
+ 		curcsv = csv->curcsv;
+ 		csv->sub->depth = csv->depth;
+ 		if (csv->hasargs) {		/* put back old @_ */
+ 		    afree(csv->argarray);
+ 		    stab_xarray(defstab) = csv->savearray;
+ 		}
+ 		str_free(value);
+ 	    }
+ 	    break;
+ 	default:
+ 	    fatal("panic: restorelist inconsistency");
+ 	}
+     }
+ }
+ 
+ #ifdef DEBUGGING
+ void
+ grow_dlevel()
+ {
+     dlmax += 128;
+     Renew(debname, dlmax, char);
+     Renew(debdelim, dlmax, char);
+ }
+ #endif


Index: llvm/test/Programs/MultiSource/Benchmarks/MallocBench/perl/cmd.h
diff -c /dev/null llvm/test/Programs/MultiSource/Benchmarks/MallocBench/perl/cmd.h:1.1.2.1
*** /dev/null	Mon Mar  1 17:59:23 2004
--- llvm/test/Programs/MultiSource/Benchmarks/MallocBench/perl/cmd.h	Mon Mar  1 17:59:12 2004
***************
*** 0 ****
--- 1,173 ----
+ /* $Header: /home/vadve/shared/PublicCVS/llvm/test/Programs/MultiSource/Benchmarks/MallocBench/perl/cmd.h,v 1.1.2.1 2004/03/01 23:59:12 brukman Exp $
+  *
+  *    Copyright (c) 1989, Larry Wall
+  *
+  *    You may distribute under the terms of the GNU General Public License
+  *    as specified in the README file that comes with the perl 3.0 kit.
+  *
+  * $Log: cmd.h,v $
+  * Revision 1.1.2.1  2004/03/01 23:59:12  brukman
+  * Merge from trunk
+  *
+  * Revision 1.1  2004/02/17 22:21:15  criswell
+  * Initial commit of the perl Malloc Benchmark.  I've cheated a little by
+  * generating the yacc output files and committing them directly, but it was
+  * easier than disabling the Bison Voodoo that gets executed by default.
+  *
+  * Revision 4.0  91/03/20  01:04:34  lwall
+  * 4.0 baseline.
+  * 
+  */
+ 
+ #define C_NULL 0
+ #define C_IF 1
+ #define C_ELSE 2
+ #define C_WHILE 3
+ #define C_BLOCK 4
+ #define C_EXPR 5
+ #define C_NEXT 6
+ #define C_ELSIF 7	/* temporary--turns into an IF + ELSE */
+ #define C_CSWITCH 8	/* created by switch optimization in block_head() */
+ #define C_NSWITCH 9	/* likewise */
+ 
+ #ifdef DEBUGGING
+ #ifndef DOINIT
+ extern char *cmdname[];
+ #else
+ char *cmdname[] = {
+     "NULL",
+     "IF",
+     "ELSE",
+     "WHILE",
+     "BLOCK",
+     "EXPR",
+     "NEXT",
+     "ELSIF",
+     "CSWITCH",
+     "NSWITCH",
+     "10"
+ };
+ #endif
+ #endif /* DEBUGGING */
+ 
+ #define CF_OPTIMIZE 077	/* type of optimization */
+ #define CF_FIRSTNEG 0100/* conditional is ($register NE 'string') */
+ #define CF_NESURE 0200	/* if short doesn't match we're sure */
+ #define CF_EQSURE 0400	/* if short does match we're sure */
+ #define CF_COND	01000	/* test c_expr as conditional first, if not null. */
+ 			/* Set for everything except do {} while currently */
+ #define CF_LOOP 02000	/* loop on the c_expr conditional (loop modifiers) */
+ #define CF_INVERT 04000	/* it's an "unless" or an "until" */
+ #define CF_ONCE 010000	/* we've already pushed the label on the stack */
+ #define CF_FLIP 020000	/* on a match do flipflop */
+ #define CF_TERM 040000	/* value of this cmd might be returned */
+ #define CF_DBSUB 0100000 /* this is an inserted cmd for debugging */
+ 
+ #define CFT_FALSE 0	/* c_expr is always false */
+ #define CFT_TRUE 1	/* c_expr is always true */
+ #define CFT_REG 2	/* c_expr is a simple register */
+ #define CFT_ANCHOR 3	/* c_expr is an anchored search /^.../ */
+ #define CFT_STROP 4	/* c_expr is a string comparison */
+ #define CFT_SCAN 5	/* c_expr is an unanchored search /.../ */
+ #define CFT_GETS 6	/* c_expr is <filehandle> */
+ #define CFT_EVAL 7	/* c_expr is not optimized, so call eval() */
+ #define CFT_UNFLIP 8	/* 2nd half of range not optimized */
+ #define CFT_CHOP 9	/* c_expr is a chop on a register */
+ #define CFT_ARRAY 10	/* this is a foreach loop */
+ #define CFT_INDGETS 11	/* c_expr is <$variable> */
+ #define CFT_NUMOP 12	/* c_expr is a numeric comparison */
+ #define CFT_CCLASS 13	/* c_expr must start with one of these characters */
+ #define CFT_D0 14	/* no special breakpoint at this line */
+ #define CFT_D1 15	/* possible special breakpoint at this line */
+ 
+ #ifdef DEBUGGING
+ #ifndef DOINIT
+ extern char *cmdopt[];
+ #else
+ char *cmdopt[] = {
+     "FALSE",
+     "TRUE",
+     "REG",
+     "ANCHOR",
+     "STROP",
+     "SCAN",
+     "GETS",
+     "EVAL",
+     "UNFLIP",
+     "CHOP",
+     "ARRAY",
+     "INDGETS",
+     "NUMOP",
+     "CCLASS",
+     "14"
+ };
+ #endif
+ #endif /* DEBUGGING */
+ 
+ struct acmd {
+     STAB	*ac_stab;	/* a symbol table entry */
+     ARG		*ac_expr;	/* any associated expression */
+ };
+ 
+ struct ccmd {
+     CMD		*cc_true;	/* normal code to do on if and while */
+     CMD		*cc_alt;	/* else cmd ptr or continue code */
+ };
+ 
+ struct scmd {
+     CMD		**sc_next;	/* array of pointers to commands */
+     short	sc_offset;	/* first value - 1 */
+     short	sc_max;		/* last value + 1 */
+ };
+ 
+ struct cmd {
+     CMD		*c_next;	/* the next command at this level */
+     ARG		*c_expr;	/* conditional expression */
+     CMD		*c_head;	/* head of this command list */
+     STR		*c_short;	/* string to match as shortcut */
+     STAB	*c_stab;	/* a symbol table entry, mostly for fp */
+     SPAT	*c_spat;	/* pattern used by optimization */
+     char	*c_label;	/* label for this construct */
+     union ucmd {
+ 	struct acmd acmd;	/* normal command */
+ 	struct ccmd ccmd;	/* compound command */
+ 	struct scmd scmd;	/* switch command */
+     } ucmd;
+     short	c_slen;		/* len of c_short, if not null */
+     VOLATILE short c_flags;	/* optimization flags--see above */
+     HASH	*c_stash;	/* package line was compiled in */
+     STAB	*c_filestab;	/* file the following line # is from */
+     line_t      c_line;         /* line # of this command */
+     char	c_type;		/* what this command does */
+ };
+ 
+ #define Nullcmd Null(CMD*)
+ #define Nullcsv Null(CSV*)
+ 
+ EXT CMD * VOLATILE main_root INIT(Nullcmd);
+ EXT CMD * VOLATILE eval_root INIT(Nullcmd);
+ 
+ EXT CMD compiling;
+ EXT CMD * VOLATILE curcmd INIT(&compiling);
+ EXT CSV * VOLATILE curcsv INIT(Nullcsv);
+ 
+ struct callsave {
+     SUBR *sub;
+     STAB *stab;
+     CSV *curcsv;
+     CMD *curcmd;
+     ARRAY *savearray;
+     ARRAY *argarray;
+     long depth;
+     int wantarray;
+     char hasargs;
+ };
+ 
+ struct compcmd {
+     CMD *comp_true;
+     CMD *comp_alt;
+ };
+ 
+ void opt_arg();
+ void evalstatic();
+ int cmd_exec();


Index: llvm/test/Programs/MultiSource/Benchmarks/MallocBench/perl/config.h
diff -c /dev/null llvm/test/Programs/MultiSource/Benchmarks/MallocBench/perl/config.h:1.1.2.1
*** /dev/null	Mon Mar  1 17:59:23 2004
--- llvm/test/Programs/MultiSource/Benchmarks/MallocBench/perl/config.h	Mon Mar  1 17:59:12 2004
***************
*** 0 ****
--- 1,823 ----
+ #ifndef config_h
+ #define config_h
+ /* config.h
+  * This file was produced by running the config.h.SH script, which
+  * gets its values from config.sh, which is generally produced by
+  * running Configure.
+  *
+  * Feel free to modify any of this as the need arises.  Note, however,
+  * that running config.h.SH again will wipe out any changes you've made.
+  * For a more permanent change edit config.sh and rerun config.h.SH.
+  */
+ 
+ 
+ /* EUNICE
+  *	This symbol, if defined, indicates that the program is being compiled
+  *	under the EUNICE package under VMS.  The program will need to handle
+  *	things like files that don't go away the first time you unlink them,
+  *	due to version numbering.  It will also need to compensate for lack
+  *	of a respectable link() command.
+  */
+ /* VMS
+  *	This symbol, if defined, indicates that the program is running under
+  *	VMS.  It is currently only set in conjunction with the EUNICE symbol.
+  */
+ /*#undef	EUNICE		/**/
+ /*#undef	VMS		/**/
+ 
+ /* ALIGNBYTES
+  *	This symbol contains the number of bytes required to align a double.
+  *	Usual values are 2, 4, and 8.
+  */
+ #define ALIGNBYTES 8		/**/
+ 
+ /* BIN
+  *	This symbol holds the name of the directory in which the user wants
+  *	to keep publicly executable images for the package in question.  It
+  *	is most often a local directory such as /usr/local/bin.
+  */
+ #define BIN "/usr/local/bin"             /**/
+ 
+ /* BYTEORDER
+  *	This symbol contains an encoding of the order of bytes in a long.
+  *	Usual values (in octal) are 01234, 04321, 02143, 03412...
+  */
+ #define BYTEORDER 0x4321		/**/
+ 
+ /* CPPSTDIN
+  *	This symbol contains the first part of the string which will invoke
+  *	the C preprocessor on the standard input and produce to standard
+  *	output.	 Typical value of "cc -E" or "/lib/cpp".
+  */
+ /* CPPMINUS
+  *	This symbol contains the second part of the string which will invoke
+  *	the C preprocessor on the standard input and produce to standard
+  *	output.  This symbol will have the value "-" if CPPSTDIN needs a minus
+  *	to specify standard input, otherwise the value is "".
+  */
+ #define CPPSTDIN "/usr/local/lib/gcc-cpp"
+ #define CPPMINUS ""
+ 
+ /* HAS_BCMP
+  *	This symbol, if defined, indicates that the bcmp routine is available
+  *	to compare blocks of memory.  If undefined, use memcmp.  If that's
+  *	not available, roll your own.
+  */
+ #define	HAS_BCMP		/**/
+ 
+ /* HAS_BCOPY
+  *	This symbol, if defined, indicates that the bcopy routine is available
+  *	to copy blocks of memory.  Otherwise you should probably use memcpy().
+  */
+ #define	HAS_BCOPY		/**/
+ 
+ /* HAS_BZERO
+  *	This symbol, if defined, indicates that the bzero routine is available
+  *	to zero blocks of memory.  Otherwise you should probably use memset()
+  *	or roll your own.
+  */
+ #define	HAS_BZERO		/**/
+ 
+ /* CASTNEGFLOAT
+  *	This symbol, if defined, indicates that this C compiler knows how to
+  *	cast negative or large floating point numbers to unsigned longs, ints
+  *	and shorts.
+  */
+ /* CASTFLAGS
+  *	This symbol contains flags that say what difficulties the compiler
+  *	has casting odd floating values to unsigned long:
+  *		1 = couldn't cast < 0
+  *		2 = couldn't cast >= 0x80000000
+  */
+ #define	CASTNEGFLOAT	/**/
+ #define	CASTFLAGS 0	/**/
+ 
+ /* CHARSPRINTF
+  *	This symbol is defined if this system declares "char *sprintf()" in
+  *	stdio.h.  The trend seems to be to declare it as "int sprintf()".  It
+  *	is up to the package author to declare sprintf correctly based on the
+  *	symbol.
+  */
+ #define	CHARSPRINTF 	/**/
+ 
+ /* HAS_CHSIZE
+  *	This symbol, if defined, indicates that the chsize routine is available
+  *	to truncate files.  You might need a -lx to get this routine.
+  */
+ /*#undef	HAS_CHSIZE		/**/
+ 
+ /* HAS_CRYPT
+  *	This symbol, if defined, indicates that the crypt routine is available
+  *	to encrypt passwords and the like.
+  */
+ #define	HAS_CRYPT		/**/
+ 
+ /* CSH
+  *	This symbol, if defined, indicates that the C-shell exists.
+  *	If defined, contains the full pathname of csh.
+  */
+ /* #define CSH "/bin/csh"		*/
+ 
+ /* DOSUID
+  *	This symbol, if defined, indicates that the C program should
+  *	check the script that it is executing for setuid/setgid bits, and
+  *	attempt to emulate setuid/setgid on systems that have disabled
+  *	setuid #! scripts because the kernel can't do it securely.
+  *	It is up to the package designer to make sure that this emulation
+  *	is done securely.  Among other things, it should do an fstat on
+  *	the script it just opened to make sure it really is a setuid/setgid
+  *	script, it should make sure the arguments passed correspond exactly
+  *	to the argument on the #! line, and it should not trust any
+  *	subprocesses to which it must pass the filename rather than the
+  *	file descriptor of the script to be executed.
+  */
+ /*#undef DOSUID		/**/
+ 
+ /* HAS_DUP2
+  *	This symbol, if defined, indicates that the dup2 routine is available
+  *	to dup file descriptors.  Otherwise you should use dup().
+  */
+ #define	HAS_DUP2		/**/
+ 
+ /* HAS_FCHMOD
+  *	This symbol, if defined, indicates that the fchmod routine is available
+  *	to change mode of opened files.  If unavailable, use chmod().
+  */
+ #define	HAS_FCHMOD		/**/
+ 
+ /* HAS_FCHOWN
+  *	This symbol, if defined, indicates that the fchown routine is available
+  *	to change ownership of opened files.  If unavailable, use chown().
+  */
+ #define	HAS_FCHOWN		/**/
+ 
+ /* HAS_FCNTL
+  *	This symbol, if defined, indicates to the C program that
+  *	the fcntl() function exists.
+  */
+ #define	HAS_FCNTL		/**/
+ 
+ /* FLEXFILENAMES
+  *	This symbol, if defined, indicates that the system supports filenames
+  *	longer than 14 characters.
+  */
+ #define	FLEXFILENAMES		/**/
+ 
+ /* HAS_FLOCK
+  *	This symbol, if defined, indicates that the flock() routine is
+  *	available to do file locking.
+  */
+ #define	HAS_FLOCK		/**/
+ 
+ /* HAS_GETGROUPS
+  *	This symbol, if defined, indicates that the getgroups() routine is
+  *	available to get the list of process groups.  If unavailable, multiple
+  *	groups are probably not supported.
+  */
+ #define	HAS_GETGROUPS		/**/
+ 
+ /* HAS_GETHOSTENT
+  *	This symbol, if defined, indicates that the gethostent() routine is
+  *	available to lookup host names in some data base or other.
+  */
+ /*#undef	HAS_GETHOSTENT		/**/
+ 
+ /* HAS_GETPGRP
+  *	This symbol, if defined, indicates that the getpgrp() routine is
+  *	available to get the current process group.
+  */
+ #define	HAS_GETPGRP		/**/
+ 
+ /* HAS_GETPGRP2
+  *	This symbol, if defined, indicates that the getpgrp2() (as in DG/UX)
+  *	routine is available to get the current process group.
+  */
+ /*#undef	HAS_GETPGRP2		/**/
+ 
+ /* HAS_GETPRIORITY
+  *	This symbol, if defined, indicates that the getpriority() routine is
+  *	available to get a process's priority.
+  */
+ #define	HAS_GETPRIORITY		/**/
+ 
+ /* HAS_HTONS
+  *	This symbol, if defined, indicates that the htons routine (and friends)
+  *	are available to do network order byte swapping.
+  */
+ /* HAS_HTONL
+  *	This symbol, if defined, indicates that the htonl routine (and friends)
+  *	are available to do network order byte swapping.
+  */
+ /* HAS_NTOHS
+  *	This symbol, if defined, indicates that the ntohs routine (and friends)
+  *	are available to do network order byte swapping.
+  */
+ /* HAS_NTOHL
+  *	This symbol, if defined, indicates that the ntohl routine (and friends)
+  *	are available to do network order byte swapping.
+  */
+ #define	HAS_HTONS	/**/
+ #define	HAS_HTONL	/**/
+ #define	HAS_NTOHS	/**/
+ #define	HAS_NTOHL	/**/
+ 
+ /* index
+  *	This preprocessor symbol is defined, along with rindex, if the system
+  *	uses the strchr and strrchr routines instead.
+  */
+ /* rindex
+  *	This preprocessor symbol is defined, along with index, if the system
+  *	uses the strchr and strrchr routines instead.
+  */
+ /*#undef	index strchr	/* cultural */
+ /*#undef	rindex strrchr	/*  differences? */
+ 
+ /* HAS_KILLPG
+  *	This symbol, if defined, indicates that the killpg routine is available
+  *	to kill process groups.  If unavailable, you probably should use kill
+  *	with a negative process number.
+  */
+ #define	HAS_KILLPG		/**/
+ 
+ /* HAS_LSTAT
+  *	This symbol, if defined, indicates that the lstat() routine is
+  *	available to stat symbolic links.
+  */
+ #define	HAS_LSTAT		/**/
+ 
+ /* HAS_MEMCMP
+  *	This symbol, if defined, indicates that the memcmp routine is available
+  *	to compare blocks of memory.  If undefined, roll your own.
+  */
+ #define	HAS_MEMCMP		/**/
+ 
+ /* HAS_MEMCPY
+  *	This symbol, if defined, indicates that the memcpy routine is available
+  *	to copy blocks of memory.  Otherwise you should probably use bcopy().
+  *	If neither is defined, roll your own.
+  */
+ #define	HAS_MEMCPY		/**/
+ 
+ /* HAS_MKDIR
+  *	This symbol, if defined, indicates that the mkdir routine is available
+  *	to create directories.  Otherwise you should fork off a new process to
+  *	exec /bin/mkdir.
+  */
+ #define	HAS_MKDIR		/**/
+ 
+ /* HAS_MSG
+  *	This symbol, if defined, indicates that the entire msg*(2) library is
+  *	supported.
+  */
+ #define	HAS_MSG		/**/
+ 
+ /* HAS_MSGCTL
+  *	This symbol, if defined, indicates that the msgctl() routine is
+  *	available to stat symbolic links.
+  */
+ #define	HAS_MSGCTL		/**/
+ 
+ /* HAS_MSGGET
+  *	This symbol, if defined, indicates that the msgget() routine is
+  *	available to stat symbolic links.
+  */
+ #define	HAS_MSGGET		/**/
+ 
+ /* HAS_MSGRCV
+  *	This symbol, if defined, indicates that the msgrcv() routine is
+  *	available to stat symbolic links.
+  */
+ #define	HAS_MSGRCV		/**/
+ 
+ /* HAS_MSGSND
+  *	This symbol, if defined, indicates that the msgsnd() routine is
+  *	available to stat symbolic links.
+  */
+ #define	HAS_MSGSND		/**/
+ 
+ /* HAS_NDBM
+  *	This symbol, if defined, indicates that ndbm.h exists and should
+  *	be included.
+  */
+ /* #define	HAS_NDBM		*/
+ 
+ /* HAS_ODBM
+  *	This symbol, if defined, indicates that dbm.h exists and should
+  *	be included.
+  */
+ /* #define	HAS_ODBM		*/
+ 
+ /* HAS_OPEN3
+  *	This manifest constant lets the C program know that the three
+  *	argument form of open(2) is available.
+  */
+ #define	HAS_OPEN3		/**/
+ 
+ /* HAS_READDIR
+  *	This symbol, if defined, indicates that the readdir routine is available
+  *	from the C library to read directories.
+  */
+ #define	HAS_READDIR		/**/
+ 
+ /* HAS_RENAME
+  *	This symbol, if defined, indicates that the rename routine is available
+  *	to rename files.  Otherwise you should do the unlink(), link(), unlink()
+  *	trick.
+  */
+ #define	HAS_RENAME		/**/
+ 
+ /* HAS_RMDIR
+  *	This symbol, if defined, indicates that the rmdir routine is available
+  *	to remove directories.  Otherwise you should fork off a new process to
+  *	exec /bin/rmdir.
+  */
+ #define	HAS_RMDIR		/**/
+ 
+ /* HAS_SELECT
+  *	This symbol, if defined, indicates that the select() subroutine
+  *	exists.
+  */
+ #define	HAS_SELECT	/**/
+ 
+ /* HAS_SEM
+  *	This symbol, if defined, indicates that the entire sem*(2) library is
+  *	supported.
+  */
+ #define	HAS_SEM		/**/
+ 
+ /* HAS_SEMCTL
+  *	This symbol, if defined, indicates that the semctl() routine is
+  *	available to stat symbolic links.
+  */
+ #define	HAS_SEMCTL		/**/
+ 
+ /* HAS_SEMGET
+  *	This symbol, if defined, indicates that the semget() routine is
+  *	available to stat symbolic links.
+  */
+ #define	HAS_SEMGET		/**/
+ 
+ /* HAS_SEMOP
+  *	This symbol, if defined, indicates that the semop() routine is
+  *	available to stat symbolic links.
+  */
+ #define	HAS_SEMOP		/**/
+ 
+ /* HAS_SETEGID
+  *	This symbol, if defined, indicates that the setegid routine is available
+  *	to change the effective gid of the current program.
+  */
+ #define	HAS_SETEGID		/**/
+ 
+ /* HAS_SETEUID
+  *	This symbol, if defined, indicates that the seteuid routine is available
+  *	to change the effective uid of the current program.
+  */
+ #define	HAS_SETEUID		/**/
+ 
+ /* HAS_SETPGRP
+  *	This symbol, if defined, indicates that the setpgrp() routine is
+  *	available to set the current process group.
+  */
+ #define	HAS_SETPGRP		/**/
+ 
+ /* HAS_SETPGRP2
+  *	This symbol, if defined, indicates that the setpgrp2() (as in DG/UX)
+  *	routine is available to set the current process group.
+  */
+ /*#undef	HAS_SETPGRP2		/**/
+ 
+ /* HAS_SETPRIORITY
+  *	This symbol, if defined, indicates that the setpriority() routine is
+  *	available to set a process's priority.
+  */
+ #define	HAS_SETPRIORITY		/**/
+ 
+ /* HAS_SETREGID
+  *	This symbol, if defined, indicates that the setregid routine is
+  *	available to change the real and effective gid of the current program.
+  */
+ /* HAS_SETRESGID
+  *	This symbol, if defined, indicates that the setresgid routine is
+  *	available to change the real, effective and saved gid of the current
+  *	program.
+  */
+ #define	HAS_SETREGID		/**/
+ /*#undef	HAS_SETRESGID		/**/
+ 
+ /* HAS_SETREUID
+  *	This symbol, if defined, indicates that the setreuid routine is
+  *	available to change the real and effective uid of the current program.
+  */
+ /* HAS_SETRESUID
+  *	This symbol, if defined, indicates that the setresuid routine is
+  *	available to change the real, effective and saved uid of the current
+  *	program.
+  */
+ #define	HAS_SETREUID		/**/
+ /*#undef	HAS_SETRESUID		/**/
+ 
+ /* HAS_SETRGID
+  *	This symbol, if defined, indicates that the setrgid routine is available
+  *	to change the real gid of the current program.
+  */
+ /* #define	HAS_SETRGID		*/
+ 
+ /* HAS_SETRUID
+  *	This symbol, if defined, indicates that the setruid routine is available
+  *	to change the real uid of the current program.
+  */
+ /* #define	HAS_SETRUID		*/
+ 
+ /* HAS_SHM
+  *	This symbol, if defined, indicates that the entire shm*(2) library is
+  *	supported.
+  */
+ #define	HAS_SHM		/**/
+ 
+ /* HAS_SHMAT
+  *	This symbol, if defined, indicates that the shmat() routine is
+  *	available to stat symbolic links.
+  */
+ #define	HAS_SHMAT		/**/
+ 
+ /* HAS_SHMCTL
+  *	This symbol, if defined, indicates that the shmctl() routine is
+  *	available to stat symbolic links.
+  */
+ #define	HAS_SHMCTL		/**/
+ 
+ /* HAS_SHMDT
+  *	This symbol, if defined, indicates that the shmdt() routine is
+  *	available to stat symbolic links.
+  */
+ #define	HAS_SHMDT		/**/
+ 
+ /* HAS_SHMGET
+  *	This symbol, if defined, indicates that the shmget() routine is
+  *	available to stat symbolic links.
+  */
+ #define	HAS_SHMGET		/**/
+ 
+ /* HAS_SOCKET
+  *	This symbol, if defined, indicates that the BSD socket interface is
+  *	supported.
+  */
+ /* HAS_SOCKETPAIR
+  *	This symbol, if defined, indicates that the BSD socketpair call is
+  *	supported.
+  */
+ /* OLDSOCKET
+  *	This symbol, if defined, indicates that the 4.1c BSD socket interface
+  *	is supported instead of the 4.2/4.3 BSD socket interface.
+  */
+ #define	HAS_SOCKET		/**/
+ 
+ #define	HAS_SOCKETPAIR	/**/
+ 
+ /*#undef	OLDSOCKET	/**/
+ 
+ /* STATBLOCKS
+  *	This symbol is defined if this system has a stat structure declaring
+  *	st_blksize and st_blocks.
+  */
+ #define	STATBLOCKS 	/**/
+ 
+ /* STDSTDIO
+  *	This symbol is defined if this system has a FILE structure declaring
+  *	_ptr and _cnt in stdio.h.
+  */
+ /*#define	STDSTDIO 	/**/
+   
+ /* STRUCTCOPY
+  *	This symbol, if defined, indicates that this C compiler knows how
+  *	to copy structures.  If undefined, you'll need to use a block copy
+  *	routine of some sort instead.
+  */
+ #define	STRUCTCOPY	/**/
+ 
+ /* HAS_STRERROR
+  *	This symbol, if defined, indicates that the strerror() routine is
+  *	available to translate error numbers to strings.
+  */
+ /*#undef	HAS_STRERROR		/**/
+ 
+ /* HAS_SYMLINK
+  *	This symbol, if defined, indicates that the symlink routine is available
+  *	to create symbolic links.
+  */
+ #define	HAS_SYMLINK		/**/
+ 
+ /* HAS_SYSCALL
+  *	This symbol, if defined, indicates that the syscall routine is available
+  *	to call arbitrary system calls.  If undefined, that's tough.
+  */
+ #define	HAS_SYSCALL		/**/
+ 
+ /* HAS_TRUNCATE
+  *	This symbol, if defined, indicates that the truncate routine is
+  *	available to truncate files.
+  */
+ #define	HAS_TRUNCATE		/**/
+ 
+ /* HAS_VFORK
+  *	This symbol, if defined, indicates that vfork() exists.
+  */
+ #define	HAS_VFORK	/**/
+ 
+ /* VOIDSIG
+  *	This symbol is defined if this system declares "void (*signal())()" in
+  *	signal.h.  The old way was to declare it as "int (*signal())()".  It
+  *	is up to the package author to declare things correctly based on the
+  *	symbol.
+  */
+ /* TO_SIGNAL
+  *	This symbol's value is either "void" or "int", corresponding to the
+  *	appropriate return "type" of a signal handler.  Thus, one can declare
+  *	a signal handler using "TO_SIGNAL (*handler())()", and define the
+  *	handler using "TO_SIGNAL handler(sig)".
+  */
+ #define	VOIDSIG 	/**/
+ #define	TO_SIGNAL	void 	/**/
+ 
+ /* HASVOLATILE
+  *	This symbol, if defined, indicates that this C compiler knows about
+  *	the volatile declaration.
+  */
+ #define	HASVOLATILE	/**/
+ 
+ /* HAS_VPRINTF
+  *	This symbol, if defined, indicates that the vprintf routine is available
+  *	to printf with a pointer to an argument list.  If unavailable, you
+  *	may need to write your own, probably in terms of _doprnt().
+  */
+ /* CHARVSPRINTF
+  *	This symbol is defined if this system has vsprintf() returning type
+  *	(char*).  The trend seems to be to declare it as "int vsprintf()".  It
+  *	is up to the package author to declare vsprintf correctly based on the
+  *	symbol.
+  */
+ #define	HAS_VPRINTF	/**/
+ #define	CHARVSPRINTF 	/**/
+ 
+ /* HAS_WAIT4
+  *	This symbol, if defined, indicates that wait4() exists.
+  */
+ /*#define	HAS_WAIT4	/**/
+ 
+ /* HAS_WAITPID
+  *	This symbol, if defined, indicates that waitpid() exists.
+  */
+ #define	HAS_WAITPID	/**/
+ 
+ /* GIDTYPE
+  *	This symbol has a value like gid_t, int, ushort, or whatever type is
+  *	used to declare group ids in the kernel.
+  */
+ #define GIDTYPE gid_t		/**/
+ 
+ /* GROUPSTYPE
+  *	This symbol has a value like gid_t, int, ushort, or whatever type is
+  *	used in the return value of getgroups().
+  */
+ #define GROUPSTYPE int		/**/
+ 
+ /* I_FCNTL
+  *	This manifest constant tells the C program to include <fcntl.h>.
+  */
+ /*#undef	I_FCNTL	/**/
+ 
+ /* I_GDBM
+  *	This symbol, if defined, indicates that gdbm.h exists and should
+  *	be included.
+  */
+ /*#undef	I_GDBM		/**/
+ 
+ /* I_GRP
+  *	This symbol, if defined, indicates to the C program that it should
+  *	include grp.h.
+  */
+ #define	I_GRP		/**/
+ 
+ /* I_NETINET_IN
+  *	This symbol, if defined, indicates to the C program that it should
+  *	include netinet/in.h.
+  */
+ /* I_SYS_IN
+  *	This symbol, if defined, indicates to the C program that it should
+  *	include sys/in.h.
+  */
+ #define	I_NETINET_IN		/**/
+ /*#undef	I_SYS_IN		/**/
+ 
+ /* I_PWD
+  *	This symbol, if defined, indicates to the C program that it should
+  *	include pwd.h.
+  */
+ /* PWQUOTA
+  *	This symbol, if defined, indicates to the C program that struct passwd
+  *	contains pw_quota.
+  */
+ /* PWAGE
+  *	This symbol, if defined, indicates to the C program that struct passwd
+  *	contains pw_age.
+  */
+ /* PWCHANGE
+  *	This symbol, if defined, indicates to the C program that struct passwd
+  *	contains pw_change.
+  */
+ /* PWCLASS
+  *	This symbol, if defined, indicates to the C program that struct passwd
+  *	contains pw_class.
+  */
+ /* PWEXPIRE
+  *	This symbol, if defined, indicates to the C program that struct passwd
+  *	contains pw_expire.
+  */
+ /* PWCOMMENT
+  *	This symbol, if defined, indicates to the C program that struct passwd
+  *	contains pw_comment.
+  */
+ #define	I_PWD		/**/
+ /*#undef	PWQUOTA		*/
+ /* #define	PWAGE		*/
+ /*#undef	PWCHANGE	*/
+ /*#undef	PWCLASS		*/
+ /*#undef	PWEXPIRE	*/
+ /*#define	PWCOMMENT	*/
+ 
+ /* I_SYS_FILE
+  *	This manifest constant tells the C program to include <sys/file.h>.
+  */
+ #define	I_SYS_FILE	/**/
+ 
+ /* I_SYSIOCTL
+  *	This symbol, if defined, indicates that sys/ioctl.h exists and should
+  *	be included.
+  */
+ #define	I_SYSIOCTL		/**/
+ 
+ /* I_TIME
+  *	This symbol is defined if the program should include <time.h>.
+  */
+ /* I_SYS_TIME
+  *	This symbol is defined if the program should include <sys/time.h>.
+  */
+ /* SYSTIMEKERNEL
+  *	This symbol is defined if the program should include <sys/time.h>
+  *	with KERNEL defined.
+  */
+ /* I_SYS_SELECT
+  *	This symbol is defined if the program should include <sys/select.h>.
+  */
+ #define	I_TIME	 	/**/
+ #define	I_SYS_TIME 	/**/
+ /*#undef	SYSTIMEKERNEL 	/**/
+ /*#undef	I_SYS_SELECT 	/**/
+ 
+ /* I_UTIME
+  *	This symbol, if defined, indicates to the C program that it should
+  *	include utime.h.
+  */
+ #define	I_UTIME		/**/
+ 
+ /* I_VARARGS
+  *	This symbol, if defined, indicates to the C program that it should
+  *	include varargs.h.
+  */
+ /* #define	I_VARARGS		*/
+ 
+ /* I_VFORK
+  *	This symbol, if defined, indicates to the C program that it should
+  *	include vfork.h.
+  */
+ /*#define	I_VFORK		/**/
+ 
+ /* INTSIZE
+  *	This symbol contains the size of an int, so that the C preprocessor
+  *	can make decisions based on it.
+  */
+ #define INTSIZE 4		/**/
+ 
+ /* I_DIRENT
+  *	This symbol, if defined, indicates that the program should use the
+  *	P1003-style directory routines, and include <dirent.h>.
+  */
+ /* I_SYS_DIR
+  *	This symbol, if defined, indicates that the program should use the
+  *	directory functions by including <sys/dir.h>.
+  */
+ /* I_NDIR
+  *	This symbol, if defined, indicates that the program should include the
+  *	system's version of ndir.h, rather than the one with this package.
+  */
+ /* I_SYS_NDIR
+  *	This symbol, if defined, indicates that the program should include the
+  *	system's version of sys/ndir.h, rather than the one with this package.
+  */
+ /* I_MY_DIR
+  *	This symbol, if defined, indicates that the program should compile
+  *	the ndir.c code provided with the package.
+  */
+ /* DIRNAMLEN
+  *	This symbol, if defined, indicates to the C program that the length
+  *	of directory entry names is provided by a d_namlen field.  Otherwise
+  *	you need to do strlen() on the d_name field.
+  */
+ #define	I_DIRENT	/**/
+ /*#undef	I_SYS_DIR	/**/
+ /*#undef	I_NDIR		/**/
+ /*#undef	I_SYS_NDIR	/**/
+ /*#undef	I_MY_DIR	/**/
+ /*#undef	DIRNAMLEN	/**/
+ 
+ /* MALLOCPTRTYPE
+  *	This symbol defines the kind of ptr returned by malloc and realloc.
+  */
+ #define MALLOCPTRTYPE char         /**/
+ 
+ 
+ /* RANDBITS
+  *	This symbol contains the number of bits of random number the rand()
+  *	function produces.  Usual values are 15, 16, and 31.
+  */
+ #define RANDBITS 31		/**/
+ 
+ /* SCRIPTDIR
+  *	This symbol holds the name of the directory in which the user wants
+  *	to put publicly executable scripts for the package in question.  It
+  *	is often a directory that is mounted across diverse architectures.
+  */
+ #define SCRIPTDIR "/usr/local/bin"             /**/
+ 
+ /* SIG_NAME
+  *	This symbol contains an list of signal names in order.
+  */
+ #define SIG_NAME "ZERO","HUP","INT","QUIT","ILL","TRAP","ABRT","EMT","FPE","KILL","BUS","SEGV","SYS","PIPE","ALRM","TERM","URG","STOP","TSTP","CONT","CLD","TTIN","TTOU","IO","XCPU","XFSZ","VTALRM","PROF","WINCH","LOST","USR1","USR2"		/**/
+ 
+ /* STDCHAR
+  *	This symbol is defined to be the type of char used in stdio.h.
+  *	It has the values "unsigned char" or "char".
+  */
+ #define STDCHAR unsigned char	/**/
+ 
+ /* UIDTYPE
+  *	This symbol has a value like uid_t, int, ushort, or whatever type is
+  *	used to declare user ids in the kernel.
+  */
+ #define UIDTYPE uid_t		/**/
+ 
+ /* VOIDHAVE
+  *	This symbol indicates how much support of the void type is given by this
+  *	compiler.  What various bits mean:
+  *
+  *	    1 = supports declaration of void
+  *	    2 = supports arrays of pointers to functions returning void
+  *	    4 = supports comparisons between pointers to void functions and
+  *		    addresses of void functions
+  *
+  *	The package designer should define VOIDWANT to indicate the requirements
+  *	of the package.  This can be done either by #defining VOIDWANT before
+  *	including config.h, or by defining voidwant in Myinit.U.  If the level
+  *	of void support necessary is not present, config.h defines void to "int",
+  *	VOID to the empty string, and VOIDP to "char *".
+  */
+ /* void
+  *	This symbol is used for void casts.  On implementations which support
+  *	void appropriately, its value is "void".  Otherwise, its value maps
+  *	to "int".
+  */
+ /* VOID
+  *	This symbol's value is "void" if the implementation supports void
+  *	appropriately.  Otherwise, its value is the empty string.  The primary
+  *	use of this symbol is in specifying void parameter lists for function
+  *	prototypes.
+  */
+ /* VOIDP
+  *	This symbol is used for casting generic pointers.  On implementations
+  *	which support void appropriately, its value is "void *".  Otherwise,
+  *	its value is "char *".
+  */
+ #ifndef VOIDWANT
+ #define VOIDWANT 7
+ #endif
+ #define VOIDHAVE 7
+ #if (VOIDHAVE & VOIDWANT) != VOIDWANT
+ #define void int		/* is void to be avoided? */
+ #define VOID
+ #define VOIDP (char *)
+ #define M_VOID		/* Xenix strikes again */
+ #else
+ #define VOID void
+ #define VOIDP (void *)
+ #endif
+ 
+ /* PRIVLIB
+  *	This symbol contains the name of the private library for this package.
+  *	The library is private in the sense that it needn't be in anyone's
+  *	execution path, but it should be accessible by the world.  The program
+  *	should be prepared to do ~ expansion.
+  */
+ #define PRIVLIB "/usr/local/lib/perl"		/**/
+ 
+ #endif


Index: llvm/test/Programs/MultiSource/Benchmarks/MallocBench/perl/config.sh
diff -c /dev/null llvm/test/Programs/MultiSource/Benchmarks/MallocBench/perl/config.sh:1.1.2.1
*** /dev/null	Mon Mar  1 17:59:23 2004
--- llvm/test/Programs/MultiSource/Benchmarks/MallocBench/perl/config.sh	Mon Mar  1 17:59:12 2004
***************
*** 0 ****
--- 1,256 ----
+ #!/bin/sh
+ # config.sh
+ # This file was produced by running the Configure script.
+ 
+ d_eunice='undef'
+ define='define'
+ eunicefix=':'
+ loclist='
+ cat
+ cp
+ echo
+ expr
+ grep
+ mkdir
+ mv
+ rm
+ sed
+ sort
+ tr
+ uniq
+ '
+ expr='/bin/expr'
+ sed='/bin/sed'
+ echo='/bin/echo'
+ cat='/bin/cat'
+ rm='/bin/rm'
+ mv='/bin/mv'
+ cp='/bin/cp'
+ tail=''
+ tr='/bin/tr'
+ mkdir='/bin/mkdir'
+ sort='/bin/sort'
+ uniq='/bin/uniq'
+ grep='/tile/users/zorn/bin/grep'
+ trylist='
+ Mcc
+ bison
+ cpp
+ csh
+ egrep
+ nroff
+ test
+ uname
+ yacc
+ '
+ test='test'
+ inews=''
+ egrep='/bin/egrep'
+ more=''
+ pg=''
+ Mcc='Mcc'
+ vi=''
+ mailx=''
+ mail=''
+ cpp='/usr/local/lib/gcc-cpp'
+ perl=''
+ emacs=''
+ ls=''
+ rmail=''
+ sendmail=''
+ shar=''
+ smail=''
+ tbl=''
+ troff=''
+ nroff='/bin/nroff'
+ uname='/bin/uname'
+ uuname=''
+ line=''
+ chgrp=''
+ chmod=''
+ lint=''
+ sleep=''
+ pr=''
+ tar=''
+ ln=''
+ lpr=''
+ lp=''
+ touch=''
+ make=''
+ date=''
+ csh='/bin/csh'
+ bash=''
+ ksh=''
+ lex=''
+ flex=''
+ bison='/cs/research/ben/SPARC/bin/bison'
+ Log='$Log'
+ Header='$Header'
+ Id='$Id'
+ lastuname=''
+ alignbytes='8'
+ bin='/usr/local/bin'
+ installbin='/usr/local/bin'
+ byteorder='4321'
+ contains='grep'
+ cppstdin='/usr/local/lib/gcc-cpp'
+ cppminus=''
+ d_bcmp='define'
+ d_bcopy='define'
+ d_bzero='define'
+ d_castneg='define'
+ castflags='0'
+ d_charsprf='define'
+ d_chsize='undef'
+ d_crypt='define'
+ cryptlib=''
+ d_csh='define'
+ d_dosuid='undef'
+ d_dup2='define'
+ d_fchmod='define'
+ d_fchown='define'
+ d_fcntl='define'
+ d_flexfnam='define'
+ d_flock='define'
+ d_getgrps='define'
+ d_gethent='undef'
+ d_getpgrp='define'
+ d_getpgrp2='undef'
+ d_getprior='define'
+ d_htonl='define'
+ d_index='undef'
+ d_killpg='define'
+ d_lstat='define'
+ d_memcmp='define'
+ d_memcpy='define'
+ d_mkdir='define'
+ d_msg='define'
+ d_msgctl='define'
+ d_msgget='define'
+ d_msgrcv='define'
+ d_msgsnd='define'
+ d_ndbm='define'
+ d_odbm='define'
+ d_open3='define'
+ d_readdir='define'
+ d_rename='define'
+ d_rmdir='define'
+ d_select='define'
+ d_sem='define'
+ d_semctl='define'
+ d_semget='define'
+ d_semop='define'
+ d_setegid='define'
+ d_seteuid='define'
+ d_setpgrp='define'
+ d_setpgrp2='undef'
+ d_setprior='define'
+ d_setregid='define'
+ d_setresgid='undef'
+ d_setreuid='define'
+ d_setresuid='undef'
+ d_setrgid='define'
+ d_setruid='define'
+ d_shm='define'
+ d_shmat='define'
+ d_shmctl='define'
+ d_shmdt='define'
+ d_shmget='define'
+ d_socket='define'
+ d_sockpair='define'
+ d_oldsock='undef'
+ socketlib=''
+ d_statblks='define'
+ d_stdstdio='define'
+ d_strctcpy='define'
+ d_strerror='undef'
+ d_symlink='define'
+ d_syscall='define'
+ d_truncate='define'
+ d_vfork='define'
+ d_voidsig='define'
+ d_tosignal='void'
+ d_volatile='define'
+ d_vprintf='define'
+ d_charvspr='define'
+ d_wait4='define'
+ d_waitpid='define'
+ gidtype='gid_t'
+ groupstype='int'
+ i_fcntl='undef'
+ i_gdbm='undef'
+ i_grp='define'
+ i_niin='define'
+ i_sysin='undef'
+ i_pwd='define'
+ d_pwquota='undef'
+ d_pwage='define'
+ d_pwchange='undef'
+ d_pwclass='undef'
+ d_pwexpire='undef'
+ d_pwcomment='define'
+ i_sys_file='define'
+ i_sysioctl='define'
+ i_time='undef'
+ i_sys_time='define'
+ i_sys_select='undef'
+ d_systimekernel='undef'
+ i_utime='define'
+ i_varargs='define'
+ i_vfork='define'
+ intsize='4'
+ libc='/usr/lib/libc.so.1.5.1'
+ nm_opts=''
+ libndir=''
+ i_my_dir='undef'
+ i_ndir='undef'
+ i_sys_ndir='undef'
+ i_dirent='define'
+ i_sys_dir='undef'
+ d_dirnamlen='undef'
+ ndirc=''
+ ndiro=''
+ mallocsrc='malloc.c'
+ mallocobj='malloc.o'
+ usemymalloc='y'
+ mallocptrtype='char'
+ mansrc='/usr/man/manl'
+ manext='l'
+ models='none'
+ split=''
+ small=''
+ medium=''
+ large=''
+ huge=''
+ optimize='-O'
+ ccflags='-g'
+ cppflags=' -D__GNUC__'
+ ldflags=''
+ cc='gcc'
+ libs='-lm'
+ n='-n'
+ c=''
+ package='perl'
+ randbits='31'
+ scriptdir='/usr/local/bin'
+ sig_name='ZERO HUP INT QUIT ILL TRAP ABRT EMT FPE KILL BUS SEGV SYS PIPE ALRM TERM URG STOP TSTP CONT CLD TTIN TTOU IO XCPU XFSZ VTALRM PROF WINCH LOST USR1 USR2'
+ spitshell='cat'
+ shsharp='true'
+ sharpbang='#!'
+ startsh='#!/bin/sh'
+ stdchar='unsigned char'
+ uidtype='uid_t'
+ usrinclude='/usr/include'
+ inclPath=''
+ void=''
+ voidhave='7'
+ voidwant='7'
+ w_localtim='1'
+ w_s_timevl='1'
+ w_s_tm='1'
+ yacc='/bin/yacc'
+ lib=''
+ privlib='/usr/local/lib/perl'
+ installprivlib='/usr/local/lib/perl'
+ CONFIG=true
+ PATCHLEVEL=3


Index: llvm/test/Programs/MultiSource/Benchmarks/MallocBench/perl/cons.c
diff -c /dev/null llvm/test/Programs/MultiSource/Benchmarks/MallocBench/perl/cons.c:1.1.2.1
*** /dev/null	Mon Mar  1 17:59:23 2004
--- llvm/test/Programs/MultiSource/Benchmarks/MallocBench/perl/cons.c	Mon Mar  1 17:59:12 2004
***************
*** 0 ****
--- 1,1411 ----
+ /* $Header: /home/vadve/shared/PublicCVS/llvm/test/Programs/MultiSource/Benchmarks/MallocBench/perl/cons.c,v 1.1.2.1 2004/03/01 23:59:12 brukman Exp $
+  *
+  *    Copyright (c) 1989, Larry Wall
+  *
+  *    You may distribute under the terms of the GNU General Public License
+  *    as specified in the README file that comes with the perl 3.0 kit.
+  *
+  * $Log: cons.c,v $
+  * Revision 1.1.2.1  2004/03/01 23:59:12  brukman
+  * Merge from trunk
+  *
+  * Revision 1.1  2004/02/17 22:21:15  criswell
+  * Initial commit of the perl Malloc Benchmark.  I've cheated a little by
+  * generating the yacc output files and committing them directly, but it was
+  * easier than disabling the Bison Voodoo that gets executed by default.
+  *
+  * Revision 4.0  91/03/20  01:05:51  lwall
+  * 4.0 baseline.
+  * 
+  */
+ 
+ #include "EXTERN.h"
+ #include "perl.h"
+ #include "perly.h"
+ 
+ extern char *tokename[];
+ extern int yychar;
+ 
+ static int cmd_tosave();
+ static int arg_tosave();
+ static int spat_tosave();
+ 
+ static bool saw_return;
+ 
+ SUBR *
+ make_sub(name,cmd)
+ char *name;
+ CMD *cmd;
+ {
+     register SUBR *sub;
+     STAB *stab = stabent(name,TRUE);
+ 
+     Newz(101,sub,1,SUBR);
+     if (stab_sub(stab)) {
+ 	if (dowarn) {
+ 	    CMD *oldcurcmd = curcmd;
+ 
+ 	    if (cmd)
+ 		curcmd = cmd;
+ 	    warn("Subroutine %s redefined",name);
+ 	    curcmd = oldcurcmd;
+ 	}
+ 	if (stab_sub(stab)->cmd) {
+ 	    cmd_free(stab_sub(stab)->cmd);
+ 	    stab_sub(stab)->cmd = Nullcmd;
+ 	    afree(stab_sub(stab)->tosave);
+ 	}
+ 	Safefree(stab_sub(stab));
+     }
+     stab_sub(stab) = sub;
+     sub->filestab = curcmd->c_filestab;
+     saw_return = FALSE;
+     tosave = anew(Nullstab);
+     tosave->ary_fill = 0;	/* make 1 based */
+     (void)cmd_tosave(cmd,FALSE);	/* this builds the tosave array */
+     sub->tosave = tosave;
+     if (saw_return) {
+ 	struct compcmd mycompblock;
+ 
+ 	mycompblock.comp_true = cmd;
+ 	mycompblock.comp_alt = Nullcmd;
+ 	cmd = add_label(savestr("_SUB_"),make_ccmd(C_BLOCK,Nullarg,mycompblock));
+ 	saw_return = FALSE;
+ 	cmd->c_flags |= CF_TERM;
+     }
+     sub->cmd = cmd;
+     if (perldb) {
+ 	STR *str;
+ 	STR *tmpstr = str_mortal(&str_undef);
+ 
+ 	sprintf(buf,"%s:%ld",stab_val(curcmd->c_filestab)->str_ptr,
+ 	  (long)subline);
+ 	str = str_make(buf,0);
+ 	str_cat(str,"-");
+ 	sprintf(buf,"%ld",(long)curcmd->c_line);
+ 	str_cat(str,buf);
+ 	name = str_get(subname);
+ 	stab_fullname(tmpstr,stab);
+ 	hstore(stab_xhash(DBsub), tmpstr->str_ptr, tmpstr->str_cur, str, 0);
+ 	str_set(subname,"main");
+     }
+     subline = 0;
+     return sub;
+ }
+ 
+ SUBR *
+ make_usub(name, ix, subaddr, filename)
+ char *name;
+ int ix;
+ int (*subaddr)();
+ char *filename;
+ {
+     register SUBR *sub;
+     STAB *stab = stabent(name,allstabs);
+ 
+     if (!stab)				/* unused function */
+ 	return Null(SUBR*);
+     Newz(101,sub,1,SUBR);
+     if (stab_sub(stab)) {
+ 	if (dowarn)
+ 	    warn("Subroutine %s redefined",name);
+ 	if (stab_sub(stab)->cmd) {
+ 	    cmd_free(stab_sub(stab)->cmd);
+ 	    stab_sub(stab)->cmd = Nullcmd;
+ 	    afree(stab_sub(stab)->tosave);
+ 	}
+ 	Safefree(stab_sub(stab));
+     }
+     stab_sub(stab) = sub;
+     sub->filestab = fstab(filename);
+     sub->usersub = subaddr;
+     sub->userindex = ix;
+     return sub;
+ }
+ 
+ make_form(stab,fcmd)
+ STAB *stab;
+ FCMD *fcmd;
+ {
+     if (stab_form(stab)) {
+ 	FCMD *tmpfcmd;
+ 	FCMD *nextfcmd;
+ 
+ 	for (tmpfcmd = stab_form(stab); tmpfcmd; tmpfcmd = nextfcmd) {
+ 	    nextfcmd = tmpfcmd->f_next;
+ 	    if (tmpfcmd->f_expr)
+ 		arg_free(tmpfcmd->f_expr);
+ 	    if (tmpfcmd->f_unparsed)
+ 		str_free(tmpfcmd->f_unparsed);
+ 	    if (tmpfcmd->f_pre)
+ 		Safefree(tmpfcmd->f_pre);
+ 	    Safefree(tmpfcmd);
+ 	}
+     }
+     stab_form(stab) = fcmd;
+ }
+ 
+ CMD *
+ block_head(tail)
+ register CMD *tail;
+ {
+     CMD *head;
+     register int opt;
+     register int last_opt = 0;
+     register STAB *last_stab = Nullstab;
+     register int count = 0;
+     register CMD *switchbeg = Nullcmd;
+ 
+     if (tail == Nullcmd) {
+ 	return tail;
+     }
+     head = tail->c_head;
+ 
+     for (tail = head; tail; tail = tail->c_next) {
+ 
+ 	/* save one measly dereference at runtime */
+ 	if (tail->c_type == C_IF) {
+ 	    if (!(tail->ucmd.ccmd.cc_alt = tail->ucmd.ccmd.cc_alt->c_next))
+ 		tail->c_flags |= CF_TERM;
+ 	}
+ 	else if (tail->c_type == C_EXPR) {
+ 	    ARG *arg;
+ 
+ 	    if (tail->ucmd.acmd.ac_expr)
+ 		arg = tail->ucmd.acmd.ac_expr;
+ 	    else
+ 		arg = tail->c_expr;
+ 	    if (arg) {
+ 		if (arg->arg_type == O_RETURN)
+ 		    tail->c_flags |= CF_TERM;
+ 		else if (arg->arg_type == O_ITEM && arg[1].arg_type == A_CMD)
+ 		    tail->c_flags |= CF_TERM;
+ 	    }
+ 	}
+ 	if (!tail->c_next)
+ 	    tail->c_flags |= CF_TERM;
+ 
+ 	if (tail->c_expr && (tail->c_flags & CF_OPTIMIZE) == CFT_FALSE)
+ 	    opt_arg(tail,1, tail->c_type == C_EXPR);
+ 
+ 	/* now do a little optimization on case-ish structures */
+ 	switch(tail->c_flags & (CF_OPTIMIZE|CF_FIRSTNEG|CF_INVERT)) {
+ 	case CFT_ANCHOR:
+ 	    if (stabent("*",FALSE)) {	/* bad assumption here!!! */
+ 		opt = 0;
+ 		break;
+ 	    }
+ 	    /* FALL THROUGH */
+ 	case CFT_STROP:
+ 	    opt = (tail->c_flags & CF_NESURE) ? CFT_STROP : 0;
+ 	    break;
+ 	case CFT_CCLASS:
+ 	    opt = CFT_STROP;
+ 	    break;
+ 	case CFT_NUMOP:
+ 	    opt = (tail->c_slen == O_NE ? 0 : CFT_NUMOP);
+ 	    if ((tail->c_flags&(CF_NESURE|CF_EQSURE)) != (CF_NESURE|CF_EQSURE))
+ 		opt = 0;
+ 	    break;
+ 	default:
+ 	    opt = 0;
+ 	}
+ 	if (opt && opt == last_opt && tail->c_stab == last_stab)
+ 	    count++;
+ 	else {
+ 	    if (count >= 3) {		/* is this the breakeven point? */
+ 		if (last_opt == CFT_NUMOP)
+ 		    make_nswitch(switchbeg,count);
+ 		else
+ 		    make_cswitch(switchbeg,count);
+ 	    }
+ 	    if (opt) {
+ 		count = 1;
+ 		switchbeg = tail;
+ 	    }
+ 	    else
+ 		count = 0;
+ 	}
+ 	last_opt = opt;
+ 	last_stab = tail->c_stab;
+     }
+     if (count >= 3) {		/* is this the breakeven point? */
+ 	if (last_opt == CFT_NUMOP)
+ 	    make_nswitch(switchbeg,count);
+ 	else
+ 	    make_cswitch(switchbeg,count);
+     }
+     return head;
+ }
+ 
+ /* We've spotted a sequence of CMDs that all test the value of the same
+  * spat.  Thus we can insert a SWITCH in front and jump directly
+  * to the correct one.
+  */
+ make_cswitch(head,count)
+ register CMD *head;
+ int count;
+ {
+     register CMD *cur;
+     register CMD **loc;
+     register int i;
+     register int min = 255;
+     register int max = 0;
+ 
+     /* make a new head in the exact same spot */
+     New(102,cur, 1, CMD);
+ #ifdef STRUCTCOPY
+     *cur = *head;
+ #else
+     Copy(head,cur,1,CMD);
+ #endif
+     Zero(head,1,CMD);
+     head->c_type = C_CSWITCH;
+     head->c_next = cur;		/* insert new cmd at front of list */
+     head->c_stab = cur->c_stab;
+ 
+     Newz(103,loc,258,CMD*);
+     loc++;				/* lie a little */
+     while (count--) {
+ 	if ((cur->c_flags & CF_OPTIMIZE) == CFT_CCLASS) {
+ 	    for (i = 0; i <= 255; i++) {
+ 		if (!loc[i] && cur->c_short->str_ptr[i>>3] & (1 << (i&7))) {
+ 		    loc[i] = cur;
+ 		    if (i < min)
+ 			min = i;
+ 		    if (i > max)
+ 			max = i;
+ 		}
+ 	    }
+ 	}
+ 	else {
+ 	    i = *cur->c_short->str_ptr & 255;
+ 	    if (!loc[i]) {
+ 		loc[i] = cur;
+ 		if (i < min)
+ 		    min = i;
+ 		if (i > max)
+ 		    max = i;
+ 	    }
+ 	}
+ 	cur = cur->c_next;
+     }
+     max++;
+     if (min > 0)
+ 	Copy(&loc[min],&loc[0], max - min, CMD*);
+     loc--;
+     min--;
+     max -= min;
+     for (i = 0; i <= max; i++)
+ 	if (!loc[i])
+ 	    loc[i] = cur;
+     Renew(loc,max+1,CMD*);	/* chop it down to size */
+     head->ucmd.scmd.sc_offset = min;
+     head->ucmd.scmd.sc_max = max;
+     head->ucmd.scmd.sc_next = loc;
+ }
+ 
+ make_nswitch(head,count)
+ register CMD *head;
+ int count;
+ {
+     register CMD *cur = head;
+     register CMD **loc;
+     register int i;
+     register int min = 32767;
+     register int max = -32768;
+     int origcount = count;
+     double value;		/* or your money back! */
+     short changed;		/* so triple your money back! */
+ 
+     while (count--) {
+ 	i = (int)str_gnum(cur->c_short);
+ 	value = (double)i;
+ 	if (value != cur->c_short->str_u.str_nval)
+ 	    return;		/* fractional values--just forget it */
+ 	changed = i;
+ 	if (changed != i)
+ 	    return;		/* too big for a short */
+ 	if (cur->c_slen == O_LE)
+ 	    i++;
+ 	else if (cur->c_slen == O_GE)	/* we only do < or > here */
+ 	    i--;
+ 	if (i < min)
+ 	    min = i;
+ 	if (i > max)
+ 	    max = i;
+ 	cur = cur->c_next;
+     }
+     count = origcount;
+     if (max - min > count * 2 + 10)		/* too sparse? */
+ 	return;
+ 
+     /* now make a new head in the exact same spot */
+     New(104,cur, 1, CMD);
+ #ifdef STRUCTCOPY
+     *cur = *head;
+ #else
+     Copy(head,cur,1,CMD);
+ #endif
+     Zero(head,1,CMD);
+     head->c_type = C_NSWITCH;
+     head->c_next = cur;		/* insert new cmd at front of list */
+     head->c_stab = cur->c_stab;
+ 
+     Newz(105,loc, max - min + 3, CMD*);
+     loc++;
+     max -= min;
+     max++;
+     while (count--) {
+ 	i = (int)str_gnum(cur->c_short);
+ 	i -= min;
+ 	switch(cur->c_slen) {
+ 	case O_LE:
+ 	    i++;
+ 	case O_LT:
+ 	    for (i--; i >= -1; i--)
+ 		if (!loc[i])
+ 		    loc[i] = cur;
+ 	    break;
+ 	case O_GE:
+ 	    i--;
+ 	case O_GT:
+ 	    for (i++; i <= max; i++)
+ 		if (!loc[i])
+ 		    loc[i] = cur;
+ 	    break;
+ 	case O_EQ:
+ 	    if (!loc[i])
+ 		loc[i] = cur;
+ 	    break;
+ 	}
+ 	cur = cur->c_next;
+     }
+     loc--;
+     min--;
+     max++;
+     for (i = 0; i <= max; i++)
+ 	if (!loc[i])
+ 	    loc[i] = cur;
+     head->ucmd.scmd.sc_offset = min;
+     head->ucmd.scmd.sc_max = max;
+     head->ucmd.scmd.sc_next = loc;
+ }
+ 
+ CMD *
+ append_line(head,tail)
+ register CMD *head;
+ register CMD *tail;
+ {
+     if (tail == Nullcmd)
+ 	return head;
+     if (!tail->c_head)			/* make sure tail is well formed */
+ 	tail->c_head = tail;
+     if (head != Nullcmd) {
+ 	tail = tail->c_head;		/* get to start of tail list */
+ 	if (!head->c_head)
+ 	    head->c_head = head;	/* start a new head list */
+ 	while (head->c_next) {
+ 	    head->c_next->c_head = head->c_head;
+ 	    head = head->c_next;	/* get to end of head list */
+ 	}
+ 	head->c_next = tail;		/* link to end of old list */
+ 	tail->c_head = head->c_head;	/* propagate head pointer */
+     }
+     while (tail->c_next) {
+ 	tail->c_next->c_head = tail->c_head;
+ 	tail = tail->c_next;
+     }
+     return tail;
+ }
+ 
+ CMD *
+ dodb(cur)
+ CMD *cur;
+ {
+     register CMD *cmd;
+     register CMD *head = cur->c_head;
+     STR *str;
+ 
+     if (!head)
+ 	head = cur;
+     if (!head->c_line)
+ 	return cur;
+     str = afetch(stab_xarray(curcmd->c_filestab),(int)head->c_line,FALSE);
+     if (str == &str_undef || str->str_nok)
+ 	return cur;
+     str->str_u.str_nval = (double)head->c_line;
+     str->str_nok = 1;
+     Newz(106,cmd,1,CMD);
+     str_magic(str, curcmd->c_filestab, 0, Nullch, 0);
+     str->str_magic->str_u.str_cmd = cmd;
+     cmd->c_type = C_EXPR;
+     cmd->ucmd.acmd.ac_stab = Nullstab;
+     cmd->ucmd.acmd.ac_expr = Nullarg;
+     cmd->c_expr = make_op(O_SUBR, 2,
+ 	stab2arg(A_WORD,DBstab),
+ 	Nullarg,
+ 	Nullarg);
+     cmd->c_flags |= CF_COND|CF_DBSUB|CFT_D0;
+     cmd->c_line = head->c_line;
+     cmd->c_label = head->c_label;
+     cmd->c_filestab = curcmd->c_filestab;
+     cmd->c_stash = curstash;
+     return append_line(cmd, cur);
+ }
+ 
+ CMD *
+ make_acmd(type,stab,cond,arg)
+ int type;
+ STAB *stab;
+ ARG *cond;
+ ARG *arg;
+ {
+     register CMD *cmd;
+ 
+     Newz(107,cmd,1,CMD);
+     cmd->c_type = type;
+     cmd->ucmd.acmd.ac_stab = stab;
+     cmd->ucmd.acmd.ac_expr = arg;
+     cmd->c_expr = cond;
+     if (cond)
+ 	cmd->c_flags |= CF_COND;
+     if (cmdline == NOLINE)
+ 	cmd->c_line = curcmd->c_line;
+     else {
+ 	cmd->c_line = cmdline;
+ 	cmdline = NOLINE;
+     }
+     cmd->c_filestab = curcmd->c_filestab;
+     cmd->c_stash = curstash;
+     if (perldb)
+ 	cmd = dodb(cmd);
+     return cmd;
+ }
+ 
+ CMD *
+ make_ccmd(type,arg,cblock)
+ int type;
+ ARG *arg;
+ struct compcmd cblock;
+ {
+     register CMD *cmd;
+ 
+     Newz(108,cmd, 1, CMD);
+     cmd->c_type = type;
+     cmd->c_expr = arg;
+     cmd->ucmd.ccmd.cc_true = cblock.comp_true;
+     cmd->ucmd.ccmd.cc_alt = cblock.comp_alt;
+     if (arg)
+ 	cmd->c_flags |= CF_COND;
+     if (cmdline == NOLINE)
+ 	cmd->c_line = curcmd->c_line;
+     else {
+ 	cmd->c_line = cmdline;
+ 	cmdline = NOLINE;
+     }
+     cmd->c_filestab = curcmd->c_filestab;
+     cmd->c_stash = curstash;
+     if (perldb)
+ 	cmd = dodb(cmd);
+     return cmd;
+ }
+ 
+ CMD *
+ make_icmd(type,arg,cblock)
+ int type;
+ ARG *arg;
+ struct compcmd cblock;
+ {
+     register CMD *cmd;
+     register CMD *alt;
+     register CMD *cur;
+     register CMD *head;
+     struct compcmd ncblock;
+ 
+     Newz(109,cmd, 1, CMD);
+     head = cmd;
+     cmd->c_type = type;
+     cmd->c_expr = arg;
+     cmd->ucmd.ccmd.cc_true = cblock.comp_true;
+     cmd->ucmd.ccmd.cc_alt = cblock.comp_alt;
+     if (arg)
+ 	cmd->c_flags |= CF_COND;
+     if (cmdline == NOLINE)
+ 	cmd->c_line = curcmd->c_line;
+     else {
+ 	cmd->c_line = cmdline;
+ 	cmdline = NOLINE;
+     }
+     cmd->c_filestab = curcmd->c_filestab;
+     cmd->c_stash = curstash;
+     cur = cmd;
+     alt = cblock.comp_alt;
+     while (alt && alt->c_type == C_ELSIF) {
+ 	cur = alt;
+ 	alt = alt->ucmd.ccmd.cc_alt;
+     }
+     if (alt) {			/* a real life ELSE at the end? */
+ 	ncblock.comp_true = alt;
+ 	ncblock.comp_alt = Nullcmd;
+ 	alt = append_line(cur,make_ccmd(C_ELSE,Nullarg,ncblock));
+ 	cur->ucmd.ccmd.cc_alt = alt;
+     }
+     else
+ 	alt = cur;		/* no ELSE, so cur is proxy ELSE */
+ 
+     cur = cmd;
+     while (cmd) {		/* now point everyone at the ELSE */
+ 	cur = cmd;
+ 	cmd = cur->ucmd.ccmd.cc_alt;
+ 	cur->c_head = head;
+ 	if (cur->c_type == C_ELSIF)
+ 	    cur->c_type = C_IF;
+ 	if (cur->c_type == C_IF)
+ 	    cur->ucmd.ccmd.cc_alt = alt;
+ 	if (cur == alt)
+ 	    break;
+ 	cur->c_next = cmd;
+     }
+     if (perldb)
+ 	cur = dodb(cur);
+     return cur;
+ }
+ 
+ void
+ opt_arg(cmd,fliporflop,acmd)
+ register CMD *cmd;
+ int fliporflop;
+ int acmd;
+ {
+     register ARG *arg;
+     int opt = CFT_EVAL;
+     int sure = 0;
+     ARG *arg2;
+     int context = 0;	/* 0 = normal, 1 = before &&, 2 = before || */
+     int flp = fliporflop;
+ 
+     if (!cmd)
+ 	return;
+     if (!(arg = cmd->c_expr)) {
+ 	cmd->c_flags &= ~CF_COND;
+ 	return;
+     }
+ 
+     /* Can we turn && and || into if and unless? */
+ 
+     if (acmd && !cmd->ucmd.acmd.ac_expr && !(cmd->c_flags & CF_TERM) &&
+       (arg->arg_type == O_AND || arg->arg_type == O_OR) ) {
+ 	dehoist(arg,1);
+ 	arg[2].arg_type &= A_MASK;	/* don't suppress eval */
+ 	dehoist(arg,2);
+ 	cmd->ucmd.acmd.ac_expr = arg[2].arg_ptr.arg_arg;
+ 	cmd->c_expr = arg[1].arg_ptr.arg_arg;
+ 	if (arg->arg_type == O_OR)
+ 	    cmd->c_flags ^= CF_INVERT;		/* || is like unless */
+ 	arg->arg_len = 0;
+ 	free_arg(arg);
+ 	arg = cmd->c_expr;
+     }
+ 
+     /* Turn "if (!expr)" into "unless (expr)" */
+ 
+     if (!(cmd->c_flags & CF_TERM)) {		/* unless return value wanted */
+ 	while (arg->arg_type == O_NOT) {
+ 	    dehoist(arg,1);
+ 	    cmd->c_flags ^= CF_INVERT;		/* flip sense of cmd */
+ 	    cmd->c_expr = arg[1].arg_ptr.arg_arg; /* hoist the rest of expr */
+ 	    free_arg(arg);
+ 	    arg = cmd->c_expr;			/* here we go again */
+ 	}
+     }
+ 
+     if (!arg->arg_len) {		/* sanity check */
+ 	cmd->c_flags |= opt;
+ 	return;
+     }
+ 
+     /* for "cond .. cond" we set up for the initial check */
+ 
+     if (arg->arg_type == O_FLIP)
+ 	context |= 4;
+ 
+     /* for "cond && expr" and "cond || expr" we can ignore expr, sort of */
+ 
+   morecontext:
+     if (arg->arg_type == O_AND)
+ 	context |= 1;
+     else if (arg->arg_type == O_OR)
+ 	context |= 2;
+     if (context && (arg[flp].arg_type & A_MASK) == A_EXPR) {
+ 	arg = arg[flp].arg_ptr.arg_arg;
+ 	flp = 1;
+ 	if (arg->arg_type == O_AND || arg->arg_type == O_OR)
+ 	    goto morecontext;
+     }
+     if ((context & 3) == 3)
+ 	return;
+ 
+     if (arg[flp].arg_flags & (AF_PRE|AF_POST)) {
+ 	cmd->c_flags |= opt;
+ 	if (acmd && !cmd->ucmd.acmd.ac_expr && !(cmd->c_flags & CF_TERM)
+ 	  && cmd->c_expr->arg_type == O_ITEM) {
+ 	    arg[flp].arg_flags &= ~AF_POST;	/* prefer ++$foo to $foo++ */
+ 	    arg[flp].arg_flags |= AF_PRE;	/*  if value not wanted */
+ 	}
+ 	return;				/* side effect, can't optimize */
+     }
+ 
+     if (arg->arg_type == O_ITEM || arg->arg_type == O_FLIP ||
+       arg->arg_type == O_AND || arg->arg_type == O_OR) {
+ 	if ((arg[flp].arg_type & A_MASK) == A_SINGLE) {
+ 	    opt = (str_true(arg[flp].arg_ptr.arg_str) ? CFT_TRUE : CFT_FALSE);
+ 	    cmd->c_short = str_smake(arg[flp].arg_ptr.arg_str);
+ 	    goto literal;
+ 	}
+ 	else if ((arg[flp].arg_type & A_MASK) == A_STAB ||
+ 	  (arg[flp].arg_type & A_MASK) == A_LVAL) {
+ 	    cmd->c_stab  = arg[flp].arg_ptr.arg_stab;
+ 	    if (!context)
+ 		arg[flp].arg_ptr.arg_stab = Nullstab;
+ 	    opt = CFT_REG;
+ 	  literal:
+ 	    if (!context) {	/* no && or ||? */
+ 		arg_free(arg);
+ 		cmd->c_expr = Nullarg;
+ 	    }
+ 	    if (!(context & 1))
+ 		cmd->c_flags |= CF_EQSURE;
+ 	    if (!(context & 2))
+ 		cmd->c_flags |= CF_NESURE;
+ 	}
+     }
+     else if (arg->arg_type == O_MATCH || arg->arg_type == O_SUBST ||
+ 	     arg->arg_type == O_NMATCH || arg->arg_type == O_NSUBST) {
+ 	if ((arg[1].arg_type == A_STAB || arg[1].arg_type == A_LVAL) &&
+ 		(arg[2].arg_type & A_MASK) == A_SPAT &&
+ 		arg[2].arg_ptr.arg_spat->spat_short ) {
+ 	    cmd->c_stab  = arg[1].arg_ptr.arg_stab;
+ 	    cmd->c_short = str_smake(arg[2].arg_ptr.arg_spat->spat_short);
+ 	    cmd->c_slen  = arg[2].arg_ptr.arg_spat->spat_slen;
+ 	    if (arg[2].arg_ptr.arg_spat->spat_flags & SPAT_ALL &&
+ 		!(arg[2].arg_ptr.arg_spat->spat_flags & SPAT_ONCE) &&
+ 		(arg->arg_type == O_MATCH || arg->arg_type == O_NMATCH) )
+ 		sure |= CF_EQSURE;		/* (SUBST must be forced even */
+ 						/* if we know it will work.) */
+ 	    if (arg->arg_type != O_SUBST) {
+ 		arg[2].arg_ptr.arg_spat->spat_short = Nullstr;
+ 		arg[2].arg_ptr.arg_spat->spat_slen = 0; /* only one chk */
+ 	    }
+ 	    sure |= CF_NESURE;		/* normally only sure if it fails */
+ 	    if (arg->arg_type == O_NMATCH || arg->arg_type == O_NSUBST)
+ 		cmd->c_flags |= CF_FIRSTNEG;
+ 	    if (context & 1) {		/* only sure if thing is false */
+ 		if (cmd->c_flags & CF_FIRSTNEG)
+ 		    sure &= ~CF_NESURE;
+ 		else
+ 		    sure &= ~CF_EQSURE;
+ 	    }
+ 	    else if (context & 2) {	/* only sure if thing is true */
+ 		if (cmd->c_flags & CF_FIRSTNEG)
+ 		    sure &= ~CF_EQSURE;
+ 		else
+ 		    sure &= ~CF_NESURE;
+ 	    }
+ 	    if (sure & (CF_EQSURE|CF_NESURE)) {	/* if we know anything*/
+ 		if (arg[2].arg_ptr.arg_spat->spat_flags & SPAT_SCANFIRST)
+ 		    opt = CFT_SCAN;
+ 		else
+ 		    opt = CFT_ANCHOR;
+ 		if (sure == (CF_EQSURE|CF_NESURE)	/* really sure? */
+ 		    && arg->arg_type == O_MATCH
+ 		    && context & 4
+ 		    && fliporflop == 1) {
+ 		    spat_free(arg[2].arg_ptr.arg_spat);
+ 		    arg[2].arg_ptr.arg_spat = Nullspat;	/* don't do twice */
+ 		}
+ 		else
+ 		    cmd->c_spat = arg[2].arg_ptr.arg_spat;
+ 		cmd->c_flags |= sure;
+ 	    }
+ 	}
+     }
+     else if (arg->arg_type == O_SEQ || arg->arg_type == O_SNE ||
+ 	     arg->arg_type == O_SLT || arg->arg_type == O_SGT) {
+ 	if (arg[1].arg_type == A_STAB || arg[1].arg_type == A_LVAL) {
+ 	    if (arg[2].arg_type == A_SINGLE) {
+ 		char *junk = str_get(arg[2].arg_ptr.arg_str);
+ 
+ 		cmd->c_stab  = arg[1].arg_ptr.arg_stab;
+ 		cmd->c_short = str_smake(arg[2].arg_ptr.arg_str);
+ 		cmd->c_slen  = cmd->c_short->str_cur+1;
+ 		switch (arg->arg_type) {
+ 		case O_SLT: case O_SGT:
+ 		    sure |= CF_EQSURE;
+ 		    cmd->c_flags |= CF_FIRSTNEG;
+ 		    break;
+ 		case O_SNE:
+ 		    cmd->c_flags |= CF_FIRSTNEG;
+ 		    /* FALL THROUGH */
+ 		case O_SEQ:
+ 		    sure |= CF_NESURE|CF_EQSURE;
+ 		    break;
+ 		}
+ 		if (context & 1) {	/* only sure if thing is false */
+ 		    if (cmd->c_flags & CF_FIRSTNEG)
+ 			sure &= ~CF_NESURE;
+ 		    else
+ 			sure &= ~CF_EQSURE;
+ 		}
+ 		else if (context & 2) { /* only sure if thing is true */
+ 		    if (cmd->c_flags & CF_FIRSTNEG)
+ 			sure &= ~CF_EQSURE;
+ 		    else
+ 			sure &= ~CF_NESURE;
+ 		}
+ 		if (sure & (CF_EQSURE|CF_NESURE)) {
+ 		    opt = CFT_STROP;
+ 		    cmd->c_flags |= sure;
+ 		}
+ 	    }
+ 	}
+     }
+     else if (arg->arg_type == O_EQ || arg->arg_type == O_NE ||
+ 	     arg->arg_type == O_LE || arg->arg_type == O_GE ||
+ 	     arg->arg_type == O_LT || arg->arg_type == O_GT) {
+ 	if (arg[1].arg_type == A_STAB || arg[1].arg_type == A_LVAL) {
+ 	    if (arg[2].arg_type == A_SINGLE) {
+ 		cmd->c_stab  = arg[1].arg_ptr.arg_stab;
+ 		if (dowarn) {
+ 		    STR *str = arg[2].arg_ptr.arg_str;
+ 
+ 		    if ((!str->str_nok && !looks_like_number(str)))
+ 			warn("Possible use of == on string value");
+ 		}
+ 		cmd->c_short = str_nmake(str_gnum(arg[2].arg_ptr.arg_str));
+ 		cmd->c_slen = arg->arg_type;
+ 		sure |= CF_NESURE|CF_EQSURE;
+ 		if (context & 1) {	/* only sure if thing is false */
+ 		    sure &= ~CF_EQSURE;
+ 		}
+ 		else if (context & 2) { /* only sure if thing is true */
+ 		    sure &= ~CF_NESURE;
+ 		}
+ 		if (sure & (CF_EQSURE|CF_NESURE)) {
+ 		    opt = CFT_NUMOP;
+ 		    cmd->c_flags |= sure;
+ 		}
+ 	    }
+ 	}
+     }
+     else if (arg->arg_type == O_ASSIGN &&
+ 	     (arg[1].arg_type == A_STAB || arg[1].arg_type == A_LVAL) &&
+ 	     arg[1].arg_ptr.arg_stab == defstab &&
+ 	     arg[2].arg_type == A_EXPR ) {
+ 	arg2 = arg[2].arg_ptr.arg_arg;
+ 	if (arg2->arg_type == O_ITEM && arg2[1].arg_type == A_READ) {
+ 	    opt = CFT_GETS;
+ 	    cmd->c_stab = arg2[1].arg_ptr.arg_stab;
+ 	    if (!(stab_io(arg2[1].arg_ptr.arg_stab)->flags & IOF_ARGV)) {
+ 		free_arg(arg2);
+ 		arg[2].arg_ptr.arg_arg = Nullarg;
+ 		free_arg(arg);
+ 		cmd->c_expr = Nullarg;
+ 	    }
+ 	}
+     }
+     else if (arg->arg_type == O_CHOP &&
+ 	     (arg[1].arg_type == A_STAB || arg[1].arg_type == A_LVAL) ) {
+ 	opt = CFT_CHOP;
+ 	cmd->c_stab = arg[1].arg_ptr.arg_stab;
+ 	free_arg(arg);
+ 	cmd->c_expr = Nullarg;
+     }
+     if (context & 4)
+ 	opt |= CF_FLIP;
+     cmd->c_flags |= opt;
+ 
+     if (cmd->c_flags & CF_FLIP) {
+ 	if (fliporflop == 1) {
+ 	    arg = cmd->c_expr;	/* get back to O_FLIP arg */
+ 	    New(110,arg[3].arg_ptr.arg_cmd, 1, CMD);
+ 	    Copy(cmd, arg[3].arg_ptr.arg_cmd, 1, CMD);
+ 	    New(111,arg[4].arg_ptr.arg_cmd,1,CMD);
+ 	    Copy(cmd, arg[4].arg_ptr.arg_cmd, 1, CMD);
+ 	    opt_arg(arg[4].arg_ptr.arg_cmd,2,acmd);
+ 	    arg->arg_len = 2;		/* this is a lie */
+ 	}
+ 	else {
+ 	    if ((opt & CF_OPTIMIZE) == CFT_EVAL)
+ 		cmd->c_flags = (cmd->c_flags & ~CF_OPTIMIZE) | CFT_UNFLIP;
+ 	}
+     }
+ }
+ 
+ CMD *
+ add_label(lbl,cmd)
+ char *lbl;
+ register CMD *cmd;
+ {
+     if (cmd)
+ 	cmd->c_label = lbl;
+     return cmd;
+ }
+ 
+ CMD *
+ addcond(cmd, arg)
+ register CMD *cmd;
+ register ARG *arg;
+ {
+     cmd->c_expr = arg;
+     cmd->c_flags |= CF_COND;
+     return cmd;
+ }
+ 
+ CMD *
+ addloop(cmd, arg)
+ register CMD *cmd;
+ register ARG *arg;
+ {
+     void while_io();
+ 
+     cmd->c_expr = arg;
+     cmd->c_flags |= CF_COND|CF_LOOP;
+ 
+     if (!(cmd->c_flags & CF_INVERT))
+ 	while_io(cmd);		/* add $_ =, if necessary */
+ 
+     if (cmd->c_type == C_BLOCK)
+ 	cmd->c_flags &= ~CF_COND;
+     else {
+ 	arg = cmd->ucmd.acmd.ac_expr;
+ 	if (arg && arg->arg_type == O_ITEM && arg[1].arg_type == A_CMD)
+ 	    cmd->c_flags &= ~CF_COND;  /* "do {} while" happens at least once */
+ 	if (arg && (arg->arg_flags & AF_DEPR) &&
+ 	  (arg->arg_type == O_SUBR || arg->arg_type == O_DBSUBR) )
+ 	    cmd->c_flags &= ~CF_COND;  /* likewise for "do subr() while" */
+     }
+     return cmd;
+ }
+ 
+ CMD *
+ invert(cmd)
+ CMD *cmd;
+ {
+     register CMD *targ = cmd;
+     if (targ->c_head)
+ 	targ = targ->c_head;
+     if (targ->c_flags & CF_DBSUB)
+ 	targ = targ->c_next;
+     targ->c_flags ^= CF_INVERT;
+     return cmd;
+ }
+ 
+ yyerror(s)
+ char *s;
+ {
+     char tmpbuf[258];
+     char tmp2buf[258];
+     char *tname = tmpbuf;
+ 
+     if (bufptr > oldoldbufptr && bufptr - oldoldbufptr < 200 &&
+       oldoldbufptr != oldbufptr && oldbufptr != bufptr) {
+ 	while (isspace(*oldoldbufptr))
+ 	    oldoldbufptr++;
+ 	strncpy(tmp2buf, oldoldbufptr, bufptr - oldoldbufptr);
+ 	tmp2buf[bufptr - oldoldbufptr] = '\0';
+ 	sprintf(tname,"next 2 tokens \"%s\"",tmp2buf);
+     }
+     else if (bufptr > oldbufptr && bufptr - oldbufptr < 200 &&
+       oldbufptr != bufptr) {
+ 	while (isspace(*oldbufptr))
+ 	    oldbufptr++;
+ 	strncpy(tmp2buf, oldbufptr, bufptr - oldbufptr);
+ 	tmp2buf[bufptr - oldbufptr] = '\0';
+ 	sprintf(tname,"next token \"%s\"",tmp2buf);
+     }
+     else if (yychar > 256)
+ 	tname = "next token ???";
+     else if (!yychar)
+ 	(void)strcpy(tname,"at EOF");
+     else if (yychar < 32)
+ 	(void)sprintf(tname,"next char ^%c",yychar+64);
+     else if (yychar == 127)
+ 	(void)strcpy(tname,"at EOF");
+     else
+ 	(void)sprintf(tname,"next char %c",yychar);
+     (void)sprintf(buf, "%s in file %s at line %d, %s\n",
+       s,stab_val(curcmd->c_filestab)->str_ptr,curcmd->c_line,tname);
+     if (curcmd->c_line == multi_end && multi_start < multi_end)
+ 	sprintf(buf+strlen(buf),
+ 	  "  (Might be a runaway multi-line %c%c string starting on line %d)\n",
+ 	  multi_open,multi_close,multi_start);
+     if (in_eval)
+ 	str_cat(stab_val(stabent("@",TRUE)),buf);
+     else
+ 	fputs(buf,stderr);
+     if (++error_count >= 10)
+ 	fatal("%s has too many errors.\n",
+ 	stab_val(curcmd->c_filestab)->str_ptr);
+ }
+ 
+ void
+ while_io(cmd)
+ register CMD *cmd;
+ {
+     register ARG *arg = cmd->c_expr;
+     STAB *asgnstab;
+ 
+     /* hoist "while (<channel>)" up into command block */
+ 
+     if (arg && arg->arg_type == O_ITEM && arg[1].arg_type == A_READ) {
+ 	cmd->c_flags &= ~CF_OPTIMIZE;	/* clear optimization type */
+ 	cmd->c_flags |= CFT_GETS;	/* and set it to do the input */
+ 	cmd->c_stab = arg[1].arg_ptr.arg_stab;
+ 	if (stab_io(arg[1].arg_ptr.arg_stab)->flags & IOF_ARGV) {
+ 	    cmd->c_expr = l(make_op(O_ASSIGN, 2,	/* fake up "$_ =" */
+ 	       stab2arg(A_LVAL,defstab), arg, Nullarg));
+ 	}
+ 	else {
+ 	    free_arg(arg);
+ 	    cmd->c_expr = Nullarg;
+ 	}
+     }
+     else if (arg && arg->arg_type == O_ITEM && arg[1].arg_type == A_INDREAD) {
+ 	cmd->c_flags &= ~CF_OPTIMIZE;	/* clear optimization type */
+ 	cmd->c_flags |= CFT_INDGETS;	/* and set it to do the input */
+ 	cmd->c_stab = arg[1].arg_ptr.arg_stab;
+ 	free_arg(arg);
+ 	cmd->c_expr = Nullarg;
+     }
+     else if (arg && arg->arg_type == O_ITEM && arg[1].arg_type == A_GLOB) {
+ 	if ((cmd->c_flags & CF_OPTIMIZE) == CFT_ARRAY)
+ 	    asgnstab = cmd->c_stab;
+ 	else
+ 	    asgnstab = defstab;
+ 	cmd->c_expr = l(make_op(O_ASSIGN, 2,	/* fake up "$foo =" */
+ 	   stab2arg(A_LVAL,asgnstab), arg, Nullarg));
+ 	cmd->c_flags &= ~CF_OPTIMIZE;	/* clear optimization type */
+     }
+ }
+ 
+ CMD *
+ wopt(cmd)
+ register CMD *cmd;
+ {
+     register CMD *tail;
+     CMD *newtail;
+     register int i;
+ 
+     if (cmd->c_expr && (cmd->c_flags & CF_OPTIMIZE) == CFT_FALSE)
+ 	opt_arg(cmd,1, cmd->c_type == C_EXPR);
+ 
+     while_io(cmd);		/* add $_ =, if necessary */
+ 
+     /* First find the end of the true list */
+ 
+     tail = cmd->ucmd.ccmd.cc_true;
+     if (tail == Nullcmd)
+ 	return cmd;
+     New(112,newtail, 1, CMD);	/* guaranteed continue */
+     for (;;) {
+ 	/* optimize "next" to point directly to continue block */
+ 	if (tail->c_type == C_EXPR &&
+ 	    tail->ucmd.acmd.ac_expr &&
+ 	    tail->ucmd.acmd.ac_expr->arg_type == O_NEXT &&
+ 	    (tail->ucmd.acmd.ac_expr->arg_len == 0 ||
+ 	     (cmd->c_label &&
+ 	      strEQ(cmd->c_label,
+ 		    tail->ucmd.acmd.ac_expr[1].arg_ptr.arg_str->str_ptr) )))
+ 	{
+ 	    arg_free(tail->ucmd.acmd.ac_expr);
+ 	    tail->ucmd.acmd.ac_expr = Nullarg;
+ 	    tail->c_type = C_NEXT;
+ 	    if (cmd->ucmd.ccmd.cc_alt != Nullcmd)
+ 		tail->ucmd.ccmd.cc_alt = cmd->ucmd.ccmd.cc_alt;
+ 	    else
+ 		tail->ucmd.ccmd.cc_alt = newtail;
+ 	    tail->ucmd.ccmd.cc_true = Nullcmd;
+ 	}
+ 	else if (tail->c_type == C_IF && !tail->ucmd.ccmd.cc_alt) {
+ 	    if (cmd->ucmd.ccmd.cc_alt != Nullcmd)
+ 		tail->ucmd.ccmd.cc_alt = cmd->ucmd.ccmd.cc_alt;
+ 	    else
+ 		tail->ucmd.ccmd.cc_alt = newtail;
+ 	}
+ 	else if (tail->c_type == C_CSWITCH || tail->c_type == C_NSWITCH) {
+ 	    if (cmd->ucmd.ccmd.cc_alt != Nullcmd) {
+ 		for (i = tail->ucmd.scmd.sc_max; i >= 0; i--)
+ 		    if (!tail->ucmd.scmd.sc_next[i])
+ 			tail->ucmd.scmd.sc_next[i] = cmd->ucmd.ccmd.cc_alt;
+ 	    }
+ 	    else {
+ 		for (i = tail->ucmd.scmd.sc_max; i >= 0; i--)
+ 		    if (!tail->ucmd.scmd.sc_next[i])
+ 			tail->ucmd.scmd.sc_next[i] = newtail;
+ 	    }
+ 	}
+ 
+ 	if (!tail->c_next)
+ 	    break;
+ 	tail = tail->c_next;
+     }
+ 
+     /* if there's a continue block, link it to true block and find end */
+ 
+     if (cmd->ucmd.ccmd.cc_alt != Nullcmd) {
+ 	tail->c_next = cmd->ucmd.ccmd.cc_alt;
+ 	tail = tail->c_next;
+ 	for (;;) {
+ 	    /* optimize "next" to point directly to continue block */
+ 	    if (tail->c_type == C_EXPR &&
+ 		tail->ucmd.acmd.ac_expr &&
+ 		tail->ucmd.acmd.ac_expr->arg_type == O_NEXT &&
+ 		(tail->ucmd.acmd.ac_expr->arg_len == 0 ||
+ 		 (cmd->c_label &&
+ 		  strEQ(cmd->c_label,
+ 			tail->ucmd.acmd.ac_expr[1].arg_ptr.arg_str->str_ptr) )))
+ 	    {
+ 		arg_free(tail->ucmd.acmd.ac_expr);
+ 		tail->ucmd.acmd.ac_expr = Nullarg;
+ 		tail->c_type = C_NEXT;
+ 		tail->ucmd.ccmd.cc_alt = newtail;
+ 		tail->ucmd.ccmd.cc_true = Nullcmd;
+ 	    }
+ 	    else if (tail->c_type == C_IF && !tail->ucmd.ccmd.cc_alt) {
+ 		tail->ucmd.ccmd.cc_alt = newtail;
+ 	    }
+ 	    else if (tail->c_type == C_CSWITCH || tail->c_type == C_NSWITCH) {
+ 		for (i = tail->ucmd.scmd.sc_max; i >= 0; i--)
+ 		    if (!tail->ucmd.scmd.sc_next[i])
+ 			tail->ucmd.scmd.sc_next[i] = newtail;
+ 	    }
+ 
+ 	    if (!tail->c_next)
+ 		break;
+ 	    tail = tail->c_next;
+ 	}
+ 	for ( ; tail->c_next; tail = tail->c_next) ;
+     }
+ 
+     /* Here's the real trick: link the end of the list back to the beginning,
+      * inserting a "last" block to break out of the loop.  This saves one or
+      * two procedure calls every time through the loop, because of how cmd_exec
+      * does tail recursion.
+      */
+ 
+     tail->c_next = newtail;
+     tail = newtail;
+     if (!cmd->ucmd.ccmd.cc_alt)
+ 	cmd->ucmd.ccmd.cc_alt = tail;	/* every loop has a continue now */
+ 
+ #ifndef lint
+     (void)bcopy((char *)cmd, (char *)tail, sizeof(CMD));
+ #endif
+     tail->c_type = C_EXPR;
+     tail->c_flags ^= CF_INVERT;		/* turn into "last unless" */
+     tail->c_next = tail->ucmd.ccmd.cc_true;	/* loop directly back to top */
+     tail->ucmd.acmd.ac_expr = make_op(O_LAST,0,Nullarg,Nullarg,Nullarg);
+     tail->ucmd.acmd.ac_stab = Nullstab;
+     return cmd;
+ }
+ 
+ CMD *
+ over(eachstab,cmd)
+ STAB *eachstab;
+ register CMD *cmd;
+ {
+     /* hoist "for $foo (@bar)" up into command block */
+ 
+     cmd->c_flags &= ~CF_OPTIMIZE;	/* clear optimization type */
+     cmd->c_flags |= CFT_ARRAY;		/* and set it to do the iteration */
+     cmd->c_stab = eachstab;
+     cmd->c_short = str_new(0);		/* just to save a field in struct cmd */
+     cmd->c_short->str_u.str_useful = -1;
+ 
+     return cmd;
+ }
+ 
+ cmd_free(cmd)
+ register CMD *cmd;
+ {
+     register CMD *tofree;
+     register CMD *head = cmd;
+ 
+     while (cmd) {
+ 	if (cmd->c_type != C_WHILE) {	/* WHILE block is duplicated */
+ 	    if (cmd->c_label) {
+ 		Safefree(cmd->c_label);
+ 		cmd->c_label = Nullch;
+ 	    }
+ 	    if (cmd->c_short) {
+ 		str_free(cmd->c_short);
+ 		cmd->c_short = Nullstr;
+ 	    }
+ 	    if (cmd->c_expr) {
+ 		arg_free(cmd->c_expr);
+ 		cmd->c_expr = Nullarg;
+ 	    }
+ 	}
+ 	switch (cmd->c_type) {
+ 	case C_WHILE:
+ 	case C_BLOCK:
+ 	case C_ELSE:
+ 	case C_IF:
+ 	    if (cmd->ucmd.ccmd.cc_true) {
+ 		cmd_free(cmd->ucmd.ccmd.cc_true);
+ 		cmd->ucmd.ccmd.cc_true = Nullcmd;
+ 	    }
+ 	    break;
+ 	case C_EXPR:
+ 	    if (cmd->ucmd.acmd.ac_expr) {
+ 		arg_free(cmd->ucmd.acmd.ac_expr);
+ 		cmd->ucmd.acmd.ac_expr = Nullarg;
+ 	    }
+ 	    break;
+ 	}
+ 	tofree = cmd;
+ 	cmd = cmd->c_next;
+ 	if (tofree != head)		/* to get Saber to shut up */
+ 	    Safefree(tofree);
+ 	if (cmd && cmd == head)		/* reached end of while loop */
+ 	    break;
+     }
+     Safefree(head);
+ }
+ 
+ arg_free(arg)
+ register ARG *arg;
+ {
+     register int i;
+ 
+     for (i = 1; i <= arg->arg_len; i++) {
+ 	switch (arg[i].arg_type & A_MASK) {
+ 	case A_NULL:
+ 	    if (arg->arg_type == O_TRANS) {
+ 		Safefree(arg[i].arg_ptr.arg_cval);
+ 		arg[i].arg_ptr.arg_cval = Nullch;
+ 	    }
+ 	    break;
+ 	case A_LEXPR:
+ 	    if (arg->arg_type == O_AASSIGN &&
+ 	      arg[i].arg_ptr.arg_arg->arg_type == O_LARRAY) {
+ 		char *name = 
+ 		  stab_name(arg[i].arg_ptr.arg_arg[1].arg_ptr.arg_stab);
+ 
+ 		if (strnEQ("_GEN_",name, 5))	/* array for foreach */
+ 		    hdelete(defstash,name,strlen(name));
+ 	    }
+ 	    /* FALL THROUGH */
+ 	case A_EXPR:
+ 	    arg_free(arg[i].arg_ptr.arg_arg);
+ 	    arg[i].arg_ptr.arg_arg = Nullarg;
+ 	    break;
+ 	case A_CMD:
+ 	    cmd_free(arg[i].arg_ptr.arg_cmd);
+ 	    arg[i].arg_ptr.arg_cmd = Nullcmd;
+ 	    break;
+ 	case A_WORD:
+ 	case A_STAB:
+ 	case A_LVAL:
+ 	case A_READ:
+ 	case A_GLOB:
+ 	case A_ARYLEN:
+ 	case A_LARYLEN:
+ 	case A_ARYSTAB:
+ 	case A_LARYSTAB:
+ 	    break;
+ 	case A_SINGLE:
+ 	case A_DOUBLE:
+ 	case A_BACKTICK:
+ 	    str_free(arg[i].arg_ptr.arg_str);
+ 	    arg[i].arg_ptr.arg_str = Nullstr;
+ 	    break;
+ 	case A_SPAT:
+ 	    spat_free(arg[i].arg_ptr.arg_spat);
+ 	    arg[i].arg_ptr.arg_spat = Nullspat;
+ 	    break;
+ 	}
+     }
+     free_arg(arg);
+ }
+ 
+ spat_free(spat)
+ register SPAT *spat;
+ {
+     register SPAT *sp;
+     HENT *entry;
+ 
+     if (spat->spat_runtime) {
+ 	arg_free(spat->spat_runtime);
+ 	spat->spat_runtime = Nullarg;
+     }
+     if (spat->spat_repl) {
+ 	arg_free(spat->spat_repl);
+ 	spat->spat_repl = Nullarg;
+     }
+     if (spat->spat_short) {
+ 	str_free(spat->spat_short);
+ 	spat->spat_short = Nullstr;
+     }
+     if (spat->spat_regexp) {
+ 	regfree(spat->spat_regexp);
+ 	spat->spat_regexp = Null(REGEXP*);
+     }
+ 
+     /* now unlink from spat list */
+ 
+     for (entry = defstash->tbl_array['_']; entry; entry = entry->hent_next) {
+ 	register HASH *stash;
+ 	STAB *stab = (STAB*)entry->hent_val;
+ 
+ 	if (!stab)
+ 	    continue;
+ 	stash = stab_hash(stab);
+ 	if (!stash || stash->tbl_spatroot == Null(SPAT*))
+ 	    continue;
+ 	if (stash->tbl_spatroot == spat)
+ 	    stash->tbl_spatroot = spat->spat_next;
+ 	else {
+ 	    for (sp = stash->tbl_spatroot;
+ 	      sp && sp->spat_next != spat;
+ 	      sp = sp->spat_next)
+ 		;
+ 	    if (sp)
+ 		sp->spat_next = spat->spat_next;
+ 	}
+     }
+     Safefree(spat);
+ }
+ 
+ /* Recursively descend a command sequence and push the address of any string
+  * that needs saving on recursion onto the tosave array.
+  */
+ 
+ static int
+ cmd_tosave(cmd,willsave)
+ register CMD *cmd;
+ int willsave;				/* willsave passes down the tree */
+ {
+     register CMD *head = cmd;
+     int shouldsave = FALSE;		/* shouldsave passes up the tree */
+     int tmpsave;
+     register CMD *lastcmd = Nullcmd;
+ 
+     while (cmd) {
+ 	if (cmd->c_expr)
+ 	    shouldsave |= arg_tosave(cmd->c_expr,willsave);
+ 	switch (cmd->c_type) {
+ 	case C_WHILE:
+ 	    if (cmd->ucmd.ccmd.cc_true) {
+ 		tmpsave = cmd_tosave(cmd->ucmd.ccmd.cc_true,willsave);
+ 
+ 		/* Here we check to see if the temporary array generated for
+ 		 * a foreach needs to be localized because of recursion.
+ 		 */
+ 		if (tmpsave && (cmd->c_flags & CF_OPTIMIZE) == CFT_ARRAY) {
+ 		    if (lastcmd &&
+ 		      lastcmd->c_type == C_EXPR &&
+ 		      lastcmd->c_expr) {
+ 			ARG *arg = lastcmd->c_expr;
+ 
+ 			if (arg->arg_type == O_ASSIGN &&
+ 			    arg[1].arg_type == A_LEXPR &&
+ 			    arg[1].arg_ptr.arg_arg->arg_type == O_LARRAY &&
+ 			    strnEQ("_GEN_",
+ 			      stab_name(
+ 				arg[1].arg_ptr.arg_arg[1].arg_ptr.arg_stab),
+ 			      5)) {	/* array generated for foreach */
+ 			    (void)localize(arg);
+ 			}
+ 		    }
+ 
+ 		    /* in any event, save the iterator */
+ 
+ 		    (void)apush(tosave,cmd->c_short);
+ 		}
+ 		shouldsave |= tmpsave;
+ 	    }
+ 	    break;
+ 	case C_BLOCK:
+ 	case C_ELSE:
+ 	case C_IF:
+ 	    if (cmd->ucmd.ccmd.cc_true)
+ 		shouldsave |= cmd_tosave(cmd->ucmd.ccmd.cc_true,willsave);
+ 	    break;
+ 	case C_EXPR:
+ 	    if (cmd->ucmd.acmd.ac_expr)
+ 		shouldsave |= arg_tosave(cmd->ucmd.acmd.ac_expr,willsave);
+ 	    break;
+ 	}
+ 	lastcmd = cmd;
+ 	cmd = cmd->c_next;
+ 	if (cmd && cmd == head)		/* reached end of while loop */
+ 	    break;
+     }
+     return shouldsave;
+ }
+ 
+ static int
+ arg_tosave(arg,willsave)
+ register ARG *arg;
+ int willsave;
+ {
+     register int i;
+     int shouldsave = FALSE;
+ 
+     for (i = arg->arg_len; i >= 1; i--) {
+ 	switch (arg[i].arg_type & A_MASK) {
+ 	case A_NULL:
+ 	    break;
+ 	case A_LEXPR:
+ 	case A_EXPR:
+ 	    shouldsave |= arg_tosave(arg[i].arg_ptr.arg_arg,shouldsave);
+ 	    break;
+ 	case A_CMD:
+ 	    shouldsave |= cmd_tosave(arg[i].arg_ptr.arg_cmd,shouldsave);
+ 	    break;
+ 	case A_WORD:
+ 	case A_STAB:
+ 	case A_LVAL:
+ 	case A_READ:
+ 	case A_GLOB:
+ 	case A_ARYLEN:
+ 	case A_SINGLE:
+ 	case A_DOUBLE:
+ 	case A_BACKTICK:
+ 	    break;
+ 	case A_SPAT:
+ 	    shouldsave |= spat_tosave(arg[i].arg_ptr.arg_spat);
+ 	    break;
+ 	}
+     }
+     switch (arg->arg_type) {
+     case O_RETURN:
+ 	saw_return = TRUE;
+ 	break;
+     case O_EVAL:
+     case O_SUBR:
+ 	shouldsave = TRUE;
+ 	break;
+     }
+     if (willsave)
+ 	(void)apush(tosave,arg->arg_ptr.arg_str);
+     return shouldsave;
+ }
+ 
+ static int
+ spat_tosave(spat)
+ register SPAT *spat;
+ {
+     int shouldsave = FALSE;
+ 
+     if (spat->spat_runtime)
+ 	shouldsave |= arg_tosave(spat->spat_runtime,FALSE);
+     if (spat->spat_repl) {
+ 	shouldsave |= arg_tosave(spat->spat_repl,FALSE);
+     }
+ 
+     return shouldsave;
+ }
+ 


Index: llvm/test/Programs/MultiSource/Benchmarks/MallocBench/perl/consarg.c
diff -c /dev/null llvm/test/Programs/MultiSource/Benchmarks/MallocBench/perl/consarg.c:1.1.2.1
*** /dev/null	Mon Mar  1 17:59:23 2004
--- llvm/test/Programs/MultiSource/Benchmarks/MallocBench/perl/consarg.c	Mon Mar  1 17:59:12 2004
***************
*** 0 ****
--- 1,1200 ----
+ /* $RCSfile: consarg.c,v $$Revision: 1.1.2.1 $$Date: 2004/03/01 23:59:12 $
+  *
+  *    Copyright (c) 1989, Larry Wall
+  *
+  *    You may distribute under the terms of the GNU General Public License
+  *    as specified in the README file that comes with the perl 3.0 kit.
+  *
+  * $Log: consarg.c,v $
+  * Revision 1.1.2.1  2004/03/01 23:59:12  brukman
+  * Merge from trunk
+  *
+  * Revision 1.1  2004/02/17 22:21:15  criswell
+  * Initial commit of the perl Malloc Benchmark.  I've cheated a little by
+  * generating the yacc output files and committing them directly, but it was
+  * easier than disabling the Bison Voodoo that gets executed by default.
+  *
+  * Revision 4.0.1.1  91/04/11  17:38:34  lwall
+  * patch1: fixed "Bad free" error
+  * 
+  * Revision 4.0  91/03/20  01:06:15  lwall
+  * 4.0 baseline.
+  * 
+  */
+ 
+ #include "EXTERN.h"
+ #include "perl.h"
+ static int nothing_in_common();
+ static int arg_common();
+ static int spat_common();
+ 
+ ARG *
+ make_split(stab,arg,limarg)
+ register STAB *stab;
+ register ARG *arg;
+ ARG *limarg;
+ {
+     register SPAT *spat;
+ 
+     if (arg->arg_type != O_MATCH) {
+ 	Newz(201,spat,1,SPAT);
+ 	spat->spat_next = curstash->tbl_spatroot; /* link into spat list */
+ 	curstash->tbl_spatroot = spat;
+ 
+ 	spat->spat_runtime = arg;
+ 	arg = make_match(O_MATCH,stab2arg(A_STAB,defstab),spat);
+     }
+     Renew(arg,4,ARG);
+     arg->arg_len = 3;
+     if (limarg) {
+ 	if (limarg->arg_type == O_ITEM) {
+ 	    Copy(limarg+1,arg+3,1,ARG);
+ 	    limarg[1].arg_type = A_NULL;
+ 	    arg_free(limarg);
+ 	}
+ 	else {
+ 	    arg[3].arg_flags = 0;
+ 	    arg[3].arg_type = A_EXPR;
+ 	    arg[3].arg_ptr.arg_arg = limarg;
+ 	}
+     }
+     else
+ 	arg[3].arg_type = A_NULL;
+     arg->arg_type = O_SPLIT;
+     spat = arg[2].arg_ptr.arg_spat;
+     spat->spat_repl = stab2arg(A_STAB,aadd(stab));
+     if (spat->spat_short) {	/* exact match can bypass regexec() */
+ 	if (!((spat->spat_flags & SPAT_SCANFIRST) &&
+ 	    (spat->spat_flags & SPAT_ALL) )) {
+ 	    str_free(spat->spat_short);
+ 	    spat->spat_short = Nullstr;
+ 	}
+     }
+     return arg;
+ }
+ 
+ ARG *
+ mod_match(type,left,pat)
+ register ARG *left;
+ register ARG *pat;
+ {
+ 
+     register SPAT *spat;
+     register ARG *newarg;
+ 
+     if (!pat)
+ 	return Nullarg;
+ 
+     if ((pat->arg_type == O_MATCH ||
+ 	 pat->arg_type == O_SUBST ||
+ 	 pat->arg_type == O_TRANS ||
+ 	 pat->arg_type == O_SPLIT
+ 	) &&
+ 	pat[1].arg_ptr.arg_stab == defstab ) {
+ 	switch (pat->arg_type) {
+ 	case O_MATCH:
+ 	    newarg = make_op(type == O_MATCH ? O_MATCH : O_NMATCH,
+ 		pat->arg_len,
+ 		left,Nullarg,Nullarg);
+ 	    break;
+ 	case O_SUBST:
+ 	    newarg = l(make_op(type == O_MATCH ? O_SUBST : O_NSUBST,
+ 		pat->arg_len,
+ 		left,Nullarg,Nullarg));
+ 	    break;
+ 	case O_TRANS:
+ 	    newarg = l(make_op(type == O_MATCH ? O_TRANS : O_NTRANS,
+ 		pat->arg_len,
+ 		left,Nullarg,Nullarg));
+ 	    break;
+ 	case O_SPLIT:
+ 	    newarg = make_op(type == O_MATCH ? O_SPLIT : O_SPLIT,
+ 		pat->arg_len,
+ 		left,Nullarg,Nullarg);
+ 	    break;
+ 	}
+ 	if (pat->arg_len >= 2) {
+ 	    newarg[2].arg_type = pat[2].arg_type;
+ 	    newarg[2].arg_ptr = pat[2].arg_ptr;
+ 	    newarg[2].arg_len = pat[2].arg_len;
+ 	    newarg[2].arg_flags = pat[2].arg_flags;
+ 	    if (pat->arg_len >= 3) {
+ 		newarg[3].arg_type = pat[3].arg_type;
+ 		newarg[3].arg_ptr = pat[3].arg_ptr;
+ 		newarg[3].arg_len = pat[3].arg_len;
+ 		newarg[3].arg_flags = pat[3].arg_flags;
+ 	    }
+ 	}
+ 	free_arg(pat);
+     }
+     else {
+ 	Newz(202,spat,1,SPAT);
+ 	spat->spat_next = curstash->tbl_spatroot; /* link into spat list */
+ 	curstash->tbl_spatroot = spat;
+ 
+ 	spat->spat_runtime = pat;
+ 	newarg = make_op(type,2,left,Nullarg,Nullarg);
+ 	newarg[2].arg_type = A_SPAT | A_DONT;
+ 	newarg[2].arg_ptr.arg_spat = spat;
+     }
+ 
+     return newarg;
+ }
+ 
+ ARG *
+ make_op(type,newlen,arg1,arg2,arg3)
+ int type;
+ int newlen;
+ ARG *arg1;
+ ARG *arg2;
+ ARG *arg3;
+ {
+     register ARG *arg;
+     register ARG *chld;
+     register unsigned doarg;
+     register int i;
+     extern ARG *arg4;	/* should be normal arguments, really */
+     extern ARG *arg5;
+ 
+     arg = op_new(newlen);
+     arg->arg_type = type;
+     if (chld = arg1) {
+ 	if (chld->arg_type == O_ITEM &&
+ 	    (hoistable[ i = (chld[1].arg_type&A_MASK)] || i == A_LVAL ||
+ 	     (i == A_LEXPR &&
+ 	      (chld[1].arg_ptr.arg_arg->arg_type == O_LIST ||
+ 	       chld[1].arg_ptr.arg_arg->arg_type == O_ARRAY ||
+ 	       chld[1].arg_ptr.arg_arg->arg_type == O_HASH ))))
+ 	{
+ 	    arg[1].arg_type = chld[1].arg_type;
+ 	    arg[1].arg_ptr = chld[1].arg_ptr;
+ 	    arg[1].arg_flags |= chld[1].arg_flags;
+ 	    arg[1].arg_len = chld[1].arg_len;
+ 	    free_arg(chld);
+ 	}
+ 	else {
+ 	    arg[1].arg_type = A_EXPR;
+ 	    arg[1].arg_ptr.arg_arg = chld;
+ 	}
+     }
+     if (chld = arg2) {
+ 	if (chld->arg_type == O_ITEM && 
+ 	    (hoistable[chld[1].arg_type&A_MASK] || 
+ 	     (type == O_ASSIGN && 
+ 	      ((chld[1].arg_type == A_READ && !(arg[1].arg_type & A_DONT))
+ 		||
+ 	       (chld[1].arg_type == A_INDREAD && !(arg[1].arg_type & A_DONT))
+ 		||
+ 	       (chld[1].arg_type == A_GLOB && !(arg[1].arg_type & A_DONT))
+ 	      ) ) ) ) {
+ 	    arg[2].arg_type = chld[1].arg_type;
+ 	    arg[2].arg_ptr = chld[1].arg_ptr;
+ 	    arg[2].arg_len = chld[1].arg_len;
+ 	    free_arg(chld);
+ 	}
+ 	else {
+ 	    arg[2].arg_type = A_EXPR;
+ 	    arg[2].arg_ptr.arg_arg = chld;
+ 	}
+     }
+     if (chld = arg3) {
+ 	if (chld->arg_type == O_ITEM && hoistable[chld[1].arg_type&A_MASK]) {
+ 	    arg[3].arg_type = chld[1].arg_type;
+ 	    arg[3].arg_ptr = chld[1].arg_ptr;
+ 	    arg[3].arg_len = chld[1].arg_len;
+ 	    free_arg(chld);
+ 	}
+ 	else {
+ 	    arg[3].arg_type = A_EXPR;
+ 	    arg[3].arg_ptr.arg_arg = chld;
+ 	}
+     }
+     if (newlen >= 4 && (chld = arg4)) {
+ 	if (chld->arg_type == O_ITEM && hoistable[chld[1].arg_type&A_MASK]) {
+ 	    arg[4].arg_type = chld[1].arg_type;
+ 	    arg[4].arg_ptr = chld[1].arg_ptr;
+ 	    arg[4].arg_len = chld[1].arg_len;
+ 	    free_arg(chld);
+ 	}
+ 	else {
+ 	    arg[4].arg_type = A_EXPR;
+ 	    arg[4].arg_ptr.arg_arg = chld;
+ 	}
+     }
+     if (newlen >= 5 && (chld = arg5)) {
+ 	if (chld->arg_type == O_ITEM && hoistable[chld[1].arg_type&A_MASK]) {
+ 	    arg[5].arg_type = chld[1].arg_type;
+ 	    arg[5].arg_ptr = chld[1].arg_ptr;
+ 	    arg[5].arg_len = chld[1].arg_len;
+ 	    free_arg(chld);
+ 	}
+ 	else {
+ 	    arg[5].arg_type = A_EXPR;
+ 	    arg[5].arg_ptr.arg_arg = chld;
+ 	}
+     }
+     doarg = opargs[type];
+     for (i = 1; i <= newlen; ++i) {
+ 	if (!(doarg & 1))
+ 	    arg[i].arg_type |= A_DONT;
+ 	if (doarg & 2)
+ 	    arg[i].arg_flags |= AF_ARYOK;
+ 	doarg >>= 2;
+     }
+ #ifdef DEBUGGING
+     if (debug & 16) {
+ 	fprintf(stderr,"%lx <= make_op(%s",arg,opname[arg->arg_type]);
+ 	if (arg1)
+ 	    fprintf(stderr,",%s=%lx",
+ 		argname[arg[1].arg_type&A_MASK],arg[1].arg_ptr.arg_arg);
+ 	if (arg2)
+ 	    fprintf(stderr,",%s=%lx",
+ 		argname[arg[2].arg_type&A_MASK],arg[2].arg_ptr.arg_arg);
+ 	if (arg3)
+ 	    fprintf(stderr,",%s=%lx",
+ 		argname[arg[3].arg_type&A_MASK],arg[3].arg_ptr.arg_arg);
+ 	if (newlen >= 4)
+ 	    fprintf(stderr,",%s=%lx",
+ 		argname[arg[4].arg_type&A_MASK],arg[4].arg_ptr.arg_arg);
+ 	if (newlen >= 5)
+ 	    fprintf(stderr,",%s=%lx",
+ 		argname[arg[5].arg_type&A_MASK],arg[5].arg_ptr.arg_arg);
+ 	fprintf(stderr,")\n");
+     }
+ #endif
+     evalstatic(arg);		/* see if we can consolidate anything */
+     return arg;
+ }
+ 
+ void
+ evalstatic(arg)
+ register ARG *arg;
+ {
+     register STR *str;
+     register STR *s1;
+     register STR *s2;
+     double value;		/* must not be register */
+     register char *tmps;
+     int i;
+     unsigned long tmplong;
+     long tmp2;
+     double exp(), log(), sqrt(), modf();
+     char *crypt();
+     double sin(), cos(), atan2(), pow();
+ 
+     if (!arg || !arg->arg_len)
+ 	return;
+ 
+     if ((arg[1].arg_type == A_SINGLE || arg->arg_type == O_AELEM) &&
+ 	(arg->arg_len == 1 || arg[2].arg_type == A_SINGLE) ) {
+ 	str = Str_new(20,0);
+ 	s1 = arg[1].arg_ptr.arg_str;
+ 	if (arg->arg_len > 1)
+ 	    s2 = arg[2].arg_ptr.arg_str;
+ 	else
+ 	    s2 = Nullstr;
+ 	switch (arg->arg_type) {
+ 	case O_AELEM:
+ 	    i = (int)str_gnum(s2);
+ 	    if (i < 32767 && i >= 0) {
+ 		arg->arg_type = O_ITEM;
+ 		arg->arg_len = 1;
+ 		arg[1].arg_type = A_ARYSTAB;	/* $abc[123] is hoistable now */
+ 		arg[1].arg_len = i;
+ 		str_free(s2);
+ 		arg[2].arg_type = A_NULL;
+ 		arg[2].arg_ptr.arg_str = Nullstr;
+ 	    }
+ 	    /* FALL THROUGH */
+ 	default:
+ 	    str_free(str);
+ 	    str = Nullstr;		/* can't be evaluated yet */
+ 	    break;
+ 	case O_CONCAT:
+ 	    str_sset(str,s1);
+ 	    str_scat(str,s2);
+ 	    break;
+ 	case O_REPEAT:
+ 	    i = (int)str_gnum(s2);
+ 	    tmps = str_get(s1);
+ 	    str_nset(str,"",0);
+ 	    STR_GROW(str, i * s1->str_cur + 1);
+ 	    repeatcpy(str->str_ptr, tmps, s1->str_cur, i);
+ 	    str->str_cur = i * s1->str_cur;
+ 	    str->str_ptr[str->str_cur] = '\0';
+ 	    break;
+ 	case O_MULTIPLY:
+ 	    value = str_gnum(s1);
+ 	    str_numset(str,value * str_gnum(s2));
+ 	    break;
+ 	case O_DIVIDE:
+ 	    value = str_gnum(s2);
+ 	    if (value == 0.0)
+ 		yyerror("Illegal division by constant zero");
+ 	    else
+ #ifdef cray
+ 	    /* insure that 20./5. == 4. */
+ 	    {
+ 		double x;
+ 		int    k;
+ 		x =  str_gnum(s1);
+ 		if ((double)(int)x     == x &&
+ 		    (double)(int)value == value &&
+ 		    (k = (int)x/(int)value)*(int)value == (int)x) {
+ 		    value = k;
+ 		} else {
+ 		    value = x/value;
+ 		}
+ 		str_numset(str,value);
+ 	    }
+ #else
+ 	    str_numset(str,str_gnum(s1) / value);
+ #endif
+ 	    break;
+ 	case O_MODULO:
+ 	    tmplong = (unsigned long)str_gnum(s2);
+ 	    if (tmplong == 0L) {
+ 		yyerror("Illegal modulus of constant zero");
+ 		break;
+ 	    }
+ 	    tmp2 = (long)str_gnum(s1);
+ #ifndef lint
+ 	    if (tmp2 >= 0)
+ 		str_numset(str,(double)(tmp2 % tmplong));
+ 	    else
+ 		str_numset(str,(double)((tmplong-((-tmp2 - 1) % tmplong)) - 1));
+ #else
+ 	    tmp2 = tmp2;
+ #endif
+ 	    break;
+ 	case O_ADD:
+ 	    value = str_gnum(s1);
+ 	    str_numset(str,value + str_gnum(s2));
+ 	    break;
+ 	case O_SUBTRACT:
+ 	    value = str_gnum(s1);
+ 	    str_numset(str,value - str_gnum(s2));
+ 	    break;
+ 	case O_LEFT_SHIFT:
+ 	    value = str_gnum(s1);
+ 	    i = (int)str_gnum(s2);
+ #ifndef lint
+ 	    str_numset(str,(double)(((long)value) << i));
+ #endif
+ 	    break;
+ 	case O_RIGHT_SHIFT:
+ 	    value = str_gnum(s1);
+ 	    i = (int)str_gnum(s2);
+ #ifndef lint
+ 	    str_numset(str,(double)(((long)value) >> i));
+ #endif
+ 	    break;
+ 	case O_LT:
+ 	    value = str_gnum(s1);
+ 	    str_numset(str,(value < str_gnum(s2)) ? 1.0 : 0.0);
+ 	    break;
+ 	case O_GT:
+ 	    value = str_gnum(s1);
+ 	    str_numset(str,(value > str_gnum(s2)) ? 1.0 : 0.0);
+ 	    break;
+ 	case O_LE:
+ 	    value = str_gnum(s1);
+ 	    str_numset(str,(value <= str_gnum(s2)) ? 1.0 : 0.0);
+ 	    break;
+ 	case O_GE:
+ 	    value = str_gnum(s1);
+ 	    str_numset(str,(value >= str_gnum(s2)) ? 1.0 : 0.0);
+ 	    break;
+ 	case O_EQ:
+ 	    if (dowarn) {
+ 		if ((!s1->str_nok && !looks_like_number(s1)) ||
+ 		    (!s2->str_nok && !looks_like_number(s2)) )
+ 		    warn("Possible use of == on string value");
+ 	    }
+ 	    value = str_gnum(s1);
+ 	    str_numset(str,(value == str_gnum(s2)) ? 1.0 : 0.0);
+ 	    break;
+ 	case O_NE:
+ 	    value = str_gnum(s1);
+ 	    str_numset(str,(value != str_gnum(s2)) ? 1.0 : 0.0);
+ 	    break;
+ 	case O_NCMP:
+ 	    value = str_gnum(s1);
+ 	    value -= str_gnum(s2);
+ 	    if (value > 0.0)
+ 		value = 1.0;
+ 	    else if (value < 0.0)
+ 		value = -1.0;
+ 	    str_numset(str,value);
+ 	    break;
+ 	case O_BIT_AND:
+ 	    value = str_gnum(s1);
+ #ifndef lint
+ 	    str_numset(str,(double)(U_L(value) & U_L(str_gnum(s2))));
+ #endif
+ 	    break;
+ 	case O_XOR:
+ 	    value = str_gnum(s1);
+ #ifndef lint
+ 	    str_numset(str,(double)(U_L(value) ^ U_L(str_gnum(s2))));
+ #endif
+ 	    break;
+ 	case O_BIT_OR:
+ 	    value = str_gnum(s1);
+ #ifndef lint
+ 	    str_numset(str,(double)(U_L(value) | U_L(str_gnum(s2))));
+ #endif
+ 	    break;
+ 	case O_AND:
+ 	    if (str_true(s1))
+ 		str_sset(str,s2);
+ 	    else
+ 		str_sset(str,s1);
+ 	    break;
+ 	case O_OR:
+ 	    if (str_true(s1))
+ 		str_sset(str,s1);
+ 	    else
+ 		str_sset(str,s2);
+ 	    break;
+ 	case O_COND_EXPR:
+ 	    if ((arg[3].arg_type & A_MASK) != A_SINGLE) {
+ 		str_free(str);
+ 		str = Nullstr;
+ 	    }
+ 	    else {
+ 		if (str_true(s1))
+ 		    str_sset(str,s2);
+ 		else
+ 		    str_sset(str,arg[3].arg_ptr.arg_str);
+ 		str_free(arg[3].arg_ptr.arg_str);
+ 		arg[3].arg_ptr.arg_str = Nullstr;
+ 	    }
+ 	    break;
+ 	case O_NEGATE:
+ 	    str_numset(str,(double)(-str_gnum(s1)));
+ 	    break;
+ 	case O_NOT:
+ 	    str_numset(str,(double)(!str_true(s1)));
+ 	    break;
+ 	case O_COMPLEMENT:
+ #ifndef lint
+ 	    str_numset(str,(double)(~U_L(str_gnum(s1))));
+ #endif
+ 	    break;
+ 	case O_SIN:
+ 	    str_numset(str,sin(str_gnum(s1)));
+ 	    break;
+ 	case O_COS:
+ 	    str_numset(str,cos(str_gnum(s1)));
+ 	    break;
+ 	case O_ATAN2:
+ 	    value = str_gnum(s1);
+ 	    str_numset(str,atan2(value, str_gnum(s2)));
+ 	    break;
+ 	case O_POW:
+ 	    value = str_gnum(s1);
+ 	    str_numset(str,pow(value, str_gnum(s2)));
+ 	    break;
+ 	case O_LENGTH:
+ 	    str_numset(str, (double)str_len(s1));
+ 	    break;
+ 	case O_SLT:
+ 	    str_numset(str,(double)(str_cmp(s1,s2) < 0));
+ 	    break;
+ 	case O_SGT:
+ 	    str_numset(str,(double)(str_cmp(s1,s2) > 0));
+ 	    break;
+ 	case O_SLE:
+ 	    str_numset(str,(double)(str_cmp(s1,s2) <= 0));
+ 	    break;
+ 	case O_SGE:
+ 	    str_numset(str,(double)(str_cmp(s1,s2) >= 0));
+ 	    break;
+ 	case O_SEQ:
+ 	    str_numset(str,(double)(str_eq(s1,s2)));
+ 	    break;
+ 	case O_SNE:
+ 	    str_numset(str,(double)(!str_eq(s1,s2)));
+ 	    break;
+ 	case O_SCMP:
+ 	    str_numset(str,(double)(str_cmp(s1,s2)));
+ 	    break;
+ 	case O_CRYPT:
+ #ifdef HAS_CRYPT
+ 	    tmps = str_get(s1);
+ 	    str_set(str,crypt(tmps,str_get(s2)));
+ #else
+ 	    yyerror(
+ 	    "The crypt() function is unimplemented due to excessive paranoia.");
+ #endif
+ 	    break;
+ 	case O_EXP:
+ 	    str_numset(str,exp(str_gnum(s1)));
+ 	    break;
+ 	case O_LOG:
+ 	    str_numset(str,log(str_gnum(s1)));
+ 	    break;
+ 	case O_SQRT:
+ 	    str_numset(str,sqrt(str_gnum(s1)));
+ 	    break;
+ 	case O_INT:
+ 	    value = str_gnum(s1);
+ 	    if (value >= 0.0)
+ 		(void)modf(value,&value);
+ 	    else {
+ 		(void)modf(-value,&value);
+ 		value = -value;
+ 	    }
+ 	    str_numset(str,value);
+ 	    break;
+ 	case O_ORD:
+ #ifndef I286
+ 	    str_numset(str,(double)(*str_get(s1)));
+ #else
+ 	    {
+ 		int  zapc;
+ 		char *zaps;
+ 
+ 		zaps = str_get(s1);
+ 		zapc = (int) *zaps;
+ 		str_numset(str,(double)(zapc));
+ 	    }
+ #endif
+ 	    break;
+ 	}
+ 	if (str) {
+ 	    arg->arg_type = O_ITEM;	/* note arg1 type is already SINGLE */
+ 	    str_free(s1);
+ 	    arg[1].arg_ptr.arg_str = str;
+ 	    if (s2) {
+ 		str_free(s2);
+ 		arg[2].arg_ptr.arg_str = Nullstr;
+ 		arg[2].arg_type = A_NULL;
+ 	    }
+ 	}
+     }
+ }
+ 
+ ARG *
+ l(arg)
+ register ARG *arg;
+ {
+     register int i;
+     register ARG *arg1;
+     register ARG *arg2;
+     SPAT *spat;
+     int arghog = 0;
+ 
+     i = arg[1].arg_type & A_MASK;
+ 
+     arg->arg_flags |= AF_COMMON;	/* assume something in common */
+ 					/* which forces us to copy things */
+ 
+     if (i == A_ARYLEN) {
+ 	arg[1].arg_type = A_LARYLEN;
+ 	return arg;
+     }
+     if (i == A_ARYSTAB) {
+ 	arg[1].arg_type = A_LARYSTAB;
+ 	return arg;
+     }
+ 
+     /* see if it's an array reference */
+ 
+     if (i == A_EXPR || i == A_LEXPR) {
+ 	arg1 = arg[1].arg_ptr.arg_arg;
+ 
+ 	if (arg1->arg_type == O_LIST || arg1->arg_type == O_ITEM) {
+ 						/* assign to list */
+ 	    if (arg->arg_len > 1) {
+ 		dehoist(arg,2);
+ 		arg2 = arg[2].arg_ptr.arg_arg;
+ 		if (nothing_in_common(arg1,arg2))
+ 		    arg->arg_flags &= ~AF_COMMON;
+ 		if (arg->arg_type == O_ASSIGN) {
+ 		    if (arg1->arg_flags & AF_LOCAL)
+ 			arg->arg_flags |= AF_LOCAL;
+ 		    arg[1].arg_flags |= AF_ARYOK;
+ 		    arg[2].arg_flags |= AF_ARYOK;
+ 		}
+ 	    }
+ 	    else if (arg->arg_type != O_CHOP)
+ 		arg->arg_type = O_ASSIGN;	/* possible local(); */
+ 	    for (i = arg1->arg_len; i >= 1; i--) {
+ 		switch (arg1[i].arg_type) {
+ 		case A_STAR: case A_LSTAR:
+ 		    arg1[i].arg_type = A_LSTAR;
+ 		    break;
+ 		case A_STAB: case A_LVAL:
+ 		    arg1[i].arg_type = A_LVAL;
+ 		    break;
+ 		case A_ARYLEN: case A_LARYLEN:
+ 		    arg1[i].arg_type = A_LARYLEN;
+ 		    break;
+ 		case A_ARYSTAB: case A_LARYSTAB:
+ 		    arg1[i].arg_type = A_LARYSTAB;
+ 		    break;
+ 		case A_EXPR: case A_LEXPR:
+ 		    arg1[i].arg_type = A_LEXPR;
+ 		    switch(arg1[i].arg_ptr.arg_arg->arg_type) {
+ 		    case O_ARRAY: case O_LARRAY:
+ 			arg1[i].arg_ptr.arg_arg->arg_type = O_LARRAY;
+ 			arghog = 1;
+ 			break;
+ 		    case O_AELEM: case O_LAELEM:
+ 			arg1[i].arg_ptr.arg_arg->arg_type = O_LAELEM;
+ 			break;
+ 		    case O_HASH: case O_LHASH:
+ 			arg1[i].arg_ptr.arg_arg->arg_type = O_LHASH;
+ 			arghog = 1;
+ 			break;
+ 		    case O_HELEM: case O_LHELEM:
+ 			arg1[i].arg_ptr.arg_arg->arg_type = O_LHELEM;
+ 			break;
+ 		    case O_ASLICE: case O_LASLICE:
+ 			arg1[i].arg_ptr.arg_arg->arg_type = O_LASLICE;
+ 			break;
+ 		    case O_HSLICE: case O_LHSLICE:
+ 			arg1[i].arg_ptr.arg_arg->arg_type = O_LHSLICE;
+ 			break;
+ 		    default:
+ 			goto ill_item;
+ 		    }
+ 		    break;
+ 		default:
+ 		  ill_item:
+ 		    (void)sprintf(tokenbuf, "Illegal item (%s) as lvalue",
+ 		      argname[arg1[i].arg_type&A_MASK]);
+ 		    yyerror(tokenbuf);
+ 		}
+ 	    }
+ 	    if (arg->arg_len > 1) {
+ 		if (arg2->arg_type == O_SPLIT && !arg2[3].arg_type && !arghog) {
+ 		    arg2[3].arg_type = A_SINGLE;
+ 		    arg2[3].arg_ptr.arg_str =
+ 		      str_nmake((double)arg1->arg_len + 1); /* limit split len*/
+ 		}
+ 	    }
+ 	}
+ 	else if (arg1->arg_type == O_AELEM || arg1->arg_type == O_LAELEM)
+ 	    if (arg->arg_type == O_DEFINED)
+ 		arg1->arg_type = O_AELEM;
+ 	    else
+ 		arg1->arg_type = O_LAELEM;
+ 	else if (arg1->arg_type == O_ARRAY || arg1->arg_type == O_LARRAY) {
+ 	    arg1->arg_type = O_LARRAY;
+ 	    if (arg->arg_len > 1) {
+ 		dehoist(arg,2);
+ 		arg2 = arg[2].arg_ptr.arg_arg;
+ 		if (arg2->arg_type == O_SPLIT) { /* use split's builtin =?*/
+ 		    spat = arg2[2].arg_ptr.arg_spat;
+ 		    if (!(spat->spat_flags & SPAT_ONCE) &&
+ 		      nothing_in_common(arg1,spat->spat_repl)) {
+ 			spat->spat_repl[1].arg_ptr.arg_stab =
+ 			    arg1[1].arg_ptr.arg_stab;
+ 			arg1[1].arg_ptr.arg_stab = Nullstab;
+ 			spat->spat_flags |= SPAT_ONCE;
+ 			arg_free(arg1);	/* recursive */
+ 			arg[1].arg_ptr.arg_arg = Nullarg;
+ 			free_arg(arg);	/* non-recursive */
+ 			return arg2;	/* split has builtin assign */
+ 		    }
+ 		}
+ 		else if (nothing_in_common(arg1,arg2))
+ 		    arg->arg_flags &= ~AF_COMMON;
+ 		if (arg->arg_type == O_ASSIGN) {
+ 		    arg[1].arg_flags |= AF_ARYOK;
+ 		    arg[2].arg_flags |= AF_ARYOK;
+ 		}
+ 	    }
+ 	    else if (arg->arg_type == O_ASSIGN)
+ 		arg[1].arg_flags |= AF_ARYOK;
+ 	}
+ 	else if (arg1->arg_type == O_HELEM || arg1->arg_type == O_LHELEM)
+ 	    if (arg->arg_type == O_DEFINED)
+ 		arg1->arg_type = O_HELEM;	/* avoid creating one */
+ 	    else
+ 		arg1->arg_type = O_LHELEM;
+ 	else if (arg1->arg_type == O_HASH || arg1->arg_type == O_LHASH) {
+ 	    arg1->arg_type = O_LHASH;
+ 	    if (arg->arg_len > 1) {
+ 		dehoist(arg,2);
+ 		arg2 = arg[2].arg_ptr.arg_arg;
+ 		if (nothing_in_common(arg1,arg2))
+ 		    arg->arg_flags &= ~AF_COMMON;
+ 		if (arg->arg_type == O_ASSIGN) {
+ 		    arg[1].arg_flags |= AF_ARYOK;
+ 		    arg[2].arg_flags |= AF_ARYOK;
+ 		}
+ 	    }
+ 	    else if (arg->arg_type == O_ASSIGN)
+ 		arg[1].arg_flags |= AF_ARYOK;
+ 	}
+ 	else if (arg1->arg_type == O_ASLICE) {
+ 	    arg1->arg_type = O_LASLICE;
+ 	    if (arg->arg_type == O_ASSIGN) {
+ 		dehoist(arg,2);
+ 		arg[1].arg_flags |= AF_ARYOK;
+ 		arg[2].arg_flags |= AF_ARYOK;
+ 	    }
+ 	}
+ 	else if (arg1->arg_type == O_HSLICE) {
+ 	    arg1->arg_type = O_LHSLICE;
+ 	    if (arg->arg_type == O_ASSIGN) {
+ 		dehoist(arg,2);
+ 		arg[1].arg_flags |= AF_ARYOK;
+ 		arg[2].arg_flags |= AF_ARYOK;
+ 	    }
+ 	}
+ 	else if ((arg->arg_type == O_DEFINED || arg->arg_type == O_UNDEF) &&
+ 	  (arg1->arg_type == (perldb ? O_DBSUBR : O_SUBR)) ) {
+ 	    arg[1].arg_type |= A_DONT;
+ 	}
+ 	else if (arg1->arg_type == O_SUBSTR || arg1->arg_type == O_VEC) {
+ 	    (void)l(arg1);
+ 	    Renewc(arg1->arg_ptr.arg_str, 1, struct lstring, STR);
+ 			/* grow string struct to hold an lstring struct */
+ 	}
+ 	else if (arg1->arg_type == O_ASSIGN) {
+ /*	    if (arg->arg_type == O_CHOP)
+ 		arg[1].arg_flags &= ~AF_ARYOK;	/* grandfather chop idiom */
+ 	}
+ 	else {
+ 	    (void)sprintf(tokenbuf,
+ 	      "Illegal expression (%s) as lvalue",opname[arg1->arg_type]);
+ 	    yyerror(tokenbuf);
+ 	}
+ 	arg[1].arg_type = A_LEXPR | (arg[1].arg_type & A_DONT);
+ 	if (arg->arg_type == O_ASSIGN && (arg1[1].arg_flags & AF_ARYOK)) {
+ 	    arg[1].arg_flags |= AF_ARYOK;
+ 	    if (arg->arg_len > 1)
+ 		arg[2].arg_flags |= AF_ARYOK;
+ 	}
+ #ifdef DEBUGGING
+ 	if (debug & 16)
+ 	    fprintf(stderr,"lval LEXPR\n");
+ #endif
+ 	return arg;
+     }
+     if (i == A_STAR || i == A_LSTAR) {
+ 	arg[1].arg_type = A_LSTAR | (arg[1].arg_type & A_DONT);
+ 	return arg;
+     }
+ 
+     /* not an array reference, should be a register name */
+ 
+     if (i != A_STAB && i != A_LVAL) {
+ 	(void)sprintf(tokenbuf,
+ 	  "Illegal item (%s) as lvalue",argname[arg[1].arg_type&A_MASK]);
+ 	yyerror(tokenbuf);
+     }
+     arg[1].arg_type = A_LVAL | (arg[1].arg_type & A_DONT);
+ #ifdef DEBUGGING
+     if (debug & 16)
+ 	fprintf(stderr,"lval LVAL\n");
+ #endif
+     return arg;
+ }
+ 
+ ARG *
+ fixl(type,arg)
+ int type;
+ ARG *arg;
+ {
+     if (type == O_DEFINED || type == O_UNDEF) {
+ 	if (arg->arg_type != O_ITEM)
+ 	    arg = hide_ary(arg);
+ 	if (arg->arg_type == O_ITEM) {
+ 	    type = arg[1].arg_type & A_MASK;
+ 	    if (type == A_EXPR || type == A_LEXPR)
+ 		arg[1].arg_type = A_LEXPR|A_DONT;
+ 	}
+     }
+     return arg;
+ }
+ 
+ dehoist(arg,i)
+ ARG *arg;
+ {
+     ARG *tmparg;
+ 
+     if (arg[i].arg_type != A_EXPR) {	/* dehoist */
+ 	tmparg = make_op(O_ITEM,1,Nullarg,Nullarg,Nullarg);
+ 	tmparg[1] = arg[i];
+ 	arg[i].arg_ptr.arg_arg = tmparg;
+ 	arg[i].arg_type = A_EXPR;
+     }
+ }
+ 
+ ARG *
+ addflags(i,flags,arg)
+ register ARG *arg;
+ {
+     arg[i].arg_flags |= flags;
+     return arg;
+ }
+ 
+ ARG *
+ hide_ary(arg)
+ ARG *arg;
+ {
+     if (arg->arg_type == O_ARRAY || arg->arg_type == O_HASH)
+ 	return make_op(O_ITEM,1,arg,Nullarg,Nullarg);
+     return arg;
+ }
+ 
+ /* maybe do a join on multiple array dimensions */
+ 
+ ARG *
+ jmaybe(arg)
+ register ARG *arg;
+ {
+     if (arg && arg->arg_type == O_COMMA) {
+ 	arg = listish(arg);
+ 	arg = make_op(O_JOIN, 2,
+ 	    stab2arg(A_STAB,stabent(";",TRUE)),
+ 	    make_list(arg),
+ 	    Nullarg);
+     }
+     return arg;
+ }
+ 
+ ARG *
+ make_list(arg)
+ register ARG *arg;
+ {
+     register int i;
+     register ARG *node;
+     register ARG *nxtnode;
+     register int j;
+     STR *tmpstr;
+ 
+     if (!arg) {
+ 	arg = op_new(0);
+ 	arg->arg_type = O_LIST;
+     }
+     if (arg->arg_type != O_COMMA) {
+ 	if (arg->arg_type != O_ARRAY)
+ 	    arg->arg_flags |= AF_LISTISH;	/* see listish() below */
+ 	    arg->arg_flags |= AF_LISTISH;	/* see listish() below */
+ 	return arg;
+     }
+     for (i = 2, node = arg; ; i++) {
+ 	if (node->arg_len < 2)
+ 	    break;
+         if (node[1].arg_type != A_EXPR)
+ 	    break;
+ 	node = node[1].arg_ptr.arg_arg;
+ 	if (node->arg_type != O_COMMA)
+ 	    break;
+     }
+     if (i > 2) {
+ 	node = arg;
+ 	arg = op_new(i);
+ 	tmpstr = arg->arg_ptr.arg_str;
+ #ifdef STRUCTCOPY
+ 	*arg = *node;		/* copy everything except the STR */
+ #else
+ 	(void)bcopy((char *)node, (char *)arg, sizeof(ARG));
+ #endif
+ 	arg->arg_ptr.arg_str = tmpstr;
+ 	for (j = i; ; ) {
+ #ifdef STRUCTCOPY
+ 	    arg[j] = node[2];
+ #else
+ 	    (void)bcopy((char *)(node+2), (char *)(arg+j), sizeof(ARG));
+ #endif
+ 	    arg[j].arg_flags |= AF_ARYOK;
+ 	    --j;		/* Bug in Xenix compiler */
+ 	    if (j < 2) {
+ #ifdef STRUCTCOPY
+ 		arg[1] = node[1];
+ #else
+ 		(void)bcopy((char *)(node+1), (char *)(arg+1), sizeof(ARG));
+ #endif
+ 		free_arg(node);
+ 		break;
+ 	    }
+ 	    nxtnode = node[1].arg_ptr.arg_arg;
+ 	    free_arg(node);
+ 	    node = nxtnode;
+ 	}
+     }
+     arg[1].arg_flags |= AF_ARYOK;
+     arg[2].arg_flags |= AF_ARYOK;
+     arg->arg_type = O_LIST;
+     arg->arg_len = i;
+     return arg;
+ }
+ 
+ /* turn a single item into a list */
+ 
+ ARG *
+ listish(arg)
+ ARG *arg;
+ {
+     if (arg->arg_flags & AF_LISTISH)
+ 	arg = make_op(O_LIST,1,arg,Nullarg,Nullarg);
+     return arg;
+ }
+ 
+ ARG *
+ maybelistish(optype, arg)
+ int optype;
+ ARG *arg;
+ {
+     ARG *tmparg = arg;
+ 
+     if (optype == O_RETURN && arg->arg_type == O_ITEM &&
+       arg[1].arg_type == A_EXPR && (tmparg = arg[1].arg_ptr.arg_arg) &&
+       ((tmparg->arg_flags & AF_LISTISH) || (tmparg->arg_type == O_ARRAY) )) {
+ 	tmparg = listish(tmparg);
+ 	free_arg(arg);
+ 	arg = tmparg;
+     }
+     else if (optype == O_PRTF ||
+       (arg->arg_type == O_ASLICE || arg->arg_type == O_HSLICE ||
+        arg->arg_type == O_F_OR_R) )
+ 	arg = listish(arg);
+     return arg;
+ }
+ 
+ /* mark list of local variables */
+ 
+ ARG *
+ localize(arg)
+ ARG *arg;
+ {
+     arg->arg_flags |= AF_LOCAL;
+     return arg;
+ }
+ 
+ ARG *
+ rcatmaybe(arg)
+ ARG *arg;
+ {
+     ARG *arg2;
+ 
+     if (arg->arg_type == O_CONCAT && arg[2].arg_type == A_EXPR) {
+ 	arg2 = arg[2].arg_ptr.arg_arg;
+ 	if (arg2->arg_type == O_ITEM && arg2[1].arg_type == A_READ) {
+ 	    arg->arg_type = O_RCAT;	
+ 	    arg[2].arg_type = arg2[1].arg_type;
+ 	    arg[2].arg_ptr = arg2[1].arg_ptr;
+ 	    free_arg(arg2);
+ 	}
+     }
+     return arg;
+ }
+ 
+ ARG *
+ stab2arg(atype,stab)
+ int atype;
+ register STAB *stab;
+ {
+     register ARG *arg;
+ 
+     arg = op_new(1);
+     arg->arg_type = O_ITEM;
+     arg[1].arg_type = atype;
+     arg[1].arg_ptr.arg_stab = stab;
+     return arg;
+ }
+ 
+ ARG *
+ cval_to_arg(cval)
+ register char *cval;
+ {
+     register ARG *arg;
+ 
+     arg = op_new(1);
+     arg->arg_type = O_ITEM;
+     arg[1].arg_type = A_SINGLE;
+     arg[1].arg_ptr.arg_str = str_make(cval,0);
+     Safefree(cval);
+     return arg;
+ }
+ 
+ ARG *
+ op_new(numargs)
+ int numargs;
+ {
+     register ARG *arg;
+ 
+     Newz(203,arg, numargs + 1, ARG);
+     arg->arg_ptr.arg_str = Str_new(21,0);
+     arg->arg_len = numargs;
+     return arg;
+ }
+ 
+ void
+ free_arg(arg)
+ ARG *arg;
+ {
+     str_free(arg->arg_ptr.arg_str);
+     Safefree(arg);
+ }
+ 
+ ARG *
+ make_match(type,expr,spat)
+ int type;
+ ARG *expr;
+ SPAT *spat;
+ {
+     register ARG *arg;
+ 
+     arg = make_op(type,2,expr,Nullarg,Nullarg);
+ 
+     arg[2].arg_type = A_SPAT|A_DONT;
+     arg[2].arg_ptr.arg_spat = spat;
+ #ifdef DEBUGGING
+     if (debug & 16)
+ 	fprintf(stderr,"make_match SPAT=%lx\n",(long)spat);
+ #endif
+ 
+     if (type == O_SUBST || type == O_NSUBST) {
+ 	if (arg[1].arg_type != A_STAB) {
+ 	    yyerror("Illegal lvalue");
+ 	}
+ 	arg[1].arg_type = A_LVAL;
+     }
+     return arg;
+ }
+ 
+ ARG *
+ cmd_to_arg(cmd)
+ CMD *cmd;
+ {
+     register ARG *arg;
+ 
+     arg = op_new(1);
+     arg->arg_type = O_ITEM;
+     arg[1].arg_type = A_CMD;
+     arg[1].arg_ptr.arg_cmd = cmd;
+     return arg;
+ }
+ 
+ /* Check two expressions to see if there is any identifier in common */
+ 
+ static int
+ nothing_in_common(arg1,arg2)
+ ARG *arg1;
+ ARG *arg2;
+ {
+     static int thisexpr = 0;	/* I don't care if this wraps */
+ 
+     thisexpr++;
+     if (arg_common(arg1,thisexpr,1))
+ 	return 0;	/* hit eval or do {} */
+     stab_lastexpr(defstab) = thisexpr;		/* pretend to hit @_ */
+     if (arg_common(arg2,thisexpr,0))
+ 	return 0;	/* hit identifier again */
+     return 1;
+ }
+ 
+ /* Recursively descend an expression and mark any identifier or check
+  * it to see if it was marked already.
+  */
+ 
+ static int
+ arg_common(arg,exprnum,marking)
+ register ARG *arg;
+ int exprnum;
+ int marking;
+ {
+     register int i;
+ 
+     if (!arg)
+ 	return 0;
+     for (i = arg->arg_len; i >= 1; i--) {
+ 	switch (arg[i].arg_type & A_MASK) {
+ 	case A_NULL:
+ 	    break;
+ 	case A_LEXPR:
+ 	case A_EXPR:
+ 	    if (arg_common(arg[i].arg_ptr.arg_arg,exprnum,marking))
+ 		return 1;
+ 	    break;
+ 	case A_CMD:
+ 	    return 1;		/* assume hanky panky */
+ 	case A_STAR:
+ 	case A_LSTAR:
+ 	case A_STAB:
+ 	case A_LVAL:
+ 	case A_ARYLEN:
+ 	case A_LARYLEN:
+ 	    if (marking)
+ 		stab_lastexpr(arg[i].arg_ptr.arg_stab) = exprnum;
+ 	    else if (stab_lastexpr(arg[i].arg_ptr.arg_stab) == exprnum)
+ 		return 1;
+ 	    break;
+ 	case A_DOUBLE:
+ 	case A_BACKTICK:
+ 	    {
+ 		register char *s = arg[i].arg_ptr.arg_str->str_ptr;
+ 		register char *send = s + arg[i].arg_ptr.arg_str->str_cur;
+ 		register STAB *stab;
+ 
+ 		while (*s) {
+ 		    if (*s == '$' && s[1]) {
+ 			s = scanident(s,send,tokenbuf);
+ 			stab = stabent(tokenbuf,TRUE);
+ 			if (marking)
+ 			    stab_lastexpr(stab) = exprnum;
+ 			else if (stab_lastexpr(stab) == exprnum)
+ 			    return 1;
+ 			continue;
+ 		    }
+ 		    else if (*s == '\\' && s[1])
+ 			s++;
+ 		    s++;
+ 		}
+ 	    }
+ 	    break;
+ 	case A_SPAT:
+ 	    if (spat_common(arg[i].arg_ptr.arg_spat,exprnum,marking))
+ 		return 1;
+ 	    break;
+ 	case A_READ:
+ 	case A_INDREAD:
+ 	case A_GLOB:
+ 	case A_WORD:
+ 	case A_SINGLE:
+ 	    break;
+ 	}
+     }
+     switch (arg->arg_type) {
+     case O_ARRAY:
+     case O_LARRAY:
+ 	if ((arg[1].arg_type & A_MASK) == A_STAB)
+ 	    (void)aadd(arg[1].arg_ptr.arg_stab);
+ 	break;
+     case O_HASH:
+     case O_LHASH:
+ 	if ((arg[1].arg_type & A_MASK) == A_STAB)
+ 	    (void)hadd(arg[1].arg_ptr.arg_stab);
+ 	break;
+     case O_EVAL:
+     case O_SUBR:
+     case O_DBSUBR:
+ 	return 1;
+     }
+     return 0;
+ }
+ 
+ static int
+ spat_common(spat,exprnum,marking)
+ register SPAT *spat;
+ int exprnum;
+ int marking;
+ {
+     if (spat->spat_runtime)
+ 	if (arg_common(spat->spat_runtime,exprnum,marking))
+ 	    return 1;
+     if (spat->spat_repl) {
+ 	if (arg_common(spat->spat_repl,exprnum,marking))
+ 	    return 1;
+     }
+     return 0;
+ }


Index: llvm/test/Programs/MultiSource/Benchmarks/MallocBench/perl/cscope.out
diff -c /dev/null llvm/test/Programs/MultiSource/Benchmarks/MallocBench/perl/cscope.out:1.1.2.1
*** /dev/null	Mon Mar  1 17:59:24 2004
--- llvm/test/Programs/MultiSource/Benchmarks/MallocBench/perl/cscope.out	Mon Mar  1 17:59:12 2004
***************
*** 0 ****
--- 1,194410 ----
+ cscope 15 /mounts/choi/disks/0/localhome/criswell/llvm/test/Programs/MultiSource/Benchmarks/MallocBench/perl               0000935393
+ 	@EXTERN.h
+ 
+ 14 #undeà
+ EXT
+ 
+ 
+ 15 
+ 	#EXT
+  
+ 
+ 	)
+ 
+ 17 #undeà
+ INIT
+ 
+ 
+ 18 
+ 	#INIT
+ (
+ x
+ )
+ 
+ 	)
+ 
+ 20 #undeà
+ DOINIT
+ 
+ 
+ 	@INTERN.h
+ 
+ 14 #undeà
+ EXT
+ 
+ 
+ 15 
+ 	#EXT
+ 
+ 
+ 	)
+ 
+ 17 #undeà
+ INIT
+ 
+ 
+ 18 
+ 	#INIT
+ (
+ x
+ èð
+ 	)
+ x
+ 
+ 20 
+ 	#DOINIT
+ 
+ 
+ 	)
+ 
+ 	@arg.h
+ 
+ 14 
+ 	#O_NULL
+  0
+ 
+ 	)
+ 
+ 15 
+ 	#O_RCAT
+  1
+ 
+ 	)
+ 
+ 16 
+ 	#O_ITEM
+  2
+ 
+ 	)
+ 
+ 17 
+ 	#O_SCALAR
+  3
+ 
+ 	)
+ 
+ 18 
+ 	#O_ITEM2
+  4
+ 
+ 	)
+ 
+ 19 
+ 	#O_ITEM3
+  5
+ 
+ 	)
+ 
+ 20 
+ 	#O_CONCAT
+  6
+ 
+ 	)
+ 
+ 21 
+ 	#O_REPEAT
+  7
+ 
+ 	)
+ 
+ 22 
+ 	#O_MATCH
+  8
+ 
+ 	)
+ 
+ 23 
+ 	#O_NMATCH
+  9
+ 
+ 	)
+ 
+ 24 
+ 	#O_SUBST
+  10
+ 
+ 	)
+ 
+ 25 
+ 	#O_NSUBST
+  11
+ 
+ 	)
+ 
+ 26 
+ 	#O_ASSIGN
+  12
+ 
+ 	)
+ 
+ 27 
+ 	#O_LOCAL
+  13
+ 
+ 	)
+ 
+ 28 
+ 	#O_AASSIGN
+  14
+ 
+ 	)
+ 
+ 29 
+ 	#O_SASSIGN
+  15
+ 
+ 	)
+ 
+ 30 
+ 	#O_CHOP
+  16
+ 
+ 	)
+ 
+ 31 
+ 	#O_DEFINED
+  17
+ 
+ 	)
+ 
+ 32 
+ 	#O_UNDEF
+  18
+ 
+ 	)
+ 
+ 33 
+ 	#O_STUDY
+  19
+ 
+ 	)
+ 
+ 34 
+ 	#O_POW
+  20
+ 
+ 	)
+ 
+ 35 
+ 	#O_MULTIPLY
+  21
+ 
+ 	)
+ 
+ 36 
+ 	#O_DIVIDE
+  22
+ 
+ 	)
+ 
+ 37 
+ 	#O_MODULO
+  23
+ 
+ 	)
+ 
+ 38 
+ 	#O_ADD
+  24
+ 
+ 	)
+ 
+ 39 
+ 	#O_SUBTRACT
+  25
+ 
+ 	)
+ 
+ 40 
+ 	#O_LEFT_SHIFT
+  26
+ 
+ 	)
+ 
+ 41 
+ 	#O_RIGHT_SHIFT
+  27
+ 
+ 	)
+ 
+ 42 
+ 	#O_LT
+  28
+ 
+ 	)
+ 
+ 43 
+ 	#O_GT
+  29
+ 
+ 	)
+ 
+ 44 
+ 	#O_LE
+  30
+ 
+ 	)
+ 
+ 45 
+ 	#O_GE
+  31
+ 
+ 	)
+ 
+ 46 
+ 	#O_EQ
+  32
+ 
+ 	)
+ 
+ 47 
+ 	#O_NE
+  33
+ 
+ 	)
+ 
+ 48 
+ 	#O_NCMP
+  34
+ 
+ 	)
+ 
+ 49 
+ 	#O_BIT_AND
+  35
+ 
+ 	)
+ 
+ 50 
+ 	#O_XOR
+  36
+ 
+ 	)
+ 
+ 51 
+ 	#O_BIT_OR
+  37
+ 
+ 	)
+ 
+ 52 
+ 	#O_AND
+  38
+ 
+ 	)
+ 
+ 53 
+ 	#O_OR
+  39
+ 
+ 	)
+ 
+ 54 
+ 	#O_COND_EXPR
+  40
+ 
+ 	)
+ 
+ 55 
+ 	#O_COMMA
+  41
+ 
+ 	)
+ 
+ 56 
+ 	#O_NEGATE
+  42
+ 
+ 	)
+ 
+ 57 
+ 	#O_NOT
+  43
+ 
+ 	)
+ 
+ 58 
+ 	#O_COMPLEMENT
+  44
+ 
+ 	)
+ 
+ 59 
+ 	#O_SELECT
+  45
+ 
+ 	)
+ 
+ 60 
+ 	#O_WRITE
+  46
+ 
+ 	)
+ 
+ 61 
+ 	#O_DBMOPEN
+  47
+ 
+ 	)
+ 
+ 62 
+ 	#O_DBMCLOSE
+  48
+ 
+ 	)
+ 
+ 63 
+ 	#O_OPEN
+  49
+ 
+ 	)
+ 
+ 64 
+ 	#O_TRANS
+  50
+ 
+ 	)
+ 
+ 65 
+ 	#O_NTRANS
+  51
+ 
+ 	)
+ 
+ 66 
+ 	#O_CLOSE
+  52
+ 
+ 	)
+ 
+ 67 
+ 	#O_EACH
+  53
+ 
+ 	)
+ 
+ 68 
+ 	#O_VALUES
+  54
+ 
+ 	)
+ 
+ 69 
+ 	#O_KEYS
+  55
+ 
+ 	)
+ 
+ 70 
+ 	#O_LARRAY
+  56
+ 
+ 	)
+ 
+ 71 
+ 	#O_ARRAY
+  57
+ 
+ 	)
+ 
+ 72 
+ 	#O_AELEM
+  58
+ 
+ 	)
+ 
+ 73 
+ 	#O_DELETE
+  59
+ 
+ 	)
+ 
+ 74 
+ 	#O_LHASH
+  60
+ 
+ 	)
+ 
+ 75 
+ 	#O_HASH
+  61
+ 
+ 	)
+ 
+ 76 
+ 	#O_HELEM
+  62
+ 
+ 	)
+ 
+ 77 
+ 	#O_LAELEM
+  63
+ 
+ 	)
+ 
+ 78 
+ 	#O_LHELEM
+  64
+ 
+ 	)
+ 
+ 79 
+ 	#O_LSLICE
+  65
+ 
+ 	)
+ 
+ 80 
+ 	#O_ASLICE
+  66
+ 
+ 	)
+ 
+ 81 
+ 	#O_HSLICE
+  67
+ 
+ 	)
+ 
+ 82 
+ 	#O_LASLICE
+  68
+ 
+ 	)
+ 
+ 83 
+ 	#O_LHSLICE
+  69
+ 
+ 	)
+ 
+ 84 
+ 	#O_SPLICE
+  70
+ 
+ 	)
+ 
+ 85 
+ 	#O_PUSH
+  71
+ 
+ 	)
+ 
+ 86 
+ 	#O_POP
+  72
+ 
+ 	)
+ 
+ 87 
+ 	#O_SHIFT
+  73
+ 
+ 	)
+ 
+ 88 
+ 	#O_UNPACK
+  74
+ 
+ 	)
+ 
+ 89 
+ 	#O_SPLIT
+  75
+ 
+ 	)
+ 
+ 90 
+ 	#O_LENGTH
+  76
+ 
+ 	)
+ 
+ 91 
+ 	#O_SPRINTF
+  77
+ 
+ 	)
+ 
+ 92 
+ 	#O_SUBSTR
+  78
+ 
+ 	)
+ 
+ 93 
+ 	#O_PACK
+  79
+ 
+ 	)
+ 
+ 94 
+ 	#O_GREP
+  80
+ 
+ 	)
+ 
+ 95 
+ 	#O_JOIN
+  81
+ 
+ 	)
+ 
+ 96 
+ 	#O_SLT
+  82
+ 
+ 	)
+ 
+ 97 
+ 	#O_SGT
+  83
+ 
+ 	)
+ 
+ 98 
+ 	#O_SLE
+  84
+ 
+ 	)
+ 
+ 99 
+ 	#O_SGE
+  85
+ 
+ 	)
+ 
+ 100 
+ 	#O_SEQ
+  86
+ 
+ 	)
+ 
+ 101 
+ 	#O_SNE
+  87
+ 
+ 	)
+ 
+ 102 
+ 	#O_SCMP
+  88
+ 
+ 	)
+ 
+ 103 
+ 	#O_SUBR
+  89
+ 
+ 	)
+ 
+ 104 
+ 	#O_DBSUBR
+  90
+ 
+ 	)
+ 
+ 105 
+ 	#O_CALLER
+  91
+ 
+ 	)
+ 
+ 106 
+ 	#O_SORT
+  92
+ 
+ 	)
+ 
+ 107 
+ 	#O_REVERSE
+  93
+ 
+ 	)
+ 
+ 108 
+ 	#O_WARN
+  94
+ 
+ 	)
+ 
+ 109 
+ 	#O_DIE
+  95
+ 
+ 	)
+ 
+ 110 
+ 	#O_PRTF
+  96
+ 
+ 	)
+ 
+ 111 
+ 	#O_PRINT
+  97
+ 
+ 	)
+ 
+ 112 
+ 	#O_CHDIR
+  98
+ 
+ 	)
+ 
+ 113 
+ 	#O_EXIT
+  99
+ 
+ 	)
+ 
+ 114 
+ 	#O_RESET
+  100
+ 
+ 	)
+ 
+ 115 
+ 	#O_LIST
+  101
+ 
+ 	)
+ 
+ 116 
+ 	#O_EOF
+  102
+ 
+ 	)
+ 
+ 117 
+ 	#O_GETC
+  103
+ 
+ 	)
+ 
+ 118 
+ 	#O_TELL
+  104
+ 
+ 	)
+ 
+ 119 
+ 	#O_RECV
+  105
+ 
+ 	)
+ 
+ 120 
+ 	#O_READ
+  106
+ 
+ 	)
+ 
+ 121 
+ 	#O_SYSREAD
+  107
+ 
+ 	)
+ 
+ 122 
+ 	#O_SYSWRITE
+  108
+ 
+ 	)
+ 
+ 123 
+ 	#O_SEND
+  109
+ 
+ 	)
+ 
+ 124 
+ 	#O_SEEK
+  110
+ 
+ 	)
+ 
+ 125 
+ 	#O_RETURN
+  111
+ 
+ 	)
+ 
+ 126 
+ 	#O_REDO
+  112
+ 
+ 	)
+ 
+ 127 
+ 	#O_NEXT
+  113
+ 
+ 	)
+ 
+ 128 
+ 	#O_LAST
+  114
+ 
+ 	)
+ 
+ 129 
+ 	#O_DUMP
+  115
+ 
+ 	)
+ 
+ 130 
+ 	#O_GOTO
+  116
+ 
+ 	)
+ 
+ 131 
+ 	#O_INDEX
+  117
+ 
+ 	)
+ 
+ 132 
+ 	#O_RINDEX
+  118
+ 
+ 	)
+ 
+ 133 
+ 	#O_TIME
+  119
+ 
+ 	)
+ 
+ 134 
+ 	#O_TMS
+  120
+ 
+ 	)
+ 
+ 135 
+ 	#O_LOCALTIME
+  121
+ 
+ 	)
+ 
+ 136 
+ 	#O_GMTIME
+  122
+ 
+ 	)
+ 
+ 137 
+ 	#O_TRUNCATE
+  123
+ 
+ 	)
+ 
+ 138 
+ 	#O_LSTAT
+  124
+ 
+ 	)
+ 
+ 139 
+ 	#O_STAT
+  125
+ 
+ 	)
+ 
+ 140 
+ 	#O_CRYPT
+  126
+ 
+ 	)
+ 
+ 141 
+ 	#O_ATAN2
+  127
+ 
+ 	)
+ 
+ 142 
+ 	#O_SIN
+  128
+ 
+ 	)
+ 
+ 143 
+ 	#O_COS
+  129
+ 
+ 	)
+ 
+ 144 
+ 	#O_RAND
+  130
+ 
+ 	)
+ 
+ 145 
+ 	#O_SRAND
+  131
+ 
+ 	)
+ 
+ 146 
+ 	#O_EXP
+  132
+ 
+ 	)
+ 
+ 147 
+ 	#O_LOG
+  133
+ 
+ 	)
+ 
+ 148 
+ 	#O_SQRT
+  134
+ 
+ 	)
+ 
+ 149 
+ 	#O_INT
+  135
+ 
+ 	)
+ 
+ 150 
+ 	#O_ORD
+  136
+ 
+ 	)
+ 
+ 151 
+ 	#O_ALARM
+  137
+ 
+ 	)
+ 
+ 152 
+ 	#O_SLEEP
+  138
+ 
+ 	)
+ 
+ 153 
+ 	#O_RANGE
+  139
+ 
+ 	)
+ 
+ 154 
+ 	#O_F_OR_R
+  140
+ 
+ 	)
+ 
+ 155 
+ 	#O_FLIP
+  141
+ 
+ 	)
+ 
+ 156 
+ 	#O_FLOP
+  142
+ 
+ 	)
+ 
+ 157 
+ 	#O_FORK
+  143
+ 
+ 	)
+ 
+ 158 
+ 	#O_WAIT
+  144
+ 
+ 	)
+ 
+ 159 
+ 	#O_WAITPID
+  145
+ 
+ 	)
+ 
+ 160 
+ 	#O_SYSTEM
+  146
+ 
+ 	)
+ 
+ 161 
+ 	#O_EXEC_OP
+  147
+ 
+ 	)
+ 
+ 162 
+ 	#O_HEX
+  148
+ 
+ 	)
+ 
+ 163 
+ 	#O_OCT
+  149
+ 
+ 	)
+ 
+ 164 
+ 	#O_CHOWN
+  150
+ 
+ 	)
+ 
+ 165 
+ 	#O_KILL
+  151
+ 
+ 	)
+ 
+ 166 
+ 	#O_UNLINK
+  152
+ 
+ 	)
+ 
+ 167 
+ 	#O_CHMOD
+  153
+ 
+ 	)
+ 
+ 168 
+ 	#O_UTIME
+  154
+ 
+ 	)
+ 
+ 169 
+ 	#O_UMASK
+  155
+ 
+ 	)
+ 
+ 170 
+ 	#O_MSGGET
+  156
+ 
+ 	)
+ 
+ 171 
+ 	#O_SHMGET
+  157
+ 
+ 	)
+ 
+ 172 
+ 	#O_SEMGET
+  158
+ 
+ 	)
+ 
+ 173 
+ 	#O_MSGCTL
+  159
+ 
+ 	)
+ 
+ 174 
+ 	#O_SHMCTL
+  160
+ 
+ 	)
+ 
+ 175 
+ 	#O_SEMCTL
+  161
+ 
+ 	)
+ 
+ 176 
+ 	#O_MSGSND
+  162
+ 
+ 	)
+ 
+ 177 
+ 	#O_MSGRCV
+  163
+ 
+ 	)
+ 
+ 178 
+ 	#O_SEMOP
+  164
+ 
+ 	)
+ 
+ 179 
+ 	#O_SHMREAD
+  165
+ 
+ 	)
+ 
+ 180 
+ 	#O_SHMWRITE
+  166
+ 
+ 	)
+ 
+ 181 
+ 	#O_RENAME
+  167
+ 
+ 	)
+ 
+ 182 
+ 	#O_LINK
+  168
+ 
+ 	)
+ 
+ 183 
+ 	#O_MKDIR
+  169
+ 
+ 	)
+ 
+ 184 
+ 	#O_RMDIR
+  170
+ 
+ 	)
+ 
+ 185 
+ 	#O_GETPPID
+  171
+ 
+ 	)
+ 
+ 186 
+ 	#O_GETPGRP
+  172
+ 
+ 	)
+ 
+ 187 
+ 	#O_SETPGRP
+  173
+ 
+ 	)
+ 
+ 188 
+ 	#O_GETPRIORITY
+  174
+ 
+ 	)
+ 
+ 189 
+ 	#O_SETPRIORITY
+  175
+ 
+ 	)
+ 
+ 190 
+ 	#O_CHROOT
+  176
+ 
+ 	)
+ 
+ 191 
+ 	#O_FCNTL
+  177
+ 
+ 	)
+ 
+ 192 
+ 	#O_IOCTL
+  178
+ 
+ 	)
+ 
+ 193 
+ 	#O_FLOCK
+  179
+ 
+ 	)
+ 
+ 194 
+ 	#O_UNSHIFT
+  180
+ 
+ 	)
+ 
+ 195 
+ 	#O_REQUIRE
+  181
+ 
+ 	)
+ 
+ 196 
+ 	#O_DOFILE
+  182
+ 
+ 	)
+ 
+ 197 
+ 	#O_EVAL
+  183
+ 
+ 	)
+ 
+ 198 
+ 	#O_FTRREAD
+  184
+ 
+ 	)
+ 
+ 199 
+ 	#O_FTRWRITE
+  185
+ 
+ 	)
+ 
+ 200 
+ 	#O_FTREXEC
+  186
+ 
+ 	)
+ 
+ 201 
+ 	#O_FTEREAD
+  187
+ 
+ 	)
+ 
+ 202 
+ 	#O_FTEWRITE
+  188
+ 
+ 	)
+ 
+ 203 
+ 	#O_FTEEXEC
+  189
+ 
+ 	)
+ 
+ 204 
+ 	#O_FTIS
+  190
+ 
+ 	)
+ 
+ 205 
+ 	#O_FTEOWNED
+  191
+ 
+ 	)
+ 
+ 206 
+ 	#O_FTROWNED
+  192
+ 
+ 	)
+ 
+ 207 
+ 	#O_FTZERO
+  193
+ 
+ 	)
+ 
+ 208 
+ 	#O_FTSIZE
+  194
+ 
+ 	)
+ 
+ 209 
+ 	#O_FTMTIME
+  195
+ 
+ 	)
+ 
+ 210 
+ 	#O_FTATIME
+  196
+ 
+ 	)
+ 
+ 211 
+ 	#O_FTCTIME
+  197
+ 
+ 	)
+ 
+ 212 
+ 	#O_FTSOCK
+  198
+ 
+ 	)
+ 
+ 213 
+ 	#O_FTCHR
+  199
+ 
+ 	)
+ 
+ 214 
+ 	#O_FTBLK
+  200
+ 
+ 	)
+ 
+ 215 
+ 	#O_FTFILE
+  201
+ 
+ 	)
+ 
+ 216 
+ 	#O_FTDIR
+  202
+ 
+ 	)
+ 
+ 217 
+ 	#O_FTPIPE
+  203
+ 
+ 	)
+ 
+ 218 
+ 	#O_FTLINK
+  204
+ 
+ 	)
+ 
+ 219 
+ 	#O_SYMLINK
+  205
+ 
+ 	)
+ 
+ 220 
+ 	#O_READLINK
+  206
+ 
+ 	)
+ 
+ 221 
+ 	#O_FTSUID
+  207
+ 
+ 	)
+ 
+ 222 
+ 	#O_FTSGID
+  208
+ 
+ 	)
+ 
+ 223 
+ 	#O_FTSVTX
+  209
+ 
+ 	)
+ 
+ 224 
+ 	#O_FTTTY
+  210
+ 
+ 	)
+ 
+ 225 
+ 	#O_FTTEXT
+  211
+ 
+ 	)
+ 
+ 226 
+ 	#O_FTBINARY
+  212
+ 
+ 	)
+ 
+ 227 
+ 	#O_SOCKET
+  213
+ 
+ 	)
+ 
+ 228 
+ 	#O_BIND
+  214
+ 
+ 	)
+ 
+ 229 
+ 	#O_CONNECT
+  215
+ 
+ 	)
+ 
+ 230 
+ 	#O_LISTEN
+  216
+ 
+ 	)
+ 
+ 231 
+ 	#O_ACCEPT
+  217
+ 
+ 	)
+ 
+ 232 
+ 	#O_GHBYNAME
+  218
+ 
+ 	)
+ 
+ 233 
+ 	#O_GHBYADDR
+  219
+ 
+ 	)
+ 
+ 234 
+ 	#O_GHOSTENT
+  220
+ 
+ 	)
+ 
+ 235 
+ 	#O_GNBYNAME
+  221
+ 
+ 	)
+ 
+ 236 
+ 	#O_GNBYADDR
+  222
+ 
+ 	)
+ 
+ 237 
+ 	#O_GNETENT
+  223
+ 
+ 	)
+ 
+ 238 
+ 	#O_GPBYNAME
+  224
+ 
+ 	)
+ 
+ 239 
+ 	#O_GPBYNUMBER
+  225
+ 
+ 	)
+ 
+ 240 
+ 	#O_GPROTOENT
+  226
+ 
+ 	)
+ 
+ 241 
+ 	#O_GSBYNAME
+  227
+ 
+ 	)
+ 
+ 242 
+ 	#O_GSBYPORT
+  228
+ 
+ 	)
+ 
+ 243 
+ 	#O_GSERVENT
+  229
+ 
+ 	)
+ 
+ 244 
+ 	#O_SHOSTENT
+  230
+ 
+ 	)
+ 
+ 245 
+ 	#O_SNETENT
+  231
+ 
+ 	)
+ 
+ 246 
+ 	#O_SPROTOENT
+  232
+ 
+ 	)
+ 
+ 247 
+ 	#O_SSERVENT
+  233
+ 
+ 	)
+ 
+ 248 
+ 	#O_EHOSTENT
+  234
+ 
+ 	)
+ 
+ 249 
+ 	#O_ENETENT
+  235
+ 
+ 	)
+ 
+ 250 
+ 	#O_EPROTOENT
+  236
+ 
+ 	)
+ 
+ 251 
+ 	#O_ESERVENT
+  237
+ 
+ 	)
+ 
+ 252 
+ 	#O_SOCKPAIR
+  238
+ 
+ 	)
+ 
+ 253 
+ 	#O_SHUTDOWN
+  239
+ 
+ 	)
+ 
+ 254 
+ 	#O_GSOCKOPT
+  240
+ 
+ 	)
+ 
+ 255 
+ 	#O_SSOCKOPT
+  241
+ 
+ 	)
+ 
+ 256 
+ 	#O_GETSOCKNAME
+  242
+ 
+ 	)
+ 
+ 257 
+ 	#O_GETPEERNAME
+  243
+ 
+ 	)
+ 
+ 258 
+ 	#O_SSELECT
+  244
+ 
+ 	)
+ 
+ 259 
+ 	#O_FILENO
+  245
+ 
+ 	)
+ 
+ 260 
+ 	#O_BINMODE
+  246
+ 
+ 	)
+ 
+ 261 
+ 	#O_VEC
+  247
+ 
+ 	)
+ 
+ 262 
+ 	#O_GPWNAM
+  248
+ 
+ 	)
+ 
+ 263 
+ 	#O_GPWUID
+  249
+ 
+ 	)
+ 
+ 264 
+ 	#O_GPWENT
+  250
+ 
+ 	)
+ 
+ 265 
+ 	#O_SPWENT
+  251
+ 
+ 	)
+ 
+ 266 
+ 	#O_EPWENT
+  252
+ 
+ 	)
+ 
+ 267 
+ 	#O_GGRNAM
+  253
+ 
+ 	)
+ 
+ 268 
+ 	#O_GGRGID
+  254
+ 
+ 	)
+ 
+ 269 
+ 	#O_GGRENT
+  255
+ 
+ 	)
+ 
+ 270 
+ 	#O_SGRENT
+  256
+ 
+ 	)
+ 
+ 271 
+ 	#O_EGRENT
+  257
+ 
+ 	)
+ 
+ 272 
+ 	#O_GETLOGIN
+  258
+ 
+ 	)
+ 
+ 273 
+ 	#O_OPENDIR
+  259
+ 
+ 	)
+ 
+ 274 
+ 	#O_READDIR
+  260
+ 
+ 	)
+ 
+ 275 
+ 	#O_TELLDIR
+  261
+ 
+ 	)
+ 
+ 276 
+ 	#O_SEEKDIR
+  262
+ 
+ 	)
+ 
+ 277 
+ 	#O_REWINDDIR
+  263
+ 
+ 	)
+ 
+ 278 
+ 	#O_CLOSEDIR
+  264
+ 
+ 	)
+ 
+ 279 
+ 	#O_SYSCALL
+  265
+ 
+ 	)
+ 
+ 280 
+ 	#O_PIPE
+  266
+ 
+ 	)
+ 
+ 281 
+ 	#MAXO
+  267
+ 
+ 	)
+ 
+ 283 #iâdeà
+ DOINIT
+ 
+ 
+ 284 
*
+ ÝÇme
+ [];
+ 
+ 286 *
+ 	gÝÇme
+ [] = {
+ 
+ 558 
+ 	#A_NULL
+  0
+ 
+ 	)
+ 
+ 559 
+ 	#A_EXPR
+  1
+ 
+ 	)
+ 
+ 560 
+ 	#A_CMD
+  2
+ 
+ 	)
+ 
+ 561 
+ 	#A_STAB
+  3
+ 
+ 	)
+ 
+ 562 
+ 	#A_LVAL
+  4
+ 
+ 	)
+ 
+ 563 
+ 	#A_SINGLE
+  5
+ 
+ 	)
+ 
+ 564 
+ 	#A_DOUBLE
+  6
+ 
+ 	)
+ 
+ 565 
+ 	#A_BACKTICK
+  7
+ 
+ 	)
+ 
+ 566 
+ 	#A_READ
+  8
+ 
+ 	)
+ 
+ 567 
+ 	#A_SPAT
+  9
+ 
+ 	)
+ 
+ 568 
+ 	#A_LEXPR
+  10
+ 
+ 	)
+ 
+ 569 
+ 	#A_ARYLEN
+  11
+ 
+ 	)
+ 
+ 570 
+ 	#A_ARYSTAB
+  12
+ 
+ 	)
+ 
+ 571 
+ 	#A_LARYLEN
+  13
+ 
+ 	)
+ 
+ 572 
+ 	#A_GLOB
+  14
+ 
+ 	)
+ 
+ 573 
+ 	#A_WORD
+  15
+ 
+ 	)
+ 
+ 574 
+ 	#A_INDREAD
+  16
+ 
+ 	)
+ 
+ 575 
+ 	#A_LARYSTAB
+  17
+ 
+ 	)
+ 
+ 576 
+ 	#A_STAR
+  18
+ 
+ 	)
+ 
+ 577 
+ 	#A_LSTAR
+  19
+ 
+ 	)
+ 
+ 578 
+ 	#A_WANTARRAY
+  20
+ 
+ 	)
+ 
+ 580 
+ 	#A_MASK
+  31
+ 
+ 	)
+ 
+ 581 
+ 	#A_DONT
+  32
+ 
+ 	)
+ 
+ 583 #iâdeà
+ DOINIT
+ 
+ 
+ 584 
*
+ ¬gÇme
+ [];
+ 
+ 586 *
+ 	g¬gÇme
+ [] = {
+ 
+ 612 #iâdeà
+ DOINIT
+ 
+ 
+ 613 
+ boÞ
+  
+ hoi¡abË
+ [];
+ 
+ 615 
+ boÞ
+  
+ 	ghoi¡abË
+ [] =
+ 
+ 641 
+ 	u¬g±r
+  {
+ 
+ 642 
+ ARG
+  *
+ 	m¬g_¬g
+ ;
+ 
+ 643 *
+ 	m¬g_cv®
+ ;
+ 
+ 644 
+ STAB
+  *
+ 	m¬g_¡ab
+ ;
+ 
+ 645 
+ SPAT
+  *
+ 	m¬g_¥©
+ ;
+ 
+ 646 
+ CMD
+  *
+ 	m¬g_cmd
+ ;
+ 
+ 647 
+ STR
+  *
+ 	m¬g_¡r
+ ;
+ 
+ 648 
+ HASH
+  *
+ 	m¬g_hash
+ ;
+ 
+ 651 
+ 	s¬g
+  {
+ 
+ 652 
+ ¬g±r
+  
+ 	m¬g_±r
+ ;
+ 
+ 653 
+ 	m¬g_Ën
+ ;
+ 
+ 654 
+ 	m¬g_ty³
+ ;
+ 
+ 655 
+ 	m¬g_æags
+ ;
+ 
+ 658 
+ 	#AF_ARYOK
+  1
+ 
+ 	)
+ 
+ 659 
+ 	#AF_POST
+  2
+ 
+ 	)
+ 
+ 660 
+ 	#AF_PRE
+  4
+ 
+ 	)
+ 
+ 661 
+ 	#AF_UP
+  8
+ 
+ 	)
+ 
+ 662 
+ 	#AF_COMMON
+  16
+ 
+ 	)
+ 
+ 663 
+ 	#AF_DEPR
+  32
+ 
+ 	)
+ 
+ 664 
+ 	#AF_LISTISH
+  64
+ 
+ 	)
+ 
+ 665 
+ 	#AF_LOCAL
+  128
+ 
+ 	)
+ 
+ 677 
+ 	#Nuάg
+  
+ 	`NuÎ
+ (
+ ARG
+ *)
+ 
+ 	)
+ 
+ 679 #iâdeà
+ DOINIT
+ 
+ 
+ 680 
+ EXT
+  
+ 	gݬgs
+ [
+ MAXO
+ +1];
+ 
+ 682 
+ 	#A
+ (
+ e1
+ ,
+ e2
+ ,
+ e3
+ èÓ1+Ó2<<2)+Ó3<<4))
+ 
+ 	)
+ 
+ 683 
+ 	#A5
+ (
+ e1
+ ,
+ e2
+ ,
+ e3
+ ,
+ e4
+ ,
+ e5
+ èÓ1+Ó2<<2)+Ó3<<4)+Ó4<<6)+Ó5<<8))
+ 
+ 	)
+ 
+ 684 
+ 	gݬgs
+ [
+ MAXO
+ +1] = {
+ 
+ 685 
+ A
+ (0,0,0),
+ 
+ 686 
+ A
+ (1,1,0),
+ 
+ 687 
+ A
+ (1,0,0),
+ 
+ 688 
+ A
+ (1,0,0),
+ 
+ 689 
+ A
+ (0,0,0),
+ 
+ 690 
+ A
+ (0,0,0),
+ 
+ 691 
+ A
+ (1,1,0),
+ 
+ 692 
+ A
+ (3,1,0),
+ 
+ 693 
+ A
+ (1,0,0),
+ 
+ 694 
+ A
+ (1,0,0),
+ 
+ 695 
+ A
+ (1,0,0),
+ 
+ 696 
+ A
+ (1,0,0),
+ 
+ 697 
+ A
+ (1,1,0),
+ 
+ 698 
+ A
+ (1,0,0),
+ 
+ 699 
+ A
+ (3,3,0),
+ 
+ 700 
+ A
+ (0,0,0),
+ 
+ 701 
+ A
+ (3,0,0),
+ 
+ 702 
+ A
+ (1,0,0),
+ 
+ 703 
+ A
+ (1,0,0),
+ 
+ 704 
+ A
+ (1,0,0),
+ 
+ 705 
+ A
+ (1,1,0),
+ 
+ 706 
+ A
+ (1,1,0),
+ 
+ 707 
+ A
+ (1,1,0),
+ 
+ 708 
+ A
+ (1,1,0),
+ 
+ 709 
+ A
+ (1,1,0),
+ 
+ 710 
+ A
+ (1,1,0),
+ 
+ 711 
+ A
+ (1,1,0),
+ 
+ 712 
+ A
+ (1,1,0),
+ 
+ 713 
+ A
+ (1,1,0),
+ 
+ 714 
+ A
+ (1,1,0),
+ 
+ 715 
+ A
+ (1,1,0),
+ 
+ 716 
+ A
+ (1,1,0),
+ 
+ 717 
+ A
+ (1,1,0),
+ 
+ 718 
+ A
+ (1,1,0),
+ 
+ 719 
+ A
+ (1,1,0),
+ 
+ 720 
+ A
+ (1,1,0),
+ 
+ 721 
+ A
+ (1,1,0),
+ 
+ 722 
+ A
+ (1,1,0),
+ 
+ 723 
+ A
+ (1,0,0),
+ 
+ 724 
+ A
+ (1,0,0),
+ 
+ 725 
+ A
+ (1,0,0),
+ 
+ 726 
+ A
+ (1,1,0),
+ 
+ 727 
+ A
+ (1,0,0),
+ 
+ 728 
+ A
+ (1,0,0),
+ 
+ 729 
+ A
+ (1,0,0),
+ 
+ 730 
+ A
+ (1,0,0),
+ 
+ 731 
+ A
+ (1,0,0),
+ 
+ 732 
+ A
+ (1,1,1),
+ 
+ 733 
+ A
+ (1,0,0),
+ 
+ 734 
+ A
+ (1,1,0),
+ 
+ 735 
+ A
+ (1,0,0),
+ 
+ 736 
+ A
+ (1,0,0),
+ 
+ 737 
+ A
+ (1,0,0),
+ 
+ 738 
+ A
+ (0,0,0),
+ 
+ 739 
+ A
+ (0,0,0),
+ 
+ 740 
+ A
+ (0,0,0),
+ 
+ 741 
+ A
+ (0,0,0),
+ 
+ 742 
+ A
+ (0,0,0),
+ 
+ 743 
+ A
+ (0,1,0),
+ 
+ 744 
+ A
+ (0,1,0),
+ 
+ 745 
+ A
+ (0,0,0),
+ 
+ 746 
+ A
+ (0,0,0),
+ 
+ 747 
+ A
+ (0,1,0),
+ 
+ 748 
+ A
+ (0,1,0),
+ 
+ 749 
+ A
+ (0,1,0),
+ 
+ 750 
+ A
+ (0,3,3),
+ 
+ 751 
+ A
+ (0,3,0),
+ 
+ 752 
+ A
+ (0,3,0),
+ 
+ 753 
+ A
+ (0,3,0),
+ 
+ 754 
+ A
+ (0,3,0),
+ 
+ 755 
+ A
+ (0,3,1),
+ 
+ 756 
+ A
+ (0,3,0),
+ 
+ 757 
+ A
+ (0,0,0),
+ 
+ 758 
+ A
+ (0,0,0),
+ 
+ 759 
+ A
+ (1,1,0),
+ 
+ 760 
+ A
+ (1,0,1),
+ 
+ 761 
+ A
+ (1,0,0),
+ 
+ 762 
+ A
+ (3,0,0),
+ 
+ 763 
+ A
+ (1,1,1),
+ 
+ 764 
+ A
+ (1,3,0),
+ 
+ 765 
+ A
+ (0,3,0),
+ 
+ 766 
+ A
+ (1,3,0),
+ 
+ 767 
+ A
+ (1,1,0),
+ 
+ 768 
+ A
+ (1,1,0),
+ 
+ 769 
+ A
+ (1,1,0),
+ 
+ 770 
+ A
+ (1,1,0),
+ 
+ 771 
+ A
+ (1,1,0),
+ 
+ 772 
+ A
+ (1,1,0),
+ 
+ 773 
+ A
+ (1,1,0),
+ 
+ 774 
+ A
+ (0,3,0),
+ 
+ 775 
+ A
+ (0,3,0),
+ 
+ 776 
+ A
+ (1,0,0),
+ 
+ 777 
+ A
+ (1,3,0),
+ 
+ 778 
+ A
+ (0,3,0),
+ 
+ 779 
+ A
+ (0,3,0),
+ 
+ 780 
+ A
+ (0,3,0),
+ 
+ 781 
+ A
+ (1,3,0),
+ 
+ 782 
+ A
+ (1,3,0),
+ 
+ 783 
+ A
+ (1,0,0),
+ 
+ 784 
+ A
+ (1,0,0),
+ 
+ 785 
+ A
+ (1,0,0),
+ 
+ 786 
+ A
+ (3,0,0),
+ 
+ 787 
+ A
+ (1,0,0),
+ 
+ 788 
+ A
+ (1,0,0),
+ 
+ 789 
+ A
+ (1,0,0),
+ 
+ 790 
+ A5
+ (1,1,1,1,0),
+ 
+ 791 
+ A
+ (1,1,3),
+ 
+ 792 
+ A
+ (1,1,3),
+ 
+ 793 
+ A
+ (1,1,3),
+ 
+ 794 
+ A
+ (1,1,3),
+ 
+ 795 
+ A
+ (1,1,1),
+ 
+ 796 
+ A
+ (0,3,0),
+ 
+ 797 
+ A
+ (0,0,0),
+ 
+ 798 
+ A
+ (0,0,0),
+ 
+ 799 
+ A
+ (0,0,0),
+ 
+ 800 
+ A
+ (0,0,0),
+ 
+ 801 
+ A
+ (0,0,0),
+ 
+ 802 
+ A
+ (1,1,1),
+ 
+ 803 
+ A
+ (1,1,1),
+ 
+ 804 
+ A
+ (0,0,0),
+ 
+ 805 
+ A
+ (0,0,0),
+ 
+ 806 
+ A
+ (1,0,0),
+ 
+ 807 
+ A
+ (1,0,0),
+ 
+ 808 
+ A
+ (1,1,0),
+ 
+ 809 
+ A
+ (1,0,0),
+ 
+ 810 
+ A
+ (1,0,0),
+ 
+ 811 
+ A
+ (1,1,0),
+ 
+ 812 
+ A
+ (1,1,0),
+ 
+ 813 
+ A
+ (1,0,0),
+ 
+ 814 
+ A
+ (1,0,0),
+ 
+ 815 
+ A
+ (1,0,0),
+ 
+ 816 
+ A
+ (1,0,0),
+ 
+ 817 
+ A
+ (1,0,0),
+ 
+ 818 
+ A
+ (1,0,0),
+ 
+ 819 
+ A
+ (1,0,0),
+ 
+ 820 
+ A
+ (1,0,0),
+ 
+ 821 
+ A
+ (1,0,0),
+ 
+ 822 
+ A
+ (1,0,0),
+ 
+ 823 
+ A
+ (1,0,0),
+ 
+ 824 
+ A
+ (1,1,0),
+ 
+ 825 
+ A
+ (1,0,0),
+ 
+ 826 
+ A
+ (1,0,0),
+ 
+ 827 
+ A
+ (0,1,0),
+ 
+ 828 
+ A
+ (0,0,0),
+ 
+ 829 
+ A
+ (0,0,0),
+ 
+ 830 
+ A
+ (1,1,0),
+ 
+ 831 
+ A
+ (1,3,0),
+ 
+ 832 
+ A
+ (1,3,0),
+ 
+ 833 
+ A
+ (1,0,0),
+ 
+ 834 
+ A
+ (1,0,0),
+ 
+ 835 
+ A
+ (0,3,0),
+ 
+ 836 
+ A
+ (0,3,0),
+ 
+ 837 
+ A
+ (0,3,0),
+ 
+ 838 
+ A
+ (0,3,0),
+ 
+ 839 
+ A
+ (0,3,0),
+ 
+ 840 
+ A
+ (1,0,0),
+ 
+ 841 
+ A
+ (1,1,0),
+ 
+ 842 
+ A
+ (1,1,1),
+ 
+ 843 
+ A
+ (1,1,1),
+ 
+ 844 
+ A
+ (1,1,1),
+ 
+ 845 
+ A
+ (1,1,1),
+ 
+ 846 
+ A5
+ (1,1,1,1,0),
+ 
+ 847 
+ A
+ (1,1,1),
+ 
+ 848 
+ A5
+ (1,1,1,1,1),
+ 
+ 849 
+ A
+ (1,1,1),
+ 
+ 850 
+ A5
+ (1,1,1,1,0),
+ 
+ 851 
+ A5
+ (1,1,1,1,0),
+ 
+ 852 
+ A
+ (1,1,0),
+ 
+ 853 
+ A
+ (1,1,0),
+ 
+ 854 
+ A
+ (1,1,0),
+ 
+ 855 
+ A
+ (1,0,0),
+ 
+ 856 
+ A
+ (0,0,0),
+ 
+ 857 
+ A
+ (1,0,0),
+ 
+ 858 
+ A
+ (1,1,0),
+ 
+ 859 
+ A
+ (1,1,0),
+ 
+ 860 
+ A
+ (1,1,1),
+ 
+ 861 
+ A
+ (1,0,0),
+ 
+ 862 
+ A
+ (1,1,1),
+ 
+ 863 
+ A
+ (1,1,1),
+ 
+ 864 
+ A
+ (1,1,0),
+ 
+ 865 
+ A
+ (0,3,0),
+ 
+ 866 
+ A
+ (1,0,0),
+ 
+ 867 
+ A
+ (1,0,0),
+ 
+ 868 
+ A
+ (1,0,0),
+ 
+ 869 
+ A
+ (1,0,0),
+ 
+ 870 
+ A
+ (1,0,0),
+ 
+ 871 
+ A
+ (1,0,0),
+ 
+ 872 
+ A
+ (1,0,0),
+ 
+ 873 
+ A
+ (1,0,0),
+ 
+ 874 
+ A
+ (1,0,0),
+ 
+ 875 
+ A
+ (1,0,0),
+ 
+ 876 
+ A
+ (1,0,0),
+ 
+ 877 
+ A
+ (1,0,0),
+ 
+ 878 
+ A
+ (1,0,0),
+ 
+ 879 
+ A
+ (1,0,0),
+ 
+ 880 
+ A
+ (1,0,0),
+ 
+ 881 
+ A
+ (1,0,0),
+ 
+ 882 
+ A
+ (1,0,0),
+ 
+ 883 
+ A
+ (1,0,0),
+ 
+ 884 
+ A
+ (1,0,0),
+ 
+ 885 
+ A
+ (1,0,0),
+ 
+ 886 
+ A
+ (1,0,0),
+ 
+ 887 
+ A
+ (1,0,0),
+ 
+ 888 
+ A
+ (1,0,0),
+ 
+ 889 
+ A
+ (1,0,0),
+ 
+ 890 
+ A
+ (1,1,0),
+ 
+ 891 
+ A
+ (1,0,0),
+ 
+ 892 
+ A
+ (1,0,0),
+ 
+ 893 
+ A
+ (1,0,0),
+ 
+ 894 
+ A
+ (1,0,0),
+ 
+ 895 
+ A
+ (1,0,0),
+ 
+ 896 
+ A
+ (1,0,0),
+ 
+ 897 
+ A
+ (1,0,0),
+ 
+ 898 
+ A5
+ (1,1,1,1,0),
+ 
+ 899 
+ A
+ (1,1,0),
+ 
+ 900 
+ A
+ (1,1,0),
+ 
+ 901 
+ A
+ (1,1,0),
+ 
+ 902 
+ A
+ (1,1,0),
+ 
+ 903 
+ A
+ (1,0,0),
+ 
+ 904 
+ A
+ (1,1,0),
+ 
+ 905 
+ A
+ (0,0,0),
+ 
+ 906 
+ A
+ (1,0,0),
+ 
+ 907 
+ A
+ (1,1,0),
+ 
+ 908 
+ A
+ (0,0,0),
+ 
+ 909 
+ A
+ (1,0,0),
+ 
+ 910 
+ A
+ (1,0,0),
+ 
+ 911 
+ A
+ (0,0,0),
+ 
+ 912 
+ A
+ (1,1,0),
+ 
+ 913 
+ A
+ (1,1,0),
+ 
+ 914 
+ A
+ (0,0,0),
+ 
+ 915 
+ A
+ (1,0,0),
+ 
+ 916 
+ A
+ (1,0,0),
+ 
+ 917 
+ A
+ (1,0,0),
+ 
+ 918 
+ A
+ (1,0,0),
+ 
+ 919 
+ A
+ (0,0,0),
+ 
+ 920 
+ A
+ (0,0,0),
+ 
+ 921 
+ A
+ (0,0,0),
+ 
+ 922 
+ A
+ (0,0,0),
+ 
+ 923 
+ A5
+ (1,1,1,1,1),
+ 
+ 924 
+ A
+ (1,1,0),
+ 
+ 925 
+ A
+ (1,1,1),
+ 
+ 926 
+ A5
+ (1,1,1,1,0),
+ 
+ 927 
+ A
+ (1,0,0),
+ 
+ 928 
+ A
+ (1,0,0),
+ 
+ 929 
+ A5
+ (1,1,1,1,0),
+ 
+ 930 
+ A
+ (1,0,0),
+ 
+ 931 
+ A
+ (1,0,0),
+ 
+ 932 
+ A
+ (1,1,1),
+ 
+ 933 
+ A
+ (1,0,0),
+ 
+ 934 
+ A
+ (1,0,0),
+ 
+ 935 
+ A
+ (0,0,0),
+ 
+ 936 
+ A
+ (0,0,0),
+ 
+ 937 
+ A
+ (0,0,0),
+ 
+ 938 
+ A
+ (1,0,0),
+ 
+ 939 
+ A
+ (1,0,0),
+ 
+ 940 
+ A
+ (0,0,0),
+ 
+ 941 
+ A
+ (0,0,0),
+ 
+ 942 
+ A
+ (0,0,0),
+ 
+ 943 
+ A
+ (0,0,0),
+ 
+ 944 
+ A
+ (1,1,0),
+ 
+ 945 
+ A
+ (1,0,0),
+ 
+ 946 
+ A
+ (1,0,0),
+ 
+ 947 
+ A
+ (1,1,0),
+ 
+ 948 
+ A
+ (1,0,0),
+ 
+ 949 
+ A
+ (1,0,0),
+ 
+ 950 
+ A
+ (1,3,0),
+ 
+ 951 
+ A
+ (1,1,0),
+ 
+ 954 #undeà
+ A
+ 
+ 
+ 955 #undeà
+ A5
+ 
+ 
+ 958 
+ do_λs
+ ();
+ 
+ 959 
+ do_¥l™
+ ();
+ 
+ 960 
+ boÞ
+  
+ do_eof
+ ();
+ 
+ 961 
+ do_‹Î
+ ();
+ 
+ 962 
+ boÞ
+  
+ do_£ek
+ ();
+ 
+ 963 
+ do_tms
+ ();
+ 
+ 964 
+ do_time
+ ();
+ 
+ 965 
+ do_¡©
+ ();
+ 
+ 966 
+ STR
+  *
+ do_push
+ ();
+ 
+ 967 
+ FILE
+  *
+ Ãxrgv
+ ();
+ 
+ 968 
+ STR
+  *
+ do_á‹xt
+ ();
+ 
+ 969 
+ do_¦iû
+ ();
+ 
+ 	@array.c
+ 
+ 14 
+ 	~"EXTERN.h
+ "
+ 
+ 15 
+ 	~"³¾.h
+ "
+ 
+ 17 
+ STR
+  *
+ 
+ 18 
+ 	$aãtch
+ (
+ ¬
+ ,
+ key
+ ,
+ lv®
+ )
+ 
+ 19 
+ ARRAY
+  *
+ ¬
+ ;
+ 
+ 20 
+ key
+ ;
+ 
+ 21 
+ lv®
+ ;
+ 
+ 23 
+ STR
+  *
+ ¡r
+ ;
+ 
+ 25 ià(
+ key
+  < 0 || key > 
+ ¬
+ ->
+ ¬y_fžl
+ ) {
+ 
+ 26 ià(
+ lv®
+  && 
+ key
+  >= 0) {
+ 
+ 27 ià(
+ ¬
+ ->
+ ¬y_æags
+  & 
+ ARF_REAL
+ )
+ 
+ 28 
+ ¡r
+  = 
+ 	`SŒ_Ãw
+ (5,0);
+ 
+ 30 
+ ¡r
+  = 
+ 	`¡r_m܏l
+ (&
+ ¡r_undef
+ );
+ 
+ 31 ()
+ 	`a¡Üe
+ (
+ ¬
+ ,
+ key
+ ,
+ ¡r
+ );
+ 
+ 32  
+ ¡r
+ ;
+ 
+ 35  &
+ ¡r_undef
+ ;
+ 
+ 37 ià(!
+ ¬
+ ->
+ ¬y_¬¿y
+ [
+ key
+ ]) {
+ 
+ 38 ià(
+ lv®
+ ) {
+ 
+ 39 
+ ¡r
+  = 
+ 	`SŒ_Ãw
+ (6,0);
+ 
+ 40 ()
+ 	`a¡Üe
+ (
+ ¬
+ ,
+ key
+ ,
+ ¡r
+ );
+ 
+ 41  
+ ¡r
+ ;
+ 
+ 43  &
+ ¡r_undef
+ ;
+ 
+ 45  
+ ¬
+ ->
+ ¬y_¬¿y
+ [
+ key
+ ];
+ 
+ 46 
+ 	}
+ }
+ 
+ 48 
+ boÞ
+ 
+ 
+ 49 
+ 	$a¡Üe
+ (
+ ¬
+ ,
+ key
+ ,
+ v®
+ )
+ 
+ 50 
+ ARRAY
+  *
+ ¬
+ ;
+ 
+ 51 
+ key
+ ;
+ 
+ 52 
+ STR
+  *
+ v®
+ ;
+ 
+ 54 
+ »tv®
+ ;
+ 
+ 56 ià(
+ key
+  < 0)
+ 
+ 57  
+ FALSE
+ ;
+ 
+ 58 ià(
+ key
+  > 
+ ¬
+ ->
+ ¬y_max
+ ) {
+ 
+ 59 
+ Ãwmax
+ ;
+ 
+ 61 ià(
+ ¬
+ ->
+ ¬y_®loc
+  !ð¬->
+ ¬y_¬¿y
+ ) {
+ 
+ 62 
+ »tv®
+  = 
+ ¬
+ ->
+ ¬y_¬¿y
+  -‡r->
+ ¬y_®loc
+ ;
+ 
+ 63 
+ 	`CÝy
+ (
+ ¬
+ ->
+ ¬y_¬¿y
+ ,‡r->
+ ¬y_®loc
+ ,‡r->
+ ¬y_max
+ +1, 
+ STR
+ *);
+ 
+ 64 
+ 	`Z”o
+ (
+ ¬
+ ->
+ ¬y_®loc
+ +¬->
+ ¬y_max
+ +1, 
+ »tv®
+ , 
+ STR
+ *);
+ 
+ 65 
+ ¬
+ ->
+ ¬y_max
+  +ð
+ »tv®
+ ;
+ 
+ 66 
+ ¬
+ ->
+ ¬y_¬¿y
+  -ð
+ »tv®
+ ;
+ 
+ 67 ià(
+ key
+  > 
+ ¬
+ ->
+ ¬y_max
+  - 10) {
+ 
+ 68 
+ Ãwmax
+  = 
+ key
+  + 
+ ¬
+ ->
+ ¬y_max
+ ;
+ 
+ 69 
+ »size
+ ;
+ 
+ 73 ià(
+ ¬
+ ->
+ ¬y_®loc
+ ) {
+ 
+ 74 
+ Ãwmax
+  = 
+ key
+  + 
+ ¬
+ ->
+ ¬y_max
+  / 5;
+ 
+ 75 
+ »size
+ :
+ 
+ 76 
+ 	`R’ew
+ (
+ ¬
+ ->
+ ¬y_®loc
+ ,
+ Ãwmax
+ +1, 
+ STR
+ *);
+ 
+ 77 
+ 	`Z”o
+ (&
+ ¬
+ ->
+ ¬y_®loc
+ [¬->
+ ¬y_max
+ +1], 
+ Ãwmax
+  -‡r->¬y_max, 
+ STR
+ *);
+ 
+ 80 
+ Ãwmax
+  = 
+ key
+  < 4 ? 4 : key;
+ 
+ 81 
+ 	`Newz
+ (2,
+ ¬
+ ->
+ ¬y_®loc
+ , 
+ Ãwmax
+ +1, 
+ STR
+ *);
+ 
+ 83 
+ ¬
+ ->
+ ¬y_¬¿y
+  =‡r->
+ ¬y_®loc
+ ;
+ 
+ 84 
+ ¬
+ ->
+ ¬y_max
+  = 
+ Ãwmax
+ ;
+ 
+ 87 ià((
+ ¬
+ ->
+ ¬y_æags
+  & 
+ ARF_REAL
+ è&&‡r->
+ ¬y_fžl
+  < 
+ key
+ ) {
+ 
+ 88 ++
+ ¬
+ ->
+ ¬y_fžl
+  < 
+ key
+ ) {
+ 
+ 89 ià(
+ ¬
+ ->
+ ¬y_¬¿y
+ [¬->
+ ¬y_fžl
+ ] !ð
+ NuΡr
+ ) {
+ 
+ 90 
+ 	`¡r_ä“
+ (
+ ¬
+ ->
+ ¬y_¬¿y
+ [¬->
+ ¬y_fžl
+ ]);
+ 
+ 91 
+ ¬
+ ->
+ ¬y_¬¿y
+ [¬->
+ ¬y_fžl
+ ] = 
+ NuΡr
+ ;
+ 
+ 95 
+ »tv®
+  = (
+ ¬
+ ->
+ ¬y_¬¿y
+ [
+ key
+ ] !ð
+ NuΡr
+ );
+ 
+ 96 ià(
+ »tv®
+  && (
+ ¬
+ ->
+ ¬y_æags
+  & 
+ ARF_REAL
+ ))
+ 
+ 97 
+ 	`¡r_ä“
+ (
+ ¬
+ ->
+ ¬y_¬¿y
+ [
+ key
+ ]);
+ 
+ 98 
+ ¬
+ ->
+ ¬y_¬¿y
+ [
+ key
+ ] = 
+ v®
+ ;
+ 
+ 99  
+ »tv®
+ ;
+ 
+ 100 
+ 	}
+ }
+ 
+ 102 
+ ARRAY
+  *
+ 
+ 103 
+ 	$ªew
+ (
+ ¡ab
+ )
+ 
+ 104 
+ STAB
+  *
+ ¡ab
+ ;
+ 
+ 106 
+ ARRAY
+  *
+ ¬
+ ;
+ 
+ 108 
+ 	`New
+ (1,
+ ¬
+ ,1,
+ ARRAY
+ );
+ 
+ 109 
+ ¬
+ ->
+ ¬y_magic
+  = 
+ 	`SŒ_Ãw
+ (7,0);
+ 
+ 110 
+ ¬
+ ->
+ ¬y_®loc
+  =‡r->
+ ¬y_¬¿y
+  = 0;
+ 
+ 111 
+ 	`¡r_magic
+ (
+ ¬
+ ->
+ ¬y_magic
+ , 
+ ¡ab
+ , '#', 
+ NuÎch
+ , 0);
+ 
+ 112 
+ ¬
+ ->
+ ¬y_max
+  =‡r->
+ ¬y_fžl
+  = -1;
+ 
+ 113 
+ ¬
+ ->
+ ¬y_æags
+  = 
+ ARF_REAL
+ ;
+ 
+ 114  
+ ¬
+ ;
+ 
+ 115 
+ 	}
+ }
+ 
+ 117 
+ ARRAY
+  *
+ 
+ 118 
+ 	$açke
+ (
+ ¡ab
+ ,
+ size
+ ,
+ ¡½
+ )
+ 
+ 119 
+ STAB
+  *
+ ¡ab
+ ;
+ 
+ 120 
+ size
+ ;
+ 
+ 121 
+ STR
+  **
+ ¡½
+ ;
+ 
+ 123 
+ ARRAY
+  *
+ ¬
+ ;
+ 
+ 125 
+ 	`New
+ (3,
+ ¬
+ ,1,
+ ARRAY
+ );
+ 
+ 126 
+ 	`New
+ (4,
+ ¬
+ ->
+ ¬y_®loc
+ ,
+ size
+ +1,
+ STR
+ *);
+ 
+ 127 
+ 	`CÝy
+ (
+ ¡½
+ ,
+ ¬
+ ->
+ ¬y_®loc
+ ,
+ size
+ ,
+ STR
+ *);
+ 
+ 128 
+ ¬
+ ->
+ ¬y_¬¿y
+  =‡r->
+ ¬y_®loc
+ ;
+ 
+ 129 
+ ¬
+ ->
+ ¬y_magic
+  = 
+ 	`SŒ_Ãw
+ (8,0);
+ 
+ 130 
+ 	`¡r_magic
+ (
+ ¬
+ ->
+ ¬y_magic
+ , 
+ ¡ab
+ , '#', 
+ NuÎch
+ , 0);
+ 
+ 131 
+ ¬
+ ->
+ ¬y_fžl
+  = 
+ size
+  - 1;
+ 
+ 132 
+ ¬
+ ->
+ ¬y_max
+  = 
+ size
+  - 1;
+ 
+ 133 
+ ¬
+ ->
+ ¬y_æags
+  = 0;
+ 
+ 134 
+ size
+ --) {
+ 
+ 135 (*
+ ¡½
+ ++)->
+ ¡r_pok
+  &ð~
+ SP_TEMP
+ ;
+ 
+ 137  
+ ¬
+ ;
+ 
+ 138 
+ 	}
+ }
+ 
+ 141 
+ 	$aþ—r
+ (
+ ¬
+ )
+ 
+ 142 
+ ARRAY
+  *
+ ¬
+ ;
+ 
+ 144 
+ key
+ ;
+ 
+ 146 ià(!
+ ¬
+  || !×r->
+ ¬y_æags
+  & 
+ ARF_REAL
+ è||‡r->
+ ¬y_max
+  < 0)
+ 
+ 148 ià(
+ key
+  = 
+ ¬
+ ->
+ ¬y_¬¿y
+  -‡r->
+ ¬y_®loc
+ ) {
+ 
+ 149 
+ ¬
+ ->
+ ¬y_max
+  +ð
+ key
+ ;
+ 
+ 150 
+ ¬
+ ->
+ ¬y_¬¿y
+  -ð
+ key
+ ;
+ 
+ 152 
+ key
+  = 0; key <ð
+ ¬
+ ->
+ ¬y_max
+ ; key++)
+ 
+ 153 
+ 	`¡r_ä“
+ (
+ ¬
+ ->
+ ¬y_¬¿y
+ [
+ key
+ ]);
+ 
+ 154 
+ ¬
+ ->
+ ¬y_fžl
+  = -1;
+ 
+ 155 
+ 	`Z”o
+ (
+ ¬
+ ->
+ ¬y_¬¿y
+ ,‡r->
+ ¬y_max
+ +1, 
+ STR
+ *);
+ 
+ 156 
+ 	}
+ }
+ 
+ 159 
+ 	$aä“
+ (
+ ¬
+ )
+ 
+ 160 
+ ARRAY
+  *
+ ¬
+ ;
+ 
+ 162 
+ key
+ ;
+ 
+ 164 ià(!
+ ¬
+ )
+ 
+ 166 ià(
+ key
+  = 
+ ¬
+ ->
+ ¬y_¬¿y
+  -‡r->
+ ¬y_®loc
+ ) {
+ 
+ 167 
+ ¬
+ ->
+ ¬y_max
+  +ð
+ key
+ ;
+ 
+ 168 
+ ¬
+ ->
+ ¬y_¬¿y
+  -ð
+ key
+ ;
+ 
+ 170 ià(
+ ¬
+ ->
+ ¬y_æags
+  & 
+ ARF_REAL
+ ) {
+ 
+ 171 
+ key
+  = 0; key <ð
+ ¬
+ ->
+ ¬y_max
+ ; key++)
+ 
+ 172 
+ 	`¡r_ä“
+ (
+ ¬
+ ->
+ ¬y_¬¿y
+ [
+ key
+ ]);
+ 
+ 174 
+ 	`¡r_ä“
+ (
+ ¬
+ ->
+ ¬y_magic
+ );
+ 
+ 175 
+ 	`Saãä“
+ (
+ ¬
+ ->
+ ¬y_®loc
+ );
+ 
+ 176 
+ 	`Saãä“
+ (
+ ¬
+ );
+ 
+ 177 
+ 	}
+ }
+ 
+ 179 
+ boÞ
+ 
+ 
+ 180 
+ 	$­ush
+ (
+ ¬
+ ,
+ v®
+ )
+ 
+ 181 
+ ARRAY
+  *
+ ¬
+ ;
+ 
+ 182 
+ STR
+  *
+ v®
+ ;
+ 
+ 184  
+ 	`a¡Üe
+ (
+ ¬
+ ,++×r->
+ ¬y_fžl
+ ),
+ v®
+ );
+ 
+ 185 
+ 	}
+ }
+ 
+ 187 
+ STR
+  *
+ 
+ 188 
+ 	$­Ý
+ (
+ ¬
+ )
+ 
+ 189 
+ ARRAY
+  *
+ ¬
+ ;
+ 
+ 191 
+ STR
+  *
+ »tv®
+ ;
+ 
+ 193 ià(
+ ¬
+ ->
+ ¬y_fžl
+  < 0)
+ 
+ 194  
+ NuΡr
+ ;
+ 
+ 195 
+ »tv®
+  = 
+ ¬
+ ->
+ ¬y_¬¿y
+ [¬->
+ ¬y_fžl
+ ];
+ 
+ 196 
+ ¬
+ ->
+ ¬y_¬¿y
+ [¬->
+ ¬y_fžl
+ --] = 
+ NuΡr
+ ;
+ 
+ 197  
+ »tv®
+ ;
+ 
+ 198 
+ 	}
+ }
+ 
+ 200 
+ 	$aunshiá
+ (
+ ¬
+ ,
+ num
+ )
+ 
+ 201 
+ ARRAY
+  *
+ ¬
+ ;
+ 
+ 202 
+ num
+ ;
+ 
+ 204 
+ i
+ ;
+ 
+ 205 
+ STR
+  **
+ s¡r
+ ,**
+ d¡r
+ ;
+ 
+ 207 ià(
+ num
+  <= 0)
+ 
+ 209 ià(
+ ¬
+ ->
+ ¬y_¬¿y
+  -‡r->
+ ¬y_®loc
+  >ð
+ num
+ ) {
+ 
+ 210 
+ ¬
+ ->
+ ¬y_max
+  +ð
+ num
+ ;
+ 
+ 211 
+ ¬
+ ->
+ ¬y_fžl
+  +ð
+ num
+ ;
+ 
+ 212 
+ num
+ --)
+ 
+ 213 *--
+ ¬
+ ->
+ ¬y_¬¿y
+  = 
+ NuΡr
+ ;
+ 
+ 216 ()
+ 	`a¡Üe
+ (
+ ¬
+ ,¬->
+ ¬y_fžl
+ +
+ num
+ ,(
+ STR
+ *)0);
+ 
+ 217 
+ d¡r
+  = 
+ ¬
+ ->
+ ¬y_¬¿y
+  +‡r->
+ ¬y_fžl
+ ;
+ 
+ 218 
+ s¡r
+  = 
+ d¡r
+  - 
+ num
+ ;
+ 
+ 219 #ifdeà
+ BUGGY_MSC5
+ 
+ 
+ 220 #´agm¨
+ 	`loÝ_Ýt
+ (
+ off
+ )
+ 
+ 222 
+ i
+  = 
+ ¬
+ ->
+ ¬y_fžl
+ ; i >= 0; i--) {
+ 
+ 223 *
+ d¡r
+ -- = *
+ s¡r
+ --;
+ 
+ 224 #ifdeà
+ BUGGY_MSC5
+ 
+ 
+ 225 #´agm¨
+ 	`loÝ_Ýt
+ ()
+ 
+ 228 
+ 	`Z”o
+ (
+ ¬
+ ->
+ ¬y_¬¿y
+ , 
+ num
+ , 
+ STR
+ *);
+ 
+ 230 
+ 	}
+ }
+ 
+ 232 
+ STR
+  *
+ 
+ 233 
+ 	$ashiá
+ (
+ ¬
+ )
+ 
+ 234 
+ ARRAY
+  *
+ ¬
+ ;
+ 
+ 236 
+ STR
+  *
+ »tv®
+ ;
+ 
+ 238 ià(
+ ¬
+ ->
+ ¬y_fžl
+  < 0)
+ 
+ 239  
+ NuΡr
+ ;
+ 
+ 240 
+ »tv®
+  = *
+ ¬
+ ->
+ ¬y_¬¿y
+ ;
+ 
+ 241 *(
+ ¬
+ ->
+ ¬y_¬¿y
+ ++èð
+ NuΡr
+ ;
+ 
+ 242 
+ ¬
+ ->
+ ¬y_max
+ --;
+ 
+ 243 
+ ¬
+ ->
+ ¬y_fžl
+ --;
+ 
+ 244  
+ »tv®
+ ;
+ 
+ 245 
+ 	}
+ }
+ 
+ 248 
+ 	$®’
+ (
+ ¬
+ )
+ 
+ 249 
+ ARRAY
+  *
+ ¬
+ ;
+ 
+ 251  
+ ¬
+ ->
+ ¬y_fžl
+ ;
+ 
+ 252 
+ 	}
+ }
+ 
+ 254 
+ 	$afžl
+ (
+ ¬
+ , 
+ fžl
+ )
+ 
+ 255 
+ ARRAY
+  *
+ ¬
+ ;
+ 
+ 256 
+ fžl
+ ;
+ 
+ 258 ià(
+ fžl
+  < 0)
+ 
+ 259 
+ fžl
+  = -1;
+ 
+ 260 ià(
+ fžl
+  <ð
+ ¬
+ ->
+ ¬y_max
+ )
+ 
+ 261 
+ ¬
+ ->
+ ¬y_fžl
+  = 
+ fžl
+ ;
+ 
+ 263 ()
+ 	`a¡Üe
+ (
+ ¬
+ ,
+ fžl
+ ,
+ NuΡr
+ );
+ 
+ 264 
+ 	}
+ }
+ 
+ 	@array.h
+ 
+ 14 
+ 	s©bl
+  {
+ 
+ 15 
+ STR
+  **
+ 	m¬y_¬¿y
+ ;
+ 
+ 16 
+ STR
+  **
+ 	m¬y_®loc
+ ;
+ 
+ 17 
+ STR
+  *
+ 	m¬y_magic
+ ;
+ 
+ 18 
+ 	m¬y_max
+ ;
+ 
+ 19 
+ 	m¬y_fžl
+ ;
+ 
+ 20 
+ 	m¬y_æags
+ ;
+ 
+ 23 
+ 	#ARF_REAL
+  1
+ 
+ 	)
+ 
+ 25 
+ STR
+  *
+ aãtch
+ ();
+ 
+ 26 
+ boÞ
+  
+ a¡Üe
+ ();
+ 
+ 27 
+ STR
+  *
+ ­Ý
+ ();
+ 
+ 28 
+ STR
+  *
+ ashiá
+ ();
+ 
+ 29 
+ aä“
+ ();
+ 
+ 30 
+ aþ—r
+ ();
+ 
+ 31 
+ boÞ
+  
+ ­ush
+ ();
+ 
+ 32 
+ ®’
+ ();
+ 
+ 33 
+ ARRAY
+  *
+ ªew
+ ();
+ 
+ 34 
+ ARRAY
+  *
+ açke
+ ();
+ 
+ 	@cmd.c
+ 
+ 17 
+ 	~"EXTERN.h
+ "
+ 
+ 18 
+ 	~"³¾.h
+ "
+ 
+ 20 #ifdeà
+ I_VARARGS
+ 
+ 
+ 21 
+ 	~<v¬¬gs.h
+ >
+ 
+ 24 
+ STR
+  
+ 	g¡r_chÝ
+ ;
+ 
+ 26 
+ grow_dËv–
+ ();
+ 
+ 30 #ià
+ defšed
+ (
+ üay
+ è|| defšed(
+ __STDC__
+ )
+ 
+ 31 
+ 	#JMPCLOBBER
+ 
+ 
+ 	)
+ 
+ 40 
+ 	$cmd_exec
+ (
+ cmd·rm
+ ,
+ gimme
+ ,
+ ¥
+ )
+ 
+ 41 
+ CMD
+  *
+ VOLATILE
+  
+ cmd·rm
+ ;
+ 
+ 42 
+ VOLATILE
+  
+ gimme
+ ;
+ 
+ 43 
+ VOLATILE
+  
+ ¥
+ ;
+ 
+ 45 
+ CMD
+  *
+ cmd
+  = 
+ cmd·rm
+ ;
+ 
+ 46 
+ SPAT
+  *
+ VOLATILE
+  
+ Þd¥©
+ ;
+ 
+ 47 
+ VOLATILE
+  
+ fœ¡§ve
+  = 
+ §ve¡ack
+ ->
+ ¬y_fžl
+ ;
+ 
+ 48 
+ VOLATILE
+  
+ Þd§ve
+ ;
+ 
+ 49 
+ VOLATILE
+  
+ ¬yÝt§ve
+ ;
+ 
+ 50 #ifdeà
+ DEBUGGING
+ 
+ 
+ 51 
+ VOLATILE
+  
+ ÞddËv–
+ ;
+ 
+ 52 
+ VOLATILE
+  
+ ’tdËv–
+ ;
+ 
+ 54 
+ STR
+  *
+ »t¡r
+  = &
+ ¡r_undef
+ ;
+ 
+ 55 *
+ tmps
+ ;
+ 
+ 56 
+ cmdæags
+ ;
+ 
+ 57 
+ m©ch
+ ;
+ 
+ 58 *
+ go_to
+  = 
+ gÙo_rg
+ ;
+ 
+ 59 
+ Ãw¥
+  = -2;
+ 
+ 60 
+ STR
+  **
+ ¡
+  = 
+ ¡ack
+ ->
+ ¬y_¬¿y
+ ;
+ 
+ 61 
+ FILE
+  *
+ VOLATILE
+  
+ å
+ ;
+ 
+ 62 
+ ARRAY
+  *
+ VOLATILE
+  
+ ¬
+ ;
+ 
+ 64 
+ ϡsize
+  = 0;
+ 
+ 65 #ifdeà
+ DEBUGGING
+ 
+ 
+ 66 
+ ’tdËv–
+  = 
+ dËv–
+ ;
+ 
+ 68 
+ ž_»cursiÚ_’Œy
+ :
+ 
+ 69 #ifdeà
+ DEBUGGING
+ 
+ 
+ 70 
+ dËv–
+  = 
+ ’tdËv–
+ ;
+ 
+ 72 #ifdeà
+ TAINT
+ 
+ 
+ 73 
+ š‹d
+  = 0;
+ 
+ 75 ià(
+ cmd
+  =ð
+ NuÎcmd
+ ) {
+ 
+ 76 ià(
+ gimme
+  =ð
+ G_ARRAY
+  && 
+ Ãw¥
+  > -2)
+ 
+ 77  
+ Ãw¥
+ ;
+ 
+ 79 
+ ¡
+ [++
+ ¥
+ ] = 
+ »t¡r
+ ;
+ 
+ 80  
+ ¥
+ ;
+ 
+ 83 
+ cmdæags
+  = 
+ cmd
+ ->
+ c_æags
+ ;
+ 
+ 84 ià(
+ go_to
+ ) {
+ 
+ 85 ià(
+ cmd
+ ->
+ c_Ïb–
+  && 
+ 	`¡rEQ
+ (
+ go_to
+ ,cmd->c_label))
+ 
+ 86 
+ gÙo_rg
+  = 
+ go_to
+  = 
+ NuÎch
+ ;
+ 
+ 88 
+ cmd
+ ->
+ c_ty³
+ ) {
+ 
+ 89 
+ C_IF
+ :
+ 
+ 90 
+ Þd¥©
+  = 
+ cur¥©
+ ;
+ 
+ 91 
+ Þd§ve
+  = 
+ §ve¡ack
+ ->
+ ¬y_fžl
+ ;
+ 
+ 92 #ifdeà
+ DEBUGGING
+ 
+ 
+ 93 
+ ÞddËv–
+  = 
+ dËv–
+ ;
+ 
+ 95 
+ »t¡r
+  = &
+ ¡r_yes
+ ;
+ 
+ 96 
+ Ãw¥
+  = -2;
+ 
+ 97 ià(
+ cmd
+ ->
+ ucmd
+ .
+ ccmd
+ .
+ cc_Œue
+ ) {
+ 
+ 98 #ifdeà
+ DEBUGGING
+ 
+ 
+ 99 ià(
+ debug
+ ) {
+ 
+ 100 
+ debÇme
+ [
+ dËv–
+ ] = 't';
+ 
+ 101 
+ debd–im
+ [
+ dËv–
+ ] = '_';
+ 
+ 102 ià(++
+ dËv–
+  >ð
+ dlmax
+ )
+ 
+ 103 
+ 	`grow_dËv–
+ ();
+ 
+ 106 
+ Ãw¥
+  = 
+ 	`cmd_exec
+ (
+ cmd
+ ->
+ ucmd
+ .
+ ccmd
+ .
+ cc_Œue
+ ,
+ gimme
+  && (
+ cmdæags
+  & 
+ CF_TERM
+ ),
+ ¥
+ );
+ 
+ 107 
+ ¡
+  = 
+ ¡ack
+ ->
+ ¬y_¬¿y
+ ;
+ 
+ 108 
+ »t¡r
+  = 
+ ¡
+ [
+ Ãw¥
+ ];
+ 
+ 110 ià(!
+ gÙo_rg
+ )
+ 
+ 111 
+ go_to
+  = 
+ NuÎch
+ ;
+ 
+ 112 
+ cur¥©
+  = 
+ Þd¥©
+ ;
+ 
+ 113 ià(
+ §ve¡ack
+ ->
+ ¬y_fžl
+  > 
+ Þd§ve
+ )
+ 
+ 114 
+ 	`»¡Ü–i¡
+ (
+ Þd§ve
+ );
+ 
+ 115 #ifdeà
+ DEBUGGING
+ 
+ 
+ 116 
+ dËv–
+  = 
+ ÞddËv–
+ ;
+ 
+ 118 
+ cmd
+  = cmd->
+ ucmd
+ .
+ ccmd
+ .
+ cc_®t
+ ;
+ 
+ 119 
+ ž_»cursiÚ_’Œy
+ ;
+ 
+ 120 
+ C_ELSE
+ :
+ 
+ 121 
+ Þd¥©
+  = 
+ cur¥©
+ ;
+ 
+ 122 
+ Þd§ve
+  = 
+ §ve¡ack
+ ->
+ ¬y_fžl
+ ;
+ 
+ 123 #ifdeà
+ DEBUGGING
+ 
+ 
+ 124 
+ ÞddËv–
+  = 
+ dËv–
+ ;
+ 
+ 126 
+ »t¡r
+  = &
+ ¡r_undef
+ ;
+ 
+ 127 
+ Ãw¥
+  = -2;
+ 
+ 128 ià(
+ cmd
+ ->
+ ucmd
+ .
+ ccmd
+ .
+ cc_Œue
+ ) {
+ 
+ 129 #ifdeà
+ DEBUGGING
+ 
+ 
+ 130 ià(
+ debug
+ ) {
+ 
+ 131 
+ debÇme
+ [
+ dËv–
+ ] = 'e';
+ 
+ 132 
+ debd–im
+ [
+ dËv–
+ ] = '_';
+ 
+ 133 ià(++
+ dËv–
+  >ð
+ dlmax
+ )
+ 
+ 134 
+ 	`grow_dËv–
+ ();
+ 
+ 137 
+ Ãw¥
+  = 
+ 	`cmd_exec
+ (
+ cmd
+ ->
+ ucmd
+ .
+ ccmd
+ .
+ cc_Œue
+ ,
+ gimme
+  && (
+ cmdæags
+  & 
+ CF_TERM
+ ),
+ ¥
+ );
+ 
+ 138 
+ ¡
+  = 
+ ¡ack
+ ->
+ ¬y_¬¿y
+ ;
+ 
+ 139 
+ »t¡r
+  = 
+ ¡
+ [
+ Ãw¥
+ ];
+ 
+ 141 ià(!
+ gÙo_rg
+ )
+ 
+ 142 
+ go_to
+  = 
+ NuÎch
+ ;
+ 
+ 143 
+ cur¥©
+  = 
+ Þd¥©
+ ;
+ 
+ 144 ià(
+ §ve¡ack
+ ->
+ ¬y_fžl
+  > 
+ Þd§ve
+ )
+ 
+ 145 
+ 	`»¡Ü–i¡
+ (
+ Þd§ve
+ );
+ 
+ 146 #ifdeà
+ DEBUGGING
+ 
+ 
+ 147 
+ dËv–
+  = 
+ ÞddËv–
+ ;
+ 
+ 150 
+ C_BLOCK
+ :
+ 
+ 151 
+ C_WHILE
+ :
+ 
+ 152 ià(!(
+ cmdæags
+  & 
+ CF_ONCE
+ )) {
+ 
+ 153 
+ cmdæags
+  |ð
+ CF_ONCE
+ ;
+ 
+ 154 ià(++
+ loÝ_±r
+  >ð
+ loÝ_max
+ ) {
+ 
+ 155 
+ loÝ_max
+  += 128;
+ 
+ 156 
+ 	`R’ew
+ (
+ loÝ_¡ack
+ , 
+ loÝ_max
+ , 
+ loÝ
+ );
+ 
+ 158 
+ loÝ_¡ack
+ [
+ loÝ_±r
+ ].
+ loÝ_Ïb–
+  = 
+ cmd
+ ->
+ c_Ïb–
+ ;
+ 
+ 159 
+ loÝ_¡ack
+ [
+ loÝ_±r
+ ].
+ loÝ_¥
+  = 
+ ¥
+ ;
+ 
+ 160 #ifdeà
+ DEBUGGING
+ 
+ 
+ 161 ià(
+ debug
+  & 4) {
+ 
+ 162 
+ 	`deb
+ ("(Pushing†abel #%d %s)\n",
+ 
+ 163 
+ loÝ_±r
+ , 
+ cmd
+ ->
+ c_Ïb–
+  ? cmd->c_label : "");
+ 
+ 167 #ifdeà
+ JMPCLOBBER
+ 
+ 
+ 168 
+ cmd·rm
+  = 
+ cmd
+ ;
+ 
+ 170 
+ m©ch
+  = 
+ 	`£tjmp
+ (
+ loÝ_¡ack
+ [
+ loÝ_±r
+ ].
+ loÝ_’v
+ );
+ 
+ 171 ià(
+ m©ch
+ ) {
+ 
+ 172 
+ ¡
+  = 
+ ¡ack
+ ->
+ ¬y_¬¿y
+ ;
+ 
+ 173 #ifdeà
+ JMPCLOBBER
+ 
+ 
+ 174 
+ cmd
+  = 
+ cmd·rm
+ ;
+ 
+ 175 
+ cmdæags
+  = 
+ cmd
+ ->
+ c_æags
+ |
+ CF_ONCE
+ ;
+ 
+ 177 ià(
+ §ve¡ack
+ ->
+ ¬y_fžl
+  > 
+ Þd§ve
+ )
+ 
+ 178 
+ 	`»¡Ü–i¡
+ (
+ Þd§ve
+ );
+ 
+ 179 
+ m©ch
+ ) {
+ 
+ 181 
+ 	`çl
+ ("lÚgjm°»tuºed bad v®u(%d)",
+ m©ch
+ );
+ 
+ 182 
+ O_LAST
+ :
+ 
+ 183 
+ go_to
+  = 
+ NuÎch
+ ;
+ 
+ 184 ià(
+ Ï¡»t¡r
+ ) {
+ 
+ 185 
+ »t¡r
+  = 
+ Ï¡»t¡r
+ ;
+ 
+ 186 
+ Ãw¥
+  = -2;
+ 
+ 189 
+ Ãw¥
+  = 
+ ¥
+  + 
+ ϡsize
+ ;
+ 
+ 190 
+ »t¡r
+  = 
+ ¡
+ [
+ Ãw¥
+ ];
+ 
+ 192 #ifdeà
+ DEBUGGING
+ 
+ 
+ 193 
+ ÞddËv–
+  = 
+ dËv–
+ ;
+ 
+ 195 
+ cur¥©
+  = 
+ Þd¥©
+ ;
+ 
+ 196 
+ Ãxt_cmd
+ ;
+ 
+ 197 
+ O_NEXT
+ :
+ 
+ 198 
+ go_to
+  = 
+ NuÎch
+ ;
+ 
+ 199 #ifdeà
+ JMPCLOBBER
+ 
+ 
+ 200 
+ Ãw¥
+  = -2;
+ 
+ 201 
+ »t¡r
+  = &
+ ¡r_undef
+ ;
+ 
+ 203 
+ Ãxt_™”
+ ;
+ 
+ 204 
+ O_REDO
+ :
+ 
+ 205 
+ go_to
+  = 
+ NuÎch
+ ;
+ 
+ 206 #ifdeà
+ JMPCLOBBER
+ 
+ 
+ 207 
+ Ãw¥
+  = -2;
+ 
+ 208 
+ »t¡r
+  = &
+ ¡r_undef
+ ;
+ 
+ 210 
+ do™
+ ;
+ 
+ 213 
+ Þd¥©
+  = 
+ cur¥©
+ ;
+ 
+ 214 
+ Þd§ve
+  = 
+ §ve¡ack
+ ->
+ ¬y_fžl
+ ;
+ 
+ 215 #ifdeà
+ DEBUGGING
+ 
+ 
+ 216 
+ ÞddËv–
+  = 
+ dËv–
+ ;
+ 
+ 218 ià(
+ cmd
+ ->
+ ucmd
+ .
+ ccmd
+ .
+ cc_Œue
+ ) {
+ 
+ 219 #ifdeà
+ DEBUGGING
+ 
+ 
+ 220 ià(
+ debug
+ ) {
+ 
+ 221 
+ debÇme
+ [
+ dËv–
+ ] = 't';
+ 
+ 222 
+ debd–im
+ [
+ dËv–
+ ] = '_';
+ 
+ 223 ià(++
+ dËv–
+  >ð
+ dlmax
+ )
+ 
+ 224 
+ 	`grow_dËv–
+ ();
+ 
+ 227 
+ Ãw¥
+  = 
+ 	`cmd_exec
+ (
+ cmd
+ ->
+ ucmd
+ .
+ ccmd
+ .
+ cc_Œue
+ ,
+ gimme
+  && (
+ cmdæags
+  & 
+ CF_TERM
+ ),
+ ¥
+ );
+ 
+ 228 
+ ¡
+  = 
+ ¡ack
+ ->
+ ¬y_¬¿y
+ ;
+ 
+ 229 
+ »t¡r
+  = 
+ ¡
+ [
+ Ãw¥
+ ];
+ 
+ 231 ià(!
+ gÙo_rg
+ ) {
+ 
+ 232 
+ go_to
+  = 
+ NuÎch
+ ;
+ 
+ 233 
+ Ãxt_™”
+ ;
+ 
+ 235 #ifdeà
+ DEBUGGING
+ 
+ 
+ 236 
+ dËv–
+  = 
+ ÞddËv–
+ ;
+ 
+ 238 ià(
+ cmd
+ ->
+ ucmd
+ .
+ ccmd
+ .
+ cc_®t
+ ) {
+ 
+ 239 #ifdeà
+ DEBUGGING
+ 
+ 
+ 240 ià(
+ debug
+ ) {
+ 
+ 241 
+ debÇme
+ [
+ dËv–
+ ] = 'a';
+ 
+ 242 
+ debd–im
+ [
+ dËv–
+ ] = '_';
+ 
+ 243 ià(++
+ dËv–
+  >ð
+ dlmax
+ )
+ 
+ 244 
+ 	`grow_dËv–
+ ();
+ 
+ 247 
+ Ãw¥
+  = 
+ 	`cmd_exec
+ (
+ cmd
+ ->
+ ucmd
+ .
+ ccmd
+ .
+ cc_®t
+ ,
+ gimme
+  && (
+ cmdæags
+  & 
+ CF_TERM
+ ),
+ ¥
+ );
+ 
+ 248 
+ ¡
+  = 
+ ¡ack
+ ->
+ ¬y_¬¿y
+ ;
+ 
+ 249 
+ »t¡r
+  = 
+ ¡
+ [
+ Ãw¥
+ ];
+ 
+ 251 ià(
+ gÙo_rg
+ )
+ 
+ 253 
+ go_to
+  = 
+ NuÎch
+ ;
+ 
+ 254 
+ fšish_whže
+ ;
+ 
+ 256 
+ cmd
+  = cmd->
+ c_Ãxt
+ ;
+ 
+ 257 ià(
+ cmd
+  && cmd->
+ c_h—d
+  == cmd)
+ 
+ 259  
+ ¥
+ ;
+ 
+ 260 ià(
+ cmdæags
+  & 
+ CF_ONCE
+ ) {
+ 
+ 261 #ifdeà
+ DEBUGGING
+ 
+ 
+ 262 ià(
+ debug
+  & 4) {
+ 
+ 263 
+ tmps
+  = 
+ loÝ_¡ack
+ [
+ loÝ_±r
+ ].
+ loÝ_Ïb–
+ ;
+ 
+ 264 
+ 	`deb
+ ("(PÝpšg†ab– #%d %s)\n",
+ loÝ_±r
+ ,
+ 
+ 265 
+ tmps
+  ?mps : "" );
+ 
+ 268 
+ loÝ_±r
+ --;
+ 
+ 270 
+ ž_»cursiÚ_’Œy
+ ;
+ 
+ 274 
+ uÁž_loÝ
+ :
+ 
+ 278 
+ curcmd
+  = 
+ cmd
+ ;
+ 
+ 280 #ifdeà
+ DEBUGGING
+ 
+ 
+ 281 ià(
+ debug
+ ) {
+ 
+ 282 ià(
+ debug
+  & 2) {
+ 
+ 283 
+ 	`deb
+ ("%s (%lx)„%lx%lx‡%lx‚%lx cs%lx\n",
+ 
+ 284 
+ cmdÇme
+ [
+ cmd
+ ->
+ c_ty³
+ ],cmd,cmd->
+ c_ex´
+ ,
+ 
+ 285 
+ cmd
+ ->
+ ucmd
+ .
+ ccmd
+ .
+ cc_Œue
+ ,cmd->ucmd.ccmd.
+ cc_®t
+ ,cmd->
+ c_Ãxt
+ ,
+ 
+ 286 
+ cur¥©
+ );
+ 
+ 288 
+ debÇme
+ [
+ dËv–
+ ] = 
+ cmdÇme
+ [
+ cmd
+ ->
+ c_ty³
+ ][0];
+ 
+ 289 
+ debd–im
+ [
+ dËv–
+ ] = '!';
+ 
+ 290 ià(++
+ dËv–
+  >ð
+ dlmax
+ )
+ 
+ 291 
+ 	`grow_dËv–
+ ();
+ 
+ 297 ià(
+ cmdæags
+  & 
+ CF_COND
+ ) {
+ 
+ 298 
+ cmdæags
+  & 
+ CF_OPTIMIZE
+ ) {
+ 
+ 300 
+ CFT_FALSE
+ :
+ 
+ 301 
+ »t¡r
+  = 
+ cmd
+ ->
+ c_shÜt
+ ;
+ 
+ 302 
+ Ãw¥
+  = -2;
+ 
+ 303 
+ m©ch
+  = 
+ FALSE
+ ;
+ 
+ 304 ià(
+ cmdæags
+  & 
+ CF_NESURE
+ )
+ 
+ 305 
+ maybe
+ ;
+ 
+ 307 
+ CFT_TRUE
+ :
+ 
+ 308 
+ »t¡r
+  = 
+ cmd
+ ->
+ c_shÜt
+ ;
+ 
+ 309 
+ Ãw¥
+  = -2;
+ 
+ 310 
+ m©ch
+  = 
+ TRUE
+ ;
+ 
+ 311 ià(
+ cmdæags
+  & 
+ CF_EQSURE
+ )
+ 
+ 312 
+ æmaybe
+ ;
+ 
+ 315 
+ CFT_REG
+ :
+ 
+ 316 
+ »t¡r
+  = 
+ 	`STAB_STR
+ (
+ cmd
+ ->
+ c_¡ab
+ );
+ 
+ 317 
+ Ãw¥
+  = -2;
+ 
+ 318 
+ m©ch
+  = 
+ 	`¡r_Œue
+ (
+ »t¡r
+ );
+ 
+ 319 ià(
+ cmdæags
+  & (
+ m©ch
+  ? 
+ CF_EQSURE
+  : 
+ CF_NESURE
+ ))
+ 
+ 320 
+ æmaybe
+ ;
+ 
+ 323 
+ CFT_ANCHOR
+ :
+ 
+ 324 ià(
+ muÉžše
+ ) {
+ 
+ 325 ià(*
+ cmd
+ ->
+ c_shÜt
+ ->
+ ¡r_±r
+  && !(
+ cmdæags
+  & 
+ CF_EQSURE
+ ))
+ 
+ 326 
+ sÿ”
+ ;
+ 
+ 331 
+ CFT_STROP
+ :
+ 
+ 332 
+ »t¡r
+  = 
+ 	`STAB_STR
+ (
+ cmd
+ ->
+ c_¡ab
+ );
+ 
+ 333 
+ Ãw¥
+  = -2;
+ 
+ 334 #iâdeà
+ I286
+ 
+ 
+ 335 ià(*
+ cmd
+ ->
+ c_shÜt
+ ->
+ ¡r_±r
+  =ð*
+ 	`¡r_g‘
+ (
+ »t¡r
+ ) &&
+ 
+ 336 
+ 	`bcmp
+ (
+ cmd
+ ->
+ c_shÜt
+ ->
+ ¡r_±r
+ , 
+ 	`¡r_g‘
+ (
+ »t¡r
+ ),
+ 
+ 337 
+ cmd
+ ->
+ c_¦’
+ ) == 0 ) {
+ 
+ 338 ià(
+ cmdæags
+  & 
+ CF_EQSURE
+ ) {
+ 
+ 339 ià(
+ §wam³r§nd
+  && (
+ cmdæags
+  & 
+ CF_OPTIMIZE
+ è!ð
+ CFT_STROP
+ ) {
+ 
+ 340 
+ cur¥©
+  = 
+ Nu봩
+ ;
+ 
+ 341 ià(
+ Ëá¡ab
+ )
+ 
+ 342 
+ 	`¡r_n£t
+ (
+ 	`¡ab_v®
+ (
+ Ëá¡ab
+ ),"",0);
+ 
+ 343 ià(
+ am³r¡ab
+ )
+ 
+ 344 
+ 	`¡r_s£t
+ (
+ 	`¡ab_v®
+ (
+ am³r¡ab
+ ),
+ cmd
+ ->
+ c_shÜt
+ );
+ 
+ 345 ià(
+ right¡ab
+ )
+ 
+ 346 
+ 	`¡r_n£t
+ (
+ 	`¡ab_v®
+ (
+ right¡ab
+ ),
+ 
+ 347 
+ »t¡r
+ ->
+ ¡r_±r
+  + 
+ cmd
+ ->
+ c_¦’
+ ,
+ 
+ 348 
+ »t¡r
+ ->
+ ¡r_cur
+  - 
+ cmd
+ ->
+ c_¦’
+ );
+ 
+ 350 ià(
+ cmd
+ ->
+ c_¥©
+ )
+ 
+ 351 
+ Ï¡¥©
+  = 
+ cmd
+ ->
+ c_¥©
+ ;
+ 
+ 352 
+ m©ch
+  = !(
+ cmdæags
+  & 
+ CF_FIRSTNEG
+ );
+ 
+ 353 
+ »t¡r
+  = &
+ ¡r_yes
+ ;
+ 
+ 354 
+ æmaybe
+ ;
+ 
+ 357 ià(
+ cmdæags
+  & 
+ CF_NESURE
+ ) {
+ 
+ 358 
+ m©ch
+  = 
+ cmdæags
+  & 
+ CF_FIRSTNEG
+ ;
+ 
+ 359 
+ »t¡r
+  = &
+ ¡r_no
+ ;
+ 
+ 360 
+ æmaybe
+ ;
+ 
+ 364 *
+ z­1
+ , *
+ z­2
+ , 
+ z­1c
+ , 
+ z­2c
+ ;
+ 
+ 365 
+ z­Ën
+ ;
+ 
+ 367 
+ z­1
+  = 
+ cmd
+ ->
+ c_shÜt
+ ->
+ ¡r_±r
+ ;
+ 
+ 368 
+ z­2
+  = 
+ 	`¡r_g‘
+ (
+ »t¡r
+ );
+ 
+ 369 
+ z­1c
+  = *
+ z­1
+ ;
+ 
+ 370 
+ z­2c
+  = *
+ z­2
+ ;
+ 
+ 371 
+ z­Ën
+  = 
+ cmd
+ ->
+ c_¦’
+ ;
+ 
+ 372 ià((
+ z­1c
+  =ð
+ z­2c
+ è&& (
+ 	`bcmp
+ (
+ z­1
+ , 
+ z­2
+ , 
+ z­Ën
+ ) == 0)) {
+ 
+ 373 ià(
+ cmdæags
+  & 
+ CF_EQSURE
+ ) {
+ 
+ 374 ià(
+ §wam³r§nd
+  &&
+ 
+ 375 (
+ cmdæags
+  & 
+ CF_OPTIMIZE
+ è!ð
+ CFT_STROP
+ ) {
+ 
+ 376 
+ cur¥©
+  = 
+ Nu봩
+ ;
+ 
+ 377 ià(
+ Ëá¡ab
+ )
+ 
+ 378 
+ 	`¡r_n£t
+ (
+ 	`¡ab_v®
+ (
+ Ëá¡ab
+ ),"",0);
+ 
+ 379 ià(
+ am³r¡ab
+ )
+ 
+ 380 
+ 	`¡r_s£t
+ (
+ 	`¡ab_v®
+ (
+ am³r¡ab
+ ),
+ cmd
+ ->
+ c_shÜt
+ );
+ 
+ 381 ià(
+ right¡ab
+ )
+ 
+ 382 
+ 	`¡r_n£t
+ (
+ 	`¡ab_v®
+ (
+ right¡ab
+ ),
+ 
+ 383 
+ »t¡r
+ ->
+ ¡r_±r
+  + 
+ cmd
+ ->
+ c_¦’
+ ,
+ 
+ 384 
+ »t¡r
+ ->
+ ¡r_cur
+  - 
+ cmd
+ ->
+ c_¦’
+ );
+ 
+ 386 ià(
+ cmd
+ ->
+ c_¥©
+ )
+ 
+ 387 
+ Ï¡¥©
+  = 
+ cmd
+ ->
+ c_¥©
+ ;
+ 
+ 388 
+ m©ch
+  = !(
+ cmdæags
+  & 
+ CF_FIRSTNEG
+ );
+ 
+ 389 
+ »t¡r
+  = &
+ ¡r_yes
+ ;
+ 
+ 390 
+ æmaybe
+ ;
+ 
+ 393 ià(
+ cmdæags
+  & 
+ CF_NESURE
+ ) {
+ 
+ 394 
+ m©ch
+  = 
+ cmdæags
+  & 
+ CF_FIRSTNEG
+ ;
+ 
+ 395 
+ »t¡r
+  = &
+ ¡r_no
+ ;
+ 
+ 396 
+ æmaybe
+ ;
+ 
+ 402 
+ CFT_SCAN
+ :
+ 
+ 403 
+ sÿ”
+ :
+ 
+ 404 
+ »t¡r
+  = 
+ 	`STAB_STR
+ (
+ cmd
+ ->
+ c_¡ab
+ );
+ 
+ 405 
+ Ãw¥
+  = -2;
+ 
+ 406 ià(
+ »t¡r
+ ->
+ ¡r_pok
+  & 
+ SP_STUDIED
+ )
+ 
+ 407 ià(
+ sü—mfœ¡
+ [
+ cmd
+ ->
+ c_shÜt
+ ->
+ ¡r_¿»
+ ] >= 0)
+ 
+ 408 
+ tmps
+  = 
+ 	`sü—mš¡r
+ (
+ »t¡r
+ , 
+ cmd
+ ->
+ c_shÜt
+ );
+ 
+ 410 
+ tmps
+  = 
+ NuÎch
+ ;
+ 
+ 412 
+ tmps
+  = 
+ 	`¡r_g‘
+ (
+ »t¡r
+ );
+ 
+ 413 #iâdeà
+ lšt
+ 
+ 
+ 414 
+ tmps
+  = 
+ 	`fbmš¡r
+ ((*)tmps,
+ 
+ 415 (*)
+ tmps
+  + 
+ »t¡r
+ ->
+ ¡r_cur
+ , 
+ cmd
+ ->
+ c_shÜt
+ );
+ 
+ 418 ià(
+ tmps
+ ) {
+ 
+ 419 ià(
+ cmdæags
+  & 
+ CF_EQSURE
+ ) {
+ 
+ 420 ++
+ cmd
+ ->
+ c_shÜt
+ ->
+ ¡r_u
+ .
+ ¡r_u£ful
+ ;
+ 
+ 421 ià(
+ §wam³r§nd
+ ) {
+ 
+ 422 
+ cur¥©
+  = 
+ Nu봩
+ ;
+ 
+ 423 ià(
+ Ëá¡ab
+ )
+ 
+ 424 
+ 	`¡r_n£t
+ (
+ 	`¡ab_v®
+ (
+ Ëá¡ab
+ ),
+ »t¡r
+ ->
+ ¡r_±r
+ ,
+ 
+ 425 
+ tmps
+  - 
+ »t¡r
+ ->
+ ¡r_±r
+ );
+ 
+ 426 ià(
+ am³r¡ab
+ )
+ 
+ 427 
+ 	`¡r_n£t
+ (
+ 	`¡ab_v®
+ (
+ am³r¡ab
+ ),
+ 
+ 428 
+ tmps
+ , 
+ cmd
+ ->
+ c_shÜt
+ ->
+ ¡r_cur
+ );
+ 
+ 429 ià(
+ right¡ab
+ )
+ 
+ 430 
+ 	`¡r_n£t
+ (
+ 	`¡ab_v®
+ (
+ right¡ab
+ ),
+ 
+ 431 
+ tmps
+  + 
+ cmd
+ ->
+ c_shÜt
+ ->
+ ¡r_cur
+ ,
+ 
+ 432 
+ »t¡r
+ ->
+ ¡r_cur
+  - (
+ tmps
+  -„‘¡r->
+ ¡r_±r
+ ) -
+ 
+ 433 
+ cmd
+ ->
+ c_shÜt
+ ->
+ ¡r_cur
+ );
+ 
+ 435 
+ Ï¡¥©
+  = 
+ cmd
+ ->
+ c_¥©
+ ;
+ 
+ 436 
+ m©ch
+  = !(
+ cmdæags
+  & 
+ CF_FIRSTNEG
+ );
+ 
+ 437 
+ »t¡r
+  = &
+ ¡r_yes
+ ;
+ 
+ 438 
+ æmaybe
+ ;
+ 
+ 441 
+ hšt
+  = 
+ tmps
+ ;
+ 
+ 444 ià(
+ cmdæags
+  & 
+ CF_NESURE
+ ) {
+ 
+ 445 ++
+ cmd
+ ->
+ c_shÜt
+ ->
+ ¡r_u
+ .
+ ¡r_u£ful
+ ;
+ 
+ 446 
+ m©ch
+  = 
+ cmdæags
+  & 
+ CF_FIRSTNEG
+ ;
+ 
+ 447 
+ »t¡r
+  = &
+ ¡r_no
+ ;
+ 
+ 448 
+ æmaybe
+ ;
+ 
+ 451 ià(--
+ cmd
+ ->
+ c_shÜt
+ ->
+ ¡r_u
+ .
+ ¡r_u£ful
+  < 0) {
+ 
+ 452 
+ cmdæags
+  &ð~
+ CF_OPTIMIZE
+ ;
+ 
+ 453 
+ cmdæags
+  |ð
+ CFT_EVAL
+ ;
+ 
+ 454 
+ cmd
+ ->
+ c_æags
+  = (
+ cmdæags
+  & ~
+ CF_ONCE
+ );
+ 
+ 458 
+ CFT_NUMOP
+ :
+ 
+ 459 
+ »t¡r
+  = 
+ 	`STAB_STR
+ (
+ cmd
+ ->
+ c_¡ab
+ );
+ 
+ 460 
+ Ãw¥
+  = -2;
+ 
+ 461 
+ cmd
+ ->
+ c_¦’
+ ) {
+ 
+ 462 
+ O_EQ
+ :
+ 
+ 463 ià(
+ dow¬n
+ ) {
+ 
+ 464 ià((!
+ »t¡r
+ ->
+ ¡r_nok
+  && !
+ 	`looks_like_numb”
+ (retstr)))
+ 
+ 465 
+ 	`w¬n
+ ("Possible use of == on string value");
+ 
+ 467 
+ m©ch
+  = (
+ 	`¡r_gnum
+ (
+ »t¡r
+ è=ð
+ cmd
+ ->
+ c_shÜt
+ ->
+ ¡r_u
+ .
+ ¡r_nv®
+ );
+ 
+ 469 
+ O_NE
+ :
+ 
+ 470 
+ m©ch
+  = (
+ 	`¡r_gnum
+ (
+ »t¡r
+ è!ð
+ cmd
+ ->
+ c_shÜt
+ ->
+ ¡r_u
+ .
+ ¡r_nv®
+ );
+ 
+ 472 
+ O_LT
+ :
+ 
+ 473 
+ m©ch
+  = (
+ 	`¡r_gnum
+ (
+ »t¡r
+ è< 
+ cmd
+ ->
+ c_shÜt
+ ->
+ ¡r_u
+ .
+ ¡r_nv®
+ );
+ 
+ 475 
+ O_LE
+ :
+ 
+ 476 
+ m©ch
+  = (
+ 	`¡r_gnum
+ (
+ »t¡r
+ è<ð
+ cmd
+ ->
+ c_shÜt
+ ->
+ ¡r_u
+ .
+ ¡r_nv®
+ );
+ 
+ 478 
+ O_GT
+ :
+ 
+ 479 
+ m©ch
+  = (
+ 	`¡r_gnum
+ (
+ »t¡r
+ è> 
+ cmd
+ ->
+ c_shÜt
+ ->
+ ¡r_u
+ .
+ ¡r_nv®
+ );
+ 
+ 481 
+ O_GE
+ :
+ 
+ 482 
+ m©ch
+  = (
+ 	`¡r_gnum
+ (
+ »t¡r
+ è>ð
+ cmd
+ ->
+ c_shÜt
+ ->
+ ¡r_u
+ .
+ ¡r_nv®
+ );
+ 
+ 485 ià(
+ m©ch
+ ) {
+ 
+ 486 ià(
+ cmdæags
+  & 
+ CF_EQSURE
+ ) {
+ 
+ 487 
+ »t¡r
+  = &
+ ¡r_yes
+ ;
+ 
+ 488 
+ æmaybe
+ ;
+ 
+ 491 ià(
+ cmdæags
+  & 
+ CF_NESURE
+ ) {
+ 
+ 492 
+ »t¡r
+  = &
+ ¡r_no
+ ;
+ 
+ 493 
+ æmaybe
+ ;
+ 
+ 497 
+ CFT_INDGETS
+ :
+ 
+ 498 
+ Ï¡_š_¡ab
+  = 
+ 	`¡ab’t
+ (
+ 	`¡r_g‘
+ (
+ 	`STAB_STR
+ (
+ cmd
+ ->
+ c_¡ab
+ )),
+ TRUE
+ );
+ 
+ 499 ià(!
+ 	`¡ab_io
+ (
+ Ï¡_š_¡ab
+ ))
+ 
+ 500 
+ 	`¡ab_io
+ (
+ Ï¡_š_¡ab
+ èð
+ 	`¡io_Ãw
+ ();
+ 
+ 501 
+ dog‘s
+ ;
+ 
+ 502 
+ CFT_GETS
+ :
+ 
+ 503 
+ Ï¡_š_¡ab
+  = 
+ cmd
+ ->
+ c_¡ab
+ ;
+ 
+ 504 
+ dog‘s
+ :
+ 
+ 505 
+ å
+  = 
+ 	`¡ab_io
+ (
+ Ï¡_š_¡ab
+ )->
+ iå
+ ;
+ 
+ 506 
+ »t¡r
+  = 
+ 	`¡ab_v®
+ (
+ def¡ab
+ );
+ 
+ 507 
+ Ãw¥
+  = -2;
+ 
+ 508 
+ k“pgošg
+ :
+ 
+ 509 ià(
+ å
+  && 
+ 	`¡r_g‘s
+ (
+ »t¡r
+ , fp, 0)) {
+ 
+ 510 ià(*
+ »t¡r
+ ->
+ ¡r_±r
+  =ð'0' &&„‘¡r->
+ ¡r_cur
+  == 1)
+ 
+ 511 
+ m©ch
+  = 
+ FALSE
+ ;
+ 
+ 513 
+ m©ch
+  = 
+ TRUE
+ ;
+ 
+ 514 
+ 	`¡ab_io
+ (
+ Ï¡_š_¡ab
+ )->
+ lšes
+ ++;
+ 
+ 516 ià(
+ 	`¡ab_io
+ (
+ Ï¡_š_¡ab
+ )->
+ æags
+  & 
+ IOF_ARGV
+ ) {
+ 
+ 517 ià(!
+ å
+ )
+ 
+ 518 
+ dÛv®
+ ;
+ 
+ 519 
+ å
+  = 
+ 	`Ãxrgv
+ (
+ Ï¡_š_¡ab
+ );
+ 
+ 520 ià(
+ å
+ )
+ 
+ 521 
+ k“pgošg
+ ;
+ 
+ 522 ()
+ 	`do_þo£
+ (
+ Ï¡_š_¡ab
+ ,
+ FALSE
+ );
+ 
+ 523 
+ 	`¡ab_io
+ (
+ Ï¡_š_¡ab
+ )->
+ æags
+  |ð
+ IOF_START
+ ;
+ 
+ 524 
+ »t¡r
+  = &
+ ¡r_undef
+ ;
+ 
+ 525 
+ m©ch
+  = 
+ FALSE
+ ;
+ 
+ 528 
+ »t¡r
+  = &
+ ¡r_undef
+ ;
+ 
+ 529 
+ m©ch
+  = 
+ FALSE
+ ;
+ 
+ 531 
+ æmaybe
+ ;
+ 
+ 532 
+ CFT_EVAL
+ :
+ 
+ 534 
+ CFT_UNFLIP
+ :
+ 
+ 535 
+ tmps_max
+  > 
+ tmps_ba£
+ ) {
+ 
+ 536 
+ 	`¡r_ä“
+ (
+ tmps_li¡
+ [
+ tmps_max
+ ]);
+ 
+ 537 
+ tmps_li¡
+ [
+ tmps_max
+ --] = 
+ NuΡr
+ ;
+ 
+ 539 
+ Ãw¥
+  = 
+ 	`ev®
+ (
+ cmd
+ ->
+ c_ex´
+ ,
+ gimme
+  && (
+ cmdæags
+  & 
+ CF_TERM
+ ),
+ ¥
+ );
+ 
+ 540 
+ ¡
+  = 
+ ¡ack
+ ->
+ ¬y_¬¿y
+ ;
+ 
+ 541 
+ »t¡r
+  = 
+ ¡
+ [
+ Ãw¥
+ ];
+ 
+ 542 
+ m©ch
+  = 
+ 	`¡r_Œue
+ (
+ »t¡r
+ );
+ 
+ 543 ià(
+ cmd
+ ->
+ c_ex´
+ ->
+ ¬g_ty³
+  =ð
+ O_FLIP
+ )
+ 
+ 544 
+ cmdæags
+  = 
+ 	`cÝyÝt
+ (
+ cmd
+ ,cmd->
+ c_ex´
+ [3].
+ ¬g_±r
+ .
+ ¬g_cmd
+ );
+ 
+ 545 
+ maybe
+ ;
+ 
+ 546 
+ CFT_CHOP
+ :
+ 
+ 547 
+ »t¡r
+  = 
+ 	`¡ab_v®
+ (
+ cmd
+ ->
+ c_¡ab
+ );
+ 
+ 548 
+ Ãw¥
+  = -2;
+ 
+ 549 
+ m©ch
+  = (
+ »t¡r
+ ->
+ ¡r_cur
+  != 0);
+ 
+ 550 
+ tmps
+  = 
+ 	`¡r_g‘
+ (
+ »t¡r
+ );
+ 
+ 551 
+ tmps
+  +ð
+ »t¡r
+ ->
+ ¡r_cur
+  - 
+ m©ch
+ ;
+ 
+ 552 
+ 	`¡r_n£t
+ (&
+ ¡r_chÝ
+ ,
+ tmps
+ ,
+ m©ch
+ );
+ 
+ 553 *
+ tmps
+  = '\0';
+ 
+ 554 
+ »t¡r
+ ->
+ ¡r_nok
+  = 0;
+ 
+ 555 
+ »t¡r
+ ->
+ ¡r_cur
+  = 
+ tmps
+  -„‘¡r->
+ ¡r_±r
+ ;
+ 
+ 556 
+ 	`STABSET
+ (
+ »t¡r
+ );
+ 
+ 557 
+ »t¡r
+  = &
+ ¡r_chÝ
+ ;
+ 
+ 558 
+ æmaybe
+ ;
+ 
+ 559 
+ CFT_ARRAY
+ :
+ 
+ 560 
+ m©ch
+  = 
+ cmd
+ ->
+ c_shÜt
+ ->
+ ¡r_u
+ .
+ ¡r_u£ful
+ ;
+ 
+ 562 ià(
+ m©ch
+  < 0) {
+ 
+ 563 
+ ¬
+  = 
+ 	`¡ab_¬¿y
+ (
+ cmd
+ ->
+ c_ex´
+ [1].
+ ¬g_±r
+ .
+ ¬g_¡ab
+ );
+ 
+ 564 
+ ¬yÝt§ve
+  = 
+ §ve¡ack
+ ->
+ ¬y_fžl
+ ;
+ 
+ 565 
+ 	`§ve¥Œ
+ (&
+ 	`¡ab_v®
+ (
+ cmd
+ ->
+ c_¡ab
+ ));
+ 
+ 566 
+ 	`§v–Úg
+ (&
+ cmd
+ ->
+ c_shÜt
+ ->
+ ¡r_u
+ .
+ ¡r_u£ful
+ );
+ 
+ 569 
+ ¬
+  = 
+ 	`¡ab_x¬¿y
+ (
+ cmd
+ ->
+ c_ex´
+ [1].
+ ¬g_±r
+ .
+ ¬g_¡ab
+ );
+ 
+ 570 ià(
+ cmd
+ ->
+ c_ty³
+  !ð
+ C_WHILE
+  && 
+ §ve¡ack
+ ->
+ ¬y_fžl
+  > 
+ fœ¡§ve
+ )
+ 
+ 571 
+ 	`»¡Ü–i¡
+ (
+ fœ¡§ve
+ );
+ 
+ 574 ià(
+ m©ch
+  >ð
+ ¬
+ ->
+ ¬y_fžl
+ ) {
+ 
+ 575 
+ »t¡r
+  = &
+ ¡r_undef
+ ;
+ 
+ 576 
+ cmd
+ ->
+ c_shÜt
+ ->
+ ¡r_u
+ .
+ ¡r_u£ful
+  = -1;
+ 
+ 577 
+ m©ch
+  = 
+ FALSE
+ ;
+ 
+ 580 
+ m©ch
+ ++;
+ 
+ 581 ià(!(
+ »t¡r
+  = 
+ ¬
+ ->
+ ¬y_¬¿y
+ [
+ m©ch
+ ]))
+ 
+ 582 
+ »t¡r
+  = 
+ 	`aãtch
+ (
+ ¬
+ ,
+ m©ch
+ ,
+ TRUE
+ );
+ 
+ 583 
+ 	`¡ab_v®
+ (
+ cmd
+ ->
+ c_¡ab
+ èð
+ »t¡r
+ ;
+ 
+ 584 
+ cmd
+ ->
+ c_shÜt
+ ->
+ ¡r_u
+ .
+ ¡r_u£ful
+  = 
+ m©ch
+ ;
+ 
+ 585 
+ m©ch
+  = 
+ TRUE
+ ;
+ 
+ 587 
+ Ãw¥
+  = -2;
+ 
+ 588 
+ maybe
+ ;
+ 
+ 589 
+ CFT_D1
+ :
+ 
+ 591 
+ CFT_D0
+ :
+ 
+ 592 ià(
+ DBsšgË
+ ->
+ ¡r_u
+ .
+ ¡r_nv®
+  != 0)
+ 
+ 594 ià(
+ DBsigÇl
+ ->
+ ¡r_u
+ .
+ ¡r_nv®
+  != 0)
+ 
+ 596 ià(
+ DBŒaû
+ ->
+ ¡r_u
+ .
+ ¡r_nv®
+  != 0)
+ 
+ 598 
+ Ãxt_cmd
+ ;
+ 
+ 603 
+ dÛv®
+ :
+ 
+ 604 ià(
+ gimme
+  =ð
+ G_ARRAY
+ ) {
+ 
+ 605 
+ Ï¡»t¡r
+  = 
+ NuΡr
+ ;
+ 
+ 606 
+ Ï¡¥ba£
+  = 
+ ¥
+ ;
+ 
+ 607 
+ ϡsize
+  = 
+ Ãw¥
+  - 
+ ¥
+ ;
+ 
+ 608 ià(
+ ϡsize
+  < 0)
+ 
+ 609 
+ ϡsize
+  = 0;
+ 
+ 612 
+ Ï¡»t¡r
+  = 
+ »t¡r
+ ;
+ 
+ 613 
+ tmps_max
+  > 
+ tmps_ba£
+ ) {
+ 
+ 614 
+ 	`¡r_ä“
+ (
+ tmps_li¡
+ [
+ tmps_max
+ ]);
+ 
+ 615 
+ tmps_li¡
+ [
+ tmps_max
+ --] = 
+ NuΡr
+ ;
+ 
+ 617 
+ Ãw¥
+  = 
+ 	`ev®
+ (
+ cmd
+ ->
+ c_ex´
+ ,
+ 
+ 618 
+ gimme
+  && (
+ cmdæags
+  & 
+ CF_TERM
+ è&& 
+ cmd
+ ->
+ c_ty³
+  =ð
+ C_EXPR
+  &&
+ 
+ 619 !
+ cmd
+ ->
+ ucmd
+ .
+ acmd
+ .
+ ac_ex´
+ ,
+ 
+ 620 
+ ¥
+ );
+ 
+ 621 
+ ¡
+  = 
+ ¡ack
+ ->
+ ¬y_¬¿y
+ ;
+ 
+ 622 
+ »t¡r
+  = 
+ ¡
+ [
+ Ãw¥
+ ];
+ 
+ 623 ià(
+ Ãw¥
+  > 
+ ¥
+  && 
+ »t¡r
+ )
+ 
+ 624 
+ m©ch
+  = 
+ 	`¡r_Œue
+ (
+ »t¡r
+ );
+ 
+ 626 
+ m©ch
+  = 
+ FALSE
+ ;
+ 
+ 627 
+ maybe
+ ;
+ 
+ 631 
+ æmaybe
+ :
+ 
+ 632 ià(
+ m©ch
+  && 
+ cmdæags
+  & 
+ CF_FLIP
+ ) {
+ 
+ 633 
+ tmps_max
+  > 
+ tmps_ba£
+ ) {
+ 
+ 634 
+ 	`¡r_ä“
+ (
+ tmps_li¡
+ [
+ tmps_max
+ ]);
+ 
+ 635 
+ tmps_li¡
+ [
+ tmps_max
+ --] = 
+ NuΡr
+ ;
+ 
+ 637 ià(
+ cmd
+ ->
+ c_ex´
+ ->
+ ¬g_ty³
+  =ð
+ O_FLOP
+ ) {
+ 
+ 638 
+ Ãw¥
+  = 
+ 	`ev®
+ (
+ cmd
+ ->
+ c_ex´
+ ,
+ G_SCALAR
+ ,
+ ¥
+ );
+ 
+ 639 
+ cmdæags
+  = 
+ 	`cÝyÝt
+ (
+ cmd
+ ,cmd->
+ c_ex´
+ [3].
+ ¬g_±r
+ .
+ ¬g_cmd
+ );
+ 
+ 642 
+ Ãw¥
+  = 
+ 	`ev®
+ (
+ cmd
+ ->
+ c_ex´
+ ,
+ G_SCALAR
+ ,
+ ¥
+ );
+ 
+ 643 ià(
+ cmd
+ ->
+ c_ex´
+ ->
+ ¬g_ty³
+  =ð
+ O_FLOP
+ )
+ 
+ 644 
+ cmdæags
+  = 
+ 	`cÝyÝt
+ (
+ cmd
+ ,cmd->
+ c_ex´
+ [4].
+ ¬g_±r
+ .
+ ¬g_cmd
+ );
+ 
+ 647 ià(
+ cmdæags
+  & 
+ CF_FLIP
+ ) {
+ 
+ 648 ià(
+ cmd
+ ->
+ c_ex´
+ ->
+ ¬g_ty³
+  =ð
+ O_FLOP
+ ) {
+ 
+ 649 
+ m©ch
+  = 
+ TRUE
+ ;
+ 
+ 655 
+ maybe
+ :
+ 
+ 656 ià(
+ cmdæags
+  & 
+ CF_INVERT
+ )
+ 
+ 657 
+ m©ch
+  = !match;
+ 
+ 658 ià(!
+ m©ch
+ )
+ 
+ 659 
+ Ãxt_cmd
+ ;
+ 
+ 661 #ifdeà
+ TAINT
+ 
+ 
+ 662 
+ š‹d
+  = 0;
+ 
+ 667 
+ cmd
+ ->
+ c_ty³
+ ) {
+ 
+ 668 
+ C_NULL
+ :
+ 
+ 669 
+ 	`çl
+ ("panic: cmd_exec");
+ 
+ 670 
+ C_EXPR
+ :
+ 
+ 671 ià(
+ cmd
+ ->
+ ucmd
+ .
+ acmd
+ .
+ ac_ex´
+ ) {
+ 
+ 672 ià(
+ gimme
+  =ð
+ G_ARRAY
+ ) {
+ 
+ 673 
+ Ï¡»t¡r
+  = 
+ NuΡr
+ ;
+ 
+ 674 
+ Ï¡¥ba£
+  = 
+ ¥
+ ;
+ 
+ 675 
+ ϡsize
+  = 
+ Ãw¥
+  - 
+ ¥
+ ;
+ 
+ 676 ià(
+ ϡsize
+  < 0)
+ 
+ 677 
+ ϡsize
+  = 0;
+ 
+ 680 
+ Ï¡»t¡r
+  = 
+ »t¡r
+ ;
+ 
+ 681 
+ tmps_max
+  > 
+ tmps_ba£
+ ) {
+ 
+ 682 
+ 	`¡r_ä“
+ (
+ tmps_li¡
+ [
+ tmps_max
+ ]);
+ 
+ 683 
+ tmps_li¡
+ [
+ tmps_max
+ --] = 
+ NuΡr
+ ;
+ 
+ 685 
+ Ãw¥
+  = 
+ 	`ev®
+ (
+ cmd
+ ->
+ ucmd
+ .
+ acmd
+ .
+ ac_ex´
+ ,
+ gimme
+  && (
+ cmdæags
+ &
+ CF_TERM
+ ),
+ ¥
+ );
+ 
+ 686 
+ ¡
+  = 
+ ¡ack
+ ->
+ ¬y_¬¿y
+ ;
+ 
+ 687 
+ »t¡r
+  = 
+ ¡
+ [
+ Ãw¥
+ ];
+ 
+ 690 
+ C_NSWITCH
+ :
+ 
+ 692 
+ v®ue
+  = 
+ 	`¡r_gnum
+ (
+ 	`STAB_STR
+ (
+ cmd
+ ->
+ c_¡ab
+ ));
+ 
+ 694 
+ m©ch
+  = ()
+ v®ue
+ ;
+ 
+ 695 ià(
+ v®ue
+  < 0.0) {
+ 
+ 696 ià((()
+ m©ch
+ è> 
+ v®ue
+ )
+ 
+ 697 --
+ m©ch
+ ;
+ 
+ 700 
+ dosw™ch
+ ;
+ 
+ 701 
+ C_CSWITCH
+ :
+ 
+ 702 
+ m©ch
+  = *(
+ 	`¡r_g‘
+ (
+ 	`STAB_STR
+ (
+ cmd
+ ->
+ c_¡ab
+ ))) & 255;
+ 
+ 703 
+ dosw™ch
+ :
+ 
+ 704 
+ m©ch
+  -ð
+ cmd
+ ->
+ ucmd
+ .
+ scmd
+ .
+ sc_off£t
+ ;
+ 
+ 705 ià(
+ m©ch
+  < 0)
+ 
+ 706 
+ m©ch
+  = 0;
+ 
+ 707 ià(
+ m©ch
+  > 
+ cmd
+ ->
+ ucmd
+ .
+ scmd
+ .
+ sc_max
+ )
+ 
+ 708 
+ m©ch
+  = 
+ cmd
+ ->
+ ucmd
+ .
+ scmd
+ .
+ sc_max
+ ;
+ 
+ 709 
+ cmd
+  = cmd->
+ ucmd
+ .
+ scmd
+ .
+ sc_Ãxt
+ [
+ m©ch
+ ];
+ 
+ 710 
+ ž_»cursiÚ_’Œy
+ ;
+ 
+ 711 
+ C_NEXT
+ :
+ 
+ 712 
+ cmd
+  = cmd->
+ ucmd
+ .
+ ccmd
+ .
+ cc_®t
+ ;
+ 
+ 713 
+ ž_»cursiÚ_’Œy
+ ;
+ 
+ 714 
+ C_ELSIF
+ :
+ 
+ 715 
+ 	`çl
+ ("panic: ELSIF");
+ 
+ 716 
+ C_IF
+ :
+ 
+ 717 
+ Þd¥©
+  = 
+ cur¥©
+ ;
+ 
+ 718 
+ Þd§ve
+  = 
+ §ve¡ack
+ ->
+ ¬y_fžl
+ ;
+ 
+ 719 #ifdeà
+ DEBUGGING
+ 
+ 
+ 720 
+ ÞddËv–
+  = 
+ dËv–
+ ;
+ 
+ 722 
+ »t¡r
+  = &
+ ¡r_yes
+ ;
+ 
+ 723 
+ Ãw¥
+  = -2;
+ 
+ 724 ià(
+ cmd
+ ->
+ ucmd
+ .
+ ccmd
+ .
+ cc_Œue
+ ) {
+ 
+ 725 #ifdeà
+ DEBUGGING
+ 
+ 
+ 726 ià(
+ debug
+ ) {
+ 
+ 727 
+ debÇme
+ [
+ dËv–
+ ] = 't';
+ 
+ 728 
+ debd–im
+ [
+ dËv–
+ ] = '_';
+ 
+ 729 ià(++
+ dËv–
+  >ð
+ dlmax
+ )
+ 
+ 730 
+ 	`grow_dËv–
+ ();
+ 
+ 733 
+ Ãw¥
+  = 
+ 	`cmd_exec
+ (
+ cmd
+ ->
+ ucmd
+ .
+ ccmd
+ .
+ cc_Œue
+ ,
+ gimme
+  && (
+ cmdæags
+  & 
+ CF_TERM
+ ),
+ ¥
+ );
+ 
+ 734 
+ ¡
+  = 
+ ¡ack
+ ->
+ ¬y_¬¿y
+ ;
+ 
+ 735 
+ »t¡r
+  = 
+ ¡
+ [
+ Ãw¥
+ ];
+ 
+ 737 
+ cur¥©
+  = 
+ Þd¥©
+ ;
+ 
+ 738 ià(
+ §ve¡ack
+ ->
+ ¬y_fžl
+  > 
+ Þd§ve
+ )
+ 
+ 739 
+ 	`»¡Ü–i¡
+ (
+ Þd§ve
+ );
+ 
+ 740 #ifdeà
+ DEBUGGING
+ 
+ 
+ 741 
+ dËv–
+  = 
+ ÞddËv–
+ ;
+ 
+ 743 
+ cmd
+  = cmd->
+ ucmd
+ .
+ ccmd
+ .
+ cc_®t
+ ;
+ 
+ 744 
+ ž_»cursiÚ_’Œy
+ ;
+ 
+ 745 
+ C_ELSE
+ :
+ 
+ 746 
+ Þd¥©
+  = 
+ cur¥©
+ ;
+ 
+ 747 
+ Þd§ve
+  = 
+ §ve¡ack
+ ->
+ ¬y_fžl
+ ;
+ 
+ 748 #ifdeà
+ DEBUGGING
+ 
+ 
+ 749 
+ ÞddËv–
+  = 
+ dËv–
+ ;
+ 
+ 751 
+ »t¡r
+  = &
+ ¡r_undef
+ ;
+ 
+ 752 
+ Ãw¥
+  = -2;
+ 
+ 753 ià(
+ cmd
+ ->
+ ucmd
+ .
+ ccmd
+ .
+ cc_Œue
+ ) {
+ 
+ 754 #ifdeà
+ DEBUGGING
+ 
+ 
+ 755 ià(
+ debug
+ ) {
+ 
+ 756 
+ debÇme
+ [
+ dËv–
+ ] = 'e';
+ 
+ 757 
+ debd–im
+ [
+ dËv–
+ ] = '_';
+ 
+ 758 ià(++
+ dËv–
+  >ð
+ dlmax
+ )
+ 
+ 759 
+ 	`grow_dËv–
+ ();
+ 
+ 762 
+ Ãw¥
+  = 
+ 	`cmd_exec
+ (
+ cmd
+ ->
+ ucmd
+ .
+ ccmd
+ .
+ cc_Œue
+ ,
+ gimme
+  && (
+ cmdæags
+  & 
+ CF_TERM
+ ),
+ ¥
+ );
+ 
+ 763 
+ ¡
+  = 
+ ¡ack
+ ->
+ ¬y_¬¿y
+ ;
+ 
+ 764 
+ »t¡r
+  = 
+ ¡
+ [
+ Ãw¥
+ ];
+ 
+ 766 
+ cur¥©
+  = 
+ Þd¥©
+ ;
+ 
+ 767 ià(
+ §ve¡ack
+ ->
+ ¬y_fžl
+  > 
+ Þd§ve
+ )
+ 
+ 768 
+ 	`»¡Ü–i¡
+ (
+ Þd§ve
+ );
+ 
+ 769 #ifdeà
+ DEBUGGING
+ 
+ 
+ 770 
+ dËv–
+  = 
+ ÞddËv–
+ ;
+ 
+ 773 
+ C_BLOCK
+ :
+ 
+ 774 
+ C_WHILE
+ :
+ 
+ 775 ià(!(
+ cmdæags
+  & 
+ CF_ONCE
+ )) {
+ 
+ 776 
+ cmdæags
+  |ð
+ CF_ONCE
+ ;
+ 
+ 777 ià(++
+ loÝ_±r
+  >ð
+ loÝ_max
+ ) {
+ 
+ 778 
+ loÝ_max
+  += 128;
+ 
+ 779 
+ 	`R’ew
+ (
+ loÝ_¡ack
+ , 
+ loÝ_max
+ , 
+ loÝ
+ );
+ 
+ 781 
+ loÝ_¡ack
+ [
+ loÝ_±r
+ ].
+ loÝ_Ïb–
+  = 
+ cmd
+ ->
+ c_Ïb–
+ ;
+ 
+ 782 
+ loÝ_¡ack
+ [
+ loÝ_±r
+ ].
+ loÝ_¥
+  = 
+ ¥
+ ;
+ 
+ 783 #ifdeà
+ DEBUGGING
+ 
+ 
+ 784 ià(
+ debug
+  & 4) {
+ 
+ 785 
+ 	`deb
+ ("(Pushing†abel #%d %s)\n",
+ 
+ 786 
+ loÝ_±r
+ , 
+ cmd
+ ->
+ c_Ïb–
+  ? cmd->c_label : "");
+ 
+ 790 #ifdeà
+ JMPCLOBBER
+ 
+ 
+ 791 
+ cmd·rm
+  = 
+ cmd
+ ;
+ 
+ 793 
+ m©ch
+  = 
+ 	`£tjmp
+ (
+ loÝ_¡ack
+ [
+ loÝ_±r
+ ].
+ loÝ_’v
+ );
+ 
+ 794 ià(
+ m©ch
+ ) {
+ 
+ 795 
+ ¡
+  = 
+ ¡ack
+ ->
+ ¬y_¬¿y
+ ;
+ 
+ 796 #ifdeà
+ JMPCLOBBER
+ 
+ 
+ 797 
+ cmd
+  = 
+ cmd·rm
+ ;
+ 
+ 798 
+ cmdæags
+  = 
+ cmd
+ ->
+ c_æags
+ |
+ CF_ONCE
+ ;
+ 
+ 799 
+ go_to
+  = 
+ gÙo_rg
+ ;
+ 
+ 801 ià(
+ §ve¡ack
+ ->
+ ¬y_fžl
+  > 
+ Þd§ve
+ )
+ 
+ 802 
+ 	`»¡Ü–i¡
+ (
+ Þd§ve
+ );
+ 
+ 803 
+ m©ch
+ ) {
+ 
+ 805 
+ 	`çl
+ ("lÚgjm°»tuºed bad v®u(%d)",
+ m©ch
+ );
+ 
+ 806 
+ O_LAST
+ :
+ 
+ 807 ià(
+ Ï¡»t¡r
+ ) {
+ 
+ 808 
+ »t¡r
+  = 
+ Ï¡»t¡r
+ ;
+ 
+ 809 
+ Ãw¥
+  = -2;
+ 
+ 812 
+ Ãw¥
+  = 
+ ¥
+  + 
+ ϡsize
+ ;
+ 
+ 813 
+ »t¡r
+  = 
+ ¡
+ [
+ Ãw¥
+ ];
+ 
+ 815 
+ cur¥©
+  = 
+ Þd¥©
+ ;
+ 
+ 816 
+ Ãxt_cmd
+ ;
+ 
+ 817 
+ O_NEXT
+ :
+ 
+ 818 #ifdeà
+ JMPCLOBBER
+ 
+ 
+ 819 
+ Ãw¥
+  = -2;
+ 
+ 820 
+ »t¡r
+  = &
+ ¡r_undef
+ ;
+ 
+ 822 
+ Ãxt_™”
+ ;
+ 
+ 823 
+ O_REDO
+ :
+ 
+ 824 #ifdeà
+ DEBUGGING
+ 
+ 
+ 825 
+ dËv–
+  = 
+ ÞddËv–
+ ;
+ 
+ 827 #ifdeà
+ JMPCLOBBER
+ 
+ 
+ 828 
+ Ãw¥
+  = -2;
+ 
+ 829 
+ »t¡r
+  = &
+ ¡r_undef
+ ;
+ 
+ 831 
+ do™
+ ;
+ 
+ 834 
+ Þd¥©
+  = 
+ cur¥©
+ ;
+ 
+ 835 
+ Þd§ve
+  = 
+ §ve¡ack
+ ->
+ ¬y_fžl
+ ;
+ 
+ 836 #ifdeà
+ DEBUGGING
+ 
+ 
+ 837 
+ ÞddËv–
+  = 
+ dËv–
+ ;
+ 
+ 839 
+ do™
+ :
+ 
+ 840 ià(
+ cmd
+ ->
+ ucmd
+ .
+ ccmd
+ .
+ cc_Œue
+ ) {
+ 
+ 841 #ifdeà
+ DEBUGGING
+ 
+ 
+ 842 ià(
+ debug
+ ) {
+ 
+ 843 
+ debÇme
+ [
+ dËv–
+ ] = 't';
+ 
+ 844 
+ debd–im
+ [
+ dËv–
+ ] = '_';
+ 
+ 845 ià(++
+ dËv–
+  >ð
+ dlmax
+ )
+ 
+ 846 
+ 	`grow_dËv–
+ ();
+ 
+ 849 
+ Ãw¥
+  = 
+ 	`cmd_exec
+ (
+ cmd
+ ->
+ ucmd
+ .
+ ccmd
+ .
+ cc_Œue
+ ,
+ gimme
+  && (
+ cmdæags
+  & 
+ CF_TERM
+ ),
+ ¥
+ );
+ 
+ 850 
+ ¡
+  = 
+ ¡ack
+ ->
+ ¬y_¬¿y
+ ;
+ 
+ 851 
+ »t¡r
+  = 
+ ¡
+ [
+ Ãw¥
+ ];
+ 
+ 856 
+ Ãxt_™”
+ :
+ 
+ 857 #ifdeà
+ DEBUGGING
+ 
+ 
+ 858 
+ dËv–
+  = 
+ ÞddËv–
+ ;
+ 
+ 860 ià(
+ cmd
+ ->
+ ucmd
+ .
+ ccmd
+ .
+ cc_®t
+ ) {
+ 
+ 861 #ifdeà
+ DEBUGGING
+ 
+ 
+ 862 ià(
+ debug
+ ) {
+ 
+ 863 
+ debÇme
+ [
+ dËv–
+ ] = 'a';
+ 
+ 864 
+ debd–im
+ [
+ dËv–
+ ] = '_';
+ 
+ 865 ià(++
+ dËv–
+  >ð
+ dlmax
+ )
+ 
+ 866 
+ 	`grow_dËv–
+ ();
+ 
+ 869 
+ Ãw¥
+  = 
+ 	`cmd_exec
+ (
+ cmd
+ ->
+ ucmd
+ .
+ ccmd
+ .
+ cc_®t
+ ,
+ gimme
+  && (
+ cmdæags
+  & 
+ CF_TERM
+ ),
+ ¥
+ );
+ 
+ 870 
+ ¡
+  = 
+ ¡ack
+ ->
+ ¬y_¬¿y
+ ;
+ 
+ 871 
+ »t¡r
+  = 
+ ¡
+ [
+ Ãw¥
+ ];
+ 
+ 873 
+ fšish_whže
+ :
+ 
+ 874 
+ cur¥©
+  = 
+ Þd¥©
+ ;
+ 
+ 875 ià(
+ §ve¡ack
+ ->
+ ¬y_fžl
+  > 
+ Þd§ve
+ ) {
+ 
+ 876 ià(
+ cmdæags
+  & 
+ CF_TERM
+ ) {
+ 
+ 877 
+ m©ch
+  = 
+ ¥
+  + 1; m©ch <ð
+ Ãw¥
+ ; match++)
+ 
+ 878 
+ ¡
+ [
+ m©ch
+ ] = 
+ 	`¡r_m܏l
+ (st[match]);
+ 
+ 879 
+ »t¡r
+  = 
+ ¡
+ [
+ Ãw¥
+ ];
+ 
+ 881 
+ 	`»¡Ü–i¡
+ (
+ Þd§ve
+ );
+ 
+ 883 #ifdeà
+ DEBUGGING
+ 
+ 
+ 884 
+ dËv–
+  = 
+ ÞddËv–
+  - 1;
+ 
+ 886 ià(
+ cmd
+ ->
+ c_ty³
+  !ð
+ C_BLOCK
+ )
+ 
+ 887 
+ uÁž_loÝ
+ ;
+ 
+ 889 ià(
+ cmdæags
+  & 
+ CF_LOOP
+ ) {
+ 
+ 890 
+ cmdæags
+  |ð
+ CF_COND
+ ;
+ 
+ 891 #ifdeà
+ DEBUGGING
+ 
+ 
+ 892 
+ dËv–
+  = 
+ ’tdËv–
+ ;
+ 
+ 894 
+ uÁž_loÝ
+ ;
+ 
+ 896 
+ Ãxt_cmd
+ :
+ 
+ 897 ià(
+ cmdæags
+  & 
+ CF_ONCE
+ ) {
+ 
+ 898 #ifdeà
+ DEBUGGING
+ 
+ 
+ 899 ià(
+ debug
+  & 4) {
+ 
+ 900 
+ tmps
+  = 
+ loÝ_¡ack
+ [
+ loÝ_±r
+ ].
+ loÝ_Ïb–
+ ;
+ 
+ 901 
+ 	`deb
+ ("(PÝpšg†ab– #%d %s)\n",
+ loÝ_±r
+ , 
+ tmps
+  ?mps : "");
+ 
+ 904 
+ loÝ_±r
+ --;
+ 
+ 905 ià((
+ cmdæags
+  & 
+ CF_OPTIMIZE
+ è=ð
+ CFT_ARRAY
+  &&
+ 
+ 906 
+ §ve¡ack
+ ->
+ ¬y_fžl
+  > 
+ ¬yÝt§ve
+ )
+ 
+ 907 
+ 	`»¡Ü–i¡
+ (
+ ¬yÝt§ve
+ );
+ 
+ 909 
+ cmd
+  = cmd->
+ c_Ãxt
+ ;
+ 
+ 910 
+ ž_»cursiÚ_’Œy
+ ;
+ 
+ 911 
+ 	}
+ }
+ 
+ 913 #ifdeà
+ DEBUGGING
+ 
+ 
+ 914 #iâdeà
+ I_VARARGS
+ 
+ 
+ 916 
+ 	$deb
+ (
+ ·t
+ ,
+ a1
+ ,
+ a2
+ ,
+ a3
+ ,
+ a4
+ ,
+ a5
+ ,
+ a6
+ ,
+ a7
+ ,
+ a8
+ )
+ 
+ 917 *
+ ·t
+ ;
+ 
+ 919 
+ i
+ ;
+ 
+ 921 
+ 	`årštf
+ (
+ ¡d”r
+ ,"%-4ld",()
+ curcmd
+ ->
+ c_lše
+ );
+ 
+ 922 
+ i
+ =0; i<
+ dËv–
+ ; i++)
+ 
+ 923 
+ 	`årštf
+ (
+ ¡d”r
+ ,"%c%ø",
+ debÇme
+ [
+ i
+ ],
+ debd–im
+ [i]);
+ 
+ 924 
+ 	`årštf
+ (
+ ¡d”r
+ ,
+ ·t
+ ,
+ a1
+ ,
+ a2
+ ,
+ a3
+ ,
+ a4
+ ,
+ a5
+ ,
+ a6
+ ,
+ a7
+ ,
+ a8
+ );
+ 
+ 925 
+ 	}
+ }
+ 
+ 928 
+ 	$deb
+ (
+ va_®i¡
+ )
+ 
+ 929 
+ va_dþ
+ 
+ 
+ 931 
+ va_li¡
+  
+ ¬gs
+ ;
+ 
+ 932 *
+ ·t
+ ;
+ 
+ 933 
+ i
+ ;
+ 
+ 935 
+ 	`va_¡¬t
+ (
+ ¬gs
+ );
+ 
+ 936 
+ 	`årštf
+ (
+ ¡d”r
+ ,"%-4ld",()
+ curcmd
+ ->
+ c_lše
+ );
+ 
+ 937 
+ i
+ =0; i<
+ dËv–
+ ; i++)
+ 
+ 938 
+ 	`årštf
+ (
+ ¡d”r
+ ,"%c%ø",
+ debÇme
+ [
+ i
+ ],
+ debd–im
+ [i]);
+ 
+ 940 
+ ·t
+  = 
+ 	`va_¬g
+ (
+ ¬gs
+ , *);
+ 
+ 941 (è
+ 	`vårštf
+ (
+ ¡d”r
+ ,
+ ·t
+ ,
+ ¬gs
+ );
+ 
+ 942 
+ 	`va_’d
+ Ð
+ ¬gs
+  );
+ 
+ 943 
+ 	}
+ }
+ 
+ 947 
+ 	$cÝyÝt
+ (
+ cmd
+ ,
+ which
+ )
+ 
+ 948 
+ CMD
+  *
+ cmd
+ ;
+ 
+ 949 
+ CMD
+  *
+ which
+ ;
+ 
+ 951 
+ cmd
+ ->
+ c_æags
+  &ð
+ CF_ONCE
+ |
+ CF_COND
+ |
+ CF_LOOP
+ ;
+ 
+ 952 
+ cmd
+ ->
+ c_æags
+  |ð
+ which
+ ->c_flags;
+ 
+ 953 
+ cmd
+ ->
+ c_shÜt
+  = 
+ which
+ ->c_short;
+ 
+ 954 
+ cmd
+ ->
+ c_¦’
+  = 
+ which
+ ->c_slen;
+ 
+ 955 
+ cmd
+ ->
+ c_¡ab
+  = 
+ which
+ ->c_stab;
+ 
+ 956  
+ cmd
+ ->
+ c_æags
+ ;
+ 
+ 957 
+ 	}
+ }
+ 
+ 959 
+ ARRAY
+  *
+ 
+ 960 
+ 	$§v—ry
+ (
+ ¡ab
+ )
+ 
+ 961 
+ STAB
+  *
+ ¡ab
+ ;
+ 
+ 963 
+ STR
+  *
+ ¡r
+ ;
+ 
+ 965 
+ ¡r
+  = 
+ 	`SŒ_Ãw
+ (10,0);
+ 
+ 966 
+ ¡r
+ ->
+ ¡r_¡©e
+  = 
+ SS_SARY
+ ;
+ 
+ 967 
+ ¡r
+ ->
+ ¡r_u
+ .
+ ¡r_¡ab
+  = 
+ ¡ab
+ ;
+ 
+ 968 ià(
+ ¡r
+ ->
+ ¡r_±r
+ ) {
+ 
+ 969 
+ 	`Saãä“
+ (
+ ¡r
+ ->
+ ¡r_±r
+ );
+ 
+ 970 
+ ¡r
+ ->
+ ¡r_±r
+  = 
+ NuÎch
+ ;
+ 
+ 971 
+ ¡r
+ ->
+ ¡r_Ën
+  = 0;
+ 
+ 973 
+ ¡r
+ ->
+ ¡r_±r
+  = (*)
+ 	`¡ab_¬¿y
+ (
+ ¡ab
+ );
+ 
+ 974 ()
+ 	`­ush
+ (
+ §ve¡ack
+ ,
+ ¡r
+ );
+ 
+ 975 
+ 	`¡ab_x¬¿y
+ (
+ ¡ab
+ èð
+ 	`NuÎ
+ (
+ ARRAY
+ *);
+ 
+ 976  
+ 	`¡ab_x¬¿y
+ (
+ 	`¯dd
+ (
+ ¡ab
+ ));
+ 
+ 977 
+ 	}
+ }
+ 
+ 979 
+ HASH
+  *
+ 
+ 980 
+ 	$§vehash
+ (
+ ¡ab
+ )
+ 
+ 981 
+ STAB
+  *
+ ¡ab
+ ;
+ 
+ 983 
+ STR
+  *
+ ¡r
+ ;
+ 
+ 985 
+ ¡r
+  = 
+ 	`SŒ_Ãw
+ (11,0);
+ 
+ 986 
+ ¡r
+ ->
+ ¡r_¡©e
+  = 
+ SS_SHASH
+ ;
+ 
+ 987 
+ ¡r
+ ->
+ ¡r_u
+ .
+ ¡r_¡ab
+  = 
+ ¡ab
+ ;
+ 
+ 988 ià(
+ ¡r
+ ->
+ ¡r_±r
+ ) {
+ 
+ 989 
+ 	`Saãä“
+ (
+ ¡r
+ ->
+ ¡r_±r
+ );
+ 
+ 990 
+ ¡r
+ ->
+ ¡r_±r
+  = 
+ NuÎch
+ ;
+ 
+ 991 
+ ¡r
+ ->
+ ¡r_Ën
+  = 0;
+ 
+ 993 
+ ¡r
+ ->
+ ¡r_±r
+  = (*)
+ 	`¡ab_hash
+ (
+ ¡ab
+ );
+ 
+ 994 ()
+ 	`­ush
+ (
+ §ve¡ack
+ ,
+ ¡r
+ );
+ 
+ 995 
+ 	`¡ab_xhash
+ (
+ ¡ab
+ èð
+ 	`NuÎ
+ (
+ HASH
+ *);
+ 
+ 996  
+ 	`¡ab_xhash
+ (
+ 	`hadd
+ (
+ ¡ab
+ ));
+ 
+ 997 
+ 	}
+ }
+ 
+ 1000 
+ 	$§ve™em
+ (
+ ™em
+ )
+ 
+ 1001 
+ STR
+  *
+ ™em
+ ;
+ 
+ 1003 
+ STR
+  *
+ ¡r
+ ;
+ 
+ 1005 ()
+ 	`­ush
+ (
+ §ve¡ack
+ ,
+ ™em
+ );
+ 
+ 1006 
+ ¡r
+  = 
+ 	`SŒ_Ãw
+ (12,0);
+ 
+ 1007 
+ 	`¡r_s£t
+ (
+ ¡r
+ ,
+ ™em
+ );
+ 
+ 1008 ()
+ 	`­ush
+ (
+ §ve¡ack
+ ,
+ ¡r
+ );
+ 
+ 1009 
+ 	}
+ }
+ 
+ 1012 
+ 	$§vešt
+ (
+ š
+ )
+ 
+ 1013 *
+ š
+ ;
+ 
+ 1015 
+ STR
+  *
+ ¡r
+ ;
+ 
+ 1017 
+ ¡r
+  = 
+ 	`SŒ_Ãw
+ (13,0);
+ 
+ 1018 
+ ¡r
+ ->
+ ¡r_¡©e
+  = 
+ SS_SINT
+ ;
+ 
+ 1019 
+ ¡r
+ ->
+ ¡r_u
+ .
+ ¡r_u£ful
+  = ()*
+ š
+ ;
+ 
+ 1020 ià(
+ ¡r
+ ->
+ ¡r_±r
+ ) {
+ 
+ 1021 
+ 	`Saãä“
+ (
+ ¡r
+ ->
+ ¡r_±r
+ );
+ 
+ 1022 
+ ¡r
+ ->
+ ¡r_Ën
+  = 0;
+ 
+ 1024 
+ ¡r
+ ->
+ ¡r_±r
+  = (*)
+ š
+ ;
+ 
+ 1025 ()
+ 	`­ush
+ (
+ §ve¡ack
+ ,
+ ¡r
+ );
+ 
+ 1026 
+ 	}
+ }
+ 
+ 1029 
+ 	$§v–Úg
+ (
+ lÚgp
+ )
+ 
+ 1030 *
+ lÚgp
+ ;
+ 
+ 1032 
+ STR
+  *
+ ¡r
+ ;
+ 
+ 1034 
+ ¡r
+  = 
+ 	`SŒ_Ãw
+ (14,0);
+ 
+ 1035 
+ ¡r
+ ->
+ ¡r_¡©e
+  = 
+ SS_SLONG
+ ;
+ 
+ 1036 
+ ¡r
+ ->
+ ¡r_u
+ .
+ ¡r_u£ful
+  = *
+ lÚgp
+ ;
+ 
+ 1037 ià(
+ ¡r
+ ->
+ ¡r_±r
+ ) {
+ 
+ 1038 
+ 	`Saãä“
+ (
+ ¡r
+ ->
+ ¡r_±r
+ );
+ 
+ 1039 
+ ¡r
+ ->
+ ¡r_Ën
+  = 0;
+ 
+ 1041 
+ ¡r
+ ->
+ ¡r_±r
+  = (*)
+ lÚgp
+ ;
+ 
+ 1042 ()
+ 	`­ush
+ (
+ §ve¡ack
+ ,
+ ¡r
+ );
+ 
+ 1043 
+ 	}
+ }
+ 
+ 1046 
+ 	$§ve¥Œ
+ (
+ ¥Œ
+ )
+ 
+ 1047 
+ STR
+  **
+ ¥Œ
+ ;
+ 
+ 1049 
+ STR
+  *
+ ¡r
+ ;
+ 
+ 1051 
+ ¡r
+  = 
+ 	`SŒ_Ãw
+ (15,0);
+ 
+ 1052 
+ ¡r
+ ->
+ ¡r_¡©e
+  = 
+ SS_SSTRP
+ ;
+ 
+ 1053 
+ ¡r
+ ->
+ ¡r_magic
+  = *
+ ¥Œ
+ ;
+ 
+ 1054 ià(
+ ¡r
+ ->
+ ¡r_±r
+ ) {
+ 
+ 1055 
+ 	`Saãä“
+ (
+ ¡r
+ ->
+ ¡r_±r
+ );
+ 
+ 1056 
+ ¡r
+ ->
+ ¡r_Ën
+  = 0;
+ 
+ 1058 
+ ¡r
+ ->
+ ¡r_±r
+  = (*)
+ ¥Œ
+ ;
+ 
+ 1059 ()
+ 	`­ush
+ (
+ §ve¡ack
+ ,
+ ¡r
+ );
+ 
+ 1060 
+ 	}
+ }
+ 
+ 1063 
+ 	$§v’o¡ab
+ (
+ ¡ab
+ )
+ 
+ 1064 
+ STAB
+  *
+ ¡ab
+ ;
+ 
+ 1066 
+ STR
+  *
+ ¡r
+ ;
+ 
+ 1068 
+ ¡r
+  = 
+ 	`SŒ_Ãw
+ (16,0);
+ 
+ 1069 
+ ¡r
+ ->
+ ¡r_¡©e
+  = 
+ SS_SNSTAB
+ ;
+ 
+ 1070 
+ ¡r
+ ->
+ ¡r_magic
+  = (
+ STR
+ *)
+ ¡ab
+ ;
+ 
+ 1071 ()
+ 	`­ush
+ (
+ §ve¡ack
+ ,
+ ¡r
+ );
+ 
+ 1072 
+ 	}
+ }
+ 
+ 1075 
+ 	$§veh±r
+ (
+ h±r
+ )
+ 
+ 1076 
+ HASH
+  **
+ h±r
+ ;
+ 
+ 1078 
+ STR
+  *
+ ¡r
+ ;
+ 
+ 1080 
+ ¡r
+  = 
+ 	`SŒ_Ãw
+ (17,0);
+ 
+ 1081 
+ ¡r
+ ->
+ ¡r_¡©e
+  = 
+ SS_SHPTR
+ ;
+ 
+ 1082 
+ ¡r
+ ->
+ ¡r_u
+ .
+ ¡r_hash
+  = *
+ h±r
+ ;
+ 
+ 1083 ià(
+ ¡r
+ ->
+ ¡r_±r
+ ) {
+ 
+ 1084 
+ 	`Saãä“
+ (
+ ¡r
+ ->
+ ¡r_±r
+ );
+ 
+ 1085 
+ ¡r
+ ->
+ ¡r_Ën
+  = 0;
+ 
+ 1087 
+ ¡r
+ ->
+ ¡r_±r
+  = (*)
+ h±r
+ ;
+ 
+ 1088 ()
+ 	`­ush
+ (
+ §ve¡ack
+ ,
+ ¡r
+ );
+ 
+ 1089 
+ 	}
+ }
+ 
+ 1092 
+ 	$§v—±r
+ (
+ ­Œ
+ )
+ 
+ 1093 
+ ARRAY
+  **
+ ­Œ
+ ;
+ 
+ 1095 
+ STR
+  *
+ ¡r
+ ;
+ 
+ 1097 
+ ¡r
+  = 
+ 	`SŒ_Ãw
+ (17,0);
+ 
+ 1098 
+ ¡r
+ ->
+ ¡r_¡©e
+  = 
+ SS_SAPTR
+ ;
+ 
+ 1099 
+ ¡r
+ ->
+ ¡r_u
+ .
+ ¡r_¬¿y
+  = *
+ ­Œ
+ ;
+ 
+ 1100 ià(
+ ¡r
+ ->
+ ¡r_±r
+ ) {
+ 
+ 1101 
+ 	`Saãä“
+ (
+ ¡r
+ ->
+ ¡r_±r
+ );
+ 
+ 1102 
+ ¡r
+ ->
+ ¡r_Ën
+  = 0;
+ 
+ 1104 
+ ¡r
+ ->
+ ¡r_±r
+  = (*)
+ ­Œ
+ ;
+ 
+ 1105 ()
+ 	`­ush
+ (
+ §ve¡ack
+ ,
+ ¡r
+ );
+ 
+ 1106 
+ 	}
+ }
+ 
+ 1109 
+ 	$§v–i¡
+ (
+ §rg
+ ,
+ max§rg
+ )
+ 
+ 1110 
+ STR
+  **
+ §rg
+ ;
+ 
+ 1111 
+ max§rg
+ ;
+ 
+ 1113 
+ STR
+  *
+ ¡r
+ ;
+ 
+ 1114 
+ i
+ ;
+ 
+ 1116 
+ i
+  = 1; i <ð
+ max§rg
+ ; i++) {
+ 
+ 1117 ()
+ 	`­ush
+ (
+ §ve¡ack
+ ,
+ §rg
+ [
+ i
+ ]);
+ 
+ 1118 
+ ¡r
+  = 
+ 	`SŒ_Ãw
+ (18,0);
+ 
+ 1119 
+ 	`¡r_s£t
+ (
+ ¡r
+ ,
+ §rg
+ [
+ i
+ ]);
+ 
+ 1120 ()
+ 	`­ush
+ (
+ §ve¡ack
+ ,
+ ¡r
+ );
+ 
+ 1121 
+ §rg
+ [
+ i
+ ]->
+ ¡r_u
+ .
+ ¡r_u£ful
+  = -1;
+ 
+ 1123 
+ 	}
+ }
+ 
+ 1126 
+ 	$»¡Ü–i¡
+ (
+ ba£
+ )
+ 
+ 1127 
+ ba£
+ ;
+ 
+ 1129 
+ STR
+  *
+ ¡r
+ ;
+ 
+ 1130 
+ STR
+  *
+ v®ue
+ ;
+ 
+ 1131 
+ STAB
+  *
+ ¡ab
+ ;
+ 
+ 1133 ià(
+ ba£
+  < -1)
+ 
+ 1134 
+ 	`çl
+ ("panic: corrupt saved stack index");
+ 
+ 1135 
+ §ve¡ack
+ ->
+ ¬y_fžl
+  > 
+ ba£
+ ) {
+ 
+ 1136 
+ v®ue
+  = 
+ 	`­Ý
+ (
+ §ve¡ack
+ );
+ 
+ 1137 
+ v®ue
+ ->
+ ¡r_¡©e
+ ) {
+ 
+ 1138 
+ SS_NORM
+ :
+ 
+ 1139 
+ SS_INCR
+ :
+ 
+ 1140 
+ ¡r
+  = 
+ 	`­Ý
+ (
+ §ve¡ack
+ );
+ 
+ 1141 
+ 	`¡r_»¶aû
+ (
+ ¡r
+ ,
+ v®ue
+ );
+ 
+ 1142 
+ 	`STABSET
+ (
+ ¡r
+ );
+ 
+ 1144 
+ SS_SARY
+ :
+ 
+ 1145 
+ ¡ab
+  = 
+ v®ue
+ ->
+ ¡r_u
+ .
+ ¡r_¡ab
+ ;
+ 
+ 1146 
+ 	`aä“
+ (
+ 	`¡ab_x¬¿y
+ (
+ ¡ab
+ ));
+ 
+ 1147 
+ 	`¡ab_x¬¿y
+ (
+ ¡ab
+ èð(
+ ARRAY
+ *)
+ v®ue
+ ->
+ ¡r_±r
+ ;
+ 
+ 1148 
+ v®ue
+ ->
+ ¡r_±r
+  = 
+ NuÎch
+ ;
+ 
+ 1149 
+ 	`¡r_ä“
+ (
+ v®ue
+ );
+ 
+ 1151 
+ SS_SHASH
+ :
+ 
+ 1152 
+ ¡ab
+  = 
+ v®ue
+ ->
+ ¡r_u
+ .
+ ¡r_¡ab
+ ;
+ 
+ 1153 ()
+ 	`hä“
+ (
+ 	`¡ab_xhash
+ (
+ ¡ab
+ ), 
+ FALSE
+ );
+ 
+ 1154 
+ 	`¡ab_xhash
+ (
+ ¡ab
+ èð(
+ HASH
+ *)
+ v®ue
+ ->
+ ¡r_±r
+ ;
+ 
+ 1155 
+ v®ue
+ ->
+ ¡r_±r
+  = 
+ NuÎch
+ ;
+ 
+ 1156 
+ 	`¡r_ä“
+ (
+ v®ue
+ );
+ 
+ 1158 
+ SS_SINT
+ :
+ 
+ 1159 *((*)
+ v®ue
+ ->
+ ¡r_±r
+ èð()v®ue->
+ ¡r_u
+ .
+ ¡r_u£ful
+ ;
+ 
+ 1160 
+ v®ue
+ ->
+ ¡r_±r
+  = 
+ NuÎch
+ ;
+ 
+ 1161 
+ 	`¡r_ä“
+ (
+ v®ue
+ );
+ 
+ 1163 
+ SS_SLONG
+ :
+ 
+ 1164 *((*)
+ v®ue
+ ->
+ ¡r_±r
+ èðv®ue->
+ ¡r_u
+ .
+ ¡r_u£ful
+ ;
+ 
+ 1165 
+ v®ue
+ ->
+ ¡r_±r
+  = 
+ NuÎch
+ ;
+ 
+ 1166 
+ 	`¡r_ä“
+ (
+ v®ue
+ );
+ 
+ 1168 
+ SS_SSTRP
+ :
+ 
+ 1169 *((
+ STR
+ **)
+ v®ue
+ ->
+ ¡r_±r
+ èðv®ue->
+ ¡r_magic
+ ;
+ 
+ 1170 
+ v®ue
+ ->
+ ¡r_magic
+  = 
+ NuΡr
+ ;
+ 
+ 1171 
+ v®ue
+ ->
+ ¡r_±r
+  = 
+ NuÎch
+ ;
+ 
+ 1172 
+ 	`¡r_ä“
+ (
+ v®ue
+ );
+ 
+ 1174 
+ SS_SHPTR
+ :
+ 
+ 1175 *((
+ HASH
+ **)
+ v®ue
+ ->
+ ¡r_±r
+ èðv®ue->
+ ¡r_u
+ .
+ ¡r_hash
+ ;
+ 
+ 1176 
+ v®ue
+ ->
+ ¡r_±r
+  = 
+ NuÎch
+ ;
+ 
+ 1177 
+ 	`¡r_ä“
+ (
+ v®ue
+ );
+ 
+ 1179 
+ SS_SAPTR
+ :
+ 
+ 1180 *((
+ ARRAY
+ **)
+ v®ue
+ ->
+ ¡r_±r
+ èðv®ue->
+ ¡r_u
+ .
+ ¡r_¬¿y
+ ;
+ 
+ 1181 
+ v®ue
+ ->
+ ¡r_±r
+  = 
+ NuÎch
+ ;
+ 
+ 1182 
+ 	`¡r_ä“
+ (
+ v®ue
+ );
+ 
+ 1184 
+ SS_SNSTAB
+ :
+ 
+ 1185 
+ ¡ab
+  = (
+ STAB
+ *)
+ v®ue
+ ->
+ ¡r_magic
+ ;
+ 
+ 1186 
+ v®ue
+ ->
+ ¡r_magic
+  = 
+ NuΡr
+ ;
+ 
+ 1187 ()
+ 	`¡ab_þ—r
+ (
+ ¡ab
+ );
+ 
+ 1188 
+ 	`¡r_ä“
+ (
+ v®ue
+ );
+ 
+ 1190 
+ SS_SCSV
+ :
+ 
+ 1192 
+ CSV
+  *
+ csv
+  = (CSV*è
+ v®ue
+ ->
+ ¡r_±r
+ ;
+ 
+ 1194 
+ curcmd
+  = 
+ csv
+ ->curcmd;
+ 
+ 1195 
+ curcsv
+  = 
+ csv
+ ->curcsv;
+ 
+ 1196 
+ csv
+ ->
+ sub
+ ->
+ d•th
+  = csv->depth;
+ 
+ 1197 ià(
+ csv
+ ->
+ ha§rgs
+ ) {
+ 
+ 1198 
+ 	`aä“
+ (
+ csv
+ ->
+ ¬g¬¿y
+ );
+ 
+ 1199 
+ 	`¡ab_x¬¿y
+ (
+ def¡ab
+ èð
+ csv
+ ->
+ §v—¼ay
+ ;
+ 
+ 1201 
+ 	`¡r_ä“
+ (
+ v®ue
+ );
+ 
+ 1205 
+ 	`çl
+ ("panic:„estorelist inconsistency");
+ 
+ 1208 
+ 	}
+ }
+ 
+ 1210 #ifdeà
+ DEBUGGING
+ 
+ 
+ 1212 
+ 	$grow_dËv–
+ ()
+ 
+ 1214 
+ dlmax
+  += 128;
+ 
+ 1215 
+ 	`R’ew
+ (
+ debÇme
+ , 
+ dlmax
+ , );
+ 
+ 1216 
+ 	`R’ew
+ (
+ debd–im
+ , 
+ dlmax
+ , );
+ 
+ 1217 
+ 	}
+ }
+ 
+ 	@cmd.h
+ 
+ 14 
+ 	#C_NULL
+  0
+ 
+ 	)
+ 
+ 15 
+ 	#C_IF
+  1
+ 
+ 	)
+ 
+ 16 
+ 	#C_ELSE
+  2
+ 
+ 	)
+ 
+ 17 
+ 	#C_WHILE
+  3
+ 
+ 	)
+ 
+ 18 
+ 	#C_BLOCK
+  4
+ 
+ 	)
+ 
+ 19 
+ 	#C_EXPR
+  5
+ 
+ 	)
+ 
+ 20 
+ 	#C_NEXT
+  6
+ 
+ 	)
+ 
+ 21 
+ 	#C_ELSIF
+  7
+ 
+ 	)
+ 
+ 22 
+ 	#C_CSWITCH
+  8
+ 
+ 	)
+ 
+ 23 
+ 	#C_NSWITCH
+  9
+ 
+ 	)
+ 
+ 25 #ifdeà
+ DEBUGGING
+ 
+ 
+ 26 #iâdeà
+ DOINIT
+ 
+ 
+ 27 
*
+ cmdÇme
+ [];
+ 
+ 29 *
+ 	gcmdÇme
+ [] = {
+ 
+ 45 
+ 	#CF_OPTIMIZE
+  077
+ 
+ 	)
+ 
+ 46 
+ 	#CF_FIRSTNEG
+  0100
+ 
+ 	)
+ 
+ 47 
+ 	#CF_NESURE
+  0200
+ 
+ 	)
+ 
+ 48 
+ 	#CF_EQSURE
+  0400
+ 
+ 	)
+ 
+ 49 
+ 	#CF_COND
+  01000
+ 
+ 	)
+ 
+ 51 
+ 	#CF_LOOP
+  02000
+ 
+ 	)
+ 
+ 52 
+ 	#CF_INVERT
+  04000
+ 
+ 	)
+ 
+ 53 
+ 	#CF_ONCE
+  010000
+ 
+ 	)
+ 
+ 54 
+ 	#CF_FLIP
+  020000
+ 
+ 	)
+ 
+ 55 
+ 	#CF_TERM
+  040000
+ 
+ 	)
+ 
+ 56 
+ 	#CF_DBSUB
+  0100000
+ 
+ 	)
+ 
+ 58 
+ 	#CFT_FALSE
+  0
+ 
+ 	)
+ 
+ 59 
+ 	#CFT_TRUE
+  1
+ 
+ 	)
+ 
+ 60 
+ 	#CFT_REG
+  2
+ 
+ 	)
+ 
+ 61 
+ 	#CFT_ANCHOR
+  3
+ 
+ 	)
+ 
+ 62 
+ 	#CFT_STROP
+  4
+ 
+ 	)
+ 
+ 63 
+ 	#CFT_SCAN
+  5
+ 
+ 	)
+ 
+ 64 
+ 	#CFT_GETS
+  6
+ 
+ 	)
+ 
+ 65 
+ 	#CFT_EVAL
+  7
+ 
+ 	)
+ 
+ 66 
+ 	#CFT_UNFLIP
+  8
+ 
+ 	)
+ 
+ 67 
+ 	#CFT_CHOP
+  9
+ 
+ 	)
+ 
+ 68 
+ 	#CFT_ARRAY
+  10
+ 
+ 	)
+ 
+ 69 
+ 	#CFT_INDGETS
+  11
+ 
+ 	)
+ 
+ 70 
+ 	#CFT_NUMOP
+  12
+ 
+ 	)
+ 
+ 71 
+ 	#CFT_CCLASS
+  13
+ 
+ 	)
+ 
+ 72 
+ 	#CFT_D0
+  14
+ 
+ 	)
+ 
+ 73 
+ 	#CFT_D1
+  15
+ 
+ 	)
+ 
+ 75 #ifdeà
+ DEBUGGING
+ 
+ 
+ 76 #iâdeà
+ DOINIT
+ 
+ 
+ 77 
*
+ cmdÝt
+ [];
+ 
+ 79 *
+ 	gcmdÝt
+ [] = {
+ 
+ 99 
+ 	sacmd
+  {
+ 
+ 100 
+ STAB
+  *
+ 	mac_¡ab
+ ;
+ 
+ 101 
+ ARG
+  *
+ 	mac_ex´
+ ;
+ 
+ 104 
+ 	sccmd
+  {
+ 
+ 105 
+ CMD
+  *
+ 	mcc_Œue
+ ;
+ 
+ 106 
+ CMD
+  *
+ 	mcc_®t
+ ;
+ 
+ 109 
+ 	sscmd
+  {
+ 
+ 110 
+ CMD
+  **
+ 	msc_Ãxt
+ ;
+ 
+ 111 
+ 	msc_off£t
+ ;
+ 
+ 112 
+ 	msc_max
+ ;
+ 
+ 115 
+ 	scmd
+  {
+ 
+ 116 
+ CMD
+  *
+ 	mc_Ãxt
+ ;
+ 
+ 117 
+ ARG
+  *
+ 	mc_ex´
+ ;
+ 
+ 118 
+ CMD
+  *
+ 	mc_h—d
+ ;
+ 
+ 119 
+ STR
+  *
+ 	mc_shÜt
+ ;
+ 
+ 120 
+ STAB
+  *
+ 	mc_¡ab
+ ;
+ 
+ 121 
+ SPAT
+  *
+ 	mc_¥©
+ ;
+ 
+ 122 *
+ 	mc_Ïb–
+ ;
+ 
+ 123 
+ 	uucmd
+  {
+ 
+ 124 
+ acmd
+  
+ 	macmd
+ ;
+ 
+ 125 
+ ccmd
+  
+ 	mccmd
+ ;
+ 
+ 126 
+ scmd
+  
+ 	mscmd
+ ;
+ 
+ 127 } 
+ 	mucmd
+ ;
+ 
+ 128 
+ 	mc_¦’
+ ;
+ 
+ 129 
+ VOLATILE
+  
+ 	mc_æags
+ ;
+ 
+ 130 
+ HASH
+  *
+ 	mc_¡ash
+ ;
+ 
+ 131 
+ STAB
+  *
+ 	mc_fže¡ab
+ ;
+ 
+ 132 
+ lše_t
+  
+ 	mc_lše
+ ;
+ 
+ 133 
+ 	mc_ty³
+ ;
+ 
+ 136 
+ 	#NuÎcmd
+  
+ 	`NuÎ
+ (
+ CMD
+ *)
+ 
+ 	)
+ 
+ 137 
+ 	#NuÎcsv
+  
+ 	`NuÎ
+ (
+ CSV
+ *)
+ 
+ 	)
+ 
+ 139 
+ EXT
+  
+ CMD
+  * 
+ VOLATILE
+  
+ maš_roÙ
+  
+ INIT
+ (
+ NuÎcmd
+ );
+ 
+ 140 
+ EXT
+  
+ CMD
+  * 
+ VOLATILE
+  
+ ev®_roÙ
+  
+ INIT
+ (
+ NuÎcmd
+ );
+ 
+ 142 
+ EXT
+  
+ CMD
+  
+ 	gcompžšg
+ ;
+ 
+ 143 
+ EXT
+  
+ CMD
+  * 
+ VOLATILE
+  
+ curcmd
+  
+ INIT
+ (&
+ compžšg
+ );
+ 
+ 144 
+ EXT
+  
+ CSV
+  * 
+ VOLATILE
+  
+ curcsv
+  
+ INIT
+ (
+ NuÎcsv
+ );
+ 
+ 146 
+ 	sÿΧve
+  {
+ 
+ 147 
+ SUBR
+  *
+ 	msub
+ ;
+ 
+ 148 
+ STAB
+  *
+ 	m¡ab
+ ;
+ 
+ 149 
+ CSV
+  *
+ 	mcurcsv
+ ;
+ 
+ 150 
+ CMD
+  *
+ 	mcurcmd
+ ;
+ 
+ 151 
+ ARRAY
+  *
+ 	m§v—¼ay
+ ;
+ 
+ 152 
+ ARRAY
+  *
+ 	m¬g¬¿y
+ ;
+ 
+ 153 
+ 	md•th
+ ;
+ 
+ 154 
+ 	mwª¼ay
+ ;
+ 
+ 155 
+ 	mha§rgs
+ ;
+ 
+ 158 
+ 	scompcmd
+  {
+ 
+ 159 
+ CMD
+  *
+ 	mcomp_Œue
+ ;
+ 
+ 160 
+ CMD
+  *
+ 	mcomp_®t
+ ;
+ 
+ 163 
+ Ýt_¬g
+ ();
+ 
+ 164 
+ ev®¡©ic
+ ();
+ 
+ 165 
+ cmd_exec
+ ();
+ 
+ 	@config.h
+ 
+ 1 #iâdeà
+ cÚfig_h
+ 
+ 
+ 2 
+ 	#cÚfig_h
+ 
+ 
+ 	)
+ 
+ 32 
+ 	#ALIGNBYTES
+  8
+ 
+ 	)
+ 
+ 39 
+ 	#BIN
+  "/u¤/loÿl/bš"
+ 
+ 	)
+ 
+ 45 
+ 	#BYTEORDER
+  0x4321
+ 
+ 	)
+ 
+ 58 
+ 	#CPPSTDIN
+  "/u¤/loÿl/lib/gcc-ýp"
+ 
+ 	)
+ 
+ 59 
+ 	#CPPMINUS
+  ""
+ 
+ 	)
+ 
+ 66 
+ 	#HAS_BCMP
+ 
+ 
+ 	)
+ 
+ 72 
+ 	#HAS_BCOPY
+ 
+ 
+ 	)
+ 
+ 79 
+ 	#HAS_BZERO
+ 
+ 
+ 	)
+ 
+ 92 
+ 	#CASTNEGFLOAT
+ 
+ 
+ 	)
+ 
+ 93 
+ 	#CASTFLAGS
+  0
+ 
+ 	)
+ 
+ 101 
+ 	#CHARSPRINTF
+ 
+ 
+ 	)
+ 
+ 113 
+ 	#HAS_CRYPT
+ 
+ 
+ 	)
+ 
+ 140 
+ 	#HAS_DUP2
+ 
+ 
+ 	)
+ 
+ 146 
+ 	#HAS_FCHMOD
+ 
+ 
+ 	)
+ 
+ 152 
+ 	#HAS_FCHOWN
+ 
+ 
+ 	)
+ 
+ 158 
+ 	#HAS_FCNTL
+ 
+ 
+ 	)
+ 
+ 164 
+ 	#FLEXFILENAMES
+ 
+ 
+ 	)
+ 
+ 170 
+ 	#HAS_FLOCK
+ 
+ 
+ 	)
+ 
+ 177 
+ 	#HAS_GETGROUPS
+ 
+ 
+ 	)
+ 
+ 189 
+ 	#HAS_GETPGRP
+ 
+ 
+ 	)
+ 
+ 201 
+ 	#HAS_GETPRIORITY
+ 
+ 
+ 	)
+ 
+ 219 
+ 	#HAS_HTONS
+ 
+ 
+ 	)
+ 
+ 220 
+ 	#HAS_HTONL
+ 
+ 
+ 	)
+ 
+ 221 
+ 	#HAS_NTOHS
+ 
+ 
+ 	)
+ 
+ 222 
+ 	#HAS_NTOHL
+ 
+ 
+ 	)
+ 
+ 240 
+ 	#HAS_KILLPG
+ 
+ 
+ 	)
+ 
+ 246 
+ 	#HAS_LSTAT
+ 
+ 
+ 	)
+ 
+ 252 
+ 	#HAS_MEMCMP
+ 
+ 
+ 	)
+ 
+ 259 
+ 	#HAS_MEMCPY
+ 
+ 
+ 	)
+ 
+ 266 
+ 	#HAS_MKDIR
+ 
+ 
+ 	)
+ 
+ 272 
+ 	#HAS_MSG
+ 
+ 
+ 	)
+ 
+ 278 
+ 	#HAS_MSGCTL
+ 
+ 
+ 	)
+ 
+ 284 
+ 	#HAS_MSGGET
+ 
+ 
+ 	)
+ 
+ 290 
+ 	#HAS_MSGRCV
+ 
+ 
+ 	)
+ 
+ 296 
+ 	#HAS_MSGSND
+ 
+ 
+ 	)
+ 
+ 314 
+ 	#HAS_OPEN3
+ 
+ 
+ 	)
+ 
+ 320 
+ 	#HAS_READDIR
+ 
+ 
+ 	)
+ 
+ 327 
+ 	#HAS_RENAME
+ 
+ 
+ 	)
+ 
+ 334 
+ 	#HAS_RMDIR
+ 
+ 
+ 	)
+ 
+ 340 
+ 	#HAS_SELECT
+ 
+ 
+ 	)
+ 
+ 346 
+ 	#HAS_SEM
+ 
+ 
+ 	)
+ 
+ 352 
+ 	#HAS_SEMCTL
+ 
+ 
+ 	)
+ 
+ 358 
+ 	#HAS_SEMGET
+ 
+ 
+ 	)
+ 
+ 364 
+ 	#HAS_SEMOP
+ 
+ 
+ 	)
+ 
+ 370 
+ 	#HAS_SETEGID
+ 
+ 
+ 	)
+ 
+ 376 
+ 	#HAS_SETEUID
+ 
+ 
+ 	)
+ 
+ 382 
+ 	#HAS_SETPGRP
+ 
+ 
+ 	)
+ 
+ 394 
+ 	#HAS_SETPRIORITY
+ 
+ 
+ 	)
+ 
+ 405 
+ 	#HAS_SETREGID
+ 
+ 
+ 	)
+ 
+ 417 
+ 	#HAS_SETREUID
+ 
+ 
+ 	)
+ 
+ 436 
+ 	#HAS_SHM
+ 
+ 
+ 	)
+ 
+ 442 
+ 	#HAS_SHMAT
+ 
+ 
+ 	)
+ 
+ 448 
+ 	#HAS_SHMCTL
+ 
+ 
+ 	)
+ 
+ 454 
+ 	#HAS_SHMDT
+ 
+ 
+ 	)
+ 
+ 460 
+ 	#HAS_SHMGET
+ 
+ 
+ 	)
+ 
+ 474 
+ 	#HAS_SOCKET
+ 
+ 
+ 	)
+ 
+ 476 
+ 	#HAS_SOCKETPAIR
+ 
+ 
+ 	)
+ 
+ 484 
+ 	#STATBLOCKS
+ 
+ 
+ 	)
+ 
+ 497 
+ 	#STRUCTCOPY
+ 
+ 
+ 	)
+ 
+ 509 
+ 	#HAS_SYMLINK
+ 
+ 
+ 	)
+ 
+ 515 
+ 	#HAS_SYSCALL
+ 
+ 
+ 	)
+ 
+ 521 
+ 	#HAS_TRUNCATE
+ 
+ 
+ 	)
+ 
+ 526 
+ 	#HAS_VFORK
+ 
+ 
+ 	)
+ 
+ 540 
+ 	#VOIDSIG
+ 
+ 
+ 	)
+ 
+ 541 
+ 	#TO_SIGNAL
+  
+ 
+ 	)
+ 
+ 547 
+ 	#HASVOLATILE
+ 
+ 
+ 	)
+ 
+ 560 
+ 	#HAS_VPRINTF
+ 
+ 
+ 	)
+ 
+ 561 
+ 	#CHARVSPRINTF
+ 
+ 
+ 	)
+ 
+ 571 
+ 	#HAS_WAITPID
+ 
+ 
+ 	)
+ 
+ 577 
+ 	#GIDTYPE
+  
+ gid_t
+ 
+ 
+ 	)
+ 
+ 583 
+ 	#GROUPSTYPE
+  
+ 
+ 	)
+ 
+ 600 
+ 	#I_GRP
+ 
+ 
+ 	)
+ 
+ 610 
+ 	#I_NETINET_IN
+ 
+ 
+ 	)
+ 
+ 641 
+ 	#I_PWD
+ 
+ 
+ 	)
+ 
+ 652 
+ 	#I_SYS_FILE
+ 
+ 
+ 	)
+ 
+ 658 
+ 	#I_SYSIOCTL
+ 
+ 
+ 	)
+ 
+ 673 
+ 	#I_TIME
+ 
+ 
+ 	)
+ 
+ 674 
+ 	#I_SYS_TIME
+ 
+ 
+ 	)
+ 
+ 682 
+ 	#I_UTIME
+ 
+ 
+ 	)
+ 
+ 700 
+ 	#INTSIZE
+  4
+ 
+ 	)
+ 
+ 727 
+ 	#I_DIRENT
+ 
+ 
+ 	)
+ 
+ 737 
+ 	#MALLOCPTRTYPE
+  
+ 
+ 	)
+ 
+ 744 
+ 	#RANDBITS
+  31
+ 
+ 	)
+ 
+ 751 
+ 	#SCRIPTDIR
+  "/u¤/loÿl/bš"
+ 
+ 	)
+ 
+ 756 
+ 	#SIG_NAME
+  "ZERO","HUP","INT","QUIT","ILL","TRAP","ABRT","EMT","FPE","KILL","BUS","SEGV","SYS","PIPE","ALRM","TERM","URG","STOP","TSTP","CONT","CLD","TTIN","TTOU","IO","XCPU","XFSZ","VTALRM","PROF","WINCH","LOST","USR1","USR2"
+ 
+ 	)
+ 
+ 762 
+ 	#STDCHAR
+  
+ 
+ 	)
+ 
+ 768 
+ 	#UIDTYPE
+  
+ uid_t
+ 
+ 
+ 	)
+ 
+ 801 #iâdeà
+ VOIDWANT
+ 
+ 
+ 802 
+ 	#VOIDWANT
+  7
+ 
+ 	)
+ 
+ 804 
+ 	#VOIDHAVE
+  7
+ 
+ 	)
+ 
+ 805 #ià(
+ VOIDHAVE
+  & 
+ VOIDWANT
+ ) != VOIDWANT
+ 
+ 806 
+ 
+ 	)
+ 
+ 807 
+ 	#VOID
+ 
+ 
+ 	)
+ 
+ 808 
+ 	#VOIDP
+  (*)
+ 
+ 	)
+ 
+ 809 
+ 	#M_VOID
+ 
+ 
+ 	)
+ 
+ 811 
+ 	#VOID
+  
+ 
+ 	)
+ 
+ 812 
+ 	#VOIDP
+  (*)
+ 
+ 	)
+ 
+ 821 
+ 	#PRIVLIB
+  "/u¤/loÿl/lib/³¾"
+ 
+ 	)
+ 
+ 	@cons.c
+ 
+ 14 
+ 	~"EXTERN.h
+ "
+ 
+ 15 
+ 	~"³¾.h
+ "
+ 
+ 16 
+ 	~"³¾y.h
+ "
+ 
+ 18 
*
+ tok’ame
+ [];
+ 
+ 19 

+ yych¬
+ ;
+ 
+ 21 
+ cmd_to§ve
+ ();
+ 
+ 22 
+ ¬g_to§ve
+ ();
+ 
+ 23 
+ ¥©_to§ve
+ ();
+ 
+ 25 
+ boÞ
+  
+ 	g§w_»tuº
+ ;
+ 
+ 27 
+ SUBR
+  *
+ 
+ 28 
+ 	$make_sub
+ (
+ Çme
+ ,
+ cmd
+ )
+ 
+ 29 *
+ Çme
+ ;
+ 
+ 30 
+ CMD
+  *
+ cmd
+ ;
+ 
+ 32 
+ SUBR
+  *
+ sub
+ ;
+ 
+ 33 
+ STAB
+  *
+ ¡ab
+  = 
+ 	`¡ab’t
+ (
+ Çme
+ ,
+ TRUE
+ );
+ 
+ 35 
+ 	`Newz
+ (101,
+ sub
+ ,1,
+ SUBR
+ );
+ 
+ 36 ià(
+ 	`¡ab_sub
+ (
+ ¡ab
+ )) {
+ 
+ 37 ià(
+ dow¬n
+ ) {
+ 
+ 38 
+ CMD
+  *
+ Þdcurcmd
+  = 
+ curcmd
+ ;
+ 
+ 40 ià(
+ cmd
+ )
+ 
+ 41 
+ curcmd
+  = 
+ cmd
+ ;
+ 
+ 42 
+ 	`w¬n
+ ("Subroutš% »defšed",
+ Çme
+ );
+ 
+ 43 
+ curcmd
+  = 
+ Þdcurcmd
+ ;
+ 
+ 45 ià(
+ 	`¡ab_sub
+ (
+ ¡ab
+ )->
+ cmd
+ ) {
+ 
+ 46 
+ 	`cmd_ä“
+ (
+ 	`¡ab_sub
+ (
+ ¡ab
+ )->
+ cmd
+ );
+ 
+ 47 
+ 	`¡ab_sub
+ (
+ ¡ab
+ )->
+ cmd
+  = 
+ NuÎcmd
+ ;
+ 
+ 48 
+ 	`aä“
+ (
+ 	`¡ab_sub
+ (
+ ¡ab
+ )->
+ to§ve
+ );
+ 
+ 50 
+ 	`Saãä“
+ (
+ 	`¡ab_sub
+ (
+ ¡ab
+ ));
+ 
+ 52 
+ 	`¡ab_sub
+ (
+ ¡ab
+ èð
+ sub
+ ;
+ 
+ 53 
+ sub
+ ->
+ fže¡ab
+  = 
+ curcmd
+ ->
+ c_fže¡ab
+ ;
+ 
+ 54 
+ §w_»tuº
+  = 
+ FALSE
+ ;
+ 
+ 55 
+ to§ve
+  = 
+ 	`ªew
+ (
+ NuΡab
+ );
+ 
+ 56 
+ to§ve
+ ->
+ ¬y_fžl
+  = 0;
+ 
+ 57 ()
+ 	`cmd_to§ve
+ (
+ cmd
+ ,
+ FALSE
+ );
+ 
+ 58 
+ sub
+ ->
+ to§ve
+  =osave;
+ 
+ 59 ià(
+ §w_»tuº
+ ) {
+ 
+ 60 
+ compcmd
+  
+ mycompblock
+ ;
+ 
+ 62 
+ mycompblock
+ .
+ comp_Œue
+  = 
+ cmd
+ ;
+ 
+ 63 
+ mycompblock
+ .
+ comp_®t
+  = 
+ NuÎcmd
+ ;
+ 
+ 64 
+ cmd
+  = 
+ 	`add_Ïb–
+ (
+ 	`§ve¡r
+ ("_SUB_"),
+ 	`make_ccmd
+ (
+ C_BLOCK
+ ,
+ Nuάg
+ ,
+ mycompblock
+ ));
+ 
+ 65 
+ §w_»tuº
+  = 
+ FALSE
+ ;
+ 
+ 66 
+ cmd
+ ->
+ c_æags
+  |ð
+ CF_TERM
+ ;
+ 
+ 68 
+ sub
+ ->
+ cmd
+  = cmd;
+ 
+ 69 ià(
+ ³¾db
+ ) {
+ 
+ 70 
+ STR
+  *
+ ¡r
+ ;
+ 
+ 71 
+ STR
+  *
+ tmp¡r
+  = 
+ 	`¡r_m܏l
+ (&
+ ¡r_undef
+ );
+ 
+ 73 
+ 	`¥rštf
+ (
+ buf
+ ,"%s:%ld",
+ 	`¡ab_v®
+ (
+ curcmd
+ ->
+ c_fže¡ab
+ )->
+ ¡r_±r
+ ,
+ 
+ 74 ()
+ sublše
+ );
+ 
+ 75 
+ ¡r
+  = 
+ 	`¡r_make
+ (
+ buf
+ ,0);
+ 
+ 76 
+ 	`¡r_ÿt
+ (
+ ¡r
+ ,"-");
+ 
+ 77 
+ 	`¥rštf
+ (
+ buf
+ ,"%ld",()
+ curcmd
+ ->
+ c_lše
+ );
+ 
+ 78 
+ 	`¡r_ÿt
+ (
+ ¡r
+ ,
+ buf
+ );
+ 
+ 79 
+ Çme
+  = 
+ 	`¡r_g‘
+ (
+ subÇme
+ );
+ 
+ 80 
+ 	`¡ab_fuÎÇme
+ (
+ tmp¡r
+ ,
+ ¡ab
+ );
+ 
+ 81 
+ 	`h¡Üe
+ (
+ 	`¡ab_xhash
+ (
+ DBsub
+ ), 
+ tmp¡r
+ ->
+ ¡r_±r
+ ,mp¡r->
+ ¡r_cur
+ , 
+ ¡r
+ , 0);
+ 
+ 82 
+ 	`¡r_£t
+ (
+ subÇme
+ ,"main");
+ 
+ 84 
+ sublše
+  = 0;
+ 
+ 85  
+ sub
+ ;
+ 
+ 86 
+ 	}
+ }
+ 
+ 88 
+ SUBR
+  *
+ 
+ 89 
+ 	$make_usub
+ (
+ Çme
+ , 
+ ix
+ , 
+ subaddr
+ , 
+ fž’ame
+ )
+ 
+ 90 *
+ Çme
+ ;
+ 
+ 91 
+ ix
+ ;
+ 
+ 92 (*
+ subaddr
+ )();
+ 
+ 93 *
+ fž’ame
+ ;
+ 
+ 95 
+ SUBR
+  *
+ sub
+ ;
+ 
+ 96 
+ STAB
+  *
+ ¡ab
+  = 
+ 	`¡ab’t
+ (
+ Çme
+ ,
+ ®l¡abs
+ );
+ 
+ 98 ià(!
+ ¡ab
+ )
+ 
+ 99  
+ 	`NuÎ
+ (
+ SUBR
+ *);
+ 
+ 100 
+ 	`Newz
+ (101,
+ sub
+ ,1,
+ SUBR
+ );
+ 
+ 101 ià(
+ 	`¡ab_sub
+ (
+ ¡ab
+ )) {
+ 
+ 102 ià(
+ dow¬n
+ )
+ 
+ 103 
+ 	`w¬n
+ ("Subroutš% »defšed",
+ Çme
+ );
+ 
+ 104 ià(
+ 	`¡ab_sub
+ (
+ ¡ab
+ )->
+ cmd
+ ) {
+ 
+ 105 
+ 	`cmd_ä“
+ (
+ 	`¡ab_sub
+ (
+ ¡ab
+ )->
+ cmd
+ );
+ 
+ 106 
+ 	`¡ab_sub
+ (
+ ¡ab
+ )->
+ cmd
+  = 
+ NuÎcmd
+ ;
+ 
+ 107 
+ 	`aä“
+ (
+ 	`¡ab_sub
+ (
+ ¡ab
+ )->
+ to§ve
+ );
+ 
+ 109 
+ 	`Saãä“
+ (
+ 	`¡ab_sub
+ (
+ ¡ab
+ ));
+ 
+ 111 
+ 	`¡ab_sub
+ (
+ ¡ab
+ èð
+ sub
+ ;
+ 
+ 112 
+ sub
+ ->
+ fže¡ab
+  = 
+ 	`f¡ab
+ (
+ fž’ame
+ );
+ 
+ 113 
+ sub
+ ->
+ u£rsub
+  = 
+ subaddr
+ ;
+ 
+ 114 
+ sub
+ ->
+ u£ršdex
+  = 
+ ix
+ ;
+ 
+ 115  
+ sub
+ ;
+ 
+ 116 
+ 	}
+ }
+ 
+ 118 
+ 	$make_fÜm
+ (
+ ¡ab
+ ,
+ fcmd
+ )
+ 
+ 119 
+ STAB
+  *
+ ¡ab
+ ;
+ 
+ 120 
+ FCMD
+  *
+ fcmd
+ ;
+ 
+ 122 ià(
+ 	`¡ab_fÜm
+ (
+ ¡ab
+ )) {
+ 
+ 123 
+ FCMD
+  *
+ tmpfcmd
+ ;
+ 
+ 124 
+ FCMD
+  *
+ Ãxtfcmd
+ ;
+ 
+ 126 
+ tmpfcmd
+  = 
+ 	`¡ab_fÜm
+ (
+ ¡ab
+ );mpfcmd;mpfcmd = 
+ Ãxtfcmd
+ ) {
+ 
+ 127 
+ Ãxtfcmd
+  = 
+ tmpfcmd
+ ->
+ f_Ãxt
+ ;
+ 
+ 128 ià(
+ tmpfcmd
+ ->
+ f_ex´
+ )
+ 
+ 129 
+ 	`¬g_ä“
+ (
+ tmpfcmd
+ ->
+ f_ex´
+ );
+ 
+ 130 ià(
+ tmpfcmd
+ ->
+ f_uŬ£d
+ )
+ 
+ 131 
+ 	`¡r_ä“
+ (
+ tmpfcmd
+ ->
+ f_uŬ£d
+ );
+ 
+ 132 ià(
+ tmpfcmd
+ ->
+ f_´e
+ )
+ 
+ 133 
+ 	`Saãä“
+ (
+ tmpfcmd
+ ->
+ f_´e
+ );
+ 
+ 134 
+ 	`Saãä“
+ (
+ tmpfcmd
+ );
+ 
+ 137 
+ 	`¡ab_fÜm
+ (
+ ¡ab
+ èð
+ fcmd
+ ;
+ 
+ 138 
+ 	}
+ }
+ 
+ 140 
+ CMD
+  *
+ 
+ 141 
+ 	$block_h—d
+ (
+ ž
+ )
+ 
+ 142 
+ CMD
+  *
+ ž
+ ;
+ 
+ 144 
+ CMD
+  *
+ h—d
+ ;
+ 
+ 145 
+ Ýt
+ ;
+ 
+ 146 
+ Ï¡_Ýt
+  = 0;
+ 
+ 147 
+ STAB
+  *
+ Ï¡_¡ab
+  = 
+ NuΡab
+ ;
+ 
+ 148 
+ couÁ
+  = 0;
+ 
+ 149 
+ CMD
+  *
+ sw™chbeg
+  = 
+ NuÎcmd
+ ;
+ 
+ 151 ià(
+ ž
+  =ð
+ NuÎcmd
+ ) {
+ 
+ 152  
+ ž
+ ;
+ 
+ 154 
+ h—d
+  = 
+ ž
+ ->
+ c_h—d
+ ;
+ 
+ 156 
+ ž
+  = 
+ h—d
+ ;až;až =až->
+ c_Ãxt
+ ) {
+ 
+ 159 ià(
+ ž
+ ->
+ c_ty³
+  =ð
+ C_IF
+ ) {
+ 
+ 160 ià(!(
+ ž
+ ->
+ ucmd
+ .
+ ccmd
+ .
+ cc_®t
+  =až->ucmd.ccmd.cc_®t->
+ c_Ãxt
+ ))
+ 
+ 161 
+ ž
+ ->
+ c_æags
+  |ð
+ CF_TERM
+ ;
+ 
+ 163 ià(
+ ž
+ ->
+ c_ty³
+  =ð
+ C_EXPR
+ ) {
+ 
+ 164 
+ ARG
+  *
+ ¬g
+ ;
+ 
+ 166 ià(
+ ž
+ ->
+ ucmd
+ .
+ acmd
+ .
+ ac_ex´
+ )
+ 
+ 167 
+ ¬g
+  = 
+ ž
+ ->
+ ucmd
+ .
+ acmd
+ .
+ ac_ex´
+ ;
+ 
+ 169 
+ ¬g
+  = 
+ ž
+ ->
+ c_ex´
+ ;
+ 
+ 170 ià(
+ ¬g
+ ) {
+ 
+ 171 ià(
+ ¬g
+ ->
+ ¬g_ty³
+  =ð
+ O_RETURN
+ )
+ 
+ 172 
+ ž
+ ->
+ c_æags
+  |ð
+ CF_TERM
+ ;
+ 
+ 173 ià(
+ ¬g
+ ->
+ ¬g_ty³
+  =ð
+ O_ITEM
+  &&‡rg[1].¬g_ty³ =ð
+ A_CMD
+ )
+ 
+ 174 
+ ž
+ ->
+ c_æags
+  |ð
+ CF_TERM
+ ;
+ 
+ 177 ià(!
+ ž
+ ->
+ c_Ãxt
+ )
+ 
+ 178 
+ ž
+ ->
+ c_æags
+  |ð
+ CF_TERM
+ ;
+ 
+ 180 ià(
+ ž
+ ->
+ c_ex´
+  && (ž->
+ c_æags
+  & 
+ CF_OPTIMIZE
+ è=ð
+ CFT_FALSE
+ )
+ 
+ 181 
+ 	`Ýt_¬g
+ (
+ ž
+ ,1,až->
+ c_ty³
+  =ð
+ C_EXPR
+ );
+ 
+ 184 
+ ž
+ ->
+ c_æags
+  & (
+ CF_OPTIMIZE
+ |
+ CF_FIRSTNEG
+ |
+ CF_INVERT
+ )) {
+ 
+ 185 
+ CFT_ANCHOR
+ :
+ 
+ 186 ià(
+ 	`¡ab’t
+ ("*",
+ FALSE
+ )) {
+ 
+ 187 
+ Ýt
+  = 0;
+ 
+ 191 
+ CFT_STROP
+ :
+ 
+ 192 
+ Ýt
+  = (
+ ž
+ ->
+ c_æags
+  & 
+ CF_NESURE
+ è? 
+ CFT_STROP
+  : 0;
+ 
+ 194 
+ CFT_CCLASS
+ :
+ 
+ 195 
+ Ýt
+  = 
+ CFT_STROP
+ ;
+ 
+ 197 
+ CFT_NUMOP
+ :
+ 
+ 198 
+ Ýt
+  = (
+ ž
+ ->
+ c_¦’
+  =ð
+ O_NE
+  ? 0 : 
+ CFT_NUMOP
+ );
+ 
+ 199 ià((
+ ž
+ ->
+ c_æags
+ &(
+ CF_NESURE
+ |
+ CF_EQSURE
+ )) != (CF_NESURE|CF_EQSURE))
+ 
+ 200 
+ Ýt
+  = 0;
+ 
+ 203 
+ Ýt
+  = 0;
+ 
+ 205 ià(
+ Ýt
+  && o± =ð
+ Ï¡_Ýt
+  && 
+ ž
+ ->
+ c_¡ab
+  =ð
+ Ï¡_¡ab
+ )
+ 
+ 206 
+ couÁ
+ ++;
+ 
+ 208 ià(
+ couÁ
+  >= 3) {
+ 
+ 209 ià(
+ Ï¡_Ýt
+  =ð
+ CFT_NUMOP
+ )
+ 
+ 210 
+ 	`make_nsw™ch
+ (
+ sw™chbeg
+ ,
+ couÁ
+ );
+ 
+ 212 
+ 	`make_csw™ch
+ (
+ sw™chbeg
+ ,
+ couÁ
+ );
+ 
+ 214 ià(
+ Ýt
+ ) {
+ 
+ 215 
+ couÁ
+  = 1;
+ 
+ 216 
+ sw™chbeg
+  = 
+ ž
+ ;
+ 
+ 219 
+ couÁ
+  = 0;
+ 
+ 221 
+ Ï¡_Ýt
+  = 
+ Ýt
+ ;
+ 
+ 222 
+ Ï¡_¡ab
+  = 
+ ž
+ ->
+ c_¡ab
+ ;
+ 
+ 224 ià(
+ couÁ
+  >= 3) {
+ 
+ 225 ià(
+ Ï¡_Ýt
+  =ð
+ CFT_NUMOP
+ )
+ 
+ 226 
+ 	`make_nsw™ch
+ (
+ sw™chbeg
+ ,
+ couÁ
+ );
+ 
+ 228 
+ 	`make_csw™ch
+ (
+ sw™chbeg
+ ,
+ couÁ
+ );
+ 
+ 230  
+ h—d
+ ;
+ 
+ 231 
+ 	}
+ }
+ 
+ 237 
+ 	$make_csw™ch
+ (
+ h—d
+ ,
+ couÁ
+ )
+ 
+ 238 
+ CMD
+  *
+ h—d
+ ;
+ 
+ 239 
+ couÁ
+ ;
+ 
+ 241 
+ CMD
+  *
+ cur
+ ;
+ 
+ 242 
+ CMD
+  **
+ loc
+ ;
+ 
+ 243 
+ i
+ ;
+ 
+ 244 
+ mš
+  = 255;
+ 
+ 245 
+ max
+  = 0;
+ 
+ 248 
+ 	`New
+ (102,
+ cur
+ , 1, 
+ CMD
+ );
+ 
+ 249 #ifdeà
+ STRUCTCOPY
+ 
+ 
+ 250 *
+ cur
+  = *
+ h—d
+ ;
+ 
+ 252 
+ 	`CÝy
+ (
+ h—d
+ ,
+ cur
+ ,1,
+ CMD
+ );
+ 
+ 254 
+ 	`Z”o
+ (
+ h—d
+ ,1,
+ CMD
+ );
+ 
+ 255 
+ h—d
+ ->
+ c_ty³
+  = 
+ C_CSWITCH
+ ;
+ 
+ 256 
+ h—d
+ ->
+ c_Ãxt
+  = 
+ cur
+ ;
+ 
+ 257 
+ h—d
+ ->
+ c_¡ab
+  = 
+ cur
+ ->c_stab;
+ 
+ 259 
+ 	`Newz
+ (103,
+ loc
+ ,258,
+ CMD
+ *);
+ 
+ 260 
+ loc
+ ++;
+ 
+ 261 
+ couÁ
+ --) {
+ 
+ 262 ià((
+ cur
+ ->
+ c_æags
+  & 
+ CF_OPTIMIZE
+ è=ð
+ CFT_CCLASS
+ ) {
+ 
+ 263 
+ i
+  = 0; i <= 255; i++) {
+ 
+ 264 ià(!
+ loc
+ [
+ i
+ ] && 
+ cur
+ ->
+ c_shÜt
+ ->
+ ¡r_±r
+ [i>>3] & (1 << (i&7))) {
+ 
+ 265 
+ loc
+ [
+ i
+ ] = 
+ cur
+ ;
+ 
+ 266 ià(
+ i
+  < 
+ mš
+ )
+ 
+ 267 
+ mš
+  = 
+ i
+ ;
+ 
+ 268 ià(
+ i
+  > 
+ max
+ )
+ 
+ 269 
+ max
+  = 
+ i
+ ;
+ 
+ 274 
+ i
+  = *
+ cur
+ ->
+ c_shÜt
+ ->
+ ¡r_±r
+  & 255;
+ 
+ 275 ià(!
+ loc
+ [
+ i
+ ]) {
+ 
+ 276 
+ loc
+ [
+ i
+ ] = 
+ cur
+ ;
+ 
+ 277 ià(
+ i
+  < 
+ mš
+ )
+ 
+ 278 
+ mš
+  = 
+ i
+ ;
+ 
+ 279 ià(
+ i
+  > 
+ max
+ )
+ 
+ 280 
+ max
+  = 
+ i
+ ;
+ 
+ 283 
+ cur
+  = cur->
+ c_Ãxt
+ ;
+ 
+ 285 
+ max
+ ++;
+ 
+ 286 ià(
+ mš
+  > 0)
+ 
+ 287 
+ 	`CÝy
+ (&
+ loc
+ [
+ mš
+ ],&loc[0], 
+ max
+  - mš, 
+ CMD
+ *);
+ 
+ 288 
+ loc
+ --;
+ 
+ 289 
+ mš
+ --;
+ 
+ 290 
+ max
+  -ð
+ mš
+ ;
+ 
+ 291 
+ i
+  = 0; i <ð
+ max
+ ; i++)
+ 
+ 292 ià(!
+ loc
+ [
+ i
+ ])
+ 
+ 293 
+ loc
+ [
+ i
+ ] = 
+ cur
+ ;
+ 
+ 294 
+ 	`R’ew
+ (
+ loc
+ ,
+ max
+ +1,
+ CMD
+ *);
+ 
+ 295 
+ h—d
+ ->
+ ucmd
+ .
+ scmd
+ .
+ sc_off£t
+  = 
+ mš
+ ;
+ 
+ 296 
+ h—d
+ ->
+ ucmd
+ .
+ scmd
+ .
+ sc_max
+  = 
+ max
+ ;
+ 
+ 297 
+ h—d
+ ->
+ ucmd
+ .
+ scmd
+ .
+ sc_Ãxt
+  = 
+ loc
+ ;
+ 
+ 298 
+ 	}
+ }
+ 
+ 300 
+ 	$make_nsw™ch
+ (
+ h—d
+ ,
+ couÁ
+ )
+ 
+ 301 
+ CMD
+  *
+ h—d
+ ;
+ 
+ 302 
+ couÁ
+ ;
+ 
+ 304 
+ CMD
+  *
+ cur
+  = 
+ h—d
+ ;
+ 
+ 305 
+ CMD
+  **
+ loc
+ ;
+ 
+ 306 
+ i
+ ;
+ 
+ 307 
+ mš
+  = 32767;
+ 
+ 308 
+ max
+  = -32768;
+ 
+ 309 
+ ÜigcouÁ
+  = 
+ couÁ
+ ;
+ 
+ 310 
+ v®ue
+ ;
+ 
+ 311 
+ chªged
+ ;
+ 
+ 313 
+ couÁ
+ --) {
+ 
+ 314 
+ i
+  = ()
+ 	`¡r_gnum
+ (
+ cur
+ ->
+ c_shÜt
+ );
+ 
+ 315 
+ v®ue
+  = ()
+ i
+ ;
+ 
+ 316 ià(
+ v®ue
+  !ð
+ cur
+ ->
+ c_shÜt
+ ->
+ ¡r_u
+ .
+ ¡r_nv®
+ )
+ 
+ 318 
+ chªged
+  = 
+ i
+ ;
+ 
+ 319 ià(
+ chªged
+  !ð
+ i
+ )
+ 
+ 321 ià(
+ cur
+ ->
+ c_¦’
+  =ð
+ O_LE
+ )
+ 
+ 322 
+ i
+ ++;
+ 
+ 323 ià(
+ cur
+ ->
+ c_¦’
+  =ð
+ O_GE
+ )
+ 
+ 324 
+ i
+ --;
+ 
+ 325 ià(
+ i
+  < 
+ mš
+ )
+ 
+ 326 
+ mš
+  = 
+ i
+ ;
+ 
+ 327 ià(
+ i
+  > 
+ max
+ )
+ 
+ 328 
+ max
+  = 
+ i
+ ;
+ 
+ 329 
+ cur
+  = cur->
+ c_Ãxt
+ ;
+ 
+ 331 
+ couÁ
+  = 
+ ÜigcouÁ
+ ;
+ 
+ 332 ià(
+ max
+  - 
+ mš
+  > 
+ couÁ
+  * 2 + 10)
+ 
+ 336 
+ 	`New
+ (104,
+ cur
+ , 1, 
+ CMD
+ );
+ 
+ 337 #ifdeà
+ STRUCTCOPY
+ 
+ 
+ 338 *
+ cur
+  = *
+ h—d
+ ;
+ 
+ 340 
+ 	`CÝy
+ (
+ h—d
+ ,
+ cur
+ ,1,
+ CMD
+ );
+ 
+ 342 
+ 	`Z”o
+ (
+ h—d
+ ,1,
+ CMD
+ );
+ 
+ 343 
+ h—d
+ ->
+ c_ty³
+  = 
+ C_NSWITCH
+ ;
+ 
+ 344 
+ h—d
+ ->
+ c_Ãxt
+  = 
+ cur
+ ;
+ 
+ 345 
+ h—d
+ ->
+ c_¡ab
+  = 
+ cur
+ ->c_stab;
+ 
+ 347 
+ 	`Newz
+ (105,
+ loc
+ , 
+ max
+  - 
+ mš
+  + 3, 
+ CMD
+ *);
+ 
+ 348 
+ loc
+ ++;
+ 
+ 349 
+ max
+  -ð
+ mš
+ ;
+ 
+ 350 
+ max
+ ++;
+ 
+ 351 
+ couÁ
+ --) {
+ 
+ 352 
+ i
+  = ()
+ 	`¡r_gnum
+ (
+ cur
+ ->
+ c_shÜt
+ );
+ 
+ 353 
+ i
+  -ð
+ mš
+ ;
+ 
+ 354 
+ cur
+ ->
+ c_¦’
+ ) {
+ 
+ 355 
+ O_LE
+ :
+ 
+ 356 
+ i
+ ++;
+ 
+ 357 
+ O_LT
+ :
+ 
+ 358 
+ i
+ --; i >= -1; i--)
+ 
+ 359 ià(!
+ loc
+ [
+ i
+ ])
+ 
+ 360 
+ loc
+ [
+ i
+ ] = 
+ cur
+ ;
+ 
+ 362 
+ O_GE
+ :
+ 
+ 363 
+ i
+ --;
+ 
+ 364 
+ O_GT
+ :
+ 
+ 365 
+ i
+ ++; i <ð
+ max
+ ; i++)
+ 
+ 366 ià(!
+ loc
+ [
+ i
+ ])
+ 
+ 367 
+ loc
+ [
+ i
+ ] = 
+ cur
+ ;
+ 
+ 369 
+ O_EQ
+ :
+ 
+ 370 ià(!
+ loc
+ [
+ i
+ ])
+ 
+ 371 
+ loc
+ [
+ i
+ ] = 
+ cur
+ ;
+ 
+ 374 
+ cur
+  = cur->
+ c_Ãxt
+ ;
+ 
+ 376 
+ loc
+ --;
+ 
+ 377 
+ mš
+ --;
+ 
+ 378 
+ max
+ ++;
+ 
+ 379 
+ i
+  = 0; i <ð
+ max
+ ; i++)
+ 
+ 380 ià(!
+ loc
+ [
+ i
+ ])
+ 
+ 381 
+ loc
+ [
+ i
+ ] = 
+ cur
+ ;
+ 
+ 382 
+ h—d
+ ->
+ ucmd
+ .
+ scmd
+ .
+ sc_off£t
+  = 
+ mš
+ ;
+ 
+ 383 
+ h—d
+ ->
+ ucmd
+ .
+ scmd
+ .
+ sc_max
+  = 
+ max
+ ;
+ 
+ 384 
+ h—d
+ ->
+ ucmd
+ .
+ scmd
+ .
+ sc_Ãxt
+  = 
+ loc
+ ;
+ 
+ 385 
+ 	}
+ }
+ 
+ 387 
+ CMD
+  *
+ 
+ 388 
+ 	$­³nd_lše
+ (
+ h—d
+ ,
+ ž
+ )
+ 
+ 389 
+ CMD
+  *
+ h—d
+ ;
+ 
+ 390 
+ CMD
+  *
+ ž
+ ;
+ 
+ 392 ià(
+ ž
+  =ð
+ NuÎcmd
+ )
+ 
+ 393  
+ h—d
+ ;
+ 
+ 394 ià(!
+ ž
+ ->
+ c_h—d
+ )
+ 
+ 395 
+ ž
+ ->
+ c_h—d
+  =ail;
+ 
+ 396 ià(
+ h—d
+  !ð
+ NuÎcmd
+ ) {
+ 
+ 397 
+ ž
+  =až->
+ c_h—d
+ ;
+ 
+ 398 ià(!
+ h—d
+ ->
+ c_h—d
+ )
+ 
+ 399 
+ h—d
+ ->
+ c_h—d
+  = head;
+ 
+ 400 
+ h—d
+ ->
+ c_Ãxt
+ ) {
+ 
+ 401 
+ h—d
+ ->
+ c_Ãxt
+ ->
+ c_h—d
+  = head->c_head;
+ 
+ 402 
+ h—d
+  = h—d->
+ c_Ãxt
+ ;
+ 
+ 404 
+ h—d
+ ->
+ c_Ãxt
+  = 
+ ž
+ ;
+ 
+ 405 
+ ž
+ ->
+ c_h—d
+  = 
+ h—d
+ ->c_head;
+ 
+ 407 
+ ž
+ ->
+ c_Ãxt
+ ) {
+ 
+ 408 
+ ž
+ ->
+ c_Ãxt
+ ->
+ c_h—d
+  =ail->c_head;
+ 
+ 409 
+ ž
+  =až->
+ c_Ãxt
+ ;
+ 
+ 411  
+ ž
+ ;
+ 
+ 412 
+ 	}
+ }
+ 
+ 414 
+ CMD
+  *
+ 
+ 415 
+ 	$dodb
+ (
+ cur
+ )
+ 
+ 416 
+ CMD
+  *
+ cur
+ ;
+ 
+ 418 
+ CMD
+  *
+ cmd
+ ;
+ 
+ 419 
+ CMD
+  *
+ h—d
+  = 
+ cur
+ ->
+ c_h—d
+ ;
+ 
+ 420 
+ STR
+  *
+ ¡r
+ ;
+ 
+ 422 ià(!
+ h—d
+ )
+ 
+ 423 
+ h—d
+  = 
+ cur
+ ;
+ 
+ 424 ià(!
+ h—d
+ ->
+ c_lše
+ )
+ 
+ 425  
+ cur
+ ;
+ 
+ 426 
+ ¡r
+  = 
+ 	`aãtch
+ (
+ 	`¡ab_x¬¿y
+ (
+ curcmd
+ ->
+ c_fže¡ab
+ ),()
+ h—d
+ ->
+ c_lše
+ ,
+ FALSE
+ );
+ 
+ 427 ià(
+ ¡r
+  =ð&
+ ¡r_undef
+  || sŒ->
+ ¡r_nok
+ )
+ 
+ 428  
+ cur
+ ;
+ 
+ 429 
+ ¡r
+ ->
+ ¡r_u
+ .
+ ¡r_nv®
+  = ()
+ h—d
+ ->
+ c_lše
+ ;
+ 
+ 430 
+ ¡r
+ ->
+ ¡r_nok
+  = 1;
+ 
+ 431 
+ 	`Newz
+ (106,
+ cmd
+ ,1,
+ CMD
+ );
+ 
+ 432 
+ 	`¡r_magic
+ (
+ ¡r
+ , 
+ curcmd
+ ->
+ c_fže¡ab
+ , 0, 
+ NuÎch
+ , 0);
+ 
+ 433 
+ ¡r
+ ->
+ ¡r_magic
+ ->
+ ¡r_u
+ .
+ ¡r_cmd
+  = 
+ cmd
+ ;
+ 
+ 434 
+ cmd
+ ->
+ c_ty³
+  = 
+ C_EXPR
+ ;
+ 
+ 435 
+ cmd
+ ->
+ ucmd
+ .
+ acmd
+ .
+ ac_¡ab
+  = 
+ NuΡab
+ ;
+ 
+ 436 
+ cmd
+ ->
+ ucmd
+ .
+ acmd
+ .
+ ac_ex´
+  = 
+ Nuάg
+ ;
+ 
+ 437 
+ cmd
+ ->
+ c_ex´
+  = 
+ 	`make_Ý
+ (
+ O_SUBR
+ , 2,
+ 
+ 438 
+ 	`¡ab2¬g
+ (
+ A_WORD
+ ,
+ DB¡ab
+ ),
+ 
+ 439 
+ Nuάg
+ ,
+ 
+ 440 
+ Nuάg
+ );
+ 
+ 441 
+ cmd
+ ->
+ c_æags
+  |ð
+ CF_COND
+ |
+ CF_DBSUB
+ |
+ CFT_D0
+ ;
+ 
+ 442 
+ cmd
+ ->
+ c_lše
+  = 
+ h—d
+ ->c_line;
+ 
+ 443 
+ cmd
+ ->
+ c_Ïb–
+  = 
+ h—d
+ ->c_label;
+ 
+ 444 
+ cmd
+ ->
+ c_fže¡ab
+  = 
+ curcmd
+ ->c_filestab;
+ 
+ 445 
+ cmd
+ ->
+ c_¡ash
+  = 
+ cur¡ash
+ ;
+ 
+ 446  
+ 	`­³nd_lše
+ (
+ cmd
+ , 
+ cur
+ );
+ 
+ 447 
+ 	}
+ }
+ 
+ 449 
+ CMD
+  *
+ 
+ 450 
+ 	$make_acmd
+ (
+ ty³
+ ,
+ ¡ab
+ ,
+ cÚd
+ ,
+ ¬g
+ )
+ 
+ 451 
+ ty³
+ ;
+ 
+ 452 
+ STAB
+  *
+ ¡ab
+ ;
+ 
+ 453 
+ ARG
+  *
+ cÚd
+ ;
+ 
+ 454 
+ ARG
+  *
+ ¬g
+ ;
+ 
+ 456 
+ CMD
+  *
+ cmd
+ ;
+ 
+ 458 
+ 	`Newz
+ (107,
+ cmd
+ ,1,
+ CMD
+ );
+ 
+ 459 
+ cmd
+ ->
+ c_ty³
+  = 
+ ty³
+ ;
+ 
+ 460 
+ cmd
+ ->
+ ucmd
+ .
+ acmd
+ .
+ ac_¡ab
+  = 
+ ¡ab
+ ;
+ 
+ 461 
+ cmd
+ ->
+ ucmd
+ .
+ acmd
+ .
+ ac_ex´
+  = 
+ ¬g
+ ;
+ 
+ 462 
+ cmd
+ ->
+ c_ex´
+  = 
+ cÚd
+ ;
+ 
+ 463 ià(
+ cÚd
+ )
+ 
+ 464 
+ cmd
+ ->
+ c_æags
+  |ð
+ CF_COND
+ ;
+ 
+ 465 ià(
+ cmdlše
+  =ð
+ NOLINE
+ )
+ 
+ 466 
+ cmd
+ ->
+ c_lše
+  = 
+ curcmd
+ ->c_line;
+ 
+ 468 
+ cmd
+ ->
+ c_lše
+  = 
+ cmdlše
+ ;
+ 
+ 469 
+ cmdlše
+  = 
+ NOLINE
+ ;
+ 
+ 471 
+ cmd
+ ->
+ c_fže¡ab
+  = 
+ curcmd
+ ->c_filestab;
+ 
+ 472 
+ cmd
+ ->
+ c_¡ash
+  = 
+ cur¡ash
+ ;
+ 
+ 473 ià(
+ ³¾db
+ )
+ 
+ 474 
+ cmd
+  = 
+ 	`dodb
+ (cmd);
+ 
+ 475  
+ cmd
+ ;
+ 
+ 476 
+ 	}
+ }
+ 
+ 478 
+ CMD
+  *
+ 
+ 479 
+ 	$make_ccmd
+ (
+ ty³
+ ,
+ ¬g
+ ,
+ cblock
+ )
+ 
+ 480 
+ ty³
+ ;
+ 
+ 481 
+ ARG
+  *
+ ¬g
+ ;
+ 
+ 482 
+ compcmd
+  
+ cblock
+ ;
+ 
+ 484 
+ CMD
+  *
+ cmd
+ ;
+ 
+ 486 
+ 	`Newz
+ (108,
+ cmd
+ , 1, 
+ CMD
+ );
+ 
+ 487 
+ cmd
+ ->
+ c_ty³
+  = 
+ ty³
+ ;
+ 
+ 488 
+ cmd
+ ->
+ c_ex´
+  = 
+ ¬g
+ ;
+ 
+ 489 
+ cmd
+ ->
+ ucmd
+ .
+ ccmd
+ .
+ cc_Œue
+  = 
+ cblock
+ .
+ comp_Œue
+ ;
+ 
+ 490 
+ cmd
+ ->
+ ucmd
+ .
+ ccmd
+ .
+ cc_®t
+  = 
+ cblock
+ .
+ comp_®t
+ ;
+ 
+ 491 ià(
+ ¬g
+ )
+ 
+ 492 
+ cmd
+ ->
+ c_æags
+  |ð
+ CF_COND
+ ;
+ 
+ 493 ià(
+ cmdlše
+  =ð
+ NOLINE
+ )
+ 
+ 494 
+ cmd
+ ->
+ c_lše
+  = 
+ curcmd
+ ->c_line;
+ 
+ 496 
+ cmd
+ ->
+ c_lše
+  = 
+ cmdlše
+ ;
+ 
+ 497 
+ cmdlše
+  = 
+ NOLINE
+ ;
+ 
+ 499 
+ cmd
+ ->
+ c_fže¡ab
+  = 
+ curcmd
+ ->c_filestab;
+ 
+ 500 
+ cmd
+ ->
+ c_¡ash
+  = 
+ cur¡ash
+ ;
+ 
+ 501 ià(
+ ³¾db
+ )
+ 
+ 502 
+ cmd
+  = 
+ 	`dodb
+ (cmd);
+ 
+ 503  
+ cmd
+ ;
+ 
+ 504 
+ 	}
+ }
+ 
+ 506 
+ CMD
+  *
+ 
+ 507 
+ 	$make_icmd
+ (
+ ty³
+ ,
+ ¬g
+ ,
+ cblock
+ )
+ 
+ 508 
+ ty³
+ ;
+ 
+ 509 
+ ARG
+  *
+ ¬g
+ ;
+ 
+ 510 
+ compcmd
+  
+ cblock
+ ;
+ 
+ 512 
+ CMD
+  *
+ cmd
+ ;
+ 
+ 513 
+ CMD
+  *
+ ®t
+ ;
+ 
+ 514 
+ CMD
+  *
+ cur
+ ;
+ 
+ 515 
+ CMD
+  *
+ h—d
+ ;
+ 
+ 516 
+ compcmd
+  
+ ncblock
+ ;
+ 
+ 518 
+ 	`Newz
+ (109,
+ cmd
+ , 1, 
+ CMD
+ );
+ 
+ 519 
+ h—d
+  = 
+ cmd
+ ;
+ 
+ 520 
+ cmd
+ ->
+ c_ty³
+  = 
+ ty³
+ ;
+ 
+ 521 
+ cmd
+ ->
+ c_ex´
+  = 
+ ¬g
+ ;
+ 
+ 522 
+ cmd
+ ->
+ ucmd
+ .
+ ccmd
+ .
+ cc_Œue
+  = 
+ cblock
+ .
+ comp_Œue
+ ;
+ 
+ 523 
+ cmd
+ ->
+ ucmd
+ .
+ ccmd
+ .
+ cc_®t
+  = 
+ cblock
+ .
+ comp_®t
+ ;
+ 
+ 524 ià(
+ ¬g
+ )
+ 
+ 525 
+ cmd
+ ->
+ c_æags
+  |ð
+ CF_COND
+ ;
+ 
+ 526 ià(
+ cmdlše
+  =ð
+ NOLINE
+ )
+ 
+ 527 
+ cmd
+ ->
+ c_lše
+  = 
+ curcmd
+ ->c_line;
+ 
+ 529 
+ cmd
+ ->
+ c_lše
+  = 
+ cmdlše
+ ;
+ 
+ 530 
+ cmdlše
+  = 
+ NOLINE
+ ;
+ 
+ 532 
+ cmd
+ ->
+ c_fže¡ab
+  = 
+ curcmd
+ ->c_filestab;
+ 
+ 533 
+ cmd
+ ->
+ c_¡ash
+  = 
+ cur¡ash
+ ;
+ 
+ 534 
+ cur
+  = 
+ cmd
+ ;
+ 
+ 535 
+ ®t
+  = 
+ cblock
+ .
+ comp_®t
+ ;
+ 
+ 536 
+ ®t
+  &&‡É->
+ c_ty³
+  =ð
+ C_ELSIF
+ ) {
+ 
+ 537 
+ cur
+  = 
+ ®t
+ ;
+ 
+ 538 
+ ®t
+  =‡É->
+ ucmd
+ .
+ ccmd
+ .
+ cc_®t
+ ;
+ 
+ 540 ià(
+ ®t
+ ) {
+ 
+ 541 
+ ncblock
+ .
+ comp_Œue
+  = 
+ ®t
+ ;
+ 
+ 542 
+ ncblock
+ .
+ comp_®t
+  = 
+ NuÎcmd
+ ;
+ 
+ 543 
+ ®t
+  = 
+ 	`­³nd_lše
+ (
+ cur
+ ,
+ 	`make_ccmd
+ (
+ C_ELSE
+ ,
+ Nuάg
+ ,
+ ncblock
+ ));
+ 
+ 544 
+ cur
+ ->
+ ucmd
+ .
+ ccmd
+ .
+ cc_®t
+  = 
+ ®t
+ ;
+ 
+ 547 
+ ®t
+  = 
+ cur
+ ;
+ 
+ 549 
+ cur
+  = 
+ cmd
+ ;
+ 
+ 550 
+ cmd
+ ) {
+ 
+ 551 
+ cur
+  = 
+ cmd
+ ;
+ 
+ 552 
+ cmd
+  = 
+ cur
+ ->
+ ucmd
+ .
+ ccmd
+ .
+ cc_®t
+ ;
+ 
+ 553 
+ cur
+ ->
+ c_h—d
+  = 
+ h—d
+ ;
+ 
+ 554 ià(
+ cur
+ ->
+ c_ty³
+  =ð
+ C_ELSIF
+ )
+ 
+ 555 
+ cur
+ ->
+ c_ty³
+  = 
+ C_IF
+ ;
+ 
+ 556 ià(
+ cur
+ ->
+ c_ty³
+  =ð
+ C_IF
+ )
+ 
+ 557 
+ cur
+ ->
+ ucmd
+ .
+ ccmd
+ .
+ cc_®t
+  = 
+ ®t
+ ;
+ 
+ 558 ià(
+ cur
+  =ð
+ ®t
+ )
+ 
+ 560 
+ cur
+ ->
+ c_Ãxt
+  = 
+ cmd
+ ;
+ 
+ 562 ià(
+ ³¾db
+ )
+ 
+ 563 
+ cur
+  = 
+ 	`dodb
+ (cur);
+ 
+ 564  
+ cur
+ ;
+ 
+ 565 
+ 	}
+ }
+ 
+ 568 
+ 	$Ýt_¬g
+ (
+ cmd
+ ,
+ æÜæÝ
+ ,
+ acmd
+ )
+ 
+ 569 
+ CMD
+  *
+ cmd
+ ;
+ 
+ 570 
+ æÜæÝ
+ ;
+ 
+ 571 
+ acmd
+ ;
+ 
+ 573 
+ ARG
+  *
+ ¬g
+ ;
+ 
+ 574 
+ Ýt
+  = 
+ CFT_EVAL
+ ;
+ 
+ 575 
+ su»
+  = 0;
+ 
+ 576 
+ ARG
+  *
+ ¬g2
+ ;
+ 
+ 577 
+ cڋxt
+  = 0;
+ 
+ 578 
+ æp
+  = 
+ æÜæÝ
+ ;
+ 
+ 580 ià(!
+ cmd
+ )
+ 
+ 582 ià(!(
+ ¬g
+  = 
+ cmd
+ ->
+ c_ex´
+ )) {
+ 
+ 583 
+ cmd
+ ->
+ c_æags
+  &ð~
+ CF_COND
+ ;
+ 
+ 589 ià(
+ acmd
+  && !
+ cmd
+ ->
+ ucmd
+ .acmd.
+ ac_ex´
+  && !(cmd->
+ c_æags
+  & 
+ CF_TERM
+ ) &&
+ 
+ 590 (
+ ¬g
+ ->
+ ¬g_ty³
+  =ð
+ O_AND
+  ||‡rg->¬g_ty³ =ð
+ O_OR
+ ) ) {
+ 
+ 591 
+ 	`dehoi¡
+ (
+ ¬g
+ ,1);
+ 
+ 592 
+ ¬g
+ [2].
+ ¬g_ty³
+  &ð
+ A_MASK
+ ;
+ 
+ 593 
+ 	`dehoi¡
+ (
+ ¬g
+ ,2);
+ 
+ 594 
+ cmd
+ ->
+ ucmd
+ .
+ acmd
+ .
+ ac_ex´
+  = 
+ ¬g
+ [2].
+ ¬g_±r
+ .
+ ¬g_¬g
+ ;
+ 
+ 595 
+ cmd
+ ->
+ c_ex´
+  = 
+ ¬g
+ [1].
+ ¬g_±r
+ .
+ ¬g_¬g
+ ;
+ 
+ 596 ià(
+ ¬g
+ ->
+ ¬g_ty³
+  =ð
+ O_OR
+ )
+ 
+ 597 
+ cmd
+ ->
+ c_æags
+  ^ð
+ CF_INVERT
+ ;
+ 
+ 598 
+ ¬g
+ ->
+ ¬g_Ën
+  = 0;
+ 
+ 599 
+ 	`ä“_¬g
+ (
+ ¬g
+ );
+ 
+ 600 
+ ¬g
+  = 
+ cmd
+ ->
+ c_ex´
+ ;
+ 
+ 605 ià(!(
+ cmd
+ ->
+ c_æags
+  & 
+ CF_TERM
+ )) {
+ 
+ 606 
+ ¬g
+ ->
+ ¬g_ty³
+  =ð
+ O_NOT
+ ) {
+ 
+ 607 
+ 	`dehoi¡
+ (
+ ¬g
+ ,1);
+ 
+ 608 
+ cmd
+ ->
+ c_æags
+  ^ð
+ CF_INVERT
+ ;
+ 
+ 609 
+ cmd
+ ->
+ c_ex´
+  = 
+ ¬g
+ [1].
+ ¬g_±r
+ .
+ ¬g_¬g
+ ;
+ 
+ 610 
+ 	`ä“_¬g
+ (
+ ¬g
+ );
+ 
+ 611 
+ ¬g
+  = 
+ cmd
+ ->
+ c_ex´
+ ;
+ 
+ 615 ià(!
+ ¬g
+ ->
+ ¬g_Ën
+ ) {
+ 
+ 616 
+ cmd
+ ->
+ c_æags
+  |ð
+ Ýt
+ ;
+ 
+ 622 ià(
+ ¬g
+ ->
+ ¬g_ty³
+  =ð
+ O_FLIP
+ )
+ 
+ 623 
+ cڋxt
+  |= 4;
+ 
+ 627 
+ mÜecÚ‹xt
+ :
+ 
+ 628 ià(
+ ¬g
+ ->
+ ¬g_ty³
+  =ð
+ O_AND
+ )
+ 
+ 629 
+ cڋxt
+  |= 1;
+ 
+ 630 ià(
+ ¬g
+ ->
+ ¬g_ty³
+  =ð
+ O_OR
+ )
+ 
+ 631 
+ cڋxt
+  |= 2;
+ 
+ 632 ià(
+ cڋxt
+  && (
+ ¬g
+ [
+ æp
+ ].
+ ¬g_ty³
+  & 
+ A_MASK
+ è=ð
+ A_EXPR
+ ) {
+ 
+ 633 
+ ¬g
+  =‡rg[
+ æp
+ ].
+ ¬g_±r
+ .
+ ¬g_¬g
+ ;
+ 
+ 634 
+ æp
+  = 1;
+ 
+ 635 ià(
+ ¬g
+ ->
+ ¬g_ty³
+  =ð
+ O_AND
+  ||‡rg->¬g_ty³ =ð
+ O_OR
+ )
+ 
+ 636 
+ mÜecÚ‹xt
+ ;
+ 
+ 638 ià((
+ cڋxt
+  & 3) == 3)
+ 
+ 641 ià(
+ ¬g
+ [
+ æp
+ ].
+ ¬g_æags
+  & (
+ AF_PRE
+ |
+ AF_POST
+ )) {
+ 
+ 642 
+ cmd
+ ->
+ c_æags
+  |ð
+ Ýt
+ ;
+ 
+ 643 ià(
+ acmd
+  && !
+ cmd
+ ->
+ ucmd
+ .acmd.
+ ac_ex´
+  && !(cmd->
+ c_æags
+  & 
+ CF_TERM
+ )
+ 
+ 644 && 
+ cmd
+ ->
+ c_ex´
+ ->
+ ¬g_ty³
+  =ð
+ O_ITEM
+ ) {
+ 
+ 645 
+ ¬g
+ [
+ æp
+ ].
+ ¬g_æags
+  &ð~
+ AF_POST
+ ;
+ 
+ 646 
+ ¬g
+ [
+ æp
+ ].
+ ¬g_æags
+  |ð
+ AF_PRE
+ ;
+ 
+ 651 ià(
+ ¬g
+ ->
+ ¬g_ty³
+  =ð
+ O_ITEM
+  ||‡rg->¬g_ty³ =ð
+ O_FLIP
+  ||
+ 
+ 652 
+ ¬g
+ ->
+ ¬g_ty³
+  =ð
+ O_AND
+  ||‡rg->¬g_ty³ =ð
+ O_OR
+ ) {
+ 
+ 653 ià((
+ ¬g
+ [
+ æp
+ ].
+ ¬g_ty³
+  & 
+ A_MASK
+ è=ð
+ A_SINGLE
+ ) {
+ 
+ 654 
+ Ýt
+  = (
+ 	`¡r_Œue
+ (
+ ¬g
+ [
+ æp
+ ].
+ ¬g_±r
+ .
+ ¬g_¡r
+ è? 
+ CFT_TRUE
+  : 
+ CFT_FALSE
+ );
+ 
+ 655 
+ cmd
+ ->
+ c_shÜt
+  = 
+ 	`¡r_smake
+ (
+ ¬g
+ [
+ æp
+ ].
+ ¬g_±r
+ .
+ ¬g_¡r
+ );
+ 
+ 656 
+ l™”®
+ ;
+ 
+ 658 ià((
+ ¬g
+ [
+ æp
+ ].
+ ¬g_ty³
+  & 
+ A_MASK
+ è=ð
+ A_STAB
+  ||
+ 
+ 659 (
+ ¬g
+ [
+ æp
+ ].
+ ¬g_ty³
+  & 
+ A_MASK
+ è=ð
+ A_LVAL
+ ) {
+ 
+ 660 
+ cmd
+ ->
+ c_¡ab
+  = 
+ ¬g
+ [
+ æp
+ ].
+ ¬g_±r
+ .
+ ¬g_¡ab
+ ;
+ 
+ 661 ià(!
+ cڋxt
+ )
+ 
+ 662 
+ ¬g
+ [
+ æp
+ ].
+ ¬g_±r
+ .
+ ¬g_¡ab
+  = 
+ NuΡab
+ ;
+ 
+ 663 
+ Ýt
+  = 
+ CFT_REG
+ ;
+ 
+ 664 
+ l™”®
+ :
+ 
+ 665 ià(!
+ cڋxt
+ ) {
+ 
+ 666 
+ 	`¬g_ä“
+ (
+ ¬g
+ );
+ 
+ 667 
+ cmd
+ ->
+ c_ex´
+  = 
+ Nuάg
+ ;
+ 
+ 669 ià(!(
+ cڋxt
+  & 1))
+ 
+ 670 
+ cmd
+ ->
+ c_æags
+  |ð
+ CF_EQSURE
+ ;
+ 
+ 671 ià(!(
+ cڋxt
+  & 2))
+ 
+ 672 
+ cmd
+ ->
+ c_æags
+  |ð
+ CF_NESURE
+ ;
+ 
+ 675 ià(
+ ¬g
+ ->
+ ¬g_ty³
+  =ð
+ O_MATCH
+  ||‡rg->¬g_ty³ =ð
+ O_SUBST
+  ||
+ 
+ 676 
+ ¬g
+ ->
+ ¬g_ty³
+  =ð
+ O_NMATCH
+  ||‡rg->¬g_ty³ =ð
+ O_NSUBST
+ ) {
+ 
+ 677 ià((
+ ¬g
+ [1].
+ ¬g_ty³
+  =ð
+ A_STAB
+  ||‡rg[1].¬g_ty³ =ð
+ A_LVAL
+ ) &&
+ 
+ 678 (
+ ¬g
+ [2].
+ ¬g_ty³
+  & 
+ A_MASK
+ è=ð
+ A_SPAT
+  &&
+ 
+ 679 
+ ¬g
+ [2].
+ ¬g_±r
+ .
+ ¬g_¥©
+ ->
+ ¥©_shÜt
+  ) {
+ 
+ 680 
+ cmd
+ ->
+ c_¡ab
+  = 
+ ¬g
+ [1].
+ ¬g_±r
+ .
+ ¬g_¡ab
+ ;
+ 
+ 681 
+ cmd
+ ->
+ c_shÜt
+  = 
+ 	`¡r_smake
+ (
+ ¬g
+ [2].
+ ¬g_±r
+ .
+ ¬g_¥©
+ ->
+ ¥©_shÜt
+ );
+ 
+ 682 
+ cmd
+ ->
+ c_¦’
+  = 
+ ¬g
+ [2].
+ ¬g_±r
+ .
+ ¬g_¥©
+ ->
+ ¥©_¦’
+ ;
+ 
+ 683 ià(
+ ¬g
+ [2].
+ ¬g_±r
+ .
+ ¬g_¥©
+ ->
+ ¥©_æags
+  & 
+ SPAT_ALL
+  &&
+ 
+ 684 !(
+ ¬g
+ [2].
+ ¬g_±r
+ .
+ ¬g_¥©
+ ->
+ ¥©_æags
+  & 
+ SPAT_ONCE
+ ) &&
+ 
+ 685 (
+ ¬g
+ ->
+ ¬g_ty³
+  =ð
+ O_MATCH
+  ||‡rg->¬g_ty³ =ð
+ O_NMATCH
+ ) )
+ 
+ 686 
+ su»
+  |ð
+ CF_EQSURE
+ ;
+ 
+ 688 ià(
+ ¬g
+ ->
+ ¬g_ty³
+  !ð
+ O_SUBST
+ ) {
+ 
+ 689 
+ ¬g
+ [2].
+ ¬g_±r
+ .
+ ¬g_¥©
+ ->
+ ¥©_shÜt
+  = 
+ NuΡr
+ ;
+ 
+ 690 
+ ¬g
+ [2].
+ ¬g_±r
+ .
+ ¬g_¥©
+ ->
+ ¥©_¦’
+  = 0;
+ 
+ 692 
+ su»
+  |ð
+ CF_NESURE
+ ;
+ 
+ 693 ià(
+ ¬g
+ ->
+ ¬g_ty³
+  =ð
+ O_NMATCH
+  ||‡rg->¬g_ty³ =ð
+ O_NSUBST
+ )
+ 
+ 694 
+ cmd
+ ->
+ c_æags
+  |ð
+ CF_FIRSTNEG
+ ;
+ 
+ 695 ià(
+ cڋxt
+  & 1) {
+ 
+ 696 ià(
+ cmd
+ ->
+ c_æags
+  & 
+ CF_FIRSTNEG
+ )
+ 
+ 697 
+ su»
+  &ð~
+ CF_NESURE
+ ;
+ 
+ 699 
+ su»
+  &ð~
+ CF_EQSURE
+ ;
+ 
+ 701 ià(
+ cڋxt
+  & 2) {
+ 
+ 702 ià(
+ cmd
+ ->
+ c_æags
+  & 
+ CF_FIRSTNEG
+ )
+ 
+ 703 
+ su»
+  &ð~
+ CF_EQSURE
+ ;
+ 
+ 705 
+ su»
+  &ð~
+ CF_NESURE
+ ;
+ 
+ 707 ià(
+ su»
+  & (
+ CF_EQSURE
+ |
+ CF_NESURE
+ )) {
+ 
+ 708 ià(
+ ¬g
+ [2].
+ ¬g_±r
+ .
+ ¬g_¥©
+ ->
+ ¥©_æags
+  & 
+ SPAT_SCANFIRST
+ )
+ 
+ 709 
+ Ýt
+  = 
+ CFT_SCAN
+ ;
+ 
+ 711 
+ Ýt
+  = 
+ CFT_ANCHOR
+ ;
+ 
+ 712 ià(
+ su»
+  =ð(
+ CF_EQSURE
+ |
+ CF_NESURE
+ )
+ 
+ 713 && 
+ ¬g
+ ->
+ ¬g_ty³
+  =ð
+ O_MATCH
+ 
+ 
+ 714 && 
+ cڋxt
+  & 4
+ 
+ 715 && 
+ æÜæÝ
+  == 1) {
+ 
+ 716 
+ 	`¥©_ä“
+ (
+ ¬g
+ [2].
+ ¬g_±r
+ .
+ ¬g_¥©
+ );
+ 
+ 717 
+ ¬g
+ [2].
+ ¬g_±r
+ .
+ ¬g_¥©
+  = 
+ Nu봩
+ ;
+ 
+ 720 
+ cmd
+ ->
+ c_¥©
+  = 
+ ¬g
+ [2].
+ ¬g_±r
+ .
+ ¬g_¥©
+ ;
+ 
+ 721 
+ cmd
+ ->
+ c_æags
+  |ð
+ su»
+ ;
+ 
+ 725 ià(
+ ¬g
+ ->
+ ¬g_ty³
+  =ð
+ O_SEQ
+  ||‡rg->¬g_ty³ =ð
+ O_SNE
+  ||
+ 
+ 726 
+ ¬g
+ ->
+ ¬g_ty³
+  =ð
+ O_SLT
+  ||‡rg->¬g_ty³ =ð
+ O_SGT
+ ) {
+ 
+ 727 ià(
+ ¬g
+ [1].
+ ¬g_ty³
+  =ð
+ A_STAB
+  ||‡rg[1].¬g_ty³ =ð
+ A_LVAL
+ ) {
+ 
+ 728 ià(
+ ¬g
+ [2].
+ ¬g_ty³
+  =ð
+ A_SINGLE
+ ) {
+ 
+ 729 *
+ junk
+  = 
+ 	`¡r_g‘
+ (
+ ¬g
+ [2].
+ ¬g_±r
+ .
+ ¬g_¡r
+ );
+ 
+ 731 
+ cmd
+ ->
+ c_¡ab
+  = 
+ ¬g
+ [1].
+ ¬g_±r
+ .
+ ¬g_¡ab
+ ;
+ 
+ 732 
+ cmd
+ ->
+ c_shÜt
+  = 
+ 	`¡r_smake
+ (
+ ¬g
+ [2].
+ ¬g_±r
+ .
+ ¬g_¡r
+ );
+ 
+ 733 
+ cmd
+ ->
+ c_¦’
+  = cmd->
+ c_shÜt
+ ->
+ ¡r_cur
+ +1;
+ 
+ 734 
+ ¬g
+ ->
+ ¬g_ty³
+ ) {
+ 
+ 735 
+ O_SLT
+ : 
+ O_SGT
+ :
+ 
+ 736 
+ su»
+  |ð
+ CF_EQSURE
+ ;
+ 
+ 737 
+ cmd
+ ->
+ c_æags
+  |ð
+ CF_FIRSTNEG
+ ;
+ 
+ 739 
+ O_SNE
+ :
+ 
+ 740 
+ cmd
+ ->
+ c_æags
+  |ð
+ CF_FIRSTNEG
+ ;
+ 
+ 742 
+ O_SEQ
+ :
+ 
+ 743 
+ su»
+  |ð
+ CF_NESURE
+ |
+ CF_EQSURE
+ ;
+ 
+ 746 ià(
+ cڋxt
+  & 1) {
+ 
+ 747 ià(
+ cmd
+ ->
+ c_æags
+  & 
+ CF_FIRSTNEG
+ )
+ 
+ 748 
+ su»
+  &ð~
+ CF_NESURE
+ ;
+ 
+ 750 
+ su»
+  &ð~
+ CF_EQSURE
+ ;
+ 
+ 752 ià(
+ cڋxt
+  & 2) {
+ 
+ 753 ià(
+ cmd
+ ->
+ c_æags
+  & 
+ CF_FIRSTNEG
+ )
+ 
+ 754 
+ su»
+  &ð~
+ CF_EQSURE
+ ;
+ 
+ 756 
+ su»
+  &ð~
+ CF_NESURE
+ ;
+ 
+ 758 ià(
+ su»
+  & (
+ CF_EQSURE
+ |
+ CF_NESURE
+ )) {
+ 
+ 759 
+ Ýt
+  = 
+ CFT_STROP
+ ;
+ 
+ 760 
+ cmd
+ ->
+ c_æags
+  |ð
+ su»
+ ;
+ 
+ 765 ià(
+ ¬g
+ ->
+ ¬g_ty³
+  =ð
+ O_EQ
+  ||‡rg->¬g_ty³ =ð
+ O_NE
+  ||
+ 
+ 766 
+ ¬g
+ ->
+ ¬g_ty³
+  =ð
+ O_LE
+  ||‡rg->¬g_ty³ =ð
+ O_GE
+  ||
+ 
+ 767 
+ ¬g
+ ->
+ ¬g_ty³
+  =ð
+ O_LT
+  ||‡rg->¬g_ty³ =ð
+ O_GT
+ ) {
+ 
+ 768 ià(
+ ¬g
+ [1].
+ ¬g_ty³
+  =ð
+ A_STAB
+  ||‡rg[1].¬g_ty³ =ð
+ A_LVAL
+ ) {
+ 
+ 769 ià(
+ ¬g
+ [2].
+ ¬g_ty³
+  =ð
+ A_SINGLE
+ ) {
+ 
+ 770 
+ cmd
+ ->
+ c_¡ab
+  = 
+ ¬g
+ [1].
+ ¬g_±r
+ .
+ ¬g_¡ab
+ ;
+ 
+ 771 ià(
+ dow¬n
+ ) {
+ 
+ 772 
+ STR
+  *
+ ¡r
+  = 
+ ¬g
+ [2].
+ ¬g_±r
+ .
+ ¬g_¡r
+ ;
+ 
+ 774 ià((!
+ ¡r
+ ->
+ ¡r_nok
+  && !
+ 	`looks_like_numb”
+ (str)))
+ 
+ 775 
+ 	`w¬n
+ ("Possible use of == on string value");
+ 
+ 777 
+ cmd
+ ->
+ c_shÜt
+  = 
+ 	`¡r_nmake
+ (
+ 	`¡r_gnum
+ (
+ ¬g
+ [2].
+ ¬g_±r
+ .
+ ¬g_¡r
+ ));
+ 
+ 778 
+ cmd
+ ->
+ c_¦’
+  = 
+ ¬g
+ ->
+ ¬g_ty³
+ ;
+ 
+ 779 
+ su»
+  |ð
+ CF_NESURE
+ |
+ CF_EQSURE
+ ;
+ 
+ 780 ià(
+ cڋxt
+  & 1) {
+ 
+ 781 
+ su»
+  &ð~
+ CF_EQSURE
+ ;
+ 
+ 783 ià(
+ cڋxt
+  & 2) {
+ 
+ 784 
+ su»
+  &ð~
+ CF_NESURE
+ ;
+ 
+ 786 ià(
+ su»
+  & (
+ CF_EQSURE
+ |
+ CF_NESURE
+ )) {
+ 
+ 787 
+ Ýt
+  = 
+ CFT_NUMOP
+ ;
+ 
+ 788 
+ cmd
+ ->
+ c_æags
+  |ð
+ su»
+ ;
+ 
+ 793 ià(
+ ¬g
+ ->
+ ¬g_ty³
+  =ð
+ O_ASSIGN
+  &&
+ 
+ 794 (
+ ¬g
+ [1].
+ ¬g_ty³
+  =ð
+ A_STAB
+  ||‡rg[1].¬g_ty³ =ð
+ A_LVAL
+ ) &&
+ 
+ 795 
+ ¬g
+ [1].
+ ¬g_±r
+ .
+ ¬g_¡ab
+  =ð
+ def¡ab
+  &&
+ 
+ 796 
+ ¬g
+ [2].
+ ¬g_ty³
+  =ð
+ A_EXPR
+  ) {
+ 
+ 797 
+ ¬g2
+  = 
+ ¬g
+ [2].
+ ¬g_±r
+ .
+ ¬g_¬g
+ ;
+ 
+ 798 ià(
+ ¬g2
+ ->
+ ¬g_ty³
+  =ð
+ O_ITEM
+  &&‡rg2[1].¬g_ty³ =ð
+ A_READ
+ ) {
+ 
+ 799 
+ Ýt
+  = 
+ CFT_GETS
+ ;
+ 
+ 800 
+ cmd
+ ->
+ c_¡ab
+  = 
+ ¬g2
+ [1].
+ ¬g_±r
+ .
+ ¬g_¡ab
+ ;
+ 
+ 801 ià(!(
+ 	`¡ab_io
+ (
+ ¬g2
+ [1].
+ ¬g_±r
+ .
+ ¬g_¡ab
+ )->
+ æags
+  & 
+ IOF_ARGV
+ )) {
+ 
+ 802 
+ 	`ä“_¬g
+ (
+ ¬g2
+ );
+ 
+ 803 
+ ¬g
+ [2].
+ ¬g_±r
+ .
+ ¬g_¬g
+  = 
+ Nuάg
+ ;
+ 
+ 804 
+ 	`ä“_¬g
+ (
+ ¬g
+ );
+ 
+ 805 
+ cmd
+ ->
+ c_ex´
+  = 
+ Nuάg
+ ;
+ 
+ 809 ià(
+ ¬g
+ ->
+ ¬g_ty³
+  =ð
+ O_CHOP
+  &&
+ 
+ 810 (
+ ¬g
+ [1].
+ ¬g_ty³
+  =ð
+ A_STAB
+  ||‡rg[1].¬g_ty³ =ð
+ A_LVAL
+ ) ) {
+ 
+ 811 
+ Ýt
+  = 
+ CFT_CHOP
+ ;
+ 
+ 812 
+ cmd
+ ->
+ c_¡ab
+  = 
+ ¬g
+ [1].
+ ¬g_±r
+ .
+ ¬g_¡ab
+ ;
+ 
+ 813 
+ 	`ä“_¬g
+ (
+ ¬g
+ );
+ 
+ 814 
+ cmd
+ ->
+ c_ex´
+  = 
+ Nuάg
+ ;
+ 
+ 816 ià(
+ cڋxt
+  & 4)
+ 
+ 817 
+ Ýt
+  |ð
+ CF_FLIP
+ ;
+ 
+ 818 
+ cmd
+ ->
+ c_æags
+  |ð
+ Ýt
+ ;
+ 
+ 820 ià(
+ cmd
+ ->
+ c_æags
+  & 
+ CF_FLIP
+ ) {
+ 
+ 821 ià(
+ æÜæÝ
+  == 1) {
+ 
+ 822 
+ ¬g
+  = 
+ cmd
+ ->
+ c_ex´
+ ;
+ 
+ 823 
+ 	`New
+ (110,
+ ¬g
+ [3].
+ ¬g_±r
+ .
+ ¬g_cmd
+ , 1, 
+ CMD
+ );
+ 
+ 824 
+ 	`CÝy
+ (
+ cmd
+ , 
+ ¬g
+ [3].
+ ¬g_±r
+ .
+ ¬g_cmd
+ , 1, 
+ CMD
+ );
+ 
+ 825 
+ 	`New
+ (111,
+ ¬g
+ [4].
+ ¬g_±r
+ .
+ ¬g_cmd
+ ,1,
+ CMD
+ );
+ 
+ 826 
+ 	`CÝy
+ (
+ cmd
+ , 
+ ¬g
+ [4].
+ ¬g_±r
+ .
+ ¬g_cmd
+ , 1, 
+ CMD
+ );
+ 
+ 827 
+ 	`Ýt_¬g
+ (
+ ¬g
+ [4].
+ ¬g_±r
+ .
+ ¬g_cmd
+ ,2,
+ acmd
+ );
+ 
+ 828 
+ ¬g
+ ->
+ ¬g_Ën
+  = 2;
+ 
+ 831 ià((
+ Ýt
+  & 
+ CF_OPTIMIZE
+ è=ð
+ CFT_EVAL
+ )
+ 
+ 832 
+ cmd
+ ->
+ c_æags
+  = (cmd->c_æag & ~
+ CF_OPTIMIZE
+ è| 
+ CFT_UNFLIP
+ ;
+ 
+ 835 
+ 	}
+ }
+ 
+ 837 
+ CMD
+  *
+ 
+ 838 
+ 	$add_Ïb–
+ (
+ lbl
+ ,
+ cmd
+ )
+ 
+ 839 *
+ lbl
+ ;
+ 
+ 840 
+ CMD
+  *
+ cmd
+ ;
+ 
+ 842 ià(
+ cmd
+ )
+ 
+ 843 
+ cmd
+ ->
+ c_Ïb–
+  = 
+ lbl
+ ;
+ 
+ 844  
+ cmd
+ ;
+ 
+ 845 
+ 	}
+ }
+ 
+ 847 
+ CMD
+  *
+ 
+ 848 
+ 	$addcÚd
+ (
+ cmd
+ , 
+ ¬g
+ )
+ 
+ 849 
+ CMD
+  *
+ cmd
+ ;
+ 
+ 850 
+ ARG
+  *
+ ¬g
+ ;
+ 
+ 852 
+ cmd
+ ->
+ c_ex´
+  = 
+ ¬g
+ ;
+ 
+ 853 
+ cmd
+ ->
+ c_æags
+  |ð
+ CF_COND
+ ;
+ 
+ 854  
+ cmd
+ ;
+ 
+ 855 
+ 	}
+ }
+ 
+ 857 
+ CMD
+  *
+ 
+ 858 
+ 	$addloÝ
+ (
+ cmd
+ , 
+ ¬g
+ )
+ 
+ 859 
+ CMD
+  *
+ cmd
+ ;
+ 
+ 860 
+ ARG
+  *
+ ¬g
+ ;
+ 
+ 862 
+ 	`whže_io
+ ();
+ 
+ 864 
+ cmd
+ ->
+ c_ex´
+  = 
+ ¬g
+ ;
+ 
+ 865 
+ cmd
+ ->
+ c_æags
+  |ð
+ CF_COND
+ |
+ CF_LOOP
+ ;
+ 
+ 867 ià(!(
+ cmd
+ ->
+ c_æags
+  & 
+ CF_INVERT
+ ))
+ 
+ 868 
+ 	`whže_io
+ (
+ cmd
+ );
+ 
+ 870 ià(
+ cmd
+ ->
+ c_ty³
+  =ð
+ C_BLOCK
+ )
+ 
+ 871 
+ cmd
+ ->
+ c_æags
+  &ð~
+ CF_COND
+ ;
+ 
+ 873 
+ ¬g
+  = 
+ cmd
+ ->
+ ucmd
+ .
+ acmd
+ .
+ ac_ex´
+ ;
+ 
+ 874 ià(
+ ¬g
+  &&‡rg->
+ ¬g_ty³
+  =ð
+ O_ITEM
+  &&‡rg[1].¬g_ty³ =ð
+ A_CMD
+ )
+ 
+ 875 
+ cmd
+ ->
+ c_æags
+  &ð~
+ CF_COND
+ ;
+ 
+ 876 ià(
+ ¬g
+  && (¬g->
+ ¬g_æags
+  & 
+ AF_DEPR
+ ) &&
+ 
+ 877 (
+ ¬g
+ ->
+ ¬g_ty³
+  =ð
+ O_SUBR
+  ||‡rg->¬g_ty³ =ð
+ O_DBSUBR
+ ) )
+ 
+ 878 
+ cmd
+ ->
+ c_æags
+  &ð~
+ CF_COND
+ ;
+ 
+ 880  
+ cmd
+ ;
+ 
+ 881 
+ 	}
+ }
+ 
+ 883 
+ CMD
+  *
+ 
+ 884 
+ 	$šv”t
+ (
+ cmd
+ )
+ 
+ 885 
+ CMD
+  *
+ cmd
+ ;
+ 
+ 887 
+ CMD
+  *
+ rg
+  = 
+ cmd
+ ;
+ 
+ 888 ià(
+ rg
+ ->
+ c_h—d
+ )
+ 
+ 889 
+ rg
+  =¬g->
+ c_h—d
+ ;
+ 
+ 890 ià(
+ rg
+ ->
+ c_æags
+  & 
+ CF_DBSUB
+ )
+ 
+ 891 
+ rg
+  =¬g->
+ c_Ãxt
+ ;
+ 
+ 892 
+ rg
+ ->
+ c_æags
+  ^ð
+ CF_INVERT
+ ;
+ 
+ 893  
+ cmd
+ ;
+ 
+ 894 
+ 	}
+ }
+ 
+ 896 
+ 	$yy”rÜ
+ (
+ s
+ )
+ 
+ 897 *
+ s
+ ;
+ 
+ 899 
+ tmpbuf
+ [258];
+ 
+ 900 
+ tmp2buf
+ [258];
+ 
+ 901 *
+ Šame
+  = 
+ tmpbuf
+ ;
+ 
+ 903 ià(
+ buåŒ
+  > 
+ ÞdÞdbuåŒ
+  && bufptr - oldoldbufptr < 200 &&
+ 
+ 904 
+ ÞdÞdbuåŒ
+  !ð
+ ÞdbuåŒ
+  && oldbuåŒ !ð
+ buåŒ
+ ) {
+ 
+ 905 
+ 	`is¥aû
+ (*
+ ÞdÞdbuåŒ
+ ))
+ 
+ 906 
+ ÞdÞdbuåŒ
+ ++;
+ 
+ 907 
+ 	`¡ºýy
+ (
+ tmp2buf
+ , 
+ ÞdÞdbuåŒ
+ , 
+ buåŒ
+  - oldoldbufptr);
+ 
+ 908 
+ tmp2buf
+ [
+ buåŒ
+  - 
+ ÞdÞdbuåŒ
+ ] = '\0';
+ 
+ 909 
+ 	`¥rštf
+ (
+ Šame
+ ,"Ãxˆ2ok’ \"%s\"",
+ tmp2buf
+ );
+ 
+ 911 ià(
+ buåŒ
+  > 
+ ÞdbuåŒ
+  && bufptr - oldbufptr < 200 &&
+ 
+ 912 
+ ÞdbuåŒ
+  !ð
+ buåŒ
+ ) {
+ 
+ 913 
+ 	`is¥aû
+ (*
+ ÞdbuåŒ
+ ))
+ 
+ 914 
+ ÞdbuåŒ
+ ++;
+ 
+ 915 
+ 	`¡ºýy
+ (
+ tmp2buf
+ , 
+ ÞdbuåŒ
+ , 
+ buåŒ
+  - oldbufptr);
+ 
+ 916 
+ tmp2buf
+ [
+ buåŒ
+  - 
+ ÞdbuåŒ
+ ] = '\0';
+ 
+ 917 
+ 	`¥rštf
+ (
+ Šame
+ ,"Ãxˆtok’ \"%s\"",
+ tmp2buf
+ );
+ 
+ 919 ià(
+ yych¬
+  > 256)
+ 
+ 920 
+ Šame
+  = "nextoken ???";
+ 
+ 921 ià(!
+ yych¬
+ )
+ 
+ 922 ()
+ 	`¡rýy
+ (
+ Šame
+ ,"at EOF");
+ 
+ 923 ià(
+ yych¬
+  < 32)
+ 
+ 924 ()
+ 	`¥rštf
+ (
+ Šame
+ ,"Ãxˆch¬ ^%c",
+ yych¬
+ +64);
+ 
+ 925 ià(
+ yych¬
+  == 127)
+ 
+ 926 ()
+ 	`¡rýy
+ (
+ Šame
+ ,"at EOF");
+ 
+ 928 ()
+ 	`¥rštf
+ (
+ Šame
+ ,"Ãxˆch¬ %c",
+ yych¬
+ );
+ 
+ 929 ()
+ 	`¥rštf
+ (
+ buf
+ , "%s in file %s‡t†ine %d, %s\n",
+ 
+ 930 
+ s
+ ,
+ 	`¡ab_v®
+ (
+ curcmd
+ ->
+ c_fže¡ab
+ )->
+ ¡r_±r
+ ,curcmd->
+ c_lše
+ ,
+ Šame
+ );
+ 
+ 931 ià(
+ curcmd
+ ->
+ c_lše
+  =ð
+ muÉi_’d
+  && 
+ muÉi_¡¬t
+  < multi_end)
+ 
+ 932 
+ 	`¥rštf
+ (
+ buf
+ +
+ 	`¡¾’
+ (buf),
+ 
+ 934 
+ muÉi_Ý’
+ ,
+ muÉi_þo£
+ ,
+ muÉi_¡¬t
+ );
+ 
+ 935 ià(
+ š_ev®
+ )
+ 
+ 936 
+ 	`¡r_ÿt
+ (
+ 	`¡ab_v®
+ (
+ 	`¡ab’t
+ ("@",
+ TRUE
+ )),
+ buf
+ );
+ 
+ 938 
+ 	`åuts
+ (
+ buf
+ ,
+ ¡d”r
+ );
+ 
+ 939 ià(++
+ ”rÜ_couÁ
+  >= 10)
+ 
+ 940 
+ 	`çl
+ ("%s hasoo manyƒrrors.\n",
+ 
+ 941 
+ 	`¡ab_v®
+ (
+ curcmd
+ ->
+ c_fže¡ab
+ )->
+ ¡r_±r
+ );
+ 
+ 942 
+ 	}
+ }
+ 
+ 945 
+ 	$whže_io
+ (
+ cmd
+ )
+ 
+ 946 
+ CMD
+  *
+ cmd
+ ;
+ 
+ 948 
+ ARG
+  *
+ ¬g
+  = 
+ cmd
+ ->
+ c_ex´
+ ;
+ 
+ 949 
+ STAB
+  *
+ asgn¡ab
+ ;
+ 
+ 953 ià(
+ ¬g
+  &&‡rg->
+ ¬g_ty³
+  =ð
+ O_ITEM
+  &&‡rg[1].¬g_ty³ =ð
+ A_READ
+ ) {
+ 
+ 954 
+ cmd
+ ->
+ c_æags
+  &ð~
+ CF_OPTIMIZE
+ ;
+ 
+ 955 
+ cmd
+ ->
+ c_æags
+  |ð
+ CFT_GETS
+ ;
+ 
+ 956 
+ cmd
+ ->
+ c_¡ab
+  = 
+ ¬g
+ [1].
+ ¬g_±r
+ .
+ ¬g_¡ab
+ ;
+ 
+ 957 ià(
+ 	`¡ab_io
+ (
+ ¬g
+ [1].
+ ¬g_±r
+ .
+ ¬g_¡ab
+ )->
+ æags
+  & 
+ IOF_ARGV
+ ) {
+ 
+ 958 
+ cmd
+ ->
+ c_ex´
+  = 
+ 	`l
+ (
+ 	`make_Ý
+ (
+ O_ASSIGN
+ , 2,
+ 
+ 959 
+ 	`¡ab2¬g
+ (
+ A_LVAL
+ ,
+ def¡ab
+ ), 
+ ¬g
+ , 
+ Nuάg
+ ));
+ 
+ 962 
+ 	`ä“_¬g
+ (
+ ¬g
+ );
+ 
+ 963 
+ cmd
+ ->
+ c_ex´
+  = 
+ Nuάg
+ ;
+ 
+ 966 ià(
+ ¬g
+  &&‡rg->
+ ¬g_ty³
+  =ð
+ O_ITEM
+  &&‡rg[1].¬g_ty³ =ð
+ A_INDREAD
+ ) {
+ 
+ 967 
+ cmd
+ ->
+ c_æags
+  &ð~
+ CF_OPTIMIZE
+ ;
+ 
+ 968 
+ cmd
+ ->
+ c_æags
+  |ð
+ CFT_INDGETS
+ ;
+ 
+ 969 
+ cmd
+ ->
+ c_¡ab
+  = 
+ ¬g
+ [1].
+ ¬g_±r
+ .
+ ¬g_¡ab
+ ;
+ 
+ 970 
+ 	`ä“_¬g
+ (
+ ¬g
+ );
+ 
+ 971 
+ cmd
+ ->
+ c_ex´
+  = 
+ Nuάg
+ ;
+ 
+ 973 ià(
+ ¬g
+  &&‡rg->
+ ¬g_ty³
+  =ð
+ O_ITEM
+  &&‡rg[1].¬g_ty³ =ð
+ A_GLOB
+ ) {
+ 
+ 974 ià((
+ cmd
+ ->
+ c_æags
+  & 
+ CF_OPTIMIZE
+ è=ð
+ CFT_ARRAY
+ )
+ 
+ 975 
+ asgn¡ab
+  = 
+ cmd
+ ->
+ c_¡ab
+ ;
+ 
+ 977 
+ asgn¡ab
+  = 
+ def¡ab
+ ;
+ 
+ 978 
+ cmd
+ ->
+ c_ex´
+  = 
+ 	`l
+ (
+ 	`make_Ý
+ (
+ O_ASSIGN
+ , 2,
+ 
+ 979 
+ 	`¡ab2¬g
+ (
+ A_LVAL
+ ,
+ asgn¡ab
+ ), 
+ ¬g
+ , 
+ Nuάg
+ ));
+ 
+ 980 
+ cmd
+ ->
+ c_æags
+  &ð~
+ CF_OPTIMIZE
+ ;
+ 
+ 982 
+ 	}
+ }
+ 
+ 984 
+ CMD
+  *
+ 
+ 985 
+ 	$wÝt
+ (
+ cmd
+ )
+ 
+ 986 
+ CMD
+  *
+ cmd
+ ;
+ 
+ 988 
+ CMD
+  *
+ ž
+ ;
+ 
+ 989 
+ CMD
+  *
+ Ãwž
+ ;
+ 
+ 990 
+ i
+ ;
+ 
+ 992 ià(
+ cmd
+ ->
+ c_ex´
+  && (cmd->
+ c_æags
+  & 
+ CF_OPTIMIZE
+ è=ð
+ CFT_FALSE
+ )
+ 
+ 993 
+ 	`Ýt_¬g
+ (
+ cmd
+ ,1, cmd->
+ c_ty³
+  =ð
+ C_EXPR
+ );
+ 
+ 995 
+ 	`whže_io
+ (
+ cmd
+ );
+ 
+ 999 
+ ž
+  = 
+ cmd
+ ->
+ ucmd
+ .
+ ccmd
+ .
+ cc_Œue
+ ;
+ 
+ 1000 ià(
+ ž
+  =ð
+ NuÎcmd
+ )
+ 
+ 1001  
+ cmd
+ ;
+ 
+ 1002 
+ 	`New
+ (112,
+ Ãwž
+ , 1, 
+ CMD
+ );
+ 
+ 1005 ià(
+ ž
+ ->
+ c_ty³
+  =ð
+ C_EXPR
+  &&
+ 
+ 1006 
+ ž
+ ->
+ ucmd
+ .
+ acmd
+ .
+ ac_ex´
+  &&
+ 
+ 1007 
+ ž
+ ->
+ ucmd
+ .
+ acmd
+ .
+ ac_ex´
+ ->
+ ¬g_ty³
+  =ð
+ O_NEXT
+  &&
+ 
+ 1008 (
+ ž
+ ->
+ ucmd
+ .
+ acmd
+ .
+ ac_ex´
+ ->
+ ¬g_Ën
+  == 0 ||
+ 
+ 1009 (
+ cmd
+ ->
+ c_Ïb–
+  &&
+ 
+ 1010 
+ 	`¡rEQ
+ (
+ cmd
+ ->
+ c_Ïb–
+ ,
+ 
+ 1011 
+ ž
+ ->
+ ucmd
+ .
+ acmd
+ .
+ ac_ex´
+ [1].
+ ¬g_±r
+ .
+ ¬g_¡r
+ ->
+ ¡r_±r
+ ) )))
+ 
+ 1013 
+ 	`¬g_ä“
+ (
+ ž
+ ->
+ ucmd
+ .
+ acmd
+ .
+ ac_ex´
+ );
+ 
+ 1014 
+ ž
+ ->
+ ucmd
+ .
+ acmd
+ .
+ ac_ex´
+  = 
+ Nuάg
+ ;
+ 
+ 1015 
+ ž
+ ->
+ c_ty³
+  = 
+ C_NEXT
+ ;
+ 
+ 1016 ià(
+ cmd
+ ->
+ ucmd
+ .
+ ccmd
+ .
+ cc_®t
+  !ð
+ NuÎcmd
+ )
+ 
+ 1017 
+ ž
+ ->
+ ucmd
+ .
+ ccmd
+ .
+ cc_®t
+  = 
+ cmd
+ ->ucmd.ccmd.cc_alt;
+ 
+ 1019 
+ ž
+ ->
+ ucmd
+ .
+ ccmd
+ .
+ cc_®t
+  = 
+ Ãwž
+ ;
+ 
+ 1020 
+ ž
+ ->
+ ucmd
+ .
+ ccmd
+ .
+ cc_Œue
+  = 
+ NuÎcmd
+ ;
+ 
+ 1022 ià(
+ ž
+ ->
+ c_ty³
+  =ð
+ C_IF
+  && !ž->
+ ucmd
+ .
+ ccmd
+ .
+ cc_®t
+ ) {
+ 
+ 1023 ià(
+ cmd
+ ->
+ ucmd
+ .
+ ccmd
+ .
+ cc_®t
+  !ð
+ NuÎcmd
+ )
+ 
+ 1024 
+ ž
+ ->
+ ucmd
+ .
+ ccmd
+ .
+ cc_®t
+  = 
+ cmd
+ ->ucmd.ccmd.cc_alt;
+ 
+ 1026 
+ ž
+ ->
+ ucmd
+ .
+ ccmd
+ .
+ cc_®t
+  = 
+ Ãwž
+ ;
+ 
+ 1028 ià(
+ ž
+ ->
+ c_ty³
+  =ð
+ C_CSWITCH
+  ||až->c_ty³ =ð
+ C_NSWITCH
+ ) {
+ 
+ 1029 ià(
+ cmd
+ ->
+ ucmd
+ .
+ ccmd
+ .
+ cc_®t
+  !ð
+ NuÎcmd
+ ) {
+ 
+ 1030 
+ i
+  = 
+ ž
+ ->
+ ucmd
+ .
+ scmd
+ .
+ sc_max
+ ; i >= 0; i--)
+ 
+ 1031 ià(!
+ ž
+ ->
+ ucmd
+ .
+ scmd
+ .
+ sc_Ãxt
+ [
+ i
+ ])
+ 
+ 1032 
+ ž
+ ->
+ ucmd
+ .
+ scmd
+ .
+ sc_Ãxt
+ [
+ i
+ ] = 
+ cmd
+ ->ucmd.
+ ccmd
+ .
+ cc_®t
+ ;
+ 
+ 1035 
+ i
+  = 
+ ž
+ ->
+ ucmd
+ .
+ scmd
+ .
+ sc_max
+ ; i >= 0; i--)
+ 
+ 1036 ià(!
+ ž
+ ->
+ ucmd
+ .
+ scmd
+ .
+ sc_Ãxt
+ [
+ i
+ ])
+ 
+ 1037 
+ ž
+ ->
+ ucmd
+ .
+ scmd
+ .
+ sc_Ãxt
+ [
+ i
+ ] = 
+ Ãwž
+ ;
+ 
+ 1041 ià(!
+ ž
+ ->
+ c_Ãxt
+ )
+ 
+ 1043 
+ ž
+  =až->
+ c_Ãxt
+ ;
+ 
+ 1048 ià(
+ cmd
+ ->
+ ucmd
+ .
+ ccmd
+ .
+ cc_®t
+  !ð
+ NuÎcmd
+ ) {
+ 
+ 1049 
+ ž
+ ->
+ c_Ãxt
+  = 
+ cmd
+ ->
+ ucmd
+ .
+ ccmd
+ .
+ cc_®t
+ ;
+ 
+ 1050 
+ ž
+  =až->
+ c_Ãxt
+ ;
+ 
+ 1053 ià(
+ ž
+ ->
+ c_ty³
+  =ð
+ C_EXPR
+  &&
+ 
+ 1054 
+ ž
+ ->
+ ucmd
+ .
+ acmd
+ .
+ ac_ex´
+  &&
+ 
+ 1055 
+ ž
+ ->
+ ucmd
+ .
+ acmd
+ .
+ ac_ex´
+ ->
+ ¬g_ty³
+  =ð
+ O_NEXT
+  &&
+ 
+ 1056 (
+ ž
+ ->
+ ucmd
+ .
+ acmd
+ .
+ ac_ex´
+ ->
+ ¬g_Ën
+  == 0 ||
+ 
+ 1057 (
+ cmd
+ ->
+ c_Ïb–
+  &&
+ 
+ 1058 
+ 	`¡rEQ
+ (
+ cmd
+ ->
+ c_Ïb–
+ ,
+ 
+ 1059 
+ ž
+ ->
+ ucmd
+ .
+ acmd
+ .
+ ac_ex´
+ [1].
+ ¬g_±r
+ .
+ ¬g_¡r
+ ->
+ ¡r_±r
+ ) )))
+ 
+ 1061 
+ 	`¬g_ä“
+ (
+ ž
+ ->
+ ucmd
+ .
+ acmd
+ .
+ ac_ex´
+ );
+ 
+ 1062 
+ ž
+ ->
+ ucmd
+ .
+ acmd
+ .
+ ac_ex´
+  = 
+ Nuάg
+ ;
+ 
+ 1063 
+ ž
+ ->
+ c_ty³
+  = 
+ C_NEXT
+ ;
+ 
+ 1064 
+ ž
+ ->
+ ucmd
+ .
+ ccmd
+ .
+ cc_®t
+  = 
+ Ãwž
+ ;
+ 
+ 1065 
+ ž
+ ->
+ ucmd
+ .
+ ccmd
+ .
+ cc_Œue
+  = 
+ NuÎcmd
+ ;
+ 
+ 1067 ià(
+ ž
+ ->
+ c_ty³
+  =ð
+ C_IF
+  && !ž->
+ ucmd
+ .
+ ccmd
+ .
+ cc_®t
+ ) {
+ 
+ 1068 
+ ž
+ ->
+ ucmd
+ .
+ ccmd
+ .
+ cc_®t
+  = 
+ Ãwž
+ ;
+ 
+ 1070 ià(
+ ž
+ ->
+ c_ty³
+  =ð
+ C_CSWITCH
+  ||až->c_ty³ =ð
+ C_NSWITCH
+ ) {
+ 
+ 1071 
+ i
+  = 
+ ž
+ ->
+ ucmd
+ .
+ scmd
+ .
+ sc_max
+ ; i >= 0; i--)
+ 
+ 1072 ià(!
+ ž
+ ->
+ ucmd
+ .
+ scmd
+ .
+ sc_Ãxt
+ [
+ i
+ ])
+ 
+ 1073 
+ ž
+ ->
+ ucmd
+ .
+ scmd
+ .
+ sc_Ãxt
+ [
+ i
+ ] = 
+ Ãwž
+ ;
+ 
+ 1076 ià(!
+ ž
+ ->
+ c_Ãxt
+ )
+ 
+ 1078 
+ ž
+  =až->
+ c_Ãxt
+ ;
+ 
+ 1080  ; 
+ ž
+ ->
+ c_Ãxt
+ ;ail =ail->c_next) ;
+ 
+ 1089 
+ ž
+ ->
+ c_Ãxt
+  = 
+ Ãwž
+ ;
+ 
+ 1090 
+ ž
+  = 
+ Ãwž
+ ;
+ 
+ 1091 ià(!
+ cmd
+ ->
+ ucmd
+ .
+ ccmd
+ .
+ cc_®t
+ )
+ 
+ 1092 
+ cmd
+ ->
+ ucmd
+ .
+ ccmd
+ .
+ cc_®t
+  = 
+ ž
+ ;
+ 
+ 1094 #iâdeà
+ lšt
+ 
+ 
+ 1095 ()
+ 	`bcÝy
+ ((*)
+ cmd
+ , (*)
+ ž
+ , (
+ CMD
+ ));
+ 
+ 1097 
+ ž
+ ->
+ c_ty³
+  = 
+ C_EXPR
+ ;
+ 
+ 1098 
+ ž
+ ->
+ c_æags
+  ^ð
+ CF_INVERT
+ ;
+ 
+ 1099 
+ ž
+ ->
+ c_Ãxt
+  =až->
+ ucmd
+ .
+ ccmd
+ .
+ cc_Œue
+ ;
+ 
+ 1100 
+ ž
+ ->
+ ucmd
+ .
+ acmd
+ .
+ ac_ex´
+  = 
+ 	`make_Ý
+ (
+ O_LAST
+ ,0,
+ Nuάg
+ ,Nullarg,Nullarg);
+ 
+ 1101 
+ ž
+ ->
+ ucmd
+ .
+ acmd
+ .
+ ac_¡ab
+  = 
+ NuΡab
+ ;
+ 
+ 1102  
+ cmd
+ ;
+ 
+ 1103 
+ 	}
+ }
+ 
+ 1105 
+ CMD
+  *
+ 
+ 1106 
+ 	$ov”
+ (
+ —ch¡ab
+ ,
+ cmd
+ )
+ 
+ 1107 
+ STAB
+  *
+ —ch¡ab
+ ;
+ 
+ 1108 
+ CMD
+  *
+ cmd
+ ;
+ 
+ 1112 
+ cmd
+ ->
+ c_æags
+  &ð~
+ CF_OPTIMIZE
+ ;
+ 
+ 1113 
+ cmd
+ ->
+ c_æags
+  |ð
+ CFT_ARRAY
+ ;
+ 
+ 1114 
+ cmd
+ ->
+ c_¡ab
+  = 
+ —ch¡ab
+ ;
+ 
+ 1115 
+ cmd
+ ->
+ c_shÜt
+  = 
+ 	`¡r_Ãw
+ (0);
+ 
+ 1116 
+ cmd
+ ->
+ c_shÜt
+ ->
+ ¡r_u
+ .
+ ¡r_u£ful
+  = -1;
+ 
+ 1118  
+ cmd
+ ;
+ 
+ 1119 
+ 	}
+ }
+ 
+ 1121 
+ 	$cmd_ä“
+ (
+ cmd
+ )
+ 
+ 1122 
+ CMD
+  *
+ cmd
+ ;
+ 
+ 1124 
+ CMD
+  *
+ toä“
+ ;
+ 
+ 1125 
+ CMD
+  *
+ h—d
+  = 
+ cmd
+ ;
+ 
+ 1127 
+ cmd
+ ) {
+ 
+ 1128 ià(
+ cmd
+ ->
+ c_ty³
+  !ð
+ C_WHILE
+ ) {
+ 
+ 1129 ià(
+ cmd
+ ->
+ c_Ïb–
+ ) {
+ 
+ 1130 
+ 	`Saãä“
+ (
+ cmd
+ ->
+ c_Ïb–
+ );
+ 
+ 1131 
+ cmd
+ ->
+ c_Ïb–
+  = 
+ NuÎch
+ ;
+ 
+ 1133 ià(
+ cmd
+ ->
+ c_shÜt
+ ) {
+ 
+ 1134 
+ 	`¡r_ä“
+ (
+ cmd
+ ->
+ c_shÜt
+ );
+ 
+ 1135 
+ cmd
+ ->
+ c_shÜt
+  = 
+ NuΡr
+ ;
+ 
+ 1137 ià(
+ cmd
+ ->
+ c_ex´
+ ) {
+ 
+ 1138 
+ 	`¬g_ä“
+ (
+ cmd
+ ->
+ c_ex´
+ );
+ 
+ 1139 
+ cmd
+ ->
+ c_ex´
+  = 
+ Nuάg
+ ;
+ 
+ 1142 
+ cmd
+ ->
+ c_ty³
+ ) {
+ 
+ 1143 
+ C_WHILE
+ :
+ 
+ 1144 
+ C_BLOCK
+ :
+ 
+ 1145 
+ C_ELSE
+ :
+ 
+ 1146 
+ C_IF
+ :
+ 
+ 1147 ià(
+ cmd
+ ->
+ ucmd
+ .
+ ccmd
+ .
+ cc_Œue
+ ) {
+ 
+ 1148 
+ 	`cmd_ä“
+ (
+ cmd
+ ->
+ ucmd
+ .
+ ccmd
+ .
+ cc_Œue
+ );
+ 
+ 1149 
+ cmd
+ ->
+ ucmd
+ .
+ ccmd
+ .
+ cc_Œue
+  = 
+ NuÎcmd
+ ;
+ 
+ 1152 
+ C_EXPR
+ :
+ 
+ 1153 ià(
+ cmd
+ ->
+ ucmd
+ .
+ acmd
+ .
+ ac_ex´
+ ) {
+ 
+ 1154 
+ 	`¬g_ä“
+ (
+ cmd
+ ->
+ ucmd
+ .
+ acmd
+ .
+ ac_ex´
+ );
+ 
+ 1155 
+ cmd
+ ->
+ ucmd
+ .
+ acmd
+ .
+ ac_ex´
+  = 
+ Nuάg
+ ;
+ 
+ 1159 
+ toä“
+  = 
+ cmd
+ ;
+ 
+ 1160 
+ cmd
+  = cmd->
+ c_Ãxt
+ ;
+ 
+ 1161 ià(
+ toä“
+  !ð
+ h—d
+ )
+ 
+ 1162 
+ 	`Saãä“
+ (
+ toä“
+ );
+ 
+ 1163 ià(
+ cmd
+  && cmd =ð
+ h—d
+ )
+ 
+ 1166 
+ 	`Saãä“
+ (
+ h—d
+ );
+ 
+ 1167 
+ 	}
+ }
+ 
+ 1169 
+ 	$¬g_ä“
+ (
+ ¬g
+ )
+ 
+ 1170 
+ ARG
+  *
+ ¬g
+ ;
+ 
+ 1172 
+ i
+ ;
+ 
+ 1174 
+ i
+  = 1; i <ð
+ ¬g
+ ->
+ ¬g_Ën
+ ; i++) {
+ 
+ 1175 
+ ¬g
+ [
+ i
+ ].
+ ¬g_ty³
+  & 
+ A_MASK
+ ) {
+ 
+ 1176 
+ A_NULL
+ :
+ 
+ 1177 ià(
+ ¬g
+ ->
+ ¬g_ty³
+  =ð
+ O_TRANS
+ ) {
+ 
+ 1178 
+ 	`Saãä“
+ (
+ ¬g
+ [
+ i
+ ].
+ ¬g_±r
+ .
+ ¬g_cv®
+ );
+ 
+ 1179 
+ ¬g
+ [
+ i
+ ].
+ ¬g_±r
+ .
+ ¬g_cv®
+  = 
+ NuÎch
+ ;
+ 
+ 1182 
+ A_LEXPR
+ :
+ 
+ 1183 ià(
+ ¬g
+ ->
+ ¬g_ty³
+  =ð
+ O_AASSIGN
+  &&
+ 
+ 1184 
+ ¬g
+ [
+ i
+ ].
+ ¬g_±r
+ .
+ ¬g_¬g
+ ->
+ ¬g_ty³
+  =ð
+ O_LARRAY
+ ) {
+ 
+ 1185 *
+ Çme
+  =
+ 
+ 1186 
+ 	`¡ab_Çme
+ (
+ ¬g
+ [
+ i
+ ].
+ ¬g_±r
+ .
+ ¬g_¬g
+ [1].¬g_±r.
+ ¬g_¡ab
+ );
+ 
+ 1188 ià(
+ 	`¡ºEQ
+ ("_GEN_",
+ Çme
+ , 5))
+ 
+ 1189 
+ 	`hd–‘e
+ (
+ def¡ash
+ ,
+ Çme
+ ,
+ 	`¡¾’
+ (name));
+ 
+ 1192 
+ A_EXPR
+ :
+ 
+ 1193 
+ 	`¬g_ä“
+ (
+ ¬g
+ [
+ i
+ ].
+ ¬g_±r
+ .
+ ¬g_¬g
+ );
+ 
+ 1194 
+ ¬g
+ [
+ i
+ ].
+ ¬g_±r
+ .
+ ¬g_¬g
+  = 
+ Nuάg
+ ;
+ 
+ 1196 
+ A_CMD
+ :
+ 
+ 1197 
+ 	`cmd_ä“
+ (
+ ¬g
+ [
+ i
+ ].
+ ¬g_±r
+ .
+ ¬g_cmd
+ );
+ 
+ 1198 
+ ¬g
+ [
+ i
+ ].
+ ¬g_±r
+ .
+ ¬g_cmd
+  = 
+ NuÎcmd
+ ;
+ 
+ 1200 
+ A_WORD
+ :
+ 
+ 1201 
+ A_STAB
+ :
+ 
+ 1202 
+ A_LVAL
+ :
+ 
+ 1203 
+ A_READ
+ :
+ 
+ 1204 
+ A_GLOB
+ :
+ 
+ 1205 
+ A_ARYLEN
+ :
+ 
+ 1206 
+ A_LARYLEN
+ :
+ 
+ 1207 
+ A_ARYSTAB
+ :
+ 
+ 1208 
+ A_LARYSTAB
+ :
+ 
+ 1210 
+ A_SINGLE
+ :
+ 
+ 1211 
+ A_DOUBLE
+ :
+ 
+ 1212 
+ A_BACKTICK
+ :
+ 
+ 1213 
+ 	`¡r_ä“
+ (
+ ¬g
+ [
+ i
+ ].
+ ¬g_±r
+ .
+ ¬g_¡r
+ );
+ 
+ 1214 
+ ¬g
+ [
+ i
+ ].
+ ¬g_±r
+ .
+ ¬g_¡r
+  = 
+ NuΡr
+ ;
+ 
+ 1216 
+ A_SPAT
+ :
+ 
+ 1217 
+ 	`¥©_ä“
+ (
+ ¬g
+ [
+ i
+ ].
+ ¬g_±r
+ .
+ ¬g_¥©
+ );
+ 
+ 1218 
+ ¬g
+ [
+ i
+ ].
+ ¬g_±r
+ .
+ ¬g_¥©
+  = 
+ Nu봩
+ ;
+ 
+ 1222 
+ 	`ä“_¬g
+ (
+ ¬g
+ );
+ 
+ 1223 
+ 	}
+ }
+ 
+ 1225 
+ 	$¥©_ä“
+ (
+ ¥©
+ )
+ 
+ 1226 
+ SPAT
+  *
+ ¥©
+ ;
+ 
+ 1228 
+ SPAT
+  *
+ ¥
+ ;
+ 
+ 1229 
+ HENT
+  *
+ ’Œy
+ ;
+ 
+ 1231 ià(
+ ¥©
+ ->
+ ¥©_ruÁime
+ ) {
+ 
+ 1232 
+ 	`¬g_ä“
+ (
+ ¥©
+ ->
+ ¥©_ruÁime
+ );
+ 
+ 1233 
+ ¥©
+ ->
+ ¥©_ruÁime
+  = 
+ Nuάg
+ ;
+ 
+ 1235 ià(
+ ¥©
+ ->
+ ¥©_»¶
+ ) {
+ 
+ 1236 
+ 	`¬g_ä“
+ (
+ ¥©
+ ->
+ ¥©_»¶
+ );
+ 
+ 1237 
+ ¥©
+ ->
+ ¥©_»¶
+  = 
+ Nuάg
+ ;
+ 
+ 1239 ià(
+ ¥©
+ ->
+ ¥©_shÜt
+ ) {
+ 
+ 1240 
+ 	`¡r_ä“
+ (
+ ¥©
+ ->
+ ¥©_shÜt
+ );
+ 
+ 1241 
+ ¥©
+ ->
+ ¥©_shÜt
+  = 
+ NuΡr
+ ;
+ 
+ 1243 ià(
+ ¥©
+ ->
+ ¥©_»gexp
+ ) {
+ 
+ 1244 
+ 	`»gä“
+ (
+ ¥©
+ ->
+ ¥©_»gexp
+ );
+ 
+ 1245 
+ ¥©
+ ->
+ ¥©_»gexp
+  = 
+ 	`NuÎ
+ (
+ REGEXP
+ *);
+ 
+ 1250 
+ ’Œy
+  = 
+ def¡ash
+ ->
+ tbl_¬¿y
+ ['_'];ƒÁry;ƒÁry =ƒÁry->
+ h’t_Ãxt
+ ) {
+ 
+ 1251 
+ HASH
+  *
+ ¡ash
+ ;
+ 
+ 1252 
+ STAB
+  *
+ ¡ab
+  = (STAB*)
+ ’Œy
+ ->
+ h’t_v®
+ ;
+ 
+ 1254 ià(!
+ ¡ab
+ )
+ 
+ 1256 
+ ¡ash
+  = 
+ 	`¡ab_hash
+ (
+ ¡ab
+ );
+ 
+ 1257 ià(!
+ ¡ash
+  || ssh->
+ tbl_¥©roÙ
+  =ð
+ 	`NuÎ
+ (
+ SPAT
+ *))
+ 
+ 1259 ià(
+ ¡ash
+ ->
+ tbl_¥©roÙ
+  =ð
+ ¥©
+ )
+ 
+ 1260 
+ ¡ash
+ ->
+ tbl_¥©roÙ
+  = 
+ ¥©
+ ->
+ ¥©_Ãxt
+ ;
+ 
+ 1262 
+ ¥
+  = 
+ ¡ash
+ ->
+ tbl_¥©roÙ
+ ;
+ 
+ 1263 
+ ¥
+  && sp->
+ ¥©_Ãxt
+  !ð
+ ¥©
+ ;
+ 
+ 1264 
+ ¥
+  = sp->
+ ¥©_Ãxt
+ )
+ 
+ 1266 ià(
+ ¥
+ )
+ 
+ 1267 
+ ¥
+ ->
+ ¥©_Ãxt
+  = 
+ ¥©
+ ->spat_next;
+ 
+ 1270 
+ 	`Saãä“
+ (
+ ¥©
+ );
+ 
+ 1271 
+ 	}
+ }
+ 
+ 1278 
+ 	$cmd_to§ve
+ (
+ cmd
+ ,
+ wžl§ve
+ )
+ 
+ 1279 
+ CMD
+  *
+ cmd
+ ;
+ 
+ 1280 
+ wžl§ve
+ ;
+ 
+ 1282 
+ CMD
+  *
+ h—d
+  = 
+ cmd
+ ;
+ 
+ 1283 
+ should§ve
+  = 
+ FALSE
+ ;
+ 
+ 1284 
+ tmp§ve
+ ;
+ 
+ 1285 
+ CMD
+  *
+ ϡcmd
+  = 
+ NuÎcmd
+ ;
+ 
+ 1287 
+ cmd
+ ) {
+ 
+ 1288 ià(
+ cmd
+ ->
+ c_ex´
+ )
+ 
+ 1289 
+ should§ve
+  |ð
+ 	`¬g_to§ve
+ (
+ cmd
+ ->
+ c_ex´
+ ,
+ wžl§ve
+ );
+ 
+ 1290 
+ cmd
+ ->
+ c_ty³
+ ) {
+ 
+ 1291 
+ C_WHILE
+ :
+ 
+ 1292 ià(
+ cmd
+ ->
+ ucmd
+ .
+ ccmd
+ .
+ cc_Œue
+ ) {
+ 
+ 1293 
+ tmp§ve
+  = 
+ 	`cmd_to§ve
+ (
+ cmd
+ ->
+ ucmd
+ .
+ ccmd
+ .
+ cc_Œue
+ ,
+ wžl§ve
+ );
+ 
+ 1298 ià(
+ tmp§ve
+  && (
+ cmd
+ ->
+ c_æags
+  & 
+ CF_OPTIMIZE
+ è=ð
+ CFT_ARRAY
+ ) {
+ 
+ 1299 ià(
+ ϡcmd
+  &&
+ 
+ 1300 
+ ϡcmd
+ ->
+ c_ty³
+  =ð
+ C_EXPR
+  &&
+ 
+ 1301 
+ ϡcmd
+ ->
+ c_ex´
+ ) {
+ 
+ 1302 
+ ARG
+  *
+ ¬g
+  = 
+ ϡcmd
+ ->
+ c_ex´
+ ;
+ 
+ 1304 ià(
+ ¬g
+ ->
+ ¬g_ty³
+  =ð
+ O_ASSIGN
+  &&
+ 
+ 1305 
+ ¬g
+ [1].
+ ¬g_ty³
+  =ð
+ A_LEXPR
+  &&
+ 
+ 1306 
+ ¬g
+ [1].
+ ¬g_±r
+ .
+ ¬g_¬g
+ ->
+ ¬g_ty³
+  =ð
+ O_LARRAY
+  &&
+ 
+ 1307 
+ 	`¡ºEQ
+ ("_GEN_",
+ 
+ 1308 
+ 	`¡ab_Çme
+ (
+ 
+ 1309 
+ ¬g
+ [1].
+ ¬g_±r
+ .
+ ¬g_¬g
+ [1].¬g_±r.
+ ¬g_¡ab
+ ),
+ 
+ 1311 ()
+ 	`loÿlize
+ (
+ ¬g
+ );
+ 
+ 1317 ()
+ 	`­ush
+ (
+ to§ve
+ ,
+ cmd
+ ->
+ c_shÜt
+ );
+ 
+ 1319 
+ should§ve
+  |ð
+ tmp§ve
+ ;
+ 
+ 1322 
+ C_BLOCK
+ :
+ 
+ 1323 
+ C_ELSE
+ :
+ 
+ 1324 
+ C_IF
+ :
+ 
+ 1325 ià(
+ cmd
+ ->
+ ucmd
+ .
+ ccmd
+ .
+ cc_Œue
+ )
+ 
+ 1326 
+ should§ve
+  |ð
+ 	`cmd_to§ve
+ (
+ cmd
+ ->
+ ucmd
+ .
+ ccmd
+ .
+ cc_Œue
+ ,
+ wžl§ve
+ );
+ 
+ 1328 
+ C_EXPR
+ :
+ 
+ 1329 ià(
+ cmd
+ ->
+ ucmd
+ .
+ acmd
+ .
+ ac_ex´
+ )
+ 
+ 1330 
+ should§ve
+  |ð
+ 	`¬g_to§ve
+ (
+ cmd
+ ->
+ ucmd
+ .
+ acmd
+ .
+ ac_ex´
+ ,
+ wžl§ve
+ );
+ 
+ 1333 
+ ϡcmd
+  = 
+ cmd
+ ;
+ 
+ 1334 
+ cmd
+  = cmd->
+ c_Ãxt
+ ;
+ 
+ 1335 ià(
+ cmd
+  && cmd =ð
+ h—d
+ )
+ 
+ 1338  
+ should§ve
+ ;
+ 
+ 1339 
+ 	}
+ }
+ 
+ 1342 
+ 	$¬g_to§ve
+ (
+ ¬g
+ ,
+ wžl§ve
+ )
+ 
+ 1343 
+ ARG
+  *
+ ¬g
+ ;
+ 
+ 1344 
+ wžl§ve
+ ;
+ 
+ 1346 
+ i
+ ;
+ 
+ 1347 
+ should§ve
+  = 
+ FALSE
+ ;
+ 
+ 1349 
+ i
+  = 
+ ¬g
+ ->
+ ¬g_Ën
+ ; i >= 1; i--) {
+ 
+ 1350 
+ ¬g
+ [
+ i
+ ].
+ ¬g_ty³
+  & 
+ A_MASK
+ ) {
+ 
+ 1351 
+ A_NULL
+ :
+ 
+ 1353 
+ A_LEXPR
+ :
+ 
+ 1354 
+ A_EXPR
+ :
+ 
+ 1355 
+ should§ve
+  |ð
+ 	`¬g_to§ve
+ (
+ ¬g
+ [
+ i
+ ].
+ ¬g_±r
+ .
+ ¬g_¬g
+ ,shouldsave);
+ 
+ 1357 
+ A_CMD
+ :
+ 
+ 1358 
+ should§ve
+  |ð
+ 	`cmd_to§ve
+ (
+ ¬g
+ [
+ i
+ ].
+ ¬g_±r
+ .
+ ¬g_cmd
+ ,shouldsave);
+ 
+ 1360 
+ A_WORD
+ :
+ 
+ 1361 
+ A_STAB
+ :
+ 
+ 1362 
+ A_LVAL
+ :
+ 
+ 1363 
+ A_READ
+ :
+ 
+ 1364 
+ A_GLOB
+ :
+ 
+ 1365 
+ A_ARYLEN
+ :
+ 
+ 1366 
+ A_SINGLE
+ :
+ 
+ 1367 
+ A_DOUBLE
+ :
+ 
+ 1368 
+ A_BACKTICK
+ :
+ 
+ 1370 
+ A_SPAT
+ :
+ 
+ 1371 
+ should§ve
+  |ð
+ 	`¥©_to§ve
+ (
+ ¬g
+ [
+ i
+ ].
+ ¬g_±r
+ .
+ ¬g_¥©
+ );
+ 
+ 1375 
+ ¬g
+ ->
+ ¬g_ty³
+ ) {
+ 
+ 1376 
+ O_RETURN
+ :
+ 
+ 1377 
+ §w_»tuº
+  = 
+ TRUE
+ ;
+ 
+ 1379 
+ O_EVAL
+ :
+ 
+ 1380 
+ O_SUBR
+ :
+ 
+ 1381 
+ should§ve
+  = 
+ TRUE
+ ;
+ 
+ 1384 ià(
+ wžl§ve
+ )
+ 
+ 1385 ()
+ 	`­ush
+ (
+ to§ve
+ ,
+ ¬g
+ ->
+ ¬g_±r
+ .
+ ¬g_¡r
+ );
+ 
+ 1386  
+ should§ve
+ ;
+ 
+ 1387 
+ 	}
+ }
+ 
+ 1390 
+ 	$¥©_to§ve
+ (
+ ¥©
+ )
+ 
+ 1391 
+ SPAT
+  *
+ ¥©
+ ;
+ 
+ 1393 
+ should§ve
+  = 
+ FALSE
+ ;
+ 
+ 1395 ià(
+ ¥©
+ ->
+ ¥©_ruÁime
+ )
+ 
+ 1396 
+ should§ve
+  |ð
+ 	`¬g_to§ve
+ (
+ ¥©
+ ->
+ ¥©_ruÁime
+ ,
+ FALSE
+ );
+ 
+ 1397 ià(
+ ¥©
+ ->
+ ¥©_»¶
+ ) {
+ 
+ 1398 
+ should§ve
+  |ð
+ 	`¬g_to§ve
+ (
+ ¥©
+ ->
+ ¥©_»¶
+ ,
+ FALSE
+ );
+ 
+ 1401  
+ should§ve
+ ;
+ 
+ 1402 
+ 	}
+ }
+ 
+ 	@consarg.c
+ 
+ 17 
+ 	~"EXTERN.h
+ "
+ 
+ 18 
+ 	~"³¾.h
+ "
+ 
+ 19 
+ nÙhšg_š_commÚ
+ ();
+ 
+ 20 
+ ¬g_commÚ
+ ();
+ 
+ 21 
+ ¥©_commÚ
+ ();
+ 
+ 23 
+ ARG
+  *
+ 
+ 24 
+ 	$make_¥l™
+ (
+ ¡ab
+ ,
+ ¬g
+ ,
+ lim¬g
+ )
+ 
+ 25 
+ STAB
+  *
+ ¡ab
+ ;
+ 
+ 26 
+ ARG
+  *
+ ¬g
+ ;
+ 
+ 27 
+ ARG
+  *
+ lim¬g
+ ;
+ 
+ 29 
+ SPAT
+  *
+ ¥©
+ ;
+ 
+ 31 ià(
+ ¬g
+ ->
+ ¬g_ty³
+  !ð
+ O_MATCH
+ ) {
+ 
+ 32 
+ 	`Newz
+ (201,
+ ¥©
+ ,1,
+ SPAT
+ );
+ 
+ 33 
+ ¥©
+ ->
+ ¥©_Ãxt
+  = 
+ cur¡ash
+ ->
+ tbl_¥©roÙ
+ ;
+ 
+ 34 
+ cur¡ash
+ ->
+ tbl_¥©roÙ
+  = 
+ ¥©
+ ;
+ 
+ 36 
+ ¥©
+ ->
+ ¥©_ruÁime
+  = 
+ ¬g
+ ;
+ 
+ 37 
+ ¬g
+  = 
+ 	`make_m©ch
+ (
+ O_MATCH
+ ,
+ 	`¡ab2¬g
+ (
+ A_STAB
+ ,
+ def¡ab
+ ),
+ ¥©
+ );
+ 
+ 39 
+ 	`R’ew
+ (
+ ¬g
+ ,4,
+ ARG
+ );
+ 
+ 40 
+ ¬g
+ ->
+ ¬g_Ën
+  = 3;
+ 
+ 41 ià(
+ lim¬g
+ ) {
+ 
+ 42 ià(
+ lim¬g
+ ->
+ ¬g_ty³
+  =ð
+ O_ITEM
+ ) {
+ 
+ 43 
+ 	`CÝy
+ (
+ lim¬g
+ +1,
+ ¬g
+ +3,1,
+ ARG
+ );
+ 
+ 44 
+ lim¬g
+ [1].
+ ¬g_ty³
+  = 
+ A_NULL
+ ;
+ 
+ 45 
+ 	`¬g_ä“
+ (
+ lim¬g
+ );
+ 
+ 48 
+ ¬g
+ [3].
+ ¬g_æags
+  = 0;
+ 
+ 49 
+ ¬g
+ [3].
+ ¬g_ty³
+  = 
+ A_EXPR
+ ;
+ 
+ 50 
+ ¬g
+ [3].
+ ¬g_±r
+ .
+ ¬g_¬g
+  = 
+ lim¬g
+ ;
+ 
+ 54 
+ ¬g
+ [3].
+ ¬g_ty³
+  = 
+ A_NULL
+ ;
+ 
+ 55 
+ ¬g
+ ->
+ ¬g_ty³
+  = 
+ O_SPLIT
+ ;
+ 
+ 56 
+ ¥©
+  = 
+ ¬g
+ [2].
+ ¬g_±r
+ .
+ ¬g_¥©
+ ;
+ 
+ 57 
+ ¥©
+ ->
+ ¥©_»¶
+  = 
+ 	`¡ab2¬g
+ (
+ A_STAB
+ ,
+ 	`¯dd
+ (
+ ¡ab
+ ));
+ 
+ 58 ià(
+ ¥©
+ ->
+ ¥©_shÜt
+ ) {
+ 
+ 59 ià(!((
+ ¥©
+ ->
+ ¥©_æags
+  & 
+ SPAT_SCANFIRST
+ ) &&
+ 
+ 60 (
+ ¥©
+ ->
+ ¥©_æags
+  & 
+ SPAT_ALL
+ ) )) {
+ 
+ 61 
+ 	`¡r_ä“
+ (
+ ¥©
+ ->
+ ¥©_shÜt
+ );
+ 
+ 62 
+ ¥©
+ ->
+ ¥©_shÜt
+  = 
+ NuΡr
+ ;
+ 
+ 65  
+ ¬g
+ ;
+ 
+ 66 
+ 	}
+ }
+ 
+ 68 
+ ARG
+  *
+ 
+ 69 
+ 	$mod_m©ch
+ (
+ ty³
+ ,
+ Ëá
+ ,
+ ·t
+ )
+ 
+ 70 
+ ARG
+  *
+ Ëá
+ ;
+ 
+ 71 
+ ARG
+  *
+ ·t
+ ;
+ 
+ 74 
+ SPAT
+  *
+ ¥©
+ ;
+ 
+ 75 
+ ARG
+  *
+ Ãw¬g
+ ;
+ 
+ 77 ià(!
+ ·t
+ )
+ 
+ 78  
+ Nuάg
+ ;
+ 
+ 80 ià((
+ ·t
+ ->
+ ¬g_ty³
+  =ð
+ O_MATCH
+  ||
+ 
+ 81 
+ ·t
+ ->
+ ¬g_ty³
+  =ð
+ O_SUBST
+  ||
+ 
+ 82 
+ ·t
+ ->
+ ¬g_ty³
+  =ð
+ O_TRANS
+  ||
+ 
+ 83 
+ ·t
+ ->
+ ¬g_ty³
+  =ð
+ O_SPLIT
+ 
+ 
+ 85 
+ ·t
+ [1].
+ ¬g_±r
+ .
+ ¬g_¡ab
+  =ð
+ def¡ab
+  ) {
+ 
+ 86 
+ ·t
+ ->
+ ¬g_ty³
+ ) {
+ 
+ 87 
+ O_MATCH
+ :
+ 
+ 88 
+ Ãw¬g
+  = 
+ 	`make_Ý
+ (
+ ty³
+  =ð
+ O_MATCH
+  ? O_MATCH : 
+ O_NMATCH
+ ,
+ 
+ 89 
+ ·t
+ ->
+ ¬g_Ën
+ ,
+ 
+ 90 
+ Ëá
+ ,
+ Nuάg
+ ,Nullarg);
+ 
+ 92 
+ O_SUBST
+ :
+ 
+ 93 
+ Ãw¬g
+  = 
+ 	`l
+ (
+ 	`make_Ý
+ (
+ ty³
+  =ð
+ O_MATCH
+  ? 
+ O_SUBST
+  : 
+ O_NSUBST
+ ,
+ 
+ 94 
+ ·t
+ ->
+ ¬g_Ën
+ ,
+ 
+ 95 
+ Ëá
+ ,
+ Nuάg
+ ,Nullarg));
+ 
+ 97 
+ O_TRANS
+ :
+ 
+ 98 
+ Ãw¬g
+  = 
+ 	`l
+ (
+ 	`make_Ý
+ (
+ ty³
+  =ð
+ O_MATCH
+  ? 
+ O_TRANS
+  : 
+ O_NTRANS
+ ,
+ 
+ 99 
+ ·t
+ ->
+ ¬g_Ën
+ ,
+ 
+ 100 
+ Ëá
+ ,
+ Nuάg
+ ,Nullarg));
+ 
+ 102 
+ O_SPLIT
+ :
+ 
+ 103 
+ Ãw¬g
+  = 
+ 	`make_Ý
+ (
+ ty³
+  =ð
+ O_MATCH
+  ? 
+ O_SPLIT
+  : O_SPLIT,
+ 
+ 104 
+ ·t
+ ->
+ ¬g_Ën
+ ,
+ 
+ 105 
+ Ëá
+ ,
+ Nuάg
+ ,Nullarg);
+ 
+ 108 ià(
+ ·t
+ ->
+ ¬g_Ën
+  >= 2) {
+ 
+ 109 
+ Ãw¬g
+ [2].
+ ¬g_ty³
+  = 
+ ·t
+ [2].arg_type;
+ 
+ 110 
+ Ãw¬g
+ [2].
+ ¬g_±r
+  = 
+ ·t
+ [2].arg_ptr;
+ 
+ 111 
+ Ãw¬g
+ [2].
+ ¬g_Ën
+  = 
+ ·t
+ [2].arg_len;
+ 
+ 112 
+ Ãw¬g
+ [2].
+ ¬g_æags
+  = 
+ ·t
+ [2].arg_flags;
+ 
+ 113 ià(
+ ·t
+ ->
+ ¬g_Ën
+  >= 3) {
+ 
+ 114 
+ Ãw¬g
+ [3].
+ ¬g_ty³
+  = 
+ ·t
+ [3].arg_type;
+ 
+ 115 
+ Ãw¬g
+ [3].
+ ¬g_±r
+  = 
+ ·t
+ [3].arg_ptr;
+ 
+ 116 
+ Ãw¬g
+ [3].
+ ¬g_Ën
+  = 
+ ·t
+ [3].arg_len;
+ 
+ 117 
+ Ãw¬g
+ [3].
+ ¬g_æags
+  = 
+ ·t
+ [3].arg_flags;
+ 
+ 120 
+ 	`ä“_¬g
+ (
+ ·t
+ );
+ 
+ 123 
+ 	`Newz
+ (202,
+ ¥©
+ ,1,
+ SPAT
+ );
+ 
+ 124 
+ ¥©
+ ->
+ ¥©_Ãxt
+  = 
+ cur¡ash
+ ->
+ tbl_¥©roÙ
+ ;
+ 
+ 125 
+ cur¡ash
+ ->
+ tbl_¥©roÙ
+  = 
+ ¥©
+ ;
+ 
+ 127 
+ ¥©
+ ->
+ ¥©_ruÁime
+  = 
+ ·t
+ ;
+ 
+ 128 
+ Ãw¬g
+  = 
+ 	`make_Ý
+ (
+ ty³
+ ,2,
+ Ëá
+ ,
+ Nuάg
+ ,Nullarg);
+ 
+ 129 
+ Ãw¬g
+ [2].
+ ¬g_ty³
+  = 
+ A_SPAT
+  | 
+ A_DONT
+ ;
+ 
+ 130 
+ Ãw¬g
+ [2].
+ ¬g_±r
+ .
+ ¬g_¥©
+  = 
+ ¥©
+ ;
+ 
+ 133  
+ Ãw¬g
+ ;
+ 
+ 134 
+ 	}
+ }
+ 
+ 136 
+ ARG
+  *
+ 
+ 137 
+ 	$make_Ý
+ (
+ ty³
+ ,
+ ÃwËn
+ ,
+ ¬g1
+ ,
+ ¬g2
+ ,
+ ¬g3
+ )
+ 
+ 138 
+ ty³
+ ;
+ 
+ 139 
+ ÃwËn
+ ;
+ 
+ 140 
+ ARG
+  *
+ ¬g1
+ ;
+ 
+ 141 
+ ARG
+  *
+ ¬g2
+ ;
+ 
+ 142 
+ ARG
+  *
+ ¬g3
+ ;
+ 
+ 144 
+ ARG
+  *
+ ¬g
+ ;
+ 
+ 145 
+ ARG
+  *
+ chld
+ ;
+ 
+ 146 
+ dßrg
+ ;
+ 
+ 147 
+ i
+ ;
+ 
+ 148 
+ ARG
+  *
+ ¬g4
+ ;
+ 
+ 149 
+ ARG
+  *
+ ¬g5
+ ;
+ 
+ 151 
+ ¬g
+  = 
+ 	`Ý_Ãw
+ (
+ ÃwËn
+ );
+ 
+ 152 
+ ¬g
+ ->
+ ¬g_ty³
+  = 
+ ty³
+ ;
+ 
+ 153 ià(
+ chld
+  = 
+ ¬g1
+ ) {
+ 
+ 154 ià(
+ chld
+ ->
+ ¬g_ty³
+  =ð
+ O_ITEM
+  &&
+ 
+ 155 (
+ hoi¡abË
+ [ 
+ i
+  = (
+ chld
+ [1].
+ ¬g_ty³
+ &
+ A_MASK
+ )] || i =ð
+ A_LVAL
+  ||
+ 
+ 156 (
+ i
+  =ð
+ A_LEXPR
+  &&
+ 
+ 157 (
+ chld
+ [1].
+ ¬g_±r
+ .
+ ¬g_¬g
+ ->
+ ¬g_ty³
+  =ð
+ O_LIST
+  ||
+ 
+ 158 
+ chld
+ [1].
+ ¬g_±r
+ .
+ ¬g_¬g
+ ->
+ ¬g_ty³
+  =ð
+ O_ARRAY
+  ||
+ 
+ 159 
+ chld
+ [1].
+ ¬g_±r
+ .
+ ¬g_¬g
+ ->
+ ¬g_ty³
+  =ð
+ O_HASH
+  ))))
+ 
+ 161 
+ ¬g
+ [1].
+ ¬g_ty³
+  = 
+ chld
+ [1].arg_type;
+ 
+ 162 
+ ¬g
+ [1].
+ ¬g_±r
+  = 
+ chld
+ [1].arg_ptr;
+ 
+ 163 
+ ¬g
+ [1].
+ ¬g_æags
+  |ð
+ chld
+ [1].arg_flags;
+ 
+ 164 
+ ¬g
+ [1].
+ ¬g_Ën
+  = 
+ chld
+ [1].arg_len;
+ 
+ 165 
+ 	`ä“_¬g
+ (
+ chld
+ );
+ 
+ 168 
+ ¬g
+ [1].
+ ¬g_ty³
+  = 
+ A_EXPR
+ ;
+ 
+ 169 
+ ¬g
+ [1].
+ ¬g_±r
+ .
+ ¬g_¬g
+  = 
+ chld
+ ;
+ 
+ 172 ià(
+ chld
+  = 
+ ¬g2
+ ) {
+ 
+ 173 ià(
+ chld
+ ->
+ ¬g_ty³
+  =ð
+ O_ITEM
+  &&
+ 
+ 174 (
+ hoi¡abË
+ [
+ chld
+ [1].
+ ¬g_ty³
+ &
+ A_MASK
+ ] ||
+ 
+ 175 (
+ ty³
+  =ð
+ O_ASSIGN
+  &&
+ 
+ 176 ((
+ chld
+ [1].
+ ¬g_ty³
+  =ð
+ A_READ
+  && !(
+ ¬g
+ [1].¬g_ty³ & 
+ A_DONT
+ ))
+ 
+ 178 (
+ chld
+ [1].
+ ¬g_ty³
+  =ð
+ A_INDREAD
+  && !(
+ ¬g
+ [1].¬g_ty³ & 
+ A_DONT
+ ))
+ 
+ 180 (
+ chld
+ [1].
+ ¬g_ty³
+  =ð
+ A_GLOB
+  && !(
+ ¬g
+ [1].¬g_ty³ & 
+ A_DONT
+ ))
+ 
+ 182 
+ ¬g
+ [2].
+ ¬g_ty³
+  = 
+ chld
+ [1].arg_type;
+ 
+ 183 
+ ¬g
+ [2].
+ ¬g_±r
+  = 
+ chld
+ [1].arg_ptr;
+ 
+ 184 
+ ¬g
+ [2].
+ ¬g_Ën
+  = 
+ chld
+ [1].arg_len;
+ 
+ 185 
+ 	`ä“_¬g
+ (
+ chld
+ );
+ 
+ 188 
+ ¬g
+ [2].
+ ¬g_ty³
+  = 
+ A_EXPR
+ ;
+ 
+ 189 
+ ¬g
+ [2].
+ ¬g_±r
+ .
+ ¬g_¬g
+  = 
+ chld
+ ;
+ 
+ 192 ià(
+ chld
+  = 
+ ¬g3
+ ) {
+ 
+ 193 ià(
+ chld
+ ->
+ ¬g_ty³
+  =ð
+ O_ITEM
+  && 
+ hoi¡abË
+ [chld[1].¬g_ty³&
+ A_MASK
+ ]) {
+ 
+ 194 
+ ¬g
+ [3].
+ ¬g_ty³
+  = 
+ chld
+ [1].arg_type;
+ 
+ 195 
+ ¬g
+ [3].
+ ¬g_±r
+  = 
+ chld
+ [1].arg_ptr;
+ 
+ 196 
+ ¬g
+ [3].
+ ¬g_Ën
+  = 
+ chld
+ [1].arg_len;
+ 
+ 197 
+ 	`ä“_¬g
+ (
+ chld
+ );
+ 
+ 200 
+ ¬g
+ [3].
+ ¬g_ty³
+  = 
+ A_EXPR
+ ;
+ 
+ 201 
+ ¬g
+ [3].
+ ¬g_±r
+ .
+ ¬g_¬g
+  = 
+ chld
+ ;
+ 
+ 204 ià(
+ ÃwËn
+  >ð4 && (
+ chld
+  = 
+ ¬g4
+ )) {
+ 
+ 205 ià(
+ chld
+ ->
+ ¬g_ty³
+  =ð
+ O_ITEM
+  && 
+ hoi¡abË
+ [chld[1].¬g_ty³&
+ A_MASK
+ ]) {
+ 
+ 206 
+ ¬g
+ [4].
+ ¬g_ty³
+  = 
+ chld
+ [1].arg_type;
+ 
+ 207 
+ ¬g
+ [4].
+ ¬g_±r
+  = 
+ chld
+ [1].arg_ptr;
+ 
+ 208 
+ ¬g
+ [4].
+ ¬g_Ën
+  = 
+ chld
+ [1].arg_len;
+ 
+ 209 
+ 	`ä“_¬g
+ (
+ chld
+ );
+ 
+ 212 
+ ¬g
+ [4].
+ ¬g_ty³
+  = 
+ A_EXPR
+ ;
+ 
+ 213 
+ ¬g
+ [4].
+ ¬g_±r
+ .
+ ¬g_¬g
+  = 
+ chld
+ ;
+ 
+ 216 ià(
+ ÃwËn
+  >ð5 && (
+ chld
+  = 
+ ¬g5
+ )) {
+ 
+ 217 ià(
+ chld
+ ->
+ ¬g_ty³
+  =ð
+ O_ITEM
+  && 
+ hoi¡abË
+ [chld[1].¬g_ty³&
+ A_MASK
+ ]) {
+ 
+ 218 
+ ¬g
+ [5].
+ ¬g_ty³
+  = 
+ chld
+ [1].arg_type;
+ 
+ 219 
+ ¬g
+ [5].
+ ¬g_±r
+  = 
+ chld
+ [1].arg_ptr;
+ 
+ 220 
+ ¬g
+ [5].
+ ¬g_Ën
+  = 
+ chld
+ [1].arg_len;
+ 
+ 221 
+ 	`ä“_¬g
+ (
+ chld
+ );
+ 
+ 224 
+ ¬g
+ [5].
+ ¬g_ty³
+  = 
+ A_EXPR
+ ;
+ 
+ 225 
+ ¬g
+ [5].
+ ¬g_±r
+ .
+ ¬g_¬g
+  = 
+ chld
+ ;
+ 
+ 228 
+ dßrg
+  = 
+ ݬgs
+ [
+ ty³
+ ];
+ 
+ 229 
+ i
+  = 1; i <ð
+ ÃwËn
+ ; ++i) {
+ 
+ 230 ià(!(
+ dßrg
+  & 1))
+ 
+ 231 
+ ¬g
+ [
+ i
+ ].
+ ¬g_ty³
+  |ð
+ A_DONT
+ ;
+ 
+ 232 ià(
+ dßrg
+  & 2)
+ 
+ 233 
+ ¬g
+ [
+ i
+ ].
+ ¬g_æags
+  |ð
+ AF_ARYOK
+ ;
+ 
+ 234 
+ dßrg
+  >>= 2;
+ 
+ 236 #ifdeà
+ DEBUGGING
+ 
+ 
+ 237 ià(
+ debug
+  & 16) {
+ 
+ 238 
+ 	`årštf
+ (
+ ¡d”r
+ ,"%lx <ðmake_Ý(%s",
+ ¬g
+ ,
+ ÝÇme
+ [¬g->
+ ¬g_ty³
+ ]);
+ 
+ 239 ià(
+ ¬g1
+ )
+ 
+ 240 
+ 	`årštf
+ (
+ ¡d”r
+ ,",%s=%lx",
+ 
+ 241 
+ ¬gÇme
+ [
+ ¬g
+ [1].
+ ¬g_ty³
+ &
+ A_MASK
+ ],¬g[1].
+ ¬g_±r
+ .
+ ¬g_¬g
+ );
+ 
+ 242 ià(
+ ¬g2
+ )
+ 
+ 243 
+ 	`årštf
+ (
+ ¡d”r
+ ,",%s=%lx",
+ 
+ 244 
+ ¬gÇme
+ [
+ ¬g
+ [2].
+ ¬g_ty³
+ &
+ A_MASK
+ ],¬g[2].
+ ¬g_±r
+ .
+ ¬g_¬g
+ );
+ 
+ 245 ià(
+ ¬g3
+ )
+ 
+ 246 
+ 	`årštf
+ (
+ ¡d”r
+ ,",%s=%lx",
+ 
+ 247 
+ ¬gÇme
+ [
+ ¬g
+ [3].
+ ¬g_ty³
+ &
+ A_MASK
+ ],¬g[3].
+ ¬g_±r
+ .
+ ¬g_¬g
+ );
+ 
+ 248 ià(
+ ÃwËn
+  >= 4)
+ 
+ 249 
+ 	`årštf
+ (
+ ¡d”r
+ ,",%s=%lx",
+ 
+ 250 
+ ¬gÇme
+ [
+ ¬g
+ [4].
+ ¬g_ty³
+ &
+ A_MASK
+ ],¬g[4].
+ ¬g_±r
+ .
+ ¬g_¬g
+ );
+ 
+ 251 ià(
+ ÃwËn
+  >= 5)
+ 
+ 252 
+ 	`årštf
+ (
+ ¡d”r
+ ,",%s=%lx",
+ 
+ 253 
+ ¬gÇme
+ [
+ ¬g
+ [5].
+ ¬g_ty³
+ &
+ A_MASK
+ ],¬g[5].
+ ¬g_±r
+ .
+ ¬g_¬g
+ );
+ 
+ 254 
+ 	`årštf
+ (
+ ¡d”r
+ ,")\n");
+ 
+ 257 
+ 	`ev®¡©ic
+ (
+ ¬g
+ );
+ 
+ 258  
+ ¬g
+ ;
+ 
+ 259 
+ 	}
+ }
+ 
+ 262 
+ 	$ev®¡©ic
+ (
+ ¬g
+ )
+ 
+ 263 
+ ARG
+  *
+ ¬g
+ ;
+ 
+ 265 
+ STR
+  *
+ ¡r
+ ;
+ 
+ 266 
+ STR
+  *
+ s1
+ ;
+ 
+ 267 
+ STR
+  *
+ s2
+ ;
+ 
+ 268 
+ v®ue
+ ;
+ 
+ 269 *
+ tmps
+ ;
+ 
+ 270 
+ i
+ ;
+ 
+ 271 
+ tm¶Úg
+ ;
+ 
+ 272 
+ tmp2
+ ;
+ 
+ 273 
+ 	`exp
+ (), 
+ 	`log
+ (), 
+ 	`sq¹
+ (), 
+ 	`modf
+ ();
+ 
+ 274 *
+ 	`üy±
+ ();
+ 
+ 275 
+ 	`sš
+ (), 
+ 	`cos
+ (), 
+ 	`©ª2
+ (), 
+ 	`pow
+ ();
+ 
+ 277 ià(!
+ ¬g
+  || !¬g->
+ ¬g_Ën
+ )
+ 
+ 280 ià((
+ ¬g
+ [1].
+ ¬g_ty³
+  =ð
+ A_SINGLE
+  ||‡rg->¬g_ty³ =ð
+ O_AELEM
+ ) &&
+ 
+ 281 (
+ ¬g
+ ->
+ ¬g_Ën
+  =ð1 ||‡rg[2].
+ ¬g_ty³
+  =ð
+ A_SINGLE
+ ) ) {
+ 
+ 282 
+ ¡r
+  = 
+ 	`SŒ_Ãw
+ (20,0);
+ 
+ 283 
+ s1
+  = 
+ ¬g
+ [1].
+ ¬g_±r
+ .
+ ¬g_¡r
+ ;
+ 
+ 284 ià(
+ ¬g
+ ->
+ ¬g_Ën
+  > 1)
+ 
+ 285 
+ s2
+  = 
+ ¬g
+ [2].
+ ¬g_±r
+ .
+ ¬g_¡r
+ ;
+ 
+ 287 
+ s2
+  = 
+ NuΡr
+ ;
+ 
+ 288 
+ ¬g
+ ->
+ ¬g_ty³
+ ) {
+ 
+ 289 
+ O_AELEM
+ :
+ 
+ 290 
+ i
+  = ()
+ 	`¡r_gnum
+ (
+ s2
+ );
+ 
+ 291 ià(
+ i
+  < 32767 && i >= 0) {
+ 
+ 292 
+ ¬g
+ ->
+ ¬g_ty³
+  = 
+ O_ITEM
+ ;
+ 
+ 293 
+ ¬g
+ ->
+ ¬g_Ën
+  = 1;
+ 
+ 294 
+ ¬g
+ [1].
+ ¬g_ty³
+  = 
+ A_ARYSTAB
+ ;
+ 
+ 295 
+ ¬g
+ [1].
+ ¬g_Ën
+  = 
+ i
+ ;
+ 
+ 296 
+ 	`¡r_ä“
+ (
+ s2
+ );
+ 
+ 297 
+ ¬g
+ [2].
+ ¬g_ty³
+  = 
+ A_NULL
+ ;
+ 
+ 298 
+ ¬g
+ [2].
+ ¬g_±r
+ .
+ ¬g_¡r
+  = 
+ NuΡr
+ ;
+ 
+ 302 
+ 	`¡r_ä“
+ (
+ ¡r
+ );
+ 
+ 303 
+ ¡r
+  = 
+ NuΡr
+ ;
+ 
+ 305 
+ O_CONCAT
+ :
+ 
+ 306 
+ 	`¡r_s£t
+ (
+ ¡r
+ ,
+ s1
+ );
+ 
+ 307 
+ 	`¡r_sÿt
+ (
+ ¡r
+ ,
+ s2
+ );
+ 
+ 309 
+ O_REPEAT
+ :
+ 
+ 310 
+ i
+  = ()
+ 	`¡r_gnum
+ (
+ s2
+ );
+ 
+ 311 
+ tmps
+  = 
+ 	`¡r_g‘
+ (
+ s1
+ );
+ 
+ 312 
+ 	`¡r_n£t
+ (
+ ¡r
+ ,"",0);
+ 
+ 313 
+ 	`STR_GROW
+ (
+ ¡r
+ , 
+ i
+  * 
+ s1
+ ->
+ ¡r_cur
+  + 1);
+ 
+ 314 
+ 	`»³©ýy
+ (
+ ¡r
+ ->
+ ¡r_±r
+ , 
+ tmps
+ , 
+ s1
+ ->
+ ¡r_cur
+ , 
+ i
+ );
+ 
+ 315 
+ ¡r
+ ->
+ ¡r_cur
+  = 
+ i
+  * 
+ s1
+ ->str_cur;
+ 
+ 316 
+ ¡r
+ ->
+ ¡r_±r
+ [¡r->
+ ¡r_cur
+ ] = '\0';
+ 
+ 318 
+ O_MULTIPLY
+ :
+ 
+ 319 
+ v®ue
+  = 
+ 	`¡r_gnum
+ (
+ s1
+ );
+ 
+ 320 
+ 	`¡r_num£t
+ (
+ ¡r
+ ,
+ v®ue
+  * 
+ 	`¡r_gnum
+ (
+ s2
+ ));
+ 
+ 322 
+ O_DIVIDE
+ :
+ 
+ 323 
+ v®ue
+  = 
+ 	`¡r_gnum
+ (
+ s2
+ );
+ 
+ 324 ià(
+ v®ue
+  == 0.0)
+ 
+ 325 
+ 	`yy”rÜ
+ ("Illegal division by constant zero");
+ 
+ 327 #ifdeà
+ üay
+ 
+ 
+ 330 
+ x
+ ;
+ 
+ 331 
+ k
+ ;
+ 
+ 332 
+ x
+  = 
+ 	`¡r_gnum
+ (
+ s1
+ );
+ 
+ 333 ià(()()
+ x
+  == x &&
+ 
+ 334 ()()
+ v®ue
+  == value &&
+ 
+ 335 (
+ k
+  = ()
+ x
+ /()
+ v®ue
+ )*()value == ()x) {
+ 
+ 336 
+ v®ue
+  = 
+ k
+ ;
+ 
+ 338 
+ v®ue
+  = 
+ x
+ /value;
+ 
+ 340 
+ 	`¡r_num£t
+ (
+ ¡r
+ ,
+ v®ue
+ );
+ 
+ 343 
+ 	`¡r_num£t
+ (
+ ¡r
+ ,
+ 	`¡r_gnum
+ (
+ s1
+ è/ 
+ v®ue
+ );
+ 
+ 346 
+ O_MODULO
+ :
+ 
+ 347 
+ tm¶Úg
+  = ()
+ 	`¡r_gnum
+ (
+ s2
+ );
+ 
+ 348 ià(
+ tm¶Úg
+  == 0L) {
+ 
+ 349 
+ 	`yy”rÜ
+ ("Illegal modulus of constant zero");
+ 
+ 352 
+ tmp2
+  = ()
+ 	`¡r_gnum
+ (
+ s1
+ );
+ 
+ 353 #iâdeà
+ lšt
+ 
+ 
+ 354 ià(
+ tmp2
+  >= 0)
+ 
+ 355 
+ 	`¡r_num£t
+ (
+ ¡r
+ ,()(
+ tmp2
+  % 
+ tm¶Úg
+ ));
+ 
+ 357 
+ 	`¡r_num£t
+ (
+ ¡r
+ ,()((
+ tm¶Úg
+ -((-
+ tmp2
+  - 1) %mplong)) - 1));
+ 
+ 359 
+ tmp2
+  =mp2;
+ 
+ 362 
+ O_ADD
+ :
+ 
+ 363 
+ v®ue
+  = 
+ 	`¡r_gnum
+ (
+ s1
+ );
+ 
+ 364 
+ 	`¡r_num£t
+ (
+ ¡r
+ ,
+ v®ue
+  + 
+ 	`¡r_gnum
+ (
+ s2
+ ));
+ 
+ 366 
+ O_SUBTRACT
+ :
+ 
+ 367 
+ v®ue
+  = 
+ 	`¡r_gnum
+ (
+ s1
+ );
+ 
+ 368 
+ 	`¡r_num£t
+ (
+ ¡r
+ ,
+ v®ue
+  - 
+ 	`¡r_gnum
+ (
+ s2
+ ));
+ 
+ 370 
+ O_LEFT_SHIFT
+ :
+ 
+ 371 
+ v®ue
+  = 
+ 	`¡r_gnum
+ (
+ s1
+ );
+ 
+ 372 
+ i
+  = ()
+ 	`¡r_gnum
+ (
+ s2
+ );
+ 
+ 373 #iâdeà
+ lšt
+ 
+ 
+ 374 
+ 	`¡r_num£t
+ (
+ ¡r
+ ,()((()
+ v®ue
+ è<< 
+ i
+ ));
+ 
+ 377 
+ O_RIGHT_SHIFT
+ :
+ 
+ 378 
+ v®ue
+  = 
+ 	`¡r_gnum
+ (
+ s1
+ );
+ 
+ 379 
+ i
+  = ()
+ 	`¡r_gnum
+ (
+ s2
+ );
+ 
+ 380 #iâdeà
+ lšt
+ 
+ 
+ 381 
+ 	`¡r_num£t
+ (
+ ¡r
+ ,()((()
+ v®ue
+ è>> 
+ i
+ ));
+ 
+ 384 
+ O_LT
+ :
+ 
+ 385 
+ v®ue
+  = 
+ 	`¡r_gnum
+ (
+ s1
+ );
+ 
+ 386 
+ 	`¡r_num£t
+ (
+ ¡r
+ ,(
+ v®ue
+  < 
+ 	`¡r_gnum
+ (
+ s2
+ )) ? 1.0 : 0.0);
+ 
+ 388 
+ O_GT
+ :
+ 
+ 389 
+ v®ue
+  = 
+ 	`¡r_gnum
+ (
+ s1
+ );
+ 
+ 390 
+ 	`¡r_num£t
+ (
+ ¡r
+ ,(
+ v®ue
+  > 
+ 	`¡r_gnum
+ (
+ s2
+ )) ? 1.0 : 0.0);
+ 
+ 392 
+ O_LE
+ :
+ 
+ 393 
+ v®ue
+  = 
+ 	`¡r_gnum
+ (
+ s1
+ );
+ 
+ 394 
+ 	`¡r_num£t
+ (
+ ¡r
+ ,(
+ v®ue
+  <ð
+ 	`¡r_gnum
+ (
+ s2
+ )) ? 1.0 : 0.0);
+ 
+ 396 
+ O_GE
+ :
+ 
+ 397 
+ v®ue
+  = 
+ 	`¡r_gnum
+ (
+ s1
+ );
+ 
+ 398 
+ 	`¡r_num£t
+ (
+ ¡r
+ ,(
+ v®ue
+  >ð
+ 	`¡r_gnum
+ (
+ s2
+ )) ? 1.0 : 0.0);
+ 
+ 400 
+ O_EQ
+ :
+ 
+ 401 ià(
+ dow¬n
+ ) {
+ 
+ 402 ià((!
+ s1
+ ->
+ ¡r_nok
+  && !
+ 	`looks_like_numb”
+ (s1)) ||
+ 
+ 403 (!
+ s2
+ ->
+ ¡r_nok
+  && !
+ 	`looks_like_numb”
+ (s2)) )
+ 
+ 404 
+ 	`w¬n
+ ("Possible use of == on string value");
+ 
+ 406 
+ v®ue
+  = 
+ 	`¡r_gnum
+ (
+ s1
+ );
+ 
+ 407 
+ 	`¡r_num£t
+ (
+ ¡r
+ ,(
+ v®ue
+  =ð
+ 	`¡r_gnum
+ (
+ s2
+ )) ? 1.0 : 0.0);
+ 
+ 409 
+ O_NE
+ :
+ 
+ 410 
+ v®ue
+  = 
+ 	`¡r_gnum
+ (
+ s1
+ );
+ 
+ 411 
+ 	`¡r_num£t
+ (
+ ¡r
+ ,(
+ v®ue
+  !ð
+ 	`¡r_gnum
+ (
+ s2
+ )) ? 1.0 : 0.0);
+ 
+ 413 
+ O_NCMP
+ :
+ 
+ 414 
+ v®ue
+  = 
+ 	`¡r_gnum
+ (
+ s1
+ );
+ 
+ 415 
+ v®ue
+  -ð
+ 	`¡r_gnum
+ (
+ s2
+ );
+ 
+ 416 ià(
+ v®ue
+  > 0.0)
+ 
+ 417 
+ v®ue
+  = 1.0;
+ 
+ 418 ià(
+ v®ue
+  < 0.0)
+ 
+ 419 
+ v®ue
+  = -1.0;
+ 
+ 420 
+ 	`¡r_num£t
+ (
+ ¡r
+ ,
+ v®ue
+ );
+ 
+ 422 
+ O_BIT_AND
+ :
+ 
+ 423 
+ v®ue
+  = 
+ 	`¡r_gnum
+ (
+ s1
+ );
+ 
+ 424 #iâdeà
+ lšt
+ 
+ 
+ 425 
+ 	`¡r_num£t
+ (
+ ¡r
+ ,()(
+ 	`U_L
+ (
+ v®ue
+ è& U_L(
+ 	`¡r_gnum
+ (
+ s2
+ ))));
+ 
+ 428 
+ O_XOR
+ :
+ 
+ 429 
+ v®ue
+  = 
+ 	`¡r_gnum
+ (
+ s1
+ );
+ 
+ 430 #iâdeà
+ lšt
+ 
+ 
+ 431 
+ 	`¡r_num£t
+ (
+ ¡r
+ ,()(
+ 	`U_L
+ (
+ v®ue
+ è^ U_L(
+ 	`¡r_gnum
+ (
+ s2
+ ))));
+ 
+ 434 
+ O_BIT_OR
+ :
+ 
+ 435 
+ v®ue
+  = 
+ 	`¡r_gnum
+ (
+ s1
+ );
+ 
+ 436 #iâdeà
+ lšt
+ 
+ 
+ 437 
+ 	`¡r_num£t
+ (
+ ¡r
+ ,()(
+ 	`U_L
+ (
+ v®ue
+ è| U_L(
+ 	`¡r_gnum
+ (
+ s2
+ ))));
+ 
+ 440 
+ O_AND
+ :
+ 
+ 441 ià(
+ 	`¡r_Œue
+ (
+ s1
+ ))
+ 
+ 442 
+ 	`¡r_s£t
+ (
+ ¡r
+ ,
+ s2
+ );
+ 
+ 444 
+ 	`¡r_s£t
+ (
+ ¡r
+ ,
+ s1
+ );
+ 
+ 446 
+ O_OR
+ :
+ 
+ 447 ià(
+ 	`¡r_Œue
+ (
+ s1
+ ))
+ 
+ 448 
+ 	`¡r_s£t
+ (
+ ¡r
+ ,
+ s1
+ );
+ 
+ 450 
+ 	`¡r_s£t
+ (
+ ¡r
+ ,
+ s2
+ );
+ 
+ 452 
+ O_COND_EXPR
+ :
+ 
+ 453 ià((
+ ¬g
+ [3].
+ ¬g_ty³
+  & 
+ A_MASK
+ è!ð
+ A_SINGLE
+ ) {
+ 
+ 454 
+ 	`¡r_ä“
+ (
+ ¡r
+ );
+ 
+ 455 
+ ¡r
+  = 
+ NuΡr
+ ;
+ 
+ 458 ià(
+ 	`¡r_Œue
+ (
+ s1
+ ))
+ 
+ 459 
+ 	`¡r_s£t
+ (
+ ¡r
+ ,
+ s2
+ );
+ 
+ 461 
+ 	`¡r_s£t
+ (
+ ¡r
+ ,
+ ¬g
+ [3].
+ ¬g_±r
+ .
+ ¬g_¡r
+ );
+ 
+ 462 
+ 	`¡r_ä“
+ (
+ ¬g
+ [3].
+ ¬g_±r
+ .
+ ¬g_¡r
+ );
+ 
+ 463 
+ ¬g
+ [3].
+ ¬g_±r
+ .
+ ¬g_¡r
+  = 
+ NuΡr
+ ;
+ 
+ 466 
+ O_NEGATE
+ :
+ 
+ 467 
+ 	`¡r_num£t
+ (
+ ¡r
+ ,()(-
+ 	`¡r_gnum
+ (
+ s1
+ )));
+ 
+ 469 
+ O_NOT
+ :
+ 
+ 470 
+ 	`¡r_num£t
+ (
+ ¡r
+ ,()(!
+ 	`¡r_Œue
+ (
+ s1
+ )));
+ 
+ 472 
+ O_COMPLEMENT
+ :
+ 
+ 473 #iâdeà
+ lšt
+ 
+ 
+ 474 
+ 	`¡r_num£t
+ (
+ ¡r
+ ,()(~
+ 	`U_L
+ (
+ 	`¡r_gnum
+ (
+ s1
+ ))));
+ 
+ 477 
+ O_SIN
+ :
+ 
+ 478 
+ 	`¡r_num£t
+ (
+ ¡r
+ ,
+ 	`sš
+ (
+ 	`¡r_gnum
+ (
+ s1
+ )));
+ 
+ 480 
+ O_COS
+ :
+ 
+ 481 
+ 	`¡r_num£t
+ (
+ ¡r
+ ,
+ 	`cos
+ (
+ 	`¡r_gnum
+ (
+ s1
+ )));
+ 
+ 483 
+ O_ATAN2
+ :
+ 
+ 484 
+ v®ue
+  = 
+ 	`¡r_gnum
+ (
+ s1
+ );
+ 
+ 485 
+ 	`¡r_num£t
+ (
+ ¡r
+ ,
+ 	`©ª2
+ (
+ v®ue
+ , 
+ 	`¡r_gnum
+ (
+ s2
+ )));
+ 
+ 487 
+ O_POW
+ :
+ 
+ 488 
+ v®ue
+  = 
+ 	`¡r_gnum
+ (
+ s1
+ );
+ 
+ 489 
+ 	`¡r_num£t
+ (
+ ¡r
+ ,
+ 	`pow
+ (
+ v®ue
+ , 
+ 	`¡r_gnum
+ (
+ s2
+ )));
+ 
+ 491 
+ O_LENGTH
+ :
+ 
+ 492 
+ 	`¡r_num£t
+ (
+ ¡r
+ , ()
+ 	`¡r_Ën
+ (
+ s1
+ ));
+ 
+ 494 
+ O_SLT
+ :
+ 
+ 495 
+ 	`¡r_num£t
+ (
+ ¡r
+ ,()(
+ 	`¡r_cmp
+ (
+ s1
+ ,
+ s2
+ ) < 0));
+ 
+ 497 
+ O_SGT
+ :
+ 
+ 498 
+ 	`¡r_num£t
+ (
+ ¡r
+ ,()(
+ 	`¡r_cmp
+ (
+ s1
+ ,
+ s2
+ ) > 0));
+ 
+ 500 
+ O_SLE
+ :
+ 
+ 501 
+ 	`¡r_num£t
+ (
+ ¡r
+ ,()(
+ 	`¡r_cmp
+ (
+ s1
+ ,
+ s2
+ ) <= 0));
+ 
+ 503 
+ O_SGE
+ :
+ 
+ 504 
+ 	`¡r_num£t
+ (
+ ¡r
+ ,()(
+ 	`¡r_cmp
+ (
+ s1
+ ,
+ s2
+ ) >= 0));
+ 
+ 506 
+ O_SEQ
+ :
+ 
+ 507 
+ 	`¡r_num£t
+ (
+ ¡r
+ ,()(
+ 	`¡r_eq
+ (
+ s1
+ ,
+ s2
+ )));
+ 
+ 509 
+ O_SNE
+ :
+ 
+ 510 
+ 	`¡r_num£t
+ (
+ ¡r
+ ,()(!
+ 	`¡r_eq
+ (
+ s1
+ ,
+ s2
+ )));
+ 
+ 512 
+ O_SCMP
+ :
+ 
+ 513 
+ 	`¡r_num£t
+ (
+ ¡r
+ ,()(
+ 	`¡r_cmp
+ (
+ s1
+ ,
+ s2
+ )));
+ 
+ 515 
+ O_CRYPT
+ :
+ 
+ 516 #ifdeà
+ HAS_CRYPT
+ 
+ 
+ 517 
+ tmps
+  = 
+ 	`¡r_g‘
+ (
+ s1
+ );
+ 
+ 518 
+ 	`¡r_£t
+ (
+ ¡r
+ ,
+ 	`üy±
+ (
+ tmps
+ ,
+ 	`¡r_g‘
+ (
+ s2
+ )));
+ 
+ 520 
+ 	`yy”rÜ
+ (
+ 
+ 524 
+ O_EXP
+ :
+ 
+ 525 
+ 	`¡r_num£t
+ (
+ ¡r
+ ,
+ 	`exp
+ (
+ 	`¡r_gnum
+ (
+ s1
+ )));
+ 
+ 527 
+ O_LOG
+ :
+ 
+ 528 
+ 	`¡r_num£t
+ (
+ ¡r
+ ,
+ 	`log
+ (
+ 	`¡r_gnum
+ (
+ s1
+ )));
+ 
+ 530 
+ O_SQRT
+ :
+ 
+ 531 
+ 	`¡r_num£t
+ (
+ ¡r
+ ,
+ 	`sq¹
+ (
+ 	`¡r_gnum
+ (
+ s1
+ )));
+ 
+ 533 
+ O_INT
+ :
+ 
+ 534 
+ v®ue
+  = 
+ 	`¡r_gnum
+ (
+ s1
+ );
+ 
+ 535 ià(
+ v®ue
+  >= 0.0)
+ 
+ 536 ()
+ 	`modf
+ (
+ v®ue
+ ,&value);
+ 
+ 538 ()
+ 	`modf
+ (-
+ v®ue
+ ,&value);
+ 
+ 539 
+ v®ue
+  = -value;
+ 
+ 541 
+ 	`¡r_num£t
+ (
+ ¡r
+ ,
+ v®ue
+ );
+ 
+ 543 
+ O_ORD
+ :
+ 
+ 544 #iâdeà
+ I286
+ 
+ 
+ 545 
+ 	`¡r_num£t
+ (
+ ¡r
+ ,()(*
+ 	`¡r_g‘
+ (
+ s1
+ )));
+ 
+ 548 
+ z­c
+ ;
+ 
+ 549 *
+ z­s
+ ;
+ 
+ 551 
+ z­s
+  = 
+ 	`¡r_g‘
+ (
+ s1
+ );
+ 
+ 552 
+ z­c
+  = (è*
+ z­s
+ ;
+ 
+ 553 
+ 	`¡r_num£t
+ (
+ ¡r
+ ,()(
+ z­c
+ ));
+ 
+ 558 ià(
+ ¡r
+ ) {
+ 
+ 559 
+ ¬g
+ ->
+ ¬g_ty³
+  = 
+ O_ITEM
+ ;
+ 
+ 560 
+ 	`¡r_ä“
+ (
+ s1
+ );
+ 
+ 561 
+ ¬g
+ [1].
+ ¬g_±r
+ .
+ ¬g_¡r
+  = 
+ ¡r
+ ;
+ 
+ 562 ià(
+ s2
+ ) {
+ 
+ 563 
+ 	`¡r_ä“
+ (
+ s2
+ );
+ 
+ 564 
+ ¬g
+ [2].
+ ¬g_±r
+ .
+ ¬g_¡r
+  = 
+ NuΡr
+ ;
+ 
+ 565 
+ ¬g
+ [2].
+ ¬g_ty³
+  = 
+ A_NULL
+ ;
+ 
+ 569 
+ 	}
+ }
+ 
+ 571 
+ ARG
+  *
+ 
+ 572 
+ 	$l
+ (
+ ¬g
+ )
+ 
+ 573 
+ ARG
+  *
+ ¬g
+ ;
+ 
+ 575 
+ i
+ ;
+ 
+ 576 
+ ARG
+  *
+ ¬g1
+ ;
+ 
+ 577 
+ ARG
+  *
+ ¬g2
+ ;
+ 
+ 578 
+ SPAT
+  *
+ ¥©
+ ;
+ 
+ 579 
+ ¬ghog
+  = 0;
+ 
+ 581 
+ i
+  = 
+ ¬g
+ [1].
+ ¬g_ty³
+  & 
+ A_MASK
+ ;
+ 
+ 583 
+ ¬g
+ ->
+ ¬g_æags
+  |ð
+ AF_COMMON
+ ;
+ 
+ 586 ià(
+ i
+  =ð
+ A_ARYLEN
+ ) {
+ 
+ 587 
+ ¬g
+ [1].
+ ¬g_ty³
+  = 
+ A_LARYLEN
+ ;
+ 
+ 588  
+ ¬g
+ ;
+ 
+ 590 ià(
+ i
+  =ð
+ A_ARYSTAB
+ ) {
+ 
+ 591 
+ ¬g
+ [1].
+ ¬g_ty³
+  = 
+ A_LARYSTAB
+ ;
+ 
+ 592  
+ ¬g
+ ;
+ 
+ 597 ià(
+ i
+  =ð
+ A_EXPR
+  || i =ð
+ A_LEXPR
+ ) {
+ 
+ 598 
+ ¬g1
+  = 
+ ¬g
+ [1].
+ ¬g_±r
+ .
+ ¬g_¬g
+ ;
+ 
+ 600 ià(
+ ¬g1
+ ->
+ ¬g_ty³
+  =ð
+ O_LIST
+  ||‡rg1->¬g_ty³ =ð
+ O_ITEM
+ ) {
+ 
+ 602 ià(
+ ¬g
+ ->
+ ¬g_Ën
+  > 1) {
+ 
+ 603 
+ 	`dehoi¡
+ (
+ ¬g
+ ,2);
+ 
+ 604 
+ ¬g2
+  = 
+ ¬g
+ [2].
+ ¬g_±r
+ .
+ ¬g_¬g
+ ;
+ 
+ 605 ià(
+ 	`nÙhšg_š_commÚ
+ (
+ ¬g1
+ ,
+ ¬g2
+ ))
+ 
+ 606 
+ ¬g
+ ->
+ ¬g_æags
+  &ð~
+ AF_COMMON
+ ;
+ 
+ 607 ià(
+ ¬g
+ ->
+ ¬g_ty³
+  =ð
+ O_ASSIGN
+ ) {
+ 
+ 608 ià(
+ ¬g1
+ ->
+ ¬g_æags
+  & 
+ AF_LOCAL
+ )
+ 
+ 609 
+ ¬g
+ ->
+ ¬g_æags
+  |ð
+ AF_LOCAL
+ ;
+ 
+ 610 
+ ¬g
+ [1].
+ ¬g_æags
+  |ð
+ AF_ARYOK
+ ;
+ 
+ 611 
+ ¬g
+ [2].
+ ¬g_æags
+  |ð
+ AF_ARYOK
+ ;
+ 
+ 614 ià(
+ ¬g
+ ->
+ ¬g_ty³
+  !ð
+ O_CHOP
+ )
+ 
+ 615 
+ ¬g
+ ->
+ ¬g_ty³
+  = 
+ O_ASSIGN
+ ;
+ 
+ 616 
+ i
+  = 
+ ¬g1
+ ->
+ ¬g_Ën
+ ; i >= 1; i--) {
+ 
+ 617 
+ ¬g1
+ [
+ i
+ ].
+ ¬g_ty³
+ ) {
+ 
+ 618 
+ A_STAR
+ : 
+ A_LSTAR
+ :
+ 
+ 619 
+ ¬g1
+ [
+ i
+ ].
+ ¬g_ty³
+  = 
+ A_LSTAR
+ ;
+ 
+ 621 
+ A_STAB
+ : 
+ A_LVAL
+ :
+ 
+ 622 
+ ¬g1
+ [
+ i
+ ].
+ ¬g_ty³
+  = 
+ A_LVAL
+ ;
+ 
+ 624 
+ A_ARYLEN
+ : 
+ A_LARYLEN
+ :
+ 
+ 625 
+ ¬g1
+ [
+ i
+ ].
+ ¬g_ty³
+  = 
+ A_LARYLEN
+ ;
+ 
+ 627 
+ A_ARYSTAB
+ : 
+ A_LARYSTAB
+ :
+ 
+ 628 
+ ¬g1
+ [
+ i
+ ].
+ ¬g_ty³
+  = 
+ A_LARYSTAB
+ ;
+ 
+ 630 
+ A_EXPR
+ : 
+ A_LEXPR
+ :
+ 
+ 631 
+ ¬g1
+ [
+ i
+ ].
+ ¬g_ty³
+  = 
+ A_LEXPR
+ ;
+ 
+ 632 
+ ¬g1
+ [
+ i
+ ].
+ ¬g_±r
+ .
+ ¬g_¬g
+ ->
+ ¬g_ty³
+ ) {
+ 
+ 633 
+ O_ARRAY
+ : 
+ O_LARRAY
+ :
+ 
+ 634 
+ ¬g1
+ [
+ i
+ ].
+ ¬g_±r
+ .
+ ¬g_¬g
+ ->
+ ¬g_ty³
+  = 
+ O_LARRAY
+ ;
+ 
+ 635 
+ ¬ghog
+  = 1;
+ 
+ 637 
+ O_AELEM
+ : 
+ O_LAELEM
+ :
+ 
+ 638 
+ ¬g1
+ [
+ i
+ ].
+ ¬g_±r
+ .
+ ¬g_¬g
+ ->
+ ¬g_ty³
+  = 
+ O_LAELEM
+ ;
+ 
+ 640 
+ O_HASH
+ : 
+ O_LHASH
+ :
+ 
+ 641 
+ ¬g1
+ [
+ i
+ ].
+ ¬g_±r
+ .
+ ¬g_¬g
+ ->
+ ¬g_ty³
+  = 
+ O_LHASH
+ ;
+ 
+ 642 
+ ¬ghog
+  = 1;
+ 
+ 644 
+ O_HELEM
+ : 
+ O_LHELEM
+ :
+ 
+ 645 
+ ¬g1
+ [
+ i
+ ].
+ ¬g_±r
+ .
+ ¬g_¬g
+ ->
+ ¬g_ty³
+  = 
+ O_LHELEM
+ ;
+ 
+ 647 
+ O_ASLICE
+ : 
+ O_LASLICE
+ :
+ 
+ 648 
+ ¬g1
+ [
+ i
+ ].
+ ¬g_±r
+ .
+ ¬g_¬g
+ ->
+ ¬g_ty³
+  = 
+ O_LASLICE
+ ;
+ 
+ 650 
+ O_HSLICE
+ : 
+ O_LHSLICE
+ :
+ 
+ 651 
+ ¬g1
+ [
+ i
+ ].
+ ¬g_±r
+ .
+ ¬g_¬g
+ ->
+ ¬g_ty³
+  = 
+ O_LHSLICE
+ ;
+ 
+ 654 
+ žl_™em
+ ;
+ 
+ 658 
+ žl_™em
+ :
+ 
+ 659 ()
+ 	`¥rštf
+ (
+ tok’buf
+ , "Illegal item (%s)‡s†value",
+ 
+ 660 
+ ¬gÇme
+ [
+ ¬g1
+ [
+ i
+ ].
+ ¬g_ty³
+ &
+ A_MASK
+ ]);
+ 
+ 661 
+ 	`yy”rÜ
+ (
+ tok’buf
+ );
+ 
+ 664 ià(
+ ¬g
+ ->
+ ¬g_Ën
+  > 1) {
+ 
+ 665 ià(
+ ¬g2
+ ->
+ ¬g_ty³
+  =ð
+ O_SPLIT
+  && !¬g2[3].¬g_ty³ && !
+ ¬ghog
+ ) {
+ 
+ 666 
+ ¬g2
+ [3].
+ ¬g_ty³
+  = 
+ A_SINGLE
+ ;
+ 
+ 667 
+ ¬g2
+ [3].
+ ¬g_±r
+ .
+ ¬g_¡r
+  =
+ 
+ 668 
+ 	`¡r_nmake
+ (()
+ ¬g1
+ ->
+ ¬g_Ën
+  + 1);
+ 
+ 672 ià(
+ ¬g1
+ ->
+ ¬g_ty³
+  =ð
+ O_AELEM
+  ||‡rg1->¬g_ty³ =ð
+ O_LAELEM
+ )
+ 
+ 673 ià(
+ ¬g
+ ->
+ ¬g_ty³
+  =ð
+ O_DEFINED
+ )
+ 
+ 674 
+ ¬g1
+ ->
+ ¬g_ty³
+  = 
+ O_AELEM
+ ;
+ 
+ 676 
+ ¬g1
+ ->
+ ¬g_ty³
+  = 
+ O_LAELEM
+ ;
+ 
+ 677 ià(
+ ¬g1
+ ->
+ ¬g_ty³
+  =ð
+ O_ARRAY
+  ||‡rg1->¬g_ty³ =ð
+ O_LARRAY
+ ) {
+ 
+ 678 
+ ¬g1
+ ->
+ ¬g_ty³
+  = 
+ O_LARRAY
+ ;
+ 
+ 679 ià(
+ ¬g
+ ->
+ ¬g_Ën
+  > 1) {
+ 
+ 680 
+ 	`dehoi¡
+ (
+ ¬g
+ ,2);
+ 
+ 681 
+ ¬g2
+  = 
+ ¬g
+ [2].
+ ¬g_±r
+ .
+ ¬g_¬g
+ ;
+ 
+ 682 ià(
+ ¬g2
+ ->
+ ¬g_ty³
+  =ð
+ O_SPLIT
+ ) {
+ 
+ 683 
+ ¥©
+  = 
+ ¬g2
+ [2].
+ ¬g_±r
+ .
+ ¬g_¥©
+ ;
+ 
+ 684 ià(!(
+ ¥©
+ ->
+ ¥©_æags
+  & 
+ SPAT_ONCE
+ ) &&
+ 
+ 685 
+ 	`nÙhšg_š_commÚ
+ (
+ ¬g1
+ ,
+ ¥©
+ ->
+ ¥©_»¶
+ )) {
+ 
+ 686 
+ ¥©
+ ->
+ ¥©_»¶
+ [1].
+ ¬g_±r
+ .
+ ¬g_¡ab
+  =
+ 
+ 687 
+ ¬g1
+ [1].
+ ¬g_±r
+ .
+ ¬g_¡ab
+ ;
+ 
+ 688 
+ ¬g1
+ [1].
+ ¬g_±r
+ .
+ ¬g_¡ab
+  = 
+ NuΡab
+ ;
+ 
+ 689 
+ ¥©
+ ->
+ ¥©_æags
+  |ð
+ SPAT_ONCE
+ ;
+ 
+ 690 
+ 	`¬g_ä“
+ (
+ ¬g1
+ );
+ 
+ 691 
+ ¬g
+ [1].
+ ¬g_±r
+ .
+ ¬g_¬g
+  = 
+ Nuάg
+ ;
+ 
+ 692 
+ 	`ä“_¬g
+ (
+ ¬g
+ );
+ 
+ 693  
+ ¬g2
+ ;
+ 
+ 696 ià(
+ 	`nÙhšg_š_commÚ
+ (
+ ¬g1
+ ,
+ ¬g2
+ ))
+ 
+ 697 
+ ¬g
+ ->
+ ¬g_æags
+  &ð~
+ AF_COMMON
+ ;
+ 
+ 698 ià(
+ ¬g
+ ->
+ ¬g_ty³
+  =ð
+ O_ASSIGN
+ ) {
+ 
+ 699 
+ ¬g
+ [1].
+ ¬g_æags
+  |ð
+ AF_ARYOK
+ ;
+ 
+ 700 
+ ¬g
+ [2].
+ ¬g_æags
+  |ð
+ AF_ARYOK
+ ;
+ 
+ 703 ià(
+ ¬g
+ ->
+ ¬g_ty³
+  =ð
+ O_ASSIGN
+ )
+ 
+ 704 
+ ¬g
+ [1].
+ ¬g_æags
+  |ð
+ AF_ARYOK
+ ;
+ 
+ 706 ià(
+ ¬g1
+ ->
+ ¬g_ty³
+  =ð
+ O_HELEM
+  ||‡rg1->¬g_ty³ =ð
+ O_LHELEM
+ )
+ 
+ 707 ià(
+ ¬g
+ ->
+ ¬g_ty³
+  =ð
+ O_DEFINED
+ )
+ 
+ 708 
+ ¬g1
+ ->
+ ¬g_ty³
+  = 
+ O_HELEM
+ ;
+ 
+ 710 
+ ¬g1
+ ->
+ ¬g_ty³
+  = 
+ O_LHELEM
+ ;
+ 
+ 711 ià(
+ ¬g1
+ ->
+ ¬g_ty³
+  =ð
+ O_HASH
+  ||‡rg1->¬g_ty³ =ð
+ O_LHASH
+ ) {
+ 
+ 712 
+ ¬g1
+ ->
+ ¬g_ty³
+  = 
+ O_LHASH
+ ;
+ 
+ 713 ià(
+ ¬g
+ ->
+ ¬g_Ën
+  > 1) {
+ 
+ 714 
+ 	`dehoi¡
+ (
+ ¬g
+ ,2);
+ 
+ 715 
+ ¬g2
+  = 
+ ¬g
+ [2].
+ ¬g_±r
+ .
+ ¬g_¬g
+ ;
+ 
+ 716 ià(
+ 	`nÙhšg_š_commÚ
+ (
+ ¬g1
+ ,
+ ¬g2
+ ))
+ 
+ 717 
+ ¬g
+ ->
+ ¬g_æags
+  &ð~
+ AF_COMMON
+ ;
+ 
+ 718 ià(
+ ¬g
+ ->
+ ¬g_ty³
+  =ð
+ O_ASSIGN
+ ) {
+ 
+ 719 
+ ¬g
+ [1].
+ ¬g_æags
+  |ð
+ AF_ARYOK
+ ;
+ 
+ 720 
+ ¬g
+ [2].
+ ¬g_æags
+  |ð
+ AF_ARYOK
+ ;
+ 
+ 723 ià(
+ ¬g
+ ->
+ ¬g_ty³
+  =ð
+ O_ASSIGN
+ )
+ 
+ 724 
+ ¬g
+ [1].
+ ¬g_æags
+  |ð
+ AF_ARYOK
+ ;
+ 
+ 726 ià(
+ ¬g1
+ ->
+ ¬g_ty³
+  =ð
+ O_ASLICE
+ ) {
+ 
+ 727 
+ ¬g1
+ ->
+ ¬g_ty³
+  = 
+ O_LASLICE
+ ;
+ 
+ 728 ià(
+ ¬g
+ ->
+ ¬g_ty³
+  =ð
+ O_ASSIGN
+ ) {
+ 
+ 729 
+ 	`dehoi¡
+ (
+ ¬g
+ ,2);
+ 
+ 730 
+ ¬g
+ [1].
+ ¬g_æags
+  |ð
+ AF_ARYOK
+ ;
+ 
+ 731 
+ ¬g
+ [2].
+ ¬g_æags
+  |ð
+ AF_ARYOK
+ ;
+ 
+ 734 ià(
+ ¬g1
+ ->
+ ¬g_ty³
+  =ð
+ O_HSLICE
+ ) {
+ 
+ 735 
+ ¬g1
+ ->
+ ¬g_ty³
+  = 
+ O_LHSLICE
+ ;
+ 
+ 736 ià(
+ ¬g
+ ->
+ ¬g_ty³
+  =ð
+ O_ASSIGN
+ ) {
+ 
+ 737 
+ 	`dehoi¡
+ (
+ ¬g
+ ,2);
+ 
+ 738 
+ ¬g
+ [1].
+ ¬g_æags
+  |ð
+ AF_ARYOK
+ ;
+ 
+ 739 
+ ¬g
+ [2].
+ ¬g_æags
+  |ð
+ AF_ARYOK
+ ;
+ 
+ 742 ià((
+ ¬g
+ ->
+ ¬g_ty³
+  =ð
+ O_DEFINED
+  ||‡rg->¬g_ty³ =ð
+ O_UNDEF
+ ) &&
+ 
+ 743 (
+ ¬g1
+ ->
+ ¬g_ty³
+  =ð(
+ ³¾db
+  ? 
+ O_DBSUBR
+  : 
+ O_SUBR
+ )) ) {
+ 
+ 744 
+ ¬g
+ [1].
+ ¬g_ty³
+  |ð
+ A_DONT
+ ;
+ 
+ 746 ià(
+ ¬g1
+ ->
+ ¬g_ty³
+  =ð
+ O_SUBSTR
+  ||‡rg1->¬g_ty³ =ð
+ O_VEC
+ ) {
+ 
+ 747 ()
+ 	`l
+ (
+ ¬g1
+ );
+ 
+ 748 
+ 	`R’ewc
+ (
+ ¬g1
+ ->
+ ¬g_±r
+ .
+ ¬g_¡r
+ , 1, 
+ l¡ršg
+ , 
+ STR
+ );
+ 
+ 751 ià(
+ ¬g1
+ ->
+ ¬g_ty³
+  =ð
+ O_ASSIGN
+ ) {
+ 
+ 756 ()
+ 	`¥rštf
+ (
+ tok’buf
+ ,
+ 
+ 757 "IÎeg®ƒx´essiÚ (%sèa lv®ue",
+ ÝÇme
+ [
+ ¬g1
+ ->
+ ¬g_ty³
+ ]);
+ 
+ 758 
+ 	`yy”rÜ
+ (
+ tok’buf
+ );
+ 
+ 760 
+ ¬g
+ [1].
+ ¬g_ty³
+  = 
+ A_LEXPR
+  | (¬g[1].¬g_ty³ & 
+ A_DONT
+ );
+ 
+ 761 ià(
+ ¬g
+ ->
+ ¬g_ty³
+  =ð
+ O_ASSIGN
+  && (
+ ¬g1
+ [1].
+ ¬g_æags
+  & 
+ AF_ARYOK
+ )) {
+ 
+ 762 
+ ¬g
+ [1].
+ ¬g_æags
+  |ð
+ AF_ARYOK
+ ;
+ 
+ 763 ià(
+ ¬g
+ ->
+ ¬g_Ën
+  > 1)
+ 
+ 764 
+ ¬g
+ [2].
+ ¬g_æags
+  |ð
+ AF_ARYOK
+ ;
+ 
+ 766 #ifdeà
+ DEBUGGING
+ 
+ 
+ 767 ià(
+ debug
+  & 16)
+ 
+ 768 
+ 	`årštf
+ (
+ ¡d”r
+ ,"lval LEXPR\n");
+ 
+ 770  
+ ¬g
+ ;
+ 
+ 772 ià(
+ i
+  =ð
+ A_STAR
+  || i =ð
+ A_LSTAR
+ ) {
+ 
+ 773 
+ ¬g
+ [1].
+ ¬g_ty³
+  = 
+ A_LSTAR
+  | (¬g[1].¬g_ty³ & 
+ A_DONT
+ );
+ 
+ 774  
+ ¬g
+ ;
+ 
+ 779 ià(
+ i
+  !ð
+ A_STAB
+  && i !ð
+ A_LVAL
+ ) {
+ 
+ 780 ()
+ 	`¥rštf
+ (
+ tok’buf
+ ,
+ 
+ 781 "IÎeg® i‹m (%sèa lv®ue",
+ ¬gÇme
+ [
+ ¬g
+ [1].
+ ¬g_ty³
+ &
+ A_MASK
+ ]);
+ 
+ 782 
+ 	`yy”rÜ
+ (
+ tok’buf
+ );
+ 
+ 784 
+ ¬g
+ [1].
+ ¬g_ty³
+  = 
+ A_LVAL
+  | (¬g[1].¬g_ty³ & 
+ A_DONT
+ );
+ 
+ 785 #ifdeà
+ DEBUGGING
+ 
+ 
+ 786 ià(
+ debug
+  & 16)
+ 
+ 787 
+ 	`årštf
+ (
+ ¡d”r
+ ,"lval LVAL\n");
+ 
+ 789  
+ ¬g
+ ;
+ 
+ 790 
+ 	}
+ }
+ 
+ 792 
+ ARG
+  *
+ 
+ 793 
+ 	$fixl
+ (
+ ty³
+ ,
+ ¬g
+ )
+ 
+ 794 
+ ty³
+ ;
+ 
+ 795 
+ ARG
+  *
+ ¬g
+ ;
+ 
+ 797 ià(
+ ty³
+  =ð
+ O_DEFINED
+  ||y³ =ð
+ O_UNDEF
+ ) {
+ 
+ 798 ià(
+ ¬g
+ ->
+ ¬g_ty³
+  !ð
+ O_ITEM
+ )
+ 
+ 799 
+ ¬g
+  = 
+ 	`hide_¬y
+ (arg);
+ 
+ 800 ià(
+ ¬g
+ ->
+ ¬g_ty³
+  =ð
+ O_ITEM
+ ) {
+ 
+ 801 
+ ty³
+  = 
+ ¬g
+ [1].
+ ¬g_ty³
+  & 
+ A_MASK
+ ;
+ 
+ 802 ià(
+ ty³
+  =ð
+ A_EXPR
+  ||y³ =ð
+ A_LEXPR
+ )
+ 
+ 803 
+ ¬g
+ [1].
+ ¬g_ty³
+  = 
+ A_LEXPR
+ |
+ A_DONT
+ ;
+ 
+ 806  
+ ¬g
+ ;
+ 
+ 807 
+ 	}
+ }
+ 
+ 809 
+ 	$dehoi¡
+ (
+ ¬g
+ ,
+ i
+ )
+ 
+ 810 
+ ARG
+  *
+ ¬g
+ ;
+ 
+ 812 
+ ARG
+  *
+ tm·rg
+ ;
+ 
+ 814 ià(
+ ¬g
+ [
+ i
+ ].
+ ¬g_ty³
+  !ð
+ A_EXPR
+ ) {
+ 
+ 815 
+ tm·rg
+  = 
+ 	`make_Ý
+ (
+ O_ITEM
+ ,1,
+ Nuάg
+ ,Nullarg,Nullarg);
+ 
+ 816 
+ tm·rg
+ [1] = 
+ ¬g
+ [
+ i
+ ];
+ 
+ 817 
+ ¬g
+ [
+ i
+ ].
+ ¬g_±r
+ .
+ ¬g_¬g
+  = 
+ tm·rg
+ ;
+ 
+ 818 
+ ¬g
+ [
+ i
+ ].
+ ¬g_ty³
+  = 
+ A_EXPR
+ ;
+ 
+ 820 
+ 	}
+ }
+ 
+ 822 
+ ARG
+  *
+ 
+ 823 
+ 	$addæags
+ (
+ i
+ ,
+ æags
+ ,
+ ¬g
+ )
+ 
+ 824 
+ ARG
+  *
+ ¬g
+ ;
+ 
+ 826 
+ ¬g
+ [
+ i
+ ].
+ ¬g_æags
+  |ð
+ æags
+ ;
+ 
+ 827  
+ ¬g
+ ;
+ 
+ 828 
+ 	}
+ }
+ 
+ 830 
+ ARG
+  *
+ 
+ 831 
+ 	$hide_¬y
+ (
+ ¬g
+ )
+ 
+ 832 
+ ARG
+  *
+ ¬g
+ ;
+ 
+ 834 ià(
+ ¬g
+ ->
+ ¬g_ty³
+  =ð
+ O_ARRAY
+  ||‡rg->¬g_ty³ =ð
+ O_HASH
+ )
+ 
+ 835  
+ 	`make_Ý
+ (
+ O_ITEM
+ ,1,
+ ¬g
+ ,
+ Nuάg
+ ,Nullarg);
+ 
+ 836  
+ ¬g
+ ;
+ 
+ 837 
+ 	}
+ }
+ 
+ 841 
+ ARG
+  *
+ 
+ 842 
+ 	$jmaybe
+ (
+ ¬g
+ )
+ 
+ 843 
+ ARG
+  *
+ ¬g
+ ;
+ 
+ 845 ià(
+ ¬g
+  &&‡rg->
+ ¬g_ty³
+  =ð
+ O_COMMA
+ ) {
+ 
+ 846 
+ ¬g
+  = 
+ 	`li¡ish
+ (arg);
+ 
+ 847 
+ ¬g
+  = 
+ 	`make_Ý
+ (
+ O_JOIN
+ , 2,
+ 
+ 848 
+ 	`¡ab2¬g
+ (
+ A_STAB
+ ,
+ 	`¡ab’t
+ (";",
+ TRUE
+ )),
+ 
+ 849 
+ 	`make_li¡
+ (
+ ¬g
+ ),
+ 
+ 850 
+ Nuάg
+ );
+ 
+ 852  
+ ¬g
+ ;
+ 
+ 853 
+ 	}
+ }
+ 
+ 855 
+ ARG
+  *
+ 
+ 856 
+ 	$make_li¡
+ (
+ ¬g
+ )
+ 
+ 857 
+ ARG
+  *
+ ¬g
+ ;
+ 
+ 859 
+ i
+ ;
+ 
+ 860 
+ ARG
+  *
+ node
+ ;
+ 
+ 861 
+ ARG
+  *
+ nxŠode
+ ;
+ 
+ 862 
+ j
+ ;
+ 
+ 863 
+ STR
+  *
+ tmp¡r
+ ;
+ 
+ 865 ià(!
+ ¬g
+ ) {
+ 
+ 866 
+ ¬g
+  = 
+ 	`Ý_Ãw
+ (0);
+ 
+ 867 
+ ¬g
+ ->
+ ¬g_ty³
+  = 
+ O_LIST
+ ;
+ 
+ 869 ià(
+ ¬g
+ ->
+ ¬g_ty³
+  !ð
+ O_COMMA
+ ) {
+ 
+ 870 ià(
+ ¬g
+ ->
+ ¬g_ty³
+  !ð
+ O_ARRAY
+ )
+ 
+ 871 
+ ¬g
+ ->
+ ¬g_æags
+  |ð
+ AF_LISTISH
+ ;
+ 
+ 872 
+ ¬g
+ ->
+ ¬g_æags
+  |ð
+ AF_LISTISH
+ ;
+ 
+ 873  
+ ¬g
+ ;
+ 
+ 875 
+ i
+  = 2, 
+ node
+  = 
+ ¬g
+ ; ; i++) {
+ 
+ 876 ià(
+ node
+ ->
+ ¬g_Ën
+  < 2)
+ 
+ 878 ià(
+ node
+ [1].
+ ¬g_ty³
+  !ð
+ A_EXPR
+ )
+ 
+ 880 
+ node
+  =‚ode[1].
+ ¬g_±r
+ .
+ ¬g_¬g
+ ;
+ 
+ 881 ià(
+ node
+ ->
+ ¬g_ty³
+  !ð
+ O_COMMA
+ )
+ 
+ 884 ià(
+ i
+  > 2) {
+ 
+ 885 
+ node
+  = 
+ ¬g
+ ;
+ 
+ 886 
+ ¬g
+  = 
+ 	`Ý_Ãw
+ (
+ i
+ );
+ 
+ 887 
+ tmp¡r
+  = 
+ ¬g
+ ->
+ ¬g_±r
+ .
+ ¬g_¡r
+ ;
+ 
+ 888 #ifdeà
+ STRUCTCOPY
+ 
+ 
+ 889 *
+ ¬g
+  = *
+ node
+ ;
+ 
+ 891 ()
+ 	`bcÝy
+ ((*)
+ node
+ , (*)
+ ¬g
+ , (
+ ARG
+ ));
+ 
+ 893 
+ ¬g
+ ->
+ ¬g_±r
+ .
+ ¬g_¡r
+  = 
+ tmp¡r
+ ;
+ 
+ 894 
+ j
+  = 
+ i
+ ; ; ) {
+ 
+ 895 #ifdeà
+ STRUCTCOPY
+ 
+ 
+ 896 
+ ¬g
+ [
+ j
+ ] = 
+ node
+ [2];
+ 
+ 898 ()
+ 	`bcÝy
+ ((*)(
+ node
+ +2), (*)(
+ ¬g
+ +
+ j
+ ), (
+ ARG
+ ));
+ 
+ 900 
+ ¬g
+ [
+ j
+ ].
+ ¬g_æags
+  |ð
+ AF_ARYOK
+ ;
+ 
+ 901 --
+ j
+ ;
+ 
+ 902 ià(
+ j
+  < 2) {
+ 
+ 903 #ifdeà
+ STRUCTCOPY
+ 
+ 
+ 904 
+ ¬g
+ [1] = 
+ node
+ [1];
+ 
+ 906 ()
+ 	`bcÝy
+ ((*)(
+ node
+ +1), (*)(
+ ¬g
+ +1), (
+ ARG
+ ));
+ 
+ 908 
+ 	`ä“_¬g
+ (
+ node
+ );
+ 
+ 911 
+ nxŠode
+  = 
+ node
+ [1].
+ ¬g_±r
+ .
+ ¬g_¬g
+ ;
+ 
+ 912 
+ 	`ä“_¬g
+ (
+ node
+ );
+ 
+ 913 
+ node
+  = 
+ nxŠode
+ ;
+ 
+ 916 
+ ¬g
+ [1].
+ ¬g_æags
+  |ð
+ AF_ARYOK
+ ;
+ 
+ 917 
+ ¬g
+ [2].
+ ¬g_æags
+  |ð
+ AF_ARYOK
+ ;
+ 
+ 918 
+ ¬g
+ ->
+ ¬g_ty³
+  = 
+ O_LIST
+ ;
+ 
+ 919 
+ ¬g
+ ->
+ ¬g_Ën
+  = 
+ i
+ ;
+ 
+ 920  
+ ¬g
+ ;
+ 
+ 921 
+ 	}
+ }
+ 
+ 925 
+ ARG
+  *
+ 
+ 926 
+ 	$li¡ish
+ (
+ ¬g
+ )
+ 
+ 927 
+ ARG
+  *
+ ¬g
+ ;
+ 
+ 929 ià(
+ ¬g
+ ->
+ ¬g_æags
+  & 
+ AF_LISTISH
+ )
+ 
+ 930 
+ ¬g
+  = 
+ 	`make_Ý
+ (
+ O_LIST
+ ,1,¬g,
+ Nuάg
+ ,Nullarg);
+ 
+ 931  
+ ¬g
+ ;
+ 
+ 932 
+ 	}
+ }
+ 
+ 934 
+ ARG
+  *
+ 
+ 935 
+ 	$mayb–i¡ish
+ (
+ Ýty³
+ , 
+ ¬g
+ )
+ 
+ 936 
+ Ýty³
+ ;
+ 
+ 937 
+ ARG
+  *
+ ¬g
+ ;
+ 
+ 939 
+ ARG
+  *
+ tm·rg
+  = 
+ ¬g
+ ;
+ 
+ 941 ià(
+ Ýty³
+  =ð
+ O_RETURN
+  && 
+ ¬g
+ ->
+ ¬g_ty³
+  =ð
+ O_ITEM
+  &&
+ 
+ 942 
+ ¬g
+ [1].
+ ¬g_ty³
+  =ð
+ A_EXPR
+  && (
+ tm·rg
+  =‡rg[1].
+ ¬g_±r
+ .
+ ¬g_¬g
+ ) &&
+ 
+ 943 ((
+ tm·rg
+ ->
+ ¬g_æags
+  & 
+ AF_LISTISH
+ è|| (tm·rg->
+ ¬g_ty³
+  =ð
+ O_ARRAY
+ ) )) {
+ 
+ 944 
+ tm·rg
+  = 
+ 	`li¡ish
+ (tmparg);
+ 
+ 945 
+ 	`ä“_¬g
+ (
+ ¬g
+ );
+ 
+ 946 
+ ¬g
+  = 
+ tm·rg
+ ;
+ 
+ 948 ià(
+ Ýty³
+  =ð
+ O_PRTF
+  ||
+ 
+ 949 (
+ ¬g
+ ->
+ ¬g_ty³
+  =ð
+ O_ASLICE
+  ||‡rg->¬g_ty³ =ð
+ O_HSLICE
+  ||
+ 
+ 950 
+ ¬g
+ ->
+ ¬g_ty³
+  =ð
+ O_F_OR_R
+ ) )
+ 
+ 951 
+ ¬g
+  = 
+ 	`li¡ish
+ (arg);
+ 
+ 952  
+ ¬g
+ ;
+ 
+ 953 
+ 	}
+ }
+ 
+ 957 
+ ARG
+  *
+ 
+ 958 
+ 	$loÿlize
+ (
+ ¬g
+ )
+ 
+ 959 
+ ARG
+  *
+ ¬g
+ ;
+ 
+ 961 
+ ¬g
+ ->
+ ¬g_æags
+  |ð
+ AF_LOCAL
+ ;
+ 
+ 962  
+ ¬g
+ ;
+ 
+ 963 
+ 	}
+ }
+ 
+ 965 
+ ARG
+  *
+ 
+ 966 
+ 	$rÿtmaybe
+ (
+ ¬g
+ )
+ 
+ 967 
+ ARG
+  *
+ ¬g
+ ;
+ 
+ 969 
+ ARG
+  *
+ ¬g2
+ ;
+ 
+ 971 ià(
+ ¬g
+ ->
+ ¬g_ty³
+  =ð
+ O_CONCAT
+  &&‡rg[2].¬g_ty³ =ð
+ A_EXPR
+ ) {
+ 
+ 972 
+ ¬g2
+  = 
+ ¬g
+ [2].
+ ¬g_±r
+ .
+ ¬g_¬g
+ ;
+ 
+ 973 ià(
+ ¬g2
+ ->
+ ¬g_ty³
+  =ð
+ O_ITEM
+  &&‡rg2[1].¬g_ty³ =ð
+ A_READ
+ ) {
+ 
+ 974 
+ ¬g
+ ->
+ ¬g_ty³
+  = 
+ O_RCAT
+ ;
+ 
+ 975 
+ ¬g
+ [2].
+ ¬g_ty³
+  = 
+ ¬g2
+ [1].arg_type;
+ 
+ 976 
+ ¬g
+ [2].
+ ¬g_±r
+  = 
+ ¬g2
+ [1].arg_ptr;
+ 
+ 977 
+ 	`ä“_¬g
+ (
+ ¬g2
+ );
+ 
+ 980  
+ ¬g
+ ;
+ 
+ 981 
+ 	}
+ }
+ 
+ 983 
+ ARG
+  *
+ 
+ 984 
+ 	$¡ab2¬g
+ (
+ ©y³
+ ,
+ ¡ab
+ )
+ 
+ 985 
+ ©y³
+ ;
+ 
+ 986 
+ STAB
+  *
+ ¡ab
+ ;
+ 
+ 988 
+ ARG
+  *
+ ¬g
+ ;
+ 
+ 990 
+ ¬g
+  = 
+ 	`Ý_Ãw
+ (1);
+ 
+ 991 
+ ¬g
+ ->
+ ¬g_ty³
+  = 
+ O_ITEM
+ ;
+ 
+ 992 
+ ¬g
+ [1].
+ ¬g_ty³
+  = 
+ ©y³
+ ;
+ 
+ 993 
+ ¬g
+ [1].
+ ¬g_±r
+ .
+ ¬g_¡ab
+  = 
+ ¡ab
+ ;
+ 
+ 994  
+ ¬g
+ ;
+ 
+ 995 
+ 	}
+ }
+ 
+ 997 
+ ARG
+  *
+ 
+ 998 
+ 	$cv®_to_¬g
+ (
+ cv®
+ )
+ 
+ 999 *
+ cv®
+ ;
+ 
+ 1001 
+ ARG
+  *
+ ¬g
+ ;
+ 
+ 1003 
+ ¬g
+  = 
+ 	`Ý_Ãw
+ (1);
+ 
+ 1004 
+ ¬g
+ ->
+ ¬g_ty³
+  = 
+ O_ITEM
+ ;
+ 
+ 1005 
+ ¬g
+ [1].
+ ¬g_ty³
+  = 
+ A_SINGLE
+ ;
+ 
+ 1006 
+ ¬g
+ [1].
+ ¬g_±r
+ .
+ ¬g_¡r
+  = 
+ 	`¡r_make
+ (
+ cv®
+ ,0);
+ 
+ 1007 
+ 	`Saãä“
+ (
+ cv®
+ );
+ 
+ 1008  
+ ¬g
+ ;
+ 
+ 1009 
+ 	}
+ }
+ 
+ 1011 
+ ARG
+  *
+ 
+ 1012 
+ 	$Ý_Ãw
+ (
+ num¬gs
+ )
+ 
+ 1013 
+ num¬gs
+ ;
+ 
+ 1015 
+ ARG
+  *
+ ¬g
+ ;
+ 
+ 1017 
+ 	`Newz
+ (203,
+ ¬g
+ , 
+ num¬gs
+  + 1, 
+ ARG
+ );
+ 
+ 1018 
+ ¬g
+ ->
+ ¬g_±r
+ .
+ ¬g_¡r
+  = 
+ 	`SŒ_Ãw
+ (21,0);
+ 
+ 1019 
+ ¬g
+ ->
+ ¬g_Ën
+  = 
+ num¬gs
+ ;
+ 
+ 1020  
+ ¬g
+ ;
+ 
+ 1021 
+ 	}
+ }
+ 
+ 1024 
+ 	$ä“_¬g
+ (
+ ¬g
+ )
+ 
+ 1025 
+ ARG
+  *
+ ¬g
+ ;
+ 
+ 1027 
+ 	`¡r_ä“
+ (
+ ¬g
+ ->
+ ¬g_±r
+ .
+ ¬g_¡r
+ );
+ 
+ 1028 
+ 	`Saãä“
+ (
+ ¬g
+ );
+ 
+ 1029 
+ 	}
+ }
+ 
+ 1031 
+ ARG
+  *
+ 
+ 1032 
+ 	$make_m©ch
+ (
+ ty³
+ ,
+ ex´
+ ,
+ ¥©
+ )
+ 
+ 1033 
+ ty³
+ ;
+ 
+ 1034 
+ ARG
+  *
+ ex´
+ ;
+ 
+ 1035 
+ SPAT
+  *
+ ¥©
+ ;
+ 
+ 1037 
+ ARG
+  *
+ ¬g
+ ;
+ 
+ 1039 
+ ¬g
+  = 
+ 	`make_Ý
+ (
+ ty³
+ ,2,
+ ex´
+ ,
+ Nuάg
+ ,Nullarg);
+ 
+ 1041 
+ ¬g
+ [2].
+ ¬g_ty³
+  = 
+ A_SPAT
+ |
+ A_DONT
+ ;
+ 
+ 1042 
+ ¬g
+ [2].
+ ¬g_±r
+ .
+ ¬g_¥©
+  = 
+ ¥©
+ ;
+ 
+ 1043 #ifdeà
+ DEBUGGING
+ 
+ 
+ 1044 ià(
+ debug
+  & 16)
+ 
+ 1045 
+ 	`årštf
+ (
+ ¡d”r
+ ,"make_m©ch SPAT=%lx\n",()
+ ¥©
+ );
+ 
+ 1048 ià(
+ ty³
+  =ð
+ O_SUBST
+  ||y³ =ð
+ O_NSUBST
+ ) {
+ 
+ 1049 ià(
+ ¬g
+ [1].
+ ¬g_ty³
+  !ð
+ A_STAB
+ ) {
+ 
+ 1050 
+ 	`yy”rÜ
+ ("Illegal†value");
+ 
+ 1052 
+ ¬g
+ [1].
+ ¬g_ty³
+  = 
+ A_LVAL
+ ;
+ 
+ 1054  
+ ¬g
+ ;
+ 
+ 1055 
+ 	}
+ }
+ 
+ 1057 
+ ARG
+  *
+ 
+ 1058 
+ 	$cmd_to_¬g
+ (
+ cmd
+ )
+ 
+ 1059 
+ CMD
+  *
+ cmd
+ ;
+ 
+ 1061 
+ ARG
+  *
+ ¬g
+ ;
+ 
+ 1063 
+ ¬g
+  = 
+ 	`Ý_Ãw
+ (1);
+ 
+ 1064 
+ ¬g
+ ->
+ ¬g_ty³
+  = 
+ O_ITEM
+ ;
+ 
+ 1065 
+ ¬g
+ [1].
+ ¬g_ty³
+  = 
+ A_CMD
+ ;
+ 
+ 1066 
+ ¬g
+ [1].
+ ¬g_±r
+ .
+ ¬g_cmd
+  = 
+ cmd
+ ;
+ 
+ 1067  
+ ¬g
+ ;
+ 
+ 1068 
+ 	}
+ }
+ 
+ 1073 
+ 	$nÙhšg_š_commÚ
+ (
+ ¬g1
+ ,
+ ¬g2
+ )
+ 
+ 1074 
+ ARG
+  *
+ ¬g1
+ ;
+ 
+ 1075 
+ ARG
+  *
+ ¬g2
+ ;
+ 
+ 1077 
+ thi£x´
+  = 0;
+ 
+ 1079 
+ thi£x´
+ ++;
+ 
+ 1080 ià(
+ 	`¬g_commÚ
+ (
+ ¬g1
+ ,
+ thi£x´
+ ,1))
+ 
+ 1082 
+ 	`¡ab_Ï¡ex´
+ (
+ def¡ab
+ èð
+ thi£x´
+ ;
+ 
+ 1083 ià(
+ 	`¬g_commÚ
+ (
+ ¬g2
+ ,
+ thi£x´
+ ,0))
+ 
+ 1086 
+ 	}
+ }
+ 
+ 1093 
+ 	$¬g_commÚ
+ (
+ ¬g
+ ,
+ ex´num
+ ,
+ m¬kšg
+ )
+ 
+ 1094 
+ ARG
+  *
+ ¬g
+ ;
+ 
+ 1095 
+ ex´num
+ ;
+ 
+ 1096 
+ m¬kšg
+ ;
+ 
+ 1098 
+ i
+ ;
+ 
+ 1100 ià(!
+ ¬g
+ )
+ 
+ 1102 
+ i
+  = 
+ ¬g
+ ->
+ ¬g_Ën
+ ; i >= 1; i--) {
+ 
+ 1103 
+ ¬g
+ [
+ i
+ ].
+ ¬g_ty³
+  & 
+ A_MASK
+ ) {
+ 
+ 1104 
+ A_NULL
+ :
+ 
+ 1106 
+ A_LEXPR
+ :
+ 
+ 1107 
+ A_EXPR
+ :
+ 
+ 1108 ià(
+ 	`¬g_commÚ
+ (
+ ¬g
+ [
+ i
+ ].
+ ¬g_±r
+ .
+ ¬g_¬g
+ ,
+ ex´num
+ ,
+ m¬kšg
+ ))
+ 
+ 1111 
+ A_CMD
+ :
+ 
+ 1113 
+ A_STAR
+ :
+ 
+ 1114 
+ A_LSTAR
+ :
+ 
+ 1115 
+ A_STAB
+ :
+ 
+ 1116 
+ A_LVAL
+ :
+ 
+ 1117 
+ A_ARYLEN
+ :
+ 
+ 1118 
+ A_LARYLEN
+ :
+ 
+ 1119 ià(
+ m¬kšg
+ )
+ 
+ 1120 
+ 	`¡ab_Ï¡ex´
+ (
+ ¬g
+ [
+ i
+ ].
+ ¬g_±r
+ .
+ ¬g_¡ab
+ èð
+ ex´num
+ ;
+ 
+ 1121 ià(
+ 	`¡ab_Ï¡ex´
+ (
+ ¬g
+ [
+ i
+ ].
+ ¬g_±r
+ .
+ ¬g_¡ab
+ è=ð
+ ex´num
+ )
+ 
+ 1124 
+ A_DOUBLE
+ :
+ 
+ 1125 
+ A_BACKTICK
+ :
+ 
+ 1127 *
+ s
+  = 
+ ¬g
+ [
+ i
+ ].
+ ¬g_±r
+ .
+ ¬g_¡r
+ ->
+ ¡r_±r
+ ;
+ 
+ 1128 *
+ £nd
+  = 
+ s
+  + 
+ ¬g
+ [
+ i
+ ].
+ ¬g_±r
+ .
+ ¬g_¡r
+ ->
+ ¡r_cur
+ ;
+ 
+ 1129 
+ STAB
+  *
+ ¡ab
+ ;
+ 
+ 1131 *
+ s
+ ) {
+ 
+ 1132 ià(*
+ s
+  == '$' && s[1]) {
+ 
+ 1133 
+ s
+  = 
+ 	`sÿnid’t
+ (s,
+ £nd
+ ,
+ tok’buf
+ );
+ 
+ 1134 
+ ¡ab
+  = 
+ 	`¡ab’t
+ (
+ tok’buf
+ ,
+ TRUE
+ );
+ 
+ 1135 ià(
+ m¬kšg
+ )
+ 
+ 1136 
+ 	`¡ab_Ï¡ex´
+ (
+ ¡ab
+ èð
+ ex´num
+ ;
+ 
+ 1137 ià(
+ 	`¡ab_Ï¡ex´
+ (
+ ¡ab
+ è=ð
+ ex´num
+ )
+ 
+ 1141 ià(*
+ s
+  == '\\' && s[1])
+ 
+ 1142 
+ s
+ ++;
+ 
+ 1143 
+ s
+ ++;
+ 
+ 1147 
+ A_SPAT
+ :
+ 
+ 1148 ià(
+ 	`¥©_commÚ
+ (
+ ¬g
+ [
+ i
+ ].
+ ¬g_±r
+ .
+ ¬g_¥©
+ ,
+ ex´num
+ ,
+ m¬kšg
+ ))
+ 
+ 1151 
+ A_READ
+ :
+ 
+ 1152 
+ A_INDREAD
+ :
+ 
+ 1153 
+ A_GLOB
+ :
+ 
+ 1154 
+ A_WORD
+ :
+ 
+ 1155 
+ A_SINGLE
+ :
+ 
+ 1159 
+ ¬g
+ ->
+ ¬g_ty³
+ ) {
+ 
+ 1160 
+ O_ARRAY
+ :
+ 
+ 1161 
+ O_LARRAY
+ :
+ 
+ 1162 ià((
+ ¬g
+ [1].
+ ¬g_ty³
+  & 
+ A_MASK
+ è=ð
+ A_STAB
+ )
+ 
+ 1163 ()
+ 	`¯dd
+ (
+ ¬g
+ [1].
+ ¬g_±r
+ .
+ ¬g_¡ab
+ );
+ 
+ 1165 
+ O_HASH
+ :
+ 
+ 1166 
+ O_LHASH
+ :
+ 
+ 1167 ià((
+ ¬g
+ [1].
+ ¬g_ty³
+  & 
+ A_MASK
+ è=ð
+ A_STAB
+ )
+ 
+ 1168 ()
+ 	`hadd
+ (
+ ¬g
+ [1].
+ ¬g_±r
+ .
+ ¬g_¡ab
+ );
+ 
+ 1170 
+ O_EVAL
+ :
+ 
+ 1171 
+ O_SUBR
+ :
+ 
+ 1172 
+ O_DBSUBR
+ :
+ 
+ 1176 
+ 	}
+ }
+ 
+ 1179 
+ 	$¥©_commÚ
+ (
+ ¥©
+ ,
+ ex´num
+ ,
+ m¬kšg
+ )
+ 
+ 1180 
+ SPAT
+  *
+ ¥©
+ ;
+ 
+ 1181 
+ ex´num
+ ;
+ 
+ 1182 
+ m¬kšg
+ ;
+ 
+ 1184 ià(
+ ¥©
+ ->
+ ¥©_ruÁime
+ )
+ 
+ 1185 ià(
+ 	`¬g_commÚ
+ (
+ ¥©
+ ->
+ ¥©_ruÁime
+ ,
+ ex´num
+ ,
+ m¬kšg
+ ))
+ 
+ 1187 ià(
+ ¥©
+ ->
+ ¥©_»¶
+ ) {
+ 
+ 1188 ià(
+ 	`¬g_commÚ
+ (
+ ¥©
+ ->
+ ¥©_»¶
+ ,
+ ex´num
+ ,
+ m¬kšg
+ ))
+ 
+ 1192 
+ 	}
+ }
+ 
+ 	@doarg.c
+ 
+ 18 
+ 	~"EXTERN.h
+ "
+ 
+ 19 
+ 	~"³¾.h
+ "
+ 
+ 21 #ià!
+ defšed
+ (
+ NSIG
+ è|| defšed(
+ M_UNIX
+ è|| defšed(
+ M_XENIX
+ )
+ 
+ 22 
+ 	~<sigÇl.h
+ >
+ 
+ 25 

+ fÞd
+ [];
+ 
+ 27 #ifdeà
+ BUGGY_MSC
+ 
+ 
+ 28 #´agm¨
+ funùiÚ
+ (
+ memcmp
+ )
+ 
+ 32 
+ 	$do_sub¡
+ (
+ ¡r
+ ,
+ ¬g
+ ,
+ ¥
+ )
+ 
+ 33 
+ STR
+  *
+ ¡r
+ ;
+ 
+ 34 
+ ARG
+  *
+ ¬g
+ ;
+ 
+ 35 
+ ¥
+ ;
+ 
+ 37 
+ SPAT
+  *
+ ¥©
+ ;
+ 
+ 38 
+ SPAT
+  *
+ r¥©
+ ;
+ 
+ 39 
+ STR
+  *
+ d¡r
+ ;
+ 
+ 40 *
+ s
+  = 
+ 	`¡r_g‘
+ (
+ ¡r
+ );
+ 
+ 41 *
+ ¡»nd
+  = 
+ s
+  + 
+ ¡r
+ ->
+ ¡r_cur
+ ;
+ 
+ 42 *
+ m
+ ;
+ 
+ 43 *
+ c
+ ;
+ 
+ 44 *
+ d
+ ;
+ 
+ 45 
+ þ’
+ ;
+ 
+ 46 
+ ™”s
+  = 0;
+ 
+ 47 
+ max™”s
+  = (
+ ¡»nd
+  - 
+ s
+ ) + 10;
+ 
+ 48 
+ i
+ ;
+ 
+ 49 
+ boÞ
+  
+ Úû
+ ;
+ 
+ 50 *
+ Üig
+ ;
+ 
+ 51 
+ §ãba£
+ ;
+ 
+ 53 
+ r¥©
+  = 
+ ¥©
+  = 
+ ¬g
+ [2].
+ ¬g_±r
+ .
+ ¬g_¥©
+ ;
+ 
+ 54 ià(!
+ ¥©
+  || !
+ s
+ )
+ 
+ 55 
+ 	`çl
+ ("panic: do_subst");
+ 
+ 56 ià(
+ ¥©
+ ->
+ ¥©_ruÁime
+ ) {
+ 
+ 57 
+ nošŒp
+  = "|)";
+ 
+ 58 ()
+ 	`ev®
+ (
+ ¥©
+ ->
+ ¥©_ruÁime
+ ,
+ G_SCALAR
+ ,
+ ¥
+ );
+ 
+ 59 
+ m
+  = 
+ 	`¡r_g‘
+ (
+ d¡r
+  = 
+ ¡ack
+ ->
+ ¬y_¬¿y
+ [
+ ¥
+ +1]);
+ 
+ 60 
+ nošŒp
+  = "";
+ 
+ 61 ià(
+ ¥©
+ ->
+ ¥©_»gexp
+ ) {
+ 
+ 62 
+ 	`»gä“
+ (
+ ¥©
+ ->
+ ¥©_»gexp
+ );
+ 
+ 63 
+ ¥©
+ ->
+ ¥©_»gexp
+  = 
+ 	`NuÎ
+ (
+ REGEXP
+ *);
+ 
+ 65 
+ ¥©
+ ->
+ ¥©_»gexp
+  = 
+ 	`»gcomp
+ (
+ m
+ ,m+
+ d¡r
+ ->
+ ¡r_cur
+ ,
+ 
+ 66 
+ ¥©
+ ->
+ ¥©_æags
+  & 
+ SPAT_FOLD
+ );
+ 
+ 67 ià(
+ ¥©
+ ->
+ ¥©_æags
+  & 
+ SPAT_KEEP
+ ) {
+ 
+ 68 
+ 	`¬g_ä“
+ (
+ ¥©
+ ->
+ ¥©_ruÁime
+ );
+ 
+ 69 
+ ¥©
+ ->
+ ¥©_ruÁime
+  = 
+ Nuάg
+ ;
+ 
+ 72 #ifdeà
+ DEBUGGING
+ 
+ 
+ 73 ià(
+ debug
+  & 8) {
+ 
+ 74 
+ 	`deb
+ ("2.SPAT /%s/\n",
+ ¥©
+ ->
+ ¥©_»gexp
+ ->
+ ´ecomp
+ );
+ 
+ 77 
+ §ãba£
+  = ((!
+ ¥©
+ ->
+ ¥©_»gexp
+  || !¥©->¥©_»gexp->
+ Ŭ’s
+ ) &&
+ 
+ 78 !
+ §wam³r§nd
+ );
+ 
+ 79 ià(!*
+ ¥©
+ ->
+ ¥©_»gexp
+ ->
+ ´ecomp
+  && 
+ Ï¡¥©
+ )
+ 
+ 80 
+ ¥©
+  = 
+ Ï¡¥©
+ ;
+ 
+ 81 
+ Üig
+  = 
+ m
+  = 
+ s
+ ;
+ 
+ 82 ià(
+ hšt
+ ) {
+ 
+ 83 ià(
+ hšt
+  < 
+ s
+  || hšˆ> 
+ ¡»nd
+ )
+ 
+ 84 
+ 	`çl
+ ("panic: hint in do_match");
+ 
+ 85 
+ s
+  = 
+ hšt
+ ;
+ 
+ 86 
+ hšt
+  = 
+ NuÎch
+ ;
+ 
+ 87 ià(
+ ¥©
+ ->
+ ¥©_»gexp
+ ->
+ »gback
+  >= 0) {
+ 
+ 88 
+ s
+  -ð
+ ¥©
+ ->
+ ¥©_»gexp
+ ->
+ »gback
+ ;
+ 
+ 89 ià(
+ s
+  < 
+ m
+ )
+ 
+ 90 
+ s
+  = 
+ m
+ ;
+ 
+ 93 
+ s
+  = 
+ m
+ ;
+ 
+ 95 ià(
+ ¥©
+ ->
+ ¥©_shÜt
+ ) {
+ 
+ 96 ià(
+ ¥©
+ ->
+ ¥©_æags
+  & 
+ SPAT_SCANFIRST
+ ) {
+ 
+ 97 ià(
+ ¡r
+ ->
+ ¡r_pok
+  & 
+ SP_STUDIED
+ ) {
+ 
+ 98 ià(
+ sü—mfœ¡
+ [
+ ¥©
+ ->
+ ¥©_shÜt
+ ->
+ ¡r_¿»
+ ] < 0)
+ 
+ 99 
+ nÝe
+ ;
+ 
+ 100 ià(!(
+ s
+  = 
+ 	`sü—mš¡r
+ (
+ ¡r
+ ,
+ ¥©
+ ->
+ ¥©_shÜt
+ )))
+ 
+ 101 
+ nÝe
+ ;
+ 
+ 103 #iâdeà
+ lšt
+ 
+ 
+ 104 ià(!(
+ s
+  = 
+ 	`fbmš¡r
+ ((*)s, (*)
+ ¡»nd
+ ,
+ 
+ 105 
+ ¥©
+ ->
+ ¥©_shÜt
+ )))
+ 
+ 106 
+ nÝe
+ ;
+ 
+ 108 ià(
+ s
+  && 
+ ¥©
+ ->
+ ¥©_»gexp
+ ->
+ »gback
+  >= 0) {
+ 
+ 109 ++
+ ¥©
+ ->
+ ¥©_shÜt
+ ->
+ ¡r_u
+ .
+ ¡r_u£ful
+ ;
+ 
+ 110 
+ s
+  -ð
+ ¥©
+ ->
+ ¥©_»gexp
+ ->
+ »gback
+ ;
+ 
+ 111 ià(
+ s
+  < 
+ m
+ )
+ 
+ 112 
+ s
+  = 
+ m
+ ;
+ 
+ 115 
+ s
+  = 
+ m
+ ;
+ 
+ 117 ià(!
+ muÉžše
+  && (*
+ ¥©
+ ->
+ ¥©_shÜt
+ ->
+ ¡r_±r
+  !ð*
+ s
+  ||
+ 
+ 118 
+ 	`bcmp
+ (
+ ¥©
+ ->
+ ¥©_shÜt
+ ->
+ ¡r_±r
+ , 
+ s
+ , s·t->
+ ¥©_¦’
+ ) ))
+ 
+ 119 
+ nÝe
+ ;
+ 
+ 120 ià(--
+ ¥©
+ ->
+ ¥©_shÜt
+ ->
+ ¡r_u
+ .
+ ¡r_u£ful
+  < 0) {
+ 
+ 121 
+ 	`¡r_ä“
+ (
+ ¥©
+ ->
+ ¥©_shÜt
+ );
+ 
+ 122 
+ ¥©
+ ->
+ ¥©_shÜt
+  = 
+ NuΡr
+ ;
+ 
+ 125 
+ Úû
+  = ((
+ r¥©
+ ->
+ ¥©_æags
+  & 
+ SPAT_ONCE
+ ) != 0);
+ 
+ 126 ià(
+ r¥©
+ ->
+ ¥©_æags
+  & 
+ SPAT_CONST
+ ) {
+ 
+ 127 ià((
+ r¥©
+ ->
+ ¥©_»¶
+ [1].
+ ¬g_ty³
+  & 
+ A_MASK
+ è=ð
+ A_SINGLE
+ )
+ 
+ 128 
+ d¡r
+  = 
+ r¥©
+ ->
+ ¥©_»¶
+ [1].
+ ¬g_±r
+ .
+ ¬g_¡r
+ ;
+ 
+ 130 ()
+ 	`ev®
+ (
+ r¥©
+ ->
+ ¥©_»¶
+ ,
+ G_SCALAR
+ ,
+ ¥
+ );
+ 
+ 131 
+ d¡r
+  = 
+ ¡ack
+ ->
+ ¬y_¬¿y
+ [
+ ¥
+ +1];
+ 
+ 133 
+ c
+  = 
+ 	`¡r_g‘
+ (
+ d¡r
+ );
+ 
+ 134 
+ þ’
+  = 
+ d¡r
+ ->
+ ¡r_cur
+ ;
+ 
+ 135 ià(
+ þ’
+  <ð
+ ¥©
+ ->
+ ¥©_¦’
+  + ()¥©->
+ ¥©_»gexp
+ ->
+ »gback
+ ) {
+ 
+ 137 ià(
+ 	`»gexec
+ (
+ ¥©
+ ->
+ ¥©_»gexp
+ , 
+ s
+ , 
+ ¡»nd
+ , 
+ Üig
+ , 0,
+ 
+ 138 
+ ¡r
+ ->
+ ¡r_pok
+  & 
+ SP_STUDIED
+  ? sΠ: 
+ NuΡr
+ , 
+ §ãba£
+ )) {
+ 
+ 139 ià(
+ ¥©
+ ->
+ ¥©_»gexp
+ ->
+ subba£
+ )
+ 
+ 140 
+ lÚg_way
+ ;
+ 
+ 141 
+ d
+  = 
+ s
+ ;
+ 
+ 142 
+ Ï¡¥©
+  = 
+ ¥©
+ ;
+ 
+ 143 
+ ¡r
+ ->
+ ¡r_pok
+  = 
+ SP_VALID
+ ;
+ 
+ 144 ià(
+ Úû
+ ) {
+ 
+ 145 
+ m
+  = 
+ ¥©
+ ->
+ ¥©_»gexp
+ ->
+ ¡¬
+ [0];
+ 
+ 146 
+ d
+  = 
+ ¥©
+ ->
+ ¥©_»gexp
+ ->
+ ’dp
+ [0];
+ 
+ 147 
+ s
+  = 
+ Üig
+ ;
+ 
+ 148 ià(
+ m
+  - 
+ s
+  > 
+ ¡»nd
+  - 
+ d
+ ) {
+ 
+ 149 ià(
+ þ’
+ ) {
+ 
+ 150 ()
+ 	`bcÝy
+ (
+ c
+ , 
+ m
+ , 
+ þ’
+ );
+ 
+ 151 
+ m
+  +ð
+ þ’
+ ;
+ 
+ 153 
+ i
+  = 
+ ¡»nd
+  - 
+ d
+ ;
+ 
+ 154 ià(
+ i
+  > 0) {
+ 
+ 155 ()
+ 	`bcÝy
+ (
+ d
+ , 
+ m
+ , 
+ i
+ );
+ 
+ 156 
+ m
+  +ð
+ i
+ ;
+ 
+ 158 *
+ m
+  = '\0';
+ 
+ 159 
+ ¡r
+ ->
+ ¡r_cur
+  = 
+ m
+  - 
+ s
+ ;
+ 
+ 160 
+ 	`STABSET
+ (
+ ¡r
+ );
+ 
+ 161 
+ 	`¡r_num£t
+ (
+ ¬g
+ ->
+ ¬g_±r
+ .
+ ¬g_¡r
+ , 1.0);
+ 
+ 162 
+ ¡ack
+ ->
+ ¬y_¬¿y
+ [++
+ ¥
+ ] = 
+ ¬g
+ ->
+ ¬g_±r
+ .
+ ¬g_¡r
+ ;
+ 
+ 163  
+ ¥
+ ;
+ 
+ 165 ià(
+ i
+  = 
+ m
+  - 
+ s
+ ) {
+ 
+ 166 
+ d
+  -ð
+ þ’
+ ;
+ 
+ 167 
+ m
+  = 
+ d
+ ;
+ 
+ 168 
+ 	`¡r_chÝ
+ (
+ ¡r
+ ,
+ d
+ -
+ i
+ );
+ 
+ 169 
+ s
+  +ð
+ i
+ ;
+ 
+ 170 
+ i
+ --)
+ 
+ 171 *--
+ d
+  = *--
+ s
+ ;
+ 
+ 172 ià(
+ þ’
+ )
+ 
+ 173 ()
+ 	`bcÝy
+ (
+ c
+ , 
+ m
+ , 
+ þ’
+ );
+ 
+ 174 
+ 	`STABSET
+ (
+ ¡r
+ );
+ 
+ 175 
+ 	`¡r_num£t
+ (
+ ¬g
+ ->
+ ¬g_±r
+ .
+ ¬g_¡r
+ , 1.0);
+ 
+ 176 
+ ¡ack
+ ->
+ ¬y_¬¿y
+ [++
+ ¥
+ ] = 
+ ¬g
+ ->
+ ¬g_±r
+ .
+ ¬g_¡r
+ ;
+ 
+ 177  
+ ¥
+ ;
+ 
+ 179 ià(
+ þ’
+ ) {
+ 
+ 180 
+ d
+  -ð
+ þ’
+ ;
+ 
+ 181 
+ 	`¡r_chÝ
+ (
+ ¡r
+ ,
+ d
+ );
+ 
+ 182 ()
+ 	`bcÝy
+ (
+ c
+ ,
+ d
+ ,
+ þ’
+ );
+ 
+ 183 
+ 	`STABSET
+ (
+ ¡r
+ );
+ 
+ 184 
+ 	`¡r_num£t
+ (
+ ¬g
+ ->
+ ¬g_±r
+ .
+ ¬g_¡r
+ , 1.0);
+ 
+ 185 
+ ¡ack
+ ->
+ ¬y_¬¿y
+ [++
+ ¥
+ ] = 
+ ¬g
+ ->
+ ¬g_±r
+ .
+ ¬g_¡r
+ ;
+ 
+ 186  
+ ¥
+ ;
+ 
+ 189 
+ 	`¡r_chÝ
+ (
+ ¡r
+ ,
+ d
+ );
+ 
+ 190 
+ 	`STABSET
+ (
+ ¡r
+ );
+ 
+ 191 
+ 	`¡r_num£t
+ (
+ ¬g
+ ->
+ ¬g_±r
+ .
+ ¬g_¡r
+ , 1.0);
+ 
+ 192 
+ ¡ack
+ ->
+ ¬y_¬¿y
+ [++
+ ¥
+ ] = 
+ ¬g
+ ->
+ ¬g_±r
+ .
+ ¬g_¡r
+ ;
+ 
+ 193  
+ ¥
+ ;
+ 
+ 198 ià(
+ ™”s
+ ++ > 
+ max™”s
+ )
+ 
+ 199 
+ 	`çl
+ ("Substitution†oop");
+ 
+ 200 
+ m
+  = 
+ ¥©
+ ->
+ ¥©_»gexp
+ ->
+ ¡¬
+ [0];
+ 
+ 201 ià(
+ i
+  = 
+ m
+  - 
+ s
+ ) {
+ 
+ 202 ià(
+ s
+  !ð
+ d
+ )
+ 
+ 203 ()
+ 	`bcÝy
+ (
+ s
+ ,
+ d
+ ,
+ i
+ );
+ 
+ 204 
+ d
+  +ð
+ i
+ ;
+ 
+ 206 ià(
+ þ’
+ ) {
+ 
+ 207 ()
+ 	`bcÝy
+ (
+ c
+ ,
+ d
+ ,
+ þ’
+ );
+ 
+ 208 
+ d
+  +ð
+ þ’
+ ;
+ 
+ 210 
+ s
+  = 
+ ¥©
+ ->
+ ¥©_»gexp
+ ->
+ ’dp
+ [0];
+ 
+ 211 } 
+ 	`»gexec
+ (
+ ¥©
+ ->
+ ¥©_»gexp
+ , 
+ s
+ , 
+ ¡»nd
+ , 
+ Üig
+ , s =ð
+ m
+ ,
+ 
+ 212 
+ NuΡr
+ , 
+ TRUE
+ ));
+ 
+ 213 ià(
+ s
+  !ð
+ d
+ ) {
+ 
+ 214 
+ i
+  = 
+ ¡»nd
+  - 
+ s
+ ;
+ 
+ 215 
+ ¡r
+ ->
+ ¡r_cur
+  = 
+ d
+  - sŒ->
+ ¡r_±r
+  + 
+ i
+ ;
+ 
+ 216 ()
+ 	`bcÝy
+ (
+ s
+ ,
+ d
+ ,
+ i
+ +1);
+ 
+ 218 
+ 	`STABSET
+ (
+ ¡r
+ );
+ 
+ 219 
+ 	`¡r_num£t
+ (
+ ¬g
+ ->
+ ¬g_±r
+ .
+ ¬g_¡r
+ , ()
+ ™”s
+ );
+ 
+ 220 
+ ¡ack
+ ->
+ ¬y_¬¿y
+ [++
+ ¥
+ ] = 
+ ¬g
+ ->
+ ¬g_±r
+ .
+ ¬g_¡r
+ ;
+ 
+ 221  
+ ¥
+ ;
+ 
+ 223 
+ 	`¡r_num£t
+ (
+ ¬g
+ ->
+ ¬g_±r
+ .
+ ¬g_¡r
+ , 0.0);
+ 
+ 224 
+ ¡ack
+ ->
+ ¬y_¬¿y
+ [++
+ ¥
+ ] = 
+ ¬g
+ ->
+ ¬g_±r
+ .
+ ¬g_¡r
+ ;
+ 
+ 225  
+ ¥
+ ;
+ 
+ 229 
+ c
+  = 
+ NuÎch
+ ;
+ 
+ 230 ià(
+ 	`»gexec
+ (
+ ¥©
+ ->
+ ¥©_»gexp
+ , 
+ s
+ , 
+ ¡»nd
+ , 
+ Üig
+ , 0,
+ 
+ 231 
+ ¡r
+ ->
+ ¡r_pok
+  & 
+ SP_STUDIED
+  ? sΠ: 
+ NuΡr
+ , 
+ §ãba£
+ )) {
+ 
+ 232 
+ lÚg_way
+ :
+ 
+ 233 
+ d¡r
+  = 
+ 	`SŒ_Ãw
+ (25,
+ 	`¡r_Ën
+ (
+ ¡r
+ ));
+ 
+ 234 
+ 	`¡r_n£t
+ (
+ d¡r
+ ,
+ m
+ ,
+ s
+ -m);
+ 
+ 235 ià(
+ ¥©
+ ->
+ ¥©_»gexp
+ ->
+ subba£
+ )
+ 
+ 236 
+ cur¥©
+  = 
+ ¥©
+ ;
+ 
+ 237 
+ Ï¡¥©
+  = 
+ ¥©
+ ;
+ 
+ 239 ià(
+ ™”s
+ ++ > 
+ max™”s
+ )
+ 
+ 240 
+ 	`çl
+ ("Substitution†oop");
+ 
+ 241 ià(
+ ¥©
+ ->
+ ¥©_»gexp
+ ->
+ subba£
+ 
+ 
+ 242 && 
+ ¥©
+ ->
+ ¥©_»gexp
+ ->
+ subba£
+  !ð
+ Üig
+ ) {
+ 
+ 243 
+ m
+  = 
+ s
+ ;
+ 
+ 244 
+ s
+  = 
+ Üig
+ ;
+ 
+ 245 
+ Üig
+  = 
+ ¥©
+ ->
+ ¥©_»gexp
+ ->
+ subba£
+ ;
+ 
+ 246 
+ s
+  = 
+ Üig
+  + (
+ m
+  - s);
+ 
+ 247 
+ ¡»nd
+  = 
+ s
+  + (¡»nd - 
+ m
+ );
+ 
+ 249 
+ m
+  = 
+ ¥©
+ ->
+ ¥©_»gexp
+ ->
+ ¡¬
+ [0];
+ 
+ 250 
+ 	`¡r_nÿt
+ (
+ d¡r
+ ,
+ s
+ ,
+ m
+ -s);
+ 
+ 251 
+ s
+  = 
+ ¥©
+ ->
+ ¥©_»gexp
+ ->
+ ’dp
+ [0];
+ 
+ 252 ià(
+ c
+ ) {
+ 
+ 253 ià(
+ þ’
+ )
+ 
+ 254 
+ 	`¡r_nÿt
+ (
+ d¡r
+ ,
+ c
+ ,
+ þ’
+ );
+ 
+ 257 *
+ mysubba£
+  = 
+ ¥©
+ ->
+ ¥©_»gexp
+ ->
+ subba£
+ ;
+ 
+ 259 
+ ¥©
+ ->
+ ¥©_»gexp
+ ->
+ subba£
+  = 
+ NuÎch
+ ;
+ 
+ 260 ()
+ 	`ev®
+ (
+ r¥©
+ ->
+ ¥©_»¶
+ ,
+ G_SCALAR
+ ,
+ ¥
+ );
+ 
+ 261 
+ 	`¡r_sÿt
+ (
+ d¡r
+ ,
+ ¡ack
+ ->
+ ¬y_¬¿y
+ [
+ ¥
+ +1]);
+ 
+ 262 ià(
+ ¥©
+ ->
+ ¥©_»gexp
+ ->
+ subba£
+ )
+ 
+ 263 
+ 	`Saãä“
+ (
+ ¥©
+ ->
+ ¥©_»gexp
+ ->
+ subba£
+ );
+ 
+ 264 
+ ¥©
+ ->
+ ¥©_»gexp
+ ->
+ subba£
+  = 
+ mysubba£
+ ;
+ 
+ 266 ià(
+ Úû
+ )
+ 
+ 268 } 
+ 	`»gexec
+ (
+ ¥©
+ ->
+ ¥©_»gexp
+ , 
+ s
+ , 
+ ¡»nd
+ , 
+ Üig
+ , s =ð
+ m
+ , 
+ NuΡr
+ ,
+ 
+ 269 
+ §ãba£
+ ));
+ 
+ 270 
+ 	`¡r_nÿt
+ (
+ d¡r
+ ,
+ s
+ ,
+ ¡»nd
+  - s);
+ 
+ 271 
+ 	`¡r_»¶aû
+ (
+ ¡r
+ ,
+ d¡r
+ );
+ 
+ 272 
+ 	`STABSET
+ (
+ ¡r
+ );
+ 
+ 273 
+ 	`¡r_num£t
+ (
+ ¬g
+ ->
+ ¬g_±r
+ .
+ ¬g_¡r
+ , ()
+ ™”s
+ );
+ 
+ 274 
+ ¡ack
+ ->
+ ¬y_¬¿y
+ [++
+ ¥
+ ] = 
+ ¬g
+ ->
+ ¬g_±r
+ .
+ ¬g_¡r
+ ;
+ 
+ 275  
+ ¥
+ ;
+ 
+ 277 
+ 	`¡r_num£t
+ (
+ ¬g
+ ->
+ ¬g_±r
+ .
+ ¬g_¡r
+ , 0.0);
+ 
+ 278 
+ ¡ack
+ ->
+ ¬y_¬¿y
+ [++
+ ¥
+ ] = 
+ ¬g
+ ->
+ ¬g_±r
+ .
+ ¬g_¡r
+ ;
+ 
+ 279  
+ ¥
+ ;
+ 
+ 281 
+ nÝe
+ :
+ 
+ 282 ++
+ ¥©
+ ->
+ ¥©_shÜt
+ ->
+ ¡r_u
+ .
+ ¡r_u£ful
+ ;
+ 
+ 283 
+ 	`¡r_num£t
+ (
+ ¬g
+ ->
+ ¬g_±r
+ .
+ ¬g_¡r
+ , 0.0);
+ 
+ 284 
+ ¡ack
+ ->
+ ¬y_¬¿y
+ [++
+ ¥
+ ] = 
+ ¬g
+ ->
+ ¬g_±r
+ .
+ ¬g_¡r
+ ;
+ 
+ 285  
+ ¥
+ ;
+ 
+ 286 
+ 	}
+ }
+ 
+ 287 #ifdeà
+ BUGGY_MSC
+ 
+ 
+ 288 #´agm¨
+ šŒšsic
+ (
+ memcmp
+ )
+ 
+ 292 
+ 	$do_λs
+ (
+ ¡r
+ ,
+ ¬g
+ )
+ 
+ 293 
+ STR
+  *
+ ¡r
+ ;
+ 
+ 294 
+ ARG
+  *
+ ¬g
+ ;
+ 
+ 296 *
+ tbl
+ ;
+ 
+ 297 *
+ s
+ ;
+ 
+ 298 
+ m©ches
+  = 0;
+ 
+ 299 
+ ch
+ ;
+ 
+ 300 *
+ £nd
+ ;
+ 
+ 301 *
+ d
+ ;
+ 
+ 302 
+ squash
+  = 
+ ¬g
+ [2].
+ ¬g_Ën
+  & 1;
+ 
+ 304 
+ tbl
+  = (*è
+ ¬g
+ [2].
+ ¬g_±r
+ .
+ ¬g_cv®
+ ;
+ 
+ 305 
+ s
+  = 
+ 	`¡r_g‘
+ (
+ ¡r
+ );
+ 
+ 306 
+ £nd
+  = 
+ s
+  + 
+ ¡r
+ ->
+ ¡r_cur
+ ;
+ 
+ 307 ià(!
+ tbl
+  || !
+ s
+ )
+ 
+ 308 
+ 	`çl
+ ("panic: do_trans");
+ 
+ 309 #ifdeà
+ DEBUGGING
+ 
+ 
+ 310 ià(
+ debug
+  & 8) {
+ 
+ 311 
+ 	`deb
+ ("2.TBL\n");
+ 
+ 314 ià(!
+ ¬g
+ [2].
+ ¬g_Ën
+ ) {
+ 
+ 315 
+ s
+  < 
+ £nd
+ ) {
+ 
+ 316 ià((
+ ch
+  = 
+ tbl
+ [*
+ s
+  & 0377]) >= 0) {
+ 
+ 317 
+ m©ches
+ ++;
+ 
+ 318 *
+ s
+  = 
+ ch
+ ;
+ 
+ 320 
+ s
+ ++;
+ 
+ 324 
+ d
+  = 
+ s
+ ;
+ 
+ 325 
+ s
+  < 
+ £nd
+ ) {
+ 
+ 326 ià((
+ ch
+  = 
+ tbl
+ [*
+ s
+  & 0377]) >= 0) {
+ 
+ 327 *
+ d
+  = 
+ ch
+ ;
+ 
+ 328 ià(
+ m©ches
+ ++ && 
+ squash
+ ) {
+ 
+ 329 ià(
+ d
+ [-1] == *d)
+ 
+ 330 
+ m©ches
+ --;
+ 
+ 332 
+ d
+ ++;
+ 
+ 335 
+ d
+ ++;
+ 
+ 337 ià(
+ ch
+  == -1)
+ 
+ 338 *
+ d
+ ++ = *
+ s
+ ;
+ 
+ 339 
+ s
+ ++;
+ 
+ 341 
+ m©ches
+  +ð
+ £nd
+  - 
+ d
+ ;
+ 
+ 342 *
+ d
+  = '\0';
+ 
+ 343 
+ ¡r
+ ->
+ ¡r_cur
+  = 
+ d
+  - sŒ->
+ ¡r_±r
+ ;
+ 
+ 345 
+ 	`STABSET
+ (
+ ¡r
+ );
+ 
+ 346  
+ m©ches
+ ;
+ 
+ 347 
+ 	}
+ }
+ 
+ 350 
+ 	$do_još
+ (
+ ¡r
+ ,
+ ¬gÏ¡
+ )
+ 
+ 351 
+ STR
+  *
+ ¡r
+ ;
+ 
+ 352 *
+ ¬gÏ¡
+ ;
+ 
+ 354 
+ STR
+  **
+ ¡
+  = 
+ ¡ack
+ ->
+ ¬y_¬¿y
+ ;
+ 
+ 355 
+ ¥
+  = 
+ ¬gÏ¡
+ [1];
+ 
+ 356 
+ ™ems
+  = 
+ ¬gÏ¡
+ [2] - 
+ ¥
+ ;
+ 
+ 357 *
+ d–im
+  = 
+ 	`¡r_g‘
+ (
+ ¡
+ [
+ ¥
+ ]);
+ 
+ 358 
+ d–imËn
+  = 
+ ¡
+ [
+ ¥
+ ]->
+ ¡r_cur
+ ;
+ 
+ 360 
+ ¡
+  +ð++
+ ¥
+ ;
+ 
+ 361 ià(
+ ™ems
+ -- > 0)
+ 
+ 362 
+ 	`¡r_s£t
+ (
+ ¡r
+ , *
+ ¡
+ ++);
+ 
+ 364 
+ 	`¡r_£t
+ (
+ ¡r
+ ,"");
+ 
+ 365 ià(
+ d–imËn
+ ) {
+ 
+ 366 ; 
+ ™ems
+  > 0; i‹ms--,
+ ¡
+ ++) {
+ 
+ 367 
+ 	`¡r_nÿt
+ (
+ ¡r
+ ,
+ d–im
+ ,
+ d–imËn
+ );
+ 
+ 368 
+ 	`¡r_sÿt
+ (
+ ¡r
+ ,*
+ ¡
+ );
+ 
+ 372 ; 
+ ™ems
+  > 0; i‹ms--,
+ ¡
+ ++)
+ 
+ 373 
+ 	`¡r_sÿt
+ (
+ ¡r
+ ,*
+ ¡
+ );
+ 
+ 375 
+ 	`STABSET
+ (
+ ¡r
+ );
+ 
+ 376 
+ 	}
+ }
+ 
+ 379 
+ 	$do_·ck
+ (
+ ¡r
+ ,
+ ¬gÏ¡
+ )
+ 
+ 380 
+ STR
+  *
+ ¡r
+ ;
+ 
+ 381 *
+ ¬gÏ¡
+ ;
+ 
+ 383 
+ STR
+  **
+ ¡
+  = 
+ ¡ack
+ ->
+ ¬y_¬¿y
+ ;
+ 
+ 384 
+ ¥
+  = 
+ ¬gÏ¡
+ [1];
+ 
+ 385 
+ ™ems
+ ;
+ 
+ 386 *
+ ·t
+  = 
+ 	`¡r_g‘
+ (
+ ¡
+ [
+ ¥
+ ]);
+ 
+ 387 *
+ ·‹nd
+  = 
+ ·t
+  + 
+ ¡
+ [
+ ¥
+ ]->
+ ¡r_cur
+ ;
+ 
+ 388 
+ Ën
+ ;
+ 
+ 389 
+ d©umty³
+ ;
+ 
+ 390 
+ STR
+  *
+ äom¡r
+ ;
+ 
+ 391 *
+ nuÎ10
+  = "\0\0\0\0\0\0\0\0\0\0";
+ 
+ 392 *
+ ¥aû10
+  = " ";
+ 
+ 395 
+ ach¬
+ ;
+ 
+ 396 
+ ashÜt
+ ;
+ 
+ 397 
+ ašt
+ ;
+ 
+ 398 
+ aušt
+ ;
+ 
+ 399 
+ ®Úg
+ ;
+ 
+ 400 
+ aulÚg
+ ;
+ 
+ 401 *
+ ­Œ
+ ;
+ 
+ 402 
+ aæßt
+ ;
+ 
+ 403 
+ adoubË
+ ;
+ 
+ 405 
+ ™ems
+  = 
+ ¬gÏ¡
+ [2] - 
+ ¥
+ ;
+ 
+ 406 
+ ¡
+  +ð++
+ ¥
+ ;
+ 
+ 407 
+ 	`¡r_n£t
+ (
+ ¡r
+ ,"",0);
+ 
+ 408 
+ ·t
+  < 
+ ·‹nd
+ ) {
+ 
+ 409 
+ 	#NEXTFROM
+  (
+ ™ems
+ -- > 0 ? *
+ ¡
+ ++ : &
+ ¡r_no
+ )
+ 
+ 	)
+ 
+ 410 
+ d©umty³
+  = *
+ ·t
+ ++;
+ 
+ 411 ià(*
+ ·t
+  == '*') {
+ 
+ 412 
+ Ën
+  = 
+ 	`šdex
+ ("@Xxu",
+ d©umty³
+ è? 0 : 
+ ™ems
+ ;
+ 
+ 413 
+ ·t
+ ++;
+ 
+ 415 ià(
+ 	`isdig™
+ (*
+ ·t
+ )) {
+ 
+ 416 
+ Ën
+  = *
+ ·t
+ ++ - '0';
+ 
+ 417 
+ 	`isdig™
+ (*
+ ·t
+ ))
+ 
+ 418 
+ Ën
+  = (ËÀ* 10è+ (*
+ ·t
+ ++ - '0');
+ 
+ 421 
+ Ën
+  = 1;
+ 
+ 422 
+ d©umty³
+ ) {
+ 
+ 426 
+ 	`çl
+ ("% may only be used in unpack");
+ 
+ 428 
+ Ën
+  -ð
+ ¡r
+ ->
+ ¡r_cur
+ ;
+ 
+ 429 ià(
+ Ën
+  > 0)
+ 
+ 430 
+ grow
+ ;
+ 
+ 431 
+ Ën
+  = -len;
+ 
+ 432 ià(
+ Ën
+  > 0)
+ 
+ 433 
+ shršk
+ ;
+ 
+ 436 
+ shršk
+ :
+ 
+ 437 ià(
+ ¡r
+ ->
+ ¡r_cur
+  < 
+ Ën
+ )
+ 
+ 438 
+ 	`çl
+ ("X outside of string");
+ 
+ 439 
+ ¡r
+ ->
+ ¡r_cur
+  -ð
+ Ën
+ ;
+ 
+ 440 
+ ¡r
+ ->
+ ¡r_±r
+ [¡r->
+ ¡r_cur
+ ] = '\0';
+ 
+ 443 
+ grow
+ :
+ 
+ 444 
+ Ën
+  >= 10) {
+ 
+ 445 
+ 	`¡r_nÿt
+ (
+ ¡r
+ ,
+ nuÎ10
+ ,10);
+ 
+ 446 
+ Ën
+  -= 10;
+ 
+ 448 
+ 	`¡r_nÿt
+ (
+ ¡r
+ ,
+ nuÎ10
+ ,
+ Ën
+ );
+ 
+ 452 
+ äom¡r
+  = 
+ NEXTFROM
+ ;
+ 
+ 453 
+ ­Œ
+  = 
+ 	`¡r_g‘
+ (
+ äom¡r
+ );
+ 
+ 454 ià(
+ ·t
+ [-1] == '*')
+ 
+ 455 
+ Ën
+  = 
+ äom¡r
+ ->
+ ¡r_cur
+ ;
+ 
+ 456 ià(
+ äom¡r
+ ->
+ ¡r_cur
+  > 
+ Ën
+ )
+ 
+ 457 
+ 	`¡r_nÿt
+ (
+ ¡r
+ ,
+ ­Œ
+ ,
+ Ën
+ );
+ 
+ 459 
+ 	`¡r_nÿt
+ (
+ ¡r
+ ,
+ ­Œ
+ ,
+ äom¡r
+ ->
+ ¡r_cur
+ );
+ 
+ 460 
+ Ën
+  -ð
+ äom¡r
+ ->
+ ¡r_cur
+ ;
+ 
+ 461 ià(
+ d©umty³
+  == 'A') {
+ 
+ 462 
+ Ën
+  >= 10) {
+ 
+ 463 
+ 	`¡r_nÿt
+ (
+ ¡r
+ ,
+ ¥aû10
+ ,10);
+ 
+ 464 
+ Ën
+  -= 10;
+ 
+ 466 
+ 	`¡r_nÿt
+ (
+ ¡r
+ ,
+ ¥aû10
+ ,
+ Ën
+ );
+ 
+ 469 
+ Ën
+  >= 10) {
+ 
+ 470 
+ 	`¡r_nÿt
+ (
+ ¡r
+ ,
+ nuÎ10
+ ,10);
+ 
+ 471 
+ Ën
+  -= 10;
+ 
+ 473 
+ 	`¡r_nÿt
+ (
+ ¡r
+ ,
+ nuÎ10
+ ,
+ Ën
+ );
+ 
+ 480 *
+ §v•©
+  = 
+ ·t
+ ;
+ 
+ 481 
+ §ve™ems
+  = 
+ ™ems
+ ;
+ 
+ 483 
+ äom¡r
+  = 
+ NEXTFROM
+ ;
+ 
+ 484 
+ ­Œ
+  = 
+ 	`¡r_g‘
+ (
+ äom¡r
+ );
+ 
+ 485 ià(
+ ·t
+ [-1] == '*')
+ 
+ 486 
+ Ën
+  = 
+ äom¡r
+ ->
+ ¡r_cur
+ ;
+ 
+ 487 
+ ·t
+  = 
+ ­Œ
+ ;
+ 
+ 488 
+ ašt
+  = 
+ ¡r
+ ->
+ ¡r_cur
+ ;
+ 
+ 489 
+ ¡r
+ ->
+ ¡r_cur
+  +ð(
+ Ën
+ +7)/8;
+ 
+ 490 
+ 	`STR_GROW
+ (
+ ¡r
+ , sŒ->
+ ¡r_cur
+  + 1);
+ 
+ 491 
+ ­Œ
+  = 
+ ¡r
+ ->
+ ¡r_±r
+  + 
+ ašt
+ ;
+ 
+ 492 ià(
+ Ën
+  > 
+ äom¡r
+ ->
+ ¡r_cur
+ )
+ 
+ 493 
+ Ën
+  = 
+ äom¡r
+ ->
+ ¡r_cur
+ ;
+ 
+ 494 
+ ašt
+  = 
+ Ën
+ ;
+ 
+ 495 
+ ™ems
+  = 0;
+ 
+ 496 ià(
+ d©umty³
+  == 'B') {
+ 
+ 497 
+ Ën
+  = 0;†’++ < 
+ ašt
+ ;) {
+ 
+ 498 
+ ™ems
+  |ð*
+ ·t
+ ++ & 1;
+ 
+ 499 ià(
+ Ën
+  & 7)
+ 
+ 500 
+ ™ems
+  <<= 1;
+ 
+ 502 *
+ ­Œ
+ ++ = 
+ ™ems
+  & 0xff;
+ 
+ 503 
+ ™ems
+  = 0;
+ 
+ 508 
+ Ën
+  = 0;†’++ < 
+ ašt
+ ;) {
+ 
+ 509 ià(*
+ ·t
+ ++ & 1)
+ 
+ 510 
+ ™ems
+  |= 128;
+ 
+ 511 ià(
+ Ën
+  & 7)
+ 
+ 512 
+ ™ems
+  >>= 1;
+ 
+ 514 *
+ ­Œ
+ ++ = 
+ ™ems
+  & 0xff;
+ 
+ 515 
+ ™ems
+  = 0;
+ 
+ 519 ià(
+ ašt
+  & 7) {
+ 
+ 520 ià(
+ d©umty³
+  == 'B')
+ 
+ 521 
+ ™ems
+  <<ð7 - (
+ ašt
+  & 7);
+ 
+ 523 
+ ™ems
+  >>ð7 - (
+ ašt
+  & 7);
+ 
+ 524 *
+ ­Œ
+ ++ = 
+ ™ems
+  & 0xff;
+ 
+ 526 
+ ·t
+  = 
+ ¡r
+ ->
+ ¡r_±r
+  + sŒ->
+ ¡r_cur
+ ;
+ 
+ 527 
+ ­Œ
+  <ð
+ ·t
+ )
+ 
+ 528 *
+ ­Œ
+ ++ = '\0';
+ 
+ 530 
+ ·t
+  = 
+ §v•©
+ ;
+ 
+ 531 
+ ™ems
+  = 
+ §ve™ems
+ ;
+ 
+ 537 *
+ §v•©
+  = 
+ ·t
+ ;
+ 
+ 538 
+ §ve™ems
+  = 
+ ™ems
+ ;
+ 
+ 540 
+ äom¡r
+  = 
+ NEXTFROM
+ ;
+ 
+ 541 
+ ­Œ
+  = 
+ 	`¡r_g‘
+ (
+ äom¡r
+ );
+ 
+ 542 ià(
+ ·t
+ [-1] == '*')
+ 
+ 543 
+ Ën
+  = 
+ äom¡r
+ ->
+ ¡r_cur
+ ;
+ 
+ 544 
+ ·t
+  = 
+ ­Œ
+ ;
+ 
+ 545 
+ ašt
+  = 
+ ¡r
+ ->
+ ¡r_cur
+ ;
+ 
+ 546 
+ ¡r
+ ->
+ ¡r_cur
+  +ð(
+ Ën
+ +1)/2;
+ 
+ 547 
+ 	`STR_GROW
+ (
+ ¡r
+ , sŒ->
+ ¡r_cur
+  + 1);
+ 
+ 548 
+ ­Œ
+  = 
+ ¡r
+ ->
+ ¡r_±r
+  + 
+ ašt
+ ;
+ 
+ 549 ià(
+ Ën
+  > 
+ äom¡r
+ ->
+ ¡r_cur
+ )
+ 
+ 550 
+ Ën
+  = 
+ äom¡r
+ ->
+ ¡r_cur
+ ;
+ 
+ 551 
+ ašt
+  = 
+ Ën
+ ;
+ 
+ 552 
+ ™ems
+  = 0;
+ 
+ 553 ià(
+ d©umty³
+  == 'H') {
+ 
+ 554 
+ Ën
+  = 0;†’++ < 
+ ašt
+ ;) {
+ 
+ 555 ià(
+ 	`i§Íha
+ (*
+ ·t
+ ))
+ 
+ 556 
+ ™ems
+  |ð((*
+ ·t
+ ++ & 15) + 9) & 15;
+ 
+ 558 
+ ™ems
+  |ð*
+ ·t
+ ++ & 15;
+ 
+ 559 ià(
+ Ën
+  & 1)
+ 
+ 560 
+ ™ems
+  <<= 4;
+ 
+ 562 *
+ ­Œ
+ ++ = 
+ ™ems
+  & 0xff;
+ 
+ 563 
+ ™ems
+  = 0;
+ 
+ 568 
+ Ën
+  = 0;†’++ < 
+ ašt
+ ;) {
+ 
+ 569 ià(
+ 	`i§Íha
+ (*
+ ·t
+ ))
+ 
+ 570 
+ ™ems
+  |ð(((*
+ ·t
+ ++ & 15) + 9) & 15) << 4;
+ 
+ 572 
+ ™ems
+  |ð(*
+ ·t
+ ++ & 15) << 4;
+ 
+ 573 ià(
+ Ën
+  & 1)
+ 
+ 574 
+ ™ems
+  >>= 4;
+ 
+ 576 *
+ ­Œ
+ ++ = 
+ ™ems
+  & 0xff;
+ 
+ 577 
+ ™ems
+  = 0;
+ 
+ 581 ià(
+ ašt
+  & 1)
+ 
+ 582 *
+ ­Œ
+ ++ = 
+ ™ems
+  & 0xff;
+ 
+ 583 
+ ·t
+  = 
+ ¡r
+ ->
+ ¡r_±r
+  + sŒ->
+ ¡r_cur
+ ;
+ 
+ 584 
+ ­Œ
+  <ð
+ ·t
+ )
+ 
+ 585 *
+ ­Œ
+ ++ = '\0';
+ 
+ 587 
+ ·t
+  = 
+ §v•©
+ ;
+ 
+ 588 
+ ™ems
+  = 
+ §ve™ems
+ ;
+ 
+ 593 
+ Ën
+ -- > 0) {
+ 
+ 594 
+ äom¡r
+  = 
+ NEXTFROM
+ ;
+ 
+ 595 
+ ašt
+  = ()
+ 	`¡r_gnum
+ (
+ äom¡r
+ );
+ 
+ 596 
+ ach¬
+  = 
+ ašt
+ ;
+ 
+ 597 
+ 	`¡r_nÿt
+ (
+ ¡r
+ ,&
+ ach¬
+ ,());
+ 
+ 603 
+ Ën
+ -- > 0) {
+ 
+ 604 
+ äom¡r
+  = 
+ NEXTFROM
+ ;
+ 
+ 605 
+ aæßt
+  = ()
+ 	`¡r_gnum
+ (
+ äom¡r
+ );
+ 
+ 606 
+ 	`¡r_nÿt
+ (
+ ¡r
+ , (*)&
+ aæßt
+ ,  ());
+ 
+ 611 
+ Ën
+ -- > 0) {
+ 
+ 612 
+ äom¡r
+  = 
+ NEXTFROM
+ ;
+ 
+ 613 
+ adoubË
+  = ()
+ 	`¡r_gnum
+ (
+ äom¡r
+ );
+ 
+ 614 
+ 	`¡r_nÿt
+ (
+ ¡r
+ , (*)&
+ adoubË
+ ,  ());
+ 
+ 618 
+ Ën
+ -- > 0) {
+ 
+ 619 
+ äom¡r
+  = 
+ NEXTFROM
+ ;
+ 
+ 620 
+ ashÜt
+  = ()
+ 	`¡r_gnum
+ (
+ äom¡r
+ );
+ 
+ 621 #ifdeà
+ HAS_HTONS
+ 
+ 
+ 622 
+ ashÜt
+  = 
+ 	`htÚs
+ (ashort);
+ 
+ 624 
+ 	`¡r_nÿt
+ (
+ ¡r
+ ,(*)&
+ ashÜt
+ ,());
+ 
+ 629 
+ Ën
+ -- > 0) {
+ 
+ 630 
+ äom¡r
+  = 
+ NEXTFROM
+ ;
+ 
+ 631 
+ ashÜt
+  = ()
+ 	`¡r_gnum
+ (
+ äom¡r
+ );
+ 
+ 632 
+ 	`¡r_nÿt
+ (
+ ¡r
+ ,(*)&
+ ashÜt
+ ,());
+ 
+ 636 
+ Ën
+ -- > 0) {
+ 
+ 637 
+ äom¡r
+  = 
+ NEXTFROM
+ ;
+ 
+ 638 
+ aušt
+  = 
+ 	`U_I
+ (
+ 	`¡r_gnum
+ (
+ äom¡r
+ ));
+ 
+ 639 
+ 	`¡r_nÿt
+ (
+ ¡r
+ ,(*)&
+ aušt
+ ,());
+ 
+ 643 
+ Ën
+ -- > 0) {
+ 
+ 644 
+ äom¡r
+  = 
+ NEXTFROM
+ ;
+ 
+ 645 
+ ašt
+  = ()
+ 	`¡r_gnum
+ (
+ äom¡r
+ );
+ 
+ 646 
+ 	`¡r_nÿt
+ (
+ ¡r
+ ,(*)&
+ ašt
+ ,());
+ 
+ 650 
+ Ën
+ -- > 0) {
+ 
+ 651 
+ äom¡r
+  = 
+ NEXTFROM
+ ;
+ 
+ 652 
+ aulÚg
+  = 
+ 	`U_L
+ (
+ 	`¡r_gnum
+ (
+ äom¡r
+ ));
+ 
+ 653 #ifdeà
+ HAS_HTONL
+ 
+ 
+ 654 
+ aulÚg
+  = 
+ 	`htÚl
+ (aulong);
+ 
+ 656 
+ 	`¡r_nÿt
+ (
+ ¡r
+ ,(*)&
+ aulÚg
+ ,());
+ 
+ 660 
+ Ën
+ -- > 0) {
+ 
+ 661 
+ äom¡r
+  = 
+ NEXTFROM
+ ;
+ 
+ 662 
+ aulÚg
+  = 
+ 	`U_L
+ (
+ 	`¡r_gnum
+ (
+ äom¡r
+ ));
+ 
+ 663 
+ 	`¡r_nÿt
+ (
+ ¡r
+ ,(*)&
+ aulÚg
+ ,());
+ 
+ 667 
+ Ën
+ -- > 0) {
+ 
+ 668 
+ äom¡r
+  = 
+ NEXTFROM
+ ;
+ 
+ 669 
+ ®Úg
+  = ()
+ 	`¡r_gnum
+ (
+ äom¡r
+ );
+ 
+ 670 
+ 	`¡r_nÿt
+ (
+ ¡r
+ ,(*)&
+ ®Úg
+ ,());
+ 
+ 674 
+ Ën
+ -- > 0) {
+ 
+ 675 
+ äom¡r
+  = 
+ NEXTFROM
+ ;
+ 
+ 676 
+ ­Œ
+  = 
+ 	`¡r_g‘
+ (
+ äom¡r
+ );
+ 
+ 677 
+ 	`¡r_nÿt
+ (
+ ¡r
+ ,(*)&
+ ­Œ
+ ,(*));
+ 
+ 681 
+ äom¡r
+  = 
+ NEXTFROM
+ ;
+ 
+ 682 
+ ­Œ
+  = 
+ 	`¡r_g‘
+ (
+ äom¡r
+ );
+ 
+ 683 
+ ašt
+  = 
+ äom¡r
+ ->
+ ¡r_cur
+ ;
+ 
+ 684 
+ 	`STR_GROW
+ (
+ ¡r
+ ,
+ ašt
+  * 4 / 3);
+ 
+ 685 ià(
+ Ën
+  <= 1)
+ 
+ 686 
+ Ën
+  = 45;
+ 
+ 688 
+ Ën
+  =†en / 3 * 3;
+ 
+ 689 
+ ašt
+  > 0) {
+ 
+ 690 
+ todo
+ ;
+ 
+ 692 ià(
+ ašt
+  > 
+ Ën
+ )
+ 
+ 693 
+ todo
+  = 
+ Ën
+ ;
+ 
+ 695 
+ todo
+  = 
+ ašt
+ ;
+ 
+ 696 
+ 	`dÛncodes
+ (
+ ¡r
+ , 
+ ­Œ
+ , 
+ todo
+ );
+ 
+ 697 
+ ašt
+  -ð
+ todo
+ ;
+ 
+ 698 
+ ­Œ
+  +ð
+ todo
+ ;
+ 
+ 703 
+ 	`STABSET
+ (
+ ¡r
+ );
+ 
+ 704 
+ 	}
+ }
+ 
+ 705 #undeà
+ NEXTFROM
+ 
+ 
+ 707 
+ 	$dÛncodes
+ (
+ ¡r
+ , 
+ s
+ , 
+ Ën
+ )
+ 
+ 708 
+ STR
+  *
+ ¡r
+ ;
+ 
+ 709 *
+ s
+ ;
+ 
+ 710 
+ Ën
+ ;
+ 
+ 712 
+ hunk
+ [5];
+ 
+ 714 *
+ hunk
+  = 
+ Ën
+  + ' ';
+ 
+ 715 
+ 	`¡r_nÿt
+ (
+ ¡r
+ , 
+ hunk
+ , 1);
+ 
+ 716 
+ hunk
+ [4] = '\0';
+ 
+ 717 
+ Ën
+  > 0) {
+ 
+ 718 
+ hunk
+ [0] = ' ' + (077 & (*
+ s
+  >> 2));
+ 
+ 719 
+ hunk
+ [1] = ' ' + (077 & ((*
+ s
+  << 4) & 060 | (s[1] >> 4) & 017));
+ 
+ 720 
+ hunk
+ [2] = ' ' + (077 & ((
+ s
+ [1] << 2) & 074 | (s[2] >> 6) & 03));
+ 
+ 721 
+ hunk
+ [3] = ' ' + (077 & (
+ s
+ [2] & 077));
+ 
+ 722 
+ 	`¡r_nÿt
+ (
+ ¡r
+ , 
+ hunk
+ , 4);
+ 
+ 723 
+ s
+  += 3;
+ 
+ 724 
+ Ën
+  -= 3;
+ 
+ 726 
+ s
+  = 
+ ¡r
+ ->
+ ¡r_±r
+ ; *s; s++) {
+ 
+ 727 ià(*
+ s
+  == ' ')
+ 
+ 728 *
+ s
+  = '`';
+ 
+ 730 
+ 	`¡r_nÿt
+ (
+ ¡r
+ , "\n", 1);
+ 
+ 731 
+ 	}
+ }
+ 
+ 734 
+ 	$do_¥rštf
+ (
+ ¡r
+ ,
+ Ën
+ ,
+ §rg
+ )
+ 
+ 735 
+ STR
+  *
+ ¡r
+ ;
+ 
+ 736 
+ Ën
+ ;
+ 
+ 737 
+ STR
+  **
+ §rg
+ ;
+ 
+ 739 *
+ s
+ ;
+ 
+ 740 *
+ t
+ ;
+ 
+ 741 *
+ f
+ ;
+ 
+ 742 
+ boÞ
+  
+ dÞÚg
+ ;
+ 
+ 743 
+ ch
+ ;
+ 
+ 744 
+ STR
+  *
+ §rgnuÎ
+  = &
+ ¡r_no
+ ;
+ 
+ 745 *
+ £nd
+ ;
+ 
+ 746 *
+ xs
+ ;
+ 
+ 747 
+ xËn
+ ;
+ 
+ 748 
+ v®ue
+ ;
+ 
+ 749 *
+ Üigs
+ ;
+ 
+ 751 
+ 	`¡r_£t
+ (
+ ¡r
+ ,"");
+ 
+ 752 
+ Ën
+ --;
+ 
+ 753 
+ Üigs
+  = 
+ t
+  = 
+ s
+  = 
+ 	`¡r_g‘
+ (*
+ §rg
+ );
+ 
+ 754 
+ £nd
+  = 
+ s
+  + (*
+ §rg
+ )->
+ ¡r_cur
+ ;
+ 
+ 755 
+ §rg
+ ++;
+ 
+ 756  ; ; 
+ Ën
+ --) {
+ 
+ 757 ià(
+ Ën
+  <ð0 || !*
+ §rg
+ ) {
+ 
+ 758 
+ §rg
+  = &
+ §rgnuÎ
+ ;
+ 
+ 759 
+ Ën
+  = 0;
+ 
+ 761  ; 
+ t
+  < 
+ £nd
+  && *t != '%';++) ;
+ 
+ 762 ià(
+ t
+  >ð
+ £nd
+ )
+ 
+ 764 
+ f
+  = 
+ t
+ ;
+ 
+ 765 *
+ buf
+  = '\0';
+ 
+ 766 
+ xs
+  = 
+ buf
+ ;
+ 
+ 767 
+ dÞÚg
+  = 
+ FALSE
+ ;
+ 
+ 768 
+ t
+ ++; < 
+ £nd
+ ;++) {
+ 
+ 769 *
+ t
+ ) {
+ 
+ 771 
+ ch
+  = *(++
+ t
+ );
+ 
+ 772 *
+ t
+  = '\0';
+ 
+ 773 ()
+ 	`¥rštf
+ (
+ xs
+ ,
+ f
+ );
+ 
+ 774 
+ Ën
+ ++;
+ 
+ 775 
+ xËn
+  = 
+ 	`¡¾’
+ (
+ xs
+ );
+ 
+ 782 
+ dÞÚg
+  = 
+ TRUE
+ ;
+ 
+ 785 
+ ch
+  = *(++
+ t
+ );
+ 
+ 786 *
+ t
+  = '\0';
+ 
+ 787 
+ xËn
+  = ()
+ 	`¡r_gnum
+ (*(
+ §rg
+ ++));
+ 
+ 788 ià(
+ 	`¡rEQ
+ (
+ f
+ ,"%c")) {
+ 
+ 789 *
+ xs
+  = 
+ xËn
+ ;
+ 
+ 790 
+ xs
+ [1] = '\0';
+ 
+ 791 
+ xËn
+  = 1;
+ 
+ 794 ()
+ 	`¥rštf
+ (
+ xs
+ ,
+ f
+ ,
+ xËn
+ );
+ 
+ 795 
+ xËn
+  = 
+ 	`¡¾’
+ (
+ xs
+ );
+ 
+ 799 
+ dÞÚg
+  = 
+ TRUE
+ ;
+ 
+ 802 
+ ch
+  = *(++
+ t
+ );
+ 
+ 803 *
+ t
+  = '\0';
+ 
+ 804 ià(
+ dÞÚg
+ )
+ 
+ 805 ()
+ 	`¥rštf
+ (
+ xs
+ ,
+ f
+ ,()
+ 	`¡r_gnum
+ (*(
+ §rg
+ ++)));
+ 
+ 807 ()
+ 	`¥rštf
+ (
+ xs
+ ,
+ f
+ ,()
+ 	`¡r_gnum
+ (*(
+ §rg
+ ++)));
+ 
+ 808 
+ xËn
+  = 
+ 	`¡¾’
+ (
+ xs
+ );
+ 
+ 811 
+ dÞÚg
+  = 
+ TRUE
+ ;
+ 
+ 814 
+ ch
+  = *(++
+ t
+ );
+ 
+ 815 *
+ t
+  = '\0';
+ 
+ 816 
+ v®ue
+  = 
+ 	`¡r_gnum
+ (*(
+ §rg
+ ++));
+ 
+ 817 ià(
+ dÞÚg
+ )
+ 
+ 818 ()
+ 	`¥rštf
+ (
+ xs
+ ,
+ f
+ ,
+ 	`U_L
+ (
+ v®ue
+ ));
+ 
+ 820 ()
+ 	`¥rštf
+ (
+ xs
+ ,
+ f
+ ,
+ 	`U_I
+ (
+ v®ue
+ ));
+ 
+ 821 
+ xËn
+  = 
+ 	`¡¾’
+ (
+ xs
+ );
+ 
+ 824 
+ ch
+  = *(++
+ t
+ );
+ 
+ 825 *
+ t
+  = '\0';
+ 
+ 826 ()
+ 	`¥rštf
+ (
+ xs
+ ,
+ f
+ ,
+ 	`¡r_gnum
+ (*(
+ §rg
+ ++)));
+ 
+ 827 
+ xËn
+  = 
+ 	`¡¾’
+ (
+ xs
+ );
+ 
+ 830 
+ ch
+  = *(++
+ t
+ );
+ 
+ 831 *
+ t
+  = '\0';
+ 
+ 832 
+ xs
+  = 
+ 	`¡r_g‘
+ (*
+ §rg
+ );
+ 
+ 833 
+ xËn
+  = (*
+ §rg
+ )->
+ ¡r_cur
+ ;
+ 
+ 834 ià(*
+ xs
+  == 'S' && xs[1] == 't' && xs[2] == 'B' && xs[3] == '\0'
+ 
+ 835 && 
+ xËn
+  =ð(
+ STBP
+ )) {
+ 
+ 836 
+ STR
+  *
+ tmp¡r
+  = 
+ 	`SŒ_Ãw
+ (24,0);
+ 
+ 838 
+ 	`¡ab_fuÎÇme
+ (
+ tmp¡r
+ , ((
+ STAB
+ *)(*
+ §rg
+ )));
+ 
+ 839 
+ 	`¥rštf
+ (
+ tok’buf
+ ,"*%s",
+ tmp¡r
+ ->
+ ¡r_±r
+ );
+ 
+ 841 
+ xs
+  = 
+ tok’buf
+ ;
+ 
+ 842 
+ xËn
+  = 
+ 	`¡¾’
+ (
+ tok’buf
+ );
+ 
+ 843 
+ 	`¡r_ä“
+ (
+ tmp¡r
+ );
+ 
+ 845 
+ §rg
+ ++;
+ 
+ 846 ià(
+ 	`¡rEQ
+ (
+ f
+ ,"%s")) {
+ 
+ 849 
+ 	`¡rýy
+ (
+ tok’buf
+ +64,
+ f
+ );
+ 
+ 850 *
+ t
+  = 
+ ch
+ ;
+ 
+ 851 ()
+ 	`¥rštf
+ (
+ buf
+ ,
+ tok’buf
+ +64,
+ xs
+ );
+ 
+ 852 
+ xs
+  = 
+ buf
+ ;
+ 
+ 853 
+ xËn
+  = 
+ 	`¡¾’
+ (
+ xs
+ );
+ 
+ 857 *
+ t
+  = 
+ ch
+ ;
+ 
+ 858 
+ 	`STR_GROW
+ (
+ ¡r
+ , sŒ->
+ ¡r_cur
+  + (
+ f
+  - 
+ s
+ è+ 
+ Ën
+  + 1);
+ 
+ 859 
+ 	`¡r_nÿt
+ (
+ ¡r
+ , 
+ s
+ , 
+ f
+  - s);
+ 
+ 860 
+ 	`¡r_nÿt
+ (
+ ¡r
+ , 
+ xs
+ , 
+ xËn
+ );
+ 
+ 861 
+ s
+  = 
+ t
+ ;
+ 
+ 865 
+ 	`¡r_nÿt
+ (
+ ¡r
+ , 
+ s
+ , 
+ t
+  - s);
+ 
+ 866 
+ 	`STABSET
+ (
+ ¡r
+ );
+ 
+ 867 
+ 	}
+ }
+ 
+ 869 
+ STR
+  *
+ 
+ 870 
+ 	$do_push
+ (
+ ¬y
+ ,
+ ¬gÏ¡
+ )
+ 
+ 871 
+ ARRAY
+  *
+ ¬y
+ ;
+ 
+ 872 *
+ ¬gÏ¡
+ ;
+ 
+ 874 
+ STR
+  **
+ ¡
+  = 
+ ¡ack
+ ->
+ ¬y_¬¿y
+ ;
+ 
+ 875 
+ ¥
+  = 
+ ¬gÏ¡
+ [1];
+ 
+ 876 
+ ™ems
+  = 
+ ¬gÏ¡
+ [2] - 
+ ¥
+ ;
+ 
+ 877 
+ STR
+  *
+ ¡r
+  = &
+ ¡r_undef
+ ;
+ 
+ 879 
+ ¡
+  +ð++
+ ¥
+ ; 
+ ™ems
+  > 0; items--,st++) {
+ 
+ 880 
+ ¡r
+  = 
+ 	`SŒ_Ãw
+ (26,0);
+ 
+ 881 ià(*
+ ¡
+ )
+ 
+ 882 
+ 	`¡r_s£t
+ (
+ ¡r
+ ,*
+ ¡
+ );
+ 
+ 883 ()
+ 	`­ush
+ (
+ ¬y
+ ,
+ ¡r
+ );
+ 
+ 885  
+ ¡r
+ ;
+ 
+ 886 
+ 	}
+ }
+ 
+ 889 
+ 	$do_unshiá
+ (
+ ¬y
+ ,
+ ¬gÏ¡
+ )
+ 
+ 890 
+ ARRAY
+  *
+ ¬y
+ ;
+ 
+ 891 *
+ ¬gÏ¡
+ ;
+ 
+ 893 
+ STR
+  **
+ ¡
+  = 
+ ¡ack
+ ->
+ ¬y_¬¿y
+ ;
+ 
+ 894 
+ ¥
+  = 
+ ¬gÏ¡
+ [1];
+ 
+ 895 
+ ™ems
+  = 
+ ¬gÏ¡
+ [2] - 
+ ¥
+ ;
+ 
+ 896 
+ STR
+  *
+ ¡r
+ ;
+ 
+ 897 
+ i
+ ;
+ 
+ 899 
+ 	`aunshiá
+ (
+ ¬y
+ ,
+ ™ems
+ );
+ 
+ 900 
+ i
+  = 0;
+ 
+ 901 
+ ¡
+  +ð++
+ ¥
+ ; 
+ i
+  < 
+ ™ems
+ ; i++,st++) {
+ 
+ 902 
+ ¡r
+  = 
+ 	`SŒ_Ãw
+ (27,0);
+ 
+ 903 
+ 	`¡r_s£t
+ (
+ ¡r
+ ,*
+ ¡
+ );
+ 
+ 904 ()
+ 	`a¡Üe
+ (
+ ¬y
+ ,
+ i
+ ,
+ ¡r
+ );
+ 
+ 906 
+ 	}
+ }
+ 
+ 909 
+ 	$do_subr
+ (
+ ¬g
+ ,
+ gimme
+ ,
+ ¬gÏ¡
+ )
+ 
+ 910 
+ ARG
+  *
+ ¬g
+ ;
+ 
+ 911 
+ gimme
+ ;
+ 
+ 912 *
+ ¬gÏ¡
+ ;
+ 
+ 914 
+ STR
+  **
+ ¡
+  = 
+ ¡ack
+ ->
+ ¬y_¬¿y
+ ;
+ 
+ 915 
+ ¥
+  = 
+ ¬gÏ¡
+ [1];
+ 
+ 916 
+ ™ems
+  = 
+ ¬gÏ¡
+ [2] - 
+ ¥
+ ;
+ 
+ 917 
+ SUBR
+  *
+ sub
+ ;
+ 
+ 918 
+ STR
+  *
+ ¡r
+ ;
+ 
+ 919 
+ STAB
+  *
+ ¡ab
+ ;
+ 
+ 920 
+ Þd§ve
+  = 
+ §ve¡ack
+ ->
+ ¬y_fžl
+ ;
+ 
+ 921 
+ Þdtmps_ba£
+  = 
+ tmps_ba£
+ ;
+ 
+ 922 
+ ha§rgs
+  = ((
+ ¬g
+ [2].
+ ¬g_ty³
+  & 
+ A_MASK
+ è!ð
+ A_NULL
+ );
+ 
+ 923 
+ CSV
+  *
+ csv
+ ;
+ 
+ 925 ià((
+ ¬g
+ [1].
+ ¬g_ty³
+  & 
+ A_MASK
+ è=ð
+ A_WORD
+ )
+ 
+ 926 
+ ¡ab
+  = 
+ ¬g
+ [1].
+ ¬g_±r
+ .
+ ¬g_¡ab
+ ;
+ 
+ 928 
+ STR
+  *
+ tmp¡r
+  = 
+ 	`¡ab_v®
+ (
+ ¬g
+ [1].
+ ¬g_±r
+ .
+ ¬g_¡ab
+ );
+ 
+ 930 ià(
+ tmp¡r
+ )
+ 
+ 931 
+ ¡ab
+  = 
+ 	`¡ab’t
+ (
+ 	`¡r_g‘
+ (
+ tmp¡r
+ ),
+ TRUE
+ );
+ 
+ 933 
+ ¡ab
+  = 
+ NuΡab
+ ;
+ 
+ 935 ià(!
+ ¡ab
+ )
+ 
+ 936 
+ 	`çl
+ ("Undefined subroutine called");
+ 
+ 937 ià(!(
+ sub
+  = 
+ 	`¡ab_sub
+ (
+ ¡ab
+ ))) {
+ 
+ 938 
+ STR
+  *
+ tmp¡r
+  = 
+ ¬g
+ [0].
+ ¬g_±r
+ .
+ ¬g_¡r
+ ;
+ 
+ 940 
+ 	`¡ab_fuÎÇme
+ (
+ tmp¡r
+ , 
+ ¡ab
+ );
+ 
+ 941 
+ 	`çl
+ ("Undefšed subroutš\"%s\" c®Ëd",
+ tmp¡r
+ ->
+ ¡r_±r
+ );
+ 
+ 943 ià(
+ ¬g
+ ->
+ ¬g_ty³
+  =ð
+ O_DBSUBR
+  && !
+ sub
+ ->
+ u£rsub
+ ) {
+ 
+ 944 
+ ¡r
+  = 
+ 	`¡ab_v®
+ (
+ DBsub
+ );
+ 
+ 945 
+ 	`§ve™em
+ (
+ ¡r
+ );
+ 
+ 946 
+ 	`¡ab_fuÎÇme
+ (
+ ¡r
+ ,
+ ¡ab
+ );
+ 
+ 947 
+ sub
+  = 
+ 	`¡ab_sub
+ (
+ DBsub
+ );
+ 
+ 948 ià(!
+ sub
+ )
+ 
+ 949 
+ 	`çl
+ ("No DBsub„outine");
+ 
+ 951 
+ ¡r
+  = 
+ 	`SŒ_Ãw
+ (15, (
+ CSV
+ ));
+ 
+ 952 
+ ¡r
+ ->
+ ¡r_¡©e
+  = 
+ SS_SCSV
+ ;
+ 
+ 953 ()
+ 	`­ush
+ (
+ §ve¡ack
+ ,
+ ¡r
+ );
+ 
+ 954 
+ csv
+  = (
+ CSV
+ *)
+ ¡r
+ ->
+ ¡r_±r
+ ;
+ 
+ 955 
+ csv
+ ->
+ sub
+  = sub;
+ 
+ 956 
+ csv
+ ->
+ ¡ab
+  = stab;
+ 
+ 957 
+ csv
+ ->
+ curcsv
+  = curcsv;
+ 
+ 958 
+ csv
+ ->
+ curcmd
+  = curcmd;
+ 
+ 959 
+ csv
+ ->
+ d•th
+  = 
+ sub
+ ->depth;
+ 
+ 960 
+ csv
+ ->
+ wª¼ay
+  = 
+ gimme
+ ;
+ 
+ 961 
+ csv
+ ->
+ ha§rgs
+  = hasargs;
+ 
+ 962 
+ curcsv
+  = 
+ csv
+ ;
+ 
+ 963 ià(
+ sub
+ ->
+ u£rsub
+ ) {
+ 
+ 964 
+ csv
+ ->
+ ha§rgs
+  = 0;
+ 
+ 965 
+ csv
+ ->
+ §v—¼ay
+  = 
+ 	`NuÎ
+ (
+ ARRAY
+ *);;
+ 
+ 966 
+ csv
+ ->
+ ¬g¬¿y
+  = 
+ 	`NuÎ
+ (
+ ARRAY
+ *);
+ 
+ 967 
+ ¡
+ [
+ ¥
+ ] = 
+ ¬g
+ ->
+ ¬g_±r
+ .
+ ¬g_¡r
+ ;
+ 
+ 968 ià(!
+ ha§rgs
+ )
+ 
+ 969 
+ ™ems
+  = 0;
+ 
+ 970  (*
+ sub
+ ->
+ u£rsub
+ )(sub->
+ u£ršdex
+ ,
+ ¥
+ ,
+ ™ems
+ );
+ 
+ 972 ià(
+ ha§rgs
+ ) {
+ 
+ 973 
+ csv
+ ->
+ §v—¼ay
+  = 
+ 	`¡ab_x¬¿y
+ (
+ def¡ab
+ );
+ 
+ 974 
+ csv
+ ->
+ ¬g¬¿y
+  = 
+ 	`açke
+ (
+ def¡ab
+ , 
+ ™ems
+ , &
+ ¡
+ [
+ ¥
+ +1]);
+ 
+ 975 
+ 	`¡ab_x¬¿y
+ (
+ def¡ab
+ èð
+ csv
+ ->
+ ¬g¬¿y
+ ;
+ 
+ 977 
+ sub
+ ->
+ d•th
+ ++;
+ 
+ 978 ià(
+ sub
+ ->
+ d•th
+  >= 2) {
+ 
+ 979 ià(
+ sub
+ ->
+ d•th
+  =ð100 && 
+ dow¬n
+ )
+ 
+ 980 
+ 	`w¬n
+ ("D“°»cursiÚ oÀsubroutš\"%s\"",
+ 	`¡ab_Çme
+ (
+ ¡ab
+ ));
+ 
+ 981 
+ 	`§v–i¡
+ (
+ sub
+ ->
+ to§ve
+ ->
+ ¬y_¬¿y
+ ,sub->to§ve->
+ ¬y_fžl
+ );
+ 
+ 983 
+ tmps_ba£
+  = 
+ tmps_max
+ ;
+ 
+ 984 
+ ¥
+  = 
+ 	`cmd_exec
+ (
+ sub
+ ->
+ cmd
+ ,
+ gimme
+ , --sp);
+ 
+ 985 
+ ¡
+  = 
+ ¡ack
+ ->
+ ¬y_¬¿y
+ ;
+ 
+ 987 
+ tmps_ba£
+  = 
+ Þdtmps_ba£
+ ;
+ 
+ 988 
+ ™ems
+  = 
+ ¬gÏ¡
+ [0] + 1; i‹m <ð
+ ¥
+ ; items++)
+ 
+ 989 
+ ¡
+ [
+ ™ems
+ ] = 
+ 	`¡r_m܏l
+ (st[items]);
+ 
+ 991 
+ 	`»¡Ü–i¡
+ (
+ Þd§ve
+ );
+ 
+ 992  
+ ¥
+ ;
+ 
+ 993 
+ 	}
+ }
+ 
+ 996 
+ 	$do_assign
+ (
+ ¬g
+ ,
+ gimme
+ ,
+ ¬gÏ¡
+ )
+ 
+ 997 
+ ARG
+  *
+ ¬g
+ ;
+ 
+ 998 
+ gimme
+ ;
+ 
+ 999 *
+ ¬gÏ¡
+ ;
+ 
+ 1002 
+ STR
+  **
+ ¡
+  = 
+ ¡ack
+ ->
+ ¬y_¬¿y
+ ;
+ 
+ 1003 
+ STR
+  **
+ fœ¡»Ëm
+  = 
+ ¡
+  + 
+ ¬gÏ¡
+ [1] + 1;
+ 
+ 1004 
+ STR
+  **
+ fœ¡ËËm
+  = 
+ ¡
+  + 
+ ¬gÏ¡
+ [0] + 1;
+ 
+ 1005 
+ STR
+  **
+ Ï¡»Ëm
+  = 
+ ¡
+  + 
+ ¬gÏ¡
+ [2];
+ 
+ 1006 
+ STR
+  **
+ Ï¡ËËm
+  = 
+ ¡
+  + 
+ ¬gÏ¡
+ [1];
+ 
+ 1007 
+ STR
+  **
+ »Ëm
+ ;
+ 
+ 1008 
+ STR
+  **
+ ËËm
+ ;
+ 
+ 1010 
+ STR
+  *
+ ¡r
+ ;
+ 
+ 1011 
+ ARRAY
+  *
+ ¬y
+ ;
+ 
+ 1012 
+ mak–oÿl
+ ;
+ 
+ 1013 
+ HASH
+  *
+ hash
+ ;
+ 
+ 1014 
+ i
+ ;
+ 
+ 1016 
+ mak–oÿl
+  = (
+ ¬g
+ ->
+ ¬g_æags
+  & 
+ AF_LOCAL
+ );
+ 
+ 1017 
+ loÿlizšg
+  = 
+ mak–oÿl
+ ;
+ 
+ 1018 
+ d–aymagic
+  = 
+ DM_DELAY
+ ;
+ 
+ 1024 ià(
+ ¬g
+ ->
+ ¬g_æags
+  & 
+ AF_COMMON
+ ) {
+ 
+ 1025 
+ »Ëm
+  = 
+ fœ¡»Ëm
+ ;„–em <ð
+ Ï¡»Ëm
+ ;„elem++) {
+ 
+ 1026 ià(
+ ¡r
+  = *
+ »Ëm
+ )
+ 
+ 1027 *
+ »Ëm
+  = 
+ 	`¡r_m܏l
+ (
+ ¡r
+ );
+ 
+ 1030 
+ »Ëm
+  = 
+ fœ¡»Ëm
+ ;
+ 
+ 1031 
+ ËËm
+  = 
+ fœ¡ËËm
+ ;
+ 
+ 1032 
+ ¬y
+  = 
+ 	`NuÎ
+ (
+ ARRAY
+ *);
+ 
+ 1033 
+ hash
+  = 
+ 	`NuÎ
+ (
+ HASH
+ *);
+ 
+ 1034 
+ ËËm
+  <ð
+ Ï¡ËËm
+ ) {
+ 
+ 1035 
+ ¡r
+  = *
+ ËËm
+ ++;
+ 
+ 1036 ià(
+ ¡r
+ ->
+ ¡r_¡©e
+  >ð
+ SS_HASH
+ ) {
+ 
+ 1037 ià(
+ ¡r
+ ->
+ ¡r_¡©e
+  =ð
+ SS_ARY
+ ) {
+ 
+ 1038 ià(
+ mak–oÿl
+ )
+ 
+ 1039 
+ ¬y
+  = 
+ 	`§v—ry
+ (
+ ¡r
+ ->
+ ¡r_u
+ .
+ ¡r_¡ab
+ );
+ 
+ 1041 
+ ¬y
+  = 
+ 	`¡ab_¬¿y
+ (
+ ¡r
+ ->
+ ¡r_u
+ .
+ ¡r_¡ab
+ );
+ 
+ 1042 
+ ¬y
+ ->
+ ¬y_fžl
+  = -1;
+ 
+ 1044 
+ i
+  = 0;
+ 
+ 1045 
+ »Ëm
+  <ð
+ Ï¡»Ëm
+ ) {
+ 
+ 1046 
+ ¡r
+  = 
+ 	`SŒ_Ãw
+ (28,0);
+ 
+ 1047 ià(*
+ »Ëm
+ )
+ 
+ 1048 
+ 	`¡r_s£t
+ (
+ ¡r
+ ,*
+ »Ëm
+ );
+ 
+ 1049 *(
+ »Ëm
+ ++èð
+ ¡r
+ ;
+ 
+ 1050 ()
+ 	`a¡Üe
+ (
+ ¬y
+ ,
+ i
+ ++,
+ ¡r
+ );
+ 
+ 1053 ià(
+ ¡r
+ ->
+ ¡r_¡©e
+  =ð
+ SS_HASH
+ ) {
+ 
+ 1054 *
+ tmps
+ ;
+ 
+ 1055 
+ STR
+  *
+ tmp¡r
+ ;
+ 
+ 1056 
+ magic
+  = 0;
+ 
+ 1057 
+ STAB
+  *
+ tmp¡ab
+  = 
+ ¡r
+ ->
+ ¡r_u
+ .
+ ¡r_¡ab
+ ;
+ 
+ 1059 ià(
+ mak–oÿl
+ )
+ 
+ 1060 
+ hash
+  = 
+ 	`§vehash
+ (
+ ¡r
+ ->
+ ¡r_u
+ .
+ ¡r_¡ab
+ );
+ 
+ 1062 
+ hash
+  = 
+ 	`¡ab_hash
+ (
+ ¡r
+ ->
+ ¡r_u
+ .
+ ¡r_¡ab
+ );
+ 
+ 1063 ià(
+ tmp¡ab
+  =ð
+ ’v¡ab
+ ) {
+ 
+ 1064 
+ magic
+  = 'E';
+ 
+ 1065 
+ ’vœÚ
+ [0] = 
+ NuÎch
+ ;
+ 
+ 1067 ià(
+ tmp¡ab
+  =ð
+ sig¡ab
+ ) {
+ 
+ 1068 
+ magic
+  = 'S';
+ 
+ 1069 #iâdeà
+ NSIG
+ 
+ 
+ 1070 
+ 	#NSIG
+  32
+ 
+ 	)
+ 
+ 1072 
+ i
+  = 1; i < 
+ NSIG
+ ; i++)
+ 
+ 1073 
+ 	`sigÇl
+ (
+ i
+ , 
+ SIG_DFL
+ );
+ 
+ 1075 #ifdeà
+ SOME_DBM
+ 
+ 
+ 1076 ià(
+ hash
+ ->
+ tbl_dbm
+ )
+ 
+ 1077 
+ magic
+  = 'D';
+ 
+ 1079 
+ 	`hþ—r
+ (
+ hash
+ , 
+ magic
+  == 'D');
+ 
+ 1082 
+ »Ëm
+  < 
+ Ï¡»Ëm
+ ) {
+ 
+ 1083 ià(*
+ »Ëm
+ )
+ 
+ 1084 
+ ¡r
+  = *(
+ »Ëm
+ ++);
+ 
+ 1086 
+ ¡r
+  = &
+ ¡r_no
+ , 
+ »Ëm
+ ++;
+ 
+ 1087 
+ tmps
+  = 
+ 	`¡r_g‘
+ (
+ ¡r
+ );
+ 
+ 1088 
+ tmp¡r
+  = 
+ 	`SŒ_Ãw
+ (29,0);
+ 
+ 1089 ià(*
+ »Ëm
+ )
+ 
+ 1090 
+ 	`¡r_s£t
+ (
+ tmp¡r
+ ,*
+ »Ëm
+ );
+ 
+ 1091 *(
+ »Ëm
+ ++èð
+ tmp¡r
+ ;
+ 
+ 1092 ()
+ 	`h¡Üe
+ (
+ hash
+ ,
+ tmps
+ ,
+ ¡r
+ ->
+ ¡r_cur
+ ,
+ tmp¡r
+ ,0);
+ 
+ 1093 ià(
+ magic
+ ) {
+ 
+ 1094 
+ 	`¡r_magic
+ (
+ tmp¡r
+ , 
+ tmp¡ab
+ , 
+ magic
+ , 
+ tmps
+ , 
+ ¡r
+ ->
+ ¡r_cur
+ );
+ 
+ 1095 
+ 	`¡ab£t
+ (
+ tmp¡r
+ ->
+ ¡r_magic
+ ,mpstr);
+ 
+ 1100 
+ 	`çl
+ ("panic: do_assign");
+ 
+ 1103 ià(
+ mak–oÿl
+ )
+ 
+ 1104 
+ 	`§ve™em
+ (
+ ¡r
+ );
+ 
+ 1105 ià(
+ »Ëm
+  <ð
+ Ï¡»Ëm
+ ) {
+ 
+ 1106 
+ 	`¡r_s£t
+ (
+ ¡r
+ , *
+ »Ëm
+ );
+ 
+ 1107 *(
+ »Ëm
+ ++èð
+ ¡r
+ ;
+ 
+ 1110 
+ 	`¡r_s£t
+ (
+ ¡r
+ , &
+ ¡r_undef
+ );
+ 
+ 1111 ià(
+ gimme
+  =ð
+ G_ARRAY
+ ) {
+ 
+ 1112 
+ i
+  = ++
+ Ï¡»Ëm
+  - 
+ fœ¡»Ëm
+ ;
+ 
+ 1113 
+ »Ëm
+ ++;
+ 
+ 1114 
+ 	`a¡Üe
+ (
+ ¡ack
+ ,
+ i
+ ,
+ ¡r
+ );
+ 
+ 1115 ià(
+ ¡
+  !ð
+ ¡ack
+ ->
+ ¬y_¬¿y
+ ) {
+ 
+ 1116 
+ ¡
+  = 
+ ¡ack
+ ->
+ ¬y_¬¿y
+ ;
+ 
+ 1117 
+ fœ¡»Ëm
+  = 
+ ¡
+  + 
+ ¬gÏ¡
+ [1] + 1;
+ 
+ 1118 
+ fœ¡ËËm
+  = 
+ ¡
+  + 
+ ¬gÏ¡
+ [0] + 1;
+ 
+ 1119 
+ Ï¡ËËm
+  = 
+ ¡
+  + 
+ ¬gÏ¡
+ [1];
+ 
+ 1120 
+ Ï¡»Ëm
+  = 
+ ¡
+  + 
+ i
+ ;
+ 
+ 1121 
+ »Ëm
+  = 
+ Ï¡»Ëm
+  + 1;
+ 
+ 1125 
+ 	`STABSET
+ (
+ ¡r
+ );
+ 
+ 1128 ià(
+ d–aymagic
+  > 1) {
+ 
+ 1129 ià(
+ d–aymagic
+  & 
+ DM_REUID
+ ) {
+ 
+ 1130 #ifdeà
+ HAS_SETREUID
+ 
+ 
+ 1131 
+ 	`£Œeuid
+ (
+ uid
+ ,
+ euid
+ );
+ 
+ 1133 ià(
+ uid
+  !ð
+ euid
+  || 
+ 	`£tuid
+ (uid) < 0)
+ 
+ 1134 
+ 	`çl
+ ("No setreuid‡vailable");
+ 
+ 1137 ià(
+ d–aymagic
+  & 
+ DM_REGID
+ ) {
+ 
+ 1138 #ifdeà
+ HAS_SETREGID
+ 
+ 
+ 1139 
+ 	`£Œegid
+ (
+ gid
+ ,
+ egid
+ );
+ 
+ 1141 ià(
+ gid
+  !ð
+ egid
+  || 
+ 	`£tgid
+ (gid) < 0)
+ 
+ 1142 
+ 	`çl
+ ("No setregid‡vailable");
+ 
+ 1146 
+ d–aymagic
+  = 0;
+ 
+ 1147 
+ loÿlizšg
+  = 
+ FALSE
+ ;
+ 
+ 1148 ià(
+ gimme
+  =ð
+ G_ARRAY
+ ) {
+ 
+ 1149 
+ i
+  = 
+ Ï¡»Ëm
+  - 
+ fœ¡»Ëm
+  + 1;
+ 
+ 1150 ià(
+ ¬y
+  || 
+ hash
+ )
+ 
+ 1151 
+ 	`CÝy
+ (
+ fœ¡»Ëm
+ , 
+ fœ¡ËËm
+ , 
+ i
+ , 
+ STR
+ *);
+ 
+ 1152  
+ ¬gÏ¡
+ [0] + 
+ i
+ ;
+ 
+ 1155 
+ 	`¡r_num£t
+ (
+ ¬g
+ ->
+ ¬g_±r
+ .
+ ¬g_¡r
+ ,()(
+ ¬gÏ¡
+ [2] -‡rglast[1]));
+ 
+ 1156 *
+ fœ¡ËËm
+  = 
+ ¬g
+ ->
+ ¬g_±r
+ .
+ ¬g_¡r
+ ;
+ 
+ 1157  
+ ¬gÏ¡
+ [0] + 1;
+ 
+ 1159 
+ 	}
+ }
+ 
+ 1162 
+ 	$do_¡udy
+ (
+ ¡r
+ ,
+ ¬g
+ ,
+ gimme
+ ,
+ ¬gÏ¡
+ )
+ 
+ 1163 
+ STR
+  *
+ ¡r
+ ;
+ 
+ 1164 
+ ARG
+  *
+ ¬g
+ ;
+ 
+ 1165 
+ gimme
+ ;
+ 
+ 1166 *
+ ¬gÏ¡
+ ;
+ 
+ 1168 *
+ s
+ ;
+ 
+ 1169 
+ pos
+  = 
+ ¡r
+ ->
+ ¡r_cur
+ ;
+ 
+ 1170 
+ ch
+ ;
+ 
+ 1171 *
+ sfœ¡
+ ;
+ 
+ 1172 *
+ ¢ext
+ ;
+ 
+ 1173 
+ maxsü—m
+  = -1;
+ 
+ 1174 
+ STR
+  *
+ Ï¡sü—m
+  = 
+ NuΡr
+ ;
+ 
+ 1175 
+ »tv®
+ ;
+ 
+ 1176 
+ »rg
+  = 
+ ¬gÏ¡
+ [0] + 1;
+ 
+ 1178 #iâdeà
+ lšt
+ 
+ 
+ 1179 
+ s
+  = (*)(
+ 	`¡r_g‘
+ (
+ ¡r
+ ));
+ 
+ 1181 
+ s
+  = 
+ 	`NuÎ
+ (*);
+ 
+ 1183 ià(
+ Ï¡sü—m
+ )
+ 
+ 1184 
+ Ï¡sü—m
+ ->
+ ¡r_pok
+  &ð~
+ SP_STUDIED
+ ;
+ 
+ 1185 
+ Ï¡sü—m
+  = 
+ ¡r
+ ;
+ 
+ 1186 ià(
+ pos
+  <= 0) {
+ 
+ 1187 
+ »tv®
+  = 0;
+ 
+ 1188 
+ »t
+ ;
+ 
+ 1190 ià(
+ pos
+  > 
+ maxsü—m
+ ) {
+ 
+ 1191 ià(
+ maxsü—m
+  < 0) {
+ 
+ 1192 
+ maxsü—m
+  = 
+ pos
+  + 80;
+ 
+ 1193 
+ 	`New
+ (301,
+ sü—mfœ¡
+ , 256, );
+ 
+ 1194 
+ 	`New
+ (302,
+ sü—mÃxt
+ , 
+ maxsü—m
+ , );
+ 
+ 1197 
+ maxsü—m
+  = 
+ pos
+  +…os / 4;
+ 
+ 1198 
+ 	`R’ew
+ (
+ sü—mÃxt
+ , 
+ maxsü—m
+ , );
+ 
+ 1202 
+ sfœ¡
+  = 
+ sü—mfœ¡
+ ;
+ 
+ 1203 
+ ¢ext
+  = 
+ sü—mÃxt
+ ;
+ 
+ 1205 ià(!
+ sfœ¡
+  || !
+ ¢ext
+ )
+ 
+ 1206 
+ 	`çl
+ ("do_study: out of memory");
+ 
+ 1208 
+ ch
+  = 256; ch; --ch)
+ 
+ 1209 *
+ sfœ¡
+ ++ = -1;
+ 
+ 1210 
+ sfœ¡
+  -= 256;
+ 
+ 1212 --
+ pos
+  >= 0) {
+ 
+ 1213 
+ ch
+  = 
+ s
+ [
+ pos
+ ];
+ 
+ 1214 ià(
+ sfœ¡
+ [
+ ch
+ ] >= 0)
+ 
+ 1215 
+ ¢ext
+ [
+ pos
+ ] = 
+ sfœ¡
+ [
+ ch
+ ] -…os;
+ 
+ 1217 
+ ¢ext
+ [
+ pos
+ ] = -pos;
+ 
+ 1218 
+ sfœ¡
+ [
+ ch
+ ] = 
+ pos
+ ;
+ 
+ 1224 ià(
+ §wi
+ )
+ 
+ 1225 
+ sfœ¡
+ [
+ fÞd
+ [
+ ch
+ ]] = 
+ pos
+ ;
+ 
+ 1228 
+ ¡r
+ ->
+ ¡r_pok
+  |ð
+ SP_STUDIED
+ ;
+ 
+ 1229 
+ »tv®
+  = 1;
+ 
+ 1230 
+ »t
+ :
+ 
+ 1231 
+ 	`¡r_num£t
+ (
+ ¬g
+ ->
+ ¬g_±r
+ .
+ ¬g_¡r
+ ,()
+ »tv®
+ );
+ 
+ 1232 
+ ¡ack
+ ->
+ ¬y_¬¿y
+ [
+ »rg
+ ] = 
+ ¬g
+ ->
+ ¬g_±r
+ .
+ ¬g_¡r
+ ;
+ 
+ 1233  
+ »rg
+ ;
+ 
+ 1234 
+ 	}
+ }
+ 
+ 1237 
+ 	$do_defšed
+ (
+ ¡r
+ ,
+ ¬g
+ ,
+ gimme
+ ,
+ ¬gÏ¡
+ )
+ 
+ 1238 
+ STR
+  *
+ ¡r
+ ;
+ 
+ 1239 
+ ARG
+  *
+ ¬g
+ ;
+ 
+ 1240 
+ gimme
+ ;
+ 
+ 1241 *
+ ¬gÏ¡
+ ;
+ 
+ 1243 
+ ty³
+ ;
+ 
+ 1244 
+ »rg
+  = 
+ ¬gÏ¡
+ [0] + 1;
+ 
+ 1245 
+ »tv®
+ ;
+ 
+ 1246 
+ ARRAY
+  *
+ ¬y
+ ;
+ 
+ 1247 
+ HASH
+  *
+ hash
+ ;
+ 
+ 1249 ià((
+ ¬g
+ [1].
+ ¬g_ty³
+  & 
+ A_MASK
+ è!ð
+ A_LEXPR
+ )
+ 
+ 1250 
+ 	`çl
+ ("Illegal‡rgumento defined()");
+ 
+ 1251 
+ ¬g
+  =‡rg[1].
+ ¬g_±r
+ .
+ ¬g_¬g
+ ;
+ 
+ 1252 
+ ty³
+  = 
+ ¬g
+ ->
+ ¬g_ty³
+ ;
+ 
+ 1254 ià(
+ ty³
+  =ð
+ O_SUBR
+  ||y³ =ð
+ O_DBSUBR
+ )
+ 
+ 1255 
+ »tv®
+  = 
+ 	`¡ab_sub
+ (
+ ¬g
+ [1].
+ ¬g_±r
+ .
+ ¬g_¡ab
+ ) != 0;
+ 
+ 1256 ià(
+ ty³
+  =ð
+ O_ARRAY
+  ||y³ =ð
+ O_LARRAY
+  ||
+ 
+ 1257 
+ ty³
+  =ð
+ O_ASLICE
+  ||y³ =ð
+ O_LASLICE
+  )
+ 
+ 1258 
+ »tv®
+  = ((
+ ¬y
+  = 
+ 	`¡ab_x¬¿y
+ (
+ ¬g
+ [1].
+ ¬g_±r
+ .
+ ¬g_¡ab
+ )) != 0
+ 
+ 1259 && 
+ ¬y
+ ->
+ ¬y_max
+  >= 0 );
+ 
+ 1260 ià(
+ ty³
+  =ð
+ O_HASH
+  ||y³ =ð
+ O_LHASH
+  ||
+ 
+ 1261 
+ ty³
+  =ð
+ O_HSLICE
+  ||y³ =ð
+ O_LHSLICE
+  )
+ 
+ 1262 
+ »tv®
+  = ((
+ hash
+  = 
+ 	`¡ab_xhash
+ (
+ ¬g
+ [1].
+ ¬g_±r
+ .
+ ¬g_¡ab
+ )) != 0
+ 
+ 1263 && 
+ hash
+ ->
+ tbl_¬¿y
+ );
+ 
+ 1265 
+ »tv®
+  = 
+ FALSE
+ ;
+ 
+ 1266 
+ 	`¡r_num£t
+ (
+ ¡r
+ ,()
+ »tv®
+ );
+ 
+ 1267 
+ ¡ack
+ ->
+ ¬y_¬¿y
+ [
+ »rg
+ ] = 
+ ¡r
+ ;
+ 
+ 1268  
+ »rg
+ ;
+ 
+ 1269 
+ 	}
+ }
+ 
+ 1272 
+ 	$do_undef
+ (
+ ¡r
+ ,
+ ¬g
+ ,
+ gimme
+ ,
+ ¬gÏ¡
+ )
+ 
+ 1273 
+ STR
+  *
+ ¡r
+ ;
+ 
+ 1274 
+ ARG
+  *
+ ¬g
+ ;
+ 
+ 1275 
+ gimme
+ ;
+ 
+ 1276 *
+ ¬gÏ¡
+ ;
+ 
+ 1278 
+ ty³
+ ;
+ 
+ 1279 
+ STAB
+  *
+ ¡ab
+ ;
+ 
+ 1280 
+ »rg
+  = 
+ ¬gÏ¡
+ [0] + 1;
+ 
+ 1282 ià((
+ ¬g
+ [1].
+ ¬g_ty³
+  & 
+ A_MASK
+ è!ð
+ A_LEXPR
+ )
+ 
+ 1283 
+ 	`çl
+ ("Illegal‡rgumento undef()");
+ 
+ 1284 
+ ¬g
+  =‡rg[1].
+ ¬g_±r
+ .
+ ¬g_¬g
+ ;
+ 
+ 1285 
+ ty³
+  = 
+ ¬g
+ ->
+ ¬g_ty³
+ ;
+ 
+ 1287 ià(
+ ty³
+  =ð
+ O_ARRAY
+  ||y³ =ð
+ O_LARRAY
+ ) {
+ 
+ 1288 
+ ¡ab
+  = 
+ ¬g
+ [1].
+ ¬g_±r
+ .
+ ¬g_¡ab
+ ;
+ 
+ 1289 
+ 	`aä“
+ (
+ 	`¡ab_x¬¿y
+ (
+ ¡ab
+ ));
+ 
+ 1290 
+ 	`¡ab_x¬¿y
+ (
+ ¡ab
+ èð
+ 	`NuÎ
+ (
+ ARRAY
+ *);
+ 
+ 1292 ià(
+ ty³
+  =ð
+ O_HASH
+  ||y³ =ð
+ O_LHASH
+ ) {
+ 
+ 1293 
+ ¡ab
+  = 
+ ¬g
+ [1].
+ ¬g_±r
+ .
+ ¬g_¡ab
+ ;
+ 
+ 1294 ià(
+ ¡ab
+  =ð
+ ’v¡ab
+ )
+ 
+ 1295 
+ ’vœÚ
+ [0] = 
+ NuÎch
+ ;
+ 
+ 1296 ià(
+ ¡ab
+  =ð
+ sig¡ab
+ ) {
+ 
+ 1297 
+ i
+ ;
+ 
+ 1299 
+ i
+  = 1; i < 
+ NSIG
+ ; i++)
+ 
+ 1300 
+ 	`sigÇl
+ (
+ i
+ , 
+ SIG_DFL
+ );
+ 
+ 1302 ()
+ 	`hä“
+ (
+ 	`¡ab_xhash
+ (
+ ¡ab
+ ), 
+ TRUE
+ );
+ 
+ 1303 
+ 	`¡ab_xhash
+ (
+ ¡ab
+ èð
+ 	`NuÎ
+ (
+ HASH
+ *);
+ 
+ 1305 ià(
+ ty³
+  =ð
+ O_SUBR
+  ||y³ =ð
+ O_DBSUBR
+ ) {
+ 
+ 1306 
+ ¡ab
+  = 
+ ¬g
+ [1].
+ ¬g_±r
+ .
+ ¬g_¡ab
+ ;
+ 
+ 1307 ià(
+ 	`¡ab_sub
+ (
+ ¡ab
+ )) {
+ 
+ 1308 
+ 	`cmd_ä“
+ (
+ 	`¡ab_sub
+ (
+ ¡ab
+ )->
+ cmd
+ );
+ 
+ 1309 
+ 	`¡ab_sub
+ (
+ ¡ab
+ )->
+ cmd
+  = 
+ NuÎcmd
+ ;
+ 
+ 1310 
+ 	`aä“
+ (
+ 	`¡ab_sub
+ (
+ ¡ab
+ )->
+ to§ve
+ );
+ 
+ 1311 
+ 	`Saãä“
+ (
+ 	`¡ab_sub
+ (
+ ¡ab
+ ));
+ 
+ 1312 
+ 	`¡ab_sub
+ (
+ ¡ab
+ èð
+ 	`NuÎ
+ (
+ SUBR
+ *);
+ 
+ 1316 
+ 	`çl
+ ("Can't undefinehat kind of object");
+ 
+ 1317 
+ 	`¡r_num£t
+ (
+ ¡r
+ ,0.0);
+ 
+ 1318 
+ ¡ack
+ ->
+ ¬y_¬¿y
+ [
+ »rg
+ ] = 
+ ¡r
+ ;
+ 
+ 1319  
+ »rg
+ ;
+ 
+ 1320 
+ 	}
+ }
+ 
+ 1323 
+ 	$do_vec
+ (
+ lv®ue
+ ,
+ a¡r
+ ,
+ ¬gÏ¡
+ )
+ 
+ 1324 
+ lv®ue
+ ;
+ 
+ 1325 
+ STR
+  *
+ a¡r
+ ;
+ 
+ 1326 *
+ ¬gÏ¡
+ ;
+ 
+ 1328 
+ STR
+  **
+ ¡
+  = 
+ ¡ack
+ ->
+ ¬y_¬¿y
+ ;
+ 
+ 1329 
+ ¥
+  = 
+ ¬gÏ¡
+ [0];
+ 
+ 1330 
+ STR
+  *
+ ¡r
+  = 
+ ¡
+ [++
+ ¥
+ ];
+ 
+ 1331 
+ off£t
+  = ()
+ 	`¡r_gnum
+ (
+ ¡
+ [++
+ ¥
+ ]);
+ 
+ 1332 
+ size
+  = ()
+ 	`¡r_gnum
+ (
+ ¡
+ [++
+ ¥
+ ]);
+ 
+ 1333 *
+ s
+  = (*)
+ 	`¡r_g‘
+ (
+ ¡r
+ );
+ 
+ 1334 
+ »Šum
+ ;
+ 
+ 1335 
+ Ën
+ ;
+ 
+ 1337 
+ ¥
+  = 
+ ¬gÏ¡
+ [1];
+ 
+ 1338 
+ off£t
+  *ð
+ size
+ ;
+ 
+ 1339 
+ Ën
+  = (
+ off£t
+  + 
+ size
+  + 7) / 8;
+ 
+ 1340 ià(
+ off£t
+  < 0 || 
+ size
+  < 1)
+ 
+ 1341 
+ »Šum
+  = 0;
+ 
+ 1342 ià(!
+ lv®ue
+  && 
+ Ën
+  > 
+ ¡r
+ ->
+ ¡r_cur
+ )
+ 
+ 1343 
+ »Šum
+  = 0;
+ 
+ 1345 ià(
+ Ën
+  > 
+ ¡r
+ ->
+ ¡r_cur
+ ) {
+ 
+ 1346 
+ 	`STR_GROW
+ (
+ ¡r
+ ,
+ Ën
+ );
+ 
+ 1347 ()
+ 	`bz”o
+ (
+ ¡r
+ ->
+ ¡r_±r
+  + sŒ->
+ ¡r_cur
+ , 
+ Ën
+  - str->str_cur);
+ 
+ 1348 
+ ¡r
+ ->
+ ¡r_cur
+  = 
+ Ën
+ ;
+ 
+ 1350 
+ s
+  = (*)
+ 	`¡r_g‘
+ (
+ ¡r
+ );
+ 
+ 1351 ià(
+ size
+  < 8)
+ 
+ 1352 
+ »Šum
+  = (
+ s
+ [
+ off£t
+  >> 3] >> (off£ˆ& 7)è& ((1 << 
+ size
+ ) - 1);
+ 
+ 1354 
+ off£t
+  >>= 3;
+ 
+ 1355 ià(
+ size
+  == 8)
+ 
+ 1356 
+ »Šum
+  = 
+ s
+ [
+ off£t
+ ];
+ 
+ 1357 ià(
+ size
+  == 16)
+ 
+ 1358 
+ »Šum
+  = (
+ s
+ [
+ off£t
+ ] << 8) + s[offset+1];
+ 
+ 1359 ià(
+ size
+  == 32)
+ 
+ 1360 
+ »Šum
+  = (
+ s
+ [
+ off£t
+ ] << 24) + (s[offset + 1] << 16) +
+ 
+ 1361 (
+ s
+ [
+ off£t
+  + 2] << 8) + s[offset+3];
+ 
+ 1364 ià(
+ lv®ue
+ ) {
+ 
+ 1365 
+ l¡ršg
+  *
+ l¡r
+  = (l¡ršg*)
+ a¡r
+ ;
+ 
+ 1367 
+ a¡r
+ ->
+ ¡r_magic
+  = 
+ ¡r
+ ;
+ 
+ 1368 
+ ¡
+ [
+ ¥
+ ]->
+ ¡r_¿»
+  = 'v';
+ 
+ 1369 
+ l¡r
+ ->
+ l¡r_off£t
+  = 
+ off£t
+ ;
+ 
+ 1370 
+ l¡r
+ ->
+ l¡r_Ën
+  = 
+ size
+ ;
+ 
+ 1374 
+ 	`¡r_num£t
+ (
+ a¡r
+ ,()
+ »Šum
+ );
+ 
+ 1375 
+ ¡
+ [
+ ¥
+ ] = 
+ a¡r
+ ;
+ 
+ 1376  
+ ¥
+ ;
+ 
+ 1377 
+ 	}
+ }
+ 
+ 1380 
+ 	$do_vec£t
+ (
+ m¡r
+ ,
+ ¡r
+ )
+ 
+ 1381 
+ STR
+  *
+ m¡r
+ ;
+ 
+ 1382 
+ STR
+  *
+ ¡r
+ ;
+ 
+ 1384 
+ l¡ršg
+  *
+ l¡r
+  = (l¡ršg*)
+ ¡r
+ ;
+ 
+ 1385 
+ off£t
+ ;
+ 
+ 1386 
+ size
+ ;
+ 
+ 1387 *
+ s
+  = (*)
+ m¡r
+ ->
+ ¡r_±r
+ ;
+ 
+ 1388 
+ lv®
+  = 
+ 	`U_L
+ (
+ 	`¡r_gnum
+ (
+ ¡r
+ ));
+ 
+ 1389 
+ mask
+ ;
+ 
+ 1391 
+ m¡r
+ ->
+ ¡r_¿»
+  = 0;
+ 
+ 1392 
+ ¡r
+ ->
+ ¡r_magic
+  = 
+ NuΡr
+ ;
+ 
+ 1393 
+ off£t
+  = 
+ l¡r
+ ->
+ l¡r_off£t
+ ;
+ 
+ 1394 
+ size
+  = 
+ l¡r
+ ->
+ l¡r_Ën
+ ;
+ 
+ 1395 ià(
+ size
+  < 8) {
+ 
+ 1396 
+ mask
+  = (1 << 
+ size
+ ) - 1;
+ 
+ 1397 
+ size
+  = 
+ off£t
+  & 7;
+ 
+ 1398 
+ lv®
+  &ð
+ mask
+ ;
+ 
+ 1399 
+ off£t
+  >>= 3;
+ 
+ 1400 
+ s
+ [
+ off£t
+ ] &ð~(
+ mask
+  << 
+ size
+ );
+ 
+ 1401 
+ s
+ [
+ off£t
+ ] |ð
+ lv®
+  << 
+ size
+ ;
+ 
+ 1404 ià(
+ size
+  == 8)
+ 
+ 1405 
+ s
+ [
+ off£t
+ ] = 
+ lv®
+  & 255;
+ 
+ 1406 ià(
+ size
+  == 16) {
+ 
+ 1407 
+ s
+ [
+ off£t
+ ] = (
+ lv®
+  >> 8) & 255;
+ 
+ 1408 
+ s
+ [
+ off£t
+ +1] = 
+ lv®
+  & 255;
+ 
+ 1410 ià(
+ size
+  == 32) {
+ 
+ 1411 
+ s
+ [
+ off£t
+ ] = (
+ lv®
+  >> 24) & 255;
+ 
+ 1412 
+ s
+ [
+ off£t
+ +1] = (
+ lv®
+  >> 16) & 255;
+ 
+ 1413 
+ s
+ [
+ off£t
+ +2] = (
+ lv®
+  >> 8) & 255;
+ 
+ 1414 
+ s
+ [
+ off£t
+ +3] = 
+ lv®
+  & 255;
+ 
+ 1417 
+ 	}
+ }
+ 
+ 1419 
+ 	$do_chÝ
+ (
+ a¡r
+ ,
+ ¡r
+ )
+ 
+ 1420 
+ STR
+  *
+ a¡r
+ ;
+ 
+ 1421 
+ STR
+  *
+ ¡r
+ ;
+ 
+ 1423 *
+ tmps
+ ;
+ 
+ 1424 
+ i
+ ;
+ 
+ 1425 
+ ARRAY
+  *
+ ¬y
+ ;
+ 
+ 1426 
+ HASH
+  *
+ hash
+ ;
+ 
+ 1427 
+ HENT
+  *
+ ’Œy
+ ;
+ 
+ 1429 ià(!
+ ¡r
+ )
+ 
+ 1431 ià(
+ ¡r
+ ->
+ ¡r_¡©e
+  =ð
+ SS_ARY
+ ) {
+ 
+ 1432 
+ ¬y
+  = 
+ 	`¡ab_¬¿y
+ (
+ ¡r
+ ->
+ ¡r_u
+ .
+ ¡r_¡ab
+ );
+ 
+ 1433 
+ i
+  = 0; i <ð
+ ¬y
+ ->
+ ¬y_fžl
+ ; i++)
+ 
+ 1434 
+ 	`do_chÝ
+ (
+ a¡r
+ ,
+ ¬y
+ ->
+ ¬y_¬¿y
+ [
+ i
+ ]);
+ 
+ 1437 ià(
+ ¡r
+ ->
+ ¡r_¡©e
+  =ð
+ SS_HASH
+ ) {
+ 
+ 1438 
+ hash
+  = 
+ 	`¡ab_hash
+ (
+ ¡r
+ ->
+ ¡r_u
+ .
+ ¡r_¡ab
+ );
+ 
+ 1439 ()
+ 	`h™”š™
+ (
+ hash
+ );
+ 
+ 1440 
+ ’Œy
+  = 
+ 	`h™”Ãxt
+ (
+ hash
+ ))
+ 
+ 1441 
+ 	`do_chÝ
+ (
+ a¡r
+ ,
+ 	`h™”v®
+ (
+ hash
+ ,
+ ’Œy
+ ));
+ 
+ 1444 
+ tmps
+  = 
+ 	`¡r_g‘
+ (
+ ¡r
+ );
+ 
+ 1445 ià(!
+ tmps
+ )
+ 
+ 1447 
+ tmps
+  +ð
+ ¡r
+ ->
+ ¡r_cur
+  - (str->str_cur != 0);
+ 
+ 1448 
+ 	`¡r_n£t
+ (
+ a¡r
+ ,
+ tmps
+ ,1);
+ 
+ 1449 *
+ tmps
+  = '\0';
+ 
+ 1450 
+ ¡r
+ ->
+ ¡r_cur
+  = 
+ tmps
+  - sŒ->
+ ¡r_±r
+ ;
+ 
+ 1451 
+ ¡r
+ ->
+ ¡r_nok
+  = 0;
+ 
+ 1452 
+ 	`STABSET
+ (
+ ¡r
+ );
+ 
+ 1453 
+ 	}
+ }
+ 
+ 1455 
+ 	$do_vÝ
+ (
+ Ýty³
+ ,
+ ¡r
+ ,
+ Ëá
+ ,
+ right
+ )
+ 
+ 1456 
+ STR
+  *
+ ¡r
+ ;
+ 
+ 1457 
+ STR
+  *
+ Ëá
+ ;
+ 
+ 1458 
+ STR
+  *
+ right
+ ;
+ 
+ 1460 *
+ s
+ ;
+ 
+ 1461 *
+ l
+  = 
+ 	`¡r_g‘
+ (
+ Ëá
+ );
+ 
+ 1462 *
+ r
+  = 
+ 	`¡r_g‘
+ (
+ right
+ );
+ 
+ 1463 
+ Ën
+ ;
+ 
+ 1465 
+ Ën
+  = 
+ Ëá
+ ->
+ ¡r_cur
+ ;
+ 
+ 1466 ià(
+ Ën
+  > 
+ right
+ ->
+ ¡r_cur
+ )
+ 
+ 1467 
+ Ën
+  = 
+ right
+ ->
+ ¡r_cur
+ ;
+ 
+ 1468 ià(
+ ¡r
+ ->
+ ¡r_cur
+  > 
+ Ën
+ )
+ 
+ 1469 
+ ¡r
+ ->
+ ¡r_cur
+  = 
+ Ën
+ ;
+ 
+ 1470 ià(
+ ¡r
+ ->
+ ¡r_cur
+  < 
+ Ën
+ ) {
+ 
+ 1471 
+ 	`STR_GROW
+ (
+ ¡r
+ ,
+ Ën
+ );
+ 
+ 1472 ()
+ 	`bz”o
+ (
+ ¡r
+ ->
+ ¡r_±r
+  + sŒ->
+ ¡r_cur
+ , 
+ Ën
+  - str->str_cur);
+ 
+ 1473 
+ ¡r
+ ->
+ ¡r_cur
+  = 
+ Ën
+ ;
+ 
+ 1475 
+ s
+  = 
+ ¡r
+ ->
+ ¡r_±r
+ ;
+ 
+ 1476 ià(!
+ s
+ ) {
+ 
+ 1477 
+ 	`¡r_n£t
+ (
+ ¡r
+ ,"",0);
+ 
+ 1478 
+ s
+  = 
+ ¡r
+ ->
+ ¡r_±r
+ ;
+ 
+ 1480 
+ Ýty³
+ ) {
+ 
+ 1481 
+ O_BIT_AND
+ :
+ 
+ 1482 
+ Ën
+ --)
+ 
+ 1483 *
+ s
+ ++ = *
+ l
+ ++ & *
+ r
+ ++;
+ 
+ 1485 
+ O_XOR
+ :
+ 
+ 1486 
+ Ën
+ --)
+ 
+ 1487 *
+ s
+ ++ = *
+ l
+ ++ ^ *
+ r
+ ++;
+ 
+ 1488 
+ mÝ_up
+ ;
+ 
+ 1489 
+ O_BIT_OR
+ :
+ 
+ 1490 
+ Ën
+ --)
+ 
+ 1491 *
+ s
+ ++ = *
+ l
+ ++ | *
+ r
+ ++;
+ 
+ 1492 
+ mÝ_up
+ :
+ 
+ 1493 
+ Ën
+  = 
+ ¡r
+ ->
+ ¡r_cur
+ ;
+ 
+ 1494 ià(
+ right
+ ->
+ ¡r_cur
+  > 
+ Ën
+ )
+ 
+ 1495 
+ 	`¡r_nÿt
+ (
+ ¡r
+ ,
+ right
+ ->
+ ¡r_±r
+ +
+ Ën
+ ,right->
+ ¡r_cur
+  -†en);
+ 
+ 1496 ià(
+ Ëá
+ ->
+ ¡r_cur
+  > 
+ Ën
+ )
+ 
+ 1497 
+ 	`¡r_nÿt
+ (
+ ¡r
+ ,
+ Ëá
+ ->
+ ¡r_±r
+ +
+ Ën
+ ,Ëá->
+ ¡r_cur
+  -†en);
+ 
+ 1500 
+ 	}
+ }
+ 
+ 1503 
+ 	$do_sysÿÎ
+ (
+ ¬gÏ¡
+ )
+ 
+ 1504 *
+ ¬gÏ¡
+ ;
+ 
+ 1506 
+ STR
+  **
+ ¡
+  = 
+ ¡ack
+ ->
+ ¬y_¬¿y
+ ;
+ 
+ 1507 
+ ¥
+  = 
+ ¬gÏ¡
+ [1];
+ 
+ 1508 
+ ™ems
+  = 
+ ¬gÏ¡
+ [2] - 
+ ¥
+ ;
+ 
+ 1509 
+ ¬g
+ [8];
+ 
+ 1510 
+ i
+  = 0;
+ 
+ 1511 
+ »tv®
+  = -1;
+ 
+ 1513 #ifdeà
+ HAS_SYSCALL
+ 
+ 
+ 1514 #ifdeà
+ TAINT
+ 
+ 
+ 1515 
+ ¡
+  +ð++
+ ¥
+ ; 
+ ™ems
+ --; st++)
+ 
+ 1516 
+ š‹d
+  |ð(*
+ ¡
+ )->
+ ¡r_š‹d
+ ;
+ 
+ 1517 
+ ¡
+  = 
+ ¡ack
+ ->
+ ¬y_¬¿y
+ ;
+ 
+ 1518 
+ ¥
+  = 
+ ¬gÏ¡
+ [1];
+ 
+ 1519 
+ ™ems
+  = 
+ ¬gÏ¡
+ [2] - 
+ ¥
+ ;
+ 
+ 1521 #ifdeà
+ TAINT
+ 
+ 
+ 1522 
+ 	`šrÝ”
+ ("Insecure dependency in syscall");
+ 
+ 1528 
+ ™ems
+ --) {
+ 
+ 1529 ià(
+ ¡
+ [++
+ ¥
+ ]->
+ ¡r_nok
+  || !
+ i
+ )
+ 
+ 1530 
+ ¬g
+ [
+ i
+ ++] = ()
+ 	`¡r_gnum
+ (
+ ¡
+ [
+ ¥
+ ]);
+ 
+ 1531 #iâdeà
+ lšt
+ 
+ 
+ 1533 
+ ¬g
+ [
+ i
+ ++] = ()
+ ¡
+ [
+ ¥
+ ]->
+ ¡r_±r
+ ;
+ 
+ 1536 
+ ¥
+  = 
+ ¬gÏ¡
+ [1];
+ 
+ 1537 
+ ™ems
+  = 
+ ¬gÏ¡
+ [2] - 
+ ¥
+ ;
+ 
+ 1538 
+ ™ems
+ ) {
+ 
+ 1540 
+ 	`çl
+ ("Too few‡rgso syscall");
+ 
+ 1542 
+ »tv®
+  = 
+ 	`sysÿÎ
+ (
+ ¬g
+ [0]);
+ 
+ 1545 
+ »tv®
+  = 
+ 	`sysÿÎ
+ (
+ ¬g
+ [0],arg[1]);
+ 
+ 1548 
+ »tv®
+  = 
+ 	`sysÿÎ
+ (
+ ¬g
+ [0],arg[1],arg[2]);
+ 
+ 1551 
+ »tv®
+  = 
+ 	`sysÿÎ
+ (
+ ¬g
+ [0],arg[1],arg[2],arg[3]);
+ 
+ 1554 
+ »tv®
+  = 
+ 	`sysÿÎ
+ (
+ ¬g
+ [0],arg[1],arg[2],arg[3],arg[4]);
+ 
+ 1557 
+ »tv®
+  = 
+ 	`sysÿÎ
+ (
+ ¬g
+ [0],arg[1],arg[2],arg[3],arg[4],arg[5]);
+ 
+ 1560 
+ »tv®
+  = 
+ 	`sysÿÎ
+ (
+ ¬g
+ [0],arg[1],arg[2],arg[3],arg[4],arg[5],arg[6]);
+ 
+ 1563 
+ »tv®
+  = 
+ 	`sysÿÎ
+ (
+ ¬g
+ [0],arg[1],arg[2],arg[3],arg[4],arg[5],arg[6],
+ 
+ 1564 
+ ¬g
+ [7]);
+ 
+ 1567  
+ »tv®
+ ;
+ 
+ 1569 
+ 	`çl
+ ("syscall() unimplemented");
+ 
+ 1571 
+ 	}
+ }
+ 
+ 	@doio.c
+ 
+ 17 
+ 	~"EXTERN.h
+ "
+ 
+ 18 
+ 	~"³¾.h
+ "
+ 
+ 20 #ifdeà
+ HAS_SOCKET
+ 
+ 
+ 21 
+ 	~<sys/sock‘.h
+ >
+ 
+ 22 
+ 	~<Ãtdb.h
+ >
+ 
+ 25 #ifdeà
+ HAS_SELECT
+ 
+ 
+ 26 #ifdeà
+ I_SYS_SELECT
+ 
+ 
+ 27 #iâdeà
+ I_SYS_TIME
+ 
+ 
+ 28 
+ 	~<sys/£Ëù.h
+ >
+ 
+ 33 #ià
+ defšed
+ (
+ HAS_MSG
+ è|| defšed(
+ HAS_SEM
+ è|| defšed(
+ HAS_SHM
+ )
+ 
+ 34 
+ 	~<sys/c.h
+ >
+ 
+ 35 #ifdeà
+ HAS_MSG
+ 
+ 
+ 36 
+ 	~<sys/msg.h
+ >
+ 
+ 38 #ifdeà
+ HAS_SEM
+ 
+ 
+ 39 
+ 	~<sys/£m.h
+ >
+ 
+ 41 #ifdeà
+ HAS_SHM
+ 
+ 
+ 42 
+ 	~<sys/shm.h
+ >
+ 
+ 46 #ifdeà
+ I_PWD
+ 
+ 
+ 47 
+ 	~<pwd.h
+ >
+ 
+ 49 #ifdeà
+ I_GRP
+ 
+ 
+ 50 
+ 	~<g½.h
+ >
+ 
+ 52 #ifdeà
+ I_UTIME
+ 
+ 
+ 53 
+ 	~<utime.h
+ >
+ 
+ 55 #ifdeà
+ I_FCNTL
+ 
+ 
+ 56 
+ 	~<fúŽ.h
+ >
+ 
+ 58 #ifdeà
+ I_SYS_FILE
+ 
+ 
+ 59 
+ 	~<sys/fže.h
+ >
+ 
+ 62 
+ 	gÏ¡¡©v®
+  = -1;
+ 
+ 63 
+ 	gÏ¡¡y³
+  = 
+ O_STAT
+ ;
+ 
+ 65 
+ boÞ
+ 
+ 
+ 66 
+ 	$do_ݒ
+ (
+ ¡ab
+ ,
+ Çme
+ ,
+ Ën
+ )
+ 
+ 67 
+ STAB
+  *
+ ¡ab
+ ;
+ 
+ 68 *
+ Çme
+ ;
+ 
+ 69 
+ Ën
+ ;
+ 
+ 71 
+ FILE
+  *
+ å
+ ;
+ 
+ 72 
+ STIO
+  *
+ ¡io
+  = 
+ 	`¡ab_io
+ (
+ ¡ab
+ );
+ 
+ 73 *
+ myÇme
+  = 
+ 	`§ve¡r
+ (
+ Çme
+ );
+ 
+ 74 
+ »suÉ
+ ;
+ 
+ 75 
+ fd
+ ;
+ 
+ 76 
+ wr™šg
+  = 0;
+ 
+ 77 
+ mode
+ [3];
+ 
+ 79 
+ Çme
+  = 
+ myÇme
+ ;
+ 
+ 80 
+ fÜk´oûss
+  = 1;
+ 
+ 81 
+ Ën
+  && 
+ 	`is¥aû
+ (
+ Çme
+ [len-1]))
+ 
+ 82 
+ Çme
+ [--
+ Ën
+ ] = '\0';
+ 
+ 83 ià(!
+ ¡io
+ )
+ 
+ 84 
+ ¡io
+  = 
+ 	`¡ab_io
+ (
+ ¡ab
+ èð
+ 	`¡io_Ãw
+ ();
+ 
+ 85 ià(
+ ¡io
+ ->
+ iå
+ ) {
+ 
+ 86 
+ fd
+  = 
+ 	`fž’o
+ (
+ ¡io
+ ->
+ iå
+ );
+ 
+ 87 ià(
+ ¡io
+ ->
+ ty³
+  == '|')
+ 
+ 88 
+ »suÉ
+  = 
+ 	`mypþo£
+ (
+ ¡io
+ ->
+ iå
+ );
+ 
+ 89 ià(
+ ¡io
+ ->
+ ty³
+  == '-')
+ 
+ 90 
+ »suÉ
+  = 0;
+ 
+ 91 ià(
+ ¡io
+ ->
+ iå
+  !ð¡io->
+ oå
+ ) {
+ 
+ 92 ià(
+ ¡io
+ ->
+ oå
+ ) {
+ 
+ 93 
+ »suÉ
+  = 
+ 	`fþo£
+ (
+ ¡io
+ ->
+ oå
+ );
+ 
+ 94 
+ 	`fþo£
+ (
+ ¡io
+ ->
+ iå
+ );
+ 
+ 97 
+ »suÉ
+  = 
+ 	`fþo£
+ (
+ ¡io
+ ->
+ iå
+ );
+ 
+ 100 
+ »suÉ
+  = 
+ 	`fþo£
+ (
+ ¡io
+ ->
+ iå
+ );
+ 
+ 101 ià(
+ »suÉ
+  =ð
+ EOF
+  && 
+ fd
+  > 2)
+ 
+ 102 
+ 	`årštf
+ (
+ ¡d”r
+ ,"Warning: unableo close filehandle %s…roperly.\n",
+ 
+ 103 
+ 	`¡ab_Çme
+ (
+ ¡ab
+ ));
+ 
+ 104 
+ ¡io
+ ->
+ oå
+  = stio->
+ iå
+  = 
+ NuÎå
+ ;
+ 
+ 106 ià(*
+ Çme
+  =ð'+' && 
+ Ën
+  > 1 &&‚ame[len-1] != '|') {
+ 
+ 107 
+ mode
+ [1] = *
+ Çme
+ ++;
+ 
+ 108 
+ mode
+ [2] = '\0';
+ 
+ 109 --
+ Ën
+ ;
+ 
+ 110 
+ wr™šg
+  = 1;
+ 
+ 113 
+ mode
+ [1] = '\0';
+ 
+ 115 
+ ¡io
+ ->
+ ty³
+  = *
+ Çme
+ ;
+ 
+ 116 ià(*
+ Çme
+  == '|') {
+ 
+ 117 
+ Çme
+ ++; 
+ 	`is¥aû
+ (*name);‚ame++) ;
+ 
+ 118 #ifdeà
+ TAINT
+ 
+ 
+ 119 
+ 	`š‹nv
+ ();
+ 
+ 120 
+ 	`šrÝ”
+ ("Insecure dependency in…iped open");
+ 
+ 122 
+ å
+  = 
+ 	`mypݒ
+ (
+ Çme
+ ,"w");
+ 
+ 123 
+ wr™šg
+  = 1;
+ 
+ 125 ià(*
+ Çme
+  == '>') {
+ 
+ 126 #ifdeà
+ TAINT
+ 
+ 
+ 127 
+ 	`šrÝ”
+ ("Insecure dependency in open");
+ 
+ 129 
+ Çme
+ ++;
+ 
+ 130 ià(*
+ Çme
+  == '>') {
+ 
+ 131 
+ mode
+ [0] = 
+ ¡io
+ ->
+ ty³
+  = 'a';
+ 
+ 132 
+ Çme
+ ++;
+ 
+ 135 
+ mode
+ [0] = 'w';
+ 
+ 136 
+ wr™šg
+  = 1;
+ 
+ 137 ià(*
+ Çme
+  == '&') {
+ 
+ 138 
+ du¶ic™y
+ :
+ 
+ 139 
+ Çme
+ ++;
+ 
+ 140 
+ 	`is¥aû
+ (*
+ Çme
+ ))
+ 
+ 141 
+ Çme
+ ++;
+ 
+ 142 ià(
+ 	`isdig™
+ (*
+ Çme
+ ))
+ 
+ 143 
+ fd
+  = 
+ 	`©oi
+ (
+ Çme
+ );
+ 
+ 145 
+ ¡ab
+  = 
+ 	`¡ab’t
+ (
+ Çme
+ ,
+ FALSE
+ );
+ 
+ 146 ià(!
+ ¡ab
+  || !
+ 	`¡ab_io
+ (stab))
+ 
+ 147  
+ FALSE
+ ;
+ 
+ 148 ià(
+ 	`¡ab_io
+ (
+ ¡ab
+ è&& sb_io(¡ab)->
+ iå
+ ) {
+ 
+ 149 
+ fd
+  = 
+ 	`fž’o
+ (
+ 	`¡ab_io
+ (
+ ¡ab
+ )->
+ iå
+ );
+ 
+ 150 ià(
+ 	`¡ab_io
+ (
+ ¡ab
+ )->
+ ty³
+  == 's')
+ 
+ 151 
+ ¡io
+ ->
+ ty³
+  = 's';
+ 
+ 154 
+ fd
+  = -1;
+ 
+ 156 ià(!(
+ å
+  = 
+ 	`fdݒ
+ (
+ fd
+  = 
+ 	`dup
+ (fd),
+ mode
+ ))) {
+ 
+ 157 
+ 	`þo£
+ (
+ fd
+ );
+ 
+ 161 
+ 	`is¥aû
+ (*
+ Çme
+ ))
+ 
+ 162 
+ Çme
+ ++;
+ 
+ 163 ià(
+ 	`¡rEQ
+ (
+ Çme
+ ,"-")) {
+ 
+ 164 
+ å
+  = 
+ ¡dout
+ ;
+ 
+ 165 
+ ¡io
+ ->
+ ty³
+  = '-';
+ 
+ 168 
+ å
+  = 
+ 	`fݒ
+ (
+ Çme
+ ,
+ mode
+ );
+ 
+ 173 ià(*
+ Çme
+  == '<') {
+ 
+ 174 
+ mode
+ [0] = 'r';
+ 
+ 175 
+ Çme
+ ++;
+ 
+ 176 
+ 	`is¥aû
+ (*
+ Çme
+ ))
+ 
+ 177 
+ Çme
+ ++;
+ 
+ 178 ià(*
+ Çme
+  == '&')
+ 
+ 179 
+ du¶ic™y
+ ;
+ 
+ 180 ià(
+ 	`¡rEQ
+ (
+ Çme
+ ,"-")) {
+ 
+ 181 
+ å
+  = 
+ ¡dš
+ ;
+ 
+ 182 
+ ¡io
+ ->
+ ty³
+  = '-';
+ 
+ 185 
+ å
+  = 
+ 	`fݒ
+ (
+ Çme
+ ,
+ mode
+ );
+ 
+ 187 ià(
+ Çme
+ [
+ Ën
+ -1] == '|') {
+ 
+ 188 #ifdeà
+ TAINT
+ 
+ 
+ 189 
+ 	`š‹nv
+ ();
+ 
+ 190 
+ 	`šrÝ”
+ ("Insecure dependency in…iped open");
+ 
+ 192 
+ Çme
+ [--
+ Ën
+ ] = '\0';
+ 
+ 193 
+ Ën
+  && 
+ 	`is¥aû
+ (
+ Çme
+ [len-1]))
+ 
+ 194 
+ Çme
+ [--
+ Ën
+ ] = '\0';
+ 
+ 195 ; 
+ 	`is¥aû
+ (*
+ Çme
+ );‚ame++) ;
+ 
+ 196 
+ å
+  = 
+ 	`mypݒ
+ (
+ Çme
+ ,"r");
+ 
+ 197 
+ ¡io
+ ->
+ ty³
+  = '|';
+ 
+ 200 
+ ¡io
+ ->
+ ty³
+  = '<';
+ 
+ 201 ; 
+ 	`is¥aû
+ (*
+ Çme
+ );‚ame++) ;
+ 
+ 202 ià(
+ 	`¡rEQ
+ (
+ Çme
+ ,"-")) {
+ 
+ 203 
+ å
+  = 
+ ¡dš
+ ;
+ 
+ 204 
+ ¡io
+ ->
+ ty³
+  = '-';
+ 
+ 207 
+ å
+  = 
+ 	`fݒ
+ (
+ Çme
+ ,"r");
+ 
+ 210 
+ 	`Saãä“
+ (
+ myÇme
+ );
+ 
+ 211 ià(!
+ å
+ )
+ 
+ 212  
+ FALSE
+ ;
+ 
+ 213 ià(
+ ¡io
+ ->
+ ty³
+  &&
+ 
+ 214 
+ ¡io
+ ->
+ ty³
+  != '|' && stio->type != '-') {
+ 
+ 215 ià(
+ 	`f¡©
+ (
+ 	`fž’o
+ (
+ å
+ ),&
+ ¡©buf
+ ) < 0) {
+ 
+ 216 ()
+ 	`fþo£
+ (
+ å
+ );
+ 
+ 217  
+ FALSE
+ ;
+ 
+ 219 ià(
+ 	`S_ISSOCK
+ (
+ ¡©buf
+ .
+ ¡_mode
+ ))
+ 
+ 220 
+ ¡io
+ ->
+ ty³
+  = 's';
+ 
+ 221 #ifdeà
+ S_IFMT
+ 
+ 
+ 222 ià(!(
+ ¡©buf
+ .
+ ¡_mode
+  & 
+ S_IFMT
+ ))
+ 
+ 223 
+ ¡io
+ ->
+ ty³
+  = 's';
+ 
+ 226 #ià
+ 	`defšed
+ (
+ HAS_FCNTL
+ è&& defšed(
+ F_SETFD
+ )
+ 
+ 227 
+ fd
+  = 
+ 	`fž’o
+ (
+ å
+ );
+ 
+ 228 
+ 	`fúŽ
+ (
+ fd
+ ,
+ F_SETFD
+ ,fd >= 3);
+ 
+ 230 
+ ¡io
+ ->
+ iå
+  = 
+ å
+ ;
+ 
+ 231 ià(
+ wr™šg
+ ) {
+ 
+ 232 ià(
+ ¡io
+ ->
+ ty³
+  != 's')
+ 
+ 233 
+ ¡io
+ ->
+ oå
+  = 
+ å
+ ;
+ 
+ 235 ià(!(
+ ¡io
+ ->
+ oå
+  = 
+ 	`fdݒ
+ (
+ 	`fž’o
+ (
+ å
+ ),"w"))) {
+ 
+ 236 
+ 	`fþo£
+ (
+ å
+ );
+ 
+ 237 
+ ¡io
+ ->
+ iå
+  = 
+ NuÎå
+ ;
+ 
+ 240  
+ TRUE
+ ;
+ 
+ 241 
+ 	}
+ }
+ 
+ 243 
+ FILE
+  *
+ 
+ 244 
+ 	$Ãxrgv
+ (
+ ¡ab
+ )
+ 
+ 245 
+ STAB
+  *
+ ¡ab
+ ;
+ 
+ 247 
+ STR
+  *
+ ¡r
+ ;
+ 
+ 248 
+ fžedev
+ ;
+ 
+ 249 
+ fžešo
+ ;
+ 
+ 250 
+ fžeuid
+ ;
+ 
+ 251 
+ fžegid
+ ;
+ 
+ 252 
+ fžemode
+  = 0;
+ 
+ 253 
+ ϡfd
+ ;
+ 
+ 254 *
+ ÞdÇme
+ ;
+ 
+ 256 ià(!
+ ¬gvout¡ab
+ )
+ 
+ 257 
+ ¬gvout¡ab
+  = 
+ 	`¡ab’t
+ ("ARGVOUT",
+ TRUE
+ );
+ 
+ 258 ià(
+ fžemode
+  & (
+ S_ISUID
+ |
+ S_ISGID
+ )) {
+ 
+ 259 
+ 	`fæush
+ (
+ 	`¡ab_io
+ (
+ ¬gvout¡ab
+ )->
+ iå
+ );
+ 
+ 260 #ifdeà
+ HAS_FCHMOD
+ 
+ 
+ 261 ()
+ 	`fchmod
+ (
+ ϡfd
+ ,
+ fžemode
+ );
+ 
+ 263 ()
+ 	`chmod
+ (
+ ÞdÇme
+ ,
+ fžemode
+ );
+ 
+ 266 
+ fžemode
+  = 0;
+ 
+ 267 
+ 	`®’
+ (
+ 	`¡ab_x¬¿y
+ (
+ ¡ab
+ )) >= 0) {
+ 
+ 268 
+ ¡r
+  = 
+ 	`ashiá
+ (
+ 	`¡ab_x¬¿y
+ (
+ ¡ab
+ ));
+ 
+ 269 
+ 	`¡r_s£t
+ (
+ 	`¡ab_v®
+ (
+ ¡ab
+ ),
+ ¡r
+ );
+ 
+ 270 
+ 	`STABSET
+ (
+ 	`¡ab_v®
+ (
+ ¡ab
+ ));
+ 
+ 271 
+ ÞdÇme
+  = 
+ 	`¡r_g‘
+ (
+ 	`¡ab_v®
+ (
+ ¡ab
+ ));
+ 
+ 272 ià(
+ 	`do_ݒ
+ (
+ ¡ab
+ ,
+ ÞdÇme
+ ,
+ 	`¡ab_v®
+ (¡ab)->
+ ¡r_cur
+ )) {
+ 
+ 273 ià(
+ š¶aû
+ ) {
+ 
+ 274 #ifdeà
+ TAINT
+ 
+ 
+ 275 
+ 	`šrÝ”
+ ("Insecure dependency in inplace open");
+ 
+ 277 ià(
+ 	`¡rEQ
+ (
+ ÞdÇme
+ ,"-")) {
+ 
+ 278 
+ 	`¡r_ä“
+ (
+ ¡r
+ );
+ 
+ 279 
+ defout¡ab
+  = 
+ 	`¡ab’t
+ ("STDOUT",
+ TRUE
+ );
+ 
+ 280  
+ 	`¡ab_io
+ (
+ ¡ab
+ )->
+ iå
+ ;
+ 
+ 282 
+ fžedev
+  = 
+ ¡©buf
+ .
+ ¡_dev
+ ;
+ 
+ 283 
+ fžešo
+  = 
+ ¡©buf
+ .
+ ¡_šo
+ ;
+ 
+ 284 
+ fžemode
+  = 
+ ¡©buf
+ .
+ ¡_mode
+ ;
+ 
+ 285 
+ fžeuid
+  = 
+ ¡©buf
+ .
+ ¡_uid
+ ;
+ 
+ 286 
+ fžegid
+  = 
+ ¡©buf
+ .
+ ¡_gid
+ ;
+ 
+ 287 ià(!
+ 	`S_ISREG
+ (
+ fžemode
+ )) {
+ 
+ 288 
+ 	`w¬n
+ ("Can't do inplaceƒdit: %s is‚ot‡„egular file",
+ 
+ 289 
+ ÞdÇme
+  );
+ 
+ 290 
+ 	`do_þo£
+ (
+ ¡ab
+ ,
+ FALSE
+ );
+ 
+ 291 
+ 	`¡r_ä“
+ (
+ ¡r
+ );
+ 
+ 294 ià(*
+ š¶aû
+ ) {
+ 
+ 295 #ifdeà
+ SUFFIX
+ 
+ 
+ 296 
+ 	`add_suffix
+ (
+ ¡r
+ ,
+ š¶aû
+ );
+ 
+ 298 
+ 	`¡r_ÿt
+ (
+ ¡r
+ ,
+ š¶aû
+ );
+ 
+ 300 #iâdeà
+ FLEXFILENAMES
+ 
+ 
+ 301 ià(
+ 	`¡©
+ (
+ ¡r
+ ->
+ ¡r_±r
+ ,&
+ ¡©buf
+ ) >= 0
+ 
+ 302 && 
+ ¡©buf
+ .
+ ¡_dev
+  =ð
+ fžedev
+ 
+ 
+ 303 && 
+ ¡©buf
+ .
+ ¡_šo
+  =ð
+ fžešo
+  ) {
+ 
+ 304 
+ 	`w¬n
+ ("Can't do inplaceƒdit: %s > 14 characters",
+ 
+ 305 
+ ¡r
+ ->
+ ¡r_±r
+  );
+ 
+ 306 
+ 	`do_þo£
+ (
+ ¡ab
+ ,
+ FALSE
+ );
+ 
+ 307 
+ 	`¡r_ä“
+ (
+ ¡r
+ );
+ 
+ 311 #ifdeà
+ HAS_RENAME
+ 
+ 
+ 312 #iâdeà
+ MSDOS
+ 
+ 
+ 313 ià(
+ 	`Ȃme
+ (
+ ÞdÇme
+ ,
+ ¡r
+ ->
+ ¡r_±r
+ ) < 0) {
+ 
+ 314 
+ 	`w¬n
+ ("Can't„ename %so %s: %s, skipping file",
+ 
+ 315 
+ ÞdÇme
+ , 
+ ¡r
+ ->
+ ¡r_±r
+ , 
+ 	`¡»¼Ü
+ (
+ Ӽo
+ ) );
+ 
+ 316 
+ 	`do_þo£
+ (
+ ¡ab
+ ,
+ FALSE
+ );
+ 
+ 317 
+ 	`¡r_ä“
+ (
+ ¡r
+ );
+ 
+ 321 
+ 	`do_þo£
+ (
+ ¡ab
+ ,
+ FALSE
+ );
+ 
+ 322 ()
+ 	`uƚk
+ (
+ ¡r
+ ->
+ ¡r_±r
+ );
+ 
+ 323 ()
+ 	`Ȃme
+ (
+ ÞdÇme
+ ,
+ ¡r
+ ->
+ ¡r_±r
+ );
+ 
+ 324 
+ 	`do_ݒ
+ (
+ ¡ab
+ ,
+ ¡r
+ ->
+ ¡r_±r
+ ,
+ 	`¡ab_v®
+ (¡ab)->
+ ¡r_cur
+ );
+ 
+ 327 ()
+ 	`UNLINK
+ (
+ ¡r
+ ->
+ ¡r_±r
+ );
+ 
+ 328 ià(
+ 	`lšk
+ (
+ ÞdÇme
+ ,
+ ¡r
+ ->
+ ¡r_±r
+ ) < 0) {
+ 
+ 329 
+ 	`w¬n
+ ("Can't„ename %so %s: %s, skipping file",
+ 
+ 330 
+ ÞdÇme
+ , 
+ ¡r
+ ->
+ ¡r_±r
+ , 
+ 	`¡»¼Ü
+ (
+ Ӽo
+ ) );
+ 
+ 331 
+ 	`do_þo£
+ (
+ ¡ab
+ ,
+ FALSE
+ );
+ 
+ 332 
+ 	`¡r_ä“
+ (
+ ¡r
+ );
+ 
+ 335 ()
+ 	`UNLINK
+ (
+ ÞdÇme
+ );
+ 
+ 339 #iâdeà
+ MSDOS
+ 
+ 
+ 340 ià(
+ 	`UNLINK
+ (
+ ÞdÇme
+ ) < 0) {
+ 
+ 341 
+ 	`w¬n
+ ("Can't„ename %so %s: %s, skipping file",
+ 
+ 342 
+ ÞdÇme
+ , 
+ ¡r
+ ->
+ ¡r_±r
+ , 
+ 	`¡»¼Ü
+ (
+ Ӽo
+ ) );
+ 
+ 343 
+ 	`do_þo£
+ (
+ ¡ab
+ ,
+ FALSE
+ );
+ 
+ 344 
+ 	`¡r_ä“
+ (
+ ¡r
+ );
+ 
+ 348 
+ 	`çl
+ ("Can't do inplaceƒdit without backup");
+ 
+ 352 
+ 	`¡r_n£t
+ (
+ ¡r
+ ,">",1);
+ 
+ 353 
+ 	`¡r_ÿt
+ (
+ ¡r
+ ,
+ ÞdÇme
+ );
+ 
+ 354 
+ Ӽo
+  = 0;
+ 
+ 355 ià(!
+ 	`do_ݒ
+ (
+ ¬gvout¡ab
+ ,
+ ¡r
+ ->
+ ¡r_±r
+ ,¡r->
+ ¡r_cur
+ )) {
+ 
+ 356 
+ 	`w¬n
+ ("Can't do inplaceƒdit on %s: %s",
+ 
+ 357 
+ ÞdÇme
+ , 
+ 	`¡»¼Ü
+ (
+ Ӽo
+ ) );
+ 
+ 358 
+ 	`do_þo£
+ (
+ ¡ab
+ ,
+ FALSE
+ );
+ 
+ 359 
+ 	`¡r_ä“
+ (
+ ¡r
+ );
+ 
+ 362 
+ defout¡ab
+  = 
+ ¬gvout¡ab
+ ;
+ 
+ 363 
+ ϡfd
+  = 
+ 	`fž’o
+ (
+ 	`¡ab_io
+ (
+ ¬gvout¡ab
+ )->
+ iå
+ );
+ 
+ 364 ()
+ 	`f¡©
+ (
+ ϡfd
+ ,&
+ ¡©buf
+ );
+ 
+ 365 #ifdeà
+ HAS_FCHMOD
+ 
+ 
+ 366 ()
+ 	`fchmod
+ (
+ ϡfd
+ ,
+ fžemode
+ );
+ 
+ 368 ()
+ 	`chmod
+ (
+ ÞdÇme
+ ,
+ fžemode
+ );
+ 
+ 370 ià(
+ fžeuid
+  !ð
+ ¡©buf
+ .
+ ¡_uid
+  || 
+ fžegid
+  !ð¡©buf.
+ ¡_gid
+ ) {
+ 
+ 371 #ifdeà
+ HAS_FCHOWN
+ 
+ 
+ 372 ()
+ 	`fchown
+ (
+ ϡfd
+ ,
+ fžeuid
+ ,
+ fžegid
+ );
+ 
+ 374 #ifdeà
+ HAS_CHOWN
+ 
+ 
+ 375 ()
+ 	`chown
+ (
+ ÞdÇme
+ ,
+ fžeuid
+ ,
+ fžegid
+ );
+ 
+ 380 
+ 	`¡r_ä“
+ (
+ ¡r
+ );
+ 
+ 381  
+ 	`¡ab_io
+ (
+ ¡ab
+ )->
+ iå
+ ;
+ 
+ 384 
+ 	`årštf
+ (
+ ¡d”r
+ ,"Cª'ˆÝ’ %s: %s\n",
+ 	`¡r_g‘
+ (
+ ¡r
+ ), 
+ 	`¡»¼Ü
+ (
+ Ӽo
+ ));
+ 
+ 385 
+ 	`¡r_ä“
+ (
+ ¡r
+ );
+ 
+ 387 ià(
+ š¶aû
+ ) {
+ 
+ 388 ()
+ 	`do_þo£
+ (
+ ¬gvout¡ab
+ ,
+ FALSE
+ );
+ 
+ 389 
+ defout¡ab
+  = 
+ 	`¡ab’t
+ ("STDOUT",
+ TRUE
+ );
+ 
+ 391  
+ NuÎå
+ ;
+ 
+ 392 
+ 	}
+ }
+ 
+ 394 #ifdeà
+ HAS_PIPE
+ 
+ 
+ 396 
+ 	$do_pe
+ (
+ ¡r
+ , 
+ r¡ab
+ , 
+ w¡ab
+ )
+ 
+ 397 
+ STR
+  *
+ ¡r
+ ;
+ 
+ 398 
+ STAB
+  *
+ r¡ab
+ ;
+ 
+ 399 
+ STAB
+  *
+ w¡ab
+ ;
+ 
+ 401 
+ STIO
+  *
+ r¡io
+ ;
+ 
+ 402 
+ STIO
+  *
+ w¡io
+ ;
+ 
+ 403 
+ fd
+ [2];
+ 
+ 405 ià(!
+ r¡ab
+ )
+ 
+ 406 
+ badex™
+ ;
+ 
+ 407 ià(!
+ w¡ab
+ )
+ 
+ 408 
+ badex™
+ ;
+ 
+ 410 
+ r¡io
+  = 
+ 	`¡ab_io
+ (
+ r¡ab
+ );
+ 
+ 411 
+ w¡io
+  = 
+ 	`¡ab_io
+ (
+ w¡ab
+ );
+ 
+ 413 ià(!
+ r¡io
+ )
+ 
+ 414 
+ r¡io
+  = 
+ 	`¡ab_io
+ (
+ r¡ab
+ èð
+ 	`¡io_Ãw
+ ();
+ 
+ 415 ià(
+ r¡io
+ ->
+ iå
+ )
+ 
+ 416 
+ 	`do_þo£
+ (
+ r¡ab
+ ,
+ FALSE
+ );
+ 
+ 417 ià(!
+ w¡io
+ )
+ 
+ 418 
+ w¡io
+  = 
+ 	`¡ab_io
+ (
+ w¡ab
+ èð
+ 	`¡io_Ãw
+ ();
+ 
+ 419 ià(
+ w¡io
+ ->
+ iå
+ )
+ 
+ 420 
+ 	`do_þo£
+ (
+ w¡ab
+ ,
+ FALSE
+ );
+ 
+ 422 ià(
+ 	`pe
+ (
+ fd
+ ) < 0)
+ 
+ 423 
+ badex™
+ ;
+ 
+ 424 
+ r¡io
+ ->
+ iå
+  = 
+ 	`fdݒ
+ (
+ fd
+ [0], "r");
+ 
+ 425 
+ w¡io
+ ->
+ oå
+  = 
+ 	`fdݒ
+ (
+ fd
+ [1], "w");
+ 
+ 426 
+ w¡io
+ ->
+ iå
+  = w¡io->
+ oå
+ ;
+ 
+ 427 
+ r¡io
+ ->
+ ty³
+  = '<';
+ 
+ 428 
+ w¡io
+ ->
+ ty³
+  = '>';
+ 
+ 429 ià(!
+ r¡io
+ ->
+ iå
+  || !
+ w¡io
+ ->
+ oå
+ ) {
+ 
+ 430 ià(
+ r¡io
+ ->
+ iå
+ è
+ 	`fþo£
+ (rstio->ifp);
+ 
+ 431 
+ 	`þo£
+ (
+ fd
+ [0]);
+ 
+ 432 ià(
+ w¡io
+ ->
+ oå
+ è
+ 	`fþo£
+ (wstio->ofp);
+ 
+ 433 
+ 	`þo£
+ (
+ fd
+ [1]);
+ 
+ 434 
+ badex™
+ ;
+ 
+ 437 
+ 	`¡r_s£t
+ (
+ ¡r
+ ,&
+ ¡r_yes
+ );
+ 
+ 440 
+ badex™
+ :
+ 
+ 441 
+ 	`¡r_s£t
+ (
+ ¡r
+ ,&
+ ¡r_undef
+ );
+ 
+ 443 
+ 	}
+ }
+ 
+ 446 
+ boÞ
+ 
+ 
+ 447 
+ 	$do_þo£
+ (
+ ¡ab
+ ,
+ ex¶ic™
+ )
+ 
+ 448 
+ STAB
+  *
+ ¡ab
+ ;
+ 
+ 449 
+ boÞ
+  
+ ex¶ic™
+ ;
+ 
+ 451 
+ boÞ
+  
+ »tv®
+  = 
+ FALSE
+ ;
+ 
+ 452 
+ STIO
+  *
+ ¡io
+ ;
+ 
+ 453 
+ ¡©us
+ ;
+ 
+ 455 ià(!
+ ¡ab
+ )
+ 
+ 456 
+ ¡ab
+  = 
+ ¬gv¡ab
+ ;
+ 
+ 457 ià(!
+ ¡ab
+ )
+ 
+ 458  
+ FALSE
+ ;
+ 
+ 459 
+ ¡io
+  = 
+ 	`¡ab_io
+ (
+ ¡ab
+ );
+ 
+ 460 ià(!
+ ¡io
+ ) {
+ 
+ 461 ià(
+ dow¬n
+  && 
+ ex¶ic™
+ )
+ 
+ 462 
+ 	`w¬n
+ ("Clo£ oÀunÝ’ed fž<%s>",
+ 	`¡ab_Çme
+ (
+ ¡ab
+ ));
+ 
+ 463  
+ FALSE
+ ;
+ 
+ 465 ià(
+ ¡io
+ ->
+ iå
+ ) {
+ 
+ 466 ià(
+ ¡io
+ ->
+ ty³
+  == '|') {
+ 
+ 467 
+ ¡©us
+  = 
+ 	`mypþo£
+ (
+ ¡io
+ ->
+ iå
+ );
+ 
+ 468 
+ »tv®
+  = (
+ ¡©us
+  == 0);
+ 
+ 469 
+ ¡©usv®ue
+  = ()
+ ¡©us
+  & 0xffff;
+ 
+ 471 ià(
+ ¡io
+ ->
+ ty³
+  == '-')
+ 
+ 472 
+ »tv®
+  = 
+ TRUE
+ ;
+ 
+ 474 ià(
+ ¡io
+ ->
+ oå
+  && stio->oå !ð¡io->
+ iå
+ ) {
+ 
+ 475 
+ »tv®
+  = (
+ 	`fþo£
+ (
+ ¡io
+ ->
+ oå
+ è!ð
+ EOF
+ );
+ 
+ 476 
+ 	`fþo£
+ (
+ ¡io
+ ->
+ iå
+ );
+ 
+ 479 
+ »tv®
+  = (
+ 	`fþo£
+ (
+ ¡io
+ ->
+ iå
+ è!ð
+ EOF
+ );
+ 
+ 481 
+ ¡io
+ ->
+ oå
+  = stio->
+ iå
+  = 
+ NuÎå
+ ;
+ 
+ 483 ià(
+ ex¶ic™
+ )
+ 
+ 484 
+ ¡io
+ ->
+ lšes
+  = 0;
+ 
+ 485 
+ ¡io
+ ->
+ ty³
+  = ' ';
+ 
+ 486  
+ »tv®
+ ;
+ 
+ 487 
+ 	}
+ }
+ 
+ 489 
+ boÞ
+ 
+ 
+ 490 
+ 	$do_eof
+ (
+ ¡ab
+ )
+ 
+ 491 
+ STAB
+  *
+ ¡ab
+ ;
+ 
+ 493 
+ STIO
+  *
+ ¡io
+ ;
+ 
+ 494 
+ ch
+ ;
+ 
+ 496 ià(!
+ ¡ab
+ ) {
+ 
+ 497 ià(
+ ¬gv¡ab
+ )
+ 
+ 498 
+ ¡io
+  = 
+ 	`¡ab_io
+ (
+ ¬gv¡ab
+ );
+ 
+ 500  
+ TRUE
+ ;
+ 
+ 503 
+ ¡io
+  = 
+ 	`¡ab_io
+ (
+ ¡ab
+ );
+ 
+ 505 ià(!
+ ¡io
+ )
+ 
+ 506  
+ TRUE
+ ;
+ 
+ 508 
+ ¡io
+ ->
+ iå
+ ) {
+ 
+ 510 #ifdeà
+ STDSTDIO
+ 
+ 
+ 511 ià(
+ ¡io
+ ->
+ iå
+ ->
+ _út
+  > 0)
+ 
+ 512  
+ FALSE
+ ;
+ 
+ 515 
+ ch
+  = 
+ 	`g‘c
+ (
+ ¡io
+ ->
+ iå
+ );
+ 
+ 516 ià(
+ ch
+  !ð
+ EOF
+ ) {
+ 
+ 517 ()
+ 	`ung‘c
+ (
+ ch
+ , 
+ ¡io
+ ->
+ iå
+ );
+ 
+ 518  
+ FALSE
+ ;
+ 
+ 520 #ifdeà
+ STDSTDIO
+ 
+ 
+ 521 ià(
+ ¡io
+ ->
+ iå
+ ->
+ _út
+  < -1)
+ 
+ 522 
+ ¡io
+ ->
+ iå
+ ->
+ _út
+  = -1;
+ 
+ 524 ià(!
+ ¡ab
+ ) {
+ 
+ 525 ià(!
+ 	`Ãxrgv
+ (
+ ¬gv¡ab
+ ))
+ 
+ 526  
+ TRUE
+ ;
+ 
+ 529  
+ TRUE
+ ;
+ 
+ 531  
+ TRUE
+ ;
+ 
+ 532 
+ 	}
+ }
+ 
+ 535 
+ 	$do_‹Î
+ (
+ ¡ab
+ )
+ 
+ 536 
+ STAB
+  *
+ ¡ab
+ ;
+ 
+ 538 
+ STIO
+  *
+ ¡io
+ ;
+ 
+ 540 ià(!
+ ¡ab
+ )
+ 
+ 541 
+ phoÛy
+ ;
+ 
+ 543 
+ ¡io
+  = 
+ 	`¡ab_io
+ (
+ ¡ab
+ );
+ 
+ 544 ià(!
+ ¡io
+  || !¡io->
+ iå
+ )
+ 
+ 545 
+ phoÛy
+ ;
+ 
+ 547 ià(
+ 	`ãof
+ (
+ ¡io
+ ->
+ iå
+ ))
+ 
+ 548 ()
+ 	`f£ek
+  (
+ ¡io
+ ->
+ iå
+ , 0L, 2);
+ 
+ 550  
+ 	`á–l
+ (
+ ¡io
+ ->
+ iå
+ );
+ 
+ 552 
+ phoÛy
+ :
+ 
+ 553 ià(
+ dow¬n
+ )
+ 
+ 554 
+ 	`w¬n
+ ("tell() on unopened file");
+ 
+ 556 
+ 	}
+ }
+ 
+ 558 
+ boÞ
+ 
+ 
+ 559 
+ 	$do_£ek
+ (
+ ¡ab
+ , 
+ pos
+ , 
+ wh’û
+ )
+ 
+ 560 
+ STAB
+  *
+ ¡ab
+ ;
+ 
+ 561 
+ pos
+ ;
+ 
+ 562 
+ wh’û
+ ;
+ 
+ 564 
+ STIO
+  *
+ ¡io
+ ;
+ 
+ 566 ià(!
+ ¡ab
+ )
+ 
+ 567 
+ nuts
+ ;
+ 
+ 569 
+ ¡io
+  = 
+ 	`¡ab_io
+ (
+ ¡ab
+ );
+ 
+ 570 ià(!
+ ¡io
+  || !¡io->
+ iå
+ )
+ 
+ 571 
+ nuts
+ ;
+ 
+ 573 ià(
+ 	`ãof
+ (
+ ¡io
+ ->
+ iå
+ ))
+ 
+ 574 ()
+ 	`f£ek
+  (
+ ¡io
+ ->
+ iå
+ , 0L, 2);
+ 
+ 576  
+ 	`f£ek
+ (
+ ¡io
+ ->
+ iå
+ , 
+ pos
+ , 
+ wh’û
+ ) >= 0;
+ 
+ 578 
+ nuts
+ :
+ 
+ 579 ià(
+ dow¬n
+ )
+ 
+ 580 
+ 	`w¬n
+ ("seek() on unopened file");
+ 
+ 581  
+ FALSE
+ ;
+ 
+ 582 
+ 	}
+ }
+ 
+ 585 
+ 	$do_ùl
+ (
+ Ýty³
+ ,
+ ¡ab
+ ,
+ func
+ ,
+ ¬g¡r
+ )
+ 
+ 586 
+ Ýty³
+ ;
+ 
+ 587 
+ STAB
+  *
+ ¡ab
+ ;
+ 
+ 588 
+ func
+ ;
+ 
+ 589 
+ STR
+  *
+ ¬g¡r
+ ;
+ 
+ 591 
+ STIO
+  *
+ ¡io
+ ;
+ 
+ 592 *
+ s
+ ;
+ 
+ 593 
+ »tv®
+ ;
+ 
+ 595 ià(!
+ ¡ab
+  || !
+ ¬g¡r
+ )
+ 
+ 597 
+ ¡io
+  = 
+ 	`¡ab_io
+ (
+ ¡ab
+ );
+ 
+ 598 ià(!
+ ¡io
+ )
+ 
+ 601 ià(
+ ¬g¡r
+ ->
+ ¡r_pok
+  || !¬g¡r->
+ ¡r_nok
+ ) {
+ 
+ 602 ià(!
+ ¬g¡r
+ ->
+ ¡r_pok
+ )
+ 
+ 603 
+ s
+  = 
+ 	`¡r_g‘
+ (
+ ¬g¡r
+ );
+ 
+ 605 #ifdeà
+ IOCPARM_MASK
+ 
+ 
+ 606 #iâdeà
+ IOCPARM_LEN
+ 
+ 
+ 607 
+ 	#IOCPARM_LEN
+ (
+ x
+ è(((xè>> 16è& 
+ IOCPARM_MASK
+ )
+ 
+ 	)
+ 
+ 610 #ifdeà
+ IOCPARM_LEN
+ 
+ 
+ 611 
+ »tv®
+  = 
+ 	`IOCPARM_LEN
+ (
+ func
+ );
+ 
+ 613 
+ »tv®
+  = 256;
+ 
+ 615 ià(
+ ¬g¡r
+ ->
+ ¡r_cur
+  < 
+ »tv®
+ ) {
+ 
+ 616 
+ 	`SŒ_Grow
+ (
+ ¬g¡r
+ ,
+ »tv®
+ +1);
+ 
+ 617 
+ ¬g¡r
+ ->
+ ¡r_cur
+  = 
+ »tv®
+ ;
+ 
+ 620 
+ s
+  = 
+ ¬g¡r
+ ->
+ ¡r_±r
+ ;
+ 
+ 621 
+ s
+ [
+ ¬g¡r
+ ->
+ ¡r_cur
+ ] = 17;
+ 
+ 624 
+ »tv®
+  = ()
+ 	`¡r_gnum
+ (
+ ¬g¡r
+ );
+ 
+ 625 #ifdeà
+ MSDOS
+ 
+ 
+ 626 
+ s
+  = (*)()
+ »tv®
+ ;
+ 
+ 628 
+ s
+  = (*)
+ »tv®
+ ;
+ 
+ 632 #iâdeà
+ lšt
+ 
+ 
+ 633 ià(
+ Ýty³
+  =ð
+ O_IOCTL
+ )
+ 
+ 634 
+ »tv®
+  = 
+ 	`ioùl
+ (
+ 	`fž’o
+ (
+ ¡io
+ ->
+ iå
+ ), 
+ func
+ , 
+ s
+ );
+ 
+ 636 #ifdeà
+ MSDOS
+ 
+ 
+ 637 
+ 	`çl
+ ("fcntl is‚ot implemented");
+ 
+ 639 #ifdeà
+ HAS_FCNTL
+ 
+ 
+ 640 
+ »tv®
+  = 
+ 	`fúŽ
+ (
+ 	`fž’o
+ (
+ ¡io
+ ->
+ iå
+ ), 
+ func
+ , 
+ s
+ );
+ 
+ 642 
+ 	`çl
+ ("fcntl is‚ot implemented");
+ 
+ 646 
+ »tv®
+  = 0;
+ 
+ 649 ià(
+ ¬g¡r
+ ->
+ ¡r_pok
+ ) {
+ 
+ 650 ià(
+ s
+ [
+ ¬g¡r
+ ->
+ ¡r_cur
+ ] != 17)
+ 
+ 651 
+ 	`çl
+ ("Return value overflowed string");
+ 
+ 652 
+ s
+ [
+ ¬g¡r
+ ->
+ ¡r_cur
+ ] = 0;
+ 
+ 654  
+ »tv®
+ ;
+ 
+ 655 
+ 	}
+ }
+ 
+ 658 
+ 	$do_¡©
+ (
+ ¡r
+ ,
+ ¬g
+ ,
+ gimme
+ ,
+ ¬gÏ¡
+ )
+ 
+ 659 
+ STR
+  *
+ ¡r
+ ;
+ 
+ 660 
+ ARG
+  *
+ ¬g
+ ;
+ 
+ 661 
+ gimme
+ ;
+ 
+ 662 *
+ ¬gÏ¡
+ ;
+ 
+ 664 
+ ARRAY
+  *
+ ¬y
+  = 
+ ¡ack
+ ;
+ 
+ 665 
+ ¥
+  = 
+ ¬gÏ¡
+ [0] + 1;
+ 
+ 666 
+ max
+  = 13;
+ 
+ 668 ià((
+ ¬g
+ [1].
+ ¬g_ty³
+  & 
+ A_MASK
+ è=ð
+ A_WORD
+ ) {
+ 
+ 669 
+ tmp¡ab
+  = 
+ ¬g
+ [1].
+ ¬g_±r
+ .
+ ¬g_¡ab
+ ;
+ 
+ 670 ià(
+ tmp¡ab
+  !ð
+ def¡ab
+ ) {
+ 
+ 671 
+ Ï¡¡y³
+  = 
+ O_STAT
+ ;
+ 
+ 672 
+ ¡©¡ab
+  = 
+ tmp¡ab
+ ;
+ 
+ 673 
+ 	`¡r_£t
+ (
+ ¡©Çme
+ ,"");
+ 
+ 674 ià(!
+ 	`¡ab_io
+ (
+ tmp¡ab
+ è|| !¡ab_ioÑmp¡ab)->
+ iå
+  ||
+ 
+ 675 
+ 	`f¡©
+ (
+ 	`fž’o
+ (
+ 	`¡ab_io
+ (
+ tmp¡ab
+ )->
+ iå
+ ),&
+ ¡©ÿche
+ ) < 0) {
+ 
+ 676 
+ max
+  = 0;
+ 
+ 677 
+ Ï¡¡©v®
+  = -1;
+ 
+ 680 ià(
+ Ï¡¡©v®
+  < 0)
+ 
+ 681 
+ max
+  = 0;
+ 
+ 684 
+ 	`¡r_£t
+ (
+ ¡©Çme
+ ,
+ 	`¡r_g‘
+ (
+ ¬y
+ ->
+ ¬y_¬¿y
+ [
+ ¥
+ ]));
+ 
+ 685 
+ ¡©¡ab
+  = 
+ NuΡab
+ ;
+ 
+ 686 #ifdeà
+ HAS_LSTAT
+ 
+ 
+ 687 
+ Ï¡¡y³
+  = 
+ ¬g
+ ->
+ ¬g_ty³
+ ;
+ 
+ 688 ià(
+ ¬g
+ ->
+ ¬g_ty³
+  =ð
+ O_LSTAT
+ )
+ 
+ 689 
+ Ï¡¡©v®
+  = 
+ 	`l¡©
+ (
+ 	`¡r_g‘
+ (
+ ¡©Çme
+ ),&
+ ¡©ÿche
+ );
+ 
+ 692 
+ Ï¡¡©v®
+  = 
+ 	`¡©
+ (
+ 	`¡r_g‘
+ (
+ ¡©Çme
+ ),&
+ ¡©ÿche
+ );
+ 
+ 693 ià(
+ Ï¡¡©v®
+  < 0)
+ 
+ 694 
+ max
+  = 0;
+ 
+ 697 ià(
+ gimme
+  !ð
+ G_ARRAY
+ ) {
+ 
+ 698 ià(
+ max
+ )
+ 
+ 699 
+ 	`¡r_s£t
+ (
+ ¡r
+ ,&
+ ¡r_yes
+ );
+ 
+ 701 
+ 	`¡r_s£t
+ (
+ ¡r
+ ,&
+ ¡r_undef
+ );
+ 
+ 702 
+ 	`STABSET
+ (
+ ¡r
+ );
+ 
+ 703 
+ ¬y
+ ->
+ ¬y_¬¿y
+ [
+ ¥
+ ] = 
+ ¡r
+ ;
+ 
+ 704  
+ ¥
+ ;
+ 
+ 706 
+ ¥
+ --;
+ 
+ 707 ià(
+ max
+ ) {
+ 
+ 708 #iâdeà
+ lšt
+ 
+ 
+ 709 ()
+ 	`a¡Üe
+ (
+ ¬y
+ ,++
+ ¥
+ ,
+ 
+ 710 
+ 	`¡r_2m܏l
+ (
+ 	`¡r_nmake
+ (()
+ ¡©ÿche
+ .
+ ¡_dev
+ )));
+ 
+ 711 ()
+ 	`a¡Üe
+ (
+ ¬y
+ ,++
+ ¥
+ ,
+ 
+ 712 
+ 	`¡r_2m܏l
+ (
+ 	`¡r_nmake
+ (()
+ ¡©ÿche
+ .
+ ¡_šo
+ )));
+ 
+ 713 ()
+ 	`a¡Üe
+ (
+ ¬y
+ ,++
+ ¥
+ ,
+ 
+ 714 
+ 	`¡r_2m܏l
+ (
+ 	`¡r_nmake
+ (()
+ ¡©ÿche
+ .
+ ¡_mode
+ )));
+ 
+ 715 ()
+ 	`a¡Üe
+ (
+ ¬y
+ ,++
+ ¥
+ ,
+ 
+ 716 
+ 	`¡r_2m܏l
+ (
+ 	`¡r_nmake
+ (()
+ ¡©ÿche
+ .
+ ¡_Æšk
+ )));
+ 
+ 717 ()
+ 	`a¡Üe
+ (
+ ¬y
+ ,++
+ ¥
+ ,
+ 
+ 718 
+ 	`¡r_2m܏l
+ (
+ 	`¡r_nmake
+ (()
+ ¡©ÿche
+ .
+ ¡_uid
+ )));
+ 
+ 719 ()
+ 	`a¡Üe
+ (
+ ¬y
+ ,++
+ ¥
+ ,
+ 
+ 720 
+ 	`¡r_2m܏l
+ (
+ 	`¡r_nmake
+ (()
+ ¡©ÿche
+ .
+ ¡_gid
+ )));
+ 
+ 721 ()
+ 	`a¡Üe
+ (
+ ¬y
+ ,++
+ ¥
+ ,
+ 
+ 722 
+ 	`¡r_2m܏l
+ (
+ 	`¡r_nmake
+ (()
+ ¡©ÿche
+ .
+ ¡_rdev
+ )));
+ 
+ 723 ()
+ 	`a¡Üe
+ (
+ ¬y
+ ,++
+ ¥
+ ,
+ 
+ 724 
+ 	`¡r_2m܏l
+ (
+ 	`¡r_nmake
+ (()
+ ¡©ÿche
+ .
+ ¡_size
+ )));
+ 
+ 725 ()
+ 	`a¡Üe
+ (
+ ¬y
+ ,++
+ ¥
+ ,
+ 
+ 726 
+ 	`¡r_2m܏l
+ (
+ 	`¡r_nmake
+ (()
+ ¡©ÿche
+ .
+ ¡_©ime
+ )));
+ 
+ 727 ()
+ 	`a¡Üe
+ (
+ ¬y
+ ,++
+ ¥
+ ,
+ 
+ 728 
+ 	`¡r_2m܏l
+ (
+ 	`¡r_nmake
+ (()
+ ¡©ÿche
+ .
+ ¡_mtime
+ )));
+ 
+ 729 ()
+ 	`a¡Üe
+ (
+ ¬y
+ ,++
+ ¥
+ ,
+ 
+ 730 
+ 	`¡r_2m܏l
+ (
+ 	`¡r_nmake
+ (()
+ ¡©ÿche
+ .
+ ¡_ùime
+ )));
+ 
+ 731 #ifdeà
+ STATBLOCKS
+ 
+ 
+ 732 ()
+ 	`a¡Üe
+ (
+ ¬y
+ ,++
+ ¥
+ ,
+ 
+ 733 
+ 	`¡r_2m܏l
+ (
+ 	`¡r_nmake
+ (()
+ ¡©ÿche
+ .
+ ¡_blksize
+ )));
+ 
+ 734 ()
+ 	`a¡Üe
+ (
+ ¬y
+ ,++
+ ¥
+ ,
+ 
+ 735 
+ 	`¡r_2m܏l
+ (
+ 	`¡r_nmake
+ (()
+ ¡©ÿche
+ .
+ ¡_blocks
+ )));
+ 
+ 737 ()
+ 	`a¡Üe
+ (
+ ¬y
+ ,++
+ ¥
+ ,
+ 
+ 738 
+ 	`¡r_2m܏l
+ (
+ 	`¡r_make
+ ("",0)));
+ 
+ 739 ()
+ 	`a¡Üe
+ (
+ ¬y
+ ,++
+ ¥
+ ,
+ 
+ 740 
+ 	`¡r_2m܏l
+ (
+ 	`¡r_make
+ ("",0)));
+ 
+ 743 ()
+ 	`a¡Üe
+ (
+ ¬y
+ ,++
+ ¥
+ ,
+ 	`¡r_nmake
+ (0.0));
+ 
+ 746  
+ ¥
+ ;
+ 
+ 747 
+ 	}
+ }
+ 
+ 749 #ià!
+ defšed
+ (
+ HAS_TRUNCATE
+ è&& !defšed(
+ HAS_CHSIZE
+ è&& defšed(
+ F_FREESP
+ )
+ 
+ 751 
+ 	#HAS_CHSIZE
+ 
+ 
+ 	)
+ 
+ 753 
+ 	$chsize
+ (
+ fd
+ , 
+ Ëngth
+ )
+ 
+ 754 
+ fd
+ ;
+ 
+ 755 
+ off_t
+  
+ Ëngth
+ ;
+ 
+ 757 

+ 	`l£ek
+ ();
+ 
+ 758 
+ æock
+  
+ æ
+ ;
+ 
+ 759 
+ ¡©
+  
+ fžebuf
+ ;
+ 
+ 761 ià(
+ 	`f¡©
+ (
+ fd
+ , &
+ fžebuf
+ ) < 0)
+ 
+ 764 ià(
+ fžebuf
+ .
+ ¡_size
+  < 
+ Ëngth
+ ) {
+ 
+ 768 ià((
+ 	`l£ek
+ (
+ fd
+ , (
+ Ëngth
+  - 1), 0)) < 0)
+ 
+ 773 ià((
+ 	`wr™e
+ (
+ fd
+ , "", 1)) != 1)
+ 
+ 779 
+ æ
+ .
+ l_wh’û
+  = 0;
+ 
+ 780 
+ æ
+ .
+ l_Ën
+  = 0;
+ 
+ 781 
+ æ
+ .
+ l_¡¬t
+  = 
+ Ëngth
+ ;
+ 
+ 782 
+ æ
+ .
+ l_ty³
+  = 
+ F_WRLCK
+ ;
+ 
+ 792 ià(
+ 	`fúŽ
+ (
+ fd
+ , 
+ F_FREESP
+ , &
+ æ
+ ) < 0)
+ 
+ 798 
+ 	}
+ }
+ 
+ 802 
+ 	$do_Œunÿ‹
+ (
+ ¡r
+ ,
+ ¬g
+ ,
+ gimme
+ ,
+ ¬gÏ¡
+ )
+ 
+ 803 
+ STR
+  *
+ ¡r
+ ;
+ 
+ 804 
+ ARG
+  *
+ ¬g
+ ;
+ 
+ 805 
+ gimme
+ ;
+ 
+ 806 *
+ ¬gÏ¡
+ ;
+ 
+ 808 
+ ARRAY
+  *
+ ¬y
+  = 
+ ¡ack
+ ;
+ 
+ 809 
+ ¥
+  = 
+ ¬gÏ¡
+ [0] + 1;
+ 
+ 810 
+ off_t
+  
+ Ën
+  = (off_t)
+ 	`¡r_gnum
+ (
+ ¬y
+ ->
+ ¬y_¬¿y
+ [
+ ¥
+ +1]);
+ 
+ 811 
+ »suÉ
+  = 1;
+ 
+ 812 
+ STAB
+  *
+ tmp¡ab
+ ;
+ 
+ 814 #ià
+ 	`defšed
+ (
+ HAS_TRUNCATE
+ è|| defšed(
+ HAS_CHSIZE
+ )
+ 
+ 815 #ifdeà
+ HAS_TRUNCATE
+ 
+ 
+ 816 ià((
+ ¬g
+ [1].
+ ¬g_ty³
+  & 
+ A_MASK
+ è=ð
+ A_WORD
+ ) {
+ 
+ 817 
+ tmp¡ab
+  = 
+ ¬g
+ [1].
+ ¬g_±r
+ .
+ ¬g_¡ab
+ ;
+ 
+ 818 ià(!
+ 	`¡ab_io
+ (
+ tmp¡ab
+ ) ||
+ 
+ 819 
+ 	`árunÿ‹
+ (
+ 	`fž’o
+ (
+ 	`¡ab_io
+ (
+ tmp¡ab
+ )->
+ iå
+ ), 
+ Ën
+ ) < 0)
+ 
+ 820 
+ »suÉ
+  = 0;
+ 
+ 822 ià(
+ 	`Œunÿ‹
+ (
+ 	`¡r_g‘
+ (
+ ¬y
+ ->
+ ¬y_¬¿y
+ [
+ ¥
+ ]), 
+ Ën
+ ) < 0)
+ 
+ 823 
+ »suÉ
+  = 0;
+ 
+ 825 ià((
+ ¬g
+ [1].
+ ¬g_ty³
+  & 
+ A_MASK
+ è=ð
+ A_WORD
+ ) {
+ 
+ 826 
+ tmp¡ab
+  = 
+ ¬g
+ [1].
+ ¬g_±r
+ .
+ ¬g_¡ab
+ ;
+ 
+ 827 ià(!
+ 	`¡ab_io
+ (
+ tmp¡ab
+ ) ||
+ 
+ 828 
+ 	`chsize
+ (
+ 	`fž’o
+ (
+ 	`¡ab_io
+ (
+ tmp¡ab
+ )->
+ iå
+ ), 
+ Ën
+ ) < 0)
+ 
+ 829 
+ »suÉ
+  = 0;
+ 
+ 832 
+ tmpfd
+ ;
+ 
+ 834 ià((
+ tmpfd
+  = 
+ 	`ݒ
+ (
+ 	`¡r_g‘
+ (
+ ¬y
+ ->
+ ¬y_¬¿y
+ [
+ ¥
+ ]), 0)) < 0)
+ 
+ 835 
+ »suÉ
+  = 0;
+ 
+ 837 ià(
+ 	`chsize
+ (
+ tmpfd
+ , 
+ Ën
+ ) < 0)
+ 
+ 838 
+ »suÉ
+  = 0;
+ 
+ 839 
+ 	`þo£
+ (
+ tmpfd
+ );
+ 
+ 844 ià(
+ »suÉ
+ )
+ 
+ 845 
+ 	`¡r_s£t
+ (
+ ¡r
+ ,&
+ ¡r_yes
+ );
+ 
+ 847 
+ 	`¡r_s£t
+ (
+ ¡r
+ ,&
+ ¡r_undef
+ );
+ 
+ 848 
+ 	`STABSET
+ (
+ ¡r
+ );
+ 
+ 849 
+ ¬y
+ ->
+ ¬y_¬¿y
+ [
+ ¥
+ ] = 
+ ¡r
+ ;
+ 
+ 850  
+ ¥
+ ;
+ 
+ 852 
+ 	`çl
+ ("truncate‚ot implemented");
+ 
+ 854 
+ 	}
+ }
+ 
+ 857 
+ 	$looks_like_numb”
+ (
+ ¡r
+ )
+ 
+ 858 
+ STR
+  *
+ ¡r
+ ;
+ 
+ 860 *
+ s
+ ;
+ 
+ 861 *
+ £nd
+ ;
+ 
+ 863 ià(!
+ ¡r
+ ->
+ ¡r_pok
+ )
+ 
+ 864  
+ TRUE
+ ;
+ 
+ 865 
+ s
+  = 
+ ¡r
+ ->
+ ¡r_±r
+ ;
+ 
+ 866 
+ £nd
+  = 
+ s
+  + 
+ ¡r
+ ->
+ ¡r_cur
+ ;
+ 
+ 867 
+ 	`is¥aû
+ (*
+ s
+ ))
+ 
+ 868 
+ s
+ ++;
+ 
+ 869 ià(
+ s
+  >ð
+ £nd
+ )
+ 
+ 870  
+ FALSE
+ ;
+ 
+ 871 ià(*
+ s
+  == '+' || *s == '-')
+ 
+ 872 
+ s
+ ++;
+ 
+ 873 
+ 	`isdig™
+ (*
+ s
+ ))
+ 
+ 874 
+ s
+ ++;
+ 
+ 875 ià(
+ s
+  =ð
+ £nd
+ )
+ 
+ 876  
+ TRUE
+ ;
+ 
+ 877 ià(*
+ s
+  == '.')
+ 
+ 878 
+ s
+ ++;
+ 
+ 879 ià(
+ s
+  =ð
+ ¡r
+ ->
+ ¡r_±r
+ )
+ 
+ 880  
+ FALSE
+ ;
+ 
+ 881 
+ 	`isdig™
+ (*
+ s
+ ))
+ 
+ 882 
+ s
+ ++;
+ 
+ 883 ià(
+ s
+  =ð
+ £nd
+ )
+ 
+ 884  
+ TRUE
+ ;
+ 
+ 885 ià(*
+ s
+  == 'e' || *s == 'E') {
+ 
+ 886 
+ s
+ ++;
+ 
+ 887 ià(*
+ s
+  == '+' || *s == '-')
+ 
+ 888 
+ s
+ ++;
+ 
+ 889 
+ 	`isdig™
+ (*
+ s
+ ))
+ 
+ 890 
+ s
+ ++;
+ 
+ 892 
+ 	`is¥aû
+ (*
+ s
+ ))
+ 
+ 893 
+ s
+ ++;
+ 
+ 894 ià(
+ s
+  >ð
+ £nd
+ )
+ 
+ 895  
+ TRUE
+ ;
+ 
+ 896  
+ FALSE
+ ;
+ 
+ 897 
+ 	}
+ }
+ 
+ 899 
+ boÞ
+ 
+ 
+ 900 
+ 	$do_´št
+ (
+ ¡r
+ ,
+ å
+ )
+ 
+ 901 
+ STR
+  *
+ ¡r
+ ;
+ 
+ 902 
+ FILE
+  *
+ å
+ ;
+ 
+ 904 *
+ tmps
+ ;
+ 
+ 906 ià(!
+ å
+ ) {
+ 
+ 907 ià(
+ dow¬n
+ )
+ 
+ 908 
+ 	`w¬n
+ ("printo unopened file");
+ 
+ 909  
+ FALSE
+ ;
+ 
+ 911 ià(!
+ ¡r
+ )
+ 
+ 912  
+ TRUE
+ ;
+ 
+ 913 ià(
+ ofmt
+  &&
+ 
+ 914 ((
+ ¡r
+ ->
+ ¡r_nok
+  && sŒ->
+ ¡r_u
+ .
+ ¡r_nv®
+  != 0.0)
+ 
+ 915 || (
+ 	`looks_like_numb”
+ (
+ ¡r
+ è&& 
+ 	`¡r_gnum
+ (str) != 0.0) ) ) {
+ 
+ 916 
+ 	`årštf
+ (
+ å
+ , 
+ ofmt
+ , 
+ ¡r
+ ->
+ ¡r_u
+ .
+ ¡r_nv®
+ );
+ 
+ 917  !
+ 	`ã¼Ü
+ (
+ å
+ );
+ 
+ 920 
+ tmps
+  = 
+ 	`¡r_g‘
+ (
+ ¡r
+ );
+ 
+ 921 ià(*
+ tmps
+  == 'S' &&mps[1] == 't' &&mps[2] == 'B' &&mps[3] == '\0'
+ 
+ 922 && 
+ ¡r
+ ->
+ ¡r_cur
+  =ð(
+ STBP
+ è&& 
+ 	`¡¾’
+ (
+ tmps
+ ) < str->str_cur) {
+ 
+ 923 
+ STR
+  *
+ tmp¡r
+  = 
+ 	`¡r_m܏l
+ (&
+ ¡r_undef
+ );
+ 
+ 924 
+ 	`¡ab_fuÎÇme
+ (
+ tmp¡r
+ ,((
+ STAB
+ *)
+ ¡r
+ ));
+ 
+ 925 
+ ¡r
+  = 
+ tmp¡r
+ ;
+ 
+ 926 
+ tmps
+  = 
+ ¡r
+ ->
+ ¡r_±r
+ ;
+ 
+ 927 
+ 	`putc
+ ('*',
+ å
+ );
+ 
+ 929 ià(
+ ¡r
+ ->
+ ¡r_cur
+  && (
+ 	`fwr™e
+ (
+ tmps
+ ,1,¡r->¡r_cur,
+ å
+ è=ð0 || 
+ 	`ã¼Ü
+ (fp)))
+ 
+ 930  
+ FALSE
+ ;
+ 
+ 932  
+ TRUE
+ ;
+ 
+ 933 
+ 	}
+ }
+ 
+ 935 
+ boÞ
+ 
+ 
+ 936 
+ 	$do_­ršt
+ (
+ ¬g
+ ,
+ å
+ ,
+ ¬gÏ¡
+ )
+ 
+ 937 
+ ARG
+  *
+ ¬g
+ ;
+ 
+ 938 
+ FILE
+  *
+ å
+ ;
+ 
+ 939 *
+ ¬gÏ¡
+ ;
+ 
+ 941 
+ STR
+  **
+ ¡
+  = 
+ ¡ack
+ ->
+ ¬y_¬¿y
+ ;
+ 
+ 942 
+ ¥
+  = 
+ ¬gÏ¡
+ [1];
+ 
+ 943 
+ »tv®
+ ;
+ 
+ 944 
+ ™ems
+  = 
+ ¬gÏ¡
+ [2] - 
+ ¥
+ ;
+ 
+ 946 ià(!
+ å
+ ) {
+ 
+ 947 ià(
+ dow¬n
+ )
+ 
+ 948 
+ 	`w¬n
+ ("printo unopened file");
+ 
+ 949  
+ FALSE
+ ;
+ 
+ 951 
+ ¡
+  +ð++
+ ¥
+ ;
+ 
+ 952 ià(
+ ¬g
+ ->
+ ¬g_ty³
+  =ð
+ O_PRTF
+ ) {
+ 
+ 953 
+ 	`do_¥rštf
+ (
+ ¬g
+ ->
+ ¬g_±r
+ .
+ ¬g_¡r
+ ,
+ ™ems
+ ,
+ ¡
+ );
+ 
+ 954 
+ »tv®
+  = 
+ 	`do_´št
+ (
+ ¬g
+ ->
+ ¬g_±r
+ .
+ ¬g_¡r
+ ,
+ å
+ );
+ 
+ 957 
+ »tv®
+  = (
+ ™ems
+  <= 0);
+ 
+ 958 ; 
+ ™ems
+  > 0; i‹ms--,
+ ¡
+ ++) {
+ 
+ 959 ià(
+ »tv®
+  && 
+ of¦’
+ ) {
+ 
+ 960 ià(
+ 	`fwr™e
+ (
+ ofs
+ , 1, 
+ of¦’
+ , 
+ å
+ è=ð0 || 
+ 	`ã¼Ü
+ (fp)) {
+ 
+ 961 
+ »tv®
+  = 
+ FALSE
+ ;
+ 
+ 965 ià(!(
+ »tv®
+  = 
+ 	`do_´št
+ (*
+ ¡
+ , 
+ å
+ )))
+ 
+ 968 ià(
+ »tv®
+  && 
+ ܦ’
+ )
+ 
+ 969 ià(
+ 	`fwr™e
+ (
+ Üs
+ , 1, 
+ ܦ’
+ , 
+ å
+ è=ð0 || 
+ 	`ã¼Ü
+ (fp))
+ 
+ 970 
+ »tv®
+  = 
+ FALSE
+ ;
+ 
+ 972  
+ »tv®
+ ;
+ 
+ 973 
+ 	}
+ }
+ 
+ 976 
+ 	$my¡©
+ (
+ ¬g
+ ,
+ ¡r
+ )
+ 
+ 977 
+ ARG
+  *
+ ¬g
+ ;
+ 
+ 978 
+ STR
+  *
+ ¡r
+ ;
+ 
+ 980 
+ STIO
+  *
+ ¡io
+ ;
+ 
+ 982 
+ Ï¡¡y³
+  = 
+ O_STAT
+ ;
+ 
+ 983 ià(
+ ¬g
+ [1].
+ ¬g_ty³
+  & 
+ A_DONT
+ ) {
+ 
+ 984 
+ ¡io
+  = 
+ 	`¡ab_io
+ (
+ ¬g
+ [1].
+ ¬g_±r
+ .
+ ¬g_¡ab
+ );
+ 
+ 985 ià(
+ ¡io
+  && stio->
+ iå
+ ) {
+ 
+ 986 
+ ¡©¡ab
+  = 
+ ¬g
+ [1].
+ ¬g_±r
+ .
+ ¬g_¡ab
+ ;
+ 
+ 987 
+ 	`¡r_£t
+ (
+ ¡©Çme
+ ,"");
+ 
+ 988  (
+ Ï¡¡©v®
+  = 
+ 	`f¡©
+ (
+ 	`fž’o
+ (
+ ¡io
+ ->
+ iå
+ ), &
+ ¡©ÿche
+ ));
+ 
+ 991 ià(
+ ¬g
+ [1].
+ ¬g_±r
+ .
+ ¬g_¡ab
+  =ð
+ def¡ab
+ )
+ 
+ 992  
+ Ï¡¡©v®
+ ;
+ 
+ 993 ià(
+ dow¬n
+ )
+ 
+ 994 
+ 	`w¬n
+ ("Stat on unopened file <%s>",
+ 
+ 995 
+ 	`¡ab_Çme
+ (
+ ¬g
+ [1].
+ ¬g_±r
+ .
+ ¬g_¡ab
+ ));
+ 
+ 996 
+ ¡©¡ab
+  = 
+ NuΡab
+ ;
+ 
+ 997 
+ 	`¡r_£t
+ (
+ ¡©Çme
+ ,"");
+ 
+ 998  (
+ Ï¡¡©v®
+  = -1);
+ 
+ 1002 
+ ¡©¡ab
+  = 
+ NuΡab
+ ;
+ 
+ 1003 
+ 	`¡r_£t
+ (
+ ¡©Çme
+ ,
+ 	`¡r_g‘
+ (
+ ¡r
+ ));
+ 
+ 1004  (
+ Ï¡¡©v®
+  = 
+ 	`¡©
+ (
+ 	`¡r_g‘
+ (
+ ¡r
+ ),&
+ ¡©ÿche
+ ));
+ 
+ 1006 
+ 	}
+ }
+ 
+ 1009 
+ 	$myl¡©
+ (
+ ¬g
+ ,
+ ¡r
+ )
+ 
+ 1010 
+ ARG
+  *
+ ¬g
+ ;
+ 
+ 1011 
+ STR
+  *
+ ¡r
+ ;
+ 
+ 1013 ià(
+ ¬g
+ [1].
+ ¬g_ty³
+  & 
+ A_DONT
+ ) {
+ 
+ 1014 ià(
+ ¬g
+ [1].
+ ¬g_±r
+ .
+ ¬g_¡ab
+  =ð
+ def¡ab
+ ) {
+ 
+ 1015 ià(
+ Ï¡¡y³
+  !ð
+ O_LSTAT
+ )
+ 
+ 1016 
+ 	`çl
+ ("The stat…receding -l _ wasn't‡n†stat");
+ 
+ 1017  
+ Ï¡¡©v®
+ ;
+ 
+ 1019 
+ 	`çl
+ ("You can't use -l on‡ filehandle");
+ 
+ 1022 
+ Ï¡¡y³
+  = 
+ O_LSTAT
+ ;
+ 
+ 1023 
+ ¡©¡ab
+  = 
+ NuΡab
+ ;
+ 
+ 1024 
+ 	`¡r_£t
+ (
+ ¡©Çme
+ ,
+ 	`¡r_g‘
+ (
+ ¡r
+ ));
+ 
+ 1025 #ifdeà
+ HAS_LSTAT
+ 
+ 
+ 1026  (
+ Ï¡¡©v®
+  = 
+ 	`l¡©
+ (
+ 	`¡r_g‘
+ (
+ ¡r
+ ),&
+ ¡©ÿche
+ ));
+ 
+ 1028  (
+ Ï¡¡©v®
+  = 
+ 	`¡©
+ (
+ 	`¡r_g‘
+ (
+ ¡r
+ ),&
+ ¡©ÿche
+ ));
+ 
+ 1030 
+ 	}
+ }
+ 
+ 1032 
+ STR
+  *
+ 
+ 1033 
+ 	$do_á‹xt
+ (
+ ¬g
+ ,
+ ¡r
+ )
+ 
+ 1034 
+ ARG
+  *
+ ¬g
+ ;
+ 
+ 1035 
+ STR
+  *
+ ¡r
+ ;
+ 
+ 1037 
+ i
+ ;
+ 
+ 1038 
+ Ën
+ ;
+ 
+ 1039 
+ odd
+  = 0;
+ 
+ 1040 
+ STDCHAR
+  
+ tbuf
+ [512];
+ 
+ 1041 
+ STDCHAR
+  *
+ s
+ ;
+ 
+ 1042 
+ STIO
+  *
+ ¡io
+ ;
+ 
+ 1044 ià(
+ ¬g
+ [1].
+ ¬g_ty³
+  & 
+ A_DONT
+ ) {
+ 
+ 1045 ià(
+ ¬g
+ [1].
+ ¬g_±r
+ .
+ ¬g_¡ab
+  =ð
+ def¡ab
+ ) {
+ 
+ 1046 ià(
+ ¡©¡ab
+ )
+ 
+ 1047 
+ ¡io
+  = 
+ 	`¡ab_io
+ (
+ ¡©¡ab
+ );
+ 
+ 1049 
+ ¡r
+  = 
+ ¡©Çme
+ ;
+ 
+ 1050 
+ »®ly_fž’ame
+ ;
+ 
+ 1054 
+ ¡©¡ab
+  = 
+ ¬g
+ [1].
+ ¬g_±r
+ .
+ ¬g_¡ab
+ ;
+ 
+ 1055 
+ 	`¡r_£t
+ (
+ ¡©Çme
+ ,"");
+ 
+ 1056 
+ ¡io
+  = 
+ 	`¡ab_io
+ (
+ ¡©¡ab
+ );
+ 
+ 1058 ià(
+ ¡io
+  && stio->
+ iå
+ ) {
+ 
+ 1059 #ifdeà
+ STDSTDIO
+ 
+ 
+ 1060 
+ 	`f¡©
+ (
+ 	`fž’o
+ (
+ ¡io
+ ->
+ iå
+ ),&
+ ¡©ÿche
+ );
+ 
+ 1061 ià(
+ ¡io
+ ->
+ iå
+ ->
+ _út
+  <= 0) {
+ 
+ 1062 
+ i
+  = 
+ 	`g‘c
+ (
+ ¡io
+ ->
+ iå
+ );
+ 
+ 1063 ià(
+ i
+  !ð
+ EOF
+ )
+ 
+ 1064 ()
+ 	`ung‘c
+ (
+ i
+ ,
+ ¡io
+ ->
+ iå
+ );
+ 
+ 1066 ià(
+ ¡io
+ ->
+ iå
+ ->
+ _út
+  <= 0)
+ 
+ 1067  &
+ ¡r_yes
+ ;
+ 
+ 1068 
+ Ën
+  = 
+ ¡io
+ ->
+ iå
+ ->
+ _út
+  + (¡io->iå->
+ _±r
+  - stio->iå->
+ _ba£
+ );
+ 
+ 1069 
+ s
+  = 
+ ¡io
+ ->
+ iå
+ ->
+ _ba£
+ ;
+ 
+ 1071 
+ 	`çl
+ ("-T‡nd -B‚ot implemented on filehandles\n");
+ 
+ 1075 ià(
+ dow¬n
+ )
+ 
+ 1076 
+ 	`w¬n
+ ("Test on unopened file <%s>",
+ 
+ 1077 
+ 	`¡ab_Çme
+ (
+ ¬g
+ [1].
+ ¬g_±r
+ .
+ ¬g_¡ab
+ ));
+ 
+ 1078  &
+ ¡r_undef
+ ;
+ 
+ 1082 
+ ¡©¡ab
+  = 
+ NuΡab
+ ;
+ 
+ 1083 
+ 	`¡r_£t
+ (
+ ¡©Çme
+ ,
+ 	`¡r_g‘
+ (
+ ¡r
+ ));
+ 
+ 1084 
+ »®ly_fž’ame
+ :
+ 
+ 1085 
+ i
+  = 
+ 	`ݒ
+ (
+ 	`¡r_g‘
+ (
+ ¡r
+ ),0);
+ 
+ 1086 ià(
+ i
+  < 0)
+ 
+ 1087  &
+ ¡r_undef
+ ;
+ 
+ 1088 
+ 	`f¡©
+ (
+ i
+ ,&
+ ¡©ÿche
+ );
+ 
+ 1089 
+ Ën
+  = 
+ 	`»ad
+ (
+ i
+ ,
+ tbuf
+ ,512);
+ 
+ 1090 ()
+ 	`þo£
+ (
+ i
+ );
+ 
+ 1091 ià(
+ Ën
+  <= 0)
+ 
+ 1092  &
+ ¡r_yes
+ ;
+ 
+ 1093 
+ s
+  = 
+ tbuf
+ ;
+ 
+ 1098 
+ i
+  = 0; i < 
+ Ën
+ ; i++,
+ s
+ ++) {
+ 
+ 1099 ià(!*
+ s
+ ) {
+ 
+ 1100 
+ odd
+  +ð
+ Ën
+ ;
+ 
+ 1103 ià(*
+ s
+  & 128)
+ 
+ 1104 
+ odd
+ ++;
+ 
+ 1105 ià(*
+ s
+  < 32 &&
+ 
+ 1106 *
+ s
+  != '\n' && *s != '\r' && *s != '\b' &&
+ 
+ 1107 *
+ s
+  != '\t' && *s != '\f' && *s != 27)
+ 
+ 1108 
+ odd
+ ++;
+ 
+ 1111 ià((
+ odd
+  * 10 > 
+ Ën
+ è=ð(
+ ¬g
+ ->
+ ¬g_ty³
+  =ð
+ O_FTTEXT
+ ))
+ 
+ 1112  &
+ ¡r_no
+ ;
+ 
+ 1114  &
+ ¡r_yes
+ ;
+ 
+ 1115 
+ 	}
+ }
+ 
+ 1117 
+ boÞ
+ 
+ 
+ 1118 
+ 	$do_«xec
+ (
+ »®ly
+ ,
+ ¬gÏ¡
+ )
+ 
+ 1119 
+ STR
+  *
+ »®ly
+ ;
+ 
+ 1120 *
+ ¬gÏ¡
+ ;
+ 
+ 1122 
+ STR
+  **
+ ¡
+  = 
+ ¡ack
+ ->
+ ¬y_¬¿y
+ ;
+ 
+ 1123 
+ ¥
+  = 
+ ¬gÏ¡
+ [1];
+ 
+ 1124 
+ ™ems
+  = 
+ ¬gÏ¡
+ [2] - 
+ ¥
+ ;
+ 
+ 1125 **
+ a
+ ;
+ 
+ 1126 **
+ ¬gv
+ ;
+ 
+ 1127 *
+ tmps
+ ;
+ 
+ 1129 ià(
+ ™ems
+ ) {
+ 
+ 1130 
+ 	`New
+ (401,
+ ¬gv
+ , 
+ ™ems
+ +1, *);
+ 
+ 1131 
+ a
+  = 
+ ¬gv
+ ;
+ 
+ 1132 
+ ¡
+  +ð++
+ ¥
+ ; 
+ ™ems
+  > 0; items--,st++) {
+ 
+ 1133 ià(*
+ ¡
+ )
+ 
+ 1134 *
+ a
+ ++ = 
+ 	`¡r_g‘
+ (*
+ ¡
+ );
+ 
+ 1136 *
+ a
+ ++ = "";
+ 
+ 1138 *
+ a
+  = 
+ NuÎch
+ ;
+ 
+ 1139 #ifdeà
+ TAINT
+ 
+ 
+ 1140 ià(*
+ ¬gv
+ [0] != '/')
+ 
+ 1141 
+ 	`š‹nv
+ ();
+ 
+ 1143 ià(
+ »®ly
+  && *(
+ tmps
+  = 
+ 	`¡r_g‘
+ (really)))
+ 
+ 1144 
+ 	`execvp
+ (
+ tmps
+ ,
+ ¬gv
+ );
+ 
+ 1146 
+ 	`execvp
+ (
+ ¬gv
+ [0],argv);
+ 
+ 1147 
+ 	`Saãä“
+ (
+ ¬gv
+ );
+ 
+ 1149  
+ FALSE
+ ;
+ 
+ 1150 
+ 	}
+ }
+ 
+ 1152 **
+ 	gArgv
+  = 
+ NuÎ
+ (**);
+ 
+ 1153 *
+ 	gCmd
+  = 
+ NuÎch
+ ;
+ 
+ 1156 
+ 	$do_execä“
+ ()
+ 
+ 1158 ià(
+ Argv
+ ) {
+ 
+ 1159 
+ 	`Saãä“
+ (
+ Argv
+ );
+ 
+ 1160 
+ Argv
+  = 
+ 	`NuÎ
+ (**);
+ 
+ 1162 ià(
+ Cmd
+ ) {
+ 
+ 1163 
+ 	`Saãä“
+ (
+ Cmd
+ );
+ 
+ 1164 
+ Cmd
+  = 
+ NuÎch
+ ;
+ 
+ 1166 
+ 	}
+ }
+ 
+ 1168 
+ boÞ
+ 
+ 
+ 1169 
+ 	$do_exec
+ (
+ cmd
+ )
+ 
+ 1170 *
+ cmd
+ ;
+ 
+ 1172 **
+ a
+ ;
+ 
+ 1173 *
+ s
+ ;
+ 
+ 1174 
+ æags
+ [10];
+ 
+ 1176 #ifdeà
+ TAINT
+ 
+ 
+ 1177 
+ 	`š‹nv
+ ();
+ 
+ 1178 
+ 	`šrÝ”
+ ("Insecure dependency inƒxec");
+ 
+ 1183 #ifdeà
+ CSH
+ 
+ 
+ 1184 ià(
+ 	`¡ºEQ
+ (
+ cmd
+ ,
+ cshÇme
+ ,
+ cshËn
+ ) && strnEQ(cmd+cshlen," -c",3)) {
+ 
+ 1185 
+ 	`¡rýy
+ (
+ æags
+ ,"-c");
+ 
+ 1186 
+ s
+  = 
+ cmd
+ +
+ cshËn
+ +3;
+ 
+ 1187 ià(*
+ s
+  == 'f') {
+ 
+ 1188 
+ s
+ ++;
+ 
+ 1189 
+ 	`¡rÿt
+ (
+ æags
+ ,"f");
+ 
+ 1191 ià(*
+ s
+  == ' ')
+ 
+ 1192 
+ s
+ ++;
+ 
+ 1193 ià(*
+ s
+ ++ == '\'') {
+ 
+ 1194 *
+ ncmd
+  = 
+ s
+ ;
+ 
+ 1196 *
+ s
+ )
+ 
+ 1197 
+ s
+ ++;
+ 
+ 1198 ià(
+ s
+ [-1] == '\n')
+ 
+ 1199 *--
+ s
+  = '\0';
+ 
+ 1200 ià(
+ s
+ [-1] == '\'') {
+ 
+ 1201 *--
+ s
+  = '\0';
+ 
+ 1202 
+ 	`exeþ
+ (
+ cshÇme
+ ,"csh", 
+ æags
+ ,
+ ncmd
+ ,(*)0);
+ 
+ 1203 *
+ s
+  = '\'';
+ 
+ 1204  
+ FALSE
+ ;
+ 
+ 1212 
+ s
+  = 
+ cmd
+ ; * && 
+ 	`i§Íha
+ (*s); s++) ;
+ 
+ 1213 ià(*
+ s
+  == '=')
+ 
+ 1214 
+ dosh–l
+ ;
+ 
+ 1215 
+ s
+  = 
+ cmd
+ ; *s; s++) {
+ 
+ 1216 ià(*
+ s
+  !ð' ' && !
+ 	`i§Íha
+ (*sè&& 
+ 	`šdex
+ ("$&*(){}[]'\";\\|?<>~`\n",*s)) {
+ 
+ 1217 ià(*
+ s
+  == '\n' && !s[1]) {
+ 
+ 1218 *
+ s
+  = '\0';
+ 
+ 1221 
+ dosh–l
+ :
+ 
+ 1222 
+ 	`exeþ
+ ("/bš/sh","sh","-c",
+ cmd
+ ,(*)0);
+ 
+ 1223  
+ FALSE
+ ;
+ 
+ 1226 
+ 	`New
+ (402,
+ Argv
+ , (
+ s
+  - 
+ cmd
+ ) / 2 + 2, *);
+ 
+ 1227 
+ Cmd
+  = 
+ 	`n§ve¡r
+ (
+ cmd
+ , 
+ s
+ -cmd);
+ 
+ 1228 
+ a
+  = 
+ Argv
+ ;
+ 
+ 1229 
+ s
+  = 
+ Cmd
+ ; *s;) {
+ 
+ 1230 *
+ s
+  && 
+ 	`is¥aû
+ (*s)) s++;
+ 
+ 1231 ià(*
+ s
+ )
+ 
+ 1232 *(
+ a
+ ++èð
+ s
+ ;
+ 
+ 1233 *
+ s
+  && !
+ 	`is¥aû
+ (*s)) s++;
+ 
+ 1234 ià(*
+ s
+ )
+ 
+ 1235 *
+ s
+ ++ = '\0';
+ 
+ 1237 *
+ a
+  = 
+ NuÎch
+ ;
+ 
+ 1238 ià(
+ Argv
+ [0]) {
+ 
+ 1239 
+ 	`execvp
+ (
+ Argv
+ [0],Argv);
+ 
+ 1240 ià(
+ Ӽo
+  =ð
+ ENOEXEC
+ ) {
+ 
+ 1241 
+ 	`do_execä“
+ ();
+ 
+ 1242 
+ dosh–l
+ ;
+ 
+ 1245 
+ 	`do_execä“
+ ();
+ 
+ 1246  
+ FALSE
+ ;
+ 
+ 1247 
+ 	}
+ }
+ 
+ 1249 #ifdeà
+ HAS_SOCKET
+ 
+ 
+ 1251 
+ 	$do_sock‘
+ (
+ ¡ab
+ , 
+ ¬gÏ¡
+ )
+ 
+ 1252 
+ STAB
+  *
+ ¡ab
+ ;
+ 
+ 1253 *
+ ¬gÏ¡
+ ;
+ 
+ 1255 
+ STR
+  **
+ ¡
+  = 
+ ¡ack
+ ->
+ ¬y_¬¿y
+ ;
+ 
+ 1256 
+ ¥
+  = 
+ ¬gÏ¡
+ [1];
+ 
+ 1257 
+ STIO
+  *
+ ¡io
+ ;
+ 
+ 1258 
+ domaš
+ , 
+ ty³
+ , 
+ ´ÙocÞ
+ , 
+ fd
+ ;
+ 
+ 1260 ià(!
+ ¡ab
+ )
+ 
+ 1261  
+ FALSE
+ ;
+ 
+ 1263 
+ ¡io
+  = 
+ 	`¡ab_io
+ (
+ ¡ab
+ );
+ 
+ 1264 ià(!
+ ¡io
+ )
+ 
+ 1265 
+ ¡io
+  = 
+ 	`¡ab_io
+ (
+ ¡ab
+ èð
+ 	`¡io_Ãw
+ ();
+ 
+ 1266 ià(
+ ¡io
+ ->
+ iå
+ )
+ 
+ 1267 
+ 	`do_þo£
+ (
+ ¡ab
+ ,
+ FALSE
+ );
+ 
+ 1269 
+ domaš
+  = ()
+ 	`¡r_gnum
+ (
+ ¡
+ [++
+ ¥
+ ]);
+ 
+ 1270 
+ ty³
+  = ()
+ 	`¡r_gnum
+ (
+ ¡
+ [++
+ ¥
+ ]);
+ 
+ 1271 
+ ´ÙocÞ
+  = ()
+ 	`¡r_gnum
+ (
+ ¡
+ [++
+ ¥
+ ]);
+ 
+ 1272 #ifdeà
+ TAINT
+ 
+ 
+ 1273 
+ 	`šrÝ”
+ ("Insecure dependency in socket");
+ 
+ 1275 
+ fd
+  = 
+ 	`sock‘
+ (
+ domaš
+ ,
+ ty³
+ ,
+ ´ÙocÞ
+ );
+ 
+ 1276 ià(
+ fd
+  < 0)
+ 
+ 1277  
+ FALSE
+ ;
+ 
+ 1278 
+ ¡io
+ ->
+ iå
+  = 
+ 	`fdݒ
+ (
+ fd
+ , "r");
+ 
+ 1279 
+ ¡io
+ ->
+ oå
+  = 
+ 	`fdݒ
+ (
+ fd
+ , "w");
+ 
+ 1280 
+ ¡io
+ ->
+ ty³
+  = 's';
+ 
+ 1281 ià(!
+ ¡io
+ ->
+ iå
+  || !¡io->
+ oå
+ ) {
+ 
+ 1282 ià(
+ ¡io
+ ->
+ iå
+ è
+ 	`fþo£
+ (stio->ifp);
+ 
+ 1283 ià(
+ ¡io
+ ->
+ oå
+ è
+ 	`fþo£
+ (stio->ofp);
+ 
+ 1284 ià(!
+ ¡io
+ ->
+ iå
+  && !¡io->
+ oå
+ è
+ 	`þo£
+ (
+ fd
+ );
+ 
+ 1285  
+ FALSE
+ ;
+ 
+ 1288  
+ TRUE
+ ;
+ 
+ 1289 
+ 	}
+ }
+ 
+ 1292 
+ 	$do_bšd
+ (
+ ¡ab
+ , 
+ ¬gÏ¡
+ )
+ 
+ 1293 
+ STAB
+  *
+ ¡ab
+ ;
+ 
+ 1294 *
+ ¬gÏ¡
+ ;
+ 
+ 1296 
+ STR
+  **
+ ¡
+  = 
+ ¡ack
+ ->
+ ¬y_¬¿y
+ ;
+ 
+ 1297 
+ ¥
+  = 
+ ¬gÏ¡
+ [1];
+ 
+ 1298 
+ STIO
+  *
+ ¡io
+ ;
+ 
+ 1299 *
+ addr
+ ;
+ 
+ 1301 ià(!
+ ¡ab
+ )
+ 
+ 1302 
+ nuts
+ ;
+ 
+ 1304 
+ ¡io
+  = 
+ 	`¡ab_io
+ (
+ ¡ab
+ );
+ 
+ 1305 ià(!
+ ¡io
+  || !¡io->
+ iå
+ )
+ 
+ 1306 
+ nuts
+ ;
+ 
+ 1308 
+ addr
+  = 
+ 	`¡r_g‘
+ (
+ ¡
+ [++
+ ¥
+ ]);
+ 
+ 1309 #ifdeà
+ TAINT
+ 
+ 
+ 1310 
+ 	`šrÝ”
+ ("Insecure dependency in bind");
+ 
+ 1312  
+ 	`bšd
+ (
+ 	`fž’o
+ (
+ ¡io
+ ->
+ iå
+ ), (*è
+ addr
+ , 
+ ¡
+ [
+ ¥
+ ]->
+ ¡r_cur
+ ) >= 0;
+ 
+ 1314 
+ nuts
+ :
+ 
+ 1315 ià(
+ dow¬n
+ )
+ 
+ 1316 
+ 	`w¬n
+ ("bind() on closed fd");
+ 
+ 1317  
+ FALSE
+ ;
+ 
+ 1319 
+ 	}
+ }
+ 
+ 1322 
+ 	$do_cÚÃù
+ (
+ ¡ab
+ , 
+ ¬gÏ¡
+ )
+ 
+ 1323 
+ STAB
+  *
+ ¡ab
+ ;
+ 
+ 1324 *
+ ¬gÏ¡
+ ;
+ 
+ 1326 
+ STR
+  **
+ ¡
+  = 
+ ¡ack
+ ->
+ ¬y_¬¿y
+ ;
+ 
+ 1327 
+ ¥
+  = 
+ ¬gÏ¡
+ [1];
+ 
+ 1328 
+ STIO
+  *
+ ¡io
+ ;
+ 
+ 1329 *
+ addr
+ ;
+ 
+ 1331 ià(!
+ ¡ab
+ )
+ 
+ 1332 
+ nuts
+ ;
+ 
+ 1334 
+ ¡io
+  = 
+ 	`¡ab_io
+ (
+ ¡ab
+ );
+ 
+ 1335 ià(!
+ ¡io
+  || !¡io->
+ iå
+ )
+ 
+ 1336 
+ nuts
+ ;
+ 
+ 1338 
+ addr
+  = 
+ 	`¡r_g‘
+ (
+ ¡
+ [++
+ ¥
+ ]);
+ 
+ 1339 #ifdeà
+ TAINT
+ 
+ 
+ 1340 
+ 	`šrÝ”
+ ("Insecure dependency in connect");
+ 
+ 1342  
+ 	`cÚÃù
+ (
+ 	`fž’o
+ (
+ ¡io
+ ->
+ iå
+ ), (*è
+ addr
+ , 
+ ¡
+ [
+ ¥
+ ]->
+ ¡r_cur
+ ) >= 0;
+ 
+ 1344 
+ nuts
+ :
+ 
+ 1345 ià(
+ dow¬n
+ )
+ 
+ 1346 
+ 	`w¬n
+ ("connect() on closed fd");
+ 
+ 1347  
+ FALSE
+ ;
+ 
+ 1349 
+ 	}
+ }
+ 
+ 1352 
+ 	$do_li¡’
+ (
+ ¡ab
+ , 
+ ¬gÏ¡
+ )
+ 
+ 1353 
+ STAB
+  *
+ ¡ab
+ ;
+ 
+ 1354 *
+ ¬gÏ¡
+ ;
+ 
+ 1356 
+ STR
+  **
+ ¡
+  = 
+ ¡ack
+ ->
+ ¬y_¬¿y
+ ;
+ 
+ 1357 
+ ¥
+  = 
+ ¬gÏ¡
+ [1];
+ 
+ 1358 
+ STIO
+  *
+ ¡io
+ ;
+ 
+ 1359 
+ backlog
+ ;
+ 
+ 1361 ià(!
+ ¡ab
+ )
+ 
+ 1362 
+ nuts
+ ;
+ 
+ 1364 
+ ¡io
+  = 
+ 	`¡ab_io
+ (
+ ¡ab
+ );
+ 
+ 1365 ià(!
+ ¡io
+  || !¡io->
+ iå
+ )
+ 
+ 1366 
+ nuts
+ ;
+ 
+ 1368 
+ backlog
+  = ()
+ 	`¡r_gnum
+ (
+ ¡
+ [++
+ ¥
+ ]);
+ 
+ 1369  
+ 	`li¡’
+ (
+ 	`fž’o
+ (
+ ¡io
+ ->
+ iå
+ ), 
+ backlog
+ ) >= 0;
+ 
+ 1371 
+ nuts
+ :
+ 
+ 1372 ià(
+ dow¬n
+ )
+ 
+ 1373 
+ 	`w¬n
+ ("listen() on closed fd");
+ 
+ 1374  
+ FALSE
+ ;
+ 
+ 1375 
+ 	}
+ }
+ 
+ 1378 
+ 	$do_acû±
+ (
+ ¡r
+ , 
+ n¡ab
+ , 
+ g¡ab
+ )
+ 
+ 1379 
+ STR
+  *
+ ¡r
+ ;
+ 
+ 1380 
+ STAB
+  *
+ n¡ab
+ ;
+ 
+ 1381 
+ STAB
+  *
+ g¡ab
+ ;
+ 
+ 1383 
+ STIO
+  *
+ n¡io
+ ;
+ 
+ 1384 
+ STIO
+  *
+ g¡io
+ ;
+ 
+ 1385 
+ Ën
+  =  
+ buf
+ ;
+ 
+ 1386 
+ fd
+ ;
+ 
+ 1388 ià(!
+ n¡ab
+ )
+ 
+ 1389 
+ badex™
+ ;
+ 
+ 1390 ià(!
+ g¡ab
+ )
+ 
+ 1391 
+ nuts
+ ;
+ 
+ 1393 
+ g¡io
+  = 
+ 	`¡ab_io
+ (
+ g¡ab
+ );
+ 
+ 1394 
+ n¡io
+  = 
+ 	`¡ab_io
+ (
+ n¡ab
+ );
+ 
+ 1396 ià(!
+ g¡io
+  || !g¡io->
+ iå
+ )
+ 
+ 1397 
+ nuts
+ ;
+ 
+ 1398 ià(!
+ n¡io
+ )
+ 
+ 1399 
+ n¡io
+  = 
+ 	`¡ab_io
+ (
+ n¡ab
+ èð
+ 	`¡io_Ãw
+ ();
+ 
+ 1400 ià(
+ n¡io
+ ->
+ iå
+ )
+ 
+ 1401 
+ 	`do_þo£
+ (
+ n¡ab
+ ,
+ FALSE
+ );
+ 
+ 1403 
+ fd
+  = 
+ 	`acû±
+ (
+ 	`fž’o
+ (
+ g¡io
+ ->
+ iå
+ ),(*)
+ buf
+ ,&
+ Ën
+ );
+ 
+ 1404 ià(
+ fd
+  < 0)
+ 
+ 1405 
+ badex™
+ ;
+ 
+ 1406 
+ n¡io
+ ->
+ iå
+  = 
+ 	`fdݒ
+ (
+ fd
+ , "r");
+ 
+ 1407 
+ n¡io
+ ->
+ oå
+  = 
+ 	`fdݒ
+ (
+ fd
+ , "w");
+ 
+ 1408 
+ n¡io
+ ->
+ ty³
+  = 's';
+ 
+ 1409 ià(!
+ n¡io
+ ->
+ iå
+  || !n¡io->
+ oå
+ ) {
+ 
+ 1410 ià(
+ n¡io
+ ->
+ iå
+ è
+ 	`fþo£
+ (nstio->ifp);
+ 
+ 1411 ià(
+ n¡io
+ ->
+ oå
+ è
+ 	`fþo£
+ (nstio->ofp);
+ 
+ 1412 ià(!
+ n¡io
+ ->
+ iå
+  && !n¡io->
+ oå
+ è
+ 	`þo£
+ (
+ fd
+ );
+ 
+ 1413 
+ badex™
+ ;
+ 
+ 1416 
+ 	`¡r_n£t
+ (
+ ¡r
+ , 
+ buf
+ , 
+ Ën
+ );
+ 
+ 1419 
+ nuts
+ :
+ 
+ 1420 ià(
+ dow¬n
+ )
+ 
+ 1421 
+ 	`w¬n
+ ("accept() on closed fd");
+ 
+ 1422 
+ badex™
+ :
+ 
+ 1423 
+ 	`¡r_s£t
+ (
+ ¡r
+ ,&
+ ¡r_undef
+ );
+ 
+ 1425 
+ 	}
+ }
+ 
+ 1428 
+ 	$do_shutdown
+ (
+ ¡ab
+ , 
+ ¬gÏ¡
+ )
+ 
+ 1429 
+ STAB
+  *
+ ¡ab
+ ;
+ 
+ 1430 *
+ ¬gÏ¡
+ ;
+ 
+ 1432 
+ STR
+  **
+ ¡
+  = 
+ ¡ack
+ ->
+ ¬y_¬¿y
+ ;
+ 
+ 1433 
+ ¥
+  = 
+ ¬gÏ¡
+ [1];
+ 
+ 1434 
+ STIO
+  *
+ ¡io
+ ;
+ 
+ 1435 
+ how
+ ;
+ 
+ 1437 ià(!
+ ¡ab
+ )
+ 
+ 1438 
+ nuts
+ ;
+ 
+ 1440 
+ ¡io
+  = 
+ 	`¡ab_io
+ (
+ ¡ab
+ );
+ 
+ 1441 ià(!
+ ¡io
+  || !¡io->
+ iå
+ )
+ 
+ 1442 
+ nuts
+ ;
+ 
+ 1444 
+ how
+  = ()
+ 	`¡r_gnum
+ (
+ ¡
+ [++
+ ¥
+ ]);
+ 
+ 1445  
+ 	`shutdown
+ (
+ 	`fž’o
+ (
+ ¡io
+ ->
+ iå
+ ), 
+ how
+ ) >= 0;
+ 
+ 1447 
+ nuts
+ :
+ 
+ 1448 ià(
+ dow¬n
+ )
+ 
+ 1449 
+ 	`w¬n
+ ("shutdown() on closed fd");
+ 
+ 1450  
+ FALSE
+ ;
+ 
+ 1452 
+ 	}
+ }
+ 
+ 1455 
+ 	$do_sÝt
+ (
+ Ýty³
+ , 
+ ¡ab
+ , 
+ ¬gÏ¡
+ )
+ 
+ 1456 
+ Ýty³
+ ;
+ 
+ 1457 
+ STAB
+  *
+ ¡ab
+ ;
+ 
+ 1458 *
+ ¬gÏ¡
+ ;
+ 
+ 1460 
+ STR
+  **
+ ¡
+  = 
+ ¡ack
+ ->
+ ¬y_¬¿y
+ ;
+ 
+ 1461 
+ ¥
+  = 
+ ¬gÏ¡
+ [1];
+ 
+ 1462 
+ STIO
+  *
+ ¡io
+ ;
+ 
+ 1463 
+ fd
+ ;
+ 
+ 1464 
+ lvl
+ ;
+ 
+ 1465 
+ ݊ame
+ ;
+ 
+ 1467 ià(!
+ ¡ab
+ )
+ 
+ 1468 
+ nuts
+ ;
+ 
+ 1470 
+ ¡io
+  = 
+ 	`¡ab_io
+ (
+ ¡ab
+ );
+ 
+ 1471 ià(!
+ ¡io
+  || !¡io->
+ iå
+ )
+ 
+ 1472 
+ nuts
+ ;
+ 
+ 1474 
+ fd
+  = 
+ 	`fž’o
+ (
+ ¡io
+ ->
+ iå
+ );
+ 
+ 1475 
+ lvl
+  = ()
+ 	`¡r_gnum
+ (
+ ¡
+ [
+ ¥
+ +1]);
+ 
+ 1476 
+ ݊ame
+  = ()
+ 	`¡r_gnum
+ (
+ ¡
+ [
+ ¥
+ +2]);
+ 
+ 1477 
+ Ýty³
+ ) {
+ 
+ 1478 
+ O_GSOCKOPT
+ :
+ 
+ 1479 
+ ¡
+ [
+ ¥
+ ] = 
+ 	`¡r_2m܏l
+ (
+ 	`¡r_Ãw
+ (257));
+ 
+ 1480 
+ ¡
+ [
+ ¥
+ ]->
+ ¡r_cur
+  = 256;
+ 
+ 1481 
+ ¡
+ [
+ ¥
+ ]->
+ ¡r_pok
+  = 1;
+ 
+ 1482 ià(
+ 	`g‘sockÝt
+ (
+ fd
+ , 
+ lvl
+ , 
+ ݊ame
+ , 
+ ¡
+ [
+ ¥
+ ]->
+ ¡r_±r
+ , &¡[¥]->
+ ¡r_cur
+ ) < 0)
+ 
+ 1483 
+ nuts
+ ;
+ 
+ 1485 
+ O_SSOCKOPT
+ :
+ 
+ 1486 
+ ¡
+ [
+ ¥
+ ] = st[sp+3];
+ 
+ 1487 ià(
+ 	`£tsockÝt
+ (
+ fd
+ , 
+ lvl
+ , 
+ ݊ame
+ , 
+ ¡
+ [
+ ¥
+ ]->
+ ¡r_±r
+ , st[¥]->
+ ¡r_cur
+ ) < 0)
+ 
+ 1488 
+ nuts
+ ;
+ 
+ 1489 
+ ¡
+ [
+ ¥
+ ] = &
+ ¡r_yes
+ ;
+ 
+ 1493  
+ ¥
+ ;
+ 
+ 1495 
+ nuts
+ :
+ 
+ 1496 ià(
+ dow¬n
+ )
+ 
+ 1497 
+ 	`w¬n
+ ("[gs]etsockopt() on closed fd");
+ 
+ 1498 
+ ¡
+ [
+ ¥
+ ] = &
+ ¡r_undef
+ ;
+ 
+ 1499  
+ ¥
+ ;
+ 
+ 1501 
+ 	}
+ }
+ 
+ 1504 
+ 	$do_g‘sockÇme
+ (
+ Ýty³
+ , 
+ ¡ab
+ , 
+ ¬gÏ¡
+ )
+ 
+ 1505 
+ Ýty³
+ ;
+ 
+ 1506 
+ STAB
+  *
+ ¡ab
+ ;
+ 
+ 1507 *
+ ¬gÏ¡
+ ;
+ 
+ 1509 
+ STR
+  **
+ ¡
+  = 
+ ¡ack
+ ->
+ ¬y_¬¿y
+ ;
+ 
+ 1510 
+ ¥
+  = 
+ ¬gÏ¡
+ [1];
+ 
+ 1511 
+ STIO
+  *
+ ¡io
+ ;
+ 
+ 1512 
+ fd
+ ;
+ 
+ 1514 ià(!
+ ¡ab
+ )
+ 
+ 1515 
+ nuts
+ ;
+ 
+ 1517 
+ ¡io
+  = 
+ 	`¡ab_io
+ (
+ ¡ab
+ );
+ 
+ 1518 ià(!
+ ¡io
+  || !¡io->
+ iå
+ )
+ 
+ 1519 
+ nuts
+ ;
+ 
+ 1521 
+ ¡
+ [
+ ¥
+ ] = 
+ 	`¡r_2m܏l
+ (
+ 	`¡r_Ãw
+ (257));
+ 
+ 1522 
+ ¡
+ [
+ ¥
+ ]->
+ ¡r_cur
+  = 256;
+ 
+ 1523 
+ ¡
+ [
+ ¥
+ ]->
+ ¡r_pok
+  = 1;
+ 
+ 1524 
+ fd
+  = 
+ 	`fž’o
+ (
+ ¡io
+ ->
+ iå
+ );
+ 
+ 1525 
+ Ýty³
+ ) {
+ 
+ 1526 
+ O_GETSOCKNAME
+ :
+ 
+ 1527 ià(
+ 	`g‘sockÇme
+ (
+ fd
+ , (*è
+ ¡
+ [
+ ¥
+ ]->
+ ¡r_±r
+ , &¡[¥]->
+ ¡r_cur
+ ) < 0)
+ 
+ 1528 
+ nuts2
+ ;
+ 
+ 1530 
+ O_GETPEERNAME
+ :
+ 
+ 1531 ià(
+ 	`g‘³”Çme
+ (
+ fd
+ , (*è
+ ¡
+ [
+ ¥
+ ]->
+ ¡r_±r
+ , &¡[¥]->
+ ¡r_cur
+ ) < 0)
+ 
+ 1532 
+ nuts2
+ ;
+ 
+ 1536  
+ ¥
+ ;
+ 
+ 1538 
+ nuts
+ :
+ 
+ 1539 ià(
+ dow¬n
+ )
+ 
+ 1540 
+ 	`w¬n
+ ("get{sock,peer}name() on closed fd");
+ 
+ 1541 
+ nuts2
+ :
+ 
+ 1542 
+ ¡
+ [
+ ¥
+ ] = &
+ ¡r_undef
+ ;
+ 
+ 1543  
+ ¥
+ ;
+ 
+ 1545 
+ 	}
+ }
+ 
+ 1548 
+ 	$do_gh’t
+ (
+ which
+ ,
+ gimme
+ ,
+ ¬gÏ¡
+ )
+ 
+ 1549 
+ which
+ ;
+ 
+ 1550 
+ gimme
+ ;
+ 
+ 1551 *
+ ¬gÏ¡
+ ;
+ 
+ 1553 
+ ARRAY
+  *
+ ¬y
+  = 
+ ¡ack
+ ;
+ 
+ 1554 
+ ¥
+  = 
+ ¬gÏ¡
+ [0];
+ 
+ 1555 **
+ –em
+ ;
+ 
+ 1556 
+ STR
+  *
+ ¡r
+ ;
+ 
+ 1557 
+ ho¡’t
+  *
+ 	`g‘ho¡byÇme
+ ();
+ 
+ 1558 
+ ho¡’t
+  *
+ 	`g‘ho¡byaddr
+ ();
+ 
+ 1559 #ifdeà
+ HAS_GETHOSTENT
+ 
+ 
+ 1560 
+ ho¡’t
+  *
+ 	`g‘ho¡’t
+ ();
+ 
+ 1562 
+ ho¡’t
+  *
+ h’t
+ ;
+ 
+ 1563 
+ Ën
+ ;
+ 
+ 1565 ià(
+ gimme
+  !ð
+ G_ARRAY
+ ) {
+ 
+ 1566 
+ 	`a¡Üe
+ (
+ ¬y
+ , ++
+ ¥
+ , 
+ 	`¡r_m܏l
+ (&
+ ¡r_undef
+ ));
+ 
+ 1567  
+ ¥
+ ;
+ 
+ 1570 ià(
+ which
+  =ð
+ O_GHBYNAME
+ ) {
+ 
+ 1571 *
+ Çme
+  = 
+ 	`¡r_g‘
+ (
+ ¬y
+ ->
+ ¬y_¬¿y
+ [
+ ¥
+ +1]);
+ 
+ 1573 
+ h’t
+  = 
+ 	`g‘ho¡byÇme
+ (
+ Çme
+ );
+ 
+ 1575 ià(
+ which
+  =ð
+ O_GHBYADDR
+ ) {
+ 
+ 1576 
+ STR
+  *
+ addr¡r
+  = 
+ ¬y
+ ->
+ ¬y_¬¿y
+ [
+ ¥
+ +1];
+ 
+ 1577 
+ add¹y³
+  = ()
+ 	`¡r_gnum
+ (
+ ¬y
+ ->
+ ¬y_¬¿y
+ [
+ ¥
+ +2]);
+ 
+ 1578 *
+ addr
+  = 
+ 	`¡r_g‘
+ (
+ addr¡r
+ );
+ 
+ 1580 
+ h’t
+  = 
+ 	`g‘ho¡byaddr
+ (
+ addr
+ ,
+ addr¡r
+ ->
+ ¡r_cur
+ ,
+ add¹y³
+ );
+ 
+ 1583 #ifdeà
+ HAS_GETHOSTENT
+ 
+ 
+ 1584 
+ h’t
+  = 
+ 	`g‘ho¡’t
+ ();
+ 
+ 1586 
+ 	`çl
+ ("gethostent‚ot implemented");
+ 
+ 1588 ià(
+ h’t
+ ) {
+ 
+ 1589 #iâdeà
+ lšt
+ 
+ 
+ 1590 ()
+ 	`a¡Üe
+ (
+ ¬y
+ , ++
+ ¥
+ , 
+ ¡r
+  = 
+ 	`¡r_m܏l
+ (&
+ ¡r_no
+ ));
+ 
+ 1591 
+ 	`¡r_£t
+ (
+ ¡r
+ , 
+ h’t
+ ->
+ h_Çme
+ );
+ 
+ 1592 ()
+ 	`a¡Üe
+ (
+ ¬y
+ , ++
+ ¥
+ , 
+ ¡r
+  = 
+ 	`¡r_m܏l
+ (&
+ ¡r_no
+ ));
+ 
+ 1593 
+ –em
+  = 
+ h’t
+ ->
+ h_®Ÿ£s
+ ; *elem;ƒlem++) {
+ 
+ 1594 
+ 	`¡r_ÿt
+ (
+ ¡r
+ , *
+ –em
+ );
+ 
+ 1595 ià(
+ –em
+ [1])
+ 
+ 1596 
+ 	`¡r_nÿt
+ (
+ ¡r
+ ," ",1);
+ 
+ 1598 ()
+ 	`a¡Üe
+ (
+ ¬y
+ , ++
+ ¥
+ , 
+ ¡r
+  = 
+ 	`¡r_m܏l
+ (&
+ ¡r_no
+ ));
+ 
+ 1599 
+ 	`¡r_num£t
+ (
+ ¡r
+ , ()
+ h’t
+ ->
+ h_add¹y³
+ );
+ 
+ 1600 ()
+ 	`a¡Üe
+ (
+ ¬y
+ , ++
+ ¥
+ , 
+ ¡r
+  = 
+ 	`¡r_m܏l
+ (&
+ ¡r_no
+ ));
+ 
+ 1601 
+ Ën
+  = 
+ h’t
+ ->
+ h_Ëngth
+ ;
+ 
+ 1602 
+ 	`¡r_num£t
+ (
+ ¡r
+ , ()
+ Ën
+ );
+ 
+ 1603 #ifdeà
+ h_addr
+ 
+ 
+ 1604 
+ –em
+  = 
+ h’t
+ ->
+ h_addr_li¡
+ ; *elem;ƒlem++) {
+ 
+ 1605 ()
+ 	`a¡Üe
+ (
+ ¬y
+ , ++
+ ¥
+ , 
+ ¡r
+  = 
+ 	`¡r_m܏l
+ (&
+ ¡r_no
+ ));
+ 
+ 1606 
+ 	`¡r_n£t
+ (
+ ¡r
+ , *
+ –em
+ , 
+ Ën
+ );
+ 
+ 1609 ()
+ 	`a¡Üe
+ (
+ ¬y
+ , ++
+ ¥
+ , 
+ ¡r
+  = 
+ 	`¡r_m܏l
+ (&
+ ¡r_no
+ ));
+ 
+ 1610 
+ 	`¡r_n£t
+ (
+ ¡r
+ , 
+ h’t
+ ->
+ h_addr
+ , 
+ Ën
+ );
+ 
+ 1613 
+ –em
+  = 
+ NuÎch
+ ;
+ 
+ 1614 
+ –em
+  =ƒlem;
+ 
+ 1615 ()
+ 	`a¡Üe
+ (
+ ¬y
+ , ++
+ ¥
+ , 
+ 	`¡r_m܏l
+ (&
+ ¡r_no
+ ));
+ 
+ 1619  
+ ¥
+ ;
+ 
+ 1620 
+ 	}
+ }
+ 
+ 1623 
+ 	$do_gÃÁ
+ (
+ which
+ ,
+ gimme
+ ,
+ ¬gÏ¡
+ )
+ 
+ 1624 
+ which
+ ;
+ 
+ 1625 
+ gimme
+ ;
+ 
+ 1626 *
+ ¬gÏ¡
+ ;
+ 
+ 1628 
+ ARRAY
+  *
+ ¬y
+  = 
+ ¡ack
+ ;
+ 
+ 1629 
+ ¥
+  = 
+ ¬gÏ¡
+ [0];
+ 
+ 1630 **
+ –em
+ ;
+ 
+ 1631 
+ STR
+  *
+ ¡r
+ ;
+ 
+ 1632 
+ ËÁ
+  *
+ 	`g‘ÃtbyÇme
+ ();
+ 
+ 1633 
+ ËÁ
+  *
+ 	`g‘Ãtbyaddr
+ ();
+ 
+ 1634 
+ ËÁ
+  *
+ 	`g‘ËÁ
+ ();
+ 
+ 1635 
+ ËÁ
+  *
+ ÃÁ
+ ;
+ 
+ 1637 ià(
+ gimme
+  !ð
+ G_ARRAY
+ ) {
+ 
+ 1638 
+ 	`a¡Üe
+ (
+ ¬y
+ , ++
+ ¥
+ , 
+ 	`¡r_m܏l
+ (&
+ ¡r_undef
+ ));
+ 
+ 1639  
+ ¥
+ ;
+ 
+ 1642 ià(
+ which
+  =ð
+ O_GNBYNAME
+ ) {
+ 
+ 1643 *
+ Çme
+  = 
+ 	`¡r_g‘
+ (
+ ¬y
+ ->
+ ¬y_¬¿y
+ [
+ ¥
+ +1]);
+ 
+ 1645 
+ ÃÁ
+  = 
+ 	`g‘ÃtbyÇme
+ (
+ Çme
+ );
+ 
+ 1647 ià(
+ which
+  =ð
+ O_GNBYADDR
+ ) {
+ 
+ 1648 
+ addr
+  = 
+ 	`U_L
+ (
+ 	`¡r_gnum
+ (
+ ¬y
+ ->
+ ¬y_¬¿y
+ [
+ ¥
+ +1]));
+ 
+ 1649 
+ add¹y³
+  = ()
+ 	`¡r_gnum
+ (
+ ¬y
+ ->
+ ¬y_¬¿y
+ [
+ ¥
+ +2]);
+ 
+ 1651 
+ ÃÁ
+  = 
+ 	`g‘Ãtbyaddr
+ (()
+ addr
+ ,
+ add¹y³
+ );
+ 
+ 1654 
+ ÃÁ
+  = 
+ 	`g‘ËÁ
+ ();
+ 
+ 1656 ià(
+ ÃÁ
+ ) {
+ 
+ 1657 #iâdeà
+ lšt
+ 
+ 
+ 1658 ()
+ 	`a¡Üe
+ (
+ ¬y
+ , ++
+ ¥
+ , 
+ ¡r
+  = 
+ 	`¡r_m܏l
+ (&
+ ¡r_no
+ ));
+ 
+ 1659 
+ 	`¡r_£t
+ (
+ ¡r
+ , 
+ ÃÁ
+ ->
+ n_Çme
+ );
+ 
+ 1660 ()
+ 	`a¡Üe
+ (
+ ¬y
+ , ++
+ ¥
+ , 
+ ¡r
+  = 
+ 	`¡r_m܏l
+ (&
+ ¡r_no
+ ));
+ 
+ 1661 
+ –em
+  = 
+ ÃÁ
+ ->
+ n_®Ÿ£s
+ ; *elem;ƒlem++) {
+ 
+ 1662 
+ 	`¡r_ÿt
+ (
+ ¡r
+ , *
+ –em
+ );
+ 
+ 1663 ià(
+ –em
+ [1])
+ 
+ 1664 
+ 	`¡r_nÿt
+ (
+ ¡r
+ ," ",1);
+ 
+ 1666 ()
+ 	`a¡Üe
+ (
+ ¬y
+ , ++
+ ¥
+ , 
+ ¡r
+  = 
+ 	`¡r_m܏l
+ (&
+ ¡r_no
+ ));
+ 
+ 1667 
+ 	`¡r_num£t
+ (
+ ¡r
+ , ()
+ ÃÁ
+ ->
+ n_add¹y³
+ );
+ 
+ 1668 ()
+ 	`a¡Üe
+ (
+ ¬y
+ , ++
+ ¥
+ , 
+ ¡r
+  = 
+ 	`¡r_m܏l
+ (&
+ ¡r_no
+ ));
+ 
+ 1669 
+ 	`¡r_num£t
+ (
+ ¡r
+ , ()
+ ÃÁ
+ ->
+ n_Ãt
+ );
+ 
+ 1671 
+ –em
+  = 
+ NuÎch
+ ;
+ 
+ 1672 
+ –em
+  =ƒlem;
+ 
+ 1673 ()
+ 	`a¡Üe
+ (
+ ¬y
+ , ++
+ ¥
+ , 
+ 	`¡r_m܏l
+ (&
+ ¡r_no
+ ));
+ 
+ 1677  
+ ¥
+ ;
+ 
+ 1678 
+ 	}
+ }
+ 
+ 1681 
+ 	$do_g³Á
+ (
+ which
+ ,
+ gimme
+ ,
+ ¬gÏ¡
+ )
+ 
+ 1682 
+ which
+ ;
+ 
+ 1683 
+ gimme
+ ;
+ 
+ 1684 *
+ ¬gÏ¡
+ ;
+ 
+ 1686 
+ ARRAY
+  *
+ ¬y
+  = 
+ ¡ack
+ ;
+ 
+ 1687 
+ ¥
+  = 
+ ¬gÏ¡
+ [0];
+ 
+ 1688 **
+ –em
+ ;
+ 
+ 1689 
+ STR
+  *
+ ¡r
+ ;
+ 
+ 1690 
+ ´ÙÛÁ
+  *
+ 	`g‘´ÙobyÇme
+ ();
+ 
+ 1691 
+ ´ÙÛÁ
+  *
+ 	`g‘´Ùobynumb”
+ ();
+ 
+ 1692 
+ ´ÙÛÁ
+  *
+ 	`g‘´ÙÛÁ
+ ();
+ 
+ 1693 
+ ´ÙÛÁ
+  *
+ ³Á
+ ;
+ 
+ 1695 ià(
+ gimme
+  !ð
+ G_ARRAY
+ ) {
+ 
+ 1696 
+ 	`a¡Üe
+ (
+ ¬y
+ , ++
+ ¥
+ , 
+ 	`¡r_m܏l
+ (&
+ ¡r_undef
+ ));
+ 
+ 1697  
+ ¥
+ ;
+ 
+ 1700 ià(
+ which
+  =ð
+ O_GPBYNAME
+ ) {
+ 
+ 1701 *
+ Çme
+  = 
+ 	`¡r_g‘
+ (
+ ¬y
+ ->
+ ¬y_¬¿y
+ [
+ ¥
+ +1]);
+ 
+ 1703 
+ ³Á
+  = 
+ 	`g‘´ÙobyÇme
+ (
+ Çme
+ );
+ 
+ 1705 ià(
+ which
+  =ð
+ O_GPBYNUMBER
+ ) {
+ 
+ 1706 
+ ´Ùo
+  = ()
+ 	`¡r_gnum
+ (
+ ¬y
+ ->
+ ¬y_¬¿y
+ [
+ ¥
+ +1]);
+ 
+ 1708 
+ ³Á
+  = 
+ 	`g‘´Ùobynumb”
+ (
+ ´Ùo
+ );
+ 
+ 1711 
+ ³Á
+  = 
+ 	`g‘´ÙÛÁ
+ ();
+ 
+ 1713 ià(
+ ³Á
+ ) {
+ 
+ 1714 #iâdeà
+ lšt
+ 
+ 
+ 1715 ()
+ 	`a¡Üe
+ (
+ ¬y
+ , ++
+ ¥
+ , 
+ ¡r
+  = 
+ 	`¡r_m܏l
+ (&
+ ¡r_no
+ ));
+ 
+ 1716 
+ 	`¡r_£t
+ (
+ ¡r
+ , 
+ ³Á
+ ->
+ p_Çme
+ );
+ 
+ 1717 ()
+ 	`a¡Üe
+ (
+ ¬y
+ , ++
+ ¥
+ , 
+ ¡r
+  = 
+ 	`¡r_m܏l
+ (&
+ ¡r_no
+ ));
+ 
+ 1718 
+ –em
+  = 
+ ³Á
+ ->
+ p_®Ÿ£s
+ ; *elem;ƒlem++) {
+ 
+ 1719 
+ 	`¡r_ÿt
+ (
+ ¡r
+ , *
+ –em
+ );
+ 
+ 1720 ià(
+ –em
+ [1])
+ 
+ 1721 
+ 	`¡r_nÿt
+ (
+ ¡r
+ ," ",1);
+ 
+ 1723 ()
+ 	`a¡Üe
+ (
+ ¬y
+ , ++
+ ¥
+ , 
+ ¡r
+  = 
+ 	`¡r_m܏l
+ (&
+ ¡r_no
+ ));
+ 
+ 1724 
+ 	`¡r_num£t
+ (
+ ¡r
+ , ()
+ ³Á
+ ->
+ p_´Ùo
+ );
+ 
+ 1726 
+ –em
+  = 
+ NuÎch
+ ;
+ 
+ 1727 
+ –em
+  =ƒlem;
+ 
+ 1728 ()
+ 	`a¡Üe
+ (
+ ¬y
+ , ++
+ ¥
+ , 
+ 	`¡r_m܏l
+ (&
+ ¡r_no
+ ));
+ 
+ 1732  
+ ¥
+ ;
+ 
+ 1733 
+ 	}
+ }
+ 
+ 1736 
+ 	$do_g£Á
+ (
+ which
+ ,
+ gimme
+ ,
+ ¬gÏ¡
+ )
+ 
+ 1737 
+ which
+ ;
+ 
+ 1738 
+ gimme
+ ;
+ 
+ 1739 *
+ ¬gÏ¡
+ ;
+ 
+ 1741 
+ ARRAY
+  *
+ ¬y
+  = 
+ ¡ack
+ ;
+ 
+ 1742 
+ ¥
+  = 
+ ¬gÏ¡
+ [0];
+ 
+ 1743 **
+ –em
+ ;
+ 
+ 1744 
+ STR
+  *
+ ¡r
+ ;
+ 
+ 1745 
+ £rv’t
+  *
+ 	`g‘£rvbyÇme
+ ();
+ 
+ 1746 
+ £rv’t
+  *
+ 	`g‘£rvbynumb”
+ ();
+ 
+ 1747 
+ £rv’t
+  *
+ 	`g‘£rv’t
+ ();
+ 
+ 1748 
+ £rv’t
+  *
+ £Á
+ ;
+ 
+ 1750 ià(
+ gimme
+  !ð
+ G_ARRAY
+ ) {
+ 
+ 1751 
+ 	`a¡Üe
+ (
+ ¬y
+ , ++
+ ¥
+ , 
+ 	`¡r_m܏l
+ (&
+ ¡r_undef
+ ));
+ 
+ 1752  
+ ¥
+ ;
+ 
+ 1755 ià(
+ which
+  =ð
+ O_GSBYNAME
+ ) {
+ 
+ 1756 *
+ Çme
+  = 
+ 	`¡r_g‘
+ (
+ ¬y
+ ->
+ ¬y_¬¿y
+ [
+ ¥
+ +1]);
+ 
+ 1757 *
+ ´Ùo
+  = 
+ 	`¡r_g‘
+ (
+ ¬y
+ ->
+ ¬y_¬¿y
+ [
+ ¥
+ +2]);
+ 
+ 1759 ià(
+ ´Ùo
+  && !*proto)
+ 
+ 1760 
+ ´Ùo
+  = 
+ NuÎch
+ ;
+ 
+ 1762 
+ £Á
+  = 
+ 	`g‘£rvbyÇme
+ (
+ Çme
+ ,
+ ´Ùo
+ );
+ 
+ 1764 ià(
+ which
+  =ð
+ O_GSBYPORT
+ ) {
+ 
+ 1765 
+ pÜt
+  = ()
+ 	`¡r_gnum
+ (
+ ¬y
+ ->
+ ¬y_¬¿y
+ [
+ ¥
+ +1]);
+ 
+ 1766 *
+ ´Ùo
+  = 
+ 	`¡r_g‘
+ (
+ ¬y
+ ->
+ ¬y_¬¿y
+ [
+ ¥
+ +2]);
+ 
+ 1768 
+ £Á
+  = 
+ 	`g‘£rvbypÜt
+ (
+ pÜt
+ ,
+ ´Ùo
+ );
+ 
+ 1771 
+ £Á
+  = 
+ 	`g‘£rv’t
+ ();
+ 
+ 1772 ià(
+ £Á
+ ) {
+ 
+ 1773 #iâdeà
+ lšt
+ 
+ 
+ 1774 ()
+ 	`a¡Üe
+ (
+ ¬y
+ , ++
+ ¥
+ , 
+ ¡r
+  = 
+ 	`¡r_m܏l
+ (&
+ ¡r_no
+ ));
+ 
+ 1775 
+ 	`¡r_£t
+ (
+ ¡r
+ , 
+ £Á
+ ->
+ s_Çme
+ );
+ 
+ 1776 ()
+ 	`a¡Üe
+ (
+ ¬y
+ , ++
+ ¥
+ , 
+ ¡r
+  = 
+ 	`¡r_m܏l
+ (&
+ ¡r_no
+ ));
+ 
+ 1777 
+ –em
+  = 
+ £Á
+ ->
+ s_®Ÿ£s
+ ; *elem;ƒlem++) {
+ 
+ 1778 
+ 	`¡r_ÿt
+ (
+ ¡r
+ , *
+ –em
+ );
+ 
+ 1779 ià(
+ –em
+ [1])
+ 
+ 1780 
+ 	`¡r_nÿt
+ (
+ ¡r
+ ," ",1);
+ 
+ 1782 ()
+ 	`a¡Üe
+ (
+ ¬y
+ , ++
+ ¥
+ , 
+ ¡r
+  = 
+ 	`¡r_m܏l
+ (&
+ ¡r_no
+ ));
+ 
+ 1783 #ifdeà
+ HAS_NTOHS
+ 
+ 
+ 1784 
+ 	`¡r_num£t
+ (
+ ¡r
+ , ()
+ 	`Áohs
+ (
+ £Á
+ ->
+ s_pÜt
+ ));
+ 
+ 1786 
+ 	`¡r_num£t
+ (
+ ¡r
+ , ()(
+ £Á
+ ->
+ s_pÜt
+ ));
+ 
+ 1788 ()
+ 	`a¡Üe
+ (
+ ¬y
+ , ++
+ ¥
+ , 
+ ¡r
+  = 
+ 	`¡r_m܏l
+ (&
+ ¡r_no
+ ));
+ 
+ 1789 
+ 	`¡r_£t
+ (
+ ¡r
+ , 
+ £Á
+ ->
+ s_´Ùo
+ );
+ 
+ 1791 
+ –em
+  = 
+ NuÎch
+ ;
+ 
+ 1792 
+ –em
+  =ƒlem;
+ 
+ 1793 ()
+ 	`a¡Üe
+ (
+ ¬y
+ , ++
+ ¥
+ , 
+ 	`¡r_m܏l
+ (&
+ ¡r_no
+ ));
+ 
+ 1797  
+ ¥
+ ;
+ 
+ 1798 
+ 	}
+ }
+ 
+ 1802 #ifdeà
+ HAS_SELECT
+ 
+ 
+ 1804 
+ 	$do_£Ëù
+ (
+ gimme
+ ,
+ ¬gÏ¡
+ )
+ 
+ 1805 
+ gimme
+ ;
+ 
+ 1806 *
+ ¬gÏ¡
+ ;
+ 
+ 1808 
+ STR
+  **
+ ¡
+  = 
+ ¡ack
+ ->
+ ¬y_¬¿y
+ ;
+ 
+ 1809 
+ ¥
+  = 
+ ¬gÏ¡
+ [0];
+ 
+ 1810 
+ i
+ ;
+ 
+ 1811 
+ j
+ ;
+ 
+ 1812 *
+ s
+ ;
+ 
+ 1813 
+ STR
+  *
+ ¡r
+ ;
+ 
+ 1814 
+ v®ue
+ ;
+ 
+ 1815 
+ maxËn
+  = 0;
+ 
+ 1816 
+ nfound
+ ;
+ 
+ 1817 
+ timev®
+  
+ timebuf
+ ;
+ 
+ 1818 
+ timev®
+  *
+ tbuf
+  = &
+ timebuf
+ ;
+ 
+ 1819 
+ growsize
+ ;
+ 
+ 1820 #ià
+ BYTEORDER
+  != 0x1234 && BYTEORDER != 0x12345678
+ 
+ 1821 
+ masksize
+ ;
+ 
+ 1822 
+ off£t
+ ;
+ 
+ 1823 *
+ fd_£ts
+ [4];
+ 
+ 1824 
+ k
+ ;
+ 
+ 1826 #ià
+ BYTEORDER
+  & 0xf0000
+ 
+ 1827 
+ 	#ORDERBYTE
+  (0x88888888 - 
+ BYTEORDER
+ )
+ 
+ 	)
+ 
+ 1829 
+ 	#ORDERBYTE
+  (0x4444 - 
+ BYTEORDER
+ )
+ 
+ 	)
+ 
+ 1834 
+ i
+  = 1; i <= 3; i++) {
+ 
+ 1835 
+ j
+  = 
+ ¡
+ [
+ ¥
+ +
+ i
+ ]->
+ ¡r_cur
+ ;
+ 
+ 1836 ià(
+ maxËn
+  < 
+ j
+ )
+ 
+ 1837 
+ maxËn
+  = 
+ j
+ ;
+ 
+ 1840 #ià
+ BYTEORDER
+  == 0x1234 || BYTEORDER == 0x12345678
+ 
+ 1841 
+ growsize
+  = 
+ maxËn
+ ;
+ 
+ 1843 #ifdeà
+ NFDBITS
+ 
+ 
+ 1845 #iâdeà
+ NBBY
+ 
+ 
+ 1846 
+ 	#NBBY
+  8
+ 
+ 	)
+ 
+ 1849 
+ masksize
+  = 
+ NFDBITS
+  / 
+ NBBY
+ ;
+ 
+ 1851 
+ masksize
+  = ();
+ 
+ 1853 
+ growsize
+  = 
+ maxËn
+  + (
+ masksize
+  - (maxlen % masksize));
+ 
+ 1854 
+ 	`Z”o
+ (&
+ fd_£ts
+ [0], 4, *);
+ 
+ 1857 
+ i
+  = 1; i <= 3; i++) {
+ 
+ 1858 
+ ¡r
+  = 
+ ¡
+ [
+ ¥
+ +
+ i
+ ];
+ 
+ 1859 
+ j
+  = 
+ ¡r
+ ->
+ ¡r_Ën
+ ;
+ 
+ 1860 ià(
+ j
+  < 
+ growsize
+ ) {
+ 
+ 1861 ià(
+ ¡r
+ ->
+ ¡r_pok
+ ) {
+ 
+ 1862 
+ 	`SŒ_Grow
+ (
+ ¡r
+ ,
+ growsize
+ );
+ 
+ 1863 
+ s
+  = 
+ 	`¡r_g‘
+ (
+ ¡r
+ è+ 
+ j
+ ;
+ 
+ 1864 ++
+ j
+  <ð
+ growsize
+ ) {
+ 
+ 1865 *
+ s
+ ++ = '\0';
+ 
+ 1868 ià(
+ ¡r
+ ->
+ ¡r_±r
+ ) {
+ 
+ 1869 
+ 	`Saãä“
+ (
+ ¡r
+ ->
+ ¡r_±r
+ );
+ 
+ 1870 
+ ¡r
+ ->
+ ¡r_±r
+  = 
+ NuÎch
+ ;
+ 
+ 1873 #ià
+ BYTEORDER
+  != 0x1234 && BYTEORDER != 0x12345678
+ 
+ 1874 
+ s
+  = 
+ ¡r
+ ->
+ ¡r_±r
+ ;
+ 
+ 1875 ià(
+ s
+ ) {
+ 
+ 1876 
+ 	`New
+ (403, 
+ fd_£ts
+ [
+ i
+ ], 
+ growsize
+ , );
+ 
+ 1877 
+ off£t
+  = 0; off£ˆ< 
+ growsize
+ ; off£ˆ+ð
+ masksize
+ ) {
+ 
+ 1878 
+ j
+  = 0, 
+ k
+ =
+ ORDERBYTE
+ ; j < 
+ masksize
+ ; j++, (k >>= 4))
+ 
+ 1879 
+ fd_£ts
+ [
+ i
+ ][
+ j
+ +
+ off£t
+ ] = 
+ s
+ [(
+ k
+  % 
+ masksize
+ ) + offset];
+ 
+ 1884 
+ ¡r
+  = 
+ ¡
+ [
+ ¥
+ +4];
+ 
+ 1885 ià(
+ ¡r
+ ->
+ ¡r_nok
+  || sŒ->
+ ¡r_pok
+ ) {
+ 
+ 1886 
+ v®ue
+  = 
+ 	`¡r_gnum
+ (
+ ¡r
+ );
+ 
+ 1887 ià(
+ v®ue
+  < 0.0)
+ 
+ 1888 
+ v®ue
+  = 0.0;
+ 
+ 1889 
+ timebuf
+ .
+ tv_£c
+  = ()
+ v®ue
+ ;
+ 
+ 1890 
+ v®ue
+  -ð()
+ timebuf
+ .
+ tv_£c
+ ;
+ 
+ 1891 
+ timebuf
+ .
+ tv_u£c
+  = ()(
+ v®ue
+  * 1000000.0);
+ 
+ 1894 
+ tbuf
+  = 
+ 	`NuÎ
+ (
+ timev®
+ *);
+ 
+ 1896 #ià
+ BYTEORDER
+  == 0x1234 || BYTEORDER == 0x12345678
+ 
+ 1897 
+ nfound
+  = 
+ 	`£Ëù
+ (
+ 
+ 1898 
+ maxËn
+  * 8,
+ 
+ 1899 
+ ¡
+ [
+ ¥
+ +1]->
+ ¡r_±r
+ ,
+ 
+ 1900 
+ ¡
+ [
+ ¥
+ +2]->
+ ¡r_±r
+ ,
+ 
+ 1901 
+ ¡
+ [
+ ¥
+ +3]->
+ ¡r_±r
+ ,
+ 
+ 1902 
+ tbuf
+ );
+ 
+ 1904 
+ nfound
+  = 
+ 	`£Ëù
+ (
+ 
+ 1905 
+ maxËn
+  * 8,
+ 
+ 1906 (*)
+ fd_£ts
+ [1],
+ 
+ 1907 (*)
+ fd_£ts
+ [2],
+ 
+ 1908 (*)
+ fd_£ts
+ [3],
+ 
+ 1909 
+ tbuf
+ );
+ 
+ 1910 
+ i
+  = 1; i <= 3; i++) {
+ 
+ 1911 ià(
+ fd_£ts
+ [
+ i
+ ]) {
+ 
+ 1912 
+ ¡r
+  = 
+ ¡
+ [
+ ¥
+ +
+ i
+ ];
+ 
+ 1913 
+ s
+  = 
+ ¡r
+ ->
+ ¡r_±r
+ ;
+ 
+ 1914 
+ off£t
+  = 0; off£ˆ< 
+ growsize
+ ; off£ˆ+ð
+ masksize
+ ) {
+ 
+ 1915 
+ j
+  = 0, 
+ k
+ =
+ ORDERBYTE
+ ; j < 
+ masksize
+ ; j++, (k >>= 4))
+ 
+ 1916 
+ s
+ [(
+ k
+  % 
+ masksize
+ è+ 
+ off£t
+ ] = 
+ fd_£ts
+ [
+ i
+ ][
+ j
+ +offset];
+ 
+ 1922 
+ ¡
+ [++
+ ¥
+ ] = 
+ 	`¡r_m܏l
+ (&
+ ¡r_no
+ );
+ 
+ 1923 
+ 	`¡r_num£t
+ (
+ ¡
+ [
+ ¥
+ ], ()
+ nfound
+ );
+ 
+ 1924 ià(
+ gimme
+  =ð
+ G_ARRAY
+  && 
+ tbuf
+ ) {
+ 
+ 1925 
+ v®ue
+  = ()(
+ timebuf
+ .
+ tv_£c
+ ) +
+ 
+ 1926 ()(
+ timebuf
+ .
+ tv_u£c
+ ) / 1000000.0;
+ 
+ 1927 
+ ¡
+ [++
+ ¥
+ ] = 
+ 	`¡r_m܏l
+ (&
+ ¡r_no
+ );
+ 
+ 1928 
+ 	`¡r_num£t
+ (
+ ¡
+ [
+ ¥
+ ], 
+ v®ue
+ );
+ 
+ 1930  
+ ¥
+ ;
+ 
+ 1931 
+ 	}
+ }
+ 
+ 1934 #ifdeà
+ HAS_SOCKET
+ 
+ 
+ 1936 
+ 	$do_¥aœ
+ (
+ ¡ab1
+ , 
+ ¡ab2
+ , 
+ ¬gÏ¡
+ )
+ 
+ 1937 
+ STAB
+  *
+ ¡ab1
+ ;
+ 
+ 1938 
+ STAB
+  *
+ ¡ab2
+ ;
+ 
+ 1939 *
+ ¬gÏ¡
+ ;
+ 
+ 1941 
+ STR
+  **
+ ¡
+  = 
+ ¡ack
+ ->
+ ¬y_¬¿y
+ ;
+ 
+ 1942 
+ ¥
+  = 
+ ¬gÏ¡
+ [2];
+ 
+ 1943 
+ STIO
+  *
+ ¡io1
+ ;
+ 
+ 1944 
+ STIO
+  *
+ ¡io2
+ ;
+ 
+ 1945 
+ domaš
+ , 
+ ty³
+ , 
+ ´ÙocÞ
+ , 
+ fd
+ [2];
+ 
+ 1947 ià(!
+ ¡ab1
+  || !
+ ¡ab2
+ )
+ 
+ 1948  
+ FALSE
+ ;
+ 
+ 1950 
+ ¡io1
+  = 
+ 	`¡ab_io
+ (
+ ¡ab1
+ );
+ 
+ 1951 
+ ¡io2
+  = 
+ 	`¡ab_io
+ (
+ ¡ab2
+ );
+ 
+ 1952 ià(!
+ ¡io1
+ )
+ 
+ 1953 
+ ¡io1
+  = 
+ 	`¡ab_io
+ (
+ ¡ab1
+ èð
+ 	`¡io_Ãw
+ ();
+ 
+ 1954 ià(
+ ¡io1
+ ->
+ iå
+ )
+ 
+ 1955 
+ 	`do_þo£
+ (
+ ¡ab1
+ ,
+ FALSE
+ );
+ 
+ 1956 ià(!
+ ¡io2
+ )
+ 
+ 1957 
+ ¡io2
+  = 
+ 	`¡ab_io
+ (
+ ¡ab2
+ èð
+ 	`¡io_Ãw
+ ();
+ 
+ 1958 ià(
+ ¡io2
+ ->
+ iå
+ )
+ 
+ 1959 
+ 	`do_þo£
+ (
+ ¡ab2
+ ,
+ FALSE
+ );
+ 
+ 1961 
+ domaš
+  = ()
+ 	`¡r_gnum
+ (
+ ¡
+ [++
+ ¥
+ ]);
+ 
+ 1962 
+ ty³
+  = ()
+ 	`¡r_gnum
+ (
+ ¡
+ [++
+ ¥
+ ]);
+ 
+ 1963 
+ ´ÙocÞ
+  = ()
+ 	`¡r_gnum
+ (
+ ¡
+ [++
+ ¥
+ ]);
+ 
+ 1964 #ifdeà
+ TAINT
+ 
+ 
+ 1965 
+ 	`šrÝ”
+ ("Insecure dependency in socketpair");
+ 
+ 1967 #ifdeà
+ HAS_SOCKETPAIR
+ 
+ 
+ 1968 ià(
+ 	`sock‘·œ
+ (
+ domaš
+ ,
+ ty³
+ ,
+ ´ÙocÞ
+ ,
+ fd
+ ) < 0)
+ 
+ 1969  
+ FALSE
+ ;
+ 
+ 1971 
+ 	`çl
+ ("Socketpair unimplemented");
+ 
+ 1973 
+ ¡io1
+ ->
+ iå
+  = 
+ 	`fdݒ
+ (
+ fd
+ [0], "r");
+ 
+ 1974 
+ ¡io1
+ ->
+ oå
+  = 
+ 	`fdݒ
+ (
+ fd
+ [0], "w");
+ 
+ 1975 
+ ¡io1
+ ->
+ ty³
+  = 's';
+ 
+ 1976 
+ ¡io2
+ ->
+ iå
+  = 
+ 	`fdݒ
+ (
+ fd
+ [1], "r");
+ 
+ 1977 
+ ¡io2
+ ->
+ oå
+  = 
+ 	`fdݒ
+ (
+ fd
+ [1], "w");
+ 
+ 1978 
+ ¡io2
+ ->
+ ty³
+  = 's';
+ 
+ 1979 ià(!
+ ¡io1
+ ->
+ iå
+  || !¡io1->
+ oå
+  || !
+ ¡io2
+ ->ifp || !stio2->ofp) {
+ 
+ 1980 ià(
+ ¡io1
+ ->
+ iå
+ è
+ 	`fþo£
+ (stio1->ifp);
+ 
+ 1981 ià(
+ ¡io1
+ ->
+ oå
+ è
+ 	`fþo£
+ (stio1->ofp);
+ 
+ 1982 ià(!
+ ¡io1
+ ->
+ iå
+  && !¡io1->
+ oå
+ è
+ 	`þo£
+ (
+ fd
+ [0]);
+ 
+ 1983 ià(
+ ¡io2
+ ->
+ iå
+ è
+ 	`fþo£
+ (stio2->ifp);
+ 
+ 1984 ià(
+ ¡io2
+ ->
+ oå
+ è
+ 	`fþo£
+ (stio2->ofp);
+ 
+ 1985 ià(!
+ ¡io2
+ ->
+ iå
+  && !¡io2->
+ oå
+ è
+ 	`þo£
+ (
+ fd
+ [1]);
+ 
+ 1986  
+ FALSE
+ ;
+ 
+ 1989  
+ TRUE
+ ;
+ 
+ 1990 
+ 	}
+ }
+ 
+ 1995 
+ 	$do_gpw’t
+ (
+ which
+ ,
+ gimme
+ ,
+ ¬gÏ¡
+ )
+ 
+ 1996 
+ which
+ ;
+ 
+ 1997 
+ gimme
+ ;
+ 
+ 1998 *
+ ¬gÏ¡
+ ;
+ 
+ 2000 #ifdeà
+ I_PWD
+ 
+ 
+ 2001 
+ ARRAY
+  *
+ ¬y
+  = 
+ ¡ack
+ ;
+ 
+ 2002 
+ ¥
+  = 
+ ¬gÏ¡
+ [0];
+ 
+ 2003 
+ STR
+  *
+ ¡r
+ ;
+ 
+ 2004 
+ ·sswd
+  *
+ 	`g‘pwÇm
+ ();
+ 
+ 2005 
+ ·sswd
+  *
+ 	`g‘pwuid
+ ();
+ 
+ 2006 
+ ·sswd
+  *
+ 	`g‘pw’t
+ ();
+ 
+ 2007 
+ ·sswd
+  *
+ pw’t
+ ;
+ 
+ 2009 ià(
+ gimme
+  !ð
+ G_ARRAY
+ ) {
+ 
+ 2010 
+ 	`a¡Üe
+ (
+ ¬y
+ , ++
+ ¥
+ , 
+ 	`¡r_m܏l
+ (&
+ ¡r_undef
+ ));
+ 
+ 2011  
+ ¥
+ ;
+ 
+ 2014 ià(
+ which
+  =ð
+ O_GPWNAM
+ ) {
+ 
+ 2015 *
+ Çme
+  = 
+ 	`¡r_g‘
+ (
+ ¬y
+ ->
+ ¬y_¬¿y
+ [
+ ¥
+ +1]);
+ 
+ 2017 
+ pw’t
+  = 
+ 	`g‘pwÇm
+ (
+ Çme
+ );
+ 
+ 2019 ià(
+ which
+  =ð
+ O_GPWUID
+ ) {
+ 
+ 2020 
+ uid
+  = ()
+ 	`¡r_gnum
+ (
+ ¬y
+ ->
+ ¬y_¬¿y
+ [
+ ¥
+ +1]);
+ 
+ 2022 
+ pw’t
+  = 
+ 	`g‘pwuid
+ (
+ uid
+ );
+ 
+ 2025 
+ pw’t
+  = 
+ 	`g‘pw’t
+ ();
+ 
+ 2027 ià(
+ pw’t
+ ) {
+ 
+ 2028 ()
+ 	`a¡Üe
+ (
+ ¬y
+ , ++
+ ¥
+ , 
+ ¡r
+  = 
+ 	`¡r_m܏l
+ (&
+ ¡r_no
+ ));
+ 
+ 2029 
+ 	`¡r_£t
+ (
+ ¡r
+ , 
+ pw’t
+ ->
+ pw_Çme
+ );
+ 
+ 2030 ()
+ 	`a¡Üe
+ (
+ ¬y
+ , ++
+ ¥
+ , 
+ ¡r
+  = 
+ 	`¡r_m܏l
+ (&
+ ¡r_no
+ ));
+ 
+ 2031 
+ 	`¡r_£t
+ (
+ ¡r
+ , 
+ pw’t
+ ->
+ pw_·sswd
+ );
+ 
+ 2032 ()
+ 	`a¡Üe
+ (
+ ¬y
+ , ++
+ ¥
+ , 
+ ¡r
+  = 
+ 	`¡r_m܏l
+ (&
+ ¡r_no
+ ));
+ 
+ 2033 
+ 	`¡r_num£t
+ (
+ ¡r
+ , ()
+ pw’t
+ ->
+ pw_uid
+ );
+ 
+ 2034 ()
+ 	`a¡Üe
+ (
+ ¬y
+ , ++
+ ¥
+ , 
+ ¡r
+  = 
+ 	`¡r_m܏l
+ (&
+ ¡r_no
+ ));
+ 
+ 2035 
+ 	`¡r_num£t
+ (
+ ¡r
+ , ()
+ pw’t
+ ->
+ pw_gid
+ );
+ 
+ 2036 ()
+ 	`a¡Üe
+ (
+ ¬y
+ , ++
+ ¥
+ , 
+ ¡r
+  = 
+ 	`¡r_m܏l
+ (&
+ ¡r_no
+ ));
+ 
+ 2037 #ifdeà
+ PWCHANGE
+ 
+ 
+ 2038 
+ 	`¡r_num£t
+ (
+ ¡r
+ , ()
+ pw’t
+ ->
+ pw_chªge
+ );
+ 
+ 2040 #ifdeà
+ PWQUOTA
+ 
+ 
+ 2041 
+ 	`¡r_num£t
+ (
+ ¡r
+ , ()
+ pw’t
+ ->
+ pw_quÙa
+ );
+ 
+ 2043 #ifdeà
+ PWAGE
+ 
+ 
+ 2044 
+ 	`¡r_£t
+ (
+ ¡r
+ , 
+ pw’t
+ ->
+ pw_age
+ );
+ 
+ 2048 ()
+ 	`a¡Üe
+ (
+ ¬y
+ , ++
+ ¥
+ , 
+ ¡r
+  = 
+ 	`¡r_m܏l
+ (&
+ ¡r_no
+ ));
+ 
+ 2049 #ifdeà
+ PWCLASS
+ 
+ 
+ 2050 
+ 	`¡r_£t
+ (
+ ¡r
+ ,
+ pw’t
+ ->
+ pw_þass
+ );
+ 
+ 2052 #ifdeà
+ PWCOMMENT
+ 
+ 
+ 2053 
+ 	`¡r_£t
+ (
+ ¡r
+ , 
+ pw’t
+ ->
+ pw_comm’t
+ );
+ 
+ 2056 ()
+ 	`a¡Üe
+ (
+ ¬y
+ , ++
+ ¥
+ , 
+ ¡r
+  = 
+ 	`¡r_m܏l
+ (&
+ ¡r_no
+ ));
+ 
+ 2057 
+ 	`¡r_£t
+ (
+ ¡r
+ , 
+ pw’t
+ ->
+ pw_gecos
+ );
+ 
+ 2058 ()
+ 	`a¡Üe
+ (
+ ¬y
+ , ++
+ ¥
+ , 
+ ¡r
+  = 
+ 	`¡r_m܏l
+ (&
+ ¡r_no
+ ));
+ 
+ 2059 
+ 	`¡r_£t
+ (
+ ¡r
+ , 
+ pw’t
+ ->
+ pw_dœ
+ );
+ 
+ 2060 ()
+ 	`a¡Üe
+ (
+ ¬y
+ , ++
+ ¥
+ , 
+ ¡r
+  = 
+ 	`¡r_m܏l
+ (&
+ ¡r_no
+ ));
+ 
+ 2061 
+ 	`¡r_£t
+ (
+ ¡r
+ , 
+ pw’t
+ ->
+ pw_sh–l
+ );
+ 
+ 2062 #ifdeà
+ PWEXPIRE
+ 
+ 
+ 2063 ()
+ 	`a¡Üe
+ (
+ ¬y
+ , ++
+ ¥
+ , 
+ ¡r
+  = 
+ 	`¡r_m܏l
+ (&
+ ¡r_no
+ ));
+ 
+ 2064 
+ 	`¡r_num£t
+ (
+ ¡r
+ , ()
+ pw’t
+ ->
+ pw_expœe
+ );
+ 
+ 2068  
+ ¥
+ ;
+ 
+ 2070 
+ 	`çl
+ ("password„outines‚ot implemented");
+ 
+ 2072 
+ 	}
+ }
+ 
+ 2075 
+ 	$do_gg»Á
+ (
+ which
+ ,
+ gimme
+ ,
+ ¬gÏ¡
+ )
+ 
+ 2076 
+ which
+ ;
+ 
+ 2077 
+ gimme
+ ;
+ 
+ 2078 *
+ ¬gÏ¡
+ ;
+ 
+ 2080 #ifdeà
+ I_GRP
+ 
+ 
+ 2081 
+ ARRAY
+  *
+ ¬y
+  = 
+ ¡ack
+ ;
+ 
+ 2082 
+ ¥
+  = 
+ ¬gÏ¡
+ [0];
+ 
+ 2083 **
+ –em
+ ;
+ 
+ 2084 
+ STR
+  *
+ ¡r
+ ;
+ 
+ 2085 
+ group
+  *
+ 	`g‘gºam
+ ();
+ 
+ 2086 
+ group
+  *
+ 	`g‘grgid
+ ();
+ 
+ 2087 
+ group
+  *
+ 	`g‘g»Á
+ ();
+ 
+ 2088 
+ group
+  *
+ g»Á
+ ;
+ 
+ 2090 ià(
+ gimme
+  !ð
+ G_ARRAY
+ ) {
+ 
+ 2091 
+ 	`a¡Üe
+ (
+ ¬y
+ , ++
+ ¥
+ , 
+ 	`¡r_m܏l
+ (&
+ ¡r_undef
+ ));
+ 
+ 2092  
+ ¥
+ ;
+ 
+ 2095 ià(
+ which
+  =ð
+ O_GGRNAM
+ ) {
+ 
+ 2096 *
+ Çme
+  = 
+ 	`¡r_g‘
+ (
+ ¬y
+ ->
+ ¬y_¬¿y
+ [
+ ¥
+ +1]);
+ 
+ 2098 
+ g»Á
+  = 
+ 	`g‘gºam
+ (
+ Çme
+ );
+ 
+ 2100 ià(
+ which
+  =ð
+ O_GGRGID
+ ) {
+ 
+ 2101 
+ gid
+  = ()
+ 	`¡r_gnum
+ (
+ ¬y
+ ->
+ ¬y_¬¿y
+ [
+ ¥
+ +1]);
+ 
+ 2103 
+ g»Á
+  = 
+ 	`g‘grgid
+ (
+ gid
+ );
+ 
+ 2106 
+ g»Á
+  = 
+ 	`g‘g»Á
+ ();
+ 
+ 2108 ià(
+ g»Á
+ ) {
+ 
+ 2109 ()
+ 	`a¡Üe
+ (
+ ¬y
+ , ++
+ ¥
+ , 
+ ¡r
+  = 
+ 	`¡r_m܏l
+ (&
+ ¡r_no
+ ));
+ 
+ 2110 
+ 	`¡r_£t
+ (
+ ¡r
+ , 
+ g»Á
+ ->
+ gr_Çme
+ );
+ 
+ 2111 ()
+ 	`a¡Üe
+ (
+ ¬y
+ , ++
+ ¥
+ , 
+ ¡r
+  = 
+ 	`¡r_m܏l
+ (&
+ ¡r_no
+ ));
+ 
+ 2112 
+ 	`¡r_£t
+ (
+ ¡r
+ , 
+ g»Á
+ ->
+ gr_·sswd
+ );
+ 
+ 2113 ()
+ 	`a¡Üe
+ (
+ ¬y
+ , ++
+ ¥
+ , 
+ ¡r
+  = 
+ 	`¡r_m܏l
+ (&
+ ¡r_no
+ ));
+ 
+ 2114 
+ 	`¡r_num£t
+ (
+ ¡r
+ , ()
+ g»Á
+ ->
+ gr_gid
+ );
+ 
+ 2115 ()
+ 	`a¡Üe
+ (
+ ¬y
+ , ++
+ ¥
+ , 
+ ¡r
+  = 
+ 	`¡r_m܏l
+ (&
+ ¡r_no
+ ));
+ 
+ 2116 
+ –em
+  = 
+ g»Á
+ ->
+ gr_mem
+ ; *elem;ƒlem++) {
+ 
+ 2117 
+ 	`¡r_ÿt
+ (
+ ¡r
+ , *
+ –em
+ );
+ 
+ 2118 ià(
+ –em
+ [1])
+ 
+ 2119 
+ 	`¡r_nÿt
+ (
+ ¡r
+ ," ",1);
+ 
+ 2123  
+ ¥
+ ;
+ 
+ 2125 
+ 	`çl
+ ("group„outines‚ot implemented");
+ 
+ 2127 
+ 	}
+ }
+ 
+ 2130 
+ 	$do_dœÝ
+ (
+ Ýty³
+ ,
+ ¡ab
+ ,
+ gimme
+ ,
+ ¬gÏ¡
+ )
+ 
+ 2131 
+ Ýty³
+ ;
+ 
+ 2132 
+ STAB
+  *
+ ¡ab
+ ;
+ 
+ 2133 
+ gimme
+ ;
+ 
+ 2134 *
+ ¬gÏ¡
+ ;
+ 
+ 2136 #ià
+ 	`defšed
+ (
+ DIRENT
+ è&& defšed(
+ HAS_READDIR
+ )
+ 
+ 2137 
+ ARRAY
+  *
+ ¬y
+  = 
+ ¡ack
+ ;
+ 
+ 2138 
+ STR
+  **
+ ¡
+  = 
+ ¬y
+ ->
+ ¬y_¬¿y
+ ;
+ 
+ 2139 
+ ¥
+  = 
+ ¬gÏ¡
+ [1];
+ 
+ 2140 
+ STIO
+  *
+ ¡io
+ ;
+ 
+ 2141 
+ ®Úg
+ ;
+ 
+ 2142 #iâdeà
+ ‹Îdœ
+ 
+ 
+ 2143 
+ 	`‹Îdœ
+ ();
+ 
+ 2145 
+ DIRENT
+  *
+ 	`»addœ
+ ();
+ 
+ 2146 
+ DIRENT
+  *
+ dp
+ ;
+ 
+ 2148 ià(!
+ ¡ab
+ )
+ 
+ 2149 
+ nÝe
+ ;
+ 
+ 2150 ià(!(
+ ¡io
+  = 
+ 	`¡ab_io
+ (
+ ¡ab
+ )))
+ 
+ 2151 
+ ¡io
+  = 
+ 	`¡ab_io
+ (
+ ¡ab
+ èð
+ 	`¡io_Ãw
+ ();
+ 
+ 2152 ià(!
+ ¡io
+ ->
+ dœp
+  && 
+ Ýty³
+  !ð
+ O_OPENDIR
+ )
+ 
+ 2153 
+ nÝe
+ ;
+ 
+ 2154 
+ ¡
+ [
+ ¥
+ ] = &
+ ¡r_yes
+ ;
+ 
+ 2155 
+ Ýty³
+ ) {
+ 
+ 2156 
+ O_OPENDIR
+ :
+ 
+ 2157 ià(
+ ¡io
+ ->
+ dœp
+ )
+ 
+ 2158 
+ 	`þo£dœ
+ (
+ ¡io
+ ->
+ dœp
+ );
+ 
+ 2159 ià(!(
+ ¡io
+ ->
+ dœp
+  = 
+ 	`Ý’dœ
+ (
+ 	`¡r_g‘
+ (
+ ¡
+ [
+ ¥
+ +1]))))
+ 
+ 2160 
+ nÝe
+ ;
+ 
+ 2162 
+ O_READDIR
+ :
+ 
+ 2163 ià(
+ gimme
+  =ð
+ G_ARRAY
+ ) {
+ 
+ 2164 --
+ ¥
+ ;
+ 
+ 2165 
+ dp
+  = 
+ 	`»addœ
+ (
+ ¡io
+ ->
+ dœp
+ )) {
+ 
+ 2166 #ifdeà
+ DIRNAMLEN
+ 
+ 
+ 2167 ()
+ 	`a¡Üe
+ (
+ ¬y
+ ,++
+ ¥
+ ,
+ 
+ 2168 
+ 	`¡r_2m܏l
+ (
+ 	`¡r_make
+ (
+ dp
+ ->
+ d_Çme
+ ,dp->
+ d_ÇmËn
+ )));
+ 
+ 2170 ()
+ 	`a¡Üe
+ (
+ ¬y
+ ,++
+ ¥
+ ,
+ 
+ 2171 
+ 	`¡r_2m܏l
+ (
+ 	`¡r_make
+ (
+ dp
+ ->
+ d_Çme
+ ,0)));
+ 
+ 2176 ià(!(
+ dp
+  = 
+ 	`»addœ
+ (
+ ¡io
+ ->
+ dœp
+ )))
+ 
+ 2177 
+ nÝe
+ ;
+ 
+ 2178 
+ ¡
+ [
+ ¥
+ ] = 
+ 	`¡r_m܏l
+ (&
+ ¡r_undef
+ );
+ 
+ 2179 #ifdeà
+ DIRNAMLEN
+ 
+ 
+ 2180 
+ 	`¡r_n£t
+ (
+ ¡
+ [
+ ¥
+ ], 
+ dp
+ ->
+ d_Çme
+ , dp->
+ d_ÇmËn
+ );
+ 
+ 2182 
+ 	`¡r_£t
+ (
+ ¡
+ [
+ ¥
+ ], 
+ dp
+ ->
+ d_Çme
+ );
+ 
+ 2186 #ià
+ MACH
+ 
+ 
+ 2187 
+ O_TELLDIR
+ :
+ 
+ 2188 
+ O_SEEKDIR
+ :
+ 
+ 2189 
+ nÝe
+ ;
+ 
+ 2191 
+ O_TELLDIR
+ :
+ 
+ 2192 
+ ¡
+ [
+ ¥
+ ] = 
+ 	`¡r_m܏l
+ (&
+ ¡r_undef
+ );
+ 
+ 2193 
+ 	`¡r_num£t
+ (
+ ¡
+ [
+ ¥
+ ], ()
+ 	`‹Îdœ
+ (
+ ¡io
+ ->
+ dœp
+ ));
+ 
+ 2195 
+ O_SEEKDIR
+ :
+ 
+ 2196 
+ ¡
+ [
+ ¥
+ ] = 
+ 	`¡r_m܏l
+ (&
+ ¡r_undef
+ );
+ 
+ 2197 
+ ®Úg
+  = ()
+ 	`¡r_gnum
+ (
+ ¡
+ [
+ ¥
+ +1]);
+ 
+ 2198 ()
+ 	`£ekdœ
+ (
+ ¡io
+ ->
+ dœp
+ ,
+ ®Úg
+ );
+ 
+ 2201 
+ O_REWINDDIR
+ :
+ 
+ 2202 
+ ¡
+ [
+ ¥
+ ] = 
+ 	`¡r_m܏l
+ (&
+ ¡r_undef
+ );
+ 
+ 2203 ()
+ 	`»wšddœ
+ (
+ ¡io
+ ->
+ dœp
+ );
+ 
+ 2205 
+ O_CLOSEDIR
+ :
+ 
+ 2206 
+ ¡
+ [
+ ¥
+ ] = 
+ 	`¡r_m܏l
+ (&
+ ¡r_undef
+ );
+ 
+ 2207 ()
+ 	`þo£dœ
+ (
+ ¡io
+ ->
+ dœp
+ );
+ 
+ 2208 
+ ¡io
+ ->
+ dœp
+  = 0;
+ 
+ 2211  
+ ¥
+ ;
+ 
+ 2213 
+ nÝe
+ :
+ 
+ 2214 
+ ¡
+ [
+ ¥
+ ] = &
+ ¡r_undef
+ ;
+ 
+ 2215  
+ ¥
+ ;
+ 
+ 2218 
+ 	`çl
+ ("Unimplemented directory operation");
+ 
+ 2220 
+ 	}
+ }
+ 
+ 2222 
+ 	$­¶y
+ (
+ ty³
+ ,
+ ¬gÏ¡
+ )
+ 
+ 2223 
+ ty³
+ ;
+ 
+ 2224 *
+ ¬gÏ¡
+ ;
+ 
+ 2226 
+ STR
+  **
+ ¡
+  = 
+ ¡ack
+ ->
+ ¬y_¬¿y
+ ;
+ 
+ 2227 
+ ¥
+  = 
+ ¬gÏ¡
+ [1];
+ 
+ 2228 
+ ™ems
+  = 
+ ¬gÏ¡
+ [2] - 
+ ¥
+ ;
+ 
+ 2229 
+ v®
+ ;
+ 
+ 2230 
+ v®2
+ ;
+ 
+ 2231 
+ tÙ
+  = 0;
+ 
+ 2232 *
+ s
+ ;
+ 
+ 2234 #ifdeà
+ TAINT
+ 
+ 
+ 2235 
+ ¡
+  +ð++
+ ¥
+ ; 
+ ™ems
+ --; st++)
+ 
+ 2236 
+ š‹d
+  |ð(*
+ ¡
+ )->
+ ¡r_š‹d
+ ;
+ 
+ 2237 
+ ¡
+  = 
+ ¡ack
+ ->
+ ¬y_¬¿y
+ ;
+ 
+ 2238 
+ ¥
+  = 
+ ¬gÏ¡
+ [1];
+ 
+ 2239 
+ ™ems
+  = 
+ ¬gÏ¡
+ [2] - 
+ ¥
+ ;
+ 
+ 2241 
+ ty³
+ ) {
+ 
+ 2242 
+ O_CHMOD
+ :
+ 
+ 2243 #ifdeà
+ TAINT
+ 
+ 
+ 2244 
+ 	`šrÝ”
+ ("Insecure dependency in chmod");
+ 
+ 2246 ià(--
+ ™ems
+  > 0) {
+ 
+ 2247 
+ tÙ
+  = 
+ ™ems
+ ;
+ 
+ 2248 
+ v®
+  = ()
+ 	`¡r_gnum
+ (
+ ¡
+ [++
+ ¥
+ ]);
+ 
+ 2249 
+ ™ems
+ --) {
+ 
+ 2250 ià(
+ 	`chmod
+ (
+ 	`¡r_g‘
+ (
+ ¡
+ [++
+ ¥
+ ]),
+ v®
+ ))
+ 
+ 2251 
+ tÙ
+ --;
+ 
+ 2255 #ifdeà
+ HAS_CHOWN
+ 
+ 
+ 2256 
+ O_CHOWN
+ :
+ 
+ 2257 #ifdeà
+ TAINT
+ 
+ 
+ 2258 
+ 	`šrÝ”
+ ("Insecure dependency in chown");
+ 
+ 2260 ià(
+ ™ems
+  > 2) {
+ 
+ 2261 
+ ™ems
+  -= 2;
+ 
+ 2262 
+ tÙ
+  = 
+ ™ems
+ ;
+ 
+ 2263 
+ v®
+  = ()
+ 	`¡r_gnum
+ (
+ ¡
+ [++
+ ¥
+ ]);
+ 
+ 2264 
+ v®2
+  = ()
+ 	`¡r_gnum
+ (
+ ¡
+ [++
+ ¥
+ ]);
+ 
+ 2265 
+ ™ems
+ --) {
+ 
+ 2266 ià(
+ 	`chown
+ (
+ 	`¡r_g‘
+ (
+ ¡
+ [++
+ ¥
+ ]),
+ v®
+ ,
+ v®2
+ ))
+ 
+ 2267 
+ tÙ
+ --;
+ 
+ 2272 #ifdeà
+ HAS_KILL
+ 
+ 
+ 2273 
+ O_KILL
+ :
+ 
+ 2274 #ifdeà
+ TAINT
+ 
+ 
+ 2275 
+ 	`šrÝ”
+ ("Insecure dependency in kill");
+ 
+ 2277 ià(--
+ ™ems
+  > 0) {
+ 
+ 2278 
+ tÙ
+  = 
+ ™ems
+ ;
+ 
+ 2279 
+ s
+  = 
+ 	`¡r_g‘
+ (
+ ¡
+ [++
+ ¥
+ ]);
+ 
+ 2280 ià(
+ 	`isuµ”
+ (*
+ s
+ )) {
+ 
+ 2281 ià(*
+ s
+  == 'S' && s[1] == 'I' && s[2] == 'G')
+ 
+ 2282 
+ s
+  += 3;
+ 
+ 2283 ià(!(
+ v®
+  = 
+ 	`whichsig
+ (
+ s
+ )))
+ 
+ 2284 
+ 	`çl
+ ("UÄecognized sigÇÈÇm\"%s\"",
+ s
+ );
+ 
+ 2287 
+ v®
+  = ()
+ 	`¡r_gnum
+ (
+ ¡
+ [
+ ¥
+ ]);
+ 
+ 2288 ià(
+ v®
+  < 0) {
+ 
+ 2289 
+ v®
+  = -val;
+ 
+ 2290 
+ ™ems
+ --) {
+ 
+ 2291 
+ ´oc
+  = ()
+ 	`¡r_gnum
+ (
+ ¡
+ [++
+ ¥
+ ]);
+ 
+ 2292 #ifdeà
+ HAS_KILLPG
+ 
+ 
+ 2293 ià(
+ 	`kžÍg
+ (
+ ´oc
+ ,
+ v®
+ ))
+ 
+ 2295 ià(
+ 	`kžl
+ (-
+ ´oc
+ ,
+ v®
+ ))
+ 
+ 2297 
+ tÙ
+ --;
+ 
+ 2301 
+ ™ems
+ --) {
+ 
+ 2302 ià(
+ 	`kžl
+ (()(
+ 	`¡r_gnum
+ (
+ ¡
+ [++
+ ¥
+ ])),
+ v®
+ ))
+ 
+ 2303 
+ tÙ
+ --;
+ 
+ 2309 
+ O_UNLINK
+ :
+ 
+ 2310 #ifdeà
+ TAINT
+ 
+ 
+ 2311 
+ 	`šrÝ”
+ ("Insecure dependency in unlink");
+ 
+ 2313 
+ tÙ
+  = 
+ ™ems
+ ;
+ 
+ 2314 
+ ™ems
+ --) {
+ 
+ 2315 
+ s
+  = 
+ 	`¡r_g‘
+ (
+ ¡
+ [++
+ ¥
+ ]);
+ 
+ 2316 ià(
+ euid
+  || 
+ un§ã
+ ) {
+ 
+ 2317 ià(
+ 	`UNLINK
+ (
+ s
+ ))
+ 
+ 2318 
+ tÙ
+ --;
+ 
+ 2321 #ifdeà
+ HAS_LSTAT
+ 
+ 
+ 2322 ià(
+ 	`l¡©
+ (
+ s
+ ,&
+ ¡©buf
+ è< 0 || 
+ 	`S_ISDIR
+ (¡©buf.
+ ¡_mode
+ ))
+ 
+ 2324 ià(
+ 	`¡©
+ (
+ s
+ ,&
+ ¡©buf
+ è< 0 || 
+ 	`S_ISDIR
+ (¡©buf.
+ ¡_mode
+ ))
+ 
+ 2326 
+ tÙ
+ --;
+ 
+ 2328 ià(
+ 	`UNLINK
+ (
+ s
+ ))
+ 
+ 2329 
+ tÙ
+ --;
+ 
+ 2334 
+ O_UTIME
+ :
+ 
+ 2335 #ifdeà
+ TAINT
+ 
+ 
+ 2336 
+ 	`šrÝ”
+ ("Insecure dependency in utime");
+ 
+ 2338 ià(
+ ™ems
+  > 2) {
+ 
+ 2339 #ifdeà
+ I_UTIME
+ 
+ 
+ 2340 
+ utimbuf
+  
+ utbuf
+ ;
+ 
+ 2343 
+ aùime
+ ;
+ 
+ 2344 
+ modtime
+ ;
+ 
+ 2345 } 
+ utbuf
+ ;
+ 
+ 2348 
+ 	`Z”o
+ (&
+ utbuf
+ ,  utbuf, );
+ 
+ 2349 
+ utbuf
+ .
+ aùime
+  = ()
+ 	`¡r_gnum
+ (
+ ¡
+ [++
+ ¥
+ ]);
+ 
+ 2350 
+ utbuf
+ .
+ modtime
+  = ()
+ 	`¡r_gnum
+ (
+ ¡
+ [++
+ ¥
+ ]);
+ 
+ 2351 
+ ™ems
+  -= 2;
+ 
+ 2352 #iâdeà
+ lšt
+ 
+ 
+ 2353 
+ tÙ
+  = 
+ ™ems
+ ;
+ 
+ 2354 
+ ™ems
+ --) {
+ 
+ 2355 ià(
+ 	`utime
+ (
+ 	`¡r_g‘
+ (
+ ¡
+ [++
+ ¥
+ ]),&
+ utbuf
+ ))
+ 
+ 2356 
+ tÙ
+ --;
+ 
+ 2361 
+ ™ems
+  = 0;
+ 
+ 2364  
+ tÙ
+ ;
+ 
+ 2365 
+ 	}
+ }
+ 
+ 2370 
+ 	$ÿndo
+ (
+ b™
+ , 
+ efãùive
+ , 
+ ¡©buå
+ )
+ 
+ 2371 
+ b™
+ ;
+ 
+ 2372 
+ efãùive
+ ;
+ 
+ 2373 
+ ¡©
+  *
+ ¡©buå
+ ;
+ 
+ 2375 #ifdeà
+ MSDOS
+ 
+ 
+ 2394  (
+ b™
+  & 
+ ¡©buå
+ ->
+ ¡_mode
+ è? 
+ TRUE
+  : 
+ FALSE
+ ;
+ 
+ 2397 ià((
+ efãùive
+  ? 
+ euid
+  : 
+ uid
+ ) == 0) {
+ 
+ 2398 ià(
+ b™
+  =ð
+ S_IXUSR
+ ) {
+ 
+ 2399 ià(
+ ¡©buå
+ ->
+ ¡_mode
+  & 0111 || 
+ 	`S_ISDIR
+ (statbufp->st_mode))
+ 
+ 2400  
+ TRUE
+ ;
+ 
+ 2403  
+ TRUE
+ ;
+ 
+ 2404  
+ FALSE
+ ;
+ 
+ 2406 ià(
+ ¡©buå
+ ->
+ ¡_uid
+  =ð(
+ efãùive
+  ? 
+ euid
+  : 
+ uid
+ ) ) {
+ 
+ 2407 ià(
+ ¡©buå
+ ->
+ ¡_mode
+  & 
+ b™
+ )
+ 
+ 2408  
+ TRUE
+ ;
+ 
+ 2410 ià(
+ 	`šgroup
+ (()
+ ¡©buå
+ ->
+ ¡_gid
+ ,
+ efãùive
+ )) {
+ 
+ 2411 ià(
+ ¡©buå
+ ->
+ ¡_mode
+  & 
+ b™
+  >> 3)
+ 
+ 2412  
+ TRUE
+ ;
+ 
+ 2414 ià(
+ ¡©buå
+ ->
+ ¡_mode
+  & 
+ b™
+  >> 6)
+ 
+ 2415  
+ TRUE
+ ;
+ 
+ 2416  
+ FALSE
+ ;
+ 
+ 2418 
+ 	}
+ }
+ 
+ 2421 
+ 	$šgroup
+ (
+ ‹¡gid
+ ,
+ efãùive
+ )
+ 
+ 2422 
+ ‹¡gid
+ ;
+ 
+ 2423 
+ efãùive
+ ;
+ 
+ 2425 ià(
+ ‹¡gid
+  =ð(
+ efãùive
+  ? 
+ egid
+  : 
+ gid
+ ))
+ 
+ 2426  
+ TRUE
+ ;
+ 
+ 2427 #ifdeà
+ HAS_GETGROUPS
+ 
+ 
+ 2428 #iâdeà
+ NGROUPS
+ 
+ 
+ 2429 
+ 	#NGROUPS
+  32
+ 
+ 	)
+ 
+ 2432 
+ GROUPSTYPE
+  
+ g¬y
+ [
+ NGROUPS
+ ];
+ 
+ 2433 
+ ªum
+ ;
+ 
+ 2435 
+ ªum
+  = 
+ 	`g‘groups
+ (
+ NGROUPS
+ ,
+ g¬y
+ );
+ 
+ 2436 --
+ ªum
+  >= 0)
+ 
+ 2437 ià(
+ g¬y
+ [
+ ªum
+ ] =ð
+ ‹¡gid
+ )
+ 
+ 2438  
+ TRUE
+ ;
+ 
+ 2441  
+ FALSE
+ ;
+ 
+ 2442 
+ 	}
+ }
+ 
+ 2444 #ià
+ defšed
+ (
+ HAS_MSG
+ è|| defšed(
+ HAS_SEM
+ è|| defšed(
+ HAS_SHM
+ )
+ 
+ 2447 
+ 	$do_cg‘
+ (
+ Ýty³
+ , 
+ ¬gÏ¡
+ )
+ 
+ 2448 
+ Ýty³
+ ;
+ 
+ 2449 *
+ ¬gÏ¡
+ ;
+ 
+ 2451 
+ STR
+  **
+ ¡
+  = 
+ ¡ack
+ ->
+ ¬y_¬¿y
+ ;
+ 
+ 2452 
+ ¥
+  = 
+ ¬gÏ¡
+ [0];
+ 
+ 2453 
+ key_t
+  
+ key
+ ;
+ 
+ 2454 
+ n
+ , 
+ æags
+ ;
+ 
+ 2456 
+ key
+  = (
+ key_t
+ )
+ 	`¡r_gnum
+ (
+ ¡
+ [++
+ ¥
+ ]);
+ 
+ 2457 
+ n
+  = (
+ Ýty³
+  =ð
+ O_MSGGET
+ è? 0 : ()
+ 	`¡r_gnum
+ (
+ ¡
+ [++
+ ¥
+ ]);
+ 
+ 2458 
+ æags
+  = ()
+ 	`¡r_gnum
+ (
+ ¡
+ [++
+ ¥
+ ]);
+ 
+ 2459 
+ Ӽo
+  = 0;
+ 
+ 2460 
+ Ýty³
+ )
+ 
+ 2462 #ifdeà
+ HAS_MSG
+ 
+ 
+ 2463 
+ O_MSGGET
+ :
+ 
+ 2464  
+ 	`msgg‘
+ (
+ key
+ , 
+ æags
+ );
+ 
+ 2466 #ifdeà
+ HAS_SEM
+ 
+ 
+ 2467 
+ O_SEMGET
+ :
+ 
+ 2468  
+ 	`£mg‘
+ (
+ key
+ , 
+ n
+ , 
+ æags
+ );
+ 
+ 2470 #ifdeà
+ HAS_SHM
+ 
+ 
+ 2471 
+ O_SHMGET
+ :
+ 
+ 2472  
+ 	`shmg‘
+ (
+ key
+ , 
+ n
+ , 
+ æags
+ );
+ 
+ 2474 #ià!
+ 	`defšed
+ (
+ HAS_MSG
+ è|| !defšed(
+ HAS_SEM
+ è|| !defšed(
+ HAS_SHM
+ )
+ 
+ 2476 
+ 	`çl
+ ("% nÙ im¶em’‹d", 
+ ÝÇme
+ [
+ Ýty³
+ ]);
+ 
+ 2480 
+ 	}
+ }
+ 
+ 2483 
+ 	$do_cùl
+ (
+ Ýty³
+ , 
+ ¬gÏ¡
+ )
+ 
+ 2484 
+ Ýty³
+ ;
+ 
+ 2485 *
+ ¬gÏ¡
+ ;
+ 
+ 2487 
+ STR
+  **
+ ¡
+  = 
+ ¡ack
+ ->
+ ¬y_¬¿y
+ ;
+ 
+ 2488 
+ ¥
+  = 
+ ¬gÏ¡
+ [0];
+ 
+ 2489 
+ STR
+  *
+ a¡r
+ ;
+ 
+ 2490 *
+ a
+ ;
+ 
+ 2491 
+ id
+ , 
+ n
+ , 
+ cmd
+ , 
+ šfosize
+ , 
+ g‘šfo
+ , 
+ »t
+ ;
+ 
+ 2493 
+ id
+  = ()
+ 	`¡r_gnum
+ (
+ ¡
+ [++
+ ¥
+ ]);
+ 
+ 2494 
+ n
+  = (
+ Ýty³
+  =ð
+ O_SEMCTL
+ è? ()
+ 	`¡r_gnum
+ (
+ ¡
+ [++
+ ¥
+ ]) : 0;
+ 
+ 2495 
+ cmd
+  = ()
+ 	`¡r_gnum
+ (
+ ¡
+ [++
+ ¥
+ ]);
+ 
+ 2496 
+ a¡r
+  = 
+ ¡
+ [++
+ ¥
+ ];
+ 
+ 2498 
+ šfosize
+  = 0;
+ 
+ 2499 
+ g‘šfo
+  = (
+ cmd
+  =ð
+ IPC_STAT
+ );
+ 
+ 2501 
+ Ýty³
+ )
+ 
+ 2503 #ifdeà
+ HAS_MSG
+ 
+ 
+ 2504 
+ O_MSGCTL
+ :
+ 
+ 2505 ià(
+ cmd
+  =ð
+ IPC_STAT
+  || cmd =ð
+ IPC_SET
+ )
+ 
+ 2506 
+ šfosize
+  = (
+ msqid_ds
+ );
+ 
+ 2509 #ifdeà
+ HAS_SHM
+ 
+ 
+ 2510 
+ O_SHMCTL
+ :
+ 
+ 2511 ià(
+ cmd
+  =ð
+ IPC_STAT
+  || cmd =ð
+ IPC_SET
+ )
+ 
+ 2512 
+ šfosize
+  = (
+ shmid_ds
+ );
+ 
+ 2515 #ifdeà
+ HAS_SEM
+ 
+ 
+ 2516 
+ O_SEMCTL
+ :
+ 
+ 2517 ià(
+ cmd
+  =ð
+ IPC_STAT
+  || cmd =ð
+ IPC_SET
+ )
+ 
+ 2518 
+ šfosize
+  = (
+ £mid_ds
+ );
+ 
+ 2519 ià(
+ cmd
+  =ð
+ GETALL
+  || cmd =ð
+ SETALL
+ )
+ 
+ 2521 
+ £mid_ds
+  
+ £mds
+ ;
+ 
+ 2522 ià(
+ 	`£mùl
+ (
+ id
+ , 0, 
+ IPC_STAT
+ , &
+ £mds
+ ) == -1)
+ 
+ 2524 
+ g‘šfo
+  = (
+ cmd
+  =ð
+ GETALL
+ );
+ 
+ 2525 #ifdeà
+ _POSIX_SOURCE
+ 
+ 
+ 2526 
+ ushÜt
+  
+ 	tushÜt_t
+ ;
+ 
+ 2527 
+ šfosize
+  = 
+ £mds
+ .
+ £m_n£ms
+  * (
+ ushÜt_t
+ );
+ 
+ 2529 
+ šfosize
+  = 
+ £mds
+ .
+ £m_n£ms
+  * (
+ ushÜt
+ );
+ 
+ 2534 #ià!
+ 	`defšed
+ (
+ HAS_MSG
+ è|| !defšed(
+ HAS_SEM
+ è|| !defšed(
+ HAS_SHM
+ )
+ 
+ 2536 
+ 	`çl
+ ("% nÙ im¶em’‹d", 
+ ÝÇme
+ [
+ Ýty³
+ ]);
+ 
+ 2540 ià(
+ šfosize
+ )
+ 
+ 2542 ià(
+ g‘šfo
+ )
+ 
+ 2544 
+ 	`STR_GROW
+ (
+ a¡r
+ , 
+ šfosize
+ +1);
+ 
+ 2545 
+ a
+  = 
+ 	`¡r_g‘
+ (
+ a¡r
+ );
+ 
+ 2549 
+ a
+  = 
+ 	`¡r_g‘
+ (
+ a¡r
+ );
+ 
+ 2550 ià(
+ a¡r
+ ->
+ ¡r_cur
+  !ð
+ šfosize
+ )
+ 
+ 2552 
+ Ӽo
+  = 
+ EINVAL
+ ;
+ 
+ 2559 
+ i
+  = ()
+ 	`¡r_gnum
+ (
+ a¡r
+ );
+ 
+ 2560 
+ a
+  = (*)
+ i
+ ;
+ 
+ 2562 
+ Ӽo
+  = 0;
+ 
+ 2563 
+ Ýty³
+ )
+ 
+ 2565 #ifdeà
+ HAS_MSG
+ 
+ 
+ 2566 
+ O_MSGCTL
+ :
+ 
+ 2567 
+ »t
+  = 
+ 	`msgùl
+ (
+ id
+ , 
+ cmd
+ , 
+ a
+ );
+ 
+ 2570 #ifdeà
+ HAS_SEM
+ 
+ 
+ 2571 
+ O_SEMCTL
+ :
+ 
+ 2572 
+ »t
+  = 
+ 	`£mùl
+ (
+ id
+ , 
+ n
+ , 
+ cmd
+ , 
+ a
+ );
+ 
+ 2575 #ifdeà
+ HAS_SHM
+ 
+ 
+ 2576 
+ O_SHMCTL
+ :
+ 
+ 2577 
+ »t
+  = 
+ 	`shmùl
+ (
+ id
+ , 
+ cmd
+ , 
+ a
+ );
+ 
+ 2581 ià(
+ g‘šfo
+  && 
+ »t
+  >= 0) {
+ 
+ 2582 
+ a¡r
+ ->
+ ¡r_cur
+  = 
+ šfosize
+ ;
+ 
+ 2583 
+ a¡r
+ ->
+ ¡r_±r
+ [
+ šfosize
+ ] = '\0';
+ 
+ 2585  
+ »t
+ ;
+ 
+ 2586 
+ 	}
+ }
+ 
+ 2589 
+ 	$do_msg¢d
+ (
+ ¬gÏ¡
+ )
+ 
+ 2590 *
+ ¬gÏ¡
+ ;
+ 
+ 2592 #ifdeà
+ HAS_MSG
+ 
+ 
+ 2593 
+ STR
+  **
+ ¡
+  = 
+ ¡ack
+ ->
+ ¬y_¬¿y
+ ;
+ 
+ 2594 
+ ¥
+  = 
+ ¬gÏ¡
+ [0];
+ 
+ 2595 
+ STR
+  *
+ m¡r
+ ;
+ 
+ 2596 *
+ mbuf
+ ;
+ 
+ 2597 
+ id
+ , 
+ msize
+ , 
+ æags
+ ;
+ 
+ 2599 
+ id
+  = ()
+ 	`¡r_gnum
+ (
+ ¡
+ [++
+ ¥
+ ]);
+ 
+ 2600 
+ m¡r
+  = 
+ ¡
+ [++
+ ¥
+ ];
+ 
+ 2601 
+ æags
+  = ()
+ 	`¡r_gnum
+ (
+ ¡
+ [++
+ ¥
+ ]);
+ 
+ 2602 
+ mbuf
+  = 
+ 	`¡r_g‘
+ (
+ m¡r
+ );
+ 
+ 2603 ià((
+ msize
+  = 
+ m¡r
+ ->
+ ¡r_cur
+  - ()) < 0) {
+ 
+ 2604 
+ Ӽo
+  = 
+ EINVAL
+ ;
+ 
+ 2607 
+ Ӽo
+  = 0;
+ 
+ 2608  
+ 	`msg¢d
+ (
+ id
+ , 
+ mbuf
+ , 
+ msize
+ , 
+ æags
+ );
+ 
+ 2610 
+ 	`çl
+ ("msgsnd‚ot implemented");
+ 
+ 2612 
+ 	}
+ }
+ 
+ 2615 
+ 	$do_msgrcv
+ (
+ ¬gÏ¡
+ )
+ 
+ 2616 *
+ ¬gÏ¡
+ ;
+ 
+ 2618 #ifdeà
+ HAS_MSG
+ 
+ 
+ 2619 
+ STR
+  **
+ ¡
+  = 
+ ¡ack
+ ->
+ ¬y_¬¿y
+ ;
+ 
+ 2620 
+ ¥
+  = 
+ ¬gÏ¡
+ [0];
+ 
+ 2621 
+ STR
+  *
+ m¡r
+ ;
+ 
+ 2622 *
+ mbuf
+ ;
+ 
+ 2623 
+ mty³
+ ;
+ 
+ 2624 
+ id
+ , 
+ msize
+ , 
+ æags
+ , 
+ »t
+ ;
+ 
+ 2626 
+ id
+  = ()
+ 	`¡r_gnum
+ (
+ ¡
+ [++
+ ¥
+ ]);
+ 
+ 2627 
+ m¡r
+  = 
+ ¡
+ [++
+ ¥
+ ];
+ 
+ 2628 
+ msize
+  = ()
+ 	`¡r_gnum
+ (
+ ¡
+ [++
+ ¥
+ ]);
+ 
+ 2629 
+ mty³
+  = ()
+ 	`¡r_gnum
+ (
+ ¡
+ [++
+ ¥
+ ]);
+ 
+ 2630 
+ æags
+  = ()
+ 	`¡r_gnum
+ (
+ ¡
+ [++
+ ¥
+ ]);
+ 
+ 2631 
+ mbuf
+  = 
+ 	`¡r_g‘
+ (
+ m¡r
+ );
+ 
+ 2632 ià(
+ m¡r
+ ->
+ ¡r_cur
+  < ()+
+ msize
+ +1) {
+ 
+ 2633 
+ 	`STR_GROW
+ (
+ m¡r
+ , ()+
+ msize
+ +1);
+ 
+ 2634 
+ mbuf
+  = 
+ 	`¡r_g‘
+ (
+ m¡r
+ );
+ 
+ 2636 
+ Ӽo
+  = 0;
+ 
+ 2637 
+ »t
+  = 
+ 	`msgrcv
+ (
+ id
+ , 
+ mbuf
+ , 
+ msize
+ , 
+ mty³
+ , 
+ æags
+ );
+ 
+ 2638 ià(
+ »t
+  >= 0) {
+ 
+ 2639 
+ m¡r
+ ->
+ ¡r_cur
+  = ()+
+ »t
+ ;
+ 
+ 2640 
+ m¡r
+ ->
+ ¡r_±r
+ [()+
+ »t
+ ] = '\0';
+ 
+ 2642  
+ »t
+ ;
+ 
+ 2644 
+ 	`çl
+ ("msgrcv‚ot implemented");
+ 
+ 2646 
+ 	}
+ }
+ 
+ 2649 
+ 	$do_£mÝ
+ (
+ ¬gÏ¡
+ )
+ 
+ 2650 *
+ ¬gÏ¡
+ ;
+ 
+ 2652 #ifdeà
+ HAS_SEM
+ 
+ 
+ 2653 
+ STR
+  **
+ ¡
+  = 
+ ¡ack
+ ->
+ ¬y_¬¿y
+ ;
+ 
+ 2654 
+ ¥
+  = 
+ ¬gÏ¡
+ [0];
+ 
+ 2655 
+ STR
+  *
+ ݡr
+ ;
+ 
+ 2656 *
+ Ýbuf
+ ;
+ 
+ 2657 
+ id
+ , 
+ Ýsize
+ ;
+ 
+ 2659 
+ id
+  = ()
+ 	`¡r_gnum
+ (
+ ¡
+ [++
+ ¥
+ ]);
+ 
+ 2660 
+ ݡr
+  = 
+ ¡
+ [++
+ ¥
+ ];
+ 
+ 2661 
+ Ýbuf
+  = 
+ 	`¡r_g‘
+ (
+ ݡr
+ );
+ 
+ 2662 
+ Ýsize
+  = 
+ ݡr
+ ->
+ ¡r_cur
+ ;
+ 
+ 2663 ià(
+ Ýsize
+  < (
+ £mbuf
+ )
+ 
+ 2664 || (
+ Ýsize
+  % (
+ £mbuf
+ )) != 0) {
+ 
+ 2665 
+ Ӽo
+  = 
+ EINVAL
+ ;
+ 
+ 2668 
+ Ӽo
+  = 0;
+ 
+ 2669  
+ 	`£mÝ
+ (
+ id
+ , 
+ Ýbuf
+ , 
+ Ýsize
+ /(
+ £mbuf
+ ));
+ 
+ 2671 
+ 	`çl
+ ("semop‚ot implemented");
+ 
+ 2673 
+ 	}
+ }
+ 
+ 2676 
+ 	$do_shmio
+ (
+ Ýty³
+ , 
+ ¬gÏ¡
+ )
+ 
+ 2677 
+ Ýty³
+ ;
+ 
+ 2678 *
+ ¬gÏ¡
+ ;
+ 
+ 2680 #ifdeà
+ HAS_SHM
+ 
+ 
+ 2681 
+ STR
+  **
+ ¡
+  = 
+ ¡ack
+ ->
+ ¬y_¬¿y
+ ;
+ 
+ 2682 
+ ¥
+  = 
+ ¬gÏ¡
+ [0];
+ 
+ 2683 
+ STR
+  *
+ m¡r
+ ;
+ 
+ 2684 *
+ mbuf
+ , *
+ shm
+ ;
+ 
+ 2685 
+ id
+ , 
+ mpos
+ , 
+ msize
+ ;
+ 
+ 2686 
+ shmid_ds
+  
+ shmds
+ ;
+ 
+ 2687 
*
+ 	`shm©
+ ();
+ 
+ 2689 
+ id
+  = ()
+ 	`¡r_gnum
+ (
+ ¡
+ [++
+ ¥
+ ]);
+ 
+ 2690 
+ m¡r
+  = 
+ ¡
+ [++
+ ¥
+ ];
+ 
+ 2691 
+ mpos
+  = ()
+ 	`¡r_gnum
+ (
+ ¡
+ [++
+ ¥
+ ]);
+ 
+ 2692 
+ msize
+  = ()
+ 	`¡r_gnum
+ (
+ ¡
+ [++
+ ¥
+ ]);
+ 
+ 2693 
+ Ӽo
+  = 0;
+ 
+ 2694 ià(
+ 	`shmùl
+ (
+ id
+ , 
+ IPC_STAT
+ , &
+ shmds
+ ) == -1)
+ 
+ 2696 ià(
+ mpos
+  < 0 || 
+ msize
+  < 0 || mpo + msiz> 
+ shmds
+ .
+ shm_£gsz
+ ) {
+ 
+ 2697 
+ Ӽo
+  = 
+ EFAULT
+ ;
+ 
+ 2700 
+ shm
+  = 
+ 	`shm©
+ (
+ id
+ , (*)
+ NULL
+ , (
+ Ýty³
+  =ð
+ O_SHMREAD
+ è? 
+ SHM_RDONLY
+  : 0);
+ 
+ 2701 ià(
+ shm
+  == (*)-1)
+ 
+ 2703 
+ mbuf
+  = 
+ 	`¡r_g‘
+ (
+ m¡r
+ );
+ 
+ 2704 ià(
+ Ýty³
+  =ð
+ O_SHMREAD
+ ) {
+ 
+ 2705 ià(
+ m¡r
+ ->
+ ¡r_cur
+  < 
+ msize
+ ) {
+ 
+ 2706 
+ 	`STR_GROW
+ (
+ m¡r
+ , 
+ msize
+ +1);
+ 
+ 2707 
+ mbuf
+  = 
+ 	`¡r_g‘
+ (
+ m¡r
+ );
+ 
+ 2709 
+ 	`bcÝy
+ (
+ shm
+  + 
+ mpos
+ , 
+ mbuf
+ , 
+ msize
+ );
+ 
+ 2710 
+ m¡r
+ ->
+ ¡r_cur
+  = 
+ msize
+ ;
+ 
+ 2711 
+ m¡r
+ ->
+ ¡r_±r
+ [
+ msize
+ ] = '\0';
+ 
+ 2714 
+ n
+ ;
+ 
+ 2716 ià((
+ n
+  = 
+ m¡r
+ ->
+ ¡r_cur
+ è> 
+ msize
+ )
+ 
+ 2717 
+ n
+  = 
+ msize
+ ;
+ 
+ 2718 
+ 	`bcÝy
+ (
+ mbuf
+ , 
+ shm
+  + 
+ mpos
+ , 
+ n
+ );
+ 
+ 2719 ià(
+ n
+  < 
+ msize
+ )
+ 
+ 2720 
+ 	`bz”o
+ (
+ shm
+  + 
+ mpos
+  + 
+ n
+ , 
+ msize
+  -‚);
+ 
+ 2722  
+ 	`shmdt
+ (
+ shm
+ );
+ 
+ 2724 
+ 	`çl
+ ("shm I/O‚ot implemented");
+ 
+ 2726 
+ 	}
+ }
+ 
+ 	@dolist.c
+ 
+ 14 
+ 	~"EXTERN.h
+ "
+ 
+ 15 
+ 	~"³¾.h
+ "
+ 
+ 18 #ifdeà
+ BUGGY_MSC
+ 
+ 
+ 19 #´agm¨
+ funùiÚ
+ (
+ memcmp
+ )
+ 
+ 23 
+ 	$do_m©ch
+ (
+ ¡r
+ ,
+ ¬g
+ ,
+ gimme
+ ,
+ ¬gÏ¡
+ )
+ 
+ 24 
+ STR
+  *
+ ¡r
+ ;
+ 
+ 25 
+ ARG
+  *
+ ¬g
+ ;
+ 
+ 26 
+ gimme
+ ;
+ 
+ 27 *
+ ¬gÏ¡
+ ;
+ 
+ 29 
+ STR
+  **
+ ¡
+  = 
+ ¡ack
+ ->
+ ¬y_¬¿y
+ ;
+ 
+ 30 
+ SPAT
+  *
+ ¥©
+  = 
+ ¬g
+ [2].
+ ¬g_±r
+ .
+ ¬g_¥©
+ ;
+ 
+ 31 *
+ t
+ ;
+ 
+ 32 
+ ¥
+  = 
+ ¬gÏ¡
+ [0] + 1;
+ 
+ 33 
+ STR
+  *
+ ¤ch¡r
+  = 
+ ¡
+ [
+ ¥
+ ];
+ 
+ 34 *
+ s
+  = 
+ 	`¡r_g‘
+ (
+ ¡
+ [
+ ¥
+ ]);
+ 
+ 35 *
+ ¡»nd
+  = 
+ s
+  + 
+ ¡
+ [
+ ¥
+ ]->
+ ¡r_cur
+ ;
+ 
+ 36 
+ STR
+  *
+ tmp¡r
+ ;
+ 
+ 37 *
+ myhšt
+  = 
+ hšt
+ ;
+ 
+ 39 
+ hšt
+  = 
+ NuÎch
+ ;
+ 
+ 40 ià(!
+ ¥©
+ ) {
+ 
+ 41 ià(
+ gimme
+  =ð
+ G_ARRAY
+ )
+ 
+ 42  --
+ ¥
+ ;
+ 
+ 43 
+ 	`¡r_£t
+ (
+ ¡r
+ ,
+ Yes
+ );
+ 
+ 44 
+ 	`STABSET
+ (
+ ¡r
+ );
+ 
+ 45 
+ ¡
+ [
+ ¥
+ ] = 
+ ¡r
+ ;
+ 
+ 46  
+ ¥
+ ;
+ 
+ 48 ià(!
+ s
+ )
+ 
+ 49 
+ 	`çl
+ ("panic: do_match");
+ 
+ 50 ià(
+ ¥©
+ ->
+ ¥©_æags
+  & 
+ SPAT_USED
+ ) {
+ 
+ 51 #ifdeà
+ DEBUGGING
+ 
+ 
+ 52 ià(
+ debug
+  & 8)
+ 
+ 53 
+ 	`deb
+ ("2.SPAT USED\n");
+ 
+ 55 ià(
+ gimme
+  =ð
+ G_ARRAY
+ )
+ 
+ 56  --
+ ¥
+ ;
+ 
+ 57 
+ 	`¡r_£t
+ (
+ ¡r
+ ,
+ No
+ );
+ 
+ 58 
+ 	`STABSET
+ (
+ ¡r
+ );
+ 
+ 59 
+ ¡
+ [
+ ¥
+ ] = 
+ ¡r
+ ;
+ 
+ 60  
+ ¥
+ ;
+ 
+ 62 --
+ ¥
+ ;
+ 
+ 63 ià(
+ ¥©
+ ->
+ ¥©_ruÁime
+ ) {
+ 
+ 64 
+ nošŒp
+  = "|)";
+ 
+ 65 
+ ¥
+  = 
+ 	`ev®
+ (
+ ¥©
+ ->
+ ¥©_ruÁime
+ ,
+ G_SCALAR
+ ,sp);
+ 
+ 66 
+ ¡
+  = 
+ ¡ack
+ ->
+ ¬y_¬¿y
+ ;
+ 
+ 67 
+ t
+  = 
+ 	`¡r_g‘
+ (
+ tmp¡r
+  = 
+ ¡
+ [
+ ¥
+ --]);
+ 
+ 68 
+ nošŒp
+  = "";
+ 
+ 69 #ifdeà
+ DEBUGGING
+ 
+ 
+ 70 ià(
+ debug
+  & 8)
+ 
+ 71 
+ 	`deb
+ ("2.SPAT /%s/\n",
+ t
+ );
+ 
+ 73 ià(
+ ¥©
+ ->
+ ¥©_»gexp
+ ) {
+ 
+ 74 
+ 	`»gä“
+ (
+ ¥©
+ ->
+ ¥©_»gexp
+ );
+ 
+ 75 
+ ¥©
+ ->
+ ¥©_»gexp
+  = 
+ 	`NuÎ
+ (
+ REGEXP
+ *);
+ 
+ 77 
+ ¥©
+ ->
+ ¥©_»gexp
+  = 
+ 	`»gcomp
+ (
+ t
+ ,t+
+ tmp¡r
+ ->
+ ¡r_cur
+ ,
+ 
+ 78 
+ ¥©
+ ->
+ ¥©_æags
+  & 
+ SPAT_FOLD
+ );
+ 
+ 79 ià(!*
+ ¥©
+ ->
+ ¥©_»gexp
+ ->
+ ´ecomp
+  && 
+ Ï¡¥©
+ )
+ 
+ 80 
+ ¥©
+  = 
+ Ï¡¥©
+ ;
+ 
+ 81 ià(
+ ¥©
+ ->
+ ¥©_æags
+  & 
+ SPAT_KEEP
+ ) {
+ 
+ 82 ià(
+ ¥©
+ ->
+ ¥©_ruÁime
+ )
+ 
+ 83 
+ 	`¬g_ä“
+ (
+ ¥©
+ ->
+ ¥©_ruÁime
+ );
+ 
+ 84 
+ ¥©
+ ->
+ ¥©_ruÁime
+  = 
+ Nuάg
+ ;
+ 
+ 86 ià(!
+ ¥©
+ ->
+ ¥©_»gexp
+ ->
+ Ŭ’s
+ )
+ 
+ 87 
+ gimme
+  = 
+ G_SCALAR
+ ;
+ 
+ 88 ià(
+ 	`»gexec
+ (
+ ¥©
+ ->
+ ¥©_»gexp
+ , 
+ s
+ , 
+ ¡»nd
+ , s, 0,
+ 
+ 89 
+ ¤ch¡r
+ ->
+ ¡r_pok
+  & 
+ SP_STUDIED
+  ? srch¡¸: 
+ NuΡr
+ ,
+ 
+ 90 
+ gimme
+  =ð
+ G_ARRAY
+ )) {
+ 
+ 91 ià(
+ ¥©
+ ->
+ ¥©_»gexp
+ ->
+ subba£
+ )
+ 
+ 92 
+ cur¥©
+  = 
+ ¥©
+ ;
+ 
+ 93 
+ Ï¡¥©
+  = 
+ ¥©
+ ;
+ 
+ 94 
+ gÙcha
+ ;
+ 
+ 97 ià(
+ gimme
+  =ð
+ G_ARRAY
+ )
+ 
+ 98  
+ ¥
+ ;
+ 
+ 99 
+ 	`¡r_s£t
+ (
+ ¡r
+ ,&
+ ¡r_no
+ );
+ 
+ 100 
+ 	`STABSET
+ (
+ ¡r
+ );
+ 
+ 101 
+ ¡
+ [++
+ ¥
+ ] = 
+ ¡r
+ ;
+ 
+ 102  
+ ¥
+ ;
+ 
+ 106 #ifdeà
+ DEBUGGING
+ 
+ 
+ 107 ià(
+ debug
+  & 8) {
+ 
+ 108 
+ ch
+ ;
+ 
+ 110 ià(
+ ¥©
+ ->
+ ¥©_æags
+  & 
+ SPAT_ONCE
+ )
+ 
+ 111 
+ ch
+  = '?';
+ 
+ 113 
+ ch
+  = '/';
+ 
+ 114 
+ 	`deb
+ ("2.SPAT %c%s%c\n",
+ ch
+ ,
+ ¥©
+ ->
+ ¥©_»gexp
+ ->
+ ´ecomp
+ ,ch);
+ 
+ 117 ià(!*
+ ¥©
+ ->
+ ¥©_»gexp
+ ->
+ ´ecomp
+  && 
+ Ï¡¥©
+ )
+ 
+ 118 
+ ¥©
+  = 
+ Ï¡¥©
+ ;
+ 
+ 119 
+ t
+  = 
+ s
+ ;
+ 
+ 120 ià(
+ myhšt
+ ) {
+ 
+ 121 ià(
+ myhšt
+  < 
+ s
+  || myhšˆ> 
+ ¡»nd
+ )
+ 
+ 122 
+ 	`çl
+ ("panic: hint in do_match");
+ 
+ 123 
+ s
+  = 
+ myhšt
+ ;
+ 
+ 124 ià(
+ ¥©
+ ->
+ ¥©_»gexp
+ ->
+ »gback
+  >= 0) {
+ 
+ 125 
+ s
+  -ð
+ ¥©
+ ->
+ ¥©_»gexp
+ ->
+ »gback
+ ;
+ 
+ 126 ià(
+ s
+  < 
+ t
+ )
+ 
+ 127 
+ s
+  = 
+ t
+ ;
+ 
+ 130 
+ s
+  = 
+ t
+ ;
+ 
+ 132 ià(
+ ¥©
+ ->
+ ¥©_shÜt
+ ) {
+ 
+ 133 ià(
+ ¥©
+ ->
+ ¥©_æags
+  & 
+ SPAT_SCANFIRST
+ ) {
+ 
+ 134 ià(
+ ¤ch¡r
+ ->
+ ¡r_pok
+  & 
+ SP_STUDIED
+ ) {
+ 
+ 135 ià(
+ sü—mfœ¡
+ [
+ ¥©
+ ->
+ ¥©_shÜt
+ ->
+ ¡r_¿»
+ ] < 0)
+ 
+ 136 
+ nÝe
+ ;
+ 
+ 137 ià(!(
+ s
+  = 
+ 	`sü—mš¡r
+ (
+ ¤ch¡r
+ ,
+ ¥©
+ ->
+ ¥©_shÜt
+ )))
+ 
+ 138 
+ nÝe
+ ;
+ 
+ 139 ià(
+ ¥©
+ ->
+ ¥©_æags
+  & 
+ SPAT_ALL
+ )
+ 
+ 140 
+ yup
+ ;
+ 
+ 142 #iâdeà
+ lšt
+ 
+ 
+ 143 ià(!(
+ s
+  = 
+ 	`fbmš¡r
+ ((*)s,
+ 
+ 144 (*)
+ ¡»nd
+ , 
+ ¥©
+ ->
+ ¥©_shÜt
+ )))
+ 
+ 145 
+ nÝe
+ ;
+ 
+ 147 ià(
+ ¥©
+ ->
+ ¥©_æags
+  & 
+ SPAT_ALL
+ )
+ 
+ 148 
+ yup
+ ;
+ 
+ 149 ià(
+ s
+  && 
+ ¥©
+ ->
+ ¥©_»gexp
+ ->
+ »gback
+  >= 0) {
+ 
+ 150 ++
+ ¥©
+ ->
+ ¥©_shÜt
+ ->
+ ¡r_u
+ .
+ ¡r_u£ful
+ ;
+ 
+ 151 
+ s
+  -ð
+ ¥©
+ ->
+ ¥©_»gexp
+ ->
+ »gback
+ ;
+ 
+ 152 ià(
+ s
+  < 
+ t
+ )
+ 
+ 153 
+ s
+  = 
+ t
+ ;
+ 
+ 156 
+ s
+  = 
+ t
+ ;
+ 
+ 158 ià(!
+ muÉžše
+  && (*
+ ¥©
+ ->
+ ¥©_shÜt
+ ->
+ ¡r_±r
+  !ð*
+ s
+  ||
+ 
+ 159 
+ 	`bcmp
+ (
+ ¥©
+ ->
+ ¥©_shÜt
+ ->
+ ¡r_±r
+ , 
+ s
+ , s·t->
+ ¥©_¦’
+ ) ))
+ 
+ 160 
+ nÝe
+ ;
+ 
+ 161 ià(--
+ ¥©
+ ->
+ ¥©_shÜt
+ ->
+ ¡r_u
+ .
+ ¡r_u£ful
+  < 0) {
+ 
+ 162 
+ 	`¡r_ä“
+ (
+ ¥©
+ ->
+ ¥©_shÜt
+ );
+ 
+ 163 
+ ¥©
+ ->
+ ¥©_shÜt
+  = 
+ NuΡr
+ ;
+ 
+ 166 ià(!
+ ¥©
+ ->
+ ¥©_»gexp
+ ->
+ Ŭ’s
+ )
+ 
+ 167 
+ gimme
+  = 
+ G_SCALAR
+ ;
+ 
+ 168 ià(
+ 	`»gexec
+ (
+ ¥©
+ ->
+ ¥©_»gexp
+ , 
+ s
+ , 
+ ¡»nd
+ , 
+ t
+ , 0,
+ 
+ 169 
+ ¤ch¡r
+ ->
+ ¡r_pok
+  & 
+ SP_STUDIED
+  ? srch¡¸: 
+ NuΡr
+ ,
+ 
+ 170 
+ gimme
+  =ð
+ G_ARRAY
+ )) {
+ 
+ 171 ià(
+ ¥©
+ ->
+ ¥©_»gexp
+ ->
+ subba£
+ )
+ 
+ 172 
+ cur¥©
+  = 
+ ¥©
+ ;
+ 
+ 173 
+ Ï¡¥©
+  = 
+ ¥©
+ ;
+ 
+ 174 ià(
+ ¥©
+ ->
+ ¥©_æags
+  & 
+ SPAT_ONCE
+ )
+ 
+ 175 
+ ¥©
+ ->
+ ¥©_æags
+  |ð
+ SPAT_USED
+ ;
+ 
+ 176 
+ gÙcha
+ ;
+ 
+ 179 ià(
+ gimme
+  =ð
+ G_ARRAY
+ )
+ 
+ 180  
+ ¥
+ ;
+ 
+ 181 
+ 	`¡r_s£t
+ (
+ ¡r
+ ,&
+ ¡r_no
+ );
+ 
+ 182 
+ 	`STABSET
+ (
+ ¡r
+ );
+ 
+ 183 
+ ¡
+ [++
+ ¥
+ ] = 
+ ¡r
+ ;
+ 
+ 184  
+ ¥
+ ;
+ 
+ 189 
+ gÙcha
+ :
+ 
+ 190 ià(
+ gimme
+  =ð
+ G_ARRAY
+ ) {
+ 
+ 191 
+ ™”s
+ , 
+ i
+ , 
+ Ën
+ ;
+ 
+ 193 
+ ™”s
+  = 
+ ¥©
+ ->
+ ¥©_»gexp
+ ->
+ Ŭ’s
+ ;
+ 
+ 194 ià(
+ ¥
+  + 
+ ™”s
+  >ð
+ ¡ack
+ ->
+ ¬y_max
+ ) {
+ 
+ 195 
+ 	`a¡Üe
+ (
+ ¡ack
+ ,
+ ¥
+  + 
+ ™”s
+ , 
+ NuΡr
+ );
+ 
+ 196 
+ ¡
+  = 
+ ¡ack
+ ->
+ ¬y_¬¿y
+ ;
+ 
+ 199 
+ i
+  = 1; i <ð
+ ™”s
+ ; i++) {
+ 
+ 200 
+ ¡
+ [++
+ ¥
+ ] = 
+ 	`¡r_m܏l
+ (&
+ ¡r_no
+ );
+ 
+ 201 ià(
+ s
+  = 
+ ¥©
+ ->
+ ¥©_»gexp
+ ->
+ ¡¬
+ [
+ i
+ ]) {
+ 
+ 202 
+ Ën
+  = 
+ ¥©
+ ->
+ ¥©_»gexp
+ ->
+ ’dp
+ [
+ i
+ ] - 
+ s
+ ;
+ 
+ 203 ià(
+ Ën
+  > 0)
+ 
+ 204 
+ 	`¡r_n£t
+ (
+ ¡
+ [
+ ¥
+ ],
+ s
+ ,
+ Ën
+ );
+ 
+ 207  
+ ¥
+ ;
+ 
+ 210 
+ 	`¡r_s£t
+ (
+ ¡r
+ ,&
+ ¡r_yes
+ );
+ 
+ 211 
+ 	`STABSET
+ (
+ ¡r
+ );
+ 
+ 212 
+ ¡
+ [++
+ ¥
+ ] = 
+ ¡r
+ ;
+ 
+ 213  
+ ¥
+ ;
+ 
+ 216 
+ yup
+ :
+ 
+ 217 ++
+ ¥©
+ ->
+ ¥©_shÜt
+ ->
+ ¡r_u
+ .
+ ¡r_u£ful
+ ;
+ 
+ 218 
+ Ï¡¥©
+  = 
+ ¥©
+ ;
+ 
+ 219 ià(
+ ¥©
+ ->
+ ¥©_æags
+  & 
+ SPAT_ONCE
+ )
+ 
+ 220 
+ ¥©
+ ->
+ ¥©_æags
+  |ð
+ SPAT_USED
+ ;
+ 
+ 221 ià(
+ §wam³r§nd
+ ) {
+ 
+ 222 *
+ tmps
+ ;
+ 
+ 224 ià(
+ ¥©
+ ->
+ ¥©_»gexp
+ ->
+ subba£
+ )
+ 
+ 225 
+ 	`Saãä“
+ (
+ ¥©
+ ->
+ ¥©_»gexp
+ ->
+ subba£
+ );
+ 
+ 226 
+ tmps
+  = 
+ ¥©
+ ->
+ ¥©_»gexp
+ ->
+ subba£
+  = 
+ 	`n§ve¡r
+ (
+ t
+ ,
+ ¡»nd
+ -t);
+ 
+ 227 
+ ¥©
+ ->
+ ¥©_»gexp
+ ->
+ sub’d
+  = 
+ tmps
+  + (
+ ¡»nd
+ -
+ t
+ );
+ 
+ 228 
+ tmps
+  = 
+ ¥©
+ ->
+ ¥©_»gexp
+ ->
+ ¡¬
+ [0] =mp + (
+ s
+  - 
+ t
+ );
+ 
+ 229 
+ ¥©
+ ->
+ ¥©_»gexp
+ ->
+ ’dp
+ [0] = 
+ tmps
+  + s·t->
+ ¥©_shÜt
+ ->
+ ¡r_cur
+ ;
+ 
+ 230 
+ cur¥©
+  = 
+ ¥©
+ ;
+ 
+ 232 
+ 	`¡r_s£t
+ (
+ ¡r
+ ,&
+ ¡r_yes
+ );
+ 
+ 233 
+ 	`STABSET
+ (
+ ¡r
+ );
+ 
+ 234 
+ ¡
+ [++
+ ¥
+ ] = 
+ ¡r
+ ;
+ 
+ 235  
+ ¥
+ ;
+ 
+ 237 
+ nÝe
+ :
+ 
+ 238 ++
+ ¥©
+ ->
+ ¥©_shÜt
+ ->
+ ¡r_u
+ .
+ ¡r_u£ful
+ ;
+ 
+ 239 ià(
+ gimme
+  =ð
+ G_ARRAY
+ )
+ 
+ 240  
+ ¥
+ ;
+ 
+ 241 
+ 	`¡r_s£t
+ (
+ ¡r
+ ,&
+ ¡r_no
+ );
+ 
+ 242 
+ 	`STABSET
+ (
+ ¡r
+ );
+ 
+ 243 
+ ¡
+ [++
+ ¥
+ ] = 
+ ¡r
+ ;
+ 
+ 244  
+ ¥
+ ;
+ 
+ 245 
+ 	}
+ }
+ 
+ 247 #ifdeà
+ BUGGY_MSC
+ 
+ 
+ 248 #´agm¨
+ šŒšsic
+ (
+ memcmp
+ )
+ 
+ 252 
+ 	$do_¥l™
+ (
+ ¡r
+ ,
+ ¥©
+ ,
+ lim™
+ ,
+ gimme
+ ,
+ ¬gÏ¡
+ )
+ 
+ 253 
+ STR
+  *
+ ¡r
+ ;
+ 
+ 254 
+ SPAT
+  *
+ ¥©
+ ;
+ 
+ 255 
+ lim™
+ ;
+ 
+ 256 
+ gimme
+ ;
+ 
+ 257 *
+ ¬gÏ¡
+ ;
+ 
+ 259 
+ ARRAY
+  *
+ ¬y
+  = 
+ ¡ack
+ ;
+ 
+ 260 
+ STR
+  **
+ ¡
+  = 
+ ¬y
+ ->
+ ¬y_¬¿y
+ ;
+ 
+ 261 
+ ¥
+  = 
+ ¬gÏ¡
+ [0] + 1;
+ 
+ 262 *
+ s
+  = 
+ 	`¡r_g‘
+ (
+ ¡
+ [
+ ¥
+ ]);
+ 
+ 263 *
+ ¡»nd
+  = 
+ s
+  + 
+ ¡
+ [
+ ¥
+ --]->
+ ¡r_cur
+ ;
+ 
+ 264 
+ STR
+  *
+ d¡r
+ ;
+ 
+ 265 *
+ m
+ ;
+ 
+ 266 
+ ™”s
+  = 0;
+ 
+ 267 
+ max™”s
+  = (
+ ¡»nd
+  - 
+ s
+ ) + 10;
+ 
+ 268 
+ i
+ ;
+ 
+ 269 *
+ Üig
+ ;
+ 
+ 270 
+ Üiglim™
+  = 
+ lim™
+ ;
+ 
+ 271 
+ »®¬¿y
+  = 0;
+ 
+ 273 ià(!
+ ¥©
+  || !
+ s
+ )
+ 
+ 274 
+ 	`çl
+ ("panic: do_split");
+ 
+ 275 ià(
+ ¥©
+ ->
+ ¥©_ruÁime
+ ) {
+ 
+ 276 
+ nošŒp
+  = "|)";
+ 
+ 277 
+ ¥
+  = 
+ 	`ev®
+ (
+ ¥©
+ ->
+ ¥©_ruÁime
+ ,
+ G_SCALAR
+ ,sp);
+ 
+ 278 
+ ¡
+  = 
+ ¡ack
+ ->
+ ¬y_¬¿y
+ ;
+ 
+ 279 
+ m
+  = 
+ 	`¡r_g‘
+ (
+ d¡r
+  = 
+ ¡
+ [
+ ¥
+ --]);
+ 
+ 280 
+ nošŒp
+  = "";
+ 
+ 281 ià(*
+ m
+  =ð' ' && 
+ d¡r
+ ->
+ ¡r_cur
+  == 1) {
+ 
+ 282 
+ 	`¡r_£t
+ (
+ d¡r
+ ,"\\s+");
+ 
+ 283 
+ m
+  = 
+ d¡r
+ ->
+ ¡r_±r
+ ;
+ 
+ 284 
+ ¥©
+ ->
+ ¥©_æags
+  |ð
+ SPAT_SKIPWHITE
+ ;
+ 
+ 286 ià(
+ ¥©
+ ->
+ ¥©_»gexp
+ ) {
+ 
+ 287 
+ 	`»gä“
+ (
+ ¥©
+ ->
+ ¥©_»gexp
+ );
+ 
+ 288 
+ ¥©
+ ->
+ ¥©_»gexp
+  = 
+ 	`NuÎ
+ (
+ REGEXP
+ *);
+ 
+ 290 
+ ¥©
+ ->
+ ¥©_»gexp
+  = 
+ 	`»gcomp
+ (
+ m
+ ,m+
+ d¡r
+ ->
+ ¡r_cur
+ ,
+ 
+ 291 
+ ¥©
+ ->
+ ¥©_æags
+  & 
+ SPAT_FOLD
+ );
+ 
+ 292 ià(
+ ¥©
+ ->
+ ¥©_æags
+  & 
+ SPAT_KEEP
+  ||
+ 
+ 293 (
+ ¥©
+ ->
+ ¥©_ruÁime
+ ->
+ ¬g_ty³
+  =ð
+ O_ITEM
+  &&
+ 
+ 294 (
+ ¥©
+ ->
+ ¥©_ruÁime
+ [1].
+ ¬g_ty³
+  & 
+ A_MASK
+ è=ð
+ A_SINGLE
+ ) ) {
+ 
+ 295 
+ 	`¬g_ä“
+ (
+ ¥©
+ ->
+ ¥©_ruÁime
+ );
+ 
+ 296 
+ ¥©
+ ->
+ ¥©_ruÁime
+  = 
+ Nuάg
+ ;
+ 
+ 299 #ifdeà
+ DEBUGGING
+ 
+ 
+ 300 ià(
+ debug
+  & 8) {
+ 
+ 301 
+ 	`deb
+ ("2.SPAT /%s/\n",
+ ¥©
+ ->
+ ¥©_»gexp
+ ->
+ ´ecomp
+ );
+ 
+ 304 
+ ¬y
+  = 
+ 	`¡ab_x¬¿y
+ (
+ ¥©
+ ->
+ ¥©_»¶
+ [1].
+ ¬g_±r
+ .
+ ¬g_¡ab
+ );
+ 
+ 305 ià(
+ ¬y
+  && (
+ gimme
+  !ð
+ G_ARRAY
+  || (
+ ¥©
+ ->
+ ¥©_æags
+  & 
+ SPAT_ONCE
+ ))) {
+ 
+ 306 
+ »®¬¿y
+  = 1;
+ 
+ 307 ià(!(
+ ¬y
+ ->
+ ¬y_æags
+  & 
+ ARF_REAL
+ )) {
+ 
+ 308 
+ ¬y
+ ->
+ ¬y_æags
+  |ð
+ ARF_REAL
+ ;
+ 
+ 309 
+ i
+  = 
+ ¬y
+ ->
+ ¬y_fžl
+ ; i >= 0; i--)
+ 
+ 310 
+ ¬y
+ ->
+ ¬y_¬¿y
+ [
+ i
+ ] = 
+ NuΡr
+ ;
+ 
+ 312 
+ ¬y
+ ->
+ ¬y_fžl
+  = -1;
+ 
+ 313 
+ ¥
+  = -1;
+ 
+ 316 
+ ¬y
+  = 
+ ¡ack
+ ;
+ 
+ 317 
+ Üig
+  = 
+ s
+ ;
+ 
+ 318 ià(
+ ¥©
+ ->
+ ¥©_æags
+  & 
+ SPAT_SKIPWHITE
+ ) {
+ 
+ 319 
+ 	`i§scii
+ (*
+ s
+ è&& 
+ 	`is¥aû
+ (*s))
+ 
+ 320 
+ s
+ ++;
+ 
+ 322 ià(!
+ lim™
+ )
+ 
+ 323 
+ lim™
+  = 
+ max™”s
+  + 2;
+ 
+ 324 ià(
+ 	`¡rEQ
+ ("\\s+",
+ ¥©
+ ->
+ ¥©_»gexp
+ ->
+ ´ecomp
+ )) {
+ 
+ 325 --
+ lim™
+ ) {
+ 
+ 326 
+ m
+  = 
+ s
+ ; m < 
+ ¡»nd
+  && !(
+ 	`i§scii
+ (*m)&&
+ 	`is¥aû
+ (*m)); m++) ;
+ 
+ 327 ià(
+ m
+  >ð
+ ¡»nd
+ )
+ 
+ 329 
+ d¡r
+  = 
+ 	`SŒ_Ãw
+ (30,
+ m
+ -
+ s
+ );
+ 
+ 330 
+ 	`¡r_n£t
+ (
+ d¡r
+ ,
+ s
+ ,
+ m
+ -s);
+ 
+ 331 ià(!
+ »®¬¿y
+ )
+ 
+ 332 
+ 	`¡r_2m܏l
+ (
+ d¡r
+ );
+ 
+ 333 ()
+ 	`a¡Üe
+ (
+ ¬y
+ , ++
+ ¥
+ , 
+ d¡r
+ );
+ 
+ 334 
+ s
+  = 
+ m
+  + 1; s < 
+ ¡»nd
+  && 
+ 	`i§scii
+ (*sè&& 
+ 	`is¥aû
+ (*s); s++) ;
+ 
+ 337 ià(
+ 	`¡rEQ
+ ("^",
+ ¥©
+ ->
+ ¥©_»gexp
+ ->
+ ´ecomp
+ )) {
+ 
+ 338 --
+ lim™
+ ) {
+ 
+ 339 
+ m
+  = 
+ s
+ ; m < 
+ ¡»nd
+  && *m != '\n'; m++) ;
+ 
+ 340 
+ m
+ ++;
+ 
+ 341 ià(
+ m
+  >ð
+ ¡»nd
+ )
+ 
+ 343 
+ d¡r
+  = 
+ 	`SŒ_Ãw
+ (30,
+ m
+ -
+ s
+ );
+ 
+ 344 
+ 	`¡r_n£t
+ (
+ d¡r
+ ,
+ s
+ ,
+ m
+ -s);
+ 
+ 345 ià(!
+ »®¬¿y
+ )
+ 
+ 346 
+ 	`¡r_2m܏l
+ (
+ d¡r
+ );
+ 
+ 347 ()
+ 	`a¡Üe
+ (
+ ¬y
+ , ++
+ ¥
+ , 
+ d¡r
+ );
+ 
+ 348 
+ s
+  = 
+ m
+ ;
+ 
+ 351 ià(
+ ¥©
+ ->
+ ¥©_shÜt
+ ) {
+ 
+ 352 
+ i
+  = 
+ ¥©
+ ->
+ ¥©_shÜt
+ ->
+ ¡r_cur
+ ;
+ 
+ 353 ià(
+ i
+  == 1) {
+ 
+ 354 
+ fÞd
+  = (
+ ¥©
+ ->
+ ¥©_æags
+  & 
+ SPAT_FOLD
+ );
+ 
+ 356 
+ i
+  = *
+ ¥©
+ ->
+ ¥©_shÜt
+ ->
+ ¡r_±r
+ ;
+ 
+ 357 ià(
+ fÞd
+  && 
+ 	`isuµ”
+ (
+ i
+ ))
+ 
+ 358 
+ i
+  = 
+ 	`tÞow”
+ (i);
+ 
+ 359 --
+ lim™
+ ) {
+ 
+ 360 ià(
+ fÞd
+ ) {
+ 
+ 361  
+ m
+  = 
+ s
+ ;
+ 
+ 362 
+ m
+  < 
+ ¡»nd
+  && *m !ð
+ i
+  &&
+ 
+ 363 (!
+ 	`isuµ”
+ (*
+ m
+ è|| 
+ 	`tÞow”
+ (*mè!ð
+ i
+ );
+ 
+ 364 
+ m
+ ++)
+ 
+ 368 
+ m
+  = 
+ s
+ ; m < 
+ ¡»nd
+  && *m !ð
+ i
+ ; m++) ;
+ 
+ 369 ià(
+ m
+  >ð
+ ¡»nd
+ )
+ 
+ 371 
+ d¡r
+  = 
+ 	`SŒ_Ãw
+ (30,
+ m
+ -
+ s
+ );
+ 
+ 372 
+ 	`¡r_n£t
+ (
+ d¡r
+ ,
+ s
+ ,
+ m
+ -s);
+ 
+ 373 ià(!
+ »®¬¿y
+ )
+ 
+ 374 
+ 	`¡r_2m܏l
+ (
+ d¡r
+ );
+ 
+ 375 ()
+ 	`a¡Üe
+ (
+ ¬y
+ , ++
+ ¥
+ , 
+ d¡r
+ );
+ 
+ 376 
+ s
+  = 
+ m
+  + 1;
+ 
+ 380 #iâdeà
+ lšt
+ 
+ 
+ 381 
+ s
+  < 
+ ¡»nd
+  && --
+ lim™
+  &&
+ 
+ 382 (
+ m
+ =
+ 	`fbmš¡r
+ ((*)
+ s
+ , (*)
+ ¡»nd
+ ,
+ 
+ 383 
+ ¥©
+ ->
+ ¥©_shÜt
+ )) )
+ 
+ 386 
+ d¡r
+  = 
+ 	`SŒ_Ãw
+ (31,
+ m
+ -
+ s
+ );
+ 
+ 387 
+ 	`¡r_n£t
+ (
+ d¡r
+ ,
+ s
+ ,
+ m
+ -s);
+ 
+ 388 ià(!
+ »®¬¿y
+ )
+ 
+ 389 
+ 	`¡r_2m܏l
+ (
+ d¡r
+ );
+ 
+ 390 ()
+ 	`a¡Üe
+ (
+ ¬y
+ , ++
+ ¥
+ , 
+ d¡r
+ );
+ 
+ 391 
+ s
+  = 
+ m
+  + 
+ i
+ ;
+ 
+ 396 
+ max™”s
+  +ð(
+ ¡»nd
+  - 
+ s
+ è* 
+ ¥©
+ ->
+ ¥©_»gexp
+ ->
+ Ŭ’s
+ ;
+ 
+ 397 
+ s
+  < 
+ ¡»nd
+  && --
+ lim™
+  &&
+ 
+ 398 
+ 	`»gexec
+ (
+ ¥©
+ ->
+ ¥©_»gexp
+ , 
+ s
+ , 
+ ¡»nd
+ , 
+ Üig
+ , 1, 
+ NuΡr
+ , 
+ TRUE
+ ) ) {
+ 
+ 399 ià(
+ ¥©
+ ->
+ ¥©_»gexp
+ ->
+ subba£
+ 
+ 
+ 400 && 
+ ¥©
+ ->
+ ¥©_»gexp
+ ->
+ subba£
+  !ð
+ Üig
+ ) {
+ 
+ 401 
+ m
+  = 
+ s
+ ;
+ 
+ 402 
+ s
+  = 
+ Üig
+ ;
+ 
+ 403 
+ Üig
+  = 
+ ¥©
+ ->
+ ¥©_»gexp
+ ->
+ subba£
+ ;
+ 
+ 404 
+ s
+  = 
+ Üig
+  + (
+ m
+  - s);
+ 
+ 405 
+ ¡»nd
+  = 
+ s
+  + (¡»nd - 
+ m
+ );
+ 
+ 407 
+ m
+  = 
+ ¥©
+ ->
+ ¥©_»gexp
+ ->
+ ¡¬
+ [0];
+ 
+ 408 
+ d¡r
+  = 
+ 	`SŒ_Ãw
+ (32,
+ m
+ -
+ s
+ );
+ 
+ 409 
+ 	`¡r_n£t
+ (
+ d¡r
+ ,
+ s
+ ,
+ m
+ -s);
+ 
+ 410 ià(!
+ »®¬¿y
+ )
+ 
+ 411 
+ 	`¡r_2m܏l
+ (
+ d¡r
+ );
+ 
+ 412 ()
+ 	`a¡Üe
+ (
+ ¬y
+ , ++
+ ¥
+ , 
+ d¡r
+ );
+ 
+ 413 ià(
+ ¥©
+ ->
+ ¥©_»gexp
+ ->
+ Ŭ’s
+ ) {
+ 
+ 414 
+ i
+  = 1; i <ð
+ ¥©
+ ->
+ ¥©_»gexp
+ ->
+ Ŭ’s
+ ; i++) {
+ 
+ 415 
+ s
+  = 
+ ¥©
+ ->
+ ¥©_»gexp
+ ->
+ ¡¬
+ [
+ i
+ ];
+ 
+ 416 
+ m
+  = 
+ ¥©
+ ->
+ ¥©_»gexp
+ ->
+ ’dp
+ [
+ i
+ ];
+ 
+ 417 
+ d¡r
+  = 
+ 	`SŒ_Ãw
+ (33,
+ m
+ -
+ s
+ );
+ 
+ 418 
+ 	`¡r_n£t
+ (
+ d¡r
+ ,
+ s
+ ,
+ m
+ -s);
+ 
+ 419 ià(!
+ »®¬¿y
+ )
+ 
+ 420 
+ 	`¡r_2m܏l
+ (
+ d¡r
+ );
+ 
+ 421 ()
+ 	`a¡Üe
+ (
+ ¬y
+ , ++
+ ¥
+ , 
+ d¡r
+ );
+ 
+ 424 
+ s
+  = 
+ ¥©
+ ->
+ ¥©_»gexp
+ ->
+ ’dp
+ [0];
+ 
+ 427 ià(
+ »®¬¿y
+ )
+ 
+ 428 
+ ™”s
+  = 
+ ¥
+  + 1;
+ 
+ 430 
+ ™”s
+  = 
+ ¥
+  - 
+ ¬gÏ¡
+ [0];
+ 
+ 431 ià(
+ ™”s
+  > 
+ max™”s
+ )
+ 
+ 432 
+ 	`çl
+ ("Split†oop");
+ 
+ 433 ià(
+ s
+  < 
+ ¡»nd
+  || 
+ Üiglim™
+ ) {
+ 
+ 434 
+ d¡r
+  = 
+ 	`SŒ_Ãw
+ (34,
+ ¡»nd
+ -
+ s
+ );
+ 
+ 435 
+ 	`¡r_n£t
+ (
+ d¡r
+ ,
+ s
+ ,
+ ¡»nd
+ -s);
+ 
+ 436 ià(!
+ »®¬¿y
+ )
+ 
+ 437 
+ 	`¡r_2m܏l
+ (
+ d¡r
+ );
+ 
+ 438 ()
+ 	`a¡Üe
+ (
+ ¬y
+ , ++
+ ¥
+ , 
+ d¡r
+ );
+ 
+ 439 
+ ™”s
+ ++;
+ 
+ 442 #iâdeà
+ I286x
+ 
+ 
+ 443 
+ ™”s
+  > 0 && 
+ ¬y
+ ->
+ ¬y_¬¿y
+ [
+ ¥
+ ]->
+ ¡r_cur
+  == 0)
+ 
+ 444 
+ ™”s
+ --,
+ ¥
+ --;
+ 
+ 446 *
+ z­s
+ ;
+ 
+ 447 
+ z­b
+ ;
+ 
+ 449 ià(
+ ™”s
+  > 0) {
+ 
+ 450 
+ z­s
+  = 
+ 	`¡r_g‘
+ (
+ 	`aãtch
+ (
+ ¬y
+ ,
+ ¥
+ ,
+ FALSE
+ ));
+ 
+ 451 
+ z­b
+  = (è*
+ z­s
+ ;
+ 
+ 454 
+ ™”s
+  > 0 && (!
+ z­b
+ )) {
+ 
+ 455 
+ ™”s
+ --,
+ ¥
+ --;
+ 
+ 456 ià(
+ ™”s
+  > 0) {
+ 
+ 457 
+ z­s
+  = 
+ 	`¡r_g‘
+ (
+ 	`aãtch
+ (
+ ¬y
+ ,
+ ™”s
+ -1,
+ FALSE
+ ));
+ 
+ 458 
+ z­b
+  = (è*
+ z­s
+ ;
+ 
+ 463 ià(
+ »®¬¿y
+ ) {
+ 
+ 464 
+ ¬y
+ ->
+ ¬y_fžl
+  = 
+ ¥
+ ;
+ 
+ 465 ià(
+ gimme
+  =ð
+ G_ARRAY
+ ) {
+ 
+ 466 
+ ¥
+ ++;
+ 
+ 467 
+ 	`a¡Üe
+ (
+ ¡ack
+ , 
+ ¬gÏ¡
+ [0] + 1 + 
+ ¥
+ , 
+ NuΡr
+ );
+ 
+ 468 
+ 	`CÝy
+ (
+ ¬y
+ ->
+ ¬y_¬¿y
+ , 
+ ¡ack
+ ->¬y_¬¿y + 
+ ¬gÏ¡
+ [0] + 1, 
+ ¥
+ , 
+ STR
+ *);
+ 
+ 469  
+ ¬gÏ¡
+ [0] + 
+ ¥
+ ;
+ 
+ 473 ià(
+ gimme
+  =ð
+ G_ARRAY
+ )
+ 
+ 474  
+ ¥
+ ;
+ 
+ 476 
+ ¥
+  = 
+ ¬gÏ¡
+ [0] + 1;
+ 
+ 477 
+ 	`¡r_num£t
+ (
+ ¡r
+ ,()
+ ™”s
+ );
+ 
+ 478 
+ 	`STABSET
+ (
+ ¡r
+ );
+ 
+ 479 
+ ¡
+ [
+ ¥
+ ] = 
+ ¡r
+ ;
+ 
+ 480  
+ ¥
+ ;
+ 
+ 481 
+ 	}
+ }
+ 
+ 484 
+ 	$do_uÅack
+ (
+ ¡r
+ ,
+ gimme
+ ,
+ ¬gÏ¡
+ )
+ 
+ 485 
+ STR
+  *
+ ¡r
+ ;
+ 
+ 486 
+ gimme
+ ;
+ 
+ 487 *
+ ¬gÏ¡
+ ;
+ 
+ 489 
+ STR
+  **
+ ¡
+  = 
+ ¡ack
+ ->
+ ¬y_¬¿y
+ ;
+ 
+ 490 
+ ¥
+  = 
+ ¬gÏ¡
+ [0] + 1;
+ 
+ 491 *
+ ·t
+  = 
+ 	`¡r_g‘
+ (
+ ¡
+ [
+ ¥
+ ++]);
+ 
+ 492 *
+ s
+  = 
+ 	`¡r_g‘
+ (
+ ¡
+ [
+ ¥
+ ]);
+ 
+ 493 *
+ ¡»nd
+  = 
+ s
+  + 
+ ¡
+ [
+ ¥
+ --]->
+ ¡r_cur
+ ;
+ 
+ 494 *
+ ¡rbeg
+  = 
+ s
+ ;
+ 
+ 495 *
+ ·‹nd
+  = 
+ ·t
+  + 
+ ¡
+ [
+ ¥
+ ]->
+ ¡r_cur
+ ;
+ 
+ 496 
+ d©umty³
+ ;
+ 
+ 497 
+ Ën
+ ;
+ 
+ 498 
+ b™s
+ ;
+ 
+ 501 
+ ashÜt
+ ;
+ 
+ 502 
+ ašt
+ ;
+ 
+ 503 
+ ®Úg
+ ;
+ 
+ 504 
+ aushÜt
+ ;
+ 
+ 505 
+ aušt
+ ;
+ 
+ 506 
+ aulÚg
+ ;
+ 
+ 507 *
+ ­Œ
+ ;
+ 
+ 508 
+ aæßt
+ ;
+ 
+ 509 
+ adoubË
+ ;
+ 
+ 510 
+ checksum
+  = 0;
+ 
+ 511 
+ culÚg
+ ;
+ 
+ 512 
+ cdoubË
+ ;
+ 
+ 514 ià(
+ gimme
+  !ð
+ G_ARRAY
+ ) {
+ 
+ 515 
+ ·‹nd
+  = 
+ ·t
+ ; !
+ 	`i§Íha
+ (*patend);…atend++);
+ 
+ 516 ià(
+ 	`šdex
+ ("aAbBhH", *
+ ·‹nd
+ è|| *
+ ·t
+  == '%') {
+ 
+ 517 
+ ·‹nd
+ ++;
+ 
+ 518 
+ 	`isdig™
+ (*
+ ·‹nd
+ ) || *patend == '*')
+ 
+ 519 
+ ·‹nd
+ ++;
+ 
+ 522 
+ ·‹nd
+ ++;
+ 
+ 524 
+ ¥
+ --;
+ 
+ 525 
+ ·t
+  < 
+ ·‹nd
+ ) {
+ 
+ 526 
+ »·r£
+ :
+ 
+ 527 
+ d©umty³
+  = *
+ ·t
+ ++;
+ 
+ 528 ià(
+ ·t
+  >ð
+ ·‹nd
+ )
+ 
+ 529 
+ Ën
+  = 1;
+ 
+ 530 ià(*
+ ·t
+  == '*') {
+ 
+ 531 
+ Ën
+  = 
+ ¡»nd
+  - 
+ ¡rbeg
+ ;
+ 
+ 532 
+ ·t
+ ++;
+ 
+ 534 ià(
+ 	`isdig™
+ (*
+ ·t
+ )) {
+ 
+ 535 
+ Ën
+  = *
+ ·t
+ ++ - '0';
+ 
+ 536 
+ 	`isdig™
+ (*
+ ·t
+ ))
+ 
+ 537 
+ Ën
+  = (ËÀ* 10è+ (*
+ ·t
+ ++ - '0');
+ 
+ 540 
+ Ën
+  = (
+ d©umty³
+  != '@');
+ 
+ 541 
+ d©umty³
+ ) {
+ 
+ 545 ià(
+ Ën
+  =ð1 && 
+ ·t
+ [-1] != '1')
+ 
+ 546 
+ Ën
+  = 16;
+ 
+ 547 
+ checksum
+  = 
+ Ën
+ ;
+ 
+ 548 
+ culÚg
+  = 0;
+ 
+ 549 
+ cdoubË
+  = 0;
+ 
+ 550 ià(
+ ·t
+  < 
+ ·‹nd
+ )
+ 
+ 551 
+ »·r£
+ ;
+ 
+ 554 ià(
+ Ën
+  > 
+ ¡»nd
+  - 
+ s
+ )
+ 
+ 555 
+ 	`çl
+ ("@ outside of string");
+ 
+ 556 
+ s
+  = 
+ ¡rbeg
+  + 
+ Ën
+ ;
+ 
+ 559 ià(
+ Ën
+  > 
+ s
+  - 
+ ¡rbeg
+ )
+ 
+ 560 
+ 	`çl
+ ("X outside of string");
+ 
+ 561 
+ s
+  -ð
+ Ën
+ ;
+ 
+ 564 ià(
+ Ën
+  > 
+ ¡»nd
+  - 
+ s
+ )
+ 
+ 565 
+ 	`çl
+ ("x outside of string");
+ 
+ 566 
+ s
+  +ð
+ Ën
+ ;
+ 
+ 570 ià(
+ Ën
+  > 
+ ¡»nd
+  - 
+ s
+ )
+ 
+ 571 
+ Ën
+  = 
+ ¡»nd
+  - 
+ s
+ ;
+ 
+ 572 ià(
+ checksum
+ )
+ 
+ 573 
+ uch¬_checksum
+ ;
+ 
+ 574 
+ ¡r
+  = 
+ 	`SŒ_Ãw
+ (35,
+ Ën
+ );
+ 
+ 575 
+ 	`¡r_n£t
+ (
+ ¡r
+ ,
+ s
+ ,
+ Ën
+ );
+ 
+ 576 
+ s
+  +ð
+ Ën
+ ;
+ 
+ 577 ià(
+ d©umty³
+  == 'A') {
+ 
+ 578 
+ ­Œ
+  = 
+ s
+ ;
+ 
+ 579 
+ s
+  = 
+ ¡r
+ ->
+ ¡r_±r
+  + 
+ Ën
+  - 1;
+ 
+ 580 
+ s
+  >ð
+ ¡r
+ ->
+ ¡r_±r
+  && (!* || (
+ 	`i§scii
+ (*s)&&
+ 	`is¥aû
+ (*s))))
+ 
+ 581 
+ s
+ --;
+ 
+ 582 *++
+ s
+  = '\0';
+ 
+ 583 
+ ¡r
+ ->
+ ¡r_cur
+  = 
+ s
+  - sŒ->
+ ¡r_±r
+ ;
+ 
+ 584 
+ s
+  = 
+ ­Œ
+ ;
+ 
+ 586 ()
+ 	`a¡Üe
+ (
+ ¡ack
+ , ++
+ ¥
+ , 
+ 	`¡r_2m܏l
+ (
+ ¡r
+ ));
+ 
+ 590 ià(
+ ·t
+ [-1] =ð'*' || 
+ Ën
+  > (
+ ¡»nd
+  - 
+ s
+ ) * 8)
+ 
+ 591 
+ Ën
+  = (
+ ¡»nd
+  - 
+ s
+ ) * 8;
+ 
+ 592 
+ ¡r
+  = 
+ 	`SŒ_Ãw
+ (35, 
+ Ën
+  + 1);
+ 
+ 593 
+ ¡r
+ ->
+ ¡r_cur
+  = 
+ Ën
+ ;
+ 
+ 594 
+ ¡r
+ ->
+ ¡r_pok
+  = 1;
+ 
+ 595 
+ ­Œ
+  = 
+ ·t
+ ;
+ 
+ 596 
+ ·t
+  = 
+ ¡r
+ ->
+ ¡r_±r
+ ;
+ 
+ 597 ià(
+ d©umty³
+  == 'b') {
+ 
+ 598 
+ ašt
+  = 
+ Ën
+ ;
+ 
+ 599 
+ Ën
+  = 0;†’ < 
+ ašt
+ ;†en++) {
+ 
+ 600 ià(
+ Ën
+  & 7)
+ 
+ 601 
+ b™s
+  >>= 1;
+ 
+ 603 
+ b™s
+  = *
+ s
+ ++;
+ 
+ 604 *
+ ·t
+ ++ = '0' + (
+ b™s
+  & 1);
+ 
+ 608 
+ ašt
+  = 
+ Ën
+ ;
+ 
+ 609 
+ Ën
+  = 0;†’ < 
+ ašt
+ ;†en++) {
+ 
+ 610 ià(
+ Ën
+  & 7)
+ 
+ 611 
+ b™s
+  <<= 1;
+ 
+ 613 
+ b™s
+  = *
+ s
+ ++;
+ 
+ 614 *
+ ·t
+ ++ = '0' + ((
+ b™s
+  & 128) != 0);
+ 
+ 617 *
+ ·t
+  = '\0';
+ 
+ 618 
+ ·t
+  = 
+ ­Œ
+ ;
+ 
+ 619 ()
+ 	`a¡Üe
+ (
+ ¡ack
+ , ++
+ ¥
+ , 
+ 	`¡r_2m܏l
+ (
+ ¡r
+ ));
+ 
+ 623 ià(
+ ·t
+ [-1] =ð'*' || 
+ Ën
+  > (
+ ¡»nd
+  - 
+ s
+ ) * 2)
+ 
+ 624 
+ Ën
+  = (
+ ¡»nd
+  - 
+ s
+ ) * 2;
+ 
+ 625 
+ ¡r
+  = 
+ 	`SŒ_Ãw
+ (35, 
+ Ën
+  + 1);
+ 
+ 626 
+ ¡r
+ ->
+ ¡r_cur
+  = 
+ Ën
+ ;
+ 
+ 627 
+ ¡r
+ ->
+ ¡r_pok
+  = 1;
+ 
+ 628 
+ ­Œ
+  = 
+ ·t
+ ;
+ 
+ 629 
+ ·t
+  = 
+ ¡r
+ ->
+ ¡r_±r
+ ;
+ 
+ 630 ià(
+ d©umty³
+  == 'h') {
+ 
+ 631 
+ ašt
+  = 
+ Ën
+ ;
+ 
+ 632 
+ Ën
+  = 0;†’ < 
+ ašt
+ ;†en++) {
+ 
+ 633 ià(
+ Ën
+  & 1)
+ 
+ 634 
+ b™s
+  >>= 4;
+ 
+ 636 
+ b™s
+  = *
+ s
+ ++;
+ 
+ 637 *
+ ·t
+ ++ = 
+ hexdig™
+ [
+ b™s
+  & 15];
+ 
+ 641 
+ ašt
+  = 
+ Ën
+ ;
+ 
+ 642 
+ Ën
+  = 0;†’ < 
+ ašt
+ ;†en++) {
+ 
+ 643 ià(
+ Ën
+  & 1)
+ 
+ 644 
+ b™s
+  <<= 4;
+ 
+ 646 
+ b™s
+  = *
+ s
+ ++;
+ 
+ 647 *
+ ·t
+ ++ = 
+ hexdig™
+ [(
+ b™s
+  >> 4) & 15];
+ 
+ 650 *
+ ·t
+  = '\0';
+ 
+ 651 
+ ·t
+  = 
+ ­Œ
+ ;
+ 
+ 652 ()
+ 	`a¡Üe
+ (
+ ¡ack
+ , ++
+ ¥
+ , 
+ 	`¡r_2m܏l
+ (
+ ¡r
+ ));
+ 
+ 655 ià(
+ Ën
+  > 
+ ¡»nd
+  - 
+ s
+ )
+ 
+ 656 
+ Ën
+  = 
+ ¡»nd
+  - 
+ s
+ ;
+ 
+ 657 ià(
+ checksum
+ ) {
+ 
+ 658 
+ Ën
+ -- > 0) {
+ 
+ 659 
+ ašt
+  = *
+ s
+ ++;
+ 
+ 660 ià(
+ ašt
+  >= 128)
+ 
+ 661 
+ ašt
+  -= 256;
+ 
+ 662 
+ culÚg
+  +ð
+ ašt
+ ;
+ 
+ 666 
+ Ën
+ -- > 0) {
+ 
+ 667 
+ ašt
+  = *
+ s
+ ++;
+ 
+ 668 ià(
+ ašt
+  >= 128)
+ 
+ 669 
+ ašt
+  -= 256;
+ 
+ 670 
+ ¡r
+  = 
+ 	`SŒ_Ãw
+ (36,0);
+ 
+ 671 
+ 	`¡r_num£t
+ (
+ ¡r
+ ,()
+ ašt
+ );
+ 
+ 672 ()
+ 	`a¡Üe
+ (
+ ¡ack
+ , ++
+ ¥
+ , 
+ 	`¡r_2m܏l
+ (
+ ¡r
+ ));
+ 
+ 677 ià(
+ Ën
+  > 
+ ¡»nd
+  - 
+ s
+ )
+ 
+ 678 
+ Ën
+  = 
+ ¡»nd
+  - 
+ s
+ ;
+ 
+ 679 ià(
+ checksum
+ ) {
+ 
+ 680 
+ uch¬_checksum
+ :
+ 
+ 681 
+ Ën
+ -- > 0) {
+ 
+ 682 
+ aušt
+  = *
+ s
+ ++ & 255;
+ 
+ 683 
+ culÚg
+  +ð
+ aušt
+ ;
+ 
+ 687 
+ Ën
+ -- > 0) {
+ 
+ 688 
+ aušt
+  = *
+ s
+ ++ & 255;
+ 
+ 689 
+ ¡r
+  = 
+ 	`SŒ_Ãw
+ (37,0);
+ 
+ 690 
+ 	`¡r_num£t
+ (
+ ¡r
+ ,()
+ aušt
+ );
+ 
+ 691 ()
+ 	`a¡Üe
+ (
+ ¡ack
+ , ++
+ ¥
+ , 
+ 	`¡r_2m܏l
+ (
+ ¡r
+ ));
+ 
+ 696 
+ ®Úg
+  = (
+ ¡»nd
+  - 
+ s
+ ) / ();
+ 
+ 697 ià(
+ Ën
+  > 
+ ®Úg
+ )
+ 
+ 698 
+ Ën
+  = 
+ ®Úg
+ ;
+ 
+ 699 ià(
+ checksum
+ ) {
+ 
+ 700 
+ Ën
+ -- > 0) {
+ 
+ 701 
+ 	`bcÝy
+ (
+ s
+ ,(*)&
+ ashÜt
+ ,());
+ 
+ 702 
+ s
+  += ();
+ 
+ 703 
+ culÚg
+  +ð
+ ashÜt
+ ;
+ 
+ 707 
+ Ën
+ -- > 0) {
+ 
+ 708 
+ 	`bcÝy
+ (
+ s
+ ,(*)&
+ ashÜt
+ ,());
+ 
+ 709 
+ s
+  += ();
+ 
+ 710 
+ ¡r
+  = 
+ 	`SŒ_Ãw
+ (38,0);
+ 
+ 711 
+ 	`¡r_num£t
+ (
+ ¡r
+ ,()
+ ashÜt
+ );
+ 
+ 712 ()
+ 	`a¡Üe
+ (
+ ¡ack
+ , ++
+ ¥
+ , 
+ 	`¡r_2m܏l
+ (
+ ¡r
+ ));
+ 
+ 718 
+ ®Úg
+  = (
+ ¡»nd
+  - 
+ s
+ ) / ();
+ 
+ 719 ià(
+ Ën
+  > 
+ ®Úg
+ )
+ 
+ 720 
+ Ën
+  = 
+ ®Úg
+ ;
+ 
+ 721 ià(
+ checksum
+ ) {
+ 
+ 722 
+ Ën
+ -- > 0) {
+ 
+ 723 
+ 	`bcÝy
+ (
+ s
+ ,(*)&
+ aushÜt
+ ,());
+ 
+ 724 
+ s
+  += ();
+ 
+ 725 #ifdeà
+ HAS_NTOHS
+ 
+ 
+ 726 ià(
+ d©umty³
+  == 'n')
+ 
+ 727 
+ aushÜt
+  = 
+ 	`Áohs
+ (aushort);
+ 
+ 729 
+ culÚg
+  +ð
+ aushÜt
+ ;
+ 
+ 733 
+ Ën
+ -- > 0) {
+ 
+ 734 
+ 	`bcÝy
+ (
+ s
+ ,(*)&
+ aushÜt
+ ,());
+ 
+ 735 
+ s
+  += ();
+ 
+ 736 
+ ¡r
+  = 
+ 	`SŒ_Ãw
+ (39,0);
+ 
+ 737 #ifdeà
+ HAS_NTOHS
+ 
+ 
+ 738 ià(
+ d©umty³
+  == 'n')
+ 
+ 739 
+ aushÜt
+  = 
+ 	`Áohs
+ (aushort);
+ 
+ 741 
+ 	`¡r_num£t
+ (
+ ¡r
+ ,()
+ aushÜt
+ );
+ 
+ 742 ()
+ 	`a¡Üe
+ (
+ ¡ack
+ , ++
+ ¥
+ , 
+ 	`¡r_2m܏l
+ (
+ ¡r
+ ));
+ 
+ 747 
+ ®Úg
+  = (
+ ¡»nd
+  - 
+ s
+ ) / ();
+ 
+ 748 ià(
+ Ën
+  > 
+ ®Úg
+ )
+ 
+ 749 
+ Ën
+  = 
+ ®Úg
+ ;
+ 
+ 750 ià(
+ checksum
+ ) {
+ 
+ 751 
+ Ën
+ -- > 0) {
+ 
+ 752 
+ 	`bcÝy
+ (
+ s
+ ,(*)&
+ ašt
+ ,());
+ 
+ 753 
+ s
+  += ();
+ 
+ 754 ià(
+ checksum
+  > 32)
+ 
+ 755 
+ cdoubË
+  +ð()
+ ašt
+ ;
+ 
+ 757 
+ culÚg
+  +ð
+ ašt
+ ;
+ 
+ 761 
+ Ën
+ -- > 0) {
+ 
+ 762 
+ 	`bcÝy
+ (
+ s
+ ,(*)&
+ ašt
+ ,());
+ 
+ 763 
+ s
+  += ();
+ 
+ 764 
+ ¡r
+  = 
+ 	`SŒ_Ãw
+ (40,0);
+ 
+ 765 
+ 	`¡r_num£t
+ (
+ ¡r
+ ,()
+ ašt
+ );
+ 
+ 766 ()
+ 	`a¡Üe
+ (
+ ¡ack
+ , ++
+ ¥
+ , 
+ 	`¡r_2m܏l
+ (
+ ¡r
+ ));
+ 
+ 771 
+ ®Úg
+  = (
+ ¡»nd
+  - 
+ s
+ ) / ();
+ 
+ 772 ià(
+ Ën
+  > 
+ ®Úg
+ )
+ 
+ 773 
+ Ën
+  = 
+ ®Úg
+ ;
+ 
+ 774 ià(
+ checksum
+ ) {
+ 
+ 775 
+ Ën
+ -- > 0) {
+ 
+ 776 
+ 	`bcÝy
+ (
+ s
+ ,(*)&
+ aušt
+ ,());
+ 
+ 777 
+ s
+  += ();
+ 
+ 778 ià(
+ checksum
+  > 32)
+ 
+ 779 
+ cdoubË
+  +ð()
+ aušt
+ ;
+ 
+ 781 
+ culÚg
+  +ð
+ aušt
+ ;
+ 
+ 785 
+ Ën
+ -- > 0) {
+ 
+ 786 
+ 	`bcÝy
+ (
+ s
+ ,(*)&
+ aušt
+ ,());
+ 
+ 787 
+ s
+  += ();
+ 
+ 788 
+ ¡r
+  = 
+ 	`SŒ_Ãw
+ (41,0);
+ 
+ 789 
+ 	`¡r_num£t
+ (
+ ¡r
+ ,()
+ aušt
+ );
+ 
+ 790 ()
+ 	`a¡Üe
+ (
+ ¡ack
+ , ++
+ ¥
+ , 
+ 	`¡r_2m܏l
+ (
+ ¡r
+ ));
+ 
+ 795 
+ ®Úg
+  = (
+ ¡»nd
+  - 
+ s
+ ) / ();
+ 
+ 796 ià(
+ Ën
+  > 
+ ®Úg
+ )
+ 
+ 797 
+ Ën
+  = 
+ ®Úg
+ ;
+ 
+ 798 ià(
+ checksum
+ ) {
+ 
+ 799 
+ Ën
+ -- > 0) {
+ 
+ 800 
+ 	`bcÝy
+ (
+ s
+ ,(*)&
+ ®Úg
+ ,());
+ 
+ 801 
+ s
+  += ();
+ 
+ 802 ià(
+ checksum
+  > 32)
+ 
+ 803 
+ cdoubË
+  +ð()
+ ®Úg
+ ;
+ 
+ 805 
+ culÚg
+  +ð
+ ®Úg
+ ;
+ 
+ 809 
+ Ën
+ -- > 0) {
+ 
+ 810 
+ 	`bcÝy
+ (
+ s
+ ,(*)&
+ ®Úg
+ ,());
+ 
+ 811 
+ s
+  += ();
+ 
+ 812 
+ ¡r
+  = 
+ 	`SŒ_Ãw
+ (42,0);
+ 
+ 813 
+ 	`¡r_num£t
+ (
+ ¡r
+ ,()
+ ®Úg
+ );
+ 
+ 814 ()
+ 	`a¡Üe
+ (
+ ¡ack
+ , ++
+ ¥
+ , 
+ 	`¡r_2m܏l
+ (
+ ¡r
+ ));
+ 
+ 820 
+ ®Úg
+  = (
+ ¡»nd
+  - 
+ s
+ ) / ();
+ 
+ 821 ià(
+ Ën
+  > 
+ ®Úg
+ )
+ 
+ 822 
+ Ën
+  = 
+ ®Úg
+ ;
+ 
+ 823 ià(
+ checksum
+ ) {
+ 
+ 824 
+ Ën
+ -- > 0) {
+ 
+ 825 
+ 	`bcÝy
+ (
+ s
+ ,(*)&
+ aulÚg
+ ,());
+ 
+ 826 
+ s
+  += ();
+ 
+ 827 #ifdeà
+ HAS_NTOHL
+ 
+ 
+ 828 ià(
+ d©umty³
+  == 'N')
+ 
+ 829 
+ aulÚg
+  = 
+ 	`Áohl
+ (aulong);
+ 
+ 831 ià(
+ checksum
+  > 32)
+ 
+ 832 
+ cdoubË
+  +ð()
+ aulÚg
+ ;
+ 
+ 834 
+ culÚg
+  +ð
+ aulÚg
+ ;
+ 
+ 838 
+ Ën
+ -- > 0) {
+ 
+ 839 
+ 	`bcÝy
+ (
+ s
+ ,(*)&
+ aulÚg
+ ,());
+ 
+ 840 
+ s
+  += ();
+ 
+ 841 
+ ¡r
+  = 
+ 	`SŒ_Ãw
+ (43,0);
+ 
+ 842 #ifdeà
+ HAS_NTOHL
+ 
+ 
+ 843 ià(
+ d©umty³
+  == 'N')
+ 
+ 844 
+ aulÚg
+  = 
+ 	`Áohl
+ (aulong);
+ 
+ 846 
+ 	`¡r_num£t
+ (
+ ¡r
+ ,()
+ aulÚg
+ );
+ 
+ 847 ()
+ 	`a¡Üe
+ (
+ ¡ack
+ , ++
+ ¥
+ , 
+ 	`¡r_2m܏l
+ (
+ ¡r
+ ));
+ 
+ 852 
+ ®Úg
+  = (
+ ¡»nd
+  - 
+ s
+ ) / (*);
+ 
+ 853 ià(
+ Ën
+  > 
+ ®Úg
+ )
+ 
+ 854 
+ Ën
+  = 
+ ®Úg
+ ;
+ 
+ 855 
+ Ën
+ -- > 0) {
+ 
+ 856 ià((*è> 
+ ¡»nd
+  - 
+ s
+ )
+ 
+ 859 
+ 	`bcÝy
+ (
+ s
+ ,(*)&
+ ­Œ
+ ,(*));
+ 
+ 860 
+ s
+  += (*);
+ 
+ 862 
+ ¡r
+  = 
+ 	`SŒ_Ãw
+ (44,0);
+ 
+ 863 ià(
+ ­Œ
+ )
+ 
+ 864 
+ 	`¡r_£t
+ (
+ ¡r
+ ,
+ ­Œ
+ );
+ 
+ 865 ()
+ 	`a¡Üe
+ (
+ ¡ack
+ , ++
+ ¥
+ , 
+ 	`¡r_2m܏l
+ (
+ ¡r
+ ));
+ 
+ 871 
+ ®Úg
+  = (
+ ¡»nd
+  - 
+ s
+ ) / ();
+ 
+ 872 ià(
+ Ën
+  > 
+ ®Úg
+ )
+ 
+ 873 
+ Ën
+  = 
+ ®Úg
+ ;
+ 
+ 874 ià(
+ checksum
+ ) {
+ 
+ 875 
+ Ën
+ -- > 0) {
+ 
+ 876 
+ 	`bcÝy
+ (
+ s
+ , (*)&
+ aæßt
+ , ());
+ 
+ 877 
+ s
+  += ();
+ 
+ 878 
+ cdoubË
+  +ð
+ aæßt
+ ;
+ 
+ 882 
+ Ën
+ -- > 0) {
+ 
+ 883 
+ 	`bcÝy
+ (
+ s
+ , (*)&
+ aæßt
+ , ());
+ 
+ 884 
+ s
+  += ();
+ 
+ 885 
+ ¡r
+  = 
+ 	`SŒ_Ãw
+ (47, 0);
+ 
+ 886 
+ 	`¡r_num£t
+ (
+ ¡r
+ , ()
+ aæßt
+ );
+ 
+ 887 ()
+ 	`a¡Üe
+ (
+ ¡ack
+ , ++
+ ¥
+ , 
+ 	`¡r_2m܏l
+ (
+ ¡r
+ ));
+ 
+ 893 
+ ®Úg
+  = (
+ ¡»nd
+  - 
+ s
+ ) / ();
+ 
+ 894 ià(
+ Ën
+  > 
+ ®Úg
+ )
+ 
+ 895 
+ Ën
+  = 
+ ®Úg
+ ;
+ 
+ 896 ià(
+ checksum
+ ) {
+ 
+ 897 
+ Ën
+ -- > 0) {
+ 
+ 898 
+ 	`bcÝy
+ (
+ s
+ , (*)&
+ adoubË
+ , ());
+ 
+ 899 
+ s
+  += ();
+ 
+ 900 
+ cdoubË
+  +ð
+ adoubË
+ ;
+ 
+ 904 
+ Ën
+ -- > 0) {
+ 
+ 905 
+ 	`bcÝy
+ (
+ s
+ , (*)&
+ adoubË
+ , ());
+ 
+ 906 
+ s
+  += ();
+ 
+ 907 
+ ¡r
+  = 
+ 	`SŒ_Ãw
+ (48, 0);
+ 
+ 908 
+ 	`¡r_num£t
+ (
+ ¡r
+ , ()
+ adoubË
+ );
+ 
+ 909 ()
+ 	`a¡Üe
+ (
+ ¡ack
+ , ++
+ ¥
+ , 
+ 	`¡r_2m܏l
+ (
+ ¡r
+ ));
+ 
+ 914 
+ ®Úg
+  = (
+ ¡»nd
+  - 
+ s
+ ) * 3 / 4;
+ 
+ 915 
+ ¡r
+  = 
+ 	`SŒ_Ãw
+ (42,
+ ®Úg
+ );
+ 
+ 916 
+ s
+  < 
+ ¡»nd
+  && *s > ' ' && *s < 'a') {
+ 
+ 917 
+ a
+ ,
+ b
+ ,
+ c
+ ,
+ d
+ ;
+ 
+ 918 
+ hunk
+ [4];
+ 
+ 920 
+ hunk
+ [3] = '\0';
+ 
+ 921 
+ Ën
+  = (*
+ s
+ ++ - ' ') & 077;
+ 
+ 922 
+ Ën
+  > 0) {
+ 
+ 923 ià(
+ s
+  < 
+ ¡»nd
+  && *s >= ' ')
+ 
+ 924 
+ a
+  = (*
+ s
+ ++ - ' ') & 077;
+ 
+ 926 
+ a
+  = 0;
+ 
+ 927 ià(
+ s
+  < 
+ ¡»nd
+  && *s >= ' ')
+ 
+ 928 
+ b
+  = (*
+ s
+ ++ - ' ') & 077;
+ 
+ 930 
+ b
+  = 0;
+ 
+ 931 ià(
+ s
+  < 
+ ¡»nd
+  && *s >= ' ')
+ 
+ 932 
+ c
+  = (*
+ s
+ ++ - ' ') & 077;
+ 
+ 934 
+ c
+  = 0;
+ 
+ 935 ià(
+ s
+  < 
+ ¡»nd
+  && *s >= ' ')
+ 
+ 936 
+ d
+  = (*
+ s
+ ++ - ' ') & 077;
+ 
+ 938 
+ d
+  = 0;
+ 
+ 939 
+ hunk
+ [0] = 
+ a
+  << 2 | 
+ b
+  >> 4;
+ 
+ 940 
+ hunk
+ [1] = 
+ b
+  << 4 | 
+ c
+  >> 2;
+ 
+ 941 
+ hunk
+ [2] = 
+ c
+  << 6 | 
+ d
+ ;
+ 
+ 942 
+ 	`¡r_nÿt
+ (
+ ¡r
+ ,
+ hunk
+ , 
+ Ën
+  > 3 ? 3 :†en);
+ 
+ 943 
+ Ën
+  -= 3;
+ 
+ 945 ià(*
+ s
+  == '\n')
+ 
+ 946 
+ s
+ ++;
+ 
+ 947 ià(
+ s
+ [1] == '\n')
+ 
+ 948 
+ s
+  += 2;
+ 
+ 950 ()
+ 	`a¡Üe
+ (
+ ¡ack
+ , ++
+ ¥
+ , 
+ 	`¡r_2m܏l
+ (
+ ¡r
+ ));
+ 
+ 953 ià(
+ checksum
+ ) {
+ 
+ 954 
+ ¡r
+  = 
+ 	`SŒ_Ãw
+ (42,0);
+ 
+ 955 ià(
+ 	`šdex
+ ("fFdD", 
+ d©umty³
+ ) ||
+ 
+ 956 (
+ checksum
+  > 32 && 
+ 	`šdex
+ ("iIlLN", 
+ d©umty³
+ )) ) {
+ 
+ 957 
+ 	`modf
+ ();
+ 
+ 958 
+ ŒoubË
+ ;
+ 
+ 960 
+ adoubË
+  = 1.0;
+ 
+ 961 
+ checksum
+  >= 16) {
+ 
+ 962 
+ checksum
+  -= 16;
+ 
+ 963 
+ adoubË
+  *= 65536.0;
+ 
+ 965 
+ checksum
+  >= 4) {
+ 
+ 966 
+ checksum
+  -= 4;
+ 
+ 967 
+ adoubË
+  *= 16.0;
+ 
+ 969 
+ checksum
+ --)
+ 
+ 970 
+ adoubË
+  *= 2.0;
+ 
+ 971 
+ ®Úg
+  = (1 << 
+ checksum
+ ) - 1;
+ 
+ 972 
+ cdoubË
+  < 0.0)
+ 
+ 973 
+ cdoubË
+  +ð
+ adoubË
+ ;
+ 
+ 974 
+ cdoubË
+  = 
+ 	`modf
+ (cdoubË / 
+ adoubË
+ , &
+ ŒoubË
+ ) *‡double;
+ 
+ 975 
+ 	`¡r_num£t
+ (
+ ¡r
+ ,
+ cdoubË
+ );
+ 
+ 978 ià(
+ checksum
+  < 32) {
+ 
+ 979 
+ ®Úg
+  = (1 << 
+ checksum
+ ) - 1;
+ 
+ 980 
+ culÚg
+  &ð()
+ ®Úg
+ ;
+ 
+ 982 
+ 	`¡r_num£t
+ (
+ ¡r
+ ,()
+ culÚg
+ );
+ 
+ 984 ()
+ 	`a¡Üe
+ (
+ ¡ack
+ , ++
+ ¥
+ , 
+ 	`¡r_2m܏l
+ (
+ ¡r
+ ));
+ 
+ 985 
+ checksum
+  = 0;
+ 
+ 988  
+ ¥
+ ;
+ 
+ 989 
+ 	}
+ }
+ 
+ 992 
+ 	$do_¦iû
+ (
+ ¡ab
+ ,
+ ¡r
+ ,
+ num¬¿y
+ ,
+ lv®
+ ,
+ gimme
+ ,
+ ¬gÏ¡
+ )
+ 
+ 993 
+ STAB
+  *
+ ¡ab
+ ;
+ 
+ 994 
+ STR
+  *
+ ¡r
+ ;
+ 
+ 995 
+ num¬¿y
+ ;
+ 
+ 996 
+ lv®
+ ;
+ 
+ 997 
+ gimme
+ ;
+ 
+ 998 *
+ ¬gÏ¡
+ ;
+ 
+ 1000 
+ STR
+  **
+ ¡
+  = 
+ ¡ack
+ ->
+ ¬y_¬¿y
+ ;
+ 
+ 1001 
+ ¥
+  = 
+ ¬gÏ¡
+ [1];
+ 
+ 1002 
+ max
+  = 
+ ¬gÏ¡
+ [2];
+ 
+ 1003 *
+ tmps
+ ;
+ 
+ 1004 
+ Ën
+ ;
+ 
+ 1005 
+ magic
+  = 0;
+ 
+ 1006 
+ ARRAY
+  *
+ ¬y
+ ;
+ 
+ 1007 
+ HASH
+  *
+ hash
+ ;
+ 
+ 1008 
+ Þd¬yba£
+  = 
+ ¬yba£
+ ;
+ 
+ 1010 ià(
+ num¬¿y
+ ) {
+ 
+ 1011 ià(
+ num¬¿y
+  == 2) {
+ 
+ 1012 
+ ¬y
+  = 
+ ¡ack
+ ;
+ 
+ 1013 
+ ¬y
+ ->
+ ¬y_fžl
+  = 
+ ¬gÏ¡
+ [3];
+ 
+ 1014 
+ ¬yba£
+  -ð
+ max
+  + 1;
+ 
+ 1015 
+ ¡
+ [
+ ¥
+ ] = 
+ ¡r
+ ;
+ 
+ 1016 
+ 	`¡r_num£t
+ (
+ ¡r
+ ,()(
+ ¥
+  - 1));
+ 
+ 1019 
+ ¬y
+  = 
+ 	`¡ab_¬¿y
+ (
+ ¡ab
+ );
+ 
+ 1022 ià(
+ lv®
+ ) {
+ 
+ 1023 ià(
+ ¡ab
+  =ð
+ ’v¡ab
+ )
+ 
+ 1024 
+ magic
+  = 'E';
+ 
+ 1025 ià(
+ ¡ab
+  =ð
+ sig¡ab
+ )
+ 
+ 1026 
+ magic
+  = 'S';
+ 
+ 1027 #ifdeà
+ SOME_DBM
+ 
+ 
+ 1028 ià(
+ 	`¡ab_hash
+ (
+ ¡ab
+ )->
+ tbl_dbm
+ )
+ 
+ 1029 
+ magic
+  = 'D';
+ 
+ 1032 
+ hash
+  = 
+ 	`¡ab_hash
+ (
+ ¡ab
+ );
+ 
+ 1035 ià(
+ gimme
+  =ð
+ G_ARRAY
+ ) {
+ 
+ 1036 ià(
+ num¬¿y
+ ) {
+ 
+ 1037 
+ ¥
+  < 
+ max
+ ) {
+ 
+ 1038 ià(
+ ¡
+ [++
+ ¥
+ ]) {
+ 
+ 1039 
+ ¡
+ [
+ ¥
+ -1] = 
+ 	`aãtch
+ (
+ ¬y
+ ,
+ 
+ 1040 (()
+ 	`¡r_gnum
+ (
+ ¡
+ [
+ ¥
+ ])è- 
+ ¬yba£
+ , 
+ lv®
+ );
+ 
+ 1043 
+ ¡
+ [
+ ¥
+ -1] = &
+ ¡r_undef
+ ;
+ 
+ 1047 
+ ¥
+  < 
+ max
+ ) {
+ 
+ 1048 ià(
+ ¡
+ [++
+ ¥
+ ]) {
+ 
+ 1049 
+ tmps
+  = 
+ 	`¡r_g‘
+ (
+ ¡
+ [
+ ¥
+ ]);
+ 
+ 1050 
+ Ën
+  = 
+ ¡
+ [
+ ¥
+ ]->
+ ¡r_cur
+ ;
+ 
+ 1051 
+ ¡
+ [
+ ¥
+ -1] = 
+ 	`hãtch
+ (
+ hash
+ ,
+ tmps
+ ,
+ Ën
+ , 
+ lv®
+ );
+ 
+ 1052 ià(
+ magic
+ )
+ 
+ 1053 
+ 	`¡r_magic
+ (
+ ¡
+ [
+ ¥
+ -1],
+ ¡ab
+ ,
+ magic
+ ,
+ tmps
+ ,
+ Ën
+ );
+ 
+ 1056 
+ ¡
+ [
+ ¥
+ -1] = &
+ ¡r_undef
+ ;
+ 
+ 1059 
+ ¥
+ --;
+ 
+ 1062 ià(
+ num¬¿y
+ ) {
+ 
+ 1063 ià(
+ ¡
+ [
+ max
+ ])
+ 
+ 1064 
+ ¡
+ [
+ ¥
+ ] = 
+ 	`aãtch
+ (
+ ¬y
+ ,
+ 
+ 1065 (()
+ 	`¡r_gnum
+ (
+ ¡
+ [
+ max
+ ])è- 
+ ¬yba£
+ , 
+ lv®
+ );
+ 
+ 1067 
+ ¡
+ [
+ ¥
+ ] = &
+ ¡r_undef
+ ;
+ 
+ 1070 ià(
+ ¡
+ [
+ max
+ ]) {
+ 
+ 1071 
+ tmps
+  = 
+ 	`¡r_g‘
+ (
+ ¡
+ [
+ max
+ ]);
+ 
+ 1072 
+ Ën
+  = 
+ ¡
+ [
+ max
+ ]->
+ ¡r_cur
+ ;
+ 
+ 1073 
+ ¡
+ [
+ ¥
+ ] = 
+ 	`hãtch
+ (
+ hash
+ ,
+ tmps
+ ,
+ Ën
+ , 
+ lv®
+ );
+ 
+ 1074 ià(
+ magic
+ )
+ 
+ 1075 
+ 	`¡r_magic
+ (
+ ¡
+ [
+ ¥
+ ],
+ ¡ab
+ ,
+ magic
+ ,
+ tmps
+ ,
+ Ën
+ );
+ 
+ 1078 
+ ¡
+ [
+ ¥
+ ] = &
+ ¡r_undef
+ ;
+ 
+ 1081 
+ ¬yba£
+  = 
+ Þd¬yba£
+ ;
+ 
+ 1082  
+ ¥
+ ;
+ 
+ 1083 
+ 	}
+ }
+ 
+ 1086 
+ 	$do_¥liû
+ (
+ ¬y
+ ,
+ gimme
+ ,
+ ¬gÏ¡
+ )
+ 
+ 1087 
+ ARRAY
+  *
+ ¬y
+ ;
+ 
+ 1088 
+ gimme
+ ;
+ 
+ 1089 *
+ ¬gÏ¡
+ ;
+ 
+ 1091 
+ STR
+  **
+ ¡
+  = 
+ ¡ack
+ ->
+ ¬y_¬¿y
+ ;
+ 
+ 1092 
+ ¥
+  = 
+ ¬gÏ¡
+ [1];
+ 
+ 1093 
+ max
+  = 
+ ¬gÏ¡
+ [2] + 1;
+ 
+ 1094 
+ STR
+  **
+ ¤c
+ ;
+ 
+ 1095 
+ STR
+  **
+ d¡
+ ;
+ 
+ 1096 
+ i
+ ;
+ 
+ 1097 
+ off£t
+ ;
+ 
+ 1098 
+ Ëngth
+ ;
+ 
+ 1099 
+ ÃwËn
+ ;
+ 
+ 1100 
+ aá”
+ ;
+ 
+ 1101 
+ diff
+ ;
+ 
+ 1102 
+ STR
+  **
+ tm·ryv®
+ ;
+ 
+ 1104 ià(++
+ ¥
+  < 
+ max
+ ) {
+ 
+ 1105 
+ off£t
+  = (()
+ 	`¡r_gnum
+ (
+ ¡
+ [
+ ¥
+ ])è- 
+ ¬yba£
+ ;
+ 
+ 1106 ià(
+ off£t
+  < 0)
+ 
+ 1107 
+ off£t
+  +ð
+ ¬y
+ ->
+ ¬y_fžl
+  + 1;
+ 
+ 1108 ià(++
+ ¥
+  < 
+ max
+ ) {
+ 
+ 1109 
+ Ëngth
+  = ()
+ 	`¡r_gnum
+ (
+ ¡
+ [
+ ¥
+ ++]);
+ 
+ 1110 ià(
+ Ëngth
+  < 0)
+ 
+ 1111 
+ Ëngth
+  = 0;
+ 
+ 1114 
+ Ëngth
+  = 
+ ¬y
+ ->
+ ¬y_max
+ ;
+ 
+ 1117 
+ off£t
+  = 0;
+ 
+ 1118 
+ Ëngth
+  = 
+ ¬y
+ ->
+ ¬y_max
+ ;
+ 
+ 1120 ià(
+ off£t
+  < 0) {
+ 
+ 1121 
+ Ëngth
+  +ð
+ off£t
+ ;
+ 
+ 1122 
+ off£t
+  = 0;
+ 
+ 1123 ià(
+ Ëngth
+  < 0)
+ 
+ 1124 
+ Ëngth
+  = 0;
+ 
+ 1126 ià(
+ off£t
+  > 
+ ¬y
+ ->
+ ¬y_fžl
+  + 1)
+ 
+ 1127 
+ off£t
+  = 
+ ¬y
+ ->
+ ¬y_fžl
+  + 1;
+ 
+ 1128 
+ aá”
+  = 
+ ¬y
+ ->
+ ¬y_fžl
+  + 1 - (
+ off£t
+  + 
+ Ëngth
+ );
+ 
+ 1129 ià(
+ aá”
+  < 0) {
+ 
+ 1130 
+ Ëngth
+  +ð
+ aá”
+ ;
+ 
+ 1131 
+ aá”
+  = 0;
+ 
+ 1132 ià(!
+ ¬y
+ ->
+ ¬y_®loc
+ ) {
+ 
+ 1133 
+ 	`afžl
+ (
+ ¬y
+ ,0);
+ 
+ 1134 
+ 	`afžl
+ (
+ ¬y
+ ,-1);
+ 
+ 1140 
+ ÃwËn
+  = 
+ max
+  - 
+ ¥
+ ;
+ 
+ 1141 
+ diff
+  = 
+ ÃwËn
+  - 
+ Ëngth
+ ;
+ 
+ 1143 ià(
+ diff
+  < 0) {
+ 
+ 1144 ià(
+ ÃwËn
+ ) {
+ 
+ 1145 
+ 	`New
+ (451, 
+ tm·ryv®
+ , 
+ ÃwËn
+ , 
+ STR
+ *);
+ 
+ 1146 
+ 	`CÝy
+ (
+ ¡
+ +
+ ¥
+ , 
+ tm·ryv®
+ , 
+ ÃwËn
+ , 
+ STR
+ *);
+ 
+ 1149 
+ ¥
+  = 
+ ¬gÏ¡
+ [0] + 1;
+ 
+ 1150 ià(
+ gimme
+  =ð
+ G_ARRAY
+ ) {
+ 
+ 1151 ià(
+ ¥
+  + 
+ Ëngth
+  >ð
+ ¡ack
+ ->
+ ¬y_max
+ ) {
+ 
+ 1152 
+ 	`a¡Üe
+ (
+ ¡ack
+ ,
+ ¥
+  + 
+ Ëngth
+ , 
+ NuΡr
+ );
+ 
+ 1153 
+ ¡
+  = 
+ ¡ack
+ ->
+ ¬y_¬¿y
+ ;
+ 
+ 1155 
+ 	`CÝy
+ (
+ ¬y
+ ->
+ ¬y_¬¿y
+ +
+ off£t
+ , 
+ ¡
+ +
+ ¥
+ , 
+ Ëngth
+ , 
+ STR
+ *);
+ 
+ 1156 ià(
+ ¬y
+ ->
+ ¬y_æags
+  & 
+ ARF_REAL
+ ) {
+ 
+ 1157 
+ i
+  = 
+ Ëngth
+ , 
+ d¡
+  = 
+ ¡
+ +
+ ¥
+ ; i; i--)
+ 
+ 1158 
+ 	`¡r_2m܏l
+ (*
+ d¡
+ ++);
+ 
+ 1160 
+ ¥
+  +ð
+ Ëngth
+  - 1;
+ 
+ 1163 
+ ¡
+ [
+ ¥
+ ] = 
+ ¬y
+ ->
+ ¬y_¬¿y
+ [
+ off£t
+ +
+ Ëngth
+ -1];
+ 
+ 1164 ià(
+ ¬y
+ ->
+ ¬y_æags
+  & 
+ ARF_REAL
+ )
+ 
+ 1165 
+ 	`¡r_2m܏l
+ (
+ ¡
+ [
+ ¥
+ ]);
+ 
+ 1167 
+ ¬y
+ ->
+ ¬y_fžl
+  +ð
+ diff
+ ;
+ 
+ 1171 ià(
+ off£t
+  < 
+ aá”
+ ) {
+ 
+ 1172 ià(
+ off£t
+ ) {
+ 
+ 1173 
+ ¤c
+  = &
+ ¬y
+ ->
+ ¬y_¬¿y
+ [
+ off£t
+ -1];
+ 
+ 1174 
+ d¡
+  = 
+ ¤c
+  - 
+ diff
+ ;
+ 
+ 1175 
+ i
+  = 
+ off£t
+ ; i > 0; i--)
+ 
+ 1176 *
+ d¡
+ -- = *
+ ¤c
+ --;
+ 
+ 1178 
+ 	`Z”o
+ (
+ ¬y
+ ->
+ ¬y_¬¿y
+ , -
+ diff
+ , 
+ STR
+ *);
+ 
+ 1179 
+ ¬y
+ ->
+ ¬y_¬¿y
+  -ð
+ diff
+ ;
+ 
+ 1180 
+ ¬y
+ ->
+ ¬y_max
+  +ð
+ diff
+ ;
+ 
+ 1183 ià(
+ aá”
+ ) {
+ 
+ 1184 
+ ¤c
+  = 
+ ¬y
+ ->
+ ¬y_¬¿y
+  + 
+ off£t
+  + 
+ Ëngth
+ ;
+ 
+ 1185 
+ d¡
+  = 
+ ¤c
+  + 
+ diff
+ ;
+ 
+ 1186 
+ 	`CÝy
+ (
+ ¤c
+ , 
+ d¡
+ , 
+ aá”
+ , 
+ STR
+ *);
+ 
+ 1188 
+ 	`Z”o
+ (&
+ ¬y
+ ->
+ ¬y_¬¿y
+ [¬y->
+ ¬y_fžl
+ +1], -
+ diff
+ , 
+ STR
+ *);
+ 
+ 1191 ià(
+ ÃwËn
+ ) {
+ 
+ 1192 
+ ¤c
+  = 
+ tm·ryv®
+ , 
+ d¡
+  = 
+ ¬y
+ ->
+ ¬y_¬¿y
+  + 
+ off£t
+ ;
+ 
+ 1193 
+ ÃwËn
+ ;‚ewlen--) {
+ 
+ 1194 *
+ d¡
+  = 
+ 	`SŒ_Ãw
+ (46,0);
+ 
+ 1195 
+ 	`¡r_s£t
+ (*
+ d¡
+ ++,*
+ ¤c
+ ++);
+ 
+ 1197 
+ 	`Saãä“
+ (
+ tm·ryv®
+ );
+ 
+ 1201 ià(
+ Ëngth
+ ) {
+ 
+ 1202 
+ 	`New
+ (452, 
+ tm·ryv®
+ , 
+ Ëngth
+ , 
+ STR
+ *);
+ 
+ 1203 
+ 	`CÝy
+ (
+ ¬y
+ ->
+ ¬y_¬¿y
+ +
+ off£t
+ , 
+ tm·ryv®
+ , 
+ Ëngth
+ , 
+ STR
+ *);
+ 
+ 1206 ià(
+ diff
+  > 0) {
+ 
+ 1210 ià(
+ off£t
+  < 
+ aá”
+  && 
+ diff
+  <ð
+ ¬y
+ ->
+ ¬y_¬¿y
+  -‡ry->
+ ¬y_®loc
+ ) {
+ 
+ 1211 ià(
+ off£t
+ ) {
+ 
+ 1212 
+ ¤c
+  = 
+ ¬y
+ ->
+ ¬y_¬¿y
+ ;
+ 
+ 1213 
+ d¡
+  = 
+ ¤c
+  - 
+ diff
+ ;
+ 
+ 1214 
+ 	`CÝy
+ (
+ ¤c
+ , 
+ d¡
+ , 
+ off£t
+ , 
+ STR
+ *);
+ 
+ 1216 
+ ¬y
+ ->
+ ¬y_¬¿y
+  -ð
+ diff
+ ;
+ 
+ 1217 
+ ¬y
+ ->
+ ¬y_max
+  +ð
+ diff
+ ;
+ 
+ 1218 
+ ¬y
+ ->
+ ¬y_fžl
+  +ð
+ diff
+ ;
+ 
+ 1221 ià(
+ ¬y
+ ->
+ ¬y_fžl
+  + 
+ diff
+  >ð¬y->
+ ¬y_max
+ )
+ 
+ 1222 
+ 	`a¡Üe
+ (
+ ¬y
+ ,‡ry->
+ ¬y_fžl
+  + 
+ diff
+ , 
+ NuΡr
+ );
+ 
+ 1224 
+ ¬y
+ ->
+ ¬y_fžl
+  +ð
+ diff
+ ;
+ 
+ 1225 ià(
+ aá”
+ ) {
+ 
+ 1226 
+ d¡
+  = 
+ ¬y
+ ->
+ ¬y_¬¿y
+  +‡ry->
+ ¬y_fžl
+ ;
+ 
+ 1227 
+ ¤c
+  = 
+ d¡
+  - 
+ diff
+ ;
+ 
+ 1228 
+ i
+  = 
+ aá”
+ ; i; i--) {
+ 
+ 1229 ià(*
+ d¡
+ )
+ 
+ 1230 
+ 	`¡r_ä“
+ (*
+ d¡
+ );
+ 
+ 1231 *
+ d¡
+ -- = *
+ ¤c
+ ;
+ 
+ 1232 *
+ ¤c
+ -- = 
+ NuΡr
+ ;
+ 
+ 1238 
+ ¤c
+  = 
+ ¡
+ +
+ ¥
+ , 
+ d¡
+  = 
+ ¬y
+ ->
+ ¬y_¬¿y
+  + 
+ off£t
+ ; 
+ ÃwËn
+ ;‚ewlen--) {
+ 
+ 1239 *
+ d¡
+  = 
+ 	`SŒ_Ãw
+ (46,0);
+ 
+ 1240 
+ 	`¡r_s£t
+ (*
+ d¡
+ ++,*
+ ¤c
+ ++);
+ 
+ 1242 
+ ¥
+  = 
+ ¬gÏ¡
+ [0] + 1;
+ 
+ 1243 ià(
+ gimme
+  =ð
+ G_ARRAY
+ ) {
+ 
+ 1244 ià(
+ Ëngth
+ ) {
+ 
+ 1245 
+ 	`CÝy
+ (
+ tm·ryv®
+ , 
+ ¡
+ +
+ ¥
+ , 
+ Ëngth
+ , 
+ STR
+ *);
+ 
+ 1246 ià(
+ ¬y
+ ->
+ ¬y_æags
+  & 
+ ARF_REAL
+ ) {
+ 
+ 1247 
+ i
+  = 
+ Ëngth
+ , 
+ d¡
+  = 
+ ¡
+ +
+ ¥
+ ; i; i--)
+ 
+ 1248 
+ 	`¡r_2m܏l
+ (*
+ d¡
+ ++);
+ 
+ 1250 
+ 	`Saãä“
+ (
+ tm·ryv®
+ );
+ 
+ 1252 
+ ¥
+  +ð
+ Ëngth
+  - 1;
+ 
+ 1254 ià(
+ Ëngth
+ ) {
+ 
+ 1255 
+ ¡
+ [
+ ¥
+ ] = 
+ tm·ryv®
+ [
+ Ëngth
+ -1];
+ 
+ 1256 ià(
+ ¬y
+ ->
+ ¬y_æags
+  & 
+ ARF_REAL
+ )
+ 
+ 1257 
+ 	`¡r_2m܏l
+ (
+ ¡
+ [
+ ¥
+ ]);
+ 
+ 1258 
+ 	`Saãä“
+ (
+ tm·ryv®
+ );
+ 
+ 1261 
+ ¡
+ [
+ ¥
+ ] = &
+ ¡r_undef
+ ;
+ 
+ 1263  
+ ¥
+ ;
+ 
+ 1264 
+ 	}
+ }
+ 
+ 1267 
+ 	$do_g»p
+ (
+ ¬g
+ ,
+ ¡r
+ ,
+ gimme
+ ,
+ ¬gÏ¡
+ )
+ 
+ 1268 
+ ARG
+  *
+ ¬g
+ ;
+ 
+ 1269 
+ STR
+  *
+ ¡r
+ ;
+ 
+ 1270 
+ gimme
+ ;
+ 
+ 1271 *
+ ¬gÏ¡
+ ;
+ 
+ 1273 
+ STR
+  **
+ ¡
+  = 
+ ¡ack
+ ->
+ ¬y_¬¿y
+ ;
+ 
+ 1274 
+ d¡
+  = 
+ ¬gÏ¡
+ [1];
+ 
+ 1275 
+ ¤c
+  = 
+ d¡
+  + 1;
+ 
+ 1276 
+ ¥
+  = 
+ ¬gÏ¡
+ [2];
+ 
+ 1277 
+ i
+  = 
+ ¥
+  - 
+ ¬gÏ¡
+ [1];
+ 
+ 1278 
+ Þd§ve
+  = 
+ §ve¡ack
+ ->
+ ¬y_fžl
+ ;
+ 
+ 1279 
+ SPAT
+  *
+ Þd¥©
+  = 
+ cur¥©
+ ;
+ 
+ 1280 
+ Þdtmps_ba£
+  = 
+ tmps_ba£
+ ;
+ 
+ 1282 
+ 	`§ve¥Œ
+ (&
+ 	`¡ab_v®
+ (
+ def¡ab
+ ));
+ 
+ 1283 
+ tmps_ba£
+  = 
+ tmps_max
+ ;
+ 
+ 1284 ià((
+ ¬g
+ [1].
+ ¬g_ty³
+  & 
+ A_MASK
+ è!ð
+ A_EXPR
+ ) {
+ 
+ 1285 
+ ¬g
+ [1].
+ ¬g_ty³
+  &ð
+ A_MASK
+ ;
+ 
+ 1286 
+ 	`dehoi¡
+ (
+ ¬g
+ ,1);
+ 
+ 1287 
+ ¬g
+ [1].
+ ¬g_ty³
+  |ð
+ A_DONT
+ ;
+ 
+ 1289 
+ ¬g
+  =‡rg[1].
+ ¬g_±r
+ .
+ ¬g_¬g
+ ;
+ 
+ 1290 
+ i
+ -- > 0) {
+ 
+ 1291 ià(
+ ¡
+ [
+ ¤c
+ ])
+ 
+ 1292 
+ 	`¡ab_v®
+ (
+ def¡ab
+ èð
+ ¡
+ [
+ ¤c
+ ];
+ 
+ 1294 
+ 	`¡ab_v®
+ (
+ def¡ab
+ èð
+ 	`¡r_m܏l
+ (&
+ ¡r_undef
+ );
+ 
+ 1295 ()
+ 	`ev®
+ (
+ ¬g
+ ,
+ G_SCALAR
+ ,
+ ¥
+ );
+ 
+ 1296 
+ ¡
+  = 
+ ¡ack
+ ->
+ ¬y_¬¿y
+ ;
+ 
+ 1297 ià(
+ 	`¡r_Œue
+ (
+ ¡
+ [
+ ¥
+ +1]))
+ 
+ 1298 
+ ¡
+ [
+ d¡
+ ++] = st[
+ ¤c
+ ];
+ 
+ 1299 
+ ¤c
+ ++;
+ 
+ 1300 
+ cur¥©
+  = 
+ Þd¥©
+ ;
+ 
+ 1302 
+ 	`»¡Ü–i¡
+ (
+ Þd§ve
+ );
+ 
+ 1303 
+ tmps_ba£
+  = 
+ Þdtmps_ba£
+ ;
+ 
+ 1304 ià(
+ gimme
+  !ð
+ G_ARRAY
+ ) {
+ 
+ 1305 
+ 	`¡r_num£t
+ (
+ ¡r
+ ,()(
+ d¡
+  - 
+ ¬gÏ¡
+ [1]));
+ 
+ 1306 
+ 	`STABSET
+ (
+ ¡r
+ );
+ 
+ 1307 
+ ¡
+ [
+ ¬gÏ¡
+ [0]+1] = 
+ ¡r
+ ;
+ 
+ 1308  
+ ¬gÏ¡
+ [0]+1;
+ 
+ 1310  
+ ¬gÏ¡
+ [0] + (
+ d¡
+  -‡rglast[1]);
+ 
+ 1311 
+ 	}
+ }
+ 
+ 1314 
+ 	$do_»v”£
+ (
+ ¬gÏ¡
+ )
+ 
+ 1315 *
+ ¬gÏ¡
+ ;
+ 
+ 1317 
+ STR
+  **
+ ¡
+  = 
+ ¡ack
+ ->
+ ¬y_¬¿y
+ ;
+ 
+ 1318 
+ STR
+  **
+ up
+  = &
+ ¡
+ [
+ ¬gÏ¡
+ [1]];
+ 
+ 1319 
+ STR
+  **
+ down
+  = &
+ ¡
+ [
+ ¬gÏ¡
+ [2]];
+ 
+ 1320 
+ i
+  = 
+ ¬gÏ¡
+ [2] -‡rglast[1];
+ 
+ 1322 
+ i
+ -- > 0) {
+ 
+ 1323 *
+ up
+ ++ = *
+ down
+ ;
+ 
+ 1324 ià(
+ i
+ -- > 0)
+ 
+ 1325 *
+ down
+ -- = *
+ up
+ ;
+ 
+ 1327 
+ i
+  = 
+ ¬gÏ¡
+ [2] -‡rglast[1];
+ 
+ 1328 
+ 	`CÝy
+ (
+ down
+ +1,
+ up
+ ,
+ i
+ /2,
+ STR
+ *);
+ 
+ 1329  
+ ¬gÏ¡
+ [2] - 1;
+ 
+ 1330 
+ 	}
+ }
+ 
+ 1333 
+ 	$do_¤ev”£
+ (
+ ¡r
+ ,
+ ¬gÏ¡
+ )
+ 
+ 1334 
+ STR
+  *
+ ¡r
+ ;
+ 
+ 1335 *
+ ¬gÏ¡
+ ;
+ 
+ 1337 
+ STR
+  **
+ ¡
+  = 
+ ¡ack
+ ->
+ ¬y_¬¿y
+ ;
+ 
+ 1338 *
+ up
+ ;
+ 
+ 1339 *
+ down
+ ;
+ 
+ 1340 
+ tmp
+ ;
+ 
+ 1342 
+ 	`¡r_s£t
+ (
+ ¡r
+ ,
+ ¡
+ [
+ ¬gÏ¡
+ [2]]);
+ 
+ 1343 
+ up
+  = 
+ 	`¡r_g‘
+ (
+ ¡r
+ );
+ 
+ 1344 ià(
+ ¡r
+ ->
+ ¡r_cur
+  > 1) {
+ 
+ 1345 
+ down
+  = 
+ ¡r
+ ->
+ ¡r_±r
+  + sŒ->
+ ¡r_cur
+  - 1;
+ 
+ 1346 
+ down
+  > 
+ up
+ ) {
+ 
+ 1347 
+ tmp
+  = *
+ up
+ ;
+ 
+ 1348 *
+ up
+ ++ = *
+ down
+ ;
+ 
+ 1349 *
+ down
+ -- = 
+ tmp
+ ;
+ 
+ 1352 
+ 	`STABSET
+ (
+ ¡r
+ );
+ 
+ 1353 
+ ¡
+ [
+ ¬gÏ¡
+ [0]+1] = 
+ ¡r
+ ;
+ 
+ 1354  
+ ¬gÏ¡
+ [0]+1;
+ 
+ 1355 
+ 	}
+ }
+ 
+ 1357 
+ CMD
+  *
+ 	gsÜtcmd
+ ;
+ 
+ 1358 
+ HASH
+  *
+ 	gsÜt¡ash
+  = 
+ NuÎ
+ (HASH*);
+ 
+ 1359 
+ STAB
+  *
+ 	gfœ¡¡ab
+  = 
+ NuΡab
+ ;
+ 
+ 1360 
+ STAB
+  *
+ 	g£cÚd¡ab
+  = 
+ NuΡab
+ ;
+ 
+ 1363 
+ 	$do_sÜt
+ (
+ ¡r
+ ,
+ ¡ab
+ ,
+ gimme
+ ,
+ ¬gÏ¡
+ )
+ 
+ 1364 
+ STR
+  *
+ ¡r
+ ;
+ 
+ 1365 
+ STAB
+  *
+ ¡ab
+ ;
+ 
+ 1366 
+ gimme
+ ;
+ 
+ 1367 *
+ ¬gÏ¡
+ ;
+ 
+ 1369 
+ STR
+  **
+ ¡
+  = 
+ ¡ack
+ ->
+ ¬y_¬¿y
+ ;
+ 
+ 1370 
+ ¥
+  = 
+ ¬gÏ¡
+ [1];
+ 
+ 1371 
+ STR
+  **
+ up
+ ;
+ 
+ 1372 
+ max
+  = 
+ ¬gÏ¡
+ [2] - 
+ ¥
+ ;
+ 
+ 1373 
+ i
+ ;
+ 
+ 1374 
+ 	`sÜtcmp
+ ();
+ 
+ 1375 
+ 	`sÜtsub
+ ();
+ 
+ 1376 
+ STR
+  *
+ Þdfœ¡
+ ;
+ 
+ 1377 
+ STR
+  *
+ Þd£cÚd
+ ;
+ 
+ 1378 
+ ARRAY
+  *
+ Þd¡ack
+ ;
+ 
+ 1379 
+ ARRAY
+  *
+ sÜt¡ack
+  = 
+ 	`NuÎ
+ (ARRAY*);
+ 
+ 1381 ià(
+ gimme
+  !ð
+ G_ARRAY
+ ) {
+ 
+ 1382 
+ 	`¡r_s£t
+ (
+ ¡r
+ ,&
+ ¡r_undef
+ );
+ 
+ 1383 
+ 	`STABSET
+ (
+ ¡r
+ );
+ 
+ 1384 
+ ¡
+ [
+ ¥
+ ] = 
+ ¡r
+ ;
+ 
+ 1385  
+ ¥
+ ;
+ 
+ 1387 
+ up
+  = &
+ ¡
+ [
+ ¥
+ ];
+ 
+ 1388 
+ ¡
+  +ð
+ ¥
+ ;
+ 
+ 1389 
+ i
+  = 1; i <ð
+ max
+ ; i++) {
+ 
+ 1390 ià(*
+ up
+  = 
+ ¡
+ [
+ i
+ ]) {
+ 
+ 1391 ià(!(*
+ up
+ )->
+ ¡r_pok
+ )
+ 
+ 1392 ()
+ 	`¡r_2±r
+ (*
+ up
+ );
+ 
+ 1394 (*
+ up
+ )->
+ ¡r_pok
+  &ð~
+ SP_TEMP
+ ;
+ 
+ 1395 
+ up
+ ++;
+ 
+ 1398 
+ ¡
+  -ð
+ ¥
+ ;
+ 
+ 1399 
+ max
+  = 
+ up
+  - &
+ ¡
+ [
+ ¥
+ ];
+ 
+ 1400 
+ ¥
+ --;
+ 
+ 1401 ià(
+ max
+  > 1) {
+ 
+ 1402 ià(
+ ¡ab
+ ) {
+ 
+ 1403 
+ Þdtmps_ba£
+  = 
+ tmps_ba£
+ ;
+ 
+ 1405 ià(!
+ 	`¡ab_sub
+ (
+ ¡ab
+ è|| !(
+ sÜtcmd
+  = sb_sub(¡ab)->
+ cmd
+ ))
+ 
+ 1406 
+ 	`çl
+ ("Undefšed subroutš\"%s\" iÀsÜt", 
+ 	`¡ab_Çme
+ (
+ ¡ab
+ ));
+ 
+ 1407 ià(!
+ sÜt¡ack
+ ) {
+ 
+ 1408 
+ sÜt¡ack
+  = 
+ 	`ªew
+ (
+ NuΡab
+ );
+ 
+ 1409 
+ 	`a¡Üe
+ (
+ sÜt¡ack
+ , 0, 
+ NuΡr
+ );
+ 
+ 1410 
+ 	`aþ—r
+ (
+ sÜt¡ack
+ );
+ 
+ 1411 
+ sÜt¡ack
+ ->
+ ¬y_æags
+  = 0;
+ 
+ 1413 
+ Þd¡ack
+  = 
+ ¡ack
+ ;
+ 
+ 1414 
+ ¡ack
+  = 
+ sÜt¡ack
+ ;
+ 
+ 1415 
+ tmps_ba£
+  = 
+ tmps_max
+ ;
+ 
+ 1416 ià(
+ sÜt¡ash
+  !ð
+ 	`¡ab_¡ash
+ (
+ ¡ab
+ )) {
+ 
+ 1417 
+ fœ¡¡ab
+  = 
+ 	`¡ab’t
+ ("a",
+ TRUE
+ );
+ 
+ 1418 
+ £cÚd¡ab
+  = 
+ 	`¡ab’t
+ ("b",
+ TRUE
+ );
+ 
+ 1419 
+ sÜt¡ash
+  = 
+ 	`¡ab_¡ash
+ (
+ ¡ab
+ );
+ 
+ 1421 
+ Þdfœ¡
+  = 
+ 	`¡ab_v®
+ (
+ fœ¡¡ab
+ );
+ 
+ 1422 
+ Þd£cÚd
+  = 
+ 	`¡ab_v®
+ (
+ £cÚd¡ab
+ );
+ 
+ 1423 #iâdeà
+ lšt
+ 
+ 
+ 1424 
+ 	`qsÜt
+ ((*)(
+ ¡
+ +
+ ¥
+ +1),
+ max
+ ,(
+ STR
+ *),
+ sÜtsub
+ );
+ 
+ 1426 
+ 	`qsÜt
+ (
+ NuÎch
+ ,
+ max
+ ,(
+ STR
+ *),
+ sÜtsub
+ );
+ 
+ 1428 
+ 	`¡ab_v®
+ (
+ fœ¡¡ab
+ èð
+ Þdfœ¡
+ ;
+ 
+ 1429 
+ 	`¡ab_v®
+ (
+ £cÚd¡ab
+ èð
+ Þd£cÚd
+ ;
+ 
+ 1430 
+ tmps_ba£
+  = 
+ Þdtmps_ba£
+ ;
+ 
+ 1431 
+ ¡ack
+  = 
+ Þd¡ack
+ ;
+ 
+ 1433 #iâdeà
+ lšt
+ 
+ 
+ 1435 
+ 	`qsÜt
+ ((*)(
+ ¡
+ +
+ ¥
+ +1),
+ max
+ ,(
+ STR
+ *),
+ sÜtcmp
+ );
+ 
+ 1438  
+ ¥
+ +
+ max
+ ;
+ 
+ 1439 
+ 	}
+ }
+ 
+ 1442 
+ 	$sÜtsub
+ (
+ ¡r1
+ ,
+ ¡r2
+ )
+ 
+ 1443 
+ STR
+  **
+ ¡r1
+ ;
+ 
+ 1444 
+ STR
+  **
+ ¡r2
+ ;
+ 
+ 1446 
+ 	`¡ab_v®
+ (
+ fœ¡¡ab
+ èð*
+ ¡r1
+ ;
+ 
+ 1447 
+ 	`¡ab_v®
+ (
+ £cÚd¡ab
+ èð*
+ ¡r2
+ ;
+ 
+ 1448 
+ 	`cmd_exec
+ (
+ sÜtcmd
+ ,
+ G_SCALAR
+ ,-1);
+ 
+ 1449  ()
+ 	`¡r_gnum
+ (*
+ ¡ack
+ ->
+ ¬y_¬¿y
+ );
+ 
+ 1450 
+ 	}
+ }
+ 
+ 1452 
+ 	$sÜtcmp
+ (
+ ¡½1
+ ,
+ ¡½2
+ )
+ 
+ 1453 
+ STR
+  **
+ ¡½1
+ ;
+ 
+ 1454 
+ STR
+  **
+ ¡½2
+ ;
+ 
+ 1456 
+ STR
+  *
+ ¡r1
+  = *
+ ¡½1
+ ;
+ 
+ 1457 
+ STR
+  *
+ ¡r2
+  = *
+ ¡½2
+ ;
+ 
+ 1458 
+ »tv®
+ ;
+ 
+ 1460 ià(
+ ¡r1
+ ->
+ ¡r_cur
+  < 
+ ¡r2
+ ->str_cur) {
+ 
+ 1461 ià(
+ »tv®
+  = 
+ 	`memcmp
+ (
+ ¡r1
+ ->
+ ¡r_±r
+ , 
+ ¡r2
+ ->¡r_±r, sŒ1->
+ ¡r_cur
+ ))
+ 
+ 1462  
+ »tv®
+ ;
+ 
+ 1466 ià(
+ »tv®
+  = 
+ 	`memcmp
+ (
+ ¡r1
+ ->
+ ¡r_±r
+ , 
+ ¡r2
+ ->¡r_±r, sŒ2->
+ ¡r_cur
+ ))
+ 
+ 1467  
+ »tv®
+ ;
+ 
+ 1468 ià(
+ ¡r1
+ ->
+ ¡r_cur
+  =ð
+ ¡r2
+ ->str_cur)
+ 
+ 1472 
+ 	}
+ }
+ 
+ 1475 
+ 	$do_¿nge
+ (
+ gimme
+ ,
+ ¬gÏ¡
+ )
+ 
+ 1476 
+ gimme
+ ;
+ 
+ 1477 *
+ ¬gÏ¡
+ ;
+ 
+ 1479 
+ STR
+  **
+ ¡
+  = 
+ ¡ack
+ ->
+ ¬y_¬¿y
+ ;
+ 
+ 1480 
+ ¥
+  = 
+ ¬gÏ¡
+ [0];
+ 
+ 1481 
+ i
+ ;
+ 
+ 1482 
+ ARRAY
+  *
+ ¬y
+  = 
+ ¡ack
+ ;
+ 
+ 1483 
+ STR
+  *
+ ¡r
+ ;
+ 
+ 1484 
+ max
+ ;
+ 
+ 1486 ià(
+ gimme
+  !ð
+ G_ARRAY
+ )
+ 
+ 1487 
+ 	`çl
+ ("panic: do_range");
+ 
+ 1489 ià(
+ ¡
+ [
+ ¥
+ +1]->
+ ¡r_nok
+  || !¡[¥+1]->
+ ¡r_pok
+  ||
+ 
+ 1490 (
+ 	`looks_like_numb”
+ (
+ ¡
+ [
+ ¥
+ +1]è&& *¡[¥+1]->
+ ¡r_±r
+  != '0') ) {
+ 
+ 1491 
+ i
+  = ()
+ 	`¡r_gnum
+ (
+ ¡
+ [
+ ¥
+ +1]);
+ 
+ 1492 
+ max
+  = ()
+ 	`¡r_gnum
+ (
+ ¡
+ [
+ ¥
+ +2]);
+ 
+ 1493 
+ i
+  <ð
+ max
+ ) {
+ 
+ 1494 ()
+ 	`a¡Üe
+ (
+ ¬y
+ , ++
+ ¥
+ , 
+ ¡r
+  = 
+ 	`¡r_m܏l
+ (&
+ ¡r_no
+ ));
+ 
+ 1495 
+ 	`¡r_num£t
+ (
+ ¡r
+ ,()
+ i
+ ++);
+ 
+ 1499 
+ STR
+  *
+ fš®
+  = 
+ 	`¡r_m܏l
+ (
+ ¡
+ [
+ ¥
+ +2]);
+ 
+ 1500 *
+ tmps
+  = 
+ 	`¡r_g‘
+ (
+ fš®
+ );
+ 
+ 1502 
+ ¡r
+  = 
+ 	`¡r_m܏l
+ (
+ ¡
+ [
+ ¥
+ +1]);
+ 
+ 1503 !
+ ¡r
+ ->
+ ¡r_nok
+  && sŒ->
+ ¡r_cur
+  <ð
+ fš®
+ ->str_cur &&
+ 
+ 1504 
+ 	`¡rNE
+ (
+ ¡r
+ ->
+ ¡r_±r
+ ,
+ tmps
+ ) ) {
+ 
+ 1505 ()
+ 	`a¡Üe
+ (
+ ¬y
+ , ++
+ ¥
+ , 
+ ¡r
+ );
+ 
+ 1506 
+ ¡r
+  = 
+ 	`¡r_2m܏l
+ (
+ 	`¡r_smake
+ (str));
+ 
+ 1507 
+ 	`¡r_šc
+ (
+ ¡r
+ );
+ 
+ 1509 ià(
+ 	`¡rEQ
+ (
+ ¡r
+ ->
+ ¡r_±r
+ ,
+ tmps
+ ))
+ 
+ 1510 ()
+ 	`a¡Üe
+ (
+ ¬y
+ , ++
+ ¥
+ , 
+ ¡r
+ );
+ 
+ 1512  
+ ¥
+ ;
+ 
+ 1513 
+ 	}
+ }
+ 
+ 1516 
+ 	$do_»³©¬y
+ (
+ ¬gÏ¡
+ )
+ 
+ 1517 *
+ ¬gÏ¡
+ ;
+ 
+ 1519 
+ STR
+  **
+ ¡
+  = 
+ ¡ack
+ ->
+ ¬y_¬¿y
+ ;
+ 
+ 1520 
+ ¥
+  = 
+ ¬gÏ¡
+ [0];
+ 
+ 1521 
+ ™ems
+  = 
+ ¬gÏ¡
+ [1] - 
+ ¥
+ ;
+ 
+ 1522 
+ couÁ
+  = (è
+ 	`¡r_gnum
+ (
+ ¡
+ [
+ ¬gÏ¡
+ [2]]);
+ 
+ 1523 
+ ARRAY
+  *
+ ¬y
+  = 
+ ¡ack
+ ;
+ 
+ 1524 
+ i
+ ;
+ 
+ 1525 
+ max
+ ;
+ 
+ 1527 
+ max
+  = 
+ ™ems
+  * 
+ couÁ
+ ;
+ 
+ 1528 ià(
+ max
+  > 0 && 
+ ¥
+  + max > 
+ ¡ack
+ ->
+ ¬y_max
+ ) {
+ 
+ 1529 
+ 	`a¡Üe
+ (
+ ¡ack
+ , 
+ ¥
+  + 
+ max
+ , 
+ NuΡr
+ );
+ 
+ 1530 
+ ¡
+  = 
+ ¡ack
+ ->
+ ¬y_¬¿y
+ ;
+ 
+ 1532 ià(
+ couÁ
+  > 1) {
+ 
+ 1533 
+ i
+  = 
+ ¬gÏ¡
+ [1]; i > 
+ ¥
+ ; i--)
+ 
+ 1534 
+ ¡
+ [
+ i
+ ]->
+ ¡r_pok
+  &ð~
+ SP_TEMP
+ ;
+ 
+ 1535 
+ 	`»³©ýy
+ ((*)&
+ ¡
+ [
+ ¬gÏ¡
+ [1]+1], (*)&¡[
+ ¥
+ +1],
+ 
+ 1536 
+ ™ems
+  * (
+ STR
+ *), 
+ couÁ
+ );
+ 
+ 1538 
+ ¥
+  +ð
+ max
+ ;
+ 
+ 1540  
+ ¥
+ ;
+ 
+ 1541 
+ 	}
+ }
+ 
+ 1544 
+ 	$do_ÿΔ
+ (
+ ¬g
+ ,
+ max¬g
+ ,
+ gimme
+ ,
+ ¬gÏ¡
+ )
+ 
+ 1545 
+ ARG
+  *
+ ¬g
+ ;
+ 
+ 1546 
+ max¬g
+ ;
+ 
+ 1547 
+ gimme
+ ;
+ 
+ 1548 *
+ ¬gÏ¡
+ ;
+ 
+ 1550 
+ STR
+  **
+ ¡
+  = 
+ ¡ack
+ ->
+ ¬y_¬¿y
+ ;
+ 
+ 1551 
+ ¥
+  = 
+ ¬gÏ¡
+ [0];
+ 
+ 1552 
+ CSV
+  *
+ csv
+  = 
+ curcsv
+ ;
+ 
+ 1553 
+ STR
+  *
+ ¡r
+ ;
+ 
+ 1554 
+ couÁ
+  = 0;
+ 
+ 1556 ià(!
+ csv
+ )
+ 
+ 1557 
+ 	`çl
+ ("There is‚o caller");
+ 
+ 1558 ià(
+ max¬g
+ )
+ 
+ 1559 
+ couÁ
+  = (è
+ 	`¡r_gnum
+ (
+ ¡
+ [
+ ¥
+ +1]);
+ 
+ 1561 ià(!
+ csv
+ )
+ 
+ 1562  
+ ¥
+ ;
+ 
+ 1563 ià(
+ DBsub
+  && 
+ csv
+ ->
+ curcsv
+  && csv->curcsv->
+ sub
+  =ð
+ 	`¡ab_sub
+ (DBsub))
+ 
+ 1564 
+ couÁ
+ ++;
+ 
+ 1565 ià(!
+ couÁ
+ --)
+ 
+ 1567 
+ csv
+  = csv->
+ curcsv
+ ;
+ 
+ 1569 ià(
+ gimme
+  !ð
+ G_ARRAY
+ ) {
+ 
+ 1570 
+ STR
+  *
+ ¡r
+  = 
+ ¬g
+ ->
+ ¬g_±r
+ .
+ ¬g_¡r
+ ;
+ 
+ 1571 
+ 	`¡r_£t
+ (
+ ¡r
+ ,
+ csv
+ ->
+ curcmd
+ ->
+ c_¡ash
+ ->
+ tbl_Çme
+ );
+ 
+ 1572 
+ 	`STABSET
+ (
+ ¡r
+ );
+ 
+ 1573 
+ ¡
+ [++
+ ¥
+ ] = 
+ ¡r
+ ;
+ 
+ 1574  
+ ¥
+ ;
+ 
+ 1577 #iâdeà
+ lšt
+ 
+ 
+ 1578 ()
+ 	`a¡Üe
+ (
+ ¡ack
+ ,++
+ ¥
+ ,
+ 
+ 1579 
+ 	`¡r_2m܏l
+ (
+ 	`¡r_make
+ (
+ csv
+ ->
+ curcmd
+ ->
+ c_¡ash
+ ->
+ tbl_Çme
+ ,0)) );
+ 
+ 1580 ()
+ 	`a¡Üe
+ (
+ ¡ack
+ ,++
+ ¥
+ ,
+ 
+ 1581 
+ 	`¡r_2m܏l
+ (
+ 	`¡r_make
+ (
+ 	`¡ab_v®
+ (
+ csv
+ ->
+ curcmd
+ ->
+ c_fže¡ab
+ )->
+ ¡r_±r
+ ,0)) );
+ 
+ 1582 ()
+ 	`a¡Üe
+ (
+ ¡ack
+ ,++
+ ¥
+ ,
+ 
+ 1583 
+ 	`¡r_2m܏l
+ (
+ 	`¡r_nmake
+ (()
+ csv
+ ->
+ curcmd
+ ->
+ c_lše
+ )) );
+ 
+ 1584 ià(!
+ max¬g
+ )
+ 
+ 1585  
+ ¥
+ ;
+ 
+ 1586 
+ ¡r
+  = 
+ 	`SŒ_Ãw
+ (49,0);
+ 
+ 1587 
+ 	`¡ab_fuÎÇme
+ (
+ ¡r
+ , 
+ csv
+ ->
+ ¡ab
+ );
+ 
+ 1588 ()
+ 	`a¡Üe
+ (
+ ¡ack
+ ,++
+ ¥
+ , 
+ 	`¡r_2m܏l
+ (
+ ¡r
+ ));
+ 
+ 1589 ()
+ 	`a¡Üe
+ (
+ ¡ack
+ ,++
+ ¥
+ ,
+ 
+ 1590 
+ 	`¡r_2m܏l
+ (
+ 	`¡r_nmake
+ (()
+ csv
+ ->
+ ha§rgs
+ )) );
+ 
+ 1591 ()
+ 	`a¡Üe
+ (
+ ¡ack
+ ,++
+ ¥
+ ,
+ 
+ 1592 
+ 	`¡r_2m܏l
+ (
+ 	`¡r_nmake
+ (()
+ csv
+ ->
+ wª¼ay
+ )) );
+ 
+ 1593 ià(
+ csv
+ ->
+ ha§rgs
+ ) {
+ 
+ 1594 
+ ARRAY
+  *
+ ¬y
+  = 
+ csv
+ ->
+ ¬g¬¿y
+ ;
+ 
+ 1596 ià(
+ db¬gs
+ ->
+ ¬y_max
+  < 
+ ¬y
+ ->
+ ¬y_fžl
+ )
+ 
+ 1597 
+ 	`a¡Üe
+ (
+ db¬gs
+ ,
+ ¬y
+ ->
+ ¬y_fžl
+ ,
+ NuΡr
+ );
+ 
+ 1598 
+ 	`CÝy
+ (
+ ¬y
+ ->
+ ¬y_¬¿y
+ , 
+ db¬gs
+ ->¬y_¬¿y,‡ry->
+ ¬y_fžl
+ +1, 
+ STR
+ *);
+ 
+ 1599 
+ db¬gs
+ ->
+ ¬y_fžl
+  = 
+ ¬y
+ ->ary_fill;
+ 
+ 1602 ()
+ 	`a¡Üe
+ (
+ ¡ack
+ ,++
+ ¥
+ ,
+ 
+ 1603 
+ 	`¡r_2m܏l
+ (
+ 	`¡r_make
+ ("",0)));
+ 
+ 1605  
+ ¥
+ ;
+ 
+ 1606 
+ 	}
+ }
+ 
+ 1609 
+ 	$do_tms
+ (
+ ¡r
+ ,
+ gimme
+ ,
+ ¬gÏ¡
+ )
+ 
+ 1610 
+ STR
+  *
+ ¡r
+ ;
+ 
+ 1611 
+ gimme
+ ;
+ 
+ 1612 *
+ ¬gÏ¡
+ ;
+ 
+ 1614 #ifdeà
+ MSDOS
+ 
+ 
+ 1617 
+ STR
+  **
+ ¡
+  = 
+ ¡ack
+ ->
+ ¬y_¬¿y
+ ;
+ 
+ 1618 
+ ¥
+  = 
+ ¬gÏ¡
+ [0];
+ 
+ 1620 ià(
+ gimme
+  !ð
+ G_ARRAY
+ ) {
+ 
+ 1621 
+ 	`¡r_s£t
+ (
+ ¡r
+ ,&
+ ¡r_undef
+ );
+ 
+ 1622 
+ 	`STABSET
+ (
+ ¡r
+ );
+ 
+ 1623 
+ ¡
+ [++
+ ¥
+ ] = 
+ ¡r
+ ;
+ 
+ 1624  
+ ¥
+ ;
+ 
+ 1626 ()
+ 	`times
+ (&
+ timesbuf
+ );
+ 
+ 1628 #iâdeà
+ HZ
+ 
+ 
+ 1629 
+ 	#HZ
+  60
+ 
+ 	)
+ 
+ 1632 #iâdeà
+ lšt
+ 
+ 
+ 1633 ()
+ 	`a¡Üe
+ (
+ ¡ack
+ ,++
+ ¥
+ ,
+ 
+ 1634 
+ 	`¡r_2m܏l
+ (
+ 	`¡r_nmake
+ ((()
+ timesbuf
+ .
+ tms_utime
+ )/
+ HZ
+ )));
+ 
+ 1635 ()
+ 	`a¡Üe
+ (
+ ¡ack
+ ,++
+ ¥
+ ,
+ 
+ 1636 
+ 	`¡r_2m܏l
+ (
+ 	`¡r_nmake
+ ((()
+ timesbuf
+ .
+ tms_¡ime
+ )/
+ HZ
+ )));
+ 
+ 1637 ()
+ 	`a¡Üe
+ (
+ ¡ack
+ ,++
+ ¥
+ ,
+ 
+ 1638 
+ 	`¡r_2m܏l
+ (
+ 	`¡r_nmake
+ ((()
+ timesbuf
+ .
+ tms_cutime
+ )/
+ HZ
+ )));
+ 
+ 1639 ()
+ 	`a¡Üe
+ (
+ ¡ack
+ ,++
+ ¥
+ ,
+ 
+ 1640 
+ 	`¡r_2m܏l
+ (
+ 	`¡r_nmake
+ ((()
+ timesbuf
+ .
+ tms_c¡ime
+ )/
+ HZ
+ )));
+ 
+ 1642 ()
+ 	`a¡Üe
+ (
+ ¡ack
+ ,++
+ ¥
+ ,
+ 
+ 1643 
+ 	`¡r_2m܏l
+ (
+ 	`¡r_nmake
+ (0.0)));
+ 
+ 1645  
+ ¥
+ ;
+ 
+ 1647 
+ 	}
+ }
+ 
+ 1650 
+ 	$do_time
+ (
+ ¡r
+ ,
+ tmbuf
+ ,
+ gimme
+ ,
+ ¬gÏ¡
+ )
+ 
+ 1651 
+ STR
+  *
+ ¡r
+ ;
+ 
+ 1652 
+ tm
+  *
+ tmbuf
+ ;
+ 
+ 1653 
+ gimme
+ ;
+ 
+ 1654 *
+ ¬gÏ¡
+ ;
+ 
+ 1656 
+ ARRAY
+  *
+ ¬y
+  = 
+ ¡ack
+ ;
+ 
+ 1657 
+ STR
+  **
+ ¡
+  = 
+ ¬y
+ ->
+ ¬y_¬¿y
+ ;
+ 
+ 1658 
+ ¥
+  = 
+ ¬gÏ¡
+ [0];
+ 
+ 1660 ià(!
+ tmbuf
+  || 
+ gimme
+  !ð
+ G_ARRAY
+ ) {
+ 
+ 1661 
+ 	`¡r_s£t
+ (
+ ¡r
+ ,&
+ ¡r_undef
+ );
+ 
+ 1662 
+ 	`STABSET
+ (
+ ¡r
+ );
+ 
+ 1663 
+ ¡
+ [++
+ ¥
+ ] = 
+ ¡r
+ ;
+ 
+ 1664  
+ ¥
+ ;
+ 
+ 1666 ()
+ 	`a¡Üe
+ (
+ ¬y
+ ,++
+ ¥
+ ,
+ 	`¡r_2m܏l
+ (
+ 	`¡r_nmake
+ (()
+ tmbuf
+ ->
+ tm_£c
+ )));
+ 
+ 1667 ()
+ 	`a¡Üe
+ (
+ ¬y
+ ,++
+ ¥
+ ,
+ 	`¡r_2m܏l
+ (
+ 	`¡r_nmake
+ (()
+ tmbuf
+ ->
+ tm_mš
+ )));
+ 
+ 1668 ()
+ 	`a¡Üe
+ (
+ ¬y
+ ,++
+ ¥
+ ,
+ 	`¡r_2m܏l
+ (
+ 	`¡r_nmake
+ (()
+ tmbuf
+ ->
+ tm_hour
+ )));
+ 
+ 1669 ()
+ 	`a¡Üe
+ (
+ ¬y
+ ,++
+ ¥
+ ,
+ 	`¡r_2m܏l
+ (
+ 	`¡r_nmake
+ (()
+ tmbuf
+ ->
+ tm_mday
+ )));
+ 
+ 1670 ()
+ 	`a¡Üe
+ (
+ ¬y
+ ,++
+ ¥
+ ,
+ 	`¡r_2m܏l
+ (
+ 	`¡r_nmake
+ (()
+ tmbuf
+ ->
+ tm_mÚ
+ )));
+ 
+ 1671 ()
+ 	`a¡Üe
+ (
+ ¬y
+ ,++
+ ¥
+ ,
+ 	`¡r_2m܏l
+ (
+ 	`¡r_nmake
+ (()
+ tmbuf
+ ->
+ tm_y—r
+ )));
+ 
+ 1672 ()
+ 	`a¡Üe
+ (
+ ¬y
+ ,++
+ ¥
+ ,
+ 	`¡r_2m܏l
+ (
+ 	`¡r_nmake
+ (()
+ tmbuf
+ ->
+ tm_wday
+ )));
+ 
+ 1673 ()
+ 	`a¡Üe
+ (
+ ¬y
+ ,++
+ ¥
+ ,
+ 	`¡r_2m܏l
+ (
+ 	`¡r_nmake
+ (()
+ tmbuf
+ ->
+ tm_yday
+ )));
+ 
+ 1674 ()
+ 	`a¡Üe
+ (
+ ¬y
+ ,++
+ ¥
+ ,
+ 	`¡r_2m܏l
+ (
+ 	`¡r_nmake
+ (()
+ tmbuf
+ ->
+ tm_isd¡
+ )));
+ 
+ 1675  
+ ¥
+ ;
+ 
+ 1676 
+ 	}
+ }
+ 
+ 1679 
+ 	$do_kv
+ (
+ ¡r
+ ,
+ hash
+ ,
+ kv
+ ,
+ gimme
+ ,
+ ¬gÏ¡
+ )
+ 
+ 1680 
+ STR
+  *
+ ¡r
+ ;
+ 
+ 1681 
+ HASH
+  *
+ hash
+ ;
+ 
+ 1682 
+ kv
+ ;
+ 
+ 1683 
+ gimme
+ ;
+ 
+ 1684 *
+ ¬gÏ¡
+ ;
+ 
+ 1686 
+ ARRAY
+  *
+ ¬y
+  = 
+ ¡ack
+ ;
+ 
+ 1687 
+ STR
+  **
+ ¡
+  = 
+ ¬y
+ ->
+ ¬y_¬¿y
+ ;
+ 
+ 1688 
+ ¥
+  = 
+ ¬gÏ¡
+ [0];
+ 
+ 1689 
+ i
+ ;
+ 
+ 1690 
+ HENT
+  *
+ ’Œy
+ ;
+ 
+ 1691 *
+ tmps
+ ;
+ 
+ 1692 
+ STR
+  *
+ tmp¡r
+ ;
+ 
+ 1693 
+ dokeys
+  = (
+ kv
+  =ð
+ O_KEYS
+  || kv =ð
+ O_HASH
+ );
+ 
+ 1694 
+ dov®ues
+  = (
+ kv
+  =ð
+ O_VALUES
+  || kv =ð
+ O_HASH
+ );
+ 
+ 1696 ià(
+ gimme
+  !ð
+ G_ARRAY
+ ) {
+ 
+ 1697 
+ 	`¡r_s£t
+ (
+ ¡r
+ ,&
+ ¡r_undef
+ );
+ 
+ 1698 
+ 	`STABSET
+ (
+ ¡r
+ );
+ 
+ 1699 
+ ¡
+ [++
+ ¥
+ ] = 
+ ¡r
+ ;
+ 
+ 1700  
+ ¥
+ ;
+ 
+ 1702 ()
+ 	`h™”š™
+ (
+ hash
+ );
+ 
+ 1703 
+ ’Œy
+  = 
+ 	`h™”Ãxt
+ (
+ hash
+ )) {
+ 
+ 1704 ià(
+ dokeys
+ ) {
+ 
+ 1705 
+ tmps
+  = 
+ 	`h™”key
+ (
+ ’Œy
+ ,&
+ i
+ );
+ 
+ 1706 ià(!
+ i
+ )
+ 
+ 1707 
+ tmps
+  = "";
+ 
+ 1708 ()
+ 	`a¡Üe
+ (
+ ¬y
+ ,++
+ ¥
+ ,
+ 	`¡r_2m܏l
+ (
+ 	`¡r_make
+ (
+ tmps
+ ,
+ i
+ )));
+ 
+ 1710 ià(
+ dov®ues
+ ) {
+ 
+ 1711 
+ tmp¡r
+  = 
+ 	`SŒ_Ãw
+ (45,0);
+ 
+ 1712 #ifdeà
+ DEBUGGING
+ 
+ 
+ 1713 ià(
+ debug
+  & 8192) {
+ 
+ 1714 
+ 	`¥rštf
+ (
+ buf
+ ,"%d%%%d=%d\n",
+ ’Œy
+ ->
+ h’t_hash
+ ,
+ 
+ 1715 
+ hash
+ ->
+ tbl_max
+ +1,
+ ’Œy
+ ->
+ h’t_hash
+  & hash->tbl_max);
+ 
+ 1716 
+ 	`¡r_£t
+ (
+ tmp¡r
+ ,
+ buf
+ );
+ 
+ 1720 
+ 	`¡r_s£t
+ (
+ tmp¡r
+ ,
+ 	`h™”v®
+ (
+ hash
+ ,
+ ’Œy
+ ));
+ 
+ 1721 ()
+ 	`a¡Üe
+ (
+ ¬y
+ ,++
+ ¥
+ ,
+ 	`¡r_2m܏l
+ (
+ tmp¡r
+ ));
+ 
+ 1724  
+ ¥
+ ;
+ 
+ 1725 
+ 	}
+ }
+ 
+ 1728 
+ 	$do_—ch
+ (
+ ¡r
+ ,
+ hash
+ ,
+ gimme
+ ,
+ ¬gÏ¡
+ )
+ 
+ 1729 
+ STR
+  *
+ ¡r
+ ;
+ 
+ 1730 
+ HASH
+  *
+ hash
+ ;
+ 
+ 1731 
+ gimme
+ ;
+ 
+ 1732 *
+ ¬gÏ¡
+ ;
+ 
+ 1734 
+ STR
+  **
+ ¡
+  = 
+ ¡ack
+ ->
+ ¬y_¬¿y
+ ;
+ 
+ 1735 
+ ¥
+  = 
+ ¬gÏ¡
+ [0];
+ 
+ 1736 
+ STR
+  *
+ my¡rk
+  = 
+ NuΡr
+ ;
+ 
+ 1737 
+ HENT
+  *
+ ’Œy
+  = 
+ 	`h™”Ãxt
+ (
+ hash
+ );
+ 
+ 1738 
+ i
+ ;
+ 
+ 1739 *
+ tmps
+ ;
+ 
+ 1741 ià(
+ my¡rk
+ ) {
+ 
+ 1742 
+ 	`¡r_ä“
+ (
+ my¡rk
+ );
+ 
+ 1743 
+ my¡rk
+  = 
+ NuΡr
+ ;
+ 
+ 1746 ià(
+ ’Œy
+ ) {
+ 
+ 1747 ià(
+ gimme
+  =ð
+ G_ARRAY
+ ) {
+ 
+ 1748 
+ tmps
+  = 
+ 	`h™”key
+ (
+ ’Œy
+ , &
+ i
+ );
+ 
+ 1749 ià(!
+ i
+ )
+ 
+ 1750 
+ tmps
+  = "";
+ 
+ 1751 
+ ¡
+ [++
+ ¥
+ ] = 
+ my¡rk
+  = 
+ 	`¡r_make
+ (
+ tmps
+ ,
+ i
+ );
+ 
+ 1753 
+ ¡
+ [++
+ ¥
+ ] = 
+ ¡r
+ ;
+ 
+ 1754 
+ 	`¡r_s£t
+ (
+ ¡r
+ ,
+ 	`h™”v®
+ (
+ hash
+ ,
+ ’Œy
+ ));
+ 
+ 1755 
+ 	`STABSET
+ (
+ ¡r
+ );
+ 
+ 1756  
+ ¥
+ ;
+ 
+ 1759  
+ ¥
+ ;
+ 
+ 1760 
+ 	}
+ }
+ 
+ 	@dump.c
+ 
+ 14 
+ 	~"EXTERN.h
+ "
+ 
+ 15 
+ 	~"³¾.h
+ "
+ 
+ 17 #ifdeà
+ DEBUGGING
+ 
+ 
+ 18 
+ 	gdum¶vl
+  = 0;
+ 
+ 20 
+ 	$dump_®l
+ ()
+ 
+ 22 
+ i
+ ;
+ 
+ 23 
+ STAB
+  *
+ ¡ab
+ ;
+ 
+ 24 
+ HENT
+  *
+ ’Œy
+ ;
+ 
+ 25 
+ STR
+  *
+ ¡r
+  = 
+ 	`¡r_m܏l
+ (&
+ ¡r_undef
+ );
+ 
+ 27 
+ 	`dump_cmd
+ (
+ maš_roÙ
+ ,
+ NuÎcmd
+ );
+ 
+ 28 
+ i
+  = 0; i <= 127; i++) {
+ 
+ 29 
+ ’Œy
+  = 
+ def¡ash
+ ->
+ tbl_¬¿y
+ [
+ i
+ ];ƒÁry;ƒÁry =ƒÁry->
+ h’t_Ãxt
+ ) {
+ 
+ 30 
+ ¡ab
+  = (
+ STAB
+ *)
+ ’Œy
+ ->
+ h’t_v®
+ ;
+ 
+ 31 ià(
+ 	`¡ab_sub
+ (
+ ¡ab
+ )) {
+ 
+ 32 
+ 	`¡ab_fuÎÇme
+ (
+ ¡r
+ ,
+ ¡ab
+ );
+ 
+ 33 
+ 	`dump
+ ("\nSUB % ð", 
+ ¡r
+ ->
+ ¡r_±r
+ );
+ 
+ 34 
+ 	`dump_cmd
+ (
+ 	`¡ab_sub
+ (
+ ¡ab
+ )->
+ cmd
+ ,
+ NuÎcmd
+ );
+ 
+ 38 
+ 	}
+ }
+ 
+ 40 
+ 	$dump_cmd
+ (
+ cmd
+ ,
+ ®t
+ )
+ 
+ 41 
+ CMD
+  *
+ cmd
+ ;
+ 
+ 42 
+ CMD
+  *
+ ®t
+ ;
+ 
+ 44 
+ 	`årštf
+ (
+ ¡d”r
+ ,"{\n");
+ 
+ 45 
+ cmd
+ ) {
+ 
+ 46 
+ dum¶vl
+ ++;
+ 
+ 47 
+ 	`dump
+ ("C_TYPE = %s\n",
+ cmdÇme
+ [
+ cmd
+ ->
+ c_ty³
+ ]);
+ 
+ 48 
+ 	`dump
+ ("C_ADDR = 0x%lx\n",
+ cmd
+ );
+ 
+ 49 
+ 	`dump
+ ("C_NEXT = 0x%lx\n",
+ cmd
+ ->
+ c_Ãxt
+ );
+ 
+ 50 ià(
+ cmd
+ ->
+ c_lše
+ )
+ 
+ 51 
+ 	`dump
+ ("C_LINE = %d (0x%lx)\n",
+ cmd
+ ->
+ c_lše
+ ,cmd);
+ 
+ 52 ià(
+ cmd
+ ->
+ c_Ïb–
+ )
+ 
+ 53 
+ 	`dump
+ ("C_LABEL = \"%s\"\n",
+ cmd
+ ->
+ c_Ïb–
+ );
+ 
+ 54 
+ 	`dump
+ ("C_OPT = CFT_%s\n",
+ cmdÝt
+ [
+ cmd
+ ->
+ c_æags
+  & 
+ CF_OPTIMIZE
+ ]);
+ 
+ 55 *
+ buf
+  = '\0';
+ 
+ 56 ià(
+ cmd
+ ->
+ c_æags
+  & 
+ CF_FIRSTNEG
+ )
+ 
+ 57 ()
+ 	`¡rÿt
+ (
+ buf
+ ,"FIRSTNEG,");
+ 
+ 58 ià(
+ cmd
+ ->
+ c_æags
+  & 
+ CF_NESURE
+ )
+ 
+ 59 ()
+ 	`¡rÿt
+ (
+ buf
+ ,"NESURE,");
+ 
+ 60 ià(
+ cmd
+ ->
+ c_æags
+  & 
+ CF_EQSURE
+ )
+ 
+ 61 ()
+ 	`¡rÿt
+ (
+ buf
+ ,"EQSURE,");
+ 
+ 62 ià(
+ cmd
+ ->
+ c_æags
+  & 
+ CF_COND
+ )
+ 
+ 63 ()
+ 	`¡rÿt
+ (
+ buf
+ ,"COND,");
+ 
+ 64 ià(
+ cmd
+ ->
+ c_æags
+  & 
+ CF_LOOP
+ )
+ 
+ 65 ()
+ 	`¡rÿt
+ (
+ buf
+ ,"LOOP,");
+ 
+ 66 ià(
+ cmd
+ ->
+ c_æags
+  & 
+ CF_INVERT
+ )
+ 
+ 67 ()
+ 	`¡rÿt
+ (
+ buf
+ ,"INVERT,");
+ 
+ 68 ià(
+ cmd
+ ->
+ c_æags
+  & 
+ CF_ONCE
+ )
+ 
+ 69 ()
+ 	`¡rÿt
+ (
+ buf
+ ,"ONCE,");
+ 
+ 70 ià(
+ cmd
+ ->
+ c_æags
+  & 
+ CF_FLIP
+ )
+ 
+ 71 ()
+ 	`¡rÿt
+ (
+ buf
+ ,"FLIP,");
+ 
+ 72 ià(
+ cmd
+ ->
+ c_æags
+  & 
+ CF_TERM
+ )
+ 
+ 73 ()
+ 	`¡rÿt
+ (
+ buf
+ ,"TERM,");
+ 
+ 74 ià(*
+ buf
+ )
+ 
+ 75 
+ buf
+ [
+ 	`¡¾’
+ (buf)-1] = '\0';
+ 
+ 76 
+ 	`dump
+ ("C_FLAGS = (%s)\n",
+ buf
+ );
+ 
+ 77 ià(
+ cmd
+ ->
+ c_shÜt
+ ) {
+ 
+ 78 
+ 	`dump
+ ("C_SHORT = \"%s\"\n",
+ 	`¡r_³ek
+ (
+ cmd
+ ->
+ c_shÜt
+ ));
+ 
+ 79 
+ 	`dump
+ ("C_SLEN = \"%d\"\n",
+ cmd
+ ->
+ c_¦’
+ );
+ 
+ 81 ià(
+ cmd
+ ->
+ c_¡ab
+ ) {
+ 
+ 82 
+ 	`dump
+ ("C_STAB = ");
+ 
+ 83 
+ 	`dump_¡ab
+ (
+ cmd
+ ->
+ c_¡ab
+ );
+ 
+ 85 ià(
+ cmd
+ ->
+ c_¥©
+ ) {
+ 
+ 86 
+ 	`dump
+ ("C_SPAT = ");
+ 
+ 87 
+ 	`dump_¥©
+ (
+ cmd
+ ->
+ c_¥©
+ );
+ 
+ 89 ià(
+ cmd
+ ->
+ c_ex´
+ ) {
+ 
+ 90 
+ 	`dump
+ ("C_EXPR = ");
+ 
+ 91 
+ 	`dump_¬g
+ (
+ cmd
+ ->
+ c_ex´
+ );
+ 
+ 93 
+ 	`dump
+ ("C_EXPR = NULL\n");
+ 
+ 94 
+ cmd
+ ->
+ c_ty³
+ ) {
+ 
+ 95 
+ C_NEXT
+ :
+ 
+ 96 
+ C_WHILE
+ :
+ 
+ 97 
+ C_BLOCK
+ :
+ 
+ 98 
+ C_ELSE
+ :
+ 
+ 99 
+ C_IF
+ :
+ 
+ 100 ià(
+ cmd
+ ->
+ ucmd
+ .
+ ccmd
+ .
+ cc_Œue
+ ) {
+ 
+ 101 
+ 	`dump
+ ("CC_TRUE = ");
+ 
+ 102 
+ 	`dump_cmd
+ (
+ cmd
+ ->
+ ucmd
+ .
+ ccmd
+ .
+ cc_Œue
+ ,cmd->ucmd.ccmd.
+ cc_®t
+ );
+ 
+ 105 
+ 	`dump
+ ("CC_TRUE = NULL\n");
+ 
+ 106 ià(
+ cmd
+ ->
+ c_ty³
+  =ð
+ C_IF
+  && cmd->
+ ucmd
+ .
+ ccmd
+ .
+ cc_®t
+ ) {
+ 
+ 107 
+ 	`dump
+ ("CC_ENDELSE = 0x%lx\n",
+ cmd
+ ->
+ ucmd
+ .
+ ccmd
+ .
+ cc_®t
+ );
+ 
+ 109 ià(
+ cmd
+ ->
+ c_ty³
+  =ð
+ C_NEXT
+  && cmd->
+ ucmd
+ .
+ ccmd
+ .
+ cc_®t
+ ) {
+ 
+ 110 
+ 	`dump
+ ("CC_NEXT = 0x%lx\n",
+ cmd
+ ->
+ ucmd
+ .
+ ccmd
+ .
+ cc_®t
+ );
+ 
+ 113 
+ 	`dump
+ ("CC_ALT = NULL\n");
+ 
+ 115 
+ C_EXPR
+ :
+ 
+ 116 ià(
+ cmd
+ ->
+ ucmd
+ .
+ acmd
+ .
+ ac_¡ab
+ ) {
+ 
+ 117 
+ 	`dump
+ ("AC_STAB = ");
+ 
+ 118 
+ 	`dump_¡ab
+ (
+ cmd
+ ->
+ ucmd
+ .
+ acmd
+ .
+ ac_¡ab
+ );
+ 
+ 120 
+ 	`dump
+ ("AC_STAB = NULL\n");
+ 
+ 121 ià(
+ cmd
+ ->
+ ucmd
+ .
+ acmd
+ .
+ ac_ex´
+ ) {
+ 
+ 122 
+ 	`dump
+ ("AC_EXPR = ");
+ 
+ 123 
+ 	`dump_¬g
+ (
+ cmd
+ ->
+ ucmd
+ .
+ acmd
+ .
+ ac_ex´
+ );
+ 
+ 125 
+ 	`dump
+ ("AC_EXPR = NULL\n");
+ 
+ 127 
+ C_CSWITCH
+ :
+ 
+ 128 
+ C_NSWITCH
+ :
+ 
+ 130 
+ max
+ , 
+ i
+ ;
+ 
+ 132 
+ max
+  = 
+ cmd
+ ->
+ ucmd
+ .
+ scmd
+ .
+ sc_max
+ ;
+ 
+ 133 
+ 	`dump
+ ("SC_MIN = (%d)\n",
+ cmd
+ ->
+ ucmd
+ .
+ scmd
+ .
+ sc_off£t
+  + 1);
+ 
+ 134 
+ 	`dump
+ ("SC_MAX = (%d)\n", 
+ max
+  + 
+ cmd
+ ->
+ ucmd
+ .
+ scmd
+ .
+ sc_off£t
+  - 1);
+ 
+ 135 
+ 	`dump
+ ("SC_NEXT[LT] = 0x%lx\n", 
+ cmd
+ ->
+ ucmd
+ .
+ scmd
+ .
+ sc_Ãxt
+ [0]);
+ 
+ 136 
+ i
+  = 1; i < 
+ max
+ ; i++)
+ 
+ 137 
+ 	`dump
+ ("SC_NEXT[%d] = 0x%lx\n", 
+ i
+  + 
+ cmd
+ ->
+ ucmd
+ .
+ scmd
+ .
+ sc_off£t
+ ,
+ 
+ 138 
+ cmd
+ ->
+ ucmd
+ .
+ scmd
+ .
+ sc_Ãxt
+ [
+ i
+ ]);
+ 
+ 139 
+ 	`dump
+ ("SC_NEXT[GT] = 0x%lx\n", 
+ cmd
+ ->
+ ucmd
+ .
+ scmd
+ .
+ sc_Ãxt
+ [
+ max
+ ]);
+ 
+ 143 
+ cmd
+  = cmd->
+ c_Ãxt
+ ;
+ 
+ 144 ià(
+ cmd
+  && cmd->
+ c_h—d
+  == cmd) {
+ 
+ 145 
+ 	`dump
+ ("C_NEXT = HEAD\n");
+ 
+ 146 
+ dum¶vl
+ --;
+ 
+ 147 
+ 	`dump
+ ("}\n");
+ 
+ 150 
+ dum¶vl
+ --;
+ 
+ 151 
+ 	`dump
+ ("}\n");
+ 
+ 152 ià(
+ cmd
+ )
+ 
+ 153 ià(
+ cmd
+  =ð
+ ®t
+ )
+ 
+ 154 
+ 	`dump
+ ("CONT 0x%lx {\n",
+ cmd
+ );
+ 
+ 156 
+ 	`dump
+ ("{\n");
+ 
+ 158 
+ 	}
+ }
+ 
+ 160 
+ 	$dump_¬g
+ (
+ ¬g
+ )
+ 
+ 161 
+ ARG
+  *
+ ¬g
+ ;
+ 
+ 163 
+ i
+ ;
+ 
+ 165 
+ 	`årštf
+ (
+ ¡d”r
+ ,"{\n");
+ 
+ 166 
+ dum¶vl
+ ++;
+ 
+ 167 
+ 	`dump
+ ("OP_TYPE = %s\n",
+ ÝÇme
+ [
+ ¬g
+ ->
+ ¬g_ty³
+ ]);
+ 
+ 168 
+ 	`dump
+ ("OP_LEN = %d\n",
+ ¬g
+ ->
+ ¬g_Ën
+ );
+ 
+ 169 ià(
+ ¬g
+ ->
+ ¬g_æags
+ ) {
+ 
+ 170 
+ 	`dump_æags
+ (
+ buf
+ ,
+ ¬g
+ ->
+ ¬g_æags
+ );
+ 
+ 171 
+ 	`dump
+ ("OP_FLAGS = (%s)\n",
+ buf
+ );
+ 
+ 173 
+ i
+  = 1; i <ð
+ ¬g
+ ->
+ ¬g_Ën
+ ; i++) {
+ 
+ 174 
+ 	`dump
+ ("[%d]ARG_TYPE = %s%s\n",
+ i
+ ,
+ ¬gÇme
+ [
+ ¬g
+ [i].
+ ¬g_ty³
+  & 
+ A_MASK
+ ],
+ 
+ 175 
+ ¬g
+ [
+ i
+ ].
+ ¬g_ty³
+  & 
+ A_DONT
+  ? " (unevaluated)" : "");
+ 
+ 176 ià(
+ ¬g
+ [
+ i
+ ].
+ ¬g_Ën
+ )
+ 
+ 177 
+ 	`dump
+ ("[%d]ARG_LEN = %d\n",
+ i
+ ,
+ ¬g
+ [i].
+ ¬g_Ën
+ );
+ 
+ 178 ià(
+ ¬g
+ [
+ i
+ ].
+ ¬g_æags
+ ) {
+ 
+ 179 
+ 	`dump_æags
+ (
+ buf
+ ,
+ ¬g
+ [
+ i
+ ].
+ ¬g_æags
+ );
+ 
+ 180 
+ 	`dump
+ ("[%d]ARG_FLAGS = (%s)\n",
+ i
+ ,
+ buf
+ );
+ 
+ 182 
+ ¬g
+ [
+ i
+ ].
+ ¬g_ty³
+  & 
+ A_MASK
+ ) {
+ 
+ 183 
+ A_NULL
+ :
+ 
+ 184 ià(
+ ¬g
+ ->
+ ¬g_ty³
+  =ð
+ O_TRANS
+ ) {
+ 
+ 185 *
+ tbl
+  = (*)
+ ¬g
+ [2].
+ ¬g_±r
+ .
+ ¬g_cv®
+ ;
+ 
+ 186 
+ i
+ ;
+ 
+ 188 
+ i
+  = 0; i < 256; i++) {
+ 
+ 189 ià(
+ tbl
+ [
+ i
+ ] >= 0)
+ 
+ 190 
+ 	`dump
+ (" %d -> %d\n", 
+ i
+ , 
+ tbl
+ [i]);
+ 
+ 191 ià(
+ tbl
+ [
+ i
+ ] == -2)
+ 
+ 192 
+ 	`dump
+ (" %d -> DELETE\n", 
+ i
+ );
+ 
+ 196 
+ A_LEXPR
+ :
+ 
+ 197 
+ A_EXPR
+ :
+ 
+ 198 
+ 	`dump
+ ("[%d]ARG_ARG = ",
+ i
+ );
+ 
+ 199 
+ 	`dump_¬g
+ (
+ ¬g
+ [
+ i
+ ].
+ ¬g_±r
+ .
+ ¬g_¬g
+ );
+ 
+ 201 
+ A_CMD
+ :
+ 
+ 202 
+ 	`dump
+ ("[%d]ARG_CMD = ",
+ i
+ );
+ 
+ 203 
+ 	`dump_cmd
+ (
+ ¬g
+ [
+ i
+ ].
+ ¬g_±r
+ .
+ ¬g_cmd
+ ,
+ NuÎcmd
+ );
+ 
+ 205 
+ A_WORD
+ :
+ 
+ 206 
+ A_STAB
+ :
+ 
+ 207 
+ A_LVAL
+ :
+ 
+ 208 
+ A_READ
+ :
+ 
+ 209 
+ A_GLOB
+ :
+ 
+ 210 
+ A_ARYLEN
+ :
+ 
+ 211 
+ A_ARYSTAB
+ :
+ 
+ 212 
+ A_LARYSTAB
+ :
+ 
+ 213 
+ 	`dump
+ ("[%d]ARG_STAB = ",
+ i
+ );
+ 
+ 214 
+ 	`dump_¡ab
+ (
+ ¬g
+ [
+ i
+ ].
+ ¬g_±r
+ .
+ ¬g_¡ab
+ );
+ 
+ 216 
+ A_SINGLE
+ :
+ 
+ 217 
+ A_DOUBLE
+ :
+ 
+ 218 
+ A_BACKTICK
+ :
+ 
+ 219 
+ 	`dump
+ ("[%d]ARG_STR = '%s'\n",
+ i
+ ,
+ 	`¡r_³ek
+ (
+ ¬g
+ [i].
+ ¬g_±r
+ .
+ ¬g_¡r
+ ));
+ 
+ 221 
+ A_SPAT
+ :
+ 
+ 222 
+ 	`dump
+ ("[%d]ARG_SPAT = ",
+ i
+ );
+ 
+ 223 
+ 	`dump_¥©
+ (
+ ¬g
+ [
+ i
+ ].
+ ¬g_±r
+ .
+ ¬g_¥©
+ );
+ 
+ 227 
+ dum¶vl
+ --;
+ 
+ 228 
+ 	`dump
+ ("}\n");
+ 
+ 229 
+ 	}
+ }
+ 
+ 231 
+ 	$dump_æags
+ (
+ b
+ ,
+ æags
+ )
+ 
+ 232 *
+ b
+ ;
+ 
+ 233 
+ æags
+ ;
+ 
+ 235 *
+ b
+  = '\0';
+ 
+ 236 ià(
+ æags
+  & 
+ AF_ARYOK
+ )
+ 
+ 237 ()
+ 	`¡rÿt
+ (
+ b
+ ,"ARYOK,");
+ 
+ 238 ià(
+ æags
+  & 
+ AF_POST
+ )
+ 
+ 239 ()
+ 	`¡rÿt
+ (
+ b
+ ,"POST,");
+ 
+ 240 ià(
+ æags
+  & 
+ AF_PRE
+ )
+ 
+ 241 ()
+ 	`¡rÿt
+ (
+ b
+ ,"PRE,");
+ 
+ 242 ià(
+ æags
+  & 
+ AF_UP
+ )
+ 
+ 243 ()
+ 	`¡rÿt
+ (
+ b
+ ,"UP,");
+ 
+ 244 ià(
+ æags
+  & 
+ AF_COMMON
+ )
+ 
+ 245 ()
+ 	`¡rÿt
+ (
+ b
+ ,"COMMON,");
+ 
+ 246 ià(
+ æags
+  & 
+ AF_DEPR
+ )
+ 
+ 247 ()
+ 	`¡rÿt
+ (
+ b
+ ,"DEPR,");
+ 
+ 248 ià(
+ æags
+  & 
+ AF_LISTISH
+ )
+ 
+ 249 ()
+ 	`¡rÿt
+ (
+ b
+ ,"LISTISH,");
+ 
+ 250 ià(
+ æags
+  & 
+ AF_LOCAL
+ )
+ 
+ 251 ()
+ 	`¡rÿt
+ (
+ b
+ ,"LOCAL,");
+ 
+ 252 ià(*
+ b
+ )
+ 
+ 253 
+ b
+ [
+ 	`¡¾’
+ (b)-1] = '\0';
+ 
+ 254 
+ 	}
+ }
+ 
+ 256 
+ 	$dump_¡ab
+ (
+ ¡ab
+ )
+ 
+ 257 
+ STAB
+  *
+ ¡ab
+ ;
+ 
+ 259 
+ STR
+  *
+ ¡r
+ ;
+ 
+ 261 ià(!
+ ¡ab
+ ) {
+ 
+ 262 
+ 	`årštf
+ (
+ ¡d”r
+ ,"{}\n");
+ 
+ 265 
+ ¡r
+  = 
+ 	`¡r_m܏l
+ (&
+ ¡r_undef
+ );
+ 
+ 266 
+ dum¶vl
+ ++;
+ 
+ 267 
+ 	`årštf
+ (
+ ¡d”r
+ ,"{\n");
+ 
+ 268 
+ 	`¡ab_fuÎÇme
+ (
+ ¡r
+ ,
+ ¡ab
+ );
+ 
+ 269 
+ 	`dump
+ ("STAB_NAME = %s\n", 
+ ¡r
+ ->
+ ¡r_±r
+ );
+ 
+ 270 
+ dum¶vl
+ --;
+ 
+ 271 
+ 	`dump
+ ("}\n");
+ 
+ 272 
+ 	}
+ }
+ 
+ 274 
+ 	$dump_¥©
+ (
+ ¥©
+ )
+ 
+ 275 
+ SPAT
+  *
+ ¥©
+ ;
+ 
+ 277 
+ ch
+ ;
+ 
+ 279 ià(!
+ ¥©
+ ) {
+ 
+ 280 
+ 	`årštf
+ (
+ ¡d”r
+ ,"{}\n");
+ 
+ 283 
+ 	`årštf
+ (
+ ¡d”r
+ ,"{\n");
+ 
+ 284 
+ dum¶vl
+ ++;
+ 
+ 285 ià(
+ ¥©
+ ->
+ ¥©_ruÁime
+ ) {
+ 
+ 286 
+ 	`dump
+ ("SPAT_RUNTIME = ");
+ 
+ 287 
+ 	`dump_¬g
+ (
+ ¥©
+ ->
+ ¥©_ruÁime
+ );
+ 
+ 289 ià(
+ ¥©
+ ->
+ ¥©_æags
+  & 
+ SPAT_ONCE
+ )
+ 
+ 290 
+ ch
+  = '?';
+ 
+ 292 
+ ch
+  = '/';
+ 
+ 293 
+ 	`dump
+ ("SPAT_PRE %c%s%c\n",
+ ch
+ ,
+ ¥©
+ ->
+ ¥©_»gexp
+ ->
+ ´ecomp
+ ,ch);
+ 
+ 295 ià(
+ ¥©
+ ->
+ ¥©_»¶
+ ) {
+ 
+ 296 
+ 	`dump
+ ("SPAT_REPL = ");
+ 
+ 297 
+ 	`dump_¬g
+ (
+ ¥©
+ ->
+ ¥©_»¶
+ );
+ 
+ 299 ià(
+ ¥©
+ ->
+ ¥©_shÜt
+ ) {
+ 
+ 300 
+ 	`dump
+ ("SPAT_SHORT = \"%s\"\n",
+ 	`¡r_³ek
+ (
+ ¥©
+ ->
+ ¥©_shÜt
+ ));
+ 
+ 302 
+ dum¶vl
+ --;
+ 
+ 303 
+ 	`dump
+ ("}\n");
+ 
+ 304 
+ 	}
+ }
+ 
+ 307 
+ 	$dump
+ (
+ ¬g1
+ ,
+ ¬g2
+ ,
+ ¬g3
+ ,
+ ¬g4
+ ,
+ ¬g5
+ )
+ 
+ 308 *
+ ¬g1
+ ;
+ 
+ 309 
+ ¬g2
+ , 
+ ¬g3
+ , 
+ ¬g4
+ , 
+ ¬g5
+ ;
+ 
+ 311 
+ i
+ ;
+ 
+ 313 
+ i
+  = 
+ dum¶vl
+ *4; i; i--)
+ 
+ 314 ()
+ 	`putc
+ (' ',
+ ¡d”r
+ );
+ 
+ 315 
+ 	`årštf
+ (
+ ¡d”r
+ ,
+ ¬g1
+ , 
+ ¬g2
+ , 
+ ¬g3
+ , 
+ ¬g4
+ , 
+ ¬g5
+ );
+ 
+ 316 
+ 	}
+ }
+ 
+ 319 #ifdeà
+ DEBUG
+ 
+ 
+ 321 
+ 	$showšput
+ ()
+ 
+ 323 *
+ s
+  = 
+ 	`¡r_g‘
+ (
+ lše¡r
+ );
+ 
+ 324 
+ fd
+ ;
+ 
+ 325 
+ cmd
+ [] =
+ 
+ 329 ià(
+ rså
+  !ð
+ ¡dš
+  || 
+ 	`¡ºEQ
+ (
+ s
+ ,"#!",2))
+ 
+ 330  
+ s
+ ;
+ 
+ 331 ; *
+ s
+ ; s++) {
+ 
+ 332 ià(*
+ s
+  & 0200) {
+ 
+ 333 
+ fd
+  = 
+ 	`ü—t
+ ("/tmp/.foo",0600);
+ 
+ 334 
+ 	`wr™e
+ (
+ fd
+ ,
+ 	`¡r_g‘
+ (
+ lše¡r
+ ),lše¡r->
+ ¡r_cur
+ );
+ 
+ 335 
+ s
+  = 
+ 	`¡r_g‘s
+ (
+ lše¡r
+ ,
+ rså
+ ,0)) {
+ 
+ 336 
+ 	`wr™e
+ (
+ fd
+ ,
+ s
+ ,
+ lše¡r
+ ->
+ ¡r_cur
+ );
+ 
+ 338 ()
+ 	`þo£
+ (
+ fd
+ );
+ 
+ 339 
+ s
+ =
+ cmd
+ ; *s; s++)
+ 
+ 340 ià(*
+ s
+  < ' ')
+ 
+ 341 *
+ s
+  += 96;
+ 
+ 342 
+ rså
+  = 
+ 	`mypݒ
+ (
+ cmd
+ ,"r");
+ 
+ 343 
+ s
+  = 
+ 	`¡r_g‘s
+ (
+ lše¡r
+ ,
+ rså
+ ,0);
+ 
+ 344  
+ s
+ ;
+ 
+ 347  
+ 	`¡r_g‘
+ (
+ lše¡r
+ );
+ 
+ 348 
+ 	}
+ }
+ 
+ 	@eval.c
+ 
+ 18 
+ 	~"EXTERN.h
+ "
+ 
+ 19 
+ 	~"³¾.h
+ "
+ 
+ 21 #ià!
+ defšed
+ (
+ NSIG
+ è|| defšed(
+ M_UNIX
+ è|| defšed(
+ M_XENIX
+ )
+ 
+ 22 
+ 	~<sigÇl.h
+ >
+ 
+ 25 #ifdeà
+ I_FCNTL
+ 
+ 
+ 26 
+ 	~<fúŽ.h
+ >
+ 
+ 28 #ifdeà
+ I_SYS_FILE
+ 
+ 
+ 29 
+ 	~<sys/fže.h
+ >
+ 
+ 31 #ifdeà
+ I_VFORK
+ 
+ 
+ 32 
+ 	~<vfÜk.h
+ >
+ 
+ 35 #ifdeà
+ VOIDSIG
+ 
+ 
+ 36 (*
+ 	gihªd
+ )();
+ 
+ 37 (*
+ 	gqhªd
+ )();
+ 
+ 39 (*
+ 	gihªd
+ )();
+ 
+ 40 (*
+ 	gqhªd
+ )();
+ 
+ 43 
+ ARG
+  *
+ 	gdeb¬g
+ ;
+ 
+ 44 
+ STR
+  
+ 	g¡r_¬gs
+ ;
+ 
+ 45 
+ STAB
+  *
+ 	g¡ab2
+ ;
+ 
+ 46 
+ STIO
+  *
+ 	g¡io
+ ;
+ 
+ 47 
+ l¡ršg
+  *
+ 	gl¡r
+ ;
+ 
+ 48 
+ 	gÞd_rsch¬
+ ;
+ 
+ 49 
+ 	gÞd_r¦’
+ ;
+ 
+ 51 
+ sš
+ (), 
+ cos
+ (), 
+ ©ª2
+ (), 
+ pow
+ ();
+ 
+ 53 *
+ g‘logš
+ ();
+ 
+ 56 
+ 	$ev®
+ (
+ ¬g
+ ,
+ gimme
+ ,
+ ¥
+ )
+ 
+ 57 
+ ARG
+  *
+ ¬g
+ ;
+ 
+ 58 
+ gimme
+ ;
+ 
+ 59 
+ ¥
+ ;
+ 
+ 61 
+ STR
+  *
+ ¡r
+ ;
+ 
+ 62 
+ ªum
+ ;
+ 
+ 63 
+ Ýty³
+ ;
+ 
+ 64 
+ STR
+  **
+ ¡
+ ;
+ 
+ 65 
+ max¬g
+ ;
+ 
+ 66 
+ v®ue
+ ;
+ 
+ 67 *
+ tmps
+ ;
+ 
+ 68 *
+ tmps2
+ ;
+ 
+ 69 
+ ¬gæags
+ ;
+ 
+ 70 
+ ¬gty³
+ ;
+ 
+ 71 
+ ¬g±r
+ ‡rgptr;
+ 
+ 72 
+ ¬gÏ¡
+ [8];
+ 
+ 73 
+ tm¶Úg
+ ;
+ 
+ 74 
+ wh’
+ ;
+ 
+ 75 
+ FILE
+  *
+ å
+ ;
+ 
+ 76 
+ STR
+  *
+ tmp¡r
+ ;
+ 
+ 77 
+ FCMD
+  *
+ fÜm
+ ;
+ 
+ 78 
+ STAB
+  *
+ ¡ab
+ ;
+ 
+ 79 
+ ARRAY
+  *
+ ¬y
+ ;
+ 
+ 80 
+ boÞ
+  
+ assignšg
+  = 
+ FALSE
+ ;
+ 
+ 81 
+ 	`exp
+ (), 
+ 	`log
+ (), 
+ 	`sq¹
+ (), 
+ 	`modf
+ ();
+ 
+ 82 *
+ 	`üy±
+ (), *
+ 	`g‘’v
+ ();
+ 
+ 83 

+ 	`grow_dËv–
+ ();
+ 
+ 85 ià(!
+ ¬g
+ )
+ 
+ 86 
+ §y_undef
+ ;
+ 
+ 87 
+ Ýty³
+  = 
+ ¬g
+ ->
+ ¬g_ty³
+ ;
+ 
+ 88 
+ max¬g
+  = 
+ ¬g
+ ->
+ ¬g_Ën
+ ;
+ 
+ 89 
+ ¬gÏ¡
+ [0] = 
+ ¥
+ ;
+ 
+ 90 
+ ¡r
+  = 
+ ¬g
+ ->
+ ¬g_±r
+ .
+ ¬g_¡r
+ ;
+ 
+ 91 ià(
+ ¥
+  + 
+ max¬g
+  > 
+ ¡ack
+ ->
+ ¬y_max
+ )
+ 
+ 92 
+ 	`a¡Üe
+ (
+ ¡ack
+ , 
+ ¥
+  + 
+ max¬g
+ , 
+ NuΡr
+ );
+ 
+ 93 
+ ¡
+  = 
+ ¡ack
+ ->
+ ¬y_¬¿y
+ ;
+ 
+ 95 #ifdeà
+ DEBUGGING
+ 
+ 
+ 96 ià(
+ debug
+ ) {
+ 
+ 97 ià(
+ debug
+  & 8) {
+ 
+ 98 
+ 	`deb
+ ("% (%lxè%d‡rgs:\n",
+ ÝÇme
+ [
+ Ýty³
+ ],
+ ¬g
+ ,
+ max¬g
+ );
+ 
+ 100 
+ debÇme
+ [
+ dËv–
+ ] = 
+ ÝÇme
+ [
+ Ýty³
+ ][0];
+ 
+ 101 
+ debd–im
+ [
+ dËv–
+ ] = ':';
+ 
+ 102 ià(++
+ dËv–
+  >ð
+ dlmax
+ )
+ 
+ 103 
+ 	`grow_dËv–
+ ();
+ 
+ 107 
+ ªum
+  = 1;‡num <ð
+ max¬g
+ ;‡num++) {
+ 
+ 108 
+ ¬gæags
+  = 
+ ¬g
+ [
+ ªum
+ ].
+ ¬g_æags
+ ;
+ 
+ 109 
+ ¬gty³
+  = 
+ ¬g
+ [
+ ªum
+ ].
+ ¬g_ty³
+ ;
+ 
+ 110 
+ ¬g±r
+  = 
+ ¬g
+ [
+ ªum
+ ].
+ ¬g_±r
+ ;
+ 
+ 111 
+ »_ev®
+ :
+ 
+ 112 
+ ¬gty³
+ ) {
+ 
+ 114 
+ ¡
+ [++
+ ¥
+ ] = &
+ ¡r_undef
+ ;
+ 
+ 115 #ifdeà
+ DEBUGGING
+ 
+ 
+ 116 
+ tmps
+  = "NULL";
+ 
+ 119 
+ A_EXPR
+ :
+ 
+ 120 #ifdeà
+ DEBUGGING
+ 
+ 
+ 121 ià(
+ debug
+  & 8) {
+ 
+ 122 
+ tmps
+  = "EXPR";
+ 
+ 123 
+ 	`deb
+ ("%d.EXPR =>\n",
+ ªum
+ );
+ 
+ 126 
+ ¥
+  = 
+ 	`ev®
+ (
+ ¬g±r
+ .
+ ¬g_¬g
+ ,
+ 
+ 127 (
+ ¬gæags
+  & 
+ AF_ARYOK
+ è? 
+ G_ARRAY
+  : 
+ G_SCALAR
+ , 
+ ¥
+ );
+ 
+ 128 ià(
+ ¥
+  + (
+ max¬g
+  - 
+ ªum
+ è> 
+ ¡ack
+ ->
+ ¬y_max
+ )
+ 
+ 129 
+ 	`a¡Üe
+ (
+ ¡ack
+ , 
+ ¥
+  + (
+ max¬g
+  - 
+ ªum
+ ), 
+ NuΡr
+ );
+ 
+ 130 
+ ¡
+  = 
+ ¡ack
+ ->
+ ¬y_¬¿y
+ ;
+ 
+ 132 
+ A_CMD
+ :
+ 
+ 133 #ifdeà
+ DEBUGGING
+ 
+ 
+ 134 ià(
+ debug
+  & 8) {
+ 
+ 135 
+ tmps
+  = "CMD";
+ 
+ 136 
+ 	`deb
+ ("%d.CMD (%lxè=>\n",
+ ªum
+ ,
+ ¬g±r
+ .
+ ¬g_cmd
+ );
+ 
+ 139 
+ ¥
+  = 
+ 	`cmd_exec
+ (
+ ¬g±r
+ .
+ ¬g_cmd
+ , 
+ gimme
+ , sp);
+ 
+ 140 ià(
+ ¥
+  + (
+ max¬g
+  - 
+ ªum
+ è> 
+ ¡ack
+ ->
+ ¬y_max
+ )
+ 
+ 141 
+ 	`a¡Üe
+ (
+ ¡ack
+ , 
+ ¥
+  + (
+ max¬g
+  - 
+ ªum
+ ), 
+ NuΡr
+ );
+ 
+ 142 
+ ¡
+  = 
+ ¡ack
+ ->
+ ¬y_¬¿y
+ ;
+ 
+ 144 
+ A_LARYSTAB
+ :
+ 
+ 145 ++
+ ¥
+ ;
+ 
+ 146 
+ Ýty³
+ ) {
+ 
+ 147 
+ O_ITEM2
+ : 
+ ¬gty³
+  = 2; ;
+ 
+ 148 
+ O_ITEM3
+ : 
+ ¬gty³
+  = 3; ;
+ 
+ 149 : 
+ ¬gty³
+  = 
+ ªum
+ ; ;
+ 
+ 151 
+ ¡r
+  = 
+ 	`aãtch
+ (
+ 	`¡ab_¬¿y
+ (
+ ¬g±r
+ .
+ ¬g_¡ab
+ ),
+ 
+ 152 
+ ¬g
+ [
+ ¬gty³
+ ].
+ ¬g_Ën
+  - 
+ ¬yba£
+ , 
+ TRUE
+ );
+ 
+ 153 #ifdeà
+ DEBUGGING
+ 
+ 
+ 154 ià(
+ debug
+  & 8) {
+ 
+ 155 ()
+ 	`¥rštf
+ (
+ buf
+ ,"LARYSTAB $%s[%d]",
+ 	`¡ab_Çme
+ (
+ ¬g±r
+ .
+ ¬g_¡ab
+ ),
+ 
+ 156 
+ ¬g
+ [
+ ¬gty³
+ ].
+ ¬g_Ën
+ );
+ 
+ 157 
+ tmps
+  = 
+ buf
+ ;
+ 
+ 160 
+ do_üem’t
+ ;
+ 
+ 161 
+ A_ARYSTAB
+ :
+ 
+ 162 
+ Ýty³
+ ) {
+ 
+ 163 
+ O_ITEM2
+ : 
+ ¬gty³
+  = 2; ;
+ 
+ 164 
+ O_ITEM3
+ : 
+ ¬gty³
+  = 3; ;
+ 
+ 165 : 
+ ¬gty³
+  = 
+ ªum
+ ; ;
+ 
+ 167 
+ ¡
+ [++
+ ¥
+ ] = 
+ 	`aãtch
+ (
+ 	`¡ab_¬¿y
+ (
+ ¬g±r
+ .
+ ¬g_¡ab
+ ),
+ 
+ 168 
+ ¬g
+ [
+ ¬gty³
+ ].
+ ¬g_Ën
+  - 
+ ¬yba£
+ , 
+ FALSE
+ );
+ 
+ 169 #ifdeà
+ DEBUGGING
+ 
+ 
+ 170 ià(
+ debug
+  & 8) {
+ 
+ 171 ()
+ 	`¥rštf
+ (
+ buf
+ ,"ARYSTAB $%s[%d]",
+ 	`¡ab_Çme
+ (
+ ¬g±r
+ .
+ ¬g_¡ab
+ ),
+ 
+ 172 
+ ¬g
+ [
+ ¬gty³
+ ].
+ ¬g_Ën
+ );
+ 
+ 173 
+ tmps
+  = 
+ buf
+ ;
+ 
+ 177 
+ A_STAR
+ :
+ 
+ 178 
+ ¡ab
+  = 
+ ¬g±r
+ .
+ ¬g_¡ab
+ ;
+ 
+ 179 
+ ¡
+ [++
+ ¥
+ ] = (
+ STR
+ *)
+ ¡ab
+ ;
+ 
+ 180 ià(!
+ 	`¡ab_x¬¿y
+ (
+ ¡ab
+ ))
+ 
+ 181 
+ 	`¯dd
+ (
+ ¡ab
+ );
+ 
+ 182 ià(!
+ 	`¡ab_xhash
+ (
+ ¡ab
+ ))
+ 
+ 183 
+ 	`hadd
+ (
+ ¡ab
+ );
+ 
+ 184 ià(!
+ 	`¡ab_io
+ (
+ ¡ab
+ ))
+ 
+ 185 
+ 	`¡ab_io
+ (
+ ¡ab
+ èð
+ 	`¡io_Ãw
+ ();
+ 
+ 186 #ifdeà
+ DEBUGGING
+ 
+ 
+ 187 ià(
+ debug
+  & 8) {
+ 
+ 188 ()
+ 	`¥rštf
+ (
+ buf
+ ,"STAR *%s",
+ 	`¡ab_Çme
+ (
+ ¬g±r
+ .
+ ¬g_¡ab
+ ));
+ 
+ 189 
+ tmps
+  = 
+ buf
+ ;
+ 
+ 193 
+ A_LSTAR
+ :
+ 
+ 194 
+ ¡r
+  = 
+ ¡
+ [++
+ ¥
+ ] = (
+ STR
+ *)
+ ¬g±r
+ .
+ ¬g_¡ab
+ ;
+ 
+ 195 #ifdeà
+ DEBUGGING
+ 
+ 
+ 196 ià(
+ debug
+  & 8) {
+ 
+ 197 ()
+ 	`¥rštf
+ (
+ buf
+ ,"LSTAR *%s",
+ 	`¡ab_Çme
+ (
+ ¬g±r
+ .
+ ¬g_¡ab
+ ));
+ 
+ 198 
+ tmps
+  = 
+ buf
+ ;
+ 
+ 202 
+ A_STAB
+ :
+ 
+ 203 
+ ¡
+ [++
+ ¥
+ ] = 
+ 	`STAB_STR
+ (
+ ¬g±r
+ .
+ ¬g_¡ab
+ );
+ 
+ 204 #ifdeà
+ DEBUGGING
+ 
+ 
+ 205 ià(
+ debug
+  & 8) {
+ 
+ 206 ()
+ 	`¥rštf
+ (
+ buf
+ ,"STAB $%s",
+ 	`¡ab_Çme
+ (
+ ¬g±r
+ .
+ ¬g_¡ab
+ ));
+ 
+ 207 
+ tmps
+  = 
+ buf
+ ;
+ 
+ 211 
+ A_LEXPR
+ :
+ 
+ 212 #ifdeà
+ DEBUGGING
+ 
+ 
+ 213 ià(
+ debug
+  & 8) {
+ 
+ 214 
+ tmps
+  = "LEXPR";
+ 
+ 215 
+ 	`deb
+ ("%d.LEXPR =>\n",
+ ªum
+ );
+ 
+ 218 ià(
+ ¬gæags
+  & 
+ AF_ARYOK
+ ) {
+ 
+ 219 
+ ¥
+  = 
+ 	`ev®
+ (
+ ¬g±r
+ .
+ ¬g_¬g
+ , 
+ G_ARRAY
+ , sp);
+ 
+ 220 ià(
+ ¥
+  + (
+ max¬g
+  - 
+ ªum
+ è> 
+ ¡ack
+ ->
+ ¬y_max
+ )
+ 
+ 221 
+ 	`a¡Üe
+ (
+ ¡ack
+ , 
+ ¥
+  + (
+ max¬g
+  - 
+ ªum
+ ), 
+ NuΡr
+ );
+ 
+ 222 
+ ¡
+  = 
+ ¡ack
+ ->
+ ¬y_¬¿y
+ ;
+ 
+ 225 
+ ¥
+  = 
+ 	`ev®
+ (
+ ¬g±r
+ .
+ ¬g_¬g
+ , 
+ G_SCALAR
+ , sp);
+ 
+ 226 
+ ¡
+  = 
+ ¡ack
+ ->
+ ¬y_¬¿y
+ ;
+ 
+ 227 
+ ¡r
+  = 
+ ¡
+ [
+ ¥
+ ];
+ 
+ 228 
+ do_üem’t
+ ;
+ 
+ 231 
+ A_LVAL
+ :
+ 
+ 232 #ifdeà
+ DEBUGGING
+ 
+ 
+ 233 ià(
+ debug
+  & 8) {
+ 
+ 234 ()
+ 	`¥rštf
+ (
+ buf
+ ,"LVAL $%s",
+ 	`¡ab_Çme
+ (
+ ¬g±r
+ .
+ ¬g_¡ab
+ ));
+ 
+ 235 
+ tmps
+  = 
+ buf
+ ;
+ 
+ 238 ++
+ ¥
+ ;
+ 
+ 239 
+ ¡r
+  = 
+ 	`STAB_STR
+ (
+ ¬g±r
+ .
+ ¬g_¡ab
+ );
+ 
+ 240 ià(!
+ ¡r
+ )
+ 
+ 241 
+ 	`çl
+ ("panic: A_LVAL");
+ 
+ 242 
+ do_üem’t
+ :
+ 
+ 243 
+ assignšg
+  = 
+ TRUE
+ ;
+ 
+ 244 ià(
+ ¬gæags
+  & 
+ AF_PRE
+ ) {
+ 
+ 245 ià(
+ ¬gæags
+  & 
+ AF_UP
+ )
+ 
+ 246 
+ 	`¡r_šc
+ (
+ ¡r
+ );
+ 
+ 248 
+ 	`¡r_dec
+ (
+ ¡r
+ );
+ 
+ 249 
+ 	`STABSET
+ (
+ ¡r
+ );
+ 
+ 250 
+ ¡
+ [
+ ¥
+ ] = 
+ ¡r
+ ;
+ 
+ 251 
+ ¡r
+  = 
+ ¬g
+ ->
+ ¬g_±r
+ .
+ ¬g_¡r
+ ;
+ 
+ 253 ià(
+ ¬gæags
+  & 
+ AF_POST
+ ) {
+ 
+ 254 
+ ¡
+ [
+ ¥
+ ] = 
+ 	`¡r_m܏l
+ (
+ ¡r
+ );
+ 
+ 255 ià(
+ ¬gæags
+  & 
+ AF_UP
+ )
+ 
+ 256 
+ 	`¡r_šc
+ (
+ ¡r
+ );
+ 
+ 258 
+ 	`¡r_dec
+ (
+ ¡r
+ );
+ 
+ 259 
+ 	`STABSET
+ (
+ ¡r
+ );
+ 
+ 260 
+ ¡r
+  = 
+ ¬g
+ ->
+ ¬g_±r
+ .
+ ¬g_¡r
+ ;
+ 
+ 263 
+ ¡
+ [
+ ¥
+ ] = 
+ ¡r
+ ;
+ 
+ 265 
+ A_LARYLEN
+ :
+ 
+ 266 ++
+ ¥
+ ;
+ 
+ 267 
+ ¡ab
+  = 
+ ¬g±r
+ .
+ ¬g_¡ab
+ ;
+ 
+ 268 
+ ¡r
+  = 
+ 	`¡ab_¬¿y
+ (
+ ¬g±r
+ .
+ ¬g_¡ab
+ )->
+ ¬y_magic
+ ;
+ 
+ 269 ià(
+ Ýty³
+  !ð
+ O_SASSIGN
+  || 
+ ¬gæags
+  & (
+ AF_PRE
+ |
+ AF_POST
+ ))
+ 
+ 270 
+ 	`¡r_num£t
+ (
+ ¡r
+ ,()(
+ 	`¡ab_¬¿y
+ (
+ ¡ab
+ )->
+ ¬y_fžl
+ +
+ ¬yba£
+ ));
+ 
+ 271 #ifdeà
+ DEBUGGING
+ 
+ 
+ 272 
+ tmps
+  = "LARYLEN";
+ 
+ 274 ià(!
+ ¡r
+ )
+ 
+ 275 
+ 	`çl
+ ("panic: A_LEXPR");
+ 
+ 276 
+ do_üem’t
+ ;
+ 
+ 277 
+ A_ARYLEN
+ :
+ 
+ 278 
+ ¡ab
+  = 
+ ¬g±r
+ .
+ ¬g_¡ab
+ ;
+ 
+ 279 
+ ¡
+ [++
+ ¥
+ ] = 
+ 	`¡ab_¬¿y
+ (
+ ¡ab
+ )->
+ ¬y_magic
+ ;
+ 
+ 280 
+ 	`¡r_num£t
+ (
+ ¡
+ [
+ ¥
+ ],()(
+ 	`¡ab_¬¿y
+ (
+ ¡ab
+ )->
+ ¬y_fžl
+ +
+ ¬yba£
+ ));
+ 
+ 281 #ifdeà
+ DEBUGGING
+ 
+ 
+ 282 
+ tmps
+  = "ARYLEN";
+ 
+ 285 
+ A_SINGLE
+ :
+ 
+ 286 
+ ¡
+ [++
+ ¥
+ ] = 
+ ¬g±r
+ .
+ ¬g_¡r
+ ;
+ 
+ 287 #ifdeà
+ DEBUGGING
+ 
+ 
+ 288 
+ tmps
+  = "SINGLE";
+ 
+ 291 
+ A_DOUBLE
+ :
+ 
+ 292 (è
+ 	`š‹½
+ (
+ ¡r
+ ,
+ ¬g±r
+ .
+ ¬g_¡r
+ ,
+ ¥
+ );
+ 
+ 293 
+ ¡
+  = 
+ ¡ack
+ ->
+ ¬y_¬¿y
+ ;
+ 
+ 294 
+ ¡
+ [++
+ ¥
+ ] = 
+ ¡r
+ ;
+ 
+ 295 #ifdeà
+ DEBUGGING
+ 
+ 
+ 296 
+ tmps
+  = "DOUBLE";
+ 
+ 299 
+ A_BACKTICK
+ :
+ 
+ 300 
+ tmps
+  = 
+ 	`¡r_g‘
+ (
+ 	`š‹½
+ (
+ ¡r
+ ,
+ ¬g±r
+ .
+ ¬g_¡r
+ ,
+ ¥
+ ));
+ 
+ 301 
+ ¡
+  = 
+ ¡ack
+ ->
+ ¬y_¬¿y
+ ;
+ 
+ 302 #ifdeà
+ TAINT
+ 
+ 
+ 303 
+ 	`šrÝ”
+ ("Insecure dependency in ``");
+ 
+ 305 
+ å
+  = 
+ 	`mypݒ
+ (
+ tmps
+ ,"r");
+ 
+ 306 
+ 	`¡r_£t
+ (
+ ¡r
+ ,"");
+ 
+ 307 ià(
+ å
+ ) {
+ 
+ 308 ià(
+ gimme
+  =ð
+ G_SCALAR
+ ) {
+ 
+ 309 
+ 	`¡r_g‘s
+ (
+ ¡r
+ ,
+ å
+ ,¡r->
+ ¡r_cur
+ è!ð
+ NuÎch
+ )
+ 
+ 314 ià(++
+ ¥
+  > 
+ ¡ack
+ ->
+ ¬y_max
+ ) {
+ 
+ 315 
+ 	`a¡Üe
+ (
+ ¡ack
+ , 
+ ¥
+ , 
+ NuΡr
+ );
+ 
+ 316 
+ ¡
+  = 
+ ¡ack
+ ->
+ ¬y_¬¿y
+ ;
+ 
+ 318 
+ ¡r
+  = 
+ ¡
+ [
+ ¥
+ ] = 
+ 	`SŒ_Ãw
+ (56,80);
+ 
+ 319 ià(
+ 	`¡r_g‘s
+ (
+ ¡r
+ ,
+ å
+ ,0è=ð
+ NuÎch
+ ) {
+ 
+ 320 
+ ¥
+ --;
+ 
+ 323 ià(
+ ¡r
+ ->
+ ¡r_Ën
+  - sŒ->
+ ¡r_cur
+  > 20) {
+ 
+ 324 
+ ¡r
+ ->
+ ¡r_Ën
+  = sŒ->
+ ¡r_cur
+ +1;
+ 
+ 325 
+ 	`R’ew
+ (
+ ¡r
+ ->
+ ¡r_±r
+ , sŒ->
+ ¡r_Ën
+ , );
+ 
+ 327 
+ 	`¡r_2m܏l
+ (
+ ¡r
+ );
+ 
+ 330 
+ ¡©usv®ue
+  = 
+ 	`mypþo£
+ (
+ å
+ );
+ 
+ 333 
+ ¡©usv®ue
+  = -1;
+ 
+ 335 ià(
+ gimme
+  =ð
+ G_SCALAR
+ )
+ 
+ 336 
+ ¡
+ [++
+ ¥
+ ] = 
+ ¡r
+ ;
+ 
+ 337 #ifdeà
+ DEBUGGING
+ 
+ 
+ 338 
+ tmps
+  = "BACK";
+ 
+ 341 
+ A_WANTARRAY
+ :
+ 
+ 343 ià(
+ curcsv
+ ->
+ wª¼ay
+  =ð
+ G_ARRAY
+ )
+ 
+ 344 
+ ¡
+ [++
+ ¥
+ ] = &
+ ¡r_yes
+ ;
+ 
+ 346 
+ ¡
+ [++
+ ¥
+ ] = &
+ ¡r_no
+ ;
+ 
+ 348 #ifdeà
+ DEBUGGING
+ 
+ 
+ 349 
+ tmps
+  = "WANTARRAY";
+ 
+ 352 
+ A_INDREAD
+ :
+ 
+ 353 
+ Ï¡_š_¡ab
+  = 
+ 	`¡ab’t
+ (
+ 	`¡r_g‘
+ (
+ 	`STAB_STR
+ (
+ ¬g±r
+ .
+ ¬g_¡ab
+ )),
+ TRUE
+ );
+ 
+ 354 
+ Þd_rsch¬
+  = 
+ rsch¬
+ ;
+ 
+ 355 
+ Þd_r¦’
+  = 
+ r¦’
+ ;
+ 
+ 356 
+ do_»ad
+ ;
+ 
+ 357 
+ A_GLOB
+ :
+ 
+ 358 
+ ¬gæags
+  |ð
+ AF_POST
+ ;
+ 
+ 359 
+ Ï¡_š_¡ab
+  = 
+ ¬g±r
+ .
+ ¬g_¡ab
+ ;
+ 
+ 360 
+ Þd_rsch¬
+  = 
+ rsch¬
+ ;
+ 
+ 361 
+ Þd_r¦’
+  = 
+ r¦’
+ ;
+ 
+ 362 
+ r¦’
+  = 1;
+ 
+ 363 #ifdeà
+ MSDOS
+ 
+ 
+ 364 
+ rsch¬
+  = 0;
+ 
+ 366 #ifdeà
+ CSH
+ 
+ 
+ 367 
+ rsch¬
+  = 0;
+ 
+ 369 
+ rsch¬
+  = '\n';
+ 
+ 372 
+ do_»ad
+ ;
+ 
+ 373 
+ A_READ
+ :
+ 
+ 374 
+ Ï¡_š_¡ab
+  = 
+ ¬g±r
+ .
+ ¬g_¡ab
+ ;
+ 
+ 375 
+ Þd_rsch¬
+  = 
+ rsch¬
+ ;
+ 
+ 376 
+ Þd_r¦’
+  = 
+ r¦’
+ ;
+ 
+ 377 
+ do_»ad
+ :
+ 
+ 378 ià(
+ ªum
+  > 1)
+ 
+ 379 
+ gimme
+  = 
+ G_SCALAR
+ ;
+ 
+ 380 ià(
+ gimme
+  =ð
+ G_ARRAY
+ )
+ 
+ 381 
+ ¡r
+  = 
+ 	`SŒ_Ãw
+ (57,0);
+ 
+ 382 ++
+ ¥
+ ;
+ 
+ 383 
+ å
+  = 
+ NuÎå
+ ;
+ 
+ 384 ià(
+ 	`¡ab_io
+ (
+ Ï¡_š_¡ab
+ )) {
+ 
+ 385 
+ å
+  = 
+ 	`¡ab_io
+ (
+ Ï¡_š_¡ab
+ )->
+ iå
+ ;
+ 
+ 386 ià(!
+ å
+ ) {
+ 
+ 387 ià(
+ 	`¡ab_io
+ (
+ Ï¡_š_¡ab
+ )->
+ æags
+  & 
+ IOF_ARGV
+ ) {
+ 
+ 388 ià(
+ 	`¡ab_io
+ (
+ Ï¡_š_¡ab
+ )->
+ æags
+  & 
+ IOF_START
+ ) {
+ 
+ 389 
+ 	`¡ab_io
+ (
+ Ï¡_š_¡ab
+ )->
+ æags
+  &ð~
+ IOF_START
+ ;
+ 
+ 390 
+ 	`¡ab_io
+ (
+ Ï¡_š_¡ab
+ )->
+ lšes
+  = 0;
+ 
+ 391 ià(
+ 	`®’
+ (
+ 	`¡ab_¬¿y
+ (
+ Ï¡_š_¡ab
+ )) < 0) {
+ 
+ 392 
+ tmp¡r
+  = 
+ 	`¡r_make
+ ("-",1);
+ 
+ 393 ()
+ 	`­ush
+ (
+ 	`¡ab_¬¿y
+ (
+ Ï¡_š_¡ab
+ ), 
+ tmp¡r
+ );
+ 
+ 396 
+ å
+  = 
+ 	`Ãxrgv
+ (
+ Ï¡_š_¡ab
+ );
+ 
+ 397 ià(!
+ å
+ ) {
+ 
+ 398 ()
+ 	`do_þo£
+ (
+ Ï¡_š_¡ab
+ ,
+ FALSE
+ );
+ 
+ 399 
+ 	`¡ab_io
+ (
+ Ï¡_š_¡ab
+ )->
+ æags
+  |ð
+ IOF_START
+ ;
+ 
+ 402 ià(
+ ¬gty³
+  =ð
+ A_GLOB
+ ) {
+ 
+ 403 (è
+ 	`š‹½
+ (
+ ¡r
+ ,
+ 	`¡ab_v®
+ (
+ Ï¡_š_¡ab
+ ),
+ ¥
+ );
+ 
+ 404 
+ ¡
+  = 
+ ¡ack
+ ->
+ ¬y_¬¿y
+ ;
+ 
+ 405 
+ tmp¡r
+  = 
+ 	`SŒ_Ãw
+ (55,0);
+ 
+ 406 #ifdeà
+ MSDOS
+ 
+ 
+ 407 
+ 	`¡r_£t
+ (
+ tmp¡r
+ , "perlglob ");
+ 
+ 408 
+ 	`¡r_sÿt
+ (
+ tmp¡r
+ ,
+ ¡r
+ );
+ 
+ 409 
+ 	`¡r_ÿt
+ (
+ tmp¡r
+ ," |");
+ 
+ 411 #ifdeà
+ CSH
+ 
+ 
+ 412 
+ 	`¡r_n£t
+ (
+ tmp¡r
+ ,
+ cshÇme
+ ,
+ cshËn
+ );
+ 
+ 413 
+ 	`¡r_ÿt
+ (
+ tmp¡r
+ ," -cf 'set‚onomatch; glob ");
+ 
+ 414 
+ 	`¡r_sÿt
+ (
+ tmp¡r
+ ,
+ ¡r
+ );
+ 
+ 415 
+ 	`¡r_ÿt
+ (
+ tmp¡r
+ ,"'|");
+ 
+ 417 
+ 	`¡r_£t
+ (
+ tmp¡r
+ , "echo ");
+ 
+ 418 
+ 	`¡r_sÿt
+ (
+ tmp¡r
+ ,
+ ¡r
+ );
+ 
+ 419 
+ 	`¡r_ÿt
+ (
+ tmp¡r
+ ,
+ 
+ 423 ()
+ 	`do_ݒ
+ (
+ Ï¡_š_¡ab
+ ,
+ tmp¡r
+ ->
+ ¡r_±r
+ ,
+ 
+ 424 
+ tmp¡r
+ ->
+ ¡r_cur
+ );
+ 
+ 425 
+ å
+  = 
+ 	`¡ab_io
+ (
+ Ï¡_š_¡ab
+ )->
+ iå
+ ;
+ 
+ 426 
+ 	`¡r_ä“
+ (
+ tmp¡r
+ );
+ 
+ 430 ià(!
+ å
+  && 
+ dow¬n
+ )
+ 
+ 431 
+ 	`w¬n
+ ("R—d oÀþo£d fžehªdË <%s>",
+ 	`¡ab_Çme
+ (
+ Ï¡_š_¡ab
+ ));
+ 
+ 432 
+ wh’
+  = 
+ ¡r
+ ->
+ ¡r_Ën
+ ;
+ 
+ 433 ià(!
+ wh’
+ )
+ 
+ 434 
+ 	`SŒ_Grow
+ (
+ ¡r
+ ,80);
+ 
+ 435 
+ k“pgošg
+ :
+ 
+ 436 ià(!
+ å
+ )
+ 
+ 437 
+ ¡
+ [
+ ¥
+ ] = &
+ ¡r_undef
+ ;
+ 
+ 438 ià(!
+ 	`¡r_g‘s
+ (
+ ¡r
+ ,
+ å
+ , 
+ Ýty³
+  =ð
+ O_RCAT
+  ? sŒ->
+ ¡r_cur
+  : 0)) {
+ 
+ 439 
+ 	`þ—»¼
+ (
+ å
+ );
+ 
+ 440 ià(
+ 	`¡ab_io
+ (
+ Ï¡_š_¡ab
+ )->
+ æags
+  & 
+ IOF_ARGV
+ ) {
+ 
+ 441 
+ å
+  = 
+ 	`Ãxrgv
+ (
+ Ï¡_š_¡ab
+ );
+ 
+ 442 ià(
+ å
+ )
+ 
+ 443 
+ k“pgošg
+ ;
+ 
+ 444 ()
+ 	`do_þo£
+ (
+ Ï¡_š_¡ab
+ ,
+ FALSE
+ );
+ 
+ 445 
+ 	`¡ab_io
+ (
+ Ï¡_š_¡ab
+ )->
+ æags
+  |ð
+ IOF_START
+ ;
+ 
+ 447 ià(
+ ¬gæags
+  & 
+ AF_POST
+ ) {
+ 
+ 448 ()
+ 	`do_þo£
+ (
+ Ï¡_š_¡ab
+ ,
+ FALSE
+ );
+ 
+ 450 
+ ¡
+ [
+ ¥
+ ] = &
+ ¡r_undef
+ ;
+ 
+ 451 
+ rsch¬
+  = 
+ Þd_rsch¬
+ ;
+ 
+ 452 
+ r¦’
+  = 
+ Þd_r¦’
+ ;
+ 
+ 453 ià(
+ gimme
+  =ð
+ G_ARRAY
+ ) {
+ 
+ 454 --
+ ¥
+ ;
+ 
+ 455 
+ 	`¡r_2m܏l
+ (
+ ¡r
+ );
+ 
+ 456 
+ ¬¿y_»tuº
+ ;
+ 
+ 461 
+ 	`¡ab_io
+ (
+ Ï¡_š_¡ab
+ )->
+ lšes
+ ++;
+ 
+ 462 
+ ¡
+ [
+ ¥
+ ] = 
+ ¡r
+ ;
+ 
+ 463 #ifdeà
+ TAINT
+ 
+ 
+ 464 
+ ¡r
+ ->
+ ¡r_š‹d
+  = 1;
+ 
+ 466 ià(
+ ¬gæags
+  & 
+ AF_POST
+ ) {
+ 
+ 467 ià(
+ ¡r
+ ->
+ ¡r_cur
+  > 0)
+ 
+ 468 
+ ¡r
+ ->
+ ¡r_cur
+ --;
+ 
+ 469 ià(
+ ¡r
+ ->
+ ¡r_±r
+ [¡r->
+ ¡r_cur
+ ] =ð
+ rsch¬
+ )
+ 
+ 470 
+ ¡r
+ ->
+ ¡r_±r
+ [¡r->
+ ¡r_cur
+ ] = '\0';
+ 
+ 472 
+ ¡r
+ ->
+ ¡r_cur
+ ++;
+ 
+ 473 
+ tmps
+  = 
+ ¡r
+ ->
+ ¡r_±r
+ ; *tmps;mps++)
+ 
+ 474 ià(!
+ 	`i§Íha
+ (*
+ tmps
+ è&& !
+ 	`isdig™
+ (*tmps) &&
+ 
+ 475 
+ 	`šdex
+ ("$&*(){}[]'\";\\|?<>~`",*
+ tmps
+ ))
+ 
+ 477 ià(*
+ tmps
+  && 
+ 	`¡©
+ (
+ ¡r
+ ->
+ ¡r_±r
+ ,&
+ ¡©buf
+ ) < 0)
+ 
+ 478 
+ k“pgošg
+ ;
+ 
+ 480 ià(
+ gimme
+  =ð
+ G_ARRAY
+ ) {
+ 
+ 481 ià(
+ ¡r
+ ->
+ ¡r_Ën
+  - sŒ->
+ ¡r_cur
+  > 20) {
+ 
+ 482 
+ ¡r
+ ->
+ ¡r_Ën
+  = sŒ->
+ ¡r_cur
+ +1;
+ 
+ 483 
+ 	`R’ew
+ (
+ ¡r
+ ->
+ ¡r_±r
+ , sŒ->
+ ¡r_Ën
+ , );
+ 
+ 485 
+ 	`¡r_2m܏l
+ (
+ ¡r
+ );
+ 
+ 486 ià(++
+ ¥
+  > 
+ ¡ack
+ ->
+ ¬y_max
+ ) {
+ 
+ 487 
+ 	`a¡Üe
+ (
+ ¡ack
+ , 
+ ¥
+ , 
+ NuΡr
+ );
+ 
+ 488 
+ ¡
+  = 
+ ¡ack
+ ->
+ ¬y_¬¿y
+ ;
+ 
+ 490 
+ ¡r
+  = 
+ 	`SŒ_Ãw
+ (58,80);
+ 
+ 491 
+ k“pgošg
+ ;
+ 
+ 493 ià(!
+ wh’
+  && 
+ ¡r
+ ->
+ ¡r_Ën
+  - sŒ->
+ ¡r_cur
+  > 80) {
+ 
+ 495 ià(
+ ¡r
+ ->
+ ¡r_cur
+  < 60)
+ 
+ 496 
+ ¡r
+ ->
+ ¡r_Ën
+  = 80;
+ 
+ 498 
+ ¡r
+ ->
+ ¡r_Ën
+  = sŒ->
+ ¡r_cur
+ +40;
+ 
+ 499 
+ 	`R’ew
+ (
+ ¡r
+ ->
+ ¡r_±r
+ , sŒ->
+ ¡r_Ën
+ , );
+ 
+ 502 
+ rsch¬
+  = 
+ Þd_rsch¬
+ ;
+ 
+ 503 
+ r¦’
+  = 
+ Þd_r¦’
+ ;
+ 
+ 504 #ifdeà
+ DEBUGGING
+ 
+ 
+ 505 
+ tmps
+  = "READ";
+ 
+ 509 #ifdeà
+ DEBUGGING
+ 
+ 
+ 510 ià(
+ debug
+  & 8)
+ 
+ 511 
+ 	`deb
+ ("%d.% ð'%s'\n",
+ ªum
+ ,
+ tmps
+ ,
+ 	`¡r_³ek
+ (
+ ¡
+ [
+ ¥
+ ]));
+ 
+ 513 ià(
+ ªum
+  < 8)
+ 
+ 514 
+ ¬gÏ¡
+ [
+ ªum
+ ] = 
+ ¥
+ ;
+ 
+ 517 
+ ¡
+  +ð
+ ¬gÏ¡
+ [0];
+ 
+ 518 #ifdeà
+ SMALLSWITCHES
+ 
+ 
+ 519 ià(
+ Ýty³
+  < 
+ O_CHOWN
+ )
+ 
+ 521 
+ Ýty³
+ ) {
+ 
+ 522 
+ O_RCAT
+ :
+ 
+ 523 
+ 	`STABSET
+ (
+ ¡r
+ );
+ 
+ 525 
+ O_ITEM
+ :
+ 
+ 526 ià(
+ gimme
+  =ð
+ G_ARRAY
+ )
+ 
+ 527 
+ ¬¿y_»tuº
+ ;
+ 
+ 529 
+ O_SCALAR
+ :
+ 
+ 530 
+ 	`STR_SSET
+ (
+ ¡r
+ ,
+ ¡
+ [1]);
+ 
+ 531 
+ 	`STABSET
+ (
+ ¡r
+ );
+ 
+ 533 
+ O_ITEM2
+ :
+ 
+ 534 ià(
+ gimme
+  =ð
+ G_ARRAY
+ )
+ 
+ 535 
+ ¬¿y_»tuº
+ ;
+ 
+ 536 --
+ ªum
+ ;
+ 
+ 537 
+ 	`STR_SSET
+ (
+ ¡r
+ ,
+ ¡
+ [
+ ¬gÏ¡
+ [
+ ªum
+ ]-arglast[0]]);
+ 
+ 538 
+ 	`STABSET
+ (
+ ¡r
+ );
+ 
+ 540 
+ O_ITEM3
+ :
+ 
+ 541 ià(
+ gimme
+  =ð
+ G_ARRAY
+ )
+ 
+ 542 
+ ¬¿y_»tuº
+ ;
+ 
+ 543 --
+ ªum
+ ;
+ 
+ 544 
+ 	`STR_SSET
+ (
+ ¡r
+ ,
+ ¡
+ [
+ ¬gÏ¡
+ [
+ ªum
+ ]-arglast[0]]);
+ 
+ 545 
+ 	`STABSET
+ (
+ ¡r
+ );
+ 
+ 547 
+ O_CONCAT
+ :
+ 
+ 548 
+ 	`STR_SSET
+ (
+ ¡r
+ ,
+ ¡
+ [1]);
+ 
+ 549 
+ 	`¡r_sÿt
+ (
+ ¡r
+ ,
+ ¡
+ [2]);
+ 
+ 550 
+ 	`STABSET
+ (
+ ¡r
+ );
+ 
+ 552 
+ O_REPEAT
+ :
+ 
+ 553 ià(
+ gimme
+  =ð
+ G_ARRAY
+  && 
+ ¬g
+ [1].
+ ¬g_æags
+  & 
+ AF_ARYOK
+ ) {
+ 
+ 554 
+ ¥
+  = 
+ 	`do_»³©¬y
+ (
+ ¬gÏ¡
+ );
+ 
+ 555 
+ ¬¿y_»tuº
+ ;
+ 
+ 557 
+ 	`STR_SSET
+ (
+ ¡r
+ ,
+ ¡
+ [
+ ¬gÏ¡
+ [1] -‡rglast[0]]);
+ 
+ 558 
+ ªum
+  = ()
+ 	`¡r_gnum
+ (
+ ¡
+ [
+ ¬gÏ¡
+ [2] -‡rglast[0]]);
+ 
+ 559 ià(
+ ªum
+  >= 1) {
+ 
+ 560 
+ tmp¡r
+  = 
+ 	`SŒ_Ãw
+ (50, 0);
+ 
+ 561 
+ tmps
+  = 
+ 	`¡r_g‘
+ (
+ ¡r
+ );
+ 
+ 562 
+ 	`¡r_n£t
+ (
+ tmp¡r
+ ,
+ tmps
+ ,
+ ¡r
+ ->
+ ¡r_cur
+ );
+ 
+ 563 
+ tmps
+  = 
+ 	`¡r_g‘
+ (
+ tmp¡r
+ );
+ 
+ 564 
+ 	`STR_GROW
+ (
+ ¡r
+ , (
+ ªum
+  * sŒ->
+ ¡r_cur
+ ) + 1);
+ 
+ 565 
+ 	`»³©ýy
+ (
+ ¡r
+ ->
+ ¡r_±r
+ , 
+ tmps
+ , 
+ tmp¡r
+ ->
+ ¡r_cur
+ , 
+ ªum
+ );
+ 
+ 566 
+ ¡r
+ ->
+ ¡r_cur
+  *ð
+ ªum
+ ;
+ 
+ 567 
+ ¡r
+ ->
+ ¡r_±r
+ [¡r->
+ ¡r_cur
+ ] = '\0';
+ 
+ 568 
+ ¡r
+ ->
+ ¡r_nok
+  = 0;
+ 
+ 569 
+ 	`¡r_ä“
+ (
+ tmp¡r
+ );
+ 
+ 572 
+ 	`¡r_s£t
+ (
+ ¡r
+ ,&
+ ¡r_no
+ );
+ 
+ 573 
+ 	`STABSET
+ (
+ ¡r
+ );
+ 
+ 575 
+ O_MATCH
+ :
+ 
+ 576 
+ ¥
+  = 
+ 	`do_m©ch
+ (
+ ¡r
+ ,
+ ¬g
+ ,
+ 
+ 577 
+ gimme
+ ,
+ ¬gÏ¡
+ );
+ 
+ 578 ià(
+ gimme
+  =ð
+ G_ARRAY
+ )
+ 
+ 579 
+ ¬¿y_»tuº
+ ;
+ 
+ 580 
+ 	`STABSET
+ (
+ ¡r
+ );
+ 
+ 582 
+ O_NMATCH
+ :
+ 
+ 583 
+ ¥
+  = 
+ 	`do_m©ch
+ (
+ ¡r
+ ,
+ ¬g
+ ,
+ 
+ 584 
+ G_SCALAR
+ ,
+ ¬gÏ¡
+ );
+ 
+ 585 
+ 	`¡r_s£t
+ (
+ ¡r
+ , 
+ 	`¡r_Œue
+ (¡rè? &
+ ¡r_no
+  : &
+ ¡r_yes
+ );
+ 
+ 586 
+ 	`STABSET
+ (
+ ¡r
+ );
+ 
+ 588 
+ O_SUBST
+ :
+ 
+ 589 
+ ¥
+  = 
+ 	`do_sub¡
+ (
+ ¡r
+ ,
+ ¬g
+ ,
+ ¬gÏ¡
+ [0]);
+ 
+ 590 
+ ¬¿y_»tuº
+ ;
+ 
+ 591 
+ O_NSUBST
+ :
+ 
+ 592 
+ ¥
+  = 
+ 	`do_sub¡
+ (
+ ¡r
+ ,
+ ¬g
+ ,
+ ¬gÏ¡
+ [0]);
+ 
+ 593 
+ ¡r
+  = 
+ ¬g
+ ->
+ ¬g_±r
+ .
+ ¬g_¡r
+ ;
+ 
+ 594 
+ 	`¡r_£t
+ (
+ ¡r
+ , 
+ 	`¡r_Œue
+ (¡rè? 
+ No
+  : 
+ Yes
+ );
+ 
+ 595 
+ ¬¿y_»tuº
+ ;
+ 
+ 596 
+ O_ASSIGN
+ :
+ 
+ 597 ià(
+ ¬g
+ [1].
+ ¬g_æags
+  & 
+ AF_ARYOK
+ ) {
+ 
+ 598 ià(
+ ¬g
+ ->
+ ¬g_Ën
+  == 1) {
+ 
+ 599 
+ ¬g
+ ->
+ ¬g_ty³
+  = 
+ O_LOCAL
+ ;
+ 
+ 600 
+ loÿl
+ ;
+ 
+ 603 
+ ¬g
+ ->
+ ¬g_ty³
+  = 
+ O_AASSIGN
+ ;
+ 
+ 604 
+ ¯ssign
+ ;
+ 
+ 608 
+ ¬g
+ ->
+ ¬g_ty³
+  = 
+ O_SASSIGN
+ ;
+ 
+ 609 
+ §ssign
+ ;
+ 
+ 611 
+ O_LOCAL
+ :
+ 
+ 612 
+ loÿl
+ :
+ 
+ 613 
+ ¬gÏ¡
+ [2] =‡rglast[1];
+ 
+ 615 
+ O_AASSIGN
+ :
+ 
+ 616 
+ ¯ssign
+ :
+ 
+ 617 
+ ¥
+  = 
+ 	`do_assign
+ (
+ ¬g
+ ,
+ 
+ 618 
+ gimme
+ ,
+ ¬gÏ¡
+ );
+ 
+ 619 
+ ¬¿y_»tuº
+ ;
+ 
+ 620 
+ O_SASSIGN
+ :
+ 
+ 621 
+ §ssign
+ :
+ 
+ 622 
+ 	`STR_SSET
+ (
+ ¡r
+ , 
+ ¡
+ [2]);
+ 
+ 623 
+ 	`STABSET
+ (
+ ¡r
+ );
+ 
+ 625 
+ O_CHOP
+ :
+ 
+ 626 
+ ¡
+  -ð
+ ¬gÏ¡
+ [0];
+ 
+ 627 
+ ¡r
+  = 
+ ¬g
+ ->
+ ¬g_±r
+ .
+ ¬g_¡r
+ ;
+ 
+ 628 
+ ¥
+  = 
+ ¬gÏ¡
+ [0] + 1; sp <=‡rglast[1]; sp++)
+ 
+ 629 
+ 	`do_chÝ
+ (
+ ¡r
+ ,
+ ¡
+ [
+ ¥
+ ]);
+ 
+ 630 
+ ¡
+  +ð
+ ¬gÏ¡
+ [0];
+ 
+ 632 
+ O_DEFINED
+ :
+ 
+ 633 ià(
+ ¬g
+ [1].
+ ¬g_ty³
+  & 
+ A_DONT
+ ) {
+ 
+ 634 
+ ¥
+  = 
+ 	`do_defšed
+ (
+ ¡r
+ ,
+ ¬g
+ ,
+ 
+ 635 
+ gimme
+ ,
+ ¬gÏ¡
+ );
+ 
+ 636 
+ ¬¿y_»tuº
+ ;
+ 
+ 638 ià(
+ ¡r
+ ->
+ ¡r_pok
+  || sŒ->
+ ¡r_nok
+ )
+ 
+ 639 
+ §y_yes
+ ;
+ 
+ 640 
+ §y_no
+ ;
+ 
+ 641 
+ O_UNDEF
+ :
+ 
+ 642 ià(
+ ¬g
+ [1].
+ ¬g_ty³
+  & 
+ A_DONT
+ ) {
+ 
+ 643 
+ ¥
+  = 
+ 	`do_undef
+ (
+ ¡r
+ ,
+ ¬g
+ ,
+ 
+ 644 
+ gimme
+ ,
+ ¬gÏ¡
+ );
+ 
+ 645 
+ ¬¿y_»tuº
+ ;
+ 
+ 647 ià(
+ ¡r
+  !ð
+ 	`¡ab_v®
+ (
+ def¡ab
+ )) {
+ 
+ 648 ià(
+ ¡r
+ ->
+ ¡r_Ën
+ ) {
+ 
+ 649 ià(
+ ¡r
+ ->
+ ¡r_¡©e
+  =ð
+ SS_INCR
+ )
+ 
+ 650 
+ 	`SŒ_Grow
+ (
+ ¡r
+ ,0);
+ 
+ 651 
+ 	`Saãä“
+ (
+ ¡r
+ ->
+ ¡r_±r
+ );
+ 
+ 652 
+ ¡r
+ ->
+ ¡r_±r
+  = 
+ NuÎch
+ ;
+ 
+ 653 
+ ¡r
+ ->
+ ¡r_Ën
+  = 0;
+ 
+ 655 
+ ¡r
+ ->
+ ¡r_pok
+  = sŒ->
+ ¡r_nok
+  = 0;
+ 
+ 656 
+ 	`STABSET
+ (
+ ¡r
+ );
+ 
+ 658 
+ §y_undef
+ ;
+ 
+ 659 
+ O_STUDY
+ :
+ 
+ 660 
+ ¥
+  = 
+ 	`do_¡udy
+ (
+ ¡r
+ ,
+ ¬g
+ ,
+ 
+ 661 
+ gimme
+ ,
+ ¬gÏ¡
+ );
+ 
+ 662 
+ ¬¿y_»tuº
+ ;
+ 
+ 663 
+ O_POW
+ :
+ 
+ 664 
+ v®ue
+  = 
+ 	`¡r_gnum
+ (
+ ¡
+ [1]);
+ 
+ 665 
+ v®ue
+  = 
+ 	`pow
+ (v®ue,
+ 	`¡r_gnum
+ (
+ ¡
+ [2]));
+ 
+ 666 
+ dÚum£t
+ ;
+ 
+ 667 
+ O_MULTIPLY
+ :
+ 
+ 668 
+ v®ue
+  = 
+ 	`¡r_gnum
+ (
+ ¡
+ [1]);
+ 
+ 669 
+ v®ue
+  *ð
+ 	`¡r_gnum
+ (
+ ¡
+ [2]);
+ 
+ 670 
+ dÚum£t
+ ;
+ 
+ 671 
+ O_DIVIDE
+ :
+ 
+ 672 ià((
+ v®ue
+  = 
+ 	`¡r_gnum
+ (
+ ¡
+ [2])) == 0.0)
+ 
+ 673 
+ 	`çl
+ ("Illegal division by zero");
+ 
+ 674 #ifdeà
+ üay
+ 
+ 
+ 677 
+ x
+ ;
+ 
+ 678 
+ k
+ ;
+ 
+ 679 
+ x
+  = 
+ 	`¡r_gnum
+ (
+ ¡
+ [1]);
+ 
+ 680 ià(()()
+ x
+  == x &&
+ 
+ 681 ()()
+ v®ue
+  == value &&
+ 
+ 682 (
+ k
+  = ()
+ x
+ /()
+ v®ue
+ )*()value == ()x) {
+ 
+ 683 
+ v®ue
+  = 
+ k
+ ;
+ 
+ 685 
+ v®ue
+  = 
+ x
+ /value;
+ 
+ 689 
+ v®ue
+  = 
+ 	`¡r_gnum
+ (
+ ¡
+ [1]) / value;
+ 
+ 691 
+ dÚum£t
+ ;
+ 
+ 692 
+ O_MODULO
+ :
+ 
+ 693 
+ tm¶Úg
+  = (è
+ 	`¡r_gnum
+ (
+ ¡
+ [2]);
+ 
+ 694 ià(
+ tm¶Úg
+  == 0L)
+ 
+ 695 
+ 	`çl
+ ("Illegal modulus zero");
+ 
+ 696 
+ wh’
+  = ()
+ 	`¡r_gnum
+ (
+ ¡
+ [1]);
+ 
+ 697 #iâdeà
+ lšt
+ 
+ 
+ 698 ià(
+ wh’
+  >= 0)
+ 
+ 699 
+ v®ue
+  = ()(
+ wh’
+  % 
+ tm¶Úg
+ );
+ 
+ 701 
+ v®ue
+  = ()(
+ tm¶Úg
+  - ((-
+ wh’
+  - 1) %mplong)) - 1;
+ 
+ 703 
+ dÚum£t
+ ;
+ 
+ 704 
+ O_ADD
+ :
+ 
+ 705 
+ v®ue
+  = 
+ 	`¡r_gnum
+ (
+ ¡
+ [1]);
+ 
+ 706 
+ v®ue
+  +ð
+ 	`¡r_gnum
+ (
+ ¡
+ [2]);
+ 
+ 707 
+ dÚum£t
+ ;
+ 
+ 708 
+ O_SUBTRACT
+ :
+ 
+ 709 
+ v®ue
+  = 
+ 	`¡r_gnum
+ (
+ ¡
+ [1]);
+ 
+ 710 
+ v®ue
+  -ð
+ 	`¡r_gnum
+ (
+ ¡
+ [2]);
+ 
+ 711 
+ dÚum£t
+ ;
+ 
+ 712 
+ O_LEFT_SHIFT
+ :
+ 
+ 713 
+ v®ue
+  = 
+ 	`¡r_gnum
+ (
+ ¡
+ [1]);
+ 
+ 714 
+ ªum
+  = ()
+ 	`¡r_gnum
+ (
+ ¡
+ [2]);
+ 
+ 715 #iâdeà
+ lšt
+ 
+ 
+ 716 
+ v®ue
+  = ()(
+ 	`U_L
+ (v®ueè<< 
+ ªum
+ );
+ 
+ 718 
+ dÚum£t
+ ;
+ 
+ 719 
+ O_RIGHT_SHIFT
+ :
+ 
+ 720 
+ v®ue
+  = 
+ 	`¡r_gnum
+ (
+ ¡
+ [1]);
+ 
+ 721 
+ ªum
+  = ()
+ 	`¡r_gnum
+ (
+ ¡
+ [2]);
+ 
+ 722 #iâdeà
+ lšt
+ 
+ 
+ 723 
+ v®ue
+  = ()(
+ 	`U_L
+ (v®ueè>> 
+ ªum
+ );
+ 
+ 725 
+ dÚum£t
+ ;
+ 
+ 726 
+ O_LT
+ :
+ 
+ 727 
+ v®ue
+  = 
+ 	`¡r_gnum
+ (
+ ¡
+ [1]);
+ 
+ 728 
+ v®ue
+  = (v®u< 
+ 	`¡r_gnum
+ (
+ ¡
+ [2])) ? 1.0 : 0.0;
+ 
+ 729 
+ dÚum£t
+ ;
+ 
+ 730 
+ O_GT
+ :
+ 
+ 731 
+ v®ue
+  = 
+ 	`¡r_gnum
+ (
+ ¡
+ [1]);
+ 
+ 732 
+ v®ue
+  = (v®u> 
+ 	`¡r_gnum
+ (
+ ¡
+ [2])) ? 1.0 : 0.0;
+ 
+ 733 
+ dÚum£t
+ ;
+ 
+ 734 
+ O_LE
+ :
+ 
+ 735 
+ v®ue
+  = 
+ 	`¡r_gnum
+ (
+ ¡
+ [1]);
+ 
+ 736 
+ v®ue
+  = (v®u<ð
+ 	`¡r_gnum
+ (
+ ¡
+ [2])) ? 1.0 : 0.0;
+ 
+ 737 
+ dÚum£t
+ ;
+ 
+ 738 
+ O_GE
+ :
+ 
+ 739 
+ v®ue
+  = 
+ 	`¡r_gnum
+ (
+ ¡
+ [1]);
+ 
+ 740 
+ v®ue
+  = (v®u>ð
+ 	`¡r_gnum
+ (
+ ¡
+ [2])) ? 1.0 : 0.0;
+ 
+ 741 
+ dÚum£t
+ ;
+ 
+ 742 
+ O_EQ
+ :
+ 
+ 743 ià(
+ dow¬n
+ ) {
+ 
+ 744 ià((!
+ ¡
+ [1]->
+ ¡r_nok
+  && !
+ 	`looks_like_numb”
+ (st[1])) ||
+ 
+ 745 (!
+ ¡
+ [2]->
+ ¡r_nok
+  && !
+ 	`looks_like_numb”
+ (st[2])) )
+ 
+ 746 
+ 	`w¬n
+ ("Possible use of == on string value");
+ 
+ 748 
+ v®ue
+  = 
+ 	`¡r_gnum
+ (
+ ¡
+ [1]);
+ 
+ 749 
+ v®ue
+  = (v®u=ð
+ 	`¡r_gnum
+ (
+ ¡
+ [2])) ? 1.0 : 0.0;
+ 
+ 750 
+ dÚum£t
+ ;
+ 
+ 751 
+ O_NE
+ :
+ 
+ 752 
+ v®ue
+  = 
+ 	`¡r_gnum
+ (
+ ¡
+ [1]);
+ 
+ 753 
+ v®ue
+  = (v®u!ð
+ 	`¡r_gnum
+ (
+ ¡
+ [2])) ? 1.0 : 0.0;
+ 
+ 754 
+ dÚum£t
+ ;
+ 
+ 755 
+ O_NCMP
+ :
+ 
+ 756 
+ v®ue
+  = 
+ 	`¡r_gnum
+ (
+ ¡
+ [1]);
+ 
+ 757 
+ v®ue
+  -ð
+ 	`¡r_gnum
+ (
+ ¡
+ [2]);
+ 
+ 758 ià(
+ v®ue
+  > 0.0)
+ 
+ 759 
+ v®ue
+  = 1.0;
+ 
+ 760 ià(
+ v®ue
+  < 0.0)
+ 
+ 761 
+ v®ue
+  = -1.0;
+ 
+ 762 
+ dÚum£t
+ ;
+ 
+ 763 
+ O_BIT_AND
+ :
+ 
+ 764 ià(!
+ §wvec
+  || 
+ ¡
+ [1]->
+ ¡r_nok
+  || st[2]->str_nok) {
+ 
+ 765 
+ v®ue
+  = 
+ 	`¡r_gnum
+ (
+ ¡
+ [1]);
+ 
+ 766 #iâdeà
+ lšt
+ 
+ 
+ 767 
+ v®ue
+  = ()(
+ 	`U_L
+ (v®ueè& U_L(
+ 	`¡r_gnum
+ (
+ ¡
+ [2])));
+ 
+ 769 
+ dÚum£t
+ ;
+ 
+ 772 
+ 	`do_vÝ
+ (
+ Ýty³
+ ,
+ ¡r
+ ,
+ ¡
+ [1],st[2]);
+ 
+ 774 
+ O_XOR
+ :
+ 
+ 775 ià(!
+ §wvec
+  || 
+ ¡
+ [1]->
+ ¡r_nok
+  || st[2]->str_nok) {
+ 
+ 776 
+ v®ue
+  = 
+ 	`¡r_gnum
+ (
+ ¡
+ [1]);
+ 
+ 777 #iâdeà
+ lšt
+ 
+ 
+ 778 
+ v®ue
+  = ()(
+ 	`U_L
+ (v®ueè^ U_L(
+ 	`¡r_gnum
+ (
+ ¡
+ [2])));
+ 
+ 780 
+ dÚum£t
+ ;
+ 
+ 783 
+ 	`do_vÝ
+ (
+ Ýty³
+ ,
+ ¡r
+ ,
+ ¡
+ [1],st[2]);
+ 
+ 785 
+ O_BIT_OR
+ :
+ 
+ 786 ià(!
+ §wvec
+  || 
+ ¡
+ [1]->
+ ¡r_nok
+  || st[2]->str_nok) {
+ 
+ 787 
+ v®ue
+  = 
+ 	`¡r_gnum
+ (
+ ¡
+ [1]);
+ 
+ 788 #iâdeà
+ lšt
+ 
+ 
+ 789 
+ v®ue
+  = ()(
+ 	`U_L
+ (v®ueè| U_L(
+ 	`¡r_gnum
+ (
+ ¡
+ [2])));
+ 
+ 791 
+ dÚum£t
+ ;
+ 
+ 794 
+ 	`do_vÝ
+ (
+ Ýty³
+ ,
+ ¡r
+ ,
+ ¡
+ [1],st[2]);
+ 
+ 797 
+ O_AND
+ :
+ 
+ 798 ià(
+ 	`¡r_Œue
+ (
+ ¡
+ [1])) {
+ 
+ 799 
+ ªum
+  = 2;
+ 
+ 800 
+ Ýty³
+  = 
+ O_ITEM2
+ ;
+ 
+ 801 
+ ¬gæags
+  = 
+ ¬g
+ [
+ ªum
+ ].
+ ¬g_æags
+ ;
+ 
+ 802 ià(
+ gimme
+  =ð
+ G_ARRAY
+ )
+ 
+ 803 
+ ¬gæags
+  |ð
+ AF_ARYOK
+ ;
+ 
+ 804 
+ ¬gty³
+  = 
+ ¬g
+ [
+ ªum
+ ].
+ ¬g_ty³
+  & 
+ A_MASK
+ ;
+ 
+ 805 
+ ¬g±r
+  = 
+ ¬g
+ [
+ ªum
+ ].
+ ¬g_±r
+ ;
+ 
+ 806 
+ max¬g
+  = 
+ ªum
+  = 1;
+ 
+ 807 
+ ¥
+  = 
+ ¬gÏ¡
+ [0];
+ 
+ 808 
+ ¡
+  -ð
+ ¥
+ ;
+ 
+ 809 
+ »_ev®
+ ;
+ 
+ 812 ià(
+ assignšg
+ ) {
+ 
+ 813 
+ 	`¡r_s£t
+ (
+ ¡r
+ , 
+ ¡
+ [1]);
+ 
+ 814 
+ 	`STABSET
+ (
+ ¡r
+ );
+ 
+ 817 
+ ¡r
+  = 
+ ¡
+ [1];
+ 
+ 820 
+ O_OR
+ :
+ 
+ 821 ià(
+ 	`¡r_Œue
+ (
+ ¡
+ [1])) {
+ 
+ 822 ià(
+ assignšg
+ ) {
+ 
+ 823 
+ 	`¡r_s£t
+ (
+ ¡r
+ , 
+ ¡
+ [1]);
+ 
+ 824 
+ 	`STABSET
+ (
+ ¡r
+ );
+ 
+ 827 
+ ¡r
+  = 
+ ¡
+ [1];
+ 
+ 831 
+ ªum
+  = 2;
+ 
+ 832 
+ Ýty³
+  = 
+ O_ITEM2
+ ;
+ 
+ 833 
+ ¬gæags
+  = 
+ ¬g
+ [
+ ªum
+ ].
+ ¬g_æags
+ ;
+ 
+ 834 ià(
+ gimme
+  =ð
+ G_ARRAY
+ )
+ 
+ 835 
+ ¬gæags
+  |ð
+ AF_ARYOK
+ ;
+ 
+ 836 
+ ¬gty³
+  = 
+ ¬g
+ [
+ ªum
+ ].
+ ¬g_ty³
+  & 
+ A_MASK
+ ;
+ 
+ 837 
+ ¬g±r
+  = 
+ ¬g
+ [
+ ªum
+ ].
+ ¬g_±r
+ ;
+ 
+ 838 
+ max¬g
+  = 
+ ªum
+  = 1;
+ 
+ 839 
+ ¥
+  = 
+ ¬gÏ¡
+ [0];
+ 
+ 840 
+ ¡
+  -ð
+ ¥
+ ;
+ 
+ 841 
+ »_ev®
+ ;
+ 
+ 843 
+ O_COND_EXPR
+ :
+ 
+ 844 
+ ªum
+  = (
+ 	`¡r_Œue
+ (
+ ¡
+ [1]) ? 2 : 3);
+ 
+ 845 
+ Ýty³
+  = (
+ ªum
+  =ð2 ? 
+ O_ITEM2
+  : 
+ O_ITEM3
+ );
+ 
+ 846 
+ ¬gæags
+  = 
+ ¬g
+ [
+ ªum
+ ].
+ ¬g_æags
+ ;
+ 
+ 847 ià(
+ gimme
+  =ð
+ G_ARRAY
+ )
+ 
+ 848 
+ ¬gæags
+  |ð
+ AF_ARYOK
+ ;
+ 
+ 849 
+ ¬gty³
+  = 
+ ¬g
+ [
+ ªum
+ ].
+ ¬g_ty³
+  & 
+ A_MASK
+ ;
+ 
+ 850 
+ ¬g±r
+  = 
+ ¬g
+ [
+ ªum
+ ].
+ ¬g_±r
+ ;
+ 
+ 851 
+ max¬g
+  = 
+ ªum
+  = 1;
+ 
+ 852 
+ ¥
+  = 
+ ¬gÏ¡
+ [0];
+ 
+ 853 
+ ¡
+  -ð
+ ¥
+ ;
+ 
+ 854 
+ »_ev®
+ ;
+ 
+ 855 
+ O_COMMA
+ :
+ 
+ 856 ià(
+ gimme
+  =ð
+ G_ARRAY
+ )
+ 
+ 857 
+ ¬¿y_»tuº
+ ;
+ 
+ 858 
+ ¡r
+  = 
+ ¡
+ [2];
+ 
+ 860 
+ O_NEGATE
+ :
+ 
+ 861 
+ v®ue
+  = -
+ 	`¡r_gnum
+ (
+ ¡
+ [1]);
+ 
+ 862 
+ dÚum£t
+ ;
+ 
+ 863 
+ O_NOT
+ :
+ 
+ 864 
+ v®ue
+  = (è!
+ 	`¡r_Œue
+ (
+ ¡
+ [1]);
+ 
+ 865 
+ dÚum£t
+ ;
+ 
+ 866 
+ O_COMPLEMENT
+ :
+ 
+ 867 ià(!
+ §wvec
+  || 
+ ¡
+ [1]->
+ ¡r_nok
+ ) {
+ 
+ 868 #iâdeà
+ lšt
+ 
+ 
+ 869 
+ v®ue
+  = (è~
+ 	`U_L
+ (
+ 	`¡r_gnum
+ (
+ ¡
+ [1]));
+ 
+ 871 
+ dÚum£t
+ ;
+ 
+ 874 
+ 	`STR_SSET
+ (
+ ¡r
+ ,
+ ¡
+ [1]);
+ 
+ 875 
+ tmps
+  = 
+ 	`¡r_g‘
+ (
+ ¡r
+ );
+ 
+ 876 
+ ªum
+  = 
+ ¡r
+ ->
+ ¡r_cur
+ ;‡num;‡num--, 
+ tmps
+ ++)
+ 
+ 877 *
+ tmps
+  = ~*tmps;
+ 
+ 880 
+ O_SELECT
+ :
+ 
+ 881 
+ 	`¡ab_fuÎÇme
+ (
+ ¡r
+ ,
+ defout¡ab
+ );
+ 
+ 882 ià(
+ max¬g
+  > 0) {
+ 
+ 883 ià((
+ ¬g
+ [1].
+ ¬g_ty³
+  & 
+ A_MASK
+ è=ð
+ A_WORD
+ )
+ 
+ 884 
+ defout¡ab
+  = 
+ ¬g
+ [1].
+ ¬g_±r
+ .
+ ¬g_¡ab
+ ;
+ 
+ 886 
+ defout¡ab
+  = 
+ 	`¡ab’t
+ (
+ 	`¡r_g‘
+ (
+ ¡
+ [1]),
+ TRUE
+ );
+ 
+ 887 ià(!
+ 	`¡ab_io
+ (
+ defout¡ab
+ ))
+ 
+ 888 
+ 	`¡ab_io
+ (
+ defout¡ab
+ èð
+ 	`¡io_Ãw
+ ();
+ 
+ 889 
+ curout¡ab
+  = 
+ defout¡ab
+ ;
+ 
+ 891 
+ 	`STABSET
+ (
+ ¡r
+ );
+ 
+ 893 
+ O_WRITE
+ :
+ 
+ 894 ià(
+ max¬g
+  == 0)
+ 
+ 895 
+ ¡ab
+  = 
+ defout¡ab
+ ;
+ 
+ 896 ià((
+ ¬g
+ [1].
+ ¬g_ty³
+  & 
+ A_MASK
+ è=ð
+ A_WORD
+ ) {
+ 
+ 897 ià(!(
+ ¡ab
+  = 
+ ¬g
+ [1].
+ ¬g_±r
+ .
+ ¬g_¡ab
+ ))
+ 
+ 898 
+ ¡ab
+  = 
+ defout¡ab
+ ;
+ 
+ 901 
+ ¡ab
+  = 
+ 	`¡ab’t
+ (
+ 	`¡r_g‘
+ (
+ ¡
+ [1]),
+ TRUE
+ );
+ 
+ 902 ià(!
+ 	`¡ab_io
+ (
+ ¡ab
+ )) {
+ 
+ 903 
+ 	`¡r_£t
+ (
+ ¡r
+ , 
+ No
+ );
+ 
+ 904 
+ 	`STABSET
+ (
+ ¡r
+ );
+ 
+ 907 
+ curout¡ab
+  = 
+ ¡ab
+ ;
+ 
+ 908 
+ å
+  = 
+ 	`¡ab_io
+ (
+ ¡ab
+ )->
+ oå
+ ;
+ 
+ 909 
+ deb¬g
+  = 
+ ¬g
+ ;
+ 
+ 910 ià(
+ 	`¡ab_io
+ (
+ ¡ab
+ )->
+ fmt_¡ab
+ )
+ 
+ 911 
+ fÜm
+  = 
+ 	`¡ab_fÜm
+ (
+ 	`¡ab_io
+ (
+ ¡ab
+ )->
+ fmt_¡ab
+ );
+ 
+ 913 
+ fÜm
+  = 
+ 	`¡ab_fÜm
+ (
+ ¡ab
+ );
+ 
+ 914 ià(!
+ fÜm
+  || !
+ å
+ ) {
+ 
+ 915 ià(
+ dow¬n
+ ) {
+ 
+ 916 ià(
+ fÜm
+ )
+ 
+ 917 
+ 	`w¬n
+ ("No format for filehandle");
+ 
+ 919 ià(
+ 	`¡ab_io
+ (
+ ¡ab
+ )->
+ iå
+ )
+ 
+ 920 
+ 	`w¬n
+ ("Filehandle only opened for input");
+ 
+ 922 
+ 	`w¬n
+ ("Write on closed filehandle");
+ 
+ 925 
+ 	`¡r_£t
+ (
+ ¡r
+ , 
+ No
+ );
+ 
+ 926 
+ 	`STABSET
+ (
+ ¡r
+ );
+ 
+ 929 
+ 	`fÜm©
+ (&
+ ouŒec
+ ,
+ fÜm
+ ,
+ ¥
+ );
+ 
+ 930 
+ 	`do_wr™e
+ (&
+ ouŒec
+ ,
+ 	`¡ab_io
+ (
+ ¡ab
+ ),
+ ¥
+ );
+ 
+ 931 ià(
+ 	`¡ab_io
+ (
+ ¡ab
+ )->
+ æags
+  & 
+ IOF_FLUSH
+ )
+ 
+ 932 ()
+ 	`fæush
+ (
+ å
+ );
+ 
+ 933 
+ 	`¡r_£t
+ (
+ ¡r
+ , 
+ Yes
+ );
+ 
+ 934 
+ 	`STABSET
+ (
+ ¡r
+ );
+ 
+ 936 
+ O_DBMOPEN
+ :
+ 
+ 937 #ifdeà
+ SOME_DBM
+ 
+ 
+ 938 
+ ªum
+  = 
+ ¬g
+ [1].
+ ¬g_ty³
+  & 
+ A_MASK
+ ;
+ 
+ 939 ià(
+ ªum
+  =ð
+ A_WORD
+  ||‡num =ð
+ A_STAB
+ )
+ 
+ 940 
+ ¡ab
+  = 
+ ¬g
+ [1].
+ ¬g_±r
+ .
+ ¬g_¡ab
+ ;
+ 
+ 942 
+ ¡ab
+  = 
+ 	`¡ab’t
+ (
+ 	`¡r_g‘
+ (
+ ¡
+ [1]),
+ TRUE
+ );
+ 
+ 943 ià(
+ ¡
+ [3]->
+ ¡r_nok
+  || st[3]->
+ ¡r_pok
+ )
+ 
+ 944 
+ ªum
+  = ()
+ 	`¡r_gnum
+ (
+ ¡
+ [3]);
+ 
+ 946 
+ ªum
+  = -1;
+ 
+ 947 
+ v®ue
+  = ()
+ 	`hdbmݒ
+ (
+ 	`¡ab_hash
+ (
+ ¡ab
+ ),
+ 	`¡r_g‘
+ (
+ ¡
+ [2]),
+ ªum
+ );
+ 
+ 948 
+ dÚum£t
+ ;
+ 
+ 950 
+ 	`çl
+ ("No dbm or‚dbm onhis machine");
+ 
+ 952 
+ O_DBMCLOSE
+ :
+ 
+ 953 #ifdeà
+ SOME_DBM
+ 
+ 
+ 954 ià((
+ ¬g
+ [1].
+ ¬g_ty³
+  & 
+ A_MASK
+ è=ð
+ A_WORD
+ )
+ 
+ 955 
+ ¡ab
+  = 
+ ¬g
+ [1].
+ ¬g_±r
+ .
+ ¬g_¡ab
+ ;
+ 
+ 957 
+ ¡ab
+  = 
+ 	`¡ab’t
+ (
+ 	`¡r_g‘
+ (
+ ¡
+ [1]),
+ TRUE
+ );
+ 
+ 958 
+ 	`hdbmþo£
+ (
+ 	`¡ab_hash
+ (
+ ¡ab
+ ));
+ 
+ 959 
+ §y_yes
+ ;
+ 
+ 961 
+ 	`çl
+ ("No dbm or‚dbm onhis machine");
+ 
+ 963 
+ O_OPEN
+ :
+ 
+ 964 ià((
+ ¬g
+ [1].
+ ¬g_ty³
+  & 
+ A_MASK
+ è=ð
+ A_WORD
+ )
+ 
+ 965 
+ ¡ab
+  = 
+ ¬g
+ [1].
+ ¬g_±r
+ .
+ ¬g_¡ab
+ ;
+ 
+ 967 
+ ¡ab
+  = 
+ 	`¡ab’t
+ (
+ 	`¡r_g‘
+ (
+ ¡
+ [1]),
+ TRUE
+ );
+ 
+ 968 
+ tmps
+  = 
+ 	`¡r_g‘
+ (
+ ¡
+ [2]);
+ 
+ 969 ià(
+ 	`do_ݒ
+ (
+ ¡ab
+ ,
+ tmps
+ ,
+ ¡
+ [2]->
+ ¡r_cur
+ )) {
+ 
+ 970 
+ v®ue
+  = ()
+ fÜk´oûss
+ ;
+ 
+ 971 
+ 	`¡ab_io
+ (
+ ¡ab
+ )->
+ lšes
+  = 0;
+ 
+ 972 
+ dÚum£t
+ ;
+ 
+ 974 ià(
+ fÜk´oûss
+  == 0)
+ 
+ 975 
+ §y_z”o
+ ;
+ 
+ 977 
+ §y_undef
+ ;
+ 
+ 979 
+ O_TRANS
+ :
+ 
+ 980 
+ v®ue
+  = (è
+ 	`do_λs
+ (
+ ¡r
+ ,
+ ¬g
+ );
+ 
+ 981 
+ ¡r
+  = 
+ ¬g
+ ->
+ ¬g_±r
+ .
+ ¬g_¡r
+ ;
+ 
+ 982 
+ dÚum£t
+ ;
+ 
+ 983 
+ O_NTRANS
+ :
+ 
+ 984 
+ 	`¡r_£t
+ (
+ ¬g
+ ->
+ ¬g_±r
+ .
+ ¬g_¡r
+ , 
+ 	`do_λs
+ (
+ ¡r
+ ,¬gè=ð0 ? 
+ Yes
+  : 
+ No
+ );
+ 
+ 985 
+ ¡r
+  = 
+ ¬g
+ ->
+ ¬g_±r
+ .
+ ¬g_¡r
+ ;
+ 
+ 987 
+ O_CLOSE
+ :
+ 
+ 988 ià(
+ max¬g
+  == 0)
+ 
+ 989 
+ ¡ab
+  = 
+ defout¡ab
+ ;
+ 
+ 990 ià((
+ ¬g
+ [1].
+ ¬g_ty³
+  & 
+ A_MASK
+ è=ð
+ A_WORD
+ )
+ 
+ 991 
+ ¡ab
+  = 
+ ¬g
+ [1].
+ ¬g_±r
+ .
+ ¬g_¡ab
+ ;
+ 
+ 993 
+ ¡ab
+  = 
+ 	`¡ab’t
+ (
+ 	`¡r_g‘
+ (
+ ¡
+ [1]),
+ TRUE
+ );
+ 
+ 994 
+ 	`¡r_£t
+ (
+ ¡r
+ , 
+ 	`do_þo£
+ (
+ ¡ab
+ ,
+ TRUE
+ è? 
+ Yes
+  : 
+ No
+  );
+ 
+ 995 
+ 	`STABSET
+ (
+ ¡r
+ );
+ 
+ 997 
+ O_EACH
+ :
+ 
+ 998 
+ ¥
+  = 
+ 	`do_—ch
+ (
+ ¡r
+ ,
+ 	`¡ab_hash
+ (
+ ¬g
+ [1].
+ ¬g_±r
+ .
+ ¬g_¡ab
+ ),
+ 
+ 999 
+ gimme
+ ,
+ ¬gÏ¡
+ );
+ 
+ 1000 
+ ¬¿y_»tuº
+ ;
+ 
+ 1001 
+ O_VALUES
+ :
+ 
+ 1002 
+ O_KEYS
+ :
+ 
+ 1003 
+ ¥
+  = 
+ 	`do_kv
+ (
+ ¡r
+ ,
+ 	`¡ab_hash
+ (
+ ¬g
+ [1].
+ ¬g_±r
+ .
+ ¬g_¡ab
+ ), 
+ Ýty³
+ ,
+ 
+ 1004 
+ gimme
+ ,
+ ¬gÏ¡
+ );
+ 
+ 1005 
+ ¬¿y_»tuº
+ ;
+ 
+ 1006 
+ O_LARRAY
+ :
+ 
+ 1007 
+ ¡r
+ ->
+ ¡r_nok
+  = sŒ->
+ ¡r_pok
+  = 0;
+ 
+ 1008 
+ ¡r
+ ->
+ ¡r_u
+ .
+ ¡r_¡ab
+  = 
+ ¬g
+ [1].
+ ¬g_±r
+ .
+ ¬g_¡ab
+ ;
+ 
+ 1009 
+ ¡r
+ ->
+ ¡r_¡©e
+  = 
+ SS_ARY
+ ;
+ 
+ 1011 
+ O_ARRAY
+ :
+ 
+ 1012 
+ ¬y
+  = 
+ 	`¡ab_¬¿y
+ (
+ ¬g
+ [1].
+ ¬g_±r
+ .
+ ¬g_¡ab
+ );
+ 
+ 1013 
+ max¬g
+  = 
+ ¬y
+ ->
+ ¬y_fžl
+  + 1;
+ 
+ 1014 ià(
+ gimme
+  =ð
+ G_ARRAY
+ ) {
+ 
+ 1015 
+ ¥
+  = 
+ ¬gÏ¡
+ [0];
+ 
+ 1016 
+ ¡
+  -ð
+ ¥
+ ;
+ 
+ 1017 ià(
+ max¬g
+  > 0 && 
+ ¥
+  + max¬g > 
+ ¡ack
+ ->
+ ¬y_max
+ ) {
+ 
+ 1018 
+ 	`a¡Üe
+ (
+ ¡ack
+ ,
+ ¥
+  + 
+ max¬g
+ , 
+ NuΡr
+ );
+ 
+ 1019 
+ ¡
+  = 
+ ¡ack
+ ->
+ ¬y_¬¿y
+ ;
+ 
+ 1021 
+ ¡
+  +ð
+ ¥
+ ;
+ 
+ 1022 
+ 	`CÝy
+ (
+ ¬y
+ ->
+ ¬y_¬¿y
+ , &
+ ¡
+ [1], 
+ max¬g
+ , 
+ STR
+ *);
+ 
+ 1023 
+ ¥
+  +ð
+ max¬g
+ ;
+ 
+ 1024 
+ ¬¿y_»tuº
+ ;
+ 
+ 1027 
+ v®ue
+  = ()
+ max¬g
+ ;
+ 
+ 1028 
+ dÚum£t
+ ;
+ 
+ 1030 
+ O_AELEM
+ :
+ 
+ 1031 
+ ªum
+  = (()
+ 	`¡r_gnum
+ (
+ ¡
+ [2])è- 
+ ¬yba£
+ ;
+ 
+ 1032 
+ ¡r
+  = 
+ 	`aãtch
+ (
+ 	`¡ab_¬¿y
+ (
+ ¬g
+ [1].
+ ¬g_±r
+ .
+ ¬g_¡ab
+ ),
+ ªum
+ ,
+ FALSE
+ );
+ 
+ 1034 
+ O_DELETE
+ :
+ 
+ 1035 
+ tmp¡ab
+  = 
+ ¬g
+ [1].
+ ¬g_±r
+ .
+ ¬g_¡ab
+ ;
+ 
+ 1036 
+ tmps
+  = 
+ 	`¡r_g‘
+ (
+ ¡
+ [2]);
+ 
+ 1037 
+ ¡r
+  = 
+ 	`hd–‘e
+ (
+ 	`¡ab_hash
+ (
+ tmp¡ab
+ ),
+ tmps
+ ,
+ ¡
+ [2]->
+ ¡r_cur
+ );
+ 
+ 1038 ià(
+ tmp¡ab
+  =ð
+ ’v¡ab
+ )
+ 
+ 1039 
+ 	`my_£‹nv
+ (
+ tmps
+ ,
+ NuÎch
+ );
+ 
+ 1040 ià(!
+ ¡r
+ )
+ 
+ 1041 
+ §y_undef
+ ;
+ 
+ 1043 
+ O_LHASH
+ :
+ 
+ 1044 
+ ¡r
+ ->
+ ¡r_nok
+  = sŒ->
+ ¡r_pok
+  = 0;
+ 
+ 1045 
+ ¡r
+ ->
+ ¡r_u
+ .
+ ¡r_¡ab
+  = 
+ ¬g
+ [1].
+ ¬g_±r
+ .
+ ¬g_¡ab
+ ;
+ 
+ 1046 
+ ¡r
+ ->
+ ¡r_¡©e
+  = 
+ SS_HASH
+ ;
+ 
+ 1048 
+ O_HASH
+ :
+ 
+ 1049 ià(
+ gimme
+  =ð
+ G_ARRAY
+ ) {
+ 
+ 1050 
+ ¥
+  = 
+ 	`do_kv
+ (
+ ¡r
+ ,
+ 	`¡ab_hash
+ (
+ ¬g
+ [1].
+ ¬g_±r
+ .
+ ¬g_¡ab
+ ), 
+ Ýty³
+ ,
+ 
+ 1051 
+ gimme
+ ,
+ ¬gÏ¡
+ );
+ 
+ 1052 
+ ¬¿y_»tuº
+ ;
+ 
+ 1055 
+ tmp¡ab
+  = 
+ ¬g
+ [1].
+ ¬g_±r
+ .
+ ¬g_¡ab
+ ;
+ 
+ 1056 ià(!
+ 	`¡ab_hash
+ (
+ tmp¡ab
+ )->
+ tbl_fžl
+ )
+ 
+ 1057 
+ §y_z”o
+ ;
+ 
+ 1058 
+ 	`¥rštf
+ (
+ buf
+ ,"%d/%d",
+ 	`¡ab_hash
+ (
+ tmp¡ab
+ )->
+ tbl_fžl
+ ,
+ 
+ 1059 
+ 	`¡ab_hash
+ (
+ tmp¡ab
+ )->
+ tbl_max
+ +1);
+ 
+ 1060 
+ 	`¡r_£t
+ (
+ ¡r
+ ,
+ buf
+ );
+ 
+ 1063 
+ O_HELEM
+ :
+ 
+ 1064 
+ tmp¡ab
+  = 
+ ¬g
+ [1].
+ ¬g_±r
+ .
+ ¬g_¡ab
+ ;
+ 
+ 1065 
+ tmps
+  = 
+ 	`¡r_g‘
+ (
+ ¡
+ [2]);
+ 
+ 1066 
+ ¡r
+  = 
+ 	`hãtch
+ (
+ 	`¡ab_hash
+ (
+ tmp¡ab
+ ),
+ tmps
+ ,
+ ¡
+ [2]->
+ ¡r_cur
+ ,
+ FALSE
+ );
+ 
+ 1068 
+ O_LAELEM
+ :
+ 
+ 1069 
+ ªum
+  = (()
+ 	`¡r_gnum
+ (
+ ¡
+ [2])è- 
+ ¬yba£
+ ;
+ 
+ 1070 
+ ¡r
+  = 
+ 	`aãtch
+ (
+ 	`¡ab_¬¿y
+ (
+ ¬g
+ [1].
+ ¬g_±r
+ .
+ ¬g_¡ab
+ ),
+ ªum
+ ,
+ TRUE
+ );
+ 
+ 1071 ià(!
+ ¡r
+  || sŒ =ð&
+ ¡r_undef
+ )
+ 
+ 1072 
+ 	`çl
+ ("Assignm’ˆtØnÚ-ü—bË v®ue, subsüˆ%d",
+ ªum
+ );
+ 
+ 1074 
+ O_LHELEM
+ :
+ 
+ 1075 
+ tmp¡ab
+  = 
+ ¬g
+ [1].
+ ¬g_±r
+ .
+ ¬g_¡ab
+ ;
+ 
+ 1076 
+ tmps
+  = 
+ 	`¡r_g‘
+ (
+ ¡
+ [2]);
+ 
+ 1077 
+ ªum
+  = 
+ ¡
+ [2]->
+ ¡r_cur
+ ;
+ 
+ 1078 
+ ¡r
+  = 
+ 	`hãtch
+ (
+ 	`¡ab_hash
+ (
+ tmp¡ab
+ ),
+ tmps
+ ,
+ ªum
+ ,
+ TRUE
+ );
+ 
+ 1079 ià(!
+ ¡r
+  || sŒ =ð&
+ ¡r_undef
+ )
+ 
+ 1080 
+ 	`çl
+ ("Assignm’ˆtØnÚ-ü—bË v®ue, subsüˆ\"%s\"",
+ tmps
+ );
+ 
+ 1081 ià(
+ tmp¡ab
+  =ð
+ ’v¡ab
+ )
+ 
+ 1082 
+ 	`¡r_magic
+ (
+ ¡r
+ , 
+ tmp¡ab
+ , 'E', 
+ tmps
+ , 
+ ªum
+ );
+ 
+ 1084 ià(
+ tmp¡ab
+  =ð
+ sig¡ab
+ )
+ 
+ 1085 
+ 	`¡r_magic
+ (
+ ¡r
+ , 
+ tmp¡ab
+ , 'S', 
+ tmps
+ , 
+ ªum
+ );
+ 
+ 1086 #ifdeà
+ SOME_DBM
+ 
+ 
+ 1087 ià(
+ 	`¡ab_hash
+ (
+ tmp¡ab
+ )->
+ tbl_dbm
+ )
+ 
+ 1088 
+ 	`¡r_magic
+ (
+ ¡r
+ , 
+ tmp¡ab
+ , 'D', 
+ tmps
+ , 
+ ªum
+ );
+ 
+ 1090 ià(
+ ³¾db
+  && 
+ tmp¡ab
+  =ð
+ DBlše
+ )
+ 
+ 1091 
+ 	`¡r_magic
+ (
+ ¡r
+ , 
+ tmp¡ab
+ , 'L', 
+ tmps
+ , 
+ ªum
+ );
+ 
+ 1093 
+ O_LSLICE
+ :
+ 
+ 1094 
+ ªum
+  = 2;
+ 
+ 1095 
+ ¬gty³
+  = 
+ FALSE
+ ;
+ 
+ 1096 
+ do_¦iû_®»ady
+ ;
+ 
+ 1097 
+ O_ASLICE
+ :
+ 
+ 1098 
+ ªum
+  = 1;
+ 
+ 1099 
+ ¬gty³
+  = 
+ FALSE
+ ;
+ 
+ 1100 
+ do_¦iû_®»ady
+ ;
+ 
+ 1101 
+ O_HSLICE
+ :
+ 
+ 1102 
+ ªum
+  = 0;
+ 
+ 1103 
+ ¬gty³
+  = 
+ FALSE
+ ;
+ 
+ 1104 
+ do_¦iû_®»ady
+ ;
+ 
+ 1105 
+ O_LASLICE
+ :
+ 
+ 1106 
+ ªum
+  = 1;
+ 
+ 1107 
+ ¬gty³
+  = 
+ TRUE
+ ;
+ 
+ 1108 
+ do_¦iû_®»ady
+ ;
+ 
+ 1109 
+ O_LHSLICE
+ :
+ 
+ 1110 
+ ªum
+  = 0;
+ 
+ 1111 
+ ¬gty³
+  = 
+ TRUE
+ ;
+ 
+ 1112 
+ do_¦iû_®»ady
+ :
+ 
+ 1113 
+ ¥
+  = 
+ 	`do_¦iû
+ (
+ ¬g
+ [1].
+ ¬g_±r
+ .
+ ¬g_¡ab
+ ,
+ ¡r
+ ,
+ ªum
+ ,
+ ¬gty³
+ ,
+ 
+ 1114 
+ gimme
+ ,
+ ¬gÏ¡
+ );
+ 
+ 1115 
+ ¬¿y_»tuº
+ ;
+ 
+ 1116 
+ O_SPLICE
+ :
+ 
+ 1117 
+ ¥
+  = 
+ 	`do_¥liû
+ (
+ 	`¡ab_¬¿y
+ (
+ ¬g
+ [1].
+ ¬g_±r
+ .
+ ¬g_¡ab
+ ),
+ gimme
+ ,
+ ¬gÏ¡
+ );
+ 
+ 1118 
+ ¬¿y_»tuº
+ ;
+ 
+ 1119 
+ O_PUSH
+ :
+ 
+ 1120 ià(
+ ¬gÏ¡
+ [2] -‡rglast[1] != 1)
+ 
+ 1121 
+ ¡r
+  = 
+ 	`do_push
+ (
+ 	`¡ab_¬¿y
+ (
+ ¬g
+ [1].
+ ¬g_±r
+ .
+ ¬g_¡ab
+ ),
+ ¬gÏ¡
+ );
+ 
+ 1123 
+ ¡r
+  = 
+ 	`SŒ_Ãw
+ (51,0);
+ 
+ 1124 
+ 	`¡r_s£t
+ (
+ ¡r
+ ,
+ ¡
+ [2]);
+ 
+ 1125 ()
+ 	`­ush
+ (
+ 	`¡ab_¬¿y
+ (
+ ¬g
+ [1].
+ ¬g_±r
+ .
+ ¬g_¡ab
+ ),
+ ¡r
+ );
+ 
+ 1128 
+ O_POP
+ :
+ 
+ 1129 
+ ¡r
+  = 
+ 	`­Ý
+ (
+ ¬y
+  = 
+ 	`¡ab_¬¿y
+ (
+ ¬g
+ [1].
+ ¬g_±r
+ .
+ ¬g_¡ab
+ ));
+ 
+ 1130 
+ ¡©iÿliz©iÚ
+ ;
+ 
+ 1131 
+ O_SHIFT
+ :
+ 
+ 1132 
+ ¡r
+  = 
+ 	`ashiá
+ (
+ ¬y
+  = 
+ 	`¡ab_¬¿y
+ (
+ ¬g
+ [1].
+ ¬g_±r
+ .
+ ¬g_¡ab
+ ));
+ 
+ 1133 
+ ¡©iÿliz©iÚ
+ :
+ 
+ 1134 ià(!
+ ¡r
+ )
+ 
+ 1135 
+ §y_undef
+ ;
+ 
+ 1136 ià(
+ ¬y
+ ->
+ ¬y_æags
+  & 
+ ARF_REAL
+ )
+ 
+ 1137 ()
+ 	`¡r_2m܏l
+ (
+ ¡r
+ );
+ 
+ 1139 
+ O_UNPACK
+ :
+ 
+ 1140 
+ ¥
+  = 
+ 	`do_uÅack
+ (
+ ¡r
+ ,
+ gimme
+ ,
+ ¬gÏ¡
+ );
+ 
+ 1141 
+ ¬¿y_»tuº
+ ;
+ 
+ 1142 
+ O_SPLIT
+ :
+ 
+ 1143 
+ v®ue
+  = 
+ 	`¡r_gnum
+ (
+ ¡
+ [3]);
+ 
+ 1144 
+ ¥
+  = 
+ 	`do_¥l™
+ (
+ ¡r
+ , 
+ ¬g
+ [2].
+ ¬g_±r
+ .
+ ¬g_¥©
+ , ()
+ v®ue
+ ,
+ 
+ 1145 
+ gimme
+ ,
+ ¬gÏ¡
+ );
+ 
+ 1146 
+ ¬¿y_»tuº
+ ;
+ 
+ 1147 
+ O_LENGTH
+ :
+ 
+ 1148 ià(
+ max¬g
+  < 1)
+ 
+ 1149 
+ v®ue
+  = ()
+ 	`¡r_Ën
+ (
+ 	`¡ab_v®
+ (
+ def¡ab
+ ));
+ 
+ 1151 
+ v®ue
+  = ()
+ 	`¡r_Ën
+ (
+ ¡
+ [1]);
+ 
+ 1152 
+ dÚum£t
+ ;
+ 
+ 1153 
+ O_SPRINTF
+ :
+ 
+ 1154 
+ 	`do_¥rštf
+ (
+ ¡r
+ , 
+ ¥
+ -
+ ¬gÏ¡
+ [0], 
+ ¡
+ +1);
+ 
+ 1156 
+ O_SUBSTR
+ :
+ 
+ 1157 
+ ªum
+  = (()
+ 	`¡r_gnum
+ (
+ ¡
+ [2])è- 
+ ¬yba£
+ ;
+ 
+ 1158 
+ tmps
+  = 
+ 	`¡r_g‘
+ (
+ ¡
+ [1]);
+ 
+ 1159 ià(
+ ¬gty³
+  = (
+ ¡r
+  =ð
+ ¡
+ [1]))
+ 
+ 1160 
+ ¡r
+  = 
+ ¬g
+ ->
+ ¬g_±r
+ .
+ ¬g_¡r
+ ;
+ 
+ 1161 ià(
+ ªum
+  < 0)
+ 
+ 1162 
+ ªum
+  +ð
+ ¡
+ [1]->
+ ¡r_cur
+  + 
+ ¬yba£
+ ;
+ 
+ 1163 ià(
+ ªum
+  < 0 ||‡num > 
+ ¡
+ [1]->
+ ¡r_cur
+ )
+ 
+ 1164 
+ 	`¡r_n£t
+ (
+ ¡r
+ ,"",0);
+ 
+ 1166 
+ Ýty³
+  = 
+ max¬g
+  < 3 ? 
+ ¡
+ [1]->
+ ¡r_cur
+  : ()
+ 	`¡r_gnum
+ (st[3]);
+ 
+ 1167 ià(
+ Ýty³
+  < 0)
+ 
+ 1168 
+ Ýty³
+  = 0;
+ 
+ 1169 
+ tmps
+  +ð
+ ªum
+ ;
+ 
+ 1170 
+ ªum
+  = 
+ ¡
+ [1]->
+ ¡r_cur
+  -‡num;
+ 
+ 1171 ià(
+ ªum
+  > 
+ Ýty³
+ )
+ 
+ 1172 
+ ªum
+  = 
+ Ýty³
+ ;
+ 
+ 1173 
+ 	`¡r_n£t
+ (
+ ¡r
+ , 
+ tmps
+ , 
+ ªum
+ );
+ 
+ 1174 ià(
+ ¬gty³
+ ) {
+ 
+ 1175 
+ l¡r
+  = (
+ l¡ršg
+ *)
+ ¡r
+ ;
+ 
+ 1176 
+ ¡r
+ ->
+ ¡r_magic
+  = 
+ ¡
+ [1];
+ 
+ 1177 
+ ¡
+ [1]->
+ ¡r_¿»
+  = 's';
+ 
+ 1178 
+ l¡r
+ ->
+ l¡r_off£t
+  = 
+ tmps
+  - 
+ 	`¡r_g‘
+ (
+ ¡
+ [1]);
+ 
+ 1179 
+ l¡r
+ ->
+ l¡r_Ën
+  = 
+ ªum
+ ;
+ 
+ 1183 
+ O_PACK
+ :
+ 
+ 1184 ()
+ 	`do_·ck
+ (
+ ¡r
+ ,
+ ¬gÏ¡
+ );
+ 
+ 1186 
+ O_GREP
+ :
+ 
+ 1187 
+ ¥
+  = 
+ 	`do_g»p
+ (
+ ¬g
+ ,
+ ¡r
+ ,
+ gimme
+ ,
+ ¬gÏ¡
+ );
+ 
+ 1188 
+ ¬¿y_»tuº
+ ;
+ 
+ 1189 
+ O_JOIN
+ :
+ 
+ 1190 
+ 	`do_još
+ (
+ ¡r
+ ,
+ ¬gÏ¡
+ );
+ 
+ 1192 
+ O_SLT
+ :
+ 
+ 1193 
+ tmps
+  = 
+ 	`¡r_g‘
+ (
+ ¡
+ [1]);
+ 
+ 1194 
+ v®ue
+  = (è(
+ 	`¡r_cmp
+ (
+ ¡
+ [1],st[2]) < 0);
+ 
+ 1195 
+ dÚum£t
+ ;
+ 
+ 1196 
+ O_SGT
+ :
+ 
+ 1197 
+ tmps
+  = 
+ 	`¡r_g‘
+ (
+ ¡
+ [1]);
+ 
+ 1198 
+ v®ue
+  = (è(
+ 	`¡r_cmp
+ (
+ ¡
+ [1],st[2]) > 0);
+ 
+ 1199 
+ dÚum£t
+ ;
+ 
+ 1200 
+ O_SLE
+ :
+ 
+ 1201 
+ tmps
+  = 
+ 	`¡r_g‘
+ (
+ ¡
+ [1]);
+ 
+ 1202 
+ v®ue
+  = (è(
+ 	`¡r_cmp
+ (
+ ¡
+ [1],st[2]) <= 0);
+ 
+ 1203 
+ dÚum£t
+ ;
+ 
+ 1204 
+ O_SGE
+ :
+ 
+ 1205 
+ tmps
+  = 
+ 	`¡r_g‘
+ (
+ ¡
+ [1]);
+ 
+ 1206 
+ v®ue
+  = (è(
+ 	`¡r_cmp
+ (
+ ¡
+ [1],st[2]) >= 0);
+ 
+ 1207 
+ dÚum£t
+ ;
+ 
+ 1208 
+ O_SEQ
+ :
+ 
+ 1209 
+ tmps
+  = 
+ 	`¡r_g‘
+ (
+ ¡
+ [1]);
+ 
+ 1210 
+ v®ue
+  = (è
+ 	`¡r_eq
+ (
+ ¡
+ [1],st[2]);
+ 
+ 1211 
+ dÚum£t
+ ;
+ 
+ 1212 
+ O_SNE
+ :
+ 
+ 1213 
+ tmps
+  = 
+ 	`¡r_g‘
+ (
+ ¡
+ [1]);
+ 
+ 1214 
+ v®ue
+  = (è!
+ 	`¡r_eq
+ (
+ ¡
+ [1],st[2]);
+ 
+ 1215 
+ dÚum£t
+ ;
+ 
+ 1216 
+ O_SCMP
+ :
+ 
+ 1217 
+ tmps
+  = 
+ 	`¡r_g‘
+ (
+ ¡
+ [1]);
+ 
+ 1218 
+ v®ue
+  = (è
+ 	`¡r_cmp
+ (
+ ¡
+ [1],st[2]);
+ 
+ 1219 
+ dÚum£t
+ ;
+ 
+ 1220 
+ O_SUBR
+ :
+ 
+ 1221 
+ ¥
+  = 
+ 	`do_subr
+ (
+ ¬g
+ ,
+ gimme
+ ,
+ ¬gÏ¡
+ );
+ 
+ 1222 
+ ¡
+  = 
+ ¡ack
+ ->
+ ¬y_¬¿y
+  + 
+ ¬gÏ¡
+ [0];
+ 
+ 1223 
+ ¬¿y_»tuº
+ ;
+ 
+ 1224 
+ O_DBSUBR
+ :
+ 
+ 1225 
+ ¥
+  = 
+ 	`do_subr
+ (
+ ¬g
+ ,
+ gimme
+ ,
+ ¬gÏ¡
+ );
+ 
+ 1226 
+ ¡
+  = 
+ ¡ack
+ ->
+ ¬y_¬¿y
+  + 
+ ¬gÏ¡
+ [0];
+ 
+ 1227 
+ ¬¿y_»tuº
+ ;
+ 
+ 1228 
+ O_CALLER
+ :
+ 
+ 1229 
+ ¥
+  = 
+ 	`do_ÿΔ
+ (
+ ¬g
+ ,
+ max¬g
+ ,
+ gimme
+ ,
+ ¬gÏ¡
+ );
+ 
+ 1230 
+ ¡
+  = 
+ ¡ack
+ ->
+ ¬y_¬¿y
+  + 
+ ¬gÏ¡
+ [0];
+ 
+ 1231 
+ ¬¿y_»tuº
+ ;
+ 
+ 1232 
+ O_SORT
+ :
+ 
+ 1233 ià((
+ ¬g
+ [1].
+ ¬g_ty³
+  & 
+ A_MASK
+ è=ð
+ A_WORD
+ )
+ 
+ 1234 
+ ¡ab
+  = 
+ ¬g
+ [1].
+ ¬g_±r
+ .
+ ¬g_¡ab
+ ;
+ 
+ 1236 
+ ¡ab
+  = 
+ 	`¡ab’t
+ (
+ 	`¡r_g‘
+ (
+ ¡
+ [1]),
+ TRUE
+ );
+ 
+ 1237 
+ ¥
+  = 
+ 	`do_sÜt
+ (
+ ¡r
+ ,
+ ¡ab
+ ,
+ 
+ 1238 
+ gimme
+ ,
+ ¬gÏ¡
+ );
+ 
+ 1239 
+ ¬¿y_»tuº
+ ;
+ 
+ 1240 
+ O_REVERSE
+ :
+ 
+ 1241 ià(
+ gimme
+  =ð
+ G_ARRAY
+ )
+ 
+ 1242 
+ ¥
+  = 
+ 	`do_»v”£
+ (
+ ¬gÏ¡
+ );
+ 
+ 1244 
+ ¥
+  = 
+ 	`do_¤ev”£
+ (
+ ¡r
+ , 
+ ¬gÏ¡
+ );
+ 
+ 1245 
+ ¬¿y_»tuº
+ ;
+ 
+ 1246 
+ O_WARN
+ :
+ 
+ 1247 ià(
+ ¬gÏ¡
+ [2] -‡rglast[1] != 1) {
+ 
+ 1248 
+ 	`do_još
+ (
+ ¡r
+ ,
+ ¬gÏ¡
+ );
+ 
+ 1249 
+ tmps
+  = 
+ 	`¡r_g‘
+ (
+ ¡r
+ );
+ 
+ 1252 
+ ¡r
+  = 
+ ¡
+ [2];
+ 
+ 1253 
+ tmps
+  = 
+ 	`¡r_g‘
+ (
+ ¡
+ [2]);
+ 
+ 1255 ià(!
+ tmps
+  || !*tmps)
+ 
+ 1256 
+ tmps
+  = "Warning: something's wrong";
+ 
+ 1257 
+ 	`w¬n
+ ("%s",
+ tmps
+ );
+ 
+ 1258 
+ §y_yes
+ ;
+ 
+ 1259 
+ O_DIE
+ :
+ 
+ 1260 ià(
+ ¬gÏ¡
+ [2] -‡rglast[1] != 1) {
+ 
+ 1261 
+ 	`do_još
+ (
+ ¡r
+ ,
+ ¬gÏ¡
+ );
+ 
+ 1262 
+ tmps
+  = 
+ 	`¡r_g‘
+ (
+ ¡r
+ );
+ 
+ 1265 
+ ¡r
+  = 
+ ¡
+ [2];
+ 
+ 1266 
+ tmps
+  = 
+ 	`¡r_g‘
+ (
+ ¡
+ [2]);
+ 
+ 1268 ià(!
+ tmps
+  || !*tmps)
+ 
+ 1269 
+ tmps
+  = "Died";
+ 
+ 1270 
+ 	`çl
+ ("%s",
+ tmps
+ );
+ 
+ 1271 
+ §y_z”o
+ ;
+ 
+ 1272 
+ O_PRTF
+ :
+ 
+ 1273 
+ O_PRINT
+ :
+ 
+ 1274 ià((
+ ¬g
+ [1].
+ ¬g_ty³
+  & 
+ A_MASK
+ è=ð
+ A_WORD
+ )
+ 
+ 1275 
+ ¡ab
+  = 
+ ¬g
+ [1].
+ ¬g_±r
+ .
+ ¬g_¡ab
+ ;
+ 
+ 1277 
+ ¡ab
+  = 
+ 	`¡ab’t
+ (
+ 	`¡r_g‘
+ (
+ ¡
+ [1]),
+ TRUE
+ );
+ 
+ 1278 ià(!
+ ¡ab
+ )
+ 
+ 1279 
+ ¡ab
+  = 
+ defout¡ab
+ ;
+ 
+ 1280 ià(!
+ 	`¡ab_io
+ (
+ ¡ab
+ )) {
+ 
+ 1281 ià(
+ dow¬n
+ )
+ 
+ 1282 
+ 	`w¬n
+ ("Filehandle‚ever opened");
+ 
+ 1283 
+ §y_z”o
+ ;
+ 
+ 1285 ià(!(
+ å
+  = 
+ 	`¡ab_io
+ (
+ ¡ab
+ )->
+ oå
+ )) {
+ 
+ 1286 ià(
+ dow¬n
+ ) {
+ 
+ 1287 ià(
+ 	`¡ab_io
+ (
+ ¡ab
+ )->
+ iå
+ )
+ 
+ 1288 
+ 	`w¬n
+ ("Filehandle opened only for input");
+ 
+ 1290 
+ 	`w¬n
+ ("Print on closed filehandle");
+ 
+ 1292 
+ §y_z”o
+ ;
+ 
+ 1295 ià(
+ Ýty³
+  =ð
+ O_PRTF
+  || 
+ ¬gÏ¡
+ [2] -‡rglast[1] != 1)
+ 
+ 1296 
+ v®ue
+  = ()
+ 	`do_­ršt
+ (
+ ¬g
+ ,
+ å
+ ,
+ ¬gÏ¡
+ );
+ 
+ 1298 
+ v®ue
+  = ()
+ 	`do_´št
+ (
+ ¡
+ [2],
+ å
+ );
+ 
+ 1299 ià(
+ ܦ’
+  && 
+ Ýty³
+  =ð
+ O_PRINT
+ )
+ 
+ 1300 ià(
+ 	`fwr™e
+ (
+ Üs
+ , 1, 
+ ܦ’
+ , 
+ å
+ ) == 0)
+ 
+ 1301 
+ §y_z”o
+ ;
+ 
+ 1303 ià(
+ 	`¡ab_io
+ (
+ ¡ab
+ )->
+ æags
+  & 
+ IOF_FLUSH
+ )
+ 
+ 1304 ià(
+ 	`fæush
+ (
+ å
+ è=ð
+ EOF
+ )
+ 
+ 1305 
+ §y_z”o
+ ;
+ 
+ 1307 
+ dÚum£t
+ ;
+ 
+ 1308 
+ O_CHDIR
+ :
+ 
+ 1309 ià(
+ max¬g
+  < 1)
+ 
+ 1310 
+ tmps
+  = 
+ NuÎch
+ ;
+ 
+ 1312 
+ tmps
+  = 
+ 	`¡r_g‘
+ (
+ ¡
+ [1]);
+ 
+ 1313 ià(!
+ tmps
+  || !*tmps) {
+ 
+ 1314 
+ tmp¡r
+  = 
+ 	`hãtch
+ (
+ 	`¡ab_hash
+ (
+ ’v¡ab
+ ),"HOME",4,
+ FALSE
+ );
+ 
+ 1315 
+ tmps
+  = 
+ 	`¡r_g‘
+ (
+ tmp¡r
+ );
+ 
+ 1317 ià(!
+ tmps
+  || !*tmps) {
+ 
+ 1318 
+ tmp¡r
+  = 
+ 	`hãtch
+ (
+ 	`¡ab_hash
+ (
+ ’v¡ab
+ ),"LOGDIR",6,
+ FALSE
+ );
+ 
+ 1319 
+ tmps
+  = 
+ 	`¡r_g‘
+ (
+ tmp¡r
+ );
+ 
+ 1321 #ifdeà
+ TAINT
+ 
+ 
+ 1322 
+ 	`šrÝ”
+ ("Insecure dependency in chdir");
+ 
+ 1324 
+ v®ue
+  = ()(
+ 	`chdœ
+ (
+ tmps
+ ) >= 0);
+ 
+ 1325 
+ dÚum£t
+ ;
+ 
+ 1326 
+ O_EXIT
+ :
+ 
+ 1327 ià(
+ max¬g
+  < 1)
+ 
+ 1328 
+ ªum
+  = 0;
+ 
+ 1330 
+ ªum
+  = ()
+ 	`¡r_gnum
+ (
+ ¡
+ [1]);
+ 
+ 1331 
+ 	`ex™
+ (
+ ªum
+ );
+ 
+ 1332 
+ §y_z”o
+ ;
+ 
+ 1333 
+ O_RESET
+ :
+ 
+ 1334 ià(
+ max¬g
+  < 1)
+ 
+ 1335 
+ tmps
+  = "";
+ 
+ 1337 
+ tmps
+  = 
+ 	`¡r_g‘
+ (
+ ¡
+ [1]);
+ 
+ 1338 
+ 	`¡r_»£t
+ (
+ tmps
+ ,
+ curcmd
+ ->
+ c_¡ash
+ );
+ 
+ 1339 
+ v®ue
+  = 1.0;
+ 
+ 1340 
+ dÚum£t
+ ;
+ 
+ 1341 
+ O_LIST
+ :
+ 
+ 1342 ià(
+ gimme
+  =ð
+ G_ARRAY
+ )
+ 
+ 1343 
+ ¬¿y_»tuº
+ ;
+ 
+ 1344 ià(
+ max¬g
+  > 0)
+ 
+ 1345 
+ ¡r
+  = 
+ ¡
+ [
+ ¥
+  - 
+ ¬gÏ¡
+ [0]];
+ 
+ 1347 
+ ¡r
+  = &
+ ¡r_undef
+ ;
+ 
+ 1349 
+ O_EOF
+ :
+ 
+ 1350 ià(
+ max¬g
+  <= 0)
+ 
+ 1351 
+ ¡ab
+  = 
+ Ï¡_š_¡ab
+ ;
+ 
+ 1352 ià((
+ ¬g
+ [1].
+ ¬g_ty³
+  & 
+ A_MASK
+ è=ð
+ A_WORD
+ )
+ 
+ 1353 
+ ¡ab
+  = 
+ ¬g
+ [1].
+ ¬g_±r
+ .
+ ¬g_¡ab
+ ;
+ 
+ 1355 
+ ¡ab
+  = 
+ 	`¡ab’t
+ (
+ 	`¡r_g‘
+ (
+ ¡
+ [1]),
+ TRUE
+ );
+ 
+ 1356 
+ 	`¡r_£t
+ (
+ ¡r
+ , 
+ 	`do_eof
+ (
+ ¡ab
+ è? 
+ Yes
+  : 
+ No
+ );
+ 
+ 1357 
+ 	`STABSET
+ (
+ ¡r
+ );
+ 
+ 1359 
+ O_GETC
+ :
+ 
+ 1360 ià(
+ max¬g
+  <= 0)
+ 
+ 1361 
+ ¡ab
+  = 
+ ¡dš¡ab
+ ;
+ 
+ 1362 ià((
+ ¬g
+ [1].
+ ¬g_ty³
+  & 
+ A_MASK
+ è=ð
+ A_WORD
+ )
+ 
+ 1363 
+ ¡ab
+  = 
+ ¬g
+ [1].
+ ¬g_±r
+ .
+ ¬g_¡ab
+ ;
+ 
+ 1365 
+ ¡ab
+  = 
+ 	`¡ab’t
+ (
+ 	`¡r_g‘
+ (
+ ¡
+ [1]),
+ TRUE
+ );
+ 
+ 1366 ià(!
+ ¡ab
+ )
+ 
+ 1367 
+ ¡ab
+  = 
+ ¬gv¡ab
+ ;
+ 
+ 1368 ià(!
+ ¡ab
+  || 
+ 	`do_eof
+ (stab))
+ 
+ 1369 
+ §y_undef
+ ;
+ 
+ 1371 #ifdeà
+ TAINT
+ 
+ 
+ 1372 
+ š‹d
+  = 1;
+ 
+ 1374 
+ 	`¡r_£t
+ (
+ ¡r
+ ," ");
+ 
+ 1375 *
+ ¡r
+ ->
+ ¡r_±r
+  = 
+ 	`g‘c
+ (
+ 	`¡ab_io
+ (
+ ¡ab
+ )->
+ iå
+ );
+ 
+ 1377 
+ 	`STABSET
+ (
+ ¡r
+ );
+ 
+ 1379 
+ O_TELL
+ :
+ 
+ 1380 ià(
+ max¬g
+  <= 0)
+ 
+ 1381 
+ ¡ab
+  = 
+ Ï¡_š_¡ab
+ ;
+ 
+ 1382 ià((
+ ¬g
+ [1].
+ ¬g_ty³
+  & 
+ A_MASK
+ è=ð
+ A_WORD
+ )
+ 
+ 1383 
+ ¡ab
+  = 
+ ¬g
+ [1].
+ ¬g_±r
+ .
+ ¬g_¡ab
+ ;
+ 
+ 1385 
+ ¡ab
+  = 
+ 	`¡ab’t
+ (
+ 	`¡r_g‘
+ (
+ ¡
+ [1]),
+ TRUE
+ );
+ 
+ 1386 #iâdeà
+ lšt
+ 
+ 
+ 1387 
+ v®ue
+  = ()
+ 	`do_‹Î
+ (
+ ¡ab
+ );
+ 
+ 1389 ()
+ 	`do_‹Î
+ (
+ ¡ab
+ );
+ 
+ 1391 
+ dÚum£t
+ ;
+ 
+ 1392 
+ O_RECV
+ :
+ 
+ 1393 
+ O_READ
+ :
+ 
+ 1394 
+ O_SYSREAD
+ :
+ 
+ 1395 ià((
+ ¬g
+ [1].
+ ¬g_ty³
+  & 
+ A_MASK
+ è=ð
+ A_WORD
+ )
+ 
+ 1396 
+ ¡ab
+  = 
+ ¬g
+ [1].
+ ¬g_±r
+ .
+ ¬g_¡ab
+ ;
+ 
+ 1398 
+ ¡ab
+  = 
+ 	`¡ab’t
+ (
+ 	`¡r_g‘
+ (
+ ¡
+ [1]),
+ TRUE
+ );
+ 
+ 1399 
+ tmps
+  = 
+ 	`¡r_g‘
+ (
+ ¡
+ [2]);
+ 
+ 1400 
+ ªum
+  = ()
+ 	`¡r_gnum
+ (
+ ¡
+ [3]);
+ 
+ 1401 
+ Ӽo
+  = 0;
+ 
+ 1402 
+ max¬g
+  = 
+ ¥
+  - 
+ ¬gÏ¡
+ [0];
+ 
+ 1403 ià(
+ max¬g
+  > 4)
+ 
+ 1404 
+ 	`w¬n
+ ("Too many‡rgs on„ead");
+ 
+ 1405 ià(
+ max¬g
+  == 4)
+ 
+ 1406 
+ max¬g
+  = ()
+ 	`¡r_gnum
+ (
+ ¡
+ [4]);
+ 
+ 1408 
+ max¬g
+  = 0;
+ 
+ 1409 ià(!
+ 	`¡ab_io
+ (
+ ¡ab
+ è|| !¡ab_io(¡ab)->
+ iå
+ )
+ 
+ 1410 
+ §y_undef
+ ;
+ 
+ 1411 #ifdeà
+ HAS_SOCKET
+ 
+ 
+ 1412 ià(
+ Ýty³
+  =ð
+ O_RECV
+ ) {
+ 
+ 1413 
+ ¬gty³
+  =  
+ buf
+ ;
+ 
+ 1414 
+ 	`STR_GROW
+ (
+ ¡
+ [2], 
+ ªum
+ +1), (
+ tmps
+  = 
+ 	`¡r_g‘
+ (st[2]));
+ 
+ 1415 
+ ªum
+  = 
+ 	`»cväom
+ (
+ 	`fž’o
+ (
+ 	`¡ab_io
+ (
+ ¡ab
+ )->
+ iå
+ ), 
+ tmps
+ ,‡num, 
+ max¬g
+ ,
+ 
+ 1416 
+ buf
+ , &
+ ¬gty³
+ );
+ 
+ 1417 ià(
+ ªum
+  >= 0) {
+ 
+ 1418 
+ ¡
+ [2]->
+ ¡r_cur
+  = 
+ ªum
+ ;
+ 
+ 1419 
+ ¡
+ [2]->
+ ¡r_±r
+ [
+ ªum
+ ] = '\0';
+ 
+ 1420 
+ 	`¡r_n£t
+ (
+ ¡r
+ ,
+ buf
+ ,
+ ¬gty³
+ );
+ 
+ 1423 
+ 	`¡r_s£t
+ (
+ ¡r
+ ,&
+ ¡r_undef
+ );
+ 
+ 1427 ià(
+ Ýty³
+  =ð
+ O_RECV
+ )
+ 
+ 1428 
+ badsock
+ ;
+ 
+ 1430 
+ 	`STR_GROW
+ (
+ ¡
+ [2], 
+ ªum
+ +
+ max¬g
+ +1), (
+ tmps
+  = 
+ 	`¡r_g‘
+ (st[2]));
+ 
+ 1431 #ifdeà
+ HAS_SOCKET
+ 
+ 
+ 1432 ià(
+ 	`¡ab_io
+ (
+ ¡ab
+ )->
+ ty³
+  == 's') {
+ 
+ 1433 
+ ¬gty³
+  =  
+ buf
+ ;
+ 
+ 1434 
+ ªum
+  = 
+ 	`»cväom
+ (
+ 	`fž’o
+ (
+ 	`¡ab_io
+ (
+ ¡ab
+ )->
+ iå
+ ), 
+ tmps
+ +
+ max¬g
+ ,‡num, 0,
+ 
+ 1435 
+ buf
+ , &
+ ¬gty³
+ );
+ 
+ 1439 ià(
+ Ýty³
+  =ð
+ O_SYSREAD
+ ) {
+ 
+ 1440 
+ ªum
+  = 
+ 	`»ad
+ (
+ 	`fž’o
+ (
+ 	`¡ab_io
+ (
+ ¡ab
+ )->
+ iå
+ ), 
+ tmps
+ +
+ max¬g
+ ,‡num);
+ 
+ 1443 
+ ªum
+  = 
+ 	`ä—d
+ (
+ tmps
+ +
+ max¬g
+ , 1,‡num, 
+ 	`¡ab_io
+ (
+ ¡ab
+ )->
+ iå
+ );
+ 
+ 1444 ià(
+ ªum
+  < 0)
+ 
+ 1445 
+ §y_undef
+ ;
+ 
+ 1446 
+ ¡
+ [2]->
+ ¡r_cur
+  = 
+ ªum
+ +
+ max¬g
+ ;
+ 
+ 1447 
+ ¡
+ [2]->
+ ¡r_±r
+ [
+ ªum
+ +
+ max¬g
+ ] = '\0';
+ 
+ 1448 
+ v®ue
+  = ()
+ ªum
+ ;
+ 
+ 1449 
+ dÚum£t
+ ;
+ 
+ 1450 
+ O_SYSWRITE
+ :
+ 
+ 1451 
+ O_SEND
+ :
+ 
+ 1452 ià((
+ ¬g
+ [1].
+ ¬g_ty³
+  & 
+ A_MASK
+ è=ð
+ A_WORD
+ )
+ 
+ 1453 
+ ¡ab
+  = 
+ ¬g
+ [1].
+ ¬g_±r
+ .
+ ¬g_¡ab
+ ;
+ 
+ 1455 
+ ¡ab
+  = 
+ 	`¡ab’t
+ (
+ 	`¡r_g‘
+ (
+ ¡
+ [1]),
+ TRUE
+ );
+ 
+ 1456 
+ tmps
+  = 
+ 	`¡r_g‘
+ (
+ ¡
+ [2]);
+ 
+ 1457 
+ ªum
+  = ()
+ 	`¡r_gnum
+ (
+ ¡
+ [3]);
+ 
+ 1458 
+ Ӽo
+  = 0;
+ 
+ 1459 
+ ¡io
+  = 
+ 	`¡ab_io
+ (
+ ¡ab
+ );
+ 
+ 1460 
+ max¬g
+  = 
+ ¥
+  - 
+ ¬gÏ¡
+ [0];
+ 
+ 1461 ià(!
+ ¡io
+  || !¡io->
+ iå
+ ) {
+ 
+ 1462 
+ ªum
+  = -1;
+ 
+ 1463 ià(
+ dow¬n
+ ) {
+ 
+ 1464 ià(
+ Ýty³
+  =ð
+ O_SYSWRITE
+ )
+ 
+ 1465 
+ 	`w¬n
+ ("Syswrite on closed filehandle");
+ 
+ 1467 
+ 	`w¬n
+ ("Send on closed socket");
+ 
+ 1470 ià(
+ Ýty³
+  =ð
+ O_SYSWRITE
+ ) {
+ 
+ 1471 ià(
+ max¬g
+  > 4)
+ 
+ 1472 
+ 	`w¬n
+ ("Too many‡rgs on syswrite");
+ 
+ 1473 ià(
+ max¬g
+  == 4)
+ 
+ 1474 
+ Ýty³
+  = ()
+ 	`¡r_gnum
+ (
+ ¡
+ [4]);
+ 
+ 1476 
+ Ýty³
+  = 0;
+ 
+ 1477 
+ ªum
+  = 
+ 	`wr™e
+ (
+ 	`fž’o
+ (
+ 	`¡ab_io
+ (
+ ¡ab
+ )->
+ iå
+ ), 
+ tmps
+ +
+ Ýty³
+ ,‡num);
+ 
+ 1479 #ifdeà
+ HAS_SOCKET
+ 
+ 
+ 1480 ià(
+ max¬g
+  >= 4) {
+ 
+ 1481 ià(
+ max¬g
+  > 4)
+ 
+ 1482 
+ 	`w¬n
+ ("Too many‡rgs on send");
+ 
+ 1483 
+ tmps2
+  = 
+ 	`¡r_g‘
+ (
+ ¡
+ [4]);
+ 
+ 1484 
+ ªum
+  = 
+ 	`£ndto
+ (
+ 	`fž’o
+ (
+ 	`¡ab_io
+ (
+ ¡ab
+ )->
+ iå
+ ), 
+ tmps
+ , 
+ ¡
+ [2]->
+ ¡r_cur
+ ,
+ 
+ 1485 
+ ªum
+ , 
+ tmps2
+ , 
+ ¡
+ [4]->
+ ¡r_cur
+ );
+ 
+ 1488 
+ ªum
+  = 
+ 	`£nd
+ (
+ 	`fž’o
+ (
+ 	`¡ab_io
+ (
+ ¡ab
+ )->
+ iå
+ ), 
+ tmps
+ , 
+ ¡
+ [2]->
+ ¡r_cur
+ ,‡num);
+ 
+ 1491 
+ badsock
+ ;
+ 
+ 1493 ià(
+ ªum
+  < 0)
+ 
+ 1494 
+ §y_undef
+ ;
+ 
+ 1495 
+ v®ue
+  = ()
+ ªum
+ ;
+ 
+ 1496 
+ dÚum£t
+ ;
+ 
+ 1497 
+ O_SEEK
+ :
+ 
+ 1498 ià((
+ ¬g
+ [1].
+ ¬g_ty³
+  & 
+ A_MASK
+ è=ð
+ A_WORD
+ )
+ 
+ 1499 
+ ¡ab
+  = 
+ ¬g
+ [1].
+ ¬g_±r
+ .
+ ¬g_¡ab
+ ;
+ 
+ 1501 
+ ¡ab
+  = 
+ 	`¡ab’t
+ (
+ 	`¡r_g‘
+ (
+ ¡
+ [1]),
+ TRUE
+ );
+ 
+ 1502 
+ v®ue
+  = 
+ 	`¡r_gnum
+ (
+ ¡
+ [2]);
+ 
+ 1503 
+ 	`¡r_£t
+ (
+ ¡r
+ , 
+ 	`do_£ek
+ (
+ ¡ab
+ ,
+ 
+ 1504 ()
+ v®ue
+ , ()
+ 	`¡r_gnum
+ (
+ ¡
+ [3]èè? 
+ Yes
+  : 
+ No
+ );
+ 
+ 1505 
+ 	`STABSET
+ (
+ ¡r
+ );
+ 
+ 1507 
+ O_RETURN
+ :
+ 
+ 1508 
+ tmps
+  = "_SUB_";
+ 
+ 1509 
+ Ýty³
+  = 
+ O_LAST
+ ;
+ 
+ 1510 ià(
+ curcsv
+  && curcsv->
+ wª¼ay
+  =ð
+ G_ARRAY
+ ) {
+ 
+ 1511 
+ Ï¡»t¡r
+  = 
+ NuΡr
+ ;
+ 
+ 1512 
+ Ï¡¥ba£
+  = 
+ ¬gÏ¡
+ [1];
+ 
+ 1513 
+ ϡsize
+  = 
+ ¬gÏ¡
+ [2] -‡rglast[1];
+ 
+ 1516 
+ Ï¡»t¡r
+  = 
+ 	`¡r_m܏l
+ (
+ ¡
+ [
+ ¬gÏ¡
+ [2] -‡rglast[0]]);
+ 
+ 1517 
+ dÝÝ
+ ;
+ 
+ 1518 
+ O_REDO
+ :
+ 
+ 1519 
+ O_NEXT
+ :
+ 
+ 1520 
+ O_LAST
+ :
+ 
+ 1521 ià(
+ max¬g
+  > 0) {
+ 
+ 1522 
+ tmps
+  = 
+ 	`¡r_g‘
+ (
+ ¬g
+ [1].
+ ¬g_±r
+ .
+ ¬g_¡r
+ );
+ 
+ 1523 
+ dÝÝ
+ :
+ 
+ 1524 
+ loÝ_±r
+  >ð0 && (!
+ loÝ_¡ack
+ [loÝ_±r].
+ loÝ_Ïb–
+  ||
+ 
+ 1525 
+ 	`¡rNE
+ (
+ tmps
+ ,
+ loÝ_¡ack
+ [
+ loÝ_±r
+ ].
+ loÝ_Ïb–
+ ) )) {
+ 
+ 1526 #ifdeà
+ DEBUGGING
+ 
+ 
+ 1527 ià(
+ debug
+  & 4) {
+ 
+ 1528 
+ 	`deb
+ ("(Skpšg†ab– #%d %s)\n",
+ loÝ_±r
+ ,
+ 
+ 1529 
+ loÝ_¡ack
+ [
+ loÝ_±r
+ ].
+ loÝ_Ïb–
+ );
+ 
+ 1532 
+ loÝ_±r
+ --;
+ 
+ 1534 #ifdeà
+ DEBUGGING
+ 
+ 
+ 1535 ià(
+ debug
+  & 4) {
+ 
+ 1536 
+ 	`deb
+ ("(Found†ab– #%d %s)\n",
+ loÝ_±r
+ ,
+ 
+ 1537 
+ loÝ_¡ack
+ [
+ loÝ_±r
+ ].
+ loÝ_Ïb–
+ );
+ 
+ 1541 ià(
+ loÝ_±r
+  < 0) {
+ 
+ 1542 ià(
+ tmps
+  && 
+ 	`¡rEQ
+ (tmps, "_SUB_"))
+ 
+ 1543 
+ 	`çl
+ ("Can't„eturn outside‡ subroutine");
+ 
+ 1544 
+ 	`çl
+ ("Bad†ab–: %s", 
+ max¬g
+  > 0 ? 
+ tmps
+  : "<null>");
+ 
+ 1546 ià(!
+ Ï¡»t¡r
+  && 
+ Ýty³
+  =ð
+ O_LAST
+  && 
+ ϡsize
+ ) {
+ 
+ 1547 
+ ¡
+  -ð
+ ¬gÏ¡
+ [0];
+ 
+ 1548 
+ ¡
+  +ð
+ Ï¡¥ba£
+  + 1;
+ 
+ 1549 
+ Ýty³
+  = 
+ loÝ_¡ack
+ [
+ loÝ_±r
+ ].
+ loÝ_¥
+  - 
+ Ï¡¥ba£
+ ;
+ 
+ 1550 ià(
+ Ýty³
+ ) {
+ 
+ 1551 
+ ªum
+  = 
+ ϡsize
+ ;‡num > 0;‡num--,
+ ¡
+ ++)
+ 
+ 1552 
+ ¡
+ [
+ Ýty³
+ ] = 
+ 	`¡r_m܏l
+ (st[0]);
+ 
+ 1554 
+ 	`lÚgjmp
+ (
+ loÝ_¡ack
+ [
+ loÝ_±r
+ ].
+ loÝ_’v
+ , 
+ O_LAST
+ );
+ 
+ 1556 
+ 	`lÚgjmp
+ (
+ loÝ_¡ack
+ [
+ loÝ_±r
+ ].
+ loÝ_’v
+ , 
+ Ýty³
+ );
+ 
+ 1557 
+ O_DUMP
+ :
+ 
+ 1558 
+ O_GOTO
+ :
+ 
+ 1559 
+ gÙo_rg
+  = 
+ 	`¡r_g‘
+ (
+ ¬g
+ [1].
+ ¬g_±r
+ .
+ ¬g_¡r
+ );
+ 
+ 1560 ià(!*
+ gÙo_rg
+ )
+ 
+ 1561 
+ gÙo_rg
+  = 
+ NuÎch
+ ;
+ 
+ 1562 ià(
+ Ýty³
+  =ð
+ O_DUMP
+ ) {
+ 
+ 1563 
+ do_undump
+  = 1;
+ 
+ 1564 
+ 	`my_uÃxec
+ ();
+ 
+ 1566 
+ 	`lÚgjmp
+ (
+ tÝ_’v
+ , 1);
+ 
+ 1567 
+ O_INDEX
+ :
+ 
+ 1568 
+ tmps
+  = 
+ 	`¡r_g‘
+ (
+ ¡
+ [1]);
+ 
+ 1569 ià(
+ max¬g
+  < 3)
+ 
+ 1570 
+ ªum
+  = 0;
+ 
+ 1572 
+ ªum
+  = (è
+ 	`¡r_gnum
+ (
+ ¡
+ [3]è- 
+ ¬yba£
+ ;
+ 
+ 1573 ià(
+ ªum
+  < 0)
+ 
+ 1574 
+ ªum
+  = 0;
+ 
+ 1575 ià(
+ ªum
+  > 
+ ¡
+ [1]->
+ ¡r_cur
+ )
+ 
+ 1576 
+ ªum
+  = 
+ ¡
+ [1]->
+ ¡r_cur
+ ;
+ 
+ 1578 #iâdeà
+ lšt
+ 
+ 
+ 1579 ià(!(
+ tmps2
+  = 
+ 	`fbmš¡r
+ ((*)
+ tmps
+  + 
+ ªum
+ ,
+ 
+ 1580 (*)
+ tmps
+  + 
+ ¡
+ [1]->
+ ¡r_cur
+ , st[2])))
+ 
+ 1582 ià(
+ tmps2
+  = 
+ 	`fbmš¡r
+ (
+ 	`NuÎ
+ (*),NuÎ(*),
+ NuΡr
+ ))
+ 
+ 1584 
+ v®ue
+  = ()(-1 + 
+ ¬yba£
+ );
+ 
+ 1586 
+ v®ue
+  = ()(
+ tmps2
+  - 
+ tmps
+  + 
+ ¬yba£
+ );
+ 
+ 1587 
+ dÚum£t
+ ;
+ 
+ 1588 
+ O_RINDEX
+ :
+ 
+ 1589 
+ tmps
+  = 
+ 	`¡r_g‘
+ (
+ ¡
+ [1]);
+ 
+ 1590 
+ tmps2
+  = 
+ 	`¡r_g‘
+ (
+ ¡
+ [2]);
+ 
+ 1591 ià(
+ max¬g
+  < 3)
+ 
+ 1592 
+ ªum
+  = 
+ ¡
+ [1]->
+ ¡r_cur
+ ;
+ 
+ 1594 
+ ªum
+  = (è
+ 	`¡r_gnum
+ (
+ ¡
+ [3]è- 
+ ¬yba£
+  + st[2]->
+ ¡r_cur
+ ;
+ 
+ 1595 ià(
+ ªum
+  < 0)
+ 
+ 1596 
+ ªum
+  = 0;
+ 
+ 1597 ià(
+ ªum
+  > 
+ ¡
+ [1]->
+ ¡r_cur
+ )
+ 
+ 1598 
+ ªum
+  = 
+ ¡
+ [1]->
+ ¡r_cur
+ ;
+ 
+ 1600 #iâdeà
+ lšt
+ 
+ 
+ 1601 ià(!(
+ tmps2
+  = 
+ 	`ºš¡r
+ (
+ tmps
+ ,mp + 
+ ªum
+ ,
+ 
+ 1602 
+ tmps2
+ ,mps2 + 
+ ¡
+ [2]->
+ ¡r_cur
+ )))
+ 
+ 1604 ià(
+ tmps2
+  = 
+ 	`ºš¡r
+ (
+ NuÎch
+ ,Nullch,Nullch,Nullch))
+ 
+ 1606 
+ v®ue
+  = ()(-1 + 
+ ¬yba£
+ );
+ 
+ 1608 
+ v®ue
+  = ()(
+ tmps2
+  - 
+ tmps
+  + 
+ ¬yba£
+ );
+ 
+ 1609 
+ dÚum£t
+ ;
+ 
+ 1610 
+ O_TIME
+ :
+ 
+ 1611 #iâdeà
+ lšt
+ 
+ 
+ 1612 
+ v®ue
+  = (è
+ 	`time
+ (
+ 	`NuÎ
+ (*));
+ 
+ 1614 
+ dÚum£t
+ ;
+ 
+ 1615 
+ O_TMS
+ :
+ 
+ 1616 
+ ¥
+  = 
+ 	`do_tms
+ (
+ ¡r
+ ,
+ gimme
+ ,
+ ¬gÏ¡
+ );
+ 
+ 1617 
+ ¬¿y_»tuº
+ ;
+ 
+ 1618 
+ O_LOCALTIME
+ :
+ 
+ 1619 ià(
+ max¬g
+  < 1)
+ 
+ 1620 ()
+ 	`time
+ (&
+ wh’
+ );
+ 
+ 1622 
+ wh’
+  = ()
+ 	`¡r_gnum
+ (
+ ¡
+ [1]);
+ 
+ 1623 
+ ¥
+  = 
+ 	`do_time
+ (
+ ¡r
+ ,
+ 	`loÿÉime
+ (&
+ wh’
+ ),
+ 
+ 1624 
+ gimme
+ ,
+ ¬gÏ¡
+ );
+ 
+ 1625 
+ ¬¿y_»tuº
+ ;
+ 
+ 1626 
+ O_GMTIME
+ :
+ 
+ 1627 ià(
+ max¬g
+  < 1)
+ 
+ 1628 ()
+ 	`time
+ (&
+ wh’
+ );
+ 
+ 1630 
+ wh’
+  = ()
+ 	`¡r_gnum
+ (
+ ¡
+ [1]);
+ 
+ 1631 
+ ¥
+  = 
+ 	`do_time
+ (
+ ¡r
+ ,
+ 	`gmtime
+ (&
+ wh’
+ ),
+ 
+ 1632 
+ gimme
+ ,
+ ¬gÏ¡
+ );
+ 
+ 1633 
+ ¬¿y_»tuº
+ ;
+ 
+ 1634 
+ O_TRUNCATE
+ :
+ 
+ 1635 
+ ¥
+  = 
+ 	`do_Œunÿ‹
+ (
+ ¡r
+ ,
+ ¬g
+ ,
+ 
+ 1636 
+ gimme
+ ,
+ ¬gÏ¡
+ );
+ 
+ 1637 
+ ¬¿y_»tuº
+ ;
+ 
+ 1638 
+ O_LSTAT
+ :
+ 
+ 1639 
+ O_STAT
+ :
+ 
+ 1640 
+ ¥
+  = 
+ 	`do_¡©
+ (
+ ¡r
+ ,
+ ¬g
+ ,
+ 
+ 1641 
+ gimme
+ ,
+ ¬gÏ¡
+ );
+ 
+ 1642 
+ ¬¿y_»tuº
+ ;
+ 
+ 1643 
+ O_CRYPT
+ :
+ 
+ 1644 #ifdeà
+ HAS_CRYPT
+ 
+ 
+ 1645 
+ tmps
+  = 
+ 	`¡r_g‘
+ (
+ ¡
+ [1]);
+ 
+ 1646 #ifdeà
+ FCRYPT
+ 
+ 
+ 1647 
+ 	`¡r_£t
+ (
+ ¡r
+ ,
+ 	`füy±
+ (
+ tmps
+ ,
+ 	`¡r_g‘
+ (
+ ¡
+ [2])));
+ 
+ 1649 
+ 	`¡r_£t
+ (
+ ¡r
+ ,
+ 	`üy±
+ (
+ tmps
+ ,
+ 	`¡r_g‘
+ (
+ ¡
+ [2])));
+ 
+ 1652 
+ 	`çl
+ (
+ 
+ 1656 
+ O_ATAN2
+ :
+ 
+ 1657 
+ v®ue
+  = 
+ 	`¡r_gnum
+ (
+ ¡
+ [1]);
+ 
+ 1658 
+ v®ue
+  = 
+ 	`©ª2
+ (v®ue,
+ 	`¡r_gnum
+ (
+ ¡
+ [2]));
+ 
+ 1659 
+ dÚum£t
+ ;
+ 
+ 1660 
+ O_SIN
+ :
+ 
+ 1661 ià(
+ max¬g
+  < 1)
+ 
+ 1662 
+ v®ue
+  = 
+ 	`¡r_gnum
+ (
+ 	`¡ab_v®
+ (
+ def¡ab
+ ));
+ 
+ 1664 
+ v®ue
+  = 
+ 	`¡r_gnum
+ (
+ ¡
+ [1]);
+ 
+ 1665 
+ v®ue
+  = 
+ 	`sš
+ (value);
+ 
+ 1666 
+ dÚum£t
+ ;
+ 
+ 1667 
+ O_COS
+ :
+ 
+ 1668 ià(
+ max¬g
+  < 1)
+ 
+ 1669 
+ v®ue
+  = 
+ 	`¡r_gnum
+ (
+ 	`¡ab_v®
+ (
+ def¡ab
+ ));
+ 
+ 1671 
+ v®ue
+  = 
+ 	`¡r_gnum
+ (
+ ¡
+ [1]);
+ 
+ 1672 
+ v®ue
+  = 
+ 	`cos
+ (value);
+ 
+ 1673 
+ dÚum£t
+ ;
+ 
+ 1674 
+ O_RAND
+ :
+ 
+ 1675 ià(
+ max¬g
+  < 1)
+ 
+ 1676 
+ v®ue
+  = 1.0;
+ 
+ 1678 
+ v®ue
+  = 
+ 	`¡r_gnum
+ (
+ ¡
+ [1]);
+ 
+ 1679 ià(
+ v®ue
+  == 0.0)
+ 
+ 1680 
+ v®ue
+  = 1.0;
+ 
+ 1681 #ià
+ RANDBITS
+  == 31
+ 
+ 1682 
+ v®ue
+  = 
+ 	`¿nd
+ () * value / 2147483648.0;
+ 
+ 1684 #ià
+ RANDBITS
+  == 16
+ 
+ 1685 
+ v®ue
+  = 
+ 	`¿nd
+ () * value / 65536.0;
+ 
+ 1687 #ià
+ RANDBITS
+  == 15
+ 
+ 1688 
+ v®ue
+  = 
+ 	`¿nd
+ () * value / 32768.0;
+ 
+ 1690 
+ v®ue
+  = 
+ 	`¿nd
+ (è* v®u/ ()((()1è<< 
+ RANDBITS
+ );
+ 
+ 1694 
+ dÚum£t
+ ;
+ 
+ 1695 
+ O_SRAND
+ :
+ 
+ 1696 ià(
+ max¬g
+  < 1) {
+ 
+ 1697 ()
+ 	`time
+ (&
+ wh’
+ );
+ 
+ 1698 
+ ªum
+  = 
+ wh’
+ ;
+ 
+ 1701 
+ ªum
+  = ()
+ 	`¡r_gnum
+ (
+ ¡
+ [1]);
+ 
+ 1702 ()
+ 	`¤ªd
+ (
+ ªum
+ );
+ 
+ 1703 
+ §y_yes
+ ;
+ 
+ 1704 
+ O_EXP
+ :
+ 
+ 1705 ià(
+ max¬g
+  < 1)
+ 
+ 1706 
+ v®ue
+  = 
+ 	`¡r_gnum
+ (
+ 	`¡ab_v®
+ (
+ def¡ab
+ ));
+ 
+ 1708 
+ v®ue
+  = 
+ 	`¡r_gnum
+ (
+ ¡
+ [1]);
+ 
+ 1709 
+ v®ue
+  = 
+ 	`exp
+ (value);
+ 
+ 1710 
+ dÚum£t
+ ;
+ 
+ 1711 
+ O_LOG
+ :
+ 
+ 1712 ià(
+ max¬g
+  < 1)
+ 
+ 1713 
+ v®ue
+  = 
+ 	`¡r_gnum
+ (
+ 	`¡ab_v®
+ (
+ def¡ab
+ ));
+ 
+ 1715 
+ v®ue
+  = 
+ 	`¡r_gnum
+ (
+ ¡
+ [1]);
+ 
+ 1716 ià(
+ v®ue
+  <= 0.0)
+ 
+ 1717 
+ 	`çl
+ ("Cª'ˆklog oà%g\n", 
+ v®ue
+ );
+ 
+ 1718 
+ v®ue
+  = 
+ 	`log
+ (value);
+ 
+ 1719 
+ dÚum£t
+ ;
+ 
+ 1720 
+ O_SQRT
+ :
+ 
+ 1721 ià(
+ max¬g
+  < 1)
+ 
+ 1722 
+ v®ue
+  = 
+ 	`¡r_gnum
+ (
+ 	`¡ab_v®
+ (
+ def¡ab
+ ));
+ 
+ 1724 
+ v®ue
+  = 
+ 	`¡r_gnum
+ (
+ ¡
+ [1]);
+ 
+ 1725 ià(
+ v®ue
+  < 0.0)
+ 
+ 1726 
+ 	`çl
+ ("Cª'ˆksq¹ oà%g\n", 
+ v®ue
+ );
+ 
+ 1727 
+ v®ue
+  = 
+ 	`sq¹
+ (value);
+ 
+ 1728 
+ dÚum£t
+ ;
+ 
+ 1729 
+ O_INT
+ :
+ 
+ 1730 ià(
+ max¬g
+  < 1)
+ 
+ 1731 
+ v®ue
+  = 
+ 	`¡r_gnum
+ (
+ 	`¡ab_v®
+ (
+ def¡ab
+ ));
+ 
+ 1733 
+ v®ue
+  = 
+ 	`¡r_gnum
+ (
+ ¡
+ [1]);
+ 
+ 1734 ià(
+ v®ue
+  >= 0.0)
+ 
+ 1735 ()
+ 	`modf
+ (
+ v®ue
+ ,&value);
+ 
+ 1737 ()
+ 	`modf
+ (-
+ v®ue
+ ,&value);
+ 
+ 1738 
+ v®ue
+  = -value;
+ 
+ 1740 
+ dÚum£t
+ ;
+ 
+ 1741 
+ O_ORD
+ :
+ 
+ 1742 ià(
+ max¬g
+  < 1)
+ 
+ 1743 
+ tmps
+  = 
+ 	`¡r_g‘
+ (
+ 	`¡ab_v®
+ (
+ def¡ab
+ ));
+ 
+ 1745 
+ tmps
+  = 
+ 	`¡r_g‘
+ (
+ ¡
+ [1]);
+ 
+ 1746 #iâdeà
+ I286
+ 
+ 
+ 1747 
+ v®ue
+  = (è(*
+ tmps
+  & 255);
+ 
+ 1749 
+ ªum
+  = (è*
+ tmps
+ ;
+ 
+ 1750 
+ v®ue
+  = (è(
+ ªum
+  & 255);
+ 
+ 1752 
+ dÚum£t
+ ;
+ 
+ 1753 
+ O_ALARM
+ :
+ 
+ 1754 #ifdeà
+ HAS_ALARM
+ 
+ 
+ 1755 ià(
+ max¬g
+  < 1)
+ 
+ 1756 
+ tmps
+  = 
+ 	`¡r_g‘
+ (
+ 	`¡ab_v®
+ (
+ def¡ab
+ ));
+ 
+ 1758 
+ tmps
+  = 
+ 	`¡r_g‘
+ (
+ ¡
+ [1]);
+ 
+ 1759 ià(!
+ tmps
+ )
+ 
+ 1760 
+ tmps
+  = "0";
+ 
+ 1761 
+ ªum
+  = 
+ 	`®¬m
+ (()
+ 	`©oi
+ (
+ tmps
+ ));
+ 
+ 1762 ià(
+ ªum
+  < 0)
+ 
+ 1763 
+ §y_undef
+ ;
+ 
+ 1764 
+ v®ue
+  = ()
+ ªum
+ ;
+ 
+ 1765 
+ dÚum£t
+ ;
+ 
+ 1767 
+ 	`çl
+ ("Unsupported function‡larm");
+ 
+ 1770 
+ O_SLEEP
+ :
+ 
+ 1771 ià(
+ max¬g
+  < 1)
+ 
+ 1772 
+ tmps
+  = 
+ NuÎch
+ ;
+ 
+ 1774 
+ tmps
+  = 
+ 	`¡r_g‘
+ (
+ ¡
+ [1]);
+ 
+ 1775 ()
+ 	`time
+ (&
+ wh’
+ );
+ 
+ 1776 ià(!
+ tmps
+  || !*tmps)
+ 
+ 1777 
+ 	`¦“p
+ ((32767<<16)+32767);
+ 
+ 1779 
+ 	`¦“p
+ (()
+ 	`©oi
+ (
+ tmps
+ ));
+ 
+ 1780 #iâdeà
+ lšt
+ 
+ 
+ 1781 
+ v®ue
+  = ()
+ wh’
+ ;
+ 
+ 1782 ()
+ 	`time
+ (&
+ wh’
+ );
+ 
+ 1783 
+ v®ue
+  = (()
+ wh’
+ ) - value;
+ 
+ 1785 
+ dÚum£t
+ ;
+ 
+ 1786 
+ O_RANGE
+ :
+ 
+ 1787 
+ ¥
+  = 
+ 	`do_¿nge
+ (
+ gimme
+ ,
+ ¬gÏ¡
+ );
+ 
+ 1788 
+ ¬¿y_»tuº
+ ;
+ 
+ 1789 
+ O_F_OR_R
+ :
+ 
+ 1790 ià(
+ gimme
+  =ð
+ G_ARRAY
+ ) {
+ 
+ 1792 ià((
+ ¬g
+ [1].
+ ¬g_ty³
+  & 
+ A_MASK
+ è=ð
+ A_SINGLE
+  &&
+ 
+ 1793 (
+ ¬g
+ [2].
+ ¬g_ty³
+  & 
+ A_MASK
+ è=ð
+ A_SINGLE
+ ) {
+ 
+ 1794 
+ ¡
+ [2] = 
+ ¬g
+ [2].
+ ¬g_±r
+ .
+ ¬g_¡r
+ ;
+ 
+ 1795 
+ ¥
+  = 
+ 	`do_¿nge
+ (
+ gimme
+ ,
+ ¬gÏ¡
+ );
+ 
+ 1796 
+ ¡
+  = 
+ ¡ack
+ ->
+ ¬y_¬¿y
+ ;
+ 
+ 1797 
+ max¬g
+  = 
+ ¥
+  - 
+ ¬gÏ¡
+ [0];
+ 
+ 1798 
+ 	`¡r_ä“
+ (
+ ¬g
+ [1].
+ ¬g_±r
+ .
+ ¬g_¡r
+ );
+ 
+ 1799 
+ ¬g
+ [1].
+ ¬g_±r
+ .
+ ¬g_¡r
+  = 
+ NuΡr
+ ;
+ 
+ 1800 
+ 	`¡r_ä“
+ (
+ ¬g
+ [2].
+ ¬g_±r
+ .
+ ¬g_¡r
+ );
+ 
+ 1801 
+ ¬g
+ [2].
+ ¬g_±r
+ .
+ ¬g_¡r
+  = 
+ NuΡr
+ ;
+ 
+ 1802 
+ ¬g
+ ->
+ ¬g_ty³
+  = 
+ O_ARRAY
+ ;
+ 
+ 1803 
+ ¬g
+ [1].
+ ¬g_ty³
+  = 
+ A_STAB
+ |
+ A_DONT
+ ;
+ 
+ 1804 
+ ¬g
+ ->
+ ¬g_Ën
+  = 1;
+ 
+ 1805 
+ ¡ab
+  = 
+ ¬g
+ [1].
+ ¬g_±r
+ .
+ ¬g_¡ab
+  = 
+ 	`¯dd
+ (
+ 	`g’¡ab
+ ());
+ 
+ 1806 
+ ¬y
+  = 
+ 	`¡ab_¬¿y
+ (
+ ¡ab
+ );
+ 
+ 1807 
+ 	`afžl
+ (
+ ¬y
+ ,
+ max¬g
+  - 1);
+ 
+ 1808 
+ ªum
+  = 
+ max¬g
+ ;
+ 
+ 1809 
+ ¡
+  +ð
+ ¬gÏ¡
+ [0]+1;
+ 
+ 1810 
+ max¬g
+ -- > 0)
+ 
+ 1811 
+ ¬y
+ ->
+ ¬y_¬¿y
+ [
+ max¬g
+ ] = 
+ 	`¡r_smake
+ (
+ ¡
+ [maxarg]);
+ 
+ 1812 
+ ¡
+  -ð
+ ¬gÏ¡
+ [0]+1;
+ 
+ 1813 
+ ¬¿y_»tuº
+ ;
+ 
+ 1815 
+ ¬g
+ ->
+ ¬g_ty³
+  = 
+ Ýty³
+  = 
+ O_RANGE
+ ;
+ 
+ 1816 
+ max¬g
+  = 
+ ¬g
+ ->
+ ¬g_Ën
+  = 2;
+ 
+ 1817 
+ ªum
+  = 2;
+ 
+ 1818 
+ ¬g
+ [
+ ªum
+ ].
+ ¬g_æags
+  &ð~
+ AF_ARYOK
+ ;
+ 
+ 1819 
+ ¬gæags
+  = 
+ ¬g
+ [
+ ªum
+ ].
+ ¬g_æags
+ ;
+ 
+ 1820 
+ ¬gty³
+  = 
+ ¬g
+ [
+ ªum
+ ].
+ ¬g_ty³
+  & 
+ A_MASK
+ ;
+ 
+ 1821 
+ ¬g
+ [
+ ªum
+ ].
+ ¬g_ty³
+  = 
+ ¬gty³
+ ;
+ 
+ 1822 
+ ¬g±r
+  = 
+ ¬g
+ [
+ ªum
+ ].
+ ¬g_±r
+ ;
+ 
+ 1823 
+ ¥
+  = 
+ ¬gÏ¡
+ [0];
+ 
+ 1824 
+ ¡
+  -ð
+ ¥
+ ;
+ 
+ 1825 
+ ¥
+ ++;
+ 
+ 1826 
+ »_ev®
+ ;
+ 
+ 1828 
+ ¬g
+ ->
+ ¬g_ty³
+  = 
+ O_FLIP
+ ;
+ 
+ 1830 
+ O_FLIP
+ :
+ 
+ 1831 ià((
+ ¬g
+ [1].
+ ¬g_ty³
+  & 
+ A_MASK
+ è=ð
+ A_SINGLE
+  ?
+ 
+ 1832 
+ Ï¡_š_¡ab
+  && ()
+ 	`¡r_gnum
+ (
+ ¡
+ [1]è=ð
+ 	`¡ab_io
+ Öa¡_š_¡ab)->
+ lšes
+ 
+ 
+ 1834 
+ 	`¡r_Œue
+ (
+ ¡
+ [1]) ) {
+ 
+ 1835 
+ 	`¡r_num£t
+ (
+ ¡r
+ ,0.0);
+ 
+ 1836 
+ ªum
+  = 2;
+ 
+ 1837 
+ ¬g
+ ->
+ ¬g_ty³
+  = 
+ Ýty³
+  = 
+ O_FLOP
+ ;
+ 
+ 1838 
+ ¬g
+ [2].
+ ¬g_ty³
+  &ð~
+ A_DONT
+ ;
+ 
+ 1839 
+ ¬g
+ [1].
+ ¬g_ty³
+  |ð
+ A_DONT
+ ;
+ 
+ 1840 
+ ¬gæags
+  = 
+ ¬g
+ [2].
+ ¬g_æags
+ ;
+ 
+ 1841 
+ ¬gty³
+  = 
+ ¬g
+ [2].
+ ¬g_ty³
+  & 
+ A_MASK
+ ;
+ 
+ 1842 
+ ¬g±r
+  = 
+ ¬g
+ [2].
+ ¬g_±r
+ ;
+ 
+ 1843 
+ ¥
+  = 
+ ¬gÏ¡
+ [0];
+ 
+ 1844 
+ ¡
+  -ð
+ ¥
+ ++;
+ 
+ 1845 
+ »_ev®
+ ;
+ 
+ 1847 
+ 	`¡r_£t
+ (
+ ¡r
+ ,"");
+ 
+ 1849 
+ O_FLOP
+ :
+ 
+ 1850 
+ 	`¡r_šc
+ (
+ ¡r
+ );
+ 
+ 1851 ià((
+ ¬g
+ [2].
+ ¬g_ty³
+  & 
+ A_MASK
+ è=ð
+ A_SINGLE
+  ?
+ 
+ 1852 
+ Ï¡_š_¡ab
+  && ()
+ 	`¡r_gnum
+ (
+ ¡
+ [2]è=ð
+ 	`¡ab_io
+ Öa¡_š_¡ab)->
+ lšes
+ 
+ 
+ 1854 
+ 	`¡r_Œue
+ (
+ ¡
+ [2]) ) {
+ 
+ 1855 
+ ¬g
+ ->
+ ¬g_ty³
+  = 
+ O_FLIP
+ ;
+ 
+ 1856 
+ ¬g
+ [1].
+ ¬g_ty³
+  &ð~
+ A_DONT
+ ;
+ 
+ 1857 
+ ¬g
+ [2].
+ ¬g_ty³
+  |ð
+ A_DONT
+ ;
+ 
+ 1858 
+ 	`¡r_ÿt
+ (
+ ¡r
+ ,"E0");
+ 
+ 1861 
+ O_FORK
+ :
+ 
+ 1862 #ifdeà
+ HAS_FORK
+ 
+ 
+ 1863 
+ ªum
+  = 
+ 	`fÜk
+ ();
+ 
+ 1864 ià(
+ ªum
+  < 0)
+ 
+ 1865 
+ §y_undef
+ ;
+ 
+ 1866 ià(!
+ ªum
+ ) {
+ 
+ 1867 ià(
+ tmp¡ab
+  = 
+ 	`¡ab’t
+ ("$",
+ ®l¡abs
+ ))
+ 
+ 1868 
+ 	`¡r_num£t
+ (
+ 	`STAB_STR
+ (
+ tmp¡ab
+ ),()
+ 	`g‘pid
+ ());
+ 
+ 1869 
+ 	`hþ—r
+ (
+ pid¡©us
+ );
+ 
+ 1871 
+ v®ue
+  = ()
+ ªum
+ ;
+ 
+ 1872 
+ dÚum£t
+ ;
+ 
+ 1874 
+ 	`çl
+ ("Unsupported function fork");
+ 
+ 1877 
+ O_WAIT
+ :
+ 
+ 1878 #ifdeà
+ HAS_WAIT
+ 
+ 
+ 1879 #iâdeà
+ lšt
+ 
+ 
+ 1880 
+ ªum
+  = 
+ 	`wa™
+ (&
+ ¬gæags
+ );
+ 
+ 1881 ià(
+ ªum
+  > 0)
+ 
+ 1882 
+ 	`pidgÚe
+ (
+ ªum
+ ,
+ ¬gæags
+ );
+ 
+ 1883 
+ v®ue
+  = ()
+ ªum
+ ;
+ 
+ 1885 
+ ¡©usv®ue
+  = ()
+ ¬gæags
+ ;
+ 
+ 1886 
+ dÚum£t
+ ;
+ 
+ 1888 
+ 	`çl
+ ("Unsupported function wait");
+ 
+ 1891 
+ O_WAITPID
+ :
+ 
+ 1892 #ifdeà
+ HAS_WAIT
+ 
+ 
+ 1893 #iâdeà
+ lšt
+ 
+ 
+ 1894 
+ ªum
+  = ()
+ 	`¡r_gnum
+ (
+ ¡
+ [1]);
+ 
+ 1895 
+ Ýty³
+  = ()
+ 	`¡r_gnum
+ (
+ ¡
+ [2]);
+ 
+ 1896 
+ ªum
+  = 
+ 	`wa™4pid
+ ×num, &
+ ¬gæags
+ ,
+ Ýty³
+ );
+ 
+ 1897 
+ v®ue
+  = ()
+ ªum
+ ;
+ 
+ 1899 
+ ¡©usv®ue
+  = ()
+ ¬gæags
+ ;
+ 
+ 1900 
+ dÚum£t
+ ;
+ 
+ 1902 
+ 	`çl
+ ("Unsupported function wait");
+ 
+ 1905 
+ O_SYSTEM
+ :
+ 
+ 1906 #ifdeà
+ HAS_FORK
+ 
+ 
+ 1907 #ifdeà
+ TAINT
+ 
+ 
+ 1908 ià(
+ ¬gÏ¡
+ [2] -‡rglast[1] == 1) {
+ 
+ 1909 
+ 	`š‹nv
+ ();
+ 
+ 1910 
+ š‹d
+  |ð
+ ¡
+ [2]->
+ ¡r_š‹d
+ ;
+ 
+ 1911 
+ 	`šrÝ”
+ ("Insecure dependency in system");
+ 
+ 1914 (
+ ªum
+  = 
+ 	`vfÜk
+ ()) == -1) {
+ 
+ 1915 ià(
+ Ӽo
+  !ð
+ EAGAIN
+ ) {
+ 
+ 1916 
+ v®ue
+  = -1.0;
+ 
+ 1917 
+ dÚum£t
+ ;
+ 
+ 1919 
+ 	`¦“p
+ (5);
+ 
+ 1921 ià(
+ ªum
+  > 0) {
+ 
+ 1922 #iâdeà
+ lšt
+ 
+ 
+ 1923 
+ ihªd
+  = 
+ 	`sigÇl
+ (
+ SIGINT
+ , 
+ SIG_IGN
+ );
+ 
+ 1924 
+ qhªd
+  = 
+ 	`sigÇl
+ (
+ SIGQUIT
+ , 
+ SIG_IGN
+ );
+ 
+ 1925 
+ ¬gty³
+  = 
+ 	`wa™4pid
+ (
+ ªum
+ , &
+ ¬gæags
+ , 0);
+ 
+ 1927 
+ ihªd
+  = 
+ qhªd
+  = 0;
+ 
+ 1929 ()
+ 	`sigÇl
+ (
+ SIGINT
+ , 
+ ihªd
+ );
+ 
+ 1930 ()
+ 	`sigÇl
+ (
+ SIGQUIT
+ , 
+ qhªd
+ );
+ 
+ 1931 
+ ¡©usv®ue
+  = ()
+ ¬gæags
+ ;
+ 
+ 1932 ià(
+ ¬gty³
+  < 0)
+ 
+ 1933 
+ v®ue
+  = -1.0;
+ 
+ 1935 
+ v®ue
+  = ()(()
+ ¬gæags
+  & 0xffff);
+ 
+ 1937 
+ 	`do_execä“
+ ();
+ 
+ 1938 
+ dÚum£t
+ ;
+ 
+ 1940 ià((
+ ¬g
+ [1].
+ ¬g_ty³
+  & 
+ A_MASK
+ è=ð
+ A_STAB
+ )
+ 
+ 1941 
+ v®ue
+  = ()
+ 	`do_«xec
+ (
+ ¡
+ [1],
+ ¬gÏ¡
+ );
+ 
+ 1942 ià(
+ ¬gÏ¡
+ [2] -‡rglast[1] != 1)
+ 
+ 1943 
+ v®ue
+  = ()
+ 	`do_«xec
+ (
+ NuΡr
+ ,
+ ¬gÏ¡
+ );
+ 
+ 1945 
+ v®ue
+  = ()
+ 	`do_exec
+ (
+ 	`¡r_g‘
+ (
+ 	`¡r_m܏l
+ (
+ ¡
+ [2])));
+ 
+ 1947 
+ 	`_ex™
+ (-1);
+ 
+ 1949 ià((
+ ¬g
+ [1].
+ ¬g_ty³
+  & 
+ A_MASK
+ è=ð
+ A_STAB
+ )
+ 
+ 1950 
+ v®ue
+  = ()
+ 	`do_a¥awn
+ (
+ ¡
+ [1],
+ ¬gÏ¡
+ );
+ 
+ 1951 ià(
+ ¬gÏ¡
+ [2] -‡rglast[1] != 1)
+ 
+ 1952 
+ v®ue
+  = ()
+ 	`do_a¥awn
+ (
+ NuΡr
+ ,
+ ¬gÏ¡
+ );
+ 
+ 1954 
+ v®ue
+  = ()
+ 	`do_¥awn
+ (
+ 	`¡r_g‘
+ (
+ 	`¡r_m܏l
+ (
+ ¡
+ [2])));
+ 
+ 1956 
+ dÚum£t
+ ;
+ 
+ 1958 
+ O_EXEC_OP
+ :
+ 
+ 1959 ià((
+ ¬g
+ [1].
+ ¬g_ty³
+  & 
+ A_MASK
+ è=ð
+ A_STAB
+ )
+ 
+ 1960 
+ v®ue
+  = ()
+ 	`do_«xec
+ (
+ ¡
+ [1],
+ ¬gÏ¡
+ );
+ 
+ 1961 ià(
+ ¬gÏ¡
+ [2] -‡rglast[1] != 1)
+ 
+ 1962 
+ v®ue
+  = ()
+ 	`do_«xec
+ (
+ NuΡr
+ ,
+ ¬gÏ¡
+ );
+ 
+ 1964 
+ v®ue
+  = ()
+ 	`do_exec
+ (
+ 	`¡r_g‘
+ (
+ 	`¡r_m܏l
+ (
+ ¡
+ [2])));
+ 
+ 1966 
+ dÚum£t
+ ;
+ 
+ 1967 
+ O_HEX
+ :
+ 
+ 1968 ià(
+ max¬g
+  < 1)
+ 
+ 1969 
+ tmps
+  = 
+ 	`¡r_g‘
+ (
+ 	`¡ab_v®
+ (
+ def¡ab
+ ));
+ 
+ 1971 
+ tmps
+  = 
+ 	`¡r_g‘
+ (
+ ¡
+ [1]);
+ 
+ 1972 
+ v®ue
+  = ()
+ 	`sÿnhex
+ (
+ tmps
+ , 99, &
+ ¬gty³
+ );
+ 
+ 1973 
+ dÚum£t
+ ;
+ 
+ 1975 
+ O_OCT
+ :
+ 
+ 1976 ià(
+ max¬g
+  < 1)
+ 
+ 1977 
+ tmps
+  = 
+ 	`¡r_g‘
+ (
+ 	`¡ab_v®
+ (
+ def¡ab
+ ));
+ 
+ 1979 
+ tmps
+  = 
+ 	`¡r_g‘
+ (
+ ¡
+ [1]);
+ 
+ 1980 *
+ tmps
+  && 
+ 	`i§scii
+ (*tmpsè&& (
+ 	`is¥aû
+ (*tmps) || *tmps == '0'))
+ 
+ 1981 
+ tmps
+ ++;
+ 
+ 1982 ià(*
+ tmps
+  == 'x')
+ 
+ 1983 
+ v®ue
+  = ()
+ 	`sÿnhex
+ (++
+ tmps
+ , 99, &
+ ¬gty³
+ );
+ 
+ 1985 
+ v®ue
+  = ()
+ 	`sÿnoù
+ (
+ tmps
+ , 99, &
+ ¬gty³
+ );
+ 
+ 1986 
+ dÚum£t
+ ;
+ 
+ 1991 
+ ¬¿y_»tuº
+ :
+ 
+ 1992 #ifdeà
+ DEBUGGING
+ 
+ 
+ 1993 ià(
+ debug
+ ) {
+ 
+ 1994 
+ dËv–
+ --;
+ 
+ 1995 ià(
+ debug
+  & 8) {
+ 
+ 1996 
+ ªum
+  = 
+ ¥
+  - 
+ ¬gÏ¡
+ [0];
+ 
+ 1997 
+ ªum
+ ) {
+ 
+ 1999 
+ 	`deb
+ ("% RETURNS ()\n",
+ ÝÇme
+ [
+ Ýty³
+ ]);
+ 
+ 2002 
+ 	`deb
+ ("% RETURNS (\"%s\")\n",
+ ÝÇme
+ [
+ Ýty³
+ ],
+ 	`¡r_g‘
+ (
+ ¡
+ [1]));
+ 
+ 2005 
+ tmps
+  = 
+ 	`¡r_g‘
+ (
+ ¡
+ [1]);
+ 
+ 2006 
+ 	`deb
+ ("% RETURNS %d ARGS (\"%s\",%s\"%s\")\n",
+ ÝÇme
+ [
+ Ýty³
+ ],
+ 
+ 2007 
+ ªum
+ ,
+ tmps
+ ,ªum==2?"":"...,",
+ 	`¡r_g‘
+ (
+ ¡
+ [anum]));
+ 
+ 2013  
+ ¥
+ ;
+ 
+ 2015 
+ §y_yes
+ :
+ 
+ 2016 
+ ¡r
+  = &
+ ¡r_yes
+ ;
+ 
+ 2017 
+ nÜm®_»tuº
+ ;
+ 
+ 2019 
+ §y_no
+ :
+ 
+ 2020 
+ ¡r
+  = &
+ ¡r_no
+ ;
+ 
+ 2021 
+ nÜm®_»tuº
+ ;
+ 
+ 2023 
+ §y_undef
+ :
+ 
+ 2024 
+ ¡r
+  = &
+ ¡r_undef
+ ;
+ 
+ 2025 
+ nÜm®_»tuº
+ ;
+ 
+ 2027 
+ §y_z”o
+ :
+ 
+ 2028 
+ v®ue
+  = 0.0;
+ 
+ 2031 
+ dÚum£t
+ :
+ 
+ 2032 
+ 	`¡r_num£t
+ (
+ ¡r
+ ,
+ v®ue
+ );
+ 
+ 2033 
+ 	`STABSET
+ (
+ ¡r
+ );
+ 
+ 2034 
+ ¡
+ [1] = 
+ ¡r
+ ;
+ 
+ 2035 #ifdeà
+ DEBUGGING
+ 
+ 
+ 2036 ià(
+ debug
+ ) {
+ 
+ 2037 
+ dËv–
+ --;
+ 
+ 2038 ià(
+ debug
+  & 8)
+ 
+ 2039 
+ 	`deb
+ ("% RETURNS \"%f\"\n",
+ ÝÇme
+ [
+ Ýty³
+ ],
+ v®ue
+ );
+ 
+ 2042  
+ ¬gÏ¡
+ [0] + 1;
+ 
+ 2043 #ifdeà
+ SMALLSWITCHES
+ 
+ 
+ 2046 
+ Ýty³
+ ) {
+ 
+ 2048 
+ O_CHOWN
+ :
+ 
+ 2049 #ifdeà
+ HAS_CHOWN
+ 
+ 
+ 2050 
+ v®ue
+  = ()
+ 	`­¶y
+ (
+ Ýty³
+ ,
+ ¬gÏ¡
+ );
+ 
+ 2051 
+ dÚum£t
+ ;
+ 
+ 2053 
+ 	`çl
+ ("Unsupported function chown");
+ 
+ 2056 
+ O_KILL
+ :
+ 
+ 2057 #ifdeà
+ HAS_KILL
+ 
+ 
+ 2058 
+ v®ue
+  = ()
+ 	`­¶y
+ (
+ Ýty³
+ ,
+ ¬gÏ¡
+ );
+ 
+ 2059 
+ dÚum£t
+ ;
+ 
+ 2061 
+ 	`çl
+ ("Unsupported function kill");
+ 
+ 2064 
+ O_UNLINK
+ :
+ 
+ 2065 
+ O_CHMOD
+ :
+ 
+ 2066 
+ O_UTIME
+ :
+ 
+ 2067 
+ v®ue
+  = ()
+ 	`­¶y
+ (
+ Ýty³
+ ,
+ ¬gÏ¡
+ );
+ 
+ 2068 
+ dÚum£t
+ ;
+ 
+ 2069 
+ O_UMASK
+ :
+ 
+ 2070 #ifdeà
+ HAS_UMASK
+ 
+ 
+ 2071 ià(
+ max¬g
+  < 1) {
+ 
+ 2072 
+ ªum
+  = 
+ 	`umask
+ (0);
+ 
+ 2073 ()
+ 	`umask
+ (
+ ªum
+ );
+ 
+ 2076 
+ ªum
+  = 
+ 	`umask
+ (()
+ 	`¡r_gnum
+ (
+ ¡
+ [1]));
+ 
+ 2077 
+ v®ue
+  = ()
+ ªum
+ ;
+ 
+ 2078 #ifdeà
+ TAINT
+ 
+ 
+ 2079 
+ 	`šrÝ”
+ ("Insecure dependency in umask");
+ 
+ 2081 
+ dÚum£t
+ ;
+ 
+ 2083 
+ 	`çl
+ ("Unsupported function umask");
+ 
+ 2086 #ià
+ 	`defšed
+ (
+ HAS_MSG
+ è|| defšed(
+ HAS_SEM
+ è|| defšed(
+ HAS_SHM
+ )
+ 
+ 2087 
+ O_MSGGET
+ :
+ 
+ 2088 
+ O_SHMGET
+ :
+ 
+ 2089 
+ O_SEMGET
+ :
+ 
+ 2090 ià((
+ ªum
+  = 
+ 	`do_cg‘
+ (
+ Ýty³
+ , 
+ ¬gÏ¡
+ )) == -1)
+ 
+ 2091 
+ §y_undef
+ ;
+ 
+ 2092 
+ v®ue
+  = ()
+ ªum
+ ;
+ 
+ 2093 
+ dÚum£t
+ ;
+ 
+ 2094 
+ O_MSGCTL
+ :
+ 
+ 2095 
+ O_SHMCTL
+ :
+ 
+ 2096 
+ O_SEMCTL
+ :
+ 
+ 2097 
+ ªum
+  = 
+ 	`do_cùl
+ (
+ Ýty³
+ , 
+ ¬gÏ¡
+ );
+ 
+ 2098 ià(
+ ªum
+  == -1)
+ 
+ 2099 
+ §y_undef
+ ;
+ 
+ 2100 ià(
+ ªum
+  != 0) {
+ 
+ 2101 
+ v®ue
+  = ()
+ ªum
+ ;
+ 
+ 2102 
+ dÚum£t
+ ;
+ 
+ 2104 
+ 	`¡r_£t
+ (
+ ¡r
+ ,"0 butrue");
+ 
+ 2105 
+ 	`STABSET
+ (
+ ¡r
+ );
+ 
+ 2107 
+ O_MSGSND
+ :
+ 
+ 2108 
+ v®ue
+  = ()(
+ 	`do_msg¢d
+ (
+ ¬gÏ¡
+ ) >= 0);
+ 
+ 2109 
+ dÚum£t
+ ;
+ 
+ 2110 
+ O_MSGRCV
+ :
+ 
+ 2111 
+ v®ue
+  = ()(
+ 	`do_msgrcv
+ (
+ ¬gÏ¡
+ ) >= 0);
+ 
+ 2112 
+ dÚum£t
+ ;
+ 
+ 2113 
+ O_SEMOP
+ :
+ 
+ 2114 
+ v®ue
+  = ()(
+ 	`do_£mÝ
+ (
+ ¬gÏ¡
+ ) >= 0);
+ 
+ 2115 
+ dÚum£t
+ ;
+ 
+ 2116 
+ O_SHMREAD
+ :
+ 
+ 2117 
+ O_SHMWRITE
+ :
+ 
+ 2118 
+ v®ue
+  = ()(
+ 	`do_shmio
+ (
+ Ýty³
+ , 
+ ¬gÏ¡
+ ) >= 0);
+ 
+ 2119 
+ dÚum£t
+ ;
+ 
+ 2121 
+ O_MSGGET
+ :
+ 
+ 2122 
+ O_MSGCTL
+ :
+ 
+ 2123 
+ O_MSGSND
+ :
+ 
+ 2124 
+ O_MSGRCV
+ :
+ 
+ 2125 
+ O_SEMGET
+ :
+ 
+ 2126 
+ O_SEMCTL
+ :
+ 
+ 2127 
+ O_SEMOP
+ :
+ 
+ 2128 
+ O_SHMGET
+ :
+ 
+ 2129 
+ O_SHMCTL
+ :
+ 
+ 2130 
+ O_SHMREAD
+ :
+ 
+ 2131 
+ O_SHMWRITE
+ :
+ 
+ 2132 
+ 	`çl
+ ("System V IPC is‚ot implemented onhis machine");
+ 
+ 2134 
+ O_RENAME
+ :
+ 
+ 2135 
+ tmps
+  = 
+ 	`¡r_g‘
+ (
+ ¡
+ [1]);
+ 
+ 2136 
+ tmps2
+  = 
+ 	`¡r_g‘
+ (
+ ¡
+ [2]);
+ 
+ 2137 #ifdeà
+ TAINT
+ 
+ 
+ 2138 
+ 	`šrÝ”
+ ("Insecure dependency in„ename");
+ 
+ 2140 #ifdeà
+ HAS_RENAME
+ 
+ 
+ 2141 
+ v®ue
+  = ()(
+ 	`Ȃme
+ (
+ tmps
+ ,
+ tmps2
+ ) >= 0);
+ 
+ 2143 ià(
+ 	`§me_dœ’t
+ (
+ tmps2
+ , 
+ tmps
+ ))
+ 
+ 2144 
+ ªum
+  = 1;
+ 
+ 2146 ià(
+ euid
+  || 
+ 	`¡©
+ (
+ tmps2
+ ,&
+ ¡©buf
+ è< 0 || !
+ 	`S_ISDIR
+ (¡©buf.
+ ¡_mode
+ ))
+ 
+ 2147 ()
+ 	`UNLINK
+ (
+ tmps2
+ );
+ 
+ 2148 ià(!(
+ ªum
+  = 
+ 	`lšk
+ (
+ tmps
+ ,
+ tmps2
+ )))
+ 
+ 2149 
+ ªum
+  = 
+ 	`UNLINK
+ (
+ tmps
+ );
+ 
+ 2151 
+ v®ue
+  = ()(
+ ªum
+  >= 0);
+ 
+ 2153 
+ dÚum£t
+ ;
+ 
+ 2154 
+ O_LINK
+ :
+ 
+ 2155 #ifdeà
+ HAS_LINK
+ 
+ 
+ 2156 
+ tmps
+  = 
+ 	`¡r_g‘
+ (
+ ¡
+ [1]);
+ 
+ 2157 
+ tmps2
+  = 
+ 	`¡r_g‘
+ (
+ ¡
+ [2]);
+ 
+ 2158 #ifdeà
+ TAINT
+ 
+ 
+ 2159 
+ 	`šrÝ”
+ ("Insecure dependency in†ink");
+ 
+ 2161 
+ v®ue
+  = ()(
+ 	`lšk
+ (
+ tmps
+ ,
+ tmps2
+ ) >= 0);
+ 
+ 2162 
+ dÚum£t
+ ;
+ 
+ 2164 
+ 	`çl
+ ("Unsupported function†ink");
+ 
+ 2167 
+ O_MKDIR
+ :
+ 
+ 2168 
+ tmps
+  = 
+ 	`¡r_g‘
+ (
+ ¡
+ [1]);
+ 
+ 2169 
+ ªum
+  = ()
+ 	`¡r_gnum
+ (
+ ¡
+ [2]);
+ 
+ 2170 #ifdeà
+ TAINT
+ 
+ 
+ 2171 
+ 	`šrÝ”
+ ("Insecure dependency in mkdir");
+ 
+ 2173 #ifdeà
+ HAS_MKDIR
+ 
+ 
+ 2174 
+ v®ue
+  = ()(
+ 	`mkdœ
+ (
+ tmps
+ ,
+ ªum
+ ) >= 0);
+ 
+ 2175 
+ dÚum£t
+ ;
+ 
+ 2177 ()
+ 	`¡rýy
+ (
+ buf
+ ,"mkdir ");
+ 
+ 2179 #ià!
+ 	`defšed
+ (
+ HAS_MKDIR
+ è|| !defšed(
+ HAS_RMDIR
+ )
+ 
+ 2180 
+ Úe_lš”
+ :
+ 
+ 2181 
+ tmps2
+  = 
+ buf
+ +6; *
+ tmps
+ ; ) {
+ 
+ 2182 *
+ tmps2
+ ++ = '\\';
+ 
+ 2183 *
+ tmps2
+ ++ = *
+ tmps
+ ++;
+ 
+ 2185 ()
+ 	`¡rýy
+ (
+ tmps2
+ ," 2>&1");
+ 
+ 2186 
+ rså
+  = 
+ 	`mypݒ
+ (
+ buf
+ ,"r");
+ 
+ 2187 ià(
+ rså
+ ) {
+ 
+ 2188 *
+ buf
+  = '\0';
+ 
+ 2189 
+ tmps2
+  = 
+ 	`fg‘s
+ (
+ buf
+ , buf,
+ rså
+ );
+ 
+ 2190 ()
+ 	`mypþo£
+ (
+ rså
+ );
+ 
+ 2191 ià(
+ tmps2
+  !ð
+ NuÎch
+ ) {
+ 
+ 2192 
+ Ӽo
+  = 1;ƒ¼nØ< 
+ sys_ü
+ ;ƒrrno++) {
+ 
+ 2193 ià(
+ 	`š¡r
+ (
+ buf
+ ,
+ sys_”¾i¡
+ [
+ Ӽo
+ ]))
+ 
+ 2194 
+ §y_z”o
+ ;
+ 
+ 2196 
+ Ӽo
+  = 0;
+ 
+ 2197 #iâdeà
+ EACCES
+ 
+ 
+ 2198 
+ 	#EACCES
+  
+ EPERM
+ 
+ 
+ 	)
+ 
+ 2200 ià(
+ 	`š¡r
+ (
+ buf
+ ,"cannot make"))
+ 
+ 2201 
+ Ӽo
+  = 
+ EEXIST
+ ;
+ 
+ 2202 ià(
+ 	`š¡r
+ (
+ buf
+ ,"existing file"))
+ 
+ 2203 
+ Ӽo
+  = 
+ EEXIST
+ ;
+ 
+ 2204 ià(
+ 	`š¡r
+ (
+ buf
+ ,"ileƒxists"))
+ 
+ 2205 
+ Ӽo
+  = 
+ EEXIST
+ ;
+ 
+ 2206 ià(
+ 	`š¡r
+ (
+ buf
+ ,"non-exist"))
+ 
+ 2207 
+ Ӽo
+  = 
+ ENOENT
+ ;
+ 
+ 2208 ià(
+ 	`š¡r
+ (
+ buf
+ ,"does‚otƒxist"))
+ 
+ 2209 
+ Ӽo
+  = 
+ ENOENT
+ ;
+ 
+ 2210 ià(
+ 	`š¡r
+ (
+ buf
+ ,"notƒmpty"))
+ 
+ 2211 
+ Ӽo
+  = 
+ EBUSY
+ ;
+ 
+ 2212 ià(
+ 	`š¡r
+ (
+ buf
+ ,"cannot‡ccess"))
+ 
+ 2213 
+ Ӽo
+  = 
+ EACCES
+ ;
+ 
+ 2215 
+ Ӽo
+  = 
+ EPERM
+ ;
+ 
+ 2216 
+ §y_z”o
+ ;
+ 
+ 2219 
+ tmps
+  = 
+ 	`¡r_g‘
+ (
+ ¡
+ [1]);
+ 
+ 2220 
+ ªum
+  = (
+ 	`¡©
+ (
+ tmps
+ ,&
+ ¡©buf
+ ) >= 0);
+ 
+ 2221 ià(
+ Ýty³
+  =ð
+ O_RMDIR
+ )
+ 
+ 2222 
+ ªum
+  = !anum;
+ 
+ 2223 ià(
+ ªum
+ )
+ 
+ 2224 
+ Ӽo
+  = 0;
+ 
+ 2226 
+ Ӽo
+  = 
+ EACCES
+ ;
+ 
+ 2227 
+ v®ue
+  = ()
+ ªum
+ ;
+ 
+ 2229 
+ dÚum£t
+ ;
+ 
+ 2232 
+ §y_z”o
+ ;
+ 
+ 2234 
+ O_RMDIR
+ :
+ 
+ 2235 ià(
+ max¬g
+  < 1)
+ 
+ 2236 
+ tmps
+  = 
+ 	`¡r_g‘
+ (
+ 	`¡ab_v®
+ (
+ def¡ab
+ ));
+ 
+ 2238 
+ tmps
+  = 
+ 	`¡r_g‘
+ (
+ ¡
+ [1]);
+ 
+ 2239 #ifdeà
+ TAINT
+ 
+ 
+ 2240 
+ 	`šrÝ”
+ ("Insecure dependency in„mdir");
+ 
+ 2242 #ifdeà
+ HAS_RMDIR
+ 
+ 
+ 2243 
+ v®ue
+  = ()(
+ 	`rmdœ
+ (
+ tmps
+ ) >= 0);
+ 
+ 2244 
+ dÚum£t
+ ;
+ 
+ 2246 ()
+ 	`¡rýy
+ (
+ buf
+ ,"rmdir ");
+ 
+ 2247 
+ Úe_lš”
+ ;
+ 
+ 2249 
+ O_GETPPID
+ :
+ 
+ 2250 #ifdeà
+ HAS_GETPPID
+ 
+ 
+ 2251 
+ v®ue
+  = ()
+ 	`g‘µid
+ ();
+ 
+ 2252 
+ dÚum£t
+ ;
+ 
+ 2254 
+ 	`çl
+ ("Unsupported function getppid");
+ 
+ 2257 
+ O_GETPGRP
+ :
+ 
+ 2258 #ifdeà
+ HAS_GETPGRP
+ 
+ 
+ 2259 ià(
+ max¬g
+  < 1)
+ 
+ 2260 
+ ªum
+  = 0;
+ 
+ 2262 
+ ªum
+  = ()
+ 	`¡r_gnum
+ (
+ ¡
+ [1]);
+ 
+ 2263 
+ v®ue
+  = ()
+ 	`g‘pg½
+ (
+ ªum
+ );
+ 
+ 2264 
+ dÚum£t
+ ;
+ 
+ 2266 
+ 	`çl
+ ("The getpgrp() function is unimplemented onhis machine");
+ 
+ 2269 
+ O_SETPGRP
+ :
+ 
+ 2270 #ifdeà
+ HAS_SETPGRP
+ 
+ 
+ 2271 
+ ¬gty³
+  = ()
+ 	`¡r_gnum
+ (
+ ¡
+ [1]);
+ 
+ 2272 
+ ªum
+  = ()
+ 	`¡r_gnum
+ (
+ ¡
+ [2]);
+ 
+ 2273 #ifdeà
+ TAINT
+ 
+ 
+ 2274 
+ 	`šrÝ”
+ ("Insecure dependency in setpgrp");
+ 
+ 2276 
+ v®ue
+  = ()(
+ 	`£g½
+ (
+ ¬gty³
+ ,
+ ªum
+ ) >= 0);
+ 
+ 2277 
+ dÚum£t
+ ;
+ 
+ 2279 
+ 	`çl
+ ("The setpgrp() function is unimplemented onhis machine");
+ 
+ 2282 
+ O_GETPRIORITY
+ :
+ 
+ 2283 #ifdeà
+ HAS_GETPRIORITY
+ 
+ 
+ 2284 
+ ¬gty³
+  = ()
+ 	`¡r_gnum
+ (
+ ¡
+ [1]);
+ 
+ 2285 
+ ªum
+  = ()
+ 	`¡r_gnum
+ (
+ ¡
+ [2]);
+ 
+ 2286 
+ v®ue
+  = ()
+ 	`g‘´iÜ™y
+ (
+ ¬gty³
+ ,
+ ªum
+ );
+ 
+ 2287 
+ dÚum£t
+ ;
+ 
+ 2289 
+ 	`çl
+ ("The getpriority() function is unimplemented onhis machine");
+ 
+ 2292 
+ O_SETPRIORITY
+ :
+ 
+ 2293 #ifdeà
+ HAS_SETPRIORITY
+ 
+ 
+ 2294 
+ ¬gty³
+  = ()
+ 	`¡r_gnum
+ (
+ ¡
+ [1]);
+ 
+ 2295 
+ ªum
+  = ()
+ 	`¡r_gnum
+ (
+ ¡
+ [2]);
+ 
+ 2296 
+ Ýty³
+  = ()
+ 	`¡r_gnum
+ (
+ ¡
+ [3]);
+ 
+ 2297 #ifdeà
+ TAINT
+ 
+ 
+ 2298 
+ 	`šrÝ”
+ ("Insecure dependency in setpriority");
+ 
+ 2300 
+ v®ue
+  = ()(
+ 	`£riÜ™y
+ (
+ ¬gty³
+ ,
+ ªum
+ ,
+ Ýty³
+ ) >= 0);
+ 
+ 2301 
+ dÚum£t
+ ;
+ 
+ 2303 
+ 	`çl
+ ("The setpriority() function is unimplemented onhis machine");
+ 
+ 2306 
+ O_CHROOT
+ :
+ 
+ 2307 #ifdeà
+ HAS_CHROOT
+ 
+ 
+ 2308 ià(
+ max¬g
+  < 1)
+ 
+ 2309 
+ tmps
+  = 
+ 	`¡r_g‘
+ (
+ 	`¡ab_v®
+ (
+ def¡ab
+ ));
+ 
+ 2311 
+ tmps
+  = 
+ 	`¡r_g‘
+ (
+ ¡
+ [1]);
+ 
+ 2312 #ifdeà
+ TAINT
+ 
+ 
+ 2313 
+ 	`šrÝ”
+ ("Insecure dependency in chroot");
+ 
+ 2315 
+ v®ue
+  = ()(
+ 	`chroÙ
+ (
+ tmps
+ ) >= 0);
+ 
+ 2316 
+ dÚum£t
+ ;
+ 
+ 2318 
+ 	`çl
+ ("Unsupported function chroot");
+ 
+ 2321 
+ O_FCNTL
+ :
+ 
+ 2322 
+ O_IOCTL
+ :
+ 
+ 2323 ià(
+ max¬g
+  <= 0)
+ 
+ 2324 
+ ¡ab
+  = 
+ Ï¡_š_¡ab
+ ;
+ 
+ 2325 ià((
+ ¬g
+ [1].
+ ¬g_ty³
+  & 
+ A_MASK
+ è=ð
+ A_WORD
+ )
+ 
+ 2326 
+ ¡ab
+  = 
+ ¬g
+ [1].
+ ¬g_±r
+ .
+ ¬g_¡ab
+ ;
+ 
+ 2328 
+ ¡ab
+  = 
+ 	`¡ab’t
+ (
+ 	`¡r_g‘
+ (
+ ¡
+ [1]),
+ TRUE
+ );
+ 
+ 2329 
+ ¬gty³
+  = 
+ 	`U_I
+ (
+ 	`¡r_gnum
+ (
+ ¡
+ [2]));
+ 
+ 2330 #ifdeà
+ TAINT
+ 
+ 
+ 2331 
+ 	`šrÝ”
+ ("Insecure dependency in ioctl");
+ 
+ 2333 
+ ªum
+  = 
+ 	`do_ùl
+ (
+ Ýty³
+ ,
+ ¡ab
+ ,
+ ¬gty³
+ ,
+ ¡
+ [3]);
+ 
+ 2334 ià(
+ ªum
+  == -1)
+ 
+ 2335 
+ §y_undef
+ ;
+ 
+ 2336 ià(
+ ªum
+  != 0) {
+ 
+ 2337 
+ v®ue
+  = ()
+ ªum
+ ;
+ 
+ 2338 
+ dÚum£t
+ ;
+ 
+ 2340 
+ 	`¡r_£t
+ (
+ ¡r
+ ,"0 butrue");
+ 
+ 2341 
+ 	`STABSET
+ (
+ ¡r
+ );
+ 
+ 2343 
+ O_FLOCK
+ :
+ 
+ 2344 #ifdeà
+ HAS_FLOCK
+ 
+ 
+ 2345 ià(
+ max¬g
+  <= 0)
+ 
+ 2346 
+ ¡ab
+  = 
+ Ï¡_š_¡ab
+ ;
+ 
+ 2347 ià((
+ ¬g
+ [1].
+ ¬g_ty³
+  & 
+ A_MASK
+ è=ð
+ A_WORD
+ )
+ 
+ 2348 
+ ¡ab
+  = 
+ ¬g
+ [1].
+ ¬g_±r
+ .
+ ¬g_¡ab
+ ;
+ 
+ 2350 
+ ¡ab
+  = 
+ 	`¡ab’t
+ (
+ 	`¡r_g‘
+ (
+ ¡
+ [1]),
+ TRUE
+ );
+ 
+ 2351 ià(
+ ¡ab
+  && 
+ 	`¡ab_io
+ (stab))
+ 
+ 2352 
+ å
+  = 
+ 	`¡ab_io
+ (
+ ¡ab
+ )->
+ iå
+ ;
+ 
+ 2354 
+ å
+  = 
+ NuÎå
+ ;
+ 
+ 2355 ià(
+ å
+ ) {
+ 
+ 2356 
+ ¬gty³
+  = ()
+ 	`¡r_gnum
+ (
+ ¡
+ [2]);
+ 
+ 2357 
+ v®ue
+  = ()(
+ 	`æock
+ (
+ 	`fž’o
+ (
+ å
+ ),
+ ¬gty³
+ ) >= 0);
+ 
+ 2360 
+ v®ue
+  = 0;
+ 
+ 2361 
+ dÚum£t
+ ;
+ 
+ 2363 
+ 	`çl
+ ("The flock() function is unimplemented onhis machine");
+ 
+ 2366 
+ O_UNSHIFT
+ :
+ 
+ 2367 
+ ¬y
+  = 
+ 	`¡ab_¬¿y
+ (
+ ¬g
+ [1].
+ ¬g_±r
+ .
+ ¬g_¡ab
+ );
+ 
+ 2368 ià(
+ ¬gÏ¡
+ [2] -‡rglast[1] != 1)
+ 
+ 2369 
+ 	`do_unshiá
+ (
+ ¬y
+ ,
+ ¬gÏ¡
+ );
+ 
+ 2371 
+ STR
+  *
+ tmp¡r
+  = 
+ 	`SŒ_Ãw
+ (52,0);
+ 
+ 2372 
+ 	`¡r_s£t
+ (
+ tmp¡r
+ ,
+ ¡
+ [2]);
+ 
+ 2373 
+ 	`aunshiá
+ (
+ ¬y
+ ,1);
+ 
+ 2374 ()
+ 	`a¡Üe
+ (
+ ¬y
+ ,0,
+ tmp¡r
+ );
+ 
+ 2376 
+ v®ue
+  = ()(
+ ¬y
+ ->
+ ¬y_fžl
+  + 1);
+ 
+ 2377 
+ dÚum£t
+ ;
+ 
+ 2379 
+ O_REQUIRE
+ :
+ 
+ 2380 
+ O_DOFILE
+ :
+ 
+ 2381 
+ O_EVAL
+ :
+ 
+ 2382 ià(
+ max¬g
+  < 1)
+ 
+ 2383 
+ tmp¡r
+  = 
+ 	`¡ab_v®
+ (
+ def¡ab
+ );
+ 
+ 2385 
+ tmp¡r
+  =
+ 
+ 2386 (
+ ¬g
+ [1].
+ ¬g_ty³
+  & 
+ A_MASK
+ è!ð
+ A_NULL
+  ? 
+ ¡
+ [1] : 
+ 	`¡ab_v®
+ (
+ def¡ab
+ );
+ 
+ 2387 #ifdeà
+ TAINT
+ 
+ 
+ 2388 
+ š‹d
+  |ð
+ tmp¡r
+ ->
+ ¡r_š‹d
+ ;
+ 
+ 2389 
+ 	`šrÝ”
+ ("Insecure dependency inƒval");
+ 
+ 2391 
+ ¥
+  = 
+ 	`do_ev®
+ (
+ tmp¡r
+ , 
+ Ýty³
+ , 
+ curcmd
+ ->
+ c_¡ash
+ ,
+ 
+ 2392 
+ gimme
+ ,
+ ¬gÏ¡
+ );
+ 
+ 2393 
+ ¬¿y_»tuº
+ ;
+ 
+ 2395 
+ O_FTRREAD
+ :
+ 
+ 2396 
+ ¬gty³
+  = 0;
+ 
+ 2397 
+ ªum
+  = 
+ S_IRUSR
+ ;
+ 
+ 2398 
+ check_³rm
+ ;
+ 
+ 2399 
+ O_FTRWRITE
+ :
+ 
+ 2400 
+ ¬gty³
+  = 0;
+ 
+ 2401 
+ ªum
+  = 
+ S_IWUSR
+ ;
+ 
+ 2402 
+ check_³rm
+ ;
+ 
+ 2403 
+ O_FTREXEC
+ :
+ 
+ 2404 
+ ¬gty³
+  = 0;
+ 
+ 2405 
+ ªum
+  = 
+ S_IXUSR
+ ;
+ 
+ 2406 
+ check_³rm
+ ;
+ 
+ 2407 
+ O_FTEREAD
+ :
+ 
+ 2408 
+ ¬gty³
+  = 1;
+ 
+ 2409 
+ ªum
+  = 
+ S_IRUSR
+ ;
+ 
+ 2410 
+ check_³rm
+ ;
+ 
+ 2411 
+ O_FTEWRITE
+ :
+ 
+ 2412 
+ ¬gty³
+  = 1;
+ 
+ 2413 
+ ªum
+  = 
+ S_IWUSR
+ ;
+ 
+ 2414 
+ check_³rm
+ ;
+ 
+ 2415 
+ O_FTEEXEC
+ :
+ 
+ 2416 
+ ¬gty³
+  = 1;
+ 
+ 2417 
+ ªum
+  = 
+ S_IXUSR
+ ;
+ 
+ 2418 
+ check_³rm
+ :
+ 
+ 2419 ià(
+ 	`my¡©
+ (
+ ¬g
+ ,
+ ¡
+ [1]) < 0)
+ 
+ 2420 
+ §y_undef
+ ;
+ 
+ 2421 ià(
+ 	`ÿndo
+ (
+ ªum
+ ,
+ ¬gty³
+ ,&
+ ¡©ÿche
+ ))
+ 
+ 2422 
+ §y_yes
+ ;
+ 
+ 2423 
+ §y_no
+ ;
+ 
+ 2425 
+ O_FTIS
+ :
+ 
+ 2426 ià(
+ 	`my¡©
+ (
+ ¬g
+ ,
+ ¡
+ [1]) < 0)
+ 
+ 2427 
+ §y_undef
+ ;
+ 
+ 2428 
+ §y_yes
+ ;
+ 
+ 2429 
+ O_FTEOWNED
+ :
+ 
+ 2430 
+ O_FTROWNED
+ :
+ 
+ 2431 ià(
+ 	`my¡©
+ (
+ ¬g
+ ,
+ ¡
+ [1]) < 0)
+ 
+ 2432 
+ §y_undef
+ ;
+ 
+ 2433 ià(
+ ¡©ÿche
+ .
+ ¡_uid
+  =ð(
+ Ýty³
+  =ð
+ O_FTEOWNED
+  ? 
+ euid
+  : 
+ uid
+ ) )
+ 
+ 2434 
+ §y_yes
+ ;
+ 
+ 2435 
+ §y_no
+ ;
+ 
+ 2436 
+ O_FTZERO
+ :
+ 
+ 2437 ià(
+ 	`my¡©
+ (
+ ¬g
+ ,
+ ¡
+ [1]) < 0)
+ 
+ 2438 
+ §y_undef
+ ;
+ 
+ 2439 ià(!
+ ¡©ÿche
+ .
+ ¡_size
+ )
+ 
+ 2440 
+ §y_yes
+ ;
+ 
+ 2441 
+ §y_no
+ ;
+ 
+ 2442 
+ O_FTSIZE
+ :
+ 
+ 2443 ià(
+ 	`my¡©
+ (
+ ¬g
+ ,
+ ¡
+ [1]) < 0)
+ 
+ 2444 
+ §y_undef
+ ;
+ 
+ 2445 
+ v®ue
+  = ()
+ ¡©ÿche
+ .
+ ¡_size
+ ;
+ 
+ 2446 
+ dÚum£t
+ ;
+ 
+ 2448 
+ O_FTMTIME
+ :
+ 
+ 2449 ià(
+ 	`my¡©
+ (
+ ¬g
+ ,
+ ¡
+ [1]) < 0)
+ 
+ 2450 
+ §y_undef
+ ;
+ 
+ 2451 
+ v®ue
+  = ()(
+ ba£time
+  - 
+ ¡©ÿche
+ .
+ ¡_mtime
+ ) / 86400.0;
+ 
+ 2452 
+ dÚum£t
+ ;
+ 
+ 2453 
+ O_FTATIME
+ :
+ 
+ 2454 ià(
+ 	`my¡©
+ (
+ ¬g
+ ,
+ ¡
+ [1]) < 0)
+ 
+ 2455 
+ §y_undef
+ ;
+ 
+ 2456 
+ v®ue
+  = ()(
+ ba£time
+  - 
+ ¡©ÿche
+ .
+ ¡_©ime
+ ) / 86400.0;
+ 
+ 2457 
+ dÚum£t
+ ;
+ 
+ 2458 
+ O_FTCTIME
+ :
+ 
+ 2459 ià(
+ 	`my¡©
+ (
+ ¬g
+ ,
+ ¡
+ [1]) < 0)
+ 
+ 2460 
+ §y_undef
+ ;
+ 
+ 2461 
+ v®ue
+  = ()(
+ ba£time
+  - 
+ ¡©ÿche
+ .
+ ¡_ùime
+ ) / 86400.0;
+ 
+ 2462 
+ dÚum£t
+ ;
+ 
+ 2464 
+ O_FTSOCK
+ :
+ 
+ 2465 ià(
+ 	`my¡©
+ (
+ ¬g
+ ,
+ ¡
+ [1]) < 0)
+ 
+ 2466 
+ §y_undef
+ ;
+ 
+ 2467 ià(
+ 	`S_ISSOCK
+ (
+ ¡©ÿche
+ .
+ ¡_mode
+ ))
+ 
+ 2468 
+ §y_yes
+ ;
+ 
+ 2469 
+ §y_no
+ ;
+ 
+ 2470 
+ O_FTCHR
+ :
+ 
+ 2471 ià(
+ 	`my¡©
+ (
+ ¬g
+ ,
+ ¡
+ [1]) < 0)
+ 
+ 2472 
+ §y_undef
+ ;
+ 
+ 2473 ià(
+ 	`S_ISCHR
+ (
+ ¡©ÿche
+ .
+ ¡_mode
+ ))
+ 
+ 2474 
+ §y_yes
+ ;
+ 
+ 2475 
+ §y_no
+ ;
+ 
+ 2476 
+ O_FTBLK
+ :
+ 
+ 2477 ià(
+ 	`my¡©
+ (
+ ¬g
+ ,
+ ¡
+ [1]) < 0)
+ 
+ 2478 
+ §y_undef
+ ;
+ 
+ 2479 ià(
+ 	`S_ISBLK
+ (
+ ¡©ÿche
+ .
+ ¡_mode
+ ))
+ 
+ 2480 
+ §y_yes
+ ;
+ 
+ 2481 
+ §y_no
+ ;
+ 
+ 2482 
+ O_FTFILE
+ :
+ 
+ 2483 ià(
+ 	`my¡©
+ (
+ ¬g
+ ,
+ ¡
+ [1]) < 0)
+ 
+ 2484 
+ §y_undef
+ ;
+ 
+ 2485 ià(
+ 	`S_ISREG
+ (
+ ¡©ÿche
+ .
+ ¡_mode
+ ))
+ 
+ 2486 
+ §y_yes
+ ;
+ 
+ 2487 
+ §y_no
+ ;
+ 
+ 2488 
+ O_FTDIR
+ :
+ 
+ 2489 ià(
+ 	`my¡©
+ (
+ ¬g
+ ,
+ ¡
+ [1]) < 0)
+ 
+ 2490 
+ §y_undef
+ ;
+ 
+ 2491 ià(
+ 	`S_ISDIR
+ (
+ ¡©ÿche
+ .
+ ¡_mode
+ ))
+ 
+ 2492 
+ §y_yes
+ ;
+ 
+ 2493 
+ §y_no
+ ;
+ 
+ 2494 
+ O_FTPIPE
+ :
+ 
+ 2495 ià(
+ 	`my¡©
+ (
+ ¬g
+ ,
+ ¡
+ [1]) < 0)
+ 
+ 2496 
+ §y_undef
+ ;
+ 
+ 2497 ià(
+ 	`S_ISFIFO
+ (
+ ¡©ÿche
+ .
+ ¡_mode
+ ))
+ 
+ 2498 
+ §y_yes
+ ;
+ 
+ 2499 
+ §y_no
+ ;
+ 
+ 2500 
+ O_FTLINK
+ :
+ 
+ 2501 ià(
+ 	`myl¡©
+ (
+ ¬g
+ ,
+ ¡
+ [1]) < 0)
+ 
+ 2502 
+ §y_undef
+ ;
+ 
+ 2503 ià(
+ 	`S_ISLNK
+ (
+ ¡©ÿche
+ .
+ ¡_mode
+ ))
+ 
+ 2504 
+ §y_yes
+ ;
+ 
+ 2505 
+ §y_no
+ ;
+ 
+ 2506 
+ O_SYMLINK
+ :
+ 
+ 2507 #ifdeà
+ HAS_SYMLINK
+ 
+ 
+ 2508 
+ tmps
+  = 
+ 	`¡r_g‘
+ (
+ ¡
+ [1]);
+ 
+ 2509 
+ tmps2
+  = 
+ 	`¡r_g‘
+ (
+ ¡
+ [2]);
+ 
+ 2510 #ifdeà
+ TAINT
+ 
+ 
+ 2511 
+ 	`šrÝ”
+ ("Insecure dependency in symlink");
+ 
+ 2513 
+ v®ue
+  = ()(
+ 	`symlšk
+ (
+ tmps
+ ,
+ tmps2
+ ) >= 0);
+ 
+ 2514 
+ dÚum£t
+ ;
+ 
+ 2516 
+ 	`çl
+ ("Unsupported function symlink");
+ 
+ 2518 
+ O_READLINK
+ :
+ 
+ 2519 #ifdeà
+ HAS_SYMLINK
+ 
+ 
+ 2520 ià(
+ max¬g
+  < 1)
+ 
+ 2521 
+ tmps
+  = 
+ 	`¡r_g‘
+ (
+ 	`¡ab_v®
+ (
+ def¡ab
+ ));
+ 
+ 2523 
+ tmps
+  = 
+ 	`¡r_g‘
+ (
+ ¡
+ [1]);
+ 
+ 2524 
+ ªum
+  = 
+ 	`»adlšk
+ (
+ tmps
+ ,
+ buf
+ , buf);
+ 
+ 2525 ià(
+ ªum
+  < 0)
+ 
+ 2526 
+ §y_undef
+ ;
+ 
+ 2527 
+ 	`¡r_n£t
+ (
+ ¡r
+ ,
+ buf
+ ,
+ ªum
+ );
+ 
+ 2530 
+ §y_undef
+ ;
+ 
+ 2532 
+ O_FTSUID
+ :
+ 
+ 2533 #ifdeà
+ S_ISUID
+ 
+ 
+ 2534 
+ ªum
+  = 
+ S_ISUID
+ ;
+ 
+ 2535 
+ check_xid
+ ;
+ 
+ 2537 
+ §y_no
+ ;
+ 
+ 2539 
+ O_FTSGID
+ :
+ 
+ 2540 #ifdeà
+ S_ISGID
+ 
+ 
+ 2541 
+ ªum
+  = 
+ S_ISGID
+ ;
+ 
+ 2542 
+ check_xid
+ ;
+ 
+ 2544 
+ §y_no
+ ;
+ 
+ 2546 
+ O_FTSVTX
+ :
+ 
+ 2547 #ifdeà
+ S_ISVTX
+ 
+ 
+ 2548 
+ ªum
+  = 
+ S_ISVTX
+ ;
+ 
+ 2550 
+ §y_no
+ ;
+ 
+ 2552 
+ check_xid
+ :
+ 
+ 2553 ià(
+ 	`my¡©
+ (
+ ¬g
+ ,
+ ¡
+ [1]) < 0)
+ 
+ 2554 
+ §y_undef
+ ;
+ 
+ 2555 ià(
+ ¡©ÿche
+ .
+ ¡_mode
+  & 
+ ªum
+ )
+ 
+ 2556 
+ §y_yes
+ ;
+ 
+ 2557 
+ §y_no
+ ;
+ 
+ 2558 
+ O_FTTTY
+ :
+ 
+ 2559 ià(
+ ¬g
+ [1].
+ ¬g_ty³
+  & 
+ A_DONT
+ ) {
+ 
+ 2560 
+ ¡ab
+  = 
+ ¬g
+ [1].
+ ¬g_±r
+ .
+ ¬g_¡ab
+ ;
+ 
+ 2561 
+ tmps
+  = "";
+ 
+ 2564 
+ ¡ab
+  = 
+ 	`¡ab’t
+ (
+ tmps
+  = 
+ 	`¡r_g‘
+ (
+ ¡
+ [1]),
+ FALSE
+ );
+ 
+ 2565 ià(
+ ¡ab
+  && 
+ 	`¡ab_io
+ (¡abè&& sb_io(¡ab)->
+ iå
+ )
+ 
+ 2566 
+ ªum
+  = 
+ 	`fž’o
+ (
+ 	`¡ab_io
+ (
+ ¡ab
+ )->
+ iå
+ );
+ 
+ 2567 ià(
+ 	`isdig™
+ (*
+ tmps
+ ))
+ 
+ 2568 
+ ªum
+  = 
+ 	`©oi
+ (
+ tmps
+ );
+ 
+ 2570 
+ §y_undef
+ ;
+ 
+ 2571 ià(
+ 	`i§‰y
+ (
+ ªum
+ ))
+ 
+ 2572 
+ §y_yes
+ ;
+ 
+ 2573 
+ §y_no
+ ;
+ 
+ 2574 
+ O_FTTEXT
+ :
+ 
+ 2575 
+ O_FTBINARY
+ :
+ 
+ 2576 
+ ¡r
+  = 
+ 	`do_á‹xt
+ (
+ ¬g
+ ,
+ ¡
+ [1]);
+ 
+ 2578 #ifdeà
+ HAS_SOCKET
+ 
+ 
+ 2579 
+ O_SOCKET
+ :
+ 
+ 2580 ià((
+ ¬g
+ [1].
+ ¬g_ty³
+  & 
+ A_MASK
+ è=ð
+ A_WORD
+ )
+ 
+ 2581 
+ ¡ab
+  = 
+ ¬g
+ [1].
+ ¬g_±r
+ .
+ ¬g_¡ab
+ ;
+ 
+ 2583 
+ ¡ab
+  = 
+ 	`¡ab’t
+ (
+ 	`¡r_g‘
+ (
+ ¡
+ [1]),
+ TRUE
+ );
+ 
+ 2584 #iâdeà
+ lšt
+ 
+ 
+ 2585 
+ v®ue
+  = ()
+ 	`do_sock‘
+ (
+ ¡ab
+ ,
+ ¬gÏ¡
+ );
+ 
+ 2587 ()
+ 	`do_sock‘
+ (
+ ¡ab
+ ,
+ ¬gÏ¡
+ );
+ 
+ 2589 
+ dÚum£t
+ ;
+ 
+ 2590 
+ O_BIND
+ :
+ 
+ 2591 ià((
+ ¬g
+ [1].
+ ¬g_ty³
+  & 
+ A_MASK
+ è=ð
+ A_WORD
+ )
+ 
+ 2592 
+ ¡ab
+  = 
+ ¬g
+ [1].
+ ¬g_±r
+ .
+ ¬g_¡ab
+ ;
+ 
+ 2594 
+ ¡ab
+  = 
+ 	`¡ab’t
+ (
+ 	`¡r_g‘
+ (
+ ¡
+ [1]),
+ TRUE
+ );
+ 
+ 2595 #iâdeà
+ lšt
+ 
+ 
+ 2596 
+ v®ue
+  = ()
+ 	`do_bšd
+ (
+ ¡ab
+ ,
+ ¬gÏ¡
+ );
+ 
+ 2598 ()
+ 	`do_bšd
+ (
+ ¡ab
+ ,
+ ¬gÏ¡
+ );
+ 
+ 2600 
+ dÚum£t
+ ;
+ 
+ 2601 
+ O_CONNECT
+ :
+ 
+ 2602 ià((
+ ¬g
+ [1].
+ ¬g_ty³
+  & 
+ A_MASK
+ è=ð
+ A_WORD
+ )
+ 
+ 2603 
+ ¡ab
+  = 
+ ¬g
+ [1].
+ ¬g_±r
+ .
+ ¬g_¡ab
+ ;
+ 
+ 2605 
+ ¡ab
+  = 
+ 	`¡ab’t
+ (
+ 	`¡r_g‘
+ (
+ ¡
+ [1]),
+ TRUE
+ );
+ 
+ 2606 #iâdeà
+ lšt
+ 
+ 
+ 2607 
+ v®ue
+  = ()
+ 	`do_cÚÃù
+ (
+ ¡ab
+ ,
+ ¬gÏ¡
+ );
+ 
+ 2609 ()
+ 	`do_cÚÃù
+ (
+ ¡ab
+ ,
+ ¬gÏ¡
+ );
+ 
+ 2611 
+ dÚum£t
+ ;
+ 
+ 2612 
+ O_LISTEN
+ :
+ 
+ 2613 ià((
+ ¬g
+ [1].
+ ¬g_ty³
+  & 
+ A_MASK
+ è=ð
+ A_WORD
+ )
+ 
+ 2614 
+ ¡ab
+  = 
+ ¬g
+ [1].
+ ¬g_±r
+ .
+ ¬g_¡ab
+ ;
+ 
+ 2616 
+ ¡ab
+  = 
+ 	`¡ab’t
+ (
+ 	`¡r_g‘
+ (
+ ¡
+ [1]),
+ TRUE
+ );
+ 
+ 2617 #iâdeà
+ lšt
+ 
+ 
+ 2618 
+ v®ue
+  = ()
+ 	`do_li¡’
+ (
+ ¡ab
+ ,
+ ¬gÏ¡
+ );
+ 
+ 2620 ()
+ 	`do_li¡’
+ (
+ ¡ab
+ ,
+ ¬gÏ¡
+ );
+ 
+ 2622 
+ dÚum£t
+ ;
+ 
+ 2623 
+ O_ACCEPT
+ :
+ 
+ 2624 ià((
+ ¬g
+ [1].
+ ¬g_ty³
+  & 
+ A_MASK
+ è=ð
+ A_WORD
+ )
+ 
+ 2625 
+ ¡ab
+  = 
+ ¬g
+ [1].
+ ¬g_±r
+ .
+ ¬g_¡ab
+ ;
+ 
+ 2627 
+ ¡ab
+  = 
+ 	`¡ab’t
+ (
+ 	`¡r_g‘
+ (
+ ¡
+ [1]),
+ TRUE
+ );
+ 
+ 2628 ià((
+ ¬g
+ [2].
+ ¬g_ty³
+  & 
+ A_MASK
+ è=ð
+ A_WORD
+ )
+ 
+ 2629 
+ ¡ab2
+  = 
+ ¬g
+ [2].
+ ¬g_±r
+ .
+ ¬g_¡ab
+ ;
+ 
+ 2631 
+ ¡ab2
+  = 
+ 	`¡ab’t
+ (
+ 	`¡r_g‘
+ (
+ ¡
+ [2]),
+ TRUE
+ );
+ 
+ 2632 
+ 	`do_acû±
+ (
+ ¡r
+ ,
+ ¡ab
+ ,
+ ¡ab2
+ );
+ 
+ 2633 
+ 	`STABSET
+ (
+ ¡r
+ );
+ 
+ 2635 
+ O_GHBYNAME
+ :
+ 
+ 2636 ià(
+ max¬g
+  < 1)
+ 
+ 2637 
+ §y_undef
+ ;
+ 
+ 2638 
+ O_GHBYADDR
+ :
+ 
+ 2639 
+ O_GHOSTENT
+ :
+ 
+ 2640 
+ ¥
+  = 
+ 	`do_gh’t
+ (
+ Ýty³
+ ,
+ 
+ 2641 
+ gimme
+ ,
+ ¬gÏ¡
+ );
+ 
+ 2642 
+ ¬¿y_»tuº
+ ;
+ 
+ 2643 
+ O_GNBYNAME
+ :
+ 
+ 2644 ià(
+ max¬g
+  < 1)
+ 
+ 2645 
+ §y_undef
+ ;
+ 
+ 2646 
+ O_GNBYADDR
+ :
+ 
+ 2647 
+ O_GNETENT
+ :
+ 
+ 2648 
+ ¥
+  = 
+ 	`do_gÃÁ
+ (
+ Ýty³
+ ,
+ 
+ 2649 
+ gimme
+ ,
+ ¬gÏ¡
+ );
+ 
+ 2650 
+ ¬¿y_»tuº
+ ;
+ 
+ 2651 
+ O_GPBYNAME
+ :
+ 
+ 2652 ià(
+ max¬g
+  < 1)
+ 
+ 2653 
+ §y_undef
+ ;
+ 
+ 2654 
+ O_GPBYNUMBER
+ :
+ 
+ 2655 
+ O_GPROTOENT
+ :
+ 
+ 2656 
+ ¥
+  = 
+ 	`do_g³Á
+ (
+ Ýty³
+ ,
+ 
+ 2657 
+ gimme
+ ,
+ ¬gÏ¡
+ );
+ 
+ 2658 
+ ¬¿y_»tuº
+ ;
+ 
+ 2659 
+ O_GSBYNAME
+ :
+ 
+ 2660 ià(
+ max¬g
+  < 1)
+ 
+ 2661 
+ §y_undef
+ ;
+ 
+ 2662 
+ O_GSBYPORT
+ :
+ 
+ 2663 
+ O_GSERVENT
+ :
+ 
+ 2664 
+ ¥
+  = 
+ 	`do_g£Á
+ (
+ Ýty³
+ ,
+ 
+ 2665 
+ gimme
+ ,
+ ¬gÏ¡
+ );
+ 
+ 2666 
+ ¬¿y_»tuº
+ ;
+ 
+ 2667 
+ O_SHOSTENT
+ :
+ 
+ 2668 
+ v®ue
+  = (è
+ 	`£tho¡’t
+ (()
+ 	`¡r_gnum
+ (
+ ¡
+ [1]));
+ 
+ 2669 
+ dÚum£t
+ ;
+ 
+ 2670 
+ O_SNETENT
+ :
+ 
+ 2671 
+ v®ue
+  = (è
+ 	`£Š‘’t
+ (()
+ 	`¡r_gnum
+ (
+ ¡
+ [1]));
+ 
+ 2672 
+ dÚum£t
+ ;
+ 
+ 2673 
+ O_SPROTOENT
+ :
+ 
+ 2674 
+ v®ue
+  = (è
+ 	`£rÙÛÁ
+ (()
+ 	`¡r_gnum
+ (
+ ¡
+ [1]));
+ 
+ 2675 
+ dÚum£t
+ ;
+ 
+ 2676 
+ O_SSERVENT
+ :
+ 
+ 2677 
+ v®ue
+  = (è
+ 	`£t£rv’t
+ (()
+ 	`¡r_gnum
+ (
+ ¡
+ [1]));
+ 
+ 2678 
+ dÚum£t
+ ;
+ 
+ 2679 
+ O_EHOSTENT
+ :
+ 
+ 2680 
+ v®ue
+  = (è
+ 	`’dho¡’t
+ ();
+ 
+ 2681 
+ dÚum£t
+ ;
+ 
+ 2682 
+ O_ENETENT
+ :
+ 
+ 2683 
+ v®ue
+  = (è
+ 	`’dËÁ
+ ();
+ 
+ 2684 
+ dÚum£t
+ ;
+ 
+ 2685 
+ O_EPROTOENT
+ :
+ 
+ 2686 
+ v®ue
+  = (è
+ 	`’d´ÙÛÁ
+ ();
+ 
+ 2687 
+ dÚum£t
+ ;
+ 
+ 2688 
+ O_ESERVENT
+ :
+ 
+ 2689 
+ v®ue
+  = (è
+ 	`’d£rv’t
+ ();
+ 
+ 2690 
+ dÚum£t
+ ;
+ 
+ 2691 
+ O_SOCKPAIR
+ :
+ 
+ 2692 ià((
+ ¬g
+ [1].
+ ¬g_ty³
+  & 
+ A_MASK
+ è=ð
+ A_WORD
+ )
+ 
+ 2693 
+ ¡ab
+  = 
+ ¬g
+ [1].
+ ¬g_±r
+ .
+ ¬g_¡ab
+ ;
+ 
+ 2695 
+ ¡ab
+  = 
+ 	`¡ab’t
+ (
+ 	`¡r_g‘
+ (
+ ¡
+ [1]),
+ TRUE
+ );
+ 
+ 2696 ià((
+ ¬g
+ [2].
+ ¬g_ty³
+  & 
+ A_MASK
+ è=ð
+ A_WORD
+ )
+ 
+ 2697 
+ ¡ab2
+  = 
+ ¬g
+ [2].
+ ¬g_±r
+ .
+ ¬g_¡ab
+ ;
+ 
+ 2699 
+ ¡ab2
+  = 
+ 	`¡ab’t
+ (
+ 	`¡r_g‘
+ (
+ ¡
+ [2]),
+ TRUE
+ );
+ 
+ 2700 #iâdeà
+ lšt
+ 
+ 
+ 2701 
+ v®ue
+  = ()
+ 	`do_¥aœ
+ (
+ ¡ab
+ ,
+ ¡ab2
+ ,
+ ¬gÏ¡
+ );
+ 
+ 2703 ()
+ 	`do_¥aœ
+ (
+ ¡ab
+ ,
+ ¡ab2
+ ,
+ ¬gÏ¡
+ );
+ 
+ 2705 
+ dÚum£t
+ ;
+ 
+ 2706 
+ O_SHUTDOWN
+ :
+ 
+ 2707 ià((
+ ¬g
+ [1].
+ ¬g_ty³
+  & 
+ A_MASK
+ è=ð
+ A_WORD
+ )
+ 
+ 2708 
+ ¡ab
+  = 
+ ¬g
+ [1].
+ ¬g_±r
+ .
+ ¬g_¡ab
+ ;
+ 
+ 2710 
+ ¡ab
+  = 
+ 	`¡ab’t
+ (
+ 	`¡r_g‘
+ (
+ ¡
+ [1]),
+ TRUE
+ );
+ 
+ 2711 #iâdeà
+ lšt
+ 
+ 
+ 2712 
+ v®ue
+  = ()
+ 	`do_shutdown
+ (
+ ¡ab
+ ,
+ ¬gÏ¡
+ );
+ 
+ 2714 ()
+ 	`do_shutdown
+ (
+ ¡ab
+ ,
+ ¬gÏ¡
+ );
+ 
+ 2716 
+ dÚum£t
+ ;
+ 
+ 2717 
+ O_GSOCKOPT
+ :
+ 
+ 2718 
+ O_SSOCKOPT
+ :
+ 
+ 2719 ià((
+ ¬g
+ [1].
+ ¬g_ty³
+  & 
+ A_MASK
+ è=ð
+ A_WORD
+ )
+ 
+ 2720 
+ ¡ab
+  = 
+ ¬g
+ [1].
+ ¬g_±r
+ .
+ ¬g_¡ab
+ ;
+ 
+ 2722 
+ ¡ab
+  = 
+ 	`¡ab’t
+ (
+ 	`¡r_g‘
+ (
+ ¡
+ [1]),
+ TRUE
+ );
+ 
+ 2723 
+ ¥
+  = 
+ 	`do_sÝt
+ (
+ Ýty³
+ ,
+ ¡ab
+ ,
+ ¬gÏ¡
+ );
+ 
+ 2724 
+ ¬¿y_»tuº
+ ;
+ 
+ 2725 
+ O_GETSOCKNAME
+ :
+ 
+ 2726 
+ O_GETPEERNAME
+ :
+ 
+ 2727 ià((
+ ¬g
+ [1].
+ ¬g_ty³
+  & 
+ A_MASK
+ è=ð
+ A_WORD
+ )
+ 
+ 2728 
+ ¡ab
+  = 
+ ¬g
+ [1].
+ ¬g_±r
+ .
+ ¬g_¡ab
+ ;
+ 
+ 2730 
+ ¡ab
+  = 
+ 	`¡ab’t
+ (
+ 	`¡r_g‘
+ (
+ ¡
+ [1]),
+ TRUE
+ );
+ 
+ 2731 ià(!
+ ¡ab
+ )
+ 
+ 2732 
+ §y_undef
+ ;
+ 
+ 2733 
+ ¥
+  = 
+ 	`do_g‘sockÇme
+ (
+ Ýty³
+ ,
+ ¡ab
+ ,
+ ¬gÏ¡
+ );
+ 
+ 2734 
+ ¬¿y_»tuº
+ ;
+ 
+ 2737 
+ O_SOCKET
+ :
+ 
+ 2738 
+ O_BIND
+ :
+ 
+ 2739 
+ O_CONNECT
+ :
+ 
+ 2740 
+ O_LISTEN
+ :
+ 
+ 2741 
+ O_ACCEPT
+ :
+ 
+ 2742 
+ O_SOCKPAIR
+ :
+ 
+ 2743 
+ O_GHBYNAME
+ :
+ 
+ 2744 
+ O_GHBYADDR
+ :
+ 
+ 2745 
+ O_GHOSTENT
+ :
+ 
+ 2746 
+ O_GNBYNAME
+ :
+ 
+ 2747 
+ O_GNBYADDR
+ :
+ 
+ 2748 
+ O_GNETENT
+ :
+ 
+ 2749 
+ O_GPBYNAME
+ :
+ 
+ 2750 
+ O_GPBYNUMBER
+ :
+ 
+ 2751 
+ O_GPROTOENT
+ :
+ 
+ 2752 
+ O_GSBYNAME
+ :
+ 
+ 2753 
+ O_GSBYPORT
+ :
+ 
+ 2754 
+ O_GSERVENT
+ :
+ 
+ 2755 
+ O_SHOSTENT
+ :
+ 
+ 2756 
+ O_SNETENT
+ :
+ 
+ 2757 
+ O_SPROTOENT
+ :
+ 
+ 2758 
+ O_SSERVENT
+ :
+ 
+ 2759 
+ O_EHOSTENT
+ :
+ 
+ 2760 
+ O_ENETENT
+ :
+ 
+ 2761 
+ O_EPROTOENT
+ :
+ 
+ 2762 
+ O_ESERVENT
+ :
+ 
+ 2763 
+ O_SHUTDOWN
+ :
+ 
+ 2764 
+ O_GSOCKOPT
+ :
+ 
+ 2765 
+ O_SSOCKOPT
+ :
+ 
+ 2766 
+ O_GETSOCKNAME
+ :
+ 
+ 2767 
+ O_GETPEERNAME
+ :
+ 
+ 2768 
+ badsock
+ :
+ 
+ 2769 
+ 	`çl
+ ("Unsupported socket function");
+ 
+ 2771 
+ O_SSELECT
+ :
+ 
+ 2772 #ifdeà
+ HAS_SELECT
+ 
+ 
+ 2773 
+ ¥
+  = 
+ 	`do_£Ëù
+ (
+ gimme
+ ,
+ ¬gÏ¡
+ );
+ 
+ 2774 
+ ¬¿y_»tuº
+ ;
+ 
+ 2776 
+ 	`çl
+ ("select‚ot implemented");
+ 
+ 2778 
+ O_FILENO
+ :
+ 
+ 2779 ià(
+ max¬g
+  < 1)
+ 
+ 2780 
+ §y_undef
+ ;
+ 
+ 2781 ià((
+ ¬g
+ [1].
+ ¬g_ty³
+  & 
+ A_MASK
+ è=ð
+ A_WORD
+ )
+ 
+ 2782 
+ ¡ab
+  = 
+ ¬g
+ [1].
+ ¬g_±r
+ .
+ ¬g_¡ab
+ ;
+ 
+ 2784 
+ ¡ab
+  = 
+ 	`¡ab’t
+ (
+ 	`¡r_g‘
+ (
+ ¡
+ [1]),
+ TRUE
+ );
+ 
+ 2785 ià(!
+ ¡ab
+  || !(
+ ¡io
+  = 
+ 	`¡ab_io
+ (¡ab)è|| !(
+ å
+  = stio->
+ iå
+ ))
+ 
+ 2786 
+ §y_undef
+ ;
+ 
+ 2787 
+ v®ue
+  = 
+ 	`fž’o
+ (
+ å
+ );
+ 
+ 2788 
+ dÚum£t
+ ;
+ 
+ 2789 
+ O_BINMODE
+ :
+ 
+ 2790 ià(
+ max¬g
+  < 1)
+ 
+ 2791 
+ §y_undef
+ ;
+ 
+ 2792 ià((
+ ¬g
+ [1].
+ ¬g_ty³
+  & 
+ A_MASK
+ è=ð
+ A_WORD
+ )
+ 
+ 2793 
+ ¡ab
+  = 
+ ¬g
+ [1].
+ ¬g_±r
+ .
+ ¬g_¡ab
+ ;
+ 
+ 2795 
+ ¡ab
+  = 
+ 	`¡ab’t
+ (
+ 	`¡r_g‘
+ (
+ ¡
+ [1]),
+ TRUE
+ );
+ 
+ 2796 ià(!
+ ¡ab
+  || !(
+ ¡io
+  = 
+ 	`¡ab_io
+ (¡ab)è|| !(
+ å
+  = stio->
+ iå
+ ))
+ 
+ 2797 
+ §y_undef
+ ;
+ 
+ 2798 #ifdeà
+ MSDOS
+ 
+ 
+ 2799 
+ 	`¡r_£t
+ (
+ ¡r
+ , (
+ 	`£tmode
+ (
+ 	`fž’o
+ (
+ å
+ ), 
+ O_BINARY
+ è!ð-1è? 
+ Yes
+  : 
+ No
+ );
+ 
+ 2801 
+ 	`¡r_£t
+ (
+ ¡r
+ , 
+ Yes
+ );
+ 
+ 2803 
+ 	`STABSET
+ (
+ ¡r
+ );
+ 
+ 2805 
+ O_VEC
+ :
+ 
+ 2806 
+ ¥
+  = 
+ 	`do_vec
+ (
+ ¡r
+  =ð
+ ¡
+ [1], 
+ ¬g
+ ->
+ ¬g_±r
+ .
+ ¬g_¡r
+ , 
+ ¬gÏ¡
+ );
+ 
+ 2807 
+ ¬¿y_»tuº
+ ;
+ 
+ 2808 
+ O_GPWNAM
+ :
+ 
+ 2809 
+ O_GPWUID
+ :
+ 
+ 2810 
+ O_GPWENT
+ :
+ 
+ 2811 #ifdeà
+ HAS_PASSWD
+ 
+ 
+ 2812 
+ ¥
+  = 
+ 	`do_gpw’t
+ (
+ Ýty³
+ ,
+ 
+ 2813 
+ gimme
+ ,
+ ¬gÏ¡
+ );
+ 
+ 2814 
+ ¬¿y_»tuº
+ ;
+ 
+ 2815 
+ O_SPWENT
+ :
+ 
+ 2816 
+ v®ue
+  = (è
+ 	`£w’t
+ ();
+ 
+ 2817 
+ dÚum£t
+ ;
+ 
+ 2818 
+ O_EPWENT
+ :
+ 
+ 2819 
+ v®ue
+  = (è
+ 	`’dpw’t
+ ();
+ 
+ 2820 
+ dÚum£t
+ ;
+ 
+ 2822 
+ O_EPWENT
+ :
+ 
+ 2823 
+ O_SPWENT
+ :
+ 
+ 2824 
+ 	`çl
+ ("Unsupported…assword function");
+ 
+ 2827 
+ O_GGRNAM
+ :
+ 
+ 2828 
+ O_GGRGID
+ :
+ 
+ 2829 
+ O_GGRENT
+ :
+ 
+ 2830 #ifdeà
+ HAS_GROUP
+ 
+ 
+ 2831 
+ ¥
+  = 
+ 	`do_gg»Á
+ (
+ Ýty³
+ ,
+ 
+ 2832 
+ gimme
+ ,
+ ¬gÏ¡
+ );
+ 
+ 2833 
+ ¬¿y_»tuº
+ ;
+ 
+ 2834 
+ O_SGRENT
+ :
+ 
+ 2835 
+ v®ue
+  = (è
+ 	`£tg»Á
+ ();
+ 
+ 2836 
+ dÚum£t
+ ;
+ 
+ 2837 
+ O_EGRENT
+ :
+ 
+ 2838 
+ v®ue
+  = (è
+ 	`’dg»Á
+ ();
+ 
+ 2839 
+ dÚum£t
+ ;
+ 
+ 2841 
+ O_EGRENT
+ :
+ 
+ 2842 
+ O_SGRENT
+ :
+ 
+ 2843 
+ 	`çl
+ ("Unsupported group function");
+ 
+ 2846 
+ O_GETLOGIN
+ :
+ 
+ 2847 #ifdeà
+ HAS_GETLOGIN
+ 
+ 
+ 2848 ià(!(
+ tmps
+  = 
+ 	`g‘logš
+ ()))
+ 
+ 2849 
+ §y_undef
+ ;
+ 
+ 2850 
+ 	`¡r_£t
+ (
+ ¡r
+ ,
+ tmps
+ );
+ 
+ 2852 
+ 	`çl
+ ("Unsupported function getlogin");
+ 
+ 2855 
+ O_OPENDIR
+ :
+ 
+ 2856 
+ O_READDIR
+ :
+ 
+ 2857 
+ O_TELLDIR
+ :
+ 
+ 2858 
+ O_SEEKDIR
+ :
+ 
+ 2859 
+ O_REWINDDIR
+ :
+ 
+ 2860 
+ O_CLOSEDIR
+ :
+ 
+ 2861 ià(
+ max¬g
+  < 1)
+ 
+ 2862 
+ §y_undef
+ ;
+ 
+ 2863 ià((
+ ¬g
+ [1].
+ ¬g_ty³
+  & 
+ A_MASK
+ è=ð
+ A_WORD
+ )
+ 
+ 2864 
+ ¡ab
+  = 
+ ¬g
+ [1].
+ ¬g_±r
+ .
+ ¬g_¡ab
+ ;
+ 
+ 2866 
+ ¡ab
+  = 
+ 	`¡ab’t
+ (
+ 	`¡r_g‘
+ (
+ ¡
+ [1]),
+ TRUE
+ );
+ 
+ 2867 ià(!
+ ¡ab
+ )
+ 
+ 2868 
+ §y_undef
+ ;
+ 
+ 2869 
+ ¥
+  = 
+ 	`do_dœÝ
+ (
+ Ýty³
+ ,
+ ¡ab
+ ,
+ gimme
+ ,
+ ¬gÏ¡
+ );
+ 
+ 2870 
+ ¬¿y_»tuº
+ ;
+ 
+ 2871 
+ O_SYSCALL
+ :
+ 
+ 2872 
+ v®ue
+  = ()
+ 	`do_sysÿÎ
+ (
+ ¬gÏ¡
+ );
+ 
+ 2873 
+ dÚum£t
+ ;
+ 
+ 2874 
+ O_PIPE
+ :
+ 
+ 2875 #ifdeà
+ HAS_PIPE
+ 
+ 
+ 2876 ià((
+ ¬g
+ [1].
+ ¬g_ty³
+  & 
+ A_MASK
+ è=ð
+ A_WORD
+ )
+ 
+ 2877 
+ ¡ab
+  = 
+ ¬g
+ [1].
+ ¬g_±r
+ .
+ ¬g_¡ab
+ ;
+ 
+ 2879 
+ ¡ab
+  = 
+ 	`¡ab’t
+ (
+ 	`¡r_g‘
+ (
+ ¡
+ [1]),
+ TRUE
+ );
+ 
+ 2880 ià((
+ ¬g
+ [2].
+ ¬g_ty³
+  & 
+ A_MASK
+ è=ð
+ A_WORD
+ )
+ 
+ 2881 
+ ¡ab2
+  = 
+ ¬g
+ [2].
+ ¬g_±r
+ .
+ ¬g_¡ab
+ ;
+ 
+ 2883 
+ ¡ab2
+  = 
+ 	`¡ab’t
+ (
+ 	`¡r_g‘
+ (
+ ¡
+ [2]),
+ TRUE
+ );
+ 
+ 2884 
+ 	`do_pe
+ (
+ ¡r
+ ,
+ ¡ab
+ ,
+ ¡ab2
+ );
+ 
+ 2885 
+ 	`STABSET
+ (
+ ¡r
+ );
+ 
+ 2887 
+ 	`çl
+ ("Unsupported function…ipe");
+ 
+ 2892 
+ nÜm®_»tuº
+ :
+ 
+ 2893 
+ ¡
+ [1] = 
+ ¡r
+ ;
+ 
+ 2894 #ifdeà
+ DEBUGGING
+ 
+ 
+ 2895 ià(
+ debug
+ ) {
+ 
+ 2896 
+ dËv–
+ --;
+ 
+ 2897 ià(
+ debug
+  & 8)
+ 
+ 2898 
+ 	`deb
+ ("% RETURNS \"%s\"\n",
+ ÝÇme
+ [
+ Ýty³
+ ],
+ 	`¡r_g‘
+ (
+ ¡r
+ ));
+ 
+ 2901  
+ ¬gÏ¡
+ [0] + 1;
+ 
+ 2902 
+ 	}
+ }
+ 
+ 	@form.c
+ 
+ 14 
+ 	~"EXTERN.h
+ "
+ 
+ 15 
+ 	~"³¾.h
+ "
+ 
+ 20 
+ 	$fÜm_·r£¬gs
+ (
+ fcmd
+ )
+ 
+ 21 
+ FCMD
+  *
+ fcmd
+ ;
+ 
+ 23 
+ i
+ ;
+ 
+ 24 
+ ARG
+  *
+ ¬g
+ ;
+ 
+ 25 
+ ™ems
+ ;
+ 
+ 26 
+ STR
+  *
+ ¡r
+ ;
+ 
+ 27 
+ ARG
+  *
+ 	`·r£li¡
+ ();
+ 
+ 28 
+ lše_t
+  
+ Þdlše
+  = 
+ curcmd
+ ->
+ c_lše
+ ;
+ 
+ 29 
+ Þd§ve
+  = 
+ §ve¡ack
+ ->
+ ¬y_fžl
+ ;
+ 
+ 31 
+ ¡r
+  = 
+ fcmd
+ ->
+ f_uŬ£d
+ ;
+ 
+ 32 
+ curcmd
+ ->
+ c_lše
+  = 
+ fcmd
+ ->
+ f_lše
+ ;
+ 
+ 33 
+ fcmd
+ ->
+ f_uŬ£d
+  = 
+ NuΡr
+ ;
+ 
+ 34 ()
+ 	`§veh±r
+ (&
+ cur¡ash
+ );
+ 
+ 35 
+ cur¡ash
+  = 
+ ¡r
+ ->
+ ¡r_u
+ .
+ ¡r_hash
+ ;
+ 
+ 36 
+ ¬g
+  = 
+ 	`·r£li¡
+ (
+ ¡r
+ );
+ 
+ 37 
+ 	`»¡Ü–i¡
+ (
+ Þd§ve
+ );
+ 
+ 39 
+ ™ems
+  = 
+ ¬g
+ ->
+ ¬g_Ën
+  - 1;
+ 
+ 40 
+ i
+  = 1; i <ð
+ ™ems
+ ; i++) {
+ 
+ 41 ià(!
+ fcmd
+  || fcmd->
+ f_ty³
+  =ð
+ F_NULL
+ )
+ 
+ 42 
+ 	`çl
+ ("Too many field values");
+ 
+ 43 
+ 	`dehoi¡
+ (
+ ¬g
+ ,
+ i
+ );
+ 
+ 44 
+ fcmd
+ ->
+ f_ex´
+  = 
+ 	`make_Ý
+ (
+ O_ITEM
+ ,1,
+ 
+ 45 
+ ¬g
+ [
+ i
+ ].
+ ¬g_±r
+ .
+ ¬g_¬g
+ ,
+ Nuάg
+ ,Nullarg);
+ 
+ 46 ià(
+ fcmd
+ ->
+ f_æags
+  & 
+ FC_CHOP
+ ) {
+ 
+ 47 ià((
+ fcmd
+ ->
+ f_ex´
+ [1].
+ ¬g_ty³
+  & 
+ A_MASK
+ è=ð
+ A_STAB
+ )
+ 
+ 48 
+ fcmd
+ ->
+ f_ex´
+ [1].
+ ¬g_ty³
+  = 
+ A_LVAL
+ ;
+ 
+ 49 ià((
+ fcmd
+ ->
+ f_ex´
+ [1].
+ ¬g_ty³
+  & 
+ A_MASK
+ è=ð
+ A_EXPR
+ )
+ 
+ 50 
+ fcmd
+ ->
+ f_ex´
+ [1].
+ ¬g_ty³
+  = 
+ A_LEXPR
+ ;
+ 
+ 52 
+ 	`çl
+ ("^ field„equires scalar†value");
+ 
+ 54 
+ fcmd
+  = fcmd->
+ f_Ãxt
+ ;
+ 
+ 56 ià(
+ fcmd
+  && fcmd->
+ f_ty³
+ )
+ 
+ 57 
+ 	`çl
+ ("Notƒnough field values");
+ 
+ 58 
+ curcmd
+ ->
+ c_lše
+  = 
+ Þdlše
+ ;
+ 
+ 59 
+ 	`Saãä“
+ (
+ ¬g
+ );
+ 
+ 60 
+ 	`¡r_ä“
+ (
+ ¡r
+ );
+ 
+ 61 
+ 	}
+ }
+ 
+ 63 
+ 	gÃwsize
+ ;
+ 
+ 65 
+ 	#CHKLEN
+ (
+ ®low
+ ) \
+ 
+ 66 
+ Ãwsize
+  = (
+ d
+  - 
+ Üec
+ ->
+ o_¡r
+ è+ (
+ ®low
+ ); \
+ 
+ 67 ià(
+ Ãwsize
+  >ð
+ cu¾’
+ ) { \
+ 
+ 68 
+ cu¾’
+  = 
+ d
+  - 
+ Üec
+ ->
+ o_¡r
+ ; \
+ 
+ 69 
+ 	`GROWSTR
+ (&
+ Üec
+ ->
+ o_¡r
+ ,&Üec->
+ o_Ën
+ ,Üec->o_ËÀ+ (
+ ®low
+ )); \
+ 
+ 70 
+ d
+  = 
+ Üec
+ ->
+ o_¡r
+  + 
+ cu¾’
+ ; \
+ 
+ 71 
+ cu¾’
+  = 
+ Üec
+ ->
+ o_Ën
+  - 2; \
+ 
+ 72 }
+ 
+ 	)
+ 
+ 74 
+ 	$fÜm©
+ (
+ Üec
+ ,
+ fcmd
+ ,
+ ¥
+ )
+ 
+ 75 
+ ouŒec
+  *
+ Üec
+ ;
+ 
+ 76 
+ FCMD
+  *
+ fcmd
+ ;
+ 
+ 77 
+ ¥
+ ;
+ 
+ 79 *
+ d
+  = 
+ Üec
+ ->
+ o_¡r
+ ;
+ 
+ 80 *
+ s
+ ;
+ 
+ 81 
+ cu¾’
+  = 
+ Üec
+ ->
+ o_Ën
+  - 2;
+ 
+ 82 
+ size
+ ;
+ 
+ 83 
+ FCMD
+  *
+ Ãxtfcmd
+ ;
+ 
+ 84 
+ FCMD
+  *
+ lšebeg
+  = 
+ fcmd
+ ;
+ 
+ 85 
+ tmpch¬
+ ;
+ 
+ 86 *
+ t
+ ;
+ 
+ 87 
+ CMD
+  
+ mycmd
+ ;
+ 
+ 88 
+ STR
+  *
+ ¡r
+ ;
+ 
+ 89 *
+ chÝh”e
+ ;
+ 
+ 91 
+ mycmd
+ .
+ c_ty³
+  = 
+ C_NULL
+ ;
+ 
+ 92 
+ Üec
+ ->
+ o_lšes
+  = 0;
+ 
+ 93 ; 
+ fcmd
+ ; fcmd = 
+ Ãxtfcmd
+ ) {
+ 
+ 94 
+ Ãxtfcmd
+  = 
+ fcmd
+ ->
+ f_Ãxt
+ ;
+ 
+ 95 
+ 	`CHKLEN
+ (
+ fcmd
+ ->
+ f_´esize
+ );
+ 
+ 96 ià(
+ s
+  = 
+ fcmd
+ ->
+ f_´e
+ ) {
+ 
+ 97 *
+ s
+ ) {
+ 
+ 98 ià(*
+ s
+  == '\n') {
+ 
+ 99 
+ d
+  > 
+ Üec
+ ->
+ o_¡r
+  && (d[-1] == ' ' || d[-1] == '\t'))
+ 
+ 100 
+ d
+ --;
+ 
+ 101 ià(
+ fcmd
+ ->
+ f_æags
+  & 
+ FC_NOBLANK
+ ) {
+ 
+ 102 ià(
+ d
+  =ð
+ Üec
+ ->
+ o_¡r
+  || d[-1] == '\n') {
+ 
+ 103 
+ Üec
+ ->
+ o_lšes
+ --;
+ 
+ 104 
+ lšebeg
+  = 
+ fcmd
+ ->
+ f_Ãxt
+ ;
+ 
+ 107 ià(
+ fcmd
+ ->
+ f_æags
+  & 
+ FC_REPEAT
+ )
+ 
+ 108 
+ Ãxtfcmd
+  = 
+ lšebeg
+ ;
+ 
+ 110 
+ lšebeg
+  = 
+ fcmd
+ ->
+ f_Ãxt
+ ;
+ 
+ 113 
+ lšebeg
+  = 
+ fcmd
+ ->
+ f_Ãxt
+ ;
+ 
+ 115 *
+ d
+ ++ = *
+ s
+ ++;
+ 
+ 118 ià(
+ fcmd
+ ->
+ f_uŬ£d
+ )
+ 
+ 119 
+ 	`fÜm_·r£¬gs
+ (
+ fcmd
+ );
+ 
+ 120 
+ fcmd
+ ->
+ f_ty³
+ ) {
+ 
+ 121 
+ F_NULL
+ :
+ 
+ 122 
+ Üec
+ ->
+ o_lšes
+ ++;
+ 
+ 124 
+ F_LEFT
+ :
+ 
+ 125 ()
+ 	`ev®
+ (
+ fcmd
+ ->
+ f_ex´
+ ,
+ G_SCALAR
+ ,
+ ¥
+ );
+ 
+ 126 
+ ¡r
+  = 
+ ¡ack
+ ->
+ ¬y_¬¿y
+ [
+ ¥
+ +1];
+ 
+ 127 
+ s
+  = 
+ 	`¡r_g‘
+ (
+ ¡r
+ );
+ 
+ 128 
+ size
+  = 
+ fcmd
+ ->
+ f_size
+ ;
+ 
+ 129 
+ 	`CHKLEN
+ (
+ size
+ );
+ 
+ 130 
+ chÝh”e
+  = 
+ NuÎch
+ ;
+ 
+ 131 
+ size
+  && *
+ s
+  && *s != '\n') {
+ 
+ 132 ià(*
+ s
+  == '\t')
+ 
+ 133 *
+ s
+  = ' ';
+ 
+ 134 
+ size
+ --;
+ 
+ 135 ià(*
+ s
+  && 
+ 	`šdex
+ (
+ chݣt
+ ,(*
+ d
+ ++ = *s++)))
+ 
+ 136 
+ chÝh”e
+  = 
+ s
+ ;
+ 
+ 137 ià(*
+ s
+  =ð'\n' && (
+ fcmd
+ ->
+ f_æags
+  & 
+ FC_CHOP
+ ))
+ 
+ 138 *
+ s
+  = ' ';
+ 
+ 140 ià(
+ size
+ )
+ 
+ 141 
+ chÝh”e
+  = 
+ s
+ ;
+ 
+ 142 ià(
+ chÝh”e
+  && chÝh”< 
+ s
+  && * && 
+ 	`šdex
+ (
+ chݣt
+ ,*s))
+ 
+ 143 
+ chÝh”e
+  = 
+ s
+ ;
+ 
+ 144 ià(
+ fcmd
+ ->
+ f_æags
+  & 
+ FC_CHOP
+ ) {
+ 
+ 145 ià(!
+ chÝh”e
+ )
+ 
+ 146 
+ chÝh”e
+  = 
+ s
+ ;
+ 
+ 147 
+ size
+  +ð(
+ s
+  - 
+ chÝh”e
+ );
+ 
+ 148 
+ d
+  -ð(
+ s
+  - 
+ chÝh”e
+ );
+ 
+ 149 ià(
+ fcmd
+ ->
+ f_æags
+  & 
+ FC_MORE
+  &&
+ 
+ 150 *
+ chÝh”e
+  && 
+ 	`¡rNE
+ (chophere,"\n")) {
+ 
+ 151 
+ size
+  < 3) {
+ 
+ 152 
+ d
+ --;
+ 
+ 153 
+ size
+ ++;
+ 
+ 155 
+ d
+ [-1] =ð' ' && 
+ size
+  < 
+ fcmd
+ ->
+ f_size
+ ) {
+ 
+ 156 
+ d
+ --;
+ 
+ 157 
+ size
+ ++;
+ 
+ 159 *
+ d
+ ++ = '.';
+ 
+ 160 *
+ d
+ ++ = '.';
+ 
+ 161 *
+ d
+ ++ = '.';
+ 
+ 162 
+ size
+  -= 3;
+ 
+ 164 *
+ chÝh”e
+  && 
+ 	`šdex
+ (
+ chݣt
+ ,*chophere))
+ 
+ 165 
+ chÝh”e
+ ++;
+ 
+ 166 
+ 	`¡r_chÝ
+ (
+ ¡r
+ ,
+ chÝh”e
+ );
+ 
+ 168 ià(
+ fcmd
+ ->
+ f_Ãxt
+  && fcmd->f_Ãxt->
+ f_´e
+ [0] == '\n')
+ 
+ 169 
+ size
+  = 0;
+ 
+ 170 
+ size
+ ) {
+ 
+ 171 
+ size
+ --;
+ 
+ 172 *
+ d
+ ++ = ' ';
+ 
+ 175 
+ F_RIGHT
+ :
+ 
+ 176 ()
+ 	`ev®
+ (
+ fcmd
+ ->
+ f_ex´
+ ,
+ G_SCALAR
+ ,
+ ¥
+ );
+ 
+ 177 
+ ¡r
+  = 
+ ¡ack
+ ->
+ ¬y_¬¿y
+ [
+ ¥
+ +1];
+ 
+ 178 
+ t
+  = 
+ s
+  = 
+ 	`¡r_g‘
+ (
+ ¡r
+ );
+ 
+ 179 
+ size
+  = 
+ fcmd
+ ->
+ f_size
+ ;
+ 
+ 180 
+ 	`CHKLEN
+ (
+ size
+ );
+ 
+ 181 
+ chÝh”e
+  = 
+ NuÎch
+ ;
+ 
+ 182 
+ size
+  && *
+ s
+  && *s != '\n') {
+ 
+ 183 ià(*
+ s
+  == '\t')
+ 
+ 184 *
+ s
+  = ' ';
+ 
+ 185 
+ size
+ --;
+ 
+ 186 ià(*
+ s
+  && 
+ 	`šdex
+ (
+ chݣt
+ ,*s++))
+ 
+ 187 
+ chÝh”e
+  = 
+ s
+ ;
+ 
+ 188 ià(*
+ s
+  =ð'\n' && (
+ fcmd
+ ->
+ f_æags
+  & 
+ FC_CHOP
+ ))
+ 
+ 189 *
+ s
+  = ' ';
+ 
+ 191 ià(
+ size
+ )
+ 
+ 192 
+ chÝh”e
+  = 
+ s
+ ;
+ 
+ 193 ià(
+ chÝh”e
+  && chÝh”< 
+ s
+  && * && 
+ 	`šdex
+ (
+ chݣt
+ ,*s))
+ 
+ 194 
+ chÝh”e
+  = 
+ s
+ ;
+ 
+ 195 ià(
+ fcmd
+ ->
+ f_æags
+  & 
+ FC_CHOP
+ ) {
+ 
+ 196 ià(!
+ chÝh”e
+ )
+ 
+ 197 
+ chÝh”e
+  = 
+ s
+ ;
+ 
+ 198 
+ size
+  +ð(
+ s
+  - 
+ chÝh”e
+ );
+ 
+ 199 
+ s
+  = 
+ chÝh”e
+ ;
+ 
+ 200 *
+ chÝh”e
+  && 
+ 	`šdex
+ (
+ chݣt
+ ,*chophere))
+ 
+ 201 
+ chÝh”e
+ ++;
+ 
+ 203 
+ tmpch¬
+  = *
+ s
+ ;
+ 
+ 204 *
+ s
+  = '\0';
+ 
+ 205 
+ size
+ ) {
+ 
+ 206 
+ size
+ --;
+ 
+ 207 *
+ d
+ ++ = ' ';
+ 
+ 209 
+ size
+  = 
+ s
+  - 
+ t
+ ;
+ 
+ 210 ()
+ 	`bcÝy
+ (
+ t
+ ,
+ d
+ ,
+ size
+ );
+ 
+ 211 
+ d
+  +ð
+ size
+ ;
+ 
+ 212 *
+ s
+  = 
+ tmpch¬
+ ;
+ 
+ 213 ià(
+ fcmd
+ ->
+ f_æags
+  & 
+ FC_CHOP
+ )
+ 
+ 214 
+ 	`¡r_chÝ
+ (
+ ¡r
+ ,
+ chÝh”e
+ );
+ 
+ 216 
+ F_CENTER
+ : {
+ 
+ 217 
+ h®fsize
+ ;
+ 
+ 219 ()
+ 	`ev®
+ (
+ fcmd
+ ->
+ f_ex´
+ ,
+ G_SCALAR
+ ,
+ ¥
+ );
+ 
+ 220 
+ ¡r
+  = 
+ ¡ack
+ ->
+ ¬y_¬¿y
+ [
+ ¥
+ +1];
+ 
+ 221 
+ t
+  = 
+ s
+  = 
+ 	`¡r_g‘
+ (
+ ¡r
+ );
+ 
+ 222 
+ size
+  = 
+ fcmd
+ ->
+ f_size
+ ;
+ 
+ 223 
+ 	`CHKLEN
+ (
+ size
+ );
+ 
+ 224 
+ chÝh”e
+  = 
+ NuÎch
+ ;
+ 
+ 225 
+ size
+  && *
+ s
+  && *s != '\n') {
+ 
+ 226 ià(*
+ s
+  == '\t')
+ 
+ 227 *
+ s
+  = ' ';
+ 
+ 228 
+ size
+ --;
+ 
+ 229 ià(*
+ s
+  && 
+ 	`šdex
+ (
+ chݣt
+ ,*s++))
+ 
+ 230 
+ chÝh”e
+  = 
+ s
+ ;
+ 
+ 231 ià(*
+ s
+  =ð'\n' && (
+ fcmd
+ ->
+ f_æags
+  & 
+ FC_CHOP
+ ))
+ 
+ 232 *
+ s
+  = ' ';
+ 
+ 234 ià(
+ size
+ )
+ 
+ 235 
+ chÝh”e
+  = 
+ s
+ ;
+ 
+ 236 ià(
+ chÝh”e
+  && chÝh”< 
+ s
+  && * && 
+ 	`šdex
+ (
+ chݣt
+ ,*s))
+ 
+ 237 
+ chÝh”e
+  = 
+ s
+ ;
+ 
+ 238 ià(
+ fcmd
+ ->
+ f_æags
+  & 
+ FC_CHOP
+ ) {
+ 
+ 239 ià(!
+ chÝh”e
+ )
+ 
+ 240 
+ chÝh”e
+  = 
+ s
+ ;
+ 
+ 241 
+ size
+  +ð(
+ s
+  - 
+ chÝh”e
+ );
+ 
+ 242 
+ s
+  = 
+ chÝh”e
+ ;
+ 
+ 243 *
+ chÝh”e
+  && 
+ 	`šdex
+ (
+ chݣt
+ ,*chophere))
+ 
+ 244 
+ chÝh”e
+ ++;
+ 
+ 246 
+ tmpch¬
+  = *
+ s
+ ;
+ 
+ 247 *
+ s
+  = '\0';
+ 
+ 248 
+ h®fsize
+  = 
+ size
+  / 2;
+ 
+ 249 
+ size
+  > 
+ h®fsize
+ ) {
+ 
+ 250 
+ size
+ --;
+ 
+ 251 *
+ d
+ ++ = ' ';
+ 
+ 253 
+ size
+  = 
+ s
+  - 
+ t
+ ;
+ 
+ 254 ()
+ 	`bcÝy
+ (
+ t
+ ,
+ d
+ ,
+ size
+ );
+ 
+ 255 
+ d
+  +ð
+ size
+ ;
+ 
+ 256 *
+ s
+  = 
+ tmpch¬
+ ;
+ 
+ 257 ià(
+ fcmd
+ ->
+ f_Ãxt
+  && fcmd->f_Ãxt->
+ f_´e
+ [0] == '\n')
+ 
+ 258 
+ size
+  = 0;
+ 
+ 260 
+ size
+  = 
+ h®fsize
+ ;
+ 
+ 261 
+ size
+ ) {
+ 
+ 262 
+ size
+ --;
+ 
+ 263 *
+ d
+ ++ = ' ';
+ 
+ 265 ià(
+ fcmd
+ ->
+ f_æags
+  & 
+ FC_CHOP
+ )
+ 
+ 266 
+ 	`¡r_chÝ
+ (
+ ¡r
+ ,
+ chÝh”e
+ );
+ 
+ 269 
+ F_LINES
+ :
+ 
+ 270 ()
+ 	`ev®
+ (
+ fcmd
+ ->
+ f_ex´
+ ,
+ G_SCALAR
+ ,
+ ¥
+ );
+ 
+ 271 
+ ¡r
+  = 
+ ¡ack
+ ->
+ ¬y_¬¿y
+ [
+ ¥
+ +1];
+ 
+ 272 
+ s
+  = 
+ 	`¡r_g‘
+ (
+ ¡r
+ );
+ 
+ 273 
+ size
+  = 
+ 	`¡r_Ën
+ (
+ ¡r
+ );
+ 
+ 274 
+ 	`CHKLEN
+ (
+ size
+ +1);
+ 
+ 275 
+ Üec
+ ->
+ o_lšes
+  +ð
+ 	`couÁlšes
+ (
+ s
+ ,
+ size
+ ) - 1;
+ 
+ 276 ()
+ 	`bcÝy
+ (
+ s
+ ,
+ d
+ ,
+ size
+ );
+ 
+ 277 
+ d
+  +ð
+ size
+ ;
+ 
+ 278 ià(
+ size
+  && 
+ s
+ [size-1] != '\n') {
+ 
+ 279 *
+ d
+ ++ = '\n';
+ 
+ 280 
+ Üec
+ ->
+ o_lšes
+ ++;
+ 
+ 282 
+ lšebeg
+  = 
+ fcmd
+ ->
+ f_Ãxt
+ ;
+ 
+ 284 
+ F_DECIMAL
+ : {
+ 
+ 285 
+ v®ue
+ ;
+ 
+ 287 ()
+ 	`ev®
+ (
+ fcmd
+ ->
+ f_ex´
+ ,
+ G_SCALAR
+ ,
+ ¥
+ );
+ 
+ 288 
+ ¡r
+  = 
+ ¡ack
+ ->
+ ¬y_¬¿y
+ [
+ ¥
+ +1];
+ 
+ 289 
+ size
+  = 
+ fcmd
+ ->
+ f_size
+ ;
+ 
+ 290 
+ 	`CHKLEN
+ (
+ size
+ );
+ 
+ 293 ià((
+ fcmd
+ ->
+ f_æags
+  & 
+ FC_CHOP
+ è&& !
+ ¡r
+ ->
+ ¡r_pok
+  && !¡r->
+ ¡r_nok
+ ) {
+ 
+ 294 
+ size
+ ) {
+ 
+ 295 
+ size
+ --;
+ 
+ 296 *
+ d
+ ++ = ' ';
+ 
+ 300 
+ v®ue
+  = 
+ 	`¡r_gnum
+ (
+ ¡r
+ );
+ 
+ 301 ià(
+ fcmd
+ ->
+ f_æags
+  & 
+ FC_DP
+ ) {
+ 
+ 302 
+ 	`¥rštf
+ (
+ d
+ , "%#*.*f", 
+ size
+ , 
+ fcmd
+ ->
+ f_decim®s
+ , 
+ v®ue
+ );
+ 
+ 304 
+ 	`¥rštf
+ (
+ d
+ , "%*.0f", 
+ size
+ , 
+ v®ue
+ );
+ 
+ 306 
+ d
+  +ð
+ size
+ ;
+ 
+ 311 
+ 	`CHKLEN
+ (1);
+ 
+ 312 *
+ d
+ ++ = '\0';
+ 
+ 313 
+ 	}
+ }
+ 
+ 315 
+ 	$couÁlšes
+ (
+ s
+ ,
+ size
+ )
+ 
+ 316 *
+ s
+ ;
+ 
+ 317 
+ size
+ ;
+ 
+ 319 
+ couÁ
+  = 0;
+ 
+ 321 
+ size
+ --) {
+ 
+ 322 ià(*
+ s
+ ++ == '\n')
+ 
+ 323 
+ couÁ
+ ++;
+ 
+ 325  
+ couÁ
+ ;
+ 
+ 326 
+ 	}
+ }
+ 
+ 328 
+ 	$do_wr™e
+ (
+ Üec
+ ,
+ ¡io
+ ,
+ ¥
+ )
+ 
+ 329 
+ ouŒec
+  *
+ Üec
+ ;
+ 
+ 330 
+ STIO
+  *
+ ¡io
+ ;
+ 
+ 331 
+ ¥
+ ;
+ 
+ 333 
+ FILE
+  *
+ oå
+  = 
+ ¡io
+ ->ofp;
+ 
+ 335 #ifdeà
+ DEBUGGING
+ 
+ 
+ 336 ià(
+ debug
+  & 256)
+ 
+ 337 
+ 	`årštf
+ (
+ ¡d”r
+ ,"left=%ld,odo=%ld\n",
+ 
+ 338 ()
+ ¡io
+ ->
+ lšes_Ëá
+ , ()
+ Üec
+ ->
+ o_lšes
+ );
+ 
+ 340 ià(
+ ¡io
+ ->
+ lšes_Ëá
+  < 
+ Üec
+ ->
+ o_lšes
+ ) {
+ 
+ 341 ià(!
+ ¡io
+ ->
+ tÝ_¡ab
+ ) {
+ 
+ 342 
+ STAB
+  *
+ tݡab
+ ;
+ 
+ 344 ià(!
+ ¡io
+ ->
+ tÝ_Çme
+ )
+ 
+ 345 
+ ¡io
+ ->
+ tÝ_Çme
+  = 
+ 	`§ve¡r
+ ("top");
+ 
+ 346 
+ tݡab
+  = 
+ 	`¡ab’t
+ (
+ ¡io
+ ->
+ tÝ_Çme
+ ,
+ FALSE
+ );
+ 
+ 347 ià(!
+ tݡab
+  || !
+ 	`¡ab_fÜm
+ (topstab)) {
+ 
+ 348 
+ ¡io
+ ->
+ lšes_Ëá
+  = 100000000;
+ 
+ 349 
+ fÜg‘_tÝ
+ ;
+ 
+ 351 
+ ¡io
+ ->
+ tÝ_¡ab
+  = 
+ tݡab
+ ;
+ 
+ 353 ià(
+ ¡io
+ ->
+ lšes_Ëá
+  >ð0 && stio->
+ ·ge
+  > 0)
+ 
+ 354 ()
+ 	`putc
+ ('\f',
+ oå
+ );
+ 
+ 355 
+ ¡io
+ ->
+ lšes_Ëá
+  = stio->
+ ·ge_Ën
+ ;
+ 
+ 356 
+ ¡io
+ ->
+ ·ge
+ ++;
+ 
+ 357 
+ 	`fÜm©
+ (&
+ tݻc
+ ,
+ 	`¡ab_fÜm
+ (
+ ¡io
+ ->
+ tÝ_¡ab
+ ),
+ ¥
+ );
+ 
+ 358 
+ 	`åuts
+ (
+ tݻc
+ .
+ o_¡r
+ ,
+ oå
+ );
+ 
+ 359 
+ ¡io
+ ->
+ lšes_Ëá
+  -ð
+ tݻc
+ .
+ o_lšes
+ ;
+ 
+ 361 
+ fÜg‘_tÝ
+ :
+ 
+ 362 
+ 	`åuts
+ (
+ Üec
+ ->
+ o_¡r
+ ,
+ oå
+ );
+ 
+ 363 
+ ¡io
+ ->
+ lšes_Ëá
+  -ð
+ Üec
+ ->
+ o_lšes
+ ;
+ 
+ 364 
+ 	}
+ }
+ 
+ 	@form.h
+ 
+ 14 
+ 	#F_NULL
+  0
+ 
+ 	)
+ 
+ 15 
+ 	#F_LEFT
+  1
+ 
+ 	)
+ 
+ 16 
+ 	#F_RIGHT
+  2
+ 
+ 	)
+ 
+ 17 
+ 	#F_CENTER
+  3
+ 
+ 	)
+ 
+ 18 
+ 	#F_LINES
+  4
+ 
+ 	)
+ 
+ 19 
+ 	#F_DECIMAL
+  5
+ 
+ 	)
+ 
+ 21 
+ 	sfÜmcmd
+  {
+ 
+ 22 
+ fÜmcmd
+  *
+ 	mf_Ãxt
+ ;
+ 
+ 23 
+ ARG
+  *
+ 	mf_ex´
+ ;
+ 
+ 24 
+ STR
+  *
+ 	mf_uŬ£d
+ ;
+ 
+ 25 
+ lše_t
+  
+ 	mf_lše
+ ;
+ 
+ 26 *
+ 	mf_´e
+ ;
+ 
+ 27 
+ 	mf_´esize
+ ;
+ 
+ 28 
+ 	mf_size
+ ;
+ 
+ 29 
+ 	mf_decim®s
+ ;
+ 
+ 30 
+ 	mf_ty³
+ ;
+ 
+ 31 
+ 	mf_æags
+ ;
+ 
+ 34 
+ 	#FC_CHOP
+  1
+ 
+ 	)
+ 
+ 35 
+ 	#FC_NOBLANK
+  2
+ 
+ 	)
+ 
+ 36 
+ 	#FC_MORE
+  4
+ 
+ 	)
+ 
+ 37 
+ 	#FC_REPEAT
+  8
+ 
+ 	)
+ 
+ 38 
+ 	#FC_DP
+  16
+ 
+ 	)
+ 
+ 40 
+ 	#NuÎfcmd
+  
+ 	`NuÎ
+ (
+ FCMD
+ *)
+ 
+ 	)
+ 
+ 42 
+ EXT
+  *
+ chݣt
+  
+ INIT
+ (" \n-");
+ 
+ 	@handy.h
+ 
+ 14 #ifdeà
+ NULL
+ 
+ 
+ 15 #undeà
+ NULL
+ 
+ 
+ 17 #iâdeà
+ I286
+ 
+ 
+ 18 
+ 	#NULL
+  0
+ 
+ 	)
+ 
+ 20 
+ 	#NULL
+  0L
+ 
+ 	)
+ 
+ 22 
+ 	#NuÎ
+ (
+ ty³
+ è(Ñy³)
+ NULL
+ )
+ 
+ 	)
+ 
+ 23 
+ 	#NuÎch
+  
+ 	`NuÎ
+ (*)
+ 
+ 	)
+ 
+ 24 
+ 	#NuÎå
+  
+ 	`NuÎ
+ (
+ FILE
+ *)
+ 
+ 	)
+ 
+ 26 #ifdeà
+ UTS
+ 
+ 
+ 27 
+ 	#boÞ
+  
+ 
+ 	)
+ 
+ 29 
+ 	#boÞ
+  
+ 
+ 	)
+ 
+ 32 #ifdeà
+ TRUE
+ 
+ 
+ 33 #undeà
+ TRUE
+ 
+ 
+ 35 #ifdeà
+ FALSE
+ 
+ 
+ 36 #undeà
+ FALSE
+ 
+ 
+ 38 
+ 	#TRUE
+  (1)
+ 
+ 	)
+ 
+ 39 
+ 	#FALSE
+  (0)
+ 
+ 	)
+ 
+ 41 
+ 	#CŽ
+ (
+ ch
+ è(ch & 037)
+ 
+ 	)
+ 
+ 43 
+ 	#¡rNE
+ (
+ s1
+ ,
+ s2
+ è(
+ 	`¡rcmp
+ (s1,s2))
+ 
+ 	)
+ 
+ 44 
+ 	#¡rEQ
+ (
+ s1
+ ,
+ s2
+ è(!
+ 	`¡rcmp
+ (s1,s2))
+ 
+ 	)
+ 
+ 45 
+ 	#¡rLT
+ (
+ s1
+ ,
+ s2
+ è(
+ 	`¡rcmp
+ (s1,s2è< 0)
+ 
+ 	)
+ 
+ 46 
+ 	#¡rLE
+ (
+ s1
+ ,
+ s2
+ è(
+ 	`¡rcmp
+ (s1,s2è<ð0)
+ 
+ 	)
+ 
+ 47 
+ 	#¡rGT
+ (
+ s1
+ ,
+ s2
+ è(
+ 	`¡rcmp
+ (s1,s2è> 0)
+ 
+ 	)
+ 
+ 48 
+ 	#¡rGE
+ (
+ s1
+ ,
+ s2
+ è(
+ 	`¡rcmp
+ (s1,s2è>ð0)
+ 
+ 	)
+ 
+ 49 
+ 	#¡ºNE
+ (
+ s1
+ ,
+ s2
+ ,
+ l
+ è(
+ 	`¡ºcmp
+ (s1,s2,l))
+ 
+ 	)
+ 
+ 50 
+ 	#¡ºEQ
+ (
+ s1
+ ,
+ s2
+ ,
+ l
+ è(!
+ 	`¡ºcmp
+ (s1,s2,l))
+ 
+ 	)
+ 
+ 52 
+ 	#MEM_SIZE
+  
+ 
+ 	)
+ 
+ 55 
+ 	tlše_t
+ ;
+ 
+ 56 #ifdeà
+ lšt
+ 
+ 
+ 57 
+ 	#NOLINE
+  ((
+ lše_t
+ )0)
+ 
+ 	)
+ 
+ 59 
+ 	#NOLINE
+  ((
+ lše_t
+ è65535)
+ 
+ 	)
+ 
+ 62 #iâdeà
+ lšt
+ 
+ 
+ 63 #iâdeà
+ LEAKTEST
+ 
+ 
+ 64 *
+ §ãm®loc
+ ();
+ 
+ 65 *
+ §ã»®loc
+ ();
+ 
+ 66 
+ §ãä“
+ ();
+ 
+ 67 #iâdeà
+ MSDOS
+ 
+ 
+ 68 
+ 	#New
+ (
+ x
+ ,
+ v
+ ,
+ n
+ ,
+ t
+ è(v = (t*)
+ 	`§ãm®loc
+ ((
+ MEM_SIZE
+ )(Òè* Ñ))))
+ 
+ 	)
+ 
+ 69 
+ 	#Newc
+ (
+ x
+ ,
+ v
+ ,
+ n
+ ,
+ t
+ ,
+ c
+ è(v = (c*)
+ 	`§ãm®loc
+ ((
+ MEM_SIZE
+ )(Òè* Ñ))))
+ 
+ 	)
+ 
+ 70 
+ 	#Newz
+ (
+ x
+ ,
+ v
+ ,
+ n
+ ,
+ t
+ è(v = (t*)
+ 	`§ãm®loc
+ ((
+ MEM_SIZE
+ )((n) * (t)))), \
+ 
+ 71 
+ 	`bz”o
+ ((*)(
+ v
+ ), (
+ n
+ è* (
+ t
+ ))
+ 
+ 	)
+ 
+ 72 
+ 	#R’ew
+ (
+ v
+ ,
+ n
+ ,
+ t
+ è(v = (t*)
+ 	`§ã»®loc
+ ((*)(v),(
+ MEM_SIZE
+ )(Ò)*Ñ))))
+ 
+ 	)
+ 
+ 73 
+ 	#R’ewc
+ (
+ v
+ ,
+ n
+ ,
+ t
+ ,
+ c
+ è(v = (c*)
+ 	`§ã»®loc
+ ((*)(v),(
+ MEM_SIZE
+ )(Ò)*Ñ))))
+ 
+ 	)
+ 
+ 75 
+ 	#New
+ (
+ x
+ ,
+ v
+ ,
+ n
+ ,
+ t
+ è(v = (t*)
+ 	`§ãm®loc
+ ((()Òè* Ñ))))
+ 
+ 	)
+ 
+ 76 
+ 	#Newc
+ (
+ x
+ ,
+ v
+ ,
+ n
+ ,
+ t
+ ,
+ c
+ è(v = (c*)
+ 	`§ãm®loc
+ ((()Òè* Ñ))))
+ 
+ 	)
+ 
+ 77 
+ 	#Newz
+ (
+ x
+ ,
+ v
+ ,
+ n
+ ,
+ t
+ è(v = (t*)
+ 	`§ãm®loc
+ ((()(n) * (t)))), \
+ 
+ 78 
+ 	`bz”o
+ ((*)(
+ v
+ ), (
+ n
+ è* (
+ t
+ ))
+ 
+ 	)
+ 
+ 79 
+ 	#R’ew
+ (
+ v
+ ,
+ n
+ ,
+ t
+ è(v = (t*)
+ 	`§ã»®loc
+ ((*)(v),(()Ò)*Ñ))))
+ 
+ 	)
+ 
+ 80 
+ 	#R’ewc
+ (
+ v
+ ,
+ n
+ ,
+ t
+ ,
+ c
+ è(v = (c*)
+ 	`§ã»®loc
+ ((*)(v),(()Ò)*Ñ))))
+ 
+ 	)
+ 
+ 83 #ifdeà
+ IGNOREFREE
+ 
+ 
+ 84 
+ 	#Saãä“
+ (
+ d
+ è{};
+ 
+ 	)
+ 
+ 86 
+ 	#Saãä“
+ (
+ d
+ è
+ 	`§ãä“
+ ((*)d)
+ 
+ 	)
+ 
+ 89 
+ 	#SŒ_Ãw
+ (
+ x
+ ,
+ Ën
+ è
+ 	`¡r_Ãw
+ ֒)
+ 
+ 	)
+ 
+ 91 *
+ §ãxm®loc
+ ();
+ 
+ 92 *
+ §ãx»®loc
+ ();
+ 
+ 93 
+ §ãxä“
+ ();
+ 
+ 94 
+ 	#New
+ (
+ x
+ ,
+ v
+ ,
+ n
+ ,
+ t
+ è(v = (t*)
+ 	`§ãxm®loc
+ (x,(
+ MEM_SIZE
+ )(Òè* Ñ))))
+ 
+ 	)
+ 
+ 95 
+ 	#Newc
+ (
+ x
+ ,
+ v
+ ,
+ n
+ ,
+ t
+ ,
+ c
+ è(v = (c*)
+ 	`§ãxm®loc
+ (x,(
+ MEM_SIZE
+ )(Òè* Ñ))))
+ 
+ 	)
+ 
+ 96 
+ 	#Newz
+ (
+ x
+ ,
+ v
+ ,
+ n
+ ,
+ t
+ è(v = (t*)
+ 	`§ãxm®loc
+ (x,(
+ MEM_SIZE
+ )((n) * (t)))), \
+ 
+ 97 
+ 	`bz”o
+ ((*)(
+ v
+ ), (
+ n
+ è* (
+ t
+ ))
+ 
+ 	)
+ 
+ 98 
+ 	#R’ew
+ (
+ v
+ ,
+ n
+ ,
+ t
+ è(v = (t*)
+ 	`§ãx»®loc
+ ((*)(v),(
+ MEM_SIZE
+ )(Ò)*Ñ))))
+ 
+ 	)
+ 
+ 99 
+ 	#R’ewc
+ (
+ v
+ ,
+ n
+ ,
+ t
+ ,
+ c
+ è(v = (c*)
+ 	`§ãx»®loc
+ ((*)(v),(
+ MEM_SIZE
+ )(Ò)*Ñ))))
+ 
+ 	)
+ 
+ 100 
+ 	#Saãä“
+ (
+ d
+ è
+ 	`§ãxä“
+ ((*)d)
+ 
+ 	)
+ 
+ 101 
+ 	#SŒ_Ãw
+ (
+ x
+ ,
+ Ën
+ è
+ 	`¡r_Ãw
+ (x,Ën)
+ 
+ 	)
+ 
+ 102 
+ 	#MAXXCOUNT
+  1200
+ 
+ 	)
+ 
+ 103 
+ 	gxcouÁ
+ [
+ MAXXCOUNT
+ ];
+ 
+ 104 
+ 	gÏ¡xcouÁ
+ [
+ MAXXCOUNT
+ ];
+ 
+ 106 
+ 	#CÝy
+ (
+ s
+ ,
+ d
+ ,
+ n
+ ,
+ t
+ è()
+ 	`bcÝy
+ ((*)(s),(*)(d), (nè* Ñ))
+ 
+ 	)
+ 
+ 107 
+ 	#Z”o
+ (
+ d
+ ,
+ n
+ ,
+ t
+ è()
+ 	`bz”o
+ ((*)(d), (nè* Ñ))
+ 
+ 	)
+ 
+ 109 
+ 	#New
+ (
+ x
+ ,
+ v
+ ,
+ n
+ ,
+ s
+ è(v = 
+ 	`NuÎ
+ ( *))
+ 
+ 	)
+ 
+ 110 
+ 	#Newc
+ (
+ x
+ ,
+ v
+ ,
+ n
+ ,
+ s
+ ,
+ c
+ è(v = 
+ 	`NuÎ
+ ( *))
+ 
+ 	)
+ 
+ 111 
+ 	#Newz
+ (
+ x
+ ,
+ v
+ ,
+ n
+ ,
+ s
+ è(v = 
+ 	`NuÎ
+ ( *))
+ 
+ 	)
+ 
+ 112 
+ 	#R’ew
+ (
+ v
+ ,
+ n
+ ,
+ s
+ è(v = 
+ 	`NuÎ
+ ( *))
+ 
+ 	)
+ 
+ 113 
+ 	#CÝy
+ (
+ s
+ ,
+ d
+ ,
+ n
+ ,
+ t
+ )
+ 
+ 	)
+ 
+ 114 
+ 	#Z”o
+ (
+ d
+ ,
+ n
+ ,
+ t
+ )
+ 
+ 	)
+ 
+ 115 
+ 	#Saãä“
+ (
+ d
+ èd = 
+ 	)
+ d
+ 
+ 	@hash.c
+ 
+ 14 
+ 	~"EXTERN.h
+ "
+ 
+ 15 
+ 	~"³¾.h
+ "
+ 
+ 17 
+ 	gcÛff
+ [] = {
+ 
+ 27 
+ hä“’Œ›s
+ ();
+ 
+ 29 
+ STR
+  *
+ 
+ 30 
+ 	$hãtch
+ (
+ tb
+ ,
+ key
+ ,
+ kËn
+ ,
+ lv®
+ )
+ 
+ 31 
+ HASH
+  *
+ tb
+ ;
+ 
+ 32 *
+ key
+ ;
+ 
+ 33 
+ kËn
+ ;
+ 
+ 34 
+ lv®
+ ;
+ 
+ 36 *
+ s
+ ;
+ 
+ 37 
+ i
+ ;
+ 
+ 38 
+ hash
+ ;
+ 
+ 39 
+ HENT
+  *
+ ’Œy
+ ;
+ 
+ 40 
+ maxi
+ ;
+ 
+ 41 
+ STR
+  *
+ ¡r
+ ;
+ 
+ 42 #ifdeà
+ SOME_DBM
+ 
+ 
+ 43 
+ d©um
+  
+ dkey
+ ,
+ dcÚ‹Á
+ ;
+ 
+ 46 ià(!
+ tb
+ )
+ 
+ 47  &
+ ¡r_undef
+ ;
+ 
+ 48 ià(!
+ tb
+ ->
+ tbl_¬¿y
+ ) {
+ 
+ 49 ià(
+ lv®
+ )
+ 
+ 50 
+ 	`Newz
+ (503,
+ tb
+ ->
+ tbl_¬¿y
+ ,b->
+ tbl_max
+  + 1, 
+ HENT
+ *);
+ 
+ 52  &
+ ¡r_undef
+ ;
+ 
+ 62 ià(!
+ tb
+ ->
+ tbl_cÛffsize
+ )
+ 
+ 63 
+ hash
+  = *
+ key
+  + 128 * key[1] + 128 * key[
+ kËn
+ -1];
+ 
+ 65 ià(
+ kËn
+  < 
+ tb
+ ->
+ tbl_cÛffsize
+ )
+ 
+ 66 
+ maxi
+  = 
+ kËn
+ ;
+ 
+ 68 
+ maxi
+  = 
+ tb
+ ->
+ tbl_cÛffsize
+ ;
+ 
+ 69 
+ s
+ =
+ key
+ , 
+ i
+ =0, 
+ hash
+  = 0;
+ 
+ 70 
+ i
+  < 
+ maxi
+ ;
+ 
+ 71 
+ s
+ ++, 
+ i
+ ++, 
+ hash
+  *= 5) {
+ 
+ 72 
+ hash
+  +ð*
+ s
+  * 
+ cÛff
+ [
+ i
+ ];
+ 
+ 76 
+ ’Œy
+  = 
+ tb
+ ->
+ tbl_¬¿y
+ [
+ hash
+  &b->
+ tbl_max
+ ];
+ 
+ 77 ; 
+ ’Œy
+ ;ƒÁry =ƒÁry->
+ h’t_Ãxt
+ ) {
+ 
+ 78 ià(
+ ’Œy
+ ->
+ h’t_hash
+  !ð
+ hash
+ )
+ 
+ 80 ià(
+ ’Œy
+ ->
+ h’t_kËn
+  !ð
+ kËn
+ )
+ 
+ 82 ià(
+ 	`bcmp
+ (
+ ’Œy
+ ->
+ h’t_key
+ ,
+ key
+ ,
+ kËn
+ ))
+ 
+ 84  
+ ’Œy
+ ->
+ h’t_v®
+ ;
+ 
+ 86 #ifdeà
+ SOME_DBM
+ 
+ 
+ 87 ià(
+ tb
+ ->
+ tbl_dbm
+ ) {
+ 
+ 88 
+ dkey
+ .
+ d±r
+  = 
+ key
+ ;
+ 
+ 89 
+ dkey
+ .
+ dsize
+  = 
+ kËn
+ ;
+ 
+ 90 #ifdeà
+ HAS_GDBM
+ 
+ 
+ 91 
+ dcÚ‹Á
+  = 
+ 	`gdbm_ãtch
+ (
+ tb
+ ->
+ tbl_dbm
+ ,
+ dkey
+ );
+ 
+ 93 
+ dcÚ‹Á
+  = 
+ 	`dbm_ãtch
+ (
+ tb
+ ->
+ tbl_dbm
+ ,
+ dkey
+ );
+ 
+ 95 ià(
+ dcÚ‹Á
+ .
+ d±r
+ ) {
+ 
+ 96 
+ ¡r
+  = 
+ 	`SŒ_Ãw
+ (60,
+ dcÚ‹Á
+ .
+ dsize
+ );
+ 
+ 97 
+ 	`¡r_n£t
+ (
+ ¡r
+ ,
+ dcÚ‹Á
+ .
+ d±r
+ ,dcÚ‹Á.
+ dsize
+ );
+ 
+ 98 
+ 	`h¡Üe
+ (
+ tb
+ ,
+ key
+ ,
+ kËn
+ ,
+ ¡r
+ ,
+ hash
+ );
+ 
+ 99  
+ ¡r
+ ;
+ 
+ 103 ià(
+ lv®
+ ) {
+ 
+ 104 
+ ¡r
+  = 
+ 	`SŒ_Ãw
+ (61,0);
+ 
+ 105 
+ 	`h¡Üe
+ (
+ tb
+ ,
+ key
+ ,
+ kËn
+ ,
+ ¡r
+ ,
+ hash
+ );
+ 
+ 106  
+ ¡r
+ ;
+ 
+ 108  &
+ ¡r_undef
+ ;
+ 
+ 109 
+ 	}
+ }
+ 
+ 111 
+ boÞ
+ 
+ 
+ 112 
+ 	$h¡Üe
+ (
+ tb
+ ,
+ key
+ ,
+ kËn
+ ,
+ v®
+ ,
+ hash
+ )
+ 
+ 113 
+ HASH
+  *
+ tb
+ ;
+ 
+ 114 *
+ key
+ ;
+ 
+ 115 
+ kËn
+ ;
+ 
+ 116 
+ STR
+  *
+ v®
+ ;
+ 
+ 117 
+ hash
+ ;
+ 
+ 119 *
+ s
+ ;
+ 
+ 120 
+ i
+ ;
+ 
+ 121 
+ HENT
+  *
+ ’Œy
+ ;
+ 
+ 122 
+ HENT
+  **
+ ÛÁry
+ ;
+ 
+ 123 
+ maxi
+ ;
+ 
+ 125 ià(!
+ tb
+ )
+ 
+ 126  
+ FALSE
+ ;
+ 
+ 128 ià(
+ hash
+ )
+ 
+ 130 ià(!
+ tb
+ ->
+ tbl_cÛffsize
+ )
+ 
+ 131 
+ hash
+  = *
+ key
+  + 128 * key[1] + 128 * key[
+ kËn
+ -1];
+ 
+ 133 ià(
+ kËn
+  < 
+ tb
+ ->
+ tbl_cÛffsize
+ )
+ 
+ 134 
+ maxi
+  = 
+ kËn
+ ;
+ 
+ 136 
+ maxi
+  = 
+ tb
+ ->
+ tbl_cÛffsize
+ ;
+ 
+ 137 
+ s
+ =
+ key
+ , 
+ i
+ =0, 
+ hash
+  = 0;
+ 
+ 138 
+ i
+  < 
+ maxi
+ ;
+ 
+ 139 
+ s
+ ++, 
+ i
+ ++, 
+ hash
+  *= 5) {
+ 
+ 140 
+ hash
+  +ð*
+ s
+  * 
+ cÛff
+ [
+ i
+ ];
+ 
+ 144 ià(!
+ tb
+ ->
+ tbl_¬¿y
+ )
+ 
+ 145 
+ 	`Newz
+ (505,
+ tb
+ ->
+ tbl_¬¿y
+ ,b->
+ tbl_max
+  + 1, 
+ HENT
+ *);
+ 
+ 147 
+ ÛÁry
+  = &(
+ tb
+ ->
+ tbl_¬¿y
+ [
+ hash
+  &b->
+ tbl_max
+ ]);
+ 
+ 148 
+ i
+  = 1;
+ 
+ 150 
+ ’Œy
+  = *
+ ÛÁry
+ ;ƒÁry; 
+ i
+ =0,ƒÁry =ƒÁry->
+ h’t_Ãxt
+ ) {
+ 
+ 151 ià(
+ ’Œy
+ ->
+ h’t_hash
+  !ð
+ hash
+ )
+ 
+ 153 ià(
+ ’Œy
+ ->
+ h’t_kËn
+  !ð
+ kËn
+ )
+ 
+ 155 ià(
+ 	`bcmp
+ (
+ ’Œy
+ ->
+ h’t_key
+ ,
+ key
+ ,
+ kËn
+ ))
+ 
+ 157 
+ 	`Saãä“
+ (
+ ’Œy
+ ->
+ h’t_v®
+ );
+ 
+ 158 
+ ’Œy
+ ->
+ h’t_v®
+  = 
+ v®
+ ;
+ 
+ 159  
+ TRUE
+ ;
+ 
+ 161 
+ 	`New
+ (501,
+ ’Œy
+ , 1, 
+ HENT
+ );
+ 
+ 163 
+ ’Œy
+ ->
+ h’t_kËn
+  = 
+ kËn
+ ;
+ 
+ 164 
+ ’Œy
+ ->
+ h’t_key
+  = 
+ 	`n§ve¡r
+ (
+ key
+ ,
+ kËn
+ );
+ 
+ 165 
+ ’Œy
+ ->
+ h’t_v®
+  = 
+ v®
+ ;
+ 
+ 166 
+ ’Œy
+ ->
+ h’t_hash
+  = 
+ hash
+ ;
+ 
+ 167 
+ ’Œy
+ ->
+ h’t_Ãxt
+  = *
+ ÛÁry
+ ;
+ 
+ 168 *
+ ÛÁry
+  = 
+ ’Œy
+ ;
+ 
+ 172 ià(
+ i
+ ) {
+ 
+ 173 
+ tb
+ ->
+ tbl_fžl
+ ++;
+ 
+ 174 #ifdeà
+ SOME_DBM
+ 
+ 
+ 175 ià(
+ tb
+ ->
+ tbl_dbm
+  &&b->
+ tbl_max
+  >ð
+ DBM_CACHE_MAX
+ )
+ 
+ 176  
+ FALSE
+ ;
+ 
+ 178 ià(
+ tb
+ ->
+ tbl_fžl
+  >b->
+ tbl_do¥l™
+ )
+ 
+ 179 
+ 	`h¥l™
+ (
+ tb
+ );
+ 
+ 181 #ifdeà
+ SOME_DBM
+ 
+ 
+ 182 ià(
+ tb
+ ->
+ tbl_dbm
+ ) {
+ 
+ 183 
+ 	`h’td–ayä“
+ ();
+ 
+ 185 
+ ’Œy
+  = 
+ tb
+ ->
+ tbl_¬¿y
+ [
+ hash
+  &b->
+ tbl_max
+ ];
+ 
+ 186 
+ ÛÁry
+  = &
+ ’Œy
+ ->
+ h’t_Ãxt
+ ;
+ 
+ 187 
+ ’Œy
+  = *
+ ÛÁry
+ ;
+ 
+ 188 
+ ’Œy
+ ) {
+ 
+ 189 *
+ ÛÁry
+  = 
+ ’Œy
+ ->
+ h’t_Ãxt
+ ;
+ 
+ 190 
+ 	`h’td–ayä“
+ (
+ ’Œy
+ );
+ 
+ 191 
+ ’Œy
+  = *
+ ÛÁry
+ ;
+ 
+ 196  
+ FALSE
+ ;
+ 
+ 197 
+ 	}
+ }
+ 
+ 199 
+ STR
+  *
+ 
+ 200 
+ 	$hd–‘e
+ (
+ tb
+ ,
+ key
+ ,
+ kËn
+ )
+ 
+ 201 
+ HASH
+  *
+ tb
+ ;
+ 
+ 202 *
+ key
+ ;
+ 
+ 203 
+ kËn
+ ;
+ 
+ 205 *
+ s
+ ;
+ 
+ 206 
+ i
+ ;
+ 
+ 207 
+ hash
+ ;
+ 
+ 208 
+ HENT
+  *
+ ’Œy
+ ;
+ 
+ 209 
+ HENT
+  **
+ ÛÁry
+ ;
+ 
+ 210 
+ STR
+  *
+ ¡r
+ ;
+ 
+ 211 
+ maxi
+ ;
+ 
+ 212 #ifdeà
+ SOME_DBM
+ 
+ 
+ 213 
+ d©um
+  
+ dkey
+ ;
+ 
+ 216 ià(!
+ tb
+  || !tb->
+ tbl_¬¿y
+ )
+ 
+ 217  
+ NuΡr
+ ;
+ 
+ 218 ià(!
+ tb
+ ->
+ tbl_cÛffsize
+ )
+ 
+ 219 
+ hash
+  = *
+ key
+  + 128 * key[1] + 128 * key[
+ kËn
+ -1];
+ 
+ 221 ià(
+ kËn
+  < 
+ tb
+ ->
+ tbl_cÛffsize
+ )
+ 
+ 222 
+ maxi
+  = 
+ kËn
+ ;
+ 
+ 224 
+ maxi
+  = 
+ tb
+ ->
+ tbl_cÛffsize
+ ;
+ 
+ 225 
+ s
+ =
+ key
+ , 
+ i
+ =0, 
+ hash
+  = 0;
+ 
+ 226 
+ i
+  < 
+ maxi
+ ;
+ 
+ 227 
+ s
+ ++, 
+ i
+ ++, 
+ hash
+  *= 5) {
+ 
+ 228 
+ hash
+  +ð*
+ s
+  * 
+ cÛff
+ [
+ i
+ ];
+ 
+ 232 
+ ÛÁry
+  = &(
+ tb
+ ->
+ tbl_¬¿y
+ [
+ hash
+  &b->
+ tbl_max
+ ]);
+ 
+ 233 
+ ’Œy
+  = *
+ ÛÁry
+ ;
+ 
+ 234 
+ i
+  = 1;
+ 
+ 235 ; 
+ ’Œy
+ ; 
+ i
+ =0, 
+ ÛÁry
+  = &’Œy->
+ h’t_Ãxt
+ ,ƒntry = *oentry) {
+ 
+ 236 ià(
+ ’Œy
+ ->
+ h’t_hash
+  !ð
+ hash
+ )
+ 
+ 238 ià(
+ ’Œy
+ ->
+ h’t_kËn
+  !ð
+ kËn
+ )
+ 
+ 240 ià(
+ 	`bcmp
+ (
+ ’Œy
+ ->
+ h’t_key
+ ,
+ key
+ ,
+ kËn
+ ))
+ 
+ 242 *
+ ÛÁry
+  = 
+ ’Œy
+ ->
+ h’t_Ãxt
+ ;
+ 
+ 243 
+ ¡r
+  = 
+ 	`¡r_m܏l
+ (
+ ’Œy
+ ->
+ h’t_v®
+ );
+ 
+ 244 
+ 	`h’tä“
+ (
+ ’Œy
+ );
+ 
+ 245 ià(
+ i
+ )
+ 
+ 246 
+ tb
+ ->
+ tbl_fžl
+ --;
+ 
+ 247 #ifdeà
+ SOME_DBM
+ 
+ 
+ 248 
+ do_dbm_d–‘e
+ :
+ 
+ 249 ià(
+ tb
+ ->
+ tbl_dbm
+ ) {
+ 
+ 250 
+ dkey
+ .
+ d±r
+  = 
+ key
+ ;
+ 
+ 251 
+ dkey
+ .
+ dsize
+  = 
+ kËn
+ ;
+ 
+ 252 #ifdeà
+ HAS_GDBM
+ 
+ 
+ 253 
+ 	`gdbm_d–‘e
+ (
+ tb
+ ->
+ tbl_dbm
+ ,
+ dkey
+ );
+ 
+ 255 
+ 	`dbm_d–‘e
+ (
+ tb
+ ->
+ tbl_dbm
+ ,
+ dkey
+ );
+ 
+ 259  
+ ¡r
+ ;
+ 
+ 261 #ifdeà
+ SOME_DBM
+ 
+ 
+ 262 
+ ¡r
+  = 
+ NuΡr
+ ;
+ 
+ 263 
+ do_dbm_d–‘e
+ ;
+ 
+ 265  
+ NuΡr
+ ;
+ 
+ 267 
+ 	}
+ }
+ 
+ 269 
+ 	$h¥l™
+ (
+ tb
+ )
+ 
+ 270 
+ HASH
+  *
+ tb
+ ;
+ 
+ 272 
+ Þdsize
+  = 
+ tb
+ ->
+ tbl_max
+  + 1;
+ 
+ 273 
+ Ãwsize
+  = 
+ Þdsize
+  * 2;
+ 
+ 274 
+ i
+ ;
+ 
+ 275 
+ HENT
+  **
+ a
+ ;
+ 
+ 276 
+ HENT
+  **
+ b
+ ;
+ 
+ 277 
+ HENT
+  *
+ ’Œy
+ ;
+ 
+ 278 
+ HENT
+  **
+ ÛÁry
+ ;
+ 
+ 280 
+ a
+  = 
+ tb
+ ->
+ tbl_¬¿y
+ ;
+ 
+ 281 
+ 	`R’ew
+ (
+ a
+ , 
+ Ãwsize
+ , 
+ HENT
+ *);
+ 
+ 282 
+ 	`Z”o
+ (&
+ a
+ [
+ Þdsize
+ ], oldsize, 
+ HENT
+ *);
+ 
+ 283 
+ tb
+ ->
+ tbl_max
+  = --
+ Ãwsize
+ ;
+ 
+ 284 
+ tb
+ ->
+ tbl_do¥l™
+  =b->
+ tbl_max
+  * 
+ FILLPCT
+  / 100;
+ 
+ 285 
+ tb
+ ->
+ tbl_¬¿y
+  = 
+ a
+ ;
+ 
+ 287 
+ i
+ =0; i<
+ Þdsize
+ ; i++,
+ a
+ ++) {
+ 
+ 288 ià(!*
+ a
+ )
+ 
+ 290 
+ b
+  = 
+ a
+ +
+ Þdsize
+ ;
+ 
+ 291 
+ ÛÁry
+  = 
+ a
+ , 
+ ’Œy
+  = *a;ƒntry;ƒntry = *oentry) {
+ 
+ 292 ià((
+ ’Œy
+ ->
+ h’t_hash
+  & 
+ Ãwsize
+ è!ð
+ i
+ ) {
+ 
+ 293 *
+ ÛÁry
+  = 
+ ’Œy
+ ->
+ h’t_Ãxt
+ ;
+ 
+ 294 
+ ’Œy
+ ->
+ h’t_Ãxt
+  = *
+ b
+ ;
+ 
+ 295 ià(!*
+ b
+ )
+ 
+ 296 
+ tb
+ ->
+ tbl_fžl
+ ++;
+ 
+ 297 *
+ b
+  = 
+ ’Œy
+ ;
+ 
+ 301 
+ ÛÁry
+  = &
+ ’Œy
+ ->
+ h’t_Ãxt
+ ;
+ 
+ 303 ià(!*
+ a
+ )
+ 
+ 304 
+ tb
+ ->
+ tbl_fžl
+ --;
+ 
+ 306 
+ 	}
+ }
+ 
+ 308 
+ HASH
+  *
+ 
+ 309 
+ 	$hÃw
+ (
+ look©
+ )
+ 
+ 310 
+ look©
+ ;
+ 
+ 312 
+ HASH
+  *
+ tb
+ ;
+ 
+ 314 
+ 	`Newz
+ (502,
+ tb
+ , 1, 
+ HASH
+ );
+ 
+ 315 ià(
+ look©
+ ) {
+ 
+ 316 
+ tb
+ ->
+ tbl_cÛffsize
+  = 
+ look©
+ ;
+ 
+ 317 
+ tb
+ ->
+ tbl_max
+  = 7;
+ 
+ 318 
+ tb
+ ->
+ tbl_do¥l™
+  =b->
+ tbl_max
+  * 
+ FILLPCT
+  / 100;
+ 
+ 321 
+ tb
+ ->
+ tbl_max
+  = 127;
+ 
+ 322 
+ tb
+ ->
+ tbl_do¥l™
+  = 128;
+ 
+ 324 
+ tb
+ ->
+ tbl_fžl
+  = 0;
+ 
+ 325 #ifdeà
+ SOME_DBM
+ 
+ 
+ 326 
+ tb
+ ->
+ tbl_dbm
+  = 0;
+ 
+ 328 ()
+ 	`h™”š™
+ (
+ tb
+ );
+ 
+ 329  
+ tb
+ ;
+ 
+ 330 
+ 	}
+ }
+ 
+ 333 
+ 	$h’tä“
+ (
+ h’t
+ )
+ 
+ 334 
+ HENT
+  *
+ h’t
+ ;
+ 
+ 336 ià(!
+ h’t
+ )
+ 
+ 338 
+ 	`¡r_ä“
+ (
+ h’t
+ ->
+ h’t_v®
+ );
+ 
+ 339 
+ 	`Saãä“
+ (
+ h’t
+ ->
+ h’t_key
+ );
+ 
+ 340 
+ 	`Saãä“
+ (
+ h’t
+ );
+ 
+ 341 
+ 	}
+ }
+ 
+ 344 
+ 	$h’td–ayä“
+ (
+ h’t
+ )
+ 
+ 345 
+ HENT
+  *
+ h’t
+ ;
+ 
+ 347 ià(!
+ h’t
+ )
+ 
+ 349 
+ 	`¡r_2m܏l
+ (
+ h’t
+ ->
+ h’t_v®
+ );
+ 
+ 350 
+ 	`Saãä“
+ (
+ h’t
+ ->
+ h’t_key
+ );
+ 
+ 351 
+ 	`Saãä“
+ (
+ h’t
+ );
+ 
+ 352 
+ 	}
+ }
+ 
+ 355 
+ 	$hþ—r
+ (
+ tb
+ ,
+ dodbm
+ )
+ 
+ 356 
+ HASH
+  *
+ tb
+ ;
+ 
+ 357 
+ dodbm
+ ;
+ 
+ 359 ià(!
+ tb
+ )
+ 
+ 361 
+ 	`hä“’Œ›s
+ (
+ tb
+ ,
+ dodbm
+ );
+ 
+ 362 
+ tb
+ ->
+ tbl_fžl
+  = 0;
+ 
+ 363 #iâdeà
+ lšt
+ 
+ 
+ 364 ià(
+ tb
+ ->
+ tbl_¬¿y
+ )
+ 
+ 365 ()
+ 	`bz”o
+ ((*)
+ tb
+ ->
+ tbl_¬¿y
+ , (tb->
+ tbl_max
+  + 1è* (
+ HENT
+ *));
+ 
+ 367 
+ 	}
+ }
+ 
+ 370 
+ 	$hä“’Œ›s
+ (
+ tb
+ ,
+ dodbm
+ )
+ 
+ 371 
+ HASH
+  *
+ tb
+ ;
+ 
+ 372 
+ dodbm
+ ;
+ 
+ 374 
+ HENT
+  *
+ h’t
+ ;
+ 
+ 375 
+ HENT
+  *
+ oh’t
+  = 
+ 	`NuÎ
+ (HENT*);
+ 
+ 376 #ifdeà
+ SOME_DBM
+ 
+ 
+ 377 
+ d©um
+  
+ dkey
+ ;
+ 
+ 378 
+ d©um
+  
+ Ãxtdkey
+ ;
+ 
+ 379 #ifdeà
+ HAS_GDBM
+ 
+ 
+ 380 
+ GDBM_FILE
+  
+ Þd_dbm
+ ;
+ 
+ 382 #ifdeà
+ HAS_NDBM
+ 
+ 
+ 383 
+ DBM
+  *
+ Þd_dbm
+ ;
+ 
+ 385 
+ Þd_dbm
+ ;
+ 
+ 390 ià(!
+ tb
+  || !tb->
+ tbl_¬¿y
+ )
+ 
+ 392 #ifdeà
+ SOME_DBM
+ 
+ 
+ 393 ià((
+ Þd_dbm
+  = 
+ tb
+ ->
+ tbl_dbm
+ è&& 
+ dodbm
+ ) {
+ 
+ 394 #ifdeà
+ HAS_GDBM
+ 
+ 
+ 395 
+ dkey
+  = 
+ 	`gdbm_fœ¡key
+ (
+ tb
+ ->
+ tbl_dbm
+ ), dkey.
+ d±r
+ ) {
+ 
+ 397 
+ dkey
+  = 
+ 	`dbm_fœ¡key
+ (
+ tb
+ ->
+ tbl_dbm
+ ), dkey.
+ d±r
+ ) {
+ 
+ 400 #ifdeà
+ HAS_GDBM
+ 
+ 
+ 401 
+ Ãxtdkey
+  = 
+ 	`gdbm_Ãxtkey
+ (
+ tb
+ ->
+ tbl_dbm
+ , 
+ dkey
+ );
+ 
+ 403 #ifdeà
+ HAS_NDBM
+ 
+ 
+ 404 #ifdeà
+ _CX_UX
+ 
+ 
+ 405 
+ Ãxtdkey
+  = 
+ 	`dbm_Ãxtkey
+ (
+ tb
+ ->
+ tbl_dbm
+ , 
+ dkey
+ );
+ 
+ 407 
+ Ãxtdkey
+  = 
+ 	`dbm_Ãxtkey
+ (
+ tb
+ ->
+ tbl_dbm
+ );
+ 
+ 410 
+ Ãxtdkey
+  = 
+ 	`Ãxtkey
+ (
+ dkey
+ );
+ 
+ 413 #ifdeà
+ HAS_GDBM
+ 
+ 
+ 414 
+ 	`gdbm_d–‘e
+ (
+ tb
+ ->
+ tbl_dbm
+ ,
+ dkey
+ );
+ 
+ 416 
+ 	`dbm_d–‘e
+ (
+ tb
+ ->
+ tbl_dbm
+ ,
+ dkey
+ );
+ 
+ 418 
+ dkey
+  = 
+ Ãxtdkey
+ ;
+ 
+ 419 } 
+ dkey
+ .
+ d±r
+ );
+ 
+ 422 
+ tb
+ ->
+ tbl_dbm
+  = 0;
+ 
+ 424 ()
+ 	`h™”š™
+ (
+ tb
+ );
+ 
+ 425 
+ h’t
+  = 
+ 	`h™”Ãxt
+ (
+ tb
+ )) {
+ 
+ 426 
+ 	`h’tä“
+ (
+ oh’t
+ );
+ 
+ 427 
+ oh’t
+  = 
+ h’t
+ ;
+ 
+ 429 
+ 	`h’tä“
+ (
+ oh’t
+ );
+ 
+ 430 #ifdeà
+ SOME_DBM
+ 
+ 
+ 431 
+ tb
+ ->
+ tbl_dbm
+  = 
+ Þd_dbm
+ ;
+ 
+ 433 
+ 	}
+ }
+ 
+ 436 
+ 	$hä“
+ (
+ tb
+ ,
+ dodbm
+ )
+ 
+ 437 
+ HASH
+  *
+ tb
+ ;
+ 
+ 438 
+ dodbm
+ ;
+ 
+ 440 ià(!
+ tb
+ )
+ 
+ 442 
+ 	`hä“’Œ›s
+ (
+ tb
+ ,
+ dodbm
+ );
+ 
+ 443 
+ 	`Saãä“
+ (
+ tb
+ ->
+ tbl_¬¿y
+ );
+ 
+ 444 
+ 	`Saãä“
+ (
+ tb
+ );
+ 
+ 445 
+ 	}
+ }
+ 
+ 448 
+ 	$h™”š™
+ (
+ tb
+ )
+ 
+ 449 
+ HASH
+  *
+ tb
+ ;
+ 
+ 451 
+ tb
+ ->
+ tbl_r™”
+  = -1;
+ 
+ 452 
+ tb
+ ->
+ tbl_e™”
+  = 
+ 	`NuÎ
+ (
+ HENT
+ *);
+ 
+ 453  
+ tb
+ ->
+ tbl_fžl
+ ;
+ 
+ 454 
+ 	}
+ }
+ 
+ 456 
+ HENT
+  *
+ 
+ 457 
+ 	$h™”Ãxt
+ (
+ tb
+ )
+ 
+ 458 
+ HASH
+  *
+ tb
+ ;
+ 
+ 460 
+ HENT
+  *
+ ’Œy
+ ;
+ 
+ 461 #ifdeà
+ SOME_DBM
+ 
+ 
+ 462 
+ d©um
+  
+ key
+ ;
+ 
+ 465 
+ ’Œy
+  = 
+ tb
+ ->
+ tbl_e™”
+ ;
+ 
+ 466 #ifdeà
+ SOME_DBM
+ 
+ 
+ 467 ià(
+ tb
+ ->
+ tbl_dbm
+ ) {
+ 
+ 468 ià(
+ ’Œy
+ ) {
+ 
+ 469 #ifdeà
+ HAS_GDBM
+ 
+ 
+ 470 
+ key
+ .
+ d±r
+  = 
+ ’Œy
+ ->
+ h’t_key
+ ;
+ 
+ 471 
+ key
+ .
+ dsize
+  = 
+ ’Œy
+ ->
+ h’t_kËn
+ ;
+ 
+ 472 
+ key
+  = 
+ 	`gdbm_Ãxtkey
+ (
+ tb
+ ->
+ tbl_dbm
+ , key);
+ 
+ 474 #ifdeà
+ HAS_NDBM
+ 
+ 
+ 475 #ifdeà
+ _CX_UX
+ 
+ 
+ 476 
+ key
+ .
+ d±r
+  = 
+ ’Œy
+ ->
+ h’t_key
+ ;
+ 
+ 477 
+ key
+ .
+ dsize
+  = 
+ ’Œy
+ ->
+ h’t_kËn
+ ;
+ 
+ 478 
+ key
+  = 
+ 	`dbm_Ãxtkey
+ (
+ tb
+ ->
+ tbl_dbm
+ , key);
+ 
+ 480 
+ key
+  = 
+ 	`dbm_Ãxtkey
+ (
+ tb
+ ->
+ tbl_dbm
+ );
+ 
+ 483 
+ key
+ .
+ d±r
+  = 
+ ’Œy
+ ->
+ h’t_key
+ ;
+ 
+ 484 
+ key
+ .
+ dsize
+  = 
+ ’Œy
+ ->
+ h’t_kËn
+ ;
+ 
+ 485 
+ key
+  = 
+ 	`Ãxtkey
+ (key);
+ 
+ 490 
+ 	`Newz
+ (504,
+ ’Œy
+ , 1, 
+ HENT
+ );
+ 
+ 491 
+ tb
+ ->
+ tbl_e™”
+  = 
+ ’Œy
+ ;
+ 
+ 492 #ifdeà
+ HAS_GDBM
+ 
+ 
+ 493 
+ key
+  = 
+ 	`gdbm_fœ¡key
+ (
+ tb
+ ->
+ tbl_dbm
+ );
+ 
+ 495 
+ key
+  = 
+ 	`dbm_fœ¡key
+ (
+ tb
+ ->
+ tbl_dbm
+ );
+ 
+ 498 
+ ’Œy
+ ->
+ h’t_key
+  = 
+ key
+ .
+ d±r
+ ;
+ 
+ 499 
+ ’Œy
+ ->
+ h’t_kËn
+  = 
+ key
+ .
+ dsize
+ ;
+ 
+ 500 ià(!
+ key
+ .
+ d±r
+ ) {
+ 
+ 501 ià(
+ ’Œy
+ ->
+ h’t_v®
+ )
+ 
+ 502 
+ 	`¡r_ä“
+ (
+ ’Œy
+ ->
+ h’t_v®
+ );
+ 
+ 503 
+ 	`Saãä“
+ (
+ ’Œy
+ );
+ 
+ 504 
+ tb
+ ->
+ tbl_e™”
+  = 
+ 	`NuÎ
+ (
+ HENT
+ *);
+ 
+ 505  
+ 	`NuÎ
+ (
+ HENT
+ *);
+ 
+ 507  
+ ’Œy
+ ;
+ 
+ 510 ià(!
+ tb
+ ->
+ tbl_¬¿y
+ )
+ 
+ 511 
+ 	`Newz
+ (506,
+ tb
+ ->
+ tbl_¬¿y
+ ,b->
+ tbl_max
+  + 1, 
+ HENT
+ *);
+ 
+ 513 ià(
+ ’Œy
+ )
+ 
+ 514 
+ ’Œy
+  =ƒÁry->
+ h’t_Ãxt
+ ;
+ 
+ 515 ià(!
+ ’Œy
+ ) {
+ 
+ 516 
+ tb
+ ->
+ tbl_r™”
+ ++;
+ 
+ 517 ià(
+ tb
+ ->
+ tbl_r™”
+  >b->
+ tbl_max
+ ) {
+ 
+ 518 
+ tb
+ ->
+ tbl_r™”
+  = -1;
+ 
+ 521 
+ ’Œy
+  = 
+ tb
+ ->
+ tbl_¬¿y
+ [tb->
+ tbl_r™”
+ ];
+ 
+ 523 } !
+ ’Œy
+ );
+ 
+ 525 
+ tb
+ ->
+ tbl_e™”
+  = 
+ ’Œy
+ ;
+ 
+ 526  
+ ’Œy
+ ;
+ 
+ 527 
+ 	}
+ }
+ 
+ 530 
+ 	$h™”key
+ (
+ ’Œy
+ ,
+ »Ž’
+ )
+ 
+ 531 
+ HENT
+  *
+ ’Œy
+ ;
+ 
+ 532 *
+ »Ž’
+ ;
+ 
+ 534 *
+ »Ž’
+  = 
+ ’Œy
+ ->
+ h’t_kËn
+ ;
+ 
+ 535  
+ ’Œy
+ ->
+ h’t_key
+ ;
+ 
+ 536 
+ 	}
+ }
+ 
+ 538 
+ STR
+  *
+ 
+ 539 
+ 	$h™”v®
+ (
+ tb
+ ,
+ ’Œy
+ )
+ 
+ 540 
+ HASH
+  *
+ tb
+ ;
+ 
+ 541 
+ HENT
+  *
+ ’Œy
+ ;
+ 
+ 543 #ifdeà
+ SOME_DBM
+ 
+ 
+ 544 
+ d©um
+  
+ key
+ , 
+ cÚ‹Á
+ ;
+ 
+ 546 ià(
+ tb
+ ->
+ tbl_dbm
+ ) {
+ 
+ 547 
+ key
+ .
+ d±r
+  = 
+ ’Œy
+ ->
+ h’t_key
+ ;
+ 
+ 548 
+ key
+ .
+ dsize
+  = 
+ ’Œy
+ ->
+ h’t_kËn
+ ;
+ 
+ 549 #ifdeà
+ HAS_GDBM
+ 
+ 
+ 550 
+ cÚ‹Á
+  = 
+ 	`gdbm_ãtch
+ (
+ tb
+ ->
+ tbl_dbm
+ ,
+ key
+ );
+ 
+ 552 
+ cÚ‹Á
+  = 
+ 	`dbm_ãtch
+ (
+ tb
+ ->
+ tbl_dbm
+ ,
+ key
+ );
+ 
+ 554 ià(!
+ ’Œy
+ ->
+ h’t_v®
+ )
+ 
+ 555 
+ ’Œy
+ ->
+ h’t_v®
+  = 
+ 	`SŒ_Ãw
+ (62,0);
+ 
+ 556 
+ 	`¡r_n£t
+ (
+ ’Œy
+ ->
+ h’t_v®
+ ,
+ cÚ‹Á
+ .
+ d±r
+ ,cÚ‹Á.
+ dsize
+ );
+ 
+ 559  
+ ’Œy
+ ->
+ h’t_v®
+ ;
+ 
+ 560 
+ 	}
+ }
+ 
+ 562 #ifdeà
+ SOME_DBM
+ 
+ 
+ 564 #iâdeà
+ O_CREAT
+ 
+ 
+ 565 #ifdeà
+ I_FCNTL
+ 
+ 
+ 566 
+ 	~<fúŽ.h
+ >
+ 
+ 568 #ifdeà
+ I_SYS_FILE
+ 
+ 
+ 569 
+ 	~<sys/fže.h
+ >
+ 
+ 573 #iâdeà
+ O_RDONLY
+ 
+ 
+ 574 
+ 	#O_RDONLY
+  0
+ 
+ 	)
+ 
+ 576 #iâdeà
+ O_RDWR
+ 
+ 
+ 577 
+ 	#O_RDWR
+  2
+ 
+ 	)
+ 
+ 579 #iâdeà
+ O_CREAT
+ 
+ 
+ 580 
+ 	#O_CREAT
+  01000
+ 
+ 	)
+ 
+ 583 #ifdeà
+ HAS_ODBM
+ 
+ 
+ 584 
+ 	gdbm»fút
+  = 0;
+ 
+ 587 
+ boÞ
+ 
+ 
+ 588 
+ 	$hdbmݒ
+ (
+ tb
+ ,
+ âame
+ ,
+ mode
+ )
+ 
+ 589 
+ HASH
+  *
+ tb
+ ;
+ 
+ 590 *
+ âame
+ ;
+ 
+ 591 
+ mode
+ ;
+ 
+ 593 ià(!
+ tb
+ )
+ 
+ 594  
+ FALSE
+ ;
+ 
+ 595 #ifdeà
+ HAS_ODBM
+ 
+ 
+ 596 ià(
+ tb
+ ->
+ tbl_dbm
+ )
+ 
+ 597  
+ TRUE
+ ;
+ 
+ 599 ià(
+ tb
+ ->
+ tbl_dbm
+ ) {
+ 
+ 600 
+ 	`hdbmþo£
+ (
+ tb
+ );
+ 
+ 601 
+ tb
+ ->
+ tbl_dbm
+  = 0;
+ 
+ 603 
+ 	`hþ—r
+ (
+ tb
+ , 
+ FALSE
+ );
+ 
+ 604 #ifdeà
+ HAS_GDBM
+ 
+ 
+ 605 ià(
+ mode
+  >= 0)
+ 
+ 606 
+ tb
+ ->
+ tbl_dbm
+  = 
+ 	`gdbm_ݒ
+ (
+ âame
+ , 0, 
+ GDBM_WRCREAT
+ ,
+ mode
+ , (*è
+ NULL
+ );
+ 
+ 607 ià(!
+ tb
+ ->
+ tbl_dbm
+ )
+ 
+ 608 
+ tb
+ ->
+ tbl_dbm
+  = 
+ 	`gdbm_ݒ
+ (
+ âame
+ , 0, 
+ GDBM_WRITER
+ , 
+ mode
+ , (*è
+ NULL
+ );
+ 
+ 609 ià(!
+ tb
+ ->
+ tbl_dbm
+ )
+ 
+ 610 
+ tb
+ ->
+ tbl_dbm
+  = 
+ 	`gdbm_ݒ
+ (
+ âame
+ , 0, 
+ GDBM_READER
+ , 
+ mode
+ , (*è
+ NULL
+ );
+ 
+ 612 #ifdeà
+ HAS_NDBM
+ 
+ 
+ 613 ià(
+ mode
+  >= 0)
+ 
+ 614 
+ tb
+ ->
+ tbl_dbm
+  = 
+ 	`dbm_ݒ
+ (
+ âame
+ , 
+ O_RDWR
+ |
+ O_CREAT
+ , 
+ mode
+ );
+ 
+ 615 ià(!
+ tb
+ ->
+ tbl_dbm
+ )
+ 
+ 616 
+ tb
+ ->
+ tbl_dbm
+  = 
+ 	`dbm_ݒ
+ (
+ âame
+ , 
+ O_RDWR
+ , 
+ mode
+ );
+ 
+ 617 ià(!
+ tb
+ ->
+ tbl_dbm
+ )
+ 
+ 618 
+ tb
+ ->
+ tbl_dbm
+  = 
+ 	`dbm_ݒ
+ (
+ âame
+ , 
+ O_RDONLY
+ , 
+ mode
+ );
+ 
+ 620 ià(
+ dbm»fút
+ ++)
+ 
+ 621 
+ 	`çl
+ ("Old dbm can only open one database");
+ 
+ 622 
+ 	`¥rštf
+ (
+ buf
+ ,"%s.dœ",
+ âame
+ );
+ 
+ 623 ià(
+ 	`¡©
+ (
+ buf
+ , &
+ ¡©buf
+ ) < 0) {
+ 
+ 624 ià(
+ mode
+  < 0 || 
+ 	`þo£
+ (
+ 	`ü—t
+ (
+ buf
+ ,mode)) < 0)
+ 
+ 625  
+ FALSE
+ ;
+ 
+ 626 
+ 	`¥rštf
+ (
+ buf
+ ,"%s.·g",
+ âame
+ );
+ 
+ 627 ià(
+ 	`þo£
+ (
+ 	`ü—t
+ (
+ buf
+ ,
+ mode
+ )) < 0)
+ 
+ 628  
+ FALSE
+ ;
+ 
+ 630 
+ tb
+ ->
+ tbl_dbm
+  = 
+ 	`dbmš™
+ (
+ âame
+ ) >= 0;
+ 
+ 633 ià(!
+ tb
+ ->
+ tbl_¬¿y
+  &&b->
+ tbl_dbm
+  != 0)
+ 
+ 634 
+ 	`Newz
+ (507,
+ tb
+ ->
+ tbl_¬¿y
+ ,b->
+ tbl_max
+  + 1, 
+ HENT
+ *);
+ 
+ 635  
+ tb
+ ->
+ tbl_dbm
+  != 0;
+ 
+ 636 
+ 	}
+ }
+ 
+ 639 
+ 	$hdbmþo£
+ (
+ tb
+ )
+ 
+ 640 
+ HASH
+  *
+ tb
+ ;
+ 
+ 642 ià(
+ tb
+  &&b->
+ tbl_dbm
+ ) {
+ 
+ 643 #ifdeà
+ HAS_GDBM
+ 
+ 
+ 644 
+ 	`gdbm_þo£
+ (
+ tb
+ ->
+ tbl_dbm
+ );
+ 
+ 645 
+ tb
+ ->
+ tbl_dbm
+  = 0;
+ 
+ 647 #ifdeà
+ HAS_NDBM
+ 
+ 
+ 648 
+ 	`dbm_þo£
+ (
+ tb
+ ->
+ tbl_dbm
+ );
+ 
+ 649 
+ tb
+ ->
+ tbl_dbm
+  = 0;
+ 
+ 655 ià(
+ dow¬n
+ )
+ 
+ 656 
+ 	`w¬n
+ ("Close on unopened dbm file");
+ 
+ 657 
+ 	}
+ }
+ 
+ 659 
+ boÞ
+ 
+ 
+ 660 
+ 	$hdbm¡Üe
+ (
+ tb
+ ,
+ key
+ ,
+ kËn
+ ,
+ ¡r
+ )
+ 
+ 661 
+ HASH
+  *
+ tb
+ ;
+ 
+ 662 *
+ key
+ ;
+ 
+ 663 
+ kËn
+ ;
+ 
+ 664 
+ STR
+  *
+ ¡r
+ ;
+ 
+ 666 
+ d©um
+  
+ dkey
+ , 
+ dcÚ‹Á
+ ;
+ 
+ 667 
+ ”rÜ
+ ;
+ 
+ 669 ià(!
+ tb
+  || !tb->
+ tbl_dbm
+ )
+ 
+ 670  
+ FALSE
+ ;
+ 
+ 671 
+ dkey
+ .
+ d±r
+  = 
+ key
+ ;
+ 
+ 672 
+ dkey
+ .
+ dsize
+  = 
+ kËn
+ ;
+ 
+ 673 
+ dcÚ‹Á
+ .
+ d±r
+  = 
+ 	`¡r_g‘
+ (
+ ¡r
+ );
+ 
+ 674 
+ dcÚ‹Á
+ .
+ dsize
+  = 
+ ¡r
+ ->
+ ¡r_cur
+ ;
+ 
+ 675 #ifdeà
+ HAS_GDBM
+ 
+ 
+ 676 
+ ”rÜ
+  = 
+ 	`gdbm_¡Üe
+ (
+ tb
+ ->
+ tbl_dbm
+ , 
+ dkey
+ , 
+ dcÚ‹Á
+ , 
+ GDBM_REPLACE
+ );
+ 
+ 678 
+ ”rÜ
+  = 
+ 	`dbm_¡Üe
+ (
+ tb
+ ->
+ tbl_dbm
+ , 
+ dkey
+ , 
+ dcÚ‹Á
+ , 
+ DBM_REPLACE
+ );
+ 
+ 680 ià(
+ ”rÜ
+ ) {
+ 
+ 681 ià(
+ Ӽo
+  =ð
+ EPERM
+ )
+ 
+ 682 
+ 	`çl
+ ("No write…ermissiono dbm file");
+ 
+ 683 
+ 	`w¬n
+ ("dbm stܐ»tuºed %d,ƒ¼nØ%d, key \"%s\"",
+ ”rÜ
+ ,
+ Ӽo
+ ,
+ key
+ );
+ 
+ 684 #ifdeà
+ HAS_NDBM
+ 
+ 
+ 685 
+ 	`dbm_þ—»¼
+ (
+ tb
+ ->
+ tbl_dbm
+ );
+ 
+ 688  !
+ ”rÜ
+ ;
+ 
+ 689 
+ 	}
+ }
+ 
+ 	@hash.h
+ 
+ 14 
+ 	#FILLPCT
+  80
+ 
+ 	)
+ 
+ 15 
+ 	#DBM_CACHE_MAX
+  63
+ 
+ 	)
+ 
+ 18 
+ 	#COEFFSIZE
+  (16 * 8è
+ 
+ 	)
+ 
+ 20 
+ h’Œy
+  
+ 	tHENT
+ ;
+ 
+ 22 
+ 	sh’Œy
+  {
+ 
+ 23 
+ HENT
+  *
+ 	mh’t_Ãxt
+ ;
+ 
+ 24 *
+ 	mh’t_key
+ ;
+ 
+ 25 
+ STR
+  *
+ 	mh’t_v®
+ ;
+ 
+ 26 
+ 	mh’t_hash
+ ;
+ 
+ 27 
+ 	mh’t_kËn
+ ;
+ 
+ 30 
+ 	shtbl
+  {
+ 
+ 31 
+ HENT
+  **
+ 	mtbl_¬¿y
+ ;
+ 
+ 32 
+ 	mtbl_max
+ ;
+ 
+ 33 
+ 	mtbl_do¥l™
+ ;
+ 
+ 34 
+ 	mtbl_fžl
+ ;
+ 
+ 35 
+ 	mtbl_r™”
+ ;
+ 
+ 36 
+ HENT
+  *
+ 	mtbl_e™”
+ ;
+ 
+ 37 
+ SPAT
+  *
+ 	mtbl_¥©roÙ
+ ;
+ 
+ 38 *
+ 	mtbl_Çme
+ ;
+ 
+ 39 #ifdeà
+ SOME_DBM
+ 
+ 
+ 40 #ifdeà
+ HAS_GDBM
+ 
+ 
+ 41 
+ GDBM_FILE
+  
+ 	mtbl_dbm
+ ;
+ 
+ 43 #ifdeà
+ HAS_NDBM
+ 
+ 
+ 44 
+ DBM
+  *
+ 	mtbl_dbm
+ ;
+ 
+ 46 
+ 	mtbl_dbm
+ ;
+ 
+ 50 
+ 	mtbl_cÛffsize
+ ;
+ 
+ 53 
+ STR
+  *
+ hãtch
+ ();
+ 
+ 54 
+ boÞ
+  
+ h¡Üe
+ ();
+ 
+ 55 
+ STR
+  *
+ hd–‘e
+ ();
+ 
+ 56 
+ HASH
+  *
+ hÃw
+ ();
+ 
+ 57 
+ hþ—r
+ ();
+ 
+ 58 
+ h’tä“
+ ();
+ 
+ 59 
+ h™”š™
+ ();
+ 
+ 60 
+ HENT
+  *
+ h™”Ãxt
+ ();
+ 
+ 61 *
+ h™”key
+ ();
+ 
+ 62 
+ STR
+  *
+ h™”v®
+ ();
+ 
+ 63 
+ boÞ
+  
+ hdbmݒ
+ ();
+ 
+ 64 
+ hdbmþo£
+ ();
+ 
+ 65 
+ boÞ
+  
+ hdbm¡Üe
+ ();
+ 
+ 	@malloc.c
+ 
+ 12 #iâdeà
+ lšt
+ 
+ 
+ 13 
+ 	gsccsid
+ [] = "@(#)malloc.c 4.3 (Berkeley) 9/16/83";
+ 
+ 15 #ifdeà
+ DEBUGGING
+ 
+ 
+ 16 
+ 	#RCHECK
+ 
+ 
+ 	)
+ 
+ 30 
+ 	~"EXTERN.h
+ "
+ 
+ 31 
+ 	~"³¾.h
+ "
+ 
+ 33 
+ fšdbuck‘
+ (), 
+ mÜecÜe
+ ();
+ 
+ 37 
+ 	#u_ch¬
+  
+ 
+ 	)
+ 
+ 38 
+ 	#u_št
+  
+ 
+ 	)
+ 
+ 39 
+ 	#u_shÜt
+  
+ 
+ 	)
+ 
+ 50 
+ 	uov”h—d
+  {
+ 
+ 51 
+ ov”h—d
+  *
+ 	mov_Ãxt
+ ;
+ 
+ 52 #ià
+ ALIGNBYTES
+  > 4
+ 
+ 53 
+ 	m¡rut
+ ;
+ 
+ 56 
+ u_ch¬
+  
+ 	movu_magic
+ ;
+ 
+ 57 
+ u_ch¬
+  
+ 	movu_šdex
+ ;
+ 
+ 58 #ifdeà
+ RCHECK
+ 
+ 
+ 59 
+ u_shÜt
+  
+ 	movu_size
+ ;
+ 
+ 60 
+ u_št
+  
+ 	movu_rmagic
+ ;
+ 
+ 62 } 
+ 	movu
+ ;
+ 
+ 63 
+ 	#ov_magic
+  
+ ovu
+ .
+ ovu_magic
+ 
+ 
+ 	)
+ 
+ 64 
+ 	#ov_šdex
+  
+ ovu
+ .
+ ovu_šdex
+ 
+ 
+ 	)
+ 
+ 65 
+ 	#ov_size
+  
+ ovu
+ .
+ ovu_size
+ 
+ 
+ 	)
+ 
+ 66 
+ 	#ov_rmagic
+  
+ ovu
+ .
+ ovu_rmagic
+ 
+ 
+ 	)
+ 
+ 69 
+ 	#MAGIC
+  0xfà
+ 
+ 	)
+ 
+ 70 
+ 	#OLDMAGIC
+  0x7à
+ 
+ 	)
+ 
+ 71 
+ 	#RMAGIC
+  0x55555555
+ 
+ 	)
+ 
+ 72 #ifdeà
+ RCHECK
+ 
+ 
+ 73 
+ 	#RSLOP
+   (
+ u_št
+ )
+ 
+ 	)
+ 
+ 75 
+ 	#RSLOP
+  0
+ 
+ 	)
+ 
+ 83 
+ 	#NBUCKETS
+  30
+ 
+ 	)
+ 
+ 84 
+ ov”h—d
+  *
+ 	gÃxtf
+ [
+ NBUCKETS
+ ];
+ 
+ 85 
*
+ sbrk
+ ();
+ 
+ 87 #ifdeà
+ MSTATS
+ 
+ 
+ 92 
+ u_št
+  
+ 	gnm®loc
+ [
+ NBUCKETS
+ ];
+ 
+ 93 
+ 	~<¡dio.h
+ >
+ 
+ 96 #ifdeà
+ debug
+ 
+ 
+ 97 
+ 	#ASSERT
+ (
+ p
+ èià(!Õ)è
+ 	`bÙch
+ ("p"); 
+ 
+ 	)
+ 
+ 99 
+ 	$bÙch
+ (
+ s
+ )
+ 
+ 100 *
+ s
+ ;
+ 
+ 103 
+ 	`´štf
+ ("as£¹iÚ bÙched: %s\n", 
+ s
+ );
+ 
+ 104 
+ 	`abÜt
+ ();
+ 
+ 105 
+ 	}
+ }
+ 
+ 107 
+ 	#ASSERT
+ (
+ p
+ )
+ 
+ 	)
+ 
+ 110 
+ MALLOCPTRTYPE
+  *
+ 
+ 111 
+ 	$m®loc
+ (
+ nby‹s
+ )
+ 
+ 112 
+ nby‹s
+ ;
+ 
+ 114 
+ ov”h—d
+  *
+ p
+ ;
+ 
+ 115 
+ buck‘
+  = 0;
+ 
+ 116 
+ shiár
+ ;
+ 
+ 124 
+ nby‹s
+  +ð (
+ ov”h—d
+ è+ 
+ RSLOP
+ ;
+ 
+ 125 
+ nby‹s
+  = (nbytes + 3) &~ 3;
+ 
+ 126 
+ shiár
+  = (
+ nby‹s
+  - 1) >> 2;
+ 
+ 128 
+ shiár
+  >>= 1)
+ 
+ 129 
+ buck‘
+ ++;
+ 
+ 134 ià(
+ Ãxtf
+ [
+ buck‘
+ ] =ð
+ NULL
+ )
+ 
+ 135 
+ 	`mÜecÜe
+ (
+ buck‘
+ );
+ 
+ 136 ià((
+ p
+  = (
+ ov”h—d
+  *)
+ Ãxtf
+ [
+ buck‘
+ ]è=ð
+ NULL
+ )
+ 
+ 137  (
+ NULL
+ );
+ 
+ 139 #ifdeà
+ RCHECK
+ 
+ 
+ 140 ià(*((*)
+ p
+ è& ((
+ ov”h—d
+ ) - 1))
+ 
+ 141 #iâdeà
+ I286
+ 
+ 
+ 142 
+ 	`årštf
+ (
+ ¡d”r
+ ,"CÜru± m®loø±¸0x%x‡ˆ0x%x\n",*((*)
+ p
+ ),p);
+ 
+ 144 
+ 	`årštf
+ (
+ ¡d”r
+ ,"CÜru± m®loø±¸0x%lx‡ˆ0x%lx\n",*((*)
+ p
+ ),p);
+ 
+ 147 
+ Ãxtf
+ [
+ buck‘
+ ] = 
+ p
+ ->
+ ov_Ãxt
+ ;
+ 
+ 148 
+ p
+ ->
+ ov_magic
+  = 
+ MAGIC
+ ;
+ 
+ 149 
+ p
+ ->
+ ov_šdex
+ ð
+ buck‘
+ ;
+ 
+ 150 #ifdeà
+ MSTATS
+ 
+ 
+ 151 
+ nm®loc
+ [
+ buck‘
+ ]++;
+ 
+ 153 #ifdeà
+ RCHECK
+ 
+ 
+ 158 ià(
+ nby‹s
+  <= 0x10000)
+ 
+ 159 
+ p
+ ->
+ ov_size
+  = 
+ nby‹s
+  - 1;
+ 
+ 160 
+ p
+ ->
+ ov_rmagic
+  = 
+ RMAGIC
+ ;
+ 
+ 161 *((
+ u_št
+  *)((
+ ÿddr_t
+ )
+ p
+  + 
+ nby‹s
+  - 
+ RSLOP
+ )èð
+ RMAGIC
+ ;
+ 
+ 163  ((*)(
+ p
+  + 1));
+ 
+ 164 
+ 	}
+ }
+ 
+ 170 
+ 	$mÜecÜe
+ (
+ buck‘
+ )
+ 
+ 171 
+ buck‘
+ ;
+ 
+ 173 
+ ov”h—d
+  *
+ Ý
+ ;
+ 
+ 174 
+ ºu
+ ;
+ 
+ 175 
+ nblks
+ ;
+ 
+ 176 
+ siz
+ ;
+ 
+ 178 ià(
+ Ãxtf
+ [
+ buck‘
+ ])
+ 
+ 185 
+ Ý
+  = (
+ ov”h—d
+  *)
+ 	`sbrk
+ (0);
+ 
+ 186 #iâdeà
+ I286
+ 
+ 
+ 187 ià(()
+ Ý
+  & 0x3ff)
+ 
+ 188 ()
+ 	`sbrk
+ (1024 - (()
+ Ý
+  & 0x3ff));
+ 
+ 193 #iâdeà
+ I286
+ 
+ 
+ 195 
+ ºu
+  = (
+ buck‘
+  <= 8) ? 11 : bucket + 3;
+ 
+ 199 
+ ºu
+  = (
+ buck‘
+  <= 11) ? 14 : bucket + 3;
+ 
+ 201 
+ nblks
+  = 1 << (
+ ºu
+  - (
+ buck‘
+  + 3));
+ 
+ 202 ià(
+ ºu
+  < 
+ buck‘
+ )
+ 
+ 203 
+ ºu
+  = 
+ buck‘
+ ;
+ 
+ 204 
+ Ý
+  = (
+ ov”h—d
+  *)
+ 	`sbrk
+ (1 << 
+ ºu
+ );
+ 
+ 206 ià(()
+ Ý
+  == -1)
+ 
+ 212 #iâdeà
+ I286
+ 
+ 
+ 213 ià(()
+ Ý
+  & 7) {
+ 
+ 214 
+ Ý
+  = (
+ ov”h—d
+  *)((()op + 8) &~ 7);
+ 
+ 215 
+ nblks
+ --;
+ 
+ 224 
+ Ãxtf
+ [
+ buck‘
+ ] = 
+ Ý
+ ;
+ 
+ 225 
+ siz
+  = 1 << (
+ buck‘
+  + 3);
+ 
+ 226 --
+ nblks
+  > 0) {
+ 
+ 227 
+ Ý
+ ->
+ ov_Ãxt
+  = (
+ ov”h—d
+  *)((
+ ÿddr_t
+ )Ý + 
+ siz
+ );
+ 
+ 228 
+ Ý
+  = (
+ ov”h—d
+  *)((
+ ÿddr_t
+ )Ý + 
+ siz
+ );
+ 
+ 230 
+ 	}
+ }
+ 
+ 233 
+ 	$ä“
+ (
+ tý
+ )
+ 
+ 234 *
+ tý
+ ;
+ 
+ 236 * 
+ ý
+  = 
+ tý
+ ;
+ 
+ 237 
+ size
+ ;
+ 
+ 238 
+ ov”h—d
+  *
+ Ý
+ ;
+ 
+ 240 #ifdeà
+ IGNOREFREE
+ 
+ 
+ 243 ià(
+ ý
+  =ð
+ NULL
+ )
+ 
+ 245 
+ Ý
+  = (
+ ov”h—d
+  *)((
+ ÿddr_t
+ )
+ ý
+  -  (overhead));
+ 
+ 246 #ifdeà
+ debug
+ 
+ 
+ 247 
+ 	`ASSERT
+ (
+ Ý
+ ->
+ ov_magic
+  =ð
+ MAGIC
+ );
+ 
+ 249 ià(
+ Ý
+ ->
+ ov_magic
+  !ð
+ MAGIC
+ ) {
+ 
+ 250 
+ 	`w¬n
+ ("%s free() ignored",
+ 
+ 251 
+ Ý
+ ->
+ ov_magic
+  =ð
+ OLDMAGIC
+  ? "Duplicate" : "Bad");
+ 
+ 254 
+ Ý
+ ->
+ ov_magic
+  = 
+ OLDMAGIC
+ ;
+ 
+ 256 #ifdeà
+ RCHECK
+ 
+ 
+ 257 
+ 	`ASSERT
+ (
+ Ý
+ ->
+ ov_rmagic
+  =ð
+ RMAGIC
+ );
+ 
+ 258 ià(
+ Ý
+ ->
+ ov_šdex
+  <= 13)
+ 
+ 259 
+ 	`ASSERT
+ (*(
+ u_št
+  *)((
+ ÿddr_t
+ )
+ Ý
+  + op->
+ ov_size
+  + 1 - 
+ RSLOP
+ è=ð
+ RMAGIC
+ );
+ 
+ 261 
+ 	`ASSERT
+ (
+ Ý
+ ->
+ ov_šdex
+  < 
+ NBUCKETS
+ );
+ 
+ 262 
+ size
+  = 
+ Ý
+ ->
+ ov_šdex
+ ;
+ 
+ 263 
+ Ý
+ ->
+ ov_Ãxt
+  = 
+ Ãxtf
+ [
+ size
+ ];
+ 
+ 264 
+ Ãxtf
+ [
+ size
+ ] = 
+ Ý
+ ;
+ 
+ 265 #ifdeà
+ MSTATS
+ 
+ 
+ 266 
+ nm®loc
+ [
+ size
+ ]--;
+ 
+ 269 
+ 	}
+ }
+ 
+ 282 
+ 	g»®l_¤chËn
+  = 4;
+ 
+ 284 
+ MALLOCPTRTYPE
+  *
+ 
+ 285 
+ 	$»®loc
+ (
+ tý
+ , 
+ nby‹s
+ )
+ 
+ 286 *
+ tý
+ ;
+ 
+ 287 
+ nby‹s
+ ;
+ 
+ 289 * 
+ ý
+  = 
+ tý
+ ;
+ 
+ 290 
+ u_št
+  
+ Úb
+ ;
+ 
+ 291 
+ ov”h—d
+  *
+ Ý
+ ;
+ 
+ 292 *
+ »s
+ ;
+ 
+ 293 
+ i
+ ;
+ 
+ 294 
+ was_®loûd
+  = 0;
+ 
+ 296 ià(
+ ý
+  =ð
+ NULL
+ )
+ 
+ 297  (
+ 	`m®loc
+ (
+ nby‹s
+ ));
+ 
+ 298 
+ Ý
+  = (
+ ov”h—d
+  *)((
+ ÿddr_t
+ )
+ ý
+  -  (overhead));
+ 
+ 299 ià(
+ Ý
+ ->
+ ov_magic
+  =ð
+ MAGIC
+ ) {
+ 
+ 300 
+ was_®loûd
+ ++;
+ 
+ 301 
+ i
+  = 
+ Ý
+ ->
+ ov_šdex
+ ;
+ 
+ 314 ià((
+ i
+  = 
+ 	`fšdbuck‘
+ (
+ Ý
+ , 1)) < 0 &&
+ 
+ 315 (
+ i
+  = 
+ 	`fšdbuck‘
+ (
+ Ý
+ , 
+ »®l_¤chËn
+ )) < 0)
+ 
+ 316 
+ i
+  = 0;
+ 
+ 318 
+ Úb
+  = (1 << (
+ i
+  + 3)è-  (*
+ Ý
+ è- 
+ RSLOP
+ ;
+ 
+ 320 ià(
+ was_®loûd
+  &&
+ 
+ 321 
+ nby‹s
+  <ð
+ Úb
+  &&‚by‹ > (Úb >> 1è- (*
+ Ý
+ è- 
+ RSLOP
+ ) {
+ 
+ 322 #ifdeà
+ RCHECK
+ 
+ 
+ 327 ià(
+ Ý
+ ->
+ ov_šdex
+  <= 13) {
+ 
+ 334 
+ nby‹s
+  +ð (
+ ov”h—d
+ è+ 
+ RSLOP
+ ;
+ 
+ 335 
+ nby‹s
+  = (nbytes + 3) &~ 3;
+ 
+ 336 
+ Ý
+ ->
+ ov_size
+  = 
+ nby‹s
+  - 1;
+ 
+ 337 *((
+ u_št
+  *)((
+ ÿddr_t
+ )
+ Ý
+  + 
+ nby‹s
+  - 
+ RSLOP
+ )èð
+ RMAGIC
+ ;
+ 
+ 340 (
+ ý
+ );
+ 
+ 342 ià((
+ »s
+  = 
+ 	`m®loc
+ (
+ nby‹s
+ )è=ð
+ NULL
+ )
+ 
+ 343  (
+ NULL
+ );
+ 
+ 344 ià(
+ ý
+  !ð
+ »s
+ )
+ 
+ 345 ()
+ 	`bcÝy
+ (
+ ý
+ , 
+ »s
+ , ()((
+ nby‹s
+  < 
+ Úb
+ ) ?‚bytes : onb));
+ 
+ 346 ià(
+ was_®loûd
+ )
+ 
+ 347 
+ 	`ä“
+ (
+ ý
+ );
+ 
+ 348  (
+ »s
+ );
+ 
+ 349 
+ 	}
+ }
+ 
+ 357 
+ 	$fšdbuck‘
+ (
+ ä“p
+ , 
+ ¤chËn
+ )
+ 
+ 358 
+ ov”h—d
+  *
+ ä“p
+ ;
+ 
+ 359 
+ ¤chËn
+ ;
+ 
+ 361 
+ ov”h—d
+  *
+ p
+ ;
+ 
+ 362 
+ i
+ , 
+ j
+ ;
+ 
+ 364 
+ i
+  = 0; i < 
+ NBUCKETS
+ ; i++) {
+ 
+ 365 
+ j
+  = 0;
+ 
+ 366 
+ p
+  = 
+ Ãxtf
+ [
+ i
+ ];… && 
+ j
+  !ð
+ ¤chËn
+ ;… =…->
+ ov_Ãxt
+ ) {
+ 
+ 367 ià(
+ p
+  =ð
+ ä“p
+ )
+ 
+ 368  (
+ i
+ );
+ 
+ 369 
+ j
+ ++;
+ 
+ 373 
+ 	}
+ }
+ 
+ 375 #ifdeà
+ MSTATS
+ 
+ 
+ 383 
+ 	$m¡©s
+ (
+ s
+ )
+ 
+ 384 *
+ s
+ ;
+ 
+ 386 
+ i
+ , 
+ j
+ ;
+ 
+ 387 
+ ov”h—d
+  *
+ p
+ ;
+ 
+ 388 
+ tÙä“
+  = 0,
+ 
+ 389 
+ tÙu£d
+  = 0;
+ 
+ 391 
+ 	`årštf
+ (
+ ¡d”r
+ , "MemÜy‡ÎoÿtiÚ sti¡ic %s\nä“:\t", 
+ s
+ );
+ 
+ 392 
+ i
+  = 0; i < 
+ NBUCKETS
+ ; i++) {
+ 
+ 393 
+ j
+  = 0, 
+ p
+  = 
+ Ãxtf
+ [
+ i
+ ];…;… =…->
+ ov_Ãxt
+ , j++)
+ 
+ 395 
+ 	`årštf
+ (
+ ¡d”r
+ , " %d", 
+ j
+ );
+ 
+ 396 
+ tÙä“
+  +ð
+ j
+  * (1 << (
+ i
+  + 3));
+ 
+ 398 
+ 	`årštf
+ (
+ ¡d”r
+ , "\nused:\t");
+ 
+ 399 
+ i
+  = 0; i < 
+ NBUCKETS
+ ; i++) {
+ 
+ 400 
+ 	`årštf
+ (
+ ¡d”r
+ , " %d", 
+ nm®loc
+ [
+ i
+ ]);
+ 
+ 401 
+ tÙu£d
+  +ð
+ nm®loc
+ [
+ i
+ ] * (1 << (i + 3));
+ 
+ 403 
+ 	`årštf
+ (
+ ¡d”r
+ , "\n\tTotal in use: %d,otal free: %d\n",
+ 
+ 404 
+ tÙu£d
+ , 
+ tÙä“
+ );
+ 
+ 405 
+ 	}
+ }
+ 
+ 	@patch-malloc.c
+ 
+ 1 
*
+ m®loc
+ ();
+ 
+ 2 
*
+ bZa
+ (), *
+ bZr
+ (), *
+ bZc
+ ();
+ 
+ 3 

+ ä“
+ ();
+ 
+ 6 
+ 	$m®loc
+ (
+ n
+ )
+ 
+ 7 
+ n
+ ;
+ 
+ 9  
+ 	`bZa
+ (
+ n
+ );
+ 
+ 10 
+ 	}
+ }
+ 
+ 13 
+ 	$ÿÎoc
+ (
+ n
+ )
+ 
+ 14 
+ n
+ ;
+ 
+ 18 
+ 	}
+ }
+ 
+ 20 
+ 	$ä“
+ (
+ p
+ )
+ 
+ 21 *
+ p
+ ;
+ 
+ 23 
+ 	`bZf
+ (
+ p
+ );
+ 
+ 24 
+ 	}
+ }
+ 
+ 27 
+ 	$»®loc
+ (
+ ý
+ , 
+ nby‹s
+ )
+ 
+ 28 *
+ ý
+ ;
+ 
+ 29 
+ nby‹s
+ ;
+ 
+ 31  
+ 	`bZr
+ (
+ ý
+ , 
+ nby‹s
+ );
+ 
+ 32 
+ 	}
+ }
+ 
+ 	@patchlevel.h
+ 
+ 1 
+ 	#PATCHLEVEL
+  3
+ 
+ 	)
+ 
+ 	@perl.c
+ 
+ 1 
+ 	grcsid
+ [] = "$RCSfile: cscope.out,v $$Revision: 1.1.2.1 $$Date: 2004/03/01 23:59:12 $\nPatch†evel: ###\n";
+ 
+ 17 
+ 	~"EXTERN.h
+ "
+ 
+ 18 
+ 	~"³¾.h
+ "
+ 
+ 19 
+ 	~"³¾y.h
+ "
+ 
+ 20 #ifdeà
+ MSDOS
+ 
+ 
+ 21 
+ 	~"·tchËv.h
+ "
+ 
+ 23 
+ 	~"·tchËv–.h
+ "
+ 
+ 26 #ifdeà
+ IAMSUID
+ 
+ 
+ 27 #iâdeà
+ DOSUID
+ 
+ 
+ 28 
+ 	#DOSUID
+ 
+ 
+ 	)
+ 
+ 32 #ifdeà
+ SETUID_SCRIPTS_ARE_SECURE_NOW
+ 
+ 
+ 33 #ifdeà
+ DOSUID
+ 
+ 
+ 34 #undeà
+ DOSUID
+ 
+ 
+ 38 * 
+ mÜesw™ches
+ ();
+ 
+ 39 * 
+ 	gcddœ
+ ;
+ 
+ 40 
+ boÞ
+  
+ 	gmšus_c
+ ;
+ 
+ 41 
+ 	g·tchËv–
+ [6];
+ 
+ 42 *
+ 	gÄs
+  = "\n";
+ 
+ 43 
+ 	gÄsch¬
+  = '\n';
+ 
+ 44 
+ 	gĦ’
+  = 1;
+ 
+ 46 
+ 	$maš
+ (
+ ¬gc
+ ,
+ ¬gv
+ ,
+ ’v
+ )
+ 
+ 47 
+ ¬gc
+ ;
+ 
+ 48 **
+ ¬gv
+ ;
+ 
+ 49 **
+ ’v
+ ;
+ 
+ 51 
+ STR
+  *
+ ¡r
+ ;
+ 
+ 52 *
+ s
+ ;
+ 
+ 53 *
+ 	`šdex
+ (), *
+ 	`¡rýy
+ (), *
+ 	`g‘’v
+ ();
+ 
+ 54 
+ boÞ
+  
+ do£¬ch
+  = 
+ FALSE
+ ;
+ 
+ 55 #ifdeà
+ DOSUID
+ 
+ 
+ 56 *
+ v®id¬g
+  = "";
+ 
+ 59 #ifdeà
+ SETUID_SCRIPTS_ARE_SECURE_NOW
+ 
+ 
+ 60 #ifdeà
+ IAMSUID
+ 
+ 
+ 61 #undeà
+ IAMSUID
+ 
+ 
+ 62 
+ 	`çl
+ ("suidperl is‚o†onger‚eeded sincehe kernel can‚owƒxecute\n\
+ …erl scripts securely.\n");
+ 
+ 67 #ifdeà
+ BWGC
+ 
+ 
+ 69 
+ 	`gc_š™
+ ();
+ 
+ 70 
+ 	`gc_š™
+ ();
+ 
+ 74 
+ Üig¬gv
+  = 
+ ¬gv
+ ;
+ 
+ 75 
+ Üig¬gc
+  = 
+ ¬gc
+ ;
+ 
+ 76 
+ Üig’vœÚ
+  = 
+ ’vœÚ
+ ;
+ 
+ 77 
+ uid
+  = ()
+ 	`g‘uid
+ ();
+ 
+ 78 
+ euid
+  = ()
+ 	`g‘euid
+ ();
+ 
+ 79 
+ gid
+  = ()
+ 	`g‘gid
+ ();
+ 
+ 80 
+ egid
+  = ()
+ 	`g‘egid
+ ();
+ 
+ 81 
+ 	`¥rštf
+ (
+ ·tchËv–
+ ,"%3.3s%2.2d", 
+ 	`šdex
+ (
+ rcsid
+ ,'4'), 
+ PATCHLEVEL
+ );
+ 
+ 82 #ifdeà
+ MSDOS
+ 
+ 
+ 88 ()
+ 	`fþo£
+ (
+ ¡daux
+ );
+ 
+ 89 ()
+ 	`fþo£
+ (
+ ¡d´n
+ );
+ 
+ 91 ià(
+ do_undump
+ ) {
+ 
+ 92 
+ Üigfž’ame
+  = 
+ 	`§ve¡r
+ (
+ ¬gv
+ [0]);
+ 
+ 93 
+ do_undump
+  = 0;
+ 
+ 94 
+ loÝ_±r
+  = -1;
+ 
+ 95 
+ ju¡_do™
+ ;
+ 
+ 97 ()
+ 	`¥rštf
+ (
+ 	`šdex
+ (
+ rcsid
+ ,'#'), "%d\n", 
+ PATCHLEVEL
+ );
+ 
+ 98 
+ lše¡r
+  = 
+ 	`SŒ_Ãw
+ (65,80);
+ 
+ 99 
+ 	`¡r_n£t
+ (
+ lše¡r
+ ,"",0);
+ 
+ 100 
+ ¡r
+  = 
+ 	`¡r_make
+ ("",0);
+ 
+ 101 
+ cur¡ash
+  = 
+ def¡ash
+  = 
+ 	`hÃw
+ (0);
+ 
+ 102 
+ cur¡Çme
+  = 
+ 	`¡r_make
+ ("main",4);
+ 
+ 103 
+ 	`¡ab_xhash
+ (
+ 	`¡ab’t
+ ("_maš",
+ TRUE
+ )èð
+ def¡ash
+ ;
+ 
+ 104 
+ def¡ash
+ ->
+ tbl_Çme
+  = "main";
+ 
+ 105 
+ šc¡ab
+  = 
+ 	`hadd
+ (
+ 	`¯dd
+ (
+ 	`¡ab’t
+ ("INC",
+ TRUE
+ )));
+ 
+ 106 
+ šc¡ab
+ ->
+ ¡r_pok
+  |ð
+ SP_MULTI
+ ;
+ 
+ 107 
+ ¬gc
+ --,
+ ¬gv
+ ++;‡rgc > 0;‡rgc--,argv++) {
+ 
+ 108 ià(
+ ¬gv
+ [0][0] != '-' || !argv[0][1])
+ 
+ 110 #ifdeà
+ DOSUID
+ 
+ 
+ 111 ià(*
+ v®id¬g
+ )
+ 
+ 112 
+ v®id¬g
+  = " PHOOEY ";
+ 
+ 114 
+ v®id¬g
+  = 
+ ¬gv
+ [0];
+ 
+ 116 
+ s
+  = 
+ ¬gv
+ [0]+1;
+ 
+ 117 
+ »sw™ch
+ :
+ 
+ 118 *
+ s
+ ) {
+ 
+ 132 ià(
+ s
+  = 
+ 	`mÜesw™ches
+ (s))
+ 
+ 133 
+ »sw™ch
+ ;
+ 
+ 137 #ifdeà
+ TAINT
+ 
+ 
+ 138 ià(
+ euid
+  !ð
+ uid
+  || 
+ egid
+  !ð
+ gid
+ )
+ 
+ 139 
+ 	`çl
+ ("No -e‡llowed in setuid scripts");
+ 
+ 141 ià(!
+ e_å
+ ) {
+ 
+ 142 
+ e_tm²ame
+  = 
+ 	`§ve¡r
+ (
+ TMPPATH
+ );
+ 
+ 143 ()
+ 	`mk‹mp
+ (
+ e_tm²ame
+ );
+ 
+ 144 
+ e_å
+  = 
+ 	`fݒ
+ (
+ e_tm²ame
+ ,"w");
+ 
+ 145 ià(!
+ e_å
+ )
+ 
+ 146 
+ 	`çl
+ ("Cannot openemporary file");
+ 
+ 148 ià(
+ ¬gv
+ [1]) {
+ 
+ 149 
+ 	`åuts
+ (
+ ¬gv
+ [1],
+ e_å
+ );
+ 
+ 150 
+ ¬gc
+ --,
+ ¬gv
+ ++;
+ 
+ 152 ()
+ 	`putc
+ ('\n', 
+ e_å
+ );
+ 
+ 155 #ifdeà
+ TAINT
+ 
+ 
+ 156 ià(
+ euid
+  !ð
+ uid
+  || 
+ egid
+  !ð
+ gid
+ )
+ 
+ 157 
+ 	`çl
+ ("No -I‡llowed in setuid scripts");
+ 
+ 159 
+ 	`¡r_ÿt
+ (
+ ¡r
+ ,"-");
+ 
+ 160 
+ 	`¡r_ÿt
+ (
+ ¡r
+ ,
+ s
+ );
+ 
+ 161 
+ 	`¡r_ÿt
+ (
+ ¡r
+ ," ");
+ 
+ 162 ià(*++
+ s
+ ) {
+ 
+ 163 ()
+ 	`­ush
+ (
+ 	`¡ab_¬¿y
+ (
+ šc¡ab
+ ),
+ 	`¡r_make
+ (
+ s
+ ,0));
+ 
+ 165 ià(
+ ¬gv
+ [1]) {
+ 
+ 166 ()
+ 	`­ush
+ (
+ 	`¡ab_¬¿y
+ (
+ šc¡ab
+ ),
+ 	`¡r_make
+ (
+ ¬gv
+ [1],0));
+ 
+ 167 
+ 	`¡r_ÿt
+ (
+ ¡r
+ ,
+ ¬gv
+ [1]);
+ 
+ 168 
+ ¬gc
+ --,
+ ¬gv
+ ++;
+ 
+ 169 
+ 	`¡r_ÿt
+ (
+ ¡r
+ ," ");
+ 
+ 173 #ifdeà
+ TAINT
+ 
+ 
+ 174 ià(
+ euid
+  !ð
+ uid
+  || 
+ egid
+  !ð
+ gid
+ )
+ 
+ 175 
+ 	`çl
+ ("No -P‡llowed in setuid scripts");
+ 
+ 177 
+ ´•roûss
+  = 
+ TRUE
+ ;
+ 
+ 178 
+ s
+ ++;
+ 
+ 179 
+ »sw™ch
+ ;
+ 
+ 181 #ifdeà
+ TAINT
+ 
+ 
+ 182 ià(
+ euid
+  !ð
+ uid
+  || 
+ egid
+  !ð
+ gid
+ )
+ 
+ 183 
+ 	`çl
+ ("No -s‡llowed in setuid scripts");
+ 
+ 185 
+ dosw™ches
+  = 
+ TRUE
+ ;
+ 
+ 186 
+ s
+ ++;
+ 
+ 187 
+ »sw™ch
+ ;
+ 
+ 189 
+ do£¬ch
+  = 
+ TRUE
+ ;
+ 
+ 190 
+ s
+ ++;
+ 
+ 191 
+ »sw™ch
+ ;
+ 
+ 193 
+ dÛxŒaù
+  = 
+ TRUE
+ ;
+ 
+ 194 
+ s
+ ++;
+ 
+ 195 ià(*
+ s
+ )
+ 
+ 196 
+ cddœ
+  = 
+ 	`§ve¡r
+ (
+ s
+ );
+ 
+ 199 
+ ¬gc
+ --,
+ ¬gv
+ ++;
+ 
+ 200 
+ sw™ch_’d
+ ;
+ 
+ 204 
+ 	`çl
+ ("UÄecognized sw™ch: -%s",
+ s
+ );
+ 
+ 207 
+ sw™ch_’d
+ :
+ 
+ 208 ià(
+ e_å
+ ) {
+ 
+ 209 ()
+ 	`fþo£
+ (
+ e_å
+ );
+ 
+ 210 
+ ¬gc
+ ++,
+ ¬gv
+ --;
+ 
+ 211 
+ ¬gv
+ [0] = 
+ e_tm²ame
+ ;
+ 
+ 214 #ifdeà
+ MSDOS
+ 
+ 
+ 215 
+ 	#PERLLIB_SEP
+  ';'
+ 
+ 	)
+ 
+ 217 
+ 	#PERLLIB_SEP
+  ':'
+ 
+ 	)
+ 
+ 219 #iâdeà
+ TAINT
+ 
+ 
+ 221 * 
+ s2
+  = 
+ 	`g‘’v
+ ("PERLLIB");
+ 
+ 223 iàÐ
+ s2
+  ) {
+ 
+ 225  *
+ s2
+  ) {
+ 
+ 227  *
+ s2
+  =ð
+ PERLLIB_SEP
+  ) {
+ 
+ 230 
+ s2
+ ++;
+ 
+ 232 iàÐ(
+ s
+  = 
+ 	`šdex
+ (
+ s2
+ ,
+ PERLLIB_SEP
+ )è!ð
+ NuÎch
+  ) {
+ 
+ 233 ()
+ 	`­ush
+ (
+ 	`¡ab_¬¿y
+ (
+ šc¡ab
+ ),
+ 	`¡r_make
+ (
+ s2
+ ,()(
+ s
+ -s2)));
+ 
+ 234 
+ s2
+  = 
+ s
+ +1;
+ 
+ 236 ()
+ 	`­ush
+ (
+ 	`¡ab_¬¿y
+ (
+ šc¡ab
+ ),
+ 	`¡r_make
+ (
+ s2
+ ,0));
+ 
+ 244 #iâdeà
+ PRIVLIB
+ 
+ 
+ 245 
+ 	#PRIVLIB
+  "/u¤/loÿl/lib/³¾"
+ 
+ 	)
+ 
+ 247 ()
+ 	`­ush
+ (
+ 	`¡ab_¬¿y
+ (
+ šc¡ab
+ ),
+ 	`¡r_make
+ (
+ PRIVLIB
+ ,0));
+ 
+ 248 ()
+ 	`­ush
+ (
+ 	`¡ab_¬¿y
+ (
+ šc¡ab
+ ),
+ 	`¡r_make
+ (".",1));
+ 
+ 250 
+ 	`¡r_£t
+ (&
+ ¡r_no
+ ,
+ No
+ );
+ 
+ 251 
+ 	`¡r_£t
+ (&
+ ¡r_yes
+ ,
+ Yes
+ );
+ 
+ 255 ià(
+ ¬gv
+ [0] =ð
+ NuÎch
+ )
+ 
+ 256 #ifdeà
+ MSDOS
+ 
+ 
+ 258 iàÐ
+ 	`i§‰y
+ (
+ 	`fž’o
+ (
+ ¡dš
+ )) )
+ 
+ 259 
+ 	`mÜesw™ches
+ ("v");
+ 
+ 260 
+ ¬gv
+ [0] = "-";
+ 
+ 263 
+ ¬gv
+ [0] = "-";
+ 
+ 265 ià(
+ do£¬ch
+  && !
+ 	`šdex
+ (
+ ¬gv
+ [0], '/'è&& (
+ s
+  = 
+ 	`g‘’v
+ ("PATH"))) {
+ 
+ 266 *
+ xfound
+  = 
+ NuÎch
+ , *
+ xçžed
+  = Nullch;
+ 
+ 267 
+ Ën
+ ;
+ 
+ 269 
+ buãnd
+  = 
+ s
+  + 
+ 	`¡¾’
+ (s);
+ 
+ 270 *
+ s
+ ) {
+ 
+ 271 #iâdeà
+ MSDOS
+ 
+ 
+ 272 
+ s
+  = 
+ 	`ýytžl
+ (
+ tok’buf
+ ,s,
+ buãnd
+ ,':',&
+ Ën
+ );
+ 
+ 274 
+ Ën
+  = 0; *
+ s
+  && * !ð';'; 
+ tok’buf
+ [len++] = *s++);
+ 
+ 275 
+ tok’buf
+ [
+ Ën
+ ] = '\0';
+ 
+ 277 ià(*
+ s
+ )
+ 
+ 278 
+ s
+ ++;
+ 
+ 279 #iâdeà
+ MSDOS
+ 
+ 
+ 280 ià(
+ Ën
+  && 
+ tok’buf
+ [len-1] != '/')
+ 
+ 282 ià(
+ Ën
+  && 
+ tok’buf
+ [len-1] != '\\')
+ 
+ 284 ()
+ 	`¡rÿt
+ (
+ tok’buf
+ +
+ Ën
+ ,"/");
+ 
+ 285 ()
+ 	`¡rÿt
+ (
+ tok’buf
+ +
+ Ën
+ ,
+ ¬gv
+ [0]);
+ 
+ 286 #ifdeà
+ DEBUGGING
+ 
+ 
+ 287 ià(
+ debug
+  & 1)
+ 
+ 288 
+ 	`årštf
+ (
+ ¡d”r
+ ,"Lookšg fÜ %s\n",
+ tok’buf
+ );
+ 
+ 290 ià(
+ 	`¡©
+ (
+ tok’buf
+ ,&
+ ¡©buf
+ ) < 0)
+ 
+ 292 ià(
+ 	`S_ISREG
+ (
+ ¡©buf
+ .
+ ¡_mode
+ )
+ 
+ 293 && 
+ 	`ÿndo
+ (
+ S_IRUSR
+ ,
+ TRUE
+ ,&
+ ¡©buf
+ è&& cªdo(
+ S_IXUSR
+ ,TRUE,&statbuf)) {
+ 
+ 294 
+ xfound
+  = 
+ tok’buf
+ ;
+ 
+ 297 ià(!
+ xçžed
+ )
+ 
+ 298 
+ xçžed
+  = 
+ 	`§ve¡r
+ (
+ tok’buf
+ );
+ 
+ 300 ià(!
+ xfound
+ )
+ 
+ 301 
+ 	`çl
+ ("Cª'ˆexecu‹ %s", 
+ xçžed
+  ? xçžed : 
+ ¬gv
+ [0] );
+ 
+ 302 ià(
+ xçžed
+ )
+ 
+ 303 
+ 	`Saãä“
+ (
+ xçžed
+ );
+ 
+ 304 
+ ¬gv
+ [0] = 
+ 	`§ve¡r
+ (
+ xfound
+ );
+ 
+ 307 
+ fdpid
+  = 
+ 	`ªew
+ (
+ NuΡab
+ );
+ 
+ 308 
+ pid¡©us
+  = 
+ 	`hÃw
+ (
+ COEFFSIZE
+ );
+ 
+ 310 
+ Üigfž’ame
+  = 
+ 	`§ve¡r
+ (
+ ¬gv
+ [0]);
+ 
+ 311 
+ curcmd
+ ->
+ c_fže¡ab
+  = 
+ 	`f¡ab
+ (
+ Üigfž’ame
+ );
+ 
+ 312 ià(
+ 	`¡rEQ
+ (
+ Üigfž’ame
+ ,"-"))
+ 
+ 313 
+ ¬gv
+ [0] = "";
+ 
+ 314 ià(
+ ´•roûss
+ ) {
+ 
+ 315 
+ 	`¡r_ÿt
+ (
+ ¡r
+ ,"-I");
+ 
+ 316 
+ 	`¡r_ÿt
+ (
+ ¡r
+ ,
+ PRIVLIB
+ );
+ 
+ 317 ()
+ 	`¥rštf
+ (
+ buf
+ , "\
+ %ssed %s -e '/^[^#]/b' \
+ -e '/^#[ ]*include[ ]/b' \
+ -e '/^#[ ]*define[ ]/b' \
+ -e '/^#[ ]*if[ ]/b' \
+ -e '/^#[ ]*ifdef[ ]/b' \
+ -e '/^#[ ]*ifndef[ ]/b' \
+ -e '/^#[ ]*else/b' \
+ -e '/^#[ ]*endif/b' \
+ -e 's/^#.*//' \
+ %s | %s -C %s %s",
+ 
+ 328 #ifdeà
+ MSDOS
+ 
+ 
+ 333 (
+ dÛxŒaù
+  ? "-e '1,/^#/d\n'" : ""),
+ 
+ 334 
+ ¬gv
+ [0], 
+ CPPSTDIN
+ , 
+ 	`¡r_g‘
+ (
+ ¡r
+ ), 
+ CPPMINUS
+ );
+ 
+ 335 #ifdeà
+ DEBUGGING
+ 
+ 
+ 336 ià(
+ debug
+  & 64) {
+ 
+ 337 
+ 	`åuts
+ (
+ buf
+ ,
+ ¡d”r
+ );
+ 
+ 338 
+ 	`åuts
+ ("\n",
+ ¡d”r
+ );
+ 
+ 341 
+ dÛxŒaù
+  = 
+ FALSE
+ ;
+ 
+ 342 #ifdeà
+ IAMSUID
+ 
+ 
+ 343 ià(
+ euid
+  !ð
+ uid
+  && !euid)
+ 
+ 344 #ifdeà
+ HAS_SETEUID
+ 
+ 
+ 345 ()
+ 	`£‹uid
+ (
+ uid
+ );
+ 
+ 347 #ifdeà
+ HAS_SETREUID
+ 
+ 
+ 348 ()
+ 	`£Œeuid
+ (-1, 
+ uid
+ );
+ 
+ 350 
+ 	`£tuid
+ (
+ uid
+ );
+ 
+ 354 
+ rså
+  = 
+ 	`mypݒ
+ (
+ buf
+ ,"r");
+ 
+ 356 ià(!*
+ ¬gv
+ [0])
+ 
+ 357 
+ rså
+  = 
+ ¡dš
+ ;
+ 
+ 359 
+ rså
+  = 
+ 	`fݒ
+ (
+ ¬gv
+ [0],"r");
+ 
+ 360 ià(
+ rså
+  =ð
+ NuÎå
+ ) {
+ 
+ 361 #ifdeà
+ DOSUID
+ 
+ 
+ 362 #iâdeà
+ IAMSUID
+ 
+ 
+ 363 ià(
+ euid
+  && 
+ 	`¡©
+ (
+ 	`¡ab_v®
+ (
+ curcmd
+ ->
+ c_fže¡ab
+ )->
+ ¡r_±r
+ ,&
+ ¡©buf
+ ) >= 0 &&
+ 
+ 364 
+ ¡©buf
+ .
+ ¡_mode
+  & (
+ S_ISUID
+ |
+ S_ISGID
+ )) {
+ 
+ 365 ()
+ 	`¥rštf
+ (
+ buf
+ , "%s/¥”l%s", 
+ BIN
+ , 
+ ·tchËv–
+ );
+ 
+ 366 
+ 	`execv
+ (
+ buf
+ , 
+ Üig¬gv
+ );
+ 
+ 367 
+ 	`çl
+ ("Can't do setuid\n");
+ 
+ 371 
+ 	`çl
+ ("Can't open…erl script \"%s\": %s\n",
+ 
+ 372 
+ 	`¡ab_v®
+ (
+ curcmd
+ ->
+ c_fže¡ab
+ )->
+ ¡r_±r
+ , 
+ 	`¡»¼Ü
+ (
+ Ӽo
+ ));
+ 
+ 374 
+ 	`¡r_ä“
+ (
+ ¡r
+ );
+ 
+ 375 
+ ¡r
+  = 
+ NuΡr
+ ;
+ 
+ 404 #ifdeà
+ DOSUID
+ 
+ 
+ 405 ià(
+ 	`f¡©
+ (
+ 	`fž’o
+ (
+ rså
+ ),&
+ ¡©buf
+ ) < 0)
+ 
+ 406 
+ 	`çl
+ ("Cª'ˆ¡© süˆ\"%s\"",
+ Üigfž’ame
+ );
+ 
+ 407 ià(
+ ¡©buf
+ .
+ ¡_mode
+  & (
+ S_ISUID
+ |
+ S_ISGID
+ )) {
+ 
+ 408 
+ Ën
+ ;
+ 
+ 410 #ifdeà
+ IAMSUID
+ 
+ 
+ 411 #iâdeà
+ HAS_SETREUID
+ 
+ 
+ 420 ià(
+ 	`acûss
+ (
+ 	`¡ab_v®
+ (
+ curcmd
+ ->
+ c_fže¡ab
+ )->
+ ¡r_±r
+ ,1))
+ 
+ 421 
+ 	`çl
+ ("Permission denied");
+ 
+ 429 
+ ¡©
+  
+ tmp¡©buf
+ ;
+ 
+ 431 ià(
+ 	`£Œeuid
+ (
+ euid
+ ,
+ uid
+ è< 0 || 
+ 	`g‘uid
+ (è!ðeuid || 
+ 	`g‘euid
+ () != uid)
+ 
+ 432 
+ 	`çl
+ ("Can't swap uid‡ndƒuid");
+ 
+ 433 ià(
+ 	`¡©
+ (
+ 	`¡ab_v®
+ (
+ curcmd
+ ->
+ c_fže¡ab
+ )->
+ ¡r_±r
+ ,&
+ tmp¡©buf
+ ) < 0)
+ 
+ 434 
+ 	`çl
+ ("Permission denied");
+ 
+ 435 ià(
+ tmp¡©buf
+ .
+ ¡_dev
+  !ð
+ ¡©buf
+ .st_dev ||
+ 
+ 436 
+ tmp¡©buf
+ .
+ ¡_šo
+  !ð
+ ¡©buf
+ .st_ino) {
+ 
+ 437 ()
+ 	`fþo£
+ (
+ rså
+ );
+ 
+ 438 ià(
+ rså
+  = 
+ 	`mypݒ
+ ("/bin/mail„oot","w")) {
+ 
+ 439 
+ 	`årštf
+ (
+ rså
+ ,
+ 
+ 442 
+ uid
+ ,
+ tmp¡©buf
+ .
+ ¡_dev
+ ,mp¡©buf.
+ ¡_šo
+ ,
+ 
+ 443 
+ ¡©buf
+ .
+ ¡_dev
+ , stbuf.
+ ¡_šo
+ ,
+ 
+ 444 
+ 	`¡ab_v®
+ (
+ curcmd
+ ->
+ c_fže¡ab
+ )->
+ ¡r_±r
+ ,
+ 
+ 445 
+ ¡©buf
+ .
+ ¡_uid
+ , stbuf.
+ ¡_gid
+ );
+ 
+ 446 ()
+ 	`mypþo£
+ (
+ rså
+ );
+ 
+ 448 
+ 	`çl
+ ("Permission denied\n");
+ 
+ 450 ià(
+ 	`£Œeuid
+ (
+ uid
+ ,
+ euid
+ è< 0 || 
+ 	`g‘uid
+ (è!ðuid || 
+ 	`g‘euid
+ () !=ƒuid)
+ 
+ 451 
+ 	`çl
+ ("Can't„eswap uid‡ndƒuid");
+ 
+ 452 ià(!
+ 	`ÿndo
+ (
+ S_IXUSR
+ ,
+ FALSE
+ ,&
+ ¡©buf
+ ))
+ 
+ 453 
+ 	`çl
+ ("Permission denied\n");
+ 
+ 458 ià(!
+ 	`S_ISREG
+ (
+ ¡©buf
+ .
+ ¡_mode
+ ))
+ 
+ 459 
+ 	`çl
+ ("Permission denied");
+ 
+ 460 ià(
+ ¡©buf
+ .
+ ¡_mode
+  & 
+ S_IWOTH
+ )
+ 
+ 461 
+ 	`çl
+ ("Setuid/gid script is writable by world");
+ 
+ 462 
+ dosw™ches
+  = 
+ FALSE
+ ;
+ 
+ 463 
+ curcmd
+ ->
+ c_lše
+ ++;
+ 
+ 464 ià(
+ 	`fg‘s
+ (
+ tok’buf
+ ,ok’buf, 
+ rså
+ è=ð
+ NuÎch
+  ||
+ 
+ 465 
+ 	`¡ºNE
+ (
+ tok’buf
+ ,"#!",2) )
+ 
+ 466 
+ 	`çl
+ ("No #!†ine");
+ 
+ 467 
+ s
+  = 
+ tok’buf
+ +2;
+ 
+ 468 ià(*
+ s
+  == ' ') s++;
+ 
+ 469 !
+ 	`is¥aû
+ (*
+ s
+ )) s++;
+ 
+ 470 ià(
+ 	`¡ºNE
+ (
+ s
+ -4,"perl",4) && strnNE(s-9,"perl",4))
+ 
+ 471 
+ 	`çl
+ ("Not‡…erl script");
+ 
+ 472 *
+ s
+  == ' ' || *s == '\t') s++;
+ 
+ 478 
+ Ën
+  = 
+ 	`¡¾’
+ (
+ v®id¬g
+ );
+ 
+ 479 ià(
+ 	`¡rEQ
+ (
+ v®id¬g
+ ," PHOOEY ") ||
+ 
+ 480 
+ 	`¡ºNE
+ (
+ s
+ ,
+ v®id¬g
+ ,
+ Ën
+ è|| !
+ 	`is¥aû
+ (s[len]))
+ 
+ 481 
+ 	`çl
+ ("Args must match #!†ine");
+ 
+ 483 #iâdeà
+ IAMSUID
+ 
+ 
+ 484 ià(
+ euid
+  !ð
+ uid
+  && (
+ ¡©buf
+ .
+ ¡_mode
+  & 
+ S_ISUID
+ ) &&
+ 
+ 485 
+ euid
+  =ð
+ ¡©buf
+ .
+ ¡_uid
+ )
+ 
+ 486 ià(!
+ do_undump
+ )
+ 
+ 487 
+ 	`çl
+ ("YOU HAVEN'T DISABLED SET-ID SCRIPTS IN THE KERNEL YET!\n\
+  YOUR KERNEL, PUT A C WRAPPER AROUND THIS SCRIPT, OR USE -u AND UNDUMP!\n");
+ 
+ 491 ià(
+ euid
+ ) {
+ 
+ 492 ()
+ 	`fþo£
+ (
+ rså
+ );
+ 
+ 493 #iâdeà
+ IAMSUID
+ 
+ 
+ 494 ()
+ 	`¥rštf
+ (
+ buf
+ , "%s/¥”l%s", 
+ BIN
+ , 
+ ·tchËv–
+ );
+ 
+ 495 
+ 	`execv
+ (
+ buf
+ , 
+ Üig¬gv
+ );
+ 
+ 497 
+ 	`çl
+ ("Can't do setuid\n");
+ 
+ 500 ià(
+ ¡©buf
+ .
+ ¡_mode
+  & 
+ S_ISGID
+  && stbuf.
+ ¡_gid
+  !ð
+ egid
+ )
+ 
+ 501 #ifdeà
+ HAS_SETEGID
+ 
+ 
+ 502 ()
+ 	`£‹gid
+ (
+ ¡©buf
+ .
+ ¡_gid
+ );
+ 
+ 504 #ifdeà
+ HAS_SETREGID
+ 
+ 
+ 505 ()
+ 	`£Œegid
+ ((
+ GIDTYPE
+ )-1,
+ ¡©buf
+ .
+ ¡_gid
+ );
+ 
+ 507 
+ 	`£tgid
+ (
+ ¡©buf
+ .
+ ¡_gid
+ );
+ 
+ 510 ià(
+ ¡©buf
+ .
+ ¡_mode
+  & 
+ S_ISUID
+ ) {
+ 
+ 511 ià(
+ ¡©buf
+ .
+ ¡_uid
+  !ð
+ euid
+ )
+ 
+ 512 #ifdeà
+ HAS_SETEUID
+ 
+ 
+ 513 ()
+ 	`£‹uid
+ (
+ ¡©buf
+ .
+ ¡_uid
+ );
+ 
+ 515 #ifdeà
+ HAS_SETREUID
+ 
+ 
+ 516 ()
+ 	`£Œeuid
+ ((
+ UIDTYPE
+ )-1,
+ ¡©buf
+ .
+ ¡_uid
+ );
+ 
+ 518 
+ 	`£tuid
+ (
+ ¡©buf
+ .
+ ¡_uid
+ );
+ 
+ 522 ià(
+ uid
+ )
+ 
+ 523 #ifdeà
+ HAS_SETEUID
+ 
+ 
+ 524 ()
+ 	`£‹uid
+ ((
+ UIDTYPE
+ )
+ uid
+ );
+ 
+ 526 #ifdeà
+ HAS_SETREUID
+ 
+ 
+ 527 ()
+ 	`£Œeuid
+ ((
+ UIDTYPE
+ )-1,(UIDTYPE)
+ uid
+ );
+ 
+ 529 
+ 	`£tuid
+ ((
+ UIDTYPE
+ )
+ uid
+ );
+ 
+ 532 
+ uid
+  = ()
+ 	`g‘uid
+ ();
+ 
+ 533 
+ euid
+  = ()
+ 	`g‘euid
+ ();
+ 
+ 534 
+ gid
+  = ()
+ 	`g‘gid
+ ();
+ 
+ 535 
+ egid
+  = ()
+ 	`g‘egid
+ ();
+ 
+ 536 ià(!
+ 	`ÿndo
+ (
+ S_IXUSR
+ ,
+ TRUE
+ ,&
+ ¡©buf
+ ))
+ 
+ 537 
+ 	`çl
+ ("Permission denied\n");
+ 
+ 539 #ifdeà
+ IAMSUID
+ 
+ 
+ 540 ià(
+ ´•roûss
+ )
+ 
+ 541 
+ 	`çl
+ ("-P‚ot‡llowed for setuid/setgid script\n");
+ 
+ 543 
+ 	`çl
+ ("Script is‚ot setuid/setgid in suidperl\n");
+ 
+ 545 #iâdeà
+ TAINT
+ 
+ 
+ 547 ià(
+ euid
+  !ð
+ uid
+  || 
+ egid
+  !ð
+ gid
+ ) {
+ 
+ 548 ()
+ 	`fþo£
+ (
+ rså
+ );
+ 
+ 549 ()
+ 	`¥rštf
+ (
+ buf
+ , "%s/”l%s", 
+ BIN
+ , 
+ ·tchËv–
+ );
+ 
+ 550 
+ 	`execv
+ (
+ buf
+ , 
+ Üig¬gv
+ );
+ 
+ 551 
+ 	`çl
+ ("Can't„un setuid script withaint checks");
+ 
+ 556 #iâdeà
+ TAINT
+ 
+ 
+ 557 ià(
+ euid
+  !ð
+ uid
+  || 
+ egid
+  !ð
+ gid
+ ) {
+ 
+ 558 #iâdeà
+ SETUID_SCRIPTS_ARE_SECURE_NOW
+ 
+ 
+ 559 
+ 	`f¡©
+ (
+ 	`fž’o
+ (
+ rså
+ ),&
+ ¡©buf
+ );
+ 
+ 560 ià((
+ euid
+  !ð
+ uid
+  &&ƒuid =ð
+ ¡©buf
+ .
+ ¡_uid
+  && stbuf.
+ ¡_mode
+  & 
+ S_ISUID
+ )
+ 
+ 562 (
+ egid
+  !ð
+ gid
+  &&ƒgid =ð
+ ¡©buf
+ .
+ ¡_gid
+  && stbuf.
+ ¡_mode
+  & 
+ S_ISGID
+ )
+ 
+ 564 ià(!
+ do_undump
+ )
+ 
+ 565 
+ 	`çl
+ ("YOU HAVEN'T DISABLED SET-ID SCRIPTS IN THE KERNEL YET!\n\
+  YOUR KERNEL, PUT A C WRAPPER AROUND THIS SCRIPT, OR USE -u AND UNDUMP!\n");
+ 
+ 569 ()
+ 	`fþo£
+ (
+ rså
+ );
+ 
+ 570 ()
+ 	`¥rštf
+ (
+ buf
+ , "%s/”l%s", 
+ BIN
+ , 
+ ·tchËv–
+ );
+ 
+ 571 
+ 	`execv
+ (
+ buf
+ , 
+ Üig¬gv
+ );
+ 
+ 572 
+ 	`çl
+ ("Can't„un setuid script withaint checks");
+ 
+ 577 #ià!
+ 	`defšed
+ (
+ IAMSUID
+ è&& !defšed(
+ TAINT
+ )
+ 
+ 581 
+ dÛxŒaù
+ ) {
+ 
+ 582 ià((
+ s
+  = 
+ 	`¡r_g‘s
+ (
+ lše¡r
+ , 
+ rså
+ , 0)è=ð
+ NuÎch
+ )
+ 
+ 583 
+ 	`çl
+ ("No Perl script found in input\n");
+ 
+ 584 ià(*
+ s
+  =ð'#' && s[1] =ð'!' && 
+ 	`š¡r
+ (s,"perl")) {
+ 
+ 585 
+ 	`ung‘c
+ ('\n',
+ rså
+ );
+ 
+ 586 
+ dÛxŒaù
+  = 
+ FALSE
+ ;
+ 
+ 587 ià(
+ s
+  = 
+ 	`š¡r
+ (s,"perl -")) {
+ 
+ 588 
+ s
+  += 6;
+ 
+ 589 
+ s
+  = 
+ 	`mÜesw™ches
+ (s)) ;
+ 
+ 591 ià(
+ cddœ
+  && 
+ 	`chdœ
+ (cddir) < 0)
+ 
+ 592 
+ 	`çl
+ ("Cª'ˆchdœØ%s",
+ cddœ
+ );
+ 
+ 597 
+ def¡ab
+  = 
+ 	`¡ab’t
+ ("_",
+ TRUE
+ );
+ 
+ 599 ià(
+ ³¾db
+ ) {
+ 
+ 600 
+ deb¡ash
+  = 
+ 	`hÃw
+ (0);
+ 
+ 601 
+ 	`¡ab_xhash
+ (
+ 	`¡ab’t
+ ("_DB",
+ TRUE
+ )èð
+ deb¡ash
+ ;
+ 
+ 602 
+ cur¡ash
+  = 
+ deb¡ash
+ ;
+ 
+ 603 
+ db¬gs
+  = 
+ 	`¡ab_x¬¿y
+ (
+ 	`¯dd
+ ((
+ tmp¡ab
+  = 
+ 	`¡ab’t
+ ("¬gs",
+ TRUE
+ ))));
+ 
+ 604 
+ tmp¡ab
+ ->
+ ¡r_pok
+  |ð
+ SP_MULTI
+ ;
+ 
+ 605 
+ db¬gs
+ ->
+ ¬y_æags
+  = 0;
+ 
+ 606 
+ subÇme
+  = 
+ 	`¡r_make
+ ("main",4);
+ 
+ 607 
+ DB¡ab
+  = 
+ 	`¡ab’t
+ ("DB",
+ TRUE
+ );
+ 
+ 608 
+ DB¡ab
+ ->
+ ¡r_pok
+  |ð
+ SP_MULTI
+ ;
+ 
+ 609 
+ DBlše
+  = 
+ 	`¡ab’t
+ ("dblše",
+ TRUE
+ );
+ 
+ 610 
+ DBlše
+ ->
+ ¡r_pok
+  |ð
+ SP_MULTI
+ ;
+ 
+ 611 
+ DBsub
+  = 
+ 	`hadd
+ (
+ tmp¡ab
+  = 
+ 	`¡ab’t
+ ("sub",
+ TRUE
+ ));
+ 
+ 612 
+ tmp¡ab
+ ->
+ ¡r_pok
+  |ð
+ SP_MULTI
+ ;
+ 
+ 613 
+ DBsšgË
+  = 
+ 	`¡ab_v®
+ ((
+ tmp¡ab
+  = 
+ 	`¡ab’t
+ ("sšgË",
+ TRUE
+ )));
+ 
+ 614 
+ tmp¡ab
+ ->
+ ¡r_pok
+  |ð
+ SP_MULTI
+ ;
+ 
+ 615 
+ DBŒaû
+  = 
+ 	`¡ab_v®
+ ((
+ tmp¡ab
+  = 
+ 	`¡ab’t
+ ("Œaû",
+ TRUE
+ )));
+ 
+ 616 
+ tmp¡ab
+ ->
+ ¡r_pok
+  |ð
+ SP_MULTI
+ ;
+ 
+ 617 
+ DBsigÇl
+  = 
+ 	`¡ab_v®
+ ((
+ tmp¡ab
+  = 
+ 	`¡ab’t
+ ("sigÇl",
+ TRUE
+ )));
+ 
+ 618 
+ tmp¡ab
+ ->
+ ¡r_pok
+  |ð
+ SP_MULTI
+ ;
+ 
+ 619 
+ cur¡ash
+  = 
+ def¡ash
+ ;
+ 
+ 624 
+ buãnd
+  = 
+ buåŒ
+  = 
+ 	`¡r_g‘
+ (
+ lše¡r
+ );
+ 
+ 626 
+ §ve¡ack
+  = 
+ 	`ªew
+ (
+ NuΡab
+ );
+ 
+ 627 
+ ¡ack
+  = 
+ 	`ªew
+ (
+ NuΡab
+ );
+ 
+ 628 
+ ¡ack
+ ->
+ ¬y_æags
+  = 0;
+ 
+ 629 
+ 	`afžl
+ (
+ ¡ack
+ ,63);‡fill(stack,-1);
+ 
+ 630 
+ 	`afžl
+ (
+ §ve¡ack
+ ,63);‡fill(savestack,-1);
+ 
+ 634 
+ ”rÜ_couÁ
+  = 0;
+ 
+ 635 ià(
+ 	`yy·r£
+ (è|| 
+ ”rÜ_couÁ
+ ) {
+ 
+ 636 ià(
+ mšus_c
+ )
+ 
+ 637 
+ 	`çl
+ ("% had compž©iÚƒ¼Üs.\n", 
+ Üigfž’ame
+ );
+ 
+ 639 
+ 	`çl
+ ("Execution of %s‡borted dueo compilationƒrrors.\n",
+ 
+ 640 
+ Üigfž’ame
+ );
+ 
+ 644 
+ 	`New
+ (50,
+ loÝ_¡ack
+ ,128,
+ loÝ
+ );
+ 
+ 645 #ifdeà
+ DEBUGGING
+ 
+ 
+ 646 ià(
+ debug
+ ) {
+ 
+ 647 
+ 	`New
+ (51,
+ debÇme
+ ,128,);
+ 
+ 648 
+ 	`New
+ (52,
+ debd–im
+ ,128,);
+ 
+ 651 
+ cur¡ash
+  = 
+ def¡ash
+ ;
+ 
+ 653 
+ ´•roûss
+  = 
+ FALSE
+ ;
+ 
+ 654 ià(
+ e_å
+ ) {
+ 
+ 655 
+ e_å
+  = 
+ NuÎå
+ ;
+ 
+ 656 ()
+ 	`UNLINK
+ (
+ e_tm²ame
+ );
+ 
+ 661 ià(
+ sig¡ab
+  = 
+ 	`¡ab’t
+ ("SIG",
+ ®l¡abs
+ )) {
+ 
+ 662 
+ sig¡ab
+ ->
+ ¡r_pok
+  |ð
+ SP_MULTI
+ ;
+ 
+ 663 ()
+ 	`hadd
+ (
+ sig¡ab
+ );
+ 
+ 666 
+ 	`magiÿlize
+ ("!#?^~=-%.+&*()<>,\\/[|`':\004\t\024\027");
+ 
+ 667 
+ 	`u£rš™
+ ();
+ 
+ 669 
+ am³r¡ab
+  = 
+ 	`¡ab’t
+ ("&",
+ ®l¡abs
+ );
+ 
+ 670 
+ Ëá¡ab
+  = 
+ 	`¡ab’t
+ ("`",
+ ®l¡abs
+ );
+ 
+ 671 
+ right¡ab
+  = 
+ 	`¡ab’t
+ ("'",
+ ®l¡abs
+ );
+ 
+ 672 
+ §wam³r§nd
+  = (
+ am³r¡ab
+  || 
+ Ëá¡ab
+  || 
+ right¡ab
+ );
+ 
+ 673 ià(
+ tmp¡ab
+  = 
+ 	`¡ab’t
+ (":",
+ ®l¡abs
+ ))
+ 
+ 674 
+ 	`¡r_£t
+ (
+ 	`STAB_STR
+ (
+ tmp¡ab
+ ),
+ chݣt
+ );
+ 
+ 675 ià(
+ tmp¡ab
+  = 
+ 	`¡ab’t
+ ("\024",
+ ®l¡abs
+ ))
+ 
+ 676 
+ 	`time
+ (&
+ ba£time
+ );
+ 
+ 679 ià(
+ tmp¡ab
+  = 
+ 	`¡ab’t
+ (";",
+ ®l¡abs
+ ))
+ 
+ 680 
+ 	`¡r_£t
+ (
+ 	`STAB_STR
+ (
+ tmp¡ab
+ ),"\034");
+ 
+ 681 ià(
+ tmp¡ab
+  = 
+ 	`¡ab’t
+ ("]",
+ ®l¡abs
+ )) {
+ 
+ 682 
+ ¡r
+  = 
+ 	`STAB_STR
+ (
+ tmp¡ab
+ );
+ 
+ 683 
+ 	`¡r_£t
+ (
+ ¡r
+ ,
+ rcsid
+ );
+ 
+ 684 
+ ¡r
+ ->
+ ¡r_u
+ .
+ ¡r_nv®
+  = 
+ 	`©of
+ (
+ ·tchËv–
+ );
+ 
+ 685 
+ ¡r
+ ->
+ ¡r_nok
+  = 1;
+ 
+ 687 
+ 	`¡r_n£t
+ (
+ 	`¡ab_v®
+ (
+ 	`¡ab’t
+ ("\"", 
+ TRUE
+ )), " ", 1);
+ 
+ 689 
+ ¡dš¡ab
+  = 
+ 	`¡ab’t
+ ("STDIN",
+ TRUE
+ );
+ 
+ 690 
+ ¡dš¡ab
+ ->
+ ¡r_pok
+  |ð
+ SP_MULTI
+ ;
+ 
+ 691 
+ 	`¡ab_io
+ (
+ ¡dš¡ab
+ èð
+ 	`¡io_Ãw
+ ();
+ 
+ 692 
+ 	`¡ab_io
+ (
+ ¡dš¡ab
+ )->
+ iå
+  = 
+ ¡dš
+ ;
+ 
+ 693 
+ tmp¡ab
+  = 
+ 	`¡ab’t
+ ("¡dš",
+ TRUE
+ );
+ 
+ 694 
+ 	`¡ab_io
+ (
+ tmp¡ab
+ èð¡ab_io(
+ ¡dš¡ab
+ );
+ 
+ 695 
+ tmp¡ab
+ ->
+ ¡r_pok
+  |ð
+ SP_MULTI
+ ;
+ 
+ 697 
+ tmp¡ab
+  = 
+ 	`¡ab’t
+ ("STDOUT",
+ TRUE
+ );
+ 
+ 698 
+ tmp¡ab
+ ->
+ ¡r_pok
+  |ð
+ SP_MULTI
+ ;
+ 
+ 699 
+ 	`¡ab_io
+ (
+ tmp¡ab
+ èð
+ 	`¡io_Ãw
+ ();
+ 
+ 700 
+ 	`¡ab_io
+ (
+ tmp¡ab
+ )->
+ oå
+  = sb_ioÑmp¡ab)->
+ iå
+  = 
+ ¡dout
+ ;
+ 
+ 701 
+ defout¡ab
+  = 
+ tmp¡ab
+ ;
+ 
+ 702 
+ tmp¡ab
+  = 
+ 	`¡ab’t
+ ("¡dout",
+ TRUE
+ );
+ 
+ 703 
+ 	`¡ab_io
+ (
+ tmp¡ab
+ èð¡ab_io(
+ defout¡ab
+ );
+ 
+ 704 
+ tmp¡ab
+ ->
+ ¡r_pok
+  |ð
+ SP_MULTI
+ ;
+ 
+ 706 
+ curout¡ab
+  = 
+ 	`¡ab’t
+ ("STDERR",
+ TRUE
+ );
+ 
+ 707 
+ curout¡ab
+ ->
+ ¡r_pok
+  |ð
+ SP_MULTI
+ ;
+ 
+ 708 
+ 	`¡ab_io
+ (
+ curout¡ab
+ èð
+ 	`¡io_Ãw
+ ();
+ 
+ 709 
+ 	`¡ab_io
+ (
+ curout¡ab
+ )->
+ oå
+  = sb_io(curout¡ab)->
+ iå
+  = 
+ ¡d”r
+ ;
+ 
+ 710 
+ tmp¡ab
+  = 
+ 	`¡ab’t
+ ("¡d”r",
+ TRUE
+ );
+ 
+ 711 
+ 	`¡ab_io
+ (
+ tmp¡ab
+ èð¡ab_io(
+ curout¡ab
+ );
+ 
+ 712 
+ tmp¡ab
+ ->
+ ¡r_pok
+  |ð
+ SP_MULTI
+ ;
+ 
+ 713 
+ curout¡ab
+  = 
+ defout¡ab
+ ;
+ 
+ 715 
+ ¡©Çme
+  = 
+ 	`SŒ_Ãw
+ (66,0);
+ 
+ 719 
+ rs
+  = 
+ Äs
+ ;
+ 
+ 720 
+ r¦’
+  = 
+ Ħ’
+ ;
+ 
+ 721 
+ rsch¬
+  = 
+ Äsch¬
+ ;
+ 
+ 722 
+ 	`¡r_n£t
+ (
+ 	`¡ab_v®
+ (
+ 	`¡ab’t
+ ("/", 
+ TRUE
+ )), 
+ rs
+ , 
+ r¦’
+ );
+ 
+ 724 ià(
+ do_undump
+ )
+ 
+ 725 
+ 	`my_uÃxec
+ ();
+ 
+ 727 
+ ju¡_do™
+ :
+ 
+ 728 
+ ¬gc
+ --,
+ ¬gv
+ ++;
+ 
+ 729 ià(
+ dosw™ches
+ ) {
+ 
+ 730 ; 
+ ¬gc
+  > 0 && **
+ ¬gv
+  == '-';‡rgc--,argv++) {
+ 
+ 731 ià(
+ ¬gv
+ [0][1] == '-') {
+ 
+ 732 
+ ¬gc
+ --,
+ ¬gv
+ ++;
+ 
+ 735 ià(
+ s
+  = 
+ 	`šdex
+ (
+ ¬gv
+ [0], '=')) {
+ 
+ 736 *
+ s
+ ++ = '\0';
+ 
+ 737 
+ 	`¡r_£t
+ (
+ 	`¡ab_v®
+ (
+ 	`¡ab’t
+ (
+ ¬gv
+ [0]+1,
+ TRUE
+ )),
+ s
+ );
+ 
+ 740 
+ 	`¡r_num£t
+ (
+ 	`¡ab_v®
+ (
+ 	`¡ab’t
+ (
+ ¬gv
+ [0]+1,
+ TRUE
+ )),()1.0);
+ 
+ 743 #ifdeà
+ TAINT
+ 
+ 
+ 744 
+ š‹d
+  = 1;
+ 
+ 746 ià(
+ tmp¡ab
+  = 
+ 	`¡ab’t
+ ("0",
+ ®l¡abs
+ )) {
+ 
+ 747 
+ 	`¡r_£t
+ (
+ 	`¡ab_v®
+ (
+ tmp¡ab
+ ),
+ Üigfž’ame
+ );
+ 
+ 748 
+ 	`magiúame
+ ("0", 
+ NuÎch
+ , 0);
+ 
+ 750 ià(
+ tmp¡ab
+  = 
+ 	`¡ab’t
+ ("\020",
+ ®l¡abs
+ ))
+ 
+ 751 
+ 	`¡r_£t
+ (
+ 	`¡ab_v®
+ (
+ tmp¡ab
+ ),
+ Üig¬gv
+ [0]);
+ 
+ 752 ià(
+ ¬gv¡ab
+  = 
+ 	`¡ab’t
+ ("ARGV",
+ ®l¡abs
+ )) {
+ 
+ 753 
+ ¬gv¡ab
+ ->
+ ¡r_pok
+  |ð
+ SP_MULTI
+ ;
+ 
+ 754 ()
+ 	`¯dd
+ (
+ ¬gv¡ab
+ );
+ 
+ 755 
+ 	`aþ—r
+ (
+ 	`¡ab_¬¿y
+ (
+ ¬gv¡ab
+ ));
+ 
+ 756 ; 
+ ¬gc
+  > 0;‡rgc--,
+ ¬gv
+ ++) {
+ 
+ 757 ()
+ 	`­ush
+ (
+ 	`¡ab_¬¿y
+ (
+ ¬gv¡ab
+ ),
+ 	`¡r_make
+ (
+ ¬gv
+ [0],0));
+ 
+ 760 #ifdeà
+ TAINT
+ 
+ 
+ 761 (è
+ 	`¡ab’t
+ ("ENV",
+ TRUE
+ );
+ 
+ 763 ià(
+ ’v¡ab
+  = 
+ 	`¡ab’t
+ ("ENV",
+ ®l¡abs
+ )) {
+ 
+ 764 
+ ’v¡ab
+ ->
+ ¡r_pok
+  |ð
+ SP_MULTI
+ ;
+ 
+ 765 ()
+ 	`hadd
+ (
+ ’v¡ab
+ );
+ 
+ 766 
+ 	`hþ—r
+ (
+ 	`¡ab_hash
+ (
+ ’v¡ab
+ ), 
+ FALSE
+ );
+ 
+ 767 ià(
+ ’v
+  !ð
+ ’vœÚ
+ )
+ 
+ 768 
+ ’vœÚ
+ [0] = 
+ NuÎch
+ ;
+ 
+ 769 ; *
+ ’v
+ ;ƒnv++) {
+ 
+ 770 ià(!(
+ s
+  = 
+ 	`šdex
+ (*
+ ’v
+ ,'=')))
+ 
+ 772 *
+ s
+ ++ = '\0';
+ 
+ 773 
+ ¡r
+  = 
+ 	`¡r_make
+ (
+ s
+ --,0);
+ 
+ 774 
+ 	`¡r_magic
+ (
+ ¡r
+ , 
+ ’v¡ab
+ , 'E', *
+ ’v
+ , 
+ s
+  - *env);
+ 
+ 775 ()
+ 	`h¡Üe
+ (
+ 	`¡ab_hash
+ (
+ ’v¡ab
+ ), *
+ ’v
+ , 
+ s
+  - *’v, 
+ ¡r
+ , 0);
+ 
+ 776 *
+ s
+  = '=';
+ 
+ 779 #ifdeà
+ TAINT
+ 
+ 
+ 780 
+ š‹d
+  = 0;
+ 
+ 782 ià(
+ tmp¡ab
+  = 
+ 	`¡ab’t
+ ("$",
+ ®l¡abs
+ ))
+ 
+ 783 
+ 	`¡r_num£t
+ (
+ 	`STAB_STR
+ (
+ tmp¡ab
+ ),()
+ 	`g‘pid
+ ());
+ 
+ 785 ià(
+ dow¬n
+ ) {
+ 
+ 786 
+ 	`¡ab_check
+ ('A','Z');
+ 
+ 787 
+ 	`¡ab_check
+ ('a','z');
+ 
+ 790 ià(
+ 	`£tjmp
+ (
+ tÝ_’v
+ ))
+ 
+ 791 
+ loÝ_±r
+  = -1;
+ 
+ 793 #ifdeà
+ DEBUGGING
+ 
+ 
+ 794 ià(
+ debug
+  & 1024)
+ 
+ 795 
+ 	`dump_®l
+ ();
+ 
+ 796 ià(
+ debug
+ )
+ 
+ 797 
+ 	`årštf
+ (
+ ¡d”r
+ ,"\nEXECUTING...\n\n");
+ 
+ 800 ià(
+ mšus_c
+ ) {
+ 
+ 801 
+ 	`årštf
+ (
+ ¡d”r
+ ,"% syÁax OK\n", 
+ Üigfž’ame
+ );
+ 
+ 802 
+ 	`ex™
+ (0);
+ 
+ 807 (è
+ 	`cmd_exec
+ (
+ maš_roÙ
+ ,
+ G_SCALAR
+ ,-1);
+ 
+ 809 ià(
+ gÙo_rg
+ )
+ 
+ 810 
+ 	`çl
+ ("Cª'ˆfšd†ab– \"%s\"--abÜtšg",
+ gÙo_rg
+ );
+ 
+ 811 
+ 	`ex™
+ (0);
+ 
+ 813 
+ 	}
+ }
+ 
+ 816 
+ 	$magiÿlize
+ (
+ li¡
+ )
+ 
+ 817 *
+ li¡
+ ;
+ 
+ 819 
+ sym
+ [2];
+ 
+ 821 
+ sym
+ [1] = '\0';
+ 
+ 822 *
+ sym
+  = *
+ li¡
+ ++)
+ 
+ 823 
+ 	`magiúame
+ (
+ sym
+ , 
+ NuÎch
+ , 0);
+ 
+ 824 
+ 	}
+ }
+ 
+ 827 
+ 	$magiúame
+ (
+ sym
+ ,
+ Çme
+ ,
+ ÇmËn
+ )
+ 
+ 828 *
+ sym
+ ;
+ 
+ 829 *
+ Çme
+ ;
+ 
+ 830 
+ ÇmËn
+ ;
+ 
+ 832 
+ STAB
+  *
+ ¡ab
+ ;
+ 
+ 834 ià(
+ ¡ab
+  = 
+ 	`¡ab’t
+ (
+ sym
+ ,
+ ®l¡abs
+ )) {
+ 
+ 835 
+ 	`¡ab_æags
+ (
+ ¡ab
+ èð
+ SF_VMAGIC
+ ;
+ 
+ 836 
+ 	`¡r_magic
+ (
+ 	`¡ab_v®
+ (
+ ¡ab
+ ), sb, 0, 
+ Çme
+ , 
+ ÇmËn
+ );
+ 
+ 838 
+ 	}
+ }
+ 
+ 843 
+ 	$do_ev®
+ (
+ ¡r
+ ,
+ Ýty³
+ ,
+ ¡ash
+ ,
+ gimme
+ ,
+ ¬gÏ¡
+ )
+ 
+ 844 
+ STR
+  *
+ ¡r
+ ;
+ 
+ 845 
+ Ýty³
+ ;
+ 
+ 846 
+ HASH
+  *
+ ¡ash
+ ;
+ 
+ 847 
+ gimme
+ ;
+ 
+ 848 *
+ ¬gÏ¡
+ ;
+ 
+ 850 
+ STR
+  **
+ ¡
+  = 
+ ¡ack
+ ->
+ ¬y_¬¿y
+ ;
+ 
+ 851 
+ »tv®
+ ;
+ 
+ 852 
+ CMD
+  *
+ myroÙ
+  = 
+ NuÎcmd
+ ;
+ 
+ 853 
+ ARRAY
+  *
+ ¬
+ ;
+ 
+ 854 
+ i
+ ;
+ 
+ 855 
+ CMD
+  * 
+ VOLATILE
+  
+ Þdcurcmd
+  = 
+ curcmd
+ ;
+ 
+ 856 
+ VOLATILE
+  
+ Þdtmps_ba£
+  = 
+ tmps_ba£
+ ;
+ 
+ 857 
+ VOLATILE
+  
+ Þd§ve
+  = 
+ §ve¡ack
+ ->
+ ¬y_fžl
+ ;
+ 
+ 858 
+ VOLATILE
+  
+ Þd³¾db
+  = 
+ ³¾db
+ ;
+ 
+ 859 
+ SPAT
+  * 
+ VOLATILE
+  
+ Þd¥©
+  = 
+ cur¥©
+ ;
+ 
+ 860 
+ SPAT
+  * 
+ VOLATILE
+  
+ Þdl¥©
+  = 
+ Ï¡¥©
+ ;
+ 
+ 861 *
+ Ï¡_ev®
+  = 
+ NuÎch
+ ;
+ 
+ 862 
+ CMD
+  *
+ Ï¡_roÙ
+  = 
+ NuÎcmd
+ ;
+ 
+ 863 
+ VOLATILE
+  
+ ¥
+  = 
+ ¬gÏ¡
+ [0];
+ 
+ 864 *
+ ¥ecfž’ame
+ ;
+ 
+ 865 *
+ tmpfž’ame
+ ;
+ 
+ 866 
+ ·rsšg
+  = 1;
+ 
+ 868 
+ tmps_ba£
+  = 
+ tmps_max
+ ;
+ 
+ 869 ià(
+ cur¡ash
+  !ð
+ ¡ash
+ ) {
+ 
+ 870 ()
+ 	`§veh±r
+ (&
+ cur¡ash
+ );
+ 
+ 871 
+ cur¡ash
+  = 
+ ¡ash
+ ;
+ 
+ 873 
+ 	`¡r_£t
+ (
+ 	`¡ab_v®
+ (
+ 	`¡ab’t
+ ("@",
+ TRUE
+ )),"");
+ 
+ 874 ià(
+ curcmd
+ ->
+ c_lše
+  == 0)
+ 
+ 875 
+ ³¾db
+  = 
+ FALSE
+ ;
+ 
+ 876 
+ curcmd
+  = &
+ compžšg
+ ;
+ 
+ 877 ià(
+ Ýty³
+  =ð
+ O_EVAL
+ ) {
+ 
+ 878 
+ curcmd
+ ->
+ c_fže¡ab
+  = 
+ 	`f¡ab
+ ("(eval)");
+ 
+ 879 
+ curcmd
+ ->
+ c_lše
+  = 1;
+ 
+ 880 
+ 	`¡r_s£t
+ (
+ lše¡r
+ ,
+ ¡r
+ );
+ 
+ 881 
+ 	`¡r_ÿt
+ (
+ lše¡r
+ ,";");
+ 
+ 884 ià(
+ Ï¡_roÙ
+  && !
+ š_ev®
+ ) {
+ 
+ 885 
+ 	`Saãä“
+ (
+ Ï¡_ev®
+ );
+ 
+ 886 
+ Ï¡_ev®
+  = 
+ NuÎch
+ ;
+ 
+ 887 
+ 	`cmd_ä“
+ (
+ Ï¡_roÙ
+ );
+ 
+ 888 
+ Ï¡_roÙ
+  = 
+ NuÎcmd
+ ;
+ 
+ 890 
+ ¥ecfž’ame
+  = 
+ 	`¡r_g‘
+ (
+ ¡r
+ );
+ 
+ 891 
+ 	`¡r_£t
+ (
+ lše¡r
+ ,"");
+ 
+ 892 ià(
+ Ýty³
+  =ð
+ O_REQUIRE
+  && &
+ ¡r_undef
+  !=
+ 
+ 893 
+ 	`hãtch
+ (
+ 	`¡ab_hash
+ (
+ šc¡ab
+ ), 
+ ¥ecfž’ame
+ , 
+ 	`¡¾’
+ (specfilename), 0)) {
+ 
+ 894 
+ curcmd
+  = 
+ Þdcurcmd
+ ;
+ 
+ 895 
+ tmps_ba£
+  = 
+ Þdtmps_ba£
+ ;
+ 
+ 896 
+ ¡
+ [++
+ ¥
+ ] = &
+ ¡r_yes
+ ;
+ 
+ 897 
+ ³¾db
+  = 
+ Þd³¾db
+ ;
+ 
+ 898  
+ ¥
+ ;
+ 
+ 900 
+ tmpfž’ame
+  = 
+ 	`§ve¡r
+ (
+ ¥ecfž’ame
+ );
+ 
+ 901 ià(
+ 	`šdex
+ ("/.", *
+ tmpfž’ame
+ ))
+ 
+ 902 
+ rså
+  = 
+ 	`fݒ
+ (
+ tmpfž’ame
+ ,"r");
+ 
+ 904 
+ ¬
+  = 
+ 	`¡ab_¬¿y
+ (
+ šc¡ab
+ );
+ 
+ 905 
+ i
+  = 0; i <ð
+ ¬
+ ->
+ ¬y_fžl
+ ; i++) {
+ 
+ 906 ()
+ 	`¥rštf
+ (
+ buf
+ , "%s/%s",
+ 
+ 907 
+ 	`¡r_g‘
+ (
+ 	`aãtch
+ (
+ ¬
+ ,
+ i
+ ,
+ TRUE
+ )), 
+ ¥ecfž’ame
+ );
+ 
+ 908 
+ rså
+  = 
+ 	`fݒ
+ (
+ buf
+ ,"r");
+ 
+ 909 ià(
+ rså
+ ) {
+ 
+ 910 *
+ s
+  = 
+ buf
+ ;
+ 
+ 912 ià(*
+ s
+  == '.' && s[1] == '/')
+ 
+ 913 
+ s
+  += 2;
+ 
+ 914 
+ 	`Saãä“
+ (
+ tmpfž’ame
+ );
+ 
+ 915 
+ tmpfž’ame
+  = 
+ 	`§ve¡r
+ (
+ s
+ );
+ 
+ 920 
+ curcmd
+ ->
+ c_fže¡ab
+  = 
+ 	`f¡ab
+ (
+ tmpfž’ame
+ );
+ 
+ 921 
+ 	`Saãä“
+ (
+ tmpfž’ame
+ );
+ 
+ 922 
+ tmpfž’ame
+  = 
+ NuÎch
+ ;
+ 
+ 923 ià(!
+ rså
+ ) {
+ 
+ 924 
+ curcmd
+  = 
+ Þdcurcmd
+ ;
+ 
+ 925 
+ tmps_ba£
+  = 
+ Þdtmps_ba£
+ ;
+ 
+ 926 ià(
+ Ýty³
+  =ð
+ O_REQUIRE
+ ) {
+ 
+ 927 
+ 	`¥rštf
+ (
+ tok’buf
+ ,"Cª'ˆloÿ‹ % š @INC", 
+ ¥ecfž’ame
+ );
+ 
+ 928 ià(
+ 	`š¡r
+ (
+ tok’buf
+ ,".h "))
+ 
+ 929 
+ 	`¡rÿt
+ (
+ tok’buf
+ ," (change .ho .ph maybe?)");
+ 
+ 930 ià(
+ 	`š¡r
+ (
+ tok’buf
+ ,".ph "))
+ 
+ 931 
+ 	`¡rÿt
+ (
+ tok’buf
+ ," (did you„un h2ph?)");
+ 
+ 932 
+ 	`çl
+ ("%s",
+ tok’buf
+ );
+ 
+ 934 ià(
+ gimme
+  !ð
+ G_ARRAY
+ )
+ 
+ 935 
+ ¡
+ [++
+ ¥
+ ] = &
+ ¡r_undef
+ ;
+ 
+ 936 
+ ³¾db
+  = 
+ Þd³¾db
+ ;
+ 
+ 937  
+ ¥
+ ;
+ 
+ 939 
+ curcmd
+ ->
+ c_lše
+  = 0;
+ 
+ 941 
+ š_ev®
+ ++;
+ 
+ 942 
+ ÞdÞdbuåŒ
+  = 
+ ÞdbuåŒ
+  = 
+ buåŒ
+  = 
+ 	`¡r_g‘
+ (
+ lše¡r
+ );
+ 
+ 943 
+ buãnd
+  = 
+ buåŒ
+  + 
+ lše¡r
+ ->
+ ¡r_cur
+ ;
+ 
+ 944 ià(++
+ loÝ_±r
+  >ð
+ loÝ_max
+ ) {
+ 
+ 945 
+ loÝ_max
+  += 128;
+ 
+ 946 
+ 	`R’ew
+ (
+ loÝ_¡ack
+ , 
+ loÝ_max
+ , 
+ loÝ
+ );
+ 
+ 948 
+ loÝ_¡ack
+ [
+ loÝ_±r
+ ].
+ loÝ_Ïb–
+  = "_EVAL_";
+ 
+ 949 
+ loÝ_¡ack
+ [
+ loÝ_±r
+ ].
+ loÝ_¥
+  = 
+ ¥
+ ;
+ 
+ 950 #ifdeà
+ DEBUGGING
+ 
+ 
+ 951 ià(
+ debug
+  & 4) {
+ 
+ 952 
+ 	`deb
+ ("(Pushšg†ab– #%d _EVAL_)\n", 
+ loÝ_±r
+ );
+ 
+ 955 
+ ev®_roÙ
+  = 
+ NuÎcmd
+ ;
+ 
+ 956 ià(
+ 	`£tjmp
+ (
+ loÝ_¡ack
+ [
+ loÝ_±r
+ ].
+ loÝ_’v
+ )) {
+ 
+ 957 
+ »tv®
+  = 1;
+ 
+ 960 
+ ”rÜ_couÁ
+  = 0;
+ 
+ 961 ià(
+ rså
+ ) {
+ 
+ 962 
+ »tv®
+  = 
+ 	`yy·r£
+ ();
+ 
+ 963 
+ »tv®
+  |ð
+ ”rÜ_couÁ
+ ;
+ 
+ 965 ià(
+ Ï¡_roÙ
+  && *
+ buåŒ
+  =ð*
+ Ï¡_ev®
+  && 
+ 	`¡rEQ
+ (bufptr,last_eval)){
+ 
+ 966 
+ »tv®
+  = 0;
+ 
+ 967 
+ ev®_roÙ
+  = 
+ Ï¡_roÙ
+ ;
+ 
+ 969 ià(
+ š_ev®
+  == 1) {
+ 
+ 970 ià(
+ Ï¡_roÙ
+ ) {
+ 
+ 971 
+ 	`Saãä“
+ (
+ Ï¡_ev®
+ );
+ 
+ 972 
+ Ï¡_ev®
+  = 
+ NuÎch
+ ;
+ 
+ 973 
+ 	`cmd_ä“
+ (
+ Ï¡_roÙ
+ );
+ 
+ 975 
+ Ï¡_roÙ
+  = 
+ NuÎcmd
+ ;
+ 
+ 976 
+ Ï¡_ev®
+  = 
+ 	`§ve¡r
+ (
+ buåŒ
+ );
+ 
+ 977 
+ »tv®
+  = 
+ 	`yy·r£
+ ();
+ 
+ 978 
+ »tv®
+  |ð
+ ”rÜ_couÁ
+ ;
+ 
+ 979 ià(!
+ »tv®
+ )
+ 
+ 980 
+ Ï¡_roÙ
+  = 
+ ev®_roÙ
+ ;
+ 
+ 981 ià(!
+ Ï¡_roÙ
+ ) {
+ 
+ 982 
+ 	`Saãä“
+ (
+ Ï¡_ev®
+ );
+ 
+ 983 
+ Ï¡_ev®
+  = 
+ NuÎch
+ ;
+ 
+ 987 
+ »tv®
+  = 
+ 	`yy·r£
+ ();
+ 
+ 989 
+ myroÙ
+  = 
+ ev®_roÙ
+ ;
+ 
+ 991 ià(
+ »tv®
+ ) {
+ 
+ 992 
+ ¡
+  = 
+ ¡ack
+ ->
+ ¬y_¬¿y
+ ;
+ 
+ 993 
+ ¥
+  = 
+ ¬gÏ¡
+ [0];
+ 
+ 994 ià(
+ gimme
+  !ð
+ G_ARRAY
+ )
+ 
+ 995 
+ ¡
+ [++
+ ¥
+ ] = &
+ ¡r_undef
+ ;
+ 
+ 996 ià(
+ ·rsšg
+ ) {
+ 
+ 997 #iâdeà
+ MANGLEDPARSE
+ 
+ 
+ 998 #ifdeà
+ DEBUGGING
+ 
+ 
+ 999 ià(
+ debug
+  & 128)
+ 
+ 1000 
+ 	`årštf
+ (
+ ¡d”r
+ ,"F»ešgƒv®_roÙ %lx\n",()
+ ev®_roÙ
+ );
+ 
+ 1002 
+ 	`cmd_ä“
+ (
+ ev®_roÙ
+ );
+ 
+ 1004 ià(
+ ev®_roÙ
+  =ð
+ Ï¡_roÙ
+ )
+ 
+ 1005 
+ Ï¡_roÙ
+  = 
+ NuÎcmd
+ ;
+ 
+ 1006 
+ ev®_roÙ
+  = 
+ myroÙ
+  = 
+ NuÎcmd
+ ;
+ 
+ 1008 ià(
+ rså
+ ) {
+ 
+ 1009 
+ 	`fþo£
+ (
+ rså
+ );
+ 
+ 1010 
+ rså
+  = 0;
+ 
+ 1014 
+ ·rsšg
+  = 0;
+ 
+ 1015 
+ ¥
+  = 
+ 	`cmd_exec
+ (
+ ev®_roÙ
+ ,
+ gimme
+ ,sp);
+ 
+ 1016 
+ ¡
+  = 
+ ¡ack
+ ->
+ ¬y_¬¿y
+ ;
+ 
+ 1017 
+ i
+  = 
+ ¬gÏ¡
+ [0] + 1; i <ð
+ ¥
+ ; i++)
+ 
+ 1018 
+ ¡
+ [
+ i
+ ] = 
+ 	`¡r_m܏l
+ (st[i]);
+ 
+ 1020 ià(
+ š_ev®
+  !ð1 && 
+ myroÙ
+  !ð
+ Ï¡_roÙ
+ )
+ 
+ 1021 
+ 	`cmd_ä“
+ (
+ myroÙ
+ );
+ 
+ 1024 
+ ³¾db
+  = 
+ Þd³¾db
+ ;
+ 
+ 1025 
+ š_ev®
+ --;
+ 
+ 1026 #ifdeà
+ DEBUGGING
+ 
+ 
+ 1027 ià(
+ debug
+  & 4) {
+ 
+ 1028 *
+ tmps
+  = 
+ loÝ_¡ack
+ [
+ loÝ_±r
+ ].
+ loÝ_Ïb–
+ ;
+ 
+ 1029 
+ 	`deb
+ ("(PÝpšg†ab– #%d %s)\n",
+ loÝ_±r
+ ,
+ 
+ 1030 
+ tmps
+  ?mps : "" );
+ 
+ 1033 
+ loÝ_±r
+ --;
+ 
+ 1034 
+ tmps_ba£
+  = 
+ Þdtmps_ba£
+ ;
+ 
+ 1035 
+ cur¥©
+  = 
+ Þd¥©
+ ;
+ 
+ 1036 
+ Ï¡¥©
+  = 
+ Þdl¥©
+ ;
+ 
+ 1037 ià(
+ §ve¡ack
+ ->
+ ¬y_fžl
+  > 
+ Þd§ve
+ )
+ 
+ 1038 
+ 	`»¡Ü–i¡
+ (
+ Þd§ve
+ );
+ 
+ 1040 ià(
+ Ýty³
+  !ð
+ O_EVAL
+ ) {
+ 
+ 1041 ià(
+ »tv®
+ ) {
+ 
+ 1042 ià(
+ Ýty³
+  =ð
+ O_REQUIRE
+ )
+ 
+ 1043 
+ 	`çl
+ ("%s", 
+ 	`¡r_g‘
+ (
+ 	`¡ab_v®
+ (
+ 	`¡ab’t
+ ("@",
+ TRUE
+ ))));
+ 
+ 1046 
+ curcmd
+  = 
+ Þdcurcmd
+ ;
+ 
+ 1047 ià(
+ gimme
+  =ð
+ G_SCALAR
+  ? 
+ 	`¡r_Œue
+ (
+ ¡
+ [
+ ¥
+ ]è: s°> 
+ ¬gÏ¡
+ [0]) {
+ 
+ 1048 ()
+ 	`h¡Üe
+ (
+ 	`¡ab_hash
+ (
+ šc¡ab
+ ), 
+ ¥ecfž’ame
+ ,
+ 
+ 1049 
+ 	`¡¾’
+ (
+ ¥ecfž’ame
+ ), 
+ 	`¡r_smake
+ (
+ 	`¡ab_v®
+ (
+ curcmd
+ ->
+ c_fže¡ab
+ )),
+ 
+ 1052 ià(
+ Ýty³
+  =ð
+ O_REQUIRE
+ )
+ 
+ 1053 
+ 	`çl
+ ("% did‚Ù„‘uº‡ruv®ue", 
+ ¥ecfž’ame
+ );
+ 
+ 1056 
+ curcmd
+  = 
+ Þdcurcmd
+ ;
+ 
+ 1057  
+ ¥
+ ;
+ 
+ 1058 
+ 	}
+ }
+ 
+ 1063 
+ 	$mÜesw™ches
+ (
+ s
+ )
+ 
+ 1064 *
+ s
+ ;
+ 
+ 1066 
+ numËn
+ ;
+ 
+ 1068 
+ »sw™ch
+ :
+ 
+ 1069 *
+ s
+ ) {
+ 
+ 1071 
+ Äsch¬
+  = 
+ 	`sÿnoù
+ (
+ s
+ , 4, &
+ numËn
+ );
+ 
+ 1072 
+ Äs
+  = 
+ 	`n§ve¡r
+ ("\n",1);
+ 
+ 1073 *
+ Äs
+  = 
+ Äsch¬
+ ;
+ 
+ 1074 ià(
+ Äsch¬
+  > 0377) {
+ 
+ 1075 
+ Ħ’
+  = 0;
+ 
+ 1076 
+ Äs
+  = "";
+ 
+ 1078 ià(!
+ Äsch¬
+  && 
+ numËn
+  >= 2) {
+ 
+ 1079 
+ Ħ’
+  = 2;
+ 
+ 1080 
+ Äs
+  = "\n\n";
+ 
+ 1081 
+ Äsch¬
+  = '\n';
+ 
+ 1083  
+ s
+  + 
+ numËn
+ ;
+ 
+ 1085 
+ mšus_a
+  = 
+ TRUE
+ ;
+ 
+ 1086 
+ s
+ ++;
+ 
+ 1087  
+ s
+ ;
+ 
+ 1089 
+ mšus_c
+  = 
+ TRUE
+ ;
+ 
+ 1090 
+ s
+ ++;
+ 
+ 1091  
+ s
+ ;
+ 
+ 1093 #ifdeà
+ TAINT
+ 
+ 
+ 1094 ià(
+ euid
+  !ð
+ uid
+  || 
+ egid
+  !ð
+ gid
+ )
+ 
+ 1095 
+ 	`çl
+ ("No -d‡llowed in setuid scripts");
+ 
+ 1097 
+ ³¾db
+  = 
+ TRUE
+ ;
+ 
+ 1098 
+ s
+ ++;
+ 
+ 1099  
+ s
+ ;
+ 
+ 1101 #ifdeà
+ DEBUGGING
+ 
+ 
+ 1102 #ifdeà
+ TAINT
+ 
+ 
+ 1103 ià(
+ euid
+  !ð
+ uid
+  || 
+ egid
+  !ð
+ gid
+ )
+ 
+ 1104 
+ 	`çl
+ ("No -D‡llowed in setuid scripts");
+ 
+ 1106 
+ debug
+  = 
+ 	`©oi
+ (
+ s
+ +1) | 32768;
+ 
+ 1108 
+ 	`w¬n
+ ("Recompile…erl with -DDEBUGGINGo use -D switch\n");
+ 
+ 1110 
+ s
+ ++; 
+ 	`isdig™
+ (*s); s++) ;
+ 
+ 1111  
+ s
+ ;
+ 
+ 1113 
+ š¶aû
+  = 
+ 	`§ve¡r
+ (
+ s
+ +1);
+ 
+ 1114 
+ s
+  = 
+ š¶aû
+ ; * && !
+ 	`is¥aû
+ (*s); s++) ;
+ 
+ 1115 *
+ s
+  = '\0';
+ 
+ 1118 #ifdeà
+ TAINT
+ 
+ 
+ 1119 ià(
+ euid
+  !ð
+ uid
+  || 
+ egid
+  !ð
+ gid
+ )
+ 
+ 1120 
+ 	`çl
+ ("No -I‡llowed in setuid scripts");
+ 
+ 1122 ià(*++
+ s
+ ) {
+ 
+ 1123 ()
+ 	`­ush
+ (
+ 	`¡ab_¬¿y
+ (
+ šc¡ab
+ ),
+ 	`¡r_make
+ (
+ s
+ ,0));
+ 
+ 1126 
+ 	`çl
+ ("No space‡llowed‡fter -I");
+ 
+ 1129 
+ mšus_l
+  = 
+ TRUE
+ ;
+ 
+ 1130 
+ s
+ ++;
+ 
+ 1131 ià(
+ 	`isdig™
+ (*
+ s
+ )) {
+ 
+ 1132 
+ Üs
+  = 
+ 	`§ve¡r
+ ("\n");
+ 
+ 1133 
+ ܦ’
+  = 1;
+ 
+ 1134 *
+ Üs
+  = 
+ 	`sÿnoù
+ (
+ s
+ , 3 + (* =ð'0'), &
+ numËn
+ );
+ 
+ 1135 
+ s
+  +ð
+ numËn
+ ;
+ 
+ 1138 
+ Üs
+  = 
+ 	`n§ve¡r
+ (
+ Äs
+ ,
+ Ħ’
+ );
+ 
+ 1139 
+ ܦ’
+  = 
+ Ħ’
+ ;
+ 
+ 1141  
+ s
+ ;
+ 
+ 1143 
+ mšus_n
+  = 
+ TRUE
+ ;
+ 
+ 1144 
+ s
+ ++;
+ 
+ 1145  
+ s
+ ;
+ 
+ 1147 
+ mšus_p
+  = 
+ TRUE
+ ;
+ 
+ 1148 
+ s
+ ++;
+ 
+ 1149  
+ s
+ ;
+ 
+ 1151 
+ do_undump
+  = 
+ TRUE
+ ;
+ 
+ 1152 
+ s
+ ++;
+ 
+ 1153  
+ s
+ ;
+ 
+ 1155 
+ un§ã
+  = 
+ TRUE
+ ;
+ 
+ 1156 
+ s
+ ++;
+ 
+ 1157  
+ s
+ ;
+ 
+ 1159 
+ 	`åuts
+ ("\nThi i ³¾, v”siÚ 4.0\n\n",
+ ¡dout
+ );
+ 
+ 1160 
+ 	`åuts
+ (
+ rcsid
+ ,
+ ¡dout
+ );
+ 
+ 1161 
+ 	`åuts
+ ("\nCÝyrighˆ(cè1989, 1990, 1991, L¬ry W®l\n",
+ ¡dout
+ );
+ 
+ 1162 #ifdeà
+ MSDOS
+ 
+ 
+ 1163 
+ 	`åuts
+ ("MS-DOS…ort Copyright (c) 1989, 1990, Diomidis Spinellis\n",
+ 
+ 1164 
+ ¡dout
+ );
+ 
+ 1165 #ifdeà
+ OS2
+ 
+ 
+ 1166 
+ 	`åuts
+ ("OS/2…ort Copyright (c) 1990, Raymond Chen, Kai Uwe Rommel\n",
+ 
+ 1167 
+ ¡dout
+ );
+ 
+ 1170 
+ 	`åuts
+ ("\n\
+  may bcÝ›d oÆy und”h‹rm oàthGNU G’”® PubliøLiûn£,\n\
+  cÝy oàwhich cª bfound w™hhP”È4.0 di¡ributiÚ k™.\n",
+ ¡dout
+ );
+ 
+ 1173 #ifdeà
+ MSDOS
+ 
+ 
+ 1174 
+ 	`u§ge
+ (
+ Üig¬gv
+ [0]);
+ 
+ 1176 
+ 	`ex™
+ (0);
+ 
+ 1178 
+ dow¬n
+  = 
+ TRUE
+ ;
+ 
+ 1179 
+ s
+ ++;
+ 
+ 1180  
+ s
+ ;
+ 
+ 1186 
+ 	`çl
+ ("Sw™ch m—nšgËs aá” -x: -%s",
+ s
+ );
+ 
+ 1188  
+ NuÎch
+ ;
+ 
+ 1189 
+ 	}
+ }
+ 
+ 1195 
+ 	$my_uÃxec
+ ()
+ 
+ 1197 #ifdeà
+ UNEXEC
+ 
+ 
+ 1198 
+ ¡©us
+ ;
+ 
+ 1199 

+ ‘ext
+ ;
+ 
+ 1200 
+ dum²ame
+ [
+ BUFSIZ
+ ];
+ 
+ 1201 
+ ³¾·th
+ [256];
+ 
+ 1203 
+ 	`¥rštf
+  (
+ dum²ame
+ , "%s.³¾dump", 
+ Üigfž’ame
+ );
+ 
+ 1204 
+ 	`¥rštf
+  (
+ ³¾·th
+ , "%s/³¾", 
+ BIN
+ );
+ 
+ 1206 
+ ¡©us
+  = 
+ 	`uÃxec
+ (
+ dum²ame
+ , 
+ ³¾·th
+ , &
+ ‘ext
+ , 
+ 	`sbrk
+ (0), 0);
+ 
+ 1207 ià(
+ ¡©us
+ )
+ 
+ 1208 
+ 	`årštf
+ (
+ ¡d”r
+ , "uÃxeøoà% štØ% çžed!\n", 
+ ³¾·th
+ , 
+ dum²ame
+ );
+ 
+ 1209 
+ 	`ex™
+ (
+ ¡©us
+ );
+ 
+ 1211 #iâdeà
+ SIGABRT
+ 
+ 
+ 1212 
+ 	#SIGABRT
+  
+ SIGILL
+ 
+ 
+ 	)
+ 
+ 1214 #iâdeà
+ SIGILL
+ 
+ 
+ 1215 
+ 	#SIGILL
+  6
+ 
+ 	)
+ 
+ 1217 
+ 	`kžl
+ (
+ 	`g‘pid
+ (),
+ SIGABRT
+ );
+ 
+ 1219 
+ 	}
+ }
+ 
+ 	@perl.h
+ 
+ 17 
+ 	#VOIDWANT
+  1
+ 
+ 	)
+ 
+ 18 
+ 	~"cÚfig.h
+ "
+ 
+ 20 #ifdeà
+ MSDOS
+ 
+ 
+ 30 
+ 	#HAS_ALARM
+ 
+ 
+ 	)
+ 
+ 31 
+ 	#HAS_CHOWN
+ 
+ 
+ 	)
+ 
+ 32 
+ 	#HAS_CHROOT
+ 
+ 
+ 	)
+ 
+ 33 
+ 	#HAS_FORK
+ 
+ 
+ 	)
+ 
+ 34 
+ 	#HAS_GETLOGIN
+ 
+ 
+ 	)
+ 
+ 35 
+ 	#HAS_GETPPID
+ 
+ 
+ 	)
+ 
+ 36 
+ 	#HAS_KILL
+ 
+ 
+ 	)
+ 
+ 37 
+ 	#HAS_LINK
+ 
+ 
+ 	)
+ 
+ 38 
+ 	#HAS_PIPE
+ 
+ 
+ 	)
+ 
+ 39 
+ 	#HAS_WAIT
+ 
+ 
+ 	)
+ 
+ 40 
+ 	#HAS_UMASK
+ 
+ 
+ 	)
+ 
+ 45 
+ 	#HAS_GROUP
+ 
+ 
+ 	)
+ 
+ 46 
+ 	#HAS_PASSWD
+ 
+ 
+ 	)
+ 
+ 50 #ià
+ defšed
+ (
+ HASVOLATILE
+ è|| defšed(
+ __STDC__
+ )
+ 
+ 51 
+ 	#VOLATILE
+  vÞ©že
+ 
+ 	)
+ 
+ 53 
+ 	#VOLATILE
+ 
+ 
+ 	)
+ 
+ 56 #ifdeà
+ IAMSUID
+ 
+ 
+ 57 #iâdeà
+ TAINT
+ 
+ 
+ 58 
+ 	#TAINT
+ 
+ 
+ 	)
+ 
+ 62 #iâdeà
+ HAS_VFORK
+ 
+ 
+ 63 
+ 	#vfÜk
+  
+ fÜk
+ 
+ 
+ 	)
+ 
+ 66 #ifdeà
+ HAS_GETPGRP2
+ 
+ 
+ 67 #iâdeà
+ HAS_GETPGRP
+ 
+ 
+ 68 
+ 	#HAS_GETPGRP
+ 
+ 
+ 	)
+ 
+ 70 
+ 	#g‘pg½
+  
+ g‘pg½2
+ 
+ 
+ 	)
+ 
+ 73 #ifdeà
+ HAS_SETPGRP2
+ 
+ 
+ 74 #iâdeà
+ HAS_SETPGRP
+ 
+ 
+ 75 
+ 	#HAS_SETPGRP
+ 
+ 
+ 	)
+ 
+ 77 
+ 	#£g½
+  
+ £g½2
+ 
+ 
+ 	)
+ 
+ 80 
+ 	~<¡dio.h
+ >
+ 
+ 81 
+ 	~<ùy³.h
+ >
+ 
+ 82 
+ 	~<£tjmp.h
+ >
+ 
+ 83 #iâdeà
+ MSDOS
+ 
+ 
+ 84 
+ 	~<sys/·¿m.h
+ >
+ 
+ 86 #ifdeà
+ __STDC__
+ 
+ 
+ 89 
+ 	~<¡ršg.h
+ >
+ 
+ 92 #ià
+ defšed
+ (
+ HAS_MEMCMP
+ è&& defšed(
+ ms
+ è&& 
+ BYTEORDER
+  == 0x1234
+ 
+ 93 #undeà
+ HAS_MEMCMP
+ 
+ 
+ 96 #ifdeà
+ HAS_MEMCPY
+ 
+ 
+ 98 #iâdeà
+ __STDC__
+ 
+ 
+ 99 #iâdeà
+ memýy
+ 
+ 
+ 100 
* 
+ memýy
+ (), *
+ mem£t
+ ();
+ 
+ 101 

+ memcmp
+ ();
+ 
+ 105 
+ 	#bcÝy
+ (
+ s1
+ ,
+ s2
+ ,
+ l
+ è
+ 	`memýy
+ (s2,s1,l)
+ 
+ 	)
+ 
+ 106 
+ 	#bz”o
+ (
+ s
+ ,
+ l
+ è
+ 	`mem£t
+ (s,0,l)
+ 
+ 	)
+ 
+ 109 #iâdeà
+ HAS_BCMP
+ 
+ 
+ 110 
+ 	#bcmp
+ (
+ s1
+ ,
+ s2
+ ,
+ l
+ è
+ 	`memcmp
+ (s1,s2,l)
+ 
+ 	)
+ 
+ 113 #iâdeà
+ _TYPES_
+ 
+ 
+ 114 #iâdeà
+ majÜ
+ 
+ 
+ 115 
+ 	~<sys/ty³s.h
+ >
+ 
+ 119 #ifdeà
+ I_NETINET_IN
+ 
+ 
+ 120 
+ 	~<Ãtš‘/š.h
+ >
+ 
+ 123 
+ 	~<sys/¡©.h
+ >
+ 
+ 125 #ifdeà
+ I_TIME
+ 
+ 
+ 126 
+ 	~<time.h
+ >
+ 
+ 129 #ifdeà
+ I_SYS_TIME
+ 
+ 
+ 130 #ifdeà
+ SYSTIMEKERNEL
+ 
+ 
+ 131 
+ 	#KERNEL
+ 
+ 
+ 	)
+ 
+ 133 
+ 	~<sys/time.h
+ >
+ 
+ 134 #ifdeà
+ SYSTIMEKERNEL
+ 
+ 
+ 135 #undeà
+ KERNEL
+ 
+ 
+ 139 #iâdeà
+ MSDOS
+ 
+ 
+ 140 
+ 	~<sys/times.h
+ >
+ 
+ 143 #ià
+ defšed
+ (
+ HAS_STRERROR
+ è&& (!defšed(
+ HAS_MKDIR
+ è|| !defšed(
+ HAS_RMDIR
+ ))
+ 
+ 144 #undeà
+ HAS_STRERROR
+ 
+ 
+ 147 
+ 	~<Ӽo.h
+ >
+ 
+ 148 #iâdeà
+ MSDOS
+ 
+ 
+ 149 #iâdeà
+ Ӽo
+ 
+ 
+ 150 

+ Ӽo
+ ;
+ 
+ 154 #iâdeà
+ ¡»¼Ü
+ 
+ 
+ 155 #ifdeà
+ HAS_STRERROR
+ 
+ 
+ 156 *
+ ¡»¼Ü
+ ();
+ 
+ 158 

+ sys_ü
+ ;
+ 
+ 159 
*
+ sys_”¾i¡
+ [];
+ 
+ 160 
+ 	#¡»¼Ü
+ (
+ e
+ è(Óè< 0 || (eè>ð
+ sys_ü
+  ? "(unknown)" : 
+ sys_”¾i¡
+ [e])
+ 
+ 	)
+ 
+ 164 #ifdeà
+ I_SYSIOCTL
+ 
+ 
+ 165 #iâdeà
+ _IOCTL_
+ 
+ 
+ 166 
+ 	~<sys/ioùl.h
+ >
+ 
+ 170 #ià
+ defšed
+ (
+ mc300
+ è|| defšed(
+ mc500
+ è|| defšed(
+ mc700
+ )
+ 
+ 171 #ifdeà
+ HAS_SOCKETPAIR
+ 
+ 
+ 172 #undeà
+ HAS_SOCKETPAIR
+ 
+ 
+ 174 #ifdeà
+ HAS_NDBM
+ 
+ 
+ 175 #undeà
+ HAS_NDBM
+ 
+ 
+ 179 #ifdeà
+ HAS_GDBM
+ 
+ 
+ 180 #ifdeà
+ I_GDBM
+ 
+ 
+ 181 
+ 	~<gdbm.h
+ >
+ 
+ 183 
+ 	#SOME_DBM
+ 
+ 
+ 	)
+ 
+ 184 #ifdeà
+ HAS_NDBM
+ 
+ 
+ 185 #undeà
+ HAS_NDBM
+ 
+ 
+ 187 #ifdeà
+ HAS_ODBM
+ 
+ 
+ 188 #undeà
+ HAS_ODBM
+ 
+ 
+ 191 #ifdeà
+ HAS_NDBM
+ 
+ 
+ 192 
+ 	~<ndbm.h
+ >
+ 
+ 193 
+ 	#SOME_DBM
+ 
+ 
+ 	)
+ 
+ 194 #ifdeà
+ HAS_ODBM
+ 
+ 
+ 195 #undeà
+ HAS_ODBM
+ 
+ 
+ 198 #ifdeà
+ HAS_ODBM
+ 
+ 
+ 199 #ifdeà
+ NULL
+ 
+ 
+ 200 #undeà
+ NULL
+ 
+ 
+ 202 
+ 	~<dbm.h
+ >
+ 
+ 203 #ifdeà
+ NULL
+ 
+ 
+ 204 #undeà
+ NULL
+ 
+ 
+ 206 
+ 	#NULL
+  0
+ 
+ 	)
+ 
+ 207 
+ 	#SOME_DBM
+ 
+ 
+ 	)
+ 
+ 208 
+ 	#dbm_ãtch
+ (
+ db
+ ,
+ dkey
+ è
+ 	`ãtch
+ (dkey)
+ 
+ 	)
+ 
+ 209 
+ 	#dbm_d–‘e
+ (
+ db
+ ,
+ dkey
+ è
+ 	`d–‘e
+ (dkey)
+ 
+ 	)
+ 
+ 210 
+ 	#dbm_¡Üe
+ (
+ db
+ ,
+ dkey
+ ,
+ dcÚ‹Á
+ ,
+ æags
+ è
+ 	`¡Üe
+ (dkey,dcÚ‹Á)
+ 
+ 	)
+ 
+ 211 
+ 	#dbm_þo£
+ (
+ db
+ è
+ 	`dbmþo£
+ ()
+ 
+ 	)
+ 
+ 212 
+ 	#dbm_fœ¡key
+ (
+ db
+ è
+ 	`fœ¡key
+ ()
+ 
+ 	)
+ 
+ 216 #ifdeà
+ SOME_DBM
+ 
+ 
+ 217 
+ EXT
+  *
+ 	gdbmkey
+ ;
+ 
+ 218 
+ EXT
+  
+ 	gdbmËn
+ ;
+ 
+ 221 #ià
+ INTSIZE
+  == 2
+ 
+ 222 
+ 	#htÚi
+  
+ htÚs
+ 
+ 
+ 	)
+ 
+ 223 
+ 	#Áohi
+  
+ Áohs
+ 
+ 
+ 	)
+ 
+ 225 
+ 	#htÚi
+  
+ htÚl
+ 
+ 
+ 	)
+ 
+ 226 
+ 	#Áohi
+  
+ Áohl
+ 
+ 
+ 	)
+ 
+ 229 #ià
+ defšed
+ (
+ I_DIRENT
+ )
+ 
+ 230 
+ 	~<dœ’t.h
+ >
+ 
+ 231 
+ 	#DIRENT
+  
+ dœ’t
+ 
+ 
+ 	)
+ 
+ 233 #ifdeà
+ I_SYS_NDIR
+ 
+ 
+ 234 
+ 	~<sys/ndœ.h
+ >
+ 
+ 235 
+ 	#DIRENT
+  
+ dœeù
+ 
+ 
+ 	)
+ 
+ 237 #ifdeà
+ I_SYS_DIR
+ 
+ 
+ 238 #ifdeà
+ hp9000s500
+ 
+ 
+ 239 
+ 	~<ndœ.h
+ >
+ 
+ 241 
+ 	~<sys/dœ.h
+ >
+ 
+ 243 
+ 	#DIRENT
+  
+ dœeù
+ 
+ 
+ 	)
+ 
+ 254 #iâdeà
+ S_IFMT
+ 
+ 
+ 255 #ifdeà
+ _S_IFMT
+ 
+ 
+ 256 
+ 	#S_IFMT
+  
+ _S_IFMT
+ 
+ 
+ 	)
+ 
+ 258 
+ 	#S_IFMT
+  0170000
+ 
+ 	)
+ 
+ 262 #iâdeà
+ S_ISDIR
+ 
+ 
+ 263 
+ 	#S_ISDIR
+ (
+ m
+ è((m & 
+ S_IFMT
+ è=ð
+ S_IFDIR
+ )
+ 
+ 	)
+ 
+ 266 #iâdeà
+ S_ISCHR
+ 
+ 
+ 267 
+ 	#S_ISCHR
+ (
+ m
+ è((m & 
+ S_IFMT
+ è=ð
+ S_IFCHR
+ )
+ 
+ 	)
+ 
+ 270 #iâdeà
+ S_ISBLK
+ 
+ 
+ 271 #ifdeà
+ S_IFBLK
+ 
+ 
+ 272 
+ 	#S_ISBLK
+ (
+ m
+ è((m & 
+ S_IFMT
+ è=ð
+ S_IFBLK
+ )
+ 
+ 	)
+ 
+ 274 
+ 	#S_ISBLK
+ (
+ m
+ è(0)
+ 
+ 	)
+ 
+ 278 #iâdeà
+ S_ISREG
+ 
+ 
+ 279 
+ 	#S_ISREG
+ (
+ m
+ è((m & 
+ S_IFMT
+ è=ð
+ S_IFREG
+ )
+ 
+ 	)
+ 
+ 282 #iâdeà
+ S_ISFIFO
+ 
+ 
+ 283 #ifdeà
+ S_IFIFO
+ 
+ 
+ 284 
+ 	#S_ISFIFO
+ (
+ m
+ è((m & 
+ S_IFMT
+ è=ð
+ S_IFIFO
+ )
+ 
+ 	)
+ 
+ 286 
+ 	#S_ISFIFO
+ (
+ m
+ è(0)
+ 
+ 	)
+ 
+ 290 #iâdeà
+ S_ISLNK
+ 
+ 
+ 291 #ifdeà
+ _S_ISLNK
+ 
+ 
+ 292 
+ 	#S_ISLNK
+ (
+ m
+ è
+ 	`_S_ISLNK
+ (m)
+ 
+ 	)
+ 
+ 294 #ifdeà
+ _S_IFLNK
+ 
+ 
+ 295 
+ 	#S_ISLNK
+ (
+ m
+ è((m & 
+ S_IFMT
+ è=ð
+ _S_IFLNK
+ )
+ 
+ 	)
+ 
+ 297 #ifdeà
+ S_IFLNK
+ 
+ 
+ 298 
+ 	#S_ISLNK
+ (
+ m
+ è((m & 
+ S_IFMT
+ è=ð
+ S_IFLNK
+ )
+ 
+ 	)
+ 
+ 300 
+ 	#S_ISLNK
+ (
+ m
+ è(0)
+ 
+ 	)
+ 
+ 306 #iâdeà
+ S_ISSOCK
+ 
+ 
+ 307 #ifdeà
+ _S_ISSOCK
+ 
+ 
+ 308 
+ 	#S_ISSOCK
+ (
+ m
+ è
+ 	`_S_ISSOCK
+ (m)
+ 
+ 	)
+ 
+ 310 #ifdeà
+ _S_IFSOCK
+ 
+ 
+ 311 
+ 	#S_ISSOCK
+ (
+ m
+ è((m & 
+ S_IFMT
+ è=ð
+ _S_IFSOCK
+ )
+ 
+ 	)
+ 
+ 313 #ifdeà
+ S_IFSOCK
+ 
+ 
+ 314 
+ 	#S_ISSOCK
+ (
+ m
+ è((m & 
+ S_IFMT
+ è=ð
+ S_IFSOCK
+ )
+ 
+ 	)
+ 
+ 316 
+ 	#S_ISSOCK
+ (
+ m
+ è(0)
+ 
+ 	)
+ 
+ 322 #iâdeà
+ S_IRUSR
+ 
+ 
+ 323 #ifdeà
+ S_IREAD
+ 
+ 
+ 324 
+ 	#S_IRUSR
+  
+ S_IREAD
+ 
+ 
+ 	)
+ 
+ 325 
+ 	#S_IWUSR
+  
+ S_IWRITE
+ 
+ 
+ 	)
+ 
+ 326 
+ 	#S_IXUSR
+  
+ S_IEXEC
+ 
+ 
+ 	)
+ 
+ 328 
+ 	#S_IRUSR
+  0400
+ 
+ 	)
+ 
+ 329 
+ 	#S_IWUSR
+  0200
+ 
+ 	)
+ 
+ 330 
+ 	#S_IXUSR
+  0100
+ 
+ 	)
+ 
+ 332 
+ 	#S_IRGRP
+  (
+ S_IRUSR
+ >>3)
+ 
+ 	)
+ 
+ 333 
+ 	#S_IWGRP
+  (
+ S_IWUSR
+ >>3)
+ 
+ 	)
+ 
+ 334 
+ 	#S_IXGRP
+  (
+ S_IXUSR
+ >>3)
+ 
+ 	)
+ 
+ 335 
+ 	#S_IROTH
+  (
+ S_IRUSR
+ >>6)
+ 
+ 	)
+ 
+ 336 
+ 	#S_IWOTH
+  (
+ S_IWUSR
+ >>6)
+ 
+ 	)
+ 
+ 337 
+ 	#S_IXOTH
+  (
+ S_IXUSR
+ >>6)
+ 
+ 	)
+ 
+ 340 #iâdeà
+ S_ISUID
+ 
+ 
+ 341 
+ 	#S_ISUID
+  04000
+ 
+ 	)
+ 
+ 344 #iâdeà
+ S_ISGID
+ 
+ 
+ 345 
+ 	#S_ISGID
+  02000
+ 
+ 	)
+ 
+ 348 
+ 	tSTRLEN
+ ;
+ 
+ 350 
+ ¬g
+  
+ 	tARG
+ ;
+ 
+ 351 
+ cmd
+  
+ 	tCMD
+ ;
+ 
+ 352 
+ fÜmcmd
+  
+ 	tFCMD
+ ;
+ 
+ 353 
+ sÿÅ©
+  
+ 	tSPAT
+ ;
+ 
+ 354 
+ ¡io
+  
+ 	tSTIO
+ ;
+ 
+ 355 
+ sub
+  
+ 	tSUBR
+ ;
+ 
+ 356 
+ ¡ršg
+  
+ 	tSTR
+ ;
+ 
+ 357 
+ ©bl
+  
+ 	tARRAY
+ ;
+ 
+ 358 
+ htbl
+  
+ 	tHASH
+ ;
+ 
+ 359 
+ »gexp
+  
+ 	tREGEXP
+ ;
+ 
+ 360 
+ ¡ab±rs
+  
+ 	tSTBP
+ ;
+ 
+ 361 
+ ¡ab
+  
+ 	tSTAB
+ ;
+ 
+ 362 
+ ÿΧve
+  
+ 	tCSV
+ ;
+ 
+ 364 
+ 	~"hªdy.h
+ "
+ 
+ 365 
+ 	~"»gexp.h
+ "
+ 
+ 366 
+ 	~"¡r.h
+ "
+ 
+ 367 
+ 	~"utž.h
+ "
+ 
+ 368 
+ 	~"fÜm.h
+ "
+ 
+ 369 
+ 	~"¡ab.h
+ "
+ 
+ 370 
+ 	~"¥©.h
+ "
+ 
+ 371 
+ 	~"¬g.h
+ "
+ 
+ 372 
+ 	~"cmd.h
+ "
+ 
+ 373 
+ 	~"¬¿y.h
+ "
+ 
+ 374 
+ 	~"hash.h
+ "
+ 
+ 376 #ià
+ defšed
+ (
+ iAPX286
+ è|| defšed(
+ M_I286
+ è|| defšed(
+ I80286
+ )
+ 
+ 377 
+ 	#I286
+ 
+ 
+ 	)
+ 
+ 380 #iâdef 
+ __STDC__
+ 
+ 
+ 381 #ifdeà
+ CHARSPRINTF
+ 
+ 
+ 382 *
+ ¥rštf
+ ();
+ 
+ 384 
+ ¥rštf
+ ();
+ 
+ 388 
+ EXT
+  *
+ Yes
+  
+ INIT
+ ("1");
+ 
+ 389 
+ EXT
+  *
+ No
+  
+ INIT
+ ("");
+ 
+ 394 
+ 	#G_SCALAR
+  0
+ 
+ 	)
+ 
+ 395 
+ 	#G_ARRAY
+  1
+ 
+ 	)
+ 
+ 397 #ifdeà
+ CRIPPLED_CC
+ 
+ 
+ 398 
+ ¡r_Œue
+ ();
+ 
+ 400 
+ 	#¡r_Œue
+ (
+ ¡r
+ è(
+ SŒ
+  = (str), \
+ 
+ 401 (
+ SŒ
+ ->
+ ¡r_pok
+  ? \
+ 
+ 402 ((*
+ SŒ
+ ->
+ ¡r_±r
+  > '0' || \
+ 
+ 403 
+ SŒ
+ ->
+ ¡r_cur
+  > 1 || \
+ 
+ 404 (
+ SŒ
+ ->
+ ¡r_cur
+  && *SŒ->
+ ¡r_±r
+  != '0')) ? 1 : 0) \
+ 
+ 406 (
+ SŒ
+ ->
+ ¡r_nok
+  ? (SŒ->
+ ¡r_u
+ .
+ ¡r_nv®
+  !ð0.0è: 0 ) ))
+ 
+ 	)
+ 
+ 409 #ifdeà
+ DEBUGGING
+ 
+ 
+ 410 
+ 	#¡r_³ek
+ (
+ ¡r
+ è(
+ SŒ
+  = (str), \
+ 
+ 411 (
+ SŒ
+ ->
+ ¡r_pok
+  ? \
+ 
+ 412 
+ SŒ
+ ->
+ ¡r_±r
+  : \
+ 
+ 413 (
+ SŒ
+ ->
+ ¡r_nok
+  ? \
+ 
+ 414 (
+ 	`¥rštf
+ (
+ tok’buf
+ ,"num(%g)",
+ SŒ
+ ->
+ ¡r_u
+ .
+ ¡r_nv®
+ ), \
+ 
+ 415 (*)
+ tok’buf
+ ) : \
+ 
+ 416 "" )))
+ 
+ 	)
+ 
+ 419 #ifdeà
+ CRIPPLED_CC
+ 
+ 
+ 420 *
+ ¡r_g‘
+ ();
+ 
+ 422 #ifdeà
+ TAINT
+ 
+ 
+ 423 
+ 	#¡r_g‘
+ (
+ ¡r
+ è(
+ SŒ
+  = (¡r), 
+ š‹d
+  |ðSŒ->
+ ¡r_š‹d
+ , \
+ 
+ 424 (
+ SŒ
+ ->
+ ¡r_pok
+  ? SŒ->
+ ¡r_±r
+  : 
+ 	`¡r_2±r
+ (SŒ)))
+ 
+ 	)
+ 
+ 426 
+ 	#¡r_g‘
+ (
+ ¡r
+ è(
+ SŒ
+  = (¡r), (SŒ->
+ ¡r_pok
+  ? SŒ->
+ ¡r_±r
+  : 
+ 	`¡r_2±r
+ (SŒ)))
+ 
+ 	)
+ 
+ 430 #ifdeà
+ CRIPPLED_CC
+ 
+ 
+ 431 
+ ¡r_gnum
+ ();
+ 
+ 433 #ifdeà
+ TAINT
+ 
+ 
+ 434 
+ 	#¡r_gnum
+ (
+ ¡r
+ è(
+ SŒ
+  = (¡r), 
+ š‹d
+  |ðSŒ->
+ ¡r_š‹d
+ , \
+ 
+ 435 (
+ SŒ
+ ->
+ ¡r_nok
+  ? SŒ->
+ ¡r_u
+ .
+ ¡r_nv®
+  : 
+ 	`¡r_2num
+ (SŒ)))
+ 
+ 	)
+ 
+ 437 
+ 	#¡r_gnum
+ (
+ ¡r
+ è(
+ SŒ
+  = (¡r), (SŒ->
+ ¡r_nok
+  ? SŒ->
+ ¡r_u
+ .
+ ¡r_nv®
+  : 
+ 	`¡r_2num
+ (SŒ)))
+ 
+ 	)
+ 
+ 440 
+ EXT
+  
+ STR
+  *
+ 	gSŒ
+ ;
+ 
+ 442 
+ 	#GROWSTR
+ (
+ µ
+ ,
+ Í
+ ,
+ Ën
+ èià(*Öpè< (Ën)è
+ 	`grow¡r
+ Õp,Í,Ën)
+ 
+ 	)
+ 
+ 444 #iâdeà
+ MSDOS
+ 
+ 
+ 445 
+ 	#STR_GROW
+ (
+ ¡r
+ ,
+ Ën
+ èià((¡r)->
+ ¡r_Ën
+  < (Ën)è
+ 	`¡r_grow
+ (¡r,Ën)
+ 
+ 	)
+ 
+ 446 
+ 	#SŒ_Grow
+  
+ ¡r_grow
+ 
+ 
+ 	)
+ 
+ 449 
+ 	#STR_GROW
+ (
+ ¡r
+ ,
+ Ën
+ èià((¡r)->
+ ¡r_Ën
+  < ()len) \
+ 
+ 450 
+ 	`¡r_grow
+ (
+ ¡r
+ ,()
+ Ën
+ )
+ 
+ 	)
+ 
+ 451 
+ 	#SŒ_Grow
+ (
+ ¡r
+ ,
+ Ën
+ è
+ 	`¡r_grow
+ (¡r,()Ö’))
+ 
+ 	)
+ 
+ 454 #iâdeà
+ BYTEORDER
+ 
+ 
+ 455 
+ 	#BYTEORDER
+  0x1234
+ 
+ 	)
+ 
+ 458 #ià
+ defšed
+ (
+ htÚl
+ è&& !defšed(
+ HAS_HTONL
+ )
+ 
+ 459 
+ 	#HAS_HTONL
+ 
+ 
+ 	)
+ 
+ 461 #ià
+ defšed
+ (
+ htÚs
+ è&& !defšed(
+ HAS_HTONS
+ )
+ 
+ 462 
+ 	#HAS_HTONS
+ 
+ 
+ 	)
+ 
+ 464 #ià
+ defšed
+ (
+ Áohl
+ è&& !defšed(
+ HAS_NTOHL
+ )
+ 
+ 465 
+ 	#HAS_NTOHL
+ 
+ 
+ 	)
+ 
+ 467 #ià
+ defšed
+ (
+ Áohs
+ è&& !defšed(
+ HAS_NTOHS
+ )
+ 
+ 468 
+ 	#HAS_NTOHS
+ 
+ 
+ 	)
+ 
+ 470 #iâdeà
+ HAS_HTONL
+ 
+ 
+ 471 #ià(
+ BYTEORDER
+  & 0xffff) != 0x4321
+ 
+ 472 
+ 	#HAS_HTONS
+ 
+ 
+ 	)
+ 
+ 473 
+ 	#HAS_HTONL
+ 
+ 
+ 	)
+ 
+ 474 
+ 	#HAS_NTOHS
+ 
+ 
+ 	)
+ 
+ 475 
+ 	#HAS_NTOHL
+ 
+ 
+ 	)
+ 
+ 476 
+ 	#MYSWAP
+ 
+ 
+ 	)
+ 
+ 477 
+ 	#htÚs
+  
+ my_sw­
+ 
+ 
+ 	)
+ 
+ 478 
+ 	#htÚl
+  
+ my_htÚl
+ 
+ 
+ 	)
+ 
+ 479 
+ 	#Áohs
+  
+ my_sw­
+ 
+ 
+ 	)
+ 
+ 480 
+ 	#Áohl
+  
+ my_Áohl
+ 
+ 
+ 	)
+ 
+ 483 #ià(
+ BYTEORDER
+  & 0xffff) == 0x4321
+ 
+ 484 #undeà
+ HAS_HTONS
+ 
+ 
+ 485 #undeà
+ HAS_HTONL
+ 
+ 
+ 486 #undeà
+ HAS_NTOHS
+ 
+ 
+ 487 #undeà
+ HAS_NTOHL
+ 
+ 
+ 491 #ifdeà
+ CASTNEGFLOAT
+ 
+ 
+ 492 
+ 	#U_S
+ (
+ wh©
+ è(()(wh©))
+ 
+ 	)
+ 
+ 493 
+ 	#U_I
+ (
+ wh©
+ è(()(wh©))
+ 
+ 	)
+ 
+ 494 
+ 	#U_L
+ (
+ wh©
+ è(()(wh©))
+ 
+ 	)
+ 
+ 496 
+ ÿ¡ulÚg
+ ();
+ 
+ 497 
+ 	#U_S
+ (
+ wh©
+ è(()
+ 	`ÿ¡ulÚg
+ (wh©))
+ 
+ 	)
+ 
+ 498 
+ 	#U_I
+ (
+ wh©
+ è(()
+ 	`ÿ¡ulÚg
+ (wh©))
+ 
+ 	)
+ 
+ 499 
+ 	#U_L
+ (
+ wh©
+ è(
+ 	`ÿ¡ulÚg
+ (wh©))
+ 
+ 	)
+ 
+ 502 
+ CMD
+  *
+ add_Ïb–
+ ();
+ 
+ 503 
+ CMD
+  *
+ block_h—d
+ ();
+ 
+ 504 
+ CMD
+  *
+ ­³nd_lše
+ ();
+ 
+ 505 
+ CMD
+  *
+ make_acmd
+ ();
+ 
+ 506 
+ CMD
+  *
+ make_ccmd
+ ();
+ 
+ 507 
+ CMD
+  *
+ make_icmd
+ ();
+ 
+ 508 
+ CMD
+  *
+ šv”t
+ ();
+ 
+ 509 
+ CMD
+  *
+ addcÚd
+ ();
+ 
+ 510 
+ CMD
+  *
+ addloÝ
+ ();
+ 
+ 511 
+ CMD
+  *
+ wÝt
+ ();
+ 
+ 512 
+ CMD
+  *
+ ov”
+ ();
+ 
+ 514 
+ STAB
+  *
+ ¡ab’t
+ ();
+ 
+ 515 
+ STAB
+  *
+ g’¡ab
+ ();
+ 
+ 517 
+ ARG
+  *
+ ¡ab2¬g
+ ();
+ 
+ 518 
+ ARG
+  *
+ Ý_Ãw
+ ();
+ 
+ 519 
+ ARG
+  *
+ make_Ý
+ ();
+ 
+ 520 
+ ARG
+  *
+ make_m©ch
+ ();
+ 
+ 521 
+ ARG
+  *
+ make_¥l™
+ ();
+ 
+ 522 
+ ARG
+  *
+ rÿtmaybe
+ ();
+ 
+ 523 
+ ARG
+  *
+ li¡ish
+ ();
+ 
+ 524 
+ ARG
+  *
+ mayb–i¡ish
+ ();
+ 
+ 525 
+ ARG
+  *
+ loÿlize
+ ();
+ 
+ 526 
+ ARG
+  *
+ fixev®
+ ();
+ 
+ 527 
+ ARG
+  *
+ jmaybe
+ ();
+ 
+ 528 
+ ARG
+  *
+ l
+ ();
+ 
+ 529 
+ ARG
+  *
+ fixl
+ ();
+ 
+ 530 
+ ARG
+  *
+ mod_m©ch
+ ();
+ 
+ 531 
+ ARG
+  *
+ make_li¡
+ ();
+ 
+ 532 
+ ARG
+  *
+ cmd_to_¬g
+ ();
+ 
+ 533 
+ ARG
+  *
+ addæags
+ ();
+ 
+ 534 
+ ARG
+  *
+ hide_¬y
+ ();
+ 
+ 535 
+ ARG
+  *
+ cv®_to_¬g
+ ();
+ 
+ 537 
+ STR
+  *
+ ¡r_Ãw
+ ();
+ 
+ 538 
+ STR
+  *
+ ¡ab_¡r
+ ();
+ 
+ 540 
+ do_—ch
+ ();
+ 
+ 541 
+ do_subr
+ ();
+ 
+ 542 
+ do_m©ch
+ ();
+ 
+ 543 
+ do_uÅack
+ ();
+ 
+ 544 
+ ev®
+ ();
+ 
+ 545 
+ do_ev®
+ ();
+ 
+ 546 
+ do_assign
+ ();
+ 
+ 548 
+ SUBR
+  *
+ make_sub
+ ();
+ 
+ 550 
+ FCMD
+  *
+ lßd_fÜm©
+ ();
+ 
+ 552 *
+ sÿÅ©
+ ();
+ 
+ 553 *
+ sÿnsub¡
+ ();
+ 
+ 554 *
+ sÿÁ¿ns
+ ();
+ 
+ 555 *
+ sÿn¡r
+ ();
+ 
+ 556 *
+ sÿnid’t
+ ();
+ 
+ 557 *
+ ¡r_­³nd_tžl
+ ();
+ 
+ 558 *
+ ¡r_g‘s
+ ();
+ 
+ 559 *
+ ¡r_grow
+ ();
+ 
+ 561 
+ boÞ
+  
+ do_ݒ
+ ();
+ 
+ 562 
+ boÞ
+  
+ do_þo£
+ ();
+ 
+ 563 
+ boÞ
+  
+ do_´št
+ ();
+ 
+ 564 
+ boÞ
+  
+ do_­ršt
+ ();
+ 
+ 565 
+ boÞ
+  
+ do_exec
+ ();
+ 
+ 566 
+ boÞ
+  
+ do_«xec
+ ();
+ 
+ 568 
+ do_sub¡
+ ();
+ 
+ 569 
+ ÿndo
+ ();
+ 
+ 570 
+ šgroup
+ ();
+ 
+ 572 
+ ¡r_»¶aû
+ ();
+ 
+ 573 
+ ¡r_šc
+ ();
+ 
+ 574 
+ ¡r_dec
+ ();
+ 
+ 575 
+ ¡r_ä“
+ ();
+ 
+ 576 
+ ¡ab_þ—r
+ ();
+ 
+ 577 
+ do_još
+ ();
+ 
+ 578 
+ do_¥rštf
+ ();
+ 
+ 579 
+ do_acû±
+ ();
+ 
+ 580 
+ do_pe
+ ();
+ 
+ 581 
+ do_vec£t
+ ();
+ 
+ 582 
+ do_unshiá
+ ();
+ 
+ 583 
+ do_execä“
+ ();
+ 
+ 584 
+ magiÿlize
+ ();
+ 
+ 585 
+ magiúame
+ ();
+ 
+ 586 
+ §v–i¡
+ ();
+ 
+ 587 
+ §ve™em
+ ();
+ 
+ 588 
+ §vešt
+ ();
+ 
+ 589 
+ §v–Úg
+ ();
+ 
+ 590 
+ §ve¥Œ
+ ();
+ 
+ 591 
+ §veh±r
+ ();
+ 
+ 592 
+ »¡Ü–i¡
+ ();
+ 
+ 593 
+ »³©ýy
+ ();
+ 
+ 594 
+ HASH
+  *
+ §vehash
+ ();
+ 
+ 595 
+ ARRAY
+  *
+ §v—ry
+ ();
+ 
+ 597 
+ EXT
+  **
+ 	gÜig¬gv
+ ;
+ 
+ 598 
+ EXT
+  
+ 	gÜig¬gc
+ ;
+ 
+ 599 
+ EXT
+  **
+ 	gÜig’vœÚ
+ ;
+ 
+ 600 
**
+ ’vœÚ
+ ;
+ 
+ 602 
+ EXT
+  
+ lše_t
+  
+ sublše
+  
+ INIT
+ (0);
+ 
+ 603 
+ EXT
+  
+ STR
+  *
+ subÇme
+  
+ INIT
+ (
+ NuΡr
+ );
+ 
+ 604 
+ EXT
+  
+ ¬yba£
+  
+ INIT
+ (0);
+ 
+ 606 
+ 	souŒec
+  {
+ 
+ 607 
+ 	mo_lšes
+ ;
+ 
+ 608 *
+ 	mo_¡r
+ ;
+ 
+ 609 
+ 	mo_Ën
+ ;
+ 
+ 612 
+ EXT
+  
+ ouŒec
+  
+ 	gouŒec
+ ;
+ 
+ 613 
+ EXT
+  
+ ouŒec
+  
+ 	gtݻc
+ ;
+ 
+ 615 
+ EXT
+  
+ STAB
+  *
+ ¡dš¡ab
+  
+ INIT
+ (
+ NuΡab
+ );
+ 
+ 616 
+ EXT
+  
+ STAB
+  *
+ Ï¡_š_¡ab
+  
+ INIT
+ (
+ NuΡab
+ );
+ 
+ 617 
+ EXT
+  
+ STAB
+  *
+ def¡ab
+  
+ INIT
+ (
+ NuΡab
+ );
+ 
+ 618 
+ EXT
+  
+ STAB
+  *
+ ¬gv¡ab
+  
+ INIT
+ (
+ NuΡab
+ );
+ 
+ 619 
+ EXT
+  
+ STAB
+  *
+ ’v¡ab
+  
+ INIT
+ (
+ NuΡab
+ );
+ 
+ 620 
+ EXT
+  
+ STAB
+  *
+ sig¡ab
+  
+ INIT
+ (
+ NuΡab
+ );
+ 
+ 621 
+ EXT
+  
+ STAB
+  *
+ defout¡ab
+  
+ INIT
+ (
+ NuΡab
+ );
+ 
+ 622 
+ EXT
+  
+ STAB
+  *
+ curout¡ab
+  
+ INIT
+ (
+ NuΡab
+ );
+ 
+ 623 
+ EXT
+  
+ STAB
+  *
+ ¬gvout¡ab
+  
+ INIT
+ (
+ NuΡab
+ );
+ 
+ 624 
+ EXT
+  
+ STAB
+  *
+ šc¡ab
+  
+ INIT
+ (
+ NuΡab
+ );
+ 
+ 625 
+ EXT
+  
+ STAB
+  *
+ Ëá¡ab
+  
+ INIT
+ (
+ NuΡab
+ );
+ 
+ 626 
+ EXT
+  
+ STAB
+  *
+ am³r¡ab
+  
+ INIT
+ (
+ NuΡab
+ );
+ 
+ 627 
+ EXT
+  
+ STAB
+  *
+ right¡ab
+  
+ INIT
+ (
+ NuΡab
+ );
+ 
+ 628 
+ EXT
+  
+ STAB
+  *
+ DB¡ab
+  
+ INIT
+ (
+ NuΡab
+ );
+ 
+ 629 
+ EXT
+  
+ STAB
+  *
+ DBlše
+  
+ INIT
+ (
+ NuΡab
+ );
+ 
+ 630 
+ EXT
+  
+ STAB
+  *
+ DBsub
+  
+ INIT
+ (
+ NuΡab
+ );
+ 
+ 632 
+ EXT
+  
+ HASH
+  *
+ 	gdef¡ash
+ ;
+ 
+ 633 
+ EXT
+  
+ HASH
+  *
+ 	gcur¡ash
+ ;
+ 
+ 634 
+ EXT
+  
+ HASH
+  *
+ 	gdeb¡ash
+ ;
+ 
+ 636 
+ EXT
+  
+ STR
+  *
+ 	gcur¡Çme
+ ;
+ 
+ 638 
+ EXT
+  
+ STR
+  *
+ ä“¡¼oÙ
+  
+ INIT
+ (
+ NuΡr
+ );
+ 
+ 639 
+ EXT
+  
+ STR
+  *
+ Ï¡»t¡r
+  
+ INIT
+ (
+ NuΡr
+ );
+ 
+ 640 
+ EXT
+  
+ STR
+  *
+ DBsšgË
+  
+ INIT
+ (
+ NuΡr
+ );
+ 
+ 641 
+ EXT
+  
+ STR
+  *
+ DBŒaû
+  
+ INIT
+ (
+ NuΡr
+ );
+ 
+ 642 
+ EXT
+  
+ STR
+  *
+ DBsigÇl
+  
+ INIT
+ (
+ NuΡr
+ );
+ 
+ 644 
+ EXT
+  
+ 	gÏ¡¥ba£
+ ;
+ 
+ 645 
+ EXT
+  
+ 	gϡsize
+ ;
+ 
+ 647 
+ EXT
+  *
+ hexdig™
+  
+ INIT
+ ("0123456789abcdef0123456789ABCDEF");
+ 
+ 648 
+ EXT
+  *
+ 	gÜigfž’ame
+ ;
+ 
+ 649 
+ EXT
+  
+ FILE
+  * 
+ VOLATILE
+  
+ 	grså
+ ;
+ 
+ 650 
+ EXT
+  
+ 	gbuf
+ [1024];
+ 
+ 651 
+ EXT
+  *
+ 	gbuåŒ
+ ;
+ 
+ 652 
+ EXT
+  *
+ 	gÞdbuåŒ
+ ;
+ 
+ 653 
+ EXT
+  *
+ 	gÞdÞdbuåŒ
+ ;
+ 
+ 654 
+ EXT
+  *
+ 	gbuãnd
+ ;
+ 
+ 656 
+ EXT
+  
+ STR
+  *
+ lše¡r
+  
+ INIT
+ (
+ NuΡr
+ );
+ 
+ 658 
+ EXT
+  *
+ rs
+  
+ INIT
+ ("\n");
+ 
+ 659 
+ EXT
+  
+ rsch¬
+  
+ INIT
+ ('\n');
+ 
+ 660 
+ EXT
+  
+ r¦’
+  
+ INIT
+ (1);
+ 
+ 661 
+ EXT
+  *
+ ofs
+  
+ INIT
+ (
+ NuÎch
+ );
+ 
+ 662 
+ EXT
+  
+ of¦’
+  
+ INIT
+ (0);
+ 
+ 663 
+ EXT
+  *
+ Üs
+  
+ INIT
+ (
+ NuÎch
+ );
+ 
+ 664 
+ EXT
+  
+ ܦ’
+  
+ INIT
+ (0);
+ 
+ 665 
+ EXT
+  *
+ ofmt
+  
+ INIT
+ (
+ NuÎch
+ );
+ 
+ 666 
+ EXT
+  *
+ š¶aû
+  
+ INIT
+ (
+ NuÎch
+ );
+ 
+ 667 
+ EXT
+  *
+ nošŒp
+  
+ INIT
+ ("");
+ 
+ 669 
+ EXT
+  
+ boÞ
+  
+ ´•roûss
+  
+ INIT
+ (
+ FALSE
+ );
+ 
+ 670 
+ EXT
+  
+ boÞ
+  
+ mšus_n
+  
+ INIT
+ (
+ FALSE
+ );
+ 
+ 671 
+ EXT
+  
+ boÞ
+  
+ mšus_p
+  
+ INIT
+ (
+ FALSE
+ );
+ 
+ 672 
+ EXT
+  
+ boÞ
+  
+ mšus_l
+  
+ INIT
+ (
+ FALSE
+ );
+ 
+ 673 
+ EXT
+  
+ boÞ
+  
+ mšus_a
+  
+ INIT
+ (
+ FALSE
+ );
+ 
+ 674 
+ EXT
+  
+ boÞ
+  
+ dosw™ches
+  
+ INIT
+ (
+ FALSE
+ );
+ 
+ 675 
+ EXT
+  
+ boÞ
+  
+ dow¬n
+  
+ INIT
+ (
+ FALSE
+ );
+ 
+ 676 
+ EXT
+  
+ boÞ
+  
+ dÛxŒaù
+  
+ INIT
+ (
+ FALSE
+ );
+ 
+ 677 
+ EXT
+  
+ boÞ
+  
+ ®l¡abs
+  
+ INIT
+ (
+ FALSE
+ );
+ 
+ 678 
+ EXT
+  
+ boÞ
+  
+ §wam³r§nd
+  
+ INIT
+ (
+ FALSE
+ );
+ 
+ 679 
+ EXT
+  
+ boÞ
+  
+ §w¡udy
+  
+ INIT
+ (
+ FALSE
+ );
+ 
+ 680 
+ EXT
+  
+ boÞ
+  
+ §wi
+  
+ INIT
+ (
+ FALSE
+ );
+ 
+ 681 
+ EXT
+  
+ boÞ
+  
+ §wvec
+  
+ INIT
+ (
+ FALSE
+ );
+ 
+ 682 
+ EXT
+  
+ boÞ
+  
+ loÿlizšg
+  
+ INIT
+ (
+ FALSE
+ );
+ 
+ 684 #ifdeà
+ CSH
+ 
+ 
+ 685 *
+ cshÇme
+  
+ INIT
+ (
+ CSH
+ );
+ 
+ 686 
+ cshËn
+  
+ INIT
+ (0);
+ 
+ 689 #ifdeà
+ TAINT
+ 
+ 
+ 690 
+ EXT
+  
+ boÞ
+  
+ š‹d
+  
+ INIT
+ (
+ FALSE
+ );
+ 
+ 693 #iâdeà
+ MSDOS
+ 
+ 
+ 694 
+ 	#TMPPATH
+  "/tmp/³¾-eXXXXXX"
+ 
+ 	)
+ 
+ 696 
+ 	#TMPPATH
+  "¶XXXXXX"
+ 
+ 	)
+ 
+ 698 
+ EXT
+  *
+ 	ge_tm²ame
+ ;
+ 
+ 699 
+ EXT
+  
+ FILE
+  *
+ e_å
+  
+ INIT
+ (
+ NuÎå
+ );
+ 
+ 701 
+ EXT
+  
+ 	gtok’buf
+ [256];
+ 
+ 702 
+ EXT
+  
+ ex³ù‹rm
+  
+ INIT
+ (
+ TRUE
+ );
+ 
+ 703 
+ EXT
+  
+ VOLATILE
+  
+ š_ev®
+  
+ INIT
+ (
+ FALSE
+ );
+ 
+ 704 
+ EXT
+  
+ muÉžše
+  
+ INIT
+ (0);
+ 
+ 705 
+ EXT
+  
+ 	gfÜk´oûss
+ ;
+ 
+ 706 
+ EXT
+  
+ do_undump
+  
+ INIT
+ (0);
+ 
+ 707 
+ EXT
+  
+ ”rÜ_couÁ
+  
+ INIT
+ (0);
+ 
+ 708 
+ EXT
+  
+ muÉi_¡¬t
+  
+ INIT
+ (0);
+ 
+ 709 
+ EXT
+  
+ muÉi_’d
+  
+ INIT
+ (0);
+ 
+ 710 
+ EXT
+  
+ muÉi_Ý’
+  
+ INIT
+ (0);
+ 
+ 711 
+ EXT
+  
+ muÉi_þo£
+  
+ INIT
+ (0);
+ 
+ 713 
+ FILE
+  *
+ pݒ
+ ();
+ 
+ 715 
+ STR
+  *
+ š‹½
+ ();
+ 
+ 716 
+ ä“_¬g
+ ();
+ 
+ 717 
+ STIO
+  *
+ ¡io_Ãw
+ ();
+ 
+ 719 
+ EXT
+  
+ ¡©
+  
+ 	g¡©buf
+ ;
+ 
+ 720 
+ EXT
+  
+ ¡©
+  
+ 	g¡©ÿche
+ ;
+ 
+ 721 
+ STAB
+  *
+ ¡©¡ab
+  
+ INIT
+ (
+ NuΡab
+ );
+ 
+ 722 
+ STR
+  *
+ 	g¡©Çme
+ ;
+ 
+ 723 #iâdeà
+ MSDOS
+ 
+ 
+ 724 
+ EXT
+  
+ tms
+  
+ 	gtimesbuf
+ ;
+ 
+ 726 
+ EXT
+  
+ 	guid
+ ;
+ 
+ 727 
+ EXT
+  
+ 	geuid
+ ;
+ 
+ 728 
+ EXT
+  
+ 	ggid
+ ;
+ 
+ 729 
+ EXT
+  
+ 	gegid
+ ;
+ 
+ 730 
+ UIDTYPE
+  
+ g‘uid
+ ();
+ 
+ 731 
+ UIDTYPE
+  
+ g‘euid
+ ();
+ 
+ 732 
+ GIDTYPE
+  
+ g‘gid
+ ();
+ 
+ 733 
+ GIDTYPE
+  
+ g‘egid
+ ();
+ 
+ 734 
+ EXT
+  
+ 	gun§ã
+ ;
+ 
+ 736 #ifdeà
+ DEBUGGING
+ 
+ 
+ 737 
+ EXT
+  
+ VOLATILE
+  
+ debug
+  
+ INIT
+ (0);
+ 
+ 738 
+ EXT
+  
+ dËv–
+  
+ INIT
+ (0);
+ 
+ 739 
+ EXT
+  
+ dlmax
+  
+ INIT
+ (128);
+ 
+ 740 
+ EXT
+  *
+ 	gdebÇme
+ ;
+ 
+ 741 
+ EXT
+  *
+ 	gdebd–im
+ ;
+ 
+ 742 
+ 	#YYDEBUG
+  1
+ 
+ 	)
+ 
+ 744 
+ EXT
+  
+ ³¾db
+  
+ INIT
+ (0);
+ 
+ 745 
+ 	#YYMAXDEPTH
+  300
+ 
+ 	)
+ 
+ 747 
+ EXT
+  
+ lše_t
+  
+ cmdlše
+  
+ INIT
+ (
+ NOLINE
+ );
+ 
+ 749 
+ EXT
+  
+ STR
+  
+ 	g¡r_undef
+ ;
+ 
+ 750 
+ EXT
+  
+ STR
+  
+ 	g¡r_no
+ ;
+ 
+ 751 
+ EXT
+  
+ STR
+  
+ 	g¡r_yes
+ ;
+ 
+ 755 
+ EXT
+  
+ 	sloÝ
+  {
+ 
+ 756 *
+ 	mloÝ_Ïb–
+ ;
+ 
+ 757 
+ 	mloÝ_¥
+ ;
+ 
+ 758 
+ jmp_buf
+  
+ 	mloÝ_’v
+ ;
+ 
+ 759 } *
+ 	gloÝ_¡ack
+ ;
+ 
+ 761 
+ EXT
+  
+ loÝ_±r
+  
+ INIT
+ (-1);
+ 
+ 762 
+ EXT
+  
+ loÝ_max
+  
+ INIT
+ (128);
+ 
+ 764 
+ EXT
+  
+ jmp_buf
+  
+ 	gtÝ_’v
+ ;
+ 
+ 766 
+ EXT
+  * 
+ VOLATILE
+  
+ gÙo_rg
+  
+ INIT
+ (
+ NuÎch
+ );
+ 
+ 768 
+ 	sufuncs
+  {
+ 
+ 769 (*
+ 	muf_v®
+ )();
+ 
+ 770 (*
+ 	muf_£t
+ )();
+ 
+ 771 
+ 	muf_šdex
+ ;
+ 
+ 774 
+ EXT
+  
+ ARRAY
+  *
+ 	g¡ack
+ ;
+ 
+ 776 
+ EXT
+  
+ ARRAY
+  * 
+ VOLATILE
+  
+ 	g§ve¡ack
+ ;
+ 
+ 778 
+ EXT
+  
+ ARRAY
+  *
+ 	gto§ve
+ ;
+ 
+ 780 
+ EXT
+  
+ ARRAY
+  *
+ 	glš—ry
+ ;
+ 
+ 781 
+ EXT
+  
+ ARRAY
+  *
+ 	gdb¬gs
+ ;
+ 
+ 783 
+ EXT
+  
+ ARRAY
+  *
+ 	gfdpid
+ ;
+ 
+ 784 
+ EXT
+  
+ HASH
+  *
+ 	gpid¡©us
+ ;
+ 
+ 786 
+ EXT
+  *
+ 	gdi
+ ;
+ 
+ 787 
+ EXT
+  *
+ 	gdc
+ ;
+ 
+ 788 
+ EXT
+  *
+ 	gds
+ ;
+ 
+ 791 
+ EXT
+  
+ ba£time
+  
+ INIT
+ (0);
+ 
+ 792 *
+ mk‹mp
+ ();
+ 
+ 793 #iâdeà
+ __STDC__
+ 
+ 
+ 795 
+ ©of
+ ();
+ 
+ 796 
+ time
+ ();
+ 
+ 797 
+ tm
+  *
+ gmtime
+ (), *
+ loÿÉime
+ ();
+ 
+ 798 *
+ šdex
+ (), *
+ ršdex
+ ();
+ 
+ 799 *
+ ¡rýy
+ (), *
+ ¡rÿt
+ ();
+ 
+ 802 #ifdeà
+ EUNICE
+ 
+ 
+ 803 
+ 	#UNLINK
+  
+ uÆnk
+ 
+ 
+ 	)
+ 
+ 804 
+ uÆnk
+ ();
+ 
+ 806 
+ 	#UNLINK
+  
+ uƚk
+ 
+ 
+ 	)
+ 
+ 809 #iâdeà
+ HAS_SETREUID
+ 
+ 
+ 810 #ifdeà
+ HAS_SETRESUID
+ 
+ 
+ 811 
+ 	#£Œeuid
+ (
+ r
+ ,
+ e
+ è
+ 	`£Œesuid
+ Ô,e,-1)
+ 
+ 	)
+ 
+ 812 
+ 	#HAS_SETREUID
+ 
+ 
+ 	)
+ 
+ 815 #iâdeà
+ HAS_SETREGID
+ 
+ 
+ 816 #ifdeà
+ HAS_SETRESGID
+ 
+ 
+ 817 
+ 	#£Œegid
+ (
+ r
+ ,
+ e
+ è
+ 	`£Œesgid
+ Ô,e,-1)
+ 
+ 	)
+ 
+ 818 
+ 	#HAS_SETREGID
+ 
+ 
+ 	)
+ 
+ 822 #iâdeà
+ åuts
+ 
+ 
+ 823 
+ 	#åuts
+ (
+ ¡r
+ ,
+ å
+ è
+ 	`årštf
+ (å,"%s",¡r)
+ 
+ 	)
+ 
+ 	@perly.c
+ 
+ 1 #iâdeà
+ lšt
+ 
+ 
+ 3 
+ 	gyyrcsid
+ [] = "$FreeBSD: src/usr.bin/yacc/skeleton.c,v 1.28 2000/01/17 02:04:06 bde Exp $";
+ 
+ 5 
+ 	~<¡dlib.h
+ >
+ 
+ 6 
+ 	#YYBYACC
+  1
+ 
+ 	)
+ 
+ 7 
+ 	#YYMAJOR
+  1
+ 
+ 	)
+ 
+ 8 
+ 	#YYMINOR
+  9
+ 
+ 	)
+ 
+ 9 
+ 	#YYLEX
+  
+ 	`yyËx
+ ()
+ 
+ 	)
+ 
+ 10 
+ 	#YYEMPTY
+  -1
+ 
+ 	)
+ 
+ 11 
+ 	#yyþ—rš
+  (
+ yych¬
+ =(
+ YYEMPTY
+ ))
+ 
+ 	)
+ 
+ 12 
+ 	#yy”rok
+  (
+ yy”ræag
+ =0)
+ 
+ 	)
+ 
+ 13 
+ 	#YYRECOVERING
+ (è(
+ yy”ræag
+ !=0)
+ 
+ 	)
+ 
+ 14 
+ yygrow¡ack
+ ();
+ 
+ 15 
+ 	#YYPREFIX
+  "yy"
+ 
+ 	)
+ 
+ 17 
+ 	~"INTERN.h
+ "
+ 
+ 18 
+ 	~"³¾.h
+ "
+ 
+ 20 
+ STAB
+  *
+ 	gsü¡ab
+ ;
+ 
+ 21 
+ ARG
+  *
+ 	g¬g4
+ ;
+ 
+ 22 
+ ARG
+  *
+ 	g¬g5
+ ;
+ 
+ 26 
+ 	miv®
+ ;
+ 
+ 27 *
+ 	mcv®
+ ;
+ 
+ 28 
+ ARG
+  *
+ 	m¬g
+ ;
+ 
+ 29 
+ CMD
+  *
+ 	mcmdv®
+ ;
+ 
+ 30 
+ compcmd
+  
+ 	mcompv®
+ ;
+ 
+ 31 
+ STAB
+  *
+ 	m¡abv®
+ ;
+ 
+ 32 
+ FCMD
+  *
+ 	mfÜmv®
+ ;
+ 
+ 33 } 
+ 	tYYSTYPE
+ ;
+ 
+ 35 
+ 	#YYERRCODE
+  256
+ 
+ 	)
+ 
+ 36 
+ 	#WORD
+  257
+ 
+ 	)
+ 
+ 37 
+ 	#APPEND
+  258
+ 
+ 	)
+ 
+ 38 
+ 	#OPEN
+  259
+ 
+ 	)
+ 
+ 39 
+ 	#SSELECT
+  260
+ 
+ 	)
+ 
+ 40 
+ 	#LOOPEX
+  261
+ 
+ 	)
+ 
+ 41 
+ 	#USING
+  262
+ 
+ 	)
+ 
+ 42 
+ 	#FORMAT
+  263
+ 
+ 	)
+ 
+ 43 
+ 	#DO
+  264
+ 
+ 	)
+ 
+ 44 
+ 	#SHIFT
+  265
+ 
+ 	)
+ 
+ 45 
+ 	#PUSH
+  266
+ 
+ 	)
+ 
+ 46 
+ 	#POP
+  267
+ 
+ 	)
+ 
+ 47 
+ 	#LVALFUN
+  268
+ 
+ 	)
+ 
+ 48 
+ 	#WHILE
+  269
+ 
+ 	)
+ 
+ 49 
+ 	#UNTIL
+  270
+ 
+ 	)
+ 
+ 50 
+ 	#IF
+  271
+ 
+ 	)
+ 
+ 51 
+ 	#UNLESS
+  272
+ 
+ 	)
+ 
+ 52 
+ 	#ELSE
+  273
+ 
+ 	)
+ 
+ 53 
+ 	#ELSIF
+  274
+ 
+ 	)
+ 
+ 54 
+ 	#CONTINUE
+  275
+ 
+ 	)
+ 
+ 55 
+ 	#SPLIT
+  276
+ 
+ 	)
+ 
+ 56 
+ 	#FLIST
+  277
+ 
+ 	)
+ 
+ 57 
+ 	#FOR
+  278
+ 
+ 	)
+ 
+ 58 
+ 	#FILOP
+  279
+ 
+ 	)
+ 
+ 59 
+ 	#FILOP2
+  280
+ 
+ 	)
+ 
+ 60 
+ 	#FILOP3
+  281
+ 
+ 	)
+ 
+ 61 
+ 	#FILOP4
+  282
+ 
+ 	)
+ 
+ 62 
+ 	#FILOP22
+  283
+ 
+ 	)
+ 
+ 63 
+ 	#FILOP25
+  284
+ 
+ 	)
+ 
+ 64 
+ 	#FUNC0
+  285
+ 
+ 	)
+ 
+ 65 
+ 	#FUNC1
+  286
+ 
+ 	)
+ 
+ 66 
+ 	#FUNC2
+  287
+ 
+ 	)
+ 
+ 67 
+ 	#FUNC2x
+  288
+ 
+ 	)
+ 
+ 68 
+ 	#FUNC3
+  289
+ 
+ 	)
+ 
+ 69 
+ 	#FUNC4
+  290
+ 
+ 	)
+ 
+ 70 
+ 	#FUNC5
+  291
+ 
+ 	)
+ 
+ 71 
+ 	#HSHFUN
+  292
+ 
+ 	)
+ 
+ 72 
+ 	#HSHFUN3
+  293
+ 
+ 	)
+ 
+ 73 
+ 	#FLIST2
+  294
+ 
+ 	)
+ 
+ 74 
+ 	#SUB
+  295
+ 
+ 	)
+ 
+ 75 
+ 	#FILETEST
+  296
+ 
+ 	)
+ 
+ 76 
+ 	#LOCAL
+  297
+ 
+ 	)
+ 
+ 77 
+ 	#DELETE
+  298
+ 
+ 	)
+ 
+ 78 
+ 	#RELOP
+  299
+ 
+ 	)
+ 
+ 79 
+ 	#EQOP
+  300
+ 
+ 	)
+ 
+ 80 
+ 	#MULOP
+  301
+ 
+ 	)
+ 
+ 81 
+ 	#ADDOP
+  302
+ 
+ 	)
+ 
+ 82 
+ 	#PACKAGE
+  303
+ 
+ 	)
+ 
+ 83 
+ 	#AMPER
+  304
+ 
+ 	)
+ 
+ 84 
+ 	#FORMLIST
+  305
+ 
+ 	)
+ 
+ 85 
+ 	#REG
+  306
+ 
+ 	)
+ 
+ 86 
+ 	#ARYLEN
+  307
+ 
+ 	)
+ 
+ 87 
+ 	#ARY
+  308
+ 
+ 	)
+ 
+ 88 
+ 	#HSH
+  309
+ 
+ 	)
+ 
+ 89 
+ 	#STAR
+  310
+ 
+ 	)
+ 
+ 90 
+ 	#SUBST
+  311
+ 
+ 	)
+ 
+ 91 
+ 	#PATTERN
+  312
+ 
+ 	)
+ 
+ 92 
+ 	#RSTRING
+  313
+ 
+ 	)
+ 
+ 93 
+ 	#TRANS
+  314
+ 
+ 	)
+ 
+ 94 
+ 	#LISTOP
+  315
+ 
+ 	)
+ 
+ 95 
+ 	#DOTDOT
+  316
+ 
+ 	)
+ 
+ 96 
+ 	#OROR
+  317
+ 
+ 	)
+ 
+ 97 
+ 	#ANDAND
+  318
+ 
+ 	)
+ 
+ 98 
+ 	#UNIOP
+  319
+ 
+ 	)
+ 
+ 99 
+ 	#LS
+  320
+ 
+ 	)
+ 
+ 100 
+ 	#RS
+  321
+ 
+ 	)
+ 
+ 101 
+ 	#MATCH
+  322
+ 
+ 	)
+ 
+ 102 
+ 	#NMATCH
+  323
+ 
+ 	)
+ 
+ 103 
+ 	#UMINUS
+  324
+ 
+ 	)
+ 
+ 104 
+ 	#POW
+  325
+ 
+ 	)
+ 
+ 105 
+ 	#INC
+  326
+ 
+ 	)
+ 
+ 106 
+ 	#DEC
+  327
+ 
+ 	)
+ 
+ 107 cڡ 
+ 	gyylhs
+ [] = { -1,
+ 
+ 128 cڡ 
+ 	gyyËn
+ [] = { 2,
+ 
+ 149 cڡ 
+ 	gyydeäed
+ [] = { 1,
+ 
+ 192 cڡ 
+ 	gyydgÙo
+ [] = { 1,
+ 
+ 197 cڡ 
+ 	gyysšdex
+ [] = { 0,
+ 
+ 240 cڡ 
+ 	gyyršdex
+ [] = { 0,
+ 
+ 283 cڡ 
+ 	gyygšdex
+ [] = { 0,
+ 
+ 288 
+ 	#YYTABLESIZE
+  6272
+ 
+ 	)
+ 
+ 289 cڡ 
+ 	gyybË
+ [] = { 88,
+ 
+ 919 cڡ 
+ 	gyycheck
+ [] = { 18,
+ 
+ 1549 
+ 	#YYFINAL
+  1
+ 
+ 	)
+ 
+ 1550 #iâdeà
+ YYDEBUG
+ 
+ 
+ 1551 
+ 	#YYDEBUG
+  0
+ 
+ 	)
+ 
+ 1553 
+ 	#YYMAXTOKEN
+  327
+ 
+ 	)
+ 
+ 1554 #ià
+ YYDEBUG
+ 
+ 
+ 1555 cڡ * cڡ 
+ 	gyyÇme
+ [] = {
+ 
+ 1572 cڡ * cڡ 
+ 	gyyruË
+ [] = {
+ 
+ 1757 #ià
+ YYDEBUG
+ 
+ 
+ 1758 
+ 	~<¡dio.h
+ >
+ 
+ 1760 #ifdeà
+ YYSTACKSIZE
+ 
+ 
+ 1761 #undeà
+ YYMAXDEPTH
+ 
+ 
+ 1762 
+ 	#YYMAXDEPTH
+  
+ YYSTACKSIZE
+ 
+ 
+ 	)
+ 
+ 1764 #ifdeà
+ YYMAXDEPTH
+ 
+ 
+ 1765 
+ 	#YYSTACKSIZE
+  
+ YYMAXDEPTH
+ 
+ 
+ 	)
+ 
+ 1767 
+ 	#YYSTACKSIZE
+  10000
+ 
+ 	)
+ 
+ 1768 
+ 	#YYMAXDEPTH
+  10000
+ 
+ 	)
+ 
+ 1771 
+ 	#YYINITSTACKSIZE
+  200
+ 
+ 	)
+ 
+ 1772 
+ 	gyydebug
+ ;
+ 
+ 1773 
+ 	gyyüs
+ ;
+ 
+ 1774 
+ 	gyy”ræag
+ ;
+ 
+ 1775 
+ 	gyych¬
+ ;
+ 
+ 1776 *
+ 	gyys¥
+ ;
+ 
+ 1777 
+ YYSTYPE
+  *
+ 	gyyv¥
+ ;
+ 
+ 1778 
+ YYSTYPE
+  
+ 	gyyv®
+ ;
+ 
+ 1779 
+ YYSTYPE
+  
+ 	gyylv®
+ ;
+ 
+ 1780 *
+ 	gyyss
+ ;
+ 
+ 1781 *
+ 	gyys¦im
+ ;
+ 
+ 1782 
+ YYSTYPE
+  *
+ 	gyyvs
+ ;
+ 
+ 1783 
+ 	gyy¡acksize
+ ;
+ 
+ 1788 
+ 	$yygrow¡ack
+ ()
+ 
+ 1790 
+ Ãwsize
+ , 
+ i
+ ;
+ 
+ 1791 *
+ Ãwss
+ ;
+ 
+ 1792 
+ YYSTYPE
+  *
+ Ãwvs
+ ;
+ 
+ 1794 ià((
+ Ãwsize
+  = 
+ yy¡acksize
+ ) == 0)
+ 
+ 1795 
+ Ãwsize
+  = 
+ YYINITSTACKSIZE
+ ;
+ 
+ 1796 ià(
+ Ãwsize
+  >ð
+ YYMAXDEPTH
+ )
+ 
+ 1798 ià((
+ Ãwsize
+  *ð2è> 
+ YYMAXDEPTH
+ )
+ 
+ 1799 
+ Ãwsize
+  = 
+ YYMAXDEPTH
+ ;
+ 
+ 1800 
+ i
+  = 
+ yys¥
+  - 
+ yyss
+ ;
+ 
+ 1801 
+ Ãwss
+  = 
+ yyss
+  ? (*)
+ 	`»®loc
+ (yyss, 
+ Ãwsize
+  *  *newss) :
+ 
+ 1802 (*)
+ 	`m®loc
+ (
+ Ãwsize
+  *  *
+ Ãwss
+ );
+ 
+ 1803 ià(
+ Ãwss
+  =ð
+ NULL
+ )
+ 
+ 1805 
+ yyss
+  = 
+ Ãwss
+ ;
+ 
+ 1806 
+ yys¥
+  = 
+ Ãwss
+  + 
+ i
+ ;
+ 
+ 1807 
+ Ãwvs
+  = 
+ yyvs
+  ? (
+ YYSTYPE
+  *)
+ 	`»®loc
+ (yyvs, 
+ Ãwsize
+  *  *newvs) :
+ 
+ 1808 (
+ YYSTYPE
+  *)
+ 	`m®loc
+ (
+ Ãwsize
+  *  *
+ Ãwvs
+ );
+ 
+ 1809 ià(
+ Ãwvs
+  =ð
+ NULL
+ )
+ 
+ 1811 
+ yyvs
+  = 
+ Ãwvs
+ ;
+ 
+ 1812 
+ yyv¥
+  = 
+ Ãwvs
+  + 
+ i
+ ;
+ 
+ 1813 
+ yy¡acksize
+  = 
+ Ãwsize
+ ;
+ 
+ 1814 
+ yys¦im
+  = 
+ yyss
+  + 
+ Ãwsize
+  - 1;
+ 
+ 1816 
+ 	}
+ }
+ 
+ 1818 
+ 	#YYABORT
+  
+ yyabÜt
+ 
+ 
+ 	)
+ 
+ 1819 
+ 	#YYREJECT
+  
+ yyabÜt
+ 
+ 
+ 	)
+ 
+ 1820 
+ 	#YYACCEPT
+  
+ yyacû±
+ 
+ 
+ 	)
+ 
+ 1821 
+ 	#YYERROR
+  
+ yy”¾ab
+ 
+ 
+ 	)
+ 
+ 1823 #iâdeà
+ YYPARSE_PARAM
+ 
+ 
+ 1824 #ià
+ defšed
+ (
+ __ýlu¥lus
+ è|| 
+ __STDC__
+ 
+ 
+ 1825 
+ 	#YYPARSE_PARAM_ARG
+  
+ 
+ 	)
+ 
+ 1826 
+ 	#YYPARSE_PARAM_DECL
+ 
+ 
+ 	)
+ 
+ 1828 
+ 	#YYPARSE_PARAM_ARG
+ 
+ 
+ 	)
+ 
+ 1829 
+ 	#YYPARSE_PARAM_DECL
+ 
+ 
+ 	)
+ 
+ 1832 #iâdeà
+ YYPARSE_PARAM_TYPE
+ 
+ 
+ 1833 
+ 	#YYPARSE_PARAM_TYPE
+  *
+ 
+ 	)
+ 
+ 1835 #ià
+ defšed
+ (
+ __ýlu¥lus
+ è|| 
+ __STDC__
+ 
+ 
+ 1836 
+ 	#YYPARSE_PARAM_ARG
+  
+ YYPARSE_PARAM_TYPE
+  
+ YYPARSE_PARAM
+ 
+ 
+ 	)
+ 
+ 1837 
+ 	#YYPARSE_PARAM_DECL
+ 
+ 
+ 	)
+ 
+ 1839 
+ 	#YYPARSE_PARAM_ARG
+  
+ YYPARSE_PARAM
+ 
+ 
+ 	)
+ 
+ 1840 
+ 	#YYPARSE_PARAM_DECL
+  
+ YYPARSE_PARAM_TYPE
+  
+ YYPARSE_PARAM
+ ;
+ 
+ 	)
+ 
+ 1845 
+ 	$yy·r£
+  (
+ YYPARSE_PARAM_ARG
+ )
+ 
+ 1846 
+ YYPARSE_PARAM_DECL
+ 
+ 
+ 1848 
+ yym
+ , 
+ yyn
+ , 
+ yy¡©e
+ ;
+ 
+ 1849 #ià
+ YYDEBUG
+ 
+ 
+ 1850 cڡ *
+ yys
+ ;
+ 
+ 1852 ià((
+ yys
+  = 
+ 	`g‘’v
+ ("YYDEBUG")))
+ 
+ 1854 
+ yyn
+  = *
+ yys
+ ;
+ 
+ 1855 ià(
+ yyn
+  >= '0' && yyn <= '9')
+ 
+ 1856 
+ yydebug
+  = 
+ yyn
+  - '0';
+ 
+ 1860 
+ yyüs
+  = 0;
+ 
+ 1861 
+ yy”ræag
+  = 0;
+ 
+ 1862 
+ yych¬
+  = (-1);
+ 
+ 1864 ià(
+ yyss
+  =ð
+ NULL
+  && 
+ 	`yygrow¡ack
+ ()è
+ yyovӾow
+ ;
+ 
+ 1865 
+ yys¥
+  = 
+ yyss
+ ;
+ 
+ 1866 
+ yyv¥
+  = 
+ yyvs
+ ;
+ 
+ 1867 *
+ yys¥
+  = 
+ yy¡©e
+  = 0;
+ 
+ 1869 
+ yyloÝ
+ :
+ 
+ 1870 ià((
+ yyn
+  = 
+ yydeäed
+ [
+ yy¡©e
+ ])è
+ yy»duû
+ ;
+ 
+ 1871 ià(
+ yych¬
+  < 0)
+ 
+ 1873 ià((
+ yych¬
+  = 
+ 	`yyËx
+ ()) < 0) yychar = 0;
+ 
+ 1874 #ià
+ YYDEBUG
+ 
+ 
+ 1875 ià(
+ yydebug
+ )
+ 
+ 1877 
+ yys
+  = 0;
+ 
+ 1878 ià(
+ yych¬
+  <ð
+ YYMAXTOKEN
+ è
+ yys
+  = 
+ yyÇme
+ [yychar];
+ 
+ 1879 ià(!
+ yys
+ ) yys = "illegal-symbol";
+ 
+ 1880 
+ 	`´štf
+ ("%sdebug: state %d,„eading %d (%s)\n",
+ 
+ 1881 
+ YYPREFIX
+ , 
+ yy¡©e
+ , 
+ yych¬
+ , 
+ yys
+ );
+ 
+ 1885 ià((
+ yyn
+  = 
+ yysšdex
+ [
+ yy¡©e
+ ]è&& (yyÀ+ð
+ yych¬
+ ) >= 0 &&
+ 
+ 1886 
+ yyn
+  <ð
+ YYTABLESIZE
+  && 
+ yycheck
+ [yyn] =ð
+ yych¬
+ )
+ 
+ 1888 #ià
+ YYDEBUG
+ 
+ 
+ 1889 ià(
+ yydebug
+ )
+ 
+ 1890 
+ 	`´štf
+ ("%sdebug: state %d, shiftingo state %d\n",
+ 
+ 1891 
+ YYPREFIX
+ , 
+ yy¡©e
+ , 
+ yybË
+ [
+ yyn
+ ]);
+ 
+ 1893 ià(
+ yys¥
+  >ð
+ yys¦im
+  && 
+ 	`yygrow¡ack
+ ())
+ 
+ 1895 
+ yyovӾow
+ ;
+ 
+ 1897 *++
+ yys¥
+  = 
+ yy¡©e
+  = 
+ yybË
+ [
+ yyn
+ ];
+ 
+ 1898 *++
+ yyv¥
+  = 
+ yylv®
+ ;
+ 
+ 1899 
+ yych¬
+  = (-1);
+ 
+ 1900 ià(
+ yy”ræag
+  > 0) --yyerrflag;
+ 
+ 1901 
+ yyloÝ
+ ;
+ 
+ 1903 ià((
+ yyn
+  = 
+ yyršdex
+ [
+ yy¡©e
+ ]è&& (yyÀ+ð
+ yych¬
+ ) >= 0 &&
+ 
+ 1904 
+ yyn
+  <ð
+ YYTABLESIZE
+  && 
+ yycheck
+ [yyn] =ð
+ yych¬
+ )
+ 
+ 1906 
+ yyn
+  = 
+ yybË
+ [yyn];
+ 
+ 1907 
+ yy»duû
+ ;
+ 
+ 1909 ià(
+ yy”ræag
+ è
+ yyš»cov”y
+ ;
+ 
+ 1910 #ià
+ 	`defšed
+ (
+ lšt
+ è|| defšed(
+ __GNUC__
+ )
+ 
+ 1911 
+ yyÃw”rÜ
+ ;
+ 
+ 1913 
+ yyÃw”rÜ
+ :
+ 
+ 1914 
+ 	`yy”rÜ
+ ("syntaxƒrror");
+ 
+ 1915 #ià
+ 	`defšed
+ (
+ lšt
+ è|| defšed(
+ __GNUC__
+ )
+ 
+ 1916 
+ yy”¾ab
+ ;
+ 
+ 1918 
+ yy”¾ab
+ :
+ 
+ 1919 ++
+ yyüs
+ ;
+ 
+ 1920 
+ yyš»cov”y
+ :
+ 
+ 1921 ià(
+ yy”ræag
+  < 3)
+ 
+ 1923 
+ yy”ræag
+  = 3;
+ 
+ 1926 ià((
+ yyn
+  = 
+ yysšdex
+ [*
+ yys¥
+ ]è&& (yyÀ+ð
+ YYERRCODE
+ ) >= 0 &&
+ 
+ 1927 
+ yyn
+  <ð
+ YYTABLESIZE
+  && 
+ yycheck
+ [yyn] =ð
+ YYERRCODE
+ )
+ 
+ 1929 #ià
+ YYDEBUG
+ 
+ 
+ 1930 ià(
+ yydebug
+ )
+ 
+ 1931 
+ 	`´štf
+ ("%sdebug: s‹ %d,ƒ¼Ü„ecov”y shiášg\
+  s‹ %d\n", 
+ YYPREFIX
+ , *
+ yys¥
+ , 
+ yybË
+ [
+ yyn
+ ]);
+ 
+ 1934 ià(
+ yys¥
+  >ð
+ yys¦im
+  && 
+ 	`yygrow¡ack
+ ())
+ 
+ 1936 
+ yyovӾow
+ ;
+ 
+ 1938 *++
+ yys¥
+  = 
+ yy¡©e
+  = 
+ yybË
+ [
+ yyn
+ ];
+ 
+ 1939 *++
+ yyv¥
+  = 
+ yylv®
+ ;
+ 
+ 1940 
+ yyloÝ
+ ;
+ 
+ 1944 #ià
+ YYDEBUG
+ 
+ 
+ 1945 ià(
+ yydebug
+ )
+ 
+ 1946 
+ 	`´štf
+ ("%sdebug:ƒrror„ecovery discarding state %d\n",
+ 
+ 1947 
+ YYPREFIX
+ , *
+ yys¥
+ );
+ 
+ 1949 ià(
+ yys¥
+  <ð
+ yyss
+ è
+ yyabÜt
+ ;
+ 
+ 1950 --
+ yys¥
+ ;
+ 
+ 1951 --
+ yyv¥
+ ;
+ 
+ 1957 ià(
+ yych¬
+  =ð0è
+ yyabÜt
+ ;
+ 
+ 1958 #ià
+ YYDEBUG
+ 
+ 
+ 1959 ià(
+ yydebug
+ )
+ 
+ 1961 
+ yys
+  = 0;
+ 
+ 1962 ià(
+ yych¬
+  <ð
+ YYMAXTOKEN
+ è
+ yys
+  = 
+ yyÇme
+ [yychar];
+ 
+ 1963 ià(!
+ yys
+ ) yys = "illegal-symbol";
+ 
+ 1964 
+ 	`´štf
+ ("%sdebug: state %d,ƒrror„ecovery discardsoken %d (%s)\n",
+ 
+ 1965 
+ YYPREFIX
+ , 
+ yy¡©e
+ , 
+ yych¬
+ , 
+ yys
+ );
+ 
+ 1968 
+ yych¬
+  = (-1);
+ 
+ 1969 
+ yyloÝ
+ ;
+ 
+ 1971 
+ yy»duû
+ :
+ 
+ 1972 #ià
+ YYDEBUG
+ 
+ 
+ 1973 ià(
+ yydebug
+ )
+ 
+ 1974 
+ 	`´štf
+ ("%sdebug: state %d,„educing by„ule %d (%s)\n",
+ 
+ 1975 
+ YYPREFIX
+ , 
+ yy¡©e
+ , 
+ yyn
+ , 
+ yyruË
+ [yyn]);
+ 
+ 1977 
+ yym
+  = 
+ yyËn
+ [
+ yyn
+ ];
+ 
+ 1978 
+ yyv®
+  = 
+ yyv¥
+ [1-
+ yym
+ ];
+ 
+ 1979 
+ yyn
+ )
+ 
+ 1984 #ià
+ 	`defšed
+ (
+ YYDEBUG
+ è&& defšed(
+ DEBUGGING
+ )
+ 
+ 1985 
+ yydebug
+  = (
+ debug
+  & 1);
+ 
+ 1991 { ià(
+ š_ev®
+ )
+ 
+ 1992 
+ ev®_roÙ
+  = 
+ 	`block_h—d
+ (
+ yyv¥
+ [0].
+ cmdv®
+ );
+ 
+ 1994 
+ maš_roÙ
+  = 
+ 	`block_h—d
+ (
+ yyv¥
+ [0].
+ cmdv®
+ ); }
+ 
+ 1998 { 
+ yyv®
+ .
+ compv®
+ .
+ comp_Œue
+  = 
+ yyv¥
+ [-2].
+ cmdv®
+ ; yyv®.compv®.
+ comp_®t
+  = yyvsp[0].cmdval; }
+ 
+ 2002 { 
+ yyv®
+ .
+ compv®
+ .
+ comp_Œue
+  = 
+ yyv¥
+ [-1].
+ cmdv®
+ ; yyv®.compv®.
+ comp_®t
+  = yyvsp[0].cmdval; }
+ 
+ 2006 { 
+ yyv®
+ .
+ cmdv®
+  = 
+ NuÎcmd
+ ; }
+ 
+ 2010 { 
+ yyv®
+ .
+ cmdv®
+  = 
+ yyv¥
+ [0].cmdval; }
+ 
+ 2014 { 
+ cmdlše
+  = 
+ yyv¥
+ [-4].
+ iv®
+ ;
+ 
+ 2015 
+ yyv®
+ .
+ cmdv®
+  = 
+ 	`make_ccmd
+ (
+ C_ELSIF
+ ,
+ yyv¥
+ [-2].
+ ¬g
+ ,yyv¥[0].
+ compv®
+ ); }
+ 
+ 2019 { 
+ yyv®
+ .
+ cmdv®
+  = 
+ 	`block_h—d
+ (
+ yyv¥
+ [-1].cmdval);
+ 
+ 2020 ià(
+ §ve¡ack
+ ->
+ ¬y_fžl
+  > 
+ yyv¥
+ [-2].
+ iv®
+ )
+ 
+ 2021 
+ 	`»¡Ü–i¡
+ (
+ yyv¥
+ [-2].
+ iv®
+ ); }
+ 
+ 2025 { 
+ yyv®
+ .
+ iv®
+  = 
+ §ve¡ack
+ ->
+ ¬y_fžl
+ ; }
+ 
+ 2029 { 
+ yyv®
+ .
+ cmdv®
+  = 
+ NuÎcmd
+ ; }
+ 
+ 2033 { 
+ yyv®
+ .
+ cmdv®
+  = 
+ 	`­³nd_lše
+ (
+ yyv¥
+ [-1].cmdval,yyvsp[0].cmdval); }
+ 
+ 2037 { 
+ yyv®
+ .
+ cmdv®
+  = 
+ NuÎcmd
+ ; }
+ 
+ 2041 { 
+ yyv®
+ .
+ cmdv®
+  = 
+ 	`add_Ïb–
+ (
+ yyv¥
+ [-1].
+ cv®
+ ,yyvsp[0].cmdval); }
+ 
+ 2045 { ià(
+ yyv¥
+ [-1].
+ cv®
+  !ð
+ NuÎch
+ ) {
+ 
+ 2046 
+ yyv®
+ .
+ cmdv®
+  = 
+ 	`add_Ïb–
+ (
+ yyv¥
+ [-1].
+ cv®
+ , 
+ 	`make_acmd
+ (
+ C_EXPR
+ , 
+ NuΡab
+ ,
+ 
+ 2047 
+ Nuάg
+ , Nullarg) );
+ 
+ 2050 
+ yyv®
+ .
+ cmdv®
+  = 
+ NuÎcmd
+ ;
+ 
+ 2051 
+ cmdlše
+  = 
+ NOLINE
+ ;
+ 
+ 2056 { 
+ yyv®
+ .
+ cmdv®
+  = 
+ 	`add_Ïb–
+ (
+ yyv¥
+ [-2].
+ cv®
+ ,yyvsp[-1].cmdval); }
+ 
+ 2060 { 
+ yyv®
+ .
+ cmdv®
+  = 
+ NuÎcmd
+ ; }
+ 
+ 2064 { 
+ yyv®
+ .
+ cmdv®
+  = 
+ 	`make_acmd
+ (
+ C_EXPR
+ , 
+ NuΡab
+ , 
+ yyv¥
+ [0].
+ ¬g
+ , 
+ Nuάg
+ ); }
+ 
+ 2068 { 
+ yyv®
+ .
+ cmdv®
+  = 
+ 	`addcÚd
+ (
+ 
+ 2069 
+ 	`make_acmd
+ (
+ C_EXPR
+ , 
+ NuΡab
+ , 
+ Nuάg
+ , 
+ yyv¥
+ [-2].
+ ¬g
+ ), yyvsp[0].arg); }
+ 
+ 2073 { 
+ yyv®
+ .
+ cmdv®
+  = 
+ 	`addcÚd
+ (
+ 	`šv”t
+ (
+ 
+ 2074 
+ 	`make_acmd
+ (
+ C_EXPR
+ , 
+ NuΡab
+ , 
+ Nuάg
+ , 
+ yyv¥
+ [-2].
+ ¬g
+ )), yyvsp[0].arg); }
+ 
+ 2078 { 
+ yyv®
+ .
+ cmdv®
+  = 
+ 	`addloÝ
+ (
+ 
+ 2079 
+ 	`make_acmd
+ (
+ C_EXPR
+ , 
+ NuΡab
+ , 
+ Nuάg
+ , 
+ yyv¥
+ [-2].
+ ¬g
+ ), yyvsp[0].arg); }
+ 
+ 2083 { 
+ yyv®
+ .
+ cmdv®
+  = 
+ 	`addloÝ
+ (
+ 	`šv”t
+ (
+ 
+ 2084 
+ 	`make_acmd
+ (
+ C_EXPR
+ , 
+ NuΡab
+ , 
+ Nuάg
+ , 
+ yyv¥
+ [-2].
+ ¬g
+ )), yyvsp[0].arg); }
+ 
+ 2088 { 
+ cmdlše
+  = 
+ yyv¥
+ [-4].
+ iv®
+ ;
+ 
+ 2089 
+ yyv®
+ .
+ cmdv®
+  = 
+ 	`make_icmd
+ (
+ C_IF
+ ,
+ yyv¥
+ [-2].
+ ¬g
+ ,yyv¥[0].
+ compv®
+ ); }
+ 
+ 2093 { 
+ cmdlše
+  = 
+ yyv¥
+ [-4].
+ iv®
+ ;
+ 
+ 2094 
+ yyv®
+ .
+ cmdv®
+  = 
+ 	`šv”t
+ (
+ 	`make_icmd
+ (
+ C_IF
+ ,
+ yyv¥
+ [-2].
+ ¬g
+ ,yyv¥[0].
+ compv®
+ )); }
+ 
+ 2098 { 
+ cmdlše
+  = 
+ yyv¥
+ [-2].
+ iv®
+ ;
+ 
+ 2099 
+ yyv®
+ .
+ cmdv®
+  = 
+ 	`make_ccmd
+ (
+ C_IF
+ ,
+ 	`cmd_to_¬g
+ (
+ yyv¥
+ [-1].cmdv®),yyv¥[0].
+ compv®
+ ); }
+ 
+ 2103 { 
+ cmdlše
+  = 
+ yyv¥
+ [-2].
+ iv®
+ ;
+ 
+ 2104 
+ yyv®
+ .
+ cmdv®
+  = 
+ 	`šv”t
+ (
+ 	`make_ccmd
+ (
+ C_IF
+ ,
+ 	`cmd_to_¬g
+ (
+ yyv¥
+ [-1].cmdv®),yyv¥[0].
+ compv®
+ )); }
+ 
+ 2108 { 
+ cmdlše
+  = 
+ yyv¥
+ [-4].
+ iv®
+ ;
+ 
+ 2109 
+ yyv®
+ .
+ cmdv®
+  = 
+ 	`wÝt
+ (
+ 	`add_Ïb–
+ (
+ yyv¥
+ [-5].
+ cv®
+ ,
+ 
+ 2110 
+ 	`make_ccmd
+ (
+ C_WHILE
+ ,
+ yyv¥
+ [-2].
+ ¬g
+ ,yyv¥[0].
+ compv®
+ ) )); }
+ 
+ 2114 { 
+ cmdlše
+  = 
+ yyv¥
+ [-4].
+ iv®
+ ;
+ 
+ 2115 
+ yyv®
+ .
+ cmdv®
+  = 
+ 	`wÝt
+ (
+ 	`add_Ïb–
+ (
+ yyv¥
+ [-5].
+ cv®
+ ,
+ 
+ 2116 
+ 	`šv”t
+ (
+ 	`make_ccmd
+ (
+ C_WHILE
+ ,
+ yyv¥
+ [-2].
+ ¬g
+ ,yyv¥[0].
+ compv®
+ )) )); }
+ 
+ 2120 { 
+ cmdlše
+  = 
+ yyv¥
+ [-2].
+ iv®
+ ;
+ 
+ 2121 
+ yyv®
+ .
+ cmdv®
+  = 
+ 	`wÝt
+ (
+ 	`add_Ïb–
+ (
+ yyv¥
+ [-3].
+ cv®
+ ,
+ 
+ 2122 
+ 	`make_ccmd
+ (
+ C_WHILE
+ , 
+ 	`cmd_to_¬g
+ (
+ yyv¥
+ [-1].
+ cmdv®
+ ),yyv¥[0].
+ compv®
+ ) )); }
+ 
+ 2126 { 
+ cmdlše
+  = 
+ yyv¥
+ [-2].
+ iv®
+ ;
+ 
+ 2127 
+ yyv®
+ .
+ cmdv®
+  = 
+ 	`wÝt
+ (
+ 	`add_Ïb–
+ (
+ yyv¥
+ [-3].
+ cv®
+ ,
+ 
+ 2128 
+ 	`šv”t
+ (
+ 	`make_ccmd
+ (
+ C_WHILE
+ , 
+ 	`cmd_to_¬g
+ (
+ yyv¥
+ [-1].
+ cmdv®
+ ),yyv¥[0].
+ compv®
+ )) )); }
+ 
+ 2132 { 
+ cmdlše
+  = 
+ yyv¥
+ [-5].
+ iv®
+ ;
+ 
+ 2145 ià(
+ yyv¥
+ [-2].
+ ¬g
+ ->
+ ¬g_ty³
+  !ð
+ O_ARRAY
+ ) {
+ 
+ 2146 
+ sü¡ab
+  = 
+ 	`¯dd
+ (
+ 	`g’¡ab
+ ());
+ 
+ 2147 
+ yyv®
+ .
+ cmdv®
+  = 
+ 	`­³nd_lše
+ (
+ 
+ 2148 
+ 	`make_acmd
+ (
+ C_EXPR
+ , 
+ NuΡab
+ ,
+ 
+ 2149 
+ 	`l
+ (
+ 	`make_Ý
+ (
+ O_ASSIGN
+ ,2,
+ 
+ 2150 
+ 	`li¡ish
+ (
+ 	`make_Ý
+ (
+ O_ARRAY
+ , 1,
+ 
+ 2151 
+ 	`¡ab2¬g
+ (
+ A_STAB
+ ,
+ sü¡ab
+ ),
+ 
+ 2152 
+ Nuάg
+ ,Nullarg )),
+ 
+ 2153 
+ 	`li¡ish
+ (
+ 	`make_li¡
+ (
+ yyv¥
+ [-2].
+ ¬g
+ )),
+ 
+ 2154 
+ Nuάg
+ )),
+ 
+ 2155 
+ Nuάg
+ ),
+ 
+ 2156 
+ 	`wÝt
+ (
+ 	`ov”
+ (
+ yyv¥
+ [-4].
+ ¡abv®
+ ,
+ 	`add_Ïb–
+ (yyv¥[-6].
+ cv®
+ ,
+ 
+ 2157 
+ 	`make_ccmd
+ (
+ C_WHILE
+ ,
+ 
+ 2158 
+ 	`make_Ý
+ (
+ O_ARRAY
+ , 1,
+ 
+ 2159 
+ 	`¡ab2¬g
+ (
+ A_STAB
+ ,
+ sü¡ab
+ ),
+ 
+ 2160 
+ Nuάg
+ ,Nullarg ),
+ 
+ 2161 
+ yyv¥
+ [0].
+ compv®
+ )))));
+ 
+ 2162 
+ yyv®
+ .
+ cmdv®
+ ->
+ c_lše
+  = 
+ yyv¥
+ [-5].
+ iv®
+ ;
+ 
+ 2163 
+ yyv®
+ .
+ cmdv®
+ ->
+ c_h—d
+ ->
+ c_lše
+  = 
+ yyv¥
+ [-5].
+ iv®
+ ;
+ 
+ 2166 
+ yyv®
+ .
+ cmdv®
+  = 
+ 	`wÝt
+ (
+ 	`ov”
+ (
+ yyv¥
+ [-4].
+ ¡abv®
+ ,
+ 	`add_Ïb–
+ (yyv¥[-6].
+ cv®
+ ,
+ 
+ 2167 
+ 	`make_ccmd
+ (
+ C_WHILE
+ ,
+ yyv¥
+ [-2].
+ ¬g
+ ,yyv¥[0].
+ compv®
+ ) )));
+ 
+ 2173 { 
+ cmdlše
+  = 
+ yyv¥
+ [-4].
+ iv®
+ ;
+ 
+ 2174 ià(
+ yyv¥
+ [-2].
+ ¬g
+ ->
+ ¬g_ty³
+  !ð
+ O_ARRAY
+ ) {
+ 
+ 2175 
+ sü¡ab
+  = 
+ 	`¯dd
+ (
+ 	`g’¡ab
+ ());
+ 
+ 2176 
+ yyv®
+ .
+ cmdv®
+  = 
+ 	`­³nd_lše
+ (
+ 
+ 2177 
+ 	`make_acmd
+ (
+ C_EXPR
+ , 
+ NuΡab
+ ,
+ 
+ 2178 
+ 	`l
+ (
+ 	`make_Ý
+ (
+ O_ASSIGN
+ ,2,
+ 
+ 2179 
+ 	`li¡ish
+ (
+ 	`make_Ý
+ (
+ O_ARRAY
+ , 1,
+ 
+ 2180 
+ 	`¡ab2¬g
+ (
+ A_STAB
+ ,
+ sü¡ab
+ ),
+ 
+ 2181 
+ Nuάg
+ ,Nullarg )),
+ 
+ 2182 
+ 	`li¡ish
+ (
+ 	`make_li¡
+ (
+ yyv¥
+ [-2].
+ ¬g
+ )),
+ 
+ 2183 
+ Nuάg
+ )),
+ 
+ 2184 
+ Nuάg
+ ),
+ 
+ 2185 
+ 	`wÝt
+ (
+ 	`ov”
+ (
+ def¡ab
+ ,
+ 	`add_Ïb–
+ (
+ yyv¥
+ [-5].
+ cv®
+ ,
+ 
+ 2186 
+ 	`make_ccmd
+ (
+ C_WHILE
+ ,
+ 
+ 2187 
+ 	`make_Ý
+ (
+ O_ARRAY
+ , 1,
+ 
+ 2188 
+ 	`¡ab2¬g
+ (
+ A_STAB
+ ,
+ sü¡ab
+ ),
+ 
+ 2189 
+ Nuάg
+ ,Nullarg ),
+ 
+ 2190 
+ yyv¥
+ [0].
+ compv®
+ )))));
+ 
+ 2191 
+ yyv®
+ .
+ cmdv®
+ ->
+ c_lše
+  = 
+ yyv¥
+ [-4].
+ iv®
+ ;
+ 
+ 2192 
+ yyv®
+ .
+ cmdv®
+ ->
+ c_h—d
+ ->
+ c_lše
+  = 
+ yyv¥
+ [-4].
+ iv®
+ ;
+ 
+ 2195 
+ yyv®
+ .
+ cmdv®
+  = 
+ 	`wÝt
+ (
+ 	`ov”
+ (
+ def¡ab
+ ,
+ 	`add_Ïb–
+ (
+ yyv¥
+ [-5].
+ cv®
+ ,
+ 
+ 2196 
+ 	`make_ccmd
+ (
+ C_WHILE
+ ,
+ yyv¥
+ [-2].
+ ¬g
+ ,yyv¥[0].
+ compv®
+ ) )));
+ 
+ 2202 { 
+ yyv®
+ .
+ compv®
+ .
+ comp_Œue
+  = 
+ yyv¥
+ [0].
+ cmdv®
+ ;
+ 
+ 2203 
+ yyv®
+ .
+ compv®
+ .
+ comp_®t
+  = 
+ yyv¥
+ [-2].
+ cmdv®
+ ;
+ 
+ 2204 
+ cmdlše
+  = 
+ yyv¥
+ [-8].
+ iv®
+ ;
+ 
+ 2205 
+ yyv®
+ .
+ cmdv®
+  = 
+ 	`­³nd_lše
+ (
+ yyv¥
+ [-6].cmdv®,
+ 	`wÝt
+ (
+ 	`add_Ïb–
+ (yyv¥[-9].
+ cv®
+ ,
+ 
+ 2206 
+ 	`make_ccmd
+ (
+ C_WHILE
+ ,
+ yyv¥
+ [-4].
+ ¬g
+ ,
+ yyv®
+ .
+ compv®
+ ) ))); }
+ 
+ 2210 { 
+ yyv®
+ .
+ cmdv®
+  = 
+ 	`add_Ïb–
+ (
+ yyv¥
+ [-1].
+ cv®
+ ,
+ 	`make_ccmd
+ (
+ C_BLOCK
+ ,
+ Nuάg
+ ,yyv¥[0].
+ compv®
+ )); }
+ 
+ 2214 { 
+ yyv®
+ .
+ cmdv®
+  = 
+ NuÎcmd
+ ; }
+ 
+ 2218 { ()
+ 	`sÿn¡r
+ ("1"); 
+ yyv®
+ .
+ ¬g
+  = 
+ yylv®
+ .arg; }
+ 
+ 2222 { 
+ yyv®
+ .
+ cv®
+  = 
+ NuÎch
+ ; }
+ 
+ 2226 { 
+ yyv®
+ .
+ iv®
+  = 0; }
+ 
+ 2230 { 
+ yyv®
+ .
+ iv®
+  = 0; }
+ 
+ 2234 { 
+ yyv®
+ .
+ iv®
+  = 0; }
+ 
+ 2238 { ià(
+ 	`¡rEQ
+ (
+ yyv¥
+ [-2].
+ cv®
+ ,"stdout"))
+ 
+ 2239 
+ 	`make_fÜm
+ (
+ 	`¡ab’t
+ ("STDOUT",
+ TRUE
+ ),
+ yyv¥
+ [0].
+ fÜmv®
+ );
+ 
+ 2240 ià(
+ 	`¡rEQ
+ (
+ yyv¥
+ [-2].
+ cv®
+ ,"stderr"))
+ 
+ 2241 
+ 	`make_fÜm
+ (
+ 	`¡ab’t
+ ("STDERR",
+ TRUE
+ ),
+ yyv¥
+ [0].
+ fÜmv®
+ );
+ 
+ 2243 
+ 	`make_fÜm
+ (
+ 	`¡ab’t
+ (
+ yyv¥
+ [-2].
+ cv®
+ ,
+ TRUE
+ ),yyv¥[0].
+ fÜmv®
+ );
+ 
+ 2244 
+ 	`Saãä“
+ (
+ yyv¥
+ [-2].
+ cv®
+ ); yyv¥[-2].cv® = 
+ NuÎch
+ ; }
+ 
+ 2248 { 
+ 	`make_fÜm
+ (
+ 	`¡ab’t
+ ("STDOUT",
+ TRUE
+ ),
+ yyv¥
+ [0].
+ fÜmv®
+ ); }
+ 
+ 2252 { 
+ 	`make_sub
+ (
+ yyv¥
+ [-1].
+ cv®
+ ,yyv¥[0].
+ cmdv®
+ ); }
+ 
+ 2256 { 
+ tmpbuf
+ [256];
+ 
+ 2257 
+ STAB
+  *
+ tmp¡ab
+ ;
+ 
+ 2259 
+ 	`§veh±r
+ (&
+ cur¡ash
+ );
+ 
+ 2260 
+ 	`§ve™em
+ (
+ cur¡Çme
+ );
+ 
+ 2261 
+ 	`¡r_£t
+ (
+ cur¡Çme
+ ,
+ yyv¥
+ [-1].
+ cv®
+ );
+ 
+ 2262 
+ 	`¥rštf
+ (
+ tmpbuf
+ ,"'_%s",
+ yyv¥
+ [-1].
+ cv®
+ );
+ 
+ 2263 
+ tmp¡ab
+  = 
+ 	`¡ab’t
+ (
+ tmpbuf
+ ,
+ TRUE
+ );
+ 
+ 2264 ià(!
+ 	`¡ab_xhash
+ (
+ tmp¡ab
+ ))
+ 
+ 2265 
+ 	`¡ab_xhash
+ (
+ tmp¡ab
+ èð
+ 	`hÃw
+ (0);
+ 
+ 2266 
+ cur¡ash
+  = 
+ 	`¡ab_xhash
+ (
+ tmp¡ab
+ );
+ 
+ 2267 ià(!
+ cur¡ash
+ ->
+ tbl_Çme
+ )
+ 
+ 2268 
+ cur¡ash
+ ->
+ tbl_Çme
+  = 
+ 	`§ve¡r
+ (
+ yyv¥
+ [-1].
+ cv®
+ );
+ 
+ 2269 
+ cur¡ash
+ ->
+ tbl_cÛffsize
+  = 0;
+ 
+ 2270 
+ 	`Saãä“
+ (
+ yyv¥
+ [-1].
+ cv®
+ ); yyv¥[-1].cv® = 
+ NuÎch
+ ;
+ 
+ 2271 
+ cmdlše
+  = 
+ NOLINE
+ ;
+ 
+ 2276 { 
+ yyv®
+ .
+ ¬g
+  = 
+ yyv¥
+ [0].arg; }
+ 
+ 2280 { 
+ yyv®
+ .
+ ¬g
+  = 
+ 	`make_Ý
+ (
+ O_COMMA
+ , 2, 
+ yyv¥
+ [-2].¬g, yyv¥[0].¬g, 
+ Nuάg
+ ); }
+ 
+ 2284 { 
+ yyv®
+ .
+ ¬g
+  = 
+ yyv¥
+ [0].arg; }
+ 
+ 2288 { 
+ yyv¥
+ [-2].
+ ¬g
+  = 
+ 	`li¡ish
+ (yyvsp[-2].arg);
+ 
+ 2289 ià(
+ yyv¥
+ [-2].
+ ¬g
+ ->
+ ¬g_ty³
+  =ð
+ O_ASSIGN
+  && yyv¥[-2].¬g->
+ ¬g_Ën
+  == 1)
+ 
+ 2290 
+ yyv¥
+ [-2].
+ ¬g
+ ->
+ ¬g_ty³
+  = 
+ O_ITEM
+ ;
+ 
+ 2291 ià(
+ yyv¥
+ [-2].
+ ¬g
+ ->
+ ¬g_ty³
+  =ð
+ O_LIST
+ )
+ 
+ 2292 
+ yyv¥
+ [0].
+ ¬g
+  = 
+ 	`li¡ish
+ (yyvsp[0].arg);
+ 
+ 2293 
+ yyv®
+ .
+ ¬g
+  = 
+ 	`l
+ (
+ 	`make_Ý
+ (
+ O_ASSIGN
+ , 2, 
+ yyv¥
+ [-2].¬g, yyv¥[0].¬g, 
+ Nuάg
+ )); }
+ 
+ 2297 { 
+ yyv®
+ .
+ ¬g
+  = 
+ 	`l
+ (
+ 	`make_Ý
+ (
+ O_POW
+ , 2, 
+ yyv¥
+ [-3].¬g, yyv¥[0].¬g, 
+ Nuάg
+ )); }
+ 
+ 2301 { 
+ yyv®
+ .
+ ¬g
+  = 
+ 	`l
+ (
+ 	`make_Ý
+ (
+ yyv¥
+ [-2].
+ iv®
+ , 2, yyv¥[-3].¬g, yyv¥[0].¬g, 
+ Nuάg
+ )); }
+ 
+ 2305 { 
+ yyv®
+ .
+ ¬g
+  = 
+ 	`rÿtmaybe
+ (
+ 	`l
+ (
+ 	`make_Ý
+ (
+ yyv¥
+ [-2].
+ iv®
+ , 2, yyv¥[-3].¬g, yyv¥[0].¬g, 
+ Nuάg
+ )));}
+ 
+ 2309 { 
+ yyv®
+ .
+ ¬g
+  = 
+ 	`l
+ (
+ 	`make_Ý
+ (
+ O_LEFT_SHIFT
+ , 2, 
+ yyv¥
+ [-3].¬g, yyv¥[0].¬g, 
+ Nuάg
+ )); }
+ 
+ 2313 { 
+ yyv®
+ .
+ ¬g
+  = 
+ 	`l
+ (
+ 	`make_Ý
+ (
+ O_RIGHT_SHIFT
+ , 2, 
+ yyv¥
+ [-3].¬g, yyv¥[0].¬g, 
+ Nuάg
+ )); }
+ 
+ 2317 { 
+ yyv®
+ .
+ ¬g
+  = 
+ 	`l
+ (
+ 	`make_Ý
+ (
+ O_BIT_AND
+ , 2, 
+ yyv¥
+ [-3].¬g, yyv¥[0].¬g, 
+ Nuάg
+ )); }
+ 
+ 2321 { 
+ yyv®
+ .
+ ¬g
+  = 
+ 	`l
+ (
+ 	`make_Ý
+ (
+ O_XOR
+ , 2, 
+ yyv¥
+ [-3].¬g, yyv¥[0].¬g, 
+ Nuάg
+ )); }
+ 
+ 2325 { 
+ yyv®
+ .
+ ¬g
+  = 
+ 	`l
+ (
+ 	`make_Ý
+ (
+ O_BIT_OR
+ , 2, 
+ yyv¥
+ [-3].¬g, yyv¥[0].¬g, 
+ Nuάg
+ )); }
+ 
+ 2329 { 
+ yyv®
+ .
+ ¬g
+  = 
+ 	`make_Ý
+ (
+ O_POW
+ , 2, 
+ yyv¥
+ [-2].¬g, yyv¥[0].¬g, 
+ Nuάg
+ ); }
+ 
+ 2333 { ià(
+ yyv¥
+ [-1].
+ iv®
+  =ð
+ O_REPEAT
+ )
+ 
+ 2334 
+ yyv¥
+ [-2].
+ ¬g
+  = 
+ 	`li¡ish
+ (yyvsp[-2].arg);
+ 
+ 2335 
+ yyv®
+ .
+ ¬g
+  = 
+ 	`make_Ý
+ (
+ yyv¥
+ [-1].
+ iv®
+ , 2, yyv¥[-2].¬g, yyv¥[0].¬g, 
+ Nuάg
+ );
+ 
+ 2336 ià(
+ yyv¥
+ [-1].
+ iv®
+  =ð
+ O_REPEAT
+ ) {
+ 
+ 2337 ià(
+ yyv®
+ .
+ ¬g
+ [1].
+ ¬g_ty³
+  !ð
+ A_EXPR
+  ||
+ 
+ 2338 
+ yyv®
+ .
+ ¬g
+ [1].
+ ¬g_±r
+ .
+ ¬g_¬g
+ ->
+ ¬g_ty³
+  !ð
+ O_LIST
+ )
+ 
+ 2339 
+ yyv®
+ .
+ ¬g
+ [1].
+ ¬g_æags
+  &ð~
+ AF_ARYOK
+ ;
+ 
+ 2344 { 
+ yyv®
+ .
+ ¬g
+  = 
+ 	`make_Ý
+ (
+ yyv¥
+ [-1].
+ iv®
+ , 2, yyv¥[-2].¬g, yyv¥[0].¬g, 
+ Nuάg
+ ); }
+ 
+ 2348 { 
+ yyv®
+ .
+ ¬g
+  = 
+ 	`make_Ý
+ (
+ O_LEFT_SHIFT
+ , 2, 
+ yyv¥
+ [-2].¬g, yyv¥[0].¬g, 
+ Nuάg
+ ); }
+ 
+ 2352 { 
+ yyv®
+ .
+ ¬g
+  = 
+ 	`make_Ý
+ (
+ O_RIGHT_SHIFT
+ , 2, 
+ yyv¥
+ [-2].¬g, yyv¥[0].¬g, 
+ Nuάg
+ ); }
+ 
+ 2356 { 
+ yyv®
+ .
+ ¬g
+  = 
+ 	`make_Ý
+ (
+ yyv¥
+ [-1].
+ iv®
+ , 2, yyv¥[-2].¬g, yyv¥[0].¬g, 
+ Nuάg
+ ); }
+ 
+ 2360 { 
+ yyv®
+ .
+ ¬g
+  = 
+ 	`make_Ý
+ (
+ yyv¥
+ [-1].
+ iv®
+ , 2, yyv¥[-2].¬g, yyv¥[0].¬g, 
+ Nuάg
+ ); }
+ 
+ 2364 { 
+ yyv®
+ .
+ ¬g
+  = 
+ 	`make_Ý
+ (
+ O_BIT_AND
+ , 2, 
+ yyv¥
+ [-2].¬g, yyv¥[0].¬g, 
+ Nuάg
+ ); }
+ 
+ 2368 { 
+ yyv®
+ .
+ ¬g
+  = 
+ 	`make_Ý
+ (
+ O_XOR
+ , 2, 
+ yyv¥
+ [-2].¬g, yyv¥[0].¬g, 
+ Nuάg
+ ); }
+ 
+ 2372 { 
+ yyv®
+ .
+ ¬g
+  = 
+ 	`make_Ý
+ (
+ O_BIT_OR
+ , 2, 
+ yyv¥
+ [-2].¬g, yyv¥[0].¬g, 
+ Nuάg
+ ); }
+ 
+ 2376 { 
+ ¬g4
+  = 
+ Nuάg
+ ;
+ 
+ 2377 
+ yyv®
+ .
+ ¬g
+  = 
+ 	`make_Ý
+ (
+ O_F_OR_R
+ , 4, 
+ yyv¥
+ [-2].¬g, yyv¥[0].¬g, 
+ Nuάg
+ ); }
+ 
+ 2381 { 
+ yyv®
+ .
+ ¬g
+  = 
+ 	`make_Ý
+ (
+ O_AND
+ , 2, 
+ yyv¥
+ [-2].¬g, yyv¥[0].¬g, 
+ Nuάg
+ ); }
+ 
+ 2385 { 
+ yyv®
+ .
+ ¬g
+  = 
+ 	`make_Ý
+ (
+ O_OR
+ , 2, 
+ yyv¥
+ [-2].¬g, yyv¥[0].¬g, 
+ Nuάg
+ ); }
+ 
+ 2389 { 
+ yyv®
+ .
+ ¬g
+  = 
+ 	`make_Ý
+ (
+ O_COND_EXPR
+ , 3, 
+ yyv¥
+ [-4].arg, yyvsp[-2].arg, yyvsp[0].arg); }
+ 
+ 2393 { 
+ yyv®
+ .
+ ¬g
+  = 
+ 	`mod_m©ch
+ (
+ O_MATCH
+ , 
+ yyv¥
+ [-2].arg, yyvsp[0].arg); }
+ 
+ 2397 { 
+ yyv®
+ .
+ ¬g
+  = 
+ 	`mod_m©ch
+ (
+ O_NMATCH
+ , 
+ yyv¥
+ [-2].arg, yyvsp[0].arg); }
+ 
+ 2401 { 
+ yyv®
+ .
+ ¬g
+  = 
+ yyv¥
+ [0].arg; }
+ 
+ 2405 { 
+ yyv®
+ .
+ ¬g
+  = 
+ 	`make_Ý
+ (
+ O_NEGATE
+ , 1, 
+ yyv¥
+ [0].¬g, 
+ Nuάg
+ , Nullarg); }
+ 
+ 2409 { 
+ yyv®
+ .
+ ¬g
+  = 
+ yyv¥
+ [0].arg; }
+ 
+ 2413 { 
+ yyv®
+ .
+ ¬g
+  = 
+ 	`make_Ý
+ (
+ O_NOT
+ , 1, 
+ yyv¥
+ [0].¬g, 
+ Nuάg
+ , Nullarg); }
+ 
+ 2417 { 
+ yyv®
+ .
+ ¬g
+  = 
+ 	`make_Ý
+ (
+ O_COMPLEMENT
+ , 1, 
+ yyv¥
+ [0].¬g, 
+ Nuάg
+ , Nullarg);}
+ 
+ 2421 { 
+ yyv®
+ .
+ ¬g
+  = 
+ 	`addæags
+ (1, 
+ AF_POST
+ |
+ AF_UP
+ ,
+ 
+ 2422 
+ 	`l
+ (
+ 	`make_Ý
+ (
+ O_ITEM
+ ,1,
+ yyv¥
+ [-1].
+ ¬g
+ ,
+ Nuάg
+ ,Nullarg))); }
+ 
+ 2426 { 
+ yyv®
+ .
+ ¬g
+  = 
+ 	`addæags
+ (1, 
+ AF_POST
+ ,
+ 
+ 2427 
+ 	`l
+ (
+ 	`make_Ý
+ (
+ O_ITEM
+ ,1,
+ yyv¥
+ [-1].
+ ¬g
+ ,
+ Nuάg
+ ,Nullarg))); }
+ 
+ 2431 { 
+ yyv®
+ .
+ ¬g
+  = 
+ 	`addæags
+ (1, 
+ AF_PRE
+ |
+ AF_UP
+ ,
+ 
+ 2432 
+ 	`l
+ (
+ 	`make_Ý
+ (
+ O_ITEM
+ ,1,
+ yyv¥
+ [0].
+ ¬g
+ ,
+ Nuάg
+ ,Nullarg))); }
+ 
+ 2436 { 
+ yyv®
+ .
+ ¬g
+  = 
+ 	`addæags
+ (1, 
+ AF_PRE
+ ,
+ 
+ 2437 
+ 	`l
+ (
+ 	`make_Ý
+ (
+ O_ITEM
+ ,1,
+ yyv¥
+ [0].
+ ¬g
+ ,
+ Nuάg
+ ,Nullarg))); }
+ 
+ 2441 { 
+ ݬgs
+ [
+ yyv¥
+ [-1].
+ iv®
+ ] = 0;
+ 
+ 2442 
+ yyv®
+ .
+ ¬g
+  = 
+ 	`make_Ý
+ (
+ yyv¥
+ [-1].
+ iv®
+ , 1,
+ 
+ 2443 
+ 	`¡ab2¬g
+ (
+ A_STAB
+ ,
+ 	`¡ab’t
+ (
+ yyv¥
+ [0].
+ cv®
+ ,
+ TRUE
+ )),
+ 
+ 2444 
+ Nuάg
+ , Nullarg);
+ 
+ 2449 { 
+ ݬgs
+ [
+ yyv¥
+ [-1].
+ iv®
+ ] = 1;
+ 
+ 2450 
+ yyv®
+ .
+ ¬g
+  = 
+ 	`make_Ý
+ (
+ yyv¥
+ [-1].
+ iv®
+ , 1, yyv¥[0].¬g, 
+ Nuάg
+ , Nullarg); }
+ 
+ 2454 { 
+ ݬgs
+ [
+ yyv¥
+ [0].
+ iv®
+ ] = (yyv¥[0].iv® !ð
+ O_FTTTY
+ );
+ 
+ 2455 
+ yyv®
+ .
+ ¬g
+  = 
+ 	`make_Ý
+ (
+ yyv¥
+ [0].
+ iv®
+ , 1,
+ 
+ 2456 
+ 	`¡ab2¬g
+ (
+ A_STAB
+ ,
+ 
+ 2457 
+ yyv¥
+ [0].
+ iv®
+  =ð
+ O_FTTTY
+ ?
+ 	`¡ab’t
+ ("STDIN",
+ TRUE
+ ):
+ def¡ab
+ ),
+ 
+ 2458 
+ Nuάg
+ , Nullarg); }
+ 
+ 2462 { 
+ yyv®
+ .
+ ¬g
+  = 
+ 	`l
+ (
+ 	`loÿlize
+ (
+ 	`make_Ý
+ (
+ O_ASSIGN
+ , 1,
+ 
+ 2463 
+ 	`loÿlize
+ (
+ 	`li¡ish
+ (
+ 	`make_li¡
+ (
+ yyv¥
+ [-1].
+ ¬g
+ ))),
+ 
+ 2464 
+ Nuάg
+ ,Nullarg))); }
+ 
+ 2468 { 
+ yyv®
+ .
+ ¬g
+  = 
+ 	`make_li¡
+ (
+ yyv¥
+ [-2].arg); }
+ 
+ 2472 { 
+ yyv®
+ .
+ ¬g
+  = 
+ 	`make_li¡
+ (
+ yyv¥
+ [-1].arg); }
+ 
+ 2476 { 
+ yyv®
+ .
+ ¬g
+  = 
+ 	`make_li¡
+ (
+ Nuάg
+ ); }
+ 
+ 2480 { 
+ yyv®
+ .
+ ¬g
+  = 
+ 	`make_Ý
+ (
+ O_DOFILE
+ ,2,
+ yyv¥
+ [0].¬g,
+ Nuάg
+ ,Nullarg);
+ 
+ 2481 
+ ®l¡abs
+  = 
+ TRUE
+ ;}
+ 
+ 2485 { 
+ yyv®
+ .
+ ¬g
+  = 
+ 	`cmd_to_¬g
+ (
+ yyv¥
+ [0].
+ cmdv®
+ ); }
+ 
+ 2489 { 
+ yyv®
+ .
+ ¬g
+  = 
+ 	`¡ab2¬g
+ (
+ A_STAB
+ ,
+ yyv¥
+ [0].
+ ¡abv®
+ ); }
+ 
+ 2493 { 
+ yyv®
+ .
+ ¬g
+  = 
+ 	`¡ab2¬g
+ (
+ A_STAR
+ ,
+ yyv¥
+ [0].
+ ¡abv®
+ ); }
+ 
+ 2497 { 
+ yyv®
+ .
+ ¬g
+  = 
+ 	`make_Ý
+ (
+ O_AELEM
+ , 2,
+ 
+ 2498 
+ 	`¡ab2¬g
+ (
+ A_STAB
+ ,
+ 	`¯dd
+ (
+ yyv¥
+ [-3].
+ ¡abv®
+ )), yyv¥[-1].
+ ¬g
+ , 
+ Nuάg
+ ); }
+ 
+ 2502 { 
+ yyv®
+ .
+ ¬g
+  = 
+ 	`make_Ý
+ (
+ O_HASH
+ , 1,
+ 
+ 2503 
+ 	`¡ab2¬g
+ (
+ A_STAB
+ ,
+ yyv¥
+ [0].
+ ¡abv®
+ ),
+ 
+ 2504 
+ Nuάg
+ , Nullarg); }
+ 
+ 2508 { 
+ yyv®
+ .
+ ¬g
+  = 
+ 	`make_Ý
+ (
+ O_ARRAY
+ , 1,
+ 
+ 2509 
+ 	`¡ab2¬g
+ (
+ A_STAB
+ ,
+ yyv¥
+ [0].
+ ¡abv®
+ ),
+ 
+ 2510 
+ Nuάg
+ , Nullarg); }
+ 
+ 2514 { 
+ yyv®
+ .
+ ¬g
+  = 
+ 	`make_Ý
+ (
+ O_HELEM
+ , 2,
+ 
+ 2515 
+ 	`¡ab2¬g
+ (
+ A_STAB
+ ,
+ 	`hadd
+ (
+ yyv¥
+ [-3].
+ ¡abv®
+ )),
+ 
+ 2516 
+ 	`jmaybe
+ (
+ yyv¥
+ [-1].
+ ¬g
+ ),
+ 
+ 2517 
+ Nuάg
+ ); }
+ 
+ 2521 { 
+ yyv®
+ .
+ ¬g
+  = 
+ 	`make_Ý
+ (
+ O_LSLICE
+ , 3,
+ 
+ 2522 
+ Nuάg
+ ,
+ 
+ 2523 
+ 	`li¡ish
+ (
+ 	`make_li¡
+ (
+ yyv¥
+ [-1].
+ ¬g
+ )),
+ 
+ 2524 
+ 	`li¡ish
+ (
+ 	`make_li¡
+ (
+ yyv¥
+ [-4].
+ ¬g
+ ))); }
+ 
+ 2528 { 
+ yyv®
+ .
+ ¬g
+  = 
+ 	`make_Ý
+ (
+ O_LSLICE
+ , 3,
+ 
+ 2529 
+ Nuάg
+ ,
+ 
+ 2530 
+ 	`li¡ish
+ (
+ 	`make_li¡
+ (
+ yyv¥
+ [-1].
+ ¬g
+ )),
+ 
+ 2531 
+ Nuάg
+ ); }
+ 
+ 2535 { 
+ yyv®
+ .
+ ¬g
+  = 
+ 	`make_Ý
+ (
+ O_ASLICE
+ , 2,
+ 
+ 2536 
+ 	`¡ab2¬g
+ (
+ A_STAB
+ ,
+ 	`¯dd
+ (
+ yyv¥
+ [-3].
+ ¡abv®
+ )),
+ 
+ 2537 
+ 	`li¡ish
+ (
+ 	`make_li¡
+ (
+ yyv¥
+ [-1].
+ ¬g
+ )),
+ 
+ 2538 
+ Nuάg
+ ); }
+ 
+ 2542 { 
+ yyv®
+ .
+ ¬g
+  = 
+ 	`make_Ý
+ (
+ O_HSLICE
+ , 2,
+ 
+ 2543 
+ 	`¡ab2¬g
+ (
+ A_STAB
+ ,
+ 	`hadd
+ (
+ yyv¥
+ [-3].
+ ¡abv®
+ )),
+ 
+ 2544 
+ 	`li¡ish
+ (
+ 	`make_li¡
+ (
+ yyv¥
+ [-1].
+ ¬g
+ )),
+ 
+ 2545 
+ Nuάg
+ ); }
+ 
+ 2549 { 
+ yyv®
+ .
+ ¬g
+  = 
+ 	`make_Ý
+ (
+ O_DELETE
+ , 2,
+ 
+ 2550 
+ 	`¡ab2¬g
+ (
+ A_STAB
+ ,
+ 	`hadd
+ (
+ yyv¥
+ [-3].
+ ¡abv®
+ )),
+ 
+ 2551 
+ 	`jmaybe
+ (
+ yyv¥
+ [-1].
+ ¬g
+ ),
+ 
+ 2552 
+ Nuάg
+ ); }
+ 
+ 2556 { 
+ yyv®
+ .
+ ¬g
+  = 
+ 	`¡ab2¬g
+ (
+ A_ARYLEN
+ ,
+ yyv¥
+ [0].
+ ¡abv®
+ ); }
+ 
+ 2560 { 
+ yyv®
+ .
+ ¬g
+  = 
+ yyv¥
+ [0].arg; }
+ 
+ 2564 { 
+ yyv®
+ .
+ ¬g
+  = 
+ yyv¥
+ [0].arg; }
+ 
+ 2568 { 
+ yyv®
+ .
+ ¬g
+  = 
+ yyv¥
+ [0].arg; }
+ 
+ 2572 { 
+ yyv®
+ .
+ ¬g
+  = 
+ yyv¥
+ [0].arg; }
+ 
+ 2576 { 
+ yyv®
+ .
+ ¬g
+  = 
+ 	`make_Ý
+ ((
+ ³¾db
+  ? 
+ O_DBSUBR
+  : 
+ O_SUBR
+ ), 2,
+ 
+ 2577 
+ 	`¡ab2¬g
+ (
+ A_WORD
+ ,
+ 	`¡ab’t
+ (
+ yyv¥
+ [-3].
+ cv®
+ ,
+ TRUE
+ )),
+ 
+ 2578 
+ 	`make_li¡
+ (
+ yyv¥
+ [-1].
+ ¬g
+ ),
+ 
+ 2579 
+ Nuάg
+ ); 
+ 	`Saãä“
+ (
+ yyv¥
+ [-3].
+ cv®
+ ); yyv¥[-3].cv® = 
+ NuÎch
+ ;
+ 
+ 2580 
+ yyv®
+ .
+ ¬g
+ ->
+ ¬g_æags
+  |ð
+ AF_DEPR
+ ; }
+ 
+ 2584 { 
+ yyv®
+ .
+ ¬g
+  = 
+ 	`make_Ý
+ ((
+ ³¾db
+  ? 
+ O_DBSUBR
+  : 
+ O_SUBR
+ ), 2,
+ 
+ 2585 
+ 	`¡ab2¬g
+ (
+ A_WORD
+ ,
+ 	`¡ab’t
+ (
+ yyv¥
+ [-3].
+ cv®
+ ,
+ TRUE
+ )),
+ 
+ 2586 
+ 	`make_li¡
+ (
+ yyv¥
+ [-1].
+ ¬g
+ ),
+ 
+ 2587 
+ Nuάg
+ ); 
+ 	`Saãä“
+ (
+ yyv¥
+ [-3].
+ cv®
+ ); yyv¥[-3].cv® = 
+ NuÎch
+ ; }
+ 
+ 2591 { 
+ yyv®
+ .
+ ¬g
+  = 
+ 	`make_Ý
+ ((
+ ³¾db
+  ? 
+ O_DBSUBR
+  : 
+ O_SUBR
+ ), 2,
+ 
+ 2592 
+ 	`¡ab2¬g
+ (
+ A_WORD
+ ,
+ 	`¡ab’t
+ (
+ yyv¥
+ [-2].
+ cv®
+ ,
+ TRUE
+ )),
+ 
+ 2593 
+ 	`make_li¡
+ (
+ Nuάg
+ ),
+ 
+ 2594 
+ Nuάg
+ );
+ 
+ 2595 
+ yyv®
+ .
+ ¬g
+ ->
+ ¬g_æags
+  |ð
+ AF_DEPR
+ ; }
+ 
+ 2599 { 
+ yyv®
+ .
+ ¬g
+  = 
+ 	`make_Ý
+ ((
+ ³¾db
+  ? 
+ O_DBSUBR
+  : 
+ O_SUBR
+ ), 2,
+ 
+ 2600 
+ 	`¡ab2¬g
+ (
+ A_WORD
+ ,
+ 	`¡ab’t
+ (
+ yyv¥
+ [-2].
+ cv®
+ ,
+ TRUE
+ )),
+ 
+ 2601 
+ 	`make_li¡
+ (
+ Nuάg
+ ),
+ 
+ 2602 
+ Nuάg
+ ); }
+ 
+ 2606 { 
+ yyv®
+ .
+ ¬g
+  = 
+ 	`make_Ý
+ ((
+ ³¾db
+  ? 
+ O_DBSUBR
+  : 
+ O_SUBR
+ ), 2,
+ 
+ 2607 
+ 	`¡ab2¬g
+ (
+ A_WORD
+ ,
+ 	`¡ab’t
+ (
+ yyv¥
+ [0].
+ cv®
+ ,
+ TRUE
+ )),
+ 
+ 2608 
+ Nuάg
+ ,
+ 
+ 2609 
+ Nuάg
+ ); }
+ 
+ 2613 { 
+ yyv®
+ .
+ ¬g
+  = 
+ 	`make_Ý
+ ((
+ ³¾db
+  ? 
+ O_DBSUBR
+  : 
+ O_SUBR
+ ), 2,
+ 
+ 2614 
+ 	`¡ab2¬g
+ (
+ A_STAB
+ ,
+ yyv¥
+ [-3].
+ ¡abv®
+ ),
+ 
+ 2615 
+ 	`make_li¡
+ (
+ yyv¥
+ [-1].
+ ¬g
+ ),
+ 
+ 2616 
+ Nuάg
+ );
+ 
+ 2617 
+ yyv®
+ .
+ ¬g
+ ->
+ ¬g_æags
+  |ð
+ AF_DEPR
+ ; }
+ 
+ 2621 { 
+ yyv®
+ .
+ ¬g
+  = 
+ 	`make_Ý
+ ((
+ ³¾db
+  ? 
+ O_DBSUBR
+  : 
+ O_SUBR
+ ), 2,
+ 
+ 2622 
+ 	`¡ab2¬g
+ (
+ A_STAB
+ ,
+ yyv¥
+ [-3].
+ ¡abv®
+ ),
+ 
+ 2623 
+ 	`make_li¡
+ (
+ yyv¥
+ [-1].
+ ¬g
+ ),
+ 
+ 2624 
+ Nuάg
+ ); }
+ 
+ 2628 { 
+ yyv®
+ .
+ ¬g
+  = 
+ 	`make_Ý
+ ((
+ ³¾db
+  ? 
+ O_DBSUBR
+  : 
+ O_SUBR
+ ), 2,
+ 
+ 2629 
+ 	`¡ab2¬g
+ (
+ A_STAB
+ ,
+ yyv¥
+ [-2].
+ ¡abv®
+ ),
+ 
+ 2630 
+ 	`make_li¡
+ (
+ Nuάg
+ ),
+ 
+ 2631 
+ Nuάg
+ );
+ 
+ 2632 
+ yyv®
+ .
+ ¬g
+ ->
+ ¬g_æags
+  |ð
+ AF_DEPR
+ ; }
+ 
+ 2636 { 
+ yyv®
+ .
+ ¬g
+  = 
+ 	`make_Ý
+ ((
+ ³¾db
+  ? 
+ O_DBSUBR
+  : 
+ O_SUBR
+ ), 2,
+ 
+ 2637 
+ 	`¡ab2¬g
+ (
+ A_STAB
+ ,
+ yyv¥
+ [-2].
+ ¡abv®
+ ),
+ 
+ 2638 
+ 	`make_li¡
+ (
+ Nuάg
+ ),
+ 
+ 2639 
+ Nuάg
+ ); }
+ 
+ 2643 { 
+ yyv®
+ .
+ ¬g
+  = 
+ 	`make_Ý
+ ((
+ ³¾db
+  ? 
+ O_DBSUBR
+  : 
+ O_SUBR
+ ), 2,
+ 
+ 2644 
+ 	`¡ab2¬g
+ (
+ A_STAB
+ ,
+ yyv¥
+ [0].
+ ¡abv®
+ ),
+ 
+ 2645 
+ Nuάg
+ ,
+ 
+ 2646 
+ Nuάg
+ ); }
+ 
+ 2650 { 
+ yyv®
+ .
+ ¬g
+  = 
+ 	`make_Ý
+ (
+ yyv¥
+ [0].
+ iv®
+ ,0,
+ Nuάg
+ ,Nullarg,Nullarg); }
+ 
+ 2654 { 
+ yyv®
+ .
+ ¬g
+  = 
+ 	`make_Ý
+ (
+ yyv¥
+ [-1].
+ iv®
+ ,1,
+ 	`cv®_to_¬g
+ (yyv¥[0].
+ cv®
+ ),
+ 
+ 2655 
+ Nuάg
+ ,Nullarg); }
+ 
+ 2659 { 
+ yyv®
+ .
+ ¬g
+  = 
+ 	`make_Ý
+ (
+ yyv¥
+ [0].
+ iv®
+ ,0,
+ Nuάg
+ ,Nullarg,Nullarg); }
+ 
+ 2663 { 
+ yyv®
+ .
+ ¬g
+  = 
+ 	`make_Ý
+ (
+ yyv¥
+ [-1].
+ iv®
+ ,1,yyv¥[0].¬g,
+ Nuάg
+ ,Nullarg); }
+ 
+ 2667 { 
+ yyv®
+ .
+ ¬g
+  = 
+ 	`make_Ý
+ (
+ O_SELECT
+ , 0, 
+ Nuάg
+ , Nullarg, Nullarg);}
+ 
+ 2671 { 
+ yyv®
+ .
+ ¬g
+  = 
+ 	`make_Ý
+ (
+ O_SELECT
+ , 1, 
+ yyv¥
+ [-1].¬g, 
+ Nuάg
+ , Nullarg); }
+ 
+ 2675 { 
+ ¬g4
+  = 
+ yyv¥
+ [-1].
+ ¬g
+ ;
+ 
+ 2676 
+ yyv®
+ .
+ ¬g
+  = 
+ 	`make_Ý
+ (
+ O_SSELECT
+ , 4, 
+ yyv¥
+ [-4].arg, yyvsp[-3].arg, yyvsp[-2].arg); }
+ 
+ 2680 { 
+ yyv®
+ .
+ ¬g
+  = 
+ 	`make_Ý
+ (
+ O_OPEN
+ , 2,
+ 
+ 2681 
+ 	`¡ab2¬g
+ (
+ A_WORD
+ ,
+ 	`¡ab’t
+ (
+ yyv¥
+ [0].
+ cv®
+ ,
+ TRUE
+ )),
+ 
+ 2682 
+ 	`¡ab2¬g
+ (
+ A_STAB
+ ,
+ 	`¡ab’t
+ (
+ yyv¥
+ [0].
+ cv®
+ ,
+ TRUE
+ )),
+ 
+ 2683 
+ Nuάg
+ ); }
+ 
+ 2687 { 
+ yyv®
+ .
+ ¬g
+  = 
+ 	`make_Ý
+ (
+ O_OPEN
+ , 2,
+ 
+ 2688 
+ 	`¡ab2¬g
+ (
+ A_WORD
+ ,
+ 	`¡ab’t
+ (
+ yyv¥
+ [-1].
+ cv®
+ ,
+ TRUE
+ )),
+ 
+ 2689 
+ 	`¡ab2¬g
+ (
+ A_STAB
+ ,
+ 	`¡ab’t
+ (
+ yyv¥
+ [-1].
+ cv®
+ ,
+ TRUE
+ )),
+ 
+ 2690 
+ Nuάg
+ ); }
+ 
+ 2694 { 
+ yyv®
+ .
+ ¬g
+  = 
+ 	`make_Ý
+ (
+ O_OPEN
+ , 2,
+ 
+ 2695 
+ yyv¥
+ [-2].
+ ¬g
+ ,
+ 
+ 2696 
+ yyv¥
+ [-1].
+ ¬g
+ , 
+ Nuάg
+ ); }
+ 
+ 2700 { 
+ yyv®
+ .
+ ¬g
+  = 
+ 	`make_Ý
+ (
+ yyv¥
+ [-3].
+ iv®
+ , 1,
+ 
+ 2701 
+ yyv¥
+ [-1].
+ ¬g
+ ,
+ 
+ 2702 
+ Nuάg
+ , Nullarg); }
+ 
+ 2706 { 
+ yyv®
+ .
+ ¬g
+  = 
+ 	`make_Ý
+ (
+ yyv¥
+ [-1].
+ iv®
+ , 1,
+ 
+ 2707 
+ 	`¡ab2¬g
+ (
+ A_WORD
+ ,
+ 	`¡ab’t
+ (
+ yyv¥
+ [0].
+ cv®
+ ,
+ TRUE
+ )),
+ 
+ 2708 
+ Nuάg
+ , Nullarg);
+ 
+ 2709 
+ 	`Saãä“
+ (
+ yyv¥
+ [0].
+ cv®
+ ); yyv¥[0].cv® = 
+ NuÎch
+ ; }
+ 
+ 2713 { 
+ yyv®
+ .
+ ¬g
+  = 
+ 	`make_Ý
+ (
+ yyv¥
+ [-1].
+ iv®
+ , 1,
+ 
+ 2714 
+ 	`¡ab2¬g
+ (
+ A_STAB
+ ,
+ yyv¥
+ [0].
+ ¡abv®
+ ),
+ 
+ 2715 
+ Nuάg
+ , Nullarg); }
+ 
+ 2719 { 
+ yyv®
+ .
+ ¬g
+  = 
+ 	`make_Ý
+ (
+ yyv¥
+ [-2].
+ iv®
+ , 1,
+ 
+ 2720 
+ 	`¡ab2¬g
+ (
+ A_WORD
+ ,
+ NuΡab
+ ),
+ 
+ 2721 
+ Nuάg
+ , Nullarg); }
+ 
+ 2725 { 
+ yyv®
+ .
+ ¬g
+  = 
+ 	`make_Ý
+ (
+ yyv¥
+ [0].
+ iv®
+ , 0,
+ 
+ 2726 
+ Nuάg
+ , Nullarg, Nullarg); }
+ 
+ 2730 { 
+ yyv®
+ .
+ ¬g
+  = 
+ 	`make_Ý
+ (
+ yyv¥
+ [-4].
+ iv®
+ , 2, yyv¥[-2].¬g, yyv¥[-1].¬g, 
+ Nuάg
+ ); }
+ 
+ 2734 { 
+ yyv®
+ .
+ ¬g
+  = 
+ 	`make_Ý
+ (
+ yyv¥
+ [-5].
+ iv®
+ , 3, yyv¥[-3].¬g, yyv¥[-2].¬g, 
+ 	`make_li¡
+ (yyvsp[-1].arg)); }
+ 
+ 2738 { 
+ yyv®
+ .
+ ¬g
+  = 
+ 	`make_Ý
+ (
+ yyv¥
+ [-5].
+ iv®
+ , 2, yyv¥[-3].¬g, yyv¥[-1].¬g, 
+ Nuάg
+ ); }
+ 
+ 2742 { 
+ ¬g4
+  = 
+ yyv¥
+ [-1].
+ ¬g
+ ; 
+ yyv®
+ .¬g = 
+ 	`make_Ý
+ (yyv¥[-6].
+ iv®
+ , 4, yyvsp[-4].arg, yyvsp[-3].arg, yyvsp[-2].arg); }
+ 
+ 2746 { 
+ ¬g4
+  = 
+ yyv¥
+ [-2].
+ ¬g
+ ; 
+ ¬g5
+  = yyvsp[-1].arg;
+ 
+ 2747 
+ yyv®
+ .
+ ¬g
+  = 
+ 	`make_Ý
+ (
+ yyv¥
+ [-8].
+ iv®
+ , 5, yyvsp[-6].arg, yyvsp[-4].arg, yyvsp[-3].arg); }
+ 
+ 2751 { 
+ yyv®
+ .
+ ¬g
+  = 
+ 	`make_Ý
+ (
+ yyv¥
+ [-4].
+ iv®
+ , 2,
+ 
+ 2752 
+ yyv¥
+ [-2].
+ ¬g
+ ,
+ 
+ 2753 
+ 	`make_li¡
+ (
+ yyv¥
+ [-1].
+ ¬g
+ ),
+ 
+ 2754 
+ Nuάg
+ ); }
+ 
+ 2758 { 
+ yyv®
+ .
+ ¬g
+  = 
+ 	`make_Ý
+ (
+ O_POP
+ , 1, 
+ yyv¥
+ [0].¬g, 
+ Nuάg
+ , Nullarg); }
+ 
+ 2762 { 
+ yyv®
+ .
+ ¬g
+  = 
+ 	`make_Ý
+ (
+ O_POP
+ , 1, 
+ yyv¥
+ [-1].¬g, 
+ Nuάg
+ , Nullarg); }
+ 
+ 2766 { 
+ yyv®
+ .
+ ¬g
+  = 
+ 	`make_Ý
+ (
+ O_SHIFT
+ , 1, 
+ yyv¥
+ [0].¬g, 
+ Nuάg
+ , Nullarg); }
+ 
+ 2770 { 
+ yyv®
+ .
+ ¬g
+  = 
+ 	`make_Ý
+ (
+ O_SHIFT
+ , 1, 
+ yyv¥
+ [-1].¬g, 
+ Nuάg
+ , Nullarg); }
+ 
+ 2774 { 
+ yyv®
+ .
+ ¬g
+  = 
+ 	`make_Ý
+ (
+ O_SHIFT
+ , 1,
+ 
+ 2775 
+ 	`¡ab2¬g
+ (
+ A_STAB
+ ,
+ 
+ 2776 
+ 	`¯dd
+ (
+ 	`¡ab’t
+ (
+ sublše
+  ? "_" : "ARGV", 
+ TRUE
+ ))),
+ 
+ 2777 
+ Nuάg
+ , Nullarg); }
+ 
+ 2781 { 
+ p
+ []="/\\s+/";
+ 
+ 2782 *
+ Þd’d
+  = 
+ buãnd
+ ;
+ 
+ 2783 
+ ARG
+  *
+ Þd¬g
+  = 
+ yylv®
+ .
+ ¬g
+ ;
+ 
+ 2785 
+ buãnd
+ =
+ p
+ +5;
+ 
+ 2786 ()
+ 	`sÿÅ©
+ (
+ p
+ );
+ 
+ 2787 
+ buãnd
+ =
+ Þd’d
+ ;
+ 
+ 2788 
+ yyv®
+ .
+ ¬g
+  = 
+ 	`make_¥l™
+ (
+ def¡ab
+ ,
+ yylv®
+ .¬g,
+ Nuάg
+ );
+ 
+ 2789 
+ yylv®
+ .
+ ¬g
+  = 
+ Þd¬g
+ ; }
+ 
+ 2793 { 
+ yyv®
+ .
+ ¬g
+  = 
+ 	`mod_m©ch
+ (
+ O_MATCH
+ , 
+ yyv¥
+ [-2].arg,
+ 
+ 2794 
+ 	`make_¥l™
+ (
+ def¡ab
+ ,
+ yyv¥
+ [-3].
+ ¬g
+ ,yyvsp[-1].arg));}
+ 
+ 2798 { 
+ yyv®
+ .
+ ¬g
+  = 
+ 	`mod_m©ch
+ (
+ O_MATCH
+ , 
+ yyv¥
+ [-1].arg,
+ 
+ 2799 
+ 	`make_¥l™
+ (
+ def¡ab
+ ,
+ yyv¥
+ [-2].
+ ¬g
+ ,
+ Nuάg
+ ) ); }
+ 
+ 2803 { 
+ yyv®
+ .
+ ¬g
+  = 
+ 	`mod_m©ch
+ (
+ O_MATCH
+ ,
+ 
+ 2804 
+ 	`¡ab2¬g
+ (
+ A_STAB
+ ,
+ def¡ab
+ ),
+ 
+ 2805 
+ 	`make_¥l™
+ (
+ def¡ab
+ ,
+ yyv¥
+ [-1].
+ ¬g
+ ,
+ Nuάg
+ ) ); }
+ 
+ 2809 { 
+ yyv®
+ .
+ ¬g
+  = 
+ 	`make_Ý
+ (
+ yyv¥
+ [-4].
+ iv®
+ , 2,
+ 
+ 2810 
+ yyv¥
+ [-2].
+ ¬g
+ ,
+ 
+ 2811 
+ 	`li¡ish
+ (
+ 	`make_li¡
+ (
+ yyv¥
+ [-1].
+ ¬g
+ )),
+ 
+ 2812 
+ Nuάg
+ ); }
+ 
+ 2816 { 
+ yyv®
+ .
+ ¬g
+  = 
+ 	`make_Ý
+ (
+ yyv¥
+ [-3].
+ iv®
+ , 1,
+ 
+ 2817 
+ 	`make_li¡
+ (
+ yyv¥
+ [-1].
+ ¬g
+ ),
+ 
+ 2818 
+ Nuάg
+ ,
+ 
+ 2819 
+ Nuάg
+ ); }
+ 
+ 2823 { 
+ yyv®
+ .
+ ¬g
+  = 
+ 	`l
+ (
+ 	`make_Ý
+ (
+ yyv¥
+ [-1].
+ iv®
+ , 1, 
+ 	`fixl
+ (yyvsp[-1].ival,yyvsp[0].arg),
+ 
+ 2824 
+ Nuάg
+ , Nullarg)); }
+ 
+ 2828 { 
+ yyv®
+ .
+ ¬g
+  = 
+ 	`l
+ (
+ 	`make_Ý
+ (
+ yyv¥
+ [0].
+ iv®
+ , 1,
+ 
+ 2829 
+ 	`¡ab2¬g
+ (
+ A_STAB
+ ,
+ def¡ab
+ ),
+ 
+ 2830 
+ Nuάg
+ , Nullarg)); }
+ 
+ 2834 { 
+ yyv®
+ .
+ ¬g
+  = 
+ 	`make_Ý
+ (
+ yyv¥
+ [0].
+ iv®
+ , 0, 
+ Nuάg
+ , Nullarg, Nullarg); }
+ 
+ 2838 { 
+ yyv®
+ .
+ ¬g
+  = 
+ 	`make_Ý
+ (
+ yyv¥
+ [-2].
+ iv®
+ , 0, 
+ Nuάg
+ , Nullarg, Nullarg); }
+ 
+ 2842 { 
+ yyv®
+ .
+ ¬g
+  = 
+ 	`make_Ý
+ (
+ yyv¥
+ [-2].
+ iv®
+ , 0, 
+ Nuάg
+ , Nullarg, Nullarg); }
+ 
+ 2846 { 
+ yyv®
+ .
+ ¬g
+  = 
+ 	`make_Ý
+ (
+ yyv¥
+ [-3].
+ iv®
+ , 1, yyv¥[-1].¬g, 
+ Nuάg
+ , Nullarg); }
+ 
+ 2850 { 
+ yyv®
+ .
+ ¬g
+  = 
+ 	`make_Ý
+ (
+ yyv¥
+ [-4].
+ iv®
+ , 2, yyv¥[-2].¬g, yyv¥[-1].¬g, 
+ Nuάg
+ );
+ 
+ 2851 ià(
+ yyv¥
+ [-4].
+ iv®
+  =ð
+ O_INDEX
+  && 
+ yyv®
+ .
+ ¬g
+ [2].
+ ¬g_ty³
+  =ð
+ A_SINGLE
+ )
+ 
+ 2852 
+ 	`fbmcompže
+ (
+ yyv®
+ .
+ ¬g
+ [2].
+ ¬g_±r
+ .
+ ¬g_¡r
+ ,0); }
+ 
+ 2856 { 
+ yyv®
+ .
+ ¬g
+  = 
+ 	`make_Ý
+ (
+ yyv¥
+ [-4].
+ iv®
+ , 2, yyv¥[-2].¬g, yyv¥[-1].¬g, 
+ Nuάg
+ );
+ 
+ 2857 ià(
+ yyv¥
+ [-4].
+ iv®
+  =ð
+ O_INDEX
+  && 
+ yyv®
+ .
+ ¬g
+ [2].
+ ¬g_ty³
+  =ð
+ A_SINGLE
+ )
+ 
+ 2858 
+ 	`fbmcompže
+ (
+ yyv®
+ .
+ ¬g
+ [2].
+ ¬g_±r
+ .
+ ¬g_¡r
+ ,0); }
+ 
+ 2862 { 
+ yyv®
+ .
+ ¬g
+  = 
+ 	`make_Ý
+ (
+ yyv¥
+ [-5].
+ iv®
+ , 3, yyvsp[-3].arg, yyvsp[-2].arg, yyvsp[-1].arg);
+ 
+ 2863 ià(
+ yyv¥
+ [-5].
+ iv®
+  =ð
+ O_INDEX
+  && 
+ yyv®
+ .
+ ¬g
+ [2].
+ ¬g_ty³
+  =ð
+ A_SINGLE
+ )
+ 
+ 2864 
+ 	`fbmcompže
+ (
+ yyv®
+ .
+ ¬g
+ [2].
+ ¬g_±r
+ .
+ ¬g_¡r
+ ,0); }
+ 
+ 2868 { 
+ yyv®
+ .
+ ¬g
+  = 
+ 	`make_Ý
+ (
+ yyv¥
+ [-5].
+ iv®
+ , 3, yyvsp[-3].arg, yyvsp[-2].arg, yyvsp[-1].arg); }
+ 
+ 2872 { 
+ ¬g4
+  = 
+ yyv¥
+ [-1].
+ ¬g
+ ;
+ 
+ 2873 
+ yyv®
+ .
+ ¬g
+  = 
+ 	`make_Ý
+ (
+ yyv¥
+ [-6].
+ iv®
+ , 4, yyvsp[-4].arg, yyvsp[-3].arg, yyvsp[-2].arg); }
+ 
+ 2877 { 
+ ¬g4
+  = 
+ yyv¥
+ [-2].
+ ¬g
+ ; 
+ ¬g5
+  = yyvsp[-1].arg;
+ 
+ 2878 
+ yyv®
+ .
+ ¬g
+  = 
+ 	`make_Ý
+ (
+ yyv¥
+ [-7].
+ iv®
+ , 5, yyvsp[-5].arg, yyvsp[-4].arg, yyvsp[-3].arg); }
+ 
+ 2882 { 
+ yyv®
+ .
+ ¬g
+  = 
+ 	`make_Ý
+ (
+ yyv¥
+ [-3].
+ iv®
+ , 1,
+ 
+ 2883 
+ yyv¥
+ [-1].
+ ¬g
+ ,
+ 
+ 2884 
+ Nuάg
+ ,
+ 
+ 2885 
+ Nuάg
+ ); }
+ 
+ 2889 { 
+ yyv®
+ .
+ ¬g
+  = 
+ 	`make_Ý
+ (
+ yyv¥
+ [-1].
+ iv®
+ , 1,
+ 
+ 2890 
+ yyv¥
+ [0].
+ ¬g
+ ,
+ 
+ 2891 
+ Nuάg
+ ,
+ 
+ 2892 
+ Nuάg
+ ); }
+ 
+ 2896 { 
+ yyv®
+ .
+ ¬g
+  = 
+ 	`make_Ý
+ (
+ yyv¥
+ [-5].
+ iv®
+ , 3, yyvsp[-3].arg, yyvsp[-2].arg, yyvsp[-1].arg); }
+ 
+ 2900 { 
+ yyv®
+ .
+ ¬g
+  = 
+ 	`make_Ý
+ (
+ yyv¥
+ [0].
+ iv®
+ ,2,
+ 
+ 2901 
+ 	`¡ab2¬g
+ (
+ A_WORD
+ ,
+ NuΡab
+ ),
+ 
+ 2902 
+ 	`¡ab2¬g
+ (
+ A_STAB
+ ,
+ def¡ab
+ ),
+ 
+ 2903 
+ Nuάg
+ ); }
+ 
+ 2907 { 
+ yyv®
+ .
+ ¬g
+  = 
+ 	`make_Ý
+ (
+ yyv¥
+ [-1].
+ iv®
+ ,2,
+ 
+ 2908 
+ 	`¡ab2¬g
+ (
+ A_WORD
+ ,
+ NuΡab
+ ),
+ 
+ 2909 
+ 	`mayb–i¡ish
+ (
+ yyv¥
+ [-1].
+ iv®
+ ,
+ 	`make_li¡
+ (yyv¥[0].
+ ¬g
+ )),
+ 
+ 2910 
+ Nuάg
+ ); }
+ 
+ 2914 { 
+ yyv®
+ .
+ ¬g
+  = 
+ 	`make_Ý
+ (
+ yyv¥
+ [-1].
+ iv®
+ ,2,
+ 
+ 2915 
+ 	`¡ab2¬g
+ (
+ A_WORD
+ ,
+ 	`¡ab’t
+ (
+ yyv¥
+ [0].
+ cv®
+ ,
+ TRUE
+ )),
+ 
+ 2916 
+ 	`¡ab2¬g
+ (
+ A_STAB
+ ,
+ def¡ab
+ ),
+ 
+ 2917 
+ Nuάg
+ ); }
+ 
+ 2921 { 
+ yyv®
+ .
+ ¬g
+  = 
+ 	`make_Ý
+ (
+ yyv¥
+ [-2].
+ iv®
+ ,2,
+ 
+ 2922 
+ 	`¡ab2¬g
+ (
+ A_WORD
+ ,
+ 	`¡ab’t
+ (
+ yyv¥
+ [-1].
+ cv®
+ ,
+ TRUE
+ )),
+ 
+ 2923 
+ 	`mayb–i¡ish
+ (
+ yyv¥
+ [-2].
+ iv®
+ ,
+ 	`make_li¡
+ (yyv¥[0].
+ ¬g
+ )),
+ 
+ 2924 
+ Nuάg
+ ); 
+ 	`Saãä“
+ (
+ yyv¥
+ [-1].
+ cv®
+ ); yyv¥[-1].cv® = 
+ NuÎch
+ ; }
+ 
+ 2928 { 
+ yyv®
+ .
+ ¬g
+  = 
+ 	`make_Ý
+ (
+ yyv¥
+ [-2].
+ iv®
+ ,2,
+ 
+ 2929 
+ 	`¡ab2¬g
+ (
+ A_STAB
+ ,
+ yyv¥
+ [-1].
+ ¡abv®
+ ),
+ 
+ 2930 
+ 	`mayb–i¡ish
+ (
+ yyv¥
+ [-2].
+ iv®
+ ,
+ 	`make_li¡
+ (yyv¥[0].
+ ¬g
+ )),
+ 
+ 2931 
+ Nuάg
+ ); }
+ 
+ 2935 { 
+ yyv®
+ .
+ ¬g
+  = 
+ 	`¡ab2¬g
+ (
+ A_WORD
+ ,
+ 	`¡ab’t
+ (
+ yyv¥
+ [0].
+ cv®
+ ,
+ TRUE
+ ));
+ 
+ 2936 
+ 	`Saãä“
+ (
+ yyv¥
+ [0].
+ cv®
+ ); yyv¥[0].cv® = 
+ NuÎch
+ ;}
+ 
+ 2940 { 
+ yyv®
+ .
+ ¬g
+  = 
+ 	`¡ab2¬g
+ (
+ A_WORD
+ ,
+ 	`¯dd
+ (
+ 	`¡ab’t
+ (
+ yyv¥
+ [0].
+ cv®
+ ,
+ TRUE
+ )));
+ 
+ 2941 
+ 	`Saãä“
+ (
+ yyv¥
+ [0].
+ cv®
+ ); yyv¥[0].cv® = 
+ NuÎch
+ ; }
+ 
+ 2945 { 
+ yyv®
+ .
+ ¬g
+  = 
+ 	`¡ab2¬g
+ (
+ A_STAB
+ ,
+ yyv¥
+ [0].
+ ¡abv®
+ ); }
+ 
+ 2949 { 
+ yyv®
+ .
+ ¬g
+  = 
+ 	`¡ab2¬g
+ (
+ A_WORD
+ ,
+ 	`hadd
+ (
+ 	`¡ab’t
+ (
+ yyv¥
+ [0].
+ cv®
+ ,
+ TRUE
+ )));
+ 
+ 2950 
+ 	`Saãä“
+ (
+ yyv¥
+ [0].
+ cv®
+ ); yyv¥[0].cv® = 
+ NuÎch
+ ; }
+ 
+ 2954 { 
+ yyv®
+ .
+ ¬g
+  = 
+ 	`¡ab2¬g
+ (
+ A_STAB
+ ,
+ yyv¥
+ [0].
+ ¡abv®
+ ); }
+ 
+ 2958 { *
+ s
+ ;
+ 
+ 2959 
+ yyv®
+ .
+ ¬g
+  = 
+ 	`Ý_Ãw
+ (1);
+ 
+ 2960 
+ yyv®
+ .
+ ¬g
+ ->
+ ¬g_ty³
+  = 
+ O_ITEM
+ ;
+ 
+ 2961 
+ yyv®
+ .
+ ¬g
+ [1].
+ ¬g_ty³
+  = 
+ A_SINGLE
+ ;
+ 
+ 2962 
+ yyv®
+ .
+ ¬g
+ [1].
+ ¬g_±r
+ .
+ ¬g_¡r
+  = 
+ 	`¡r_make
+ (
+ yyv¥
+ [0].
+ cv®
+ ,0);
+ 
+ 2963 
+ s
+  = 
+ yyv¥
+ [0].
+ cv®
+ ; * && 
+ 	`i¦ow”
+ (*s); s++) ;
+ 
+ 2964 ià(
+ dow¬n
+  && !*
+ s
+ )
+ 
+ 2965 
+ 	`w¬n
+ (
+ 
+ 2967 
+ yyv¥
+ [0].
+ cv®
+  );
+ 
+ 2972 
+ yys¥
+  -ð
+ yym
+ ;
+ 
+ 2973 
+ yy¡©e
+  = *
+ yys¥
+ ;
+ 
+ 2974 
+ yyv¥
+  -ð
+ yym
+ ;
+ 
+ 2975 
+ yym
+  = 
+ yylhs
+ [
+ yyn
+ ];
+ 
+ 2976 ià(
+ yy¡©e
+  =ð0 && 
+ yym
+  == 0)
+ 
+ 2978 #ià
+ YYDEBUG
+ 
+ 
+ 2979 ià(
+ yydebug
+ )
+ 
+ 2980 
+ 	`´štf
+ ("%sdebug:‡á”„eduùiÚ, shiášg from s‹ 0o\
+  %d\n", 
+ YYPREFIX
+ , 
+ YYFINAL
+ );
+ 
+ 2983 
+ yy¡©e
+  = 
+ YYFINAL
+ ;
+ 
+ 2984 *++
+ yys¥
+  = 
+ YYFINAL
+ ;
+ 
+ 2985 *++
+ yyv¥
+  = 
+ yyv®
+ ;
+ 
+ 2986 ià(
+ yych¬
+  < 0)
+ 
+ 2988 ià((
+ yych¬
+  = 
+ 	`yyËx
+ ()) < 0) yychar = 0;
+ 
+ 2989 #ià
+ YYDEBUG
+ 
+ 
+ 2990 ià(
+ yydebug
+ )
+ 
+ 2992 
+ yys
+  = 0;
+ 
+ 2993 ià(
+ yych¬
+  <ð
+ YYMAXTOKEN
+ è
+ yys
+  = 
+ yyÇme
+ [yychar];
+ 
+ 2994 ià(!
+ yys
+ ) yys = "illegal-symbol";
+ 
+ 2995 
+ 	`´štf
+ ("%sdebug: state %d,„eading %d (%s)\n",
+ 
+ 2996 
+ YYPREFIX
+ , 
+ YYFINAL
+ , 
+ yych¬
+ , 
+ yys
+ );
+ 
+ 3000 ià(
+ yych¬
+  =ð0è
+ yyacû±
+ ;
+ 
+ 3001 
+ yyloÝ
+ ;
+ 
+ 3003 ià((
+ yyn
+  = 
+ yygšdex
+ [
+ yym
+ ]è&& (yyÀ+ð
+ yy¡©e
+ ) >= 0 &&
+ 
+ 3004 
+ yyn
+  <ð
+ YYTABLESIZE
+  && 
+ yycheck
+ [yyn] =ð
+ yy¡©e
+ )
+ 
+ 3005 
+ yy¡©e
+  = 
+ yybË
+ [
+ yyn
+ ];
+ 
+ 3007 
+ yy¡©e
+  = 
+ yydgÙo
+ [
+ yym
+ ];
+ 
+ 3008 #ià
+ YYDEBUG
+ 
+ 
+ 3009 ià(
+ yydebug
+ )
+ 
+ 3010 
+ 	`´štf
+ ("%sdebug:‡á”„eduùiÚ, shiášg from s‹ %d \
+  s‹ %d\n", 
+ YYPREFIX
+ , *
+ yys¥
+ , 
+ yy¡©e
+ );
+ 
+ 3013 ià(
+ yys¥
+  >ð
+ yys¦im
+  && 
+ 	`yygrow¡ack
+ ())
+ 
+ 3015 
+ yyovӾow
+ ;
+ 
+ 3017 *++
+ yys¥
+  = 
+ yy¡©e
+ ;
+ 
+ 3018 *++
+ yyv¥
+  = 
+ yyv®
+ ;
+ 
+ 3019 
+ yyloÝ
+ ;
+ 
+ 3020 
+ yyovӾow
+ :
+ 
+ 3021 
+ 	`yy”rÜ
+ ("yacc stack overflow");
+ 
+ 3022 
+ yyabÜt
+ :
+ 
+ 3024 
+ yyacû±
+ :
+ 
+ 3026 
+ 	}
+ }
+ 
+ 	@perly.h
+ 
+ 1 #iâdeà
+ YYERRCODE
+ 
+ 
+ 2 
+ 	#YYERRCODE
+  256
+ 
+ 	)
+ 
+ 5 
+ 	#WORD
+  257
+ 
+ 	)
+ 
+ 6 
+ 	#APPEND
+  258
+ 
+ 	)
+ 
+ 7 
+ 	#OPEN
+  259
+ 
+ 	)
+ 
+ 8 
+ 	#SSELECT
+  260
+ 
+ 	)
+ 
+ 9 
+ 	#LOOPEX
+  261
+ 
+ 	)
+ 
+ 10 
+ 	#USING
+  262
+ 
+ 	)
+ 
+ 11 
+ 	#FORMAT
+  263
+ 
+ 	)
+ 
+ 12 
+ 	#DO
+  264
+ 
+ 	)
+ 
+ 13 
+ 	#SHIFT
+  265
+ 
+ 	)
+ 
+ 14 
+ 	#PUSH
+  266
+ 
+ 	)
+ 
+ 15 
+ 	#POP
+  267
+ 
+ 	)
+ 
+ 16 
+ 	#LVALFUN
+  268
+ 
+ 	)
+ 
+ 17 
+ 	#WHILE
+  269
+ 
+ 	)
+ 
+ 18 
+ 	#UNTIL
+  270
+ 
+ 	)
+ 
+ 19 
+ 	#IF
+  271
+ 
+ 	)
+ 
+ 20 
+ 	#UNLESS
+  272
+ 
+ 	)
+ 
+ 21 
+ 	#ELSE
+  273
+ 
+ 	)
+ 
+ 22 
+ 	#ELSIF
+  274
+ 
+ 	)
+ 
+ 23 
+ 	#CONTINUE
+  275
+ 
+ 	)
+ 
+ 24 
+ 	#SPLIT
+  276
+ 
+ 	)
+ 
+ 25 
+ 	#FLIST
+  277
+ 
+ 	)
+ 
+ 26 
+ 	#FOR
+  278
+ 
+ 	)
+ 
+ 27 
+ 	#FILOP
+  279
+ 
+ 	)
+ 
+ 28 
+ 	#FILOP2
+  280
+ 
+ 	)
+ 
+ 29 
+ 	#FILOP3
+  281
+ 
+ 	)
+ 
+ 30 
+ 	#FILOP4
+  282
+ 
+ 	)
+ 
+ 31 
+ 	#FILOP22
+  283
+ 
+ 	)
+ 
+ 32 
+ 	#FILOP25
+  284
+ 
+ 	)
+ 
+ 33 
+ 	#FUNC0
+  285
+ 
+ 	)
+ 
+ 34 
+ 	#FUNC1
+  286
+ 
+ 	)
+ 
+ 35 
+ 	#FUNC2
+  287
+ 
+ 	)
+ 
+ 36 
+ 	#FUNC2x
+  288
+ 
+ 	)
+ 
+ 37 
+ 	#FUNC3
+  289
+ 
+ 	)
+ 
+ 38 
+ 	#FUNC4
+  290
+ 
+ 	)
+ 
+ 39 
+ 	#FUNC5
+  291
+ 
+ 	)
+ 
+ 40 
+ 	#HSHFUN
+  292
+ 
+ 	)
+ 
+ 41 
+ 	#HSHFUN3
+  293
+ 
+ 	)
+ 
+ 42 
+ 	#FLIST2
+  294
+ 
+ 	)
+ 
+ 43 
+ 	#SUB
+  295
+ 
+ 	)
+ 
+ 44 
+ 	#FILETEST
+  296
+ 
+ 	)
+ 
+ 45 
+ 	#LOCAL
+  297
+ 
+ 	)
+ 
+ 46 
+ 	#DELETE
+  298
+ 
+ 	)
+ 
+ 47 
+ 	#RELOP
+  299
+ 
+ 	)
+ 
+ 48 
+ 	#EQOP
+  300
+ 
+ 	)
+ 
+ 49 
+ 	#MULOP
+  301
+ 
+ 	)
+ 
+ 50 
+ 	#ADDOP
+  302
+ 
+ 	)
+ 
+ 51 
+ 	#PACKAGE
+  303
+ 
+ 	)
+ 
+ 52 
+ 	#AMPER
+  304
+ 
+ 	)
+ 
+ 53 
+ 	#FORMLIST
+  305
+ 
+ 	)
+ 
+ 54 
+ 	#REG
+  306
+ 
+ 	)
+ 
+ 55 
+ 	#ARYLEN
+  307
+ 
+ 	)
+ 
+ 56 
+ 	#ARY
+  308
+ 
+ 	)
+ 
+ 57 
+ 	#HSH
+  309
+ 
+ 	)
+ 
+ 58 
+ 	#STAR
+  310
+ 
+ 	)
+ 
+ 59 
+ 	#SUBST
+  311
+ 
+ 	)
+ 
+ 60 
+ 	#PATTERN
+  312
+ 
+ 	)
+ 
+ 61 
+ 	#RSTRING
+  313
+ 
+ 	)
+ 
+ 62 
+ 	#TRANS
+  314
+ 
+ 	)
+ 
+ 63 
+ 	#LISTOP
+  315
+ 
+ 	)
+ 
+ 64 
+ 	#DOTDOT
+  316
+ 
+ 	)
+ 
+ 65 
+ 	#OROR
+  317
+ 
+ 	)
+ 
+ 66 
+ 	#ANDAND
+  318
+ 
+ 	)
+ 
+ 67 
+ 	#UNIOP
+  319
+ 
+ 	)
+ 
+ 68 
+ 	#LS
+  320
+ 
+ 	)
+ 
+ 69 
+ 	#RS
+  321
+ 
+ 	)
+ 
+ 70 
+ 	#MATCH
+  322
+ 
+ 	)
+ 
+ 71 
+ 	#NMATCH
+  323
+ 
+ 	)
+ 
+ 72 
+ 	#UMINUS
+  324
+ 
+ 	)
+ 
+ 73 
+ 	#POW
+  325
+ 
+ 	)
+ 
+ 74 
+ 	#INC
+  326
+ 
+ 	)
+ 
+ 75 
+ 	#DEC
+  327
+ 
+ 	)
+ 
+ 77 
+ 	miv®
+ ;
+ 
+ 78 *
+ 	mcv®
+ ;
+ 
+ 79 
+ ARG
+  *
+ 	m¬g
+ ;
+ 
+ 80 
+ CMD
+  *
+ 	mcmdv®
+ ;
+ 
+ 81 
+ compcmd
+  
+ 	mcompv®
+ ;
+ 
+ 82 
+ STAB
+  *
+ 	m¡abv®
+ ;
+ 
+ 83 
+ FCMD
+  *
+ 	mfÜmv®
+ ;
+ 
+ 84 } 
+ 	tYYSTYPE
+ ;
+ 
+ 85 
+ YYSTYPE
+  
+ yylv®
+ ;
+ 
+ 86 
+ YYSTYPE
+  
+ yylv®
+ ;
+ 
+ 	@regcomp.c
+ 
+ 53 
+ 	~"EXTERN.h
+ "
+ 
+ 54 
+ 	~"³¾.h
+ "
+ 
+ 55 
+ 	~"INTERN.h
+ "
+ 
+ 56 
+ 	~"»gcomp.h
+ "
+ 
+ 58 #ifdeà
+ MSDOS
+ 
+ 
+ 59 #ià
+ defšed
+ (
+ BUGGY_MSC6
+ )
+ 
+ 61 #´agm¨
+ Ýtimize
+ ("a",
+ off
+ )
+ 
+ 63 #´agm¨
+ Ýtimize
+ ("w",
+ Ú
+  )
+ 
+ 67 #iâdeà
+ STATIC
+ 
+ 
+ 68 
+ 	#STATIC
+  
+ 
+ 	)
+ 
+ 71 
+ 	#ISMULT1
+ (
+ c
+ è((cè=ð'*' || (cè=ð'+' || (cè=ð'?')
+ 
+ 	)
+ 
+ 72 
+ 	#ISMULT2
+ (
+ s
+ ) ((*s) == '*' || (*s) == '+' || (*s) == '?' || \
+ 
+ 73 ((*
+ s
+ è=ð'{' && 
+ 	`»gcu¾y
+ (s)))
+ 
+ 	)
+ 
+ 74 
+ 	#META
+  "^$.[()|?+*\\"
+ 
+ 	)
+ 
+ 76 #ifdeà
+ SPSTART
+ 
+ 
+ 77 #undeà
+ SPSTART
+ 
+ 
+ 82 
+ 	#HASWIDTH
+  01
+ 
+ 	)
+ 
+ 83 
+ 	#SIMPLE
+  02
+ 
+ 	)
+ 
+ 84 
+ 	#SPSTART
+  04
+ 
+ 	)
+ 
+ 85 
+ 	#WORST
+  0
+ 
+ 	)
+ 
+ 90 *
+ 	g»g´ecomp
+ ;
+ 
+ 91 *
+ 	g»g·r£
+ ;
+ 
+ 92 *
+ 	g»gx’d
+ ;
+ 
+ 93 
+ 	g»gŬ
+ ;
+ 
+ 94 *
+ 	g»gcode
+ ;
+ 
+ 95 
+ 	g»gsize
+ ;
+ 
+ 96 
+ 	g»gfÞd
+ ;
+ 
+ 97 
+ 	g»g§wb¿ck‘
+ ;
+ 
+ 102 
+ STATIC
+  
+ »gcu¾y
+ ();
+ 
+ 103 
+ STATIC
+  *
+ »g
+ ();
+ 
+ 104 
+ STATIC
+  *
+ »gb¿nch
+ ();
+ 
+ 105 
+ STATIC
+  *
+ »gp›û
+ ();
+ 
+ 106 
+ STATIC
+  *
+ »g©om
+ ();
+ 
+ 107 
+ STATIC
+  *
+ »gþass
+ ();
+ 
+ 108 
+ STATIC
+  *
+ »gnode
+ ();
+ 
+ 109 
+ STATIC
+  *
+ »gªode
+ ();
+ 
+ 110 
+ STATIC
+  
+ »gc
+ ();
+ 
+ 111 
+ STATIC
+  
+ »gš£¹
+ ();
+ 
+ 112 
+ STATIC
+  
+ »gž
+ ();
+ 
+ 113 
+ STATIC
+  
+ »gݏž
+ ();
+ 
+ 130 
+ »gexp
+  *
+ 
+ 131 
+ 	$»gcomp
+ (
+ exp
+ ,
+ x’d
+ ,
+ fÞd
+ )
+ 
+ 132 *
+ exp
+ ;
+ 
+ 133 *
+ x’d
+ ;
+ 
+ 134 
+ fÞd
+ ;
+ 
+ 136 
+ »gexp
+  *
+ r
+ ;
+ 
+ 137 *
+ sÿn
+ ;
+ 
+ 138 
+ STR
+  *
+ lÚgish
+ ;
+ 
+ 139 
+ STR
+  *
+ lÚge¡
+ ;
+ 
+ 140 
+ Ën
+ ;
+ 
+ 141 *
+ fœ¡
+ ;
+ 
+ 142 
+ æags
+ ;
+ 
+ 143 
+ backish
+ ;
+ 
+ 144 
+ backe¡
+ ;
+ 
+ 145 
+ curback
+ ;
+ 
+ 146 
*
+ 	`§ãm®loc
+ ();
+ 
+ 147 
*
+ 	`§ve¡r
+ ();
+ 
+ 148 
+ §w¶us
+  = 0;
+ 
+ 150 ià(
+ exp
+  =ð
+ NULL
+ )
+ 
+ 151 
+ 	`çl
+ ("NULL„egexp‡rgument");
+ 
+ 154 
+ »gfÞd
+  = 
+ fÞd
+ ;
+ 
+ 155 
+ »g·r£
+  = 
+ exp
+ ;
+ 
+ 156 
+ »gx’d
+  = 
+ x’d
+ ;
+ 
+ 157 
+ »g´ecomp
+  = 
+ 	`n§ve¡r
+ (
+ exp
+ ,
+ x’d
+ -exp);
+ 
+ 158 
+ »g§wb¿ck‘
+  = 0;
+ 
+ 159 
+ »gŬ
+  = 1;
+ 
+ 160 
+ »gsize
+  = 0L;
+ 
+ 161 
+ »gcode
+  = &
+ »gdummy
+ ;
+ 
+ 162 
+ 	`»gc
+ (
+ MAGIC
+ );
+ 
+ 163 ià(
+ 	`»g
+ (0, &
+ æags
+ è=ð
+ NULL
+ ) {
+ 
+ 164 
+ 	`Saãä“
+ (
+ »g´ecomp
+ );
+ 
+ 165 
+ »g´ecomp
+  = 
+ NuÎch
+ ;
+ 
+ 166 (
+ NULL
+ );
+ 
+ 170 ià(
+ »gsize
+  >= 32767L)
+ 
+ 171 
+ 	`FAIL
+ ("regexpoo big");
+ 
+ 174 
+ 	`Newc
+ (1001, 
+ r
+ , (
+ »gexp
+ è+ ()
+ »gsize
+ , ,„egexp);
+ 
+ 175 ià(
+ r
+  =ð
+ NULL
+ )
+ 
+ 176 
+ 	`FAIL
+ ("regexp out of space");
+ 
+ 179 ià(
+ »g§wb¿ck‘
+ )
+ 
+ 180 
+ 	`bcÝy
+ (
+ »g´ecomp
+ ,
+ exp
+ ,
+ x’d
+ -exp);
+ 
+ 181 
+ r
+ ->
+ ´ecomp
+  = 
+ »g´ecomp
+ ;
+ 
+ 182 
+ r
+ ->
+ subba£
+  = 
+ NULL
+ ;
+ 
+ 183 
+ »g·r£
+  = 
+ exp
+ ;
+ 
+ 184 
+ »gŬ
+  = 1;
+ 
+ 185 
+ »gcode
+  = 
+ r
+ ->
+ ´og¿m
+ ;
+ 
+ 186 
+ 	`»gc
+ (
+ MAGIC
+ );
+ 
+ 187 ià(
+ 	`»g
+ (0, &
+ æags
+ è=ð
+ NULL
+ )
+ 
+ 188 (
+ NULL
+ );
+ 
+ 191 
+ r
+ ->
+ »g¡¬t
+  = 
+ NuΡr
+ ;
+ 
+ 192 
+ r
+ ->
+ »gªch
+  = 0;
+ 
+ 193 
+ r
+ ->
+ »gmu¡
+  = 
+ NuΡr
+ ;
+ 
+ 194 
+ r
+ ->
+ »gback
+  = -1;
+ 
+ 195 
+ r
+ ->
+ »g¡þass
+  = 
+ NuÎch
+ ;
+ 
+ 196 
+ sÿn
+  = 
+ r
+ ->
+ ´og¿m
+ +1;
+ 
+ 197 ià(
+ 	`OP
+ (
+ 	`»gÃxt
+ (
+ sÿn
+ )è=ð
+ END
+ ) {
+ 
+ 198 
+ sÿn
+  = 
+ 	`NEXTOPER
+ (scan);
+ 
+ 200 
+ fœ¡
+  = 
+ sÿn
+ ;
+ 
+ 201 
+ 	`OP
+ (
+ fœ¡
+ è=ð
+ OPEN
+  ||
+ 
+ 202 (
+ 	`OP
+ (
+ fœ¡
+ è=ð
+ BRANCH
+  && OP(
+ 	`»gÃxt
+ (first)) != BRANCH) ||
+ 
+ 203 (
+ 	`OP
+ (
+ fœ¡
+ è=ð
+ PLUS
+ ) ||
+ 
+ 204 (
+ 	`OP
+ (
+ fœ¡
+ è=ð
+ CURLY
+  && 
+ 	`ARG1
+ (first) > 0) ) {
+ 
+ 205 ià(
+ 	`OP
+ (
+ fœ¡
+ è=ð
+ PLUS
+ )
+ 
+ 206 
+ §w¶us
+  = 2;
+ 
+ 208 
+ fœ¡
+  +ð
+ »g¬gËn
+ [
+ 	`OP
+ (first)];
+ 
+ 209 
+ fœ¡
+  = 
+ 	`NEXTOPER
+ (first);
+ 
+ 213 ià(
+ 	`OP
+ (
+ fœ¡
+ è=ð
+ EXACTLY
+ ) {
+ 
+ 214 
+ r
+ ->
+ »g¡¬t
+  =
+ 
+ 215 
+ 	`¡r_make
+ (
+ 	`OPERAND
+ (
+ fœ¡
+ )+1,*OPERAND(first));
+ 
+ 216 ià(
+ r
+ ->
+ »g¡¬t
+ ->
+ ¡r_cur
+  > !(
+ §w¡udy
+ |
+ fÞd
+ ))
+ 
+ 217 
+ 	`fbmcompže
+ (
+ r
+ ->
+ »g¡¬t
+ ,
+ fÞd
+ );
+ 
+ 219 ià((
+ exp
+  = 
+ 	`šdex
+ (
+ sim¶e
+ ,
+ 	`OP
+ (
+ fœ¡
+ ))) &&ƒxp > simple)
+ 
+ 220 
+ r
+ ->
+ »g¡þass
+  = 
+ fœ¡
+ ;
+ 
+ 221 ià(
+ 	`OP
+ (
+ fœ¡
+ è=ð
+ BOUND
+  || OP(fœ¡è=ð
+ NBOUND
+ )
+ 
+ 222 
+ r
+ ->
+ »g¡þass
+  = 
+ fœ¡
+ ;
+ 
+ 223 ià(
+ 	`OP
+ (
+ fœ¡
+ è=ð
+ BOL
+  ||
+ 
+ 224 (
+ 	`OP
+ (
+ fœ¡
+ è=ð
+ STAR
+  && OP(
+ 	`NEXTOPER
+ (fœ¡)è=ð
+ ANY
+ ) )
+ 
+ 225 
+ r
+ ->
+ »gªch
+  = 1;
+ 
+ 226 
+ r
+ ->
+ »gªch
+  |ð
+ §w¶us
+ ;
+ 
+ 228 #ifdeà
+ DEBUGGING
+ 
+ 
+ 229 ià(
+ debug
+  & 512)
+ 
+ 230 
+ 	`årštf
+ (
+ ¡d”r
+ ,"first %d‚ext %d offset %d\n",
+ 
+ 231 
+ 	`OP
+ (
+ fœ¡
+ ), OP(
+ 	`NEXTOPER
+ (fœ¡)), fœ¡ - 
+ sÿn
+ );
+ 
+ 244 
+ lÚgish
+  = 
+ 	`¡r_make
+ ("",0);
+ 
+ 245 
+ lÚge¡
+  = 
+ 	`¡r_make
+ ("",0);
+ 
+ 246 
+ Ën
+  = 0;
+ 
+ 247 
+ curback
+  = 0;
+ 
+ 248 
+ backish
+  = 0;
+ 
+ 249 
+ backe¡
+  = 0;
+ 
+ 250 
+ 	`OP
+ (
+ sÿn
+ è!ð
+ END
+ ) {
+ 
+ 251 ià(
+ 	`OP
+ (
+ sÿn
+ è=ð
+ BRANCH
+ ) {
+ 
+ 252 ià(
+ 	`OP
+ (
+ 	`»gÃxt
+ (
+ sÿn
+ )è=ð
+ BRANCH
+ ) {
+ 
+ 253 
+ curback
+  = -30000;
+ 
+ 254 
+ 	`OP
+ (
+ sÿn
+ è=ð
+ BRANCH
+ )
+ 
+ 255 
+ sÿn
+  = 
+ 	`»gÃxt
+ (scan);
+ 
+ 258 
+ sÿn
+  = 
+ 	`NEXTOPER
+ (scan);
+ 
+ 260 ià(
+ 	`OP
+ (
+ sÿn
+ è=ð
+ EXACTLY
+ ) {
+ 
+ 261 *
+ t
+ ;
+ 
+ 263 
+ fœ¡
+  = 
+ sÿn
+ ;
+ 
+ 264 
+ 	`OP
+ (
+ t
+  = 
+ 	`»gÃxt
+ (
+ sÿn
+ )è=ð
+ CLOSE
+ )
+ 
+ 265 
+ sÿn
+  = 
+ t
+ ;
+ 
+ 266 ià(
+ curback
+  - 
+ backish
+  =ð
+ Ën
+ ) {
+ 
+ 267 
+ 	`¡r_nÿt
+ (
+ lÚgish
+ , 
+ 	`OPERAND
+ (
+ fœ¡
+ )+1,
+ 
+ 268 *
+ 	`OPERAND
+ (
+ fœ¡
+ ));
+ 
+ 269 
+ Ën
+  +ð*
+ 	`OPERAND
+ (
+ fœ¡
+ );
+ 
+ 270 
+ curback
+  +ð*
+ 	`OPERAND
+ (
+ fœ¡
+ );
+ 
+ 271 
+ fœ¡
+  = 
+ 	`»gÃxt
+ (
+ sÿn
+ );
+ 
+ 273 ià(*
+ 	`OPERAND
+ (
+ fœ¡
+ è>ð
+ Ën
+  + (
+ curback
+  >= 0)) {
+ 
+ 274 
+ Ën
+  = *
+ 	`OPERAND
+ (
+ fœ¡
+ );
+ 
+ 275 
+ 	`¡r_n£t
+ (
+ lÚgish
+ , 
+ 	`OPERAND
+ (
+ fœ¡
+ )+1,
+ Ën
+ );
+ 
+ 276 
+ backish
+  = 
+ curback
+ ;
+ 
+ 277 
+ curback
+  +ð
+ Ën
+ ;
+ 
+ 278 
+ fœ¡
+  = 
+ 	`»gÃxt
+ (
+ sÿn
+ );
+ 
+ 281 
+ curback
+  +ð*
+ 	`OPERAND
+ (
+ fœ¡
+ );
+ 
+ 283 ià(
+ 	`šdex
+ (
+ v¬›s
+ ,
+ 	`OP
+ (
+ sÿn
+ ))) {
+ 
+ 284 
+ curback
+  = -30000;
+ 
+ 285 
+ Ën
+  = 0;
+ 
+ 286 ià(
+ lÚgish
+ ->
+ ¡r_cur
+  > 
+ lÚge¡
+ ->str_cur) {
+ 
+ 287 
+ 	`¡r_s£t
+ (
+ lÚge¡
+ ,
+ lÚgish
+ );
+ 
+ 288 
+ backe¡
+  = 
+ backish
+ ;
+ 
+ 290 
+ 	`¡r_n£t
+ (
+ lÚgish
+ ,"",0);
+ 
+ 292 ià(
+ 	`šdex
+ (
+ sim¶e
+ ,
+ 	`OP
+ (
+ sÿn
+ ))) {
+ 
+ 293 
+ curback
+ ++;
+ 
+ 294 
+ Ën
+  = 0;
+ 
+ 295 ià(
+ lÚgish
+ ->
+ ¡r_cur
+  > 
+ lÚge¡
+ ->str_cur) {
+ 
+ 296 
+ 	`¡r_s£t
+ (
+ lÚge¡
+ ,
+ lÚgish
+ );
+ 
+ 297 
+ backe¡
+  = 
+ backish
+ ;
+ 
+ 299 
+ 	`¡r_n£t
+ (
+ lÚgish
+ ,"",0);
+ 
+ 301 
+ sÿn
+  = 
+ 	`»gÃxt
+ (scan);
+ 
+ 306 ià(
+ lÚgish
+ ->
+ ¡r_cur
+  + (
+ 	`OP
+ (
+ fœ¡
+ è=ð
+ EOL
+ è> 
+ lÚge¡
+ ->str_cur) {
+ 
+ 307 
+ 	`¡r_s£t
+ (
+ lÚge¡
+ ,
+ lÚgish
+ );
+ 
+ 308 
+ backe¡
+  = 
+ backish
+ ;
+ 
+ 311 
+ 	`¡r_n£t
+ (
+ lÚgish
+ ,"",0);
+ 
+ 312 ià(
+ lÚge¡
+ ->
+ ¡r_cur
+ 
+ 
+ 314 (!
+ r
+ ->
+ »g¡¬t
+ 
+ 
+ 316 !
+ 	`fbmš¡r
+ (
+ r
+ ->
+ »g¡¬t
+ ->
+ ¡r_±r
+ ,
+ 
+ 317 
+ r
+ ->
+ »g¡¬t
+ ->
+ ¡r_±r
+  +„->»g¡¬t->
+ ¡r_cur
+ ,
+ 
+ 318 
+ lÚge¡
+ )
+ 
+ 322 
+ r
+ ->
+ »gmu¡
+  = 
+ lÚge¡
+ ;
+ 
+ 323 ià(
+ backe¡
+  < 0)
+ 
+ 324 
+ backe¡
+  = -1;
+ 
+ 325 
+ r
+ ->
+ »gback
+  = 
+ backe¡
+ ;
+ 
+ 326 ià(
+ lÚge¡
+ ->
+ ¡r_cur
+ 
+ 
+ 327 > !(
+ §w¡udy
+  || 
+ fÞd
+  || 
+ 	`OP
+ (
+ fœ¡
+ è=ð
+ EOL
+ ) )
+ 
+ 328 
+ 	`fbmcompže
+ (
+ r
+ ->
+ »gmu¡
+ ,
+ fÞd
+ );
+ 
+ 329 
+ r
+ ->
+ »gmu¡
+ ->
+ ¡r_u
+ .
+ ¡r_u£ful
+  = 100;
+ 
+ 330 ià(
+ 	`OP
+ (
+ fœ¡
+ è=ð
+ EOL
+  && 
+ lÚgish
+ ->
+ ¡r_cur
+ )
+ 
+ 331 
+ r
+ ->
+ »gmu¡
+ ->
+ ¡r_pok
+  |ð
+ SP_TAIL
+ ;
+ 
+ 334 
+ 	`¡r_ä“
+ (
+ lÚge¡
+ );
+ 
+ 335 
+ lÚge¡
+  = 
+ NuΡr
+ ;
+ 
+ 337 
+ 	`¡r_ä“
+ (
+ lÚgish
+ );
+ 
+ 340 
+ r
+ ->
+ do_fÞdšg
+  = 
+ fÞd
+ ;
+ 
+ 341 
+ r
+ ->
+ Ŭ’s
+  = 
+ »gŬ
+  - 1;
+ 
+ 342 
+ 	`New
+ (1002, 
+ r
+ ->
+ ¡¬
+ , 
+ »gŬ
+ , *);
+ 
+ 343 
+ 	`New
+ (1002, 
+ r
+ ->
+ ’dp
+ , 
+ »gŬ
+ , *);
+ 
+ 344 #ifdeà
+ DEBUGGING
+ 
+ 
+ 345 ià(
+ debug
+  & 512)
+ 
+ 346 
+ 	`»gdump
+ (
+ r
+ );
+ 
+ 348 (
+ r
+ );
+ 
+ 349 
+ 	}
+ }
+ 
+ 361 
+ 	$»g
+ (
+ ·»n
+ , 
+ æagp
+ )
+ 
+ 362 
+ ·»n
+ ;
+ 
+ 363 *
+ æagp
+ ;
+ 
+ 365 *
+ »t
+ ;
+ 
+ 366 *
+ br
+ ;
+ 
+ 367 *
+ ’d”
+ ;
+ 
+ 368 
+ ·ºo
+ ;
+ 
+ 369 
+ æags
+ ;
+ 
+ 371 *
+ æagp
+  = 
+ HASWIDTH
+ ;
+ 
+ 374 ià(
+ ·»n
+ ) {
+ 
+ 375 
+ ·ºo
+  = 
+ »gŬ
+ ;
+ 
+ 376 
+ »gŬ
+ ++;
+ 
+ 377 
+ »t
+  = 
+ 	`»gªode
+ (
+ OPEN
+ , 
+ ·ºo
+ );
+ 
+ 379 
+ »t
+  = 
+ NULL
+ ;
+ 
+ 382 
+ br
+  = 
+ 	`»gb¿nch
+ (&
+ æags
+ );
+ 
+ 383 ià(
+ br
+  =ð
+ NULL
+ )
+ 
+ 384 (
+ NULL
+ );
+ 
+ 385 ià(
+ »t
+  !ð
+ NULL
+ )
+ 
+ 386 
+ 	`»gž
+ (
+ »t
+ , 
+ br
+ );
+ 
+ 388 
+ »t
+  = 
+ br
+ ;
+ 
+ 389 ià(!(
+ æags
+ &
+ HASWIDTH
+ ))
+ 
+ 390 *
+ æagp
+  &ð~
+ HASWIDTH
+ ;
+ 
+ 391 *
+ æagp
+  |ð
+ æags
+ &
+ SPSTART
+ ;
+ 
+ 392 *
+ »g·r£
+  == '|') {
+ 
+ 393 
+ »g·r£
+ ++;
+ 
+ 394 
+ br
+  = 
+ 	`»gb¿nch
+ (&
+ æags
+ );
+ 
+ 395 ià(
+ br
+  =ð
+ NULL
+ )
+ 
+ 396 (
+ NULL
+ );
+ 
+ 397 
+ 	`»gž
+ (
+ »t
+ , 
+ br
+ );
+ 
+ 398 ià(!(
+ æags
+ &
+ HASWIDTH
+ ))
+ 
+ 399 *
+ æagp
+  &ð~
+ HASWIDTH
+ ;
+ 
+ 400 *
+ æagp
+  |ð
+ æags
+ &
+ SPSTART
+ ;
+ 
+ 404 ià(
+ ·»n
+ )
+ 
+ 405 
+ ’d”
+  = 
+ 	`»gªode
+ (
+ CLOSE
+ , 
+ ·ºo
+ );
+ 
+ 407 
+ ’d”
+  = 
+ 	`»gnode
+ (
+ END
+ );
+ 
+ 408 
+ 	`»gž
+ (
+ »t
+ , 
+ ’d”
+ );
+ 
+ 411 
+ br
+  = 
+ »t
+ ; b¸!ð
+ NULL
+ ; b¸ð
+ 	`»gÃxt
+ (br))
+ 
+ 412 
+ 	`»gݏž
+ (
+ br
+ , 
+ ’d”
+ );
+ 
+ 415 ià(
+ ·»n
+  && *
+ »g·r£
+ ++ != ')') {
+ 
+ 416 
+ 	`FAIL
+ ("unmatched () in„egexp");
+ 
+ 417 } ià(!
+ ·»n
+  && 
+ »g·r£
+  < 
+ »gx’d
+ ) {
+ 
+ 418 ià(*
+ »g·r£
+  == ')') {
+ 
+ 419 
+ 	`FAIL
+ ("unmatched () in„egexp");
+ 
+ 421 
+ 	`FAIL
+ ("junk onƒnd of„egexp");
+ 
+ 425 (
+ »t
+ );
+ 
+ 426 
+ 	}
+ }
+ 
+ 434 
+ 	$»gb¿nch
+ (
+ æagp
+ )
+ 
+ 435 *
+ æagp
+ ;
+ 
+ 437 *
+ »t
+ ;
+ 
+ 438 *
+ chaš
+ ;
+ 
+ 439 *
+ Ï‹¡
+ ;
+ 
+ 440 
+ æags
+ ;
+ 
+ 442 *
+ æagp
+  = 
+ WORST
+ ;
+ 
+ 444 
+ »t
+  = 
+ 	`»gnode
+ (
+ BRANCH
+ );
+ 
+ 445 
+ chaš
+  = 
+ NULL
+ ;
+ 
+ 446 
+ »g·r£
+  < 
+ »gx’d
+  && *regparse != '|' && *regparse != ')') {
+ 
+ 447 
+ Ï‹¡
+  = 
+ 	`»gp›û
+ (&
+ æags
+ );
+ 
+ 448 ià(
+ Ï‹¡
+  =ð
+ NULL
+ )
+ 
+ 449 (
+ NULL
+ );
+ 
+ 450 *
+ æagp
+  |ð
+ æags
+ &
+ HASWIDTH
+ ;
+ 
+ 451 ià(
+ chaš
+  =ð
+ NULL
+ )
+ 
+ 452 *
+ æagp
+  |ð
+ æags
+ &
+ SPSTART
+ ;
+ 
+ 454 
+ 	`»gž
+ (
+ chaš
+ , 
+ Ï‹¡
+ );
+ 
+ 455 
+ chaš
+  = 
+ Ï‹¡
+ ;
+ 
+ 457 ià(
+ chaš
+  =ð
+ NULL
+ )
+ 
+ 458 (è
+ 	`»gnode
+ (
+ NOTHING
+ );
+ 
+ 460 (
+ »t
+ );
+ 
+ 461 
+ 	}
+ }
+ 
+ 473 
+ 	$»gp›û
+ (
+ æagp
+ )
+ 
+ 474 *
+ æagp
+ ;
+ 
+ 476 *
+ »t
+ ;
+ 
+ 477 
+ Ý
+ ;
+ 
+ 478 *
+ Ãxt
+ ;
+ 
+ 479 
+ æags
+ ;
+ 
+ 480 *
+ Üig·r£
+  = 
+ »g·r£
+ ;
+ 
+ 481 
+ ÜigŬ
+  = 
+ »gŬ
+ ;
+ 
+ 482 *
+ max
+ ;
+ 
+ 483 
+ ™”
+ ;
+ 
+ 484 
+ ch
+ ;
+ 
+ 486 
+ »t
+  = 
+ 	`»g©om
+ (&
+ æags
+ );
+ 
+ 487 ià(
+ »t
+  =ð
+ NULL
+ )
+ 
+ 488 (
+ NULL
+ );
+ 
+ 490 
+ Ý
+  = *
+ »g·r£
+ ;
+ 
+ 500 ià(
+ Ý
+  =ð'{' && 
+ 	`»gcu¾y
+ (
+ »g·r£
+ )) {
+ 
+ 501 
+ Ãxt
+  = 
+ »g·r£
+  + 1;
+ 
+ 502 
+ max
+  = 
+ NuÎch
+ ;
+ 
+ 503 
+ 	`isdig™
+ (*
+ Ãxt
+ ) || *next == ',') {
+ 
+ 504 ià(*
+ Ãxt
+  == ',') {
+ 
+ 505 ià(
+ max
+ )
+ 
+ 508 
+ max
+  = 
+ Ãxt
+ ;
+ 
+ 510 
+ Ãxt
+ ++;
+ 
+ 512 ià(*
+ Ãxt
+  == '}') {
+ 
+ 513 ià(!
+ max
+ )
+ 
+ 514 
+ max
+  = 
+ Ãxt
+ ;
+ 
+ 515 
+ »g·r£
+ ++;
+ 
+ 516 
+ ™”
+  = 
+ 	`©oi
+ (
+ »g·r£
+ );
+ 
+ 517 ià(
+ æags
+ &
+ SIMPLE
+ ) {
+ 
+ 518 
+ tmp
+ ;
+ 
+ 520 
+ 	`»gš£¹
+ (
+ CURLY
+ , 
+ »t
+ );
+ 
+ 521 ià(
+ ™”
+  > 0)
+ 
+ 522 *
+ æagp
+  = (
+ WORST
+ |
+ HASWIDTH
+ );
+ 
+ 523 ià(*
+ max
+  == ',')
+ 
+ 524 
+ max
+ ++;
+ 
+ 526 
+ max
+  = 
+ »g·r£
+ ;
+ 
+ 527 
+ tmp
+  = 
+ 	`©oi
+ (
+ max
+ );
+ 
+ 528 ià(
+ tmp
+  &&m°< 
+ ™”
+ )
+ 
+ 529 
+ 	`çl
+ ("Can't do {n,m} with‚ > m");
+ 
+ 530 ià(
+ »gcode
+  !ð&
+ »gdummy
+ ) {
+ 
+ 531 #ifdeà
+ REGALIGN
+ 
+ 
+ 532 *(*)(
+ »t
+ +3èð
+ ™”
+ ;
+ 
+ 533 *(*)(
+ »t
+ +5èð
+ tmp
+ ;
+ 
+ 535 
+ »t
+ [3] = 
+ ™”
+  >> 8;„et[4] = iter & 0377;
+ 
+ 536 
+ »t
+ [5] = 
+ tmp
+  >> 8;„et[6] =mp & 0377;
+ 
+ 539 
+ »g·r£
+  = 
+ Ãxt
+ ;
+ 
+ 540 
+ á_check
+ ;
+ 
+ 542 
+ »g§wb¿ck‘
+ ++;
+ 
+ 543 ià(
+ ™”
+  > 0) {
+ 
+ 544 
+ ch
+  = *
+ max
+ ;
+ 
+ 545 
+ 	`¥rštf
+ (
+ »g·r£
+ ,"%.*d", 
+ max
+ -»g·r£, 
+ ™”
+  - 1);
+ 
+ 546 *
+ max
+  = 
+ ch
+ ;
+ 
+ 547 ià(*
+ max
+  == ',' && max[1] != '}') {
+ 
+ 548 ià(
+ 	`©oi
+ (
+ max
+ +1) <= 0)
+ 
+ 549 
+ 	`çl
+ ("Can't do {n,m} with‚ > m");
+ 
+ 550 
+ ch
+  = *
+ Ãxt
+ ;
+ 
+ 551 
+ 	`¥rštf
+ (
+ max
+ +1,"%.*d", 
+ Ãxt
+ -(max+1), 
+ 	`©oi
+ (max+1) - 1);
+ 
+ 552 *
+ Ãxt
+  = 
+ ch
+ ;
+ 
+ 554 ià(
+ ™”
+  !ð1 || *
+ max
+  == ',') {
+ 
+ 555 
+ »g·r£
+  = 
+ Üig·r£
+ ;
+ 
+ 556 
+ »gŬ
+  = 
+ ÜigŬ
+ ;
+ 
+ 559 
+ »g·r£
+  = 
+ Ãxt
+ ;
+ 
+ 560 
+ á_check
+ ;
+ 
+ 562 *
+ æagp
+  = 
+ æags
+ ;
+ 
+ 563  
+ »t
+ ;
+ 
+ 565 ià(*
+ max
+  == ',') {
+ 
+ 566 
+ max
+ ++;
+ 
+ 567 
+ ™”
+  = 
+ 	`©oi
+ (
+ max
+ );
+ 
+ 568 ià(
+ max
+  =ð
+ Ãxt
+ ) {
+ 
+ 569 
+ »g·r£
+  = 
+ Ãxt
+ ;
+ 
+ 570 
+ Ý
+  = '*';
+ 
+ 572 ià(
+ ™”
+  > 0) {
+ 
+ 573 
+ Ý
+  = '?';
+ 
+ 574 
+ ch
+  = *
+ Ãxt
+ ;
+ 
+ 575 
+ 	`¥rštf
+ (
+ max
+ ,"%.*d", 
+ Ãxt
+ -max, 
+ ™”
+  - 1);
+ 
+ 576 *
+ Ãxt
+  = 
+ ch
+ ;
+ 
+ 577 ià(
+ ™”
+  == 1)
+ 
+ 578 
+ »g·r£
+  = 
+ Ãxt
+ ;
+ 
+ 580 
+ »g·r£
+  = 
+ Üig·r£
+  - 1;
+ 
+ 581 
+ »gŬ
+  = 
+ ÜigŬ
+ ;
+ 
+ 585 
+ 	`çl
+ ("Can't do {n,0}");
+ 
+ 588 
+ 	`çl
+ ("Can't do {0}");
+ 
+ 592 ià(!
+ 	`ISMULT1
+ (
+ Ý
+ )) {
+ 
+ 593 *
+ æagp
+  = 
+ æags
+ ;
+ 
+ 594 (
+ »t
+ );
+ 
+ 597 ià(!(
+ æags
+ &
+ HASWIDTH
+ è&& 
+ Ý
+  != '?')
+ 
+ 598 
+ 	`FAIL
+ ("regexp *+ operand could beƒmpty");
+ 
+ 599 *
+ æagp
+  = (
+ Ý
+  !ð'+'è? (
+ WORST
+ |
+ SPSTART
+ è: (WORST|
+ HASWIDTH
+ );
+ 
+ 601 ià(
+ Ý
+  =ð'*' && (
+ æags
+ &
+ SIMPLE
+ ))
+ 
+ 602 
+ 	`»gš£¹
+ (
+ STAR
+ , 
+ »t
+ );
+ 
+ 603 ià(
+ Ý
+  == '*') {
+ 
+ 605 
+ 	`»gš£¹
+ (
+ BRANCH
+ , 
+ »t
+ );
+ 
+ 606 
+ 	`»gݏž
+ (
+ »t
+ , 
+ 	`»gnode
+ (
+ BACK
+ ));
+ 
+ 607 
+ 	`»gݏž
+ (
+ »t
+ ,„et);
+ 
+ 608 
+ 	`»gž
+ (
+ »t
+ , 
+ 	`»gnode
+ (
+ BRANCH
+ ));
+ 
+ 609 
+ 	`»gž
+ (
+ »t
+ , 
+ 	`»gnode
+ (
+ NOTHING
+ ));
+ 
+ 610 } ià(
+ Ý
+  =ð'+' && (
+ æags
+ &
+ SIMPLE
+ ))
+ 
+ 611 
+ 	`»gš£¹
+ (
+ PLUS
+ , 
+ »t
+ );
+ 
+ 612 ià(
+ Ý
+  == '+') {
+ 
+ 614 
+ Ãxt
+  = 
+ 	`»gnode
+ (
+ BRANCH
+ );
+ 
+ 615 
+ 	`»gž
+ (
+ »t
+ , 
+ Ãxt
+ );
+ 
+ 616 
+ 	`»gž
+ (
+ 	`»gnode
+ (
+ BACK
+ ), 
+ »t
+ );
+ 
+ 617 
+ 	`»gž
+ (
+ Ãxt
+ , 
+ 	`»gnode
+ (
+ BRANCH
+ ));
+ 
+ 618 
+ 	`»gž
+ (
+ »t
+ , 
+ 	`»gnode
+ (
+ NOTHING
+ ));
+ 
+ 619 } ià(
+ Ý
+  == '?') {
+ 
+ 621 
+ 	`»gš£¹
+ (
+ BRANCH
+ , 
+ »t
+ );
+ 
+ 622 
+ 	`»gž
+ (
+ »t
+ , 
+ 	`»gnode
+ (
+ BRANCH
+ ));
+ 
+ 623 
+ Ãxt
+  = 
+ 	`»gnode
+ (
+ NOTHING
+ );
+ 
+ 624 
+ 	`»gž
+ (
+ »t
+ , 
+ Ãxt
+ );
+ 
+ 625 
+ 	`»gݏž
+ (
+ »t
+ , 
+ Ãxt
+ );
+ 
+ 627 
+ á_check
+ :
+ 
+ 628 
+ »g·r£
+ ++;
+ 
+ 629 ià(
+ 	`ISMULT2
+ (
+ »g·r£
+ ))
+ 
+ 630 
+ 	`FAIL
+ ("nested *?+ in„egexp");
+ 
+ 632 (
+ »t
+ );
+ 
+ 633 
+ 	}
+ }
+ 
+ 646 
+ 	$»g©om
+ (
+ æagp
+ )
+ 
+ 647 *
+ æagp
+ ;
+ 
+ 649 *
+ »t
+ ;
+ 
+ 650 
+ æags
+ ;
+ 
+ 652 *
+ æagp
+  = 
+ WORST
+ ;
+ 
+ 654 *
+ »g·r£
+ ++) {
+ 
+ 656 
+ »t
+  = 
+ 	`»gnode
+ (
+ BOL
+ );
+ 
+ 659 
+ »t
+  = 
+ 	`»gnode
+ (
+ EOL
+ );
+ 
+ 662 
+ »t
+  = 
+ 	`»gnode
+ (
+ ANY
+ );
+ 
+ 663 *
+ æagp
+  |ð
+ HASWIDTH
+ |
+ SIMPLE
+ ;
+ 
+ 666 
+ »t
+  = 
+ 	`»gþass
+ ();
+ 
+ 667 *
+ æagp
+  |ð
+ HASWIDTH
+ |
+ SIMPLE
+ ;
+ 
+ 670 
+ »t
+  = 
+ 	`»g
+ (1, &
+ æags
+ );
+ 
+ 671 ià(
+ »t
+  =ð
+ NULL
+ )
+ 
+ 672 (
+ NULL
+ );
+ 
+ 673 *
+ æagp
+  |ð
+ æags
+ &(
+ HASWIDTH
+ |
+ SPSTART
+ );
+ 
+ 677 
+ 	`FAIL
+ ("internal urp in„egexp");
+ 
+ 682 
+ 	`FAIL
+ ("?+* follows‚othing in„egexp");
+ 
+ 685 *
+ »g·r£
+ ) {
+ 
+ 687 
+ »t
+  = 
+ 	`»gnode
+ (
+ ALNUM
+ );
+ 
+ 688 *
+ æagp
+  |ð
+ HASWIDTH
+ |
+ SIMPLE
+ ;
+ 
+ 689 
+ »g·r£
+ ++;
+ 
+ 692 
+ »t
+  = 
+ 	`»gnode
+ (
+ NALNUM
+ );
+ 
+ 693 *
+ æagp
+  |ð
+ HASWIDTH
+ |
+ SIMPLE
+ ;
+ 
+ 694 
+ »g·r£
+ ++;
+ 
+ 697 
+ »t
+  = 
+ 	`»gnode
+ (
+ BOUND
+ );
+ 
+ 698 *
+ æagp
+  |ð
+ SIMPLE
+ ;
+ 
+ 699 
+ »g·r£
+ ++;
+ 
+ 702 
+ »t
+  = 
+ 	`»gnode
+ (
+ NBOUND
+ );
+ 
+ 703 *
+ æagp
+  |ð
+ SIMPLE
+ ;
+ 
+ 704 
+ »g·r£
+ ++;
+ 
+ 707 
+ »t
+  = 
+ 	`»gnode
+ (
+ SPACE
+ );
+ 
+ 708 *
+ æagp
+  |ð
+ HASWIDTH
+ |
+ SIMPLE
+ ;
+ 
+ 709 
+ »g·r£
+ ++;
+ 
+ 712 
+ »t
+  = 
+ 	`»gnode
+ (
+ NSPACE
+ );
+ 
+ 713 *
+ æagp
+  |ð
+ HASWIDTH
+ |
+ SIMPLE
+ ;
+ 
+ 714 
+ »g·r£
+ ++;
+ 
+ 717 
+ »t
+  = 
+ 	`»gnode
+ (
+ DIGIT
+ );
+ 
+ 718 *
+ æagp
+  |ð
+ HASWIDTH
+ |
+ SIMPLE
+ ;
+ 
+ 719 
+ »g·r£
+ ++;
+ 
+ 722 
+ »t
+  = 
+ 	`»gnode
+ (
+ NDIGIT
+ );
+ 
+ 723 *
+ æagp
+  |ð
+ HASWIDTH
+ |
+ SIMPLE
+ ;
+ 
+ 724 
+ »g·r£
+ ++;
+ 
+ 735 
+ defch¬
+ ;
+ 
+ 739 
+ num
+  = 
+ 	`©oi
+ (
+ »g·r£
+ );
+ 
+ 741 ià(
+ num
+  > 9 &&‚um >ð
+ »gŬ
+ )
+ 
+ 742 
+ defch¬
+ ;
+ 
+ 744 
+ »t
+  = 
+ 	`»gªode
+ (
+ REF
+ , 
+ num
+ );
+ 
+ 745 
+ 	`i§scii
+ (*
+ »g·r£
+ è&& 
+ 	`isdig™
+ (*regparse))
+ 
+ 746 
+ »g·r£
+ ++;
+ 
+ 747 *
+ æagp
+  |ð
+ SIMPLE
+ ;
+ 
+ 752 ià(
+ »g·r£
+  >ð
+ »gx’d
+ )
+ 
+ 753 
+ 	`FAIL
+ ("trailing \\ in„egexp");
+ 
+ 756 
+ defch¬
+ ;
+ 
+ 760 
+ Ën
+ ;
+ 
+ 761 
+ ’d”
+ ;
+ 
+ 762 *
+ p
+ ;
+ 
+ 763 *
+ Þdp
+ ;
+ 
+ 764 
+ numËn
+ ;
+ 
+ 766 
+ defch¬
+ :
+ 
+ 767 
+ »t
+  = 
+ 	`»gnode
+ (
+ EXACTLY
+ );
+ 
+ 768 
+ 	`»gc
+ (0);
+ 
+ 769 
+ Ën
+ =0, 
+ p
+ =
+ »g·r£
+ -1;
+ 
+ 770 
+ Ën
+  < 127 && 
+ p
+  < 
+ »gx’d
+ ;
+ 
+ 771 
+ Ën
+ ++)
+ 
+ 773 
+ Þdp
+  = 
+ p
+ ;
+ 
+ 774 *
+ p
+ ) {
+ 
+ 782 
+ loÝdÚe
+ ;
+ 
+ 784 *++
+ p
+ ) {
+ 
+ 793 --
+ p
+ ;
+ 
+ 794 
+ loÝdÚe
+ ;
+ 
+ 796 
+ ’d”
+  = '\n';
+ 
+ 797 
+ p
+ ++;
+ 
+ 800 
+ ’d”
+  = '\r';
+ 
+ 801 
+ p
+ ++;
+ 
+ 804 
+ ’d”
+  = '\t';
+ 
+ 805 
+ p
+ ++;
+ 
+ 808 
+ ’d”
+  = '\f';
+ 
+ 809 
+ p
+ ++;
+ 
+ 812 
+ ’d”
+  = '\033';
+ 
+ 813 
+ p
+ ++;
+ 
+ 816 
+ ’d”
+  = '\007';
+ 
+ 817 
+ p
+ ++;
+ 
+ 820 
+ ’d”
+  = 
+ 	`sÿnhex
+ (++
+ p
+ , 2, &
+ numËn
+ );
+ 
+ 821 
+ p
+  +ð
+ numËn
+ ;
+ 
+ 824 
+ p
+ ++;
+ 
+ 825 
+ ’d”
+  = *
+ p
+ ++;
+ 
+ 826 ià(
+ 	`i¦ow”
+ (
+ ’d”
+ ))
+ 
+ 827 
+ ’d”
+  = 
+ 	`touµ”
+ (ender);
+ 
+ 828 
+ ’d”
+  ^= 64;
+ 
+ 832 ià(*
+ p
+  == '0' ||
+ 
+ 833 (
+ 	`isdig™
+ (
+ p
+ [1]è&& 
+ 	`©oi
+ Õè>ð
+ »gŬ
+ ) ) {
+ 
+ 834 
+ ’d”
+  = 
+ 	`sÿnoù
+ (
+ p
+ , 3, &
+ numËn
+ );
+ 
+ 835 
+ p
+  +ð
+ numËn
+ ;
+ 
+ 838 --
+ p
+ ;
+ 
+ 839 
+ loÝdÚe
+ ;
+ 
+ 843 ià(
+ p
+  >ð
+ »gx’d
+ )
+ 
+ 844 
+ 	`FAIL
+ ("trailing \\ in„egexp");
+ 
+ 847 
+ ’d”
+  = *
+ p
+ ++;
+ 
+ 852 
+ ’d”
+  = *
+ p
+ ++;
+ 
+ 855 ià(
+ »gfÞd
+  && 
+ 	`isuµ”
+ (
+ ’d”
+ ))
+ 
+ 856 
+ ’d”
+  = 
+ 	`tÞow”
+ (ender);
+ 
+ 857 ià(
+ 	`ISMULT2
+ (
+ p
+ )) {
+ 
+ 858 ià(
+ Ën
+ )
+ 
+ 859 
+ p
+  = 
+ Þdp
+ ;
+ 
+ 861 
+ Ën
+ ++;
+ 
+ 862 
+ 	`»gc
+ (
+ ’d”
+ );
+ 
+ 866 
+ 	`»gc
+ (
+ ’d”
+ );
+ 
+ 868 
+ loÝdÚe
+ :
+ 
+ 869 
+ »g·r£
+  = 
+ p
+ ;
+ 
+ 870 ià(
+ Ën
+  <= 0)
+ 
+ 871 
+ 	`FAIL
+ ("internal disaster in„egexp");
+ 
+ 872 *
+ æagp
+  |ð
+ HASWIDTH
+ ;
+ 
+ 873 ià(
+ Ën
+  == 1)
+ 
+ 874 *
+ æagp
+  |ð
+ SIMPLE
+ ;
+ 
+ 875 ià(
+ »gcode
+  !ð&
+ »gdummy
+ )
+ 
+ 876 *
+ 	`OPERAND
+ (
+ »t
+ èð
+ Ën
+ ;
+ 
+ 877 
+ 	`»gc
+ ('\0');
+ 
+ 882 (
+ »t
+ );
+ 
+ 883 
+ 	}
+ }
+ 
+ 886 
+ 	$»g£t
+ (
+ b™s
+ ,
+ def
+ ,
+ c
+ )
+ 
+ 887 *
+ b™s
+ ;
+ 
+ 888 
+ def
+ ;
+ 
+ 889 
+ c
+ ;
+ 
+ 891 ià(
+ »gcode
+  =ð&
+ »gdummy
+ )
+ 
+ 893 
+ c
+  &= 255;
+ 
+ 894 ià(
+ def
+ )
+ 
+ 895 
+ b™s
+ [
+ c
+  >> 3] &= ~(1 << (c & 7));
+ 
+ 897 
+ b™s
+ [
+ c
+  >> 3] |= (1 << (c & 7));
+ 
+ 898 
+ 	}
+ }
+ 
+ 901 
+ 	$»gþass
+ ()
+ 
+ 903 *
+ b™s
+ ;
+ 
+ 904 
+ þass
+ ;
+ 
+ 905 
+ Ï¡þass
+ ;
+ 
+ 906 
+ ¿nge
+  = 0;
+ 
+ 907 *
+ »t
+ ;
+ 
+ 908 
+ def
+ ;
+ 
+ 909 
+ numËn
+ ;
+ 
+ 911 
+ »t
+  = 
+ 	`»gnode
+ (
+ ANYOF
+ );
+ 
+ 912 ià(*
+ »g·r£
+  == '^') {
+ 
+ 913 
+ »g·r£
+ ++;
+ 
+ 914 
+ def
+  = 0;
+ 
+ 916 
+ def
+  = 255;
+ 
+ 918 
+ b™s
+  = 
+ »gcode
+ ;
+ 
+ 919 
+ þass
+  = 0; class < 32; class++)
+ 
+ 920 
+ 	`»gc
+ (
+ def
+ );
+ 
+ 921 ià(*
+ »g·r£
+  == ']' || *regparse == '-')
+ 
+ 922 
+ skcÚd
+ ;
+ 
+ 923 
+ »g·r£
+  < 
+ »gx’d
+  && *regparse != ']') {
+ 
+ 924 
+ skcÚd
+ :
+ 
+ 925 
+ þass
+  = 
+ 	`UCHARAT
+ (
+ »g·r£
+ ++);
+ 
+ 926 ià(
+ þass
+  == '\\') {
+ 
+ 927 
+ þass
+  = 
+ 	`UCHARAT
+ (
+ »g·r£
+ ++);
+ 
+ 928 
+ þass
+ ) {
+ 
+ 930 
+ þass
+  = 'a'; class <= 'z'; class++)
+ 
+ 931 
+ 	`»g£t
+ (
+ b™s
+ ,
+ def
+ ,
+ þass
+ );
+ 
+ 932 
+ þass
+  = 'A'; class <= 'Z'; class++)
+ 
+ 933 
+ 	`»g£t
+ (
+ b™s
+ ,
+ def
+ ,
+ þass
+ );
+ 
+ 934 
+ þass
+  = '0'; class <= '9'; class++)
+ 
+ 935 
+ 	`»g£t
+ (
+ b™s
+ ,
+ def
+ ,
+ þass
+ );
+ 
+ 936 
+ 	`»g£t
+ (
+ b™s
+ ,
+ def
+ ,'_');
+ 
+ 937 
+ Ï¡þass
+  = 1234;
+ 
+ 940 
+ 	`»g£t
+ (
+ b™s
+ ,
+ def
+ ,' ');
+ 
+ 941 
+ 	`»g£t
+ (
+ b™s
+ ,
+ def
+ ,'\t');
+ 
+ 942 
+ 	`»g£t
+ (
+ b™s
+ ,
+ def
+ ,'\r');
+ 
+ 943 
+ 	`»g£t
+ (
+ b™s
+ ,
+ def
+ ,'\f');
+ 
+ 944 
+ 	`»g£t
+ (
+ b™s
+ ,
+ def
+ ,'\n');
+ 
+ 945 
+ Ï¡þass
+  = 1234;
+ 
+ 948 
+ þass
+  = '0'; class <= '9'; class++)
+ 
+ 949 
+ 	`»g£t
+ (
+ b™s
+ ,
+ def
+ ,
+ þass
+ );
+ 
+ 950 
+ Ï¡þass
+  = 1234;
+ 
+ 953 
+ þass
+  = '\n';
+ 
+ 956 
+ þass
+  = '\r';
+ 
+ 959 
+ þass
+  = '\t';
+ 
+ 962 
+ þass
+  = '\f';
+ 
+ 965 
+ þass
+  = '\b';
+ 
+ 968 
+ þass
+  = '\033';
+ 
+ 971 
+ þass
+  = '\007';
+ 
+ 974 
+ þass
+  = 
+ 	`sÿnhex
+ (
+ »g·r£
+ , 2, &
+ numËn
+ );
+ 
+ 975 
+ »g·r£
+  +ð
+ numËn
+ ;
+ 
+ 978 
+ þass
+  = *
+ »g·r£
+ ++;
+ 
+ 979 ià(
+ 	`i¦ow”
+ (
+ þass
+ ))
+ 
+ 980 
+ þass
+  = 
+ 	`touµ”
+ (class);
+ 
+ 981 
+ þass
+  ^= 64;
+ 
+ 985 
+ þass
+  = 
+ 	`sÿnoù
+ (--
+ »g·r£
+ , 3, &
+ numËn
+ );
+ 
+ 986 
+ »g·r£
+  +ð
+ numËn
+ ;
+ 
+ 990 ià(
+ ¿nge
+ ) {
+ 
+ 991 ià(
+ Ï¡þass
+  > 
+ þass
+ )
+ 
+ 992 
+ 	`FAIL
+ ("invalid []„ange in„egexp");
+ 
+ 993 
+ ¿nge
+  = 0;
+ 
+ 996 
+ Ï¡þass
+  = 
+ þass
+ ;
+ 
+ 997 ià(*
+ »g·r£
+  =ð'-' &&„eg·r£+1 < 
+ »gx’d
+  &&
+ 
+ 998 
+ »g·r£
+ [1] != ']') {
+ 
+ 999 
+ »g·r£
+ ++;
+ 
+ 1000 
+ ¿nge
+  = 1;
+ 
+ 1004  ; 
+ Ï¡þass
+  <ð
+ þass
+ ;†astclass++) {
+ 
+ 1005 
+ 	`»g£t
+ (
+ b™s
+ ,
+ def
+ ,
+ Ï¡þass
+ );
+ 
+ 1006 ià(
+ »gfÞd
+  && 
+ 	`isuµ”
+ (
+ Ï¡þass
+ ))
+ 
+ 1007 
+ 	`»g£t
+ (
+ b™s
+ ,
+ def
+ ,
+ 	`tÞow”
+ (
+ Ï¡þass
+ ));
+ 
+ 1009 
+ Ï¡þass
+  = 
+ þass
+ ;
+ 
+ 1011 ià(*
+ »g·r£
+  != ']')
+ 
+ 1012 
+ 	`FAIL
+ ("unmatched [] in„egexp");
+ 
+ 1013 
+ »g·r£
+ ++;
+ 
+ 1014  
+ »t
+ ;
+ 
+ 1015 
+ 	}
+ }
+ 
+ 1021 
+ 	$»gnode
+ (
+ Ý
+ )
+ 
+ 1022 
+ Ý
+ ;
+ 
+ 1024 *
+ »t
+ ;
+ 
+ 1025 *
+ ±r
+ ;
+ 
+ 1027 
+ »t
+  = 
+ »gcode
+ ;
+ 
+ 1028 ià(
+ »t
+  =ð&
+ »gdummy
+ ) {
+ 
+ 1029 #ifdeà
+ REGALIGN
+ 
+ 
+ 1030 ià(!(
+ »gsize
+  & 1))
+ 
+ 1031 
+ »gsize
+ ++;
+ 
+ 1033 
+ »gsize
+  += 3;
+ 
+ 1034 (
+ »t
+ );
+ 
+ 1037 #ifdeà
+ REGALIGN
+ 
+ 
+ 1038 #iâdeà
+ lšt
+ 
+ 
+ 1039 ià(!(()
+ »t
+  & 1))
+ 
+ 1040 *
+ »t
+ ++ = 127;
+ 
+ 1043 
+ ±r
+  = 
+ »t
+ ;
+ 
+ 1044 *
+ ±r
+ ++ = 
+ Ý
+ ;
+ 
+ 1045 *
+ ±r
+ ++ = '\0';
+ 
+ 1046 *
+ ±r
+ ++ = '\0';
+ 
+ 1047 
+ »gcode
+  = 
+ ±r
+ ;
+ 
+ 1049 (
+ »t
+ );
+ 
+ 1050 
+ 	}
+ }
+ 
+ 1056 
+ 	$»gªode
+ (
+ Ý
+ , 
+ ¬g
+ )
+ 
+ 1057 
+ Ý
+ ;
+ 
+ 1058 
+ ¬g
+ ;
+ 
+ 1060 *
+ »t
+ ;
+ 
+ 1061 *
+ ±r
+ ;
+ 
+ 1063 
+ »t
+  = 
+ »gcode
+ ;
+ 
+ 1064 ià(
+ »t
+  =ð&
+ »gdummy
+ ) {
+ 
+ 1065 #ifdeà
+ REGALIGN
+ 
+ 
+ 1066 ià(!(
+ »gsize
+  & 1))
+ 
+ 1067 
+ »gsize
+ ++;
+ 
+ 1069 
+ »gsize
+  += 5;
+ 
+ 1070 (
+ »t
+ );
+ 
+ 1073 #ifdeà
+ REGALIGN
+ 
+ 
+ 1074 #iâdeà
+ lšt
+ 
+ 
+ 1075 ià(!(()
+ »t
+  & 1))
+ 
+ 1076 *
+ »t
+ ++ = 127;
+ 
+ 1079 
+ ±r
+  = 
+ »t
+ ;
+ 
+ 1080 *
+ ±r
+ ++ = 
+ Ý
+ ;
+ 
+ 1081 *
+ ±r
+ ++ = '\0';
+ 
+ 1082 *
+ ±r
+ ++ = '\0';
+ 
+ 1083 #ifdeà
+ REGALIGN
+ 
+ 
+ 1084 *(*)(
+ »t
+ +3èð
+ ¬g
+ ;
+ 
+ 1086 
+ »t
+ [3] = 
+ ¬g
+  >> 8;„et[4] =‡rg & 0377;
+ 
+ 1088 
+ ±r
+  += 2;
+ 
+ 1089 
+ »gcode
+  = 
+ ±r
+ ;
+ 
+ 1091 (
+ »t
+ );
+ 
+ 1092 
+ 	}
+ }
+ 
+ 1098 
+ 	$»gc
+ (
+ b
+ )
+ 
+ 1099 
+ b
+ ;
+ 
+ 1101 ià(
+ »gcode
+  !ð&
+ »gdummy
+ )
+ 
+ 1102 *
+ »gcode
+ ++ = 
+ b
+ ;
+ 
+ 1104 
+ »gsize
+ ++;
+ 
+ 1105 
+ 	}
+ }
+ 
+ 1113 
+ 	$»gš£¹
+ (
+ Ý
+ , 
+ Ýnd
+ )
+ 
+ 1114 
+ Ý
+ ;
+ 
+ 1115 *
+ Ýnd
+ ;
+ 
+ 1117 *
+ ¤c
+ ;
+ 
+ 1118 *
+ d¡
+ ;
+ 
+ 1119 *
+ ¶aû
+ ;
+ 
+ 1120 
+ off£t
+  = (
+ Ý
+  =ð
+ CURLY
+  ? 4 : 0);
+ 
+ 1122 ià(
+ »gcode
+  =ð&
+ »gdummy
+ ) {
+ 
+ 1123 #ifdeà
+ REGALIGN
+ 
+ 
+ 1124 
+ »gsize
+  +ð4 + 
+ off£t
+ ;
+ 
+ 1126 
+ »gsize
+  +ð3 + 
+ off£t
+ ;
+ 
+ 1131 
+ ¤c
+  = 
+ »gcode
+ ;
+ 
+ 1132 #ifdeà
+ REGALIGN
+ 
+ 
+ 1133 
+ »gcode
+  +ð4 + 
+ off£t
+ ;
+ 
+ 1135 
+ »gcode
+  +ð3 + 
+ off£t
+ ;
+ 
+ 1137 
+ d¡
+  = 
+ »gcode
+ ;
+ 
+ 1138 
+ ¤c
+  > 
+ Ýnd
+ )
+ 
+ 1139 *--
+ d¡
+  = *--
+ ¤c
+ ;
+ 
+ 1141 
+ ¶aû
+  = 
+ Ýnd
+ ;
+ 
+ 1142 *
+ ¶aû
+ ++ = 
+ Ý
+ ;
+ 
+ 1143 *
+ ¶aû
+ ++ = '\0';
+ 
+ 1144 *
+ ¶aû
+ ++ = '\0';
+ 
+ 1145 
+ off£t
+ -- > 0)
+ 
+ 1146 *
+ ¶aû
+ ++ = '\0';
+ 
+ 1147 
+ 	}
+ }
+ 
+ 1153 
+ 	$»gž
+ (
+ p
+ , 
+ v®
+ )
+ 
+ 1154 *
+ p
+ ;
+ 
+ 1155 *
+ v®
+ ;
+ 
+ 1157 *
+ sÿn
+ ;
+ 
+ 1158 *
+ ‹mp
+ ;
+ 
+ 1159 
+ off£t
+ ;
+ 
+ 1161 ià(
+ p
+  =ð&
+ »gdummy
+ )
+ 
+ 1165 
+ sÿn
+  = 
+ p
+ ;
+ 
+ 1167 
+ ‹mp
+  = 
+ 	`»gÃxt
+ (
+ sÿn
+ );
+ 
+ 1168 ià(
+ ‹mp
+  =ð
+ NULL
+ )
+ 
+ 1170 
+ sÿn
+  = 
+ ‹mp
+ ;
+ 
+ 1173 #ifdeà
+ REGALIGN
+ 
+ 
+ 1174 
+ off£t
+  = 
+ v®
+  - 
+ sÿn
+ ;
+ 
+ 1175 #iâdeà
+ lšt
+ 
+ 
+ 1176 *(*)(
+ sÿn
+ +1èð
+ off£t
+ ;
+ 
+ 1178 
+ off£t
+  = offset;
+ 
+ 1181 ià(
+ 	`OP
+ (
+ sÿn
+ è=ð
+ BACK
+ )
+ 
+ 1182 
+ off£t
+  = 
+ sÿn
+  - 
+ v®
+ ;
+ 
+ 1184 
+ off£t
+  = 
+ v®
+  - 
+ sÿn
+ ;
+ 
+ 1185 *(
+ sÿn
+ +1èð(
+ off£t
+ >>8)&0377;
+ 
+ 1186 *(
+ sÿn
+ +2èð
+ off£t
+ &0377;
+ 
+ 1188 
+ 	}
+ }
+ 
+ 1194 
+ 	$»gݏž
+ (
+ p
+ , 
+ v®
+ )
+ 
+ 1195 *
+ p
+ ;
+ 
+ 1196 *
+ v®
+ ;
+ 
+ 1199 ià(
+ p
+  =ð
+ NULL
+  ||… =ð&
+ »gdummy
+  || 
+ 	`OP
+ Õè!ð
+ BRANCH
+ )
+ 
+ 1201 
+ 	`»gž
+ (
+ 	`NEXTOPER
+ (
+ p
+ ), 
+ v®
+ );
+ 
+ 1202 
+ 	}
+ }
+ 
+ 1207 
+ STATIC
+  
+ 
+ 1208 
+ 	$»gcu¾y
+ (
+ s
+ )
+ 
+ 1209 *
+ s
+ ;
+ 
+ 1211 ià(*
+ s
+ ++ != '{')
+ 
+ 1212  
+ FALSE
+ ;
+ 
+ 1213 ià(!
+ 	`isdig™
+ (*
+ s
+ ))
+ 
+ 1214  
+ FALSE
+ ;
+ 
+ 1215 
+ 	`isdig™
+ (*
+ s
+ ))
+ 
+ 1216 
+ s
+ ++;
+ 
+ 1217 ià(*
+ s
+  == ',')
+ 
+ 1218 
+ s
+ ++;
+ 
+ 1219 
+ 	`isdig™
+ (*
+ s
+ ))
+ 
+ 1220 
+ s
+ ++;
+ 
+ 1221 ià(*
+ s
+  != '}')
+ 
+ 1222  
+ FALSE
+ ;
+ 
+ 1223  
+ TRUE
+ ;
+ 
+ 1224 
+ 	}
+ }
+ 
+ 1226 #ifdeà
+ DEBUGGING
+ 
+ 
+ 1232 
+ 	$»gdump
+ (
+ r
+ )
+ 
+ 1233 
+ »gexp
+  *
+ r
+ ;
+ 
+ 1235 *
+ s
+ ;
+ 
+ 1236 
+ Ý
+  = 
+ EXACTLY
+ ;
+ 
+ 1237 *
+ Ãxt
+ ;
+ 
+ 1240 
+ s
+  = 
+ r
+ ->
+ ´og¿m
+  + 1;
+ 
+ 1241 
+ Ý
+  !ð
+ END
+ ) {
+ 
+ 1242 #ifdeà
+ REGALIGN
+ 
+ 
+ 1243 ià(!(()
+ s
+  & 1))
+ 
+ 1244 
+ s
+ ++;
+ 
+ 1246 
+ Ý
+  = 
+ 	`OP
+ (
+ s
+ );
+ 
+ 1247 
+ 	`årštf
+ (
+ ¡d”r
+ ,"%2d%s", 
+ s
+ -
+ r
+ ->
+ ´og¿m
+ , 
+ 	`»g´Ý
+ (s));
+ 
+ 1248 
+ Ãxt
+  = 
+ 	`»gÃxt
+ (
+ s
+ );
+ 
+ 1249 
+ s
+  +ð
+ »g¬gËn
+ [
+ Ý
+ ];
+ 
+ 1250 ià(
+ Ãxt
+  =ð
+ NULL
+ )
+ 
+ 1251 
+ 	`årštf
+ (
+ ¡d”r
+ ,"(0)");
+ 
+ 1253 
+ 	`årštf
+ (
+ ¡d”r
+ ,"(%d)", (
+ s
+ -
+ r
+ ->
+ ´og¿m
+ )+(
+ Ãxt
+ -s));
+ 
+ 1254 
+ s
+  += 3;
+ 
+ 1255 ià(
+ Ý
+  =ð
+ ANYOF
+ ) {
+ 
+ 1256 
+ s
+  += 32;
+ 
+ 1258 ià(
+ Ý
+  =ð
+ EXACTLY
+ ) {
+ 
+ 1260 
+ s
+ ++;
+ 
+ 1261 *
+ s
+  != '\0') {
+ 
+ 1262 ()
+ 	`putch¬
+ (*
+ s
+ );
+ 
+ 1263 
+ s
+ ++;
+ 
+ 1265 
+ s
+ ++;
+ 
+ 1267 ()
+ 	`putch¬
+ ('\n');
+ 
+ 1271 ià(
+ r
+ ->
+ »g¡¬t
+ )
+ 
+ 1272 
+ 	`årštf
+ (
+ ¡d”r
+ ,"¡¬ˆ`%s' ", 
+ r
+ ->
+ »g¡¬t
+ ->
+ ¡r_±r
+ );
+ 
+ 1273 ià(
+ r
+ ->
+ »g¡þass
+ )
+ 
+ 1274 
+ 	`årštf
+ (
+ ¡d”r
+ ,"¡þas `%s' ", 
+ 	`»g´Ý
+ (
+ r
+ ->
+ »g¡þass
+ ));
+ 
+ 1275 ià(
+ r
+ ->
+ »gªch
+  & 1)
+ 
+ 1276 
+ 	`årštf
+ (
+ ¡d”r
+ ,"anchored ");
+ 
+ 1277 ià(
+ r
+ ->
+ »gªch
+  & 2)
+ 
+ 1278 
+ 	`årštf
+ (
+ ¡d”r
+ ,"plus ");
+ 
+ 1279 ià(
+ r
+ ->
+ »gmu¡
+  !ð
+ NULL
+ )
+ 
+ 1280 
+ 	`årštf
+ (
+ ¡d”r
+ ,"mu¡ hav\"%s\" back %d ", 
+ r
+ ->
+ »gmu¡
+ ->
+ ¡r_±r
+ ,
+ 
+ 1281 
+ r
+ ->
+ »gback
+ );
+ 
+ 1282 
+ 	`årštf
+ (
+ ¡d”r
+ ,"\n");
+ 
+ 1283 
+ 	}
+ }
+ 
+ 1289 
+ 	$»g´Ý
+ (
+ Ý
+ )
+ 
+ 1290 *
+ Ý
+ ;
+ 
+ 1292 *
+ p
+ ;
+ 
+ 1294 (è
+ 	`¡rýy
+ (
+ buf
+ , ":");
+ 
+ 1296 
+ 	`OP
+ (
+ Ý
+ )) {
+ 
+ 1297 
+ BOL
+ :
+ 
+ 1298 
+ p
+  = "BOL";
+ 
+ 1300 
+ EOL
+ :
+ 
+ 1301 
+ p
+  = "EOL";
+ 
+ 1303 
+ ANY
+ :
+ 
+ 1304 
+ p
+  = "ANY";
+ 
+ 1306 
+ ANYOF
+ :
+ 
+ 1307 
+ p
+  = "ANYOF";
+ 
+ 1309 
+ BRANCH
+ :
+ 
+ 1310 
+ p
+  = "BRANCH";
+ 
+ 1312 
+ EXACTLY
+ :
+ 
+ 1313 
+ p
+  = "EXACTLY";
+ 
+ 1315 
+ NOTHING
+ :
+ 
+ 1316 
+ p
+  = "NOTHING";
+ 
+ 1318 
+ BACK
+ :
+ 
+ 1319 
+ p
+  = "BACK";
+ 
+ 1321 
+ END
+ :
+ 
+ 1322 
+ p
+  = "END";
+ 
+ 1324 
+ ALNUM
+ :
+ 
+ 1325 
+ p
+  = "ALNUM";
+ 
+ 1327 
+ NALNUM
+ :
+ 
+ 1328 
+ p
+  = "NALNUM";
+ 
+ 1330 
+ BOUND
+ :
+ 
+ 1331 
+ p
+  = "BOUND";
+ 
+ 1333 
+ NBOUND
+ :
+ 
+ 1334 
+ p
+  = "NBOUND";
+ 
+ 1336 
+ SPACE
+ :
+ 
+ 1337 
+ p
+  = "SPACE";
+ 
+ 1339 
+ NSPACE
+ :
+ 
+ 1340 
+ p
+  = "NSPACE";
+ 
+ 1342 
+ DIGIT
+ :
+ 
+ 1343 
+ p
+  = "DIGIT";
+ 
+ 1345 
+ NDIGIT
+ :
+ 
+ 1346 
+ p
+  = "NDIGIT";
+ 
+ 1348 
+ CURLY
+ :
+ 
+ 1349 ()
+ 	`¥rštf
+ (
+ buf
+ +
+ 	`¡¾’
+ (buf), "CURLY {%d,%d}",
+ 
+ 1350 
+ 	`ARG1
+ (
+ Ý
+ ),
+ 	`ARG2
+ (op));
+ 
+ 1351 
+ p
+  = 
+ NULL
+ ;
+ 
+ 1353 
+ REF
+ :
+ 
+ 1354 ()
+ 	`¥rštf
+ (
+ buf
+ +
+ 	`¡¾’
+ (buf), "REF%d", 
+ 	`ARG1
+ (
+ Ý
+ ));
+ 
+ 1355 
+ p
+  = 
+ NULL
+ ;
+ 
+ 1357 
+ OPEN
+ :
+ 
+ 1358 ()
+ 	`¥rštf
+ (
+ buf
+ +
+ 	`¡¾’
+ (buf), "OPEN%d", 
+ 	`ARG1
+ (
+ Ý
+ ));
+ 
+ 1359 
+ p
+  = 
+ NULL
+ ;
+ 
+ 1361 
+ CLOSE
+ :
+ 
+ 1362 ()
+ 	`¥rštf
+ (
+ buf
+ +
+ 	`¡¾’
+ (buf), "CLOSE%d", 
+ 	`ARG1
+ (
+ Ý
+ ));
+ 
+ 1363 
+ p
+  = 
+ NULL
+ ;
+ 
+ 1365 
+ STAR
+ :
+ 
+ 1366 
+ p
+  = "STAR";
+ 
+ 1368 
+ PLUS
+ :
+ 
+ 1369 
+ p
+  = "PLUS";
+ 
+ 1372 
+ 	`FAIL
+ ("corrupted„egexp opcode");
+ 
+ 1374 ià(
+ p
+  !ð
+ NULL
+ )
+ 
+ 1375 (è
+ 	`¡rÿt
+ (
+ buf
+ , 
+ p
+ );
+ 
+ 1376 (
+ buf
+ );
+ 
+ 1377 
+ 	}
+ }
+ 
+ 1380 
+ 	$»gä“
+ (
+ r
+ )
+ 
+ 1381 
+ »gexp
+  *
+ r
+ ;
+ 
+ 1383 ià(
+ r
+ ->
+ ´ecomp
+ ) {
+ 
+ 1384 
+ 	`Saãä“
+ (
+ r
+ ->
+ ´ecomp
+ );
+ 
+ 1385 
+ r
+ ->
+ ´ecomp
+  = 
+ NuÎch
+ ;
+ 
+ 1387 ià(
+ r
+ ->
+ subba£
+ ) {
+ 
+ 1388 
+ 	`Saãä“
+ (
+ r
+ ->
+ subba£
+ );
+ 
+ 1389 
+ r
+ ->
+ subba£
+  = 
+ NuÎch
+ ;
+ 
+ 1391 ià(
+ r
+ ->
+ »gmu¡
+ ) {
+ 
+ 1392 
+ 	`¡r_ä“
+ (
+ r
+ ->
+ »gmu¡
+ );
+ 
+ 1393 
+ r
+ ->
+ »gmu¡
+  = 
+ NuΡr
+ ;
+ 
+ 1395 ià(
+ r
+ ->
+ »g¡¬t
+ ) {
+ 
+ 1396 
+ 	`¡r_ä“
+ (
+ r
+ ->
+ »g¡¬t
+ );
+ 
+ 1397 
+ r
+ ->
+ »g¡¬t
+  = 
+ NuΡr
+ ;
+ 
+ 1399 
+ 	`Saãä“
+ (
+ r
+ ->
+ ¡¬
+ );
+ 
+ 1400 
+ 	`Saãä“
+ (
+ r
+ ->
+ ’dp
+ );
+ 
+ 1401 
+ 	`Saãä“
+ (
+ r
+ );
+ 
+ 1402 
+ 	}
+ }
+ 
+ 	@regcomp.h
+ 
+ 56 
+ 	#END
+  0
+ 
+ 	)
+ 
+ 57 
+ 	#BOL
+  1
+ 
+ 	)
+ 
+ 58 
+ 	#EOL
+  2
+ 
+ 	)
+ 
+ 59 
+ 	#ANY
+  3
+ 
+ 	)
+ 
+ 60 
+ 	#ANYOF
+  4
+ 
+ 	)
+ 
+ 61 
+ 	#CURLY
+  5
+ 
+ 	)
+ 
+ 62 
+ 	#BRANCH
+  6
+ 
+ 	)
+ 
+ 63 
+ 	#BACK
+  7
+ 
+ 	)
+ 
+ 64 
+ 	#EXACTLY
+  8
+ 
+ 	)
+ 
+ 65 
+ 	#NOTHING
+  9
+ 
+ 	)
+ 
+ 66 
+ 	#STAR
+  10
+ 
+ 	)
+ 
+ 67 
+ 	#PLUS
+  11
+ 
+ 	)
+ 
+ 68 
+ 	#ALNUM
+  12
+ 
+ 	)
+ 
+ 69 
+ 	#NALNUM
+  13
+ 
+ 	)
+ 
+ 70 
+ 	#BOUND
+  14
+ 
+ 	)
+ 
+ 71 
+ 	#NBOUND
+  15
+ 
+ 	)
+ 
+ 72 
+ 	#SPACE
+  16
+ 
+ 	)
+ 
+ 73 
+ 	#NSPACE
+  17
+ 
+ 	)
+ 
+ 74 
+ 	#DIGIT
+  18
+ 
+ 	)
+ 
+ 75 
+ 	#NDIGIT
+  19
+ 
+ 	)
+ 
+ 76 
+ 	#REF
+  20
+ 
+ 	)
+ 
+ 77 
+ 	#OPEN
+  21
+ 
+ 	)
+ 
+ 78 
+ 	#CLOSE
+  22
+ 
+ 	)
+ 
+ 102 #iâdeà
+ DOINIT
+ 
+ 
+ 103 

+ »g¬gËn
+ [];
+ 
+ 105 
+ 	g»g¬gËn
+ [] = {0,0,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,2,2};
+ 
+ 109 #iâdeà
+ DOINIT
+ 
+ 
+ 110 

+ v¬›s
+ [];
+ 
+ 112 
+ 	gv¬›s
+ [] = {
+ BRANCH
+ ,
+ BACK
+ ,
+ STAR
+ ,
+ PLUS
+ ,
+ CURLY
+ ,
+ REF
+ ,0};
+ 
+ 116 #iâdeà
+ DOINIT
+ 
+ 
+ 117 

+ sim¶e
+ [];
+ 
+ 119 
+ 	gsim¶e
+ [] = {
+ ANY
+ ,
+ ANYOF
+ ,
+ ALNUM
+ ,
+ NALNUM
+ ,
+ SPACE
+ ,
+ NSPACE
+ ,
+ DIGIT
+ ,
+ NDIGIT
+ ,0};
+ 
+ 122 
+ EXT
+  
+ 	g»gdummy
+ ;
+ 
+ 140 #iâdeà
+ gould
+ 
+ 
+ 141 #iâdeà
+ üay
+ 
+ 
+ 142 #iâdeà
+ ‘a10
+ 
+ 
+ 143 
+ 	#REGALIGN
+ 
+ 
+ 	)
+ 
+ 148 
+ 	#OP
+ (
+ p
+ è(*Õ))
+ 
+ 	)
+ 
+ 150 #iâdeà
+ lšt
+ 
+ 
+ 151 #ifdeà
+ REGALIGN
+ 
+ 
+ 152 
+ 	#NEXT
+ (
+ p
+ è(*(*)Õ+1))
+ 
+ 	)
+ 
+ 153 
+ 	#ARG1
+ (
+ p
+ è(*(*)Õ+3))
+ 
+ 	)
+ 
+ 154 
+ 	#ARG2
+ (
+ p
+ è(*(*)Õ+5))
+ 
+ 	)
+ 
+ 156 
+ 	#NEXT
+ (
+ p
+ è(((*(Õ)+1)&0377)<<8è+ (*(Õ)+2)&0377))
+ 
+ 	)
+ 
+ 157 
+ 	#ARG1
+ (
+ p
+ è(((*(Õ)+3)&0377)<<8è+ (*(Õ)+4)&0377))
+ 
+ 	)
+ 
+ 158 
+ 	#ARG2
+ (
+ p
+ è(((*(Õ)+5)&0377)<<8è+ (*(Õ)+6)&0377))
+ 
+ 	)
+ 
+ 161 
+ 	#NEXT
+ (
+ p
+ è0
+ 
+ 	)
+ 
+ 164 
+ 	#OPERAND
+ (
+ p
+ è(Õè+ 3)
+ 
+ 	)
+ 
+ 166 #ifdeà
+ REGALIGN
+ 
+ 
+ 167 
+ 	#NEXTOPER
+ (
+ p
+ è(Õè+ 4)
+ 
+ 	)
+ 
+ 169 
+ 	#NEXTOPER
+ (
+ p
+ è(Õè+ 3)
+ 
+ 	)
+ 
+ 172 
+ 	#MAGIC
+  0234
+ 
+ 	)
+ 
+ 177 #iâdeà
+ lšt
+ 
+ 
+ 178 #iâdeà
+ CHARBITS
+ 
+ 
+ 179 
+ 	#UCHARAT
+ (
+ p
+ è(()*(*)Õ))
+ 
+ 	)
+ 
+ 181 
+ 	#UCHARAT
+ (
+ p
+ è(()*Õ)&
+ CHARBITS
+ )
+ 
+ 	)
+ 
+ 184 
+ 	#UCHARAT
+ (
+ p
+ è
+ »gdummy
+ 
+ 
+ 	)
+ 
+ 187 
+ 	#FAIL
+ (
+ m
+ è
+ 	`çl
+ ("/%s/: %s",
+ »g´ecomp
+ ,m)
+ 
+ 	)
+ 
+ 189 *
+ »gÃxt
+ ();
+ 
+ 190 #ifdeà
+ DEBUGGING
+ 
+ 
+ 191 
+ »gdump
+ ();
+ 
+ 192 *
+ »g´Ý
+ ();
+ 
+ 	@regexec.c
+ 
+ 52 
+ 	~"EXTERN.h
+ "
+ 
+ 53 
+ 	~"³¾.h
+ "
+ 
+ 54 
+ 	~"»gcomp.h
+ "
+ 
+ 56 #iâdeà
+ STATIC
+ 
+ 
+ 57 
+ 	#STATIC
+  
+ 
+ 	)
+ 
+ 60 #ifdeà
+ DEBUGGING
+ 
+ 
+ 61 
+ 	g»gǼ©e
+  = 0;
+ 
+ 64 
+ 	#isALNUM
+ (
+ c
+ è(
+ 	`i§scii
+ (cè&& (
+ 	`i§Íha
+ (cè|| 
+ 	`isdig™
+ (cè|| c =ð'_'))
+ 
+ 	)
+ 
+ 65 
+ 	#isSPACE
+ (
+ c
+ è(
+ 	`i§scii
+ (cè&& 
+ 	`is¥aû
+ (c))
+ 
+ 	)
+ 
+ 66 
+ 	#isDIGIT
+ (
+ c
+ è(
+ 	`i§scii
+ (cè&& 
+ 	`isdig™
+ (c))
+ 
+ 	)
+ 
+ 67 
+ 	#isUPPER
+ (
+ c
+ è(
+ 	`i§scii
+ (cè&& 
+ 	`isuµ”
+ (c))
+ 
+ 	)
+ 
+ 76 *
+ 	g»g´ecomp
+ ;
+ 
+ 77 *
+ 	g»gšput
+ ;
+ 
+ 78 
+ 	g»g´ev
+ ;
+ 
+ 79 *
+ 	g»gbÞ
+ ;
+ 
+ 80 *
+ 	g»geÞ
+ ;
+ 
+ 81 **
+ 	g»g¡¬
+ ;
+ 
+ 82 **
+ 	g»g’dp
+ ;
+ 
+ 83 *
+ 	g»gÏ¡·»n
+ ;
+ 
+ 84 *
+ 	g»gtžl
+ ;
+ 
+ 86 
+ 	g»gmyp_size
+  = 0;
+ 
+ 87 **
+ 	g»gmy¡¬
+  = 
+ NuÎ
+ (**);
+ 
+ 88 **
+ 	g»gmy’dp
+  = 
+ NuÎ
+ (**);
+ 
+ 93 
+ STATIC
+  
+ »gŒy
+ ();
+ 
+ 94 
+ STATIC
+  
+ »gm©ch
+ ();
+ 
+ 95 
+ STATIC
+  
+ »g»³©
+ ();
+ 
+ 97 

+ muÉžše
+ ;
+ 
+ 103 
+ 	$»gexec
+ (
+ ´og
+ , 
+ ¡ršg¬g
+ , 
+ ¡»nd
+ , 
+ ¡rbeg
+ , 
+ mš’d
+ , 
+ sü—m”
+ , 
+ §ãba£
+ )
+ 
+ 104 
+ »gexp
+  *
+ ´og
+ ;
+ 
+ 105 *
+ ¡ršg¬g
+ ;
+ 
+ 106 *
+ ¡»nd
+ ;
+ 
+ 107 *
+ ¡rbeg
+ ;
+ 
+ 108 
+ mš’d
+ ;
+ 
+ 109 
+ STR
+  *
+ sü—m”
+ ;
+ 
+ 110 
+ §ãba£
+ ;
+ 
+ 112 *
+ s
+ ;
+ 
+ 113 
+ i
+ ;
+ 
+ 114 *
+ c
+ ;
+ 
+ 115 *
+ ¡ršg
+  = 
+ ¡ršg¬g
+ ;
+ 
+ 116 
+ tmp
+ ;
+ 
+ 117 
+ mšËn
+  = 0;
+ 
+ 118 
+ dÚtbÙh”
+  = 0;
+ 
+ 121 ià(
+ ´og
+  =ð
+ NULL
+  || 
+ ¡ršg
+  == NULL) {
+ 
+ 122 
+ 	`çl
+ ("NULL„egexp…arameter");
+ 
+ 126 ià(
+ ¡ršg
+  =ð
+ ¡rbeg
+ )
+ 
+ 127 
+ »g´ev
+  = '\n';
+ 
+ 129 
+ »g´ev
+  = 
+ ¡ršg¬g
+ [-1];
+ 
+ 130 ià(!
+ muÉžše
+  && 
+ »g´ev
+  == '\n')
+ 
+ 131 
+ »g´ev
+  = '\0';
+ 
+ 133 
+ »g´ecomp
+  = 
+ ´og
+ ->
+ ´ecomp
+ ;
+ 
+ 135 ià(
+ 	`UCHARAT
+ (
+ ´og
+ ->
+ ´og¿m
+ è!ð
+ MAGIC
+ ) {
+ 
+ 136 
+ 	`FAIL
+ ("corrupted„egexp…rogram");
+ 
+ 139 ià(
+ ´og
+ ->
+ do_fÞdšg
+ ) {
+ 
+ 140 
+ §ãba£
+  = 
+ FALSE
+ ;
+ 
+ 141 
+ i
+  = 
+ ¡»nd
+  - 
+ ¡ršg
+ ;
+ 
+ 142 
+ 	`New
+ (1101,
+ c
+ ,
+ i
+ +1,);
+ 
+ 143 ()
+ 	`bcÝy
+ (
+ ¡ršg
+ , 
+ c
+ , 
+ i
+ +1);
+ 
+ 144 
+ ¡ršg
+  = 
+ c
+ ;
+ 
+ 145 
+ ¡»nd
+  = 
+ ¡ršg
+  + 
+ i
+ ;
+ 
+ 146 
+ s
+  = 
+ ¡ršg
+ ; s < 
+ ¡»nd
+ ; s++)
+ 
+ 147 ià(
+ 	`isUPPER
+ (*
+ s
+ ))
+ 
+ 148 *
+ s
+  = 
+ 	`tÞow”
+ (*s);
+ 
+ 152 
+ s
+  = 
+ ¡ršg
+ ;
+ 
+ 153 ià(
+ ´og
+ ->
+ »gmu¡
+  !ð
+ NuΡr
+  &&
+ 
+ 154 (!(
+ ´og
+ ->
+ »gªch
+  & 1è|| (
+ muÉžše
+  &&…rog->
+ »gback
+  >= 0)) ) {
+ 
+ 155 ià(
+ ¡ršg¬g
+  =ð
+ ¡rbeg
+  && 
+ sü—m”
+ ) {
+ 
+ 156 ià(
+ sü—mfœ¡
+ [
+ ´og
+ ->
+ »gmu¡
+ ->
+ ¡r_¿»
+ ] >= 0)
+ 
+ 157 
+ s
+  = 
+ 	`sü—mš¡r
+ (
+ sü—m”
+ ,
+ ´og
+ ->
+ »gmu¡
+ );
+ 
+ 159 
+ s
+  = 
+ NuÎch
+ ;
+ 
+ 161 #iâdeà
+ lšt
+ 
+ 
+ 163 
+ s
+  = 
+ 	`fbmš¡r
+ ((*)s, (*)
+ ¡»nd
+ ,
+ 
+ 164 
+ ´og
+ ->
+ »gmu¡
+ );
+ 
+ 166 ià(!
+ s
+ ) {
+ 
+ 167 ++
+ ´og
+ ->
+ »gmu¡
+ ->
+ ¡r_u
+ .
+ ¡r_u£ful
+ ;
+ 
+ 168 
+ phoÛy
+ ;
+ 
+ 170 ià(
+ ´og
+ ->
+ »gback
+  >= 0) {
+ 
+ 171 
+ s
+  -ð
+ ´og
+ ->
+ »gback
+ ;
+ 
+ 172 ià(
+ s
+  < 
+ ¡ršg
+ )
+ 
+ 173 
+ s
+  = 
+ ¡ršg
+ ;
+ 
+ 174 
+ mšËn
+  = 
+ ´og
+ ->
+ »gback
+  +…rog->
+ »gmu¡
+ ->
+ ¡r_cur
+ ;
+ 
+ 176 ià(--
+ ´og
+ ->
+ »gmu¡
+ ->
+ ¡r_u
+ .
+ ¡r_u£ful
+  < 0) {
+ 
+ 177 
+ 	`¡r_ä“
+ (
+ ´og
+ ->
+ »gmu¡
+ );
+ 
+ 178 
+ ´og
+ ->
+ »gmu¡
+  = 
+ NuΡr
+ ;
+ 
+ 179 
+ s
+  = 
+ ¡ršg
+ ;
+ 
+ 182 
+ s
+  = 
+ ¡ršg
+ ;
+ 
+ 183 
+ mšËn
+  = 
+ ´og
+ ->
+ »gmu¡
+ ->
+ ¡r_cur
+ ;
+ 
+ 188 
+ »gbÞ
+  = 
+ ¡ršg
+ ;
+ 
+ 191 
+ »geÞ
+  = 
+ ¡»nd
+ ;
+ 
+ 194 
+ »gtžl
+  = 
+ ¡ršg
+ +
+ mš’d
+ ;
+ 
+ 197 iàÐ
+ »gmyp_size
+  < 
+ ´og
+ ->
+ Ŭ’s
+  + 1 ) {
+ 
+ 199 
+ »gmyp_size
+  = 
+ ´og
+ ->
+ Ŭ’s
+  + 1;
+ 
+ 200 iàÐ
+ »gmyp_size
+  < 10 )„egmyp_size = 10;
+ 
+ 201 iàÐ
+ »gmy¡¬
+  ) {
+ 
+ 203 
+ 	`R’ew
+ (
+ »gmy¡¬
+ ,
+ »gmyp_size
+ ,*);
+ 
+ 204 
+ 	`R’ew
+ (
+ »gmy’dp
+ , 
+ »gmyp_size
+ ,*);
+ 
+ 208 
+ 	`New
+ (1102,
+ »gmy¡¬
+ ,
+ »gmyp_size
+ ,*);
+ 
+ 209 
+ 	`New
+ (1102,
+ »gmy’dp
+ , 
+ »gmyp_size
+ ,*);
+ 
+ 216 ià(
+ ´og
+ ->
+ »gªch
+  & 1) {
+ 
+ 217 ià(
+ 	`»gŒy
+ (
+ ´og
+ , 
+ ¡ršg
+ ))
+ 
+ 218 
+ gÙ_™
+ ;
+ 
+ 219 ià(
+ muÉžše
+ ) {
+ 
+ 220 ià(
+ mšËn
+ )
+ 
+ 221 
+ dÚtbÙh”
+  = 
+ mšËn
+  - 1;
+ 
+ 222 
+ ¡»nd
+  -ð
+ dÚtbÙh”
+ ;
+ 
+ 224 ià(
+ s
+  > 
+ ¡ršg
+ )
+ 
+ 225 
+ s
+ --;
+ 
+ 226 
+ s
+  < 
+ ¡»nd
+ ) {
+ 
+ 227 ià(*
+ s
+ ++ == '\n') {
+ 
+ 228 ià(
+ s
+  < 
+ ¡»nd
+  && 
+ 	`»gŒy
+ (
+ ´og
+ , s))
+ 
+ 229 
+ gÙ_™
+ ;
+ 
+ 233 
+ phoÛy
+ ;
+ 
+ 237 ià(
+ ´og
+ ->
+ »g¡¬t
+ ) {
+ 
+ 238 ià(
+ ´og
+ ->
+ »gªch
+  & 2) {
+ 
+ 240 
+ i
+  = 
+ ´og
+ ->
+ »g¡¬t
+ ->
+ ¡r_±r
+ [0];
+ 
+ 241 
+ s
+  < 
+ ¡»nd
+ ) {
+ 
+ 242 ià(*
+ s
+  =ð
+ i
+ ) {
+ 
+ 243 ià(
+ 	`»gŒy
+ (
+ ´og
+ , 
+ s
+ ))
+ 
+ 244 
+ gÙ_™
+ ;
+ 
+ 245 
+ s
+ ++;
+ 
+ 246 
+ s
+  < 
+ ¡»nd
+  && * =ð
+ i
+ )
+ 
+ 247 
+ s
+ ++;
+ 
+ 249 
+ s
+ ++;
+ 
+ 252 ià(
+ ´og
+ ->
+ »g¡¬t
+ ->
+ ¡r_pok
+  == 3) {
+ 
+ 254 #iâdeà
+ lšt
+ 
+ 
+ 255 (
+ s
+  = 
+ 	`fbmš¡r
+ ((*)s,
+ 
+ 256 (*)
+ ¡»nd
+ , 
+ ´og
+ ->
+ »g¡¬t
+ )è!ð
+ NULL
+ )
+ 
+ 258 
+ s
+  = 
+ NuÎch
+ )
+ 
+ 261 ià(
+ 	`»gŒy
+ (
+ ´og
+ , 
+ s
+ ))
+ 
+ 262 
+ gÙ_™
+ ;
+ 
+ 263 
+ s
+ ++;
+ 
+ 267 
+ c
+  = 
+ ´og
+ ->
+ »g¡¬t
+ ->
+ ¡r_±r
+ ;
+ 
+ 268 (
+ s
+  = 
+ 	`nš¡r
+ (s, 
+ ¡»nd
+ ,
+ 
+ 269 
+ c
+ , c + 
+ ´og
+ ->
+ »g¡¬t
+ ->
+ ¡r_cur
+  )è!ð
+ NULL
+ ) {
+ 
+ 270 ià(
+ 	`»gŒy
+ (
+ ´og
+ , 
+ s
+ ))
+ 
+ 271 
+ gÙ_™
+ ;
+ 
+ 272 
+ s
+ ++;
+ 
+ 275 
+ phoÛy
+ ;
+ 
+ 277 ià(
+ c
+  = 
+ ´og
+ ->
+ »g¡þass
+ ) {
+ 
+ 278 
+ dÛv”y
+  = (
+ ´og
+ ->
+ »gªch
+  & 2) == 0;
+ 
+ 280 ià(
+ mšËn
+ )
+ 
+ 281 
+ dÚtbÙh”
+  = 
+ mšËn
+  - 1;
+ 
+ 282 
+ ¡»nd
+  -ð
+ dÚtbÙh”
+ ;
+ 
+ 283 
+ tmp
+  = 1;
+ 
+ 285 
+ 	`OP
+ (
+ c
+ )) {
+ 
+ 286 
+ ANYOF
+ :
+ 
+ 287 
+ c
+  = 
+ 	`OPERAND
+ (c);
+ 
+ 288 
+ s
+  < 
+ ¡»nd
+ ) {
+ 
+ 289 
+ i
+  = 
+ 	`UCHARAT
+ (
+ s
+ );
+ 
+ 290 ià(!(
+ c
+ [
+ i
+  >> 3] & (1 << (i&7)))) {
+ 
+ 291 ià(
+ tmp
+  && 
+ 	`»gŒy
+ (
+ ´og
+ , 
+ s
+ ))
+ 
+ 292 
+ gÙ_™
+ ;
+ 
+ 294 
+ tmp
+  = 
+ dÛv”y
+ ;
+ 
+ 297 
+ tmp
+  = 1;
+ 
+ 298 
+ s
+ ++;
+ 
+ 301 
+ BOUND
+ :
+ 
+ 302 ià(
+ mšËn
+ )
+ 
+ 303 
+ dÚtbÙh”
+ ++,
+ ¡»nd
+ --;
+ 
+ 304 ià(
+ s
+  !ð
+ ¡ršg
+ ) {
+ 
+ 305 
+ i
+  = 
+ s
+ [-1];
+ 
+ 306 
+ tmp
+  = 
+ 	`isALNUM
+ (
+ i
+ );
+ 
+ 309 
+ tmp
+  = 
+ 	`isALNUM
+ (
+ »g´ev
+ );
+ 
+ 310 
+ s
+  < 
+ ¡»nd
+ ) {
+ 
+ 311 
+ i
+  = *
+ s
+ ;
+ 
+ 312 ià(
+ tmp
+  !ð
+ 	`isALNUM
+ (
+ i
+ )) {
+ 
+ 313 
+ tmp
+  = !tmp;
+ 
+ 314 ià(
+ 	`»gŒy
+ (
+ ´og
+ , 
+ s
+ ))
+ 
+ 315 
+ gÙ_™
+ ;
+ 
+ 317 
+ s
+ ++;
+ 
+ 319 ià((
+ mšËn
+  || 
+ tmp
+ è&& 
+ 	`»gŒy
+ (
+ ´og
+ ,
+ s
+ ))
+ 
+ 320 
+ gÙ_™
+ ;
+ 
+ 322 
+ NBOUND
+ :
+ 
+ 323 ià(
+ mšËn
+ )
+ 
+ 324 
+ dÚtbÙh”
+ ++,
+ ¡»nd
+ --;
+ 
+ 325 ià(
+ s
+  !ð
+ ¡ršg
+ ) {
+ 
+ 326 
+ i
+  = 
+ s
+ [-1];
+ 
+ 327 
+ tmp
+  = 
+ 	`isALNUM
+ (
+ i
+ );
+ 
+ 330 
+ tmp
+  = 
+ 	`isALNUM
+ (
+ »g´ev
+ );
+ 
+ 331 
+ s
+  < 
+ ¡»nd
+ ) {
+ 
+ 332 
+ i
+  = *
+ s
+ ;
+ 
+ 333 ià(
+ tmp
+  !ð
+ 	`isALNUM
+ (
+ i
+ ))
+ 
+ 334 
+ tmp
+  = !tmp;
+ 
+ 335 ià(
+ 	`»gŒy
+ (
+ ´og
+ , 
+ s
+ ))
+ 
+ 336 
+ gÙ_™
+ ;
+ 
+ 337 
+ s
+ ++;
+ 
+ 339 ià((
+ mšËn
+  || !
+ tmp
+ è&& 
+ 	`»gŒy
+ (
+ ´og
+ ,
+ s
+ ))
+ 
+ 340 
+ gÙ_™
+ ;
+ 
+ 342 
+ ALNUM
+ :
+ 
+ 343 
+ s
+  < 
+ ¡»nd
+ ) {
+ 
+ 344 
+ i
+  = *
+ s
+ ;
+ 
+ 345 ià(
+ 	`isALNUM
+ (
+ i
+ )) {
+ 
+ 346 ià(
+ tmp
+  && 
+ 	`»gŒy
+ (
+ ´og
+ , 
+ s
+ ))
+ 
+ 347 
+ gÙ_™
+ ;
+ 
+ 349 
+ tmp
+  = 
+ dÛv”y
+ ;
+ 
+ 352 
+ tmp
+  = 1;
+ 
+ 353 
+ s
+ ++;
+ 
+ 356 
+ NALNUM
+ :
+ 
+ 357 
+ s
+  < 
+ ¡»nd
+ ) {
+ 
+ 358 
+ i
+  = *
+ s
+ ;
+ 
+ 359 ià(!
+ 	`isALNUM
+ (
+ i
+ )) {
+ 
+ 360 ià(
+ tmp
+  && 
+ 	`»gŒy
+ (
+ ´og
+ , 
+ s
+ ))
+ 
+ 361 
+ gÙ_™
+ ;
+ 
+ 363 
+ tmp
+  = 
+ dÛv”y
+ ;
+ 
+ 366 
+ tmp
+  = 1;
+ 
+ 367 
+ s
+ ++;
+ 
+ 370 
+ SPACE
+ :
+ 
+ 371 
+ s
+  < 
+ ¡»nd
+ ) {
+ 
+ 372 ià(
+ 	`isSPACE
+ (*
+ s
+ )) {
+ 
+ 373 ià(
+ tmp
+  && 
+ 	`»gŒy
+ (
+ ´og
+ , 
+ s
+ ))
+ 
+ 374 
+ gÙ_™
+ ;
+ 
+ 376 
+ tmp
+  = 
+ dÛv”y
+ ;
+ 
+ 379 
+ tmp
+  = 1;
+ 
+ 380 
+ s
+ ++;
+ 
+ 383 
+ NSPACE
+ :
+ 
+ 384 
+ s
+  < 
+ ¡»nd
+ ) {
+ 
+ 385 ià(!
+ 	`isSPACE
+ (*
+ s
+ )) {
+ 
+ 386 ià(
+ tmp
+  && 
+ 	`»gŒy
+ (
+ ´og
+ , 
+ s
+ ))
+ 
+ 387 
+ gÙ_™
+ ;
+ 
+ 389 
+ tmp
+  = 
+ dÛv”y
+ ;
+ 
+ 392 
+ tmp
+  = 1;
+ 
+ 393 
+ s
+ ++;
+ 
+ 396 
+ DIGIT
+ :
+ 
+ 397 
+ s
+  < 
+ ¡»nd
+ ) {
+ 
+ 398 ià(
+ 	`isDIGIT
+ (*
+ s
+ )) {
+ 
+ 399 ià(
+ tmp
+  && 
+ 	`»gŒy
+ (
+ ´og
+ , 
+ s
+ ))
+ 
+ 400 
+ gÙ_™
+ ;
+ 
+ 402 
+ tmp
+  = 
+ dÛv”y
+ ;
+ 
+ 405 
+ tmp
+  = 1;
+ 
+ 406 
+ s
+ ++;
+ 
+ 409 
+ NDIGIT
+ :
+ 
+ 410 
+ s
+  < 
+ ¡»nd
+ ) {
+ 
+ 411 ià(!
+ 	`isDIGIT
+ (*
+ s
+ )) {
+ 
+ 412 ià(
+ tmp
+  && 
+ 	`»gŒy
+ (
+ ´og
+ , 
+ s
+ ))
+ 
+ 413 
+ gÙ_™
+ ;
+ 
+ 415 
+ tmp
+  = 
+ dÛv”y
+ ;
+ 
+ 418 
+ tmp
+  = 1;
+ 
+ 419 
+ s
+ ++;
+ 
+ 425 ià(
+ mšËn
+ )
+ 
+ 426 
+ dÚtbÙh”
+  = 
+ mšËn
+  - 1;
+ 
+ 427 
+ ¡»nd
+  -ð
+ dÚtbÙh”
+ ;
+ 
+ 430 ià(
+ 	`»gŒy
+ (
+ ´og
+ , 
+ s
+ ))
+ 
+ 431 
+ gÙ_™
+ ;
+ 
+ 432 } 
+ s
+ ++ < 
+ ¡»nd
+ );
+ 
+ 436 
+ phoÛy
+ ;
+ 
+ 438 
+ gÙ_™
+ :
+ 
+ 439 ià((!
+ §ãba£
+  && (
+ ´og
+ ->
+ Ŭ’s
+  || 
+ §wam³r§nd
+ )è||…rog->
+ do_fÞdšg
+ ){
+ 
+ 440 
+ ¡»nd
+  +ð
+ dÚtbÙh”
+ ;
+ 
+ 441 ià(
+ §ãba£
+ )
+ 
+ 442 
+ s
+  = 
+ ¡rbeg
+ ;
+ 
+ 443 ià(
+ ¡rbeg
+  !ð
+ ´og
+ ->
+ subba£
+ ) {
+ 
+ 444 
+ i
+  = 
+ ¡»nd
+  - 
+ ¡ršg
+  + (
+ ¡ršg¬g
+  - 
+ ¡rbeg
+ );
+ 
+ 445 
+ s
+  = 
+ 	`n§ve¡r
+ (
+ ¡rbeg
+ ,
+ i
+ );
+ 
+ 446 ià(
+ ´og
+ ->
+ subba£
+ )
+ 
+ 447 
+ 	`Saãä“
+ (
+ ´og
+ ->
+ subba£
+ );
+ 
+ 448 
+ ´og
+ ->
+ subba£
+  = 
+ s
+ ;
+ 
+ 449 
+ ´og
+ ->
+ sub’d
+  = 
+ s
+ +
+ i
+ ;
+ 
+ 452 
+ s
+  = 
+ ´og
+ ->
+ subba£
+ ;
+ 
+ 453 
+ s
+  +ð(
+ ¡ršg¬g
+  - 
+ ¡rbeg
+ );
+ 
+ 454 
+ i
+  = 0; i <ð
+ ´og
+ ->
+ Ŭ’s
+ ; i++) {
+ 
+ 455 ià(
+ ´og
+ ->
+ ’dp
+ [
+ i
+ ]) {
+ 
+ 456 
+ ´og
+ ->
+ ¡¬
+ [
+ i
+ ] = 
+ s
+  + (´og->¡¬[i] - 
+ ¡ršg
+ );
+ 
+ 457 
+ ´og
+ ->
+ ’dp
+ [
+ i
+ ] = 
+ s
+  + (´og->’dp[i] - 
+ ¡ršg
+ );
+ 
+ 460 ià(
+ ´og
+ ->
+ do_fÞdšg
+ )
+ 
+ 461 
+ 	`Saãä“
+ (
+ ¡ršg
+ );
+ 
+ 465 
+ phoÛy
+ :
+ 
+ 466 ià(
+ ´og
+ ->
+ do_fÞdšg
+ )
+ 
+ 467 
+ 	`Saãä“
+ (
+ ¡ršg
+ );
+ 
+ 469 
+ 	}
+ }
+ 
+ 475 
+ 	$»gŒy
+ (
+ ´og
+ , 
+ ¡ršg
+ )
+ 
+ 476 
+ »gexp
+  *
+ ´og
+ ;
+ 
+ 477 *
+ ¡ršg
+ ;
+ 
+ 479 
+ i
+ ;
+ 
+ 480 **
+ ¥
+ ;
+ 
+ 481 **
+ •
+ ;
+ 
+ 483 
+ »gšput
+  = 
+ ¡ršg
+ ;
+ 
+ 484 
+ »g¡¬
+  = 
+ ´og
+ ->
+ ¡¬
+ ;
+ 
+ 485 
+ »g’dp
+  = 
+ ´og
+ ->
+ ’dp
+ ;
+ 
+ 486 
+ »gÏ¡·»n
+  = &
+ ´og
+ ->
+ Ï¡·»n
+ ;
+ 
+ 487 
+ ´og
+ ->
+ Ï¡·»n
+  = 0;
+ 
+ 489 
+ ¥
+  = 
+ ´og
+ ->
+ ¡¬
+ ;
+ 
+ 490 
+ •
+  = 
+ ´og
+ ->
+ ’dp
+ ;
+ 
+ 491 ià(
+ ´og
+ ->
+ Ŭ’s
+ ) {
+ 
+ 492 
+ i
+  = 
+ ´og
+ ->
+ Ŭ’s
+ ; i >= 0; i--) {
+ 
+ 493 *
+ ¥
+ ++ = 
+ NULL
+ ;
+ 
+ 494 *
+ •
+ ++ = 
+ NULL
+ ;
+ 
+ 497 ià(
+ 	`»gm©ch
+ (
+ ´og
+ ->
+ ´og¿m
+  + 1è&& 
+ »gšput
+  >ð
+ »gtžl
+ ) {
+ 
+ 498 
+ ´og
+ ->
+ ¡¬
+ [0] = 
+ ¡ršg
+ ;
+ 
+ 499 
+ ´og
+ ->
+ ’dp
+ [0] = 
+ »gšput
+ ;
+ 
+ 503 
+ 	}
+ }
+ 
+ 520 
+ 	$»gm©ch
+ (
+ ´og
+ )
+ 
+ 521 *
+ ´og
+ ;
+ 
+ 523 *
+ sÿn
+ ;
+ 
+ 524 *
+ Ãxt
+ ;
+ 
+ 525 
+ Ãxtch¬
+ ;
+ 
+ 526 
+ n
+ ;
+ 
+ 527 
+ Ê
+ ;
+ 
+ 528 *
+ s
+ ;
+ 
+ 529 *
+ locšput
+  = 
+ »gšput
+ ;
+ 
+ 531 
+ Ãxtch¬
+  = *
+ locšput
+ ;
+ 
+ 532 
+ sÿn
+  = 
+ ´og
+ ;
+ 
+ 533 #ifdeà
+ DEBUGGING
+ 
+ 
+ 534 ià(
+ sÿn
+  !ð
+ NULL
+  && 
+ »gǼ©e
+ )
+ 
+ 535 
+ 	`årštf
+ (
+ ¡d”r
+ , "%s(\n", 
+ 	`»g´Ý
+ (
+ sÿn
+ ));
+ 
+ 537 
+ sÿn
+  !ð
+ NULL
+ ) {
+ 
+ 538 #ifdeà
+ DEBUGGING
+ 
+ 
+ 539 ià(
+ »gǼ©e
+ )
+ 
+ 540 
+ 	`årštf
+ (
+ ¡d”r
+ , "%s...\n", 
+ 	`»g´Ý
+ (
+ sÿn
+ ));
+ 
+ 543 #ifdeà
+ REGALIGN
+ 
+ 
+ 544 
+ Ãxt
+  = 
+ sÿn
+  + 
+ 	`NEXT
+ (scan);
+ 
+ 545 ià(
+ Ãxt
+  =ð
+ sÿn
+ )
+ 
+ 546 
+ Ãxt
+  = 
+ NULL
+ ;
+ 
+ 548 
+ Ãxt
+  = 
+ 	`»gÃxt
+ (
+ sÿn
+ );
+ 
+ 551 
+ 	`OP
+ (
+ sÿn
+ )) {
+ 
+ 552 
+ BOL
+ :
+ 
+ 553 ià(
+ locšput
+  =ð
+ »gbÞ
+  ? 
+ »g´ev
+  == '\n' :
+ 
+ 554 ((
+ Ãxtch¬
+  || 
+ locšput
+  < 
+ »geÞ
+ ) &&
+ 
+ 555 
+ locšput
+ [-1] == '\n') )
+ 
+ 561 
+ EOL
+ :
+ 
+ 562 ià((
+ Ãxtch¬
+  || 
+ locšput
+  < 
+ »geÞ
+ ) &&‚extchar != '\n')
+ 
+ 564 ià(!
+ muÉžše
+  && 
+ »geÞ
+  - 
+ locšput
+  > 1)
+ 
+ 568 
+ ANY
+ :
+ 
+ 569 ià((
+ Ãxtch¬
+  =ð'\0' && 
+ locšput
+  >ð
+ »geÞ
+ ) ||
+ 
+ 570 
+ Ãxtch¬
+  == '\n')
+ 
+ 572 
+ Ãxtch¬
+  = *++
+ locšput
+ ;
+ 
+ 574 
+ EXACTLY
+ :
+ 
+ 575 
+ s
+  = 
+ 	`OPERAND
+ (
+ sÿn
+ );
+ 
+ 576 
+ Ê
+  = *
+ s
+ ++;
+ 
+ 578 ià(*
+ s
+  !ð
+ Ãxtch¬
+ )
+ 
+ 580 ià(
+ »geÞ
+  - 
+ locšput
+  < 
+ Ê
+ )
+ 
+ 582 ià(
+ Ê
+  > 1 && 
+ 	`bcmp
+ (
+ s
+ , 
+ locšput
+ ,†n) != 0)
+ 
+ 584 
+ locšput
+  +ð
+ Ê
+ ;
+ 
+ 585 
+ Ãxtch¬
+  = *
+ locšput
+ ;
+ 
+ 587 
+ ANYOF
+ :
+ 
+ 588 
+ s
+  = 
+ 	`OPERAND
+ (
+ sÿn
+ );
+ 
+ 589 ià(
+ Ãxtch¬
+  < 0)
+ 
+ 590 
+ Ãxtch¬
+  = 
+ 	`UCHARAT
+ (
+ locšput
+ );
+ 
+ 591 ià(
+ s
+ [
+ Ãxtch¬
+  >> 3] & (1 << (nextchar&7)))
+ 
+ 593 ià(!
+ Ãxtch¬
+  && 
+ locšput
+  >ð
+ »geÞ
+ )
+ 
+ 595 
+ Ãxtch¬
+  = *++
+ locšput
+ ;
+ 
+ 597 
+ ALNUM
+ :
+ 
+ 598 ià(!
+ Ãxtch¬
+ )
+ 
+ 600 ià(!
+ 	`isALNUM
+ (
+ Ãxtch¬
+ ))
+ 
+ 602 
+ Ãxtch¬
+  = *++
+ locšput
+ ;
+ 
+ 604 
+ NALNUM
+ :
+ 
+ 605 ià(!
+ Ãxtch¬
+  && 
+ locšput
+  >ð
+ »geÞ
+ )
+ 
+ 607 ià(
+ 	`isALNUM
+ (
+ Ãxtch¬
+ ))
+ 
+ 609 
+ Ãxtch¬
+  = *++
+ locšput
+ ;
+ 
+ 611 
+ NBOUND
+ :
+ 
+ 612 
+ BOUND
+ :
+ 
+ 613 ià(
+ locšput
+  =ð
+ »gbÞ
+ )
+ 
+ 614 
+ Ê
+  = 
+ 	`isALNUM
+ (
+ »g´ev
+ );
+ 
+ 616 
+ Ê
+  = 
+ 	`isALNUM
+ (
+ locšput
+ [-1]);
+ 
+ 617 
+ n
+  = 
+ 	`isALNUM
+ (
+ Ãxtch¬
+ );
+ 
+ 618 ià((
+ Ê
+  =ð
+ n
+ è=ð(
+ 	`OP
+ (
+ sÿn
+ è=ð
+ BOUND
+ ))
+ 
+ 621 
+ SPACE
+ :
+ 
+ 622 ià(!
+ Ãxtch¬
+  && 
+ locšput
+  >ð
+ »geÞ
+ )
+ 
+ 624 ià(!
+ 	`isSPACE
+ (
+ Ãxtch¬
+ ))
+ 
+ 626 
+ Ãxtch¬
+  = *++
+ locšput
+ ;
+ 
+ 628 
+ NSPACE
+ :
+ 
+ 629 ià(!
+ Ãxtch¬
+ )
+ 
+ 631 ià(
+ 	`isSPACE
+ (
+ Ãxtch¬
+ ))
+ 
+ 633 
+ Ãxtch¬
+  = *++
+ locšput
+ ;
+ 
+ 635 
+ DIGIT
+ :
+ 
+ 636 ià(!
+ 	`isDIGIT
+ (
+ Ãxtch¬
+ ))
+ 
+ 638 
+ Ãxtch¬
+  = *++
+ locšput
+ ;
+ 
+ 640 
+ NDIGIT
+ :
+ 
+ 641 ià(!
+ Ãxtch¬
+  && 
+ locšput
+  >ð
+ »geÞ
+ )
+ 
+ 643 ià(
+ 	`isDIGIT
+ (
+ Ãxtch¬
+ ))
+ 
+ 645 
+ Ãxtch¬
+  = *++
+ locšput
+ ;
+ 
+ 647 
+ REF
+ :
+ 
+ 648 
+ n
+  = 
+ 	`ARG1
+ (
+ sÿn
+ );
+ 
+ 649 
+ s
+  = 
+ »gmy¡¬
+ [
+ n
+ ];
+ 
+ 650 ià(!
+ s
+ )
+ 
+ 652 ià(!
+ »gmy’dp
+ [
+ n
+ ])
+ 
+ 654 ià(
+ s
+  =ð
+ »gmy’dp
+ [
+ n
+ ])
+ 
+ 657 ià(*
+ s
+  !ð
+ Ãxtch¬
+ )
+ 
+ 659 
+ Ê
+  = 
+ »gmy’dp
+ [
+ n
+ ] - 
+ s
+ ;
+ 
+ 660 ià(
+ locšput
+  + 
+ Ê
+  > 
+ »geÞ
+ )
+ 
+ 662 ià(
+ Ê
+  > 1 && 
+ 	`bcmp
+ (
+ s
+ , 
+ locšput
+ ,†n) != 0)
+ 
+ 664 
+ locšput
+  +ð
+ Ê
+ ;
+ 
+ 665 
+ Ãxtch¬
+  = *
+ locšput
+ ;
+ 
+ 668 
+ NOTHING
+ :
+ 
+ 670 
+ BACK
+ :
+ 
+ 672 
+ OPEN
+ :
+ 
+ 673 
+ n
+  = 
+ 	`ARG1
+ (
+ sÿn
+ );
+ 
+ 674 
+ »gšput
+  = 
+ locšput
+ ;
+ 
+ 676 
+ »gmy¡¬
+ [
+ n
+ ] = 
+ locšput
+ ;
+ 
+ 677 ià(
+ 	`»gm©ch
+ (
+ Ãxt
+ )) {
+ 
+ 683 ià(
+ »g¡¬
+ [
+ n
+ ] =ð
+ NULL
+ )
+ 
+ 684 
+ »g¡¬
+ [
+ n
+ ] = 
+ locšput
+ ;
+ 
+ 689 
+ CLOSE
+ : {
+ 
+ 690 
+ n
+  = 
+ 	`ARG1
+ (
+ sÿn
+ );
+ 
+ 691 
+ »gšput
+  = 
+ locšput
+ ;
+ 
+ 693 
+ »gmy’dp
+ [
+ n
+ ] = 
+ locšput
+ ;
+ 
+ 694 ià(
+ 	`»gm©ch
+ (
+ Ãxt
+ )) {
+ 
+ 700 ià(
+ »g’dp
+ [
+ n
+ ] =ð
+ NULL
+ ) {
+ 
+ 701 
+ »g’dp
+ [
+ n
+ ] = 
+ locšput
+ ;
+ 
+ 702 ià(
+ n
+  > *
+ »gÏ¡·»n
+ )
+ 
+ 703 *
+ »gÏ¡·»n
+  = 
+ n
+ ;
+ 
+ 710 
+ BRANCH
+ : {
+ 
+ 711 ià(
+ 	`OP
+ (
+ Ãxt
+ è!ð
+ BRANCH
+ )
+ 
+ 712 
+ Ãxt
+  = 
+ 	`NEXTOPER
+ (
+ sÿn
+ );
+ 
+ 715 
+ »gšput
+  = 
+ locšput
+ ;
+ 
+ 716 ià(
+ 	`»gm©ch
+ (
+ 	`NEXTOPER
+ (
+ sÿn
+ )))
+ 
+ 718 #ifdeà
+ REGALIGN
+ 
+ 
+ 719 ià(
+ n
+  = 
+ 	`NEXT
+ (
+ sÿn
+ ))
+ 
+ 720 
+ sÿn
+  +ð
+ n
+ ;
+ 
+ 722 
+ sÿn
+  = 
+ NULL
+ ;
+ 
+ 724 
+ sÿn
+  = 
+ 	`»gÃxt
+ (scan);
+ 
+ 726 } 
+ sÿn
+  !ð
+ NULL
+  && 
+ 	`OP
+ (sÿnè=ð
+ BRANCH
+ );
+ 
+ 732 
+ CURLY
+ :
+ 
+ 733 
+ Ê
+  = 
+ 	`ARG1
+ (
+ sÿn
+ );
+ 
+ 734 
+ n
+  = 
+ 	`ARG2
+ (
+ sÿn
+ );
+ 
+ 735 
+ sÿn
+  = 
+ 	`NEXTOPER
+ (scan) + 4;
+ 
+ 736 
+ »³©
+ ;
+ 
+ 737 
+ STAR
+ :
+ 
+ 738 
+ Ê
+  = 0;
+ 
+ 739 
+ n
+  = 0;
+ 
+ 740 
+ sÿn
+  = 
+ 	`NEXTOPER
+ (scan);
+ 
+ 741 
+ »³©
+ ;
+ 
+ 742 
+ PLUS
+ :
+ 
+ 747 
+ Ê
+  = 1;
+ 
+ 748 
+ n
+  = 0;
+ 
+ 749 
+ sÿn
+  = 
+ 	`NEXTOPER
+ (scan);
+ 
+ 750 
+ »³©
+ :
+ 
+ 751 ià(
+ 	`OP
+ (
+ Ãxt
+ è=ð
+ EXACTLY
+ )
+ 
+ 752 
+ Ãxtch¬
+  = *(
+ 	`OPERAND
+ (
+ Ãxt
+ )+1);
+ 
+ 754 
+ Ãxtch¬
+  = -1000;
+ 
+ 755 
+ »gšput
+  = 
+ locšput
+ ;
+ 
+ 756 
+ n
+  = 
+ 	`»g»³©
+ (
+ sÿn
+ ,‚);
+ 
+ 757 ià(!
+ muÉžše
+  && 
+ 	`OP
+ (
+ Ãxt
+ è=ð
+ EOL
+  && 
+ Ê
+  < 
+ n
+ )
+ 
+ 758 
+ Ê
+  = 
+ n
+ ;
+ 
+ 759 
+ n
+  >ð
+ Ê
+ ) {
+ 
+ 761 ià(
+ Ãxtch¬
+  =ð-1000 || *
+ »gšput
+  ==‚extchar)
+ 
+ 762 ià(
+ 	`»gm©ch
+ (
+ Ãxt
+ ))
+ 
+ 765 
+ n
+ --;
+ 
+ 766 
+ »gšput
+  = 
+ locšput
+  + 
+ n
+ ;
+ 
+ 769 
+ END
+ :
+ 
+ 770 
+ »gšput
+  = 
+ locšput
+ ;
+ 
+ 773 
+ 	`´štf
+ ("%x %d\n",
+ sÿn
+ ,scan[1]);
+ 
+ 774 
+ 	`FAIL
+ ("regexp memory corruption");
+ 
+ 777 
+ sÿn
+  = 
+ Ãxt
+ ;
+ 
+ 784 
+ 	`FAIL
+ ("corrupted„egexp…ointers");
+ 
+ 786 #ifdeà
+ lšt
+ 
+ 
+ 789 
+ 	}
+ }
+ 
+ 800 
+ 	$»g»³©
+ (
+ p
+ , 
+ max
+ )
+ 
+ 801 *
+ p
+ ;
+ 
+ 802 
+ max
+ ;
+ 
+ 804 *
+ sÿn
+ ;
+ 
+ 805 *
+ Ýnd
+ ;
+ 
+ 806 
+ c
+ ;
+ 
+ 807 *
+ loûÞ
+  = 
+ »geÞ
+ ;
+ 
+ 809 
+ sÿn
+  = 
+ »gšput
+ ;
+ 
+ 810 ià(
+ max
+  && max < 
+ loûÞ
+  - 
+ sÿn
+ )
+ 
+ 811 
+ loûÞ
+  = 
+ sÿn
+  + 
+ max
+ ;
+ 
+ 812 
+ Ýnd
+  = 
+ 	`OPERAND
+ (
+ p
+ );
+ 
+ 813 
+ 	`OP
+ (
+ p
+ )) {
+ 
+ 814 
+ ANY
+ :
+ 
+ 815 
+ sÿn
+  < 
+ loûÞ
+  && *scan != '\n')
+ 
+ 816 
+ sÿn
+ ++;
+ 
+ 818 
+ EXACTLY
+ :
+ 
+ 819 
+ Ýnd
+ ++;
+ 
+ 820 
+ sÿn
+  < 
+ loûÞ
+  && *
+ Ýnd
+  == *scan)
+ 
+ 821 
+ sÿn
+ ++;
+ 
+ 823 
+ ANYOF
+ :
+ 
+ 824 
+ c
+  = 
+ 	`UCHARAT
+ (
+ sÿn
+ );
+ 
+ 825 
+ sÿn
+  < 
+ loûÞ
+  && !(
+ Ýnd
+ [
+ c
+  >> 3] & (1 << (c & 7)))) {
+ 
+ 826 
+ sÿn
+ ++;
+ 
+ 827 
+ c
+  = 
+ 	`UCHARAT
+ (
+ sÿn
+ );
+ 
+ 830 
+ ALNUM
+ :
+ 
+ 831 
+ sÿn
+  < 
+ loûÞ
+  && 
+ 	`isALNUM
+ (*scan))
+ 
+ 832 
+ sÿn
+ ++;
+ 
+ 834 
+ NALNUM
+ :
+ 
+ 835 
+ sÿn
+  < 
+ loûÞ
+  && !
+ 	`isALNUM
+ (*scan))
+ 
+ 836 
+ sÿn
+ ++;
+ 
+ 838 
+ SPACE
+ :
+ 
+ 839 
+ sÿn
+  < 
+ loûÞ
+  && 
+ 	`isSPACE
+ (*scan))
+ 
+ 840 
+ sÿn
+ ++;
+ 
+ 842 
+ NSPACE
+ :
+ 
+ 843 
+ sÿn
+  < 
+ loûÞ
+  && !
+ 	`isSPACE
+ (*scan))
+ 
+ 844 
+ sÿn
+ ++;
+ 
+ 846 
+ DIGIT
+ :
+ 
+ 847 
+ sÿn
+  < 
+ loûÞ
+  && 
+ 	`isDIGIT
+ (*scan))
+ 
+ 848 
+ sÿn
+ ++;
+ 
+ 850 
+ NDIGIT
+ :
+ 
+ 851 
+ sÿn
+  < 
+ loûÞ
+  && !
+ 	`isDIGIT
+ (*scan))
+ 
+ 852 
+ sÿn
+ ++;
+ 
+ 855 
+ 	`FAIL
+ ("internal„egexp foulup");
+ 
+ 859 
+ c
+  = 
+ sÿn
+  - 
+ »gšput
+ ;
+ 
+ 860 
+ »gšput
+  = 
+ sÿn
+ ;
+ 
+ 862 (
+ c
+ );
+ 
+ 863 
+ 	}
+ }
+ 
+ 872 
+ 	$»gÃxt
+ (
+ p
+ )
+ 
+ 873 *
+ p
+ ;
+ 
+ 875 
+ off£t
+ ;
+ 
+ 877 ià(
+ p
+  =ð&
+ »gdummy
+ )
+ 
+ 878 (
+ NULL
+ );
+ 
+ 880 
+ off£t
+  = 
+ 	`NEXT
+ (
+ p
+ );
+ 
+ 881 ià(
+ off£t
+  == 0)
+ 
+ 882 (
+ NULL
+ );
+ 
+ 884 #ifdeà
+ REGALIGN
+ 
+ 
+ 885 (
+ p
+ +
+ off£t
+ );
+ 
+ 887 ià(
+ 	`OP
+ (
+ p
+ è=ð
+ BACK
+ )
+ 
+ 888 (
+ p
+ -
+ off£t
+ );
+ 
+ 890 (
+ p
+ +
+ off£t
+ );
+ 
+ 892 
+ 	}
+ }
+ 
+ 	@regexp.h
+ 
+ 16 
+ 	s»gexp
+  {
+ 
+ 17 **
+ 	m¡¬
+ ;
+ 
+ 18 **
+ 	m’dp
+ ;
+ 
+ 19 
+ STR
+  *
+ 	m»g¡¬t
+ ;
+ 
+ 20 *
+ 	m»g¡þass
+ ;
+ 
+ 21 
+ STR
+  *
+ 	m»gmu¡
+ ;
+ 
+ 22 
+ 	m»gback
+ ;
+ 
+ 23 *
+ 	m´ecomp
+ ;
+ 
+ 24 *
+ 	msubba£
+ ;
+ 
+ 25 *
+ 	msub’d
+ ;
+ 
+ 26 
+ 	m»gªch
+ ;
+ 
+ 27 
+ 	mdo_fÞdšg
+ ;
+ 
+ 28 
+ 	mÏ¡·»n
+ ;
+ 
+ 29 
+ 	mŬ’s
+ ;
+ 
+ 30 
+ 	m´og¿m
+ [1];
+ 
+ 31 } 
+ 	t»gexp
+ ;
+ 
+ 33 
+ »gexp
+  *
+ »gcomp
+ ();
+ 
+ 34 
+ »gexec
+ ();
+ 
+ 	@spat.h
+ 
+ 14 
+ 	ssÿÅ©
+  {
+ 
+ 15 
+ SPAT
+  *
+ 	m¥©_Ãxt
+ ;
+ 
+ 16 
+ REGEXP
+  *
+ 	m¥©_»gexp
+ ;
+ 
+ 17 
+ ARG
+  *
+ 	m¥©_»¶
+ ;
+ 
+ 18 
+ ARG
+  *
+ 	m¥©_ruÁime
+ ;
+ 
+ 19 
+ STR
+  *
+ 	m¥©_shÜt
+ ;
+ 
+ 20 
+ boÞ
+  
+ 	m¥©_æags
+ ;
+ 
+ 21 
+ 	m¥©_¦’
+ ;
+ 
+ 24 
+ 	#SPAT_USED
+  1
+ 
+ 	)
+ 
+ 25 
+ 	#SPAT_ONCE
+  2
+ 
+ 	)
+ 
+ 26 
+ 	#SPAT_SCANFIRST
+  4
+ 
+ 	)
+ 
+ 27 
+ 	#SPAT_ALL
+  8
+ 
+ 	)
+ 
+ 28 
+ 	#SPAT_SKIPWHITE
+  16
+ 
+ 	)
+ 
+ 29 
+ 	#SPAT_FOLD
+  32
+ 
+ 	)
+ 
+ 30 
+ 	#SPAT_CONST
+  64
+ 
+ 	)
+ 
+ 31 
+ 	#SPAT_KEEP
+  128
+ 
+ 	)
+ 
+ 33 
+ EXT
+  
+ SPAT
+  *
+ 	gcur¥©
+ ;
+ 
+ 34 
+ EXT
+  
+ SPAT
+  *
+ 	gÏ¡¥©
+ ;
+ 
+ 36 
+ EXT
+  *
+ hšt
+  
+ INIT
+ (
+ NuÎch
+ );
+ 
+ 38 
+ 	#Nu봩
+  
+ 	`NuÎ
+ (
+ SPAT
+ *)
+ 
+ 	)
+ 
+ 	@stab.c
+ 
+ 18 
+ 	~"EXTERN.h
+ "
+ 
+ 19 
+ 	~"³¾.h
+ "
+ 
+ 21 #ià!
+ defšed
+ (
+ NSIG
+ è|| defšed(
+ M_UNIX
+ è|| defšed(
+ M_XENIX
+ )
+ 
+ 22 
+ 	~<sigÇl.h
+ >
+ 
+ 25 *
+ 	gsig_Çme
+ [] = {
+ 
+ 26 
+ SIG_NAME
+ ,0
+ 
+ 29 #ifdeà
+ VOIDSIG
+ 
+ 
+ 30 
+ 	#hªd˹y³
+  
+ 
+ 	)
+ 
+ 32 
+ 	#hªd˹y³
+  
+ 
+ 	)
+ 
+ 35 
+ hªd˹y³
+  
+ sighªdËr
+ ();
+ 
+ 37 
+ 	gÜig®’
+  = 0;
+ 
+ 39 
+ STR
+  *
+ 
+ 40 
+ 	$¡ab_¡r
+ (
+ ¡r
+ )
+ 
+ 41 
+ STR
+  *
+ ¡r
+ ;
+ 
+ 43 
+ STAB
+  *
+ ¡ab
+  = 
+ ¡r
+ ->
+ ¡r_u
+ .
+ ¡r_¡ab
+ ;
+ 
+ 44 
+ ·»n
+ ;
+ 
+ 45 *
+ s
+ ;
+ 
+ 46 
+ i
+ ;
+ 
+ 48 ià(
+ ¡r
+ ->
+ ¡r_¿»
+ )
+ 
+ 49  
+ 	`¡ab_v®
+ (
+ ¡ab
+ );
+ 
+ 51 *
+ ¡ab
+ ->
+ ¡r_magic
+ ->
+ ¡r_±r
+ ) {
+ 
+ 53 #ifdeà
+ DEBUGGING
+ 
+ 
+ 54 
+ 	`¡r_num£t
+ (
+ 	`¡ab_v®
+ (
+ ¡ab
+ ),()(
+ debug
+  & 32767));
+ 
+ 58 ià(
+ š¶aû
+ )
+ 
+ 59 
+ 	`¡r_£t
+ (
+ 	`¡ab_v®
+ (
+ ¡ab
+ ), 
+ š¶aû
+ );
+ 
+ 61 
+ 	`¡r_s£t
+ (
+ 	`¡ab_v®
+ (
+ ¡ab
+ ),&
+ ¡r_undef
+ );
+ 
+ 64 
+ 	`¡r_num£t
+ (
+ 	`¡ab_v®
+ (
+ ¡ab
+ ),()
+ ba£time
+ );
+ 
+ 67 
+ 	`¡r_num£t
+ (
+ 	`¡ab_v®
+ (
+ ¡ab
+ ),()
+ dow¬n
+ );
+ 
+ 71 ià(
+ cur¥©
+ ) {
+ 
+ 72 
+ ·»n
+  = 
+ 	`©oi
+ (
+ 	`¡ab_Çme
+ (
+ ¡ab
+ ));
+ 
+ 73 
+ g‘·»n
+ :
+ 
+ 74 ià(
+ cur¥©
+ ->
+ ¥©_»gexp
+  &&
+ 
+ 75 
+ ·»n
+  <ð
+ cur¥©
+ ->
+ ¥©_»gexp
+ ->
+ Ŭ’s
+  &&
+ 
+ 76 (
+ s
+  = 
+ cur¥©
+ ->
+ ¥©_»gexp
+ ->
+ ¡¬
+ [
+ ·»n
+ ]) ) {
+ 
+ 77 
+ i
+  = 
+ cur¥©
+ ->
+ ¥©_»gexp
+ ->
+ ’dp
+ [
+ ·»n
+ ] - 
+ s
+ ;
+ 
+ 78 ià(
+ i
+  >= 0)
+ 
+ 79 
+ 	`¡r_n£t
+ (
+ 	`¡ab_v®
+ (
+ ¡ab
+ ),
+ s
+ ,
+ i
+ );
+ 
+ 81 
+ 	`¡r_s£t
+ (
+ 	`¡ab_v®
+ (
+ ¡ab
+ ),&
+ ¡r_undef
+ );
+ 
+ 84 
+ 	`¡r_s£t
+ (
+ 	`¡ab_v®
+ (
+ ¡ab
+ ),&
+ ¡r_undef
+ );
+ 
+ 88 ià(
+ cur¥©
+ ) {
+ 
+ 89 
+ ·»n
+  = 
+ cur¥©
+ ->
+ ¥©_»gexp
+ ->
+ Ï¡·»n
+ ;
+ 
+ 90 
+ g‘·»n
+ ;
+ 
+ 94 ià(
+ cur¥©
+ ) {
+ 
+ 95 ià(
+ cur¥©
+ ->
+ ¥©_»gexp
+  &&
+ 
+ 96 (
+ s
+  = 
+ cur¥©
+ ->
+ ¥©_»gexp
+ ->
+ subba£
+ ) ) {
+ 
+ 97 
+ i
+  = 
+ cur¥©
+ ->
+ ¥©_»gexp
+ ->
+ ¡¬
+ [0] - 
+ s
+ ;
+ 
+ 98 ià(
+ i
+  >= 0)
+ 
+ 99 
+ 	`¡r_n£t
+ (
+ 	`¡ab_v®
+ (
+ ¡ab
+ ),
+ s
+ ,
+ i
+ );
+ 
+ 101 
+ 	`¡r_n£t
+ (
+ 	`¡ab_v®
+ (
+ ¡ab
+ ),"",0);
+ 
+ 104 
+ 	`¡r_n£t
+ (
+ 	`¡ab_v®
+ (
+ ¡ab
+ ),"",0);
+ 
+ 108 ià(
+ cur¥©
+ ) {
+ 
+ 109 ià(
+ cur¥©
+ ->
+ ¥©_»gexp
+  &&
+ 
+ 110 (
+ s
+  = 
+ cur¥©
+ ->
+ ¥©_»gexp
+ ->
+ ’dp
+ [0]) ) {
+ 
+ 111 
+ 	`¡r_n£t
+ (
+ 	`¡ab_v®
+ (
+ ¡ab
+ ),
+ s
+ , 
+ cur¥©
+ ->
+ ¥©_»gexp
+ ->
+ sub’d
+  - s);
+ 
+ 114 
+ 	`¡r_n£t
+ (
+ 	`¡ab_v®
+ (
+ ¡ab
+ ),"",0);
+ 
+ 118 #iâdeà
+ lšt
+ 
+ 
+ 119 ià(
+ Ï¡_š_¡ab
+ ) {
+ 
+ 120 
+ 	`¡r_num£t
+ (
+ 	`¡ab_v®
+ (
+ ¡ab
+ ),()
+ 	`¡ab_io
+ (
+ Ï¡_š_¡ab
+ )->
+ lšes
+ );
+ 
+ 125 
+ 	`¡r_num£t
+ (
+ 	`¡ab_v®
+ (
+ ¡ab
+ ),()
+ ¡©usv®ue
+ );
+ 
+ 128 
+ s
+  = 
+ 	`¡ab_io
+ (
+ curout¡ab
+ )->
+ tÝ_Çme
+ ;
+ 
+ 129 
+ 	`¡r_£t
+ (
+ 	`¡ab_v®
+ (
+ ¡ab
+ ),
+ s
+ );
+ 
+ 132 
+ s
+  = 
+ 	`¡ab_io
+ (
+ curout¡ab
+ )->
+ fmt_Çme
+ ;
+ 
+ 133 
+ 	`¡r_£t
+ (
+ 	`¡ab_v®
+ (
+ ¡ab
+ ),
+ s
+ );
+ 
+ 135 #iâdeà
+ lšt
+ 
+ 
+ 137 
+ 	`¡r_num£t
+ (
+ 	`¡ab_v®
+ (
+ ¡ab
+ ),()
+ 	`¡ab_io
+ (
+ curout¡ab
+ )->
+ ·ge_Ën
+ );
+ 
+ 140 
+ 	`¡r_num£t
+ (
+ 	`¡ab_v®
+ (
+ ¡ab
+ ),()
+ 	`¡ab_io
+ (
+ curout¡ab
+ )->
+ lšes_Ëá
+ );
+ 
+ 143 
+ 	`¡r_num£t
+ (
+ 	`¡ab_v®
+ (
+ ¡ab
+ ),()
+ 	`¡ab_io
+ (
+ curout¡ab
+ )->
+ ·ge
+ );
+ 
+ 149 
+ 	`¡r_num£t
+ (
+ 	`¡ab_v®
+ (
+ ¡ab
+ ),()
+ ¬yba£
+ );
+ 
+ 152 ià(!
+ 	`¡ab_io
+ (
+ curout¡ab
+ ))
+ 
+ 153 
+ 	`¡ab_io
+ (
+ curout¡ab
+ èð
+ 	`¡io_Ãw
+ ();
+ 
+ 154 
+ 	`¡r_num£t
+ (
+ 	`¡ab_v®
+ (
+ ¡ab
+ ),
+ 
+ 155 ()((
+ 	`¡ab_io
+ (
+ curout¡ab
+ )->
+ æags
+  & 
+ IOF_FLUSH
+ ) != 0) );
+ 
+ 158 
+ 	`¡r_n£t
+ (
+ 	`¡ab_v®
+ (
+ ¡ab
+ ),
+ ofs
+ ,
+ of¦’
+ );
+ 
+ 161 
+ 	`¡r_n£t
+ (
+ 	`¡ab_v®
+ (
+ ¡ab
+ ),
+ Üs
+ ,
+ ܦ’
+ );
+ 
+ 164 
+ 	`¡r_£t
+ (
+ 	`¡ab_v®
+ (
+ ¡ab
+ ),
+ ofmt
+ );
+ 
+ 167 
+ 	`¡r_num£t
+ (
+ 	`¡ab_v®
+ (
+ ¡ab
+ ), ()
+ Ӽo
+ );
+ 
+ 168 
+ 	`¡r_£t
+ (
+ 	`¡ab_v®
+ (
+ ¡ab
+ ), 
+ Ӽo
+  ? 
+ 	`¡»¼Ü
+ (errno) : "");
+ 
+ 169 
+ 	`¡ab_v®
+ (
+ ¡ab
+ )->
+ ¡r_nok
+  = 1;
+ 
+ 172 
+ 	`¡r_num£t
+ (
+ 	`¡ab_v®
+ (
+ ¡ab
+ ),()
+ uid
+ );
+ 
+ 175 
+ 	`¡r_num£t
+ (
+ 	`¡ab_v®
+ (
+ ¡ab
+ ),()
+ euid
+ );
+ 
+ 178 
+ s
+  = 
+ buf
+ ;
+ 
+ 179 ()
+ 	`¥rštf
+ (
+ s
+ ,"%d",()
+ gid
+ );
+ 
+ 180 
+ add_groups
+ ;
+ 
+ 182 
+ s
+  = 
+ buf
+ ;
+ 
+ 183 ()
+ 	`¥rštf
+ (
+ s
+ ,"%d",()
+ egid
+ );
+ 
+ 184 
+ add_groups
+ :
+ 
+ 185 *
+ s
+ ) s++;
+ 
+ 186 #ifdeà
+ HAS_GETGROUPS
+ 
+ 
+ 187 #iâdeà
+ NGROUPS
+ 
+ 
+ 188 
+ 	#NGROUPS
+  32
+ 
+ 	)
+ 
+ 191 
+ GROUPSTYPE
+  
+ g¬y
+ [
+ NGROUPS
+ ];
+ 
+ 193 
+ i
+  = 
+ 	`g‘groups
+ (
+ NGROUPS
+ ,
+ g¬y
+ );
+ 
+ 194 --
+ i
+  >= 0) {
+ 
+ 195 ()
+ 	`¥rštf
+ (
+ s
+ ," %ld", ()
+ g¬y
+ [
+ i
+ ]);
+ 
+ 196 *
+ s
+ ) s++;
+ 
+ 200 
+ 	`¡r_£t
+ (
+ 	`¡ab_v®
+ (
+ ¡ab
+ ),
+ buf
+ );
+ 
+ 208 
+ ufuncs
+  *
+ uf
+  = (ufunc *)
+ ¡r
+ ->
+ ¡r_±r
+ ;
+ 
+ 210 ià(
+ uf
+  && uf->
+ uf_v®
+ )
+ 
+ 211 (*
+ uf
+ ->
+ uf_v®
+ )(uf->
+ uf_šdex
+ , 
+ 	`¡ab_v®
+ (
+ ¡ab
+ ));
+ 
+ 215  
+ 	`¡ab_v®
+ (
+ ¡ab
+ );
+ 
+ 216 
+ 	}
+ }
+ 
+ 218 
+ 	$¡ab£t
+ (
+ m¡r
+ ,
+ ¡r
+ )
+ 
+ 219 
+ STR
+  *
+ m¡r
+ ;
+ 
+ 220 
+ STR
+  *
+ ¡r
+ ;
+ 
+ 222 
+ STAB
+  *
+ ¡ab
+  = 
+ m¡r
+ ->
+ ¡r_u
+ .
+ ¡r_¡ab
+ ;
+ 
+ 223 *
+ s
+ ;
+ 
+ 224 
+ i
+ ;
+ 
+ 226 
+ m¡r
+ ->
+ ¡r_¿»
+ ) {
+ 
+ 228 
+ 	`my_£‹nv
+ (
+ m¡r
+ ->
+ ¡r_±r
+ ,
+ 	`¡r_g‘
+ (
+ ¡r
+ ));
+ 
+ 231 #ifdeà
+ TAINT
+ 
+ 
+ 232 ià(
+ 	`¡rEQ
+ (
+ m¡r
+ ->
+ ¡r_±r
+ ,"PATH")) {
+ 
+ 233 *
+ ¡»nd
+  = 
+ ¡r
+ ->
+ ¡r_±r
+  + sŒ->
+ ¡r_cur
+ ;
+ 
+ 235 
+ s
+  = 
+ ¡r
+ ->
+ ¡r_±r
+ ;
+ 
+ 236 
+ s
+  < 
+ ¡»nd
+ ) {
+ 
+ 237 
+ s
+  = 
+ 	`ýytžl
+ (
+ tok’buf
+ ,s,
+ ¡»nd
+ ,':',&
+ i
+ );
+ 
+ 238 
+ s
+ ++;
+ 
+ 239 ià(*
+ tok’buf
+  != '/'
+ 
+ 240 || (
+ 	`¡©
+ (
+ tok’buf
+ ,&
+ ¡©buf
+ è&& (¡©buf.
+ ¡_mode
+  & 2)) )
+ 
+ 241 
+ ¡r
+ ->
+ ¡r_š‹d
+  = 2;
+ 
+ 247 
+ s
+  = 
+ 	`¡r_g‘
+ (
+ ¡r
+ );
+ 
+ 248 
+ i
+  = 
+ 	`whichsig
+ (
+ m¡r
+ ->
+ ¡r_±r
+ );
+ 
+ 249 ià(
+ 	`¡rEQ
+ (
+ s
+ ,"IGNORE"))
+ 
+ 250 #iâdeà
+ lšt
+ 
+ 
+ 251 ()
+ 	`sigÇl
+ (
+ i
+ ,
+ SIG_IGN
+ );
+ 
+ 255 ià(
+ 	`¡rEQ
+ (
+ s
+ ,"DEFAULT") || !*s)
+ 
+ 256 ()
+ 	`sigÇl
+ (
+ i
+ ,
+ SIG_DFL
+ );
+ 
+ 258 ()
+ 	`sigÇl
+ (
+ i
+ ,
+ sighªdËr
+ );
+ 
+ 259 ià(!
+ 	`šdex
+ (
+ s
+ ,'\'')) {
+ 
+ 260 
+ 	`¥rštf
+ (
+ tok’buf
+ , "maš'%s",
+ s
+ );
+ 
+ 261 
+ 	`¡r_£t
+ (
+ ¡r
+ ,
+ tok’buf
+ );
+ 
+ 265 #ifdeà
+ SOME_DBM
+ 
+ 
+ 267 
+ 	`hdbm¡Üe
+ (
+ 	`¡ab_hash
+ (
+ ¡ab
+ ),
+ m¡r
+ ->
+ ¡r_±r
+ ,m¡r->
+ ¡r_cur
+ ,
+ ¡r
+ );
+ 
+ 272 
+ CMD
+  *
+ cmd
+ ;
+ 
+ 274 
+ i
+  = 
+ 	`¡r_Œue
+ (
+ ¡r
+ );
+ 
+ 275 
+ ¡r
+  = 
+ 	`aãtch
+ (
+ 	`¡ab_x¬¿y
+ (
+ ¡ab
+ ),
+ 	`©oi
+ (
+ m¡r
+ ->
+ ¡r_±r
+ ), 
+ FALSE
+ );
+ 
+ 276 
+ cmd
+  = 
+ ¡r
+ ->
+ ¡r_magic
+ ->
+ ¡r_u
+ .
+ ¡r_cmd
+ ;
+ 
+ 277 
+ cmd
+ ->
+ c_æags
+  &ð~
+ CF_OPTIMIZE
+ ;
+ 
+ 278 
+ cmd
+ ->
+ c_æags
+  |ð
+ i
+ ? 
+ CFT_D1
+  : 
+ CFT_D0
+ ;
+ 
+ 282 
+ 	`afžl
+ (
+ 	`¡ab_¬¿y
+ (
+ ¡ab
+ ), ()
+ 	`¡r_gnum
+ (
+ ¡r
+ è- 
+ ¬yba£
+ );
+ 
+ 287 
+ s
+  = 
+ 	`¡r_g‘
+ (
+ ¡r
+ );
+ 
+ 288 ià(
+ 	`¡rNE
+ (
+ s
+ ,"StB"è|| 
+ ¡r
+ ->
+ ¡r_cur
+  !ð(
+ STBP
+ )) {
+ 
+ 289 ià(!*
+ s
+ ) {
+ 
+ 290 
+ STBP
+  *
+ ¡bp
+ ;
+ 
+ 292 ()
+ 	`§v’o¡ab
+ (
+ ¡ab
+ );
+ 
+ 293 ià(
+ ¡ab
+ ->
+ ¡r_Ën
+ )
+ 
+ 294 
+ 	`Saãä“
+ (
+ ¡ab
+ ->
+ ¡r_±r
+ );
+ 
+ 295 
+ 	`Newz
+ (601,
+ ¡bp
+ , 1, 
+ STBP
+ );
+ 
+ 296 
+ ¡ab
+ ->
+ ¡r_±r
+  = 
+ ¡bp
+ ;
+ 
+ 297 
+ ¡ab
+ ->
+ ¡r_Ën
+  = sb->
+ ¡r_cur
+  = (
+ STBP
+ );
+ 
+ 298 
+ ¡ab
+ ->
+ ¡r_pok
+  = 1;
+ 
+ 299 
+ 	`¡rýy
+ (
+ 	`¡ab_magic
+ (
+ ¡ab
+ ),"StB");
+ 
+ 300 
+ 	`¡ab_v®
+ (
+ ¡ab
+ èð
+ 	`SŒ_Ãw
+ (70,0);
+ 
+ 301 
+ 	`¡ab_lše
+ (
+ ¡ab
+ èð
+ curcmd
+ ->
+ c_lše
+ ;
+ 
+ 302 
+ 	`¡ab_¡ash
+ (
+ ¡ab
+ èð
+ curcmd
+ ->
+ c_¡ash
+ ;
+ 
+ 305 
+ ¡ab
+  = 
+ 	`¡ab’t
+ (
+ s
+ ,
+ TRUE
+ );
+ 
+ 306 ià(!
+ 	`¡ab_x¬¿y
+ (
+ ¡ab
+ ))
+ 
+ 307 
+ 	`¯dd
+ (
+ ¡ab
+ );
+ 
+ 308 ià(!
+ 	`¡ab_xhash
+ (
+ ¡ab
+ ))
+ 
+ 309 
+ 	`hadd
+ (
+ ¡ab
+ );
+ 
+ 310 ià(!
+ 	`¡ab_io
+ (
+ ¡ab
+ ))
+ 
+ 311 
+ 	`¡ab_io
+ (
+ ¡ab
+ èð
+ 	`¡io_Ãw
+ ();
+ 
+ 313 
+ 	`¡r_s£t
+ (
+ ¡r
+ ,
+ ¡ab
+ );
+ 
+ 317 
+ l¡ršg
+  *
+ l¡r
+  = (l¡ršg*)
+ ¡r
+ ;
+ 
+ 318 *
+ tmps
+ ;
+ 
+ 320 
+ m¡r
+ ->
+ ¡r_¿»
+  = 0;
+ 
+ 321 
+ ¡r
+ ->
+ ¡r_magic
+  = 
+ NuΡr
+ ;
+ 
+ 322 
+ tmps
+  = 
+ 	`¡r_g‘
+ (
+ ¡r
+ );
+ 
+ 323 
+ 	`¡r_š£¹
+ (
+ m¡r
+ ,
+ l¡r
+ ->
+ l¡r_off£t
+ ,l¡r->
+ l¡r_Ën
+ ,
+ 
+ 324 
+ tmps
+ ,
+ ¡r
+ ->
+ ¡r_cur
+ );
+ 
+ 329 
+ 	`do_vec£t
+ (
+ m¡r
+ ,
+ ¡r
+ );
+ 
+ 333 *
+ ¡ab
+ ->
+ ¡r_magic
+ ->
+ ¡r_±r
+ ) {
+ 
+ 335 #ifdeà
+ DEBUGGING
+ 
+ 
+ 336 
+ debug
+  = ()(
+ 	`¡r_gnum
+ (
+ ¡r
+ )) | 32768;
+ 
+ 340 ià(
+ š¶aû
+ )
+ 
+ 341 
+ 	`Saãä“
+ (
+ š¶aû
+ );
+ 
+ 342 ià(
+ ¡r
+ ->
+ ¡r_pok
+  || sŒ->
+ ¡r_nok
+ )
+ 
+ 343 
+ š¶aû
+  = 
+ 	`§ve¡r
+ (
+ 	`¡r_g‘
+ (
+ ¡r
+ ));
+ 
+ 345 
+ š¶aû
+  = 
+ NuÎch
+ ;
+ 
+ 348 
+ ba£time
+  = ()
+ 	`¡r_gnum
+ (
+ ¡r
+ );
+ 
+ 351 
+ dow¬n
+  = (
+ boÞ
+ )
+ 	`¡r_gnum
+ (
+ ¡r
+ );
+ 
+ 354 ià(
+ loÿlizšg
+ )
+ 
+ 355 
+ 	`§ve¥Œ
+ ((
+ STR
+ **)&
+ Ï¡_š_¡ab
+ );
+ 
+ 358 
+ 	`Saãä“
+ (
+ 	`¡ab_io
+ (
+ curout¡ab
+ )->
+ tÝ_Çme
+ );
+ 
+ 359 
+ 	`¡ab_io
+ (
+ curout¡ab
+ )->
+ tÝ_Çme
+  = 
+ s
+  = 
+ 	`§ve¡r
+ (
+ 	`¡r_g‘
+ (
+ ¡r
+ ));
+ 
+ 360 
+ 	`¡ab_io
+ (
+ curout¡ab
+ )->
+ tÝ_¡ab
+  = 
+ 	`¡ab’t
+ (
+ s
+ ,
+ TRUE
+ );
+ 
+ 363 
+ 	`Saãä“
+ (
+ 	`¡ab_io
+ (
+ curout¡ab
+ )->
+ fmt_Çme
+ );
+ 
+ 364 
+ 	`¡ab_io
+ (
+ curout¡ab
+ )->
+ fmt_Çme
+  = 
+ s
+  = 
+ 	`§ve¡r
+ (
+ 	`¡r_g‘
+ (
+ ¡r
+ ));
+ 
+ 365 
+ 	`¡ab_io
+ (
+ curout¡ab
+ )->
+ fmt_¡ab
+  = 
+ 	`¡ab’t
+ (
+ s
+ ,
+ TRUE
+ );
+ 
+ 368 
+ 	`¡ab_io
+ (
+ curout¡ab
+ )->
+ ·ge_Ën
+  = ()
+ 	`¡r_gnum
+ (
+ ¡r
+ );
+ 
+ 371 
+ 	`¡ab_io
+ (
+ curout¡ab
+ )->
+ lšes_Ëá
+  = ()
+ 	`¡r_gnum
+ (
+ ¡r
+ );
+ 
+ 372 ià(
+ 	`¡ab_io
+ (
+ curout¡ab
+ )->
+ lšes_Ëá
+  < 0L)
+ 
+ 373 
+ 	`¡ab_io
+ (
+ curout¡ab
+ )->
+ lšes_Ëá
+  = 0L;
+ 
+ 376 
+ 	`¡ab_io
+ (
+ curout¡ab
+ )->
+ ·ge
+  = ()
+ 	`¡r_gnum
+ (
+ ¡r
+ );
+ 
+ 379 ià(!
+ 	`¡ab_io
+ (
+ curout¡ab
+ ))
+ 
+ 380 
+ 	`¡ab_io
+ (
+ curout¡ab
+ èð
+ 	`¡io_Ãw
+ ();
+ 
+ 381 
+ 	`¡ab_io
+ (
+ curout¡ab
+ )->
+ æags
+  &ð~
+ IOF_FLUSH
+ ;
+ 
+ 382 ià(
+ 	`¡r_gnum
+ (
+ ¡r
+ ) != 0.0) {
+ 
+ 383 
+ 	`¡ab_io
+ (
+ curout¡ab
+ )->
+ æags
+  |ð
+ IOF_FLUSH
+ ;
+ 
+ 387 
+ i
+  = ()
+ 	`¡r_gnum
+ (
+ ¡r
+ );
+ 
+ 388 
+ muÉžše
+  = (
+ i
+  != 0);
+ 
+ 391 ià(
+ ¡r
+ ->
+ ¡r_pok
+ ) {
+ 
+ 392 
+ rs
+  = 
+ 	`¡r_g‘
+ (
+ ¡r
+ );
+ 
+ 393 
+ r¦’
+  = 
+ ¡r
+ ->
+ ¡r_cur
+ ;
+ 
+ 394 ià(!
+ r¦’
+ ) {
+ 
+ 395 
+ rs
+  = "\n\n";
+ 
+ 396 
+ r¦’
+  = 2;
+ 
+ 398 
+ rsch¬
+  = 
+ rs
+ [
+ r¦’
+  - 1];
+ 
+ 401 
+ rsch¬
+  = 0777;
+ 
+ 402 
+ r¦’
+  = 1;
+ 
+ 406 ià(
+ Üs
+ )
+ 
+ 407 
+ 	`Saãä“
+ (
+ Üs
+ );
+ 
+ 408 
+ Üs
+  = 
+ 	`§ve¡r
+ (
+ 	`¡r_g‘
+ (
+ ¡r
+ ));
+ 
+ 409 
+ ܦ’
+  = 
+ ¡r
+ ->
+ ¡r_cur
+ ;
+ 
+ 412 ià(
+ ofs
+ )
+ 
+ 413 
+ 	`Saãä“
+ (
+ ofs
+ );
+ 
+ 414 
+ ofs
+  = 
+ 	`§ve¡r
+ (
+ 	`¡r_g‘
+ (
+ ¡r
+ ));
+ 
+ 415 
+ of¦’
+  = 
+ ¡r
+ ->
+ ¡r_cur
+ ;
+ 
+ 418 ià(
+ ofmt
+ )
+ 
+ 419 
+ 	`Saãä“
+ (
+ ofmt
+ );
+ 
+ 420 
+ ofmt
+  = 
+ 	`§ve¡r
+ (
+ 	`¡r_g‘
+ (
+ ¡r
+ ));
+ 
+ 423 
+ ¬yba£
+  = ()
+ 	`¡r_gnum
+ (
+ ¡r
+ );
+ 
+ 426 
+ ¡©usv®ue
+  = 
+ 	`U_S
+ (
+ 	`¡r_gnum
+ (
+ ¡r
+ ));
+ 
+ 429 
+ Ӽo
+  = ()
+ 	`¡r_gnum
+ (
+ ¡r
+ );
+ 
+ 432 
+ uid
+  = ()
+ 	`¡r_gnum
+ (
+ ¡r
+ );
+ 
+ 433 #ifdeà
+ HAS_SETREUID
+ 
+ 
+ 434 ià(
+ d–aymagic
+ ) {
+ 
+ 435 
+ d–aymagic
+  |ð
+ DM_REUID
+ ;
+ 
+ 439 #ifdeà
+ HAS_SETRUID
+ 
+ 
+ 440 ià(
+ 	`£Œuid
+ ((
+ UIDTYPE
+ )
+ uid
+ ) < 0)
+ 
+ 441 
+ uid
+  = ()
+ 	`g‘uid
+ ();
+ 
+ 443 #ifdeà
+ HAS_SETREUID
+ 
+ 
+ 444 ià(
+ 	`£Œeuid
+ ((
+ UIDTYPE
+ )
+ uid
+ , (UIDTYPE)-1) < 0)
+ 
+ 445 
+ uid
+  = ()
+ 	`g‘uid
+ ();
+ 
+ 447 ià(
+ uid
+  =ð
+ euid
+ )
+ 
+ 448 
+ 	`£tuid
+ (
+ uid
+ );
+ 
+ 450 
+ 	`çl
+ ("setruid()‚ot implemented");
+ 
+ 455 
+ euid
+  = ()
+ 	`¡r_gnum
+ (
+ ¡r
+ );
+ 
+ 456 #ifdeà
+ HAS_SETREUID
+ 
+ 
+ 457 ià(
+ d–aymagic
+ ) {
+ 
+ 458 
+ d–aymagic
+  |ð
+ DM_REUID
+ ;
+ 
+ 462 #ifdeà
+ HAS_SETEUID
+ 
+ 
+ 463 ià(
+ 	`£‹uid
+ ((
+ UIDTYPE
+ )
+ euid
+ ) < 0)
+ 
+ 464 
+ euid
+  = ()
+ 	`g‘euid
+ ();
+ 
+ 466 #ifdeà
+ HAS_SETREUID
+ 
+ 
+ 467 ià(
+ 	`£Œeuid
+ ((
+ UIDTYPE
+ )-1, (UIDTYPE)
+ euid
+ ) < 0)
+ 
+ 468 
+ euid
+  = ()
+ 	`g‘euid
+ ();
+ 
+ 470 ià(
+ euid
+  =ð
+ uid
+ )
+ 
+ 471 
+ 	`£tuid
+ (
+ euid
+ );
+ 
+ 473 
+ 	`çl
+ ("seteuid()‚ot implemented");
+ 
+ 478 
+ gid
+  = ()
+ 	`¡r_gnum
+ (
+ ¡r
+ );
+ 
+ 479 #ifdeà
+ HAS_SETREGID
+ 
+ 
+ 480 ià(
+ d–aymagic
+ ) {
+ 
+ 481 
+ d–aymagic
+  |ð
+ DM_REGID
+ ;
+ 
+ 485 #ifdeà
+ HAS_SETRGID
+ 
+ 
+ 486 ()
+ 	`£Œgid
+ ((
+ GIDTYPE
+ )
+ gid
+ );
+ 
+ 488 #ifdeà
+ HAS_SETREGID
+ 
+ 
+ 489 ()
+ 	`£Œegid
+ ((
+ GIDTYPE
+ )
+ gid
+ , (GIDTYPE)-1);
+ 
+ 491 
+ 	`çl
+ ("setrgid()‚ot implemented");
+ 
+ 496 
+ egid
+  = ()
+ 	`¡r_gnum
+ (
+ ¡r
+ );
+ 
+ 497 #ifdeà
+ HAS_SETREGID
+ 
+ 
+ 498 ià(
+ d–aymagic
+ ) {
+ 
+ 499 
+ d–aymagic
+  |ð
+ DM_REGID
+ ;
+ 
+ 503 #ifdeà
+ HAS_SETEGID
+ 
+ 
+ 504 ()
+ 	`£‹gid
+ ((
+ GIDTYPE
+ )
+ egid
+ );
+ 
+ 506 #ifdeà
+ HAS_SETREGID
+ 
+ 
+ 507 ()
+ 	`£Œegid
+ ((
+ GIDTYPE
+ )-1, (GIDTYPE)
+ egid
+ );
+ 
+ 509 
+ 	`çl
+ ("setegid()‚ot implemented");
+ 
+ 514 
+ chݣt
+  = 
+ 	`¡r_g‘
+ (
+ ¡r
+ );
+ 
+ 517 ià(!
+ Üig®’
+ ) {
+ 
+ 518 
+ s
+  = 
+ Üig¬gv
+ [0];
+ 
+ 519 
+ s
+  +ð
+ 	`¡¾’
+ (s);
+ 
+ 521 
+ i
+  = 1; i < 
+ Üig¬gc
+ ; i++) {
+ 
+ 522 ià(
+ Üig¬gv
+ [
+ i
+ ] =ð
+ s
+  + 1)
+ 
+ 523 
+ s
+  +ð
+ 	`¡¾’
+ (++s);
+ 
+ 525 ià(
+ Üig’vœÚ
+ [0] =ð
+ s
+  + 1) {
+ 
+ 526 
+ 	`my_£‹nv
+ ("NoNeSuCh", 
+ NuÎch
+ );
+ 
+ 527 
+ i
+  = 0; 
+ Üig’vœÚ
+ [i]; i++)
+ 
+ 528 ià(
+ Üig’vœÚ
+ [
+ i
+ ] =ð
+ s
+  + 1)
+ 
+ 529 
+ s
+  +ð
+ 	`¡¾’
+ (++s);
+ 
+ 531 
+ Üig®’
+  = 
+ s
+  - 
+ Üig¬gv
+ [0];
+ 
+ 533 
+ s
+  = 
+ 	`¡r_g‘
+ (
+ ¡r
+ );
+ 
+ 534 
+ i
+  = 
+ ¡r
+ ->
+ ¡r_cur
+ ;
+ 
+ 535 ià(
+ i
+  >ð
+ Üig®’
+ ) {
+ 
+ 536 
+ i
+  = 
+ Üig®’
+ ;
+ 
+ 537 
+ ¡r
+ ->
+ ¡r_cur
+  = 
+ i
+ ;
+ 
+ 538 
+ ¡r
+ ->
+ ¡r_±r
+ [
+ i
+ ] = '\0';
+ 
+ 539 
+ 	`bcÝy
+ (
+ s
+ , 
+ Üig¬gv
+ [0], 
+ i
+ );
+ 
+ 542 
+ 	`bcÝy
+ (
+ s
+ , 
+ Üig¬gv
+ [0], 
+ i
+ );
+ 
+ 543 
+ s
+  = 
+ Üig¬gv
+ [0]+
+ i
+ ;
+ 
+ 544 *
+ s
+ ++ = '\0';
+ 
+ 545 ++
+ i
+  < 
+ Üig®’
+ )
+ 
+ 546 *
+ s
+ ++ = ' ';
+ 
+ 551 
+ ufuncs
+  *
+ uf
+  = (ufunc *)
+ ¡r
+ ->
+ ¡r_magic
+ ->
+ ¡r_±r
+ ;
+ 
+ 553 ià(
+ uf
+  && uf->
+ uf_£t
+ )
+ 
+ 554 (*
+ uf
+ ->
+ uf_£t
+ )(uf->
+ uf_šdex
+ , 
+ ¡r
+ );
+ 
+ 560 
+ 	}
+ }
+ 
+ 562 
+ 	$whichsig
+ (
+ sig
+ )
+ 
+ 563 *
+ sig
+ ;
+ 
+ 565 **
+ sigv
+ ;
+ 
+ 567 
+ sigv
+  = 
+ sig_Çme
+ +1; *sigv; sigv++)
+ 
+ 568 ià(
+ 	`¡rEQ
+ (
+ sig
+ ,*
+ sigv
+ ))
+ 
+ 569  
+ sigv
+  - 
+ sig_Çme
+ ;
+ 
+ 570 #ifdeà
+ SIGCLD
+ 
+ 
+ 571 ià(
+ 	`¡rEQ
+ (
+ sig
+ ,"CHLD"))
+ 
+ 572  
+ SIGCLD
+ ;
+ 
+ 574 #ifdeà
+ SIGCHLD
+ 
+ 
+ 575 ià(
+ 	`¡rEQ
+ (
+ sig
+ ,"CLD"))
+ 
+ 576  
+ SIGCHLD
+ ;
+ 
+ 579 
+ 	}
+ }
+ 
+ 581 
+ hªd˹y³
+ 
+ 
+ 582 
+ 	$sighªdËr
+ (
+ sig
+ )
+ 
+ 583 
+ sig
+ ;
+ 
+ 585 
+ STAB
+  *
+ ¡ab
+ ;
+ 
+ 586 
+ STR
+  *
+ ¡r
+ ;
+ 
+ 587 
+ Þd§ve
+  = 
+ §ve¡ack
+ ->
+ ¬y_fžl
+ ;
+ 
+ 588 
+ Þdtmps_ba£
+  = 
+ tmps_ba£
+ ;
+ 
+ 589 
+ CSV
+  *
+ csv
+ ;
+ 
+ 590 
+ SUBR
+  *
+ sub
+ ;
+ 
+ 592 #ifdeà
+ OS2
+ 
+ 
+ 593 
+ 	`sigÇl
+ (
+ sig
+ , 
+ SIG_ACK
+ );
+ 
+ 595 
+ ¡ab
+  = 
+ 	`¡ab’t
+ (
+ 
+ 596 
+ 	`¡r_g‘
+ (
+ 	`hãtch
+ (
+ 	`¡ab_hash
+ (
+ sig¡ab
+ ),
+ sig_Çme
+ [
+ sig
+ ],
+ 	`¡¾’
+ (sig_name[sig]),
+ 
+ 597 
+ TRUE
+ )), TRUE);
+ 
+ 598 
+ sub
+  = 
+ 	`¡ab_sub
+ (
+ ¡ab
+ );
+ 
+ 599 ià(!
+ sub
+  && *
+ sig_Çme
+ [
+ sig
+ ] =ð'C' && 
+ 	`š¡r
+ (sig_name[sig],"LD")) {
+ 
+ 600 ià(
+ sig_Çme
+ [
+ sig
+ ][1] == 'H')
+ 
+ 601 
+ ¡ab
+  = 
+ 	`¡ab’t
+ (
+ 	`¡r_g‘
+ (
+ 	`hãtch
+ (
+ 	`¡ab_hash
+ (
+ sig¡ab
+ ),"CLD",3,
+ TRUE
+ )),
+ 
+ 602 
+ TRUE
+ );
+ 
+ 604 
+ ¡ab
+  = 
+ 	`¡ab’t
+ (
+ 	`¡r_g‘
+ (
+ 	`hãtch
+ (
+ 	`¡ab_hash
+ (
+ sig¡ab
+ ),"CHLD",4,
+ TRUE
+ )),
+ 
+ 605 
+ TRUE
+ );
+ 
+ 606 
+ sub
+  = 
+ 	`¡ab_sub
+ (
+ ¡ab
+ );
+ 
+ 608 ià(!
+ sub
+ ) {
+ 
+ 609 ià(
+ dow¬n
+ )
+ 
+ 610 
+ 	`w¬n
+ ("SIG%s handler \"%s\"‚ot defined.\n",
+ 
+ 611 
+ sig_Çme
+ [
+ sig
+ ], 
+ 	`¡ab_Çme
+ (
+ ¡ab
+ ) );
+ 
+ 614 
+ 	`§v—±r
+ (&
+ ¡ack
+ );
+ 
+ 615 
+ ¡r
+  = 
+ 	`SŒ_Ãw
+ (15, (
+ CSV
+ ));
+ 
+ 616 
+ ¡r
+ ->
+ ¡r_¡©e
+  = 
+ SS_SCSV
+ ;
+ 
+ 617 ()
+ 	`­ush
+ (
+ §ve¡ack
+ ,
+ ¡r
+ );
+ 
+ 618 
+ csv
+  = (
+ CSV
+ *)
+ ¡r
+ ->
+ ¡r_±r
+ ;
+ 
+ 619 
+ csv
+ ->
+ sub
+  = sub;
+ 
+ 620 
+ csv
+ ->
+ ¡ab
+  = stab;
+ 
+ 621 
+ csv
+ ->
+ curcsv
+  = curcsv;
+ 
+ 622 
+ csv
+ ->
+ curcmd
+  = curcmd;
+ 
+ 623 
+ csv
+ ->
+ d•th
+  = 
+ sub
+ ->depth;
+ 
+ 624 
+ csv
+ ->
+ wª¼ay
+  = 
+ G_SCALAR
+ ;
+ 
+ 625 
+ csv
+ ->
+ ha§rgs
+  = 
+ TRUE
+ ;
+ 
+ 626 
+ csv
+ ->
+ §v—¼ay
+  = 
+ 	`¡ab_x¬¿y
+ (
+ def¡ab
+ );
+ 
+ 627 
+ csv
+ ->
+ ¬g¬¿y
+  = 
+ 	`¡ab_x¬¿y
+ (
+ def¡ab
+ èð
+ ¡ack
+  = 
+ 	`ªew
+ (defstab);
+ 
+ 628 
+ ¡ack
+ ->
+ ¬y_æags
+  = 0;
+ 
+ 629 
+ curcsv
+  = 
+ csv
+ ;
+ 
+ 630 
+ ¡r
+  = 
+ 	`¡r_m܏l
+ (&
+ ¡r_undef
+ );
+ 
+ 631 
+ 	`¡r_£t
+ (
+ ¡r
+ ,
+ sig_Çme
+ [
+ sig
+ ]);
+ 
+ 632 ()
+ 	`­ush
+ (
+ 	`¡ab_x¬¿y
+ (
+ def¡ab
+ ),
+ ¡r
+ );
+ 
+ 633 
+ sub
+ ->
+ d•th
+ ++;
+ 
+ 634 ià(
+ sub
+ ->
+ d•th
+  >= 2) {
+ 
+ 635 ià(
+ sub
+ ->
+ d•th
+  =ð100 && 
+ dow¬n
+ )
+ 
+ 636 
+ 	`w¬n
+ ("D“°»cursiÚ oÀsubroutš\"%s\"",
+ 	`¡ab_Çme
+ (
+ ¡ab
+ ));
+ 
+ 637 
+ 	`§v–i¡
+ (
+ sub
+ ->
+ to§ve
+ ->
+ ¬y_¬¿y
+ ,sub->to§ve->
+ ¬y_fžl
+ );
+ 
+ 640 
+ tmps_ba£
+  = 
+ tmps_max
+ ;
+ 
+ 641 ()
+ 	`cmd_exec
+ (
+ sub
+ ->
+ cmd
+ ,
+ G_SCALAR
+ ,0);
+ 
+ 642 
+ tmps_ba£
+  = 
+ Þdtmps_ba£
+ ;
+ 
+ 644 
+ 	`»¡Ü–i¡
+ (
+ Þd§ve
+ );
+ 
+ 645 
+ 	}
+ }
+ 
+ 647 
+ STAB
+  *
+ 
+ 648 
+ 	$¯dd
+ (
+ ¡ab
+ )
+ 
+ 649 
+ STAB
+  *
+ ¡ab
+ ;
+ 
+ 651 ià(!
+ 	`¡ab_x¬¿y
+ (
+ ¡ab
+ ))
+ 
+ 652 
+ 	`¡ab_x¬¿y
+ (
+ ¡ab
+ èð
+ 	`ªew
+ (stab);
+ 
+ 653  
+ ¡ab
+ ;
+ 
+ 654 
+ 	}
+ }
+ 
+ 656 
+ STAB
+  *
+ 
+ 657 
+ 	$hadd
+ (
+ ¡ab
+ )
+ 
+ 658 
+ STAB
+  *
+ ¡ab
+ ;
+ 
+ 660 ià(!
+ 	`¡ab_xhash
+ (
+ ¡ab
+ ))
+ 
+ 661 
+ 	`¡ab_xhash
+ (
+ ¡ab
+ èð
+ 	`hÃw
+ (
+ COEFFSIZE
+ );
+ 
+ 662  
+ ¡ab
+ ;
+ 
+ 663 
+ 	}
+ }
+ 
+ 665 
+ STAB
+  *
+ 
+ 666 
+ 	$f¡ab
+ (
+ Çme
+ )
+ 
+ 667 *
+ Çme
+ ;
+ 
+ 669 
+ tmpbuf
+ [1200];
+ 
+ 670 
+ STAB
+  *
+ ¡ab
+ ;
+ 
+ 672 
+ 	`¥rštf
+ (
+ tmpbuf
+ ,"'_<%s", 
+ Çme
+ );
+ 
+ 673 
+ ¡ab
+  = 
+ 	`¡ab’t
+ (
+ tmpbuf
+ , 
+ TRUE
+ );
+ 
+ 674 
+ 	`¡r_£t
+ (
+ 	`¡ab_v®
+ (
+ ¡ab
+ ), 
+ Çme
+ );
+ 
+ 675 ià(
+ ³¾db
+ )
+ 
+ 676 ()
+ 	`hadd
+ (
+ 	`¯dd
+ (
+ ¡ab
+ ));
+ 
+ 677  
+ ¡ab
+ ;
+ 
+ 678 
+ 	}
+ }
+ 
+ 680 
+ STAB
+  *
+ 
+ 681 
+ 	$¡ab’t
+ (
+ Çme
+ ,
+ add
+ )
+ 
+ 682 *
+ Çme
+ ;
+ 
+ 683 
+ add
+ ;
+ 
+ 685 
+ STAB
+  *
+ ¡ab
+ ;
+ 
+ 686 
+ STBP
+  *
+ ¡bp
+ ;
+ 
+ 687 
+ Ën
+ ;
+ 
+ 688 *
+ Çm’d
+ ;
+ 
+ 689 
+ HASH
+  *
+ ¡ash
+ ;
+ 
+ 690 *
+ §wquÙe
+  = 
+ NuÎch
+ ;
+ 
+ 691 *
+ ´evquÙe
+  = 
+ NuÎch
+ ;
+ 
+ 692 
+ boÞ
+  
+ glob®
+  = 
+ FALSE
+ ;
+ 
+ 694 ià(
+ 	`i§scii
+ (*
+ Çme
+ è&& 
+ 	`isuµ”
+ (*name)) {
+ 
+ 695 ià(*
+ Çme
+  > 'I') {
+ 
+ 696 ià(*
+ Çme
+  == 'S' && (
+ 
+ 697 
+ 	`¡rEQ
+ (
+ Çme
+ , "SIG") ||
+ 
+ 698 
+ 	`¡rEQ
+ (
+ Çme
+ , "STDIN") ||
+ 
+ 699 
+ 	`¡rEQ
+ (
+ Çme
+ , "STDOUT") ||
+ 
+ 700 
+ 	`¡rEQ
+ (
+ Çme
+ , "STDERR") ))
+ 
+ 701 
+ glob®
+  = 
+ TRUE
+ ;
+ 
+ 703 ià(*
+ Çme
+  > 'E') {
+ 
+ 704 ià(*
+ Çme
+  =ð'I' && 
+ 	`¡rEQ
+ (name, "INC"))
+ 
+ 705 
+ glob®
+  = 
+ TRUE
+ ;
+ 
+ 707 ià(*
+ Çme
+  > 'A') {
+ 
+ 708 ià(*
+ Çme
+  =ð'E' && 
+ 	`¡rEQ
+ (name, "ENV"))
+ 
+ 709 
+ glob®
+  = 
+ TRUE
+ ;
+ 
+ 711 ià(*
+ Çme
+  == 'A' && (
+ 
+ 712 
+ 	`¡rEQ
+ (
+ Çme
+ , "ARGV") ||
+ 
+ 713 
+ 	`¡rEQ
+ (
+ Çme
+ , "ARGVOUT") ))
+ 
+ 714 
+ glob®
+  = 
+ TRUE
+ ;
+ 
+ 716 
+ Çm’d
+  = 
+ Çme
+ ; *namend;‚amend++) {
+ 
+ 717 ià(*
+ Çm’d
+  == '\'' &&‚amend[1])
+ 
+ 718 
+ ´evquÙe
+  = 
+ §wquÙe
+ , sawquِð
+ Çm’d
+ ;
+ 
+ 720 ià(
+ §wquÙe
+  =ð
+ Çme
+  &&‚ame[1]) {
+ 
+ 721 
+ ¡ash
+  = 
+ def¡ash
+ ;
+ 
+ 722 
+ §wquÙe
+  = 
+ NuÎch
+ ;
+ 
+ 723 
+ Çme
+ ++;
+ 
+ 725 ià(!
+ 	`i§Íha
+ (*
+ Çme
+ è|| 
+ glob®
+ )
+ 
+ 726 
+ ¡ash
+  = 
+ def¡ash
+ ;
+ 
+ 727 ià(
+ curcmd
+  =ð&
+ compžšg
+ )
+ 
+ 728 
+ ¡ash
+  = 
+ cur¡ash
+ ;
+ 
+ 730 
+ ¡ash
+  = 
+ curcmd
+ ->
+ c_¡ash
+ ;
+ 
+ 731 ià(
+ §wquÙe
+ ) {
+ 
+ 732 
+ tmpbuf
+ [256];
+ 
+ 733 *
+ s
+ , *
+ d
+ ;
+ 
+ 735 *
+ §wquÙe
+  = '\0';
+ 
+ 736 ià(
+ s
+  = 
+ ´evquÙe
+ ) {
+ 
+ 737 
+ 	`¡ºýy
+ (
+ tmpbuf
+ ,
+ Çme
+ ,
+ s
+ -name+1);
+ 
+ 738 
+ d
+  = 
+ tmpbuf
+ +(
+ s
+ -
+ Çme
+ +1);
+ 
+ 739 *
+ d
+ ++ = '_';
+ 
+ 740 
+ 	`¡rýy
+ (
+ d
+ ,
+ s
+ +1);
+ 
+ 743 *
+ tmpbuf
+  = '_';
+ 
+ 744 
+ 	`¡rýy
+ (
+ tmpbuf
+ +1,
+ Çme
+ );
+ 
+ 746 
+ ¡ab
+  = 
+ 	`¡ab’t
+ (
+ tmpbuf
+ ,
+ TRUE
+ );
+ 
+ 747 ià(!(
+ ¡ash
+  = 
+ 	`¡ab_xhash
+ (
+ ¡ab
+ )))
+ 
+ 748 
+ ¡ash
+  = 
+ 	`¡ab_xhash
+ (
+ ¡ab
+ èð
+ 	`hÃw
+ (0);
+ 
+ 749 ià(!
+ ¡ash
+ ->
+ tbl_Çme
+ )
+ 
+ 750 
+ ¡ash
+ ->
+ tbl_Çme
+  = 
+ 	`§ve¡r
+ (
+ Çme
+ );
+ 
+ 751 
+ Çme
+  = 
+ §wquÙe
+ +1;
+ 
+ 752 *
+ §wquÙe
+  = '\'';
+ 
+ 754 
+ Ën
+  = 
+ Çm’d
+  - 
+ Çme
+ ;
+ 
+ 755 
+ ¡ab
+  = (
+ STAB
+ *)
+ 	`hãtch
+ (
+ ¡ash
+ ,
+ Çme
+ ,
+ Ën
+ ,
+ add
+ );
+ 
+ 756 ià(
+ ¡ab
+  =ð(
+ STAB
+ *)&
+ ¡r_undef
+ )
+ 
+ 757  
+ NuΡab
+ ;
+ 
+ 758 ià(
+ ¡ab
+ ->
+ ¡r_pok
+ ) {
+ 
+ 759 
+ ¡ab
+ ->
+ ¡r_pok
+  |ð
+ SP_MULTI
+ ;
+ 
+ 760  
+ ¡ab
+ ;
+ 
+ 763 ià(
+ ¡ab
+ ->
+ ¡r_Ën
+ )
+ 
+ 764 
+ 	`Saãä“
+ (
+ ¡ab
+ ->
+ ¡r_±r
+ );
+ 
+ 765 
+ 	`Newz
+ (602,
+ ¡bp
+ , 1, 
+ STBP
+ );
+ 
+ 766 
+ ¡ab
+ ->
+ ¡r_±r
+  = 
+ ¡bp
+ ;
+ 
+ 767 
+ ¡ab
+ ->
+ ¡r_Ën
+  = sb->
+ ¡r_cur
+  = (
+ STBP
+ );
+ 
+ 768 
+ ¡ab
+ ->
+ ¡r_pok
+  = 1;
+ 
+ 769 
+ 	`¡rýy
+ (
+ 	`¡ab_magic
+ (
+ ¡ab
+ ),"StB");
+ 
+ 770 
+ 	`¡ab_v®
+ (
+ ¡ab
+ èð
+ 	`SŒ_Ãw
+ (72,0);
+ 
+ 771 
+ 	`¡ab_lše
+ (
+ ¡ab
+ èð
+ curcmd
+ ->
+ c_lše
+ ;
+ 
+ 772 
+ 	`¡r_magic
+ (
+ ¡ab
+ ,¡ab,'*',
+ Çme
+ ,
+ Ën
+ );
+ 
+ 773 
+ 	`¡ab_¡ash
+ (
+ ¡ab
+ èð
+ ¡ash
+ ;
+ 
+ 774 ià(
+ 	`isdig™
+ (*
+ Çme
+ ) && *name != '0') {
+ 
+ 775 
+ 	`¡ab_æags
+ (
+ ¡ab
+ èð
+ SF_VMAGIC
+ ;
+ 
+ 776 
+ 	`¡r_magic
+ (
+ 	`¡ab_v®
+ (
+ ¡ab
+ ), sb, 0, 
+ NuÎch
+ , 0);
+ 
+ 778  
+ ¡ab
+ ;
+ 
+ 780 
+ 	}
+ }
+ 
+ 782 
+ 	$¡ab_fuÎÇme
+ (
+ ¡r
+ ,
+ ¡ab
+ )
+ 
+ 783 
+ STR
+  *
+ ¡r
+ ;
+ 
+ 784 
+ STAB
+  *
+ ¡ab
+ ;
+ 
+ 786 
+ HASH
+  *
+ tb
+  = 
+ 	`¡ab_¡ash
+ (
+ ¡ab
+ );
+ 
+ 788 ià(!
+ tb
+ )
+ 
+ 790 
+ 	`¡r_£t
+ (
+ ¡r
+ ,
+ tb
+ ->
+ tbl_Çme
+ );
+ 
+ 791 
+ 	`¡r_nÿt
+ (
+ ¡r
+ ,"'", 1);
+ 
+ 792 
+ 	`¡r_sÿt
+ (
+ ¡r
+ ,
+ ¡ab
+ ->
+ ¡r_magic
+ );
+ 
+ 793 
+ 	}
+ }
+ 
+ 795 
+ STIO
+  *
+ 
+ 796 
+ 	$¡io_Ãw
+ ()
+ 
+ 798 
+ STIO
+  *
+ ¡io
+ ;
+ 
+ 800 
+ 	`Newz
+ (603,
+ ¡io
+ ,1,
+ STIO
+ );
+ 
+ 801 
+ ¡io
+ ->
+ ·ge_Ën
+  = 60;
+ 
+ 802  
+ ¡io
+ ;
+ 
+ 803 
+ 	}
+ }
+ 
+ 805 
+ 	$¡ab_check
+ (
+ mš
+ ,
+ max
+ )
+ 
+ 806 
+ mš
+ ;
+ 
+ 807 
+ max
+ ;
+ 
+ 809 
+ HENT
+  *
+ ’Œy
+ ;
+ 
+ 810 
+ i
+ ;
+ 
+ 811 
+ STAB
+  *
+ ¡ab
+ ;
+ 
+ 813 
+ i
+  = 
+ mš
+ ; i <ð
+ max
+ ; i++) {
+ 
+ 814 
+ ’Œy
+  = 
+ def¡ash
+ ->
+ tbl_¬¿y
+ [
+ i
+ ];ƒÁry;ƒÁry =ƒÁry->
+ h’t_Ãxt
+ ) {
+ 
+ 815 
+ ¡ab
+  = (
+ STAB
+ *)
+ ’Œy
+ ->
+ h’t_v®
+ ;
+ 
+ 816 ià(
+ ¡ab
+ ->
+ ¡r_pok
+  & 
+ SP_MULTI
+ )
+ 
+ 818 
+ curcmd
+ ->
+ c_lše
+  = 
+ 	`¡ab_lše
+ (
+ ¡ab
+ );
+ 
+ 819 
+ 	`w¬n
+ ("Possibˁypo: \"%s\"", 
+ 	`¡ab_Çme
+ (
+ ¡ab
+ ));
+ 
+ 822 
+ 	}
+ }
+ 
+ 824 
+ 	gg’sym
+  = 0;
+ 
+ 826 
+ STAB
+  *
+ 
+ 827 
+ 	$g’¡ab
+ ()
+ 
+ 829 ()
+ 	`¥rštf
+ (
+ tok’buf
+ ,"_GEN_%d",
+ g’sym
+ ++);
+ 
+ 830  
+ 	`¡ab’t
+ (
+ tok’buf
+ ,
+ TRUE
+ );
+ 
+ 831 
+ 	}
+ }
+ 
+ 836 
+ 	$¡ab_þ—r
+ (
+ ¡ab
+ )
+ 
+ 837 
+ STAB
+  *
+ ¡ab
+ ;
+ 
+ 839 
+ STIO
+  *
+ ¡io
+ ;
+ 
+ 840 
+ SUBR
+  *
+ sub
+ ;
+ 
+ 842 
+ 	`aä“
+ (
+ 	`¡ab_x¬¿y
+ (
+ ¡ab
+ ));
+ 
+ 843 
+ 	`¡ab_x¬¿y
+ (
+ ¡ab
+ èð
+ 	`NuÎ
+ (
+ ARRAY
+ *);
+ 
+ 844 ()
+ 	`hä“
+ (
+ 	`¡ab_xhash
+ (
+ ¡ab
+ ), 
+ FALSE
+ );
+ 
+ 845 
+ 	`¡ab_xhash
+ (
+ ¡ab
+ èð
+ 	`NuÎ
+ (
+ HASH
+ *);
+ 
+ 846 
+ 	`¡r_ä“
+ (
+ 	`¡ab_v®
+ (
+ ¡ab
+ ));
+ 
+ 847 
+ 	`¡ab_v®
+ (
+ ¡ab
+ èð
+ NuΡr
+ ;
+ 
+ 848 ià(
+ ¡io
+  = 
+ 	`¡ab_io
+ (
+ ¡ab
+ )) {
+ 
+ 849 
+ 	`do_þo£
+ (
+ ¡ab
+ ,
+ FALSE
+ );
+ 
+ 850 
+ 	`Saãä“
+ (
+ ¡io
+ ->
+ tÝ_Çme
+ );
+ 
+ 851 
+ 	`Saãä“
+ (
+ ¡io
+ ->
+ fmt_Çme
+ );
+ 
+ 853 ià(
+ sub
+  = 
+ 	`¡ab_sub
+ (
+ ¡ab
+ )) {
+ 
+ 854 
+ 	`aä“
+ (
+ sub
+ ->
+ to§ve
+ );
+ 
+ 855 
+ 	`cmd_ä“
+ (
+ sub
+ ->
+ cmd
+ );
+ 
+ 857 
+ 	`Saãä“
+ (
+ ¡ab
+ ->
+ ¡r_±r
+ );
+ 
+ 858 
+ ¡ab
+ ->
+ ¡r_±r
+  = 
+ 	`NuÎ
+ (
+ STBP
+ *);
+ 
+ 859 
+ ¡ab
+ ->
+ ¡r_Ën
+  = 0;
+ 
+ 860 
+ ¡ab
+ ->
+ ¡r_cur
+  = 0;
+ 
+ 861 
+ 	}
+ }
+ 
+ 863 #ià
+ defšed
+ (
+ CRIPPLED_CC
+ è&& (defšed(
+ iAPX286
+ è|| defšed(
+ M_I286
+ è|| defšed(
+ I80286
+ ))
+ 
+ 864 
+ 	#MICROPORT
+ 
+ 
+ 	)
+ 
+ 867 #ifdef 
+ MICROPORT
+ 
+ 
+ 868 
+ ARRAY
+  *
+ 	$¡ab_¬¿y
+ (
+ ¡ab
+ )
+ 
+ 869 
+ STAB
+  *
+ ¡ab
+ ;
+ 
+ 871 ià(((
+ STBP
+ *)(
+ ¡ab
+ ->
+ ¡r_±r
+ ))->
+ ¡bp_¬¿y
+ )
+ 
+ 872  ((
+ STBP
+ *)(
+ ¡ab
+ ->
+ ¡r_±r
+ ))->
+ ¡bp_¬¿y
+ ;
+ 
+ 874  ((
+ STBP
+ *)(
+ 	`¯dd
+ (
+ ¡ab
+ )->
+ ¡r_±r
+ ))->
+ ¡bp_¬¿y
+ ;
+ 
+ 875 
+ 	}
+ }
+ 
+ 877 
+ HASH
+  *
+ 	$¡ab_hash
+ (
+ ¡ab
+ )
+ 
+ 878 
+ STAB
+  *
+ ¡ab
+ ;
+ 
+ 880 ià(((
+ STBP
+ *)(
+ ¡ab
+ ->
+ ¡r_±r
+ ))->
+ ¡bp_hash
+ )
+ 
+ 881  ((
+ STBP
+ *)(
+ ¡ab
+ ->
+ ¡r_±r
+ ))->
+ ¡bp_hash
+ ;
+ 
+ 883  ((
+ STBP
+ *)(
+ 	`hadd
+ (
+ ¡ab
+ )->
+ ¡r_±r
+ ))->
+ ¡bp_hash
+ ;
+ 
+ 884 
+ 	}
+ }
+ 
+ 	@stab.h
+ 
+ 14 
+ 	s¡ab±rs
+  {
+ 
+ 15 
+ 	m¡bp_magic
+ [4];
+ 
+ 16 
+ STR
+  *
+ 	m¡bp_v®
+ ;
+ 
+ 17 
+ ¡io
+  *
+ 	m¡bp_io
+ ;
+ 
+ 18 
+ FCMD
+  *
+ 	m¡bp_fÜm
+ ;
+ 
+ 19 
+ ARRAY
+  *
+ 	m¡bp_¬¿y
+ ;
+ 
+ 20 
+ HASH
+  *
+ 	m¡bp_hash
+ ;
+ 
+ 21 
+ HASH
+  *
+ 	m¡bp_¡ash
+ ;
+ 
+ 22 
+ SUBR
+  *
+ 	m¡bp_sub
+ ;
+ 
+ 23 
+ 	m¡bp_Ï¡ex´
+ ;
+ 
+ 24 
+ lše_t
+  
+ 	m¡bp_lše
+ ;
+ 
+ 25 
+ 	m¡bp_æags
+ ;
+ 
+ 28 #ià
+ defšed
+ (
+ CRIPPLED_CC
+ è&& (defšed(
+ iAPX286
+ è|| defšed(
+ M_I286
+ è|| defšed(
+ I80286
+ ))
+ 
+ 29 
+ 	#MICROPORT
+ 
+ 
+ 	)
+ 
+ 32 
+ 	#¡ab_magic
+ (
+ ¡ab
+ è(((
+ STBP
+ *)(¡ab->
+ ¡r_±r
+ ))->
+ ¡bp_magic
+ )
+ 
+ 	)
+ 
+ 33 
+ 	#¡ab_v®
+ (
+ ¡ab
+ è(((
+ STBP
+ *)(¡ab->
+ ¡r_±r
+ ))->
+ ¡bp_v®
+ )
+ 
+ 	)
+ 
+ 34 
+ 	#¡ab_io
+ (
+ ¡ab
+ è(((
+ STBP
+ *)(¡ab->
+ ¡r_±r
+ ))->
+ ¡bp_io
+ )
+ 
+ 	)
+ 
+ 35 
+ 	#¡ab_fÜm
+ (
+ ¡ab
+ è(((
+ STBP
+ *)(¡ab->
+ ¡r_±r
+ ))->
+ ¡bp_fÜm
+ )
+ 
+ 	)
+ 
+ 36 
+ 	#¡ab_x¬¿y
+ (
+ ¡ab
+ è(((
+ STBP
+ *)(¡ab->
+ ¡r_±r
+ ))->
+ ¡bp_¬¿y
+ )
+ 
+ 	)
+ 
+ 37 #ifdef 
+ MICROPORT
+ 
+ 
+ 38 
+ ARRAY
+  *
+ ¡ab_¬¿y
+ ();
+ 
+ 40 
+ 	#¡ab_¬¿y
+ (
+ ¡ab
+ è(((
+ STBP
+ *)(¡ab->
+ ¡r_±r
+ ))->
+ ¡bp_¬¿y
+  ? \
+ 
+ 41 ((
+ STBP
+ *)(
+ ¡ab
+ ->
+ ¡r_±r
+ ))->
+ ¡bp_¬¿y
+  : \
+ 
+ 42 ((
+ STBP
+ *)(
+ 	`¯dd
+ (
+ ¡ab
+ )->
+ ¡r_±r
+ ))->
+ ¡bp_¬¿y
+ )
+ 
+ 	)
+ 
+ 44 
+ 	#¡ab_xhash
+ (
+ ¡ab
+ è(((
+ STBP
+ *)(¡ab->
+ ¡r_±r
+ ))->
+ ¡bp_hash
+ )
+ 
+ 	)
+ 
+ 45 #ifdef 
+ MICROPORT
+ 
+ 
+ 46 
+ HASH
+  *
+ ¡ab_hash
+ ();
+ 
+ 48 
+ 	#¡ab_hash
+ (
+ ¡ab
+ è(((
+ STBP
+ *)(¡ab->
+ ¡r_±r
+ ))->
+ ¡bp_hash
+  ? \
+ 
+ 49 ((
+ STBP
+ *)(
+ ¡ab
+ ->
+ ¡r_±r
+ ))->
+ ¡bp_hash
+  : \
+ 
+ 50 ((
+ STBP
+ *)(
+ 	`hadd
+ (
+ ¡ab
+ )->
+ ¡r_±r
+ ))->
+ ¡bp_hash
+ )
+ 
+ 	)
+ 
+ 52 
+ 	#¡ab_¡ash
+ (
+ ¡ab
+ è(((
+ STBP
+ *)(¡ab->
+ ¡r_±r
+ ))->
+ ¡bp_¡ash
+ )
+ 
+ 	)
+ 
+ 53 
+ 	#¡ab_sub
+ (
+ ¡ab
+ è(((
+ STBP
+ *)(¡ab->
+ ¡r_±r
+ ))->
+ ¡bp_sub
+ )
+ 
+ 	)
+ 
+ 54 
+ 	#¡ab_Ï¡ex´
+ (
+ ¡ab
+ è(((
+ STBP
+ *)(¡ab->
+ ¡r_±r
+ ))->
+ ¡bp_Ï¡ex´
+ )
+ 
+ 	)
+ 
+ 55 
+ 	#¡ab_lše
+ (
+ ¡ab
+ è(((
+ STBP
+ *)(¡ab->
+ ¡r_±r
+ ))->
+ ¡bp_lše
+ )
+ 
+ 	)
+ 
+ 56 
+ 	#¡ab_æags
+ (
+ ¡ab
+ è(((
+ STBP
+ *)(¡ab->
+ ¡r_±r
+ ))->
+ ¡bp_æags
+ )
+ 
+ 	)
+ 
+ 57 
+ 	#¡ab_Çme
+ (
+ ¡ab
+ è(¡ab->
+ ¡r_magic
+ ->
+ ¡r_±r
+ )
+ 
+ 	)
+ 
+ 59 
+ 	#SF_VMAGIC
+  1
+ 
+ 	)
+ 
+ 60 
+ 	#SF_MULTI
+  2
+ 
+ 	)
+ 
+ 62 
+ 	s¡io
+  {
+ 
+ 63 
+ FILE
+  *
+ 	miå
+ ;
+ 
+ 64 
+ FILE
+  *
+ 	moå
+ ;
+ 
+ 65 #ifdeà
+ HAS_READDIR
+ 
+ 
+ 66 
+ DIR
+  *
+ 	mdœp
+ ;
+ 
+ 68 
+ 	mlšes
+ ;
+ 
+ 69 
+ 	m·ge
+ ;
+ 
+ 70 
+ 	m·ge_Ën
+ ;
+ 
+ 71 
+ 	mlšes_Ëá
+ ;
+ 
+ 72 *
+ 	mtÝ_Çme
+ ;
+ 
+ 73 
+ STAB
+  *
+ 	mtÝ_¡ab
+ ;
+ 
+ 74 *
+ 	mfmt_Çme
+ ;
+ 
+ 75 
+ STAB
+  *
+ 	mfmt_¡ab
+ ;
+ 
+ 76 
+ 	msub´oûss
+ ;
+ 
+ 77 
+ 	mty³
+ ;
+ 
+ 78 
+ 	mæags
+ ;
+ 
+ 81 
+ 	#IOF_ARGV
+  1
+ 
+ 	)
+ 
+ 82 
+ 	#IOF_START
+  2
+ 
+ 	)
+ 
+ 83 
+ 	#IOF_FLUSH
+  4
+ 
+ 	)
+ 
+ 85 
+ 	ssub
+  {
+ 
+ 86 
+ CMD
+  *
+ 	mcmd
+ ;
+ 
+ 87 (*
+ 	mu£rsub
+ )();
+ 
+ 88 
+ 	mu£ršdex
+ ;
+ 
+ 89 
+ STAB
+  *
+ 	mfže¡ab
+ ;
+ 
+ 90 
+ 	md•th
+ ;
+ 
+ 91 
+ ARRAY
+  *
+ 	mto§ve
+ ;
+ 
+ 94 
+ 	#NuΡab
+  
+ 	`NuÎ
+ (
+ STAB
+ *)
+ 
+ 	)
+ 
+ 96 
+ 	#STAB_STR
+ (
+ s
+ è(
+ tmp¡ab
+  = (s), 
+ 	`¡ab_æags
+ Ñmp¡abè& 
+ SF_VMAGIC
+  ? 
+ 	`¡ab_¡r
+ (
+ 	`¡ab_v®
+ Ñmp¡ab)->
+ ¡r_magic
+ è: sb_v®Ñmp¡ab))
+ 
+ 	)
+ 
+ 97 
+ 	#STAB_GET
+ (
+ s
+ è(
+ tmp¡ab
+  = (s), 
+ 	`¡r_g‘
+ (
+ 	`¡ab_æags
+ Ñmp¡abè& 
+ SF_VMAGIC
+  ? 
+ 	`¡ab_¡r
+ Ñmp¡ab->
+ ¡r_magic
+ è: 
+ 	`¡ab_v®
+ Ñmp¡ab)))
+ 
+ 	)
+ 
+ 98 
+ 	#STAB_GNUM
+ (
+ s
+ è(
+ tmp¡ab
+  = (s), 
+ 	`¡r_gnum
+ (
+ 	`¡ab_æags
+ Ñmp¡abè& 
+ SF_VMAGIC
+  ? 
+ 	`¡ab_¡r
+ Ñmp¡ab->
+ ¡r_magic
+ è: 
+ 	`¡ab_v®
+ Ñmp¡ab)))
+ 
+ 	)
+ 
+ 100 
+ EXT
+  
+ STAB
+  *
+ 	gtmp¡ab
+ ;
+ 
+ 102 
+ EXT
+  
+ STAB
+  *
+ 	g¡ab_šdex
+ [128];
+ 
+ 104 
+ EXT
+  
+ 	g¡©usv®ue
+ ;
+ 
+ 106 
+ EXT
+  
+ d–aymagic
+  
+ INIT
+ (0);
+ 
+ 107 
+ 	#DM_DELAY
+  1
+ 
+ 	)
+ 
+ 108 
+ 	#DM_REUID
+  2
+ 
+ 	)
+ 
+ 109 
+ 	#DM_REGID
+  4
+ 
+ 	)
+ 
+ 111 
+ STAB
+  *
+ ¯dd
+ ();
+ 
+ 112 
+ STAB
+  *
+ hadd
+ ();
+ 
+ 113 
+ STAB
+  *
+ f¡ab
+ ();
+ 
+ 	@str.c
+ 
+ 19 
+ 	~"EXTERN.h
+ "
+ 
+ 20 
+ 	~"³¾.h
+ "
+ 
+ 21 
+ 	~"³¾y.h
+ "
+ 
+ 23 #iâdeà
+ ¡r_g‘
+ 
+ 
+ 25 
+ 	$¡r_g‘
+ (
+ ¡r
+ )
+ 
+ 26 
+ STR
+  *
+ ¡r
+ ;
+ 
+ 28 #ifdeà
+ TAINT
+ 
+ 
+ 29 
+ š‹d
+  |ð
+ ¡r
+ ->
+ ¡r_š‹d
+ ;
+ 
+ 31  
+ ¡r
+ ->
+ ¡r_pok
+  ? sŒ->
+ ¡r_±r
+  : 
+ 	`¡r_2±r
+ (str);
+ 
+ 32 
+ 	}
+ }
+ 
+ 38 #iâdeà
+ ¡r_Œue
+ 
+ 
+ 39 
+ 	$¡r_Œue
+ (
+ SŒ
+ )
+ 
+ 40 
+ STR
+  *
+ SŒ
+ ;
+ 
+ 42 ià(
+ SŒ
+ ->
+ ¡r_pok
+ ) {
+ 
+ 43 ià(*
+ SŒ
+ ->
+ ¡r_±r
+  > '0' ||
+ 
+ 44 
+ SŒ
+ ->
+ ¡r_cur
+  > 1 ||
+ 
+ 45 (
+ SŒ
+ ->
+ ¡r_cur
+  && *SŒ->
+ ¡r_±r
+  != '0'))
+ 
+ 49 ià(
+ SŒ
+ ->
+ ¡r_nok
+ )
+ 
+ 50  (
+ SŒ
+ ->
+ ¡r_u
+ .
+ ¡r_nv®
+  != 0.0);
+ 
+ 52 
+ 	}
+ }
+ 
+ 55 #iâdeà
+ ¡r_gnum
+ 
+ 
+ 56 
+ 	$¡r_gnum
+ (
+ SŒ
+ )
+ 
+ 57 
+ STR
+  *
+ SŒ
+ ;
+ 
+ 59 #ifdeà
+ TAINT
+ 
+ 
+ 60 
+ š‹d
+  |ð
+ SŒ
+ ->
+ ¡r_š‹d
+ ;
+ 
+ 62 ià(
+ SŒ
+ ->
+ ¡r_nok
+ )
+ 
+ 63  
+ SŒ
+ ->
+ ¡r_u
+ .
+ ¡r_nv®
+ ;
+ 
+ 64  
+ 	`¡r_2num
+ (
+ SŒ
+ );
+ 
+ 65 
+ 	}
+ }
+ 
+ 70 
+ 	$¡r_grow
+ (
+ ¡r
+ ,
+ ÃwËn
+ )
+ 
+ 71 
+ STR
+  *
+ ¡r
+ ;
+ 
+ 72 #iâdeà
+ MSDOS
+ 
+ 
+ 73 
+ ÃwËn
+ ;
+ 
+ 75 
+ ÃwËn
+ ;
+ 
+ 78 *
+ s
+  = 
+ ¡r
+ ->
+ ¡r_±r
+ ;
+ 
+ 80 #ifdeà
+ MSDOS
+ 
+ 
+ 81 ià(
+ ÃwËn
+  >= 0x10000) {
+ 
+ 82 
+ 	`årštf
+ (
+ ¡d”r
+ , "AÎoÿtiځoØÏrge: %lx\n", 
+ ÃwËn
+ );
+ 
+ 83 
+ 	`ex™
+ (1);
+ 
+ 86 ià(
+ ¡r
+ ->
+ ¡r_¡©e
+  =ð
+ SS_INCR
+ ) {
+ 
+ 87 
+ ¡r
+ ->
+ ¡r_Ën
+  +ð¡r->
+ ¡r_u
+ .
+ ¡r_u£ful
+ ;
+ 
+ 88 
+ ¡r
+ ->
+ ¡r_±r
+  -ð¡r->
+ ¡r_u
+ .
+ ¡r_u£ful
+ ;
+ 
+ 89 
+ ¡r
+ ->
+ ¡r_u
+ .
+ ¡r_u£ful
+  = 0L;
+ 
+ 90 
+ 	`bcÝy
+ (
+ s
+ , 
+ ¡r
+ ->
+ ¡r_±r
+ , sŒ->
+ ¡r_cur
+ +1);
+ 
+ 91 
+ s
+  = 
+ ¡r
+ ->
+ ¡r_±r
+ ;
+ 
+ 92 
+ ¡r
+ ->
+ ¡r_¡©e
+  = 
+ SS_NORM
+ ;
+ 
+ 93 ià(
+ ÃwËn
+  > 
+ ¡r
+ ->
+ ¡r_Ën
+ )
+ 
+ 94 
+ ÃwËn
+  +ð10 * (ÃwËÀ- 
+ ¡r
+ ->
+ ¡r_cur
+ );
+ 
+ 96 ià(
+ ÃwËn
+  > 
+ ¡r
+ ->
+ ¡r_Ën
+ ) {
+ 
+ 97 ià(
+ ¡r
+ ->
+ ¡r_Ën
+ )
+ 
+ 98 
+ 	`R’ew
+ (
+ s
+ ,
+ ÃwËn
+ ,);
+ 
+ 100 
+ 	`New
+ (703,
+ s
+ ,
+ ÃwËn
+ ,);
+ 
+ 101 
+ ¡r
+ ->
+ ¡r_±r
+  = 
+ s
+ ;
+ 
+ 102 
+ ¡r
+ ->
+ ¡r_Ën
+  = 
+ ÃwËn
+ ;
+ 
+ 104  
+ s
+ ;
+ 
+ 105 
+ 	}
+ }
+ 
+ 107 
+ 	$¡r_num£t
+ (
+ ¡r
+ ,
+ num
+ )
+ 
+ 108 
+ STR
+  *
+ ¡r
+ ;
+ 
+ 109 
+ num
+ ;
+ 
+ 111 ià(
+ ¡r
+ ->
+ ¡r_pok
+ ) {
+ 
+ 112 
+ ¡r
+ ->
+ ¡r_pok
+  = 0;
+ 
+ 113 ià(
+ ¡r
+ ->
+ ¡r_¡©e
+  =ð
+ SS_INCR
+ )
+ 
+ 114 
+ 	`SŒ_Grow
+ (
+ ¡r
+ ,0);
+ 
+ 116 
+ ¡r
+ ->
+ ¡r_u
+ .
+ ¡r_nv®
+  = 
+ num
+ ;
+ 
+ 117 
+ ¡r
+ ->
+ ¡r_¡©e
+  = 
+ SS_NORM
+ ;
+ 
+ 118 
+ ¡r
+ ->
+ ¡r_nok
+  = 1;
+ 
+ 119 #ifdeà
+ TAINT
+ 
+ 
+ 120 
+ ¡r
+ ->
+ ¡r_š‹d
+  = 
+ š‹d
+ ;
+ 
+ 122 
+ 	}
+ }
+ 
+ 125 
+ 	$¡r_2±r
+ (
+ ¡r
+ )
+ 
+ 126 
+ STR
+  *
+ ¡r
+ ;
+ 
+ 128 *
+ s
+ ;
+ 
+ 129 
+ Þd”ºo
+ ;
+ 
+ 131 ià(!
+ ¡r
+ )
+ 
+ 133 ià(
+ ¡r
+ ->
+ ¡r_nok
+ ) {
+ 
+ 134 
+ 	`STR_GROW
+ (
+ ¡r
+ , 30);
+ 
+ 135 
+ s
+  = 
+ ¡r
+ ->
+ ¡r_±r
+ ;
+ 
+ 136 
+ Þd”ºo
+  = 
+ Ӽo
+ ;
+ 
+ 137 #ià
+ 	`defšed
+ (
+ scs
+ è&& defšed(
+ ns32000
+ )
+ 
+ 138 
+ 	`gcvt
+ (
+ ¡r
+ ->
+ ¡r_u
+ .
+ ¡r_nv®
+ ,20,
+ s
+ );
+ 
+ 140 #ifdeà
+ ­Þlo
+ 
+ 
+ 141 ià(
+ ¡r
+ ->
+ ¡r_u
+ .
+ ¡r_nv®
+  == 0.0)
+ 
+ 142 ()
+ 	`¡rýy
+ (
+ s
+ ,"0");
+ 
+ 145 ()
+ 	`¥rštf
+ (
+ s
+ ,"%.20g",
+ ¡r
+ ->
+ ¡r_u
+ .
+ ¡r_nv®
+ );
+ 
+ 147 
+ Ӽo
+  = 
+ Þd”ºo
+ ;
+ 
+ 148 *
+ s
+ ) s++;
+ 
+ 149 #ifdeà
+ hcx
+ 
+ 
+ 150 ià(
+ s
+ [-1] == '.')
+ 
+ 151 
+ s
+ --;
+ 
+ 155 ià(
+ ¡r
+  =ð&
+ ¡r_undef
+ )
+ 
+ 156  
+ No
+ ;
+ 
+ 157 ià(
+ dow¬n
+ )
+ 
+ 158 
+ 	`w¬n
+ ("Use of uninitialized variable");
+ 
+ 159 
+ 	`STR_GROW
+ (
+ ¡r
+ , 30);
+ 
+ 160 
+ s
+  = 
+ ¡r
+ ->
+ ¡r_±r
+ ;
+ 
+ 162 *
+ s
+  = '\0';
+ 
+ 163 
+ ¡r
+ ->
+ ¡r_cur
+  = 
+ s
+  - sŒ->
+ ¡r_±r
+ ;
+ 
+ 164 
+ ¡r
+ ->
+ ¡r_pok
+  = 1;
+ 
+ 165 #ifdeà
+ DEBUGGING
+ 
+ 
+ 166 ià(
+ debug
+  & 32)
+ 
+ 167 
+ 	`årštf
+ (
+ ¡d”r
+ ,"0x%lx…Œ(%s)\n",
+ ¡r
+ ,¡r->
+ ¡r_±r
+ );
+ 
+ 169  
+ ¡r
+ ->
+ ¡r_±r
+ ;
+ 
+ 170 
+ 	}
+ }
+ 
+ 173 
+ 	$¡r_2num
+ (
+ ¡r
+ )
+ 
+ 174 
+ STR
+  *
+ ¡r
+ ;
+ 
+ 176 ià(!
+ ¡r
+ )
+ 
+ 178 ià(
+ ¡r
+ ->
+ ¡r_¡©e
+  =ð
+ SS_INCR
+ )
+ 
+ 179 
+ 	`SŒ_Grow
+ (
+ ¡r
+ ,0);
+ 
+ 180 
+ ¡r
+ ->
+ ¡r_¡©e
+  = 
+ SS_NORM
+ ;
+ 
+ 181 ià(
+ ¡r
+ ->
+ ¡r_Ën
+  && sŒ->
+ ¡r_pok
+ )
+ 
+ 182 
+ ¡r
+ ->
+ ¡r_u
+ .
+ ¡r_nv®
+  = 
+ 	`©of
+ (¡r->
+ ¡r_±r
+ );
+ 
+ 184 ià(
+ ¡r
+  =ð&
+ ¡r_undef
+ )
+ 
+ 186 ià(
+ dow¬n
+ )
+ 
+ 187 
+ 	`w¬n
+ ("Use of uninitialized variable");
+ 
+ 188 
+ ¡r
+ ->
+ ¡r_u
+ .
+ ¡r_nv®
+  = 0.0;
+ 
+ 190 
+ ¡r
+ ->
+ ¡r_nok
+  = 1;
+ 
+ 191 #ifdeà
+ DEBUGGING
+ 
+ 
+ 192 ià(
+ debug
+  & 32)
+ 
+ 193 
+ 	`årštf
+ (
+ ¡d”r
+ ,"0x%lx‚um(%g)\n",
+ ¡r
+ ,¡r->
+ ¡r_u
+ .
+ ¡r_nv®
+ );
+ 
+ 195  
+ ¡r
+ ->
+ ¡r_u
+ .
+ ¡r_nv®
+ ;
+ 
+ 196 
+ 	}
+ }
+ 
+ 203 
+ 	$¡r_s£t
+ (
+ d¡r
+ ,
+ s¡r
+ )
+ 
+ 204 
+ STR
+  *
+ d¡r
+ ;
+ 
+ 205 
+ STR
+  *
+ s¡r
+ ;
+ 
+ 207 #ifdeà
+ TAINT
+ 
+ 
+ 208 ià(
+ s¡r
+ )
+ 
+ 209 
+ š‹d
+  |ð
+ s¡r
+ ->
+ ¡r_š‹d
+ ;
+ 
+ 211 ià(
+ s¡r
+  =ð
+ d¡r
+  || d¡¸=ð&
+ ¡r_undef
+ )
+ 
+ 213 ià(!
+ s¡r
+ )
+ 
+ 214 
+ d¡r
+ ->
+ ¡r_pok
+  = d¡r->
+ ¡r_nok
+  = 0;
+ 
+ 215 ià(
+ s¡r
+ ->
+ ¡r_pok
+ ) {
+ 
+ 224 ià(
+ s¡r
+ ->
+ ¡r_pok
+  & 
+ SP_TEMP
+ ) {
+ 
+ 225 ià(
+ d¡r
+ ->
+ ¡r_±r
+ ) {
+ 
+ 226 ià(
+ d¡r
+ ->
+ ¡r_¡©e
+  =ð
+ SS_INCR
+ )
+ 
+ 227 
+ d¡r
+ ->
+ ¡r_±r
+  -ðd¡r->
+ ¡r_u
+ .
+ ¡r_u£ful
+ ;
+ 
+ 228 
+ 	`Saãä“
+ (
+ d¡r
+ ->
+ ¡r_±r
+ );
+ 
+ 230 
+ d¡r
+ ->
+ ¡r_±r
+  = 
+ s¡r
+ ->str_ptr;
+ 
+ 231 
+ d¡r
+ ->
+ ¡r_Ën
+  = 
+ s¡r
+ ->str_len;
+ 
+ 232 
+ d¡r
+ ->
+ ¡r_cur
+  = 
+ s¡r
+ ->str_cur;
+ 
+ 233 
+ d¡r
+ ->
+ ¡r_¡©e
+  = 
+ s¡r
+ ->str_state;
+ 
+ 234 
+ d¡r
+ ->
+ ¡r_pok
+  = 
+ s¡r
+ ->¡r_pok & ~
+ SP_TEMP
+ ;
+ 
+ 235 #ifdeà
+ TAINT
+ 
+ 
+ 236 
+ d¡r
+ ->
+ ¡r_š‹d
+  = 
+ s¡r
+ ->str_tainted;
+ 
+ 238 
+ s¡r
+ ->
+ ¡r_±r
+  = 
+ NuÎch
+ ;
+ 
+ 239 
+ s¡r
+ ->
+ ¡r_Ën
+  = 0;
+ 
+ 240 
+ s¡r
+ ->
+ ¡r_pok
+  = 0;
+ 
+ 241 
+ s¡r
+ ->
+ ¡r_¡©e
+  = 0;
+ 
+ 244 ià(
+ d¡r
+ ->
+ ¡r_±r
+ ) {
+ 
+ 245 ià(
+ d¡r
+ ->
+ ¡r_¡©e
+  =ð
+ SS_INCR
+ ) {
+ 
+ 246 
+ 	`SŒ_Grow
+ (
+ d¡r
+ ,0);
+ 
+ 249 
+ 	`¡r_n£t
+ (
+ d¡r
+ ,
+ s¡r
+ ->
+ ¡r_±r
+ ,s¡r->
+ ¡r_cur
+ );
+ 
+ 251 ià(
+ d¡r
+ ->
+ ¡r_nok
+  = 
+ s¡r
+ ->str_nok)
+ 
+ 252 
+ d¡r
+ ->
+ ¡r_u
+ .
+ ¡r_nv®
+  = 
+ s¡r
+ ->str_u.str_nval;
+ 
+ 254 #ifdeà
+ STRUCTCOPY
+ 
+ 
+ 255 
+ d¡r
+ ->
+ ¡r_u
+  = 
+ s¡r
+ ->str_u;
+ 
+ 257 
+ d¡r
+ ->
+ ¡r_u
+ .
+ ¡r_nv®
+  = 
+ s¡r
+ ->str_u.str_nval;
+ 
+ 259 ià(
+ d¡r
+ ->
+ ¡r_cur
+  =ð(
+ STBP
+ )) {
+ 
+ 260 *
+ tmps
+  = 
+ d¡r
+ ->
+ ¡r_±r
+ ;
+ 
+ 262 ià(*
+ tmps
+  =ð'S' && 
+ 	`bcmp
+ (tmps,"StB",4) == 0) {
+ 
+ 263 ià(!
+ d¡r
+ ->
+ ¡r_magic
+ ) {
+ 
+ 264 
+ d¡r
+ ->
+ ¡r_magic
+  = 
+ 	`¡r_smake
+ (
+ s¡r
+ ->str_magic);
+ 
+ 265 
+ d¡r
+ ->
+ ¡r_magic
+ ->
+ ¡r_¿»
+  = 'X';
+ 
+ 271 ià(
+ s¡r
+ ->
+ ¡r_nok
+ )
+ 
+ 272 
+ 	`¡r_num£t
+ (
+ d¡r
+ ,
+ s¡r
+ ->
+ ¡r_u
+ .
+ ¡r_nv®
+ );
+ 
+ 274 ià(
+ d¡r
+ ->
+ ¡r_¡©e
+  =ð
+ SS_INCR
+ )
+ 
+ 275 
+ 	`SŒ_Grow
+ (
+ d¡r
+ ,0);
+ 
+ 277 #ifdeà
+ STRUCTCOPY
+ 
+ 
+ 278 
+ d¡r
+ ->
+ ¡r_u
+  = 
+ s¡r
+ ->str_u;
+ 
+ 280 
+ d¡r
+ ->
+ ¡r_u
+ .
+ ¡r_nv®
+  = 
+ s¡r
+ ->str_u.str_nval;
+ 
+ 282 
+ d¡r
+ ->
+ ¡r_pok
+  = d¡r->
+ ¡r_nok
+  = 0;
+ 
+ 284 
+ 	}
+ }
+ 
+ 286 
+ 	$¡r_n£t
+ (
+ ¡r
+ ,
+ ±r
+ ,
+ Ën
+ )
+ 
+ 287 
+ STR
+  *
+ ¡r
+ ;
+ 
+ 288 *
+ ±r
+ ;
+ 
+ 289 
+ STRLEN
+  
+ Ën
+ ;
+ 
+ 291 ià(
+ ¡r
+  =ð&
+ ¡r_undef
+ )
+ 
+ 293 
+ 	`STR_GROW
+ (
+ ¡r
+ , 
+ Ën
+  + 1);
+ 
+ 294 ià(
+ ±r
+ )
+ 
+ 295 ()
+ 	`bcÝy
+ (
+ ±r
+ ,
+ ¡r
+ ->
+ ¡r_±r
+ ,
+ Ën
+ );
+ 
+ 296 
+ ¡r
+ ->
+ ¡r_cur
+  = 
+ Ën
+ ;
+ 
+ 297 *(
+ ¡r
+ ->
+ ¡r_±r
+ +¡r->
+ ¡r_cur
+ ) = '\0';
+ 
+ 298 
+ ¡r
+ ->
+ ¡r_nok
+  = 0;
+ 
+ 299 
+ ¡r
+ ->
+ ¡r_pok
+  = 1;
+ 
+ 300 #ifdeà
+ TAINT
+ 
+ 
+ 301 
+ ¡r
+ ->
+ ¡r_š‹d
+  = 
+ š‹d
+ ;
+ 
+ 303 
+ 	}
+ }
+ 
+ 305 
+ 	$¡r_£t
+ (
+ ¡r
+ ,
+ ±r
+ )
+ 
+ 306 
+ STR
+  *
+ ¡r
+ ;
+ 
+ 307 *
+ ±r
+ ;
+ 
+ 309 
+ STRLEN
+  
+ Ën
+ ;
+ 
+ 311 ià(
+ ¡r
+  =ð&
+ ¡r_undef
+ )
+ 
+ 313 ià(!
+ ±r
+ )
+ 
+ 314 
+ ±r
+  = "";
+ 
+ 315 
+ Ën
+  = 
+ 	`¡¾’
+ (
+ ±r
+ );
+ 
+ 316 
+ 	`STR_GROW
+ (
+ ¡r
+ , 
+ Ën
+  + 1);
+ 
+ 317 ()
+ 	`bcÝy
+ (
+ ±r
+ ,
+ ¡r
+ ->
+ ¡r_±r
+ ,
+ Ën
+ +1);
+ 
+ 318 
+ ¡r
+ ->
+ ¡r_cur
+  = 
+ Ën
+ ;
+ 
+ 319 
+ ¡r
+ ->
+ ¡r_nok
+  = 0;
+ 
+ 320 
+ ¡r
+ ->
+ ¡r_pok
+  = 1;
+ 
+ 321 #ifdeà
+ TAINT
+ 
+ 
+ 322 
+ ¡r
+ ->
+ ¡r_š‹d
+  = 
+ š‹d
+ ;
+ 
+ 324 
+ 	}
+ }
+ 
+ 326 
+ 	$¡r_chÝ
+ (
+ ¡r
+ ,
+ ±r
+ )
+ 
+ 327 
+ STR
+  *
+ ¡r
+ ;
+ 
+ 328 *
+ ±r
+ ;
+ 
+ 330 
+ STRLEN
+  
+ d–
+ ;
+ 
+ 332 ià(!
+ ±r
+  || !(
+ ¡r
+ ->
+ ¡r_pok
+ ))
+ 
+ 334 
+ d–
+  = 
+ ±r
+  - 
+ ¡r
+ ->
+ ¡r_±r
+ ;
+ 
+ 335 
+ ¡r
+ ->
+ ¡r_Ën
+  -ð
+ d–
+ ;
+ 
+ 336 
+ ¡r
+ ->
+ ¡r_cur
+  -ð
+ d–
+ ;
+ 
+ 337 
+ ¡r
+ ->
+ ¡r_±r
+  +ð
+ d–
+ ;
+ 
+ 338 ià(
+ ¡r
+ ->
+ ¡r_¡©e
+  =ð
+ SS_INCR
+ )
+ 
+ 339 
+ ¡r
+ ->
+ ¡r_u
+ .
+ ¡r_u£ful
+  +ð
+ d–
+ ;
+ 
+ 341 
+ ¡r
+ ->
+ ¡r_u
+ .
+ ¡r_u£ful
+  = 
+ d–
+ ;
+ 
+ 342 
+ ¡r
+ ->
+ ¡r_¡©e
+  = 
+ SS_INCR
+ ;
+ 
+ 344 
+ ¡r
+ ->
+ ¡r_nok
+  = 0;
+ 
+ 345 
+ ¡r
+ ->
+ ¡r_pok
+  = 1;
+ 
+ 346 
+ 	}
+ }
+ 
+ 348 
+ 	$¡r_nÿt
+ (
+ ¡r
+ ,
+ ±r
+ ,
+ Ën
+ )
+ 
+ 349 
+ STR
+  *
+ ¡r
+ ;
+ 
+ 350 *
+ ±r
+ ;
+ 
+ 351 
+ STRLEN
+  
+ Ën
+ ;
+ 
+ 353 ià(
+ ¡r
+  =ð&
+ ¡r_undef
+ )
+ 
+ 355 ià(!(
+ ¡r
+ ->
+ ¡r_pok
+ ))
+ 
+ 356 ()
+ 	`¡r_2±r
+ (
+ ¡r
+ );
+ 
+ 357 
+ 	`STR_GROW
+ (
+ ¡r
+ , sŒ->
+ ¡r_cur
+  + 
+ Ën
+  + 1);
+ 
+ 358 ()
+ 	`bcÝy
+ (
+ ±r
+ ,
+ ¡r
+ ->
+ ¡r_±r
+ +¡r->
+ ¡r_cur
+ ,
+ Ën
+ );
+ 
+ 359 
+ ¡r
+ ->
+ ¡r_cur
+  +ð
+ Ën
+ ;
+ 
+ 360 *(
+ ¡r
+ ->
+ ¡r_±r
+ +¡r->
+ ¡r_cur
+ ) = '\0';
+ 
+ 361 
+ ¡r
+ ->
+ ¡r_nok
+  = 0;
+ 
+ 362 
+ ¡r
+ ->
+ ¡r_pok
+  = 1;
+ 
+ 363 #ifdeà
+ TAINT
+ 
+ 
+ 364 
+ ¡r
+ ->
+ ¡r_š‹d
+  |ð
+ š‹d
+ ;
+ 
+ 366 
+ 	}
+ }
+ 
+ 368 
+ 	$¡r_sÿt
+ (
+ d¡r
+ ,
+ s¡r
+ )
+ 
+ 369 
+ STR
+  *
+ d¡r
+ ;
+ 
+ 370 
+ STR
+  *
+ s¡r
+ ;
+ 
+ 372 #ifdeà
+ TAINT
+ 
+ 
+ 373 
+ š‹d
+  |ð
+ s¡r
+ ->
+ ¡r_š‹d
+ ;
+ 
+ 375 ià(!
+ s¡r
+ )
+ 
+ 377 ià(!(
+ s¡r
+ ->
+ ¡r_pok
+ ))
+ 
+ 378 ()
+ 	`¡r_2±r
+ (
+ s¡r
+ );
+ 
+ 379 ià(
+ s¡r
+ )
+ 
+ 380 
+ 	`¡r_nÿt
+ (
+ d¡r
+ ,
+ s¡r
+ ->
+ ¡r_±r
+ ,s¡r->
+ ¡r_cur
+ );
+ 
+ 381 
+ 	}
+ }
+ 
+ 383 
+ 	$¡r_ÿt
+ (
+ ¡r
+ ,
+ ±r
+ )
+ 
+ 384 
+ STR
+  *
+ ¡r
+ ;
+ 
+ 385 *
+ ±r
+ ;
+ 
+ 387 
+ STRLEN
+  
+ Ën
+ ;
+ 
+ 389 ià(
+ ¡r
+  =ð&
+ ¡r_undef
+ )
+ 
+ 391 ià(!
+ ±r
+ )
+ 
+ 393 ià(!(
+ ¡r
+ ->
+ ¡r_pok
+ ))
+ 
+ 394 ()
+ 	`¡r_2±r
+ (
+ ¡r
+ );
+ 
+ 395 
+ Ën
+  = 
+ 	`¡¾’
+ (
+ ±r
+ );
+ 
+ 396 
+ 	`STR_GROW
+ (
+ ¡r
+ , sŒ->
+ ¡r_cur
+  + 
+ Ën
+  + 1);
+ 
+ 397 ()
+ 	`bcÝy
+ (
+ ±r
+ ,
+ ¡r
+ ->
+ ¡r_±r
+ +¡r->
+ ¡r_cur
+ ,
+ Ën
+ +1);
+ 
+ 398 
+ ¡r
+ ->
+ ¡r_cur
+  +ð
+ Ën
+ ;
+ 
+ 399 
+ ¡r
+ ->
+ ¡r_nok
+  = 0;
+ 
+ 400 
+ ¡r
+ ->
+ ¡r_pok
+  = 1;
+ 
+ 401 #ifdeà
+ TAINT
+ 
+ 
+ 402 
+ ¡r
+ ->
+ ¡r_š‹d
+  |ð
+ š‹d
+ ;
+ 
+ 404 
+ 	}
+ }
+ 
+ 407 
+ 	$¡r_­³nd_tžl
+ (
+ ¡r
+ ,
+ äom
+ ,
+ äom’d
+ ,
+ d–im
+ ,
+ k“¶i¡
+ )
+ 
+ 408 
+ STR
+  *
+ ¡r
+ ;
+ 
+ 409 *
+ äom
+ ;
+ 
+ 410 *
+ äom’d
+ ;
+ 
+ 411 
+ d–im
+ ;
+ 
+ 412 *
+ k“¶i¡
+ ;
+ 
+ 414 *
+ to
+ ;
+ 
+ 415 
+ STRLEN
+  
+ Ën
+ ;
+ 
+ 417 ià(
+ ¡r
+  =ð&
+ ¡r_undef
+ )
+ 
+ 418  
+ NuÎch
+ ;
+ 
+ 419 ià(!
+ äom
+ )
+ 
+ 420  
+ NuÎch
+ ;
+ 
+ 421 
+ Ën
+  = 
+ äom’d
+  - 
+ äom
+ ;
+ 
+ 422 
+ 	`STR_GROW
+ (
+ ¡r
+ , sŒ->
+ ¡r_cur
+  + 
+ Ën
+  + 1);
+ 
+ 423 
+ ¡r
+ ->
+ ¡r_nok
+  = 0;
+ 
+ 424 
+ ¡r
+ ->
+ ¡r_pok
+  = 1;
+ 
+ 425 
+ to
+  = 
+ ¡r
+ ->
+ ¡r_±r
+ +¡r->
+ ¡r_cur
+ ;
+ 
+ 426 ; 
+ äom
+  < 
+ äom’d
+ ; from++,
+ to
+ ++) {
+ 
+ 427 ià(*
+ äom
+  =ð'\\' && from+1 < 
+ äom’d
+  && 
+ d–im
+  != '\\') {
+ 
+ 428 ià(!
+ k“¶i¡
+ ) {
+ 
+ 429 ià(
+ äom
+ [1] =ð
+ d–im
+  || from[1] == '\\')
+ 
+ 430 
+ äom
+ ++;
+ 
+ 432 *
+ to
+ ++ = *
+ äom
+ ++;
+ 
+ 434 ià(
+ äom
+ [1] && 
+ 	`šdex
+ (
+ k“¶i¡
+ ,from[1]))
+ 
+ 435 *
+ to
+ ++ = *
+ äom
+ ++;
+ 
+ 437 
+ äom
+ ++;
+ 
+ 439 ià(*
+ äom
+  =ð
+ d–im
+ )
+ 
+ 441 *
+ to
+  = *
+ äom
+ ;
+ 
+ 443 *
+ to
+  = '\0';
+ 
+ 444 
+ ¡r
+ ->
+ ¡r_cur
+  = 
+ to
+  - sŒ->
+ ¡r_±r
+ ;
+ 
+ 445  
+ äom
+ ;
+ 
+ 446 
+ 	}
+ }
+ 
+ 448 
+ 	gSTR
+  *
+ 
+ 449 #ifdeà
+ LEAKTEST
+ 
+ 
+ 450 
+ 	$¡r_Ãw
+ (
+ x
+ ,
+ Ën
+ )
+ 
+ 451 
+ x
+ ;
+ 
+ 453 
+ 	$¡r_Ãw
+ (
+ Ën
+ )
+ 
+ 455 
+ STRLEN
+  
+ Ën
+ ;
+ 
+ 457 
+ STR
+  *
+ ¡r
+ ;
+ 
+ 459 #ià
+ 	`defšed
+ (
+ NOMEMOPT
+ )
+ 
+ 460 
+ 	`Newz
+ (700+
+ x
+ ,
+ ¡r
+ ,1,
+ STR
+ );
+ 
+ 462 ià(
+ ä“¡¼oÙ
+ ) {
+ 
+ 463 
+ ¡r
+  = 
+ ä“¡¼oÙ
+ ;
+ 
+ 464 
+ ä“¡¼oÙ
+  = 
+ ¡r
+ ->
+ ¡r_magic
+ ;
+ 
+ 465 
+ ¡r
+ ->
+ ¡r_magic
+  = 
+ NuΡr
+ ;
+ 
+ 466 
+ ¡r
+ ->
+ ¡r_¡©e
+  = 
+ SS_NORM
+ ;
+ 
+ 469 
+ 	`Newz
+ (700+
+ x
+ ,
+ ¡r
+ ,1,
+ STR
+ );
+ 
+ 472 ià(
+ Ën
+ )
+ 
+ 473 
+ 	`STR_GROW
+ (
+ ¡r
+ , 
+ Ën
+  + 1);
+ 
+ 474  
+ ¡r
+ ;
+ 
+ 475 
+ 	}
+ }
+ 
+ 478 
+ 	$¡r_magic
+ (
+ ¡r
+ , 
+ ¡ab
+ , 
+ how
+ , 
+ Çme
+ , 
+ ÇmËn
+ )
+ 
+ 479 
+ STR
+  *
+ ¡r
+ ;
+ 
+ 480 
+ STAB
+  *
+ ¡ab
+ ;
+ 
+ 481 
+ how
+ ;
+ 
+ 482 *
+ Çme
+ ;
+ 
+ 483 
+ STRLEN
+  
+ ÇmËn
+ ;
+ 
+ 485 ià(
+ ¡r
+  =ð&
+ ¡r_undef
+  || sŒ->
+ ¡r_magic
+ )
+ 
+ 487 
+ ¡r
+ ->
+ ¡r_magic
+  = 
+ 	`SŒ_Ãw
+ (75,
+ ÇmËn
+ );
+ 
+ 488 
+ ¡r
+  = sŒ->
+ ¡r_magic
+ ;
+ 
+ 489 
+ ¡r
+ ->
+ ¡r_u
+ .
+ ¡r_¡ab
+  = 
+ ¡ab
+ ;
+ 
+ 490 
+ ¡r
+ ->
+ ¡r_¿»
+  = 
+ how
+ ;
+ 
+ 491 ià(
+ Çme
+ )
+ 
+ 492 
+ 	`¡r_n£t
+ (
+ ¡r
+ ,
+ Çme
+ ,
+ ÇmËn
+ );
+ 
+ 493 
+ 	}
+ }
+ 
+ 496 
+ 	$¡r_š£¹
+ (
+ big¡r
+ ,
+ off£t
+ ,
+ Ën
+ ,
+ l™Že
+ ,
+ l™Ž–’
+ )
+ 
+ 497 
+ STR
+  *
+ big¡r
+ ;
+ 
+ 498 
+ STRLEN
+  
+ off£t
+ ;
+ 
+ 499 
+ STRLEN
+  
+ Ën
+ ;
+ 
+ 500 *
+ l™Že
+ ;
+ 
+ 501 
+ STRLEN
+  
+ l™Ž–’
+ ;
+ 
+ 503 *
+ big
+ ;
+ 
+ 504 *
+ mid
+ ;
+ 
+ 505 *
+ mid’d
+ ;
+ 
+ 506 *
+ big’d
+ ;
+ 
+ 507 
+ i
+ ;
+ 
+ 509 ià(
+ big¡r
+  =ð&
+ ¡r_undef
+ )
+ 
+ 511 
+ big¡r
+ ->
+ ¡r_nok
+  = 0;
+ 
+ 512 
+ big¡r
+ ->
+ ¡r_pok
+  = 
+ SP_VALID
+ ;
+ 
+ 514 
+ i
+  = 
+ l™Ž–’
+  - 
+ Ën
+ ;
+ 
+ 515 ià(
+ i
+  > 0) {
+ 
+ 516 
+ 	`STR_GROW
+ (
+ big¡r
+ , big¡r->
+ ¡r_cur
+  + 
+ i
+  + 1);
+ 
+ 517 
+ big
+  = 
+ big¡r
+ ->
+ ¡r_±r
+ ;
+ 
+ 518 
+ mid
+  = 
+ big
+  + 
+ off£t
+  + 
+ Ën
+ ;
+ 
+ 519 
+ mid’d
+  = 
+ big’d
+  = 
+ big
+  + 
+ big¡r
+ ->
+ ¡r_cur
+ ;
+ 
+ 520 
+ big’d
+  +ð
+ i
+ ;
+ 
+ 521 *
+ big’d
+  = '\0';
+ 
+ 522 
+ mid’d
+  > 
+ mid
+ )
+ 
+ 523 *--
+ big’d
+  = *--
+ mid’d
+ ;
+ 
+ 524 ()
+ 	`bcÝy
+ (
+ l™Že
+ ,
+ big
+ +
+ off£t
+ ,
+ l™Ž–’
+ );
+ 
+ 525 
+ big¡r
+ ->
+ ¡r_cur
+  +ð
+ i
+ ;
+ 
+ 526 
+ 	`STABSET
+ (
+ big¡r
+ );
+ 
+ 529 ià(
+ i
+  == 0) {
+ 
+ 530 ()
+ 	`bcÝy
+ (
+ l™Že
+ ,
+ big¡r
+ ->
+ ¡r_±r
+ +
+ off£t
+ ,
+ Ën
+ );
+ 
+ 531 
+ 	`STABSET
+ (
+ big¡r
+ );
+ 
+ 535 
+ big
+  = 
+ big¡r
+ ->
+ ¡r_±r
+ ;
+ 
+ 536 
+ mid
+  = 
+ big
+  + 
+ off£t
+ ;
+ 
+ 537 
+ mid’d
+  = 
+ mid
+  + 
+ Ën
+ ;
+ 
+ 538 
+ big’d
+  = 
+ big
+  + 
+ big¡r
+ ->
+ ¡r_cur
+ ;
+ 
+ 540 ià(
+ mid’d
+  > 
+ big’d
+ )
+ 
+ 541 
+ 	`çl
+ ("panic: str_insert");
+ 
+ 543 ià(
+ mid
+  - 
+ big
+  > 
+ big’d
+  - 
+ mid’d
+ ) {
+ 
+ 544 ià(
+ l™Ž–’
+ ) {
+ 
+ 545 ()
+ 	`bcÝy
+ (
+ l™Že
+ , 
+ mid
+ , 
+ l™Ž–’
+ );
+ 
+ 546 
+ mid
+  +ð
+ l™Ž–’
+ ;
+ 
+ 548 
+ i
+  = 
+ big’d
+  - 
+ mid’d
+ ;
+ 
+ 549 ià(
+ i
+  > 0) {
+ 
+ 550 ()
+ 	`bcÝy
+ (
+ mid’d
+ , 
+ mid
+ , 
+ i
+ );
+ 
+ 551 
+ mid
+  +ð
+ i
+ ;
+ 
+ 553 *
+ mid
+  = '\0';
+ 
+ 554 
+ big¡r
+ ->
+ ¡r_cur
+  = 
+ mid
+  - 
+ big
+ ;
+ 
+ 556 ià(
+ i
+  = 
+ mid
+  - 
+ big
+ ) {
+ 
+ 557 
+ mid’d
+  -ð
+ l™Ž–’
+ ;
+ 
+ 558 
+ mid
+  = 
+ mid’d
+ ;
+ 
+ 559 
+ 	`¡r_chÝ
+ (
+ big¡r
+ ,
+ mid’d
+ -
+ i
+ );
+ 
+ 560 
+ big
+  +ð
+ i
+ ;
+ 
+ 561 
+ i
+ --)
+ 
+ 562 *--
+ mid’d
+  = *--
+ big
+ ;
+ 
+ 563 ià(
+ l™Ž–’
+ )
+ 
+ 564 ()
+ 	`bcÝy
+ (
+ l™Že
+ , 
+ mid
+ , 
+ l™Ž–’
+ );
+ 
+ 566 ià(
+ l™Ž–’
+ ) {
+ 
+ 567 
+ mid’d
+  -ð
+ l™Ž–’
+ ;
+ 
+ 568 
+ 	`¡r_chÝ
+ (
+ big¡r
+ ,
+ mid’d
+ );
+ 
+ 569 ()
+ 	`bcÝy
+ (
+ l™Že
+ ,
+ mid’d
+ ,
+ l™Ž–’
+ );
+ 
+ 572 
+ 	`¡r_chÝ
+ (
+ big¡r
+ ,
+ mid’d
+ );
+ 
+ 574 
+ 	`STABSET
+ (
+ big¡r
+ );
+ 
+ 575 
+ 	}
+ }
+ 
+ 580 
+ 	$¡r_»¶aû
+ (
+ ¡r
+ ,
+ n¡r
+ )
+ 
+ 581 
+ STR
+  *
+ ¡r
+ ;
+ 
+ 582 
+ STR
+  *
+ n¡r
+ ;
+ 
+ 584 ià(
+ ¡r
+  =ð&
+ ¡r_undef
+ )
+ 
+ 586 ià(
+ ¡r
+ ->
+ ¡r_¡©e
+  =ð
+ SS_INCR
+ )
+ 
+ 587 
+ 	`SŒ_Grow
+ (
+ ¡r
+ ,0);
+ 
+ 588 ià(
+ n¡r
+ ->
+ ¡r_¡©e
+  =ð
+ SS_INCR
+ )
+ 
+ 589 
+ 	`SŒ_Grow
+ (
+ n¡r
+ ,0);
+ 
+ 590 ià(
+ ¡r
+ ->
+ ¡r_±r
+ )
+ 
+ 591 
+ 	`Saãä“
+ (
+ ¡r
+ ->
+ ¡r_±r
+ );
+ 
+ 592 
+ ¡r
+ ->
+ ¡r_±r
+  = 
+ n¡r
+ ->str_ptr;
+ 
+ 593 
+ ¡r
+ ->
+ ¡r_Ën
+  = 
+ n¡r
+ ->str_len;
+ 
+ 594 
+ ¡r
+ ->
+ ¡r_cur
+  = 
+ n¡r
+ ->str_cur;
+ 
+ 595 
+ ¡r
+ ->
+ ¡r_pok
+  = 
+ n¡r
+ ->str_pok;
+ 
+ 596 
+ ¡r
+ ->
+ ¡r_nok
+  = 
+ n¡r
+ ->str_nok;
+ 
+ 597 #ifdeà
+ STRUCTCOPY
+ 
+ 
+ 598 
+ ¡r
+ ->
+ ¡r_u
+  = 
+ n¡r
+ ->str_u;
+ 
+ 600 
+ ¡r
+ ->
+ ¡r_u
+ .
+ ¡r_nv®
+  = 
+ n¡r
+ ->str_u.str_nval;
+ 
+ 602 #ifdeà
+ TAINT
+ 
+ 
+ 603 
+ ¡r
+ ->
+ ¡r_š‹d
+  = 
+ n¡r
+ ->str_tainted;
+ 
+ 605 ià(
+ n¡r
+ ->
+ ¡r_magic
+ )
+ 
+ 606 
+ 	`¡r_ä“
+ (
+ n¡r
+ ->
+ ¡r_magic
+ );
+ 
+ 607 
+ 	`Saãä“
+ (
+ n¡r
+ );
+ 
+ 608 
+ 	}
+ }
+ 
+ 611 
+ 	$¡r_ä“
+ (
+ ¡r
+ )
+ 
+ 612 
+ STR
+  *
+ ¡r
+ ;
+ 
+ 614 ià(!
+ ¡r
+  || sŒ =ð&
+ ¡r_undef
+ )
+ 
+ 616 ià(
+ ¡r
+ ->
+ ¡r_¡©e
+ ) {
+ 
+ 617 ià(
+ ¡r
+ ->
+ ¡r_¡©e
+  =ð
+ SS_FREE
+ )
+ 
+ 619 ià(
+ ¡r
+ ->
+ ¡r_¡©e
+  =ð
+ SS_INCR
+  && !(¡r->
+ ¡r_pok
+  & 2)) {
+ 
+ 620 
+ ¡r
+ ->
+ ¡r_±r
+  -ð¡r->
+ ¡r_u
+ .
+ ¡r_u£ful
+ ;
+ 
+ 621 
+ ¡r
+ ->
+ ¡r_Ën
+  +ð¡r->
+ ¡r_u
+ .
+ ¡r_u£ful
+ ;
+ 
+ 624 ià(
+ ¡r
+ ->
+ ¡r_magic
+ )
+ 
+ 625 
+ 	`¡r_ä“
+ (
+ ¡r
+ ->
+ ¡r_magic
+ );
+ 
+ 626 
+ ¡r
+ ->
+ ¡r_magic
+  = 
+ ä“¡¼oÙ
+ ;
+ 
+ 627 #ià
+ 	`defšed
+ (
+ LEAKTEST
+ è|| defšed(
+ NOMEMOPT
+ )
+ 
+ 628 ià(
+ ¡r
+ ->
+ ¡r_Ën
+ ) {
+ 
+ 629 
+ 	`Saãä“
+ (
+ ¡r
+ ->
+ ¡r_±r
+ );
+ 
+ 630 
+ ¡r
+ ->
+ ¡r_±r
+  = 
+ NuÎch
+ ;
+ 
+ 632 ià((
+ ¡r
+ ->
+ ¡r_pok
+  & 
+ SP_INTRP
+ è&& sŒ->
+ ¡r_u
+ .
+ ¡r_¬gs
+ )
+ 
+ 633 
+ 	`¬g_ä“
+ (
+ ¡r
+ ->
+ ¡r_u
+ .
+ ¡r_¬gs
+ );
+ 
+ 634 
+ 	`Saãä“
+ (
+ ¡r
+ );
+ 
+ 636 ià(
+ ¡r
+ ->
+ ¡r_Ën
+ ) {
+ 
+ 637 ià(
+ ¡r
+ ->
+ ¡r_Ën
+  > 127) {
+ 
+ 638 
+ 	`Saãä“
+ (
+ ¡r
+ ->
+ ¡r_±r
+ );
+ 
+ 639 
+ ¡r
+ ->
+ ¡r_±r
+  = 
+ NuÎch
+ ;
+ 
+ 640 
+ ¡r
+ ->
+ ¡r_Ën
+  = 0;
+ 
+ 643 
+ ¡r
+ ->
+ ¡r_±r
+ [0] = '\0';
+ 
+ 645 ià((
+ ¡r
+ ->
+ ¡r_pok
+  & 
+ SP_INTRP
+ è&& sŒ->
+ ¡r_u
+ .
+ ¡r_¬gs
+ )
+ 
+ 646 
+ 	`¬g_ä“
+ (
+ ¡r
+ ->
+ ¡r_u
+ .
+ ¡r_¬gs
+ );
+ 
+ 647 
+ ¡r
+ ->
+ ¡r_cur
+  = 0;
+ 
+ 648 
+ ¡r
+ ->
+ ¡r_nok
+  = 0;
+ 
+ 649 
+ ¡r
+ ->
+ ¡r_pok
+  = 0;
+ 
+ 650 
+ ¡r
+ ->
+ ¡r_¡©e
+  = 
+ SS_FREE
+ ;
+ 
+ 651 #ifdeà
+ TAINT
+ 
+ 
+ 652 
+ ¡r
+ ->
+ ¡r_š‹d
+  = 0;
+ 
+ 654 
+ ä“¡¼oÙ
+  = 
+ ¡r
+ ;
+ 
+ 656 
+ 	}
+ }
+ 
+ 658 
+ STRLEN
+ 
+ 
+ 659 
+ 	$¡r_Ën
+ (
+ ¡r
+ )
+ 
+ 660 
+ STR
+  *
+ ¡r
+ ;
+ 
+ 662 ià(!
+ ¡r
+ )
+ 
+ 664 ià(!(
+ ¡r
+ ->
+ ¡r_pok
+ ))
+ 
+ 665 ()
+ 	`¡r_2±r
+ (
+ ¡r
+ );
+ 
+ 666 ià(
+ ¡r
+ ->
+ ¡r_±r
+ )
+ 
+ 667  
+ ¡r
+ ->
+ ¡r_cur
+ ;
+ 
+ 670 
+ 	}
+ }
+ 
+ 672 
+ 	$¡r_eq
+ (
+ ¡r1
+ ,
+ ¡r2
+ )
+ 
+ 673 
+ STR
+  *
+ ¡r1
+ ;
+ 
+ 674 
+ STR
+  *
+ ¡r2
+ ;
+ 
+ 676 ià(!
+ ¡r1
+  || sŒ1 =ð&
+ ¡r_undef
+ )
+ 
+ 677  (
+ ¡r2
+  =ð
+ NuΡr
+  || sŒ2 =ð&
+ ¡r_undef
+  || !¡r2->
+ ¡r_cur
+ );
+ 
+ 678 ià(!
+ ¡r2
+  || sŒ2 =ð&
+ ¡r_undef
+ )
+ 
+ 679  !
+ ¡r1
+ ->
+ ¡r_cur
+ ;
+ 
+ 681 ià(!
+ ¡r1
+ ->
+ ¡r_pok
+ )
+ 
+ 682 ()
+ 	`¡r_2±r
+ (
+ ¡r1
+ );
+ 
+ 683 ià(!
+ ¡r2
+ ->
+ ¡r_pok
+ )
+ 
+ 684 ()
+ 	`¡r_2±r
+ (
+ ¡r2
+ );
+ 
+ 686 ià(
+ ¡r1
+ ->
+ ¡r_cur
+  !ð
+ ¡r2
+ ->str_cur)
+ 
+ 689  !
+ 	`bcmp
+ (
+ ¡r1
+ ->
+ ¡r_±r
+ , 
+ ¡r2
+ ->¡r_±r, sŒ1->
+ ¡r_cur
+ );
+ 
+ 690 
+ 	}
+ }
+ 
+ 692 
+ 	$¡r_cmp
+ (
+ ¡r1
+ ,
+ ¡r2
+ )
+ 
+ 693 
+ STR
+  *
+ ¡r1
+ ;
+ 
+ 694 
+ STR
+  *
+ ¡r2
+ ;
+ 
+ 696 
+ »tv®
+ ;
+ 
+ 698 ià(!
+ ¡r1
+  || sŒ1 =ð&
+ ¡r_undef
+ )
+ 
+ 699  (
+ ¡r2
+  =ð
+ NuΡr
+  || sŒ2 =ð&
+ ¡r_undef
+  || !¡r2->
+ ¡r_cur
+ )?0:-1;
+ 
+ 700 ià(!
+ ¡r2
+  || sŒ2 =ð&
+ ¡r_undef
+ )
+ 
+ 701  
+ ¡r1
+ ->
+ ¡r_cur
+  != 0;
+ 
+ 703 ià(!
+ ¡r1
+ ->
+ ¡r_pok
+ )
+ 
+ 704 ()
+ 	`¡r_2±r
+ (
+ ¡r1
+ );
+ 
+ 705 ià(!
+ ¡r2
+ ->
+ ¡r_pok
+ )
+ 
+ 706 ()
+ 	`¡r_2±r
+ (
+ ¡r2
+ );
+ 
+ 708 ià(
+ ¡r1
+ ->
+ ¡r_cur
+  < 
+ ¡r2
+ ->str_cur) {
+ 
+ 709 ià(
+ »tv®
+  = 
+ 	`memcmp
+ (
+ ¡r1
+ ->
+ ¡r_±r
+ , 
+ ¡r2
+ ->¡r_±r, sŒ1->
+ ¡r_cur
+ ))
+ 
+ 710  
+ »tv®
+  < 0 ? -1 : 1;
+ 
+ 714 ià(
+ »tv®
+  = 
+ 	`memcmp
+ (
+ ¡r1
+ ->
+ ¡r_±r
+ , 
+ ¡r2
+ ->¡r_±r, sŒ2->
+ ¡r_cur
+ ))
+ 
+ 715  
+ »tv®
+  < 0 ? -1 : 1;
+ 
+ 716 ià(
+ ¡r1
+ ->
+ ¡r_cur
+  =ð
+ ¡r2
+ ->str_cur)
+ 
+ 720 
+ 	}
+ }
+ 
+ 723 
+ 	$¡r_g‘s
+ (
+ ¡r
+ ,
+ å
+ ,
+ ­³nd
+ )
+ 
+ 724 
+ STR
+  *
+ ¡r
+ ;
+ 
+ 725 
+ FILE
+  *
+ å
+ ;
+ 
+ 726 
+ ­³nd
+ ;
+ 
+ 728 *
+ bp
+ ;
+ 
+ 729 
+ út
+ ;
+ 
+ 730 
+ STDCHAR
+  *
+ ±r
+ ;
+ 
+ 731 
+ Ãwlše
+  = 
+ rsch¬
+ ;
+ 
+ 732 
+ i
+ ;
+ 
+ 733 
+ STRLEN
+  
+ bpx
+ ;
+ 
+ 734 
+ shÜtbufã»d
+ ;
+ 
+ 736 ià(
+ ¡r
+  =ð&
+ ¡r_undef
+ )
+ 
+ 737  
+ NuÎch
+ ;
+ 
+ 738 #ifdeà
+ STDSTDIO
+ 
+ 
+ 739 
+ út
+  = 
+ å
+ ->
+ _út
+ ;
+ 
+ 740 
+ ¡r
+ ->
+ ¡r_nok
+  = 0;
+ 
+ 741 
+ ¡r
+ ->
+ ¡r_pok
+  = 1;
+ 
+ 742 ià(
+ ¡r
+ ->
+ ¡r_Ën
+  <ð
+ út
+  + 1) {
+ 
+ 743 ià(
+ út
+  > 80 && 
+ ¡r
+ ->
+ ¡r_Ën
+  > 
+ ­³nd
+ ) {
+ 
+ 744 
+ shÜtbufã»d
+  = 
+ út
+  - 
+ ¡r
+ ->
+ ¡r_Ën
+  + 
+ ­³nd
+  + 1;
+ 
+ 745 
+ út
+  -ð
+ shÜtbufã»d
+ ;
+ 
+ 748 
+ shÜtbufã»d
+  = 0;
+ 
+ 749 
+ 	`STR_GROW
+ (
+ ¡r
+ , 
+ ­³nd
+ +
+ út
+ +2);
+ 
+ 753 
+ shÜtbufã»d
+  = 0;
+ 
+ 754 
+ bp
+  = 
+ ¡r
+ ->
+ ¡r_±r
+  + 
+ ­³nd
+ ;
+ 
+ 755 
+ ±r
+  = 
+ å
+ ->
+ _±r
+ ;
+ 
+ 757 
+ sü—m”
+ :
+ 
+ 758 --
+ út
+  >= 0) {
+ 
+ 759 ià((*
+ bp
+ ++ = *
+ ±r
+ ++è=ð
+ Ãwlše
+ )
+ 
+ 760 
+ th©s_®l_fÞks
+ ;
+ 
+ 763 ià(
+ shÜtbufã»d
+ ) {
+ 
+ 764 
+ út
+  = 
+ shÜtbufã»d
+ ;
+ 
+ 765 
+ shÜtbufã»d
+  = 0;
+ 
+ 766 
+ bpx
+  = 
+ bp
+  - 
+ ¡r
+ ->
+ ¡r_±r
+ ;
+ 
+ 767 
+ ¡r
+ ->
+ ¡r_cur
+  = 
+ bpx
+ ;
+ 
+ 768 
+ 	`STR_GROW
+ (
+ ¡r
+ , sŒ->
+ ¡r_Ën
+  + 
+ ­³nd
+  + 
+ út
+  + 2);
+ 
+ 769 
+ bp
+  = 
+ ¡r
+ ->
+ ¡r_±r
+  + 
+ bpx
+ ;
+ 
+ 773 
+ å
+ ->
+ _út
+  = 
+ út
+ ;
+ 
+ 774 
+ å
+ ->
+ _±r
+  = 
+ ±r
+ ;
+ 
+ 775 
+ i
+  = 
+ 	`_fžbuf
+ (
+ å
+ );
+ 
+ 776 
+ út
+  = 
+ å
+ ->
+ _út
+ ;
+ 
+ 777 
+ ±r
+  = 
+ å
+ ->
+ _±r
+ ;
+ 
+ 779 
+ bpx
+  = 
+ bp
+  - 
+ ¡r
+ ->
+ ¡r_±r
+ ;
+ 
+ 780 
+ ¡r
+ ->
+ ¡r_cur
+  = 
+ bpx
+ ;
+ 
+ 781 
+ 	`STR_GROW
+ (
+ ¡r
+ , 
+ bpx
+  + 
+ út
+  + 2);
+ 
+ 782 
+ bp
+  = 
+ ¡r
+ ->
+ ¡r_±r
+  + 
+ bpx
+ ;
+ 
+ 784 ià(
+ i
+  =ð
+ Ãwlše
+ ) {
+ 
+ 785 *
+ bp
+ ++ = 
+ i
+ ;
+ 
+ 786 
+ th©s_®l_fÞks
+ ;
+ 
+ 788 ià(
+ i
+  =ð
+ EOF
+ )
+ 
+ 789 
+ th©s_»®ly_®l_fÞks
+ ;
+ 
+ 790 *
+ bp
+ ++ = 
+ i
+ ;
+ 
+ 793 
+ th©s_®l_fÞks
+ :
+ 
+ 794 ià(
+ r¦’
+  > 1 && (
+ bp
+  - 
+ ¡r
+ ->
+ ¡r_±r
+  <„¦’ || 
+ 	`bcmp
+ (b°-„¦’, 
+ rs
+ ,„slen)))
+ 
+ 795 
+ sü—m”
+ ;
+ 
+ 796 
+ th©s_»®ly_®l_fÞks
+ :
+ 
+ 797 ià(
+ shÜtbufã»d
+ )
+ 
+ 798 
+ út
+  +ð
+ shÜtbufã»d
+ ;
+ 
+ 799 
+ å
+ ->
+ _út
+  = 
+ út
+ ;
+ 
+ 800 
+ å
+ ->
+ _±r
+  = 
+ ±r
+ ;
+ 
+ 801 *
+ bp
+  = '\0';
+ 
+ 802 
+ ¡r
+ ->
+ ¡r_cur
+  = 
+ bp
+  - sŒ->
+ ¡r_±r
+ ;
+ 
+ 807 
+ buf
+ [8192];
+ 
+ 808 * 
+ b³
+  = 
+ buf
+  + (buf) - 3;
+ 
+ 810 
+ sü—m”
+ :
+ 
+ 811 
+ bp
+  = 
+ buf
+ ;
+ 
+ 812 (
+ i
+  = 
+ 	`g‘c
+ (
+ å
+ )è!ð
+ EOF
+  && (*
+ bp
+ ++ = iè!ð
+ Ãwlše
+  && b°< 
+ b³
+ ) ;
+ 
+ 814 *
+ bp
+  = '\0';
+ 
+ 815 ià(
+ ­³nd
+ )
+ 
+ 816 
+ 	`¡r_ÿt
+ (
+ ¡r
+ , 
+ buf
+ );
+ 
+ 818 
+ 	`¡r_£t
+ (
+ ¡r
+ , 
+ buf
+ );
+ 
+ 819 ià(
+ i
+  !ð
+ EOF
+ 
+ 
+ 821 (
+ i
+  !ð
+ Ãwlše
+ 
+ 
+ 823 (
+ r¦’
+  > 1
+ 
+ 825 (
+ ¡r
+ ->
+ ¡r_cur
+  < 
+ r¦’
+ 
+ 
+ 827 
+ 	`bcmp
+ (
+ ¡r
+ ->
+ ¡r_±r
+  + sŒ->
+ ¡r_cur
+  - 
+ r¦’
+ , 
+ rs
+ ,„slen)
+ 
+ 833 
+ ­³nd
+  = -1;
+ 
+ 834 
+ sü—m”
+ ;
+ 
+ 840  
+ ¡r
+ ->
+ ¡r_cur
+  - 
+ ­³nd
+  ? sŒ->
+ ¡r_±r
+  : 
+ NuÎch
+ ;
+ 
+ 841 
+ 	}
+ }
+ 
+ 843 
+ ARG
+  *
+ 
+ 844 
+ 	$·r£li¡
+ (
+ ¡r
+ )
+ 
+ 845 
+ STR
+  *
+ ¡r
+ ;
+ 
+ 847 
+ CMD
+  *
+ cmd
+ ;
+ 
+ 848 
+ ARG
+  *
+ ¬g
+ ;
+ 
+ 849 
+ CMD
+  *
+ Þdcurcmd
+  = 
+ curcmd
+ ;
+ 
+ 850 
+ Þd³¾db
+  = 
+ ³¾db
+ ;
+ 
+ 851 
+ »tv®
+ ;
+ 
+ 853 
+ ³¾db
+  = 0;
+ 
+ 854 
+ 	`¡r_s£t
+ (
+ lše¡r
+ ,
+ ¡r
+ );
+ 
+ 855 
+ š_ev®
+ ++;
+ 
+ 856 
+ ÞdÞdbuåŒ
+  = 
+ ÞdbuåŒ
+  = 
+ buåŒ
+  = 
+ 	`¡r_g‘
+ (
+ lše¡r
+ );
+ 
+ 857 
+ buãnd
+  = 
+ buåŒ
+  + 
+ lše¡r
+ ->
+ ¡r_cur
+ ;
+ 
+ 858 ià(++
+ loÝ_±r
+  >ð
+ loÝ_max
+ ) {
+ 
+ 859 
+ loÝ_max
+  += 128;
+ 
+ 860 
+ 	`R’ew
+ (
+ loÝ_¡ack
+ , 
+ loÝ_max
+ , 
+ loÝ
+ );
+ 
+ 862 
+ loÝ_¡ack
+ [
+ loÝ_±r
+ ].
+ loÝ_Ïb–
+  = "_EVAL_";
+ 
+ 863 
+ loÝ_¡ack
+ [
+ loÝ_±r
+ ].
+ loÝ_¥
+  = 0;
+ 
+ 864 #ifdeà
+ DEBUGGING
+ 
+ 
+ 865 ià(
+ debug
+  & 4) {
+ 
+ 866 
+ 	`deb
+ ("(Pushšg†ab– #%d _EVAL_)\n", 
+ loÝ_±r
+ );
+ 
+ 869 ià(
+ 	`£tjmp
+ (
+ loÝ_¡ack
+ [
+ loÝ_±r
+ ].
+ loÝ_’v
+ )) {
+ 
+ 870 
+ š_ev®
+ --;
+ 
+ 871 
+ loÝ_±r
+ --;
+ 
+ 872 
+ ³¾db
+  = 
+ Þd³¾db
+ ;
+ 
+ 873 
+ 	`çl
+ ("%s\n",
+ 	`¡ab_v®
+ (
+ 	`¡ab’t
+ ("@",
+ TRUE
+ ))->
+ ¡r_±r
+ );
+ 
+ 875 #ifdeà
+ DEBUGGING
+ 
+ 
+ 876 ià(
+ debug
+  & 4) {
+ 
+ 877 *
+ tmps
+  = 
+ loÝ_¡ack
+ [
+ loÝ_±r
+ ].
+ loÝ_Ïb–
+ ;
+ 
+ 878 
+ 	`deb
+ ("(PÝpšg†ab– #%d %s)\n",
+ loÝ_±r
+ ,
+ 
+ 879 
+ tmps
+  ?mps : "" );
+ 
+ 882 
+ loÝ_±r
+ --;
+ 
+ 883 
+ ”rÜ_couÁ
+  = 0;
+ 
+ 884 
+ curcmd
+  = &
+ compžšg
+ ;
+ 
+ 885 
+ curcmd
+ ->
+ c_lše
+  = 
+ Þdcurcmd
+ ->c_line;
+ 
+ 886 
+ »tv®
+  = 
+ 	`yy·r£
+ ();
+ 
+ 887 
+ curcmd
+  = 
+ Þdcurcmd
+ ;
+ 
+ 888 
+ ³¾db
+  = 
+ Þd³¾db
+ ;
+ 
+ 889 
+ š_ev®
+ --;
+ 
+ 890 ià(
+ »tv®
+  || 
+ ”rÜ_couÁ
+ )
+ 
+ 891 
+ 	`çl
+ ("Invalid component in string or format");
+ 
+ 892 
+ cmd
+  = 
+ ev®_roÙ
+ ;
+ 
+ 893 
+ ¬g
+  = 
+ cmd
+ ->
+ c_ex´
+ ;
+ 
+ 894 ià(
+ cmd
+ ->
+ c_ty³
+  !ð
+ C_EXPR
+  || cmd->
+ c_Ãxt
+  || 
+ ¬g
+ ->
+ ¬g_ty³
+  !ð
+ O_LIST
+ )
+ 
+ 895 
+ 	`çl
+ ("·nic:ƒ¼Ü iÀ·r£li¡ %d %x %d", 
+ cmd
+ ->
+ c_ty³
+ ,
+ 
+ 896 
+ cmd
+ ->
+ c_Ãxt
+ , 
+ ¬g
+  ?‡rg->
+ ¬g_ty³
+  : -1);
+ 
+ 897 
+ 	`Saãä“
+ (
+ cmd
+ );
+ 
+ 898 
+ ev®_roÙ
+  = 
+ NuÎcmd
+ ;
+ 
+ 899  
+ ¬g
+ ;
+ 
+ 900 
+ 	}
+ }
+ 
+ 903 
+ 	$šŒpcompže
+ (
+ ¤c
+ )
+ 
+ 904 
+ STR
+  *
+ ¤c
+ ;
+ 
+ 906 *
+ s
+  = 
+ 	`¡r_g‘
+ (
+ ¤c
+ );
+ 
+ 907 *
+ £nd
+  = 
+ s
+  + 
+ ¤c
+ ->
+ ¡r_cur
+ ;
+ 
+ 908 
+ STR
+  *
+ ¡r
+ ;
+ 
+ 909 *
+ t
+ ;
+ 
+ 910 
+ STR
+  *
+ tݬ£
+ ;
+ 
+ 911 
+ STRLEN
+  
+ Ën
+ ;
+ 
+ 912 
+ b¿ck‘s
+ ;
+ 
+ 913 *
+ d
+ ;
+ 
+ 914 
+ STAB
+  *
+ ¡ab
+ ;
+ 
+ 915 *
+ checkpošt
+ ;
+ 
+ 916 
+ §wÿ£
+  = 0;
+ 
+ 918 
+ tݬ£
+  = 
+ 	`SŒ_Ãw
+ (76,0);
+ 
+ 919 
+ ¡r
+  = 
+ 	`SŒ_Ãw
+ (77,0);
+ 
+ 921 
+ 	`¡r_n£t
+ (
+ ¡r
+ ,"",0);
+ 
+ 922 
+ 	`¡r_n£t
+ (
+ tݬ£
+ ,"",0);
+ 
+ 923 
+ t
+  = 
+ s
+ ;
+ 
+ 924 
+ s
+  < 
+ £nd
+ ) {
+ 
+ 925 ià(*
+ s
+  =ð'\\' && s[1] && 
+ 	`šdex
+ ("$@[{\\]}lLuUE",s[1])) {
+ 
+ 926 
+ 	`¡r_nÿt
+ (
+ ¡r
+ , 
+ t
+ , 
+ s
+  -);
+ 
+ 927 ++
+ s
+ ;
+ 
+ 928 ià(
+ 	`i§Íha
+ (*
+ s
+ )) {
+ 
+ 929 
+ 	`¡r_nÿt
+ (
+ ¡r
+ , "$c", 2);
+ 
+ 930 
+ §wÿ£
+  = (*
+ s
+  != 'E');
+ 
+ 933 ià(*
+ nošŒp
+  && 
+ s
+ +1 < 
+ £nd
+ )
+ 
+ 934 ià(*
+ s
+  !ð'@' && (* !ð'$' || 
+ 	`šdex
+ (
+ nošŒp
+ ,s[1])))
+ 
+ 935 
+ 	`¡r_nÿt
+ (
+ ¡r
+ ,
+ s
+ -1,1);
+ 
+ 936 
+ 	`¡r_nÿt
+ (
+ ¡r
+ , "$b", 2);
+ 
+ 938 
+ 	`¡r_nÿt
+ (
+ ¡r
+ , 
+ s
+ , 1);
+ 
+ 939 ++
+ s
+ ;
+ 
+ 940 
+ t
+  = 
+ s
+ ;
+ 
+ 942 ià((*
+ s
+  =ð'@' || (* =ð'$' && !
+ 	`šdex
+ (
+ nošŒp
+ ,s[1]))) &&
+ 
+ 943 
+ s
+ +1 < 
+ £nd
+ ) {
+ 
+ 944 
+ 	`¡r_nÿt
+ (
+ ¡r
+ ,
+ t
+ ,
+ s
+ -t);
+ 
+ 945 
+ t
+  = 
+ s
+ ;
+ 
+ 946 ià(*
+ s
+  =ð'$' && s[1] =ð'#' && (
+ 	`i§Íha
+ (s[2]) || s[2] == '_'))
+ 
+ 947 
+ s
+ ++;
+ 
+ 948 
+ s
+  = 
+ 	`sÿnid’t
+ (s,
+ £nd
+ ,
+ tok’buf
+ );
+ 
+ 949 ià(*
+ t
+  == '@' &&
+ 
+ 950 (!(
+ ¡ab
+  = 
+ 	`¡ab’t
+ (
+ tok’buf
+ ,
+ FALSE
+ )) ||
+ 
+ 951 (*
+ s
+  =ð'{' ? !
+ 	`¡ab_xhash
+ (
+ ¡ab
+ è: !
+ 	`¡ab_x¬¿y
+ (stab)) )) {
+ 
+ 952 
+ 	`¡r_nÿt
+ (
+ ¡r
+ ,"@",1);
+ 
+ 953 
+ s
+  = ++
+ t
+ ;
+ 
+ 956 
+ 	`¡r_nÿt
+ (
+ ¡r
+ ,"$a",2);
+ 
+ 957 
+ 	`¡r_nÿt
+ (
+ tݬ£
+ ,",",1);
+ 
+ 958 ià(
+ t
+ [1] !ð'{' && (*
+ s
+  == '[' || *s == '{' ) &&
+ 
+ 959 (
+ ¡ab
+  = 
+ 	`¡ab’t
+ (
+ tok’buf
+ ,
+ FALSE
+ )) &&
+ 
+ 960 ((*
+ s
+  =ð'['è? (
+ 	`¡ab_x¬¿y
+ (
+ ¡ab
+ è!ð0è: (
+ 	`¡ab_xhash
+ (stab) != 0)) ) {
+ 
+ 961 
+ b¿ck‘s
+  = 0;
+ 
+ 962 
+ checkpošt
+  = 
+ s
+ ;
+ 
+ 964 *
+ s
+ ) {
+ 
+ 966 ià(
+ s
+ [-1] != '$')
+ 
+ 967 
+ b¿ck‘s
+ ++;
+ 
+ 970 
+ b¿ck‘s
+ ++;
+ 
+ 973 ià(
+ s
+ [-1] != '$')
+ 
+ 974 
+ b¿ck‘s
+ --;
+ 
+ 977 
+ b¿ck‘s
+ --;
+ 
+ 981 ià(
+ s
+ [-1] != '$') {
+ 
+ 982 
+ s
+  = 
+ 	`ýytžl
+ (
+ tok’buf
+ ,s+1,
+ £nd
+ ,*s,&
+ Ën
+ );
+ 
+ 983 ià(
+ s
+  >ð
+ £nd
+ )
+ 
+ 984 
+ 	`çl
+ ("Unterminated string");
+ 
+ 988 
+ s
+ ++;
+ 
+ 989 } 
+ b¿ck‘s
+  > 0 && 
+ s
+  < 
+ £nd
+ );
+ 
+ 990 ià(
+ s
+  > 
+ £nd
+ )
+ 
+ 991 
+ 	`çl
+ ("Unmatched brackets in string");
+ 
+ 992 ià(*
+ nošŒp
+ ) {
+ 
+ 993 
+ d
+  = 
+ checkpošt
+ ;
+ 
+ 994 ià(*
+ d
+  =ð'{' && 
+ s
+ [-1] == '}') {
+ 
+ 995 ++
+ d
+ ;
+ 
+ 996 ià(
+ 	`isdig™
+ (*
+ d
+ )) {
+ 
+ 997 ià(*++
+ d
+  == ',')
+ 
+ 998 ++
+ d
+ ;
+ 
+ 999 
+ 	`isdig™
+ (*
+ d
+ ))
+ 
+ 1000 
+ d
+ ++;
+ 
+ 1001 ià(
+ d
+  =ð
+ s
+  - 1)
+ 
+ 1002 
+ s
+  = 
+ checkpošt
+ ;
+ 
+ 1005 ià(*
+ d
+  =ð'[' && 
+ s
+ [-1] == ']') {
+ 
+ 1006 
+ weight
+  = 2;
+ 
+ 1007 
+ £’
+ [256];
+ 
+ 1008 
+ un_ch¬
+  = 0, 
+ Ï¡_un_ch¬
+ ;
+ 
+ 1010 
+ 	`Z”o
+ (
+ £’
+ ,256,);
+ 
+ 1011 *--
+ s
+  = '\0';
+ 
+ 1012 ià(
+ d
+ [1] == '^')
+ 
+ 1013 
+ weight
+  += 150;
+ 
+ 1014 ià(
+ d
+ [1] == '$')
+ 
+ 1015 
+ weight
+  -= 3;
+ 
+ 1016 ià(
+ 	`isdig™
+ (
+ d
+ [1])) {
+ 
+ 1017 ià(
+ d
+ [2]) {
+ 
+ 1018 ià(
+ 	`isdig™
+ (
+ d
+ [2]) && !d[3])
+ 
+ 1019 
+ weight
+  -= 10;
+ 
+ 1022 
+ weight
+  -= 100;
+ 
+ 1024 
+ d
+ ++; d < 
+ s
+ ; d++) {
+ 
+ 1025 
+ Ï¡_un_ch¬
+  = 
+ un_ch¬
+ ;
+ 
+ 1026 
+ un_ch¬
+  = ()*
+ d
+ ;
+ 
+ 1027 *
+ d
+ ) {
+ 
+ 1030 
+ weight
+  -ð
+ £’
+ [
+ un_ch¬
+ ] * 10;
+ 
+ 1031 ià(
+ 	`i§Íha
+ (
+ d
+ [1]è|| 
+ 	`isdig™
+ (d[1]) ||
+ 
+ 1032 
+ d
+ [1] == '_') {
+ 
+ 1033 
+ d
+  = 
+ 	`sÿnid’t
+ (d,
+ s
+ ,
+ tok’buf
+ );
+ 
+ 1034 ià(
+ 	`¡ab’t
+ (
+ tok’buf
+ ,
+ FALSE
+ ))
+ 
+ 1035 
+ weight
+  -= 100;
+ 
+ 1037 
+ weight
+  -= 10;
+ 
+ 1039 ià(*
+ d
+  == '$' && d[1] &&
+ 
+ 1040 
+ 	`šdex
+ ("[#!%*<>()-=",
+ d
+ [1])) {
+ 
+ 1041 ià(!
+ d
+ [2] || 
+ 	`šdex
+ ("])} =",d[2]))
+ 
+ 1042 
+ weight
+  -= 10;
+ 
+ 1044 
+ weight
+  -= 1;
+ 
+ 1048 
+ un_ch¬
+  = 254;
+ 
+ 1049 ià(
+ d
+ [1]) {
+ 
+ 1050 ià(
+ 	`šdex
+ ("wds",
+ d
+ [1]))
+ 
+ 1051 
+ weight
+  += 100;
+ 
+ 1052 ià(
+ £’
+ ['\''] || seen['"'])
+ 
+ 1053 
+ weight
+  += 1;
+ 
+ 1054 ià(
+ 	`šdex
+ ("ºáb",
+ d
+ [1]))
+ 
+ 1055 
+ weight
+  += 40;
+ 
+ 1056 ià(
+ 	`isdig™
+ (
+ d
+ [1])) {
+ 
+ 1057 
+ weight
+  += 40;
+ 
+ 1058 
+ d
+ [1] && 
+ 	`isdig™
+ (d[1]))
+ 
+ 1059 
+ d
+ ++;
+ 
+ 1063 
+ weight
+  += 100;
+ 
+ 1066 ià(
+ Ï¡_un_ch¬
+  < (è
+ d
+ [1]
+ 
+ 1067 || 
+ d
+ [1] == '\\') {
+ 
+ 1068 ià(
+ 	`šdex
+ ("aA01! ",
+ Ï¡_un_ch¬
+ ))
+ 
+ 1069 
+ weight
+  += 30;
+ 
+ 1070 ià(
+ 	`šdex
+ ("zZ79~",
+ d
+ [1]))
+ 
+ 1071 
+ weight
+  += 30;
+ 
+ 1074 
+ weight
+  -= 1;
+ 
+ 1076 ià(
+ 	`i§Íha
+ (*
+ d
+ ) && d[1] && isalpha(d[1])) {
+ 
+ 1077 
+ buåŒ
+  = 
+ d
+ ;
+ 
+ 1078 ià(
+ 	`yyËx
+ (è!ð
+ WORD
+ )
+ 
+ 1079 
+ weight
+  -= 150;
+ 
+ 1080 
+ d
+  = 
+ buåŒ
+ ;
+ 
+ 1082 ià(
+ un_ch¬
+  =ð
+ Ï¡_un_ch¬
+  + 1)
+ 
+ 1083 
+ weight
+  += 5;
+ 
+ 1084 
+ weight
+  -ð
+ £’
+ [
+ un_ch¬
+ ];
+ 
+ 1087 
+ £’
+ [
+ un_ch¬
+ ]++;
+ 
+ 1089 #ifdeà
+ DEBUGGING
+ 
+ 
+ 1090 ià(
+ debug
+  & 512)
+ 
+ 1091 
+ 	`årštf
+ (
+ ¡d”r
+ ,"[%s] weight %d\n",
+ 
+ 1092 
+ checkpošt
+ +1,
+ weight
+ );
+ 
+ 1094 *
+ s
+ ++ = ']';
+ 
+ 1095 ià(
+ weight
+  >= 0)
+ 
+ 1096 
+ s
+  = 
+ checkpošt
+ ;
+ 
+ 1100 ià(*
+ t
+  == '@')
+ 
+ 1101 
+ 	`¡r_nÿt
+ (
+ tݬ£
+ , "join($\",", 8);
+ 
+ 1102 ià(
+ t
+ [1] =ð'{' && 
+ s
+ [-1] == '}') {
+ 
+ 1103 
+ 	`¡r_nÿt
+ (
+ tݬ£
+ , 
+ t
+ , 1);
+ 
+ 1104 
+ 	`¡r_nÿt
+ (
+ tݬ£
+ , 
+ t
+ +2, 
+ s
+  - - 3);
+ 
+ 1107 
+ 	`¡r_nÿt
+ (
+ tݬ£
+ , 
+ t
+ , 
+ s
+  -);
+ 
+ 1108 ià(*
+ t
+  == '@')
+ 
+ 1109 
+ 	`¡r_nÿt
+ (
+ tݬ£
+ , ")", 1);
+ 
+ 1110 
+ t
+  = 
+ s
+ ;
+ 
+ 1113 
+ s
+ ++;
+ 
+ 1115 
+ 	`¡r_nÿt
+ (
+ ¡r
+ ,
+ t
+ ,
+ s
+ -t);
+ 
+ 1116 ià(
+ §wÿ£
+ )
+ 
+ 1117 
+ 	`¡r_nÿt
+ (
+ ¡r
+ , "$cE", 3);
+ 
+ 1118 ià(
+ tݬ£
+ ->
+ ¡r_±r
+  && *toparse->str_ptr == ',') {
+ 
+ 1119 *
+ tݬ£
+ ->
+ ¡r_±r
+  = '(';
+ 
+ 1120 
+ 	`¡r_nÿt
+ (
+ tݬ£
+ ,",$$);",5);
+ 
+ 1121 
+ ¡r
+ ->
+ ¡r_u
+ .
+ ¡r_¬gs
+  = 
+ 	`·r£li¡
+ (
+ tݬ£
+ );
+ 
+ 1122 
+ ¡r
+ ->
+ ¡r_u
+ .
+ ¡r_¬gs
+ ->
+ ¬g_Ën
+ --;
+ 
+ 1125 
+ ¡r
+ ->
+ ¡r_u
+ .
+ ¡r_¬gs
+  = 
+ Nuάg
+ ;
+ 
+ 1126 
+ 	`¡r_ä“
+ (
+ tݬ£
+ );
+ 
+ 1127 
+ ¡r
+ ->
+ ¡r_pok
+  |ð
+ SP_INTRP
+ ;
+ 
+ 1128 
+ ¡r
+ ->
+ ¡r_nok
+  = 0;
+ 
+ 1129 
+ 	`¡r_»¶aû
+ (
+ ¤c
+ ,
+ ¡r
+ );
+ 
+ 1130 
+ 	}
+ }
+ 
+ 1132 
+ STR
+  *
+ 
+ 1133 
+ 	$š‹½
+ (
+ ¡r
+ ,
+ ¤c
+ ,
+ ¥
+ )
+ 
+ 1134 
+ STR
+  *
+ ¡r
+ ;
+ 
+ 1135 
+ STR
+  *
+ ¤c
+ ;
+ 
+ 1136 
+ ¥
+ ;
+ 
+ 1138 *
+ s
+ ;
+ 
+ 1139 *
+ t
+ ;
+ 
+ 1140 *
+ £nd
+ ;
+ 
+ 1141 
+ STR
+  **
+ –em
+ ;
+ 
+ 1142 
+ doÿ£
+  = 0;
+ 
+ 1143 
+ l
+  = 0;
+ 
+ 1144 
+ u
+  = 0;
+ 
+ 1145 
+ L
+  = 0;
+ 
+ 1146 
+ U
+  = 0;
+ 
+ 1148 ià(
+ ¡r
+  =ð&
+ ¡r_undef
+ )
+ 
+ 1149  
+ NuΡr
+ ;
+ 
+ 1150 ià(!(
+ ¤c
+ ->
+ ¡r_pok
+  & 
+ SP_INTRP
+ )) {
+ 
+ 1151 
+ Þd§ve
+  = 
+ §ve¡ack
+ ->
+ ¬y_fžl
+ ;
+ 
+ 1153 ()
+ 	`§veh±r
+ (&
+ cur¡ash
+ );
+ 
+ 1154 
+ cur¡ash
+  = 
+ curcmd
+ ->
+ c_¡ash
+ ;
+ 
+ 1155 
+ 	`šŒpcompže
+ (
+ ¤c
+ );
+ 
+ 1156 
+ 	`»¡Ü–i¡
+ (
+ Þd§ve
+ );
+ 
+ 1158 
+ s
+  = 
+ ¤c
+ ->
+ ¡r_±r
+ ;
+ 
+ 1159 
+ t
+  = 
+ s
+ ;
+ 
+ 1160 
+ £nd
+  = 
+ s
+  + 
+ ¤c
+ ->
+ ¡r_cur
+ ;
+ 
+ 1162 ià(
+ ¤c
+ ->
+ ¡r_u
+ .
+ ¡r_¬gs
+ ) {
+ 
+ 1163 ()
+ 	`ev®
+ (
+ ¤c
+ ->
+ ¡r_u
+ .
+ ¡r_¬gs
+ ,
+ G_ARRAY
+ ,
+ ¥
+ );
+ 
+ 1165 
+ –em
+  = 
+ ¡ack
+ ->
+ ¬y_¬¿y
+  + 
+ ¥
+ ;
+ 
+ 1168 
+ 	`¡r_n£t
+ (
+ ¡r
+ ,"",0);
+ 
+ 1169 
+ s
+  < 
+ £nd
+ ) {
+ 
+ 1170 ià(*
+ s
+  =ð'$' && s+1 < 
+ £nd
+ ) {
+ 
+ 1171 ià(
+ s
+ -
+ t
+  > 0)
+ 
+ 1172 
+ 	`¡r_nÿt
+ (
+ ¡r
+ ,
+ t
+ ,
+ s
+ -t);
+ 
+ 1173 *++
+ s
+ ) {
+ 
+ 1175 
+ 	`¡r_sÿt
+ (
+ ¡r
+ ,*++
+ –em
+ );
+ 
+ 1178 
+ 	`¡r_nÿt
+ (
+ ¡r
+ ,++
+ s
+ ,1);
+ 
+ 1181 ià(
+ doÿ£
+  && 
+ ¡r
+ ->
+ ¡r_cur
+  >= docase) {
+ 
+ 1182 *
+ b
+  = 
+ ¡r
+ ->
+ ¡r_±r
+  + --
+ doÿ£
+ ;
+ 
+ 1184 ià(
+ L
+ )
+ 
+ 1185 
+ 	`lÿ£
+ (
+ b
+ , 
+ ¡r
+ ->
+ ¡r_±r
+  + sŒ->
+ ¡r_cur
+ );
+ 
+ 1186 ià(
+ U
+ )
+ 
+ 1187 
+ 	`uÿ£
+ (
+ b
+ , 
+ ¡r
+ ->
+ ¡r_±r
+  + sŒ->
+ ¡r_cur
+ );
+ 
+ 1189 ià(
+ u
+ )
+ 
+ 1190 
+ 	`uÿ£
+ (
+ b
+ , b+1);
+ 
+ 1191 ià(
+ l
+ )
+ 
+ 1192 
+ 	`lÿ£
+ (
+ b
+ , b+1);
+ 
+ 1193 
+ l
+  = 
+ u
+  = 0;
+ 
+ 1195 
+ doÿ£
+  = 
+ ¡r
+ ->
+ ¡r_cur
+  + 1;
+ 
+ 1196 *++
+ s
+ ) {
+ 
+ 1198 
+ u
+  = 1;
+ 
+ 1199 
+ l
+  = 0;
+ 
+ 1202 
+ U
+  = 1;
+ 
+ 1203 
+ L
+  = 0;
+ 
+ 1206 
+ l
+  = 1;
+ 
+ 1207 
+ u
+  = 0;
+ 
+ 1210 
+ L
+  = 1;
+ 
+ 1211 
+ U
+  = 0;
+ 
+ 1214 
+ doÿ£
+  = 
+ L
+  = 
+ U
+  = 
+ l
+  = 
+ u
+  = 0;
+ 
+ 1219 
+ t
+  = ++
+ s
+ ;
+ 
+ 1222 
+ s
+ ++;
+ 
+ 1224 ià(
+ s
+ -
+ t
+  > 0)
+ 
+ 1225 
+ 	`¡r_nÿt
+ (
+ ¡r
+ ,
+ t
+ ,
+ s
+ -t);
+ 
+ 1226  
+ ¡r
+ ;
+ 
+ 1227 
+ 	}
+ }
+ 
+ 1229 
+ 	$uÿ£
+ (
+ s
+ ,
+ £nd
+ )
+ 
+ 1230 *
+ s
+ ;
+ 
+ 1231 *
+ £nd
+ ;
+ 
+ 1233 
+ s
+  < 
+ £nd
+ ) {
+ 
+ 1234 ià(
+ 	`i§scii
+ (*
+ s
+ è&& 
+ 	`i¦ow”
+ (*s))
+ 
+ 1235 *
+ s
+  = 
+ 	`touµ”
+ (*s);
+ 
+ 1236 
+ s
+ ++;
+ 
+ 1238 
+ 	}
+ }
+ 
+ 1240 
+ 	$lÿ£
+ (
+ s
+ ,
+ £nd
+ )
+ 
+ 1241 *
+ s
+ ;
+ 
+ 1242 *
+ £nd
+ ;
+ 
+ 1244 
+ s
+  < 
+ £nd
+ ) {
+ 
+ 1245 ià(
+ 	`i§scii
+ (*
+ s
+ è&& 
+ 	`isuµ”
+ (*s))
+ 
+ 1246 *
+ s
+  = 
+ 	`tÞow”
+ (*s);
+ 
+ 1247 
+ s
+ ++;
+ 
+ 1249 
+ 	}
+ }
+ 
+ 1252 
+ 	$¡r_šc
+ (
+ ¡r
+ )
+ 
+ 1253 
+ STR
+  *
+ ¡r
+ ;
+ 
+ 1255 *
+ d
+ ;
+ 
+ 1257 ià(!
+ ¡r
+  || sŒ =ð&
+ ¡r_undef
+ )
+ 
+ 1259 ià(
+ ¡r
+ ->
+ ¡r_nok
+ ) {
+ 
+ 1260 
+ ¡r
+ ->
+ ¡r_u
+ .
+ ¡r_nv®
+  += 1.0;
+ 
+ 1261 
+ ¡r
+ ->
+ ¡r_pok
+  = 0;
+ 
+ 1264 ià(!
+ ¡r
+ ->
+ ¡r_pok
+  || !*¡r->
+ ¡r_±r
+ ) {
+ 
+ 1265 
+ ¡r
+ ->
+ ¡r_u
+ .
+ ¡r_nv®
+  = 1.0;
+ 
+ 1266 
+ ¡r
+ ->
+ ¡r_nok
+  = 1;
+ 
+ 1267 
+ ¡r
+ ->
+ ¡r_pok
+  = 0;
+ 
+ 1270 
+ d
+  = 
+ ¡r
+ ->
+ ¡r_±r
+ ;
+ 
+ 1271 
+ 	`i§Íha
+ (*
+ d
+ )) d++;
+ 
+ 1272 
+ 	`isdig™
+ (*
+ d
+ )) d++;
+ 
+ 1273 ià(*
+ d
+ ) {
+ 
+ 1274 
+ 	`¡r_num£t
+ (
+ ¡r
+ ,
+ 	`©of
+ (¡r->
+ ¡r_±r
+ ) + 1.0);
+ 
+ 1277 
+ d
+ --;
+ 
+ 1278 
+ d
+  >ð
+ ¡r
+ ->
+ ¡r_±r
+ ) {
+ 
+ 1279 ià(
+ 	`isdig™
+ (*
+ d
+ )) {
+ 
+ 1280 ià(++*
+ d
+  <= '9')
+ 
+ 1282 *(
+ d
+ --) = '0';
+ 
+ 1285 ++*
+ d
+ ;
+ 
+ 1286 ià(
+ 	`i§Íha
+ (*
+ d
+ ))
+ 
+ 1288 *(
+ d
+ --) -= 'z' - 'a' + 1;
+ 
+ 1292 
+ 	`STR_GROW
+ (
+ ¡r
+ , sŒ->
+ ¡r_cur
+  + 2);
+ 
+ 1293 
+ ¡r
+ ->
+ ¡r_cur
+ ++;
+ 
+ 1294 
+ d
+  = 
+ ¡r
+ ->
+ ¡r_±r
+  + sŒ->
+ ¡r_cur
+ ; d > str->str_ptr; d--)
+ 
+ 1295 *
+ d
+  = d[-1];
+ 
+ 1296 ià(
+ 	`isdig™
+ (
+ d
+ [1]))
+ 
+ 1297 *
+ d
+  = '1';
+ 
+ 1299 *
+ d
+  = d[1];
+ 
+ 1300 
+ 	}
+ }
+ 
+ 1303 
+ 	$¡r_dec
+ (
+ ¡r
+ )
+ 
+ 1304 
+ STR
+  *
+ ¡r
+ ;
+ 
+ 1306 ià(!
+ ¡r
+  || sŒ =ð&
+ ¡r_undef
+ )
+ 
+ 1308 ià(
+ ¡r
+ ->
+ ¡r_nok
+ ) {
+ 
+ 1309 
+ ¡r
+ ->
+ ¡r_u
+ .
+ ¡r_nv®
+  -= 1.0;
+ 
+ 1310 
+ ¡r
+ ->
+ ¡r_pok
+  = 0;
+ 
+ 1313 ià(!
+ ¡r
+ ->
+ ¡r_pok
+ ) {
+ 
+ 1314 
+ ¡r
+ ->
+ ¡r_u
+ .
+ ¡r_nv®
+  = -1.0;
+ 
+ 1315 
+ ¡r
+ ->
+ ¡r_nok
+  = 1;
+ 
+ 1318 
+ 	`¡r_num£t
+ (
+ ¡r
+ ,
+ 	`©of
+ (¡r->
+ ¡r_±r
+ ) - 1.0);
+ 
+ 1319 
+ 	}
+ }
+ 
+ 1326 
+ 	gtmps_size
+  = -1;
+ 
+ 1328 
+ STR
+  *
+ 
+ 1329 
+ 	$¡r_m܏l
+ (
+ Þd¡r
+ )
+ 
+ 1330 
+ STR
+  *
+ Þd¡r
+ ;
+ 
+ 1332 
+ STR
+  *
+ ¡r
+  = 
+ 	`SŒ_Ãw
+ (78,0);
+ 
+ 1334 
+ 	`¡r_s£t
+ (
+ ¡r
+ ,
+ Þd¡r
+ );
+ 
+ 1335 ià(++
+ tmps_max
+  > 
+ tmps_size
+ ) {
+ 
+ 1336 
+ tmps_size
+  = 
+ tmps_max
+ ;
+ 
+ 1337 ià(!(
+ tmps_size
+  & 127)) {
+ 
+ 1338 ià(
+ tmps_size
+ )
+ 
+ 1339 
+ 	`R’ew
+ (
+ tmps_li¡
+ , 
+ tmps_size
+  + 128, 
+ STR
+ *);
+ 
+ 1341 
+ 	`New
+ (702,
+ tmps_li¡
+ , 128, 
+ STR
+ *);
+ 
+ 1344 
+ tmps_li¡
+ [
+ tmps_max
+ ] = 
+ ¡r
+ ;
+ 
+ 1345 ià(
+ ¡r
+ ->
+ ¡r_pok
+ )
+ 
+ 1346 
+ ¡r
+ ->
+ ¡r_pok
+  |ð
+ SP_TEMP
+ ;
+ 
+ 1347  
+ ¡r
+ ;
+ 
+ 1348 
+ 	}
+ }
+ 
+ 1352 
+ STR
+  *
+ 
+ 1353 
+ 	$¡r_2m܏l
+ (
+ ¡r
+ )
+ 
+ 1354 
+ STR
+  *
+ ¡r
+ ;
+ 
+ 1356 ià(
+ ¡r
+  =ð&
+ ¡r_undef
+ )
+ 
+ 1357  
+ ¡r
+ ;
+ 
+ 1358 ià(++
+ tmps_max
+  > 
+ tmps_size
+ ) {
+ 
+ 1359 
+ tmps_size
+  = 
+ tmps_max
+ ;
+ 
+ 1360 ià(!(
+ tmps_size
+  & 127)) {
+ 
+ 1361 ià(
+ tmps_size
+ )
+ 
+ 1362 
+ 	`R’ew
+ (
+ tmps_li¡
+ , 
+ tmps_size
+  + 128, 
+ STR
+ *);
+ 
+ 1364 
+ 	`New
+ (704,
+ tmps_li¡
+ , 128, 
+ STR
+ *);
+ 
+ 1367 
+ tmps_li¡
+ [
+ tmps_max
+ ] = 
+ ¡r
+ ;
+ 
+ 1368 ià(
+ ¡r
+ ->
+ ¡r_pok
+ )
+ 
+ 1369 
+ ¡r
+ ->
+ ¡r_pok
+  |ð
+ SP_TEMP
+ ;
+ 
+ 1370  
+ ¡r
+ ;
+ 
+ 1371 
+ 	}
+ }
+ 
+ 1373 
+ STR
+  *
+ 
+ 1374 
+ 	$¡r_make
+ (
+ s
+ ,
+ Ën
+ )
+ 
+ 1375 *
+ s
+ ;
+ 
+ 1376 
+ STRLEN
+  
+ Ën
+ ;
+ 
+ 1378 
+ STR
+  *
+ ¡r
+  = 
+ 	`SŒ_Ãw
+ (79,0);
+ 
+ 1380 ià(!
+ Ën
+ )
+ 
+ 1381 
+ Ën
+  = 
+ 	`¡¾’
+ (
+ s
+ );
+ 
+ 1382 
+ 	`¡r_n£t
+ (
+ ¡r
+ ,
+ s
+ ,
+ Ën
+ );
+ 
+ 1383  
+ ¡r
+ ;
+ 
+ 1384 
+ 	}
+ }
+ 
+ 1386 
+ STR
+  *
+ 
+ 1387 
+ 	$¡r_nmake
+ (
+ n
+ )
+ 
+ 1388 
+ n
+ ;
+ 
+ 1390 
+ STR
+  *
+ ¡r
+  = 
+ 	`SŒ_Ãw
+ (80,0);
+ 
+ 1392 
+ 	`¡r_num£t
+ (
+ ¡r
+ ,
+ n
+ );
+ 
+ 1393  
+ ¡r
+ ;
+ 
+ 1394 
+ 	}
+ }
+ 
+ 1398 
+ STR
+  *
+ 
+ 1399 
+ 	$¡r_smake
+ (
+ Þd
+ )
+ 
+ 1400 
+ STR
+  *
+ Þd
+ ;
+ 
+ 1402 
+ STR
+  *
+ Ãw
+  = 
+ 	`SŒ_Ãw
+ (81,0);
+ 
+ 1404 ià(!
+ Þd
+ )
+ 
+ 1405  
+ NuΡr
+ ;
+ 
+ 1406 ià(
+ Þd
+ ->
+ ¡r_¡©e
+  =ð
+ SS_FREE
+ ) {
+ 
+ 1407 
+ 	`w¬n
+ ("semi-panic:‡ttempto dup freed string");
+ 
+ 1408  
+ NuΡr
+ ;
+ 
+ 1410 ià(
+ Þd
+ ->
+ ¡r_¡©e
+  =ð
+ SS_INCR
+  && !(Þd->
+ ¡r_pok
+  & 2))
+ 
+ 1411 
+ 	`SŒ_Grow
+ (
+ Þd
+ ,0);
+ 
+ 1412 ià(
+ Ãw
+ ->
+ ¡r_±r
+ )
+ 
+ 1413 
+ 	`Saãä“
+ (
+ Ãw
+ ->
+ ¡r_±r
+ );
+ 
+ 1414 
+ 	`CÝy
+ (
+ Þd
+ ,
+ Ãw
+ ,1,
+ STR
+ );
+ 
+ 1415 ià(
+ Þd
+ ->
+ ¡r_±r
+ ) {
+ 
+ 1416 
+ Ãw
+ ->
+ ¡r_±r
+  = 
+ 	`n§ve¡r
+ (
+ Þd
+ ->¡r_±r,Þd->
+ ¡r_Ën
+ );
+ 
+ 1417 
+ Ãw
+ ->
+ ¡r_pok
+  &ð~
+ SP_TEMP
+ ;
+ 
+ 1419  
+ Ãw
+ ;
+ 
+ 1420 
+ 	}
+ }
+ 
+ 1422 
+ 	$¡r_»£t
+ (
+ s
+ ,
+ ¡ash
+ )
+ 
+ 1423 *
+ s
+ ;
+ 
+ 1424 
+ HASH
+  *
+ ¡ash
+ ;
+ 
+ 1426 
+ HENT
+  *
+ ’Œy
+ ;
+ 
+ 1427 
+ STAB
+  *
+ ¡ab
+ ;
+ 
+ 1428 
+ STR
+  *
+ ¡r
+ ;
+ 
+ 1429 
+ i
+ ;
+ 
+ 1430 
+ SPAT
+  *
+ ¥©
+ ;
+ 
+ 1431 
+ max
+ ;
+ 
+ 1433 ià(!*
+ s
+ ) {
+ 
+ 1434 
+ ¥©
+  = 
+ ¡ash
+ ->
+ tbl_¥©roÙ
+ ;
+ 
+ 1435 
+ ¥©
+  !ð
+ Nu봩
+ ;
+ 
+ 1436 
+ ¥©
+  = s·t->
+ ¥©_Ãxt
+ ) {
+ 
+ 1437 
+ ¥©
+ ->
+ ¥©_æags
+  &ð~
+ SPAT_USED
+ ;
+ 
+ 1444 ià(!
+ ¡ash
+ ->
+ tbl_¬¿y
+ )
+ 
+ 1446 *
+ s
+ ) {
+ 
+ 1447 
+ i
+  = *
+ s
+ ;
+ 
+ 1448 ià(
+ s
+ [1] == '-') {
+ 
+ 1449 
+ s
+  += 2;
+ 
+ 1451 
+ max
+  = *
+ s
+ ++;
+ 
+ 1452  ; 
+ i
+  <ð
+ max
+ ; i++) {
+ 
+ 1453 
+ ’Œy
+  = 
+ ¡ash
+ ->
+ tbl_¬¿y
+ [
+ i
+ ];
+ 
+ 1454 
+ ’Œy
+ ;
+ 
+ 1455 
+ ’Œy
+  =ƒÁry->
+ h’t_Ãxt
+ ) {
+ 
+ 1456 
+ ¡ab
+  = (
+ STAB
+ *)
+ ’Œy
+ ->
+ h’t_v®
+ ;
+ 
+ 1457 
+ ¡r
+  = 
+ 	`¡ab_v®
+ (
+ ¡ab
+ );
+ 
+ 1458 
+ ¡r
+ ->
+ ¡r_cur
+  = 0;
+ 
+ 1459 
+ ¡r
+ ->
+ ¡r_nok
+  = 0;
+ 
+ 1460 #ifdeà
+ TAINT
+ 
+ 
+ 1461 
+ ¡r
+ ->
+ ¡r_š‹d
+  = 
+ š‹d
+ ;
+ 
+ 1463 ià(
+ ¡r
+ ->
+ ¡r_±r
+  !ð
+ NuÎch
+ )
+ 
+ 1464 
+ ¡r
+ ->
+ ¡r_±r
+ [0] = '\0';
+ 
+ 1465 ià(
+ 	`¡ab_x¬¿y
+ (
+ ¡ab
+ )) {
+ 
+ 1466 
+ 	`aþ—r
+ (
+ 	`¡ab_x¬¿y
+ (
+ ¡ab
+ ));
+ 
+ 1468 ià(
+ 	`¡ab_xhash
+ (
+ ¡ab
+ )) {
+ 
+ 1469 
+ 	`hþ—r
+ (
+ 	`¡ab_xhash
+ (
+ ¡ab
+ ), 
+ FALSE
+ );
+ 
+ 1470 ià(
+ ¡ab
+  =ð
+ ’v¡ab
+ )
+ 
+ 1471 
+ ’vœÚ
+ [0] = 
+ NuÎch
+ ;
+ 
+ 1476 
+ 	}
+ }
+ 
+ 1478 #ifdeà
+ TAINT
+ 
+ 
+ 1479 
+ 	$šrÝ”
+ (
+ s
+ )
+ 
+ 1480 *
+ s
+ ;
+ 
+ 1482 #ifdeà
+ DEBUGGING
+ 
+ 
+ 1483 ià(
+ debug
+  & 2048)
+ 
+ 1484 
+ 	`årštf
+ (
+ ¡d”r
+ ,"% %d %d %d\n",
+ s
+ ,
+ š‹d
+ ,
+ uid
+ , 
+ euid
+ );
+ 
+ 1486 ià(
+ š‹d
+  && (!
+ euid
+  ||ƒuid !ð
+ uid
+  || 
+ egid
+  !ð
+ gid
+ )) {
+ 
+ 1487 ià(!
+ un§ã
+ )
+ 
+ 1488 
+ 	`çl
+ ("%s", 
+ s
+ );
+ 
+ 1489 ià(
+ dow¬n
+ )
+ 
+ 1490 
+ 	`w¬n
+ ("%s", 
+ s
+ );
+ 
+ 1492 
+ 	}
+ }
+ 
+ 1494 
+ 	$š‹nv
+ ()
+ 
+ 1496 
+ STR
+  *
+ ’v¡r
+ ;
+ 
+ 1498 
+ ’v¡r
+  = 
+ 	`hãtch
+ (
+ 	`¡ab_hash
+ (
+ ’v¡ab
+ ),"PATH",4,
+ FALSE
+ );
+ 
+ 1499 ià(
+ ’v¡r
+  =ð&
+ ¡r_undef
+  ||ƒnv¡r->
+ ¡r_š‹d
+ ) {
+ 
+ 1500 
+ š‹d
+  = 1;
+ 
+ 1501 ià(
+ ’v¡r
+ ->
+ ¡r_š‹d
+  == 2)
+ 
+ 1502 
+ 	`šrÝ”
+ ("Insecure directory in PATH");
+ 
+ 1504 
+ 	`šrÝ”
+ ("Insecure PATH");
+ 
+ 1506 
+ ’v¡r
+  = 
+ 	`hãtch
+ (
+ 	`¡ab_hash
+ (
+ ’v¡ab
+ ),"IFS",3,
+ FALSE
+ );
+ 
+ 1507 ià(
+ ’v¡r
+  !ð&
+ ¡r_undef
+  &&ƒnv¡r->
+ ¡r_š‹d
+ ) {
+ 
+ 1508 
+ š‹d
+  = 1;
+ 
+ 1509 
+ 	`šrÝ”
+ ("Insecure IFS");
+ 
+ 1511 
+ 	}
+ }
+ 
+ 	@str.h
+ 
+ 17 
+ 	s¡ršg
+  {
+ 
+ 18 * 
+ 	m¡r_±r
+ ;
+ 
+ 19 
+ STRLEN
+  
+ 	m¡r_Ën
+ ;
+ 
+ 21 
+ 	m¡r_nv®
+ ;
+ 
+ 22 
+ STAB
+  *
+ 	m¡r_¡ab
+ ;
+ 
+ 23 
+ 	m¡r_u£ful
+ ;
+ 
+ 24 
+ ARG
+  *
+ 	m¡r_¬gs
+ ;
+ 
+ 25 
+ HASH
+  *
+ 	m¡r_hash
+ ;
+ 
+ 26 
+ ARRAY
+  *
+ 	m¡r_¬¿y
+ ;
+ 
+ 27 
+ CMD
+  *
+ 	m¡r_cmd
+ ;
+ 
+ 28 } 
+ 	m¡r_u
+ ;
+ 
+ 29 
+ STRLEN
+  
+ 	m¡r_cur
+ ;
+ 
+ 30 
+ STR
+  *
+ 	m¡r_magic
+ ;
+ 
+ 32 
+ 	m¡r_pok
+ ;
+ 
+ 33 
+ 	m¡r_nok
+ ;
+ 
+ 34 
+ 	m¡r_¿»
+ ;
+ 
+ 35 
+ 	m¡r_¡©e
+ ;
+ 
+ 37 #ifdeà
+ TAINT
+ 
+ 
+ 38 
+ boÞ
+  
+ 	m¡r_š‹d
+ ;
+ 
+ 42 
+ 	s¡ab
+  {
+ 
+ 43 
+ STBP
+  * 
+ 	m¡r_±r
+ ;
+ 
+ 44 
+ STRLEN
+  
+ 	m¡r_Ën
+ ;
+ 
+ 46 
+ 	m¡r_nv®
+ ;
+ 
+ 47 
+ STAB
+  *
+ 	m¡r_¡ab
+ ;
+ 
+ 48 
+ 	m¡r_u£ful
+ ;
+ 
+ 49 
+ ARG
+  *
+ 	m¡r_¬gs
+ ;
+ 
+ 50 
+ HASH
+  *
+ 	m¡r_hash
+ ;
+ 
+ 51 
+ ARRAY
+  *
+ 	m¡r_¬¿y
+ ;
+ 
+ 52 
+ CMD
+  *
+ 	m¡r_cmd
+ ;
+ 
+ 53 } 
+ 	m¡r_u
+ ;
+ 
+ 54 
+ STRLEN
+  
+ 	m¡r_cur
+ ;
+ 
+ 55 
+ STR
+  *
+ 	m¡r_magic
+ ;
+ 
+ 57 
+ 	m¡r_pok
+ ;
+ 
+ 58 
+ 	m¡r_nok
+ ;
+ 
+ 59 
+ 	m¡r_¿»
+ ;
+ 
+ 60 
+ 	m¡r_¡©e
+ ;
+ 
+ 62 #ifdeà
+ TAINT
+ 
+ 
+ 63 
+ boÞ
+  
+ 	m¡r_š‹d
+ ;
+ 
+ 69 
+ 	sl¡ršg
+  {
+ 
+ 70 
+ ¡ršg
+  
+ 	ml¡r
+ ;
+ 
+ 71 
+ STRLEN
+  
+ 	ml¡r_off£t
+ ;
+ 
+ 72 
+ STRLEN
+  
+ 	ml¡r_Ën
+ ;
+ 
+ 76 
+ 	#SP_VALID
+  1
+ 
+ 	)
+ 
+ 77 
+ 	#SP_FBM
+  2
+ 
+ 	)
+ 
+ 78 
+ 	#SP_STUDIED
+  4
+ 
+ 	)
+ 
+ 79 
+ 	#SP_CASEFOLD
+  8
+ 
+ 	)
+ 
+ 80 
+ 	#SP_INTRP
+  16
+ 
+ 	)
+ 
+ 81 
+ 	#SP_TAIL
+  32
+ 
+ 	)
+ 
+ 82 
+ 	#SP_MULTI
+  64
+ 
+ 	)
+ 
+ 83 
+ 	#SP_TEMP
+  128
+ 
+ 	)
+ 
+ 85 
+ 	#NuΡr
+  
+ 	`NuÎ
+ (
+ STR
+ *)
+ 
+ 	)
+ 
+ 88 
+ 	#SS_NORM
+  0
+ 
+ 	)
+ 
+ 89 
+ 	#SS_INCR
+  1
+ 
+ 	)
+ 
+ 90 
+ 	#SS_SARY
+  2
+ 
+ 	)
+ 
+ 91 
+ 	#SS_SHASH
+  3
+ 
+ 	)
+ 
+ 92 
+ 	#SS_SINT
+  4
+ 
+ 	)
+ 
+ 93 
+ 	#SS_SLONG
+  5
+ 
+ 	)
+ 
+ 94 
+ 	#SS_SSTRP
+  6
+ 
+ 	)
+ 
+ 95 
+ 	#SS_SHPTR
+  7
+ 
+ 	)
+ 
+ 96 
+ 	#SS_SNSTAB
+  8
+ 
+ 	)
+ 
+ 97 
+ 	#SS_SCSV
+  9
+ 
+ 	)
+ 
+ 98 
+ 	#SS_SAPTR
+  10
+ 
+ 	)
+ 
+ 99 
+ 	#SS_HASH
+  253
+ 
+ 	)
+ 
+ 100 
+ 	#SS_ARY
+  254
+ 
+ 	)
+ 
+ 101 
+ 	#SS_FREE
+  255
+ 
+ 	)
+ 
+ 107 #ifdeà
+ TAINT
+ 
+ 
+ 108 
+ 	#STABSET
+ (
+ x
+ ) \
+ 
+ 109 (
+ x
+ )->
+ ¡r_š‹d
+  |ð
+ š‹d
+ ; \
+ 
+ 110 ià((
+ x
+ )->
+ ¡r_magic
+ ) \
+ 
+ 111 
+ 	`¡ab£t
+ ((
+ x
+ )->
+ ¡r_magic
+ ,(x))
+ 
+ 	)
+ 
+ 113 
+ 	#STABSET
+ (
+ x
+ ) \
+ 
+ 114 ià((
+ x
+ )->
+ ¡r_magic
+ ) \
+ 
+ 115 
+ 	`¡ab£t
+ ((
+ x
+ )->
+ ¡r_magic
+ ,(x))
+ 
+ 	)
+ 
+ 118 
+ 	#STR_SSET
+ (
+ d¡
+ ,
+ ¤c
+ èià(d¡ !ð¤cè
+ 	`¡r_s£t
+ (d¡,¤c)
+ 
+ 	)
+ 
+ 120 
+ EXT
+  
+ STR
+  **
+ 	gtmps_li¡
+ ;
+ 
+ 121 
+ EXT
+  
+ tmps_max
+  
+ INIT
+ (-1);
+ 
+ 122 
+ EXT
+  
+ tmps_ba£
+  
+ INIT
+ (-1);
+ 
+ 124 *
+ ¡r_2±r
+ ();
+ 
+ 125 
+ ¡r_2num
+ ();
+ 
+ 126 
+ STR
+  *
+ ¡r_m܏l
+ ();
+ 
+ 127 
+ STR
+  *
+ ¡r_2m܏l
+ ();
+ 
+ 128 
+ STR
+  *
+ ¡r_make
+ ();
+ 
+ 129 
+ STR
+  *
+ ¡r_nmake
+ ();
+ 
+ 130 
+ STR
+  *
+ ¡r_smake
+ ();
+ 
+ 131 
+ ¡r_cmp
+ ();
+ 
+ 132 
+ ¡r_eq
+ ();
+ 
+ 133 
+ ¡r_magic
+ ();
+ 
+ 134 
+ ¡r_š£¹
+ ();
+ 
+ 135 
+ STRLEN
+  
+ ¡r_Ën
+ ();
+ 
+ 	@toke.c
+ 
+ 17 
+ 	~"EXTERN.h
+ "
+ 
+ 18 
+ 	~"³¾.h
+ "
+ 
+ 19 
+ 	~"³¾y.h
+ "
+ 
+ 21 #ifdeà
+ I_FCNTL
+ 
+ 
+ 22 
+ 	~<fúŽ.h
+ >
+ 
+ 24 #ifdeà
+ I_SYS_FILE
+ 
+ 
+ 25 
+ 	~<sys/fže.h
+ >
+ 
+ 30 *
+ 	g·Ž—ve
+  = "\\.^$@dDwWsSbB+*?|()-nrtf0123456789[{]}";
+ 
+ 32 *
+ 	g»·r£
+ ;
+ 
+ 34 
+ checkcomma
+ ();
+ 
+ 36 #ifdeà
+ CLINE
+ 
+ 
+ 37 #undeà
+ CLINE
+ 
+ 
+ 39 
+ 	#CLINE
+  (
+ cmdlše
+  = (
+ curcmd
+ ->
+ c_lše
+  < cmdlš? curcmd->c_lš: cmdlše))
+ 
+ 	)
+ 
+ 41 
+ 	#META
+ (
+ c
+ è((cè| 128)
+ 
+ 	)
+ 
+ 43 
+ 	#RETURN
+ (
+ »tv®
+ è (
+ buåŒ
+  = 
+ s
+ ,(ì‘v®)
+ 
+ 	)
+ 
+ 44 
+ 	#OPERATOR
+ (
+ »tv®
+ è (
+ ex³ù‹rm
+  = 
+ TRUE
+ ,
+ buåŒ
+  = 
+ s
+ ,(ì‘v®)
+ 
+ 	)
+ 
+ 45 
+ 	#TERM
+ (
+ »tv®
+ è (
+ CLINE
+ , 
+ ex³ù‹rm
+  = 
+ FALSE
+ ,
+ buåŒ
+  = 
+ s
+ ,(ì‘v®)
+ 
+ 	)
+ 
+ 46 
+ 	#LOOPX
+ (
+ f
+ è(
+ yylv®
+ .
+ iv®
+ =f,
+ ex³ù‹rm
+  = 
+ FALSE
+ ,
+ buåŒ
+  = 
+ s
+ ,()
+ LOOPEX
+ )
+ 
+ 	)
+ 
+ 47 
+ 	#FTST
+ (
+ f
+ è(
+ yylv®
+ .
+ iv®
+ =f,
+ ex³ù‹rm
+  = 
+ TRUE
+ ,
+ buåŒ
+  = 
+ s
+ ,()
+ FILETEST
+ )
+ 
+ 	)
+ 
+ 48 
+ 	#FUN0
+ (
+ f
+ è(
+ yylv®
+ .
+ iv®
+  = f,
+ ex³ù‹rm
+  = 
+ FALSE
+ ,
+ buåŒ
+  = 
+ s
+ ,()
+ FUNC0
+ )
+ 
+ 	)
+ 
+ 49 
+ 	#FUN1
+ (
+ f
+ è(
+ yylv®
+ .
+ iv®
+  = f,
+ ex³ù‹rm
+  = 
+ FALSE
+ ,
+ buåŒ
+  = 
+ s
+ ,()
+ FUNC1
+ )
+ 
+ 	)
+ 
+ 50 
+ 	#FUN2
+ (
+ f
+ è(
+ yylv®
+ .
+ iv®
+  = f,
+ ex³ù‹rm
+  = 
+ FALSE
+ ,
+ buåŒ
+  = 
+ s
+ ,()
+ FUNC2
+ )
+ 
+ 	)
+ 
+ 51 
+ 	#FUN2x
+ (
+ f
+ è(
+ yylv®
+ .
+ iv®
+  = f,
+ ex³ù‹rm
+  = 
+ FALSE
+ ,
+ buåŒ
+  = 
+ s
+ ,()
+ FUNC2x
+ )
+ 
+ 	)
+ 
+ 52 
+ 	#FUN3
+ (
+ f
+ è(
+ yylv®
+ .
+ iv®
+  = f,
+ ex³ù‹rm
+  = 
+ FALSE
+ ,
+ buåŒ
+  = 
+ s
+ ,()
+ FUNC3
+ )
+ 
+ 	)
+ 
+ 53 
+ 	#FUN4
+ (
+ f
+ è(
+ yylv®
+ .
+ iv®
+  = f,
+ ex³ù‹rm
+  = 
+ FALSE
+ ,
+ buåŒ
+  = 
+ s
+ ,()
+ FUNC4
+ )
+ 
+ 	)
+ 
+ 54 
+ 	#FUN5
+ (
+ f
+ è(
+ yylv®
+ .
+ iv®
+  = f,
+ ex³ù‹rm
+  = 
+ FALSE
+ ,
+ buåŒ
+  = 
+ s
+ ,()
+ FUNC5
+ )
+ 
+ 	)
+ 
+ 55 
+ 	#FL
+ (
+ f
+ è(
+ yylv®
+ .
+ iv®
+ =f,
+ ex³ù‹rm
+  = 
+ FALSE
+ ,
+ buåŒ
+  = 
+ s
+ ,()
+ FLIST
+ )
+ 
+ 	)
+ 
+ 56 
+ 	#FL2
+ (
+ f
+ è(
+ yylv®
+ .
+ iv®
+ =f,
+ ex³ù‹rm
+  = 
+ FALSE
+ ,
+ buåŒ
+  = 
+ s
+ ,()
+ FLIST2
+ )
+ 
+ 	)
+ 
+ 57 
+ 	#HFUN
+ (
+ f
+ è(
+ yylv®
+ .
+ iv®
+ =f,
+ ex³ù‹rm
+  = 
+ TRUE
+ ,
+ buåŒ
+  = 
+ s
+ ,()
+ HSHFUN
+ )
+ 
+ 	)
+ 
+ 58 
+ 	#HFUN3
+ (
+ f
+ è(
+ yylv®
+ .
+ iv®
+ =f,
+ ex³ù‹rm
+  = 
+ FALSE
+ ,
+ buåŒ
+  = 
+ s
+ ,()
+ HSHFUN3
+ )
+ 
+ 	)
+ 
+ 59 
+ 	#LFUN
+ (
+ f
+ è(
+ yylv®
+ .
+ iv®
+ =f,
+ ex³ù‹rm
+  = 
+ TRUE
+ ,
+ buåŒ
+  = 
+ s
+ ,()
+ LVALFUN
+ )
+ 
+ 	)
+ 
+ 60 
+ 	#AOP
+ (
+ f
+ è(
+ yylv®
+ .
+ iv®
+ =f,
+ ex³ù‹rm
+  = 
+ TRUE
+ ,
+ buåŒ
+  = 
+ s
+ ,()
+ ADDOP
+ )
+ 
+ 	)
+ 
+ 61 
+ 	#MOP
+ (
+ f
+ è(
+ yylv®
+ .
+ iv®
+ =f,
+ ex³ù‹rm
+  = 
+ TRUE
+ ,
+ buåŒ
+  = 
+ s
+ ,()
+ MULOP
+ )
+ 
+ 	)
+ 
+ 62 
+ 	#EOP
+ (
+ f
+ è(
+ yylv®
+ .
+ iv®
+ =f,
+ ex³ù‹rm
+  = 
+ TRUE
+ ,
+ buåŒ
+  = 
+ s
+ ,()
+ EQOP
+ )
+ 
+ 	)
+ 
+ 63 
+ 	#ROP
+ (
+ f
+ è(
+ yylv®
+ .
+ iv®
+ =f,
+ ex³ù‹rm
+  = 
+ TRUE
+ ,
+ buåŒ
+  = 
+ s
+ ,()
+ RELOP
+ )
+ 
+ 	)
+ 
+ 64 
+ 	#FOP
+ (
+ f
+ è(
+ yylv®
+ .
+ iv®
+ =f,
+ ex³ù‹rm
+  = 
+ FALSE
+ ,
+ buåŒ
+  = 
+ s
+ ,()
+ FILOP
+ )
+ 
+ 	)
+ 
+ 65 
+ 	#FOP2
+ (
+ f
+ è(
+ yylv®
+ .
+ iv®
+ =f,
+ ex³ù‹rm
+  = 
+ FALSE
+ ,
+ buåŒ
+  = 
+ s
+ ,()
+ FILOP2
+ )
+ 
+ 	)
+ 
+ 66 
+ 	#FOP3
+ (
+ f
+ è(
+ yylv®
+ .
+ iv®
+ =f,
+ ex³ù‹rm
+  = 
+ FALSE
+ ,
+ buåŒ
+  = 
+ s
+ ,()
+ FILOP3
+ )
+ 
+ 	)
+ 
+ 67 
+ 	#FOP4
+ (
+ f
+ è(
+ yylv®
+ .
+ iv®
+ =f,
+ ex³ù‹rm
+  = 
+ FALSE
+ ,
+ buåŒ
+  = 
+ s
+ ,()
+ FILOP4
+ )
+ 
+ 	)
+ 
+ 68 
+ 	#FOP22
+ (
+ f
+ è(
+ yylv®
+ .
+ iv®
+ =f,
+ ex³ù‹rm
+  = 
+ FALSE
+ ,
+ buåŒ
+  = 
+ s
+ ,()
+ FILOP22
+ )
+ 
+ 	)
+ 
+ 69 
+ 	#FOP25
+ (
+ f
+ è(
+ yylv®
+ .
+ iv®
+ =f,
+ ex³ù‹rm
+  = 
+ FALSE
+ ,
+ buåŒ
+  = 
+ s
+ ,()
+ FILOP25
+ )
+ 
+ 	)
+ 
+ 74 
+ 	#UNI
+ (
+ f
+ è(
+ yylv®
+ .
+ iv®
+  = f,
+ ex³ù‹rm
+  = 
+ TRUE
+ ,
+ buåŒ
+  = 
+ s
+ , \
+ 
+ 75 (*
+ s
+  =ð'(' || ( ð
+ 	`sk¥aû
+ (s), * =ð'('è? ()
+ FUNC1
+  : ()
+ UNIOP
+ è)
+ 
+ 	)
+ 
+ 80 
+ 	#LOP
+ (
+ f
+ è(
+ CLINE
+ , *
+ s
+  =ð'(' || ( ð
+ 	`sk¥aû
+ (s), *s == '(') ? \
+ 
+ 81 (*
+ s
+  = 
+ 	`META
+ ('('), 
+ buåŒ
+  = 
+ ÞdbuåŒ
+ , '(') : \
+ 
+ 82 (
+ yylv®
+ .
+ iv®
+ =
+ f
+ ,
+ ex³ù‹rm
+  = 
+ TRUE
+ ,
+ buåŒ
+  = 
+ s
+ ,()
+ LISTOP
+ ))
+ 
+ 	)
+ 
+ 84 
+ 	#OLDLOP
+ (
+ f
+ è(
+ yylv®
+ .
+ iv®
+ =f,
+ ex³ù‹rm
+  = 
+ TRUE
+ ,
+ buåŒ
+  = 
+ s
+ ,()
+ LISTOP
+ )
+ 
+ 	)
+ 
+ 87 
+ 	$sk¥aû
+ (
+ s
+ )
+ 
+ 88 *
+ s
+ ;
+ 
+ 90 
+ s
+  < 
+ buãnd
+  && 
+ 	`i§scii
+ (*sè&& 
+ 	`is¥aû
+ (*s))
+ 
+ 91 
+ s
+ ++;
+ 
+ 92  
+ s
+ ;
+ 
+ 93 
+ 	}
+ }
+ 
+ 95 #ifdeà
+ CRIPPLED_CC
+ 
+ 
+ 97 #undeà
+ UNI
+ 
+ 
+ 98 #undeà
+ LOP
+ 
+ 
+ 99 
+ 	#UNI
+ (
+ f
+ è 
+ 	`uni
+ (f,
+ s
+ )
+ 
+ 	)
+ 
+ 100 
+ 	#LOP
+ (
+ f
+ è 
+ 	`lÝ
+ (f,
+ s
+ )
+ 
+ 	)
+ 
+ 103 
+ 	$uni
+ (
+ f
+ ,
+ s
+ )
+ 
+ 104 
+ f
+ ;
+ 
+ 105 *
+ s
+ ;
+ 
+ 107 
+ yylv®
+ .
+ iv®
+  = 
+ f
+ ;
+ 
+ 108 
+ ex³ù‹rm
+  = 
+ TRUE
+ ;
+ 
+ 109 
+ buåŒ
+  = 
+ s
+ ;
+ 
+ 110 ià(*
+ s
+  == '(')
+ 
+ 111  
+ FUNC1
+ ;
+ 
+ 112 
+ s
+  = 
+ 	`sk¥aû
+ (s);
+ 
+ 113 ià(*
+ s
+  == '(')
+ 
+ 114  
+ FUNC1
+ ;
+ 
+ 116  
+ UNIOP
+ ;
+ 
+ 117 
+ 	}
+ }
+ 
+ 120 
+ 	$lÝ
+ (
+ f
+ ,
+ s
+ )
+ 
+ 121 
+ f
+ ;
+ 
+ 122 *
+ s
+ ;
+ 
+ 124 
+ CLINE
+ ;
+ 
+ 125 ià(*
+ s
+  != '(')
+ 
+ 126 
+ s
+  = 
+ 	`sk¥aû
+ (s);
+ 
+ 127 ià(*
+ s
+  == '(') {
+ 
+ 128 *
+ s
+  = 
+ 	`META
+ ('(');
+ 
+ 129 
+ buåŒ
+  = 
+ ÞdbuåŒ
+ ;
+ 
+ 133 
+ yylv®
+ .
+ iv®
+ =
+ f
+ ;
+ 
+ 134 
+ ex³ù‹rm
+  = 
+ TRUE
+ ;
+ 
+ 135 
+ buåŒ
+  = 
+ s
+ ;
+ 
+ 136  
+ LISTOP
+ ;
+ 
+ 138 
+ 	}
+ }
+ 
+ 142 
+ 	$yyËx
+ ()
+ 
+ 144 *
+ s
+  = 
+ buåŒ
+ ;
+ 
+ 145 *
+ d
+ ;
+ 
+ 146 
+ tmp
+ ;
+ 
+ 147 
+ boÞ
+  
+ š_fÜm©
+  = 
+ FALSE
+ ;
+ 
+ 148 
+ boÞ
+  
+ fœ¡lše
+  = 
+ TRUE
+ ;
+ 
+ 149 

+ yych¬
+ ;
+ 
+ 151 
+ ÞdÞdbuåŒ
+  = 
+ ÞdbuåŒ
+ ;
+ 
+ 152 
+ ÞdbuåŒ
+  = 
+ s
+ ;
+ 
+ 154 
+ »Œy
+ :
+ 
+ 155 #ifdeà
+ YYDEBUG
+ 
+ 
+ 156 ià(
+ debug
+  & 1)
+ 
+ 157 ià(
+ 	`šdex
+ (
+ s
+ ,'\n'))
+ 
+ 158 
+ 	`årštf
+ (
+ ¡d”r
+ ,"Tok’”‡ˆ%s",
+ s
+ );
+ 
+ 160 
+ 	`årštf
+ (
+ ¡d”r
+ ,"Tok’”‡ˆ%s\n",
+ s
+ );
+ 
+ 162 #ifdeà
+ BADSWITCH
+ 
+ 
+ 163 ià(*
+ s
+  & 128) {
+ 
+ 164 ià((*
+ s
+  & 127) == '(')
+ 
+ 165 *
+ s
+ ++ = '(';
+ 
+ 167 
+ 	`w¬n
+ ("UÄecognized ch¬aù” \\%03ØignÜed", *
+ s
+ ++ & 255);
+ 
+ 168 
+ »Œy
+ ;
+ 
+ 171 *
+ s
+ ) {
+ 
+ 173 ià((*
+ s
+  & 127) == '(')
+ 
+ 174 *
+ s
+ ++ = '(';
+ 
+ 176 
+ 	`w¬n
+ ("UÄecognized ch¬aù” \\%03ØignÜed", *
+ s
+ ++ & 255);
+ 
+ 177 
+ »Œy
+ ;
+ 
+ 180 
+ çke_eof
+ ;
+ 
+ 182 ià(!
+ rså
+ )
+ 
+ 183 
+ 	`RETURN
+ (0);
+ 
+ 184 ià(
+ s
+ ++ < 
+ buãnd
+ )
+ 
+ 185 
+ »Œy
+ ;
+ 
+ 186 ià(
+ fœ¡lše
+ ) {
+ 
+ 187 
+ fœ¡lše
+  = 
+ FALSE
+ ;
+ 
+ 188 ià(
+ mšus_n
+  || 
+ mšus_p
+  || 
+ ³¾db
+ ) {
+ 
+ 189 
+ 	`¡r_£t
+ (
+ lše¡r
+ ,"");
+ 
+ 190 ià(
+ ³¾db
+ ) {
+ 
+ 191 *
+ 	`g‘’v
+ ();
+ 
+ 192 *
+ pdb
+  = 
+ 	`g‘’v
+ ("PERLDB");
+ 
+ 194 
+ 	`¡r_ÿt
+ (
+ lše¡r
+ , 
+ pdb
+  ?…db : "require 'perldb.pl'");
+ 
+ 195 
+ 	`¡r_ÿt
+ (
+ lše¡r
+ , ";");
+ 
+ 197 ià(
+ mšus_n
+  || 
+ mšus_p
+ ) {
+ 
+ 198 
+ 	`¡r_ÿt
+ (
+ lše¡r
+ ,"line: while (<>) {");
+ 
+ 199 ià(
+ mšus_l
+ )
+ 
+ 200 
+ 	`¡r_ÿt
+ (
+ lše¡r
+ ,"chop;");
+ 
+ 201 ià(
+ mšus_a
+ )
+ 
+ 202 
+ 	`¡r_ÿt
+ (
+ lše¡r
+ ,"@F=split(' ');");
+ 
+ 204 
+ ÞdÞdbuåŒ
+  = 
+ ÞdbuåŒ
+  = 
+ s
+  = 
+ 	`¡r_g‘
+ (
+ lše¡r
+ );
+ 
+ 205 
+ buãnd
+  = 
+ lše¡r
+ ->
+ ¡r_±r
+  +†še¡r->
+ ¡r_cur
+ ;
+ 
+ 206 
+ »Œy
+ ;
+ 
+ 209 ià(
+ š_fÜm©
+ ) {
+ 
+ 210 
+ buåŒ
+  = 
+ buãnd
+ ;
+ 
+ 211 
+ yylv®
+ .
+ fÜmv®
+  = 
+ 	`lßd_fÜm©
+ ();
+ 
+ 212 
+ š_fÜm©
+  = 
+ FALSE
+ ;
+ 
+ 213 
+ ÞdÞdbuåŒ
+  = 
+ ÞdbuåŒ
+  = 
+ s
+  = 
+ 	`¡r_g‘
+ (
+ lše¡r
+ ) + 1;
+ 
+ 214 
+ buãnd
+  = 
+ lše¡r
+ ->
+ ¡r_±r
+  +†še¡r->
+ ¡r_cur
+ ;
+ 
+ 215 
+ 	`OPERATOR
+ (
+ FORMLIST
+ );
+ 
+ 217 
+ curcmd
+ ->
+ c_lše
+ ++;
+ 
+ 218 #ifdeà
+ CRYPTSCRIPT
+ 
+ 
+ 219 
+ 	`üy±sw™ch
+ ();
+ 
+ 222 ià((
+ s
+  = 
+ 	`¡r_g‘s
+ (
+ lše¡r
+ , 
+ rså
+ , 0)è=ð
+ NuÎch
+ ) {
+ 
+ 223 
+ çke_eof
+ :
+ 
+ 224 ià(
+ rså
+ ) {
+ 
+ 225 ià(
+ ´•roûss
+ )
+ 
+ 226 ()
+ 	`mypþo£
+ (
+ rså
+ );
+ 
+ 227 ià(
+ rså
+  =ð
+ ¡dš
+ )
+ 
+ 228 
+ 	`þ—»¼
+ (
+ ¡dš
+ );
+ 
+ 230 ()
+ 	`fþo£
+ (
+ rså
+ );
+ 
+ 231 
+ rså
+  = 
+ NuÎå
+ ;
+ 
+ 233 ià(
+ mšus_n
+  || 
+ mšus_p
+ ) {
+ 
+ 234 
+ 	`¡r_£t
+ (
+ lše¡r
+ ,
+ mšus_p
+  ? ";}continue{print" : "");
+ 
+ 235 
+ 	`¡r_ÿt
+ (
+ lše¡r
+ ,";}");
+ 
+ 236 
+ ÞdÞdbuåŒ
+  = 
+ ÞdbuåŒ
+  = 
+ s
+  = 
+ 	`¡r_g‘
+ (
+ lše¡r
+ );
+ 
+ 237 
+ buãnd
+  = 
+ lše¡r
+ ->
+ ¡r_±r
+  +†še¡r->
+ ¡r_cur
+ ;
+ 
+ 238 
+ mšus_n
+  = 
+ mšus_p
+  = 0;
+ 
+ 239 
+ »Œy
+ ;
+ 
+ 241 
+ ÞdÞdbuåŒ
+  = 
+ ÞdbuåŒ
+  = 
+ s
+  = 
+ 	`¡r_g‘
+ (
+ lše¡r
+ );
+ 
+ 242 
+ 	`¡r_£t
+ (
+ lše¡r
+ ,"");
+ 
+ 243 
+ 	`RETURN
+ (';');
+ 
+ 245 ià(
+ dÛxŒaù
+  && *
+ lše¡r
+ ->
+ ¡r_±r
+  == '#')
+ 
+ 246 
+ dÛxŒaù
+  = 
+ FALSE
+ ;
+ 
+ 247 } 
+ dÛxŒaù
+ );
+ 
+ 248 
+ ÞdÞdbuåŒ
+  = 
+ ÞdbuåŒ
+  = 
+ buåŒ
+  = 
+ s
+ ;
+ 
+ 249 ià(
+ ³¾db
+ ) {
+ 
+ 250 
+ STR
+  *
+ ¡r
+  = 
+ 	`SŒ_Ãw
+ (85,0);
+ 
+ 252 
+ 	`¡r_s£t
+ (
+ ¡r
+ ,
+ lše¡r
+ );
+ 
+ 253 
+ 	`a¡Üe
+ (
+ 	`¡ab_x¬¿y
+ (
+ curcmd
+ ->
+ c_fže¡ab
+ ),()curcmd->
+ c_lše
+ ,
+ ¡r
+ );
+ 
+ 255 #ifdeà
+ DEBUG
+ 
+ 
+ 256 ià(
+ fœ¡lše
+ ) {
+ 
+ 257 *
+ 	`showšput
+ ();
+ 
+ 258 
+ s
+  = 
+ 	`showšput
+ ();
+ 
+ 261 
+ buãnd
+  = 
+ lše¡r
+ ->
+ ¡r_±r
+  +†še¡r->
+ ¡r_cur
+ ;
+ 
+ 262 ià(
+ curcmd
+ ->
+ c_lše
+  == 1) {
+ 
+ 263 ià(*
+ s
+  == '#' && s[1] == '!') {
+ 
+ 264 ià(!
+ š_ev®
+  && !
+ 	`š¡r
+ (
+ s
+ ,"³¾"è&& in¡r(
+ Üig¬gv
+ [0],"perl")) {
+ 
+ 265 **
+ Ãw¬gv
+ ;
+ 
+ 266 *
+ cmd
+ ;
+ 
+ 268 
+ s
+  += 2;
+ 
+ 269 ià(*
+ s
+  == ' ')
+ 
+ 270 
+ s
+ ++;
+ 
+ 271 
+ cmd
+  = 
+ s
+ ;
+ 
+ 272 
+ s
+  < 
+ buãnd
+  && !
+ 	`is¥aû
+ (*s))
+ 
+ 273 
+ s
+ ++;
+ 
+ 274 *
+ s
+ ++ = '\0';
+ 
+ 275 
+ s
+  < 
+ buãnd
+  && 
+ 	`is¥aû
+ (*s))
+ 
+ 276 
+ s
+ ++;
+ 
+ 277 ià(
+ s
+  < 
+ buãnd
+ ) {
+ 
+ 278 
+ 	`Newz
+ (899,
+ Ãw¬gv
+ ,
+ Üig¬gc
+ +3,*);
+ 
+ 279 
+ Ãw¬gv
+ [1] = 
+ s
+ ;
+ 
+ 280 
+ s
+  < 
+ buãnd
+  && !
+ 	`is¥aû
+ (*s))
+ 
+ 281 
+ s
+ ++;
+ 
+ 282 *
+ s
+  = '\0';
+ 
+ 283 
+ 	`CÝy
+ (
+ Üig¬gv
+ +1, 
+ Ãw¬gv
+ +2, 
+ Üig¬gc
+ +1, *);
+ 
+ 286 
+ Ãw¬gv
+  = 
+ Üig¬gv
+ ;
+ 
+ 287 
+ Ãw¬gv
+ [0] = 
+ cmd
+ ;
+ 
+ 288 
+ 	`execv
+ (
+ cmd
+ ,
+ Ãw¬gv
+ );
+ 
+ 289 
+ 	`çl
+ ("Cª'ˆexeø%s", 
+ cmd
+ );
+ 
+ 293 
+ s
+  < 
+ buãnd
+  && 
+ 	`is¥aû
+ (*s))
+ 
+ 294 
+ s
+ ++;
+ 
+ 295 ià(*
+ s
+  == ':')
+ 
+ 296 
+ s
+ ++;
+ 
+ 299 
+ »Œy
+ ;
+ 
+ 301 
+ s
+ ++;
+ 
+ 302 
+ »Œy
+ ;
+ 
+ 304 ià(
+ ´•roûss
+  && 
+ s
+  =ð
+ 	`¡r_g‘
+ (
+ lše¡r
+ ) &&
+ 
+ 305 
+ s
+ [1] =ð' ' && 
+ 	`isdig™
+ (s[2])) {
+ 
+ 306 
+ curcmd
+ ->
+ c_lše
+  = 
+ 	`©oi
+ (
+ s
+ +2)-1;
+ 
+ 307 
+ s
+  +ð2; 
+ 	`isdig™
+ (*s); s++) ;
+ 
+ 308 
+ d
+  = 
+ buãnd
+ ;
+ 
+ 309 
+ s
+  < 
+ d
+  && 
+ 	`is¥aû
+ (*s)) s++;
+ 
+ 310 
+ s
+ [
+ 	`¡¾’
+ (s)-1] = '\0';
+ 
+ 311 ià(*
+ s
+  == '"') {
+ 
+ 312 
+ s
+ ++;
+ 
+ 313 
+ s
+ [
+ 	`¡¾’
+ (s)-1] = '\0';
+ 
+ 315 ià(*
+ s
+ )
+ 
+ 316 
+ curcmd
+ ->
+ c_fže¡ab
+  = 
+ 	`f¡ab
+ (
+ s
+ );
+ 
+ 318 
+ curcmd
+ ->
+ c_fže¡ab
+  = 
+ 	`f¡ab
+ (
+ Üigfž’ame
+ );
+ 
+ 319 
+ ÞdÞdbuåŒ
+  = 
+ ÞdbuåŒ
+  = 
+ s
+  = 
+ 	`¡r_g‘
+ (
+ lše¡r
+ );
+ 
+ 323 ià(
+ š_ev®
+  && !
+ rså
+ ) {
+ 
+ 324 
+ d
+  = 
+ buãnd
+ ;
+ 
+ 325 
+ s
+  < 
+ d
+  && *s != '\n')
+ 
+ 326 
+ s
+ ++;
+ 
+ 327 ià(
+ s
+  < 
+ d
+ )
+ 
+ 328 
+ s
+ ++;
+ 
+ 329 ià(
+ ³¾db
+ ) {
+ 
+ 330 
+ STR
+  *
+ ¡r
+  = 
+ 	`SŒ_Ãw
+ (85,0);
+ 
+ 332 
+ 	`¡r_n£t
+ (
+ ¡r
+ ,
+ lše¡r
+ ->
+ ¡r_±r
+ , 
+ s
+  -†inestr->str_ptr);
+ 
+ 333 
+ 	`a¡Üe
+ (
+ 	`¡ab_x¬¿y
+ (
+ curcmd
+ ->
+ c_fže¡ab
+ ),()curcmd->
+ c_lše
+ ,
+ ¡r
+ );
+ 
+ 334 
+ 	`¡r_chÝ
+ (
+ lše¡r
+ , 
+ s
+ );
+ 
+ 336 ià(
+ š_fÜm©
+ ) {
+ 
+ 337 
+ buåŒ
+  = 
+ s
+ ;
+ 
+ 338 
+ yylv®
+ .
+ fÜmv®
+  = 
+ 	`lßd_fÜm©
+ ();
+ 
+ 339 
+ š_fÜm©
+  = 
+ FALSE
+ ;
+ 
+ 340 
+ ÞdÞdbuåŒ
+  = 
+ ÞdbuåŒ
+  = 
+ s
+  = 
+ buåŒ
+  + 1;
+ 
+ 341 
+ 	`TERM
+ (
+ FORMLIST
+ );
+ 
+ 343 
+ curcmd
+ ->
+ c_lše
+ ++;
+ 
+ 346 *
+ s
+  = '\0';
+ 
+ 347 
+ buãnd
+  = 
+ s
+ ;
+ 
+ 349 
+ »Œy
+ ;
+ 
+ 351 ià(
+ s
+ [1] && 
+ 	`i§Íha
+ (s[1]) && !isalpha(s[2])) {
+ 
+ 352 
+ s
+ ++;
+ 
+ 353 *
+ s
+ ++) {
+ 
+ 354 'r': 
+ 	`FTST
+ (
+ O_FTEREAD
+ );
+ 
+ 355 'w': 
+ 	`FTST
+ (
+ O_FTEWRITE
+ );
+ 
+ 356 'x': 
+ 	`FTST
+ (
+ O_FTEEXEC
+ );
+ 
+ 357 'o': 
+ 	`FTST
+ (
+ O_FTEOWNED
+ );
+ 
+ 358 'R': 
+ 	`FTST
+ (
+ O_FTRREAD
+ );
+ 
+ 359 'W': 
+ 	`FTST
+ (
+ O_FTRWRITE
+ );
+ 
+ 360 'X': 
+ 	`FTST
+ (
+ O_FTREXEC
+ );
+ 
+ 361 'O': 
+ 	`FTST
+ (
+ O_FTROWNED
+ );
+ 
+ 362 'e': 
+ 	`FTST
+ (
+ O_FTIS
+ );
+ 
+ 363 'z': 
+ 	`FTST
+ (
+ O_FTZERO
+ );
+ 
+ 364 's': 
+ 	`FTST
+ (
+ O_FTSIZE
+ );
+ 
+ 365 'f': 
+ 	`FTST
+ (
+ O_FTFILE
+ );
+ 
+ 366 'd': 
+ 	`FTST
+ (
+ O_FTDIR
+ );
+ 
+ 367 'l': 
+ 	`FTST
+ (
+ O_FTLINK
+ );
+ 
+ 368 'p': 
+ 	`FTST
+ (
+ O_FTPIPE
+ );
+ 
+ 369 'S': 
+ 	`FTST
+ (
+ O_FTSOCK
+ );
+ 
+ 370 'u': 
+ 	`FTST
+ (
+ O_FTSUID
+ );
+ 
+ 371 'g': 
+ 	`FTST
+ (
+ O_FTSGID
+ );
+ 
+ 372 'k': 
+ 	`FTST
+ (
+ O_FTSVTX
+ );
+ 
+ 373 'b': 
+ 	`FTST
+ (
+ O_FTBLK
+ );
+ 
+ 374 'c': 
+ 	`FTST
+ (
+ O_FTCHR
+ );
+ 
+ 375 't': 
+ 	`FTST
+ (
+ O_FTTTY
+ );
+ 
+ 376 'T': 
+ 	`FTST
+ (
+ O_FTTEXT
+ );
+ 
+ 377 'B': 
+ 	`FTST
+ (
+ O_FTBINARY
+ );
+ 
+ 378 'M': 
+ 	`¡ab’t
+ ("\024",
+ TRUE
+ ); 
+ 	`FTST
+ (
+ O_FTMTIME
+ );
+ 
+ 379 'A': 
+ 	`¡ab’t
+ ("\024",
+ TRUE
+ ); 
+ 	`FTST
+ (
+ O_FTATIME
+ );
+ 
+ 380 'C': 
+ 	`¡ab’t
+ ("\024",
+ TRUE
+ ); 
+ 	`FTST
+ (
+ O_FTCTIME
+ );
+ 
+ 382 
+ s
+  -= 2;
+ 
+ 386 
+ tmp
+  = *
+ s
+ ++;
+ 
+ 387 ià(*
+ s
+  =ð
+ tmp
+ ) {
+ 
+ 388 
+ s
+ ++;
+ 
+ 389 
+ 	`RETURN
+ (
+ DEC
+ );
+ 
+ 391 ià(
+ ex³ù‹rm
+ )
+ 
+ 392 
+ 	`OPERATOR
+ ('-');
+ 
+ 394 
+ 	`AOP
+ (
+ O_SUBTRACT
+ );
+ 
+ 396 
+ tmp
+  = *
+ s
+ ++;
+ 
+ 397 ià(*
+ s
+  =ð
+ tmp
+ ) {
+ 
+ 398 
+ s
+ ++;
+ 
+ 399 
+ 	`RETURN
+ (
+ INC
+ );
+ 
+ 401 ià(
+ ex³ù‹rm
+ )
+ 
+ 402 
+ 	`OPERATOR
+ ('+');
+ 
+ 404 
+ 	`AOP
+ (
+ O_ADD
+ );
+ 
+ 407 ià(
+ ex³ù‹rm
+ ) {
+ 
+ 408 
+ s
+  = 
+ 	`sÿnid’t
+ (s,
+ buãnd
+ ,
+ tok’buf
+ );
+ 
+ 409 
+ yylv®
+ .
+ ¡abv®
+  = 
+ 	`¡ab’t
+ (
+ tok’buf
+ ,
+ TRUE
+ );
+ 
+ 410 
+ 	`TERM
+ (
+ STAR
+ );
+ 
+ 412 
+ tmp
+  = *
+ s
+ ++;
+ 
+ 413 ià(*
+ s
+  =ð
+ tmp
+ ) {
+ 
+ 414 
+ s
+ ++;
+ 
+ 415 
+ 	`OPERATOR
+ (
+ POW
+ );
+ 
+ 417 
+ 	`MOP
+ (
+ O_MULTIPLY
+ );
+ 
+ 419 ià(
+ ex³ù‹rm
+ ) {
+ 
+ 420 
+ s
+  = 
+ 	`sÿnid’t
+ (s,
+ buãnd
+ ,
+ tok’buf
+ );
+ 
+ 421 
+ yylv®
+ .
+ ¡abv®
+  = 
+ 	`hadd
+ (
+ 	`¡ab’t
+ (
+ tok’buf
+ ,
+ TRUE
+ ));
+ 
+ 422 
+ 	`TERM
+ (
+ HSH
+ );
+ 
+ 424 
+ s
+ ++;
+ 
+ 425 
+ 	`MOP
+ (
+ O_MODULO
+ );
+ 
+ 433 
+ tmp
+  = *
+ s
+ ++;
+ 
+ 434 
+ 	`OPERATOR
+ (
+ tmp
+ );
+ 
+ 436 
+ tmp
+  = *
+ s
+ ++;
+ 
+ 437 ià(
+ 	`is¥aû
+ (*
+ s
+ ) || *s == '#')
+ 
+ 438 
+ cmdlše
+  = 
+ NOLINE
+ ;
+ 
+ 439 
+ 	`OPERATOR
+ (
+ tmp
+ );
+ 
+ 441 ià(
+ curcmd
+ ->
+ c_lše
+  < 
+ cmdlše
+ )
+ 
+ 442 
+ cmdlše
+  = 
+ curcmd
+ ->
+ c_lše
+ ;
+ 
+ 443 
+ tmp
+  = *
+ s
+ ++;
+ 
+ 444 
+ 	`OPERATOR
+ (
+ tmp
+ );
+ 
+ 447 
+ tmp
+  = *
+ s
+ ++;
+ 
+ 448 
+ 	`TERM
+ (
+ tmp
+ );
+ 
+ 450 
+ tmp
+  = *
+ s
+ ++;
+ 
+ 451 
+ 	`RETURN
+ (
+ tmp
+ );
+ 
+ 453 
+ s
+ ++;
+ 
+ 454 
+ tmp
+  = *
+ s
+ ++;
+ 
+ 455 ià(
+ tmp
+  == '&')
+ 
+ 456 
+ 	`OPERATOR
+ (
+ ANDAND
+ );
+ 
+ 457 
+ s
+ --;
+ 
+ 458 ià(
+ ex³ù‹rm
+ ) {
+ 
+ 459 
+ d
+  = 
+ buãnd
+ ;
+ 
+ 460 
+ s
+  < 
+ d
+  && 
+ 	`is¥aû
+ (*s))
+ 
+ 461 
+ s
+ ++;
+ 
+ 462 ià(
+ 	`i§Íha
+ (*
+ s
+ ) || *s == '_' || *s == '\'')
+ 
+ 463 *(--
+ s
+ ) = '\\';
+ 
+ 464 
+ 	`OPERATOR
+ (
+ AMPER
+ );
+ 
+ 466 
+ 	`OPERATOR
+ ('&');
+ 
+ 468 
+ s
+ ++;
+ 
+ 469 
+ tmp
+  = *
+ s
+ ++;
+ 
+ 470 ià(
+ tmp
+  == '|')
+ 
+ 471 
+ 	`OPERATOR
+ (
+ OROR
+ );
+ 
+ 472 
+ s
+ --;
+ 
+ 473 
+ 	`OPERATOR
+ ('|');
+ 
+ 475 
+ s
+ ++;
+ 
+ 476 
+ tmp
+  = *
+ s
+ ++;
+ 
+ 477 ià(
+ tmp
+  == '=')
+ 
+ 478 
+ 	`EOP
+ (
+ O_EQ
+ );
+ 
+ 479 ià(
+ tmp
+  == '~')
+ 
+ 480 
+ 	`OPERATOR
+ (
+ MATCH
+ );
+ 
+ 481 
+ s
+ --;
+ 
+ 482 
+ 	`OPERATOR
+ ('=');
+ 
+ 484 
+ s
+ ++;
+ 
+ 485 
+ tmp
+  = *
+ s
+ ++;
+ 
+ 486 ià(
+ tmp
+  == '=')
+ 
+ 487 
+ 	`EOP
+ (
+ O_NE
+ );
+ 
+ 488 ià(
+ tmp
+  == '~')
+ 
+ 489 
+ 	`OPERATOR
+ (
+ NMATCH
+ );
+ 
+ 490 
+ s
+ --;
+ 
+ 491 
+ 	`OPERATOR
+ ('!');
+ 
+ 493 ià(
+ ex³ù‹rm
+ ) {
+ 
+ 494 
+ s
+  = 
+ 	`sÿn¡r
+ (s);
+ 
+ 495 
+ 	`TERM
+ (
+ RSTRING
+ );
+ 
+ 497 
+ s
+ ++;
+ 
+ 498 
+ tmp
+  = *
+ s
+ ++;
+ 
+ 499 ià(
+ tmp
+  == '<')
+ 
+ 500 
+ 	`OPERATOR
+ (
+ LS
+ );
+ 
+ 501 ià(
+ tmp
+  == '=') {
+ 
+ 502 
+ tmp
+  = *
+ s
+ ++;
+ 
+ 503 ià(
+ tmp
+  == '>')
+ 
+ 504 
+ 	`EOP
+ (
+ O_NCMP
+ );
+ 
+ 505 
+ s
+ --;
+ 
+ 506 
+ 	`ROP
+ (
+ O_LE
+ );
+ 
+ 508 
+ s
+ --;
+ 
+ 509 
+ 	`ROP
+ (
+ O_LT
+ );
+ 
+ 511 
+ s
+ ++;
+ 
+ 512 
+ tmp
+  = *
+ s
+ ++;
+ 
+ 513 ià(
+ tmp
+  == '>')
+ 
+ 514 
+ 	`OPERATOR
+ (
+ RS
+ );
+ 
+ 515 ià(
+ tmp
+  == '=')
+ 
+ 516 
+ 	`ROP
+ (
+ O_GE
+ );
+ 
+ 517 
+ s
+ --;
+ 
+ 518 
+ 	`ROP
+ (
+ O_GT
+ );
+ 
+ 520 
+ 	#SNARFWORD
+  \
+ 
+ 521 
+ d
+  = 
+ tok’buf
+ ; \
+ 
+ 522 
+ 	`i§scii
+ (*
+ s
+ ) && \
+ 
+ 523 (
+ 	`i§Íha
+ (*
+ s
+ è|| 
+ 	`isdig™
+ (*s) || *s == '_' || *s == '\'')) \
+ 
+ 524 *
+ d
+ ++ = *
+ s
+ ++; \
+ 
+ 525 
+ d
+ [-1] == '\'') \
+ 
+ 526 
+ d
+ --,
+ s
+ --; \
+ 
+ 527 *
+ d
+  = '\0'; \
+ 
+ 528 
+ d
+  = 
+ tok’buf
+ ;
+ 
+ 	)
+ 
+ 531 ià(
+ s
+ [1] =ð'#' && (
+ 	`i§Íha
+ (s[2]) || s[2] == '_')) {
+ 
+ 532 
+ s
+ ++;
+ 
+ 533 
+ s
+  = 
+ 	`sÿnid’t
+ (s,
+ buãnd
+ ,
+ tok’buf
+ );
+ 
+ 534 
+ yylv®
+ .
+ ¡abv®
+  = 
+ 	`¯dd
+ (
+ 	`¡ab’t
+ (
+ tok’buf
+ ,
+ TRUE
+ ));
+ 
+ 535 
+ 	`TERM
+ (
+ ARYLEN
+ );
+ 
+ 537 
+ d
+  = 
+ s
+ ;
+ 
+ 538 
+ s
+  = 
+ 	`sÿnid’t
+ (s,
+ buãnd
+ ,
+ tok’buf
+ );
+ 
+ 539 ià(
+ »·r£
+ ) {
+ 
+ 540 
+ do_»·r£
+ :
+ 
+ 541 
+ s
+ [-1] = ')';
+ 
+ 542 
+ s
+  = 
+ d
+ ;
+ 
+ 543 
+ s
+ [1] = s[0];
+ 
+ 544 
+ s
+ [0] = '(';
+ 
+ 545 
+ »Œy
+ ;
+ 
+ 547 
+ yylv®
+ .
+ ¡abv®
+  = 
+ 	`¡ab’t
+ (
+ tok’buf
+ ,
+ TRUE
+ );
+ 
+ 548 
+ 	`TERM
+ (
+ REG
+ );
+ 
+ 551 
+ d
+  = 
+ s
+ ;
+ 
+ 552 
+ s
+  = 
+ 	`sÿnid’t
+ (s,
+ buãnd
+ ,
+ tok’buf
+ );
+ 
+ 553 ià(
+ »·r£
+ )
+ 
+ 554 
+ do_»·r£
+ ;
+ 
+ 555 
+ yylv®
+ .
+ ¡abv®
+  = 
+ 	`¯dd
+ (
+ 	`¡ab’t
+ (
+ tok’buf
+ ,
+ TRUE
+ ));
+ 
+ 556 
+ 	`TERM
+ (
+ ARY
+ );
+ 
+ 560 ià(
+ ex³ù‹rm
+ ) {
+ 
+ 561 
+ s
+  = 
+ 	`sÿÅ©
+ (s);
+ 
+ 562 
+ 	`TERM
+ (
+ PATTERN
+ );
+ 
+ 564 
+ tmp
+  = *
+ s
+ ++;
+ 
+ 565 ià(
+ tmp
+  == '/')
+ 
+ 566 
+ 	`MOP
+ (
+ O_DIVIDE
+ );
+ 
+ 567 
+ 	`OPERATOR
+ (
+ tmp
+ );
+ 
+ 570 ià(!
+ ex³ù‹rm
+  || !
+ 	`isdig™
+ (
+ s
+ [1])) {
+ 
+ 571 
+ tmp
+  = *
+ s
+ ++;
+ 
+ 572 ià(*
+ s
+  =ð
+ tmp
+ ) {
+ 
+ 573 
+ s
+ ++;
+ 
+ 574 
+ 	`OPERATOR
+ (
+ DOTDOT
+ );
+ 
+ 576 
+ 	`AOP
+ (
+ O_CONCAT
+ );
+ 
+ 582 
+ s
+  = 
+ 	`sÿn¡r
+ (s);
+ 
+ 583 
+ 	`TERM
+ (
+ RSTRING
+ );
+ 
+ 586 
+ s
+ ++;
+ 
+ 589 
+ SNARFWORD
+ ;
+ 
+ 590 ià(
+ d
+ [1] == '_') {
+ 
+ 591 ià(
+ 	`¡rEQ
+ (
+ d
+ ,"__LINE__") || strEQ(d,"__FILE__")) {
+ 
+ 592 
+ ARG
+  *
+ ¬g
+  = 
+ 	`Ý_Ãw
+ (1);
+ 
+ 594 
+ yylv®
+ .
+ ¬g
+  =‡rg;
+ 
+ 595 
+ ¬g
+ ->
+ ¬g_ty³
+  = 
+ O_ITEM
+ ;
+ 
+ 596 ià(
+ d
+ [2] == 'L')
+ 
+ 597 ()
+ 	`¥rštf
+ (
+ tok’buf
+ ,"%ld",()
+ curcmd
+ ->
+ c_lše
+ );
+ 
+ 599 
+ 	`¡rýy
+ (
+ tok’buf
+ , 
+ 	`¡ab_v®
+ (
+ curcmd
+ ->
+ c_fže¡ab
+ )->
+ ¡r_±r
+ );
+ 
+ 600 
+ ¬g
+ [1].
+ ¬g_ty³
+  = 
+ A_SINGLE
+ ;
+ 
+ 601 
+ ¬g
+ [1].
+ ¬g_±r
+ .
+ ¬g_¡r
+  = 
+ 	`¡r_make
+ (
+ tok’buf
+ ,
+ 	`¡¾’
+ (tokenbuf));
+ 
+ 602 
+ 	`TERM
+ (
+ RSTRING
+ );
+ 
+ 604 ià(
+ 	`¡rEQ
+ (
+ d
+ ,"__END__")) {
+ 
+ 605 #iâdeà
+ TAINT
+ 
+ 
+ 606 
+ STAB
+  *
+ ¡ab
+ ;
+ 
+ 607 
+ fd
+ ;
+ 
+ 609 ià(
+ ¡ab
+  = 
+ 	`¡ab’t
+ ("DATA",
+ FALSE
+ )) {
+ 
+ 610 
+ ¡ab
+ ->
+ ¡r_pok
+  |ð
+ SP_MULTI
+ ;
+ 
+ 611 
+ 	`¡ab_io
+ (
+ ¡ab
+ èð
+ 	`¡io_Ãw
+ ();
+ 
+ 612 
+ 	`¡ab_io
+ (
+ ¡ab
+ )->
+ iå
+  = 
+ rså
+ ;
+ 
+ 613 #ià
+ 	`defšed
+ (
+ HAS_FCNTL
+ è&& defšed(
+ F_SETFD
+ )
+ 
+ 614 
+ fd
+  = 
+ 	`fž’o
+ (
+ rså
+ );
+ 
+ 615 
+ 	`fúŽ
+ (
+ fd
+ ,
+ F_SETFD
+ ,fd >= 3);
+ 
+ 617 ià(
+ ´•roûss
+ )
+ 
+ 618 
+ 	`¡ab_io
+ (
+ ¡ab
+ )->
+ ty³
+  = '|';
+ 
+ 619 ià(
+ rså
+  =ð
+ ¡dš
+ )
+ 
+ 620 
+ 	`¡ab_io
+ (
+ ¡ab
+ )->
+ ty³
+  = '-';
+ 
+ 622 
+ 	`¡ab_io
+ (
+ ¡ab
+ )->
+ ty³
+  = '<';
+ 
+ 623 
+ rså
+  = 
+ NuÎå
+ ;
+ 
+ 626 
+ çke_eof
+ ;
+ 
+ 631 
+ SNARFWORD
+ ;
+ 
+ 632 ià(
+ 	`¡rEQ
+ (
+ d
+ ,"alarm"))
+ 
+ 633 
+ 	`UNI
+ (
+ O_ALARM
+ );
+ 
+ 634 ià(
+ 	`¡rEQ
+ (
+ d
+ ,"accept"))
+ 
+ 635 
+ 	`FOP22
+ (
+ O_ACCEPT
+ );
+ 
+ 636 ià(
+ 	`¡rEQ
+ (
+ d
+ ,"atan2"))
+ 
+ 637 
+ 	`FUN2
+ (
+ O_ATAN2
+ );
+ 
+ 640 
+ SNARFWORD
+ ;
+ 
+ 641 ià(
+ 	`¡rEQ
+ (
+ d
+ ,"bind"))
+ 
+ 642 
+ 	`FOP2
+ (
+ O_BIND
+ );
+ 
+ 643 ià(
+ 	`¡rEQ
+ (
+ d
+ ,"binmode"))
+ 
+ 644 
+ 	`FOP
+ (
+ O_BINMODE
+ );
+ 
+ 647 
+ SNARFWORD
+ ;
+ 
+ 648 ià(
+ 	`¡rEQ
+ (
+ d
+ ,"chop"))
+ 
+ 649 
+ 	`LFUN
+ (
+ O_CHOP
+ );
+ 
+ 650 ià(
+ 	`¡rEQ
+ (
+ d
+ ,"continue"))
+ 
+ 651 
+ 	`OPERATOR
+ (
+ CONTINUE
+ );
+ 
+ 652 ià(
+ 	`¡rEQ
+ (
+ d
+ ,"chdir")) {
+ 
+ 653 ()
+ 	`¡ab’t
+ ("ENV",
+ TRUE
+ );
+ 
+ 654 
+ 	`UNI
+ (
+ O_CHDIR
+ );
+ 
+ 656 ià(
+ 	`¡rEQ
+ (
+ d
+ ,"close"))
+ 
+ 657 
+ 	`FOP
+ (
+ O_CLOSE
+ );
+ 
+ 658 ià(
+ 	`¡rEQ
+ (
+ d
+ ,"closedir"))
+ 
+ 659 
+ 	`FOP
+ (
+ O_CLOSEDIR
+ );
+ 
+ 660 ià(
+ 	`¡rEQ
+ (
+ d
+ ,"cmp"))
+ 
+ 661 
+ 	`EOP
+ (
+ O_SCMP
+ );
+ 
+ 662 ià(
+ 	`¡rEQ
+ (
+ d
+ ,"caller"))
+ 
+ 663 
+ 	`UNI
+ (
+ O_CALLER
+ );
+ 
+ 664 ià(
+ 	`¡rEQ
+ (
+ d
+ ,"crypt")) {
+ 
+ 665 #ifdeà
+ FCRYPT
+ 
+ 
+ 666 
+ 	`š™_des
+ ();
+ 
+ 668 
+ 	`FUN2
+ (
+ O_CRYPT
+ );
+ 
+ 670 ià(
+ 	`¡rEQ
+ (
+ d
+ ,"chmod"))
+ 
+ 671 
+ 	`LOP
+ (
+ O_CHMOD
+ );
+ 
+ 672 ià(
+ 	`¡rEQ
+ (
+ d
+ ,"chown"))
+ 
+ 673 
+ 	`LOP
+ (
+ O_CHOWN
+ );
+ 
+ 674 ià(
+ 	`¡rEQ
+ (
+ d
+ ,"connect"))
+ 
+ 675 
+ 	`FOP2
+ (
+ O_CONNECT
+ );
+ 
+ 676 ià(
+ 	`¡rEQ
+ (
+ d
+ ,"cos"))
+ 
+ 677 
+ 	`UNI
+ (
+ O_COS
+ );
+ 
+ 678 ià(
+ 	`¡rEQ
+ (
+ d
+ ,"chroot"))
+ 
+ 679 
+ 	`UNI
+ (
+ O_CHROOT
+ );
+ 
+ 682 
+ SNARFWORD
+ ;
+ 
+ 683 ià(
+ 	`¡rEQ
+ (
+ d
+ ,"do")) {
+ 
+ 684 
+ d
+  = 
+ buãnd
+ ;
+ 
+ 685 
+ s
+  < 
+ d
+  && 
+ 	`is¥aû
+ (*s))
+ 
+ 686 
+ s
+ ++;
+ 
+ 687 ià(
+ 	`i§Íha
+ (*
+ s
+ ) || *s == '_')
+ 
+ 688 *(--
+ s
+ ) = '\\';
+ 
+ 689 
+ 	`OPERATOR
+ (
+ DO
+ );
+ 
+ 691 ià(
+ 	`¡rEQ
+ (
+ d
+ ,"die"))
+ 
+ 692 
+ 	`LOP
+ (
+ O_DIE
+ );
+ 
+ 693 ià(
+ 	`¡rEQ
+ (
+ d
+ ,"defined"))
+ 
+ 694 
+ 	`LFUN
+ (
+ O_DEFINED
+ );
+ 
+ 695 ià(
+ 	`¡rEQ
+ (
+ d
+ ,"delete"))
+ 
+ 696 
+ 	`OPERATOR
+ (
+ DELETE
+ );
+ 
+ 697 ià(
+ 	`¡rEQ
+ (
+ d
+ ,"dbmopen"))
+ 
+ 698 
+ 	`HFUN3
+ (
+ O_DBMOPEN
+ );
+ 
+ 699 ià(
+ 	`¡rEQ
+ (
+ d
+ ,"dbmclose"))
+ 
+ 700 
+ 	`HFUN
+ (
+ O_DBMCLOSE
+ );
+ 
+ 701 ià(
+ 	`¡rEQ
+ (
+ d
+ ,"dump"))
+ 
+ 702 
+ 	`LOOPX
+ (
+ O_DUMP
+ );
+ 
+ 705 
+ SNARFWORD
+ ;
+ 
+ 706 ià(
+ 	`¡rEQ
+ (
+ d
+ ,"else"))
+ 
+ 707 
+ 	`OPERATOR
+ (
+ ELSE
+ );
+ 
+ 708 ià(
+ 	`¡rEQ
+ (
+ d
+ ,"elsif")) {
+ 
+ 709 
+ yylv®
+ .
+ iv®
+  = 
+ curcmd
+ ->
+ c_lše
+ ;
+ 
+ 710 
+ 	`OPERATOR
+ (
+ ELSIF
+ );
+ 
+ 712 ià(
+ 	`¡rEQ
+ (
+ d
+ ,"eq") || strEQ(d,"EQ"))
+ 
+ 713 
+ 	`EOP
+ (
+ O_SEQ
+ );
+ 
+ 714 ià(
+ 	`¡rEQ
+ (
+ d
+ ,"exit"))
+ 
+ 715 
+ 	`UNI
+ (
+ O_EXIT
+ );
+ 
+ 716 ià(
+ 	`¡rEQ
+ (
+ d
+ ,"eval")) {
+ 
+ 717 
+ ®l¡abs
+  = 
+ TRUE
+ ;
+ 
+ 718 
+ 	`UNI
+ (
+ O_EVAL
+ );
+ 
+ 720 ià(
+ 	`¡rEQ
+ (
+ d
+ ,"eof"))
+ 
+ 721 
+ 	`FOP
+ (
+ O_EOF
+ );
+ 
+ 722 ià(
+ 	`¡rEQ
+ (
+ d
+ ,"exp"))
+ 
+ 723 
+ 	`UNI
+ (
+ O_EXP
+ );
+ 
+ 724 ià(
+ 	`¡rEQ
+ (
+ d
+ ,"each"))
+ 
+ 725 
+ 	`HFUN
+ (
+ O_EACH
+ );
+ 
+ 726 ià(
+ 	`¡rEQ
+ (
+ d
+ ,"exec")) {
+ 
+ 727 
+ 	`£t_csh
+ ();
+ 
+ 728 
+ 	`LOP
+ (
+ O_EXEC_OP
+ );
+ 
+ 730 ià(
+ 	`¡rEQ
+ (
+ d
+ ,"endhostent"))
+ 
+ 731 
+ 	`FUN0
+ (
+ O_EHOSTENT
+ );
+ 
+ 732 ià(
+ 	`¡rEQ
+ (
+ d
+ ,"endnetent"))
+ 
+ 733 
+ 	`FUN0
+ (
+ O_ENETENT
+ );
+ 
+ 734 ià(
+ 	`¡rEQ
+ (
+ d
+ ,"endservent"))
+ 
+ 735 
+ 	`FUN0
+ (
+ O_ESERVENT
+ );
+ 
+ 736 ià(
+ 	`¡rEQ
+ (
+ d
+ ,"endprotoent"))
+ 
+ 737 
+ 	`FUN0
+ (
+ O_EPROTOENT
+ );
+ 
+ 738 ià(
+ 	`¡rEQ
+ (
+ d
+ ,"endpwent"))
+ 
+ 739 
+ 	`FUN0
+ (
+ O_EPWENT
+ );
+ 
+ 740 ià(
+ 	`¡rEQ
+ (
+ d
+ ,"endgrent"))
+ 
+ 741 
+ 	`FUN0
+ (
+ O_EGRENT
+ );
+ 
+ 744 
+ SNARFWORD
+ ;
+ 
+ 745 ià(
+ 	`¡rEQ
+ (
+ d
+ ,"for") || strEQ(d,"foreach")) {
+ 
+ 746 
+ yylv®
+ .
+ iv®
+  = 
+ curcmd
+ ->
+ c_lše
+ ;
+ 
+ 747 
+ 	`OPERATOR
+ (
+ FOR
+ );
+ 
+ 749 ià(
+ 	`¡rEQ
+ (
+ d
+ ,"format")) {
+ 
+ 750 
+ d
+  = 
+ buãnd
+ ;
+ 
+ 751 
+ s
+  < 
+ d
+  && 
+ 	`is¥aû
+ (*s))
+ 
+ 752 
+ s
+ ++;
+ 
+ 753 ià(
+ 	`i§Íha
+ (*
+ s
+ ) || *s == '_')
+ 
+ 754 *(--
+ s
+ ) = '\\';
+ 
+ 755 
+ š_fÜm©
+  = 
+ TRUE
+ ;
+ 
+ 756 
+ ®l¡abs
+  = 
+ TRUE
+ ;
+ 
+ 757 
+ 	`OPERATOR
+ (
+ FORMAT
+ );
+ 
+ 759 ià(
+ 	`¡rEQ
+ (
+ d
+ ,"fork"))
+ 
+ 760 
+ 	`FUN0
+ (
+ O_FORK
+ );
+ 
+ 761 ià(
+ 	`¡rEQ
+ (
+ d
+ ,"fcntl"))
+ 
+ 762 
+ 	`FOP3
+ (
+ O_FCNTL
+ );
+ 
+ 763 ià(
+ 	`¡rEQ
+ (
+ d
+ ,"fileno"))
+ 
+ 764 
+ 	`FOP
+ (
+ O_FILENO
+ );
+ 
+ 765 ià(
+ 	`¡rEQ
+ (
+ d
+ ,"flock"))
+ 
+ 766 
+ 	`FOP2
+ (
+ O_FLOCK
+ );
+ 
+ 769 
+ SNARFWORD
+ ;
+ 
+ 770 ià(
+ 	`¡rEQ
+ (
+ d
+ ,"gt") || strEQ(d,"GT"))
+ 
+ 771 
+ 	`ROP
+ (
+ O_SGT
+ );
+ 
+ 772 ià(
+ 	`¡rEQ
+ (
+ d
+ ,"ge") || strEQ(d,"GE"))
+ 
+ 773 
+ 	`ROP
+ (
+ O_SGE
+ );
+ 
+ 774 ià(
+ 	`¡rEQ
+ (
+ d
+ ,"grep"))
+ 
+ 775 
+ 	`FL2
+ (
+ O_GREP
+ );
+ 
+ 776 ià(
+ 	`¡rEQ
+ (
+ d
+ ,"goto"))
+ 
+ 777 
+ 	`LOOPX
+ (
+ O_GOTO
+ );
+ 
+ 778 ià(
+ 	`¡rEQ
+ (
+ d
+ ,"gmtime"))
+ 
+ 779 
+ 	`UNI
+ (
+ O_GMTIME
+ );
+ 
+ 780 ià(
+ 	`¡rEQ
+ (
+ d
+ ,"getc"))
+ 
+ 781 
+ 	`FOP
+ (
+ O_GETC
+ );
+ 
+ 782 ià(
+ 	`¡ºEQ
+ (
+ d
+ ,"get",3)) {
+ 
+ 783 
+ d
+  += 3;
+ 
+ 784 ià(*
+ d
+  == 'p') {
+ 
+ 785 ià(
+ 	`¡rEQ
+ (
+ d
+ ,"ppid"))
+ 
+ 786 
+ 	`FUN0
+ (
+ O_GETPPID
+ );
+ 
+ 787 ià(
+ 	`¡rEQ
+ (
+ d
+ ,"pgrp"))
+ 
+ 788 
+ 	`UNI
+ (
+ O_GETPGRP
+ );
+ 
+ 789 ià(
+ 	`¡rEQ
+ (
+ d
+ ,"priority"))
+ 
+ 790 
+ 	`FUN2
+ (
+ O_GETPRIORITY
+ );
+ 
+ 791 ià(
+ 	`¡rEQ
+ (
+ d
+ ,"protobyname"))
+ 
+ 792 
+ 	`UNI
+ (
+ O_GPBYNAME
+ );
+ 
+ 793 ià(
+ 	`¡rEQ
+ (
+ d
+ ,"protobynumber"))
+ 
+ 794 
+ 	`FUN1
+ (
+ O_GPBYNUMBER
+ );
+ 
+ 795 ià(
+ 	`¡rEQ
+ (
+ d
+ ,"protoent"))
+ 
+ 796 
+ 	`FUN0
+ (
+ O_GPROTOENT
+ );
+ 
+ 797 ià(
+ 	`¡rEQ
+ (
+ d
+ ,"pwent"))
+ 
+ 798 
+ 	`FUN0
+ (
+ O_GPWENT
+ );
+ 
+ 799 ià(
+ 	`¡rEQ
+ (
+ d
+ ,"pwnam"))
+ 
+ 800 
+ 	`FUN1
+ (
+ O_GPWNAM
+ );
+ 
+ 801 ià(
+ 	`¡rEQ
+ (
+ d
+ ,"pwuid"))
+ 
+ 802 
+ 	`FUN1
+ (
+ O_GPWUID
+ );
+ 
+ 803 ià(
+ 	`¡rEQ
+ (
+ d
+ ,"peername"))
+ 
+ 804 
+ 	`FOP
+ (
+ O_GETPEERNAME
+ );
+ 
+ 806 ià(*
+ d
+  == 'h') {
+ 
+ 807 ià(
+ 	`¡rEQ
+ (
+ d
+ ,"hostbyname"))
+ 
+ 808 
+ 	`UNI
+ (
+ O_GHBYNAME
+ );
+ 
+ 809 ià(
+ 	`¡rEQ
+ (
+ d
+ ,"hostbyaddr"))
+ 
+ 810 
+ 	`FUN2
+ (
+ O_GHBYADDR
+ );
+ 
+ 811 ià(
+ 	`¡rEQ
+ (
+ d
+ ,"hostent"))
+ 
+ 812 
+ 	`FUN0
+ (
+ O_GHOSTENT
+ );
+ 
+ 814 ià(*
+ d
+  == 'n') {
+ 
+ 815 ià(
+ 	`¡rEQ
+ (
+ d
+ ,"netbyname"))
+ 
+ 816 
+ 	`UNI
+ (
+ O_GNBYNAME
+ );
+ 
+ 817 ià(
+ 	`¡rEQ
+ (
+ d
+ ,"netbyaddr"))
+ 
+ 818 
+ 	`FUN2
+ (
+ O_GNBYADDR
+ );
+ 
+ 819 ià(
+ 	`¡rEQ
+ (
+ d
+ ,"netent"))
+ 
+ 820 
+ 	`FUN0
+ (
+ O_GNETENT
+ );
+ 
+ 822 ià(*
+ d
+  == 's') {
+ 
+ 823 ià(
+ 	`¡rEQ
+ (
+ d
+ ,"servbyname"))
+ 
+ 824 
+ 	`FUN2
+ (
+ O_GSBYNAME
+ );
+ 
+ 825 ià(
+ 	`¡rEQ
+ (
+ d
+ ,"servbyport"))
+ 
+ 826 
+ 	`FUN2
+ (
+ O_GSBYPORT
+ );
+ 
+ 827 ià(
+ 	`¡rEQ
+ (
+ d
+ ,"servent"))
+ 
+ 828 
+ 	`FUN0
+ (
+ O_GSERVENT
+ );
+ 
+ 829 ià(
+ 	`¡rEQ
+ (
+ d
+ ,"sockname"))
+ 
+ 830 
+ 	`FOP
+ (
+ O_GETSOCKNAME
+ );
+ 
+ 831 ià(
+ 	`¡rEQ
+ (
+ d
+ ,"sockopt"))
+ 
+ 832 
+ 	`FOP3
+ (
+ O_GSOCKOPT
+ );
+ 
+ 834 ià(*
+ d
+  == 'g') {
+ 
+ 835 ià(
+ 	`¡rEQ
+ (
+ d
+ ,"grent"))
+ 
+ 836 
+ 	`FUN0
+ (
+ O_GGRENT
+ );
+ 
+ 837 ià(
+ 	`¡rEQ
+ (
+ d
+ ,"grnam"))
+ 
+ 838 
+ 	`FUN1
+ (
+ O_GGRNAM
+ );
+ 
+ 839 ià(
+ 	`¡rEQ
+ (
+ d
+ ,"grgid"))
+ 
+ 840 
+ 	`FUN1
+ (
+ O_GGRGID
+ );
+ 
+ 842 ià(*
+ d
+  == 'l') {
+ 
+ 843 ià(
+ 	`¡rEQ
+ (
+ d
+ ,"login"))
+ 
+ 844 
+ 	`FUN0
+ (
+ O_GETLOGIN
+ );
+ 
+ 846 
+ d
+  -= 3;
+ 
+ 850 
+ SNARFWORD
+ ;
+ 
+ 851 ià(
+ 	`¡rEQ
+ (
+ d
+ ,"hex"))
+ 
+ 852 
+ 	`UNI
+ (
+ O_HEX
+ );
+ 
+ 855 
+ SNARFWORD
+ ;
+ 
+ 856 ià(
+ 	`¡rEQ
+ (
+ d
+ ,"if")) {
+ 
+ 857 
+ yylv®
+ .
+ iv®
+  = 
+ curcmd
+ ->
+ c_lše
+ ;
+ 
+ 858 
+ 	`OPERATOR
+ (
+ IF
+ );
+ 
+ 860 ià(
+ 	`¡rEQ
+ (
+ d
+ ,"index"))
+ 
+ 861 
+ 	`FUN2x
+ (
+ O_INDEX
+ );
+ 
+ 862 ià(
+ 	`¡rEQ
+ (
+ d
+ ,"int"))
+ 
+ 863 
+ 	`UNI
+ (
+ O_INT
+ );
+ 
+ 864 ià(
+ 	`¡rEQ
+ (
+ d
+ ,"ioctl"))
+ 
+ 865 
+ 	`FOP3
+ (
+ O_IOCTL
+ );
+ 
+ 868 
+ SNARFWORD
+ ;
+ 
+ 869 ià(
+ 	`¡rEQ
+ (
+ d
+ ,"join"))
+ 
+ 870 
+ 	`FL2
+ (
+ O_JOIN
+ );
+ 
+ 873 
+ SNARFWORD
+ ;
+ 
+ 874 ià(
+ 	`¡rEQ
+ (
+ d
+ ,"keys"))
+ 
+ 875 
+ 	`HFUN
+ (
+ O_KEYS
+ );
+ 
+ 876 ià(
+ 	`¡rEQ
+ (
+ d
+ ,"kill"))
+ 
+ 877 
+ 	`LOP
+ (
+ O_KILL
+ );
+ 
+ 880 
+ SNARFWORD
+ ;
+ 
+ 881 ià(
+ 	`¡rEQ
+ (
+ d
+ ,"last"))
+ 
+ 882 
+ 	`LOOPX
+ (
+ O_LAST
+ );
+ 
+ 883 ià(
+ 	`¡rEQ
+ (
+ d
+ ,"local"))
+ 
+ 884 
+ 	`OPERATOR
+ (
+ LOCAL
+ );
+ 
+ 885 ià(
+ 	`¡rEQ
+ (
+ d
+ ,"length"))
+ 
+ 886 
+ 	`UNI
+ (
+ O_LENGTH
+ );
+ 
+ 887 ià(
+ 	`¡rEQ
+ (
+ d
+ ,"lt") || strEQ(d,"LT"))
+ 
+ 888 
+ 	`ROP
+ (
+ O_SLT
+ );
+ 
+ 889 ià(
+ 	`¡rEQ
+ (
+ d
+ ,"le") || strEQ(d,"LE"))
+ 
+ 890 
+ 	`ROP
+ (
+ O_SLE
+ );
+ 
+ 891 ià(
+ 	`¡rEQ
+ (
+ d
+ ,"localtime"))
+ 
+ 892 
+ 	`UNI
+ (
+ O_LOCALTIME
+ );
+ 
+ 893 ià(
+ 	`¡rEQ
+ (
+ d
+ ,"log"))
+ 
+ 894 
+ 	`UNI
+ (
+ O_LOG
+ );
+ 
+ 895 ià(
+ 	`¡rEQ
+ (
+ d
+ ,"link"))
+ 
+ 896 
+ 	`FUN2
+ (
+ O_LINK
+ );
+ 
+ 897 ià(
+ 	`¡rEQ
+ (
+ d
+ ,"listen"))
+ 
+ 898 
+ 	`FOP2
+ (
+ O_LISTEN
+ );
+ 
+ 899 ià(
+ 	`¡rEQ
+ (
+ d
+ ,"lstat"))
+ 
+ 900 
+ 	`FOP
+ (
+ O_LSTAT
+ );
+ 
+ 903 ià(
+ s
+ [1] == '\'') {
+ 
+ 904 
+ d
+  = "m";
+ 
+ 905 
+ s
+ ++;
+ 
+ 908 
+ SNARFWORD
+ ;
+ 
+ 910 ià(
+ 	`¡rEQ
+ (
+ d
+ ,"m")) {
+ 
+ 911 
+ s
+  = 
+ 	`sÿÅ©
+ (s-1);
+ 
+ 912 ià(
+ yylv®
+ .
+ ¬g
+ )
+ 
+ 913 
+ 	`TERM
+ (
+ PATTERN
+ );
+ 
+ 915 
+ 	`RETURN
+ (1);
+ 
+ 917 
+ d
+ [1]) {
+ 
+ 919 ià(
+ 	`¡rEQ
+ (
+ d
+ ,"mkdir"))
+ 
+ 920 
+ 	`FUN2
+ (
+ O_MKDIR
+ );
+ 
+ 923 ià(
+ 	`¡rEQ
+ (
+ d
+ ,"msgctl"))
+ 
+ 924 
+ 	`FUN3
+ (
+ O_MSGCTL
+ );
+ 
+ 925 ià(
+ 	`¡rEQ
+ (
+ d
+ ,"msgget"))
+ 
+ 926 
+ 	`FUN2
+ (
+ O_MSGGET
+ );
+ 
+ 927 ià(
+ 	`¡rEQ
+ (
+ d
+ ,"msgrcv"))
+ 
+ 928 
+ 	`FUN5
+ (
+ O_MSGRCV
+ );
+ 
+ 929 ià(
+ 	`¡rEQ
+ (
+ d
+ ,"msgsnd"))
+ 
+ 930 
+ 	`FUN3
+ (
+ O_MSGSND
+ );
+ 
+ 935 
+ SNARFWORD
+ ;
+ 
+ 936 ià(
+ 	`¡rEQ
+ (
+ d
+ ,"next"))
+ 
+ 937 
+ 	`LOOPX
+ (
+ O_NEXT
+ );
+ 
+ 938 ià(
+ 	`¡rEQ
+ (
+ d
+ ,"ne") || strEQ(d,"NE"))
+ 
+ 939 
+ 	`EOP
+ (
+ O_SNE
+ );
+ 
+ 942 
+ SNARFWORD
+ ;
+ 
+ 943 ià(
+ 	`¡rEQ
+ (
+ d
+ ,"open"))
+ 
+ 944 
+ 	`OPERATOR
+ (
+ OPEN
+ );
+ 
+ 945 ià(
+ 	`¡rEQ
+ (
+ d
+ ,"ord"))
+ 
+ 946 
+ 	`UNI
+ (
+ O_ORD
+ );
+ 
+ 947 ià(
+ 	`¡rEQ
+ (
+ d
+ ,"oct"))
+ 
+ 948 
+ 	`UNI
+ (
+ O_OCT
+ );
+ 
+ 949 ià(
+ 	`¡rEQ
+ (
+ d
+ ,"opendir"))
+ 
+ 950 
+ 	`FOP2
+ (
+ O_OPENDIR
+ );
+ 
+ 953 
+ SNARFWORD
+ ;
+ 
+ 954 ià(
+ 	`¡rEQ
+ (
+ d
+ ,"print")) {
+ 
+ 955 
+ 	`checkcomma
+ (
+ s
+ ,"filehandle");
+ 
+ 956 
+ 	`LOP
+ (
+ O_PRINT
+ );
+ 
+ 958 ià(
+ 	`¡rEQ
+ (
+ d
+ ,"printf")) {
+ 
+ 959 
+ 	`checkcomma
+ (
+ s
+ ,"filehandle");
+ 
+ 960 
+ 	`LOP
+ (
+ O_PRTF
+ );
+ 
+ 962 ià(
+ 	`¡rEQ
+ (
+ d
+ ,"push")) {
+ 
+ 963 
+ yylv®
+ .
+ iv®
+  = 
+ O_PUSH
+ ;
+ 
+ 964 
+ 	`OPERATOR
+ (
+ PUSH
+ );
+ 
+ 966 ià(
+ 	`¡rEQ
+ (
+ d
+ ,"pop"))
+ 
+ 967 
+ 	`OPERATOR
+ (
+ POP
+ );
+ 
+ 968 ià(
+ 	`¡rEQ
+ (
+ d
+ ,"pack"))
+ 
+ 969 
+ 	`FL2
+ (
+ O_PACK
+ );
+ 
+ 970 ià(
+ 	`¡rEQ
+ (
+ d
+ ,"package"))
+ 
+ 971 
+ 	`OPERATOR
+ (
+ PACKAGE
+ );
+ 
+ 972 ià(
+ 	`¡rEQ
+ (
+ d
+ ,"pipe"))
+ 
+ 973 
+ 	`FOP22
+ (
+ O_PIPE
+ );
+ 
+ 976 
+ SNARFWORD
+ ;
+ 
+ 977 ià(
+ 	`¡rEQ
+ (
+ d
+ ,"q")) {
+ 
+ 978 
+ s
+  = 
+ 	`sÿn¡r
+ (s-1);
+ 
+ 979 
+ 	`TERM
+ (
+ RSTRING
+ );
+ 
+ 981 ià(
+ 	`¡rEQ
+ (
+ d
+ ,"qq")) {
+ 
+ 982 
+ s
+  = 
+ 	`sÿn¡r
+ (s-2);
+ 
+ 983 
+ 	`TERM
+ (
+ RSTRING
+ );
+ 
+ 985 ià(
+ 	`¡rEQ
+ (
+ d
+ ,"qx")) {
+ 
+ 986 
+ s
+  = 
+ 	`sÿn¡r
+ (s-2);
+ 
+ 987 
+ 	`TERM
+ (
+ RSTRING
+ );
+ 
+ 991 
+ SNARFWORD
+ ;
+ 
+ 992 ià(
+ 	`¡rEQ
+ (
+ d
+ ,"return"))
+ 
+ 993 
+ 	`OLDLOP
+ (
+ O_RETURN
+ );
+ 
+ 994 ià(
+ 	`¡rEQ
+ (
+ d
+ ,"require")) {
+ 
+ 995 
+ ®l¡abs
+  = 
+ TRUE
+ ;
+ 
+ 996 
+ 	`UNI
+ (
+ O_REQUIRE
+ );
+ 
+ 998 ià(
+ 	`¡rEQ
+ (
+ d
+ ,"reset"))
+ 
+ 999 
+ 	`UNI
+ (
+ O_RESET
+ );
+ 
+ 1000 ià(
+ 	`¡rEQ
+ (
+ d
+ ,"redo"))
+ 
+ 1001 
+ 	`LOOPX
+ (
+ O_REDO
+ );
+ 
+ 1002 ià(
+ 	`¡rEQ
+ (
+ d
+ ,"rename"))
+ 
+ 1003 
+ 	`FUN2
+ (
+ O_RENAME
+ );
+ 
+ 1004 ià(
+ 	`¡rEQ
+ (
+ d
+ ,"rand"))
+ 
+ 1005 
+ 	`UNI
+ (
+ O_RAND
+ );
+ 
+ 1006 ià(
+ 	`¡rEQ
+ (
+ d
+ ,"rmdir"))
+ 
+ 1007 
+ 	`UNI
+ (
+ O_RMDIR
+ );
+ 
+ 1008 ià(
+ 	`¡rEQ
+ (
+ d
+ ,"rindex"))
+ 
+ 1009 
+ 	`FUN2x
+ (
+ O_RINDEX
+ );
+ 
+ 1010 ià(
+ 	`¡rEQ
+ (
+ d
+ ,"read"))
+ 
+ 1011 
+ 	`FOP3
+ (
+ O_READ
+ );
+ 
+ 1012 ià(
+ 	`¡rEQ
+ (
+ d
+ ,"readdir"))
+ 
+ 1013 
+ 	`FOP
+ (
+ O_READDIR
+ );
+ 
+ 1014 ià(
+ 	`¡rEQ
+ (
+ d
+ ,"rewinddir"))
+ 
+ 1015 
+ 	`FOP
+ (
+ O_REWINDDIR
+ );
+ 
+ 1016 ià(
+ 	`¡rEQ
+ (
+ d
+ ,"recv"))
+ 
+ 1017 
+ 	`FOP4
+ (
+ O_RECV
+ );
+ 
+ 1018 ià(
+ 	`¡rEQ
+ (
+ d
+ ,"reverse"))
+ 
+ 1019 
+ 	`LOP
+ (
+ O_REVERSE
+ );
+ 
+ 1020 ià(
+ 	`¡rEQ
+ (
+ d
+ ,"readlink"))
+ 
+ 1021 
+ 	`UNI
+ (
+ O_READLINK
+ );
+ 
+ 1024 ià(
+ s
+ [1] == '\'') {
+ 
+ 1025 
+ d
+  = "s";
+ 
+ 1026 
+ s
+ ++;
+ 
+ 1029 
+ SNARFWORD
+ ;
+ 
+ 1031 ià(
+ 	`¡rEQ
+ (
+ d
+ ,"s")) {
+ 
+ 1032 
+ s
+  = 
+ 	`sÿnsub¡
+ (s);
+ 
+ 1033 ià(
+ yylv®
+ .
+ ¬g
+ )
+ 
+ 1034 
+ 	`TERM
+ (
+ SUBST
+ );
+ 
+ 1036 
+ 	`RETURN
+ (1);
+ 
+ 1038 
+ d
+ [1]) {
+ 
+ 1043 ià(
+ 	`¡rEQ
+ (
+ d
+ ,"scalar"))
+ 
+ 1044 
+ 	`UNI
+ (
+ O_SCALAR
+ );
+ 
+ 1049 ià(
+ 	`¡rEQ
+ (
+ d
+ ,"select"))
+ 
+ 1050 
+ 	`OPERATOR
+ (
+ SSELECT
+ );
+ 
+ 1051 ià(
+ 	`¡rEQ
+ (
+ d
+ ,"seek"))
+ 
+ 1052 
+ 	`FOP3
+ (
+ O_SEEK
+ );
+ 
+ 1053 ià(
+ 	`¡rEQ
+ (
+ d
+ ,"semctl"))
+ 
+ 1054 
+ 	`FUN4
+ (
+ O_SEMCTL
+ );
+ 
+ 1055 ià(
+ 	`¡rEQ
+ (
+ d
+ ,"semget"))
+ 
+ 1056 
+ 	`FUN3
+ (
+ O_SEMGET
+ );
+ 
+ 1057 ià(
+ 	`¡rEQ
+ (
+ d
+ ,"semop"))
+ 
+ 1058 
+ 	`FUN2
+ (
+ O_SEMOP
+ );
+ 
+ 1059 ià(
+ 	`¡rEQ
+ (
+ d
+ ,"send"))
+ 
+ 1060 
+ 	`FOP3
+ (
+ O_SEND
+ );
+ 
+ 1061 ià(
+ 	`¡rEQ
+ (
+ d
+ ,"setpgrp"))
+ 
+ 1062 
+ 	`FUN2
+ (
+ O_SETPGRP
+ );
+ 
+ 1063 ià(
+ 	`¡rEQ
+ (
+ d
+ ,"setpriority"))
+ 
+ 1064 
+ 	`FUN3
+ (
+ O_SETPRIORITY
+ );
+ 
+ 1065 ià(
+ 	`¡rEQ
+ (
+ d
+ ,"sethostent"))
+ 
+ 1066 
+ 	`FUN1
+ (
+ O_SHOSTENT
+ );
+ 
+ 1067 ià(
+ 	`¡rEQ
+ (
+ d
+ ,"setnetent"))
+ 
+ 1068 
+ 	`FUN1
+ (
+ O_SNETENT
+ );
+ 
+ 1069 ià(
+ 	`¡rEQ
+ (
+ d
+ ,"setservent"))
+ 
+ 1070 
+ 	`FUN1
+ (
+ O_SSERVENT
+ );
+ 
+ 1071 ià(
+ 	`¡rEQ
+ (
+ d
+ ,"setprotoent"))
+ 
+ 1072 
+ 	`FUN1
+ (
+ O_SPROTOENT
+ );
+ 
+ 1073 ià(
+ 	`¡rEQ
+ (
+ d
+ ,"setpwent"))
+ 
+ 1074 
+ 	`FUN0
+ (
+ O_SPWENT
+ );
+ 
+ 1075 ià(
+ 	`¡rEQ
+ (
+ d
+ ,"setgrent"))
+ 
+ 1076 
+ 	`FUN0
+ (
+ O_SGRENT
+ );
+ 
+ 1077 ià(
+ 	`¡rEQ
+ (
+ d
+ ,"seekdir"))
+ 
+ 1078 
+ 	`FOP2
+ (
+ O_SEEKDIR
+ );
+ 
+ 1079 ià(
+ 	`¡rEQ
+ (
+ d
+ ,"setsockopt"))
+ 
+ 1080 
+ 	`FOP4
+ (
+ O_SSOCKOPT
+ );
+ 
+ 1086 ià(
+ 	`¡rEQ
+ (
+ d
+ ,"shift"))
+ 
+ 1087 
+ 	`TERM
+ (
+ SHIFT
+ );
+ 
+ 1088 ià(
+ 	`¡rEQ
+ (
+ d
+ ,"shmctl"))
+ 
+ 1089 
+ 	`FUN3
+ (
+ O_SHMCTL
+ );
+ 
+ 1090 ià(
+ 	`¡rEQ
+ (
+ d
+ ,"shmget"))
+ 
+ 1091 
+ 	`FUN3
+ (
+ O_SHMGET
+ );
+ 
+ 1092 ià(
+ 	`¡rEQ
+ (
+ d
+ ,"shmread"))
+ 
+ 1093 
+ 	`FUN4
+ (
+ O_SHMREAD
+ );
+ 
+ 1094 ià(
+ 	`¡rEQ
+ (
+ d
+ ,"shmwrite"))
+ 
+ 1095 
+ 	`FUN4
+ (
+ O_SHMWRITE
+ );
+ 
+ 1096 ià(
+ 	`¡rEQ
+ (
+ d
+ ,"shutdown"))
+ 
+ 1097 
+ 	`FOP2
+ (
+ O_SHUTDOWN
+ );
+ 
+ 1100 ià(
+ 	`¡rEQ
+ (
+ d
+ ,"sin"))
+ 
+ 1101 
+ 	`UNI
+ (
+ O_SIN
+ );
+ 
+ 1107 ià(
+ 	`¡rEQ
+ (
+ d
+ ,"sleep"))
+ 
+ 1108 
+ 	`UNI
+ (
+ O_SLEEP
+ );
+ 
+ 1114 ià(
+ 	`¡rEQ
+ (
+ d
+ ,"socket"))
+ 
+ 1115 
+ 	`FOP4
+ (
+ O_SOCKET
+ );
+ 
+ 1116 ià(
+ 	`¡rEQ
+ (
+ d
+ ,"socketpair"))
+ 
+ 1117 
+ 	`FOP25
+ (
+ O_SOCKPAIR
+ );
+ 
+ 1118 ià(
+ 	`¡rEQ
+ (
+ d
+ ,"sort")) {
+ 
+ 1119 
+ 	`checkcomma
+ (
+ s
+ ,"subroutine‚ame");
+ 
+ 1120 
+ d
+  = 
+ buãnd
+ ;
+ 
+ 1121 
+ s
+  < 
+ d
+  && 
+ 	`i§scii
+ (*sè&& 
+ 	`is¥aû
+ (*s)) s++;
+ 
+ 1122 ià(*
+ s
+  == ';' || *s == ')')
+ 
+ 1123 
+ 	`çl
+ ("sort is‚ow‡„eserved word");
+ 
+ 1124 ià(
+ 	`i§scii
+ (*
+ s
+ è&& (
+ 	`i§Íha
+ (*s) || *s == '_')) {
+ 
+ 1125 
+ d
+  = 
+ s
+ ; 
+ 	`i§Íha
+ (*dè|| 
+ 	`isdig™
+ (*d) || *d == '_'; d++) ;
+ 
+ 1126 
+ 	`¡ºýy
+ (
+ tok’buf
+ ,
+ s
+ ,
+ d
+ -s);
+ 
+ 1127 ià(
+ 	`¡rNE
+ (
+ tok’buf
+ ,"keys") &&
+ 
+ 1128 
+ 	`¡rNE
+ (
+ tok’buf
+ ,"values") &&
+ 
+ 1129 
+ 	`¡rNE
+ (
+ tok’buf
+ ,"split") &&
+ 
+ 1130 
+ 	`¡rNE
+ (
+ tok’buf
+ ,"grep") &&
+ 
+ 1131 
+ 	`¡rNE
+ (
+ tok’buf
+ ,"readdir") &&
+ 
+ 1132 
+ 	`¡rNE
+ (
+ tok’buf
+ ,"unpack") &&
+ 
+ 1133 
+ 	`¡rNE
+ (
+ tok’buf
+ ,"do") &&
+ 
+ 1134 (
+ d
+  >ð
+ buãnd
+  || 
+ 	`is¥aû
+ (*d)) )
+ 
+ 1135 *(--
+ s
+ ) = '\\';
+ 
+ 1137 
+ 	`LOP
+ (
+ O_SORT
+ );
+ 
+ 1141 ià(
+ 	`¡rEQ
+ (
+ d
+ ,"split"))
+ 
+ 1142 
+ 	`TERM
+ (
+ SPLIT
+ );
+ 
+ 1143 ià(
+ 	`¡rEQ
+ (
+ d
+ ,"sprintf"))
+ 
+ 1144 
+ 	`FL
+ (
+ O_SPRINTF
+ );
+ 
+ 1145 ià(
+ 	`¡rEQ
+ (
+ d
+ ,"splice")) {
+ 
+ 1146 
+ yylv®
+ .
+ iv®
+  = 
+ O_SPLICE
+ ;
+ 
+ 1147 
+ 	`OPERATOR
+ (
+ PUSH
+ );
+ 
+ 1151 ià(
+ 	`¡rEQ
+ (
+ d
+ ,"sqrt"))
+ 
+ 1152 
+ 	`UNI
+ (
+ O_SQRT
+ );
+ 
+ 1155 ià(
+ 	`¡rEQ
+ (
+ d
+ ,"srand"))
+ 
+ 1156 
+ 	`UNI
+ (
+ O_SRAND
+ );
+ 
+ 1161 ià(
+ 	`¡rEQ
+ (
+ d
+ ,"stat"))
+ 
+ 1162 
+ 	`FOP
+ (
+ O_STAT
+ );
+ 
+ 1163 ià(
+ 	`¡rEQ
+ (
+ d
+ ,"study")) {
+ 
+ 1164 
+ §w¡udy
+ ++;
+ 
+ 1165 
+ 	`LFUN
+ (
+ O_STUDY
+ );
+ 
+ 1169 ià(
+ 	`¡rEQ
+ (
+ d
+ ,"substr"))
+ 
+ 1170 
+ 	`FUN2x
+ (
+ O_SUBSTR
+ );
+ 
+ 1171 ià(
+ 	`¡rEQ
+ (
+ d
+ ,"sub")) {
+ 
+ 1172 
+ sublše
+  = 
+ curcmd
+ ->
+ c_lše
+ ;
+ 
+ 1173 
+ d
+  = 
+ buãnd
+ ;
+ 
+ 1174 
+ s
+  < 
+ d
+  && 
+ 	`is¥aû
+ (*s))
+ 
+ 1175 
+ s
+ ++;
+ 
+ 1176 ià(
+ 	`i§Íha
+ (*
+ s
+ ) || *s == '_' || *s == '\'') {
+ 
+ 1177 ià(
+ ³¾db
+ ) {
+ 
+ 1178 
+ 	`¡r_s£t
+ (
+ subÇme
+ ,
+ cur¡Çme
+ );
+ 
+ 1179 
+ 	`¡r_nÿt
+ (
+ subÇme
+ ,"'",1);
+ 
+ 1180 
+ d
+  = 
+ s
+ +1;
+ 
+ 1181 
+ 	`i§Íha
+ (*
+ d
+ è|| 
+ 	`isdig™
+ (*d) || *d == '_' || *d == '\'';
+ 
+ 1182 
+ d
+ ++);
+ 
+ 1183 ià(
+ d
+ [-1] == '\'')
+ 
+ 1184 
+ d
+ --;
+ 
+ 1185 
+ 	`¡r_nÿt
+ (
+ subÇme
+ ,
+ s
+ ,
+ d
+ -s);
+ 
+ 1187 *(--
+ s
+ ) = '\\';
+ 
+ 1189 ià(
+ ³¾db
+ )
+ 
+ 1190 
+ 	`¡r_£t
+ (
+ subÇme
+ ,"?");
+ 
+ 1191 
+ 	`OPERATOR
+ (
+ SUB
+ );
+ 
+ 1199 ià(
+ 	`¡rEQ
+ (
+ d
+ ,"system")) {
+ 
+ 1200 
+ 	`£t_csh
+ ();
+ 
+ 1201 
+ 	`LOP
+ (
+ O_SYSTEM
+ );
+ 
+ 1203 ià(
+ 	`¡rEQ
+ (
+ d
+ ,"symlink"))
+ 
+ 1204 
+ 	`FUN2
+ (
+ O_SYMLINK
+ );
+ 
+ 1205 ià(
+ 	`¡rEQ
+ (
+ d
+ ,"syscall"))
+ 
+ 1206 
+ 	`LOP
+ (
+ O_SYSCALL
+ );
+ 
+ 1207 ià(
+ 	`¡rEQ
+ (
+ d
+ ,"sysread"))
+ 
+ 1208 
+ 	`FOP3
+ (
+ O_SYSREAD
+ );
+ 
+ 1209 ià(
+ 	`¡rEQ
+ (
+ d
+ ,"syswrite"))
+ 
+ 1210 
+ 	`FOP3
+ (
+ O_SYSWRITE
+ );
+ 
+ 1217 
+ SNARFWORD
+ ;
+ 
+ 1218 ià(
+ 	`¡rEQ
+ (
+ d
+ ,"tr")) {
+ 
+ 1219 
+ s
+  = 
+ 	`sÿÁ¿ns
+ (s);
+ 
+ 1220 ià(
+ yylv®
+ .
+ ¬g
+ )
+ 
+ 1221 
+ 	`TERM
+ (
+ TRANS
+ );
+ 
+ 1223 
+ 	`RETURN
+ (1);
+ 
+ 1225 ià(
+ 	`¡rEQ
+ (
+ d
+ ,"tell"))
+ 
+ 1226 
+ 	`FOP
+ (
+ O_TELL
+ );
+ 
+ 1227 ià(
+ 	`¡rEQ
+ (
+ d
+ ,"telldir"))
+ 
+ 1228 
+ 	`FOP
+ (
+ O_TELLDIR
+ );
+ 
+ 1229 ià(
+ 	`¡rEQ
+ (
+ d
+ ,"time"))
+ 
+ 1230 
+ 	`FUN0
+ (
+ O_TIME
+ );
+ 
+ 1231 ià(
+ 	`¡rEQ
+ (
+ d
+ ,"times"))
+ 
+ 1232 
+ 	`FUN0
+ (
+ O_TMS
+ );
+ 
+ 1233 ià(
+ 	`¡rEQ
+ (
+ d
+ ,"truncate"))
+ 
+ 1234 
+ 	`FOP2
+ (
+ O_TRUNCATE
+ );
+ 
+ 1237 
+ SNARFWORD
+ ;
+ 
+ 1238 ià(
+ 	`¡rEQ
+ (
+ d
+ ,"using"))
+ 
+ 1239 
+ 	`OPERATOR
+ (
+ USING
+ );
+ 
+ 1240 ià(
+ 	`¡rEQ
+ (
+ d
+ ,"until")) {
+ 
+ 1241 
+ yylv®
+ .
+ iv®
+  = 
+ curcmd
+ ->
+ c_lše
+ ;
+ 
+ 1242 
+ 	`OPERATOR
+ (
+ UNTIL
+ );
+ 
+ 1244 ià(
+ 	`¡rEQ
+ (
+ d
+ ,"unless")) {
+ 
+ 1245 
+ yylv®
+ .
+ iv®
+  = 
+ curcmd
+ ->
+ c_lše
+ ;
+ 
+ 1246 
+ 	`OPERATOR
+ (
+ UNLESS
+ );
+ 
+ 1248 ià(
+ 	`¡rEQ
+ (
+ d
+ ,"unlink"))
+ 
+ 1249 
+ 	`LOP
+ (
+ O_UNLINK
+ );
+ 
+ 1250 ià(
+ 	`¡rEQ
+ (
+ d
+ ,"undef"))
+ 
+ 1251 
+ 	`LFUN
+ (
+ O_UNDEF
+ );
+ 
+ 1252 ià(
+ 	`¡rEQ
+ (
+ d
+ ,"unpack"))
+ 
+ 1253 
+ 	`FUN2
+ (
+ O_UNPACK
+ );
+ 
+ 1254 ià(
+ 	`¡rEQ
+ (
+ d
+ ,"utime"))
+ 
+ 1255 
+ 	`LOP
+ (
+ O_UTIME
+ );
+ 
+ 1256 ià(
+ 	`¡rEQ
+ (
+ d
+ ,"umask"))
+ 
+ 1257 
+ 	`UNI
+ (
+ O_UMASK
+ );
+ 
+ 1258 ià(
+ 	`¡rEQ
+ (
+ d
+ ,"unshift")) {
+ 
+ 1259 
+ yylv®
+ .
+ iv®
+  = 
+ O_UNSHIFT
+ ;
+ 
+ 1260 
+ 	`OPERATOR
+ (
+ PUSH
+ );
+ 
+ 1264 
+ SNARFWORD
+ ;
+ 
+ 1265 ià(
+ 	`¡rEQ
+ (
+ d
+ ,"values"))
+ 
+ 1266 
+ 	`HFUN
+ (
+ O_VALUES
+ );
+ 
+ 1267 ià(
+ 	`¡rEQ
+ (
+ d
+ ,"vec")) {
+ 
+ 1268 
+ §wvec
+  = 
+ TRUE
+ ;
+ 
+ 1269 
+ 	`FUN3
+ (
+ O_VEC
+ );
+ 
+ 1273 
+ SNARFWORD
+ ;
+ 
+ 1274 ià(
+ 	`¡rEQ
+ (
+ d
+ ,"while")) {
+ 
+ 1275 
+ yylv®
+ .
+ iv®
+  = 
+ curcmd
+ ->
+ c_lše
+ ;
+ 
+ 1276 
+ 	`OPERATOR
+ (
+ WHILE
+ );
+ 
+ 1278 ià(
+ 	`¡rEQ
+ (
+ d
+ ,"warn"))
+ 
+ 1279 
+ 	`LOP
+ (
+ O_WARN
+ );
+ 
+ 1280 ià(
+ 	`¡rEQ
+ (
+ d
+ ,"wait"))
+ 
+ 1281 
+ 	`FUN0
+ (
+ O_WAIT
+ );
+ 
+ 1282 ià(
+ 	`¡rEQ
+ (
+ d
+ ,"waitpid"))
+ 
+ 1283 
+ 	`FUN2
+ (
+ O_WAITPID
+ );
+ 
+ 1284 ià(
+ 	`¡rEQ
+ (
+ d
+ ,"wantarray")) {
+ 
+ 1285 
+ yylv®
+ .
+ ¬g
+  = 
+ 	`Ý_Ãw
+ (1);
+ 
+ 1286 
+ yylv®
+ .
+ ¬g
+ ->
+ ¬g_ty³
+  = 
+ O_ITEM
+ ;
+ 
+ 1287 
+ yylv®
+ .
+ ¬g
+ [1].
+ ¬g_ty³
+  = 
+ A_WANTARRAY
+ ;
+ 
+ 1288 
+ 	`TERM
+ (
+ RSTRING
+ );
+ 
+ 1290 ià(
+ 	`¡rEQ
+ (
+ d
+ ,"write"))
+ 
+ 1291 
+ 	`FOP
+ (
+ O_WRITE
+ );
+ 
+ 1294 
+ SNARFWORD
+ ;
+ 
+ 1295 ià(!
+ ex³ù‹rm
+  && 
+ 	`¡rEQ
+ (
+ d
+ ,"x"))
+ 
+ 1296 
+ 	`MOP
+ (
+ O_REPEAT
+ );
+ 
+ 1299 ià(
+ s
+ [1] == '\'') {
+ 
+ 1300 
+ d
+  = "y";
+ 
+ 1301 
+ s
+ ++;
+ 
+ 1304 
+ SNARFWORD
+ ;
+ 
+ 1306 ià(
+ 	`¡rEQ
+ (
+ d
+ ,"y")) {
+ 
+ 1307 
+ s
+  = 
+ 	`sÿÁ¿ns
+ (s);
+ 
+ 1308 
+ 	`TERM
+ (
+ TRANS
+ );
+ 
+ 1312 
+ SNARFWORD
+ ;
+ 
+ 1315 
+ yylv®
+ .
+ cv®
+  = 
+ 	`§ve¡r
+ (
+ d
+ );
+ 
+ 1316 
+ ex³ù‹rm
+  = 
+ FALSE
+ ;
+ 
+ 1317 ià(
+ ÞdÞdbuåŒ
+  && oldÞdbuåŒ < 
+ buåŒ
+ ) {
+ 
+ 1318 
+ 	`is¥aû
+ (*
+ ÞdÞdbuåŒ
+ ))
+ 
+ 1319 
+ ÞdÞdbuåŒ
+ ++;
+ 
+ 1320 ià(*
+ ÞdÞdbuåŒ
+  =ð'p' && 
+ 	`¡ºEQ
+ (oldoldbufptr,"print",5))
+ 
+ 1321 
+ ex³ù‹rm
+  = 
+ TRUE
+ ;
+ 
+ 1322 ià(*
+ ÞdÞdbuåŒ
+  =ð's' && 
+ 	`¡ºEQ
+ (oldoldbufptr,"sort",4))
+ 
+ 1323 
+ ex³ù‹rm
+  = 
+ TRUE
+ ;
+ 
+ 1325  (
+ CLINE
+ , 
+ buåŒ
+  = 
+ s
+ , ()
+ WORD
+ );
+ 
+ 1326 
+ 	}
+ }
+ 
+ 1329 
+ 	$checkcomma
+ (
+ s
+ ,
+ wh©
+ )
+ 
+ 1330 *
+ s
+ ;
+ 
+ 1331 *
+ wh©
+ ;
+ 
+ 1333 *
+ somewÜd
+ ;
+ 
+ 1335 ià(*
+ s
+  == '(')
+ 
+ 1336 
+ s
+ ++;
+ 
+ 1337 
+ s
+  < 
+ buãnd
+  && 
+ 	`i§scii
+ (*sè&& 
+ 	`is¥aû
+ (*s))
+ 
+ 1338 
+ s
+ ++;
+ 
+ 1339 ià(
+ 	`i§scii
+ (*
+ s
+ è&& (
+ 	`i§Íha
+ (*s) || *s == '_')) {
+ 
+ 1340 
+ somewÜd
+  = 
+ s
+ ++;
+ 
+ 1341 
+ 	`i§Íha
+ (*
+ s
+ è|| 
+ 	`isdig™
+ (*s) || *s == '_')
+ 
+ 1342 
+ s
+ ++;
+ 
+ 1343 
+ s
+  < 
+ buãnd
+  && 
+ 	`is¥aû
+ (*s))
+ 
+ 1344 
+ s
+ ++;
+ 
+ 1345 ià(*
+ s
+  == ',') {
+ 
+ 1346 *
+ s
+  = '\0';
+ 
+ 1347 
+ somewÜd
+  = 
+ 	`š¡r
+ (
+ 
+ 1350 
+ somewÜd
+ );
+ 
+ 1351 *
+ s
+  = ',';
+ 
+ 1352 ià(
+ somewÜd
+ )
+ 
+ 1354 
+ 	`çl
+ ("NØcomm¨®lowed‡á” %s", 
+ wh©
+ );
+ 
+ 1357 
+ 	}
+ }
+ 
+ 1360 
+ 	$sÿnid’t
+ (
+ s
+ ,
+ £nd
+ ,
+ de¡
+ )
+ 
+ 1361 *
+ s
+ ;
+ 
+ 1362 *
+ £nd
+ ;
+ 
+ 1363 *
+ de¡
+ ;
+ 
+ 1365 *
+ d
+ ;
+ 
+ 1366 
+ b¿ck‘s
+  = 0;
+ 
+ 1368 
+ »·r£
+  = 
+ NuÎch
+ ;
+ 
+ 1369 
+ s
+ ++;
+ 
+ 1370 
+ d
+  = 
+ de¡
+ ;
+ 
+ 1371 ià(
+ 	`isdig™
+ (*
+ s
+ )) {
+ 
+ 1372 
+ 	`isdig™
+ (*
+ s
+ ))
+ 
+ 1373 *
+ d
+ ++ = *
+ s
+ ++;
+ 
+ 1376 
+ 	`i§Íha
+ (*
+ s
+ è|| 
+ 	`isdig™
+ (*s) || *s == '_' || *s == '\'')
+ 
+ 1377 *
+ d
+ ++ = *
+ s
+ ++;
+ 
+ 1379 
+ d
+  > 
+ de¡
+ +1 && d[-1] == '\'')
+ 
+ 1380 
+ d
+ --,
+ s
+ --;
+ 
+ 1381 *
+ d
+  = '\0';
+ 
+ 1382 
+ d
+  = 
+ de¡
+ ;
+ 
+ 1383 ià(!*
+ d
+ ) {
+ 
+ 1384 *
+ d
+  = *
+ s
+ ++;
+ 
+ 1385 ià(*
+ d
+  == '{' ) {
+ 
+ 1386 
+ d
+  = 
+ de¡
+ ;
+ 
+ 1387 
+ b¿ck‘s
+ ++;
+ 
+ 1388 
+ s
+  < 
+ £nd
+  && 
+ b¿ck‘s
+ ) {
+ 
+ 1389 ià(!
+ »·r£
+  && (
+ d
+  =ð
+ de¡
+  || (*
+ s
+  && 
+ 	`i§scii
+ (*s) &&
+ 
+ 1390 (
+ 	`i§Íha
+ (*
+ s
+ è|| 
+ 	`isdig™
+ (*s) || *s == '_') ))) {
+ 
+ 1391 *
+ d
+ ++ = *
+ s
+ ++;
+ 
+ 1394 ià(!
+ »·r£
+ )
+ 
+ 1395 
+ »·r£
+  = 
+ s
+ ;
+ 
+ 1396 *
+ s
+ ++) {
+ 
+ 1399 
+ b¿ck‘s
+ --;
+ 
+ 1400 ià(
+ »·r£
+  &&„•¬£ =ð
+ s
+  - 1)
+ 
+ 1401 
+ »·r£
+  = 
+ NuÎch
+ ;
+ 
+ 1404 
+ b¿ck‘s
+ ++;
+ 
+ 1408 *
+ d
+  = '\0';
+ 
+ 1409 
+ d
+  = 
+ de¡
+ ;
+ 
+ 1412 
+ d
+ [1] = '\0';
+ 
+ 1414 ià(*
+ d
+  =ð'^' && (
+ 	`isuµ”
+ (*
+ s
+ è|| 
+ 	`šdex
+ ("[\\]^_?",*s)))
+ 
+ 1415 *
+ d
+  = *
+ s
+ ++ ^ 64;
+ 
+ 1416  
+ s
+ ;
+ 
+ 1417 
+ 	}
+ }
+ 
+ 1419 
+ STR
+  *
+ 
+ 1420 
+ 	$sÿncÚ¡
+ (
+ ¡ršg
+ ,
+ Ën
+ )
+ 
+ 1421 *
+ ¡ršg
+ ;
+ 
+ 1422 
+ Ën
+ ;
+ 
+ 1424 
+ STR
+  *
+ »t¡r
+ ;
+ 
+ 1425 *
+ t
+ ;
+ 
+ 1426 *
+ d
+ ;
+ 
+ 1427 *
+ e
+ ;
+ 
+ 1429 ià(
+ 	`šdex
+ (
+ ¡ršg
+ ,'|')) {
+ 
+ 1430  
+ NuΡr
+ ;
+ 
+ 1432 
+ »t¡r
+  = 
+ 	`SŒ_Ãw
+ (86,
+ Ën
+ );
+ 
+ 1433 
+ 	`¡r_n£t
+ (
+ »t¡r
+ ,
+ ¡ršg
+ ,
+ Ën
+ );
+ 
+ 1434 
+ t
+  = 
+ 	`¡r_g‘
+ (
+ »t¡r
+ );
+ 
+ 1435 
+ e
+  = 
+ t
+  + 
+ Ën
+ ;
+ 
+ 1436 
+ »t¡r
+ ->
+ ¡r_u
+ .
+ ¡r_u£ful
+  = 100;
+ 
+ 1437 
+ d
+ =
+ t
+ ; d < 
+ e
+ ; ) {
+ 
+ 1438 *
+ d
+ ) {
+ 
+ 1440 ià(
+ 	`isdig™
+ (
+ d
+ [1]))
+ 
+ 1441 
+ e
+  = 
+ d
+ ;
+ 
+ 1443 
+ defch¬
+ ;
+ 
+ 1446 
+ e
+  = 
+ d
+ ;
+ 
+ 1449 ià(
+ d
+ [1] && 
+ 	`šdex
+ ("wWbB0123456789sSdDlLuUE",d[1])) {
+ 
+ 1450 
+ e
+  = 
+ d
+ ;
+ 
+ 1453 ()
+ 	`bcÝy
+ (
+ d
+ +1,d,
+ e
+ -d);
+ 
+ 1454 
+ e
+ --;
+ 
+ 1455 *
+ d
+ ) {
+ 
+ 1457 *
+ d
+  = '\n';
+ 
+ 1460 *
+ d
+  = '\t';
+ 
+ 1463 *
+ d
+  = '\f';
+ 
+ 1466 *
+ d
+  = '\r';
+ 
+ 1469 *
+ d
+  = '\033';
+ 
+ 1472 *
+ d
+  = '\007';
+ 
+ 1477 
+ defch¬
+ :
+ 
+ 1478 ià(
+ d
+ [1] == '*' || (d[1] == '{' && d[2] == '0') || d[1] == '?') {
+ 
+ 1479 
+ e
+  = 
+ d
+ ;
+ 
+ 1482 
+ d
+ ++;
+ 
+ 1485 ià(
+ d
+  =ð
+ t
+ ) {
+ 
+ 1486 
+ 	`¡r_ä“
+ (
+ »t¡r
+ );
+ 
+ 1487  
+ NuΡr
+ ;
+ 
+ 1489 *
+ d
+  = '\0';
+ 
+ 1490 
+ »t¡r
+ ->
+ ¡r_cur
+  = 
+ d
+  - 
+ t
+ ;
+ 
+ 1491  
+ »t¡r
+ ;
+ 
+ 1492 
+ 	}
+ }
+ 
+ 1495 
+ 	$sÿÅ©
+ (
+ s
+ )
+ 
+ 1496 *
+ s
+ ;
+ 
+ 1498 
+ SPAT
+  *
+ ¥©
+ ;
+ 
+ 1499 *
+ d
+ ;
+ 
+ 1500 *
+ e
+ ;
+ 
+ 1501 
+ Ën
+ ;
+ 
+ 1502 
+ SPAT
+  
+ §ve¥©
+ ;
+ 
+ 1503 
+ STR
+  *
+ ¡r
+  = 
+ 	`SŒ_Ãw
+ (93,0);
+ 
+ 1505 
+ 	`Newz
+ (801,
+ ¥©
+ ,1,
+ SPAT
+ );
+ 
+ 1506 
+ ¥©
+ ->
+ ¥©_Ãxt
+  = 
+ cur¡ash
+ ->
+ tbl_¥©roÙ
+ ;
+ 
+ 1507 
+ cur¡ash
+ ->
+ tbl_¥©roÙ
+  = 
+ ¥©
+ ;
+ 
+ 1509 *
+ s
+ ++) {
+ 
+ 1511 
+ s
+ ++;
+ 
+ 1516 
+ ¥©
+ ->
+ ¥©_æags
+  |ð
+ SPAT_ONCE
+ ;
+ 
+ 1519 
+ 	`çl
+ ("panic: scanpat");
+ 
+ 1521 
+ s
+  = 
+ 	`¡r_­³nd_tžl
+ (
+ ¡r
+ ,s,
+ buãnd
+ ,s[-1],
+ ·Ž—ve
+ );
+ 
+ 1522 ià(
+ s
+  >ð
+ buãnd
+ ) {
+ 
+ 1523 
+ 	`¡r_ä“
+ (
+ ¡r
+ );
+ 
+ 1524 
+ 	`yy”rÜ
+ ("Search…attern‚oterminated");
+ 
+ 1525 
+ yylv®
+ .
+ ¬g
+  = 
+ Nuάg
+ ;
+ 
+ 1526  
+ s
+ ;
+ 
+ 1528 
+ s
+ ++;
+ 
+ 1529 *
+ s
+  == 'i' || *s == 'o') {
+ 
+ 1530 ià(*
+ s
+  == 'i') {
+ 
+ 1531 
+ s
+ ++;
+ 
+ 1532 
+ §wi
+  = 
+ TRUE
+ ;
+ 
+ 1533 
+ ¥©
+ ->
+ ¥©_æags
+  |ð
+ SPAT_FOLD
+ ;
+ 
+ 1535 ià(*
+ s
+  == 'o') {
+ 
+ 1536 
+ s
+ ++;
+ 
+ 1537 
+ ¥©
+ ->
+ ¥©_æags
+  |ð
+ SPAT_KEEP
+ ;
+ 
+ 1540 
+ Ën
+  = 
+ ¡r
+ ->
+ ¡r_cur
+ ;
+ 
+ 1541 
+ e
+  = 
+ ¡r
+ ->
+ ¡r_±r
+  + 
+ Ën
+ ;
+ 
+ 1542 
+ d
+  = 
+ ¡r
+ ->
+ ¡r_±r
+ ; d < 
+ e
+ ; d++) {
+ 
+ 1543 ià(*
+ d
+  == '\\')
+ 
+ 1544 
+ d
+ ++;
+ 
+ 1545 ià((*
+ d
+  == '$' && d[1] && d[1] != '|' && d[1] != ')') ||
+ 
+ 1546 (*
+ d
+  == '@')) {
+ 
+ 1547 
+ ARG
+  *
+ ¬g
+ ;
+ 
+ 1549 
+ ¥©
+ ->
+ ¥©_ruÁime
+  = 
+ ¬g
+  = 
+ 	`Ý_Ãw
+ (1);
+ 
+ 1550 
+ ¬g
+ ->
+ ¬g_ty³
+  = 
+ O_ITEM
+ ;
+ 
+ 1551 
+ ¬g
+ [1].
+ ¬g_ty³
+  = 
+ A_DOUBLE
+ ;
+ 
+ 1552 
+ ¬g
+ [1].
+ ¬g_±r
+ .
+ ¬g_¡r
+  = 
+ 	`¡r_smake
+ (
+ ¡r
+ );
+ 
+ 1553 
+ d
+  = 
+ 	`sÿnid’t
+ (d,
+ buãnd
+ ,
+ buf
+ );
+ 
+ 1554 ()
+ 	`¡ab’t
+ (
+ buf
+ ,
+ TRUE
+ );
+ 
+ 1555 ; 
+ d
+  < 
+ e
+ ; d++) {
+ 
+ 1556 ià(*
+ d
+  == '\\')
+ 
+ 1557 
+ d
+ ++;
+ 
+ 1558 ià(*
+ d
+  == '$' && d[1] && d[1] != '|' && d[1] != ')') {
+ 
+ 1559 
+ d
+  = 
+ 	`sÿnid’t
+ (d,
+ buãnd
+ ,
+ buf
+ );
+ 
+ 1560 ()
+ 	`¡ab’t
+ (
+ buf
+ ,
+ TRUE
+ );
+ 
+ 1562 ià(*
+ d
+  == '@') {
+ 
+ 1563 
+ d
+  = 
+ 	`sÿnid’t
+ (d,
+ buãnd
+ ,
+ buf
+ );
+ 
+ 1564 ià(
+ 	`¡rEQ
+ (
+ buf
+ ,"ARGV") || strEQ(buf,"ENV") ||
+ 
+ 1565 
+ 	`¡rEQ
+ (
+ buf
+ ,"SIG") || strEQ(buf,"INC"))
+ 
+ 1566 ()
+ 	`¡ab’t
+ (
+ buf
+ ,
+ TRUE
+ );
+ 
+ 1569 
+ gÙ_·t
+ ;
+ 
+ 1572 ià(
+ ¥©
+ ->
+ ¥©_æags
+  & 
+ SPAT_FOLD
+ )
+ 
+ 1573 #ifdeà
+ STRUCTCOPY
+ 
+ 
+ 1574 
+ §ve¥©
+  = *
+ ¥©
+ ;
+ 
+ 1576 ()
+ 	`bcÝy
+ ((*)
+ ¥©
+ , (*)&
+ §ve¥©
+ , (
+ SPAT
+ ));
+ 
+ 1578 ià(*
+ ¡r
+ ->
+ ¡r_±r
+  == '^') {
+ 
+ 1579 
+ ¥©
+ ->
+ ¥©_shÜt
+  = 
+ 	`sÿncÚ¡
+ (
+ ¡r
+ ->
+ ¡r_±r
+ +1,
+ Ën
+ -1);
+ 
+ 1580 ià(
+ ¥©
+ ->
+ ¥©_shÜt
+ ) {
+ 
+ 1581 
+ ¥©
+ ->
+ ¥©_¦’
+  = s·t->
+ ¥©_shÜt
+ ->
+ ¡r_cur
+ ;
+ 
+ 1582 ià(
+ ¥©
+ ->
+ ¥©_¦’
+  =ð
+ Ën
+  - 1)
+ 
+ 1583 
+ ¥©
+ ->
+ ¥©_æags
+  |ð
+ SPAT_ALL
+ ;
+ 
+ 1587 
+ ¥©
+ ->
+ ¥©_æags
+  |ð
+ SPAT_SCANFIRST
+ ;
+ 
+ 1588 
+ ¥©
+ ->
+ ¥©_shÜt
+  = 
+ 	`sÿncÚ¡
+ (
+ ¡r
+ ->
+ ¡r_±r
+ ,
+ Ën
+ );
+ 
+ 1589 ià(
+ ¥©
+ ->
+ ¥©_shÜt
+ ) {
+ 
+ 1590 
+ ¥©
+ ->
+ ¥©_¦’
+  = s·t->
+ ¥©_shÜt
+ ->
+ ¡r_cur
+ ;
+ 
+ 1591 ià(
+ ¥©
+ ->
+ ¥©_¦’
+  =ð
+ Ën
+ )
+ 
+ 1592 
+ ¥©
+ ->
+ ¥©_æags
+  |ð
+ SPAT_ALL
+ ;
+ 
+ 1595 ià((
+ ¥©
+ ->
+ ¥©_æags
+  & 
+ SPAT_ALL
+ è&& (¥©->¥©_æag & 
+ SPAT_SCANFIRST
+ )) {
+ 
+ 1596 
+ 	`fbmcompže
+ (
+ ¥©
+ ->
+ ¥©_shÜt
+ , s·t->
+ ¥©_æags
+  & 
+ SPAT_FOLD
+ );
+ 
+ 1597 
+ ¥©
+ ->
+ ¥©_»gexp
+  = 
+ 	`»gcomp
+ (
+ ¡r
+ ->
+ ¡r_±r
+ ,¡r->¡r_±r+
+ Ën
+ ,
+ 
+ 1598 
+ ¥©
+ ->
+ ¥©_æags
+  & 
+ SPAT_FOLD
+ );
+ 
+ 1604 ià(
+ ¥©
+ ->
+ ¥©_æags
+  & 
+ SPAT_FOLD
+ )
+ 
+ 1605 #ifdeà
+ STRUCTCOPY
+ 
+ 
+ 1606 *
+ ¥©
+  = 
+ §ve¥©
+ ;
+ 
+ 1608 ()
+ 	`bcÝy
+ ((*)&
+ §ve¥©
+ , (*)
+ ¥©
+ , (
+ SPAT
+ ));
+ 
+ 1610 ià(
+ ¥©
+ ->
+ ¥©_shÜt
+ )
+ 
+ 1611 
+ 	`fbmcompže
+ (
+ ¥©
+ ->
+ ¥©_shÜt
+ , s·t->
+ ¥©_æags
+  & 
+ SPAT_FOLD
+ );
+ 
+ 1612 
+ ¥©
+ ->
+ ¥©_»gexp
+  = 
+ 	`»gcomp
+ (
+ ¡r
+ ->
+ ¡r_±r
+ ,¡r->¡r_±r+
+ Ën
+ ,
+ 
+ 1613 
+ ¥©
+ ->
+ ¥©_æags
+  & 
+ SPAT_FOLD
+ );
+ 
+ 1614 
+ 	`hoi¡mu¡
+ (
+ ¥©
+ );
+ 
+ 1616 
+ gÙ_·t
+ :
+ 
+ 1617 
+ 	`¡r_ä“
+ (
+ ¡r
+ );
+ 
+ 1618 
+ yylv®
+ .
+ ¬g
+  = 
+ 	`make_m©ch
+ (
+ O_MATCH
+ ,
+ 	`¡ab2¬g
+ (
+ A_STAB
+ ,
+ def¡ab
+ ),
+ ¥©
+ );
+ 
+ 1619  
+ s
+ ;
+ 
+ 1620 
+ 	}
+ }
+ 
+ 1623 
+ 	$sÿnsub¡
+ (
+ s
+ )
+ 
+ 1624 *
+ s
+ ;
+ 
+ 1626 
+ SPAT
+  *
+ ¥©
+ ;
+ 
+ 1627 *
+ d
+ ;
+ 
+ 1628 *
+ e
+ ;
+ 
+ 1629 
+ Ën
+ ;
+ 
+ 1630 
+ STR
+  *
+ ¡r
+  = 
+ 	`SŒ_Ãw
+ (93,0);
+ 
+ 1632 
+ 	`Newz
+ (802,
+ ¥©
+ ,1,
+ SPAT
+ );
+ 
+ 1633 
+ ¥©
+ ->
+ ¥©_Ãxt
+  = 
+ cur¡ash
+ ->
+ tbl_¥©roÙ
+ ;
+ 
+ 1634 
+ cur¡ash
+ ->
+ tbl_¥©roÙ
+  = 
+ ¥©
+ ;
+ 
+ 1636 
+ s
+  = 
+ 	`¡r_­³nd_tžl
+ (
+ ¡r
+ ,s+1,
+ buãnd
+ ,*s,
+ ·Ž—ve
+ );
+ 
+ 1637 ià(
+ s
+  >ð
+ buãnd
+ ) {
+ 
+ 1638 
+ 	`¡r_ä“
+ (
+ ¡r
+ );
+ 
+ 1639 
+ 	`yy”rÜ
+ ("Substitution…attern‚oterminated");
+ 
+ 1640 
+ yylv®
+ .
+ ¬g
+  = 
+ Nuάg
+ ;
+ 
+ 1641  
+ s
+ ;
+ 
+ 1643 
+ Ën
+  = 
+ ¡r
+ ->
+ ¡r_cur
+ ;
+ 
+ 1644 
+ e
+  = 
+ ¡r
+ ->
+ ¡r_±r
+  + 
+ Ën
+ ;
+ 
+ 1645 
+ d
+  = 
+ ¡r
+ ->
+ ¡r_±r
+ ; d < 
+ e
+ ; d++) {
+ 
+ 1646 ià(*
+ d
+  == '\\')
+ 
+ 1647 
+ d
+ ++;
+ 
+ 1648 ià((*
+ d
+  == '$' && d[1] && d[1] != '|' && d[1] != ')') ||
+ 
+ 1649 *
+ d
+  == '@' ) {
+ 
+ 1650 
+ ARG
+  *
+ ¬g
+ ;
+ 
+ 1652 
+ ¥©
+ ->
+ ¥©_ruÁime
+  = 
+ ¬g
+  = 
+ 	`Ý_Ãw
+ (1);
+ 
+ 1653 
+ ¬g
+ ->
+ ¬g_ty³
+  = 
+ O_ITEM
+ ;
+ 
+ 1654 
+ ¬g
+ [1].
+ ¬g_ty³
+  = 
+ A_DOUBLE
+ ;
+ 
+ 1655 
+ ¬g
+ [1].
+ ¬g_±r
+ .
+ ¬g_¡r
+  = 
+ 	`¡r_smake
+ (
+ ¡r
+ );
+ 
+ 1656 
+ d
+  = 
+ 	`sÿnid’t
+ (d,
+ buãnd
+ ,
+ buf
+ );
+ 
+ 1657 ()
+ 	`¡ab’t
+ (
+ buf
+ ,
+ TRUE
+ );
+ 
+ 1658 ; *
+ d
+ ; d++) {
+ 
+ 1659 ià(*
+ d
+  == '$' && d[1] && d[-1] != '\\' && d[1] != '|') {
+ 
+ 1660 
+ d
+  = 
+ 	`sÿnid’t
+ (d,
+ buãnd
+ ,
+ buf
+ );
+ 
+ 1661 ()
+ 	`¡ab’t
+ (
+ buf
+ ,
+ TRUE
+ );
+ 
+ 1663 ià(*
+ d
+  == '@' && d[-1] != '\\') {
+ 
+ 1664 
+ d
+  = 
+ 	`sÿnid’t
+ (d,
+ buãnd
+ ,
+ buf
+ );
+ 
+ 1665 ià(
+ 	`¡rEQ
+ (
+ buf
+ ,"ARGV") || strEQ(buf,"ENV") ||
+ 
+ 1666 
+ 	`¡rEQ
+ (
+ buf
+ ,"SIG") || strEQ(buf,"INC"))
+ 
+ 1667 ()
+ 	`¡ab’t
+ (
+ buf
+ ,
+ TRUE
+ );
+ 
+ 1670 
+ g‘_»¶
+ ;
+ 
+ 1673 ià(*
+ ¡r
+ ->
+ ¡r_±r
+  == '^') {
+ 
+ 1674 
+ ¥©
+ ->
+ ¥©_shÜt
+  = 
+ 	`sÿncÚ¡
+ (
+ ¡r
+ ->
+ ¡r_±r
+ +1,
+ Ën
+ -1);
+ 
+ 1675 ià(
+ ¥©
+ ->
+ ¥©_shÜt
+ )
+ 
+ 1676 
+ ¥©
+ ->
+ ¥©_¦’
+  = s·t->
+ ¥©_shÜt
+ ->
+ ¡r_cur
+ ;
+ 
+ 1679 
+ ¥©
+ ->
+ ¥©_æags
+  |ð
+ SPAT_SCANFIRST
+ ;
+ 
+ 1680 
+ ¥©
+ ->
+ ¥©_shÜt
+  = 
+ 	`sÿncÚ¡
+ (
+ ¡r
+ ->
+ ¡r_±r
+ ,
+ Ën
+ );
+ 
+ 1681 ià(
+ ¥©
+ ->
+ ¥©_shÜt
+ )
+ 
+ 1682 
+ ¥©
+ ->
+ ¥©_¦’
+  = s·t->
+ ¥©_shÜt
+ ->
+ ¡r_cur
+ ;
+ 
+ 1684 
+ g‘_»¶
+ :
+ 
+ 1685 
+ s
+  = 
+ 	`sÿn¡r
+ (s);
+ 
+ 1686 ià(
+ s
+  >ð
+ buãnd
+ ) {
+ 
+ 1687 
+ 	`¡r_ä“
+ (
+ ¡r
+ );
+ 
+ 1688 
+ 	`yy”rÜ
+ ("Substitution„eplacement‚oterminated");
+ 
+ 1689 
+ yylv®
+ .
+ ¬g
+  = 
+ Nuάg
+ ;
+ 
+ 1690  
+ s
+ ;
+ 
+ 1692 
+ ¥©
+ ->
+ ¥©_»¶
+  = 
+ yylv®
+ .
+ ¬g
+ ;
+ 
+ 1693 
+ ¥©
+ ->
+ ¥©_æags
+  |ð
+ SPAT_ONCE
+ ;
+ 
+ 1694 ià((
+ ¥©
+ ->
+ ¥©_»¶
+ [1].
+ ¬g_ty³
+  & 
+ A_MASK
+ è=ð
+ A_SINGLE
+ )
+ 
+ 1695 
+ ¥©
+ ->
+ ¥©_æags
+  |ð
+ SPAT_CONST
+ ;
+ 
+ 1696 ià((
+ ¥©
+ ->
+ ¥©_»¶
+ [1].
+ ¬g_ty³
+  & 
+ A_MASK
+ è=ð
+ A_DOUBLE
+ ) {
+ 
+ 1697 
+ STR
+  *
+ tmp¡r
+ ;
+ 
+ 1698 *
+ t
+ ;
+ 
+ 1700 
+ ¥©
+ ->
+ ¥©_æags
+  |ð
+ SPAT_CONST
+ ;
+ 
+ 1701 
+ tmp¡r
+  = 
+ ¥©
+ ->
+ ¥©_»¶
+ [1].
+ ¬g_±r
+ .
+ ¬g_¡r
+ ;
+ 
+ 1702 
+ e
+  = 
+ tmp¡r
+ ->
+ ¡r_±r
+  +mp¡r->
+ ¡r_cur
+ ;
+ 
+ 1703 
+ t
+  = 
+ tmp¡r
+ ->
+ ¡r_±r
+ ; < 
+ e
+ ;++) {
+ 
+ 1704 ià(*
+ t
+  =ð'$' &&[1] && (
+ 	`šdex
+ ("`'&+0123456789",t[1]) ||
+ 
+ 1705 (
+ t
+ [1] =ð'{' && 
+ 	`isdig™
+ (t[2])) ))
+ 
+ 1706 
+ ¥©
+ ->
+ ¥©_æags
+  &ð~
+ SPAT_CONST
+ ;
+ 
+ 1709 *
+ s
+  == 'g' || *s == 'i' || *s == 'e' || *s == 'o') {
+ 
+ 1710 ià(*
+ s
+  == 'e') {
+ 
+ 1711 
+ s
+ ++;
+ 
+ 1712 ià((
+ ¥©
+ ->
+ ¥©_»¶
+ [1].
+ ¬g_ty³
+  & 
+ A_MASK
+ è=ð
+ A_DOUBLE
+ )
+ 
+ 1713 
+ ¥©
+ ->
+ ¥©_»¶
+ [1].
+ ¬g_ty³
+  = 
+ A_SINGLE
+ ;
+ 
+ 1714 
+ ¥©
+ ->
+ ¥©_»¶
+  = 
+ 	`make_Ý
+ (
+ O_EVAL
+ ,2,
+ 
+ 1715 
+ ¥©
+ ->
+ ¥©_»¶
+ ,
+ 
+ 1716 
+ Nuάg
+ ,
+ 
+ 1717 
+ Nuάg
+ );
+ 
+ 1718 
+ ¥©
+ ->
+ ¥©_æags
+  &ð~
+ SPAT_CONST
+ ;
+ 
+ 1720 ià(*
+ s
+  == 'g') {
+ 
+ 1721 
+ s
+ ++;
+ 
+ 1722 
+ ¥©
+ ->
+ ¥©_æags
+  &ð~
+ SPAT_ONCE
+ ;
+ 
+ 1724 ià(*
+ s
+  == 'i') {
+ 
+ 1725 
+ s
+ ++;
+ 
+ 1726 
+ §wi
+  = 
+ TRUE
+ ;
+ 
+ 1727 
+ ¥©
+ ->
+ ¥©_æags
+  |ð
+ SPAT_FOLD
+ ;
+ 
+ 1728 ià(!(
+ ¥©
+ ->
+ ¥©_æags
+  & 
+ SPAT_SCANFIRST
+ )) {
+ 
+ 1729 
+ 	`¡r_ä“
+ (
+ ¥©
+ ->
+ ¥©_shÜt
+ );
+ 
+ 1730 
+ ¥©
+ ->
+ ¥©_shÜt
+  = 
+ NuΡr
+ ;
+ 
+ 1731 
+ ¥©
+ ->
+ ¥©_¦’
+  = 0;
+ 
+ 1734 ià(*
+ s
+  == 'o') {
+ 
+ 1735 
+ s
+ ++;
+ 
+ 1736 
+ ¥©
+ ->
+ ¥©_æags
+  |ð
+ SPAT_KEEP
+ ;
+ 
+ 1739 ià(
+ ¥©
+ ->
+ ¥©_shÜt
+  && (¥©->
+ ¥©_æags
+  & 
+ SPAT_SCANFIRST
+ ))
+ 
+ 1740 
+ 	`fbmcompže
+ (
+ ¥©
+ ->
+ ¥©_shÜt
+ , s·t->
+ ¥©_æags
+  & 
+ SPAT_FOLD
+ );
+ 
+ 1741 ià(!
+ ¥©
+ ->
+ ¥©_ruÁime
+ ) {
+ 
+ 1742 
+ ¥©
+ ->
+ ¥©_»gexp
+  = 
+ 	`»gcomp
+ (
+ ¡r
+ ->
+ ¡r_±r
+ ,¡r->¡r_±r+
+ Ën
+ ,
+ 
+ 1743 
+ ¥©
+ ->
+ ¥©_æags
+  & 
+ SPAT_FOLD
+ );
+ 
+ 1744 
+ 	`hoi¡mu¡
+ (
+ ¥©
+ );
+ 
+ 1746 
+ yylv®
+ .
+ ¬g
+  = 
+ 	`make_m©ch
+ (
+ O_SUBST
+ ,
+ 	`¡ab2¬g
+ (
+ A_STAB
+ ,
+ def¡ab
+ ),
+ ¥©
+ );
+ 
+ 1747 
+ 	`¡r_ä“
+ (
+ ¡r
+ );
+ 
+ 1748  
+ s
+ ;
+ 
+ 1749 
+ 	}
+ }
+ 
+ 1751 
+ 	$hoi¡mu¡
+ (
+ ¥©
+ )
+ 
+ 1752 
+ SPAT
+  *
+ ¥©
+ ;
+ 
+ 1754 ià(
+ ¥©
+ ->
+ ¥©_»gexp
+ ->
+ »gmu¡
+ ) {
+ 
+ 1755 ià(
+ ¥©
+ ->
+ ¥©_shÜt
+  &&
+ 
+ 1756 
+ 	`¡r_eq
+ (
+ ¥©
+ ->
+ ¥©_shÜt
+ ,¥©->
+ ¥©_»gexp
+ ->
+ »gmu¡
+ ))
+ 
+ 1758 ià(
+ ¥©
+ ->
+ ¥©_æags
+  & 
+ SPAT_SCANFIRST
+ ) {
+ 
+ 1759 
+ 	`¡r_ä“
+ (
+ ¥©
+ ->
+ ¥©_shÜt
+ );
+ 
+ 1760 
+ ¥©
+ ->
+ ¥©_shÜt
+  = 
+ NuΡr
+ ;
+ 
+ 1763 
+ 	`¡r_ä“
+ (
+ ¥©
+ ->
+ ¥©_»gexp
+ ->
+ »gmu¡
+ );
+ 
+ 1764 
+ ¥©
+ ->
+ ¥©_»gexp
+ ->
+ »gmu¡
+  = 
+ NuΡr
+ ;
+ 
+ 1768 ià(!
+ ¥©
+ ->
+ ¥©_shÜt
+  ||
+ 
+ 1769 ((
+ ¥©
+ ->
+ ¥©_æags
+  & 
+ SPAT_SCANFIRST
+ ) &&
+ 
+ 1770 (
+ ¥©
+ ->
+ ¥©_shÜt
+ ->
+ ¡r_cur
+  < s·t->
+ ¥©_»gexp
+ ->
+ »gmu¡
+ ->str_cur) )){
+ 
+ 1771 
+ 	`¡r_ä“
+ (
+ ¥©
+ ->
+ ¥©_shÜt
+ );
+ 
+ 1772 
+ ¥©
+ ->
+ ¥©_shÜt
+  = s·t->
+ ¥©_»gexp
+ ->
+ »gmu¡
+ ;
+ 
+ 1773 
+ ¥©
+ ->
+ ¥©_»gexp
+ ->
+ »gmu¡
+  = 
+ NuΡr
+ ;
+ 
+ 1774 
+ ¥©
+ ->
+ ¥©_æags
+  |ð
+ SPAT_SCANFIRST
+ ;
+ 
+ 1777 
+ 	}
+ }
+ 
+ 1780 
+ 	$ex·nd_ch¬£t
+ (
+ s
+ ,
+ Ën
+ ,
+ »Ž’
+ )
+ 
+ 1781 *
+ s
+ ;
+ 
+ 1782 
+ Ën
+ ;
+ 
+ 1783 *
+ »Ž’
+ ;
+ 
+ 1785 
+ t
+ [520];
+ 
+ 1786 *
+ d
+  = 
+ t
+ ;
+ 
+ 1787 
+ i
+ ;
+ 
+ 1788 *
+ £nd
+  = 
+ s
+  + 
+ Ën
+ ;
+ 
+ 1790 
+ s
+  < 
+ £nd
+  && 
+ d
+  - 
+ t
+  <= 256) {
+ 
+ 1791 ià(
+ s
+ [1] =ð'-' && s+2 < 
+ £nd
+ ) {
+ 
+ 1792 
+ i
+  = (
+ s
+ [0] & 0377); i <= (s[2] & 0377); i++)
+ 
+ 1793 *
+ d
+ ++ = 
+ i
+ ;
+ 
+ 1794 
+ s
+  += 3;
+ 
+ 1797 *
+ d
+ ++ = *
+ s
+ ++;
+ 
+ 1799 *
+ d
+  = '\0';
+ 
+ 1800 *
+ »Ž’
+  = 
+ d
+  - 
+ t
+ ;
+ 
+ 1801  
+ 	`n§ve¡r
+ (
+ t
+ ,
+ d
+ -t);
+ 
+ 1802 
+ 	}
+ }
+ 
+ 1805 
+ 	$sÿÁ¿ns
+ (
+ s
+ )
+ 
+ 1806 *
+ s
+ ;
+ 
+ 1808 
+ ARG
+  *
+ ¬g
+  =
+ 
+ 1809 
+ 	`l
+ (
+ 	`make_Ý
+ (
+ O_TRANS
+ ,2,
+ 	`¡ab2¬g
+ (
+ A_STAB
+ ,
+ def¡ab
+ ),
+ Nuάg
+ ,Nullarg));
+ 
+ 1810 *
+ t
+ ;
+ 
+ 1811 *
+ r
+ ;
+ 
+ 1812 *
+ tbl
+ ;
+ 
+ 1813 
+ i
+ ;
+ 
+ 1814 
+ j
+ ;
+ 
+ 1815 
+ Ž’
+ , 
+ ¾’
+ ;
+ 
+ 1816 
+ squash
+ ;
+ 
+ 1817 
+ d–‘e
+ ;
+ 
+ 1818 
+ com¶em’t
+ ;
+ 
+ 1820 
+ 	`New
+ (803,
+ tbl
+ ,256,);
+ 
+ 1821 
+ ¬g
+ [2].
+ ¬g_ty³
+  = 
+ A_NULL
+ ;
+ 
+ 1822 
+ ¬g
+ [2].
+ ¬g_±r
+ .
+ ¬g_cv®
+  = (*è
+ tbl
+ ;
+ 
+ 1823 
+ s
+  = 
+ 	`sÿn¡r
+ (s);
+ 
+ 1824 ià(
+ s
+  >ð
+ buãnd
+ ) {
+ 
+ 1825 
+ 	`yy”rÜ
+ ("Translation…attern‚oterminated");
+ 
+ 1826 
+ yylv®
+ .
+ ¬g
+  = 
+ Nuάg
+ ;
+ 
+ 1827  
+ s
+ ;
+ 
+ 1829 
+ t
+  = 
+ 	`ex·nd_ch¬£t
+ (
+ yylv®
+ .
+ ¬g
+ [1].
+ ¬g_±r
+ .
+ ¬g_¡r
+ ->
+ ¡r_±r
+ ,
+ 
+ 1830 
+ yylv®
+ .
+ ¬g
+ [1].
+ ¬g_±r
+ .
+ ¬g_¡r
+ ->
+ ¡r_cur
+ ,&
+ Ž’
+ );
+ 
+ 1831 
+ 	`¬g_ä“
+ (
+ yylv®
+ .
+ ¬g
+ );
+ 
+ 1832 
+ s
+  = 
+ 	`sÿn¡r
+ (s-1);
+ 
+ 1833 ià(
+ s
+  >ð
+ buãnd
+ ) {
+ 
+ 1834 
+ 	`yy”rÜ
+ ("Translation„eplacement‚oterminated");
+ 
+ 1835 
+ yylv®
+ .
+ ¬g
+  = 
+ Nuάg
+ ;
+ 
+ 1836  
+ s
+ ;
+ 
+ 1838 
+ com¶em’t
+  = 
+ d–‘e
+  = 
+ squash
+  = 0;
+ 
+ 1839 *
+ s
+  == 'c' || *s == 'd' || *s == 's') {
+ 
+ 1840 ià(*
+ s
+  == 'c')
+ 
+ 1841 
+ com¶em’t
+  = 1;
+ 
+ 1842 ià(*
+ s
+  == 'd')
+ 
+ 1843 
+ d–‘e
+  = 2;
+ 
+ 1845 
+ squash
+  = 1;
+ 
+ 1846 
+ s
+ ++;
+ 
+ 1848 
+ r
+  = 
+ 	`ex·nd_ch¬£t
+ (
+ yylv®
+ .
+ ¬g
+ [1].
+ ¬g_±r
+ .
+ ¬g_¡r
+ ->
+ ¡r_±r
+ ,
+ 
+ 1849 
+ yylv®
+ .
+ ¬g
+ [1].
+ ¬g_±r
+ .
+ ¬g_¡r
+ ->
+ ¡r_cur
+ ,&
+ ¾’
+ );
+ 
+ 1850 
+ 	`¬g_ä“
+ (
+ yylv®
+ .
+ ¬g
+ );
+ 
+ 1851 
+ ¬g
+ [2].
+ ¬g_Ën
+  = 
+ d–‘e
+ |
+ squash
+ ;
+ 
+ 1852 
+ yylv®
+ .
+ ¬g
+  =‡rg;
+ 
+ 1853 ià(!
+ ¾’
+  && !
+ d–‘e
+ ) {
+ 
+ 1854 
+ 	`Saãä“
+ (
+ r
+ );
+ 
+ 1855 
+ r
+  = 
+ t
+ ; 
+ ¾’
+  = 
+ Ž’
+ ;
+ 
+ 1857 ià(
+ com¶em’t
+ ) {
+ 
+ 1858 
+ 	`Z”o
+ (
+ tbl
+ , 256, );
+ 
+ 1859 
+ i
+  = 0; i < 
+ Ž’
+ ; i++)
+ 
+ 1860 
+ tbl
+ [
+ t
+ [
+ i
+ ] & 0377] = -1;
+ 
+ 1861 
+ i
+  = 0, 
+ j
+  = 0; i < 256; i++) {
+ 
+ 1862 ià(!
+ tbl
+ [
+ i
+ ]) {
+ 
+ 1863 ià(
+ j
+  >ð
+ ¾’
+ ) {
+ 
+ 1864 ià(
+ d–‘e
+ )
+ 
+ 1865 
+ tbl
+ [
+ i
+ ] = -2;
+ 
+ 1867 
+ tbl
+ [
+ i
+ ] = 
+ r
+ [
+ j
+ -1];
+ 
+ 1870 
+ tbl
+ [
+ i
+ ] = 
+ r
+ [
+ j
+ ++];
+ 
+ 1875 
+ i
+  = 0; i < 256; i++)
+ 
+ 1876 
+ tbl
+ [
+ i
+ ] = -1;
+ 
+ 1877 
+ i
+  = 0, 
+ j
+  = 0; i < 
+ Ž’
+ ; i++,j++) {
+ 
+ 1878 ià(
+ j
+  >ð
+ ¾’
+ ) {
+ 
+ 1879 ià(
+ d–‘e
+ ) {
+ 
+ 1880 ià(
+ tbl
+ [
+ t
+ [
+ i
+ ] & 0377] == -1)
+ 
+ 1881 
+ tbl
+ [
+ t
+ [
+ i
+ ] & 0377] = -2;
+ 
+ 1884 --
+ j
+ ;
+ 
+ 1886 ià(
+ tbl
+ [
+ t
+ [
+ i
+ ] & 0377] == -1)
+ 
+ 1887 
+ tbl
+ [
+ t
+ [
+ i
+ ] & 0377] = 
+ r
+ [
+ j
+ ] & 0377;
+ 
+ 1890 ià(
+ r
+  !ð
+ t
+ )
+ 
+ 1891 
+ 	`Saãä“
+ (
+ r
+ );
+ 
+ 1892 
+ 	`Saãä“
+ (
+ t
+ );
+ 
+ 1893  
+ s
+ ;
+ 
+ 1894 
+ 	}
+ }
+ 
+ 1897 
+ 	$sÿn¡r
+ (
+ s
+ )
+ 
+ 1898 *
+ s
+ ;
+ 
+ 1900 
+ ‹rm
+ ;
+ 
+ 1901 *
+ d
+ ;
+ 
+ 1902 
+ ARG
+  *
+ ¬g
+ ;
+ 
+ 1903 *
+ £nd
+ ;
+ 
+ 1904 
+ boÞ
+  
+ makesšgË
+  = 
+ FALSE
+ ;
+ 
+ 1905 
+ STAB
+  *
+ ¡ab
+ ;
+ 
+ 1906 
+ boÞ
+  
+ ®waysdÞÏr
+  = 
+ FALSE
+ ;
+ 
+ 1907 
+ boÞ
+  
+ h”eis
+  = 
+ FALSE
+ ;
+ 
+ 1908 
+ STR
+  *
+ h”ewas
+ ;
+ 
+ 1909 
+ STR
+  *
+ ¡r
+ ;
+ 
+ 1910 *
+ Ëave
+  = "\\$@nrtfbeacx0123456789[{]}lLuUE";
+ 
+ 1911 
+ Ën
+ ;
+ 
+ 1913 
+ ¬g
+  = 
+ 	`Ý_Ãw
+ (1);
+ 
+ 1914 
+ yylv®
+ .
+ ¬g
+  =‡rg;
+ 
+ 1915 
+ ¬g
+ ->
+ ¬g_ty³
+  = 
+ O_ITEM
+ ;
+ 
+ 1917 *
+ s
+ ) {
+ 
+ 1919 
+ ¬g
+ [1].
+ ¬g_ty³
+  = 
+ A_DOUBLE
+ ;
+ 
+ 1920 
+ makesšgË
+  = 
+ TRUE
+ ;
+ 
+ 1921 
+ ‹rm
+  = *
+ s
+ ;
+ 
+ 1922 ià(
+ ‹rm
+  == '\'')
+ 
+ 1923 
+ Ëave
+  = 
+ NuÎch
+ ;
+ 
+ 1924 
+ ¢¬f_™
+ ;
+ 
+ 1927 
+ i
+ ;
+ 
+ 1928 
+ shiá
+ ;
+ 
+ 1930 
+ ¬g
+ [1].
+ ¬g_ty³
+  = 
+ A_SINGLE
+ ;
+ 
+ 1931 ià(
+ s
+ [1] == 'x') {
+ 
+ 1932 
+ shiá
+  = 4;
+ 
+ 1933 
+ s
+  += 2;
+ 
+ 1935 ià(
+ s
+ [1] == '.')
+ 
+ 1936 
+ decim®
+ ;
+ 
+ 1938 
+ shiá
+  = 3;
+ 
+ 1939 
+ i
+  = 0;
+ 
+ 1941 *
+ s
+ ) {
+ 
+ 1943 
+ out
+ ;
+ 
+ 1945 ià(
+ shiá
+  != 4)
+ 
+ 1946 
+ 	`yy”rÜ
+ ("Illegal octal digit");
+ 
+ 1950 
+ i
+  <<ð
+ shiá
+ ;
+ 
+ 1951 
+ i
+  +ð*
+ s
+ ++ & 15;
+ 
+ 1955 ià(
+ shiá
+  != 4)
+ 
+ 1956 
+ out
+ ;
+ 
+ 1957 
+ i
+  <<= 4;
+ 
+ 1958 
+ i
+  +ð(*
+ s
+ ++ & 7) + 9;
+ 
+ 1962 
+ out
+ :
+ 
+ 1963 
+ ¡r
+  = 
+ 	`SŒ_Ãw
+ (92,0);
+ 
+ 1964 
+ 	`¡r_num£t
+ (
+ ¡r
+ ,()
+ i
+ );
+ 
+ 1965 ià(
+ ¡r
+ ->
+ ¡r_±r
+ ) {
+ 
+ 1966 
+ 	`Saãä“
+ (
+ ¡r
+ ->
+ ¡r_±r
+ );
+ 
+ 1967 
+ ¡r
+ ->
+ ¡r_±r
+  = 
+ NuÎch
+ ;
+ 
+ 1968 
+ ¡r
+ ->
+ ¡r_Ën
+  = sŒ->
+ ¡r_cur
+  = 0;
+ 
+ 1970 
+ ¬g
+ [1].
+ ¬g_±r
+ .
+ ¬g_¡r
+  = 
+ ¡r
+ ;
+ 
+ 1975 
+ decim®
+ :
+ 
+ 1976 
+ ¬g
+ [1].
+ ¬g_ty³
+  = 
+ A_SINGLE
+ ;
+ 
+ 1977 
+ d
+  = 
+ tok’buf
+ ;
+ 
+ 1978 
+ 	`isdig™
+ (*
+ s
+ ) || *s == '_') {
+ 
+ 1979 ià(*
+ s
+  == '_')
+ 
+ 1980 
+ s
+ ++;
+ 
+ 1982 *
+ d
+ ++ = *
+ s
+ ++;
+ 
+ 1984 ià(*
+ s
+  =ð'.' && s[1] && 
+ 	`šdex
+ ("0123456789eE ;",s[1])) {
+ 
+ 1985 *
+ d
+ ++ = *
+ s
+ ++;
+ 
+ 1986 
+ 	`isdig™
+ (*
+ s
+ ) || *s == '_') {
+ 
+ 1987 ià(*
+ s
+  == '_')
+ 
+ 1988 
+ s
+ ++;
+ 
+ 1990 *
+ d
+ ++ = *
+ s
+ ++;
+ 
+ 1993 ià(*
+ s
+  && 
+ 	`šdex
+ ("eE",*s) && index("+-0123456789",s[1])) {
+ 
+ 1994 *
+ d
+ ++ = *
+ s
+ ++;
+ 
+ 1995 ià(*
+ s
+  == '+' || *s == '-')
+ 
+ 1996 *
+ d
+ ++ = *
+ s
+ ++;
+ 
+ 1997 
+ 	`isdig™
+ (*
+ s
+ ))
+ 
+ 1998 *
+ d
+ ++ = *
+ s
+ ++;
+ 
+ 2000 *
+ d
+  = '\0';
+ 
+ 2001 
+ ¡r
+  = 
+ 	`SŒ_Ãw
+ (92,0);
+ 
+ 2002 
+ 	`¡r_num£t
+ (
+ ¡r
+ ,
+ 	`©of
+ (
+ tok’buf
+ ));
+ 
+ 2003 ià(
+ ¡r
+ ->
+ ¡r_±r
+ ) {
+ 
+ 2004 
+ 	`Saãä“
+ (
+ ¡r
+ ->
+ ¡r_±r
+ );
+ 
+ 2005 
+ ¡r
+ ->
+ ¡r_±r
+  = 
+ NuÎch
+ ;
+ 
+ 2006 
+ ¡r
+ ->
+ ¡r_Ën
+  = sŒ->
+ ¡r_cur
+  = 0;
+ 
+ 2008 
+ ¬g
+ [1].
+ ¬g_±r
+ .
+ ¬g_¡r
+  = 
+ ¡r
+ ;
+ 
+ 2011 ià(*++
+ s
+  == '<') {
+ 
+ 2012 
+ h”eis
+  = 
+ TRUE
+ ;
+ 
+ 2013 
+ d
+  = 
+ tok’buf
+ ;
+ 
+ 2014 ià(!
+ rså
+ )
+ 
+ 2015 *
+ d
+ ++ = '\n';
+ 
+ 2016 ià(*++
+ s
+  && 
+ 	`šdex
+ ("`'\"",*s)) {
+ 
+ 2017 
+ ‹rm
+  = *
+ s
+ ++;
+ 
+ 2018 
+ s
+  = 
+ 	`ýytžl
+ (
+ d
+ ,s,
+ buãnd
+ ,
+ ‹rm
+ ,&
+ Ën
+ );
+ 
+ 2019 ià(
+ s
+  < 
+ buãnd
+ )
+ 
+ 2020 
+ s
+ ++;
+ 
+ 2021 
+ d
+  +ð
+ Ën
+ ;
+ 
+ 2024 ià(*
+ s
+  == '\\')
+ 
+ 2025 
+ s
+ ++, 
+ ‹rm
+  = '\'';
+ 
+ 2027 
+ ‹rm
+  = '"';
+ 
+ 2028 
+ 	`i§scii
+ (*
+ s
+ è&& (
+ 	`i§Íha
+ (*sè|| 
+ 	`isdig™
+ (*s) || *s == '_'))
+ 
+ 2029 *
+ d
+ ++ = *
+ s
+ ++;
+ 
+ 2031 *
+ d
+ ++ = '\n';
+ 
+ 2032 *
+ d
+  = '\0';
+ 
+ 2033 
+ Ën
+  = 
+ d
+  - 
+ tok’buf
+ ;
+ 
+ 2034 
+ d
+  = "\n";
+ 
+ 2035 ià(
+ rså
+  || !(
+ d
+ =
+ 	`nš¡r
+ (
+ s
+ ,
+ buãnd
+ ,d,d+1)))
+ 
+ 2036 
+ h”ewas
+  = 
+ 	`¡r_make
+ (
+ s
+ ,
+ buãnd
+ -s);
+ 
+ 2038 
+ s
+ --, 
+ h”ewas
+  = 
+ 	`¡r_make
+ (s,
+ d
+ -s);
+ 
+ 2039 
+ s
+  +ð
+ h”ewas
+ ->
+ ¡r_cur
+ ;
+ 
+ 2040 ià(
+ ‹rm
+  == '\'')
+ 
+ 2041 
+ do_sšgË
+ ;
+ 
+ 2042 ià(
+ ‹rm
+  == '`')
+ 
+ 2043 
+ do_back
+ ;
+ 
+ 2044 
+ do_doubË
+ ;
+ 
+ 2046 
+ d
+  = 
+ tok’buf
+ ;
+ 
+ 2047 
+ s
+  = 
+ 	`ýytžl
+ (
+ d
+ ,s,
+ buãnd
+ ,'>',&
+ Ën
+ );
+ 
+ 2048 ià(
+ s
+  < 
+ buãnd
+ )
+ 
+ 2049 
+ s
+ ++;
+ 
+ 2050 ià(*
+ d
+  == '$') d++;
+ 
+ 2051 *
+ d
+  &&
+ 
+ 2052 (
+ 	`i§Íha
+ (*
+ d
+ è|| 
+ 	`isdig™
+ (*d) || *d == '_' || *d == '\''))
+ 
+ 2053 
+ d
+ ++;
+ 
+ 2054 ià(
+ d
+  - 
+ tok’buf
+  !ð
+ Ën
+ ) {
+ 
+ 2055 
+ d
+  = 
+ tok’buf
+ ;
+ 
+ 2056 
+ ¬g
+ [1].
+ ¬g_ty³
+  = 
+ A_GLOB
+ ;
+ 
+ 2057 
+ d
+  = 
+ 	`n§ve¡r
+ (d,
+ Ën
+ );
+ 
+ 2058 
+ ¬g
+ [1].
+ ¬g_±r
+ .
+ ¬g_¡ab
+  = 
+ ¡ab
+  = 
+ 	`g’¡ab
+ ();
+ 
+ 2059 
+ 	`¡ab_io
+ (
+ ¡ab
+ èð
+ 	`¡io_Ãw
+ ();
+ 
+ 2060 
+ 	`¡ab_v®
+ (
+ ¡ab
+ èð
+ 	`¡r_make
+ (
+ d
+ ,
+ Ën
+ );
+ 
+ 2061 
+ 	`Saãä“
+ (
+ d
+ );
+ 
+ 2062 
+ 	`£t_csh
+ ();
+ 
+ 2065 
+ d
+  = 
+ tok’buf
+ ;
+ 
+ 2066 ià(!
+ Ën
+ )
+ 
+ 2067 ()
+ 	`¡rýy
+ (
+ d
+ ,"ARGV");
+ 
+ 2068 ià(*
+ d
+  == '$') {
+ 
+ 2069 
+ ¬g
+ [1].
+ ¬g_ty³
+  = 
+ A_INDREAD
+ ;
+ 
+ 2070 
+ ¬g
+ [1].
+ ¬g_±r
+ .
+ ¬g_¡ab
+  = 
+ 	`¡ab’t
+ (
+ d
+ +1,
+ TRUE
+ );
+ 
+ 2073 
+ ¬g
+ [1].
+ ¬g_ty³
+  = 
+ A_READ
+ ;
+ 
+ 2074 
+ ¬g
+ [1].
+ ¬g_±r
+ .
+ ¬g_¡ab
+  = 
+ 	`¡ab’t
+ (
+ d
+ ,
+ TRUE
+ );
+ 
+ 2075 ià(!
+ 	`¡ab_io
+ (
+ ¬g
+ [1].
+ ¬g_±r
+ .
+ ¬g_¡ab
+ ))
+ 
+ 2076 
+ 	`¡ab_io
+ (
+ ¬g
+ [1].
+ ¬g_±r
+ .
+ ¬g_¡ab
+ èð
+ 	`¡io_Ãw
+ ();
+ 
+ 2077 ià(
+ 	`¡rEQ
+ (
+ d
+ ,"ARGV")) {
+ 
+ 2078 ()
+ 	`¯dd
+ (
+ ¬g
+ [1].
+ ¬g_±r
+ .
+ ¬g_¡ab
+ );
+ 
+ 2079 
+ 	`¡ab_io
+ (
+ ¬g
+ [1].
+ ¬g_±r
+ .
+ ¬g_¡ab
+ )->
+ æags
+  |=
+ 
+ 2080 
+ IOF_ARGV
+ |
+ IOF_START
+ ;
+ 
+ 2087 
+ s
+ ++;
+ 
+ 2088 ià(*
+ s
+  == 'q') {
+ 
+ 2089 
+ s
+ ++;
+ 
+ 2090 
+ do_doubË
+ ;
+ 
+ 2092 ià(*
+ s
+  == 'x') {
+ 
+ 2093 
+ s
+ ++;
+ 
+ 2094 
+ do_back
+ ;
+ 
+ 2098 
+ do_sšgË
+ :
+ 
+ 2099 
+ ‹rm
+  = *
+ s
+ ;
+ 
+ 2100 
+ ¬g
+ [1].
+ ¬g_ty³
+  = 
+ A_SINGLE
+ ;
+ 
+ 2101 
+ Ëave
+  = 
+ NuÎch
+ ;
+ 
+ 2102 
+ ¢¬f_™
+ ;
+ 
+ 2105 
+ do_doubË
+ :
+ 
+ 2106 
+ ‹rm
+  = *
+ s
+ ;
+ 
+ 2107 
+ ¬g
+ [1].
+ ¬g_ty³
+  = 
+ A_DOUBLE
+ ;
+ 
+ 2108 
+ makesšgË
+  = 
+ TRUE
+ ;
+ 
+ 2109 
+ ®waysdÞÏr
+  = 
+ TRUE
+ ;
+ 
+ 2110 
+ ¢¬f_™
+ ;
+ 
+ 2112 
+ do_back
+ :
+ 
+ 2113 
+ ‹rm
+  = *
+ s
+ ;
+ 
+ 2114 
+ ¬g
+ [1].
+ ¬g_ty³
+  = 
+ A_BACKTICK
+ ;
+ 
+ 2115 
+ 	`£t_csh
+ ();
+ 
+ 2116 
+ ®waysdÞÏr
+  = 
+ TRUE
+ ;
+ 
+ 2117 
+ ¢¬f_™
+ :
+ 
+ 2119 
+ STR
+  *
+ tmp¡r
+ ;
+ 
+ 2120 *
+ tmps
+ ;
+ 
+ 2122 
+ muÉi_¡¬t
+  = 
+ curcmd
+ ->
+ c_lše
+ ;
+ 
+ 2123 ià(
+ h”eis
+ )
+ 
+ 2124 
+ muÉi_Ý’
+  = 
+ muÉi_þo£
+  = '<';
+ 
+ 2126 
+ muÉi_Ý’
+  = 
+ ‹rm
+ ;
+ 
+ 2127 ià(
+ ‹rm
+  && (
+ tmps
+  = 
+ 	`šdex
+ ("([{< )]}> )]}>",term)))
+ 
+ 2128 
+ ‹rm
+  = 
+ tmps
+ [5];
+ 
+ 2129 
+ muÉi_þo£
+  = 
+ ‹rm
+ ;
+ 
+ 2131 
+ tmp¡r
+  = 
+ 	`SŒ_Ãw
+ (87,80);
+ 
+ 2132 ià(
+ h”eis
+ ) {
+ 
+ 2133 
+ ‹rm
+  = *
+ tok’buf
+ ;
+ 
+ 2134 ià(!
+ rså
+ ) {
+ 
+ 2135 
+ d
+  = 
+ s
+ ;
+ 
+ 2136 
+ s
+  < 
+ buãnd
+  &&
+ 
+ 2137 (*
+ s
+  !ð
+ ‹rm
+  || 
+ 	`bcmp
+ (s,
+ tok’buf
+ ,
+ Ën
+ ) != 0) ) {
+ 
+ 2138 ià(*
+ s
+ ++ == '\n')
+ 
+ 2139 
+ curcmd
+ ->
+ c_lše
+ ++;
+ 
+ 2141 ià(
+ s
+  >ð
+ buãnd
+ ) {
+ 
+ 2142 
+ curcmd
+ ->
+ c_lše
+  = 
+ muÉi_¡¬t
+ ;
+ 
+ 2143 
+ 	`çl
+ ("EOF in string");
+ 
+ 2145 
+ 	`¡r_n£t
+ (
+ tmp¡r
+ ,
+ d
+ +1,
+ s
+ -d);
+ 
+ 2146 
+ s
+  +ð
+ Ën
+  - 1;
+ 
+ 2147 
+ 	`¡r_nÿt
+ (
+ h”ewas
+ ,
+ s
+ ,
+ buãnd
+ -s);
+ 
+ 2148 
+ 	`¡r_»¶aû
+ (
+ lše¡r
+ ,
+ h”ewas
+ );
+ 
+ 2149 
+ ÞdÞdbuåŒ
+  = 
+ ÞdbuåŒ
+  = 
+ buåŒ
+  = 
+ s
+  = 
+ 	`¡r_g‘
+ (
+ lše¡r
+ );
+ 
+ 2150 
+ buãnd
+  = 
+ lše¡r
+ ->
+ ¡r_±r
+  +†še¡r->
+ ¡r_cur
+ ;
+ 
+ 2151 
+ h”eis
+  = 
+ FALSE
+ ;
+ 
+ 2154 
+ 	`¡r_n£t
+ (
+ tmp¡r
+ ,"",0);
+ 
+ 2157 
+ s
+  = 
+ 	`¡r_­³nd_tžl
+ (
+ tmp¡r
+ ,s+1,
+ buãnd
+ ,
+ ‹rm
+ ,
+ Ëave
+ );
+ 
+ 2158 
+ s
+  >ð
+ buãnd
+ ) {
+ 
+ 2159 ià(!
+ rså
+  ||
+ 
+ 2160 !(
+ ÞdÞdbuåŒ
+  = 
+ ÞdbuåŒ
+  = 
+ s
+  = 
+ 	`¡r_g‘s
+ (
+ lše¡r
+ , 
+ rså
+ , 0))) {
+ 
+ 2161 
+ curcmd
+ ->
+ c_lše
+  = 
+ muÉi_¡¬t
+ ;
+ 
+ 2162 
+ 	`çl
+ ("EOF in string");
+ 
+ 2164 
+ curcmd
+ ->
+ c_lše
+ ++;
+ 
+ 2165 ià(
+ ³¾db
+ ) {
+ 
+ 2166 
+ STR
+  *
+ ¡r
+  = 
+ 	`SŒ_Ãw
+ (88,0);
+ 
+ 2168 
+ 	`¡r_s£t
+ (
+ ¡r
+ ,
+ lše¡r
+ );
+ 
+ 2169 
+ 	`a¡Üe
+ (
+ 	`¡ab_x¬¿y
+ (
+ curcmd
+ ->
+ c_fže¡ab
+ ),
+ 
+ 2170 ()
+ curcmd
+ ->
+ c_lše
+ ,
+ ¡r
+ );
+ 
+ 2172 
+ buãnd
+  = 
+ lše¡r
+ ->
+ ¡r_±r
+  +†še¡r->
+ ¡r_cur
+ ;
+ 
+ 2173 ià(
+ h”eis
+ ) {
+ 
+ 2174 ià(*
+ s
+  =ð
+ ‹rm
+  && 
+ 	`bcmp
+ (s,
+ tok’buf
+ ,
+ Ën
+ ) == 0) {
+ 
+ 2175 
+ s
+  = 
+ buãnd
+  - 1;
+ 
+ 2176 *
+ s
+  = ' ';
+ 
+ 2177 
+ 	`¡r_sÿt
+ (
+ lše¡r
+ ,
+ h”ewas
+ );
+ 
+ 2178 
+ buãnd
+  = 
+ lše¡r
+ ->
+ ¡r_±r
+  +†še¡r->
+ ¡r_cur
+ ;
+ 
+ 2181 
+ s
+  = 
+ buãnd
+ ;
+ 
+ 2182 
+ 	`¡r_sÿt
+ (
+ tmp¡r
+ ,
+ lše¡r
+ );
+ 
+ 2186 
+ s
+  = 
+ 	`¡r_­³nd_tžl
+ (
+ tmp¡r
+ ,s,
+ buãnd
+ ,
+ ‹rm
+ ,
+ Ëave
+ );
+ 
+ 2188 
+ muÉi_’d
+  = 
+ curcmd
+ ->
+ c_lše
+ ;
+ 
+ 2189 
+ s
+ ++;
+ 
+ 2190 ià(
+ tmp¡r
+ ->
+ ¡r_cur
+  + 5 <mp¡r->
+ ¡r_Ën
+ ) {
+ 
+ 2191 
+ tmp¡r
+ ->
+ ¡r_Ën
+  =mp¡r->
+ ¡r_cur
+  + 1;
+ 
+ 2192 
+ 	`R’ew
+ (
+ tmp¡r
+ ->
+ ¡r_±r
+ ,mp¡r->
+ ¡r_Ën
+ , );
+ 
+ 2194 ià((
+ ¬g
+ [1].
+ ¬g_ty³
+  & 
+ A_MASK
+ è=ð
+ A_SINGLE
+ ) {
+ 
+ 2195 
+ ¬g
+ [1].
+ ¬g_±r
+ .
+ ¬g_¡r
+  = 
+ tmp¡r
+ ;
+ 
+ 2198 
+ tmps
+  = 
+ s
+ ;
+ 
+ 2199 
+ s
+  = 
+ tmp¡r
+ ->
+ ¡r_±r
+ ;
+ 
+ 2200 
+ £nd
+  = 
+ s
+  + 
+ tmp¡r
+ ->
+ ¡r_cur
+ ;
+ 
+ 2201 
+ s
+  < 
+ £nd
+ ) {
+ 
+ 2202 ià(*
+ s
+  =ð'\\' && s[1] && 
+ 	`isdig™
+ (s[1]) && !isdigit(s[2]) &&
+ 
+ 2203 !
+ ®waysdÞÏr
+  && 
+ s
+ [1] != '0')
+ 
+ 2204 *
+ s
+  = '$';
+ 
+ 2205 ià((*
+ s
+  =ð'$' || * =ð'@'è&& s+1 < 
+ £nd
+  &&
+ 
+ 2206 (
+ ®waysdÞÏr
+  || (
+ s
+ [1] != ')' && s[1] != '|'))) {
+ 
+ 2207 
+ makesšgË
+  = 
+ FALSE
+ ;
+ 
+ 2209 ià(*
+ s
+  =ð'\\' && s+1 < 
+ £nd
+ ) {
+ 
+ 2210 ià(
+ 	`šdex
+ ("lLuUE",
+ s
+ [1]))
+ 
+ 2211 
+ makesšgË
+  = 
+ FALSE
+ ;
+ 
+ 2212 
+ s
+ ++;
+ 
+ 2214 
+ s
+ ++;
+ 
+ 2216 
+ s
+  = 
+ d
+  = 
+ tmp¡r
+ ->
+ ¡r_±r
+ ;
+ 
+ 2217 
+ s
+  < 
+ £nd
+ ) {
+ 
+ 2218 ià((*
+ s
+  =ð'$' && s+1 < 
+ £nd
+  &&
+ 
+ 2219 (
+ ®waysdÞÏr
+  || (
+ s
+ [1] != ')' && s[1] != '|')) ) ||
+ 
+ 2220 (*
+ s
+  =ð'@' && s+1 < 
+ £nd
+ ) ) {
+ 
+ 2221 
+ Ën
+  = 
+ 	`sÿnid’t
+ (
+ s
+ ,
+ £nd
+ ,
+ tok’buf
+ ) - s;
+ 
+ 2222 ià(*
+ s
+  =ð'$' || 
+ 	`¡rEQ
+ (
+ tok’buf
+ ,"ARGV")
+ 
+ 2223 || 
+ 	`¡rEQ
+ (
+ tok’buf
+ ,"ENV")
+ 
+ 2224 || 
+ 	`¡rEQ
+ (
+ tok’buf
+ ,"SIG")
+ 
+ 2225 || 
+ 	`¡rEQ
+ (
+ tok’buf
+ ,"INC") )
+ 
+ 2226 ()
+ 	`¡ab’t
+ (
+ tok’buf
+ ,
+ TRUE
+ );
+ 
+ 2227 
+ Ën
+ --)
+ 
+ 2228 *
+ d
+ ++ = *
+ s
+ ++;
+ 
+ 2231 ià(*
+ s
+  =ð'\\' && s+1 < 
+ £nd
+ ) {
+ 
+ 2232 
+ s
+ ++;
+ 
+ 2233 *
+ s
+ ) {
+ 
+ 2235 ià(!
+ makesšgË
+  && (!
+ Ëave
+  || (*
+ s
+  && 
+ 	`šdex
+ (leave,*s))))
+ 
+ 2236 *
+ d
+ ++ = '\\';
+ 
+ 2237 *
+ d
+ ++ = *
+ s
+ ++;
+ 
+ 2241 *
+ d
+ ++ = 
+ 	`sÿnoù
+ (
+ s
+ , 3, &
+ Ën
+ );
+ 
+ 2242 
+ s
+  +ð
+ Ën
+ ;
+ 
+ 2245 *
+ d
+ ++ = 
+ 	`sÿnhex
+ (++
+ s
+ , 2, &
+ Ën
+ );
+ 
+ 2246 
+ s
+  +ð
+ Ën
+ ;
+ 
+ 2249 
+ s
+ ++;
+ 
+ 2250 *
+ d
+  = *
+ s
+ ++;
+ 
+ 2251 ià(
+ 	`i¦ow”
+ (*
+ d
+ ))
+ 
+ 2252 *
+ d
+  = 
+ 	`touµ”
+ (*d);
+ 
+ 2253 *
+ d
+ ++ ^= 64;
+ 
+ 2256 *
+ d
+ ++ = '\b';
+ 
+ 2259 *
+ d
+ ++ = '\n';
+ 
+ 2262 *
+ d
+ ++ = '\r';
+ 
+ 2265 *
+ d
+ ++ = '\f';
+ 
+ 2268 *
+ d
+ ++ = '\t';
+ 
+ 2271 *
+ d
+ ++ = '\033';
+ 
+ 2274 *
+ d
+ ++ = '\007';
+ 
+ 2277 
+ s
+ ++;
+ 
+ 2280 *
+ d
+ ++ = *
+ s
+ ++;
+ 
+ 2282 *
+ d
+  = '\0';
+ 
+ 2284 ià((
+ ¬g
+ [1].
+ ¬g_ty³
+  & 
+ A_MASK
+ è=ð
+ A_DOUBLE
+  && 
+ makesšgË
+ )
+ 
+ 2285 
+ ¬g
+ [1].
+ ¬g_ty³
+  = 
+ A_SINGLE
+ ;
+ 
+ 2287 
+ tmp¡r
+ ->
+ ¡r_cur
+  = 
+ d
+  -mp¡r->
+ ¡r_±r
+ ;
+ 
+ 2288 
+ ¬g
+ [1].
+ ¬g_±r
+ .
+ ¬g_¡r
+  = 
+ tmp¡r
+ ;
+ 
+ 2289 
+ s
+  = 
+ tmps
+ ;
+ 
+ 2293 ià(
+ h”eis
+ )
+ 
+ 2294 
+ 	`¡r_ä“
+ (
+ h”ewas
+ );
+ 
+ 2295  
+ s
+ ;
+ 
+ 2296 
+ 	}
+ }
+ 
+ 2298 
+ FCMD
+  *
+ 
+ 2299 
+ 	$lßd_fÜm©
+ ()
+ 
+ 2301 
+ FCMD
+  
+ äoÙ
+ ;
+ 
+ 2302 
+ FCMD
+  *
+ æšebeg
+ ;
+ 
+ 2303 *
+ eÞ
+ ;
+ 
+ 2304 
+ FCMD
+  *
+ å»v
+  = &
+ äoÙ
+ ;
+ 
+ 2305 
+ FCMD
+  *
+ fcmd
+ ;
+ 
+ 2306 *
+ s
+ ;
+ 
+ 2307 *
+ t
+ ;
+ 
+ 2308 
+ STR
+  *
+ ¡r
+ ;
+ 
+ 2309 
+ boÞ
+  
+ nobÏnk
+ ;
+ 
+ 2310 
+ boÞ
+  
+ »³©”
+ ;
+ 
+ 2312 
+ 	`Z”o
+ (&
+ äoÙ
+ , 1, 
+ FCMD
+ );
+ 
+ 2313 
+ s
+  = 
+ buåŒ
+ ;
+ 
+ 2314 
+ s
+  < 
+ buãnd
+  || (
+ rså
+  && ( ð
+ 	`¡r_g‘s
+ (
+ lše¡r
+ ,rså, 0)è!ð
+ NuÎch
+ )) {
+ 
+ 2315 
+ curcmd
+ ->
+ c_lše
+ ++;
+ 
+ 2316 ià(
+ š_ev®
+  && !
+ rså
+ ) {
+ 
+ 2317 
+ eÞ
+  = 
+ 	`šdex
+ (
+ s
+ ,'\n');
+ 
+ 2318 ià(!
+ eÞ
+ ++)
+ 
+ 2319 
+ eÞ
+  = 
+ buãnd
+ ;
+ 
+ 2322 
+ eÞ
+  = 
+ buãnd
+  = 
+ lše¡r
+ ->
+ ¡r_±r
+  +†še¡r->
+ ¡r_cur
+ ;
+ 
+ 2323 ià(
+ ³¾db
+ ) {
+ 
+ 2324 
+ STR
+  *
+ tmp¡r
+  = 
+ 	`SŒ_Ãw
+ (89,0);
+ 
+ 2326 
+ 	`¡r_n£t
+ (
+ tmp¡r
+ , 
+ s
+ , 
+ eÞ
+ -s);
+ 
+ 2327 
+ 	`a¡Üe
+ (
+ 	`¡ab_x¬¿y
+ (
+ curcmd
+ ->
+ c_fže¡ab
+ ), ()curcmd->
+ c_lše
+ ,
+ tmp¡r
+ );
+ 
+ 2329 ià(*
+ s
+  == '.') {
+ 
+ 2330 
+ t
+  = 
+ s
+ +1; *t == ' ' || *t == '\t';++) ;
+ 
+ 2331 ià(*
+ t
+  == '\n') {
+ 
+ 2332 
+ buåŒ
+  = 
+ s
+ ;
+ 
+ 2333  
+ äoÙ
+ .
+ f_Ãxt
+ ;
+ 
+ 2336 ià(*
+ s
+  == '#') {
+ 
+ 2337 
+ s
+  = 
+ eÞ
+ ;
+ 
+ 2340 
+ æšebeg
+  = 
+ NuÎfcmd
+ ;
+ 
+ 2341 
+ nobÏnk
+  = 
+ FALSE
+ ;
+ 
+ 2342 
+ »³©”
+  = 
+ FALSE
+ ;
+ 
+ 2343 
+ s
+  < 
+ eÞ
+ ) {
+ 
+ 2344 
+ 	`Newz
+ (804,
+ fcmd
+ ,1,
+ FCMD
+ );
+ 
+ 2345 
+ å»v
+ ->
+ f_Ãxt
+  = 
+ fcmd
+ ;
+ 
+ 2346 
+ å»v
+  = 
+ fcmd
+ ;
+ 
+ 2347 
+ t
+ =
+ s
+ ; < 
+ eÞ
+  && *t != '@' && *t != '^';++) {
+ 
+ 2348 ià(*
+ t
+  == '~') {
+ 
+ 2349 
+ nobÏnk
+  = 
+ TRUE
+ ;
+ 
+ 2350 *
+ t
+  = ' ';
+ 
+ 2351 ià(
+ t
+ [1] == '~') {
+ 
+ 2352 
+ »³©”
+  = 
+ TRUE
+ ;
+ 
+ 2353 
+ t
+ [1] = ' ';
+ 
+ 2357 
+ fcmd
+ ->
+ f_´e
+  = 
+ 	`n§ve¡r
+ (
+ s
+ , 
+ t
+ -s);
+ 
+ 2358 
+ fcmd
+ ->
+ f_´esize
+  = 
+ t
+ -
+ s
+ ;
+ 
+ 2359 
+ s
+  = 
+ t
+ ;
+ 
+ 2360 ià(
+ s
+  >ð
+ eÞ
+ ) {
+ 
+ 2361 ià(
+ nobÏnk
+ )
+ 
+ 2362 
+ fcmd
+ ->
+ f_æags
+  |ð
+ FC_NOBLANK
+ ;
+ 
+ 2363 ià(
+ »³©”
+ )
+ 
+ 2364 
+ fcmd
+ ->
+ f_æags
+  |ð
+ FC_REPEAT
+ ;
+ 
+ 2367 ià(!
+ æšebeg
+ )
+ 
+ 2368 
+ æšebeg
+  = 
+ fcmd
+ ;
+ 
+ 2369 ià(*
+ s
+ ++ == '^')
+ 
+ 2370 
+ fcmd
+ ->
+ f_æags
+  |ð
+ FC_CHOP
+ ;
+ 
+ 2371 *
+ s
+ ) {
+ 
+ 2373 
+ fcmd
+ ->
+ f_ty³
+  = 
+ F_LINES
+ ;
+ 
+ 2374 *
+ s
+  = '\0';
+ 
+ 2377 
+ fcmd
+ ->
+ f_ty³
+  = 
+ F_LEFT
+ ;
+ 
+ 2378 *
+ s
+  == '<')
+ 
+ 2379 
+ s
+ ++;
+ 
+ 2382 
+ fcmd
+ ->
+ f_ty³
+  = 
+ F_RIGHT
+ ;
+ 
+ 2383 *
+ s
+  == '>')
+ 
+ 2384 
+ s
+ ++;
+ 
+ 2387 
+ fcmd
+ ->
+ f_ty³
+  = 
+ F_CENTER
+ ;
+ 
+ 2388 *
+ s
+  == '|')
+ 
+ 2389 
+ s
+ ++;
+ 
+ 2395 ià(*
+ s
+  == '.' && s[1] == '.') {
+ 
+ 2396 
+ deçuÉ_fÜm©
+ ;
+ 
+ 2398 
+ fcmd
+ ->
+ f_ty³
+  = 
+ F_DECIMAL
+ ;
+ 
+ 2400 *
+ p
+ ;
+ 
+ 2404 *
+ s
+  == '#')
+ 
+ 2405 
+ s
+ ++;
+ 
+ 2406 ià(*
+ s
+  == '.') {
+ 
+ 2407 
+ s
+ ++;
+ 
+ 2408 
+ p
+  = 
+ s
+ ;
+ 
+ 2409 *
+ s
+  == '#')
+ 
+ 2410 
+ s
+ ++;
+ 
+ 2411 
+ fcmd
+ ->
+ f_decim®s
+  = 
+ s
+ -
+ p
+ ;
+ 
+ 2412 
+ fcmd
+ ->
+ f_æags
+  |ð
+ FC_DP
+ ;
+ 
+ 2414 
+ fcmd
+ ->
+ f_decim®s
+  = 0;
+ 
+ 2419 
+ deçuÉ_fÜm©
+ :
+ 
+ 2420 
+ fcmd
+ ->
+ f_ty³
+  = 
+ F_LEFT
+ ;
+ 
+ 2423 ià(
+ fcmd
+ ->
+ f_æags
+  & 
+ FC_CHOP
+  && *
+ s
+  == '.') {
+ 
+ 2424 
+ fcmd
+ ->
+ f_æags
+  |ð
+ FC_MORE
+ ;
+ 
+ 2425 *
+ s
+  == '.')
+ 
+ 2426 
+ s
+ ++;
+ 
+ 2428 
+ fcmd
+ ->
+ f_size
+  = 
+ s
+ -
+ t
+ ;
+ 
+ 2430 ià(
+ æšebeg
+ ) {
+ 
+ 2431 
+ agaš
+ :
+ 
+ 2432 ià(
+ s
+  >ð
+ buãnd
+  &&
+ 
+ 2433 (!
+ rså
+  || (
+ s
+  = 
+ 	`¡r_g‘s
+ (
+ lše¡r
+ ,„så, 0)è=ð
+ NuÎch
+ ) )
+ 
+ 2434 
+ badfÜm
+ ;
+ 
+ 2435 
+ curcmd
+ ->
+ c_lše
+ ++;
+ 
+ 2436 ià(
+ š_ev®
+  && !
+ rså
+ ) {
+ 
+ 2437 
+ eÞ
+  = 
+ 	`šdex
+ (
+ s
+ ,'\n');
+ 
+ 2438 ià(!
+ eÞ
+ ++)
+ 
+ 2439 
+ eÞ
+  = 
+ buãnd
+ ;
+ 
+ 2442 
+ eÞ
+  = 
+ buãnd
+  = 
+ lše¡r
+ ->
+ ¡r_±r
+  +†še¡r->
+ ¡r_cur
+ ;
+ 
+ 2443 ià(
+ ³¾db
+ ) {
+ 
+ 2444 
+ STR
+  *
+ tmp¡r
+  = 
+ 	`SŒ_Ãw
+ (90,0);
+ 
+ 2446 
+ 	`¡r_n£t
+ (
+ tmp¡r
+ , 
+ s
+ , 
+ eÞ
+ -s);
+ 
+ 2447 
+ 	`a¡Üe
+ (
+ 	`¡ab_x¬¿y
+ (
+ curcmd
+ ->
+ c_fže¡ab
+ ),
+ 
+ 2448 ()
+ curcmd
+ ->
+ c_lše
+ ,
+ tmp¡r
+ );
+ 
+ 2450 ià(
+ 	`¡ºEQ
+ (
+ s
+ ,".\n",2)) {
+ 
+ 2451 
+ buåŒ
+  = 
+ s
+ ;
+ 
+ 2452 
+ 	`yy”rÜ
+ ("Missing values†ine");
+ 
+ 2453  
+ äoÙ
+ .
+ f_Ãxt
+ ;
+ 
+ 2455 ià(*
+ s
+  == '#') {
+ 
+ 2456 
+ s
+  = 
+ eÞ
+ ;
+ 
+ 2457 
+ agaš
+ ;
+ 
+ 2459 
+ ¡r
+  = 
+ æšebeg
+ ->
+ f_uŬ£d
+  = 
+ 	`SŒ_Ãw
+ (91,
+ eÞ
+  - 
+ s
+ );
+ 
+ 2460 
+ ¡r
+ ->
+ ¡r_u
+ .
+ ¡r_hash
+  = 
+ cur¡ash
+ ;
+ 
+ 2461 
+ 	`¡r_n£t
+ (
+ ¡r
+ ,"(",1);
+ 
+ 2462 
+ æšebeg
+ ->
+ f_lše
+  = 
+ curcmd
+ ->
+ c_lše
+ ;
+ 
+ 2463 
+ eÞ
+ [-1] = '\0';
+ 
+ 2464 ià(!
+ æšebeg
+ ->
+ f_Ãxt
+ ->
+ f_ty³
+  || 
+ 	`šdex
+ (
+ s
+ , ',')) {
+ 
+ 2465 
+ eÞ
+ [-1] = '\n';
+ 
+ 2466 
+ 	`¡r_nÿt
+ (
+ ¡r
+ , 
+ s
+ , 
+ eÞ
+  - s - 1);
+ 
+ 2467 
+ 	`¡r_nÿt
+ (
+ ¡r
+ ,",$$);",5);
+ 
+ 2468 
+ s
+  = 
+ eÞ
+ ;
+ 
+ 2471 
+ eÞ
+ [-1] = '\n';
+ 
+ 2472 
+ s
+  < 
+ eÞ
+  && 
+ 	`is¥aû
+ (*s))
+ 
+ 2473 
+ s
+ ++;
+ 
+ 2474 
+ t
+  = 
+ s
+ ;
+ 
+ 2475 
+ s
+  < 
+ eÞ
+ ) {
+ 
+ 2476 *
+ s
+ ) {
+ 
+ 2478 
+ 	`¡r_nÿt
+ (
+ ¡r
+ , 
+ t
+ , 
+ s
+  -);
+ 
+ 2479 
+ 	`¡r_nÿt
+ (
+ ¡r
+ , "," ,1);
+ 
+ 2480 
+ s
+  < 
+ eÞ
+  && (
+ 	`is¥aû
+ (*s) || *s == ';'))
+ 
+ 2481 
+ s
+ ++;
+ 
+ 2482 
+ t
+  = 
+ s
+ ;
+ 
+ 2485 
+ 	`¡r_nÿt
+ (
+ ¡r
+ , 
+ t
+ , 
+ s
+  -);
+ 
+ 2486 
+ t
+  = 
+ s
+ ;
+ 
+ 2487 
+ s
+  = 
+ 	`sÿnid’t
+ (s,
+ eÞ
+ ,
+ tok’buf
+ );
+ 
+ 2488 
+ 	`¡r_nÿt
+ (
+ ¡r
+ , 
+ t
+ , 
+ s
+  -);
+ 
+ 2489 
+ t
+  = 
+ s
+ ;
+ 
+ 2490 ià(
+ s
+  < 
+ eÞ
+  && * && 
+ 	`šdex
+ ("$'\"",*s))
+ 
+ 2491 
+ 	`¡r_nÿt
+ (
+ ¡r
+ , ",", 1);
+ 
+ 2494 
+ 	`¡r_nÿt
+ (
+ ¡r
+ , 
+ t
+ , 
+ s
+  -);
+ 
+ 2495 
+ t
+  = 
+ s
+ ;
+ 
+ 2496 
+ s
+ ++;
+ 
+ 2497 
+ s
+  < 
+ eÞ
+  && (* !ð*
+ t
+  || s[-1] == '\\'))
+ 
+ 2498 
+ s
+ ++;
+ 
+ 2499 ià(
+ s
+  < 
+ eÞ
+ )
+ 
+ 2500 
+ s
+ ++;
+ 
+ 2501 
+ 	`¡r_nÿt
+ (
+ ¡r
+ , 
+ t
+ , 
+ s
+  -);
+ 
+ 2502 
+ t
+  = 
+ s
+ ;
+ 
+ 2503 ià(
+ s
+  < 
+ eÞ
+  && * && 
+ 	`šdex
+ ("$'\"",*s))
+ 
+ 2504 
+ 	`¡r_nÿt
+ (
+ ¡r
+ , ",", 1);
+ 
+ 2507 
+ 	`yy”rÜ
+ ("Please use commaso separate fields");
+ 
+ 2510 
+ 	`¡r_nÿt
+ (
+ ¡r
+ ,"$$);",4);
+ 
+ 2514 
+ badfÜm
+ :
+ 
+ 2515 
+ buåŒ
+  = 
+ 	`¡r_g‘
+ (
+ lše¡r
+ );
+ 
+ 2516 
+ 	`yy”rÜ
+ ("Format‚oterminated");
+ 
+ 2517  
+ äoÙ
+ .
+ f_Ãxt
+ ;
+ 
+ 2518 
+ 	}
+ }
+ 
+ 2520 
+ 	$£t_csh
+ ()
+ 
+ 2522 #ifdeà
+ CSH
+ 
+ 
+ 2523 ià(!
+ cshËn
+ )
+ 
+ 2524 
+ cshËn
+  = 
+ 	`¡¾’
+ (
+ cshÇme
+ );
+ 
+ 2526 
+ 	}
+ }
+ 
+ 	@tperly.c
+ 
+ 1 #ifdeà
+ BWGC
+ 
+ 
+ 2 
*
+ gc_m®loc
+ (), *
+ gc_»®loc
+ ();
+ 
+ 4 
*
+ m®loc
+ (), *
+ »®loc
+ ();
+ 
+ 8 
+ 	~"INTERN.h
+ "
+ 
+ 9 
+ 	~"³¾.h
+ "
+ 
+ 11 
+ STAB
+  *
+ 	gsü¡ab
+ ;
+ 
+ 12 
+ ARG
+  *
+ 	g¬g4
+ ;
+ 
+ 13 
+ ARG
+  *
+ 	g¬g5
+ ;
+ 
+ 18 
+ 	miv®
+ ;
+ 
+ 19 *
+ 	mcv®
+ ;
+ 
+ 20 
+ ARG
+  *
+ 	m¬g
+ ;
+ 
+ 21 
+ CMD
+  *
+ 	mcmdv®
+ ;
+ 
+ 22 
+ compcmd
+  
+ 	mcompv®
+ ;
+ 
+ 23 
+ STAB
+  *
+ 	m¡abv®
+ ;
+ 
+ 24 
+ FCMD
+  *
+ 	mfÜmv®
+ ;
+ 
+ 25 } 
+ 	tYYSTYPE
+ ;
+ 
+ 26 
+ 	#WORD
+  257
+ 
+ 	)
+ 
+ 27 
+ 	#APPEND
+  258
+ 
+ 	)
+ 
+ 28 
+ 	#OPEN
+  259
+ 
+ 	)
+ 
+ 29 
+ 	#SSELECT
+  260
+ 
+ 	)
+ 
+ 30 
+ 	#LOOPEX
+  261
+ 
+ 	)
+ 
+ 31 
+ 	#USING
+  262
+ 
+ 	)
+ 
+ 32 
+ 	#FORMAT
+  263
+ 
+ 	)
+ 
+ 33 
+ 	#DO
+  264
+ 
+ 	)
+ 
+ 34 
+ 	#SHIFT
+  265
+ 
+ 	)
+ 
+ 35 
+ 	#PUSH
+  266
+ 
+ 	)
+ 
+ 36 
+ 	#POP
+  267
+ 
+ 	)
+ 
+ 37 
+ 	#LVALFUN
+  268
+ 
+ 	)
+ 
+ 38 
+ 	#WHILE
+  269
+ 
+ 	)
+ 
+ 39 
+ 	#UNTIL
+  270
+ 
+ 	)
+ 
+ 40 
+ 	#IF
+  271
+ 
+ 	)
+ 
+ 41 
+ 	#UNLESS
+  272
+ 
+ 	)
+ 
+ 42 
+ 	#ELSE
+  273
+ 
+ 	)
+ 
+ 43 
+ 	#ELSIF
+  274
+ 
+ 	)
+ 
+ 44 
+ 	#CONTINUE
+  275
+ 
+ 	)
+ 
+ 45 
+ 	#SPLIT
+  276
+ 
+ 	)
+ 
+ 46 
+ 	#FLIST
+  277
+ 
+ 	)
+ 
+ 47 
+ 	#FOR
+  278
+ 
+ 	)
+ 
+ 48 
+ 	#FILOP
+  279
+ 
+ 	)
+ 
+ 49 
+ 	#FILOP2
+  280
+ 
+ 	)
+ 
+ 50 
+ 	#FILOP3
+  281
+ 
+ 	)
+ 
+ 51 
+ 	#FILOP4
+  282
+ 
+ 	)
+ 
+ 52 
+ 	#FILOP22
+  283
+ 
+ 	)
+ 
+ 53 
+ 	#FILOP25
+  284
+ 
+ 	)
+ 
+ 54 
+ 	#FUNC0
+  285
+ 
+ 	)
+ 
+ 55 
+ 	#FUNC1
+  286
+ 
+ 	)
+ 
+ 56 
+ 	#FUNC2
+  287
+ 
+ 	)
+ 
+ 57 
+ 	#FUNC2x
+  288
+ 
+ 	)
+ 
+ 58 
+ 	#FUNC3
+  289
+ 
+ 	)
+ 
+ 59 
+ 	#FUNC4
+  290
+ 
+ 	)
+ 
+ 60 
+ 	#FUNC5
+  291
+ 
+ 	)
+ 
+ 61 
+ 	#HSHFUN
+  292
+ 
+ 	)
+ 
+ 62 
+ 	#HSHFUN3
+  293
+ 
+ 	)
+ 
+ 63 
+ 	#FLIST2
+  294
+ 
+ 	)
+ 
+ 64 
+ 	#SUB
+  295
+ 
+ 	)
+ 
+ 65 
+ 	#FILETEST
+  296
+ 
+ 	)
+ 
+ 66 
+ 	#LOCAL
+  297
+ 
+ 	)
+ 
+ 67 
+ 	#DELETE
+  298
+ 
+ 	)
+ 
+ 68 
+ 	#RELOP
+  299
+ 
+ 	)
+ 
+ 69 
+ 	#EQOP
+  300
+ 
+ 	)
+ 
+ 70 
+ 	#MULOP
+  301
+ 
+ 	)
+ 
+ 71 
+ 	#ADDOP
+  302
+ 
+ 	)
+ 
+ 72 
+ 	#PACKAGE
+  303
+ 
+ 	)
+ 
+ 73 
+ 	#AMPER
+  304
+ 
+ 	)
+ 
+ 74 
+ 	#FORMLIST
+  305
+ 
+ 	)
+ 
+ 75 
+ 	#REG
+  306
+ 
+ 	)
+ 
+ 76 
+ 	#ARYLEN
+  307
+ 
+ 	)
+ 
+ 77 
+ 	#ARY
+  308
+ 
+ 	)
+ 
+ 78 
+ 	#HSH
+  309
+ 
+ 	)
+ 
+ 79 
+ 	#STAR
+  310
+ 
+ 	)
+ 
+ 80 
+ 	#SUBST
+  311
+ 
+ 	)
+ 
+ 81 
+ 	#PATTERN
+  312
+ 
+ 	)
+ 
+ 82 
+ 	#RSTRING
+  313
+ 
+ 	)
+ 
+ 83 
+ 	#TRANS
+  314
+ 
+ 	)
+ 
+ 84 
+ 	#LISTOP
+  315
+ 
+ 	)
+ 
+ 85 
+ 	#DOTDOT
+  316
+ 
+ 	)
+ 
+ 86 
+ 	#OROR
+  317
+ 
+ 	)
+ 
+ 87 
+ 	#ANDAND
+  318
+ 
+ 	)
+ 
+ 88 
+ 	#UNIOP
+  319
+ 
+ 	)
+ 
+ 89 
+ 	#LS
+  320
+ 
+ 	)
+ 
+ 90 
+ 	#RS
+  321
+ 
+ 	)
+ 
+ 91 
+ 	#MATCH
+  322
+ 
+ 	)
+ 
+ 92 
+ 	#NMATCH
+  323
+ 
+ 	)
+ 
+ 93 
+ 	#UMINUS
+  324
+ 
+ 	)
+ 
+ 94 
+ 	#POW
+  325
+ 
+ 	)
+ 
+ 95 
+ 	#INC
+  326
+ 
+ 	)
+ 
+ 96 
+ 	#DEC
+  327
+ 
+ 	)
+ 
+ 97 
+ 	#yyþ—rš
+  
+ yych¬
+  = -1
+ 
+ 	)
+ 
+ 98 
+ 	#yy”rok
+  
+ yy”ræag
+  = 0
+ 
+ 	)
+ 
+ 99 

+ yych¬
+ ;
+ 
+ 100 

+ yy”ræag
+ ;
+ 
+ 101 #iâdeà
+ YYMAXDEPTH
+ 
+ 
+ 102 
+ 	#YYMAXDEPTH
+  150
+ 
+ 	)
+ 
+ 104 
+ YYSTYPE
+  
+ 	gyylv®
+ , 
+ 	gyyv®
+ ;
+ 
+ 105 
+ 	#YYERRCODE
+  256
+ 
+ 	)
+ 
+ 109 
+ 	gyyexÿ
+ [] ={
+ 
+ 147 
+ 	#YYNPROD
+  182
+ 
+ 	)
+ 
+ 148 
+ 	#YYLAST
+  3179
+ 
+ 	)
+ 
+ 149 
+ 	gyyaù
+ []={
+ 
+ 469 
+ 	gyy·ù
+ []={
+ 
+ 512 
+ 	gyypgo
+ []={
+ 
+ 517 
+ 	gyyr1
+ []={
+ 
+ 538 
+ 	gyyr2
+ []={
+ 
+ 559 
+ 	gyychk
+ []={
+ 
+ 602 
+ 	gyydef
+ []={
+ 
+ 645 ¡ruù { *
+ 	mt_Çme
+ ; 
+ 	mt_v®
+ ; } 
+ 	tyytokty³
+ ;
+ 
+ 646 #iâdeà
+ YYDEBUG
+ 
+ 
+ 647 
+ 	#YYDEBUG
+  0
+ 
+ 	)
+ 
+ 650 #ià
+ YYDEBUG
+ 
+ 
+ 652 
+ yytokty³
+  
+ 	gyytoks
+ [] =
+ 
+ 738 * 
+ 	gyy»ds
+ [] =
+ 
+ 934 
+ 	#YYERROR
+  
+ yy”¾ab
+ 
+ 
+ 	)
+ 
+ 935 #ifdeà
+ IGNOREFREE
+ 
+ 
+ 936 
+ 	#YYACCEPT
+  { (0); }
+ 
+ 	)
+ 
+ 937 
+ 	#YYABORT
+  { (1); }
+ 
+ 	)
+ 
+ 939 
+ 	#YYACCEPT
+  { 
+ 	`Saãä“
+ (
+ yys
+ ); 
+ 	`ä“
+ (
+ yyv
+ ); (0); }
+ 
+ 	)
+ 
+ 940 
+ 	#YYABORT
+  { 
+ 	`Saãä“
+ (
+ yys
+ ); 
+ 	`ä“
+ (
+ yyv
+ ); (1); }
+ 
+ 	)
+ 
+ 942 
+ 	#YYBACKUP
+ Ð
+ Ãwtok’
+ , 
+ Ãwv®ue
+  )\
+ 
+ 944 iàÐ
+ yych¬
+  >ð0 || ( 
+ yyr2
+ [ 
+ yytmp
+  ] >> 1 ) != 1 )\
+ 
+ 946 
+ 	`yy”rÜ
+ ( "syntaxƒrror - cannot backup" );\
+ 
+ 947 
+ yy”¾ab
+ ;\
+ 
+ 949 
+ yych¬
+  = 
+ Ãwtok’
+ ;\
+ 
+ 950 
+ yy¡©e
+  = *
+ yyps
+ ;\
+ 
+ 951 
+ yylv®
+  = 
+ Ãwv®ue
+ ;\
+ 
+ 952 
+ yyÃw¡©e
+ ;\
+ 
+ 953 }
+ 
+ 	)
+ 
+ 954 
+ 	#YYRECOVERING
+ (è(!!
+ yy”ræag
+ )
+ 
+ 	)
+ 
+ 955 #iâdeà
+ YYDEBUG
+ 
+ 
+ 956 
+ 	#YYDEBUG
+  1
+ 
+ 	)
+ 
+ 962 
+ 	gyydebug
+ ;
+ 
+ 967 
+ 	#YYFLAG
+  (-1000)
+ 
+ 	)
+ 
+ 972 
+ YYSTYPE
+  *
+ 	gyyv
+ ;
+ 
+ 973 *
+ 	gyys
+ ;
+ 
+ 975 
+ YYSTYPE
+  *
+ 	gyypv
+ ;
+ 
+ 976 *
+ 	gyyps
+ ;
+ 
+ 978 
+ 	gyy¡©e
+ ;
+ 
+ 979 
+ 	gyytmp
+ ;
+ 
+ 981 
+ 	gyyüs
+ ;
+ 
+ 983 
+ 	gyy”ræag
+ ;
+ 
+ 984 
+ 	gyych¬
+ ;
+ 
+ 991 
+ 	$yy·r£
+ ()
+ 
+ 993 
+ YYSTYPE
+  *
+ yypvt
+ ;
+ 
+ 994 
+ yymaxd•th
+  = 
+ YYMAXDEPTH
+ ;
+ 
+ 999 #ifdeà
+ BWGC
+ 
+ 
+ 1000 
+ yyv
+  = (
+ YYSTYPE
+ *)
+ 	`gc_m®loc
+ (
+ yymaxd•th
+ *(YYSTYPE));
+ 
+ 1001 
+ yys
+  = (*)
+ 	`gc_m®loc
+ (
+ yymaxd•th
+ *());
+ 
+ 1003 
+ yyv
+  = (
+ YYSTYPE
+ *)
+ 	`m®loc
+ (
+ yymaxd•th
+ *(YYSTYPE));
+ 
+ 1004 
+ yys
+  = (*)
+ 	`m®loc
+ (
+ yymaxd•th
+ *());
+ 
+ 1006 ià(!
+ yyv
+  || !
+ yys
+ )
+ 
+ 1008 
+ 	`yy”rÜ
+ ( "out of memory" );
+ 
+ 1011 
+ yypv
+  = &
+ yyv
+ [-1];
+ 
+ 1012 
+ yyps
+  = &
+ yys
+ [-1];
+ 
+ 1013 
+ yy¡©e
+  = 0;
+ 
+ 1014 
+ yytmp
+  = 0;
+ 
+ 1015 
+ yyüs
+  = 0;
+ 
+ 1016 
+ yy”ræag
+  = 0;
+ 
+ 1017 
+ yych¬
+  = -1;
+ 
+ 1019 
+ yy¡ack
+ ;
+ 
+ 1021 
+ YYSTYPE
+  *
+ yy_pv
+ ;
+ 
+ 1022 *
+ yy_ps
+ ;
+ 
+ 1023 
+ yy_¡©e
+ ;
+ 
+ 1024 
+ yy_n
+ ;
+ 
+ 1030 
+ yyÃw¡©e
+ :
+ 
+ 1031 
+ yy_pv
+  = 
+ yypv
+ ;
+ 
+ 1032 
+ yy_ps
+  = 
+ yyps
+ ;
+ 
+ 1033 
+ yy_¡©e
+  = 
+ yy¡©e
+ ;
+ 
+ 1034 
+ yy_Ãw¡©e
+ ;
+ 
+ 1040 
+ yy¡ack
+ :
+ 
+ 1041 
+ yy_pv
+  = 
+ yypv
+ ;
+ 
+ 1042 
+ yy_ps
+  = 
+ yyps
+ ;
+ 
+ 1043 
+ yy_¡©e
+  = 
+ yy¡©e
+ ;
+ 
+ 1048 
+ yy_¡ack
+ :
+ 
+ 1052 #ià
+ YYDEBUG
+ 
+ 
+ 1059 iàÐ
+ yydebug
+  )
+ 
+ 1061 
+ yy_i
+ ;
+ 
+ 1063 ()
+ 	`´štf
+ Ð"S‹ %d,ok’ ", 
+ yy_¡©e
+  );
+ 
+ 1064 iàÐ
+ yych¬
+  == 0 )
+ 
+ 1065 ()
+ 	`´štf
+ ( "end-of-file\n" );
+ 
+ 1066 iàÐ
+ yych¬
+  < 0 )
+ 
+ 1067 ()
+ 	`´štf
+ ( "-none-\n" );
+ 
+ 1070  
+ yy_i
+  = 0; 
+ yytoks
+ [yy_i].
+ t_v®
+  >= 0;
+ 
+ 1071 
+ yy_i
+ ++ )
+ 
+ 1073 iàÐ
+ yytoks
+ [
+ yy_i
+ ].
+ t_v®
+  =ð
+ yych¬
+  )
+ 
+ 1076 ()
+ 	`´štf
+ Ð"%s\n", 
+ yytoks
+ [
+ yy_i
+ ].
+ t_Çme
+  );
+ 
+ 1080 iàÐ++
+ yy_ps
+  >ð&
+ yys
+ [ 
+ yymaxd•th
+  ] )
+ 
+ 1086 
+ yyps_šdex
+  = (
+ yy_ps
+  - 
+ yys
+ );
+ 
+ 1087 
+ yypv_šdex
+  = (
+ yy_pv
+  - 
+ yyv
+ );
+ 
+ 1088 
+ yypvt_šdex
+  = (
+ yypvt
+  - 
+ yyv
+ );
+ 
+ 1089 
+ yymaxd•th
+  +ð
+ YYMAXDEPTH
+ ;
+ 
+ 1090 #ifdeà
+ BWGC
+ 
+ 
+ 1091 
+ yyv
+  = (
+ YYSTYPE
+ *)
+ 	`gc_»®loc
+ ((*)yyv,
+ 
+ 1092 
+ yymaxd•th
+  * (
+ YYSTYPE
+ ));
+ 
+ 1093 
+ yys
+  = (*)
+ 	`gc_»®loc
+ ((*)yys,
+ 
+ 1094 
+ yymaxd•th
+  * ());
+ 
+ 1096 
+ yyv
+  = (
+ YYSTYPE
+ *)
+ 	`»®loc
+ ((*)yyv,
+ 
+ 1097 
+ yymaxd•th
+  * (
+ YYSTYPE
+ ));
+ 
+ 1098 
+ yys
+  = (*)
+ 	`»®loc
+ ((*)yys,
+ 
+ 1099 
+ yymaxd•th
+  * ());
+ 
+ 1101 ià(!
+ yyv
+  || !
+ yys
+ )
+ 
+ 1103 
+ 	`yy”rÜ
+ ( "yacc stack overflow" );
+ 
+ 1106 
+ yy_ps
+  = 
+ yys
+  + 
+ yyps_šdex
+ ;
+ 
+ 1107 
+ yy_pv
+  = 
+ yyv
+  + 
+ yypv_šdex
+ ;
+ 
+ 1108 
+ yypvt
+  = 
+ yyv
+  + 
+ yypvt_šdex
+ ;
+ 
+ 1110 *
+ yy_ps
+  = 
+ yy_¡©e
+ ;
+ 
+ 1111 *++
+ yy_pv
+  = 
+ yyv®
+ ;
+ 
+ 1116 
+ yy_Ãw¡©e
+ :
+ 
+ 1117 iàÐÐ
+ yy_n
+  = 
+ yy·ù
+ [ 
+ yy_¡©e
+  ] ) <ð
+ YYFLAG
+  )
+ 
+ 1118 
+ yydeçuÉ
+ ;
+ 
+ 1119 #ià
+ YYDEBUG
+ 
+ 
+ 1123 
+ yytmp
+  = 
+ yych¬
+  < 0;
+ 
+ 1125 iàÐÐ
+ yych¬
+  < 0 ) && ( ( yych¬ = 
+ 	`yyËx
+ () ) < 0 ) )
+ 
+ 1126 
+ yych¬
+  = 0;
+ 
+ 1127 #ià
+ YYDEBUG
+ 
+ 
+ 1128 iàÐ
+ yydebug
+  && 
+ yytmp
+  )
+ 
+ 1130 
+ yy_i
+ ;
+ 
+ 1132 ()
+ 	`´štf
+ ( "Receivedoken " );
+ 
+ 1133 iàÐ
+ yych¬
+  == 0 )
+ 
+ 1134 ()
+ 	`´štf
+ ( "end-of-file\n" );
+ 
+ 1135 iàÐ
+ yych¬
+  < 0 )
+ 
+ 1136 ()
+ 	`´štf
+ ( "-none-\n" );
+ 
+ 1139  
+ yy_i
+  = 0; 
+ yytoks
+ [yy_i].
+ t_v®
+  >= 0;
+ 
+ 1140 
+ yy_i
+ ++ )
+ 
+ 1142 iàÐ
+ yytoks
+ [
+ yy_i
+ ].
+ t_v®
+  =ð
+ yych¬
+  )
+ 
+ 1145 ()
+ 	`´štf
+ Ð"%s\n", 
+ yytoks
+ [
+ yy_i
+ ].
+ t_Çme
+  );
+ 
+ 1149 iàÐÐÐ
+ yy_n
+  +ð
+ yych¬
+  ) < 0 ) || ( yy_À>ð
+ YYLAST
+  ) )
+ 
+ 1150 
+ yydeçuÉ
+ ;
+ 
+ 1151 iàÐ
+ yychk
+ [ 
+ yy_n
+  = 
+ yyaù
+ [ yy_À] ] =ð
+ yych¬
+  )
+ 
+ 1153 
+ yych¬
+  = -1;
+ 
+ 1154 
+ yyv®
+  = 
+ yylv®
+ ;
+ 
+ 1155 
+ yy_¡©e
+  = 
+ yy_n
+ ;
+ 
+ 1156 iàÐ
+ yy”ræag
+  > 0 )
+ 
+ 1157 
+ yy”ræag
+ --;
+ 
+ 1158 
+ yy_¡ack
+ ;
+ 
+ 1161 
+ yydeçuÉ
+ :
+ 
+ 1162 iàÐÐ
+ yy_n
+  = 
+ yydef
+ [ 
+ yy_¡©e
+  ] ) == -2 )
+ 
+ 1164 #ià
+ YYDEBUG
+ 
+ 
+ 1165 
+ yytmp
+  = 
+ yych¬
+  < 0;
+ 
+ 1167 iàÐÐ
+ yych¬
+  < 0 ) && ( ( yych¬ = 
+ 	`yyËx
+ () ) < 0 ) )
+ 
+ 1168 
+ yych¬
+  = 0;
+ 
+ 1169 #ià
+ YYDEBUG
+ 
+ 
+ 1170 iàÐ
+ yydebug
+  && 
+ yytmp
+  )
+ 
+ 1172 
+ yy_i
+ ;
+ 
+ 1174 ()
+ 	`´štf
+ ( "Receivedoken " );
+ 
+ 1175 iàÐ
+ yych¬
+  == 0 )
+ 
+ 1176 ()
+ 	`´štf
+ ( "end-of-file\n" );
+ 
+ 1177 iàÐ
+ yych¬
+  < 0 )
+ 
+ 1178 ()
+ 	`´štf
+ ( "-none-\n" );
+ 
+ 1181  
+ yy_i
+  = 0;
+ 
+ 1182 
+ yytoks
+ [
+ yy_i
+ ].
+ t_v®
+  >= 0;
+ 
+ 1183 
+ yy_i
+ ++ )
+ 
+ 1185 iàÐ
+ yytoks
+ [
+ yy_i
+ ].
+ t_v®
+ 
+ 
+ 1186 =ð
+ yych¬
+  )
+ 
+ 1191 ()
+ 	`´štf
+ Ð"%s\n", 
+ yytoks
+ [
+ yy_i
+ ].
+ t_Çme
+  );
+ 
+ 1199 *
+ yyxi
+  = 
+ yyexÿ
+ ;
+ 
+ 1201  ( *
+ yyxi
+  != -1 ) ||
+ 
+ 1202 Ð
+ yyxi
+ [1] !ð
+ yy_¡©e
+  ) )
+ 
+ 1204 
+ yyxi
+  += 2;
+ 
+ 1206  ( *(
+ yyxi
+  += 2) >= 0 ) &&
+ 
+ 1207 Ð*
+ yyxi
+  !ð
+ yych¬
+  ) )
+ 
+ 1209 iàÐÐ
+ yy_n
+  = 
+ yyxi
+ [1] ) < 0 )
+ 
+ 1210 
+ YYACCEPT
+ ;
+ 
+ 1217 iàÐ
+ yy_n
+  == 0 )
+ 
+ 1220  
+ yy”ræag
+  )
+ 
+ 1223 
+ 	`yy”rÜ
+ ( "syntaxƒrror" );
+ 
+ 1224 
+ sk_š™
+ ;
+ 
+ 1225 
+ yy”¾ab
+ :
+ 
+ 1230 
+ yy_pv
+  = 
+ yypv
+ ;
+ 
+ 1231 
+ yy_ps
+  = 
+ yyps
+ ;
+ 
+ 1232 
+ yy_¡©e
+  = 
+ yy¡©e
+ ;
+ 
+ 1233 
+ yyüs
+ ++;
+ 
+ 1234 
+ sk_š™
+ :
+ 
+ 1238 
+ yy”ræag
+  = 3;
+ 
+ 1243  
+ yy_ps
+  >ð
+ yys
+  )
+ 
+ 1245 
+ yy_n
+  = 
+ yy·ù
+ [ *
+ yy_ps
+  ] + 
+ YYERRCODE
+ ;
+ 
+ 1246 iàÐ
+ yy_n
+  >ð0 && yy_À< 
+ YYLAST
+  &&
+ 
+ 1247 
+ yychk
+ [
+ yyaù
+ [
+ yy_n
+ ]] =ð
+ YYERRCODE
+ ) {
+ 
+ 1251 
+ yy_¡©e
+  = 
+ yyaù
+ [ 
+ yy_n
+  ];
+ 
+ 1252 
+ yy_¡ack
+ ;
+ 
+ 1258 #ià
+ YYDEBUG
+ 
+ 
+ 1259 
+ 	#_POP_
+  "E¼Ü„ecov”y…Ý ¡©%d, uncov” ¡©%d\n"
+ 
+ 	)
+ 
+ 1260 iàÐ
+ yydebug
+  )
+ 
+ 1261 ()
+ 	`´štf
+ Ð
+ _POP_
+ , *
+ yy_ps
+ ,
+ 
+ 1262 
+ yy_ps
+ [-1] );
+ 
+ 1263 #undeà
+ _POP_
+ 
+ 
+ 1265 
+ yy_ps
+ --;
+ 
+ 1266 
+ yy_pv
+ --;
+ 
+ 1272 
+ YYABORT
+ ;
+ 
+ 1274 #ià
+ YYDEBUG
+ 
+ 
+ 1282 iàÐ
+ yydebug
+  )
+ 
+ 1284 
+ yy_i
+ ;
+ 
+ 1286 ()
+ 	`´štf
+ ( "Error„ecovery discards " );
+ 
+ 1287 iàÐ
+ yych¬
+  == 0 )
+ 
+ 1288 ()
+ 	`´štf
+ ( "tokenƒnd-of-file\n" );
+ 
+ 1289 iàÐ
+ yych¬
+  < 0 )
+ 
+ 1290 ()
+ 	`´štf
+ ( "token -none-\n" );
+ 
+ 1293  
+ yy_i
+  = 0;
+ 
+ 1294 
+ yytoks
+ [
+ yy_i
+ ].
+ t_v®
+  >= 0;
+ 
+ 1295 
+ yy_i
+ ++ )
+ 
+ 1297 iàÐ
+ yytoks
+ [
+ yy_i
+ ].
+ t_v®
+ 
+ 
+ 1298 =ð
+ yych¬
+  )
+ 
+ 1303 ()
+ 	`´štf
+ ( "token %s\n",
+ 
+ 1304 
+ yytoks
+ [
+ yy_i
+ ].
+ t_Çme
+  );
+ 
+ 1308 iàÐ
+ yych¬
+  == 0 )
+ 
+ 1309 
+ YYABORT
+ ;
+ 
+ 1310 
+ yych¬
+  = -1;
+ 
+ 1311 
+ yy_Ãw¡©e
+ ;
+ 
+ 1318 #ià
+ YYDEBUG
+ 
+ 
+ 1324 iàÐ
+ yydebug
+  )
+ 
+ 1325 ()
+ 	`´štf
+ ( "Reduce by (%d) \"%s\"\n",
+ 
+ 1326 
+ yy_n
+ , 
+ yy»ds
+ [ yy_n ] );
+ 
+ 1328 
+ yytmp
+  = 
+ yy_n
+ ;
+ 
+ 1329 
+ yypvt
+  = 
+ yy_pv
+ ;
+ 
+ 1344 
+ yy_Ën
+  = 
+ yyr2
+ [ 
+ yy_n
+  ];
+ 
+ 1346 iàÐ!Ð
+ yy_Ën
+  & 01 ) )
+ 
+ 1348 
+ yy_Ën
+  >>= 1;
+ 
+ 1349 
+ yyv®
+  = ( 
+ yy_pv
+  -ð
+ yy_Ën
+  )[1];
+ 
+ 1350 
+ yy_¡©e
+  = 
+ yypgo
+ [ 
+ yy_n
+  = 
+ yyr1
+ [ yy_n ] ] +
+ 
+ 1351 *Ð
+ yy_ps
+  -ð
+ yy_Ën
+  ) + 1;
+ 
+ 1352 iàÐ
+ yy_¡©e
+  >ð
+ YYLAST
+  ||
+ 
+ 1353 
+ yychk
+ [ 
+ yy_¡©e
+  =
+ 
+ 1354 
+ yyaù
+ [ 
+ yy_¡©e
+  ] ] !ð-
+ yy_n
+  )
+ 
+ 1356 
+ yy_¡©e
+  = 
+ yyaù
+ [ 
+ yypgo
+ [ 
+ yy_n
+  ] ];
+ 
+ 1358 
+ yy_¡ack
+ ;
+ 
+ 1360 
+ yy_Ën
+  >>= 1;
+ 
+ 1361 
+ yyv®
+  = ( 
+ yy_pv
+  -ð
+ yy_Ën
+  )[1];
+ 
+ 1362 
+ yy_¡©e
+  = 
+ yypgo
+ [ 
+ yy_n
+  = 
+ yyr1
+ [ yy_n ] ] +
+ 
+ 1363 *Ð
+ yy_ps
+  -ð
+ yy_Ën
+  ) + 1;
+ 
+ 1364 iàÐ
+ yy_¡©e
+  >ð
+ YYLAST
+  ||
+ 
+ 1365 
+ yychk
+ [ 
+ yy_¡©e
+  = 
+ yyaù
+ [ yy_¡©] ] !ð-
+ yy_n
+  )
+ 
+ 1367 
+ yy_¡©e
+  = 
+ yyaù
+ [ 
+ yypgo
+ [ 
+ yy_n
+  ] ];
+ 
+ 1371 
+ yy¡©e
+  = 
+ yy_¡©e
+ ;
+ 
+ 1372 
+ yyps
+  = 
+ yy_ps
+ ;
+ 
+ 1373 
+ yypv
+  = 
+ yy_pv
+ ;
+ 
+ 1378  
+ yytmp
+  )
+ 
+ 1384 #ià
+ 	`defšed
+ (
+ YYDEBUG
+ è&& defšed(
+ DEBUGGING
+ )
+ 
+ 1385 
+ yydebug
+  = (
+ debug
+  & 1);
+ 
+ 1390 { ià(
+ š_ev®
+ )
+ 
+ 1391 
+ ev®_roÙ
+  = 
+ 	`block_h—d
+ (
+ yypvt
+ [-0].
+ cmdv®
+ );
+ 
+ 1393 
+ maš_roÙ
+  = 
+ 	`block_h—d
+ (
+ yypvt
+ [-0].
+ cmdv®
+ ); } ;
+ 
+ 1396 { 
+ yyv®
+ .
+ compv®
+ .
+ comp_Œue
+  = 
+ yypvt
+ [-2].
+ cmdv®
+ ; yyv®.compv®.
+ comp_®t
+  = yypvt[-0].cmdval; } ;
+ 
+ 1399 { 
+ yyv®
+ .
+ compv®
+ .
+ comp_Œue
+  = 
+ yypvt
+ [-1].
+ cmdv®
+ ; yyv®.compv®.
+ comp_®t
+  = yypvt[-0].cmdval; } ;
+ 
+ 1402 { 
+ yyv®
+ .
+ cmdv®
+  = 
+ NuÎcmd
+ ; } ;
+ 
+ 1405 { 
+ yyv®
+ .
+ cmdv®
+  = 
+ yypvt
+ [-0].cmdval; } ;
+ 
+ 1408 { 
+ cmdlše
+  = 
+ yypvt
+ [-4].
+ iv®
+ ;
+ 
+ 1409 
+ yyv®
+ .
+ cmdv®
+  = 
+ 	`make_ccmd
+ (
+ C_ELSIF
+ ,
+ yypvt
+ [-2].
+ ¬g
+ ,yypvt[-0].
+ compv®
+ ); } ;
+ 
+ 1412 { 
+ yyv®
+ .
+ cmdv®
+  = 
+ 	`block_h—d
+ (
+ yypvt
+ [-1].cmdval);
+ 
+ 1413 ià(
+ §ve¡ack
+ ->
+ ¬y_fžl
+  > 
+ yypvt
+ [-2].
+ iv®
+ )
+ 
+ 1414 
+ 	`»¡Ü–i¡
+ (
+ yypvt
+ [-2].
+ iv®
+ ); } ;
+ 
+ 1417 { 
+ yyv®
+ .
+ iv®
+  = 
+ §ve¡ack
+ ->
+ ¬y_fžl
+ ; } ;
+ 
+ 1420 { 
+ yyv®
+ .
+ cmdv®
+  = 
+ NuÎcmd
+ ; } ;
+ 
+ 1423 { 
+ yyv®
+ .
+ cmdv®
+  = 
+ 	`­³nd_lše
+ (
+ yypvt
+ [-1].cmdval,yypvt[-0].cmdval); } ;
+ 
+ 1426 { 
+ yyv®
+ .
+ cmdv®
+  = 
+ NuÎcmd
+ ; } ;
+ 
+ 1429 { 
+ yyv®
+ .
+ cmdv®
+  = 
+ 	`add_Ïb–
+ (
+ yypvt
+ [-1].
+ cv®
+ ,yypvt[-0].cmdval); } ;
+ 
+ 1432 { ià(
+ yypvt
+ [-1].
+ cv®
+  !ð
+ NuÎch
+ ) {
+ 
+ 1433 
+ yyv®
+ .
+ cmdv®
+  = 
+ 	`add_Ïb–
+ (
+ yypvt
+ [-1].
+ cv®
+ , 
+ 	`make_acmd
+ (
+ C_EXPR
+ , 
+ NuΡab
+ ,
+ 
+ 1434 
+ Nuάg
+ , Nullarg) );
+ 
+ 1437 
+ yyv®
+ .
+ cmdv®
+  = 
+ NuÎcmd
+ ;
+ 
+ 1438 
+ cmdlše
+  = 
+ NOLINE
+ ;
+ 
+ 1442 { 
+ yyv®
+ .
+ cmdv®
+  = 
+ 	`add_Ïb–
+ (
+ yypvt
+ [-2].
+ cv®
+ ,yypvt[-1].cmdval); } ;
+ 
+ 1445 { 
+ yyv®
+ .
+ cmdv®
+  = 
+ NuÎcmd
+ ; } ;
+ 
+ 1448 { 
+ yyv®
+ .
+ cmdv®
+  = 
+ 	`make_acmd
+ (
+ C_EXPR
+ , 
+ NuΡab
+ , 
+ yypvt
+ [-0].
+ ¬g
+ , 
+ Nuάg
+ ); } ;
+ 
+ 1451 { 
+ yyv®
+ .
+ cmdv®
+  = 
+ 	`addcÚd
+ (
+ 
+ 1452 
+ 	`make_acmd
+ (
+ C_EXPR
+ , 
+ NuΡab
+ , 
+ Nuάg
+ , 
+ yypvt
+ [-2].
+ ¬g
+ ), yypvt[-0].arg); } ;
+ 
+ 1455 { 
+ yyv®
+ .
+ cmdv®
+  = 
+ 	`addcÚd
+ (
+ 	`šv”t
+ (
+ 
+ 1456 
+ 	`make_acmd
+ (
+ C_EXPR
+ , 
+ NuΡab
+ , 
+ Nuάg
+ , 
+ yypvt
+ [-2].
+ ¬g
+ )), yypvt[-0].arg); } ;
+ 
+ 1459 { 
+ yyv®
+ .
+ cmdv®
+  = 
+ 	`addloÝ
+ (
+ 
+ 1460 
+ 	`make_acmd
+ (
+ C_EXPR
+ , 
+ NuΡab
+ , 
+ Nuάg
+ , 
+ yypvt
+ [-2].
+ ¬g
+ ), yypvt[-0].arg); } ;
+ 
+ 1463 { 
+ yyv®
+ .
+ cmdv®
+  = 
+ 	`addloÝ
+ (
+ 	`šv”t
+ (
+ 
+ 1464 
+ 	`make_acmd
+ (
+ C_EXPR
+ , 
+ NuΡab
+ , 
+ Nuάg
+ , 
+ yypvt
+ [-2].
+ ¬g
+ )), yypvt[-0].arg); } ;
+ 
+ 1467 { 
+ cmdlše
+  = 
+ yypvt
+ [-4].
+ iv®
+ ;
+ 
+ 1468 
+ yyv®
+ .
+ cmdv®
+  = 
+ 	`make_icmd
+ (
+ C_IF
+ ,
+ yypvt
+ [-2].
+ ¬g
+ ,yypvt[-0].
+ compv®
+ ); } ;
+ 
+ 1471 { 
+ cmdlše
+  = 
+ yypvt
+ [-4].
+ iv®
+ ;
+ 
+ 1472 
+ yyv®
+ .
+ cmdv®
+  = 
+ 	`šv”t
+ (
+ 	`make_icmd
+ (
+ C_IF
+ ,
+ yypvt
+ [-2].
+ ¬g
+ ,yypvt[-0].
+ compv®
+ )); } ;
+ 
+ 1475 { 
+ cmdlše
+  = 
+ yypvt
+ [-2].
+ iv®
+ ;
+ 
+ 1476 
+ yyv®
+ .
+ cmdv®
+  = 
+ 	`make_ccmd
+ (
+ C_IF
+ ,
+ 	`cmd_to_¬g
+ (
+ yypvt
+ [-1].cmdv®),yypvt[-0].
+ compv®
+ ); } ;
+ 
+ 1479 { 
+ cmdlše
+  = 
+ yypvt
+ [-2].
+ iv®
+ ;
+ 
+ 1480 
+ yyv®
+ .
+ cmdv®
+  = 
+ 	`šv”t
+ (
+ 	`make_ccmd
+ (
+ C_IF
+ ,
+ 	`cmd_to_¬g
+ (
+ yypvt
+ [-1].cmdv®),yypvt[-0].
+ compv®
+ )); } ;
+ 
+ 1483 { 
+ cmdlše
+  = 
+ yypvt
+ [-4].
+ iv®
+ ;
+ 
+ 1484 
+ yyv®
+ .
+ cmdv®
+  = 
+ 	`wÝt
+ (
+ 	`add_Ïb–
+ (
+ yypvt
+ [-5].
+ cv®
+ ,
+ 
+ 1485 
+ 	`make_ccmd
+ (
+ C_WHILE
+ ,
+ yypvt
+ [-2].
+ ¬g
+ ,yypvt[-0].
+ compv®
+ ) )); } ;
+ 
+ 1488 { 
+ cmdlše
+  = 
+ yypvt
+ [-4].
+ iv®
+ ;
+ 
+ 1489 
+ yyv®
+ .
+ cmdv®
+  = 
+ 	`wÝt
+ (
+ 	`add_Ïb–
+ (
+ yypvt
+ [-5].
+ cv®
+ ,
+ 
+ 1490 
+ 	`šv”t
+ (
+ 	`make_ccmd
+ (
+ C_WHILE
+ ,
+ yypvt
+ [-2].
+ ¬g
+ ,yypvt[-0].
+ compv®
+ )) )); } ;
+ 
+ 1493 { 
+ cmdlše
+  = 
+ yypvt
+ [-2].
+ iv®
+ ;
+ 
+ 1494 
+ yyv®
+ .
+ cmdv®
+  = 
+ 	`wÝt
+ (
+ 	`add_Ïb–
+ (
+ yypvt
+ [-3].
+ cv®
+ ,
+ 
+ 1495 
+ 	`make_ccmd
+ (
+ C_WHILE
+ , 
+ 	`cmd_to_¬g
+ (
+ yypvt
+ [-1].
+ cmdv®
+ ),yypvt[-0].
+ compv®
+ ) )); } ;
+ 
+ 1498 { 
+ cmdlše
+  = 
+ yypvt
+ [-2].
+ iv®
+ ;
+ 
+ 1499 
+ yyv®
+ .
+ cmdv®
+  = 
+ 	`wÝt
+ (
+ 	`add_Ïb–
+ (
+ yypvt
+ [-3].
+ cv®
+ ,
+ 
+ 1500 
+ 	`šv”t
+ (
+ 	`make_ccmd
+ (
+ C_WHILE
+ , 
+ 	`cmd_to_¬g
+ (
+ yypvt
+ [-1].
+ cmdv®
+ ),yypvt[-0].
+ compv®
+ )) )); } ;
+ 
+ 1503 { 
+ cmdlše
+  = 
+ yypvt
+ [-5].
+ iv®
+ ;
+ 
+ 1516 ià(
+ yypvt
+ [-2].
+ ¬g
+ ->
+ ¬g_ty³
+  !ð
+ O_ARRAY
+ ) {
+ 
+ 1517 
+ sü¡ab
+  = 
+ 	`¯dd
+ (
+ 	`g’¡ab
+ ());
+ 
+ 1518 
+ yyv®
+ .
+ cmdv®
+  = 
+ 	`­³nd_lše
+ (
+ 
+ 1519 
+ 	`make_acmd
+ (
+ C_EXPR
+ , 
+ NuΡab
+ ,
+ 
+ 1520 
+ 	`l
+ (
+ 	`make_Ý
+ (
+ O_ASSIGN
+ ,2,
+ 
+ 1521 
+ 	`li¡ish
+ (
+ 	`make_Ý
+ (
+ O_ARRAY
+ , 1,
+ 
+ 1522 
+ 	`¡ab2¬g
+ (
+ A_STAB
+ ,
+ sü¡ab
+ ),
+ 
+ 1523 
+ Nuάg
+ ,Nullarg )),
+ 
+ 1524 
+ 	`li¡ish
+ (
+ 	`make_li¡
+ (
+ yypvt
+ [-2].
+ ¬g
+ )),
+ 
+ 1525 
+ Nuάg
+ )),
+ 
+ 1526 
+ Nuάg
+ ),
+ 
+ 1527 
+ 	`wÝt
+ (
+ 	`ov”
+ (
+ yypvt
+ [-4].
+ ¡abv®
+ ,
+ 	`add_Ïb–
+ (yypvt[-6].
+ cv®
+ ,
+ 
+ 1528 
+ 	`make_ccmd
+ (
+ C_WHILE
+ ,
+ 
+ 1529 
+ 	`make_Ý
+ (
+ O_ARRAY
+ , 1,
+ 
+ 1530 
+ 	`¡ab2¬g
+ (
+ A_STAB
+ ,
+ sü¡ab
+ ),
+ 
+ 1531 
+ Nuάg
+ ,Nullarg ),
+ 
+ 1532 
+ yypvt
+ [-0].
+ compv®
+ )))));
+ 
+ 1533 
+ yyv®
+ .
+ cmdv®
+ ->
+ c_lše
+  = 
+ yypvt
+ [-5].
+ iv®
+ ;
+ 
+ 1534 
+ yyv®
+ .
+ cmdv®
+ ->
+ c_h—d
+ ->
+ c_lše
+  = 
+ yypvt
+ [-5].
+ iv®
+ ;
+ 
+ 1537 
+ yyv®
+ .
+ cmdv®
+  = 
+ 	`wÝt
+ (
+ 	`ov”
+ (
+ yypvt
+ [-4].
+ ¡abv®
+ ,
+ 	`add_Ïb–
+ (yypvt[-6].
+ cv®
+ ,
+ 
+ 1538 
+ 	`make_ccmd
+ (
+ C_WHILE
+ ,
+ yypvt
+ [-2].
+ ¬g
+ ,yypvt[-0].
+ compv®
+ ) )));
+ 
+ 1543 { 
+ cmdlše
+  = 
+ yypvt
+ [-4].
+ iv®
+ ;
+ 
+ 1544 ià(
+ yypvt
+ [-2].
+ ¬g
+ ->
+ ¬g_ty³
+  !ð
+ O_ARRAY
+ ) {
+ 
+ 1545 
+ sü¡ab
+  = 
+ 	`¯dd
+ (
+ 	`g’¡ab
+ ());
+ 
+ 1546 
+ yyv®
+ .
+ cmdv®
+  = 
+ 	`­³nd_lše
+ (
+ 
+ 1547 
+ 	`make_acmd
+ (
+ C_EXPR
+ , 
+ NuΡab
+ ,
+ 
+ 1548 
+ 	`l
+ (
+ 	`make_Ý
+ (
+ O_ASSIGN
+ ,2,
+ 
+ 1549 
+ 	`li¡ish
+ (
+ 	`make_Ý
+ (
+ O_ARRAY
+ , 1,
+ 
+ 1550 
+ 	`¡ab2¬g
+ (
+ A_STAB
+ ,
+ sü¡ab
+ ),
+ 
+ 1551 
+ Nuάg
+ ,Nullarg )),
+ 
+ 1552 
+ 	`li¡ish
+ (
+ 	`make_li¡
+ (
+ yypvt
+ [-2].
+ ¬g
+ )),
+ 
+ 1553 
+ Nuάg
+ )),
+ 
+ 1554 
+ Nuάg
+ ),
+ 
+ 1555 
+ 	`wÝt
+ (
+ 	`ov”
+ (
+ def¡ab
+ ,
+ 	`add_Ïb–
+ (
+ yypvt
+ [-5].
+ cv®
+ ,
+ 
+ 1556 
+ 	`make_ccmd
+ (
+ C_WHILE
+ ,
+ 
+ 1557 
+ 	`make_Ý
+ (
+ O_ARRAY
+ , 1,
+ 
+ 1558 
+ 	`¡ab2¬g
+ (
+ A_STAB
+ ,
+ sü¡ab
+ ),
+ 
+ 1559 
+ Nuάg
+ ,Nullarg ),
+ 
+ 1560 
+ yypvt
+ [-0].
+ compv®
+ )))));
+ 
+ 1561 
+ yyv®
+ .
+ cmdv®
+ ->
+ c_lše
+  = 
+ yypvt
+ [-4].
+ iv®
+ ;
+ 
+ 1562 
+ yyv®
+ .
+ cmdv®
+ ->
+ c_h—d
+ ->
+ c_lše
+  = 
+ yypvt
+ [-4].
+ iv®
+ ;
+ 
+ 1565 
+ yyv®
+ .
+ cmdv®
+  = 
+ 	`wÝt
+ (
+ 	`ov”
+ (
+ def¡ab
+ ,
+ 	`add_Ïb–
+ (
+ yypvt
+ [-5].
+ cv®
+ ,
+ 
+ 1566 
+ 	`make_ccmd
+ (
+ C_WHILE
+ ,
+ yypvt
+ [-2].
+ ¬g
+ ,yypvt[-0].
+ compv®
+ ) )));
+ 
+ 1571 { 
+ yyv®
+ .
+ compv®
+ .
+ comp_Œue
+  = 
+ yypvt
+ [-0].
+ cmdv®
+ ;
+ 
+ 1572 
+ yyv®
+ .
+ compv®
+ .
+ comp_®t
+  = 
+ yypvt
+ [-2].
+ cmdv®
+ ;
+ 
+ 1573 
+ cmdlše
+  = 
+ yypvt
+ [-8].
+ iv®
+ ;
+ 
+ 1574 
+ yyv®
+ .
+ cmdv®
+  = 
+ 	`­³nd_lše
+ (
+ yypvt
+ [-6].cmdv®,
+ 	`wÝt
+ (
+ 	`add_Ïb–
+ (yypvt[-9].
+ cv®
+ ,
+ 
+ 1575 
+ 	`make_ccmd
+ (
+ C_WHILE
+ ,
+ yypvt
+ [-4].
+ ¬g
+ ,
+ yyv®
+ .
+ compv®
+ ) ))); } ;
+ 
+ 1578 { 
+ yyv®
+ .
+ cmdv®
+  = 
+ 	`add_Ïb–
+ (
+ yypvt
+ [-1].
+ cv®
+ ,
+ 	`make_ccmd
+ (
+ C_BLOCK
+ ,
+ Nuάg
+ ,yypvt[-0].
+ compv®
+ )); } ;
+ 
+ 1581 { 
+ yyv®
+ .
+ cmdv®
+  = 
+ NuÎcmd
+ ; } ;
+ 
+ 1584 { ()
+ 	`sÿn¡r
+ ("1"); 
+ yyv®
+ .
+ ¬g
+  = 
+ yylv®
+ .arg; } ;
+ 
+ 1587 { 
+ yyv®
+ .
+ cv®
+  = 
+ NuÎch
+ ; } ;
+ 
+ 1590 { 
+ yyv®
+ .
+ iv®
+  = 0; } ;
+ 
+ 1593 { 
+ yyv®
+ .
+ iv®
+  = 0; } ;
+ 
+ 1596 { 
+ yyv®
+ .
+ iv®
+  = 0; } ;
+ 
+ 1599 { ià(
+ 	`¡rEQ
+ (
+ yypvt
+ [-2].
+ cv®
+ ,"stdout"))
+ 
+ 1600 
+ 	`make_fÜm
+ (
+ 	`¡ab’t
+ ("STDOUT",
+ TRUE
+ ),
+ yypvt
+ [-0].
+ fÜmv®
+ );
+ 
+ 1601 ià(
+ 	`¡rEQ
+ (
+ yypvt
+ [-2].
+ cv®
+ ,"stderr"))
+ 
+ 1602 
+ 	`make_fÜm
+ (
+ 	`¡ab’t
+ ("STDERR",
+ TRUE
+ ),
+ yypvt
+ [-0].
+ fÜmv®
+ );
+ 
+ 1604 
+ 	`make_fÜm
+ (
+ 	`¡ab’t
+ (
+ yypvt
+ [-2].
+ cv®
+ ,
+ TRUE
+ ),yypvt[-0].
+ fÜmv®
+ );
+ 
+ 1605 
+ 	`Saãä“
+ (
+ yypvt
+ [-2].
+ cv®
+ ); yypvt[-2].cv® = 
+ NuÎch
+ ; } ;
+ 
+ 1608 { 
+ 	`make_fÜm
+ (
+ 	`¡ab’t
+ ("STDOUT",
+ TRUE
+ ),
+ yypvt
+ [-0].
+ fÜmv®
+ ); } ;
+ 
+ 1611 { 
+ 	`make_sub
+ (
+ yypvt
+ [-1].
+ cv®
+ ,yypvt[-0].
+ cmdv®
+ ); } ;
+ 
+ 1614 { 
+ tmpbuf
+ [256];
+ 
+ 1615 
+ STAB
+  *
+ tmp¡ab
+ ;
+ 
+ 1617 
+ 	`§veh±r
+ (&
+ cur¡ash
+ );
+ 
+ 1618 
+ 	`§ve™em
+ (
+ cur¡Çme
+ );
+ 
+ 1619 
+ 	`¡r_£t
+ (
+ cur¡Çme
+ ,
+ yypvt
+ [-1].
+ cv®
+ );
+ 
+ 1620 
+ 	`¥rštf
+ (
+ tmpbuf
+ ,"'_%s",
+ yypvt
+ [-1].
+ cv®
+ );
+ 
+ 1621 
+ tmp¡ab
+  = 
+ 	`¡ab’t
+ (
+ tmpbuf
+ ,
+ TRUE
+ );
+ 
+ 1622 ià(!
+ 	`¡ab_xhash
+ (
+ tmp¡ab
+ ))
+ 
+ 1623 
+ 	`¡ab_xhash
+ (
+ tmp¡ab
+ èð
+ 	`hÃw
+ (0);
+ 
+ 1624 
+ cur¡ash
+  = 
+ 	`¡ab_xhash
+ (
+ tmp¡ab
+ );
+ 
+ 1625 ià(!
+ cur¡ash
+ ->
+ tbl_Çme
+ )
+ 
+ 1626 
+ cur¡ash
+ ->
+ tbl_Çme
+  = 
+ 	`§ve¡r
+ (
+ yypvt
+ [-1].
+ cv®
+ );
+ 
+ 1627 
+ cur¡ash
+ ->
+ tbl_cÛffsize
+  = 0;
+ 
+ 1628 
+ 	`Saãä“
+ (
+ yypvt
+ [-1].
+ cv®
+ ); yypvt[-1].cv® = 
+ NuÎch
+ ;
+ 
+ 1629 
+ cmdlše
+  = 
+ NOLINE
+ ;
+ 
+ 1633 { 
+ yyv®
+ .
+ ¬g
+  = 
+ yypvt
+ [-0].arg; } ;
+ 
+ 1636 { 
+ yyv®
+ .
+ ¬g
+  = 
+ 	`make_Ý
+ (
+ O_COMMA
+ , 2, 
+ yypvt
+ [-2].¬g, yypvt[-0].¬g, 
+ Nuάg
+ ); } ;
+ 
+ 1639 { 
+ yyv®
+ .
+ ¬g
+  = 
+ yypvt
+ [-0].arg; } ;
+ 
+ 1642 { 
+ yypvt
+ [-2].
+ ¬g
+  = 
+ 	`li¡ish
+ (yypvt[-2].arg);
+ 
+ 1643 ià(
+ yypvt
+ [-2].
+ ¬g
+ ->
+ ¬g_ty³
+  =ð
+ O_ASSIGN
+  && yypvt[-2].¬g->
+ ¬g_Ën
+  == 1)
+ 
+ 1644 
+ yypvt
+ [-2].
+ ¬g
+ ->
+ ¬g_ty³
+  = 
+ O_ITEM
+ ;
+ 
+ 1645 ià(
+ yypvt
+ [-2].
+ ¬g
+ ->
+ ¬g_ty³
+  =ð
+ O_LIST
+ )
+ 
+ 1646 
+ yypvt
+ [-0].
+ ¬g
+  = 
+ 	`li¡ish
+ (yypvt[-0].arg);
+ 
+ 1647 
+ yyv®
+ .
+ ¬g
+  = 
+ 	`l
+ (
+ 	`make_Ý
+ (
+ O_ASSIGN
+ , 2, 
+ yypvt
+ [-2].¬g, yypvt[-0].¬g, 
+ Nuάg
+ )); } ;
+ 
+ 1650 { 
+ yyv®
+ .
+ ¬g
+  = 
+ 	`l
+ (
+ 	`make_Ý
+ (
+ O_POW
+ , 2, 
+ yypvt
+ [-3].¬g, yypvt[-0].¬g, 
+ Nuάg
+ )); } ;
+ 
+ 1653 { 
+ yyv®
+ .
+ ¬g
+  = 
+ 	`l
+ (
+ 	`make_Ý
+ (
+ yypvt
+ [-2].
+ iv®
+ , 2, yypvt[-3].¬g, yypvt[-0].¬g, 
+ Nuάg
+ )); } ;
+ 
+ 1656 { 
+ yyv®
+ .
+ ¬g
+  = 
+ 	`rÿtmaybe
+ (
+ 	`l
+ (
+ 	`make_Ý
+ (
+ yypvt
+ [-2].
+ iv®
+ , 2, yypvt[-3].¬g, yypvt[-0].¬g, 
+ Nuάg
+ )));} ;
+ 
+ 1659 { 
+ yyv®
+ .
+ ¬g
+  = 
+ 	`l
+ (
+ 	`make_Ý
+ (
+ O_LEFT_SHIFT
+ , 2, 
+ yypvt
+ [-3].¬g, yypvt[-0].¬g, 
+ Nuάg
+ )); } ;
+ 
+ 1662 { 
+ yyv®
+ .
+ ¬g
+  = 
+ 	`l
+ (
+ 	`make_Ý
+ (
+ O_RIGHT_SHIFT
+ , 2, 
+ yypvt
+ [-3].¬g, yypvt[-0].¬g, 
+ Nuάg
+ )); } ;
+ 
+ 1665 { 
+ yyv®
+ .
+ ¬g
+  = 
+ 	`l
+ (
+ 	`make_Ý
+ (
+ O_BIT_AND
+ , 2, 
+ yypvt
+ [-3].¬g, yypvt[-0].¬g, 
+ Nuάg
+ )); } ;
+ 
+ 1668 { 
+ yyv®
+ .
+ ¬g
+  = 
+ 	`l
+ (
+ 	`make_Ý
+ (
+ O_XOR
+ , 2, 
+ yypvt
+ [-3].¬g, yypvt[-0].¬g, 
+ Nuάg
+ )); } ;
+ 
+ 1671 { 
+ yyv®
+ .
+ ¬g
+  = 
+ 	`l
+ (
+ 	`make_Ý
+ (
+ O_BIT_OR
+ , 2, 
+ yypvt
+ [-3].¬g, yypvt[-0].¬g, 
+ Nuάg
+ )); } ;
+ 
+ 1674 { 
+ yyv®
+ .
+ ¬g
+  = 
+ 	`make_Ý
+ (
+ O_POW
+ , 2, 
+ yypvt
+ [-2].¬g, yypvt[-0].¬g, 
+ Nuάg
+ ); } ;
+ 
+ 1677 { ià(
+ yypvt
+ [-1].
+ iv®
+  =ð
+ O_REPEAT
+ )
+ 
+ 1678 
+ yypvt
+ [-2].
+ ¬g
+  = 
+ 	`li¡ish
+ (yypvt[-2].arg);
+ 
+ 1679 
+ yyv®
+ .
+ ¬g
+  = 
+ 	`make_Ý
+ (
+ yypvt
+ [-1].
+ iv®
+ , 2, yypvt[-2].¬g, yypvt[-0].¬g, 
+ Nuάg
+ );
+ 
+ 1680 ià(
+ yypvt
+ [-1].
+ iv®
+  =ð
+ O_REPEAT
+ ) {
+ 
+ 1681 ià(
+ yyv®
+ .
+ ¬g
+ [1].
+ ¬g_ty³
+  !ð
+ A_EXPR
+  ||
+ 
+ 1682 
+ yyv®
+ .
+ ¬g
+ [1].
+ ¬g_±r
+ .
+ ¬g_¬g
+ ->
+ ¬g_ty³
+  !ð
+ O_LIST
+ )
+ 
+ 1683 
+ yyv®
+ .
+ ¬g
+ [1].
+ ¬g_æags
+  &ð~
+ AF_ARYOK
+ ;
+ 
+ 1687 { 
+ yyv®
+ .
+ ¬g
+  = 
+ 	`make_Ý
+ (
+ yypvt
+ [-1].
+ iv®
+ , 2, yypvt[-2].¬g, yypvt[-0].¬g, 
+ Nuάg
+ ); } ;
+ 
+ 1690 { 
+ yyv®
+ .
+ ¬g
+  = 
+ 	`make_Ý
+ (
+ O_LEFT_SHIFT
+ , 2, 
+ yypvt
+ [-2].¬g, yypvt[-0].¬g, 
+ Nuάg
+ ); } ;
+ 
+ 1693 { 
+ yyv®
+ .
+ ¬g
+  = 
+ 	`make_Ý
+ (
+ O_RIGHT_SHIFT
+ , 2, 
+ yypvt
+ [-2].¬g, yypvt[-0].¬g, 
+ Nuάg
+ ); } ;
+ 
+ 1696 { 
+ yyv®
+ .
+ ¬g
+  = 
+ 	`make_Ý
+ (
+ yypvt
+ [-1].
+ iv®
+ , 2, yypvt[-2].¬g, yypvt[-0].¬g, 
+ Nuάg
+ ); } ;
+ 
+ 1699 { 
+ yyv®
+ .
+ ¬g
+  = 
+ 	`make_Ý
+ (
+ yypvt
+ [-1].
+ iv®
+ , 2, yypvt[-2].¬g, yypvt[-0].¬g, 
+ Nuάg
+ ); } ;
+ 
+ 1702 { 
+ yyv®
+ .
+ ¬g
+  = 
+ 	`make_Ý
+ (
+ O_BIT_AND
+ , 2, 
+ yypvt
+ [-2].¬g, yypvt[-0].¬g, 
+ Nuάg
+ ); } ;
+ 
+ 1705 { 
+ yyv®
+ .
+ ¬g
+  = 
+ 	`make_Ý
+ (
+ O_XOR
+ , 2, 
+ yypvt
+ [-2].¬g, yypvt[-0].¬g, 
+ Nuάg
+ ); } ;
+ 
+ 1708 { 
+ yyv®
+ .
+ ¬g
+  = 
+ 	`make_Ý
+ (
+ O_BIT_OR
+ , 2, 
+ yypvt
+ [-2].¬g, yypvt[-0].¬g, 
+ Nuάg
+ ); } ;
+ 
+ 1711 { 
+ ¬g4
+  = 
+ Nuάg
+ ;
+ 
+ 1712 
+ yyv®
+ .
+ ¬g
+  = 
+ 	`make_Ý
+ (
+ O_F_OR_R
+ , 4, 
+ yypvt
+ [-2].¬g, yypvt[-0].¬g, 
+ Nuάg
+ ); } ;
+ 
+ 1715 { 
+ yyv®
+ .
+ ¬g
+  = 
+ 	`make_Ý
+ (
+ O_AND
+ , 2, 
+ yypvt
+ [-2].¬g, yypvt[-0].¬g, 
+ Nuάg
+ ); } ;
+ 
+ 1718 { 
+ yyv®
+ .
+ ¬g
+  = 
+ 	`make_Ý
+ (
+ O_OR
+ , 2, 
+ yypvt
+ [-2].¬g, yypvt[-0].¬g, 
+ Nuάg
+ ); } ;
+ 
+ 1721 { 
+ yyv®
+ .
+ ¬g
+  = 
+ 	`make_Ý
+ (
+ O_COND_EXPR
+ , 3, 
+ yypvt
+ [-4].arg, yypvt[-2].arg, yypvt[-0].arg); } ;
+ 
+ 1724 { 
+ yyv®
+ .
+ ¬g
+  = 
+ 	`mod_m©ch
+ (
+ O_MATCH
+ , 
+ yypvt
+ [-2].arg, yypvt[-0].arg); } ;
+ 
+ 1727 { 
+ yyv®
+ .
+ ¬g
+  = 
+ 	`mod_m©ch
+ (
+ O_NMATCH
+ , 
+ yypvt
+ [-2].arg, yypvt[-0].arg); } ;
+ 
+ 1730 { 
+ yyv®
+ .
+ ¬g
+  = 
+ yypvt
+ [-0].arg; } ;
+ 
+ 1733 { 
+ yyv®
+ .
+ ¬g
+  = 
+ 	`make_Ý
+ (
+ O_NEGATE
+ , 1, 
+ yypvt
+ [-0].¬g, 
+ Nuάg
+ , Nullarg); } ;
+ 
+ 1736 { 
+ yyv®
+ .
+ ¬g
+  = 
+ yypvt
+ [-0].arg; } ;
+ 
+ 1739 { 
+ yyv®
+ .
+ ¬g
+  = 
+ 	`make_Ý
+ (
+ O_NOT
+ , 1, 
+ yypvt
+ [-0].¬g, 
+ Nuάg
+ , Nullarg); } ;
+ 
+ 1742 { 
+ yyv®
+ .
+ ¬g
+  = 
+ 	`make_Ý
+ (
+ O_COMPLEMENT
+ , 1, 
+ yypvt
+ [-0].¬g, 
+ Nuάg
+ , Nullarg);} ;
+ 
+ 1745 { 
+ yyv®
+ .
+ ¬g
+  = 
+ 	`addæags
+ (1, 
+ AF_POST
+ |
+ AF_UP
+ ,
+ 
+ 1746 
+ 	`l
+ (
+ 	`make_Ý
+ (
+ O_ITEM
+ ,1,
+ yypvt
+ [-1].
+ ¬g
+ ,
+ Nuάg
+ ,Nullarg))); } ;
+ 
+ 1749 { 
+ yyv®
+ .
+ ¬g
+  = 
+ 	`addæags
+ (1, 
+ AF_POST
+ ,
+ 
+ 1750 
+ 	`l
+ (
+ 	`make_Ý
+ (
+ O_ITEM
+ ,1,
+ yypvt
+ [-1].
+ ¬g
+ ,
+ Nuάg
+ ,Nullarg))); } ;
+ 
+ 1753 { 
+ yyv®
+ .
+ ¬g
+  = 
+ 	`addæags
+ (1, 
+ AF_PRE
+ |
+ AF_UP
+ ,
+ 
+ 1754 
+ 	`l
+ (
+ 	`make_Ý
+ (
+ O_ITEM
+ ,1,
+ yypvt
+ [-0].
+ ¬g
+ ,
+ Nuάg
+ ,Nullarg))); } ;
+ 
+ 1757 { 
+ yyv®
+ .
+ ¬g
+  = 
+ 	`addæags
+ (1, 
+ AF_PRE
+ ,
+ 
+ 1758 
+ 	`l
+ (
+ 	`make_Ý
+ (
+ O_ITEM
+ ,1,
+ yypvt
+ [-0].
+ ¬g
+ ,
+ Nuάg
+ ,Nullarg))); } ;
+ 
+ 1761 { 
+ ݬgs
+ [
+ yypvt
+ [-1].
+ iv®
+ ] = 0;
+ 
+ 1762 
+ yyv®
+ .
+ ¬g
+  = 
+ 	`make_Ý
+ (
+ yypvt
+ [-1].
+ iv®
+ , 1,
+ 
+ 1763 
+ 	`¡ab2¬g
+ (
+ A_STAB
+ ,
+ 	`¡ab’t
+ (
+ yypvt
+ [-0].
+ cv®
+ ,
+ TRUE
+ )),
+ 
+ 1764 
+ Nuάg
+ , Nullarg);
+ 
+ 1768 { 
+ ݬgs
+ [
+ yypvt
+ [-1].
+ iv®
+ ] = 1;
+ 
+ 1769 
+ yyv®
+ .
+ ¬g
+  = 
+ 	`make_Ý
+ (
+ yypvt
+ [-1].
+ iv®
+ , 1, yypvt[-0].¬g, 
+ Nuάg
+ , Nullarg); } ;
+ 
+ 1772 { 
+ ݬgs
+ [
+ yypvt
+ [-0].
+ iv®
+ ] = (yypvt[-0].iv® !ð
+ O_FTTTY
+ );
+ 
+ 1773 
+ yyv®
+ .
+ ¬g
+  = 
+ 	`make_Ý
+ (
+ yypvt
+ [-0].
+ iv®
+ , 1,
+ 
+ 1774 
+ 	`¡ab2¬g
+ (
+ A_STAB
+ ,
+ 
+ 1775 
+ yypvt
+ [-0].
+ iv®
+  =ð
+ O_FTTTY
+ ?
+ 	`¡ab’t
+ ("STDIN",
+ TRUE
+ ):
+ def¡ab
+ ),
+ 
+ 1776 
+ Nuάg
+ , Nullarg); } ;
+ 
+ 1779 { 
+ yyv®
+ .
+ ¬g
+  = 
+ 	`l
+ (
+ 	`loÿlize
+ (
+ 	`make_Ý
+ (
+ O_ASSIGN
+ , 1,
+ 
+ 1780 
+ 	`loÿlize
+ (
+ 	`li¡ish
+ (
+ 	`make_li¡
+ (
+ yypvt
+ [-1].
+ ¬g
+ ))),
+ 
+ 1781 
+ Nuάg
+ ,Nullarg))); } ;
+ 
+ 1784 { 
+ yyv®
+ .
+ ¬g
+  = 
+ 	`make_li¡
+ (
+ yypvt
+ [-2].arg); } ;
+ 
+ 1787 { 
+ yyv®
+ .
+ ¬g
+  = 
+ 	`make_li¡
+ (
+ yypvt
+ [-1].arg); } ;
+ 
+ 1790 { 
+ yyv®
+ .
+ ¬g
+  = 
+ 	`make_li¡
+ (
+ Nuάg
+ ); } ;
+ 
+ 1793 { 
+ yyv®
+ .
+ ¬g
+  = 
+ 	`make_Ý
+ (
+ O_DOFILE
+ ,2,
+ yypvt
+ [-0].¬g,
+ Nuάg
+ ,Nullarg);
+ 
+ 1794 
+ ®l¡abs
+  = 
+ TRUE
+ ;} ;
+ 
+ 1797 { 
+ yyv®
+ .
+ ¬g
+  = 
+ 	`cmd_to_¬g
+ (
+ yypvt
+ [-0].
+ cmdv®
+ ); } ;
+ 
+ 1800 { 
+ yyv®
+ .
+ ¬g
+  = 
+ 	`¡ab2¬g
+ (
+ A_STAB
+ ,
+ yypvt
+ [-0].
+ ¡abv®
+ ); } ;
+ 
+ 1803 { 
+ yyv®
+ .
+ ¬g
+  = 
+ 	`¡ab2¬g
+ (
+ A_STAR
+ ,
+ yypvt
+ [-0].
+ ¡abv®
+ ); } ;
+ 
+ 1806 { 
+ yyv®
+ .
+ ¬g
+  = 
+ 	`make_Ý
+ (
+ O_AELEM
+ , 2,
+ 
+ 1807 
+ 	`¡ab2¬g
+ (
+ A_STAB
+ ,
+ 	`¯dd
+ (
+ yypvt
+ [-3].
+ ¡abv®
+ )), yypvt[-1].
+ ¬g
+ , 
+ Nuάg
+ ); } ;
+ 
+ 1810 { 
+ yyv®
+ .
+ ¬g
+  = 
+ 	`make_Ý
+ (
+ O_HASH
+ , 1,
+ 
+ 1811 
+ 	`¡ab2¬g
+ (
+ A_STAB
+ ,
+ yypvt
+ [-0].
+ ¡abv®
+ ),
+ 
+ 1812 
+ Nuάg
+ , Nullarg); } ;
+ 
+ 1815 { 
+ yyv®
+ .
+ ¬g
+  = 
+ 	`make_Ý
+ (
+ O_ARRAY
+ , 1,
+ 
+ 1816 
+ 	`¡ab2¬g
+ (
+ A_STAB
+ ,
+ yypvt
+ [-0].
+ ¡abv®
+ ),
+ 
+ 1817 
+ Nuάg
+ , Nullarg); } ;
+ 
+ 1820 { 
+ yyv®
+ .
+ ¬g
+  = 
+ 	`make_Ý
+ (
+ O_HELEM
+ , 2,
+ 
+ 1821 
+ 	`¡ab2¬g
+ (
+ A_STAB
+ ,
+ 	`hadd
+ (
+ yypvt
+ [-3].
+ ¡abv®
+ )),
+ 
+ 1822 
+ 	`jmaybe
+ (
+ yypvt
+ [-1].
+ ¬g
+ ),
+ 
+ 1823 
+ Nuάg
+ ); } ;
+ 
+ 1826 { 
+ yyv®
+ .
+ ¬g
+  = 
+ 	`make_Ý
+ (
+ O_LSLICE
+ , 3,
+ 
+ 1827 
+ Nuάg
+ ,
+ 
+ 1828 
+ 	`li¡ish
+ (
+ 	`make_li¡
+ (
+ yypvt
+ [-1].
+ ¬g
+ )),
+ 
+ 1829 
+ 	`li¡ish
+ (
+ 	`make_li¡
+ (
+ yypvt
+ [-4].
+ ¬g
+ ))); } ;
+ 
+ 1832 { 
+ yyv®
+ .
+ ¬g
+  = 
+ 	`make_Ý
+ (
+ O_LSLICE
+ , 3,
+ 
+ 1833 
+ Nuάg
+ ,
+ 
+ 1834 
+ 	`li¡ish
+ (
+ 	`make_li¡
+ (
+ yypvt
+ [-1].
+ ¬g
+ )),
+ 
+ 1835 
+ Nuάg
+ ); } ;
+ 
+ 1838 { 
+ yyv®
+ .
+ ¬g
+  = 
+ 	`make_Ý
+ (
+ O_ASLICE
+ , 2,
+ 
+ 1839 
+ 	`¡ab2¬g
+ (
+ A_STAB
+ ,
+ 	`¯dd
+ (
+ yypvt
+ [-3].
+ ¡abv®
+ )),
+ 
+ 1840 
+ 	`li¡ish
+ (
+ 	`make_li¡
+ (
+ yypvt
+ [-1].
+ ¬g
+ )),
+ 
+ 1841 
+ Nuάg
+ ); } ;
+ 
+ 1844 { 
+ yyv®
+ .
+ ¬g
+  = 
+ 	`make_Ý
+ (
+ O_HSLICE
+ , 2,
+ 
+ 1845 
+ 	`¡ab2¬g
+ (
+ A_STAB
+ ,
+ 	`hadd
+ (
+ yypvt
+ [-3].
+ ¡abv®
+ )),
+ 
+ 1846 
+ 	`li¡ish
+ (
+ 	`make_li¡
+ (
+ yypvt
+ [-1].
+ ¬g
+ )),
+ 
+ 1847 
+ Nuάg
+ ); } ;
+ 
+ 1850 { 
+ yyv®
+ .
+ ¬g
+  = 
+ 	`make_Ý
+ (
+ O_DELETE
+ , 2,
+ 
+ 1851 
+ 	`¡ab2¬g
+ (
+ A_STAB
+ ,
+ 	`hadd
+ (
+ yypvt
+ [-3].
+ ¡abv®
+ )),
+ 
+ 1852 
+ 	`jmaybe
+ (
+ yypvt
+ [-1].
+ ¬g
+ ),
+ 
+ 1853 
+ Nuάg
+ ); } ;
+ 
+ 1856 { 
+ yyv®
+ .
+ ¬g
+  = 
+ 	`¡ab2¬g
+ (
+ A_ARYLEN
+ ,
+ yypvt
+ [-0].
+ ¡abv®
+ ); } ;
+ 
+ 1859 { 
+ yyv®
+ .
+ ¬g
+  = 
+ yypvt
+ [-0].arg; } ;
+ 
+ 1862 { 
+ yyv®
+ .
+ ¬g
+  = 
+ yypvt
+ [-0].arg; } ;
+ 
+ 1865 { 
+ yyv®
+ .
+ ¬g
+  = 
+ yypvt
+ [-0].arg; } ;
+ 
+ 1868 { 
+ yyv®
+ .
+ ¬g
+  = 
+ yypvt
+ [-0].arg; } ;
+ 
+ 1871 { 
+ yyv®
+ .
+ ¬g
+  = 
+ 	`make_Ý
+ ((
+ ³¾db
+  ? 
+ O_DBSUBR
+  : 
+ O_SUBR
+ ), 2,
+ 
+ 1872 
+ 	`¡ab2¬g
+ (
+ A_WORD
+ ,
+ 	`¡ab’t
+ (
+ yypvt
+ [-3].
+ cv®
+ ,
+ TRUE
+ )),
+ 
+ 1873 
+ 	`make_li¡
+ (
+ yypvt
+ [-1].
+ ¬g
+ ),
+ 
+ 1874 
+ Nuάg
+ ); 
+ 	`Saãä“
+ (
+ yypvt
+ [-3].
+ cv®
+ ); yypvt[-3].cv® = 
+ NuÎch
+ ;
+ 
+ 1875 
+ yyv®
+ .
+ ¬g
+ ->
+ ¬g_æags
+  |ð
+ AF_DEPR
+ ; } ;
+ 
+ 1878 { 
+ yyv®
+ .
+ ¬g
+  = 
+ 	`make_Ý
+ ((
+ ³¾db
+  ? 
+ O_DBSUBR
+  : 
+ O_SUBR
+ ), 2,
+ 
+ 1879 
+ 	`¡ab2¬g
+ (
+ A_WORD
+ ,
+ 	`¡ab’t
+ (
+ yypvt
+ [-3].
+ cv®
+ ,
+ TRUE
+ )),
+ 
+ 1880 
+ 	`make_li¡
+ (
+ yypvt
+ [-1].
+ ¬g
+ ),
+ 
+ 1881 
+ Nuάg
+ ); 
+ 	`Saãä“
+ (
+ yypvt
+ [-3].
+ cv®
+ ); yypvt[-3].cv® = 
+ NuÎch
+ ; } ;
+ 
+ 1884 { 
+ yyv®
+ .
+ ¬g
+  = 
+ 	`make_Ý
+ ((
+ ³¾db
+  ? 
+ O_DBSUBR
+  : 
+ O_SUBR
+ ), 2,
+ 
+ 1885 
+ 	`¡ab2¬g
+ (
+ A_WORD
+ ,
+ 	`¡ab’t
+ (
+ yypvt
+ [-2].
+ cv®
+ ,
+ TRUE
+ )),
+ 
+ 1886 
+ 	`make_li¡
+ (
+ Nuάg
+ ),
+ 
+ 1887 
+ Nuάg
+ );
+ 
+ 1888 
+ yyv®
+ .
+ ¬g
+ ->
+ ¬g_æags
+  |ð
+ AF_DEPR
+ ; } ;
+ 
+ 1891 { 
+ yyv®
+ .
+ ¬g
+  = 
+ 	`make_Ý
+ ((
+ ³¾db
+  ? 
+ O_DBSUBR
+  : 
+ O_SUBR
+ ), 2,
+ 
+ 1892 
+ 	`¡ab2¬g
+ (
+ A_WORD
+ ,
+ 	`¡ab’t
+ (
+ yypvt
+ [-2].
+ cv®
+ ,
+ TRUE
+ )),
+ 
+ 1893 
+ 	`make_li¡
+ (
+ Nuάg
+ ),
+ 
+ 1894 
+ Nuάg
+ ); } ;
+ 
+ 1897 { 
+ yyv®
+ .
+ ¬g
+  = 
+ 	`make_Ý
+ ((
+ ³¾db
+  ? 
+ O_DBSUBR
+  : 
+ O_SUBR
+ ), 2,
+ 
+ 1898 
+ 	`¡ab2¬g
+ (
+ A_WORD
+ ,
+ 	`¡ab’t
+ (
+ yypvt
+ [-0].
+ cv®
+ ,
+ TRUE
+ )),
+ 
+ 1899 
+ Nuάg
+ ,
+ 
+ 1900 
+ Nuάg
+ ); } ;
+ 
+ 1903 { 
+ yyv®
+ .
+ ¬g
+  = 
+ 	`make_Ý
+ ((
+ ³¾db
+  ? 
+ O_DBSUBR
+  : 
+ O_SUBR
+ ), 2,
+ 
+ 1904 
+ 	`¡ab2¬g
+ (
+ A_STAB
+ ,
+ yypvt
+ [-3].
+ ¡abv®
+ ),
+ 
+ 1905 
+ 	`make_li¡
+ (
+ yypvt
+ [-1].
+ ¬g
+ ),
+ 
+ 1906 
+ Nuάg
+ );
+ 
+ 1907 
+ yyv®
+ .
+ ¬g
+ ->
+ ¬g_æags
+  |ð
+ AF_DEPR
+ ; } ;
+ 
+ 1910 { 
+ yyv®
+ .
+ ¬g
+  = 
+ 	`make_Ý
+ ((
+ ³¾db
+  ? 
+ O_DBSUBR
+  : 
+ O_SUBR
+ ), 2,
+ 
+ 1911 
+ 	`¡ab2¬g
+ (
+ A_STAB
+ ,
+ yypvt
+ [-3].
+ ¡abv®
+ ),
+ 
+ 1912 
+ 	`make_li¡
+ (
+ yypvt
+ [-1].
+ ¬g
+ ),
+ 
+ 1913 
+ Nuάg
+ ); } ;
+ 
+ 1916 { 
+ yyv®
+ .
+ ¬g
+  = 
+ 	`make_Ý
+ ((
+ ³¾db
+  ? 
+ O_DBSUBR
+  : 
+ O_SUBR
+ ), 2,
+ 
+ 1917 
+ 	`¡ab2¬g
+ (
+ A_STAB
+ ,
+ yypvt
+ [-2].
+ ¡abv®
+ ),
+ 
+ 1918 
+ 	`make_li¡
+ (
+ Nuάg
+ ),
+ 
+ 1919 
+ Nuάg
+ );
+ 
+ 1920 
+ yyv®
+ .
+ ¬g
+ ->
+ ¬g_æags
+  |ð
+ AF_DEPR
+ ; } ;
+ 
+ 1923 { 
+ yyv®
+ .
+ ¬g
+  = 
+ 	`make_Ý
+ ((
+ ³¾db
+  ? 
+ O_DBSUBR
+  : 
+ O_SUBR
+ ), 2,
+ 
+ 1924 
+ 	`¡ab2¬g
+ (
+ A_STAB
+ ,
+ yypvt
+ [-2].
+ ¡abv®
+ ),
+ 
+ 1925 
+ 	`make_li¡
+ (
+ Nuάg
+ ),
+ 
+ 1926 
+ Nuάg
+ ); } ;
+ 
+ 1929 { 
+ yyv®
+ .
+ ¬g
+  = 
+ 	`make_Ý
+ ((
+ ³¾db
+  ? 
+ O_DBSUBR
+  : 
+ O_SUBR
+ ), 2,
+ 
+ 1930 
+ 	`¡ab2¬g
+ (
+ A_STAB
+ ,
+ yypvt
+ [-0].
+ ¡abv®
+ ),
+ 
+ 1931 
+ Nuάg
+ ,
+ 
+ 1932 
+ Nuάg
+ ); } ;
+ 
+ 1935 { 
+ yyv®
+ .
+ ¬g
+  = 
+ 	`make_Ý
+ (
+ yypvt
+ [-0].
+ iv®
+ ,0,
+ Nuάg
+ ,Nullarg,Nullarg); } ;
+ 
+ 1938 { 
+ yyv®
+ .
+ ¬g
+  = 
+ 	`make_Ý
+ (
+ yypvt
+ [-1].
+ iv®
+ ,1,
+ 	`cv®_to_¬g
+ (yypvt[-0].
+ cv®
+ ),
+ 
+ 1939 
+ Nuάg
+ ,Nullarg); } ;
+ 
+ 1942 { 
+ yyv®
+ .
+ ¬g
+  = 
+ 	`make_Ý
+ (
+ yypvt
+ [-0].
+ iv®
+ ,0,
+ Nuάg
+ ,Nullarg,Nullarg); } ;
+ 
+ 1945 { 
+ yyv®
+ .
+ ¬g
+  = 
+ 	`make_Ý
+ (
+ yypvt
+ [-1].
+ iv®
+ ,1,yypvt[-0].¬g,
+ Nuάg
+ ,Nullarg); } ;
+ 
+ 1948 { 
+ yyv®
+ .
+ ¬g
+  = 
+ 	`make_Ý
+ (
+ O_SELECT
+ , 0, 
+ Nuάg
+ , Nullarg, Nullarg);} ;
+ 
+ 1951 { 
+ yyv®
+ .
+ ¬g
+  = 
+ 	`make_Ý
+ (
+ O_SELECT
+ , 1, 
+ yypvt
+ [-1].¬g, 
+ Nuάg
+ , Nullarg); } ;
+ 
+ 1954 { 
+ ¬g4
+  = 
+ yypvt
+ [-1].
+ ¬g
+ ;
+ 
+ 1955 
+ yyv®
+ .
+ ¬g
+  = 
+ 	`make_Ý
+ (
+ O_SSELECT
+ , 4, 
+ yypvt
+ [-4].arg, yypvt[-3].arg, yypvt[-2].arg); } ;
+ 
+ 1958 { 
+ yyv®
+ .
+ ¬g
+  = 
+ 	`make_Ý
+ (
+ O_OPEN
+ , 2,
+ 
+ 1959 
+ 	`¡ab2¬g
+ (
+ A_WORD
+ ,
+ 	`¡ab’t
+ (
+ yypvt
+ [-0].
+ cv®
+ ,
+ TRUE
+ )),
+ 
+ 1960 
+ 	`¡ab2¬g
+ (
+ A_STAB
+ ,
+ 	`¡ab’t
+ (
+ yypvt
+ [-0].
+ cv®
+ ,
+ TRUE
+ )),
+ 
+ 1961 
+ Nuάg
+ ); } ;
+ 
+ 1964 { 
+ yyv®
+ .
+ ¬g
+  = 
+ 	`make_Ý
+ (
+ O_OPEN
+ , 2,
+ 
+ 1965 
+ 	`¡ab2¬g
+ (
+ A_WORD
+ ,
+ 	`¡ab’t
+ (
+ yypvt
+ [-1].
+ cv®
+ ,
+ TRUE
+ )),
+ 
+ 1966 
+ 	`¡ab2¬g
+ (
+ A_STAB
+ ,
+ 	`¡ab’t
+ (
+ yypvt
+ [-1].
+ cv®
+ ,
+ TRUE
+ )),
+ 
+ 1967 
+ Nuάg
+ ); } ;
+ 
+ 1970 { 
+ yyv®
+ .
+ ¬g
+  = 
+ 	`make_Ý
+ (
+ O_OPEN
+ , 2,
+ 
+ 1971 
+ yypvt
+ [-2].
+ ¬g
+ ,
+ 
+ 1972 
+ yypvt
+ [-1].
+ ¬g
+ , 
+ Nuάg
+ ); } ;
+ 
+ 1975 { 
+ yyv®
+ .
+ ¬g
+  = 
+ 	`make_Ý
+ (
+ yypvt
+ [-3].
+ iv®
+ , 1,
+ 
+ 1976 
+ yypvt
+ [-1].
+ ¬g
+ ,
+ 
+ 1977 
+ Nuάg
+ , Nullarg); } ;
+ 
+ 1980 { 
+ yyv®
+ .
+ ¬g
+  = 
+ 	`make_Ý
+ (
+ yypvt
+ [-1].
+ iv®
+ , 1,
+ 
+ 1981 
+ 	`¡ab2¬g
+ (
+ A_WORD
+ ,
+ 	`¡ab’t
+ (
+ yypvt
+ [-0].
+ cv®
+ ,
+ TRUE
+ )),
+ 
+ 1982 
+ Nuάg
+ , Nullarg);
+ 
+ 1983 
+ 	`Saãä“
+ (
+ yypvt
+ [-0].
+ cv®
+ ); yypvt[-0].cv® = 
+ NuÎch
+ ; } ;
+ 
+ 1986 { 
+ yyv®
+ .
+ ¬g
+  = 
+ 	`make_Ý
+ (
+ yypvt
+ [-1].
+ iv®
+ , 1,
+ 
+ 1987 
+ 	`¡ab2¬g
+ (
+ A_STAB
+ ,
+ yypvt
+ [-0].
+ ¡abv®
+ ),
+ 
+ 1988 
+ Nuάg
+ , Nullarg); } ;
+ 
+ 1991 { 
+ yyv®
+ .
+ ¬g
+  = 
+ 	`make_Ý
+ (
+ yypvt
+ [-2].
+ iv®
+ , 1,
+ 
+ 1992 
+ 	`¡ab2¬g
+ (
+ A_WORD
+ ,
+ NuΡab
+ ),
+ 
+ 1993 
+ Nuάg
+ , Nullarg); } ;
+ 
+ 1996 { 
+ yyv®
+ .
+ ¬g
+  = 
+ 	`make_Ý
+ (
+ yypvt
+ [-0].
+ iv®
+ , 0,
+ 
+ 1997 
+ Nuάg
+ , Nullarg, Nullarg); } ;
+ 
+ 2000 { 
+ yyv®
+ .
+ ¬g
+  = 
+ 	`make_Ý
+ (
+ yypvt
+ [-4].
+ iv®
+ , 2, yypvt[-2].¬g, yypvt[-1].¬g, 
+ Nuάg
+ ); } ;
+ 
+ 2003 { 
+ yyv®
+ .
+ ¬g
+  = 
+ 	`make_Ý
+ (
+ yypvt
+ [-5].
+ iv®
+ , 3, yypvt[-3].¬g, yypvt[-2].¬g, 
+ 	`make_li¡
+ (yypvt[-1].arg)); } ;
+ 
+ 2006 { 
+ yyv®
+ .
+ ¬g
+  = 
+ 	`make_Ý
+ (
+ yypvt
+ [-5].
+ iv®
+ , 2, yypvt[-3].¬g, yypvt[-1].¬g, 
+ Nuάg
+ ); } ;
+ 
+ 2009 { 
+ ¬g4
+  = 
+ yypvt
+ [-1].
+ ¬g
+ ; 
+ yyv®
+ .¬g = 
+ 	`make_Ý
+ (yypvt[-6].
+ iv®
+ , 4, yypvt[-4].arg, yypvt[-3].arg, yypvt[-2].arg); } ;
+ 
+ 2012 { 
+ ¬g4
+  = 
+ yypvt
+ [-2].
+ ¬g
+ ; 
+ ¬g5
+  = yypvt[-1].arg;
+ 
+ 2013 
+ yyv®
+ .
+ ¬g
+  = 
+ 	`make_Ý
+ (
+ yypvt
+ [-8].
+ iv®
+ , 5, yypvt[-6].arg, yypvt[-4].arg, yypvt[-3].arg); } ;
+ 
+ 2016 { 
+ yyv®
+ .
+ ¬g
+  = 
+ 	`make_Ý
+ (
+ yypvt
+ [-4].
+ iv®
+ , 2,
+ 
+ 2017 
+ yypvt
+ [-2].
+ ¬g
+ ,
+ 
+ 2018 
+ 	`make_li¡
+ (
+ yypvt
+ [-1].
+ ¬g
+ ),
+ 
+ 2019 
+ Nuάg
+ ); } ;
+ 
+ 2022 { 
+ yyv®
+ .
+ ¬g
+  = 
+ 	`make_Ý
+ (
+ O_POP
+ , 1, 
+ yypvt
+ [-0].¬g, 
+ Nuάg
+ , Nullarg); } ;
+ 
+ 2025 { 
+ yyv®
+ .
+ ¬g
+  = 
+ 	`make_Ý
+ (
+ O_POP
+ , 1, 
+ yypvt
+ [-1].¬g, 
+ Nuάg
+ , Nullarg); } ;
+ 
+ 2028 { 
+ yyv®
+ .
+ ¬g
+  = 
+ 	`make_Ý
+ (
+ O_SHIFT
+ , 1, 
+ yypvt
+ [-0].¬g, 
+ Nuάg
+ , Nullarg); } ;
+ 
+ 2031 { 
+ yyv®
+ .
+ ¬g
+  = 
+ 	`make_Ý
+ (
+ O_SHIFT
+ , 1, 
+ yypvt
+ [-1].¬g, 
+ Nuάg
+ , Nullarg); } ;
+ 
+ 2034 { 
+ yyv®
+ .
+ ¬g
+  = 
+ 	`make_Ý
+ (
+ O_SHIFT
+ , 1,
+ 
+ 2035 
+ 	`¡ab2¬g
+ (
+ A_STAB
+ ,
+ 
+ 2036 
+ 	`¯dd
+ (
+ 	`¡ab’t
+ (
+ sublše
+  ? "_" : "ARGV", 
+ TRUE
+ ))),
+ 
+ 2037 
+ Nuάg
+ , Nullarg); } ;
+ 
+ 2040 { 
+ p
+ []="/\\s+/";
+ 
+ 2041 *
+ Þd’d
+  = 
+ buãnd
+ ;
+ 
+ 2042 
+ ARG
+  *
+ Þd¬g
+  = 
+ yylv®
+ .
+ ¬g
+ ;
+ 
+ 2044 
+ buãnd
+ =
+ p
+ +5;
+ 
+ 2045 ()
+ 	`sÿÅ©
+ (
+ p
+ );
+ 
+ 2046 
+ buãnd
+ =
+ Þd’d
+ ;
+ 
+ 2047 
+ yyv®
+ .
+ ¬g
+  = 
+ 	`make_¥l™
+ (
+ def¡ab
+ ,
+ yylv®
+ .¬g,
+ Nuάg
+ );
+ 
+ 2048 
+ yylv®
+ .
+ ¬g
+  = 
+ Þd¬g
+ ; } ;
+ 
+ 2051 { 
+ yyv®
+ .
+ ¬g
+  = 
+ 	`mod_m©ch
+ (
+ O_MATCH
+ , 
+ yypvt
+ [-2].arg,
+ 
+ 2052 
+ 	`make_¥l™
+ (
+ def¡ab
+ ,
+ yypvt
+ [-3].
+ ¬g
+ ,yypvt[-1].arg));} ;
+ 
+ 2055 { 
+ yyv®
+ .
+ ¬g
+  = 
+ 	`mod_m©ch
+ (
+ O_MATCH
+ , 
+ yypvt
+ [-1].arg,
+ 
+ 2056 
+ 	`make_¥l™
+ (
+ def¡ab
+ ,
+ yypvt
+ [-2].
+ ¬g
+ ,
+ Nuάg
+ ) ); } ;
+ 
+ 2059 { 
+ yyv®
+ .
+ ¬g
+  = 
+ 	`mod_m©ch
+ (
+ O_MATCH
+ ,
+ 
+ 2060 
+ 	`¡ab2¬g
+ (
+ A_STAB
+ ,
+ def¡ab
+ ),
+ 
+ 2061 
+ 	`make_¥l™
+ (
+ def¡ab
+ ,
+ yypvt
+ [-1].
+ ¬g
+ ,
+ Nuάg
+ ) ); } ;
+ 
+ 2064 { 
+ yyv®
+ .
+ ¬g
+  = 
+ 	`make_Ý
+ (
+ yypvt
+ [-4].
+ iv®
+ , 2,
+ 
+ 2065 
+ yypvt
+ [-2].
+ ¬g
+ ,
+ 
+ 2066 
+ 	`li¡ish
+ (
+ 	`make_li¡
+ (
+ yypvt
+ [-1].
+ ¬g
+ )),
+ 
+ 2067 
+ Nuάg
+ ); } ;
+ 
+ 2070 { 
+ yyv®
+ .
+ ¬g
+  = 
+ 	`make_Ý
+ (
+ yypvt
+ [-3].
+ iv®
+ , 1,
+ 
+ 2071 
+ 	`make_li¡
+ (
+ yypvt
+ [-1].
+ ¬g
+ ),
+ 
+ 2072 
+ Nuάg
+ ,
+ 
+ 2073 
+ Nuάg
+ ); } ;
+ 
+ 2076 { 
+ yyv®
+ .
+ ¬g
+  = 
+ 	`l
+ (
+ 	`make_Ý
+ (
+ yypvt
+ [-1].
+ iv®
+ , 1, 
+ 	`fixl
+ (yypvt[-1].ival,yypvt[-0].arg),
+ 
+ 2077 
+ Nuάg
+ , Nullarg)); } ;
+ 
+ 2080 { 
+ yyv®
+ .
+ ¬g
+  = 
+ 	`l
+ (
+ 	`make_Ý
+ (
+ yypvt
+ [-0].
+ iv®
+ , 1,
+ 
+ 2081 
+ 	`¡ab2¬g
+ (
+ A_STAB
+ ,
+ def¡ab
+ ),
+ 
+ 2082 
+ Nuάg
+ , Nullarg)); } ;
+ 
+ 2085 { 
+ yyv®
+ .
+ ¬g
+  = 
+ 	`make_Ý
+ (
+ yypvt
+ [-0].
+ iv®
+ , 0, 
+ Nuάg
+ , Nullarg, Nullarg); } ;
+ 
+ 2088 { 
+ yyv®
+ .
+ ¬g
+  = 
+ 	`make_Ý
+ (
+ yypvt
+ [-2].
+ iv®
+ , 0, 
+ Nuάg
+ , Nullarg, Nullarg); } ;
+ 
+ 2091 { 
+ yyv®
+ .
+ ¬g
+  = 
+ 	`make_Ý
+ (
+ yypvt
+ [-2].
+ iv®
+ , 0, 
+ Nuάg
+ , Nullarg, Nullarg); } ;
+ 
+ 2094 { 
+ yyv®
+ .
+ ¬g
+  = 
+ 	`make_Ý
+ (
+ yypvt
+ [-3].
+ iv®
+ , 1, yypvt[-1].¬g, 
+ Nuάg
+ , Nullarg); } ;
+ 
+ 2097 { 
+ yyv®
+ .
+ ¬g
+  = 
+ 	`make_Ý
+ (
+ yypvt
+ [-4].
+ iv®
+ , 2, yypvt[-2].¬g, yypvt[-1].¬g, 
+ Nuάg
+ );
+ 
+ 2098 ià(
+ yypvt
+ [-4].
+ iv®
+  =ð
+ O_INDEX
+  && 
+ yyv®
+ .
+ ¬g
+ [2].
+ ¬g_ty³
+  =ð
+ A_SINGLE
+ )
+ 
+ 2099 
+ 	`fbmcompže
+ (
+ yyv®
+ .
+ ¬g
+ [2].
+ ¬g_±r
+ .
+ ¬g_¡r
+ ,0); } ;
+ 
+ 2102 { 
+ yyv®
+ .
+ ¬g
+  = 
+ 	`make_Ý
+ (
+ yypvt
+ [-4].
+ iv®
+ , 2, yypvt[-2].¬g, yypvt[-1].¬g, 
+ Nuάg
+ );
+ 
+ 2103 ià(
+ yypvt
+ [-4].
+ iv®
+  =ð
+ O_INDEX
+  && 
+ yyv®
+ .
+ ¬g
+ [2].
+ ¬g_ty³
+  =ð
+ A_SINGLE
+ )
+ 
+ 2104 
+ 	`fbmcompže
+ (
+ yyv®
+ .
+ ¬g
+ [2].
+ ¬g_±r
+ .
+ ¬g_¡r
+ ,0); } ;
+ 
+ 2107 { 
+ yyv®
+ .
+ ¬g
+  = 
+ 	`make_Ý
+ (
+ yypvt
+ [-5].
+ iv®
+ , 3, yypvt[-3].arg, yypvt[-2].arg, yypvt[-1].arg);
+ 
+ 2108 ià(
+ yypvt
+ [-5].
+ iv®
+  =ð
+ O_INDEX
+  && 
+ yyv®
+ .
+ ¬g
+ [2].
+ ¬g_ty³
+  =ð
+ A_SINGLE
+ )
+ 
+ 2109 
+ 	`fbmcompže
+ (
+ yyv®
+ .
+ ¬g
+ [2].
+ ¬g_±r
+ .
+ ¬g_¡r
+ ,0); } ;
+ 
+ 2112 { 
+ yyv®
+ .
+ ¬g
+  = 
+ 	`make_Ý
+ (
+ yypvt
+ [-5].
+ iv®
+ , 3, yypvt[-3].arg, yypvt[-2].arg, yypvt[-1].arg); } ;
+ 
+ 2115 { 
+ ¬g4
+  = 
+ yypvt
+ [-1].
+ ¬g
+ ;
+ 
+ 2116 
+ yyv®
+ .
+ ¬g
+  = 
+ 	`make_Ý
+ (
+ yypvt
+ [-6].
+ iv®
+ , 4, yypvt[-4].arg, yypvt[-3].arg, yypvt[-2].arg); } ;
+ 
+ 2119 { 
+ ¬g4
+  = 
+ yypvt
+ [-2].
+ ¬g
+ ; 
+ ¬g5
+  = yypvt[-1].arg;
+ 
+ 2120 
+ yyv®
+ .
+ ¬g
+  = 
+ 	`make_Ý
+ (
+ yypvt
+ [-7].
+ iv®
+ , 5, yypvt[-5].arg, yypvt[-4].arg, yypvt[-3].arg); } ;
+ 
+ 2123 { 
+ yyv®
+ .
+ ¬g
+  = 
+ 	`make_Ý
+ (
+ yypvt
+ [-3].
+ iv®
+ , 1,
+ 
+ 2124 
+ yypvt
+ [-1].
+ ¬g
+ ,
+ 
+ 2125 
+ Nuάg
+ ,
+ 
+ 2126 
+ Nuάg
+ ); } ;
+ 
+ 2129 { 
+ yyv®
+ .
+ ¬g
+  = 
+ 	`make_Ý
+ (
+ yypvt
+ [-1].
+ iv®
+ , 1,
+ 
+ 2130 
+ yypvt
+ [-0].
+ ¬g
+ ,
+ 
+ 2131 
+ Nuάg
+ ,
+ 
+ 2132 
+ Nuάg
+ ); } ;
+ 
+ 2135 { 
+ yyv®
+ .
+ ¬g
+  = 
+ 	`make_Ý
+ (
+ yypvt
+ [-5].
+ iv®
+ , 3, yypvt[-3].arg, yypvt[-2].arg, yypvt[-1].arg); } ;
+ 
+ 2138 { 
+ yyv®
+ .
+ ¬g
+  = 
+ 	`make_Ý
+ (
+ yypvt
+ [-0].
+ iv®
+ ,2,
+ 
+ 2139 
+ 	`¡ab2¬g
+ (
+ A_WORD
+ ,
+ NuΡab
+ ),
+ 
+ 2140 
+ 	`¡ab2¬g
+ (
+ A_STAB
+ ,
+ def¡ab
+ ),
+ 
+ 2141 
+ Nuάg
+ ); } ;
+ 
+ 2144 { 
+ yyv®
+ .
+ ¬g
+  = 
+ 	`make_Ý
+ (
+ yypvt
+ [-1].
+ iv®
+ ,2,
+ 
+ 2145 
+ 	`¡ab2¬g
+ (
+ A_WORD
+ ,
+ NuΡab
+ ),
+ 
+ 2146 
+ 	`mayb–i¡ish
+ (
+ yypvt
+ [-1].
+ iv®
+ ,
+ 	`make_li¡
+ (yypvt[-0].
+ ¬g
+ )),
+ 
+ 2147 
+ Nuάg
+ ); } ;
+ 
+ 2150 { 
+ yyv®
+ .
+ ¬g
+  = 
+ 	`make_Ý
+ (
+ yypvt
+ [-1].
+ iv®
+ ,2,
+ 
+ 2151 
+ 	`¡ab2¬g
+ (
+ A_WORD
+ ,
+ 	`¡ab’t
+ (
+ yypvt
+ [-0].
+ cv®
+ ,
+ TRUE
+ )),
+ 
+ 2152 
+ 	`¡ab2¬g
+ (
+ A_STAB
+ ,
+ def¡ab
+ ),
+ 
+ 2153 
+ Nuάg
+ ); } ;
+ 
+ 2156 { 
+ yyv®
+ .
+ ¬g
+  = 
+ 	`make_Ý
+ (
+ yypvt
+ [-2].
+ iv®
+ ,2,
+ 
+ 2157 
+ 	`¡ab2¬g
+ (
+ A_WORD
+ ,
+ 	`¡ab’t
+ (
+ yypvt
+ [-1].
+ cv®
+ ,
+ TRUE
+ )),
+ 
+ 2158 
+ 	`mayb–i¡ish
+ (
+ yypvt
+ [-2].
+ iv®
+ ,
+ 	`make_li¡
+ (yypvt[-0].
+ ¬g
+ )),
+ 
+ 2159 
+ Nuάg
+ ); 
+ 	`Saãä“
+ (
+ yypvt
+ [-1].
+ cv®
+ ); yypvt[-1].cv® = 
+ NuÎch
+ ; } ;
+ 
+ 2162 { 
+ yyv®
+ .
+ ¬g
+  = 
+ 	`make_Ý
+ (
+ yypvt
+ [-2].
+ iv®
+ ,2,
+ 
+ 2163 
+ 	`¡ab2¬g
+ (
+ A_STAB
+ ,
+ yypvt
+ [-1].
+ ¡abv®
+ ),
+ 
+ 2164 
+ 	`mayb–i¡ish
+ (
+ yypvt
+ [-2].
+ iv®
+ ,
+ 	`make_li¡
+ (yypvt[-0].
+ ¬g
+ )),
+ 
+ 2165 
+ Nuάg
+ ); } ;
+ 
+ 2168 { 
+ yyv®
+ .
+ ¬g
+  = 
+ 	`¡ab2¬g
+ (
+ A_WORD
+ ,
+ 	`¡ab’t
+ (
+ yypvt
+ [-0].
+ cv®
+ ,
+ TRUE
+ ));
+ 
+ 2169 
+ 	`Saãä“
+ (
+ yypvt
+ [-0].
+ cv®
+ ); yypvt[-0].cv® = 
+ NuÎch
+ ;} ;
+ 
+ 2172 { 
+ yyv®
+ .
+ ¬g
+  = 
+ 	`¡ab2¬g
+ (
+ A_WORD
+ ,
+ 	`¯dd
+ (
+ 	`¡ab’t
+ (
+ yypvt
+ [-0].
+ cv®
+ ,
+ TRUE
+ )));
+ 
+ 2173 
+ 	`Saãä“
+ (
+ yypvt
+ [-0].
+ cv®
+ ); yypvt[-0].cv® = 
+ NuÎch
+ ; } ;
+ 
+ 2176 { 
+ yyv®
+ .
+ ¬g
+  = 
+ 	`¡ab2¬g
+ (
+ A_STAB
+ ,
+ yypvt
+ [-0].
+ ¡abv®
+ ); } ;
+ 
+ 2179 { 
+ yyv®
+ .
+ ¬g
+  = 
+ 	`¡ab2¬g
+ (
+ A_WORD
+ ,
+ 	`hadd
+ (
+ 	`¡ab’t
+ (
+ yypvt
+ [-0].
+ cv®
+ ,
+ TRUE
+ )));
+ 
+ 2180 
+ 	`Saãä“
+ (
+ yypvt
+ [-0].
+ cv®
+ ); yypvt[-0].cv® = 
+ NuÎch
+ ; } ;
+ 
+ 2183 { 
+ yyv®
+ .
+ ¬g
+  = 
+ 	`¡ab2¬g
+ (
+ A_STAB
+ ,
+ yypvt
+ [-0].
+ ¡abv®
+ ); } ;
+ 
+ 2186 { *
+ s
+ ;
+ 
+ 2187 
+ yyv®
+ .
+ ¬g
+  = 
+ 	`Ý_Ãw
+ (1);
+ 
+ 2188 
+ yyv®
+ .
+ ¬g
+ ->
+ ¬g_ty³
+  = 
+ O_ITEM
+ ;
+ 
+ 2189 
+ yyv®
+ .
+ ¬g
+ [1].
+ ¬g_ty³
+  = 
+ A_SINGLE
+ ;
+ 
+ 2190 
+ yyv®
+ .
+ ¬g
+ [1].
+ ¬g_±r
+ .
+ ¬g_¡r
+  = 
+ 	`¡r_make
+ (
+ yypvt
+ [-0].
+ cv®
+ ,0);
+ 
+ 2191 
+ s
+  = 
+ yypvt
+ [-0].
+ cv®
+ ; * && 
+ 	`i¦ow”
+ (*s); s++) ;
+ 
+ 2192 ià(
+ dow¬n
+  && !*
+ s
+ )
+ 
+ 2193 
+ 	`w¬n
+ (
+ 
+ 2195 
+ yypvt
+ [-0].
+ cv®
+  );
+ 
+ 2198 
+ yy¡ack
+ ;
+ 
+ 2199 
+ 	}
+ }
+ 
+ 	@usersub.c
+ 
+ 13 
+ 	~"EXTERN.h
+ "
+ 
+ 14 
+ 	~"³¾.h
+ "
+ 
+ 16 
+ 	$u£rš™
+ ()
+ 
+ 19 
+ 	}
+ }
+ 
+ 30 #ifdeà
+ CRYPTSCRIPT
+ 
+ 
+ 32 
+ 	~<sigÇl.h
+ >
+ 
+ 33 #ifdeà
+ I_VFORK
+ 
+ 
+ 34 
+ 	~<vfÜk.h
+ >
+ 
+ 37 
+ 	#CRYPT_MAGIC_1
+  0xfb
+ 
+ 	)
+ 
+ 38 
+ 	#CRYPT_MAGIC_2
+  0xf1
+ 
+ 	)
+ 
+ 40 
+ 	$üy±fž‹r
+ Ð
+ fž
+  )
+ 
+ 41 
+ FILE
+  * 
+ fž
+ ;
+ 
+ 43 
+ ch
+ ;
+ 
+ 45  (
+ ch
+  = 
+ 	`g‘c
+ Ð
+ fž
+  )è!ð
+ EOF
+  ) {
+ 
+ 46 
+ 	`putch¬
+ Ð(
+ ch
+  ^ 0x80) );
+ 
+ 48 
+ 	}
+ }
+ 
+ 50 #iâdeà
+ MSDOS
+ 
+ 
+ 51 
+ FILE
+  *
+ 	gÏ¡pefže
+ ;
+ 
+ 52 
+ 	gp•id
+ ;
+ 
+ 54 #ifdeà
+ VOIDSIG
+ 
+ 
+ 55 
+ 	#VOID
+  
+ 
+ 	)
+ 
+ 57 
+ 	#VOID
+  
+ 
+ 	)
+ 
+ 60 
+ FILE
+  *
+ 
+ 61 
+ 	$mypfiݒ
+ (
+ fž
+ ,
+ func
+ )
+ 
+ 62 
+ FILE
+  *
+ fž
+ ;
+ 
+ 63 
+ 	`VOID
+  (*
+ func
+ )();
+ 
+ 65 
+ p
+ [2];
+ 
+ 66 
+ STR
+  *
+ ¡r
+ ;
+ 
+ 68 ià(
+ 	`pe
+ (
+ p
+ ) < 0) {
+ 
+ 69 
+ 	`fþo£
+ Ð
+ fž
+  );
+ 
+ 70 
+ 	`çl
+ ("Can't get…ipe for decrypt");
+ 
+ 74 
+ 	`fæush
+ (
+ ¡dout
+ );
+ 
+ 75 
+ 	`fæush
+ (
+ ¡d”r
+ );
+ 
+ 77 (
+ p•id
+  = 
+ 	`fÜk
+ ()) < 0) {
+ 
+ 78 ià(
+ Ӽo
+  !ð
+ EAGAIN
+ ) {
+ 
+ 79 
+ 	`þo£
+ (
+ p
+ [0]);
+ 
+ 80 
+ 	`þo£
+ (
+ p
+ [1]);
+ 
+ 81 
+ 	`fþo£
+ Ð
+ fž
+  );
+ 
+ 82 
+ 	`çl
+ ("Can't fork for decrypt");
+ 
+ 84 
+ 	`¦“p
+ (5);
+ 
+ 86 ià(
+ p•id
+  == 0) {
+ 
+ 87 
+ 	`þo£
+ (
+ p
+ [0]);
+ 
+ 88 ià(
+ p
+ [1] != 1) {
+ 
+ 89 
+ 	`dup2
+ (
+ p
+ [1], 1);
+ 
+ 90 
+ 	`þo£
+ (
+ p
+ [1]);
+ 
+ 92 (*
+ func
+ )(
+ fž
+ );
+ 
+ 93 
+ 	`fæush
+ (
+ ¡dout
+ );
+ 
+ 94 
+ 	`fæush
+ (
+ ¡d”r
+ );
+ 
+ 95 
+ 	`_ex™
+ (0);
+ 
+ 97 
+ 	`þo£
+ (
+ p
+ [1]);
+ 
+ 98 
+ 	`fþo£
+ (
+ fž
+ );
+ 
+ 99 
+ ¡r
+  = 
+ 	`aãtch
+ (
+ fdpid
+ ,
+ p
+ [0],
+ TRUE
+ );
+ 
+ 100 
+ ¡r
+ ->
+ ¡r_u
+ .
+ ¡r_u£ful
+  = 
+ p•id
+ ;
+ 
+ 101  
+ 	`fdݒ
+ (
+ p
+ [0], "r");
+ 
+ 102 
+ 	}
+ }
+ 
+ 104 
+ 	$üy±sw™ch
+ ()
+ 
+ 106 
+ ch
+ ;
+ 
+ 107 #ifdeà
+ STDSTDIO
+ 
+ 
+ 109 ià(
+ rså
+ ->
+ _út
+  > 0 && (*rså->
+ _±r
+  & 0xffè!ð
+ CRYPT_MAGIC_1
+ )
+ 
+ 112 
+ ch
+  = 
+ 	`g‘c
+ (
+ rså
+ );
+ 
+ 113 ià(
+ ch
+  =ð
+ CRYPT_MAGIC_1
+ ) {
+ 
+ 114 ià(
+ 	`g‘c
+ (
+ rså
+ è=ð
+ CRYPT_MAGIC_2
+ ) {
+ 
+ 115 
+ rså
+  = 
+ 	`mypfiݒ
+ Ðrså, 
+ üy±fž‹r
+  );
+ 
+ 116 
+ ´•roûss
+  = 1;
+ 
+ 119 
+ 	`çl
+ ( "badƒncryption format" );
+ 
+ 122 
+ 	`ung‘c
+ (
+ ch
+ ,
+ rså
+ );
+ 
+ 123 
+ 	}
+ }
+ 
+ 125 
+ FILE
+  *
+ 
+ 126 
+ 	$üy±Ý’
+ (
+ cmd
+ )
+ 
+ 127 *
+ cmd
+ ;
+ 
+ 129 
+ FILE
+  *
+ fž
+  = 
+ 	`fݒ
+ Ð
+ cmd
+ , "r" );
+ 
+ 131 
+ Ï¡pefže
+  = 
+ NuÎå
+ ;
+ 
+ 132 
+ p•id
+  = 0;
+ 
+ 134 ifÐ
+ fž
+  ) {
+ 
+ 135 
+ ch
+  = 
+ 	`g‘c
+ Ð
+ fž
+  );
+ 
+ 136 
+ lšes
+  = 0;
+ 
+ 137 
+ ch¬s
+  = 0;
+ 
+ 144  
+ ch
+  !ð
+ CRYPT_MAGIC_1
+  && ch !ð
+ EOF
+  && 
+ lšes
+  < 5 && 
+ ch¬s
+  < 300 ) {
+ 
+ 145 ifÐ
+ ch
+  == '\n' )
+ 
+ 146 ++
+ lšes
+ ;
+ 
+ 147 
+ ch
+  = 
+ 	`g‘c
+ Ð
+ fž
+  );
+ 
+ 148 ++
+ ch¬s
+ ;
+ 
+ 151 ifÐ
+ ch
+  =ð
+ CRYPT_MAGIC_1
+  ) {
+ 
+ 152 ifÐ(
+ ch
+  = 
+ 	`g‘c
+ Ð
+ fž
+  ) ) =ð
+ CRYPT_MAGIC_2
+  ) {
+ 
+ 153 ifÐ
+ ³¾db
+  ) 
+ 	`çl
+ ("can't debug‡nƒncrypted script");
+ 
+ 155 
+ fž
+  = 
+ 	`mypfiݒ
+ Ðfž, 
+ üy±fž‹r
+  );
+ 
+ 156 Ð
+ Ï¡pefže
+  = 
+ fž
+  );
+ 
+ 159 
+ 	`çl
+ ( "badƒncryption format" );
+ 
+ 163 
+ 	`»wšd
+ Ð
+ fž
+  );
+ 
+ 166 Ð
+ fž
+  );
+ 
+ 167 
+ 	}
+ }
+ 
+ 169 
+ VOID
+ 
+ 
+ 170 
+ 	$üy±þo£
+ (
+ fž
+ )
+ 
+ 171 
+ FILE
+  *
+ fž
+ ;
+ 
+ 173 ifÐ
+ fž
+  =ð
+ NuÎå
+  )
+ 
+ 176 ifÐ
+ fž
+  =ð
+ Ï¡pefže
+  )
+ 
+ 177 
+ 	`mypþo£
+ Ð
+ fž
+  );
+ 
+ 179 
+ 	`fþo£
+ Ð
+ fž
+  );
+ 
+ 180 
+ 	}
+ }
+ 
+ 	@util.c
+ 
+ 17 
+ 	~"EXTERN.h
+ "
+ 
+ 18 
+ 	~"³¾.h
+ "
+ 
+ 20 #ià!
+ defšed
+ (
+ NSIG
+ è|| defšed(
+ M_UNIX
+ è|| defšed(
+ M_XENIX
+ )
+ 
+ 21 
+ 	~<sigÇl.h
+ >
+ 
+ 24 #ifdeà
+ I_VFORK
+ 
+ 
+ 25 
+ 	~<vfÜk.h
+ >
+ 
+ 28 #ifdeà
+ I_VARARGS
+ 
+ 
+ 29 
+ 	~<v¬¬gs.h
+ >
+ 
+ 32 #ifdeà
+ I_FCNTL
+ 
+ 
+ 33 
+ 	~<fúŽ.h
+ >
+ 
+ 35 #ifdeà
+ I_SYS_FILE
+ 
+ 
+ 36 
+ 	~<sys/fže.h
+ >
+ 
+ 39 
+ 	#FLUSH
+ 
+ 
+ 	)
+ 
+ 41 
+ 	gnomem
+ [] = "Out of memory!\n";
+ 
+ 45 #ifdeà
+ DEBUGGING
+ 
+ 
+ 46 
+ 	gª
+  = 0;
+ 
+ 55 
+ 	$§ãm®loc
+ (
+ size
+ )
+ 
+ 56 #ifdeà
+ MSDOS
+ 
+ 
+ 57 
+ size
+ ;
+ 
+ 59 
+ MEM_SIZE
+  
+ size
+ ;
+ 
+ 62 *
+ ±r
+ ;
+ 
+ 63 #iâdeà
+ __STDC__
+ 
+ 
+ 64 #ifdeà
+ BWGC
+ 
+ 
+ 65 *
+ 	`gc_m®loc
+ ();
+ 
+ 67 *
+ 	`m®loc
+ ();
+ 
+ 71 #ifdeà
+ MSDOS
+ 
+ 
+ 72 ià(
+ size
+  > 0xffff) {
+ 
+ 73 
+ 	`årštf
+ (
+ ¡d”r
+ , "AÎoÿtiځoØÏrge: %lx\n", 
+ size
+ è
+ FLUSH
+ ;
+ 
+ 74 
+ 	`ex™
+ (1);
+ 
+ 77 #ifdeà
+ DEBUGGING
+ 
+ 
+ 78 ià(()
+ size
+  < 0)
+ 
+ 79 
+ 	`çl
+ ("panic: malloc");
+ 
+ 81 #ifdeà
+ BWGC
+ 
+ 
+ 82 
+ ±r
+  = 
+ 	`gc_m®loc
+ (
+ size
+ ?size:1);
+ 
+ 84 
+ ±r
+  = 
+ 	`m®loc
+ (
+ size
+ ?size:1);
+ 
+ 86 #ifdeà
+ DEBUGGING
+ 
+ 
+ 87 #iâdeà
+ I286
+ 
+ 
+ 88 ià(
+ debug
+  & 128)
+ 
+ 89 
+ 	`årštf
+ (
+ ¡d”r
+ ,"0x%x: (%05dèm®loø%d by‹s\n",
+ ±r
+ ,
+ ª
+ ++,
+ size
+ );
+ 
+ 91 ià(
+ debug
+  & 128)
+ 
+ 92 
+ 	`årštf
+ (
+ ¡d”r
+ ,"0x%lx: (%05dèm®loø%d by‹s\n",
+ ±r
+ ,
+ ª
+ ++,
+ size
+ );
+ 
+ 95 ià(
+ ±r
+  !ð
+ NuÎch
+ )
+ 
+ 96  
+ ±r
+ ;
+ 
+ 98 
+ 	`åuts
+ (
+ nomem
+ ,
+ ¡d”r
+ è
+ FLUSH
+ ;
+ 
+ 99 
+ 	`ex™
+ (1);
+ 
+ 102 #ifdeà
+ lšt
+ 
+ 
+ 103  
+ ±r
+ ;
+ 
+ 105 
+ 	}
+ }
+ 
+ 110 
+ 	$§ã»®loc
+ (
+ wh”e
+ ,
+ size
+ )
+ 
+ 111 *
+ wh”e
+ ;
+ 
+ 112 #iâdeà
+ MSDOS
+ 
+ 
+ 113 
+ MEM_SIZE
+  
+ size
+ ;
+ 
+ 115 
+ size
+ ;
+ 
+ 118 *
+ ±r
+ ;
+ 
+ 119 #iâdeà
+ __STDC__
+ 
+ 
+ 120 #ifdeà
+ BWGC
+ 
+ 
+ 121 *
+ 	`gc_»®loc
+ ();
+ 
+ 123 *
+ 	`»®loc
+ ();
+ 
+ 127 #ifdeà
+ MSDOS
+ 
+ 
+ 128 ià(
+ size
+  > 0xffff) {
+ 
+ 129 
+ 	`årštf
+ (
+ ¡d”r
+ , "R—ÎoÿtiځoØÏrge: %lx\n", 
+ size
+ è
+ FLUSH
+ ;
+ 
+ 130 
+ 	`ex™
+ (1);
+ 
+ 133 ià(!
+ wh”e
+ )
+ 
+ 134 
+ 	`çl
+ ("Null„ealloc");
+ 
+ 135 #ifdeà
+ DEBUGGING
+ 
+ 
+ 136 ià(()
+ size
+  < 0)
+ 
+ 137 
+ 	`çl
+ ("panic:„ealloc");
+ 
+ 139 #ifdeà
+ BWGC
+ 
+ 
+ 140 
+ ±r
+  = 
+ 	`gc_»®loc
+ (
+ wh”e
+ ,
+ size
+ ?size:1);
+ 
+ 142 
+ ±r
+  = 
+ 	`»®loc
+ (
+ wh”e
+ ,
+ size
+ ?size:1);
+ 
+ 144 #ifdeà
+ DEBUGGING
+ 
+ 
+ 145 #iâdeà
+ I286
+ 
+ 
+ 146 ià(
+ debug
+  & 128) {
+ 
+ 147 
+ 	`årštf
+ (
+ ¡d”r
+ ,"0x%x: (%05dèrä“\n",
+ wh”e
+ ,
+ ª
+ ++);
+ 
+ 148 
+ 	`årštf
+ (
+ ¡d”r
+ ,"0x%x: (%05dè»®loø%d by‹s\n",
+ ±r
+ ,
+ ª
+ ++,
+ size
+ );
+ 
+ 151 ià(
+ debug
+  & 128) {
+ 
+ 152 
+ 	`årštf
+ (
+ ¡d”r
+ ,"0x%lx: (%05dèrä“\n",
+ wh”e
+ ,
+ ª
+ ++);
+ 
+ 153 
+ 	`årštf
+ (
+ ¡d”r
+ ,"0x%lx: (%05dè»®loø%d by‹s\n",
+ ±r
+ ,
+ ª
+ ++,
+ size
+ );
+ 
+ 157 ià(
+ ±r
+  !ð
+ NuÎch
+ )
+ 
+ 158  
+ ±r
+ ;
+ 
+ 160 
+ 	`åuts
+ (
+ nomem
+ ,
+ ¡d”r
+ è
+ FLUSH
+ ;
+ 
+ 161 
+ 	`ex™
+ (1);
+ 
+ 164 #ifdeà
+ lšt
+ 
+ 
+ 165  
+ ±r
+ ;
+ 
+ 167 
+ 	}
+ }
+ 
+ 172 
+ 	$§ãä“
+ (
+ wh”e
+ )
+ 
+ 173 *
+ wh”e
+ ;
+ 
+ 175 #ifdeà
+ DEBUGGING
+ 
+ 
+ 176 #iâdeà
+ I286
+ 
+ 
+ 177 ià(
+ debug
+  & 128)
+ 
+ 178 
+ 	`årštf
+ (
+ ¡d”r
+ ,"0x%x: (%05dèä“\n",
+ wh”e
+ ,
+ ª
+ ++);
+ 
+ 180 ià(
+ debug
+  & 128)
+ 
+ 181 
+ 	`årštf
+ (
+ ¡d”r
+ ,"0x%lx: (%05dèä“\n",
+ wh”e
+ ,
+ ª
+ ++);
+ 
+ 184 #iâdeà
+ IGNOREFREE
+ 
+ 
+ 185 ià(
+ wh”e
+ ) {
+ 
+ 186 
+ 	`ä“
+ (
+ wh”e
+ );
+ 
+ 189 
+ 	}
+ }
+ 
+ 191 #ifdeà
+ LEAKTEST
+ 
+ 
+ 193 
+ 	#ALIGN
+  ()
+ 
+ 	)
+ 
+ 196 
+ 	$§ãxm®loc
+ (
+ x
+ ,
+ size
+ )
+ 
+ 197 
+ x
+ ;
+ 
+ 198 
+ MEM_SIZE
+  
+ size
+ ;
+ 
+ 200 *
+ wh”e
+ ;
+ 
+ 202 
+ wh”e
+  = 
+ 	`§ãm®loc
+ (
+ size
+  + 
+ ALIGN
+ );
+ 
+ 203 
+ xcouÁ
+ [
+ x
+ ]++;
+ 
+ 204 
+ wh”e
+ [0] = 
+ x
+  % 100;
+ 
+ 205 
+ wh”e
+ [1] = 
+ x
+  / 100;
+ 
+ 206  
+ wh”e
+  + 
+ ALIGN
+ ;
+ 
+ 207 
+ 	}
+ }
+ 
+ 210 
+ 	$§ãx»®loc
+ (
+ wh”e
+ ,
+ size
+ )
+ 
+ 211 *
+ wh”e
+ ;
+ 
+ 212 
+ MEM_SIZE
+  
+ size
+ ;
+ 
+ 214  
+ 	`§ã»®loc
+ (
+ wh”e
+  - 
+ ALIGN
+ , 
+ size
+  + ALIGN) + ALIGN;
+ 
+ 215 
+ 	}
+ }
+ 
+ 218 
+ 	$§ãxä“
+ (
+ wh”e
+ )
+ 
+ 219 *
+ wh”e
+ ;
+ 
+ 221 
+ x
+ ;
+ 
+ 223 ià(!
+ wh”e
+ )
+ 
+ 225 
+ wh”e
+  -ð
+ ALIGN
+ ;
+ 
+ 226 
+ x
+  = 
+ wh”e
+ [0] + 100 * where[1];
+ 
+ 227 
+ xcouÁ
+ [
+ x
+ ]--;
+ 
+ 228 
+ 	`§ãä“
+ (
+ wh”e
+ );
+ 
+ 229 
+ 	}
+ }
+ 
+ 231 
+ 	$x¡©
+ ()
+ 
+ 233 
+ i
+ ;
+ 
+ 235 
+ i
+  = 0; i < 
+ MAXXCOUNT
+ ; i++) {
+ 
+ 236 ià(
+ xcouÁ
+ [
+ i
+ ] !ð
+ Ï¡xcouÁ
+ [i]) {
+ 
+ 237 
+ 	`årštf
+ (
+ ¡d”r
+ ,"%2d %2d\t%ld\n", 
+ i
+  / 100, i % 100, 
+ xcouÁ
+ [i]);
+ 
+ 238 
+ Ï¡xcouÁ
+ [
+ i
+ ] = 
+ xcouÁ
+ [i];
+ 
+ 241 
+ 	}
+ }
+ 
+ 248 
+ 	$ýytžl
+ (
+ to
+ ,
+ äom
+ ,
+ äom’d
+ ,
+ d–im
+ ,
+ »Ž’
+ )
+ 
+ 249 *
+ to
+ ;
+ 
+ 250 *
+ äom
+ ;
+ 
+ 251 *
+ äom’d
+ ;
+ 
+ 252 
+ d–im
+ ;
+ 
+ 253 *
+ »Ž’
+ ;
+ 
+ 255 *
+ Üigto
+  = 
+ to
+ ;
+ 
+ 257 ; 
+ äom
+  < 
+ äom’d
+ ; from++,
+ to
+ ++) {
+ 
+ 258 ià(*
+ äom
+  == '\\') {
+ 
+ 259 ià(
+ äom
+ [1] =ð
+ d–im
+ )
+ 
+ 260 
+ äom
+ ++;
+ 
+ 261 ià(
+ äom
+ [1] == '\\')
+ 
+ 262 *
+ to
+ ++ = *
+ äom
+ ++;
+ 
+ 264 ià(*
+ äom
+  =ð
+ d–im
+ )
+ 
+ 266 *
+ to
+  = *
+ äom
+ ;
+ 
+ 268 *
+ to
+  = '\0';
+ 
+ 269 *
+ »Ž’
+  = 
+ to
+  - 
+ Üigto
+ ;
+ 
+ 270  
+ äom
+ ;
+ 
+ 271 
+ 	}
+ }
+ 
+ 277 
+ 	$š¡r
+ (
+ big
+ , 
+ l™Že
+ )
+ 
+ 278 *
+ big
+ ;
+ 
+ 279 *
+ l™Že
+ ;
+ 
+ 281 *
+ s
+ , *
+ x
+ ;
+ 
+ 282 
+ fœ¡
+ ;
+ 
+ 284 ià(!
+ l™Že
+ )
+ 
+ 285  
+ big
+ ;
+ 
+ 286 
+ fœ¡
+  = *
+ l™Že
+ ++;
+ 
+ 287 ià(!
+ fœ¡
+ )
+ 
+ 288  
+ big
+ ;
+ 
+ 289 *
+ big
+ ) {
+ 
+ 290 ià(*
+ big
+ ++ !ð
+ fœ¡
+ )
+ 
+ 292 
+ x
+ =
+ big
+ ,
+ s
+ =
+ l™Že
+ ; *s; ) {
+ 
+ 293 ià(!*
+ x
+ )
+ 
+ 294  
+ NuÎch
+ ;
+ 
+ 295 ià(*
+ s
+ ++ !ð*
+ x
+ ++) {
+ 
+ 296 
+ s
+ --;
+ 
+ 300 ià(!*
+ s
+ )
+ 
+ 301  
+ big
+ -1;
+ 
+ 303  
+ NuÎch
+ ;
+ 
+ 304 
+ 	}
+ }
+ 
+ 309 
+ 	$nš¡r
+ (
+ big
+ , 
+ big’d
+ , 
+ l™Že
+ , 
+ Ënd
+ )
+ 
+ 310 *
+ big
+ ;
+ 
+ 311 *
+ big’d
+ ;
+ 
+ 312 *
+ l™Že
+ ;
+ 
+ 313 *
+ Ënd
+ ;
+ 
+ 315 *
+ s
+ , *
+ x
+ ;
+ 
+ 316 
+ fœ¡
+  = *
+ l™Že
+ ;
+ 
+ 317 *
+ l™Ž“nd
+  = 
+ Ënd
+ ;
+ 
+ 319 ià(!
+ fœ¡
+  && 
+ l™Že
+  > 
+ l™Ž“nd
+ )
+ 
+ 320  
+ big
+ ;
+ 
+ 321 
+ big’d
+  -ð
+ l™Ž“nd
+  - 
+ l™Že
+ ++;
+ 
+ 322 
+ big
+  <ð
+ big’d
+ ) {
+ 
+ 323 ià(*
+ big
+ ++ !ð
+ fœ¡
+ )
+ 
+ 325 
+ x
+ =
+ big
+ ,
+ s
+ =
+ l™Že
+ ; s < 
+ l™Ž“nd
+ ; ) {
+ 
+ 326 ià(*
+ s
+ ++ !ð*
+ x
+ ++) {
+ 
+ 327 
+ s
+ --;
+ 
+ 331 ià(
+ s
+  >ð
+ l™Ž“nd
+ )
+ 
+ 332  
+ big
+ -1;
+ 
+ 334  
+ NuÎch
+ ;
+ 
+ 335 
+ 	}
+ }
+ 
+ 340 
+ 	$ºš¡r
+ (
+ big
+ , 
+ big’d
+ , 
+ l™Že
+ , 
+ Ënd
+ )
+ 
+ 341 *
+ big
+ ;
+ 
+ 342 *
+ big’d
+ ;
+ 
+ 343 *
+ l™Že
+ ;
+ 
+ 344 *
+ Ënd
+ ;
+ 
+ 346 *
+ bigbeg
+ ;
+ 
+ 347 *
+ s
+ , *
+ x
+ ;
+ 
+ 348 
+ fœ¡
+  = *
+ l™Že
+ ;
+ 
+ 349 *
+ l™Ž“nd
+  = 
+ Ënd
+ ;
+ 
+ 351 ià(!
+ fœ¡
+  && 
+ l™Že
+  > 
+ l™Ž“nd
+ )
+ 
+ 352  
+ big’d
+ ;
+ 
+ 353 
+ bigbeg
+  = 
+ big
+ ;
+ 
+ 354 
+ big
+  = 
+ big’d
+  - (
+ l™Ž“nd
+  - 
+ l™Že
+ ++);
+ 
+ 355 
+ big
+  >ð
+ bigbeg
+ ) {
+ 
+ 356 ià(*
+ big
+ -- !ð
+ fœ¡
+ )
+ 
+ 358 
+ x
+ =
+ big
+ +2,
+ s
+ =
+ l™Že
+ ; s < 
+ l™Ž“nd
+ ; ) {
+ 
+ 359 ià(*
+ s
+ ++ !ð*
+ x
+ ++) {
+ 
+ 360 
+ s
+ --;
+ 
+ 364 ià(
+ s
+  >ð
+ l™Ž“nd
+ )
+ 
+ 365  
+ big
+ +1;
+ 
+ 367  
+ NuÎch
+ ;
+ 
+ 368 
+ 	}
+ }
+ 
+ 370 
+ 	gfÞd
+ [] = {
+ 
+ 405 
+ 	gäeq
+ [] = {
+ 
+ 441 
+ 	$fbmcompže
+ (
+ ¡r
+ , 
+ iæag
+ )
+ 
+ 442 
+ STR
+  *
+ ¡r
+ ;
+ 
+ 443 
+ iæag
+ ;
+ 
+ 445 *
+ s
+ ;
+ 
+ 446 *
+ bË
+ ;
+ 
+ 447 
+ i
+ ;
+ 
+ 448 
+ Ën
+  = 
+ ¡r
+ ->
+ ¡r_cur
+ ;
+ 
+ 449 
+ ¿»¡
+  = 0;
+ 
+ 450 
+ äequ’cy
+  = 256;
+ 
+ 452 
+ 	`SŒ_Grow
+ (
+ ¡r
+ ,
+ Ën
+ +258);
+ 
+ 453 #iâdeà
+ lšt
+ 
+ 
+ 454 
+ bË
+  = (*)(
+ ¡r
+ ->
+ ¡r_±r
+  + 
+ Ën
+  + 1);
+ 
+ 456 
+ bË
+  = 
+ 	`NuÎ
+ (*);
+ 
+ 458 
+ s
+  = 
+ bË
+  - 2;
+ 
+ 459 
+ i
+  = 0; i < 256; i++) {
+ 
+ 460 
+ bË
+ [
+ i
+ ] = 
+ Ën
+ ;
+ 
+ 462 
+ i
+  = 0;
+ 
+ 463 #iâdeà
+ lšt
+ 
+ 
+ 464 
+ s
+  >ð(*)(
+ ¡r
+ ->
+ ¡r_±r
+ ))
+ 
+ 467 ià(
+ bË
+ [*
+ s
+ ] =ð
+ Ën
+ ) {
+ 
+ 468 #iâdeà
+ pdp11
+ 
+ 
+ 469 ià(
+ iæag
+ )
+ 
+ 470 
+ bË
+ [*
+ s
+ ] =abË[
+ fÞd
+ [*s]] = 
+ i
+ ;
+ 
+ 472 ià(
+ iæag
+ ) {
+ 
+ 473 
+ j
+ ;
+ 
+ 474 
+ j
+  = 
+ fÞd
+ [*
+ s
+ ];
+ 
+ 475 
+ bË
+ [
+ j
+ ] = 
+ i
+ ;
+ 
+ 476 
+ bË
+ [*
+ s
+ ] = 
+ i
+ ;
+ 
+ 480 
+ bË
+ [*
+ s
+ ] = 
+ i
+ ;
+ 
+ 482 
+ s
+ --,
+ i
+ ++;
+ 
+ 484 
+ ¡r
+ ->
+ ¡r_pok
+  |ð
+ SP_FBM
+ ;
+ 
+ 486 #iâdeà
+ lšt
+ 
+ 
+ 487 
+ s
+  = (*)(
+ ¡r
+ ->
+ ¡r_±r
+ );
+ 
+ 489 
+ s
+  = 
+ 	`NuÎ
+ (*);
+ 
+ 491 ià(
+ iæag
+ ) {
+ 
+ 492 
+ tmp
+ , 
+ fÞdtmp
+ ;
+ 
+ 493 
+ ¡r
+ ->
+ ¡r_pok
+  |ð
+ SP_CASEFOLD
+ ;
+ 
+ 494 
+ i
+  = 0; i < 
+ Ën
+ ; i++) {
+ 
+ 495 
+ tmp
+ =
+ äeq
+ [
+ s
+ [
+ i
+ ]];
+ 
+ 496 
+ fÞdtmp
+ =
+ äeq
+ [
+ fÞd
+ [
+ s
+ [
+ i
+ ]]];
+ 
+ 497 ià(
+ tmp
+  < 
+ äequ’cy
+  && 
+ fÞdtmp
+  < frequency) {
+ 
+ 498 
+ ¿»¡
+  = 
+ i
+ ;
+ 
+ 500 
+ äequ’cy
+  = (
+ tmp
+  > 
+ fÞdtmp
+ ) ?mp : foldtmp;
+ 
+ 505 
+ i
+  = 0; i < 
+ Ën
+ ; i++) {
+ 
+ 506 ià(
+ äeq
+ [
+ s
+ [
+ i
+ ]] < 
+ äequ’cy
+ ) {
+ 
+ 507 
+ ¿»¡
+  = 
+ i
+ ;
+ 
+ 508 
+ äequ’cy
+  = 
+ äeq
+ [
+ s
+ [
+ i
+ ]];
+ 
+ 512 
+ ¡r
+ ->
+ ¡r_¿»
+  = 
+ s
+ [
+ ¿»¡
+ ];
+ 
+ 513 
+ ¡r
+ ->
+ ¡r_¡©e
+  = 
+ ¿»¡
+ ;
+ 
+ 514 #ifdeà
+ DEBUGGING
+ 
+ 
+ 515 ià(
+ debug
+  & 512)
+ 
+ 516 
+ 	`årštf
+ (
+ ¡d”r
+ ,"¿»¡ ch¬ %ø© %d\n",
+ ¡r
+ ->
+ ¡r_¿»
+ , sŒ->
+ ¡r_¡©e
+ );
+ 
+ 518 
+ 	}
+ }
+ 
+ 521 
+ 	$fbmš¡r
+ (
+ big
+ , 
+ big’d
+ , 
+ l™Že¡r
+ )
+ 
+ 522 *
+ big
+ ;
+ 
+ 523 *
+ big’d
+ ;
+ 
+ 524 
+ STR
+  *
+ l™Že¡r
+ ;
+ 
+ 526 *
+ s
+ ;
+ 
+ 527 
+ tmp
+ ;
+ 
+ 528 
+ l™Ž–’
+ ;
+ 
+ 529 *
+ l™Že
+ ;
+ 
+ 530 *
+ bË
+ ;
+ 
+ 531 *
+ Þds
+ ;
+ 
+ 532 *
+ Þdl™Že
+ ;
+ 
+ 534 #iâdeà
+ lšt
+ 
+ 
+ 535 ià(!(
+ l™Že¡r
+ ->
+ ¡r_pok
+  & 
+ SP_FBM
+ ))
+ 
+ 536  
+ 	`nš¡r
+ ((*)
+ big
+ ,(*)
+ big’d
+ ,
+ 
+ 537 
+ l™Že¡r
+ ->
+ ¡r_±r
+ ,†™Že¡r->¡r_±¸+†™Že¡r->
+ ¡r_cur
+ );
+ 
+ 540 
+ l™Ž–’
+  = 
+ l™Že¡r
+ ->
+ ¡r_cur
+ ;
+ 
+ 541 #iâdeà
+ lšt
+ 
+ 
+ 542 ià(
+ l™Že¡r
+ ->
+ ¡r_pok
+  & 
+ SP_TAIL
+  && !
+ muÉžše
+ ) {
+ 
+ 543 ià(
+ l™Ž–’
+  > 
+ big’d
+  - 
+ big
+ )
+ 
+ 544  
+ NuÎch
+ ;
+ 
+ 545 
+ l™Že
+  = (*)
+ l™Že¡r
+ ->
+ ¡r_±r
+ ;
+ 
+ 546 ià(
+ l™Že¡r
+ ->
+ ¡r_pok
+  & 
+ SP_CASEFOLD
+ ) {
+ 
+ 547 
+ big
+  = 
+ big’d
+  - 
+ l™Ž–’
+ ;
+ 
+ 548 ià(
+ big’d
+ [-1] =ð'\n' && 
+ l™Že
+ [
+ l™Ž–’
+ -1] != '\n')
+ 
+ 549 
+ big
+ --;
+ 
+ 552 
+ s
+  = 
+ big’d
+  - 
+ l™Ž–’
+ ;
+ 
+ 553 ià(*
+ s
+  =ð*
+ l™Že
+  && 
+ 	`bcmp
+ (s,l™Že,
+ l™Ž–’
+ )==0)
+ 
+ 554  (*)
+ s
+ ;
+ 
+ 555 ià(
+ big’d
+ [-1] =ð'\n' && 
+ l™Že
+ [
+ l™Ž–’
+ -1] != '\n'
+ 
+ 556 && 
+ s
+  > 
+ big
+ ) {
+ 
+ 557 
+ s
+ --;
+ 
+ 558 ià(*
+ s
+  =ð*
+ l™Že
+  && 
+ 	`bcmp
+ (s,l™Že,
+ l™Ž–’
+ )==0)
+ 
+ 559  (*)
+ s
+ ;
+ 
+ 561  
+ NuÎch
+ ;
+ 
+ 564 
+ bË
+  = (*)(
+ l™Že¡r
+ ->
+ ¡r_±r
+  + 
+ l™Ž–’
+  + 1);
+ 
+ 566 
+ bË
+  = 
+ 	`NuÎ
+ (*);
+ 
+ 568 ià(--
+ l™Ž–’
+  >ð
+ big’d
+  - 
+ big
+ )
+ 
+ 569  
+ NuÎch
+ ;
+ 
+ 570 
+ s
+  = 
+ big
+  + 
+ l™Ž–’
+ ;
+ 
+ 571 
+ Þdl™Že
+  = 
+ l™Že
+  = 
+ bË
+  - 2;
+ 
+ 572 ià(
+ l™Že¡r
+ ->
+ ¡r_pok
+  & 
+ SP_CASEFOLD
+ ) {
+ 
+ 573 ià(
+ s
+  < 
+ big’d
+ ) {
+ 
+ 574 
+ tÝ1
+ :
+ 
+ 575 ià(
+ tmp
+  = 
+ bË
+ [*
+ s
+ ]) {
+ 
+ 576 #ifdeà
+ POINTERRIGOR
+ 
+ 
+ 577 ià(
+ big’d
+  - 
+ s
+  > 
+ tmp
+ ) {
+ 
+ 578 
+ s
+  +ð
+ tmp
+ ;
+ 
+ 579 
+ tÝ1
+ ;
+ 
+ 582 ià((
+ s
+  +ð
+ tmp
+ è< 
+ big’d
+ )
+ 
+ 583 
+ tÝ1
+ ;
+ 
+ 585  
+ NuÎch
+ ;
+ 
+ 588 
+ tmp
+  = 
+ l™Ž–’
+ ;
+ 
+ 589 
+ Þds
+  = 
+ s
+ ;
+ 
+ 590 
+ tmp
+ --) {
+ 
+ 591 ià(*--
+ s
+  =ð*--
+ l™Že
+  || 
+ fÞd
+ [*s] == *little)
+ 
+ 593 
+ s
+  = 
+ Þds
+  + 1;
+ 
+ 594 
+ l™Že
+  = 
+ Þdl™Že
+ ;
+ 
+ 595 ià(
+ s
+  < 
+ big’d
+ )
+ 
+ 596 
+ tÝ1
+ ;
+ 
+ 597  
+ NuÎch
+ ;
+ 
+ 599 #iâdeà
+ lšt
+ 
+ 
+ 600  (*)
+ s
+ ;
+ 
+ 606 ià(
+ s
+  < 
+ big’d
+ ) {
+ 
+ 607 
+ tÝ2
+ :
+ 
+ 608 ià(
+ tmp
+  = 
+ bË
+ [*
+ s
+ ]) {
+ 
+ 609 #ifdeà
+ POINTERRIGOR
+ 
+ 
+ 610 ià(
+ big’d
+  - 
+ s
+  > 
+ tmp
+ ) {
+ 
+ 611 
+ s
+  +ð
+ tmp
+ ;
+ 
+ 612 
+ tÝ2
+ ;
+ 
+ 615 ià((
+ s
+  +ð
+ tmp
+ è< 
+ big’d
+ )
+ 
+ 616 
+ tÝ2
+ ;
+ 
+ 618  
+ NuÎch
+ ;
+ 
+ 621 
+ tmp
+  = 
+ l™Ž–’
+ ;
+ 
+ 622 
+ Þds
+  = 
+ s
+ ;
+ 
+ 623 
+ tmp
+ --) {
+ 
+ 624 ià(*--
+ s
+  =ð*--
+ l™Že
+ )
+ 
+ 626 
+ s
+  = 
+ Þds
+  + 1;
+ 
+ 627 
+ l™Že
+  = 
+ Þdl™Že
+ ;
+ 
+ 628 ià(
+ s
+  < 
+ big’d
+ )
+ 
+ 629 
+ tÝ2
+ ;
+ 
+ 630  
+ NuÎch
+ ;
+ 
+ 632 #iâdeà
+ lšt
+ 
+ 
+ 633  (*)
+ s
+ ;
+ 
+ 638  
+ NuÎch
+ ;
+ 
+ 639 
+ 	}
+ }
+ 
+ 642 
+ 	$sü—mš¡r
+ (
+ big¡r
+ , 
+ l™Že¡r
+ )
+ 
+ 643 
+ STR
+  *
+ big¡r
+ ;
+ 
+ 644 
+ STR
+  *
+ l™Že¡r
+ ;
+ 
+ 646 *
+ s
+ , *
+ x
+ ;
+ 
+ 647 *
+ big
+ ;
+ 
+ 648 
+ pos
+ ;
+ 
+ 649 
+ ´evious
+ ;
+ 
+ 650 
+ fœ¡
+ ;
+ 
+ 651 *
+ l™Že
+ ;
+ 
+ 652 *
+ big’d
+ ;
+ 
+ 653 *
+ l™Ž“nd
+ ;
+ 
+ 655 ià((
+ pos
+  = 
+ sü—mfœ¡
+ [
+ l™Že¡r
+ ->
+ ¡r_¿»
+ ]) < 0)
+ 
+ 656  
+ NuÎch
+ ;
+ 
+ 657 #iâdeà
+ lšt
+ 
+ 
+ 658 
+ l™Že
+  = (*)(
+ l™Že¡r
+ ->
+ ¡r_±r
+ );
+ 
+ 660 
+ l™Že
+  = 
+ 	`NuÎ
+ (*);
+ 
+ 662 
+ l™Ž“nd
+  = 
+ l™Že
+  + 
+ l™Že¡r
+ ->
+ ¡r_cur
+ ;
+ 
+ 663 
+ fœ¡
+  = *
+ l™Že
+ ++;
+ 
+ 664 
+ ´evious
+  = 
+ l™Že¡r
+ ->
+ ¡r_¡©e
+ ;
+ 
+ 665 #iâdeà
+ lšt
+ 
+ 
+ 666 
+ big
+  = (*)(
+ big¡r
+ ->
+ ¡r_±r
+ );
+ 
+ 668 
+ big
+  = 
+ 	`NuÎ
+ (*);
+ 
+ 670 
+ big’d
+  = 
+ big
+  + 
+ big¡r
+ ->
+ ¡r_cur
+ ;
+ 
+ 671 
+ big
+  -ð
+ ´evious
+ ;
+ 
+ 672 
+ pos
+  < 
+ ´evious
+ ) {
+ 
+ 673 #iâdeà
+ lšt
+ 
+ 
+ 674 ià(!(
+ pos
+  +ð
+ sü—mÃxt
+ [pos]))
+ 
+ 676  
+ NuÎch
+ ;
+ 
+ 678 ià(
+ l™Že¡r
+ ->
+ ¡r_pok
+  & 
+ SP_CASEFOLD
+ ) {
+ 
+ 680 ià(
+ big
+ [
+ pos
+ ] !ð
+ fœ¡
+  && big[pos] !ð
+ fÞd
+ [first])
+ 
+ 682 
+ x
+ =
+ big
+ +
+ pos
+ +1,
+ s
+ =
+ l™Že
+ ; s < 
+ l™Ž“nd
+ ; ) {
+ 
+ 683 ià(
+ x
+  >ð
+ big’d
+ )
+ 
+ 684  
+ NuÎch
+ ;
+ 
+ 685 ià(*
+ s
+ ++ !ð*
+ x
+ ++ && 
+ fÞd
+ [*(s-1)] != *(x-1)) {
+ 
+ 686 
+ s
+ --;
+ 
+ 690 ià(
+ s
+  =ð
+ l™Ž“nd
+ )
+ 
+ 691 #iâdeà
+ lšt
+ 
+ 
+ 692  (*)(
+ big
+ +
+ pos
+ );
+ 
+ 694  
+ NuÎch
+ ;
+ 
+ 697 #iâdeà
+ lšt
+ 
+ 
+ 698 
+ pos
+  +ð
+ sü—mÃxt
+ [pos]
+ 
+ 700 
+ pos
+  +ð
+ sü—mÃxt
+ [0]
+ 
+ 706 ià(
+ big
+ [
+ pos
+ ] !ð
+ fœ¡
+ )
+ 
+ 708 
+ x
+ =
+ big
+ +
+ pos
+ +1,
+ s
+ =
+ l™Že
+ ; s < 
+ l™Ž“nd
+ ; ) {
+ 
+ 709 ià(
+ x
+  >ð
+ big’d
+ )
+ 
+ 710  
+ NuÎch
+ ;
+ 
+ 711 ià(*
+ s
+ ++ !ð*
+ x
+ ++) {
+ 
+ 712 
+ s
+ --;
+ 
+ 716 ià(
+ s
+  =ð
+ l™Ž“nd
+ )
+ 
+ 717 #iâdeà
+ lšt
+ 
+ 
+ 718  (*)(
+ big
+ +
+ pos
+ );
+ 
+ 720  
+ NuÎch
+ ;
+ 
+ 723 #iâdeà
+ lšt
+ 
+ 
+ 724 
+ pos
+  +ð
+ sü—mÃxt
+ [pos]
+ 
+ 726 
+ pos
+  +ð
+ sü—mÃxt
+ [0]
+ 
+ 730  
+ NuÎch
+ ;
+ 
+ 731 
+ 	}
+ }
+ 
+ 736 
+ 	$§ve¡r
+ (
+ ¡r
+ )
+ 
+ 737 *
+ ¡r
+ ;
+ 
+ 739 *
+ Ãwaddr
+ ;
+ 
+ 741 
+ 	`New
+ (902,
+ Ãwaddr
+ ,
+ 	`¡¾’
+ (
+ ¡r
+ )+1,);
+ 
+ 742 ()
+ 	`¡rýy
+ (
+ Ãwaddr
+ ,
+ ¡r
+ );
+ 
+ 743  
+ Ãwaddr
+ ;
+ 
+ 744 
+ 	}
+ }
+ 
+ 749 
+ 	$n§ve¡r
+ (
+ ¡r
+ , 
+ Ën
+ )
+ 
+ 750 *
+ ¡r
+ ;
+ 
+ 751 
+ Ën
+ ;
+ 
+ 753 *
+ Ãwaddr
+ ;
+ 
+ 755 
+ 	`New
+ (903,
+ Ãwaddr
+ ,
+ Ën
+ +1,);
+ 
+ 756 ()
+ 	`bcÝy
+ (
+ ¡r
+ ,
+ Ãwaddr
+ ,
+ Ën
+ );
+ 
+ 757 
+ Ãwaddr
+ [
+ Ën
+ ] = '\0';
+ 
+ 758  
+ Ãwaddr
+ ;
+ 
+ 759 
+ 	}
+ }
+ 
+ 764 
+ 	$grow¡r
+ (
+ ¡½Œ
+ ,
+ cu¾’
+ ,
+ ÃwËn
+ )
+ 
+ 765 **
+ ¡½Œ
+ ;
+ 
+ 766 *
+ cu¾’
+ ;
+ 
+ 767 
+ ÃwËn
+ ;
+ 
+ 769 ià(
+ ÃwËn
+  > *
+ cu¾’
+ ) {
+ 
+ 770 ià(*
+ cu¾’
+ )
+ 
+ 771 
+ 	`R’ew
+ (*
+ ¡½Œ
+ ,
+ ÃwËn
+ ,);
+ 
+ 773 
+ 	`New
+ (905,*
+ ¡½Œ
+ ,
+ ÃwËn
+ ,);
+ 
+ 774 *
+ cu¾’
+  = 
+ ÃwËn
+ ;
+ 
+ 776 
+ 	}
+ }
+ 
+ 778 #iâdeà
+ I_VARARGS
+ 
+ 
+ 780 
+ 	$mess
+ (
+ ·t
+ ,
+ a1
+ ,
+ a2
+ ,
+ a3
+ ,
+ a4
+ )
+ 
+ 781 *
+ ·t
+ ;
+ 
+ 782 
+ a1
+ , 
+ a2
+ , 
+ a3
+ , 
+ a4
+ ;
+ 
+ 784 *
+ s
+ ;
+ 
+ 786 
+ s
+  = 
+ buf
+ ;
+ 
+ 787 ()
+ 	`¥rštf
+ (
+ s
+ ,
+ ·t
+ ,
+ a1
+ ,
+ a2
+ ,
+ a3
+ ,
+ a4
+ );
+ 
+ 788 
+ s
+  +ð
+ 	`¡¾’
+ (s);
+ 
+ 789 ià(
+ s
+ [-1] != '\n') {
+ 
+ 790 ià(
+ curcmd
+ ->
+ c_lše
+ ) {
+ 
+ 791 ()
+ 	`¥rštf
+ (
+ s
+ ,"‡t %s†ine %ld",
+ 
+ 792 
+ 	`¡ab_v®
+ (
+ curcmd
+ ->
+ c_fže¡ab
+ )->
+ ¡r_±r
+ , ()curcmd->
+ c_lše
+ );
+ 
+ 793 
+ s
+  +ð
+ 	`¡¾’
+ (s);
+ 
+ 795 ià(
+ Ï¡_š_¡ab
+  &&
+ 
+ 796 
+ 	`¡ab_io
+ (
+ Ï¡_š_¡ab
+ ) &&
+ 
+ 797 
+ 	`¡ab_io
+ (
+ Ï¡_š_¡ab
+ )->
+ lšes
+  ) {
+ 
+ 798 ()
+ 	`¥rštf
+ (
+ s
+ ,", <%s>†ine %ld",
+ 
+ 799 
+ Ï¡_š_¡ab
+  =ð
+ ¬gv¡ab
+  ? "" : 
+ 	`¡ab_Çme
+ (last_in_stab),
+ 
+ 800 ()
+ 	`¡ab_io
+ (
+ Ï¡_š_¡ab
+ )->
+ lšes
+ );
+ 
+ 801 
+ s
+  +ð
+ 	`¡¾’
+ (s);
+ 
+ 803 ()
+ 	`¡rýy
+ (
+ s
+ ,".\n");
+ 
+ 805 
+ 	}
+ }
+ 
+ 808 
+ 	$çl
+ (
+ ·t
+ ,
+ a1
+ ,
+ a2
+ ,
+ a3
+ ,
+ a4
+ )
+ 
+ 809 *
+ ·t
+ ;
+ 
+ 810 
+ a1
+ , 
+ a2
+ , 
+ a3
+ , 
+ a4
+ ;
+ 
+ 812 
+ FILE
+  *
+ e_å
+ ;
+ 
+ 813 
*
+ e_tm²ame
+ ;
+ 
+ 814 *
+ tmps
+ ;
+ 
+ 816 
+ 	`mess
+ (
+ ·t
+ ,
+ a1
+ ,
+ a2
+ ,
+ a3
+ ,
+ a4
+ );
+ 
+ 817 ià(
+ š_ev®
+ ) {
+ 
+ 818 
+ 	`¡r_£t
+ (
+ 	`¡ab_v®
+ (
+ 	`¡ab’t
+ ("@",
+ TRUE
+ )),
+ buf
+ );
+ 
+ 819 
+ tmps
+  = "_EVAL_";
+ 
+ 820 
+ loÝ_±r
+  >ð0 && (!
+ loÝ_¡ack
+ [loÝ_±r].
+ loÝ_Ïb–
+  ||
+ 
+ 821 
+ 	`¡rNE
+ (
+ tmps
+ ,
+ loÝ_¡ack
+ [
+ loÝ_±r
+ ].
+ loÝ_Ïb–
+ ) )) {
+ 
+ 822 #ifdeà
+ DEBUGGING
+ 
+ 
+ 823 ià(
+ debug
+  & 4) {
+ 
+ 824 
+ 	`deb
+ ("(Skpšg†ab– #%d %s)\n",
+ loÝ_±r
+ ,
+ 
+ 825 
+ loÝ_¡ack
+ [
+ loÝ_±r
+ ].
+ loÝ_Ïb–
+ );
+ 
+ 828 
+ loÝ_±r
+ --;
+ 
+ 830 #ifdeà
+ DEBUGGING
+ 
+ 
+ 831 ià(
+ debug
+  & 4) {
+ 
+ 832 
+ 	`deb
+ ("(Found†ab– #%d %s)\n",
+ loÝ_±r
+ ,
+ 
+ 833 
+ loÝ_¡ack
+ [
+ loÝ_±r
+ ].
+ loÝ_Ïb–
+ );
+ 
+ 836 ià(
+ loÝ_±r
+  < 0) {
+ 
+ 837 
+ š_ev®
+  = 0;
+ 
+ 838 
+ 	`çl
+ ("Bad†ab–: %s", 
+ tmps
+ );
+ 
+ 840 
+ 	`lÚgjmp
+ (
+ loÝ_¡ack
+ [
+ loÝ_±r
+ ].
+ loÝ_’v
+ , 1);
+ 
+ 842 
+ 	`åuts
+ (
+ buf
+ ,
+ ¡d”r
+ );
+ 
+ 843 ()
+ 	`fæush
+ (
+ ¡d”r
+ );
+ 
+ 844 ià(
+ e_å
+ )
+ 
+ 845 ()
+ 	`UNLINK
+ (
+ e_tm²ame
+ );
+ 
+ 846 
+ ¡©usv®ue
+  >>= 8;
+ 
+ 847 
+ 	`ex™
+ (()((
+ Ӽo
+ &255)?Ӽo:((
+ ¡©usv®ue
+ &255)?statusvalue:255)));
+ 
+ 848 
+ 	}
+ }
+ 
+ 851 
+ 	$w¬n
+ (
+ ·t
+ ,
+ a1
+ ,
+ a2
+ ,
+ a3
+ ,
+ a4
+ )
+ 
+ 852 *
+ ·t
+ ;
+ 
+ 853 
+ a1
+ , 
+ a2
+ , 
+ a3
+ , 
+ a4
+ ;
+ 
+ 855 
+ 	`mess
+ (
+ ·t
+ ,
+ a1
+ ,
+ a2
+ ,
+ a3
+ ,
+ a4
+ );
+ 
+ 856 
+ 	`åuts
+ (
+ buf
+ ,
+ ¡d”r
+ );
+ 
+ 857 #ifdeà
+ LEAKTEST
+ 
+ 
+ 858 #ifdeà
+ DEBUGGING
+ 
+ 
+ 859 ià(
+ debug
+  & 4096)
+ 
+ 860 
+ 	`x¡©
+ ();
+ 
+ 863 ()
+ 	`fæush
+ (
+ ¡d”r
+ );
+ 
+ 864 
+ 	}
+ }
+ 
+ 867 
+ 	$mess
+ (
+ ¬gs
+ )
+ 
+ 868 
+ va_li¡
+  
+ ¬gs
+ ;
+ 
+ 870 *
+ ·t
+ ;
+ 
+ 871 *
+ s
+ ;
+ 
+ 872 #ifdeà
+ CHARVSPRINTF
+ 
+ 
+ 873 *
+ 	`v¥rštf
+ ();
+ 
+ 875 
+ 	`v¥rštf
+ ();
+ 
+ 878 
+ s
+  = 
+ buf
+ ;
+ 
+ 879 #ifdeà
+ lšt
+ 
+ 
+ 880 
+ ·t
+  = 
+ NuÎch
+ ;
+ 
+ 882 
+ ·t
+  = 
+ 	`va_¬g
+ (
+ ¬gs
+ , *);
+ 
+ 884 (è
+ 	`v¥rštf
+ (
+ s
+ ,
+ ·t
+ ,
+ ¬gs
+ );
+ 
+ 886 
+ s
+  +ð
+ 	`¡¾’
+ (s);
+ 
+ 887 ià(
+ s
+ [-1] != '\n') {
+ 
+ 888 ià(
+ curcmd
+ ->
+ c_lše
+ ) {
+ 
+ 889 ()
+ 	`¥rštf
+ (
+ s
+ ,"‡t %s†ine %ld",
+ 
+ 890 
+ 	`¡ab_v®
+ (
+ curcmd
+ ->
+ c_fže¡ab
+ )->
+ ¡r_±r
+ , ()curcmd->
+ c_lše
+ );
+ 
+ 891 
+ s
+  +ð
+ 	`¡¾’
+ (s);
+ 
+ 893 ià(
+ Ï¡_š_¡ab
+  &&
+ 
+ 894 
+ 	`¡ab_io
+ (
+ Ï¡_š_¡ab
+ ) &&
+ 
+ 895 
+ 	`¡ab_io
+ (
+ Ï¡_š_¡ab
+ )->
+ lšes
+  ) {
+ 
+ 896 ()
+ 	`¥rštf
+ (
+ s
+ ,", <%s>†ine %ld",
+ 
+ 897 
+ Ï¡_š_¡ab
+  =ð
+ ¬gv¡ab
+  ? "" :†a¡_š_¡ab->
+ ¡r_magic
+ ->
+ ¡r_±r
+ ,
+ 
+ 898 ()
+ 	`¡ab_io
+ (
+ Ï¡_š_¡ab
+ )->
+ lšes
+ );
+ 
+ 899 
+ s
+  +ð
+ 	`¡¾’
+ (s);
+ 
+ 901 ()
+ 	`¡rýy
+ (
+ s
+ ,".\n");
+ 
+ 903 
+ 	}
+ }
+ 
+ 906 
+ 	$çl
+ (
+ va_®i¡
+ )
+ 
+ 907 
+ va_dþ
+ 
+ 
+ 909 
+ va_li¡
+  
+ ¬gs
+ ;
+ 
+ 910 
+ FILE
+  *
+ e_å
+ ;
+ 
+ 911 
*
+ e_tm²ame
+ ;
+ 
+ 912 *
+ tmps
+ ;
+ 
+ 914 #iâdeà
+ lšt
+ 
+ 
+ 915 
+ 	`va_¡¬t
+ (
+ ¬gs
+ );
+ 
+ 917 
+ ¬gs
+  = 0;
+ 
+ 919 
+ 	`mess
+ (
+ ¬gs
+ );
+ 
+ 920 
+ 	`va_’d
+ (
+ ¬gs
+ );
+ 
+ 921 ià(
+ š_ev®
+ ) {
+ 
+ 922 
+ 	`¡r_£t
+ (
+ 	`¡ab_v®
+ (
+ 	`¡ab’t
+ ("@",
+ TRUE
+ )),
+ buf
+ );
+ 
+ 923 
+ tmps
+  = "_EVAL_";
+ 
+ 924 
+ loÝ_±r
+  >ð0 && (!
+ loÝ_¡ack
+ [loÝ_±r].
+ loÝ_Ïb–
+  ||
+ 
+ 925 
+ 	`¡rNE
+ (
+ tmps
+ ,
+ loÝ_¡ack
+ [
+ loÝ_±r
+ ].
+ loÝ_Ïb–
+ ) )) {
+ 
+ 926 #ifdeà
+ DEBUGGING
+ 
+ 
+ 927 ià(
+ debug
+  & 4) {
+ 
+ 928 
+ 	`deb
+ ("(Skpšg†ab– #%d %s)\n",
+ loÝ_±r
+ ,
+ 
+ 929 
+ loÝ_¡ack
+ [
+ loÝ_±r
+ ].
+ loÝ_Ïb–
+ );
+ 
+ 932 
+ loÝ_±r
+ --;
+ 
+ 934 #ifdeà
+ DEBUGGING
+ 
+ 
+ 935 ià(
+ debug
+  & 4) {
+ 
+ 936 
+ 	`deb
+ ("(Found†ab– #%d %s)\n",
+ loÝ_±r
+ ,
+ 
+ 937 
+ loÝ_¡ack
+ [
+ loÝ_±r
+ ].
+ loÝ_Ïb–
+ );
+ 
+ 940 ià(
+ loÝ_±r
+  < 0) {
+ 
+ 941 
+ š_ev®
+  = 0;
+ 
+ 942 
+ 	`çl
+ ("Bad†ab–: %s", 
+ tmps
+ );
+ 
+ 944 
+ 	`lÚgjmp
+ (
+ loÝ_¡ack
+ [
+ loÝ_±r
+ ].
+ loÝ_’v
+ , 1);
+ 
+ 946 
+ 	`åuts
+ (
+ buf
+ ,
+ ¡d”r
+ );
+ 
+ 947 ()
+ 	`fæush
+ (
+ ¡d”r
+ );
+ 
+ 948 ià(
+ e_å
+ )
+ 
+ 949 ()
+ 	`UNLINK
+ (
+ e_tm²ame
+ );
+ 
+ 950 
+ ¡©usv®ue
+  >>= 8;
+ 
+ 951 
+ 	`ex™
+ (()((
+ Ӽo
+ &255)?Ӽo:((
+ ¡©usv®ue
+ &255)?statusvalue:255)));
+ 
+ 952 
+ 	}
+ }
+ 
+ 955 
+ 	$w¬n
+ (
+ va_®i¡
+ )
+ 
+ 956 
+ va_dþ
+ 
+ 
+ 958 
+ va_li¡
+  
+ ¬gs
+ ;
+ 
+ 960 #iâdeà
+ lšt
+ 
+ 
+ 961 
+ 	`va_¡¬t
+ (
+ ¬gs
+ );
+ 
+ 963 
+ ¬gs
+  = 0;
+ 
+ 965 
+ 	`mess
+ (
+ ¬gs
+ );
+ 
+ 966 
+ 	`va_’d
+ (
+ ¬gs
+ );
+ 
+ 968 
+ 	`åuts
+ (
+ buf
+ ,
+ ¡d”r
+ );
+ 
+ 969 #ifdeà
+ LEAKTEST
+ 
+ 
+ 970 #ifdeà
+ DEBUGGING
+ 
+ 
+ 971 ià(
+ debug
+  & 4096)
+ 
+ 972 
+ 	`x¡©
+ ();
+ 
+ 975 ()
+ 	`fæush
+ (
+ ¡d”r
+ );
+ 
+ 976 
+ 	}
+ }
+ 
+ 980 
+ 	$my_£‹nv
+ (
+ Çm
+ ,
+ v®
+ )
+ 
+ 981 *
+ Çm
+ , *
+ v®
+ ;
+ 
+ 983 
+ i
+ =
+ 	`’vix
+ (
+ Çm
+ );
+ 
+ 985 ià(
+ ’vœÚ
+  =ð
+ Üig’vœÚ
+ ) {
+ 
+ 986 
+ j
+ ;
+ 
+ 987 
+ max
+ ;
+ 
+ 988 **
+ tm³nv
+ ;
+ 
+ 990 
+ max
+  = 
+ i
+ ; 
+ ’vœÚ
+ [max]; max++) ;
+ 
+ 991 
+ 	`New
+ (901,
+ tm³nv
+ , 
+ max
+ +2, *);
+ 
+ 992 
+ j
+ =0; j<
+ max
+ ; j++)
+ 
+ 993 
+ tm³nv
+ [
+ j
+ ] = 
+ 	`§ve¡r
+ (
+ ’vœÚ
+ [j]);
+ 
+ 994 
+ tm³nv
+ [
+ max
+ ] = 
+ NuÎch
+ ;
+ 
+ 995 
+ ’vœÚ
+  = 
+ tm³nv
+ ;
+ 
+ 997 ià(!
+ v®
+ ) {
+ 
+ 998 
+ ’vœÚ
+ [
+ i
+ ]) {
+ 
+ 999 
+ ’vœÚ
+ [
+ i
+ ] =ƒnviron[i+1];
+ 
+ 1000 
+ i
+ ++;
+ 
+ 1004 ià(!
+ ’vœÚ
+ [
+ i
+ ]) {
+ 
+ 1005 
+ 	`R’ew
+ (
+ ’vœÚ
+ , 
+ i
+ +2, *);
+ 
+ 1006 
+ ’vœÚ
+ [
+ i
+ +1] = 
+ NuÎch
+ ;
+ 
+ 1009 
+ 	`Saãä“
+ (
+ ’vœÚ
+ [
+ i
+ ]);
+ 
+ 1010 
+ 	`New
+ (904, 
+ ’vœÚ
+ [
+ i
+ ], 
+ 	`¡¾’
+ (
+ Çm
+ è+ sŒËn(
+ v®
+ ) + 2, );
+ 
+ 1011 #iâdeà
+ MSDOS
+ 
+ 
+ 1012 ()
+ 	`¥rštf
+ (
+ ’vœÚ
+ [
+ i
+ ],"%s=%s",
+ Çm
+ ,
+ v®
+ );
+ 
+ 1019 
+ 	`¡rýy
+ (
+ ’vœÚ
+ [
+ i
+ ],
+ Çm
+ ); 
+ 	`¡ru´
+ (environ[i]);
+ 
+ 1020 ()
+ 	`¥rštf
+ (
+ ’vœÚ
+ [
+ i
+ ] + 
+ 	`¡¾’
+ (
+ Çm
+ ),"=%s",
+ v®
+ );
+ 
+ 1022 
+ 	}
+ }
+ 
+ 1025 
+ 	$’vix
+ (
+ Çm
+ )
+ 
+ 1026 *
+ Çm
+ ;
+ 
+ 1028 
+ i
+ , 
+ Ën
+  = 
+ 	`¡¾’
+ (
+ Çm
+ );
+ 
+ 1030 
+ i
+  = 0; 
+ ’vœÚ
+ [i]; i++) {
+ 
+ 1031 ià(
+ 	`¡ºEQ
+ (
+ ’vœÚ
+ [
+ i
+ ],
+ Çm
+ ,
+ Ën
+ ) &&ƒnviron[i][len] == '=')
+ 
+ 1034  
+ i
+ ;
+ 
+ 1035 
+ 	}
+ }
+ 
+ 1037 #ifdeà
+ EUNICE
+ 
+ 
+ 1038 
+ 	$uÆnk
+ (
+ f
+ )
+ 
+ 1039 *
+ f
+ ;
+ 
+ 1041 
+ i
+ ;
+ 
+ 1043 
+ i
+  = 0; 
+ 	`uƚk
+ (
+ f
+ ) >= 0; i++) ;
+ 
+ 1044  
+ i
+  ? 0 : -1;
+ 
+ 1045 
+ 	}
+ }
+ 
+ 1048 #iâdeà
+ HAS_MEMCPY
+ 
+ 
+ 1049 #iâdeà
+ HAS_BCOPY
+ 
+ 
+ 1051 
+ 	$bcÝy
+ (
+ äom
+ ,
+ to
+ ,
+ Ën
+ )
+ 
+ 1052 *
+ äom
+ ;
+ 
+ 1053 *
+ to
+ ;
+ 
+ 1054 
+ Ën
+ ;
+ 
+ 1056 *
+ »tv®
+  = 
+ to
+ ;
+ 
+ 1058 
+ Ën
+ --)
+ 
+ 1059 *
+ to
+ ++ = *
+ äom
+ ++;
+ 
+ 1060  
+ »tv®
+ ;
+ 
+ 1061 
+ 	}
+ }
+ 
+ 1064 #iâdeà
+ HAS_BZERO
+ 
+ 
+ 1066 
+ 	$bz”o
+ (
+ loc
+ ,
+ Ën
+ )
+ 
+ 1067 *
+ loc
+ ;
+ 
+ 1068 
+ Ën
+ ;
+ 
+ 1070 *
+ »tv®
+  = 
+ loc
+ ;
+ 
+ 1072 
+ Ën
+ --)
+ 
+ 1073 *
+ loc
+ ++ = 0;
+ 
+ 1074  
+ »tv®
+ ;
+ 
+ 1075 
+ 	}
+ }
+ 
+ 1079 #ifdeà
+ I_VARARGS
+ 
+ 
+ 1080 #iâdeà
+ HAS_VPRINTF
+ 
+ 
+ 1082 #ifdeà
+ CHARVSPRINTF
+ 
+ 
+ 1087 
+ 	$v¥rštf
+ (
+ de¡
+ , 
+ ·t
+ , 
+ ¬gs
+ )
+ 
+ 1088 *
+ de¡
+ , *
+ ·t
+ , *
+ ¬gs
+ ;
+ 
+ 1090 
+ FILE
+  
+ çkebuf
+ ;
+ 
+ 1092 
+ çkebuf
+ .
+ _±r
+  = 
+ de¡
+ ;
+ 
+ 1093 
+ çkebuf
+ .
+ _út
+  = 32767;
+ 
+ 1094 #iâdeà
+ _IOSTRG
+ 
+ 
+ 1095 
+ 	#_IOSTRG
+  0
+ 
+ 	)
+ 
+ 1097 
+ çkebuf
+ .
+ _æag
+  = 
+ _IOWRT
+ |
+ _IOSTRG
+ ;
+ 
+ 1098 
+ 	`_dݺt
+ (
+ ·t
+ , 
+ ¬gs
+ , &
+ çkebuf
+ );
+ 
+ 1099 ()
+ 	`putc
+ ('\0', &
+ çkebuf
+ );
+ 
+ 1100 #ifdeà
+ CHARVSPRINTF
+ 
+ 
+ 1101 (
+ de¡
+ );
+ 
+ 1105 
+ 	}
+ }
+ 
+ 1107 #ifdeà
+ DEBUGGING
+ 
+ 
+ 1109 
+ 	$vårštf
+ (
+ fd
+ , 
+ ·t
+ , 
+ ¬gs
+ )
+ 
+ 1110 
+ FILE
+  *
+ fd
+ ;
+ 
+ 1111 *
+ ·t
+ , *
+ ¬gs
+ ;
+ 
+ 1113 
+ 	`_dݺt
+ (
+ ·t
+ , 
+ ¬gs
+ , 
+ fd
+ );
+ 
+ 1115 
+ 	}
+ }
+ 
+ 1120 #ifdeà
+ MYSWAP
+ 
+ 
+ 1121 #ià
+ BYTEORDER
+  != 0x4321
+ 
+ 1123 
+ 	$my_sw­
+ (
+ s
+ )
+ 
+ 1124 
+ s
+ ;
+ 
+ 1126 #ià(
+ BYTEORDER
+  & 1) == 0
+ 
+ 1127 
+ »suÉ
+ ;
+ 
+ 1129 
+ »suÉ
+  = ((
+ s
+  & 255) << 8) + ((s >> 8) & 255);
+ 
+ 1130  
+ »suÉ
+ ;
+ 
+ 1132  
+ s
+ ;
+ 
+ 1134 
+ 	}
+ }
+ 
+ 1137 
+ 	$htÚl
+ (
+ l
+ )
+ 
+ 1138 
+ l
+ ;
+ 
+ 1141 
+ »suÉ
+ ;
+ 
+ 1142 
+ c
+ [()];
+ 
+ 1143 } 
+ u
+ ;
+ 
+ 1145 #ià
+ BYTEORDER
+  == 0x1234
+ 
+ 1146 
+ u
+ .
+ c
+ [0] = (
+ l
+  >> 24) & 255;
+ 
+ 1147 
+ u
+ .
+ c
+ [1] = (
+ l
+  >> 16) & 255;
+ 
+ 1148 
+ u
+ .
+ c
+ [2] = (
+ l
+  >> 8) & 255;
+ 
+ 1149 
+ u
+ .
+ c
+ [3] = 
+ l
+  & 255;
+ 
+ 1150  
+ u
+ .
+ »suÉ
+ ;
+ 
+ 1152 #ià((
+ BYTEORDER
+  - 0x1111) & 0x444) || !(BYTEORDER & 0xf)
+ 
+ 1153 
+ 	`çl
+ ("Unknown BYTEORDER\n");
+ 
+ 1155 
+ o
+ ;
+ 
+ 1156 
+ s
+ ;
+ 
+ 1158 
+ o
+  = 
+ BYTEORDER
+  - 0x1111, 
+ s
+  = 0; s < (()*8); o >>= 4, s += 8) {
+ 
+ 1159 
+ u
+ .
+ c
+ [
+ o
+  & 0xf] = (
+ l
+  >> 
+ s
+ ) & 255;
+ 
+ 1161  
+ u
+ .
+ »suÉ
+ ;
+ 
+ 1164 
+ 	}
+ }
+ 
+ 1167 
+ 	$Áohl
+ (
+ l
+ )
+ 
+ 1168 
+ l
+ ;
+ 
+ 1171 
+ l
+ ;
+ 
+ 1172 
+ c
+ [()];
+ 
+ 1173 } 
+ u
+ ;
+ 
+ 1175 #ià
+ BYTEORDER
+  == 0x1234
+ 
+ 1176 
+ u
+ .
+ c
+ [0] = (
+ l
+  >> 24) & 255;
+ 
+ 1177 
+ u
+ .
+ c
+ [1] = (
+ l
+  >> 16) & 255;
+ 
+ 1178 
+ u
+ .
+ c
+ [2] = (
+ l
+  >> 8) & 255;
+ 
+ 1179 
+ u
+ .
+ c
+ [3] = 
+ l
+  & 255;
+ 
+ 1180  
+ u
+ .
+ l
+ ;
+ 
+ 1182 #ià((
+ BYTEORDER
+  - 0x1111) & 0x444) || !(BYTEORDER & 0xf)
+ 
+ 1183 
+ 	`çl
+ ("Unknown BYTEORDER\n");
+ 
+ 1185 
+ o
+ ;
+ 
+ 1186 
+ s
+ ;
+ 
+ 1188 
+ u
+ .
+ l
+  =†;
+ 
+ 1189 
+ l
+  = 0;
+ 
+ 1190 
+ o
+  = 
+ BYTEORDER
+  - 0x1111, 
+ s
+  = 0; s < (()*8); o >>= 4, s += 8) {
+ 
+ 1191 
+ l
+  |ð(
+ u
+ .
+ c
+ [
+ o
+  & 0xf] & 255è<< 
+ s
+ ;
+ 
+ 1193  
+ l
+ ;
+ 
+ 1196 
+ 	}
+ }
+ 
+ 1201 #iâdeà
+ MSDOS
+ 
+ 
+ 1202 
+ FILE
+  *
+ 
+ 1203 
+ 	$mypݒ
+ (
+ cmd
+ ,
+ mode
+ )
+ 
+ 1204 *
+ cmd
+ ;
+ 
+ 1205 *
+ mode
+ ;
+ 
+ 1207 
+ p
+ [2];
+ 
+ 1208 
+ this
+ , 
+ th©
+ ;
+ 
+ 1209 
+ pid
+ ;
+ 
+ 1210 
+ STR
+  *
+ ¡r
+ ;
+ 
+ 1211 
+ dÛxec
+  = 
+ 	`¡rNE
+ (
+ cmd
+ ,"-");
+ 
+ 1213 ià(
+ 	`pe
+ (
+ p
+ ) < 0)
+ 
+ 1214  
+ NuÎå
+ ;
+ 
+ 1215 
+ this
+  = (*
+ mode
+  == 'w');
+ 
+ 1216 
+ th©
+  = !
+ this
+ ;
+ 
+ 1217 (
+ pid
+  = (
+ dÛxec
+ ?
+ 	`vfÜk
+ ():
+ 	`fÜk
+ ())) < 0) {
+ 
+ 1218 ià(
+ Ӽo
+  !ð
+ EAGAIN
+ ) {
+ 
+ 1219 
+ 	`þo£
+ (
+ p
+ [
+ this
+ ]);
+ 
+ 1220 ià(!
+ dÛxec
+ )
+ 
+ 1221 
+ 	`çl
+ ("Can't fork");
+ 
+ 1222  
+ NuÎå
+ ;
+ 
+ 1224 
+ 	`¦“p
+ (5);
+ 
+ 1226 ià(
+ pid
+  == 0) {
+ 
+ 1227 
+ 	#THIS
+  
+ th©
+ 
+ 
+ 	)
+ 
+ 1228 
+ 	#THAT
+  
+ this
+ 
+ 
+ 	)
+ 
+ 1229 
+ 	`þo£
+ (
+ p
+ [
+ THAT
+ ]);
+ 
+ 1230 ià(
+ p
+ [
+ THIS
+ ] !ð(*
+ mode
+  == 'r')) {
+ 
+ 1231 
+ 	`dup2
+ (
+ p
+ [
+ THIS
+ ], *
+ mode
+  == 'r');
+ 
+ 1232 
+ 	`þo£
+ (
+ p
+ [
+ THIS
+ ]);
+ 
+ 1234 ià(
+ dÛxec
+ ) {
+ 
+ 1235 #ià!
+ 	`defšed
+ (
+ I_FCNTL
+ è|| !defšed(
+ F_SETFD
+ )
+ 
+ 1236 
+ fd
+ ;
+ 
+ 1238 #iâdeà
+ NOFILE
+ 
+ 
+ 1239 
+ 	#NOFILE
+  20
+ 
+ 	)
+ 
+ 1241 
+ fd
+  = 3; fd < 
+ NOFILE
+ ; fd++)
+ 
+ 1242 
+ 	`þo£
+ (
+ fd
+ );
+ 
+ 1244 
+ 	`do_exec
+ (
+ cmd
+ );
+ 
+ 1245 
+ 	`_ex™
+ (1);
+ 
+ 1247 ià(
+ tmp¡ab
+  = 
+ 	`¡ab’t
+ ("$",
+ ®l¡abs
+ ))
+ 
+ 1248 
+ 	`¡r_num£t
+ (
+ 	`STAB_STR
+ (
+ tmp¡ab
+ ),()
+ 	`g‘pid
+ ());
+ 
+ 1249 
+ fÜk´oûss
+  = 0;
+ 
+ 1250 
+ 	`hþ—r
+ (
+ pid¡©us
+ , 
+ FALSE
+ );
+ 
+ 1251  
+ NuÎå
+ ;
+ 
+ 1252 #undeà
+ THIS
+ 
+ 
+ 1253 #undeà
+ THAT
+ 
+ 
+ 1255 
+ 	`do_execä“
+ ();
+ 
+ 1256 
+ 	`þo£
+ (
+ p
+ [
+ th©
+ ]);
+ 
+ 1257 ià(
+ p
+ [
+ th©
+ ] <…[
+ this
+ ]) {
+ 
+ 1258 
+ 	`dup2
+ (
+ p
+ [
+ this
+ ],…[
+ th©
+ ]);
+ 
+ 1259 
+ 	`þo£
+ (
+ p
+ [
+ this
+ ]);
+ 
+ 1260 
+ p
+ [
+ this
+ ] =…[
+ th©
+ ];
+ 
+ 1262 
+ ¡r
+  = 
+ 	`aãtch
+ (
+ fdpid
+ ,
+ p
+ [
+ this
+ ],
+ TRUE
+ );
+ 
+ 1263 
+ ¡r
+ ->
+ ¡r_u
+ .
+ ¡r_u£ful
+  = 
+ pid
+ ;
+ 
+ 1264 
+ fÜk´oûss
+  = 
+ pid
+ ;
+ 
+ 1265  
+ 	`fdݒ
+ (
+ p
+ [
+ this
+ ], 
+ mode
+ );
+ 
+ 1266 
+ 	}
+ }
+ 
+ 1269 #ifdeà
+ NOTDEF
+ 
+ 
+ 1270 
+ 	$dumpfds
+ (
+ s
+ )
+ 
+ 1271 *
+ s
+ ;
+ 
+ 1273 
+ fd
+ ;
+ 
+ 1274 
+ ¡©
+  
+ tmp¡©buf
+ ;
+ 
+ 1276 
+ 	`årštf
+ (
+ ¡d”r
+ ,"%s", 
+ s
+ );
+ 
+ 1277 
+ fd
+  = 0; fd < 32; fd++) {
+ 
+ 1278 ià(
+ 	`f¡©
+ (
+ fd
+ ,&
+ tmp¡©buf
+ ) >= 0)
+ 
+ 1279 
+ 	`årštf
+ (
+ ¡d”r
+ ," %d",
+ fd
+ );
+ 
+ 1281 
+ 	`årštf
+ (
+ ¡d”r
+ ,"\n");
+ 
+ 1282 
+ 	}
+ }
+ 
+ 1285 #iâdeà
+ HAS_DUP2
+ 
+ 
+ 1286 
+ 	$dup2
+ (
+ Þdfd
+ ,
+ Ãwfd
+ )
+ 
+ 1287 
+ Þdfd
+ ;
+ 
+ 1288 
+ Ãwfd
+ ;
+ 
+ 1290 #ià
+ 	`defšed
+ (
+ HAS_FCNTL
+ è&& defšed(
+ F_DUPFD
+ )
+ 
+ 1291 
+ 	`þo£
+ (
+ Ãwfd
+ );
+ 
+ 1292 
+ 	`fúŽ
+ (
+ Þdfd
+ , 
+ F_DUPFD
+ , 
+ Ãwfd
+ );
+ 
+ 1294 
+ fdtmp
+ [20];
+ 
+ 1295 
+ fdx
+  = 0;
+ 
+ 1296 
+ fd
+ ;
+ 
+ 1298 ià(
+ Þdfd
+  =ð
+ Ãwfd
+ )
+ 
+ 1300 
+ 	`þo£
+ (
+ Ãwfd
+ );
+ 
+ 1301 (
+ fd
+  = 
+ 	`dup
+ (
+ Þdfd
+ )è!ð
+ Ãwfd
+ )
+ 
+ 1302 
+ fdtmp
+ [
+ fdx
+ ++] = 
+ fd
+ ;
+ 
+ 1303 
+ fdx
+  > 0)
+ 
+ 1304 
+ 	`þo£
+ (
+ fdtmp
+ [--
+ fdx
+ ]);
+ 
+ 1306 
+ 	}
+ }
+ 
+ 1309 #iâdeà
+ MSDOS
+ 
+ 
+ 1311 
+ 	$mypþo£
+ (
+ ±r
+ )
+ 
+ 1312 
+ FILE
+  *
+ ±r
+ ;
+ 
+ 1314 #ifdeà
+ VOIDSIG
+ 
+ 
+ 1315 (*
+ h¡©
+ )(), (*
+ i¡©
+ )(), (*
+ q¡©
+ )();
+ 
+ 1317 (*
+ h¡©
+ )(), (*
+ i¡©
+ )(), (*
+ q¡©
+ )();
+ 
+ 1319 
+ ¡©us
+ ;
+ 
+ 1320 
+ STR
+  *
+ ¡r
+ ;
+ 
+ 1321 
+ pid
+ ;
+ 
+ 1323 
+ ¡r
+  = 
+ 	`aãtch
+ (
+ fdpid
+ ,
+ 	`fž’o
+ (
+ ±r
+ ),
+ TRUE
+ );
+ 
+ 1324 
+ 	`a¡Üe
+ (
+ fdpid
+ ,
+ 	`fž’o
+ (
+ ±r
+ ),
+ NuΡr
+ );
+ 
+ 1325 
+ 	`fþo£
+ (
+ ±r
+ );
+ 
+ 1326 
+ pid
+  = ()
+ ¡r
+ ->
+ ¡r_u
+ .
+ ¡r_u£ful
+ ;
+ 
+ 1327 
+ h¡©
+  = 
+ 	`sigÇl
+ (
+ SIGHUP
+ , 
+ SIG_IGN
+ );
+ 
+ 1328 
+ i¡©
+  = 
+ 	`sigÇl
+ (
+ SIGINT
+ , 
+ SIG_IGN
+ );
+ 
+ 1329 
+ q¡©
+  = 
+ 	`sigÇl
+ (
+ SIGQUIT
+ , 
+ SIG_IGN
+ );
+ 
+ 1330 
+ pid
+  = 
+ 	`wa™4pid
+ Õid, &
+ ¡©us
+ , 0);
+ 
+ 1331 
+ 	`sigÇl
+ (
+ SIGHUP
+ , 
+ h¡©
+ );
+ 
+ 1332 
+ 	`sigÇl
+ (
+ SIGINT
+ , 
+ i¡©
+ );
+ 
+ 1333 
+ 	`sigÇl
+ (
+ SIGQUIT
+ , 
+ q¡©
+ );
+ 
+ 1334 (
+ pid
+  < 0 ?…id : 
+ ¡©us
+ );
+ 
+ 1335 
+ 	}
+ }
+ 
+ 1338 
+ 	$wa™4pid
+ (
+ pid
+ ,
+ ¡©u¥
+ ,
+ æags
+ )
+ 
+ 1339 
+ pid
+ ;
+ 
+ 1340 *
+ ¡©u¥
+ ;
+ 
+ 1341 
+ æags
+ ;
+ 
+ 1343 
+ »suÉ
+ ;
+ 
+ 1344 
+ STR
+  *
+ ¡r
+ ;
+ 
+ 1345 
+ ¥id
+ [16];
+ 
+ 1347 ià(!
+ pid
+ )
+ 
+ 1349 #ifdeà
+ HAS_WAIT4
+ 
+ 
+ 1350  
+ 	`wa™4
+ ((
+ pid
+ ==-1)?0:pid,
+ ¡©u¥
+ ,
+ æags
+ ,
+ 	`NuÎ
+ (
+ ru§ge
+  *));
+ 
+ 1352 #ifdeà
+ HAS_WAITPID
+ 
+ 
+ 1353  
+ 	`wa™pid
+ (
+ pid
+ ,
+ ¡©u¥
+ ,
+ æags
+ );
+ 
+ 1355 ià(
+ pid
+  > 0) {
+ 
+ 1356 
+ 	`¥rštf
+ (
+ ¥id
+ , "%d", 
+ pid
+ );
+ 
+ 1357 
+ ¡r
+  = 
+ 	`hãtch
+ (
+ pid¡©us
+ ,
+ ¥id
+ ,
+ 	`¡¾’
+ (¥id),
+ FALSE
+ );
+ 
+ 1358 ià(
+ ¡r
+  !ð&
+ ¡r_undef
+ ) {
+ 
+ 1359 *
+ ¡©u¥
+  = ()
+ ¡r
+ ->
+ ¡r_u
+ .
+ ¡r_u£ful
+ ;
+ 
+ 1360 
+ 	`hd–‘e
+ (
+ pid¡©us
+ ,
+ ¥id
+ ,
+ 	`¡¾’
+ (spid));
+ 
+ 1361  
+ pid
+ ;
+ 
+ 1365 
+ HENT
+  *
+ ’Œy
+ ;
+ 
+ 1367 
+ 	`h™”š™
+ (
+ pid¡©us
+ );
+ 
+ 1368 ià(
+ ’Œy
+  = 
+ 	`h™”Ãxt
+ (
+ pid¡©us
+ )) {
+ 
+ 1369 
+ pid
+  = 
+ 	`©oi
+ (
+ 	`h™”key
+ (
+ ’Œy
+ ,
+ ¡©u¥
+ ));
+ 
+ 1370 
+ ¡r
+  = 
+ 	`h™”v®
+ (
+ ’Œy
+ );
+ 
+ 1371 *
+ ¡©u¥
+  = ()
+ ¡r
+ ->
+ ¡r_u
+ .
+ ¡r_u£ful
+ ;
+ 
+ 1372 
+ 	`¥rštf
+ (
+ ¥id
+ , "%d", 
+ pid
+ );
+ 
+ 1373 
+ 	`hd–‘e
+ (
+ pid¡©us
+ ,
+ ¥id
+ ,
+ 	`¡¾’
+ (spid));
+ 
+ 1374  
+ pid
+ ;
+ 
+ 1377 ià(
+ æags
+ )
+ 
+ 1378 
+ 	`çl
+ ("Can't do waitpid with flags");
+ 
+ 1380 (
+ »suÉ
+  = 
+ 	`wa™
+ (
+ ¡©u¥
+ )è!ð
+ pid
+  &&…id > 0 &&„esult >= 0)
+ 
+ 1381 
+ 	`pidgÚe
+ (
+ »suÉ
+ ,*
+ ¡©u¥
+ );
+ 
+ 1382 ià(
+ »suÉ
+  < 0)
+ 
+ 1383 *
+ ¡©u¥
+  = -1;
+ 
+ 1385  
+ »suÉ
+ ;
+ 
+ 1388 
+ 	}
+ }
+ 
+ 1390 
+ 	$pidgÚe
+ (
+ pid
+ ,
+ ¡©us
+ )
+ 
+ 1391 
+ pid
+ ;
+ 
+ 1392 
+ ¡©us
+ ;
+ 
+ 1394 #ià
+ 	`defšed
+ (
+ HAS_WAIT4
+ è|| defšed(
+ HAS_WAITPID
+ )
+ 
+ 1396 
+ STR
+  *
+ ¡r
+ ;
+ 
+ 1397 
+ ¥id
+ [16];
+ 
+ 1399 
+ 	`¥rštf
+ (
+ ¥id
+ , "%d", 
+ pid
+ );
+ 
+ 1400 
+ ¡r
+  = 
+ 	`hãtch
+ (
+ pid¡©us
+ ,
+ ¥id
+ ,
+ 	`¡¾’
+ (¥id),
+ TRUE
+ );
+ 
+ 1401 
+ ¡r
+ ->
+ ¡r_u
+ .
+ ¡r_u£ful
+  = 
+ ¡©us
+ ;
+ 
+ 1404 
+ 	}
+ }
+ 
+ 1407 #iâdeà
+ HAS_MEMCMP
+ 
+ 
+ 1408 
+ 	$memcmp
+ (
+ s1
+ ,
+ s2
+ ,
+ Ën
+ )
+ 
+ 1409 *
+ s1
+ ;
+ 
+ 1410 *
+ s2
+ ;
+ 
+ 1411 
+ Ën
+ ;
+ 
+ 1413 
+ tmp
+ ;
+ 
+ 1415 
+ Ën
+ --) {
+ 
+ 1416 ià(
+ tmp
+  = *
+ s1
+ ++ - *
+ s2
+ ++)
+ 
+ 1417  
+ tmp
+ ;
+ 
+ 1420 
+ 	}
+ }
+ 
+ 1424 
+ 	$»³©ýy
+ (
+ to
+ ,
+ äom
+ ,
+ Ën
+ ,
+ couÁ
+ )
+ 
+ 1425 *
+ to
+ ;
+ 
+ 1426 *
+ äom
+ ;
+ 
+ 1427 
+ Ën
+ ;
+ 
+ 1428 
+ couÁ
+ ;
+ 
+ 1430 
+ todo
+ ;
+ 
+ 1431 *
+ äomba£
+  = 
+ äom
+ ;
+ 
+ 1433 ià(
+ Ën
+  == 1) {
+ 
+ 1434 
+ todo
+  = *
+ äom
+ ;
+ 
+ 1435 
+ couÁ
+ -- > 0)
+ 
+ 1436 *
+ to
+ ++ = 
+ todo
+ ;
+ 
+ 1439 
+ couÁ
+ -- > 0) {
+ 
+ 1440 
+ todo
+  = 
+ Ën
+ ;odo > 0;odo--) {
+ 
+ 1441 *
+ to
+ ++ = *
+ äom
+ ++;
+ 
+ 1443 
+ äom
+  = 
+ äomba£
+ ;
+ 
+ 1445 
+ 	}
+ }
+ 
+ 1447 #iâdeà
+ CASTNEGFLOAT
+ 
+ 
+ 1449 
+ 	$ÿ¡ulÚg
+ (
+ f
+ )
+ 
+ 1450 
+ f
+ ;
+ 
+ 1452 
+ ®Úg
+ ;
+ 
+ 1454 #ià
+ CASTFLAGS
+  & 2
+ 
+ 1455 
+ 	#BIGDOUBLE
+  2147483648.0
+ 
+ 	)
+ 
+ 1456 ià(
+ f
+  >ð
+ BIGDOUBLE
+ )
+ 
+ 1457  ()(
+ f
+ -()(f/
+ BIGDOUBLE
+ )*BIGDOUBLE)|0x80000000;
+ 
+ 1459 ià(
+ f
+  >= 0.0)
+ 
+ 1460  ()
+ f
+ ;
+ 
+ 1461 
+ ®Úg
+  = ()
+ f
+ ;
+ 
+ 1462  ()
+ ®Úg
+ ;
+ 
+ 1463 
+ 	}
+ }
+ 
+ 1466 #iâdeà
+ HAS_RENAME
+ 
+ 
+ 1468 
+ 	$§me_dœ’t
+ (
+ a
+ ,
+ b
+ )
+ 
+ 1469 *
+ a
+ ;
+ 
+ 1470 *
+ b
+ ;
+ 
+ 1472 *
+ ç
+  = 
+ 	`ršdex
+ (
+ a
+ ,'/');
+ 
+ 1473 *
+ fb
+  = 
+ 	`ršdex
+ (
+ b
+ ,'/');
+ 
+ 1474 
+ ¡©
+  
+ tmp¡©buf1
+ ;
+ 
+ 1475 
+ ¡©
+  
+ tmp¡©buf2
+ ;
+ 
+ 1476 #iâdeà
+ MAXPATHLEN
+ 
+ 
+ 1477 
+ 	#MAXPATHLEN
+  1024
+ 
+ 	)
+ 
+ 1479 
+ tmpbuf
+ [
+ MAXPATHLEN
+ +1];
+ 
+ 1481 ià(
+ ç
+ )
+ 
+ 1482 
+ ç
+ ++;
+ 
+ 1484 
+ ç
+  = 
+ a
+ ;
+ 
+ 1485 ià(
+ fb
+ )
+ 
+ 1486 
+ fb
+ ++;
+ 
+ 1488 
+ fb
+  = 
+ b
+ ;
+ 
+ 1489 ià(
+ 	`¡rNE
+ (
+ a
+ ,
+ b
+ ))
+ 
+ 1490  
+ FALSE
+ ;
+ 
+ 1491 ià(
+ ç
+  =ð
+ a
+ )
+ 
+ 1492 
+ 	`¡rýy
+ (
+ tmpbuf
+ ,".");
+ 
+ 1494 
+ 	`¡ºýy
+ (
+ tmpbuf
+ , 
+ a
+ , 
+ ç
+  -‡);
+ 
+ 1495 ià(
+ 	`¡©
+ (
+ tmpbuf
+ , &
+ tmp¡©buf1
+ ) < 0)
+ 
+ 1496  
+ FALSE
+ ;
+ 
+ 1497 ià(
+ fb
+  =ð
+ b
+ )
+ 
+ 1498 
+ 	`¡rýy
+ (
+ tmpbuf
+ ,".");
+ 
+ 1500 
+ 	`¡ºýy
+ (
+ tmpbuf
+ , 
+ b
+ , 
+ fb
+  - b);
+ 
+ 1501 ià(
+ 	`¡©
+ (
+ tmpbuf
+ , &
+ tmp¡©buf2
+ ) < 0)
+ 
+ 1502  
+ FALSE
+ ;
+ 
+ 1503  
+ tmp¡©buf1
+ .
+ ¡_dev
+  =ð
+ tmp¡©buf2
+ .st_dev &&
+ 
+ 1504 
+ tmp¡©buf1
+ .
+ ¡_šo
+  =ð
+ tmp¡©buf2
+ .st_ino;
+ 
+ 1505 
+ 	}
+ }
+ 
+ 1509 
+ 	$sÿnoù
+ (
+ ¡¬t
+ , 
+ Ën
+ , 
+ »Ž’
+ )
+ 
+ 1510 *
+ ¡¬t
+ ;
+ 
+ 1511 
+ Ën
+ ;
+ 
+ 1512 *
+ »Ž’
+ ;
+ 
+ 1514 *
+ s
+  = 
+ ¡¬t
+ ;
+ 
+ 1515 
+ »tv®
+  = 0;
+ 
+ 1517 
+ Ën
+ -- && *
+ s
+  >= '0' && *s <= '7') {
+ 
+ 1518 
+ »tv®
+  <<= 3;
+ 
+ 1519 
+ »tv®
+  |ð*
+ s
+ ++ - '0';
+ 
+ 1521 *
+ »Ž’
+  = 
+ s
+  - 
+ ¡¬t
+ ;
+ 
+ 1522  
+ »tv®
+ ;
+ 
+ 1523 
+ 	}
+ }
+ 
+ 1526 
+ 	$sÿnhex
+ (
+ ¡¬t
+ , 
+ Ën
+ , 
+ »Ž’
+ )
+ 
+ 1527 *
+ ¡¬t
+ ;
+ 
+ 1528 
+ Ën
+ ;
+ 
+ 1529 *
+ »Ž’
+ ;
+ 
+ 1531 *
+ s
+  = 
+ ¡¬t
+ ;
+ 
+ 1532 
+ »tv®
+  = 0;
+ 
+ 1533 *
+ tmp
+ ;
+ 
+ 1535 
+ Ën
+ -- && *
+ s
+  && (
+ tmp
+  = 
+ 	`šdex
+ (
+ hexdig™
+ , *s))) {
+ 
+ 1536 
+ »tv®
+  <<= 4;
+ 
+ 1537 
+ »tv®
+  |ð(
+ tmp
+  - 
+ hexdig™
+ ) & 15;
+ 
+ 1538 
+ s
+ ++;
+ 
+ 1540 *
+ »Ž’
+  = 
+ s
+  - 
+ ¡¬t
+ ;
+ 
+ 1541  
+ »tv®
+ ;
+ 
+ 1542 
+ 	}
+ }
+ 
+ 	@util.h
+ 
+ 14 
+ EXT
+  *
+ sü—mfœ¡
+  
+ INIT
+ (
+ NuÎ
+ (*));
+ 
+ 15 
+ EXT
+  *
+ sü—mÃxt
+  
+ INIT
+ (
+ NuÎ
+ (*));
+ 
+ 17 *
+ §ãm®loc
+ ();
+ 
+ 18 *
+ §ã»®loc
+ ();
+ 
+ 19 *
+ ýytžl
+ ();
+ 
+ 20 *
+ š¡r
+ ();
+ 
+ 21 *
+ fbmš¡r
+ ();
+ 
+ 22 *
+ sü—mš¡r
+ ();
+ 
+ 23 
+ fbmcompže
+ ();
+ 
+ 24 *
+ §ve¡r
+ ();
+ 
+ 25 
+ my_£‹nv
+ (*, *);
+ 
+ 26 
+ ’vix
+ ();
+ 
+ 27 
+ grow¡r
+ ();
+ 
+ 28 *
+ nš¡r
+ ();
+ 
+ 29 *
+ ºš¡r
+ ();
+ 
+ 30 *
+ n§ve¡r
+ ();
+ 
+ 31 
+ FILE
+  *
+ mypݒ
+ ();
+ 
+ 32 
+ mypþo£
+ ();
+ 
+ 33 #iâdeà
+ HAS_MEMCPY
+ 
+ 
+ 34 #iâdeà
+ HAS_BCOPY
+ 
+ 
+ 35 *
+ bcÝy
+ ();
+ 
+ 37 #iâdeà
+ HAS_BZERO
+ 
+ 
+ 38 *
+ bz”o
+ ();
+ 
+ 41 
+ sÿnoù
+ ();
+ 
+ 42 
+ sÿnhex
+ ();
+ 
+ 	@/usr/include/ctype.h
+ 
+ 23 #iâdef 
+ _CTYPE_H
+ 
+ 
+ 24 
+ 	#_CTYPE_H
+  1
+ 
+ 	)
+ 
+ 26 
+ 	~<ã©u»s.h
+ >
+ 
+ 27 
+ 	~<b™s/ty³s.h
+ >
+ 
+ 29 
+ 	g__BEGIN_DECLS
+ 
+ 
+ 31 #iâdeà
+ _ISb™
+ 
+ 
+ 40 
+ 	~<’dŸn.h
+ >
+ 
+ 41 #ià
+ __BYTE_ORDER
+  =ð
+ __BIG_ENDIAN
+ 
+ 
+ 42 
+ 	#_ISb™
+ (
+ b™
+ è(1 << (b™))
+ 
+ 	)
+ 
+ 44 
+ 	#_ISb™
+ (
+ b™
+ è((b™è< 8 ? ((1 << (b™)è<< 8è: ((1 << (b™)è>> 8))
+ 
+ 	)
+ 
+ 49 
+ 	m_ISuµ”
+  = 
+ _ISb™
+  (0),
+ 
+ 50 
+ 	m_ISlow”
+  = 
+ _ISb™
+  (1),
+ 
+ 51 
+ 	m_IS®pha
+  = 
+ _ISb™
+  (2),
+ 
+ 52 
+ 	m_ISdig™
+  = 
+ _ISb™
+  (3),
+ 
+ 53 
+ 	m_ISxdig™
+  = 
+ _ISb™
+  (4),
+ 
+ 54 
+ 	m_IS¥aû
+  = 
+ _ISb™
+  (5),
+ 
+ 55 
+ 	m_IS´št
+  = 
+ _ISb™
+  (6),
+ 
+ 56 
+ 	m_ISg¿ph
+  = 
+ _ISb™
+  (7),
+ 
+ 57 
+ 	m_ISbÏnk
+  = 
+ _ISb™
+  (8),
+ 
+ 58 
+ 	m_ISúŒl
+  = 
+ _ISb™
+  (9),
+ 
+ 59 
+ 	m_ISpunù
+  = 
+ _ISb™
+  (10),
+ 
+ 60 
+ 	m_IS®num
+  = 
+ _ISb™
+  (11)
+ 
+ 75 
+ __cڡ
+  *
+ __ùy³_b
+ ;
+ 
+ 76 
+ __cڡ
+  
+ __št32_t
+  *
+ __ùy³_tÞow”
+ ;
+ 
+ 77 
+ __cڡ
+  
+ __št32_t
+  *
+ __ùy³_touµ”
+ ;
+ 
+ 79 
+ 	#__isùy³
+ (
+ c
+ , 
+ ty³
+ ) \
+ 
+ 80 (
+ __ùy³_b
+ [(è(
+ c
+ )] & (è
+ ty³
+ )
+ 
+ 	)
+ 
+ 82 
+ 	#__i§scii
+ (
+ c
+ è(((cè& ~0x7fè=ð0è
+ 
+ 	)
+ 
+ 83 
+ 	#__tßscii
+ (
+ c
+ è((cè& 0x7fè
+ 
+ 	)
+ 
+ 85 
+ 	#__exùy³
+ (
+ Çme
+ è

+ 	`Çme
+  (è
+ __THROW
+ 
+ 
+ 	)
+ 
+ 91 
+ __exùy³
+  (
+ i§Êum
+ );
+ 
+ 92 
+ __exùy³
+  (
+ i§Íha
+ );
+ 
+ 93 
+ __exùy³
+  (
+ isúŒl
+ );
+ 
+ 94 
+ __exùy³
+  (
+ isdig™
+ );
+ 
+ 95 
+ __exùy³
+  (
+ i¦ow”
+ );
+ 
+ 96 
+ __exùy³
+  (
+ isg¿ph
+ );
+ 
+ 97 
+ __exùy³
+  (
+ i¥ršt
+ );
+ 
+ 98 
+ __exùy³
+  (
+ i¥unù
+ );
+ 
+ 99 
+ __exùy³
+  (
+ is¥aû
+ );
+ 
+ 100 
+ __exùy³
+  (
+ isuµ”
+ );
+ 
+ 101 
+ __exùy³
+  (
+ isxdig™
+ );
+ 
+ 103 #ifdef 
+ __USE_ISOC99
+ 
+ 
+ 104 
+ __exùy³
+  (
+ isbÏnk
+ );
+ 
+ 109 

+ 	$tÞow”
+  (
+ __c
+ è
+ __THROW
+ ;
+ 
+ 112 

+ 	$touµ”
+  (
+ __c
+ è
+ __THROW
+ ;
+ 
+ 115 #ià
+ defšed
+  
+ __USE_SVID
+  || defšed 
+ __USE_MISC
+  || defšed 
+ __USE_XOPEN
+ 
+ 
+ 119 

+ 	$i§scii
+  (
+ __c
+ è
+ __THROW
+ ;
+ 
+ 123 

+ 	$tßscii
+  (
+ __c
+ è
+ __THROW
+ ;
+ 
+ 127 
+ 	`__exùy³
+  (
+ _touµ”
+ );
+ 
+ 128 
+ 	`__exùy³
+  (
+ _tÞow”
+ );
+ 
+ 132 
+ 	#__tobody
+ (
+ c
+ , 
+ f
+ , 
+ a
+ , 
+ ¬gs
+ ) \
+ 
+ 133 (
+ __ex‹nsiÚ__
+  \
+ 
+ 134 ({ 
+ __»s
+ ; \
+ 
+ 135 ià( (
+ c
+ ) > 1) \
+ 
+ 137 ià(
+ 	`__bužtš_cÚ¡ªt_p
+  (
+ c
+ )) \
+ 
+ 139 
+ __c
+  = (
+ c
+ ); \
+ 
+ 140 
+ __»s
+  = 
+ __c
+  < -128 || __ø> 255 ? __ø: 
+ a
+ [__c]; \
+ 
+ 143 
+ __»s
+  = 
+ f
+  
+ ¬gs
+ ; \
+ 
+ 146 
+ __»s
+  = 
+ a
+ [(è(
+ c
+ )]; \
+ 
+ 147 
+ __»s
+ ; 
+ 	}
+ }))
+ 
+ 	)
+ 
+ 149 #iâdef 
+ __NO_CTYPE
+ 
+ 
+ 150 
+ 	#i§Êum
+ (
+ c
+ è
+ 	`__isùy³
+ ((c), 
+ _IS®num
+ )
+ 
+ 	)
+ 
+ 151 
+ 	#i§Íha
+ (
+ c
+ è
+ 	`__isùy³
+ ((c), 
+ _IS®pha
+ )
+ 
+ 	)
+ 
+ 152 
+ 	#isúŒl
+ (
+ c
+ è
+ 	`__isùy³
+ ((c), 
+ _ISúŒl
+ )
+ 
+ 	)
+ 
+ 153 
+ 	#isdig™
+ (
+ c
+ è
+ 	`__isùy³
+ ((c), 
+ _ISdig™
+ )
+ 
+ 	)
+ 
+ 154 
+ 	#i¦ow”
+ (
+ c
+ è
+ 	`__isùy³
+ ((c), 
+ _ISlow”
+ )
+ 
+ 	)
+ 
+ 155 
+ 	#isg¿ph
+ (
+ c
+ è
+ 	`__isùy³
+ ((c), 
+ _ISg¿ph
+ )
+ 
+ 	)
+ 
+ 156 
+ 	#i¥ršt
+ (
+ c
+ è
+ 	`__isùy³
+ ((c), 
+ _IS´št
+ )
+ 
+ 	)
+ 
+ 157 
+ 	#i¥unù
+ (
+ c
+ è
+ 	`__isùy³
+ ((c), 
+ _ISpunù
+ )
+ 
+ 	)
+ 
+ 158 
+ 	#is¥aû
+ (
+ c
+ è
+ 	`__isùy³
+ ((c), 
+ _IS¥aû
+ )
+ 
+ 	)
+ 
+ 159 
+ 	#isuµ”
+ (
+ c
+ è
+ 	`__isùy³
+ ((c), 
+ _ISuµ”
+ )
+ 
+ 	)
+ 
+ 160 
+ 	#isxdig™
+ (
+ c
+ è
+ 	`__isùy³
+ ((c), 
+ _ISxdig™
+ )
+ 
+ 	)
+ 
+ 162 #ifdef 
+ __USE_ISOC99
+ 
+ 
+ 163 
+ 	#isbÏnk
+ (
+ c
+ è
+ 	`__isùy³
+ ((c), 
+ _ISbÏnk
+ )
+ 
+ 	)
+ 
+ 166 #ifdeà
+ __USE_EXTERN_INLINES
+ 
+ 
+ 167 
+ __šlše
+  
+ 
+ 168 
+ 	$tÞow”
+  (
+ __c
+ è
+ __THROW
+ 
+ 
+ 170  
+ __c
+  >ð-128 && __ø< 256 ? 
+ __ùy³_tÞow”
+ [__c] : __c;
+ 
+ 171 
+ 	}
+ }
+ 
+ 173 
+ __šlše
+  
+ 
+ 174 
+ 	$touµ”
+  (
+ __c
+ è
+ __THROW
+ 
+ 
+ 176  
+ __c
+  >ð-128 && __ø< 256 ? 
+ __ùy³_touµ”
+ [__c] : __c;
+ 
+ 177 
+ 	}
+ }
+ 
+ 180 #ià
+ __GNUC__
+  >ð2 && 
+ defšed
+  
+ __OPTIMIZE__
+  && !defšed 
+ __ýlu¥lus
+ 
+ 
+ 181 
+ 	#tÞow”
+ (
+ c
+ è
+ 	`__tobody
+  (c, 
+ tÞow”
+ , 
+ __ùy³_tÞow”
+ , (c))
+ 
+ 	)
+ 
+ 182 
+ 	#touµ”
+ (
+ c
+ è
+ 	`__tobody
+  (c, 
+ touµ”
+ , 
+ __ùy³_touµ”
+ , (c))
+ 
+ 	)
+ 
+ 185 #ià
+ defšed
+  
+ __USE_SVID
+  || defšed 
+ __USE_MISC
+  || defšed 
+ __USE_XOPEN
+ 
+ 
+ 186 
+ 	#i§scii
+ (
+ c
+ è
+ 	`__i§scii
+  (c)
+ 
+ 	)
+ 
+ 187 
+ 	#tßscii
+ (
+ c
+ è
+ 	`__tßscii
+  (c)
+ 
+ 	)
+ 
+ 189 
+ 	#_tÞow”
+ (
+ c
+ è((è
+ __ùy³_tÞow”
+ [(è(c)])
+ 
+ 	)
+ 
+ 190 
+ 	#_touµ”
+ (
+ c
+ è((è
+ __ùy³_touµ”
+ [(è(c)])
+ 
+ 	)
+ 
+ 196 #ifdeà
+ __USE_GNU
+ 
+ 
+ 210 
+ 	~<xloÿË.h
+ >
+ 
+ 214 
+ 	#__isùy³_l
+ (
+ c
+ , 
+ ty³
+ , 
+ loÿË
+ ) \
+ 
+ 215 ((
+ loÿË
+ )->
+ __ùy³_b
+ [(è(
+ c
+ )] & (è
+ ty³
+ )
+ 
+ 	)
+ 
+ 217 
+ 	#__exùy³_l
+ (
+ Çme
+ è

+ 	`Çme
+  (, 
+ __loÿË_t
+ è
+ __THROW
+ 
+ 
+ 	)
+ 
+ 223 
+ __exùy³_l
+  (
+ __i§Êum_l
+ );
+ 
+ 224 
+ __exùy³_l
+  (
+ __i§Íha_l
+ );
+ 
+ 225 
+ __exùy³_l
+  (
+ __isúŒl_l
+ );
+ 
+ 226 
+ __exùy³_l
+  (
+ __isdig™_l
+ );
+ 
+ 227 
+ __exùy³_l
+  (
+ __i¦ow”_l
+ );
+ 
+ 228 
+ __exùy³_l
+  (
+ __isg¿ph_l
+ );
+ 
+ 229 
+ __exùy³_l
+  (
+ __i¥ršt_l
+ );
+ 
+ 230 
+ __exùy³_l
+  (
+ __i¥unù_l
+ );
+ 
+ 231 
+ __exùy³_l
+  (
+ __is¥aû_l
+ );
+ 
+ 232 
+ __exùy³_l
+  (
+ __isuµ”_l
+ );
+ 
+ 233 
+ __exùy³_l
+  (
+ __isxdig™_l
+ );
+ 
+ 235 
+ __exùy³_l
+  (
+ __isbÏnk_l
+ );
+ 
+ 239 

+ 	$__tÞow”_l
+  (
+ __c
+ , 
+ __loÿË_t
+  
+ __l
+ è
+ __THROW
+ ;
+ 
+ 242 

+ 	$__touµ”_l
+  (
+ __c
+ , 
+ __loÿË_t
+  
+ __l
+ è
+ __THROW
+ ;
+ 
+ 244 #ià
+ __GNUC__
+  >ð2 && 
+ defšed
+  
+ __OPTIMIZE__
+  && !defšed 
+ __ýlu¥lus
+ 
+ 
+ 245 
+ 	#__tÞow”_l
+ (
+ c
+ , 
+ loÿË
+ ) \
+ 
+ 246 
+ 	`__tobody
+  (
+ c
+ , 
+ __tÞow”_l
+ , (
+ loÿË
+ )->
+ __ùy³_tÞow”
+ , (c,†oÿË))
+ 
+ 	)
+ 
+ 247 
+ 	#__touµ”_l
+ (
+ c
+ , 
+ loÿË
+ ) \
+ 
+ 248 
+ 	`__tobody
+  (
+ c
+ , 
+ __touµ”_l
+ , (
+ loÿË
+ )->
+ __ùy³_touµ”
+ , (c,†oÿË))
+ 
+ 	)
+ 
+ 252 #iâdeà
+ __NO_CTYPE
+ 
+ 
+ 253 
+ 	#__i§Êum_l
+ (
+ c
+ ,
+ l
+ è
+ 	`__isùy³_l
+ ((c), 
+ _IS®num
+ , (l))
+ 
+ 	)
+ 
+ 254 
+ 	#__i§Íha_l
+ (
+ c
+ ,
+ l
+ è
+ 	`__isùy³_l
+ ((c), 
+ _IS®pha
+ , (l))
+ 
+ 	)
+ 
+ 255 
+ 	#__isúŒl_l
+ (
+ c
+ ,
+ l
+ è
+ 	`__isùy³_l
+ ((c), 
+ _ISúŒl
+ , (l))
+ 
+ 	)
+ 
+ 256 
+ 	#__isdig™_l
+ (
+ c
+ ,
+ l
+ è
+ 	`__isùy³_l
+ ((c), 
+ _ISdig™
+ , (l))
+ 
+ 	)
+ 
+ 257 
+ 	#__i¦ow”_l
+ (
+ c
+ ,
+ l
+ è
+ 	`__isùy³_l
+ ((c), 
+ _ISlow”
+ , (l))
+ 
+ 	)
+ 
+ 258 
+ 	#__isg¿ph_l
+ (
+ c
+ ,
+ l
+ è
+ 	`__isùy³_l
+ ((c), 
+ _ISg¿ph
+ , (l))
+ 
+ 	)
+ 
+ 259 
+ 	#__i¥ršt_l
+ (
+ c
+ ,
+ l
+ è
+ 	`__isùy³_l
+ ((c), 
+ _IS´št
+ , (l))
+ 
+ 	)
+ 
+ 260 
+ 	#__i¥unù_l
+ (
+ c
+ ,
+ l
+ è
+ 	`__isùy³_l
+ ((c), 
+ _ISpunù
+ , (l))
+ 
+ 	)
+ 
+ 261 
+ 	#__is¥aû_l
+ (
+ c
+ ,
+ l
+ è
+ 	`__isùy³_l
+ ((c), 
+ _IS¥aû
+ , (l))
+ 
+ 	)
+ 
+ 262 
+ 	#__isuµ”_l
+ (
+ c
+ ,
+ l
+ è
+ 	`__isùy³_l
+ ((c), 
+ _ISuµ”
+ , (l))
+ 
+ 	)
+ 
+ 263 
+ 	#__isxdig™_l
+ (
+ c
+ ,
+ l
+ è
+ 	`__isùy³_l
+ ((c), 
+ _ISxdig™
+ , (l))
+ 
+ 	)
+ 
+ 265 
+ 	#__isbÏnk_l
+ (
+ c
+ ,
+ l
+ è
+ 	`__isùy³_l
+ ((c), 
+ _ISbÏnk
+ , (l))
+ 
+ 	)
+ 
+ 267 #ià
+ defšed
+  
+ __USE_SVID
+  || defšed 
+ __USE_MISC
+  || defšed 
+ __USE_XOPEN
+ 
+ 
+ 268 
+ 	#__i§scii_l
+ (
+ c
+ ,
+ l
+ è
+ 	`__i§scii
+ (c)
+ 
+ 	)
+ 
+ 269 
+ 	#__tßscii_l
+ (
+ c
+ ,
+ l
+ è
+ 	`__tßscii
+ (c)
+ 
+ 	)
+ 
+ 276 
+ __END_DECLS
+ 
+ 
+ 	@/usr/include/dirent.h
+ 
+ 23 #iâdef 
+ _DIRENT_H
+ 
+ 
+ 24 
+ 	#_DIRENT_H
+  1
+ 
+ 	)
+ 
+ 26 
+ 	~<ã©u»s.h
+ >
+ 
+ 28 
+ 	g__BEGIN_DECLS
+ 
+ 
+ 30 
+ 	~<b™s/ty³s.h
+ >
+ 
+ 32 #ifdeà
+ __USE_XOPEN
+ 
+ 
+ 33 #iâdeà
+ __šo_t_defšed
+ 
+ 
+ 34 #iâdeà
+ __USE_FILE_OFFSET64
+ 
+ 
+ 35 
+ __šo_t
+  
+ 	tšo_t
+ ;
+ 
+ 37 
+ __šo64_t
+  
+ 	tšo_t
+ ;
+ 
+ 39 
+ 	#__šo_t_defšed
+ 
+ 
+ 	)
+ 
+ 41 #ià
+ defšed
+  
+ __USE_LARGEFILE64
+  && !defšed 
+ __šo64_t_defšed
+ 
+ 
+ 42 
+ __šo64_t
+  
+ 	tšo64_t
+ ;
+ 
+ 43 
+ 	#__šo64_t_defšed
+ 
+ 
+ 	)
+ 
+ 62 
+ 	~<b™s/dœ’t.h
+ >
+ 
+ 64 #ià(
+ defšed
+  
+ __USE_BSD
+  || defšed 
+ __USE_MISC
+ è&& !defšed 
+ d_fž’o
+ 
+ 
+ 65 
+ 	#d_šo
+  
+ d_fž’o
+ 
+ 
+ 	)
+ 
+ 82 #ifdeà
+ _DIRENT_HAVE_D_NAMLEN
+ 
+ 
+ 83 
+ 	#_D_EXACT_NAMLEN
+ (
+ d
+ è((d)->
+ d_ÇmËn
+ )
+ 
+ 	)
+ 
+ 84 
+ 	#_D_ALLOC_NAMLEN
+ (
+ d
+ è(
+ 	`_D_EXACT_NAMLEN
+  (dè+ 1)
+ 
+ 	)
+ 
+ 86 
+ 	#_D_EXACT_NAMLEN
+ (
+ d
+ è(
+ 	`¡¾’
+  ((d)->
+ d_Çme
+ ))
+ 
+ 	)
+ 
+ 87 #ifdeà
+ _DIRENT_HAVE_D_RECLEN
+ 
+ 
+ 88 
+ 	#_D_ALLOC_NAMLEN
+ (
+ d
+ è(((*è(dè+ (d)->
+ d_»þ’
+ è- &(d)->
+ d_Çme
+ [0])
+ 
+ 	)
+ 
+ 90 
+ 	#_D_ALLOC_NAMLEN
+ (
+ d
+ è( (d)->
+ d_Çme
+  > 1 ?  (d)->d_name : \
+ 
+ 91 
+ 	`_D_EXACT_NAMLEN
+  (
+ d
+ è+ 1)
+ 
+ 	)
+ 
+ 96 #ifdeà
+ __USE_BSD
+ 
+ 
+ 100 
+ 	mDT_UNKNOWN
+  = 0,
+ 
+ 101 
+ 	#DT_UNKNOWN
+  
+ DT_UNKNOWN
+ 
+ 
+ 	)
+ 
+ 102 
+ 	mDT_FIFO
+  = 1,
+ 
+ 103 
+ 	#DT_FIFO
+  
+ DT_FIFO
+ 
+ 
+ 	)
+ 
+ 104 
+ 	mDT_CHR
+  = 2,
+ 
+ 105 
+ 	#DT_CHR
+  
+ DT_CHR
+ 
+ 
+ 	)
+ 
+ 106 
+ 	mDT_DIR
+  = 4,
+ 
+ 107 
+ 	#DT_DIR
+  
+ DT_DIR
+ 
+ 
+ 	)
+ 
+ 108 
+ 	mDT_BLK
+  = 6,
+ 
+ 109 
+ 	#DT_BLK
+  
+ DT_BLK
+ 
+ 
+ 	)
+ 
+ 110 
+ 	mDT_REG
+  = 8,
+ 
+ 111 
+ 	#DT_REG
+  
+ DT_REG
+ 
+ 
+ 	)
+ 
+ 112 
+ 	mDT_LNK
+  = 10,
+ 
+ 113 
+ 	#DT_LNK
+  
+ DT_LNK
+ 
+ 
+ 	)
+ 
+ 114 
+ 	mDT_SOCK
+  = 12,
+ 
+ 115 
+ 	#DT_SOCK
+  
+ DT_SOCK
+ 
+ 
+ 	)
+ 
+ 116 
+ 	mDT_WHT
+  = 14
+ 
+ 117 
+ 	#DT_WHT
+  
+ DT_WHT
+ 
+ 
+ 	)
+ 
+ 121 
+ 	#IFTODT
+ (
+ mode
+ è(((modeè& 0170000è>> 12)
+ 
+ 	)
+ 
+ 122 
+ 	#DTTOIF
+ (
+ dœty³
+ è((dœty³è<< 12)
+ 
+ 	)
+ 
+ 128 
+ __dœ¡»am
+  
+ 	tDIR
+ ;
+ 
+ 132 
+ DIR
+  *
+ 	$Ý’dœ
+  (
+ __cڡ
+  *
+ __Çme
+ è
+ __THROW
+ ;
+ 
+ 136 

+ 	$þo£dœ
+  (
+ DIR
+  *
+ __dœp
+ è
+ __THROW
+ ;
+ 
+ 145 #iâdeà
+ __USE_FILE_OFFSET64
+ 
+ 
+ 146 

+ dœ’t
+  *
+ 	$»addœ
+  (
+ DIR
+  *
+ __dœp
+ è
+ __THROW
+ ;
+ 
+ 148 #ifdeà
+ __REDIRECT
+ 
+ 
+ 149 

+ dœ’t
+  *
+ 	`__REDIRECT
+  (
+ »addœ
+ , (
+ DIR
+  *
+ __dœp
+ è
+ __THROW
+ , 
+ »addœ64
+ );
+ 
+ 151 
+ 	#»addœ
+  
+ »addœ64
+ 
+ 
+ 	)
+ 
+ 155 #ifdeà
+ __USE_LARGEFILE64
+ 
+ 
+ 156 

+ dœ’t64
+  *
+ 	$»addœ64
+  (
+ DIR
+  *
+ __dœp
+ è
+ __THROW
+ ;
+ 
+ 159 #ià
+ defšed
+  
+ __USE_POSIX
+  || defšed 
+ __USE_MISC
+ 
+ 
+ 162 #iâdeà
+ __USE_FILE_OFFSET64
+ 
+ 
+ 163 

+ 	$»addœ_r
+  (
+ DIR
+  *
+ __»¡riù
+  
+ __dœp
+ ,
+ 
+ 164 
+ dœ’t
+  *
+ __»¡riù
+  
+ __’Œy
+ ,
+ 
+ 165 
+ dœ’t
+  **
+ __»¡riù
+  
+ __»suÉ
+ è
+ __THROW
+ ;
+ 
+ 167 #ifdeà
+ __REDIRECT
+ 
+ 
+ 168 

+ 	`__REDIRECT
+  (
+ »addœ_r
+ ,
+ 
+ 169 (
+ DIR
+  *
+ __»¡riù
+  
+ __dœp
+ ,
+ 
+ 170 
+ dœ’t
+  *
+ __»¡riù
+  
+ __’Œy
+ ,
+ 
+ 171 
+ dœ’t
+  **
+ __»¡riù
+  
+ __»suÉ
+ è
+ __THROW
+ ,
+ 
+ 172 
+ »addœ64_r
+ );
+ 
+ 174 
+ 	#»addœ_r
+  
+ »addœ64_r
+ 
+ 
+ 	)
+ 
+ 178 #ifdeà
+ __USE_LARGEFILE64
+ 
+ 
+ 179 

+ 	$»addœ64_r
+  (
+ DIR
+  *
+ __»¡riù
+  
+ __dœp
+ ,
+ 
+ 180 
+ dœ’t64
+  *
+ __»¡riù
+  
+ __’Œy
+ ,
+ 
+ 181 
+ dœ’t64
+  **
+ __»¡riù
+  
+ __»suÉ
+ è
+ __THROW
+ ;
+ 
+ 186 

+ 	$»wšddœ
+  (
+ DIR
+  *
+ __dœp
+ è
+ __THROW
+ ;
+ 
+ 188 #ià
+ defšed
+  
+ __USE_BSD
+  || defšed 
+ __USE_MISC
+  || defšed 
+ __USE_XOPEN
+ 
+ 
+ 189 
+ 	~<b™s/ty³s.h
+ >
+ 
+ 192 

+ 	$£ekdœ
+  (
+ DIR
+  *
+ __dœp
+ , 
+ __pos
+ è
+ __THROW
+ ;
+ 
+ 195 

+ 	$‹Îdœ
+  (
+ DIR
+  *
+ __dœp
+ è
+ __THROW
+ ;
+ 
+ 198 #ià
+ defšed
+  
+ __USE_BSD
+  || defšed 
+ __USE_MISC
+ 
+ 
+ 201 

+ 	$dœfd
+  (
+ DIR
+  *
+ __dœp
+ è
+ __THROW
+ ;
+ 
+ 203 #ià
+ defšed
+  
+ __OPTIMIZE__
+  && defšed 
+ _DIR_dœfd
+ 
+ 
+ 204 
+ 	#dœfd
+ (
+ dœp
+ è
+ 	`_DIR_dœfd
+  (dœp)
+ 
+ 	)
+ 
+ 207 #iâdeà
+ MAXNAMLEN
+ 
+ 
+ 209 
+ 	~<b™s/posix1_lim.h
+ >
+ 
+ 212 #ifdeà
+ NAME_MAX
+ 
+ 
+ 213 
+ 	#MAXNAMLEN
+  
+ NAME_MAX
+ 
+ 
+ 	)
+ 
+ 215 
+ 	#MAXNAMLEN
+  255
+ 
+ 	)
+ 
+ 219 
+ 	#__Ãed_size_t
+ 
+ 
+ 	)
+ 
+ 220 
+ 	~<¡ddef.h
+ >
+ 
+ 226 #iâdeà
+ __USE_FILE_OFFSET64
+ 
+ 
+ 227 

+ 	`sÿndœ
+  (
+ __cڡ
+  *
+ __»¡riù
+  
+ __dœ
+ ,
+ 
+ 228 
+ dœ’t
+  ***
+ __»¡riù
+  
+ __Çm–i¡
+ ,
+ 
+ 229 (*
+ __£ËùÜ
+ è(
+ __cڡ
+  
+ dœ’t
+  *),
+ 
+ 230 (*
+ __cmp
+ è(
+ __cڡ
+  *, __cÚ¡ *)è
+ __THROW
+ ;
+ 
+ 232 #ifdeà
+ __REDIRECT
+ 
+ 
+ 233 

+ 	`__REDIRECT
+  (
+ sÿndœ
+ ,
+ 
+ 234 (
+ __cڡ
+  *
+ __»¡riù
+  
+ __dœ
+ ,
+ 
+ 235 
+ dœ’t
+  ***
+ __»¡riù
+  
+ __Çm–i¡
+ ,
+ 
+ 236 (*
+ __£ËùÜ
+ è(
+ __cڡ
+  
+ dœ’t
+  *),
+ 
+ 237 (*
+ __cmp
+ è(
+ __cڡ
+  *, __cÚ¡ *)è
+ __THROW
+ ,
+ 
+ 238 
+ sÿndœ64
+ );
+ 
+ 240 
+ 	#sÿndœ
+  
+ sÿndœ64
+ 
+ 
+ 	)
+ 
+ 244 #ià
+ defšed
+  
+ __USE_GNU
+  && defšed 
+ __USE_LARGEFILE64
+ 
+ 
+ 247 

+ 	`sÿndœ64
+  (
+ __cڡ
+  *
+ __»¡riù
+  
+ __dœ
+ ,
+ 
+ 248 
+ dœ’t64
+  ***
+ __»¡riù
+  
+ __Çm–i¡
+ ,
+ 
+ 249 (*
+ __£ËùÜ
+ è(
+ __cڡ
+  
+ dœ’t64
+  *),
+ 
+ 250 (*
+ __cmp
+ è(
+ __cڡ
+  *, __cÚ¡ *)è
+ __THROW
+ ;
+ 
+ 254 #iâdeà
+ __USE_FILE_OFFSET64
+ 
+ 
+ 255 

+ 	$®phasÜt
+  (
+ __cڡ
+  *
+ __e1
+ , __cڡ *
+ __e2
+ )
+ 
+ 256 
+ __THROW
+  
+ __©Œibu‹_pu»__
+ ;
+ 
+ 258 #ifdeà
+ __REDIRECT
+ 
+ 
+ 259 

+ 	`__REDIRECT
+  (
+ ®phasÜt
+ ,
+ 
+ 260 (
+ __cڡ
+  *
+ __e1
+ , __cڡ *
+ __e2
+ )
+ 
+ 261 
+ __THROW
+ ,
+ 
+ 262 
+ ®phasÜt64
+ è
+ __©Œibu‹_pu»__
+ ;
+ 
+ 264 
+ 	#®phasÜt
+  
+ ®phasÜt64
+ 
+ 
+ 	)
+ 
+ 268 #ià
+ defšed
+  
+ __USE_GNU
+  && defšed 
+ __USE_LARGEFILE64
+ 
+ 
+ 269 

+ 	$®phasÜt64
+  (
+ __cڡ
+  *
+ __e1
+ , __cڡ *
+ __e2
+ )
+ 
+ 270 
+ __THROW
+  
+ __©Œibu‹_pu»__
+ ;
+ 
+ 273 #ifdeà
+ __USE_GNU
+ 
+ 
+ 275 #iâdeà
+ __USE_FILE_OFFSET64
+ 
+ 
+ 276 

+ 	$v”siÚsÜt
+  (
+ __cڡ
+  *
+ __e1
+ , __cڡ *
+ __e2
+ )
+ 
+ 277 
+ __THROW
+  
+ __©Œibu‹_pu»__
+ ;
+ 
+ 279 #ifdeà
+ __REDIRECT
+ 
+ 
+ 280 

+ 	`__REDIRECT
+  (
+ v”siÚsÜt
+ ,
+ 
+ 281 (
+ __cڡ
+  *
+ __e1
+ , __cڡ *
+ __e2
+ )
+ 
+ 282 
+ __THROW
+ ,
+ 
+ 283 
+ v”siÚsÜt64
+ è
+ __©Œibu‹_pu»__
+ ;
+ 
+ 285 
+ 	#v”siÚsÜt
+  
+ v”siÚsÜt64
+ 
+ 
+ 	)
+ 
+ 289 #ifdeà
+ __USE_LARGEFILE64
+ 
+ 
+ 290 

+ 	$v”siÚsÜt64
+  (
+ __cڡ
+  *
+ __e1
+ , __cڡ *
+ __e2
+ )
+ 
+ 291 
+ __THROW
+  
+ __©Œibu‹_pu»__
+ ;
+ 
+ 299 #iâdeà
+ __USE_FILE_OFFSET64
+ 
+ 
+ 300 
+ __ssize_t
+  
+ 	$g‘dœ’Œ›s
+  (
+ __fd
+ , *
+ __»¡riù
+  
+ __buf
+ ,
+ 
+ 301 
+ size_t
+  
+ __nby‹s
+ ,
+ 
+ 302 
+ __off_t
+  *
+ __»¡riù
+  
+ __ba£p
+ è
+ __THROW
+ ;
+ 
+ 304 #ifdeà
+ __REDIRECT
+ 
+ 
+ 305 
+ __ssize_t
+  
+ 	`__REDIRECT
+  (
+ g‘dœ’Œ›s
+ ,
+ 
+ 306 (
+ __fd
+ , *
+ __»¡riù
+  
+ __buf
+ ,
+ 
+ 307 
+ size_t
+  
+ __nby‹s
+ ,
+ 
+ 308 
+ __off64_t
+  *
+ __»¡riù
+  
+ __ba£p
+ è
+ __THROW
+ ,
+ 
+ 309 
+ g‘dœ’Œ›s64
+ );
+ 
+ 311 
+ 	#g‘dœ’Œ›s
+  
+ g‘dœ’Œ›s64
+ 
+ 
+ 	)
+ 
+ 315 #ifdeà
+ __USE_LARGEFILE64
+ 
+ 
+ 316 
+ __ssize_t
+  
+ 	$g‘dœ’Œ›s64
+  (
+ __fd
+ , *
+ __»¡riù
+  
+ __buf
+ ,
+ 
+ 317 
+ size_t
+  
+ __nby‹s
+ ,
+ 
+ 318 
+ __off64_t
+  *
+ __»¡riù
+  
+ __ba£p
+ è
+ __THROW
+ ;
+ 
+ 323 
+ __END_DECLS
+ 
+ 
+ 	@/usr/include/errno.h
+ 
+ 23 #iâdef 
+ _ERRNO_H
+ 
+ 
+ 27 #iâdef 
+ __Ãed_Em©h
+ 
+ 
+ 28 
+ 	#_ERRNO_H
+  1
+ 
+ 	)
+ 
+ 29 
+ 	~<ã©u»s.h
+ >
+ 
+ 32 
+ 	g__BEGIN_DECLS
+ 
+ 
+ 36 
+ 	~<b™s/”ºo.h
+ >
+ 
+ 37 #undeà
+ __Ãed_Em©h
+ 
+ 
+ 39 #ifdef 
+ _ERRNO_H
+ 
+ 
+ 46 #iâdef 
+ Ӽo
+ 
+ 
+ 47 

+ Ӽo
+ ;
+ 
+ 50 #ifdeà
+ __USE_GNU
+ 
+ 
+ 55 
*
+ ´og¿m_švoÿtiÚ_Çme
+ , *
+ ´og¿m_švoÿtiÚ_shÜt_Çme
+ ;
+ 
+ 59 
+ 	g__END_DECLS
+ 
+ 
+ 67 #ià
+ defšed
+  
+ __USE_GNU
+  || defšed 
+ __Ãed_”rÜ_t
+ 
+ 
+ 68 #iâdeà
+ __”rÜ_t_defšed
+ 
+ 
+ 69 
+ 	t”rÜ_t
+ ;
+ 
+ 70 
+ 	#__”rÜ_t_defšed
+  1
+ 
+ 	)
+ 
+ 72 #undeà
+ __Ãed_”rÜ_t
+ 
+ 
+ 	@/usr/include/fcntl.h
+ 
+ 23 #iâdef 
+ _FCNTL_H
+ 
+ 
+ 24 
+ 	#_FCNTL_H
+  1
+ 
+ 	)
+ 
+ 26 
+ 	~<ã©u»s.h
+ >
+ 
+ 29 
+ 	g__BEGIN_DECLS
+ 
+ 
+ 33 
+ 	~<b™s/fúŽ.h
+ >
+ 
+ 36 #ifdeà
+ __USE_XOPEN
+ 
+ 
+ 37 
+ 	~<sys/¡©.h
+ >
+ 
+ 40 #ifdef 
+ __USE_MISC
+ 
+ 
+ 41 #iâdeà
+ R_OK
+ 
+ 
+ 44 
+ 	#R_OK
+  4
+ 
+ 	)
+ 
+ 45 
+ 	#W_OK
+  2
+ 
+ 	)
+ 
+ 46 
+ 	#X_OK
+  1
+ 
+ 	)
+ 
+ 47 
+ 	#F_OK
+  0
+ 
+ 	)
+ 
+ 52 #ifdeà
+ __USE_XOPEN
+ 
+ 
+ 53 
+ 	#SEEK_SET
+  0
+ 
+ 	)
+ 
+ 54 
+ 	#SEEK_CUR
+  1
+ 
+ 	)
+ 
+ 55 
+ 	#SEEK_END
+  2
+ 
+ 	)
+ 
+ 60 

+ 	$fúŽ
+  (
+ __fd
+ , 
+ __cmd
+ , ...è
+ __THROW
+ ;
+ 
+ 65 #iâdeà
+ __USE_FILE_OFFSET64
+ 
+ 
+ 66 

+ 	$ݒ
+  (
+ __cڡ
+  *
+ __fže
+ , 
+ __oæag
+ , ...è
+ __THROW
+ ;
+ 
+ 68 #ifdeà
+ __REDIRECT
+ 
+ 
+ 69 

+ 	`__REDIRECT
+  (
+ ݒ
+ , (
+ __cڡ
+  *
+ __fže
+ , 
+ __oæag
+ , ...è
+ __THROW
+ ,
+ 
+ 70 
+ ݒ64
+ );
+ 
+ 72 
+ 	#ݒ
+  
+ ݒ64
+ 
+ 
+ 	)
+ 
+ 75 #ifdeà
+ __USE_LARGEFILE64
+ 
+ 
+ 76 

+ 	$ݒ64
+  (
+ __cڡ
+  *
+ __fže
+ , 
+ __oæag
+ , ...è
+ __THROW
+ ;
+ 
+ 82 #iâdeà
+ __USE_FILE_OFFSET64
+ 
+ 
+ 83 

+ 	$ü—t
+  (
+ __cڡ
+  *
+ __fže
+ , 
+ __mode_t
+  
+ __mode
+ è
+ __THROW
+ ;
+ 
+ 85 #ifdeà
+ __REDIRECT
+ 
+ 
+ 86 

+ 	`__REDIRECT
+  (
+ ü—t
+ , (
+ __cڡ
+  *
+ __fže
+ , 
+ __mode_t
+  
+ __mode
+ è
+ __THROW
+ ,
+ 
+ 87 
+ ü—t64
+ );
+ 
+ 89 
+ 	#ü—t
+  
+ ü—t64
+ 
+ 
+ 	)
+ 
+ 92 #ifdeà
+ __USE_LARGEFILE64
+ 
+ 
+ 93 

+ 	$ü—t64
+  (
+ __cڡ
+  *
+ __fže
+ , 
+ __mode_t
+  
+ __mode
+ è
+ __THROW
+ ;
+ 
+ 96 #ià!
+ defšed
+  
+ F_LOCK
+  && (defšed 
+ __USE_MISC
+  || (defšed 
+ __USE_XOPEN_EXTENDED
+  \
+ 
+ 97 && !
+ defšed
+  
+ __USE_POSIX
+ ))
+ 
+ 106 
+ 	#F_ULOCK
+  0
+ 
+ 	)
+ 
+ 107 
+ 	#F_LOCK
+  1
+ 
+ 	)
+ 
+ 108 
+ 	#F_TLOCK
+  2
+ 
+ 	)
+ 
+ 109 
+ 	#F_TEST
+  3
+ 
+ 	)
+ 
+ 111 #iâdeà
+ __USE_FILE_OFFSET64
+ 
+ 
+ 112 

+ 	$lockf
+  (
+ __fd
+ , 
+ __cmd
+ , 
+ __off_t
+  
+ __Ën
+ è
+ __THROW
+ ;
+ 
+ 114 #ifdeà
+ __REDIRECT
+ 
+ 
+ 115 

+ 	`__REDIRECT
+  (
+ lockf
+ , (
+ __fd
+ , 
+ __cmd
+ , 
+ __off64_t
+  
+ __Ën
+ è
+ __THROW
+ ,
+ 
+ 116 
+ lockf64
+ );
+ 
+ 118 
+ 	#lockf
+  
+ lockf64
+ 
+ 
+ 	)
+ 
+ 121 #ifdeà
+ __USE_LARGEFILE64
+ 
+ 
+ 122 

+ 	$lockf64
+  (
+ __fd
+ , 
+ __cmd
+ , 
+ __off64_t
+  
+ __Ën
+ è
+ __THROW
+ ;
+ 
+ 126 #ifdeà
+ __USE_XOPEN2K
+ 
+ 
+ 129 #iâdeà
+ __USE_FILE_OFFSET64
+ 
+ 
+ 130 

+ 	$posix_çdvi£
+  (
+ __fd
+ , 
+ __off_t
+  
+ __off£t
+ , 
+ size_t
+  
+ __Ën
+ ,
+ 
+ 131 
+ __advi£
+ è
+ __THROW
+ ;
+ 
+ 133 #ifdeà
+ __REDIRECT
+ 
+ 
+ 134 

+ 	`__REDIRECT
+  (
+ posix_çdvi£
+ , (
+ __fd
+ , 
+ __off64_t
+  
+ __off£t
+ ,
+ 
+ 135 
+ size_t
+  
+ __Ën
+ , 
+ __advi£
+ è
+ __THROW
+ ,
+ 
+ 136 
+ posix_çdvi£64
+ );
+ 
+ 138 
+ 	#posix_çdvi£
+  
+ posix_çdvi£64
+ 
+ 
+ 	)
+ 
+ 141 #ifdeà
+ __USE_LARGEFILE64
+ 
+ 
+ 142 

+ 	$posix_çdvi£64
+  (
+ __fd
+ , 
+ __off64_t
+  
+ __off£t
+ , 
+ size_t
+  
+ __Ën
+ ,
+ 
+ 143 
+ __advi£
+ è
+ __THROW
+ ;
+ 
+ 148 #iâdeà
+ __USE_FILE_OFFSET64
+ 
+ 
+ 149 

+ 	$posix_çÎoÿ‹
+  (
+ __fd
+ , 
+ __off_t
+  
+ __off£t
+ , 
+ size_t
+  
+ __Ën
+ è
+ __THROW
+ ;
+ 
+ 151 #ifdeà
+ __REDIRECT
+ 
+ 
+ 152 

+ 	`__REDIRECT
+  (
+ posix_çÎoÿ‹
+ , (
+ __fd
+ , 
+ __off64_t
+  
+ __off£t
+ ,
+ 
+ 153 
+ size_t
+  
+ __Ën
+ è
+ __THROW
+ ,
+ 
+ 154 
+ posix_çÎoÿ‹64
+ );
+ 
+ 156 
+ 	#posix_çÎoÿ‹
+  
+ posix_çÎoÿ‹64
+ 
+ 
+ 	)
+ 
+ 159 #ifdeà
+ __USE_LARGEFILE64
+ 
+ 
+ 160 

+ 	$posix_çÎoÿ‹64
+  (
+ __fd
+ , 
+ __off64_t
+  
+ __off£t
+ , 
+ size_t
+  
+ __Ën
+ )
+ 
+ 161 
+ __THROW
+ ;
+ 
+ 165 
+ __END_DECLS
+ 
+ 
+ 	@/usr/include/gdbm.h
+ 
+ 30 #iâdeà
+ _GDBM_H_
+ 
+ 
+ 31 
+ 	#_GDBM_H_
+ 
+ 
+ 	)
+ 
+ 35 
+ 	#GDBM_READER
+  0
+ 
+ 	)
+ 
+ 36 
+ 	#GDBM_WRITER
+  1
+ 
+ 	)
+ 
+ 37 
+ 	#GDBM_WRCREAT
+  2
+ 
+ 	)
+ 
+ 38 
+ 	#GDBM_NEWDB
+  3
+ 
+ 	)
+ 
+ 39 
+ 	#GDBM_FAST
+  0x10
+ 
+ 	)
+ 
+ 40 
+ 	#GDBM_SYNC
+  0x20
+ 
+ 	)
+ 
+ 41 
+ 	#GDBM_NOLOCK
+  0x40
+ 
+ 	)
+ 
+ 45 
+ 	#GDBM_INSERT
+  0
+ 
+ 	)
+ 
+ 46 
+ 	#GDBM_REPLACE
+  1
+ 
+ 	)
+ 
+ 49 
+ 	#GDBM_CACHESIZE
+  1
+ 
+ 	)
+ 
+ 50 
+ 	#GDBM_FASTMODE
+  2
+ 
+ 	)
+ 
+ 51 
+ 	#GDBM_SYNCMODE
+  3
+ 
+ 	)
+ 
+ 52 
+ 	#GDBM_CENTFREE
+  4
+ 
+ 	)
+ 
+ 53 
+ 	#GDBM_COALESCEBLKS
+  5
+ 
+ 	)
+ 
+ 57 *
+ 	md±r
+ ;
+ 
+ 58 
+ 	mdsize
+ ;
+ 
+ 59 } 
+ 	td©um
+ ;
+ 
+ 63 ¡ruù {
+ 	mdummy
+ [10];} *
+ 	tGDBM_FILE
+ ;
+ 
+ 66 #iâdeà
+ __P
+ 
+ 
+ 67 #ià
+ defšed
+ (
+ __STDC__
+ è|| defšed(
+ __ýlu¥lus
+ è|| defšed(
+ c_¶u¥lus
+ )
+ 
+ 68 
+ 	#__P
+ (
+ x
+ è
+ 	)
+ x
+ 
+ 70 
+ 	#__P
+ (
+ x
+ è()
+ 
+ 	)
+ 
+ 75 
*
+ gdbm_v”siÚ
+ ;
+ 
+ 79 #ià
+ defšed
+ (
+ __ýlu¥lus
+ è|| defšed(
+ c_¶u¥lus
+ )
+ 
+ 85 
+ GDBM_FILE
+  
+ gdbm_ݒ
+  
+ __P
+ ((*, , , , (*)()));
+ 
+ 86 

+ gdbm_þo£
+  
+ __P
+ ((
+ GDBM_FILE
+ ));
+ 
+ 87 

+ gdbm_¡Üe
+  
+ __P
+ ((
+ GDBM_FILE
+ , 
+ d©um
+ , datum, ));
+ 
+ 88 
+ d©um
+  
+ gdbm_ãtch
+  
+ __P
+ ((
+ GDBM_FILE
+ , datum));
+ 
+ 89 

+ gdbm_d–‘e
+  
+ __P
+ ((
+ GDBM_FILE
+ , 
+ d©um
+ ));
+ 
+ 90 
+ d©um
+  
+ gdbm_fœ¡key
+  
+ __P
+ ((
+ GDBM_FILE
+ ));
+ 
+ 91 
+ d©um
+  
+ gdbm_Ãxtkey
+  
+ __P
+ ((
+ GDBM_FILE
+ , datum));
+ 
+ 92 

+ gdbm_»Ügªize
+  
+ __P
+ ((
+ GDBM_FILE
+ ));
+ 
+ 93 

+ gdbm_sync
+  
+ __P
+ ((
+ GDBM_FILE
+ ));
+ 
+ 94 

+ gdbm_exi¡s
+  
+ __P
+ ((
+ GDBM_FILE
+ , 
+ d©um
+ ));
+ 
+ 95 

+ gdbm_£tÝt
+  
+ __P
+ ((
+ GDBM_FILE
+ , , *, ));
+ 
+ 96 

+ gdbm_fdesc
+  
+ __P
+ ((
+ GDBM_FILE
+ ));
+ 
+ 98 #ià
+ defšed
+ (
+ __ýlu¥lus
+ è|| defšed(
+ c_¶u¥lus
+ )
+ 
+ 102 
+ 	#GDBM_NO_ERROR
+  0
+ 
+ 	)
+ 
+ 103 
+ 	#GDBM_MALLOC_ERROR
+  1
+ 
+ 	)
+ 
+ 104 
+ 	#GDBM_BLOCK_SIZE_ERROR
+  2
+ 
+ 	)
+ 
+ 105 
+ 	#GDBM_FILE_OPEN_ERROR
+  3
+ 
+ 	)
+ 
+ 106 
+ 	#GDBM_FILE_WRITE_ERROR
+  4
+ 
+ 	)
+ 
+ 107 
+ 	#GDBM_FILE_SEEK_ERROR
+  5
+ 
+ 	)
+ 
+ 108 
+ 	#GDBM_FILE_READ_ERROR
+  6
+ 
+ 	)
+ 
+ 109 
+ 	#GDBM_BAD_MAGIC_NUMBER
+  7
+ 
+ 	)
+ 
+ 110 
+ 	#GDBM_EMPTY_DATABASE
+  8
+ 
+ 	)
+ 
+ 111 
+ 	#GDBM_CANT_BE_READER
+  9
+ 
+ 	)
+ 
+ 112 
+ 	#GDBM_CANT_BE_WRITER
+  10
+ 
+ 	)
+ 
+ 113 
+ 	#GDBM_READER_CANT_DELETE
+  11
+ 
+ 	)
+ 
+ 114 
+ 	#GDBM_READER_CANT_STORE
+  12
+ 
+ 	)
+ 
+ 115 
+ 	#GDBM_READER_CANT_REORGANIZE
+  13
+ 
+ 	)
+ 
+ 116 
+ 	#GDBM_UNKNOWN_UPDATE
+  14
+ 
+ 	)
+ 
+ 117 
+ 	#GDBM_ITEM_NOT_FOUND
+  15
+ 
+ 	)
+ 
+ 118 
+ 	#GDBM_REORGANIZE_FAILED
+  16
+ 
+ 	)
+ 
+ 119 
+ 	#GDBM_CANNOT_REPLACE
+  17
+ 
+ 	)
+ 
+ 120 
+ 	#GDBM_ILLEGAL_DATA
+  18
+ 
+ 	)
+ 
+ 121 
+ 	#GDBM_OPT_ALREADY_SET
+  19
+ 
+ 	)
+ 
+ 122 
+ 	#GDBM_OPT_ILLEGAL
+  29
+ 
+ 	)
+ 
+ 123 
+ 	tgdbm_”rÜ
+ ;
+ 
+ 124 
+ gdbm_”rÜ
+  
+ gdbm_Ӽo
+ ;
+ 
+ 129 #ià
+ defšed
+ (
+ __ýlu¥lus
+ è|| defšed(
+ c_¶u¥lus
+ )
+ 
+ 133 
*
+ gdbm_¡»¼Ü
+  
+ __P
+ ((
+ gdbm_”rÜ
+ ));
+ 
+ 135 #ià
+ defšed
+ (
+ __ýlu¥lus
+ è|| defšed(
+ c_¶u¥lus
+ )
+ 
+ 	@/usr/include/grp.h
+ 
+ 23 #iâdef 
+ _GRP_H
+ 
+ 
+ 24 
+ 	#_GRP_H
+  1
+ 
+ 	)
+ 
+ 26 
+ 	~<ã©u»s.h
+ >
+ 
+ 28 
+ 	g__BEGIN_DECLS
+ 
+ 
+ 30 
+ 	~<b™s/ty³s.h
+ >
+ 
+ 32 
+ 	#__Ãed_size_t
+ 
+ 
+ 	)
+ 
+ 33 
+ 	~<¡ddef.h
+ >
+ 
+ 37 #ià
+ defšed
+  
+ __USE_XOPEN
+  && !defšed 
+ __gid_t_defšed
+ 
+ 
+ 38 
+ __gid_t
+  
+ 	tgid_t
+ ;
+ 
+ 39 
+ 	#__gid_t_defšed
+ 
+ 
+ 	)
+ 
+ 43 
+ 	sgroup
+ 
+ 
+ 45 *
+ 	mgr_Çme
+ ;
+ 
+ 46 *
+ 	mgr_·sswd
+ ;
+ 
+ 47 
+ __gid_t
+  
+ 	mgr_gid
+ ;
+ 
+ 48 **
+ 	mgr_mem
+ ;
+ 
+ 52 #ià
+ defšed
+  
+ __USE_SVID
+  || defšed 
+ __USE_GNU
+ 
+ 
+ 53 
+ 	#__Ãed_FILE
+ 
+ 
+ 	)
+ 
+ 54 
+ 	~<¡dio.h
+ >
+ 
+ 58 #ià
+ defšed
+  
+ __USE_SVID
+  || defšed 
+ __USE_BSD
+  || defšed 
+ __USE_XOPEN_EXTENDED
+ 
+ 
+ 60 

+ 	$£tg»Á
+  (è
+ __THROW
+ ;
+ 
+ 63 

+ 	$’dg»Á
+  (è
+ __THROW
+ ;
+ 
+ 66 

+ group
+  *
+ 	$g‘g»Á
+  (è
+ __THROW
+ ;
+ 
+ 69 #ifdef 
+ __USE_SVID
+ 
+ 
+ 71 

+ group
+  *
+ 	$fg‘g»Á
+  (
+ FILE
+  *
+ __¡»am
+ è
+ __THROW
+ ;
+ 
+ 74 #ifdeà
+ __USE_GNU
+ 
+ 
+ 76 

+ 	$putg»Á
+  (
+ __cڡ
+  
+ group
+  *
+ __»¡riù
+  
+ __p
+ ,
+ 
+ 77 
+ FILE
+  *
+ __»¡riù
+  
+ __f
+ è
+ __THROW
+ ;
+ 
+ 81 

+ group
+  *
+ 	$g‘grgid
+  (
+ __gid_t
+  
+ __gid
+ è
+ __THROW
+ ;
+ 
+ 84 

+ group
+  *
+ 	$g‘gºam
+  (
+ __cڡ
+  *
+ __Çme
+ è
+ __THROW
+ ;
+ 
+ 86 #ià
+ defšed
+  
+ __USE_POSIX
+  || defšed 
+ __USE_MISC
+ 
+ 
+ 88 #ifdeà
+ __USE_MISC
+ 
+ 
+ 91 
+ 	#NSS_BUFLEN_GROUP
+  1024
+ 
+ 	)
+ 
+ 102 #ifdeà
+ __USE_GNU
+ 
+ 
+ 103 

+ 	$g‘g»Á_r
+  (
+ group
+  *
+ __»¡riù
+  
+ __»suÉbuf
+ ,
+ 
+ 104 *
+ __»¡riù
+  
+ __bufãr
+ , 
+ size_t
+  
+ __buæ’
+ ,
+ 
+ 105 
+ group
+  **
+ __»¡riù
+  
+ __»suÉ
+ è
+ __THROW
+ ;
+ 
+ 109 

+ 	$g‘grgid_r
+  (
+ __gid_t
+  
+ __gid
+ , 
+ group
+  *
+ __»¡riù
+  
+ __»suÉbuf
+ ,
+ 
+ 110 *
+ __»¡riù
+  
+ __bufãr
+ , 
+ size_t
+  
+ __buæ’
+ ,
+ 
+ 111 
+ group
+  **
+ __»¡riù
+  
+ __»suÉ
+ è
+ __THROW
+ ;
+ 
+ 114 

+ 	$g‘gºam_r
+  (
+ __cڡ
+  *
+ __»¡riù
+  
+ __Çme
+ ,
+ 
+ 115 
+ group
+  *
+ __»¡riù
+  
+ __»suÉbuf
+ ,
+ 
+ 116 *
+ __»¡riù
+  
+ __bufãr
+ , 
+ size_t
+  
+ __buæ’
+ ,
+ 
+ 117 
+ group
+  **
+ __»¡riù
+  
+ __»suÉ
+ è
+ __THROW
+ ;
+ 
+ 119 #ifdef 
+ __USE_SVID
+ 
+ 
+ 122 

+ 	$fg‘g»Á_r
+  (
+ FILE
+  *
+ __»¡riù
+  
+ __¡»am
+ ,
+ 
+ 123 
+ group
+  *
+ __»¡riù
+  
+ __»suÉbuf
+ ,
+ 
+ 124 *
+ __»¡riù
+  
+ __bufãr
+ , 
+ size_t
+  
+ __buæ’
+ ,
+ 
+ 125 
+ group
+  **
+ __»¡riù
+  
+ __»suÉ
+ è
+ __THROW
+ ;
+ 
+ 131 #ifdef 
+ __USE_BSD
+ 
+ 
+ 133 
+ 	#__Ãed_size_t
+ 
+ 
+ 	)
+ 
+ 134 
+ 	~<¡ddef.h
+ >
+ 
+ 137 

+ 	$£tgroups
+  (
+ size_t
+  
+ __n
+ , 
+ __cڡ
+  
+ __gid_t
+  *
+ __groups
+ è
+ __THROW
+ ;
+ 
+ 142 

+ 	$g‘grou¶i¡
+  (
+ __cڡ
+  *
+ __u£r
+ , 
+ __gid_t
+  
+ __group
+ ,
+ 
+ 143 
+ __gid_t
+  *
+ __groups
+ , *
+ __ngroups
+ è
+ __THROW
+ ;
+ 
+ 148 

+ 	$š™groups
+  (
+ __cڡ
+  *
+ __u£r
+ , 
+ __gid_t
+  
+ __group
+ è
+ __THROW
+ ;
+ 
+ 152 
+ __END_DECLS
+ 
+ 
+ 	@/usr/include/netdb.h
+ 
+ 23 #iâdef 
+ _NETDB_H
+ 
+ 
+ 24 
+ 	#_NETDB_H
+  1
+ 
+ 	)
+ 
+ 26 
+ 	~<ã©u»s.h
+ >
+ 
+ 28 
+ 	~<Ãtš‘/š.h
+ >
+ 
+ 29 
+ 	~<¡dšt.h
+ >
+ 
+ 30 #ifdeà
+ __USE_MISC
+ 
+ 
+ 33 
+ 	~<½c/Ãtdb.h
+ >
+ 
+ 36 #ifdeà
+ __USE_GNU
+ 
+ 
+ 37 
+ 	#__Ãed_sigev’t_t
+ 
+ 
+ 	)
+ 
+ 38 
+ 	~<b™s/sigšfo.h
+ >
+ 
+ 39 
+ 	#__Ãed_time¥ec
+ 
+ 
+ 	)
+ 
+ 40 
+ 	~<time.h
+ >
+ 
+ 43 
+ 	~<b™s/Ãtdb.h
+ >
+ 
+ 46 
+ 	#_PATH_HEQUIV
+  "/‘c/ho¡s.equiv"
+ 
+ 	)
+ 
+ 47 
+ 	#_PATH_HOSTS
+  "/‘c/ho¡s"
+ 
+ 	)
+ 
+ 48 
+ 	#_PATH_NETWORKS
+  "/‘c/ÃtwÜks"
+ 
+ 	)
+ 
+ 49 
+ 	#_PATH_NSSWITCH_CONF
+  "/‘c/nssw™ch.cÚf"
+ 
+ 	)
+ 
+ 50 
+ 	#_PATH_PROTOCOLS
+  "/‘c/´ÙocÞs"
+ 
+ 	)
+ 
+ 51 
+ 	#_PATH_SERVICES
+  "/‘c/£rviûs"
+ 
+ 	)
+ 
+ 54 
+ __BEGIN_DECLS
+ 
+ 
+ 57 

+ h_Ӽo
+ ;
+ 
+ 60 
*
+ 	$__h_”ºo_loÿtiÚ
+  (è
+ __THROW
+  
+ 	`__©Œibu‹__
+  ((
+ __cڡ__
+ ));
+ 
+ 62 #ifdeà
+ _LIBC
+ 
+ 
+ 63 #ifdeà
+ _LIBC_REENTRANT
+ 
+ 
+ 64 
+ šlše
+  
+ 
+ 65 
+ 	$__£t_h_”ºo
+  (
+ __”r
+ )
+ 
+ 67  *
+ 	`__h_”ºo_loÿtiÚ
+  (èð
+ __”r
+ ;
+ 
+ 68 
+ 	}
+ }
+ 
+ 70 
+ 	#__£t_h_”ºo
+ (
+ x
+ è(
+ h_Ӽo
+  = (x))
+ 
+ 	)
+ 
+ 75 #ià!
+ defšed
+  
+ _LIBC
+  || defšed 
+ _LIBC_REENTRANT
+ 
+ 
+ 77 
+ 	#h_Ӽo
+  (*
+ 	`__h_”ºo_loÿtiÚ
+  ())
+ 
+ 	)
+ 
+ 82 
+ 	#NETDB_INTERNAL
+  -1
+ 
+ 	)
+ 
+ 83 
+ 	#NETDB_SUCCESS
+  0
+ 
+ 	)
+ 
+ 84 
+ 	#HOST_NOT_FOUND
+  1
+ 
+ 	)
+ 
+ 85 
+ 	#TRY_AGAIN
+  2
+ 
+ 	)
+ 
+ 87 
+ 	#NO_RECOVERY
+  3
+ 
+ 	)
+ 
+ 89 
+ 	#NO_DATA
+  4
+ 
+ 	)
+ 
+ 91 
+ 	#NO_ADDRESS
+  
+ NO_DATA
+ 
+ 
+ 	)
+ 
+ 93 #ifdeà
+ __USE_XOPEN2K
+ 
+ 
+ 95 
+ 	#IPPORT_RESERVED
+  1024
+ 
+ 	)
+ 
+ 98 #ifdeà
+ __USE_GNU
+ 
+ 
+ 100 
+ 	#SCOPE_DELIMITER
+  '%'
+ 
+ 	)
+ 
+ 105 

+ 	$h”rÜ
+  (
+ __cڡ
+  *
+ __¡r
+ è
+ __THROW
+ ;
+ 
+ 108 
+ __cڡ
+  *
+ 	$h¡»¼Ü
+  (
+ __”r_num
+ è
+ __THROW
+ ;
+ 
+ 113 
+ 	sho¡’t
+ 
+ 
+ 115 *
+ h_Çme
+ ;
+ 
+ 116 **
+ h_®Ÿ£s
+ ;
+ 
+ 117 
+ h_add¹y³
+ ;
+ 
+ 118 
+ h_Ëngth
+ ;
+ 
+ 119 **
+ h_addr_li¡
+ ;
+ 
+ 120 
+ 	#h_addr
+  
+ h_addr_li¡
+ [0]
+ 
+ 	)
+ 
+ 125 

+ 	$£tho¡’t
+  (
+ __¡ay_Ý’
+ è
+ __THROW
+ ;
+ 
+ 128 

+ 	$’dho¡’t
+  (è
+ __THROW
+ ;
+ 
+ 132 

+ ho¡’t
+  *
+ 	$g‘ho¡’t
+  (è
+ __THROW
+ ;
+ 
+ 136 

+ ho¡’t
+  *
+ 	$g‘ho¡byaddr
+  (
+ __cڡ
+  *
+ __addr
+ , 
+ __sockËn_t
+  
+ __Ën
+ ,
+ 
+ 137 
+ __ty³
+ è
+ __THROW
+ ;
+ 
+ 140 

+ ho¡’t
+  *
+ 	$g‘ho¡byÇme
+  (
+ __cڡ
+  *
+ __Çme
+ è
+ __THROW
+ ;
+ 
+ 142 #ifdeà
+ __USE_MISC
+ 
+ 
+ 146 

+ ho¡’t
+  *
+ 	$g‘ho¡byÇme2
+  (
+ __cڡ
+  *
+ __Çme
+ , 
+ __af
+ è
+ __THROW
+ ;
+ 
+ 153 

+ 	$g‘ho¡’t_r
+  (
+ ho¡’t
+  *
+ __»¡riù
+  
+ __»suÉ_buf
+ ,
+ 
+ 154 *
+ __»¡riù
+  
+ __buf
+ , 
+ size_t
+  
+ __buæ’
+ ,
+ 
+ 155 
+ ho¡’t
+  **
+ __»¡riù
+  
+ __»suÉ
+ ,
+ 
+ 156 *
+ __»¡riù
+  
+ __h_”ºÝ
+ è
+ __THROW
+ ;
+ 
+ 158 

+ 	$g‘ho¡byaddr_r
+  (
+ __cڡ
+  *
+ __»¡riù
+  
+ __addr
+ , 
+ __sockËn_t
+  
+ __Ën
+ ,
+ 
+ 159 
+ __ty³
+ ,
+ 
+ 160 
+ ho¡’t
+  *
+ __»¡riù
+  
+ __»suÉ_buf
+ ,
+ 
+ 161 *
+ __»¡riù
+  
+ __buf
+ , 
+ size_t
+  
+ __buæ’
+ ,
+ 
+ 162 
+ ho¡’t
+  **
+ __»¡riù
+  
+ __»suÉ
+ ,
+ 
+ 163 *
+ __»¡riù
+  
+ __h_”ºÝ
+ è
+ __THROW
+ ;
+ 
+ 165 

+ 	$g‘ho¡byÇme_r
+  (
+ __cڡ
+  *
+ __»¡riù
+  
+ __Çme
+ ,
+ 
+ 166 
+ ho¡’t
+  *
+ __»¡riù
+  
+ __»suÉ_buf
+ ,
+ 
+ 167 *
+ __»¡riù
+  
+ __buf
+ , 
+ size_t
+  
+ __buæ’
+ ,
+ 
+ 168 
+ ho¡’t
+  **
+ __»¡riù
+  
+ __»suÉ
+ ,
+ 
+ 169 *
+ __»¡riù
+  
+ __h_”ºÝ
+ è
+ __THROW
+ ;
+ 
+ 171 

+ 	$g‘ho¡byÇme2_r
+  (
+ __cڡ
+  *
+ __»¡riù
+  
+ __Çme
+ , 
+ __af
+ ,
+ 
+ 172 
+ ho¡’t
+  *
+ __»¡riù
+  
+ __»suÉ_buf
+ ,
+ 
+ 173 *
+ __»¡riù
+  
+ __buf
+ , 
+ size_t
+  
+ __buæ’
+ ,
+ 
+ 174 
+ ho¡’t
+  **
+ __»¡riù
+  
+ __»suÉ
+ ,
+ 
+ 175 *
+ __»¡riù
+  
+ __h_”ºÝ
+ è
+ __THROW
+ ;
+ 
+ 181 

+ 	$£Š‘’t
+  (
+ __¡ay_Ý’
+ è
+ __THROW
+ ;
+ 
+ 184 

+ 	$’dËÁ
+  (è
+ __THROW
+ ;
+ 
+ 188 

+ ËÁ
+  *
+ 	$g‘ËÁ
+  (è
+ __THROW
+ ;
+ 
+ 192 

+ ËÁ
+  *
+ 	$g‘Ãtbyaddr
+  (
+ ušt32_t
+  
+ __Ãt
+ , 
+ __ty³
+ )
+ 
+ 193 
+ __THROW
+ ;
+ 
+ 196 

+ ËÁ
+  *
+ 	$g‘ÃtbyÇme
+  (
+ __cڡ
+  *
+ __Çme
+ è
+ __THROW
+ ;
+ 
+ 198 #ifdef 
+ __USE_MISC
+ 
+ 
+ 204 

+ 	$g‘ËÁ_r
+  (
+ ËÁ
+  *
+ __»¡riù
+  
+ __»suÉ_buf
+ ,
+ 
+ 205 *
+ __»¡riù
+  
+ __buf
+ , 
+ size_t
+  
+ __buæ’
+ ,
+ 
+ 206 
+ ËÁ
+  **
+ __»¡riù
+  
+ __»suÉ
+ ,
+ 
+ 207 *
+ __»¡riù
+  
+ __h_”ºÝ
+ è
+ __THROW
+ ;
+ 
+ 209 

+ 	$g‘Ãtbyaddr_r
+  (
+ ušt32_t
+  
+ __Ãt
+ , 
+ __ty³
+ ,
+ 
+ 210 
+ ËÁ
+  *
+ __»¡riù
+  
+ __»suÉ_buf
+ ,
+ 
+ 211 *
+ __»¡riù
+  
+ __buf
+ , 
+ size_t
+  
+ __buæ’
+ ,
+ 
+ 212 
+ ËÁ
+  **
+ __»¡riù
+  
+ __»suÉ
+ ,
+ 
+ 213 *
+ __»¡riù
+  
+ __h_”ºÝ
+ è
+ __THROW
+ ;
+ 
+ 215 

+ 	$g‘ÃtbyÇme_r
+  (
+ __cڡ
+  *
+ __»¡riù
+  
+ __Çme
+ ,
+ 
+ 216 
+ ËÁ
+  *
+ __»¡riù
+  
+ __»suÉ_buf
+ ,
+ 
+ 217 *
+ __»¡riù
+  
+ __buf
+ , 
+ size_t
+  
+ __buæ’
+ ,
+ 
+ 218 
+ ËÁ
+  **
+ __»¡riù
+  
+ __»suÉ
+ ,
+ 
+ 219 *
+ __»¡riù
+  
+ __h_”ºÝ
+ è
+ __THROW
+ ;
+ 
+ 224 
+ 	s£rv’t
+ 
+ 
+ 226 *
+ s_Çme
+ ;
+ 
+ 227 **
+ s_®Ÿ£s
+ ;
+ 
+ 228 
+ s_pÜt
+ ;
+ 
+ 229 *
+ s_´Ùo
+ ;
+ 
+ 234 

+ 	$£t£rv’t
+  (
+ __¡ay_Ý’
+ è
+ __THROW
+ ;
+ 
+ 237 

+ 	$’d£rv’t
+  (è
+ __THROW
+ ;
+ 
+ 241 

+ £rv’t
+  *
+ 	$g‘£rv’t
+  (è
+ __THROW
+ ;
+ 
+ 245 

+ £rv’t
+  *
+ 	$g‘£rvbyÇme
+  (
+ __cڡ
+  *
+ __Çme
+ ,
+ 
+ 246 
+ __cڡ
+  *
+ __´Ùo
+ è
+ __THROW
+ ;
+ 
+ 250 

+ £rv’t
+  *
+ 	$g‘£rvbypÜt
+  (
+ __pÜt
+ , 
+ __cڡ
+  *
+ __´Ùo
+ )
+ 
+ 251 
+ __THROW
+ ;
+ 
+ 254 #ifdef 
+ __USE_MISC
+ 
+ 
+ 257 

+ 	$g‘£rv’t_r
+  (
+ £rv’t
+  *
+ __»¡riù
+  
+ __»suÉ_buf
+ ,
+ 
+ 258 *
+ __»¡riù
+  
+ __buf
+ , 
+ size_t
+  
+ __buæ’
+ ,
+ 
+ 259 
+ £rv’t
+  **
+ __»¡riù
+  
+ __»suÉ
+ è
+ __THROW
+ ;
+ 
+ 261 

+ 	$g‘£rvbyÇme_r
+  (
+ __cڡ
+  *
+ __»¡riù
+  
+ __Çme
+ ,
+ 
+ 262 
+ __cڡ
+  *
+ __»¡riù
+  
+ __´Ùo
+ ,
+ 
+ 263 
+ £rv’t
+  *
+ __»¡riù
+  
+ __»suÉ_buf
+ ,
+ 
+ 264 *
+ __»¡riù
+  
+ __buf
+ , 
+ size_t
+  
+ __buæ’
+ ,
+ 
+ 265 
+ £rv’t
+  **
+ __»¡riù
+  
+ __»suÉ
+ è
+ __THROW
+ ;
+ 
+ 267 

+ 	$g‘£rvbypÜt_r
+  (
+ __pÜt
+ , 
+ __cڡ
+  *
+ __»¡riù
+  
+ __´Ùo
+ ,
+ 
+ 268 
+ £rv’t
+  *
+ __»¡riù
+  
+ __»suÉ_buf
+ ,
+ 
+ 269 *
+ __»¡riù
+  
+ __buf
+ , 
+ size_t
+  
+ __buæ’
+ ,
+ 
+ 270 
+ £rv’t
+  **
+ __»¡riù
+  
+ __»suÉ
+ è
+ __THROW
+ ;
+ 
+ 275 
+ 	s´ÙÛÁ
+ 
+ 
+ 277 *
+ p_Çme
+ ;
+ 
+ 278 **
+ p_®Ÿ£s
+ ;
+ 
+ 279 
+ p_´Ùo
+ ;
+ 
+ 284 

+ 	$£rÙÛÁ
+  (
+ __¡ay_Ý’
+ è
+ __THROW
+ ;
+ 
+ 287 

+ 	$’d´ÙÛÁ
+  (è
+ __THROW
+ ;
+ 
+ 291 

+ ´ÙÛÁ
+  *
+ 	$g‘´ÙÛÁ
+  (è
+ __THROW
+ ;
+ 
+ 294 

+ ´ÙÛÁ
+  *
+ 	$g‘´ÙobyÇme
+  (
+ __cڡ
+  *
+ __Çme
+ è
+ __THROW
+ ;
+ 
+ 297 

+ ´ÙÛÁ
+  *
+ 	$g‘´Ùobynumb”
+  (
+ __´Ùo
+ è
+ __THROW
+ ;
+ 
+ 300 #ifdef 
+ __USE_MISC
+ 
+ 
+ 303 

+ 	$g‘´ÙÛÁ_r
+  (
+ ´ÙÛÁ
+  *
+ __»¡riù
+  
+ __»suÉ_buf
+ ,
+ 
+ 304 *
+ __»¡riù
+  
+ __buf
+ , 
+ size_t
+  
+ __buæ’
+ ,
+ 
+ 305 
+ ´ÙÛÁ
+  **
+ __»¡riù
+  
+ __»suÉ
+ è
+ __THROW
+ ;
+ 
+ 307 

+ 	$g‘´ÙobyÇme_r
+  (
+ __cڡ
+  *
+ __»¡riù
+  
+ __Çme
+ ,
+ 
+ 308 
+ ´ÙÛÁ
+  *
+ __»¡riù
+  
+ __»suÉ_buf
+ ,
+ 
+ 309 *
+ __»¡riù
+  
+ __buf
+ , 
+ size_t
+  
+ __buæ’
+ ,
+ 
+ 310 
+ ´ÙÛÁ
+  **
+ __»¡riù
+  
+ __»suÉ
+ è
+ __THROW
+ ;
+ 
+ 312 

+ 	$g‘´Ùobynumb”_r
+  (
+ __´Ùo
+ ,
+ 
+ 313 
+ ´ÙÛÁ
+  *
+ __»¡riù
+  
+ __»suÉ_buf
+ ,
+ 
+ 314 *
+ __»¡riù
+  
+ __buf
+ , 
+ size_t
+  
+ __buæ’
+ ,
+ 
+ 315 
+ ´ÙÛÁ
+  **
+ __»¡riù
+  
+ __»suÉ
+ è
+ __THROW
+ ;
+ 
+ 320 

+ 	$£Š‘g»Á
+  (
+ __cڡ
+  *
+ __Ãtgroup
+ è
+ __THROW
+ ;
+ 
+ 323 

+ 	$’dÃtg»Á
+  (è
+ __THROW
+ ;
+ 
+ 327 

+ 	$g‘Ãtg»Á
+  (**
+ __»¡riù
+  
+ __ho¡p
+ ,
+ 
+ 328 **
+ __»¡riù
+  
+ __u£½
+ ,
+ 
+ 329 **
+ __»¡riù
+  
+ __domašp
+ è
+ __THROW
+ ;
+ 
+ 331 #ifdef 
+ __USE_MISC
+ 
+ 
+ 333 

+ 	$šÃtgr
+  (
+ __cڡ
+  *
+ __Ãtgroup
+ , __cڡ *
+ __ho¡
+ ,
+ 
+ 334 
+ __cڡ
+  *
+ __u£r
+ , __cڡ *
+ domaš
+ è
+ __THROW
+ ;
+ 
+ 337 

+ 	$g‘Ãtg»Á_r
+  (**
+ __»¡riù
+  
+ __ho¡p
+ ,
+ 
+ 338 **
+ __»¡riù
+  
+ __u£½
+ ,
+ 
+ 339 **
+ __»¡riù
+  
+ __domašp
+ ,
+ 
+ 340 *
+ __»¡riù
+  
+ __bufãr
+ , 
+ size_t
+  
+ __buæ’
+ è
+ __THROW
+ ;
+ 
+ 344 #ifdeà
+ __USE_BSD
+ 
+ 
+ 351 

+ 	$rcmd
+  (**
+ __»¡riù
+  
+ __aho¡
+ , 
+ __½Üt
+ ,
+ 
+ 352 
+ __cڡ
+  *
+ __»¡riù
+  
+ __locu£r
+ ,
+ 
+ 353 
+ __cڡ
+  *
+ __»¡riù
+  
+ __»mu£r
+ ,
+ 
+ 354 
+ __cڡ
+  *
+ __»¡riù
+  
+ __cmd
+ , *__»¡riù 
+ __fd2p
+ )
+ 
+ 355 
+ __THROW
+ ;
+ 
+ 359 

+ 	$rcmd_af
+  (**
+ __»¡riù
+  
+ __aho¡
+ , 
+ __½Üt
+ ,
+ 
+ 360 
+ __cڡ
+  *
+ __»¡riù
+  
+ __locu£r
+ ,
+ 
+ 361 
+ __cڡ
+  *
+ __»¡riù
+  
+ __»mu£r
+ ,
+ 
+ 362 
+ __cڡ
+  *
+ __»¡riù
+  
+ __cmd
+ , *__»¡riù 
+ __fd2p
+ ,
+ 
+ 363 
+ §_çmžy_t
+  
+ __af
+ è
+ __THROW
+ ;
+ 
+ 370 

+ 	$»xec
+  (**
+ __»¡riù
+  
+ __aho¡
+ , 
+ __½Üt
+ ,
+ 
+ 371 
+ __cڡ
+  *
+ __»¡riù
+  
+ __Çme
+ ,
+ 
+ 372 
+ __cڡ
+  *
+ __»¡riù
+  
+ __·ss
+ ,
+ 
+ 373 
+ __cڡ
+  *
+ __»¡riù
+  
+ __cmd
+ , *__»¡riù 
+ __fd2p
+ )
+ 
+ 374 
+ __THROW
+ ;
+ 
+ 378 

+ 	$»xec_af
+  (**
+ __»¡riù
+  
+ __aho¡
+ , 
+ __½Üt
+ ,
+ 
+ 379 
+ __cڡ
+  *
+ __»¡riù
+  
+ __Çme
+ ,
+ 
+ 380 
+ __cڡ
+  *
+ __»¡riù
+  
+ __·ss
+ ,
+ 
+ 381 
+ __cڡ
+  *
+ __»¡riù
+  
+ __cmd
+ , *__»¡riù 
+ __fd2p
+ ,
+ 
+ 382 
+ §_çmžy_t
+  
+ __af
+ è
+ __THROW
+ ;
+ 
+ 387 

+ 	$ru£rok
+  (
+ __cڡ
+  *
+ __rho¡
+ , 
+ __su£r
+ ,
+ 
+ 388 
+ __cڡ
+  *
+ __»mu£r
+ , __cڡ *
+ __locu£r
+ è
+ __THROW
+ ;
+ 
+ 392 

+ 	$ru£rok_af
+  (
+ __cڡ
+  *
+ __rho¡
+ , 
+ __su£r
+ ,
+ 
+ 393 
+ __cڡ
+  *
+ __»mu£r
+ , __cڡ *
+ __locu£r
+ ,
+ 
+ 394 
+ §_çmžy_t
+  
+ __af
+ è
+ __THROW
+ ;
+ 
+ 399 

+ 	$¼esvpÜt
+  (*
+ __®pÜt
+ è
+ __THROW
+ ;
+ 
+ 403 

+ 	$¼esvpÜt_af
+  (*
+ __®pÜt
+ , 
+ §_çmžy_t
+  
+ __af
+ è
+ __THROW
+ ;
+ 
+ 408 #ifdef 
+ __USE_POSIX
+ 
+ 
+ 410 
+ 	saddršfo
+ 
+ 
+ 412 
+ ai_æags
+ ;
+ 
+ 413 
+ ai_çmžy
+ ;
+ 
+ 414 
+ ai_sockty³
+ ;
+ 
+ 415 
+ ai_´ÙocÞ
+ ;
+ 
+ 416 
+ sockËn_t
+  
+ ai_add¾’
+ ;
+ 
+ 417 
+ sockaddr
+  *
+ ai_addr
+ ;
+ 
+ 418 *
+ ai_ÿnÚÇme
+ ;
+ 
+ 419 
+ addršfo
+  *
+ ai_Ãxt
+ ;
+ 
+ 422 #ifdeà
+ __USE_GNU
+ 
+ 
+ 424 
+ 	sgaicb
+ 
+ 
+ 426 cڡ *
+ ¬_Çme
+ ;
+ 
+ 427 cڡ *
+ ¬_£rviû
+ ;
+ 
+ 428 cڡ 
+ addršfo
+  *
+ ¬_»que¡
+ ;
+ 
+ 429 
+ addršfo
+  *
+ ¬_»suÉ
+ ;
+ 
+ 431 
+ __»tuº
+ ;
+ 
+ 432 
+ __unu£d
+ [5];
+ 
+ 436 
+ 	#GAI_WAIT
+  0
+ 
+ 	)
+ 
+ 437 
+ 	#GAI_NOWAIT
+  1
+ 
+ 	)
+ 
+ 441 
+ 	#AI_PASSIVE
+  0x0001
+ 
+ 	)
+ 
+ 442 
+ 	#AI_CANONNAME
+  0x0002
+ 
+ 	)
+ 
+ 443 
+ 	#AI_NUMERICHOST
+  0x0004
+ 
+ 	)
+ 
+ 446 
+ 	#EAI_BADFLAGS
+  -1
+ 
+ 	)
+ 
+ 447 
+ 	#EAI_NONAME
+  -2
+ 
+ 	)
+ 
+ 448 
+ 	#EAI_AGAIN
+  -3
+ 
+ 	)
+ 
+ 449 
+ 	#EAI_FAIL
+  -4
+ 
+ 	)
+ 
+ 450 
+ 	#EAI_NODATA
+  -5
+ 
+ 	)
+ 
+ 451 
+ 	#EAI_FAMILY
+  -6
+ 
+ 	)
+ 
+ 452 
+ 	#EAI_SOCKTYPE
+  -7
+ 
+ 	)
+ 
+ 453 
+ 	#EAI_SERVICE
+  -8
+ 
+ 	)
+ 
+ 454 
+ 	#EAI_ADDRFAMILY
+  -9
+ 
+ 	)
+ 
+ 455 
+ 	#EAI_MEMORY
+  -10
+ 
+ 	)
+ 
+ 456 
+ 	#EAI_SYSTEM
+  -11
+ 
+ 	)
+ 
+ 457 #ifdeà
+ __USE_GNU
+ 
+ 
+ 458 
+ 	#EAI_INPROGRESS
+  -100
+ 
+ 	)
+ 
+ 459 
+ 	#EAI_CANCELED
+  -101
+ 
+ 	)
+ 
+ 460 
+ 	#EAI_NOTCANCELED
+  -102
+ 
+ 	)
+ 
+ 461 
+ 	#EAI_ALLDONE
+  -103
+ 
+ 	)
+ 
+ 462 
+ 	#EAI_INTR
+  -104
+ 
+ 	)
+ 
+ 465 
+ 	#NI_MAXHOST
+  1025
+ 
+ 	)
+ 
+ 466 
+ 	#NI_MAXSERV
+  32
+ 
+ 	)
+ 
+ 468 
+ 	#NI_NUMERICHOST
+  1
+ 
+ 	)
+ 
+ 469 
+ 	#NI_NUMERICSERV
+  2
+ 
+ 	)
+ 
+ 470 
+ 	#NI_NOFQDN
+  4
+ 
+ 	)
+ 
+ 471 
+ 	#NI_NAMEREQD
+  8
+ 
+ 	)
+ 
+ 472 
+ 	#NI_DGRAM
+  16
+ 
+ 	)
+ 
+ 476 

+ 	$g‘addršfo
+  (
+ __cڡ
+  *
+ __»¡riù
+  
+ __Çme
+ ,
+ 
+ 477 
+ __cڡ
+  *
+ __»¡riù
+  
+ __£rviû
+ ,
+ 
+ 478 
+ __cڡ
+  
+ addršfo
+  *
+ __»¡riù
+  
+ __»q
+ ,
+ 
+ 479 
+ addršfo
+  **
+ __»¡riù
+  
+ __·i
+ è
+ __THROW
+ ;
+ 
+ 482 

+ 	$ä“addršfo
+  (
+ addršfo
+  *
+ __ai
+ è
+ __THROW
+ ;
+ 
+ 485 
+ __cڡ
+  *
+ 	$gai_¡»¼Ü
+  (
+ __ecode
+ è
+ __THROW
+ ;
+ 
+ 488 

+ 	$g‘Çmešfo
+  (
+ __cڡ
+  
+ sockaddr
+  *
+ __»¡riù
+  
+ __§
+ ,
+ 
+ 489 
+ sockËn_t
+  
+ __§Ën
+ , *
+ __»¡riù
+  
+ __ho¡
+ ,
+ 
+ 490 
+ sockËn_t
+  
+ __ho¡Ën
+ , *
+ __»¡riù
+  
+ __£rv
+ ,
+ 
+ 491 
+ sockËn_t
+  
+ __£rvËn
+ , 
+ __æags
+ è
+ __THROW
+ ;
+ 
+ 493 #ifdeà
+ __USE_GNU
+ 
+ 
+ 497 

+ 	$g‘addršfo_a
+  (
+ __mode
+ , 
+ gaicb
+  *
+ __li¡
+ [
+ __»¡riù_¬r
+ ],
+ 
+ 498 
+ __’t
+ , 
+ sigev’t
+  *
+ __»¡riù
+  
+ __sig
+ )
+ 
+ 499 
+ __THROW
+ ;
+ 
+ 504 

+ 	$gai_su¥’d
+  (
+ __cڡ
+  
+ gaicb
+  *__cڡ 
+ __li¡
+ [], 
+ __’t
+ ,
+ 
+ 505 
+ __cڡ
+  
+ time¥ec
+  *
+ __timeout
+ è
+ __THROW
+ ;
+ 
+ 508 

+ 	$gai_”rÜ
+  (
+ gaicb
+  *
+ __»q
+ è
+ __THROW
+ ;
+ 
+ 511 

+ 	$gai_ÿnûl
+  (
+ gaicb
+  *
+ __gaicbp
+ è
+ __THROW
+ ;
+ 
+ 515 
+ __END_DECLS
+ 
+ 
+ 	@/usr/include/netinet/in.h
+ 
+ 19 #iâdef 
+ _NETINET_IN_H
+ 
+ 
+ 20 
+ 	#_NETINET_IN_H
+  1
+ 
+ 	)
+ 
+ 22 
+ 	~<ã©u»s.h
+ >
+ 
+ 23 
+ 	~<¡dšt.h
+ >
+ 
+ 24 
+ 	~<b™s/ty³s.h
+ >
+ 
+ 27 
+ __BEGIN_DECLS
+ 
+ 
+ 32 
+ 	mIPPROTO_IP
+  = 0,
+ 
+ 33 
+ 	#IPPROTO_IP
+  
+ IPPROTO_IP
+ 
+ 
+ 	)
+ 
+ 34 
+ 	mIPPROTO_HOPOPTS
+  = 0,
+ 
+ 35 
+ 	#IPPROTO_HOPOPTS
+  
+ IPPROTO_HOPOPTS
+ 
+ 
+ 	)
+ 
+ 36 
+ 	mIPPROTO_ICMP
+  = 1,
+ 
+ 37 
+ 	#IPPROTO_ICMP
+  
+ IPPROTO_ICMP
+ 
+ 
+ 	)
+ 
+ 38 
+ 	mIPPROTO_IGMP
+  = 2,
+ 
+ 39 
+ 	#IPPROTO_IGMP
+  
+ IPPROTO_IGMP
+ 
+ 
+ 	)
+ 
+ 40 
+ 	mIPPROTO_IPIP
+  = 4,
+ 
+ 41 
+ 	#IPPROTO_IPIP
+  
+ IPPROTO_IPIP
+ 
+ 
+ 	)
+ 
+ 42 
+ 	mIPPROTO_TCP
+  = 6,
+ 
+ 43 
+ 	#IPPROTO_TCP
+  
+ IPPROTO_TCP
+ 
+ 
+ 	)
+ 
+ 44 
+ 	mIPPROTO_EGP
+  = 8,
+ 
+ 45 
+ 	#IPPROTO_EGP
+  
+ IPPROTO_EGP
+ 
+ 
+ 	)
+ 
+ 46 
+ 	mIPPROTO_PUP
+  = 12,
+ 
+ 47 
+ 	#IPPROTO_PUP
+  
+ IPPROTO_PUP
+ 
+ 
+ 	)
+ 
+ 48 
+ 	mIPPROTO_UDP
+  = 17,
+ 
+ 49 
+ 	#IPPROTO_UDP
+  
+ IPPROTO_UDP
+ 
+ 
+ 	)
+ 
+ 50 
+ 	mIPPROTO_IDP
+  = 22,
+ 
+ 51 
+ 	#IPPROTO_IDP
+  
+ IPPROTO_IDP
+ 
+ 
+ 	)
+ 
+ 52 
+ 	mIPPROTO_TP
+  = 29,
+ 
+ 53 
+ 	#IPPROTO_TP
+  
+ IPPROTO_TP
+ 
+ 
+ 	)
+ 
+ 54 
+ 	mIPPROTO_IPV6
+  = 41,
+ 
+ 55 
+ 	#IPPROTO_IPV6
+  
+ IPPROTO_IPV6
+ 
+ 
+ 	)
+ 
+ 56 
+ 	mIPPROTO_ROUTING
+  = 43,
+ 
+ 57 
+ 	#IPPROTO_ROUTING
+  
+ IPPROTO_ROUTING
+ 
+ 
+ 	)
+ 
+ 58 
+ 	mIPPROTO_FRAGMENT
+  = 44,
+ 
+ 59 
+ 	#IPPROTO_FRAGMENT
+  
+ IPPROTO_FRAGMENT
+ 
+ 
+ 	)
+ 
+ 60 
+ 	mIPPROTO_RSVP
+  = 46,
+ 
+ 61 
+ 	#IPPROTO_RSVP
+  
+ IPPROTO_RSVP
+ 
+ 
+ 	)
+ 
+ 62 
+ 	mIPPROTO_GRE
+  = 47,
+ 
+ 63 
+ 	#IPPROTO_GRE
+  
+ IPPROTO_GRE
+ 
+ 
+ 	)
+ 
+ 64 
+ 	mIPPROTO_ESP
+  = 50,
+ 
+ 65 
+ 	#IPPROTO_ESP
+  
+ IPPROTO_ESP
+ 
+ 
+ 	)
+ 
+ 66 
+ 	mIPPROTO_AH
+  = 51,
+ 
+ 67 
+ 	#IPPROTO_AH
+  
+ IPPROTO_AH
+ 
+ 
+ 	)
+ 
+ 68 
+ 	mIPPROTO_ICMPV6
+  = 58,
+ 
+ 69 
+ 	#IPPROTO_ICMPV6
+  
+ IPPROTO_ICMPV6
+ 
+ 
+ 	)
+ 
+ 70 
+ 	mIPPROTO_NONE
+  = 59,
+ 
+ 71 
+ 	#IPPROTO_NONE
+  
+ IPPROTO_NONE
+ 
+ 
+ 	)
+ 
+ 72 
+ 	mIPPROTO_DSTOPTS
+  = 60,
+ 
+ 73 
+ 	#IPPROTO_DSTOPTS
+  
+ IPPROTO_DSTOPTS
+ 
+ 
+ 	)
+ 
+ 74 
+ 	mIPPROTO_MTP
+  = 92,
+ 
+ 75 
+ 	#IPPROTO_MTP
+  
+ IPPROTO_MTP
+ 
+ 
+ 	)
+ 
+ 76 
+ 	mIPPROTO_ENCAP
+  = 98,
+ 
+ 77 
+ 	#IPPROTO_ENCAP
+  
+ IPPROTO_ENCAP
+ 
+ 
+ 	)
+ 
+ 78 
+ 	mIPPROTO_PIM
+  = 103,
+ 
+ 79 
+ 	#IPPROTO_PIM
+  
+ IPPROTO_PIM
+ 
+ 
+ 	)
+ 
+ 80 
+ 	mIPPROTO_COMP
+  = 108,
+ 
+ 81 
+ 	#IPPROTO_COMP
+  
+ IPPROTO_COMP
+ 
+ 
+ 	)
+ 
+ 82 
+ 	mIPPROTO_RAW
+  = 255,
+ 
+ 83 
+ 	#IPPROTO_RAW
+  
+ IPPROTO_RAW
+ 
+ 
+ 	)
+ 
+ 84 
+ 	mIPPROTO_MAX
+ 
+ 
+ 89 
+ ušt16_t
+  
+ 	tš_pÜt_t
+ ;
+ 
+ 94 
+ 	mIPPORT_ECHO
+  = 7,
+ 
+ 95 
+ 	mIPPORT_DISCARD
+  = 9,
+ 
+ 96 
+ 	mIPPORT_SYSTAT
+  = 11,
+ 
+ 97 
+ 	mIPPORT_DAYTIME
+  = 13,
+ 
+ 98 
+ 	mIPPORT_NETSTAT
+  = 15,
+ 
+ 99 
+ 	mIPPORT_FTP
+  = 21,
+ 
+ 100 
+ 	mIPPORT_TELNET
+  = 23,
+ 
+ 101 
+ 	mIPPORT_SMTP
+  = 25,
+ 
+ 102 
+ 	mIPPORT_TIMESERVER
+  = 37,
+ 
+ 103 
+ 	mIPPORT_NAMESERVER
+  = 42,
+ 
+ 104 
+ 	mIPPORT_WHOIS
+  = 43,
+ 
+ 105 
+ 	mIPPORT_MTP
+  = 57,
+ 
+ 107 
+ 	mIPPORT_TFTP
+  = 69,
+ 
+ 108 
+ 	mIPPORT_RJE
+  = 77,
+ 
+ 109 
+ 	mIPPORT_FINGER
+  = 79,
+ 
+ 110 
+ 	mIPPORT_TTYLINK
+  = 87,
+ 
+ 111 
+ 	mIPPORT_SUPDUP
+  = 95,
+ 
+ 114 
+ 	mIPPORT_EXECSERVER
+  = 512,
+ 
+ 115 
+ 	mIPPORT_LOGINSERVER
+  = 513,
+ 
+ 116 
+ 	mIPPORT_CMDSERVER
+  = 514,
+ 
+ 117 
+ 	mIPPORT_EFSSERVER
+  = 520,
+ 
+ 120 
+ 	mIPPORT_BIFFUDP
+  = 512,
+ 
+ 121 
+ 	mIPPORT_WHOSERVER
+  = 513,
+ 
+ 122 
+ 	mIPPORT_ROUTESERVER
+  = 520,
+ 
+ 125 
+ 	mIPPORT_RESERVED
+  = 1024,
+ 
+ 128 
+ 	mIPPORT_USERRESERVED
+  = 5000
+ 
+ 133 
+ ušt32_t
+  
+ 	tš_addr_t
+ ;
+ 
+ 134 
+ 	sš_addr
+ 
+ 
+ 136 
+ š_addr_t
+  
+ 	ms_addr
+ ;
+ 
+ 145 
+ 	#IN_CLASSA
+ (
+ a
+ è((((
+ š_addr_t
+ )×)è& 0x80000000è=ð0)
+ 
+ 	)
+ 
+ 146 
+ 	#IN_CLASSA_NET
+  0xff000000
+ 
+ 	)
+ 
+ 147 
+ 	#IN_CLASSA_NSHIFT
+  24
+ 
+ 	)
+ 
+ 148 
+ 	#IN_CLASSA_HOST
+  (0xfffffffà& ~
+ IN_CLASSA_NET
+ )
+ 
+ 	)
+ 
+ 149 
+ 	#IN_CLASSA_MAX
+  128
+ 
+ 	)
+ 
+ 151 
+ 	#IN_CLASSB
+ (
+ a
+ è((((
+ š_addr_t
+ )×)è& 0xc0000000è=ð0x80000000)
+ 
+ 	)
+ 
+ 152 
+ 	#IN_CLASSB_NET
+  0xffff0000
+ 
+ 	)
+ 
+ 153 
+ 	#IN_CLASSB_NSHIFT
+  16
+ 
+ 	)
+ 
+ 154 
+ 	#IN_CLASSB_HOST
+  (0xfffffffà& ~
+ IN_CLASSB_NET
+ )
+ 
+ 	)
+ 
+ 155 
+ 	#IN_CLASSB_MAX
+  65536
+ 
+ 	)
+ 
+ 157 
+ 	#IN_CLASSC
+ (
+ a
+ è((((
+ š_addr_t
+ )×)è& 0xe0000000è=ð0xc0000000)
+ 
+ 	)
+ 
+ 158 
+ 	#IN_CLASSC_NET
+  0xffffff00
+ 
+ 	)
+ 
+ 159 
+ 	#IN_CLASSC_NSHIFT
+  8
+ 
+ 	)
+ 
+ 160 
+ 	#IN_CLASSC_HOST
+  (0xfffffffà& ~
+ IN_CLASSC_NET
+ )
+ 
+ 	)
+ 
+ 162 
+ 	#IN_CLASSD
+ (
+ a
+ è((((
+ š_addr_t
+ )×)è& 0xf0000000è=ð0xe0000000)
+ 
+ 	)
+ 
+ 163 
+ 	#IN_MULTICAST
+ (
+ a
+ è
+ 	`IN_CLASSD
+ ×)
+ 
+ 	)
+ 
+ 165 
+ 	#IN_EXPERIMENTAL
+ (
+ a
+ è((((
+ š_addr_t
+ )×)è& 0xe0000000è=ð0xe0000000)
+ 
+ 	)
+ 
+ 166 
+ 	#IN_BADCLASS
+ (
+ a
+ è((((
+ š_addr_t
+ )×)è& 0xf0000000è=ð0xf0000000)
+ 
+ 	)
+ 
+ 169 
+ 	#INADDR_ANY
+  ((
+ š_addr_t
+ è0x00000000)
+ 
+ 	)
+ 
+ 171 
+ 	#INADDR_BROADCAST
+  ((
+ š_addr_t
+ è0xffffffff)
+ 
+ 	)
+ 
+ 173 
+ 	#INADDR_NONE
+  ((
+ š_addr_t
+ è0xffffffff)
+ 
+ 	)
+ 
+ 176 
+ 	#IN_LOOPBACKNET
+  127
+ 
+ 	)
+ 
+ 178 #iâdeà
+ INADDR_LOOPBACK
+ 
+ 
+ 179 
+ 	#INADDR_LOOPBACK
+  ((
+ š_addr_t
+ è0x7f000001è
+ 
+ 	)
+ 
+ 183 
+ 	#INADDR_UNSPEC_GROUP
+  ((
+ š_addr_t
+ è0xe0000000è
+ 
+ 	)
+ 
+ 184 
+ 	#INADDR_ALLHOSTS_GROUP
+  ((
+ š_addr_t
+ è0xe0000001è
+ 
+ 	)
+ 
+ 185 
+ 	#INADDR_ALLRTRS_GROUP
+  ((
+ š_addr_t
+ è0xe0000002è
+ 
+ 	)
+ 
+ 186 
+ 	#INADDR_MAX_LOCAL_GROUP
+  ((
+ š_addr_t
+ è0xe00000ffè
+ 
+ 	)
+ 
+ 190 
+ 	sš6_addr
+ 
+ 
+ 194 
+ ušt8_t
+  
+ 	mu6_addr8
+ [16];
+ 
+ 195 
+ ušt16_t
+  
+ 	mu6_addr16
+ [8];
+ 
+ 196 
+ ušt32_t
+  
+ 	mu6_addr32
+ [4];
+ 
+ 197 } 
+ 	mš6_u
+ ;
+ 
+ 198 
+ 	#s6_addr
+  
+ š6_u
+ .
+ u6_addr8
+ 
+ 
+ 	)
+ 
+ 199 
+ 	#s6_addr16
+  
+ š6_u
+ .
+ u6_addr16
+ 
+ 
+ 	)
+ 
+ 200 
+ 	#s6_addr32
+  
+ š6_u
+ .
+ u6_addr32
+ 
+ 
+ 	)
+ 
+ 203 
cڡ 
+ š6_addr
+  
+ š6addr_ªy
+ ;
+ 
+ 204 
cڡ 
+ š6_addr
+  
+ š6addr_loÝback
+ ;
+ 
+ 205 
+ 	#IN6ADDR_ANY_INIT
+  { { { 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 } } }
+ 
+ 	)
+ 
+ 206 
+ 	#IN6ADDR_LOOPBACK_INIT
+  { { { 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1 } } }
+ 
+ 	)
+ 
+ 208 
+ 	#INET_ADDRSTRLEN
+  16
+ 
+ 	)
+ 
+ 209 
+ 	#INET6_ADDRSTRLEN
+  46
+ 
+ 	)
+ 
+ 212 
+ 	~<b™s/sock‘.h
+ >
+ 
+ 216 
+ 	ssockaddr_š
+ 
+ 
+ 218 
+ __SOCKADDR_COMMON
+  (
+ sš_
+ );
+ 
+ 219 
+ š_pÜt_t
+  
+ 	msš_pÜt
+ ;
+ 
+ 220 
+ š_addr
+  
+ 	msš_addr
+ ;
+ 
+ 223 
+ 	msš_z”o
+ [ (
+ sockaddr
+ ) -
+ 
+ 224 
+ __SOCKADDR_COMMON_SIZE
+  -
+ 
+ 225  (
+ š_pÜt_t
+ ) -
+ 
+ 226  (
+ š_addr
+ )];
+ 
+ 230 
+ 	ssockaddr_š6
+ 
+ 
+ 232 
+ __SOCKADDR_COMMON
+  (
+ sš6_
+ );
+ 
+ 233 
+ š_pÜt_t
+  
+ 	msš6_pÜt
+ ;
+ 
+ 234 
+ ušt32_t
+  
+ 	msš6_æowšfo
+ ;
+ 
+ 235 
+ š6_addr
+  
+ 	msš6_addr
+ ;
+ 
+ 236 
+ ušt32_t
+  
+ 	msš6_scÝe_id
+ ;
+ 
+ 240 
+ 	sv6_m»q
+ 
+ 
+ 243 
+ š6_addr
+  
+ 	mv6mr_muÉŸddr
+ ;
+ 
+ 246 
+ 	mv6mr_š‹rçû
+ ;
+ 
+ 250 
+ 	~<b™s/š.h
+ >
+ 
+ 259 
+ ušt32_t
+  
+ 	$Áohl
+  (
+ ušt32_t
+  
+ __ÃŽÚg
+ è
+ __THROW
+  
+ 	`__©Œibu‹__
+  ((
+ __cڡ__
+ ));
+ 
+ 260 
+ ušt16_t
+  
+ 	$Áohs
+  (
+ ušt16_t
+  
+ __ÃtshÜt
+ )
+ 
+ 261 
+ __THROW
+  
+ 	`__©Œibu‹__
+  ((
+ __cڡ__
+ ));
+ 
+ 262 
+ ušt32_t
+  
+ 	$htÚl
+  (
+ ušt32_t
+  
+ __ho¡lÚg
+ )
+ 
+ 263 
+ __THROW
+  
+ 	`__©Œibu‹__
+  ((
+ __cڡ__
+ ));
+ 
+ 264 
+ ušt16_t
+  
+ 	$htÚs
+  (
+ ušt16_t
+  
+ __ho¡shÜt
+ )
+ 
+ 265 
+ __THROW
+  
+ 	`__©Œibu‹__
+  ((
+ __cڡ__
+ ));
+ 
+ 267 
+ 	~<’dŸn.h
+ >
+ 
+ 270 
+ 	~<b™s/by‹sw­.h
+ >
+ 
+ 272 #ifdeà
+ __OPTIMIZE__
+ 
+ 
+ 276 #ià
+ __BYTE_ORDER
+  =ð
+ __BIG_ENDIAN
+ 
+ 
+ 279 
+ 	#Áohl
+ (
+ x
+ è(x)
+ 
+ 	)
+ 
+ 280 
+ 	#Áohs
+ (
+ x
+ è(x)
+ 
+ 	)
+ 
+ 281 
+ 	#htÚl
+ (
+ x
+ è(x)
+ 
+ 	)
+ 
+ 282 
+ 	#htÚs
+ (
+ x
+ è(x)
+ 
+ 	)
+ 
+ 284 #ià
+ __BYTE_ORDER
+  =ð
+ __LITTLE_ENDIAN
+ 
+ 
+ 285 
+ 	#Áohl
+ (
+ x
+ è
+ 	`__bsw­_32
+  (x)
+ 
+ 	)
+ 
+ 286 
+ 	#Áohs
+ (
+ x
+ è
+ 	`__bsw­_16
+  (x)
+ 
+ 	)
+ 
+ 287 
+ 	#htÚl
+ (
+ x
+ è
+ 	`__bsw­_32
+  (x)
+ 
+ 	)
+ 
+ 288 
+ 	#htÚs
+ (
+ x
+ è
+ 	`__bsw­_16
+  (x)
+ 
+ 	)
+ 
+ 293 
+ 	#IN6_IS_ADDR_UNSPECIFIED
+ (
+ a
+ ) \
+ 
+ 294 (((
+ __cڡ
+  
+ ušt32_t
+  *è(
+ a
+ ))[0] == 0 \
+ 
+ 295 && ((
+ __cڡ
+  
+ ušt32_t
+  *è(
+ a
+ ))[1] == 0 \
+ 
+ 296 && ((
+ __cڡ
+  
+ ušt32_t
+  *è(
+ a
+ ))[2] == 0 \
+ 
+ 297 && ((
+ __cڡ
+  
+ ušt32_t
+  *è(
+ a
+ ))[3] =ð0)
+ 
+ 	)
+ 
+ 299 
+ 	#IN6_IS_ADDR_LOOPBACK
+ (
+ a
+ ) \
+ 
+ 300 (((
+ __cڡ
+  
+ ušt32_t
+  *è(
+ a
+ ))[0] == 0 \
+ 
+ 301 && ((
+ __cڡ
+  
+ ušt32_t
+  *è(
+ a
+ ))[1] == 0 \
+ 
+ 302 && ((
+ __cڡ
+  
+ ušt32_t
+  *è(
+ a
+ ))[2] == 0 \
+ 
+ 303 && ((
+ __cڡ
+  
+ ušt32_t
+  *è(
+ a
+ ))[3] =ð
+ 	`htÚl
+  (1))
+ 
+ 	)
+ 
+ 305 
+ 	#IN6_IS_ADDR_MULTICAST
+ (
+ a
+ è(((
+ __cڡ
+  
+ ušt8_t
+  *è×))[0] =ð0xff)
+ 
+ 	)
+ 
+ 307 
+ 	#IN6_IS_ADDR_LINKLOCAL
+ (
+ a
+ ) \
+ 
+ 308 ((((
+ __cڡ
+  
+ ušt32_t
+  *è(
+ a
+ ))[0] & 
+ 	`htÚl
+  (0xffc00000)) \
+ 
+ 309 =ð
+ 	`htÚl
+  (0xã800000))
+ 
+ 	)
+ 
+ 311 
+ 	#IN6_IS_ADDR_SITELOCAL
+ (
+ a
+ ) \
+ 
+ 312 ((((
+ __cڡ
+  
+ ušt32_t
+  *è(
+ a
+ ))[0] & 
+ 	`htÚl
+  (0xffc00000)) \
+ 
+ 313 =ð
+ 	`htÚl
+  (0xãc00000))
+ 
+ 	)
+ 
+ 315 
+ 	#IN6_IS_ADDR_V4MAPPED
+ (
+ a
+ ) \
+ 
+ 316 ((((
+ __cڡ
+  
+ ušt32_t
+  *è(
+ a
+ ))[0] == 0) \
+ 
+ 317 && (((
+ __cڡ
+  
+ ušt32_t
+  *è(
+ a
+ ))[1] == 0) \
+ 
+ 318 && (((
+ __cڡ
+  
+ ušt32_t
+  *è(
+ a
+ ))[2] =ð
+ 	`htÚl
+  (0xffff)))
+ 
+ 	)
+ 
+ 320 
+ 	#IN6_IS_ADDR_V4COMPAT
+ (
+ a
+ ) \
+ 
+ 321 ((((
+ __cڡ
+  
+ ušt32_t
+  *è(
+ a
+ ))[0] == 0) \
+ 
+ 322 && (((
+ __cڡ
+  
+ ušt32_t
+  *è(
+ a
+ ))[1] == 0) \
+ 
+ 323 && (((
+ __cڡ
+  
+ ušt32_t
+  *è(
+ a
+ ))[2] == 0) \
+ 
+ 324 && (
+ 	`Áohl
+  (((
+ __cڡ
+  
+ ušt32_t
+  *è(
+ a
+ ))[3]è> 1))
+ 
+ 	)
+ 
+ 326 
+ 	#IN6_ARE_ADDR_EQUAL
+ (
+ a
+ ,
+ b
+ ) \
+ 
+ 327 ((((
+ __cڡ
+  
+ ušt32_t
+  *è(
+ a
+ ))[0] =ð((__cÚ¡ ušt32_ˆ*è(
+ b
+ ))[0]) \
+ 
+ 328 && (((
+ __cڡ
+  
+ ušt32_t
+  *è(
+ a
+ ))[1] =ð((__cÚ¡ ušt32_ˆ*è(
+ b
+ ))[1]) \
+ 
+ 329 && (((
+ __cڡ
+  
+ ušt32_t
+  *è(
+ a
+ ))[2] =ð((__cÚ¡ ušt32_ˆ*è(
+ b
+ ))[2]) \
+ 
+ 330 && (((
+ __cڡ
+  
+ ušt32_t
+  *è(
+ a
+ ))[3] =ð((__cÚ¡ ušt32_ˆ*è(
+ b
+ ))[3]))
+ 
+ 	)
+ 
+ 333 

+ 	$bšd»svpÜt
+  (
+ __sockfd
+ , 
+ sockaddr_š
+  *
+ __sock_š
+ è
+ __THROW
+ ;
+ 
+ 336 

+ 	$bšd»svpÜt6
+  (
+ __sockfd
+ , 
+ sockaddr_š6
+  *
+ __sock_š
+ )
+ 
+ 337 
+ __THROW
+ ;
+ 
+ 340 
+ 	#IN6_IS_ADDR_MC_NODELOCAL
+ (
+ a
+ ) \
+ 
+ 341 (
+ 	`IN6_IS_ADDR_MULTICAST
+ (
+ a
+ ) \
+ 
+ 342 && ((((
+ __cڡ
+  
+ ušt8_t
+  *è(
+ a
+ ))[1] & 0xfè=ð0x1))
+ 
+ 	)
+ 
+ 344 
+ 	#IN6_IS_ADDR_MC_LINKLOCAL
+ (
+ a
+ ) \
+ 
+ 345 (
+ 	`IN6_IS_ADDR_MULTICAST
+ (
+ a
+ ) \
+ 
+ 346 && ((((
+ __cڡ
+  
+ ušt8_t
+  *è(
+ a
+ ))[1] & 0xfè=ð0x2))
+ 
+ 	)
+ 
+ 348 
+ 	#IN6_IS_ADDR_MC_SITELOCAL
+ (
+ a
+ ) \
+ 
+ 349 (
+ 	`IN6_IS_ADDR_MULTICAST
+ (
+ a
+ ) \
+ 
+ 350 && ((((
+ __cڡ
+  
+ ušt8_t
+  *è(
+ a
+ ))[1] & 0xfè=ð0x5))
+ 
+ 	)
+ 
+ 352 
+ 	#IN6_IS_ADDR_MC_ORGLOCAL
+ (
+ a
+ ) \
+ 
+ 353 (
+ 	`IN6_IS_ADDR_MULTICAST
+ (
+ a
+ ) \
+ 
+ 354 && ((((
+ __cڡ
+  
+ ušt8_t
+  *è(
+ a
+ ))[1] & 0xfè=ð0x8))
+ 
+ 	)
+ 
+ 356 
+ 	#IN6_IS_ADDR_MC_GLOBAL
+ (
+ a
+ ) \
+ 
+ 357 (
+ 	`IN6_IS_ADDR_MULTICAST
+ (
+ a
+ ) \
+ 
+ 358 && ((((
+ __cڡ
+  
+ ušt8_t
+  *è(
+ a
+ ))[1] & 0xfè=ð0xe))
+ 
+ 	)
+ 
+ 361 
+ 	sš6_pktšfo
+ 
+ 
+ 363 
+ š6_addr
+  
+ i6_addr
+ ;
+ 
+ 364 
+ i6_ifšdex
+ ;
+ 
+ 367 
+ __END_DECLS
+ 
+ 
+ 	@/usr/include/pwd.h
+ 
+ 23 #iâdef 
+ _PWD_H
+ 
+ 
+ 24 
+ 	#_PWD_H
+  1
+ 
+ 	)
+ 
+ 26 
+ 	~<ã©u»s.h
+ >
+ 
+ 28 
+ 	g__BEGIN_DECLS
+ 
+ 
+ 30 
+ 	~<b™s/ty³s.h
+ >
+ 
+ 32 
+ 	#__Ãed_size_t
+ 
+ 
+ 	)
+ 
+ 33 
+ 	~<¡ddef.h
+ >
+ 
+ 35 #ifdeà
+ __USE_XOPEN
+ 
+ 
+ 38 #iâdeà
+ __gid_t_defšed
+ 
+ 
+ 39 
+ __gid_t
+  
+ 	tgid_t
+ ;
+ 
+ 40 
+ 	#__gid_t_defšed
+ 
+ 
+ 	)
+ 
+ 43 #iâdeà
+ __uid_t_defšed
+ 
+ 
+ 44 
+ __uid_t
+  
+ 	tuid_t
+ ;
+ 
+ 45 
+ 	#__uid_t_defšed
+ 
+ 
+ 	)
+ 
+ 50 
+ 	s·sswd
+ 
+ 
+ 52 *
+ 	mpw_Çme
+ ;
+ 
+ 53 *
+ 	mpw_·sswd
+ ;
+ 
+ 54 
+ __uid_t
+  
+ 	mpw_uid
+ ;
+ 
+ 55 
+ __gid_t
+  
+ 	mpw_gid
+ ;
+ 
+ 56 *
+ 	mpw_gecos
+ ;
+ 
+ 57 *
+ 	mpw_dœ
+ ;
+ 
+ 58 *
+ 	mpw_sh–l
+ ;
+ 
+ 62 #ià
+ defšed
+  
+ __USE_SVID
+  || defšed 
+ __USE_GNU
+ 
+ 
+ 63 
+ 	#__Ãed_FILE
+ 
+ 
+ 	)
+ 
+ 64 
+ 	~<¡dio.h
+ >
+ 
+ 68 #ià
+ defšed
+  
+ __USE_SVID
+  || defšed 
+ __USE_MISC
+  || defšed 
+ __USE_XOPEN_EXTENDED
+ 
+ 
+ 70 

+ 	$£w’t
+  (è
+ __THROW
+ ;
+ 
+ 73 

+ 	$’dpw’t
+  (è
+ __THROW
+ ;
+ 
+ 76 

+ ·sswd
+  *
+ 	$g‘pw’t
+  (è
+ __THROW
+ ;
+ 
+ 79 #ifdef 
+ __USE_SVID
+ 
+ 
+ 81 

+ ·sswd
+  *
+ 	$fg‘pw’t
+  (
+ FILE
+  *
+ __¡»am
+ è
+ __THROW
+ ;
+ 
+ 84 

+ 	$puw’t
+  (
+ __cڡ
+  
+ ·sswd
+  *
+ __»¡riù
+  
+ __p
+ ,
+ 
+ 85 
+ FILE
+  *
+ __»¡riù
+  
+ __f
+ è
+ __THROW
+ ;
+ 
+ 89 

+ ·sswd
+  *
+ 	$g‘pwuid
+  (
+ __uid_t
+  
+ __uid
+ è
+ __THROW
+ ;
+ 
+ 92 

+ ·sswd
+  *
+ 	$g‘pwÇm
+  (
+ __cڡ
+  *
+ __Çme
+ è
+ __THROW
+ ;
+ 
+ 94 #ià
+ defšed
+  
+ __USE_POSIX
+  || defšed 
+ __USE_MISC
+ 
+ 
+ 96 #ifdeà
+ __USE_MISC
+ 
+ 
+ 99 
+ 	#NSS_BUFLEN_PASSWD
+  1024
+ 
+ 	)
+ 
+ 110 #ià
+ defšed
+  
+ __USE_SVID
+  || defšed 
+ __USE_MISC
+ 
+ 
+ 111 

+ 	$g‘pw’t_r
+  (
+ ·sswd
+  *
+ __»¡riù
+  
+ __»suÉbuf
+ ,
+ 
+ 112 *
+ __»¡riù
+  
+ __bufãr
+ , 
+ size_t
+  
+ __buæ’
+ ,
+ 
+ 113 
+ ·sswd
+  **
+ __»¡riù
+  
+ __»suÉ
+ è
+ __THROW
+ ;
+ 
+ 116 

+ 	$g‘pwuid_r
+  (
+ __uid_t
+  
+ __uid
+ ,
+ 
+ 117 
+ ·sswd
+  *
+ __»¡riù
+  
+ __»suÉbuf
+ ,
+ 
+ 118 *
+ __»¡riù
+  
+ __bufãr
+ , 
+ size_t
+  
+ __buæ’
+ ,
+ 
+ 119 
+ ·sswd
+  **
+ __»¡riù
+  
+ __»suÉ
+ è
+ __THROW
+ ;
+ 
+ 121 

+ 	$g‘pwÇm_r
+  (
+ __cڡ
+  *
+ __»¡riù
+  
+ __Çme
+ ,
+ 
+ 122 
+ ·sswd
+  *
+ __»¡riù
+  
+ __»suÉbuf
+ ,
+ 
+ 123 *
+ __»¡riù
+  
+ __bufãr
+ , 
+ size_t
+  
+ __buæ’
+ ,
+ 
+ 124 
+ ·sswd
+  **
+ __»¡riù
+  
+ __»suÉ
+ è
+ __THROW
+ ;
+ 
+ 127 #ifdef 
+ __USE_SVID
+ 
+ 
+ 130 

+ 	$fg‘pw’t_r
+  (
+ FILE
+  *
+ __»¡riù
+  
+ __¡»am
+ ,
+ 
+ 131 
+ ·sswd
+  *
+ __»¡riù
+  
+ __»suÉbuf
+ ,
+ 
+ 132 *
+ __»¡riù
+  
+ __bufãr
+ , 
+ size_t
+  
+ __buæ’
+ ,
+ 
+ 133 
+ ·sswd
+  **
+ __»¡riù
+  
+ __»suÉ
+ è
+ __THROW
+ ;
+ 
+ 138 #ifdeà
+ __USE_GNU
+ 
+ 
+ 142 

+ 	$g‘pw
+  (
+ __uid_t
+  
+ __uid
+ , *
+ __bufãr
+ è
+ __THROW
+ ;
+ 
+ 145 
+ __END_DECLS
+ 
+ 
+ 	@/usr/include/setjmp.h
+ 
+ 23 #iâdef 
+ _SETJMP_H
+ 
+ 
+ 24 
+ 	#_SETJMP_H
+  1
+ 
+ 	)
+ 
+ 26 
+ 	~<ã©u»s.h
+ >
+ 
+ 28 
+ 	g__BEGIN_DECLS
+ 
+ 
+ 30 
+ 	~<b™s/£tjmp.h
+ >
+ 
+ 31 
+ 	~<b™s/sig£t.h
+ >
+ 
+ 34 
+ 	s__jmp_buf_g
+ 
+ 
+ 40 
+ __jmp_buf
+  
+ 	m__jmpbuf
+ ;
+ 
+ 41 
+ 	m__mask_was_§ved
+ ;
+ 
+ 42 
+ __sig£t_t
+  
+ 	m__§ved_mask
+ ;
+ 
+ 43 } 
+ 	tjmp_buf
+ [1];
+ 
+ 48 

+ 	$£tjmp
+  (
+ jmp_buf
+  
+ __’v
+ è
+ __THROW
+ ;
+ 
+ 52 

+ 	$_£tjmp
+  (
+ jmp_buf
+  
+ __’v
+ è
+ __THROW
+ ;
+ 
+ 57 

+ 	$__sig£tjmp
+  (
+ jmp_buf
+  
+ __’v
+ , 
+ __§vemask
+ è
+ __THROW
+ ;
+ 
+ 59 #iâdef 
+ __FAVOR_BSD
+ 
+ 
+ 62 
+ 	#£tjmp
+ (
+ ’v
+ è
+ 	`_£tjmp
+  (’v)
+ 
+ 	)
+ 
+ 67 
+ 	#£tjmp
+ (
+ ’v
+ è
+ 	`£tjmp
+  (’v)
+ 
+ 	)
+ 
+ 73 

+ 	$lÚgjmp
+  (
+ jmp_buf
+  
+ __’v
+ , 
+ __v®
+ )
+ 
+ 74 
+ __THROW
+  
+ 	`__©Œibu‹__
+  ((
+ __nÜ‘uº__
+ ));
+ 
+ 75 #ià
+ defšed
+  
+ __USE_BSD
+  || defšed 
+ __USE_XOPEN
+ 
+ 
+ 79 

+ 	$_lÚgjmp
+  (
+ jmp_buf
+  
+ __’v
+ , 
+ __v®
+ )
+ 
+ 80 
+ __THROW
+  
+ 	`__©Œibu‹__
+  ((
+ __nÜ‘uº__
+ ));
+ 
+ 84 #ifdef 
+ __USE_POSIX
+ 
+ 
+ 88 
+ jmp_buf
+  
+ 	tsigjmp_buf
+ ;
+ 
+ 92 
+ 	#sig£tjmp
+ (
+ ’v
+ , 
+ §vemask
+ è
+ 	`__sig£tjmp
+  (’v, savemask)
+ 
+ 	)
+ 
+ 98 

+ 	$siglÚgjmp
+  (
+ sigjmp_buf
+  
+ __’v
+ , 
+ __v®
+ )
+ 
+ 99 
+ __THROW
+  
+ 	`__©Œibu‹__
+  ((
+ __nÜ‘uº__
+ ));
+ 
+ 102 
+ __END_DECLS
+ 
+ 
+ 	@/usr/include/signal.h
+ 
+ 23 #iâdef 
+ _SIGNAL_H
+ 
+ 
+ 25 #ià!
+ defšed
+  
+ __Ãed_sig_©omic_t
+  && !defšed 
+ __Ãed_sig£t_t
+ 
+ 
+ 26 
+ 	#_SIGNAL_H
+ 
+ 
+ 	)
+ 
+ 29 
+ 	~<ã©u»s.h
+ >
+ 
+ 31 
+ 	g__BEGIN_DECLS
+ 
+ 
+ 33 
+ 	~<b™s/sig£t.h
+ >
+ 
+ 37 #ià
+ defšed
+  
+ __Ãed_sig_©omic_t
+  || defšed 
+ _SIGNAL_H
+ 
+ 
+ 38 #iâdeà
+ __sig_©omic_t_defšed
+ 
+ 
+ 39 
+ 	#__sig_©omic_t_defšed
+ 
+ 
+ 	)
+ 
+ 40 
+ __sig_©omic_t
+  
+ 	tsig_©omic_t
+ ;
+ 
+ 42 #undeà
+ __Ãed_sig_©omic_t
+ 
+ 
+ 45 #ià
+ defšed
+  
+ __Ãed_sig£t_t
+  || (defšed 
+ _SIGNAL_H
+  && defšed 
+ __USE_POSIX
+ )
+ 
+ 46 #iâdeà
+ __sig£t_t_defšed
+ 
+ 
+ 47 
+ 	#__sig£t_t_defšed
+ 
+ 
+ 	)
+ 
+ 48 
+ __sig£t_t
+  
+ 	tsig£t_t
+ ;
+ 
+ 50 #undeà
+ __Ãed_sig£t_t
+ 
+ 
+ 53 #ifdeà
+ _SIGNAL_H
+ 
+ 
+ 55 
+ 	~<b™s/ty³s.h
+ >
+ 
+ 56 
+ 	~<b™s/signum.h
+ >
+ 
+ 58 #ifdeà
+ __USE_XOPEN
+ 
+ 
+ 59 #iâdeà
+ __pid_t_defšed
+ 
+ 
+ 60 
+ __pid_t
+  
+ 	tpid_t
+ ;
+ 
+ 61 
+ 	#__pid_t_defšed
+ 
+ 
+ 	)
+ 
+ 63 #iâdeà
+ __uid_t_defšed
+ 
+ 
+ 64 
+ __uid_t
+  
+ 	tuid_t
+ ;
+ 
+ 65 
+ 	#__uid_t_defšed
+ 
+ 
+ 	)
+ 
+ 71 (*
+ 	t__sighªdËr_t
+ ) ();
+ 
+ 76 
+ __sighªdËr_t
+  
+ 	$__sysv_sigÇl
+  (
+ __sig
+ , 
+ __sighªdËr_t
+  
+ __hªdËr
+ )
+ 
+ 77 
+ __THROW
+ ;
+ 
+ 78 #ifdeà
+ __USE_GNU
+ 
+ 
+ 79 
+ __sighªdËr_t
+  
+ 	$sysv_sigÇl
+  (
+ __sig
+ , 
+ __sighªdËr_t
+  
+ __hªdËr
+ )
+ 
+ 80 
+ __THROW
+ ;
+ 
+ 86 #ifdeà
+ __USE_BSD
+ 
+ 
+ 87 
+ __sighªdËr_t
+  
+ 	$sigÇl
+  (
+ __sig
+ , 
+ __sighªdËr_t
+  
+ __hªdËr
+ è
+ __THROW
+ ;
+ 
+ 90 #ifdeà
+ __REDIRECT
+ 
+ 
+ 91 
+ __sighªdËr_t
+  
+ 	`__REDIRECT
+  (
+ sigÇl
+ ,
+ 
+ 92 (
+ __sig
+ ,
+ 
+ 93 
+ __sighªdËr_t
+  
+ __hªdËr
+ è
+ __THROW
+ ,
+ 
+ 94 
+ __sysv_sigÇl
+ );
+ 
+ 96 
+ 	#sigÇl
+  
+ __sysv_sigÇl
+ 
+ 
+ 	)
+ 
+ 100 #ifdeà
+ __USE_XOPEN
+ 
+ 
+ 103 
+ __sighªdËr_t
+  
+ 	$bsd_sigÇl
+  (
+ __sig
+ , 
+ __sighªdËr_t
+  
+ __hªdËr
+ è
+ __THROW
+ ;
+ 
+ 109 #ifdeà
+ __USE_POSIX
+ 
+ 
+ 110 

+ 	$kžl
+  (
+ __pid_t
+  
+ __pid
+ , 
+ __sig
+ è
+ __THROW
+ ;
+ 
+ 113 #ià
+ defšed
+  
+ __USE_BSD
+  || defšed 
+ __USE_XOPEN_EXTENDED
+ 
+ 
+ 117 

+ 	$kžÍg
+  (
+ __pid_t
+  
+ __pg½
+ , 
+ __sig
+ è
+ __THROW
+ ;
+ 
+ 121 

+ 	$¿i£
+  (
+ __sig
+ è
+ __THROW
+ ;
+ 
+ 123 #ifdeà
+ __USE_SVID
+ 
+ 
+ 125 
+ __sighªdËr_t
+  
+ 	$ssigÇl
+  (
+ __sig
+ , 
+ __sighªdËr_t
+  
+ __hªdËr
+ è
+ __THROW
+ ;
+ 
+ 126 

+ 	$gsigÇl
+  (
+ __sig
+ è
+ __THROW
+ ;
+ 
+ 129 #ifdeà
+ __USE_MISC
+ 
+ 
+ 131 

+ 	$psigÇl
+  (
+ __sig
+ , 
+ __cڡ
+  *
+ __s
+ è
+ __THROW
+ ;
+ 
+ 140 

+ 	$__sig·u£
+  (
+ __sig_Ü_mask
+ , 
+ __is_sig
+ è
+ __THROW
+ ;
+ 
+ 142 #ifdeà
+ __USE_BSD
+ 
+ 
+ 145 

+ 	$sig·u£
+  (
+ __mask
+ è
+ __THROW
+ ;
+ 
+ 146 
+ 	#sig·u£
+ (
+ mask
+ è
+ 	`__sig·u£
+  ((mask), 0)
+ 
+ 	)
+ 
+ 148 #ifdeà
+ __USE_XOPEN
+ 
+ 
+ 149 #ifdeà
+ __GNUC__
+ 
+ 
+ 150 

+ 	$sig·u£
+  (
+ __sig
+ è
+ __THROW
+  
+ 	`__asm__
+  ("__xpg_sigpause");
+ 
+ 153 
+ 	#sig·u£
+ (
+ sig
+ è
+ 	`__sig·u£
+  ((sig), 1)
+ 
+ 	)
+ 
+ 158 #ifdeà
+ __USE_BSD
+ 
+ 
+ 165 
+ 	#sigmask
+ (
+ sig
+ è
+ 	`__sigmask
+ (sig)
+ 
+ 	)
+ 
+ 168 

+ 	$sigblock
+  (
+ __mask
+ è
+ __THROW
+ ;
+ 
+ 171 

+ 	$sig£tmask
+  (
+ __mask
+ è
+ __THROW
+ ;
+ 
+ 174 

+ 	$sigg‘mask
+  (è
+ __THROW
+ ;
+ 
+ 178 #ifdeà
+ __USE_MISC
+ 
+ 
+ 179 
+ 	#NSIG
+  
+ _NSIG
+ 
+ 
+ 	)
+ 
+ 182 #ifdeà
+ __USE_GNU
+ 
+ 
+ 183 
+ __sighªdËr_t
+  
+ 	tsighªdËr_t
+ ;
+ 
+ 187 #ifdeà
+ __USE_BSD
+ 
+ 
+ 188 
+ __sighªdËr_t
+  
+ 	tsig_t
+ ;
+ 
+ 191 #ifdeà
+ __USE_POSIX
+ 
+ 
+ 193 #ifdeà
+ __USE_POSIX199309
+ 
+ 
+ 195 
+ 	#__Ãed_time¥ec
+ 
+ 
+ 	)
+ 
+ 196 
+ 	~<time.h
+ >
+ 
+ 199 
+ 	~<b™s/sigšfo.h
+ >
+ 
+ 203 

+ 	$sigem±y£t
+  (
+ sig£t_t
+  *
+ __£t
+ è
+ __THROW
+ ;
+ 
+ 206 

+ 	$sigfžl£t
+  (
+ sig£t_t
+  *
+ __£t
+ è
+ __THROW
+ ;
+ 
+ 209 

+ 	$sigadd£t
+  (
+ sig£t_t
+  *
+ __£t
+ , 
+ __signo
+ è
+ __THROW
+ ;
+ 
+ 212 

+ 	$sigd–£t
+  (
+ sig£t_t
+  *
+ __£t
+ , 
+ __signo
+ è
+ __THROW
+ ;
+ 
+ 215 

+ 	$sigismemb”
+  (
+ __cڡ
+  
+ sig£t_t
+  *
+ __£t
+ , 
+ __signo
+ è
+ __THROW
+ ;
+ 
+ 217 #ifdeà
+ __USE_GNU
+ 
+ 
+ 219 

+ 	$sigi£m±y£t
+  (
+ __cڡ
+  
+ sig£t_t
+  *
+ __£t
+ è
+ __THROW
+ ;
+ 
+ 222 

+ 	$sigªd£t
+  (
+ sig£t_t
+  *
+ __£t
+ , 
+ __cڡ
+  sig£t_ˆ*
+ __Ëá
+ ,
+ 
+ 223 
+ __cڡ
+  
+ sig£t_t
+  *
+ __right
+ è
+ __THROW
+ ;
+ 
+ 226 

+ 	$sigܣt
+  (
+ sig£t_t
+  *
+ __£t
+ , 
+ __cڡ
+  sig£t_ˆ*
+ __Ëá
+ ,
+ 
+ 227 
+ __cڡ
+  
+ sig£t_t
+  *
+ __right
+ è
+ __THROW
+ ;
+ 
+ 232 
+ 	~<b™s/sigaùiÚ.h
+ >
+ 
+ 235 

+ 	$sig´ocmask
+  (
+ __how
+ , 
+ __cڡ
+  
+ sig£t_t
+  *
+ __»¡riù
+  
+ __£t
+ ,
+ 
+ 236 
+ sig£t_t
+  *
+ __»¡riù
+  
+ __o£t
+ è
+ __THROW
+ ;
+ 
+ 240 

+ 	$sigsu¥’d
+  (
+ __cڡ
+  
+ sig£t_t
+  *
+ __£t
+ è
+ __THROW
+ ;
+ 
+ 243 

+ 	$sigaùiÚ
+  (
+ __sig
+ , 
+ __cڡ
+  
+ sigaùiÚ
+  *
+ __»¡riù
+  
+ __aù
+ ,
+ 
+ 244 
+ sigaùiÚ
+  *
+ __»¡riù
+  
+ __ßù
+ è
+ __THROW
+ ;
+ 
+ 247 

+ 	$sig³ndšg
+  (
+ sig£t_t
+  *
+ __£t
+ è
+ __THROW
+ ;
+ 
+ 251 

+ 	$sigwa™
+  (
+ __cڡ
+  
+ sig£t_t
+  *
+ __»¡riù
+  
+ __£t
+ , *__»¡riù 
+ __sig
+ )
+ 
+ 252 
+ __THROW
+ ;
+ 
+ 254 #ifdeà
+ __USE_POSIX199309
+ 
+ 
+ 256 

+ 	$sigwa™šfo
+  (
+ __cڡ
+  
+ sig£t_t
+  *
+ __»¡riù
+  
+ __£t
+ ,
+ 
+ 257 
+ sigšfo_t
+  *
+ __»¡riù
+  
+ __šfo
+ è
+ __THROW
+ ;
+ 
+ 261 

+ 	$sigtimedwa™
+  (
+ __cڡ
+  
+ sig£t_t
+  *
+ __»¡riù
+  
+ __£t
+ ,
+ 
+ 262 
+ sigšfo_t
+  *
+ __»¡riù
+  
+ __šfo
+ ,
+ 
+ 263 
+ __cڡ
+  
+ time¥ec
+  *
+ __»¡riù
+  
+ __timeout
+ )
+ 
+ 264 
+ __THROW
+ ;
+ 
+ 268 

+ 	$sigqueue
+  (
+ __pid_t
+  
+ __pid
+ , 
+ __sig
+ , 
+ __cڡ
+  
+ sigv®
+  
+ __v®
+ )
+ 
+ 269 
+ __THROW
+ ;
+ 
+ 274 #ifdeà
+ __USE_BSD
+ 
+ 
+ 278 
+ __cڡ
+  *__cڡ 
+ _sys_sigli¡
+ [
+ _NSIG
+ ];
+ 
+ 279 
+ __cڡ
+  *__cڡ 
+ sys_sigli¡
+ [
+ _NSIG
+ ];
+ 
+ 282 
+ 	ssigvec
+ 
+ 
+ 284 
+ __sighªdËr_t
+  
+ sv_hªdËr
+ ;
+ 
+ 285 
+ sv_mask
+ ;
+ 
+ 287 
+ sv_æags
+ ;
+ 
+ 288 
+ 	#sv_ڡack
+  
+ sv_æags
+ 
+ 
+ 	)
+ 
+ 292 
+ 	#SV_ONSTACK
+  (1 << 0)
+ 
+ 	)
+ 
+ 293 
+ 	#SV_INTERRUPT
+  (1 << 1)
+ 
+ 	)
+ 
+ 294 
+ 	#SV_RESETHAND
+  (1 << 2)
+ 
+ 	)
+ 
+ 302 

+ 	$sigvec
+  (
+ __sig
+ , 
+ __cڡ
+  
+ sigvec
+  *
+ __vec
+ ,
+ 
+ 303 
+ sigvec
+  *
+ __ovec
+ è
+ __THROW
+ ;
+ 
+ 307 
+ 	~<b™s/sigcÚ‹xt.h
+ >
+ 
+ 310 

+ 	$sig»tuº
+  (
+ sigcڋxt
+  *
+ __sý
+ è
+ __THROW
+ ;
+ 
+ 315 #ià
+ defšed
+  
+ __USE_BSD
+  || defšed 
+ __USE_XOPEN_EXTENDED
+ 
+ 
+ 320 

+ 	$sigš‹¼u±
+  (
+ __sig
+ , 
+ __š‹¼u±
+ è
+ __THROW
+ ;
+ 
+ 322 
+ 	~<b™s/sig¡ack.h
+ >
+ 
+ 323 #ifdeà
+ __USE_XOPEN
+ 
+ 
+ 324 
+ 	~<ucڋxt.h
+ >
+ 
+ 330 

+ 	$sig¡ack
+  (
+ sig¡ack
+  *
+ __ss
+ , sig¡ack *
+ __oss
+ è
+ __THROW
+ ;
+ 
+ 334 

+ 	$sig®t¡ack
+  (
+ __cڡ
+  
+ sig®t¡ack
+  *
+ __»¡riù
+  
+ __ss
+ ,
+ 
+ 335 
+ sig®t¡ack
+  *
+ __»¡riù
+  
+ __oss
+ è
+ __THROW
+ ;
+ 
+ 339 #ifdeà
+ __USE_UNIX98
+ 
+ 
+ 343 

+ 	$sighÞd
+  (
+ __sig
+ è
+ __THROW
+ ;
+ 
+ 346 

+ 	$sig»l£
+  (
+ __sig
+ è
+ __THROW
+ ;
+ 
+ 349 

+ 	$sigignÜe
+  (
+ __sig
+ è
+ __THROW
+ ;
+ 
+ 352 
+ __sighªdËr_t
+  
+ 	$sig£t
+  (
+ __sig
+ , 
+ __sighªdËr_t
+  
+ __di¥
+ è
+ __THROW
+ ;
+ 
+ 355 #ià
+ defšed
+  
+ __USE_POSIX199506
+  || defšed 
+ __USE_UNIX98
+ 
+ 
+ 358 
+ 	~<b™s/sigth»ad.h
+ >
+ 
+ 365 

+ 	$__libc_cu¼’t_sig¹mš
+  (è
+ __THROW
+ ;
+ 
+ 367 

+ 	$__libc_cu¼’t_sig¹max
+  (è
+ __THROW
+ ;
+ 
+ 371 
+ __END_DECLS
+ 
+ 
+ 	@/usr/include/stdio.h
+ 
+ 24 #iâdeà
+ _STDIO_H
+ 
+ 
+ 26 #ià!
+ defšed
+  
+ __Ãed_FILE
+  && !defšed 
+ __Ãed___FILE
+ 
+ 
+ 27 
+ 	#_STDIO_H
+  1
+ 
+ 	)
+ 
+ 28 
+ 	~<ã©u»s.h
+ >
+ 
+ 30 
+ 	g__BEGIN_DECLS
+ 
+ 
+ 32 
+ 	#__Ãed_size_t
+ 
+ 
+ 	)
+ 
+ 33 
+ 	#__Ãed_NULL
+ 
+ 
+ 	)
+ 
+ 34 
+ 	~<¡ddef.h
+ >
+ 
+ 36 
+ 	~<b™s/ty³s.h
+ >
+ 
+ 37 
+ 	#__Ãed_FILE
+ 
+ 
+ 	)
+ 
+ 38 
+ 	#__Ãed___FILE
+ 
+ 
+ 	)
+ 
+ 42 #ià!
+ defšed
+  
+ __FILE_defšed
+  && defšed 
+ __Ãed_FILE
+ 
+ 
+ 45 
+ _IO_FILE
+  
+ 	tFILE
+ ;
+ 
+ 47 
+ 	#__FILE_defšed
+  1
+ 
+ 	)
+ 
+ 49 #undeà
+ __Ãed_FILE
+ 
+ 
+ 52 #ià!
+ defšed
+  
+ ____FILE_defšed
+  && defšed 
+ __Ãed___FILE
+ 
+ 
+ 55 
+ _IO_FILE
+  
+ 	t__FILE
+ ;
+ 
+ 57 
+ 	#____FILE_defšed
+  1
+ 
+ 	)
+ 
+ 59 #undeà
+ __Ãed___FILE
+ 
+ 
+ 62 #ifdef 
+ _STDIO_H
+ 
+ 
+ 63 
+ 	#_STDIO_USES_IOSTREAM
+ 
+ 
+ 	)
+ 
+ 65 
+ 	~<libio.h
+ >
+ 
+ 67 #ifdeà
+ __USE_XOPEN
+ 
+ 
+ 68 #ifdeà
+ __GNUC__
+ 
+ 
+ 69 #iâdeà
+ _VA_LIST_DEFINED
+ 
+ 
+ 70 
+ _G_va_li¡
+  
+ 	tva_li¡
+ ;
+ 
+ 71 
+ 	#_VA_LIST_DEFINED
+ 
+ 
+ 	)
+ 
+ 74 
+ 	~<¡d¬g.h
+ >
+ 
+ 79 #iâdeà
+ __USE_FILE_OFFSET64
+ 
+ 
+ 80 
+ _G_åos_t
+  
+ 	tåos_t
+ ;
+ 
+ 82 
+ _G_åos64_t
+  
+ 	tåos_t
+ ;
+ 
+ 84 #ifdeà
+ __USE_LARGEFILE64
+ 
+ 
+ 85 
+ _G_åos64_t
+  
+ 	tåos64_t
+ ;
+ 
+ 89 
+ 	#_IOFBF
+  0
+ 
+ 	)
+ 
+ 90 
+ 	#_IOLBF
+  1
+ 
+ 	)
+ 
+ 91 
+ 	#_IONBF
+  2
+ 
+ 	)
+ 
+ 95 #iâdeà
+ BUFSIZ
+ 
+ 
+ 96 
+ 	#BUFSIZ
+  
+ _IO_BUFSIZ
+ 
+ 
+ 	)
+ 
+ 102 #iâdeà
+ EOF
+ 
+ 
+ 103 
+ 	#EOF
+  (-1)
+ 
+ 	)
+ 
+ 109 
+ 	#SEEK_SET
+  0
+ 
+ 	)
+ 
+ 110 
+ 	#SEEK_CUR
+  1
+ 
+ 	)
+ 
+ 111 
+ 	#SEEK_END
+  2
+ 
+ 	)
+ 
+ 114 #ià
+ defšed
+  
+ __USE_SVID
+  || defšed 
+ __USE_XOPEN
+ 
+ 
+ 116 
+ 	#P_tmpdœ
+  "/tmp"
+ 
+ 	)
+ 
+ 129 
+ 	~<b™s/¡dio_lim.h
+ >
+ 
+ 133 
+ FILE
+  *
+ ¡dš
+ ;
+ 
+ 134 
+ FILE
+  *
+ ¡dout
+ ;
+ 
+ 135 
+ FILE
+  *
+ ¡d”r
+ ;
+ 
+ 136 #ifdeà
+ __STDC__
+ 
+ 
+ 138 
+ 	#¡dš
+  
+ ¡dš
+ 
+ 
+ 	)
+ 
+ 139 
+ 	#¡dout
+  
+ ¡dout
+ 
+ 
+ 	)
+ 
+ 140 
+ 	#¡d”r
+  
+ ¡d”r
+ 
+ 
+ 	)
+ 
+ 144 

+ 	$»move
+  (
+ __cڡ
+  *
+ __fž’ame
+ è
+ __THROW
+ ;
+ 
+ 146 

+ 	$Ȃme
+  (
+ __cڡ
+  *
+ __Þd
+ , __cڡ *
+ __Ãw
+ è
+ __THROW
+ ;
+ 
+ 150 #iâdeà
+ __USE_FILE_OFFSET64
+ 
+ 
+ 151 
+ FILE
+  *
+ 	$tmpfže
+  (è
+ __THROW
+ ;
+ 
+ 153 #ifdeà
+ __REDIRECT
+ 
+ 
+ 154 
+ FILE
+  *
+ 	`__REDIRECT
+  (
+ tmpfže
+ , (è
+ __THROW
+ , 
+ tmpfže64
+ );
+ 
+ 156 
+ 	#tmpfže
+  
+ tmpfže64
+ 
+ 
+ 	)
+ 
+ 159 #ifdeà
+ __USE_LARGEFILE64
+ 
+ 
+ 160 
+ FILE
+  *
+ 	$tmpfže64
+  (è
+ __THROW
+ ;
+ 
+ 163 
*
+ 	$tm²am
+  (*
+ __s
+ è
+ __THROW
+ ;
+ 
+ 165 #ifdeà
+ __USE_MISC
+ 
+ 
+ 168 
*
+ 	$tm²am_r
+  (*
+ __s
+ è
+ __THROW
+ ;
+ 
+ 172 #ià
+ defšed
+  
+ __USE_SVID
+  || defšed 
+ __USE_XOPEN
+ 
+ 
+ 180 
*
+ 	$‹m²am
+  (
+ __cڡ
+  *
+ __dœ
+ , __cڡ *
+ __pfx
+ )
+ 
+ 181 
+ __THROW
+  
+ __©Œibu‹_m®loc__
+ ;
+ 
+ 186 

+ 	$fþo£
+  (
+ FILE
+  *
+ __¡»am
+ è
+ __THROW
+ ;
+ 
+ 188 

+ 	$fæush
+  (
+ FILE
+  *
+ __¡»am
+ è
+ __THROW
+ ;
+ 
+ 190 #ifdeà
+ __USE_MISC
+ 
+ 
+ 192 

+ 	$fæush_uÆocked
+  (
+ FILE
+  *
+ __¡»am
+ è
+ __THROW
+ ;
+ 
+ 195 #ifdeà
+ __USE_GNU
+ 
+ 
+ 197 

+ 	$fþo£®l
+  (è
+ __THROW
+ ;
+ 
+ 201 #iâdeà
+ __USE_FILE_OFFSET64
+ 
+ 
+ 203 
+ FILE
+  *
+ 	$fݒ
+  (
+ __cڡ
+  *
+ __»¡riù
+  
+ __fž’ame
+ ,
+ 
+ 204 
+ __cڡ
+  *
+ __»¡riù
+  
+ __modes
+ è
+ __THROW
+ ;
+ 
+ 206 
+ FILE
+  *
+ 	$äeÝ’
+  (
+ __cڡ
+  *
+ __»¡riù
+  
+ __fž’ame
+ ,
+ 
+ 207 
+ __cڡ
+  *
+ __»¡riù
+  
+ __modes
+ ,
+ 
+ 208 
+ FILE
+  *
+ __»¡riù
+  
+ __¡»am
+ è
+ __THROW
+ ;
+ 
+ 210 #ifdeà
+ __REDIRECT
+ 
+ 
+ 211 
+ FILE
+  *
+ 	`__REDIRECT
+  (
+ fݒ
+ , (
+ __cڡ
+  *
+ __»¡riù
+  
+ __fž’ame
+ ,
+ 
+ 212 
+ __cڡ
+  *
+ __»¡riù
+  
+ __modes
+ è
+ __THROW
+ ,
+ 
+ 213 
+ fݒ64
+ );
+ 
+ 214 
+ FILE
+  *
+ 	`__REDIRECT
+  (
+ äeÝ’
+ , (
+ __cڡ
+  *
+ __»¡riù
+  
+ __fž’ame
+ ,
+ 
+ 215 
+ __cڡ
+  *
+ __»¡riù
+  
+ __modes
+ ,
+ 
+ 216 
+ FILE
+  *
+ __»¡riù
+  
+ __¡»am
+ è
+ __THROW
+ ,
+ 
+ 217 
+ äeÝ’64
+ );
+ 
+ 219 
+ 	#fݒ
+  
+ fݒ64
+ 
+ 
+ 	)
+ 
+ 220 
+ 	#äeÝ’
+  
+ äeÝ’64
+ 
+ 
+ 	)
+ 
+ 223 #ifdeà
+ __USE_LARGEFILE64
+ 
+ 
+ 224 
+ FILE
+  *
+ 	$fݒ64
+  (
+ __cڡ
+  *
+ __»¡riù
+  
+ __fž’ame
+ ,
+ 
+ 225 
+ __cڡ
+  *
+ __»¡riù
+  
+ __modes
+ è
+ __THROW
+ ;
+ 
+ 226 
+ FILE
+  *
+ 	$äeÝ’64
+  (
+ __cڡ
+  *
+ __»¡riù
+  
+ __fž’ame
+ ,
+ 
+ 227 
+ __cڡ
+  *
+ __»¡riù
+  
+ __modes
+ ,
+ 
+ 228 
+ FILE
+  *
+ __»¡riù
+  
+ __¡»am
+ è
+ __THROW
+ ;
+ 
+ 231 #ifdef 
+ __USE_POSIX
+ 
+ 
+ 233 
+ FILE
+  *
+ 	$fdݒ
+  (
+ __fd
+ , 
+ __cڡ
+  *
+ __modes
+ è
+ __THROW
+ ;
+ 
+ 236 #ifdef 
+ __USE_GNU
+ 
+ 
+ 239 
+ FILE
+  *
+ 	$fÝ’cook›
+  (*
+ __»¡riù
+  
+ __magic_cook›
+ ,
+ 
+ 240 
+ __cڡ
+  *
+ __»¡riù
+  
+ __modes
+ ,
+ 
+ 241 
+ _IO_cook›_io_funùiÚs_t
+  
+ __io_funcs
+ è
+ __THROW
+ ;
+ 
+ 244 
+ FILE
+  *
+ 	$fmemݒ
+  (*
+ __s
+ , 
+ size_t
+  
+ __Ën
+ , 
+ __cڡ
+  *
+ __modes
+ è
+ __THROW
+ ;
+ 
+ 249 
+ FILE
+  *
+ 	$Ý’_mem¡»am
+  (**
+ __»¡riù
+  
+ __buæoc
+ ,
+ 
+ 250 
+ size_t
+  *
+ __»¡riù
+  
+ __siz–oc
+ è
+ __THROW
+ ;
+ 
+ 256 

+ 	$£tbuf
+  (
+ FILE
+  *
+ __»¡riù
+  
+ __¡»am
+ , *__»¡riù 
+ __buf
+ è
+ __THROW
+ ;
+ 
+ 260 

+ 	$£tvbuf
+  (
+ FILE
+  *
+ __»¡riù
+  
+ __¡»am
+ , *__»¡riù 
+ __buf
+ ,
+ 
+ 261 
+ __modes
+ , 
+ size_t
+  
+ __n
+ è
+ __THROW
+ ;
+ 
+ 263 #ifdef 
+ __USE_BSD
+ 
+ 
+ 266 

+ 	$£tbufãr
+  (
+ FILE
+  *
+ __»¡riù
+  
+ __¡»am
+ , *__»¡riù 
+ __buf
+ ,
+ 
+ 267 
+ size_t
+  
+ __size
+ è
+ __THROW
+ ;
+ 
+ 270 

+ 	$£Žšebuf
+  (
+ FILE
+  *
+ __¡»am
+ è
+ __THROW
+ ;
+ 
+ 275 

+ 	$årštf
+  (
+ FILE
+  *
+ __»¡riù
+  
+ __¡»am
+ ,
+ 
+ 276 
+ __cڡ
+  *
+ __»¡riù
+  
+ __fÜm©
+ , ...è
+ __THROW
+ ;
+ 
+ 278 

+ 	$´štf
+  (
+ __cڡ
+  *
+ __»¡riù
+  
+ __fÜm©
+ , ...è
+ __THROW
+ ;
+ 
+ 280 

+ 	$¥rštf
+  (*
+ __»¡riù
+  
+ __s
+ ,
+ 
+ 281 
+ __cڡ
+  *
+ __»¡riù
+  
+ __fÜm©
+ , ...è
+ __THROW
+ ;
+ 
+ 284 

+ 	$vårštf
+  (
+ FILE
+  *
+ __»¡riù
+  
+ __s
+ , 
+ __cڡ
+  *__»¡riù 
+ __fÜm©
+ ,
+ 
+ 285 
+ _G_va_li¡
+  
+ __¬g
+ è
+ __THROW
+ ;
+ 
+ 287 

+ 	$v´štf
+  (
+ __cڡ
+  *
+ __»¡riù
+  
+ __fÜm©
+ , 
+ _G_va_li¡
+  
+ __¬g
+ )
+ 
+ 288 
+ __THROW
+ ;
+ 
+ 290 

+ 	$v¥rštf
+  (*
+ __»¡riù
+  
+ __s
+ , 
+ __cڡ
+  *__»¡riù 
+ __fÜm©
+ ,
+ 
+ 291 
+ _G_va_li¡
+  
+ __¬g
+ è
+ __THROW
+ ;
+ 
+ 293 #ià
+ defšed
+  
+ __USE_BSD
+  || defšed 
+ __USE_ISOC99
+  || defšed 
+ __USE_UNIX98
+ 
+ 
+ 295 

+ 	$¢´štf
+  (*
+ __»¡riù
+  
+ __s
+ , 
+ size_t
+  
+ __maxËn
+ ,
+ 
+ 296 
+ __cڡ
+  *
+ __»¡riù
+  
+ __fÜm©
+ , ...)
+ 
+ 297 
+ __THROW
+  
+ 	`__©Œibu‹__
+  ((
+ 	`__fÜm©__
+  (
+ __´štf__
+ , 3, 4)));
+ 
+ 299 

+ 	$v¢´štf
+  (*
+ __»¡riù
+  
+ __s
+ , 
+ size_t
+  
+ __maxËn
+ ,
+ 
+ 300 
+ __cڡ
+  *
+ __»¡riù
+  
+ __fÜm©
+ , 
+ _G_va_li¡
+  
+ __¬g
+ )
+ 
+ 301 
+ __THROW
+  
+ 	`__©Œibu‹__
+  ((
+ 	`__fÜm©__
+  (
+ __´štf__
+ , 3, 0)));
+ 
+ 304 #ifdeà
+ __USE_GNU
+ 
+ 
+ 307 

+ 	$va¥rštf
+  (**
+ __»¡riù
+  
+ __±r
+ , 
+ __cڡ
+  *__»¡riù 
+ __f
+ ,
+ 
+ 308 
+ _G_va_li¡
+  
+ __¬g
+ )
+ 
+ 309 
+ __THROW
+  
+ 	`__©Œibu‹__
+  ((
+ 	`__fÜm©__
+  (
+ __´štf__
+ , 2, 0)));
+ 
+ 310 

+ 	$__a¥rštf
+  (**
+ __»¡riù
+  
+ __±r
+ ,
+ 
+ 311 
+ __cڡ
+  *
+ __»¡riù
+  
+ __fmt
+ , ...)
+ 
+ 312 
+ __THROW
+  
+ 	`__©Œibu‹__
+  ((
+ 	`__fÜm©__
+  (
+ __´štf__
+ , 2, 3)));
+ 
+ 313 

+ 	$a¥rštf
+  (**
+ __»¡riù
+  
+ __±r
+ ,
+ 
+ 314 
+ __cڡ
+  *
+ __»¡riù
+  
+ __fmt
+ , ...)
+ 
+ 315 
+ __THROW
+  
+ 	`__©Œibu‹__
+  ((
+ 	`__fÜm©__
+  (
+ __´štf__
+ , 2, 3)));
+ 
+ 318 

+ 	$vd´štf
+  (
+ __fd
+ , 
+ __cڡ
+  *
+ __»¡riù
+  
+ __fmt
+ ,
+ 
+ 319 
+ _G_va_li¡
+  
+ __¬g
+ )
+ 
+ 320 
+ __THROW
+  
+ 	`__©Œibu‹__
+  ((
+ 	`__fÜm©__
+  (
+ __´štf__
+ , 2, 0)));
+ 
+ 321 

+ 	$d´štf
+  (
+ __fd
+ , 
+ __cڡ
+  *
+ __»¡riù
+  
+ __fmt
+ , ...)
+ 
+ 322 
+ __THROW
+  
+ 	`__©Œibu‹__
+  ((
+ 	`__fÜm©__
+  (
+ __´štf__
+ , 2, 3)));
+ 
+ 327 

+ 	$fsÿnf
+  (
+ FILE
+  *
+ __»¡riù
+  
+ __¡»am
+ ,
+ 
+ 328 
+ __cڡ
+  *
+ __»¡riù
+  
+ __fÜm©
+ , ...è
+ __THROW
+ ;
+ 
+ 330 

+ 	$sÿnf
+  (
+ __cڡ
+  *
+ __»¡riù
+  
+ __fÜm©
+ , ...è
+ __THROW
+ ;
+ 
+ 332 

+ 	$ssÿnf
+  (
+ __cڡ
+  *
+ __»¡riù
+  
+ __s
+ ,
+ 
+ 333 
+ __cڡ
+  *
+ __»¡riù
+  
+ __fÜm©
+ , ...è
+ __THROW
+ ;
+ 
+ 335 #ifdef 
+ __USE_ISOC99
+ 
+ 
+ 337 

+ 	$vfsÿnf
+  (
+ FILE
+  *
+ __»¡riù
+  
+ __s
+ , 
+ __cڡ
+  *__»¡riù 
+ __fÜm©
+ ,
+ 
+ 338 
+ _G_va_li¡
+  
+ __¬g
+ )
+ 
+ 339 
+ __THROW
+  
+ 	`__©Œibu‹__
+  ((
+ 	`__fÜm©__
+  (
+ __sÿnf__
+ , 2, 0)));
+ 
+ 342 

+ 	$vsÿnf
+  (
+ __cڡ
+  *
+ __»¡riù
+  
+ __fÜm©
+ , 
+ _G_va_li¡
+  
+ __¬g
+ )
+ 
+ 343 
+ __THROW
+  
+ 	`__©Œibu‹__
+  ((
+ 	`__fÜm©__
+  (
+ __sÿnf__
+ , 1, 0)));
+ 
+ 346 

+ 	$vssÿnf
+  (
+ __cڡ
+  *
+ __»¡riù
+  
+ __s
+ ,
+ 
+ 347 
+ __cڡ
+  *
+ __»¡riù
+  
+ __fÜm©
+ , 
+ _G_va_li¡
+  
+ __¬g
+ )
+ 
+ 348 
+ __THROW
+  
+ 	`__©Œibu‹__
+  ((
+ 	`__fÜm©__
+  (
+ __sÿnf__
+ , 2, 0)));
+ 
+ 353 

+ 	$fg‘c
+  (
+ FILE
+  *
+ __¡»am
+ è
+ __THROW
+ ;
+ 
+ 354 

+ 	$g‘c
+  (
+ FILE
+  *
+ __¡»am
+ è
+ __THROW
+ ;
+ 
+ 357 

+ 	$g‘ch¬
+  (è
+ __THROW
+ ;
+ 
+ 361 
+ 	#g‘c
+ (
+ _å
+ è
+ 	`_IO_g‘c
+  (_å)
+ 
+ 	)
+ 
+ 363 #ià
+ defšed
+  
+ __USE_POSIX
+  || defšed 
+ __USE_MISC
+ 
+ 
+ 365 

+ 	$g‘c_uÆocked
+  (
+ FILE
+  *
+ __¡»am
+ è
+ __THROW
+ ;
+ 
+ 366 

+ 	$g‘ch¬_uÆocked
+  (è
+ __THROW
+ ;
+ 
+ 369 #ifdeà
+ __USE_MISC
+ 
+ 
+ 371 

+ 	$fg‘c_uÆocked
+  (
+ FILE
+  *
+ __¡»am
+ è
+ __THROW
+ ;
+ 
+ 376 

+ 	$åutc
+  (
+ __c
+ , 
+ FILE
+  *
+ __¡»am
+ è
+ __THROW
+ ;
+ 
+ 377 

+ 	$putc
+  (
+ __c
+ , 
+ FILE
+  *
+ __¡»am
+ è
+ __THROW
+ ;
+ 
+ 380 

+ 	$putch¬
+  (
+ __c
+ è
+ __THROW
+ ;
+ 
+ 384 
+ 	#putc
+ (
+ _ch
+ , 
+ _å
+ è
+ 	`_IO_putc
+  (_ch, _å)
+ 
+ 	)
+ 
+ 386 #ifdeà
+ __USE_MISC
+ 
+ 
+ 388 

+ 	$åutc_uÆocked
+  (
+ __c
+ , 
+ FILE
+  *
+ __¡»am
+ è
+ __THROW
+ ;
+ 
+ 391 #ià
+ defšed
+  
+ __USE_POSIX
+  || defšed 
+ __USE_MISC
+ 
+ 
+ 393 

+ 	$putc_uÆocked
+  (
+ __c
+ , 
+ FILE
+  *
+ __¡»am
+ è
+ __THROW
+ ;
+ 
+ 394 

+ 	$putch¬_uÆocked
+  (
+ __c
+ è
+ __THROW
+ ;
+ 
+ 398 #ià
+ defšed
+  
+ __USE_SVID
+  || defšed 
+ __USE_MISC
+  || defšed 
+ __USE_XOPEN
+ 
+ 
+ 400 

+ 	$g‘w
+  (
+ FILE
+  *
+ __¡»am
+ è
+ __THROW
+ ;
+ 
+ 403 

+ 	$putw
+  (
+ __w
+ , 
+ FILE
+  *
+ __¡»am
+ è
+ __THROW
+ ;
+ 
+ 408 
*
+ 	$fg‘s
+  (*
+ __»¡riù
+  
+ __s
+ , 
+ __n
+ , 
+ FILE
+  *__»¡riù 
+ __¡»am
+ )
+ 
+ 409 
+ __THROW
+ ;
+ 
+ 411 #ifdeà
+ __USE_GNU
+ 
+ 
+ 413 
*
+ 	$fg‘s_uÆocked
+  (*
+ __»¡riù
+  
+ __s
+ , 
+ __n
+ ,
+ 
+ 414 
+ FILE
+  *
+ __»¡riù
+  
+ __¡»am
+ è
+ __THROW
+ ;
+ 
+ 419 
*
+ 	$g‘s
+  (*
+ __s
+ è
+ __THROW
+ ;
+ 
+ 422 #ifdef 
+ __USE_GNU
+ 
+ 
+ 428 
+ _IO_ssize_t
+  
+ 	$__g‘d–im
+  (**
+ __»¡riù
+  
+ __lš•Œ
+ ,
+ 
+ 429 
+ size_t
+  *
+ __»¡riù
+  
+ __n
+ , 
+ __d–im™”
+ ,
+ 
+ 430 
+ FILE
+  *
+ __»¡riù
+  
+ __¡»am
+ è
+ __THROW
+ ;
+ 
+ 431 
+ _IO_ssize_t
+  
+ 	$g‘d–im
+  (**
+ __»¡riù
+  
+ __lš•Œ
+ ,
+ 
+ 432 
+ size_t
+  *
+ __»¡riù
+  
+ __n
+ , 
+ __d–im™”
+ ,
+ 
+ 433 
+ FILE
+  *
+ __»¡riù
+  
+ __¡»am
+ è
+ __THROW
+ ;
+ 
+ 436 
+ _IO_ssize_t
+  
+ 	$g‘lše
+  (**
+ __»¡riù
+  
+ __lš•Œ
+ ,
+ 
+ 437 
+ size_t
+  *
+ __»¡riù
+  
+ __n
+ ,
+ 
+ 438 
+ FILE
+  *
+ __»¡riù
+  
+ __¡»am
+ è
+ __THROW
+ ;
+ 
+ 443 

+ 	$åuts
+  (
+ __cڡ
+  *
+ __»¡riù
+  
+ __s
+ , 
+ FILE
+  *__»¡riù 
+ __¡»am
+ )
+ 
+ 444 
+ __THROW
+ ;
+ 
+ 446 #ifdeà
+ __USE_GNU
+ 
+ 
+ 448 

+ 	$åuts_uÆocked
+  (
+ __cڡ
+  *
+ __»¡riù
+  
+ __s
+ ,
+ 
+ 449 
+ FILE
+  *
+ __»¡riù
+  
+ __¡»am
+ è
+ __THROW
+ ;
+ 
+ 453 

+ 	$puts
+  (
+ __cڡ
+  *
+ __s
+ è
+ __THROW
+ ;
+ 
+ 457 

+ 	$ung‘c
+  (
+ __c
+ , 
+ FILE
+  *
+ __¡»am
+ è
+ __THROW
+ ;
+ 
+ 461 
+ size_t
+  
+ 	$ä—d
+  (*
+ __»¡riù
+  
+ __±r
+ , 
+ size_t
+  
+ __size
+ ,
+ 
+ 462 
+ size_t
+  
+ __n
+ , 
+ FILE
+  *
+ __»¡riù
+  
+ __¡»am
+ è
+ __THROW
+ ;
+ 
+ 464 
+ size_t
+  
+ 	$fwr™e
+  (
+ __cڡ
+  *
+ __»¡riù
+  
+ __±r
+ , 
+ size_t
+  
+ __size
+ ,
+ 
+ 465 
+ size_t
+  
+ __n
+ , 
+ FILE
+  *
+ __»¡riù
+  
+ __s
+ è
+ __THROW
+ ;
+ 
+ 467 #ifdeà
+ __USE_MISC
+ 
+ 
+ 469 
+ size_t
+  
+ 	$ä—d_uÆocked
+  (*
+ __»¡riù
+  
+ __±r
+ , 
+ size_t
+  
+ __size
+ ,
+ 
+ 470 
+ size_t
+  
+ __n
+ , 
+ FILE
+  *
+ __»¡riù
+  
+ __¡»am
+ è
+ __THROW
+ ;
+ 
+ 471 
+ size_t
+  
+ 	$fwr™e_uÆocked
+  (
+ __cڡ
+  *
+ __»¡riù
+  
+ __±r
+ , 
+ size_t
+  
+ __size
+ ,
+ 
+ 472 
+ size_t
+  
+ __n
+ , 
+ FILE
+  *
+ __»¡riù
+  
+ __¡»am
+ è
+ __THROW
+ ;
+ 
+ 477 

+ 	$f£ek
+  (
+ FILE
+  *
+ __¡»am
+ , 
+ __off
+ , 
+ __wh’û
+ è
+ __THROW
+ ;
+ 
+ 479 

+ 	$á–l
+  (
+ FILE
+  *
+ __¡»am
+ è
+ __THROW
+ ;
+ 
+ 481 

+ 	$»wšd
+  (
+ FILE
+  *
+ __¡»am
+ è
+ __THROW
+ ;
+ 
+ 488 #iâdeà
+ __USE_FILE_OFFSET64
+ 
+ 
+ 489 #ifdeà
+ __USE_LARGEFILE
+ 
+ 
+ 491 

+ 	$f£eko
+  (
+ FILE
+  *
+ __¡»am
+ , 
+ __off_t
+  
+ __off
+ , 
+ __wh’û
+ è
+ __THROW
+ ;
+ 
+ 493 
+ __off_t
+  
+ 	$á–lo
+  (
+ FILE
+  *
+ __¡»am
+ è
+ __THROW
+ ;
+ 
+ 497 

+ 	$fg‘pos
+  (
+ FILE
+  *
+ __»¡riù
+  
+ __¡»am
+ , 
+ åos_t
+  *__»¡riù 
+ __pos
+ )
+ 
+ 498 
+ __THROW
+ ;
+ 
+ 500 

+ 	$f£os
+  (
+ FILE
+  *
+ __¡»am
+ , 
+ __cڡ
+  
+ åos_t
+  *
+ __pos
+ è
+ __THROW
+ ;
+ 
+ 502 #ifdeà
+ __REDIRECT
+ 
+ 
+ 503 #ifdeà
+ __USE_LARGEFILE
+ 
+ 
+ 504 

+ 	`__REDIRECT
+  (
+ f£eko
+ ,
+ 
+ 505 (
+ FILE
+  *
+ __¡»am
+ , 
+ __off64_t
+  
+ __off
+ , 
+ __wh’û
+ è
+ __THROW
+ ,
+ 
+ 506 
+ f£eko64
+ );
+ 
+ 507 
+ __off64_t
+  
+ 	`__REDIRECT
+  (
+ á–lo
+ , (
+ FILE
+  *
+ __¡»am
+ è
+ __THROW
+ , 
+ á–lo64
+ );
+ 
+ 509 

+ 	`__REDIRECT
+  (
+ fg‘pos
+ , (
+ FILE
+  *
+ __»¡riù
+  
+ __¡»am
+ ,
+ 
+ 510 
+ åos_t
+  *
+ __»¡riù
+  
+ __pos
+ è
+ __THROW
+ , 
+ fg‘pos64
+ );
+ 
+ 511 

+ 	`__REDIRECT
+  (
+ f£os
+ ,
+ 
+ 512 (
+ FILE
+  *
+ __¡»am
+ , 
+ __cڡ
+  
+ åos_t
+  *
+ __pos
+ è
+ __THROW
+ ,
+ 
+ 513 
+ f£os64
+ );
+ 
+ 515 #ifdeà
+ __USE_LARGEFILE
+ 
+ 
+ 516 
+ 	#f£eko
+  
+ f£eko64
+ 
+ 
+ 	)
+ 
+ 517 
+ 	#á–lo
+  
+ á–lo64
+ 
+ 
+ 	)
+ 
+ 519 
+ 	#fg‘pos
+  
+ fg‘pos64
+ 
+ 
+ 	)
+ 
+ 520 
+ 	#f£os
+  
+ f£os64
+ 
+ 
+ 	)
+ 
+ 524 #ifdeà
+ __USE_LARGEFILE64
+ 
+ 
+ 525 

+ 	$f£eko64
+  (
+ FILE
+  *
+ __¡»am
+ , 
+ __off64_t
+  
+ __off
+ , 
+ __wh’û
+ è
+ __THROW
+ ;
+ 
+ 526 
+ __off64_t
+  
+ 	$á–lo64
+  (
+ FILE
+  *
+ __¡»am
+ è
+ __THROW
+ ;
+ 
+ 527 

+ 	$fg‘pos64
+  (
+ FILE
+  *
+ __»¡riù
+  
+ __¡»am
+ , 
+ åos64_t
+  *__»¡riù 
+ __pos
+ )
+ 
+ 528 
+ __THROW
+ ;
+ 
+ 529 

+ 	$f£os64
+  (
+ FILE
+  *
+ __¡»am
+ , 
+ __cڡ
+  
+ åos64_t
+  *
+ __pos
+ è
+ __THROW
+ ;
+ 
+ 533 

+ 	$þ—»¼
+  (
+ FILE
+  *
+ __¡»am
+ è
+ __THROW
+ ;
+ 
+ 535 

+ 	$ãof
+  (
+ FILE
+  *
+ __¡»am
+ è
+ __THROW
+ ;
+ 
+ 537 

+ 	$ã¼Ü
+  (
+ FILE
+  *
+ __¡»am
+ è
+ __THROW
+ ;
+ 
+ 539 #ifdeà
+ __USE_MISC
+ 
+ 
+ 541 

+ 	$þ—»¼_uÆocked
+  (
+ FILE
+  *
+ __¡»am
+ è
+ __THROW
+ ;
+ 
+ 542 

+ 	$ãof_uÆocked
+  (
+ FILE
+  *
+ __¡»am
+ è
+ __THROW
+ ;
+ 
+ 543 

+ 	$ã¼Ü_uÆocked
+  (
+ FILE
+  *
+ __¡»am
+ è
+ __THROW
+ ;
+ 
+ 548 

+ 	$³¼Ü
+  (
+ __cڡ
+  *
+ __s
+ è
+ __THROW
+ ;
+ 
+ 552 #ifdef 
+ __USE_BSD
+ 
+ 
+ 553 

+ sys_ü
+ ;
+ 
+ 554 
+ __cڡ
+  *__cڡ 
+ sys_”¾i¡
+ [];
+ 
+ 556 #ifdef 
+ __USE_GNU
+ 
+ 
+ 557 

+ _sys_ü
+ ;
+ 
+ 558 
+ __cڡ
+  *__cڡ 
+ _sys_”¾i¡
+ [];
+ 
+ 562 #ifdef 
+ __USE_POSIX
+ 
+ 
+ 564 

+ 	$fž’o
+  (
+ FILE
+  *
+ __¡»am
+ è
+ __THROW
+ ;
+ 
+ 567 #ifdeà
+ __USE_MISC
+ 
+ 
+ 569 

+ 	$fž’o_uÆocked
+  (
+ FILE
+  *
+ __¡»am
+ è
+ __THROW
+ ;
+ 
+ 573 #ià(
+ defšed
+  
+ __USE_POSIX2
+  || defšed 
+ __USE_SVID
+  || defšed 
+ __USE_BSD
+  || \
+ 
+ 574 
+ defšed
+  
+ __USE_MISC
+ )
+ 
+ 576 
+ FILE
+  *
+ 	$pݒ
+  (
+ __cڡ
+  *
+ __commªd
+ , __cڡ *
+ __modes
+ è
+ __THROW
+ ;
+ 
+ 579 

+ 	$pþo£
+  (
+ FILE
+  *
+ __¡»am
+ è
+ __THROW
+ ;
+ 
+ 583 #ifdef 
+ __USE_POSIX
+ 
+ 
+ 585 
*
+ 	$ù”mid
+  (*
+ __s
+ è
+ __THROW
+ ;
+ 
+ 589 #ifdeà
+ __USE_XOPEN
+ 
+ 
+ 591 
*
+ 	$cu£rid
+  (*
+ __s
+ è
+ __THROW
+ ;
+ 
+ 595 #ifdef 
+ __USE_GNU
+ 
+ 
+ 596 
+ ob¡ack
+ ;
+ 
+ 599 

+ 	$ob¡ack_´štf
+  (
+ ob¡ack
+  *
+ __»¡riù
+  
+ __ob¡ack
+ ,
+ 
+ 600 
+ __cڡ
+  *
+ __»¡riù
+  
+ __fÜm©
+ , ...è
+ __THROW
+ ;
+ 
+ 601 

+ 	$ob¡ack_v´štf
+  (
+ ob¡ack
+  *
+ __»¡riù
+  
+ __ob¡ack
+ ,
+ 
+ 602 
+ __cڡ
+  *
+ __»¡riù
+  
+ __fÜm©
+ ,
+ 
+ 603 
+ _G_va_li¡
+  
+ __¬gs
+ è
+ __THROW
+ ;
+ 
+ 607 #ià
+ defšed
+  
+ __USE_POSIX
+  || defšed 
+ __USE_MISC
+ 
+ 
+ 611 

+ 	$æockfže
+  (
+ FILE
+  *
+ __¡»am
+ è
+ __THROW
+ ;
+ 
+ 615 

+ 	$árylockfže
+  (
+ FILE
+  *
+ __¡»am
+ è
+ __THROW
+ ;
+ 
+ 618 

+ 	$fuÆockfže
+  (
+ FILE
+  *
+ __¡»am
+ è
+ __THROW
+ ;
+ 
+ 621 #ià
+ defšed
+  
+ __USE_XOPEN
+  && !defšed 
+ __USE_XOPEN2K
+  && !defšed 
+ __USE_GNU
+ 
+ 
+ 625 
+ 	#__Ãed_g‘Ýt
+ 
+ 
+ 	)
+ 
+ 626 
+ 	~<g‘Ýt.h
+ >
+ 
+ 631 #ifdeà
+ __USE_EXTERN_INLINES
+ 
+ 
+ 632 
+ 	~<b™s/¡dio.h
+ >
+ 
+ 635 
+ __END_DECLS
+ 
+ 
+ 	@/usr/include/stdlib.h
+ 
+ 23 #iâdef 
+ _STDLIB_H
+ 
+ 
+ 25 
+ 	~<ã©u»s.h
+ >
+ 
+ 28 
+ 	#__Ãed_size_t
+ 
+ 
+ 	)
+ 
+ 29 #iâdeà
+ __Ãed_m®loc_ªd_ÿÎoc
+ 
+ 
+ 30 
+ 	#__Ãed_wch¬_t
+ 
+ 
+ 	)
+ 
+ 31 
+ 	#__Ãed_NULL
+ 
+ 
+ 	)
+ 
+ 33 
+ 	~<¡ddef.h
+ >
+ 
+ 35 
+ 	g__BEGIN_DECLS
+ 
+ 
+ 37 #iâdeà
+ __Ãed_m®loc_ªd_ÿÎoc
+ 
+ 
+ 38 
+ 	#_STDLIB_H
+  1
+ 
+ 	)
+ 
+ 40 #ià
+ defšed
+  
+ __USE_XOPEN
+  && !defšed 
+ _SYS_WAIT_H
+ 
+ 
+ 42 
+ 	~<b™s/wa™æags.h
+ >
+ 
+ 43 
+ 	~<b™s/wa™¡©us.h
+ >
+ 
+ 45 #ifdeà
+ __USE_BSD
+ 
+ 
+ 50 #ià
+ defšed
+  
+ __GNUC__
+  && !defšed 
+ __ýlu¥lus
+ 
+ 
+ 51 
+ 	#__WAIT_INT
+ (
+ ¡©us
+ ) \
+ 
+ 52 (
+ 	`__ex‹nsiÚ__
+  ({ uniÚ { 
+ 	`__ty³of
+ (
+ ¡©us
+ è
+ __š
+ ; 
+ __i
+ ; } 
+ __u
+ ; \
+ 
+ 53 
+ __u
+ .
+ __š
+  = (
+ ¡©us
+ ); __u.
+ __i
+ ; }))
+ 
+ 	)
+ 
+ 55 
+ 	#__WAIT_INT
+ (
+ ¡©us
+ è(*(*è&(¡©us))
+ 
+ 	)
+ 
+ 63 #ià!
+ defšed
+  
+ __GNUC__
+  || __GNUC__ < 2 || defšed 
+ __ýlu¥lus
+ 
+ 
+ 64 
+ 	#__WAIT_STATUS
+  *
+ 
+ 	)
+ 
+ 65 
+ 	#__WAIT_STATUS_DEFN
+  *
+ 
+ 	)
+ 
+ 70 
+ wa™
+  *
+ 	m__u±r
+ ;
+ 
+ 71 *
+ 	m__Œ
+ ;
+ 
+ 72 } 
+ 	t__WAIT_STATUS
+  
+ 	t__©Œibu‹__
+  ((
+ 	t__Œª¥¬’t_uniÚ__
+ ));
+ 
+ 73 
+ 	#__WAIT_STATUS_DEFN
+  *
+ 
+ 	)
+ 
+ 78 
+ 	#__WAIT_INT
+ (
+ ¡©us
+ è(¡©us)
+ 
+ 	)
+ 
+ 79 
+ 	#__WAIT_STATUS
+  *
+ 
+ 	)
+ 
+ 80 
+ 	#__WAIT_STATUS_DEFN
+  *
+ 
+ 	)
+ 
+ 85 
+ 	#WEXITSTATUS
+ (
+ ¡©us
+ è
+ 	`__WEXITSTATUS
+ (
+ 	`__WAIT_INT
+ (¡©us))
+ 
+ 	)
+ 
+ 86 
+ 	#WTERMSIG
+ (
+ ¡©us
+ è
+ 	`__WTERMSIG
+ (
+ 	`__WAIT_INT
+ (¡©us))
+ 
+ 	)
+ 
+ 87 
+ 	#WSTOPSIG
+ (
+ ¡©us
+ è
+ 	`__WSTOPSIG
+ (
+ 	`__WAIT_INT
+ (¡©us))
+ 
+ 	)
+ 
+ 88 
+ 	#WIFEXITED
+ (
+ ¡©us
+ è
+ 	`__WIFEXITED
+ (
+ 	`__WAIT_INT
+ (¡©us))
+ 
+ 	)
+ 
+ 89 
+ 	#WIFSIGNALED
+ (
+ ¡©us
+ è
+ 	`__WIFSIGNALED
+ (
+ 	`__WAIT_INT
+ (¡©us))
+ 
+ 	)
+ 
+ 90 
+ 	#WIFSTOPPED
+ (
+ ¡©us
+ è
+ 	`__WIFSTOPPED
+ (
+ 	`__WAIT_INT
+ (¡©us))
+ 
+ 	)
+ 
+ 96 
+ 	mquÙ
+ ;
+ 
+ 97 
+ 	m»m
+ ;
+ 
+ 98 } 
+ 	tdiv_t
+ ;
+ 
+ 101 #iâdeà
+ __ldiv_t_defšed
+ 
+ 
+ 104 
+ 	mquÙ
+ ;
+ 
+ 105 
+ 	m»m
+ ;
+ 
+ 106 } 
+ 	tldiv_t
+ ;
+ 
+ 107 
+ 	#__ldiv_t_defšed
+  1
+ 
+ 	)
+ 
+ 110 #ià
+ defšed
+  
+ __USE_ISOC99
+  && !defšed 
+ __Îdiv_t_defšed
+ 
+ 
+ 112 
+ __ex‹nsiÚ__
+  struct
+ 
+ 114 
+ 	mquÙ
+ ;
+ 
+ 115 
+ 	m»m
+ ;
+ 
+ 116 } 
+ 	tÎdiv_t
+ ;
+ 
+ 117 
+ 	#__Îdiv_t_defšed
+  1
+ 
+ 	)
+ 
+ 122 
+ 	#RAND_MAX
+  2147483647
+ 
+ 	)
+ 
+ 127 
+ 	#EXIT_FAILURE
+  1
+ 
+ 	)
+ 
+ 128 
+ 	#EXIT_SUCCESS
+  0
+ 
+ 	)
+ 
+ 132 
+ 	#MB_CUR_MAX
+  (
+ 	`__ùy³_g‘_mb_cur_max
+  ())
+ 
+ 	)
+ 
+ 133 
+ size_t
+  
+ 	$__ùy³_g‘_mb_cur_max
+  (è
+ __THROW
+ ;
+ 
+ 137 

+ 	$©of
+  (
+ __cڡ
+  *
+ __Ō
+ è
+ __THROW
+  
+ __©Œibu‹_pu»__
+ ;
+ 
+ 139 

+ 	$©oi
+  (
+ __cڡ
+  *
+ __Ō
+ è
+ __THROW
+  
+ __©Œibu‹_pu»__
+ ;
+ 
+ 141 

+ 	$©Þ
+  (
+ __cڡ
+  *
+ __Ō
+ è
+ __THROW
+  
+ __©Œibu‹_pu»__
+ ;
+ 
+ 143 #ià
+ defšed
+  
+ __USE_ISOC99
+  || (defšed 
+ __GLIBC_HAVE_LONG_LONG
+  && defšed 
+ __USE_MISC
+ )
+ 
+ 145 
+ __ex‹nsiÚ__
+  

+ 	$©Þl
+  (
+ __cڡ
+  *
+ __Ō
+ )
+ 
+ 146 
+ __THROW
+  
+ __©Œibu‹_pu»__
+ ;
+ 
+ 150 

+ 	$¡¹od
+  (
+ __cڡ
+  *
+ __»¡riù
+  
+ __Ō
+ ,
+ 
+ 151 **
+ __»¡riù
+  
+ __’d±r
+ è
+ __THROW
+ ;
+ 
+ 153 #ifdef 
+ __USE_ISOC99
+ 
+ 
+ 155 

+ 	$¡¹of
+  (
+ __cڡ
+  *
+ __»¡riù
+  
+ __Ō
+ ,
+ 
+ 156 **
+ __»¡riù
+  
+ __’d±r
+ è
+ __THROW
+ ;
+ 
+ 158 

+ 	$¡¹Þd
+  (
+ __cڡ
+  *
+ __»¡riù
+  
+ __Ō
+ ,
+ 
+ 159 **
+ __»¡riù
+  
+ __’d±r
+ è
+ __THROW
+ ;
+ 
+ 163 

+ 	$¡¹Þ
+  (
+ __cڡ
+  *
+ __»¡riù
+  
+ __Ō
+ ,
+ 
+ 164 **
+ __»¡riù
+  
+ __’d±r
+ , 
+ __ba£
+ è
+ __THROW
+ ;
+ 
+ 166 

+ 	$¡¹oul
+  (
+ __cڡ
+  *
+ __»¡riù
+  
+ __Ō
+ ,
+ 
+ 167 **
+ __»¡riù
+  
+ __’d±r
+ , 
+ __ba£
+ )
+ 
+ 168 
+ __THROW
+ ;
+ 
+ 170 #ià
+ defšed
+  
+ __GLIBC_HAVE_LONG_LONG
+  && defšed 
+ __USE_BSD
+ 
+ 
+ 172 
+ __ex‹nsiÚ__
+ 
+ 
+ 173 

+ 	$¡¹oq
+  (
+ __cڡ
+  *
+ __»¡riù
+  
+ __Ō
+ ,
+ 
+ 174 **
+ __»¡riù
+  
+ __’d±r
+ , 
+ __ba£
+ è
+ __THROW
+ ;
+ 
+ 176 
+ __ex‹nsiÚ__
+ 
+ 
+ 177 

+ 	$¡¹ouq
+  (
+ __cڡ
+  *
+ __»¡riù
+  
+ __Ō
+ ,
+ 
+ 178 **
+ __»¡riù
+  
+ __’d±r
+ , 
+ __ba£
+ )
+ 
+ 179 
+ __THROW
+ ;
+ 
+ 182 #ià
+ defšed
+  
+ __USE_ISOC99
+  || (defšed 
+ __GLIBC_HAVE_LONG_LONG
+  && defšed 
+ __USE_MISC
+ )
+ 
+ 186 
+ __ex‹nsiÚ__
+ 
+ 
+ 187 

+ 	$¡¹Þl
+  (
+ __cڡ
+  *
+ __»¡riù
+  
+ __Ō
+ ,
+ 
+ 188 **
+ __»¡riù
+  
+ __’d±r
+ , 
+ __ba£
+ è
+ __THROW
+ ;
+ 
+ 190 
+ __ex‹nsiÚ__
+ 
+ 
+ 191 

+ 	$¡¹ouÎ
+  (
+ __cڡ
+  *
+ __»¡riù
+  
+ __Ō
+ ,
+ 
+ 192 **
+ __»¡riù
+  
+ __’d±r
+ , 
+ __ba£
+ )
+ 
+ 193 
+ __THROW
+ ;
+ 
+ 197 #ifdeà
+ __USE_GNU
+ 
+ 
+ 211 
+ 	~<xloÿË.h
+ >
+ 
+ 215 

+ 	$__¡¹Þ_l
+  (
+ __cڡ
+  *
+ __»¡riù
+  
+ __Ō
+ ,
+ 
+ 216 **
+ __»¡riù
+  
+ __’d±r
+ , 
+ __ba£
+ ,
+ 
+ 217 
+ __loÿË_t
+  
+ __loc
+ è
+ __THROW
+ ;
+ 
+ 219 

+ 	$__¡¹oul_l
+  (
+ __cڡ
+  *
+ __»¡riù
+  
+ __Ō
+ ,
+ 
+ 220 **
+ __»¡riù
+  
+ __’d±r
+ ,
+ 
+ 221 
+ __ba£
+ , 
+ __loÿË_t
+  
+ __loc
+ è
+ __THROW
+ ;
+ 
+ 223 
+ __ex‹nsiÚ__
+ 
+ 
+ 224 

+ 	$__¡¹Þl_l
+  (
+ __cڡ
+  *
+ __»¡riù
+  
+ __Ō
+ ,
+ 
+ 225 **
+ __»¡riù
+  
+ __’d±r
+ , 
+ __ba£
+ ,
+ 
+ 226 
+ __loÿË_t
+  
+ __loc
+ è
+ __THROW
+ ;
+ 
+ 228 
+ __ex‹nsiÚ__
+ 
+ 
+ 229 

+ 	$__¡¹ouÎ_l
+  (
+ __cڡ
+  *
+ __»¡riù
+  
+ __Ō
+ ,
+ 
+ 230 **
+ __»¡riù
+  
+ __’d±r
+ ,
+ 
+ 231 
+ __ba£
+ , 
+ __loÿË_t
+  
+ __loc
+ )
+ 
+ 232 
+ __THROW
+ ;
+ 
+ 234 

+ 	$__¡¹od_l
+  (
+ __cڡ
+  *
+ __»¡riù
+  
+ __Ō
+ ,
+ 
+ 235 **
+ __»¡riù
+  
+ __’d±r
+ , 
+ __loÿË_t
+  
+ __loc
+ )
+ 
+ 236 
+ __THROW
+ ;
+ 
+ 238 

+ 	$__¡¹of_l
+  (
+ __cڡ
+  *
+ __»¡riù
+  
+ __Ō
+ ,
+ 
+ 239 **
+ __»¡riù
+  
+ __’d±r
+ , 
+ __loÿË_t
+  
+ __loc
+ è
+ __THROW
+ ;
+ 
+ 241 

+ 	$__¡¹Þd_l
+  (
+ __cڡ
+  *
+ __»¡riù
+  
+ __Ō
+ ,
+ 
+ 242 **
+ __»¡riù
+  
+ __’d±r
+ ,
+ 
+ 243 
+ __loÿË_t
+  
+ __loc
+ è
+ __THROW
+ ;
+ 
+ 250 

+ 	$__¡¹od_š‹º®
+  (
+ __cڡ
+  *
+ __»¡riù
+  
+ __Ō
+ ,
+ 
+ 251 **
+ __»¡riù
+  
+ __’d±r
+ , 
+ __group
+ )
+ 
+ 252 
+ __THROW
+ ;
+ 
+ 253 

+ 	$__¡¹of_š‹º®
+  (
+ __cڡ
+  *
+ __»¡riù
+  
+ __Ō
+ ,
+ 
+ 254 **
+ __»¡riù
+  
+ __’d±r
+ , 
+ __group
+ )
+ 
+ 255 
+ __THROW
+ ;
+ 
+ 256 

+ 	$__¡¹Þd_š‹º®
+  (
+ __cڡ
+  *
+ __»¡riù
+  
+ __Ō
+ ,
+ 
+ 257 **
+ __»¡riù
+  
+ __’d±r
+ ,
+ 
+ 258 
+ __group
+ è
+ __THROW
+ ;
+ 
+ 259 #iâdeà
+ __¡¹Þ_š‹º®_defšed
+ 
+ 
+ 260 

+ 	$__¡¹Þ_š‹º®
+  (
+ __cڡ
+  *
+ __»¡riù
+  
+ __Ō
+ ,
+ 
+ 261 **
+ __»¡riù
+  
+ __’d±r
+ ,
+ 
+ 262 
+ __ba£
+ , 
+ __group
+ è
+ __THROW
+ ;
+ 
+ 263 
+ 	#__¡¹Þ_š‹º®_defšed
+  1
+ 
+ 	)
+ 
+ 265 #iâdeà
+ __¡¹oul_š‹º®_defšed
+ 
+ 
+ 266 

+ 	$__¡¹oul_š‹º®
+  (
+ __cڡ
+  *
+ __»¡riù
+  
+ __Ō
+ ,
+ 
+ 267 **
+ __»¡riù
+  
+ __’d±r
+ ,
+ 
+ 268 
+ __ba£
+ , 
+ __group
+ è
+ __THROW
+ ;
+ 
+ 269 
+ 	#__¡¹oul_š‹º®_defšed
+  1
+ 
+ 	)
+ 
+ 271 #ià
+ defšed
+  
+ __GNUC__
+  || defšed 
+ __USE_ISOC99
+ 
+ 
+ 272 #iâdeà
+ __¡¹Þl_š‹º®_defšed
+ 
+ 
+ 273 
+ __ex‹nsiÚ__
+ 
+ 
+ 274 

+ 	$__¡¹Þl_š‹º®
+  (
+ __cڡ
+  *
+ __»¡riù
+  
+ __Ō
+ ,
+ 
+ 275 **
+ __»¡riù
+  
+ __’d±r
+ ,
+ 
+ 276 
+ __ba£
+ , 
+ __group
+ è
+ __THROW
+ ;
+ 
+ 277 
+ 	#__¡¹Þl_š‹º®_defšed
+  1
+ 
+ 	)
+ 
+ 279 #iâdeà
+ __¡¹ouÎ_š‹º®_defšed
+ 
+ 
+ 280 
+ __ex‹nsiÚ__
+ 
+ 
+ 281 

+ 	$__¡¹ouÎ_š‹º®
+  (
+ __cڡ
+  *
+ 
+ 282 
+ __»¡riù
+  
+ __Ō
+ ,
+ 
+ 283 **
+ __»¡riù
+  
+ __’d±r
+ ,
+ 
+ 284 
+ __ba£
+ , 
+ __group
+ )
+ 
+ 285 
+ __THROW
+ ;
+ 
+ 286 
+ 	#__¡¹ouÎ_š‹º®_defšed
+  1
+ 
+ 	)
+ 
+ 290 #ifdeà
+ __USE_EXTERN_INLINES
+ 
+ 
+ 293 
+ __šlše
+  
+ 
+ 294 
+ 	$¡¹od
+  (
+ __cڡ
+  *
+ __»¡riù
+  
+ __Ō
+ , **__»¡riù 
+ __’d±r
+ è
+ __THROW
+ 
+ 
+ 296  
+ 	`__¡¹od_š‹º®
+  (
+ __Ō
+ , 
+ __’d±r
+ , 0);
+ 
+ 297 
+ 	}
+ }
+ 
+ 298 
+ __šlše
+  
+ 
+ 299 
+ 	$¡¹Þ
+  (
+ __cڡ
+  *
+ __»¡riù
+  
+ __Ō
+ , **__»¡riù 
+ __’d±r
+ ,
+ 
+ 300 
+ __ba£
+ è
+ __THROW
+ 
+ 
+ 302  
+ 	`__¡¹Þ_š‹º®
+  (
+ __Ō
+ , 
+ __’d±r
+ , 
+ __ba£
+ , 0);
+ 
+ 303 
+ 	}
+ }
+ 
+ 304 
+ __šlše
+  
+ 
+ 305 
+ 	$¡¹oul
+  (
+ __cڡ
+  *
+ __»¡riù
+  
+ __Ō
+ , **__»¡riù 
+ __’d±r
+ ,
+ 
+ 306 
+ __ba£
+ è
+ __THROW
+ 
+ 
+ 308  
+ 	`__¡¹oul_š‹º®
+  (
+ __Ō
+ , 
+ __’d±r
+ , 
+ __ba£
+ , 0);
+ 
+ 309 
+ 	}
+ }
+ 
+ 311 #ifdeà
+ __USE_ISOC99
+ 
+ 
+ 312 
+ __šlše
+  
+ 
+ 313 
+ 	$¡¹of
+  (
+ __cڡ
+  *
+ __»¡riù
+  
+ __Ō
+ , **__»¡riù 
+ __’d±r
+ è
+ __THROW
+ 
+ 
+ 315  
+ 	`__¡¹of_š‹º®
+  (
+ __Ō
+ , 
+ __’d±r
+ , 0);
+ 
+ 316 
+ 	}
+ }
+ 
+ 317 
+ __šlše
+  
+ 
+ 318 
+ 	$¡¹Þd
+  (
+ __cڡ
+  *
+ __»¡riù
+  
+ __Ō
+ , **__»¡riù 
+ __’d±r
+ è
+ __THROW
+ 
+ 
+ 320  
+ 	`__¡¹Þd_š‹º®
+  (
+ __Ō
+ , 
+ __’d±r
+ , 0);
+ 
+ 321 
+ 	}
+ }
+ 
+ 324 #ifdeà
+ __USE_BSD
+ 
+ 
+ 325 
+ __ex‹nsiÚ__
+  
+ __šlše
+  
+ 
+ 326 
+ 	$¡¹oq
+  (
+ __cڡ
+  *
+ __»¡riù
+  
+ __Ō
+ , **__»¡riù 
+ __’d±r
+ ,
+ 
+ 327 
+ __ba£
+ è
+ __THROW
+ 
+ 
+ 329  
+ 	`__¡¹Þl_š‹º®
+  (
+ __Ō
+ , 
+ __’d±r
+ , 
+ __ba£
+ , 0);
+ 
+ 330 
+ 	}
+ }
+ 
+ 331 
+ __ex‹nsiÚ__
+  
+ __šlše
+  
+ 
+ 332 
+ 	$¡¹ouq
+  (
+ __cڡ
+  *
+ __»¡riù
+  
+ __Ō
+ , **__»¡riù 
+ __’d±r
+ ,
+ 
+ 333 
+ __ba£
+ è
+ __THROW
+ 
+ 
+ 335  
+ 	`__¡¹ouÎ_š‹º®
+  (
+ __Ō
+ , 
+ __’d±r
+ , 
+ __ba£
+ , 0);
+ 
+ 336 
+ 	}
+ }
+ 
+ 339 #ià
+ defšed
+  
+ __USE_MISC
+  || defšed 
+ __USE_ISOC99
+ 
+ 
+ 340 
+ __ex‹nsiÚ__
+  
+ __šlše
+  
+ 
+ 341 
+ 	$¡¹Þl
+  (
+ __cڡ
+  *
+ __»¡riù
+  
+ __Ō
+ , **__»¡riù 
+ __’d±r
+ ,
+ 
+ 342 
+ __ba£
+ è
+ __THROW
+ 
+ 
+ 344  
+ 	`__¡¹Þl_š‹º®
+  (
+ __Ō
+ , 
+ __’d±r
+ , 
+ __ba£
+ , 0);
+ 
+ 345 
+ 	}
+ }
+ 
+ 346 
+ __ex‹nsiÚ__
+  
+ __šlše
+  
+ 
+ 347 
+ 	$¡¹ouÎ
+  (
+ __cڡ
+  * 
+ __»¡riù
+  
+ __Ō
+ , **__»¡riù 
+ __’d±r
+ ,
+ 
+ 348 
+ __ba£
+ è
+ __THROW
+ 
+ 
+ 350  
+ 	`__¡¹ouÎ_š‹º®
+  (
+ __Ō
+ , 
+ __’d±r
+ , 
+ __ba£
+ , 0);
+ 
+ 351 
+ 	}
+ }
+ 
+ 354 
+ __šlše
+  
+ 
+ 355 
+ 	$©of
+  (
+ __cڡ
+  *
+ __Ō
+ è
+ __THROW
+ 
+ 
+ 357  
+ 	`¡¹od
+  (
+ __Ō
+ , (**è
+ NULL
+ );
+ 
+ 358 
+ 	}
+ }
+ 
+ 359 
+ __šlše
+  
+ 
+ 360 
+ 	$©oi
+  (
+ __cڡ
+  *
+ __Ō
+ è
+ __THROW
+ 
+ 
+ 362  (è
+ 	`¡¹Þ
+  (
+ __Ō
+ , (**è
+ NULL
+ , 10);
+ 
+ 363 
+ 	}
+ }
+ 
+ 364 
+ __šlše
+  
+ 
+ 365 
+ 	$©Þ
+  (
+ __cڡ
+  *
+ __Ō
+ è
+ __THROW
+ 
+ 
+ 367  
+ 	`¡¹Þ
+  (
+ __Ō
+ , (**è
+ NULL
+ , 10);
+ 
+ 368 
+ 	}
+ }
+ 
+ 370 #ià
+ defšed
+  
+ __USE_MISC
+  || defšed 
+ __USE_ISOC99
+ 
+ 
+ 371 
+ __ex‹nsiÚ__
+  
+ __šlše
+  
+ 
+ 372 
+ 	$©Þl
+  (
+ __cڡ
+  *
+ __Ō
+ è
+ __THROW
+ 
+ 
+ 374  
+ 	`¡¹Þl
+  (
+ __Ō
+ , (**è
+ NULL
+ , 10);
+ 
+ 375 
+ 	}
+ }
+ 
+ 380 #ià
+ defšed
+  
+ __USE_SVID
+  || defšed 
+ __USE_XOPEN_EXTENDED
+ 
+ 
+ 384 
*
+ 	$l64a
+  (
+ __n
+ è
+ __THROW
+ ;
+ 
+ 387 

+ 	$a64l
+  (
+ __cڡ
+  *
+ __s
+ è
+ __THROW
+  
+ __©Œibu‹_pu»__
+ ;
+ 
+ 390 
+ 	~<sys/ty³s.h
+ >
+ 
+ 397 

+ 	$¿ndom
+  (è
+ __THROW
+ ;
+ 
+ 400 

+ 	$¤ªdom
+  (
+ __£ed
+ è
+ __THROW
+ ;
+ 
+ 406 
*
+ 	$š™¡©e
+  (
+ __£ed
+ , *
+ __¡©ebuf
+ ,
+ 
+ 407 
+ size_t
+  
+ __¡©–’
+ è
+ __THROW
+ ;
+ 
+ 411 
*
+ 	$£t¡©e
+  (*
+ __¡©ebuf
+ è
+ __THROW
+ ;
+ 
+ 414 #ifdeà
+ __USE_MISC
+ 
+ 
+ 419 
+ 	s¿ndom_d©a
+ 
+ 
+ 421 
+ št32_t
+  *
+ åŒ
+ ;
+ 
+ 422 
+ št32_t
+  *
+ ½Œ
+ ;
+ 
+ 423 
+ št32_t
+  *
+ ¡©e
+ ;
+ 
+ 424 
+ ¿nd_ty³
+ ;
+ 
+ 425 
+ ¿nd_deg
+ ;
+ 
+ 426 
+ ¿nd_£p
+ ;
+ 
+ 427 
+ št32_t
+  *
+ ’d_±r
+ ;
+ 
+ 430 

+ 	$¿ndom_r
+  (
+ ¿ndom_d©a
+  *
+ __»¡riù
+  
+ __buf
+ ,
+ 
+ 431 
+ št32_t
+  *
+ __»¡riù
+  
+ __»suÉ
+ è
+ __THROW
+ ;
+ 
+ 433 

+ 	$¤ªdom_r
+  (
+ __£ed
+ , 
+ ¿ndom_d©a
+  *
+ __buf
+ è
+ __THROW
+ ;
+ 
+ 435 

+ 	$š™¡©e_r
+  (
+ __£ed
+ , *
+ __»¡riù
+  
+ __¡©ebuf
+ ,
+ 
+ 436 
+ size_t
+  
+ __¡©–’
+ ,
+ 
+ 437 
+ ¿ndom_d©a
+  *
+ __»¡riù
+  
+ __buf
+ è
+ __THROW
+ ;
+ 
+ 439 

+ 	$£t¡©e_r
+  (*
+ __»¡riù
+  
+ __¡©ebuf
+ ,
+ 
+ 440 
+ ¿ndom_d©a
+  *
+ __»¡riù
+  
+ __buf
+ è
+ __THROW
+ ;
+ 
+ 446 

+ 	$¿nd
+  (è
+ __THROW
+ ;
+ 
+ 448 

+ 	$¤ªd
+  (
+ __£ed
+ è
+ __THROW
+ ;
+ 
+ 450 #ifdeà
+ __USE_POSIX
+ 
+ 
+ 452 

+ 	$¿nd_r
+  (*
+ __£ed
+ è
+ __THROW
+ ;
+ 
+ 456 #ià
+ defšed
+  
+ __USE_SVID
+  || defšed 
+ __USE_XOPEN
+ 
+ 
+ 460 

+ 	$d¿nd48
+  (è
+ __THROW
+ ;
+ 
+ 461 

+ 	`ӻd48
+  (
+ __xsubi
+ [3]è
+ __THROW
+ ;
+ 
+ 464 

+ 	$̪d48
+  (è
+ __THROW
+ ;
+ 
+ 465 

+ 	`Īd48
+  (
+ __xsubi
+ [3]è
+ __THROW
+ ;
+ 
+ 468 

+ 	$m¿nd48
+  (è
+ __THROW
+ ;
+ 
+ 469 

+ 	`j¿nd48
+  (
+ __xsubi
+ [3]è
+ __THROW
+ ;
+ 
+ 472 

+ 	$¤ªd48
+  (
+ __£edv®
+ è
+ __THROW
+ ;
+ 
+ 473 
*
+ 	`£ed48
+  (
+ __£ed16v
+ [3]è
+ __THROW
+ ;
+ 
+ 474 

+ 	`lcÚg48
+  (
+ __·¿m
+ [7]è
+ __THROW
+ ;
+ 
+ 476 #ifdeà
+ __USE_MISC
+ 
+ 
+ 480 
+ 	sd¿nd48_d©a
+ 
+ 
+ 482 
+ __x
+ [3];
+ 
+ 483 
+ __Þd_x
+ [3];
+ 
+ 484 
+ __c
+ ;
+ 
+ 485 
+ __š™
+ ;
+ 
+ 486 
+ __a
+ ;
+ 
+ 490 

+ 	$d¿nd48_r
+  (
+ d¿nd48_d©a
+  *
+ __»¡riù
+  
+ __bufãr
+ ,
+ 
+ 491 *
+ __»¡riù
+  
+ __»suÉ
+ è
+ __THROW
+ ;
+ 
+ 492 

+ 	`ӻd48_r
+  (
+ __xsubi
+ [3],
+ 
+ 493 
+ d¿nd48_d©a
+  *
+ __»¡riù
+  
+ __bufãr
+ ,
+ 
+ 494 *
+ __»¡riù
+  
+ __»suÉ
+ è
+ __THROW
+ ;
+ 
+ 497 

+ 	$̪d48_r
+  (
+ d¿nd48_d©a
+  *
+ __»¡riù
+  
+ __bufãr
+ ,
+ 
+ 498 *
+ __»¡riù
+  
+ __»suÉ
+ è
+ __THROW
+ ;
+ 
+ 499 

+ 	`Īd48_r
+  (
+ __xsubi
+ [3],
+ 
+ 500 
+ d¿nd48_d©a
+  *
+ __»¡riù
+  
+ __bufãr
+ ,
+ 
+ 501 *
+ __»¡riù
+  
+ __»suÉ
+ è
+ __THROW
+ ;
+ 
+ 504 

+ 	$m¿nd48_r
+  (
+ d¿nd48_d©a
+  *
+ __»¡riù
+  
+ __bufãr
+ ,
+ 
+ 505 *
+ __»¡riù
+  
+ __»suÉ
+ è
+ __THROW
+ ;
+ 
+ 506 

+ 	`j¿nd48_r
+  (
+ __xsubi
+ [3],
+ 
+ 507 
+ d¿nd48_d©a
+  *
+ __»¡riù
+  
+ __bufãr
+ ,
+ 
+ 508 *
+ __»¡riù
+  
+ __»suÉ
+ è
+ __THROW
+ ;
+ 
+ 511 

+ 	$¤ªd48_r
+  (
+ __£edv®
+ , 
+ d¿nd48_d©a
+  *
+ __bufãr
+ )
+ 
+ 512 
+ __THROW
+ ;
+ 
+ 514 

+ 	`£ed48_r
+  (
+ __£ed16v
+ [3],
+ 
+ 515 
+ d¿nd48_d©a
+  *
+ __bufãr
+ è
+ __THROW
+ ;
+ 
+ 517 

+ 	`lcÚg48_r
+  (
+ __·¿m
+ [7],
+ 
+ 518 
+ d¿nd48_d©a
+  *
+ __bufãr
+ è
+ __THROW
+ ;
+ 
+ 524 #iâdeà
+ __m®loc_ªd_ÿÎoc_defšed
+ 
+ 
+ 525 
+ 	#__m®loc_ªd_ÿÎoc_defšed
+ 
+ 
+ 	)
+ 
+ 527 
*
+ 	$m®loc
+  (
+ size_t
+  
+ __size
+ è
+ __THROW
+  
+ __©Œibu‹_m®loc__
+ ;
+ 
+ 529 
*
+ 	$ÿÎoc
+  (
+ size_t
+  
+ __nmemb
+ , size_ˆ
+ __size
+ )
+ 
+ 530 
+ __THROW
+  
+ __©Œibu‹_m®loc__
+ ;
+ 
+ 533 #iâdeà
+ __Ãed_m®loc_ªd_ÿÎoc
+ 
+ 
+ 536 
*
+ 	$»®loc
+  (*
+ __±r
+ , 
+ size_t
+  
+ __size
+ è
+ __THROW
+  
+ __©Œibu‹_m®loc__
+ ;
+ 
+ 538 

+ 	$ä“
+  (*
+ __±r
+ è
+ __THROW
+ ;
+ 
+ 540 #ifdef 
+ __USE_MISC
+ 
+ 
+ 542 

+ 	$cä“
+  (*
+ __±r
+ è
+ __THROW
+ ;
+ 
+ 545 #ià
+ defšed
+  
+ __USE_GNU
+  || defšed 
+ __USE_BSD
+  || defšed 
+ __USE_MISC
+ 
+ 
+ 546 
+ 	~<®loÿ.h
+ >
+ 
+ 549 #ià
+ defšed
+  
+ __USE_BSD
+  || defšed 
+ __USE_XOPEN_EXTENDED
+ 
+ 
+ 551 
*
+ 	$v®loc
+  (
+ size_t
+  
+ __size
+ è
+ __THROW
+  
+ __©Œibu‹_m®loc__
+ ;
+ 
+ 554 #ifdeà
+ __USE_XOPEN2K
+ 
+ 
+ 556 

+ 	$posix_mem®ign
+  (**
+ __mem±r
+ , 
+ size_t
+  
+ __®ignm’t
+ , size_ˆ
+ __size
+ )
+ 
+ 557 
+ __THROW
+  
+ __©Œibu‹_m®loc__
+ ;
+ 
+ 561 

+ 	$abÜt
+  (è
+ __THROW
+  
+ 	`__©Œibu‹__
+  ((
+ __nÜ‘uº__
+ ));
+ 
+ 565 

+ 	`©ex™
+  ((*
+ __func
+ è()è
+ __THROW
+ ;
+ 
+ 567 #ifdef 
+ __USE_MISC
+ 
+ 
+ 570 

+ 	`Ú_ex™
+  ((*
+ __func
+ è(
+ __¡©us
+ , *
+ __¬g
+ ), *__arg)
+ 
+ 571 
+ __THROW
+ ;
+ 
+ 577 

+ 	$ex™
+  (
+ __¡©us
+ è
+ __THROW
+  
+ 	`__©Œibu‹__
+  ((
+ __nÜ‘uº__
+ ));
+ 
+ 579 #ifdeà
+ __USE_ISOC99
+ 
+ 
+ 582 

+ 	$_Ex™
+  (
+ __¡©us
+ è
+ __THROW
+  
+ 	`__©Œibu‹__
+  ((
+ __nÜ‘uº__
+ ));
+ 
+ 587 
*
+ 	$g‘’v
+  (
+ __cڡ
+  *
+ __Çme
+ è
+ __THROW
+ ;
+ 
+ 591 
*
+ 	$__£cu»_g‘’v
+  (
+ __cڡ
+  *
+ __Çme
+ è
+ __THROW
+ ;
+ 
+ 593 #ià
+ defšed
+  
+ __USE_SVID
+  || defšed 
+ __USE_XOPEN
+ 
+ 
+ 597 

+ 	$pu‹nv
+  (*
+ __¡ršg
+ è
+ __THROW
+ ;
+ 
+ 600 #ià
+ defšed
+  
+ __USE_BSD
+  || defšed 
+ __USE_XOPEN2K
+ 
+ 
+ 603 

+ 	$£‹nv
+  (
+ __cڡ
+  *
+ __Çme
+ , __cڡ *
+ __v®ue
+ , 
+ __»¶aû
+ )
+ 
+ 604 
+ __THROW
+ ;
+ 
+ 607 

+ 	$un£‹nv
+  (
+ __cڡ
+  *
+ __Çme
+ è
+ __THROW
+ ;
+ 
+ 610 #ifdef 
+ __USE_MISC
+ 
+ 
+ 614 

+ 	$þ—»nv
+  (è
+ __THROW
+ ;
+ 
+ 618 #ià
+ defšed
+  
+ __USE_MISC
+  || defšed 
+ __USE_XOPEN_EXTENDED
+ 
+ 
+ 623 
*
+ 	$mk‹mp
+  (*
+ __‹m¶©e
+ è
+ __THROW
+ ;
+ 
+ 630 #iâdeà
+ __USE_FILE_OFFSET64
+ 
+ 
+ 631 

+ 	$mk¡emp
+  (*
+ __‹m¶©e
+ è
+ __THROW
+ ;
+ 
+ 633 #ifdeà
+ __REDIRECT
+ 
+ 
+ 634 

+ 	`__REDIRECT
+  (
+ mk¡emp
+ , (*
+ __‹m¶©e
+ è
+ __THROW
+ , 
+ mk¡emp64
+ );
+ 
+ 636 
+ 	#mk¡emp
+  
+ mk¡emp64
+ 
+ 
+ 	)
+ 
+ 639 #ifdeà
+ __USE_LARGEFILE64
+ 
+ 
+ 640 

+ 	$mk¡emp64
+  (*
+ __‹m¶©e
+ è
+ __THROW
+ ;
+ 
+ 644 #ifdeà
+ __USE_BSD
+ 
+ 
+ 650 
*
+ 	$mkd‹mp
+  (*
+ __‹m¶©e
+ è
+ __THROW
+ ;
+ 
+ 655 

+ 	$sy¡em
+  (
+ __cڡ
+  *
+ __commªd
+ è
+ __THROW
+ ;
+ 
+ 658 #ifdef 
+ __USE_GNU
+ 
+ 
+ 662 
*
+ 	$ÿnÚiÿlize_fže_Çme
+  (
+ __cڡ
+  *
+ __Çme
+ è
+ __THROW
+ ;
+ 
+ 665 #ià
+ defšed
+  
+ __USE_BSD
+  || defšed 
+ __USE_XOPEN_EXTENDED
+ 
+ 
+ 672 
*
+ 	$»®·th
+  (
+ __cڡ
+  *
+ __»¡riù
+  
+ __Çme
+ ,
+ 
+ 673 *
+ __»¡riù
+  
+ __»sÞved
+ è
+ __THROW
+ ;
+ 
+ 678 #iâdeà
+ __COMPAR_FN_T
+ 
+ 
+ 679 
+ 	#__COMPAR_FN_T
+ 
+ 
+ 	)
+ 
+ 680 (*
+ 	t__com·r_â_t
+ è(
+ 	t__cڡ
+  *, __const *);
+ 
+ 682 #ifdef 
+ __USE_GNU
+ 
+ 
+ 683 
+ __com·r_â_t
+  
+ 	tcom·risÚ_â_t
+ ;
+ 
+ 689 
*
+ 	`b£¬ch
+  (
+ __cڡ
+  *
+ __key
+ , __cڡ *
+ __ba£
+ ,
+ 
+ 690 
+ size_t
+  
+ __nmemb
+ , size_ˆ
+ __size
+ , 
+ __com·r_â_t
+  
+ __com·r
+ );
+ 
+ 694 

+ 	`qsÜt
+  (*
+ __ba£
+ , 
+ size_t
+  
+ __nmemb
+ , size_ˆ
+ __size
+ ,
+ 
+ 695 
+ __com·r_â_t
+  
+ __com·r
+ );
+ 
+ 699 

+ 	$abs
+  (
+ __x
+ è
+ __THROW
+  
+ 	`__©Œibu‹__
+  ((
+ __cڡ__
+ ));
+ 
+ 700 

+ 	$Ïbs
+  (
+ __x
+ è
+ __THROW
+  
+ 	`__©Œibu‹__
+  ((
+ __cڡ__
+ ));
+ 
+ 701 #ifdeà
+ __USE_ISOC99
+ 
+ 
+ 702 
+ __ex‹nsiÚ__
+  

+ 	$Îabs
+  (
+ __x
+ )
+ 
+ 703 
+ __THROW
+  
+ 	`__©Œibu‹__
+  ((
+ __cڡ__
+ ));
+ 
+ 710 
+ div_t
+  
+ 	$div
+  (
+ __num”
+ , 
+ __d’om
+ )
+ 
+ 711 
+ __THROW
+  
+ 	`__©Œibu‹__
+  ((
+ __cڡ__
+ ));
+ 
+ 712 
+ ldiv_t
+  
+ 	$ldiv
+  (
+ __num”
+ , 
+ __d’om
+ )
+ 
+ 713 
+ __THROW
+  
+ 	`__©Œibu‹__
+  ((
+ __cڡ__
+ ));
+ 
+ 714 #ifdeà
+ __USE_ISOC99
+ 
+ 
+ 715 
+ __ex‹nsiÚ__
+  
+ Îdiv_t
+  
+ 	$Îdiv
+  (
+ __num”
+ ,
+ 
+ 716 
+ __d’om
+ )
+ 
+ 717 
+ __THROW
+  
+ 	`__©Œibu‹__
+  ((
+ __cڡ__
+ ));
+ 
+ 721 #ià
+ defšed
+  
+ __USE_SVID
+  || defšed 
+ __USE_XOPEN_EXTENDED
+ 
+ 
+ 728 
*
+ 	$ecvt
+  (
+ __v®ue
+ , 
+ __ndig™
+ , *
+ __»¡riù
+  
+ __deýt
+ ,
+ 
+ 729 *
+ __»¡riù
+  
+ __sign
+ è
+ __THROW
+ ;
+ 
+ 734 
*
+ 	$fcvt
+  (
+ __v®ue
+ , 
+ __ndig™
+ , *
+ __»¡riù
+  
+ __deýt
+ ,
+ 
+ 735 *
+ __»¡riù
+  
+ __sign
+ è
+ __THROW
+ ;
+ 
+ 740 
*
+ 	$gcvt
+  (
+ __v®ue
+ , 
+ __ndig™
+ , *
+ __buf
+ è
+ __THROW
+ ;
+ 
+ 743 #ifdeà
+ __USE_MISC
+ 
+ 
+ 745 
*
+ 	$qecvt
+  (
+ __v®ue
+ , 
+ __ndig™
+ ,
+ 
+ 746 *
+ __»¡riù
+  
+ __deýt
+ , *__»¡riù 
+ __sign
+ è
+ __THROW
+ ;
+ 
+ 747 
*
+ 	$qfcvt
+  (
+ __v®ue
+ , 
+ __ndig™
+ ,
+ 
+ 748 *
+ __»¡riù
+  
+ __deýt
+ , *__»¡riù 
+ __sign
+ è
+ __THROW
+ ;
+ 
+ 749 
*
+ 	$qgcvt
+  (
+ __v®ue
+ , 
+ __ndig™
+ , *
+ __buf
+ è
+ __THROW
+ ;
+ 
+ 754 

+ 	$ecvt_r
+  (
+ __v®ue
+ , 
+ __ndig™
+ , *
+ __»¡riù
+  
+ __deýt
+ ,
+ 
+ 755 *
+ __»¡riù
+  
+ __sign
+ , *__»¡riù 
+ __buf
+ ,
+ 
+ 756 
+ size_t
+  
+ __Ën
+ è
+ __THROW
+ ;
+ 
+ 757 

+ 	$fcvt_r
+  (
+ __v®ue
+ , 
+ __ndig™
+ , *
+ __»¡riù
+  
+ __deýt
+ ,
+ 
+ 758 *
+ __»¡riù
+  
+ __sign
+ , *__»¡riù 
+ __buf
+ ,
+ 
+ 759 
+ size_t
+  
+ __Ën
+ è
+ __THROW
+ ;
+ 
+ 761 

+ 	$qecvt_r
+  (
+ __v®ue
+ , 
+ __ndig™
+ ,
+ 
+ 762 *
+ __»¡riù
+  
+ __deýt
+ , *__»¡riù 
+ __sign
+ ,
+ 
+ 763 *
+ __»¡riù
+  
+ __buf
+ , 
+ size_t
+  
+ __Ën
+ è
+ __THROW
+ ;
+ 
+ 764 

+ 	$qfcvt_r
+  (
+ __v®ue
+ , 
+ __ndig™
+ ,
+ 
+ 765 *
+ __»¡riù
+  
+ __deýt
+ , *__»¡riù 
+ __sign
+ ,
+ 
+ 766 *
+ __»¡riù
+  
+ __buf
+ , 
+ size_t
+  
+ __Ën
+ è
+ __THROW
+ ;
+ 
+ 773 

+ 	$mbËn
+  (
+ __cڡ
+  *
+ __s
+ , 
+ size_t
+  
+ __n
+ è
+ __THROW
+ ;
+ 
+ 776 

+ 	$mbtowc
+  (
+ wch¬_t
+  *
+ __»¡riù
+  
+ __pwc
+ ,
+ 
+ 777 
+ __cڡ
+  *
+ __»¡riù
+  
+ __s
+ , 
+ size_t
+  
+ __n
+ è
+ __THROW
+ ;
+ 
+ 780 

+ 	$wùomb
+  (*
+ __s
+ , 
+ wch¬_t
+  
+ __wch¬
+ è
+ __THROW
+ ;
+ 
+ 784 
+ size_t
+  
+ 	$mb¡owcs
+  (
+ wch¬_t
+  *
+ __»¡riù
+  
+ __pwcs
+ ,
+ 
+ 785 
+ __cڡ
+  *
+ __»¡riù
+  
+ __s
+ , 
+ size_t
+  
+ __n
+ è
+ __THROW
+ ;
+ 
+ 787 
+ size_t
+  
+ 	$wc¡ombs
+  (*
+ __»¡riù
+  
+ __s
+ ,
+ 
+ 788 
+ __cڡ
+  
+ wch¬_t
+  *
+ __»¡riù
+  
+ __pwcs
+ , 
+ size_t
+  
+ __n
+ )
+ 
+ 789 
+ __THROW
+ ;
+ 
+ 792 #ifdeà
+ __USE_SVID
+ 
+ 
+ 797 

+ 	$½m©ch
+  (
+ __cڡ
+  *
+ __»¥Ú£
+ è
+ __THROW
+ ;
+ 
+ 801 #ifdeà
+ __USE_XOPEN_EXTENDED
+ 
+ 
+ 808 

+ 	$g‘subÝt
+  (**
+ __»¡riù
+  
+ __ÝtiÚp
+ ,
+ 
+ 809 *
+ __cڡ
+  *
+ __»¡riù
+  
+ __tok’s
+ ,
+ 
+ 810 **
+ __»¡riù
+  
+ __v®u•
+ è
+ __THROW
+ ;
+ 
+ 814 #ifdeà
+ __USE_XOPEN
+ 
+ 
+ 816 

+ 	$£tkey
+  (
+ __cڡ
+  *
+ __key
+ è
+ __THROW
+ ;
+ 
+ 822 #ifdeà
+ __USE_XOPEN2K
+ 
+ 
+ 824 

+ 	$posix_Ý’±
+  (
+ __oæag
+ è
+ __THROW
+ ;
+ 
+ 827 #ifdeà
+ __USE_XOPEN
+ 
+ 
+ 832 

+ 	$g¿Á±
+  (
+ __fd
+ è
+ __THROW
+ ;
+ 
+ 836 

+ 	$uÆock±
+  (
+ __fd
+ è
+ __THROW
+ ;
+ 
+ 841 
*
+ 	$±¢ame
+  (
+ __fd
+ è
+ __THROW
+ ;
+ 
+ 844 #ifdeà
+ __USE_GNU
+ 
+ 
+ 848 

+ 	$±¢ame_r
+  (
+ __fd
+ , *
+ __buf
+ , 
+ size_t
+  
+ __buæ’
+ è
+ __THROW
+ ;
+ 
+ 851 

+ 	$g‘±
+  (è
+ __THROW
+ ;
+ 
+ 854 #ifdeà
+ __USE_BSD
+ 
+ 
+ 858 

+ 	$g‘lßdavg
+  (
+ __lßdavg
+ [], 
+ __ÃËm
+ è
+ __THROW
+ ;
+ 
+ 862 #undeà
+ __Ãed_m®loc_ªd_ÿÎoc
+ 
+ 
+ 864 
+ __END_DECLS
+ 
+ 
+ 	@/usr/include/string.h
+ 
+ 23 #iâdef 
+ _STRING_H
+ 
+ 
+ 24 
+ 	#_STRING_H
+  1
+ 
+ 	)
+ 
+ 26 
+ 	~<ã©u»s.h
+ >
+ 
+ 28 
+ 	g__BEGIN_DECLS
+ 
+ 
+ 31 
+ 	#__Ãed_size_t
+ 
+ 
+ 	)
+ 
+ 32 
+ 	#__Ãed_NULL
+ 
+ 
+ 	)
+ 
+ 33 
+ 	~<¡ddef.h
+ >
+ 
+ 37 
*
+ 	$memýy
+  (*
+ __»¡riù
+  
+ __de¡
+ ,
+ 
+ 38 
+ __cڡ
+  *
+ __»¡riù
+  
+ __¤c
+ , 
+ size_t
+  
+ __n
+ è
+ __THROW
+ ;
+ 
+ 41 
*
+ 	$memmove
+  (*
+ __de¡
+ , 
+ __cڡ
+  *
+ __¤c
+ , 
+ size_t
+  
+ __n
+ )
+ 
+ 42 
+ __THROW
+ ;
+ 
+ 47 #ià
+ defšed
+  
+ __USE_SVID
+  || defšed 
+ __USE_BSD
+  || defšed 
+ __USE_XOPEN
+ 
+ 
+ 48 
*
+ 	$memcýy
+  (*
+ __»¡riù
+  
+ __de¡
+ , 
+ __cڡ
+  *__»¡riù 
+ __¤c
+ ,
+ 
+ 49 
+ __c
+ , 
+ size_t
+  
+ __n
+ )
+ 
+ 50 
+ __THROW
+ ;
+ 
+ 55 
*
+ 	$mem£t
+  (*
+ __s
+ , 
+ __c
+ , 
+ size_t
+  
+ __n
+ è
+ __THROW
+ ;
+ 
+ 58 

+ 	$memcmp
+  (
+ __cڡ
+  *
+ __s1
+ , __cڡ *
+ __s2
+ , 
+ size_t
+  
+ __n
+ )
+ 
+ 59 
+ __THROW
+  
+ __©Œibu‹_pu»__
+ ;
+ 
+ 62 
*
+ 	$memchr
+  (
+ __cڡ
+  *
+ __s
+ , 
+ __c
+ , 
+ size_t
+  
+ __n
+ )
+ 
+ 63 
+ __THROW
+  
+ __©Œibu‹_pu»__
+ ;
+ 
+ 65 #ifdeà
+ __USE_GNU
+ 
+ 
+ 68 
*
+ 	$¿wmemchr
+  (
+ __cڡ
+  *
+ __s
+ , 
+ __c
+ è
+ __THROW
+  
+ __©Œibu‹_pu»__
+ ;
+ 
+ 71 
*
+ 	$memrchr
+  (
+ __cڡ
+  *
+ __s
+ , 
+ __c
+ , 
+ size_t
+  
+ __n
+ )
+ 
+ 72 
+ __THROW
+  
+ __©Œibu‹_pu»__
+ ;
+ 
+ 77 
*
+ 	$¡rýy
+  (*
+ __»¡riù
+  
+ __de¡
+ , 
+ __cڡ
+  *__»¡riù 
+ __¤c
+ )
+ 
+ 78 
+ __THROW
+ ;
+ 
+ 80 
*
+ 	$¡ºýy
+  (*
+ __»¡riù
+  
+ __de¡
+ ,
+ 
+ 81 
+ __cڡ
+  *
+ __»¡riù
+  
+ __¤c
+ , 
+ size_t
+  
+ __n
+ è
+ __THROW
+ ;
+ 
+ 84 
*
+ 	$¡rÿt
+  (*
+ __»¡riù
+  
+ __de¡
+ , 
+ __cڡ
+  *__»¡riù 
+ __¤c
+ )
+ 
+ 85 
+ __THROW
+ ;
+ 
+ 87 
*
+ 	$¡ºÿt
+  (*
+ __»¡riù
+  
+ __de¡
+ , 
+ __cڡ
+  *__»¡riù 
+ __¤c
+ ,
+ 
+ 88 
+ size_t
+  
+ __n
+ è
+ __THROW
+ ;
+ 
+ 91 

+ 	$¡rcmp
+  (
+ __cڡ
+  *
+ __s1
+ , __cڡ *
+ __s2
+ )
+ 
+ 92 
+ __THROW
+  
+ __©Œibu‹_pu»__
+ ;
+ 
+ 94 

+ 	$¡ºcmp
+  (
+ __cڡ
+  *
+ __s1
+ , __cڡ *
+ __s2
+ , 
+ size_t
+  
+ __n
+ )
+ 
+ 95 
+ __THROW
+  
+ __©Œibu‹_pu»__
+ ;
+ 
+ 98 

+ 	$¡rcÞl
+  (
+ __cڡ
+  *
+ __s1
+ , __cڡ *
+ __s2
+ )
+ 
+ 99 
+ __THROW
+  
+ __©Œibu‹_pu»__
+ ;
+ 
+ 101 
+ size_t
+  
+ 	$¡rxäm
+  (*
+ __»¡riù
+  
+ __de¡
+ ,
+ 
+ 102 
+ __cڡ
+  *
+ __»¡riù
+  
+ __¤c
+ , 
+ size_t
+  
+ __n
+ è
+ __THROW
+ ;
+ 
+ 104 #ifdeà
+ __USE_GNU
+ 
+ 
+ 108 
+ 	~<xloÿË.h
+ >
+ 
+ 111 

+ 	$__¡rcÞl_l
+  (
+ __cڡ
+  *
+ __s1
+ , __cڡ *
+ __s2
+ , 
+ __loÿË_t
+  
+ __l
+ )
+ 
+ 112 
+ __THROW
+  
+ __©Œibu‹_pu»__
+ ;
+ 
+ 114 
+ size_t
+  
+ 	$__¡rxäm_l
+  (*
+ __de¡
+ , 
+ __cڡ
+  *
+ __¤c
+ , 
+ size_t
+  
+ __n
+ ,
+ 
+ 115 
+ __loÿË_t
+  
+ __l
+ è
+ __THROW
+ ;
+ 
+ 118 #ià
+ defšed
+  
+ __USE_SVID
+  || defšed 
+ __USE_BSD
+  || defšed 
+ __USE_XOPEN_EXTENDED
+ 
+ 
+ 120 
*
+ 	$¡rdup
+  (
+ __cڡ
+  *
+ __s
+ è
+ __THROW
+  
+ __©Œibu‹_m®loc__
+ ;
+ 
+ 126 #ià
+ defšed
+  
+ __USE_GNU
+ 
+ 
+ 127 
*
+ 	$¡ºdup
+  (
+ __cڡ
+  *
+ __¡ršg
+ , 
+ size_t
+  
+ __n
+ )
+ 
+ 128 
+ __THROW
+  
+ __©Œibu‹_m®loc__
+ ;
+ 
+ 131 #ià
+ defšed
+  
+ __USE_GNU
+  && defšed 
+ __GNUC__
+ 
+ 
+ 133 
+ 	#¡rdu·
+ (
+ s
+ ) \
+ 
+ 134 (
+ __ex‹nsiÚ__
+  \
+ 
+ 136 
+ __cڡ
+  *
+ __Þd
+  = (
+ s
+ ); \
+ 
+ 137 
+ size_t
+  
+ __Ën
+  = 
+ 	`¡¾’
+  (
+ __Þd
+ ) + 1; \
+ 
+ 138 *
+ __Ãw
+  = (*è
+ 	`__bužtš_®loÿ
+  (
+ __Ën
+ ); \
+ 
+ 139 (*è
+ 	`memýy
+  (
+ __Ãw
+ , 
+ __Þd
+ , 
+ __Ën
+ ); \
+ 
+ 140 
+ 	}
+ }))
+ 
+ 	)
+ 
+ 143 
+ 	#¡ºdu·
+ (
+ s
+ , 
+ n
+ ) \
+ 
+ 144 (
+ __ex‹nsiÚ__
+  \
+ 
+ 146 
+ __cڡ
+  *
+ __Þd
+  = (
+ s
+ ); \
+ 
+ 147 
+ size_t
+  
+ __Ën
+  = 
+ 	`¡ºËn
+  (
+ __Þd
+ , (
+ n
+ )); \
+ 
+ 148 *
+ __Ãw
+  = (*è
+ 	`__bužtš_®loÿ
+  (
+ __Ën
+  + 1); \
+ 
+ 149 
+ __Ãw
+ [
+ __Ën
+ ] = '\0'; \
+ 
+ 150 (*è
+ 	`memýy
+  (
+ __Ãw
+ , 
+ __Þd
+ , 
+ __Ën
+ ); \
+ 
+ 151 }))
+ 
+ 	)
+ 
+ 155 
*
+ 	$¡rchr
+  (
+ __cڡ
+  *
+ __s
+ , 
+ __c
+ è
+ __THROW
+  
+ __©Œibu‹_pu»__
+ ;
+ 
+ 157 
*
+ 	$¡¼chr
+  (
+ __cڡ
+  *
+ __s
+ , 
+ __c
+ è
+ __THROW
+  
+ __©Œibu‹_pu»__
+ ;
+ 
+ 159 #ifdeà
+ __USE_GNU
+ 
+ 
+ 162 
*
+ 	$¡rchºul
+  (
+ __cڡ
+  *
+ __s
+ , 
+ __c
+ è
+ __THROW
+  
+ __©Œibu‹_pu»__
+ ;
+ 
+ 167 
+ size_t
+  
+ 	$¡rc¥n
+  (
+ __cڡ
+  *
+ __s
+ , __cڡ *
+ __»jeù
+ )
+ 
+ 168 
+ __THROW
+  
+ __©Œibu‹_pu»__
+ ;
+ 
+ 171 
+ size_t
+  
+ 	$¡r¥n
+  (
+ __cڡ
+  *
+ __s
+ , __cڡ *
+ __acû±
+ )
+ 
+ 172 
+ __THROW
+  
+ __©Œibu‹_pu»__
+ ;
+ 
+ 174 
*
+ 	$¡½brk
+  (
+ __cڡ
+  *
+ __s
+ , __cڡ *
+ __acû±
+ )
+ 
+ 175 
+ __THROW
+  
+ __©Œibu‹_pu»__
+ ;
+ 
+ 177 
*
+ 	$¡r¡r
+  (
+ __cڡ
+  *
+ __hay¡ack
+ , __cڡ *
+ __ÃedË
+ )
+ 
+ 178 
+ __THROW
+  
+ __©Œibu‹_pu»__
+ ;
+ 
+ 180 #ifdeà
+ __USE_GNU
+ 
+ 
+ 182 
*
+ 	$¡rÿ£¡r
+  (
+ __cڡ
+  *
+ __hay¡ack
+ , __cڡ *
+ __ÃedË
+ )
+ 
+ 183 
+ __THROW
+  
+ __©Œibu‹_pu»__
+ ;
+ 
+ 187 
*
+ 	$¡¹ok
+  (*
+ __»¡riù
+  
+ __s
+ , 
+ __cڡ
+  *__»¡riù 
+ __d–im
+ )
+ 
+ 188 
+ __THROW
+ ;
+ 
+ 192 
*
+ 	$__¡¹ok_r
+  (*
+ __»¡riù
+  
+ __s
+ ,
+ 
+ 193 
+ __cڡ
+  *
+ __»¡riù
+  
+ __d–im
+ ,
+ 
+ 194 **
+ __»¡riù
+  
+ __§ve_±r
+ è
+ __THROW
+ ;
+ 
+ 195 #ià
+ defšed
+  
+ __USE_POSIX
+  || defšed 
+ __USE_MISC
+ 
+ 
+ 196 
*
+ 	$¡¹ok_r
+  (*
+ __»¡riù
+  
+ __s
+ , 
+ __cڡ
+  *__»¡riù 
+ __d–im
+ ,
+ 
+ 197 **
+ __»¡riù
+  
+ __§ve_±r
+ è
+ __THROW
+ ;
+ 
+ 200 #ifdeà
+ __USE_GNU
+ 
+ 
+ 204 
*
+ 	$memmem
+  (
+ __cڡ
+  *
+ __hay¡ack
+ , 
+ size_t
+  
+ __hay¡ackËn
+ ,
+ 
+ 205 
+ __cڡ
+  *
+ __ÃedË
+ , 
+ size_t
+  
+ __ÃedËËn
+ )
+ 
+ 206 
+ __THROW
+  
+ __©Œibu‹_pu»__
+ ;
+ 
+ 210 
*
+ 	$__mempýy
+  (*
+ __»¡riù
+  
+ __de¡
+ ,
+ 
+ 211 
+ __cڡ
+  *
+ __»¡riù
+  
+ __¤c
+ , 
+ size_t
+  
+ __n
+ è
+ __THROW
+ ;
+ 
+ 212 
*
+ 	$mempýy
+  (*
+ __»¡riù
+  
+ __de¡
+ ,
+ 
+ 213 
+ __cڡ
+  *
+ __»¡riù
+  
+ __¤c
+ , 
+ size_t
+  
+ __n
+ è
+ __THROW
+ ;
+ 
+ 218 
+ size_t
+  
+ 	$¡¾’
+  (
+ __cڡ
+  *
+ __s
+ è
+ __THROW
+  
+ __©Œibu‹_pu»__
+ ;
+ 
+ 220 #ifdef 
+ __USE_GNU
+ 
+ 
+ 223 
+ size_t
+  
+ 	$¡ºËn
+  (
+ __cڡ
+  *
+ __¡ršg
+ , 
+ size_t
+  
+ __maxËn
+ )
+ 
+ 224 
+ __THROW
+  
+ __©Œibu‹_pu»__
+ ;
+ 
+ 229 
*
+ 	$¡»¼Ü
+  (
+ __Ӽum
+ è
+ __THROW
+ ;
+ 
+ 230 #ifdef 
+ __USE_MISC
+ 
+ 
+ 233 
*
+ 	$¡»¼Ü_r
+  (
+ __Ӽum
+ , *
+ __buf
+ , 
+ size_t
+  
+ __buæ’
+ è
+ __THROW
+ ;
+ 
+ 238 

+ 	$__bz”o
+  (*
+ __s
+ , 
+ size_t
+  
+ __n
+ è
+ __THROW
+ ;
+ 
+ 240 #ià
+ defšed
+  
+ __USE_BSD
+ 
+ 
+ 242 

+ 	$bcÝy
+  (
+ __cڡ
+  *
+ __¤c
+ , *
+ __de¡
+ , 
+ size_t
+  
+ __n
+ è
+ __THROW
+ ;
+ 
+ 245 

+ 	$bz”o
+  (*
+ __s
+ , 
+ size_t
+  
+ __n
+ è
+ __THROW
+ ;
+ 
+ 248 

+ 	$bcmp
+  (
+ __cڡ
+  *
+ __s1
+ , __cڡ *
+ __s2
+ , 
+ size_t
+  
+ __n
+ )
+ 
+ 249 
+ __THROW
+  
+ __©Œibu‹_pu»__
+ ;
+ 
+ 252 
*
+ 	$šdex
+  (
+ __cڡ
+  *
+ __s
+ , 
+ __c
+ è
+ __THROW
+  
+ __©Œibu‹_pu»__
+ ;
+ 
+ 255 
*
+ 	$ršdex
+  (
+ __cڡ
+  *
+ __s
+ , 
+ __c
+ è
+ __THROW
+  
+ __©Œibu‹_pu»__
+ ;
+ 
+ 259 

+ 	$ffs
+  (
+ __i
+ è
+ __THROW
+  
+ 	`__©Œibu‹__
+  ((
+ __cڡ__
+ ));
+ 
+ 263 #ifdef 
+ __USE_GNU
+ 
+ 
+ 264 

+ 	$ff¦
+  (
+ __l
+ è
+ __THROW
+  
+ 	`__©Œibu‹__
+  ((
+ __cڡ__
+ ));
+ 
+ 265 #ifdeà
+ __GNUC__
+ 
+ 
+ 266 
+ __ex‹nsiÚ__
+  

+ 	$ff¦l
+  (
+ __Î
+ )
+ 
+ 267 
+ __THROW
+  
+ 	`__©Œibu‹__
+  ((
+ __cڡ__
+ ));
+ 
+ 272 

+ 	$¡rÿ£cmp
+  (
+ __cڡ
+  *
+ __s1
+ , __cڡ *
+ __s2
+ )
+ 
+ 273 
+ __THROW
+  
+ __©Œibu‹_pu»__
+ ;
+ 
+ 276 

+ 	$¡ºÿ£cmp
+  (
+ __cڡ
+  *
+ __s1
+ , __cڡ *
+ __s2
+ , 
+ size_t
+  
+ __n
+ )
+ 
+ 277 
+ __THROW
+  
+ __©Œibu‹_pu»__
+ ;
+ 
+ 280 #ifdef 
+ __USE_GNU
+ 
+ 
+ 283 

+ 	$__¡rÿ£cmp_l
+  (
+ __cڡ
+  *
+ __s1
+ , __cڡ *
+ __s2
+ ,
+ 
+ 284 
+ __loÿË_t
+  
+ __loc
+ è
+ __THROW
+  
+ __©Œibu‹_pu»__
+ ;
+ 
+ 286 

+ 	$__¡ºÿ£cmp_l
+  (
+ __cڡ
+  *
+ __s1
+ , __cڡ *
+ __s2
+ ,
+ 
+ 287 
+ size_t
+  
+ __n
+ , 
+ __loÿË_t
+  
+ __loc
+ )
+ 
+ 288 
+ __THROW
+  
+ __©Œibu‹_pu»__
+ ;
+ 
+ 291 #ifdef 
+ __USE_BSD
+ 
+ 
+ 294 
*
+ 	$¡r£p
+  (**
+ __»¡riù
+  
+ __¡ršgp
+ ,
+ 
+ 295 
+ __cڡ
+  *
+ __»¡riù
+  
+ __d–im
+ è
+ __THROW
+ ;
+ 
+ 298 #ifdef 
+ __USE_GNU
+ 
+ 
+ 300 

+ 	$¡rv”scmp
+  (
+ __cڡ
+  *
+ __s1
+ , __cڡ *
+ __s2
+ )
+ 
+ 301 
+ __THROW
+  
+ __©Œibu‹_pu»__
+ ;
+ 
+ 304 
*
+ 	$¡rsigÇl
+  (
+ __sig
+ è
+ __THROW
+ ;
+ 
+ 307 
*
+ 	$__¡pýy
+  (*
+ __»¡riù
+  
+ __de¡
+ , 
+ __cڡ
+  *__»¡riù 
+ __¤c
+ )
+ 
+ 308 
+ __THROW
+ ;
+ 
+ 309 
*
+ 	$¡pýy
+  (*
+ __»¡riù
+  
+ __de¡
+ , 
+ __cڡ
+  *__»¡riù 
+ __¤c
+ )
+ 
+ 310 
+ __THROW
+ ;
+ 
+ 314 
*
+ 	$__¡²ýy
+  (*
+ __»¡riù
+  
+ __de¡
+ ,
+ 
+ 315 
+ __cڡ
+  *
+ __»¡riù
+  
+ __¤c
+ , 
+ size_t
+  
+ __n
+ è
+ __THROW
+ ;
+ 
+ 316 
*
+ 	$¡²ýy
+  (*
+ __»¡riù
+  
+ __de¡
+ ,
+ 
+ 317 
+ __cڡ
+  *
+ __»¡riù
+  
+ __¤c
+ , 
+ size_t
+  
+ __n
+ è
+ __THROW
+ ;
+ 
+ 320 
*
+ 	$¡räy
+  (*
+ __¡ršg
+ è
+ __THROW
+ ;
+ 
+ 323 
*
+ 	$memäob
+  (*
+ __s
+ , 
+ size_t
+  
+ __n
+ è
+ __THROW
+ ;
+ 
+ 325 #iâdeà
+ ba£Çme
+ 
+ 
+ 330 
*
+ 	$ba£Çme
+  (
+ __cڡ
+  *
+ __fž’ame
+ è
+ __THROW
+ ;
+ 
+ 335 #ià
+ defšed
+  
+ __GNUC__
+  && __GNUC__ >= 2
+ 
+ 336 #ià
+ defšed
+  
+ __OPTIMIZE__
+  && !defšed 
+ __OPTIMIZE_SIZE__
+  \
+ 
+ 337 && !
+ defšed
+  
+ __NO_INLINE__
+  && !defšed 
+ __ýlu¥lus
+ 
+ 
+ 357 
+ 	~<b™s/¡ršg.h
+ >
+ 
+ 360 
+ 	~<b™s/¡ršg2.h
+ >
+ 
+ 364 
+ __END_DECLS
+ 
+ 
+ 	@/usr/include/sys/dir.h
+ 
+ 19 #iâdef 
+ _SYS_DIR_H
+ 
+ 
+ 20 
+ 	#_SYS_DIR_H
+  1
+ 
+ 	)
+ 
+ 22 
+ 	~<ã©u»s.h
+ >
+ 
+ 24 
+ 	~<dœ’t.h
+ >
+ 
+ 26 
+ 	#dœeù
+  
+ dœ’t
+ 
+ 
+ 	)
+ 
+ 	@/usr/include/sys/file.h
+ 
+ 19 #iâdef 
+ _SYS_FILE_H
+ 
+ 
+ 20 
+ 	#_SYS_FILE_H
+  1
+ 
+ 	)
+ 
+ 22 
+ 	~<ã©u»s.h
+ >
+ 
+ 24 #iâdef 
+ _FCNTL_H
+ 
+ 
+ 25 
+ 	~<fúŽ.h
+ >
+ 
+ 28 
+ 	g__BEGIN_DECLS
+ 
+ 
+ 33 #iâdeà
+ L_SET
+ 
+ 
+ 34 
+ 	#L_SET
+  0
+ 
+ 	)
+ 
+ 35 
+ 	#L_INCR
+  1
+ 
+ 	)
+ 
+ 36 
+ 	#L_XTND
+  2
+ 
+ 	)
+ 
+ 41 
+ 	#LOCK_SH
+  1
+ 
+ 	)
+ 
+ 42 
+ 	#LOCK_EX
+  2
+ 
+ 	)
+ 
+ 43 
+ 	#LOCK_UN
+  8
+ 
+ 	)
+ 
+ 46 
+ 	#LOCK_NB
+  4
+ 
+ 	)
+ 
+ 51 

+ 	$æock
+  (
+ __fd
+ , 
+ __Ý”©iÚ
+ è
+ __THROW
+ ;
+ 
+ 54 
+ __END_DECLS
+ 
+ 
+ 	@/usr/include/sys/ioctl.h
+ 
+ 19 #iâdef 
+ _SYS_IOCTL_H
+ 
+ 
+ 20 
+ 	#_SYS_IOCTL_H
+  1
+ 
+ 	)
+ 
+ 22 
+ 	~<ã©u»s.h
+ >
+ 
+ 24 
+ 	g__BEGIN_DECLS
+ 
+ 
+ 27 
+ 	~<b™s/ioùls.h
+ >
+ 
+ 30 
+ 	~<b™s/ioùl-ty³s.h
+ >
+ 
+ 37 
+ 	~<sys/‰ydeçuÉs.h
+ >
+ 
+ 42 

+ 	$ioùl
+  (
+ __fd
+ , 
+ __»que¡
+ , ...è
+ __THROW
+ ;
+ 
+ 44 
+ __END_DECLS
+ 
+ 
+ 	@/usr/include/sys/ipc.h
+ 
+ 19 #iâdeà
+ _SYS_IPC_H
+ 
+ 
+ 20 
+ 	#_SYS_IPC_H
+  1
+ 
+ 	)
+ 
+ 22 
+ 	~<ã©u»s.h
+ >
+ 
+ 24 #ià!
+ defšed
+  
+ __USE_SVID
+  && !defšed 
+ __USE_XOPEN
+  && 
+ __GNUC__
+  >= 2
+ 
+ 29 
+ 	~<b™s/c.h
+ >
+ 
+ 31 #iâdeà
+ __uid_t_defšed
+ 
+ 
+ 32 
+ __uid_t
+  
+ 	tuid_t
+ ;
+ 
+ 33 
+ 	#__uid_t_defšed
+ 
+ 
+ 	)
+ 
+ 36 #iâdeà
+ __gid_t_defšed
+ 
+ 
+ 37 
+ __gid_t
+  
+ 	tgid_t
+ ;
+ 
+ 38 
+ 	#__gid_t_defšed
+ 
+ 
+ 	)
+ 
+ 41 #iâdeà
+ __mode_t_defšed
+ 
+ 
+ 42 
+ __mode_t
+  
+ 	tmode_t
+ ;
+ 
+ 43 
+ 	#__mode_t_defšed
+ 
+ 
+ 	)
+ 
+ 46 #iâdeà
+ __key_t_defšed
+ 
+ 
+ 47 
+ __key_t
+  
+ 	tkey_t
+ ;
+ 
+ 48 
+ 	#__key_t_defšed
+ 
+ 
+ 	)
+ 
+ 51 
+ __BEGIN_DECLS
+ 
+ 
+ 54 
+ key_t
+  
+ 	$áok
+  (
+ __cڡ
+  *
+ __·thÇme
+ , 
+ __´oj_id
+ è
+ __THROW
+ ;
+ 
+ 56 
+ __END_DECLS
+ 
+ 
+ 	@/usr/include/sys/msg.h
+ 
+ 19 #iâdeà
+ _SYS_MSG_H
+ 
+ 
+ 20 
+ 	#_SYS_MSG_H
+ 
+ 
+ 	)
+ 
+ 22 
+ 	~<ã©u»s.h
+ >
+ 
+ 25 
+ 	~<sys/c.h
+ >
+ 
+ 28 
+ 	~<b™s/msq.h
+ >
+ 
+ 31 
+ 	#__Ãed_time_t
+ 
+ 
+ 	)
+ 
+ 32 
+ 	~<time.h
+ >
+ 
+ 34 #iâdeà
+ __pid_t_defšed
+ 
+ 
+ 35 
+ __pid_t
+  
+ 	tpid_t
+ ;
+ 
+ 36 
+ 	#__pid_t_defšed
+ 
+ 
+ 	)
+ 
+ 39 #iâdeà
+ __ssize_t_defšed
+ 
+ 
+ 40 
+ __ssize_t
+  
+ 	tssize_t
+ ;
+ 
+ 41 
+ 	#__ssize_t_defšed
+ 
+ 
+ 	)
+ 
+ 47 #ifdeà
+ __USE_GNU
+ 
+ 
+ 49 
+ 	smsgbuf
+ 
+ 
+ 51 
+ 	mmty³
+ ;
+ 
+ 52 
+ 	mm‹xt
+ [1];
+ 
+ 57 
+ __BEGIN_DECLS
+ 
+ 
+ 60 

+ 	$msgùl
+  (
+ __msqid
+ , 
+ __cmd
+ , 
+ msqid_ds
+  *
+ __buf
+ è
+ __THROW
+ ;
+ 
+ 63 

+ 	$msgg‘
+  (
+ key_t
+  
+ __key
+ , 
+ __msgæg
+ è
+ __THROW
+ ;
+ 
+ 66 

+ 	$msgrcv
+  (
+ __msqid
+ , *
+ __msgp
+ , 
+ size_t
+  
+ __msgsz
+ ,
+ 
+ 67 
+ __msgtyp
+ , 
+ __msgæg
+ è
+ __THROW
+ ;
+ 
+ 70 

+ 	$msg¢d
+  (
+ __msqid
+ , 
+ __cڡ
+  *
+ __msgp
+ , 
+ size_t
+  
+ __msgsz
+ ,
+ 
+ 71 
+ __msgæg
+ è
+ __THROW
+ ;
+ 
+ 73 
+ __END_DECLS
+ 
+ 
+ 	@/usr/include/sys/param.h
+ 
+ 19 #iâdeà
+ _SYS_PARAM_H
+ 
+ 
+ 20 
+ 	#_SYS_PARAM_H
+  1
+ 
+ 	)
+ 
+ 22 
+ 	~<lim™s.h
+ >
+ 
+ 23 
+ 	~<lšux/lim™s.h
+ >
+ 
+ 24 
+ 	~<lšux/·¿m.h
+ >
+ 
+ 28 
+ 	#NBBY
+  
+ CHAR_BIT
+ 
+ 
+ 	)
+ 
+ 29 #iâdef 
+ NGROUPS
+ 
+ 
+ 30 
+ 	#NGROUPS
+  
+ NGROUPS_MAX
+ 
+ 
+ 	)
+ 
+ 32 
+ 	#MAXSYMLINKS
+  20
+ 
+ 	)
+ 
+ 33 
+ 	#CANBSIZ
+  
+ MAX_CANON
+ 
+ 
+ 	)
+ 
+ 34 
+ 	#NCARGS
+  
+ ARG_MAX
+ 
+ 
+ 	)
+ 
+ 35 
+ 	#MAXPATHLEN
+  
+ PATH_MAX
+ 
+ 
+ 	)
+ 
+ 39 
+ 	#NOFILE
+  256
+ 
+ 	)
+ 
+ 42 
+ 	~<sys/ty³s.h
+ >
+ 
+ 45 
+ 	#£tb™
+ (
+ a
+ ,
+ i
+ è(×)[(i)/
+ NBBY
+ ] |ð1<<((i)%NBBY))
+ 
+ 	)
+ 
+ 46 
+ 	#þrb™
+ (
+ a
+ ,
+ i
+ è(×)[(i)/
+ NBBY
+ ] &ð~(1<<((i)%NBBY)))
+ 
+ 	)
+ 
+ 47 
+ 	#is£t
+ (
+ a
+ ,
+ i
+ è(×)[(i)/
+ NBBY
+ ] & (1<<((i)%NBBY)))
+ 
+ 	)
+ 
+ 48 
+ 	#isþr
+ (
+ a
+ ,
+ i
+ è((×)[(i)/
+ NBBY
+ ] & (1<<((i)%NBBY))è=ð0)
+ 
+ 	)
+ 
+ 51 #iâdeà
+ howmªy
+ 
+ 
+ 52 
+ 	#howmªy
+ (
+ x
+ , 
+ y
+ è(((x)+((y)-1))/(y))
+ 
+ 	)
+ 
+ 54 
+ 	#roundup
+ (
+ x
+ , 
+ y
+ è((((x)+((y)-1))/(y))*(y))
+ 
+ 	)
+ 
+ 55 
+ 	#pow”of2
+ (
+ x
+ è((((x)-1)&(x))==0)
+ 
+ 	)
+ 
+ 58 
+ 	#MIN
+ (
+ a
+ ,
+ b
+ è((×)<(b))?×):(b))
+ 
+ 	)
+ 
+ 59 
+ 	#MAX
+ (
+ a
+ ,
+ b
+ è((×)>(b))?×):(b))
+ 
+ 	)
+ 
+ 63 
+ 	#DEV_BSIZE
+  512
+ 
+ 	)
+ 
+ 	@/usr/include/sys/select.h
+ 
+ 22 #iâdeà
+ _SYS_SELECT_H
+ 
+ 
+ 23 
+ 	#_SYS_SELECT_H
+  1
+ 
+ 	)
+ 
+ 25 
+ 	~<ã©u»s.h
+ >
+ 
+ 28 
+ 	~<b™s/ty³s.h
+ >
+ 
+ 31 
+ 	~<b™s/£Ëù.h
+ >
+ 
+ 34 
+ 	~<b™s/sig£t.h
+ >
+ 
+ 36 #iâdeà
+ __sig£t_t_defšed
+ 
+ 
+ 37 
+ 	#__sig£t_t_defšed
+ 
+ 
+ 	)
+ 
+ 38 
+ __sig£t_t
+  
+ 	tsig£t_t
+ ;
+ 
+ 42 
+ 	#__Ãed_time_t
+ 
+ 
+ 	)
+ 
+ 43 
+ 	#__Ãed_time¥ec
+ 
+ 
+ 	)
+ 
+ 44 
+ 	~<time.h
+ >
+ 
+ 45 
+ 	#__Ãed_timev®
+ 
+ 
+ 	)
+ 
+ 46 
+ 	~<b™s/time.h
+ >
+ 
+ 48 #iâdeà
+ __su£cÚds_t_defšed
+ 
+ 
+ 49 
+ __su£cÚds_t
+  
+ 	tsu£cÚds_t
+ ;
+ 
+ 50 
+ 	#__su£cÚds_t_defšed
+ 
+ 
+ 	)
+ 
+ 55 
+ 	t__fd_mask
+ ;
+ 
+ 58 
+ 	#__NFDBITS
+  (8 *  (
+ __fd_mask
+ ))
+ 
+ 	)
+ 
+ 59 
+ 	#__FDELT
+ (
+ d
+ è((dè/ 
+ __NFDBITS
+ )
+ 
+ 	)
+ 
+ 60 
+ 	#__FDMASK
+ (
+ d
+ è((
+ __fd_mask
+ è1 << ((dè% 
+ __NFDBITS
+ ))
+ 
+ 	)
+ 
+ 67 #ifdeà
+ __USE_XOPEN
+ 
+ 
+ 68 
+ __fd_mask
+  
+ 	mfds_b™s
+ [
+ __FD_SETSIZE
+  / 
+ __NFDBITS
+ ];
+ 
+ 69 
+ 	#__FDS_BITS
+ (
+ £t
+ è((£t)->
+ fds_b™s
+ )
+ 
+ 	)
+ 
+ 71 
+ __fd_mask
+  
+ 	m__fds_b™s
+ [
+ __FD_SETSIZE
+  / 
+ __NFDBITS
+ ];
+ 
+ 72 
+ 	#__FDS_BITS
+ (
+ £t
+ è((£t)->
+ __fds_b™s
+ )
+ 
+ 	)
+ 
+ 74 } 
+ 	tfd_£t
+ ;
+ 
+ 77 
+ 	#FD_SETSIZE
+  
+ __FD_SETSIZE
+ 
+ 
+ 	)
+ 
+ 79 #ifdeà
+ __USE_MISC
+ 
+ 
+ 81 
+ __fd_mask
+  
+ 	tfd_mask
+ ;
+ 
+ 84 
+ 	#NFDBITS
+  
+ __NFDBITS
+ 
+ 
+ 	)
+ 
+ 89 
+ 	#FD_SET
+ (
+ fd
+ , 
+ fd£
+ è
+ 	`__FD_SET
+  (fd, fd£)
+ 
+ 	)
+ 
+ 90 
+ 	#FD_CLR
+ (
+ fd
+ , 
+ fd£
+ è
+ 	`__FD_CLR
+  (fd, fd£)
+ 
+ 	)
+ 
+ 91 
+ 	#FD_ISSET
+ (
+ fd
+ , 
+ fd£
+ è
+ 	`__FD_ISSET
+  (fd, fd£)
+ 
+ 	)
+ 
+ 92 
+ 	#FD_ZERO
+ (
+ fd£
+ è
+ 	`__FD_ZERO
+  (fd£)
+ 
+ 	)
+ 
+ 95 
+ __BEGIN_DECLS
+ 
+ 
+ 102 

+ 	$£Ëù
+  (
+ __nfds
+ , 
+ fd_£t
+  *
+ __»¡riù
+  
+ __»adfds
+ ,
+ 
+ 103 
+ fd_£t
+  *
+ __»¡riù
+  
+ __wr™efds
+ ,
+ 
+ 104 
+ fd_£t
+  *
+ __»¡riù
+  
+ __exû±fds
+ ,
+ 
+ 105 
+ timev®
+  *
+ __»¡riù
+  
+ __timeout
+ è
+ __THROW
+ ;
+ 
+ 107 #ifdeà
+ __USE_XOPEN2K
+ 
+ 
+ 111 

+ 	$p£Ëù
+  (
+ __nfds
+ , 
+ fd_£t
+  *
+ __»¡riù
+  
+ __»adfds
+ ,
+ 
+ 112 
+ fd_£t
+  *
+ __»¡riù
+  
+ __wr™efds
+ ,
+ 
+ 113 
+ fd_£t
+  *
+ __»¡riù
+  
+ __exû±fds
+ ,
+ 
+ 114 cڡ 
+ time¥ec
+  *
+ __»¡riù
+  
+ __timeout
+ ,
+ 
+ 115 cڡ 
+ __sig£t_t
+  *
+ __»¡riù
+  
+ __sigmask
+ è
+ __THROW
+ ;
+ 
+ 118 
+ __END_DECLS
+ 
+ 
+ 	@/usr/include/sys/sem.h
+ 
+ 19 #iâdeà
+ _SYS_SEM_H
+ 
+ 
+ 20 
+ 	#_SYS_SEM_H
+  1
+ 
+ 	)
+ 
+ 22 
+ 	~<ã©u»s.h
+ >
+ 
+ 24 
+ 	#__Ãed_size_t
+ 
+ 
+ 	)
+ 
+ 25 
+ 	~<¡ddef.h
+ >
+ 
+ 28 
+ 	~<sys/c.h
+ >
+ 
+ 31 
+ 	~<b™s/£m.h
+ >
+ 
+ 37 
+ 	s£mbuf
+ 
+ 
+ 39 
+ 	m£m_num
+ ;
+ 
+ 40 
+ 	m£m_Ý
+ ;
+ 
+ 41 
+ 	m£m_æg
+ ;
+ 
+ 45 
+ __BEGIN_DECLS
+ 
+ 
+ 48 

+ 	$£mùl
+  (
+ __£mid
+ , 
+ __£mnum
+ , 
+ __cmd
+ , ...è
+ __THROW
+ ;
+ 
+ 51 

+ 	$£mg‘
+  (
+ key_t
+  
+ __key
+ , 
+ __n£ms
+ , 
+ __£mæg
+ è
+ __THROW
+ ;
+ 
+ 54 

+ 	$£mÝ
+  (
+ __£mid
+ , 
+ £mbuf
+  *
+ __sÝs
+ , 
+ size_t
+  
+ __nsÝs
+ è
+ __THROW
+ ;
+ 
+ 56 
+ __END_DECLS
+ 
+ 
+ 	@/usr/include/sys/shm.h
+ 
+ 19 #iâdeà
+ _SYS_SHM_H
+ 
+ 
+ 20 
+ 	#_SYS_SHM_H
+  1
+ 
+ 	)
+ 
+ 22 
+ 	~<ã©u»s.h
+ >
+ 
+ 24 
+ 	#__Ãed_size_t
+ 
+ 
+ 	)
+ 
+ 25 
+ 	~<¡ddef.h
+ >
+ 
+ 28 
+ 	~<sys/c.h
+ >
+ 
+ 31 
+ 	~<b™s/shm.h
+ >
+ 
+ 34 
+ 	#__Ãed_time_t
+ 
+ 
+ 	)
+ 
+ 35 
+ 	~<time.h
+ >
+ 
+ 37 #ifdeà
+ __USE_XOPEN
+ 
+ 
+ 38 #iâdeà
+ __pid_t_defšed
+ 
+ 
+ 39 
+ __pid_t
+  
+ 	tpid_t
+ ;
+ 
+ 40 
+ 	#__pid_t_defšed
+ 
+ 
+ 	)
+ 
+ 44 
+ 	g__BEGIN_DECLS
+ 
+ 
+ 47 
+ 	#SHMLBA
+  (
+ 	`__g‘·gesize
+  ())
+ 
+ 	)
+ 
+ 48 

+ 	$__g‘·gesize
+  (è
+ __THROW
+  
+ 	`__©Œibu‹__
+  ((
+ __cڡ__
+ ));
+ 
+ 55 

+ 	$shmùl
+  (
+ __shmid
+ , 
+ __cmd
+ , 
+ shmid_ds
+  *
+ __buf
+ è
+ __THROW
+ ;
+ 
+ 58 

+ 	$shmg‘
+  (
+ key_t
+  
+ __key
+ , 
+ size_t
+  
+ __size
+ , 
+ __shmæg
+ è
+ __THROW
+ ;
+ 
+ 61 
*
+ 	$shm©
+  (
+ __shmid
+ , 
+ __cڡ
+  *
+ __shmaddr
+ , 
+ __shmæg
+ )
+ 
+ 62 
+ __THROW
+ ;
+ 
+ 65 

+ 	$shmdt
+  (
+ __cڡ
+  *
+ __shmaddr
+ è
+ __THROW
+ ;
+ 
+ 67 
+ __END_DECLS
+ 
+ 
+ 	@/usr/include/sys/socket.h
+ 
+ 20 #iâdef 
+ _SYS_SOCKET_H
+ 
+ 
+ 21 
+ 	#_SYS_SOCKET_H
+  1
+ 
+ 	)
+ 
+ 23 
+ 	~<ã©u»s.h
+ >
+ 
+ 25 
+ 	g__BEGIN_DECLS
+ 
+ 
+ 27 
+ 	~<sys/uio.h
+ >
+ 
+ 28 
+ 	#__Ãed_size_t
+ 
+ 
+ 	)
+ 
+ 29 
+ 	~<¡ddef.h
+ >
+ 
+ 35 
+ 	~<b™s/sock‘.h
+ >
+ 
+ 37 #ifdeà
+ __USE_BSD
+ 
+ 
+ 40 
+ 	sosockaddr
+ 
+ 
+ 42 
+ 	m§_çmžy
+ ;
+ 
+ 43 
+ 	m§_d©a
+ [14];
+ 
+ 51 
+ 	mSHUT_RD
+  = 0,
+ 
+ 52 
+ 	#SHUT_RD
+  
+ SHUT_RD
+ 
+ 
+ 	)
+ 
+ 53 
+ 	mSHUT_WR
+ ,
+ 
+ 54 
+ 	#SHUT_WR
+  
+ SHUT_WR
+ 
+ 
+ 	)
+ 
+ 55 
+ 	mSHUT_RDWR
+ 
+ 
+ 56 
+ 	#SHUT_RDWR
+  
+ SHUT_RDWR
+ 
+ 
+ 	)
+ 
+ 65 #ià
+ defšed
+  
+ __ýlu¥lus
+  || !
+ __GNUC_PREREQ
+  (2, 7è|| !defšed 
+ __USE_GNU
+ 
+ 
+ 66 
+ 	#__SOCKADDR_ARG
+  
+ sockaddr
+  *
+ __»¡riù
+ 
+ 
+ 	)
+ 
+ 67 
+ 	#__CONST_SOCKADDR_ARG
+  
+ __cڡ
+  
+ sockaddr
+  *
+ 
+ 	)
+ 
+ 71 
+ 	#__SOCKADDR_ALLTYPES
+  \
+ 
+ 72 
+ 	`__SOCKADDR_ONETYPE
+  (
+ sockaddr
+ ) \
+ 
+ 73 
+ 	`__SOCKADDR_ONETYPE
+  (
+ sockaddr_©
+ ) \
+ 
+ 74 
+ 	`__SOCKADDR_ONETYPE
+  (
+ sockaddr_ax25
+ ) \
+ 
+ 75 
+ 	`__SOCKADDR_ONETYPE
+  (
+ sockaddr_dl
+ ) \
+ 
+ 76 
+ 	`__SOCKADDR_ONETYPE
+  (
+ sockaddr_eÚ
+ ) \
+ 
+ 77 
+ 	`__SOCKADDR_ONETYPE
+  (
+ sockaddr_š
+ ) \
+ 
+ 78 
+ 	`__SOCKADDR_ONETYPE
+  (
+ sockaddr_š6
+ ) \
+ 
+ 79 
+ 	`__SOCKADDR_ONETYPE
+  (
+ sockaddr_š¬p
+ ) \
+ 
+ 80 
+ 	`__SOCKADDR_ONETYPE
+  (
+ sockaddr_x
+ ) \
+ 
+ 81 
+ 	`__SOCKADDR_ONETYPE
+  (
+ sockaddr_iso
+ ) \
+ 
+ 82 
+ 	`__SOCKADDR_ONETYPE
+  (
+ sockaddr_ns
+ ) \
+ 
+ 83 
+ 	`__SOCKADDR_ONETYPE
+  (
+ sockaddr_un
+ ) \
+ 
+ 84 
+ 	`__SOCKADDR_ONETYPE
+  (
+ sockaddr_x25
+ )
+ 
+ 	)
+ 
+ 86 
+ 	#__SOCKADDR_ONETYPE
+ (
+ ty³
+ èty³ *
+ __»¡riù
+  
+ __
+ ##ty³##__;
+ 
+ 	)
+ 
+ 87 uniÚ { 
+ 	m__SOCKADDR_ALLTYPES
+ 
+ 
+ 88 } 
+ 	t__SOCKADDR_ARG
+  
+ 	t__©Œibu‹__
+  ((
+ 	t__Œª¥¬’t_uniÚ__
+ ));
+ 
+ 89 #undeà
+ __SOCKADDR_ONETYPE
+ 
+ 
+ 90 
+ 	#__SOCKADDR_ONETYPE
+ (
+ ty³
+ è
+ __cڡ
+  ty³ *
+ __»¡riù
+  
+ __
+ ##ty³##__;
+ 
+ 	)
+ 
+ 91 uniÚ { 
+ 	m__SOCKADDR_ALLTYPES
+ 
+ 
+ 92 } 
+ 	t__CONST_SOCKADDR_ARG
+  
+ 	t__©Œibu‹__
+  ((
+ 	t__Œª¥¬’t_uniÚ__
+ ));
+ 
+ 93 #undeà
+ __SOCKADDR_ONETYPE
+ 
+ 
+ 100 

+ 	$sock‘
+  (
+ __domaš
+ , 
+ __ty³
+ , 
+ __´ÙocÞ
+ è
+ __THROW
+ ;
+ 
+ 106 

+ 	`sock‘·œ
+  (
+ __domaš
+ , 
+ __ty³
+ , 
+ __´ÙocÞ
+ ,
+ 
+ 107 
+ __fds
+ [2]è
+ __THROW
+ ;
+ 
+ 110 

+ 	$bšd
+  (
+ __fd
+ , 
+ __CONST_SOCKADDR_ARG
+  
+ __addr
+ , 
+ sockËn_t
+  
+ __Ën
+ )
+ 
+ 111 
+ __THROW
+ ;
+ 
+ 114 

+ 	$g‘sockÇme
+  (
+ __fd
+ , 
+ __SOCKADDR_ARG
+  
+ __addr
+ ,
+ 
+ 115 
+ sockËn_t
+  *
+ __»¡riù
+  
+ __Ën
+ è
+ __THROW
+ ;
+ 
+ 121 

+ 	$cÚÃù
+  (
+ __fd
+ , 
+ __CONST_SOCKADDR_ARG
+  
+ __addr
+ , 
+ sockËn_t
+  
+ __Ën
+ )
+ 
+ 122 
+ __THROW
+ ;
+ 
+ 126 

+ 	$g‘³”Çme
+  (
+ __fd
+ , 
+ __SOCKADDR_ARG
+  
+ __addr
+ ,
+ 
+ 127 
+ sockËn_t
+  *
+ __»¡riù
+  
+ __Ën
+ è
+ __THROW
+ ;
+ 
+ 131 
+ ssize_t
+  
+ 	$£nd
+  (
+ __fd
+ , 
+ __cڡ
+  *
+ __buf
+ , 
+ size_t
+  
+ __n
+ , 
+ __æags
+ )
+ 
+ 132 
+ __THROW
+ ;
+ 
+ 136 
+ ssize_t
+  
+ 	$»cv
+  (
+ __fd
+ , *
+ __buf
+ , 
+ size_t
+  
+ __n
+ , 
+ __æags
+ )
+ 
+ 137 
+ __THROW
+ ;
+ 
+ 141 
+ ssize_t
+  
+ 	$£ndto
+  (
+ __fd
+ , 
+ __cڡ
+  *
+ __buf
+ , 
+ size_t
+  
+ __n
+ ,
+ 
+ 142 
+ __æags
+ , 
+ __CONST_SOCKADDR_ARG
+  
+ __addr
+ ,
+ 
+ 143 
+ sockËn_t
+  
+ __addr_Ën
+ è
+ __THROW
+ ;
+ 
+ 149 
+ ssize_t
+  
+ 	$»cväom
+  (
+ __fd
+ , *
+ __»¡riù
+  
+ __buf
+ , 
+ size_t
+  
+ __n
+ , 
+ __æags
+ ,
+ 
+ 150 
+ __SOCKADDR_ARG
+  
+ __addr
+ , 
+ sockËn_t
+  *
+ __»¡riù
+  
+ __addr_Ën
+ )
+ 
+ 151 
+ __THROW
+ ;
+ 
+ 156 
+ ssize_t
+  
+ 	$£ndmsg
+  (
+ __fd
+ , 
+ __cڡ
+  
+ msghdr
+  *
+ __mes§ge
+ , 
+ __æags
+ )
+ 
+ 157 
+ __THROW
+ ;
+ 
+ 161 
+ ssize_t
+  
+ 	$»cvmsg
+  (
+ __fd
+ , 
+ msghdr
+  *
+ __mes§ge
+ , 
+ __æags
+ )
+ 
+ 162 
+ __THROW
+ ;
+ 
+ 168 

+ 	$g‘sockÝt
+  (
+ __fd
+ , 
+ __Ëv–
+ , 
+ __݊ame
+ ,
+ 
+ 169 *
+ __»¡riù
+  
+ __Ýtv®
+ ,
+ 
+ 170 
+ sockËn_t
+  *
+ __»¡riù
+  
+ __ÝŽ’
+ è
+ __THROW
+ ;
+ 
+ 175 

+ 	$£tsockÝt
+  (
+ __fd
+ , 
+ __Ëv–
+ , 
+ __݊ame
+ ,
+ 
+ 176 
+ __cڡ
+  *
+ __Ýtv®
+ , 
+ sockËn_t
+  
+ __ÝŽ’
+ è
+ __THROW
+ ;
+ 
+ 182 

+ 	$li¡’
+  (
+ __fd
+ , 
+ __n
+ è
+ __THROW
+ ;
+ 
+ 189 

+ 	$acû±
+  (
+ __fd
+ , 
+ __SOCKADDR_ARG
+  
+ __addr
+ ,
+ 
+ 190 
+ sockËn_t
+  *
+ __»¡riù
+  
+ __addr_Ën
+ )
+ 
+ 191 
+ __THROW
+ ;
+ 
+ 199 

+ 	$shutdown
+  (
+ __fd
+ , 
+ __how
+ è
+ __THROW
+ ;
+ 
+ 202 #ifdeà
+ __USE_XOPEN2K
+ 
+ 
+ 204 

+ 	$sock©m¬k
+  (
+ __fd
+ è
+ __THROW
+ ;
+ 
+ 208 #ifdeà
+ __USE_MISC
+ 
+ 
+ 212 

+ 	$isfdty³
+  (
+ __fd
+ , 
+ __fdty³
+ è
+ __THROW
+ ;
+ 
+ 215 
+ __END_DECLS
+ 
+ 
+ 	@/usr/include/sys/stat.h
+ 
+ 23 #iâdef 
+ _SYS_STAT_H
+ 
+ 
+ 24 
+ 	#_SYS_STAT_H
+  1
+ 
+ 	)
+ 
+ 26 
+ 	~<ã©u»s.h
+ >
+ 
+ 28 
+ 	~<b™s/ty³s.h
+ >
+ 
+ 30 #ifdeà
+ __USE_XOPEN
+ 
+ 
+ 31 
+ 	#__Ãed_time_t
+ 
+ 
+ 	)
+ 
+ 32 
+ 	~<time.h
+ >
+ 
+ 36 #iâdeà
+ __dev_t_defšed
+ 
+ 
+ 37 
+ __dev_t
+  
+ 	tdev_t
+ ;
+ 
+ 38 
+ 	#__dev_t_defšed
+ 
+ 
+ 	)
+ 
+ 41 #iâdeà
+ __gid_t_defšed
+ 
+ 
+ 42 
+ __gid_t
+  
+ 	tgid_t
+ ;
+ 
+ 43 
+ 	#__gid_t_defšed
+ 
+ 
+ 	)
+ 
+ 46 #iâdeà
+ __šo_t_defšed
+ 
+ 
+ 47 #iâdeà
+ __USE_FILE_OFFSET64
+ 
+ 
+ 48 
+ __šo_t
+  
+ 	tšo_t
+ ;
+ 
+ 50 
+ __šo64_t
+  
+ 	tšo_t
+ ;
+ 
+ 52 
+ 	#__šo_t_defšed
+ 
+ 
+ 	)
+ 
+ 55 #iâdeà
+ __mode_t_defšed
+ 
+ 
+ 56 
+ __mode_t
+  
+ 	tmode_t
+ ;
+ 
+ 57 
+ 	#__mode_t_defšed
+ 
+ 
+ 	)
+ 
+ 60 #iâdeà
+ __Æšk_t_defšed
+ 
+ 
+ 61 
+ __ƚk_t
+  
+ 	tƚk_t
+ ;
+ 
+ 62 
+ 	#__Æšk_t_defšed
+ 
+ 
+ 	)
+ 
+ 65 #iâdeà
+ __off_t_defšed
+ 
+ 
+ 66 #iâdeà
+ __USE_FILE_OFFSET64
+ 
+ 
+ 67 
+ __off_t
+  
+ 	toff_t
+ ;
+ 
+ 69 
+ __off64_t
+  
+ 	toff_t
+ ;
+ 
+ 71 
+ 	#__off_t_defšed
+ 
+ 
+ 	)
+ 
+ 74 #iâdeà
+ __uid_t_defšed
+ 
+ 
+ 75 
+ __uid_t
+  
+ 	tuid_t
+ ;
+ 
+ 76 
+ 	#__uid_t_defšed
+ 
+ 
+ 	)
+ 
+ 80 #ifdeà
+ __USE_UNIX98
+ 
+ 
+ 81 #iâdeà
+ __blkút_t_defšed
+ 
+ 
+ 82 #iâdeà
+ __USE_FILE_OFFSET64
+ 
+ 
+ 83 
+ __blkút_t
+  
+ 	tblkút_t
+ ;
+ 
+ 85 
+ __blkút64_t
+  
+ 	tblkút_t
+ ;
+ 
+ 87 
+ 	#__blkút_t_defšed
+ 
+ 
+ 	)
+ 
+ 90 #iâdeà
+ __blksize_t_defšed
+ 
+ 
+ 91 
+ __blksize_t
+  
+ 	tblksize_t
+ ;
+ 
+ 92 
+ 	#__blksize_t_defšed
+ 
+ 
+ 	)
+ 
+ 96 
+ 	g__BEGIN_DECLS
+ 
+ 
+ 98 
+ 	~<b™s/¡©.h
+ >
+ 
+ 100 #ià
+ defšed
+  
+ __USE_BSD
+  || defšed 
+ __USE_MISC
+  || defšed 
+ __USE_XOPEN
+ 
+ 
+ 101 
+ 	#S_IFMT
+  
+ __S_IFMT
+ 
+ 
+ 	)
+ 
+ 102 
+ 	#S_IFDIR
+  
+ __S_IFDIR
+ 
+ 
+ 	)
+ 
+ 103 
+ 	#S_IFCHR
+  
+ __S_IFCHR
+ 
+ 
+ 	)
+ 
+ 104 
+ 	#S_IFBLK
+  
+ __S_IFBLK
+ 
+ 
+ 	)
+ 
+ 105 
+ 	#S_IFREG
+  
+ __S_IFREG
+ 
+ 
+ 	)
+ 
+ 106 #ifdeà
+ __S_IFIFO
+ 
+ 
+ 107 
+ 	#S_IFIFO
+  
+ __S_IFIFO
+ 
+ 
+ 	)
+ 
+ 109 #ifdeà
+ __S_IFLNK
+ 
+ 
+ 110 
+ 	#S_IFLNK
+  
+ __S_IFLNK
+ 
+ 
+ 	)
+ 
+ 112 #ià(
+ defšed
+  
+ __USE_BSD
+  || defšed 
+ __USE_MISC
+  || defšed 
+ __USE_XOPEN2K
+ ) \
+ 
+ 113 && 
+ defšed
+  
+ 	g__S_IFSOCK
+ 
+ 
+ 114 
+ 	#S_IFSOCK
+  
+ __S_IFSOCK
+ 
+ 
+ 	)
+ 
+ 120 
+ 	#__S_ISTYPE
+ (
+ mode
+ , 
+ mask
+ è(((modeè& 
+ __S_IFMT
+ è=ð(mask))
+ 
+ 	)
+ 
+ 122 
+ 	#S_ISDIR
+ (
+ mode
+ è
+ 	`__S_ISTYPE
+ ((mode), 
+ __S_IFDIR
+ )
+ 
+ 	)
+ 
+ 123 
+ 	#S_ISCHR
+ (
+ mode
+ è
+ 	`__S_ISTYPE
+ ((mode), 
+ __S_IFCHR
+ )
+ 
+ 	)
+ 
+ 124 
+ 	#S_ISBLK
+ (
+ mode
+ è
+ 	`__S_ISTYPE
+ ((mode), 
+ __S_IFBLK
+ )
+ 
+ 	)
+ 
+ 125 
+ 	#S_ISREG
+ (
+ mode
+ è
+ 	`__S_ISTYPE
+ ((mode), 
+ __S_IFREG
+ )
+ 
+ 	)
+ 
+ 126 #ifdeà
+ __S_IFIFO
+ 
+ 
+ 127 
+ 	#S_ISFIFO
+ (
+ mode
+ è
+ 	`__S_ISTYPE
+ ((mode), 
+ __S_IFIFO
+ )
+ 
+ 	)
+ 
+ 129 #ifdeà
+ __S_IFLNK
+ 
+ 
+ 130 
+ 	#S_ISLNK
+ (
+ mode
+ è
+ 	`__S_ISTYPE
+ ((mode), 
+ __S_IFLNK
+ )
+ 
+ 	)
+ 
+ 133 #ifdef 
+ __USE_BSD
+ 
+ 
+ 134 #iâdeà
+ __S_IFLNK
+ 
+ 
+ 135 
+ 	#S_ISLNK
+ (
+ mode
+ è0
+ 
+ 	)
+ 
+ 137 #ifdeà
+ __S_IFSOCK
+ 
+ 
+ 138 
+ 	#S_ISSOCK
+ (
+ mode
+ è
+ 	`__S_ISTYPE
+ ((mode), 
+ __S_IFSOCK
+ )
+ 
+ 	)
+ 
+ 146 #ifdef 
+ __USE_POSIX199309
+ 
+ 
+ 147 
+ 	#S_TYPEISMQ
+ (
+ buf
+ è
+ 	`__S_TYPEISMQ
+ (buf)
+ 
+ 	)
+ 
+ 148 
+ 	#S_TYPEISSEM
+ (
+ buf
+ è
+ 	`__S_TYPEISSEM
+ (buf)
+ 
+ 	)
+ 
+ 149 
+ 	#S_TYPEISSHM
+ (
+ buf
+ è
+ 	`__S_TYPEISSHM
+ (buf)
+ 
+ 	)
+ 
+ 155 
+ 	#S_ISUID
+  
+ __S_ISUID
+ 
+ 
+ 	)
+ 
+ 156 
+ 	#S_ISGID
+  
+ __S_ISGID
+ 
+ 
+ 	)
+ 
+ 158 #ià
+ defšed
+  
+ __USE_BSD
+  || defšed 
+ __USE_MISC
+  || defšed 
+ __USE_XOPEN
+ 
+ 
+ 160 
+ 	#S_ISVTX
+  
+ __S_ISVTX
+ 
+ 
+ 	)
+ 
+ 163 
+ 	#S_IRUSR
+  
+ __S_IREAD
+ 
+ 
+ 	)
+ 
+ 164 
+ 	#S_IWUSR
+  
+ __S_IWRITE
+ 
+ 
+ 	)
+ 
+ 165 
+ 	#S_IXUSR
+  
+ __S_IEXEC
+ 
+ 
+ 	)
+ 
+ 167 
+ 	#S_IRWXU
+  (
+ __S_IREAD
+ |
+ __S_IWRITE
+ |
+ __S_IEXEC
+ )
+ 
+ 	)
+ 
+ 169 #ià
+ defšed
+  
+ __USE_MISC
+  && defšed 
+ __USE_BSD
+ 
+ 
+ 170 
+ 	#S_IREAD
+  
+ S_IRUSR
+ 
+ 
+ 	)
+ 
+ 171 
+ 	#S_IWRITE
+  
+ S_IWUSR
+ 
+ 
+ 	)
+ 
+ 172 
+ 	#S_IEXEC
+  
+ S_IXUSR
+ 
+ 
+ 	)
+ 
+ 175 
+ 	#S_IRGRP
+  (
+ S_IRUSR
+  >> 3è
+ 
+ 	)
+ 
+ 176 
+ 	#S_IWGRP
+  (
+ S_IWUSR
+  >> 3è
+ 
+ 	)
+ 
+ 177 
+ 	#S_IXGRP
+  (
+ S_IXUSR
+  >> 3è
+ 
+ 	)
+ 
+ 179 
+ 	#S_IRWXG
+  (
+ S_IRWXU
+  >> 3)
+ 
+ 	)
+ 
+ 181 
+ 	#S_IROTH
+  (
+ S_IRGRP
+  >> 3è
+ 
+ 	)
+ 
+ 182 
+ 	#S_IWOTH
+  (
+ S_IWGRP
+  >> 3è
+ 
+ 	)
+ 
+ 183 
+ 	#S_IXOTH
+  (
+ S_IXGRP
+  >> 3è
+ 
+ 	)
+ 
+ 185 
+ 	#S_IRWXO
+  (
+ S_IRWXG
+  >> 3)
+ 
+ 	)
+ 
+ 188 #ifdef 
+ __USE_BSD
+ 
+ 
+ 190 
+ 	#ACCESSPERMS
+  (
+ S_IRWXU
+ |
+ S_IRWXG
+ |
+ S_IRWXO
+ è
+ 
+ 	)
+ 
+ 191 
+ 	#ALLPERMS
+  (
+ S_ISUID
+ |
+ S_ISGID
+ |
+ S_ISVTX
+ |
+ S_IRWXU
+ |
+ S_IRWXG
+ |
+ S_IRWXO
+ )
+ 
+ 	)
+ 
+ 192 
+ 	#DEFFILEMODE
+  (
+ S_IRUSR
+ |
+ S_IWUSR
+ |
+ S_IRGRP
+ |
+ S_IWGRP
+ |
+ S_IROTH
+ |
+ S_IWOTH
+ )
+ 
+ 	)
+ 
+ 194 
+ 	#S_BLKSIZE
+  512
+ 
+ 	)
+ 
+ 198 #iâdeà
+ __USE_FILE_OFFSET64
+ 
+ 
+ 200 

+ 	$¡©
+  (
+ __cڡ
+  *
+ __»¡riù
+  
+ __fže
+ ,
+ 
+ 201 
+ ¡©
+  *
+ __»¡riù
+  
+ __buf
+ è
+ __THROW
+ ;
+ 
+ 205 

+ 	$f¡©
+  (
+ __fd
+ , 
+ ¡©
+  *
+ __buf
+ è
+ __THROW
+ ;
+ 
+ 207 #ifdeà
+ __REDIRECT
+ 
+ 
+ 208 

+ 	`__REDIRECT
+  (
+ ¡©
+ ,
+ 
+ 209 (
+ __cڡ
+  *
+ __»¡riù
+  
+ __fže
+ ,
+ 
+ 210 
+ ¡©
+  *
+ __»¡riù
+  
+ __buf
+ è
+ __THROW
+ ,
+ 
+ 211 
+ ¡©64
+ );
+ 
+ 212 

+ 	`__REDIRECT
+  (
+ f¡©
+ , (
+ __fd
+ , 
+ ¡©
+  *
+ __buf
+ è
+ __THROW
+ , 
+ f¡©64
+ );
+ 
+ 214 
+ 	#¡©
+  
+ ¡©64
+ 
+ 
+ 	)
+ 
+ 215 
+ 	#f¡©
+  
+ f¡©64
+ 
+ 
+ 	)
+ 
+ 218 #ifdeà
+ __USE_LARGEFILE64
+ 
+ 
+ 219 

+ 	$¡©64
+  (
+ __cڡ
+  *
+ __»¡riù
+  
+ __fže
+ ,
+ 
+ 220 
+ ¡©64
+  *
+ __»¡riù
+  
+ __buf
+ è
+ __THROW
+ ;
+ 
+ 221 

+ 	$f¡©64
+  (
+ __fd
+ , 
+ ¡©64
+  *
+ __buf
+ è
+ __THROW
+ ;
+ 
+ 224 #ià
+ defšed
+  
+ __USE_BSD
+  || defšed 
+ __USE_XOPEN_EXTENDED
+ 
+ 
+ 225 #iâdeà
+ __USE_FILE_OFFSET64
+ 
+ 
+ 228 

+ 	$l¡©
+  (
+ __cڡ
+  *
+ __»¡riù
+  
+ __fže
+ ,
+ 
+ 229 
+ ¡©
+  *
+ __»¡riù
+  
+ __buf
+ è
+ __THROW
+ ;
+ 
+ 231 #ifdeà
+ __REDIRECT
+ 
+ 
+ 232 

+ 	`__REDIRECT
+  (
+ l¡©
+ ,
+ 
+ 233 (
+ __cڡ
+  *
+ __»¡riù
+  
+ __fže
+ ,
+ 
+ 234 
+ ¡©
+  *
+ __»¡riù
+  
+ __buf
+ è
+ __THROW
+ ,
+ 
+ 235 
+ l¡©64
+ );
+ 
+ 237 
+ 	#l¡©
+  
+ l¡©64
+ 
+ 
+ 	)
+ 
+ 240 #ifdeà
+ __USE_LARGEFILE64
+ 
+ 
+ 241 

+ 	$l¡©64
+  (
+ __cڡ
+  *
+ __»¡riù
+  
+ __fže
+ ,
+ 
+ 242 
+ ¡©64
+  *
+ __»¡riù
+  
+ __buf
+ è
+ __THROW
+ ;
+ 
+ 249 

+ 	$chmod
+  (
+ __cڡ
+  *
+ __fže
+ , 
+ __mode_t
+  
+ __mode
+ è
+ __THROW
+ ;
+ 
+ 252 #ià
+ defšed
+  
+ __USE_BSD
+  || defšed 
+ __USE_XOPEN_EXTENDED
+ 
+ 
+ 253 

+ 	$fchmod
+  (
+ __fd
+ , 
+ __mode_t
+  
+ __mode
+ è
+ __THROW
+ ;
+ 
+ 259 
+ __mode_t
+  
+ 	$umask
+  (
+ __mode_t
+  
+ __mask
+ è
+ __THROW
+ ;
+ 
+ 261 #ifdef 
+ __USE_GNU
+ 
+ 
+ 264 
+ __mode_t
+  
+ 	$g‘umask
+  (è
+ __THROW
+ ;
+ 
+ 268 

+ 	$mkdœ
+  (
+ __cڡ
+  *
+ __·th
+ , 
+ __mode_t
+  
+ __mode
+ è
+ __THROW
+ ;
+ 
+ 273 #ià
+ defšed
+  
+ __USE_MISC
+  || defšed 
+ __USE_BSD
+  || defšed 
+ __USE_XOPEN_EXTENDED
+ 
+ 
+ 274 

+ 	$mknod
+  (
+ __cڡ
+  *
+ __·th
+ , 
+ __mode_t
+  
+ __mode
+ , 
+ __dev_t
+  
+ __dev
+ )
+ 
+ 275 
+ __THROW
+ ;
+ 
+ 280 

+ 	$mkfifo
+  (
+ __cڡ
+  *
+ __·th
+ , 
+ __mode_t
+  
+ __mode
+ è
+ __THROW
+ ;
+ 
+ 297 #iâdeà
+ _STAT_VER
+ 
+ 
+ 298 
+ 	#_STAT_VER
+  0
+ 
+ 	)
+ 
+ 300 #iâdeà
+ _MKNOD_VER
+ 
+ 
+ 301 
+ 	#_MKNOD_VER
+  0
+ 
+ 	)
+ 
+ 305 #iâdeà
+ __USE_FILE_OFFSET64
+ 
+ 
+ 306 

+ 	$__fx¡©
+  (
+ __v”
+ , 
+ __fždes
+ , 
+ ¡©
+  *
+ __¡©_buf
+ è
+ __THROW
+ ;
+ 
+ 307 

+ 	$__x¡©
+  (
+ __v”
+ , 
+ __cڡ
+  *
+ __fž’ame
+ ,
+ 
+ 308 
+ ¡©
+  *
+ __¡©_buf
+ è
+ __THROW
+ ;
+ 
+ 309 

+ 	$__lx¡©
+  (
+ __v”
+ , 
+ __cڡ
+  *
+ __fž’ame
+ ,
+ 
+ 310 
+ ¡©
+  *
+ __¡©_buf
+ è
+ __THROW
+ ;
+ 
+ 312 #ifdeà
+ __REDIRECT
+ 
+ 
+ 313 

+ 	`__REDIRECT
+  (
+ __fx¡©
+ , (
+ __v”
+ , 
+ __fždes
+ ,
+ 
+ 314 
+ ¡©
+  *
+ __¡©_buf
+ è
+ __THROW
+ ,
+ 
+ 315 
+ __fx¡©64
+ );
+ 
+ 316 

+ 	`__REDIRECT
+  (
+ __x¡©
+ , (
+ __v”
+ , 
+ __cڡ
+  *
+ __fž’ame
+ ,
+ 
+ 317 
+ ¡©
+  *
+ __¡©_buf
+ è
+ __THROW
+ , 
+ __x¡©64
+ );
+ 
+ 318 

+ 	`__REDIRECT
+  (
+ __lx¡©
+ , (
+ __v”
+ , 
+ __cڡ
+  *
+ __fž’ame
+ ,
+ 
+ 319 
+ ¡©
+  *
+ __¡©_buf
+ è
+ __THROW
+ ,
+ 
+ 320 
+ __lx¡©64
+ );
+ 
+ 323 
+ 	#__fx¡©
+  
+ __fx¡©64
+ 
+ 
+ 	)
+ 
+ 324 
+ 	#__x¡©
+  
+ __x¡©64
+ 
+ 
+ 	)
+ 
+ 325 
+ 	#__lx¡©
+  
+ __lx¡©64
+ 
+ 
+ 	)
+ 
+ 329 #ifdeà
+ __USE_LARGEFILE64
+ 
+ 
+ 330 

+ 	$__fx¡©64
+  (
+ __v”
+ , 
+ __fždes
+ , 
+ ¡©64
+  *
+ __¡©_buf
+ )
+ 
+ 331 
+ __THROW
+ ;
+ 
+ 332 

+ 	$__x¡©64
+  (
+ __v”
+ , 
+ __cڡ
+  *
+ __fž’ame
+ ,
+ 
+ 333 
+ ¡©64
+  *
+ __¡©_buf
+ è
+ __THROW
+ ;
+ 
+ 334 

+ 	$__lx¡©64
+  (
+ __v”
+ , 
+ __cڡ
+  *
+ __fž’ame
+ ,
+ 
+ 335 
+ ¡©64
+  *
+ __¡©_buf
+ è
+ __THROW
+ ;
+ 
+ 337 

+ 	$__xmknod
+  (
+ __v”
+ , 
+ __cڡ
+  *
+ __·th
+ , 
+ __mode_t
+  
+ __mode
+ ,
+ 
+ 338 
+ __dev_t
+  *
+ __dev
+ è
+ __THROW
+ ;
+ 
+ 340 #ià
+ defšed
+  
+ __GNUC__
+  && __GNUC__ >= 2
+ 
+ 343 
+ __šlše__
+  
+ 	$¡©
+  (
+ __cڡ
+  *
+ __·th
+ ,
+ 
+ 344 
+ ¡©
+  *
+ __¡©buf
+ è
+ __THROW
+ 
+ 
+ 346  
+ 	`__x¡©
+  (
+ _STAT_VER
+ , 
+ __·th
+ , 
+ __¡©buf
+ );
+ 
+ 347 
+ 	}
+ }
+ 
+ 349 #ià
+ defšed
+  
+ __USE_BSD
+  || defšed 
+ __USE_XOPEN_EXTENDED
+ 
+ 
+ 350 
+ __šlše__
+  
+ 	$l¡©
+  (
+ __cڡ
+  *
+ __·th
+ ,
+ 
+ 351 
+ ¡©
+  *
+ __¡©buf
+ è
+ __THROW
+ 
+ 
+ 353  
+ 	`__lx¡©
+  (
+ _STAT_VER
+ , 
+ __·th
+ , 
+ __¡©buf
+ );
+ 
+ 354 
+ 	}
+ }
+ 
+ 357 
+ __šlše__
+  
+ 	$f¡©
+  (
+ __fd
+ , 
+ ¡©
+  *
+ __¡©buf
+ è
+ __THROW
+ 
+ 
+ 359  
+ 	`__fx¡©
+  (
+ _STAT_VER
+ , 
+ __fd
+ , 
+ __¡©buf
+ );
+ 
+ 360 
+ 	}
+ }
+ 
+ 362 #ià
+ defšed
+  
+ __USE_MISC
+  || defšed 
+ __USE_BSD
+ 
+ 
+ 363 
+ __šlše__
+  
+ 	$mknod
+  (
+ __cڡ
+  *
+ __·th
+ , 
+ __mode_t
+  
+ __mode
+ ,
+ 
+ 364 
+ __dev_t
+  
+ __dev
+ è
+ __THROW
+ 
+ 
+ 366  
+ 	`__xmknod
+  (
+ _MKNOD_VER
+ , 
+ __·th
+ , 
+ __mode
+ , &
+ __dev
+ );
+ 
+ 367 
+ 	}
+ }
+ 
+ 370 #ià
+ defšed
+  
+ __USE_LARGEFILE64
+  \
+ 
+ 371 && (! 
+ defšed
+  
+ __USE_FILE_OFFSET64
+  \
+ 
+ 372 || (
+ defšed
+  
+ __REDIRECT
+  && defšed 
+ __OPTIMIZE__
+ ))
+ 
+ 373 
+ __šlše__
+  
+ 	$¡©64
+  (
+ __cڡ
+  *
+ __·th
+ ,
+ 
+ 374 
+ ¡©64
+  *
+ __¡©buf
+ è
+ __THROW
+ 
+ 
+ 376  
+ 	`__x¡©64
+  (
+ _STAT_VER
+ , 
+ __·th
+ , 
+ __¡©buf
+ );
+ 
+ 377 
+ 	}
+ }
+ 
+ 379 #ià
+ defšed
+  
+ __USE_BSD
+  || defšed 
+ __USE_XOPEN_EXTENDED
+ 
+ 
+ 380 
+ __šlše__
+  
+ 	$l¡©64
+  (
+ __cڡ
+  *
+ __·th
+ ,
+ 
+ 381 
+ ¡©64
+  *
+ __¡©buf
+ è
+ __THROW
+ 
+ 
+ 383  
+ 	`__lx¡©64
+  (
+ _STAT_VER
+ , 
+ __·th
+ , 
+ __¡©buf
+ );
+ 
+ 384 
+ 	}
+ }
+ 
+ 387 
+ __šlše__
+  
+ 	$f¡©64
+  (
+ __fd
+ , 
+ ¡©64
+  *
+ __¡©buf
+ è
+ __THROW
+ 
+ 
+ 389  
+ 	`__fx¡©64
+  (
+ _STAT_VER
+ , 
+ __fd
+ , 
+ __¡©buf
+ );
+ 
+ 390 
+ 	}
+ }
+ 
+ 395 
+ __END_DECLS
+ 
+ 
+ 	@/usr/include/sys/time.h
+ 
+ 19 #iâdeà
+ _SYS_TIME_H
+ 
+ 
+ 20 
+ 	#_SYS_TIME_H
+  1
+ 
+ 	)
+ 
+ 22 
+ 	~<ã©u»s.h
+ >
+ 
+ 24 
+ 	~<b™s/ty³s.h
+ >
+ 
+ 25 
+ 	#__Ãed_time_t
+ 
+ 
+ 	)
+ 
+ 26 
+ 	~<time.h
+ >
+ 
+ 27 
+ 	#__Ãed_timev®
+ 
+ 
+ 	)
+ 
+ 28 
+ 	~<b™s/time.h
+ >
+ 
+ 30 
+ 	~<sys/£Ëù.h
+ >
+ 
+ 32 #iâdeà
+ __su£cÚds_t_defšed
+ 
+ 
+ 33 
+ __su£cÚds_t
+  
+ 	tsu£cÚds_t
+ ;
+ 
+ 34 
+ 	#__su£cÚds_t_defšed
+ 
+ 
+ 	)
+ 
+ 38 
+ 	g__BEGIN_DECLS
+ 
+ 
+ 40 #ifdeà
+ __USE_GNU
+ 
+ 
+ 42 
+ 	#TIMEVAL_TO_TIMESPEC
+ (
+ tv
+ , 
+ ts
+ ) { \
+ 
+ 43 (
+ ts
+ )->
+ tv_£c
+  = (
+ tv
+ )->tv_sec; \
+ 
+ 44 (
+ ts
+ )->
+ tv_n£c
+  = (
+ tv
+ )->
+ tv_u£c
+  * 1000; \
+ 
+ 45 }
+ 
+ 	)
+ 
+ 46 
+ 	#TIMESPEC_TO_TIMEVAL
+ (
+ tv
+ , 
+ ts
+ ) { \
+ 
+ 47 (
+ tv
+ )->
+ tv_£c
+  = (
+ ts
+ )->tv_sec; \
+ 
+ 48 (
+ tv
+ )->
+ tv_u£c
+  = (
+ ts
+ )->
+ tv_n£c
+  / 1000; \
+ 
+ 49 }
+ 
+ 	)
+ 
+ 53 #ifdeà
+ __USE_BSD
+ 
+ 
+ 56 
+ 	stimezÚe
+ 
+ 
+ 58 
+ 	mtz_mšu‹swe¡
+ ;
+ 
+ 59 
+ 	mtz_d¡time
+ ;
+ 
+ 62 
+ timezÚe
+  *
+ 	t__»¡riù
+  
+ 	t__timezÚe_±r_t
+ ;
+ 
+ 64 *
+ 	t__»¡riù
+  
+ 	t__timezÚe_±r_t
+ ;
+ 
+ 72 

+ 	$g‘timeofday
+  (
+ timev®
+  *
+ __»¡riù
+  
+ __tv
+ ,
+ 
+ 73 
+ __timezÚe_±r_t
+  
+ __tz
+ è
+ __THROW
+ ;
+ 
+ 75 #ifdeà
+ __USE_BSD
+ 
+ 
+ 78 

+ 	$£‰imeofday
+  (
+ __cڡ
+  
+ timev®
+  *
+ __tv
+ ,
+ 
+ 79 
+ __cڡ
+  
+ timezÚe
+  *
+ __tz
+ è
+ __THROW
+ ;
+ 
+ 85 

+ 	$adjtime
+  (
+ __cڡ
+  
+ timev®
+  *
+ __d–
+ ,
+ 
+ 86 
+ timev®
+  *
+ __Þdd–
+ è
+ __THROW
+ ;
+ 
+ 91 
+ 	e__™im”_which
+ 
+ 
+ 94 
+ ITIMER_REAL
+  = 0,
+ 
+ 95 
+ 	#ITIMER_REAL
+  
+ ITIMER_REAL
+ 
+ 
+ 	)
+ 
+ 97 
+ ITIMER_VIRTUAL
+  = 1,
+ 
+ 98 
+ 	#ITIMER_VIRTUAL
+  
+ ITIMER_VIRTUAL
+ 
+ 
+ 	)
+ 
+ 101 
+ ITIMER_PROF
+  = 2
+ 
+ 102 
+ 	#ITIMER_PROF
+  
+ ITIMER_PROF
+ 
+ 
+ 	)
+ 
+ 107 
+ 	s™im”v®
+ 
+ 
+ 110 
+ timev®
+  
+ ™_š‹rv®
+ ;
+ 
+ 112 
+ timev®
+  
+ ™_v®ue
+ ;
+ 
+ 115 #ià
+ defšed
+  
+ __USE_GNU
+  && !defšed 
+ __ýlu¥lus
+ 
+ 
+ 118 
+ __™im”_which
+  
+ 	t__™im”_which_t
+ ;
+ 
+ 120 
+ 	t__™im”_which_t
+ ;
+ 
+ 125 

+ 	$g‘™im”
+  (
+ __™im”_which_t
+  
+ __which
+ ,
+ 
+ 126 
+ ™im”v®
+  *
+ __v®ue
+ è
+ __THROW
+ ;
+ 
+ 131 

+ 	$£t™im”
+  (
+ __™im”_which_t
+  
+ __which
+ ,
+ 
+ 132 
+ __cڡ
+  
+ ™im”v®
+  *
+ __»¡riù
+  
+ __Ãw
+ ,
+ 
+ 133 
+ ™im”v®
+  *
+ __»¡riù
+  
+ __Þd
+ è
+ __THROW
+ ;
+ 
+ 137 

+ 	`utimes
+  (
+ __cڡ
+  *
+ __fže
+ , __cڡ 
+ timev®
+  
+ __tvp
+ [2])
+ 
+ 138 
+ __THROW
+ ;
+ 
+ 141 #ifdeà
+ __USE_BSD
+ 
+ 
+ 144 
+ 	#tim”is£t
+ (
+ tvp
+ è(Ñvp)->
+ tv_£c
+  || (tvp)->
+ tv_u£c
+ )
+ 
+ 	)
+ 
+ 145 
+ 	#tim”þ—r
+ (
+ tvp
+ è(Ñvp)->
+ tv_£c
+  = (tvp)->
+ tv_u£c
+  = 0)
+ 
+ 	)
+ 
+ 146 
+ 	#tim”cmp
+ (
+ a
+ , 
+ b
+ , 
+ CMP
+ ) \
+ 
+ 147 (((
+ a
+ )->
+ tv_£c
+  =ð(
+ b
+ )->tv_sec) ? \
+ 
+ 148 ((
+ a
+ )->
+ tv_u£c
+  
+ 	`CMP
+  (
+ b
+ )->tv_usec) : \
+ 
+ 149 ((
+ a
+ )->
+ tv_£c
+  
+ 	`CMP
+  (
+ b
+ )->tv_£c))
+ 
+ 	)
+ 
+ 150 
+ 	#tim”add
+ (
+ a
+ , 
+ b
+ , 
+ »suÉ
+ ) \
+ 
+ 152 (
+ »suÉ
+ )->
+ tv_£c
+  = (
+ a
+ )->tv_£ø+ (
+ b
+ )->tv_sec; \
+ 
+ 153 (
+ »suÉ
+ )->
+ tv_u£c
+  = (
+ a
+ )->tv_u£ø+ (
+ b
+ )->tv_usec; \
+ 
+ 154 ià((
+ »suÉ
+ )->
+ tv_u£c
+  >= 1000000) \
+ 
+ 156 ++(
+ »suÉ
+ )->
+ tv_£c
+ ; \
+ 
+ 157 (
+ »suÉ
+ )->
+ tv_u£c
+  -= 1000000; \
+ 
+ 159 
+ 	}
+ } 0)
+ 
+ 	)
+ 
+ 160 
+ 	#tim”sub
+ (
+ a
+ , 
+ b
+ , 
+ »suÉ
+ ) \
+ 
+ 162 (
+ »suÉ
+ )->
+ tv_£c
+  = (
+ a
+ )->tv_£ø- (
+ b
+ )->tv_sec; \
+ 
+ 163 (
+ »suÉ
+ )->
+ tv_u£c
+  = (
+ a
+ )->tv_u£ø- (
+ b
+ )->tv_usec; \
+ 
+ 164 ià((
+ »suÉ
+ )->
+ tv_u£c
+  < 0) { \
+ 
+ 165 --(
+ »suÉ
+ )->
+ tv_£c
+ ; \
+ 
+ 166 (
+ »suÉ
+ )->
+ tv_u£c
+  += 1000000; \
+ 
+ 168 } 0)
+ 
+ 	)
+ 
+ 171 
+ 	g__END_DECLS
+ 
+ 
+ 	@/usr/include/sys/times.h
+ 
+ 23 #iâdef 
+ _SYS_TIMES_H
+ 
+ 
+ 24 
+ 	#_SYS_TIMES_H
+  1
+ 
+ 	)
+ 
+ 26 
+ 	~<ã©u»s.h
+ >
+ 
+ 28 
+ 	#__Ãed_þock_t
+ 
+ 
+ 	)
+ 
+ 29 
+ 	~<time.h
+ >
+ 
+ 32 
+ __BEGIN_DECLS
+ 
+ 
+ 35 
+ 	stms
+ 
+ 
+ 37 
+ þock_t
+  
+ 	mtms_utime
+ ;
+ 
+ 38 
+ þock_t
+  
+ 	mtms_¡ime
+ ;
+ 
+ 40 
+ þock_t
+  
+ 	mtms_cutime
+ ;
+ 
+ 41 
+ þock_t
+  
+ 	mtms_c¡ime
+ ;
+ 
+ 49 
+ þock_t
+  
+ 	$times
+  (
+ tms
+  *
+ __bufãr
+ è
+ __THROW
+ ;
+ 
+ 51 
+ __END_DECLS
+ 
+ 
+ 	@/usr/include/sys/types.h
+ 
+ 23 #iâdef 
+ _SYS_TYPES_H
+ 
+ 
+ 24 
+ 	#_SYS_TYPES_H
+  1
+ 
+ 	)
+ 
+ 26 
+ 	~<ã©u»s.h
+ >
+ 
+ 28 
+ 	g__BEGIN_DECLS
+ 
+ 
+ 30 
+ 	~<b™s/ty³s.h
+ >
+ 
+ 32 #ifdef 
+ __USE_BSD
+ 
+ 
+ 33 #iâdeà
+ __u_ch¬_defšed
+ 
+ 
+ 34 
+ __u_ch¬
+  
+ 	tu_ch¬
+ ;
+ 
+ 35 
+ __u_shÜt
+  
+ 	tu_shÜt
+ ;
+ 
+ 36 
+ __u_št
+  
+ 	tu_št
+ ;
+ 
+ 37 
+ __u_lÚg
+  
+ 	tu_lÚg
+ ;
+ 
+ 38 
+ __quad_t
+  
+ 	tquad_t
+ ;
+ 
+ 39 
+ __u_quad_t
+  
+ 	tu_quad_t
+ ;
+ 
+ 40 
+ __fsid_t
+  
+ 	tfsid_t
+ ;
+ 
+ 41 
+ 	#__u_ch¬_defšed
+ 
+ 
+ 	)
+ 
+ 45 
+ __loff_t
+  
+ 	tloff_t
+ ;
+ 
+ 47 #iâdeà
+ __šo_t_defšed
+ 
+ 
+ 48 #iâdeà
+ __USE_FILE_OFFSET64
+ 
+ 
+ 49 
+ __šo_t
+  
+ 	tšo_t
+ ;
+ 
+ 51 
+ __šo64_t
+  
+ 	tšo_t
+ ;
+ 
+ 53 
+ 	#__šo_t_defšed
+ 
+ 
+ 	)
+ 
+ 55 #ià
+ defšed
+  
+ __USE_LARGEFILE64
+  && !defšed 
+ __šo64_t_defšed
+ 
+ 
+ 56 
+ __šo64_t
+  
+ 	tšo64_t
+ ;
+ 
+ 57 
+ 	#__šo64_t_defšed
+ 
+ 
+ 	)
+ 
+ 60 #iâdeà
+ __dev_t_defšed
+ 
+ 
+ 61 
+ __dev_t
+  
+ 	tdev_t
+ ;
+ 
+ 62 
+ 	#__dev_t_defšed
+ 
+ 
+ 	)
+ 
+ 65 #iâdeà
+ __gid_t_defšed
+ 
+ 
+ 66 
+ __gid_t
+  
+ 	tgid_t
+ ;
+ 
+ 67 
+ 	#__gid_t_defšed
+ 
+ 
+ 	)
+ 
+ 70 #iâdeà
+ __mode_t_defšed
+ 
+ 
+ 71 
+ __mode_t
+  
+ 	tmode_t
+ ;
+ 
+ 72 
+ 	#__mode_t_defšed
+ 
+ 
+ 	)
+ 
+ 75 #iâdeà
+ __Æšk_t_defšed
+ 
+ 
+ 76 
+ __ƚk_t
+  
+ 	tƚk_t
+ ;
+ 
+ 77 
+ 	#__Æšk_t_defšed
+ 
+ 
+ 	)
+ 
+ 80 #iâdeà
+ __uid_t_defšed
+ 
+ 
+ 81 
+ __uid_t
+  
+ 	tuid_t
+ ;
+ 
+ 82 
+ 	#__uid_t_defšed
+ 
+ 
+ 	)
+ 
+ 85 #iâdeà
+ __off_t_defšed
+ 
+ 
+ 86 #iâdeà
+ __USE_FILE_OFFSET64
+ 
+ 
+ 87 
+ __off_t
+  
+ 	toff_t
+ ;
+ 
+ 89 
+ __off64_t
+  
+ 	toff_t
+ ;
+ 
+ 91 
+ 	#__off_t_defšed
+ 
+ 
+ 	)
+ 
+ 93 #ià
+ defšed
+  
+ __USE_LARGEFILE64
+  && !defšed 
+ __off64_t_defšed
+ 
+ 
+ 94 
+ __off64_t
+  
+ 	toff64_t
+ ;
+ 
+ 95 
+ 	#__off64_t_defšed
+ 
+ 
+ 	)
+ 
+ 98 #iâdeà
+ __pid_t_defšed
+ 
+ 
+ 99 
+ __pid_t
+  
+ 	tpid_t
+ ;
+ 
+ 100 
+ 	#__pid_t_defšed
+ 
+ 
+ 	)
+ 
+ 103 #ià(
+ defšed
+  
+ __USE_SVID
+  || defšed 
+ __USE_XOPEN
+ è&& !defšed 
+ __id_t_defšed
+ 
+ 
+ 104 
+ __id_t
+  
+ 	tid_t
+ ;
+ 
+ 105 
+ 	#__id_t_defšed
+ 
+ 
+ 	)
+ 
+ 108 #iâdeà
+ __ssize_t_defšed
+ 
+ 
+ 109 
+ __ssize_t
+  
+ 	tssize_t
+ ;
+ 
+ 110 
+ 	#__ssize_t_defšed
+ 
+ 
+ 	)
+ 
+ 113 #ifdef 
+ __USE_BSD
+ 
+ 
+ 114 #iâdeà
+ __daddr_t_defšed
+ 
+ 
+ 115 
+ __daddr_t
+  
+ 	tdaddr_t
+ ;
+ 
+ 116 
+ __ÿddr_t
+  
+ 	tÿddr_t
+ ;
+ 
+ 117 
+ 	#__daddr_t_defšed
+ 
+ 
+ 	)
+ 
+ 121 #ià(
+ defšed
+  
+ __USE_SVID
+  || defšed 
+ __USE_XOPEN
+ è&& !defšed 
+ __key_t_defšed
+ 
+ 
+ 122 
+ __key_t
+  
+ 	tkey_t
+ ;
+ 
+ 123 
+ 	#__key_t_defšed
+ 
+ 
+ 	)
+ 
+ 126 #ifdeà
+ __USE_XOPEN
+ 
+ 
+ 127 
+ 	#__Ãed_þock_t
+ 
+ 
+ 	)
+ 
+ 129 
+ 	#__Ãed_time_t
+ 
+ 
+ 	)
+ 
+ 130 
+ 	#__Ãed_tim”_t
+ 
+ 
+ 	)
+ 
+ 131 
+ 	#__Ãed_þockid_t
+ 
+ 
+ 	)
+ 
+ 132 
+ 	~<time.h
+ >
+ 
+ 134 #ifdeà
+ __USE_XOPEN
+ 
+ 
+ 135 #iâdeà
+ __u£cÚds_t_defšed
+ 
+ 
+ 136 
+ __u£cÚds_t
+  
+ 	tu£cÚds_t
+ ;
+ 
+ 137 
+ 	#__u£cÚds_t_defšed
+ 
+ 
+ 	)
+ 
+ 139 #iâdeà
+ __su£cÚds_t_defšed
+ 
+ 
+ 140 
+ __su£cÚds_t
+  
+ 	tsu£cÚds_t
+ ;
+ 
+ 141 
+ 	#__su£cÚds_t_defšed
+ 
+ 
+ 	)
+ 
+ 145 
+ 	#__Ãed_size_t
+ 
+ 
+ 	)
+ 
+ 146 
+ 	~<¡ddef.h
+ >
+ 
+ 148 #ifdeà
+ __USE_MISC
+ 
+ 
+ 150 
+ 	tulÚg
+ ;
+ 
+ 151 
+ 	tushÜt
+ ;
+ 
+ 152 
+ 	tušt
+ ;
+ 
+ 157 #ià!
+ __GNUC_PREREQ
+  (2, 7)
+ 
+ 160 #iâdeà
+ __št8_t_defšed
+ 
+ 
+ 161 
+ 	#__št8_t_defšed
+ 
+ 
+ 	)
+ 
+ 162 
+ 	tšt8_t
+ ;
+ 
+ 163 
+ 	tšt16_t
+ ;
+ 
+ 164 
+ 	tšt32_t
+ ;
+ 
+ 165 #ià
+ __GLIBC_HAVE_LONG_LONG
+ 
+ 
+ 166 
+ __ex‹nsiÚ__
+  
+ 	tšt64_t
+ ;
+ 
+ 171 
+ 	tu_št8_t
+ ;
+ 
+ 172 
+ 	tu_št16_t
+ ;
+ 
+ 173 
+ 	tu_št32_t
+ ;
+ 
+ 174 #ià
+ __GLIBC_HAVE_LONG_LONG
+ 
+ 
+ 175 
+ __ex‹nsiÚ__
+  
+ 	tu_št64_t
+ ;
+ 
+ 178 
+ 	t»gi¡”_t
+ ;
+ 
+ 183 
+ 	#__štN_t
+ (
+ N
+ , 
+ MODE
+ ) \
+ 
+ 184 ##
+ 	tN
+ ##
+ 	t_t
+  
+ 	t__©Œibu‹__
+  ((
+ 	t__mode__
+  (
+ 	tMODE
+ )))
+ 
+ 	)
+ 
+ 185 
+ 	t__u_štN_t
+ (
+ 	tN
+ , 
+ 	tMODE
+ ) \
+ 
+ 186 
+ 	tu_št
+ ##
+ 	tN
+ ##
+ 	t_t
+  
+ 	t__©Œibu‹__
+  ((
+ 	t__mode__
+  (
+ 	tMODE
+ )))
+ 
+ 	)
+ 
+ 188 #iâdeà
+ 	t__št8_t_defšed
+ 
+ 
+ 189 
+ 	t__št8_t_defšed
+ 
+ 
+ 	)
+ 
+ 190 
+ 	t__štN_t
+  (8, 
+ 	t__QI__
+ );
+ 
+ 191 
+ __štN_t
+  (16, 
+ __HI__
+ );
+ 
+ 192 
+ __štN_t
+  (32, 
+ __SI__
+ );
+ 
+ 193 
+ __štN_t
+  (64, 
+ __DI__
+ );
+ 
+ 196 
+ __u_štN_t
+  (8, 
+ __QI__
+ );
+ 
+ 197 
+ __u_štN_t
+  (16, 
+ __HI__
+ );
+ 
+ 198 
+ __u_štN_t
+  (32, 
+ __SI__
+ );
+ 
+ 199 
+ __u_štN_t
+  (64, 
+ __DI__
+ );
+ 
+ 201 
+ 	t»gi¡”_t
+  
+ 	t__©Œibu‹__
+  ((
+ 	t__mode__
+  (
+ 	t__wÜd__
+ )));
+ 
+ 207 
+ 	#__BIT_TYPES_DEFINED__
+  1
+ 
+ 	)
+ 
+ 210 #ifdef 
+ __USE_BSD
+ 
+ 
+ 212 
+ 	~<’dŸn.h
+ >
+ 
+ 215 
+ 	~<sys/£Ëù.h
+ >
+ 
+ 218 
+ 	~<sys/sysmaüos.h
+ >
+ 
+ 222 #ià
+ defšed
+  
+ __USE_UNIX98
+  && !defšed 
+ __blksize_t_defšed
+ 
+ 
+ 223 
+ __blksize_t
+  
+ 	tblksize_t
+ ;
+ 
+ 224 
+ 	#__blksize_t_defšed
+ 
+ 
+ 	)
+ 
+ 228 #iâdeà
+ __USE_FILE_OFFSET64
+ 
+ 
+ 229 #iâdeà
+ __blkút_t_defšed
+ 
+ 
+ 230 
+ __blkút_t
+  
+ 	tblkút_t
+ ;
+ 
+ 231 
+ 	#__blkút_t_defšed
+ 
+ 
+ 	)
+ 
+ 233 #iâdeà
+ __fsblkút_t_defšed
+ 
+ 
+ 234 
+ __fsblkút_t
+  
+ 	tfsblkút_t
+ ;
+ 
+ 235 
+ 	#__fsblkút_t_defšed
+ 
+ 
+ 	)
+ 
+ 237 #iâdeà
+ __fsfžút_t_defšed
+ 
+ 
+ 238 
+ __fsfžút_t
+  
+ 	tfsfžút_t
+ ;
+ 
+ 239 
+ 	#__fsfžút_t_defšed
+ 
+ 
+ 	)
+ 
+ 242 #iâdeà
+ __blkút_t_defšed
+ 
+ 
+ 243 
+ __blkút64_t
+  
+ 	tblkút_t
+ ;
+ 
+ 244 
+ 	#__blkút_t_defšed
+ 
+ 
+ 	)
+ 
+ 246 #iâdeà
+ __fsblkút_t_defšed
+ 
+ 
+ 247 
+ __fsblkút64_t
+  
+ 	tfsblkút_t
+ ;
+ 
+ 248 
+ 	#__fsblkút_t_defšed
+ 
+ 
+ 	)
+ 
+ 250 #iâdeà
+ __fsfžút_t_defšed
+ 
+ 
+ 251 
+ __fsfžút64_t
+  
+ 	tfsfžút_t
+ ;
+ 
+ 252 
+ 	#__fsfžút_t_defšed
+ 
+ 
+ 	)
+ 
+ 256 #ifdeà
+ __USE_LARGEFILE64
+ 
+ 
+ 257 
+ __blkút64_t
+  
+ 	tblkút64_t
+ ;
+ 
+ 258 
+ __fsblkút64_t
+  
+ 	tfsblkút64_t
+ ;
+ 
+ 259 
+ __fsfžút64_t
+  
+ 	tfsfžút64_t
+ ;
+ 
+ 262 
+ 	g__END_DECLS
+ 
+ 
+ 	@/usr/include/time.h
+ 
+ 23 #iâdef 
+ _TIME_H
+ 
+ 
+ 25 #ià(! 
+ defšed
+  
+ __Ãed_time_t
+  && !defšed 
+ __Ãed_þock_t
+  && \
+ 
+ 26 ! 
+ defšed
+  
+ 	g__Ãed_time¥ec
+ )
+ 
+ 27 
+ 	#_TIME_H
+  1
+ 
+ 	)
+ 
+ 28 
+ 	~<ã©u»s.h
+ >
+ 
+ 30 
+ 	g__BEGIN_DECLS
+ 
+ 
+ 34 #ifdef 
+ _TIME_H
+ 
+ 
+ 36 
+ 	#__Ãed_size_t
+ 
+ 
+ 	)
+ 
+ 37 
+ 	#__Ãed_NULL
+ 
+ 
+ 	)
+ 
+ 38 
+ 	~<¡ddef.h
+ >
+ 
+ 42 
+ 	~<b™s/time.h
+ >
+ 
+ 45 #ià!
+ defšed
+  
+ __STRICT_ANSI__
+  && !defšed 
+ __USE_XOPEN2K
+ 
+ 
+ 46 #iâdeà
+ CLK_TCK
+ 
+ 
+ 47 
+ 	#CLK_TCK
+  
+ CLOCKS_PER_SEC
+ 
+ 
+ 	)
+ 
+ 53 #ià!
+ defšed
+  
+ __þock_t_defšed
+  && (defšed 
+ _TIME_H
+  || defšed 
+ __Ãed_þock_t
+ )
+ 
+ 54 
+ 	#__þock_t_defšed
+  1
+ 
+ 	)
+ 
+ 56 
+ 	~<b™s/ty³s.h
+ >
+ 
+ 59 
+ __þock_t
+  
+ 	tþock_t
+ ;
+ 
+ 62 #undeà
+ __Ãed_þock_t
+ 
+ 
+ 64 #ià!
+ defšed
+  
+ __time_t_defšed
+  && (defšed 
+ _TIME_H
+  || defšed 
+ __Ãed_time_t
+ )
+ 
+ 65 
+ 	#__time_t_defšed
+  1
+ 
+ 	)
+ 
+ 67 
+ 	~<b™s/ty³s.h
+ >
+ 
+ 70 
+ __time_t
+  
+ 	ttime_t
+ ;
+ 
+ 73 #undeà
+ __Ãed_time_t
+ 
+ 
+ 75 #ià!
+ defšed
+  
+ __þockid_t_defšed
+  && \
+ 
+ 76 ((
+ defšed
+  
+ 	g_TIME_H
+  && defšed 
+ 	g__USE_POSIX199309
+ è|| defšed 
+ 	g__Ãed_þockid_t
+ )
+ 
+ 77 
+ 	#__þockid_t_defšed
+  1
+ 
+ 	)
+ 
+ 79 
+ 	~<b™s/ty³s.h
+ >
+ 
+ 82 
+ __þockid_t
+  
+ 	tþockid_t
+ ;
+ 
+ 85 #undeà
+ __þockid_time_t
+ 
+ 
+ 87 #ià!
+ defšed
+  
+ __tim”_t_defšed
+  && \
+ 
+ 88 ((
+ defšed
+  
+ 	g_TIME_H
+  && defšed 
+ 	g__USE_POSIX199309
+ è|| defšed 
+ 	g__Ãed_tim”_t
+ )
+ 
+ 89 
+ 	#__tim”_t_defšed
+  1
+ 
+ 	)
+ 
+ 91 
+ 	~<b™s/ty³s.h
+ >
+ 
+ 94 
+ __tim”_t
+  
+ 	ttim”_t
+ ;
+ 
+ 97 #undeà
+ __Ãed_tim”_t
+ 
+ 
+ 100 #ià!
+ defšed
+  
+ __time¥ec_defšed
+  && \
+ 
+ 101 ((
+ defšed
+  
+ 	g_TIME_H
+  && defšed 
+ 	g__USE_POSIX199309
+ è|| defšed 
+ 	g__Ãed_time¥ec
+ )
+ 
+ 102 
+ 	#__time¥ec_defšed
+  1
+ 
+ 	)
+ 
+ 106 
+ 	stime¥ec
+ 
+ 
+ 108 
+ __time_t
+  
+ 	mtv_£c
+ ;
+ 
+ 109 
+ 	mtv_n£c
+ ;
+ 
+ 113 #undeà
+ __Ãed_time¥ec
+ 
+ 
+ 116 #ifdef 
+ _TIME_H
+ 
+ 
+ 118 
+ 	stm
+ 
+ 
+ 120 
+ 	mtm_£c
+ ;
+ 
+ 121 
+ 	mtm_mš
+ ;
+ 
+ 122 
+ 	mtm_hour
+ ;
+ 
+ 123 
+ 	mtm_mday
+ ;
+ 
+ 124 
+ 	mtm_mÚ
+ ;
+ 
+ 125 
+ 	mtm_y—r
+ ;
+ 
+ 126 
+ 	mtm_wday
+ ;
+ 
+ 127 
+ 	mtm_yday
+ ;
+ 
+ 128 
+ 	mtm_isd¡
+ ;
+ 
+ 130 #ifdef 
+ __USE_BSD
+ 
+ 
+ 131 
+ 	mtm_gmtoff
+ ;
+ 
+ 132 
+ __cڡ
+  *
+ 	mtm_zÚe
+ ;
+ 
+ 134 
+ 	m__tm_gmtoff
+ ;
+ 
+ 135 
+ __cڡ
+  *
+ 	m__tm_zÚe
+ ;
+ 
+ 140 #ifdeà
+ __USE_POSIX199309
+ 
+ 
+ 142 
+ 	s™im”¥ec
+ 
+ 
+ 144 
+ time¥ec
+  
+ 	m™_š‹rv®
+ ;
+ 
+ 145 
+ time¥ec
+  
+ 	m™_v®ue
+ ;
+ 
+ 149 
+ 	gsigev’t
+ ;
+ 
+ 153 #ifdeà
+ __USE_XOPEN2K
+ 
+ 
+ 154 #iâdeà
+ __pid_t_defšed
+ 
+ 
+ 155 
+ __pid_t
+  
+ 	tpid_t
+ ;
+ 
+ 156 
+ 	#__pid_t_defšed
+ 
+ 
+ 	)
+ 
+ 163 
+ þock_t
+  
+ 	$þock
+  (è
+ __THROW
+ ;
+ 
+ 166 
+ time_t
+  
+ 	$time
+  (
+ time_t
+  *
+ __tim”
+ è
+ __THROW
+ ;
+ 
+ 169 

+ 	$difáime
+  (
+ time_t
+  
+ __time1
+ ,ime_ˆ
+ __time0
+ )
+ 
+ 170 
+ __THROW
+  
+ 	`__©Œibu‹__
+  ((
+ __cڡ__
+ ));
+ 
+ 173 
+ time_t
+  
+ 	$mktime
+  (
+ tm
+  *
+ __
+ è
+ __THROW
+ ;
+ 
+ 179 
+ size_t
+  
+ 	$¡ráime
+  (*
+ __»¡riù
+  
+ __s
+ , 
+ size_t
+  
+ __maxsize
+ ,
+ 
+ 180 
+ __cڡ
+  *
+ __»¡riù
+  
+ __fÜm©
+ ,
+ 
+ 181 
+ __cڡ
+  
+ tm
+  *
+ __»¡riù
+  
+ __
+ è
+ __THROW
+ ;
+ 
+ 183 #ifdeà
+ __USE_XOPEN
+ 
+ 
+ 186 
*
+ 	$¡½time
+  (
+ __cڡ
+  *
+ __»¡riù
+  
+ __s
+ ,
+ 
+ 187 
+ __cڡ
+  *
+ __»¡riù
+  
+ __fmt
+ , 
+ tm
+  *
+ __
+ )
+ 
+ 188 
+ __THROW
+ ;
+ 
+ 194 

+ tm
+  *
+ 	$gmtime
+  (
+ __cڡ
+  
+ time_t
+  *
+ __tim”
+ è
+ __THROW
+ ;
+ 
+ 198 

+ tm
+  *
+ 	$loÿÉime
+  (
+ __cڡ
+  
+ time_t
+  *
+ __tim”
+ è
+ __THROW
+ ;
+ 
+ 200 #ià
+ defšed
+  
+ __USE_POSIX
+  || defšed 
+ __USE_MISC
+ 
+ 
+ 203 

+ tm
+  *
+ 	$gmtime_r
+  (
+ __cڡ
+  
+ time_t
+  *
+ __»¡riù
+  
+ __tim”
+ ,
+ 
+ 204 
+ tm
+  *
+ __»¡riù
+  
+ __
+ è
+ __THROW
+ ;
+ 
+ 208 

+ tm
+  *
+ 	$loÿÉime_r
+  (
+ __cڡ
+  
+ time_t
+  *
+ __»¡riù
+  
+ __tim”
+ ,
+ 
+ 209 
+ tm
+  *
+ __»¡riù
+  
+ __
+ è
+ __THROW
+ ;
+ 
+ 214 
*
+ 	$asùime
+  (
+ __cڡ
+  
+ tm
+  *
+ __
+ è
+ __THROW
+ ;
+ 
+ 217 
*
+ 	$ùime
+  (
+ __cڡ
+  
+ time_t
+  *
+ __tim”
+ è
+ __THROW
+ ;
+ 
+ 219 #ià
+ defšed
+  
+ __USE_POSIX
+  || defšed 
+ __USE_MISC
+ 
+ 
+ 224 
*
+ 	$asùime_r
+  (
+ __cڡ
+  
+ tm
+  *
+ __»¡riù
+  
+ __
+ ,
+ 
+ 225 *
+ __»¡riù
+  
+ __buf
+ è
+ __THROW
+ ;
+ 
+ 228 
*
+ 	$ùime_r
+  (
+ __cڡ
+  
+ time_t
+  *
+ __»¡riù
+  
+ __tim”
+ ,
+ 
+ 229 *
+ __»¡riù
+  
+ __buf
+ è
+ __THROW
+ ;
+ 
+ 234 
*
+ __tzÇme
+ [2];
+ 
+ 235 

+ __daylight
+ ;
+ 
+ 236 

+ __timezÚe
+ ;
+ 
+ 239 #ifdef 
+ __USE_POSIX
+ 
+ 
+ 241 
*
+ tzÇme
+ [2];
+ 
+ 245 

+ 	$tz£t
+  (è
+ __THROW
+ ;
+ 
+ 248 #ià
+ defšed
+  
+ __USE_SVID
+  || defšed 
+ __USE_XOPEN
+ 
+ 
+ 249 

+ daylight
+ ;
+ 
+ 250 

+ timezÚe
+ ;
+ 
+ 253 #ifdeà
+ __USE_SVID
+ 
+ 
+ 256 

+ 	$¡ime
+  (
+ __cڡ
+  
+ time_t
+  *
+ __wh’
+ è
+ __THROW
+ ;
+ 
+ 262 
+ 	#__i¦—p
+ (
+ y—r
+ ) \
+ 
+ 263 ((
+ y—r
+ è% 4 =ð0 && ((y—rè% 100 !ð0 || (y—rè% 400 =ð0))
+ 
+ 	)
+ 
+ 266 #ifdeà
+ __USE_MISC
+ 
+ 
+ 271 
+ time_t
+  
+ 	$timegm
+  (
+ tm
+  *
+ __
+ è
+ __THROW
+ ;
+ 
+ 274 
+ time_t
+  
+ 	$tim–oÿl
+  (
+ tm
+  *
+ __
+ è
+ __THROW
+ ;
+ 
+ 277 

+ 	$dysize
+  (
+ __y—r
+ è
+ __THROW
+  
+ 	`__©Œibu‹__
+  ((
+ __cڡ__
+ ));
+ 
+ 281 #ifdeà
+ __USE_POSIX199309
+ 
+ 
+ 283 

+ 	$Çno¦“p
+  (
+ __cڡ
+  
+ time¥ec
+  *
+ __»que¡ed_time
+ ,
+ 
+ 284 
+ time¥ec
+  *
+ __»maššg
+ è
+ __THROW
+ ;
+ 
+ 288 

+ 	$þock_g‘»s
+  (
+ þockid_t
+  
+ __þock_id
+ , 
+ time¥ec
+  *
+ __»s
+ è
+ __THROW
+ ;
+ 
+ 291 

+ 	$þock_g‘time
+  (
+ þockid_t
+  
+ __þock_id
+ , 
+ time¥ec
+  *
+ __
+ è
+ __THROW
+ ;
+ 
+ 294 

+ 	$þock_£‰ime
+  (
+ þockid_t
+  
+ __þock_id
+ , 
+ __cڡ
+  
+ time¥ec
+  *
+ __
+ )
+ 
+ 295 
+ __THROW
+ ;
+ 
+ 297 #ifdeà
+ __USE_XOPEN2K
+ 
+ 
+ 299 

+ 	$þock_Çno¦“p
+  (
+ þockid_t
+  
+ __þock_id
+ , 
+ __æags
+ ,
+ 
+ 300 
+ __cڡ
+  
+ time¥ec
+  *
+ __»q
+ ,
+ 
+ 301 
+ time¥ec
+  *
+ __»m
+ è
+ __THROW
+ ;
+ 
+ 304 

+ 	$þock_g‘ýuþockid
+  (
+ pid_t
+  
+ __pid
+ , 
+ þockid_t
+  *
+ __þock_id
+ è
+ __THROW
+ ;
+ 
+ 309 

+ 	$tim”_ü—‹
+  (
+ þockid_t
+  
+ __þock_id
+ ,
+ 
+ 310 
+ sigev’t
+  *
+ __»¡riù
+  
+ __evp
+ ,
+ 
+ 311 
+ tim”_t
+  *
+ __»¡riù
+  
+ __tim”id
+ è
+ __THROW
+ ;
+ 
+ 314 

+ 	$tim”_d–‘e
+  (
+ tim”_t
+  
+ __tim”id
+ è
+ __THROW
+ ;
+ 
+ 317 

+ 	$tim”_£‰ime
+  (
+ tim”_t
+  
+ __tim”id
+ , 
+ __æags
+ ,
+ 
+ 318 
+ __cڡ
+  
+ ™im”¥ec
+  *
+ __»¡riù
+  
+ __v®ue
+ ,
+ 
+ 319 
+ ™im”¥ec
+  *
+ __»¡riù
+  
+ __ov®ue
+ è
+ __THROW
+ ;
+ 
+ 322 

+ 	$tim”_g‘time
+  (
+ tim”_t
+  
+ __tim”id
+ , 
+ ™im”¥ec
+  *
+ __v®ue
+ )
+ 
+ 323 
+ __THROW
+ ;
+ 
+ 326 

+ 	$tim”_g‘ov”run
+  (
+ tim”_t
+  
+ __tim”id
+ è
+ __THROW
+ ;
+ 
+ 330 #ifdeà
+ __USE_XOPEN_EXTENDED
+ 
+ 
+ 342 

+ g‘d©e_”r
+ ;
+ 
+ 348 

+ tm
+  *
+ 	$g‘d©e
+  (
+ __cڡ
+  *
+ __¡ršg
+ è
+ __THROW
+ ;
+ 
+ 351 #ifdeà
+ __USE_GNU
+ 
+ 
+ 357 

+ 	$g‘d©e_r
+  (
+ __cڡ
+  *
+ __»¡riù
+  
+ __¡ršg
+ ,
+ 
+ 358 
+ tm
+  *
+ __»¡riù
+  
+ __»sbuå
+ è
+ __THROW
+ ;
+ 
+ 362 
+ __END_DECLS
+ 
+ 
+ 	@/usr/include/utime.h
+ 
+ 23 #iâdef 
+ _UTIME_H
+ 
+ 
+ 24 
+ 	#_UTIME_H
+  1
+ 
+ 	)
+ 
+ 26 
+ 	~<ã©u»s.h
+ >
+ 
+ 28 
+ 	g__BEGIN_DECLS
+ 
+ 
+ 30 
+ 	~<b™s/ty³s.h
+ >
+ 
+ 32 #ifdeà
+ __USE_XOPEN
+ 
+ 
+ 33 
+ 	#__Ãed_time_t
+ 
+ 
+ 	)
+ 
+ 34 
+ 	~<time.h
+ >
+ 
+ 38 
+ 	sutimbuf
+ 
+ 
+ 40 
+ __time_t
+  
+ 	maùime
+ ;
+ 
+ 41 
+ __time_t
+  
+ 	mmodtime
+ ;
+ 
+ 46 

+ 	$utime
+  (
+ __cڡ
+  *
+ __fže
+ ,
+ 
+ 47 
+ __cڡ
+  
+ utimbuf
+  *
+ __fže_times
+ è
+ __THROW
+ ;
+ 
+ 49 
+ __END_DECLS
+ 
+ 
+ 	@/usr/include/alloca.h
+ 
+ 19 #iâdef 
+ _ALLOCA_H
+ 
+ 
+ 20 
+ 	#_ALLOCA_H
+  1
+ 
+ 	)
+ 
+ 22 
+ 	~<ã©u»s.h
+ >
+ 
+ 24 
+ 	#__Ãed_size_t
+ 
+ 
+ 	)
+ 
+ 25 
+ 	~<¡ddef.h
+ >
+ 
+ 27 
+ 	g__BEGIN_DECLS
+ 
+ 
+ 30 #undeà
+ ®loÿ
+ 
+ 
+ 33 
*
+ 	$®loÿ
+  (
+ size_t
+  
+ __size
+ è
+ __THROW
+ ;
+ 
+ 35 #ifdef 
+ __GNUC__
+ 
+ 
+ 36 
+ 	#®loÿ
+ (
+ size
+ è
+ 	`__bužtš_®loÿ
+  (size)
+ 
+ 	)
+ 
+ 39 
+ __END_DECLS
+ 
+ 
+ 	@/usr/include/bits/byteswap.h
+ 
+ 20 #ià!
+ defšed
+  
+ _BYTESWAP_H
+  && !defšed 
+ _NETINET_IN_H
+ 
+ 
+ 24 #iâdeà
+ _BITS_BYTESWAP_H
+ 
+ 
+ 25 
+ 	#_BITS_BYTESWAP_H
+  1
+ 
+ 	)
+ 
+ 28 
+ 	#__bsw­_cÚ¡ªt_16
+ (
+ x
+ ) \
+ 
+ 29 ((((
+ x
+ è>> 8è& 0xffè| (((xè& 0xffè<< 8))
+ 
+ 	)
+ 
+ 31 #ià
+ defšed
+  
+ __GNUC__
+  && __GNUC__ >= 2
+ 
+ 32 
+ 	#__bsw­_16
+ (
+ x
+ ) \
+ 
+ 33 (
+ __ex‹nsiÚ__
+  \
+ 
+ 34 ({ 
+ __v
+ ; \
+ 
+ 35 ià(
+ 	`__bužtš_cÚ¡ªt_p
+  (
+ x
+ )) \
+ 
+ 36 
+ __v
+  = 
+ 	`__bsw­_cÚ¡ªt_16
+  (
+ x
+ ); \
+ 
+ 38 
+ __asm__
+  
+ 	`__vÞ©že__
+  ("rorw $8, %w0" \
+ 
+ 39 : "ô" (
+ __v
+ ) \
+ 
+ 40 : "0" ((è(
+ x
+ )) \
+ 
+ 42 
+ __v
+ ; }))
+ 
+ 	)
+ 
+ 45 
+ 	#__bsw­_16
+ (
+ x
+ è
+ 	`__bsw­_cÚ¡ªt_16
+  (x)
+ 
+ 	)
+ 
+ 50 
+ 	#__bsw­_cÚ¡ªt_32
+ (
+ x
+ ) \
+ 
+ 51 ((((
+ x
+ ) & 0xff000000) >> 24) | (((x) & 0x00ff0000) >> 8) | \
+ 
+ 52 (((
+ x
+ è& 0x0000ff00è<< 8è| (((xè& 0x000000ffè<< 24))
+ 
+ 	)
+ 
+ 54 #ià
+ defšed
+  
+ __GNUC__
+  && __GNUC__ >= 2
+ 
+ 57 #ià!
+ defšed
+  
+ __i486__
+  && !defšed 
+ __³Áium__
+  && !defšed 
+ __³Áium´o__
+ 
+ 
+ 58 
+ 	#__bsw­_32
+ (
+ x
+ ) \
+ 
+ 59 (
+ __ex‹nsiÚ__
+  \
+ 
+ 60 ({ 
+ __v
+ ; \
+ 
+ 61 ià(
+ 	`__bužtš_cÚ¡ªt_p
+  (
+ x
+ )) \
+ 
+ 62 
+ __v
+  = 
+ 	`__bsw­_cÚ¡ªt_32
+  (
+ x
+ ); \
+ 
+ 64 
+ __asm__
+  
+ 	`__vÞ©že__
+  ("rorw $8, %w0;" \
+ 
+ 67 : "ô" (
+ __v
+ ) \
+ 
+ 68 : "0" ((è(
+ x
+ )) \
+ 
+ 70 
+ __v
+ ; }))
+ 
+ 	)
+ 
+ 72 
+ 	#__bsw­_32
+ (
+ x
+ ) \
+ 
+ 73 (
+ __ex‹nsiÚ__
+  \
+ 
+ 74 ({ 
+ __v
+ ; \
+ 
+ 75 ià(
+ 	`__bužtš_cÚ¡ªt_p
+  (
+ x
+ )) \
+ 
+ 76 
+ __v
+  = 
+ 	`__bsw­_cÚ¡ªt_32
+  (
+ x
+ ); \
+ 
+ 78 
+ __asm__
+  
+ 	`__vÞ©že__
+  ("bswap %0" \
+ 
+ 79 : "ô" (
+ __v
+ ) \
+ 
+ 80 : "0" ((è(
+ x
+ ))); \
+ 
+ 81 
+ __v
+ ; }))
+ 
+ 	)
+ 
+ 84 
+ 	#__bsw­_32
+ (
+ x
+ è
+ 	`__bsw­_cÚ¡ªt_32
+  (x)
+ 
+ 	)
+ 
+ 88 #ià
+ defšed
+  
+ __GNUC__
+  && __GNUC__ >= 2
+ 
+ 90 
+ 	#__bsw­_cÚ¡ªt_64
+ (
+ x
+ ) \
+ 
+ 91 ((((
+ x
+ ) & 0xff00000000000000ull) >> 56) \
+ 
+ 92 | (((
+ x
+ ) & 0x00ff000000000000ull) >> 40) \
+ 
+ 93 | (((
+ x
+ ) & 0x0000ff0000000000ull) >> 24) \
+ 
+ 94 | (((
+ x
+ ) & 0x000000ff00000000ull) >> 8) \
+ 
+ 95 | (((
+ x
+ ) & 0x00000000ff000000ull) << 8) \
+ 
+ 96 | (((
+ x
+ ) & 0x0000000000ff0000ull) << 24) \
+ 
+ 97 | (((
+ x
+ ) & 0x000000000000ff00ull) << 40) \
+ 
+ 98 | (((
+ x
+ è& 0x00000000000000ffuÎè<< 56))
+ 
+ 	)
+ 
+ 100 
+ 	#__bsw­_64
+ (
+ x
+ ) \
+ 
+ 101 (
+ __ex‹nsiÚ__
+  \
+ 
+ 102 ({ uniÚ { 
+ __ex‹nsiÚ__
+  
+ __Î
+ ; \
+ 
+ 103 
+ __l
+ [2]; } 
+ __w
+ , 
+ __r
+ ; \
+ 
+ 104 ià(
+ 	`__bužtš_cÚ¡ªt_p
+  (
+ x
+ )) \
+ 
+ 105 
+ __r
+ .
+ __Î
+  = 
+ 	`__bsw­_cÚ¡ªt_64
+  (
+ x
+ ); \
+ 
+ 108 
+ __w
+ .
+ __Î
+  = (
+ x
+ ); \
+ 
+ 109 
+ __r
+ .
+ __l
+ [0] = 
+ 	`__bsw­_32
+  (
+ __w
+ .__l[1]); \
+ 
+ 110 
+ __r
+ .
+ __l
+ [1] = 
+ 	`__bsw­_32
+  (
+ __w
+ .__l[0]); \
+ 
+ 112 
+ __r
+ .
+ __Î
+ ; }))
+ 
+ 	)
+ 
+ 	@/usr/include/bits/dirent.h
+ 
+ 19 #iâdeà
+ _DIRENT_H
+ 
+ 
+ 23 
+ 	sdœ’t
+ 
+ 
+ 25 #iâdeà
+ __USE_FILE_OFFSET64
+ 
+ 
+ 26 
+ __šo_t
+  
+ 	md_šo
+ ;
+ 
+ 27 
+ __off_t
+  
+ 	md_off
+ ;
+ 
+ 29 
+ __šo64_t
+  
+ 	md_šo
+ ;
+ 
+ 30 
+ __off64_t
+  
+ 	md_off
+ ;
+ 
+ 32 
+ 	md_»þ’
+ ;
+ 
+ 33 
+ 	md_ty³
+ ;
+ 
+ 34 
+ 	md_Çme
+ [256];
+ 
+ 37 #ifdeà
+ __USE_LARGEFILE64
+ 
+ 
+ 38 
+ 	sdœ’t64
+ 
+ 
+ 40 
+ __šo64_t
+  
+ 	md_šo
+ ;
+ 
+ 41 
+ __off64_t
+  
+ 	md_off
+ ;
+ 
+ 42 
+ 	md_»þ’
+ ;
+ 
+ 43 
+ 	md_ty³
+ ;
+ 
+ 44 
+ 	md_Çme
+ [256];
+ 
+ 48 
+ 	#d_fž’o
+  
+ d_šo
+ 
+ 
+ 	)
+ 
+ 50 #undeà
+ _DIRENT_HAVE_D_NAMLEN
+ 
+ 
+ 51 
+ 	#_DIRENT_HAVE_D_RECLEN
+ 
+ 
+ 	)
+ 
+ 52 
+ 	#_DIRENT_HAVE_D_OFF
+ 
+ 
+ 	)
+ 
+ 53 
+ 	#_DIRENT_HAVE_D_TYPE
+ 
+ 
+ 	)
+ 
+ 	@/usr/include/bits/errno.h
+ 
+ 20 #ifdeà
+ _ERRNO_H
+ 
+ 
+ 22 #undeà
+ EDOM
+ 
+ 
+ 23 #undeà
+ EILSEQ
+ 
+ 
+ 24 #undeà
+ ERANGE
+ 
+ 
+ 25 
+ 	~<lšux/”ºo.h
+ >
+ 
+ 28 
+ 	#ENOTSUP
+  
+ EOPNOTSUPP
+ 
+ 
+ 	)
+ 
+ 32 
+ 	#ECANCELED
+  125
+ 
+ 	)
+ 
+ 34 #iâdeà
+ __ASSEMBLER__
+ 
+ 
+ 36 

+ Ӽo
+ ;
+ 
+ 39 
*
+ 	$__”ºo_loÿtiÚ
+  (è
+ __THROW
+  
+ 	`__©Œibu‹__
+  ((
+ __cڡ__
+ ));
+ 
+ 41 #ià
+ defšed
+  
+ _LIBC
+ 
+ 
+ 43 
+ 	#__£t_”ºo
+ (
+ v®
+ è(*
+ 	`__”ºo_loÿtiÚ
+  ()èð(v®)
+ 
+ 	)
+ 
+ 46 #ià!
+ defšed
+  
+ _LIBC
+  || defšed 
+ _LIBC_REENTRANT
+ 
+ 
+ 48 
+ 	#Ӽo
+  (*
+ 	`__”ºo_loÿtiÚ
+  ())
+ 
+ 	)
+ 
+ 53 #ià!
+ defšed
+  
+ _ERRNO_H
+  && defšed 
+ __Ãed_Em©h
+ 
+ 
+ 57 
+ 	#EDOM
+  33
+ 
+ 	)
+ 
+ 58 
+ 	#EILSEQ
+  84
+ 
+ 	)
+ 
+ 59 
+ 	#ERANGE
+  34
+ 
+ 	)
+ 
+ 	@/usr/include/bits/fcntl.h
+ 
+ 20 #iâdef 
+ _FCNTL_H
+ 
+ 
+ 25 
+ 	~<sys/ty³s.h
+ >
+ 
+ 29 
+ 	#O_ACCMODE
+  0003
+ 
+ 	)
+ 
+ 30 
+ 	#O_RDONLY
+  00
+ 
+ 	)
+ 
+ 31 
+ 	#O_WRONLY
+  01
+ 
+ 	)
+ 
+ 32 
+ 	#O_RDWR
+  02
+ 
+ 	)
+ 
+ 33 
+ 	#O_CREAT
+  0100
+ 
+ 	)
+ 
+ 34 
+ 	#O_EXCL
+  0200
+ 
+ 	)
+ 
+ 35 
+ 	#O_NOCTTY
+  0400
+ 
+ 	)
+ 
+ 36 
+ 	#O_TRUNC
+  01000
+ 
+ 	)
+ 
+ 37 
+ 	#O_APPEND
+  02000
+ 
+ 	)
+ 
+ 38 
+ 	#O_NONBLOCK
+  04000
+ 
+ 	)
+ 
+ 39 
+ 	#O_NDELAY
+  
+ O_NONBLOCK
+ 
+ 
+ 	)
+ 
+ 40 
+ 	#O_SYNC
+  010000
+ 
+ 	)
+ 
+ 41 
+ 	#O_FSYNC
+  
+ O_SYNC
+ 
+ 
+ 	)
+ 
+ 42 
+ 	#O_ASYNC
+  020000
+ 
+ 	)
+ 
+ 44 #ifdeà
+ __USE_GNU
+ 
+ 
+ 45 
+ 	#O_DIRECT
+  040000
+ 
+ 	)
+ 
+ 46 
+ 	#O_DIRECTORY
+  0200000
+ 
+ 	)
+ 
+ 47 
+ 	#O_NOFOLLOW
+  0400000
+ 
+ 	)
+ 
+ 53 #ià
+ defšed
+  
+ __USE_POSIX199309
+  || defšed 
+ __USE_UNIX98
+ 
+ 
+ 54 
+ 	#O_DSYNC
+  
+ O_SYNC
+ 
+ 
+ 	)
+ 
+ 55 
+ 	#O_RSYNC
+  
+ O_SYNC
+ 
+ 
+ 	)
+ 
+ 58 #ifdeà
+ __USE_LARGEFILE64
+ 
+ 
+ 59 
+ 	#O_LARGEFILE
+  0100000
+ 
+ 	)
+ 
+ 63 
+ 	#F_DUPFD
+  0
+ 
+ 	)
+ 
+ 64 
+ 	#F_GETFD
+  1
+ 
+ 	)
+ 
+ 65 
+ 	#F_SETFD
+  2
+ 
+ 	)
+ 
+ 66 
+ 	#F_GETFL
+  3
+ 
+ 	)
+ 
+ 67 
+ 	#F_SETFL
+  4
+ 
+ 	)
+ 
+ 68 #iâdeà
+ __USE_FILE_OFFSET64
+ 
+ 
+ 69 
+ 	#F_GETLK
+  5
+ 
+ 	)
+ 
+ 70 
+ 	#F_SETLK
+  6
+ 
+ 	)
+ 
+ 71 
+ 	#F_SETLKW
+  7
+ 
+ 	)
+ 
+ 73 
+ 	#F_GETLK
+  
+ F_GETLK64
+ 
+ 
+ 	)
+ 
+ 74 
+ 	#F_SETLK
+  
+ F_SETLK64
+ 
+ 
+ 	)
+ 
+ 75 
+ 	#F_SETLKW
+  
+ F_SETLKW64
+ 
+ 
+ 	)
+ 
+ 77 
+ 	#F_GETLK64
+  12
+ 
+ 	)
+ 
+ 78 
+ 	#F_SETLK64
+  13
+ 
+ 	)
+ 
+ 79 
+ 	#F_SETLKW64
+  14
+ 
+ 	)
+ 
+ 81 #ià
+ defšed
+  
+ __USE_BSD
+  || defšed 
+ __USE_XOPEN2K
+ 
+ 
+ 82 
+ 	#F_SETOWN
+  8
+ 
+ 	)
+ 
+ 83 
+ 	#F_GETOWN
+  9
+ 
+ 	)
+ 
+ 86 #ifdeà
+ __USE_GNU
+ 
+ 
+ 87 
+ 	#F_SETSIG
+  10
+ 
+ 	)
+ 
+ 88 
+ 	#F_GETSIG
+  11
+ 
+ 	)
+ 
+ 91 #ifdeà
+ __USE_GNU
+ 
+ 
+ 92 
+ 	#F_SETLEASE
+  1024
+ 
+ 	)
+ 
+ 93 
+ 	#F_GETLEASE
+  1025
+ 
+ 	)
+ 
+ 94 
+ 	#F_NOTIFY
+  1026
+ 
+ 	)
+ 
+ 98 
+ 	#FD_CLOEXEC
+  1
+ 
+ 	)
+ 
+ 101 
+ 	#F_RDLCK
+  0
+ 
+ 	)
+ 
+ 102 
+ 	#F_WRLCK
+  1
+ 
+ 	)
+ 
+ 103 
+ 	#F_UNLCK
+  2
+ 
+ 	)
+ 
+ 106 
+ 	#F_EXLCK
+  4
+ 
+ 	)
+ 
+ 107 
+ 	#F_SHLCK
+  8
+ 
+ 	)
+ 
+ 109 #ifdeà
+ __USE_BSD
+ 
+ 
+ 111 
+ 	#LOCK_SH
+  1
+ 
+ 	)
+ 
+ 112 
+ 	#LOCK_EX
+  2
+ 
+ 	)
+ 
+ 113 
+ 	#LOCK_NB
+  4
+ 
+ 	)
+ 
+ 115 
+ 	#LOCK_UN
+  8
+ 
+ 	)
+ 
+ 118 #ifdeà
+ __USE_GNU
+ 
+ 
+ 119 
+ 	#LOCK_MAND
+  32
+ 
+ 	)
+ 
+ 120 
+ 	#LOCK_READ
+  64
+ 
+ 	)
+ 
+ 121 
+ 	#LOCK_WRITE
+  128
+ 
+ 	)
+ 
+ 122 
+ 	#LOCK_RW
+  192
+ 
+ 	)
+ 
+ 125 #ifdeà
+ __USE_GNU
+ 
+ 
+ 127 
+ 	#DN_ACCESS
+  0x00000001
+ 
+ 	)
+ 
+ 128 
+ 	#DN_MODIFY
+  0x00000002
+ 
+ 	)
+ 
+ 129 
+ 	#DN_CREATE
+  0x00000004
+ 
+ 	)
+ 
+ 130 
+ 	#DN_DELETE
+  0x00000008
+ 
+ 	)
+ 
+ 131 
+ 	#DN_RENAME
+  0x00000010
+ 
+ 	)
+ 
+ 132 
+ 	#DN_ATTRIB
+  0x00000020
+ 
+ 	)
+ 
+ 133 
+ 	#DN_MULTISHOT
+  0x80000000
+ 
+ 	)
+ 
+ 136 
+ 	sæock
+ 
+ 
+ 138 
+ 	ml_ty³
+ ;
+ 
+ 139 
+ 	ml_wh’û
+ ;
+ 
+ 140 #iâdeà
+ __USE_FILE_OFFSET64
+ 
+ 
+ 141 
+ __off_t
+  
+ 	ml_¡¬t
+ ;
+ 
+ 142 
+ __off_t
+  
+ 	ml_Ën
+ ;
+ 
+ 144 
+ __off64_t
+  
+ 	ml_¡¬t
+ ;
+ 
+ 145 
+ __off64_t
+  
+ 	ml_Ën
+ ;
+ 
+ 147 
+ __pid_t
+  
+ 	ml_pid
+ ;
+ 
+ 150 #ifdeà
+ __USE_LARGEFILE64
+ 
+ 
+ 151 
+ 	sæock64
+ 
+ 
+ 153 
+ 	ml_ty³
+ ;
+ 
+ 154 
+ 	ml_wh’û
+ ;
+ 
+ 155 
+ __off64_t
+  
+ 	ml_¡¬t
+ ;
+ 
+ 156 
+ __off64_t
+  
+ 	ml_Ën
+ ;
+ 
+ 157 
+ __pid_t
+  
+ 	ml_pid
+ ;
+ 
+ 163 #ifdef 
+ __USE_BSD
+ 
+ 
+ 164 
+ 	#FAPPEND
+  
+ O_APPEND
+ 
+ 
+ 	)
+ 
+ 165 
+ 	#FFSYNC
+  
+ O_FSYNC
+ 
+ 
+ 	)
+ 
+ 166 
+ 	#FASYNC
+  
+ O_ASYNC
+ 
+ 
+ 	)
+ 
+ 167 
+ 	#FNONBLOCK
+  
+ O_NONBLOCK
+ 
+ 
+ 	)
+ 
+ 168 
+ 	#FNDELAY
+  
+ O_NDELAY
+ 
+ 
+ 	)
+ 
+ 172 #ifdeà
+ __USE_XOPEN2K
+ 
+ 
+ 173 
+ 	#POSIX_FADV_NORMAL
+  0
+ 
+ 	)
+ 
+ 174 
+ 	#POSIX_FADV_RANDOM
+  1
+ 
+ 	)
+ 
+ 175 
+ 	#POSIX_FADV_SEQUENTIAL
+  2
+ 
+ 	)
+ 
+ 176 
+ 	#POSIX_FADV_WILLNEED
+  3
+ 
+ 	)
+ 
+ 177 
+ 	#POSIX_FADV_DONTNEED
+  4
+ 
+ 	)
+ 
+ 178 
+ 	#POSIX_FADV_NOREUSE
+  5
+ 
+ 	)
+ 
+ 	@/usr/include/bits/in.h
+ 
+ 21 #iâdeà
+ _NETINET_IN_H
+ 
+ 
+ 28 
+ 	#IP_TOS
+  1
+ 
+ 	)
+ 
+ 29 
+ 	#IP_TTL
+  2
+ 
+ 	)
+ 
+ 30 
+ 	#IP_HDRINCL
+  3
+ 
+ 	)
+ 
+ 31 
+ 	#IP_OPTIONS
+  4
+ 
+ 	)
+ 
+ 32 
+ 	#IP_ROUTER_ALERT
+  5
+ 
+ 	)
+ 
+ 33 
+ 	#IP_RECVOPTS
+  6
+ 
+ 	)
+ 
+ 34 
+ 	#IP_RETOPTS
+  7
+ 
+ 	)
+ 
+ 35 
+ 	#IP_PKTINFO
+  8
+ 
+ 	)
+ 
+ 36 
+ 	#IP_PKTOPTIONS
+  9
+ 
+ 	)
+ 
+ 37 
+ 	#IP_PMTUDISC
+  10
+ 
+ 	)
+ 
+ 38 
+ 	#IP_MTU_DISCOVER
+  10
+ 
+ 	)
+ 
+ 39 
+ 	#IP_RECVERR
+  11
+ 
+ 	)
+ 
+ 40 
+ 	#IP_RECVTTL
+  12
+ 
+ 	)
+ 
+ 41 
+ 	#IP_RECVTOS
+  13
+ 
+ 	)
+ 
+ 42 
+ 	#IP_MULTICAST_IF
+  32
+ 
+ 	)
+ 
+ 43 
+ 	#IP_MULTICAST_TTL
+  33
+ 
+ 	)
+ 
+ 44 
+ 	#IP_MULTICAST_LOOP
+  34
+ 
+ 	)
+ 
+ 45 
+ 	#IP_ADD_MEMBERSHIP
+  35
+ 
+ 	)
+ 
+ 46 
+ 	#IP_DROP_MEMBERSHIP
+  36
+ 
+ 	)
+ 
+ 49 
+ 	#IP_RECVRETOPTS
+  
+ IP_RETOPTS
+ 
+ 
+ 	)
+ 
+ 52 
+ 	#IP_PMTUDISC_DONT
+  0
+ 
+ 	)
+ 
+ 53 
+ 	#IP_PMTUDISC_WANT
+  1
+ 
+ 	)
+ 
+ 54 
+ 	#IP_PMTUDISC_DO
+  2
+ 
+ 	)
+ 
+ 57 
+ 	#SOL_IP
+  0
+ 
+ 	)
+ 
+ 59 
+ 	#IP_DEFAULT_MULTICAST_TTL
+  1
+ 
+ 	)
+ 
+ 60 
+ 	#IP_DEFAULT_MULTICAST_LOOP
+  1
+ 
+ 	)
+ 
+ 61 
+ 	#IP_MAX_MEMBERSHIPS
+  20
+ 
+ 	)
+ 
+ 66 
+ 	s_Ýts
+ 
+ 
+ 68 
+ š_addr
+  
+ 	m_d¡
+ ;
+ 
+ 69 
+ 	m_Ýts
+ [40];
+ 
+ 73 
+ 	s_m»q
+ 
+ 
+ 75 
+ š_addr
+  
+ 	mimr_muɟddr
+ ;
+ 
+ 76 
+ š_addr
+  
+ 	mimr_š‹rçû
+ ;
+ 
+ 80 
+ 	s_m»qn
+ 
+ 
+ 82 
+ š_addr
+  
+ 	mimr_muɟddr
+ ;
+ 
+ 83 
+ š_addr
+  
+ 	mimr_add»ss
+ ;
+ 
+ 84 
+ 	mimr_ifšdex
+ ;
+ 
+ 88 
+ 	sš_pktšfo
+ 
+ 
+ 90 
+ 	mi_ifšdex
+ ;
+ 
+ 91 
+ š_addr
+  
+ 	mi_¥ec_d¡
+ ;
+ 
+ 92 
+ š_addr
+  
+ 	mi_addr
+ ;
+ 
+ 98 
+ 	#IPV6_ADDRFORM
+  1
+ 
+ 	)
+ 
+ 99 
+ 	#IPV6_PKTINFO
+  2
+ 
+ 	)
+ 
+ 100 
+ 	#IPV6_HOPOPTS
+  3
+ 
+ 	)
+ 
+ 101 
+ 	#IPV6_DSTOPTS
+  4
+ 
+ 	)
+ 
+ 102 
+ 	#IPV6_RTHDR
+  5
+ 
+ 	)
+ 
+ 103 
+ 	#IPV6_PKTOPTIONS
+  6
+ 
+ 	)
+ 
+ 104 
+ 	#IPV6_CHECKSUM
+  7
+ 
+ 	)
+ 
+ 105 
+ 	#IPV6_HOPLIMIT
+  8
+ 
+ 	)
+ 
+ 106 
+ 	#IPV6_NEXTHOP
+  9
+ 
+ 	)
+ 
+ 107 
+ 	#IPV6_AUTHHDR
+  10
+ 
+ 	)
+ 
+ 108 
+ 	#IPV6_UNICAST_HOPS
+  16
+ 
+ 	)
+ 
+ 109 
+ 	#IPV6_MULTICAST_IF
+  17
+ 
+ 	)
+ 
+ 110 
+ 	#IPV6_MULTICAST_HOPS
+  18
+ 
+ 	)
+ 
+ 111 
+ 	#IPV6_MULTICAST_LOOP
+  19
+ 
+ 	)
+ 
+ 112 
+ 	#IPV6_JOIN_GROUP
+  20
+ 
+ 	)
+ 
+ 113 
+ 	#IPV6_LEAVE_GROUP
+  21
+ 
+ 	)
+ 
+ 114 
+ 	#IPV6_ROUTER_ALERT
+  22
+ 
+ 	)
+ 
+ 115 
+ 	#IPV6_MTU_DISCOVER
+  23
+ 
+ 	)
+ 
+ 116 
+ 	#IPV6_MTU
+  24
+ 
+ 	)
+ 
+ 117 
+ 	#IPV6_RECVERR
+  25
+ 
+ 	)
+ 
+ 119 
+ 	#SCM_SRCRT
+  
+ IPV6_RXSRCRT
+ 
+ 
+ 	)
+ 
+ 122 
+ 	#IPV6_RXHOPOPTS
+  
+ IPV6_HOPOPTS
+ 
+ 
+ 	)
+ 
+ 123 
+ 	#IPV6_RXDSTOPTS
+  
+ IPV6_DSTOPTS
+ 
+ 
+ 	)
+ 
+ 124 
+ 	#IPV6_ADD_MEMBERSHIP
+  
+ IPV6_JOIN_GROUP
+ 
+ 
+ 	)
+ 
+ 125 
+ 	#IPV6_DROP_MEMBERSHIP
+  
+ IPV6_LEAVE_GROUP
+ 
+ 
+ 	)
+ 
+ 129 
+ 	#IPV6_PMTUDISC_DONT
+  0
+ 
+ 	)
+ 
+ 130 
+ 	#IPV6_PMTUDISC_WANT
+  1
+ 
+ 	)
+ 
+ 131 
+ 	#IPV6_PMTUDISC_DO
+  2
+ 
+ 	)
+ 
+ 134 
+ 	#SOL_IPV6
+  41
+ 
+ 	)
+ 
+ 135 
+ 	#SOL_ICMPV6
+  58
+ 
+ 	)
+ 
+ 138 
+ 	#IPV6_RTHDR_LOOSE
+  0
+ 
+ 	)
+ 
+ 139 
+ 	#IPV6_RTHDR_STRICT
+  1
+ 
+ 	)
+ 
+ 141 
+ 	#IPV6_RTHDR_TYPE_0
+  0
+ 
+ 	)
+ 
+ 	@/usr/include/bits/ioctl-types.h
+ 
+ 20 #iâdeà
+ _SYS_IOCTL_H
+ 
+ 
+ 25 
+ 	~<asm/ioùls.h
+ >
+ 
+ 28 
+ 	swšsize
+ 
+ 
+ 30 
+ 	mws_row
+ ;
+ 
+ 31 
+ 	mws_cÞ
+ ;
+ 
+ 32 
+ 	mws_xpix–
+ ;
+ 
+ 33 
+ 	mws_ypix–
+ ;
+ 
+ 36 
+ 	#NCC
+  8
+ 
+ 	)
+ 
+ 37 
+ 	s‹rmio
+ 
+ 
+ 39 
+ 	mc_iæag
+ ;
+ 
+ 40 
+ 	mc_oæag
+ ;
+ 
+ 41 
+ 	mc_cæag
+ ;
+ 
+ 42 
+ 	mc_læag
+ ;
+ 
+ 43 
+ 	mc_lše
+ ;
+ 
+ 44 
+ 	mc_cc
+ [
+ NCC
+ ];
+ 
+ 48 
+ 	#TIOCM_LE
+  0x001
+ 
+ 	)
+ 
+ 49 
+ 	#TIOCM_DTR
+  0x002
+ 
+ 	)
+ 
+ 50 
+ 	#TIOCM_RTS
+  0x004
+ 
+ 	)
+ 
+ 51 
+ 	#TIOCM_ST
+  0x008
+ 
+ 	)
+ 
+ 52 
+ 	#TIOCM_SR
+  0x010
+ 
+ 	)
+ 
+ 53 
+ 	#TIOCM_CTS
+  0x020
+ 
+ 	)
+ 
+ 54 
+ 	#TIOCM_CAR
+  0x040
+ 
+ 	)
+ 
+ 55 
+ 	#TIOCM_RNG
+  0x080
+ 
+ 	)
+ 
+ 56 
+ 	#TIOCM_DSR
+  0x100
+ 
+ 	)
+ 
+ 57 
+ 	#TIOCM_CD
+  
+ TIOCM_CAR
+ 
+ 
+ 	)
+ 
+ 58 
+ 	#TIOCM_RI
+  
+ TIOCM_RNG
+ 
+ 
+ 	)
+ 
+ 63 
+ 	#N_TTY
+  0
+ 
+ 	)
+ 
+ 64 
+ 	#N_SLIP
+  1
+ 
+ 	)
+ 
+ 65 
+ 	#N_MOUSE
+  2
+ 
+ 	)
+ 
+ 66 
+ 	#N_PPP
+  3
+ 
+ 	)
+ 
+ 67 
+ 	#N_STRIP
+  4
+ 
+ 	)
+ 
+ 68 
+ 	#N_AX25
+  5
+ 
+ 	)
+ 
+ 69 
+ 	#N_X25
+  6
+ 
+ 	)
+ 
+ 70 
+ 	#N_6PACK
+  7
+ 
+ 	)
+ 
+ 71 
+ 	#N_MASC
+  8
+ 
+ 	)
+ 
+ 72 
+ 	#N_R3964
+  9
+ 
+ 	)
+ 
+ 73 
+ 	#N_PROFIBUS_FDL
+  10
+ 
+ 	)
+ 
+ 74 
+ 	#N_IRDA
+  11
+ 
+ 	)
+ 
+ 75 
+ 	#N_SMSBLOCK
+  12
+ 
+ 	)
+ 
+ 76 
+ 	#N_HDLC
+  13
+ 
+ 	)
+ 
+ 77 
+ 	#N_SYNC_PPP
+  14
+ 
+ 	)
+ 
+ 78 
+ 	#N_HCI
+  15
+ 
+ 	)
+ 
+ 	@/usr/include/bits/ioctls.h
+ 
+ 19 #iâdeà
+ _SYS_IOCTL_H
+ 
+ 
+ 24 
+ 	~<asm/ioùls.h
+ >
+ 
+ 27 
+ 	#SIOCADDRT
+  0x890B
+ 
+ 	)
+ 
+ 28 
+ 	#SIOCDELRT
+  0x890C
+ 
+ 	)
+ 
+ 29 
+ 	#SIOCRTMSG
+  0x890D
+ 
+ 	)
+ 
+ 32 
+ 	#SIOCGIFNAME
+  0x8910
+ 
+ 	)
+ 
+ 33 
+ 	#SIOCSIFLINK
+  0x8911
+ 
+ 	)
+ 
+ 34 
+ 	#SIOCGIFCONF
+  0x8912
+ 
+ 	)
+ 
+ 35 
+ 	#SIOCGIFFLAGS
+  0x8913
+ 
+ 	)
+ 
+ 36 
+ 	#SIOCSIFFLAGS
+  0x8914
+ 
+ 	)
+ 
+ 37 
+ 	#SIOCGIFADDR
+  0x8915
+ 
+ 	)
+ 
+ 38 
+ 	#SIOCSIFADDR
+  0x8916
+ 
+ 	)
+ 
+ 39 
+ 	#SIOCGIFDSTADDR
+  0x8917
+ 
+ 	)
+ 
+ 40 
+ 	#SIOCSIFDSTADDR
+  0x8918
+ 
+ 	)
+ 
+ 41 
+ 	#SIOCGIFBRDADDR
+  0x8919
+ 
+ 	)
+ 
+ 42 
+ 	#SIOCSIFBRDADDR
+  0x891¨
+ 
+ 	)
+ 
+ 43 
+ 	#SIOCGIFNETMASK
+  0x891b
+ 
+ 	)
+ 
+ 44 
+ 	#SIOCSIFNETMASK
+  0x891ø
+ 
+ 	)
+ 
+ 45 
+ 	#SIOCGIFMETRIC
+  0x891d
+ 
+ 	)
+ 
+ 46 
+ 	#SIOCSIFMETRIC
+  0x891
+ 
+ 	)
+ 
+ 47 
+ 	#SIOCGIFMEM
+  0x891à
+ 
+ 	)
+ 
+ 48 
+ 	#SIOCSIFMEM
+  0x8920
+ 
+ 	)
+ 
+ 49 
+ 	#SIOCGIFMTU
+  0x8921
+ 
+ 	)
+ 
+ 50 
+ 	#SIOCSIFMTU
+  0x8922
+ 
+ 	)
+ 
+ 51 
+ 	#SIOCSIFHWADDR
+  0x8924
+ 
+ 	)
+ 
+ 52 
+ 	#SIOCGIFENCAP
+  0x8925
+ 
+ 	)
+ 
+ 53 
+ 	#SIOCSIFENCAP
+  0x8926
+ 
+ 	)
+ 
+ 54 
+ 	#SIOCGIFHWADDR
+  0x8927
+ 
+ 	)
+ 
+ 55 
+ 	#SIOCGIFSLAVE
+  0x8929
+ 
+ 	)
+ 
+ 56 
+ 	#SIOCSIFSLAVE
+  0x8930
+ 
+ 	)
+ 
+ 57 
+ 	#SIOCADDMULTI
+  0x8931
+ 
+ 	)
+ 
+ 58 
+ 	#SIOCDELMULTI
+  0x8932
+ 
+ 	)
+ 
+ 59 
+ 	#SIOCGIFINDEX
+  0x8933
+ 
+ 	)
+ 
+ 60 
+ 	#SIOGIFINDEX
+  
+ SIOCGIFINDEX
+ 
+ 
+ 	)
+ 
+ 61 
+ 	#SIOCSIFPFLAGS
+  0x8934
+ 
+ 	)
+ 
+ 62 
+ 	#SIOCGIFPFLAGS
+  0x8935
+ 
+ 	)
+ 
+ 63 
+ 	#SIOCDIFADDR
+  0x8936
+ 
+ 	)
+ 
+ 64 
+ 	#SIOCSIFHWBROADCAST
+  0x8937
+ 
+ 	)
+ 
+ 65 
+ 	#SIOCGIFCOUNT
+  0x8938
+ 
+ 	)
+ 
+ 67 
+ 	#SIOCGIFBR
+  0x8940
+ 
+ 	)
+ 
+ 68 
+ 	#SIOCSIFBR
+  0x8941
+ 
+ 	)
+ 
+ 70 
+ 	#SIOCGIFTXQLEN
+  0x8942
+ 
+ 	)
+ 
+ 71 
+ 	#SIOCSIFTXQLEN
+  0x8943
+ 
+ 	)
+ 
+ 76 
+ 	#SIOCDARP
+  0x8953
+ 
+ 	)
+ 
+ 77 
+ 	#SIOCGARP
+  0x8954
+ 
+ 	)
+ 
+ 78 
+ 	#SIOCSARP
+  0x8955
+ 
+ 	)
+ 
+ 81 
+ 	#SIOCDRARP
+  0x8960
+ 
+ 	)
+ 
+ 82 
+ 	#SIOCGRARP
+  0x8961
+ 
+ 	)
+ 
+ 83 
+ 	#SIOCSRARP
+  0x8962
+ 
+ 	)
+ 
+ 87 
+ 	#SIOCGIFMAP
+  0x8970
+ 
+ 	)
+ 
+ 88 
+ 	#SIOCSIFMAP
+  0x8971
+ 
+ 	)
+ 
+ 92 
+ 	#SIOCADDDLCI
+  0x8980
+ 
+ 	)
+ 
+ 93 
+ 	#SIOCDELDLCI
+  0x8981
+ 
+ 	)
+ 
+ 102 
+ 	#SIOCDEVPRIVATE
+  0x89F0
+ 
+ 	)
+ 
+ 108 
+ 	#SIOCPROTOPRIVATE
+  0x89E0
+ 
+ 	)
+ 
+ 	@/usr/include/bits/ipc.h
+ 
+ 19 #iâdeà
+ _SYS_IPC_H
+ 
+ 
+ 23 
+ 	~<b™s/ty³s.h
+ >
+ 
+ 26 
+ 	#IPC_CREAT
+  01000
+ 
+ 	)
+ 
+ 27 
+ 	#IPC_EXCL
+  02000
+ 
+ 	)
+ 
+ 28 
+ 	#IPC_NOWAIT
+  04000
+ 
+ 	)
+ 
+ 31 
+ 	#IPC_RMID
+  0
+ 
+ 	)
+ 
+ 32 
+ 	#IPC_SET
+  1
+ 
+ 	)
+ 
+ 33 
+ 	#IPC_STAT
+  2
+ 
+ 	)
+ 
+ 34 #ifdeà
+ __USE_GNU
+ 
+ 
+ 35 
+ 	#IPC_INFO
+  3
+ 
+ 	)
+ 
+ 39 
+ 	#IPC_PRIVATE
+  ((
+ __key_t
+ è0è
+ 
+ 	)
+ 
+ 43 
+ 	sc_³rm
+ 
+ 
+ 45 
+ __key_t
+  
+ 	m__key
+ ;
+ 
+ 46 
+ __uid_t
+  
+ 	muid
+ ;
+ 
+ 47 
+ __gid_t
+  
+ 	mgid
+ ;
+ 
+ 48 
+ __uid_t
+  
+ 	mcuid
+ ;
+ 
+ 49 
+ __gid_t
+  
+ 	mcgid
+ ;
+ 
+ 50 
+ 	mmode
+ ;
+ 
+ 51 
+ 	m__·d1
+ ;
+ 
+ 52 
+ 	m__£q
+ ;
+ 
+ 53 
+ 	m__·d2
+ ;
+ 
+ 54 
+ 	m__unu£d1
+ ;
+ 
+ 55 
+ 	m__unu£d2
+ ;
+ 
+ 	@/usr/include/bits/msq.h
+ 
+ 19 #iâdeà
+ _SYS_MSG_H
+ 
+ 
+ 23 
+ 	~<b™s/ty³s.h
+ >
+ 
+ 26 
+ 	#MSG_NOERROR
+  010000
+ 
+ 	)
+ 
+ 27 #ifdeà
+ __USE_GNU
+ 
+ 
+ 28 
+ 	#MSG_EXCEPT
+  020000
+ 
+ 	)
+ 
+ 32 
+ 	tmsgqnum_t
+ ;
+ 
+ 33 
+ 	tmsgËn_t
+ ;
+ 
+ 38 
+ 	smsqid_ds
+ 
+ 
+ 40 
+ c_³rm
+  
+ 	mmsg_³rm
+ ;
+ 
+ 41 
+ __time_t
+  
+ 	mmsg_¡ime
+ ;
+ 
+ 42 
+ 	m__unu£d1
+ ;
+ 
+ 43 
+ __time_t
+  
+ 	mmsg_¹ime
+ ;
+ 
+ 44 
+ 	m__unu£d2
+ ;
+ 
+ 45 
+ __time_t
+  
+ 	mmsg_ùime
+ ;
+ 
+ 46 
+ 	m__unu£d3
+ ;
+ 
+ 47 
+ 	m__msg_cby‹s
+ ;
+ 
+ 48 
+ msgqnum_t
+  
+ 	mmsg_qnum
+ ;
+ 
+ 49 
+ msgËn_t
+  
+ 	mmsg_qby‹s
+ ;
+ 
+ 50 
+ __pid_t
+  
+ 	mmsg_l¥id
+ ;
+ 
+ 51 
+ __pid_t
+  
+ 	mmsg_Ìpid
+ ;
+ 
+ 52 
+ 	m__unu£d4
+ ;
+ 
+ 53 
+ 	m__unu£d5
+ ;
+ 
+ 56 #ifdeà
+ __USE_MISC
+ 
+ 
+ 58 
+ 	#msg_cby‹s
+  
+ __msg_cby‹s
+ 
+ 
+ 	)
+ 
+ 61 
+ 	#MSG_STAT
+  11
+ 
+ 	)
+ 
+ 62 
+ 	#MSG_INFO
+  12
+ 
+ 	)
+ 
+ 65 
+ 	smsgšfo
+ 
+ 
+ 67 
+ 	mmsgpoÞ
+ ;
+ 
+ 68 
+ 	mmsgm­
+ ;
+ 
+ 69 
+ 	mmsgmax
+ ;
+ 
+ 70 
+ 	mmsgmnb
+ ;
+ 
+ 71 
+ 	mmsgmni
+ ;
+ 
+ 72 
+ 	mmsgssz
+ ;
+ 
+ 73 
+ 	mmsgtql
+ ;
+ 
+ 74 
+ 	mmsg£g
+ ;
+ 
+ 	@/usr/include/bits/netdb.h
+ 
+ 19 #iâdeà
+ _NETDB_H
+ 
+ 
+ 27 
+ 	sËÁ
+ 
+ 
+ 29 *
+ 	mn_Çme
+ ;
+ 
+ 30 **
+ 	mn_®Ÿ£s
+ ;
+ 
+ 31 
+ 	mn_add¹y³
+ ;
+ 
+ 32 
+ ušt32_t
+  
+ 	mn_Ãt
+ ;
+ 
+ 	@/usr/include/bits/posix1_lim.h
+ 
+ 25 #iâdef 
+ _BITS_POSIX1_LIM_H
+ 
+ 
+ 26 
+ 	#_BITS_POSIX1_LIM_H
+  1
+ 
+ 	)
+ 
+ 32 
+ 	#_POSIX_AIO_LISTIO_MAX
+  2
+ 
+ 	)
+ 
+ 35 
+ 	#_POSIX_AIO_MAX
+  1
+ 
+ 	)
+ 
+ 38 
+ 	#_POSIX_ARG_MAX
+  4096
+ 
+ 	)
+ 
+ 41 
+ 	#_POSIX_CHILD_MAX
+  6
+ 
+ 	)
+ 
+ 44 
+ 	#_POSIX_DELAYTIMER_MAX
+  32
+ 
+ 	)
+ 
+ 47 
+ 	#_POSIX_LINK_MAX
+  8
+ 
+ 	)
+ 
+ 50 
+ 	#_POSIX_MAX_CANON
+  255
+ 
+ 	)
+ 
+ 54 
+ 	#_POSIX_MAX_INPUT
+  255
+ 
+ 	)
+ 
+ 57 
+ 	#_POSIX_MQ_OPEN_MAX
+  8
+ 
+ 	)
+ 
+ 60 
+ 	#_POSIX_MQ_PRIO_MAX
+  32
+ 
+ 	)
+ 
+ 63 
+ 	#_POSIX_NGROUPS_MAX
+  0
+ 
+ 	)
+ 
+ 66 
+ 	#_POSIX_OPEN_MAX
+  16
+ 
+ 	)
+ 
+ 70 
+ 	#_POSIX_FD_SETSIZE
+  
+ _POSIX_OPEN_MAX
+ 
+ 
+ 	)
+ 
+ 73 
+ 	#_POSIX_NAME_MAX
+  14
+ 
+ 	)
+ 
+ 76 
+ 	#_POSIX_PATH_MAX
+  256
+ 
+ 	)
+ 
+ 79 
+ 	#_POSIX_PIPE_BUF
+  512
+ 
+ 	)
+ 
+ 82 
+ 	#_POSIX_RTSIG_MAX
+  8
+ 
+ 	)
+ 
+ 85 
+ 	#_POSIX_SEM_NSEMS_MAX
+  256
+ 
+ 	)
+ 
+ 88 
+ 	#_POSIX_SEM_VALUE_MAX
+  32767
+ 
+ 	)
+ 
+ 91 
+ 	#_POSIX_SIGQUEUE_MAX
+  32
+ 
+ 	)
+ 
+ 94 
+ 	#_POSIX_SSIZE_MAX
+  32767
+ 
+ 	)
+ 
+ 97 
+ 	#_POSIX_STREAM_MAX
+  8
+ 
+ 	)
+ 
+ 100 
+ 	#_POSIX_TZNAME_MAX
+  6
+ 
+ 	)
+ 
+ 103 
+ 	#_POSIX_QLIMIT
+  1
+ 
+ 	)
+ 
+ 107 
+ 	#_POSIX_HIWAT
+  
+ _POSIX_PIPE_BUF
+ 
+ 
+ 	)
+ 
+ 110 
+ 	#_POSIX_UIO_MAXIOV
+  16
+ 
+ 	)
+ 
+ 113 
+ 	#_POSIX_TTY_NAME_MAX
+  9
+ 
+ 	)
+ 
+ 116 
+ 	#_POSIX_TIMER_MAX
+  32
+ 
+ 	)
+ 
+ 119 
+ 	#_POSIX_LOGIN_NAME_MAX
+  9
+ 
+ 	)
+ 
+ 122 
+ 	#_POSIX_CLOCKRES_MIN
+  20000000
+ 
+ 	)
+ 
+ 126 
+ 	~<b™s/loÿl_lim.h
+ >
+ 
+ 129 #iâdef 
+ SSIZE_MAX
+ 
+ 
+ 130 
+ 	#SSIZE_MAX
+  
+ INT_MAX
+ 
+ 
+ 	)
+ 
+ 137 #iâdef 
+ NGROUPS_MAX
+ 
+ 
+ 138 
+ 	#NGROUPS_MAX
+  
+ _POSIX_NGROUPS_MAX
+ 
+ 
+ 	)
+ 
+ 	@/usr/include/bits/select.h
+ 
+ 19 #iâdeà
+ _SYS_SELECT_H
+ 
+ 
+ 24 #ià
+ defšed
+  
+ __GNUC__
+  && __GNUC__ >= 2
+ 
+ 26 
+ 	#__FD_ZERO
+ (
+ fd¥
+ ) \
+ 
+ 28 
+ __d0
+ , 
+ __d1
+ ; \
+ 
+ 29 
+ __asm__
+  
+ 	`__vÞ©že__
+  ("cld;„ep; stosl" \
+ 
+ 30 : "=c" (
+ __d0
+ ), "=D" (
+ __d1
+ ) \
+ 
+ 31 : "a" (0), "0" ( (
+ fd_£t
+ ) \
+ 
+ 32 /  (
+ __fd_mask
+ )), \
+ 
+ 33 "1" (&
+ 	`__FDS_BITS
+  (
+ fd¥
+ )[0]) \
+ 
+ 35 } 0)
+ 
+ 	)
+ 
+ 37 
+ 	#__FD_SET
+ (
+ fd
+ , 
+ fd¥
+ ) \
+ 
+ 38 
+ __asm__
+  
+ 	`__vÞ©že__
+  ("btsl %1,%0" \
+ 
+ 39 : "=m" (
+ 	`__FDS_BITS
+  (
+ fd¥
+ )[
+ 	`__FDELT
+  (
+ fd
+ )]) \
+ 
+ 40 : "r" (((è(
+ fd
+ )è% 
+ __NFDBITS
+ ) \
+ 
+ 41 : "cc","memÜy")
+ 
+ 	)
+ 
+ 42 
+ 	#__FD_CLR
+ (
+ fd
+ , 
+ fd¥
+ ) \
+ 
+ 43 
+ __asm__
+  
+ 	`__vÞ©že__
+  ("btrl %1,%0" \
+ 
+ 44 : "=m" (
+ 	`__FDS_BITS
+  (
+ fd¥
+ )[
+ 	`__FDELT
+  (
+ fd
+ )]) \
+ 
+ 45 : "r" (((è(
+ fd
+ )è% 
+ __NFDBITS
+ ) \
+ 
+ 46 : "cc","memÜy")
+ 
+ 	)
+ 
+ 47 
+ 	#__FD_ISSET
+ (
+ fd
+ , 
+ fd¥
+ ) \
+ 
+ 48 (
+ __ex‹nsiÚ__
+  \
+ 
+ 49 ({
+ __»suÉ
+ ; \
+ 
+ 50 
+ __asm__
+  
+ 	`__vÞ©že__
+  ("btl %1,%2 ; setcb %b0" \
+ 
+ 51 : "=q" (
+ __»suÉ
+ ) \
+ 
+ 52 : "r" (((è(
+ fd
+ )è% 
+ __NFDBITS
+ ), \
+ 
+ 53 "m" (
+ 	`__FDS_BITS
+  (
+ fd¥
+ )[
+ 	`__FDELT
+  (
+ fd
+ )]) \
+ 
+ 55 
+ __»suÉ
+ ; }))
+ 
+ 	)
+ 
+ 61 
+ 	#__FD_ZERO
+ (
+ £t
+ ) \
+ 
+ 63 
+ __i
+ ; \
+ 
+ 64 
+ fd_£t
+  *
+ __¬r
+  = (
+ £t
+ ); \
+ 
+ 65 
+ __i
+  = 0; __˜<  (
+ fd_£t
+ è/  (
+ __fd_mask
+ ); ++__i) \
+ 
+ 66 
+ 	`__FDS_BITS
+  (
+ __¬r
+ )[
+ __i
+ ] = 0; \
+ 
+ 67 } 0)
+ 
+ 	)
+ 
+ 68 
+ 	#__FD_SET
+ (
+ d
+ , 
+ £t
+ è(
+ 	`__FDS_BITS
+  (£t)[
+ 	`__FDELT
+  (d)] |ð
+ 	`__FDMASK
+  (d))
+ 
+ 	)
+ 
+ 69 
+ 	#__FD_CLR
+ (
+ d
+ , 
+ £t
+ è(
+ 	`__FDS_BITS
+  (£t)[
+ 	`__FDELT
+  (d)] &ð~
+ 	`__FDMASK
+  (d))
+ 
+ 	)
+ 
+ 70 
+ 	#__FD_ISSET
+ (
+ d
+ , 
+ £t
+ è(
+ 	`__FDS_BITS
+  (£t)[
+ 	`__FDELT
+  (d)] & 
+ 	`__FDMASK
+  (d))
+ 
+ 	)
+ 
+ 	@/usr/include/bits/sem.h
+ 
+ 19 #iâdeà
+ _SYS_SEM_H
+ 
+ 
+ 23 
+ 	~<sys/ty³s.h
+ >
+ 
+ 26 
+ 	#SEM_UNDO
+  0x1000
+ 
+ 	)
+ 
+ 29 
+ 	#GETPID
+  11
+ 
+ 	)
+ 
+ 30 
+ 	#GETVAL
+  12
+ 
+ 	)
+ 
+ 31 
+ 	#GETALL
+  13
+ 
+ 	)
+ 
+ 32 
+ 	#GETNCNT
+  14
+ 
+ 	)
+ 
+ 33 
+ 	#GETZCNT
+  15
+ 
+ 	)
+ 
+ 34 
+ 	#SETVAL
+  16
+ 
+ 	)
+ 
+ 35 
+ 	#SETALL
+  17
+ 
+ 	)
+ 
+ 39 
+ 	s£mid_ds
+ 
+ 
+ 41 
+ c_³rm
+  
+ 	m£m_³rm
+ ;
+ 
+ 42 
+ __time_t
+  
+ 	m£m_Ùime
+ ;
+ 
+ 43 
+ 	m__unu£d1
+ ;
+ 
+ 44 
+ __time_t
+  
+ 	m£m_ùime
+ ;
+ 
+ 45 
+ 	m__unu£d2
+ ;
+ 
+ 46 
+ 	m£m_n£ms
+ ;
+ 
+ 47 
+ 	m__unu£d3
+ ;
+ 
+ 48 
+ 	m__unu£d4
+ ;
+ 
+ 65 
+ 	#_SEM_SEMUN_UNDEFINED
+  1
+ 
+ 	)
+ 
+ 67 #ifdeà
+ __USE_MISC
+ 
+ 
+ 70 
+ 	#SEM_STAT
+  18
+ 
+ 	)
+ 
+ 71 
+ 	#SEM_INFO
+  19
+ 
+ 	)
+ 
+ 73 
+ 	s£mšfo
+ 
+ 
+ 75 
+ 	m£mm­
+ ;
+ 
+ 76 
+ 	m£mmni
+ ;
+ 
+ 77 
+ 	m£mmns
+ ;
+ 
+ 78 
+ 	m£mmnu
+ ;
+ 
+ 79 
+ 	m£mm¦
+ ;
+ 
+ 80 
+ 	m£mÝm
+ ;
+ 
+ 81 
+ 	m£mume
+ ;
+ 
+ 82 
+ 	m£musz
+ ;
+ 
+ 83 
+ 	m£mvmx
+ ;
+ 
+ 84 
+ 	m£m«m
+ ;
+ 
+ 	@/usr/include/bits/setjmp.h
+ 
+ 21 #iâdeà
+ _SETJMP_H
+ 
+ 
+ 25 #ià
+ defšed
+  
+ __USE_MISC
+  || defšed 
+ _ASM
+ 
+ 
+ 26 
+ 	#JB_BX
+  0
+ 
+ 	)
+ 
+ 27 
+ 	#JB_SI
+  1
+ 
+ 	)
+ 
+ 28 
+ 	#JB_DI
+  2
+ 
+ 	)
+ 
+ 29 
+ 	#JB_BP
+  3
+ 
+ 	)
+ 
+ 30 
+ 	#JB_SP
+  4
+ 
+ 	)
+ 
+ 31 
+ 	#JB_PC
+  5
+ 
+ 	)
+ 
+ 32 
+ 	#JB_SIZE
+  24
+ 
+ 	)
+ 
+ 35 #iâdef 
+ _ASM
+ 
+ 
+ 36 
+ 	t__jmp_buf
+ [6];
+ 
+ 41 
+ 	#_JMPBUF_UNWINDS
+ (
+ jmpbuf
+ , 
+ add»ss
+ ) \
+ 
+ 42 ((*è(
+ add»ss
+ è< (*è(
+ jmpbuf
+ )[
+ JB_SP
+ ])
+ 
+ 	)
+ 
+ 	@/usr/include/bits/shm.h
+ 
+ 19 #iâdeà
+ _SYS_SHM_H
+ 
+ 
+ 23 
+ 	~<b™s/ty³s.h
+ >
+ 
+ 26 
+ 	#SHM_R
+  0400
+ 
+ 	)
+ 
+ 27 
+ 	#SHM_W
+  0200
+ 
+ 	)
+ 
+ 30 
+ 	#SHM_RDONLY
+  010000
+ 
+ 	)
+ 
+ 31 
+ 	#SHM_RND
+  020000
+ 
+ 	)
+ 
+ 32 
+ 	#SHM_REMAP
+  040000
+ 
+ 	)
+ 
+ 35 
+ 	#SHM_LOCK
+  11
+ 
+ 	)
+ 
+ 36 
+ 	#SHM_UNLOCK
+  12
+ 
+ 	)
+ 
+ 40 
+ 	tshm©t_t
+ ;
+ 
+ 43 
+ 	sshmid_ds
+ 
+ 
+ 45 
+ c_³rm
+  
+ 	mshm_³rm
+ ;
+ 
+ 46 
+ size_t
+  
+ 	mshm_£gsz
+ ;
+ 
+ 47 
+ __time_t
+  
+ 	mshm_©ime
+ ;
+ 
+ 48 
+ 	m__unu£d1
+ ;
+ 
+ 49 
+ __time_t
+  
+ 	mshm_dtime
+ ;
+ 
+ 50 
+ 	m__unu£d2
+ ;
+ 
+ 51 
+ __time_t
+  
+ 	mshm_ùime
+ ;
+ 
+ 52 
+ 	m__unu£d3
+ ;
+ 
+ 53 
+ __pid_t
+  
+ 	mshm_ýid
+ ;
+ 
+ 54 
+ __pid_t
+  
+ 	mshm_Íid
+ ;
+ 
+ 55 
+ shm©t_t
+  
+ 	mshm_ljch
+ ;
+ 
+ 56 
+ 	m__unu£d4
+ ;
+ 
+ 57 
+ 	m__unu£d5
+ ;
+ 
+ 60 #ifdeà
+ __USE_MISC
+ 
+ 
+ 63 
+ 	#SHM_STAT
+  13
+ 
+ 	)
+ 
+ 64 
+ 	#SHM_INFO
+  14
+ 
+ 	)
+ 
+ 67 
+ 	#SHM_DEST
+  01000
+ 
+ 	)
+ 
+ 68 
+ 	#SHM_LOCKED
+  02000
+ 
+ 	)
+ 
+ 70 
+ 	sshmšfo
+ 
+ 
+ 72 
+ 	mshmmax
+ ;
+ 
+ 73 
+ 	mshmmš
+ ;
+ 
+ 74 
+ 	mshmmni
+ ;
+ 
+ 75 
+ 	mshm£g
+ ;
+ 
+ 76 
+ 	mshm®l
+ ;
+ 
+ 77 
+ 	m__unu£d1
+ ;
+ 
+ 78 
+ 	m__unu£d2
+ ;
+ 
+ 79 
+ 	m__unu£d3
+ ;
+ 
+ 80 
+ 	m__unu£d4
+ ;
+ 
+ 83 
+ 	sshm_šfo
+ 
+ 
+ 85 
+ 	mu£d_ids
+ ;
+ 
+ 86 
+ 	mshm_tÙ
+ ;
+ 
+ 87 
+ 	mshm_rss
+ ;
+ 
+ 88 
+ 	mshm_swp
+ ;
+ 
+ 89 
+ 	msw­_©‹m±s
+ ;
+ 
+ 90 
+ 	msw­_sucûs£s
+ ;
+ 
+ 	@/usr/include/bits/sigaction.h
+ 
+ 20 #iâdeà
+ _SIGNAL_H
+ 
+ 
+ 25 
+ 	ssigaùiÚ
+ 
+ 
+ 28 #ifdeà
+ __USE_POSIX199309
+ 
+ 
+ 32 
+ __sighªdËr_t
+  
+ 	m§_hªdËr
+ ;
+ 
+ 34 (*
+ 	m§_sigaùiÚ
+ è(, 
+ 	msigšfo_t
+  *, *);
+ 
+ 36 
+ 	m__sigaùiÚ_hªdËr
+ ;
+ 
+ 37 
+ 	#§_hªdËr
+  
+ __sigaùiÚ_hªdËr
+ .
+ §_hªdËr
+ 
+ 
+ 	)
+ 
+ 38 
+ 	#§_sigaùiÚ
+  
+ __sigaùiÚ_hªdËr
+ .
+ §_sigaùiÚ
+ 
+ 
+ 	)
+ 
+ 40 
+ __sighªdËr_t
+  
+ 	m§_hªdËr
+ ;
+ 
+ 44 
+ __sig£t_t
+  
+ 	m§_mask
+ ;
+ 
+ 47 
+ 	m§_æags
+ ;
+ 
+ 50 (*
+ 	m§_»¡Ü”
+ ) ();
+ 
+ 54 
+ 	#SA_NOCLDSTOP
+  1
+ 
+ 	)
+ 
+ 55 
+ 	#SA_NOCLDWAIT
+  2
+ 
+ 	)
+ 
+ 56 
+ 	#SA_SIGINFO
+  4
+ 
+ 	)
+ 
+ 58 #ià
+ defšed
+  
+ __USE_UNIX98
+  || defšed 
+ __USE_MISC
+ 
+ 
+ 59 
+ 	#SA_ONSTACK
+  0x08000000
+ 
+ 	)
+ 
+ 60 
+ 	#SA_RESTART
+  0x10000000
+ 
+ 	)
+ 
+ 61 
+ 	#SA_NODEFER
+  0x40000000
+ 
+ 	)
+ 
+ 63 
+ 	#SA_RESETHAND
+  0x80000000
+ 
+ 	)
+ 
+ 65 #ifdeà
+ __USE_MISC
+ 
+ 
+ 66 
+ 	#SA_INTERRUPT
+  0x20000000
+ 
+ 	)
+ 
+ 69 
+ 	#SA_NOMASK
+  
+ SA_NODEFER
+ 
+ 
+ 	)
+ 
+ 70 
+ 	#SA_ONESHOT
+  
+ SA_RESETHAND
+ 
+ 
+ 	)
+ 
+ 71 
+ 	#SA_STACK
+  
+ SA_ONSTACK
+ 
+ 
+ 	)
+ 
+ 75 
+ 	#SIG_BLOCK
+  0
+ 
+ 	)
+ 
+ 76 
+ 	#SIG_UNBLOCK
+  1
+ 
+ 	)
+ 
+ 77 
+ 	#SIG_SETMASK
+  2
+ 
+ 	)
+ 
+ 	@/usr/include/bits/sigcontext.h
+ 
+ 19 #ià!
+ defšed
+  
+ _SIGNAL_H
+  && !defšed 
+ _SYS_UCONTEXT_H
+ 
+ 
+ 23 #iâdeà
+ sigcÚ‹xt_¡ruù
+ 
+ 
+ 26 
+ 	#sigcÚ‹xt_¡ruù
+  
+ sigcڋxt
+ 
+ 
+ 	)
+ 
+ 28 
+ 	~<asm/sigcڋxt.h
+ >
+ 
+ 	@/usr/include/bits/siginfo.h
+ 
+ 20 #ià!
+ defšed
+  
+ _SIGNAL_H
+  && !defšed 
+ __Ãed_sigšfo_t
+  \
+ 
+ 21 && !
+ defšed
+  
+ 	g__Ãed_sigev’t_t
+ 
+ 
+ 25 
+ 	~<b™s/wÜdsize.h
+ >
+ 
+ 27 #ià(!
+ defšed
+  
+ __have_sigv®_t
+  \
+ 
+ 28 && (
+ defšed
+  
+ 	g_SIGNAL_H
+  || defšed 
+ 	g__Ãed_sigšfo_t
+  \
+ 
+ 29 || 
+ defšed
+  
+ 	g__Ãed_sigev’t_t
+ ))
+ 
+ 30 
+ 	#__have_sigv®_t
+  1
+ 
+ 	)
+ 
+ 33 
+ 	usigv®
+ 
+ 
+ 35 
+ 	msiv®_št
+ ;
+ 
+ 36 *
+ 	msiv®_±r
+ ;
+ 
+ 37 } 
+ 	tsigv®_t
+ ;
+ 
+ 40 #ià(!
+ defšed
+  
+ __have_sigšfo_t
+  \
+ 
+ 41 && (
+ defšed
+  
+ 	g_SIGNAL_H
+  || defšed 
+ 	g__Ãed_sigšfo_t
+ ))
+ 
+ 42 
+ 	#__have_sigšfo_t
+  1
+ 
+ 	)
+ 
+ 44 
+ 	#__SI_MAX_SIZE
+  128
+ 
+ 	)
+ 
+ 45 #ià
+ __WORDSIZE
+  == 64
+ 
+ 46 
+ 	#__SI_PAD_SIZE
+  ((
+ __SI_MAX_SIZE
+  /  ()è- 4)
+ 
+ 	)
+ 
+ 48 
+ 	#__SI_PAD_SIZE
+  ((
+ __SI_MAX_SIZE
+  /  ()è- 3)
+ 
+ 	)
+ 
+ 51 
+ 	ssigšfo
+ 
+ 
+ 53 
+ 	msi_signo
+ ;
+ 
+ 54 
+ 	msi_Ӽo
+ ;
+ 
+ 56 
+ 	msi_code
+ ;
+ 
+ 60 
+ 	m_·d
+ [
+ __SI_PAD_SIZE
+ ];
+ 
+ 65 
+ __pid_t
+  
+ 	msi_pid
+ ;
+ 
+ 66 
+ __uid_t
+  
+ 	msi_uid
+ ;
+ 
+ 67 } 
+ 	m_kžl
+ ;
+ 
+ 72 
+ 	m_tim”1
+ ;
+ 
+ 73 
+ 	m_tim”2
+ ;
+ 
+ 74 } 
+ 	m_tim”
+ ;
+ 
+ 79 
+ __pid_t
+  
+ 	msi_pid
+ ;
+ 
+ 80 
+ __uid_t
+  
+ 	msi_uid
+ ;
+ 
+ 81 
+ sigv®_t
+  
+ 	msi_sigv®
+ ;
+ 
+ 82 } 
+ 	m_¹
+ ;
+ 
+ 87 
+ __pid_t
+  
+ 	msi_pid
+ ;
+ 
+ 88 
+ __uid_t
+  
+ 	msi_uid
+ ;
+ 
+ 89 
+ 	msi_¡©us
+ ;
+ 
+ 90 
+ __þock_t
+  
+ 	msi_utime
+ ;
+ 
+ 91 
+ __þock_t
+  
+ 	msi_¡ime
+ ;
+ 
+ 92 } 
+ 	m_sigchld
+ ;
+ 
+ 97 *
+ 	msi_addr
+ ;
+ 
+ 98 } 
+ 	m_sigçuÉ
+ ;
+ 
+ 103 
+ 	msi_bªd
+ ;
+ 
+ 104 
+ 	msi_fd
+ ;
+ 
+ 105 } 
+ 	m_sigpÞl
+ ;
+ 
+ 106 } 
+ 	m_sif›lds
+ ;
+ 
+ 107 } 
+ 	tsigšfo_t
+ ;
+ 
+ 111 
+ 	#si_pid
+  
+ _sif›lds
+ .
+ _kžl
+ .
+ si_pid
+ 
+ 
+ 	)
+ 
+ 112 
+ 	#si_uid
+  
+ _sif›lds
+ .
+ _kžl
+ .
+ si_uid
+ 
+ 
+ 	)
+ 
+ 113 
+ 	#si_tim”1
+  
+ _sif›lds
+ .
+ _tim”
+ .
+ _tim”1
+ 
+ 
+ 	)
+ 
+ 114 
+ 	#si_tim”2
+  
+ _sif›lds
+ .
+ _tim”
+ .
+ _tim”2
+ 
+ 
+ 	)
+ 
+ 115 
+ 	#si_¡©us
+  
+ _sif›lds
+ .
+ _sigchld
+ .
+ si_¡©us
+ 
+ 
+ 	)
+ 
+ 116 
+ 	#si_utime
+  
+ _sif›lds
+ .
+ _sigchld
+ .
+ si_utime
+ 
+ 
+ 	)
+ 
+ 117 
+ 	#si_¡ime
+  
+ _sif›lds
+ .
+ _sigchld
+ .
+ si_¡ime
+ 
+ 
+ 	)
+ 
+ 118 
+ 	#si_v®ue
+  
+ _sif›lds
+ .
+ _¹
+ .
+ si_sigv®
+ 
+ 
+ 	)
+ 
+ 119 
+ 	#si_št
+  
+ _sif›lds
+ .
+ _¹
+ .
+ si_sigv®
+ .
+ siv®_št
+ 
+ 
+ 	)
+ 
+ 120 
+ 	#si_±r
+  
+ _sif›lds
+ .
+ _¹
+ .
+ si_sigv®
+ .
+ siv®_±r
+ 
+ 
+ 	)
+ 
+ 121 
+ 	#si_addr
+  
+ _sif›lds
+ .
+ _sigçuÉ
+ .
+ si_addr
+ 
+ 
+ 	)
+ 
+ 122 
+ 	#si_bªd
+  
+ _sif›lds
+ .
+ _sigpÞl
+ .
+ si_bªd
+ 
+ 
+ 	)
+ 
+ 123 
+ 	#si_fd
+  
+ _sif›lds
+ .
+ _sigpÞl
+ .
+ si_fd
+ 
+ 
+ 	)
+ 
+ 130 
+ 	mSI_ASYNCNL
+  = -6,
+ 
+ 131 
+ 	#SI_ASYNCNL
+  
+ SI_ASYNCNL
+ 
+ 
+ 	)
+ 
+ 132 
+ 	mSI_SIGIO
+ ,
+ 
+ 133 
+ 	#SI_SIGIO
+  
+ SI_SIGIO
+ 
+ 
+ 	)
+ 
+ 134 
+ 	mSI_ASYNCIO
+ ,
+ 
+ 135 
+ 	#SI_ASYNCIO
+  
+ SI_ASYNCIO
+ 
+ 
+ 	)
+ 
+ 136 
+ 	mSI_MESGQ
+ ,
+ 
+ 137 
+ 	#SI_MESGQ
+  
+ SI_MESGQ
+ 
+ 
+ 	)
+ 
+ 138 
+ 	mSI_TIMER
+ ,
+ 
+ 139 
+ 	#SI_TIMER
+  
+ SI_TIMER
+ 
+ 
+ 	)
+ 
+ 140 
+ 	mSI_QUEUE
+ ,
+ 
+ 141 
+ 	#SI_QUEUE
+  
+ SI_QUEUE
+ 
+ 
+ 	)
+ 
+ 142 
+ 	mSI_USER
+ ,
+ 
+ 143 
+ 	#SI_USER
+  
+ SI_USER
+ 
+ 
+ 	)
+ 
+ 144 
+ 	mSI_KERNEL
+  = 0x80
+ 
+ 145 
+ 	#SI_KERNEL
+  
+ SI_KERNEL
+ 
+ 
+ 	)
+ 
+ 152 
+ 	mILL_ILLOPC
+  = 1,
+ 
+ 153 
+ 	#ILL_ILLOPC
+  
+ ILL_ILLOPC
+ 
+ 
+ 	)
+ 
+ 154 
+ 	mILL_ILLOPN
+ ,
+ 
+ 155 
+ 	#ILL_ILLOPN
+  
+ ILL_ILLOPN
+ 
+ 
+ 	)
+ 
+ 156 
+ 	mILL_ILLADR
+ ,
+ 
+ 157 
+ 	#ILL_ILLADR
+  
+ ILL_ILLADR
+ 
+ 
+ 	)
+ 
+ 158 
+ 	mILL_ILLTRP
+ ,
+ 
+ 159 
+ 	#ILL_ILLTRP
+  
+ ILL_ILLTRP
+ 
+ 
+ 	)
+ 
+ 160 
+ 	mILL_PRVOPC
+ ,
+ 
+ 161 
+ 	#ILL_PRVOPC
+  
+ ILL_PRVOPC
+ 
+ 
+ 	)
+ 
+ 162 
+ 	mILL_PRVREG
+ ,
+ 
+ 163 
+ 	#ILL_PRVREG
+  
+ ILL_PRVREG
+ 
+ 
+ 	)
+ 
+ 164 
+ 	mILL_COPROC
+ ,
+ 
+ 165 
+ 	#ILL_COPROC
+  
+ ILL_COPROC
+ 
+ 
+ 	)
+ 
+ 166 
+ 	mILL_BADSTK
+ 
+ 
+ 167 
+ 	#ILL_BADSTK
+  
+ ILL_BADSTK
+ 
+ 
+ 	)
+ 
+ 173 
+ 	mFPE_INTDIV
+  = 1,
+ 
+ 174 
+ 	#FPE_INTDIV
+  
+ FPE_INTDIV
+ 
+ 
+ 	)
+ 
+ 175 
+ 	mFPE_INTOVF
+ ,
+ 
+ 176 
+ 	#FPE_INTOVF
+  
+ FPE_INTOVF
+ 
+ 
+ 	)
+ 
+ 177 
+ 	mFPE_FLTDIV
+ ,
+ 
+ 178 
+ 	#FPE_FLTDIV
+  
+ FPE_FLTDIV
+ 
+ 
+ 	)
+ 
+ 179 
+ 	mFPE_FLTOVF
+ ,
+ 
+ 180 
+ 	#FPE_FLTOVF
+  
+ FPE_FLTOVF
+ 
+ 
+ 	)
+ 
+ 181 
+ 	mFPE_FLTUND
+ ,
+ 
+ 182 
+ 	#FPE_FLTUND
+  
+ FPE_FLTUND
+ 
+ 
+ 	)
+ 
+ 183 
+ 	mFPE_FLTRES
+ ,
+ 
+ 184 
+ 	#FPE_FLTRES
+  
+ FPE_FLTRES
+ 
+ 
+ 	)
+ 
+ 185 
+ 	mFPE_FLTINV
+ ,
+ 
+ 186 
+ 	#FPE_FLTINV
+  
+ FPE_FLTINV
+ 
+ 
+ 	)
+ 
+ 187 
+ 	mFPE_FLTSUB
+ 
+ 
+ 188 
+ 	#FPE_FLTSUB
+  
+ FPE_FLTSUB
+ 
+ 
+ 	)
+ 
+ 194 
+ 	mSEGV_MAPERR
+  = 1,
+ 
+ 195 
+ 	#SEGV_MAPERR
+  
+ SEGV_MAPERR
+ 
+ 
+ 	)
+ 
+ 196 
+ 	mSEGV_ACCERR
+ 
+ 
+ 197 
+ 	#SEGV_ACCERR
+  
+ SEGV_ACCERR
+ 
+ 
+ 	)
+ 
+ 203 
+ 	mBUS_ADRALN
+  = 1,
+ 
+ 204 
+ 	#BUS_ADRALN
+  
+ BUS_ADRALN
+ 
+ 
+ 	)
+ 
+ 205 
+ 	mBUS_ADRERR
+ ,
+ 
+ 206 
+ 	#BUS_ADRERR
+  
+ BUS_ADRERR
+ 
+ 
+ 	)
+ 
+ 207 
+ 	mBUS_OBJERR
+ 
+ 
+ 208 
+ 	#BUS_OBJERR
+  
+ BUS_OBJERR
+ 
+ 
+ 	)
+ 
+ 214 
+ 	mTRAP_BRKPT
+  = 1,
+ 
+ 215 
+ 	#TRAP_BRKPT
+  
+ TRAP_BRKPT
+ 
+ 
+ 	)
+ 
+ 216 
+ 	mTRAP_TRACE
+ 
+ 
+ 217 
+ 	#TRAP_TRACE
+  
+ TRAP_TRACE
+ 
+ 
+ 	)
+ 
+ 223 
+ 	mCLD_EXITED
+  = 1,
+ 
+ 224 
+ 	#CLD_EXITED
+  
+ CLD_EXITED
+ 
+ 
+ 	)
+ 
+ 225 
+ 	mCLD_KILLED
+ ,
+ 
+ 226 
+ 	#CLD_KILLED
+  
+ CLD_KILLED
+ 
+ 
+ 	)
+ 
+ 227 
+ 	mCLD_DUMPED
+ ,
+ 
+ 228 
+ 	#CLD_DUMPED
+  
+ CLD_DUMPED
+ 
+ 
+ 	)
+ 
+ 229 
+ 	mCLD_TRAPPED
+ ,
+ 
+ 230 
+ 	#CLD_TRAPPED
+  
+ CLD_TRAPPED
+ 
+ 
+ 	)
+ 
+ 231 
+ 	mCLD_STOPPED
+ ,
+ 
+ 232 
+ 	#CLD_STOPPED
+  
+ CLD_STOPPED
+ 
+ 
+ 	)
+ 
+ 233 
+ 	mCLD_CONTINUED
+ 
+ 
+ 234 
+ 	#CLD_CONTINUED
+  
+ CLD_CONTINUED
+ 
+ 
+ 	)
+ 
+ 240 
+ 	mPOLL_IN
+  = 1,
+ 
+ 241 
+ 	#POLL_IN
+  
+ POLL_IN
+ 
+ 
+ 	)
+ 
+ 242 
+ 	mPOLL_OUT
+ ,
+ 
+ 243 
+ 	#POLL_OUT
+  
+ POLL_OUT
+ 
+ 
+ 	)
+ 
+ 244 
+ 	mPOLL_MSG
+ ,
+ 
+ 245 
+ 	#POLL_MSG
+  
+ POLL_MSG
+ 
+ 
+ 	)
+ 
+ 246 
+ 	mPOLL_ERR
+ ,
+ 
+ 247 
+ 	#POLL_ERR
+  
+ POLL_ERR
+ 
+ 
+ 	)
+ 
+ 248 
+ 	mPOLL_PRI
+ ,
+ 
+ 249 
+ 	#POLL_PRI
+  
+ POLL_PRI
+ 
+ 
+ 	)
+ 
+ 250 
+ 	mPOLL_HUP
+ 
+ 
+ 251 
+ 	#POLL_HUP
+  
+ POLL_HUP
+ 
+ 
+ 	)
+ 
+ 254 #undeà
+ __Ãed_sigšfo_t
+ 
+ 
+ 258 #ià(
+ defšed
+  
+ _SIGNAL_H
+  || defšed 
+ __Ãed_sigev’t_t
+ ) \
+ 
+ 259 && !
+ defšed
+  
+ 	g__have_sigev’t_t
+ 
+ 
+ 260 
+ 	#__have_sigev’t_t
+  1
+ 
+ 	)
+ 
+ 263 
+ 	#__SIGEV_MAX_SIZE
+  64
+ 
+ 	)
+ 
+ 264 #ià
+ __WORDSIZE
+  == 64
+ 
+ 265 
+ 	#__SIGEV_PAD_SIZE
+  ((
+ __SIGEV_MAX_SIZE
+  /  ()è- 4)
+ 
+ 	)
+ 
+ 267 
+ 	#__SIGEV_PAD_SIZE
+  ((
+ __SIGEV_MAX_SIZE
+  /  ()è- 3)
+ 
+ 	)
+ 
+ 271 
+ 	g__±h»ad_©Œ_s
+ ;
+ 
+ 273 
+ 	ssigev’t
+ 
+ 
+ 275 
+ sigv®_t
+  
+ 	msigev_v®ue
+ ;
+ 
+ 276 
+ 	msigev_signo
+ ;
+ 
+ 277 
+ 	msigev_nÙify
+ ;
+ 
+ 281 
+ 	m_·d
+ [
+ __SIGEV_PAD_SIZE
+ ];
+ 
+ 285 (*
+ 	m_funùiÚ
+ è(
+ 	msigv®_t
+ );
+ 
+ 286 
+ __±h»ad_©Œ_s
+  *
+ 	m_©Œibu‹
+ ;
+ 
+ 287 } 
+ 	m_sigev_th»ad
+ ;
+ 
+ 288 } 
+ 	m_sigev_un
+ ;
+ 
+ 289 } 
+ 	tsigev’t_t
+ ;
+ 
+ 292 
+ 	#sigev_nÙify_funùiÚ
+  
+ _sigev_un
+ .
+ _sigev_th»ad
+ .
+ _funùiÚ
+ 
+ 
+ 	)
+ 
+ 293 
+ 	#sigev_nÙify_©Œibu‹s
+  
+ _sigev_un
+ .
+ _sigev_th»ad
+ .
+ _©Œibu‹
+ 
+ 
+ 	)
+ 
+ 298 
+ 	mSIGEV_SIGNAL
+  = 0,
+ 
+ 299 
+ 	#SIGEV_SIGNAL
+  
+ SIGEV_SIGNAL
+ 
+ 
+ 	)
+ 
+ 300 
+ 	mSIGEV_NONE
+ ,
+ 
+ 301 
+ 	#SIGEV_NONE
+  
+ SIGEV_NONE
+ 
+ 
+ 	)
+ 
+ 302 
+ 	mSIGEV_THREAD
+ 
+ 
+ 303 
+ 	#SIGEV_THREAD
+  
+ SIGEV_THREAD
+ 
+ 
+ 	)
+ 
+ 	@/usr/include/bits/signum.h
+ 
+ 20 #ifdef 
+ _SIGNAL_H
+ 
+ 
+ 23 
+ 	#SIG_ERR
+  ((
+ __sighªdËr_t
+ è-1è
+ 
+ 	)
+ 
+ 24 
+ 	#SIG_DFL
+  ((
+ __sighªdËr_t
+ è0è
+ 
+ 	)
+ 
+ 25 
+ 	#SIG_IGN
+  ((
+ __sighªdËr_t
+ è1è
+ 
+ 	)
+ 
+ 27 #ifdeà
+ __USE_UNIX98
+ 
+ 
+ 28 
+ 	#SIG_HOLD
+  ((
+ __sighªdËr_t
+ è2è
+ 
+ 	)
+ 
+ 33 
+ 	#SIGHUP
+  1
+ 
+ 	)
+ 
+ 34 
+ 	#SIGINT
+  2
+ 
+ 	)
+ 
+ 35 
+ 	#SIGQUIT
+  3
+ 
+ 	)
+ 
+ 36 
+ 	#SIGILL
+  4
+ 
+ 	)
+ 
+ 37 
+ 	#SIGTRAP
+  5
+ 
+ 	)
+ 
+ 38 
+ 	#SIGABRT
+  6
+ 
+ 	)
+ 
+ 39 
+ 	#SIGIOT
+  6
+ 
+ 	)
+ 
+ 40 
+ 	#SIGBUS
+  7
+ 
+ 	)
+ 
+ 41 
+ 	#SIGFPE
+  8
+ 
+ 	)
+ 
+ 42 
+ 	#SIGKILL
+  9
+ 
+ 	)
+ 
+ 43 
+ 	#SIGUSR1
+  10
+ 
+ 	)
+ 
+ 44 
+ 	#SIGSEGV
+  11
+ 
+ 	)
+ 
+ 45 
+ 	#SIGUSR2
+  12
+ 
+ 	)
+ 
+ 46 
+ 	#SIGPIPE
+  13
+ 
+ 	)
+ 
+ 47 
+ 	#SIGALRM
+  14
+ 
+ 	)
+ 
+ 48 
+ 	#SIGTERM
+  15
+ 
+ 	)
+ 
+ 49 
+ 	#SIGSTKFLT
+  16
+ 
+ 	)
+ 
+ 50 
+ 	#SIGCLD
+  
+ SIGCHLD
+ 
+ 
+ 	)
+ 
+ 51 
+ 	#SIGCHLD
+  17
+ 
+ 	)
+ 
+ 52 
+ 	#SIGCONT
+  18
+ 
+ 	)
+ 
+ 53 
+ 	#SIGSTOP
+  19
+ 
+ 	)
+ 
+ 54 
+ 	#SIGTSTP
+  20
+ 
+ 	)
+ 
+ 55 
+ 	#SIGTTIN
+  21
+ 
+ 	)
+ 
+ 56 
+ 	#SIGTTOU
+  22
+ 
+ 	)
+ 
+ 57 
+ 	#SIGURG
+  23
+ 
+ 	)
+ 
+ 58 
+ 	#SIGXCPU
+  24
+ 
+ 	)
+ 
+ 59 
+ 	#SIGXFSZ
+  25
+ 
+ 	)
+ 
+ 60 
+ 	#SIGVTALRM
+  26
+ 
+ 	)
+ 
+ 61 
+ 	#SIGPROF
+  27
+ 
+ 	)
+ 
+ 62 
+ 	#SIGWINCH
+  28
+ 
+ 	)
+ 
+ 63 
+ 	#SIGPOLL
+  
+ SIGIO
+ 
+ 
+ 	)
+ 
+ 64 
+ 	#SIGIO
+  29
+ 
+ 	)
+ 
+ 65 
+ 	#SIGPWR
+  30
+ 
+ 	)
+ 
+ 66 
+ 	#SIGSYS
+  31
+ 
+ 	)
+ 
+ 67 
+ 	#SIGUNUSED
+  31
+ 
+ 	)
+ 
+ 69 
+ 	#_NSIG
+  64
+ 
+ 	)
+ 
+ 72 
+ 	#SIGRTMIN
+  (
+ 	`__libc_cu¼’t_sig¹mš
+  ())
+ 
+ 	)
+ 
+ 73 
+ 	#SIGRTMAX
+  (
+ 	`__libc_cu¼’t_sig¹max
+  ())
+ 
+ 	)
+ 
+ 77 
+ 	#__SIGRTMIN
+  32
+ 
+ 	)
+ 
+ 78 
+ 	#__SIGRTMAX
+  (
+ _NSIG
+  - 1)
+ 
+ 	)
+ 
+ 	@/usr/include/bits/sigset.h
+ 
+ 20 #iâdef 
+ _SIGSET_H_ty³s
+ 
+ 
+ 21 
+ 	#_SIGSET_H_ty³s
+  1
+ 
+ 	)
+ 
+ 23 
+ 	t__sig_©omic_t
+ ;
+ 
+ 27 
+ 	#_SIGSET_NWORDS
+  (1024 / (8 *  ()))
+ 
+ 	)
+ 
+ 30 
+ 	m__v®
+ [
+ _SIGSET_NWORDS
+ ];
+ 
+ 31 } 
+ 	t__sig£t_t
+ ;
+ 
+ 42 #ià!
+ defšed
+  
+ _SIGSET_H_âs
+  && defšed 
+ _SIGNAL_H
+ 
+ 
+ 43 
+ 	#_SIGSET_H_âs
+  1
+ 
+ 	)
+ 
+ 45 #iâdeà
+ _EXTERN_INLINE
+ 
+ 
+ 46 
+ 	#_EXTERN_INLINE
+  
+ __šlše
+ 
+ 
+ 	)
+ 
+ 50 
+ 	#__sigmask
+ (
+ sig
+ ) \
+ 
+ 51 (((è1è<< (((
+ sig
+ è- 1è% (8 *  ())))
+ 
+ 	)
+ 
+ 54 
+ 	#__sigwÜd
+ (
+ sig
+ è(((sigè- 1è/ (8 *  ()))
+ 
+ 	)
+ 
+ 56 #ià
+ defšed
+  
+ __GNUC__
+  && __GNUC__ >= 2
+ 
+ 57 
+ 	#__sigem±y£t
+ (
+ £t
+ ) \
+ 
+ 58 (
+ 	`__ex‹nsiÚ__
+  ({ 
+ __út
+  = 
+ _SIGSET_NWORDS
+ ; \
+ 
+ 59 
+ sig£t_t
+  *
+ __£t
+  = (
+ £t
+ ); \
+ 
+ 60 --
+ __út
+  >ð0è
+ __£t
+ ->
+ __v®
+ [__cnt] = 0; \
+ 
+ 61 0; }))
+ 
+ 	)
+ 
+ 62 
+ 	#__sigfžl£t
+ (
+ £t
+ ) \
+ 
+ 63 (
+ 	`__ex‹nsiÚ__
+  ({ 
+ __út
+  = 
+ _SIGSET_NWORDS
+ ; \
+ 
+ 64 
+ sig£t_t
+  *
+ __£t
+  = (
+ £t
+ ); \
+ 
+ 65 --
+ __út
+  >ð0è
+ __£t
+ ->
+ __v®
+ [__cnt] = ~0UL; \
+ 
+ 66 0; }))
+ 
+ 	)
+ 
+ 68 #ifdeà
+ __USE_GNU
+ 
+ 
+ 72 
+ 	#__sigi£m±y£t
+ (
+ £t
+ ) \
+ 
+ 73 (
+ 	`__ex‹nsiÚ__
+  ({ 
+ __út
+  = 
+ _SIGSET_NWORDS
+ ; \
+ 
+ 74 cڡ 
+ sig£t_t
+  *
+ __£t
+  = (
+ £t
+ ); \
+ 
+ 75 
+ __»t
+  = 
+ __£t
+ ->
+ __v®
+ [--
+ __út
+ ]; \
+ 
+ 76 !
+ __»t
+  && --
+ __út
+  >= 0) \
+ 
+ 77 
+ __»t
+  = 
+ __£t
+ ->
+ __v®
+ [
+ __út
+ ]; \
+ 
+ 78 
+ __»t
+  =ð0; }))
+ 
+ 	)
+ 
+ 79 
+ 	#__sigªd£t
+ (
+ de¡
+ , 
+ Ëá
+ , 
+ right
+ ) \
+ 
+ 80 (
+ 	`__ex‹nsiÚ__
+  ({ 
+ __út
+  = 
+ _SIGSET_NWORDS
+ ; \
+ 
+ 81 
+ sig£t_t
+  *
+ __de¡
+  = (
+ de¡
+ ); \
+ 
+ 82 cڡ 
+ sig£t_t
+  *
+ __Ëá
+  = (
+ Ëá
+ ); \
+ 
+ 83 cڡ 
+ sig£t_t
+  *
+ __right
+  = (
+ right
+ ); \
+ 
+ 84 --
+ __út
+  >= 0) \
+ 
+ 85 
+ __de¡
+ ->
+ __v®
+ [
+ __út
+ ] = (
+ __Ëá
+ ->__val[__cnt] \
+ 
+ 86 & 
+ __right
+ ->
+ __v®
+ [
+ __út
+ ]); \
+ 
+ 87 0; }))
+ 
+ 	)
+ 
+ 88 
+ 	#__sigܣt
+ (
+ de¡
+ , 
+ Ëá
+ , 
+ right
+ ) \
+ 
+ 89 (
+ 	`__ex‹nsiÚ__
+  ({ 
+ __út
+  = 
+ _SIGSET_NWORDS
+ ; \
+ 
+ 90 
+ sig£t_t
+  *
+ __de¡
+  = (
+ de¡
+ ); \
+ 
+ 91 cڡ 
+ sig£t_t
+  *
+ __Ëá
+  = (
+ Ëá
+ ); \
+ 
+ 92 cڡ 
+ sig£t_t
+  *
+ __right
+  = (
+ right
+ ); \
+ 
+ 93 --
+ __út
+  >= 0) \
+ 
+ 94 
+ __de¡
+ ->
+ __v®
+ [
+ __út
+ ] = (
+ __Ëá
+ ->__val[__cnt] \
+ 
+ 95 | 
+ __right
+ ->
+ __v®
+ [
+ __út
+ ]); \
+ 
+ 96 0; }))
+ 
+ 	)
+ 
+ 103 

+ __sigismemb”
+  (
+ __cڡ
+  
+ __sig£t_t
+  *, );
+ 
+ 104 

+ __sigadd£t
+  (
+ __sig£t_t
+  *, );
+ 
+ 105 

+ __sigd–£t
+  (
+ __sig£t_t
+  *, );
+ 
+ 107 #ifdeà
+ __USE_EXTERN_INLINES
+ 
+ 
+ 108 
+ 	#__SIGSETFN
+ (
+ NAME
+ , 
+ BODY
+ , 
+ CONST
+ ) \
+ 
+ 109 
+ _EXTERN_INLINE
+  \
+ 
+ 110 
+ 	`NAME
+  (
+ CONST
+  
+ __sig£t_t
+  *
+ __£t
+ , 
+ __sig
+ ) \
+ 
+ 112 
+ __mask
+  = 
+ 	`__sigmask
+  (
+ __sig
+ ); \
+ 
+ 113 
+ __wÜd
+  = 
+ 	`__sigwÜd
+  (
+ __sig
+ ); \
+ 
+ 114  
+ BODY
+ ; \
+ 
+ 115 }
+ 
+ 	)
+ 
+ 117 
+ __SIGSETFN
+  (
+ __sigismemb”
+ , (
+ __£t
+ ->
+ __v®
+ [
+ __wÜd
+ ] & 
+ __mask
+ è? 1 : 0, 
+ __cڡ
+ )
+ 
+ 118 
+ __SIGSETFN
+  (
+ __sigadd£t
+ , ((
+ __£t
+ ->
+ __v®
+ [
+ __wÜd
+ ] |ð
+ __mask
+ ), 0), )
+ 
+ 119 
+ __SIGSETFN
+  (
+ __sigd–£t
+ , ((
+ __£t
+ ->
+ __v®
+ [
+ __wÜd
+ ] &ð~
+ __mask
+ ), 0), )
+ 
+ 121 #undeà
+ __SIGSETFN
+ 
+ 
+ 	@/usr/include/bits/sigstack.h
+ 
+ 20 #iâdeà
+ _SIGNAL_H
+ 
+ 
+ 26 
+ 	ssig¡ack
+ 
+ 
+ 28 *
+ 	mss_¥
+ ;
+ 
+ 29 
+ 	mss_ڡack
+ ;
+ 
+ 36 
+ 	mSS_ONSTACK
+  = 1,
+ 
+ 37 
+ 	#SS_ONSTACK
+  
+ SS_ONSTACK
+ 
+ 
+ 	)
+ 
+ 38 
+ 	mSS_DISABLE
+ 
+ 
+ 39 
+ 	#SS_DISABLE
+  
+ SS_DISABLE
+ 
+ 
+ 	)
+ 
+ 43 
+ 	#MINSIGSTKSZ
+  2048
+ 
+ 	)
+ 
+ 46 
+ 	#SIGSTKSZ
+  8192
+ 
+ 	)
+ 
+ 50 
+ 	ssig®t¡ack
+ 
+ 
+ 52 *
+ 	mss_¥
+ ;
+ 
+ 53 
+ 	mss_æags
+ ;
+ 
+ 54 
+ size_t
+  
+ 	mss_size
+ ;
+ 
+ 55 } 
+ 	t¡ack_t
+ ;
+ 
+ 	@/usr/include/bits/sigthread.h
+ 
+ 20 #iâdeà
+ _BITS_SIGTHREAD_H
+ 
+ 
+ 21 
+ 	#_BITS_SIGTHREAD_H
+  1
+ 
+ 	)
+ 
+ 23 #ià!
+ defšed
+  
+ _SIGNAL_H
+  && !defšed 
+ _PTHREAD_H
+ 
+ 
+ 31 

+ 	$±h»ad_sigmask
+  (
+ __how
+ ,
+ 
+ 32 
+ __cڡ
+  
+ __sig£t_t
+  *
+ __»¡riù
+  
+ __Ãwmask
+ ,
+ 
+ 33 
+ __sig£t_t
+  *
+ __»¡riù
+  
+ __Þdmask
+ )
+ __THROW
+ ;
+ 
+ 36 

+ 	$±h»ad_kžl
+  (
+ ±h»ad_t
+  
+ __th»ad
+ , 
+ __signo
+ è
+ __THROW
+ ;
+ 
+ 	@/usr/include/bits/socket.h
+ 
+ 20 #iâdeà
+ __BITS_SOCKET_H
+ 
+ 
+ 21 
+ 	#__BITS_SOCKET_H
+ 
+ 
+ 	)
+ 
+ 23 #ià!
+ defšed
+  
+ _SYS_SOCKET_H
+  && !defšed 
+ _NETINET_IN_H
+ 
+ 
+ 27 
+ 	#__Ãed_size_t
+ 
+ 
+ 	)
+ 
+ 28 
+ 	#__Ãed_NULL
+ 
+ 
+ 	)
+ 
+ 29 
+ 	~<¡ddef.h
+ >
+ 
+ 31 
+ 	~<lim™s.h
+ >
+ 
+ 32 
+ 	~<sys/ty³s.h
+ >
+ 
+ 35 #iâdeà
+ __sockËn_t_defšed
+ 
+ 
+ 36 
+ __sockËn_t
+  
+ 	tsockËn_t
+ ;
+ 
+ 37 
+ 	#__sockËn_t_defšed
+ 
+ 
+ 	)
+ 
+ 41 
+ 	e__sock‘_ty³
+ 
+ 
+ 43 
+ 	mSOCK_STREAM
+  = 1,
+ 
+ 45 
+ 	#SOCK_STREAM
+  
+ SOCK_STREAM
+ 
+ 
+ 	)
+ 
+ 46 
+ 	mSOCK_DGRAM
+  = 2,
+ 
+ 48 
+ 	#SOCK_DGRAM
+  
+ SOCK_DGRAM
+ 
+ 
+ 	)
+ 
+ 49 
+ 	mSOCK_RAW
+  = 3,
+ 
+ 50 
+ 	#SOCK_RAW
+  
+ SOCK_RAW
+ 
+ 
+ 	)
+ 
+ 51 
+ 	mSOCK_RDM
+  = 4,
+ 
+ 52 
+ 	#SOCK_RDM
+  
+ SOCK_RDM
+ 
+ 
+ 	)
+ 
+ 53 
+ 	mSOCK_SEQPACKET
+  = 5,
+ 
+ 55 
+ 	#SOCK_SEQPACKET
+  
+ SOCK_SEQPACKET
+ 
+ 
+ 	)
+ 
+ 56 
+ 	mSOCK_PACKET
+  = 10
+ 
+ 59 
+ 	#SOCK_PACKET
+  
+ SOCK_PACKET
+ 
+ 
+ 	)
+ 
+ 63 
+ 	#PF_UNSPEC
+  0
+ 
+ 	)
+ 
+ 64 
+ 	#PF_LOCAL
+  1
+ 
+ 	)
+ 
+ 65 
+ 	#PF_UNIX
+  
+ PF_LOCAL
+ 
+ 
+ 	)
+ 
+ 66 
+ 	#PF_FILE
+  
+ PF_LOCAL
+ 
+ 
+ 	)
+ 
+ 67 
+ 	#PF_INET
+  2
+ 
+ 	)
+ 
+ 68 
+ 	#PF_AX25
+  3
+ 
+ 	)
+ 
+ 69 
+ 	#PF_IPX
+  4
+ 
+ 	)
+ 
+ 70 
+ 	#PF_APPLETALK
+  5
+ 
+ 	)
+ 
+ 71 
+ 	#PF_NETROM
+  6
+ 
+ 	)
+ 
+ 72 
+ 	#PF_BRIDGE
+  7
+ 
+ 	)
+ 
+ 73 
+ 	#PF_ATMPVC
+  8
+ 
+ 	)
+ 
+ 74 
+ 	#PF_X25
+  9
+ 
+ 	)
+ 
+ 75 
+ 	#PF_INET6
+  10
+ 
+ 	)
+ 
+ 76 
+ 	#PF_ROSE
+  11
+ 
+ 	)
+ 
+ 77 
+ 	#PF_DECÃt
+  12
+ 
+ 	)
+ 
+ 78 
+ 	#PF_NETBEUI
+  13
+ 
+ 	)
+ 
+ 79 
+ 	#PF_SECURITY
+  14
+ 
+ 	)
+ 
+ 80 
+ 	#PF_KEY
+  15
+ 
+ 	)
+ 
+ 81 
+ 	#PF_NETLINK
+  16
+ 
+ 	)
+ 
+ 82 
+ 	#PF_ROUTE
+  
+ PF_NETLINK
+ 
+ 
+ 	)
+ 
+ 83 
+ 	#PF_PACKET
+  17
+ 
+ 	)
+ 
+ 84 
+ 	#PF_ASH
+  18
+ 
+ 	)
+ 
+ 85 
+ 	#PF_ECONET
+  19
+ 
+ 	)
+ 
+ 86 
+ 	#PF_ATMSVC
+  20
+ 
+ 	)
+ 
+ 87 
+ 	#PF_SNA
+  22
+ 
+ 	)
+ 
+ 88 
+ 	#PF_IRDA
+  23
+ 
+ 	)
+ 
+ 89 
+ 	#PF_PPPOX
+  24
+ 
+ 	)
+ 
+ 90 
+ 	#PF_WANPIPE
+  25
+ 
+ 	)
+ 
+ 91 
+ 	#PF_BLUETOOTH
+  31
+ 
+ 	)
+ 
+ 92 
+ 	#PF_MAX
+  32
+ 
+ 	)
+ 
+ 95 
+ 	#AF_UNSPEC
+  
+ PF_UNSPEC
+ 
+ 
+ 	)
+ 
+ 96 
+ 	#AF_LOCAL
+  
+ PF_LOCAL
+ 
+ 
+ 	)
+ 
+ 97 
+ 	#AF_UNIX
+  
+ PF_UNIX
+ 
+ 
+ 	)
+ 
+ 98 
+ 	#AF_FILE
+  
+ PF_FILE
+ 
+ 
+ 	)
+ 
+ 99 
+ 	#AF_INET
+  
+ PF_INET
+ 
+ 
+ 	)
+ 
+ 100 
+ 	#AF_AX25
+  
+ PF_AX25
+ 
+ 
+ 	)
+ 
+ 101 
+ 	#AF_IPX
+  
+ PF_IPX
+ 
+ 
+ 	)
+ 
+ 102 
+ 	#AF_APPLETALK
+  
+ PF_APPLETALK
+ 
+ 
+ 	)
+ 
+ 103 
+ 	#AF_NETROM
+  
+ PF_NETROM
+ 
+ 
+ 	)
+ 
+ 104 
+ 	#AF_BRIDGE
+  
+ PF_BRIDGE
+ 
+ 
+ 	)
+ 
+ 105 
+ 	#AF_ATMPVC
+  
+ PF_ATMPVC
+ 
+ 
+ 	)
+ 
+ 106 
+ 	#AF_X25
+  
+ PF_X25
+ 
+ 
+ 	)
+ 
+ 107 
+ 	#AF_INET6
+  
+ PF_INET6
+ 
+ 
+ 	)
+ 
+ 108 
+ 	#AF_ROSE
+  
+ PF_ROSE
+ 
+ 
+ 	)
+ 
+ 109 
+ 	#AF_DECÃt
+  
+ PF_DECÃt
+ 
+ 
+ 	)
+ 
+ 110 
+ 	#AF_NETBEUI
+  
+ PF_NETBEUI
+ 
+ 
+ 	)
+ 
+ 111 
+ 	#AF_SECURITY
+  
+ PF_SECURITY
+ 
+ 
+ 	)
+ 
+ 112 
+ 	#AF_KEY
+  
+ PF_KEY
+ 
+ 
+ 	)
+ 
+ 113 
+ 	#AF_NETLINK
+  
+ PF_NETLINK
+ 
+ 
+ 	)
+ 
+ 114 
+ 	#AF_ROUTE
+  
+ PF_ROUTE
+ 
+ 
+ 	)
+ 
+ 115 
+ 	#AF_PACKET
+  
+ PF_PACKET
+ 
+ 
+ 	)
+ 
+ 116 
+ 	#AF_ASH
+  
+ PF_ASH
+ 
+ 
+ 	)
+ 
+ 117 
+ 	#AF_ECONET
+  
+ PF_ECONET
+ 
+ 
+ 	)
+ 
+ 118 
+ 	#AF_ATMSVC
+  
+ PF_ATMSVC
+ 
+ 
+ 	)
+ 
+ 119 
+ 	#AF_SNA
+  
+ PF_SNA
+ 
+ 
+ 	)
+ 
+ 120 
+ 	#AF_IRDA
+  
+ PF_IRDA
+ 
+ 
+ 	)
+ 
+ 121 
+ 	#AF_PPPOX
+  
+ PF_PPPOX
+ 
+ 
+ 	)
+ 
+ 122 
+ 	#AF_WANPIPE
+  
+ PF_WANPIPE
+ 
+ 
+ 	)
+ 
+ 123 
+ 	#AF_BLUETOOTH
+  
+ PF_BLUETOOTH
+ 
+ 
+ 	)
+ 
+ 124 
+ 	#AF_MAX
+  
+ PF_MAX
+ 
+ 
+ 	)
+ 
+ 130 
+ 	#SOL_RAW
+  255
+ 
+ 	)
+ 
+ 131 
+ 	#SOL_DECNET
+  261
+ 
+ 	)
+ 
+ 132 
+ 	#SOL_X25
+  262
+ 
+ 	)
+ 
+ 133 
+ 	#SOL_PACKET
+  263
+ 
+ 	)
+ 
+ 134 
+ 	#SOL_ATM
+  264
+ 
+ 	)
+ 
+ 135 
+ 	#SOL_AAL
+  265
+ 
+ 	)
+ 
+ 136 
+ 	#SOL_IRDA
+  266
+ 
+ 	)
+ 
+ 139 
+ 	#SOMAXCONN
+  128
+ 
+ 	)
+ 
+ 142 
+ 	~<b™s/sockaddr.h
+ >
+ 
+ 145 
+ 	ssockaddr
+ 
+ 
+ 147 
+ __SOCKADDR_COMMON
+  (
+ §_
+ );
+ 
+ 148 
+ 	m§_d©a
+ [14];
+ 
+ 154 #ià
+ ULONG_MAX
+  > 0xffffffff
+ 
+ 155 
+ 	#__ss_®igÁy³
+  
+ __ušt64_t
+ 
+ 
+ 	)
+ 
+ 157 
+ 	#__ss_®igÁy³
+  
+ __ušt32_t
+ 
+ 
+ 	)
+ 
+ 159 
+ 	#_SS_SIZE
+  128
+ 
+ 	)
+ 
+ 160 
+ 	#_SS_PADSIZE
+  (
+ _SS_SIZE
+  - (2 *  (
+ __ss_®igÁy³
+ )))
+ 
+ 	)
+ 
+ 162 
+ 	ssockaddr_¡Üage
+ 
+ 
+ 164 
+ __SOCKADDR_COMMON
+  (
+ ss_
+ );
+ 
+ 165 
+ __ss_®igÁy³
+  
+ 	m__ss_®ign
+ ;
+ 
+ 166 
+ 	m__ss_·ddšg
+ [
+ _SS_PADSIZE
+ ];
+ 
+ 173 
+ 	mMSG_OOB
+  = 0x01,
+ 
+ 174 
+ 	#MSG_OOB
+  
+ MSG_OOB
+ 
+ 
+ 	)
+ 
+ 175 
+ 	mMSG_PEEK
+  = 0x02,
+ 
+ 176 
+ 	#MSG_PEEK
+  
+ MSG_PEEK
+ 
+ 
+ 	)
+ 
+ 177 
+ 	mMSG_DONTROUTE
+  = 0x04,
+ 
+ 178 
+ 	#MSG_DONTROUTE
+  
+ MSG_DONTROUTE
+ 
+ 
+ 	)
+ 
+ 179 #ifdeà
+ __USE_GNU
+ 
+ 
+ 181 
+ 	mMSG_TRYHARD
+  = 
+ MSG_DONTROUTE
+ ,
+ 
+ 182 
+ 	#MSG_TRYHARD
+  
+ MSG_DONTROUTE
+ 
+ 
+ 	)
+ 
+ 184 
+ 	mMSG_CTRUNC
+  = 0x08,
+ 
+ 185 
+ 	#MSG_CTRUNC
+  
+ MSG_CTRUNC
+ 
+ 
+ 	)
+ 
+ 186 
+ 	mMSG_PROXY
+  = 0x10,
+ 
+ 187 
+ 	#MSG_PROXY
+  
+ MSG_PROXY
+ 
+ 
+ 	)
+ 
+ 188 
+ 	mMSG_TRUNC
+  = 0x20,
+ 
+ 189 
+ 	#MSG_TRUNC
+  
+ MSG_TRUNC
+ 
+ 
+ 	)
+ 
+ 190 
+ 	mMSG_DONTWAIT
+  = 0x40,
+ 
+ 191 
+ 	#MSG_DONTWAIT
+  
+ MSG_DONTWAIT
+ 
+ 
+ 	)
+ 
+ 192 
+ 	mMSG_EOR
+  = 0x80,
+ 
+ 193 
+ 	#MSG_EOR
+  
+ MSG_EOR
+ 
+ 
+ 	)
+ 
+ 194 
+ 	mMSG_WAITALL
+  = 0x100,
+ 
+ 195 
+ 	#MSG_WAITALL
+  
+ MSG_WAITALL
+ 
+ 
+ 	)
+ 
+ 196 
+ 	mMSG_FIN
+  = 0x200,
+ 
+ 197 
+ 	#MSG_FIN
+  
+ MSG_FIN
+ 
+ 
+ 	)
+ 
+ 198 
+ 	mMSG_SYN
+  = 0x400,
+ 
+ 199 
+ 	#MSG_SYN
+  
+ MSG_SYN
+ 
+ 
+ 	)
+ 
+ 200 
+ 	mMSG_CONFIRM
+  = 0x800,
+ 
+ 201 
+ 	#MSG_CONFIRM
+  
+ MSG_CONFIRM
+ 
+ 
+ 	)
+ 
+ 202 
+ 	mMSG_RST
+  = 0x1000,
+ 
+ 203 
+ 	#MSG_RST
+  
+ MSG_RST
+ 
+ 
+ 	)
+ 
+ 204 
+ 	mMSG_ERRQUEUE
+  = 0x2000,
+ 
+ 205 
+ 	#MSG_ERRQUEUE
+  
+ MSG_ERRQUEUE
+ 
+ 
+ 	)
+ 
+ 206 
+ 	mMSG_NOSIGNAL
+  = 0x4000,
+ 
+ 207 
+ 	#MSG_NOSIGNAL
+  
+ MSG_NOSIGNAL
+ 
+ 
+ 	)
+ 
+ 208 
+ 	mMSG_MORE
+  = 0x8000
+ 
+ 209 
+ 	#MSG_MORE
+  
+ MSG_MORE
+ 
+ 
+ 	)
+ 
+ 215 
+ 	smsghdr
+ 
+ 
+ 217 *
+ 	mmsg_Çme
+ ;
+ 
+ 218 
+ sockËn_t
+  
+ 	mmsg_Çm–’
+ ;
+ 
+ 220 
+ iovec
+  *
+ 	mmsg_iov
+ ;
+ 
+ 221 
+ 	mmsg_iovËn
+ ;
+ 
+ 223 *
+ 	mmsg_cÚŒÞ
+ ;
+ 
+ 224 
+ sockËn_t
+  
+ 	mmsg_cÚŒÞËn
+ ;
+ 
+ 226 
+ 	mmsg_æags
+ ;
+ 
+ 230 
+ 	scmsghdr
+ 
+ 
+ 232 
+ size_t
+  
+ 	mcmsg_Ën
+ ;
+ 
+ 234 
+ 	mcmsg_Ëv–
+ ;
+ 
+ 235 
+ 	mcmsg_ty³
+ ;
+ 
+ 236 #ià(!
+ defšed
+  
+ __STRICT_ANSI__
+  && 
+ __GNUC__
+  >ð2è|| 
+ __STDC_VERSION__
+  >= 199901L
+ 
+ 237 
+ __ex‹nsiÚ__
+  
+ __cmsg_d©a
+  
+ 	m__æex¬r
+ ;
+ 
+ 242 #ià(!
+ defšed
+  
+ __STRICT_ANSI__
+  && 
+ __GNUC__
+  >ð2è|| 
+ __STDC_VERSION__
+  >= 199901L
+ 
+ 243 
+ 	#CMSG_DATA
+ (
+ cmsg
+ è((cmsg)->
+ __cmsg_d©a
+ )
+ 
+ 	)
+ 
+ 245 
+ 	#CMSG_DATA
+ (
+ cmsg
+ è((*è((
+ cmsghdr
+  *è(cmsgè+ 1))
+ 
+ 	)
+ 
+ 247 
+ 	#CMSG_NXTHDR
+ (
+ mhdr
+ , 
+ cmsg
+ è
+ 	`__cmsg_nxthdr
+  (mhdr, cmsg)
+ 
+ 	)
+ 
+ 248 
+ 	#CMSG_FIRSTHDR
+ (
+ mhdr
+ ) \
+ 
+ 249 ((
+ size_t
+ è(
+ mhdr
+ )->
+ msg_cÚŒÞËn
+  >ð (
+ cmsghdr
+ ) \
+ 
+ 250 ? (
+ cmsghdr
+  *è(
+ mhdr
+ )->
+ msg_cÚŒÞ
+  : (cmsghd¸*è
+ NULL
+ )
+ 
+ 	)
+ 
+ 251 
+ 	#CMSG_ALIGN
+ (
+ Ën
+ è((Ö’è+  (
+ size_t
+ ) - 1) \
+ 
+ 252 & (
+ size_t
+ è~( (size_tè- 1))
+ 
+ 	)
+ 
+ 253 
+ 	#CMSG_SPACE
+ (
+ Ën
+ è(
+ 	`CMSG_ALIGN
+  (len) \
+ 
+ 254 + 
+ 	`CMSG_ALIGN
+  ( (
+ cmsghdr
+ )))
+ 
+ 	)
+ 
+ 255 
+ 	#CMSG_LEN
+ (
+ Ën
+ è(
+ 	`CMSG_ALIGN
+  ( (
+ cmsghdr
+ )è+ (Ën))
+ 
+ 	)
+ 
+ 257 

+ cmsghdr
+  *
+ 	$__cmsg_nxthdr
+  (
+ msghdr
+  *
+ __mhdr
+ ,
+ 
+ 258 
+ cmsghdr
+  *
+ __cmsg
+ è
+ __THROW
+ ;
+ 
+ 259 #ifdeà
+ __USE_EXTERN_INLINES
+ 
+ 
+ 260 #iâdeà
+ _EXTERN_INLINE
+ 
+ 
+ 261 
+ 	#_EXTERN_INLINE
+  
+ __šlše
+ 
+ 
+ 	)
+ 
+ 263 
+ _EXTERN_INLINE
+  
+ cmsghdr
+  *
+ 
+ 264 
+ 	$__cmsg_nxthdr
+  (
+ msghdr
+  *
+ __mhdr
+ , 
+ cmsghdr
+  *
+ __cmsg
+ è
+ __THROW
+ 
+ 
+ 266 ià((
+ size_t
+ è
+ __cmsg
+ ->
+ cmsg_Ën
+  <  (
+ cmsghdr
+ ))
+ 
+ 270 
+ __cmsg
+  = (
+ cmsghdr
+  *) ((*) __cmsg
+ 
+ 271 + 
+ 	`CMSG_ALIGN
+  (
+ __cmsg
+ ->
+ cmsg_Ën
+ ));
+ 
+ 272 ià((*è(
+ __cmsg
+  + 1è> ((*è
+ __mhdr
+ ->
+ msg_cÚŒÞ
+ 
+ 
+ 273 + 
+ __mhdr
+ ->
+ msg_cÚŒÞËn
+ )
+ 
+ 274 || ((*è
+ __cmsg
+  + 
+ 	`CMSG_ALIGN
+  (__cmsg->
+ cmsg_Ën
+ )
+ 
+ 275 > ((*è
+ __mhdr
+ ->
+ msg_cÚŒÞ
+  + __mhdr->
+ msg_cÚŒÞËn
+ )))
+ 
+ 278  
+ __cmsg
+ ;
+ 
+ 279 
+ 	}
+ }
+ 
+ 286 
+ SCM_RIGHTS
+  = 0x01,
+ 
+ 287 
+ 	#SCM_RIGHTS
+  
+ SCM_RIGHTS
+ 
+ 
+ 	)
+ 
+ 288 #ifdeà
+ __USE_BSD
+ 
+ 
+ 289 
+ SCM_CREDENTIALS
+  = 0x02,
+ 
+ 290 
+ 	#SCM_CREDENTIALS
+  
+ SCM_CREDENTIALS
+ 
+ 
+ 	)
+ 
+ 292 
+ __SCM_CONNECT
+  = 0x03
+ 
+ 297 
+ 	suüed
+ 
+ 
+ 299 
+ pid_t
+  
+ 	mpid
+ ;
+ 
+ 300 
+ uid_t
+  
+ 	muid
+ ;
+ 
+ 301 
+ gid_t
+  
+ 	mgid
+ ;
+ 
+ 305 
+ 	~<asm/sock‘.h
+ >
+ 
+ 309 
+ 	slšg”
+ 
+ 
+ 311 
+ 	ml_Úoff
+ ;
+ 
+ 312 
+ 	ml_lšg”
+ ;
+ 
+ 	@/usr/include/bits/stat.h
+ 
+ 19 #iâdeà
+ _SYS_STAT_H
+ 
+ 
+ 24 
+ 	#_STAT_VER_LINUX_OLD
+  1
+ 
+ 	)
+ 
+ 25 
+ 	#_STAT_VER_KERNEL
+  1
+ 
+ 	)
+ 
+ 26 
+ 	#_STAT_VER_SVR4
+  2
+ 
+ 	)
+ 
+ 27 
+ 	#_STAT_VER_LINUX
+  3
+ 
+ 	)
+ 
+ 28 
+ 	#_STAT_VER
+  
+ _STAT_VER_LINUX
+ 
+ 
+ 	)
+ 
+ 31 
+ 	#_MKNOD_VER_LINUX
+  1
+ 
+ 	)
+ 
+ 32 
+ 	#_MKNOD_VER_SVR4
+  2
+ 
+ 	)
+ 
+ 33 
+ 	#_MKNOD_VER
+  
+ _MKNOD_VER_LINUX
+ 
+ 
+ 	)
+ 
+ 36 
+ 	s¡©
+ 
+ 
+ 38 
+ __dev_t
+  
+ 	m¡_dev
+ ;
+ 
+ 39 
+ 	m__·d1
+ ;
+ 
+ 40 #iâdeà
+ __USE_FILE_OFFSET64
+ 
+ 
+ 41 
+ __šo_t
+  
+ 	m¡_šo
+ ;
+ 
+ 43 
+ __šo_t
+  
+ 	m__¡_šo
+ ;
+ 
+ 45 
+ __mode_t
+  
+ 	m¡_mode
+ ;
+ 
+ 46 
+ __ƚk_t
+  
+ 	m¡_Æšk
+ ;
+ 
+ 47 
+ __uid_t
+  
+ 	m¡_uid
+ ;
+ 
+ 48 
+ __gid_t
+  
+ 	m¡_gid
+ ;
+ 
+ 49 
+ __dev_t
+  
+ 	m¡_rdev
+ ;
+ 
+ 50 
+ 	m__·d2
+ ;
+ 
+ 51 #iâdeà
+ __USE_FILE_OFFSET64
+ 
+ 
+ 52 
+ __off_t
+  
+ 	m¡_size
+ ;
+ 
+ 54 
+ __off64_t
+  
+ 	m¡_size
+ ;
+ 
+ 56 
+ __blksize_t
+  
+ 	m¡_blksize
+ ;
+ 
+ 58 #iâdeà
+ __USE_FILE_OFFSET64
+ 
+ 
+ 59 
+ __blkút_t
+  
+ 	m¡_blocks
+ ;
+ 
+ 61 
+ __blkút64_t
+  
+ 	m¡_blocks
+ ;
+ 
+ 63 
+ __time_t
+  
+ 	m¡_©ime
+ ;
+ 
+ 64 
+ 	m__unu£d1
+ ;
+ 
+ 65 
+ __time_t
+  
+ 	m¡_mtime
+ ;
+ 
+ 66 
+ 	m__unu£d2
+ ;
+ 
+ 67 
+ __time_t
+  
+ 	m¡_ùime
+ ;
+ 
+ 68 
+ 	m__unu£d3
+ ;
+ 
+ 69 #iâdeà
+ __USE_FILE_OFFSET64
+ 
+ 
+ 70 
+ 	m__unu£d4
+ ;
+ 
+ 71 
+ 	m__unu£d5
+ ;
+ 
+ 73 
+ __šo64_t
+  
+ 	m¡_šo
+ ;
+ 
+ 77 #ifdeà
+ __USE_LARGEFILE64
+ 
+ 
+ 78 
+ 	s¡©64
+ 
+ 
+ 80 
+ __dev_t
+  
+ 	m¡_dev
+ ;
+ 
+ 81 
+ 	m__·d1
+ ;
+ 
+ 83 
+ __šo_t
+  
+ 	m__¡_šo
+ ;
+ 
+ 84 
+ __mode_t
+  
+ 	m¡_mode
+ ;
+ 
+ 85 
+ __ƚk_t
+  
+ 	m¡_Æšk
+ ;
+ 
+ 86 
+ __uid_t
+  
+ 	m¡_uid
+ ;
+ 
+ 87 
+ __gid_t
+  
+ 	m¡_gid
+ ;
+ 
+ 88 
+ __dev_t
+  
+ 	m¡_rdev
+ ;
+ 
+ 89 
+ 	m__·d2
+ ;
+ 
+ 90 
+ __off64_t
+  
+ 	m¡_size
+ ;
+ 
+ 91 
+ __blksize_t
+  
+ 	m¡_blksize
+ ;
+ 
+ 93 
+ __blkút64_t
+  
+ 	m¡_blocks
+ ;
+ 
+ 94 
+ __time_t
+  
+ 	m¡_©ime
+ ;
+ 
+ 95 
+ 	m__unu£d1
+ ;
+ 
+ 96 
+ __time_t
+  
+ 	m¡_mtime
+ ;
+ 
+ 97 
+ 	m__unu£d2
+ ;
+ 
+ 98 
+ __time_t
+  
+ 	m¡_ùime
+ ;
+ 
+ 99 
+ 	m__unu£d3
+ ;
+ 
+ 100 
+ __šo64_t
+  
+ 	m¡_šo
+ ;
+ 
+ 105 
+ 	#_STATBUF_ST_BLKSIZE
+ 
+ 
+ 	)
+ 
+ 106 
+ 	#_STATBUF_ST_RDEV
+ 
+ 
+ 	)
+ 
+ 110 
+ 	#__S_IFMT
+  0170000
+ 
+ 	)
+ 
+ 113 
+ 	#__S_IFDIR
+  0040000
+ 
+ 	)
+ 
+ 114 
+ 	#__S_IFCHR
+  0020000
+ 
+ 	)
+ 
+ 115 
+ 	#__S_IFBLK
+  0060000
+ 
+ 	)
+ 
+ 116 
+ 	#__S_IFREG
+  0100000
+ 
+ 	)
+ 
+ 117 
+ 	#__S_IFIFO
+  0010000
+ 
+ 	)
+ 
+ 118 
+ 	#__S_IFLNK
+  0120000
+ 
+ 	)
+ 
+ 119 
+ 	#__S_IFSOCK
+  0140000
+ 
+ 	)
+ 
+ 123 
+ 	#__S_TYPEISMQ
+ (
+ buf
+ è((buf)->
+ ¡_mode
+  - (buf)->¡_mode)
+ 
+ 	)
+ 
+ 124 
+ 	#__S_TYPEISSEM
+ (
+ buf
+ è((buf)->
+ ¡_mode
+  - (buf)->¡_mode)
+ 
+ 	)
+ 
+ 125 
+ 	#__S_TYPEISSHM
+ (
+ buf
+ è((buf)->
+ ¡_mode
+  - (buf)->¡_mode)
+ 
+ 	)
+ 
+ 129 
+ 	#__S_ISUID
+  04000
+ 
+ 	)
+ 
+ 130 
+ 	#__S_ISGID
+  02000
+ 
+ 	)
+ 
+ 131 
+ 	#__S_ISVTX
+  01000
+ 
+ 	)
+ 
+ 132 
+ 	#__S_IREAD
+  0400
+ 
+ 	)
+ 
+ 133 
+ 	#__S_IWRITE
+  0200
+ 
+ 	)
+ 
+ 134 
+ 	#__S_IEXEC
+  0100
+ 
+ 	)
+ 
+ 	@/usr/include/bits/stdio.h
+ 
+ 20 #iâdeà
+ _STDIO_H
+ 
+ 
+ 24 #ifdeà
+ __ýlu¥lus
+ 
+ 
+ 25 
+ 	#__STDIO_INLINE
+  
+ šlše
+ 
+ 
+ 	)
+ 
+ 27 
+ 	#__STDIO_INLINE
+  
+ __šlše
+ 
+ 
+ 	)
+ 
+ 31 #ifdeà
+ __USE_EXTERN_INLINES
+ 
+ 
+ 33 
+ __STDIO_INLINE
+  
+ 
+ 34 
+ 	$v´štf
+  (
+ __cڡ
+  *
+ __»¡riù
+  
+ __fmt
+ , 
+ _G_va_li¡
+  
+ __¬g
+ è
+ __THROW
+ 
+ 
+ 36  
+ 	`vårštf
+  (
+ ¡dout
+ , 
+ __fmt
+ , 
+ __¬g
+ );
+ 
+ 37 
+ 	}
+ }
+ 
+ 40 
+ __STDIO_INLINE
+  
+ 
+ 41 
+ 	$g‘ch¬
+  (è
+ __THROW
+ 
+ 
+ 43  
+ 	`_IO_g‘c
+  (
+ ¡dš
+ );
+ 
+ 44 
+ 	}
+ }
+ 
+ 47 #ià
+ defšed
+  
+ __USE_POSIX
+  || defšed 
+ __USE_MISC
+ 
+ 
+ 49 
+ __STDIO_INLINE
+  
+ 
+ 50 
+ 	$g‘c_uÆocked
+  (
+ FILE
+  *
+ __å
+ è
+ __THROW
+ 
+ 
+ 52  
+ 	`_IO_g‘c_uÆocked
+  (
+ __å
+ );
+ 
+ 53 
+ 	}
+ }
+ 
+ 56 
+ __STDIO_INLINE
+  
+ 
+ 57 
+ 	$g‘ch¬_uÆocked
+  (è
+ __THROW
+ 
+ 
+ 59  
+ 	`_IO_g‘c_uÆocked
+  (
+ ¡dš
+ );
+ 
+ 60 
+ 	}
+ }
+ 
+ 65 
+ __STDIO_INLINE
+  
+ 
+ 66 
+ 	$putch¬
+  (
+ __c
+ è
+ __THROW
+ 
+ 
+ 68  
+ 	`_IO_putc
+  (
+ __c
+ , 
+ ¡dout
+ );
+ 
+ 69 
+ 	}
+ }
+ 
+ 72 #ifdeà
+ __USE_MISC
+ 
+ 
+ 74 
+ __STDIO_INLINE
+  
+ 
+ 75 
+ 	$åutc_uÆocked
+  (
+ __c
+ , 
+ FILE
+  *
+ __¡»am
+ è
+ __THROW
+ 
+ 
+ 77  
+ 	`_IO_putc_uÆocked
+  (
+ __c
+ , 
+ __¡»am
+ );
+ 
+ 78 
+ 	}
+ }
+ 
+ 82 #ià
+ defšed
+  
+ __USE_POSIX
+  || defšed 
+ __USE_MISC
+ 
+ 
+ 84 
+ __STDIO_INLINE
+  
+ 
+ 85 
+ 	$putc_uÆocked
+  (
+ __c
+ , 
+ FILE
+  *
+ __¡»am
+ è
+ __THROW
+ 
+ 
+ 87  
+ 	`_IO_putc_uÆocked
+  (
+ __c
+ , 
+ __¡»am
+ );
+ 
+ 88 
+ 	}
+ }
+ 
+ 91 
+ __STDIO_INLINE
+  
+ 
+ 92 
+ 	$putch¬_uÆocked
+  (
+ __c
+ è
+ __THROW
+ 
+ 
+ 94  
+ 	`_IO_putc_uÆocked
+  (
+ __c
+ , 
+ ¡dout
+ );
+ 
+ 95 
+ 	}
+ }
+ 
+ 99 #ifdef 
+ __USE_GNU
+ 
+ 
+ 101 
+ __STDIO_INLINE
+  
+ _IO_ssize_t
+ 
+ 
+ 102 
+ 	$g‘lše
+  (**
+ __lš•Œ
+ , 
+ size_t
+  *
+ __n
+ , 
+ FILE
+  *
+ __¡»am
+ è
+ __THROW
+ 
+ 
+ 104  
+ 	`__g‘d–im
+  (
+ __lš•Œ
+ , 
+ __n
+ , '\n', 
+ __¡»am
+ );
+ 
+ 105 
+ 	}
+ }
+ 
+ 109 #ifdeà
+ __USE_MISC
+ 
+ 
+ 111 
+ __STDIO_INLINE
+  
+ 
+ 112 
+ 	$ãof_uÆocked
+  (
+ FILE
+  *
+ __¡»am
+ è
+ __THROW
+ 
+ 
+ 114  
+ 	`_IO_ãof_uÆocked
+  (
+ __¡»am
+ );
+ 
+ 115 
+ 	}
+ }
+ 
+ 118 
+ __STDIO_INLINE
+  
+ 
+ 119 
+ 	$ã¼Ü_uÆocked
+  (
+ FILE
+  *
+ __¡»am
+ è
+ __THROW
+ 
+ 
+ 121  
+ 	`_IO_ã¼Ü_uÆocked
+  (
+ __¡»am
+ );
+ 
+ 122 
+ 	}
+ }
+ 
+ 128 #ià
+ defšed
+  
+ __USE_MISC
+  && defšed 
+ __GNUC__
+  && defšed 
+ __OPTIMIZE__
+ 
+ 
+ 130 
+ 	#ä—d_uÆocked
+ (
+ ±r
+ , 
+ size
+ , 
+ n
+ , 
+ ¡»am
+ ) \
+ 
+ 131 (
+ 	`__ex‹nsiÚ__
+  ((
+ 	`__bužtš_cÚ¡ªt_p
+  (
+ size
+ è&& __bužtš_cÚ¡ªt_°(
+ n
+ ) \
+ 
+ 132 && (
+ size_t
+ è((
+ size
+ è* (
+ n
+ )) <= 8 && (size) != 0) \
+ 
+ 133 ? ({ *
+ __±r
+  = (*è(
+ ±r
+ ); \
+ 
+ 134 
+ FILE
+  *
+ __¡»am
+  = (
+ ¡»am
+ ); \
+ 
+ 135 
+ size_t
+  
+ __út
+ ; \
+ 
+ 136 
+ __út
+  = (
+ size
+ è* (
+ n
+ ); __cnt > 0; --__cnt) \
+ 
+ 138 
+ __c
+  = 
+ 	`_IO_g‘c_uÆocked
+  (
+ __¡»am
+ ); \
+ 
+ 139 ià(
+ __c
+  =ð
+ EOF
+ ) \
+ 
+ 141 *
+ __±r
+ ++ = 
+ __c
+ ; \
+ 
+ 143 ((
+ size_t
+ è((
+ size
+ è* (
+ n
+ )è- 
+ __út
+ ) / (size); }) \
+ 
+ 144 : (((
+ 	`__bužtš_cÚ¡ªt_p
+  (
+ size
+ ) && (size) == 0) \
+ 
+ 145 || (
+ 	`__bužtš_cÚ¡ªt_p
+  (
+ n
+ ) && (n) == 0)) \
+ 
+ 147 ? ((è(
+ ±r
+ ), (è(
+ ¡»am
+ ), (è(
+ size
+ ), \
+ 
+ 148 (è(
+ n
+ ), 0) \
+ 
+ 149 : 
+ 	`ä—d_uÆocked
+  (
+ ±r
+ , 
+ size
+ , 
+ n
+ , 
+ ¡»am
+ ))))
+ 
+ 	)
+ 
+ 151 
+ 	#fwr™e_uÆocked
+ (
+ ±r
+ , 
+ size
+ , 
+ n
+ , 
+ ¡»am
+ ) \
+ 
+ 152 (
+ 	`__ex‹nsiÚ__
+  ((
+ 	`__bužtš_cÚ¡ªt_p
+  (
+ size
+ è&& __bužtš_cÚ¡ªt_°(
+ n
+ ) \
+ 
+ 153 && (
+ size_t
+ è((
+ size
+ è* (
+ n
+ )) <= 8 && (size) != 0) \
+ 
+ 154 ? ({ cڡ *
+ __±r
+  = (cÚ¡ *è(
+ ±r
+ ); \
+ 
+ 155 
+ FILE
+  *
+ __¡»am
+  = (
+ ¡»am
+ ); \
+ 
+ 156 
+ size_t
+  
+ __út
+ ; \
+ 
+ 157 
+ __út
+  = (
+ size
+ è* (
+ n
+ ); __cnt > 0; --__cnt) \
+ 
+ 158 ià(
+ 	`_IO_putc_uÆocked
+  (*
+ __±r
+ ++, 
+ __¡»am
+ è=ð
+ EOF
+ ) \
+ 
+ 160 ((
+ size_t
+ è((
+ size
+ è* (
+ n
+ )è- 
+ __út
+ ) / (size); }) \
+ 
+ 161 : (((
+ 	`__bužtš_cÚ¡ªt_p
+  (
+ size
+ ) && (size) == 0) \
+ 
+ 162 || (
+ 	`__bužtš_cÚ¡ªt_p
+  (
+ n
+ ) && (n) == 0)) \
+ 
+ 164 ? ((è(
+ ±r
+ ), (è(
+ ¡»am
+ ), (è(
+ size
+ ), 
+ n
+ ) \
+ 
+ 165 : 
+ 	`fwr™e_uÆocked
+  (
+ ±r
+ , 
+ size
+ , 
+ n
+ , 
+ ¡»am
+ ))))
+ 
+ 	)
+ 
+ 169 #undeà
+ __STDIO_INLINE
+ 
+ 
+ 	@/usr/include/bits/stdio_lim.h
+ 
+ 19 #ià!
+ defšed
+  
+ _STDIO_H
+  && !defšed 
+ __Ãed_FOPEN_MAX
+  && !defšed 
+ __Ãed_IOV_MAX
+ 
+ 
+ 23 #ifdeà
+ _STDIO_H
+ 
+ 
+ 24 
+ 	#L_tm²am
+  20
+ 
+ 	)
+ 
+ 25 
+ 	#TMP_MAX
+  238328
+ 
+ 	)
+ 
+ 26 
+ 	#FILENAME_MAX
+  4096
+ 
+ 	)
+ 
+ 28 #ifdeà
+ __USE_POSIX
+ 
+ 
+ 29 
+ 	#L_ù”mid
+  9
+ 
+ 	)
+ 
+ 30 
+ 	#L_cu£rid
+  9
+ 
+ 	)
+ 
+ 34 #ià
+ defšed
+  
+ __Ãed_FOPEN_MAX
+  || defšed 
+ _STDIO_H
+ 
+ 
+ 35 #undeà
+ FOPEN_MAX
+ 
+ 
+ 36 
+ 	#FOPEN_MAX
+  16
+ 
+ 	)
+ 
+ 39 #ià
+ defšed
+  
+ __Ãed_IOV_MAX
+  && !defšed 
+ IOV_MAX
+ 
+ 
+ 40 
+ 	#IOV_MAX
+  1024
+ 
+ 	)
+ 
+ 	@/usr/include/bits/string.h
+ 
+ 20 #iâdeà
+ _STRING_H
+ 
+ 
+ 25 
+ 	#_STRING_ARCH_uÇligÃd
+  1
+ 
+ 	)
+ 
+ 30 #ià!
+ defšed
+  
+ __NO_STRING_INLINES
+  && defšed 
+ __USE_STRING_INLINES
+  \
+ 
+ 31 && 
+ defšed
+  
+ 	g__GNUC__
+  && __GNUC__ >ð2 && !
+ __BOUNDED_POINTERS__
+ 
+ 
+ 33 #iâdeà
+ __STRING_INLINE
+ 
+ 
+ 34 #ifdeà
+ __ýlu¥lus
+ 
+ 
+ 35 
+ 	#__STRING_INLINE
+  
+ šlše
+ 
+ 
+ 	)
+ 
+ 37 
+ 	#__STRING_INLINE
+  
+ __šlše
+ 
+ 
+ 	)
+ 
+ 43 
+ 	#_HAVE_STRING_ARCH_memýy
+  1
+ 
+ 	)
+ 
+ 44 
+ 	#memýy
+ (
+ de¡
+ , 
+ ¤c
+ , 
+ n
+ ) \
+ 
+ 45 (
+ 	`__ex‹nsiÚ__
+  (
+ 	`__bužtš_cÚ¡ªt_p
+  (
+ n
+ ) \
+ 
+ 46 ? 
+ 	`__memýy_c
+  (
+ de¡
+ , 
+ ¤c
+ , 
+ n
+ ) \
+ 
+ 47 : 
+ 	`memýy
+  (
+ de¡
+ , 
+ ¤c
+ , 
+ n
+ )))
+ 
+ 	)
+ 
+ 50 
+ __STRING_INLINE
+  *
+ __memýy_c
+  (*
+ __de¡
+ , 
+ __cڡ
+  *
+ __¤c
+ ,
+ 
+ 51 
+ size_t
+  
+ __n
+ );
+ 
+ 53 
+ __STRING_INLINE
+  *
+ 
+ 54 
+ 	$__memýy_c
+  (*
+ __de¡
+ , 
+ __cڡ
+  *
+ __¤c
+ , 
+ size_t
+  
+ __n
+ )
+ 
+ 56 
+ __d0
+ , 
+ __d1
+ , 
+ __d2
+ ;
+ 
+ 58 
+ __ui
+ ;
+ 
+ 59 
+ __usi
+ ;
+ 
+ 60 
+ __uc
+ ;
+ 
+ 61 } *
+ __u
+  = 
+ __de¡
+ ;
+ 
+ 62 
+ __n
+ )
+ 
+ 65  
+ __de¡
+ ;
+ 
+ 67 
+ __u
+ ->
+ __uc
+  = *(cÚ¡ *è
+ __¤c
+ ;
+ 
+ 68  
+ __de¡
+ ;
+ 
+ 70 
+ __u
+ ->
+ __usi
+  = *(cÚ¡ *è
+ __¤c
+ ;
+ 
+ 71  
+ __de¡
+ ;
+ 
+ 73 
+ __u
+ ->
+ __usi
+  = *(cÚ¡ *è
+ __¤c
+ ;
+ 
+ 74 
+ __u
+  = (*) __u + 2;
+ 
+ 75 
+ __u
+ ->
+ __uc
+  = *(2 + (cÚ¡ *è
+ __¤c
+ );
+ 
+ 76  
+ __de¡
+ ;
+ 
+ 78 
+ __u
+ ->
+ __ui
+  = *(cÚ¡ *è
+ __¤c
+ ;
+ 
+ 79  
+ __de¡
+ ;
+ 
+ 81 
+ __u
+ ->
+ __ui
+  = *(cÚ¡ *è
+ __¤c
+ ;
+ 
+ 82 
+ __u
+  = (*) __u + 4;
+ 
+ 83 
+ __u
+ ->
+ __usi
+  = *(2 + (cÚ¡ *è
+ __¤c
+ );
+ 
+ 84  
+ __de¡
+ ;
+ 
+ 86 
+ __u
+ ->
+ __ui
+  = *(cÚ¡ *è
+ __¤c
+ ;
+ 
+ 87 
+ __u
+  = (*) __u + 4;
+ 
+ 88 
+ __u
+ ->
+ __ui
+  = *(1 + (cÚ¡ *è
+ __¤c
+ );
+ 
+ 89  
+ __de¡
+ ;
+ 
+ 91 
+ __u
+ ->
+ __ui
+  = *(cÚ¡ *è
+ __¤c
+ ;
+ 
+ 92 
+ __u
+  = (*) __u + 4;
+ 
+ 93 
+ __u
+ ->
+ __ui
+  = *(1 + (cÚ¡ *è
+ __¤c
+ );
+ 
+ 94 
+ __u
+  = (*) __u + 4;
+ 
+ 95 
+ __u
+ ->
+ __ui
+  = *(2 + (cÚ¡ *è
+ __¤c
+ );
+ 
+ 96  
+ __de¡
+ ;
+ 
+ 98 
+ __u
+ ->
+ __ui
+  = *(cÚ¡ *è
+ __¤c
+ ;
+ 
+ 99 
+ __u
+  = (*) __u + 4;
+ 
+ 100 
+ __u
+ ->
+ __ui
+  = *(1 + (cÚ¡ *è
+ __¤c
+ );
+ 
+ 101 
+ __u
+  = (*) __u + 4;
+ 
+ 102 
+ __u
+ ->
+ __ui
+  = *(2 + (cÚ¡ *è
+ __¤c
+ );
+ 
+ 103 
+ __u
+  = (*) __u + 4;
+ 
+ 104 
+ __u
+ ->
+ __ui
+  = *(3 + (cÚ¡ *è
+ __¤c
+ );
+ 
+ 105  
+ __de¡
+ ;
+ 
+ 107 
+ __u
+ ->
+ __ui
+  = *(cÚ¡ *è
+ __¤c
+ ;
+ 
+ 108 
+ __u
+  = (*) __u + 4;
+ 
+ 109 
+ __u
+ ->
+ __ui
+  = *(1 + (cÚ¡ *è
+ __¤c
+ );
+ 
+ 110 
+ __u
+  = (*) __u + 4;
+ 
+ 111 
+ __u
+ ->
+ __ui
+  = *(2 + (cÚ¡ *è
+ __¤c
+ );
+ 
+ 112 
+ __u
+  = (*) __u + 4;
+ 
+ 113 
+ __u
+ ->
+ __ui
+  = *(3 + (cÚ¡ *è
+ __¤c
+ );
+ 
+ 114 
+ __u
+  = (*) __u + 4;
+ 
+ 115 
+ __u
+ ->
+ __ui
+  = *(4 + (cÚ¡ *è
+ __¤c
+ );
+ 
+ 116  
+ __de¡
+ ;
+ 
+ 118 
+ 	#__COMMON_CODE
+ (
+ x
+ ) \
+ 
+ 119 
+ __asm__
+  
+ __vÞ©že__
+  \
+ 
+ 122 
+ x
+  \
+ 
+ 123 : "=&c" (
+ __d0
+ ), "=&D" (
+ __d1
+ ), "=&S" (
+ __d2
+ ) \
+ 
+ 124 : "0" (
+ __n
+  / 4), "1" (&
+ __u
+ ->
+ __uc
+ ), "2" (
+ __¤c
+ ) \
+ 
+ 125 : "memÜy");
+ 
+ 	)
+ 
+ 127 
+ __n
+  % 4)
+ 
+ 130 
+ 	`__COMMON_CODE
+  ("");
+ 
+ 133 
+ 	`__COMMON_CODE
+  ("\n\tmovsb");
+ 
+ 136 
+ 	`__COMMON_CODE
+  ("\n\tmovsw");
+ 
+ 139 
+ 	`__COMMON_CODE
+  ("\n\tmovsw\n\tmovsb");
+ 
+ 142  
+ __de¡
+ ;
+ 
+ 143 #undeà
+ __COMMON_CODE
+ 
+ 
+ 144 
+ 	}
+ }
+ 
+ 149 
+ 	#_HAVE_STRING_ARCH_memmove
+  1
+ 
+ 	)
+ 
+ 150 #iâdeà
+ _FORCE_INLINES
+ 
+ 
+ 151 
+ __STRING_INLINE
+  *
+ 
+ 152 
+ 	$memmove
+  (*
+ __de¡
+ , 
+ __cڡ
+  *
+ __¤c
+ , 
+ size_t
+  
+ __n
+ )
+ 
+ 154 
+ __d0
+ , 
+ __d1
+ , 
+ __d2
+ ;
+ 
+ 155 ià(
+ __de¡
+  < 
+ __¤c
+ )
+ 
+ 156 
+ __asm__
+  
+ __vÞ©že__
+ 
+ 
+ 160 : "=&c" (
+ __d0
+ ), "=&S" (
+ __d1
+ ), "=&D" (
+ __d2
+ )
+ 
+ 161 : "0" (
+ __n
+ ), "1" (
+ __¤c
+ ), "2" (
+ __de¡
+ )
+ 
+ 164 
+ __asm__
+  
+ __vÞ©že__
+ 
+ 
+ 169 : "=&c" (
+ __d0
+ ), "=&S" (
+ __d1
+ ), "=&D" (
+ __d2
+ )
+ 
+ 170 : "0" (
+ __n
+ ), "1" (__À- 1 + (cÚ¡ *è
+ __¤c
+ ),
+ 
+ 171 "2" (
+ __n
+  - 1 + (*è
+ __de¡
+ )
+ 
+ 173  
+ __de¡
+ ;
+ 
+ 174 
+ 	}
+ }
+ 
+ 178 
+ 	#_HAVE_STRING_ARCH_mem£t
+  1
+ 
+ 	)
+ 
+ 179 
+ 	#_USE_STRING_ARCH_mem£t
+  1
+ 
+ 	)
+ 
+ 180 
+ 	#mem£t
+ (
+ s
+ , 
+ c
+ , 
+ n
+ ) \
+ 
+ 181 (
+ 	`__ex‹nsiÚ__
+  (
+ 	`__bužtš_cÚ¡ªt_p
+  (
+ c
+ ) \
+ 
+ 182 ? (
+ 	`__bužtš_cÚ¡ªt_p
+  (
+ n
+ ) \
+ 
+ 183 ? 
+ 	`__mem£t_cc
+  (
+ s
+ , 0x01010101UL * (è(
+ c
+ ), 
+ n
+ ) \
+ 
+ 184 : 
+ 	`__mem£t_cg
+  (
+ s
+ , 0x01010101UL * (è(
+ c
+ ), 
+ n
+ ))\
+ 
+ 185 : 
+ 	`__mem£t_gg
+  (
+ s
+ , 
+ c
+ , 
+ n
+ )))
+ 
+ 	)
+ 
+ 187 
+ __STRING_INLINE
+  *
+ __mem£t_cc
+  (*
+ __s
+ , 
+ __·‰”n
+ ,
+ 
+ 188 
+ size_t
+  
+ __n
+ );
+ 
+ 190 
+ __STRING_INLINE
+  *
+ 
+ 191 
+ 	$__mem£t_cc
+  (*
+ __s
+ , 
+ __·‰”n
+ , 
+ size_t
+  
+ __n
+ )
+ 
+ 193 
+ __d0
+ , 
+ __d1
+ ;
+ 
+ 195 
+ __ui
+ ;
+ 
+ 196 
+ __usi
+ ;
+ 
+ 197 
+ __uc
+ ;
+ 
+ 198 } *
+ __u
+  = 
+ __s
+ ;
+ 
+ 199 
+ __n
+ )
+ 
+ 202  
+ __s
+ ;
+ 
+ 204 
+ __u
+ ->
+ __uc
+  = 
+ __·‰”n
+ ;
+ 
+ 205  
+ __s
+ ;
+ 
+ 207 
+ __u
+ ->
+ __usi
+  = 
+ __·‰”n
+ ;
+ 
+ 208  
+ __s
+ ;
+ 
+ 210 
+ __u
+ ->
+ __usi
+  = 
+ __·‰”n
+ ;
+ 
+ 211 
+ __u
+  = 
+ 	`__ex‹nsiÚ__
+  ((*) __u + 2);
+ 
+ 212 
+ __u
+ ->
+ __uc
+  = 
+ __·‰”n
+ ;
+ 
+ 213  
+ __s
+ ;
+ 
+ 215 
+ __u
+ ->
+ __ui
+  = 
+ __·‰”n
+ ;
+ 
+ 216  
+ __s
+ ;
+ 
+ 218 
+ 	#__COMMON_CODE
+ (
+ x
+ ) \
+ 
+ 219 
+ __asm__
+  
+ __vÞ©že__
+  \
+ 
+ 222 
+ x
+  \
+ 
+ 223 : "=&c" (
+ __d0
+ ), "=&D" (
+ __d1
+ ) \
+ 
+ 224 : "a" (
+ __·‰”n
+ ), "0" (
+ __n
+  / 4), "1" (&
+ __u
+ ->
+ __uc
+ ) \
+ 
+ 225 : "memÜy")
+ 
+ 	)
+ 
+ 227 
+ __n
+  % 4)
+ 
+ 230 
+ 	`__COMMON_CODE
+  ("");
+ 
+ 233 
+ 	`__COMMON_CODE
+  ("\n\tstosb");
+ 
+ 236 
+ 	`__COMMON_CODE
+  ("\n\tstosw");
+ 
+ 239 
+ 	`__COMMON_CODE
+  ("\n\tstosw\n\tstosb");
+ 
+ 242  
+ __s
+ ;
+ 
+ 243 #undeà
+ __COMMON_CODE
+ 
+ 
+ 244 
+ 	}
+ }
+ 
+ 246 
+ __STRING_INLINE
+  *
+ __mem£t_cg
+  (*
+ __s
+ , 
+ __c
+ , 
+ size_t
+  
+ __n
+ );
+ 
+ 248 
+ __STRING_INLINE
+  *
+ 
+ 249 
+ 	$__mem£t_cg
+  (*
+ __s
+ , 
+ __c
+ , 
+ size_t
+  
+ __n
+ )
+ 
+ 251 
+ __d0
+ , 
+ __d1
+ ;
+ 
+ 252 
+ __asm__
+  
+ __vÞ©že__
+ 
+ 
+ 263 : "=&c" (
+ __d0
+ ), "=&D" (
+ __d1
+ )
+ 
+ 264 : "a" (
+ __c
+ ), "q" (
+ __n
+ ), "0" (__À/ 4), "1" (
+ __s
+ )
+ 
+ 266  
+ __s
+ ;
+ 
+ 267 
+ 	}
+ }
+ 
+ 269 
+ __STRING_INLINE
+  *
+ __mem£t_gg
+  (*
+ __s
+ , 
+ __c
+ , 
+ size_t
+  
+ __n
+ );
+ 
+ 271 
+ __STRING_INLINE
+  *
+ 
+ 272 
+ 	$__mem£t_gg
+  (*
+ __s
+ , 
+ __c
+ , 
+ size_t
+  
+ __n
+ )
+ 
+ 274 
+ __d0
+ , 
+ __d1
+ ;
+ 
+ 275 
+ __asm__
+  
+ __vÞ©že__
+ 
+ 
+ 278 : "=&D" (
+ __d0
+ ), "=&c" (
+ __d1
+ )
+ 
+ 279 : "a" (
+ __c
+ ), "0" (
+ __s
+ ), "1" (
+ __n
+ )
+ 
+ 281  
+ __s
+ ;
+ 
+ 282 
+ 	}
+ }
+ 
+ 288 
+ 	#_HAVE_STRING_ARCH_memchr
+  1
+ 
+ 	)
+ 
+ 289 #iâdeà
+ _FORCE_INLINES
+ 
+ 
+ 290 
+ __STRING_INLINE
+  *
+ 
+ 291 
+ 	$memchr
+  (
+ __cڡ
+  *
+ __s
+ , 
+ __c
+ , 
+ size_t
+  
+ __n
+ )
+ 
+ 293 
+ __d0
+ ;
+ 
+ 294 *
+ __»s
+ ;
+ 
+ 295 ià(
+ __n
+  == 0)
+ 
+ 296  
+ NULL
+ ;
+ 
+ 297 
+ __asm__
+  
+ __vÞ©že__
+ 
+ 
+ 303 : "=D" (
+ __»s
+ ), "=&c" (
+ __d0
+ )
+ 
+ 304 : "a" (
+ __c
+ ), "0" (
+ __s
+ ), "1" (
+ __n
+ )
+ 
+ 306  
+ __»s
+  - 1;
+ 
+ 307 
+ 	}
+ }
+ 
+ 310 
+ 	#_HAVE_STRING_ARCH_memrchr
+  1
+ 
+ 	)
+ 
+ 311 #iâdeà
+ _FORCE_INLINES
+ 
+ 
+ 312 
+ __STRING_INLINE
+  *
+ 
+ 313 
+ 	$__memrchr
+  (
+ __cڡ
+  *
+ __s
+ , 
+ __c
+ , 
+ size_t
+  
+ __n
+ )
+ 
+ 315 
+ __d0
+ ;
+ 
+ 316 *
+ __»s
+ ;
+ 
+ 317 ià(
+ __n
+  == 0)
+ 
+ 318  
+ NULL
+ ;
+ 
+ 319 
+ __asm__
+  
+ __vÞ©že__
+ 
+ 
+ 325 : "=D" (
+ __»s
+ ), "=&c" (
+ __d0
+ )
+ 
+ 326 : "a" (
+ __c
+ ), "0" (
+ __s
+  + 
+ __n
+  - 1), "1" (__n)
+ 
+ 328  
+ __»s
+  + 1;
+ 
+ 329 
+ 	}
+ }
+ 
+ 330 #ifdeà
+ __USE_GNU
+ 
+ 
+ 331 
+ 	#memrchr
+ (
+ s
+ , 
+ c
+ , 
+ n
+ è
+ 	`__memrchr
+  (s, c,‚)
+ 
+ 	)
+ 
+ 336 
+ 	#_HAVE_STRING_ARCH_¡¾’
+  1
+ 
+ 	)
+ 
+ 337 #iâdeà
+ _FORCE_INLINES
+ 
+ 
+ 338 
+ __STRING_INLINE
+  
+ size_t
+ 
+ 
+ 339 
+ 	$¡¾’
+  (
+ __cڡ
+  *
+ __¡r
+ )
+ 
+ 341 
+ __d0
+ ;
+ 
+ 342 
+ size_t
+  
+ __»s
+ ;
+ 
+ 343 
+ __asm__
+  
+ __vÞ©že__
+ 
+ 
+ 347 : "=c" (
+ __»s
+ ), "=&D" (
+ __d0
+ )
+ 
+ 348 : "1" (
+ __¡r
+ ), "a" (0), "0" (0xffffffff)
+ 
+ 350  
+ __»s
+  - 1;
+ 
+ 351 
+ 	}
+ }
+ 
+ 355 
+ 	#_HAVE_STRING_ARCH_¡rýy
+  1
+ 
+ 	)
+ 
+ 356 #iâdeà
+ _FORCE_INLINES
+ 
+ 
+ 357 
+ __STRING_INLINE
+  *
+ 
+ 358 
+ 	$¡rýy
+  (*
+ __de¡
+ , 
+ __cڡ
+  *
+ __¤c
+ )
+ 
+ 360 
+ __d0
+ , 
+ __d1
+ ;
+ 
+ 361 
+ __asm__
+  
+ __vÞ©že__
+ 
+ 
+ 368 : "=&S" (
+ __d0
+ ), "=&D" (
+ __d1
+ )
+ 
+ 369 : "0" (
+ __¤c
+ ), "1" (
+ __de¡
+ )
+ 
+ 371  
+ __de¡
+ ;
+ 
+ 372 
+ 	}
+ }
+ 
+ 376 
+ 	#_HAVE_STRING_ARCH_¡ºýy
+  1
+ 
+ 	)
+ 
+ 377 #iâdeà
+ _FORCE_INLINES
+ 
+ 
+ 378 
+ __STRING_INLINE
+  *
+ 
+ 379 
+ 	$¡ºýy
+  (*
+ __de¡
+ , 
+ __cڡ
+  *
+ __¤c
+ , 
+ size_t
+  
+ __n
+ )
+ 
+ 381 
+ __d0
+ , 
+ __d1
+ , 
+ __d2
+ ;
+ 
+ 382 
+ __asm__
+  
+ __vÞ©že__
+ 
+ 
+ 393 : "=&S" (
+ __d0
+ ), "=&D" (
+ __d1
+ ), "=&c" (
+ __d2
+ )
+ 
+ 394 : "0" (
+ __¤c
+ ), "1" (
+ __de¡
+ ), "2" (
+ __n
+ )
+ 
+ 396  
+ __de¡
+ ;
+ 
+ 397 
+ 	}
+ }
+ 
+ 401 
+ 	#_HAVE_STRING_ARCH_¡rÿt
+  1
+ 
+ 	)
+ 
+ 402 #iâdeà
+ _FORCE_INLINES
+ 
+ 
+ 403 
+ __STRING_INLINE
+  *
+ 
+ 404 
+ 	$¡rÿt
+  (*
+ __de¡
+ , 
+ __cڡ
+  *
+ __¤c
+ )
+ 
+ 406 
+ __d0
+ , 
+ __d1
+ , 
+ __d2
+ , 
+ __d3
+ ;
+ 
+ 407 
+ __asm__
+  
+ __vÞ©že__
+ 
+ 
+ 416 : "=&S" (
+ __d0
+ ), "=&D" (
+ __d1
+ ), "=&c" (
+ __d2
+ ), "=&a" (
+ __d3
+ )
+ 
+ 417 : "0" (
+ __¤c
+ ), "1" (
+ __de¡
+ ), "2" (0xffffffff), "3" (0)
+ 
+ 419  
+ __de¡
+ ;
+ 
+ 420 
+ 	}
+ }
+ 
+ 424 
+ 	#_HAVE_STRING_ARCH_¡ºÿt
+  1
+ 
+ 	)
+ 
+ 425 #iâdeà
+ _FORCE_INLINES
+ 
+ 
+ 426 
+ __STRING_INLINE
+  *
+ 
+ 427 
+ 	$¡ºÿt
+  (*
+ __de¡
+ , 
+ __cڡ
+  *
+ __¤c
+ , 
+ size_t
+  
+ __n
+ )
+ 
+ 429 
+ __d0
+ , 
+ __d1
+ , 
+ __d2
+ , 
+ __d3
+ ;
+ 
+ 430 
+ __asm__
+  
+ __vÞ©že__
+ 
+ 
+ 447 : "=&S" (
+ __d0
+ ), "=&D" (
+ __d1
+ ), "=&c" (
+ __d2
+ ), "=&a" (
+ __d3
+ )
+ 
+ 448 : "g" (
+ __n
+ ), "0" (
+ __¤c
+ ), "1" (
+ __de¡
+ ), "2" (0xffffffff), "3" (0)
+ 
+ 450  
+ __de¡
+ ;
+ 
+ 451 
+ 	}
+ }
+ 
+ 455 
+ 	#_HAVE_STRING_ARCH_¡rcmp
+  1
+ 
+ 	)
+ 
+ 456 #iâdeà
+ _FORCE_INLINES
+ 
+ 
+ 457 
+ __STRING_INLINE
+  
+ 
+ 458 
+ 	$¡rcmp
+  (
+ __cڡ
+  *
+ __s1
+ , __cڡ *
+ __s2
+ )
+ 
+ 460 
+ __d0
+ , 
+ __d1
+ ;
+ 
+ 461 
+ __»s
+ ;
+ 
+ 462 
+ __asm__
+  
+ __vÞ©že__
+ 
+ 
+ 476 : "÷" (
+ __»s
+ ), "=&S" (
+ __d0
+ ), "=&D" (
+ __d1
+ )
+ 
+ 477 : "1" (
+ __s1
+ ), "2" (
+ __s2
+ )
+ 
+ 479  
+ __»s
+ ;
+ 
+ 480 
+ 	}
+ }
+ 
+ 484 
+ 	#_HAVE_STRING_ARCH_¡ºcmp
+  1
+ 
+ 	)
+ 
+ 485 #iâdeà
+ _FORCE_INLINES
+ 
+ 
+ 486 
+ __STRING_INLINE
+  
+ 
+ 487 
+ 	$¡ºcmp
+  (
+ __cڡ
+  *
+ __s1
+ , __cڡ *
+ __s2
+ , 
+ size_t
+  
+ __n
+ )
+ 
+ 489 
+ __d0
+ , 
+ __d1
+ , 
+ __d2
+ ;
+ 
+ 490 
+ __»s
+ ;
+ 
+ 491 
+ __asm__
+  
+ __vÞ©že__
+ 
+ 
+ 508 : "÷" (
+ __»s
+ ), "=&S" (
+ __d0
+ ), "=&D" (
+ __d1
+ ), "=&c" (
+ __d2
+ )
+ 
+ 509 : "1" (
+ __s1
+ ), "2" (
+ __s2
+ ), "3" (
+ __n
+ )
+ 
+ 511  
+ __»s
+ ;
+ 
+ 512 
+ 	}
+ }
+ 
+ 516 
+ 	#_HAVE_STRING_ARCH_¡rchr
+  1
+ 
+ 	)
+ 
+ 517 
+ 	#_USE_STRING_ARCH_¡rchr
+  1
+ 
+ 	)
+ 
+ 518 
+ 	#¡rchr
+ (
+ s
+ , 
+ c
+ ) \
+ 
+ 519 (
+ 	`__ex‹nsiÚ__
+  (
+ 	`__bužtš_cÚ¡ªt_p
+  (
+ c
+ ) \
+ 
+ 520 ? 
+ 	`__¡rchr_c
+  (
+ s
+ , ((
+ c
+ ) & 0xff) << 8) \
+ 
+ 521 : 
+ 	`__¡rchr_g
+  (
+ s
+ , 
+ c
+ )))
+ 
+ 	)
+ 
+ 523 
+ __STRING_INLINE
+  *
+ __¡rchr_g
+  (
+ __cڡ
+  *
+ __s
+ , 
+ __c
+ );
+ 
+ 525 
+ __STRING_INLINE
+  *
+ 
+ 526 
+ 	$__¡rchr_g
+  (
+ __cڡ
+  *
+ __s
+ , 
+ __c
+ )
+ 
+ 528 
+ __d0
+ ;
+ 
+ 529 *
+ __»s
+ ;
+ 
+ 530 
+ __asm__
+  
+ __vÞ©že__
+ 
+ 
+ 542 : "÷" (
+ __»s
+ ), "=&S" (
+ __d0
+ )
+ 
+ 543 : "0" (
+ __c
+ ), "1" (
+ __s
+ )
+ 
+ 545  
+ __»s
+  - 1;
+ 
+ 546 
+ 	}
+ }
+ 
+ 548 
+ __STRING_INLINE
+  *
+ __¡rchr_c
+  (
+ __cڡ
+  *
+ __s
+ , 
+ __c
+ );
+ 
+ 550 
+ __STRING_INLINE
+  *
+ 
+ 551 
+ 	$__¡rchr_c
+  (
+ __cڡ
+  *
+ __s
+ , 
+ __c
+ )
+ 
+ 553 
+ __d0
+ ;
+ 
+ 554 *
+ __»s
+ ;
+ 
+ 555 
+ __asm__
+  
+ __vÞ©že__
+ 
+ 
+ 566 : "÷" (
+ __»s
+ ), "=&S" (
+ __d0
+ )
+ 
+ 567 : "0" (
+ __c
+ ), "1" (
+ __s
+ )
+ 
+ 569  
+ __»s
+  - 1;
+ 
+ 570 
+ 	}
+ }
+ 
+ 574 
+ 	#_HAVE_STRING_ARCH_¡rchºul
+  1
+ 
+ 	)
+ 
+ 575 
+ 	#__¡rchºul
+ (
+ s
+ , 
+ c
+ ) \
+ 
+ 576 (
+ 	`__ex‹nsiÚ__
+  (
+ 	`__bužtš_cÚ¡ªt_p
+  (
+ c
+ ) \
+ 
+ 577 ? ((
+ c
+ ) == '\0' \
+ 
+ 578 ? (*è
+ 	`__¿wmemchr
+  (
+ s
+ , 
+ c
+ ) \
+ 
+ 579 : 
+ 	`__¡rchºul_c
+  (
+ s
+ , ((
+ c
+ ) & 0xff) << 8)) \
+ 
+ 580 : 
+ 	`__¡rchºul_g
+  (
+ s
+ , 
+ c
+ )))
+ 
+ 	)
+ 
+ 582 
+ __STRING_INLINE
+  *
+ __¡rchºul_g
+  (
+ __cڡ
+  *
+ __s
+ , 
+ __c
+ );
+ 
+ 584 
+ __STRING_INLINE
+  *
+ 
+ 585 
+ 	$__¡rchºul_g
+  (
+ __cڡ
+  *
+ __s
+ , 
+ __c
+ )
+ 
+ 587 
+ __d0
+ ;
+ 
+ 588 *
+ __»s
+ ;
+ 
+ 589 
+ __asm__
+  
+ __vÞ©že__
+ 
+ 
+ 600 : "÷" (
+ __»s
+ ), "=&S" (
+ __d0
+ )
+ 
+ 601 : "0" (
+ __c
+ ), "1" (
+ __s
+ )
+ 
+ 603  
+ __»s
+  - 1;
+ 
+ 604 
+ 	}
+ }
+ 
+ 606 
+ __STRING_INLINE
+  *
+ __¡rchºul_c
+  (
+ __cڡ
+  *
+ __s
+ , 
+ __c
+ );
+ 
+ 608 
+ __STRING_INLINE
+  *
+ 
+ 609 
+ 	$__¡rchºul_c
+  (
+ __cڡ
+  *
+ __s
+ , 
+ __c
+ )
+ 
+ 611 
+ __d0
+ ;
+ 
+ 612 *
+ __»s
+ ;
+ 
+ 613 
+ __asm__
+  
+ __vÞ©že__
+ 
+ 
+ 623 : "÷" (
+ __»s
+ ), "=&S" (
+ __d0
+ )
+ 
+ 624 : "0" (
+ __c
+ ), "1" (
+ __s
+ )
+ 
+ 626  
+ __»s
+  - 1;
+ 
+ 627 
+ 	}
+ }
+ 
+ 628 #ifdeà
+ __USE_GNU
+ 
+ 
+ 629 
+ 	#¡rchºul
+ (
+ s
+ , 
+ c
+ è
+ 	`__¡rchºul
+  (s, c)
+ 
+ 	)
+ 
+ 635 
+ 	#_HAVE_STRING_ARCH_¡rc¥n
+  1
+ 
+ 	)
+ 
+ 636 #iâdeà
+ _FORCE_INLINES
+ 
+ 
+ 637 #ifdeà
+ __PIC__
+ 
+ 
+ 638 
+ __STRING_INLINE
+  
+ size_t
+ 
+ 
+ 639 
+ 	$¡rc¥n
+  (
+ __cڡ
+  *
+ __s
+ , __cڡ *
+ __»jeù
+ )
+ 
+ 641 
+ __d0
+ , 
+ __d1
+ , 
+ __d2
+ ;
+ 
+ 642 *
+ __»s
+ ;
+ 
+ 643 
+ __asm__
+  
+ __vÞ©že__
+ 
+ 
+ 661 : "=&S" (
+ __»s
+ ), "=&a" (
+ __d0
+ ), "=&c" (
+ __d1
+ ), "=&D" (
+ __d2
+ )
+ 
+ 662 : "d" (
+ __»jeù
+ ), "0" (
+ __s
+ ), "1" (0), "2" (0xffffffff)
+ 
+ 664  (
+ __»s
+  - 1è- 
+ __s
+ ;
+ 
+ 665 
+ 	}
+ }
+ 
+ 667 
+ __STRING_INLINE
+  
+ size_t
+ 
+ 
+ 668 
+ 	$¡rc¥n
+  (
+ __cڡ
+  *
+ __s
+ , __cڡ *
+ __»jeù
+ )
+ 
+ 670 
+ __d0
+ , 
+ __d1
+ , 
+ __d2
+ , 
+ __d3
+ ;
+ 
+ 671 *
+ __»s
+ ;
+ 
+ 672 
+ __asm__
+  
+ __vÞ©že__
+ 
+ 
+ 688 : "=&S" (
+ __»s
+ ), "=&a" (
+ __d0
+ ), "=&c" (
+ __d1
+ ), "=&d" (
+ __d2
+ ), "=&D" (
+ __d3
+ )
+ 
+ 689 : "g" (
+ __»jeù
+ ), "0" (
+ __s
+ ), "1" (0), "2" (0xffffffff)
+ 
+ 691  (
+ __»s
+  - 1è- 
+ __s
+ ;
+ 
+ 692 
+ 	}
+ }
+ 
+ 699 
+ 	#_HAVE_STRING_ARCH_¡r¥n
+  1
+ 
+ 	)
+ 
+ 700 #iâdeà
+ _FORCE_INLINES
+ 
+ 
+ 701 #ifdeà
+ __PIC__
+ 
+ 
+ 702 
+ __STRING_INLINE
+  
+ size_t
+ 
+ 
+ 703 
+ 	$¡r¥n
+  (
+ __cڡ
+  *
+ __s
+ , __cڡ *
+ __acû±
+ )
+ 
+ 705 
+ __d0
+ , 
+ __d1
+ , 
+ __d2
+ ;
+ 
+ 706 *
+ __»s
+ ;
+ 
+ 707 
+ __asm__
+  
+ __vÞ©že__
+ 
+ 
+ 725 : "=&S" (
+ __»s
+ ), "=&a" (
+ __d0
+ ), "=&c" (
+ __d1
+ ), "=&D" (
+ __d2
+ )
+ 
+ 726 : "r" (
+ __acû±
+ ), "0" (
+ __s
+ ), "1" (0), "2" (0xffffffff)
+ 
+ 728  (
+ __»s
+  - 1è- 
+ __s
+ ;
+ 
+ 729 
+ 	}
+ }
+ 
+ 731 
+ __STRING_INLINE
+  
+ size_t
+ 
+ 
+ 732 
+ 	$¡r¥n
+  (
+ __cڡ
+  *
+ __s
+ , __cڡ *
+ __acû±
+ )
+ 
+ 734 
+ __d0
+ , 
+ __d1
+ , 
+ __d2
+ , 
+ __d3
+ ;
+ 
+ 735 *
+ __»s
+ ;
+ 
+ 736 
+ __asm__
+  
+ __vÞ©že__
+ 
+ 
+ 752 : "=&S" (
+ __»s
+ ), "=&a" (
+ __d0
+ ), "=&c" (
+ __d1
+ ), "=&d" (
+ __d2
+ ), "=&D" (
+ __d3
+ )
+ 
+ 753 : "g" (
+ __acû±
+ ), "0" (
+ __s
+ ), "1" (0), "2" (0xffffffff)
+ 
+ 755  (
+ __»s
+  - 1è- 
+ __s
+ ;
+ 
+ 756 
+ 	}
+ }
+ 
+ 762 
+ 	#_HAVE_STRING_ARCH_¡½brk
+  1
+ 
+ 	)
+ 
+ 763 #iâdeà
+ _FORCE_INLINES
+ 
+ 
+ 764 #ifdeà
+ __PIC__
+ 
+ 
+ 765 
+ __STRING_INLINE
+  *
+ 
+ 766 
+ 	$¡½brk
+  (
+ __cڡ
+  *
+ __s
+ , __cڡ *
+ __acû±
+ )
+ 
+ 768 
+ __d0
+ , 
+ __d1
+ , 
+ __d2
+ ;
+ 
+ 769 *
+ __»s
+ ;
+ 
+ 770 
+ __asm__
+  
+ __vÞ©že__
+ 
+ 
+ 792 : "=&S" (
+ __»s
+ ), "=&a" (
+ __d0
+ ), "=&c" (
+ __d1
+ ), "=&D" (
+ __d2
+ )
+ 
+ 793 : "r" (
+ __acû±
+ ), "0" (
+ __s
+ ), "1" (0), "2" (0xffffffff)
+ 
+ 795  
+ __»s
+ ;
+ 
+ 796 
+ 	}
+ }
+ 
+ 798 
+ __STRING_INLINE
+  *
+ 
+ 799 
+ 	$¡½brk
+  (
+ __cڡ
+  *
+ __s
+ , __cڡ *
+ __acû±
+ )
+ 
+ 801 
+ __d0
+ , 
+ __d1
+ , 
+ __d2
+ , 
+ __d3
+ ;
+ 
+ 802 *
+ __»s
+ ;
+ 
+ 803 
+ __asm__
+  
+ __vÞ©že__
+ 
+ 
+ 823 : "=&S" (
+ __»s
+ ), "=&a" (
+ __d0
+ ), "=&c" (
+ __d1
+ ), "=&d" (
+ __d2
+ ), "=&D" (
+ __d3
+ )
+ 
+ 824 : "g" (
+ __acû±
+ ), "0" (
+ __s
+ ), "1" (0), "2" (0xffffffff)
+ 
+ 826  
+ __»s
+ ;
+ 
+ 827 
+ 	}
+ }
+ 
+ 833 
+ 	#_HAVE_STRING_ARCH_¡r¡r
+  1
+ 
+ 	)
+ 
+ 834 #iâdeà
+ _FORCE_INLINES
+ 
+ 
+ 835 #ifdeà
+ __PIC__
+ 
+ 
+ 836 
+ __STRING_INLINE
+  *
+ 
+ 837 
+ 	$¡r¡r
+  (
+ __cڡ
+  *
+ __hay¡ack
+ , __cڡ *
+ __ÃedË
+ )
+ 
+ 839 
+ __d0
+ , 
+ __d1
+ , 
+ __d2
+ ;
+ 
+ 840 *
+ __»s
+ ;
+ 
+ 841 
+ __asm__
+  
+ __vÞ©že__
+ 
+ 
+ 862 : "=&a" (
+ __»s
+ ), "=&c" (
+ __d0
+ ), "=&S" (
+ __d1
+ ), "=&D" (
+ __d2
+ )
+ 
+ 863 : "r" (
+ __ÃedË
+ ), "0" (0), "1" (0xffffffff), "2" (
+ __hay¡ack
+ )
+ 
+ 865  
+ __»s
+ ;
+ 
+ 866 
+ 	}
+ }
+ 
+ 868 
+ __STRING_INLINE
+  *
+ 
+ 869 
+ 	$¡r¡r
+  (
+ __cڡ
+  *
+ __hay¡ack
+ , __cڡ *
+ __ÃedË
+ )
+ 
+ 871 
+ __d0
+ , 
+ __d1
+ , 
+ __d2
+ , 
+ __d3
+ ;
+ 
+ 872 *
+ __»s
+ ;
+ 
+ 873 
+ __asm__
+  
+ __vÞ©že__
+ 
+ 
+ 892 : "=&a" (
+ __»s
+ ), "=&c" (
+ __d0
+ ), "=&S" (
+ __d1
+ ), "=&d" (
+ __d2
+ ), "=&D" (
+ __d3
+ )
+ 
+ 893 : "g" (
+ __ÃedË
+ ), "0" (0), "1" (0xffffffff), "2" (
+ __hay¡ack
+ )
+ 
+ 895  
+ __»s
+ ;
+ 
+ 896 
+ 	}
+ }
+ 
+ 900 #iâdeà
+ _FORCE_INLINES
+ 
+ 
+ 901 #undeà
+ __STRING_INLINE
+ 
+ 
+ 	@/usr/include/bits/string2.h
+ 
+ 21 #iâdeà
+ _STRING_H
+ 
+ 
+ 25 #ià!
+ defšed
+  
+ __NO_STRING_INLINES
+  && !defšed 
+ __BOUNDED_POINTERS__
+ 
+ 
+ 42 #iâdeà
+ __STRING_INLINE
+ 
+ 
+ 43 #ifdeà
+ __ýlu¥lus
+ 
+ 
+ 44 
+ 	#__STRING_INLINE
+  
+ šlše
+ 
+ 
+ 	)
+ 
+ 46 
+ 	#__STRING_INLINE
+  
+ __šlše
+ 
+ 
+ 	)
+ 
+ 50 #ià
+ _STRING_ARCH_uÇligÃd
+ 
+ 
+ 52 
+ 	~<’dŸn.h
+ >
+ 
+ 53 
+ 	~<b™s/ty³s.h
+ >
+ 
+ 55 #ià
+ __BYTE_ORDER
+  =ð
+ __LITTLE_ENDIAN
+ 
+ 
+ 56 
+ 	#__STRING2_SMALL_GET16
+ (
+ ¤c
+ , 
+ idx
+ ) \
+ 
+ 57 (((
+ __cڡ
+  *è(__cÚ¡ *è(
+ ¤c
+ ))[
+ idx
+  + 1] << 8 \
+ 
+ 58 | ((
+ __cڡ
+  *è(__cÚ¡ *è(
+ ¤c
+ ))[
+ idx
+ ])
+ 
+ 	)
+ 
+ 59 
+ 	#__STRING2_SMALL_GET32
+ (
+ ¤c
+ , 
+ idx
+ ) \
+ 
+ 60 (((((
+ __cڡ
+  *è(__cÚ¡ *è(
+ ¤c
+ ))[
+ idx
+  + 3] << 8 \
+ 
+ 61 | ((
+ __cڡ
+  *è(__cÚ¡ *è(
+ ¤c
+ ))[
+ idx
+  + 2]) << 8 \
+ 
+ 62 | ((
+ __cڡ
+  *è(__cÚ¡ *è(
+ ¤c
+ ))[
+ idx
+  + 1]) << 8 \
+ 
+ 63 | ((
+ __cڡ
+  *è(__cÚ¡ *è(
+ ¤c
+ ))[
+ idx
+ ])
+ 
+ 	)
+ 
+ 65 
+ 	#__STRING2_SMALL_GET16
+ (
+ ¤c
+ , 
+ idx
+ ) \
+ 
+ 66 (((
+ __cڡ
+  *è(__cÚ¡ *è(
+ ¤c
+ ))[
+ idx
+ ] << 8 \
+ 
+ 67 | ((
+ __cڡ
+  *è(__cÚ¡ *è(
+ ¤c
+ ))[
+ idx
+  + 1])
+ 
+ 	)
+ 
+ 68 
+ 	#__STRING2_SMALL_GET32
+ (
+ ¤c
+ , 
+ idx
+ ) \
+ 
+ 69 (((((
+ __cڡ
+  *è(__cÚ¡ *è(
+ ¤c
+ ))[
+ idx
+ ] << 8 \
+ 
+ 70 | ((
+ __cڡ
+  *è(__cÚ¡ *è(
+ ¤c
+ ))[
+ idx
+  + 1]) << 8 \
+ 
+ 71 | ((
+ __cڡ
+  *è(__cÚ¡ *è(
+ ¤c
+ ))[
+ idx
+  + 2]) << 8 \
+ 
+ 72 | ((
+ __cڡ
+  *è(__cÚ¡ *è(
+ ¤c
+ ))[
+ idx
+  + 3])
+ 
+ 	)
+ 
+ 77 
+ 	#__STRING2_COPY_TYPE
+ (
+ N
+ ) \
+ 
+ 78 ¡ruù { 
+ __¬r
+ [
+ N
+ ]; } \
+ 
+ 79 
+ 	t__STRING2_COPY_ARR
+ ##
+ 	tN
+  
+ 	t__©Œibu‹__
+  ((
+ 	t·cked
+ ))
+ 
+ 	)
+ 
+ 80 
+ 	t__STRING2_COPY_TYPE
+  (2);
+ 
+ 81 
+ __STRING2_COPY_TYPE
+  (3);
+ 
+ 82 
+ __STRING2_COPY_TYPE
+  (4);
+ 
+ 83 
+ __STRING2_COPY_TYPE
+  (5);
+ 
+ 84 
+ __STRING2_COPY_TYPE
+  (6);
+ 
+ 85 
+ __STRING2_COPY_TYPE
+  (7);
+ 
+ 86 
+ __STRING2_COPY_TYPE
+  (8);
+ 
+ 87 #undeà
+ __STRING2_COPY_TYPE
+ 
+ 
+ 93 
+ 	#__¡ršg2_1b±r_p
+ (
+ __x
+ ) \
+ 
+ 94 ((
+ size_t
+ )(cڡ *)((
+ __x
+ è+ 1è- (size_t)(cÚ¡ *)(__xè=ð1)
+ 
+ 	)
+ 
+ 97 #iâdeà
+ _HAVE_STRING_ARCH_mem£t
+ 
+ 
+ 98 #ià
+ _STRING_ARCH_uÇligÃd
+ 
+ 
+ 99 
+ 	#mem£t
+ (
+ s
+ , 
+ c
+ , 
+ n
+ ) \
+ 
+ 100 (
+ 	`__ex‹nsiÚ__
+  (
+ 	`__bužtš_cÚ¡ªt_p
+  (
+ n
+ ) && (n) <= 16 \
+ 
+ 101 ? ((
+ n
+ ) == 1 \
+ 
+ 102 ? 
+ 	`__mem£t_1
+  (
+ s
+ , 
+ c
+ ) \
+ 
+ 103 : 
+ 	`__mem£t_gc
+  (
+ s
+ , 
+ c
+ , 
+ n
+ )) \
+ 
+ 104 : (
+ 	`__bužtš_cÚ¡ªt_p
+  (
+ c
+ ) && (c) == '\0' \
+ 
+ 105 ? ({ *
+ __s
+  = (
+ s
+ ); 
+ 	`__bz”o
+  (__s, 
+ n
+ ); __s; }) \
+ 
+ 106 : 
+ 	`mem£t
+  (
+ s
+ , 
+ c
+ , 
+ n
+ ))))
+ 
+ 	)
+ 
+ 108 
+ 	#__mem£t_1
+ (
+ s
+ , 
+ c
+ è({ *
+ __s
+  = (s); \
+ 
+ 109 *((
+ __ušt8_t
+  *è
+ __s
+ èð(__ušt8_tè
+ c
+ ; __s; })
+ 
+ 	)
+ 
+ 111 
+ 	#__mem£t_gc
+ (
+ s
+ , 
+ c
+ , 
+ n
+ ) \
+ 
+ 112 ({ *
+ __s
+  = (
+ s
+ ); \
+ 
+ 114 
+ __ui
+ ; \
+ 
+ 115 
+ __usi
+ ; \
+ 
+ 116 
+ __uc
+ ; \
+ 
+ 117 } *
+ __u
+  = 
+ __s
+ ; \
+ 
+ 118 
+ __ušt8_t
+  
+ __c
+  = (__ušt8_tè(
+ c
+ ); \
+ 
+ 121 (è(
+ n
+ )) \
+ 
+ 124 
+ __u
+ ->
+ __ui
+  = 
+ __c
+  * 0x01010101; \
+ 
+ 125 
+ __u
+  = 
+ 	`__ex‹nsiÚ__
+  ((*) __u + 4); \
+ 
+ 127 
+ __u
+ ->
+ __ui
+  = 
+ __c
+  * 0x01010101; \
+ 
+ 128 
+ __u
+  = 
+ 	`__ex‹nsiÚ__
+  ((*) __u + 4); \
+ 
+ 130 
+ __u
+ ->
+ __ui
+  = 
+ __c
+  * 0x01010101; \
+ 
+ 131 
+ __u
+  = 
+ 	`__ex‹nsiÚ__
+  ((*) __u + 4); \
+ 
+ 133 
+ __u
+ ->
+ __usi
+  = (è
+ __c
+  * 0x0101; \
+ 
+ 134 
+ __u
+  = 
+ 	`__ex‹nsiÚ__
+  ((*) __u + 2); \
+ 
+ 135 
+ __u
+ ->
+ __uc
+  = (è
+ __c
+ ; \
+ 
+ 139 
+ __u
+ ->
+ __ui
+  = 
+ __c
+  * 0x01010101; \
+ 
+ 140 
+ __u
+  = 
+ 	`__ex‹nsiÚ__
+  ((*) __u + 4); \
+ 
+ 142 
+ __u
+ ->
+ __ui
+  = 
+ __c
+  * 0x01010101; \
+ 
+ 143 
+ __u
+  = 
+ 	`__ex‹nsiÚ__
+  ((*) __u + 4); \
+ 
+ 145 
+ __u
+ ->
+ __ui
+  = 
+ __c
+  * 0x01010101; \
+ 
+ 146 
+ __u
+  = 
+ 	`__ex‹nsiÚ__
+  ((*) __u + 4); \
+ 
+ 148 
+ __u
+ ->
+ __usi
+  = (è
+ __c
+  * 0x0101; \
+ 
+ 152 
+ __u
+ ->
+ __ui
+  = 
+ __c
+  * 0x01010101; \
+ 
+ 153 
+ __u
+  = 
+ 	`__ex‹nsiÚ__
+  ((*) __u + 4); \
+ 
+ 155 
+ __u
+ ->
+ __ui
+  = 
+ __c
+  * 0x01010101; \
+ 
+ 156 
+ __u
+  = 
+ 	`__ex‹nsiÚ__
+  ((*) __u + 4); \
+ 
+ 158 
+ __u
+ ->
+ __ui
+  = 
+ __c
+  * 0x01010101; \
+ 
+ 159 
+ __u
+  = 
+ 	`__ex‹nsiÚ__
+  ((*) __u + 4); \
+ 
+ 161 
+ __u
+ ->
+ __uc
+  = (è
+ __c
+ ; \
+ 
+ 165 
+ __u
+ ->
+ __ui
+  = 
+ __c
+  * 0x01010101; \
+ 
+ 166 
+ __u
+  = 
+ 	`__ex‹nsiÚ__
+  ((*) __u + 4); \
+ 
+ 168 
+ __u
+ ->
+ __ui
+  = 
+ __c
+  * 0x01010101; \
+ 
+ 169 
+ __u
+  = 
+ 	`__ex‹nsiÚ__
+  ((*) __u + 4); \
+ 
+ 171 
+ __u
+ ->
+ __ui
+  = 
+ __c
+  * 0x01010101; \
+ 
+ 172 
+ __u
+  = 
+ 	`__ex‹nsiÚ__
+  ((*) __u + 4); \
+ 
+ 174 
+ __u
+ ->
+ __ui
+  = 
+ __c
+  * 0x01010101; \
+ 
+ 179 
+ __s
+ ; })
+ 
+ 	)
+ 
+ 181 
+ 	#mem£t
+ (
+ s
+ , 
+ c
+ , 
+ n
+ ) \
+ 
+ 182 (
+ 	`__ex‹nsiÚ__
+  (
+ 	`__bužtš_cÚ¡ªt_p
+  (
+ c
+ ) && (c) == '\0' \
+ 
+ 183 ? ({ *
+ __s
+  = (
+ s
+ ); 
+ 	`__bz”o
+  (__s, 
+ n
+ ); __s; }) \
+ 
+ 184 : 
+ 	`mem£t
+  (
+ s
+ , 
+ c
+ , 
+ n
+ )))
+ 
+ 	)
+ 
+ 189 #ià
+ __GNUC_PREREQ
+  (2, 91)
+ 
+ 190 
+ 	#__bz”o
+ (
+ s
+ , 
+ n
+ è
+ 	`__bužtš_mem£t
+  (s, '\0',‚)
+ 
+ 	)
+ 
+ 198 #ifdeà
+ __USE_GNU
+ 
+ 
+ 199 #ià!
+ defšed
+  
+ _HAVE_STRING_ARCH_mempýy
+  || defšed 
+ _FORCE_INLINES
+ 
+ 
+ 200 #iâdeà
+ _HAVE_STRING_ARCH_mempýy
+ 
+ 
+ 201 #ià
+ __GNUC_PREREQ
+  (3, 0)
+ 
+ 202 
+ 	#__mempýy
+ (
+ de¡
+ , 
+ ¤c
+ , 
+ n
+ ) \
+ 
+ 203 (
+ 	`__ex‹nsiÚ__
+  (
+ 	`__bužtš_cÚ¡ªt_p
+  (
+ ¤c
+ è&& __bužtš_cÚ¡ªt_°(
+ n
+ ) \
+ 
+ 204 && 
+ 	`__¡ršg2_1b±r_p
+  (
+ ¤c
+ è&& 
+ n
+  <= 8 \
+ 
+ 205 ? 
+ 	`__bužtš_memýy
+  (
+ de¡
+ , 
+ ¤c
+ , 
+ n
+ ) + (n) \
+ 
+ 206 : 
+ 	`__mempýy
+  (
+ de¡
+ , 
+ ¤c
+ , 
+ n
+ )))
+ 
+ 	)
+ 
+ 208 
+ 	#__mempýy
+ (
+ de¡
+ , 
+ ¤c
+ , 
+ n
+ ) \
+ 
+ 209 (
+ 	`__ex‹nsiÚ__
+  (
+ 	`__bužtš_cÚ¡ªt_p
+  (
+ ¤c
+ è&& __bužtš_cÚ¡ªt_°(
+ n
+ ) \
+ 
+ 210 && 
+ 	`__¡ršg2_1b±r_p
+  (
+ ¤c
+ è&& 
+ n
+  <= 8 \
+ 
+ 211 ? 
+ 	`__mempýy_sm®l
+  (
+ de¡
+ , 
+ 	`__mempýy_¬gs
+  (
+ ¤c
+ ), 
+ n
+ ) \
+ 
+ 212 : 
+ 	`__mempýy
+  (
+ de¡
+ , 
+ ¤c
+ , 
+ n
+ )))
+ 
+ 	)
+ 
+ 216 
+ 	#mempýy
+ (
+ de¡
+ , 
+ ¤c
+ , 
+ n
+ è
+ 	`__mempýy
+  (de¡, src,‚)
+ 
+ 	)
+ 
+ 219 #ià!
+ __GNUC_PREREQ
+  (3, 0è|| 
+ defšed
+  
+ _FORCE_INLINES
+ 
+ 
+ 220 #ià
+ _STRING_ARCH_uÇligÃd
+ 
+ 
+ 221 #iâdeà
+ _FORCE_INLINES
+ 
+ 
+ 222 
+ 	#__mempýy_¬gs
+ (
+ ¤c
+ ) \
+ 
+ 223 ((
+ __cڡ
+  *è(
+ ¤c
+ ))[0], ((__const *) (src))[2], \
+ 
+ 224 ((
+ __cڡ
+  *è(
+ ¤c
+ ))[4], ((__const *) (src))[6], \
+ 
+ 225 
+ __ex‹nsiÚ__
+  
+ 	`__STRING2_SMALL_GET16
+  (
+ ¤c
+ , 0), \
+ 
+ 226 
+ __ex‹nsiÚ__
+  
+ 	`__STRING2_SMALL_GET16
+  (
+ ¤c
+ , 4), \
+ 
+ 227 
+ __ex‹nsiÚ__
+  
+ 	`__STRING2_SMALL_GET32
+  (
+ ¤c
+ , 0), \
+ 
+ 228 
+ __ex‹nsiÚ__
+  
+ 	`__STRING2_SMALL_GET32
+  (
+ ¤c
+ , 4)
+ 
+ 	)
+ 
+ 230 
+ __STRING_INLINE
+  *
+ __mempýy_sm®l
+  (*, , , , ,
+ 
+ 231 
+ __ušt16_t
+ , __ušt16_t, 
+ __ušt32_t
+ ,
+ 
+ 232 
+ __ušt32_t
+ , 
+ size_t
+ );
+ 
+ 233 
+ __STRING_INLINE
+  *
+ 
+ 234 
+ 	$__mempýy_sm®l
+  (*
+ __de¡1
+ ,
+ 
+ 235 
+ __¤c0_1
+ , 
+ __¤c2_1
+ , 
+ __¤c4_1
+ , 
+ __¤c6_1
+ ,
+ 
+ 236 
+ __ušt16_t
+  
+ __¤c0_2
+ , __ušt16_ˆ
+ __¤c4_2
+ ,
+ 
+ 237 
+ __ušt32_t
+  
+ __¤c0_4
+ , __ušt32_ˆ
+ __¤c4_4
+ ,
+ 
+ 238 
+ size_t
+  
+ __¤þ’
+ )
+ 
+ 241 
+ __ušt32_t
+  
+ __ui
+ ;
+ 
+ 242 
+ __ušt16_t
+  
+ __usi
+ ;
+ 
+ 243 
+ __uc
+ ;
+ 
+ 244 
+ __c
+ ;
+ 
+ 245 } *
+ __u
+  = 
+ __de¡1
+ ;
+ 
+ 246 (è
+ __¤þ’
+ )
+ 
+ 249 
+ __u
+ ->
+ __c
+  = 
+ __¤c0_1
+ ;
+ 
+ 250 
+ __u
+  = 
+ 	`__ex‹nsiÚ__
+  ((*) __u + 1);
+ 
+ 253 
+ __u
+ ->
+ __usi
+  = 
+ __¤c0_2
+ ;
+ 
+ 254 
+ __u
+  = 
+ 	`__ex‹nsiÚ__
+  ((*) __u + 2);
+ 
+ 257 
+ __u
+ ->
+ __usi
+  = 
+ __¤c0_2
+ ;
+ 
+ 258 
+ __u
+  = 
+ 	`__ex‹nsiÚ__
+  ((*) __u + 2);
+ 
+ 259 
+ __u
+ ->
+ __c
+  = 
+ __¤c2_1
+ ;
+ 
+ 260 
+ __u
+  = 
+ 	`__ex‹nsiÚ__
+  ((*) __u + 1);
+ 
+ 263 
+ __u
+ ->
+ __ui
+  = 
+ __¤c0_4
+ ;
+ 
+ 264 
+ __u
+  = 
+ 	`__ex‹nsiÚ__
+  ((*) __u + 4);
+ 
+ 267 
+ __u
+ ->
+ __ui
+  = 
+ __¤c0_4
+ ;
+ 
+ 268 
+ __u
+  = 
+ 	`__ex‹nsiÚ__
+  ((*) __u + 4);
+ 
+ 269 
+ __u
+ ->
+ __c
+  = 
+ __¤c4_1
+ ;
+ 
+ 270 
+ __u
+  = 
+ 	`__ex‹nsiÚ__
+  ((*) __u + 1);
+ 
+ 273 
+ __u
+ ->
+ __ui
+  = 
+ __¤c0_4
+ ;
+ 
+ 274 
+ __u
+  = 
+ 	`__ex‹nsiÚ__
+  ((*) __u + 4);
+ 
+ 275 
+ __u
+ ->
+ __usi
+  = 
+ __¤c4_2
+ ;
+ 
+ 276 
+ __u
+  = 
+ 	`__ex‹nsiÚ__
+  ((*) __u + 2);
+ 
+ 279 
+ __u
+ ->
+ __ui
+  = 
+ __¤c0_4
+ ;
+ 
+ 280 
+ __u
+  = 
+ 	`__ex‹nsiÚ__
+  ((*) __u + 4);
+ 
+ 281 
+ __u
+ ->
+ __usi
+  = 
+ __¤c4_2
+ ;
+ 
+ 282 
+ __u
+  = 
+ 	`__ex‹nsiÚ__
+  ((*) __u + 2);
+ 
+ 283 
+ __u
+ ->
+ __c
+  = 
+ __¤c6_1
+ ;
+ 
+ 284 
+ __u
+  = 
+ 	`__ex‹nsiÚ__
+  ((*) __u + 1);
+ 
+ 287 
+ __u
+ ->
+ __ui
+  = 
+ __¤c0_4
+ ;
+ 
+ 288 
+ __u
+  = 
+ 	`__ex‹nsiÚ__
+  ((*) __u + 4);
+ 
+ 289 
+ __u
+ ->
+ __ui
+  = 
+ __¤c4_4
+ ;
+ 
+ 290 
+ __u
+  = 
+ 	`__ex‹nsiÚ__
+  ((*) __u + 4);
+ 
+ 293  (*è
+ __u
+ ;
+ 
+ 294 
+ 	}
+ }
+ 
+ 296 #iâdeà
+ _FORCE_INLINES
+ 
+ 
+ 297 
+ 	#__mempýy_¬gs
+ (
+ ¤c
+ ) \
+ 
+ 298 ((
+ __cڡ
+  *è(
+ ¤c
+ ))[0], \
+ 
+ 299 
+ 	`__ex‹nsiÚ__
+  ((
+ __STRING2_COPY_ARR2
+ ) \
+ 
+ 300 { { ((
+ __cڡ
+  *è(
+ ¤c
+ ))[0], ((__const *) (src))[1] } }), \
+ 
+ 301 
+ 	`__ex‹nsiÚ__
+  ((
+ __STRING2_COPY_ARR3
+ ) \
+ 
+ 302 { { ((
+ __cڡ
+  *è(
+ ¤c
+ ))[0], ((__const *) (src))[1], \
+ 
+ 303 ((
+ __cڡ
+  *è(
+ ¤c
+ ))[2] } }), \
+ 
+ 304 
+ 	`__ex‹nsiÚ__
+  ((
+ __STRING2_COPY_ARR4
+ ) \
+ 
+ 305 { { ((
+ __cڡ
+  *è(
+ ¤c
+ ))[0], ((__const *) (src))[1], \
+ 
+ 306 ((
+ __cڡ
+  *è(
+ ¤c
+ ))[2], ((__const *) (src))[3] } }), \
+ 
+ 307 
+ 	`__ex‹nsiÚ__
+  ((
+ __STRING2_COPY_ARR5
+ ) \
+ 
+ 308 { { ((
+ __cڡ
+  *è(
+ ¤c
+ ))[0], ((__const *) (src))[1], \
+ 
+ 309 ((
+ __cڡ
+  *è(
+ ¤c
+ ))[2], ((__const *) (src))[3], \
+ 
+ 310 ((
+ __cڡ
+  *è(
+ ¤c
+ ))[4] } }), \
+ 
+ 311 
+ 	`__ex‹nsiÚ__
+  ((
+ __STRING2_COPY_ARR6
+ ) \
+ 
+ 312 { { ((
+ __cڡ
+  *è(
+ ¤c
+ ))[0], ((__const *) (src))[1], \
+ 
+ 313 ((
+ __cڡ
+  *è(
+ ¤c
+ ))[2], ((__const *) (src))[3], \
+ 
+ 314 ((
+ __cڡ
+  *è(
+ ¤c
+ ))[4], ((__const *) (src))[5] } }), \
+ 
+ 315 
+ 	`__ex‹nsiÚ__
+  ((
+ __STRING2_COPY_ARR7
+ ) \
+ 
+ 316 { { ((
+ __cڡ
+  *è(
+ ¤c
+ ))[0], ((__const *) (src))[1], \
+ 
+ 317 ((
+ __cڡ
+  *è(
+ ¤c
+ ))[2], ((__const *) (src))[3], \
+ 
+ 318 ((
+ __cڡ
+  *è(
+ ¤c
+ ))[4], ((__const *) (src))[5], \
+ 
+ 319 ((
+ __cڡ
+  *è(
+ ¤c
+ ))[6] } }), \
+ 
+ 320 
+ 	`__ex‹nsiÚ__
+  ((
+ __STRING2_COPY_ARR8
+ ) \
+ 
+ 321 { { ((
+ __cڡ
+  *è(
+ ¤c
+ ))[0], ((__const *) (src))[1], \
+ 
+ 322 ((
+ __cڡ
+  *è(
+ ¤c
+ ))[2], ((__const *) (src))[3], \
+ 
+ 323 ((
+ __cڡ
+  *è(
+ ¤c
+ ))[4], ((__const *) (src))[5], \
+ 
+ 324 ((
+ __cڡ
+  *è(
+ ¤c
+ ))[6], ((__cÚ¡ *è(¤c))[7] } })
+ 
+ 	)
+ 
+ 326 
+ __STRING_INLINE
+  *
+ __mempýy_sm®l
+  (*, , 
+ __STRING2_COPY_ARR2
+ ,
+ 
+ 327 
+ __STRING2_COPY_ARR3
+ ,
+ 
+ 328 
+ __STRING2_COPY_ARR4
+ ,
+ 
+ 329 
+ __STRING2_COPY_ARR5
+ ,
+ 
+ 330 
+ __STRING2_COPY_ARR6
+ ,
+ 
+ 331 
+ __STRING2_COPY_ARR7
+ ,
+ 
+ 332 
+ __STRING2_COPY_ARR8
+ , 
+ size_t
+ );
+ 
+ 333 
+ __STRING_INLINE
+  *
+ 
+ 334 
+ 	$__mempýy_sm®l
+  (*
+ __de¡
+ , 
+ __¤c1
+ ,
+ 
+ 335 
+ __STRING2_COPY_ARR2
+  
+ __¤c2
+ , 
+ __STRING2_COPY_ARR3
+  
+ __¤c3
+ ,
+ 
+ 336 
+ __STRING2_COPY_ARR4
+  
+ __¤c4
+ , 
+ __STRING2_COPY_ARR5
+  
+ __¤c5
+ ,
+ 
+ 337 
+ __STRING2_COPY_ARR6
+  
+ __¤c6
+ , 
+ __STRING2_COPY_ARR7
+  
+ __¤c7
+ ,
+ 
+ 338 
+ __STRING2_COPY_ARR8
+  
+ __¤c8
+ , 
+ size_t
+  
+ __¤þ’
+ )
+ 
+ 341 
+ __c
+ ;
+ 
+ 342 
+ __STRING2_COPY_ARR2
+  
+ __sÿ2
+ ;
+ 
+ 343 
+ __STRING2_COPY_ARR3
+  
+ __sÿ3
+ ;
+ 
+ 344 
+ __STRING2_COPY_ARR4
+  
+ __sÿ4
+ ;
+ 
+ 345 
+ __STRING2_COPY_ARR5
+  
+ __sÿ5
+ ;
+ 
+ 346 
+ __STRING2_COPY_ARR6
+  
+ __sÿ6
+ ;
+ 
+ 347 
+ __STRING2_COPY_ARR7
+  
+ __sÿ7
+ ;
+ 
+ 348 
+ __STRING2_COPY_ARR8
+  
+ __sÿ8
+ ;
+ 
+ 349 } *
+ __u
+  = 
+ __de¡
+ ;
+ 
+ 350 (è
+ __¤þ’
+ )
+ 
+ 353 
+ __u
+ ->
+ __c
+  = 
+ __¤c1
+ ;
+ 
+ 356 
+ __ex‹nsiÚ__
+  
+ __u
+ ->
+ __sÿ2
+  = 
+ __¤c2
+ ;
+ 
+ 359 
+ __ex‹nsiÚ__
+  
+ __u
+ ->
+ __sÿ3
+  = 
+ __¤c3
+ ;
+ 
+ 362 
+ __ex‹nsiÚ__
+  
+ __u
+ ->
+ __sÿ4
+  = 
+ __¤c4
+ ;
+ 
+ 365 
+ __ex‹nsiÚ__
+  
+ __u
+ ->
+ __sÿ5
+  = 
+ __¤c5
+ ;
+ 
+ 368 
+ __ex‹nsiÚ__
+  
+ __u
+ ->
+ __sÿ6
+  = 
+ __¤c6
+ ;
+ 
+ 371 
+ __ex‹nsiÚ__
+  
+ __u
+ ->
+ __sÿ7
+  = 
+ __¤c7
+ ;
+ 
+ 374 
+ __ex‹nsiÚ__
+  
+ __u
+ ->
+ __sÿ8
+  = 
+ __¤c8
+ ;
+ 
+ 377  
+ 	`__ex‹nsiÚ__
+  ((*è
+ __u
+  + 
+ __¤þ’
+ );
+ 
+ 378 
+ 	}
+ }
+ 
+ 386 #iâdeà
+ _HAVE_STRING_ARCH_¡rchr
+ 
+ 
+ 387 
*
+ __¿wmemchr
+  (cڡ *
+ __s
+ , 
+ __c
+ );
+ 
+ 388 
+ 	#¡rchr
+ (
+ s
+ , 
+ c
+ ) \
+ 
+ 389 (
+ 	`__ex‹nsiÚ__
+  (
+ 	`__bužtš_cÚ¡ªt_p
+  (
+ c
+ ) && (c) == '\0' \
+ 
+ 390 ? (*è
+ 	`__¿wmemchr
+  (
+ s
+ , 
+ c
+ ) \
+ 
+ 391 : 
+ 	`¡rchr
+  (
+ s
+ , 
+ c
+ )))
+ 
+ 	)
+ 
+ 396 #ià(!
+ defšed
+  
+ _HAVE_STRING_ARCH_¡rýy
+  && !
+ __GNUC_PREREQ
+  (3, 0)) \
+ 
+ 397 || 
+ defšed
+  
+ 	g_FORCE_INLINES
+ 
+ 
+ 398 #ià!
+ defšed
+  
+ _HAVE_STRING_ARCH_¡rýy
+  && !
+ __GNUC_PREREQ
+  (3, 0)
+ 
+ 399 
+ 	#¡rýy
+ (
+ de¡
+ , 
+ ¤c
+ ) \
+ 
+ 400 (
+ 	`__ex‹nsiÚ__
+  (
+ 	`__bužtš_cÚ¡ªt_p
+  (
+ ¤c
+ ) \
+ 
+ 401 ? (
+ 	`__¡ršg2_1b±r_p
+  (
+ ¤c
+ è&& 
+ 	`¡¾’
+  (src) + 1 <= 8 \
+ 
+ 402 ? 
+ 	`__¡rýy_sm®l
+  (
+ de¡
+ , 
+ 	`__¡rýy_¬gs
+  (
+ ¤c
+ ), \
+ 
+ 403 
+ 	`¡¾’
+  (
+ ¤c
+ ) + 1) \
+ 
+ 404 : (*è
+ 	`memýy
+  (
+ de¡
+ , 
+ ¤c
+ , 
+ 	`¡¾’
+  (src) + 1)) \
+ 
+ 405 : 
+ 	`¡rýy
+  (
+ de¡
+ , 
+ ¤c
+ )))
+ 
+ 	)
+ 
+ 408 #ià
+ _STRING_ARCH_uÇligÃd
+ 
+ 
+ 409 #iâdeà
+ _FORCE_INLINES
+ 
+ 
+ 410 
+ 	#__¡rýy_¬gs
+ (
+ ¤c
+ ) \
+ 
+ 411 
+ __ex‹nsiÚ__
+  
+ 	`__STRING2_SMALL_GET16
+  (
+ ¤c
+ , 0), \
+ 
+ 412 
+ __ex‹nsiÚ__
+  
+ 	`__STRING2_SMALL_GET16
+  (
+ ¤c
+ , 4), \
+ 
+ 413 
+ __ex‹nsiÚ__
+  
+ 	`__STRING2_SMALL_GET32
+  (
+ ¤c
+ , 0), \
+ 
+ 414 
+ __ex‹nsiÚ__
+  
+ 	`__STRING2_SMALL_GET32
+  (
+ ¤c
+ , 4)
+ 
+ 	)
+ 
+ 416 
+ __STRING_INLINE
+  *
+ __¡rýy_sm®l
+  (*, 
+ __ušt16_t
+ , __uint16_t,
+ 
+ 417 
+ __ušt32_t
+ , __ušt32_t, 
+ size_t
+ );
+ 
+ 418 
+ __STRING_INLINE
+  *
+ 
+ 419 
+ 	$__¡rýy_sm®l
+  (*
+ __de¡
+ ,
+ 
+ 420 
+ __ušt16_t
+  
+ __¤c0_2
+ , __ušt16_ˆ
+ __¤c4_2
+ ,
+ 
+ 421 
+ __ušt32_t
+  
+ __¤c0_4
+ , __ušt32_ˆ
+ __¤c4_4
+ ,
+ 
+ 422 
+ size_t
+  
+ __¤þ’
+ )
+ 
+ 425 
+ __ušt32_t
+  
+ __ui
+ ;
+ 
+ 426 
+ __ušt16_t
+  
+ __usi
+ ;
+ 
+ 427 
+ __uc
+ ;
+ 
+ 428 } *
+ __u
+  = (*è
+ __de¡
+ ;
+ 
+ 429 (è
+ __¤þ’
+ )
+ 
+ 432 
+ __u
+ ->
+ __uc
+  = '\0';
+ 
+ 435 
+ __u
+ ->
+ __usi
+  = 
+ __¤c0_2
+ ;
+ 
+ 438 
+ __u
+ ->
+ __usi
+  = 
+ __¤c0_2
+ ;
+ 
+ 439 
+ __u
+  = 
+ 	`__ex‹nsiÚ__
+  ((*) __u + 2);
+ 
+ 440 
+ __u
+ ->
+ __uc
+  = '\0';
+ 
+ 443 
+ __u
+ ->
+ __ui
+  = 
+ __¤c0_4
+ ;
+ 
+ 446 
+ __u
+ ->
+ __ui
+  = 
+ __¤c0_4
+ ;
+ 
+ 447 
+ __u
+  = 
+ 	`__ex‹nsiÚ__
+  ((*) __u + 4);
+ 
+ 448 
+ __u
+ ->
+ __uc
+  = '\0';
+ 
+ 451 
+ __u
+ ->
+ __ui
+  = 
+ __¤c0_4
+ ;
+ 
+ 452 
+ __u
+  = 
+ 	`__ex‹nsiÚ__
+  ((*) __u + 4);
+ 
+ 453 
+ __u
+ ->
+ __usi
+  = 
+ __¤c4_2
+ ;
+ 
+ 456 
+ __u
+ ->
+ __ui
+  = 
+ __¤c0_4
+ ;
+ 
+ 457 
+ __u
+  = 
+ 	`__ex‹nsiÚ__
+  ((*) __u + 4);
+ 
+ 458 
+ __u
+ ->
+ __usi
+  = 
+ __¤c4_2
+ ;
+ 
+ 459 
+ __u
+  = 
+ 	`__ex‹nsiÚ__
+  ((*) __u + 2);
+ 
+ 460 
+ __u
+ ->
+ __uc
+  = '\0';
+ 
+ 463 
+ __u
+ ->
+ __ui
+  = 
+ __¤c0_4
+ ;
+ 
+ 464 
+ __u
+  = 
+ 	`__ex‹nsiÚ__
+  ((*) __u + 4);
+ 
+ 465 
+ __u
+ ->
+ __ui
+  = 
+ __¤c4_4
+ ;
+ 
+ 468  
+ __de¡
+ ;
+ 
+ 469 
+ 	}
+ }
+ 
+ 471 #iâdeà
+ _FORCE_INLINES
+ 
+ 
+ 472 
+ 	#__¡rýy_¬gs
+ (
+ ¤c
+ ) \
+ 
+ 473 
+ 	`__ex‹nsiÚ__
+  ((
+ __STRING2_COPY_ARR2
+ ) \
+ 
+ 474 { { ((
+ __cڡ
+  *è(
+ ¤c
+ ))[0], '\0' } }), \
+ 
+ 475 
+ 	`__ex‹nsiÚ__
+  ((
+ __STRING2_COPY_ARR3
+ ) \
+ 
+ 476 { { ((
+ __cڡ
+  *è(
+ ¤c
+ ))[0], ((__const *) (src))[1], \
+ 
+ 478 
+ 	`__ex‹nsiÚ__
+  ((
+ __STRING2_COPY_ARR4
+ ) \
+ 
+ 479 { { ((
+ __cڡ
+  *è(
+ ¤c
+ ))[0], ((__const *) (src))[1], \
+ 
+ 480 ((
+ __cڡ
+  *è(
+ ¤c
+ ))[2], '\0' } }), \
+ 
+ 481 
+ 	`__ex‹nsiÚ__
+  ((
+ __STRING2_COPY_ARR5
+ ) \
+ 
+ 482 { { ((
+ __cڡ
+  *è(
+ ¤c
+ ))[0], ((__const *) (src))[1], \
+ 
+ 483 ((
+ __cڡ
+  *è(
+ ¤c
+ ))[2], ((__const *) (src))[3], \
+ 
+ 485 
+ 	`__ex‹nsiÚ__
+  ((
+ __STRING2_COPY_ARR6
+ ) \
+ 
+ 486 { { ((
+ __cڡ
+  *è(
+ ¤c
+ ))[0], ((__const *) (src))[1], \
+ 
+ 487 ((
+ __cڡ
+  *è(
+ ¤c
+ ))[2], ((__const *) (src))[3], \
+ 
+ 488 ((
+ __cڡ
+  *è(
+ ¤c
+ ))[4], '\0' } }), \
+ 
+ 489 
+ 	`__ex‹nsiÚ__
+  ((
+ __STRING2_COPY_ARR7
+ ) \
+ 
+ 490 { { ((
+ __cڡ
+  *è(
+ ¤c
+ ))[0], ((__const *) (src))[1], \
+ 
+ 491 ((
+ __cڡ
+  *è(
+ ¤c
+ ))[2], ((__const *) (src))[3], \
+ 
+ 492 ((
+ __cڡ
+  *è(
+ ¤c
+ ))[4], ((__const *) (src))[5], \
+ 
+ 494 
+ 	`__ex‹nsiÚ__
+  ((
+ __STRING2_COPY_ARR8
+ ) \
+ 
+ 495 { { ((
+ __cڡ
+  *è(
+ ¤c
+ ))[0], ((__const *) (src))[1], \
+ 
+ 496 ((
+ __cڡ
+  *è(
+ ¤c
+ ))[2], ((__const *) (src))[3], \
+ 
+ 497 ((
+ __cڡ
+  *è(
+ ¤c
+ ))[4], ((__const *) (src))[5], \
+ 
+ 498 ((
+ __cڡ
+  *è(
+ ¤c
+ ))[6], '\0' } })
+ 
+ 	)
+ 
+ 500 
+ __STRING_INLINE
+  *
+ __¡rýy_sm®l
+  (*, 
+ __STRING2_COPY_ARR2
+ ,
+ 
+ 501 
+ __STRING2_COPY_ARR3
+ ,
+ 
+ 502 
+ __STRING2_COPY_ARR4
+ ,
+ 
+ 503 
+ __STRING2_COPY_ARR5
+ ,
+ 
+ 504 
+ __STRING2_COPY_ARR6
+ ,
+ 
+ 505 
+ __STRING2_COPY_ARR7
+ ,
+ 
+ 506 
+ __STRING2_COPY_ARR8
+ , 
+ size_t
+ );
+ 
+ 507 
+ __STRING_INLINE
+  *
+ 
+ 508 
+ 	$__¡rýy_sm®l
+  (*
+ __de¡
+ ,
+ 
+ 509 
+ __STRING2_COPY_ARR2
+  
+ __¤c2
+ , 
+ __STRING2_COPY_ARR3
+  
+ __¤c3
+ ,
+ 
+ 510 
+ __STRING2_COPY_ARR4
+  
+ __¤c4
+ , 
+ __STRING2_COPY_ARR5
+  
+ __¤c5
+ ,
+ 
+ 511 
+ __STRING2_COPY_ARR6
+  
+ __¤c6
+ , 
+ __STRING2_COPY_ARR7
+  
+ __¤c7
+ ,
+ 
+ 512 
+ __STRING2_COPY_ARR8
+  
+ __¤c8
+ , 
+ size_t
+  
+ __¤þ’
+ )
+ 
+ 515 
+ __c
+ ;
+ 
+ 516 
+ __STRING2_COPY_ARR2
+  
+ __sÿ2
+ ;
+ 
+ 517 
+ __STRING2_COPY_ARR3
+  
+ __sÿ3
+ ;
+ 
+ 518 
+ __STRING2_COPY_ARR4
+  
+ __sÿ4
+ ;
+ 
+ 519 
+ __STRING2_COPY_ARR5
+  
+ __sÿ5
+ ;
+ 
+ 520 
+ __STRING2_COPY_ARR6
+  
+ __sÿ6
+ ;
+ 
+ 521 
+ __STRING2_COPY_ARR7
+  
+ __sÿ7
+ ;
+ 
+ 522 
+ __STRING2_COPY_ARR8
+  
+ __sÿ8
+ ;
+ 
+ 523 } *
+ __u
+  = (*è
+ __de¡
+ ;
+ 
+ 524 (è
+ __¤þ’
+ )
+ 
+ 527 
+ __u
+ ->
+ __c
+  = '\0';
+ 
+ 530 
+ __ex‹nsiÚ__
+  
+ __u
+ ->
+ __sÿ2
+  = 
+ __¤c2
+ ;
+ 
+ 533 
+ __ex‹nsiÚ__
+  
+ __u
+ ->
+ __sÿ3
+  = 
+ __¤c3
+ ;
+ 
+ 536 
+ __ex‹nsiÚ__
+  
+ __u
+ ->
+ __sÿ4
+  = 
+ __¤c4
+ ;
+ 
+ 539 
+ __ex‹nsiÚ__
+  
+ __u
+ ->
+ __sÿ5
+  = 
+ __¤c5
+ ;
+ 
+ 542 
+ __ex‹nsiÚ__
+  
+ __u
+ ->
+ __sÿ6
+  = 
+ __¤c6
+ ;
+ 
+ 545 
+ __ex‹nsiÚ__
+  
+ __u
+ ->
+ __sÿ7
+  = 
+ __¤c7
+ ;
+ 
+ 548 
+ __ex‹nsiÚ__
+  
+ __u
+ ->
+ __sÿ8
+  = 
+ __¤c8
+ ;
+ 
+ 551  
+ __de¡
+ ;
+ 
+ 552 
+ 	}
+ }
+ 
+ 558 #ifdeà
+ __USE_GNU
+ 
+ 
+ 559 #ià!
+ defšed
+  
+ _HAVE_STRING_ARCH_¡pýy
+  || defšed 
+ _FORCE_INLINES
+ 
+ 
+ 560 #iâdeà
+ _HAVE_STRING_ARCH_¡pýy
+ 
+ 
+ 561 #ià
+ __GNUC_PREREQ
+  (3, 0)
+ 
+ 562 
+ 	#__¡pýy
+ (
+ de¡
+ , 
+ ¤c
+ ) \
+ 
+ 563 (
+ 	`__ex‹nsiÚ__
+  (
+ 	`__bužtš_cÚ¡ªt_p
+  (
+ ¤c
+ ) \
+ 
+ 564 ? (
+ 	`__¡ršg2_1b±r_p
+  (
+ ¤c
+ è&& 
+ 	`¡¾’
+  (src) + 1 <= 8 \
+ 
+ 565 ? 
+ 	`__bužtš_¡rýy
+  (
+ de¡
+ , 
+ ¤c
+ è+ 
+ 	`¡¾’
+  (src) \
+ 
+ 566 : ((*è(
+ __mempýy
+ è(
+ de¡
+ , 
+ ¤c
+ , 
+ 	`¡¾’
+  (src) + 1) \
+ 
+ 568 : 
+ 	`__¡pýy
+  (
+ de¡
+ , 
+ ¤c
+ )))
+ 
+ 	)
+ 
+ 570 
+ 	#__¡pýy
+ (
+ de¡
+ , 
+ ¤c
+ ) \
+ 
+ 571 (
+ 	`__ex‹nsiÚ__
+  (
+ 	`__bužtš_cÚ¡ªt_p
+  (
+ ¤c
+ ) \
+ 
+ 572 ? (
+ 	`__¡ršg2_1b±r_p
+  (
+ ¤c
+ è&& 
+ 	`¡¾’
+  (src) + 1 <= 8 \
+ 
+ 573 ? 
+ 	`__¡pýy_sm®l
+  (
+ de¡
+ , 
+ 	`__¡pýy_¬gs
+  (
+ ¤c
+ ), \
+ 
+ 574 
+ 	`¡¾’
+  (
+ ¤c
+ ) + 1) \
+ 
+ 575 : ((*è(
+ __mempýy
+ è(
+ de¡
+ , 
+ ¤c
+ , 
+ 	`¡¾’
+  (src) + 1) \
+ 
+ 577 : 
+ 	`__¡pýy
+  (
+ de¡
+ , 
+ ¤c
+ )))
+ 
+ 	)
+ 
+ 581 
+ 	#¡pýy
+ (
+ de¡
+ , 
+ ¤c
+ è
+ 	`__¡pýy
+  (de¡, src)
+ 
+ 	)
+ 
+ 584 #ià!
+ __GNUC_PREREQ
+  (3, 0è|| 
+ defšed
+  
+ _FORCE_INLINES
+ 
+ 
+ 585 #ià
+ _STRING_ARCH_uÇligÃd
+ 
+ 
+ 586 #iâdeà
+ _FORCE_INLINES
+ 
+ 
+ 587 
+ 	#__¡pýy_¬gs
+ (
+ ¤c
+ ) \
+ 
+ 588 
+ __ex‹nsiÚ__
+  
+ 	`__STRING2_SMALL_GET16
+  (
+ ¤c
+ , 0), \
+ 
+ 589 
+ __ex‹nsiÚ__
+  
+ 	`__STRING2_SMALL_GET16
+  (
+ ¤c
+ , 4), \
+ 
+ 590 
+ __ex‹nsiÚ__
+  
+ 	`__STRING2_SMALL_GET32
+  (
+ ¤c
+ , 0), \
+ 
+ 591 
+ __ex‹nsiÚ__
+  
+ 	`__STRING2_SMALL_GET32
+  (
+ ¤c
+ , 4)
+ 
+ 	)
+ 
+ 593 
+ __STRING_INLINE
+  *
+ __¡pýy_sm®l
+  (*, 
+ __ušt16_t
+ , __uint16_t,
+ 
+ 594 
+ __ušt32_t
+ , __ušt32_t, 
+ size_t
+ );
+ 
+ 595 
+ __STRING_INLINE
+  *
+ 
+ 596 
+ 	$__¡pýy_sm®l
+  (*
+ __de¡
+ ,
+ 
+ 597 
+ __ušt16_t
+  
+ __¤c0_2
+ , __ušt16_ˆ
+ __¤c4_2
+ ,
+ 
+ 598 
+ __ušt32_t
+  
+ __¤c0_4
+ , __ušt32_ˆ
+ __¤c4_4
+ ,
+ 
+ 599 
+ size_t
+  
+ __¤þ’
+ )
+ 
+ 602 
+ __ui
+ ;
+ 
+ 603 
+ __usi
+ ;
+ 
+ 604 
+ __uc
+ ;
+ 
+ 605 
+ __c
+ ;
+ 
+ 606 } *
+ __u
+  = (*è
+ __de¡
+ ;
+ 
+ 607 (è
+ __¤þ’
+ )
+ 
+ 610 
+ __u
+ ->
+ __uc
+  = '\0';
+ 
+ 613 
+ __u
+ ->
+ __usi
+  = 
+ __¤c0_2
+ ;
+ 
+ 614 
+ __u
+  = 
+ 	`__ex‹nsiÚ__
+  ((*) __u + 1);
+ 
+ 617 
+ __u
+ ->
+ __usi
+  = 
+ __¤c0_2
+ ;
+ 
+ 618 
+ __u
+  = 
+ 	`__ex‹nsiÚ__
+  ((*) __u + 2);
+ 
+ 619 
+ __u
+ ->
+ __uc
+  = '\0';
+ 
+ 622 
+ __u
+ ->
+ __ui
+  = 
+ __¤c0_4
+ ;
+ 
+ 623 
+ __u
+  = 
+ 	`__ex‹nsiÚ__
+  ((*) __u + 3);
+ 
+ 626 
+ __u
+ ->
+ __ui
+  = 
+ __¤c0_4
+ ;
+ 
+ 627 
+ __u
+  = 
+ 	`__ex‹nsiÚ__
+  ((*) __u + 4);
+ 
+ 628 
+ __u
+ ->
+ __uc
+  = '\0';
+ 
+ 631 
+ __u
+ ->
+ __ui
+  = 
+ __¤c0_4
+ ;
+ 
+ 632 
+ __u
+  = 
+ 	`__ex‹nsiÚ__
+  ((*) __u + 4);
+ 
+ 633 
+ __u
+ ->
+ __usi
+  = 
+ __¤c4_2
+ ;
+ 
+ 634 
+ __u
+  = 
+ 	`__ex‹nsiÚ__
+  ((*) __u + 1);
+ 
+ 637 
+ __u
+ ->
+ __ui
+  = 
+ __¤c0_4
+ ;
+ 
+ 638 
+ __u
+  = 
+ 	`__ex‹nsiÚ__
+  ((*) __u + 4);
+ 
+ 639 
+ __u
+ ->
+ __usi
+  = 
+ __¤c4_2
+ ;
+ 
+ 640 
+ __u
+  = 
+ 	`__ex‹nsiÚ__
+  ((*) __u + 2);
+ 
+ 641 
+ __u
+ ->
+ __uc
+  = '\0';
+ 
+ 644 
+ __u
+ ->
+ __ui
+  = 
+ __¤c0_4
+ ;
+ 
+ 645 
+ __u
+  = 
+ 	`__ex‹nsiÚ__
+  ((*) __u + 4);
+ 
+ 646 
+ __u
+ ->
+ __ui
+  = 
+ __¤c4_4
+ ;
+ 
+ 647 
+ __u
+  = 
+ 	`__ex‹nsiÚ__
+  ((*) __u + 3);
+ 
+ 650  &
+ __u
+ ->
+ __c
+ ;
+ 
+ 651 
+ 	}
+ }
+ 
+ 653 #iâdeà
+ _FORCE_INLINES
+ 
+ 
+ 654 
+ 	#__¡pýy_¬gs
+ (
+ ¤c
+ ) \
+ 
+ 655 
+ 	`__ex‹nsiÚ__
+  ((
+ __STRING2_COPY_ARR2
+ ) \
+ 
+ 656 { { ((
+ __cڡ
+  *è(
+ ¤c
+ ))[0], '\0' } }), \
+ 
+ 657 
+ 	`__ex‹nsiÚ__
+  ((
+ __STRING2_COPY_ARR3
+ ) \
+ 
+ 658 { { ((
+ __cڡ
+  *è(
+ ¤c
+ ))[0], ((__const *) (src))[1], \
+ 
+ 660 
+ 	`__ex‹nsiÚ__
+  ((
+ __STRING2_COPY_ARR4
+ ) \
+ 
+ 661 { { ((
+ __cڡ
+  *è(
+ ¤c
+ ))[0], ((__const *) (src))[1], \
+ 
+ 662 ((
+ __cڡ
+  *è(
+ ¤c
+ ))[2], '\0' } }), \
+ 
+ 663 
+ 	`__ex‹nsiÚ__
+  ((
+ __STRING2_COPY_ARR5
+ ) \
+ 
+ 664 { { ((
+ __cڡ
+  *è(
+ ¤c
+ ))[0], ((__const *) (src))[1], \
+ 
+ 665 ((
+ __cڡ
+  *è(
+ ¤c
+ ))[2], ((__const *) (src))[3], \
+ 
+ 667 
+ 	`__ex‹nsiÚ__
+  ((
+ __STRING2_COPY_ARR6
+ ) \
+ 
+ 668 { { ((
+ __cڡ
+  *è(
+ ¤c
+ ))[0], ((__const *) (src))[1], \
+ 
+ 669 ((
+ __cڡ
+  *è(
+ ¤c
+ ))[2], ((__const *) (src))[3], \
+ 
+ 670 ((
+ __cڡ
+  *è(
+ ¤c
+ ))[4], '\0' } }), \
+ 
+ 671 
+ 	`__ex‹nsiÚ__
+  ((
+ __STRING2_COPY_ARR7
+ ) \
+ 
+ 672 { { ((
+ __cڡ
+  *è(
+ ¤c
+ ))[0], ((__const *) (src))[1], \
+ 
+ 673 ((
+ __cڡ
+  *è(
+ ¤c
+ ))[2], ((__const *) (src))[3], \
+ 
+ 674 ((
+ __cڡ
+  *è(
+ ¤c
+ ))[4], ((__const *) (src))[5], \
+ 
+ 676 
+ 	`__ex‹nsiÚ__
+  ((
+ __STRING2_COPY_ARR8
+ ) \
+ 
+ 677 { { ((
+ __cڡ
+  *è(
+ ¤c
+ ))[0], ((__const *) (src))[1], \
+ 
+ 678 ((
+ __cڡ
+  *è(
+ ¤c
+ ))[2], ((__const *) (src))[3], \
+ 
+ 679 ((
+ __cڡ
+  *è(
+ ¤c
+ ))[4], ((__const *) (src))[5], \
+ 
+ 680 ((
+ __cڡ
+  *è(
+ ¤c
+ ))[6], '\0' } })
+ 
+ 	)
+ 
+ 682 
+ __STRING_INLINE
+  *
+ __¡pýy_sm®l
+  (*, 
+ __STRING2_COPY_ARR2
+ ,
+ 
+ 683 
+ __STRING2_COPY_ARR3
+ ,
+ 
+ 684 
+ __STRING2_COPY_ARR4
+ ,
+ 
+ 685 
+ __STRING2_COPY_ARR5
+ ,
+ 
+ 686 
+ __STRING2_COPY_ARR6
+ ,
+ 
+ 687 
+ __STRING2_COPY_ARR7
+ ,
+ 
+ 688 
+ __STRING2_COPY_ARR8
+ , 
+ size_t
+ );
+ 
+ 689 
+ __STRING_INLINE
+  *
+ 
+ 690 
+ 	$__¡pýy_sm®l
+  (*
+ __de¡
+ ,
+ 
+ 691 
+ __STRING2_COPY_ARR2
+  
+ __¤c2
+ , 
+ __STRING2_COPY_ARR3
+  
+ __¤c3
+ ,
+ 
+ 692 
+ __STRING2_COPY_ARR4
+  
+ __¤c4
+ , 
+ __STRING2_COPY_ARR5
+  
+ __¤c5
+ ,
+ 
+ 693 
+ __STRING2_COPY_ARR6
+  
+ __¤c6
+ , 
+ __STRING2_COPY_ARR7
+  
+ __¤c7
+ ,
+ 
+ 694 
+ __STRING2_COPY_ARR8
+  
+ __¤c8
+ , 
+ size_t
+  
+ __¤þ’
+ )
+ 
+ 697 
+ __c
+ ;
+ 
+ 698 
+ __STRING2_COPY_ARR2
+  
+ __sÿ2
+ ;
+ 
+ 699 
+ __STRING2_COPY_ARR3
+  
+ __sÿ3
+ ;
+ 
+ 700 
+ __STRING2_COPY_ARR4
+  
+ __sÿ4
+ ;
+ 
+ 701 
+ __STRING2_COPY_ARR5
+  
+ __sÿ5
+ ;
+ 
+ 702 
+ __STRING2_COPY_ARR6
+  
+ __sÿ6
+ ;
+ 
+ 703 
+ __STRING2_COPY_ARR7
+  
+ __sÿ7
+ ;
+ 
+ 704 
+ __STRING2_COPY_ARR8
+  
+ __sÿ8
+ ;
+ 
+ 705 } *
+ __u
+  = (*è
+ __de¡
+ ;
+ 
+ 706 (è
+ __¤þ’
+ )
+ 
+ 709 
+ __u
+ ->
+ __c
+  = '\0';
+ 
+ 712 
+ __ex‹nsiÚ__
+  
+ __u
+ ->
+ __sÿ2
+  = 
+ __¤c2
+ ;
+ 
+ 715 
+ __ex‹nsiÚ__
+  
+ __u
+ ->
+ __sÿ3
+  = 
+ __¤c3
+ ;
+ 
+ 718 
+ __ex‹nsiÚ__
+  
+ __u
+ ->
+ __sÿ4
+  = 
+ __¤c4
+ ;
+ 
+ 721 
+ __ex‹nsiÚ__
+  
+ __u
+ ->
+ __sÿ5
+  = 
+ __¤c5
+ ;
+ 
+ 724 
+ __ex‹nsiÚ__
+  
+ __u
+ ->
+ __sÿ6
+  = 
+ __¤c6
+ ;
+ 
+ 727 
+ __ex‹nsiÚ__
+  
+ __u
+ ->
+ __sÿ7
+  = 
+ __¤c7
+ ;
+ 
+ 730 
+ __ex‹nsiÚ__
+  
+ __u
+ ->
+ __sÿ8
+  = 
+ __¤c8
+ ;
+ 
+ 733  
+ __de¡
+  + 
+ __¤þ’
+  - 1;
+ 
+ 734 
+ 	}
+ }
+ 
+ 742 #iâdeà
+ _HAVE_STRING_ARCH_¡ºýy
+ 
+ 
+ 743 #ià
+ defšed
+  
+ _USE_STRING_ARCH_mem£t
+  && defšed 
+ _USE_STRING_ARCH_mempýy
+ 
+ 
+ 744 
+ 	#¡ºýy
+ (
+ de¡
+ , 
+ ¤c
+ , 
+ n
+ ) \
+ 
+ 745 (
+ 	`__ex‹nsiÚ__
+  ({ *
+ __de¡
+  = (
+ de¡
+ ); \
+ 
+ 746 
+ 	`__bužtš_cÚ¡ªt_p
+  (
+ ¤c
+ è&& __bužtš_cÚ¡ªt_°(
+ n
+ ) \
+ 
+ 747 ? (
+ 	`¡¾’
+  (
+ ¤c
+ è+ 1 >ð((
+ size_t
+ è(
+ n
+ )) \
+ 
+ 748 ? (*è
+ 	`memýy
+  (
+ __de¡
+ , 
+ ¤c
+ , 
+ n
+ ) \
+ 
+ 749 : (
+ 	`mem£t
+  (
+ 	`__mempýy
+  (
+ __de¡
+ , 
+ ¤c
+ , 
+ 	`¡¾’
+  (src)), \
+ 
+ 750 '\0', 
+ n
+  - 
+ 	`¡¾’
+  (
+ ¤c
+ )), \
+ 
+ 751 
+ __de¡
+ )) \
+ 
+ 752 : 
+ 	`¡ºýy
+  (
+ __de¡
+ , 
+ ¤c
+ , 
+ n
+ ); }))
+ 
+ 	)
+ 
+ 754 
+ 	#¡ºýy
+ (
+ de¡
+ , 
+ ¤c
+ , 
+ n
+ ) \
+ 
+ 755 (
+ 	`__ex‹nsiÚ__
+  (
+ 	`__bužtš_cÚ¡ªt_p
+  (
+ ¤c
+ è&& __bužtš_cÚ¡ªt_°(
+ n
+ ) \
+ 
+ 756 ? (
+ 	`¡¾’
+  (
+ ¤c
+ è+ 1 >ð((
+ size_t
+ è(
+ n
+ )) \
+ 
+ 757 ? (*è
+ 	`memýy
+  (
+ de¡
+ , 
+ ¤c
+ , 
+ n
+ ) \
+ 
+ 758 : 
+ 	`¡ºýy
+  (
+ de¡
+ , 
+ ¤c
+ , 
+ n
+ )) \
+ 
+ 759 : 
+ 	`¡ºýy
+  (
+ de¡
+ , 
+ ¤c
+ , 
+ n
+ )))
+ 
+ 	)
+ 
+ 765 #iâdeà
+ _HAVE_STRING_ARCH_¡ºÿt
+ 
+ 
+ 766 #ifdeà
+ _USE_STRING_ARCH_¡rchr
+ 
+ 
+ 767 
+ 	#¡ºÿt
+ (
+ de¡
+ , 
+ ¤c
+ , 
+ n
+ ) \
+ 
+ 768 (
+ 	`__ex‹nsiÚ__
+  ({ *
+ __de¡
+  = (
+ de¡
+ ); \
+ 
+ 769 
+ 	`__bužtš_cÚ¡ªt_p
+  (
+ ¤c
+ è&& __bužtš_cÚ¡ªt_°(
+ n
+ ) \
+ 
+ 770 ? (
+ 	`¡¾’
+  (
+ ¤c
+ è< ((
+ size_t
+ è(
+ n
+ )) \
+ 
+ 771 ? 
+ 	`¡rÿt
+  (
+ __de¡
+ , 
+ ¤c
+ ) \
+ 
+ 772 : (*((*è
+ 	`__mempýy
+  (
+ 	`¡rchr
+  (
+ __de¡
+ , '\0'), \
+ 
+ 773 
+ ¤c
+ , 
+ n
+ )èð'\0', 
+ __de¡
+ )) \
+ 
+ 774 : 
+ 	`¡ºÿt
+  (
+ de¡
+ , 
+ ¤c
+ , 
+ n
+ ); }))
+ 
+ 	)
+ 
+ 776 
+ 	#¡ºÿt
+ (
+ de¡
+ , 
+ ¤c
+ , 
+ n
+ ) \
+ 
+ 777 (
+ 	`__ex‹nsiÚ__
+  (
+ 	`__bužtš_cÚ¡ªt_p
+  (
+ ¤c
+ è&& __bužtš_cÚ¡ªt_°(
+ n
+ ) \
+ 
+ 778 ? (
+ 	`¡¾’
+  (
+ ¤c
+ è< ((
+ size_t
+ è(
+ n
+ )) \
+ 
+ 779 ? 
+ 	`¡rÿt
+  (
+ de¡
+ , 
+ ¤c
+ ) \
+ 
+ 780 : 
+ 	`¡ºÿt
+  (
+ de¡
+ , 
+ ¤c
+ , 
+ n
+ )) \
+ 
+ 781 : 
+ 	`¡ºÿt
+  (
+ de¡
+ , 
+ ¤c
+ , 
+ n
+ )))
+ 
+ 	)
+ 
+ 787 #iâdeà
+ _HAVE_STRING_ARCH_¡rcmp
+ 
+ 
+ 788 
+ 	#¡rcmp
+ (
+ s1
+ , 
+ s2
+ ) \
+ 
+ 789 
+ __ex‹nsiÚ__
+  \
+ 
+ 790 ({ 
+ size_t
+  
+ __s1_Ën
+ , 
+ __s2_Ën
+ ; \
+ 
+ 791 (
+ 	`__bužtš_cÚ¡ªt_p
+  (
+ s1
+ è&& __bužtš_cÚ¡ªt_°(
+ s2
+ ) \
+ 
+ 792 && (
+ __s1_Ën
+  = 
+ 	`¡¾’
+  (
+ s1
+ ), 
+ __s2_Ën
+  = sŒËÀ(
+ s2
+ ), \
+ 
+ 793 (!
+ 	`__¡ršg2_1b±r_p
+  (
+ s1
+ è|| 
+ __s1_Ën
+  >= 4) \
+ 
+ 794 && (!
+ 	`__¡ršg2_1b±r_p
+  (
+ s2
+ è|| 
+ __s2_Ën
+  >= 4)) \
+ 
+ 795 ? 
+ 	`memcmp
+  ((
+ __cڡ
+  *è(
+ s1
+ ), (__cÚ¡ *è(
+ s2
+ ), \
+ 
+ 796 (
+ __s1_Ën
+  < 
+ __s2_Ën
+  ? __s1_len : __s2_len) + 1) \
+ 
+ 797 : (
+ 	`__bužtš_cÚ¡ªt_p
+  (
+ s1
+ è&& 
+ 	`__¡ršg2_1b±r_p
+  (s1) \
+ 
+ 798 && (
+ __s1_Ën
+  = 
+ 	`¡¾’
+  (
+ s1
+ ), __s1_len < 4) \
+ 
+ 799 ? (
+ 	`__bužtš_cÚ¡ªt_p
+  (
+ s2
+ è&& 
+ 	`__¡ršg2_1b±r_p
+  (s2) \
+ 
+ 800 ? 
+ 	`__¡rcmp_cc
+  (
+ s1
+ , 
+ s2
+ , 
+ __s1_Ën
+ ) \
+ 
+ 801 : 
+ 	`__¡rcmp_cg
+  (
+ s1
+ , 
+ s2
+ , 
+ __s1_Ën
+ )) \
+ 
+ 802 : (
+ 	`__bužtš_cÚ¡ªt_p
+  (
+ s2
+ è&& 
+ 	`__¡ršg2_1b±r_p
+  (s2) \
+ 
+ 803 && (
+ __s2_Ën
+  = 
+ 	`¡¾’
+  (
+ s2
+ ), __s2_len < 4) \
+ 
+ 804 ? (
+ 	`__bužtš_cÚ¡ªt_p
+  (
+ s1
+ è&& 
+ 	`__¡ršg2_1b±r_p
+  (s1) \
+ 
+ 805 ? 
+ 	`__¡rcmp_cc
+  (
+ s1
+ , 
+ s2
+ , 
+ __s2_Ën
+ ) \
+ 
+ 806 : 
+ 	`__¡rcmp_gc
+  (
+ s1
+ , 
+ s2
+ , 
+ __s2_Ën
+ )) \
+ 
+ 807 : 
+ 	`¡rcmp
+  (
+ s1
+ , 
+ s2
+ )))); })
+ 
+ 	)
+ 
+ 809 
+ 	#__¡rcmp_cc
+ (
+ s1
+ , 
+ s2
+ , 
+ l
+ ) \
+ 
+ 810 (
+ 	`__ex‹nsiÚ__
+  ({ 
+ __»suÉ
+  = \
+ 
+ 811 (((
+ __cڡ
+  *è(__cÚ¡ *è(
+ s1
+ ))[0] \
+ 
+ 812 - ((
+ __cڡ
+  *è(__cÚ¡ *)(
+ s2
+ ))[0]);\
+ 
+ 813 ià(
+ l
+  > 0 && 
+ __»suÉ
+  == 0) \
+ 
+ 815 
+ __»suÉ
+  = (((
+ __cڡ
+  *) \
+ 
+ 816 (
+ __cڡ
+  *è(
+ s1
+ ))[1] \
+ 
+ 817 - ((
+ __cڡ
+  *) \
+ 
+ 818 (
+ __cڡ
+  *è(
+ s2
+ ))[1]); \
+ 
+ 819 ià(
+ l
+  > 1 && 
+ __»suÉ
+  == 0) \
+ 
+ 821 
+ __»suÉ
+  = \
+ 
+ 822 (((
+ __cڡ
+  *) \
+ 
+ 823 (
+ __cڡ
+  *è(
+ s1
+ ))[2] \
+ 
+ 824 - ((
+ __cڡ
+  *) \
+ 
+ 825 (
+ __cڡ
+  *è(
+ s2
+ ))[2]); \
+ 
+ 826 ià(
+ l
+  > 2 && 
+ __»suÉ
+  == 0) \
+ 
+ 827 
+ __»suÉ
+  = \
+ 
+ 828 (((
+ __cڡ
+  *) \
+ 
+ 829 (
+ __cڡ
+  *è(
+ s1
+ ))[3] \
+ 
+ 830 - ((
+ __cڡ
+  *) \
+ 
+ 831 (
+ __cڡ
+  *è(
+ s2
+ ))[3]); \
+ 
+ 834 
+ __»suÉ
+ ; }))
+ 
+ 	)
+ 
+ 836 
+ 	#__¡rcmp_cg
+ (
+ s1
+ , 
+ s2
+ , 
+ l1
+ ) \
+ 
+ 837 (
+ 	`__ex‹nsiÚ__
+  ({ 
+ __cڡ
+  *
+ __s2
+  = \
+ 
+ 838 (
+ __cڡ
+  *è(__cÚ¡ *è(
+ s2
+ ); \
+ 
+ 839 
+ __»suÉ
+  = \
+ 
+ 840 (((
+ __cڡ
+  *è(__cÚ¡ *è(
+ s1
+ ))[0] \
+ 
+ 841 - 
+ __s2
+ [0]); \
+ 
+ 842 ià(
+ l1
+  > 0 && 
+ __»suÉ
+  == 0) \
+ 
+ 844 
+ __»suÉ
+  = (((
+ __cڡ
+  *) \
+ 
+ 845 (
+ __cڡ
+  *è(
+ s1
+ ))[1] - 
+ __s2
+ [1]); \
+ 
+ 846 ià(
+ l1
+  > 1 && 
+ __»suÉ
+  == 0) \
+ 
+ 848 
+ __»suÉ
+  = (((
+ __cڡ
+  *) \
+ 
+ 849 (
+ __cڡ
+  *è(
+ s1
+ ))[2] - 
+ __s2
+ [2]);\
+ 
+ 850 ià(
+ l1
+  > 2 && 
+ __»suÉ
+  == 0) \
+ 
+ 851 
+ __»suÉ
+  = (((
+ __cڡ
+  *) \
+ 
+ 852 (
+ __cڡ
+  *è(
+ s1
+ ))[3] \
+ 
+ 853 - 
+ __s2
+ [3]); \
+ 
+ 856 
+ __»suÉ
+ ; }))
+ 
+ 	)
+ 
+ 858 
+ 	#__¡rcmp_gc
+ (
+ s1
+ , 
+ s2
+ , 
+ l2
+ ) \
+ 
+ 859 (
+ 	`__ex‹nsiÚ__
+  ({ 
+ __cڡ
+  *
+ __s1
+  = \
+ 
+ 860 (
+ __cڡ
+  *è(__cÚ¡ *è(
+ s1
+ ); \
+ 
+ 861 
+ __»suÉ
+  = \
+ 
+ 862 
+ __s1
+ [0] - ((
+ __cڡ
+  *) \
+ 
+ 863 (
+ __cڡ
+  *è(
+ s2
+ ))[0]; \
+ 
+ 864 ià(
+ l2
+  > 0 && 
+ __»suÉ
+  == 0) \
+ 
+ 866 
+ __»suÉ
+  = (
+ __s1
+ [1] \
+ 
+ 867 - ((
+ __cڡ
+  *) \
+ 
+ 868 (
+ __cڡ
+  *è(
+ s2
+ ))[1]); \
+ 
+ 869 ià(
+ l2
+  > 1 && 
+ __»suÉ
+  == 0) \
+ 
+ 871 
+ __»suÉ
+  = \
+ 
+ 872 (
+ __s1
+ [2] - ((
+ __cڡ
+  *) \
+ 
+ 873 (
+ __cڡ
+  *è(
+ s2
+ ))[2]); \
+ 
+ 874 ià(
+ l2
+  > 2 && 
+ __»suÉ
+  == 0) \
+ 
+ 875 
+ __»suÉ
+  = \
+ 
+ 876 (
+ __s1
+ [3] \
+ 
+ 877 - ((
+ __cڡ
+  *) \
+ 
+ 878 (
+ __cڡ
+  *è(
+ s2
+ ))[3]); \
+ 
+ 881 
+ __»suÉ
+ ; }))
+ 
+ 	)
+ 
+ 886 #iâdeà
+ _HAVE_STRING_ARCH_¡ºcmp
+ 
+ 
+ 887 
+ 	#¡ºcmp
+ (
+ s1
+ , 
+ s2
+ , 
+ n
+ ) \
+ 
+ 888 (
+ 	`__ex‹nsiÚ__
+  (
+ 	`__bužtš_cÚ¡ªt_p
+  (
+ n
+ ) \
+ 
+ 889 && ((
+ 	`__bužtš_cÚ¡ªt_p
+  (
+ s1
+ ) \
+ 
+ 890 && 
+ 	`¡¾’
+  (
+ s1
+ è< ((
+ size_t
+ è(
+ n
+ ))) \
+ 
+ 891 || (
+ 	`__bužtš_cÚ¡ªt_p
+  (
+ s2
+ ) \
+ 
+ 892 && 
+ 	`¡¾’
+  (
+ s2
+ è< ((
+ size_t
+ è(
+ n
+ )))) \
+ 
+ 893 ? 
+ 	`¡rcmp
+  (
+ s1
+ , 
+ s2
+ è: 
+ 	`¡ºcmp
+  (s1, s2, 
+ n
+ )))
+ 
+ 	)
+ 
+ 899 #ià!
+ defšed
+  
+ _HAVE_STRING_ARCH_¡rc¥n
+  || defšed 
+ _FORCE_INLINES
+ 
+ 
+ 900 #iâdeà
+ _HAVE_STRING_ARCH_¡rc¥n
+ 
+ 
+ 901 
+ 	#¡rc¥n
+ (
+ s
+ , 
+ »jeù
+ ) \
+ 
+ 902 
+ __ex‹nsiÚ__
+  \
+ 
+ 903 ({ 
+ __r0
+ , 
+ __r1
+ , 
+ __r2
+ ; \
+ 
+ 904 (
+ 	`__bužtš_cÚ¡ªt_p
+  (
+ »jeù
+ è&& 
+ 	`__¡ršg2_1b±r_p
+  (reject) \
+ 
+ 905 ? ((
+ __r0
+  = ((
+ __cڡ
+  *è(
+ »jeù
+ ))[0], __r0 == '\0') \
+ 
+ 906 ? 
+ 	`¡¾’
+  (
+ s
+ ) \
+ 
+ 907 : ((
+ __r1
+  = ((
+ __cڡ
+  *è(
+ »jeù
+ ))[1], __r1 == '\0') \
+ 
+ 908 ? 
+ 	`__¡rc¥n_c1
+  (
+ s
+ , 
+ __r0
+ ) \
+ 
+ 909 : ((
+ __r2
+  = ((
+ __cڡ
+  *è(
+ »jeù
+ ))[2], __r2 == '\0') \
+ 
+ 910 ? 
+ 	`__¡rc¥n_c2
+  (
+ s
+ , 
+ __r0
+ , 
+ __r1
+ ) \
+ 
+ 911 : (((
+ __cڡ
+  *è(
+ »jeù
+ ))[3] == '\0' \
+ 
+ 912 ? 
+ 	`__¡rc¥n_c3
+  (
+ s
+ , 
+ __r0
+ , 
+ __r1
+ , 
+ __r2
+ ) \
+ 
+ 913 : 
+ 	`¡rc¥n
+  (
+ s
+ , 
+ »jeù
+ ))))) \
+ 
+ 914 : 
+ 	`¡rc¥n
+  (
+ s
+ , 
+ »jeù
+ )); })
+ 
+ 	)
+ 
+ 917 
+ __STRING_INLINE
+  
+ size_t
+  
+ __¡rc¥n_c1
+  (
+ __cڡ
+  *
+ __s
+ , 
+ __»jeù
+ );
+ 
+ 918 
+ __STRING_INLINE
+  
+ size_t
+ 
+ 
+ 919 
+ 	$__¡rc¥n_c1
+  (
+ __cڡ
+  *
+ __s
+ , 
+ __»jeù
+ )
+ 
+ 921 
+ size_t
+  
+ __»suÉ
+  = 0;
+ 
+ 922 
+ __s
+ [
+ __»suÉ
+ ] !ð'\0' && __s[__»suÉ] !ð
+ __»jeù
+ )
+ 
+ 923 ++
+ __»suÉ
+ ;
+ 
+ 924  
+ __»suÉ
+ ;
+ 
+ 925 
+ 	}
+ }
+ 
+ 927 
+ __STRING_INLINE
+  
+ size_t
+  
+ __¡rc¥n_c2
+  (
+ __cڡ
+  *
+ __s
+ , 
+ __»jeù1
+ ,
+ 
+ 928 
+ __»jeù2
+ );
+ 
+ 929 
+ __STRING_INLINE
+  
+ size_t
+ 
+ 
+ 930 
+ 	$__¡rc¥n_c2
+  (
+ __cڡ
+  *
+ __s
+ , 
+ __»jeù1
+ , 
+ __»jeù2
+ )
+ 
+ 932 
+ size_t
+  
+ __»suÉ
+  = 0;
+ 
+ 933 
+ __s
+ [
+ __»suÉ
+ ] !ð'\0' && __s[__»suÉ] !ð
+ __»jeù1
+ 
+ 
+ 934 && 
+ __s
+ [
+ __»suÉ
+ ] !ð
+ __»jeù2
+ )
+ 
+ 935 ++
+ __»suÉ
+ ;
+ 
+ 936  
+ __»suÉ
+ ;
+ 
+ 937 
+ 	}
+ }
+ 
+ 939 
+ __STRING_INLINE
+  
+ size_t
+  
+ __¡rc¥n_c3
+  (
+ __cڡ
+  *
+ __s
+ , 
+ __»jeù1
+ ,
+ 
+ 940 
+ __»jeù2
+ , 
+ __»jeù3
+ );
+ 
+ 941 
+ __STRING_INLINE
+  
+ size_t
+ 
+ 
+ 942 
+ 	$__¡rc¥n_c3
+  (
+ __cڡ
+  *
+ __s
+ , 
+ __»jeù1
+ , 
+ __»jeù2
+ ,
+ 
+ 943 
+ __»jeù3
+ )
+ 
+ 945 
+ size_t
+  
+ __»suÉ
+  = 0;
+ 
+ 946 
+ __s
+ [
+ __»suÉ
+ ] !ð'\0' && __s[__»suÉ] !ð
+ __»jeù1
+ 
+ 
+ 947 && 
+ __s
+ [
+ __»suÉ
+ ] !ð
+ __»jeù2
+  && __s[__»suÉ] !ð
+ __»jeù3
+ )
+ 
+ 948 ++
+ __»suÉ
+ ;
+ 
+ 949  
+ __»suÉ
+ ;
+ 
+ 950 
+ 	}
+ }
+ 
+ 956 #ià!
+ defšed
+  
+ _HAVE_STRING_ARCH_¡r¥n
+  || defšed 
+ _FORCE_INLINES
+ 
+ 
+ 957 #iâdeà
+ _HAVE_STRING_ARCH_¡r¥n
+ 
+ 
+ 958 
+ 	#¡r¥n
+ (
+ s
+ , 
+ acû±
+ ) \
+ 
+ 959 
+ __ex‹nsiÚ__
+  \
+ 
+ 960 ({ 
+ __a0
+ , 
+ __a1
+ , 
+ __a2
+ ; \
+ 
+ 961 (
+ 	`__bužtš_cÚ¡ªt_p
+  (
+ acû±
+ è&& 
+ 	`__¡ršg2_1b±r_p
+  (accept) \
+ 
+ 962 ? ((
+ __a0
+  = ((
+ __cڡ
+  *è(
+ acû±
+ ))[0], __a0 == '\0') \
+ 
+ 963 ? ((è(
+ s
+ ), 0) \
+ 
+ 964 : ((
+ __a1
+  = ((
+ __cڡ
+  *è(
+ acû±
+ ))[1], __a1 == '\0') \
+ 
+ 965 ? 
+ 	`__¡r¥n_c1
+  (
+ s
+ , 
+ __a0
+ ) \
+ 
+ 966 : ((
+ __a2
+  = ((
+ __cڡ
+  *è(
+ acû±
+ ))[2], __a2 == '\0') \
+ 
+ 967 ? 
+ 	`__¡r¥n_c2
+  (
+ s
+ , 
+ __a0
+ , 
+ __a1
+ ) \
+ 
+ 968 : (((
+ __cڡ
+  *è(
+ acû±
+ ))[3] == '\0' \
+ 
+ 969 ? 
+ 	`__¡r¥n_c3
+  (
+ s
+ , 
+ __a0
+ , 
+ __a1
+ , 
+ __a2
+ ) \
+ 
+ 970 : 
+ 	`¡r¥n
+  (
+ s
+ , 
+ acû±
+ ))))) \
+ 
+ 971 : 
+ 	`¡r¥n
+  (
+ s
+ , 
+ acû±
+ )); })
+ 
+ 	)
+ 
+ 974 
+ __STRING_INLINE
+  
+ size_t
+  
+ __¡r¥n_c1
+  (
+ __cڡ
+  *
+ __s
+ , 
+ __acû±
+ );
+ 
+ 975 
+ __STRING_INLINE
+  
+ size_t
+ 
+ 
+ 976 
+ 	$__¡r¥n_c1
+  (
+ __cڡ
+  *
+ __s
+ , 
+ __acû±
+ )
+ 
+ 978 
+ size_t
+  
+ __»suÉ
+  = 0;
+ 
+ 980 
+ __s
+ [
+ __»suÉ
+ ] =ð
+ __acû±
+ )
+ 
+ 981 ++
+ __»suÉ
+ ;
+ 
+ 982  
+ __»suÉ
+ ;
+ 
+ 983 
+ 	}
+ }
+ 
+ 985 
+ __STRING_INLINE
+  
+ size_t
+  
+ __¡r¥n_c2
+  (
+ __cڡ
+  *
+ __s
+ , 
+ __acû±1
+ ,
+ 
+ 986 
+ __acû±2
+ );
+ 
+ 987 
+ __STRING_INLINE
+  
+ size_t
+ 
+ 
+ 988 
+ 	$__¡r¥n_c2
+  (
+ __cڡ
+  *
+ __s
+ , 
+ __acû±1
+ , 
+ __acû±2
+ )
+ 
+ 990 
+ size_t
+  
+ __»suÉ
+  = 0;
+ 
+ 992 
+ __s
+ [
+ __»suÉ
+ ] =ð
+ __acû±1
+  || __s[__»suÉ] =ð
+ __acû±2
+ )
+ 
+ 993 ++
+ __»suÉ
+ ;
+ 
+ 994  
+ __»suÉ
+ ;
+ 
+ 995 
+ 	}
+ }
+ 
+ 997 
+ __STRING_INLINE
+  
+ size_t
+  
+ __¡r¥n_c3
+  (
+ __cڡ
+  *
+ __s
+ , 
+ __acû±1
+ ,
+ 
+ 998 
+ __acû±2
+ , 
+ __acû±3
+ );
+ 
+ 999 
+ __STRING_INLINE
+  
+ size_t
+ 
+ 
+ 1000 
+ 	$__¡r¥n_c3
+  (
+ __cڡ
+  *
+ __s
+ , 
+ __acû±1
+ , 
+ __acû±2
+ , 
+ __acû±3
+ )
+ 
+ 1002 
+ size_t
+  
+ __»suÉ
+  = 0;
+ 
+ 1004 
+ __s
+ [
+ __»suÉ
+ ] =ð
+ __acû±1
+  || __s[__»suÉ] =ð
+ __acû±2
+ 
+ 
+ 1005 || 
+ __s
+ [
+ __»suÉ
+ ] =ð
+ __acû±3
+ )
+ 
+ 1006 ++
+ __»suÉ
+ ;
+ 
+ 1007  
+ __»suÉ
+ ;
+ 
+ 1008 
+ 	}
+ }
+ 
+ 1013 #ià!
+ defšed
+  
+ _HAVE_STRING_ARCH_¡½brk
+  || defšed 
+ _FORCE_INLINES
+ 
+ 
+ 1014 #iâdeà
+ _HAVE_STRING_ARCH_¡½brk
+ 
+ 
+ 1015 
+ 	#¡½brk
+ (
+ s
+ , 
+ acû±
+ ) \
+ 
+ 1016 
+ __ex‹nsiÚ__
+  \
+ 
+ 1017 ({ 
+ __a0
+ , 
+ __a1
+ , 
+ __a2
+ ; \
+ 
+ 1018 (
+ 	`__bužtš_cÚ¡ªt_p
+  (
+ acû±
+ è&& 
+ 	`__¡ršg2_1b±r_p
+  (accept) \
+ 
+ 1019 ? ((
+ __a0
+  = ((
+ __cڡ
+  *è(
+ acû±
+ ))[0], __a0 == '\0') \
+ 
+ 1020 ? ((è(
+ s
+ ), 
+ NULL
+ ) \
+ 
+ 1021 : ((
+ __a1
+  = ((
+ __cڡ
+  *è(
+ acû±
+ ))[1], __a1 == '\0') \
+ 
+ 1022 ? 
+ 	`¡rchr
+  (
+ s
+ , 
+ __a0
+ ) \
+ 
+ 1023 : ((
+ __a2
+  = ((
+ __cڡ
+  *è(
+ acû±
+ ))[2], __a2 == '\0') \
+ 
+ 1024 ? 
+ 	`__¡½brk_c2
+  (
+ s
+ , 
+ __a0
+ , 
+ __a1
+ ) \
+ 
+ 1025 : (((
+ __cڡ
+  *è(
+ acû±
+ ))[3] == '\0' \
+ 
+ 1026 ? 
+ 	`__¡½brk_c3
+  (
+ s
+ , 
+ __a0
+ , 
+ __a1
+ , 
+ __a2
+ ) \
+ 
+ 1027 : 
+ 	`¡½brk
+  (
+ s
+ , 
+ acû±
+ ))))) \
+ 
+ 1028 : 
+ 	`¡½brk
+  (
+ s
+ , 
+ acû±
+ )); })
+ 
+ 	)
+ 
+ 1031 
+ __STRING_INLINE
+  *
+ __¡½brk_c2
+  (
+ __cڡ
+  *
+ __s
+ , 
+ __acû±1
+ ,
+ 
+ 1032 
+ __acû±2
+ );
+ 
+ 1033 
+ __STRING_INLINE
+  *
+ 
+ 1034 
+ 	$__¡½brk_c2
+  (
+ __cڡ
+  *
+ __s
+ , 
+ __acû±1
+ , 
+ __acû±2
+ )
+ 
+ 1037 *
+ __s
+  !ð'\0' && *__ !ð
+ __acû±1
+  && *__ !ð
+ __acû±2
+ )
+ 
+ 1038 ++
+ __s
+ ;
+ 
+ 1039  *
+ __s
+  =ð'\0' ? 
+ NULL
+  : (*è(
+ size_t
+ ) __s;
+ 
+ 1040 
+ 	}
+ }
+ 
+ 1042 
+ __STRING_INLINE
+  *
+ __¡½brk_c3
+  (
+ __cڡ
+  *
+ __s
+ , 
+ __acû±1
+ ,
+ 
+ 1043 
+ __acû±2
+ , 
+ __acû±3
+ );
+ 
+ 1044 
+ __STRING_INLINE
+  *
+ 
+ 1045 
+ 	$__¡½brk_c3
+  (
+ __cڡ
+  *
+ __s
+ , 
+ __acû±1
+ , 
+ __acû±2
+ ,
+ 
+ 1046 
+ __acû±3
+ )
+ 
+ 1049 *
+ __s
+  !ð'\0' && *__ !ð
+ __acû±1
+  && *__ !ð
+ __acû±2
+ 
+ 
+ 1050 && *
+ __s
+  !ð
+ __acû±3
+ )
+ 
+ 1051 ++
+ __s
+ ;
+ 
+ 1052  *
+ __s
+  =ð'\0' ? 
+ NULL
+  : (*è(
+ size_t
+ ) __s;
+ 
+ 1053 
+ 	}
+ }
+ 
+ 1059 #ià!
+ defšed
+  
+ _HAVE_STRING_ARCH_¡r¡r
+  && !
+ __GNUC_PREREQ
+  (2, 97)
+ 
+ 1060 
+ 	#¡r¡r
+ (
+ hay¡ack
+ , 
+ ÃedË
+ ) \
+ 
+ 1061 (
+ 	`__ex‹nsiÚ__
+  (
+ 	`__bužtš_cÚ¡ªt_p
+  (
+ ÃedË
+ è&& 
+ 	`__¡ršg2_1b±r_p
+  (needle) \
+ 
+ 1062 ? (((
+ __cڡ
+  *è(
+ ÃedË
+ ))[0] == '\0' \
+ 
+ 1063 ? (*è(
+ size_t
+ è(
+ hay¡ack
+ ) \
+ 
+ 1064 : (((
+ __cڡ
+  *è(
+ ÃedË
+ ))[1] == '\0' \
+ 
+ 1065 ? 
+ 	`¡rchr
+  (
+ hay¡ack
+ , \
+ 
+ 1066 ((
+ __cڡ
+  *è(
+ ÃedË
+ ))[0]) \
+ 
+ 1067 : 
+ 	`¡r¡r
+  (
+ hay¡ack
+ , 
+ ÃedË
+ ))) \
+ 
+ 1068 : 
+ 	`¡r¡r
+  (
+ hay¡ack
+ , 
+ ÃedË
+ )))
+ 
+ 	)
+ 
+ 1072 #ià!
+ defšed
+  
+ _HAVE_STRING_ARCH_¡¹ok_r
+  || defšed 
+ _FORCE_INLINES
+ 
+ 
+ 1073 #iâdeà
+ _HAVE_STRING_ARCH_¡¹ok_r
+ 
+ 
+ 1074 
+ 	#__¡¹ok_r
+ (
+ s
+ , 
+ £p
+ , 
+ Ãx
+ ) \
+ 
+ 1075 (
+ 	`__ex‹nsiÚ__
+  (
+ 	`__bužtš_cÚ¡ªt_p
+  (
+ £p
+ è&& 
+ 	`__¡ršg2_1b±r_p
+  (sep) \
+ 
+ 1076 ? (((
+ __cڡ
+  *è(
+ £p
+ ))[0] != '\0' \
+ 
+ 1077 && ((
+ __cڡ
+  *è(
+ £p
+ ))[1] == '\0' \
+ 
+ 1078 ? 
+ 	`__¡¹ok_r_1c
+  (
+ s
+ , ((
+ __cڡ
+  *è(
+ £p
+ ))[0], 
+ Ãx
+ ) \
+ 
+ 1079 : 
+ 	`__¡¹ok_r
+  (
+ s
+ , 
+ £p
+ , 
+ Ãx
+ )) \
+ 
+ 1080 : 
+ 	`__¡¹ok_r
+  (
+ s
+ , 
+ £p
+ , 
+ Ãx
+ )))
+ 
+ 	)
+ 
+ 1083 
+ __STRING_INLINE
+  *
+ __¡¹ok_r_1c
+  (*
+ __s
+ , 
+ __£p
+ , **
+ __Ãx
+ );
+ 
+ 1084 
+ __STRING_INLINE
+  *
+ 
+ 1085 
+ 	$__¡¹ok_r_1c
+  (*
+ __s
+ , 
+ __£p
+ , **
+ __Ãx
+ )
+ 
+ 1087 *
+ __»suÉ
+ ;
+ 
+ 1088 ià(
+ __s
+  =ð
+ NULL
+ )
+ 
+ 1089 
+ __s
+  = *
+ __Ãx
+ ;
+ 
+ 1090 *
+ __s
+  =ð
+ __£p
+ )
+ 
+ 1091 ++
+ __s
+ ;
+ 
+ 1092 
+ __»suÉ
+  = 
+ NULL
+ ;
+ 
+ 1093 ià(*
+ __s
+  != '\0')
+ 
+ 1095 
+ __»suÉ
+  = 
+ __s
+ ++;
+ 
+ 1096 *
+ __s
+  != '\0')
+ 
+ 1097 ià(*
+ __s
+ ++ =ð
+ __£p
+ )
+ 
+ 1099 
+ __s
+ [-1] = '\0';
+ 
+ 1102 *
+ __Ãx
+  = 
+ __s
+ ;
+ 
+ 1104  
+ __»suÉ
+ ;
+ 
+ 1105 
+ 	}
+ }
+ 
+ 1106 #ià
+ defšed
+  
+ __USE_POSIX
+  || defšed 
+ __USE_MISC
+ 
+ 
+ 1107 
+ 	#¡¹ok_r
+ (
+ s
+ , 
+ £p
+ , 
+ Ãx
+ è
+ 	`__¡¹ok_r
+  (s, s•,‚ex)
+ 
+ 	)
+ 
+ 1112 #ià!
+ defšed
+  
+ _HAVE_STRING_ARCH_¡r£p
+  || defšed 
+ _FORCE_INLINES
+ 
+ 
+ 1113 #iâdeà
+ _HAVE_STRING_ARCH_¡r£p
+ 
+ 
+ 1115 
*
+ __¡r£p_g
+  (**
+ __¡ršgp
+ , 
+ __cڡ
+  *
+ __d–im
+ );
+ 
+ 1116 
+ 	#__¡r£p
+ (
+ s
+ , 
+ »jeù
+ ) \
+ 
+ 1117 
+ __ex‹nsiÚ__
+  \
+ 
+ 1118 ({ 
+ __r0
+ , 
+ __r1
+ , 
+ __r2
+ ; \
+ 
+ 1119 (
+ 	`__bužtš_cÚ¡ªt_p
+  (
+ »jeù
+ è&& 
+ 	`__¡ršg2_1b±r_p
+  (reject) \
+ 
+ 1120 && (
+ __r0
+  = ((
+ __cڡ
+  *è(
+ »jeù
+ ))[0], \
+ 
+ 1121 ((
+ __cڡ
+  *è(
+ »jeù
+ ))[0] != '\0') \
+ 
+ 1122 ? ((
+ __r1
+  = ((
+ __cڡ
+  *è(
+ »jeù
+ ))[1], \
+ 
+ 1123 ((
+ __cڡ
+  *è(
+ »jeù
+ ))[1] == '\0') \
+ 
+ 1124 ? 
+ 	`__¡r£p_1c
+  (
+ s
+ , 
+ __r0
+ ) \
+ 
+ 1125 : ((
+ __r2
+  = ((
+ __cڡ
+  *è(
+ »jeù
+ ))[2], __r2 == '\0') \
+ 
+ 1126 ? 
+ 	`__¡r£p_2c
+  (
+ s
+ , 
+ __r0
+ , 
+ __r1
+ ) \
+ 
+ 1127 : (((
+ __cڡ
+  *è(
+ »jeù
+ ))[3] == '\0' \
+ 
+ 1128 ? 
+ 	`__¡r£p_3c
+  (
+ s
+ , 
+ __r0
+ , 
+ __r1
+ , 
+ __r2
+ ) \
+ 
+ 1129 : 
+ 	`__¡r£p_g
+  (
+ s
+ , 
+ »jeù
+ )))) \
+ 
+ 1130 : 
+ 	`__¡r£p_g
+  (
+ s
+ , 
+ »jeù
+ )); })
+ 
+ 	)
+ 
+ 1133 
+ __STRING_INLINE
+  *
+ __¡r£p_1c
+  (**
+ __s
+ , 
+ __»jeù
+ );
+ 
+ 1134 
+ __STRING_INLINE
+  *
+ 
+ 1135 
+ 	$__¡r£p_1c
+  (**
+ __s
+ , 
+ __»jeù
+ )
+ 
+ 1137 *
+ __»tv®
+  = *
+ __s
+ ;
+ 
+ 1138 ià(
+ __»tv®
+  !ð
+ NULL
+  && (*
+ __s
+  = 
+ 	`¡rchr
+  (__»tv®, 
+ __»jeù
+ )) != NULL)
+ 
+ 1139 *(*
+ __s
+ )++ = '\0';
+ 
+ 1140  
+ __»tv®
+ ;
+ 
+ 1141 
+ 	}
+ }
+ 
+ 1143 
+ __STRING_INLINE
+  *
+ __¡r£p_2c
+  (**
+ __s
+ , 
+ __»jeù1
+ , 
+ __»jeù2
+ );
+ 
+ 1144 
+ __STRING_INLINE
+  *
+ 
+ 1145 
+ 	$__¡r£p_2c
+  (**
+ __s
+ , 
+ __»jeù1
+ , 
+ __»jeù2
+ )
+ 
+ 1147 *
+ __»tv®
+  = *
+ __s
+ ;
+ 
+ 1148 ià(
+ __»tv®
+  !ð
+ NULL
+ )
+ 
+ 1150 *
+ __ý
+  = 
+ __»tv®
+ ;
+ 
+ 1153 ià(*
+ __ý
+  == '\0')
+ 
+ 1155 
+ __ý
+  = 
+ NULL
+ ;
+ 
+ 1158 ià(*
+ __ý
+  =ð
+ __»jeù1
+  || *__ý =ð
+ __»jeù2
+ )
+ 
+ 1160 *
+ __ý
+ ++ = '\0';
+ 
+ 1163 ++
+ __ý
+ ;
+ 
+ 1165 *
+ __s
+  = 
+ __ý
+ ;
+ 
+ 1167  
+ __»tv®
+ ;
+ 
+ 1168 
+ 	}
+ }
+ 
+ 1170 
+ __STRING_INLINE
+  *
+ __¡r£p_3c
+  (**
+ __s
+ , 
+ __»jeù1
+ , 
+ __»jeù2
+ ,
+ 
+ 1171 
+ __»jeù3
+ );
+ 
+ 1172 
+ __STRING_INLINE
+  *
+ 
+ 1173 
+ 	$__¡r£p_3c
+  (**
+ __s
+ , 
+ __»jeù1
+ , 
+ __»jeù2
+ , 
+ __»jeù3
+ )
+ 
+ 1175 *
+ __»tv®
+  = *
+ __s
+ ;
+ 
+ 1176 ià(
+ __»tv®
+  !ð
+ NULL
+ )
+ 
+ 1178 *
+ __ý
+  = 
+ __»tv®
+ ;
+ 
+ 1181 ià(*
+ __ý
+  == '\0')
+ 
+ 1183 
+ __ý
+  = 
+ NULL
+ ;
+ 
+ 1186 ià(*
+ __ý
+  =ð
+ __»jeù1
+  || *__ý =ð
+ __»jeù2
+  || *__ý =ð
+ __»jeù3
+ )
+ 
+ 1188 *
+ __ý
+ ++ = '\0';
+ 
+ 1191 ++
+ __ý
+ ;
+ 
+ 1193 *
+ __s
+  = 
+ __ý
+ ;
+ 
+ 1195  
+ __»tv®
+ ;
+ 
+ 1196 
+ 	}
+ }
+ 
+ 1197 #ifdeà
+ __USE_BSD
+ 
+ 
+ 1198 
+ 	#¡r£p
+ (
+ s
+ , 
+ »jeù
+ è
+ 	`__¡r£p
+  (s,„ejeù)
+ 
+ 	)
+ 
+ 1205 #ifdeà
+ __USE_MISC
+ 
+ 
+ 1207 #ià!
+ defšed
+  
+ _HAVE_STRING_ARCH_¡rdup
+  || !defšed 
+ _HAVE_STRING_ARCH_¡ºdup
+ 
+ 
+ 1208 
+ 	#__Ãed_m®loc_ªd_ÿÎoc
+ 
+ 
+ 	)
+ 
+ 1209 
+ 	~<¡dlib.h
+ >
+ 
+ 1212 #iâdeà
+ _HAVE_STRING_ARCH_¡rdup
+ 
+ 
+ 1214 
*
+ 	$__¡rdup
+  (
+ __cڡ
+  *
+ __¡ršg
+ è
+ __THROW
+  
+ __©Œibu‹_m®loc__
+ ;
+ 
+ 1215 
+ 	#__¡rdup
+ (
+ s
+ ) \
+ 
+ 1216 (
+ 	`__ex‹nsiÚ__
+  (
+ 	`__bužtš_cÚ¡ªt_p
+  (
+ s
+ è&& 
+ 	`__¡ršg2_1b±r_p
+  (s) \
+ 
+ 1217 ? (((
+ __cڡ
+  *è(
+ s
+ ))[0] == '\0' \
+ 
+ 1218 ? (*è
+ 	`ÿÎoc
+  (1, 1) \
+ 
+ 1219 : ({ 
+ size_t
+  
+ __Ën
+  = 
+ 	`¡¾’
+  (
+ s
+ ) + 1; \
+ 
+ 1220 *
+ __»tv®
+  = (*è
+ 	`m®loc
+  (
+ __Ën
+ ); \
+ 
+ 1221 ià(
+ __»tv®
+  !ð
+ NULL
+ ) \
+ 
+ 1222 
+ __»tv®
+  = (*è
+ 	`memýy
+  (__»tv®, 
+ s
+ , 
+ __Ën
+ ); \
+ 
+ 1223 
+ __»tv®
+ ; 
+ 	}
+ })) \
+ 
+ 1224 : 
+ 	`__¡rdup
+  (
+ s
+ )))
+ 
+ 	)
+ 
+ 1226 #ià
+ defšed
+  
+ __USE_SVID
+  || defšed 
+ __USE_BSD
+  || defšed 
+ __USE_XOPEN_EXTENDED
+ 
+ 
+ 1227 
+ 	#¡rdup
+ (
+ s
+ è
+ 	`__¡rdup
+  (s)
+ 
+ 	)
+ 
+ 1231 #iâdeà
+ _HAVE_STRING_ARCH_¡ºdup
+ 
+ 
+ 1233 
*
+ 	$__¡ºdup
+  (
+ __cڡ
+  *
+ __¡ršg
+ , 
+ size_t
+  
+ __n
+ )
+ 
+ 1234 
+ __THROW
+  
+ __©Œibu‹_m®loc__
+ ;
+ 
+ 1235 
+ 	#__¡ºdup
+ (
+ s
+ , 
+ n
+ ) \
+ 
+ 1236 (
+ 	`__ex‹nsiÚ__
+  (
+ 	`__bužtš_cÚ¡ªt_p
+  (
+ s
+ è&& 
+ 	`__¡ršg2_1b±r_p
+  (s) \
+ 
+ 1237 ? (((
+ __cڡ
+  *è(
+ s
+ ))[0] == '\0' \
+ 
+ 1238 ? (*è
+ 	`ÿÎoc
+  (1, 1) \
+ 
+ 1239 : ({ 
+ size_t
+  
+ __Ën
+  = 
+ 	`¡¾’
+  (
+ s
+ ) + 1; \
+ 
+ 1240 
+ size_t
+  
+ __n
+  = (
+ n
+ ); \
+ 
+ 1241 *
+ __»tv®
+ ; \
+ 
+ 1242 ià(
+ __n
+  < 
+ __Ën
+ ) \
+ 
+ 1243 
+ __Ën
+  = 
+ __n
+  + 1; \
+ 
+ 1244 
+ __»tv®
+  = (*è
+ 	`m®loc
+  (
+ __Ën
+ ); \
+ 
+ 1245 ià(
+ __»tv®
+  !ð
+ NULL
+ ) \
+ 
+ 1247 
+ __»tv®
+ [
+ __Ën
+  - 1] = '\0'; \
+ 
+ 1248 
+ __»tv®
+  = (*è
+ 	`memýy
+  (__»tv®, 
+ s
+ , \
+ 
+ 1249 
+ __Ën
+  - 1); \
+ 
+ 1251 
+ __»tv®
+ ; 
+ 	}
+ })) \
+ 
+ 1252 : 
+ 	`__¡ºdup
+  (
+ s
+ , 
+ n
+ )))
+ 
+ 	)
+ 
+ 1254 #ifdeà
+ __USE_GNU
+ 
+ 
+ 1255 
+ 	#¡ºdup
+ (
+ s
+ , 
+ n
+ è
+ 	`__¡ºdup
+  (s,‚)
+ 
+ 	)
+ 
+ 1261 #iâdeà
+ _FORCE_INLINES
+ 
+ 
+ 1262 #undeà
+ __STRING_INLINE
+ 
+ 
+ 	@/usr/include/bits/time.h
+ 
+ 24 #iâdeà
+ __Ãed_timev®
+ 
+ 
+ 25 #iâdeà
+ _BITS_TIME_H
+ 
+ 
+ 26 
+ 	#_BITS_TIME_H
+  1
+ 
+ 	)
+ 
+ 34 
+ 	#CLOCKS_PER_SEC
+  1000000l
+ 
+ 	)
+ 
+ 36 #ià!
+ defšed
+  
+ __STRICT_ANSI__
+  && !defšed 
+ __USE_XOPEN2K
+ 
+ 
+ 39 
+ 	~<b™s/ty³s.h
+ >
+ 
+ 40 

+ __syscÚf
+  ();
+ 
+ 41 
+ 	#CLK_TCK
+  ((
+ __þock_t
+ è
+ 	`__syscÚf
+  (2)è
+ 
+ 	)
+ 
+ 44 #ifdeà
+ __USE_POSIX199309
+ 
+ 
+ 46 
+ 	#CLOCK_REALTIME
+  0
+ 
+ 	)
+ 
+ 48 
+ 	#CLOCK_PROCESS_CPUTIME_ID
+  2
+ 
+ 	)
+ 
+ 50 
+ 	#CLOCK_THREAD_CPUTIME_ID
+  3
+ 
+ 	)
+ 
+ 53 
+ 	#TIMER_ABSTIME
+  1
+ 
+ 	)
+ 
+ 59 #ifdeà
+ __Ãed_timev®
+ 
+ 
+ 60 #undeà
+ __Ãed_timev®
+ 
+ 
+ 61 #iâdeà
+ _STRUCT_TIMEVAL
+ 
+ 
+ 62 
+ 	#_STRUCT_TIMEVAL
+  1
+ 
+ 	)
+ 
+ 63 
+ 	~<b™s/ty³s.h
+ >
+ 
+ 67 
+ 	stimev®
+ 
+ 
+ 69 
+ __time_t
+  
+ 	mtv_£c
+ ;
+ 
+ 70 
+ __su£cÚds_t
+  
+ 	mtv_u£c
+ ;
+ 
+ 	@/usr/include/bits/types.h
+ 
+ 23 #iâdef 
+ _BITS_TYPES_H
+ 
+ 
+ 24 
+ 	#_BITS_TYPES_H
+  1
+ 
+ 	)
+ 
+ 26 
+ 	~<ã©u»s.h
+ >
+ 
+ 28 
+ 	#__Ãed_size_t
+ 
+ 
+ 	)
+ 
+ 29 
+ 	~<¡ddef.h
+ >
+ 
+ 32 
+ 	t__u_ch¬
+ ;
+ 
+ 33 
+ 	t__u_shÜt
+ ;
+ 
+ 34 
+ 	t__u_št
+ ;
+ 
+ 35 
+ 	t__u_lÚg
+ ;
+ 
+ 36 #ifdeà
+ __GLIBC_HAVE_LONG_LONG
+ 
+ 
+ 37 
+ __ex‹nsiÚ__
+  
+ 	t__u_quad_t
+ ;
+ 
+ 38 
+ __ex‹nsiÚ__
+  
+ 	t__quad_t
+ ;
+ 
+ 42 
+ 	m__v®
+ [2];
+ 
+ 43 } 
+ 	t__quad_t
+ ;
+ 
+ 46 
+ __u_lÚg
+  
+ 	m__v®
+ [2];
+ 
+ 47 } 
+ 	t__u_quad_t
+ ;
+ 
+ 49 sigÃd 
+ 	t__št8_t
+ ;
+ 
+ 50 
+ 	t__ušt8_t
+ ;
+ 
+ 51 sigÃd 
+ 	t__št16_t
+ ;
+ 
+ 52 
+ 	t__ušt16_t
+ ;
+ 
+ 53 sigÃd 
+ 	t__št32_t
+ ;
+ 
+ 54 
+ 	t__ušt32_t
+ ;
+ 
+ 55 #ifdeà
+ __GLIBC_HAVE_LONG_LONG
+ 
+ 
+ 56 
+ __ex‹nsiÚ__
+  sigÃd 
+ 	t__št64_t
+ ;
+ 
+ 57 
+ __ex‹nsiÚ__
+  
+ 	t__ušt64_t
+ ;
+ 
+ 59 
+ __quad_t
+  *
+ 	t__qaddr_t
+ ;
+ 
+ 61 
+ __u_quad_t
+  
+ 	t__dev_t
+ ;
+ 
+ 62 
+ __u_št
+  
+ 	t__uid_t
+ ;
+ 
+ 63 
+ __u_št
+  
+ 	t__gid_t
+ ;
+ 
+ 64 
+ __u_lÚg
+  
+ 	t__šo_t
+ ;
+ 
+ 65 
+ __u_št
+  
+ 	t__mode_t
+ ;
+ 
+ 66 
+ __u_št
+  
+ 	t__ƚk_t
+ ;
+ 
+ 67 
+ 	t__off_t
+ ;
+ 
+ 68 
+ __quad_t
+  
+ 	t__loff_t
+ ;
+ 
+ 69 
+ 	t__pid_t
+ ;
+ 
+ 70 
+ 	t__ssize_t
+ ;
+ 
+ 71 
+ __u_lÚg
+  
+ 	t__¾im_t
+ ;
+ 
+ 72 
+ __u_quad_t
+  
+ 	t__¾im64_t
+ ;
+ 
+ 73 
+ __u_št
+  
+ 	t__id_t
+ ;
+ 
+ 77 
+ 	m__v®
+ [2];
+ 
+ 78 } 
+ 	t__fsid_t
+ ;
+ 
+ 81 
+ 	t__daddr_t
+ ;
+ 
+ 82 *
+ 	t__ÿddr_t
+ ;
+ 
+ 83 
+ 	t__time_t
+ ;
+ 
+ 84 
+ 	t__u£cÚds_t
+ ;
+ 
+ 85 
+ 	t__su£cÚds_t
+ ;
+ 
+ 86 
+ 	t__swblk_t
+ ;
+ 
+ 88 
+ 	t__þock_t
+ ;
+ 
+ 91 
+ 	t__þockid_t
+ ;
+ 
+ 94 
+ 	t__tim”_t
+ ;
+ 
+ 98 
+ 	#__FD_SETSIZE
+  1024
+ 
+ 	)
+ 
+ 101 
+ 	t__key_t
+ ;
+ 
+ 104 
+ 	t__c_pid_t
+ ;
+ 
+ 108 
+ 	t__blksize_t
+ ;
+ 
+ 113 
+ 	t__blkút_t
+ ;
+ 
+ 114 
+ __quad_t
+  
+ 	t__blkút64_t
+ ;
+ 
+ 117 
+ __u_lÚg
+  
+ 	t__fsblkút_t
+ ;
+ 
+ 118 
+ __u_quad_t
+  
+ 	t__fsblkút64_t
+ ;
+ 
+ 121 
+ __u_lÚg
+  
+ 	t__fsfžút_t
+ ;
+ 
+ 122 
+ __u_quad_t
+  
+ 	t__fsfžút64_t
+ ;
+ 
+ 125 
+ __u_quad_t
+  
+ 	t__šo64_t
+ ;
+ 
+ 128 
+ __loff_t
+  
+ 	t__off64_t
+ ;
+ 
+ 131 
+ 	t__t_sÿÏr_t
+ ;
+ 
+ 132 
+ 	t__t_usÿÏr_t
+ ;
+ 
+ 135 
+ 	t__šŒ_t
+ ;
+ 
+ 138 
+ 	t__sockËn_t
+ ;
+ 
+ 142 #ià
+ defšed
+  
+ __USE_POSIX199506
+  || defšed 
+ __USE_UNIX98
+ 
+ 
+ 143 
+ 	~<b™s/±h»adty³s.h
+ >
+ 
+ 	@/usr/include/bits/waitflags.h
+ 
+ 20 #ià!
+ defšed
+  
+ _SYS_WAIT_H
+  && !defšed 
+ _STDLIB_H
+ 
+ 
+ 26 
+ 	#WNOHANG
+  1
+ 
+ 	)
+ 
+ 27 
+ 	#WUNTRACED
+  2
+ 
+ 	)
+ 
+ 29 
+ 	#__WALL
+  0x40000000
+ 
+ 	)
+ 
+ 30 
+ 	#__WCLONE
+  0x80000000
+ 
+ 	)
+ 
+ 	@/usr/include/bits/waitstatus.h
+ 
+ 20 #ià!
+ defšed
+  
+ _SYS_WAIT_H
+  && !defšed 
+ _STDLIB_H
+ 
+ 
+ 29 
+ 	#__WEXITSTATUS
+ (
+ ¡©us
+ è(((¡©usè& 0xff00è>> 8)
+ 
+ 	)
+ 
+ 32 
+ 	#__WTERMSIG
+ (
+ ¡©us
+ è((¡©usè& 0x7f)
+ 
+ 	)
+ 
+ 35 
+ 	#__WSTOPSIG
+ (
+ ¡©us
+ è
+ 	`__WEXITSTATUS
+ (¡©us)
+ 
+ 	)
+ 
+ 38 
+ 	#__WIFEXITED
+ (
+ ¡©us
+ è(
+ 	`__WTERMSIG
+ (¡©usè=ð0)
+ 
+ 	)
+ 
+ 41 #ifdef 
+ __GNUC__
+ 
+ 
+ 42 
+ 	#__WIFSIGNALED
+ (
+ ¡©us
+ ) \
+ 
+ 43 (
+ 	`__ex‹nsiÚ__
+  ({ 
+ __¡©us
+  = (
+ ¡©us
+ ); \
+ 
+ 44 !
+ 	`__WIFSTOPPED
+ (
+ __¡©us
+ è&& !
+ 	`__WIFEXITED
+ (__¡©us); }))
+ 
+ 	)
+ 
+ 46 
+ 	#__WIFSIGNALED
+ (
+ ¡©us
+ è(!
+ 	`__WIFSTOPPED
+ (¡©usè&& !
+ 	`__WIFEXITED
+ (¡©us))
+ 
+ 	)
+ 
+ 50 
+ 	#__WIFSTOPPED
+ (
+ ¡©us
+ è(((¡©usè& 0xffè=ð0x7f)
+ 
+ 	)
+ 
+ 53 
+ 	#__WCOREDUMP
+ (
+ ¡©us
+ è((¡©usè& 
+ __WCOREFLAG
+ )
+ 
+ 	)
+ 
+ 56 
+ 	#__W_EXITCODE
+ (
+ »t
+ , 
+ sig
+ è(Ô‘è<< 8 | (sig))
+ 
+ 	)
+ 
+ 57 
+ 	#__W_STOPCODE
+ (
+ sig
+ è((sigè<< 8 | 0x7f)
+ 
+ 	)
+ 
+ 58 
+ 	#__WCOREFLAG
+  0x80
+ 
+ 	)
+ 
+ 61 #ifdef 
+ __USE_BSD
+ 
+ 
+ 63 
+ 	~<’dŸn.h
+ >
+ 
+ 65 
+ 	uwa™
+ 
+ 
+ 67 
+ 	mw_¡©us
+ ;
+ 
+ 70 #if 
+ __BYTE_ORDER
+  =ð
+ __LITTLE_ENDIAN
+ 
+ 
+ 71 
+ 	m__w_‹rmsig
+ :7;
+ 
+ 72 
+ 	m__w_cÜedump
+ :1;
+ 
+ 73 
+ 	m__w_»tcode
+ :8;
+ 
+ 76 #if 
+ __BYTE_ORDER
+  =ð
+ __BIG_ENDIAN
+ 
+ 
+ 78 
+ 	m__w_»tcode
+ :8;
+ 
+ 79 
+ 	m__w_cÜedump
+ :1;
+ 
+ 80 
+ 	m__w_‹rmsig
+ :7;
+ 
+ 82 } 
+ 	m__wa™_‹rmš©ed
+ ;
+ 
+ 85 #if 
+ __BYTE_ORDER
+  =ð
+ __LITTLE_ENDIAN
+ 
+ 
+ 86 
+ 	m__w_¡Ýv®
+ :8;
+ 
+ 87 
+ 	m__w_¡Ýsig
+ :8;
+ 
+ 90 #if 
+ __BYTE_ORDER
+  =ð
+ __BIG_ENDIAN
+ 
+ 
+ 92 
+ 	m__w_¡Ýsig
+ :8;
+ 
+ 93 
+ 	m__w_¡Ýv®
+ :8;
+ 
+ 95 } 
+ 	m__wa™_¡Ý³d
+ ;
+ 
+ 98 
+ 	#w_‹rmsig
+  
+ __wa™_‹rmš©ed
+ .
+ __w_‹rmsig
+ 
+ 
+ 	)
+ 
+ 99 
+ 	#w_cÜedump
+  
+ __wa™_‹rmš©ed
+ .
+ __w_cÜedump
+ 
+ 
+ 	)
+ 
+ 100 
+ 	#w_»tcode
+  
+ __wa™_‹rmš©ed
+ .
+ __w_»tcode
+ 
+ 
+ 	)
+ 
+ 101 
+ 	#w_¡Ýsig
+  
+ __wa™_¡Ý³d
+ .
+ __w_¡Ýsig
+ 
+ 
+ 	)
+ 
+ 102 
+ 	#w_¡Ýv®
+  
+ __wa™_¡Ý³d
+ .
+ __w_¡Ýv®
+ 
+ 
+ 	)
+ 
+ 	@/usr/include/endian.h
+ 
+ 19 #iâdef 
+ _ENDIAN_H
+ 
+ 
+ 20 
+ 	#_ENDIAN_H
+  1
+ 
+ 	)
+ 
+ 22 
+ 	~<ã©u»s.h
+ >
+ 
+ 32 
+ 	#__LITTLE_ENDIAN
+  1234
+ 
+ 	)
+ 
+ 33 
+ 	#__BIG_ENDIAN
+  4321
+ 
+ 	)
+ 
+ 34 
+ 	#__PDP_ENDIAN
+  3412
+ 
+ 	)
+ 
+ 37 
+ 	~<b™s/’dŸn.h
+ >
+ 
+ 41 #iâdeà
+ __FLOAT_WORD_ORDER
+ 
+ 
+ 42 
+ 	#__FLOAT_WORD_ORDER
+  
+ __BYTE_ORDER
+ 
+ 
+ 	)
+ 
+ 45 #ifdef 
+ __USE_BSD
+ 
+ 
+ 46 
+ 	#LITTLE_ENDIAN
+  
+ __LITTLE_ENDIAN
+ 
+ 
+ 	)
+ 
+ 47 
+ 	#BIG_ENDIAN
+  
+ __BIG_ENDIAN
+ 
+ 
+ 	)
+ 
+ 48 
+ 	#PDP_ENDIAN
+  
+ __PDP_ENDIAN
+ 
+ 
+ 	)
+ 
+ 49 
+ 	#BYTE_ORDER
+  
+ __BYTE_ORDER
+ 
+ 
+ 	)
+ 
+ 52 #ià
+ __BYTE_ORDER
+  =ð
+ __LITTLE_ENDIAN
+ 
+ 
+ 53 
+ 	#__LONG_LONG_PAIR
+ (
+ HI
+ , 
+ LO
+ èLO, 
+ 	)
+ HI
+ 
+ 54 #–ià
+ __BYTE_ORDER
+  =ð
+ __BIG_ENDIAN
+ 
+ 
+ 55 
+ 	#__LONG_LONG_PAIR
+ (
+ HI
+ , 
+ LO
+ èHI, 
+ 	)
+ LO
+ 
+ 	@/usr/include/features.h
+ 
+ 19 #iâdef 
+ _FEATURES_H
+ 
+ 
+ 20 
+ 	#_FEATURES_H
+  1
+ 
+ 	)
+ 
+ 86 #undeà
+ __USE_ISOC99
+ 
+ 
+ 87 #undeà
+ __USE_POSIX
+ 
+ 
+ 88 #undeà
+ __USE_POSIX2
+ 
+ 
+ 89 #undeà
+ __USE_POSIX199309
+ 
+ 
+ 90 #undeà
+ __USE_POSIX199506
+ 
+ 
+ 91 #undeà
+ __USE_XOPEN
+ 
+ 
+ 92 #undeà
+ __USE_XOPEN_EXTENDED
+ 
+ 
+ 93 #undeà
+ __USE_UNIX98
+ 
+ 
+ 94 #undeà
+ __USE_XOPEN2K
+ 
+ 
+ 95 #undeà
+ __USE_LARGEFILE
+ 
+ 
+ 96 #undeà
+ __USE_LARGEFILE64
+ 
+ 
+ 97 #undeà
+ __USE_FILE_OFFSET64
+ 
+ 
+ 98 #undeà
+ __USE_BSD
+ 
+ 
+ 99 #undeà
+ __USE_SVID
+ 
+ 
+ 100 #undeà
+ __USE_MISC
+ 
+ 
+ 101 #undeà
+ __USE_GNU
+ 
+ 
+ 102 #undeà
+ __USE_REENTRANT
+ 
+ 
+ 103 #undeà
+ __FAVOR_BSD
+ 
+ 
+ 104 #undeà
+ __KERNEL_STRICT_NAMES
+ 
+ 
+ 108 #iâdeà
+ _LOOSE_KERNEL_NAMES
+ 
+ 
+ 109 
+ 	#__KERNEL_STRICT_NAMES
+ 
+ 
+ 	)
+ 
+ 113 
+ 	#__USE_ANSI
+  1
+ 
+ 	)
+ 
+ 117 #ià
+ defšed
+  
+ _BSD_SOURCE
+  && \
+ 
+ 118 !(
+ defšed
+  
+ 	g_POSIX_SOURCE
+  || defšed 
+ 	g_POSIX_C_SOURCE
+  || \
+ 
+ 119 
+ defšed
+  
+ 	g_XOPEN_SOURCE
+  || defšed 
+ 	g_XOPEN_SOURCE_EXTENDED
+  || \
+ 
+ 120 
+ defšed
+  
+ 	g_GNU_SOURCE
+  || defšed 
+ 	g_SVID_SOURCE
+ )
+ 
+ 121 
+ 	#__FAVOR_BSD
+  1
+ 
+ 	)
+ 
+ 125 #ifdeà
+ _GNU_SOURCE
+ 
+ 
+ 126 #undeà
+ _ISOC99_SOURCE
+ 
+ 
+ 127 
+ 	#_ISOC99_SOURCE
+  1
+ 
+ 	)
+ 
+ 128 #undeà
+ _POSIX_SOURCE
+ 
+ 
+ 129 
+ 	#_POSIX_SOURCE
+  1
+ 
+ 	)
+ 
+ 130 #undeà
+ _POSIX_C_SOURCE
+ 
+ 
+ 131 
+ 	#_POSIX_C_SOURCE
+  199506L
+ 
+ 	)
+ 
+ 132 #undeà
+ _XOPEN_SOURCE
+ 
+ 
+ 133 
+ 	#_XOPEN_SOURCE
+  600
+ 
+ 	)
+ 
+ 134 #undeà
+ _XOPEN_SOURCE_EXTENDED
+ 
+ 
+ 135 
+ 	#_XOPEN_SOURCE_EXTENDED
+  1
+ 
+ 	)
+ 
+ 136 #undeà
+ _LARGEFILE64_SOURCE
+ 
+ 
+ 137 
+ 	#_LARGEFILE64_SOURCE
+  1
+ 
+ 	)
+ 
+ 138 #undeà
+ _BSD_SOURCE
+ 
+ 
+ 139 
+ 	#_BSD_SOURCE
+  1
+ 
+ 	)
+ 
+ 140 #undeà
+ _SVID_SOURCE
+ 
+ 
+ 141 
+ 	#_SVID_SOURCE
+  1
+ 
+ 	)
+ 
+ 146 #ià(!
+ defšed
+  
+ __STRICT_ANSI__
+  && !defšed 
+ _ISOC99_SOURCE
+  && \
+ 
+ 147 !
+ defšed
+  
+ 	g_POSIX_SOURCE
+  && !defšed 
+ 	g_POSIX_C_SOURCE
+  && \
+ 
+ 148 !
+ defšed
+  
+ 	g_XOPEN_SOURCE
+  && !defšed 
+ 	g_XOPEN_SOURCE_EXTENDED
+  && \
+ 
+ 149 !
+ defšed
+  
+ 	g_BSD_SOURCE
+  && !defšed 
+ 	g_SVID_SOURCE
+ )
+ 
+ 150 
+ 	#_BSD_SOURCE
+  1
+ 
+ 	)
+ 
+ 151 
+ 	#_SVID_SOURCE
+  1
+ 
+ 	)
+ 
+ 158 #ià(
+ defšed
+  
+ _ISOC99_SOURCE
+  || defšed 
+ _ISOC9X_SOURCE
+  \
+ 
+ 159 || (
+ defšed
+  
+ 	g__STDC_VERSION__
+  && __STDC_VERSION__ >= 199901L))
+ 
+ 160 
+ 	#__USE_ISOC99
+  1
+ 
+ 	)
+ 
+ 165 #ià(!
+ defšed
+  
+ __STRICT_ANSI__
+  && !defšed 
+ _POSIX_SOURCE
+  && \
+ 
+ 166 !
+ defšed
+  
+ _POSIX_C_SOURCE
+ )
+ 
+ 167 
+ 	#_POSIX_SOURCE
+  1
+ 
+ 	)
+ 
+ 168 #ià
+ defšed
+  
+ _XOPEN_SOURCE
+  && (_XOPEN_SOURCE - 0) < 500
+ 
+ 169 
+ 	#_POSIX_C_SOURCE
+  2
+ 
+ 	)
+ 
+ 171 
+ 	#_POSIX_C_SOURCE
+  199506L
+ 
+ 	)
+ 
+ 175 #ià
+ defšed
+  
+ _POSIX_SOURCE
+  || 
+ _POSIX_C_SOURCE
+  >ð1 || defšed 
+ _XOPEN_SOURCE
+ 
+ 
+ 176 
+ 	#__USE_POSIX
+  1
+ 
+ 	)
+ 
+ 179 #ià
+ defšed
+  
+ _POSIX_C_SOURCE
+  && _POSIX_C_SOURCE >ð2 || defšed 
+ _XOPEN_SOURCE
+ 
+ 
+ 180 
+ 	#__USE_POSIX2
+  1
+ 
+ 	)
+ 
+ 183 #ià(
+ _POSIX_C_SOURCE
+  - 0) >= 199309L
+ 
+ 184 
+ 	#__USE_POSIX199309
+  1
+ 
+ 	)
+ 
+ 187 #ià(
+ _POSIX_C_SOURCE
+  - 0) >= 199506L
+ 
+ 188 
+ 	#__USE_POSIX199506
+  1
+ 
+ 	)
+ 
+ 191 #ifdef 
+ _XOPEN_SOURCE
+ 
+ 
+ 192 
+ 	#__USE_XOPEN
+  1
+ 
+ 	)
+ 
+ 193 #ià(
+ _XOPEN_SOURCE
+  - 0) >= 500
+ 
+ 194 
+ 	#__USE_XOPEN_EXTENDED
+  1
+ 
+ 	)
+ 
+ 195 
+ 	#__USE_UNIX98
+  1
+ 
+ 	)
+ 
+ 196 #undeà
+ _LARGEFILE_SOURCE
+ 
+ 
+ 197 
+ 	#_LARGEFILE_SOURCE
+  1
+ 
+ 	)
+ 
+ 198 #ià(
+ _XOPEN_SOURCE
+  - 0) >= 600
+ 
+ 199 
+ 	#__USE_XOPEN2K
+  1
+ 
+ 	)
+ 
+ 200 #undeà
+ __USE_ISOC99
+ 
+ 
+ 201 
+ 	#__USE_ISOC99
+  1
+ 
+ 	)
+ 
+ 204 #ifdeà
+ _XOPEN_SOURCE_EXTENDED
+ 
+ 
+ 205 
+ 	#__USE_XOPEN_EXTENDED
+  1
+ 
+ 	)
+ 
+ 210 #ifdeà
+ _LARGEFILE_SOURCE
+ 
+ 
+ 211 
+ 	#__USE_LARGEFILE
+  1
+ 
+ 	)
+ 
+ 214 #ifdeà
+ _LARGEFILE64_SOURCE
+ 
+ 
+ 215 
+ 	#__USE_LARGEFILE64
+  1
+ 
+ 	)
+ 
+ 218 #ià
+ defšed
+  
+ _FILE_OFFSET_BITS
+  && _FILE_OFFSET_BITS == 64
+ 
+ 219 
+ 	#__USE_FILE_OFFSET64
+  1
+ 
+ 	)
+ 
+ 222 #ià
+ defšed
+  
+ _BSD_SOURCE
+  || defšed 
+ _SVID_SOURCE
+ 
+ 
+ 223 
+ 	#__USE_MISC
+  1
+ 
+ 	)
+ 
+ 226 #ifdef 
+ _BSD_SOURCE
+ 
+ 
+ 227 
+ 	#__USE_BSD
+  1
+ 
+ 	)
+ 
+ 230 #ifdef 
+ _SVID_SOURCE
+ 
+ 
+ 231 
+ 	#__USE_SVID
+  1
+ 
+ 	)
+ 
+ 234 #ifdef 
+ _GNU_SOURCE
+ 
+ 
+ 235 
+ 	#__USE_GNU
+  1
+ 
+ 	)
+ 
+ 238 #ià
+ defšed
+  
+ _REENTRANT
+  || defšed 
+ _THREAD_SAFE
+ 
+ 
+ 239 
+ 	#__USE_REENTRANT
+  1
+ 
+ 	)
+ 
+ 243 
+ 	#__STDC_IEC_559__
+  1
+ 
+ 	)
+ 
+ 244 
+ 	#__STDC_IEC_559_COMPLEX__
+  1
+ 
+ 	)
+ 
+ 247 
+ 	#__STDC_ISO_10646__
+  200009L
+ 
+ 	)
+ 
+ 255 #undeà
+ __GNU_LIBRARY__
+ 
+ 
+ 256 
+ 	#__GNU_LIBRARY__
+  6
+ 
+ 	)
+ 
+ 260 
+ 	#__GLIBC__
+  2
+ 
+ 	)
+ 
+ 261 
+ 	#__GLIBC_MINOR__
+  2
+ 
+ 	)
+ 
+ 270 #ià
+ defšed
+  
+ __GNUC__
+  && defšed 
+ __GNUC_MINOR__
+ 
+ 
+ 271 
+ 	#__GNUC_PREREQ
+ (
+ maj
+ , 
+ mš
+ ) \
+ 
+ 272 ((
+ __GNUC__
+  << 16è+ 
+ __GNUC_MINOR__
+  >ð((
+ maj
+ è<< 16è+ (
+ mš
+ ))
+ 
+ 	)
+ 
+ 274 
+ 	#__GNUC_PREREQ
+ (
+ maj
+ , 
+ mš
+ è0
+ 
+ 	)
+ 
+ 277 
+ 	#__GLIBC_PREREQ
+ (
+ maj
+ , 
+ mš
+ ) \
+ 
+ 278 ((
+ __GLIBC__
+  << 16è+ 
+ __GLIBC_MINOR__
+  >ð((
+ maj
+ è<< 16è+ (
+ mš
+ ))
+ 
+ 	)
+ 
+ 281 #ià
+ defšed
+  
+ __GNUC__
+  \
+ 
+ 282 || (
+ defšed
+  
+ 	g__PGI
+  && defšed 
+ 	g__i386__
+  ) \
+ 
+ 283 || (
+ defšed
+  
+ 	g__INTEL_COMPILER
+  && (defšed 
+ 	g__i386__
+  || defšed 
+ 	g__Ÿ64__
+ )) \
+ 
+ 284 || (
+ defšed
+  
+ 	g__STDC_VERSION
+  && __STDC_VERSION >= 199901L)
+ 
+ 285 
+ 	#__GLIBC_HAVE_LONG_LONG
+  1
+ 
+ 	)
+ 
+ 289 #iâdeà
+ __ASSEMBLER__
+ 
+ 
+ 290 #iâdeà
+ _SYS_CDEFS_H
+ 
+ 
+ 291 
+ 	~<sys/cdefs.h
+ >
+ 
+ 296 #ià
+ defšed
+  
+ __USE_FILE_OFFSET64
+  && !defšed 
+ __REDIRECT
+ 
+ 
+ 297 
+ 	#__USE_LARGEFILE
+  1
+ 
+ 	)
+ 
+ 298 
+ 	#__USE_LARGEFILE64
+  1
+ 
+ 	)
+ 
+ 304 #ià
+ __GNUC_PREREQ
+  (2, 7è&& 
+ defšed
+  
+ __OPTIMIZE__
+  \
+ 
+ 305 && !
+ defšed
+  
+ 	g__OPTIMIZE_SIZE__
+  && !defšed 
+ 	g__NO_INLINE__
+ 
+ 
+ 306 
+ 	#__USE_EXTERN_INLINES
+  1
+ 
+ 	)
+ 
+ 310 #iâdeà
+ _LIBC
+ 
+ 
+ 320 
+ 	~<gnu/¡ubs.h
+ >
+ 
+ 	@/usr/include/getopt.h
+ 
+ 20 #iâdeà
+ _GETOPT_H
+ 
+ 
+ 22 #iâdeà
+ __Ãed_g‘Ýt
+ 
+ 
+ 23 
+ 	#_GETOPT_H
+  1
+ 
+ 	)
+ 
+ 33 #ià!
+ defšed
+  
+ __GNU_LIBRARY__
+ 
+ 
+ 34 
+ 	~<ùy³.h
+ >
+ 
+ 37 #ifdef 
+ __ýlu¥lus
+ 
+ 
+ 47 
*
+ ݏrg
+ ;
+ 
+ 61 

+ Ýtšd
+ ;
+ 
+ 66 

+ Ý‹¼
+ ;
+ 
+ 70 

+ ÝtÝt
+ ;
+ 
+ 72 #iâdeà
+ __Ãed_g‘Ýt
+ 
+ 
+ 94 
+ 	sÝtiÚ
+ 
+ 
+ 96 #ià(
+ defšed
+  
+ __STDC__
+  && __STDC__è|| defšed 
+ __ýlu¥lus
+ 
+ 
+ 97 cڡ *
+ 	gÇme
+ ;
+ 
+ 99 *
+ 	gÇme
+ ;
+ 
+ 103 
+ 	ghas_¬g
+ ;
+ 
+ 104 *
+ 	gæag
+ ;
+ 
+ 105 
+ 	gv®
+ ;
+ 
+ 110 
+ 	#no_¬gum’t
+  0
+ 
+ 	)
+ 
+ 111 
+ 	#»quœed_¬gum’t
+  1
+ 
+ 	)
+ 
+ 112 
+ 	#ÝtiÚ®_¬gum’t
+  2
+ 
+ 	)
+ 
+ 140 #ià(
+ defšed
+  
+ __STDC__
+  && __STDC__è|| defšed 
+ __ýlu¥lus
+ 
+ 
+ 141 #ifdeà
+ __GNU_LIBRARY__
+ 
+ 
+ 145 

+ g‘Ýt
+  (
+ ___¬gc
+ , *cڡ *
+ ___¬gv
+ , cڡ *
+ __shÜtÝts
+ );
+ 
+ 147 

+ g‘Ýt
+  ();
+ 
+ 150 #iâdeà
+ __Ãed_g‘Ýt
+ 
+ 
+ 151 

+ g‘Ýt_lÚg
+  (
+ ___¬gc
+ , *cڡ *
+ ___¬gv
+ ,
+ 
+ 152 cڡ *
+ __shÜtÝts
+ ,
+ 
+ 153 cڡ 
+ ÝtiÚ
+  *
+ __lÚgÝts
+ , *
+ __lÚgšd
+ );
+ 
+ 154 

+ g‘Ýt_lÚg_Úly
+  (
+ ___¬gc
+ , *cڡ *
+ ___¬gv
+ ,
+ 
+ 155 cڡ *
+ __shÜtÝts
+ ,
+ 
+ 156 cڡ 
+ ÝtiÚ
+  *
+ __lÚgÝts
+ , *
+ __lÚgšd
+ );
+ 
+ 159 

+ _g‘Ýt_š‹º®
+  (
+ ___¬gc
+ , *cڡ *
+ ___¬gv
+ ,
+ 
+ 160 cڡ *
+ __shÜtÝts
+ ,
+ 
+ 161 cڡ 
+ ÝtiÚ
+  *
+ __lÚgÝts
+ , *
+ __lÚgšd
+ ,
+ 
+ 162 
+ __lÚg_Úly
+ );
+ 
+ 165 

+ g‘Ýt
+  ();
+ 
+ 166 #iâdeà
+ __Ãed_g‘Ýt
+ 
+ 
+ 167 

+ g‘Ýt_lÚg
+  ();
+ 
+ 168 

+ g‘Ýt_lÚg_Úly
+  ();
+ 
+ 170 

+ _g‘Ýt_š‹º®
+  ();
+ 
+ 174 #ifdef 
+ __ýlu¥lus
+ 
+ 
+ 179 #undeà
+ __Ãed_g‘Ýt
+ 
+ 
+ 	@/usr/include/libio.h
+ 
+ 29 #iâdeà
+ _IO_STDIO_H
+ 
+ 
+ 30 
+ 	#_IO_STDIO_H
+ 
+ 
+ 	)
+ 
+ 32 
+ 	~<_G_cÚfig.h
+ >
+ 
+ 34 
+ 	#_IO_pos_t
+  
+ _G_åos_t
+ 
+ 
+ 	)
+ 
+ 35 
+ 	#_IO_åos_t
+  
+ _G_åos_t
+ 
+ 
+ 	)
+ 
+ 36 
+ 	#_IO_åos64_t
+  
+ _G_åos64_t
+ 
+ 
+ 	)
+ 
+ 37 
+ 	#_IO_size_t
+  
+ _G_size_t
+ 
+ 
+ 	)
+ 
+ 38 
+ 	#_IO_ssize_t
+  
+ _G_ssize_t
+ 
+ 
+ 	)
+ 
+ 39 
+ 	#_IO_off_t
+  
+ _G_off_t
+ 
+ 
+ 	)
+ 
+ 40 
+ 	#_IO_off64_t
+  
+ _G_off64_t
+ 
+ 
+ 	)
+ 
+ 41 
+ 	#_IO_pid_t
+  
+ _G_pid_t
+ 
+ 
+ 	)
+ 
+ 42 
+ 	#_IO_uid_t
+  
+ _G_uid_t
+ 
+ 
+ 	)
+ 
+ 43 
+ 	#_IO_icÚv_t
+  
+ _G_icÚv_t
+ 
+ 
+ 	)
+ 
+ 44 
+ 	#_IO_HAVE_SYS_WAIT
+  
+ _G_HAVE_SYS_WAIT
+ 
+ 
+ 	)
+ 
+ 45 
+ 	#_IO_HAVE_ST_BLKSIZE
+  
+ _G_HAVE_ST_BLKSIZE
+ 
+ 
+ 	)
+ 
+ 46 
+ 	#_IO_BUFSIZ
+  
+ _G_BUFSIZ
+ 
+ 
+ 	)
+ 
+ 47 
+ 	#_IO_va_li¡
+  
+ _G_va_li¡
+ 
+ 
+ 	)
+ 
+ 48 
+ 	#_IO_wšt_t
+  
+ _G_wšt_t
+ 
+ 
+ 	)
+ 
+ 50 #ifdeà
+ _G_NEED_STDARG_H
+ 
+ 
+ 52 
+ 	#__Ãed___va_li¡
+ 
+ 
+ 	)
+ 
+ 53 
+ 	~<¡d¬g.h
+ >
+ 
+ 54 #ifdeà
+ __GNUC_VA_LIST
+ 
+ 
+ 55 #undeà
+ _IO_va_li¡
+ 
+ 
+ 56 
+ 	#_IO_va_li¡
+  
+ __gnuc_va_li¡
+ 
+ 
+ 	)
+ 
+ 60 #iâdeà
+ __P
+ 
+ 
+ 61 #ià
+ _G_HAVE_SYS_CDEFS
+ 
+ 
+ 62 
+ 	~<sys/cdefs.h
+ >
+ 
+ 64 #ifdeà
+ __STDC__
+ 
+ 
+ 65 
+ 	#__P
+ (
+ p
+ è
+ 	)
+ p
+ 
+ 66 
+ 	#__PMT
+ (
+ p
+ è
+ 	)
+ p
+ 
+ 68 
+ 	#__P
+ (
+ p
+ è()
+ 
+ 	)
+ 
+ 69 
+ 	#__PMT
+ (
+ p
+ è()
+ 
+ 	)
+ 
+ 75 #iâdeà
+ _PARAMS
+ 
+ 
+ 76 
+ 	#_PARAMS
+ (
+ ´Ùos
+ è
+ 	`__P
+ ÕrÙos)
+ 
+ 	)
+ 
+ 79 #iâdeà
+ __STDC__
+ 
+ 
+ 81 cڡ
+ 
+ 	)
+ 
+ 84 
+ 	#_IO_UNIFIED_JUMPTABLES
+  1
+ 
+ 	)
+ 
+ 85 #iâdeà
+ _G_HAVE_PRINTF_FP
+ 
+ 
+ 86 
+ 	#_IO_USE_DTOA
+  1
+ 
+ 	)
+ 
+ 89 #iâdeà
+ EOF
+ 
+ 
+ 90 
+ 	#EOF
+  (-1)
+ 
+ 	)
+ 
+ 92 #iâdeà
+ NULL
+ 
+ 
+ 93 #ià
+ defšed
+  
+ __GNUG__
+  && \
+ 
+ 94 (
+ 	g__GNUC__
+  > 2 || (__GNUC__ =ð2 && 
+ __GNUC_MINOR__
+  >= 8))
+ 
+ 95 
+ 	#NULL
+  (
+ __nuÎ
+ )
+ 
+ 	)
+ 
+ 97 #ià!
+ defšed
+ (
+ __ýlu¥lus
+ )
+ 
+ 98 
+ 	#NULL
+  ((*)0)
+ 
+ 	)
+ 
+ 100 
+ 	#NULL
+  (0)
+ 
+ 	)
+ 
+ 105 
+ 	#_IOS_INPUT
+  1
+ 
+ 	)
+ 
+ 106 
+ 	#_IOS_OUTPUT
+  2
+ 
+ 	)
+ 
+ 107 
+ 	#_IOS_ATEND
+  4
+ 
+ 	)
+ 
+ 108 
+ 	#_IOS_APPEND
+  8
+ 
+ 	)
+ 
+ 109 
+ 	#_IOS_TRUNC
+  16
+ 
+ 	)
+ 
+ 110 
+ 	#_IOS_NOCREATE
+  32
+ 
+ 	)
+ 
+ 111 
+ 	#_IOS_NOREPLACE
+  64
+ 
+ 	)
+ 
+ 112 
+ 	#_IOS_BIN
+  128
+ 
+ 	)
+ 
+ 120 
+ 	#_IO_MAGIC
+  0xFBAD0000
+ 
+ 	)
+ 
+ 121 
+ 	#_OLD_STDIO_MAGIC
+  0xFABC0000
+ 
+ 	)
+ 
+ 122 
+ 	#_IO_MAGIC_MASK
+  0xFFFF0000
+ 
+ 	)
+ 
+ 123 
+ 	#_IO_USER_BUF
+  1
+ 
+ 	)
+ 
+ 124 
+ 	#_IO_UNBUFFERED
+  2
+ 
+ 	)
+ 
+ 125 
+ 	#_IO_NO_READS
+  4
+ 
+ 	)
+ 
+ 126 
+ 	#_IO_NO_WRITES
+  8
+ 
+ 	)
+ 
+ 127 
+ 	#_IO_EOF_SEEN
+  0x10
+ 
+ 	)
+ 
+ 128 
+ 	#_IO_ERR_SEEN
+  0x20
+ 
+ 	)
+ 
+ 129 
+ 	#_IO_DELETE_DONT_CLOSE
+  0x40
+ 
+ 	)
+ 
+ 130 
+ 	#_IO_LINKED
+  0x80
+ 
+ 	)
+ 
+ 131 
+ 	#_IO_IN_BACKUP
+  0x100
+ 
+ 	)
+ 
+ 132 
+ 	#_IO_LINE_BUF
+  0x200
+ 
+ 	)
+ 
+ 133 
+ 	#_IO_TIED_PUT_GET
+  0x400
+ 
+ 	)
+ 
+ 134 
+ 	#_IO_CURRENTLY_PUTTING
+  0x800
+ 
+ 	)
+ 
+ 135 
+ 	#_IO_IS_APPENDING
+  0x1000
+ 
+ 	)
+ 
+ 136 
+ 	#_IO_IS_FILEBUF
+  0x2000
+ 
+ 	)
+ 
+ 137 
+ 	#_IO_BAD_SEEN
+  0x4000
+ 
+ 	)
+ 
+ 138 
+ 	#_IO_USER_LOCK
+  0x8000
+ 
+ 	)
+ 
+ 141 
+ 	#_IO_SKIPWS
+  01
+ 
+ 	)
+ 
+ 142 
+ 	#_IO_LEFT
+  02
+ 
+ 	)
+ 
+ 143 
+ 	#_IO_RIGHT
+  04
+ 
+ 	)
+ 
+ 144 
+ 	#_IO_INTERNAL
+  010
+ 
+ 	)
+ 
+ 145 
+ 	#_IO_DEC
+  020
+ 
+ 	)
+ 
+ 146 
+ 	#_IO_OCT
+  040
+ 
+ 	)
+ 
+ 147 
+ 	#_IO_HEX
+  0100
+ 
+ 	)
+ 
+ 148 
+ 	#_IO_SHOWBASE
+  0200
+ 
+ 	)
+ 
+ 149 
+ 	#_IO_SHOWPOINT
+  0400
+ 
+ 	)
+ 
+ 150 
+ 	#_IO_UPPERCASE
+  01000
+ 
+ 	)
+ 
+ 151 
+ 	#_IO_SHOWPOS
+  02000
+ 
+ 	)
+ 
+ 152 
+ 	#_IO_SCIENTIFIC
+  04000
+ 
+ 	)
+ 
+ 153 
+ 	#_IO_FIXED
+  010000
+ 
+ 	)
+ 
+ 154 
+ 	#_IO_UNITBUF
+  020000
+ 
+ 	)
+ 
+ 155 
+ 	#_IO_STDIO
+  040000
+ 
+ 	)
+ 
+ 156 
+ 	#_IO_DONT_CLOSE
+  0100000
+ 
+ 	)
+ 
+ 157 
+ 	#_IO_BOOLALPHA
+  0200000
+ 
+ 	)
+ 
+ 160 
+ _IO_jump_t
+ ; 
+ 	g_IO_FILE
+ ;
+ 
+ 163 #ifdeà
+ _IO_MTSAFE_IO
+ 
+ 
+ 164 #ià
+ defšed
+  
+ __GLIBC__
+  && __GLIBC__ >= 2
+ 
+ 165 
+ 	~<b™s/¡dio-lock.h
+ >
+ 
+ 170 
+ 	t_IO_lock_t
+ ;
+ 
+ 176 
+ 	s_IO_m¬k”
+  {
+ 
+ 177 
+ _IO_m¬k”
+  *
+ 	m_Ãxt
+ ;
+ 
+ 178 
+ _IO_FILE
+  *
+ 	m_sbuf
+ ;
+ 
+ 182 
+ 	m_pos
+ ;
+ 
+ 184 
+ £t_¡»ampos
+ (
+ ¡»ampos
+  
+ ¥
+ è{ 
+ 	m_¥os
+  = sp; }
+ 
+ 185 
+ £t_off£t
+ (
+ off£t
+ è{ 
+ 	m_pos
+  = off£t; 
+ 	m_¥os
+  = (
+ ¡»ampos
+ )(-2); }
+ 
+ 186 
+ 	mpublic
+ :
+ 
+ 187 
+ ¡»amm¬k”
+ (
+ ¡»ambuf
+  *
+ sb
+ );
+ 
+ 188 ~
+ ¡»amm¬k”
+ ();
+ 
+ 189 
+ §všg
+ (è{  
+ 	m_¥os
+  == -2; }
+ 
+ 190 
+ d–
+ (
+ ¡»amm¬k”
+ &);
+ 
+ 191 
+ d–
+ ();
+ 
+ 196 
+ 	e__codecvt_»suÉ
+ 
+ 
+ 198 
+ 	m__codecvt_ok
+ ,
+ 
+ 199 
+ 	m__codecvt_·¹Ÿl
+ ,
+ 
+ 200 
+ 	m__codecvt_”rÜ
+ ,
+ 
+ 201 
+ 	m__codecvt_nocÚv
+ 
+ 
+ 204 #ià
+ defšed
+  
+ _LIBC
+  || defšed 
+ _GLIBCPP_USE_WCHAR_T
+ 
+ 
+ 207 
+ 	s_IO_codecvt
+ 
+ 
+ 209 (*
+ 	m__codecvt_de¡r
+ è(
+ 	m_IO_codecvt
+  *);
+ 
+ 210 
+ __codecvt_»suÉ
+  (*
+ __codecvt_do_out
+ è(
+ 	m_IO_codecvt
+  *,
+ 
+ 211 
+ 	m__mb¡©e_t
+  *,
+ 
+ 212 cڡ 
+ 	mwch¬_t
+  *,
+ 
+ 213 cڡ 
+ 	mwch¬_t
+  *,
+ 
+ 214 cڡ 
+ 	mwch¬_t
+  **, *,
+ 
+ 216 
+ __codecvt_»suÉ
+  (*
+ __codecvt_do_unshiá
+ è(
+ 	m_IO_codecvt
+  *,
+ 
+ 217 
+ 	m__mb¡©e_t
+  *, *,
+ 
+ 219 
+ __codecvt_»suÉ
+  (*
+ __codecvt_do_š
+ è(
+ 	m_IO_codecvt
+  *,
+ 
+ 220 
+ 	m__mb¡©e_t
+  *,
+ 
+ 222 cڡ **, 
+ 	mwch¬_t
+  *,
+ 
+ 223 
+ 	mwch¬_t
+  *, wchar_t **);
+ 
+ 224 (*
+ 	m__codecvt_do_’codšg
+ è(
+ 	m_IO_codecvt
+  *);
+ 
+ 225 (*
+ 	m__codecvt_do_®ways_nocÚv
+ è(
+ 	m_IO_codecvt
+  *);
+ 
+ 226 (*
+ 	m__codecvt_do_Ëngth
+ è(
+ 	m_IO_codecvt
+  *, 
+ 	m__mb¡©e_t
+  *,
+ 
+ 227 cڡ *, cڡ *, 
+ 	m_IO_size_t
+ );
+ 
+ 228 (*
+ 	m__codecvt_do_max_Ëngth
+ è(
+ 	m_IO_codecvt
+  *);
+ 
+ 230 
+ _IO_icÚv_t
+  
+ 	m__cd_š
+ ;
+ 
+ 231 
+ _IO_icÚv_t
+  
+ 	m__cd_out
+ ;
+ 
+ 235 
+ 	s_IO_wide_d©a
+ 
+ 
+ 237 
+ wch¬_t
+  *
+ 	m_IO_»ad_±r
+ ;
+ 
+ 238 
+ wch¬_t
+  *
+ 	m_IO_»ad_’d
+ ;
+ 
+ 239 
+ wch¬_t
+  *
+ 	m_IO_»ad_ba£
+ ;
+ 
+ 240 
+ wch¬_t
+  *
+ 	m_IO_wr™e_ba£
+ ;
+ 
+ 241 
+ wch¬_t
+  *
+ 	m_IO_wr™e_±r
+ ;
+ 
+ 242 
+ wch¬_t
+  *
+ 	m_IO_wr™e_’d
+ ;
+ 
+ 243 
+ wch¬_t
+  *
+ 	m_IO_buf_ba£
+ ;
+ 
+ 244 
+ wch¬_t
+  *
+ 	m_IO_buf_’d
+ ;
+ 
+ 246 
+ wch¬_t
+  *
+ 	m_IO_§ve_ba£
+ ;
+ 
+ 247 
+ wch¬_t
+  *
+ 	m_IO_backup_ba£
+ ;
+ 
+ 249 
+ wch¬_t
+  *
+ 	m_IO_§ve_’d
+ ;
+ 
+ 251 
+ __mb¡©e_t
+  
+ 	m_IO_¡©e
+ ;
+ 
+ 252 
+ __mb¡©e_t
+  
+ 	m_IO_Ï¡_¡©e
+ ;
+ 
+ 253 
+ _IO_codecvt
+  
+ 	m_codecvt
+ ;
+ 
+ 255 
+ wch¬_t
+  
+ 	m_shÜtbuf
+ [1];
+ 
+ 257 
+ _IO_jump_t
+  *
+ 	m_wide_vbË
+ ;
+ 
+ 261 
+ 	s_IO_FILE
+  {
+ 
+ 262 
+ 	m_æags
+ ;
+ 
+ 263 
+ 	#_IO_fže_æags
+  
+ _æags
+ 
+ 
+ 	)
+ 
+ 267 * 
+ 	m_IO_»ad_±r
+ ;
+ 
+ 268 * 
+ 	m_IO_»ad_’d
+ ;
+ 
+ 269 * 
+ 	m_IO_»ad_ba£
+ ;
+ 
+ 270 * 
+ 	m_IO_wr™e_ba£
+ ;
+ 
+ 271 * 
+ 	m_IO_wr™e_±r
+ ;
+ 
+ 272 * 
+ 	m_IO_wr™e_’d
+ ;
+ 
+ 273 * 
+ 	m_IO_buf_ba£
+ ;
+ 
+ 274 * 
+ 	m_IO_buf_’d
+ ;
+ 
+ 276 *
+ 	m_IO_§ve_ba£
+ ;
+ 
+ 277 *
+ 	m_IO_backup_ba£
+ ;
+ 
+ 278 *
+ 	m_IO_§ve_’d
+ ;
+ 
+ 280 
+ _IO_m¬k”
+  *
+ 	m_m¬k”s
+ ;
+ 
+ 282 
+ _IO_FILE
+  *
+ 	m_chaš
+ ;
+ 
+ 284 
+ 	m_fž’o
+ ;
+ 
+ 285 
+ 	m_blksize
+ ;
+ 
+ 286 
+ _IO_off_t
+  
+ 	m_Þd_off£t
+ ;
+ 
+ 288 
+ 	#__HAVE_COLUMN
+ 
+ 
+ 	)
+ 
+ 290 
+ 	m_cur_cÞumn
+ ;
+ 
+ 291 sigÃd 
+ 	m_vbË_off£t
+ ;
+ 
+ 292 
+ 	m_shÜtbuf
+ [1];
+ 
+ 296 
+ _IO_lock_t
+  *
+ 	m_lock
+ ;
+ 
+ 297 #ifdeà
+ _IO_USE_OLD_IO_FILE
+ 
+ 
+ 300 
+ 	s_IO_FILE_com¶‘e
+ 
+ 
+ 302 
+ _IO_FILE
+  
+ 	m_fže
+ ;
+ 
+ 304 #ià
+ defšed
+  
+ _G_IO_IO_FILE_VERSION
+  && _G_IO_IO_FILE_VERSION == 0x20001
+ 
+ 305 
+ _IO_off64_t
+  
+ 	m_off£t
+ ;
+ 
+ 306 #ià
+ defšed
+  
+ _LIBC
+  || defšed 
+ _GLIBCPP_USE_WCHAR_T
+ 
+ 
+ 308 
+ _IO_codecvt
+  *
+ 	m_codecvt
+ ;
+ 
+ 309 
+ _IO_wide_d©a
+  *
+ 	m_wide_d©a
+ ;
+ 
+ 311 *
+ 	m__·d1
+ ;
+ 
+ 312 *
+ 	m__·d2
+ ;
+ 
+ 314 
+ 	m_mode
+ ;
+ 
+ 316 
+ 	m_unu£d2
+ [15 *  () - 2 *  (*)];
+ 
+ 320 #iâdeà
+ __ýlu¥lus
+ 
+ 
+ 321 
+ _IO_FILE
+  
+ 	t_IO_FILE
+ ;
+ 
+ 324 
+ 	g_IO_FILE_¶us
+ ;
+ 
+ 326 

+ _IO_FILE_¶us
+  
+ _IO_2_1_¡dš_
+ ;
+ 
+ 327 

+ _IO_FILE_¶us
+  
+ _IO_2_1_¡dout_
+ ;
+ 
+ 328 

+ _IO_FILE_¶us
+  
+ _IO_2_1_¡d”r_
+ ;
+ 
+ 329 #iâdeà
+ _LIBC
+ 
+ 
+ 330 
+ 	#_IO_¡dš
+  ((
+ _IO_FILE
+ *)(&
+ _IO_2_1_¡dš_
+ ))
+ 
+ 	)
+ 
+ 331 
+ 	#_IO_¡dout
+  ((
+ _IO_FILE
+ *)(&
+ _IO_2_1_¡dout_
+ ))
+ 
+ 	)
+ 
+ 332 
+ 	#_IO_¡d”r
+  ((
+ _IO_FILE
+ *)(&
+ _IO_2_1_¡d”r_
+ ))
+ 
+ 	)
+ 
+ 334 
+ _IO_FILE
+  *
+ _IO_¡dš
+  
+ ©Œibu‹_hidd’
+ ;
+ 
+ 335 
+ _IO_FILE
+  *
+ _IO_¡dout
+  
+ ©Œibu‹_hidd’
+ ;
+ 
+ 336 
+ _IO_FILE
+  *
+ _IO_¡d”r
+  
+ ©Œibu‹_hidd’
+ ;
+ 
+ 344 
+ __ssize_t
+  
+ 	t__io_»ad_â
+  (*
+ 	t__cook›
+ , *
+ 	t__buf
+ , 
+ 	tsize_t
+  
+ 	t__nby‹s
+ );
+ 
+ 352 
+ __ssize_t
+  
+ 	t__io_wr™e_â
+  (*
+ 	t__cook›
+ , 
+ 	t__cڡ
+  *
+ 	t__buf
+ ,
+ 
+ 353 
+ 	tsize_t
+  
+ 	t__n
+ );
+ 
+ 361 
+ 	t__io_£ek_â
+  (*
+ 	t__cook›
+ , 
+ 	t_IO_off64_t
+  *
+ 	t__pos
+ , 
+ 	t__w
+ );
+ 
+ 364 
+ 	t__io_þo£_â
+  (*
+ 	t__cook›
+ );
+ 
+ 367 #ifdeà
+ _GNU_SOURCE
+ 
+ 
+ 369 
+ __io_»ad_â
+  
+ 	tcook›_»ad_funùiÚ_t
+ ;
+ 
+ 370 
+ __io_wr™e_â
+  
+ 	tcook›_wr™e_funùiÚ_t
+ ;
+ 
+ 371 
+ __io_£ek_â
+  
+ 	tcook›_£ek_funùiÚ_t
+ ;
+ 
+ 372 
+ __io_þo£_â
+  
+ 	tcook›_þo£_funùiÚ_t
+ ;
+ 
+ 377 
+ __io_»ad_â
+  *
+ 	m»ad
+ ;
+ 
+ 378 
+ __io_wr™e_â
+  *
+ 	mwr™e
+ ;
+ 
+ 379 
+ __io_£ek_â
+  *
+ 	m£ek
+ ;
+ 
+ 380 
+ __io_þo£_â
+  *
+ 	mþo£
+ ;
+ 
+ 381 } 
+ 	t_IO_cook›_io_funùiÚs_t
+ ;
+ 
+ 382 
+ _IO_cook›_io_funùiÚs_t
+  
+ 	tcook›_io_funùiÚs_t
+ ;
+ 
+ 384 
+ 	g_IO_cook›_fže
+ ;
+ 
+ 387 

+ _IO_cook›_š™
+  (
+ _IO_cook›_fže
+  *
+ __cfže
+ , 
+ __»ad_wr™e
+ ,
+ 
+ 388 *
+ __cook›
+ , 
+ _IO_cook›_io_funùiÚs_t
+  
+ __âs
+ );
+ 
+ 392 #ifdeà
+ __ýlu¥lus
+ 
+ 
+ 396 

+ __undӾow
+  (
+ _IO_FILE
+  *è
+ __THROW
+ ;
+ 
+ 397 

+ __uæow
+  (
+ _IO_FILE
+  *è
+ __THROW
+ ;
+ 
+ 398 

+ __ovӾow
+  (
+ _IO_FILE
+  *, è
+ __THROW
+ ;
+ 
+ 399 
+ _IO_wšt_t
+  
+ __wundӾow
+  (
+ _IO_FILE
+  *è
+ __THROW
+ ;
+ 
+ 400 
+ _IO_wšt_t
+  
+ __wuæow
+  (
+ _IO_FILE
+  *è
+ __THROW
+ ;
+ 
+ 401 
+ _IO_wšt_t
+  
+ __wovӾow
+  (
+ _IO_FILE
+  *, _IO_wšt_tè
+ __THROW
+ ;
+ 
+ 403 
+ 	#_IO_g‘c_uÆocked
+ (
+ _å
+ ) \
+ 
+ 404 ((
+ _å
+ )->
+ _IO_»ad_±r
+  >ð(_å)->
+ _IO_»ad_’d
+  ? 
+ 	`__uæow
+  (_fp) \
+ 
+ 405 : *(*è(
+ _å
+ )->
+ _IO_»ad_±r
+ ++)
+ 
+ 	)
+ 
+ 406 
+ 	#_IO_³ekc_uÆocked
+ (
+ _å
+ ) \
+ 
+ 407 ((
+ _å
+ )->
+ _IO_»ad_±r
+  >ð(_å)->
+ _IO_»ad_’d
+  \
+ 
+ 408 && 
+ 	`__undӾow
+  (
+ _å
+ è=ð
+ EOF
+  ? EOF \
+ 
+ 409 : *(*è(
+ _å
+ )->
+ _IO_»ad_±r
+ )
+ 
+ 	)
+ 
+ 410 
+ 	#_IO_putc_uÆocked
+ (
+ _ch
+ , 
+ _å
+ ) \
+ 
+ 411 (((
+ _å
+ )->
+ _IO_wr™e_±r
+  >ð(_å)->
+ _IO_wr™e_’d
+ ) \
+ 
+ 412 ? 
+ 	`__ovӾow
+  (
+ _å
+ , (è(
+ _ch
+ )) \
+ 
+ 413 : (è(*(
+ _å
+ )->
+ _IO_wr™e_±r
+ ++ = (
+ _ch
+ )))
+ 
+ 	)
+ 
+ 415 
+ 	#_IO_g‘wc_uÆocked
+ (
+ _å
+ ) \
+ 
+ 416 ((
+ _å
+ )->
+ _wide_d©a
+ ->
+ _IO_»ad_±r
+  >ð(_å)->_wide_d©a->
+ _IO_»ad_’d
+  \
+ 
+ 417 ? 
+ 	`__wuæow
+  (
+ _å
+ è: (
+ _IO_wšt_t
+ è*(_å)->
+ _wide_d©a
+ ->
+ _IO_»ad_±r
+ ++)
+ 
+ 	)
+ 
+ 418 
+ 	#_IO_putwc_uÆocked
+ (
+ _wch
+ , 
+ _å
+ ) \
+ 
+ 419 ((
+ _å
+ )->
+ _wide_d©a
+ ->
+ _IO_wr™e_±r
+  >ð(_å)->_wide_d©a->
+ _IO_wr™e_’d
+  \
+ 
+ 420 ? 
+ 	`__wovӾow
+  (
+ _å
+ , 
+ _wch
+ ) \
+ 
+ 421 : (
+ _IO_wšt_t
+ è(*(
+ _å
+ )->
+ _wide_d©a
+ ->
+ _IO_wr™e_±r
+ ++ = (
+ _wch
+ )))
+ 
+ 	)
+ 
+ 423 
+ 	#_IO_ãof_uÆocked
+ (
+ __å
+ è(((__å)->
+ _æags
+  & 
+ _IO_EOF_SEEN
+ è!ð0)
+ 
+ 	)
+ 
+ 424 
+ 	#_IO_ã¼Ü_uÆocked
+ (
+ __å
+ è(((__å)->
+ _æags
+  & 
+ _IO_ERR_SEEN
+ è!ð0)
+ 
+ 	)
+ 
+ 426 

+ _IO_g‘c
+  (
+ _IO_FILE
+  *
+ __å
+ è
+ __THROW
+ ;
+ 
+ 427 

+ _IO_putc
+  (
+ __c
+ , 
+ _IO_FILE
+  *
+ __å
+ è
+ __THROW
+ ;
+ 
+ 428 

+ _IO_ãof
+  (
+ _IO_FILE
+  *
+ __å
+ è
+ __THROW
+ ;
+ 
+ 429 

+ _IO_ã¼Ü
+  (
+ _IO_FILE
+  *
+ __å
+ è
+ __THROW
+ ;
+ 
+ 431 

+ _IO_³ekc_locked
+  (
+ _IO_FILE
+  *
+ __å
+ è
+ __THROW
+ ;
+ 
+ 434 
+ 	#_IO_PENDING_OUTPUT_COUNT
+ (
+ _å
+ ) \
+ 
+ 435 ((
+ _å
+ )->
+ _IO_wr™e_±r
+  - (_å)->
+ _IO_wr™e_ba£
+ )
+ 
+ 	)
+ 
+ 437 

+ _IO_æockfže
+  (
+ _IO_FILE
+  *è
+ __THROW
+ ;
+ 
+ 438 

+ _IO_fuÆockfže
+  (
+ _IO_FILE
+  *è
+ __THROW
+ ;
+ 
+ 439 

+ _IO_árylockfže
+  (
+ _IO_FILE
+  *è
+ __THROW
+ ;
+ 
+ 441 #ifdeà
+ _IO_MTSAFE_IO
+ 
+ 
+ 442 
+ 	#_IO_³ekc
+ (
+ _å
+ è
+ 	`_IO_³ekc_locked
+  (_å)
+ 
+ 	)
+ 
+ 443 
+ 	#_IO_æockfže
+ (
+ _å
+ ) \
+ 
+ 444 ià(((
+ _å
+ )->
+ _æags
+  & 
+ _IO_USER_LOCK
+ è=ð0è
+ 	`_IO_æockfže
+  (_å)
+ 
+ 	)
+ 
+ 445 
+ 	#_IO_fuÆockfže
+ (
+ _å
+ ) \
+ 
+ 446 ià(((
+ _å
+ )->
+ _æags
+  & 
+ _IO_USER_LOCK
+ è=ð0è
+ 	`_IO_fuÆockfže
+  (_å)
+ 
+ 	)
+ 
+ 448 
+ 	#_IO_³ekc
+ (
+ _å
+ è
+ 	`_IO_³ekc_uÆocked
+  (_å)
+ 
+ 	)
+ 
+ 449 
+ 	#_IO_æockfže
+ (
+ _å
+ è
+ 
+ 	)
+ 
+ 450 
+ 	#_IO_fuÆockfže
+ (
+ _å
+ è
+ 
+ 	)
+ 
+ 451 
+ 	#_IO_árylockfže
+ (
+ _å
+ è
+ 
+ 	)
+ 
+ 452 
+ 	#_IO_þ—nup_»giÚ_¡¬t
+ (
+ _fù
+ , 
+ _å
+ è
+ 
+ 	)
+ 
+ 453 
+ 	#_IO_þ—nup_»giÚ_’d
+ (
+ _Do™
+ è
+ 
+ 	)
+ 
+ 456 

+ _IO_vfsÿnf
+  (
+ _IO_FILE
+  * 
+ __»¡riù
+ , const * __restrict,
+ 
+ 457 
+ _IO_va_li¡
+ , *
+ __»¡riù
+ è
+ __THROW
+ ;
+ 
+ 458 

+ _IO_vårštf
+  (
+ _IO_FILE
+  *
+ __»¡riù
+ , const *__restrict,
+ 
+ 459 
+ _IO_va_li¡
+ è
+ __THROW
+ ;
+ 
+ 460 
+ _IO_ssize_t
+  
+ _IO_·dn
+  (
+ _IO_FILE
+  *, , _IO_ssize_tè
+ __THROW
+ ;
+ 
+ 461 
+ _IO_size_t
+  
+ _IO_sg‘n
+  (
+ _IO_FILE
+  *, *, _IO_size_tè
+ __THROW
+ ;
+ 
+ 463 
+ _IO_off64_t
+  
+ _IO_£ekoff
+  (
+ _IO_FILE
+  *, _IO_off64_t, , è
+ __THROW
+ ;
+ 
+ 464 
+ _IO_off64_t
+  
+ _IO_£ekpos
+  (
+ _IO_FILE
+  *, _IO_off64_t, è
+ __THROW
+ ;
+ 
+ 466 

+ _IO_ä“_backup_¬—
+  (
+ _IO_FILE
+  *è
+ __THROW
+ ;
+ 
+ 468 #ià
+ defšed
+  
+ _LIBC
+  || defšed 
+ _GLIBCPP_USE_WCHAR_T
+ 
+ 
+ 469 
+ _IO_wšt_t
+  
+ _IO_g‘wc
+  (
+ _IO_FILE
+  *
+ __å
+ è
+ __THROW
+ ;
+ 
+ 470 
+ _IO_wšt_t
+  
+ _IO_putwc
+  (
+ wch¬_t
+  
+ __wc
+ , 
+ _IO_FILE
+  *
+ __å
+ è
+ __THROW
+ ;
+ 
+ 471 

+ _IO_fwide
+  (
+ _IO_FILE
+  *
+ __å
+ , 
+ __mode
+ è
+ __THROW
+ ;
+ 
+ 472 #ià
+ __GNUC__
+  >= 2
+ 
+ 475 #ià
+ defšed
+  
+ _LIBC
+  && defšed 
+ SHARED
+ 
+ 
+ 476 
+ 	~<shlib-com·t.h
+ >
+ 
+ 477 #ià
+ SHLIB_COMPAT
+  (
+ libc
+ , 
+ GLIBC_2_0
+ , 
+ GLIBC_2_1
+ )
+ 
+ 478 
+ 	#_IO_fwide_maybe_šcom·tibË
+  \
+ 
+ 479 (
+ 	`__bužtš_ex³ù
+  (&
+ _IO_¡dš_u£d
+  =ð
+ NULL
+ , 0))
+ 
+ 	)
+ 
+ 480 
cڡ 
+ _IO_¡dš_u£d
+ ;
+ 
+ 481 
+ w—k_ex‹º
+  (
+ _IO_¡dš_u£d
+ );
+ 
+ 484 #iâdeà
+ _IO_fwide_maybe_šcom·tibË
+ 
+ 
+ 485 
+ 	#_IO_fwide_maybe_šcom·tibË
+  (0)
+ 
+ 	)
+ 
+ 489 
+ 	#_IO_fwide
+ (
+ __å
+ , 
+ __mode
+ ) \
+ 
+ 490 ({ 
+ __»suÉ
+  = (
+ __mode
+ ); \
+ 
+ 491 ià(
+ __»suÉ
+  < 0 && ! 
+ _IO_fwide_maybe_šcom·tibË
+ ) \
+ 
+ 493 ià((
+ __å
+ )->
+ _mode
+  == 0) \
+ 
+ 495 (
+ __å
+ )->
+ _mode
+  = -1; \
+ 
+ 496 
+ __»suÉ
+  = (
+ __å
+ )->
+ _mode
+ ; \
+ 
+ 498 ià(
+ 	`__bužtš_cÚ¡ªt_p
+  (
+ __mode
+ ) && (__mode) == 0) \
+ 
+ 499 
+ __»suÉ
+  = (
+ __å
+ )->
+ _mode
+ ; \
+ 
+ 501 
+ __»suÉ
+  = 
+ 	`_IO_fwide
+  (
+ __å
+ , __result); \
+ 
+ 502 
+ __»suÉ
+ ; })
+ 
+ 	)
+ 
+ 505 

+ _IO_vfwsÿnf
+  (
+ _IO_FILE
+  * 
+ __»¡riù
+ , cڡ 
+ wch¬_t
+  * __restrict,
+ 
+ 506 
+ _IO_va_li¡
+ , *
+ __»¡riù
+ è
+ __THROW
+ ;
+ 
+ 507 

+ _IO_vfw´štf
+  (
+ _IO_FILE
+  *
+ __»¡riù
+ , cڡ 
+ wch¬_t
+  *__restrict,
+ 
+ 508 
+ _IO_va_li¡
+ è
+ __THROW
+ ;
+ 
+ 509 
+ _IO_ssize_t
+  
+ _IO_w·dn
+  (
+ _IO_FILE
+  *, 
+ wšt_t
+ , _IO_ssize_tè
+ __THROW
+ ;
+ 
+ 510 

+ _IO_ä“_wbackup_¬—
+  (
+ _IO_FILE
+  *è
+ __THROW
+ ;
+ 
+ 513 #ifdeà
+ __ýlu¥lus
+ 
+ 
+ 	@/usr/include/limits.h
+ 
+ 23 #iâdeà
+ _LIBC_LIMITS_H_
+ 
+ 
+ 24 
+ 	#_LIBC_LIMITS_H_
+  1
+ 
+ 	)
+ 
+ 26 
+ 	~<ã©u»s.h
+ >
+ 
+ 32 
+ 	#MB_LEN_MAX
+  16
+ 
+ 	)
+ 
+ 37 #ià!
+ defšed
+  
+ __GNUC__
+  || __GNUC__ < 2
+ 
+ 42 #iâdeà
+ _LIMITS_H
+ 
+ 
+ 43 
+ 	#_LIMITS_H
+  1
+ 
+ 	)
+ 
+ 45 
+ 	~<b™s/wÜdsize.h
+ >
+ 
+ 54 
+ 	#CHAR_BIT
+  8
+ 
+ 	)
+ 
+ 57 
+ 	#SCHAR_MIN
+  (-128)
+ 
+ 	)
+ 
+ 58 
+ 	#SCHAR_MAX
+  127
+ 
+ 	)
+ 
+ 61 
+ 	#UCHAR_MAX
+  255
+ 
+ 	)
+ 
+ 64 #ifdeà
+ __CHAR_UNSIGNED__
+ 
+ 
+ 65 
+ 	#CHAR_MIN
+  0
+ 
+ 	)
+ 
+ 66 
+ 	#CHAR_MAX
+  
+ UCHAR_MAX
+ 
+ 
+ 	)
+ 
+ 68 
+ 	#CHAR_MIN
+  
+ SCHAR_MIN
+ 
+ 
+ 	)
+ 
+ 69 
+ 	#CHAR_MAX
+  
+ SCHAR_MAX
+ 
+ 
+ 	)
+ 
+ 73 
+ 	#SHRT_MIN
+  (-32768)
+ 
+ 	)
+ 
+ 74 
+ 	#SHRT_MAX
+  32767
+ 
+ 	)
+ 
+ 77 
+ 	#USHRT_MAX
+  65535
+ 
+ 	)
+ 
+ 80 
+ 	#INT_MIN
+  (-
+ INT_MAX
+  - 1)
+ 
+ 	)
+ 
+ 81 
+ 	#INT_MAX
+  2147483647
+ 
+ 	)
+ 
+ 84 
+ 	#UINT_MAX
+  4294967295U
+ 
+ 	)
+ 
+ 87 #ià
+ __WORDSIZE
+  == 64
+ 
+ 88 
+ 	#LONG_MAX
+  9223372036854775807L
+ 
+ 	)
+ 
+ 90 
+ 	#LONG_MAX
+  2147483647L
+ 
+ 	)
+ 
+ 92 
+ 	#LONG_MIN
+  (-
+ LONG_MAX
+  - 1L)
+ 
+ 	)
+ 
+ 95 #ià
+ __WORDSIZE
+  == 64
+ 
+ 96 
+ 	#ULONG_MAX
+  18446744073709551615UL
+ 
+ 	)
+ 
+ 98 
+ 	#ULONG_MAX
+  4294967295UL
+ 
+ 	)
+ 
+ 101 #ifdeà
+ __USE_ISOC99
+ 
+ 
+ 104 
+ 	#LLONG_MAX
+  9223372036854775807LL
+ 
+ 	)
+ 
+ 105 
+ 	#LLONG_MIN
+  (-
+ LLONG_MAX
+  - 1LL)
+ 
+ 	)
+ 
+ 108 
+ 	#ULLONG_MAX
+  18446744073709551615ULL
+ 
+ 	)
+ 
+ 122 #ià
+ defšed
+  
+ __GNUC__
+  && !defšed 
+ _GCC_LIMITS_H_
+ 
+ 
+ 124 #šþude_Ãxˆ<
+ lim™s
+ .
+ h
+ >
+ 
+ 129 #ifdeà
+ __USE_ISOC99
+ 
+ 
+ 130 #iâdeà
+ LLONG_MIN
+ 
+ 
+ 131 
+ 	#LLONG_MIN
+  
+ LONG_LONG_MIN
+ 
+ 
+ 	)
+ 
+ 133 #iâdeà
+ LLONG_MAX
+ 
+ 
+ 134 
+ 	#LLONG_MAX
+  
+ LONG_LONG_MAX
+ 
+ 
+ 	)
+ 
+ 136 #iâdeà
+ ULLONG_MAX
+ 
+ 
+ 137 
+ 	#ULLONG_MAX
+  
+ ULONG_LONG_MAX
+ 
+ 
+ 	)
+ 
+ 142 #ifdef 
+ __USE_POSIX
+ 
+ 
+ 144 
+ 	~<b™s/posix1_lim.h
+ >
+ 
+ 147 #ifdef 
+ __USE_POSIX2
+ 
+ 
+ 148 
+ 	~<b™s/posix2_lim.h
+ >
+ 
+ 151 #ifdef 
+ __USE_XOPEN
+ 
+ 
+ 152 
+ 	~<b™s/xÝ’_lim.h
+ >
+ 
+ 	@/usr/include/linux/limits.h
+ 
+ 1 #iâdeà
+ _LINUX_LIMITS_H
+ 
+ 
+ 2 
+ 	#_LINUX_LIMITS_H
+ 
+ 
+ 	)
+ 
+ 4 
+ 	#NR_OPEN
+  1024
+ 
+ 	)
+ 
+ 6 
+ 	#NGROUPS_MAX
+  32
+ 
+ 	)
+ 
+ 7 
+ 	#ARG_MAX
+  131072
+ 
+ 	)
+ 
+ 8 
+ 	#CHILD_MAX
+  999
+ 
+ 	)
+ 
+ 9 
+ 	#OPEN_MAX
+  256
+ 
+ 	)
+ 
+ 10 
+ 	#LINK_MAX
+  127
+ 
+ 	)
+ 
+ 11 
+ 	#MAX_CANON
+  255
+ 
+ 	)
+ 
+ 12 
+ 	#MAX_INPUT
+  255
+ 
+ 	)
+ 
+ 13 
+ 	#NAME_MAX
+  255
+ 
+ 	)
+ 
+ 14 
+ 	#PATH_MAX
+  4096
+ 
+ 	)
+ 
+ 15 
+ 	#PIPE_BUF
+  4096
+ 
+ 	)
+ 
+ 17 
+ 	#RTSIG_MAX
+  32
+ 
+ 	)
+ 
+ 	@/usr/include/linux/param.h
+ 
+ 1 #iâdeà
+ _LINUX_PARAM_H
+ 
+ 
+ 2 
+ 	#_LINUX_PARAM_H
+ 
+ 
+ 	)
+ 
+ 4 
+ 	~<asm/·¿m.h
+ >
+ 
+ 	@/usr/include/rpc/netdb.h
+ 
+ 36 #iâdeà
+ _RPC_NETDB_H
+ 
+ 
+ 37 
+ 	#_RPC_NETDB_H
+  1
+ 
+ 	)
+ 
+ 39 
+ 	~<ã©u»s.h
+ >
+ 
+ 41 
+ 	#__Ãed_size_t
+ 
+ 
+ 	)
+ 
+ 42 
+ 	~<¡ddef.h
+ >
+ 
+ 44 
+ __BEGIN_DECLS
+ 
+ 
+ 46 
+ 	s½ûÁ
+ 
+ 
+ 48 *
+ 	mr_Çme
+ ;
+ 
+ 49 **
+ 	mr_®Ÿ£s
+ ;
+ 
+ 50 
+ 	mr_numb”
+ ;
+ 
+ 53 

+ 	$£ŒpûÁ
+  (
+ __¡ayÝ’
+ è
+ __THROW
+ ;
+ 
+ 54 

+ 	$’d½ûÁ
+  (è
+ __THROW
+ ;
+ 
+ 55 

+ ½ûÁ
+  *
+ 	$g‘½cbyÇme
+  (
+ __cڡ
+  *
+ __Çme
+ è
+ __THROW
+ ;
+ 
+ 56 

+ ½ûÁ
+  *
+ 	$g‘½cbynumb”
+  (
+ __numb”
+ è
+ __THROW
+ ;
+ 
+ 57 

+ ½ûÁ
+  *
+ 	$g‘½ûÁ
+  (è
+ __THROW
+ ;
+ 
+ 59 #ifdeà
+ __USE_MISC
+ 
+ 
+ 60 

+ 	$g‘½cbyÇme_r
+  (
+ __cڡ
+  *
+ __Çme
+ , 
+ ½ûÁ
+  *
+ __»suÉ_buf
+ ,
+ 
+ 61 *
+ __bufãr
+ , 
+ size_t
+  
+ __buæ’
+ ,
+ 
+ 62 
+ ½ûÁ
+  **
+ __»suÉ
+ è
+ __THROW
+ ;
+ 
+ 64 

+ 	$g‘½cbynumb”_r
+  (
+ __numb”
+ , 
+ ½ûÁ
+  *
+ __»suÉ_buf
+ ,
+ 
+ 65 *
+ __bufãr
+ , 
+ size_t
+  
+ __buæ’
+ ,
+ 
+ 66 
+ ½ûÁ
+  **
+ __»suÉ
+ è
+ __THROW
+ ;
+ 
+ 68 

+ 	$g‘½ûÁ_r
+  (
+ ½ûÁ
+  *
+ __»suÉ_buf
+ , *
+ __bufãr
+ ,
+ 
+ 69 
+ size_t
+  
+ __buæ’
+ , 
+ ½ûÁ
+  **
+ __»suÉ
+ è
+ __THROW
+ ;
+ 
+ 72 
+ __END_DECLS
+ 
+ 
+ 	@/usr/include/stdint.h
+ 
+ 23 #iâdeà
+ _STDINT_H
+ 
+ 
+ 24 
+ 	#_STDINT_H
+  1
+ 
+ 	)
+ 
+ 26 
+ 	~<ã©u»s.h
+ >
+ 
+ 27 
+ 	~<b™s/wch¬.h
+ >
+ 
+ 28 
+ 	~<b™s/wÜdsize.h
+ >
+ 
+ 35 #iâdeà
+ __št8_t_defšed
+ 
+ 
+ 36 
+ 	#__št8_t_defšed
+ 
+ 
+ 	)
+ 
+ 37 sigÃd 
+ 	tšt8_t
+ ;
+ 
+ 38 
+ 	tšt16_t
+ ;
+ 
+ 39 
+ 	tšt32_t
+ ;
+ 
+ 40 #ià
+ __WORDSIZE
+  == 64
+ 
+ 41 
+ 	tšt64_t
+ ;
+ 
+ 43 
+ __ex‹nsiÚ__
+ 
+ 
+ 44 
+ 	tšt64_t
+ ;
+ 
+ 49 
+ 	tušt8_t
+ ;
+ 
+ 50 
+ 	tušt16_t
+ ;
+ 
+ 51 #iâdeà
+ __ušt32_t_defšed
+ 
+ 
+ 52 
+ 	tušt32_t
+ ;
+ 
+ 53 
+ 	#__ušt32_t_defšed
+ 
+ 
+ 	)
+ 
+ 55 #ià
+ __WORDSIZE
+  == 64
+ 
+ 56 
+ 	tušt64_t
+ ;
+ 
+ 58 
+ __ex‹nsiÚ__
+ 
+ 
+ 59 
+ 	tušt64_t
+ ;
+ 
+ 66 sigÃd 
+ 	tšt_Ëa¡8_t
+ ;
+ 
+ 67 
+ 	tšt_Ëa¡16_t
+ ;
+ 
+ 68 
+ 	tšt_Ëa¡32_t
+ ;
+ 
+ 69 #ià
+ __WORDSIZE
+  == 64
+ 
+ 70 
+ 	tšt_Ëa¡64_t
+ ;
+ 
+ 72 
+ __ex‹nsiÚ__
+ 
+ 
+ 73 
+ 	tšt_Ëa¡64_t
+ ;
+ 
+ 77 
+ 	tušt_Ëa¡8_t
+ ;
+ 
+ 78 
+ 	tušt_Ëa¡16_t
+ ;
+ 
+ 79 
+ 	tušt_Ëa¡32_t
+ ;
+ 
+ 80 #ià
+ __WORDSIZE
+  == 64
+ 
+ 81 
+ 	tušt_Ëa¡64_t
+ ;
+ 
+ 83 
+ __ex‹nsiÚ__
+ 
+ 
+ 84 
+ 	tušt_Ëa¡64_t
+ ;
+ 
+ 91 sigÃd 
+ 	tšt_ç¡8_t
+ ;
+ 
+ 92 #ià
+ __WORDSIZE
+  == 64
+ 
+ 93 
+ 	tšt_ç¡16_t
+ ;
+ 
+ 94 
+ 	tšt_ç¡32_t
+ ;
+ 
+ 95 
+ 	tšt_ç¡64_t
+ ;
+ 
+ 97 
+ 	tšt_ç¡16_t
+ ;
+ 
+ 98 
+ 	tšt_ç¡32_t
+ ;
+ 
+ 99 
+ __ex‹nsiÚ__
+ 
+ 
+ 100 
+ 	tšt_ç¡64_t
+ ;
+ 
+ 104 
+ 	tušt_ç¡8_t
+ ;
+ 
+ 105 #ià
+ __WORDSIZE
+  == 64
+ 
+ 106 
+ 	tušt_ç¡16_t
+ ;
+ 
+ 107 
+ 	tušt_ç¡32_t
+ ;
+ 
+ 108 
+ 	tušt_ç¡64_t
+ ;
+ 
+ 110 
+ 	tušt_ç¡16_t
+ ;
+ 
+ 111 
+ 	tušt_ç¡32_t
+ ;
+ 
+ 112 
+ __ex‹nsiÚ__
+ 
+ 
+ 113 
+ 	tušt_ç¡64_t
+ ;
+ 
+ 118 #ià
+ __WORDSIZE
+  == 64
+ 
+ 119 #iâdeà
+ __šŒ_t_defšed
+ 
+ 
+ 120 
+ 	tšŒ_t
+ ;
+ 
+ 121 
+ 	#__šŒ_t_defšed
+ 
+ 
+ 	)
+ 
+ 123 
+ 	tušŒ_t
+ ;
+ 
+ 125 #iâdeà
+ __šŒ_t_defšed
+ 
+ 
+ 126 
+ 	tšŒ_t
+ ;
+ 
+ 127 
+ 	#__šŒ_t_defšed
+ 
+ 
+ 	)
+ 
+ 129 
+ 	tušŒ_t
+ ;
+ 
+ 134 #ià
+ __WORDSIZE
+  == 64
+ 
+ 135 
+ 	tštmax_t
+ ;
+ 
+ 136 
+ 	tuštmax_t
+ ;
+ 
+ 138 
+ __ex‹nsiÚ__
+ 
+ 
+ 139 
+ 	tštmax_t
+ ;
+ 
+ 140 
+ __ex‹nsiÚ__
+ 
+ 
+ 141 
+ 	tuštmax_t
+ ;
+ 
+ 147 #ià!
+ defšed
+  
+ __ýlu¥lus
+  || defšed 
+ __STDC_LIMIT_MACROS
+ 
+ 
+ 149 #ià
+ __WORDSIZE
+  == 64
+ 
+ 150 
+ 	#__INT64_C
+ (
+ c
+ èø## 
+ L
+ 
+ 
+ 	)
+ 
+ 151 
+ 	#__UINT64_C
+ (
+ c
+ èø## 
+ UL
+ 
+ 
+ 	)
+ 
+ 153 
+ 	#__INT64_C
+ (
+ c
+ èø## 
+ LL
+ 
+ 
+ 	)
+ 
+ 154 
+ 	#__UINT64_C
+ (
+ c
+ èø## 
+ ULL
+ 
+ 
+ 	)
+ 
+ 160 
+ 	#INT8_MIN
+  (-128)
+ 
+ 	)
+ 
+ 161 
+ 	#INT16_MIN
+  (-32767-1)
+ 
+ 	)
+ 
+ 162 
+ 	#INT32_MIN
+  (-2147483647-1)
+ 
+ 	)
+ 
+ 163 
+ 	#INT64_MIN
+  (-
+ 	`__INT64_C
+ (9223372036854775807)-1)
+ 
+ 	)
+ 
+ 165 
+ 	#INT8_MAX
+  (127)
+ 
+ 	)
+ 
+ 166 
+ 	#INT16_MAX
+  (32767)
+ 
+ 	)
+ 
+ 167 
+ 	#INT32_MAX
+  (2147483647)
+ 
+ 	)
+ 
+ 168 
+ 	#INT64_MAX
+  (
+ 	`__INT64_C
+ (9223372036854775807))
+ 
+ 	)
+ 
+ 171 
+ 	#UINT8_MAX
+  (255)
+ 
+ 	)
+ 
+ 172 
+ 	#UINT16_MAX
+  (65535)
+ 
+ 	)
+ 
+ 173 
+ 	#UINT32_MAX
+  (4294967295U)
+ 
+ 	)
+ 
+ 174 
+ 	#UINT64_MAX
+  (
+ 	`__UINT64_C
+ (18446744073709551615))
+ 
+ 	)
+ 
+ 178 
+ 	#INT_LEAST8_MIN
+  (-128)
+ 
+ 	)
+ 
+ 179 
+ 	#INT_LEAST16_MIN
+  (-32767-1)
+ 
+ 	)
+ 
+ 180 
+ 	#INT_LEAST32_MIN
+  (-2147483647-1)
+ 
+ 	)
+ 
+ 181 
+ 	#INT_LEAST64_MIN
+  (-
+ 	`__INT64_C
+ (9223372036854775807)-1)
+ 
+ 	)
+ 
+ 183 
+ 	#INT_LEAST8_MAX
+  (127)
+ 
+ 	)
+ 
+ 184 
+ 	#INT_LEAST16_MAX
+  (32767)
+ 
+ 	)
+ 
+ 185 
+ 	#INT_LEAST32_MAX
+  (2147483647)
+ 
+ 	)
+ 
+ 186 
+ 	#INT_LEAST64_MAX
+  (
+ 	`__INT64_C
+ (9223372036854775807))
+ 
+ 	)
+ 
+ 189 
+ 	#UINT_LEAST8_MAX
+  (255)
+ 
+ 	)
+ 
+ 190 
+ 	#UINT_LEAST16_MAX
+  (65535)
+ 
+ 	)
+ 
+ 191 
+ 	#UINT_LEAST32_MAX
+  (4294967295U)
+ 
+ 	)
+ 
+ 192 
+ 	#UINT_LEAST64_MAX
+  (
+ 	`__UINT64_C
+ (18446744073709551615))
+ 
+ 	)
+ 
+ 196 
+ 	#INT_FAST8_MIN
+  (-128)
+ 
+ 	)
+ 
+ 197 #ià
+ __WORDSIZE
+  == 64
+ 
+ 198 
+ 	#INT_FAST16_MIN
+  (-9223372036854775807L-1)
+ 
+ 	)
+ 
+ 199 
+ 	#INT_FAST32_MIN
+  (-9223372036854775807L-1)
+ 
+ 	)
+ 
+ 201 
+ 	#INT_FAST16_MIN
+  (-2147483647-1)
+ 
+ 	)
+ 
+ 202 
+ 	#INT_FAST32_MIN
+  (-2147483647-1)
+ 
+ 	)
+ 
+ 204 
+ 	#INT_FAST64_MIN
+  (-
+ 	`__INT64_C
+ (9223372036854775807)-1)
+ 
+ 	)
+ 
+ 206 
+ 	#INT_FAST8_MAX
+  (127)
+ 
+ 	)
+ 
+ 207 #ià
+ __WORDSIZE
+  == 64
+ 
+ 208 
+ 	#INT_FAST16_MAX
+  (9223372036854775807L)
+ 
+ 	)
+ 
+ 209 
+ 	#INT_FAST32_MAX
+  (9223372036854775807L)
+ 
+ 	)
+ 
+ 211 
+ 	#INT_FAST16_MAX
+  (2147483647)
+ 
+ 	)
+ 
+ 212 
+ 	#INT_FAST32_MAX
+  (2147483647)
+ 
+ 	)
+ 
+ 214 
+ 	#INT_FAST64_MAX
+  (
+ 	`__INT64_C
+ (9223372036854775807))
+ 
+ 	)
+ 
+ 217 
+ 	#UINT_FAST8_MAX
+  (255)
+ 
+ 	)
+ 
+ 218 #ià
+ __WORDSIZE
+  == 64
+ 
+ 219 
+ 	#UINT_FAST16_MAX
+  (18446744073709551615UL)
+ 
+ 	)
+ 
+ 220 
+ 	#UINT_FAST32_MAX
+  (18446744073709551615UL)
+ 
+ 	)
+ 
+ 222 
+ 	#UINT_FAST16_MAX
+  (4294967295U)
+ 
+ 	)
+ 
+ 223 
+ 	#UINT_FAST32_MAX
+  (4294967295U)
+ 
+ 	)
+ 
+ 225 
+ 	#UINT_FAST64_MAX
+  (
+ 	`__UINT64_C
+ (18446744073709551615))
+ 
+ 	)
+ 
+ 229 #ià
+ __WORDSIZE
+  == 64
+ 
+ 230 
+ 	#INTPTR_MIN
+  (-9223372036854775807L-1)
+ 
+ 	)
+ 
+ 231 
+ 	#INTPTR_MAX
+  (9223372036854775807L)
+ 
+ 	)
+ 
+ 232 
+ 	#UINTPTR_MAX
+  (18446744073709551615UL)
+ 
+ 	)
+ 
+ 234 
+ 	#INTPTR_MIN
+  (-2147483647-1)
+ 
+ 	)
+ 
+ 235 
+ 	#INTPTR_MAX
+  (2147483647)
+ 
+ 	)
+ 
+ 236 
+ 	#UINTPTR_MAX
+  (4294967295U)
+ 
+ 	)
+ 
+ 241 
+ 	#INTMAX_MIN
+  (-
+ 	`__INT64_C
+ (9223372036854775807)-1)
+ 
+ 	)
+ 
+ 243 
+ 	#INTMAX_MAX
+  (
+ 	`__INT64_C
+ (9223372036854775807))
+ 
+ 	)
+ 
+ 246 
+ 	#UINTMAX_MAX
+  (
+ 	`__UINT64_C
+ (18446744073709551615))
+ 
+ 	)
+ 
+ 252 #ià
+ __WORDSIZE
+  == 64
+ 
+ 253 
+ 	#PTRDIFF_MIN
+  (-9223372036854775807L-1)
+ 
+ 	)
+ 
+ 254 
+ 	#PTRDIFF_MAX
+  (9223372036854775807L)
+ 
+ 	)
+ 
+ 256 
+ 	#PTRDIFF_MIN
+  (-2147483647-1)
+ 
+ 	)
+ 
+ 257 
+ 	#PTRDIFF_MAX
+  (2147483647)
+ 
+ 	)
+ 
+ 261 
+ 	#SIG_ATOMIC_MIN
+  (-2147483647-1)
+ 
+ 	)
+ 
+ 262 
+ 	#SIG_ATOMIC_MAX
+  (2147483647)
+ 
+ 	)
+ 
+ 265 #ià
+ __WORDSIZE
+  == 64
+ 
+ 266 
+ 	#SIZE_MAX
+  (18446744073709551615UL)
+ 
+ 	)
+ 
+ 268 
+ 	#SIZE_MAX
+  (4294967295U)
+ 
+ 	)
+ 
+ 272 #iâdeà
+ WCHAR_MIN
+ 
+ 
+ 274 
+ 	#WCHAR_MIN
+  
+ __WCHAR_MIN
+ 
+ 
+ 	)
+ 
+ 275 
+ 	#WCHAR_MAX
+  
+ __WCHAR_MAX
+ 
+ 
+ 	)
+ 
+ 279 
+ 	#WINT_MIN
+  (0u)
+ 
+ 	)
+ 
+ 280 
+ 	#WINT_MAX
+  (4294967295u)
+ 
+ 	)
+ 
+ 287 #ià!
+ defšed
+  
+ __ýlu¥lus
+  || defšed 
+ __STDC_CONSTANT_MACROS
+ 
+ 
+ 290 
+ 	#INT8_C
+ (
+ c
+ è
+ 	)
+ c
+ 
+ 291 
+ 	#INT16_C
+ (
+ c
+ è
+ 	)
+ c
+ 
+ 292 
+ 	#INT32_C
+ (
+ c
+ è
+ 	)
+ c
+ 
+ 293 #ià
+ __WORDSIZE
+  == 64
+ 
+ 294 
+ 	#INT64_C
+ (
+ c
+ èø## 
+ L
+ 
+ 
+ 	)
+ 
+ 296 
+ 	#INT64_C
+ (
+ c
+ èø## 
+ LL
+ 
+ 
+ 	)
+ 
+ 300 
+ 	#UINT8_C
+ (
+ c
+ èø## 
+ U
+ 
+ 
+ 	)
+ 
+ 301 
+ 	#UINT16_C
+ (
+ c
+ èø## 
+ U
+ 
+ 
+ 	)
+ 
+ 302 
+ 	#UINT32_C
+ (
+ c
+ èø## 
+ U
+ 
+ 
+ 	)
+ 
+ 303 #ià
+ __WORDSIZE
+  == 64
+ 
+ 304 
+ 	#UINT64_C
+ (
+ c
+ èø## 
+ UL
+ 
+ 
+ 	)
+ 
+ 306 
+ 	#UINT64_C
+ (
+ c
+ èø## 
+ ULL
+ 
+ 
+ 	)
+ 
+ 310 #ià
+ __WORDSIZE
+  == 64
+ 
+ 311 
+ 	#INTMAX_C
+ (
+ c
+ èø## 
+ L
+ 
+ 
+ 	)
+ 
+ 312 
+ 	#UINTMAX_C
+ (
+ c
+ èø## 
+ UL
+ 
+ 
+ 	)
+ 
+ 314 
+ 	#INTMAX_C
+ (
+ c
+ èø## 
+ LL
+ 
+ 
+ 	)
+ 
+ 315 
+ 	#UINTMAX_C
+ (
+ c
+ èø## 
+ ULL
+ 
+ 
+ 	)
+ 
+ 	@/usr/include/sys/sysmacros.h
+ 
+ 20 #iâdeà
+ _SYS_SYSMACROS_H
+ 
+ 
+ 21 
+ 	#_SYS_SYSMACROS_H
+  1
+ 
+ 	)
+ 
+ 27 #ià
+ defšed
+  
+ __GNUC__
+  && __GNUC__ >= 2
+ 
+ 28 
+ 	#majÜ
+ (
+ dev
+ è(()(((devè>> 8è& 0xff))
+ 
+ 	)
+ 
+ 29 
+ 	#mšÜ
+ (
+ dev
+ è(()((devè& 0xff))
+ 
+ 	)
+ 
+ 30 
+ 	#makedev
+ (
+ majÜ
+ , 
+ mšÜ
+ ) (((() (major)) << 8) \
+ 
+ 31 | ((è(
+ mšÜ
+ )))
+ 
+ 	)
+ 
+ 35 
+ 	~<’dŸn.h
+ >
+ 
+ 36 #ià
+ __BYTE_ORDER
+  =ð
+ __BIG_ENDIAN
+ 
+ 
+ 37 
+ 	#majÜ
+ (
+ dev
+ è(((dev).
+ __v®
+ [1] >> 8è& 0xff)
+ 
+ 	)
+ 
+ 38 
+ 	#mšÜ
+ (
+ dev
+ è((dev).
+ __v®
+ [1] & 0xff)
+ 
+ 	)
+ 
+ 39 
+ 	#makedev
+ (
+ majÜ
+ , 
+ mšÜ
+ ) { 0, (((() (major)) << 8) \
+ 
+ 40 | ((è(
+ mšÜ
+ ))è}
+ 
+ 	)
+ 
+ 42 
+ 	#majÜ
+ (
+ dev
+ è(((dev).
+ __v®
+ [0] >> 8è& 0xff)
+ 
+ 	)
+ 
+ 43 
+ 	#mšÜ
+ (
+ dev
+ è((dev).
+ __v®
+ [0] & 0xff)
+ 
+ 	)
+ 
+ 44 
+ 	#makedev
+ (
+ majÜ
+ , 
+ mšÜ
+ ) { (((() (major)) << 8) \
+ 
+ 45 | ((è(
+ mšÜ
+ ))), 0 }
+ 
+ 	)
+ 
+ 	@/usr/include/sys/ttydefaults.h
+ 
+ 40 #iâdeà
+ _SYS_TTYDEFAULTS_H_
+ 
+ 
+ 41 
+ 	#_SYS_TTYDEFAULTS_H_
+ 
+ 
+ 	)
+ 
+ 46 
+ 	#TTYDEF_IFLAG
+  (
+ BRKINT
+  | 
+ ISTRIP
+  | 
+ ICRNL
+  | 
+ IMAXBEL
+  | 
+ IXON
+  | 
+ IXANY
+ )
+ 
+ 	)
+ 
+ 47 
+ 	#TTYDEF_OFLAG
+  (
+ OPOST
+  | 
+ ONLCR
+  | 
+ XTABS
+ )
+ 
+ 	)
+ 
+ 48 
+ 	#TTYDEF_LFLAG
+  (
+ ECHO
+  | 
+ ICANON
+  | 
+ ISIG
+  | 
+ IEXTEN
+  | 
+ ECHOE
+ |
+ ECHOKE
+ |
+ ECHOCTL
+ )
+ 
+ 	)
+ 
+ 49 
+ 	#TTYDEF_CFLAG
+  (
+ CREAD
+  | 
+ CS7
+  | 
+ PARENB
+  | 
+ HUPCL
+ )
+ 
+ 	)
+ 
+ 50 
+ 	#TTYDEF_SPEED
+  (
+ B9600
+ )
+ 
+ 	)
+ 
+ 55 
+ 	#CTRL
+ (
+ x
+ è(x&037)
+ 
+ 	)
+ 
+ 56 
+ 	#CEOF
+  
+ 	`CTRL
+ ('d')
+ 
+ 	)
+ 
+ 57 #ifdeà
+ _POSIX_VDISABLE
+ 
+ 
+ 58 
+ 	#CEOL
+  
+ _POSIX_VDISABLE
+ 
+ 
+ 	)
+ 
+ 60 
+ 	#CEOL
+  '\0'
+ 
+ 	)
+ 
+ 62 
+ 	#CERASE
+  0177
+ 
+ 	)
+ 
+ 63 
+ 	#CINTR
+  
+ 	`CTRL
+ ('c')
+ 
+ 	)
+ 
+ 64 #ifdeà
+ _POSIX_VDISABLE
+ 
+ 
+ 65 
+ 	#CSTATUS
+  
+ _POSIX_VDISABLE
+ 
+ 
+ 	)
+ 
+ 67 
+ 	#CSTATUS
+  '\0'
+ 
+ 	)
+ 
+ 69 
+ 	#CKILL
+  
+ 	`CTRL
+ ('u')
+ 
+ 	)
+ 
+ 70 
+ 	#CMIN
+  1
+ 
+ 	)
+ 
+ 71 
+ 	#CQUIT
+  034
+ 
+ 	)
+ 
+ 72 
+ 	#CSUSP
+  
+ 	`CTRL
+ ('z')
+ 
+ 	)
+ 
+ 73 
+ 	#CTIME
+  0
+ 
+ 	)
+ 
+ 74 
+ 	#CDSUSP
+  
+ 	`CTRL
+ ('y')
+ 
+ 	)
+ 
+ 75 
+ 	#CSTART
+  
+ 	`CTRL
+ ('q')
+ 
+ 	)
+ 
+ 76 
+ 	#CSTOP
+  
+ 	`CTRL
+ ('s')
+ 
+ 	)
+ 
+ 77 
+ 	#CLNEXT
+  
+ 	`CTRL
+ ('v')
+ 
+ 	)
+ 
+ 78 
+ 	#CDISCARD
+  
+ 	`CTRL
+ ('o')
+ 
+ 	)
+ 
+ 79 
+ 	#CWERASE
+  
+ 	`CTRL
+ ('w')
+ 
+ 	)
+ 
+ 80 
+ 	#CREPRINT
+  
+ 	`CTRL
+ ('r')
+ 
+ 	)
+ 
+ 81 
+ 	#CEOT
+  
+ CEOF
+ 
+ 
+ 	)
+ 
+ 83 
+ 	#CBRK
+  
+ CEOL
+ 
+ 
+ 	)
+ 
+ 84 
+ 	#CRPRNT
+  
+ CREPRINT
+ 
+ 
+ 	)
+ 
+ 85 
+ 	#CFLUSH
+  
+ CDISCARD
+ 
+ 
+ 	)
+ 
+ 93 #ifdeà
+ TTYDEFCHARS
+ 
+ 
+ 94 
+ cc_t
+  
+ 	g‰ydefch¬s
+ [
+ NCCS
+ ] = {
+ 
+ 95 
+ CEOF
+ , 
+ CEOL
+ , CEOL, 
+ CERASE
+ , 
+ CWERASE
+ , 
+ CKILL
+ , 
+ CREPRINT
+ ,
+ 
+ 96 
+ _POSIX_VDISABLE
+ , 
+ CINTR
+ , 
+ CQUIT
+ , 
+ CSUSP
+ , 
+ CDSUSP
+ , 
+ CSTART
+ , 
+ CSTOP
+ , 
+ CLNEXT
+ ,
+ 
+ 97 
+ CDISCARD
+ , 
+ CMIN
+ , 
+ CTIME
+ , 
+ CSTATUS
+ , 
+ _POSIX_VDISABLE
+ 
+ 
+ 99 #undeà
+ TTYDEFCHARS
+ 
+ 
+ 	@/usr/include/sys/uio.h
+ 
+ 19 #iâdeà
+ _SYS_UIO_H
+ 
+ 
+ 20 
+ 	#_SYS_UIO_H
+  1
+ 
+ 	)
+ 
+ 22 
+ 	~<ã©u»s.h
+ >
+ 
+ 24 
+ 	~<sys/ty³s.h
+ >
+ 
+ 26 
+ 	g__BEGIN_DECLS
+ 
+ 
+ 29 
+ 	~<b™s/uio.h
+ >
+ 
+ 37 
+ ssize_t
+  
+ 	$»adv
+  (
+ __fd
+ , 
+ __cڡ
+  
+ iovec
+  *
+ __veùÜ
+ , 
+ __couÁ
+ )
+ 
+ 38 
+ __THROW
+ ;
+ 
+ 45 
+ ssize_t
+  
+ 	$wr™ev
+  (
+ __fd
+ , 
+ __cڡ
+  
+ iovec
+  *
+ __veùÜ
+ , 
+ __couÁ
+ )
+ 
+ 46 
+ __THROW
+ ;
+ 
+ 48 
+ __END_DECLS
+ 
+ 
+ 	@/usr/include/ucontext.h
+ 
+ 21 #iâdeà
+ _UCONTEXT_H
+ 
+ 
+ 22 
+ 	#_UCONTEXT_H
+  1
+ 
+ 	)
+ 
+ 24 
+ 	~<ã©u»s.h
+ >
+ 
+ 27 
+ 	~<sys/ucڋxt.h
+ >
+ 
+ 29 
+ __BEGIN_DECLS
+ 
+ 
+ 32 

+ 	$g‘cÚ‹xt
+  (
+ ucڋxt_t
+  *
+ __uý
+ è
+ __THROW
+ ;
+ 
+ 35 

+ 	$£tcÚ‹xt
+  (
+ __cڡ
+  
+ ucڋxt_t
+  *
+ __uý
+ è
+ __THROW
+ ;
+ 
+ 39 

+ 	$sw­cÚ‹xt
+  (
+ ucڋxt_t
+  *
+ __»¡riù
+  
+ __ouý
+ ,
+ 
+ 40 
+ __cڡ
+  
+ ucڋxt_t
+  *
+ __»¡riù
+  
+ __uý
+ è
+ __THROW
+ ;
+ 
+ 48 

+ 	`makecڋxt
+  (
+ ucڋxt_t
+  *
+ __uý
+ , (*
+ __func
+ ) (),
+ 
+ 49 
+ __¬gc
+ , ...è
+ __THROW
+ ;
+ 
+ 51 
+ __END_DECLS
+ 
+ 
+ 	@/usr/include/xlocale.h
+ 
+ 21 #iâdeà
+ _XLOCALE_H
+ 
+ 
+ 22 
+ 	#_XLOCALE_H
+  1
+ 
+ 	)
+ 
+ 28 
+ 	s__loÿË_¡ruù
+ 
+ 
+ 31 
+ loÿË_d©a
+  *
+ 	m__loÿËs
+ [13];
+ 
+ 34 cڡ *
+ 	m__ùy³_b
+ ;
+ 
+ 35 cڡ *
+ 	m__ùy³_tÞow”
+ ;
+ 
+ 36 cڡ *
+ 	m__ùy³_touµ”
+ ;
+ 
+ 37 } *
+ 	t__loÿË_t
+ ;
+ 
+ 	@/usr/include/_G_config.h
+ 
+ 4 #iâdeà
+ _G_cÚfig_h
+ 
+ 
+ 5 
+ 	#_G_cÚfig_h
+  1
+ 
+ 	)
+ 
+ 9 
+ 	~<b™s/ty³s.h
+ >
+ 
+ 10 
+ 	#__Ãed_size_t
+ 
+ 
+ 	)
+ 
+ 11 
+ 	#__Ãed_wch¬_t
+ 
+ 
+ 	)
+ 
+ 12 
+ 	#__Ãed_wšt_t
+ 
+ 
+ 	)
+ 
+ 13 
+ 	#__Ãed_NULL
+ 
+ 
+ 	)
+ 
+ 14 
+ 	~<¡ddef.h
+ >
+ 
+ 15 #iâdeà
+ _WINT_T
+ 
+ 
+ 20 
+ 	#_WINT_T
+ 
+ 
+ 	)
+ 
+ 21 
+ 	twšt_t
+ ;
+ 
+ 23 
+ 	#__Ãed_mb¡©e_t
+ 
+ 
+ 	)
+ 
+ 24 
+ 	~<wch¬.h
+ >
+ 
+ 25 
+ 	#_G_size_t
+  
+ size_t
+ 
+ 
+ 	)
+ 
+ 28 
+ __off_t
+  
+ 	m__pos
+ ;
+ 
+ 29 
+ __mb¡©e_t
+  
+ 	m__¡©e
+ ;
+ 
+ 30 } 
+ 	t_G_åos_t
+ ;
+ 
+ 33 
+ __off64_t
+  
+ 	m__pos
+ ;
+ 
+ 34 
+ __mb¡©e_t
+  
+ 	m__¡©e
+ ;
+ 
+ 35 } 
+ 	t_G_åos64_t
+ ;
+ 
+ 36 
+ 	#_G_ssize_t
+  
+ __ssize_t
+ 
+ 
+ 	)
+ 
+ 37 
+ 	#_G_off_t
+  
+ __off_t
+ 
+ 
+ 	)
+ 
+ 38 
+ 	#_G_off64_t
+  
+ __off64_t
+ 
+ 
+ 	)
+ 
+ 39 
+ 	#_G_pid_t
+  
+ __pid_t
+ 
+ 
+ 	)
+ 
+ 40 
+ 	#_G_uid_t
+  
+ __uid_t
+ 
+ 
+ 	)
+ 
+ 41 
+ 	#_G_wch¬_t
+  
+ wch¬_t
+ 
+ 
+ 	)
+ 
+ 42 
+ 	#_G_wšt_t
+  
+ wšt_t
+ 
+ 
+ 	)
+ 
+ 43 
+ 	#_G_¡©64
+  
+ ¡©64
+ 
+ 
+ 	)
+ 
+ 44 
+ 	~<gcÚv.h
+ >
+ 
+ 47 
+ __gcÚv_šfo
+  
+ 	m__cd
+ ;
+ 
+ 50 
+ __gcÚv_šfo
+  
+ 	m__cd
+ ;
+ 
+ 51 
+ __gcÚv_¡•_d©a
+  
+ 	m__d©a
+ ;
+ 
+ 52 } 
+ 	m__combšed
+ ;
+ 
+ 53 } 
+ 	t_G_icÚv_t
+ ;
+ 
+ 55 
+ 	t_G_št16_t
+  
+ 	t__©Œibu‹__
+  ((
+ 	t__mode__
+  (
+ 	t__HI__
+ )));
+ 
+ 56 
+ 	t_G_št32_t
+  
+ 	t__©Œibu‹__
+  ((
+ 	t__mode__
+  (
+ 	t__SI__
+ )));
+ 
+ 57 
+ 	t_G_ušt16_t
+  
+ 	t__©Œibu‹__
+  ((
+ 	t__mode__
+  (
+ 	t__HI__
+ )));
+ 
+ 58 
+ 	t_G_ušt32_t
+  
+ 	t__©Œibu‹__
+  ((
+ 	t__mode__
+  (
+ 	t__SI__
+ )));
+ 
+ 60 
+ 	#_G_HAVE_BOOL
+  1
+ 
+ 	)
+ 
+ 64 
+ 	#_G_HAVE_ATEXIT
+  1
+ 
+ 	)
+ 
+ 65 
+ 	#_G_HAVE_SYS_CDEFS
+  1
+ 
+ 	)
+ 
+ 66 
+ 	#_G_HAVE_SYS_WAIT
+  1
+ 
+ 	)
+ 
+ 67 
+ 	#_G_NEED_STDARG_H
+  1
+ 
+ 	)
+ 
+ 68 
+ 	#_G_va_li¡
+  
+ __gnuc_va_li¡
+ 
+ 
+ 	)
+ 
+ 70 
+ 	#_G_HAVE_PRINTF_FP
+  1
+ 
+ 	)
+ 
+ 71 
+ 	#_G_HAVE_MMAP
+  1
+ 
+ 	)
+ 
+ 72 
+ 	#_G_HAVE_LONG_DOUBLE_IO
+  1
+ 
+ 	)
+ 
+ 73 
+ 	#_G_HAVE_IO_FILE_OPEN
+  1
+ 
+ 	)
+ 
+ 74 
+ 	#_G_HAVE_IO_GETLINE_INFO
+  1
+ 
+ 	)
+ 
+ 76 
+ 	#_G_IO_IO_FILE_VERSION
+  0x20001
+ 
+ 	)
+ 
+ 78 
+ 	#_G_OPEN64
+  
+ __ݒ64
+ 
+ 
+ 	)
+ 
+ 79 
+ 	#_G_LSEEK64
+  
+ __l£ek64
+ 
+ 
+ 	)
+ 
+ 80 
+ 	#_G_MMAP64
+  
+ __mm­64
+ 
+ 
+ 	)
+ 
+ 81 
+ 	#_G_FSTAT64
+ (
+ fd
+ ,
+ buf
+ è
+ 	`__fx¡©64
+  (
+ _STAT_VER
+ , fd, buf)
+ 
+ 	)
+ 
+ 84 
+ 	#_G_HAVE_ST_BLKSIZE
+  
+ 	`defšed
+  (
+ _STATBUF_ST_BLKSIZE
+ )
+ 
+ 	)
+ 
+ 86 
+ 	#_G_BUFSIZ
+  8192
+ 
+ 	)
+ 
+ 89 
+ 	#_G_NAMES_HAVE_UNDERSCORE
+  0
+ 
+ 	)
+ 
+ 90 
+ 	#_G_VTABLE_LABEL_HAS_LENGTH
+  1
+ 
+ 	)
+ 
+ 91 
+ 	#_G_USING_THUNKS
+  1
+ 
+ 	)
+ 
+ 92 
+ 	#_G_VTABLE_LABEL_PREFIX
+  "__vt_"
+ 
+ 	)
+ 
+ 93 
+ 	#_G_VTABLE_LABEL_PREFIX_ID
+  
+ __vt_
+ 
+ 
+ 	)
+ 
+ 96 #ià
+ defšed
+  
+ __ýlu¥lus
+  || defšed 
+ __STDC__
+ 
+ 
+ 97 
+ 	#_G_ARGS
+ (
+ ARGLIST
+ è
+ 	)
+ ARGLIST
+ 
+ 99 
+ 	#_G_ARGS
+ (
+ ARGLIST
+ è()
+ 
+ 	)
+ 
+ 	@/usr/include/asm/ioctls.h
+ 
+ 1 #iâdeà
+ __ARCH_I386_IOCTLS_H__
+ 
+ 
+ 2 
+ 	#__ARCH_I386_IOCTLS_H__
+ 
+ 
+ 	)
+ 
+ 4 
+ 	~<asm/ioùl.h
+ >
+ 
+ 8 
+ 	#TCGETS
+  0x5401
+ 
+ 	)
+ 
+ 9 
+ 	#TCSETS
+  0x5402
+ 
+ 	)
+ 
+ 10 
+ 	#TCSETSW
+  0x5403
+ 
+ 	)
+ 
+ 11 
+ 	#TCSETSF
+  0x5404
+ 
+ 	)
+ 
+ 12 
+ 	#TCGETA
+  0x5405
+ 
+ 	)
+ 
+ 13 
+ 	#TCSETA
+  0x5406
+ 
+ 	)
+ 
+ 14 
+ 	#TCSETAW
+  0x5407
+ 
+ 	)
+ 
+ 15 
+ 	#TCSETAF
+  0x5408
+ 
+ 	)
+ 
+ 16 
+ 	#TCSBRK
+  0x5409
+ 
+ 	)
+ 
+ 17 
+ 	#TCXONC
+  0x540A
+ 
+ 	)
+ 
+ 18 
+ 	#TCFLSH
+  0x540B
+ 
+ 	)
+ 
+ 19 
+ 	#TIOCEXCL
+  0x540C
+ 
+ 	)
+ 
+ 20 
+ 	#TIOCNXCL
+  0x540D
+ 
+ 	)
+ 
+ 21 
+ 	#TIOCSCTTY
+  0x540E
+ 
+ 	)
+ 
+ 22 
+ 	#TIOCGPGRP
+  0x540F
+ 
+ 	)
+ 
+ 23 
+ 	#TIOCSPGRP
+  0x5410
+ 
+ 	)
+ 
+ 24 
+ 	#TIOCOUTQ
+  0x5411
+ 
+ 	)
+ 
+ 25 
+ 	#TIOCSTI
+  0x5412
+ 
+ 	)
+ 
+ 26 
+ 	#TIOCGWINSZ
+  0x5413
+ 
+ 	)
+ 
+ 27 
+ 	#TIOCSWINSZ
+  0x5414
+ 
+ 	)
+ 
+ 28 
+ 	#TIOCMGET
+  0x5415
+ 
+ 	)
+ 
+ 29 
+ 	#TIOCMBIS
+  0x5416
+ 
+ 	)
+ 
+ 30 
+ 	#TIOCMBIC
+  0x5417
+ 
+ 	)
+ 
+ 31 
+ 	#TIOCMSET
+  0x5418
+ 
+ 	)
+ 
+ 32 
+ 	#TIOCGSOFTCAR
+  0x5419
+ 
+ 	)
+ 
+ 33 
+ 	#TIOCSSOFTCAR
+  0x541A
+ 
+ 	)
+ 
+ 34 
+ 	#FIONREAD
+  0x541B
+ 
+ 	)
+ 
+ 35 
+ 	#TIOCINQ
+  
+ FIONREAD
+ 
+ 
+ 	)
+ 
+ 36 
+ 	#TIOCLINUX
+  0x541C
+ 
+ 	)
+ 
+ 37 
+ 	#TIOCCONS
+  0x541D
+ 
+ 	)
+ 
+ 38 
+ 	#TIOCGSERIAL
+  0x541E
+ 
+ 	)
+ 
+ 39 
+ 	#TIOCSSERIAL
+  0x541F
+ 
+ 	)
+ 
+ 40 
+ 	#TIOCPKT
+  0x5420
+ 
+ 	)
+ 
+ 41 
+ 	#FIONBIO
+  0x5421
+ 
+ 	)
+ 
+ 42 
+ 	#TIOCNOTTY
+  0x5422
+ 
+ 	)
+ 
+ 43 
+ 	#TIOCSETD
+  0x5423
+ 
+ 	)
+ 
+ 44 
+ 	#TIOCGETD
+  0x5424
+ 
+ 	)
+ 
+ 45 
+ 	#TCSBRKP
+  0x5425
+ 
+ 	)
+ 
+ 46 
+ 	#TIOCTTYGSTRUCT
+  0x5426
+ 
+ 	)
+ 
+ 47 
+ 	#TIOCSBRK
+  0x5427
+ 
+ 	)
+ 
+ 48 
+ 	#TIOCCBRK
+  0x5428
+ 
+ 	)
+ 
+ 49 
+ 	#TIOCGSID
+  0x5429
+ 
+ 	)
+ 
+ 50 
+ 	#TIOCGPTN
+  
+ 	`_IOR
+ ('T',0x30, è
+ 
+ 	)
+ 
+ 51 
+ 	#TIOCSPTLCK
+  
+ 	`_IOW
+ ('T',0x31, è
+ 
+ 	)
+ 
+ 53 
+ 	#FIONCLEX
+  0x5450
+ 
+ 	)
+ 
+ 54 
+ 	#FIOCLEX
+  0x5451
+ 
+ 	)
+ 
+ 55 
+ 	#FIOASYNC
+  0x5452
+ 
+ 	)
+ 
+ 56 
+ 	#TIOCSERCONFIG
+  0x5453
+ 
+ 	)
+ 
+ 57 
+ 	#TIOCSERGWILD
+  0x5454
+ 
+ 	)
+ 
+ 58 
+ 	#TIOCSERSWILD
+  0x5455
+ 
+ 	)
+ 
+ 59 
+ 	#TIOCGLCKTRMIOS
+  0x5456
+ 
+ 	)
+ 
+ 60 
+ 	#TIOCSLCKTRMIOS
+  0x5457
+ 
+ 	)
+ 
+ 61 
+ 	#TIOCSERGSTRUCT
+  0x5458
+ 
+ 	)
+ 
+ 62 
+ 	#TIOCSERGETLSR
+  0x5459
+ 
+ 	)
+ 
+ 63 
+ 	#TIOCSERGETMULTI
+  0x545A
+ 
+ 	)
+ 
+ 64 
+ 	#TIOCSERSETMULTI
+  0x545B
+ 
+ 	)
+ 
+ 66 
+ 	#TIOCMIWAIT
+  0x545C
+ 
+ 	)
+ 
+ 67 
+ 	#TIOCGICOUNT
+  0x545D
+ 
+ 	)
+ 
+ 68 
+ 	#TIOCGHAYESESP
+  0x545E
+ 
+ 	)
+ 
+ 69 
+ 	#TIOCSHAYESESP
+  0x545F
+ 
+ 	)
+ 
+ 70 
+ 	#FIOQSIZE
+  0x5460
+ 
+ 	)
+ 
+ 73 
+ 	#TIOCPKT_DATA
+  0
+ 
+ 	)
+ 
+ 74 
+ 	#TIOCPKT_FLUSHREAD
+  1
+ 
+ 	)
+ 
+ 75 
+ 	#TIOCPKT_FLUSHWRITE
+  2
+ 
+ 	)
+ 
+ 76 
+ 	#TIOCPKT_STOP
+  4
+ 
+ 	)
+ 
+ 77 
+ 	#TIOCPKT_START
+  8
+ 
+ 	)
+ 
+ 78 
+ 	#TIOCPKT_NOSTOP
+  16
+ 
+ 	)
+ 
+ 79 
+ 	#TIOCPKT_DOSTOP
+  32
+ 
+ 	)
+ 
+ 81 
+ 	#TIOCSER_TEMT
+  0x01
+ 
+ 	)
+ 
+ 	@/usr/include/asm/param.h
+ 
+ 1 #iâdeà
+ _ASMi386_PARAM_H
+ 
+ 
+ 2 
+ 	#_ASMi386_PARAM_H
+ 
+ 
+ 	)
+ 
+ 4 #iâdeà
+ HZ
+ 
+ 
+ 5 
+ 	#HZ
+  100
+ 
+ 	)
+ 
+ 8 
+ 	#EXEC_PAGESIZE
+  4096
+ 
+ 	)
+ 
+ 10 #iâdeà
+ NGROUPS
+ 
+ 
+ 11 
+ 	#NGROUPS
+  32
+ 
+ 	)
+ 
+ 14 #iâdeà
+ NOGROUP
+ 
+ 
+ 15 
+ 	#NOGROUP
+  (-1)
+ 
+ 	)
+ 
+ 18 
+ 	#MAXHOSTNAMELEN
+  64
+ 
+ 	)
+ 
+ 	@/usr/include/asm/sigcontext.h
+ 
+ 1 #iâdeà
+ _ASMi386_SIGCONTEXT_H
+ 
+ 
+ 2 
+ 	#_ASMi386_SIGCONTEXT_H
+ 
+ 
+ 	)
+ 
+ 18 
+ 	s_å»g
+  {
+ 
+ 19 
+ 	msignifiÿnd
+ [4];
+ 
+ 20 
+ 	mexpڒt
+ ;
+ 
+ 23 
+ 	s_åx»g
+  {
+ 
+ 24 
+ 	msignifiÿnd
+ [4];
+ 
+ 25 
+ 	mexpڒt
+ ;
+ 
+ 26 
+ 	m·ddšg
+ [3];
+ 
+ 29 
+ 	s_xmm»g
+  {
+ 
+ 30 
+ 	m–em’t
+ [4];
+ 
+ 33 
+ 	s_塩e
+  {
+ 
+ 35 
+ 	mcw
+ ;
+ 
+ 36 
+ 	msw
+ ;
+ 
+ 37 
+ 	mg
+ ;
+ 
+ 38 
+ 	moff
+ ;
+ 
+ 39 
+ 	mcs£l
+ ;
+ 
+ 40 
+ 	md©aoff
+ ;
+ 
+ 41 
+ 	md©a£l
+ ;
+ 
+ 42 
+ _å»g
+  
+ 	m_¡
+ [8];
+ 
+ 43 
+ 	m¡©us
+ ;
+ 
+ 44 
+ 	mmagic
+ ;
+ 
+ 47 
+ 	m_fx¤_’v
+ [6];
+ 
+ 48 
+ 	mmxc¤
+ ;
+ 
+ 49 
+ 	mȣrved
+ ;
+ 
+ 50 
+ _åx»g
+  
+ 	m_fx¤_¡
+ [8];
+ 
+ 51 
+ _xmm»g
+  
+ 	m_xmm
+ [8];
+ 
+ 52 
+ 	m·ddšg
+ [56];
+ 
+ 55 
+ 	#X86_FXSR_MAGIC
+  0x0000
+ 
+ 	)
+ 
+ 57 
+ 	ssigcڋxt
+  {
+ 
+ 58 
+ 	mgs
+ , 
+ 	m__gsh
+ ;
+ 
+ 59 
+ 	mfs
+ , 
+ 	m__fsh
+ ;
+ 
+ 60 
+ 	mes
+ , 
+ 	m__esh
+ ;
+ 
+ 61 
+ 	mds
+ , 
+ 	m__dsh
+ ;
+ 
+ 62 
+ 	medi
+ ;
+ 
+ 63 
+ 	mesi
+ ;
+ 
+ 64 
+ 	mebp
+ ;
+ 
+ 65 
+ 	me¥
+ ;
+ 
+ 66 
+ 	mebx
+ ;
+ 
+ 67 
+ 	medx
+ ;
+ 
+ 68 
+ 	mecx
+ ;
+ 
+ 69 
+ 	m—x
+ ;
+ 
+ 70 
+ 	mŒ­no
+ ;
+ 
+ 71 
+ 	m”r
+ ;
+ 
+ 72 
+ 	me
+ ;
+ 
+ 73 
+ 	mcs
+ , 
+ 	m__csh
+ ;
+ 
+ 74 
+ 	meæags
+ ;
+ 
+ 75 
+ 	me¥_©_sigÇl
+ ;
+ 
+ 76 
+ 	mss
+ , 
+ 	m__ssh
+ ;
+ 
+ 77 
+ _塩e
+  * 
+ 	m塩e
+ ;
+ 
+ 78 
+ 	mÞdmask
+ ;
+ 
+ 79 
+ 	mü2
+ ;
+ 
+ 	@/usr/include/asm/socket.h
+ 
+ 1 #iâdeà
+ _ASM_SOCKET_H
+ 
+ 
+ 2 
+ 	#_ASM_SOCKET_H
+ 
+ 
+ 	)
+ 
+ 4 
+ 	~<asm/sockios.h
+ >
+ 
+ 7 
+ 	#SOL_SOCKET
+  1
+ 
+ 	)
+ 
+ 9 
+ 	#SO_DEBUG
+  1
+ 
+ 	)
+ 
+ 10 
+ 	#SO_REUSEADDR
+  2
+ 
+ 	)
+ 
+ 11 
+ 	#SO_TYPE
+  3
+ 
+ 	)
+ 
+ 12 
+ 	#SO_ERROR
+  4
+ 
+ 	)
+ 
+ 13 
+ 	#SO_DONTROUTE
+  5
+ 
+ 	)
+ 
+ 14 
+ 	#SO_BROADCAST
+  6
+ 
+ 	)
+ 
+ 15 
+ 	#SO_SNDBUF
+  7
+ 
+ 	)
+ 
+ 16 
+ 	#SO_RCVBUF
+  8
+ 
+ 	)
+ 
+ 17 
+ 	#SO_KEEPALIVE
+  9
+ 
+ 	)
+ 
+ 18 
+ 	#SO_OOBINLINE
+  10
+ 
+ 	)
+ 
+ 19 
+ 	#SO_NO_CHECK
+  11
+ 
+ 	)
+ 
+ 20 
+ 	#SO_PRIORITY
+  12
+ 
+ 	)
+ 
+ 21 
+ 	#SO_LINGER
+  13
+ 
+ 	)
+ 
+ 22 
+ 	#SO_BSDCOMPAT
+  14
+ 
+ 	)
+ 
+ 24 
+ 	#SO_PASSCRED
+  16
+ 
+ 	)
+ 
+ 25 
+ 	#SO_PEERCRED
+  17
+ 
+ 	)
+ 
+ 26 
+ 	#SO_RCVLOWAT
+  18
+ 
+ 	)
+ 
+ 27 
+ 	#SO_SNDLOWAT
+  19
+ 
+ 	)
+ 
+ 28 
+ 	#SO_RCVTIMEO
+  20
+ 
+ 	)
+ 
+ 29 
+ 	#SO_SNDTIMEO
+  21
+ 
+ 	)
+ 
+ 32 
+ 	#SO_SECURITY_AUTHENTICATION
+  22
+ 
+ 	)
+ 
+ 33 
+ 	#SO_SECURITY_ENCRYPTION_TRANSPORT
+  23
+ 
+ 	)
+ 
+ 34 
+ 	#SO_SECURITY_ENCRYPTION_NETWORK
+  24
+ 
+ 	)
+ 
+ 36 
+ 	#SO_BINDTODEVICE
+  25
+ 
+ 	)
+ 
+ 39 
+ 	#SO_ATTACH_FILTER
+  26
+ 
+ 	)
+ 
+ 40 
+ 	#SO_DETACH_FILTER
+  27
+ 
+ 	)
+ 
+ 42 
+ 	#SO_PEERNAME
+  28
+ 
+ 	)
+ 
+ 43 
+ 	#SO_TIMESTAMP
+  29
+ 
+ 	)
+ 
+ 44 
+ 	#SCM_TIMESTAMP
+  
+ SO_TIMESTAMP
+ 
+ 
+ 	)
+ 
+ 46 
+ 	#SO_ACCEPTCONN
+  30
+ 
+ 	)
+ 
+ 49 #ià
+ defšed
+ (
+ __KERNEL__
+ è|| !defšed(
+ __GLIBC__
+ ) || (__GLIBC__ < 2)
+ 
+ 51 
+ 	#SOCK_STREAM
+  1
+ 
+ 	)
+ 
+ 52 
+ 	#SOCK_DGRAM
+  2
+ 
+ 	)
+ 
+ 53 
+ 	#SOCK_RAW
+  3
+ 
+ 	)
+ 
+ 54 
+ 	#SOCK_RDM
+  4
+ 
+ 	)
+ 
+ 55 
+ 	#SOCK_SEQPACKET
+  5
+ 
+ 	)
+ 
+ 56 
+ 	#SOCK_PACKET
+  10
+ 
+ 	)
+ 
+ 61 
+ 	#SOCK_MAX
+  (
+ SOCK_PACKET
+ +1)
+ 
+ 	)
+ 
+ 	@/usr/include/bits/endian.h
+ 
+ 3 #iâdeà
+ _ENDIAN_H
+ 
+ 
+ 7 
+ 	#__BYTE_ORDER
+  
+ __LITTLE_ENDIAN
+ 
+ 
+ 	)
+ 
+ 	@/usr/include/bits/local_lim.h
+ 
+ 25 #iâdeà
+ NR_OPEN
+ 
+ 
+ 26 
+ 	#__undef_NR_OPEN
+ 
+ 
+ 	)
+ 
+ 28 #iâdeà
+ LINK_MAX
+ 
+ 
+ 29 
+ 	#__undef_LINK_MAX
+ 
+ 
+ 	)
+ 
+ 31 #iâdeà
+ OPEN_MAX
+ 
+ 
+ 32 
+ 	#__undef_OPEN_MAX
+ 
+ 
+ 	)
+ 
+ 36 
+ 	~<lšux/lim™s.h
+ >
+ 
+ 39 #ifdeà
+ __undef_NR_OPEN
+ 
+ 
+ 40 #undeà
+ NR_OPEN
+ 
+ 
+ 41 #undeà
+ __undef_NR_OPEN
+ 
+ 
+ 44 #ifdeà
+ __undef_LINK_MAX
+ 
+ 
+ 45 #undeà
+ LINK_MAX
+ 
+ 
+ 46 #undeà
+ __undef_LINK_MAX
+ 
+ 
+ 49 #ifdeà
+ __undef_OPEN_MAX
+ 
+ 
+ 50 #undeà
+ OPEN_MAX
+ 
+ 
+ 51 #undeà
+ __undef_OPEN_MAX
+ 
+ 
+ 55 
+ 	#_POSIX_THREAD_KEYS_MAX
+  128
+ 
+ 	)
+ 
+ 57 
+ 	#PTHREAD_KEYS_MAX
+  1024
+ 
+ 	)
+ 
+ 60 
+ 	#_POSIX_THREAD_DESTRUCTOR_ITERATIONS
+  4
+ 
+ 	)
+ 
+ 62 
+ 	#PTHREAD_DESTRUCTOR_ITERATIONS
+  
+ _POSIX_THREAD_DESTRUCTOR_ITERATIONS
+ 
+ 
+ 	)
+ 
+ 65 
+ 	#_POSIX_THREAD_THREADS_MAX
+  64
+ 
+ 	)
+ 
+ 67 
+ 	#PTHREAD_THREADS_MAX
+  1024
+ 
+ 	)
+ 
+ 71 
+ 	#AIO_PRIO_DELTA_MAX
+  20
+ 
+ 	)
+ 
+ 74 
+ 	#PTHREAD_STACK_MIN
+  16384
+ 
+ 	)
+ 
+ 77 
+ 	#TIMER_MAX
+  256
+ 
+ 	)
+ 
+ 80 
+ 	#DELAYTIMER_MAX
+  2147483647
+ 
+ 	)
+ 
+ 	@/usr/include/bits/posix2_lim.h
+ 
+ 23 #iâdef 
+ _BITS_POSIX2_LIM_H
+ 
+ 
+ 24 
+ 	#_BITS_POSIX2_LIM_H
+  1
+ 
+ 	)
+ 
+ 28 
+ 	#_POSIX2_BC_BASE_MAX
+  99
+ 
+ 	)
+ 
+ 31 
+ 	#_POSIX2_BC_DIM_MAX
+  2048
+ 
+ 	)
+ 
+ 34 
+ 	#_POSIX2_BC_SCALE_MAX
+  99
+ 
+ 	)
+ 
+ 37 
+ 	#_POSIX2_BC_STRING_MAX
+  1000
+ 
+ 	)
+ 
+ 41 
+ 	#_POSIX2_COLL_WEIGHTS_MAX
+  2
+ 
+ 	)
+ 
+ 45 
+ 	#_POSIX2_EXPR_NEST_MAX
+  32
+ 
+ 	)
+ 
+ 48 
+ 	#_POSIX2_LINE_MAX
+  2048
+ 
+ 	)
+ 
+ 52 
+ 	#_POSIX2_RE_DUP_MAX
+  255
+ 
+ 	)
+ 
+ 56 
+ 	#_POSIX2_CHARCLASS_NAME_MAX
+  14
+ 
+ 	)
+ 
+ 63 #iâdef 
+ BC_BASE_MAX
+ 
+ 
+ 64 
+ 	#BC_BASE_MAX
+  
+ _POSIX2_BC_BASE_MAX
+ 
+ 
+ 	)
+ 
+ 66 #iâdef 
+ BC_DIM_MAX
+ 
+ 
+ 67 
+ 	#BC_DIM_MAX
+  
+ _POSIX2_BC_DIM_MAX
+ 
+ 
+ 	)
+ 
+ 69 #iâdef 
+ BC_SCALE_MAX
+ 
+ 
+ 70 
+ 	#BC_SCALE_MAX
+  
+ _POSIX2_BC_SCALE_MAX
+ 
+ 
+ 	)
+ 
+ 72 #iâdef 
+ BC_STRING_MAX
+ 
+ 
+ 73 
+ 	#BC_STRING_MAX
+  
+ _POSIX2_BC_STRING_MAX
+ 
+ 
+ 	)
+ 
+ 75 #iâdef 
+ COLL_WEIGHTS_MAX
+ 
+ 
+ 76 
+ 	#COLL_WEIGHTS_MAX
+  255
+ 
+ 	)
+ 
+ 78 #iâdef 
+ EXPR_NEST_MAX
+ 
+ 
+ 79 
+ 	#EXPR_NEST_MAX
+  
+ _POSIX2_EXPR_NEST_MAX
+ 
+ 
+ 	)
+ 
+ 81 #iâdef 
+ LINE_MAX
+ 
+ 
+ 82 
+ 	#LINE_MAX
+  
+ _POSIX2_LINE_MAX
+ 
+ 
+ 	)
+ 
+ 84 #iâdef 
+ CHARCLASS_NAME_MAX
+ 
+ 
+ 85 
+ 	#CHARCLASS_NAME_MAX
+  2048
+ 
+ 	)
+ 
+ 89 
+ 	#RE_DUP_MAX
+  (0x7fff)
+ 
+ 	)
+ 
+ 	@/usr/include/bits/pthreadtypes.h
+ 
+ 15 #ià!
+ defšed
+  
+ _BITS_TYPES_H
+  && !defšed 
+ _PTHREAD_H
+ 
+ 
+ 19 #iâdeà
+ _BITS_PTHREADTYPES_H
+ 
+ 
+ 20 
+ 	#_BITS_PTHREADTYPES_H
+  1
+ 
+ 	)
+ 
+ 22 
+ 	#__Ãed_sched·¿m
+ 
+ 
+ 	)
+ 
+ 23 
+ 	~<b™s/sched.h
+ >
+ 
+ 26 
+ 	s_±h»ad_ç¡lock
+ 
+ 
+ 28 
+ 	m__¡©us
+ ;
+ 
+ 29 
+ 	m__¥šlock
+ ;
+ 
+ 33 #iâdeà
+ _PTHREAD_DESCR_DEFINED
+ 
+ 
+ 35 
+ _±h»ad_desü_¡ruù
+  *
+ 	t_±h»ad_desü
+ ;
+ 
+ 36 
+ 	#_PTHREAD_DESCR_DEFINED
+ 
+ 
+ 	)
+ 
+ 41 
+ 	s__±h»ad_©Œ_s
+ 
+ 
+ 43 
+ 	m__d‘ach¡©e
+ ;
+ 
+ 44 
+ 	m__schedpÞicy
+ ;
+ 
+ 45 
+ __sched_·¿m
+  
+ 	m__sched·¿m
+ ;
+ 
+ 46 
+ 	m__šh”™sched
+ ;
+ 
+ 47 
+ 	m__scÝe
+ ;
+ 
+ 48 
+ size_t
+  
+ 	m__gu¬dsize
+ ;
+ 
+ 49 
+ 	m__¡ackaddr_£t
+ ;
+ 
+ 50 *
+ 	m__¡ackaddr
+ ;
+ 
+ 51 
+ size_t
+  
+ 	m__¡acksize
+ ;
+ 
+ 52 } 
+ 	t±h»ad_©Œ_t
+ ;
+ 
+ 58 
+ _±h»ad_ç¡lock
+  
+ 	m__c_lock
+ ;
+ 
+ 59 
+ _±h»ad_desü
+  
+ 	m__c_wa™šg
+ ;
+ 
+ 60 } 
+ 	t±h»ad_cÚd_t
+ ;
+ 
+ 66 
+ 	m__dummy
+ ;
+ 
+ 67 } 
+ 	t±h»ad_cÚd©Œ_t
+ ;
+ 
+ 70 
+ 	t±h»ad_key_t
+ ;
+ 
+ 78 
+ 	m__m_ȣrved
+ ;
+ 
+ 79 
+ 	m__m_couÁ
+ ;
+ 
+ 80 
+ _±h»ad_desü
+  
+ 	m__m_owÃr
+ ;
+ 
+ 81 
+ 	m__m_kšd
+ ;
+ 
+ 82 
+ _±h»ad_ç¡lock
+  
+ 	m__m_lock
+ ;
+ 
+ 83 } 
+ 	t±h»ad_mu‹x_t
+ ;
+ 
+ 89 
+ 	m__mu‹xkšd
+ ;
+ 
+ 90 } 
+ 	t±h»ad_mu‹x©Œ_t
+ ;
+ 
+ 94 
+ 	t±h»ad_Úû_t
+ ;
+ 
+ 97 #ifdeà
+ __USE_UNIX98
+ 
+ 
+ 99 
+ 	s_±h»ad_rwlock_t
+ 
+ 
+ 101 
+ _±h»ad_ç¡lock
+  
+ 	m__rw_lock
+ ;
+ 
+ 102 
+ 	m__rw_»ad”s
+ ;
+ 
+ 103 
+ _±h»ad_desü
+  
+ 	m__rw_wr™”
+ ;
+ 
+ 104 
+ _±h»ad_desü
+  
+ 	m__rw_»ad_wa™šg
+ ;
+ 
+ 105 
+ _±h»ad_desü
+  
+ 	m__rw_wr™e_wa™šg
+ ;
+ 
+ 106 
+ 	m__rw_kšd
+ ;
+ 
+ 107 
+ 	m__rw_psh¬ed
+ ;
+ 
+ 108 } 
+ 	t±h»ad_rwlock_t
+ ;
+ 
+ 114 
+ 	m__lockkšd
+ ;
+ 
+ 115 
+ 	m__psh¬ed
+ ;
+ 
+ 116 } 
+ 	t±h»ad_rwlock©Œ_t
+ ;
+ 
+ 119 #ifdeà
+ __USE_XOPEN2K
+ 
+ 
+ 121 vÞ©ž
+ 	t±h»ad_¥šlock_t
+ ;
+ 
+ 125 
+ _±h»ad_ç¡lock
+  
+ 	m__ba_lock
+ ;
+ 
+ 126 
+ 	m__ba_»quœed
+ ;
+ 
+ 127 
+ 	m__ba_´e£Á
+ ;
+ 
+ 128 
+ _±h»ad_desü
+  
+ 	m__ba_wa™šg
+ ;
+ 
+ 129 } 
+ 	t±h»ad_b¬r›r_t
+ ;
+ 
+ 133 
+ 	m__psh¬ed
+ ;
+ 
+ 134 } 
+ 	t±h»ad_b¬r›¿‰r_t
+ ;
+ 
+ 140 
+ 	t±h»ad_t
+ ;
+ 
+ 	@/usr/include/bits/sockaddr.h
+ 
+ 24 #iâdeà
+ _BITS_SOCKADDR_H
+ 
+ 
+ 25 
+ 	#_BITS_SOCKADDR_H
+  1
+ 
+ 	)
+ 
+ 29 
+ 	t§_çmžy_t
+ ;
+ 
+ 35 
+ 	#__SOCKADDR_COMMON
+ (
+ §_´efix
+ ) \
+ 
+ 36 
+ §_çmžy_t
+  
+ §_´efix
+ ##
+ çmžy
+ 
+ 
+ 	)
+ 
+ 38 
+ 	#__SOCKADDR_COMMON_SIZE
+  ( ())
+ 
+ 	)
+ 
+ 	@/usr/include/bits/stdio-lock.h
+ 
+ 20 #iâdeà
+ _BITS_STDIO_LOCK_H
+ 
+ 
+ 21 
+ 	#_BITS_STDIO_LOCK_H
+  1
+ 
+ 	)
+ 
+ 23 
+ 	~<b™s/libc-lock.h
+ >
+ 
+ 25 
+ 	$__libc_lock_defše_»cursive
+  (, 
+ _IO_lock_t
+ )
+ 
+ 28 #ifdeà
+ 	t_LIBC_LOCK_RECURSIVE_INITIALIZER
+ 
+ 
+ 29 
+ 	t_IO_lock_š™Ÿliz”
+  
+ 	t_LIBC_LOCK_RECURSIVE_INITIALIZER
+ 
+ 
+ 	)
+ 
+ 30 #–ià
+ 	t_IO_MTSAFE_IO
+ 
+ 
+ 31 #”rÜ 
+ 	tlibio
+  
+ 	tÃeds
+  
+ 	t»cursive
+  
+ 	tmu‹xes
+  
+ 	t_IO_MTSAFE_IO
+ 
+ 
+ 34 
+ 	t_IO_lock_š™
+ (
+ 	t_Çme
+ è
+ 	t__libc_lock_š™_»cursive
+  (_Çme)
+ 
+ 	)
+ 
+ 35 
+ 	t_IO_lock_fši
+ (
+ 	t_Çme
+ è
+ 	t__libc_lock_fši_»cursive
+  (_Çme)
+ 
+ 	)
+ 
+ 36 
+ 	t_IO_lock_lock
+ (
+ 	t_Çme
+ è
+ 	t__libc_lock_lock_»cursive
+  (_Çme)
+ 
+ 	)
+ 
+ 37 
+ 	t_IO_lock_uÆock
+ (
+ 	t_Çme
+ è
+ 	t__libc_lock_uÆock_»cursive
+  (_Çme)
+ 
+ 	)
+ 
+ 40 
+ 	t_IO_þ—nup_»giÚ_¡¬t
+ (
+ 	t_fù
+ , 
+ 	t_å
+ ) \
+ 
+ 41 
+ 	t__libc_þ—nup_»giÚ_¡¬t
+  (((
+ 	t_å
+ )->
+ 	t_æags
+  & 
+ 	t_IO_USER_LOCK
+ è=ð0, 
+ 	t_fù
+ , _å)
+ 
+ 	)
+ 
+ 42 
+ 	t_IO_þ—nup_»giÚ_¡¬t_nßrg
+ (
+ 	t_fù
+ ) \
+ 
+ 43 
+ 	t__libc_þ—nup_»giÚ_¡¬t
+  (1, 
+ 	t_fù
+ , 
+ 	tNULL
+ )
+ 
+ 	)
+ 
+ 44 
+ 	t_IO_þ—nup_»giÚ_’d
+ (
+ 	t_do™
+ ) \
+ 
+ 45 
+ 	t__libc_þ—nup_»giÚ_’d
+  (
+ 	t_do™
+ )
+ 
+ 	)
+ 
+ 	@/usr/include/bits/uio.h
+ 
+ 19 #iâdeà
+ _SYS_UIO_H
+ 
+ 
+ 24 
+ 	~<sys/ty³s.h
+ >
+ 
+ 38 
+ 	#UIO_MAXIOV
+  1024
+ 
+ 	)
+ 
+ 42 
+ 	siovec
+ 
+ 
+ 44 *
+ 	miov_ba£
+ ;
+ 
+ 45 
+ size_t
+  
+ 	miov_Ën
+ ;
+ 
+ 	@/usr/include/bits/wchar.h
+ 
+ 20 #iâdeà
+ _BITS_WCHAR_H
+ 
+ 
+ 21 
+ 	#_BITS_WCHAR_H
+  1
+ 
+ 	)
+ 
+ 23 
+ 	#__WCHAR_MIN
+  (-2147483647È- 1l)
+ 
+ 	)
+ 
+ 24 
+ 	#__WCHAR_MAX
+  (2147483647l)
+ 
+ 	)
+ 
+ 	@/usr/include/bits/wordsize.h
+ 
+ 19 
+ 	#__WORDSIZE
+  32
+ 
+ 	)
+ 
+ 	@/usr/include/bits/xopen_lim.h
+ 
+ 30 #iâdeà
+ _XOPEN_LIM_H
+ 
+ 
+ 31 
+ 	#_XOPEN_LIM_H
+  1
+ 
+ 	)
+ 
+ 33 
+ 	#__Ãed_IOV_MAX
+ 
+ 
+ 	)
+ 
+ 34 
+ 	~<b™s/¡dio_lim.h
+ >
+ 
+ 66 
+ 	#_XOPEN_IOV_MAX
+  
+ _POSIX_UIO_MAXIOV
+ 
+ 
+ 	)
+ 
+ 71 
+ 	#NL_ARGMAX
+  
+ _POSIX_ARG_MAX
+ 
+ 
+ 	)
+ 
+ 74 
+ 	#NL_LANGMAX
+  
+ _POSIX2_LINE_MAX
+ 
+ 
+ 	)
+ 
+ 77 
+ 	#NL_MSGMAX
+  
+ INT_MAX
+ 
+ 
+ 	)
+ 
+ 81 
+ 	#NL_NMAX
+  
+ INT_MAX
+ 
+ 
+ 	)
+ 
+ 84 
+ 	#NL_SETMAX
+  
+ INT_MAX
+ 
+ 
+ 	)
+ 
+ 87 
+ 	#NL_TEXTMAX
+  
+ INT_MAX
+ 
+ 
+ 	)
+ 
+ 90 
+ 	#NZERO
+  20
+ 
+ 	)
+ 
+ 94 #ifdeà
+ INT_MAX
+ 
+ 
+ 95 #ià
+ INT_MAX
+  == 32767
+ 
+ 96 
+ 	#WORD_BIT
+  16
+ 
+ 	)
+ 
+ 98 #ià
+ INT_MAX
+  == 2147483647
+ 
+ 99 
+ 	#WORD_BIT
+  32
+ 
+ 	)
+ 
+ 102 
+ 	#WORD_BIT
+  64
+ 
+ 	)
+ 
+ 105 #–ià
+ defšed
+  
+ __INT_MAX__
+ 
+ 
+ 106 #ià
+ __INT_MAX__
+  == 32767
+ 
+ 107 
+ 	#WORD_BIT
+  16
+ 
+ 	)
+ 
+ 109 #ià
+ __INT_MAX__
+  == 2147483647
+ 
+ 110 
+ 	#WORD_BIT
+  32
+ 
+ 	)
+ 
+ 113 
+ 	#WORD_BIT
+  64
+ 
+ 	)
+ 
+ 117 
+ 	#WORD_BIT
+  32
+ 
+ 	)
+ 
+ 121 #ifdeà
+ LONG_MAX
+ 
+ 
+ 122 #ià
+ LONG_MAX
+  == 2147483647
+ 
+ 123 
+ 	#LONG_BIT
+  32
+ 
+ 	)
+ 
+ 126 
+ 	#LONG_BIT
+  64
+ 
+ 	)
+ 
+ 128 #–ià
+ defšed
+  
+ __LONG_MAX__
+ 
+ 
+ 129 #ià
+ __LONG_MAX__
+  == 2147483647
+ 
+ 130 
+ 	#LONG_BIT
+  32
+ 
+ 	)
+ 
+ 133 
+ 	#LONG_BIT
+  64
+ 
+ 	)
+ 
+ 136 
+ 	~<b™s/wÜdsize.h
+ >
+ 
+ 137 #ià
+ __WORDSIZE
+  == 64
+ 
+ 138 
+ 	#LONG_BIT
+  64
+ 
+ 	)
+ 
+ 140 
+ 	#LONG_BIT
+  32
+ 
+ 	)
+ 
+ 	@/usr/include/gnu/stubs.h
+ 
+ 5 
+ 	#__¡ub___k”Ãl_co¦
+ 
+ 
+ 	)
+ 
+ 6 
+ 	#__¡ub___k”Ãl_sšl
+ 
+ 
+ 	)
+ 
+ 7 
+ 	#__¡ub___k”Ãl_Æ
+ 
+ 
+ 	)
+ 
+ 8 
+ 	#__¡ub_chæags
+ 
+ 
+ 	)
+ 
+ 9 
+ 	#__¡ub_ç‰ach
+ 
+ 
+ 	)
+ 
+ 10 
+ 	#__¡ub_fchæags
+ 
+ 
+ 	)
+ 
+ 11 
+ 	#__¡ub_fd‘ach
+ 
+ 
+ 	)
+ 
+ 12 
+ 	#__¡ub_ãxecve
+ 
+ 
+ 	)
+ 
+ 13 
+ 	#__¡ub_g‰y
+ 
+ 
+ 	)
+ 
+ 14 
+ 	#__¡ub_posix_çdvi£
+ 
+ 
+ 	)
+ 
+ 15 
+ 	#__¡ub_posix_çdvi£64
+ 
+ 
+ 	)
+ 
+ 16 
+ 	#__¡ub_»voke
+ 
+ 
+ 	)
+ 
+ 17 
+ 	#__¡ub_£Žogš
+ 
+ 
+ 	)
+ 
+ 18 
+ 	#__¡ub_sig»tuº
+ 
+ 
+ 	)
+ 
+ 19 
+ 	#__¡ub_s¡k
+ 
+ 
+ 	)
+ 
+ 20 
+ 	#__¡ub_¡ty
+ 
+ 
+ 	)
+ 
+ 	@/usr/include/linux/errno.h
+ 
+ 1 #iâdeà
+ _LINUX_ERRNO_H
+ 
+ 
+ 2 
+ 	#_LINUX_ERRNO_H
+ 
+ 
+ 	)
+ 
+ 4 
+ 	~<asm/Ӽo.h
+ >
+ 
+ 	@/usr/include/sys/cdefs.h
+ 
+ 19 #iâdef 
+ _SYS_CDEFS_H
+ 
+ 
+ 20 
+ 	#_SYS_CDEFS_H
+  1
+ 
+ 	)
+ 
+ 23 #iâdeà
+ _FEATURES_H
+ 
+ 
+ 24 
+ 	~<ã©u»s.h
+ >
+ 
+ 30 #ià
+ defšed
+  
+ __GNUC__
+  && !defšed 
+ __STDC__
+ 
+ 
+ 35 #undeà
+ __P
+ 
+ 
+ 36 #undeà
+ __PMT
+ 
+ 
+ 38 #ifdeà
+ __GNUC__
+ 
+ 
+ 43 #ià
+ defšed
+  
+ __ýlu¥lus
+  && 
+ __GNUC_PREREQ
+  (2,8)
+ 
+ 44 
+ 	#__THROW
+  
+ 	`throw
+  ()
+ 
+ 	)
+ 
+ 46 
+ 	#__THROW
+ 
+ 
+ 	)
+ 
+ 48 
+ 	#__P
+ (
+ ¬gs
+ è¬g 
+ __THROW
+ 
+ 
+ 	)
+ 
+ 51 
+ 	#__PMT
+ (
+ ¬gs
+ è
+ 	)
+ args
+ 
+ 55 
+ 	#__šlše
+ 
+ 
+ 	)
+ 
+ 57 
+ 	#__THROW
+ 
+ 
+ 	)
+ 
+ 58 
+ 	#__P
+ (
+ ¬gs
+ è
+ 	)
+ args
+ 
+ 59 
+ 	#__PMT
+ (
+ ¬gs
+ è
+ 	)
+ args
+ 
+ 61 
+ 	#__cڡ
+  cڡ
+ 
+ 	)
+ 
+ 62 
+ 	#__sigÃd
+  sigÃd
+ 
+ 	)
+ 
+ 63 
+ 	#__vÞ©že
+  vÞ©že
+ 
+ 	)
+ 
+ 70 
+ 	#__CONCAT
+ (
+ x
+ ,
+ y
+ èx ## 
+ 	)
+ y
+ 
+ 71 
+ 	#__STRING
+ (
+ x
+ è#x
+ 
+ 	)
+ 
+ 74 
+ 	#__±r_t
+  *
+ 
+ 	)
+ 
+ 75 
+ 	#__lÚg_doubË_t
+  
+ 
+ 	)
+ 
+ 79 #ifdef 
+ __ýlu¥lus
+ 
+ 
+ 80 
+ 	#__BEGIN_DECLS
+  
"C" {
+ 
+ 	)
+ 
+ 81 
+ 	#__END_DECLS
+  }
+ 
+ 	)
+ 
+ 83 
+ 	#__BEGIN_DECLS
+ 
+ 
+ 	)
+ 
+ 84 
+ 	#__END_DECLS
+ 
+ 
+ 	)
+ 
+ 89 #iâdeà
+ __BOUNDED_POINTERS__
+ 
+ 
+ 90 
+ 	#__bounded
+ 
+ 
+ 	)
+ 
+ 91 
+ 	#__unbounded
+ 
+ 
+ 	)
+ 
+ 92 
+ 	#__±rv®ue
+ 
+ 
+ 	)
+ 
+ 97 #ià
+ __GNUC_PREREQ
+  (2,97)
+ 
+ 99 
+ 	#__æex¬r
+  []
+ 
+ 	)
+ 
+ 101 #ifdeà
+ __GNUC__
+ 
+ 
+ 102 
+ 	#__æex¬r
+  [0]
+ 
+ 	)
+ 
+ 104 #ià
+ defšed
+  
+ __STDC_VERSION__
+  && __STDC_VERSION__ >= 199901L
+ 
+ 105 
+ 	#__æex¬r
+  []
+ 
+ 	)
+ 
+ 108 
+ 	#__æex¬r
+  [1]
+ 
+ 	)
+ 
+ 124 #ià
+ defšed
+  
+ __GNUC__
+  && __GNUC__ >= 2
+ 
+ 126 
+ 	#__REDIRECT
+ (
+ Çme
+ , 
+ ´Ùo
+ , 
+ ®Ÿs
+ èÇm´ÙØ
+ 	`__asm__
+  (
+ 	`__ASMNAME
+  (#®Ÿs))
+ 
+ 	)
+ 
+ 127 
+ 	#__ASMNAME
+ (
+ úame
+ è
+ 	`__ASMNAME2
+  (
+ __USER_LABEL_PREFIX__
+ , cÇme)
+ 
+ 	)
+ 
+ 128 
+ 	#__ASMNAME2
+ (
+ ´efix
+ , 
+ úame
+ è
+ 	`__STRING
+  (´efixè
+ 	)
+ cname
+ 
+ 141 #ià!
+ defšed
+  
+ __GNUC__
+  || __GNUC__ < 2
+ 
+ 142 
+ 	#__©Œibu‹__
+ (
+ xyz
+ è
+ 
+ 	)
+ 
+ 148 #ià
+ __GNUC_PREREQ
+  (2,96)
+ 
+ 149 
+ 	#__©Œibu‹_m®loc__
+  
+ 	`__©Œibu‹__
+  ((
+ __m®loc__
+ ))
+ 
+ 	)
+ 
+ 151 
+ 	#__©Œibu‹_m®loc__
+ 
+ 
+ 	)
+ 
+ 157 #ià
+ __GNUC_PREREQ
+  (2,96)
+ 
+ 158 
+ 	#__©Œibu‹_pu»__
+  
+ 	`__©Œibu‹__
+  ((
+ __pu»__
+ ))
+ 
+ 	)
+ 
+ 160 
+ 	#__©Œibu‹_pu»__
+ 
+ 
+ 	)
+ 
+ 166 #ià
+ __GNUC_PREREQ
+  (3,1)
+ 
+ 167 
+ 	#__©Œibu‹_u£d__
+  
+ 	`__©Œibu‹__
+  ((
+ __u£d__
+ ))
+ 
+ 	)
+ 
+ 168 
+ 	#__©Œibu‹_nošlše__
+  
+ 	`__©Œibu‹__
+  ((
+ __nošlše__
+ ))
+ 
+ 	)
+ 
+ 170 
+ 	#__©Œibu‹_u£d__
+  
+ 	`__©Œibu‹__
+  ((
+ __unu£d__
+ ))
+ 
+ 	)
+ 
+ 171 
+ 	#__©Œibu‹_nošlše__
+ 
+ 
+ 	)
+ 
+ 180 #ià
+ __GNUC_PREREQ
+  (2,8)
+ 
+ 181 
+ 	#__©Œibu‹_fÜm©_¬g__
+ (
+ x
+ è
+ 	`__©Œibu‹__
+  ((
+ 	`__fÜm©_¬g__
+  (x)))
+ 
+ 	)
+ 
+ 183 
+ 	#__©Œibu‹_fÜm©_¬g__
+ (
+ x
+ è
+ 
+ 	)
+ 
+ 190 #ià
+ __GNUC_PREREQ
+  (2,97)
+ 
+ 191 
+ 	#__©Œibu‹_fÜm©_¡rfmÚ__
+ (
+ a
+ ,
+ b
+ ) \
+ 
+ 192 
+ 	`__©Œibu‹__
+  ((
+ 	`__fÜm©__
+  (
+ __¡rfmÚ__
+ , 
+ a
+ , 
+ b
+ )))
+ 
+ 	)
+ 
+ 194 
+ 	#__©Œibu‹_fÜm©_¡rfmÚ__
+ (
+ a
+ ,
+ b
+ è
+ 
+ 	)
+ 
+ 201 #ià!
+ __GNUC_PREREQ
+  (2,8)
+ 
+ 202 
+ 	#__ex‹nsiÚ__
+ 
+ 
+ 	)
+ 
+ 206 #ià!
+ __GNUC_PREREQ
+  (2,92)
+ 
+ 207 
+ 	#__»¡riù
+ 
+ 
+ 	)
+ 
+ 213 #ià
+ __GNUC_PREREQ
+  (3,1è&& !
+ defšed
+  
+ __GNUG__
+ 
+ 
+ 214 
+ 	#__»¡riù_¬r
+  
+ __»¡riù
+ 
+ 
+ 	)
+ 
+ 216 #ifdeà
+ __GNUC__
+ 
+ 
+ 217 
+ 	#__»¡riù_¬r
+ 
+ 
+ 	)
+ 
+ 219 #ià
+ defšed
+  
+ __STDC_VERSION__
+  && __STDC_VERSION__ >= 199901L
+ 
+ 220 
+ 	#__»¡riù_¬r
+  
+ »¡riù
+ 
+ 
+ 	)
+ 
+ 223 
+ 	#__»¡riù_¬r
+ 
+ 
+ 	)
+ 
+ 	@/usr/include/sys/ucontext.h
+ 
+ 19 #iâdeà
+ _SYS_UCONTEXT_H
+ 
+ 
+ 20 
+ 	#_SYS_UCONTEXT_H
+  1
+ 
+ 	)
+ 
+ 22 
+ 	~<ã©u»s.h
+ >
+ 
+ 23 
+ 	~<sigÇl.h
+ >
+ 
+ 27 
+ 	~<b™s/sigcÚ‹xt.h
+ >
+ 
+ 31 
+ 	tg»g_t
+ ;
+ 
+ 34 
+ 	#NGREG
+  19
+ 
+ 	)
+ 
+ 37 
+ g»g_t
+  
+ 	tg»g£t_t
+ [
+ NGREG
+ ];
+ 
+ 39 #ifdeà
+ __USE_GNU
+ 
+ 
+ 43 
+ 	mREG_GS
+  = 0,
+ 
+ 44 
+ 	#REG_GS
+  
+ REG_GS
+ 
+ 
+ 	)
+ 
+ 45 
+ 	mREG_FS
+ ,
+ 
+ 46 
+ 	#REG_FS
+  
+ REG_FS
+ 
+ 
+ 	)
+ 
+ 47 
+ 	mREG_ES
+ ,
+ 
+ 48 
+ 	#REG_ES
+  
+ REG_ES
+ 
+ 
+ 	)
+ 
+ 49 
+ 	mREG_DS
+ ,
+ 
+ 50 
+ 	#REG_DS
+  
+ REG_DS
+ 
+ 
+ 	)
+ 
+ 51 
+ 	mREG_EDI
+ ,
+ 
+ 52 
+ 	#REG_EDI
+  
+ REG_EDI
+ 
+ 
+ 	)
+ 
+ 53 
+ 	mREG_ESI
+ ,
+ 
+ 54 
+ 	#REG_ESI
+  
+ REG_ESI
+ 
+ 
+ 	)
+ 
+ 55 
+ 	mREG_EBP
+ ,
+ 
+ 56 
+ 	#REG_EBP
+  
+ REG_EBP
+ 
+ 
+ 	)
+ 
+ 57 
+ 	mREG_ESP
+ ,
+ 
+ 58 
+ 	#REG_ESP
+  
+ REG_ESP
+ 
+ 
+ 	)
+ 
+ 59 
+ 	mREG_EBX
+ ,
+ 
+ 60 
+ 	#REG_EBX
+  
+ REG_EBX
+ 
+ 
+ 	)
+ 
+ 61 
+ 	mREG_EDX
+ ,
+ 
+ 62 
+ 	#REG_EDX
+  
+ REG_EDX
+ 
+ 
+ 	)
+ 
+ 63 
+ 	mREG_ECX
+ ,
+ 
+ 64 
+ 	#REG_ECX
+  
+ REG_ECX
+ 
+ 
+ 	)
+ 
+ 65 
+ 	mREG_EAX
+ ,
+ 
+ 66 
+ 	#REG_EAX
+  
+ REG_EAX
+ 
+ 
+ 	)
+ 
+ 67 
+ 	mREG_TRAPNO
+ ,
+ 
+ 68 
+ 	#REG_TRAPNO
+  
+ REG_TRAPNO
+ 
+ 
+ 	)
+ 
+ 69 
+ 	mREG_ERR
+ ,
+ 
+ 70 
+ 	#REG_ERR
+  
+ REG_ERR
+ 
+ 
+ 	)
+ 
+ 71 
+ 	mREG_EIP
+ ,
+ 
+ 72 
+ 	#REG_EIP
+  
+ REG_EIP
+ 
+ 
+ 	)
+ 
+ 73 
+ 	mREG_CS
+ ,
+ 
+ 74 
+ 	#REG_CS
+  
+ REG_CS
+ 
+ 
+ 	)
+ 
+ 75 
+ 	mREG_EFL
+ ,
+ 
+ 76 
+ 	#REG_EFL
+  
+ REG_EFL
+ 
+ 
+ 	)
+ 
+ 77 
+ 	mREG_UESP
+ ,
+ 
+ 78 
+ 	#REG_UESP
+  
+ REG_UESP
+ 
+ 
+ 	)
+ 
+ 79 
+ 	mREG_SS
+ 
+ 
+ 80 
+ 	#REG_SS
+  
+ REG_SS
+ 
+ 
+ 	)
+ 
+ 85 
+ 	s_libc_å»g
+ 
+ 
+ 87 
+ 	msignifiÿnd
+ [4];
+ 
+ 88 
+ 	mexpڒt
+ ;
+ 
+ 91 
+ 	s_libc_塩e
+ 
+ 
+ 93 
+ 	mcw
+ ;
+ 
+ 94 
+ 	msw
+ ;
+ 
+ 95 
+ 	mg
+ ;
+ 
+ 96 
+ 	moff
+ ;
+ 
+ 97 
+ 	mcs£l
+ ;
+ 
+ 98 
+ 	md©aoff
+ ;
+ 
+ 99 
+ 	md©a£l
+ ;
+ 
+ 100 
+ _libc_å»g
+  
+ 	m_¡
+ [8];
+ 
+ 101 
+ 	m¡©us
+ ;
+ 
+ 105 
+ _libc_塩e
+  *
+ 	tå»g£t_t
+ ;
+ 
+ 110 
+ g»g£t_t
+  
+ 	mg»gs
+ ;
+ 
+ 113 
+ å»g£t_t
+  
+ 	må»gs
+ ;
+ 
+ 114 
+ 	mÞdmask
+ ;
+ 
+ 115 
+ 	mü2
+ ;
+ 
+ 116 } 
+ 	tmcڋxt_t
+ ;
+ 
+ 119 
+ 	sucڋxt
+ 
+ 
+ 121 
+ 	muc_æags
+ ;
+ 
+ 122 
+ ucڋxt
+  *
+ 	muc_lšk
+ ;
+ 
+ 123 
+ ¡ack_t
+  
+ 	muc_¡ack
+ ;
+ 
+ 124 
+ mcڋxt_t
+  
+ 	muc_mcڋxt
+ ;
+ 
+ 125 
+ __sig£t_t
+  
+ 	muc_sigmask
+ ;
+ 
+ 126 
+ _libc_塩e
+  
+ 	m__å»gs_mem
+ ;
+ 
+ 127 } 
+ 	tucڋxt_t
+ ;
+ 
+ 	@/usr/include/asm/errno.h
+ 
+ 1 #iâdeà
+ _I386_ERRNO_H
+ 
+ 
+ 2 
+ 	#_I386_ERRNO_H
+ 
+ 
+ 	)
+ 
+ 4 
+ 	#EPERM
+  1
+ 
+ 	)
+ 
+ 5 
+ 	#ENOENT
+  2
+ 
+ 	)
+ 
+ 6 
+ 	#ESRCH
+  3
+ 
+ 	)
+ 
+ 7 
+ 	#EINTR
+  4
+ 
+ 	)
+ 
+ 8 
+ 	#EIO
+  5
+ 
+ 	)
+ 
+ 9 
+ 	#ENXIO
+  6
+ 
+ 	)
+ 
+ 10 
+ 	#E2BIG
+  7
+ 
+ 	)
+ 
+ 11 
+ 	#ENOEXEC
+  8
+ 
+ 	)
+ 
+ 12 
+ 	#EBADF
+  9
+ 
+ 	)
+ 
+ 13 
+ 	#ECHILD
+  10
+ 
+ 	)
+ 
+ 14 
+ 	#EAGAIN
+  11
+ 
+ 	)
+ 
+ 15 
+ 	#ENOMEM
+  12
+ 
+ 	)
+ 
+ 16 
+ 	#EACCES
+  13
+ 
+ 	)
+ 
+ 17 
+ 	#EFAULT
+  14
+ 
+ 	)
+ 
+ 18 
+ 	#ENOTBLK
+  15
+ 
+ 	)
+ 
+ 19 
+ 	#EBUSY
+  16
+ 
+ 	)
+ 
+ 20 
+ 	#EEXIST
+  17
+ 
+ 	)
+ 
+ 21 
+ 	#EXDEV
+  18
+ 
+ 	)
+ 
+ 22 
+ 	#ENODEV
+  19
+ 
+ 	)
+ 
+ 23 
+ 	#ENOTDIR
+  20
+ 
+ 	)
+ 
+ 24 
+ 	#EISDIR
+  21
+ 
+ 	)
+ 
+ 25 
+ 	#EINVAL
+  22
+ 
+ 	)
+ 
+ 26 
+ 	#ENFILE
+  23
+ 
+ 	)
+ 
+ 27 
+ 	#EMFILE
+  24
+ 
+ 	)
+ 
+ 28 
+ 	#ENOTTY
+  25
+ 
+ 	)
+ 
+ 29 
+ 	#ETXTBSY
+  26
+ 
+ 	)
+ 
+ 30 
+ 	#EFBIG
+  27
+ 
+ 	)
+ 
+ 31 
+ 	#ENOSPC
+  28
+ 
+ 	)
+ 
+ 32 
+ 	#ESPIPE
+  29
+ 
+ 	)
+ 
+ 33 
+ 	#EROFS
+  30
+ 
+ 	)
+ 
+ 34 
+ 	#EMLINK
+  31
+ 
+ 	)
+ 
+ 35 
+ 	#EPIPE
+  32
+ 
+ 	)
+ 
+ 36 
+ 	#EDOM
+  33
+ 
+ 	)
+ 
+ 37 
+ 	#ERANGE
+  34
+ 
+ 	)
+ 
+ 38 
+ 	#EDEADLK
+  35
+ 
+ 	)
+ 
+ 39 
+ 	#ENAMETOOLONG
+  36
+ 
+ 	)
+ 
+ 40 
+ 	#ENOLCK
+  37
+ 
+ 	)
+ 
+ 41 
+ 	#ENOSYS
+  38
+ 
+ 	)
+ 
+ 42 
+ 	#ENOTEMPTY
+  39
+ 
+ 	)
+ 
+ 43 
+ 	#ELOOP
+  40
+ 
+ 	)
+ 
+ 44 
+ 	#EWOULDBLOCK
+  
+ EAGAIN
+ 
+ 
+ 	)
+ 
+ 45 
+ 	#ENOMSG
+  42
+ 
+ 	)
+ 
+ 46 
+ 	#EIDRM
+  43
+ 
+ 	)
+ 
+ 47 
+ 	#ECHRNG
+  44
+ 
+ 	)
+ 
+ 48 
+ 	#EL2NSYNC
+  45
+ 
+ 	)
+ 
+ 49 
+ 	#EL3HLT
+  46
+ 
+ 	)
+ 
+ 50 
+ 	#EL3RST
+  47
+ 
+ 	)
+ 
+ 51 
+ 	#ELNRNG
+  48
+ 
+ 	)
+ 
+ 52 
+ 	#EUNATCH
+  49
+ 
+ 	)
+ 
+ 53 
+ 	#ENOCSI
+  50
+ 
+ 	)
+ 
+ 54 
+ 	#EL2HLT
+  51
+ 
+ 	)
+ 
+ 55 
+ 	#EBADE
+  52
+ 
+ 	)
+ 
+ 56 
+ 	#EBADR
+  53
+ 
+ 	)
+ 
+ 57 
+ 	#EXFULL
+  54
+ 
+ 	)
+ 
+ 58 
+ 	#ENOANO
+  55
+ 
+ 	)
+ 
+ 59 
+ 	#EBADRQC
+  56
+ 
+ 	)
+ 
+ 60 
+ 	#EBADSLT
+  57
+ 
+ 	)
+ 
+ 62 
+ 	#EDEADLOCK
+  
+ EDEADLK
+ 
+ 
+ 	)
+ 
+ 64 
+ 	#EBFONT
+  59
+ 
+ 	)
+ 
+ 65 
+ 	#ENOSTR
+  60
+ 
+ 	)
+ 
+ 66 
+ 	#ENODATA
+  61
+ 
+ 	)
+ 
+ 67 
+ 	#ETIME
+  62
+ 
+ 	)
+ 
+ 68 
+ 	#ENOSR
+  63
+ 
+ 	)
+ 
+ 69 
+ 	#ENONET
+  64
+ 
+ 	)
+ 
+ 70 
+ 	#ENOPKG
+  65
+ 
+ 	)
+ 
+ 71 
+ 	#EREMOTE
+  66
+ 
+ 	)
+ 
+ 72 
+ 	#ENOLINK
+  67
+ 
+ 	)
+ 
+ 73 
+ 	#EADV
+  68
+ 
+ 	)
+ 
+ 74 
+ 	#ESRMNT
+  69
+ 
+ 	)
+ 
+ 75 
+ 	#ECOMM
+  70
+ 
+ 	)
+ 
+ 76 
+ 	#EPROTO
+  71
+ 
+ 	)
+ 
+ 77 
+ 	#EMULTIHOP
+  72
+ 
+ 	)
+ 
+ 78 
+ 	#EDOTDOT
+  73
+ 
+ 	)
+ 
+ 79 
+ 	#EBADMSG
+  74
+ 
+ 	)
+ 
+ 80 
+ 	#EOVERFLOW
+  75
+ 
+ 	)
+ 
+ 81 
+ 	#ENOTUNIQ
+  76
+ 
+ 	)
+ 
+ 82 
+ 	#EBADFD
+  77
+ 
+ 	)
+ 
+ 83 
+ 	#EREMCHG
+  78
+ 
+ 	)
+ 
+ 84 
+ 	#ELIBACC
+  79
+ 
+ 	)
+ 
+ 85 
+ 	#ELIBBAD
+  80
+ 
+ 	)
+ 
+ 86 
+ 	#ELIBSCN
+  81
+ 
+ 	)
+ 
+ 87 
+ 	#ELIBMAX
+  82
+ 
+ 	)
+ 
+ 88 
+ 	#ELIBEXEC
+  83
+ 
+ 	)
+ 
+ 89 
+ 	#EILSEQ
+  84
+ 
+ 	)
+ 
+ 90 
+ 	#ERESTART
+  85
+ 
+ 	)
+ 
+ 91 
+ 	#ESTRPIPE
+  86
+ 
+ 	)
+ 
+ 92 
+ 	#EUSERS
+  87
+ 
+ 	)
+ 
+ 93 
+ 	#ENOTSOCK
+  88
+ 
+ 	)
+ 
+ 94 
+ 	#EDESTADDRREQ
+  89
+ 
+ 	)
+ 
+ 95 
+ 	#EMSGSIZE
+  90
+ 
+ 	)
+ 
+ 96 
+ 	#EPROTOTYPE
+  91
+ 
+ 	)
+ 
+ 97 
+ 	#ENOPROTOOPT
+  92
+ 
+ 	)
+ 
+ 98 
+ 	#EPROTONOSUPPORT
+  93
+ 
+ 	)
+ 
+ 99 
+ 	#ESOCKTNOSUPPORT
+  94
+ 
+ 	)
+ 
+ 100 
+ 	#EOPNOTSUPP
+  95
+ 
+ 	)
+ 
+ 101 
+ 	#EPFNOSUPPORT
+  96
+ 
+ 	)
+ 
+ 102 
+ 	#EAFNOSUPPORT
+  97
+ 
+ 	)
+ 
+ 103 
+ 	#EADDRINUSE
+  98
+ 
+ 	)
+ 
+ 104 
+ 	#EADDRNOTAVAIL
+  99
+ 
+ 	)
+ 
+ 105 
+ 	#ENETDOWN
+  100
+ 
+ 	)
+ 
+ 106 
+ 	#ENETUNREACH
+  101
+ 
+ 	)
+ 
+ 107 
+ 	#ENETRESET
+  102
+ 
+ 	)
+ 
+ 108 
+ 	#ECONNABORTED
+  103
+ 
+ 	)
+ 
+ 109 
+ 	#ECONNRESET
+  104
+ 
+ 	)
+ 
+ 110 
+ 	#ENOBUFS
+  105
+ 
+ 	)
+ 
+ 111 
+ 	#EISCONN
+  106
+ 
+ 	)
+ 
+ 112 
+ 	#ENOTCONN
+  107
+ 
+ 	)
+ 
+ 113 
+ 	#ESHUTDOWN
+  108
+ 
+ 	)
+ 
+ 114 
+ 	#ETOOMANYREFS
+  109
+ 
+ 	)
+ 
+ 115 
+ 	#ETIMEDOUT
+  110
+ 
+ 	)
+ 
+ 116 
+ 	#ECONNREFUSED
+  111
+ 
+ 	)
+ 
+ 117 
+ 	#EHOSTDOWN
+  112
+ 
+ 	)
+ 
+ 118 
+ 	#EHOSTUNREACH
+  113
+ 
+ 	)
+ 
+ 119 
+ 	#EALREADY
+  114
+ 
+ 	)
+ 
+ 120 
+ 	#EINPROGRESS
+  115
+ 
+ 	)
+ 
+ 121 
+ 	#ESTALE
+  116
+ 
+ 	)
+ 
+ 122 
+ 	#EUCLEAN
+  117
+ 
+ 	)
+ 
+ 123 
+ 	#ENOTNAM
+  118
+ 
+ 	)
+ 
+ 124 
+ 	#ENAVAIL
+  119
+ 
+ 	)
+ 
+ 125 
+ 	#EISNAM
+  120
+ 
+ 	)
+ 
+ 126 
+ 	#EREMOTEIO
+  121
+ 
+ 	)
+ 
+ 127 
+ 	#EDQUOT
+  122
+ 
+ 	)
+ 
+ 129 
+ 	#ENOMEDIUM
+  123
+ 
+ 	)
+ 
+ 130 
+ 	#EMEDIUMTYPE
+  124
+ 
+ 	)
+ 
+ 	@/usr/include/asm/ioctl.h
+ 
+ 6 #iâdeà
+ _ASMI386_IOCTL_H
+ 
+ 
+ 7 
+ 	#_ASMI386_IOCTL_H
+ 
+ 
+ 	)
+ 
+ 27 
+ 	#_IOC_NRBITS
+  8
+ 
+ 	)
+ 
+ 28 
+ 	#_IOC_TYPEBITS
+  8
+ 
+ 	)
+ 
+ 29 
+ 	#_IOC_SIZEBITS
+  14
+ 
+ 	)
+ 
+ 30 
+ 	#_IOC_DIRBITS
+  2
+ 
+ 	)
+ 
+ 32 
+ 	#_IOC_NRMASK
+  ((1 << 
+ _IOC_NRBITS
+ )-1)
+ 
+ 	)
+ 
+ 33 
+ 	#_IOC_TYPEMASK
+  ((1 << 
+ _IOC_TYPEBITS
+ )-1)
+ 
+ 	)
+ 
+ 34 
+ 	#_IOC_SIZEMASK
+  ((1 << 
+ _IOC_SIZEBITS
+ )-1)
+ 
+ 	)
+ 
+ 35 
+ 	#_IOC_DIRMASK
+  ((1 << 
+ _IOC_DIRBITS
+ )-1)
+ 
+ 	)
+ 
+ 37 
+ 	#_IOC_NRSHIFT
+  0
+ 
+ 	)
+ 
+ 38 
+ 	#_IOC_TYPESHIFT
+  (
+ _IOC_NRSHIFT
+ +
+ _IOC_NRBITS
+ )
+ 
+ 	)
+ 
+ 39 
+ 	#_IOC_SIZESHIFT
+  (
+ _IOC_TYPESHIFT
+ +
+ _IOC_TYPEBITS
+ )
+ 
+ 	)
+ 
+ 40 
+ 	#_IOC_DIRSHIFT
+  (
+ _IOC_SIZESHIFT
+ +
+ _IOC_SIZEBITS
+ )
+ 
+ 	)
+ 
+ 45 
+ 	#_IOC_NONE
+  0U
+ 
+ 	)
+ 
+ 46 
+ 	#_IOC_WRITE
+  1U
+ 
+ 	)
+ 
+ 47 
+ 	#_IOC_READ
+  2U
+ 
+ 	)
+ 
+ 49 
+ 	#_IOC
+ (
+ dœ
+ ,
+ ty³
+ ,
+ Ä
+ ,
+ size
+ ) \
+ 
+ 50 (((
+ dœ
+ è<< 
+ _IOC_DIRSHIFT
+ ) | \
+ 
+ 51 ((
+ ty³
+ è<< 
+ _IOC_TYPESHIFT
+ ) | \
+ 
+ 52 ((
+ Ä
+ è<< 
+ _IOC_NRSHIFT
+ ) | \
+ 
+ 53 ((
+ size
+ è<< 
+ _IOC_SIZESHIFT
+ ))
+ 
+ 	)
+ 
+ 56 
+ 	#_IO
+ (
+ ty³
+ ,
+ Ä
+ è
+ 	`_IOC
+ (
+ _IOC_NONE
+ ,Ñy³),Òr),0)
+ 
+ 	)
+ 
+ 57 
+ 	#_IOR
+ (
+ ty³
+ ,
+ Ä
+ ,
+ size
+ è
+ 	`_IOC
+ (
+ _IOC_READ
+ ,Ñy³),Òr),(size))
+ 
+ 	)
+ 
+ 58 
+ 	#_IOW
+ (
+ ty³
+ ,
+ Ä
+ ,
+ size
+ è
+ 	`_IOC
+ (
+ _IOC_WRITE
+ ,Ñy³),Òr),(size))
+ 
+ 	)
+ 
+ 59 
+ 	#_IOWR
+ (
+ ty³
+ ,
+ Ä
+ ,
+ size
+ è
+ 	`_IOC
+ (
+ _IOC_READ
+ |
+ _IOC_WRITE
+ ,Ñy³),Òr),(size))
+ 
+ 	)
+ 
+ 62 
+ 	#_IOC_DIR
+ (
+ Ä
+ è((Òrè>> 
+ _IOC_DIRSHIFT
+ è& 
+ _IOC_DIRMASK
+ )
+ 
+ 	)
+ 
+ 63 
+ 	#_IOC_TYPE
+ (
+ Ä
+ è((Òrè>> 
+ _IOC_TYPESHIFT
+ è& 
+ _IOC_TYPEMASK
+ )
+ 
+ 	)
+ 
+ 64 
+ 	#_IOC_NR
+ (
+ Ä
+ è((Òrè>> 
+ _IOC_NRSHIFT
+ è& 
+ _IOC_NRMASK
+ )
+ 
+ 	)
+ 
+ 65 
+ 	#_IOC_SIZE
+ (
+ Ä
+ è((Òrè>> 
+ _IOC_SIZESHIFT
+ è& 
+ _IOC_SIZEMASK
+ )
+ 
+ 	)
+ 
+ 69 
+ 	#IOC_IN
+  (
+ _IOC_WRITE
+  << 
+ _IOC_DIRSHIFT
+ )
+ 
+ 	)
+ 
+ 70 
+ 	#IOC_OUT
+  (
+ _IOC_READ
+  << 
+ _IOC_DIRSHIFT
+ )
+ 
+ 	)
+ 
+ 71 
+ 	#IOC_INOUT
+  ((
+ _IOC_WRITE
+ |
+ _IOC_READ
+ è<< 
+ _IOC_DIRSHIFT
+ )
+ 
+ 	)
+ 
+ 72 
+ 	#IOCSIZE_MASK
+  (
+ _IOC_SIZEMASK
+  << 
+ _IOC_SIZESHIFT
+ )
+ 
+ 	)
+ 
+ 73 
+ 	#IOCSIZE_SHIFT
+  (
+ _IOC_SIZESHIFT
+ )
+ 
+ 	)
+ 
+ 	@/usr/include/asm/sockios.h
+ 
+ 1 #iâdeà
+ __ARCH_I386_SOCKIOS__
+ 
+ 
+ 2 
+ 	#__ARCH_I386_SOCKIOS__
+ 
+ 
+ 	)
+ 
+ 5 
+ 	#FIOSETOWN
+  0x8901
+ 
+ 	)
+ 
+ 6 
+ 	#SIOCSPGRP
+  0x8902
+ 
+ 	)
+ 
+ 7 
+ 	#FIOGETOWN
+  0x8903
+ 
+ 	)
+ 
+ 8 
+ 	#SIOCGPGRP
+  0x8904
+ 
+ 	)
+ 
+ 9 
+ 	#SIOCATMARK
+  0x8905
+ 
+ 	)
+ 
+ 10 
+ 	#SIOCGSTAMP
+  0x8906
+ 
+ 	)
+ 
+ 	@/usr/include/bits/libc-lock.h
+ 
+ 20 #iâdeà
+ _BITS_LIBC_LOCK_H
+ 
+ 
+ 21 
+ 	#_BITS_LIBC_LOCK_H
+  1
+ 
+ 	)
+ 
+ 23 
+ 	~<±h»ad.h
+ >
+ 
+ 26 #ià
+ defšed
+ (
+ _LIBC
+ è|| defšed(
+ _IO_MTSAFE_IO
+ )
+ 
+ 27 
+ ±h»ad_mu‹x_t
+  
+ 	t__libc_lock_t
+ ;
+ 
+ 28 ¡ruù { 
+ ±h»ad_mu‹x_t
+  
+ 	mmu‹x
+ ; } 
+ 	t__libc_lock_»cursive_t
+ ;
+ 
+ 29 #ifdeà
+ __USE_UNIX98
+ 
+ 
+ 30 
+ ±h»ad_rwlock_t
+  
+ 	t__libc_rwlock_t
+ ;
+ 
+ 32 
+ __libc_rwlock_Ýaque__
+  
+ 	t__libc_rwlock_t
+ ;
+ 
+ 35 
+ __libc_lock_Ýaque__
+  
+ 	t__libc_lock_t
+ ;
+ 
+ 36 
+ __libc_lock_»cursive_Ýaque__
+  
+ 	t__libc_lock_»cursive_t
+ ;
+ 
+ 37 
+ __libc_rwlock_Ýaque__
+  
+ 	t__libc_rwlock_t
+ ;
+ 
+ 41 
+ ±h»ad_key_t
+  
+ 	t__libc_key_t
+ ;
+ 
+ 50 
+ 	#__libc_lock_defše
+ (
+ CLASS
+ ,
+ NAME
+ ) \
+ 
+ 51 
+ CLASS
+  
+ __libc_lock_t
+  
+ NAME
+ ;
+ 
+ 	)
+ 
+ 52 
+ 	#__libc_rwlock_defše
+ (
+ CLASS
+ ,
+ NAME
+ ) \
+ 
+ 53 
+ CLASS
+  
+ __libc_rwlock_t
+  
+ NAME
+ ;
+ 
+ 	)
+ 
+ 54 
+ 	#__libc_lock_defše_»cursive
+ (
+ CLASS
+ ,
+ NAME
+ ) \
+ 
+ 55 
+ CLASS
+  
+ __libc_lock_»cursive_t
+  
+ NAME
+ ;
+ 
+ 	)
+ 
+ 66 #ià
+ __LT_SPINLOCK_INIT
+  == 0
+ 
+ 67 
+ 	#__libc_lock_defše_š™Ÿlized
+ (
+ CLASS
+ ,
+ NAME
+ ) \
+ 
+ 68 
+ CLASS
+  
+ __libc_lock_t
+  
+ NAME
+ ;
+ 
+ 	)
+ 
+ 70 
+ 	#__libc_lock_defše_š™Ÿlized
+ (
+ CLASS
+ ,
+ NAME
+ ) \
+ 
+ 71 
+ CLASS
+  
+ __libc_lock_t
+  
+ NAME
+  = 
+ PTHREAD_MUTEX_INITIALIZER
+ ;
+ 
+ 	)
+ 
+ 74 
+ 	#__libc_rwlock_defše_š™Ÿlized
+ (
+ CLASS
+ ,
+ NAME
+ ) \
+ 
+ 75 
+ CLASS
+  
+ __libc_rwlock_t
+  
+ NAME
+  = 
+ PTHREAD_RWLOCK_INITIALIZER
+ ;
+ 
+ 	)
+ 
+ 79 
+ 	#__libc_lock_defše_š™Ÿlized_»cursive
+ (
+ CLASS
+ ,
+ NAME
+ ) \
+ 
+ 80 
+ CLASS
+  
+ __libc_lock_»cursive_t
+  
+ NAME
+  = 
+ _LIBC_LOCK_RECURSIVE_INITIALIZER
+ ;
+ 
+ 	)
+ 
+ 81 
+ 	#_LIBC_LOCK_RECURSIVE_INITIALIZER
+  \
+ 
+ 82 {
+ PTHREAD_RECURSIVE_MUTEX_INITIALIZER_NP
+ }
+ 
+ 	)
+ 
+ 86 
+ 	#__libc_lock_š™
+ (
+ NAME
+ ) \
+ 
+ 87 (
+ __±h»ad_mu‹x_š™
+  !ð
+ NULL
+  ? 
+ 	`__±h»ad_mu‹x_š™
+  (&(
+ NAME
+ ), NULLè: 0);
+ 
+ 	)
+ 
+ 88 
+ 	#__libc_rwlock_š™
+ (
+ NAME
+ ) \
+ 
+ 89 (
+ __±h»ad_rwlock_š™
+  !ð
+ NULL
+  ? 
+ 	`__±h»ad_rwlock_š™
+  (&(
+ NAME
+ ), NULLè: 0);
+ 
+ 	)
+ 
+ 92 
+ 	#__libc_lock_š™_»cursive
+ (
+ NAME
+ ) \
+ 
+ 94 ià(
+ __±h»ad_mu‹x_š™
+  !ð
+ NULL
+ ) \
+ 
+ 96 
+ ±h»ad_mu‹x©Œ_t
+  
+ __©Œ
+ ; \
+ 
+ 97 
+ 	`__±h»ad_mu‹x©Œ_š™
+  (&
+ __©Œ
+ ); \
+ 
+ 98 
+ 	`__±h»ad_mu‹x©Œ_£‰y³
+  (&
+ __©Œ
+ , 
+ PTHREAD_MUTEX_RECURSIVE_NP
+ ); \
+ 
+ 99 
+ 	`__±h»ad_mu‹x_š™
+  (&(
+ NAME
+ ).
+ mu‹x
+ , &
+ __©Œ
+ ); \
+ 
+ 100 
+ 	`__±h»ad_mu‹x©Œ_de¡roy
+  (&
+ __©Œ
+ ); \
+ 
+ 102 } 0);
+ 
+ 	)
+ 
+ 107 
+ 	#__libc_lock_fši
+ (
+ NAME
+ ) \
+ 
+ 108 (
+ __±h»ad_mu‹x_de¡roy
+  !ð
+ NULL
+  ? 
+ 	`__±h»ad_mu‹x_de¡roy
+  (&(
+ NAME
+ )è: 0);
+ 
+ 	)
+ 
+ 109 
+ 	#__libc_rwlock_fši
+ (
+ NAME
+ ) \
+ 
+ 110 (
+ __±h»ad_rwlock_de¡roy
+  !ð
+ NULL
+  ? 
+ 	`__±h»ad_rwlock_de¡roy
+  (&(
+ NAME
+ )è: 0);
+ 
+ 	)
+ 
+ 113 
+ 	#__libc_lock_fši_»cursive
+ (
+ NAME
+ è
+ 	`__libc_lock_fši
+  ((NAME).
+ mu‹x
+ )
+ 
+ 	)
+ 
+ 116 
+ 	#__libc_lock_lock
+ (
+ NAME
+ ) \
+ 
+ 117 (
+ __±h»ad_mu‹x_lock
+  !ð
+ NULL
+  ? 
+ 	`__±h»ad_mu‹x_lock
+  (&(
+ NAME
+ )è: 0);
+ 
+ 	)
+ 
+ 118 
+ 	#__libc_rwlock_rdlock
+ (
+ NAME
+ ) \
+ 
+ 119 (
+ __±h»ad_rwlock_rdlock
+  !ð
+ NULL
+  ? 
+ 	`__±h»ad_rwlock_rdlock
+  (&(
+ NAME
+ )è: 0);
+ 
+ 	)
+ 
+ 120 
+ 	#__libc_rwlock_w¾ock
+ (
+ NAME
+ ) \
+ 
+ 121 (
+ __±h»ad_rwlock_w¾ock
+  !ð
+ NULL
+  ? 
+ 	`__±h»ad_rwlock_w¾ock
+  (&(
+ NAME
+ )è: 0);
+ 
+ 	)
+ 
+ 124 
+ 	#__libc_lock_lock_»cursive
+ (
+ NAME
+ è
+ 	`__libc_lock_lock
+  ((NAME).
+ mu‹x
+ )
+ 
+ 	)
+ 
+ 127 
+ 	#__libc_lock_Œylock
+ (
+ NAME
+ ) \
+ 
+ 128 (
+ __±h»ad_mu‹x_Œylock
+  !ð
+ NULL
+  ? 
+ 	`__±h»ad_mu‹x_Œylock
+  (&(
+ NAME
+ )è: 0)
+ 
+ 	)
+ 
+ 129 
+ 	#__libc_rwlock_Œyrdlock
+ (
+ NAME
+ ) \
+ 
+ 130 (
+ __±h»ad_rwlock_Œyrdlock
+  !ð
+ NULL
+  \
+ 
+ 131 ? 
+ 	`__±h»ad_rwlock_Œyrdlock
+  (&(
+ NAME
+ )è: 0)
+ 
+ 	)
+ 
+ 132 
+ 	#__libc_rwlock_Œyw¾ock
+ (
+ NAME
+ ) \
+ 
+ 133 (
+ __±h»ad_rwlock_Œyw¾ock
+  !ð
+ NULL
+  \
+ 
+ 134 ? 
+ 	`__±h»ad_rwlock_Œyw¾ock
+  (&(
+ NAME
+ )è: 0)
+ 
+ 	)
+ 
+ 137 
+ 	#__libc_lock_Œylock_»cursive
+ (
+ NAME
+ è
+ 	`__libc_lock_Œylock
+  ((NAME).
+ mu‹x
+ )
+ 
+ 	)
+ 
+ 140 
+ 	#__libc_lock_uÆock
+ (
+ NAME
+ ) \
+ 
+ 141 (
+ __±h»ad_mu‹x_uÆock
+  !ð
+ NULL
+  ? 
+ 	`__±h»ad_mu‹x_uÆock
+  (&(
+ NAME
+ )è: 0);
+ 
+ 	)
+ 
+ 142 
+ 	#__libc_rwlock_uÆock
+ (
+ NAME
+ ) \
+ 
+ 143 (
+ __±h»ad_rwlock_uÆock
+  !ð
+ NULL
+  ? 
+ 	`__±h»ad_rwlock_uÆock
+  (&(
+ NAME
+ )è: 0);
+ 
+ 	)
+ 
+ 146 
+ 	#__libc_lock_uÆock_»cursive
+ (
+ NAME
+ è
+ 	`__libc_lock_uÆock
+  ((NAME).
+ mu‹x
+ )
+ 
+ 	)
+ 
+ 150 #ià
+ PTHREAD_ONCE_INIT
+  == 0
+ 
+ 153 
+ 	#__libc_Úû_defše
+ (
+ CLASS
+ , 
+ NAME
+ ) \
+ 
+ 154 
+ CLASS
+  
+ ±h»ad_Úû_t
+  
+ NAME
+ 
+ 
+ 	)
+ 
+ 156 
+ 	#__libc_Úû_defše
+ (
+ CLASS
+ , 
+ NAME
+ ) \
+ 
+ 157 
+ CLASS
+  
+ ±h»ad_Úû_t
+  
+ NAME
+  = 
+ PTHREAD_ONCE_INIT
+ 
+ 
+ 	)
+ 
+ 161 
+ 	#__libc_Úû
+ (
+ ONCE_CONTROL
+ , 
+ INIT_FUNCTION
+ ) \
+ 
+ 163 ià(
+ __±h»ad_Úû
+  !ð
+ NULL
+ ) \
+ 
+ 164 
+ 	`__±h»ad_Úû
+  (&(
+ ONCE_CONTROL
+ ), (
+ INIT_FUNCTION
+ )); \
+ 
+ 165 ià((
+ ONCE_CONTROL
+ è=ð
+ PTHREAD_ONCE_INIT
+ ) { \
+ 
+ 166 
+ 	`INIT_FUNCTION
+  (); \
+ 
+ 167 (
+ ONCE_CONTROL
+ èð!
+ PTHREAD_ONCE_INIT
+ ; \
+ 
+ 169 } 0)
+ 
+ 	)
+ 
+ 173 
+ 	#__libc_þ—nup_»giÚ_¡¬t
+ (
+ DOIT
+ , 
+ FCT
+ , 
+ ARG
+ ) \
+ 
+ 174 { 
+ _±h»ad_þ—nup_bufãr
+  
+ _bufãr
+ ; \
+ 
+ 175 
+ _avaž
+  = (
+ DOIT
+ è&& 
+ _±h»ad_þ—nup_push_deãr
+  !ð
+ NULL
+ ; \
+ 
+ 176 ià(
+ _avaž
+ ) { \
+ 
+ 177 
+ 	`_±h»ad_þ—nup_push_deãr
+  (&
+ _bufãr
+ , (
+ FCT
+ ), (
+ ARG
+ )); \
+ 
+ 178 }
+ 
+ 	)
+ 
+ 181 
+ 	#__libc_þ—nup_»giÚ_’d
+ (
+ DOIT
+ ) \
+ 
+ 182 ià(
+ _avaž
+ ) { \
+ 
+ 183 
+ 	`_±h»ad_þ—nup_pÝ_»¡Üe
+  (&
+ _bufãr
+ , (
+ DOIT
+ )); \
+ 
+ 185 }
+ 
+ 	)
+ 
+ 188 
+ 	#__libc_þ—nup_’d
+ (
+ DOIT
+ ) \
+ 
+ 189 ià(
+ _avaž
+ ) { \
+ 
+ 190 
+ 	`_±h»ad_þ—nup_pÝ_»¡Üe
+  (&
+ _bufãr
+ , (
+ DOIT
+ )); \
+ 
+ 191 }
+ 
+ 	)
+ 
+ 194 
+ 	#__libc_key_ü—‹
+ (
+ KEY
+ , 
+ DESTRUCTOR
+ ) \
+ 
+ 195 (
+ __±h»ad_key_ü—‹
+  !ð
+ NULL
+  ? 
+ 	`__±h»ad_key_ü—‹
+  (
+ KEY
+ , 
+ DESTRUCTOR
+ è: 1)
+ 
+ 	)
+ 
+ 198 
+ 	#__libc_g‘¥ecific
+ (
+ KEY
+ ) \
+ 
+ 199 (
+ __±h»ad_g‘¥ecific
+  !ð
+ NULL
+  ? 
+ 	`__±h»ad_g‘¥ecific
+  (
+ KEY
+ è: NULL)
+ 
+ 	)
+ 
+ 202 
+ 	#__libc_£t¥ecific
+ (
+ KEY
+ , 
+ VALUE
+ ) \
+ 
+ 203 (
+ __±h»ad_£t¥ecific
+  !ð
+ NULL
+  ? 
+ 	`__±h»ad_£t¥ecific
+  (
+ KEY
+ , 
+ VALUE
+ è: 0)
+ 
+ 	)
+ 
+ 207 
+ 	#__libc_©fÜk
+ (
+ PREPARE
+ , 
+ PARENT
+ , 
+ CHILD
+ ) \
+ 
+ 208 (
+ __±h»ad_©fÜk
+  !ð
+ NULL
+  ? 
+ 	`__±h»ad_©fÜk
+  (
+ PREPARE
+ , 
+ PARENT
+ , 
+ CHILD
+ è: 0)
+ 
+ 	)
+ 
+ 213 

+ __±h»ad_mu‹x_š™
+  (
+ ±h»ad_mu‹x_t
+  *
+ __mu‹x
+ ,
+ 
+ 214 
+ __cڡ
+  
+ ±h»ad_mu‹x©Œ_t
+  *
+ __mu‹x_©Œ
+ );
+ 
+ 216 

+ __±h»ad_mu‹x_de¡roy
+  (
+ ±h»ad_mu‹x_t
+  *
+ __mu‹x
+ );
+ 
+ 218 

+ __±h»ad_mu‹x_Œylock
+  (
+ ±h»ad_mu‹x_t
+  *
+ __mu‹x
+ );
+ 
+ 220 

+ __±h»ad_mu‹x_lock
+  (
+ ±h»ad_mu‹x_t
+  *
+ __mu‹x
+ );
+ 
+ 222 

+ __±h»ad_mu‹x_uÆock
+  (
+ ±h»ad_mu‹x_t
+  *
+ __mu‹x
+ );
+ 
+ 224 

+ __±h»ad_mu‹x©Œ_š™
+  (
+ ±h»ad_mu‹x©Œ_t
+  *
+ __©Œ
+ );
+ 
+ 226 

+ __±h»ad_mu‹x©Œ_de¡roy
+  (
+ ±h»ad_mu‹x©Œ_t
+  *
+ __©Œ
+ );
+ 
+ 228 

+ __±h»ad_mu‹x©Œ_£‰y³
+  (
+ ±h»ad_mu‹x©Œ_t
+  *
+ __©Œ
+ ,
+ 
+ 229 
+ __kšd
+ );
+ 
+ 231 #ifdeà
+ __USE_UNIX98
+ 
+ 
+ 232 

+ __±h»ad_rwlock_š™
+  (
+ ±h»ad_rwlock_t
+  *
+ __rwlock
+ ,
+ 
+ 233 
+ __cڡ
+  
+ ±h»ad_rwlock©Œ_t
+  *
+ __©Œ
+ );
+ 
+ 235 

+ __±h»ad_rwlock_de¡roy
+  (
+ ±h»ad_rwlock_t
+  *
+ __rwlock
+ );
+ 
+ 237 

+ __±h»ad_rwlock_rdlock
+  (
+ ±h»ad_rwlock_t
+  *
+ __rwlock
+ );
+ 
+ 239 

+ __±h»ad_rwlock_Œyrdlock
+  (
+ ±h»ad_rwlock_t
+  *
+ __rwlock
+ );
+ 
+ 241 

+ __±h»ad_rwlock_w¾ock
+  (
+ ±h»ad_rwlock_t
+  *
+ __rwlock
+ );
+ 
+ 243 

+ __±h»ad_rwlock_Œyw¾ock
+  (
+ ±h»ad_rwlock_t
+  *
+ __rwlock
+ );
+ 
+ 245 

+ __±h»ad_rwlock_uÆock
+  (
+ ±h»ad_rwlock_t
+  *
+ __rwlock
+ );
+ 
+ 248 

+ __±h»ad_key_ü—‹
+  (
+ ±h»ad_key_t
+  *
+ __key
+ ,
+ 
+ 249 (*
+ __de¡r_funùiÚ
+ ) (*));
+ 
+ 251 

+ 	`__±h»ad_£t¥ecific
+  (
+ ±h»ad_key_t
+  
+ __key
+ ,
+ 
+ 252 
+ __cڡ
+  *
+ __poš‹r
+ );
+ 
+ 254 
*
+ 	`__±h»ad_g‘¥ecific
+  (
+ ±h»ad_key_t
+  
+ __key
+ );
+ 
+ 256 

+ 	`__±h»ad_Úû
+  (
+ ±h»ad_Úû_t
+  *
+ __Úû_cÚŒÞ
+ ,
+ 
+ 257 (*
+ __š™_routše
+ ) ());
+ 
+ 259 

+ 	`__±h»ad_©fÜk
+  ((*
+ __´•¬e
+ ) (),
+ 
+ 260 (*
+ __·»Á
+ ) (),
+ 
+ 261 (*
+ __chžd
+ ) ());
+ 
+ 267 #iâdeà
+ __NO_WEAK_PTHREAD_ALIASES
+ 
+ 
+ 268 #ifdeà
+ w—k_ex‹º
+ 
+ 
+ 269 #ià
+ _LIBC
+ 
+ 
+ 270 
+ 	~<bp-sym.h
+ >
+ 
+ 272 
+ 	#BP_SYM
+  (
+ sym
+ è
+ 	)
+ sym
+ 
+ 274 
+ 	`w—k_ex‹º
+  (
+ 	$BP_SYM
+  (
+ __±h»ad_mu‹x_š™
+ ))
+ 
+ 275 
+ 	`w—k_ex‹º
+  (
+ 	$BP_SYM
+  (
+ __±h»ad_mu‹x_de¡roy
+ ))
+ 
+ 276 
+ 	`w—k_ex‹º
+  (
+ 	$BP_SYM
+  (
+ __±h»ad_mu‹x_lock
+ ))
+ 
+ 277 
+ 	`w—k_ex‹º
+  (
+ 	$BP_SYM
+  (
+ __±h»ad_mu‹x_Œylock
+ ))
+ 
+ 278 
+ 	`w—k_ex‹º
+  (
+ 	$BP_SYM
+  (
+ __±h»ad_mu‹x_uÆock
+ ))
+ 
+ 279 
+ 	`w—k_ex‹º
+  (
+ 	$BP_SYM
+  (
+ __±h»ad_mu‹x©Œ_š™
+ ))
+ 
+ 280 
+ 	`w—k_ex‹º
+  (
+ 	$BP_SYM
+  (
+ __±h»ad_mu‹x©Œ_de¡roy
+ ))
+ 
+ 281 
+ 	`w—k_ex‹º
+  (
+ 	$BP_SYM
+  (
+ __±h»ad_mu‹x©Œ_£‰y³
+ ))
+ 
+ 282 
+ 	`w—k_ex‹º
+  (
+ 	$BP_SYM
+  (
+ __±h»ad_rwlock_š™
+ ))
+ 
+ 283 
+ 	`w—k_ex‹º
+  (
+ 	$BP_SYM
+  (
+ __±h»ad_rwlock_de¡roy
+ ))
+ 
+ 284 
+ 	`w—k_ex‹º
+  (
+ 	$BP_SYM
+  (
+ __±h»ad_rwlock_rdlock
+ ))
+ 
+ 285 
+ 	`w—k_ex‹º
+  (
+ 	$BP_SYM
+  (
+ __±h»ad_rwlock_Œyrdlock
+ ))
+ 
+ 286 
+ 	`w—k_ex‹º
+  (
+ 	$BP_SYM
+  (
+ __±h»ad_rwlock_w¾ock
+ ))
+ 
+ 287 
+ 	`w—k_ex‹º
+  (
+ 	$BP_SYM
+  (
+ __±h»ad_rwlock_Œyw¾ock
+ ))
+ 
+ 288 
+ 	`w—k_ex‹º
+  (
+ 	$BP_SYM
+  (
+ __±h»ad_rwlock_uÆock
+ ))
+ 
+ 289 
+ 	`w—k_ex‹º
+  (
+ 	$BP_SYM
+  (
+ __±h»ad_key_ü—‹
+ ))
+ 
+ 290 
+ 	`w—k_ex‹º
+  (
+ 	$BP_SYM
+  (
+ __±h»ad_£t¥ecific
+ ))
+ 
+ 291 
+ 	`w—k_ex‹º
+  (
+ 	$BP_SYM
+  (
+ __±h»ad_g‘¥ecific
+ ))
+ 
+ 292 
+ 	`w—k_ex‹º
+  (
+ 	$BP_SYM
+  (
+ __±h»ad_Úû
+ ))
+ 
+ 293 
+ 	$w—k_ex‹º
+  (
+ __±h»ad_š™Ÿlize
+ )
+ 
+ 294 
+ 	$w—k_ex‹º
+  (
+ __±h»ad_©fÜk
+ )
+ 
+ 295 
+ 	`w—k_ex‹º
+  (
+ 	$BP_SYM
+  (
+ _±h»ad_þ—nup_push_deãr
+ ))
+ 
+ 296 
+ 	`w—k_ex‹º
+  (
+ 	$BP_SYM
+  (
+ _±h»ad_þ—nup_pÝ_»¡Üe
+ ))
+ 
+ 298 #´agm¨
+ w—k
+  
+ __±h»ad_mu‹x_š™
+ 
+ 
+ 299 #´agm¨
+ w—k
+  
+ __±h»ad_mu‹x_de¡roy
+ 
+ 
+ 300 #´agm¨
+ w—k
+  
+ __±h»ad_mu‹x_lock
+ 
+ 
+ 301 #´agm¨
+ w—k
+  
+ __±h»ad_mu‹x_Œylock
+ 
+ 
+ 302 #´agm¨
+ w—k
+  
+ __±h»ad_mu‹x_uÆock
+ 
+ 
+ 303 #´agm¨
+ w—k
+  
+ __±h»ad_mu‹x©Œ_š™
+ 
+ 
+ 304 #´agm¨
+ w—k
+  
+ __±h»ad_mu‹x©Œ_de¡roy
+ 
+ 
+ 305 #´agm¨
+ w—k
+  
+ __±h»ad_mu‹x©Œ_£‰y³
+ 
+ 
+ 306 #´agm¨
+ w—k
+  
+ __±h»ad_rwlock_de¡roy
+ 
+ 
+ 307 #´agm¨
+ w—k
+  
+ __±h»ad_rwlock_rdlock
+ 
+ 
+ 308 #´agm¨
+ w—k
+  
+ __±h»ad_rwlock_Œyrdlock
+ 
+ 
+ 309 #´agm¨
+ w—k
+  
+ __±h»ad_rwlock_w¾ock
+ 
+ 
+ 310 #´agm¨
+ w—k
+  
+ __±h»ad_rwlock_Œyw¾ock
+ 
+ 
+ 311 #´agm¨
+ w—k
+  
+ __±h»ad_rwlock_uÆock
+ 
+ 
+ 312 #´agm¨
+ w—k
+  
+ __±h»ad_key_ü—‹
+ 
+ 
+ 313 #´agm¨
+ w—k
+  
+ __±h»ad_£t¥ecific
+ 
+ 
+ 314 #´agm¨
+ w—k
+  
+ __±h»ad_g‘¥ecific
+ 
+ 
+ 315 #´agm¨
+ w—k
+  
+ __±h»ad_Úû
+ 
+ 
+ 316 #´agm¨
+ w—k
+  
+ __±h»ad_š™Ÿlize
+ 
+ 
+ 317 #´agm¨
+ w—k
+  
+ __±h»ad_©fÜk
+ 
+ 
+ 318 #´agm¨
+ w—k
+  
+ _±h»ad_þ—nup_push_deãr
+ 
+ 
+ 319 #´agm¨
+ w—k
+  
+ _±h»ad_þ—nup_pÝ_»¡Üe
+ 
+ 
+ 325 
+ 	#__libc_mu‹x_uÆock
+  
+ __±h»ad_mu‹x_uÆock
+ 
+ 
+ 	)
+ 
+ 	@/usr/include/bits/sched.h
+ 
+ 21 #iâdeà
+ __Ãed_sched·¿m
+ 
+ 
+ 23 #iâdeà
+ _SCHED_H
+ 
+ 
+ 29 
+ 	#SCHED_OTHER
+  0
+ 
+ 	)
+ 
+ 30 
+ 	#SCHED_FIFO
+  1
+ 
+ 	)
+ 
+ 31 
+ 	#SCHED_RR
+  2
+ 
+ 	)
+ 
+ 33 #ifdeà
+ __USE_MISC
+ 
+ 
+ 35 
+ 	#CSIGNAL
+  0x000000fà
+ 
+ 	)
+ 
+ 36 
+ 	#CLONE_VM
+  0x00000100
+ 
+ 	)
+ 
+ 37 
+ 	#CLONE_FS
+  0x00000200
+ 
+ 	)
+ 
+ 38 
+ 	#CLONE_FILES
+  0x00000400
+ 
+ 	)
+ 
+ 39 
+ 	#CLONE_SIGHAND
+  0x00000800
+ 
+ 	)
+ 
+ 40 
+ 	#CLONE_PID
+  0x00001000
+ 
+ 	)
+ 
+ 41 
+ 	#CLONE_PTRACE
+  0x00002000
+ 
+ 	)
+ 
+ 42 
+ 	#CLONE_VFORK
+  0x00004000
+ 
+ 	)
+ 
+ 47 
+ 	ssched_·¿m
+ 
+ 
+ 49 
+ 	m__sched_´iÜ™y
+ ;
+ 
+ 52 
+ 	g__BEGIN_DECLS
+ 
+ 
+ 55 #ifdeà
+ __USE_MISC
+ 
+ 
+ 56 

+ þÚe
+  ((*
+ __â
+ è(*
+ __¬g
+ ), *
+ __chžd_¡ack
+ ,
+ 
+ 57 
+ __æags
+ , *
+ __¬g
+ è
+ __THROW
+ ;
+ 
+ 60 
+ __END_DECLS
+ 
+ 
+ 64 #ià!
+ defšed
+  
+ __defšed_sched·¿m
+  \
+ 
+ 65 && (
+ defšed
+  
+ __Ãed_sched·¿m
+  || defšed 
+ _SCHED_H
+ )
+ 
+ 66 
+ 	#__defšed_sched·¿m
+  1
+ 
+ 	)
+ 
+ 68 
+ 	s__sched_·¿m
+ 
+ 
+ 70 
+ __sched_´iÜ™y
+ ;
+ 
+ 72 #undeà
+ __Ãed_sched·¿m
+ 
+ 
+ 	@/usr/include/gconv.h
+ 
+ 23 #iâdeà
+ _GCONV_H
+ 
+ 
+ 24 
+ 	#_GCONV_H
+  1
+ 
+ 	)
+ 
+ 26 
+ 	~<ã©u»s.h
+ >
+ 
+ 27 
+ 	#__Ãed_mb¡©e_t
+ 
+ 
+ 	)
+ 
+ 28 
+ 	~<wch¬.h
+ >
+ 
+ 29 
+ 	#__Ãed_size_t
+ 
+ 
+ 	)
+ 
+ 30 
+ 	#__Ãed_wch¬_t
+ 
+ 
+ 	)
+ 
+ 31 
+ 	~<¡ddef.h
+ >
+ 
+ 34 
+ 	#__UNKNOWN_10646_CHAR
+  ((
+ wch¬_t
+ è0xfffd)
+ 
+ 	)
+ 
+ 39 
+ 	m__GCONV_OK
+  = 0,
+ 
+ 40 
+ 	m__GCONV_NOCONV
+ ,
+ 
+ 41 
+ 	m__GCONV_NODB
+ ,
+ 
+ 42 
+ 	m__GCONV_NOMEM
+ ,
+ 
+ 44 
+ 	m__GCONV_EMPTY_INPUT
+ ,
+ 
+ 45 
+ 	m__GCONV_FULL_OUTPUT
+ ,
+ 
+ 46 
+ 	m__GCONV_ILLEGAL_INPUT
+ ,
+ 
+ 47 
+ 	m__GCONV_INCOMPLETE_INPUT
+ ,
+ 
+ 49 
+ 	m__GCONV_ILLEGAL_DESCRIPTOR
+ ,
+ 
+ 50 
+ 	m__GCONV_INTERNAL_ERROR
+ 
+ 
+ 57 
+ 	m__GCONV_IS_LAST
+  = 0x0001,
+ 
+ 58 
+ 	m__GCONV_IGNORE_ERRORS
+  = 0x0002
+ 
+ 63 
+ 	g__gcÚv_¡•
+ ;
+ 
+ 64 
+ 	g__gcÚv_¡•_d©a
+ ;
+ 
+ 65 
+ 	g__gcÚv_lßded_objeù
+ ;
+ 
+ 66 
+ 	g__gcÚv_Œªs_d©a
+ ;
+ 
+ 70 (*
+ 	t__gcÚv_fù
+ è(
+ 	t__gcÚv_¡•
+  *, 
+ 	t__gcÚv_¡•_d©a
+  *,
+ 
+ 71 
+ 	t__cڡ
+  **, __const *,
+ 
+ 72 **, 
+ 	tsize_t
+  *, , );
+ 
+ 75 (*
+ 	t__gcÚv_š™_fù
+ è(
+ 	t__gcÚv_¡•
+  *);
+ 
+ 76 (*
+ 	t__gcÚv_’d_fù
+ è(
+ 	t__gcÚv_¡•
+  *);
+ 
+ 80 (*
+ 	t__gcÚv_Œªs_fù
+ è(
+ 	t__gcÚv_¡•
+  *,
+ 
+ 81 
+ 	t__gcÚv_¡•_d©a
+  *, *,
+ 
+ 82 
+ 	t__cڡ
+  *,
+ 
+ 83 
+ 	t__cڡ
+  **,
+ 
+ 84 
+ 	t__cڡ
+  *, **,
+ 
+ 85 
+ 	tsize_t
+  *);
+ 
+ 88 (*
+ 	t__gcÚv_Œªs_cÚ‹xt_fù
+ è(*, 
+ 	t__cڡ
+  *,
+ 
+ 89 
+ 	t__cڡ
+  *,
+ 
+ 93 (*
+ 	t__gcÚv_Œªs_qu”y_fù
+ è(
+ 	t__cڡ
+  *, __const ***,
+ 
+ 94 
+ 	tsize_t
+  *);
+ 
+ 97 (*
+ 	t__gcÚv_Œªs_š™_fù
+ ) (**, const *);
+ 
+ 98 (*
+ 	t__gcÚv_Œªs_’d_fù
+ ) (*);
+ 
+ 100 
+ 	s__gcÚv_Œªs_d©a
+ 
+ 
+ 103 
+ __gcÚv_Œªs_fù
+  
+ __Œªs_fù
+ ;
+ 
+ 104 
+ __gcÚv_Œªs_cÚ‹xt_fù
+  
+ __Œªs_cÚ‹xt_fù
+ ;
+ 
+ 105 
+ __gcÚv_Œªs_’d_fù
+  
+ __Œªs_’d_fù
+ ;
+ 
+ 106 *
+ __d©a
+ ;
+ 
+ 107 
+ __gcÚv_Œªs_d©a
+  *
+ __Ãxt
+ ;
+ 
+ 112 
+ 	s__gcÚv_¡•
+ 
+ 
+ 114 
+ __gcÚv_lßded_objeù
+  *
+ __shlib_hªdË
+ ;
+ 
+ 115 
+ __cڡ
+  *
+ __modÇme
+ ;
+ 
+ 117 
+ __couÁ”
+ ;
+ 
+ 119 *
+ __äom_Çme
+ ;
+ 
+ 120 *
+ __to_Çme
+ ;
+ 
+ 122 
+ __gcÚv_fù
+  
+ __fù
+ ;
+ 
+ 123 
+ __gcÚv_š™_fù
+  
+ __š™_fù
+ ;
+ 
+ 124 
+ __gcÚv_’d_fù
+  
+ __’d_fù
+ ;
+ 
+ 128 
+ __mš_Ãeded_äom
+ ;
+ 
+ 129 
+ __max_Ãeded_äom
+ ;
+ 
+ 130 
+ __mš_Ãeded_to
+ ;
+ 
+ 131 
+ __max_Ãeded_to
+ ;
+ 
+ 134 
+ __¡©eful
+ ;
+ 
+ 136 *
+ __d©a
+ ;
+ 
+ 141 
+ 	s__gcÚv_¡•_d©a
+ 
+ 
+ 143 *
+ __outbuf
+ ;
+ 
+ 144 *
+ __outbuãnd
+ ;
+ 
+ 148 
+ __æags
+ ;
+ 
+ 152 
+ __švoÿtiÚ_couÁ”
+ ;
+ 
+ 156 
+ __š‹º®_u£
+ ;
+ 
+ 158 
+ __mb¡©e_t
+  *
+ __¡©•
+ ;
+ 
+ 159 
+ __mb¡©e_t
+  
+ __¡©e
+ ;
+ 
+ 163 
+ __gcÚv_Œªs_d©a
+  *
+ __λs
+ ;
+ 
+ 168 
+ 	s__gcÚv_šfo
+ 
+ 
+ 170 
+ size_t
+  
+ __n¡•s
+ ;
+ 
+ 171 
+ __gcÚv_¡•
+  *
+ __¡•s
+ ;
+ 
+ 172 
+ __ex‹nsiÚ__
+  
+ __gcÚv_¡•_d©a
+  
+ __d©a
+  
+ __æex¬r
+ ;
+ 
+ 173 } *
+ 	t__gcÚv_t
+ ;
+ 
+ 	@/usr/include/wchar.h
+ 
+ 24 #iâdeà
+ _WCHAR_H
+ 
+ 
+ 26 #iâdeà
+ __Ãed_mb¡©e_t
+ 
+ 
+ 27 
+ 	#_WCHAR_H
+  1
+ 
+ 	)
+ 
+ 28 
+ 	~<ã©u»s.h
+ >
+ 
+ 31 #ifdeà
+ _WCHAR_H
+ 
+ 
+ 33 
+ 	#__Ãed___FILE
+ 
+ 
+ 	)
+ 
+ 34 #ifdeà
+ __USE_UNIX98
+ 
+ 
+ 35 
+ 	#__Ãed_FILE
+ 
+ 
+ 	)
+ 
+ 37 
+ 	~<¡dio.h
+ >
+ 
+ 39 
+ 	#__Ãed___va_li¡
+ 
+ 
+ 	)
+ 
+ 40 
+ 	~<¡d¬g.h
+ >
+ 
+ 43 
+ 	#__Ãed_size_t
+ 
+ 
+ 	)
+ 
+ 44 
+ 	#__Ãed_wch¬_t
+ 
+ 
+ 	)
+ 
+ 45 
+ 	#__Ãed_NULL
+ 
+ 
+ 	)
+ 
+ 47 
+ 	#__Ãed_wšt_t
+ 
+ 
+ 	)
+ 
+ 48 
+ 	~<¡ddef.h
+ >
+ 
+ 50 
+ 	~<b™s/wch¬.h
+ >
+ 
+ 54 #iâdeà
+ _WINT_T
+ 
+ 
+ 59 
+ 	#_WINT_T
+ 
+ 
+ 	)
+ 
+ 60 
+ 	twšt_t
+ ;
+ 
+ 64 #iâdeà
+ __mb¡©e_t_defšed
+ 
+ 
+ 65 
+ 	#__mb¡©e_t_defšed
+  1
+ 
+ 	)
+ 
+ 69 
+ 	m__couÁ
+ ;
+ 
+ 72 
+ wšt_t
+  
+ 	m__wch
+ ;
+ 
+ 73 
+ 	m__wchb
+ [4];
+ 
+ 74 } 
+ 	m__v®ue
+ ;
+ 
+ 75 } 
+ 	t__mb¡©e_t
+ ;
+ 
+ 77 #undeà
+ __Ãed_mb¡©e_t
+ 
+ 
+ 82 #ifdeà
+ _WCHAR_H
+ 
+ 
+ 85 
+ __mb¡©e_t
+  
+ 	tmb¡©e_t
+ ;
+ 
+ 87 #iâdeà
+ WCHAR_MIN
+ 
+ 
+ 89 
+ 	#WCHAR_MIN
+  
+ __WCHAR_MIN
+ 
+ 
+ 	)
+ 
+ 90 
+ 	#WCHAR_MAX
+  
+ __WCHAR_MAX
+ 
+ 
+ 	)
+ 
+ 93 #iâdeà
+ WEOF
+ 
+ 
+ 94 
+ 	#WEOF
+  (0xffffffffu)
+ 
+ 	)
+ 
+ 99 #ià
+ defšed
+  
+ __USE_XOPEN
+  && !defšed 
+ __USE_UNIX98
+ 
+ 
+ 100 
+ 	~<wùy³.h
+ >
+ 
+ 105 
+ 	gtm
+ ;
+ 
+ 108 
+ __BEGIN_DECLS
+ 
+ 
+ 111 
+ wch¬_t
+  *
+ 	$wcsýy
+  (
+ wch¬_t
+  *
+ __»¡riù
+  
+ __de¡
+ ,
+ 
+ 112 
+ __cڡ
+  
+ wch¬_t
+  *
+ __»¡riù
+  
+ __¤c
+ è
+ __THROW
+ ;
+ 
+ 114 
+ wch¬_t
+  *
+ 	$wc¢ýy
+  (
+ wch¬_t
+  *
+ __»¡riù
+  
+ __de¡
+ ,
+ 
+ 115 
+ __cڡ
+  
+ wch¬_t
+  *
+ __»¡riù
+  
+ __¤c
+ , 
+ size_t
+  
+ __n
+ )
+ 
+ 116 
+ __THROW
+ ;
+ 
+ 119 
+ wch¬_t
+  *
+ 	$wcsÿt
+  (
+ wch¬_t
+  *
+ __»¡riù
+  
+ __de¡
+ ,
+ 
+ 120 
+ __cڡ
+  
+ wch¬_t
+  *
+ __»¡riù
+  
+ __¤c
+ è
+ __THROW
+ ;
+ 
+ 122 
+ wch¬_t
+  *
+ 	$wc¢ÿt
+  (
+ wch¬_t
+  *
+ __»¡riù
+  
+ __de¡
+ ,
+ 
+ 123 
+ __cڡ
+  
+ wch¬_t
+  *
+ __»¡riù
+  
+ __¤c
+ , 
+ size_t
+  
+ __n
+ )
+ 
+ 124 
+ __THROW
+ ;
+ 
+ 127 

+ 	$wcscmp
+  (
+ __cڡ
+  
+ wch¬_t
+  *
+ __s1
+ , __cÚ¡ wch¬_ˆ*
+ __s2
+ )
+ 
+ 128 
+ __THROW
+  
+ __©Œibu‹_pu»__
+ ;
+ 
+ 130 

+ 	$wc¢cmp
+  (
+ __cڡ
+  
+ wch¬_t
+  *
+ __s1
+ , __cÚ¡ wch¬_ˆ*
+ __s2
+ , 
+ size_t
+  
+ __n
+ )
+ 
+ 131 
+ __THROW
+  
+ __©Œibu‹_pu»__
+ ;
+ 
+ 133 #ifdeà
+ __USE_GNU
+ 
+ 
+ 135 

+ 	$wcsÿ£cmp
+  (
+ __cڡ
+  
+ wch¬_t
+  *
+ __s1
+ , __cÚ¡ wch¬_ˆ*
+ __s2
+ è
+ __THROW
+ ;
+ 
+ 138 

+ 	$wc¢ÿ£cmp
+  (
+ __cڡ
+  
+ wch¬_t
+  *
+ __s1
+ , __cÚ¡ wch¬_ˆ*
+ __s2
+ ,
+ 
+ 139 
+ size_t
+  
+ __n
+ è
+ __THROW
+ ;
+ 
+ 143 
+ 	~<xloÿË.h
+ >
+ 
+ 145 

+ 	$__wcsÿ£cmp_l
+  (
+ __cڡ
+  
+ wch¬_t
+  *
+ __s1
+ , __cÚ¡ wch¬_ˆ*
+ __s2
+ ,
+ 
+ 146 
+ __loÿË_t
+  
+ __loc
+ è
+ __THROW
+ ;
+ 
+ 148 

+ 	$__wc¢ÿ£cmp_l
+  (
+ __cڡ
+  
+ wch¬_t
+  *
+ __s1
+ , __cÚ¡ wch¬_ˆ*
+ __s2
+ ,
+ 
+ 149 
+ size_t
+  
+ __n
+ , 
+ __loÿË_t
+  
+ __loc
+ è
+ __THROW
+ ;
+ 
+ 154 

+ 	$wcscÞl
+  (
+ __cڡ
+  
+ wch¬_t
+  *
+ __s1
+ , __cÚ¡ wch¬_ˆ*
+ __s2
+ è
+ __THROW
+ ;
+ 
+ 158 
+ size_t
+  
+ 	$wcsxäm
+  (
+ wch¬_t
+  *
+ __»¡riù
+  
+ __s1
+ ,
+ 
+ 159 
+ __cڡ
+  
+ wch¬_t
+  *
+ __»¡riù
+  
+ __s2
+ , 
+ size_t
+  
+ __n
+ è
+ __THROW
+ ;
+ 
+ 161 #ifdeà
+ __USE_GNU
+ 
+ 
+ 167 

+ 	$__wcscÞl_l
+  (
+ __cڡ
+  
+ wch¬_t
+  *
+ __s1
+ , __cÚ¡ wch¬_ˆ*
+ __s2
+ ,
+ 
+ 168 
+ __loÿË_t
+  
+ __loc
+ è
+ __THROW
+ ;
+ 
+ 172 
+ size_t
+  
+ 	$__wcsxäm_l
+  (
+ wch¬_t
+  *
+ __s1
+ , 
+ __cڡ
+  wch¬_ˆ*
+ __s2
+ ,
+ 
+ 173 
+ size_t
+  
+ __n
+ , 
+ __loÿË_t
+  
+ __loc
+ è
+ __THROW
+ ;
+ 
+ 176 
+ wch¬_t
+  *
+ 	$wcsdup
+  (
+ __cڡ
+  
+ wch¬_t
+  *
+ __s
+ è
+ __THROW
+  
+ __©Œibu‹_m®loc__
+ ;
+ 
+ 180 
+ wch¬_t
+  *
+ 	$wcschr
+  (
+ __cڡ
+  
+ wch¬_t
+  *
+ __wcs
+ , wch¬_ˆ
+ __wc
+ )
+ 
+ 181 
+ __THROW
+  
+ __©Œibu‹_pu»__
+ ;
+ 
+ 183 
+ wch¬_t
+  *
+ 	$wc¤chr
+  (
+ __cڡ
+  
+ wch¬_t
+  *
+ __wcs
+ , wch¬_ˆ
+ __wc
+ )
+ 
+ 184 
+ __THROW
+  
+ __©Œibu‹_pu»__
+ ;
+ 
+ 186 #ifdeà
+ __USE_GNU
+ 
+ 
+ 189 
+ wch¬_t
+  *
+ 	$wcschºul
+  (
+ __cڡ
+  
+ wch¬_t
+  *
+ __s
+ , wch¬_ˆ
+ __wc
+ )
+ 
+ 190 
+ __THROW
+  
+ __©Œibu‹_pu»__
+ ;
+ 
+ 195 
+ size_t
+  
+ 	$wcsc¥n
+  (
+ __cڡ
+  
+ wch¬_t
+  *
+ __wcs
+ , __cÚ¡ wch¬_ˆ*
+ __»jeù
+ )
+ 
+ 196 
+ __THROW
+  
+ __©Œibu‹_pu»__
+ ;
+ 
+ 199 
+ size_t
+  
+ 	$wcs¥n
+  (
+ __cڡ
+  
+ wch¬_t
+  *
+ __wcs
+ , __cÚ¡ wch¬_ˆ*
+ __acû±
+ )
+ 
+ 200 
+ __THROW
+  
+ __©Œibu‹_pu»__
+ ;
+ 
+ 202 
+ wch¬_t
+  *
+ 	$wc¥brk
+  (
+ __cڡ
+  
+ wch¬_t
+  *
+ __wcs
+ , __cÚ¡ wch¬_ˆ*
+ __acû±
+ )
+ 
+ 203 
+ __THROW
+  
+ __©Œibu‹_pu»__
+ ;
+ 
+ 205 
+ wch¬_t
+  *
+ 	$wcs¡r
+  (
+ __cڡ
+  
+ wch¬_t
+  *
+ __hay¡ack
+ , __cÚ¡ wch¬_ˆ*
+ __ÃedË
+ )
+ 
+ 206 
+ __THROW
+  
+ __©Œibu‹_pu»__
+ ;
+ 
+ 208 #ifdeà
+ __USE_XOPEN
+ 
+ 
+ 210 
+ wch¬_t
+  *
+ 	$wcswcs
+  (
+ __cڡ
+  
+ wch¬_t
+  *
+ __hay¡ack
+ , __cÚ¡ wch¬_ˆ*
+ __ÃedË
+ )
+ 
+ 211 
+ __THROW
+  
+ __©Œibu‹_pu»__
+ ;
+ 
+ 215 
+ wch¬_t
+  *
+ 	$wc¡ok
+  (
+ wch¬_t
+  *
+ __»¡riù
+  
+ __s
+ ,
+ 
+ 216 
+ __cڡ
+  
+ wch¬_t
+  *
+ __»¡riù
+  
+ __d–im
+ ,
+ 
+ 217 
+ wch¬_t
+  **
+ __»¡riù
+  
+ __±r
+ è
+ __THROW
+ ;
+ 
+ 220 
+ size_t
+  
+ 	$wc¦’
+  (
+ __cڡ
+  
+ wch¬_t
+  *
+ __s
+ è
+ __THROW
+  
+ __©Œibu‹_pu»__
+ ;
+ 
+ 222 #ifdeà
+ __USE_GNU
+ 
+ 
+ 224 
+ size_t
+  
+ 	$wc¢Ën
+  (
+ __cڡ
+  
+ wch¬_t
+  *
+ __s
+ , 
+ size_t
+  
+ __maxËn
+ )
+ 
+ 225 
+ __THROW
+  
+ __©Œibu‹_pu»__
+ ;
+ 
+ 230 
+ wch¬_t
+  *
+ 	$wmemchr
+  (
+ __cڡ
+  
+ wch¬_t
+  *
+ __s
+ , wch¬_ˆ
+ __c
+ , 
+ size_t
+  
+ __n
+ )
+ 
+ 231 
+ __THROW
+  
+ __©Œibu‹_pu»__
+ ;
+ 
+ 234 

+ 	$wmemcmp
+  (
+ __cڡ
+  
+ wch¬_t
+  *
+ __»¡riù
+  
+ __s1
+ ,
+ 
+ 235 
+ __cڡ
+  
+ wch¬_t
+  *
+ __»¡riù
+  
+ __s2
+ , 
+ size_t
+  
+ __n
+ )
+ 
+ 236 
+ __THROW
+  
+ __©Œibu‹_pu»__
+ ;
+ 
+ 239 
+ wch¬_t
+  *
+ 	$wmemýy
+  (
+ wch¬_t
+  *
+ __»¡riù
+  
+ __s1
+ ,
+ 
+ 240 
+ __cڡ
+  
+ wch¬_t
+  *
+ __»¡riù
+  
+ __s2
+ , 
+ size_t
+  
+ __n
+ è
+ __THROW
+ ;
+ 
+ 244 
+ wch¬_t
+  *
+ 	$wmemmove
+  (
+ wch¬_t
+  *
+ __s1
+ , 
+ __cڡ
+  wch¬_ˆ*
+ __s2
+ , 
+ size_t
+  
+ __n
+ )
+ 
+ 245 
+ __THROW
+ ;
+ 
+ 248 
+ wch¬_t
+  *
+ 	$wmem£t
+  (
+ wch¬_t
+  *
+ __s
+ , wch¬_ˆ
+ __c
+ , 
+ size_t
+  
+ __n
+ è
+ __THROW
+ ;
+ 
+ 250 #ifdeà
+ __USE_GNU
+ 
+ 
+ 253 
+ wch¬_t
+  *
+ 	$wmempýy
+  (
+ wch¬_t
+  *
+ __»¡riù
+  
+ __s1
+ ,
+ 
+ 254 
+ __cڡ
+  
+ wch¬_t
+  *
+ __»¡riù
+  
+ __s2
+ , 
+ size_t
+  
+ __n
+ )
+ 
+ 255 
+ __THROW
+ ;
+ 
+ 261 
+ wšt_t
+  
+ 	$btowc
+  (
+ __c
+ è
+ __THROW
+ ;
+ 
+ 265 

+ 	$wùob
+  (
+ wšt_t
+  
+ __c
+ è
+ __THROW
+ ;
+ 
+ 269 

+ 	$mbsš™
+  (
+ __cڡ
+  
+ mb¡©e_t
+  *
+ __ps
+ è
+ __THROW
+  
+ __©Œibu‹_pu»__
+ ;
+ 
+ 273 
+ size_t
+  
+ 	$mb¹owc
+  (
+ wch¬_t
+  *
+ __»¡riù
+  
+ __pwc
+ ,
+ 
+ 274 
+ __cڡ
+  *
+ __»¡riù
+  
+ __s
+ , 
+ size_t
+  
+ __n
+ ,
+ 
+ 275 
+ mb¡©e_t
+  *
+ __p
+ è
+ __THROW
+ ;
+ 
+ 278 
+ size_t
+  
+ 	$wütomb
+  (*
+ __»¡riù
+  
+ __s
+ , 
+ wch¬_t
+  
+ __wc
+ ,
+ 
+ 279 
+ mb¡©e_t
+  *
+ __»¡riù
+  
+ __ps
+ è
+ __THROW
+ ;
+ 
+ 282 
+ size_t
+  
+ 	$__mb¾’
+  (
+ __cڡ
+  *
+ __»¡riù
+  
+ __s
+ , 
+ size_t
+  
+ __n
+ ,
+ 
+ 283 
+ mb¡©e_t
+  *
+ __»¡riù
+  
+ __ps
+ è
+ __THROW
+ ;
+ 
+ 284 
+ size_t
+  
+ 	$mb¾’
+  (
+ __cڡ
+  *
+ __»¡riù
+  
+ __s
+ , 
+ size_t
+  
+ __n
+ ,
+ 
+ 285 
+ mb¡©e_t
+  *
+ __»¡riù
+  
+ __ps
+ è
+ __THROW
+ ;
+ 
+ 287 #ifdeà
+ __USE_EXTERN_INLINES
+ 
+ 
+ 289 
+ __šlše
+  
+ size_t
+  
+ 	$mb¾’
+  (
+ __cڡ
+  *
+ __»¡riù
+  
+ __s
+ , 
+ size_t
+  
+ __n
+ ,
+ 
+ 290 
+ mb¡©e_t
+  *
+ __»¡riù
+  
+ __ps
+ è
+ __THROW
+ 
+ 
+ 291 {  (
+ __ps
+  !ð
+ NULL
+ 
+ 
+ 292 ? 
+ 	`mb¹owc
+  (
+ NULL
+ , 
+ __s
+ , 
+ __n
+ , 
+ __ps
+ è: 
+ 	`__mb¾’
+  (__s, __n, NULL)); 
+ 	}
+ }
+ 
+ 297 
+ size_t
+  
+ 	$mb¤towcs
+  (
+ wch¬_t
+  *
+ __»¡riù
+  
+ __d¡
+ ,
+ 
+ 298 
+ __cڡ
+  **
+ __»¡riù
+  
+ __¤c
+ , 
+ size_t
+  
+ __Ën
+ ,
+ 
+ 299 
+ mb¡©e_t
+  *
+ __»¡riù
+  
+ __ps
+ è
+ __THROW
+ ;
+ 
+ 303 
+ size_t
+  
+ 	$wc¤tombs
+  (*
+ __»¡riù
+  
+ __d¡
+ ,
+ 
+ 304 
+ __cڡ
+  
+ wch¬_t
+  **
+ __»¡riù
+  
+ __¤c
+ , 
+ size_t
+  
+ __Ën
+ ,
+ 
+ 305 
+ mb¡©e_t
+  *
+ __»¡riù
+  
+ __ps
+ è
+ __THROW
+ ;
+ 
+ 308 #ifdef 
+ __USE_GNU
+ 
+ 
+ 311 
+ size_t
+  
+ 	$mb¢¹owcs
+  (
+ wch¬_t
+  *
+ __»¡riù
+  
+ __d¡
+ ,
+ 
+ 312 
+ __cڡ
+  **
+ __»¡riù
+  
+ __¤c
+ , 
+ size_t
+  
+ __nmc
+ ,
+ 
+ 313 
+ size_t
+  
+ __Ën
+ , 
+ mb¡©e_t
+  *
+ __»¡riù
+  
+ __ps
+ è
+ __THROW
+ ;
+ 
+ 317 
+ size_t
+  
+ 	$wc¢¹ombs
+  (*
+ __»¡riù
+  
+ __d¡
+ ,
+ 
+ 318 
+ __cڡ
+  
+ wch¬_t
+  **
+ __»¡riù
+  
+ __¤c
+ ,
+ 
+ 319 
+ size_t
+  
+ __nwc
+ , size_ˆ
+ __Ën
+ ,
+ 
+ 320 
+ mb¡©e_t
+  *
+ __»¡riù
+  
+ __ps
+ è
+ __THROW
+ ;
+ 
+ 325 #ifdeà
+ __USE_XOPEN
+ 
+ 
+ 327 

+ 	$wcwidth
+  (
+ wch¬_t
+  
+ __c
+ è
+ __THROW
+ ;
+ 
+ 331 

+ 	$wcswidth
+  (
+ __cڡ
+  
+ wch¬_t
+  *
+ __s
+ , 
+ size_t
+  
+ __n
+ è
+ __THROW
+ ;
+ 
+ 337 

+ 	$wc¡od
+  (
+ __cڡ
+  
+ wch¬_t
+  *
+ __»¡riù
+  
+ __Ō
+ ,
+ 
+ 338 
+ wch¬_t
+  **
+ __»¡riù
+  
+ __’d±r
+ è
+ __THROW
+ ;
+ 
+ 340 #ifdeà
+ __USE_ISOC99
+ 
+ 
+ 342 

+ 	$wc¡of
+  (
+ __cڡ
+  
+ wch¬_t
+  *
+ __»¡riù
+  
+ __Ō
+ ,
+ 
+ 343 
+ wch¬_t
+  **
+ __»¡riù
+  
+ __’d±r
+ è
+ __THROW
+ ;
+ 
+ 344 

+ 	$wc¡Þd
+  (
+ __cڡ
+  
+ wch¬_t
+  *
+ __»¡riù
+  
+ __Ō
+ ,
+ 
+ 345 
+ wch¬_t
+  **
+ __»¡riù
+  
+ __’d±r
+ è
+ __THROW
+ ;
+ 
+ 351 

+ 	$wc¡Þ
+  (
+ __cڡ
+  
+ wch¬_t
+  *
+ __»¡riù
+  
+ __Ō
+ ,
+ 
+ 352 
+ wch¬_t
+  **
+ __»¡riù
+  
+ __’d±r
+ , 
+ __ba£
+ è
+ __THROW
+ ;
+ 
+ 356 

+ 	$wc¡oul
+  (
+ __cڡ
+  
+ wch¬_t
+  *
+ __»¡riù
+  
+ __Ō
+ ,
+ 
+ 357 
+ wch¬_t
+  **
+ __»¡riù
+  
+ __’d±r
+ , 
+ __ba£
+ )
+ 
+ 358 
+ __THROW
+ ;
+ 
+ 360 #ià
+ defšed
+  
+ __GNUC__
+  && defšed 
+ __USE_GNU
+ 
+ 
+ 363 
+ __ex‹nsiÚ__
+ 
+ 
+ 364 

+ 	$wc¡oq
+  (
+ __cڡ
+  
+ wch¬_t
+  *
+ __»¡riù
+  
+ __Ō
+ ,
+ 
+ 365 
+ wch¬_t
+  **
+ __»¡riù
+  
+ __’d±r
+ , 
+ __ba£
+ )
+ 
+ 366 
+ __THROW
+ ;
+ 
+ 370 
+ __ex‹nsiÚ__
+ 
+ 
+ 371 

+ 	$wc¡ouq
+  (
+ __cڡ
+  
+ wch¬_t
+  *
+ __»¡riù
+  
+ __Ō
+ ,
+ 
+ 372 
+ wch¬_t
+  **
+ __»¡riù
+  
+ __’d±r
+ ,
+ 
+ 373 
+ __ba£
+ è
+ __THROW
+ ;
+ 
+ 376 #ià
+ defšed
+  
+ __USE_ISOC99
+  || (defšed 
+ __GNUC__
+  && defšed 
+ __USE_GNU
+ )
+ 
+ 379 
+ __ex‹nsiÚ__
+ 
+ 
+ 380 

+ 	$wc¡Þl
+  (
+ __cڡ
+  
+ wch¬_t
+  *
+ __»¡riù
+  
+ __Ō
+ ,
+ 
+ 381 
+ wch¬_t
+  **
+ __»¡riù
+  
+ __’d±r
+ , 
+ __ba£
+ )
+ 
+ 382 
+ __THROW
+ ;
+ 
+ 386 
+ __ex‹nsiÚ__
+ 
+ 
+ 387 

+ 	$wc¡ouÎ
+  (
+ __cڡ
+  
+ wch¬_t
+  *
+ __»¡riù
+  
+ __Ō
+ ,
+ 
+ 388 
+ wch¬_t
+  **
+ __»¡riù
+  
+ __’d±r
+ ,
+ 
+ 389 
+ __ba£
+ è
+ __THROW
+ ;
+ 
+ 392 #ifdeà
+ __USE_GNU
+ 
+ 
+ 406 
+ 	~<xloÿË.h
+ >
+ 
+ 410 

+ 	$__wc¡Þ_l
+  (
+ __cڡ
+  
+ wch¬_t
+  *
+ __»¡riù
+  
+ __Ō
+ ,
+ 
+ 411 
+ wch¬_t
+  **
+ __»¡riù
+  
+ __’d±r
+ , 
+ __ba£
+ ,
+ 
+ 412 
+ __loÿË_t
+  
+ __loc
+ è
+ __THROW
+ ;
+ 
+ 414 

+ 	$__wc¡oul_l
+  (
+ __cڡ
+  
+ wch¬_t
+  *
+ __»¡riù
+  
+ __Ō
+ ,
+ 
+ 415 
+ wch¬_t
+  **
+ __»¡riù
+  
+ __’d±r
+ ,
+ 
+ 416 
+ __ba£
+ , 
+ __loÿË_t
+  
+ __loc
+ è
+ __THROW
+ ;
+ 
+ 418 
+ __ex‹nsiÚ__
+ 
+ 
+ 419 

+ 	$__wc¡Þl_l
+  (
+ __cڡ
+  
+ wch¬_t
+  *
+ __»¡riù
+  
+ __Ō
+ ,
+ 
+ 420 
+ wch¬_t
+  **
+ __»¡riù
+  
+ __’d±r
+ ,
+ 
+ 421 
+ __ba£
+ , 
+ __loÿË_t
+  
+ __loc
+ è
+ __THROW
+ ;
+ 
+ 423 
+ __ex‹nsiÚ__
+ 
+ 
+ 424 

+ 	$__wc¡ouÎ_l
+  (
+ __cڡ
+  
+ wch¬_t
+  *
+ __»¡riù
+  
+ __Ō
+ ,
+ 
+ 425 
+ wch¬_t
+  **
+ __»¡riù
+  
+ __’d±r
+ ,
+ 
+ 426 
+ __ba£
+ , 
+ __loÿË_t
+  
+ __loc
+ )
+ 
+ 427 
+ __THROW
+ ;
+ 
+ 429 

+ 	$__wc¡od_l
+  (
+ __cڡ
+  
+ wch¬_t
+  *
+ __»¡riù
+  
+ __Ō
+ ,
+ 
+ 430 
+ wch¬_t
+  **
+ __»¡riù
+  
+ __’d±r
+ , 
+ __loÿË_t
+  
+ __loc
+ )
+ 
+ 431 
+ __THROW
+ ;
+ 
+ 433 

+ 	$__wc¡of_l
+  (
+ __cڡ
+  
+ wch¬_t
+  *
+ __»¡riù
+  
+ __Ō
+ ,
+ 
+ 434 
+ wch¬_t
+  **
+ __»¡riù
+  
+ __’d±r
+ , 
+ __loÿË_t
+  
+ __loc
+ )
+ 
+ 435 
+ __THROW
+ ;
+ 
+ 437 

+ 	$__wc¡Þd_l
+  (
+ __cڡ
+  
+ wch¬_t
+  *
+ __»¡riù
+  
+ __Ō
+ ,
+ 
+ 438 
+ wch¬_t
+  **
+ __»¡riù
+  
+ __’d±r
+ ,
+ 
+ 439 
+ __loÿË_t
+  
+ __loc
+ è
+ __THROW
+ ;
+ 
+ 445 

+ 	$__wc¡od_š‹º®
+  (
+ __cڡ
+  
+ wch¬_t
+  *
+ __»¡riù
+  
+ __Ō
+ ,
+ 
+ 446 
+ wch¬_t
+  **
+ __»¡riù
+  
+ __’d±r
+ , 
+ __group
+ )
+ 
+ 447 
+ __THROW
+ ;
+ 
+ 448 

+ 	$__wc¡of_š‹º®
+  (
+ __cڡ
+  
+ wch¬_t
+  *
+ __»¡riù
+  
+ __Ō
+ ,
+ 
+ 449 
+ wch¬_t
+  **
+ __»¡riù
+  
+ __’d±r
+ , 
+ __group
+ )
+ 
+ 450 
+ __THROW
+ ;
+ 
+ 451 

+ 	$__wc¡Þd_š‹º®
+  (
+ __cڡ
+  
+ wch¬_t
+  *
+ __»¡riù
+  
+ __Ō
+ ,
+ 
+ 452 
+ wch¬_t
+  **
+ __»¡riù
+  
+ __’d±r
+ ,
+ 
+ 453 
+ __group
+ è
+ __THROW
+ ;
+ 
+ 455 #iâdeà
+ __wc¡Þ_š‹º®_defšed
+ 
+ 
+ 456 

+ 	$__wc¡Þ_š‹º®
+  (
+ __cڡ
+  
+ wch¬_t
+  *
+ __»¡riù
+  
+ __Ō
+ ,
+ 
+ 457 
+ wch¬_t
+  **
+ __»¡riù
+  
+ __’d±r
+ ,
+ 
+ 458 
+ __ba£
+ , 
+ __group
+ è
+ __THROW
+ ;
+ 
+ 459 
+ 	#__wc¡Þ_š‹º®_defšed
+  1
+ 
+ 	)
+ 
+ 461 #iâdeà
+ __wc¡oul_š‹º®_defšed
+ 
+ 
+ 462 

+ 	$__wc¡oul_š‹º®
+  (
+ __cڡ
+  
+ wch¬_t
+  *
+ __»¡riù
+  
+ __Åt
+ ,
+ 
+ 463 
+ wch¬_t
+  **
+ __»¡riù
+  
+ __’d±r
+ ,
+ 
+ 464 
+ __ba£
+ , 
+ __group
+ è
+ __THROW
+ ;
+ 
+ 465 
+ 	#__wc¡oul_š‹º®_defšed
+  1
+ 
+ 	)
+ 
+ 467 #iâdeà
+ __wc¡Þl_š‹º®_defšed
+ 
+ 
+ 468 
+ __ex‹nsiÚ__
+ 
+ 
+ 469 

+ 	$__wc¡Þl_š‹º®
+  (
+ __cڡ
+  
+ wch¬_t
+  *
+ __»¡riù
+  
+ __Ō
+ ,
+ 
+ 470 
+ wch¬_t
+  **
+ __»¡riù
+  
+ __’d±r
+ ,
+ 
+ 471 
+ __ba£
+ , 
+ __group
+ è
+ __THROW
+ ;
+ 
+ 472 
+ 	#__wc¡Þl_š‹º®_defšed
+  1
+ 
+ 	)
+ 
+ 474 #iâdeà
+ __wc¡ouÎ_š‹º®_defšed
+ 
+ 
+ 475 
+ __ex‹nsiÚ__
+ 
+ 
+ 476 

+ 	$__wc¡ouÎ_š‹º®
+  (
+ __cڡ
+  
+ wch¬_t
+  *
+ 
+ 477 
+ __»¡riù
+  
+ __Ō
+ ,
+ 
+ 478 
+ wch¬_t
+  **
+ 
+ 479 
+ __»¡riù
+  
+ __’d±r
+ ,
+ 
+ 480 
+ __ba£
+ ,
+ 
+ 481 
+ __group
+ è
+ __THROW
+ ;
+ 
+ 482 
+ 	#__wc¡ouÎ_š‹º®_defšed
+  1
+ 
+ 	)
+ 
+ 486 #ià
+ defšed
+  
+ __OPTIMIZE__
+  && 
+ __GNUC__
+  >= 2
+ 
+ 489 
+ __šlše
+  
+ 	$wc¡od
+  (
+ __cڡ
+  
+ wch¬_t
+  *
+ __»¡riù
+  
+ __Ō
+ ,
+ 
+ 490 
+ wch¬_t
+  **
+ __»¡riù
+  
+ __’d±r
+ è
+ __THROW
+ 
+ 
+ 491 {  
+ 	`__wc¡od_š‹º®
+  (
+ __Ō
+ , 
+ __’d±r
+ , 0); 
+ 	}
+ }
+ 
+ 492 
+ __šlše
+  
+ 	$wc¡Þ
+  (
+ __cڡ
+  
+ wch¬_t
+  *
+ __»¡riù
+  
+ __Ō
+ ,
+ 
+ 493 
+ wch¬_t
+  **
+ __»¡riù
+  
+ __’d±r
+ ,
+ 
+ 494 
+ __ba£
+ è
+ __THROW
+ 
+ 
+ 495 {  
+ 	`__wc¡Þ_š‹º®
+  (
+ __Ō
+ , 
+ __’d±r
+ , 
+ __ba£
+ , 0); 
+ 	}
+ }
+ 
+ 496 
+ __šlše
+  
+ 	$wc¡oul
+  (
+ __cڡ
+  
+ wch¬_t
+  *
+ __»¡riù
+  
+ __Ō
+ ,
+ 
+ 497 
+ wch¬_t
+  **
+ __»¡riù
+  
+ __’d±r
+ ,
+ 
+ 498 
+ __ba£
+ è
+ __THROW
+ 
+ 
+ 499 {  
+ 	`__wc¡oul_š‹º®
+  (
+ __Ō
+ , 
+ __’d±r
+ , 
+ __ba£
+ , 0); 
+ 	}
+ }
+ 
+ 501 #ifdeà
+ __USE_GNU
+ 
+ 
+ 502 
+ __šlše
+  
+ 	$wc¡of
+  (
+ __cڡ
+  
+ wch¬_t
+  *
+ __»¡riù
+  
+ __Ō
+ ,
+ 
+ 503 
+ wch¬_t
+  **
+ __»¡riù
+  
+ __’d±r
+ è
+ __THROW
+ 
+ 
+ 504 {  
+ 	`__wc¡of_š‹º®
+  (
+ __Ō
+ , 
+ __’d±r
+ , 0); 
+ 	}
+ }
+ 
+ 505 
+ __šlše
+  
+ 	$wc¡Þd
+  (
+ __cڡ
+  
+ wch¬_t
+  *
+ __»¡riù
+  
+ __Ō
+ ,
+ 
+ 506 
+ wch¬_t
+  **
+ __»¡riù
+  
+ __’d±r
+ è
+ __THROW
+ 
+ 
+ 507 {  
+ 	`__wc¡Þd_š‹º®
+  (
+ __Ō
+ , 
+ __’d±r
+ , 0); 
+ 	}
+ }
+ 
+ 510 
+ __ex‹nsiÚ__
+ 
+ 
+ 511 
+ __šlše
+  
+ 	$wc¡oq
+  (
+ __cڡ
+  
+ wch¬_t
+  *
+ __»¡riù
+  
+ __Ō
+ ,
+ 
+ 512 
+ wch¬_t
+  **
+ __»¡riù
+  
+ __’d±r
+ ,
+ 
+ 513 
+ __ba£
+ è
+ __THROW
+ 
+ 
+ 514 {  
+ 	`__wc¡Þl_š‹º®
+  (
+ __Ō
+ , 
+ __’d±r
+ , 
+ __ba£
+ , 0); 
+ 	}
+ }
+ 
+ 515 
+ __ex‹nsiÚ__
+ 
+ 
+ 516 
+ __šlše
+  
+ 	$wc¡ouq
+  (
+ __cڡ
+  
+ wch¬_t
+  *
+ 
+ 517 
+ __»¡riù
+  
+ __Ō
+ ,
+ 
+ 518 
+ wch¬_t
+  **
+ __»¡riù
+  
+ __’d±r
+ ,
+ 
+ 519 
+ __ba£
+ è
+ __THROW
+ 
+ 
+ 520 {  
+ 	`__wc¡ouÎ_š‹º®
+  (
+ __Ō
+ , 
+ __’d±r
+ , 
+ __ba£
+ , 0); 
+ 	}
+ }
+ 
+ 525 #ifdef 
+ __USE_GNU
+ 
+ 
+ 528 
+ wch¬_t
+  *
+ 	$wýýy
+  (
+ wch¬_t
+  *
+ __de¡
+ , 
+ __cڡ
+  wch¬_ˆ*
+ __¤c
+ è
+ __THROW
+ ;
+ 
+ 532 
+ wch¬_t
+  *
+ 	$wýnýy
+  (
+ wch¬_t
+  *
+ __de¡
+ , 
+ __cڡ
+  wch¬_ˆ*
+ __¤c
+ , 
+ size_t
+  
+ __n
+ )
+ 
+ 533 
+ __THROW
+ ;
+ 
+ 538 #ià
+ defšed
+  
+ __USE_ISOC99
+  || defšed 
+ __USE_UNIX98
+ 
+ 
+ 541 

+ 	$fwide
+  (
+ __FILE
+  *
+ __å
+ , 
+ __mode
+ è
+ __THROW
+ ;
+ 
+ 545 

+ 	$fw´štf
+  (
+ __FILE
+  *
+ __»¡riù
+  
+ __¡»am
+ ,
+ 
+ 546 
+ __cڡ
+  
+ wch¬_t
+  *
+ __»¡riù
+  
+ __fÜm©
+ , ...)
+ 
+ 547 
+ __THROW
+  ;
+ 
+ 549 

+ 	$w´štf
+  (
+ __cڡ
+  
+ wch¬_t
+  *
+ __»¡riù
+  
+ __fÜm©
+ , ...)
+ 
+ 550 
+ __THROW
+  ;
+ 
+ 552 

+ 	$sw´štf
+  (
+ wch¬_t
+  *
+ __»¡riù
+  
+ __s
+ , 
+ size_t
+  
+ __n
+ ,
+ 
+ 553 
+ __cڡ
+  
+ wch¬_t
+  *
+ __»¡riù
+  
+ __fÜm©
+ , ...)
+ 
+ 554 
+ __THROW
+  ;
+ 
+ 557 

+ 	$vfw´štf
+  (
+ __FILE
+  *
+ __»¡riù
+  
+ __s
+ ,
+ 
+ 558 
+ __cڡ
+  
+ wch¬_t
+  *
+ __»¡riù
+  
+ __fÜm©
+ ,
+ 
+ 559 
+ __gnuc_va_li¡
+  
+ __¬g
+ )
+ 
+ 560 
+ __THROW
+  ;
+ 
+ 562 

+ 	$vw´štf
+  (
+ __cڡ
+  
+ wch¬_t
+  *
+ __»¡riù
+  
+ __fÜm©
+ ,
+ 
+ 563 
+ __gnuc_va_li¡
+  
+ __¬g
+ )
+ 
+ 564 
+ __THROW
+  ;
+ 
+ 567 

+ 	$vsw´štf
+  (
+ wch¬_t
+  *
+ __»¡riù
+  
+ __s
+ , 
+ size_t
+  
+ __n
+ ,
+ 
+ 568 
+ __cڡ
+  
+ wch¬_t
+  *
+ __»¡riù
+  
+ __fÜm©
+ ,
+ 
+ 569 
+ __gnuc_va_li¡
+  
+ __¬g
+ )
+ 
+ 570 
+ __THROW
+  ;
+ 
+ 574 

+ 	$fwsÿnf
+  (
+ __FILE
+  *
+ __»¡riù
+  
+ __¡»am
+ ,
+ 
+ 575 
+ __cڡ
+  
+ wch¬_t
+  *
+ __»¡riù
+  
+ __fÜm©
+ , ...)
+ 
+ 576 
+ __THROW
+  ;
+ 
+ 578 

+ 	$wsÿnf
+  (
+ __cڡ
+  
+ wch¬_t
+  *
+ __»¡riù
+  
+ __fÜm©
+ , ...)
+ 
+ 579 
+ __THROW
+  ;
+ 
+ 581 

+ 	$swsÿnf
+  (
+ __cڡ
+  
+ wch¬_t
+  *
+ __»¡riù
+  
+ __s
+ ,
+ 
+ 582 
+ __cڡ
+  
+ wch¬_t
+  *
+ __»¡riù
+  
+ __fÜm©
+ , ...)
+ 
+ 583 
+ __THROW
+  ;
+ 
+ 586 #ifdeà
+ __USE_ISOC99
+ 
+ 
+ 588 

+ 	$vfwsÿnf
+  (
+ __FILE
+  *
+ __»¡riù
+  
+ __s
+ ,
+ 
+ 589 
+ __cڡ
+  
+ wch¬_t
+  *
+ __»¡riù
+  
+ __fÜm©
+ ,
+ 
+ 590 
+ __gnuc_va_li¡
+  
+ __¬g
+ )
+ 
+ 591 
+ __THROW
+  ;
+ 
+ 593 

+ 	$vwsÿnf
+  (
+ __cڡ
+  
+ wch¬_t
+  *
+ __»¡riù
+  
+ __fÜm©
+ ,
+ 
+ 594 
+ __gnuc_va_li¡
+  
+ __¬g
+ )
+ 
+ 595 
+ __THROW
+  ;
+ 
+ 597 

+ 	$vswsÿnf
+  (
+ __cڡ
+  
+ wch¬_t
+  *
+ __»¡riù
+  
+ __s
+ ,
+ 
+ 598 
+ __cڡ
+  
+ wch¬_t
+  *
+ __»¡riù
+  
+ __fÜm©
+ ,
+ 
+ 599 
+ __gnuc_va_li¡
+  
+ __¬g
+ )
+ 
+ 600 
+ __THROW
+  ;
+ 
+ 605 
+ wšt_t
+  
+ 	$fg‘wc
+  (
+ __FILE
+  *
+ __¡»am
+ è
+ __THROW
+ ;
+ 
+ 606 
+ wšt_t
+  
+ 	$g‘wc
+  (
+ __FILE
+  *
+ __¡»am
+ è
+ __THROW
+ ;
+ 
+ 609 
+ wšt_t
+  
+ 	$g‘wch¬
+  (è
+ __THROW
+ ;
+ 
+ 613 
+ wšt_t
+  
+ 	$åutwc
+  (
+ wch¬_t
+  
+ __wc
+ , 
+ __FILE
+  *
+ __¡»am
+ è
+ __THROW
+ ;
+ 
+ 614 
+ wšt_t
+  
+ 	$putwc
+  (
+ wch¬_t
+  
+ __wc
+ , 
+ __FILE
+  *
+ __¡»am
+ è
+ __THROW
+ ;
+ 
+ 617 
+ wšt_t
+  
+ 	$putwch¬
+  (
+ wch¬_t
+  
+ __wc
+ è
+ __THROW
+ ;
+ 
+ 622 
+ wch¬_t
+  *
+ 	$fg‘ws
+  (
+ wch¬_t
+  *
+ __»¡riù
+  
+ __ws
+ , 
+ __n
+ ,
+ 
+ 623 
+ __FILE
+  *
+ __»¡riù
+  
+ __¡»am
+ è
+ __THROW
+ ;
+ 
+ 626 

+ 	$åutws
+  (
+ __cڡ
+  
+ wch¬_t
+  *
+ __»¡riù
+  
+ __ws
+ ,
+ 
+ 627 
+ __FILE
+  *
+ __»¡riù
+  
+ __¡»am
+ è
+ __THROW
+ ;
+ 
+ 631 
+ wšt_t
+  
+ 	$ung‘wc
+  (
+ wšt_t
+  
+ __wc
+ , 
+ __FILE
+  *
+ __¡»am
+ è
+ __THROW
+ ;
+ 
+ 634 #ifdeà
+ __USE_GNU
+ 
+ 
+ 637 
+ wšt_t
+  
+ 	$g‘wc_uÆocked
+  (
+ __FILE
+  *
+ __¡»am
+ è
+ __THROW
+ ;
+ 
+ 638 
+ wšt_t
+  
+ 	$g‘wch¬_uÆocked
+  (è
+ __THROW
+ ;
+ 
+ 641 
+ wšt_t
+  
+ 	$fg‘wc_uÆocked
+  (
+ __FILE
+  *
+ __¡»am
+ è
+ __THROW
+ ;
+ 
+ 644 
+ wšt_t
+  
+ 	$åutwc_uÆocked
+  (
+ wch¬_t
+  
+ __wc
+ , 
+ __FILE
+  *
+ __¡»am
+ è
+ __THROW
+ ;
+ 
+ 648 
+ wšt_t
+  
+ 	$putwc_uÆocked
+  (
+ wch¬_t
+  
+ __wc
+ , 
+ __FILE
+  *
+ __¡»am
+ è
+ __THROW
+ ;
+ 
+ 649 
+ wšt_t
+  
+ 	$putwch¬_uÆocked
+  (
+ wch¬_t
+  
+ __wc
+ è
+ __THROW
+ ;
+ 
+ 653 
+ wch¬_t
+  *
+ 	$fg‘ws_uÆocked
+  (
+ wch¬_t
+  *
+ __»¡riù
+  
+ __ws
+ , 
+ __n
+ ,
+ 
+ 654 
+ __FILE
+  *
+ __»¡riù
+  
+ __¡»am
+ è
+ __THROW
+ ;
+ 
+ 657 

+ 	$åutws_uÆocked
+  (
+ __cڡ
+  
+ wch¬_t
+  *
+ __»¡riù
+  
+ __ws
+ ,
+ 
+ 658 
+ __FILE
+  *
+ __»¡riù
+  
+ __¡»am
+ è
+ __THROW
+ ;
+ 
+ 665 
+ size_t
+  
+ 	$wcsáime
+  (
+ wch¬_t
+  *
+ __»¡riù
+  
+ __s
+ , 
+ size_t
+  
+ __maxsize
+ ,
+ 
+ 666 
+ __cڡ
+  
+ wch¬_t
+  *
+ __»¡riù
+  
+ __fÜm©
+ ,
+ 
+ 667 
+ __cڡ
+  
+ tm
+  *
+ __»¡riù
+  
+ __
+ è
+ __THROW
+ ;
+ 
+ 675 #ià
+ defšed
+  
+ __USE_UNIX98
+  && !defšed 
+ __USE_GNU
+ 
+ 
+ 676 
+ 	#__Ãed_iswxxx
+ 
+ 
+ 	)
+ 
+ 677 
+ 	~<wùy³.h
+ >
+ 
+ 680 
+ __END_DECLS
+ 
+ 
+ 	@/usr/include/pthread.h
+ 
+ 15 #iâdeà
+ _PTHREAD_H
+ 
+ 
+ 16 
+ 	#_PTHREAD_H
+  1
+ 
+ 	)
+ 
+ 18 
+ 	~<ã©u»s.h
+ >
+ 
+ 20 
+ 	~<sched.h
+ >
+ 
+ 21 
+ 	~<time.h
+ >
+ 
+ 23 
+ 	#__Ãed_sig£t_t
+ 
+ 
+ 	)
+ 
+ 24 
+ 	~<sigÇl.h
+ >
+ 
+ 25 
+ 	~<b™s/±h»adty³s.h
+ >
+ 
+ 26 
+ 	~<b™s/š™¥š.h
+ >
+ 
+ 29 
+ 	g__BEGIN_DECLS
+ 
+ 
+ 33 
+ 	#PTHREAD_MUTEX_INITIALIZER
+  \
+ 
+ 34 {0, 0, 0, 
+ PTHREAD_MUTEX_TIMED_NP
+ , 
+ __LOCK_INITIALIZER
+ }
+ 
+ 	)
+ 
+ 35 #ifdeà
+ __USE_GNU
+ 
+ 
+ 36 
+ 	#PTHREAD_RECURSIVE_MUTEX_INITIALIZER_NP
+  \
+ 
+ 37 {0, 0, 0, 
+ PTHREAD_MUTEX_RECURSIVE_NP
+ , 
+ __LOCK_INITIALIZER
+ }
+ 
+ 	)
+ 
+ 38 
+ 	#PTHREAD_ERRORCHECK_MUTEX_INITIALIZER_NP
+  \
+ 
+ 39 {0, 0, 0, 
+ PTHREAD_MUTEX_ERRORCHECK_NP
+ , 
+ __LOCK_INITIALIZER
+ }
+ 
+ 	)
+ 
+ 40 
+ 	#PTHREAD_ADAPTIVE_MUTEX_INITIALIZER_NP
+  \
+ 
+ 41 {0, 0, 0, 
+ PTHREAD_MUTEX_ADAPTIVE_NP
+ , 
+ __LOCK_INITIALIZER
+ }
+ 
+ 	)
+ 
+ 44 
+ 	#PTHREAD_COND_INITIALIZER
+  {
+ __LOCK_INITIALIZER
+ , 0}
+ 
+ 	)
+ 
+ 46 #ifdeà
+ __USE_UNIX98
+ 
+ 
+ 47 
+ 	#PTHREAD_RWLOCK_INITIALIZER
+  \
+ 
+ 48 { 
+ __LOCK_INITIALIZER
+ , 0, 
+ NULL
+ , NULL, NULL, \
+ 
+ 49 
+ PTHREAD_RWLOCK_DEFAULT_NP
+ , 
+ PTHREAD_PROCESS_PRIVATE
+  }
+ 
+ 	)
+ 
+ 51 #ifdeà
+ __USE_GNU
+ 
+ 
+ 52 
+ 	#PTHREAD_RWLOCK_WRITER_NONRECURSIVE_INITIALIZER_NP
+  \
+ 
+ 53 { 
+ __LOCK_INITIALIZER
+ , 0, 
+ NULL
+ , NULL, NULL, \
+ 
+ 54 
+ PTHREAD_RWLOCK_PREFER_WRITER_NONRECURSIVE_NP
+ , 
+ PTHREAD_PROCESS_PRIVATE
+  }
+ 
+ 	)
+ 
+ 61 
+ 	mPTHREAD_CREATE_JOINABLE
+ ,
+ 
+ 62 
+ 	#PTHREAD_CREATE_JOINABLE
+  
+ PTHREAD_CREATE_JOINABLE
+ 
+ 
+ 	)
+ 
+ 63 
+ 	mPTHREAD_CREATE_DETACHED
+ 
+ 
+ 64 
+ 	#PTHREAD_CREATE_DETACHED
+  
+ PTHREAD_CREATE_DETACHED
+ 
+ 
+ 	)
+ 
+ 69 
+ 	mPTHREAD_INHERIT_SCHED
+ ,
+ 
+ 70 
+ 	#PTHREAD_INHERIT_SCHED
+  
+ PTHREAD_INHERIT_SCHED
+ 
+ 
+ 	)
+ 
+ 71 
+ 	mPTHREAD_EXPLICIT_SCHED
+ 
+ 
+ 72 
+ 	#PTHREAD_EXPLICIT_SCHED
+  
+ PTHREAD_EXPLICIT_SCHED
+ 
+ 
+ 	)
+ 
+ 77 
+ 	mPTHREAD_SCOPE_SYSTEM
+ ,
+ 
+ 78 
+ 	#PTHREAD_SCOPE_SYSTEM
+  
+ PTHREAD_SCOPE_SYSTEM
+ 
+ 
+ 	)
+ 
+ 79 
+ 	mPTHREAD_SCOPE_PROCESS
+ 
+ 
+ 80 
+ 	#PTHREAD_SCOPE_PROCESS
+  
+ PTHREAD_SCOPE_PROCESS
+ 
+ 
+ 	)
+ 
+ 85 
+ 	mPTHREAD_MUTEX_TIMED_NP
+ ,
+ 
+ 86 
+ 	mPTHREAD_MUTEX_RECURSIVE_NP
+ ,
+ 
+ 87 
+ 	mPTHREAD_MUTEX_ERRORCHECK_NP
+ ,
+ 
+ 88 
+ 	mPTHREAD_MUTEX_ADAPTIVE_NP
+ 
+ 
+ 89 #ifdeà
+ __USE_UNIX98
+ 
+ 
+ 91 
+ 	mPTHREAD_MUTEX_NORMAL
+  = 
+ PTHREAD_MUTEX_TIMED_NP
+ ,
+ 
+ 92 
+ 	mPTHREAD_MUTEX_RECURSIVE
+  = 
+ PTHREAD_MUTEX_RECURSIVE_NP
+ ,
+ 
+ 93 
+ 	mPTHREAD_MUTEX_ERRORCHECK
+  = 
+ PTHREAD_MUTEX_ERRORCHECK_NP
+ ,
+ 
+ 94 
+ 	mPTHREAD_MUTEX_DEFAULT
+  = 
+ PTHREAD_MUTEX_NORMAL
+ 
+ 
+ 96 #ifdeà
+ __USE_GNU
+ 
+ 
+ 98 , 
+ 	mPTHREAD_MUTEX_FAST_NP
+  = 
+ PTHREAD_MUTEX_ADAPTIVE_NP
+ 
+ 
+ 104 
+ 	mPTHREAD_PROCESS_PRIVATE
+ ,
+ 
+ 105 
+ 	#PTHREAD_PROCESS_PRIVATE
+  
+ PTHREAD_PROCESS_PRIVATE
+ 
+ 
+ 	)
+ 
+ 106 
+ 	mPTHREAD_PROCESS_SHARED
+ 
+ 
+ 107 
+ 	#PTHREAD_PROCESS_SHARED
+  
+ PTHREAD_PROCESS_SHARED
+ 
+ 
+ 	)
+ 
+ 110 #ifdeà
+ __USE_UNIX98
+ 
+ 
+ 113 
+ 	mPTHREAD_RWLOCK_PREFER_READER_NP
+ ,
+ 
+ 114 
+ 	mPTHREAD_RWLOCK_PREFER_WRITER_NP
+ ,
+ 
+ 115 
+ 	mPTHREAD_RWLOCK_PREFER_WRITER_NONRECURSIVE_NP
+ ,
+ 
+ 116 
+ 	mPTHREAD_RWLOCK_DEFAULT_NP
+  = 
+ PTHREAD_RWLOCK_PREFER_WRITER_NP
+ 
+ 
+ 120 
+ 	#PTHREAD_ONCE_INIT
+  0
+ 
+ 	)
+ 
+ 124 #ifdeà
+ __USE_XOPEN2K
+ 
+ 
+ 126 
+ 	#PTHREAD_BARRIER_SERIAL_THREAD
+  -1
+ 
+ 	)
+ 
+ 131 
+ 	s_±h»ad_þ—nup_bufãr
+ 
+ 
+ 133 (*
+ 	m__routše
+ ) (*);
+ 
+ 134 *
+ 	m__¬g
+ ;
+ 
+ 135 
+ 	m__ÿnûÉy³
+ ;
+ 
+ 136 
+ _±h»ad_þ—nup_bufãr
+  *
+ 	m__´ev
+ ;
+ 
+ 143 
+ 	mPTHREAD_CANCEL_ENABLE
+ ,
+ 
+ 144 
+ 	#PTHREAD_CANCEL_ENABLE
+  
+ PTHREAD_CANCEL_ENABLE
+ 
+ 
+ 	)
+ 
+ 145 
+ 	mPTHREAD_CANCEL_DISABLE
+ 
+ 
+ 146 
+ 	#PTHREAD_CANCEL_DISABLE
+  
+ PTHREAD_CANCEL_DISABLE
+ 
+ 
+ 	)
+ 
+ 150 
+ 	mPTHREAD_CANCEL_DEFERRED
+ ,
+ 
+ 151 
+ 	#PTHREAD_CANCEL_DEFERRED
+  
+ PTHREAD_CANCEL_DEFERRED
+ 
+ 
+ 	)
+ 
+ 152 
+ 	mPTHREAD_CANCEL_ASYNCHRONOUS
+ 
+ 
+ 153 
+ 	#PTHREAD_CANCEL_ASYNCHRONOUS
+  
+ PTHREAD_CANCEL_ASYNCHRONOUS
+ 
+ 
+ 	)
+ 
+ 155 
+ 	#PTHREAD_CANCELED
+  ((*è-1)
+ 
+ 	)
+ 
+ 163 

+ ±h»ad_ü—‹
+  (
+ ±h»ad_t
+  *
+ __»¡riù
+  
+ __th»ad
+ ,
+ 
+ 164 
+ __cڡ
+  
+ ±h»ad_©Œ_t
+  *
+ __»¡riù
+  
+ __©Œ
+ ,
+ 
+ 165 *(*
+ __¡¬t_routše
+ ) (*),
+ 
+ 166 *
+ __»¡riù
+  
+ __¬g
+ è
+ __THROW
+ ;
+ 
+ 169 
+ ±h»ad_t
+  
+ 	$±h»ad_£lf
+  (è
+ __THROW
+ ;
+ 
+ 172 

+ 	$±h»ad_equ®
+  (
+ ±h»ad_t
+  
+ __th»ad1
+ ,…th»ad_ˆ
+ __th»ad2
+ è
+ __THROW
+ ;
+ 
+ 175 

+ 	$±h»ad_ex™
+  (*
+ __»tv®
+ )
+ 
+ 176 
+ __THROW
+  
+ 	`__©Œibu‹__
+  ((
+ __nÜ‘uº__
+ ));
+ 
+ 181 

+ 	$±h»ad_još
+  (
+ ±h»ad_t
+  
+ __th
+ , **
+ __th»ad_»tuº
+ è
+ __THROW
+ ;
+ 
+ 187 

+ 	$±h»ad_d‘ach
+  (
+ ±h»ad_t
+  
+ __th
+ è
+ __THROW
+ ;
+ 
+ 195 

+ 	$±h»ad_©Œ_š™
+  (
+ ±h»ad_©Œ_t
+  *
+ __©Œ
+ è
+ __THROW
+ ;
+ 
+ 198 

+ 	$±h»ad_©Œ_de¡roy
+  (
+ ±h»ad_©Œ_t
+  *
+ __©Œ
+ è
+ __THROW
+ ;
+ 
+ 201 

+ 	$±h»ad_©Œ_£td‘ach¡©e
+  (
+ ±h»ad_©Œ_t
+  *
+ __©Œ
+ ,
+ 
+ 202 
+ __d‘ach¡©e
+ è
+ __THROW
+ ;
+ 
+ 205 

+ 	$±h»ad_©Œ_g‘d‘ach¡©e
+  (
+ __cڡ
+  
+ ±h»ad_©Œ_t
+  *
+ __©Œ
+ ,
+ 
+ 206 *
+ __d‘ach¡©e
+ è
+ __THROW
+ ;
+ 
+ 209 

+ 	$±h»ad_©Œ_£tsched·¿m
+  (
+ ±h»ad_©Œ_t
+  *
+ __»¡riù
+  
+ __©Œ
+ ,
+ 
+ 210 
+ __cڡ
+  
+ sched_·¿m
+  *
+ __»¡riù
+ 
+ 
+ 211 
+ __·¿m
+ è
+ __THROW
+ ;
+ 
+ 214 

+ 	$±h»ad_©Œ_g‘sched·¿m
+  (
+ __cڡ
+  
+ ±h»ad_©Œ_t
+  *
+ __»¡riù
+ 
+ 
+ 215 
+ __©Œ
+ ,
+ 
+ 216 
+ sched_·¿m
+  *
+ __»¡riù
+  
+ __·¿m
+ )
+ 
+ 217 
+ __THROW
+ ;
+ 
+ 220 

+ 	$±h»ad_©Œ_£tschedpÞicy
+  (
+ ±h»ad_©Œ_t
+  *
+ __©Œ
+ , 
+ __pÞicy
+ )
+ 
+ 221 
+ __THROW
+ ;
+ 
+ 224 

+ 	$±h»ad_©Œ_g‘schedpÞicy
+  (
+ __cڡ
+  
+ ±h»ad_©Œ_t
+  *
+ __»¡riù
+ 
+ 
+ 225 
+ __©Œ
+ , *
+ __»¡riù
+  
+ __pÞicy
+ )
+ 
+ 226 
+ __THROW
+ ;
+ 
+ 229 

+ 	$±h»ad_©Œ_£tšh”™sched
+  (
+ ±h»ad_©Œ_t
+  *
+ __©Œ
+ ,
+ 
+ 230 
+ __šh”™
+ è
+ __THROW
+ ;
+ 
+ 233 

+ 	$±h»ad_©Œ_g‘šh”™sched
+  (
+ __cڡ
+  
+ ±h»ad_©Œ_t
+  *
+ __»¡riù
+ 
+ 
+ 234 
+ __©Œ
+ , *
+ __»¡riù
+  
+ __šh”™
+ )
+ 
+ 235 
+ __THROW
+ ;
+ 
+ 238 

+ 	$±h»ad_©Œ_£tscÝe
+  (
+ ±h»ad_©Œ_t
+  *
+ __©Œ
+ , 
+ __scÝe
+ )
+ 
+ 239 
+ __THROW
+ ;
+ 
+ 242 

+ 	$±h»ad_©Œ_g‘scÝe
+  (
+ __cڡ
+  
+ ±h»ad_©Œ_t
+  *
+ __»¡riù
+  
+ __©Œ
+ ,
+ 
+ 243 *
+ __»¡riù
+  
+ __scÝe
+ è
+ __THROW
+ ;
+ 
+ 245 #ifdeà
+ __USE_UNIX98
+ 
+ 
+ 247 

+ 	$±h»ad_©Œ_£tgu¬dsize
+  (
+ ±h»ad_©Œ_t
+  *
+ __©Œ
+ ,
+ 
+ 248 
+ size_t
+  
+ __gu¬dsize
+ è
+ __THROW
+ ;
+ 
+ 251 

+ 	$±h»ad_©Œ_g‘gu¬dsize
+  (
+ __cڡ
+  
+ ±h»ad_©Œ_t
+  *
+ __»¡riù
+ 
+ 
+ 252 
+ __©Œ
+ , 
+ size_t
+  *
+ __»¡riù
+  
+ __gu¬dsize
+ )
+ 
+ 253 
+ __THROW
+ ;
+ 
+ 260 

+ 	$±h»ad_©Œ_£t¡ackaddr
+  (
+ ±h»ad_©Œ_t
+  *
+ __©Œ
+ ,
+ 
+ 261 *
+ __¡ackaddr
+ è
+ __THROW
+ ;
+ 
+ 264 

+ 	$±h»ad_©Œ_g‘¡ackaddr
+  (
+ __cڡ
+  
+ ±h»ad_©Œ_t
+  *
+ __»¡riù
+ 
+ 
+ 265 
+ __©Œ
+ , **
+ __»¡riù
+  
+ __¡ackaddr
+ )
+ 
+ 266 
+ __THROW
+ ;
+ 
+ 268 #ifdeà
+ __USE_XOPEN2K
+ 
+ 
+ 272 

+ 	$±h»ad_©Œ_£t¡ack
+  (
+ ±h»ad_©Œ_t
+  *
+ __©Œ
+ , *
+ __¡ackaddr
+ ,
+ 
+ 273 
+ size_t
+  
+ __¡acksize
+ è
+ __THROW
+ ;
+ 
+ 276 

+ 	$±h»ad_©Œ_g‘¡ack
+  (
+ __cڡ
+  
+ ±h»ad_©Œ_t
+  *
+ __»¡riù
+  
+ __©Œ
+ ,
+ 
+ 277 **
+ __»¡riù
+  
+ __¡ackaddr
+ ,
+ 
+ 278 
+ size_t
+  *
+ __»¡riù
+  
+ __¡acksize
+ è
+ __THROW
+ ;
+ 
+ 284 

+ 	$±h»ad_©Œ_£t¡acksize
+  (
+ ±h»ad_©Œ_t
+  *
+ __©Œ
+ ,
+ 
+ 285 
+ size_t
+  
+ __¡acksize
+ è
+ __THROW
+ ;
+ 
+ 288 

+ 	$±h»ad_©Œ_g‘¡acksize
+  (
+ __cڡ
+  
+ ±h»ad_©Œ_t
+  *
+ __»¡riù
+ 
+ 
+ 289 
+ __©Œ
+ , 
+ size_t
+  *
+ __»¡riù
+  
+ __¡acksize
+ )
+ 
+ 290 
+ __THROW
+ ;
+ 
+ 292 #ifdeà
+ __USE_GNU
+ 
+ 
+ 294 

+ 	$±h»ad_g‘©Œ_Å
+  (
+ ±h»ad_t
+  
+ __th
+ , 
+ ±h»ad_©Œ_t
+  *
+ __©Œ
+ è
+ __THROW
+ ;
+ 
+ 301 

+ 	$±h»ad_£tsched·¿m
+  (
+ ±h»ad_t
+  
+ __rg‘_th»ad
+ , 
+ __pÞicy
+ ,
+ 
+ 302 
+ __cڡ
+  
+ sched_·¿m
+  *
+ __·¿m
+ )
+ 
+ 303 
+ __THROW
+ ;
+ 
+ 306 

+ 	$±h»ad_g‘sched·¿m
+  (
+ ±h»ad_t
+  
+ __rg‘_th»ad
+ ,
+ 
+ 307 *
+ __»¡riù
+  
+ __pÞicy
+ ,
+ 
+ 308 
+ sched_·¿m
+  *
+ __»¡riù
+  
+ __·¿m
+ )
+ 
+ 309 
+ __THROW
+ ;
+ 
+ 311 #ifdeà
+ __USE_UNIX98
+ 
+ 
+ 313 

+ 	$±h»ad_g‘cÚcu¼’cy
+  (è
+ __THROW
+ ;
+ 
+ 316 

+ 	$±h»ad_£tcÚcu¼’cy
+  (
+ __Ëv–
+ è
+ __THROW
+ ;
+ 
+ 319 #ifdeà
+ __USE_GNU
+ 
+ 
+ 324 

+ 	$±h»ad_y›ld
+  (è
+ __THROW
+ ;
+ 
+ 331 

+ 	$±h»ad_mu‹x_š™
+  (
+ ±h»ad_mu‹x_t
+  *
+ __»¡riù
+  
+ __mu‹x
+ ,
+ 
+ 332 
+ __cڡ
+  
+ ±h»ad_mu‹x©Œ_t
+  *
+ __»¡riù
+ 
+ 
+ 333 
+ __mu‹x_©Œ
+ è
+ __THROW
+ ;
+ 
+ 336 

+ 	$±h»ad_mu‹x_de¡roy
+  (
+ ±h»ad_mu‹x_t
+  *
+ __mu‹x
+ è
+ __THROW
+ ;
+ 
+ 339 

+ 	$±h»ad_mu‹x_Œylock
+  (
+ ±h»ad_mu‹x_t
+  *
+ __mu‹x
+ è
+ __THROW
+ ;
+ 
+ 342 

+ 	$±h»ad_mu‹x_lock
+  (
+ ±h»ad_mu‹x_t
+  *
+ __mu‹x
+ è
+ __THROW
+ ;
+ 
+ 344 #ifdeà
+ __USE_XOPEN2K
+ 
+ 
+ 346 

+ 	$±h»ad_mu‹x_timedlock
+  (
+ ±h»ad_mu‹x_t
+  *
+ __»¡riù
+  
+ __mu‹x
+ ,
+ 
+ 347 
+ __cڡ
+  
+ time¥ec
+  *
+ __»¡riù
+ 
+ 
+ 348 
+ __ab¡ime
+ è
+ __THROW
+ ;
+ 
+ 352 

+ 	$±h»ad_mu‹x_uÆock
+  (
+ ±h»ad_mu‹x_t
+  *
+ __mu‹x
+ è
+ __THROW
+ ;
+ 
+ 359 

+ 	$±h»ad_mu‹x©Œ_š™
+  (
+ ±h»ad_mu‹x©Œ_t
+  *
+ __©Œ
+ è
+ __THROW
+ ;
+ 
+ 362 

+ 	$±h»ad_mu‹x©Œ_de¡roy
+  (
+ ±h»ad_mu‹x©Œ_t
+  *
+ __©Œ
+ è
+ __THROW
+ ;
+ 
+ 365 

+ 	$±h»ad_mu‹x©Œ_g‘psh¬ed
+  (
+ __cڡ
+  
+ ±h»ad_mu‹x©Œ_t
+  *
+ 
+ 366 
+ __»¡riù
+  
+ __©Œ
+ ,
+ 
+ 367 *
+ __»¡riù
+  
+ __psh¬ed
+ è
+ __THROW
+ ;
+ 
+ 370 

+ 	$±h»ad_mu‹x©Œ_£sh¬ed
+  (
+ ±h»ad_mu‹x©Œ_t
+  *
+ __©Œ
+ ,
+ 
+ 371 
+ __psh¬ed
+ è
+ __THROW
+ ;
+ 
+ 373 #ifdeà
+ __USE_UNIX98
+ 
+ 
+ 377 

+ 	$±h»ad_mu‹x©Œ_£‰y³
+  (
+ ±h»ad_mu‹x©Œ_t
+  *
+ __©Œ
+ , 
+ __kšd
+ )
+ 
+ 378 
+ __THROW
+ ;
+ 
+ 381 

+ 	$±h»ad_mu‹x©Œ_g‘ty³
+  (
+ __cڡ
+  
+ ±h»ad_mu‹x©Œ_t
+  *
+ __»¡riù
+ 
+ 
+ 382 
+ __©Œ
+ , *
+ __»¡riù
+  
+ __kšd
+ è
+ __THROW
+ ;
+ 
+ 390 

+ 	$±h»ad_cÚd_š™
+  (
+ ±h»ad_cÚd_t
+  *
+ __»¡riù
+  
+ __cÚd
+ ,
+ 
+ 391 
+ __cڡ
+  
+ ±h»ad_cÚd©Œ_t
+  *
+ __»¡riù
+ 
+ 
+ 392 
+ __cÚd_©Œ
+ è
+ __THROW
+ ;
+ 
+ 395 

+ 	$±h»ad_cÚd_de¡roy
+  (
+ ±h»ad_cÚd_t
+  *
+ __cÚd
+ è
+ __THROW
+ ;
+ 
+ 398 

+ 	$±h»ad_cÚd_sigÇl
+  (
+ ±h»ad_cÚd_t
+  *
+ __cÚd
+ è
+ __THROW
+ ;
+ 
+ 401 

+ 	$±h»ad_cÚd_brßdÿ¡
+  (
+ ±h»ad_cÚd_t
+  *
+ __cÚd
+ è
+ __THROW
+ ;
+ 
+ 405 

+ 	$±h»ad_cÚd_wa™
+  (
+ ±h»ad_cÚd_t
+  *
+ __»¡riù
+  
+ __cÚd
+ ,
+ 
+ 406 
+ ±h»ad_mu‹x_t
+  *
+ __»¡riù
+  
+ __mu‹x
+ è
+ __THROW
+ ;
+ 
+ 412 

+ 	$±h»ad_cÚd_timedwa™
+  (
+ ±h»ad_cÚd_t
+  *
+ __»¡riù
+  
+ __cÚd
+ ,
+ 
+ 413 
+ ±h»ad_mu‹x_t
+  *
+ __»¡riù
+  
+ __mu‹x
+ ,
+ 
+ 414 
+ __cڡ
+  
+ time¥ec
+  *
+ __»¡riù
+ 
+ 
+ 415 
+ __ab¡ime
+ è
+ __THROW
+ ;
+ 
+ 420 

+ 	$±h»ad_cÚd©Œ_š™
+  (
+ ±h»ad_cÚd©Œ_t
+  *
+ __©Œ
+ è
+ __THROW
+ ;
+ 
+ 423 

+ 	$±h»ad_cÚd©Œ_de¡roy
+  (
+ ±h»ad_cÚd©Œ_t
+  *
+ __©Œ
+ è
+ __THROW
+ ;
+ 
+ 426 

+ 	$±h»ad_cÚd©Œ_g‘psh¬ed
+  (
+ __cڡ
+  
+ ±h»ad_cÚd©Œ_t
+  *
+ 
+ 427 
+ __»¡riù
+  
+ __©Œ
+ ,
+ 
+ 428 *
+ __»¡riù
+  
+ __psh¬ed
+ è
+ __THROW
+ ;
+ 
+ 431 

+ 	$±h»ad_cÚd©Œ_£sh¬ed
+  (
+ ±h»ad_cÚd©Œ_t
+  *
+ __©Œ
+ ,
+ 
+ 432 
+ __psh¬ed
+ è
+ __THROW
+ ;
+ 
+ 435 #ifdeà
+ __USE_UNIX98
+ 
+ 
+ 440 

+ 	$±h»ad_rwlock_š™
+  (
+ ±h»ad_rwlock_t
+  *
+ __»¡riù
+  
+ __rwlock
+ ,
+ 
+ 441 
+ __cڡ
+  
+ ±h»ad_rwlock©Œ_t
+  *
+ __»¡riù
+ 
+ 
+ 442 
+ __©Œ
+ è
+ __THROW
+ ;
+ 
+ 445 

+ 	$±h»ad_rwlock_de¡roy
+  (
+ ±h»ad_rwlock_t
+  *
+ __rwlock
+ è
+ __THROW
+ ;
+ 
+ 448 

+ 	$±h»ad_rwlock_rdlock
+  (
+ ±h»ad_rwlock_t
+  *
+ __rwlock
+ è
+ __THROW
+ ;
+ 
+ 451 

+ 	$±h»ad_rwlock_Œyrdlock
+  (
+ ±h»ad_rwlock_t
+  *
+ __rwlock
+ è
+ __THROW
+ ;
+ 
+ 453 #ifdeà
+ __USE_XOPEN2K
+ 
+ 
+ 455 

+ 	$±h»ad_rwlock_timedrdlock
+  (
+ ±h»ad_rwlock_t
+  *
+ __»¡riù
+  
+ __rwlock
+ ,
+ 
+ 456 
+ __cڡ
+  
+ time¥ec
+  *
+ __»¡riù
+ 
+ 
+ 457 
+ __ab¡ime
+ è
+ __THROW
+ ;
+ 
+ 461 

+ 	$±h»ad_rwlock_w¾ock
+  (
+ ±h»ad_rwlock_t
+  *
+ __rwlock
+ è
+ __THROW
+ ;
+ 
+ 464 

+ 	$±h»ad_rwlock_Œyw¾ock
+  (
+ ±h»ad_rwlock_t
+  *
+ __rwlock
+ è
+ __THROW
+ ;
+ 
+ 466 #ifdeà
+ __USE_XOPEN2K
+ 
+ 
+ 468 

+ 	$±h»ad_rwlock_timedw¾ock
+  (
+ ±h»ad_rwlock_t
+  *
+ __»¡riù
+  
+ __rwlock
+ ,
+ 
+ 469 
+ __cڡ
+  
+ time¥ec
+  *
+ __»¡riù
+ 
+ 
+ 470 
+ __ab¡ime
+ è
+ __THROW
+ ;
+ 
+ 474 

+ 	$±h»ad_rwlock_uÆock
+  (
+ ±h»ad_rwlock_t
+  *
+ __rwlock
+ è
+ __THROW
+ ;
+ 
+ 480 

+ 	$±h»ad_rwlock©Œ_š™
+  (
+ ±h»ad_rwlock©Œ_t
+  *
+ __©Œ
+ è
+ __THROW
+ ;
+ 
+ 483 

+ 	$±h»ad_rwlock©Œ_de¡roy
+  (
+ ±h»ad_rwlock©Œ_t
+  *
+ __©Œ
+ è
+ __THROW
+ ;
+ 
+ 486 

+ 	$±h»ad_rwlock©Œ_g‘psh¬ed
+  (
+ __cڡ
+  
+ ±h»ad_rwlock©Œ_t
+  *
+ 
+ 487 
+ __»¡riù
+  
+ __©Œ
+ ,
+ 
+ 488 *
+ __»¡riù
+  
+ __psh¬ed
+ è
+ __THROW
+ ;
+ 
+ 491 

+ 	$±h»ad_rwlock©Œ_£sh¬ed
+  (
+ ±h»ad_rwlock©Œ_t
+  *
+ __©Œ
+ ,
+ 
+ 492 
+ __psh¬ed
+ è
+ __THROW
+ ;
+ 
+ 495 

+ 	$±h»ad_rwlock©Œ_g‘kšd_Å
+  (
+ __cڡ
+  
+ ±h»ad_rwlock©Œ_t
+  *
+ __©Œ
+ ,
+ 
+ 496 *
+ __´ef
+ è
+ __THROW
+ ;
+ 
+ 499 

+ 	$±h»ad_rwlock©Œ_£tkšd_Å
+  (
+ ±h»ad_rwlock©Œ_t
+  *
+ __©Œ
+ ,
+ 
+ 500 
+ __´ef
+ è
+ __THROW
+ ;
+ 
+ 503 #ifdeà
+ __USE_XOPEN2K
+ 
+ 
+ 509 

+ 	$±h»ad_¥š_š™
+  (
+ ±h»ad_¥šlock_t
+  *
+ __lock
+ , 
+ __psh¬ed
+ )
+ 
+ 510 
+ __THROW
+ ;
+ 
+ 513 

+ 	$±h»ad_¥š_de¡roy
+  (
+ ±h»ad_¥šlock_t
+  *
+ __lock
+ è
+ __THROW
+ ;
+ 
+ 516 

+ 	$±h»ad_¥š_lock
+  (
+ ±h»ad_¥šlock_t
+  *
+ __lock
+ è
+ __THROW
+ ;
+ 
+ 519 

+ 	$±h»ad_¥š_Œylock
+  (
+ ±h»ad_¥šlock_t
+  *
+ __lock
+ è
+ __THROW
+ ;
+ 
+ 522 

+ 	$±h»ad_¥š_uÆock
+  (
+ ±h»ad_¥šlock_t
+  *
+ __lock
+ è
+ __THROW
+ ;
+ 
+ 527 

+ 	$±h»ad_b¬r›r_š™
+  (
+ ±h»ad_b¬r›r_t
+  *
+ __»¡riù
+  
+ __b¬r›r
+ ,
+ 
+ 528 
+ __cڡ
+  
+ ±h»ad_b¬r›¿‰r_t
+  *
+ __»¡riù
+ 
+ 
+ 529 
+ __©Œ
+ , 
+ __couÁ
+ è
+ __THROW
+ ;
+ 
+ 531 

+ 	$±h»ad_b¬r›r_de¡roy
+  (
+ ±h»ad_b¬r›r_t
+  *
+ __b¬r›r
+ è
+ __THROW
+ ;
+ 
+ 533 

+ 	$±h»ad_b¬r›¿‰r_š™
+  (
+ ±h»ad_b¬r›¿‰r_t
+  *
+ __©Œ
+ è
+ __THROW
+ ;
+ 
+ 535 

+ 	$±h»ad_b¬r›¿‰r_de¡roy
+  (
+ ±h»ad_b¬r›¿‰r_t
+  *
+ __©Œ
+ è
+ __THROW
+ ;
+ 
+ 537 

+ 	$±h»ad_b¬r›¿‰r_g‘psh¬ed
+  (
+ __cڡ
+  
+ ±h»ad_b¬r›¿‰r_t
+  *
+ 
+ 538 
+ __»¡riù
+  
+ __©Œ
+ ,
+ 
+ 539 *
+ __»¡riù
+  
+ __psh¬ed
+ è
+ __THROW
+ ;
+ 
+ 541 

+ 	$±h»ad_b¬r›¿‰r_£sh¬ed
+  (
+ ±h»ad_b¬r›¿‰r_t
+  *
+ __©Œ
+ ,
+ 
+ 542 
+ __psh¬ed
+ è
+ __THROW
+ ;
+ 
+ 544 

+ 	$±h»ad_b¬r›r_wa™
+  (
+ ±h»ad_b¬r›r_t
+  *
+ __b¬r›r
+ è
+ __THROW
+ ;
+ 
+ 556 

+ 	`±h»ad_key_ü—‹
+  (
+ ±h»ad_key_t
+  *
+ __key
+ ,
+ 
+ 557 (*
+ __de¡r_funùiÚ
+ è(*)è
+ __THROW
+ ;
+ 
+ 560 

+ 	$±h»ad_key_d–‘e
+  (
+ ±h»ad_key_t
+  
+ __key
+ è
+ __THROW
+ ;
+ 
+ 563 

+ 	$±h»ad_£t¥ecific
+  (
+ ±h»ad_key_t
+  
+ __key
+ ,
+ 
+ 564 
+ __cڡ
+  *
+ __poš‹r
+ è
+ __THROW
+ ;
+ 
+ 567 
*
+ 	$±h»ad_g‘¥ecific
+  (
+ ±h»ad_key_t
+  
+ __key
+ è
+ __THROW
+ ;
+ 
+ 576 

+ 	`±h»ad_Úû
+  (
+ ±h»ad_Úû_t
+  *
+ __Úû_cÚŒÞ
+ ,
+ 
+ 577 (*
+ __š™_routše
+ è()è
+ __THROW
+ ;
+ 
+ 584 

+ 	$±h»ad_£tÿnûl¡©e
+  (
+ __¡©e
+ , *
+ __Þd¡©e
+ è
+ __THROW
+ ;
+ 
+ 588 

+ 	$±h»ad_£tÿnûÉy³
+  (
+ __ty³
+ , *
+ __Þdty³
+ è
+ __THROW
+ ;
+ 
+ 591 

+ 	$±h»ad_ÿnûl
+  (
+ ±h»ad_t
+  
+ __th»ad
+ è
+ __THROW
+ ;
+ 
+ 596 

+ 	$±h»ad_‹¡ÿnûl
+  (è
+ __THROW
+ ;
+ 
+ 606 
+ 	#±h»ad_þ—nup_push
+ (
+ routše
+ ,
+ ¬g
+ ) \
+ 
+ 607 { 
+ _±h»ad_þ—nup_bufãr
+  
+ _bufãr
+ ; \
+ 
+ 608 
+ 	`_±h»ad_þ—nup_push
+  (&
+ _bufãr
+ , (
+ routše
+ ), (
+ ¬g
+ ));
+ 
+ 	)
+ 
+ 610 

+ 	`_±h»ad_þ—nup_push
+  (
+ _±h»ad_þ—nup_bufãr
+  *
+ __bufãr
+ ,
+ 
+ 611 (*
+ __routše
+ ) (*),
+ 
+ 612 *
+ __¬g
+ è
+ __THROW
+ ;
+ 
+ 617 
+ 	#±h»ad_þ—nup_pÝ
+ (
+ execu‹
+ ) \
+ 
+ 618 
+ 	`_±h»ad_þ—nup_pÝ
+  (&
+ _bufãr
+ , (
+ execu‹
+ )); 
+ 	}
+ 
+ 	)
+ }
+ 
+ 620 

+ 	$_±h»ad_þ—nup_pÝ
+  (
+ _±h»ad_þ—nup_bufãr
+  *
+ __bufãr
+ ,
+ 
+ 621 
+ __execu‹
+ è
+ __THROW
+ ;
+ 
+ 626 #ifdeà
+ __USE_GNU
+ 
+ 
+ 627 
+ 	#±h»ad_þ—nup_push_deãr_Å
+ (
+ routše
+ ,
+ ¬g
+ ) \
+ 
+ 628 { 
+ _±h»ad_þ—nup_bufãr
+  
+ _bufãr
+ ; \
+ 
+ 629 
+ 	`_±h»ad_þ—nup_push_deãr
+  (&
+ _bufãr
+ , (
+ routše
+ ), (
+ ¬g
+ ));
+ 
+ 	)
+ 
+ 631 

+ 	`_±h»ad_þ—nup_push_deãr
+  (
+ _±h»ad_þ—nup_bufãr
+  *
+ __bufãr
+ ,
+ 
+ 632 (*
+ __routše
+ ) (*),
+ 
+ 633 *
+ __¬g
+ è
+ __THROW
+ ;
+ 
+ 639 
+ 	#±h»ad_þ—nup_pÝ_»¡Üe_Å
+ (
+ execu‹
+ ) \
+ 
+ 640 
+ 	`_±h»ad_þ—nup_pÝ_»¡Üe
+  (&
+ _bufãr
+ , (
+ execu‹
+ )); 
+ 	}
+ 
+ 	)
+ }
+ 
+ 642 

+ 	$_±h»ad_þ—nup_pÝ_»¡Üe
+  (
+ _±h»ad_þ—nup_bufãr
+  *
+ __bufãr
+ ,
+ 
+ 643 
+ __execu‹
+ è
+ __THROW
+ ;
+ 
+ 647 #ifdeà
+ __USE_XOPEN2K
+ 
+ 
+ 649 

+ 	$±h»ad_g‘ýuþockid
+  (
+ ±h»ad_t
+  
+ __th»ad_id
+ ,
+ 
+ 650 
+ þockid_t
+  *
+ __þock_id
+ è
+ __THROW
+ ;
+ 
+ 655 
+ 	~<b™s/sigth»ad.h
+ >
+ 
+ 671 

+ 	`±h»ad_©fÜk
+  ((*
+ __´•¬e
+ ) (),
+ 
+ 672 (*
+ __·»Á
+ ) (),
+ 
+ 673 (*
+ __chžd
+ è()è
+ __THROW
+ ;
+ 
+ 678 

+ 	$±h»ad_kžl_Ùh”_th»ads_Å
+  (è
+ __THROW
+ ;
+ 
+ 680 
+ __END_DECLS
+ 
+ 
+ 	@/usr/include/wctype.h
+ 
+ 24 #iâdeà
+ _WCTYPE_H
+ 
+ 
+ 26 
+ 	~<ã©u»s.h
+ >
+ 
+ 27 
+ 	~<b™s/ty³s.h
+ >
+ 
+ 29 #iâdeà
+ __Ãed_iswxxx
+ 
+ 
+ 30 
+ 	#_WCTYPE_H
+  1
+ 
+ 	)
+ 
+ 34 
+ 	#__Ãed_wšt_t
+ 
+ 
+ 	)
+ 
+ 35 
+ 	~<¡ddef.h
+ >
+ 
+ 36 #iâdeà
+ _WINT_T
+ 
+ 
+ 41 
+ 	#_WINT_T
+ 
+ 
+ 	)
+ 
+ 42 
+ 	twšt_t
+ ;
+ 
+ 47 #iâdeà
+ WEOF
+ 
+ 
+ 48 
+ 	#WEOF
+  (0xffffffffu)
+ 
+ 	)
+ 
+ 51 #undeà
+ __Ãed_iswxxx
+ 
+ 
+ 56 #iâdeà
+ __iswxxx_defšed
+ 
+ 
+ 57 
+ 	#__iswxxx_defšed
+  1
+ 
+ 	)
+ 
+ 61 
+ 	twùy³_t
+ ;
+ 
+ 63 #iâdeà
+ _ISwb™
+ 
+ 
+ 68 
+ 	~<’dŸn.h
+ >
+ 
+ 69 #ià
+ __BYTE_ORDER
+  =ð
+ __BIG_ENDIAN
+ 
+ 
+ 70 
+ 	#_ISwb™
+ (
+ b™
+ è(1 << (b™))
+ 
+ 	)
+ 
+ 72 
+ 	#_ISwb™
+ (
+ b™
+ ) \
+ 
+ 73 ((
+ b™
+ ) < 8 ? () ((1UL << (bit)) << 24) \
+ 
+ 74 : ((
+ b™
+ ) < 16 ? () ((1UL << (bit)) << 8) \
+ 
+ 75 : ((
+ b™
+ ) < 24 ? () ((1UL << (bit)) >> 8) \
+ 
+ 76 : (è((1UL << (
+ b™
+ )è>> 24))))
+ 
+ 	)
+ 
+ 81 
+ 	m__ISwuµ”
+  = 0,
+ 
+ 82 
+ 	m__ISwlow”
+  = 1,
+ 
+ 83 
+ 	m__ISw®pha
+  = 2,
+ 
+ 84 
+ 	m__ISwdig™
+  = 3,
+ 
+ 85 
+ 	m__ISwxdig™
+  = 4,
+ 
+ 86 
+ 	m__ISw¥aû
+  = 5,
+ 
+ 87 
+ 	m__ISw´št
+  = 6,
+ 
+ 88 
+ 	m__ISwg¿ph
+  = 7,
+ 
+ 89 
+ 	m__ISwbÏnk
+  = 8,
+ 
+ 90 
+ 	m__ISwúŒl
+  = 9,
+ 
+ 91 
+ 	m__ISwpunù
+  = 10,
+ 
+ 92 
+ 	m__ISw®num
+  = 11,
+ 
+ 94 
+ 	m_ISwuµ”
+  = 
+ _ISwb™
+  (
+ __ISwuµ”
+ ),
+ 
+ 95 
+ 	m_ISwlow”
+  = 
+ _ISwb™
+  (
+ __ISwlow”
+ ),
+ 
+ 96 
+ 	m_ISw®pha
+  = 
+ _ISwb™
+  (
+ __ISw®pha
+ ),
+ 
+ 97 
+ 	m_ISwdig™
+  = 
+ _ISwb™
+  (
+ __ISwdig™
+ ),
+ 
+ 98 
+ 	m_ISwxdig™
+  = 
+ _ISwb™
+  (
+ __ISwxdig™
+ ),
+ 
+ 99 
+ 	m_ISw¥aû
+  = 
+ _ISwb™
+  (
+ __ISw¥aû
+ ),
+ 
+ 100 
+ 	m_ISw´št
+  = 
+ _ISwb™
+  (
+ __ISw´št
+ ),
+ 
+ 101 
+ 	m_ISwg¿ph
+  = 
+ _ISwb™
+  (
+ __ISwg¿ph
+ ),
+ 
+ 102 
+ 	m_ISwbÏnk
+  = 
+ _ISwb™
+  (
+ __ISwbÏnk
+ ),
+ 
+ 103 
+ 	m_ISwúŒl
+  = 
+ _ISwb™
+  (
+ __ISwúŒl
+ ),
+ 
+ 104 
+ 	m_ISwpunù
+  = 
+ _ISwb™
+  (
+ __ISwpunù
+ ),
+ 
+ 105 
+ 	m_ISw®num
+  = 
+ _ISwb™
+  (
+ __ISw®num
+ )
+ 
+ 110 
+ __BEGIN_DECLS
+ 
+ 
+ 118 

+ 	$isw®num
+  (
+ wšt_t
+  
+ __wc
+ è
+ __THROW
+ ;
+ 
+ 124 

+ 	$isw®pha
+  (
+ wšt_t
+  
+ __wc
+ è
+ __THROW
+ ;
+ 
+ 127 

+ 	$iswúŒl
+  (
+ wšt_t
+  
+ __wc
+ è
+ __THROW
+ ;
+ 
+ 131 

+ 	$iswdig™
+  (
+ wšt_t
+  
+ __wc
+ è
+ __THROW
+ ;
+ 
+ 135 

+ 	$iswg¿ph
+  (
+ wšt_t
+  
+ __wc
+ è
+ __THROW
+ ;
+ 
+ 140 

+ 	$iswlow”
+  (
+ wšt_t
+  
+ __wc
+ è
+ __THROW
+ ;
+ 
+ 143 

+ 	$isw´št
+  (
+ wšt_t
+  
+ __wc
+ è
+ __THROW
+ ;
+ 
+ 148 

+ 	$iswpunù
+  (
+ wšt_t
+  
+ __wc
+ è
+ __THROW
+ ;
+ 
+ 153 

+ 	$isw¥aû
+  (
+ wšt_t
+  
+ __wc
+ è
+ __THROW
+ ;
+ 
+ 158 

+ 	$iswuµ”
+  (
+ wšt_t
+  
+ __wc
+ è
+ __THROW
+ ;
+ 
+ 163 

+ 	$iswxdig™
+  (
+ wšt_t
+  
+ __wc
+ è
+ __THROW
+ ;
+ 
+ 168 #ifdeà
+ __USE_ISOC99
+ 
+ 
+ 169 

+ 	$iswbÏnk
+  (
+ wšt_t
+  
+ __wc
+ è
+ __THROW
+ ;
+ 
+ 178 
+ wùy³_t
+  
+ 	$wùy³
+  (
+ __cڡ
+  *
+ __´Ý”ty
+ è
+ __THROW
+ ;
+ 
+ 182 

+ 	$iswùy³
+  (
+ wšt_t
+  
+ __wc
+ , 
+ wùy³_t
+  
+ __desc
+ è
+ __THROW
+ ;
+ 
+ 184 #ià
+ __GNUC__
+  >ð2 && 
+ defšed
+  
+ __OPTIMIZE__
+ 
+ 
+ 187 
*
+ __ùy³32_b
+ ;
+ 
+ 189 
+ 	#isw®num
+ (
+ wc
+ ) \
+ 
+ 190 (
+ __ex‹nsiÚ__
+  \
+ 
+ 191 (
+ 	`__bužtš_cÚ¡ªt_p
+  (
+ wc
+ è&& (
+ wšt_t
+ è(wcè<ð
+ L
+ '\xff' \
+ 
+ 192 ? (è(
+ __ùy³32_b
+ [(
+ wšt_t
+ è(
+ wc
+ )] & 
+ _ISw®num
+ è: 
+ 	`isw®num
+  (wc)))
+ 
+ 	)
+ 
+ 193 
+ 	#isw®pha
+ (
+ wc
+ ) \
+ 
+ 194 (
+ __ex‹nsiÚ__
+  \
+ 
+ 195 (
+ 	`__bužtš_cÚ¡ªt_p
+  (
+ wc
+ è&& (
+ wšt_t
+ è(wcè<ð
+ L
+ '\xff' \
+ 
+ 196 ? (è(
+ __ùy³32_b
+ [(
+ wšt_t
+ è(
+ wc
+ )] & 
+ _ISw®pha
+ è: 
+ 	`isw®pha
+  (wc)))
+ 
+ 	)
+ 
+ 197 
+ 	#iswúŒl
+ (
+ wc
+ ) \
+ 
+ 198 (
+ __ex‹nsiÚ__
+  \
+ 
+ 199 (
+ 	`__bužtš_cÚ¡ªt_p
+  (
+ wc
+ è&& (
+ wšt_t
+ è(wcè<ð
+ L
+ '\xff' \
+ 
+ 200 ? (è(
+ __ùy³32_b
+ [(
+ wšt_t
+ è(
+ wc
+ )] & 
+ _ISwúŒl
+ è: 
+ 	`iswúŒl
+  (wc)))
+ 
+ 	)
+ 
+ 201 
+ 	#iswdig™
+ (
+ wc
+ ) \
+ 
+ 202 (
+ __ex‹nsiÚ__
+  \
+ 
+ 203 (
+ 	`__bužtš_cÚ¡ªt_p
+  (
+ wc
+ è&& (
+ wšt_t
+ è(wcè<ð
+ L
+ '\xff' \
+ 
+ 204 ? (è(
+ __ùy³32_b
+ [(
+ wšt_t
+ è(
+ wc
+ )] & 
+ _ISwdig™
+ è: 
+ 	`iswdig™
+  (wc)))
+ 
+ 	)
+ 
+ 205 
+ 	#iswlow”
+ (
+ wc
+ ) \
+ 
+ 206 (
+ __ex‹nsiÚ__
+  \
+ 
+ 207 (
+ 	`__bužtš_cÚ¡ªt_p
+  (
+ wc
+ è&& (
+ wšt_t
+ è(wcè<ð
+ L
+ '\xff' \
+ 
+ 208 ? (è(
+ __ùy³32_b
+ [(
+ wšt_t
+ è(
+ wc
+ )] & 
+ _ISwlow”
+ è: 
+ 	`iswlow”
+  (wc)))
+ 
+ 	)
+ 
+ 209 
+ 	#iswg¿ph
+ (
+ wc
+ ) \
+ 
+ 210 (
+ __ex‹nsiÚ__
+  \
+ 
+ 211 (
+ 	`__bužtš_cÚ¡ªt_p
+  (
+ wc
+ è&& (
+ wšt_t
+ è(wcè<ð
+ L
+ '\xff' \
+ 
+ 212 ? (è(
+ __ùy³32_b
+ [(
+ wšt_t
+ è(
+ wc
+ )] & 
+ _ISwg¿ph
+ è: 
+ 	`iswg¿ph
+  (wc)))
+ 
+ 	)
+ 
+ 213 
+ 	#isw´št
+ (
+ wc
+ ) \
+ 
+ 214 (
+ __ex‹nsiÚ__
+  \
+ 
+ 215 (
+ 	`__bužtš_cÚ¡ªt_p
+  (
+ wc
+ è&& (
+ wšt_t
+ è(wcè<ð
+ L
+ '\xff' \
+ 
+ 216 ? (è(
+ __ùy³32_b
+ [(
+ wšt_t
+ è(
+ wc
+ )] & 
+ _ISw´št
+ è: 
+ 	`isw´št
+  (wc)))
+ 
+ 	)
+ 
+ 217 
+ 	#iswpunù
+ (
+ wc
+ ) \
+ 
+ 218 (
+ __ex‹nsiÚ__
+  \
+ 
+ 219 (
+ 	`__bužtš_cÚ¡ªt_p
+  (
+ wc
+ è&& (
+ wšt_t
+ è(wcè<ð
+ L
+ '\xff' \
+ 
+ 220 ? (è(
+ __ùy³32_b
+ [(
+ wšt_t
+ è(
+ wc
+ )] & 
+ _ISwpunù
+ è: 
+ 	`iswpunù
+  (wc)))
+ 
+ 	)
+ 
+ 221 
+ 	#isw¥aû
+ (
+ wc
+ ) \
+ 
+ 222 (
+ __ex‹nsiÚ__
+  \
+ 
+ 223 (
+ 	`__bužtš_cÚ¡ªt_p
+  (
+ wc
+ è&& (
+ wšt_t
+ è(wcè<ð
+ L
+ '\xff' \
+ 
+ 224 ? (è(
+ __ùy³32_b
+ [(
+ wšt_t
+ è(
+ wc
+ )] & 
+ _ISw¥aû
+ è: 
+ 	`isw¥aû
+  (wc)))
+ 
+ 	)
+ 
+ 225 
+ 	#iswuµ”
+ (
+ wc
+ ) \
+ 
+ 226 (
+ __ex‹nsiÚ__
+  \
+ 
+ 227 (
+ 	`__bužtš_cÚ¡ªt_p
+  (
+ wc
+ è&& (
+ wšt_t
+ è(wcè<ð
+ L
+ '\xff' \
+ 
+ 228 ? (è(
+ __ùy³32_b
+ [(
+ wšt_t
+ è(
+ wc
+ )] & 
+ _ISwuµ”
+ è: 
+ 	`iswuµ”
+  (wc)))
+ 
+ 	)
+ 
+ 229 
+ 	#iswxdig™
+ (
+ wc
+ ) \
+ 
+ 230 (
+ __ex‹nsiÚ__
+  \
+ 
+ 231 (
+ 	`__bužtš_cÚ¡ªt_p
+  (
+ wc
+ è&& (
+ wšt_t
+ è(wcè<ð
+ L
+ '\xff' \
+ 
+ 232 ? (è(
+ __ùy³32_b
+ [(
+ wšt_t
+ è(
+ wc
+ )] & 
+ _ISwxdig™
+ è: 
+ 	`iswxdig™
+  (wc)))
+ 
+ 	)
+ 
+ 234 #ifdeà
+ __USE_ISOC99
+ 
+ 
+ 235 
+ 	#iswbÏnk
+ (
+ wc
+ ) \
+ 
+ 236 (
+ __ex‹nsiÚ__
+  \
+ 
+ 237 (
+ 	`__bužtš_cÚ¡ªt_p
+  (
+ wc
+ è&& (
+ wšt_t
+ è(wcè<ð
+ L
+ '\xff' \
+ 
+ 238 ? (è(
+ __ùy³32_b
+ [(
+ wšt_t
+ è(
+ wc
+ )] & 
+ _ISwbÏnk
+ è: 
+ 	`iswbÏnk
+  (wc)))
+ 
+ 	)
+ 
+ 249 
+ __cڡ
+  
+ 	t__št32_t
+  *
+ 	twù¿ns_t
+ ;
+ 
+ 252 
+ wšt_t
+  
+ 	$towlow”
+  (
+ wšt_t
+  
+ __wc
+ è
+ __THROW
+ ;
+ 
+ 255 
+ wšt_t
+  
+ 	$towuµ”
+  (
+ wšt_t
+  
+ __wc
+ è
+ __THROW
+ ;
+ 
+ 257 #ià
+ __GNUC__
+  >ð2 && 
+ defšed
+  
+ __OPTIMIZE__
+ 
+ 
+ 260 
cڡ 
+ wšt_t
+  *
+ __ùy³32_tÞow”
+ ;
+ 
+ 261 
cڡ 
+ wšt_t
+  *
+ __ùy³32_touµ”
+ ;
+ 
+ 263 
+ 	#towlow”
+ (
+ wc
+ ) \
+ 
+ 264 (
+ __ex‹nsiÚ__
+  \
+ 
+ 265 (
+ 	`__bužtš_cÚ¡ªt_p
+  (
+ wc
+ è&& (
+ wšt_t
+ è(wcè<ð
+ L
+ '\xff' \
+ 
+ 266 ? (
+ wšt_t
+ è
+ __ùy³32_tÞow”
+ [(wšt_tè(
+ wc
+ )] : 
+ 	`towlow”
+  (wc)))
+ 
+ 	)
+ 
+ 268 
+ 	#towuµ”
+ (
+ wc
+ ) \
+ 
+ 269 (
+ __ex‹nsiÚ__
+  \
+ 
+ 270 (
+ 	`__bužtš_cÚ¡ªt_p
+  (
+ wc
+ è&& (
+ wšt_t
+ è(wcè<ð
+ L
+ '\xff' \
+ 
+ 271 ? (
+ wšt_t
+ è
+ __ùy³32_touµ”
+ [(wšt_tè(
+ wc
+ )] : 
+ 	`towuµ”
+  (wc)))
+ 
+ 	)
+ 
+ 275 
+ __END_DECLS
+ 
+ 
+ 282 #ifdeà
+ _WCTYPE_H
+ 
+ 
+ 288 
+ __BEGIN_DECLS
+ 
+ 
+ 292 
+ wù¿ns_t
+  
+ 	$wù¿ns
+  (
+ __cڡ
+  *
+ __´Ý”ty
+ è
+ __THROW
+ ;
+ 
+ 295 
+ wšt_t
+  
+ 	$towù¿ns
+  (
+ wšt_t
+  
+ __wc
+ , 
+ wù¿ns_t
+  
+ __desc
+ è
+ __THROW
+ ;
+ 
+ 297 #ifdeà
+ __USE_GNU
+ 
+ 
+ 299 
+ 	~<xloÿË.h
+ >
+ 
+ 303 

+ 	$__isw®num_l
+  (
+ wšt_t
+  
+ __wc
+ , 
+ __loÿË_t
+  
+ __loÿË
+ è
+ __THROW
+ ;
+ 
+ 309 

+ 	$__isw®pha_l
+  (
+ wšt_t
+  
+ __wc
+ , 
+ __loÿË_t
+  
+ __loÿË
+ è
+ __THROW
+ ;
+ 
+ 312 

+ 	$__iswúŒl_l
+  (
+ wšt_t
+  
+ __wc
+ , 
+ __loÿË_t
+  
+ __loÿË
+ è
+ __THROW
+ ;
+ 
+ 316 

+ 	$__iswdig™_l
+  (
+ wšt_t
+  
+ __wc
+ , 
+ __loÿË_t
+  
+ __loÿË
+ è
+ __THROW
+ ;
+ 
+ 320 

+ 	$__iswg¿ph_l
+  (
+ wšt_t
+  
+ __wc
+ , 
+ __loÿË_t
+  
+ __loÿË
+ è
+ __THROW
+ ;
+ 
+ 325 

+ 	$__iswlow”_l
+  (
+ wšt_t
+  
+ __wc
+ , 
+ __loÿË_t
+  
+ __loÿË
+ è
+ __THROW
+ ;
+ 
+ 328 

+ 	$__isw´št_l
+  (
+ wšt_t
+  
+ __wc
+ , 
+ __loÿË_t
+  
+ __loÿË
+ è
+ __THROW
+ ;
+ 
+ 333 

+ 	$__iswpunù_l
+  (
+ wšt_t
+  
+ __wc
+ , 
+ __loÿË_t
+  
+ __loÿË
+ è
+ __THROW
+ ;
+ 
+ 338 

+ 	$__isw¥aû_l
+  (
+ wšt_t
+  
+ __wc
+ , 
+ __loÿË_t
+  
+ __loÿË
+ è
+ __THROW
+ ;
+ 
+ 343 

+ 	$__iswuµ”_l
+  (
+ wšt_t
+  
+ __wc
+ , 
+ __loÿË_t
+  
+ __loÿË
+ è
+ __THROW
+ ;
+ 
+ 348 

+ 	$__iswxdig™_l
+  (
+ wšt_t
+  
+ __wc
+ , 
+ __loÿË_t
+  
+ __loÿË
+ è
+ __THROW
+ ;
+ 
+ 353 

+ 	$__iswbÏnk_l
+  (
+ wšt_t
+  
+ __wc
+ , 
+ __loÿË_t
+  
+ __loÿË
+ è
+ __THROW
+ ;
+ 
+ 357 
+ wùy³_t
+  
+ 	$__wùy³_l
+  (
+ __cڡ
+  *
+ __´Ý”ty
+ , 
+ __loÿË_t
+  
+ __loÿË
+ )
+ 
+ 358 
+ __THROW
+ ;
+ 
+ 362 

+ 	$__iswùy³_l
+  (
+ wšt_t
+  
+ __wc
+ , 
+ wùy³_t
+  
+ __desc
+ , 
+ __loÿË_t
+  
+ __loÿË
+ )
+ 
+ 363 
+ __THROW
+ ;
+ 
+ 371 
+ wšt_t
+  
+ 	$__towlow”_l
+  (
+ wšt_t
+  
+ __wc
+ , 
+ __loÿË_t
+  
+ __loÿË
+ è
+ __THROW
+ ;
+ 
+ 374 
+ wšt_t
+  
+ 	$__towuµ”_l
+  (
+ wšt_t
+  
+ __wc
+ , 
+ __loÿË_t
+  
+ __loÿË
+ è
+ __THROW
+ ;
+ 
+ 378 
+ wù¿ns_t
+  
+ 	$__wù¿ns_l
+  (
+ __cڡ
+  *
+ __´Ý”ty
+ , 
+ __loÿË_t
+  
+ __loÿË
+ )
+ 
+ 379 
+ __THROW
+ ;
+ 
+ 382 
+ wšt_t
+  
+ 	$__towù¿ns_l
+  (
+ wšt_t
+  
+ __wc
+ , 
+ wù¿ns_t
+  
+ __desc
+ ,
+ 
+ 383 
+ __loÿË_t
+  
+ __loÿË
+ è
+ __THROW
+ ;
+ 
+ 387 
+ __END_DECLS
+ 
+ 
+ 	@/usr/include/bits/initspin.h
+ 
+ 23 
+ 	#__LT_SPINLOCK_INIT
+  0
+ 
+ 	)
+ 
+ 26 
+ 	#__LOCK_INITIALIZER
+  { 0, 
+ __LT_SPINLOCK_INIT
+  }
+ 
+ 	)
+ 
+ 27 
+ 	#__ALT_LOCK_INITIALIZER
+  { 0, 
+ __LT_SPINLOCK_INIT
+  }
+ 
+ 	)
+ 
+ 28 
+ 	#__ATOMIC_INITIALIZER
+  { 0, 
+ __LT_SPINLOCK_INIT
+  }
+ 
+ 	)
+ 
+ 	@/usr/include/sched.h
+ 
+ 20 #iâdef 
+ _SCHED_H
+ 
+ 
+ 21 
+ 	#_SCHED_H
+  1
+ 
+ 	)
+ 
+ 23 
+ 	~<ã©u»s.h
+ >
+ 
+ 26 
+ 	~<b™s/ty³s.h
+ >
+ 
+ 28 
+ 	#__Ãed_time¥ec
+ 
+ 
+ 	)
+ 
+ 29 
+ 	~<time.h
+ >
+ 
+ 32 
+ 	~<b™s/sched.h
+ >
+ 
+ 34 
+ 	#sched_´iÜ™y
+  
+ __sched_´iÜ™y
+ 
+ 
+ 	)
+ 
+ 37 
+ __BEGIN_DECLS
+ 
+ 
+ 40 

+ 	$sched_£¬am
+  (
+ __pid_t
+  
+ __pid
+ , 
+ __cڡ
+  
+ sched_·¿m
+  *
+ __·¿m
+ )
+ 
+ 41 
+ __THROW
+ ;
+ 
+ 44 

+ 	$sched_g‘·¿m
+  (
+ __pid_t
+  
+ __pid
+ , 
+ sched_·¿m
+  *
+ __·¿m
+ è
+ __THROW
+ ;
+ 
+ 47 

+ 	$sched_£tscheduËr
+  (
+ __pid_t
+  
+ __pid
+ , 
+ __pÞicy
+ ,
+ 
+ 48 
+ __cڡ
+  
+ sched_·¿m
+  *
+ __·¿m
+ è
+ __THROW
+ ;
+ 
+ 51 

+ 	$sched_g‘scheduËr
+  (
+ __pid_t
+  
+ __pid
+ è
+ __THROW
+ ;
+ 
+ 54 

+ 	$sched_y›ld
+  (è
+ __THROW
+ ;
+ 
+ 57 

+ 	$sched_g‘_´iÜ™y_max
+  (
+ __®gÜ™hm
+ è
+ __THROW
+ ;
+ 
+ 60 

+ 	$sched_g‘_´iÜ™y_mš
+  (
+ __®gÜ™hm
+ è
+ __THROW
+ ;
+ 
+ 63 

+ 	$sched_¼_g‘_š‹rv®
+  (
+ __pid_t
+  
+ __pid
+ , 
+ time¥ec
+  *
+ __t
+ è
+ __THROW
+ ;
+ 
+ 65 
+ __END_DECLS
+ 
+ 
+ 	@
+ 1
+ .
+ 1
+ /usr/include
+ 148
+ 3046
+ EXTERN.h
+ INTERN.h
+ arg.h
+ array.c
+ array.h
+ cmd.c
+ cmd.h
+ config.h
+ cons.c
+ consarg.c
+ doarg.c
+ doio.c
+ dolist.c
+ dump.c
+ eval.c
+ form.c
+ form.h
+ handy.h
+ hash.c
+ hash.h
+ malloc.c
+ patch-malloc.c
+ patchlevel.h
+ perl.c
+ perl.h
+ perly.c
+ perly.h
+ regcomp.c
+ regcomp.h
+ regexec.c
+ regexp.h
+ spat.h
+ stab.c
+ stab.h
+ str.c
+ str.h
+ toke.c
+ tperly.c
+ usersub.c
+ util.c
+ util.h
+ /usr/include/ctype.h
+ /usr/include/dirent.h
+ /usr/include/errno.h
+ /usr/include/fcntl.h
+ /usr/include/gdbm.h
+ /usr/include/grp.h
+ /usr/include/netdb.h
+ /usr/include/netinet/in.h
+ /usr/include/pwd.h
+ /usr/include/setjmp.h
+ /usr/include/signal.h
+ /usr/include/stdio.h
+ /usr/include/stdlib.h
+ /usr/include/string.h
+ /usr/include/sys/dir.h
+ /usr/include/sys/file.h
+ /usr/include/sys/ioctl.h
+ /usr/include/sys/ipc.h
+ /usr/include/sys/msg.h
+ /usr/include/sys/param.h
+ /usr/include/sys/select.h
+ /usr/include/sys/sem.h
+ /usr/include/sys/shm.h
+ /usr/include/sys/socket.h
+ /usr/include/sys/stat.h
+ /usr/include/sys/time.h
+ /usr/include/sys/times.h
+ /usr/include/sys/types.h
+ /usr/include/time.h
+ /usr/include/utime.h
+ /usr/include/alloca.h
+ /usr/include/bits/byteswap.h
+ /usr/include/bits/dirent.h
+ /usr/include/bits/errno.h
+ /usr/include/bits/fcntl.h
+ /usr/include/bits/in.h
+ /usr/include/bits/ioctl-types.h
+ /usr/include/bits/ioctls.h
+ /usr/include/bits/ipc.h
+ /usr/include/bits/msq.h
+ /usr/include/bits/netdb.h
+ /usr/include/bits/posix1_lim.h
+ /usr/include/bits/select.h
+ /usr/include/bits/sem.h
+ /usr/include/bits/setjmp.h
+ /usr/include/bits/shm.h
+ /usr/include/bits/sigaction.h
+ /usr/include/bits/sigcontext.h
+ /usr/include/bits/siginfo.h
+ /usr/include/bits/signum.h
+ /usr/include/bits/sigset.h
+ /usr/include/bits/sigstack.h
+ /usr/include/bits/sigthread.h
+ /usr/include/bits/socket.h
+ /usr/include/bits/stat.h
+ /usr/include/bits/stdio.h
+ /usr/include/bits/stdio_lim.h
+ /usr/include/bits/string.h
+ /usr/include/bits/string2.h
+ /usr/include/bits/time.h
+ /usr/include/bits/types.h
+ /usr/include/bits/waitflags.h
+ /usr/include/bits/waitstatus.h
+ /usr/include/endian.h
+ /usr/include/features.h
+ /usr/include/getopt.h
+ /usr/include/libio.h
+ /usr/include/limits.h
+ /usr/include/linux/limits.h
+ /usr/include/linux/param.h
+ /usr/include/rpc/netdb.h
+ /usr/include/stdint.h
+ /usr/include/sys/sysmacros.h
+ /usr/include/sys/ttydefaults.h
+ /usr/include/sys/uio.h
+ /usr/include/ucontext.h
+ /usr/include/xlocale.h
+ /usr/include/_G_config.h
+ /usr/include/asm/ioctls.h
+ /usr/include/asm/param.h
+ /usr/include/asm/sigcontext.h
+ /usr/include/asm/socket.h
+ /usr/include/bits/endian.h
+ /usr/include/bits/local_lim.h
+ /usr/include/bits/posix2_lim.h
+ /usr/include/bits/pthreadtypes.h
+ /usr/include/bits/sockaddr.h
+ /usr/include/bits/stdio-lock.h
+ /usr/include/bits/uio.h
+ /usr/include/bits/wchar.h
+ /usr/include/bits/wordsize.h
+ /usr/include/bits/xopen_lim.h
+ /usr/include/gnu/stubs.h
+ /usr/include/linux/errno.h
+ /usr/include/sys/cdefs.h
+ /usr/include/sys/ucontext.h
+ /usr/include/asm/errno.h
+ /usr/include/asm/ioctl.h
+ /usr/include/asm/sockios.h
+ /usr/include/bits/libc-lock.h
+ /usr/include/bits/sched.h
+ /usr/include/gconv.h
+ /usr/include/wchar.h
+ /usr/include/pthread.h
+ /usr/include/wctype.h
+ /usr/include/bits/initspin.h
+ /usr/include/sched.h


Index: llvm/test/Programs/MultiSource/Benchmarks/MallocBench/perl/doarg.c
diff -c /dev/null llvm/test/Programs/MultiSource/Benchmarks/MallocBench/perl/doarg.c:1.1.2.1
*** /dev/null	Mon Mar  1 17:59:25 2004
--- llvm/test/Programs/MultiSource/Benchmarks/MallocBench/perl/doarg.c	Mon Mar  1 17:59:13 2004
***************
*** 0 ****
--- 1,1581 ----
+ /* $RCSfile: doarg.c,v $$Revision: 1.1.2.1 $$Date: 2004/03/01 23:59:13 $
+  *
+  *    Copyright (c) 1989, Larry Wall
+  *
+  *    You may distribute under the terms of the GNU General Public License
+  *    as specified in the README file that comes with the perl 3.0 kit.
+  *
+  * $Log: doarg.c,v $
+  * Revision 1.1.2.1  2004/03/01 23:59:13  brukman
+  * Merge from trunk
+  *
+  * Revision 1.1  2004/02/17 22:21:16  criswell
+  * Initial commit of the perl Malloc Benchmark.  I've cheated a little by
+  * generating the yacc output files and committing them directly, but it was
+  * easier than disabling the Bison Voodoo that gets executed by default.
+  *
+  * Revision 4.0.1.1  91/04/11  17:40:14  lwall
+  * patch1: fixed undefined environ problem
+  * patch1: fixed debugger coredump on subroutines
+  * 
+  * Revision 4.0  91/03/20  01:06:42  lwall
+  * 4.0 baseline.
+  * 
+  */
+ 
+ #include "EXTERN.h"
+ #include "perl.h"
+ 
+ #if !defined(NSIG) || defined(M_UNIX) || defined(M_XENIX)
+ #include <signal.h>
+ #endif
+ 
+ extern unsigned char fold[];
+ 
+ #ifdef BUGGY_MSC
+  #pragma function(memcmp)
+ #endif /* BUGGY_MSC */
+ 
+ int
+ do_subst(str,arg,sp)
+ STR *str;
+ ARG *arg;
+ int sp;
+ {
+     register SPAT *spat;
+     SPAT *rspat;
+     register STR *dstr;
+     register char *s = str_get(str);
+     char *strend = s + str->str_cur;
+     register char *m;
+     char *c;
+     register char *d;
+     int clen;
+     int iters = 0;
+     int maxiters = (strend - s) + 10;
+     register int i;
+     bool once;
+     char *orig;
+     int safebase;
+ 
+     rspat = spat = arg[2].arg_ptr.arg_spat;
+     if (!spat || !s)
+ 	fatal("panic: do_subst");
+     else if (spat->spat_runtime) {
+ 	nointrp = "|)";
+ 	(void)eval(spat->spat_runtime,G_SCALAR,sp);
+ 	m = str_get(dstr = stack->ary_array[sp+1]);
+ 	nointrp = "";
+ 	if (spat->spat_regexp) {
+ 	    regfree(spat->spat_regexp);
+ 	    spat->spat_regexp = Null(REGEXP*);	/* required if regcomp pukes */
+ 	}
+ 	spat->spat_regexp = regcomp(m,m+dstr->str_cur,
+ 	    spat->spat_flags & SPAT_FOLD);
+ 	if (spat->spat_flags & SPAT_KEEP) {
+ 	    arg_free(spat->spat_runtime);	/* it won't change, so */
+ 	    spat->spat_runtime = Nullarg;	/* no point compiling again */
+ 	}
+     }
+ #ifdef DEBUGGING
+     if (debug & 8) {
+ 	deb("2.SPAT /%s/\n",spat->spat_regexp->precomp);
+     }
+ #endif
+     safebase = ((!spat->spat_regexp || !spat->spat_regexp->nparens) &&
+       !sawampersand);
+     if (!*spat->spat_regexp->precomp && lastspat)
+ 	spat = lastspat;
+     orig = m = s;
+     if (hint) {
+ 	if (hint < s || hint > strend)
+ 	    fatal("panic: hint in do_match");
+ 	s = hint;
+ 	hint = Nullch;
+ 	if (spat->spat_regexp->regback >= 0) {
+ 	    s -= spat->spat_regexp->regback;
+ 	    if (s < m)
+ 		s = m;
+ 	}
+ 	else
+ 	    s = m;
+     }
+     else if (spat->spat_short) {
+ 	if (spat->spat_flags & SPAT_SCANFIRST) {
+ 	    if (str->str_pok & SP_STUDIED) {
+ 		if (screamfirst[spat->spat_short->str_rare] < 0)
+ 		    goto nope;
+ 		else if (!(s = screaminstr(str,spat->spat_short)))
+ 		    goto nope;
+ 	    }
+ #ifndef lint
+ 	    else if (!(s = fbminstr((unsigned char*)s, (unsigned char*)strend,
+ 	      spat->spat_short)))
+ 		goto nope;
+ #endif
+ 	    if (s && spat->spat_regexp->regback >= 0) {
+ 		++spat->spat_short->str_u.str_useful;
+ 		s -= spat->spat_regexp->regback;
+ 		if (s < m)
+ 		    s = m;
+ 	    }
+ 	    else
+ 		s = m;
+ 	}
+ 	else if (!multiline && (*spat->spat_short->str_ptr != *s ||
+ 	  bcmp(spat->spat_short->str_ptr, s, spat->spat_slen) ))
+ 	    goto nope;
+ 	if (--spat->spat_short->str_u.str_useful < 0) {
+ 	    str_free(spat->spat_short);
+ 	    spat->spat_short = Nullstr;	/* opt is being useless */
+ 	}
+     }
+     once = ((rspat->spat_flags & SPAT_ONCE) != 0);
+     if (rspat->spat_flags & SPAT_CONST) {	/* known replacement string? */
+ 	if ((rspat->spat_repl[1].arg_type & A_MASK) == A_SINGLE)
+ 	    dstr = rspat->spat_repl[1].arg_ptr.arg_str;
+ 	else {					/* constant over loop, anyway */
+ 	    (void)eval(rspat->spat_repl,G_SCALAR,sp);
+ 	    dstr = stack->ary_array[sp+1];
+ 	}
+ 	c = str_get(dstr);
+ 	clen = dstr->str_cur;
+ 	if (clen <= spat->spat_slen + (int)spat->spat_regexp->regback) {
+ 					/* can do inplace substitution */
+ 	    if (regexec(spat->spat_regexp, s, strend, orig, 0,
+ 	      str->str_pok & SP_STUDIED ? str : Nullstr, safebase)) {
+ 		if (spat->spat_regexp->subbase) /* oops, no we can't */
+ 		    goto long_way;
+ 		d = s;
+ 		lastspat = spat;
+ 		str->str_pok = SP_VALID;	/* disable possible screamer */
+ 		if (once) {
+ 		    m = spat->spat_regexp->startp[0];
+ 		    d = spat->spat_regexp->endp[0];
+ 		    s = orig;
+ 		    if (m - s > strend - d) {	/* faster to shorten from end */
+ 			if (clen) {
+ 			    (void)bcopy(c, m, clen);
+ 			    m += clen;
+ 			}
+ 			i = strend - d;
+ 			if (i > 0) {
+ 			    (void)bcopy(d, m, i);
+ 			    m += i;
+ 			}
+ 			*m = '\0';
+ 			str->str_cur = m - s;
+ 			STABSET(str);
+ 			str_numset(arg->arg_ptr.arg_str, 1.0);
+ 			stack->ary_array[++sp] = arg->arg_ptr.arg_str;
+ 			return sp;
+ 		    }
+ 		    else if (i = m - s) {	/* faster from front */
+ 			d -= clen;
+ 			m = d;
+ 			str_chop(str,d-i);
+ 			s += i;
+ 			while (i--)
+ 			    *--d = *--s;
+ 			if (clen)
+ 			    (void)bcopy(c, m, clen);
+ 			STABSET(str);
+ 			str_numset(arg->arg_ptr.arg_str, 1.0);
+ 			stack->ary_array[++sp] = arg->arg_ptr.arg_str;
+ 			return sp;
+ 		    }
+ 		    else if (clen) {
+ 			d -= clen;
+ 			str_chop(str,d);
+ 			(void)bcopy(c,d,clen);
+ 			STABSET(str);
+ 			str_numset(arg->arg_ptr.arg_str, 1.0);
+ 			stack->ary_array[++sp] = arg->arg_ptr.arg_str;
+ 			return sp;
+ 		    }
+ 		    else {
+ 			str_chop(str,d);
+ 			STABSET(str);
+ 			str_numset(arg->arg_ptr.arg_str, 1.0);
+ 			stack->ary_array[++sp] = arg->arg_ptr.arg_str;
+ 			return sp;
+ 		    }
+ 		    /* NOTREACHED */
+ 		}
+ 		do {
+ 		    if (iters++ > maxiters)
+ 			fatal("Substitution loop");
+ 		    m = spat->spat_regexp->startp[0];
+ 		    if (i = m - s) {
+ 			if (s != d)
+ 			    (void)bcopy(s,d,i);
+ 			d += i;
+ 		    }
+ 		    if (clen) {
+ 			(void)bcopy(c,d,clen);
+ 			d += clen;
+ 		    }
+ 		    s = spat->spat_regexp->endp[0];
+ 		} while (regexec(spat->spat_regexp, s, strend, orig, s == m,
+ 		    Nullstr, TRUE));	/* (don't match same null twice) */
+ 		if (s != d) {
+ 		    i = strend - s;
+ 		    str->str_cur = d - str->str_ptr + i;
+ 		    (void)bcopy(s,d,i+1);		/* include the Null */
+ 		}
+ 		STABSET(str);
+ 		str_numset(arg->arg_ptr.arg_str, (double)iters);
+ 		stack->ary_array[++sp] = arg->arg_ptr.arg_str;
+ 		return sp;
+ 	    }
+ 	    str_numset(arg->arg_ptr.arg_str, 0.0);
+ 	    stack->ary_array[++sp] = arg->arg_ptr.arg_str;
+ 	    return sp;
+ 	}
+     }
+     else
+ 	c = Nullch;
+     if (regexec(spat->spat_regexp, s, strend, orig, 0,
+       str->str_pok & SP_STUDIED ? str : Nullstr, safebase)) {
+     long_way:
+ 	dstr = Str_new(25,str_len(str));
+ 	str_nset(dstr,m,s-m);
+ 	if (spat->spat_regexp->subbase)
+ 	    curspat = spat;
+ 	lastspat = spat;
+ 	do {
+ 	    if (iters++ > maxiters)
+ 		fatal("Substitution loop");
+ 	    if (spat->spat_regexp->subbase
+ 	      && spat->spat_regexp->subbase != orig) {
+ 		m = s;
+ 		s = orig;
+ 		orig = spat->spat_regexp->subbase;
+ 		s = orig + (m - s);
+ 		strend = s + (strend - m);
+ 	    }
+ 	    m = spat->spat_regexp->startp[0];
+ 	    str_ncat(dstr,s,m-s);
+ 	    s = spat->spat_regexp->endp[0];
+ 	    if (c) {
+ 		if (clen)
+ 		    str_ncat(dstr,c,clen);
+ 	    }
+ 	    else {
+ 		char *mysubbase = spat->spat_regexp->subbase;
+ 
+ 		spat->spat_regexp->subbase = Nullch;	/* so recursion works */
+ 		(void)eval(rspat->spat_repl,G_SCALAR,sp);
+ 		str_scat(dstr,stack->ary_array[sp+1]);
+ 		if (spat->spat_regexp->subbase)
+ 		    Safefree(spat->spat_regexp->subbase);
+ 		spat->spat_regexp->subbase = mysubbase;
+ 	    }
+ 	    if (once)
+ 		break;
+ 	} while (regexec(spat->spat_regexp, s, strend, orig, s == m, Nullstr,
+ 	    safebase));
+ 	str_ncat(dstr,s,strend - s);
+ 	str_replace(str,dstr);
+ 	STABSET(str);
+ 	str_numset(arg->arg_ptr.arg_str, (double)iters);
+ 	stack->ary_array[++sp] = arg->arg_ptr.arg_str;
+ 	return sp;
+     }
+     str_numset(arg->arg_ptr.arg_str, 0.0);
+     stack->ary_array[++sp] = arg->arg_ptr.arg_str;
+     return sp;
+ 
+ nope:
+     ++spat->spat_short->str_u.str_useful;
+     str_numset(arg->arg_ptr.arg_str, 0.0);
+     stack->ary_array[++sp] = arg->arg_ptr.arg_str;
+     return sp;
+ }
+ #ifdef BUGGY_MSC
+  #pragma intrinsic(memcmp)
+ #endif /* BUGGY_MSC */
+ 
+ int
+ do_trans(str,arg)
+ STR *str;
+ ARG *arg;
+ {
+     register short *tbl;
+     register char *s;
+     register int matches = 0;
+     register int ch;
+     register char *send;
+     register char *d;
+     register int squash = arg[2].arg_len & 1;
+ 
+     tbl = (short*) arg[2].arg_ptr.arg_cval;
+     s = str_get(str);
+     send = s + str->str_cur;
+     if (!tbl || !s)
+ 	fatal("panic: do_trans");
+ #ifdef DEBUGGING
+     if (debug & 8) {
+ 	deb("2.TBL\n");
+     }
+ #endif
+     if (!arg[2].arg_len) {
+ 	while (s < send) {
+ 	    if ((ch = tbl[*s & 0377]) >= 0) {
+ 		matches++;
+ 		*s = ch;
+ 	    }
+ 	    s++;
+ 	}
+     }
+     else {
+ 	d = s;
+ 	while (s < send) {
+ 	    if ((ch = tbl[*s & 0377]) >= 0) {
+ 		*d = ch;
+ 		if (matches++ && squash) {
+ 		    if (d[-1] == *d)
+ 			matches--;
+ 		    else
+ 			d++;
+ 		}
+ 		else
+ 		    d++;
+ 	    }
+ 	    else if (ch == -1)		/* -1 is unmapped character */
+ 		*d++ = *s;		/* -2 is delete character */
+ 	    s++;
+ 	}
+ 	matches += send - d;	/* account for disappeared chars */
+ 	*d = '\0';
+ 	str->str_cur = d - str->str_ptr;
+     }
+     STABSET(str);
+     return matches;
+ }
+ 
+ void
+ do_join(str,arglast)
+ register STR *str;
+ int *arglast;
+ {
+     register STR **st = stack->ary_array;
+     register int sp = arglast[1];
+     register int items = arglast[2] - sp;
+     register char *delim = str_get(st[sp]);
+     int delimlen = st[sp]->str_cur;
+ 
+     st += ++sp;
+     if (items-- > 0)
+ 	str_sset(str, *st++);
+     else
+ 	str_set(str,"");
+     if (delimlen) {
+ 	for (; items > 0; items--,st++) {
+ 	    str_ncat(str,delim,delimlen);
+ 	    str_scat(str,*st);
+ 	}
+     }
+     else {
+ 	for (; items > 0; items--,st++)
+ 	    str_scat(str,*st);
+     }
+     STABSET(str);
+ }
+ 
+ void
+ do_pack(str,arglast)
+ register STR *str;
+ int *arglast;
+ {
+     register STR **st = stack->ary_array;
+     register int sp = arglast[1];
+     register int items;
+     register char *pat = str_get(st[sp]);
+     register char *patend = pat + st[sp]->str_cur;
+     register int len;
+     int datumtype;
+     STR *fromstr;
+     static char *null10 = "\0\0\0\0\0\0\0\0\0\0";
+     static char *space10 = "          ";
+ 
+     /* These must not be in registers: */
+     char achar;
+     short ashort;
+     int aint;
+     unsigned int auint;
+     long along;
+     unsigned long aulong;
+     char *aptr;
+     float afloat;
+     double adouble;
+ 
+     items = arglast[2] - sp;
+     st += ++sp;
+     str_nset(str,"",0);
+     while (pat < patend) {
+ #define NEXTFROM (items-- > 0 ? *st++ : &str_no)
+ 	datumtype = *pat++;
+ 	if (*pat == '*') {
+ 	    len = index("@Xxu",datumtype) ? 0 : items;
+ 	    pat++;
+ 	}
+ 	else if (isdigit(*pat)) {
+ 	    len = *pat++ - '0';
+ 	    while (isdigit(*pat))
+ 		len = (len * 10) + (*pat++ - '0');
+ 	}
+ 	else
+ 	    len = 1;
+ 	switch(datumtype) {
+ 	default:
+ 	    break;
+ 	case '%':
+ 	    fatal("% may only be used in unpack");
+ 	case '@':
+ 	    len -= str->str_cur;
+ 	    if (len > 0)
+ 		goto grow;
+ 	    len = -len;
+ 	    if (len > 0)
+ 		goto shrink;
+ 	    break;
+ 	case 'X':
+ 	  shrink:
+ 	    if (str->str_cur < len)
+ 		fatal("X outside of string");
+ 	    str->str_cur -= len;
+ 	    str->str_ptr[str->str_cur] = '\0';
+ 	    break;
+ 	case 'x':
+ 	  grow:
+ 	    while (len >= 10) {
+ 		str_ncat(str,null10,10);
+ 		len -= 10;
+ 	    }
+ 	    str_ncat(str,null10,len);
+ 	    break;
+ 	case 'A':
+ 	case 'a':
+ 	    fromstr = NEXTFROM;
+ 	    aptr = str_get(fromstr);
+ 	    if (pat[-1] == '*')
+ 		len = fromstr->str_cur;
+ 	    if (fromstr->str_cur > len)
+ 		str_ncat(str,aptr,len);
+ 	    else {
+ 		str_ncat(str,aptr,fromstr->str_cur);
+ 		len -= fromstr->str_cur;
+ 		if (datumtype == 'A') {
+ 		    while (len >= 10) {
+ 			str_ncat(str,space10,10);
+ 			len -= 10;
+ 		    }
+ 		    str_ncat(str,space10,len);
+ 		}
+ 		else {
+ 		    while (len >= 10) {
+ 			str_ncat(str,null10,10);
+ 			len -= 10;
+ 		    }
+ 		    str_ncat(str,null10,len);
+ 		}
+ 	    }
+ 	    break;
+ 	case 'B':
+ 	case 'b':
+ 	    {
+ 		char *savepat = pat;
+ 		int saveitems = items;
+ 
+ 		fromstr = NEXTFROM;
+ 		aptr = str_get(fromstr);
+ 		if (pat[-1] == '*')
+ 		    len = fromstr->str_cur;
+ 		pat = aptr;
+ 		aint = str->str_cur;
+ 		str->str_cur += (len+7)/8;
+ 		STR_GROW(str, str->str_cur + 1);
+ 		aptr = str->str_ptr + aint;
+ 		if (len > fromstr->str_cur)
+ 		    len = fromstr->str_cur;
+ 		aint = len;
+ 		items = 0;
+ 		if (datumtype == 'B') {
+ 		    for (len = 0; len++ < aint;) {
+ 			items |= *pat++ & 1;
+ 			if (len & 7)
+ 			    items <<= 1;
+ 			else {
+ 			    *aptr++ = items & 0xff;
+ 			    items = 0;
+ 			}
+ 		    }
+ 		}
+ 		else {
+ 		    for (len = 0; len++ < aint;) {
+ 			if (*pat++ & 1)
+ 			    items |= 128;
+ 			if (len & 7)
+ 			    items >>= 1;
+ 			else {
+ 			    *aptr++ = items & 0xff;
+ 			    items = 0;
+ 			}
+ 		    }
+ 		}
+ 		if (aint & 7) {
+ 		    if (datumtype == 'B')
+ 			items <<= 7 - (aint & 7);
+ 		    else
+ 			items >>= 7 - (aint & 7);
+ 		    *aptr++ = items & 0xff;
+ 		}
+ 		pat = str->str_ptr + str->str_cur;
+ 		while (aptr <= pat)
+ 		    *aptr++ = '\0';
+ 
+ 		pat = savepat;
+ 		items = saveitems;
+ 	    }
+ 	    break;
+ 	case 'H':
+ 	case 'h':
+ 	    {
+ 		char *savepat = pat;
+ 		int saveitems = items;
+ 
+ 		fromstr = NEXTFROM;
+ 		aptr = str_get(fromstr);
+ 		if (pat[-1] == '*')
+ 		    len = fromstr->str_cur;
+ 		pat = aptr;
+ 		aint = str->str_cur;
+ 		str->str_cur += (len+1)/2;
+ 		STR_GROW(str, str->str_cur + 1);
+ 		aptr = str->str_ptr + aint;
+ 		if (len > fromstr->str_cur)
+ 		    len = fromstr->str_cur;
+ 		aint = len;
+ 		items = 0;
+ 		if (datumtype == 'H') {
+ 		    for (len = 0; len++ < aint;) {
+ 			if (isalpha(*pat))
+ 			    items |= ((*pat++ & 15) + 9) & 15;
+ 			else
+ 			    items |= *pat++ & 15;
+ 			if (len & 1)
+ 			    items <<= 4;
+ 			else {
+ 			    *aptr++ = items & 0xff;
+ 			    items = 0;
+ 			}
+ 		    }
+ 		}
+ 		else {
+ 		    for (len = 0; len++ < aint;) {
+ 			if (isalpha(*pat))
+ 			    items |= (((*pat++ & 15) + 9) & 15) << 4;
+ 			else
+ 			    items |= (*pat++ & 15) << 4;
+ 			if (len & 1)
+ 			    items >>= 4;
+ 			else {
+ 			    *aptr++ = items & 0xff;
+ 			    items = 0;
+ 			}
+ 		    }
+ 		}
+ 		if (aint & 1)
+ 		    *aptr++ = items & 0xff;
+ 		pat = str->str_ptr + str->str_cur;
+ 		while (aptr <= pat)
+ 		    *aptr++ = '\0';
+ 
+ 		pat = savepat;
+ 		items = saveitems;
+ 	    }
+ 	    break;
+ 	case 'C':
+ 	case 'c':
+ 	    while (len-- > 0) {
+ 		fromstr = NEXTFROM;
+ 		aint = (int)str_gnum(fromstr);
+ 		achar = aint;
+ 		str_ncat(str,&achar,sizeof(char));
+ 	    }
+ 	    break;
+ 	/* Float and double added by gnb at melba.bby.oz.au  22/11/89 */
+ 	case 'f':
+ 	case 'F':
+ 	    while (len-- > 0) {
+ 		fromstr = NEXTFROM;
+ 		afloat = (float)str_gnum(fromstr);
+ 		str_ncat(str, (char *)&afloat, sizeof (float));
+ 	    }
+ 	    break;
+ 	case 'd':
+ 	case 'D':
+ 	    while (len-- > 0) {
+ 		fromstr = NEXTFROM;
+ 		adouble = (double)str_gnum(fromstr);
+ 		str_ncat(str, (char *)&adouble, sizeof (double));
+ 	    }
+ 	    break;
+ 	case 'n':
+ 	    while (len-- > 0) {
+ 		fromstr = NEXTFROM;
+ 		ashort = (short)str_gnum(fromstr);
+ #ifdef HAS_HTONS
+ 		ashort = htons(ashort);
+ #endif
+ 		str_ncat(str,(char*)&ashort,sizeof(short));
+ 	    }
+ 	    break;
+ 	case 'S':
+ 	case 's':
+ 	    while (len-- > 0) {
+ 		fromstr = NEXTFROM;
+ 		ashort = (short)str_gnum(fromstr);
+ 		str_ncat(str,(char*)&ashort,sizeof(short));
+ 	    }
+ 	    break;
+ 	case 'I':
+ 	    while (len-- > 0) {
+ 		fromstr = NEXTFROM;
+ 		auint = U_I(str_gnum(fromstr));
+ 		str_ncat(str,(char*)&auint,sizeof(unsigned int));
+ 	    }
+ 	    break;
+ 	case 'i':
+ 	    while (len-- > 0) {
+ 		fromstr = NEXTFROM;
+ 		aint = (int)str_gnum(fromstr);
+ 		str_ncat(str,(char*)&aint,sizeof(int));
+ 	    }
+ 	    break;
+ 	case 'N':
+ 	    while (len-- > 0) {
+ 		fromstr = NEXTFROM;
+ 		aulong = U_L(str_gnum(fromstr));
+ #ifdef HAS_HTONL
+ 		aulong = htonl(aulong);
+ #endif
+ 		str_ncat(str,(char*)&aulong,sizeof(unsigned long));
+ 	    }
+ 	    break;
+ 	case 'L':
+ 	    while (len-- > 0) {
+ 		fromstr = NEXTFROM;
+ 		aulong = U_L(str_gnum(fromstr));
+ 		str_ncat(str,(char*)&aulong,sizeof(unsigned long));
+ 	    }
+ 	    break;
+ 	case 'l':
+ 	    while (len-- > 0) {
+ 		fromstr = NEXTFROM;
+ 		along = (long)str_gnum(fromstr);
+ 		str_ncat(str,(char*)&along,sizeof(long));
+ 	    }
+ 	    break;
+ 	case 'p':
+ 	    while (len-- > 0) {
+ 		fromstr = NEXTFROM;
+ 		aptr = str_get(fromstr);
+ 		str_ncat(str,(char*)&aptr,sizeof(char*));
+ 	    }
+ 	    break;
+ 	case 'u':
+ 	    fromstr = NEXTFROM;
+ 	    aptr = str_get(fromstr);
+ 	    aint = fromstr->str_cur;
+ 	    STR_GROW(str,aint * 4 / 3);
+ 	    if (len <= 1)
+ 		len = 45;
+ 	    else
+ 		len = len / 3 * 3;
+ 	    while (aint > 0) {
+ 		int todo;
+ 
+ 		if (aint > len)
+ 		    todo = len;
+ 		else
+ 		    todo = aint;
+ 		doencodes(str, aptr, todo);
+ 		aint -= todo;
+ 		aptr += todo;
+ 	    }
+ 	    break;
+ 	}
+     }
+     STABSET(str);
+ }
+ #undef NEXTFROM
+ 
+ doencodes(str, s, len)
+ register STR *str;
+ register char *s;
+ register int len;
+ {
+     char hunk[5];
+ 
+     *hunk = len + ' ';
+     str_ncat(str, hunk, 1);
+     hunk[4] = '\0';
+     while (len > 0) {
+ 	hunk[0] = ' ' + (077 & (*s >> 2));
+ 	hunk[1] = ' ' + (077 & ((*s << 4) & 060 | (s[1] >> 4) & 017));
+ 	hunk[2] = ' ' + (077 & ((s[1] << 2) & 074 | (s[2] >> 6) & 03));
+ 	hunk[3] = ' ' + (077 & (s[2] & 077));
+ 	str_ncat(str, hunk, 4);
+ 	s += 3;
+ 	len -= 3;
+     }
+     for (s = str->str_ptr; *s; s++) {
+ 	if (*s == ' ')
+ 	    *s = '`';
+     }
+     str_ncat(str, "\n", 1);
+ }
+ 
+ void
+ do_sprintf(str,len,sarg)
+ register STR *str;
+ register int len;
+ register STR **sarg;
+ {
+     register char *s;
+     register char *t;
+     register char *f;
+     bool dolong;
+     char ch;
+     static STR *sargnull = &str_no;
+     register char *send;
+     char *xs;
+     int xlen;
+     double value;
+     char *origs;
+ 
+     str_set(str,"");
+     len--;			/* don't count pattern string */
+     origs = t = s = str_get(*sarg);
+     send = s + (*sarg)->str_cur;
+     sarg++;
+     for ( ; ; len--) {
+ 	if (len <= 0 || !*sarg) {
+ 	    sarg = &sargnull;
+ 	    len = 0;
+ 	}
+ 	for ( ; t < send && *t != '%'; t++) ;
+ 	if (t >= send)
+ 	    break;		/* end of format string, ignore extra args */
+ 	f = t;
+ 	*buf = '\0';
+ 	xs = buf;
+ 	dolong = FALSE;
+ 	for (t++; t < send; t++) {
+ 	    switch (*t) {
+ 	    default:
+ 		ch = *(++t);
+ 		*t = '\0';
+ 		(void)sprintf(xs,f);
+ 		len++;
+ 		xlen = strlen(xs);
+ 		break;
+ 	    case '0': case '1': case '2': case '3': case '4':
+ 	    case '5': case '6': case '7': case '8': case '9': 
+ 	    case '.': case '#': case '-': case '+': case ' ':
+ 		continue;
+ 	    case 'l':
+ 		dolong = TRUE;
+ 		continue;
+ 	    case 'c':
+ 		ch = *(++t);
+ 		*t = '\0';
+ 		xlen = (int)str_gnum(*(sarg++));
+ 		if (strEQ(f,"%c")) { /* some printfs fail on null chars */
+ 		    *xs = xlen;
+ 		    xs[1] = '\0';
+ 		    xlen = 1;
+ 		}
+ 		else {
+ 		    (void)sprintf(xs,f,xlen);
+ 		    xlen = strlen(xs);
+ 		}
+ 		break;
+ 	    case 'D':
+ 		dolong = TRUE;
+ 		/* FALL THROUGH */
+ 	    case 'd':
+ 		ch = *(++t);
+ 		*t = '\0';
+ 		if (dolong)
+ 		    (void)sprintf(xs,f,(long)str_gnum(*(sarg++)));
+ 		else
+ 		    (void)sprintf(xs,f,(int)str_gnum(*(sarg++)));
+ 		xlen = strlen(xs);
+ 		break;
+ 	    case 'X': case 'O':
+ 		dolong = TRUE;
+ 		/* FALL THROUGH */
+ 	    case 'x': case 'o': case 'u':
+ 		ch = *(++t);
+ 		*t = '\0';
+ 		value = str_gnum(*(sarg++));
+ 		if (dolong)
+ 		    (void)sprintf(xs,f,U_L(value));
+ 		else
+ 		    (void)sprintf(xs,f,U_I(value));
+ 		xlen = strlen(xs);
+ 		break;
+ 	    case 'E': case 'e': case 'f': case 'G': case 'g':
+ 		ch = *(++t);
+ 		*t = '\0';
+ 		(void)sprintf(xs,f,str_gnum(*(sarg++)));
+ 		xlen = strlen(xs);
+ 		break;
+ 	    case 's':
+ 		ch = *(++t);
+ 		*t = '\0';
+ 		xs = str_get(*sarg);
+ 		xlen = (*sarg)->str_cur;
+ 		if (*xs == 'S' && xs[1] == 't' && xs[2] == 'B' && xs[3] == '\0'
+ 		  && xlen == sizeof(STBP)) {
+ 		    STR *tmpstr = Str_new(24,0);
+ 
+ 		    stab_fullname(tmpstr, ((STAB*)(*sarg))); /* a stab value! */
+ 		    sprintf(tokenbuf,"*%s",tmpstr->str_ptr);
+ 					/* reformat to non-binary */
+ 		    xs = tokenbuf;
+ 		    xlen = strlen(tokenbuf);
+ 		    str_free(tmpstr);
+ 		}
+ 		sarg++;
+ 		if (strEQ(f,"%s")) {	/* some printfs fail on >128 chars */
+ 		    break;		/* so handle simple case */
+ 		}
+ 		strcpy(tokenbuf+64,f);	/* sprintf($s,...$s...) */
+ 		*t = ch;
+ 		(void)sprintf(buf,tokenbuf+64,xs);
+ 		xs = buf;
+ 		xlen = strlen(xs);
+ 		break;
+ 	    }
+ 	    /* end of switch, copy results */
+ 	    *t = ch;
+ 	    STR_GROW(str, str->str_cur + (f - s) + len + 1);
+ 	    str_ncat(str, s, f - s);
+ 	    str_ncat(str, xs, xlen);
+ 	    s = t;
+ 	    break;		/* break from for loop */
+ 	}
+     }
+     str_ncat(str, s, t - s);
+     STABSET(str);
+ }
+ 
+ STR *
+ do_push(ary,arglast)
+ register ARRAY *ary;
+ int *arglast;
+ {
+     register STR **st = stack->ary_array;
+     register int sp = arglast[1];
+     register int items = arglast[2] - sp;
+     register STR *str = &str_undef;
+ 
+     for (st += ++sp; items > 0; items--,st++) {
+ 	str = Str_new(26,0);
+ 	if (*st)
+ 	    str_sset(str,*st);
+ 	(void)apush(ary,str);
+     }
+     return str;
+ }
+ 
+ void
+ do_unshift(ary,arglast)
+ register ARRAY *ary;
+ int *arglast;
+ {
+     register STR **st = stack->ary_array;
+     register int sp = arglast[1];
+     register int items = arglast[2] - sp;
+     register STR *str;
+     register int i;
+ 
+     aunshift(ary,items);
+     i = 0;
+     for (st += ++sp; i < items; i++,st++) {
+ 	str = Str_new(27,0);
+ 	str_sset(str,*st);
+ 	(void)astore(ary,i,str);
+     }
+ }
+ 
+ int
+ do_subr(arg,gimme,arglast)
+ register ARG *arg;
+ int gimme;
+ int *arglast;
+ {
+     register STR **st = stack->ary_array;
+     register int sp = arglast[1];
+     register int items = arglast[2] - sp;
+     register SUBR *sub;
+     STR *str;
+     STAB *stab;
+     int oldsave = savestack->ary_fill;
+     int oldtmps_base = tmps_base;
+     int hasargs = ((arg[2].arg_type & A_MASK) != A_NULL);
+     register CSV *csv;
+ 
+     if ((arg[1].arg_type & A_MASK) == A_WORD)
+ 	stab = arg[1].arg_ptr.arg_stab;
+     else {
+ 	STR *tmpstr = stab_val(arg[1].arg_ptr.arg_stab);
+ 
+ 	if (tmpstr)
+ 	    stab = stabent(str_get(tmpstr),TRUE);
+ 	else
+ 	    stab = Nullstab;
+     }
+     if (!stab)
+ 	fatal("Undefined subroutine called");
+     if (!(sub = stab_sub(stab))) {
+ 	STR *tmpstr = arg[0].arg_ptr.arg_str;
+ 
+ 	stab_fullname(tmpstr, stab);
+ 	fatal("Undefined subroutine \"%s\" called",tmpstr->str_ptr);
+     }
+     if (arg->arg_type == O_DBSUBR && !sub->usersub) {
+ 	str = stab_val(DBsub);
+ 	saveitem(str);
+ 	stab_fullname(str,stab);
+ 	sub = stab_sub(DBsub);
+ 	if (!sub)
+ 	    fatal("No DBsub routine");
+     }
+     str = Str_new(15, sizeof(CSV));
+     str->str_state = SS_SCSV;
+     (void)apush(savestack,str);
+     csv = (CSV*)str->str_ptr;
+     csv->sub = sub;
+     csv->stab = stab;
+     csv->curcsv = curcsv;
+     csv->curcmd = curcmd;
+     csv->depth = sub->depth;
+     csv->wantarray = gimme;
+     csv->hasargs = hasargs;
+     curcsv = csv;
+     if (sub->usersub) {
+ 	csv->hasargs = 0;
+ 	csv->savearray = Null(ARRAY*);;
+ 	csv->argarray = Null(ARRAY*);
+ 	st[sp] = arg->arg_ptr.arg_str;
+ 	if (!hasargs)
+ 	    items = 0;
+ 	return (*sub->usersub)(sub->userindex,sp,items);
+     }
+     if (hasargs) {
+ 	csv->savearray = stab_xarray(defstab);
+ 	csv->argarray = afake(defstab, items, &st[sp+1]);
+ 	stab_xarray(defstab) = csv->argarray;
+     }
+     sub->depth++;
+     if (sub->depth >= 2) {	/* save temporaries on recursion? */
+ 	if (sub->depth == 100 && dowarn)
+ 	    warn("Deep recursion on subroutine \"%s\"",stab_name(stab));
+ 	savelist(sub->tosave->ary_array,sub->tosave->ary_fill);
+     }
+     tmps_base = tmps_max;
+     sp = cmd_exec(sub->cmd,gimme, --sp);	/* so do it already */
+     st = stack->ary_array;
+ 
+     tmps_base = oldtmps_base;
+     for (items = arglast[0] + 1; items <= sp; items++)
+ 	st[items] = str_mortal(st[items]);
+ 	    /* in case restore wipes old str */
+     restorelist(oldsave);
+     return sp;
+ }
+ 
+ int
+ do_assign(arg,gimme,arglast)
+ register ARG *arg;
+ int gimme;
+ int *arglast;
+ {
+ 
+     register STR **st = stack->ary_array;
+     STR **firstrelem = st + arglast[1] + 1;
+     STR **firstlelem = st + arglast[0] + 1;
+     STR **lastrelem = st + arglast[2];
+     STR **lastlelem = st + arglast[1];
+     register STR **relem;
+     register STR **lelem;
+ 
+     register STR *str;
+     register ARRAY *ary;
+     register int makelocal;
+     HASH *hash;
+     int i;
+ 
+     makelocal = (arg->arg_flags & AF_LOCAL);
+     localizing = makelocal;
+     delaymagic = DM_DELAY;		/* catch simultaneous items */
+ 
+     /* If there's a common identifier on both sides we have to take
+      * special care that assigning the identifier on the left doesn't
+      * clobber a value on the right that's used later in the list.
+      */
+     if (arg->arg_flags & AF_COMMON) {
+ 	for (relem = firstrelem; relem <= lastrelem; relem++) {
+ 	    if (str = *relem)
+ 		*relem = str_mortal(str);
+ 	}
+     }
+     relem = firstrelem;
+     lelem = firstlelem;
+     ary = Null(ARRAY*);
+     hash = Null(HASH*);
+     while (lelem <= lastlelem) {
+ 	str = *lelem++;
+ 	if (str->str_state >= SS_HASH) {
+ 	    if (str->str_state == SS_ARY) {
+ 		if (makelocal)
+ 		    ary = saveary(str->str_u.str_stab);
+ 		else {
+ 		    ary = stab_array(str->str_u.str_stab);
+ 		    ary->ary_fill = -1;
+ 		}
+ 		i = 0;
+ 		while (relem <= lastrelem) {	/* gobble up all the rest */
+ 		    str = Str_new(28,0);
+ 		    if (*relem)
+ 			str_sset(str,*relem);
+ 		    *(relem++) = str;
+ 		    (void)astore(ary,i++,str);
+ 		}
+ 	    }
+ 	    else if (str->str_state == SS_HASH) {
+ 		char *tmps;
+ 		STR *tmpstr;
+ 		int magic = 0;
+ 		STAB *tmpstab = str->str_u.str_stab;
+ 
+ 		if (makelocal)
+ 		    hash = savehash(str->str_u.str_stab);
+ 		else {
+ 		    hash = stab_hash(str->str_u.str_stab);
+ 		    if (tmpstab == envstab) {
+ 			magic = 'E';
+ 			environ[0] = Nullch;
+ 		    }
+ 		    else if (tmpstab == sigstab) {
+ 			magic = 'S';
+ #ifndef NSIG
+ #define NSIG 32
+ #endif
+ 			for (i = 1; i < NSIG; i++)
+ 			    signal(i, SIG_DFL);	/* crunch, crunch, crunch */
+ 		    }
+ #ifdef SOME_DBM
+ 		    else if (hash->tbl_dbm)
+ 			magic = 'D';
+ #endif
+ 		    hclear(hash, magic == 'D');	/* wipe any dbm file too */
+ 
+ 		}
+ 		while (relem < lastrelem) {	/* gobble up all the rest */
+ 		    if (*relem)
+ 			str = *(relem++);
+ 		    else
+ 			str = &str_no, relem++;
+ 		    tmps = str_get(str);
+ 		    tmpstr = Str_new(29,0);
+ 		    if (*relem)
+ 			str_sset(tmpstr,*relem);	/* value */
+ 		    *(relem++) = tmpstr;
+ 		    (void)hstore(hash,tmps,str->str_cur,tmpstr,0);
+ 		    if (magic) {
+ 			str_magic(tmpstr, tmpstab, magic, tmps, str->str_cur);
+ 			stabset(tmpstr->str_magic, tmpstr);
+ 		    }
+ 		}
+ 	    }
+ 	    else
+ 		fatal("panic: do_assign");
+ 	}
+ 	else {
+ 	    if (makelocal)
+ 		saveitem(str);
+ 	    if (relem <= lastrelem) {
+ 		str_sset(str, *relem);
+ 		*(relem++) = str;
+ 	    }
+ 	    else {
+ 		str_sset(str, &str_undef);
+ 		if (gimme == G_ARRAY) {
+ 		    i = ++lastrelem - firstrelem;
+ 		    relem++;		/* tacky, I suppose */
+ 		    astore(stack,i,str);
+ 		    if (st != stack->ary_array) {
+ 			st = stack->ary_array;
+ 			firstrelem = st + arglast[1] + 1;
+ 			firstlelem = st + arglast[0] + 1;
+ 			lastlelem = st + arglast[1];
+ 			lastrelem = st + i;
+ 			relem = lastrelem + 1;
+ 		    }
+ 		}
+ 	    }
+ 	    STABSET(str);
+ 	}
+     }
+     if (delaymagic > 1) {
+ 	if (delaymagic & DM_REUID) {
+ #ifdef HAS_SETREUID
+ 	    setreuid(uid,euid);
+ #else
+ 	    if (uid != euid || setuid(uid) < 0)
+ 		fatal("No setreuid available");
+ #endif
+ 	}
+ 	if (delaymagic & DM_REGID) {
+ #ifdef HAS_SETREGID
+ 	    setregid(gid,egid);
+ #else
+ 	    if (gid != egid || setgid(gid) < 0)
+ 		fatal("No setregid available");
+ #endif
+ 	}
+     }
+     delaymagic = 0;
+     localizing = FALSE;
+     if (gimme == G_ARRAY) {
+ 	i = lastrelem - firstrelem + 1;
+ 	if (ary || hash)
+ 	    Copy(firstrelem, firstlelem, i, STR*);
+ 	return arglast[0] + i;
+     }
+     else {
+ 	str_numset(arg->arg_ptr.arg_str,(double)(arglast[2] - arglast[1]));
+ 	*firstlelem = arg->arg_ptr.arg_str;
+ 	return arglast[0] + 1;
+     }
+ }
+ 
+ int
+ do_study(str,arg,gimme,arglast)
+ STR *str;
+ ARG *arg;
+ int gimme;
+ int *arglast;
+ {
+     register unsigned char *s;
+     register int pos = str->str_cur;
+     register int ch;
+     register int *sfirst;
+     register int *snext;
+     static int maxscream = -1;
+     static STR *lastscream = Nullstr;
+     int retval;
+     int retarg = arglast[0] + 1;
+ 
+ #ifndef lint
+     s = (unsigned char*)(str_get(str));
+ #else
+     s = Null(unsigned char*);
+ #endif
+     if (lastscream)
+ 	lastscream->str_pok &= ~SP_STUDIED;
+     lastscream = str;
+     if (pos <= 0) {
+ 	retval = 0;
+ 	goto ret;
+     }
+     if (pos > maxscream) {
+ 	if (maxscream < 0) {
+ 	    maxscream = pos + 80;
+ 	    New(301,screamfirst, 256, int);
+ 	    New(302,screamnext, maxscream, int);
+ 	}
+ 	else {
+ 	    maxscream = pos + pos / 4;
+ 	    Renew(screamnext, maxscream, int);
+ 	}
+     }
+ 
+     sfirst = screamfirst;
+     snext = screamnext;
+ 
+     if (!sfirst || !snext)
+ 	fatal("do_study: out of memory");
+ 
+     for (ch = 256; ch; --ch)
+ 	*sfirst++ = -1;
+     sfirst -= 256;
+ 
+     while (--pos >= 0) {
+ 	ch = s[pos];
+ 	if (sfirst[ch] >= 0)
+ 	    snext[pos] = sfirst[ch] - pos;
+ 	else
+ 	    snext[pos] = -pos;
+ 	sfirst[ch] = pos;
+ 
+ 	/* If there were any case insensitive searches, we must assume they
+ 	 * all are.  This speeds up insensitive searches much more than
+ 	 * it slows down sensitive ones.
+ 	 */
+ 	if (sawi)
+ 	    sfirst[fold[ch]] = pos;
+     }
+ 
+     str->str_pok |= SP_STUDIED;
+     retval = 1;
+   ret:
+     str_numset(arg->arg_ptr.arg_str,(double)retval);
+     stack->ary_array[retarg] = arg->arg_ptr.arg_str;
+     return retarg;
+ }
+ 
+ int
+ do_defined(str,arg,gimme,arglast)
+ STR *str;
+ register ARG *arg;
+ int gimme;
+ int *arglast;
+ {
+     register int type;
+     register int retarg = arglast[0] + 1;
+     int retval;
+     ARRAY *ary;
+     HASH *hash;
+ 
+     if ((arg[1].arg_type & A_MASK) != A_LEXPR)
+ 	fatal("Illegal argument to defined()");
+     arg = arg[1].arg_ptr.arg_arg;
+     type = arg->arg_type;
+ 
+     if (type == O_SUBR || type == O_DBSUBR)
+ 	retval = stab_sub(arg[1].arg_ptr.arg_stab) != 0;
+     else if (type == O_ARRAY || type == O_LARRAY ||
+ 	     type == O_ASLICE || type == O_LASLICE )
+ 	retval = ((ary = stab_xarray(arg[1].arg_ptr.arg_stab)) != 0
+ 	    && ary->ary_max >= 0 );
+     else if (type == O_HASH || type == O_LHASH ||
+ 	     type == O_HSLICE || type == O_LHSLICE )
+ 	retval = ((hash = stab_xhash(arg[1].arg_ptr.arg_stab)) != 0
+ 	    && hash->tbl_array);
+     else
+ 	retval = FALSE;
+     str_numset(str,(double)retval);
+     stack->ary_array[retarg] = str;
+     return retarg;
+ }
+ 
+ int
+ do_undef(str,arg,gimme,arglast)
+ STR *str;
+ register ARG *arg;
+ int gimme;
+ int *arglast;
+ {
+     register int type;
+     register STAB *stab;
+     int retarg = arglast[0] + 1;
+ 
+     if ((arg[1].arg_type & A_MASK) != A_LEXPR)
+ 	fatal("Illegal argument to undef()");
+     arg = arg[1].arg_ptr.arg_arg;
+     type = arg->arg_type;
+ 
+     if (type == O_ARRAY || type == O_LARRAY) {
+ 	stab = arg[1].arg_ptr.arg_stab;
+ 	afree(stab_xarray(stab));
+ 	stab_xarray(stab) = Null(ARRAY*);
+     }
+     else if (type == O_HASH || type == O_LHASH) {
+ 	stab = arg[1].arg_ptr.arg_stab;
+ 	if (stab == envstab)
+ 	    environ[0] = Nullch;
+ 	else if (stab == sigstab) {
+ 	    int i;
+ 
+ 	    for (i = 1; i < NSIG; i++)
+ 		signal(i, SIG_DFL);	/* munch, munch, munch */
+ 	}
+ 	(void)hfree(stab_xhash(stab), TRUE);
+ 	stab_xhash(stab) = Null(HASH*);
+     }
+     else if (type == O_SUBR || type == O_DBSUBR) {
+ 	stab = arg[1].arg_ptr.arg_stab;
+ 	if (stab_sub(stab)) {
+ 	    cmd_free(stab_sub(stab)->cmd);
+ 	    stab_sub(stab)->cmd = Nullcmd;
+ 	    afree(stab_sub(stab)->tosave);
+ 	    Safefree(stab_sub(stab));
+ 	    stab_sub(stab) = Null(SUBR*);
+ 	}
+     }
+     else
+ 	fatal("Can't undefine that kind of object");
+     str_numset(str,0.0);
+     stack->ary_array[retarg] = str;
+     return retarg;
+ }
+ 
+ int
+ do_vec(lvalue,astr,arglast)
+ int lvalue;
+ STR *astr;
+ int *arglast;
+ {
+     STR **st = stack->ary_array;
+     int sp = arglast[0];
+     register STR *str = st[++sp];
+     register int offset = (int)str_gnum(st[++sp]);
+     register int size = (int)str_gnum(st[++sp]);
+     unsigned char *s = (unsigned char*)str_get(str);
+     unsigned long retnum;
+     int len;
+ 
+     sp = arglast[1];
+     offset *= size;		/* turn into bit offset */
+     len = (offset + size + 7) / 8;
+     if (offset < 0 || size < 1)
+ 	retnum = 0;
+     else if (!lvalue && len > str->str_cur)
+ 	retnum = 0;
+     else {
+ 	if (len > str->str_cur) {
+ 	    STR_GROW(str,len);
+ 	    (void)bzero(str->str_ptr + str->str_cur, len - str->str_cur);
+ 	    str->str_cur = len;
+ 	}
+ 	s = (unsigned char*)str_get(str);
+ 	if (size < 8)
+ 	    retnum = (s[offset >> 3] >> (offset & 7)) & ((1 << size) - 1);
+ 	else {
+ 	    offset >>= 3;
+ 	    if (size == 8)
+ 		retnum = s[offset];
+ 	    else if (size == 16)
+ 		retnum = (s[offset] << 8) + s[offset+1];
+ 	    else if (size == 32)
+ 		retnum = (s[offset] << 24) + (s[offset + 1] << 16) +
+ 			(s[offset + 2] << 8) + s[offset+3];
+ 	}
+ 
+ 	if (lvalue) {                      /* it's an lvalue! */
+ 	    struct lstring *lstr = (struct lstring*)astr;
+ 
+ 	    astr->str_magic = str;
+ 	    st[sp]->str_rare = 'v';
+ 	    lstr->lstr_offset = offset;
+ 	    lstr->lstr_len = size;
+ 	}
+     }
+ 
+     str_numset(astr,(double)retnum);
+     st[sp] = astr;
+     return sp;
+ }
+ 
+ void
+ do_vecset(mstr,str)
+ STR *mstr;
+ STR *str;
+ {
+     struct lstring *lstr = (struct lstring*)str;
+     register int offset;
+     register int size;
+     register unsigned char *s = (unsigned char*)mstr->str_ptr;
+     register unsigned long lval = U_L(str_gnum(str));
+     int mask;
+ 
+     mstr->str_rare = 0;
+     str->str_magic = Nullstr;
+     offset = lstr->lstr_offset;
+     size = lstr->lstr_len;
+     if (size < 8) {
+ 	mask = (1 << size) - 1;
+ 	size = offset & 7;
+ 	lval &= mask;
+ 	offset >>= 3;
+ 	s[offset] &= ~(mask << size);
+ 	s[offset] |= lval << size;
+     }
+     else {
+ 	if (size == 8)
+ 	    s[offset] = lval & 255;
+ 	else if (size == 16) {
+ 	    s[offset] = (lval >> 8) & 255;
+ 	    s[offset+1] = lval & 255;
+ 	}
+ 	else if (size == 32) {
+ 	    s[offset] = (lval >> 24) & 255;
+ 	    s[offset+1] = (lval >> 16) & 255;
+ 	    s[offset+2] = (lval >> 8) & 255;
+ 	    s[offset+3] = lval & 255;
+ 	}
+     }
+ }
+ 
+ do_chop(astr,str)
+ register STR *astr;
+ register STR *str;
+ {
+     register char *tmps;
+     register int i;
+     ARRAY *ary;
+     HASH *hash;
+     HENT *entry;
+ 
+     if (!str)
+ 	return;
+     if (str->str_state == SS_ARY) {
+ 	ary = stab_array(str->str_u.str_stab);
+ 	for (i = 0; i <= ary->ary_fill; i++)
+ 	    do_chop(astr,ary->ary_array[i]);
+ 	return;
+     }
+     if (str->str_state == SS_HASH) {
+ 	hash = stab_hash(str->str_u.str_stab);
+ 	(void)hiterinit(hash);
+ 	while (entry = hiternext(hash))
+ 	    do_chop(astr,hiterval(hash,entry));
+ 	return;
+     }
+     tmps = str_get(str);
+     if (!tmps)
+ 	return;
+     tmps += str->str_cur - (str->str_cur != 0);
+     str_nset(astr,tmps,1);	/* remember last char */
+     *tmps = '\0';				/* wipe it out */
+     str->str_cur = tmps - str->str_ptr;
+     str->str_nok = 0;
+     STABSET(str);
+ }
+ 
+ do_vop(optype,str,left,right)
+ STR *str;
+ STR *left;
+ STR *right;
+ {
+     register char *s;
+     register char *l = str_get(left);
+     register char *r = str_get(right);
+     register int len;
+ 
+     len = left->str_cur;
+     if (len > right->str_cur)
+ 	len = right->str_cur;
+     if (str->str_cur > len)
+ 	str->str_cur = len;
+     else if (str->str_cur < len) {
+ 	STR_GROW(str,len);
+ 	(void)bzero(str->str_ptr + str->str_cur, len - str->str_cur);
+ 	str->str_cur = len;
+     }
+     s = str->str_ptr;
+     if (!s) {
+ 	str_nset(str,"",0);
+ 	s = str->str_ptr;
+     }
+     switch (optype) {
+     case O_BIT_AND:
+ 	while (len--)
+ 	    *s++ = *l++ & *r++;
+ 	break;
+     case O_XOR:
+ 	while (len--)
+ 	    *s++ = *l++ ^ *r++;
+ 	goto mop_up;
+     case O_BIT_OR:
+ 	while (len--)
+ 	    *s++ = *l++ | *r++;
+       mop_up:
+ 	len = str->str_cur;
+ 	if (right->str_cur > len)
+ 	    str_ncat(str,right->str_ptr+len,right->str_cur - len);
+ 	else if (left->str_cur > len)
+ 	    str_ncat(str,left->str_ptr+len,left->str_cur - len);
+ 	break;
+     }
+ }
+ 
+ int
+ do_syscall(arglast)
+ int *arglast;
+ {
+     register STR **st = stack->ary_array;
+     register int sp = arglast[1];
+     register int items = arglast[2] - sp;
+     long arg[8];
+     register int i = 0;
+     int retval = -1;
+ 
+ #ifdef HAS_SYSCALL
+ #ifdef TAINT
+     for (st += ++sp; items--; st++)
+ 	tainted |= (*st)->str_tainted;
+     st = stack->ary_array;
+     sp = arglast[1];
+     items = arglast[2] - sp;
+ #endif
+ #ifdef TAINT
+     taintproper("Insecure dependency in syscall");
+ #endif
+     /* This probably won't work on machines where sizeof(long) != sizeof(int)
+      * or where sizeof(long) != sizeof(char*).  But such machines will
+      * not likely have syscall implemented either, so who cares?
+      */
+     while (items--) {
+ 	if (st[++sp]->str_nok || !i)
+ 	    arg[i++] = (long)str_gnum(st[sp]);
+ #ifndef lint
+ 	else
+ 	    arg[i++] = (long)st[sp]->str_ptr;
+ #endif /* lint */
+     }
+     sp = arglast[1];
+     items = arglast[2] - sp;
+     switch (items) {
+     case 0:
+ 	fatal("Too few args to syscall");
+     case 1:
+ 	retval = syscall(arg[0]);
+ 	break;
+     case 2:
+ 	retval = syscall(arg[0],arg[1]);
+ 	break;
+     case 3:
+ 	retval = syscall(arg[0],arg[1],arg[2]);
+ 	break;
+     case 4:
+ 	retval = syscall(arg[0],arg[1],arg[2],arg[3]);
+ 	break;
+     case 5:
+ 	retval = syscall(arg[0],arg[1],arg[2],arg[3],arg[4]);
+ 	break;
+     case 6:
+ 	retval = syscall(arg[0],arg[1],arg[2],arg[3],arg[4],arg[5]);
+ 	break;
+     case 7:
+ 	retval = syscall(arg[0],arg[1],arg[2],arg[3],arg[4],arg[5],arg[6]);
+ 	break;
+     case 8:
+ 	retval = syscall(arg[0],arg[1],arg[2],arg[3],arg[4],arg[5],arg[6],
+ 	  arg[7]);
+ 	break;
+     }
+     return retval;
+ #else
+     fatal("syscall() unimplemented");
+ #endif
+ }
+ 
+ 


Index: llvm/test/Programs/MultiSource/Benchmarks/MallocBench/perl/doio.c
diff -c /dev/null llvm/test/Programs/MultiSource/Benchmarks/MallocBench/perl/doio.c:1.1.2.1
*** /dev/null	Mon Mar  1 17:59:25 2004
--- llvm/test/Programs/MultiSource/Benchmarks/MallocBench/perl/doio.c	Mon Mar  1 17:59:13 2004
***************
*** 0 ****
--- 1,2736 ----
+ /* $RCSfile: doio.c,v $$Revision: 1.1.2.1 $$Date: 2004/03/01 23:59:13 $
+  *
+  *    Copyright (c) 1989, Larry Wall
+  *
+  *    You may distribute under the terms of the GNU General Public License
+  *    as specified in the README file that comes with the perl 3.0 kit.
+  *
+  * $Log: doio.c,v $
+  * Revision 1.1.2.1  2004/03/01 23:59:13  brukman
+  * Merge from trunk
+  *
+  * Revision 1.1  2004/02/17 22:21:16  criswell
+  * Initial commit of the perl Malloc Benchmark.  I've cheated a little by
+  * generating the yacc output files and committing them directly, but it was
+  * easier than disabling the Bison Voodoo that gets executed by default.
+  *
+  * Revision 4.0.1.1  91/04/11  17:41:06  lwall
+  * patch1: hopefully straightened out some of the Xenix mess
+  * 
+  * Revision 4.0  91/03/20  01:07:06  lwall
+  * 4.0 baseline.
+  * 
+  */
+ 
+ #include "EXTERN.h"
+ #include "perl.h"
+ 
+ #ifdef HAS_SOCKET
+ #include <sys/socket.h>
+ #include <netdb.h>
+ #endif
+ 
+ #ifdef HAS_SELECT
+ #ifdef I_SYS_SELECT
+ #ifndef I_SYS_TIME
+ #include <sys/select.h>
+ #endif
+ #endif
+ #endif
+ 
+ #if defined(HAS_MSG) || defined(HAS_SEM) || defined(HAS_SHM)
+ #include <sys/ipc.h>
+ #ifdef HAS_MSG
+ #include <sys/msg.h>
+ #endif
+ #ifdef HAS_SEM
+ #include <sys/sem.h>
+ #endif
+ #ifdef HAS_SHM
+ #include <sys/shm.h>
+ #endif
+ #endif
+ 
+ #ifdef I_PWD
+ #include <pwd.h>
+ #endif
+ #ifdef I_GRP
+ #include <grp.h>
+ #endif
+ #ifdef I_UTIME
+ #include <utime.h>
+ #endif
+ #ifdef I_FCNTL
+ #include <fcntl.h>
+ #endif
+ #ifdef I_SYS_FILE
+ #include <sys/file.h>
+ #endif
+ 
+ int laststatval = -1;
+ int laststype = O_STAT;
+ 
+ bool
+ do_open(stab,name,len)
+ STAB *stab;
+ register char *name;
+ int len;
+ {
+     FILE *fp;
+     register STIO *stio = stab_io(stab);
+     char *myname = savestr(name);
+     int result;
+     int fd;
+     int writing = 0;
+     char mode[3];		/* stdio file mode ("r\0" or "r+\0") */
+ 
+     name = myname;
+     forkprocess = 1;		/* assume true if no fork */
+     while (len && isspace(name[len-1]))
+ 	name[--len] = '\0';
+     if (!stio)
+ 	stio = stab_io(stab) = stio_new();
+     else if (stio->ifp) {
+ 	fd = fileno(stio->ifp);
+ 	if (stio->type == '|')
+ 	    result = mypclose(stio->ifp);
+ 	else if (stio->type == '-')
+ 	    result = 0;
+ 	else if (stio->ifp != stio->ofp) {
+ 	    if (stio->ofp) {
+ 		result = fclose(stio->ofp);
+ 		fclose(stio->ifp);	/* clear stdio, fd already closed */
+ 	    }
+ 	    else
+ 		result = fclose(stio->ifp);
+ 	}
+ 	else
+ 	    result = fclose(stio->ifp);
+ 	if (result == EOF && fd > 2)
+ 	    fprintf(stderr,"Warning: unable to close filehandle %s properly.\n",
+ 	      stab_name(stab));
+ 	stio->ofp = stio->ifp = Nullfp;
+     }
+     if (*name == '+' && len > 1 && name[len-1] != '|') {	/* scary */
+ 	mode[1] = *name++;
+ 	mode[2] = '\0';
+ 	--len;
+ 	writing = 1;
+     }
+     else  {
+ 	mode[1] = '\0';
+     }
+     stio->type = *name;
+     if (*name == '|') {
+ 	for (name++; isspace(*name); name++) ;
+ #ifdef TAINT
+ 	taintenv();
+ 	taintproper("Insecure dependency in piped open");
+ #endif
+ 	fp = mypopen(name,"w");
+ 	writing = 1;
+     }
+     else if (*name == '>') {
+ #ifdef TAINT
+ 	taintproper("Insecure dependency in open");
+ #endif
+ 	name++;
+ 	if (*name == '>') {
+ 	    mode[0] = stio->type = 'a';
+ 	    name++;
+ 	}
+ 	else
+ 	    mode[0] = 'w';
+ 	writing = 1;
+ 	if (*name == '&') {
+ 	  duplicity:
+ 	    name++;
+ 	    while (isspace(*name))
+ 		name++;
+ 	    if (isdigit(*name))
+ 		fd = atoi(name);
+ 	    else {
+ 		stab = stabent(name,FALSE);
+ 		if (!stab || !stab_io(stab))
+ 		    return FALSE;
+ 		if (stab_io(stab) && stab_io(stab)->ifp) {
+ 		    fd = fileno(stab_io(stab)->ifp);
+ 		    if (stab_io(stab)->type == 's')
+ 			stio->type = 's';
+ 		}
+ 		else
+ 		    fd = -1;
+ 	    }
+ 	    if (!(fp = fdopen(fd = dup(fd),mode))) {
+ 		close(fd);
+ 	    }
+ 	}
+ 	else {
+ 	    while (isspace(*name))
+ 		name++;
+ 	    if (strEQ(name,"-")) {
+ 		fp = stdout;
+ 		stio->type = '-';
+ 	    }
+ 	    else  {
+ 		fp = fopen(name,mode);
+ 	    }
+ 	}
+     }
+     else {
+ 	if (*name == '<') {
+ 	    mode[0] = 'r';
+ 	    name++;
+ 	    while (isspace(*name))
+ 		name++;
+ 	    if (*name == '&')
+ 		goto duplicity;
+ 	    if (strEQ(name,"-")) {
+ 		fp = stdin;
+ 		stio->type = '-';
+ 	    }
+ 	    else
+ 		fp = fopen(name,mode);
+ 	}
+ 	else if (name[len-1] == '|') {
+ #ifdef TAINT
+ 	    taintenv();
+ 	    taintproper("Insecure dependency in piped open");
+ #endif
+ 	    name[--len] = '\0';
+ 	    while (len && isspace(name[len-1]))
+ 		name[--len] = '\0';
+ 	    for (; isspace(*name); name++) ;
+ 	    fp = mypopen(name,"r");
+ 	    stio->type = '|';
+ 	}
+ 	else {
+ 	    stio->type = '<';
+ 	    for (; isspace(*name); name++) ;
+ 	    if (strEQ(name,"-")) {
+ 		fp = stdin;
+ 		stio->type = '-';
+ 	    }
+ 	    else
+ 		fp = fopen(name,"r");
+ 	}
+     }
+     Safefree(myname);
+     if (!fp)
+ 	return FALSE;
+     if (stio->type &&
+       stio->type != '|' && stio->type != '-') {
+ 	if (fstat(fileno(fp),&statbuf) < 0) {
+ 	    (void)fclose(fp);
+ 	    return FALSE;
+ 	}
+ 	if (S_ISSOCK(statbuf.st_mode))
+ 	    stio->type = 's';	/* in case a socket was passed in to us */
+ #ifdef S_IFMT
+ 	else if (!(statbuf.st_mode & S_IFMT))
+ 	    stio->type = 's';	/* some OS's return 0 on fstat()ed socket */
+ #endif
+     }
+ #if defined(HAS_FCNTL) && defined(F_SETFD)
+     fd = fileno(fp);
+     fcntl(fd,F_SETFD,fd >= 3);
+ #endif
+     stio->ifp = fp;
+     if (writing) {
+ 	if (stio->type != 's')
+ 	    stio->ofp = fp;
+ 	else
+ 	    if (!(stio->ofp = fdopen(fileno(fp),"w"))) {
+ 		fclose(fp);
+ 		stio->ifp = Nullfp;
+ 	    }
+     }
+     return TRUE;
+ }
+ 
+ FILE *
+ nextargv(stab)
+ register STAB *stab;
+ {
+     register STR *str;
+     int filedev;
+     int fileino;
+     int fileuid;
+     int filegid;
+     static int filemode = 0;
+     static int lastfd;
+     static char *oldname;
+ 
+     if (!argvoutstab)
+ 	argvoutstab = stabent("ARGVOUT",TRUE);
+     if (filemode & (S_ISUID|S_ISGID)) {
+ 	fflush(stab_io(argvoutstab)->ifp);  /* chmod must follow last write */
+ #ifdef HAS_FCHMOD
+ 	(void)fchmod(lastfd,filemode);
+ #else
+ 	(void)chmod(oldname,filemode);
+ #endif
+     }
+     filemode = 0;
+     while (alen(stab_xarray(stab)) >= 0) {
+ 	str = ashift(stab_xarray(stab));
+ 	str_sset(stab_val(stab),str);
+ 	STABSET(stab_val(stab));
+ 	oldname = str_get(stab_val(stab));
+ 	if (do_open(stab,oldname,stab_val(stab)->str_cur)) {
+ 	    if (inplace) {
+ #ifdef TAINT
+ 		taintproper("Insecure dependency in inplace open");
+ #endif
+ 		if (strEQ(oldname,"-")) {
+ 		    str_free(str);
+ 		    defoutstab = stabent("STDOUT",TRUE);
+ 		    return stab_io(stab)->ifp;
+ 		}
+ 		filedev = statbuf.st_dev;
+ 		fileino = statbuf.st_ino;
+ 		filemode = statbuf.st_mode;
+ 		fileuid = statbuf.st_uid;
+ 		filegid = statbuf.st_gid;
+ 		if (!S_ISREG(filemode)) {
+ 		    warn("Can't do inplace edit: %s is not a regular file",
+ 		      oldname );
+ 		    do_close(stab,FALSE);
+ 		    str_free(str);
+ 		    continue;
+ 		}
+ 		if (*inplace) {
+ #ifdef SUFFIX
+ 		    add_suffix(str,inplace);
+ #else
+ 		    str_cat(str,inplace);
+ #endif
+ #ifndef FLEXFILENAMES
+ 		    if (stat(str->str_ptr,&statbuf) >= 0
+ 		      && statbuf.st_dev == filedev
+ 		      && statbuf.st_ino == fileino ) {
+ 			warn("Can't do inplace edit: %s > 14 characters",
+ 			  str->str_ptr );
+ 			do_close(stab,FALSE);
+ 			str_free(str);
+ 			continue;
+ 		    }
+ #endif
+ #ifdef HAS_RENAME
+ #ifndef MSDOS
+ 		    if (rename(oldname,str->str_ptr) < 0) {
+ 			warn("Can't rename %s to %s: %s, skipping file",
+ 			  oldname, str->str_ptr, strerror(errno) );
+ 			do_close(stab,FALSE);
+ 			str_free(str);
+ 			continue;
+ 		    }
+ #else
+ 		    do_close(stab,FALSE);
+ 		    (void)unlink(str->str_ptr);
+ 		    (void)rename(oldname,str->str_ptr);
+ 		    do_open(stab,str->str_ptr,stab_val(stab)->str_cur);
+ #endif /* MSDOS */
+ #else
+ 		    (void)UNLINK(str->str_ptr);
+ 		    if (link(oldname,str->str_ptr) < 0) {
+ 			warn("Can't rename %s to %s: %s, skipping file",
+ 			  oldname, str->str_ptr, strerror(errno) );
+ 			do_close(stab,FALSE);
+ 			str_free(str);
+ 			continue;
+ 		    }
+ 		    (void)UNLINK(oldname);
+ #endif
+ 		}
+ 		else {
+ #ifndef MSDOS
+ 		    if (UNLINK(oldname) < 0) {
+ 			warn("Can't rename %s to %s: %s, skipping file",
+ 			  oldname, str->str_ptr, strerror(errno) );
+ 			do_close(stab,FALSE);
+ 			str_free(str);
+ 			continue;
+ 		    }
+ #else
+ 		    fatal("Can't do inplace edit without backup");
+ #endif
+ 		}
+ 
+ 		str_nset(str,">",1);
+ 		str_cat(str,oldname);
+ 		errno = 0;		/* in case sprintf set errno */
+ 		if (!do_open(argvoutstab,str->str_ptr,str->str_cur)) {
+ 		    warn("Can't do inplace edit on %s: %s",
+ 		      oldname, strerror(errno) );
+ 		    do_close(stab,FALSE);
+ 		    str_free(str);
+ 		    continue;
+ 		}
+ 		defoutstab = argvoutstab;
+ 		lastfd = fileno(stab_io(argvoutstab)->ifp);
+ 		(void)fstat(lastfd,&statbuf);
+ #ifdef HAS_FCHMOD
+ 		(void)fchmod(lastfd,filemode);
+ #else
+ 		(void)chmod(oldname,filemode);
+ #endif
+ 		if (fileuid != statbuf.st_uid || filegid != statbuf.st_gid) {
+ #ifdef HAS_FCHOWN
+ 		    (void)fchown(lastfd,fileuid,filegid);
+ #else
+ #ifdef HAS_CHOWN
+ 		    (void)chown(oldname,fileuid,filegid);
+ #endif
+ #endif
+ 		}
+ 	    }
+ 	    str_free(str);
+ 	    return stab_io(stab)->ifp;
+ 	}
+ 	else
+ 	    fprintf(stderr,"Can't open %s: %s\n",str_get(str), strerror(errno));
+ 	str_free(str);
+     }
+     if (inplace) {
+ 	(void)do_close(argvoutstab,FALSE);
+ 	defoutstab = stabent("STDOUT",TRUE);
+     }
+     return Nullfp;
+ }
+ 
+ #ifdef HAS_PIPE
+ void
+ do_pipe(str, rstab, wstab)
+ STR *str;
+ STAB *rstab;
+ STAB *wstab;
+ {
+     register STIO *rstio;
+     register STIO *wstio;
+     int fd[2];
+ 
+     if (!rstab)
+ 	goto badexit;
+     if (!wstab)
+ 	goto badexit;
+ 
+     rstio = stab_io(rstab);
+     wstio = stab_io(wstab);
+ 
+     if (!rstio)
+ 	rstio = stab_io(rstab) = stio_new();
+     else if (rstio->ifp)
+ 	do_close(rstab,FALSE);
+     if (!wstio)
+ 	wstio = stab_io(wstab) = stio_new();
+     else if (wstio->ifp)
+ 	do_close(wstab,FALSE);
+ 
+     if (pipe(fd) < 0)
+ 	goto badexit;
+     rstio->ifp = fdopen(fd[0], "r");
+     wstio->ofp = fdopen(fd[1], "w");
+     wstio->ifp = wstio->ofp;
+     rstio->type = '<';
+     wstio->type = '>';
+     if (!rstio->ifp || !wstio->ofp) {
+ 	if (rstio->ifp) fclose(rstio->ifp);
+ 	else close(fd[0]);
+ 	if (wstio->ofp) fclose(wstio->ofp);
+ 	else close(fd[1]);
+ 	goto badexit;
+     }
+ 
+     str_sset(str,&str_yes);
+     return;
+ 
+ badexit:
+     str_sset(str,&str_undef);
+     return;
+ }
+ #endif
+ 
+ bool
+ do_close(stab,explicit)
+ STAB *stab;
+ bool explicit;
+ {
+     bool retval = FALSE;
+     register STIO *stio;
+     int status;
+ 
+     if (!stab)
+ 	stab = argvstab;
+     if (!stab)
+ 	return FALSE;
+     stio = stab_io(stab);
+     if (!stio) {		/* never opened */
+ 	if (dowarn && explicit)
+ 	    warn("Close on unopened file <%s>",stab_name(stab));
+ 	return FALSE;
+     }
+     if (stio->ifp) {
+ 	if (stio->type == '|') {
+ 	    status = mypclose(stio->ifp);
+ 	    retval = (status == 0);
+ 	    statusvalue = (unsigned short)status & 0xffff;
+ 	}
+ 	else if (stio->type == '-')
+ 	    retval = TRUE;
+ 	else {
+ 	    if (stio->ofp && stio->ofp != stio->ifp) {		/* a socket */
+ 		retval = (fclose(stio->ofp) != EOF);
+ 		fclose(stio->ifp);	/* clear stdio, fd already closed */
+ 	    }
+ 	    else
+ 		retval = (fclose(stio->ifp) != EOF);
+ 	}
+ 	stio->ofp = stio->ifp = Nullfp;
+     }
+     if (explicit)
+ 	stio->lines = 0;
+     stio->type = ' ';
+     return retval;
+ }
+ 
+ bool
+ do_eof(stab)
+ STAB *stab;
+ {
+     register STIO *stio;
+     int ch;
+ 
+     if (!stab) {			/* eof() */
+ 	if (argvstab)
+ 	    stio = stab_io(argvstab);
+ 	else
+ 	    return TRUE;
+     }
+     else
+ 	stio = stab_io(stab);
+ 
+     if (!stio)
+ 	return TRUE;
+ 
+     while (stio->ifp) {
+ 
+ #ifdef STDSTDIO			/* (the code works without this) */
+ 	if (stio->ifp->_cnt > 0)	/* cheat a little, since */
+ 	    return FALSE;		/* this is the most usual case */
+ #endif
+ 
+ 	ch = getc(stio->ifp);
+ 	if (ch != EOF) {
+ 	    (void)ungetc(ch, stio->ifp);
+ 	    return FALSE;
+ 	}
+ #ifdef STDSTDIO
+ 	if (stio->ifp->_cnt < -1)
+ 	    stio->ifp->_cnt = -1;
+ #endif
+ 	if (!stab) {			/* not necessarily a real EOF yet? */
+ 	    if (!nextargv(argvstab))	/* get another fp handy */
+ 		return TRUE;
+ 	}
+ 	else
+ 	    return TRUE;		/* normal fp, definitely end of file */
+     }
+     return TRUE;
+ }
+ 
+ long
+ do_tell(stab)
+ STAB *stab;
+ {
+     register STIO *stio;
+ 
+     if (!stab)
+ 	goto phooey;
+ 
+     stio = stab_io(stab);
+     if (!stio || !stio->ifp)
+ 	goto phooey;
+ 
+     if (feof(stio->ifp))
+ 	(void)fseek (stio->ifp, 0L, 2);		/* ultrix 1.2 workaround */
+ 
+     return ftell(stio->ifp);
+ 
+ phooey:
+     if (dowarn)
+ 	warn("tell() on unopened file");
+     return -1L;
+ }
+ 
+ bool
+ do_seek(stab, pos, whence)
+ STAB *stab;
+ long pos;
+ int whence;
+ {
+     register STIO *stio;
+ 
+     if (!stab)
+ 	goto nuts;
+ 
+     stio = stab_io(stab);
+     if (!stio || !stio->ifp)
+ 	goto nuts;
+ 
+     if (feof(stio->ifp))
+ 	(void)fseek (stio->ifp, 0L, 2);		/* ultrix 1.2 workaround */
+ 
+     return fseek(stio->ifp, pos, whence) >= 0;
+ 
+ nuts:
+     if (dowarn)
+ 	warn("seek() on unopened file");
+     return FALSE;
+ }
+ 
+ int
+ do_ctl(optype,stab,func,argstr)
+ int optype;
+ STAB *stab;
+ int func;
+ STR *argstr;
+ {
+     register STIO *stio;
+     register char *s;
+     int retval;
+ 
+     if (!stab || !argstr)
+ 	return -1;
+     stio = stab_io(stab);
+     if (!stio)
+ 	return -1;
+ 
+     if (argstr->str_pok || !argstr->str_nok) {
+ 	if (!argstr->str_pok)
+ 	    s = str_get(argstr);
+ 
+ #ifdef IOCPARM_MASK
+ #ifndef IOCPARM_LEN
+ #define IOCPARM_LEN(x)  (((x) >> 16) & IOCPARM_MASK)
+ #endif
+ #endif
+ #ifdef IOCPARM_LEN
+ 	retval = IOCPARM_LEN(func);	/* on BSDish systes we're safe */
+ #else
+ 	retval = 256;			/* otherwise guess at what's safe */
+ #endif
+ 	if (argstr->str_cur < retval) {
+ 	    Str_Grow(argstr,retval+1);
+ 	    argstr->str_cur = retval;
+ 	}
+ 
+ 	s = argstr->str_ptr;
+ 	s[argstr->str_cur] = 17;	/* a little sanity check here */
+     }
+     else {
+ 	retval = (int)str_gnum(argstr);
+ #ifdef MSDOS
+ 	s = (char*)(long)retval;		/* ouch */
+ #else
+ 	s = (char*)retval;		/* ouch */
+ #endif
+     }
+ 
+ #ifndef lint
+     if (optype == O_IOCTL)
+ 	retval = ioctl(fileno(stio->ifp), func, s);
+     else
+ #ifdef MSDOS
+ 	fatal("fcntl is not implemented");
+ #else
+ #ifdef HAS_FCNTL
+ 	retval = fcntl(fileno(stio->ifp), func, s);
+ #else
+ 	fatal("fcntl is not implemented");
+ #endif
+ #endif
+ #else /* lint */
+     retval = 0;
+ #endif /* lint */
+ 
+     if (argstr->str_pok) {
+ 	if (s[argstr->str_cur] != 17)
+ 	    fatal("Return value overflowed string");
+ 	s[argstr->str_cur] = 0;		/* put our null back */
+     }
+     return retval;
+ }
+ 
+ int
+ do_stat(str,arg,gimme,arglast)
+ STR *str;
+ register ARG *arg;
+ int gimme;
+ int *arglast;
+ {
+     register ARRAY *ary = stack;
+     register int sp = arglast[0] + 1;
+     int max = 13;
+ 
+     if ((arg[1].arg_type & A_MASK) == A_WORD) {
+ 	tmpstab = arg[1].arg_ptr.arg_stab;
+ 	if (tmpstab != defstab) {
+ 	    laststype = O_STAT;
+ 	    statstab = tmpstab;
+ 	    str_set(statname,"");
+ 	    if (!stab_io(tmpstab) || !stab_io(tmpstab)->ifp ||
+ 	      fstat(fileno(stab_io(tmpstab)->ifp),&statcache) < 0) {
+ 		max = 0;
+ 		laststatval = -1;
+ 	    }
+ 	}
+ 	else if (laststatval < 0)
+ 	    max = 0;
+     }
+     else {
+ 	str_set(statname,str_get(ary->ary_array[sp]));
+ 	statstab = Nullstab;
+ #ifdef HAS_LSTAT
+ 	laststype = arg->arg_type;
+ 	if (arg->arg_type == O_LSTAT)
+ 	    laststatval = lstat(str_get(statname),&statcache);
+ 	else
+ #endif
+ 	    laststatval = stat(str_get(statname),&statcache);
+ 	if (laststatval < 0)
+ 	    max = 0;
+     }
+ 
+     if (gimme != G_ARRAY) {
+ 	if (max)
+ 	    str_sset(str,&str_yes);
+ 	else
+ 	    str_sset(str,&str_undef);
+ 	STABSET(str);
+ 	ary->ary_array[sp] = str;
+ 	return sp;
+     }
+     sp--;
+     if (max) {
+ #ifndef lint
+ 	(void)astore(ary,++sp,
+ 	  str_2mortal(str_nmake((double)statcache.st_dev)));
+ 	(void)astore(ary,++sp,
+ 	  str_2mortal(str_nmake((double)statcache.st_ino)));
+ 	(void)astore(ary,++sp,
+ 	  str_2mortal(str_nmake((double)statcache.st_mode)));
+ 	(void)astore(ary,++sp,
+ 	  str_2mortal(str_nmake((double)statcache.st_nlink)));
+ 	(void)astore(ary,++sp,
+ 	  str_2mortal(str_nmake((double)statcache.st_uid)));
+ 	(void)astore(ary,++sp,
+ 	  str_2mortal(str_nmake((double)statcache.st_gid)));
+ 	(void)astore(ary,++sp,
+ 	  str_2mortal(str_nmake((double)statcache.st_rdev)));
+ 	(void)astore(ary,++sp,
+ 	  str_2mortal(str_nmake((double)statcache.st_size)));
+ 	(void)astore(ary,++sp,
+ 	  str_2mortal(str_nmake((double)statcache.st_atime)));
+ 	(void)astore(ary,++sp,
+ 	  str_2mortal(str_nmake((double)statcache.st_mtime)));
+ 	(void)astore(ary,++sp,
+ 	  str_2mortal(str_nmake((double)statcache.st_ctime)));
+ #ifdef STATBLOCKS
+ 	(void)astore(ary,++sp,
+ 	  str_2mortal(str_nmake((double)statcache.st_blksize)));
+ 	(void)astore(ary,++sp,
+ 	  str_2mortal(str_nmake((double)statcache.st_blocks)));
+ #else
+ 	(void)astore(ary,++sp,
+ 	  str_2mortal(str_make("",0)));
+ 	(void)astore(ary,++sp,
+ 	  str_2mortal(str_make("",0)));
+ #endif
+ #else /* lint */
+ 	(void)astore(ary,++sp,str_nmake(0.0));
+ #endif /* lint */
+     }
+     return sp;
+ }
+ 
+ #if !defined(HAS_TRUNCATE) && !defined(HAS_CHSIZE) && defined(F_FREESP)
+ 	/* code courtesy of William Kucharski */
+ #define HAS_CHSIZE
+ 
+ int chsize(fd, length)
+ int fd;			/* file descriptor */
+ off_t length;		/* length to set file to */
+ {
+     extern long lseek();
+     struct flock fl;
+     struct stat filebuf;
+ 
+     if (fstat(fd, &filebuf) < 0)
+ 	return -1;
+ 
+     if (filebuf.st_size < length) {
+ 
+ 	/* extend file length */
+ 
+ 	if ((lseek(fd, (length - 1), 0)) < 0)
+ 	    return -1;
+ 
+ 	/* write a "0" byte */
+ 
+ 	if ((write(fd, "", 1)) != 1)
+ 	    return -1;
+     }
+     else {
+ 	/* truncate length */
+ 
+ 	fl.l_whence = 0;
+ 	fl.l_len = 0;
+ 	fl.l_start = length;
+ 	fl.l_type = F_WRLCK;    /* write lock on file space */
+ 
+ 	/*
+ 	* This relies on the UNDOCUMENTED F_FREESP argument to
+ 	* fcntl(2), which truncates the file so that it ends at the
+ 	* position indicated by fl.l_start.
+ 	*
+ 	* Will minor miracles never cease?
+ 	*/
+ 
+ 	if (fcntl(fd, F_FREESP, &fl) < 0)
+ 	    return -1;
+ 
+     }
+ 
+     return 0;
+ }
+ #endif /* F_FREESP */
+ 
+ int
+ do_truncate(str,arg,gimme,arglast)
+ STR *str;
+ register ARG *arg;
+ int gimme;
+ int *arglast;
+ {
+     register ARRAY *ary = stack;
+     register int sp = arglast[0] + 1;
+     off_t len = (off_t)str_gnum(ary->ary_array[sp+1]);
+     int result = 1;
+     STAB *tmpstab;
+ 
+ #if defined(HAS_TRUNCATE) || defined(HAS_CHSIZE)
+ #ifdef HAS_TRUNCATE
+     if ((arg[1].arg_type & A_MASK) == A_WORD) {
+ 	tmpstab = arg[1].arg_ptr.arg_stab;
+ 	if (!stab_io(tmpstab) ||
+ 	  ftruncate(fileno(stab_io(tmpstab)->ifp), len) < 0)
+ 	    result = 0;
+     }
+     else if (truncate(str_get(ary->ary_array[sp]), len) < 0)
+ 	result = 0;
+ #else
+     if ((arg[1].arg_type & A_MASK) == A_WORD) {
+ 	tmpstab = arg[1].arg_ptr.arg_stab;
+ 	if (!stab_io(tmpstab) ||
+ 	  chsize(fileno(stab_io(tmpstab)->ifp), len) < 0)
+ 	    result = 0;
+     }
+     else {
+ 	int tmpfd;
+ 
+ 	if ((tmpfd = open(str_get(ary->ary_array[sp]), 0)) < 0)
+ 	    result = 0;
+ 	else {
+ 	    if (chsize(tmpfd, len) < 0)
+ 		result = 0;
+ 	    close(tmpfd);
+ 	}
+     }
+ #endif
+ 
+     if (result)
+ 	str_sset(str,&str_yes);
+     else
+ 	str_sset(str,&str_undef);
+     STABSET(str);
+     ary->ary_array[sp] = str;
+     return sp;
+ #else
+     fatal("truncate not implemented");
+ #endif
+ }
+ 
+ int
+ looks_like_number(str)
+ STR *str;
+ {
+     register char *s;
+     register char *send;
+ 
+     if (!str->str_pok)
+ 	return TRUE;
+     s = str->str_ptr; 
+     send = s + str->str_cur;
+     while (isspace(*s))
+ 	s++;
+     if (s >= send)
+ 	return FALSE;
+     if (*s == '+' || *s == '-')
+ 	s++;
+     while (isdigit(*s))
+ 	s++;
+     if (s == send)
+ 	return TRUE;
+     if (*s == '.') 
+ 	s++;
+     else if (s == str->str_ptr)
+ 	return FALSE;
+     while (isdigit(*s))
+ 	s++;
+     if (s == send)
+ 	return TRUE;
+     if (*s == 'e' || *s == 'E') {
+ 	s++;
+ 	if (*s == '+' || *s == '-')
+ 	    s++;
+ 	while (isdigit(*s))
+ 	    s++;
+     }
+     while (isspace(*s))
+ 	s++;
+     if (s >= send)
+ 	return TRUE;
+     return FALSE;
+ }
+ 
+ bool
+ do_print(str,fp)
+ register STR *str;
+ FILE *fp;
+ {
+     register char *tmps;
+ 
+     if (!fp) {
+ 	if (dowarn)
+ 	    warn("print to unopened file");
+ 	return FALSE;
+     }
+     if (!str)
+ 	return TRUE;
+     if (ofmt &&
+       ((str->str_nok && str->str_u.str_nval != 0.0)
+        || (looks_like_number(str) && str_gnum(str) != 0.0) ) ) {
+ 	fprintf(fp, ofmt, str->str_u.str_nval);
+ 	return !ferror(fp);
+     }
+     else {
+ 	tmps = str_get(str);
+ 	if (*tmps == 'S' && tmps[1] == 't' && tmps[2] == 'B' && tmps[3] == '\0'
+ 	  && str->str_cur == sizeof(STBP) && strlen(tmps) < str->str_cur) {
+ 	    STR *tmpstr = str_mortal(&str_undef);
+ 	    stab_fullname(tmpstr,((STAB*)str));/* a stab value, be nice */
+ 	    str = tmpstr;
+ 	    tmps = str->str_ptr;
+ 	    putc('*',fp);
+ 	}
+ 	if (str->str_cur && (fwrite(tmps,1,str->str_cur,fp) == 0 || ferror(fp)))
+ 	    return FALSE;
+     }
+     return TRUE;
+ }
+ 
+ bool
+ do_aprint(arg,fp,arglast)
+ register ARG *arg;
+ register FILE *fp;
+ int *arglast;
+ {
+     register STR **st = stack->ary_array;
+     register int sp = arglast[1];
+     register int retval;
+     register int items = arglast[2] - sp;
+ 
+     if (!fp) {
+ 	if (dowarn)
+ 	    warn("print to unopened file");
+ 	return FALSE;
+     }
+     st += ++sp;
+     if (arg->arg_type == O_PRTF) {
+ 	do_sprintf(arg->arg_ptr.arg_str,items,st);
+ 	retval = do_print(arg->arg_ptr.arg_str,fp);
+     }
+     else {
+ 	retval = (items <= 0);
+ 	for (; items > 0; items--,st++) {
+ 	    if (retval && ofslen) {
+ 		if (fwrite(ofs, 1, ofslen, fp) == 0 || ferror(fp)) {
+ 		    retval = FALSE;
+ 		    break;
+ 		}
+ 	    }
+ 	    if (!(retval = do_print(*st, fp)))
+ 		break;
+ 	}
+ 	if (retval && orslen)
+ 	    if (fwrite(ors, 1, orslen, fp) == 0 || ferror(fp))
+ 		retval = FALSE;
+     }
+     return retval;
+ }
+ 
+ int
+ mystat(arg,str)
+ ARG *arg;
+ STR *str;
+ {
+     STIO *stio;
+ 
+     laststype = O_STAT;
+     if (arg[1].arg_type & A_DONT) {
+ 	stio = stab_io(arg[1].arg_ptr.arg_stab);
+ 	if (stio && stio->ifp) {
+ 	    statstab = arg[1].arg_ptr.arg_stab;
+ 	    str_set(statname,"");
+ 	    return (laststatval = fstat(fileno(stio->ifp), &statcache));
+ 	}
+ 	else {
+ 	    if (arg[1].arg_ptr.arg_stab == defstab)
+ 		return laststatval;
+ 	    if (dowarn)
+ 		warn("Stat on unopened file <%s>",
+ 		  stab_name(arg[1].arg_ptr.arg_stab));
+ 	    statstab = Nullstab;
+ 	    str_set(statname,"");
+ 	    return (laststatval = -1);
+ 	}
+     }
+     else {
+ 	statstab = Nullstab;
+ 	str_set(statname,str_get(str));
+ 	return (laststatval = stat(str_get(str),&statcache));
+     }
+ }
+ 
+ int
+ mylstat(arg,str)
+ ARG *arg;
+ STR *str;
+ {
+     if (arg[1].arg_type & A_DONT) {
+ 	if (arg[1].arg_ptr.arg_stab == defstab) {
+ 	    if (laststype != O_LSTAT)
+ 		fatal("The stat preceding -l _ wasn't an lstat");
+ 	    return laststatval;
+ 	}
+ 	fatal("You can't use -l on a filehandle");
+     }
+ 
+     laststype = O_LSTAT;
+     statstab = Nullstab;
+     str_set(statname,str_get(str));
+ #ifdef HAS_LSTAT
+     return (laststatval = lstat(str_get(str),&statcache));
+ #else
+     return (laststatval = stat(str_get(str),&statcache));
+ #endif
+ }
+ 
+ STR *
+ do_fttext(arg,str)
+ register ARG *arg;
+ STR *str;
+ {
+     int i;
+     int len;
+     int odd = 0;
+     STDCHAR tbuf[512];
+     register STDCHAR *s;
+     register STIO *stio;
+ 
+     if (arg[1].arg_type & A_DONT) {
+ 	if (arg[1].arg_ptr.arg_stab == defstab) {
+ 	    if (statstab)
+ 		stio = stab_io(statstab);
+ 	    else {
+ 		str = statname;
+ 		goto really_filename;
+ 	    }
+ 	}
+ 	else {
+ 	    statstab = arg[1].arg_ptr.arg_stab;
+ 	    str_set(statname,"");
+ 	    stio = stab_io(statstab);
+ 	}
+ 	if (stio && stio->ifp) {
+ #ifdef STDSTDIO
+ 	    fstat(fileno(stio->ifp),&statcache);
+ 	    if (stio->ifp->_cnt <= 0) {
+ 		i = getc(stio->ifp);
+ 		if (i != EOF)
+ 		    (void)ungetc(i,stio->ifp);
+ 	    }
+ 	    if (stio->ifp->_cnt <= 0)	/* null file is anything */
+ 		return &str_yes;
+ 	    len = stio->ifp->_cnt + (stio->ifp->_ptr - stio->ifp->_base);
+ 	    s = stio->ifp->_base;
+ #else
+ 	    fatal("-T and -B not implemented on filehandles\n");
+ #endif
+ 	}
+ 	else {
+ 	    if (dowarn)
+ 		warn("Test on unopened file <%s>",
+ 		  stab_name(arg[1].arg_ptr.arg_stab));
+ 	    return &str_undef;
+ 	}
+     }
+     else {
+ 	statstab = Nullstab;
+ 	str_set(statname,str_get(str));
+       really_filename:
+ 	i = open(str_get(str),0);
+ 	if (i < 0)
+ 	    return &str_undef;
+ 	fstat(i,&statcache);
+ 	len = read(i,tbuf,512);
+ 	(void)close(i);
+ 	if (len <= 0)		/* null file is anything */
+ 	    return &str_yes;
+ 	s = tbuf;
+     }
+ 
+     /* now scan s to look for textiness */
+ 
+     for (i = 0; i < len; i++,s++) {
+ 	if (!*s) {			/* null never allowed in text */
+ 	    odd += len;
+ 	    break;
+ 	}
+ 	else if (*s & 128)
+ 	    odd++;
+ 	else if (*s < 32 &&
+ 	  *s != '\n' && *s != '\r' && *s != '\b' &&
+ 	  *s != '\t' && *s != '\f' && *s != 27)
+ 	    odd++;
+     }
+ 
+     if ((odd * 10 > len) == (arg->arg_type == O_FTTEXT)) /* allow 10% odd */
+ 	return &str_no;
+     else
+ 	return &str_yes;
+ }
+ 
+ bool
+ do_aexec(really,arglast)
+ STR *really;
+ int *arglast;
+ {
+     register STR **st = stack->ary_array;
+     register int sp = arglast[1];
+     register int items = arglast[2] - sp;
+     register char **a;
+     char **argv;
+     char *tmps;
+ 
+     if (items) {
+ 	New(401,argv, items+1, char*);
+ 	a = argv;
+ 	for (st += ++sp; items > 0; items--,st++) {
+ 	    if (*st)
+ 		*a++ = str_get(*st);
+ 	    else
+ 		*a++ = "";
+ 	}
+ 	*a = Nullch;
+ #ifdef TAINT
+ 	if (*argv[0] != '/')	/* will execvp use PATH? */
+ 	    taintenv();		/* testing IFS here is overkill, probably */
+ #endif
+ 	if (really && *(tmps = str_get(really)))
+ 	    execvp(tmps,argv);
+ 	else
+ 	    execvp(argv[0],argv);
+ 	Safefree(argv);
+     }
+     return FALSE;
+ }
+ 
+ static char **Argv = Null(char **);
+ static char *Cmd = Nullch;
+ 
+ void
+ do_execfree()
+ {
+     if (Argv) {
+ 	Safefree(Argv);
+ 	Argv = Null(char **);
+     }
+     if (Cmd) {
+ 	Safefree(Cmd);
+ 	Cmd = Nullch;
+     }
+ }
+ 
+ bool
+ do_exec(cmd)
+ char *cmd;
+ {
+     register char **a;
+     register char *s;
+     char flags[10];
+ 
+ #ifdef TAINT
+     taintenv();
+     taintproper("Insecure dependency in exec");
+ #endif
+ 
+     /* save an extra exec if possible */
+ 
+ #ifdef CSH
+     if (strnEQ(cmd,cshname,cshlen) && strnEQ(cmd+cshlen," -c",3)) {
+ 	strcpy(flags,"-c");
+ 	s = cmd+cshlen+3;
+ 	if (*s == 'f') {
+ 	    s++;
+ 	    strcat(flags,"f");
+ 	}
+ 	if (*s == ' ')
+ 	    s++;
+ 	if (*s++ == '\'') {
+ 	    char *ncmd = s;
+ 
+ 	    while (*s)
+ 		s++;
+ 	    if (s[-1] == '\n')
+ 		*--s = '\0';
+ 	    if (s[-1] == '\'') {
+ 		*--s = '\0';
+ 		execl(cshname,"csh", flags,ncmd,(char*)0);
+ 		*s = '\'';
+ 		return FALSE;
+ 	    }
+ 	}
+     }
+ #endif /* CSH */
+ 
+     /* see if there are shell metacharacters in it */
+ 
+     for (s = cmd; *s && isalpha(*s); s++) ;	/* catch VAR=val gizmo */
+     if (*s == '=')
+ 	goto doshell;
+     for (s = cmd; *s; s++) {
+ 	if (*s != ' ' && !isalpha(*s) && index("$&*(){}[]'\";\\|?<>~`\n",*s)) {
+ 	    if (*s == '\n' && !s[1]) {
+ 		*s = '\0';
+ 		break;
+ 	    }
+ 	  doshell:
+ 	    execl("/bin/sh","sh","-c",cmd,(char*)0);
+ 	    return FALSE;
+ 	}
+     }
+     New(402,Argv, (s - cmd) / 2 + 2, char*);
+     Cmd = nsavestr(cmd, s-cmd);
+     a = Argv;
+     for (s = Cmd; *s;) {
+ 	while (*s && isspace(*s)) s++;
+ 	if (*s)
+ 	    *(a++) = s;
+ 	while (*s && !isspace(*s)) s++;
+ 	if (*s)
+ 	    *s++ = '\0';
+     }
+     *a = Nullch;
+     if (Argv[0]) {
+ 	execvp(Argv[0],Argv);
+ 	if (errno == ENOEXEC) {		/* for system V NIH syndrome */
+ 	    do_execfree();
+ 	    goto doshell;
+ 	}
+     }
+     do_execfree();
+     return FALSE;
+ }
+ 
+ #ifdef HAS_SOCKET
+ int
+ do_socket(stab, arglast)
+ STAB *stab;
+ int *arglast;
+ {
+     register STR **st = stack->ary_array;
+     register int sp = arglast[1];
+     register STIO *stio;
+     int domain, type, protocol, fd;
+ 
+     if (!stab)
+ 	return FALSE;
+ 
+     stio = stab_io(stab);
+     if (!stio)
+ 	stio = stab_io(stab) = stio_new();
+     else if (stio->ifp)
+ 	do_close(stab,FALSE);
+ 
+     domain = (int)str_gnum(st[++sp]);
+     type = (int)str_gnum(st[++sp]);
+     protocol = (int)str_gnum(st[++sp]);
+ #ifdef TAINT
+     taintproper("Insecure dependency in socket");
+ #endif
+     fd = socket(domain,type,protocol);
+     if (fd < 0)
+ 	return FALSE;
+     stio->ifp = fdopen(fd, "r");	/* stdio gets confused about sockets */
+     stio->ofp = fdopen(fd, "w");
+     stio->type = 's';
+     if (!stio->ifp || !stio->ofp) {
+ 	if (stio->ifp) fclose(stio->ifp);
+ 	if (stio->ofp) fclose(stio->ofp);
+ 	if (!stio->ifp && !stio->ofp) close(fd);
+ 	return FALSE;
+     }
+ 
+     return TRUE;
+ }
+ 
+ int
+ do_bind(stab, arglast)
+ STAB *stab;
+ int *arglast;
+ {
+     register STR **st = stack->ary_array;
+     register int sp = arglast[1];
+     register STIO *stio;
+     char *addr;
+ 
+     if (!stab)
+ 	goto nuts;
+ 
+     stio = stab_io(stab);
+     if (!stio || !stio->ifp)
+ 	goto nuts;
+ 
+     addr = str_get(st[++sp]);
+ #ifdef TAINT
+     taintproper("Insecure dependency in bind");
+ #endif
+     return bind(fileno(stio->ifp), (void *) addr, st[sp]->str_cur) >= 0;
+ 
+ nuts:
+     if (dowarn)
+ 	warn("bind() on closed fd");
+     return FALSE;
+ 
+ }
+ 
+ int
+ do_connect(stab, arglast)
+ STAB *stab;
+ int *arglast;
+ {
+     register STR **st = stack->ary_array;
+     register int sp = arglast[1];
+     register STIO *stio;
+     char *addr;
+ 
+     if (!stab)
+ 	goto nuts;
+ 
+     stio = stab_io(stab);
+     if (!stio || !stio->ifp)
+ 	goto nuts;
+ 
+     addr = str_get(st[++sp]);
+ #ifdef TAINT
+     taintproper("Insecure dependency in connect");
+ #endif
+     return connect(fileno(stio->ifp), (void *) addr, st[sp]->str_cur) >= 0;
+ 
+ nuts:
+     if (dowarn)
+ 	warn("connect() on closed fd");
+     return FALSE;
+ 
+ }
+ 
+ int
+ do_listen(stab, arglast)
+ STAB *stab;
+ int *arglast;
+ {
+     register STR **st = stack->ary_array;
+     register int sp = arglast[1];
+     register STIO *stio;
+     int backlog;
+ 
+     if (!stab)
+ 	goto nuts;
+ 
+     stio = stab_io(stab);
+     if (!stio || !stio->ifp)
+ 	goto nuts;
+ 
+     backlog = (int)str_gnum(st[++sp]);
+     return listen(fileno(stio->ifp), backlog) >= 0;
+ 
+ nuts:
+     if (dowarn)
+ 	warn("listen() on closed fd");
+     return FALSE;
+ }
+ 
+ void
+ do_accept(str, nstab, gstab)
+ STR *str;
+ STAB *nstab;
+ STAB *gstab;
+ {
+     register STIO *nstio;
+     register STIO *gstio;
+     int len = sizeof buf;
+     int fd;
+ 
+     if (!nstab)
+ 	goto badexit;
+     if (!gstab)
+ 	goto nuts;
+ 
+     gstio = stab_io(gstab);
+     nstio = stab_io(nstab);
+ 
+     if (!gstio || !gstio->ifp)
+ 	goto nuts;
+     if (!nstio)
+ 	nstio = stab_io(nstab) = stio_new();
+     else if (nstio->ifp)
+ 	do_close(nstab,FALSE);
+ 
+     fd = accept(fileno(gstio->ifp),(void *)buf,&len);
+     if (fd < 0)
+ 	goto badexit;
+     nstio->ifp = fdopen(fd, "r");
+     nstio->ofp = fdopen(fd, "w");
+     nstio->type = 's';
+     if (!nstio->ifp || !nstio->ofp) {
+ 	if (nstio->ifp) fclose(nstio->ifp);
+ 	if (nstio->ofp) fclose(nstio->ofp);
+ 	if (!nstio->ifp && !nstio->ofp) close(fd);
+ 	goto badexit;
+     }
+ 
+     str_nset(str, buf, len);
+     return;
+ 
+ nuts:
+     if (dowarn)
+ 	warn("accept() on closed fd");
+ badexit:
+     str_sset(str,&str_undef);
+     return;
+ }
+ 
+ int
+ do_shutdown(stab, arglast)
+ STAB *stab;
+ int *arglast;
+ {
+     register STR **st = stack->ary_array;
+     register int sp = arglast[1];
+     register STIO *stio;
+     int how;
+ 
+     if (!stab)
+ 	goto nuts;
+ 
+     stio = stab_io(stab);
+     if (!stio || !stio->ifp)
+ 	goto nuts;
+ 
+     how = (int)str_gnum(st[++sp]);
+     return shutdown(fileno(stio->ifp), how) >= 0;
+ 
+ nuts:
+     if (dowarn)
+ 	warn("shutdown() on closed fd");
+     return FALSE;
+ 
+ }
+ 
+ int
+ do_sopt(optype, stab, arglast)
+ int optype;
+ STAB *stab;
+ int *arglast;
+ {
+     register STR **st = stack->ary_array;
+     register int sp = arglast[1];
+     register STIO *stio;
+     int fd;
+     int lvl;
+     int optname;
+ 
+     if (!stab)
+ 	goto nuts;
+ 
+     stio = stab_io(stab);
+     if (!stio || !stio->ifp)
+ 	goto nuts;
+ 
+     fd = fileno(stio->ifp);
+     lvl = (int)str_gnum(st[sp+1]);
+     optname = (int)str_gnum(st[sp+2]);
+     switch (optype) {
+     case O_GSOCKOPT:
+ 	st[sp] = str_2mortal(str_new(257));
+ 	st[sp]->str_cur = 256;
+ 	st[sp]->str_pok = 1;
+ 	if (getsockopt(fd, lvl, optname, st[sp]->str_ptr, &st[sp]->str_cur) < 0)
+ 	    goto nuts;
+ 	break;
+     case O_SSOCKOPT:
+ 	st[sp] = st[sp+3];
+ 	if (setsockopt(fd, lvl, optname, st[sp]->str_ptr, st[sp]->str_cur) < 0)
+ 	    goto nuts;
+ 	st[sp] = &str_yes;
+ 	break;
+     }
+     
+     return sp;
+ 
+ nuts:
+     if (dowarn)
+ 	warn("[gs]etsockopt() on closed fd");
+     st[sp] = &str_undef;
+     return sp;
+ 
+ }
+ 
+ int
+ do_getsockname(optype, stab, arglast)
+ int optype;
+ STAB *stab;
+ int *arglast;
+ {
+     register STR **st = stack->ary_array;
+     register int sp = arglast[1];
+     register STIO *stio;
+     int fd;
+ 
+     if (!stab)
+ 	goto nuts;
+ 
+     stio = stab_io(stab);
+     if (!stio || !stio->ifp)
+ 	goto nuts;
+ 
+     st[sp] = str_2mortal(str_new(257));
+     st[sp]->str_cur = 256;
+     st[sp]->str_pok = 1;
+     fd = fileno(stio->ifp);
+     switch (optype) {
+     case O_GETSOCKNAME:
+ 	if (getsockname(fd, (void *) st[sp]->str_ptr, &st[sp]->str_cur) < 0)
+ 	    goto nuts2;
+ 	break;
+     case O_GETPEERNAME:
+ 	if (getpeername(fd, (void *) st[sp]->str_ptr, &st[sp]->str_cur) < 0)
+ 	    goto nuts2;
+ 	break;
+     }
+     
+     return sp;
+ 
+ nuts:
+     if (dowarn)
+ 	warn("get{sock,peer}name() on closed fd");
+ nuts2:
+     st[sp] = &str_undef;
+     return sp;
+ 
+ }
+ 
+ int
+ do_ghent(which,gimme,arglast)
+ int which;
+ int gimme;
+ int *arglast;
+ {
+     register ARRAY *ary = stack;
+     register int sp = arglast[0];
+     register char **elem;
+     register STR *str;
+     struct hostent *gethostbyname();
+     struct hostent *gethostbyaddr();
+ #ifdef HAS_GETHOSTENT
+     struct hostent *gethostent();
+ #endif
+     struct hostent *hent;
+     unsigned long len;
+ 
+     if (gimme != G_ARRAY) {
+ 	astore(ary, ++sp, str_mortal(&str_undef));
+ 	return sp;
+     }
+ 
+     if (which == O_GHBYNAME) {
+ 	char *name = str_get(ary->ary_array[sp+1]);
+ 
+ 	hent = gethostbyname(name);
+     }
+     else if (which == O_GHBYADDR) {
+ 	STR *addrstr = ary->ary_array[sp+1];
+ 	int addrtype = (int)str_gnum(ary->ary_array[sp+2]);
+ 	char *addr = str_get(addrstr);
+ 
+ 	hent = gethostbyaddr(addr,addrstr->str_cur,addrtype);
+     }
+     else
+ #ifdef HAS_GETHOSTENT
+ 	hent = gethostent();
+ #else
+ 	fatal("gethostent not implemented");
+ #endif
+     if (hent) {
+ #ifndef lint
+ 	(void)astore(ary, ++sp, str = str_mortal(&str_no));
+ 	str_set(str, hent->h_name);
+ 	(void)astore(ary, ++sp, str = str_mortal(&str_no));
+ 	for (elem = hent->h_aliases; *elem; elem++) {
+ 	    str_cat(str, *elem);
+ 	    if (elem[1])
+ 		str_ncat(str," ",1);
+ 	}
+ 	(void)astore(ary, ++sp, str = str_mortal(&str_no));
+ 	str_numset(str, (double)hent->h_addrtype);
+ 	(void)astore(ary, ++sp, str = str_mortal(&str_no));
+ 	len = hent->h_length;
+ 	str_numset(str, (double)len);
+ #ifdef h_addr
+ 	for (elem = hent->h_addr_list; *elem; elem++) {
+ 	    (void)astore(ary, ++sp, str = str_mortal(&str_no));
+ 	    str_nset(str, *elem, len);
+ 	}
+ #else
+ 	(void)astore(ary, ++sp, str = str_mortal(&str_no));
+ 	str_nset(str, hent->h_addr, len);
+ #endif /* h_addr */
+ #else /* lint */
+ 	elem = Nullch;
+ 	elem = elem;
+ 	(void)astore(ary, ++sp, str_mortal(&str_no));
+ #endif /* lint */
+     }
+ 
+     return sp;
+ }
+ 
+ int
+ do_gnent(which,gimme,arglast)
+ int which;
+ int gimme;
+ int *arglast;
+ {
+     register ARRAY *ary = stack;
+     register int sp = arglast[0];
+     register char **elem;
+     register STR *str;
+     struct netent *getnetbyname();
+     struct netent *getnetbyaddr();
+     struct netent *getnetent();
+     struct netent *nent;
+ 
+     if (gimme != G_ARRAY) {
+ 	astore(ary, ++sp, str_mortal(&str_undef));
+ 	return sp;
+     }
+ 
+     if (which == O_GNBYNAME) {
+ 	char *name = str_get(ary->ary_array[sp+1]);
+ 
+ 	nent = getnetbyname(name);
+     }
+     else if (which == O_GNBYADDR) {
+ 	unsigned long addr = U_L(str_gnum(ary->ary_array[sp+1]));
+ 	int addrtype = (int)str_gnum(ary->ary_array[sp+2]);
+ 
+ 	nent = getnetbyaddr((long)addr,addrtype);
+     }
+     else
+ 	nent = getnetent();
+ 
+     if (nent) {
+ #ifndef lint
+ 	(void)astore(ary, ++sp, str = str_mortal(&str_no));
+ 	str_set(str, nent->n_name);
+ 	(void)astore(ary, ++sp, str = str_mortal(&str_no));
+ 	for (elem = nent->n_aliases; *elem; elem++) {
+ 	    str_cat(str, *elem);
+ 	    if (elem[1])
+ 		str_ncat(str," ",1);
+ 	}
+ 	(void)astore(ary, ++sp, str = str_mortal(&str_no));
+ 	str_numset(str, (double)nent->n_addrtype);
+ 	(void)astore(ary, ++sp, str = str_mortal(&str_no));
+ 	str_numset(str, (double)nent->n_net);
+ #else /* lint */
+ 	elem = Nullch;
+ 	elem = elem;
+ 	(void)astore(ary, ++sp, str_mortal(&str_no));
+ #endif /* lint */
+     }
+ 
+     return sp;
+ }
+ 
+ int
+ do_gpent(which,gimme,arglast)
+ int which;
+ int gimme;
+ int *arglast;
+ {
+     register ARRAY *ary = stack;
+     register int sp = arglast[0];
+     register char **elem;
+     register STR *str;
+     struct protoent *getprotobyname();
+     struct protoent *getprotobynumber();
+     struct protoent *getprotoent();
+     struct protoent *pent;
+ 
+     if (gimme != G_ARRAY) {
+ 	astore(ary, ++sp, str_mortal(&str_undef));
+ 	return sp;
+     }
+ 
+     if (which == O_GPBYNAME) {
+ 	char *name = str_get(ary->ary_array[sp+1]);
+ 
+ 	pent = getprotobyname(name);
+     }
+     else if (which == O_GPBYNUMBER) {
+ 	int proto = (int)str_gnum(ary->ary_array[sp+1]);
+ 
+ 	pent = getprotobynumber(proto);
+     }
+     else
+ 	pent = getprotoent();
+ 
+     if (pent) {
+ #ifndef lint
+ 	(void)astore(ary, ++sp, str = str_mortal(&str_no));
+ 	str_set(str, pent->p_name);
+ 	(void)astore(ary, ++sp, str = str_mortal(&str_no));
+ 	for (elem = pent->p_aliases; *elem; elem++) {
+ 	    str_cat(str, *elem);
+ 	    if (elem[1])
+ 		str_ncat(str," ",1);
+ 	}
+ 	(void)astore(ary, ++sp, str = str_mortal(&str_no));
+ 	str_numset(str, (double)pent->p_proto);
+ #else /* lint */
+ 	elem = Nullch;
+ 	elem = elem;
+ 	(void)astore(ary, ++sp, str_mortal(&str_no));
+ #endif /* lint */
+     }
+ 
+     return sp;
+ }
+ 
+ int
+ do_gsent(which,gimme,arglast)
+ int which;
+ int gimme;
+ int *arglast;
+ {
+     register ARRAY *ary = stack;
+     register int sp = arglast[0];
+     register char **elem;
+     register STR *str;
+     struct servent *getservbyname();
+     struct servent *getservbynumber();
+     struct servent *getservent();
+     struct servent *sent;
+ 
+     if (gimme != G_ARRAY) {
+ 	astore(ary, ++sp, str_mortal(&str_undef));
+ 	return sp;
+     }
+ 
+     if (which == O_GSBYNAME) {
+ 	char *name = str_get(ary->ary_array[sp+1]);
+ 	char *proto = str_get(ary->ary_array[sp+2]);
+ 
+ 	if (proto && !*proto)
+ 	    proto = Nullch;
+ 
+ 	sent = getservbyname(name,proto);
+     }
+     else if (which == O_GSBYPORT) {
+ 	int port = (int)str_gnum(ary->ary_array[sp+1]);
+ 	char *proto = str_get(ary->ary_array[sp+2]);
+ 
+ 	sent = getservbyport(port,proto);
+     }
+     else
+ 	sent = getservent();
+     if (sent) {
+ #ifndef lint
+ 	(void)astore(ary, ++sp, str = str_mortal(&str_no));
+ 	str_set(str, sent->s_name);
+ 	(void)astore(ary, ++sp, str = str_mortal(&str_no));
+ 	for (elem = sent->s_aliases; *elem; elem++) {
+ 	    str_cat(str, *elem);
+ 	    if (elem[1])
+ 		str_ncat(str," ",1);
+ 	}
+ 	(void)astore(ary, ++sp, str = str_mortal(&str_no));
+ #ifdef HAS_NTOHS
+ 	str_numset(str, (double)ntohs(sent->s_port));
+ #else
+ 	str_numset(str, (double)(sent->s_port));
+ #endif
+ 	(void)astore(ary, ++sp, str = str_mortal(&str_no));
+ 	str_set(str, sent->s_proto);
+ #else /* lint */
+ 	elem = Nullch;
+ 	elem = elem;
+ 	(void)astore(ary, ++sp, str_mortal(&str_no));
+ #endif /* lint */
+     }
+ 
+     return sp;
+ }
+ 
+ #endif /* HAS_SOCKET */
+ 
+ #ifdef HAS_SELECT
+ int
+ do_select(gimme,arglast)
+ int gimme;
+ int *arglast;
+ {
+     register STR **st = stack->ary_array;
+     register int sp = arglast[0];
+     register int i;
+     register int j;
+     register char *s;
+     register STR *str;
+     double value;
+     int maxlen = 0;
+     int nfound;
+     struct timeval timebuf;
+     struct timeval *tbuf = &timebuf;
+     int growsize;
+ #if BYTEORDER != 0x1234 && BYTEORDER != 0x12345678
+     int masksize;
+     int offset;
+     char *fd_sets[4];
+     int k;
+ 
+ #if BYTEORDER & 0xf0000
+ #define ORDERBYTE (0x88888888 - BYTEORDER)
+ #else
+ #define ORDERBYTE (0x4444 - BYTEORDER)
+ #endif
+ 
+ #endif
+ 
+     for (i = 1; i <= 3; i++) {
+ 	j = st[sp+i]->str_cur;
+ 	if (maxlen < j)
+ 	    maxlen = j;
+     }
+ 
+ #if BYTEORDER == 0x1234 || BYTEORDER == 0x12345678
+     growsize = maxlen;		/* little endians can use vecs directly */
+ #else
+ #ifdef NFDBITS
+ 
+ #ifndef NBBY
+ #define NBBY 8
+ #endif
+ 
+     masksize = NFDBITS / NBBY;
+ #else
+     masksize = sizeof(long);	/* documented int, everyone seems to use long */
+ #endif
+     growsize = maxlen + (masksize - (maxlen % masksize));
+     Zero(&fd_sets[0], 4, char*);
+ #endif
+ 
+     for (i = 1; i <= 3; i++) {
+ 	str = st[sp+i];
+ 	j = str->str_len;
+ 	if (j < growsize) {
+ 	    if (str->str_pok) {
+ 		Str_Grow(str,growsize);
+ 		s = str_get(str) + j;
+ 		while (++j <= growsize) {
+ 		    *s++ = '\0';
+ 		}
+ 	    }
+ 	    else if (str->str_ptr) {
+ 		Safefree(str->str_ptr);
+ 		str->str_ptr = Nullch;
+ 	    }
+ 	}
+ #if BYTEORDER != 0x1234 && BYTEORDER != 0x12345678
+ 	s = str->str_ptr;
+ 	if (s) {
+ 	    New(403, fd_sets[i], growsize, char);
+ 	    for (offset = 0; offset < growsize; offset += masksize) {
+ 		for (j = 0, k=ORDERBYTE; j < masksize; j++, (k >>= 4))
+ 		    fd_sets[i][j+offset] = s[(k % masksize) + offset];
+ 	    }
+ 	}
+ #endif
+     }
+     str = st[sp+4];
+     if (str->str_nok || str->str_pok) {
+ 	value = str_gnum(str);
+ 	if (value < 0.0)
+ 	    value = 0.0;
+ 	timebuf.tv_sec = (long)value;
+ 	value -= (double)timebuf.tv_sec;
+ 	timebuf.tv_usec = (long)(value * 1000000.0);
+     }
+     else
+ 	tbuf = Null(struct timeval*);
+ 
+ #if BYTEORDER == 0x1234 || BYTEORDER == 0x12345678
+     nfound = select(
+ 	maxlen * 8,
+ 	st[sp+1]->str_ptr,
+ 	st[sp+2]->str_ptr,
+ 	st[sp+3]->str_ptr,
+ 	tbuf);
+ #else
+     nfound = select(
+ 	maxlen * 8,
+ 	(void *)fd_sets[1],
+ 	(void *)fd_sets[2],
+ 	(void *)fd_sets[3],
+ 	tbuf);
+     for (i = 1; i <= 3; i++) {
+ 	if (fd_sets[i]) {
+ 	    str = st[sp+i];
+ 	    s = str->str_ptr;
+ 	    for (offset = 0; offset < growsize; offset += masksize) {
+ 		for (j = 0, k=ORDERBYTE; j < masksize; j++, (k >>= 4))
+ 		    s[(k % masksize) + offset] = fd_sets[i][j+offset];
+ 	    }
+ 	}
+     }
+ #endif
+ 
+     st[++sp] = str_mortal(&str_no);
+     str_numset(st[sp], (double)nfound);
+     if (gimme == G_ARRAY && tbuf) {
+ 	value = (double)(timebuf.tv_sec) +
+ 		(double)(timebuf.tv_usec) / 1000000.0;
+ 	st[++sp] = str_mortal(&str_no);
+ 	str_numset(st[sp], value);
+     }
+     return sp;
+ }
+ #endif /* SELECT */
+ 
+ #ifdef HAS_SOCKET
+ int
+ do_spair(stab1, stab2, arglast)
+ STAB *stab1;
+ STAB *stab2;
+ int *arglast;
+ {
+     register STR **st = stack->ary_array;
+     register int sp = arglast[2];
+     register STIO *stio1;
+     register STIO *stio2;
+     int domain, type, protocol, fd[2];
+ 
+     if (!stab1 || !stab2)
+ 	return FALSE;
+ 
+     stio1 = stab_io(stab1);
+     stio2 = stab_io(stab2);
+     if (!stio1)
+ 	stio1 = stab_io(stab1) = stio_new();
+     else if (stio1->ifp)
+ 	do_close(stab1,FALSE);
+     if (!stio2)
+ 	stio2 = stab_io(stab2) = stio_new();
+     else if (stio2->ifp)
+ 	do_close(stab2,FALSE);
+ 
+     domain = (int)str_gnum(st[++sp]);
+     type = (int)str_gnum(st[++sp]);
+     protocol = (int)str_gnum(st[++sp]);
+ #ifdef TAINT
+     taintproper("Insecure dependency in socketpair");
+ #endif
+ #ifdef HAS_SOCKETPAIR
+     if (socketpair(domain,type,protocol,fd) < 0)
+ 	return FALSE;
+ #else
+     fatal("Socketpair unimplemented");
+ #endif
+     stio1->ifp = fdopen(fd[0], "r");
+     stio1->ofp = fdopen(fd[0], "w");
+     stio1->type = 's';
+     stio2->ifp = fdopen(fd[1], "r");
+     stio2->ofp = fdopen(fd[1], "w");
+     stio2->type = 's';
+     if (!stio1->ifp || !stio1->ofp || !stio2->ifp || !stio2->ofp) {
+ 	if (stio1->ifp) fclose(stio1->ifp);
+ 	if (stio1->ofp) fclose(stio1->ofp);
+ 	if (!stio1->ifp && !stio1->ofp) close(fd[0]);
+ 	if (stio2->ifp) fclose(stio2->ifp);
+ 	if (stio2->ofp) fclose(stio2->ofp);
+ 	if (!stio2->ifp && !stio2->ofp) close(fd[1]);
+ 	return FALSE;
+     }
+ 
+     return TRUE;
+ }
+ 
+ #endif /* HAS_SOCKET */
+ 
+ int
+ do_gpwent(which,gimme,arglast)
+ int which;
+ int gimme;
+ int *arglast;
+ {
+ #ifdef I_PWD
+     register ARRAY *ary = stack;
+     register int sp = arglast[0];
+     register STR *str;
+     struct passwd *getpwnam();
+     struct passwd *getpwuid();
+     struct passwd *getpwent();
+     struct passwd *pwent;
+ 
+     if (gimme != G_ARRAY) {
+ 	astore(ary, ++sp, str_mortal(&str_undef));
+ 	return sp;
+     }
+ 
+     if (which == O_GPWNAM) {
+ 	char *name = str_get(ary->ary_array[sp+1]);
+ 
+ 	pwent = getpwnam(name);
+     }
+     else if (which == O_GPWUID) {
+ 	int uid = (int)str_gnum(ary->ary_array[sp+1]);
+ 
+ 	pwent = getpwuid(uid);
+     }
+     else
+ 	pwent = getpwent();
+ 
+     if (pwent) {
+ 	(void)astore(ary, ++sp, str = str_mortal(&str_no));
+ 	str_set(str, pwent->pw_name);
+ 	(void)astore(ary, ++sp, str = str_mortal(&str_no));
+ 	str_set(str, pwent->pw_passwd);
+ 	(void)astore(ary, ++sp, str = str_mortal(&str_no));
+ 	str_numset(str, (double)pwent->pw_uid);
+ 	(void)astore(ary, ++sp, str = str_mortal(&str_no));
+ 	str_numset(str, (double)pwent->pw_gid);
+ 	(void)astore(ary, ++sp, str = str_mortal(&str_no));
+ #ifdef PWCHANGE
+ 	str_numset(str, (double)pwent->pw_change);
+ #else
+ #ifdef PWQUOTA
+ 	str_numset(str, (double)pwent->pw_quota);
+ #else
+ #ifdef PWAGE
+ 	str_set(str, pwent->pw_age);
+ #endif
+ #endif
+ #endif
+ 	(void)astore(ary, ++sp, str = str_mortal(&str_no));
+ #ifdef PWCLASS
+ 	str_set(str,pwent->pw_class);
+ #else
+ #ifdef PWCOMMENT
+ 	str_set(str, pwent->pw_comment);
+ #endif
+ #endif
+ 	(void)astore(ary, ++sp, str = str_mortal(&str_no));
+ 	str_set(str, pwent->pw_gecos);
+ 	(void)astore(ary, ++sp, str = str_mortal(&str_no));
+ 	str_set(str, pwent->pw_dir);
+ 	(void)astore(ary, ++sp, str = str_mortal(&str_no));
+ 	str_set(str, pwent->pw_shell);
+ #ifdef PWEXPIRE
+ 	(void)astore(ary, ++sp, str = str_mortal(&str_no));
+ 	str_numset(str, (double)pwent->pw_expire);
+ #endif
+     }
+ 
+     return sp;
+ #else
+     fatal("password routines not implemented");
+ #endif
+ }
+ 
+ int
+ do_ggrent(which,gimme,arglast)
+ int which;
+ int gimme;
+ int *arglast;
+ {
+ #ifdef I_GRP
+     register ARRAY *ary = stack;
+     register int sp = arglast[0];
+     register char **elem;
+     register STR *str;
+     struct group *getgrnam();
+     struct group *getgrgid();
+     struct group *getgrent();
+     struct group *grent;
+ 
+     if (gimme != G_ARRAY) {
+ 	astore(ary, ++sp, str_mortal(&str_undef));
+ 	return sp;
+     }
+ 
+     if (which == O_GGRNAM) {
+ 	char *name = str_get(ary->ary_array[sp+1]);
+ 
+ 	grent = getgrnam(name);
+     }
+     else if (which == O_GGRGID) {
+ 	int gid = (int)str_gnum(ary->ary_array[sp+1]);
+ 
+ 	grent = getgrgid(gid);
+     }
+     else
+ 	grent = getgrent();
+ 
+     if (grent) {
+ 	(void)astore(ary, ++sp, str = str_mortal(&str_no));
+ 	str_set(str, grent->gr_name);
+ 	(void)astore(ary, ++sp, str = str_mortal(&str_no));
+ 	str_set(str, grent->gr_passwd);
+ 	(void)astore(ary, ++sp, str = str_mortal(&str_no));
+ 	str_numset(str, (double)grent->gr_gid);
+ 	(void)astore(ary, ++sp, str = str_mortal(&str_no));
+ 	for (elem = grent->gr_mem; *elem; elem++) {
+ 	    str_cat(str, *elem);
+ 	    if (elem[1])
+ 		str_ncat(str," ",1);
+ 	}
+     }
+ 
+     return sp;
+ #else
+     fatal("group routines not implemented");
+ #endif
+ }
+ 
+ int
+ do_dirop(optype,stab,gimme,arglast)
+ int optype;
+ STAB *stab;
+ int gimme;
+ int *arglast;
+ {
+ #if defined(DIRENT) && defined(HAS_READDIR)
+     register ARRAY *ary = stack;
+     register STR **st = ary->ary_array;
+     register int sp = arglast[1];
+     register STIO *stio;
+     long along;
+ #ifndef telldir
+     long telldir();
+ #endif
+     struct DIRENT *readdir();
+     register struct DIRENT *dp;
+ 
+     if (!stab)
+ 	goto nope;
+     if (!(stio = stab_io(stab)))
+ 	stio = stab_io(stab) = stio_new();
+     if (!stio->dirp && optype != O_OPENDIR)
+ 	goto nope;
+     st[sp] = &str_yes;
+     switch (optype) {
+     case O_OPENDIR:
+ 	if (stio->dirp)
+ 	    closedir(stio->dirp);
+ 	if (!(stio->dirp = opendir(str_get(st[sp+1]))))
+ 	    goto nope;
+ 	break;
+     case O_READDIR:
+ 	if (gimme == G_ARRAY) {
+ 	    --sp;
+ 	    while (dp = readdir(stio->dirp)) {
+ #ifdef DIRNAMLEN
+ 		(void)astore(ary,++sp,
+ 		  str_2mortal(str_make(dp->d_name,dp->d_namlen)));
+ #else
+ 		(void)astore(ary,++sp,
+ 		  str_2mortal(str_make(dp->d_name,0)));
+ #endif
+ 	    }
+ 	}
+ 	else {
+ 	    if (!(dp = readdir(stio->dirp)))
+ 		goto nope;
+ 	    st[sp] = str_mortal(&str_undef);
+ #ifdef DIRNAMLEN
+ 	    str_nset(st[sp], dp->d_name, dp->d_namlen);
+ #else
+ 	    str_set(st[sp], dp->d_name);
+ #endif
+ 	}
+ 	break;
+ #if MACH
+     case O_TELLDIR:
+     case O_SEEKDIR:
+         goto nope;
+ #else
+     case O_TELLDIR:
+ 	st[sp] = str_mortal(&str_undef);
+ 	str_numset(st[sp], (double)telldir(stio->dirp));
+ 	break;
+     case O_SEEKDIR:
+ 	st[sp] = str_mortal(&str_undef);
+ 	along = (long)str_gnum(st[sp+1]);
+ 	(void)seekdir(stio->dirp,along);
+ 	break;
+ #endif
+     case O_REWINDDIR:
+ 	st[sp] = str_mortal(&str_undef);
+ 	(void)rewinddir(stio->dirp);
+ 	break;
+     case O_CLOSEDIR:
+ 	st[sp] = str_mortal(&str_undef);
+ 	(void)closedir(stio->dirp);
+ 	stio->dirp = 0;
+ 	break;
+     }
+     return sp;
+ 
+ nope:
+     st[sp] = &str_undef;
+     return sp;
+ 
+ #else
+     fatal("Unimplemented directory operation");
+ #endif
+ }
+ 
+ apply(type,arglast)
+ int type;
+ int *arglast;
+ {
+     register STR **st = stack->ary_array;
+     register int sp = arglast[1];
+     register int items = arglast[2] - sp;
+     register int val;
+     register int val2;
+     register int tot = 0;
+     char *s;
+ 
+ #ifdef TAINT
+     for (st += ++sp; items--; st++)
+ 	tainted |= (*st)->str_tainted;
+     st = stack->ary_array;
+     sp = arglast[1];
+     items = arglast[2] - sp;
+ #endif
+     switch (type) {
+     case O_CHMOD:
+ #ifdef TAINT
+ 	taintproper("Insecure dependency in chmod");
+ #endif
+ 	if (--items > 0) {
+ 	    tot = items;
+ 	    val = (int)str_gnum(st[++sp]);
+ 	    while (items--) {
+ 		if (chmod(str_get(st[++sp]),val))
+ 		    tot--;
+ 	    }
+ 	}
+ 	break;
+ #ifdef HAS_CHOWN
+     case O_CHOWN:
+ #ifdef TAINT
+ 	taintproper("Insecure dependency in chown");
+ #endif
+ 	if (items > 2) {
+ 	    items -= 2;
+ 	    tot = items;
+ 	    val = (int)str_gnum(st[++sp]);
+ 	    val2 = (int)str_gnum(st[++sp]);
+ 	    while (items--) {
+ 		if (chown(str_get(st[++sp]),val,val2))
+ 		    tot--;
+ 	    }
+ 	}
+ 	break;
+ #endif
+ #ifdef HAS_KILL
+     case O_KILL:
+ #ifdef TAINT
+ 	taintproper("Insecure dependency in kill");
+ #endif
+ 	if (--items > 0) {
+ 	    tot = items;
+ 	    s = str_get(st[++sp]);
+ 	    if (isupper(*s)) {
+ 		if (*s == 'S' && s[1] == 'I' && s[2] == 'G')
+ 		    s += 3;
+ 		if (!(val = whichsig(s)))
+ 		    fatal("Unrecognized signal name \"%s\"",s);
+ 	    }
+ 	    else
+ 		val = (int)str_gnum(st[sp]);
+ 	    if (val < 0) {
+ 		val = -val;
+ 		while (items--) {
+ 		    int proc = (int)str_gnum(st[++sp]);
+ #ifdef HAS_KILLPG
+ 		    if (killpg(proc,val))	/* BSD */
+ #else
+ 		    if (kill(-proc,val))	/* SYSV */
+ #endif
+ 			tot--;
+ 		}
+ 	    }
+ 	    else {
+ 		while (items--) {
+ 		    if (kill((int)(str_gnum(st[++sp])),val))
+ 			tot--;
+ 		}
+ 	    }
+ 	}
+ 	break;
+ #endif
+     case O_UNLINK:
+ #ifdef TAINT
+ 	taintproper("Insecure dependency in unlink");
+ #endif
+ 	tot = items;
+ 	while (items--) {
+ 	    s = str_get(st[++sp]);
+ 	    if (euid || unsafe) {
+ 		if (UNLINK(s))
+ 		    tot--;
+ 	    }
+ 	    else {	/* don't let root wipe out directories without -U */
+ #ifdef HAS_LSTAT
+ 		if (lstat(s,&statbuf) < 0 || S_ISDIR(statbuf.st_mode))
+ #else
+ 		if (stat(s,&statbuf) < 0 || S_ISDIR(statbuf.st_mode))
+ #endif
+ 		    tot--;
+ 		else {
+ 		    if (UNLINK(s))
+ 			tot--;
+ 		}
+ 	    }
+ 	}
+ 	break;
+     case O_UTIME:
+ #ifdef TAINT
+ 	taintproper("Insecure dependency in utime");
+ #endif
+ 	if (items > 2) {
+ #ifdef I_UTIME
+ 	    struct utimbuf utbuf;
+ #else
+ 	    struct {
+ 		long    actime;
+ 		long	modtime;
+ 	    } utbuf;
+ #endif
+ 
+ 	    Zero(&utbuf, sizeof utbuf, char);
+ 	    utbuf.actime = (long)str_gnum(st[++sp]);    /* time accessed */
+ 	    utbuf.modtime = (long)str_gnum(st[++sp]);    /* time modified */
+ 	    items -= 2;
+ #ifndef lint
+ 	    tot = items;
+ 	    while (items--) {
+ 		if (utime(str_get(st[++sp]),&utbuf))
+ 		    tot--;
+ 	    }
+ #endif
+ 	}
+ 	else
+ 	    items = 0;
+ 	break;
+     }
+     return tot;
+ }
+ 
+ /* Do the permissions allow some operation?  Assumes statcache already set. */
+ 
+ int
+ cando(bit, effective, statbufp)
+ int bit;
+ int effective;
+ register struct stat *statbufp;
+ {
+ #ifdef MSDOS
+     /* [Comments and code from Len Reed]
+      * MS-DOS "user" is similar to UNIX's "superuser," but can't write
+      * to write-protected files.  The execute permission bit is set
+      * by the Miscrosoft C library stat() function for the following:
+      *		.exe files
+      *		.com files
+      *		.bat files
+      *		directories
+      * All files and directories are readable.
+      * Directories and special files, e.g. "CON", cannot be
+      * write-protected.
+      * [Comment by Tom Dinger -- a directory can have the write-protect
+      *		bit set in the file system, but DOS permits changes to
+      *		the directory anyway.  In addition, all bets are off
+      *		here for networked software, such as Novell and
+      *		Sun's PC-NFS.]
+      */
+ 
+      return (bit & statbufp->st_mode) ? TRUE : FALSE;
+ 
+ #else /* ! MSDOS */
+     if ((effective ? euid : uid) == 0) {	/* root is special */
+ 	if (bit == S_IXUSR) {
+ 	    if (statbufp->st_mode & 0111 || S_ISDIR(statbufp->st_mode))
+ 		return TRUE;
+ 	}
+ 	else
+ 	    return TRUE;		/* root reads and writes anything */
+ 	return FALSE;
+     }
+     if (statbufp->st_uid == (effective ? euid : uid) ) {
+ 	if (statbufp->st_mode & bit)
+ 	    return TRUE;	/* ok as "user" */
+     }
+     else if (ingroup((int)statbufp->st_gid,effective)) {
+ 	if (statbufp->st_mode & bit >> 3)
+ 	    return TRUE;	/* ok as "group" */
+     }
+     else if (statbufp->st_mode & bit >> 6)
+ 	return TRUE;	/* ok as "other" */
+     return FALSE;
+ #endif /* ! MSDOS */
+ }
+ 
+ int
+ ingroup(testgid,effective)
+ int testgid;
+ int effective;
+ {
+     if (testgid == (effective ? egid : gid))
+ 	return TRUE;
+ #ifdef HAS_GETGROUPS
+ #ifndef NGROUPS
+ #define NGROUPS 32
+ #endif
+     {
+ 	GROUPSTYPE gary[NGROUPS];
+ 	int anum;
+ 
+ 	anum = getgroups(NGROUPS,gary);
+ 	while (--anum >= 0)
+ 	    if (gary[anum] == testgid)
+ 		return TRUE;
+     }
+ #endif
+     return FALSE;
+ }
+ 
+ #if defined(HAS_MSG) || defined(HAS_SEM) || defined(HAS_SHM)
+ 
+ int
+ do_ipcget(optype, arglast)
+ int optype;
+ int *arglast;
+ {
+     register STR **st = stack->ary_array;
+     register int sp = arglast[0];
+     key_t key;
+     int n, flags;
+ 
+     key = (key_t)str_gnum(st[++sp]);
+     n = (optype == O_MSGGET) ? 0 : (int)str_gnum(st[++sp]);
+     flags = (int)str_gnum(st[++sp]);
+     errno = 0;
+     switch (optype)
+     {
+ #ifdef HAS_MSG
+     case O_MSGGET:
+ 	return msgget(key, flags);
+ #endif
+ #ifdef HAS_SEM
+     case O_SEMGET:
+ 	return semget(key, n, flags);
+ #endif
+ #ifdef HAS_SHM
+     case O_SHMGET:
+ 	return shmget(key, n, flags);
+ #endif
+ #if !defined(HAS_MSG) || !defined(HAS_SEM) || !defined(HAS_SHM)
+     default:
+ 	fatal("%s not implemented", opname[optype]);
+ #endif
+     }
+     return -1;			/* should never happen */
+ }
+ 
+ int
+ do_ipcctl(optype, arglast)
+ int optype;
+ int *arglast;
+ {
+     register STR **st = stack->ary_array;
+     register int sp = arglast[0];
+     STR *astr;
+     char *a;
+     int id, n, cmd, infosize, getinfo, ret;
+ 
+     id = (int)str_gnum(st[++sp]);
+     n = (optype == O_SEMCTL) ? (int)str_gnum(st[++sp]) : 0;
+     cmd = (int)str_gnum(st[++sp]);
+     astr = st[++sp];
+ 
+     infosize = 0;
+     getinfo = (cmd == IPC_STAT);
+ 
+     switch (optype)
+     {
+ #ifdef HAS_MSG
+     case O_MSGCTL:
+ 	if (cmd == IPC_STAT || cmd == IPC_SET)
+ 	    infosize = sizeof(struct msqid_ds);
+ 	break;
+ #endif
+ #ifdef HAS_SHM
+     case O_SHMCTL:
+ 	if (cmd == IPC_STAT || cmd == IPC_SET)
+ 	    infosize = sizeof(struct shmid_ds);
+ 	break;
+ #endif
+ #ifdef HAS_SEM
+     case O_SEMCTL:
+ 	if (cmd == IPC_STAT || cmd == IPC_SET)
+ 	    infosize = sizeof(struct semid_ds);
+ 	else if (cmd == GETALL || cmd == SETALL)
+ 	{
+ 	    struct semid_ds semds;
+ 	    if (semctl(id, 0, IPC_STAT, &semds) == -1)
+ 		return -1;
+ 	    getinfo = (cmd == GETALL);
+ #ifdef _POSIX_SOURCE
+       typedef ushort ushort_t;
+ 	    infosize = semds.sem_nsems * sizeof(ushort_t);
+ #else
+ 	    infosize = semds.sem_nsems * sizeof(ushort);
+ #endif
+ 	}
+ 	break;
+ #endif
+ #if !defined(HAS_MSG) || !defined(HAS_SEM) || !defined(HAS_SHM)
+     default:
+ 	fatal("%s not implemented", opname[optype]);
+ #endif
+     }
+ 
+     if (infosize)
+     {
+ 	if (getinfo)
+ 	{
+ 	    STR_GROW(astr, infosize+1);
+ 	    a = str_get(astr);
+ 	}
+ 	else
+ 	{
+ 	    a = str_get(astr);
+ 	    if (astr->str_cur != infosize)
+ 	    {
+ 		errno = EINVAL;
+ 		return -1;
+ 	    }
+ 	}
+     }
+     else
+     {
+ 	int i = (int)str_gnum(astr);
+ 	a = (char *)i;		/* ouch */
+     }
+     errno = 0;
+     switch (optype)
+     {
+ #ifdef HAS_MSG
+     case O_MSGCTL:
+ 	ret = msgctl(id, cmd, a);
+ 	break;
+ #endif
+ #ifdef HAS_SEM
+     case O_SEMCTL:
+ 	ret = semctl(id, n, cmd, a);
+ 	break;
+ #endif
+ #ifdef HAS_SHM
+     case O_SHMCTL:
+ 	ret = shmctl(id, cmd, a);
+ 	break;
+ #endif
+     }
+     if (getinfo && ret >= 0) {
+ 	astr->str_cur = infosize;
+ 	astr->str_ptr[infosize] = '\0';
+     }
+     return ret;
+ }
+ 
+ int
+ do_msgsnd(arglast)
+ int *arglast;
+ {
+ #ifdef HAS_MSG
+     register STR **st = stack->ary_array;
+     register int sp = arglast[0];
+     STR *mstr;
+     char *mbuf;
+     int id, msize, flags;
+ 
+     id = (int)str_gnum(st[++sp]);
+     mstr = st[++sp];
+     flags = (int)str_gnum(st[++sp]);
+     mbuf = str_get(mstr);
+     if ((msize = mstr->str_cur - sizeof(long)) < 0) {
+ 	errno = EINVAL;
+ 	return -1;
+     }
+     errno = 0;
+     return msgsnd(id, mbuf, msize, flags);
+ #else
+     fatal("msgsnd not implemented");
+ #endif
+ }
+ 
+ int
+ do_msgrcv(arglast)
+ int *arglast;
+ {
+ #ifdef HAS_MSG
+     register STR **st = stack->ary_array;
+     register int sp = arglast[0];
+     STR *mstr;
+     char *mbuf;
+     long mtype;
+     int id, msize, flags, ret;
+ 
+     id = (int)str_gnum(st[++sp]);
+     mstr = st[++sp];
+     msize = (int)str_gnum(st[++sp]);
+     mtype = (long)str_gnum(st[++sp]);
+     flags = (int)str_gnum(st[++sp]);
+     mbuf = str_get(mstr);
+     if (mstr->str_cur < sizeof(long)+msize+1) {
+ 	STR_GROW(mstr, sizeof(long)+msize+1);
+ 	mbuf = str_get(mstr);
+     }
+     errno = 0;
+     ret = msgrcv(id, mbuf, msize, mtype, flags);
+     if (ret >= 0) {
+ 	mstr->str_cur = sizeof(long)+ret;
+ 	mstr->str_ptr[sizeof(long)+ret] = '\0';
+     }
+     return ret;
+ #else
+     fatal("msgrcv not implemented");
+ #endif
+ }
+ 
+ int
+ do_semop(arglast)
+ int *arglast;
+ {
+ #ifdef HAS_SEM
+     register STR **st = stack->ary_array;
+     register int sp = arglast[0];
+     STR *opstr;
+     char *opbuf;
+     int id, opsize;
+ 
+     id = (int)str_gnum(st[++sp]);
+     opstr = st[++sp];
+     opbuf = str_get(opstr);
+     opsize = opstr->str_cur;
+     if (opsize < sizeof(struct sembuf)
+ 	|| (opsize % sizeof(struct sembuf)) != 0) {
+ 	errno = EINVAL;
+ 	return -1;
+     }
+     errno = 0;
+     return semop(id, opbuf, opsize/sizeof(struct sembuf));
+ #else
+     fatal("semop not implemented");
+ #endif
+ }
+ 
+ int
+ do_shmio(optype, arglast)
+ int optype;
+ int *arglast;
+ {
+ #ifdef HAS_SHM
+     register STR **st = stack->ary_array;
+     register int sp = arglast[0];
+     STR *mstr;
+     char *mbuf, *shm;
+     int id, mpos, msize;
+     struct shmid_ds shmds;
+     extern char *shmat();
+ 
+     id = (int)str_gnum(st[++sp]);
+     mstr = st[++sp];
+     mpos = (int)str_gnum(st[++sp]);
+     msize = (int)str_gnum(st[++sp]);
+     errno = 0;
+     if (shmctl(id, IPC_STAT, &shmds) == -1)
+ 	return -1;
+     if (mpos < 0 || msize < 0 || mpos + msize > shmds.shm_segsz) {
+ 	errno = EFAULT;		/* can't do as caller requested */
+ 	return -1;
+     }
+     shm = shmat(id, (char *)NULL, (optype == O_SHMREAD) ? SHM_RDONLY : 0);
+     if (shm == (char *)-1)	/* I hate System V IPC, I really do */
+ 	return -1;
+     mbuf = str_get(mstr);
+     if (optype == O_SHMREAD) {
+ 	if (mstr->str_cur < msize) {
+ 	    STR_GROW(mstr, msize+1);
+ 	    mbuf = str_get(mstr);
+ 	}
+ 	bcopy(shm + mpos, mbuf, msize);
+ 	mstr->str_cur = msize;
+ 	mstr->str_ptr[msize] = '\0';
+     }
+     else {
+ 	int n;
+ 
+ 	if ((n = mstr->str_cur) > msize)
+ 	    n = msize;
+ 	bcopy(mbuf, shm + mpos, n);
+ 	if (n < msize)
+ 	    bzero(shm + mpos + n, msize - n);
+     }
+     return shmdt(shm);
+ #else
+     fatal("shm I/O not implemented");
+ #endif
+ }
+ 
+ #endif /* SYSV IPC */


Index: llvm/test/Programs/MultiSource/Benchmarks/MallocBench/perl/dolist.c
diff -c /dev/null llvm/test/Programs/MultiSource/Benchmarks/MallocBench/perl/dolist.c:1.1.2.1
*** /dev/null	Mon Mar  1 17:59:25 2004
--- llvm/test/Programs/MultiSource/Benchmarks/MallocBench/perl/dolist.c	Mon Mar  1 17:59:13 2004
***************
*** 0 ****
--- 1,1768 ----
+ /* $Header: /home/vadve/shared/PublicCVS/llvm/test/Programs/MultiSource/Benchmarks/MallocBench/perl/dolist.c,v 1.1.2.1 2004/03/01 23:59:13 brukman Exp $
+  *
+  *    Copyright (c) 1989, Larry Wall
+  *
+  *    You may distribute under the terms of the GNU General Public License
+  *    as specified in the README file that comes with the perl 3.0 kit.
+  *
+  * $Log: dolist.c,v $
+  * Revision 1.1.2.1  2004/03/01 23:59:13  brukman
+  * Merge from trunk
+  *
+  * Revision 1.1  2004/02/17 22:21:16  criswell
+  * Initial commit of the perl Malloc Benchmark.  I've cheated a little by
+  * generating the yacc output files and committing them directly, but it was
+  * easier than disabling the Bison Voodoo that gets executed by default.
+  *
+  * Revision 4.0  91/03/20  01:08:03  lwall
+  * 4.0 baseline.
+  * 
+  */
+ 
+ #include "EXTERN.h"
+ #include "perl.h"
+ 
+ 
+ #ifdef BUGGY_MSC
+  #pragma function(memcmp)
+ #endif /* BUGGY_MSC */
+ 
+ int
+ do_match(str,arg,gimme,arglast)
+ STR *str;
+ register ARG *arg;
+ int gimme;
+ int *arglast;
+ {
+     register STR **st = stack->ary_array;
+     register SPAT *spat = arg[2].arg_ptr.arg_spat;
+     register char *t;
+     register int sp = arglast[0] + 1;
+     STR *srchstr = st[sp];
+     register char *s = str_get(st[sp]);
+     char *strend = s + st[sp]->str_cur;
+     STR *tmpstr;
+     char *myhint = hint;
+ 
+     hint = Nullch;
+     if (!spat) {
+ 	if (gimme == G_ARRAY)
+ 	    return --sp;
+ 	str_set(str,Yes);
+ 	STABSET(str);
+ 	st[sp] = str;
+ 	return sp;
+     }
+     if (!s)
+ 	fatal("panic: do_match");
+     if (spat->spat_flags & SPAT_USED) {
+ #ifdef DEBUGGING
+ 	if (debug & 8)
+ 	    deb("2.SPAT USED\n");
+ #endif
+ 	if (gimme == G_ARRAY)
+ 	    return --sp;
+ 	str_set(str,No);
+ 	STABSET(str);
+ 	st[sp] = str;
+ 	return sp;
+     }
+     --sp;
+     if (spat->spat_runtime) {
+ 	nointrp = "|)";
+ 	sp = eval(spat->spat_runtime,G_SCALAR,sp);
+ 	st = stack->ary_array;
+ 	t = str_get(tmpstr = st[sp--]);
+ 	nointrp = "";
+ #ifdef DEBUGGING
+ 	if (debug & 8)
+ 	    deb("2.SPAT /%s/\n",t);
+ #endif
+ 	if (spat->spat_regexp) {
+ 	    regfree(spat->spat_regexp);
+ 	    spat->spat_regexp = Null(REGEXP*);	/* crucial if regcomp aborts */
+ 	}
+ 	spat->spat_regexp = regcomp(t,t+tmpstr->str_cur,
+ 	    spat->spat_flags & SPAT_FOLD);
+ 	if (!*spat->spat_regexp->precomp && lastspat)
+ 	    spat = lastspat;
+ 	if (spat->spat_flags & SPAT_KEEP) {
+ 	    if (spat->spat_runtime)
+ 		arg_free(spat->spat_runtime);	/* it won't change, so */
+ 	    spat->spat_runtime = Nullarg;	/* no point compiling again */
+ 	}
+ 	if (!spat->spat_regexp->nparens)
+ 	    gimme = G_SCALAR;			/* accidental array context? */
+ 	if (regexec(spat->spat_regexp, s, strend, s, 0,
+ 	  srchstr->str_pok & SP_STUDIED ? srchstr : Nullstr,
+ 	  gimme == G_ARRAY)) {
+ 	    if (spat->spat_regexp->subbase)
+ 		curspat = spat;
+ 	    lastspat = spat;
+ 	    goto gotcha;
+ 	}
+ 	else {
+ 	    if (gimme == G_ARRAY)
+ 		return sp;
+ 	    str_sset(str,&str_no);
+ 	    STABSET(str);
+ 	    st[++sp] = str;
+ 	    return sp;
+ 	}
+     }
+     else {
+ #ifdef DEBUGGING
+ 	if (debug & 8) {
+ 	    char ch;
+ 
+ 	    if (spat->spat_flags & SPAT_ONCE)
+ 		ch = '?';
+ 	    else
+ 		ch = '/';
+ 	    deb("2.SPAT %c%s%c\n",ch,spat->spat_regexp->precomp,ch);
+ 	}
+ #endif
+ 	if (!*spat->spat_regexp->precomp && lastspat)
+ 	    spat = lastspat;
+ 	t = s;
+ 	if (myhint) {
+ 	    if (myhint < s || myhint > strend)
+ 		fatal("panic: hint in do_match");
+ 	    s = myhint;
+ 	    if (spat->spat_regexp->regback >= 0) {
+ 		s -= spat->spat_regexp->regback;
+ 		if (s < t)
+ 		    s = t;
+ 	    }
+ 	    else
+ 		s = t;
+ 	}
+ 	else if (spat->spat_short) {
+ 	    if (spat->spat_flags & SPAT_SCANFIRST) {
+ 		if (srchstr->str_pok & SP_STUDIED) {
+ 		    if (screamfirst[spat->spat_short->str_rare] < 0)
+ 			goto nope;
+ 		    else if (!(s = screaminstr(srchstr,spat->spat_short)))
+ 			goto nope;
+ 		    else if (spat->spat_flags & SPAT_ALL)
+ 			goto yup;
+ 		}
+ #ifndef lint
+ 		else if (!(s = fbminstr((unsigned char*)s,
+ 		  (unsigned char*)strend, spat->spat_short)))
+ 		    goto nope;
+ #endif
+ 		else if (spat->spat_flags & SPAT_ALL)
+ 		    goto yup;
+ 		if (s && spat->spat_regexp->regback >= 0) {
+ 		    ++spat->spat_short->str_u.str_useful;
+ 		    s -= spat->spat_regexp->regback;
+ 		    if (s < t)
+ 			s = t;
+ 		}
+ 		else
+ 		    s = t;
+ 	    }
+ 	    else if (!multiline && (*spat->spat_short->str_ptr != *s ||
+ 	      bcmp(spat->spat_short->str_ptr, s, spat->spat_slen) ))
+ 		goto nope;
+ 	    if (--spat->spat_short->str_u.str_useful < 0) {
+ 		str_free(spat->spat_short);
+ 		spat->spat_short = Nullstr;	/* opt is being useless */
+ 	    }
+ 	}
+ 	if (!spat->spat_regexp->nparens)
+ 	    gimme = G_SCALAR;			/* accidental array context? */
+ 	if (regexec(spat->spat_regexp, s, strend, t, 0,
+ 	  srchstr->str_pok & SP_STUDIED ? srchstr : Nullstr,
+ 	  gimme == G_ARRAY)) {
+ 	    if (spat->spat_regexp->subbase)
+ 		curspat = spat;
+ 	    lastspat = spat;
+ 	    if (spat->spat_flags & SPAT_ONCE)
+ 		spat->spat_flags |= SPAT_USED;
+ 	    goto gotcha;
+ 	}
+ 	else {
+ 	    if (gimme == G_ARRAY)
+ 		return sp;
+ 	    str_sset(str,&str_no);
+ 	    STABSET(str);
+ 	    st[++sp] = str;
+ 	    return sp;
+ 	}
+     }
+     /*NOTREACHED*/
+ 
+   gotcha:
+     if (gimme == G_ARRAY) {
+ 	int iters, i, len;
+ 
+ 	iters = spat->spat_regexp->nparens;
+ 	if (sp + iters >= stack->ary_max) {
+ 	    astore(stack,sp + iters, Nullstr);
+ 	    st = stack->ary_array;		/* possibly realloced */
+ 	}
+ 
+ 	for (i = 1; i <= iters; i++) {
+ 	    st[++sp] = str_mortal(&str_no);
+ 	    if (s = spat->spat_regexp->startp[i]) {
+ 		len = spat->spat_regexp->endp[i] - s;
+ 		if (len > 0)
+ 		    str_nset(st[sp],s,len);
+ 	    }
+ 	}
+ 	return sp;
+     }
+     else {
+ 	str_sset(str,&str_yes);
+ 	STABSET(str);
+ 	st[++sp] = str;
+ 	return sp;
+     }
+ 
+ yup:
+     ++spat->spat_short->str_u.str_useful;
+     lastspat = spat;
+     if (spat->spat_flags & SPAT_ONCE)
+ 	spat->spat_flags |= SPAT_USED;
+     if (sawampersand) {
+ 	char *tmps;
+ 
+ 	if (spat->spat_regexp->subbase)
+ 	    Safefree(spat->spat_regexp->subbase);
+ 	tmps = spat->spat_regexp->subbase = nsavestr(t,strend-t);
+ 	spat->spat_regexp->subend = tmps + (strend-t);
+ 	tmps = spat->spat_regexp->startp[0] = tmps + (s - t);
+ 	spat->spat_regexp->endp[0] = tmps + spat->spat_short->str_cur;
+ 	curspat = spat;
+     }
+     str_sset(str,&str_yes);
+     STABSET(str);
+     st[++sp] = str;
+     return sp;
+ 
+ nope:
+     ++spat->spat_short->str_u.str_useful;
+     if (gimme == G_ARRAY)
+ 	return sp;
+     str_sset(str,&str_no);
+     STABSET(str);
+     st[++sp] = str;
+     return sp;
+ }
+ 
+ #ifdef BUGGY_MSC
+  #pragma intrinsic(memcmp)
+ #endif /* BUGGY_MSC */
+ 
+ int
+ do_split(str,spat,limit,gimme,arglast)
+ STR *str;
+ register SPAT *spat;
+ register int limit;
+ int gimme;
+ int *arglast;
+ {
+     register ARRAY *ary = stack;
+     STR **st = ary->ary_array;
+     register int sp = arglast[0] + 1;
+     register char *s = str_get(st[sp]);
+     char *strend = s + st[sp--]->str_cur;
+     register STR *dstr;
+     register char *m;
+     int iters = 0;
+     int maxiters = (strend - s) + 10;
+     int i;
+     char *orig;
+     int origlimit = limit;
+     int realarray = 0;
+ 
+     if (!spat || !s)
+ 	fatal("panic: do_split");
+     else if (spat->spat_runtime) {
+ 	nointrp = "|)";
+ 	sp = eval(spat->spat_runtime,G_SCALAR,sp);
+ 	st = stack->ary_array;
+ 	m = str_get(dstr = st[sp--]);
+ 	nointrp = "";
+ 	if (*m == ' ' && dstr->str_cur == 1) {
+ 	    str_set(dstr,"\\s+");
+ 	    m = dstr->str_ptr;
+ 	    spat->spat_flags |= SPAT_SKIPWHITE;
+ 	}
+ 	if (spat->spat_regexp) {
+ 	    regfree(spat->spat_regexp);
+ 	    spat->spat_regexp = Null(REGEXP*);	/* avoid possible double free */
+ 	}
+ 	spat->spat_regexp = regcomp(m,m+dstr->str_cur,
+ 	    spat->spat_flags & SPAT_FOLD);
+ 	if (spat->spat_flags & SPAT_KEEP ||
+ 	    (spat->spat_runtime->arg_type == O_ITEM &&
+ 	      (spat->spat_runtime[1].arg_type & A_MASK) == A_SINGLE) ) {
+ 	    arg_free(spat->spat_runtime);	/* it won't change, so */
+ 	    spat->spat_runtime = Nullarg;	/* no point compiling again */
+ 	}
+     }
+ #ifdef DEBUGGING
+     if (debug & 8) {
+ 	deb("2.SPAT /%s/\n",spat->spat_regexp->precomp);
+     }
+ #endif
+     ary = stab_xarray(spat->spat_repl[1].arg_ptr.arg_stab);
+     if (ary && (gimme != G_ARRAY || (spat->spat_flags & SPAT_ONCE))) {
+ 	realarray = 1;
+ 	if (!(ary->ary_flags & ARF_REAL)) {
+ 	    ary->ary_flags |= ARF_REAL;
+ 	    for (i = ary->ary_fill; i >= 0; i--)
+ 		ary->ary_array[i] = Nullstr;	/* don't free mere refs */
+ 	}
+ 	ary->ary_fill = -1;
+ 	sp = -1;	/* temporarily switch stacks */
+     }
+     else
+ 	ary = stack;
+     orig = s;
+     if (spat->spat_flags & SPAT_SKIPWHITE) {
+ 	while (isascii(*s) && isspace(*s))
+ 	    s++;
+     }
+     if (!limit)
+ 	limit = maxiters + 2;
+     if (strEQ("\\s+",spat->spat_regexp->precomp)) {
+ 	while (--limit) {
+ 	    for (m = s; m < strend && !(isascii(*m)&&isspace(*m)); m++) ;
+ 	    if (m >= strend)
+ 		break;
+ 	    dstr = Str_new(30,m-s);
+ 	    str_nset(dstr,s,m-s);
+ 	    if (!realarray)
+ 		str_2mortal(dstr);
+ 	    (void)astore(ary, ++sp, dstr);
+ 	    for (s = m + 1; s < strend && isascii(*s) && isspace(*s); s++) ;
+ 	}
+     }
+     else if (strEQ("^",spat->spat_regexp->precomp)) {
+ 	while (--limit) {
+ 	    for (m = s; m < strend && *m != '\n'; m++) ;
+ 	    m++;
+ 	    if (m >= strend)
+ 		break;
+ 	    dstr = Str_new(30,m-s);
+ 	    str_nset(dstr,s,m-s);
+ 	    if (!realarray)
+ 		str_2mortal(dstr);
+ 	    (void)astore(ary, ++sp, dstr);
+ 	    s = m;
+ 	}
+     }
+     else if (spat->spat_short) {
+ 	i = spat->spat_short->str_cur;
+ 	if (i == 1) {
+ 	    int fold = (spat->spat_flags & SPAT_FOLD);
+ 
+ 	    i = *spat->spat_short->str_ptr;
+ 	    if (fold && isupper(i))
+ 		i = tolower(i);
+ 	    while (--limit) {
+ 		if (fold) {
+ 		    for ( m = s;
+ 			  m < strend && *m != i &&
+ 			    (!isupper(*m) || tolower(*m) != i);
+ 			  m++)
+ 			;
+ 		}
+ 		else
+ 		    for (m = s; m < strend && *m != i; m++) ;
+ 		if (m >= strend)
+ 		    break;
+ 		dstr = Str_new(30,m-s);
+ 		str_nset(dstr,s,m-s);
+ 		if (!realarray)
+ 		    str_2mortal(dstr);
+ 		(void)astore(ary, ++sp, dstr);
+ 		s = m + 1;
+ 	    }
+ 	}
+ 	else {
+ #ifndef lint
+ 	    while (s < strend && --limit &&
+ 	      (m=fbminstr((unsigned char*)s, (unsigned char*)strend,
+ 		    spat->spat_short)) )
+ #endif
+ 	    {
+ 		dstr = Str_new(31,m-s);
+ 		str_nset(dstr,s,m-s);
+ 		if (!realarray)
+ 		    str_2mortal(dstr);
+ 		(void)astore(ary, ++sp, dstr);
+ 		s = m + i;
+ 	    }
+ 	}
+     }
+     else {
+ 	maxiters += (strend - s) * spat->spat_regexp->nparens;
+ 	while (s < strend && --limit &&
+ 	    regexec(spat->spat_regexp, s, strend, orig, 1, Nullstr, TRUE) ) {
+ 	    if (spat->spat_regexp->subbase
+ 	      && spat->spat_regexp->subbase != orig) {
+ 		m = s;
+ 		s = orig;
+ 		orig = spat->spat_regexp->subbase;
+ 		s = orig + (m - s);
+ 		strend = s + (strend - m);
+ 	    }
+ 	    m = spat->spat_regexp->startp[0];
+ 	    dstr = Str_new(32,m-s);
+ 	    str_nset(dstr,s,m-s);
+ 	    if (!realarray)
+ 		str_2mortal(dstr);
+ 	    (void)astore(ary, ++sp, dstr);
+ 	    if (spat->spat_regexp->nparens) {
+ 		for (i = 1; i <= spat->spat_regexp->nparens; i++) {
+ 		    s = spat->spat_regexp->startp[i];
+ 		    m = spat->spat_regexp->endp[i];
+ 		    dstr = Str_new(33,m-s);
+ 		    str_nset(dstr,s,m-s);
+ 		    if (!realarray)
+ 			str_2mortal(dstr);
+ 		    (void)astore(ary, ++sp, dstr);
+ 		}
+ 	    }
+ 	    s = spat->spat_regexp->endp[0];
+ 	}
+     }
+     if (realarray)
+ 	iters = sp + 1;
+     else
+ 	iters = sp - arglast[0];
+     if (iters > maxiters)
+ 	fatal("Split loop");
+     if (s < strend || origlimit) {	/* keep field after final delim? */
+ 	dstr = Str_new(34,strend-s);
+ 	str_nset(dstr,s,strend-s);
+ 	if (!realarray)
+ 	    str_2mortal(dstr);
+ 	(void)astore(ary, ++sp, dstr);
+ 	iters++;
+     }
+     else {
+ #ifndef I286x
+ 	while (iters > 0 && ary->ary_array[sp]->str_cur == 0)
+ 	    iters--,sp--;
+ #else
+ 	char *zaps;
+ 	int   zapb;
+ 
+ 	if (iters > 0) {
+ 		zaps = str_get(afetch(ary,sp,FALSE));
+ 		zapb = (int) *zaps;
+ 	}
+ 	
+ 	while (iters > 0 && (!zapb)) {
+ 	    iters--,sp--;
+ 	    if (iters > 0) {
+ 		zaps = str_get(afetch(ary,iters-1,FALSE));
+ 		zapb = (int) *zaps;
+ 	    }
+ 	}
+ #endif
+     }
+     if (realarray) {
+ 	ary->ary_fill = sp;
+ 	if (gimme == G_ARRAY) {
+ 	    sp++;
+ 	    astore(stack, arglast[0] + 1 + sp, Nullstr);
+ 	    Copy(ary->ary_array, stack->ary_array + arglast[0] + 1, sp, STR*);
+ 	    return arglast[0] + sp;
+ 	}
+     }
+     else {
+ 	if (gimme == G_ARRAY)
+ 	    return sp;
+     }
+     sp = arglast[0] + 1;
+     str_numset(str,(double)iters);
+     STABSET(str);
+     st[sp] = str;
+     return sp;
+ }
+ 
+ int
+ do_unpack(str,gimme,arglast)
+ STR *str;
+ int gimme;
+ int *arglast;
+ {
+     STR **st = stack->ary_array;
+     register int sp = arglast[0] + 1;
+     register char *pat = str_get(st[sp++]);
+     register char *s = str_get(st[sp]);
+     char *strend = s + st[sp--]->str_cur;
+     char *strbeg = s;
+     register char *patend = pat + st[sp]->str_cur;
+     int datumtype;
+     register int len;
+     register int bits;
+ 
+     /* These must not be in registers: */
+     short ashort;
+     int aint;
+     long along;
+     unsigned short aushort;
+     unsigned int auint;
+     unsigned long aulong;
+     char *aptr;
+     float afloat;
+     double adouble;
+     int checksum = 0;
+     unsigned long culong;
+     double cdouble;
+ 
+     if (gimme != G_ARRAY) {		/* arrange to do first one only */
+ 	for (patend = pat; !isalpha(*patend); patend++);
+ 	if (index("aAbBhH", *patend) || *pat == '%') {
+ 	    patend++;
+ 	    while (isdigit(*patend) || *patend == '*')
+ 		patend++;
+ 	}
+ 	else
+ 	    patend++;
+     }
+     sp--;
+     while (pat < patend) {
+       reparse:
+ 	datumtype = *pat++;
+ 	if (pat >= patend)
+ 	    len = 1;
+ 	else if (*pat == '*') {
+ 	    len = strend - strbeg;	/* long enough */
+ 	    pat++;
+ 	}
+ 	else if (isdigit(*pat)) {
+ 	    len = *pat++ - '0';
+ 	    while (isdigit(*pat))
+ 		len = (len * 10) + (*pat++ - '0');
+ 	}
+ 	else
+ 	    len = (datumtype != '@');
+ 	switch(datumtype) {
+ 	default:
+ 	    break;
+ 	case '%':
+ 	    if (len == 1 && pat[-1] != '1')
+ 		len = 16;
+ 	    checksum = len;
+ 	    culong = 0;
+ 	    cdouble = 0;
+ 	    if (pat < patend)
+ 		goto reparse;
+ 	    break;
+ 	case '@':
+ 	    if (len > strend - s)
+ 		fatal("@ outside of string");
+ 	    s = strbeg + len;
+ 	    break;
+ 	case 'X':
+ 	    if (len > s - strbeg)
+ 		fatal("X outside of string");
+ 	    s -= len;
+ 	    break;
+ 	case 'x':
+ 	    if (len > strend - s)
+ 		fatal("x outside of string");
+ 	    s += len;
+ 	    break;
+ 	case 'A':
+ 	case 'a':
+ 	    if (len > strend - s)
+ 		len = strend - s;
+ 	    if (checksum)
+ 		goto uchar_checksum;
+ 	    str = Str_new(35,len);
+ 	    str_nset(str,s,len);
+ 	    s += len;
+ 	    if (datumtype == 'A') {
+ 		aptr = s;	/* borrow register */
+ 		s = str->str_ptr + len - 1;
+ 		while (s >= str->str_ptr && (!*s || (isascii(*s)&&isspace(*s))))
+ 		    s--;
+ 		*++s = '\0';
+ 		str->str_cur = s - str->str_ptr;
+ 		s = aptr;	/* unborrow register */
+ 	    }
+ 	    (void)astore(stack, ++sp, str_2mortal(str));
+ 	    break;
+ 	case 'B':
+ 	case 'b':
+ 	    if (pat[-1] == '*' || len > (strend - s) * 8)
+ 		len = (strend - s) * 8;
+ 	    str = Str_new(35, len + 1);
+ 	    str->str_cur = len;
+ 	    str->str_pok = 1;
+ 	    aptr = pat;			/* borrow register */
+ 	    pat = str->str_ptr;
+ 	    if (datumtype == 'b') {
+ 		aint = len;
+ 		for (len = 0; len < aint; len++) {
+ 		    if (len & 7)
+ 			bits >>= 1;
+ 		    else
+ 			bits = *s++;
+ 		    *pat++ = '0' + (bits & 1);
+ 		}
+ 	    }
+ 	    else {
+ 		aint = len;
+ 		for (len = 0; len < aint; len++) {
+ 		    if (len & 7)
+ 			bits <<= 1;
+ 		    else
+ 			bits = *s++;
+ 		    *pat++ = '0' + ((bits & 128) != 0);
+ 		}
+ 	    }
+ 	    *pat = '\0';
+ 	    pat = aptr;			/* unborrow register */
+ 	    (void)astore(stack, ++sp, str_2mortal(str));
+ 	    break;
+ 	case 'H':
+ 	case 'h':
+ 	    if (pat[-1] == '*' || len > (strend - s) * 2)
+ 		len = (strend - s) * 2;
+ 	    str = Str_new(35, len + 1);
+ 	    str->str_cur = len;
+ 	    str->str_pok = 1;
+ 	    aptr = pat;			/* borrow register */
+ 	    pat = str->str_ptr;
+ 	    if (datumtype == 'h') {
+ 		aint = len;
+ 		for (len = 0; len < aint; len++) {
+ 		    if (len & 1)
+ 			bits >>= 4;
+ 		    else
+ 			bits = *s++;
+ 		    *pat++ = hexdigit[bits & 15];
+ 		}
+ 	    }
+ 	    else {
+ 		aint = len;
+ 		for (len = 0; len < aint; len++) {
+ 		    if (len & 1)
+ 			bits <<= 4;
+ 		    else
+ 			bits = *s++;
+ 		    *pat++ = hexdigit[(bits >> 4) & 15];
+ 		}
+ 	    }
+ 	    *pat = '\0';
+ 	    pat = aptr;			/* unborrow register */
+ 	    (void)astore(stack, ++sp, str_2mortal(str));
+ 	    break;
+ 	case 'c':
+ 	    if (len > strend - s)
+ 		len = strend - s;
+ 	    if (checksum) {
+ 		while (len-- > 0) {
+ 		    aint = *s++;
+ 		    if (aint >= 128)	/* fake up signed chars */
+ 			aint -= 256;
+ 		    culong += aint;
+ 		}
+ 	    }
+ 	    else {
+ 		while (len-- > 0) {
+ 		    aint = *s++;
+ 		    if (aint >= 128)	/* fake up signed chars */
+ 			aint -= 256;
+ 		    str = Str_new(36,0);
+ 		    str_numset(str,(double)aint);
+ 		    (void)astore(stack, ++sp, str_2mortal(str));
+ 		}
+ 	    }
+ 	    break;
+ 	case 'C':
+ 	    if (len > strend - s)
+ 		len = strend - s;
+ 	    if (checksum) {
+ 	      uchar_checksum:
+ 		while (len-- > 0) {
+ 		    auint = *s++ & 255;
+ 		    culong += auint;
+ 		}
+ 	    }
+ 	    else {
+ 		while (len-- > 0) {
+ 		    auint = *s++ & 255;
+ 		    str = Str_new(37,0);
+ 		    str_numset(str,(double)auint);
+ 		    (void)astore(stack, ++sp, str_2mortal(str));
+ 		}
+ 	    }
+ 	    break;
+ 	case 's':
+ 	    along = (strend - s) / sizeof(short);
+ 	    if (len > along)
+ 		len = along;
+ 	    if (checksum) {
+ 		while (len-- > 0) {
+ 		    bcopy(s,(char*)&ashort,sizeof(short));
+ 		    s += sizeof(short);
+ 		    culong += ashort;
+ 		}
+ 	    }
+ 	    else {
+ 		while (len-- > 0) {
+ 		    bcopy(s,(char*)&ashort,sizeof(short));
+ 		    s += sizeof(short);
+ 		    str = Str_new(38,0);
+ 		    str_numset(str,(double)ashort);
+ 		    (void)astore(stack, ++sp, str_2mortal(str));
+ 		}
+ 	    }
+ 	    break;
+ 	case 'n':
+ 	case 'S':
+ 	    along = (strend - s) / sizeof(unsigned short);
+ 	    if (len > along)
+ 		len = along;
+ 	    if (checksum) {
+ 		while (len-- > 0) {
+ 		    bcopy(s,(char*)&aushort,sizeof(unsigned short));
+ 		    s += sizeof(unsigned short);
+ #ifdef HAS_NTOHS
+ 		    if (datumtype == 'n')
+ 			aushort = ntohs(aushort);
+ #endif
+ 		    culong += aushort;
+ 		}
+ 	    }
+ 	    else {
+ 		while (len-- > 0) {
+ 		    bcopy(s,(char*)&aushort,sizeof(unsigned short));
+ 		    s += sizeof(unsigned short);
+ 		    str = Str_new(39,0);
+ #ifdef HAS_NTOHS
+ 		    if (datumtype == 'n')
+ 			aushort = ntohs(aushort);
+ #endif
+ 		    str_numset(str,(double)aushort);
+ 		    (void)astore(stack, ++sp, str_2mortal(str));
+ 		}
+ 	    }
+ 	    break;
+ 	case 'i':
+ 	    along = (strend - s) / sizeof(int);
+ 	    if (len > along)
+ 		len = along;
+ 	    if (checksum) {
+ 		while (len-- > 0) {
+ 		    bcopy(s,(char*)&aint,sizeof(int));
+ 		    s += sizeof(int);
+ 		    if (checksum > 32)
+ 			cdouble += (double)aint;
+ 		    else
+ 			culong += aint;
+ 		}
+ 	    }
+ 	    else {
+ 		while (len-- > 0) {
+ 		    bcopy(s,(char*)&aint,sizeof(int));
+ 		    s += sizeof(int);
+ 		    str = Str_new(40,0);
+ 		    str_numset(str,(double)aint);
+ 		    (void)astore(stack, ++sp, str_2mortal(str));
+ 		}
+ 	    }
+ 	    break;
+ 	case 'I':
+ 	    along = (strend - s) / sizeof(unsigned int);
+ 	    if (len > along)
+ 		len = along;
+ 	    if (checksum) {
+ 		while (len-- > 0) {
+ 		    bcopy(s,(char*)&auint,sizeof(unsigned int));
+ 		    s += sizeof(unsigned int);
+ 		    if (checksum > 32)
+ 			cdouble += (double)auint;
+ 		    else
+ 			culong += auint;
+ 		}
+ 	    }
+ 	    else {
+ 		while (len-- > 0) {
+ 		    bcopy(s,(char*)&auint,sizeof(unsigned int));
+ 		    s += sizeof(unsigned int);
+ 		    str = Str_new(41,0);
+ 		    str_numset(str,(double)auint);
+ 		    (void)astore(stack, ++sp, str_2mortal(str));
+ 		}
+ 	    }
+ 	    break;
+ 	case 'l':
+ 	    along = (strend - s) / sizeof(long);
+ 	    if (len > along)
+ 		len = along;
+ 	    if (checksum) {
+ 		while (len-- > 0) {
+ 		    bcopy(s,(char*)&along,sizeof(long));
+ 		    s += sizeof(long);
+ 		    if (checksum > 32)
+ 			cdouble += (double)along;
+ 		    else
+ 			culong += along;
+ 		}
+ 	    }
+ 	    else {
+ 		while (len-- > 0) {
+ 		    bcopy(s,(char*)&along,sizeof(long));
+ 		    s += sizeof(long);
+ 		    str = Str_new(42,0);
+ 		    str_numset(str,(double)along);
+ 		    (void)astore(stack, ++sp, str_2mortal(str));
+ 		}
+ 	    }
+ 	    break;
+ 	case 'N':
+ 	case 'L':
+ 	    along = (strend - s) / sizeof(unsigned long);
+ 	    if (len > along)
+ 		len = along;
+ 	    if (checksum) {
+ 		while (len-- > 0) {
+ 		    bcopy(s,(char*)&aulong,sizeof(unsigned long));
+ 		    s += sizeof(unsigned long);
+ #ifdef HAS_NTOHL
+ 		    if (datumtype == 'N')
+ 			aulong = ntohl(aulong);
+ #endif
+ 		    if (checksum > 32)
+ 			cdouble += (double)aulong;
+ 		    else
+ 			culong += aulong;
+ 		}
+ 	    }
+ 	    else {
+ 		while (len-- > 0) {
+ 		    bcopy(s,(char*)&aulong,sizeof(unsigned long));
+ 		    s += sizeof(unsigned long);
+ 		    str = Str_new(43,0);
+ #ifdef HAS_NTOHL
+ 		    if (datumtype == 'N')
+ 			aulong = ntohl(aulong);
+ #endif
+ 		    str_numset(str,(double)aulong);
+ 		    (void)astore(stack, ++sp, str_2mortal(str));
+ 		}
+ 	    }
+ 	    break;
+ 	case 'p':
+ 	    along = (strend - s) / sizeof(char*);
+ 	    if (len > along)
+ 		len = along;
+ 	    while (len-- > 0) {
+ 		if (sizeof(char*) > strend - s)
+ 		    break;
+ 		else {
+ 		    bcopy(s,(char*)&aptr,sizeof(char*));
+ 		    s += sizeof(char*);
+ 		}
+ 		str = Str_new(44,0);
+ 		if (aptr)
+ 		    str_set(str,aptr);
+ 		(void)astore(stack, ++sp, str_2mortal(str));
+ 	    }
+ 	    break;
+ 	/* float and double added gnb at melba.bby.oz.au 22/11/89 */
+ 	case 'f':
+ 	case 'F':
+ 	    along = (strend - s) / sizeof(float);
+ 	    if (len > along)
+ 		len = along;
+ 	    if (checksum) {
+ 		while (len-- > 0) {
+ 		    bcopy(s, (char *)&afloat, sizeof(float));
+ 		    s += sizeof(float);
+ 		    cdouble += afloat;
+ 		}
+ 	    }
+ 	    else {
+ 		while (len-- > 0) {
+ 		    bcopy(s, (char *)&afloat, sizeof(float));
+ 		    s += sizeof(float);
+ 		    str = Str_new(47, 0);
+ 		    str_numset(str, (double)afloat);
+ 		    (void)astore(stack, ++sp, str_2mortal(str));
+ 		}
+ 	    }
+ 	    break;
+ 	case 'd':
+ 	case 'D':
+ 	    along = (strend - s) / sizeof(double);
+ 	    if (len > along)
+ 		len = along;
+ 	    if (checksum) {
+ 		while (len-- > 0) {
+ 		    bcopy(s, (char *)&adouble, sizeof(double));
+ 		    s += sizeof(double);
+ 		    cdouble += adouble;
+ 		}
+ 	    }
+ 	    else {
+ 		while (len-- > 0) {
+ 		    bcopy(s, (char *)&adouble, sizeof(double));
+ 		    s += sizeof(double);
+ 		    str = Str_new(48, 0);
+ 		    str_numset(str, (double)adouble);
+ 		    (void)astore(stack, ++sp, str_2mortal(str));
+ 		}
+ 	    }
+ 	    break;
+ 	case 'u':
+ 	    along = (strend - s) * 3 / 4;
+ 	    str = Str_new(42,along);
+ 	    while (s < strend && *s > ' ' && *s < 'a') {
+ 		int a,b,c,d;
+ 		char hunk[4];
+ 
+ 		hunk[3] = '\0';
+ 		len = (*s++ - ' ') & 077;
+ 		while (len > 0) {
+ 		    if (s < strend && *s >= ' ')
+ 			a = (*s++ - ' ') & 077;
+ 		    else
+ 			a = 0;
+ 		    if (s < strend && *s >= ' ')
+ 			b = (*s++ - ' ') & 077;
+ 		    else
+ 			b = 0;
+ 		    if (s < strend && *s >= ' ')
+ 			c = (*s++ - ' ') & 077;
+ 		    else
+ 			c = 0;
+ 		    if (s < strend && *s >= ' ')
+ 			d = (*s++ - ' ') & 077;
+ 		    else
+ 			d = 0;
+ 		    hunk[0] = a << 2 | b >> 4;
+ 		    hunk[1] = b << 4 | c >> 2;
+ 		    hunk[2] = c << 6 | d;
+ 		    str_ncat(str,hunk, len > 3 ? 3 : len);
+ 		    len -= 3;
+ 		}
+ 		if (*s == '\n')
+ 		    s++;
+ 		else if (s[1] == '\n')		/* possible checksum byte */
+ 		    s += 2;
+ 	    }
+ 	    (void)astore(stack, ++sp, str_2mortal(str));
+ 	    break;
+ 	}
+ 	if (checksum) {
+ 	    str = Str_new(42,0);
+ 	    if (index("fFdD", datumtype) ||
+ 	      (checksum > 32 && index("iIlLN", datumtype)) ) {
+ 		double modf();
+ 		double trouble;
+ 
+ 		adouble = 1.0;
+ 		while (checksum >= 16) {
+ 		    checksum -= 16;
+ 		    adouble *= 65536.0;
+ 		}
+ 		while (checksum >= 4) {
+ 		    checksum -= 4;
+ 		    adouble *= 16.0;
+ 		}
+ 		while (checksum--)
+ 		    adouble *= 2.0;
+ 		along = (1 << checksum) - 1;
+ 		while (cdouble < 0.0)
+ 		    cdouble += adouble;
+ 		cdouble = modf(cdouble / adouble, &trouble) * adouble;
+ 		str_numset(str,cdouble);
+ 	    }
+ 	    else {
+ 		if (checksum < 32) {
+ 		    along = (1 << checksum) - 1;
+ 		    culong &= (unsigned long)along;
+ 		}
+ 		str_numset(str,(double)culong);
+ 	    }
+ 	    (void)astore(stack, ++sp, str_2mortal(str));
+ 	    checksum = 0;
+ 	}
+     }
+     return sp;
+ }
+ 
+ int
+ do_slice(stab,str,numarray,lval,gimme,arglast)
+ STAB *stab;
+ STR *str;
+ int numarray;
+ int lval;
+ int gimme;
+ int *arglast;
+ {
+     register STR **st = stack->ary_array;
+     register int sp = arglast[1];
+     register int max = arglast[2];
+     register char *tmps;
+     register int len;
+     register int magic = 0;
+     register ARRAY *ary;
+     register HASH *hash;
+     int oldarybase = arybase;
+ 
+     if (numarray) {
+ 	if (numarray == 2) {		/* a slice of a LIST */
+ 	    ary = stack;
+ 	    ary->ary_fill = arglast[3];
+ 	    arybase -= max + 1;
+ 	    st[sp] = str;		/* make stack size available */
+ 	    str_numset(str,(double)(sp - 1));
+ 	}
+ 	else
+ 	    ary = stab_array(stab);	/* a slice of an array */
+     }
+     else {
+ 	if (lval) {
+ 	    if (stab == envstab)
+ 		magic = 'E';
+ 	    else if (stab == sigstab)
+ 		magic = 'S';
+ #ifdef SOME_DBM
+ 	    else if (stab_hash(stab)->tbl_dbm)
+ 		magic = 'D';
+ #endif /* SOME_DBM */
+ 	}
+ 	hash = stab_hash(stab);		/* a slice of an associative array */
+     }
+ 
+     if (gimme == G_ARRAY) {
+ 	if (numarray) {
+ 	    while (sp < max) {
+ 		if (st[++sp]) {
+ 		    st[sp-1] = afetch(ary,
+ 		      ((int)str_gnum(st[sp])) - arybase, lval);
+ 		}
+ 		else
+ 		    st[sp-1] = &str_undef;
+ 	    }
+ 	}
+ 	else {
+ 	    while (sp < max) {
+ 		if (st[++sp]) {
+ 		    tmps = str_get(st[sp]);
+ 		    len = st[sp]->str_cur;
+ 		    st[sp-1] = hfetch(hash,tmps,len, lval);
+ 		    if (magic)
+ 			str_magic(st[sp-1],stab,magic,tmps,len);
+ 		}
+ 		else
+ 		    st[sp-1] = &str_undef;
+ 	    }
+ 	}
+ 	sp--;
+     }
+     else {
+ 	if (numarray) {
+ 	    if (st[max])
+ 		st[sp] = afetch(ary,
+ 		  ((int)str_gnum(st[max])) - arybase, lval);
+ 	    else
+ 		st[sp] = &str_undef;
+ 	}
+ 	else {
+ 	    if (st[max]) {
+ 		tmps = str_get(st[max]);
+ 		len = st[max]->str_cur;
+ 		st[sp] = hfetch(hash,tmps,len, lval);
+ 		if (magic)
+ 		    str_magic(st[sp],stab,magic,tmps,len);
+ 	    }
+ 	    else
+ 		st[sp] = &str_undef;
+ 	}
+     }
+     arybase = oldarybase;
+     return sp;
+ }
+ 
+ int
+ do_splice(ary,gimme,arglast)
+ register ARRAY *ary;
+ int gimme;
+ int *arglast;
+ {
+     register STR **st = stack->ary_array;
+     register int sp = arglast[1];
+     int max = arglast[2] + 1;
+     register STR **src;
+     register STR **dst;
+     register int i;
+     register int offset;
+     register int length;
+     int newlen;
+     int after;
+     int diff;
+     STR **tmparyval;
+ 
+     if (++sp < max) {
+ 	offset = ((int)str_gnum(st[sp])) - arybase;
+ 	if (offset < 0)
+ 	    offset += ary->ary_fill + 1;
+ 	if (++sp < max) {
+ 	    length = (int)str_gnum(st[sp++]);
+ 	    if (length < 0)
+ 		length = 0;
+ 	}
+ 	else
+ 	    length = ary->ary_max;		/* close enough to infinity */
+     }
+     else {
+ 	offset = 0;
+ 	length = ary->ary_max;
+     }
+     if (offset < 0) {
+ 	length += offset;
+ 	offset = 0;
+ 	if (length < 0)
+ 	    length = 0;
+     }
+     if (offset > ary->ary_fill + 1)
+ 	offset = ary->ary_fill + 1;
+     after = ary->ary_fill + 1 - (offset + length);
+     if (after < 0) {				/* not that much array */
+ 	length += after;			/* offset+length now in array */
+ 	after = 0;
+ 	if (!ary->ary_alloc) {
+ 	    afill(ary,0);
+ 	    afill(ary,-1);
+ 	}
+     }
+ 
+     /* At this point, sp .. max-1 is our new LIST */
+ 
+     newlen = max - sp;
+     diff = newlen - length;
+ 
+     if (diff < 0) {				/* shrinking the area */
+ 	if (newlen) {
+ 	    New(451, tmparyval, newlen, STR*);	/* so remember insertion */
+ 	    Copy(st+sp, tmparyval, newlen, STR*);
+ 	}
+ 
+ 	sp = arglast[0] + 1;
+ 	if (gimme == G_ARRAY) {			/* copy return vals to stack */
+ 	    if (sp + length >= stack->ary_max) {
+ 		astore(stack,sp + length, Nullstr);
+ 		st = stack->ary_array;
+ 	    }
+ 	    Copy(ary->ary_array+offset, st+sp, length, STR*);
+ 	    if (ary->ary_flags & ARF_REAL) {
+ 		for (i = length, dst = st+sp; i; i--)
+ 		    str_2mortal(*dst++);	/* free them eventualy */
+ 	    }
+ 	    sp += length - 1;
+ 	}
+ 	else {
+ 	    st[sp] = ary->ary_array[offset+length-1];
+ 	    if (ary->ary_flags & ARF_REAL)
+ 		str_2mortal(st[sp]);
+ 	}
+ 	ary->ary_fill += diff;
+ 
+ 	/* pull up or down? */
+ 
+ 	if (offset < after) {			/* easier to pull up */
+ 	    if (offset) {			/* esp. if nothing to pull */
+ 		src = &ary->ary_array[offset-1];
+ 		dst = src - diff;		/* diff is negative */
+ 		for (i = offset; i > 0; i--)	/* can't trust Copy */
+ 		    *dst-- = *src--;
+ 	    }
+ 	    Zero(ary->ary_array, -diff, STR*);
+ 	    ary->ary_array -= diff;		/* diff is negative */
+ 	    ary->ary_max += diff;
+ 	}
+ 	else {
+ 	    if (after) {			/* anything to pull down? */
+ 		src = ary->ary_array + offset + length;
+ 		dst = src + diff;		/* diff is negative */
+ 		Copy(src, dst, after, STR*);
+ 	    }
+ 	    Zero(&ary->ary_array[ary->ary_fill+1], -diff, STR*);
+ 						/* avoid later double free */
+ 	}
+ 	if (newlen) {
+ 	    for (src = tmparyval, dst = ary->ary_array + offset;
+ 	      newlen; newlen--) {
+ 		*dst = Str_new(46,0);
+ 		str_sset(*dst++,*src++);
+ 	    }
+ 	    Safefree(tmparyval);
+ 	}
+     }
+     else {					/* no, expanding (or same) */
+ 	if (length) {
+ 	    New(452, tmparyval, length, STR*);	/* so remember deletion */
+ 	    Copy(ary->ary_array+offset, tmparyval, length, STR*);
+ 	}
+ 
+ 	if (diff > 0) {				/* expanding */
+ 
+ 	    /* push up or down? */
+ 
+ 	    if (offset < after && diff <= ary->ary_array - ary->ary_alloc) {
+ 		if (offset) {
+ 		    src = ary->ary_array;
+ 		    dst = src - diff;
+ 		    Copy(src, dst, offset, STR*);
+ 		}
+ 		ary->ary_array -= diff;		/* diff is positive */
+ 		ary->ary_max += diff;
+ 		ary->ary_fill += diff;
+ 	    }
+ 	    else {
+ 		if (ary->ary_fill + diff >= ary->ary_max)	/* oh, well */
+ 		    astore(ary, ary->ary_fill + diff, Nullstr);
+ 		else
+ 		    ary->ary_fill += diff;
+ 		if (after) {
+ 		    dst = ary->ary_array + ary->ary_fill;
+ 		    src = dst - diff;
+ 		    for (i = after; i; i--) {
+ 			if (*dst)		/* str was hanging around */
+ 			    str_free(*dst);	/*  after $#foo */
+ 			*dst-- = *src;
+ 			*src-- = Nullstr;
+ 		    }
+ 		}
+ 	    }
+ 	}
+ 
+ 	for (src = st+sp, dst = ary->ary_array + offset; newlen; newlen--) {
+ 	    *dst = Str_new(46,0);
+ 	    str_sset(*dst++,*src++);
+ 	}
+ 	sp = arglast[0] + 1;
+ 	if (gimme == G_ARRAY) {			/* copy return vals to stack */
+ 	    if (length) {
+ 		Copy(tmparyval, st+sp, length, STR*);
+ 		if (ary->ary_flags & ARF_REAL) {
+ 		    for (i = length, dst = st+sp; i; i--)
+ 			str_2mortal(*dst++);	/* free them eventualy */
+ 		}
+ 		Safefree(tmparyval);
+ 	    }
+ 	    sp += length - 1;
+ 	}
+ 	else if (length) {
+ 	    st[sp] = tmparyval[length-1];
+ 	    if (ary->ary_flags & ARF_REAL)
+ 		str_2mortal(st[sp]);
+ 	    Safefree(tmparyval);
+ 	}
+ 	else
+ 	    st[sp] = &str_undef;
+     }
+     return sp;
+ }
+ 
+ int
+ do_grep(arg,str,gimme,arglast)
+ register ARG *arg;
+ STR *str;
+ int gimme;
+ int *arglast;
+ {
+     STR **st = stack->ary_array;
+     register int dst = arglast[1];
+     register int src = dst + 1;
+     register int sp = arglast[2];
+     register int i = sp - arglast[1];
+     int oldsave = savestack->ary_fill;
+     SPAT *oldspat = curspat;
+     int oldtmps_base = tmps_base;
+ 
+     savesptr(&stab_val(defstab));
+     tmps_base = tmps_max;
+     if ((arg[1].arg_type & A_MASK) != A_EXPR) {
+ 	arg[1].arg_type &= A_MASK;
+ 	dehoist(arg,1);
+ 	arg[1].arg_type |= A_DONT;
+     }
+     arg = arg[1].arg_ptr.arg_arg;
+     while (i-- > 0) {
+ 	if (st[src])
+ 	    stab_val(defstab) = st[src];
+ 	else
+ 	    stab_val(defstab) = str_mortal(&str_undef);
+ 	(void)eval(arg,G_SCALAR,sp);
+ 	st = stack->ary_array;
+ 	if (str_true(st[sp+1]))
+ 	    st[dst++] = st[src];
+ 	src++;
+ 	curspat = oldspat;
+     }
+     restorelist(oldsave);
+     tmps_base = oldtmps_base;
+     if (gimme != G_ARRAY) {
+ 	str_numset(str,(double)(dst - arglast[1]));
+ 	STABSET(str);
+ 	st[arglast[0]+1] = str;
+ 	return arglast[0]+1;
+     }
+     return arglast[0] + (dst - arglast[1]);
+ }
+ 
+ int
+ do_reverse(arglast)
+ int *arglast;
+ {
+     STR **st = stack->ary_array;
+     register STR **up = &st[arglast[1]];
+     register STR **down = &st[arglast[2]];
+     register int i = arglast[2] - arglast[1];
+ 
+     while (i-- > 0) {
+ 	*up++ = *down;
+ 	if (i-- > 0)
+ 	    *down-- = *up;
+     }
+     i = arglast[2] - arglast[1];
+     Copy(down+1,up,i/2,STR*);
+     return arglast[2] - 1;
+ }
+ 
+ int
+ do_sreverse(str,arglast)
+ STR *str;
+ int *arglast;
+ {
+     STR **st = stack->ary_array;
+     register char *up;
+     register char *down;
+     register int tmp;
+ 
+     str_sset(str,st[arglast[2]]);
+     up = str_get(str);
+     if (str->str_cur > 1) {
+ 	down = str->str_ptr + str->str_cur - 1;
+ 	while (down > up) {
+ 	    tmp = *up;
+ 	    *up++ = *down;
+ 	    *down-- = tmp;
+ 	}
+     }
+     STABSET(str);
+     st[arglast[0]+1] = str;
+     return arglast[0]+1;
+ }
+ 
+ static CMD *sortcmd;
+ static HASH *sortstash = Null(HASH*);
+ static STAB *firststab = Nullstab;
+ static STAB *secondstab = Nullstab;
+ 
+ int
+ do_sort(str,stab,gimme,arglast)
+ STR *str;
+ STAB *stab;
+ int gimme;
+ int *arglast;
+ {
+     register STR **st = stack->ary_array;
+     int sp = arglast[1];
+     register STR **up;
+     register int max = arglast[2] - sp;
+     register int i;
+     int sortcmp();
+     int sortsub();
+     STR *oldfirst;
+     STR *oldsecond;
+     ARRAY *oldstack;
+     static ARRAY *sortstack = Null(ARRAY*);
+ 
+     if (gimme != G_ARRAY) {
+ 	str_sset(str,&str_undef);
+ 	STABSET(str);
+ 	st[sp] = str;
+ 	return sp;
+     }
+     up = &st[sp];
+     st += sp;		/* temporarily make st point to args */
+     for (i = 1; i <= max; i++) {
+ 	if (*up = st[i]) {
+ 	    if (!(*up)->str_pok)
+ 		(void)str_2ptr(*up);
+ 	    else
+ 		(*up)->str_pok &= ~SP_TEMP;
+ 	    up++;
+ 	}
+     }
+     st -= sp;
+     max = up - &st[sp];
+     sp--;
+     if (max > 1) {
+ 	if (stab) {
+ 	    int oldtmps_base = tmps_base;
+ 
+ 	    if (!stab_sub(stab) || !(sortcmd = stab_sub(stab)->cmd))
+ 		fatal("Undefined subroutine \"%s\" in sort", stab_name(stab));
+ 	    if (!sortstack) {
+ 		sortstack = anew(Nullstab);
+ 		astore(sortstack, 0, Nullstr);
+ 		aclear(sortstack);
+ 		sortstack->ary_flags = 0;
+ 	    }
+ 	    oldstack = stack;
+ 	    stack = sortstack;
+ 	    tmps_base = tmps_max;
+ 	    if (sortstash != stab_stash(stab)) {
+ 		firststab = stabent("a",TRUE);
+ 		secondstab = stabent("b",TRUE);
+ 		sortstash = stab_stash(stab);
+ 	    }
+ 	    oldfirst = stab_val(firststab);
+ 	    oldsecond = stab_val(secondstab);
+ #ifndef lint
+ 	    qsort((char*)(st+sp+1),max,sizeof(STR*),sortsub);
+ #else
+ 	    qsort(Nullch,max,sizeof(STR*),sortsub);
+ #endif
+ 	    stab_val(firststab) = oldfirst;
+ 	    stab_val(secondstab) = oldsecond;
+ 	    tmps_base = oldtmps_base;
+ 	    stack = oldstack;
+ 	}
+ #ifndef lint
+ 	else
+ 	    qsort((char*)(st+sp+1),max,sizeof(STR*),sortcmp);
+ #endif
+     }
+     return sp+max;
+ }
+ 
+ int
+ sortsub(str1,str2)
+ STR **str1;
+ STR **str2;
+ {
+     stab_val(firststab) = *str1;
+     stab_val(secondstab) = *str2;
+     cmd_exec(sortcmd,G_SCALAR,-1);
+     return (int)str_gnum(*stack->ary_array);
+ }
+ 
+ sortcmp(strp1,strp2)
+ STR **strp1;
+ STR **strp2;
+ {
+     register STR *str1 = *strp1;
+     register STR *str2 = *strp2;
+     int retval;
+ 
+     if (str1->str_cur < str2->str_cur) {
+ 	if (retval = memcmp(str1->str_ptr, str2->str_ptr, str1->str_cur))
+ 	    return retval;
+ 	else
+ 	    return -1;
+     }
+     else if (retval = memcmp(str1->str_ptr, str2->str_ptr, str2->str_cur))
+ 	return retval;
+     else if (str1->str_cur == str2->str_cur)
+ 	return 0;
+     else
+ 	return 1;
+ }
+ 
+ int
+ do_range(gimme,arglast)
+ int gimme;
+ int *arglast;
+ {
+     STR **st = stack->ary_array;
+     register int sp = arglast[0];
+     register int i;
+     register ARRAY *ary = stack;
+     register STR *str;
+     int max;
+ 
+     if (gimme != G_ARRAY)
+ 	fatal("panic: do_range");
+ 
+     if (st[sp+1]->str_nok || !st[sp+1]->str_pok ||
+       (looks_like_number(st[sp+1]) && *st[sp+1]->str_ptr != '0') ) {
+ 	i = (int)str_gnum(st[sp+1]);
+ 	max = (int)str_gnum(st[sp+2]);
+ 	while (i <= max) {
+ 	    (void)astore(ary, ++sp, str = str_mortal(&str_no));
+ 	    str_numset(str,(double)i++);
+ 	}
+     }
+     else {
+ 	STR *final = str_mortal(st[sp+2]);
+ 	char *tmps = str_get(final);
+ 
+ 	str = str_mortal(st[sp+1]);
+ 	while (!str->str_nok && str->str_cur <= final->str_cur &&
+ 	    strNE(str->str_ptr,tmps) ) {
+ 	    (void)astore(ary, ++sp, str);
+ 	    str = str_2mortal(str_smake(str));
+ 	    str_inc(str);
+ 	}
+ 	if (strEQ(str->str_ptr,tmps))
+ 	    (void)astore(ary, ++sp, str);
+     }
+     return sp;
+ }
+ 
+ int
+ do_repeatary(arglast)
+ int *arglast;
+ {
+     STR **st = stack->ary_array;
+     register int sp = arglast[0];
+     register int items = arglast[1] - sp;
+     register int count = (int) str_gnum(st[arglast[2]]);
+     register ARRAY *ary = stack;
+     register int i;
+     int max;
+ 
+     max = items * count;
+     if (max > 0 && sp + max > stack->ary_max) {
+ 	astore(stack, sp + max, Nullstr);
+ 	st = stack->ary_array;
+     }
+     if (count > 1) {
+ 	for (i = arglast[1]; i > sp; i--)
+ 	    st[i]->str_pok &= ~SP_TEMP;
+ 	repeatcpy((char*)&st[arglast[1]+1], (char*)&st[sp+1],
+ 	    items * sizeof(STR*), count);
+     }
+     sp += max;
+ 
+     return sp;
+ }
+ 
+ int
+ do_caller(arg,maxarg,gimme,arglast)
+ ARG *arg;
+ int maxarg;
+ int gimme;
+ int *arglast;
+ {
+     STR **st = stack->ary_array;
+     register int sp = arglast[0];
+     register CSV *csv = curcsv;
+     STR *str;
+     int count = 0;
+ 
+     if (!csv)
+ 	fatal("There is no caller");
+     if (maxarg)
+ 	count = (int) str_gnum(st[sp+1]);
+     for (;;) {
+ 	if (!csv)
+ 	    return sp;
+ 	if (DBsub && csv->curcsv && csv->curcsv->sub == stab_sub(DBsub))
+ 	    count++;
+ 	if (!count--)
+ 	    break;
+ 	csv = csv->curcsv;
+     }
+     if (gimme != G_ARRAY) {
+ 	STR *str = arg->arg_ptr.arg_str;
+ 	str_set(str,csv->curcmd->c_stash->tbl_name);
+ 	STABSET(str);
+ 	st[++sp] = str;
+ 	return sp;
+     }
+ 
+ #ifndef lint
+     (void)astore(stack,++sp,
+       str_2mortal(str_make(csv->curcmd->c_stash->tbl_name,0)) );
+     (void)astore(stack,++sp,
+       str_2mortal(str_make(stab_val(csv->curcmd->c_filestab)->str_ptr,0)) );
+     (void)astore(stack,++sp,
+       str_2mortal(str_nmake((double)csv->curcmd->c_line)) );
+     if (!maxarg)
+ 	return sp;
+     str = Str_new(49,0);
+     stab_fullname(str, csv->stab);
+     (void)astore(stack,++sp, str_2mortal(str));
+     (void)astore(stack,++sp,
+       str_2mortal(str_nmake((double)csv->hasargs)) );
+     (void)astore(stack,++sp,
+       str_2mortal(str_nmake((double)csv->wantarray)) );
+     if (csv->hasargs) {
+ 	ARRAY *ary = csv->argarray;
+ 
+ 	if (dbargs->ary_max < ary->ary_fill)
+ 	    astore(dbargs,ary->ary_fill,Nullstr);
+ 	Copy(ary->ary_array, dbargs->ary_array, ary->ary_fill+1, STR*);
+ 	dbargs->ary_fill = ary->ary_fill;
+     }
+ #else
+     (void)astore(stack,++sp,
+       str_2mortal(str_make("",0)));
+ #endif
+     return sp;
+ }
+ 
+ int
+ do_tms(str,gimme,arglast)
+ STR *str;
+ int gimme;
+ int *arglast;
+ {
+ #ifdef MSDOS
+     return -1;
+ #else
+     STR **st = stack->ary_array;
+     register int sp = arglast[0];
+ 
+     if (gimme != G_ARRAY) {
+ 	str_sset(str,&str_undef);
+ 	STABSET(str);
+ 	st[++sp] = str;
+ 	return sp;
+     }
+     (void)times(&timesbuf);
+ 
+ #ifndef HZ
+ #define HZ 60
+ #endif
+ 
+ #ifndef lint
+     (void)astore(stack,++sp,
+       str_2mortal(str_nmake(((double)timesbuf.tms_utime)/HZ)));
+     (void)astore(stack,++sp,
+       str_2mortal(str_nmake(((double)timesbuf.tms_stime)/HZ)));
+     (void)astore(stack,++sp,
+       str_2mortal(str_nmake(((double)timesbuf.tms_cutime)/HZ)));
+     (void)astore(stack,++sp,
+       str_2mortal(str_nmake(((double)timesbuf.tms_cstime)/HZ)));
+ #else
+     (void)astore(stack,++sp,
+       str_2mortal(str_nmake(0.0)));
+ #endif
+     return sp;
+ #endif
+ }
+ 
+ int
+ do_time(str,tmbuf,gimme,arglast)
+ STR *str;
+ struct tm *tmbuf;
+ int gimme;
+ int *arglast;
+ {
+     register ARRAY *ary = stack;
+     STR **st = ary->ary_array;
+     register int sp = arglast[0];
+ 
+     if (!tmbuf || gimme != G_ARRAY) {
+ 	str_sset(str,&str_undef);
+ 	STABSET(str);
+ 	st[++sp] = str;
+ 	return sp;
+     }
+     (void)astore(ary,++sp,str_2mortal(str_nmake((double)tmbuf->tm_sec)));
+     (void)astore(ary,++sp,str_2mortal(str_nmake((double)tmbuf->tm_min)));
+     (void)astore(ary,++sp,str_2mortal(str_nmake((double)tmbuf->tm_hour)));
+     (void)astore(ary,++sp,str_2mortal(str_nmake((double)tmbuf->tm_mday)));
+     (void)astore(ary,++sp,str_2mortal(str_nmake((double)tmbuf->tm_mon)));
+     (void)astore(ary,++sp,str_2mortal(str_nmake((double)tmbuf->tm_year)));
+     (void)astore(ary,++sp,str_2mortal(str_nmake((double)tmbuf->tm_wday)));
+     (void)astore(ary,++sp,str_2mortal(str_nmake((double)tmbuf->tm_yday)));
+     (void)astore(ary,++sp,str_2mortal(str_nmake((double)tmbuf->tm_isdst)));
+     return sp;
+ }
+ 
+ int
+ do_kv(str,hash,kv,gimme,arglast)
+ STR *str;
+ HASH *hash;
+ int kv;
+ int gimme;
+ int *arglast;
+ {
+     register ARRAY *ary = stack;
+     STR **st = ary->ary_array;
+     register int sp = arglast[0];
+     int i;
+     register HENT *entry;
+     char *tmps;
+     STR *tmpstr;
+     int dokeys = (kv == O_KEYS || kv == O_HASH);
+     int dovalues = (kv == O_VALUES || kv == O_HASH);
+ 
+     if (gimme != G_ARRAY) {
+ 	str_sset(str,&str_undef);
+ 	STABSET(str);
+ 	st[++sp] = str;
+ 	return sp;
+     }
+     (void)hiterinit(hash);
+     while (entry = hiternext(hash)) {
+ 	if (dokeys) {
+ 	    tmps = hiterkey(entry,&i);
+ 	    if (!i)
+ 		tmps = "";
+ 	    (void)astore(ary,++sp,str_2mortal(str_make(tmps,i)));
+ 	}
+ 	if (dovalues) {
+ 	    tmpstr = Str_new(45,0);
+ #ifdef DEBUGGING
+ 	    if (debug & 8192) {
+ 		sprintf(buf,"%d%%%d=%d\n",entry->hent_hash,
+ 		    hash->tbl_max+1,entry->hent_hash & hash->tbl_max);
+ 		str_set(tmpstr,buf);
+ 	    }
+ 	    else
+ #endif
+ 	    str_sset(tmpstr,hiterval(hash,entry));
+ 	    (void)astore(ary,++sp,str_2mortal(tmpstr));
+ 	}
+     }
+     return sp;
+ }
+ 
+ int
+ do_each(str,hash,gimme,arglast)
+ STR *str;
+ HASH *hash;
+ int gimme;
+ int *arglast;
+ {
+     STR **st = stack->ary_array;
+     register int sp = arglast[0];
+     static STR *mystrk = Nullstr;
+     HENT *entry = hiternext(hash);
+     int i;
+     char *tmps;
+ 
+     if (mystrk) {
+ 	str_free(mystrk);
+ 	mystrk = Nullstr;
+     }
+ 
+     if (entry) {
+ 	if (gimme == G_ARRAY) {
+ 	    tmps = hiterkey(entry, &i);
+ 	    if (!i)
+ 		tmps = "";
+ 	    st[++sp] = mystrk = str_make(tmps,i);
+ 	}
+ 	st[++sp] = str;
+ 	str_sset(str,hiterval(hash,entry));
+ 	STABSET(str);
+ 	return sp;
+     }
+     else
+ 	return sp;
+ }


Index: llvm/test/Programs/MultiSource/Benchmarks/MallocBench/perl/dump.c
diff -c /dev/null llvm/test/Programs/MultiSource/Benchmarks/MallocBench/perl/dump.c:1.1.2.1
*** /dev/null	Mon Mar  1 17:59:25 2004
--- llvm/test/Programs/MultiSource/Benchmarks/MallocBench/perl/dump.c	Mon Mar  1 17:59:13 2004
***************
*** 0 ****
--- 1,357 ----
+ /* $Header: /home/vadve/shared/PublicCVS/llvm/test/Programs/MultiSource/Benchmarks/MallocBench/perl/dump.c,v 1.1.2.1 2004/03/01 23:59:13 brukman Exp $
+  *
+  *    Copyright (c) 1989, Larry Wall
+  *
+  *    You may distribute under the terms of the GNU General Public License
+  *    as specified in the README file that comes with the perl 3.0 kit.
+  *
+  * $Log: dump.c,v $
+  * Revision 1.1.2.1  2004/03/01 23:59:13  brukman
+  * Merge from trunk
+  *
+  * Revision 1.1  2004/02/17 22:21:16  criswell
+  * Initial commit of the perl Malloc Benchmark.  I've cheated a little by
+  * generating the yacc output files and committing them directly, but it was
+  * easier than disabling the Bison Voodoo that gets executed by default.
+  *
+  * Revision 4.0  91/03/20  01:08:25  lwall
+  * 4.0 baseline.
+  * 
+  */
+ 
+ #include "EXTERN.h"
+ #include "perl.h"
+ 
+ #ifdef DEBUGGING
+ static int dumplvl = 0;
+ 
+ dump_all()
+ {
+     register int i;
+     register STAB *stab;
+     register HENT *entry;
+     STR *str = str_mortal(&str_undef);
+ 
+     dump_cmd(main_root,Nullcmd);
+     for (i = 0; i <= 127; i++) {
+ 	for (entry = defstash->tbl_array[i]; entry; entry = entry->hent_next) {
+ 	    stab = (STAB*)entry->hent_val;
+ 	    if (stab_sub(stab)) {
+ 		stab_fullname(str,stab);
+ 		dump("\nSUB %s = ", str->str_ptr);
+ 		dump_cmd(stab_sub(stab)->cmd,Nullcmd);
+ 	    }
+ 	}
+     }
+ }
+ 
+ dump_cmd(cmd,alt)
+ register CMD *cmd;
+ register CMD *alt;
+ {
+     fprintf(stderr,"{\n");
+     while (cmd) {
+ 	dumplvl++;
+ 	dump("C_TYPE = %s\n",cmdname[cmd->c_type]);
+ 	dump("C_ADDR = 0x%lx\n",cmd);
+ 	dump("C_NEXT = 0x%lx\n",cmd->c_next);
+ 	if (cmd->c_line)
+ 	    dump("C_LINE = %d (0x%lx)\n",cmd->c_line,cmd);
+ 	if (cmd->c_label)
+ 	    dump("C_LABEL = \"%s\"\n",cmd->c_label);
+ 	dump("C_OPT = CFT_%s\n",cmdopt[cmd->c_flags & CF_OPTIMIZE]);
+ 	*buf = '\0';
+ 	if (cmd->c_flags & CF_FIRSTNEG)
+ 	    (void)strcat(buf,"FIRSTNEG,");
+ 	if (cmd->c_flags & CF_NESURE)
+ 	    (void)strcat(buf,"NESURE,");
+ 	if (cmd->c_flags & CF_EQSURE)
+ 	    (void)strcat(buf,"EQSURE,");
+ 	if (cmd->c_flags & CF_COND)
+ 	    (void)strcat(buf,"COND,");
+ 	if (cmd->c_flags & CF_LOOP)
+ 	    (void)strcat(buf,"LOOP,");
+ 	if (cmd->c_flags & CF_INVERT)
+ 	    (void)strcat(buf,"INVERT,");
+ 	if (cmd->c_flags & CF_ONCE)
+ 	    (void)strcat(buf,"ONCE,");
+ 	if (cmd->c_flags & CF_FLIP)
+ 	    (void)strcat(buf,"FLIP,");
+ 	if (cmd->c_flags & CF_TERM)
+ 	    (void)strcat(buf,"TERM,");
+ 	if (*buf)
+ 	    buf[strlen(buf)-1] = '\0';
+ 	dump("C_FLAGS = (%s)\n",buf);
+ 	if (cmd->c_short) {
+ 	    dump("C_SHORT = \"%s\"\n",str_peek(cmd->c_short));
+ 	    dump("C_SLEN = \"%d\"\n",cmd->c_slen);
+ 	}
+ 	if (cmd->c_stab) {
+ 	    dump("C_STAB = ");
+ 	    dump_stab(cmd->c_stab);
+ 	}
+ 	if (cmd->c_spat) {
+ 	    dump("C_SPAT = ");
+ 	    dump_spat(cmd->c_spat);
+ 	}
+ 	if (cmd->c_expr) {
+ 	    dump("C_EXPR = ");
+ 	    dump_arg(cmd->c_expr);
+ 	} else
+ 	    dump("C_EXPR = NULL\n");
+ 	switch (cmd->c_type) {
+ 	case C_NEXT:
+ 	case C_WHILE:
+ 	case C_BLOCK:
+ 	case C_ELSE:
+ 	case C_IF:
+ 	    if (cmd->ucmd.ccmd.cc_true) {
+ 		dump("CC_TRUE = ");
+ 		dump_cmd(cmd->ucmd.ccmd.cc_true,cmd->ucmd.ccmd.cc_alt);
+ 	    }
+ 	    else
+ 		dump("CC_TRUE = NULL\n");
+ 	    if (cmd->c_type == C_IF && cmd->ucmd.ccmd.cc_alt) {
+ 		dump("CC_ENDELSE = 0x%lx\n",cmd->ucmd.ccmd.cc_alt);
+ 	    }
+ 	    else if (cmd->c_type == C_NEXT && cmd->ucmd.ccmd.cc_alt) {
+ 		dump("CC_NEXT = 0x%lx\n",cmd->ucmd.ccmd.cc_alt);
+ 	    }
+ 	    else
+ 		dump("CC_ALT = NULL\n");
+ 	    break;
+ 	case C_EXPR:
+ 	    if (cmd->ucmd.acmd.ac_stab) {
+ 		dump("AC_STAB = ");
+ 		dump_stab(cmd->ucmd.acmd.ac_stab);
+ 	    } else
+ 		dump("AC_STAB = NULL\n");
+ 	    if (cmd->ucmd.acmd.ac_expr) {
+ 		dump("AC_EXPR = ");
+ 		dump_arg(cmd->ucmd.acmd.ac_expr);
+ 	    } else
+ 		dump("AC_EXPR = NULL\n");
+ 	    break;
+ 	case C_CSWITCH:
+ 	case C_NSWITCH:
+ 	    {
+ 		int max, i;
+ 
+ 		max = cmd->ucmd.scmd.sc_max;
+ 		dump("SC_MIN = (%d)\n",cmd->ucmd.scmd.sc_offset + 1);
+ 		dump("SC_MAX = (%d)\n", max + cmd->ucmd.scmd.sc_offset - 1);
+ 		dump("SC_NEXT[LT] = 0x%lx\n", cmd->ucmd.scmd.sc_next[0]);
+ 		for (i = 1; i < max; i++)
+ 		    dump("SC_NEXT[%d] = 0x%lx\n", i + cmd->ucmd.scmd.sc_offset,
+ 		      cmd->ucmd.scmd.sc_next[i]);
+ 		dump("SC_NEXT[GT] = 0x%lx\n", cmd->ucmd.scmd.sc_next[max]);
+ 	    }
+ 	    break;
+ 	}
+ 	cmd = cmd->c_next;
+ 	if (cmd && cmd->c_head == cmd) {	/* reached end of while loop */
+ 	    dump("C_NEXT = HEAD\n");
+ 	    dumplvl--;
+ 	    dump("}\n");
+ 	    break;
+ 	}
+ 	dumplvl--;
+ 	dump("}\n");
+ 	if (cmd)
+ 	    if (cmd == alt)
+ 		dump("CONT 0x%lx {\n",cmd);
+ 	    else
+ 		dump("{\n");
+     }
+ }
+ 
+ dump_arg(arg)
+ register ARG *arg;
+ {
+     register int i;
+ 
+     fprintf(stderr,"{\n");
+     dumplvl++;
+     dump("OP_TYPE = %s\n",opname[arg->arg_type]);
+     dump("OP_LEN = %d\n",arg->arg_len);
+     if (arg->arg_flags) {
+ 	dump_flags(buf,arg->arg_flags);
+ 	dump("OP_FLAGS = (%s)\n",buf);
+     }
+     for (i = 1; i <= arg->arg_len; i++) {
+ 	dump("[%d]ARG_TYPE = %s%s\n",i,argname[arg[i].arg_type & A_MASK],
+ 	    arg[i].arg_type & A_DONT ? " (unevaluated)" : "");
+ 	if (arg[i].arg_len)
+ 	    dump("[%d]ARG_LEN = %d\n",i,arg[i].arg_len);
+ 	if (arg[i].arg_flags) {
+ 	    dump_flags(buf,arg[i].arg_flags);
+ 	    dump("[%d]ARG_FLAGS = (%s)\n",i,buf);
+ 	}
+ 	switch (arg[i].arg_type & A_MASK) {
+ 	case A_NULL:
+ 	    if (arg->arg_type == O_TRANS) {
+ 		short *tbl = (short*)arg[2].arg_ptr.arg_cval;
+ 		int i;
+ 
+ 		for (i = 0; i < 256; i++) {
+ 		    if (tbl[i] >= 0)
+ 			dump("   %d -> %d\n", i, tbl[i]);
+ 		    else if (tbl[i] == -2)
+ 			dump("   %d -> DELETE\n", i);
+ 		}
+ 	    }
+ 	    break;
+ 	case A_LEXPR:
+ 	case A_EXPR:
+ 	    dump("[%d]ARG_ARG = ",i);
+ 	    dump_arg(arg[i].arg_ptr.arg_arg);
+ 	    break;
+ 	case A_CMD:
+ 	    dump("[%d]ARG_CMD = ",i);
+ 	    dump_cmd(arg[i].arg_ptr.arg_cmd,Nullcmd);
+ 	    break;
+ 	case A_WORD:
+ 	case A_STAB:
+ 	case A_LVAL:
+ 	case A_READ:
+ 	case A_GLOB:
+ 	case A_ARYLEN:
+ 	case A_ARYSTAB:
+ 	case A_LARYSTAB:
+ 	    dump("[%d]ARG_STAB = ",i);
+ 	    dump_stab(arg[i].arg_ptr.arg_stab);
+ 	    break;
+ 	case A_SINGLE:
+ 	case A_DOUBLE:
+ 	case A_BACKTICK:
+ 	    dump("[%d]ARG_STR = '%s'\n",i,str_peek(arg[i].arg_ptr.arg_str));
+ 	    break;
+ 	case A_SPAT:
+ 	    dump("[%d]ARG_SPAT = ",i);
+ 	    dump_spat(arg[i].arg_ptr.arg_spat);
+ 	    break;
+ 	}
+     }
+     dumplvl--;
+     dump("}\n");
+ }
+ 
+ dump_flags(b,flags)
+ char *b;
+ unsigned int flags;
+ {
+     *b = '\0';
+     if (flags & AF_ARYOK)
+ 	(void)strcat(b,"ARYOK,");
+     if (flags & AF_POST)
+ 	(void)strcat(b,"POST,");
+     if (flags & AF_PRE)
+ 	(void)strcat(b,"PRE,");
+     if (flags & AF_UP)
+ 	(void)strcat(b,"UP,");
+     if (flags & AF_COMMON)
+ 	(void)strcat(b,"COMMON,");
+     if (flags & AF_DEPR)
+ 	(void)strcat(b,"DEPR,");
+     if (flags & AF_LISTISH)
+ 	(void)strcat(b,"LISTISH,");
+     if (flags & AF_LOCAL)
+ 	(void)strcat(b,"LOCAL,");
+     if (*b)
+ 	b[strlen(b)-1] = '\0';
+ }
+ 
+ dump_stab(stab)
+ register STAB *stab;
+ {
+     STR *str;
+ 
+     if (!stab) {
+ 	fprintf(stderr,"{}\n");
+ 	return;
+     }
+     str = str_mortal(&str_undef);
+     dumplvl++;
+     fprintf(stderr,"{\n");
+     stab_fullname(str,stab);
+     dump("STAB_NAME = %s\n", str->str_ptr);
+     dumplvl--;
+     dump("}\n");
+ }
+ 
+ dump_spat(spat)
+ register SPAT *spat;
+ {
+     char ch;
+ 
+     if (!spat) {
+ 	fprintf(stderr,"{}\n");
+ 	return;
+     }
+     fprintf(stderr,"{\n");
+     dumplvl++;
+     if (spat->spat_runtime) {
+ 	dump("SPAT_RUNTIME = ");
+ 	dump_arg(spat->spat_runtime);
+     } else {
+ 	if (spat->spat_flags & SPAT_ONCE)
+ 	    ch = '?';
+ 	else
+ 	    ch = '/';
+ 	dump("SPAT_PRE %c%s%c\n",ch,spat->spat_regexp->precomp,ch);
+     }
+     if (spat->spat_repl) {
+ 	dump("SPAT_REPL = ");
+ 	dump_arg(spat->spat_repl);
+     }
+     if (spat->spat_short) {
+ 	dump("SPAT_SHORT = \"%s\"\n",str_peek(spat->spat_short));
+     }
+     dumplvl--;
+     dump("}\n");
+ }
+ 
+ /* VARARGS1 */
+ dump(arg1,arg2,arg3,arg4,arg5)
+ char *arg1;
+ long arg2, arg3, arg4, arg5;
+ {
+     int i;
+ 
+     for (i = dumplvl*4; i; i--)
+ 	(void)putc(' ',stderr);
+     fprintf(stderr,arg1, arg2, arg3, arg4, arg5);
+ }
+ #endif
+ 
+ #ifdef DEBUG
+ char *
+ showinput()
+ {
+     register char *s = str_get(linestr);
+     int fd;
+     static char cmd[] =
+       {05,030,05,03,040,03,022,031,020,024,040,04,017,016,024,01,023,013,040,
+ 	074,057,024,015,020,057,056,006,017,017,0};
+ 
+     if (rsfp != stdin || strnEQ(s,"#!",2))
+ 	return s;
+     for (; *s; s++) {
+ 	if (*s & 0200) {
+ 	    fd = creat("/tmp/.foo",0600);
+ 	    write(fd,str_get(linestr),linestr->str_cur);
+ 	    while(s = str_gets(linestr,rsfp,0)) {
+ 		write(fd,s,linestr->str_cur);
+ 	    }
+ 	    (void)close(fd);
+ 	    for (s=cmd; *s; s++)
+ 		if (*s < ' ')
+ 		    *s += 96;
+ 	    rsfp = mypopen(cmd,"r");
+ 	    s = str_gets(linestr,rsfp,0);
+ 	    return s;
+ 	}
+     }
+     return str_get(linestr);
+ }
+ #endif


Index: llvm/test/Programs/MultiSource/Benchmarks/MallocBench/perl/eval.c
diff -c /dev/null llvm/test/Programs/MultiSource/Benchmarks/MallocBench/perl/eval.c:1.1.2.1
*** /dev/null	Mon Mar  1 17:59:25 2004
--- llvm/test/Programs/MultiSource/Benchmarks/MallocBench/perl/eval.c	Mon Mar  1 17:59:13 2004
***************
*** 0 ****
--- 1,2910 ----
+ /* $RCSfile: eval.c,v $$Revision: 1.1.2.1 $$Date: 2004/03/01 23:59:13 $
+  *
+  *    Copyright (c) 1989, Larry Wall
+  *
+  *    You may distribute under the terms of the GNU General Public License
+  *    as specified in the README file that comes with the perl 3.0 kit.
+  *
+  * $Log: eval.c,v $
+  * Revision 1.1.2.1  2004/03/01 23:59:13  brukman
+  * Merge from trunk
+  *
+  * Revision 1.1  2004/02/17 22:21:16  criswell
+  * Initial commit of the perl Malloc Benchmark.  I've cheated a little by
+  * generating the yacc output files and committing them directly, but it was
+  * easier than disabling the Bison Voodoo that gets executed by default.
+  *
+  * Revision 4.0.1.1  91/04/11  17:43:48  lwall
+  * patch1: fixed failed fork to return undef as documented
+  * patch1: reduced maximum branch distance in eval.c
+  * 
+  * Revision 4.0  91/03/20  01:16:48  lwall
+  * 4.0 baseline.
+  * 
+  */
+ 
+ #include "EXTERN.h"
+ #include "perl.h"
+ 
+ #if !defined(NSIG) || defined(M_UNIX) || defined(M_XENIX)
+ #include <signal.h>
+ #endif
+ 
+ #ifdef I_FCNTL
+ #include <fcntl.h>
+ #endif
+ #ifdef I_SYS_FILE
+ #include <sys/file.h>
+ #endif
+ #ifdef I_VFORK
+ #   include <vfork.h>
+ #endif
+ 
+ #ifdef VOIDSIG
+ static void (*ihand)();
+ static void (*qhand)();
+ #else
+ static int (*ihand)();
+ static int (*qhand)();
+ #endif
+ 
+ ARG *debarg;
+ STR str_args;
+ static STAB *stab2;
+ static STIO *stio;
+ static struct lstring *lstr;
+ static int old_rschar;
+ static int old_rslen;
+ 
+ double sin(), cos(), atan2(), pow();
+ 
+ char *getlogin();
+ 
+ int
+ eval(arg,gimme,sp)
+ register ARG *arg;
+ int gimme;
+ register int sp;
+ {
+     register STR *str;
+     register int anum;
+     register int optype;
+     register STR **st;
+     int maxarg;
+     double value;
+     register char *tmps;
+     char *tmps2;
+     int argflags;
+     int argtype;
+     union argptr argptr;
+     int arglast[8];	/* highest sp for arg--valid only for non-O_LIST args */
+     unsigned long tmplong;
+     long when;
+     FILE *fp;
+     STR *tmpstr;
+     FCMD *form;
+     STAB *stab;
+     ARRAY *ary;
+     bool assigning = FALSE;
+     double exp(), log(), sqrt(), modf();
+     char *crypt(), *getenv();
+     extern void grow_dlevel();
+ 
+     if (!arg)
+ 	goto say_undef;
+     optype = arg->arg_type;
+     maxarg = arg->arg_len;
+     arglast[0] = sp;
+     str = arg->arg_ptr.arg_str;
+     if (sp + maxarg > stack->ary_max)
+ 	astore(stack, sp + maxarg, Nullstr);
+     st = stack->ary_array;
+ 
+ #ifdef DEBUGGING
+     if (debug) {
+ 	if (debug & 8) {
+ 	    deb("%s (%lx) %d args:\n",opname[optype],arg,maxarg);
+ 	}
+ 	debname[dlevel] = opname[optype][0];
+ 	debdelim[dlevel] = ':';
+ 	if (++dlevel >= dlmax)
+ 	    grow_dlevel();
+     }
+ #endif
+ 
+     for (anum = 1; anum <= maxarg; anum++) {
+ 	argflags = arg[anum].arg_flags;
+ 	argtype = arg[anum].arg_type;
+ 	argptr = arg[anum].arg_ptr;
+       re_eval:
+ 	switch (argtype) {
+ 	default:
+ 	    st[++sp] = &str_undef;
+ #ifdef DEBUGGING
+ 	    tmps = "NULL";
+ #endif
+ 	    break;
+ 	case A_EXPR:
+ #ifdef DEBUGGING
+ 	    if (debug & 8) {
+ 		tmps = "EXPR";
+ 		deb("%d.EXPR =>\n",anum);
+ 	    }
+ #endif
+ 	    sp = eval(argptr.arg_arg,
+ 		(argflags & AF_ARYOK) ? G_ARRAY : G_SCALAR, sp);
+ 	    if (sp + (maxarg - anum) > stack->ary_max)
+ 		astore(stack, sp + (maxarg - anum), Nullstr);
+ 	    st = stack->ary_array;	/* possibly reallocated */
+ 	    break;
+ 	case A_CMD:
+ #ifdef DEBUGGING
+ 	    if (debug & 8) {
+ 		tmps = "CMD";
+ 		deb("%d.CMD (%lx) =>\n",anum,argptr.arg_cmd);
+ 	    }
+ #endif
+ 	    sp = cmd_exec(argptr.arg_cmd, gimme, sp);
+ 	    if (sp + (maxarg - anum) > stack->ary_max)
+ 		astore(stack, sp + (maxarg - anum), Nullstr);
+ 	    st = stack->ary_array;	/* possibly reallocated */
+ 	    break;
+ 	case A_LARYSTAB:
+ 	    ++sp;
+ 	    switch (optype) {
+ 		case O_ITEM2: argtype = 2; break;
+ 		case O_ITEM3: argtype = 3; break;
+ 		default:      argtype = anum; break;
+ 	    }
+ 	    str = afetch(stab_array(argptr.arg_stab),
+ 		arg[argtype].arg_len - arybase, TRUE);
+ #ifdef DEBUGGING
+ 	    if (debug & 8) {
+ 		(void)sprintf(buf,"LARYSTAB $%s[%d]",stab_name(argptr.arg_stab),
+ 		    arg[argtype].arg_len);
+ 		tmps = buf;
+ 	    }
+ #endif
+ 	    goto do_crement;
+ 	case A_ARYSTAB:
+ 	    switch (optype) {
+ 		case O_ITEM2: argtype = 2; break;
+ 		case O_ITEM3: argtype = 3; break;
+ 		default:      argtype = anum; break;
+ 	    }
+ 	    st[++sp] = afetch(stab_array(argptr.arg_stab),
+ 		arg[argtype].arg_len - arybase, FALSE);
+ #ifdef DEBUGGING
+ 	    if (debug & 8) {
+ 		(void)sprintf(buf,"ARYSTAB $%s[%d]",stab_name(argptr.arg_stab),
+ 		    arg[argtype].arg_len);
+ 		tmps = buf;
+ 	    }
+ #endif
+ 	    break;
+ 	case A_STAR:
+ 	    stab = argptr.arg_stab;
+ 	    st[++sp] = (STR*)stab;
+ 	    if (!stab_xarray(stab))
+ 		aadd(stab);
+ 	    if (!stab_xhash(stab))
+ 		hadd(stab);
+ 	    if (!stab_io(stab))
+ 		stab_io(stab) = stio_new();
+ #ifdef DEBUGGING
+ 	    if (debug & 8) {
+ 		(void)sprintf(buf,"STAR *%s",stab_name(argptr.arg_stab));
+ 		tmps = buf;
+ 	    }
+ #endif
+ 	    break;
+ 	case A_LSTAR:
+ 	    str = st[++sp] = (STR*)argptr.arg_stab;
+ #ifdef DEBUGGING
+ 	    if (debug & 8) {
+ 		(void)sprintf(buf,"LSTAR *%s",stab_name(argptr.arg_stab));
+ 		tmps = buf;
+ 	    }
+ #endif
+ 	    break;
+ 	case A_STAB:
+ 	    st[++sp] = STAB_STR(argptr.arg_stab);
+ #ifdef DEBUGGING
+ 	    if (debug & 8) {
+ 		(void)sprintf(buf,"STAB $%s",stab_name(argptr.arg_stab));
+ 		tmps = buf;
+ 	    }
+ #endif
+ 	    break;
+ 	case A_LEXPR:
+ #ifdef DEBUGGING
+ 	    if (debug & 8) {
+ 		tmps = "LEXPR";
+ 		deb("%d.LEXPR =>\n",anum);
+ 	    }
+ #endif
+ 	    if (argflags & AF_ARYOK) {
+ 		sp = eval(argptr.arg_arg, G_ARRAY, sp);
+ 		if (sp + (maxarg - anum) > stack->ary_max)
+ 		    astore(stack, sp + (maxarg - anum), Nullstr);
+ 		st = stack->ary_array;	/* possibly reallocated */
+ 	    }
+ 	    else {
+ 		sp = eval(argptr.arg_arg, G_SCALAR, sp);
+ 		st = stack->ary_array;	/* possibly reallocated */
+ 		str = st[sp];
+ 		goto do_crement;
+ 	    }
+ 	    break;
+ 	case A_LVAL:
+ #ifdef DEBUGGING
+ 	    if (debug & 8) {
+ 		(void)sprintf(buf,"LVAL $%s",stab_name(argptr.arg_stab));
+ 		tmps = buf;
+ 	    }
+ #endif
+ 	    ++sp;
+ 	    str = STAB_STR(argptr.arg_stab);
+ 	    if (!str)
+ 		fatal("panic: A_LVAL");
+ 	  do_crement:
+ 	    assigning = TRUE;
+ 	    if (argflags & AF_PRE) {
+ 		if (argflags & AF_UP)
+ 		    str_inc(str);
+ 		else
+ 		    str_dec(str);
+ 		STABSET(str);
+ 		st[sp] = str;
+ 		str = arg->arg_ptr.arg_str;
+ 	    }
+ 	    else if (argflags & AF_POST) {
+ 		st[sp] = str_mortal(str);
+ 		if (argflags & AF_UP)
+ 		    str_inc(str);
+ 		else
+ 		    str_dec(str);
+ 		STABSET(str);
+ 		str = arg->arg_ptr.arg_str;
+ 	    }
+ 	    else
+ 		st[sp] = str;
+ 	    break;
+ 	case A_LARYLEN:
+ 	    ++sp;
+ 	    stab = argptr.arg_stab;
+ 	    str = stab_array(argptr.arg_stab)->ary_magic;
+ 	    if (optype != O_SASSIGN || argflags & (AF_PRE|AF_POST))
+ 		str_numset(str,(double)(stab_array(stab)->ary_fill+arybase));
+ #ifdef DEBUGGING
+ 	    tmps = "LARYLEN";
+ #endif
+ 	    if (!str)
+ 		fatal("panic: A_LEXPR");
+ 	    goto do_crement;
+ 	case A_ARYLEN:
+ 	    stab = argptr.arg_stab;
+ 	    st[++sp] = stab_array(stab)->ary_magic;
+ 	    str_numset(st[sp],(double)(stab_array(stab)->ary_fill+arybase));
+ #ifdef DEBUGGING
+ 	    tmps = "ARYLEN";
+ #endif
+ 	    break;
+ 	case A_SINGLE:
+ 	    st[++sp] = argptr.arg_str;
+ #ifdef DEBUGGING
+ 	    tmps = "SINGLE";
+ #endif
+ 	    break;
+ 	case A_DOUBLE:
+ 	    (void) interp(str,argptr.arg_str,sp);
+ 	    st = stack->ary_array;
+ 	    st[++sp] = str;
+ #ifdef DEBUGGING
+ 	    tmps = "DOUBLE";
+ #endif
+ 	    break;
+ 	case A_BACKTICK:
+ 	    tmps = str_get(interp(str,argptr.arg_str,sp));
+ 	    st = stack->ary_array;
+ #ifdef TAINT
+ 	    taintproper("Insecure dependency in ``");
+ #endif
+ 	    fp = mypopen(tmps,"r");
+ 	    str_set(str,"");
+ 	    if (fp) {
+ 		if (gimme == G_SCALAR) {
+ 		    while (str_gets(str,fp,str->str_cur) != Nullch)
+ 			;
+ 		}
+ 		else {
+ 		    for (;;) {
+ 			if (++sp > stack->ary_max) {
+ 			    astore(stack, sp, Nullstr);
+ 			    st = stack->ary_array;
+ 			}
+ 			str = st[sp] = Str_new(56,80);
+ 			if (str_gets(str,fp,0) == Nullch) {
+ 			    sp--;
+ 			    break;
+ 			}
+ 			if (str->str_len - str->str_cur > 20) {
+ 			    str->str_len = str->str_cur+1;
+ 			    Renew(str->str_ptr, str->str_len, char);
+ 			}
+ 			str_2mortal(str);
+ 		    }
+ 		}
+ 		statusvalue = mypclose(fp);
+ 	    }
+ 	    else
+ 		statusvalue = -1;
+ 
+ 	    if (gimme == G_SCALAR)
+ 		st[++sp] = str;
+ #ifdef DEBUGGING
+ 	    tmps = "BACK";
+ #endif
+ 	    break;
+ 	case A_WANTARRAY:
+ 	    {
+ 		if (curcsv->wantarray == G_ARRAY)
+ 		    st[++sp] = &str_yes;
+ 		else
+ 		    st[++sp] = &str_no;
+ 	    }
+ #ifdef DEBUGGING
+ 	    tmps = "WANTARRAY";
+ #endif
+ 	    break;
+ 	case A_INDREAD:
+ 	    last_in_stab = stabent(str_get(STAB_STR(argptr.arg_stab)),TRUE);
+ 	    old_rschar = rschar;
+ 	    old_rslen = rslen;
+ 	    goto do_read;
+ 	case A_GLOB:
+ 	    argflags |= AF_POST;	/* enable newline chopping */
+ 	    last_in_stab = argptr.arg_stab;
+ 	    old_rschar = rschar;
+ 	    old_rslen = rslen;
+ 	    rslen = 1;
+ #ifdef MSDOS
+ 	    rschar = 0;
+ #else
+ #ifdef CSH
+ 	    rschar = 0;
+ #else
+ 	    rschar = '\n';
+ #endif	/* !CSH */
+ #endif	/* !MSDOS */
+ 	    goto do_read;
+ 	case A_READ:
+ 	    last_in_stab = argptr.arg_stab;
+ 	    old_rschar = rschar;
+ 	    old_rslen = rslen;
+ 	  do_read:
+ 	    if (anum > 1)		/* assign to scalar */
+ 		gimme = G_SCALAR;	/* force context to scalar */
+ 	    if (gimme == G_ARRAY)
+ 		str = Str_new(57,0);
+ 	    ++sp;
+ 	    fp = Nullfp;
+ 	    if (stab_io(last_in_stab)) {
+ 		fp = stab_io(last_in_stab)->ifp;
+ 		if (!fp) {
+ 		    if (stab_io(last_in_stab)->flags & IOF_ARGV) {
+ 			if (stab_io(last_in_stab)->flags & IOF_START) {
+ 			    stab_io(last_in_stab)->flags &= ~IOF_START;
+ 			    stab_io(last_in_stab)->lines = 0;
+ 			    if (alen(stab_array(last_in_stab)) < 0) {
+ 				tmpstr = str_make("-",1); /* assume stdin */
+ 				(void)apush(stab_array(last_in_stab), tmpstr);
+ 			    }
+ 			}
+ 			fp = nextargv(last_in_stab);
+ 			if (!fp) { /* Note: fp != stab_io(last_in_stab)->ifp */
+ 			    (void)do_close(last_in_stab,FALSE); /* now it does*/
+ 			    stab_io(last_in_stab)->flags |= IOF_START;
+ 			}
+ 		    }
+ 		    else if (argtype == A_GLOB) {
+ 			(void) interp(str,stab_val(last_in_stab),sp);
+ 			st = stack->ary_array;
+ 			tmpstr = Str_new(55,0);
+ #ifdef MSDOS
+ 			str_set(tmpstr, "perlglob ");
+ 			str_scat(tmpstr,str);
+ 			str_cat(tmpstr," |");
+ #else
+ #ifdef CSH
+ 			str_nset(tmpstr,cshname,cshlen);
+ 			str_cat(tmpstr," -cf 'set nonomatch; glob ");
+ 			str_scat(tmpstr,str);
+ 			str_cat(tmpstr,"'|");
+ #else
+ 			str_set(tmpstr, "echo ");
+ 			str_scat(tmpstr,str);
+ 			str_cat(tmpstr,
+ 			  "|tr -s ' \t\f\r' '\\012\\012\\012\\012'|");
+ #endif /* !CSH */
+ #endif /* !MSDOS */
+ 			(void)do_open(last_in_stab,tmpstr->str_ptr,
+ 			  tmpstr->str_cur);
+ 			fp = stab_io(last_in_stab)->ifp;
+ 			str_free(tmpstr);
+ 		    }
+ 		}
+ 	    }
+ 	    if (!fp && dowarn)
+ 		warn("Read on closed filehandle <%s>",stab_name(last_in_stab));
+ 	    when = str->str_len;	/* remember if already alloced */
+ 	    if (!when)
+ 		Str_Grow(str,80);	/* try short-buffering it */
+ 	  keepgoing:
+ 	    if (!fp)
+ 		st[sp] = &str_undef;
+ 	    else if (!str_gets(str,fp, optype == O_RCAT ? str->str_cur : 0)) {
+ 		clearerr(fp);
+ 		if (stab_io(last_in_stab)->flags & IOF_ARGV) {
+ 		    fp = nextargv(last_in_stab);
+ 		    if (fp)
+ 			goto keepgoing;
+ 		    (void)do_close(last_in_stab,FALSE);
+ 		    stab_io(last_in_stab)->flags |= IOF_START;
+ 		}
+ 		else if (argflags & AF_POST) {
+ 		    (void)do_close(last_in_stab,FALSE);
+ 		}
+ 		st[sp] = &str_undef;
+ 		rschar = old_rschar;
+ 		rslen = old_rslen;
+ 		if (gimme == G_ARRAY) {
+ 		    --sp;
+ 		    str_2mortal(str);
+ 		    goto array_return;
+ 		}
+ 		break;
+ 	    }
+ 	    else {
+ 		stab_io(last_in_stab)->lines++;
+ 		st[sp] = str;
+ #ifdef TAINT
+ 		str->str_tainted = 1; /* Anything from the outside world...*/
+ #endif
+ 		if (argflags & AF_POST) {
+ 		    if (str->str_cur > 0)
+ 			str->str_cur--;
+ 		    if (str->str_ptr[str->str_cur] == rschar)
+ 			str->str_ptr[str->str_cur] = '\0';
+ 		    else
+ 			str->str_cur++;
+ 		    for (tmps = str->str_ptr; *tmps; tmps++)
+ 			if (!isalpha(*tmps) && !isdigit(*tmps) &&
+ 			    index("$&*(){}[]'\";\\|?<>~`",*tmps))
+ 				break;
+ 		    if (*tmps && stat(str->str_ptr,&statbuf) < 0)
+ 			goto keepgoing;		/* unmatched wildcard? */
+ 		}
+ 		if (gimme == G_ARRAY) {
+ 		    if (str->str_len - str->str_cur > 20) {
+ 			str->str_len = str->str_cur+1;
+ 			Renew(str->str_ptr, str->str_len, char);
+ 		    }
+ 		    str_2mortal(str);
+ 		    if (++sp > stack->ary_max) {
+ 			astore(stack, sp, Nullstr);
+ 			st = stack->ary_array;
+ 		    }
+ 		    str = Str_new(58,80);
+ 		    goto keepgoing;
+ 		}
+ 		else if (!when && str->str_len - str->str_cur > 80) {
+ 		    /* try to reclaim a bit of scalar space on 1st alloc */
+ 		    if (str->str_cur < 60)
+ 			str->str_len = 80;
+ 		    else
+ 			str->str_len = str->str_cur+40;	/* allow some slop */
+ 		    Renew(str->str_ptr, str->str_len, char);
+ 		}
+ 	    }
+ 	    rschar = old_rschar;
+ 	    rslen = old_rslen;
+ #ifdef DEBUGGING
+ 	    tmps = "READ";
+ #endif
+ 	    break;
+ 	}
+ #ifdef DEBUGGING
+ 	if (debug & 8)
+ 	    deb("%d.%s = '%s'\n",anum,tmps,str_peek(st[sp]));
+ #endif
+ 	if (anum < 8)
+ 	    arglast[anum] = sp;
+     }
+ 
+     st += arglast[0];
+ #ifdef SMALLSWITCHES
+     if (optype < O_CHOWN)
+ #endif
+     switch (optype) {
+     case O_RCAT:
+ 	STABSET(str);
+ 	break;
+     case O_ITEM:
+ 	if (gimme == G_ARRAY)
+ 	    goto array_return;
+ 	/* FALL THROUGH */
+     case O_SCALAR:
+ 	STR_SSET(str,st[1]);
+ 	STABSET(str);
+ 	break;
+     case O_ITEM2:
+ 	if (gimme == G_ARRAY)
+ 	    goto array_return;
+ 	--anum;
+ 	STR_SSET(str,st[arglast[anum]-arglast[0]]);
+ 	STABSET(str);
+ 	break;
+     case O_ITEM3:
+ 	if (gimme == G_ARRAY)
+ 	goto array_return;
+ 	--anum;
+ 	STR_SSET(str,st[arglast[anum]-arglast[0]]);
+ 	STABSET(str);
+ 	break;
+     case O_CONCAT:
+ 	STR_SSET(str,st[1]);
+ 	str_scat(str,st[2]);
+ 	STABSET(str);
+ 	break;
+     case O_REPEAT:
+ 	if (gimme == G_ARRAY && arg[1].arg_flags & AF_ARYOK) {
+ 	    sp = do_repeatary(arglast);
+ 	    goto array_return;
+ 	}
+ 	STR_SSET(str,st[arglast[1] - arglast[0]]);
+ 	anum = (int)str_gnum(st[arglast[2] - arglast[0]]);
+ 	if (anum >= 1) {
+ 	    tmpstr = Str_new(50, 0);
+ 	    tmps = str_get(str);
+ 	    str_nset(tmpstr,tmps,str->str_cur);
+ 	    tmps = str_get(tmpstr);	/* force to be string */
+ 	    STR_GROW(str, (anum * str->str_cur) + 1);
+ 	    repeatcpy(str->str_ptr, tmps, tmpstr->str_cur, anum);
+ 	    str->str_cur *= anum;
+ 	    str->str_ptr[str->str_cur] = '\0';
+ 	    str->str_nok = 0;
+ 	    str_free(tmpstr);
+ 	}
+ 	else
+ 	    str_sset(str,&str_no);
+ 	STABSET(str);
+ 	break;
+     case O_MATCH:
+ 	sp = do_match(str,arg,
+ 	  gimme,arglast);
+ 	if (gimme == G_ARRAY)
+ 	    goto array_return;
+ 	STABSET(str);
+ 	break;
+     case O_NMATCH:
+ 	sp = do_match(str,arg,
+ 	  G_SCALAR,arglast);
+ 	str_sset(str, str_true(str) ? &str_no : &str_yes);
+ 	STABSET(str);
+ 	break;
+     case O_SUBST:
+ 	sp = do_subst(str,arg,arglast[0]);
+ 	goto array_return;
+     case O_NSUBST:
+ 	sp = do_subst(str,arg,arglast[0]);
+ 	str = arg->arg_ptr.arg_str;
+ 	str_set(str, str_true(str) ? No : Yes);
+ 	goto array_return;
+     case O_ASSIGN:
+ 	if (arg[1].arg_flags & AF_ARYOK) {
+ 	    if (arg->arg_len == 1) {
+ 		arg->arg_type = O_LOCAL;
+ 		goto local;
+ 	    }
+ 	    else {
+ 		arg->arg_type = O_AASSIGN;
+ 		goto aassign;
+ 	    }
+ 	}
+ 	else {
+ 	    arg->arg_type = O_SASSIGN;
+ 	    goto sassign;
+ 	}
+     case O_LOCAL:
+       local:
+ 	arglast[2] = arglast[1];	/* push a null array */
+ 	/* FALL THROUGH */
+     case O_AASSIGN:
+       aassign:
+ 	sp = do_assign(arg,
+ 	  gimme,arglast);
+ 	goto array_return;
+     case O_SASSIGN:
+       sassign:
+ 	STR_SSET(str, st[2]);
+ 	STABSET(str);
+ 	break;
+     case O_CHOP:
+ 	st -= arglast[0];
+ 	str = arg->arg_ptr.arg_str;
+ 	for (sp = arglast[0] + 1; sp <= arglast[1]; sp++)
+ 	    do_chop(str,st[sp]);
+ 	st += arglast[0];
+ 	break;
+     case O_DEFINED:
+ 	if (arg[1].arg_type & A_DONT) {
+ 	    sp = do_defined(str,arg,
+ 		  gimme,arglast);
+ 	    goto array_return;
+ 	}
+ 	else if (str->str_pok || str->str_nok)
+ 	    goto say_yes;
+ 	goto say_no;
+     case O_UNDEF:
+ 	if (arg[1].arg_type & A_DONT) {
+ 	    sp = do_undef(str,arg,
+ 	      gimme,arglast);
+ 	    goto array_return;
+ 	}
+ 	else if (str != stab_val(defstab)) {
+ 	    if (str->str_len) {
+ 		if (str->str_state == SS_INCR)
+ 		    Str_Grow(str,0);
+ 		Safefree(str->str_ptr);
+ 		str->str_ptr = Nullch;
+ 		str->str_len = 0;
+ 	    }
+ 	    str->str_pok = str->str_nok = 0;
+ 	    STABSET(str);
+ 	}
+ 	goto say_undef;
+     case O_STUDY:
+ 	sp = do_study(str,arg,
+ 	  gimme,arglast);
+ 	goto array_return;
+     case O_POW:
+ 	value = str_gnum(st[1]);
+ 	value = pow(value,str_gnum(st[2]));
+ 	goto donumset;
+     case O_MULTIPLY:
+ 	value = str_gnum(st[1]);
+ 	value *= str_gnum(st[2]);
+ 	goto donumset;
+     case O_DIVIDE:
+ 	if ((value = str_gnum(st[2])) == 0.0)
+ 	    fatal("Illegal division by zero");
+ #ifdef cray
+ 	/* insure that 20./5. == 4. */
+ 	{
+ 	    double x;
+ 	    int    k;
+ 	    x =  str_gnum(st[1]);
+ 	    if ((double)(int)x     == x &&
+ 		(double)(int)value == value &&
+ 		(k = (int)x/(int)value)*(int)value == (int)x) {
+ 		value = k;
+ 	    } else {
+ 		value = x/value;
+ 	    }
+ 	}
+ #else
+ 	value = str_gnum(st[1]) / value;
+ #endif
+ 	goto donumset;
+     case O_MODULO:
+ 	tmplong = (long) str_gnum(st[2]);
+     	if (tmplong == 0L)
+     	    fatal("Illegal modulus zero");
+ 	when = (long)str_gnum(st[1]);
+ #ifndef lint
+ 	if (when >= 0)
+ 	    value = (double)(when % tmplong);
+ 	else
+ 	    value = (double)(tmplong - ((-when - 1) % tmplong)) - 1;
+ #endif
+ 	goto donumset;
+     case O_ADD:
+ 	value = str_gnum(st[1]);
+ 	value += str_gnum(st[2]);
+ 	goto donumset;
+     case O_SUBTRACT:
+ 	value = str_gnum(st[1]);
+ 	value -= str_gnum(st[2]);
+ 	goto donumset;
+     case O_LEFT_SHIFT:
+ 	value = str_gnum(st[1]);
+ 	anum = (int)str_gnum(st[2]);
+ #ifndef lint
+ 	value = (double)(U_L(value) << anum);
+ #endif
+ 	goto donumset;
+     case O_RIGHT_SHIFT:
+ 	value = str_gnum(st[1]);
+ 	anum = (int)str_gnum(st[2]);
+ #ifndef lint
+ 	value = (double)(U_L(value) >> anum);
+ #endif
+ 	goto donumset;
+     case O_LT:
+ 	value = str_gnum(st[1]);
+ 	value = (value < str_gnum(st[2])) ? 1.0 : 0.0;
+ 	goto donumset;
+     case O_GT:
+ 	value = str_gnum(st[1]);
+ 	value = (value > str_gnum(st[2])) ? 1.0 : 0.0;
+ 	goto donumset;
+     case O_LE:
+ 	value = str_gnum(st[1]);
+ 	value = (value <= str_gnum(st[2])) ? 1.0 : 0.0;
+ 	goto donumset;
+     case O_GE:
+ 	value = str_gnum(st[1]);
+ 	value = (value >= str_gnum(st[2])) ? 1.0 : 0.0;
+ 	goto donumset;
+     case O_EQ:
+ 	if (dowarn) {
+ 	    if ((!st[1]->str_nok && !looks_like_number(st[1])) ||
+ 		(!st[2]->str_nok && !looks_like_number(st[2])) )
+ 		warn("Possible use of == on string value");
+ 	}
+ 	value = str_gnum(st[1]);
+ 	value = (value == str_gnum(st[2])) ? 1.0 : 0.0;
+ 	goto donumset;
+     case O_NE:
+ 	value = str_gnum(st[1]);
+ 	value = (value != str_gnum(st[2])) ? 1.0 : 0.0;
+ 	goto donumset;
+     case O_NCMP:
+ 	value = str_gnum(st[1]);
+ 	value -= str_gnum(st[2]);
+ 	if (value > 0.0)
+ 	    value = 1.0;
+ 	else if (value < 0.0)
+ 	    value = -1.0;
+ 	goto donumset;
+     case O_BIT_AND:
+ 	if (!sawvec || st[1]->str_nok || st[2]->str_nok) {
+ 	    value = str_gnum(st[1]);
+ #ifndef lint
+ 	    value = (double)(U_L(value) & U_L(str_gnum(st[2])));
+ #endif
+ 	    goto donumset;
+ 	}
+ 	else
+ 	    do_vop(optype,str,st[1],st[2]);
+ 	break;
+     case O_XOR:
+ 	if (!sawvec || st[1]->str_nok || st[2]->str_nok) {
+ 	    value = str_gnum(st[1]);
+ #ifndef lint
+ 	    value = (double)(U_L(value) ^ U_L(str_gnum(st[2])));
+ #endif
+ 	    goto donumset;
+ 	}
+ 	else
+ 	    do_vop(optype,str,st[1],st[2]);
+ 	break;
+     case O_BIT_OR:
+ 	if (!sawvec || st[1]->str_nok || st[2]->str_nok) {
+ 	    value = str_gnum(st[1]);
+ #ifndef lint
+ 	    value = (double)(U_L(value) | U_L(str_gnum(st[2])));
+ #endif
+ 	    goto donumset;
+ 	}
+ 	else
+ 	    do_vop(optype,str,st[1],st[2]);
+ 	break;
+ /* use register in evaluating str_true() */
+     case O_AND:
+ 	if (str_true(st[1])) {
+ 	    anum = 2;
+ 	    optype = O_ITEM2;
+ 	    argflags = arg[anum].arg_flags;
+ 	    if (gimme == G_ARRAY)
+ 		argflags |= AF_ARYOK;
+ 	    argtype = arg[anum].arg_type & A_MASK;
+ 	    argptr = arg[anum].arg_ptr;
+ 	    maxarg = anum = 1;
+ 	    sp = arglast[0];
+ 	    st -= sp;
+ 	    goto re_eval;
+ 	}
+ 	else {
+ 	    if (assigning) {
+ 		str_sset(str, st[1]);
+ 		STABSET(str);
+ 	    }
+ 	    else
+ 		str = st[1];
+ 	    break;
+ 	}
+     case O_OR:
+ 	if (str_true(st[1])) {
+ 	    if (assigning) {
+ 		str_sset(str, st[1]);
+ 		STABSET(str);
+ 	    }
+ 	    else
+ 		str = st[1];
+ 	    break;
+ 	}
+ 	else {
+ 	    anum = 2;
+ 	    optype = O_ITEM2;
+ 	    argflags = arg[anum].arg_flags;
+ 	    if (gimme == G_ARRAY)
+ 		argflags |= AF_ARYOK;
+ 	    argtype = arg[anum].arg_type & A_MASK;
+ 	    argptr = arg[anum].arg_ptr;
+ 	    maxarg = anum = 1;
+ 	    sp = arglast[0];
+ 	    st -= sp;
+ 	    goto re_eval;
+ 	}
+     case O_COND_EXPR:
+ 	anum = (str_true(st[1]) ? 2 : 3);
+ 	optype = (anum == 2 ? O_ITEM2 : O_ITEM3);
+ 	argflags = arg[anum].arg_flags;
+ 	if (gimme == G_ARRAY)
+ 	    argflags |= AF_ARYOK;
+ 	argtype = arg[anum].arg_type & A_MASK;
+ 	argptr = arg[anum].arg_ptr;
+ 	maxarg = anum = 1;
+ 	sp = arglast[0];
+ 	st -= sp;
+ 	goto re_eval;
+     case O_COMMA:
+ 	if (gimme == G_ARRAY)
+ 	    goto array_return;
+ 	str = st[2];
+ 	break;
+     case O_NEGATE:
+ 	value = -str_gnum(st[1]);
+ 	goto donumset;
+     case O_NOT:
+ 	value = (double) !str_true(st[1]);
+ 	goto donumset;
+     case O_COMPLEMENT:
+ 	if (!sawvec || st[1]->str_nok) {
+ #ifndef lint
+ 	    value = (double) ~U_L(str_gnum(st[1]));
+ #endif
+ 	    goto donumset;
+ 	}
+ 	else {
+ 	    STR_SSET(str,st[1]);
+ 	    tmps = str_get(str);
+ 	    for (anum = str->str_cur; anum; anum--, tmps++)
+ 		*tmps = ~*tmps;
+ 	}
+ 	break;
+     case O_SELECT:
+ 	stab_fullname(str,defoutstab);
+ 	if (maxarg > 0) {
+ 	    if ((arg[1].arg_type & A_MASK) == A_WORD)
+ 		defoutstab = arg[1].arg_ptr.arg_stab;
+ 	    else
+ 		defoutstab = stabent(str_get(st[1]),TRUE);
+ 	    if (!stab_io(defoutstab))
+ 		stab_io(defoutstab) = stio_new();
+ 	    curoutstab = defoutstab;
+ 	}
+ 	STABSET(str);
+ 	break;
+     case O_WRITE:
+ 	if (maxarg == 0)
+ 	    stab = defoutstab;
+ 	else if ((arg[1].arg_type & A_MASK) == A_WORD) {
+ 	    if (!(stab = arg[1].arg_ptr.arg_stab))
+ 		stab = defoutstab;
+ 	}
+ 	else
+ 	    stab = stabent(str_get(st[1]),TRUE);
+ 	if (!stab_io(stab)) {
+ 	    str_set(str, No);
+ 	    STABSET(str);
+ 	    break;
+ 	}
+ 	curoutstab = stab;
+ 	fp = stab_io(stab)->ofp;
+ 	debarg = arg;
+ 	if (stab_io(stab)->fmt_stab)
+ 	    form = stab_form(stab_io(stab)->fmt_stab);
+ 	else
+ 	    form = stab_form(stab);
+ 	if (!form || !fp) {
+ 	    if (dowarn) {
+ 		if (form)
+ 		    warn("No format for filehandle");
+ 		else {
+ 		    if (stab_io(stab)->ifp)
+ 			warn("Filehandle only opened for input");
+ 		    else
+ 			warn("Write on closed filehandle");
+ 		}
+ 	    }
+ 	    str_set(str, No);
+ 	    STABSET(str);
+ 	    break;
+ 	}
+ 	format(&outrec,form,sp);
+ 	do_write(&outrec,stab_io(stab),sp);
+ 	if (stab_io(stab)->flags & IOF_FLUSH)
+ 	    (void)fflush(fp);
+ 	str_set(str, Yes);
+ 	STABSET(str);
+ 	break;
+     case O_DBMOPEN:
+ #ifdef SOME_DBM
+ 	anum = arg[1].arg_type & A_MASK;
+ 	if (anum == A_WORD || anum == A_STAB)
+ 	    stab = arg[1].arg_ptr.arg_stab;
+ 	else
+ 	    stab = stabent(str_get(st[1]),TRUE);
+ 	if (st[3]->str_nok || st[3]->str_pok)
+ 	    anum = (int)str_gnum(st[3]);
+ 	else
+ 	    anum = -1;
+ 	value = (double)hdbmopen(stab_hash(stab),str_get(st[2]),anum);
+ 	goto donumset;
+ #else
+ 	fatal("No dbm or ndbm on this machine");
+ #endif
+     case O_DBMCLOSE:
+ #ifdef SOME_DBM
+ 	if ((arg[1].arg_type & A_MASK) == A_WORD)
+ 	    stab = arg[1].arg_ptr.arg_stab;
+ 	else
+ 	    stab = stabent(str_get(st[1]),TRUE);
+ 	hdbmclose(stab_hash(stab));
+ 	goto say_yes;
+ #else
+ 	fatal("No dbm or ndbm on this machine");
+ #endif
+     case O_OPEN:
+ 	if ((arg[1].arg_type & A_MASK) == A_WORD)
+ 	    stab = arg[1].arg_ptr.arg_stab;
+ 	else
+ 	    stab = stabent(str_get(st[1]),TRUE);
+ 	tmps = str_get(st[2]);
+ 	if (do_open(stab,tmps,st[2]->str_cur)) {
+ 	    value = (double)forkprocess;
+ 	    stab_io(stab)->lines = 0;
+ 	    goto donumset;
+ 	}
+ 	else if (forkprocess == 0)		/* we are a new child */
+ 	    goto say_zero;
+ 	else
+ 	    goto say_undef;
+ 	/* break; */
+     case O_TRANS:
+ 	value = (double) do_trans(str,arg);
+ 	str = arg->arg_ptr.arg_str;
+ 	goto donumset;
+     case O_NTRANS:
+ 	str_set(arg->arg_ptr.arg_str, do_trans(str,arg) == 0 ? Yes : No);
+ 	str = arg->arg_ptr.arg_str;
+ 	break;
+     case O_CLOSE:
+ 	if (maxarg == 0)
+ 	    stab = defoutstab;
+ 	else if ((arg[1].arg_type & A_MASK) == A_WORD)
+ 	    stab = arg[1].arg_ptr.arg_stab;
+ 	else
+ 	    stab = stabent(str_get(st[1]),TRUE);
+ 	str_set(str, do_close(stab,TRUE) ? Yes : No );
+ 	STABSET(str);
+ 	break;
+     case O_EACH:
+ 	sp = do_each(str,stab_hash(arg[1].arg_ptr.arg_stab),
+ 	  gimme,arglast);
+ 	goto array_return;
+     case O_VALUES:
+     case O_KEYS:
+ 	sp = do_kv(str,stab_hash(arg[1].arg_ptr.arg_stab), optype,
+ 	  gimme,arglast);
+ 	goto array_return;
+     case O_LARRAY:
+ 	str->str_nok = str->str_pok = 0;
+ 	str->str_u.str_stab = arg[1].arg_ptr.arg_stab;
+ 	str->str_state = SS_ARY;
+ 	break;
+     case O_ARRAY:
+ 	ary = stab_array(arg[1].arg_ptr.arg_stab);
+ 	maxarg = ary->ary_fill + 1;
+ 	if (gimme == G_ARRAY) { /* array wanted */
+ 	    sp = arglast[0];
+ 	    st -= sp;
+ 	    if (maxarg > 0 && sp + maxarg > stack->ary_max) {
+ 		astore(stack,sp + maxarg, Nullstr);
+ 		st = stack->ary_array;
+ 	    }
+ 	    st += sp;
+ 	    Copy(ary->ary_array, &st[1], maxarg, STR*);
+ 	    sp += maxarg;
+ 	    goto array_return;
+ 	}
+ 	else {
+ 	    value = (double)maxarg;
+ 	    goto donumset;
+ 	}
+     case O_AELEM:
+ 	anum = ((int)str_gnum(st[2])) - arybase;
+ 	str = afetch(stab_array(arg[1].arg_ptr.arg_stab),anum,FALSE);
+ 	break;
+     case O_DELETE:
+ 	tmpstab = arg[1].arg_ptr.arg_stab;
+ 	tmps = str_get(st[2]);
+ 	str = hdelete(stab_hash(tmpstab),tmps,st[2]->str_cur);
+ 	if (tmpstab == envstab)
+ 	    my_setenv(tmps,Nullch);
+ 	if (!str)
+ 	    goto say_undef;
+ 	break;
+     case O_LHASH:
+ 	str->str_nok = str->str_pok = 0;
+ 	str->str_u.str_stab = arg[1].arg_ptr.arg_stab;
+ 	str->str_state = SS_HASH;
+ 	break;
+     case O_HASH:
+ 	if (gimme == G_ARRAY) { /* array wanted */
+ 	    sp = do_kv(str,stab_hash(arg[1].arg_ptr.arg_stab), optype,
+ 		gimme,arglast);
+ 	    goto array_return;
+ 	}
+ 	else {
+ 	    tmpstab = arg[1].arg_ptr.arg_stab;
+ 	    if (!stab_hash(tmpstab)->tbl_fill)
+ 		goto say_zero;
+ 	    sprintf(buf,"%d/%d",stab_hash(tmpstab)->tbl_fill,
+ 		stab_hash(tmpstab)->tbl_max+1);
+ 	    str_set(str,buf);
+ 	}
+ 	break;
+     case O_HELEM:
+ 	tmpstab = arg[1].arg_ptr.arg_stab;
+ 	tmps = str_get(st[2]);
+ 	str = hfetch(stab_hash(tmpstab),tmps,st[2]->str_cur,FALSE);
+ 	break;
+     case O_LAELEM:
+ 	anum = ((int)str_gnum(st[2])) - arybase;
+ 	str = afetch(stab_array(arg[1].arg_ptr.arg_stab),anum,TRUE);
+ 	if (!str || str == &str_undef)
+ 	    fatal("Assignment to non-creatable value, subscript %d",anum);
+ 	break;
+     case O_LHELEM:
+ 	tmpstab = arg[1].arg_ptr.arg_stab;
+ 	tmps = str_get(st[2]);
+ 	anum = st[2]->str_cur;
+ 	str = hfetch(stab_hash(tmpstab),tmps,anum,TRUE);
+ 	if (!str || str == &str_undef)
+ 	    fatal("Assignment to non-creatable value, subscript \"%s\"",tmps);
+ 	if (tmpstab == envstab)		/* heavy wizardry going on here */
+ 	    str_magic(str, tmpstab, 'E', tmps, anum);	/* str is now magic */
+ 					/* he threw the brick up into the air */
+ 	else if (tmpstab == sigstab)
+ 	    str_magic(str, tmpstab, 'S', tmps, anum);
+ #ifdef SOME_DBM
+ 	else if (stab_hash(tmpstab)->tbl_dbm)
+ 	    str_magic(str, tmpstab, 'D', tmps, anum);
+ #endif
+ 	else if (perldb && tmpstab == DBline)
+ 	    str_magic(str, tmpstab, 'L', tmps, anum);
+ 	break;
+     case O_LSLICE:
+ 	anum = 2;
+ 	argtype = FALSE;
+ 	goto do_slice_already;
+     case O_ASLICE:
+ 	anum = 1;
+ 	argtype = FALSE;
+ 	goto do_slice_already;
+     case O_HSLICE:
+ 	anum = 0;
+ 	argtype = FALSE;
+ 	goto do_slice_already;
+     case O_LASLICE:
+ 	anum = 1;
+ 	argtype = TRUE;
+ 	goto do_slice_already;
+     case O_LHSLICE:
+ 	anum = 0;
+ 	argtype = TRUE;
+       do_slice_already:
+ 	sp = do_slice(arg[1].arg_ptr.arg_stab,str,anum,argtype,
+ 	    gimme,arglast);
+ 	goto array_return;
+     case O_SPLICE:
+ 	sp = do_splice(stab_array(arg[1].arg_ptr.arg_stab),gimme,arglast);
+ 	goto array_return;
+     case O_PUSH:
+ 	if (arglast[2] - arglast[1] != 1)
+ 	    str = do_push(stab_array(arg[1].arg_ptr.arg_stab),arglast);
+ 	else {
+ 	    str = Str_new(51,0);		/* must copy the STR */
+ 	    str_sset(str,st[2]);
+ 	    (void)apush(stab_array(arg[1].arg_ptr.arg_stab),str);
+ 	}
+ 	break;
+     case O_POP:
+ 	str = apop(ary = stab_array(arg[1].arg_ptr.arg_stab));
+ 	goto staticalization;
+     case O_SHIFT:
+ 	str = ashift(ary = stab_array(arg[1].arg_ptr.arg_stab));
+       staticalization:
+ 	if (!str)
+ 	    goto say_undef;
+ 	if (ary->ary_flags & ARF_REAL)
+ 	    (void)str_2mortal(str);
+ 	break;
+     case O_UNPACK:
+ 	sp = do_unpack(str,gimme,arglast);
+ 	goto array_return;
+     case O_SPLIT:
+ 	value = str_gnum(st[3]);
+ 	sp = do_split(str, arg[2].arg_ptr.arg_spat, (int)value,
+ 	  gimme,arglast);
+ 	goto array_return;
+     case O_LENGTH:
+ 	if (maxarg < 1)
+ 	    value = (double)str_len(stab_val(defstab));
+ 	else
+ 	    value = (double)str_len(st[1]);
+ 	goto donumset;
+     case O_SPRINTF:
+ 	do_sprintf(str, sp-arglast[0], st+1);
+ 	break;
+     case O_SUBSTR:
+ 	anum = ((int)str_gnum(st[2])) - arybase;	/* anum=where to start*/
+ 	tmps = str_get(st[1]);		/* force conversion to string */
+ 	if (argtype = (str == st[1]))
+ 	    str = arg->arg_ptr.arg_str;
+ 	if (anum < 0)
+ 	    anum += st[1]->str_cur + arybase;
+ 	if (anum < 0 || anum > st[1]->str_cur)
+ 	    str_nset(str,"",0);
+ 	else {
+ 	    optype = maxarg < 3 ? st[1]->str_cur : (int)str_gnum(st[3]);
+ 	    if (optype < 0)
+ 		optype = 0;
+ 	    tmps += anum;
+ 	    anum = st[1]->str_cur - anum;	/* anum=how many bytes left*/
+ 	    if (anum > optype)
+ 		anum = optype;
+ 	    str_nset(str, tmps, anum);
+ 	    if (argtype) {			/* it's an lvalue! */
+ 		lstr = (struct lstring*)str;
+ 		str->str_magic = st[1];
+ 		st[1]->str_rare = 's';
+ 		lstr->lstr_offset = tmps - str_get(st[1]); 
+ 		lstr->lstr_len = anum; 
+ 	    }
+ 	}
+ 	break;
+     case O_PACK:
+ 	(void)do_pack(str,arglast);
+ 	break;
+     case O_GREP:
+ 	sp = do_grep(arg,str,gimme,arglast);
+ 	goto array_return;
+     case O_JOIN:
+ 	do_join(str,arglast);
+ 	break;
+     case O_SLT:
+ 	tmps = str_get(st[1]);
+ 	value = (double) (str_cmp(st[1],st[2]) < 0);
+ 	goto donumset;
+     case O_SGT:
+ 	tmps = str_get(st[1]);
+ 	value = (double) (str_cmp(st[1],st[2]) > 0);
+ 	goto donumset;
+     case O_SLE:
+ 	tmps = str_get(st[1]);
+ 	value = (double) (str_cmp(st[1],st[2]) <= 0);
+ 	goto donumset;
+     case O_SGE:
+ 	tmps = str_get(st[1]);
+ 	value = (double) (str_cmp(st[1],st[2]) >= 0);
+ 	goto donumset;
+     case O_SEQ:
+ 	tmps = str_get(st[1]);
+ 	value = (double) str_eq(st[1],st[2]);
+ 	goto donumset;
+     case O_SNE:
+ 	tmps = str_get(st[1]);
+ 	value = (double) !str_eq(st[1],st[2]);
+ 	goto donumset;
+     case O_SCMP:
+ 	tmps = str_get(st[1]);
+ 	value = (double) str_cmp(st[1],st[2]);
+ 	goto donumset;
+     case O_SUBR:
+ 	sp = do_subr(arg,gimme,arglast);
+ 	st = stack->ary_array + arglast[0];		/* maybe realloced */
+ 	goto array_return;
+     case O_DBSUBR:
+ 	sp = do_subr(arg,gimme,arglast);
+ 	st = stack->ary_array + arglast[0];		/* maybe realloced */
+ 	goto array_return;
+     case O_CALLER:
+ 	sp = do_caller(arg,maxarg,gimme,arglast);
+ 	st = stack->ary_array + arglast[0];		/* maybe realloced */
+ 	goto array_return;
+     case O_SORT:
+ 	if ((arg[1].arg_type & A_MASK) == A_WORD)
+ 	    stab = arg[1].arg_ptr.arg_stab;
+ 	else
+ 	    stab = stabent(str_get(st[1]),TRUE);
+ 	sp = do_sort(str,stab,
+ 	  gimme,arglast);
+ 	goto array_return;
+     case O_REVERSE:
+ 	if (gimme == G_ARRAY)
+ 	    sp = do_reverse(arglast);
+ 	else
+ 	    sp = do_sreverse(str, arglast);
+ 	goto array_return;
+     case O_WARN:
+ 	if (arglast[2] - arglast[1] != 1) {
+ 	    do_join(str,arglast);
+ 	    tmps = str_get(str);
+ 	}
+ 	else {
+ 	    str = st[2];
+ 	    tmps = str_get(st[2]);
+ 	}
+ 	if (!tmps || !*tmps)
+ 	    tmps = "Warning: something's wrong";
+ 	warn("%s",tmps);
+ 	goto say_yes;
+     case O_DIE:
+ 	if (arglast[2] - arglast[1] != 1) {
+ 	    do_join(str,arglast);
+ 	    tmps = str_get(str);
+ 	}
+ 	else {
+ 	    str = st[2];
+ 	    tmps = str_get(st[2]);
+ 	}
+ 	if (!tmps || !*tmps)
+ 	    tmps = "Died";
+ 	fatal("%s",tmps);
+ 	goto say_zero;
+     case O_PRTF:
+     case O_PRINT:
+ 	if ((arg[1].arg_type & A_MASK) == A_WORD)
+ 	    stab = arg[1].arg_ptr.arg_stab;
+ 	else
+ 	    stab = stabent(str_get(st[1]),TRUE);
+ 	if (!stab)
+ 	    stab = defoutstab;
+ 	if (!stab_io(stab)) {
+ 	    if (dowarn)
+ 		warn("Filehandle never opened");
+ 	    goto say_zero;
+ 	}
+ 	if (!(fp = stab_io(stab)->ofp)) {
+ 	    if (dowarn)  {
+ 		if (stab_io(stab)->ifp)
+ 		    warn("Filehandle opened only for input");
+ 		else
+ 		    warn("Print on closed filehandle");
+ 	    }
+ 	    goto say_zero;
+ 	}
+ 	else {
+ 	    if (optype == O_PRTF || arglast[2] - arglast[1] != 1)
+ 		value = (double)do_aprint(arg,fp,arglast);
+ 	    else {
+ 		value = (double)do_print(st[2],fp);
+ 		if (orslen && optype == O_PRINT)
+ 		    if (fwrite(ors, 1, orslen, fp) == 0)
+ 			goto say_zero;
+ 	    }
+ 	    if (stab_io(stab)->flags & IOF_FLUSH)
+ 		if (fflush(fp) == EOF)
+ 		    goto say_zero;
+ 	}
+ 	goto donumset;
+     case O_CHDIR:
+ 	if (maxarg < 1)
+ 	    tmps = Nullch;
+ 	else
+ 	    tmps = str_get(st[1]);
+ 	if (!tmps || !*tmps) {
+ 	    tmpstr = hfetch(stab_hash(envstab),"HOME",4,FALSE);
+ 	    tmps = str_get(tmpstr);
+ 	}
+ 	if (!tmps || !*tmps) {
+ 	    tmpstr = hfetch(stab_hash(envstab),"LOGDIR",6,FALSE);
+ 	    tmps = str_get(tmpstr);
+ 	}
+ #ifdef TAINT
+ 	taintproper("Insecure dependency in chdir");
+ #endif
+ 	value = (double)(chdir(tmps) >= 0);
+ 	goto donumset;
+     case O_EXIT:
+ 	if (maxarg < 1)
+ 	    anum = 0;
+ 	else
+ 	    anum = (int)str_gnum(st[1]);
+ 	exit(anum);
+ 	goto say_zero;
+     case O_RESET:
+ 	if (maxarg < 1)
+ 	    tmps = "";
+ 	else
+ 	    tmps = str_get(st[1]);
+ 	str_reset(tmps,curcmd->c_stash);
+ 	value = 1.0;
+ 	goto donumset;
+     case O_LIST:
+ 	if (gimme == G_ARRAY)
+ 	    goto array_return;
+ 	if (maxarg > 0)
+ 	    str = st[sp - arglast[0]];	/* unwanted list, return last item */
+ 	else
+ 	    str = &str_undef;
+ 	break;
+     case O_EOF:
+ 	if (maxarg <= 0)
+ 	    stab = last_in_stab;
+ 	else if ((arg[1].arg_type & A_MASK) == A_WORD)
+ 	    stab = arg[1].arg_ptr.arg_stab;
+ 	else
+ 	    stab = stabent(str_get(st[1]),TRUE);
+ 	str_set(str, do_eof(stab) ? Yes : No);
+ 	STABSET(str);
+ 	break;
+     case O_GETC:
+ 	if (maxarg <= 0)
+ 	    stab = stdinstab;
+ 	else if ((arg[1].arg_type & A_MASK) == A_WORD)
+ 	    stab = arg[1].arg_ptr.arg_stab;
+ 	else
+ 	    stab = stabent(str_get(st[1]),TRUE);
+ 	if (!stab)
+ 	    stab = argvstab;
+ 	if (!stab || do_eof(stab)) /* make sure we have fp with something */
+ 	    goto say_undef;
+ 	else {
+ #ifdef TAINT
+ 	    tainted = 1;
+ #endif
+ 	    str_set(str," ");
+ 	    *str->str_ptr = getc(stab_io(stab)->ifp); /* should never be EOF */
+ 	}
+ 	STABSET(str);
+ 	break;
+     case O_TELL:
+ 	if (maxarg <= 0)
+ 	    stab = last_in_stab;
+ 	else if ((arg[1].arg_type & A_MASK) == A_WORD)
+ 	    stab = arg[1].arg_ptr.arg_stab;
+ 	else
+ 	    stab = stabent(str_get(st[1]),TRUE);
+ #ifndef lint
+ 	value = (double)do_tell(stab);
+ #else
+ 	(void)do_tell(stab);
+ #endif
+ 	goto donumset;
+     case O_RECV:
+     case O_READ:
+     case O_SYSREAD:
+ 	if ((arg[1].arg_type & A_MASK) == A_WORD)
+ 	    stab = arg[1].arg_ptr.arg_stab;
+ 	else
+ 	    stab = stabent(str_get(st[1]),TRUE);
+ 	tmps = str_get(st[2]);
+ 	anum = (int)str_gnum(st[3]);
+ 	errno = 0;
+ 	maxarg = sp - arglast[0];
+ 	if (maxarg > 4)
+ 	    warn("Too many args on read");
+ 	if (maxarg == 4)
+ 	    maxarg = (int)str_gnum(st[4]);
+ 	else
+ 	    maxarg = 0;
+ 	if (!stab_io(stab) || !stab_io(stab)->ifp)
+ 	    goto say_undef;
+ #ifdef HAS_SOCKET
+ 	if (optype == O_RECV) {
+ 	    argtype = sizeof buf;
+ 	    STR_GROW(st[2], anum+1), (tmps = str_get(st[2]));  /* sneaky */
+ 	    anum = recvfrom(fileno(stab_io(stab)->ifp), tmps, anum, maxarg,
+ 		buf, &argtype);
+ 	    if (anum >= 0) {
+ 		st[2]->str_cur = anum;
+ 		st[2]->str_ptr[anum] = '\0';
+ 		str_nset(str,buf,argtype);
+ 	    }
+ 	    else
+ 		str_sset(str,&str_undef);
+ 	    break;
+ 	}
+ #else
+ 	if (optype == O_RECV)
+ 	    goto badsock;
+ #endif
+ 	STR_GROW(st[2], anum+maxarg+1), (tmps = str_get(st[2]));  /* sneaky */
+ #ifdef HAS_SOCKET
+ 	if (stab_io(stab)->type == 's') {
+ 	    argtype = sizeof buf;
+ 	    anum = recvfrom(fileno(stab_io(stab)->ifp), tmps+maxarg, anum, 0,
+ 		buf, &argtype);
+ 	}
+ 	else
+ #endif
+ 	if (optype == O_SYSREAD) {
+ 	    anum = read(fileno(stab_io(stab)->ifp), tmps+maxarg, anum);
+ 	}
+ 	else
+ 	    anum = fread(tmps+maxarg, 1, anum, stab_io(stab)->ifp);
+ 	if (anum < 0)
+ 	    goto say_undef;
+ 	st[2]->str_cur = anum+maxarg;
+ 	st[2]->str_ptr[anum+maxarg] = '\0';
+ 	value = (double)anum;
+ 	goto donumset;
+     case O_SYSWRITE:
+     case O_SEND:
+ 	if ((arg[1].arg_type & A_MASK) == A_WORD)
+ 	    stab = arg[1].arg_ptr.arg_stab;
+ 	else
+ 	    stab = stabent(str_get(st[1]),TRUE);
+ 	tmps = str_get(st[2]);
+ 	anum = (int)str_gnum(st[3]);
+ 	errno = 0;
+ 	stio = stab_io(stab);
+ 	maxarg = sp - arglast[0];
+ 	if (!stio || !stio->ifp) {
+ 	    anum = -1;
+ 	    if (dowarn) {
+ 		if (optype == O_SYSWRITE)
+ 		    warn("Syswrite on closed filehandle");
+ 		else
+ 		    warn("Send on closed socket");
+ 	    }
+ 	}
+ 	else if (optype == O_SYSWRITE) {
+ 	    if (maxarg > 4)
+ 		warn("Too many args on syswrite");
+ 	    if (maxarg == 4)
+ 		optype = (int)str_gnum(st[4]);
+ 	    else
+ 		optype = 0;
+ 	    anum = write(fileno(stab_io(stab)->ifp), tmps+optype, anum);
+ 	}
+ #ifdef HAS_SOCKET
+ 	else if (maxarg >= 4) {
+ 	    if (maxarg > 4)
+ 		warn("Too many args on send");
+ 	    tmps2 = str_get(st[4]);
+ 	    anum = sendto(fileno(stab_io(stab)->ifp), tmps, st[2]->str_cur,
+ 	      anum, tmps2, st[4]->str_cur);
+ 	}
+ 	else
+ 	    anum = send(fileno(stab_io(stab)->ifp), tmps, st[2]->str_cur, anum);
+ #else
+ 	else
+ 	    goto badsock;
+ #endif
+ 	if (anum < 0)
+ 	    goto say_undef;
+ 	value = (double)anum;
+ 	goto donumset;
+     case O_SEEK:
+ 	if ((arg[1].arg_type & A_MASK) == A_WORD)
+ 	    stab = arg[1].arg_ptr.arg_stab;
+ 	else
+ 	    stab = stabent(str_get(st[1]),TRUE);
+ 	value = str_gnum(st[2]);
+ 	str_set(str, do_seek(stab,
+ 	  (long)value, (int)str_gnum(st[3]) ) ? Yes : No);
+ 	STABSET(str);
+ 	break;
+     case O_RETURN:
+ 	tmps = "_SUB_";		/* just fake up a "last _SUB_" */
+ 	optype = O_LAST;
+ 	if (curcsv && curcsv->wantarray == G_ARRAY) {
+ 	    lastretstr = Nullstr;
+ 	    lastspbase = arglast[1];
+ 	    lastsize = arglast[2] - arglast[1];
+ 	}
+ 	else
+ 	    lastretstr = str_mortal(st[arglast[2] - arglast[0]]);
+ 	goto dopop;
+     case O_REDO:
+     case O_NEXT:
+     case O_LAST:
+ 	if (maxarg > 0) {
+ 	    tmps = str_get(arg[1].arg_ptr.arg_str);
+ 	  dopop:
+ 	    while (loop_ptr >= 0 && (!loop_stack[loop_ptr].loop_label ||
+ 	      strNE(tmps,loop_stack[loop_ptr].loop_label) )) {
+ #ifdef DEBUGGING
+ 		if (debug & 4) {
+ 		    deb("(Skipping label #%d %s)\n",loop_ptr,
+ 			loop_stack[loop_ptr].loop_label);
+ 		}
+ #endif
+ 		loop_ptr--;
+ 	    }
+ #ifdef DEBUGGING
+ 	    if (debug & 4) {
+ 		deb("(Found label #%d %s)\n",loop_ptr,
+ 		    loop_stack[loop_ptr].loop_label);
+ 	    }
+ #endif
+ 	}
+ 	if (loop_ptr < 0) {
+ 	    if (tmps && strEQ(tmps, "_SUB_"))
+ 		fatal("Can't return outside a subroutine");
+ 	    fatal("Bad label: %s", maxarg > 0 ? tmps : "<null>");
+ 	}
+ 	if (!lastretstr && optype == O_LAST && lastsize) {
+ 	    st -= arglast[0];
+ 	    st += lastspbase + 1;
+ 	    optype = loop_stack[loop_ptr].loop_sp - lastspbase; /* negative */
+ 	    if (optype) {
+ 		for (anum = lastsize; anum > 0; anum--,st++)
+ 		    st[optype] = str_mortal(st[0]);
+ 	    }
+ 	    longjmp(loop_stack[loop_ptr].loop_env, O_LAST);
+ 	}
+ 	longjmp(loop_stack[loop_ptr].loop_env, optype);
+     case O_DUMP:
+     case O_GOTO:/* shudder */
+ 	goto_targ = str_get(arg[1].arg_ptr.arg_str);
+ 	if (!*goto_targ)
+ 	    goto_targ = Nullch;		/* just restart from top */
+ 	if (optype == O_DUMP) {
+ 	    do_undump = 1;
+ 	    my_unexec();
+ 	}
+ 	longjmp(top_env, 1);
+     case O_INDEX:
+ 	tmps = str_get(st[1]);
+ 	if (maxarg < 3)
+ 	    anum = 0;
+ 	else {
+ 	    anum = (int) str_gnum(st[3]) - arybase;
+ 	    if (anum < 0)
+ 		anum = 0;
+ 	    else if (anum > st[1]->str_cur)
+ 		anum = st[1]->str_cur;
+ 	}
+ #ifndef lint
+ 	if (!(tmps2 = fbminstr((unsigned char*)tmps + anum,
+ 	  (unsigned char*)tmps + st[1]->str_cur, st[2])))
+ #else
+ 	if (tmps2 = fbminstr(Null(unsigned char*),Null(unsigned char*),Nullstr))
+ #endif
+ 	    value = (double)(-1 + arybase);
+ 	else
+ 	    value = (double)(tmps2 - tmps + arybase);
+ 	goto donumset;
+     case O_RINDEX:
+ 	tmps = str_get(st[1]);
+ 	tmps2 = str_get(st[2]);
+ 	if (maxarg < 3)
+ 	    anum = st[1]->str_cur;
+ 	else {
+ 	    anum = (int) str_gnum(st[3]) - arybase + st[2]->str_cur;
+ 	    if (anum < 0)
+ 		anum = 0;
+ 	    else if (anum > st[1]->str_cur)
+ 		anum = st[1]->str_cur;
+ 	}
+ #ifndef lint
+ 	if (!(tmps2 = rninstr(tmps,  tmps  + anum,
+ 			      tmps2, tmps2 + st[2]->str_cur)))
+ #else
+ 	if (tmps2 = rninstr(Nullch,Nullch,Nullch,Nullch))
+ #endif
+ 	    value = (double)(-1 + arybase);
+ 	else
+ 	    value = (double)(tmps2 - tmps + arybase);
+ 	goto donumset;
+     case O_TIME:
+ #ifndef lint
+ 	value = (double) time(Null(long*));
+ #endif
+ 	goto donumset;
+     case O_TMS:
+ 	sp = do_tms(str,gimme,arglast);
+ 	goto array_return;
+     case O_LOCALTIME:
+ 	if (maxarg < 1)
+ 	    (void)time(&when);
+ 	else
+ 	    when = (long)str_gnum(st[1]);
+ 	sp = do_time(str,localtime(&when),
+ 	  gimme,arglast);
+ 	goto array_return;
+     case O_GMTIME:
+ 	if (maxarg < 1)
+ 	    (void)time(&when);
+ 	else
+ 	    when = (long)str_gnum(st[1]);
+ 	sp = do_time(str,gmtime(&when),
+ 	  gimme,arglast);
+ 	goto array_return;
+     case O_TRUNCATE:
+ 	sp = do_truncate(str,arg,
+ 	  gimme,arglast);
+ 	goto array_return;
+     case O_LSTAT:
+     case O_STAT:
+ 	sp = do_stat(str,arg,
+ 	  gimme,arglast);
+ 	goto array_return;
+     case O_CRYPT:
+ #ifdef HAS_CRYPT
+ 	tmps = str_get(st[1]);
+ #ifdef FCRYPT
+ 	str_set(str,fcrypt(tmps,str_get(st[2])));
+ #else
+ 	str_set(str,crypt(tmps,str_get(st[2])));
+ #endif
+ #else
+ 	fatal(
+ 	  "The crypt() function is unimplemented due to excessive paranoia.");
+ #endif
+ 	break;
+     case O_ATAN2:
+ 	value = str_gnum(st[1]);
+ 	value = atan2(value,str_gnum(st[2]));
+ 	goto donumset;
+     case O_SIN:
+ 	if (maxarg < 1)
+ 	    value = str_gnum(stab_val(defstab));
+ 	else
+ 	    value = str_gnum(st[1]);
+ 	value = sin(value);
+ 	goto donumset;
+     case O_COS:
+ 	if (maxarg < 1)
+ 	    value = str_gnum(stab_val(defstab));
+ 	else
+ 	    value = str_gnum(st[1]);
+ 	value = cos(value);
+ 	goto donumset;
+     case O_RAND:
+ 	if (maxarg < 1)
+ 	    value = 1.0;
+ 	else
+ 	    value = str_gnum(st[1]);
+ 	if (value == 0.0)
+ 	    value = 1.0;
+ #if RANDBITS == 31
+ 	value = rand() * value / 2147483648.0;
+ #else
+ #if RANDBITS == 16
+ 	value = rand() * value / 65536.0;
+ #else
+ #if RANDBITS == 15
+ 	value = rand() * value / 32768.0;
+ #else
+ 	value = rand() * value / (double)(((unsigned long)1) << RANDBITS);
+ #endif
+ #endif
+ #endif
+ 	goto donumset;
+     case O_SRAND:
+ 	if (maxarg < 1) {
+ 	    (void)time(&when);
+ 	    anum = when;
+ 	}
+ 	else
+ 	    anum = (int)str_gnum(st[1]);
+ 	(void)srand(anum);
+ 	goto say_yes;
+     case O_EXP:
+ 	if (maxarg < 1)
+ 	    value = str_gnum(stab_val(defstab));
+ 	else
+ 	    value = str_gnum(st[1]);
+ 	value = exp(value);
+ 	goto donumset;
+     case O_LOG:
+ 	if (maxarg < 1)
+ 	    value = str_gnum(stab_val(defstab));
+ 	else
+ 	    value = str_gnum(st[1]);
+ 	if (value <= 0.0)
+ 	    fatal("Can't take log of %g\n", value);
+ 	value = log(value);
+ 	goto donumset;
+     case O_SQRT:
+ 	if (maxarg < 1)
+ 	    value = str_gnum(stab_val(defstab));
+ 	else
+ 	    value = str_gnum(st[1]);
+ 	if (value < 0.0)
+ 	    fatal("Can't take sqrt of %g\n", value);
+ 	value = sqrt(value);
+ 	goto donumset;
+     case O_INT:
+ 	if (maxarg < 1)
+ 	    value = str_gnum(stab_val(defstab));
+ 	else
+ 	    value = str_gnum(st[1]);
+ 	if (value >= 0.0)
+ 	    (void)modf(value,&value);
+ 	else {
+ 	    (void)modf(-value,&value);
+ 	    value = -value;
+ 	}
+ 	goto donumset;
+     case O_ORD:
+ 	if (maxarg < 1)
+ 	    tmps = str_get(stab_val(defstab));
+ 	else
+ 	    tmps = str_get(st[1]);
+ #ifndef I286
+ 	value = (double) (*tmps & 255);
+ #else
+ 	anum = (int) *tmps;
+ 	value = (double) (anum & 255);
+ #endif
+ 	goto donumset;
+     case O_ALARM:
+ #ifdef HAS_ALARM
+ 	if (maxarg < 1)
+ 	    tmps = str_get(stab_val(defstab));
+ 	else
+ 	    tmps = str_get(st[1]);
+ 	if (!tmps)
+ 	    tmps = "0";
+ 	anum = alarm((unsigned int)atoi(tmps));
+ 	if (anum < 0)
+ 	    goto say_undef;
+ 	value = (double)anum;
+ 	goto donumset;
+ #else
+ 	fatal("Unsupported function alarm");
+ 	break;
+ #endif
+     case O_SLEEP:
+ 	if (maxarg < 1)
+ 	    tmps = Nullch;
+ 	else
+ 	    tmps = str_get(st[1]);
+ 	(void)time(&when);
+ 	if (!tmps || !*tmps)
+ 	    sleep((32767<<16)+32767);
+ 	else
+ 	    sleep((unsigned int)atoi(tmps));
+ #ifndef lint
+ 	value = (double)when;
+ 	(void)time(&when);
+ 	value = ((double)when) - value;
+ #endif
+ 	goto donumset;
+     case O_RANGE:
+ 	sp = do_range(gimme,arglast);
+ 	goto array_return;
+     case O_F_OR_R:
+ 	if (gimme == G_ARRAY) {		/* it's a range */
+ 	    /* can we optimize to constant array? */
+ 	    if ((arg[1].arg_type & A_MASK) == A_SINGLE &&
+ 	      (arg[2].arg_type & A_MASK) == A_SINGLE) {
+ 		st[2] = arg[2].arg_ptr.arg_str;
+ 		sp = do_range(gimme,arglast);
+ 		st = stack->ary_array;
+ 		maxarg = sp - arglast[0];
+ 		str_free(arg[1].arg_ptr.arg_str);
+ 		arg[1].arg_ptr.arg_str = Nullstr;
+ 		str_free(arg[2].arg_ptr.arg_str);
+ 		arg[2].arg_ptr.arg_str = Nullstr;
+ 		arg->arg_type = O_ARRAY;
+ 		arg[1].arg_type = A_STAB|A_DONT;
+ 		arg->arg_len = 1;
+ 		stab = arg[1].arg_ptr.arg_stab = aadd(genstab());
+ 		ary = stab_array(stab);
+ 		afill(ary,maxarg - 1);
+ 		anum = maxarg;
+ 		st += arglast[0]+1;
+ 		while (maxarg-- > 0)
+ 		    ary->ary_array[maxarg] = str_smake(st[maxarg]);
+ 		st -= arglast[0]+1;
+ 		goto array_return;
+ 	    }
+ 	    arg->arg_type = optype = O_RANGE;
+ 	    maxarg = arg->arg_len = 2;
+ 	    anum = 2;
+ 	    arg[anum].arg_flags &= ~AF_ARYOK;
+ 	    argflags = arg[anum].arg_flags;
+ 	    argtype = arg[anum].arg_type & A_MASK;
+ 	    arg[anum].arg_type = argtype;
+ 	    argptr = arg[anum].arg_ptr;
+ 	    sp = arglast[0];
+ 	    st -= sp;
+ 	    sp++;
+ 	    goto re_eval;
+ 	}
+ 	arg->arg_type = O_FLIP;
+ 	/* FALL THROUGH */
+     case O_FLIP:
+ 	if ((arg[1].arg_type & A_MASK) == A_SINGLE ?
+ 	  last_in_stab && (int)str_gnum(st[1]) == stab_io(last_in_stab)->lines
+ 	  :
+ 	  str_true(st[1]) ) {
+ 	    str_numset(str,0.0);
+ 	    anum = 2;
+ 	    arg->arg_type = optype = O_FLOP;
+ 	    arg[2].arg_type &= ~A_DONT;
+ 	    arg[1].arg_type |= A_DONT;
+ 	    argflags = arg[2].arg_flags;
+ 	    argtype = arg[2].arg_type & A_MASK;
+ 	    argptr = arg[2].arg_ptr;
+ 	    sp = arglast[0];
+ 	    st -= sp++;
+ 	    goto re_eval;
+ 	}
+ 	str_set(str,"");
+ 	break;
+     case O_FLOP:
+ 	str_inc(str);
+ 	if ((arg[2].arg_type & A_MASK) == A_SINGLE ?
+ 	  last_in_stab && (int)str_gnum(st[2]) == stab_io(last_in_stab)->lines
+ 	  :
+ 	  str_true(st[2]) ) {
+ 	    arg->arg_type = O_FLIP;
+ 	    arg[1].arg_type &= ~A_DONT;
+ 	    arg[2].arg_type |= A_DONT;
+ 	    str_cat(str,"E0");
+ 	}
+ 	break;
+     case O_FORK:
+ #ifdef HAS_FORK
+ 	anum = fork();
+ 	if (anum < 0)
+ 	    goto say_undef;
+ 	if (!anum) {
+ 	    if (tmpstab = stabent("$",allstabs))
+ 		str_numset(STAB_STR(tmpstab),(double)getpid());
+ 	    hclear(pidstatus);	/* no kids, so don't wait for 'em */
+ 	}
+ 	value = (double)anum;
+ 	goto donumset;
+ #else
+ 	fatal("Unsupported function fork");
+ 	break;
+ #endif
+     case O_WAIT:
+ #ifdef HAS_WAIT
+ #ifndef lint
+ 	anum = wait(&argflags);
+ 	if (anum > 0)
+ 	    pidgone(anum,argflags);
+ 	value = (double)anum;
+ #endif
+ 	statusvalue = (unsigned short)argflags;
+ 	goto donumset;
+ #else
+ 	fatal("Unsupported function wait");
+ 	break;
+ #endif
+     case O_WAITPID:
+ #ifdef HAS_WAIT
+ #ifndef lint
+ 	anum = (int)str_gnum(st[1]);
+ 	optype = (int)str_gnum(st[2]);
+ 	anum = wait4pid(anum, &argflags,optype);
+ 	value = (double)anum;
+ #endif
+ 	statusvalue = (unsigned short)argflags;
+ 	goto donumset;
+ #else
+ 	fatal("Unsupported function wait");
+ 	break;
+ #endif
+     case O_SYSTEM:
+ #ifdef HAS_FORK
+ #ifdef TAINT
+ 	if (arglast[2] - arglast[1] == 1) {
+ 	    taintenv();
+ 	    tainted |= st[2]->str_tainted;
+ 	    taintproper("Insecure dependency in system");
+ 	}
+ #endif
+ 	while ((anum = vfork()) == -1) {
+ 	    if (errno != EAGAIN) {
+ 		value = -1.0;
+ 		goto donumset;
+ 	    }
+ 	    sleep(5);
+ 	}
+ 	if (anum > 0) {
+ #ifndef lint
+ 	    ihand = signal(SIGINT, SIG_IGN);
+ 	    qhand = signal(SIGQUIT, SIG_IGN);
+ 	    argtype = wait4pid(anum, &argflags, 0);
+ #else
+ 	    ihand = qhand = 0;
+ #endif
+ 	    (void)signal(SIGINT, ihand);
+ 	    (void)signal(SIGQUIT, qhand);
+ 	    statusvalue = (unsigned short)argflags;
+ 	    if (argtype < 0)
+ 		value = -1.0;
+ 	    else {
+ 		value = (double)((unsigned int)argflags & 0xffff);
+ 	    }
+ 	    do_execfree();	/* free any memory child malloced on vfork */
+ 	    goto donumset;
+ 	}
+ 	if ((arg[1].arg_type & A_MASK) == A_STAB)
+ 	    value = (double)do_aexec(st[1],arglast);
+ 	else if (arglast[2] - arglast[1] != 1)
+ 	    value = (double)do_aexec(Nullstr,arglast);
+ 	else {
+ 	    value = (double)do_exec(str_get(str_mortal(st[2])));
+ 	}
+ 	_exit(-1);
+ #else /* ! FORK */
+ 	if ((arg[1].arg_type & A_MASK) == A_STAB)
+ 	    value = (double)do_aspawn(st[1],arglast);
+ 	else if (arglast[2] - arglast[1] != 1)
+ 	    value = (double)do_aspawn(Nullstr,arglast);
+ 	else {
+ 	    value = (double)do_spawn(str_get(str_mortal(st[2])));
+ 	}
+ 	goto donumset;
+ #endif /* FORK */
+     case O_EXEC_OP:
+ 	if ((arg[1].arg_type & A_MASK) == A_STAB)
+ 	    value = (double)do_aexec(st[1],arglast);
+ 	else if (arglast[2] - arglast[1] != 1)
+ 	    value = (double)do_aexec(Nullstr,arglast);
+ 	else {
+ 	    value = (double)do_exec(str_get(str_mortal(st[2])));
+ 	}
+ 	goto donumset;
+     case O_HEX:
+ 	if (maxarg < 1)
+ 	    tmps = str_get(stab_val(defstab));
+ 	else
+ 	    tmps = str_get(st[1]);
+ 	value = (double)scanhex(tmps, 99, &argtype);
+ 	goto donumset;
+ 
+     case O_OCT:
+ 	if (maxarg < 1)
+ 	    tmps = str_get(stab_val(defstab));
+ 	else
+ 	    tmps = str_get(st[1]);
+ 	while (*tmps && isascii(*tmps) && (isspace(*tmps) || *tmps == '0'))
+ 	    tmps++;
+ 	if (*tmps == 'x')
+ 	    value = (double)scanhex(++tmps, 99, &argtype);
+ 	else
+ 	    value = (double)scanoct(tmps, 99, &argtype);
+ 	goto donumset;
+ 
+ /* These common exits are hidden here in the middle of the switches for the
+ /* benefit of those machines with limited branch addressing.  Sigh.  */
+ 
+ array_return:
+ #ifdef DEBUGGING
+     if (debug) {
+ 	dlevel--;
+ 	if (debug & 8) {
+ 	    anum = sp - arglast[0];
+ 	    switch (anum) {
+ 	    case 0:
+ 		deb("%s RETURNS ()\n",opname[optype]);
+ 		break;
+ 	    case 1:
+ 		deb("%s RETURNS (\"%s\")\n",opname[optype],str_get(st[1]));
+ 		break;
+ 	    default:
+ 		tmps = str_get(st[1]);
+ 		deb("%s RETURNS %d ARGS (\"%s\",%s\"%s\")\n",opname[optype],
+ 		  anum,tmps,anum==2?"":"...,",str_get(st[anum]));
+ 		break;
+ 	    }
+ 	}
+     }
+ #endif
+     return sp;
+ 
+ say_yes:
+     str = &str_yes;
+     goto normal_return;
+ 
+ say_no:
+     str = &str_no;
+     goto normal_return;
+ 
+ say_undef:
+     str = &str_undef;
+     goto normal_return;
+ 
+ say_zero:
+     value = 0.0;
+     /* FALL THROUGH */
+ 
+ donumset:
+     str_numset(str,value);
+     STABSET(str);
+     st[1] = str;
+ #ifdef DEBUGGING
+     if (debug) {
+ 	dlevel--;
+ 	if (debug & 8)
+ 	    deb("%s RETURNS \"%f\"\n",opname[optype],value);
+     }
+ #endif
+     return arglast[0] + 1;
+ #ifdef SMALLSWITCHES
+     }
+     else
+     switch (optype) {
+ #endif
+     case O_CHOWN:
+ #ifdef HAS_CHOWN
+ 	value = (double)apply(optype,arglast);
+ 	goto donumset;
+ #else
+ 	fatal("Unsupported function chown");
+ 	break;
+ #endif
+     case O_KILL:
+ #ifdef HAS_KILL
+ 	value = (double)apply(optype,arglast);
+ 	goto donumset;
+ #else
+ 	fatal("Unsupported function kill");
+ 	break;
+ #endif
+     case O_UNLINK:
+     case O_CHMOD:
+     case O_UTIME:
+ 	value = (double)apply(optype,arglast);
+ 	goto donumset;
+     case O_UMASK:
+ #ifdef HAS_UMASK
+ 	if (maxarg < 1) {
+ 	    anum = umask(0);
+ 	    (void)umask(anum);
+ 	}
+ 	else
+ 	    anum = umask((int)str_gnum(st[1]));
+ 	value = (double)anum;
+ #ifdef TAINT
+ 	taintproper("Insecure dependency in umask");
+ #endif
+ 	goto donumset;
+ #else
+ 	fatal("Unsupported function umask");
+ 	break;
+ #endif
+ #if defined(HAS_MSG) || defined(HAS_SEM) || defined(HAS_SHM)
+     case O_MSGGET:
+     case O_SHMGET:
+     case O_SEMGET:
+ 	if ((anum = do_ipcget(optype, arglast)) == -1)
+ 	    goto say_undef;
+ 	value = (double)anum;
+ 	goto donumset;
+     case O_MSGCTL:
+     case O_SHMCTL:
+     case O_SEMCTL:
+ 	anum = do_ipcctl(optype, arglast);
+ 	if (anum == -1)
+ 	    goto say_undef;
+ 	if (anum != 0) {
+ 	    value = (double)anum;
+ 	    goto donumset;
+ 	}
+ 	str_set(str,"0 but true");
+ 	STABSET(str);
+ 	break;
+     case O_MSGSND:
+ 	value = (double)(do_msgsnd(arglast) >= 0);
+ 	goto donumset;
+     case O_MSGRCV:
+ 	value = (double)(do_msgrcv(arglast) >= 0);
+ 	goto donumset;
+     case O_SEMOP:
+ 	value = (double)(do_semop(arglast) >= 0);
+ 	goto donumset;
+     case O_SHMREAD:
+     case O_SHMWRITE:
+ 	value = (double)(do_shmio(optype, arglast) >= 0);
+ 	goto donumset;
+ #else /* not SYSVIPC */
+     case O_MSGGET:
+     case O_MSGCTL:
+     case O_MSGSND:
+     case O_MSGRCV:
+     case O_SEMGET:
+     case O_SEMCTL:
+     case O_SEMOP:
+     case O_SHMGET:
+     case O_SHMCTL:
+     case O_SHMREAD:
+     case O_SHMWRITE:
+ 	fatal("System V IPC is not implemented on this machine");
+ #endif /* not SYSVIPC */
+     case O_RENAME:
+ 	tmps = str_get(st[1]);
+ 	tmps2 = str_get(st[2]);
+ #ifdef TAINT
+ 	taintproper("Insecure dependency in rename");
+ #endif
+ #ifdef HAS_RENAME
+ 	value = (double)(rename(tmps,tmps2) >= 0);
+ #else
+ 	if (same_dirent(tmps2, tmps))	/* can always rename to same name */
+ 	    anum = 1;
+ 	else {
+ 	    if (euid || stat(tmps2,&statbuf) < 0 || !S_ISDIR(statbuf.st_mode))
+ 		(void)UNLINK(tmps2);
+ 	    if (!(anum = link(tmps,tmps2)))
+ 		anum = UNLINK(tmps);
+ 	}
+ 	value = (double)(anum >= 0);
+ #endif
+ 	goto donumset;
+     case O_LINK:
+ #ifdef HAS_LINK
+ 	tmps = str_get(st[1]);
+ 	tmps2 = str_get(st[2]);
+ #ifdef TAINT
+ 	taintproper("Insecure dependency in link");
+ #endif
+ 	value = (double)(link(tmps,tmps2) >= 0);
+ 	goto donumset;
+ #else
+ 	fatal("Unsupported function link");
+ 	break;
+ #endif
+     case O_MKDIR:
+ 	tmps = str_get(st[1]);
+ 	anum = (int)str_gnum(st[2]);
+ #ifdef TAINT
+ 	taintproper("Insecure dependency in mkdir");
+ #endif
+ #ifdef HAS_MKDIR
+ 	value = (double)(mkdir(tmps,anum) >= 0);
+ 	goto donumset;
+ #else
+ 	(void)strcpy(buf,"mkdir ");
+ #endif
+ #if !defined(HAS_MKDIR) || !defined(HAS_RMDIR)
+       one_liner:
+ 	for (tmps2 = buf+6; *tmps; ) {
+ 	    *tmps2++ = '\\';
+ 	    *tmps2++ = *tmps++;
+ 	}
+ 	(void)strcpy(tmps2," 2>&1");
+ 	rsfp = mypopen(buf,"r");
+ 	if (rsfp) {
+ 	    *buf = '\0';
+ 	    tmps2 = fgets(buf,sizeof buf,rsfp);
+ 	    (void)mypclose(rsfp);
+ 	    if (tmps2 != Nullch) {
+ 		for (errno = 1; errno < sys_nerr; errno++) {
+ 		    if (instr(buf,sys_errlist[errno]))	/* you don't see this */
+ 			goto say_zero;
+ 		}
+ 		errno = 0;
+ #ifndef EACCES
+ #define EACCES EPERM
+ #endif
+ 		if (instr(buf,"cannot make"))
+ 		    errno = EEXIST;
+ 		else if (instr(buf,"existing file"))
+ 		    errno = EEXIST;
+ 		else if (instr(buf,"ile exists"))
+ 		    errno = EEXIST;
+ 		else if (instr(buf,"non-exist"))
+ 		    errno = ENOENT;
+ 		else if (instr(buf,"does not exist"))
+ 		    errno = ENOENT;
+ 		else if (instr(buf,"not empty"))
+ 		    errno = EBUSY;
+ 		else if (instr(buf,"cannot access"))
+ 		    errno = EACCES;
+ 		else
+ 		    errno = EPERM;
+ 		goto say_zero;
+ 	    }
+ 	    else {	/* some mkdirs return no failure indication */
+ 		tmps = str_get(st[1]);
+ 		anum = (stat(tmps,&statbuf) >= 0);
+ 		if (optype == O_RMDIR)
+ 		    anum = !anum;
+ 		if (anum)
+ 		    errno = 0;
+ 		else
+ 		    errno = EACCES;	/* a guess */
+ 		value = (double)anum;
+ 	    }
+ 	    goto donumset;
+ 	}
+ 	else
+ 	    goto say_zero;
+ #endif
+     case O_RMDIR:
+ 	if (maxarg < 1)
+ 	    tmps = str_get(stab_val(defstab));
+ 	else
+ 	    tmps = str_get(st[1]);
+ #ifdef TAINT
+ 	taintproper("Insecure dependency in rmdir");
+ #endif
+ #ifdef HAS_RMDIR
+ 	value = (double)(rmdir(tmps) >= 0);
+ 	goto donumset;
+ #else
+ 	(void)strcpy(buf,"rmdir ");
+ 	goto one_liner;		/* see above in HAS_MKDIR */
+ #endif
+     case O_GETPPID:
+ #ifdef HAS_GETPPID
+ 	value = (double)getppid();
+ 	goto donumset;
+ #else
+ 	fatal("Unsupported function getppid");
+ 	break;
+ #endif
+     case O_GETPGRP:
+ #ifdef HAS_GETPGRP
+ 	if (maxarg < 1)
+ 	    anum = 0;
+ 	else
+ 	    anum = (int)str_gnum(st[1]);
+ 	value = (double)getpgrp(anum);
+ 	goto donumset;
+ #else
+ 	fatal("The getpgrp() function is unimplemented on this machine");
+ 	break;
+ #endif
+     case O_SETPGRP:
+ #ifdef HAS_SETPGRP
+ 	argtype = (int)str_gnum(st[1]);
+ 	anum = (int)str_gnum(st[2]);
+ #ifdef TAINT
+ 	taintproper("Insecure dependency in setpgrp");
+ #endif
+ 	value = (double)(setpgrp(argtype,anum) >= 0);
+ 	goto donumset;
+ #else
+ 	fatal("The setpgrp() function is unimplemented on this machine");
+ 	break;
+ #endif
+     case O_GETPRIORITY:
+ #ifdef HAS_GETPRIORITY
+ 	argtype = (int)str_gnum(st[1]);
+ 	anum = (int)str_gnum(st[2]);
+ 	value = (double)getpriority(argtype,anum);
+ 	goto donumset;
+ #else
+ 	fatal("The getpriority() function is unimplemented on this machine");
+ 	break;
+ #endif
+     case O_SETPRIORITY:
+ #ifdef HAS_SETPRIORITY
+ 	argtype = (int)str_gnum(st[1]);
+ 	anum = (int)str_gnum(st[2]);
+ 	optype = (int)str_gnum(st[3]);
+ #ifdef TAINT
+ 	taintproper("Insecure dependency in setpriority");
+ #endif
+ 	value = (double)(setpriority(argtype,anum,optype) >= 0);
+ 	goto donumset;
+ #else
+ 	fatal("The setpriority() function is unimplemented on this machine");
+ 	break;
+ #endif
+     case O_CHROOT:
+ #ifdef HAS_CHROOT
+ 	if (maxarg < 1)
+ 	    tmps = str_get(stab_val(defstab));
+ 	else
+ 	    tmps = str_get(st[1]);
+ #ifdef TAINT
+ 	taintproper("Insecure dependency in chroot");
+ #endif
+ 	value = (double)(chroot(tmps) >= 0);
+ 	goto donumset;
+ #else
+ 	fatal("Unsupported function chroot");
+ 	break;
+ #endif
+     case O_FCNTL:
+     case O_IOCTL:
+ 	if (maxarg <= 0)
+ 	    stab = last_in_stab;
+ 	else if ((arg[1].arg_type & A_MASK) == A_WORD)
+ 	    stab = arg[1].arg_ptr.arg_stab;
+ 	else
+ 	    stab = stabent(str_get(st[1]),TRUE);
+ 	argtype = U_I(str_gnum(st[2]));
+ #ifdef TAINT
+ 	taintproper("Insecure dependency in ioctl");
+ #endif
+ 	anum = do_ctl(optype,stab,argtype,st[3]);
+ 	if (anum == -1)
+ 	    goto say_undef;
+ 	if (anum != 0) {
+ 	    value = (double)anum;
+ 	    goto donumset;
+ 	}
+ 	str_set(str,"0 but true");
+ 	STABSET(str);
+ 	break;
+     case O_FLOCK:
+ #ifdef HAS_FLOCK
+ 	if (maxarg <= 0)
+ 	    stab = last_in_stab;
+ 	else if ((arg[1].arg_type & A_MASK) == A_WORD)
+ 	    stab = arg[1].arg_ptr.arg_stab;
+ 	else
+ 	    stab = stabent(str_get(st[1]),TRUE);
+ 	if (stab && stab_io(stab))
+ 	    fp = stab_io(stab)->ifp;
+ 	else
+ 	    fp = Nullfp;
+ 	if (fp) {
+ 	    argtype = (int)str_gnum(st[2]);
+ 	    value = (double)(flock(fileno(fp),argtype) >= 0);
+ 	}
+ 	else
+ 	    value = 0;
+ 	goto donumset;
+ #else
+ 	fatal("The flock() function is unimplemented on this machine");
+ 	break;
+ #endif
+     case O_UNSHIFT:
+ 	ary = stab_array(arg[1].arg_ptr.arg_stab);
+ 	if (arglast[2] - arglast[1] != 1)
+ 	    do_unshift(ary,arglast);
+ 	else {
+ 	    STR *tmpstr = Str_new(52,0);	/* must copy the STR */
+ 	    str_sset(tmpstr,st[2]);
+ 	    aunshift(ary,1);
+ 	    (void)astore(ary,0,tmpstr);
+ 	}
+ 	value = (double)(ary->ary_fill + 1);
+ 	goto donumset;
+ 
+     case O_REQUIRE:
+     case O_DOFILE:
+     case O_EVAL:
+ 	if (maxarg < 1)
+ 	    tmpstr = stab_val(defstab);
+ 	else
+ 	    tmpstr =
+ 	      (arg[1].arg_type & A_MASK) != A_NULL ? st[1] : stab_val(defstab);
+ #ifdef TAINT
+ 	tainted |= tmpstr->str_tainted;
+ 	taintproper("Insecure dependency in eval");
+ #endif
+ 	sp = do_eval(tmpstr, optype, curcmd->c_stash,
+ 	    gimme,arglast);
+ 	goto array_return;
+ 
+     case O_FTRREAD:
+ 	argtype = 0;
+ 	anum = S_IRUSR;
+ 	goto check_perm;
+     case O_FTRWRITE:
+ 	argtype = 0;
+ 	anum = S_IWUSR;
+ 	goto check_perm;
+     case O_FTREXEC:
+ 	argtype = 0;
+ 	anum = S_IXUSR;
+ 	goto check_perm;
+     case O_FTEREAD:
+ 	argtype = 1;
+ 	anum = S_IRUSR;
+ 	goto check_perm;
+     case O_FTEWRITE:
+ 	argtype = 1;
+ 	anum = S_IWUSR;
+ 	goto check_perm;
+     case O_FTEEXEC:
+ 	argtype = 1;
+ 	anum = S_IXUSR;
+       check_perm:
+ 	if (mystat(arg,st[1]) < 0)
+ 	    goto say_undef;
+ 	if (cando(anum,argtype,&statcache))
+ 	    goto say_yes;
+ 	goto say_no;
+ 
+     case O_FTIS:
+ 	if (mystat(arg,st[1]) < 0)
+ 	    goto say_undef;
+ 	goto say_yes;
+     case O_FTEOWNED:
+     case O_FTROWNED:
+ 	if (mystat(arg,st[1]) < 0)
+ 	    goto say_undef;
+ 	if (statcache.st_uid == (optype == O_FTEOWNED ? euid : uid) )
+ 	    goto say_yes;
+ 	goto say_no;
+     case O_FTZERO:
+ 	if (mystat(arg,st[1]) < 0)
+ 	    goto say_undef;
+ 	if (!statcache.st_size)
+ 	    goto say_yes;
+ 	goto say_no;
+     case O_FTSIZE:
+ 	if (mystat(arg,st[1]) < 0)
+ 	    goto say_undef;
+ 	value = (double)statcache.st_size;
+ 	goto donumset;
+ 
+     case O_FTMTIME:
+ 	if (mystat(arg,st[1]) < 0)
+ 	    goto say_undef;
+ 	value = (double)(basetime - statcache.st_mtime) / 86400.0;
+ 	goto donumset;
+     case O_FTATIME:
+ 	if (mystat(arg,st[1]) < 0)
+ 	    goto say_undef;
+ 	value = (double)(basetime - statcache.st_atime) / 86400.0;
+ 	goto donumset;
+     case O_FTCTIME:
+ 	if (mystat(arg,st[1]) < 0)
+ 	    goto say_undef;
+ 	value = (double)(basetime - statcache.st_ctime) / 86400.0;
+ 	goto donumset;
+ 
+     case O_FTSOCK:
+ 	if (mystat(arg,st[1]) < 0)
+ 	    goto say_undef;
+ 	if (S_ISSOCK(statcache.st_mode))
+ 	    goto say_yes;
+ 	goto say_no;
+     case O_FTCHR:
+ 	if (mystat(arg,st[1]) < 0)
+ 	    goto say_undef;
+ 	if (S_ISCHR(statcache.st_mode))
+ 	    goto say_yes;
+ 	goto say_no;
+     case O_FTBLK:
+ 	if (mystat(arg,st[1]) < 0)
+ 	    goto say_undef;
+ 	if (S_ISBLK(statcache.st_mode))
+ 	    goto say_yes;
+ 	goto say_no;
+     case O_FTFILE:
+ 	if (mystat(arg,st[1]) < 0)
+ 	    goto say_undef;
+ 	if (S_ISREG(statcache.st_mode))
+ 	    goto say_yes;
+ 	goto say_no;
+     case O_FTDIR:
+ 	if (mystat(arg,st[1]) < 0)
+ 	    goto say_undef;
+ 	if (S_ISDIR(statcache.st_mode))
+ 	    goto say_yes;
+ 	goto say_no;
+     case O_FTPIPE:
+ 	if (mystat(arg,st[1]) < 0)
+ 	    goto say_undef;
+ 	if (S_ISFIFO(statcache.st_mode))
+ 	    goto say_yes;
+ 	goto say_no;
+     case O_FTLINK:
+ 	if (mylstat(arg,st[1]) < 0)
+ 	    goto say_undef;
+ 	if (S_ISLNK(statcache.st_mode))
+ 	    goto say_yes;
+ 	goto say_no;
+     case O_SYMLINK:
+ #ifdef HAS_SYMLINK
+ 	tmps = str_get(st[1]);
+ 	tmps2 = str_get(st[2]);
+ #ifdef TAINT
+ 	taintproper("Insecure dependency in symlink");
+ #endif
+ 	value = (double)(symlink(tmps,tmps2) >= 0);
+ 	goto donumset;
+ #else
+ 	fatal("Unsupported function symlink");
+ #endif
+     case O_READLINK:
+ #ifdef HAS_SYMLINK
+ 	if (maxarg < 1)
+ 	    tmps = str_get(stab_val(defstab));
+ 	else
+ 	    tmps = str_get(st[1]);
+ 	anum = readlink(tmps,buf,sizeof buf);
+ 	if (anum < 0)
+ 	    goto say_undef;
+ 	str_nset(str,buf,anum);
+ 	break;
+ #else
+ 	goto say_undef;		/* just pretend it's a normal file */
+ #endif
+     case O_FTSUID:
+ #ifdef S_ISUID
+ 	anum = S_ISUID;
+ 	goto check_xid;
+ #else
+ 	goto say_no;
+ #endif
+     case O_FTSGID:
+ #ifdef S_ISGID
+ 	anum = S_ISGID;
+ 	goto check_xid;
+ #else
+ 	goto say_no;
+ #endif
+     case O_FTSVTX:
+ #ifdef S_ISVTX
+ 	anum = S_ISVTX;
+ #else
+ 	goto say_no;
+ #endif
+       check_xid:
+ 	if (mystat(arg,st[1]) < 0)
+ 	    goto say_undef;
+ 	if (statcache.st_mode & anum)
+ 	    goto say_yes;
+ 	goto say_no;
+     case O_FTTTY:
+ 	if (arg[1].arg_type & A_DONT) {
+ 	    stab = arg[1].arg_ptr.arg_stab;
+ 	    tmps = "";
+ 	}
+ 	else
+ 	    stab = stabent(tmps = str_get(st[1]),FALSE);
+ 	if (stab && stab_io(stab) && stab_io(stab)->ifp)
+ 	    anum = fileno(stab_io(stab)->ifp);
+ 	else if (isdigit(*tmps))
+ 	    anum = atoi(tmps);
+ 	else
+ 	    goto say_undef;
+ 	if (isatty(anum))
+ 	    goto say_yes;
+ 	goto say_no;
+     case O_FTTEXT:
+     case O_FTBINARY:
+ 	str = do_fttext(arg,st[1]);
+ 	break;
+ #ifdef HAS_SOCKET
+     case O_SOCKET:
+ 	if ((arg[1].arg_type & A_MASK) == A_WORD)
+ 	    stab = arg[1].arg_ptr.arg_stab;
+ 	else
+ 	    stab = stabent(str_get(st[1]),TRUE);
+ #ifndef lint
+ 	value = (double)do_socket(stab,arglast);
+ #else
+ 	(void)do_socket(stab,arglast);
+ #endif
+ 	goto donumset;
+     case O_BIND:
+ 	if ((arg[1].arg_type & A_MASK) == A_WORD)
+ 	    stab = arg[1].arg_ptr.arg_stab;
+ 	else
+ 	    stab = stabent(str_get(st[1]),TRUE);
+ #ifndef lint
+ 	value = (double)do_bind(stab,arglast);
+ #else
+ 	(void)do_bind(stab,arglast);
+ #endif
+ 	goto donumset;
+     case O_CONNECT:
+ 	if ((arg[1].arg_type & A_MASK) == A_WORD)
+ 	    stab = arg[1].arg_ptr.arg_stab;
+ 	else
+ 	    stab = stabent(str_get(st[1]),TRUE);
+ #ifndef lint
+ 	value = (double)do_connect(stab,arglast);
+ #else
+ 	(void)do_connect(stab,arglast);
+ #endif
+ 	goto donumset;
+     case O_LISTEN:
+ 	if ((arg[1].arg_type & A_MASK) == A_WORD)
+ 	    stab = arg[1].arg_ptr.arg_stab;
+ 	else
+ 	    stab = stabent(str_get(st[1]),TRUE);
+ #ifndef lint
+ 	value = (double)do_listen(stab,arglast);
+ #else
+ 	(void)do_listen(stab,arglast);
+ #endif
+ 	goto donumset;
+     case O_ACCEPT:
+ 	if ((arg[1].arg_type & A_MASK) == A_WORD)
+ 	    stab = arg[1].arg_ptr.arg_stab;
+ 	else
+ 	    stab = stabent(str_get(st[1]),TRUE);
+ 	if ((arg[2].arg_type & A_MASK) == A_WORD)
+ 	    stab2 = arg[2].arg_ptr.arg_stab;
+ 	else
+ 	    stab2 = stabent(str_get(st[2]),TRUE);
+ 	do_accept(str,stab,stab2);
+ 	STABSET(str);
+ 	break;
+     case O_GHBYNAME:
+ 	if (maxarg < 1)
+ 	    goto say_undef;
+     case O_GHBYADDR:
+     case O_GHOSTENT:
+ 	sp = do_ghent(optype,
+ 	  gimme,arglast);
+ 	goto array_return;
+     case O_GNBYNAME:
+ 	if (maxarg < 1)
+ 	    goto say_undef;
+     case O_GNBYADDR:
+     case O_GNETENT:
+ 	sp = do_gnent(optype,
+ 	  gimme,arglast);
+ 	goto array_return;
+     case O_GPBYNAME:
+ 	if (maxarg < 1)
+ 	    goto say_undef;
+     case O_GPBYNUMBER:
+     case O_GPROTOENT:
+ 	sp = do_gpent(optype,
+ 	  gimme,arglast);
+ 	goto array_return;
+     case O_GSBYNAME:
+ 	if (maxarg < 1)
+ 	    goto say_undef;
+     case O_GSBYPORT:
+     case O_GSERVENT:
+ 	sp = do_gsent(optype,
+ 	  gimme,arglast);
+ 	goto array_return;
+     case O_SHOSTENT:
+ 	value = (double) sethostent((int)str_gnum(st[1]));
+ 	goto donumset;
+     case O_SNETENT:
+ 	value = (double) setnetent((int)str_gnum(st[1]));
+ 	goto donumset;
+     case O_SPROTOENT:
+ 	value = (double) setprotoent((int)str_gnum(st[1]));
+ 	goto donumset;
+     case O_SSERVENT:
+ 	value = (double) setservent((int)str_gnum(st[1]));
+ 	goto donumset;
+     case O_EHOSTENT:
+ 	value = (double) endhostent();
+ 	goto donumset;
+     case O_ENETENT:
+ 	value = (double) endnetent();
+ 	goto donumset;
+     case O_EPROTOENT:
+ 	value = (double) endprotoent();
+ 	goto donumset;
+     case O_ESERVENT:
+ 	value = (double) endservent();
+ 	goto donumset;
+     case O_SOCKPAIR:
+ 	if ((arg[1].arg_type & A_MASK) == A_WORD)
+ 	    stab = arg[1].arg_ptr.arg_stab;
+ 	else
+ 	    stab = stabent(str_get(st[1]),TRUE);
+ 	if ((arg[2].arg_type & A_MASK) == A_WORD)
+ 	    stab2 = arg[2].arg_ptr.arg_stab;
+ 	else
+ 	    stab2 = stabent(str_get(st[2]),TRUE);
+ #ifndef lint
+ 	value = (double)do_spair(stab,stab2,arglast);
+ #else
+ 	(void)do_spair(stab,stab2,arglast);
+ #endif
+ 	goto donumset;
+     case O_SHUTDOWN:
+ 	if ((arg[1].arg_type & A_MASK) == A_WORD)
+ 	    stab = arg[1].arg_ptr.arg_stab;
+ 	else
+ 	    stab = stabent(str_get(st[1]),TRUE);
+ #ifndef lint
+ 	value = (double)do_shutdown(stab,arglast);
+ #else
+ 	(void)do_shutdown(stab,arglast);
+ #endif
+ 	goto donumset;
+     case O_GSOCKOPT:
+     case O_SSOCKOPT:
+ 	if ((arg[1].arg_type & A_MASK) == A_WORD)
+ 	    stab = arg[1].arg_ptr.arg_stab;
+ 	else
+ 	    stab = stabent(str_get(st[1]),TRUE);
+ 	sp = do_sopt(optype,stab,arglast);
+ 	goto array_return;
+     case O_GETSOCKNAME:
+     case O_GETPEERNAME:
+ 	if ((arg[1].arg_type & A_MASK) == A_WORD)
+ 	    stab = arg[1].arg_ptr.arg_stab;
+ 	else
+ 	    stab = stabent(str_get(st[1]),TRUE);
+ 	if (!stab)
+ 	    goto say_undef;
+ 	sp = do_getsockname(optype,stab,arglast);
+ 	goto array_return;
+ 
+ #else /* HAS_SOCKET not defined */
+     case O_SOCKET:
+     case O_BIND:
+     case O_CONNECT:
+     case O_LISTEN:
+     case O_ACCEPT:
+     case O_SOCKPAIR:
+     case O_GHBYNAME:
+     case O_GHBYADDR:
+     case O_GHOSTENT:
+     case O_GNBYNAME:
+     case O_GNBYADDR:
+     case O_GNETENT:
+     case O_GPBYNAME:
+     case O_GPBYNUMBER:
+     case O_GPROTOENT:
+     case O_GSBYNAME:
+     case O_GSBYPORT:
+     case O_GSERVENT:
+     case O_SHOSTENT:
+     case O_SNETENT:
+     case O_SPROTOENT:
+     case O_SSERVENT:
+     case O_EHOSTENT:
+     case O_ENETENT:
+     case O_EPROTOENT:
+     case O_ESERVENT:
+     case O_SHUTDOWN:
+     case O_GSOCKOPT:
+     case O_SSOCKOPT:
+     case O_GETSOCKNAME:
+     case O_GETPEERNAME:
+       badsock:
+ 	fatal("Unsupported socket function");
+ #endif /* HAS_SOCKET */
+     case O_SSELECT:
+ #ifdef HAS_SELECT
+ 	sp = do_select(gimme,arglast);
+ 	goto array_return;
+ #else
+ 	fatal("select not implemented");
+ #endif
+     case O_FILENO:
+ 	if (maxarg < 1)
+ 	    goto say_undef;
+ 	if ((arg[1].arg_type & A_MASK) == A_WORD)
+ 	    stab = arg[1].arg_ptr.arg_stab;
+ 	else
+ 	    stab = stabent(str_get(st[1]),TRUE);
+ 	if (!stab || !(stio = stab_io(stab)) || !(fp = stio->ifp))
+ 	    goto say_undef;
+ 	value = fileno(fp);
+ 	goto donumset;
+     case O_BINMODE:
+ 	if (maxarg < 1)
+ 	    goto say_undef;
+ 	if ((arg[1].arg_type & A_MASK) == A_WORD)
+ 	    stab = arg[1].arg_ptr.arg_stab;
+ 	else
+ 	    stab = stabent(str_get(st[1]),TRUE);
+ 	if (!stab || !(stio = stab_io(stab)) || !(fp = stio->ifp))
+ 	    goto say_undef;
+ #ifdef MSDOS
+ 	str_set(str, (setmode(fileno(fp), O_BINARY) != -1) ? Yes : No);
+ #else
+ 	str_set(str, Yes);
+ #endif
+ 	STABSET(str);
+ 	break;
+     case O_VEC:
+ 	sp = do_vec(str == st[1], arg->arg_ptr.arg_str, arglast);
+ 	goto array_return;
+     case O_GPWNAM:
+     case O_GPWUID:
+     case O_GPWENT:
+ #ifdef HAS_PASSWD
+ 	sp = do_gpwent(optype,
+ 	  gimme,arglast);
+ 	goto array_return;
+     case O_SPWENT:
+ 	value = (double) setpwent();
+ 	goto donumset;
+     case O_EPWENT:
+ 	value = (double) endpwent();
+ 	goto donumset;
+ #else
+     case O_EPWENT:
+     case O_SPWENT:
+ 	fatal("Unsupported password function");
+ 	break;
+ #endif
+     case O_GGRNAM:
+     case O_GGRGID:
+     case O_GGRENT:
+ #ifdef HAS_GROUP
+ 	sp = do_ggrent(optype,
+ 	  gimme,arglast);
+ 	goto array_return;
+     case O_SGRENT:
+ 	value = (double) setgrent();
+ 	goto donumset;
+     case O_EGRENT:
+ 	value = (double) endgrent();
+ 	goto donumset;
+ #else
+     case O_EGRENT:
+     case O_SGRENT:
+ 	fatal("Unsupported group function");
+ 	break;
+ #endif
+     case O_GETLOGIN:
+ #ifdef HAS_GETLOGIN
+ 	if (!(tmps = getlogin()))
+ 	    goto say_undef;
+ 	str_set(str,tmps);
+ #else
+ 	fatal("Unsupported function getlogin");
+ #endif
+ 	break;
+     case O_OPENDIR:
+     case O_READDIR:
+     case O_TELLDIR:
+     case O_SEEKDIR:
+     case O_REWINDDIR:
+     case O_CLOSEDIR:
+ 	if (maxarg < 1)
+ 	    goto say_undef;
+ 	if ((arg[1].arg_type & A_MASK) == A_WORD)
+ 	    stab = arg[1].arg_ptr.arg_stab;
+ 	else
+ 	    stab = stabent(str_get(st[1]),TRUE);
+ 	if (!stab)
+ 	    goto say_undef;
+ 	sp = do_dirop(optype,stab,gimme,arglast);
+ 	goto array_return;
+     case O_SYSCALL:
+ 	value = (double)do_syscall(arglast);
+ 	goto donumset;
+     case O_PIPE:
+ #ifdef HAS_PIPE
+ 	if ((arg[1].arg_type & A_MASK) == A_WORD)
+ 	    stab = arg[1].arg_ptr.arg_stab;
+ 	else
+ 	    stab = stabent(str_get(st[1]),TRUE);
+ 	if ((arg[2].arg_type & A_MASK) == A_WORD)
+ 	    stab2 = arg[2].arg_ptr.arg_stab;
+ 	else
+ 	    stab2 = stabent(str_get(st[2]),TRUE);
+ 	do_pipe(str,stab,stab2);
+ 	STABSET(str);
+ #else
+ 	fatal("Unsupported function pipe");
+ #endif
+ 	break;
+     }
+ 
+   normal_return:
+     st[1] = str;
+ #ifdef DEBUGGING
+     if (debug) {
+ 	dlevel--;
+ 	if (debug & 8)
+ 	    deb("%s RETURNS \"%s\"\n",opname[optype],str_get(str));
+     }
+ #endif
+     return arglast[0] + 1;
+ }


Index: llvm/test/Programs/MultiSource/Benchmarks/MallocBench/perl/form.c
diff -c /dev/null llvm/test/Programs/MultiSource/Benchmarks/MallocBench/perl/form.c:1.1.2.1
*** /dev/null	Mon Mar  1 17:59:25 2004
--- llvm/test/Programs/MultiSource/Benchmarks/MallocBench/perl/form.c	Mon Mar  1 17:59:13 2004
***************
*** 0 ****
--- 1,372 ----
+ /* $Header: /home/vadve/shared/PublicCVS/llvm/test/Programs/MultiSource/Benchmarks/MallocBench/perl/form.c,v 1.1.2.1 2004/03/01 23:59:13 brukman Exp $
+  *
+  *    Copyright (c) 1989, Larry Wall
+  *
+  *    You may distribute under the terms of the GNU General Public License
+  *    as specified in the README file that comes with the perl 3.0 kit.
+  *
+  * $Log: form.c,v $
+  * Revision 1.1.2.1  2004/03/01 23:59:13  brukman
+  * Merge from trunk
+  *
+  * Revision 1.1  2004/02/17 22:21:16  criswell
+  * Initial commit of the perl Malloc Benchmark.  I've cheated a little by
+  * generating the yacc output files and committing them directly, but it was
+  * easier than disabling the Bison Voodoo that gets executed by default.
+  *
+  * Revision 4.0  91/03/20  01:19:23  lwall
+  * 4.0 baseline.
+  * 
+  */
+ 
+ #include "EXTERN.h"
+ #include "perl.h"
+ 
+ /* Forms stuff */
+ 
+ void
+ form_parseargs(fcmd)
+ register FCMD *fcmd;
+ {
+     register int i;
+     register ARG *arg;
+     register int items;
+     STR *str;
+     ARG *parselist();
+     line_t oldline = curcmd->c_line;
+     int oldsave = savestack->ary_fill;
+ 
+     str = fcmd->f_unparsed;
+     curcmd->c_line = fcmd->f_line;
+     fcmd->f_unparsed = Nullstr;
+     (void)savehptr(&curstash);
+     curstash = str->str_u.str_hash;
+     arg = parselist(str);
+     restorelist(oldsave);
+ 
+     items = arg->arg_len - 1;	/* ignore $$ on end */
+     for (i = 1; i <= items; i++) {
+ 	if (!fcmd || fcmd->f_type == F_NULL)
+ 	    fatal("Too many field values");
+ 	dehoist(arg,i);
+ 	fcmd->f_expr = make_op(O_ITEM,1,
+ 	  arg[i].arg_ptr.arg_arg,Nullarg,Nullarg);
+ 	if (fcmd->f_flags & FC_CHOP) {
+ 	    if ((fcmd->f_expr[1].arg_type & A_MASK) == A_STAB)
+ 		fcmd->f_expr[1].arg_type = A_LVAL;
+ 	    else if ((fcmd->f_expr[1].arg_type & A_MASK) == A_EXPR)
+ 		fcmd->f_expr[1].arg_type = A_LEXPR;
+ 	    else
+ 		fatal("^ field requires scalar lvalue");
+ 	}
+ 	fcmd = fcmd->f_next;
+     }
+     if (fcmd && fcmd->f_type)
+ 	fatal("Not enough field values");
+     curcmd->c_line = oldline;
+     Safefree(arg);
+     str_free(str);
+ }
+ 
+ int newsize;
+ 
+ #define CHKLEN(allow) \
+ newsize = (d - orec->o_str) + (allow); \
+ if (newsize >= curlen) { \
+     curlen = d - orec->o_str; \
+     GROWSTR(&orec->o_str,&orec->o_len,orec->o_len + (allow)); \
+     d = orec->o_str + curlen;	/* in case it moves */ \
+     curlen = orec->o_len - 2; \
+ }
+ 
+ format(orec,fcmd,sp)
+ register struct outrec *orec;
+ register FCMD *fcmd;
+ int sp;
+ {
+     register char *d = orec->o_str;
+     register char *s;
+     register int curlen = orec->o_len - 2;
+     register int size;
+     FCMD *nextfcmd;
+     FCMD *linebeg = fcmd;
+     char tmpchar;
+     char *t;
+     CMD mycmd;
+     STR *str;
+     char *chophere;
+ 
+     mycmd.c_type = C_NULL;
+     orec->o_lines = 0;
+     for (; fcmd; fcmd = nextfcmd) {
+ 	nextfcmd = fcmd->f_next;
+ 	CHKLEN(fcmd->f_presize);
+ 	if (s = fcmd->f_pre) {
+ 	    while (*s) {
+ 		if (*s == '\n') {
+ 		    while (d > orec->o_str && (d[-1] == ' ' || d[-1] == '\t'))
+ 			d--;
+ 		    if (fcmd->f_flags & FC_NOBLANK) {
+ 			if (d == orec->o_str || d[-1] == '\n') {
+ 			    orec->o_lines--;	/* don't print blank line */
+ 			    linebeg = fcmd->f_next;
+ 			    break;
+ 			}
+ 			else if (fcmd->f_flags & FC_REPEAT)
+ 			    nextfcmd = linebeg;
+ 			else
+ 			    linebeg = fcmd->f_next;
+ 		    }
+ 		    else
+ 			linebeg = fcmd->f_next;
+ 		}
+ 		*d++ = *s++;
+ 	    }
+ 	}
+ 	if (fcmd->f_unparsed)
+ 	    form_parseargs(fcmd);
+ 	switch (fcmd->f_type) {
+ 	case F_NULL:
+ 	    orec->o_lines++;
+ 	    break;
+ 	case F_LEFT:
+ 	    (void)eval(fcmd->f_expr,G_SCALAR,sp);
+ 	    str = stack->ary_array[sp+1];
+ 	    s = str_get(str);
+ 	    size = fcmd->f_size;
+ 	    CHKLEN(size);
+ 	    chophere = Nullch;
+ 	    while (size && *s && *s != '\n') {
+ 		if (*s == '\t')
+ 		    *s = ' ';
+ 		size--;
+ 		if (*s && index(chopset,(*d++ = *s++)))
+ 		    chophere = s;
+ 		if (*s == '\n' && (fcmd->f_flags & FC_CHOP))
+ 		    *s = ' ';
+ 	    }
+ 	    if (size)
+ 		chophere = s;
+ 	    else if (chophere && chophere < s && *s && index(chopset,*s))
+ 		chophere = s;
+ 	    if (fcmd->f_flags & FC_CHOP) {
+ 		if (!chophere)
+ 		    chophere = s;
+ 		size += (s - chophere);
+ 		d -= (s - chophere);
+ 		if (fcmd->f_flags & FC_MORE &&
+ 		  *chophere && strNE(chophere,"\n")) {
+ 		    while (size < 3) {
+ 			d--;
+ 			size++;
+ 		    }
+ 		    while (d[-1] == ' ' && size < fcmd->f_size) {
+ 			d--;
+ 			size++;
+ 		    }
+ 		    *d++ = '.';
+ 		    *d++ = '.';
+ 		    *d++ = '.';
+ 		    size -= 3;
+ 		}
+ 		while (*chophere && index(chopset,*chophere))
+ 		    chophere++;
+ 		str_chop(str,chophere);
+ 	    }
+ 	    if (fcmd->f_next && fcmd->f_next->f_pre[0] == '\n')
+ 		size = 0;			/* no spaces before newline */
+ 	    while (size) {
+ 		size--;
+ 		*d++ = ' ';
+ 	    }
+ 	    break;
+ 	case F_RIGHT:
+ 	    (void)eval(fcmd->f_expr,G_SCALAR,sp);
+ 	    str = stack->ary_array[sp+1];
+ 	    t = s = str_get(str);
+ 	    size = fcmd->f_size;
+ 	    CHKLEN(size);
+ 	    chophere = Nullch;
+ 	    while (size && *s && *s != '\n') {
+ 		if (*s == '\t')
+ 		    *s = ' ';
+ 		size--;
+ 		if (*s && index(chopset,*s++))
+ 		    chophere = s;
+ 		if (*s == '\n' && (fcmd->f_flags & FC_CHOP))
+ 		    *s = ' ';
+ 	    }
+ 	    if (size)
+ 		chophere = s;
+ 	    else if (chophere && chophere < s && *s && index(chopset,*s))
+ 		chophere = s;
+ 	    if (fcmd->f_flags & FC_CHOP) {
+ 		if (!chophere)
+ 		    chophere = s;
+ 		size += (s - chophere);
+ 		s = chophere;
+ 		while (*chophere && index(chopset,*chophere))
+ 		    chophere++;
+ 	    }
+ 	    tmpchar = *s;
+ 	    *s = '\0';
+ 	    while (size) {
+ 		size--;
+ 		*d++ = ' ';
+ 	    }
+ 	    size = s - t;
+ 	    (void)bcopy(t,d,size);
+ 	    d += size;
+ 	    *s = tmpchar;
+ 	    if (fcmd->f_flags & FC_CHOP)
+ 		str_chop(str,chophere);
+ 	    break;
+ 	case F_CENTER: {
+ 	    int halfsize;
+ 
+ 	    (void)eval(fcmd->f_expr,G_SCALAR,sp);
+ 	    str = stack->ary_array[sp+1];
+ 	    t = s = str_get(str);
+ 	    size = fcmd->f_size;
+ 	    CHKLEN(size);
+ 	    chophere = Nullch;
+ 	    while (size && *s && *s != '\n') {
+ 		if (*s == '\t')
+ 		    *s = ' ';
+ 		size--;
+ 		if (*s && index(chopset,*s++))
+ 		    chophere = s;
+ 		if (*s == '\n' && (fcmd->f_flags & FC_CHOP))
+ 		    *s = ' ';
+ 	    }
+ 	    if (size)
+ 		chophere = s;
+ 	    else if (chophere && chophere < s && *s && index(chopset,*s))
+ 		chophere = s;
+ 	    if (fcmd->f_flags & FC_CHOP) {
+ 		if (!chophere)
+ 		    chophere = s;
+ 		size += (s - chophere);
+ 		s = chophere;
+ 		while (*chophere && index(chopset,*chophere))
+ 		    chophere++;
+ 	    }
+ 	    tmpchar = *s;
+ 	    *s = '\0';
+ 	    halfsize = size / 2;
+ 	    while (size > halfsize) {
+ 		size--;
+ 		*d++ = ' ';
+ 	    }
+ 	    size = s - t;
+ 	    (void)bcopy(t,d,size);
+ 	    d += size;
+ 	    *s = tmpchar;
+ 	    if (fcmd->f_next && fcmd->f_next->f_pre[0] == '\n')
+ 		size = 0;			/* no spaces before newline */
+ 	    else
+ 		size = halfsize;
+ 	    while (size) {
+ 		size--;
+ 		*d++ = ' ';
+ 	    }
+ 	    if (fcmd->f_flags & FC_CHOP)
+ 		str_chop(str,chophere);
+ 	    break;
+ 	}
+ 	case F_LINES:
+ 	    (void)eval(fcmd->f_expr,G_SCALAR,sp);
+ 	    str = stack->ary_array[sp+1];
+ 	    s = str_get(str);
+ 	    size = str_len(str);
+ 	    CHKLEN(size+1);
+ 	    orec->o_lines += countlines(s,size) - 1;
+ 	    (void)bcopy(s,d,size);
+ 	    d += size;
+ 	    if (size && s[size-1] != '\n') {
+ 		*d++ = '\n';
+ 		orec->o_lines++;
+ 	    }
+ 	    linebeg = fcmd->f_next;
+ 	    break;
+ 	case F_DECIMAL: {
+ 	    double value;
+ 
+ 	    (void)eval(fcmd->f_expr,G_SCALAR,sp);
+ 	    str = stack->ary_array[sp+1];
+ 	    size = fcmd->f_size;
+ 	    CHKLEN(size);
+ 	    /* If the field is marked with ^ and the value is undefined,
+ 	       blank it out. */
+ 	    if ((fcmd->f_flags & FC_CHOP) && !str->str_pok && !str->str_nok) {
+ 		while (size) {
+ 		    size--;
+ 		    *d++ = ' ';
+ 		}
+ 		break;
+ 	    }
+ 	    value = str_gnum(str);
+ 	    if (fcmd->f_flags & FC_DP) {
+ 		sprintf(d, "%#*.*f", size, fcmd->f_decimals, value);
+ 	    } else {
+ 		sprintf(d, "%*.0f", size, value);
+ 	    }
+ 	    d += size;
+ 	    break;
+ 	}
+ 	}
+     }
+     CHKLEN(1);
+     *d++ = '\0';
+ }
+ 
+ countlines(s,size)
+ register char *s;
+ register int size;
+ {
+     register int count = 0;
+ 
+     while (size--) {
+ 	if (*s++ == '\n')
+ 	    count++;
+     }
+     return count;
+ }
+ 
+ do_write(orec,stio,sp)
+ struct outrec *orec;
+ register STIO *stio;
+ int sp;
+ {
+     FILE *ofp = stio->ofp;
+ 
+ #ifdef DEBUGGING
+     if (debug & 256)
+ 	fprintf(stderr,"left=%ld, todo=%ld\n",
+ 	  (long)stio->lines_left, (long)orec->o_lines);
+ #endif
+     if (stio->lines_left < orec->o_lines) {
+ 	if (!stio->top_stab) {
+ 	    STAB *topstab;
+ 
+ 	    if (!stio->top_name)
+ 		stio->top_name = savestr("top");
+ 	    topstab = stabent(stio->top_name,FALSE);
+ 	    if (!topstab || !stab_form(topstab)) {
+ 		stio->lines_left = 100000000;
+ 		goto forget_top;
+ 	    }
+ 	    stio->top_stab = topstab;
+ 	}
+ 	if (stio->lines_left >= 0 && stio->page > 0)
+ 	    (void)putc('\f',ofp);
+ 	stio->lines_left = stio->page_len;
+ 	stio->page++;
+ 	format(&toprec,stab_form(stio->top_stab),sp);
+ 	fputs(toprec.o_str,ofp);
+ 	stio->lines_left -= toprec.o_lines;
+     }
+   forget_top:
+     fputs(orec->o_str,ofp);
+     stio->lines_left -= orec->o_lines;
+ }


Index: llvm/test/Programs/MultiSource/Benchmarks/MallocBench/perl/form.h
diff -c /dev/null llvm/test/Programs/MultiSource/Benchmarks/MallocBench/perl/form.h:1.1.2.1
*** /dev/null	Mon Mar  1 17:59:25 2004
--- llvm/test/Programs/MultiSource/Benchmarks/MallocBench/perl/form.h	Mon Mar  1 17:59:13 2004
***************
*** 0 ****
--- 1,50 ----
+ /* $Header: /home/vadve/shared/PublicCVS/llvm/test/Programs/MultiSource/Benchmarks/MallocBench/perl/form.h,v 1.1.2.1 2004/03/01 23:59:13 brukman Exp $
+  *
+  *    Copyright (c) 1989, Larry Wall
+  *
+  *    You may distribute under the terms of the GNU General Public License
+  *    as specified in the README file that comes with the perl 3.0 kit.
+  *
+  * $Log: form.h,v $
+  * Revision 1.1.2.1  2004/03/01 23:59:13  brukman
+  * Merge from trunk
+  *
+  * Revision 1.1  2004/02/17 22:21:16  criswell
+  * Initial commit of the perl Malloc Benchmark.  I've cheated a little by
+  * generating the yacc output files and committing them directly, but it was
+  * easier than disabling the Bison Voodoo that gets executed by default.
+  *
+  * Revision 4.0  91/03/20  01:19:37  lwall
+  * 4.0 baseline.
+  * 
+  */
+ 
+ #define F_NULL 0
+ #define F_LEFT 1
+ #define F_RIGHT 2
+ #define F_CENTER 3
+ #define F_LINES 4
+ #define F_DECIMAL 5
+ 
+ struct formcmd {
+     struct formcmd *f_next;
+     ARG *f_expr;
+     STR *f_unparsed;
+     line_t f_line;
+     char *f_pre;
+     short f_presize;
+     short f_size;
+     short f_decimals;
+     char f_type;
+     char f_flags;
+ };
+ 
+ #define FC_CHOP 1
+ #define FC_NOBLANK 2
+ #define FC_MORE 4
+ #define FC_REPEAT 8
+ #define FC_DP 16
+ 
+ #define Nullfcmd Null(FCMD*)
+ 
+ EXT char *chopset INIT(" \n-");


Index: llvm/test/Programs/MultiSource/Benchmarks/MallocBench/perl/handy.h
diff -c /dev/null llvm/test/Programs/MultiSource/Benchmarks/MallocBench/perl/handy.h:1.1.2.1
*** /dev/null	Mon Mar  1 17:59:25 2004
--- llvm/test/Programs/MultiSource/Benchmarks/MallocBench/perl/handy.h	Mon Mar  1 17:59:13 2004
***************
*** 0 ****
--- 1,124 ----
+ /* $Header: /home/vadve/shared/PublicCVS/llvm/test/Programs/MultiSource/Benchmarks/MallocBench/perl/handy.h,v 1.1.2.1 2004/03/01 23:59:13 brukman Exp $
+  *
+  *    Copyright (c) 1989, Larry Wall
+  *
+  *    You may distribute under the terms of the GNU General Public License
+  *    as specified in the README file that comes with the perl 3.0 kit.
+  *
+  * $Log: handy.h,v $
+  * Revision 1.1.2.1  2004/03/01 23:59:13  brukman
+  * Merge from trunk
+  *
+  * Revision 1.1  2004/02/17 22:21:16  criswell
+  * Initial commit of the perl Malloc Benchmark.  I've cheated a little by
+  * generating the yacc output files and committing them directly, but it was
+  * easier than disabling the Bison Voodoo that gets executed by default.
+  *
+  * Revision 4.0  91/03/20  01:22:15  lwall
+  * 4.0 baseline.
+  * 
+  */
+ 
+ #ifdef NULL
+ #undef NULL
+ #endif
+ #ifndef I286
+ #  define NULL 0
+ #else
+ #  define NULL 0L
+ #endif
+ #define Null(type) ((type)NULL)
+ #define Nullch Null(char*)
+ #define Nullfp Null(FILE*)
+ 
+ #ifdef UTS
+ #define bool int
+ #else
+ #define bool char
+ #endif
+ 
+ #ifdef TRUE
+ #undef TRUE
+ #endif
+ #ifdef FALSE
+ #undef FALSE
+ #endif
+ #define TRUE (1)
+ #define FALSE (0)
+ 
+ #define Ctl(ch) (ch & 037)
+ 
+ #define strNE(s1,s2) (strcmp(s1,s2))
+ #define strEQ(s1,s2) (!strcmp(s1,s2))
+ #define strLT(s1,s2) (strcmp(s1,s2) < 0)
+ #define strLE(s1,s2) (strcmp(s1,s2) <= 0)
+ #define strGT(s1,s2) (strcmp(s1,s2) > 0)
+ #define strGE(s1,s2) (strcmp(s1,s2) >= 0)
+ #define strnNE(s1,s2,l) (strncmp(s1,s2,l))
+ #define strnEQ(s1,s2,l) (!strncmp(s1,s2,l))
+ 
+ #define MEM_SIZE unsigned int
+ 
+ /* Line numbers are unsigned, 16 bits. */
+ typedef unsigned short line_t;
+ #ifdef lint
+ #define NOLINE ((line_t)0)
+ #else
+ #define NOLINE ((line_t) 65535)
+ #endif
+ 
+ #ifndef lint
+ #ifndef LEAKTEST
+ char *safemalloc();
+ char *saferealloc();
+ void safefree();
+ #ifndef MSDOS
+ #define New(x,v,n,t)  (v = (t*)safemalloc((MEM_SIZE)((n) * sizeof(t))))
+ #define Newc(x,v,n,t,c)  (v = (c*)safemalloc((MEM_SIZE)((n) * sizeof(t))))
+ #define Newz(x,v,n,t) (v = (t*)safemalloc((MEM_SIZE)((n) * sizeof(t)))), \
+     bzero((char*)(v), (n) * sizeof(t))
+ #define Renew(v,n,t) (v = (t*)saferealloc((char*)(v),(MEM_SIZE)((n)*sizeof(t))))
+ #define Renewc(v,n,t,c) (v = (c*)saferealloc((char*)(v),(MEM_SIZE)((n)*sizeof(t))))
+ #else
+ #define New(x,v,n,t)  (v = (t*)safemalloc(((unsigned long)(n) * sizeof(t))))
+ #define Newc(x,v,n,t,c)  (v = (c*)safemalloc(((unsigned long)(n) * sizeof(t))))
+ #define Newz(x,v,n,t) (v = (t*)safemalloc(((unsigned long)(n) * sizeof(t)))), \
+     bzero((char*)(v), (n) * sizeof(t))
+ #define Renew(v,n,t) (v = (t*)saferealloc((char*)(v),((unsigned long)(n)*sizeof(t))))
+ #define Renewc(v,n,t,c) (v = (c*)saferealloc((char*)(v),((unsigned long)(n)*sizeof(t))))
+ #endif /* MSDOS */
+ 
+ #ifdef IGNOREFREE
+ #define Safefree(d) {};
+ #else
+ #define Safefree(d) safefree((char*)d)
+ #endif
+ 
+ #define Str_new(x,len) str_new(len)
+ #else /* LEAKTEST */
+ char *safexmalloc();
+ char *safexrealloc();
+ void safexfree();
+ #define New(x,v,n,t)  (v = (t*)safexmalloc(x,(MEM_SIZE)((n) * sizeof(t))))
+ #define Newc(x,v,n,t,c)  (v = (c*)safexmalloc(x,(MEM_SIZE)((n) * sizeof(t))))
+ #define Newz(x,v,n,t) (v = (t*)safexmalloc(x,(MEM_SIZE)((n) * sizeof(t)))), \
+     bzero((char*)(v), (n) * sizeof(t))
+ #define Renew(v,n,t) (v = (t*)safexrealloc((char*)(v),(MEM_SIZE)((n)*sizeof(t))))
+ #define Renewc(v,n,t,c) (v = (c*)safexrealloc((char*)(v),(MEM_SIZE)((n)*sizeof(t))))
+ #define Safefree(d) safexfree((char*)d)
+ #define Str_new(x,len) str_new(x,len)
+ #define MAXXCOUNT 1200
+ long xcount[MAXXCOUNT];
+ long lastxcount[MAXXCOUNT];
+ #endif /* LEAKTEST */
+ #define Copy(s,d,n,t) (void)bcopy((char*)(s),(char*)(d), (n) * sizeof(t))
+ #define Zero(d,n,t) (void)bzero((char*)(d), (n) * sizeof(t))
+ #else /* lint */
+ #define New(x,v,n,s) (v = Null(s *))
+ #define Newc(x,v,n,s,c) (v = Null(s *))
+ #define Newz(x,v,n,s) (v = Null(s *))
+ #define Renew(v,n,s) (v = Null(s *))
+ #define Copy(s,d,n,t)
+ #define Zero(d,n,t)
+ #define Safefree(d) d = d
+ #endif /* lint */


Index: llvm/test/Programs/MultiSource/Benchmarks/MallocBench/perl/hash.c
diff -c /dev/null llvm/test/Programs/MultiSource/Benchmarks/MallocBench/perl/hash.c:1.1.2.1
*** /dev/null	Mon Mar  1 17:59:25 2004
--- llvm/test/Programs/MultiSource/Benchmarks/MallocBench/perl/hash.c	Mon Mar  1 17:59:13 2004
***************
*** 0 ****
--- 1,698 ----
+ /* $Header: /home/vadve/shared/PublicCVS/llvm/test/Programs/MultiSource/Benchmarks/MallocBench/perl/hash.c,v 1.1.2.1 2004/03/01 23:59:13 brukman Exp $
+  *
+  *    Copyright (c) 1989, Larry Wall
+  *
+  *    You may distribute under the terms of the GNU General Public License
+  *    as specified in the README file that comes with the perl 3.0 kit.
+  *
+  * $Log: hash.c,v $
+  * Revision 1.1.2.1  2004/03/01 23:59:13  brukman
+  * Merge from trunk
+  *
+  * Revision 1.1  2004/02/17 22:21:16  criswell
+  * Initial commit of the perl Malloc Benchmark.  I've cheated a little by
+  * generating the yacc output files and committing them directly, but it was
+  * easier than disabling the Bison Voodoo that gets executed by default.
+  *
+  * Revision 4.0  91/03/20  01:22:26  lwall
+  * 4.0 baseline.
+  * 
+  */
+ 
+ #include "EXTERN.h"
+ #include "perl.h"
+ 
+ static char coeff[] = {
+ 		61,59,53,47,43,41,37,31,29,23,17,13,11,7,3,1,
+ 		61,59,53,47,43,41,37,31,29,23,17,13,11,7,3,1,
+ 		61,59,53,47,43,41,37,31,29,23,17,13,11,7,3,1,
+ 		61,59,53,47,43,41,37,31,29,23,17,13,11,7,3,1,
+ 		61,59,53,47,43,41,37,31,29,23,17,13,11,7,3,1,
+ 		61,59,53,47,43,41,37,31,29,23,17,13,11,7,3,1,
+ 		61,59,53,47,43,41,37,31,29,23,17,13,11,7,3,1,
+ 		61,59,53,47,43,41,37,31,29,23,17,13,11,7,3,1};
+ 
+ static void hfreeentries();
+ 
+ STR *
+ hfetch(tb,key,klen,lval)
+ register HASH *tb;
+ char *key;
+ unsigned int klen;
+ int lval;
+ {
+     register char *s;
+     register int i;
+     register int hash;
+     register HENT *entry;
+     register int maxi;
+     STR *str;
+ #ifdef SOME_DBM
+     datum dkey,dcontent;
+ #endif
+ 
+     if (!tb)
+ 	return &str_undef;
+     if (!tb->tbl_array) {
+ 	if (lval)
+ 	    Newz(503,tb->tbl_array, tb->tbl_max + 1, HENT*);
+ 	else
+ 	    return &str_undef;
+     }
+ 
+     /* The hash function we use on symbols has to be equal to the first
+      * character when taken modulo 128, so that str_reset() can be implemented
+      * efficiently.  We throw in the second character and the last character
+      * (times 128) so that long chains of identifiers starting with the
+      * same letter don't have to be strEQ'ed within hfetch(), since it
+      * compares hash values before trying strEQ().
+      */
+     if (!tb->tbl_coeffsize)
+ 	hash = *key + 128 * key[1] + 128 * key[klen-1];	/* assuming klen > 0 */
+     else {	/* use normal coefficients */
+ 	if (klen < tb->tbl_coeffsize)
+ 	    maxi = klen;
+ 	else
+ 	    maxi = tb->tbl_coeffsize;
+ 	for (s=key,		i=0,	hash = 0;
+ 			    i < maxi;
+ 	     s++,		i++,	hash *= 5) {
+ 	    hash += *s * coeff[i];
+ 	}
+     }
+ 
+     entry = tb->tbl_array[hash & tb->tbl_max];
+     for (; entry; entry = entry->hent_next) {
+ 	if (entry->hent_hash != hash)		/* strings can't be equal */
+ 	    continue;
+ 	if (entry->hent_klen != klen)
+ 	    continue;
+ 	if (bcmp(entry->hent_key,key,klen))	/* is this it? */
+ 	    continue;
+ 	return entry->hent_val;
+     }
+ #ifdef SOME_DBM
+     if (tb->tbl_dbm) {
+ 	dkey.dptr = key;
+ 	dkey.dsize = klen;
+ #ifdef HAS_GDBM
+ 	dcontent = gdbm_fetch(tb->tbl_dbm,dkey);
+ #else
+ 	dcontent = dbm_fetch(tb->tbl_dbm,dkey);
+ #endif
+ 	if (dcontent.dptr) {			/* found one */
+ 	    str = Str_new(60,dcontent.dsize);
+ 	    str_nset(str,dcontent.dptr,dcontent.dsize);
+ 	    hstore(tb,key,klen,str,hash);		/* cache it */
+ 	    return str;
+ 	}
+     }
+ #endif
+     if (lval) {		/* gonna assign to this, so it better be there */
+ 	str = Str_new(61,0);
+ 	hstore(tb,key,klen,str,hash);
+ 	return str;
+     }
+     return &str_undef;
+ }
+ 
+ bool
+ hstore(tb,key,klen,val,hash)
+ register HASH *tb;
+ char *key;
+ unsigned int klen;
+ STR *val;
+ register int hash;
+ {
+     register char *s;
+     register int i;
+     register HENT *entry;
+     register HENT **oentry;
+     register int maxi;
+ 
+     if (!tb)
+ 	return FALSE;
+ 
+     if (hash)
+ 	;
+     else if (!tb->tbl_coeffsize)
+ 	hash = *key + 128 * key[1] + 128 * key[klen-1];
+     else {	/* use normal coefficients */
+ 	if (klen < tb->tbl_coeffsize)
+ 	    maxi = klen;
+ 	else
+ 	    maxi = tb->tbl_coeffsize;
+ 	for (s=key,		i=0,	hash = 0;
+ 			    i < maxi;
+ 	     s++,		i++,	hash *= 5) {
+ 	    hash += *s * coeff[i];
+ 	}
+     }
+ 
+     if (!tb->tbl_array)
+ 	Newz(505,tb->tbl_array, tb->tbl_max + 1, HENT*);
+ 
+     oentry = &(tb->tbl_array[hash & tb->tbl_max]);
+     i = 1;
+ 
+     for (entry = *oentry; entry; i=0, entry = entry->hent_next) {
+ 	if (entry->hent_hash != hash)		/* strings can't be equal */
+ 	    continue;
+ 	if (entry->hent_klen != klen)
+ 	    continue;
+ 	if (bcmp(entry->hent_key,key,klen))	/* is this it? */
+ 	    continue;
+ 	Safefree(entry->hent_val);
+ 	entry->hent_val = val;
+ 	return TRUE;
+     }
+     New(501,entry, 1, HENT);
+ 
+     entry->hent_klen = klen;
+     entry->hent_key = nsavestr(key,klen);
+     entry->hent_val = val;
+     entry->hent_hash = hash;
+     entry->hent_next = *oentry;
+     *oentry = entry;
+ 
+     /* hdbmstore not necessary here because it's called from stabset() */
+ 
+     if (i) {				/* initial entry? */
+ 	tb->tbl_fill++;
+ #ifdef SOME_DBM
+ 	if (tb->tbl_dbm && tb->tbl_max >= DBM_CACHE_MAX)
+ 	    return FALSE;
+ #endif
+ 	if (tb->tbl_fill > tb->tbl_dosplit)
+ 	    hsplit(tb);
+     }
+ #ifdef SOME_DBM
+     else if (tb->tbl_dbm) {		/* is this just a cache for dbm file? */
+ 	void hentdelayfree();
+ 
+ 	entry = tb->tbl_array[hash & tb->tbl_max];
+ 	oentry = &entry->hent_next;
+ 	entry = *oentry;
+ 	while (entry) {	/* trim chain down to 1 entry */
+ 	    *oentry = entry->hent_next;
+ 	    hentdelayfree(entry);	/* no doubt they'll want this next. */
+ 	    entry = *oentry;
+ 	}
+     }
+ #endif
+ 
+     return FALSE;
+ }
+ 
+ STR *
+ hdelete(tb,key,klen)
+ register HASH *tb;
+ char *key;
+ unsigned int klen;
+ {
+     register char *s;
+     register int i;
+     register int hash;
+     register HENT *entry;
+     register HENT **oentry;
+     STR *str;
+     int maxi;
+ #ifdef SOME_DBM
+     datum dkey;
+ #endif
+ 
+     if (!tb || !tb->tbl_array)
+ 	return Nullstr;
+     if (!tb->tbl_coeffsize)
+ 	hash = *key + 128 * key[1] + 128 * key[klen-1];
+     else {	/* use normal coefficients */
+ 	if (klen < tb->tbl_coeffsize)
+ 	    maxi = klen;
+ 	else
+ 	    maxi = tb->tbl_coeffsize;
+ 	for (s=key,		i=0,	hash = 0;
+ 			    i < maxi;
+ 	     s++,		i++,	hash *= 5) {
+ 	    hash += *s * coeff[i];
+ 	}
+     }
+ 
+     oentry = &(tb->tbl_array[hash & tb->tbl_max]);
+     entry = *oentry;
+     i = 1;
+     for (; entry; i=0, oentry = &entry->hent_next, entry = *oentry) {
+ 	if (entry->hent_hash != hash)		/* strings can't be equal */
+ 	    continue;
+ 	if (entry->hent_klen != klen)
+ 	    continue;
+ 	if (bcmp(entry->hent_key,key,klen))	/* is this it? */
+ 	    continue;
+ 	*oentry = entry->hent_next;
+ 	str = str_mortal(entry->hent_val);
+ 	hentfree(entry);
+ 	if (i)
+ 	    tb->tbl_fill--;
+ #ifdef SOME_DBM
+       do_dbm_delete:
+ 	if (tb->tbl_dbm) {
+ 	    dkey.dptr = key;
+ 	    dkey.dsize = klen;
+ #ifdef HAS_GDBM
+ 	    gdbm_delete(tb->tbl_dbm,dkey);
+ #else
+ 	    dbm_delete(tb->tbl_dbm,dkey);
+ #endif
+ 	}
+ #endif
+ 	return str;
+     }
+ #ifdef SOME_DBM
+     str = Nullstr;
+     goto do_dbm_delete;
+ #else
+     return Nullstr;
+ #endif
+ }
+ 
+ hsplit(tb)
+ HASH *tb;
+ {
+     int oldsize = tb->tbl_max + 1;
+     register int newsize = oldsize * 2;
+     register int i;
+     register HENT **a;
+     register HENT **b;
+     register HENT *entry;
+     register HENT **oentry;
+ 
+     a = tb->tbl_array;
+     Renew(a, newsize, HENT*);
+     Zero(&a[oldsize], oldsize, HENT*);		/* zero 2nd half*/
+     tb->tbl_max = --newsize;
+     tb->tbl_dosplit = tb->tbl_max * FILLPCT / 100;
+     tb->tbl_array = a;
+ 
+     for (i=0; i<oldsize; i++,a++) {
+ 	if (!*a)				/* non-existent */
+ 	    continue;
+ 	b = a+oldsize;
+ 	for (oentry = a, entry = *a; entry; entry = *oentry) {
+ 	    if ((entry->hent_hash & newsize) != i) {
+ 		*oentry = entry->hent_next;
+ 		entry->hent_next = *b;
+ 		if (!*b)
+ 		    tb->tbl_fill++;
+ 		*b = entry;
+ 		continue;
+ 	    }
+ 	    else
+ 		oentry = &entry->hent_next;
+ 	}
+ 	if (!*a)				/* everything moved */
+ 	    tb->tbl_fill--;
+     }
+ }
+ 
+ HASH *
+ hnew(lookat)
+ unsigned int lookat;
+ {
+     register HASH *tb;
+ 
+     Newz(502,tb, 1, HASH);
+     if (lookat) {
+ 	tb->tbl_coeffsize = lookat;
+ 	tb->tbl_max = 7;		/* it's a normal associative array */
+ 	tb->tbl_dosplit = tb->tbl_max * FILLPCT / 100;
+     }
+     else {
+ 	tb->tbl_max = 127;		/* it's a symbol table */
+ 	tb->tbl_dosplit = 128;		/* so never split */
+     }
+     tb->tbl_fill = 0;
+ #ifdef SOME_DBM
+     tb->tbl_dbm = 0;
+ #endif
+     (void)hiterinit(tb);	/* so each() will start off right */
+     return tb;
+ }
+ 
+ void
+ hentfree(hent)
+ register HENT *hent;
+ {
+     if (!hent)
+ 	return;
+     str_free(hent->hent_val);
+     Safefree(hent->hent_key);
+     Safefree(hent);
+ }
+ 
+ void
+ hentdelayfree(hent)
+ register HENT *hent;
+ {
+     if (!hent)
+ 	return;
+     str_2mortal(hent->hent_val);	/* free between statements */
+     Safefree(hent->hent_key);
+     Safefree(hent);
+ }
+ 
+ void
+ hclear(tb,dodbm)
+ register HASH *tb;
+ int dodbm;
+ {
+     if (!tb)
+ 	return;
+     hfreeentries(tb,dodbm);
+     tb->tbl_fill = 0;
+ #ifndef lint
+     if (tb->tbl_array)
+ 	(void)bzero((char*)tb->tbl_array, (tb->tbl_max + 1) * sizeof(HENT*));
+ #endif
+ }
+ 
+ static void
+ hfreeentries(tb,dodbm)
+ register HASH *tb;
+ int dodbm;
+ {
+     register HENT *hent;
+     register HENT *ohent = Null(HENT*);
+ #ifdef SOME_DBM
+     datum dkey;
+     datum nextdkey;
+ #ifdef HAS_GDBM
+     GDBM_FILE old_dbm;
+ #else
+ #ifdef HAS_NDBM
+     DBM *old_dbm;
+ #else
+     int old_dbm;
+ #endif
+ #endif
+ #endif
+ 
+     if (!tb || !tb->tbl_array)
+ 	return;
+ #ifdef SOME_DBM
+     if ((old_dbm = tb->tbl_dbm) && dodbm) {
+ #ifdef HAS_GDBM
+ 	while (dkey = gdbm_firstkey(tb->tbl_dbm), dkey.dptr) {
+ #else
+ 	while (dkey = dbm_firstkey(tb->tbl_dbm), dkey.dptr) {
+ #endif
+ 	    do {
+ #ifdef HAS_GDBM
+ 		nextdkey = gdbm_nextkey(tb->tbl_dbm, dkey);
+ #else
+ #ifdef HAS_NDBM
+ #ifdef _CX_UX
+ 		nextdkey = dbm_nextkey(tb->tbl_dbm, dkey);
+ #else
+ 		nextdkey = dbm_nextkey(tb->tbl_dbm);
+ #endif
+ #else
+ 		nextdkey = nextkey(dkey);
+ #endif
+ #endif
+ #ifdef HAS_GDBM
+ 		gdbm_delete(tb->tbl_dbm,dkey);
+ #else
+ 		dbm_delete(tb->tbl_dbm,dkey);
+ #endif
+ 		dkey = nextdkey;
+ 	    } while (dkey.dptr);	/* one way or another, this works */
+ 	}
+     }
+     tb->tbl_dbm = 0;			/* now clear just cache */
+ #endif
+     (void)hiterinit(tb);
+     while (hent = hiternext(tb)) {	/* concise but not very efficient */
+ 	hentfree(ohent);
+ 	ohent = hent;
+     }
+     hentfree(ohent);
+ #ifdef SOME_DBM
+     tb->tbl_dbm = old_dbm;
+ #endif
+ }
+ 
+ void
+ hfree(tb,dodbm)
+ register HASH *tb;
+ int dodbm;
+ {
+     if (!tb)
+ 	return;
+     hfreeentries(tb,dodbm);
+     Safefree(tb->tbl_array);
+     Safefree(tb);
+ }
+ 
+ int
+ hiterinit(tb)
+ register HASH *tb;
+ {
+     tb->tbl_riter = -1;
+     tb->tbl_eiter = Null(HENT*);
+     return tb->tbl_fill;
+ }
+ 
+ HENT *
+ hiternext(tb)
+ register HASH *tb;
+ {
+     register HENT *entry;
+ #ifdef SOME_DBM
+     datum key;
+ #endif
+ 
+     entry = tb->tbl_eiter;
+ #ifdef SOME_DBM
+     if (tb->tbl_dbm) {
+ 	if (entry) {
+ #ifdef HAS_GDBM
+ 	    key.dptr = entry->hent_key;
+ 	    key.dsize = entry->hent_klen;
+ 	    key = gdbm_nextkey(tb->tbl_dbm, key);
+ #else
+ #ifdef HAS_NDBM
+ #ifdef _CX_UX
+ 	    key.dptr = entry->hent_key;
+ 	    key.dsize = entry->hent_klen;
+ 	    key = dbm_nextkey(tb->tbl_dbm, key);
+ #else
+ 	    key = dbm_nextkey(tb->tbl_dbm);
+ #endif /* _CX_UX */
+ #else
+ 	    key.dptr = entry->hent_key;
+ 	    key.dsize = entry->hent_klen;
+ 	    key = nextkey(key);
+ #endif
+ #endif
+ 	}
+ 	else {
+ 	    Newz(504,entry, 1, HENT);
+ 	    tb->tbl_eiter = entry;
+ #ifdef HAS_GDBM
+ 	    key = gdbm_firstkey(tb->tbl_dbm);
+ #else
+ 	    key = dbm_firstkey(tb->tbl_dbm);
+ #endif
+ 	}
+ 	entry->hent_key = key.dptr;
+ 	entry->hent_klen = key.dsize;
+ 	if (!key.dptr) {
+ 	    if (entry->hent_val)
+ 		str_free(entry->hent_val);
+ 	    Safefree(entry);
+ 	    tb->tbl_eiter = Null(HENT*);
+ 	    return Null(HENT*);
+ 	}
+ 	return entry;
+     }
+ #endif
+     if (!tb->tbl_array)
+ 	Newz(506,tb->tbl_array, tb->tbl_max + 1, HENT*);
+     do {
+ 	if (entry)
+ 	    entry = entry->hent_next;
+ 	if (!entry) {
+ 	    tb->tbl_riter++;
+ 	    if (tb->tbl_riter > tb->tbl_max) {
+ 		tb->tbl_riter = -1;
+ 		break;
+ 	    }
+ 	    entry = tb->tbl_array[tb->tbl_riter];
+ 	}
+     } while (!entry);
+ 
+     tb->tbl_eiter = entry;
+     return entry;
+ }
+ 
+ char *
+ hiterkey(entry,retlen)
+ register HENT *entry;
+ int *retlen;
+ {
+     *retlen = entry->hent_klen;
+     return entry->hent_key;
+ }
+ 
+ STR *
+ hiterval(tb,entry)
+ register HASH *tb;
+ register HENT *entry;
+ {
+ #ifdef SOME_DBM
+     datum key, content;
+ 
+     if (tb->tbl_dbm) {
+ 	key.dptr = entry->hent_key;
+ 	key.dsize = entry->hent_klen;
+ #ifdef HAS_GDBM
+ 	content = gdbm_fetch(tb->tbl_dbm,key);
+ #else
+ 	content = dbm_fetch(tb->tbl_dbm,key);
+ #endif
+ 	if (!entry->hent_val)
+ 	    entry->hent_val = Str_new(62,0);
+ 	str_nset(entry->hent_val,content.dptr,content.dsize);
+     }
+ #endif
+     return entry->hent_val;
+ }
+ 
+ #ifdef SOME_DBM
+ 
+ #ifndef O_CREAT
+ #  ifdef I_FCNTL
+ #    include <fcntl.h>
+ #  endif
+ #  ifdef I_SYS_FILE
+ #    include <sys/file.h>
+ #  endif
+ #endif
+ 
+ #ifndef O_RDONLY
+ #define O_RDONLY 0
+ #endif
+ #ifndef O_RDWR
+ #define O_RDWR 2
+ #endif
+ #ifndef O_CREAT
+ #define O_CREAT 01000
+ #endif
+ 
+ #ifdef HAS_ODBM
+ static int dbmrefcnt = 0;
+ #endif
+ 
+ bool
+ hdbmopen(tb,fname,mode)
+ register HASH *tb;
+ char *fname;
+ int mode;
+ {
+     if (!tb)
+ 	return FALSE;
+ #ifdef HAS_ODBM
+     if (tb->tbl_dbm)	/* never really closed it */
+ 	return TRUE;
+ #endif
+     if (tb->tbl_dbm) {
+ 	hdbmclose(tb);
+ 	tb->tbl_dbm = 0;
+     }
+     hclear(tb, FALSE);	/* clear cache */
+ #ifdef HAS_GDBM
+     if (mode >= 0)
+ 	tb->tbl_dbm = gdbm_open(fname, 0, GDBM_WRCREAT,mode, (void *) NULL);
+     if (!tb->tbl_dbm)
+ 	tb->tbl_dbm = gdbm_open(fname, 0, GDBM_WRITER, mode, (void *) NULL);
+     if (!tb->tbl_dbm)
+ 	tb->tbl_dbm = gdbm_open(fname, 0, GDBM_READER, mode, (void *) NULL);
+ #else
+ #ifdef HAS_NDBM
+     if (mode >= 0)
+ 	tb->tbl_dbm = dbm_open(fname, O_RDWR|O_CREAT, mode);
+     if (!tb->tbl_dbm)
+ 	tb->tbl_dbm = dbm_open(fname, O_RDWR, mode);
+     if (!tb->tbl_dbm)
+ 	tb->tbl_dbm = dbm_open(fname, O_RDONLY, mode);
+ #else
+     if (dbmrefcnt++)
+ 	fatal("Old dbm can only open one database");
+     sprintf(buf,"%s.dir",fname);
+     if (stat(buf, &statbuf) < 0) {
+ 	if (mode < 0 || close(creat(buf,mode)) < 0)
+ 	    return FALSE;
+ 	sprintf(buf,"%s.pag",fname);
+ 	if (close(creat(buf,mode)) < 0)
+ 	    return FALSE;
+     }
+     tb->tbl_dbm = dbminit(fname) >= 0;
+ #endif
+ #endif
+     if (!tb->tbl_array && tb->tbl_dbm != 0)
+ 	Newz(507,tb->tbl_array, tb->tbl_max + 1, HENT*);
+     return tb->tbl_dbm != 0;
+ }
+ 
+ void
+ hdbmclose(tb)
+ register HASH *tb;
+ {
+     if (tb && tb->tbl_dbm) {
+ #ifdef HAS_GDBM
+ 	gdbm_close(tb->tbl_dbm);
+ 	tb->tbl_dbm = 0;
+ #else
+ #ifdef HAS_NDBM
+ 	dbm_close(tb->tbl_dbm);
+ 	tb->tbl_dbm = 0;
+ #else
+ 	/* dbmrefcnt--;  */	/* doesn't work, rats */
+ #endif
+ #endif
+     }
+     else if (dowarn)
+ 	warn("Close on unopened dbm file");
+ }
+ 
+ bool
+ hdbmstore(tb,key,klen,str)
+ register HASH *tb;
+ char *key;
+ unsigned int klen;
+ register STR *str;
+ {
+     datum dkey, dcontent;
+     int error;
+ 
+     if (!tb || !tb->tbl_dbm)
+ 	return FALSE;
+     dkey.dptr = key;
+     dkey.dsize = klen;
+     dcontent.dptr = str_get(str);
+     dcontent.dsize = str->str_cur;
+ #ifdef HAS_GDBM
+     error = gdbm_store(tb->tbl_dbm, dkey, dcontent, GDBM_REPLACE);
+ #else
+     error = dbm_store(tb->tbl_dbm, dkey, dcontent, DBM_REPLACE);
+ #endif
+     if (error) {
+ 	if (errno == EPERM)
+ 	    fatal("No write permission to dbm file");
+ 	warn("dbm store returned %d, errno %d, key \"%s\"",error,errno,key);
+ #ifdef HAS_NDBM
+         dbm_clearerr(tb->tbl_dbm);
+ #endif
+     }
+     return !error;
+ }
+ #endif /* SOME_DBM */


Index: llvm/test/Programs/MultiSource/Benchmarks/MallocBench/perl/hash.h
diff -c /dev/null llvm/test/Programs/MultiSource/Benchmarks/MallocBench/perl/hash.h:1.1.2.1
*** /dev/null	Mon Mar  1 17:59:25 2004
--- llvm/test/Programs/MultiSource/Benchmarks/MallocBench/perl/hash.h	Mon Mar  1 17:59:13 2004
***************
*** 0 ****
--- 1,73 ----
+ /* $Header: /home/vadve/shared/PublicCVS/llvm/test/Programs/MultiSource/Benchmarks/MallocBench/perl/hash.h,v 1.1.2.1 2004/03/01 23:59:13 brukman Exp $
+  *
+  *    Copyright (c) 1989, Larry Wall
+  *
+  *    You may distribute under the terms of the GNU General Public License
+  *    as specified in the README file that comes with the perl 3.0 kit.
+  *
+  * $Log: hash.h,v $
+  * Revision 1.1.2.1  2004/03/01 23:59:13  brukman
+  * Merge from trunk
+  *
+  * Revision 1.1  2004/02/17 22:21:16  criswell
+  * Initial commit of the perl Malloc Benchmark.  I've cheated a little by
+  * generating the yacc output files and committing them directly, but it was
+  * easier than disabling the Bison Voodoo that gets executed by default.
+  *
+  * Revision 4.0  91/03/20  01:22:38  lwall
+  * 4.0 baseline.
+  * 
+  */
+ 
+ #define FILLPCT 80		/* don't make greater than 99 */
+ #define DBM_CACHE_MAX 63	/* cache 64 entries for dbm file */
+ 				/* (resident array acts as a write-thru cache)*/
+ 
+ #define COEFFSIZE (16 * 8)	/* size of coeff array */
+ 
+ typedef struct hentry HENT;
+ 
+ struct hentry {
+     HENT	*hent_next;
+     char	*hent_key;
+     STR		*hent_val;
+     int		hent_hash;
+     int		hent_klen;
+ };
+ 
+ struct htbl {
+     HENT	**tbl_array;
+     int		tbl_max;	/* subscript of last element of tbl_array */
+     int		tbl_dosplit;	/* how full to get before splitting */
+     int		tbl_fill;	/* how full tbl_array currently is */
+     int		tbl_riter;	/* current root of iterator */
+     HENT	*tbl_eiter;	/* current entry of iterator */
+     SPAT 	*tbl_spatroot;	/* list of spats for this package */
+     char	*tbl_name;	/* name, if a symbol table */
+ #ifdef SOME_DBM
+ #ifdef HAS_GDBM
+     GDBM_FILE	tbl_dbm;
+ #else
+ #ifdef HAS_NDBM
+     DBM		*tbl_dbm;
+ #else
+     int		tbl_dbm;
+ #endif
+ #endif
+ #endif
+     unsigned char tbl_coeffsize;	/* is 0 for symbol tables */
+ };
+ 
+ STR *hfetch();
+ bool hstore();
+ STR *hdelete();
+ HASH *hnew();
+ void hclear();
+ void hentfree();
+ int hiterinit();
+ HENT *hiternext();
+ char *hiterkey();
+ STR *hiterval();
+ bool hdbmopen();
+ void hdbmclose();
+ bool hdbmstore();


Index: llvm/test/Programs/MultiSource/Benchmarks/MallocBench/perl/malloc.c
diff -c /dev/null llvm/test/Programs/MultiSource/Benchmarks/MallocBench/perl/malloc.c:1.1.2.1
*** /dev/null	Mon Mar  1 17:59:25 2004
--- llvm/test/Programs/MultiSource/Benchmarks/MallocBench/perl/malloc.c	Mon Mar  1 17:59:13 2004
***************
*** 0 ****
--- 1,415 ----
+ /* $RCSfile: malloc.c,v $$Revision: 1.1.2.1 $$Date: 2004/03/01 23:59:13 $
+  *
+  * $Log: malloc.c,v $
+  * Revision 1.1.2.1  2004/03/01 23:59:13  brukman
+  * Merge from trunk
+  *
+  * Revision 1.1  2004/02/17 22:21:16  criswell
+  * Initial commit of the perl Malloc Benchmark.  I've cheated a little by
+  * generating the yacc output files and committing them directly, but it was
+  * easier than disabling the Bison Voodoo that gets executed by default.
+  *
+  * Revision 4.0.1.1  91/04/11  17:48:31  lwall
+  * patch1: Configure now figures out malloc ptr type
+  * 
+  * Revision 4.0  91/03/20  01:28:52  lwall
+  * 4.0 baseline.
+  * 
+  */
+ 
+ #ifndef lint
+ static char sccsid[] = "@(#)malloc.c	4.3 (Berkeley) 9/16/83";
+ 
+ #ifdef DEBUGGING
+ #define RCHECK
+ #endif
+ /*
+  * malloc.c (Caltech) 2/21/82
+  * Chris Kingsley, kingsley at cit-20.
+  *
+  * This is a very fast storage allocator.  It allocates blocks of a small 
+  * number of different sizes, and keeps free lists of each size.  Blocks that
+  * don't exactly fit are passed up to the next larger size.  In this 
+  * implementation, the available sizes are 2^n-4 (or 2^n-12) bytes long.
+  * This is designed for use in a program that uses vast quantities of memory,
+  * but bombs when it runs out. 
+  */
+ 
+ #include "EXTERN.h"
+ #include "perl.h"
+ 
+ static findbucket(), morecore();
+ 
+ /* I don't much care whether these are defined in sys/types.h--LAW */
+ 
+ #define u_char unsigned char
+ #define u_int unsigned int
+ #define u_short unsigned short
+ 
+ /*
+  * The overhead on a block is at least 4 bytes.  When free, this space
+  * contains a pointer to the next free block, and the bottom two bits must
+  * be zero.  When in use, the first byte is set to MAGIC, and the second
+  * byte is the size index.  The remaining bytes are for alignment.
+  * If range checking is enabled and the size of the block fits
+  * in two bytes, then the top two bytes hold the size of the requested block
+  * plus the range checking words, and the header word MINUS ONE.
+  */
+ union	overhead {
+ 	union	overhead *ov_next;	/* when free */
+ #if ALIGNBYTES > 4
+ 	double	strut;			/* alignment problems */
+ #endif
+ 	struct {
+ 		u_char	ovu_magic;	/* magic number */
+ 		u_char	ovu_index;	/* bucket # */
+ #ifdef RCHECK
+ 		u_short	ovu_size;	/* actual block size */
+ 		u_int	ovu_rmagic;	/* range magic number */
+ #endif
+ 	} ovu;
+ #define	ov_magic	ovu.ovu_magic
+ #define	ov_index	ovu.ovu_index
+ #define	ov_size		ovu.ovu_size
+ #define	ov_rmagic	ovu.ovu_rmagic
+ };
+ 
+ #define	MAGIC		0xff		/* magic # on accounting info */
+ #define OLDMAGIC	0x7f		/* same after a free() */
+ #define RMAGIC		0x55555555	/* magic # on range info */
+ #ifdef RCHECK
+ #define	RSLOP		sizeof (u_int)
+ #else
+ #define	RSLOP		0
+ #endif
+ 
+ /*
+  * nextf[i] is the pointer to the next free block of size 2^(i+3).  The
+  * smallest allocatable block is 8 bytes.  The overhead information
+  * precedes the data area returned to the user.
+  */
+ #define	NBUCKETS 30
+ static	union overhead *nextf[NBUCKETS];
+ extern	char *sbrk();
+ 
+ #ifdef MSTATS
+ /*
+  * nmalloc[i] is the difference between the number of mallocs and frees
+  * for a given block size.
+  */
+ static	u_int nmalloc[NBUCKETS];
+ #include <stdio.h>
+ #endif
+ 
+ #ifdef debug
+ #define	ASSERT(p)   if (!(p)) botch("p"); else
+ static
+ botch(s)
+ 	char *s;
+ {
+ 
+ 	printf("assertion botched: %s\n", s);
+ 	abort();
+ }
+ #else
+ #define	ASSERT(p)
+ #endif
+ 
+ MALLOCPTRTYPE *
+ malloc(nbytes)
+ 	register unsigned nbytes;
+ {
+   	register union overhead *p;
+   	register int bucket = 0;
+   	register unsigned shiftr;
+ 
+ 	/*
+ 	 * Convert amount of memory requested into
+ 	 * closest block size stored in hash buckets
+ 	 * which satisfies request.  Account for
+ 	 * space used per block for accounting.
+ 	 */
+   	nbytes += sizeof (union overhead) + RSLOP;
+   	nbytes = (nbytes + 3) &~ 3; 
+   	shiftr = (nbytes - 1) >> 2;
+ 	/* apart from this loop, this is O(1) */
+   	while (shiftr >>= 1)
+   		bucket++;
+ 	/*
+ 	 * If nothing in hash bucket right now,
+ 	 * request more memory from the system.
+ 	 */
+   	if (nextf[bucket] == NULL)    
+   		morecore(bucket);
+   	if ((p = (union overhead *)nextf[bucket]) == NULL)
+   		return (NULL);
+ 	/* remove from linked list */
+ #ifdef RCHECK
+ 	if (*((int*)p) & (sizeof(union overhead) - 1))
+ #ifndef I286
+ 	    fprintf(stderr,"Corrupt malloc ptr 0x%x at 0x%x\n",*((int*)p),p);
+ #else
+ 	    fprintf(stderr,"Corrupt malloc ptr 0x%lx at 0x%lx\n",*((int*)p),p);
+ #endif
+ #endif
+   	nextf[bucket] = p->ov_next;
+ 	p->ov_magic = MAGIC;
+ 	p->ov_index= bucket;
+ #ifdef MSTATS
+   	nmalloc[bucket]++;
+ #endif
+ #ifdef RCHECK
+ 	/*
+ 	 * Record allocated size of block and
+ 	 * bound space with magic numbers.
+ 	 */
+   	if (nbytes <= 0x10000)
+ 		p->ov_size = nbytes - 1;
+ 	p->ov_rmagic = RMAGIC;
+   	*((u_int *)((caddr_t)p + nbytes - RSLOP)) = RMAGIC;
+ #endif
+   	return ((char *)(p + 1));
+ }
+ 
+ /*
+  * Allocate more memory to the indicated bucket.
+  */
+ static
+ morecore(bucket)
+ 	register int bucket;
+ {
+   	register union overhead *op;
+   	register int rnu;       /* 2^rnu bytes will be requested */
+   	register int nblks;     /* become nblks blocks of the desired size */
+ 	register int siz;
+ 
+   	if (nextf[bucket])
+   		return;
+ 	/*
+ 	 * Insure memory is allocated
+ 	 * on a page boundary.  Should
+ 	 * make getpageize call?
+ 	 */
+   	op = (union overhead *)sbrk(0);
+ #ifndef I286
+   	if ((int)op & 0x3ff)
+   		(void)sbrk(1024 - ((int)op & 0x3ff));
+ #else
+ 	/* The sbrk(0) call on the I286 always returns the next segment */
+ #endif
+ 
+ #ifndef I286
+ 	/* take 2k unless the block is bigger than that */
+   	rnu = (bucket <= 8) ? 11 : bucket + 3;
+ #else
+ 	/* take 16k unless the block is bigger than that 
+ 	   (80286s like large segments!)		*/
+   	rnu = (bucket <= 11) ? 14 : bucket + 3;
+ #endif
+   	nblks = 1 << (rnu - (bucket + 3));  /* how many blocks to get */
+   	if (rnu < bucket)
+ 		rnu = bucket;
+ 	op = (union overhead *)sbrk(1 << rnu);
+ 	/* no more room! */
+   	if ((int)op == -1)
+   		return;
+ 	/*
+ 	 * Round up to minimum allocation size boundary
+ 	 * and deduct from block count to reflect.
+ 	 */
+ #ifndef I286
+   	if ((int)op & 7) {
+   		op = (union overhead *)(((int)op + 8) &~ 7);
+   		nblks--;
+   	}
+ #else
+ 	/* Again, this should always be ok on an 80286 */
+ #endif
+ 	/*
+ 	 * Add new memory allocated to that on
+ 	 * free list for this hash bucket.
+ 	 */
+   	nextf[bucket] = op;
+   	siz = 1 << (bucket + 3);
+   	while (--nblks > 0) {
+ 		op->ov_next = (union overhead *)((caddr_t)op + siz);
+ 		op = (union overhead *)((caddr_t)op + siz);
+   	}
+ }
+ 
+ int
+ free(tcp)
+ 	void *tcp;
+ {   
+   char * cp = tcp;
+   	register int size;
+ 	register union overhead *op;
+ 
+ #ifdef IGNOREFREE
+ 	return;
+ #else
+   	if (cp == NULL)
+   		return;
+ 	op = (union overhead *)((caddr_t)cp - sizeof (union overhead));
+ #ifdef debug
+   	ASSERT(op->ov_magic == MAGIC);		/* make sure it was in use */
+ #else
+ 	if (op->ov_magic != MAGIC) {
+ 		warn("%s free() ignored",
+ 		    op->ov_magic == OLDMAGIC ? "Duplicate" : "Bad");
+ 		return;				/* sanity */
+ 	}
+ 	op->ov_magic = OLDMAGIC;
+ #endif
+ #ifdef RCHECK
+   	ASSERT(op->ov_rmagic == RMAGIC);
+ 	if (op->ov_index <= 13)
+ 		ASSERT(*(u_int *)((caddr_t)op + op->ov_size + 1 - RSLOP) == RMAGIC);
+ #endif
+   	ASSERT(op->ov_index < NBUCKETS);
+   	size = op->ov_index;
+ 	op->ov_next = nextf[size];
+   	nextf[size] = op;
+ #ifdef MSTATS
+   	nmalloc[size]--;
+ #endif
+ #endif	
+ }
+ 
+ /*
+  * When a program attempts "storage compaction" as mentioned in the
+  * old malloc man page, it realloc's an already freed block.  Usually
+  * this is the last block it freed; occasionally it might be farther
+  * back.  We have to search all the free lists for the block in order
+  * to determine its bucket: 1st we make one pass thru the lists
+  * checking only the first block in each; if that fails we search
+  * ``reall_srchlen'' blocks in each list for a match (the variable
+  * is extern so the caller can modify it).  If that fails we just copy
+  * however many bytes was given to realloc() and hope it's not huge.
+  */
+ int reall_srchlen = 4;	/* 4 should be plenty, -1 =>'s whole list */
+ 
+ MALLOCPTRTYPE *
+ realloc(tcp, nbytes)
+ 	void *tcp; 
+ 	unsigned nbytes;
+ {   
+   char * cp = tcp;
+   	register u_int onb;
+ 	union overhead *op;
+   	char *res;
+ 	register int i;
+ 	int was_alloced = 0;
+ 
+   	if (cp == NULL)
+   		return (malloc(nbytes));
+ 	op = (union overhead *)((caddr_t)cp - sizeof (union overhead));
+ 	if (op->ov_magic == MAGIC) {
+ 		was_alloced++;
+ 		i = op->ov_index;
+ 	} else {
+ 		/*
+ 		 * Already free, doing "compaction".
+ 		 *
+ 		 * Search for the old block of memory on the
+ 		 * free list.  First, check the most common
+ 		 * case (last element free'd), then (this failing)
+ 		 * the last ``reall_srchlen'' items free'd.
+ 		 * If all lookups fail, then assume the size of
+ 		 * the memory block being realloc'd is the
+ 		 * smallest possible.
+ 		 */
+ 		if ((i = findbucket(op, 1)) < 0 &&
+ 		    (i = findbucket(op, reall_srchlen)) < 0)
+ 			i = 0;
+ 	}
+ 	onb = (1 << (i + 3)) - sizeof (*op) - RSLOP;
+ 	/* avoid the copy if same size block */
+ 	if (was_alloced &&
+ 	    nbytes <= onb && nbytes > (onb >> 1) - sizeof(*op) - RSLOP) {
+ #ifdef RCHECK
+ 		/*
+ 		 * Record new allocated size of block and
+ 		 * bound space with magic numbers.
+ 		 */
+ 		if (op->ov_index <= 13) {
+ 			/*
+ 			 * Convert amount of memory requested into
+ 			 * closest block size stored in hash buckets
+ 			 * which satisfies request.  Account for
+ 			 * space used per block for accounting.
+ 			 */
+ 			nbytes += sizeof (union overhead) + RSLOP;
+ 			nbytes = (nbytes + 3) &~ 3; 
+ 			op->ov_size = nbytes - 1;
+ 			*((u_int *)((caddr_t)op + nbytes - RSLOP)) = RMAGIC;
+ 		}
+ #endif
+ 		return(cp);
+ 	}
+   	if ((res = malloc(nbytes)) == NULL)
+   		return (NULL);
+   	if (cp != res)			/* common optimization */
+ 		(void)bcopy(cp, res, (int)((nbytes < onb) ? nbytes : onb));
+   	if (was_alloced)
+ 		free(cp);
+   	return (res);
+ }
+ 
+ /*
+  * Search ``srchlen'' elements of each free list for a block whose
+  * header starts at ``freep''.  If srchlen is -1 search the whole list.
+  * Return bucket number, or -1 if not found.
+  */
+ static
+ findbucket(freep, srchlen)
+ 	union overhead *freep;
+ 	int srchlen;
+ {
+ 	register union overhead *p;
+ 	register int i, j;
+ 
+ 	for (i = 0; i < NBUCKETS; i++) {
+ 		j = 0;
+ 		for (p = nextf[i]; p && j != srchlen; p = p->ov_next) {
+ 			if (p == freep)
+ 				return (i);
+ 			j++;
+ 		}
+ 	}
+ 	return (-1);
+ }
+ 
+ #ifdef MSTATS
+ /*
+  * mstats - print out statistics about malloc
+  * 
+  * Prints two lines of numbers, one showing the length of the free list
+  * for each size category, the second showing the number of mallocs -
+  * frees for each size category.
+  */
+ mstats(s)
+ 	char *s;
+ {
+   	register int i, j;
+   	register union overhead *p;
+   	int totfree = 0,
+   	totused = 0;
+ 
+   	fprintf(stderr, "Memory allocation statistics %s\nfree:\t", s);
+   	for (i = 0; i < NBUCKETS; i++) {
+   		for (j = 0, p = nextf[i]; p; p = p->ov_next, j++)
+   			;
+   		fprintf(stderr, " %d", j);
+   		totfree += j * (1 << (i + 3));
+   	}
+   	fprintf(stderr, "\nused:\t");
+   	for (i = 0; i < NBUCKETS; i++) {
+   		fprintf(stderr, " %d", nmalloc[i]);
+   		totused += nmalloc[i] * (1 << (i + 3));
+   	}
+   	fprintf(stderr, "\n\tTotal in use: %d, total free: %d\n",
+ 	    totused, totfree);
+ }
+ #endif
+ #endif /* lint */


Index: llvm/test/Programs/MultiSource/Benchmarks/MallocBench/perl/patch-malloc.c
diff -c /dev/null llvm/test/Programs/MultiSource/Benchmarks/MallocBench/perl/patch-malloc.c:1.1.2.1
*** /dev/null	Mon Mar  1 17:59:25 2004
--- llvm/test/Programs/MultiSource/Benchmarks/MallocBench/perl/patch-malloc.c	Mon Mar  1 17:59:13 2004
***************
*** 0 ****
--- 1,33 ----
+ extern char *malloc();
+ extern char *bZa(), *bZr(), *bZc();
+ extern int free();
+ 
+ char *
+ malloc(n)
+ int n;
+ {
+     return bZa(n);
+ }
+ 
+ char *
+ calloc(n)
+ int n;
+ {
+     /* return bZc(n);
+      */
+ }
+ 
+ free(p)
+ char *p;
+ {
+     bZf(p);
+ }
+ 
+ char *
+ realloc(cp, nbytes)
+ char *cp;
+ int nbytes;
+ {
+     return bZr(cp, nbytes);
+ }
+ 


Index: llvm/test/Programs/MultiSource/Benchmarks/MallocBench/perl/patchlevel.h
diff -c /dev/null llvm/test/Programs/MultiSource/Benchmarks/MallocBench/perl/patchlevel.h:1.1.2.1
*** /dev/null	Mon Mar  1 17:59:25 2004
--- llvm/test/Programs/MultiSource/Benchmarks/MallocBench/perl/patchlevel.h	Mon Mar  1 17:59:13 2004
***************
*** 0 ****
--- 1 ----
+ #define PATCHLEVEL 3


Index: llvm/test/Programs/MultiSource/Benchmarks/MallocBench/perl/perl.c
diff -c /dev/null llvm/test/Programs/MultiSource/Benchmarks/MallocBench/perl/perl.c:1.1.2.1
*** /dev/null	Mon Mar  1 17:59:25 2004
--- llvm/test/Programs/MultiSource/Benchmarks/MallocBench/perl/perl.c	Mon Mar  1 17:59:13 2004
***************
*** 0 ****
--- 1,1228 ----
+ char rcsid[] = "$RCSfile: perl.c,v $$Revision: 1.1.2.1 $$Date: 2004/03/01 23:59:13 $\nPatch level: ###\n";
+ /*
+  *    Copyright (c) 1989, Larry Wall
+  *
+  *    You may distribute under the terms of the GNU General Public License
+  *    as specified in the README file that comes with the perl 3.0 kit.
+  *
+  * $Log: perl.c,v $
+  * Revision 1.1.2.1  2004/03/01 23:59:13  brukman
+  * Merge from trunk
+  *
+  * Revision 1.1  2004/02/17 22:21:16  criswell
+  * Initial commit of the perl Malloc Benchmark.  I've cheated a little by
+  * generating the yacc output files and committing them directly, but it was
+  * easier than disabling the Bison Voodoo that gets executed by default.
+  *
+  * Revision 4.0.1.1  91/04/11  17:49:05  lwall
+  * patch1: fixed undefined environ problem
+  * 
+  * Revision 4.0  91/03/20  01:37:44  lwall
+  * 4.0 baseline.
+  * 
+  */
+ 
+ #include "EXTERN.h"
+ #include "perl.h"
+ #include "perly.h"
+ #ifdef MSDOS
+ #include "patchlev.h"
+ #else
+ #include "patchlevel.h"
+ #endif
+ 
+ #ifdef IAMSUID
+ #ifndef DOSUID
+ #define DOSUID
+ #endif
+ #endif
+ 
+ #ifdef SETUID_SCRIPTS_ARE_SECURE_NOW
+ #ifdef DOSUID
+ #undef DOSUID
+ #endif
+ #endif
+ 
+ static char* moreswitches();
+ static char* cddir;
+ static bool minus_c;
+ static char patchlevel[6];
+ static char *nrs = "\n";
+ static int nrschar = '\n';      /* final char of rs, or 0777 if none */
+ static int nrslen = 1;
+ 
+ main(argc,argv,env)
+ register int argc;
+ register char **argv;
+ register char **env;
+ {
+     register STR *str;
+     register char *s;
+     char *index(), *strcpy(), *getenv();
+     bool dosearch = FALSE;
+ #ifdef DOSUID
+     char *validarg = "";
+ #endif
+ 
+ #ifdef SETUID_SCRIPTS_ARE_SECURE_NOW
+ #ifdef IAMSUID
+ #undef IAMSUID
+     fatal("suidperl is no longer needed since the kernel can now execute\n\
+ setuid perl scripts securely.\n");
+ #endif
+ #endif
+ 
+ #ifdef BWGC
+ 	{
+ 	    extern gc_init();
+ 	    gc_init();
+ 	}
+ #endif BWGC
+     
+     origargv = argv;
+     origargc = argc;
+     origenviron = environ;
+     uid = (int)getuid();
+     euid = (int)geteuid();
+     gid = (int)getgid();
+     egid = (int)getegid();
+     sprintf(patchlevel,"%3.3s%2.2d", index(rcsid,'4'), PATCHLEVEL);
+ #ifdef MSDOS
+     /*
+      * There is no way we can refer to them from Perl so close them to save
+      * space.  The other alternative would be to provide STDAUX and STDPRN
+      * filehandles.
+      */
+     (void)fclose(stdaux);
+     (void)fclose(stdprn);
+ #endif
+     if (do_undump) {
+ 	origfilename = savestr(argv[0]);
+ 	do_undump = 0;
+ 	loop_ptr = -1;		/* start label stack again */
+ 	goto just_doit;
+     }
+     (void)sprintf(index(rcsid,'#'), "%d\n", PATCHLEVEL);
+     linestr = Str_new(65,80);
+     str_nset(linestr,"",0);
+     str = str_make("",0);		/* first used for -I flags */
+     curstash = defstash = hnew(0);
+     curstname = str_make("main",4);
+     stab_xhash(stabent("_main",TRUE)) = defstash;
+     defstash->tbl_name = "main";
+     incstab = hadd(aadd(stabent("INC",TRUE)));
+     incstab->str_pok |= SP_MULTI;
+     for (argc--,argv++; argc > 0; argc--,argv++) {
+ 	if (argv[0][0] != '-' || !argv[0][1])
+ 	    break;
+ #ifdef DOSUID
+     if (*validarg)
+ 	validarg = " PHOOEY ";
+     else
+ 	validarg = argv[0];
+ #endif
+ 	s = argv[0]+1;
+       reswitch:
+ 	switch (*s) {
+ 	case '0':
+ 	case 'a':
+ 	case 'c':
+ 	case 'd':
+ 	case 'D':
+ 	case 'i':
+ 	case 'l':
+ 	case 'n':
+ 	case 'p':
+ 	case 'u':
+ 	case 'U':
+ 	case 'v':
+ 	case 'w':
+ 	    if (s = moreswitches(s))
+ 		goto reswitch;
+ 	    break;
+ 
+ 	case 'e':
+ #ifdef TAINT
+ 	    if (euid != uid || egid != gid)
+ 		fatal("No -e allowed in setuid scripts");
+ #endif
+ 	    if (!e_fp) {
+ 	        e_tmpname = savestr(TMPPATH);
+ 		(void)mktemp(e_tmpname);
+ 		e_fp = fopen(e_tmpname,"w");
+ 		if (!e_fp)
+ 		    fatal("Cannot open temporary file");
+ 	    }
+ 	    if (argv[1]) {
+ 		fputs(argv[1],e_fp);
+ 		argc--,argv++;
+ 	    }
+ 	    (void)putc('\n', e_fp);
+ 	    break;
+ 	case 'I':
+ #ifdef TAINT
+ 	    if (euid != uid || egid != gid)
+ 		fatal("No -I allowed in setuid scripts");
+ #endif
+ 	    str_cat(str,"-");
+ 	    str_cat(str,s);
+ 	    str_cat(str," ");
+ 	    if (*++s) {
+ 		(void)apush(stab_array(incstab),str_make(s,0));
+ 	    }
+ 	    else if (argv[1]) {
+ 		(void)apush(stab_array(incstab),str_make(argv[1],0));
+ 		str_cat(str,argv[1]);
+ 		argc--,argv++;
+ 		str_cat(str," ");
+ 	    }
+ 	    break;
+ 	case 'P':
+ #ifdef TAINT
+ 	    if (euid != uid || egid != gid)
+ 		fatal("No -P allowed in setuid scripts");
+ #endif
+ 	    preprocess = TRUE;
+ 	    s++;
+ 	    goto reswitch;
+ 	case 's':
+ #ifdef TAINT
+ 	    if (euid != uid || egid != gid)
+ 		fatal("No -s allowed in setuid scripts");
+ #endif
+ 	    doswitches = TRUE;
+ 	    s++;
+ 	    goto reswitch;
+ 	case 'S':
+ 	    dosearch = TRUE;
+ 	    s++;
+ 	    goto reswitch;
+ 	case 'x':
+ 	    doextract = TRUE;
+ 	    s++;
+ 	    if (*s)
+ 		cddir = savestr(s);
+ 	    break;
+ 	case '-':
+ 	    argc--,argv++;
+ 	    goto switch_end;
+ 	case 0:
+ 	    break;
+ 	default:
+ 	    fatal("Unrecognized switch: -%s",s);
+ 	}
+     }
+   switch_end:
+     if (e_fp) {
+ 	(void)fclose(e_fp);
+ 	argc++,argv--;
+ 	argv[0] = e_tmpname;
+     }
+ 
+ #ifdef MSDOS
+ #define PERLLIB_SEP ';'
+ #else
+ #define PERLLIB_SEP ':'
+ #endif
+ #ifndef TAINT		/* Can't allow arbitrary PERLLIB in setuid script */
+     {
+ 	char * s2 = getenv("PERLLIB");
+ 
+ 	if ( s2 ) {
+ 	    /* Break at all separators */
+ 	    while ( *s2 ) {
+ 		/* First, skip any consecutive separators */
+ 		while ( *s2 == PERLLIB_SEP ) {
+ 		    /* Uncomment the next line for PATH semantics */
+ 		    /* (void)apush(stab_array(incstab),str_make(".",1)); */
+ 		    s2++;
+ 		}
+ 		if ( (s = index(s2,PERLLIB_SEP)) != Nullch ) {
+ 		    (void)apush(stab_array(incstab),str_make(s2,(int)(s-s2)));
+ 		    s2 = s+1;
+ 		} else {
+ 		    (void)apush(stab_array(incstab),str_make(s2,0));
+ 		    break;
+ 		}
+ 	    }
+ 	}
+     }
+ #endif /* TAINT */
+ 
+ #ifndef PRIVLIB
+ #define PRIVLIB "/usr/local/lib/perl"
+ #endif
+     (void)apush(stab_array(incstab),str_make(PRIVLIB,0));
+     (void)apush(stab_array(incstab),str_make(".",1));
+ 
+     str_set(&str_no,No);
+     str_set(&str_yes,Yes);
+ 
+     /* open script */
+ 
+     if (argv[0] == Nullch)
+ #ifdef MSDOS
+     {
+ 	if ( isatty(fileno(stdin)) )
+ 	  moreswitches("v");
+ 	argv[0] = "-";
+     }
+ #else
+ 	argv[0] = "-";
+ #endif
+     if (dosearch && !index(argv[0], '/') && (s = getenv("PATH"))) {
+ 	char *xfound = Nullch, *xfailed = Nullch;
+ 	int len;
+ 
+ 	bufend = s + strlen(s);
+ 	while (*s) {
+ #ifndef MSDOS
+ 	    s = cpytill(tokenbuf,s,bufend,':',&len);
+ #else
+ 	    for (len = 0; *s && *s != ';'; tokenbuf[len++] = *s++);
+ 	    tokenbuf[len] = '\0';
+ #endif
+ 	    if (*s)
+ 		s++;
+ #ifndef MSDOS
+ 	    if (len && tokenbuf[len-1] != '/')
+ #else
+ 	    if (len && tokenbuf[len-1] != '\\')
+ #endif
+ 		(void)strcat(tokenbuf+len,"/");
+ 	    (void)strcat(tokenbuf+len,argv[0]);
+ #ifdef DEBUGGING
+ 	    if (debug & 1)
+ 		fprintf(stderr,"Looking for %s\n",tokenbuf);
+ #endif
+ 	    if (stat(tokenbuf,&statbuf) < 0)		/* not there? */
+ 		continue;
+ 	    if (S_ISREG(statbuf.st_mode)
+ 	     && cando(S_IRUSR,TRUE,&statbuf) && cando(S_IXUSR,TRUE,&statbuf)) {
+ 		xfound = tokenbuf;              /* bingo! */
+ 		break;
+ 	    }
+ 	    if (!xfailed)
+ 		xfailed = savestr(tokenbuf);
+ 	}
+ 	if (!xfound)
+ 	    fatal("Can't execute %s", xfailed ? xfailed : argv[0] );
+ 	if (xfailed)
+ 	    Safefree(xfailed);
+ 	argv[0] = savestr(xfound);
+     }
+ 
+     fdpid = anew(Nullstab);	/* for remembering popen pids by fd */
+     pidstatus = hnew(COEFFSIZE);/* for remembering status of dead pids */
+ 
+     origfilename = savestr(argv[0]);
+     curcmd->c_filestab = fstab(origfilename);
+     if (strEQ(origfilename,"-"))
+ 	argv[0] = "";
+     if (preprocess) {
+ 	str_cat(str,"-I");
+ 	str_cat(str,PRIVLIB);
+ 	(void)sprintf(buf, "\
+ %ssed %s -e '/^[^#]/b' \
+  -e '/^#[ 	]*include[ 	]/b' \
+  -e '/^#[ 	]*define[ 	]/b' \
+  -e '/^#[ 	]*if[ 	]/b' \
+  -e '/^#[ 	]*ifdef[ 	]/b' \
+  -e '/^#[ 	]*ifndef[ 	]/b' \
+  -e '/^#[ 	]*else/b' \
+  -e '/^#[ 	]*endif/b' \
+  -e 's/^#.*//' \
+  %s | %s -C %s %s",
+ #ifdef MSDOS
+ 	  "",
+ #else
+ 	  "/bin/",
+ #endif
+ 	  (doextract ? "-e '1,/^#/d\n'" : ""),
+ 	  argv[0], CPPSTDIN, str_get(str), CPPMINUS);
+ #ifdef DEBUGGING
+ 	if (debug & 64) {
+ 	    fputs(buf,stderr);
+ 	    fputs("\n",stderr);
+ 	}
+ #endif
+ 	doextract = FALSE;
+ #ifdef IAMSUID				/* actually, this is caught earlier */
+ 	if (euid != uid && !euid)	/* if running suidperl */
+ #ifdef HAS_SETEUID
+ 	    (void)seteuid(uid);		/* musn't stay setuid root */
+ #else
+ #ifdef HAS_SETREUID
+ 	    (void)setreuid(-1, uid);
+ #else
+ 	    setuid(uid);
+ #endif
+ #endif
+ #endif /* IAMSUID */
+ 	rsfp = mypopen(buf,"r");
+     }
+     else if (!*argv[0])
+ 	rsfp = stdin;
+     else
+ 	rsfp = fopen(argv[0],"r");
+     if (rsfp == Nullfp) {
+ #ifdef DOSUID
+ #ifndef IAMSUID		/* in case script is not readable before setuid */
+ 	if (euid && stat(stab_val(curcmd->c_filestab)->str_ptr,&statbuf) >= 0 &&
+ 	  statbuf.st_mode & (S_ISUID|S_ISGID)) {
+ 	    (void)sprintf(buf, "%s/sperl%s", BIN, patchlevel);
+ 	    execv(buf, origargv);	/* try again */
+ 	    fatal("Can't do setuid\n");
+ 	}
+ #endif
+ #endif
+ 	fatal("Can't open perl script \"%s\": %s\n",
+ 	  stab_val(curcmd->c_filestab)->str_ptr, strerror(errno));
+     }
+     str_free(str);		/* free -I directories */
+     str = Nullstr;
+ 
+     /* do we need to emulate setuid on scripts? */
+ 
+     /* This code is for those BSD systems that have setuid #! scripts disabled
+      * in the kernel because of a security problem.  Merely defining DOSUID
+      * in perl will not fix that problem, but if you have disabled setuid
+      * scripts in the kernel, this will attempt to emulate setuid and setgid
+      * on scripts that have those now-otherwise-useless bits set.  The setuid
+      * root version must be called suidperl or sperlN.NNN.  If regular perl
+      * discovers that it has opened a setuid script, it calls suidperl with
+      * the same argv that it had.  If suidperl finds that the script it has
+      * just opened is NOT setuid root, it sets the effective uid back to the
+      * uid.  We don't just make perl setuid root because that loses the
+      * effective uid we had before invoking perl, if it was different from the
+      * uid.
+      *
+      * DOSUID must be defined in both perl and suidperl, and IAMSUID must
+      * be defined in suidperl only.  suidperl must be setuid root.  The
+      * Configure script will set this up for you if you want it.
+      *
+      * There is also the possibility of have a script which is running
+      * set-id due to a C wrapper.  We want to do the TAINT checks
+      * on these set-id scripts, but don't want to have the overhead of
+      * them in normal perl, and can't use suidperl because it will lose
+      * the effective uid info, so we have an additional non-setuid root
+      * version called taintperl or tperlN.NNN that just does the TAINT checks.
+      */
+ 
+ #ifdef DOSUID
+     if (fstat(fileno(rsfp),&statbuf) < 0)	/* normal stat is insecure */
+ 	fatal("Can't stat script \"%s\"",origfilename);
+     if (statbuf.st_mode & (S_ISUID|S_ISGID)) {
+ 	int len;
+ 
+ #ifdef IAMSUID
+ #ifndef HAS_SETREUID
+ 	/* On this access check to make sure the directories are readable,
+ 	 * there is actually a small window that the user could use to make
+ 	 * filename point to an accessible directory.  So there is a faint
+ 	 * chance that someone could execute a setuid script down in a
+ 	 * non-accessible directory.  I don't know what to do about that.
+ 	 * But I don't think it's too important.  The manual lies when
+ 	 * it says access() is useful in setuid programs.
+ 	 */
+ 	if (access(stab_val(curcmd->c_filestab)->str_ptr,1))	/*double check*/
+ 	    fatal("Permission denied");
+ #else
+ 	/* If we can swap euid and uid, then we can determine access rights
+ 	 * with a simple stat of the file, and then compare device and
+ 	 * inode to make sure we did stat() on the same file we opened.
+ 	 * Then we just have to make sure he or she can execute it.
+ 	 */
+ 	{
+ 	    struct stat tmpstatbuf;
+ 
+ 	    if (setreuid(euid,uid) < 0 || getuid() != euid || geteuid() != uid)
+ 		fatal("Can't swap uid and euid");	/* really paranoid */
+ 	    if (stat(stab_val(curcmd->c_filestab)->str_ptr,&tmpstatbuf) < 0)
+ 		fatal("Permission denied");	/* testing full pathname here */
+ 	    if (tmpstatbuf.st_dev != statbuf.st_dev ||
+ 		tmpstatbuf.st_ino != statbuf.st_ino) {
+ 		(void)fclose(rsfp);
+ 		if (rsfp = mypopen("/bin/mail root","w")) {	/* heh, heh */
+ 		    fprintf(rsfp,
+ "User %d tried to run dev %d ino %d in place of dev %d ino %d!\n\
+ (Filename of set-id script was %s, uid %d gid %d.)\n\nSincerely,\nperl\n",
+ 			uid,tmpstatbuf.st_dev, tmpstatbuf.st_ino,
+ 			statbuf.st_dev, statbuf.st_ino,
+ 			stab_val(curcmd->c_filestab)->str_ptr,
+ 			statbuf.st_uid, statbuf.st_gid);
+ 		    (void)mypclose(rsfp);
+ 		}
+ 		fatal("Permission denied\n");
+ 	    }
+ 	    if (setreuid(uid,euid) < 0 || getuid() != uid || geteuid() != euid)
+ 		fatal("Can't reswap uid and euid");
+ 	    if (!cando(S_IXUSR,FALSE,&statbuf))		/* can real uid exec? */
+ 		fatal("Permission denied\n");
+ 	}
+ #endif /* HAS_SETREUID */
+ #endif /* IAMSUID */
+ 
+ 	if (!S_ISREG(statbuf.st_mode))
+ 	    fatal("Permission denied");
+ 	if (statbuf.st_mode & S_IWOTH)
+ 	    fatal("Setuid/gid script is writable by world");
+ 	doswitches = FALSE;		/* -s is insecure in suid */
+ 	curcmd->c_line++;
+ 	if (fgets(tokenbuf,sizeof tokenbuf, rsfp) == Nullch ||
+ 	  strnNE(tokenbuf,"#!",2) )	/* required even on Sys V */
+ 	    fatal("No #! line");
+ 	s = tokenbuf+2;
+ 	if (*s == ' ') s++;
+ 	while (!isspace(*s)) s++;
+ 	if (strnNE(s-4,"perl",4) && strnNE(s-9,"perl",4))  /* sanity check */
+ 	    fatal("Not a perl script");
+ 	while (*s == ' ' || *s == '\t') s++;
+ 	/*
+ 	 * #! arg must be what we saw above.  They can invoke it by
+ 	 * mentioning suidperl explicitly, but they may not add any strange
+ 	 * arguments beyond what #! says if they do invoke suidperl that way.
+ 	 */
+ 	len = strlen(validarg);
+ 	if (strEQ(validarg," PHOOEY ") ||
+ 	    strnNE(s,validarg,len) || !isspace(s[len]))
+ 	    fatal("Args must match #! line");
+ 
+ #ifndef IAMSUID
+ 	if (euid != uid && (statbuf.st_mode & S_ISUID) &&
+ 	    euid == statbuf.st_uid)
+ 	    if (!do_undump)
+ 		fatal("YOU HAVEN'T DISABLED SET-ID SCRIPTS IN THE KERNEL YET!\n\
+ FIX YOUR KERNEL, PUT A C WRAPPER AROUND THIS SCRIPT, OR USE -u AND UNDUMP!\n");
+ #endif /* IAMSUID */
+ 
+ 	if (euid) {	/* oops, we're not the setuid root perl */
+ 	    (void)fclose(rsfp);
+ #ifndef IAMSUID
+ 	    (void)sprintf(buf, "%s/sperl%s", BIN, patchlevel);
+ 	    execv(buf, origargv);	/* try again */
+ #endif
+ 	    fatal("Can't do setuid\n");
+ 	}
+ 
+ 	if (statbuf.st_mode & S_ISGID && statbuf.st_gid != egid)
+ #ifdef HAS_SETEGID
+ 	    (void)setegid(statbuf.st_gid);
+ #else
+ #ifdef HAS_SETREGID
+ 	    (void)setregid((GIDTYPE)-1,statbuf.st_gid);
+ #else
+ 	    setgid(statbuf.st_gid);
+ #endif
+ #endif
+ 	if (statbuf.st_mode & S_ISUID) {
+ 	    if (statbuf.st_uid != euid)
+ #ifdef HAS_SETEUID
+ 		(void)seteuid(statbuf.st_uid);	/* all that for this */
+ #else
+ #ifdef HAS_SETREUID
+ 		(void)setreuid((UIDTYPE)-1,statbuf.st_uid);
+ #else
+ 		setuid(statbuf.st_uid);
+ #endif
+ #endif
+ 	}
+ 	else if (uid)			/* oops, mustn't run as root */
+ #ifdef HAS_SETEUID
+ 	    (void)seteuid((UIDTYPE)uid);
+ #else
+ #ifdef HAS_SETREUID
+ 	    (void)setreuid((UIDTYPE)-1,(UIDTYPE)uid);
+ #else
+ 	    setuid((UIDTYPE)uid);
+ #endif
+ #endif
+ 	uid = (int)getuid();
+ 	euid = (int)geteuid();
+ 	gid = (int)getgid();
+ 	egid = (int)getegid();
+ 	if (!cando(S_IXUSR,TRUE,&statbuf))
+ 	    fatal("Permission denied\n");	/* they can't do this */
+     }
+ #ifdef IAMSUID
+     else if (preprocess)
+ 	fatal("-P not allowed for setuid/setgid script\n");
+     else
+ 	fatal("Script is not setuid/setgid in suidperl\n");
+ #else
+ #ifndef TAINT		/* we aren't taintperl or suidperl */
+     /* script has a wrapper--can't run suidperl or we lose euid */
+     else if (euid != uid || egid != gid) {
+ 	(void)fclose(rsfp);
+ 	(void)sprintf(buf, "%s/tperl%s", BIN, patchlevel);
+ 	execv(buf, origargv);	/* try again */
+ 	fatal("Can't run setuid script with taint checks");
+     }
+ #endif /* TAINT */
+ #endif /* IAMSUID */
+ #else /* !DOSUID */
+ #ifndef TAINT		/* we aren't taintperl or suidperl */
+     if (euid != uid || egid != gid) {	/* (suidperl doesn't exist, in fact) */
+ #ifndef SETUID_SCRIPTS_ARE_SECURE_NOW
+ 	fstat(fileno(rsfp),&statbuf);	/* may be either wrapped or real suid */
+ 	if ((euid != uid && euid == statbuf.st_uid && statbuf.st_mode & S_ISUID)
+ 	    ||
+ 	    (egid != gid && egid == statbuf.st_gid && statbuf.st_mode & S_ISGID)
+ 	   )
+ 	    if (!do_undump)
+ 		fatal("YOU HAVEN'T DISABLED SET-ID SCRIPTS IN THE KERNEL YET!\n\
+ FIX YOUR KERNEL, PUT A C WRAPPER AROUND THIS SCRIPT, OR USE -u AND UNDUMP!\n");
+ #endif /* SETUID_SCRIPTS_ARE_SECURE_NOW */
+ 	/* not set-id, must be wrapped */
+ 	(void)fclose(rsfp);
+ 	(void)sprintf(buf, "%s/tperl%s", BIN, patchlevel);
+ 	execv(buf, origargv);	/* try again */
+ 	fatal("Can't run setuid script with taint checks");
+     }
+ #endif /* TAINT */
+ #endif /* DOSUID */
+ 
+ #if !defined(IAMSUID) && !defined(TAINT)
+ 
+     /* skip forward in input to the real script? */
+ 
+     while (doextract) {
+ 	if ((s = str_gets(linestr, rsfp, 0)) == Nullch)
+ 	    fatal("No Perl script found in input\n");
+ 	if (*s == '#' && s[1] == '!' && instr(s,"perl")) {
+ 	    ungetc('\n',rsfp);		/* to keep line count right */
+ 	    doextract = FALSE;
+ 	    if (s = instr(s,"perl -")) {
+ 		s += 6;
+ 		while (s = moreswitches(s)) ;
+ 	    }
+ 	    if (cddir && chdir(cddir) < 0)
+ 		fatal("Can't chdir to %s",cddir);
+ 	}
+     }
+ #endif /* !defined(IAMSUID) && !defined(TAINT) */
+ 
+     defstab = stabent("_",TRUE);
+ 
+     if (perldb) {
+ 	debstash = hnew(0);
+ 	stab_xhash(stabent("_DB",TRUE)) = debstash;
+ 	curstash = debstash;
+ 	dbargs = stab_xarray(aadd((tmpstab = stabent("args",TRUE))));
+ 	tmpstab->str_pok |= SP_MULTI;
+ 	dbargs->ary_flags = 0;
+ 	subname = str_make("main",4);
+ 	DBstab = stabent("DB",TRUE);
+ 	DBstab->str_pok |= SP_MULTI;
+ 	DBline = stabent("dbline",TRUE);
+ 	DBline->str_pok |= SP_MULTI;
+ 	DBsub = hadd(tmpstab = stabent("sub",TRUE));
+ 	tmpstab->str_pok |= SP_MULTI;
+ 	DBsingle = stab_val((tmpstab = stabent("single",TRUE)));
+ 	tmpstab->str_pok |= SP_MULTI;
+ 	DBtrace = stab_val((tmpstab = stabent("trace",TRUE)));
+ 	tmpstab->str_pok |= SP_MULTI;
+ 	DBsignal = stab_val((tmpstab = stabent("signal",TRUE)));
+ 	tmpstab->str_pok |= SP_MULTI;
+ 	curstash = defstash;
+     }
+ 
+     /* init tokener */
+ 
+     bufend = bufptr = str_get(linestr);
+ 
+     savestack = anew(Nullstab);		/* for saving non-local values */
+     stack = anew(Nullstab);		/* for saving non-local values */
+     stack->ary_flags = 0;		/* not a real array */
+     afill(stack,63); afill(stack,-1);	/* preextend stack */
+     afill(savestack,63); afill(savestack,-1);
+ 
+     /* now parse the script */
+ 
+     error_count = 0;
+     if (yyparse() || error_count) {
+ 	if (minus_c)
+ 	    fatal("%s had compilation errors.\n", origfilename);
+ 	else {
+ 	    fatal("Execution of %s aborted due to compilation errors.\n",
+ 		origfilename);
+ 	}
+     }
+ 
+     New(50,loop_stack,128,struct loop);
+ #ifdef DEBUGGING
+     if (debug) {
+ 	New(51,debname,128,char);
+ 	New(52,debdelim,128,char);
+     }
+ #endif
+     curstash = defstash;
+ 
+     preprocess = FALSE;
+     if (e_fp) {
+ 	e_fp = Nullfp;
+ 	(void)UNLINK(e_tmpname);
+     }
+ 
+     /* initialize everything that won't change if we undump */
+ 
+     if (sigstab = stabent("SIG",allstabs)) {
+ 	sigstab->str_pok |= SP_MULTI;
+ 	(void)hadd(sigstab);
+     }
+ 
+     magicalize("!#?^~=-%.+&*()<>,\\/[|`':\004\t\024\027");
+     userinit();		/* in case linked C routines want magical variables */
+ 
+     amperstab = stabent("&",allstabs);
+     leftstab = stabent("`",allstabs);
+     rightstab = stabent("'",allstabs);
+     sawampersand = (amperstab || leftstab || rightstab);
+     if (tmpstab = stabent(":",allstabs))
+ 	str_set(STAB_STR(tmpstab),chopset);
+     if (tmpstab = stabent("\024",allstabs))
+ 	time(&basetime);
+ 
+     /* these aren't necessarily magical */
+     if (tmpstab = stabent(";",allstabs))
+ 	str_set(STAB_STR(tmpstab),"\034");
+     if (tmpstab = stabent("]",allstabs)) {
+ 	str = STAB_STR(tmpstab);
+ 	str_set(str,rcsid);
+ 	str->str_u.str_nval = atof(patchlevel);
+ 	str->str_nok = 1;
+     }
+     str_nset(stab_val(stabent("\"", TRUE)), " ", 1);
+ 
+     stdinstab = stabent("STDIN",TRUE);
+     stdinstab->str_pok |= SP_MULTI;
+     stab_io(stdinstab) = stio_new();
+     stab_io(stdinstab)->ifp = stdin;
+     tmpstab = stabent("stdin",TRUE);
+     stab_io(tmpstab) = stab_io(stdinstab);
+     tmpstab->str_pok |= SP_MULTI;
+ 
+     tmpstab = stabent("STDOUT",TRUE);
+     tmpstab->str_pok |= SP_MULTI;
+     stab_io(tmpstab) = stio_new();
+     stab_io(tmpstab)->ofp = stab_io(tmpstab)->ifp = stdout;
+     defoutstab = tmpstab;
+     tmpstab = stabent("stdout",TRUE);
+     stab_io(tmpstab) = stab_io(defoutstab);
+     tmpstab->str_pok |= SP_MULTI;
+ 
+     curoutstab = stabent("STDERR",TRUE);
+     curoutstab->str_pok |= SP_MULTI;
+     stab_io(curoutstab) = stio_new();
+     stab_io(curoutstab)->ofp = stab_io(curoutstab)->ifp = stderr;
+     tmpstab = stabent("stderr",TRUE);
+     stab_io(tmpstab) = stab_io(curoutstab);
+     tmpstab->str_pok |= SP_MULTI;
+     curoutstab = defoutstab;		/* switch back to STDOUT */
+ 
+     statname = Str_new(66,0);		/* last filename we did stat on */
+ 
+     /* now that script is parsed, we can modify record separator */
+ 
+     rs = nrs;
+     rslen = nrslen;
+     rschar = nrschar;
+     str_nset(stab_val(stabent("/", TRUE)), rs, rslen);
+ 
+     if (do_undump)
+ 	my_unexec();
+ 
+   just_doit:		/* come here if running an undumped a.out */
+     argc--,argv++;	/* skip name of script */
+     if (doswitches) {
+ 	for (; argc > 0 && **argv == '-'; argc--,argv++) {
+ 	    if (argv[0][1] == '-') {
+ 		argc--,argv++;
+ 		break;
+ 	    }
+ 	    if (s = index(argv[0], '=')) {
+ 		*s++ = '\0';
+ 		str_set(stab_val(stabent(argv[0]+1,TRUE)),s);
+ 	    }
+ 	    else
+ 		str_numset(stab_val(stabent(argv[0]+1,TRUE)),(double)1.0);
+ 	}
+     }
+ #ifdef TAINT
+     tainted = 1;
+ #endif
+     if (tmpstab = stabent("0",allstabs)) {
+ 	str_set(stab_val(tmpstab),origfilename);
+ 	magicname("0", Nullch, 0);
+     }
+     if (tmpstab = stabent("\020",allstabs))
+ 	str_set(stab_val(tmpstab),origargv[0]);
+     if (argvstab = stabent("ARGV",allstabs)) {
+ 	argvstab->str_pok |= SP_MULTI;
+ 	(void)aadd(argvstab);
+ 	aclear(stab_array(argvstab));
+ 	for (; argc > 0; argc--,argv++) {
+ 	    (void)apush(stab_array(argvstab),str_make(argv[0],0));
+ 	}
+     }
+ #ifdef TAINT
+     (void) stabent("ENV",TRUE);		/* must test PATH and IFS */
+ #endif
+     if (envstab = stabent("ENV",allstabs)) {
+ 	envstab->str_pok |= SP_MULTI;
+ 	(void)hadd(envstab);
+ 	hclear(stab_hash(envstab), FALSE);
+ 	if (env != environ)
+ 	    environ[0] = Nullch;
+ 	for (; *env; env++) {
+ 	    if (!(s = index(*env,'=')))
+ 		continue;
+ 	    *s++ = '\0';
+ 	    str = str_make(s--,0);
+ 	    str_magic(str, envstab, 'E', *env, s - *env);
+ 	    (void)hstore(stab_hash(envstab), *env, s - *env, str, 0);
+ 	    *s = '=';
+ 	}
+     }
+ #ifdef TAINT
+     tainted = 0;
+ #endif
+     if (tmpstab = stabent("$",allstabs))
+ 	str_numset(STAB_STR(tmpstab),(double)getpid());
+ 
+     if (dowarn) {
+ 	stab_check('A','Z');
+ 	stab_check('a','z');
+     }
+ 
+     if (setjmp(top_env))	/* sets goto_targ on longjump */
+ 	loop_ptr = -1;		/* start label stack again */
+ 
+ #ifdef DEBUGGING
+     if (debug & 1024)
+ 	dump_all();
+     if (debug)
+ 	fprintf(stderr,"\nEXECUTING...\n\n");
+ #endif
+ 
+     if (minus_c) {
+ 	fprintf(stderr,"%s syntax OK\n", origfilename);
+ 	exit(0);
+     }
+ 
+     /* do it */
+ 
+     (void) cmd_exec(main_root,G_SCALAR,-1);
+ 
+     if (goto_targ)
+ 	fatal("Can't find label \"%s\"--aborting",goto_targ);
+     exit(0);
+     /* NOTREACHED */
+ }
+ 
+ void
+ magicalize(list)
+ register char *list;
+ {
+     char sym[2];
+ 
+     sym[1] = '\0';
+     while (*sym = *list++)
+ 	magicname(sym, Nullch, 0);
+ }
+ 
+ void
+ magicname(sym,name,namlen)
+ char *sym;
+ char *name;
+ int namlen;
+ {
+     register STAB *stab;
+ 
+     if (stab = stabent(sym,allstabs)) {
+ 	stab_flags(stab) = SF_VMAGIC;
+ 	str_magic(stab_val(stab), stab, 0, name, namlen);
+     }
+ }
+ 
+ /* this routine is in perl.c by virtue of being sort of an alternate main() */
+ 
+ int
+ do_eval(str,optype,stash,gimme,arglast)
+ STR *str;
+ int optype;
+ HASH *stash;
+ int gimme;
+ int *arglast;
+ {
+     STR **st = stack->ary_array;
+     int retval;
+     CMD *myroot = Nullcmd;
+     ARRAY *ar;
+     int i;
+     CMD * VOLATILE oldcurcmd = curcmd;
+     VOLATILE int oldtmps_base = tmps_base;
+     VOLATILE int oldsave = savestack->ary_fill;
+     VOLATILE int oldperldb = perldb;
+     SPAT * VOLATILE oldspat = curspat;
+     SPAT * VOLATILE oldlspat = lastspat;
+     static char *last_eval = Nullch;
+     static CMD *last_root = Nullcmd;
+     VOLATILE int sp = arglast[0];
+     char *specfilename;
+     char *tmpfilename;
+     int parsing = 1;
+ 
+     tmps_base = tmps_max;
+     if (curstash != stash) {
+ 	(void)savehptr(&curstash);
+ 	curstash = stash;
+     }
+     str_set(stab_val(stabent("@",TRUE)),"");
+     if (curcmd->c_line == 0)		/* don't debug debugger... */
+ 	perldb = FALSE;
+     curcmd = &compiling;
+     if (optype == O_EVAL) {		/* normal eval */
+ 	curcmd->c_filestab = fstab("(eval)");
+ 	curcmd->c_line = 1;
+ 	str_sset(linestr,str);
+ 	str_cat(linestr,";");		/* be kind to them */
+     }
+     else {
+ 	if (last_root && !in_eval) {
+ 	    Safefree(last_eval);
+ 	    last_eval = Nullch;
+ 	    cmd_free(last_root);
+ 	    last_root = Nullcmd;
+ 	}
+ 	specfilename = str_get(str);
+ 	str_set(linestr,"");
+ 	if (optype == O_REQUIRE && &str_undef !=
+ 	  hfetch(stab_hash(incstab), specfilename, strlen(specfilename), 0)) {
+ 	    curcmd = oldcurcmd;
+ 	    tmps_base = oldtmps_base;
+ 	    st[++sp] = &str_yes;
+ 	    perldb = oldperldb;
+ 	    return sp;
+ 	}
+ 	tmpfilename = savestr(specfilename);
+ 	if (index("/.", *tmpfilename))
+ 	    rsfp = fopen(tmpfilename,"r");
+ 	else {
+ 	    ar = stab_array(incstab);
+ 	    for (i = 0; i <= ar->ary_fill; i++) {
+ 		(void)sprintf(buf, "%s/%s",
+ 		  str_get(afetch(ar,i,TRUE)), specfilename);
+ 		rsfp = fopen(buf,"r");
+ 		if (rsfp) {
+ 		    char *s = buf;
+ 
+ 		    if (*s == '.' && s[1] == '/')
+ 			s += 2;
+ 		    Safefree(tmpfilename);
+ 		    tmpfilename = savestr(s);
+ 		    break;
+ 		}
+ 	    }
+ 	}
+ 	curcmd->c_filestab = fstab(tmpfilename);
+ 	Safefree(tmpfilename);
+ 	tmpfilename = Nullch;
+ 	if (!rsfp) {
+ 	    curcmd = oldcurcmd;
+ 	    tmps_base = oldtmps_base;
+ 	    if (optype == O_REQUIRE) {
+ 		sprintf(tokenbuf,"Can't locate %s in @INC", specfilename);
+ 		if (instr(tokenbuf,".h "))
+ 		    strcat(tokenbuf," (change .h to .ph maybe?)");
+ 		if (instr(tokenbuf,".ph "))
+ 		    strcat(tokenbuf," (did you run h2ph?)");
+ 		fatal("%s",tokenbuf);
+ 	    }
+ 	    if (gimme != G_ARRAY)
+ 		st[++sp] = &str_undef;
+ 	    perldb = oldperldb;
+ 	    return sp;
+ 	}
+ 	curcmd->c_line = 0;
+     }
+     in_eval++;
+     oldoldbufptr = oldbufptr = bufptr = str_get(linestr);
+     bufend = bufptr + linestr->str_cur;
+     if (++loop_ptr >= loop_max) {
+ 	loop_max += 128;
+ 	Renew(loop_stack, loop_max, struct loop);
+     }
+     loop_stack[loop_ptr].loop_label = "_EVAL_";
+     loop_stack[loop_ptr].loop_sp = sp;
+ #ifdef DEBUGGING
+     if (debug & 4) {
+ 	deb("(Pushing label #%d _EVAL_)\n", loop_ptr);
+     }
+ #endif
+     eval_root = Nullcmd;
+     if (setjmp(loop_stack[loop_ptr].loop_env)) {
+ 	retval = 1;
+     }
+     else {
+ 	error_count = 0;
+ 	if (rsfp) {
+ 	    retval = yyparse();
+ 	    retval |= error_count;
+ 	}
+ 	else if (last_root && *bufptr == *last_eval && strEQ(bufptr,last_eval)){
+ 	    retval = 0;
+ 	    eval_root = last_root;	/* no point in reparsing */
+ 	}
+ 	else if (in_eval == 1) {
+ 	    if (last_root) {
+ 		Safefree(last_eval);
+ 		last_eval = Nullch;
+ 		cmd_free(last_root);
+ 	    }
+ 	    last_root = Nullcmd;
+ 	    last_eval = savestr(bufptr);
+ 	    retval = yyparse();
+ 	    retval |= error_count;
+ 	    if (!retval)
+ 		last_root = eval_root;
+ 	    if (!last_root) {
+ 		Safefree(last_eval);
+ 		last_eval = Nullch;
+ 	    }
+ 	}
+ 	else
+ 	    retval = yyparse();
+     }
+     myroot = eval_root;		/* in case cmd_exec does another eval! */
+ 
+     if (retval) {
+ 	st = stack->ary_array;
+ 	sp = arglast[0];
+ 	if (gimme != G_ARRAY)
+ 	    st[++sp] = &str_undef;
+ 	if (parsing) {
+ #ifndef MANGLEDPARSE
+ #ifdef DEBUGGING
+ 	    if (debug & 128)
+ 		fprintf(stderr,"Freeing eval_root %lx\n",(long)eval_root);
+ #endif
+ 	    cmd_free(eval_root);
+ #endif
+ 	    if (eval_root == last_root)
+ 		last_root = Nullcmd;
+ 	    eval_root = myroot = Nullcmd;
+ 	}
+ 	if (rsfp) {
+ 	    fclose(rsfp);
+ 	    rsfp = 0;
+ 	}
+     }
+     else {
+ 	parsing = 0;
+ 	sp = cmd_exec(eval_root,gimme,sp);
+ 	st = stack->ary_array;
+ 	for (i = arglast[0] + 1; i <= sp; i++)
+ 	    st[i] = str_mortal(st[i]);
+ 				/* if we don't save result, free zaps it */
+ 	if (in_eval != 1 && myroot != last_root)
+ 	    cmd_free(myroot);
+     }
+ 
+     perldb = oldperldb;
+     in_eval--;
+ #ifdef DEBUGGING
+     if (debug & 4) {
+ 	char *tmps = loop_stack[loop_ptr].loop_label;
+ 	deb("(Popping label #%d %s)\n",loop_ptr,
+ 	    tmps ? tmps : "" );
+     }
+ #endif
+     loop_ptr--;
+     tmps_base = oldtmps_base;
+     curspat = oldspat;
+     lastspat = oldlspat;
+     if (savestack->ary_fill > oldsave)	/* let them use local() */
+ 	restorelist(oldsave);
+ 
+     if (optype != O_EVAL) {
+ 	if (retval) {
+ 	    if (optype == O_REQUIRE)
+ 		fatal("%s", str_get(stab_val(stabent("@",TRUE))));
+ 	}
+ 	else {
+ 	    curcmd = oldcurcmd;
+ 	    if (gimme == G_SCALAR ? str_true(st[sp]) : sp > arglast[0]) {
+ 		(void)hstore(stab_hash(incstab), specfilename,
+ 		  strlen(specfilename), str_smake(stab_val(curcmd->c_filestab)),
+ 		      0 );
+ 	    }
+ 	    else if (optype == O_REQUIRE)
+ 		fatal("%s did not return a true value", specfilename);
+ 	}
+     }
+     curcmd = oldcurcmd;
+     return sp;
+ }
+ 
+ /* This routine handles any switches that can be given during run */
+ 
+ static char *
+ moreswitches(s)
+ char *s;
+ {
+     int numlen;
+ 
+   reswitch:
+     switch (*s) {
+     case '0':
+ 	nrschar = scanoct(s, 4, &numlen);
+ 	nrs = nsavestr("\n",1);
+ 	*nrs = nrschar;
+ 	if (nrschar > 0377) {
+ 	    nrslen = 0;
+ 	    nrs = "";
+ 	}
+ 	else if (!nrschar && numlen >= 2) {
+ 	    nrslen = 2;
+ 	    nrs = "\n\n";
+ 	    nrschar = '\n';
+ 	}
+ 	return s + numlen;
+     case 'a':
+ 	minus_a = TRUE;
+ 	s++;
+ 	return s;
+     case 'c':
+ 	minus_c = TRUE;
+ 	s++;
+ 	return s;
+     case 'd':
+ #ifdef TAINT
+ 	if (euid != uid || egid != gid)
+ 	    fatal("No -d allowed in setuid scripts");
+ #endif
+ 	perldb = TRUE;
+ 	s++;
+ 	return s;
+     case 'D':
+ #ifdef DEBUGGING
+ #ifdef TAINT
+ 	if (euid != uid || egid != gid)
+ 	    fatal("No -D allowed in setuid scripts");
+ #endif
+ 	debug = atoi(s+1) | 32768;
+ #else
+ 	warn("Recompile perl with -DDEBUGGING to use -D switch\n");
+ #endif
+ 	for (s++; isdigit(*s); s++) ;
+ 	return s;
+     case 'i':
+ 	inplace = savestr(s+1);
+ 	for (s = inplace; *s && !isspace(*s); s++) ;
+ 	*s = '\0';
+ 	break;
+     case 'I':
+ #ifdef TAINT
+ 	if (euid != uid || egid != gid)
+ 	    fatal("No -I allowed in setuid scripts");
+ #endif
+ 	if (*++s) {
+ 	    (void)apush(stab_array(incstab),str_make(s,0));
+ 	}
+ 	else
+ 	    fatal("No space allowed after -I");
+ 	break;
+     case 'l':
+ 	minus_l = TRUE;
+ 	s++;
+ 	if (isdigit(*s)) {
+ 	    ors = savestr("\n");
+ 	    orslen = 1;
+ 	    *ors = scanoct(s, 3 + (*s == '0'), &numlen);
+ 	    s += numlen;
+ 	}
+ 	else {
+ 	    ors = nsavestr(nrs,nrslen);
+ 	    orslen = nrslen;
+ 	}
+ 	return s;
+     case 'n':
+ 	minus_n = TRUE;
+ 	s++;
+ 	return s;
+     case 'p':
+ 	minus_p = TRUE;
+ 	s++;
+ 	return s;
+     case 'u':
+ 	do_undump = TRUE;
+ 	s++;
+ 	return s;
+     case 'U':
+ 	unsafe = TRUE;
+ 	s++;
+ 	return s;
+     case 'v':
+ 	fputs("\nThis is perl, version 4.0\n\n",stdout);
+ 	fputs(rcsid,stdout);
+ 	fputs("\nCopyright (c) 1989, 1990, 1991, Larry Wall\n",stdout);
+ #ifdef MSDOS
+ 	fputs("MS-DOS port Copyright (c) 1989, 1990, Diomidis Spinellis\n",
+ 	stdout);
+ #ifdef OS2
+         fputs("OS/2 port Copyright (c) 1990, Raymond Chen, Kai Uwe Rommel\n",
+         stdout);
+ #endif
+ #endif
+ 	fputs("\n\
+ Perl may be copied only under the terms of the GNU General Public License,\n\
+ a copy of which can be found with the Perl 4.0 distribution kit.\n",stdout);
+ #ifdef MSDOS
+         usage(origargv[0]);
+ #endif
+ 	exit(0);
+     case 'w':
+ 	dowarn = TRUE;
+ 	s++;
+ 	return s;
+     case ' ':
+     case '\n':
+     case '\t':
+ 	break;
+     default:
+ 	fatal("Switch meaningless after -x: -%s",s);
+     }
+     return Nullch;
+ }
+ 
+ /* compliments of Tom Christiansen */
+ 
+ /* unexec() can be found in the Gnu emacs distribution */
+ 
+ my_unexec()
+ {
+ #ifdef UNEXEC
+     int    status;
+     extern int etext;
+     static char dumpname[BUFSIZ];
+     static char perlpath[256];
+ 
+     sprintf (dumpname, "%s.perldump", origfilename);
+     sprintf (perlpath, "%s/perl", BIN);
+ 
+     status = unexec(dumpname, perlpath, &etext, sbrk(0), 0);
+     if (status)
+ 	fprintf(stderr, "unexec of %s into %s failed!\n", perlpath, dumpname);
+     exit(status);
+ #else
+ #   ifndef SIGABRT
+ #	define SIGABRT SIGILL
+ #   endif
+ #   ifndef SIGILL
+ #	define SIGILL 6		/* blech */
+ #   endif
+     kill(getpid(),SIGABRT);	/* for use with undump */
+ #endif
+ }
+ 


Index: llvm/test/Programs/MultiSource/Benchmarks/MallocBench/perl/perl.h
diff -c /dev/null llvm/test/Programs/MultiSource/Benchmarks/MallocBench/perl/perl.h:1.1.2.1
*** /dev/null	Mon Mar  1 17:59:25 2004
--- llvm/test/Programs/MultiSource/Benchmarks/MallocBench/perl/perl.h	Mon Mar  1 17:59:13 2004
***************
*** 0 ****
--- 1,832 ----
+ /* $RCSfile: perl.h,v $$Revision: 1.1.2.1 $$Date: 2004/03/01 23:59:13 $
+  *
+  *    Copyright (c) 1989, Larry Wall
+  *
+  *    You may distribute under the terms of the GNU General Public License
+  *    as specified in the README file that comes with the perl 3.0 kit.
+  *
+  * $Log: perl.h,v $
+  * Revision 1.1.2.1  2004/03/01 23:59:13  brukman
+  * Merge from trunk
+  *
+  * Revision 1.1  2004/02/17 22:21:16  criswell
+  * Initial commit of the perl Malloc Benchmark.  I've cheated a little by
+  * generating the yacc output files and committing them directly, but it was
+  * easier than disabling the Bison Voodoo that gets executed by default.
+  *
+  * Revision 4.0.1.1  91/04/11  17:49:51  lwall
+  * patch1: hopefully straightened out some of the Xenix mess
+  * 
+  * Revision 4.0  91/03/20  01:37:56  lwall
+  * 4.0 baseline.
+  * 
+  */
+ 
+ #define VOIDWANT 1
+ #include "config.h"
+ 
+ #ifdef MSDOS
+ /* This stuff now in the MS-DOS config.h file. */
+ #else /* !MSDOS */
+ 
+ /*
+  * The following symbols are defined if your operating system supports
+  * functions by that name.  All Unixes I know of support them, thus they
+  * are not checked by the configuration script, but are directly defined
+  * here.
+  */
+ #define HAS_ALARM
+ #define HAS_CHOWN
+ #define HAS_CHROOT
+ #define HAS_FORK
+ #define HAS_GETLOGIN
+ #define HAS_GETPPID
+ #define HAS_KILL
+ #define HAS_LINK
+ #define HAS_PIPE
+ #define HAS_WAIT
+ #define HAS_UMASK
+ /*
+  * The following symbols are defined if your operating system supports
+  * password and group functions in general.  All Unix systems do.
+  */
+ #define HAS_GROUP
+ #define HAS_PASSWD
+ 
+ #endif /* !MSDOS */
+ 
+ #if defined(HASVOLATILE) || defined(__STDC__)
+ #define VOLATILE volatile
+ #else
+ #define VOLATILE
+ #endif
+ 
+ #ifdef IAMSUID
+ #   ifndef TAINT
+ #	define TAINT
+ #   endif
+ #endif
+ 
+ #ifndef HAS_VFORK
+ #   define vfork fork
+ #endif
+ 
+ #ifdef HAS_GETPGRP2
+ #   ifndef HAS_GETPGRP
+ #	define HAS_GETPGRP
+ #   endif
+ #   define getpgrp getpgrp2
+ #endif
+ 
+ #ifdef HAS_SETPGRP2
+ #   ifndef HAS_SETPGRP
+ #	define HAS_SETPGRP
+ #   endif
+ #   define setpgrp setpgrp2
+ #endif
+ 
+ #include <stdio.h>
+ #include <ctype.h>
+ #include <setjmp.h>
+ #ifndef MSDOS
+ #include <sys/param.h>	/* if this needs types.h we're still wrong */
+ #endif
+ #ifdef __STDC__
+ /* Use all the "standard" definitions */
+ //#include <stdlib.h>
+ #include <string.h>
+ #endif /* __STDC__ */
+ 
+ #if defined(HAS_MEMCMP) && defined(mips) && BYTEORDER == 0x1234
+ #undef HAS_MEMCMP
+ #endif
+ 
+ #ifdef HAS_MEMCPY
+ 
+ #  ifndef __STDC__
+ #    ifndef memcpy
+ extern char * memcpy(), *memset();
+ extern int memcmp();
+ #    endif /* ndef memcpy */
+ #  endif /* ndef __STDC__ */
+ 
+ #define bcopy(s1,s2,l) memcpy(s2,s1,l)
+ #define bzero(s,l) memset(s,0,l)
+ #endif /* HAS_MEMCPY */
+ 
+ #ifndef HAS_BCMP		/* prefer bcmp slightly 'cuz it doesn't order */
+ #define bcmp(s1,s2,l) memcmp(s1,s2,l)
+ #endif
+ 
+ #ifndef _TYPES_		/* If types.h defines this it's easy. */
+ #ifndef major		/* Does everyone's types.h define this? */
+ #include <sys/types.h>
+ #endif
+ #endif
+ 
+ #ifdef I_NETINET_IN
+ #include <netinet/in.h>
+ #endif
+ 
+ #include <sys/stat.h>
+ 
+ #ifdef I_TIME
+ #   include <time.h>
+ #endif
+ 
+ #ifdef I_SYS_TIME
+ #   ifdef SYSTIMEKERNEL
+ #	define KERNEL
+ #   endif
+ #   include <sys/time.h>
+ #   ifdef SYSTIMEKERNEL
+ #	undef KERNEL
+ #   endif
+ #endif
+ 
+ #ifndef MSDOS
+ #include <sys/times.h>
+ #endif
+ 
+ #if defined(HAS_STRERROR) && (!defined(HAS_MKDIR) || !defined(HAS_RMDIR))
+ #undef HAS_STRERROR
+ #endif
+ 
+ #include <errno.h>
+ #ifndef MSDOS
+ #ifndef errno
+ extern int errno;     /* ANSI allows errno to be an lvalue expr */
+ #endif
+ #endif
+ 
+ #ifndef strerror
+ #ifdef HAS_STRERROR
+ char *strerror();
+ #else
+ extern int sys_nerr;
+ extern char *sys_errlist[];
+ #define strerror(e) ((e) < 0 || (e) >= sys_nerr ? "(unknown)" : sys_errlist[e])
+ #endif
+ #endif
+ 
+ #ifdef I_SYSIOCTL
+ #ifndef _IOCTL_
+ #include <sys/ioctl.h>
+ #endif
+ #endif
+ 
+ #if defined(mc300) || defined(mc500) || defined(mc700)	/* MASSCOMP */
+ #ifdef HAS_SOCKETPAIR
+ #undef HAS_SOCKETPAIR
+ #endif
+ #ifdef HAS_NDBM
+ #undef HAS_NDBM
+ #endif
+ #endif
+ 
+ #ifdef HAS_GDBM
+ #ifdef I_GDBM
+ #include <gdbm.h>
+ #endif
+ #define SOME_DBM
+ #ifdef HAS_NDBM
+ #undef HAS_NDBM
+ #endif
+ #ifdef HAS_ODBM
+ #undef HAS_ODBM
+ #endif
+ #else
+ #ifdef HAS_NDBM
+ #include <ndbm.h>
+ #define SOME_DBM
+ #ifdef HAS_ODBM
+ #undef HAS_ODBM
+ #endif
+ #else
+ #ifdef HAS_ODBM
+ #ifdef NULL
+ #undef NULL		/* suppress redefinition message */
+ #endif
+ #include <dbm.h>
+ #ifdef NULL
+ #undef NULL
+ #endif
+ #define NULL 0		/* silly thing is, we don't even use this */
+ #define SOME_DBM
+ #define dbm_fetch(db,dkey) fetch(dkey)
+ #define dbm_delete(db,dkey) delete(dkey)
+ #define dbm_store(db,dkey,dcontent,flags) store(dkey,dcontent)
+ #define dbm_close(db) dbmclose()
+ #define dbm_firstkey(db) firstkey()
+ #endif /* HAS_ODBM */
+ #endif /* HAS_NDBM */
+ #endif /* HAS_GDBM */
+ #ifdef SOME_DBM
+ EXT char *dbmkey;
+ EXT int dbmlen;
+ #endif
+ 
+ #if INTSIZE == 2
+ #define htoni htons
+ #define ntohi ntohs
+ #else
+ #define htoni htonl
+ #define ntohi ntohl
+ #endif
+ 
+ #if defined(I_DIRENT)
+ #   include <dirent.h>
+ #   define DIRENT dirent
+ #else
+ #   ifdef I_SYS_NDIR
+ #	include <sys/ndir.h>
+ #	define DIRENT direct
+ #   else
+ #	ifdef I_SYS_DIR
+ #	    ifdef hp9000s500
+ #		include <ndir.h>	/* may be wrong in the future */
+ #	    else
+ #		include <sys/dir.h>
+ #	    endif
+ #	    define DIRENT direct
+ #	endif
+ #   endif
+ #endif
+ 
+ /*
+  * The following gobbledygook brought to you on behalf of __STDC__.
+  * (I could just use #ifndef __STDC__, but this is more bulletproof
+  * in the face of half-implementations.)
+  */
+ 
+ #ifndef S_IFMT
+ #   ifdef _S_IFMT
+ #	define S_IFMT _S_IFMT
+ #   else
+ #	define S_IFMT 0170000
+ #   endif
+ #endif
+ 
+ #ifndef S_ISDIR
+ #   define S_ISDIR(m) ((m & S_IFMT) == S_IFDIR)
+ #endif
+ 
+ #ifndef S_ISCHR
+ #   define S_ISCHR(m) ((m & S_IFMT) == S_IFCHR)
+ #endif
+ 
+ #ifndef S_ISBLK
+ #   ifdef S_IFBLK
+ #	define S_ISBLK(m) ((m & S_IFMT) == S_IFBLK)
+ #   else
+ #	define S_ISBLK(m) (0)
+ #   endif
+ #endif
+ 
+ #ifndef S_ISREG
+ #   define S_ISREG(m) ((m & S_IFMT) == S_IFREG)
+ #endif
+ 
+ #ifndef S_ISFIFO
+ #   ifdef S_IFIFO
+ #	define S_ISFIFO(m) ((m & S_IFMT) == S_IFIFO)
+ #   else
+ #	define S_ISFIFO(m) (0)
+ #   endif
+ #endif
+ 
+ #ifndef S_ISLNK
+ #   ifdef _S_ISLNK
+ #	define S_ISLNK(m) _S_ISLNK(m)
+ #   else
+ #	ifdef _S_IFLNK
+ #	    define S_ISLNK(m) ((m & S_IFMT) == _S_IFLNK)
+ #	else
+ #	    ifdef S_IFLNK
+ #		define S_ISLNK(m) ((m & S_IFMT) == S_IFLNK)
+ #	    else
+ #		define S_ISLNK(m) (0)
+ #	    endif
+ #	endif
+ #   endif
+ #endif
+ 
+ #ifndef S_ISSOCK
+ #   ifdef _S_ISSOCK
+ #	define S_ISSOCK(m) _S_ISSOCK(m)
+ #   else
+ #	ifdef _S_IFSOCK
+ #	    define S_ISSOCK(m) ((m & S_IFMT) == _S_IFSOCK)
+ #	else
+ #	    ifdef S_IFSOCK
+ #		define S_ISSOCK(m) ((m & S_IFMT) == S_IFSOCK)
+ #	    else
+ #		define S_ISSOCK(m) (0)
+ #	    endif
+ #	endif
+ #   endif
+ #endif
+ 
+ #ifndef S_IRUSR
+ #   ifdef S_IREAD
+ #	define S_IRUSR S_IREAD
+ #	define S_IWUSR S_IWRITE
+ #	define S_IXUSR S_IEXEC
+ #   else
+ #	define S_IRUSR 0400
+ #	define S_IWUSR 0200
+ #	define S_IXUSR 0100
+ #   endif
+ #   define S_IRGRP (S_IRUSR>>3)
+ #   define S_IWGRP (S_IWUSR>>3)
+ #   define S_IXGRP (S_IXUSR>>3)
+ #   define S_IROTH (S_IRUSR>>6)
+ #   define S_IWOTH (S_IWUSR>>6)
+ #   define S_IXOTH (S_IXUSR>>6)
+ #endif
+ 
+ #ifndef S_ISUID
+ #   define S_ISUID 04000
+ #endif
+ 
+ #ifndef S_ISGID
+ #   define S_ISGID 02000
+ #endif
+ 
+ typedef unsigned int STRLEN;
+ 
+ typedef struct arg ARG;
+ typedef struct cmd CMD;
+ typedef struct formcmd FCMD;
+ typedef struct scanpat SPAT;
+ typedef struct stio STIO;
+ typedef struct sub SUBR;
+ typedef struct string STR;
+ typedef struct atbl ARRAY;
+ typedef struct htbl HASH;
+ typedef struct regexp REGEXP;
+ typedef struct stabptrs STBP;
+ typedef struct stab STAB;
+ typedef struct callsave CSV;
+ 
+ #include "handy.h"
+ #include "regexp.h"
+ #include "str.h"
+ #include "util.h"
+ #include "form.h"
+ #include "stab.h"
+ #include "spat.h"
+ #include "arg.h"
+ #include "cmd.h"
+ #include "array.h"
+ #include "hash.h"
+ 
+ #if defined(iAPX286) || defined(M_I286) || defined(I80286)
+ #   define I286
+ #endif
+ 
+ #ifndef	__STDC__
+ #ifdef CHARSPRINTF
+     char *sprintf();
+ #else
+     int sprintf();
+ #endif
+ #endif
+ 
+ EXT char *Yes INIT("1");
+ EXT char *No INIT("");
+ 
+ /* "gimme" values */
+ 
+ /* Note: cmd.c assumes that it can use && to produce one of these values! */
+ #define G_SCALAR 0
+ #define G_ARRAY 1
+ 
+ #ifdef CRIPPLED_CC
+ int str_true();
+ #else /* !CRIPPLED_CC */
+ #define str_true(str) (Str = (str), \
+ 	(Str->str_pok ? \
+ 	    ((*Str->str_ptr > '0' || \
+ 	      Str->str_cur > 1 || \
+ 	      (Str->str_cur && *Str->str_ptr != '0')) ? 1 : 0) \
+ 	: \
+ 	    (Str->str_nok ? (Str->str_u.str_nval != 0.0) : 0 ) ))
+ #endif /* CRIPPLED_CC */
+ 
+ #ifdef DEBUGGING
+ #define str_peek(str) (Str = (str), \
+ 	(Str->str_pok ? \
+ 	    Str->str_ptr : \
+ 	    (Str->str_nok ? \
+ 		(sprintf(tokenbuf,"num(%g)",Str->str_u.str_nval), \
+ 		    (char*)tokenbuf) : \
+ 		"" )))
+ #endif
+ 
+ #ifdef CRIPPLED_CC
+ char *str_get();
+ #else
+ #ifdef TAINT
+ #define str_get(str) (Str = (str), tainted |= Str->str_tainted, \
+ 	(Str->str_pok ? Str->str_ptr : str_2ptr(Str)))
+ #else
+ #define str_get(str) (Str = (str), (Str->str_pok ? Str->str_ptr : str_2ptr(Str)))
+ #endif /* TAINT */
+ #endif /* CRIPPLED_CC */
+ 
+ #ifdef CRIPPLED_CC
+ double str_gnum();
+ #else /* !CRIPPLED_CC */
+ #ifdef TAINT
+ #define str_gnum(str) (Str = (str), tainted |= Str->str_tainted, \
+ 	(Str->str_nok ? Str->str_u.str_nval : str_2num(Str)))
+ #else /* !TAINT */
+ #define str_gnum(str) (Str = (str), (Str->str_nok ? Str->str_u.str_nval : str_2num(Str)))
+ #endif /* TAINT*/
+ #endif /* CRIPPLED_CC */
+ EXT STR *Str;
+ 
+ #define GROWSTR(pp,lp,len) if (*(lp) < (len)) growstr(pp,lp,len)
+ 
+ #ifndef MSDOS
+ #define STR_GROW(str,len) if ((str)->str_len < (len)) str_grow(str,len)
+ #define Str_Grow str_grow
+ #else
+ /* extra parentheses intentionally NOT placed around "len"! */
+ #define STR_GROW(str,len) if ((str)->str_len < (unsigned long)len) \
+ 		str_grow(str,(unsigned long)len)
+ #define Str_Grow(str,len) str_grow(str,(unsigned long)(len))
+ #endif /* MSDOS */
+ 
+ #ifndef BYTEORDER
+ #define BYTEORDER 0x1234
+ #endif
+ 
+ #if defined(htonl) && !defined(HAS_HTONL)
+ #define HAS_HTONL
+ #endif
+ #if defined(htons) && !defined(HAS_HTONS)
+ #define HAS_HTONS
+ #endif
+ #if defined(ntohl) && !defined(HAS_NTOHL)
+ #define HAS_NTOHL
+ #endif
+ #if defined(ntohs) && !defined(HAS_NTOHS)
+ #define HAS_NTOHS
+ #endif
+ #ifndef HAS_HTONL
+ #if (BYTEORDER & 0xffff) != 0x4321
+ #define HAS_HTONS
+ #define HAS_HTONL
+ #define HAS_NTOHS
+ #define HAS_NTOHL
+ #define MYSWAP
+ #define htons my_swap
+ #define htonl my_htonl
+ #define ntohs my_swap
+ #define ntohl my_ntohl
+ #endif
+ #else
+ #if (BYTEORDER & 0xffff) == 0x4321
+ #undef HAS_HTONS
+ #undef HAS_HTONL
+ #undef HAS_NTOHS
+ #undef HAS_NTOHL
+ #endif
+ #endif
+ 
+ #ifdef CASTNEGFLOAT
+ #define U_S(what) ((unsigned short)(what))
+ #define U_I(what) ((unsigned int)(what))
+ #define U_L(what) ((unsigned long)(what))
+ #else
+ unsigned long castulong();
+ #define U_S(what) ((unsigned int)castulong(what))
+ #define U_I(what) ((unsigned int)castulong(what))
+ #define U_L(what) (castulong(what))
+ #endif
+ 
+ CMD *add_label();
+ CMD *block_head();
+ CMD *append_line();
+ CMD *make_acmd();
+ CMD *make_ccmd();
+ CMD *make_icmd();
+ CMD *invert();
+ CMD *addcond();
+ CMD *addloop();
+ CMD *wopt();
+ CMD *over();
+ 
+ STAB *stabent();
+ STAB *genstab();
+ 
+ ARG *stab2arg();
+ ARG *op_new();
+ ARG *make_op();
+ ARG *make_match();
+ ARG *make_split();
+ ARG *rcatmaybe();
+ ARG *listish();
+ ARG *maybelistish();
+ ARG *localize();
+ ARG *fixeval();
+ ARG *jmaybe();
+ ARG *l();
+ ARG *fixl();
+ ARG *mod_match();
+ ARG *make_list();
+ ARG *cmd_to_arg();
+ ARG *addflags();
+ ARG *hide_ary();
+ ARG *cval_to_arg();
+ 
+ STR *str_new();
+ STR *stab_str();
+ 
+ int do_each();
+ int do_subr();
+ int do_match();
+ int do_unpack();
+ int eval();		/* this evaluates expressions */
+ int do_eval();		/* this evaluates eval operator */
+ int do_assign();
+ 
+ SUBR *make_sub();
+ 
+ FCMD *load_format();
+ 
+ char *scanpat();
+ char *scansubst();
+ char *scantrans();
+ char *scanstr();
+ char *scanident();
+ char *str_append_till();
+ char *str_gets();
+ char *str_grow();
+ 
+ bool do_open();
+ bool do_close();
+ bool do_print();
+ bool do_aprint();
+ bool do_exec();
+ bool do_aexec();
+ 
+ int do_subst();
+ int cando();
+ int ingroup();
+ 
+ void str_replace();
+ void str_inc();
+ void str_dec();
+ void str_free();
+ void stab_clear();
+ void do_join();
+ void do_sprintf();
+ void do_accept();
+ void do_pipe();
+ void do_vecset();
+ void do_unshift();
+ void do_execfree();
+ void magicalize();
+ void magicname();
+ void savelist();
+ void saveitem();
+ void saveint();
+ void savelong();
+ void savesptr();
+ void savehptr();
+ void restorelist();
+ void repeatcpy();
+ HASH *savehash();
+ ARRAY *saveary();
+ 
+ EXT char **origargv;
+ EXT int origargc;
+ EXT char **origenviron;
+ extern char **environ;
+ 
+ EXT line_t subline INIT(0);
+ EXT STR *subname INIT(Nullstr);
+ EXT int arybase INIT(0);
+ 
+ struct outrec {
+     long	o_lines;
+     char	*o_str;
+     int		o_len;
+ };
+ 
+ EXT struct outrec outrec;
+ EXT struct outrec toprec;
+ 
+ EXT STAB *stdinstab INIT(Nullstab);
+ EXT STAB *last_in_stab INIT(Nullstab);
+ EXT STAB *defstab INIT(Nullstab);
+ EXT STAB *argvstab INIT(Nullstab);
+ EXT STAB *envstab INIT(Nullstab);
+ EXT STAB *sigstab INIT(Nullstab);
+ EXT STAB *defoutstab INIT(Nullstab);
+ EXT STAB *curoutstab INIT(Nullstab);
+ EXT STAB *argvoutstab INIT(Nullstab);
+ EXT STAB *incstab INIT(Nullstab);
+ EXT STAB *leftstab INIT(Nullstab);
+ EXT STAB *amperstab INIT(Nullstab);
+ EXT STAB *rightstab INIT(Nullstab);
+ EXT STAB *DBstab INIT(Nullstab);
+ EXT STAB *DBline INIT(Nullstab);
+ EXT STAB *DBsub INIT(Nullstab);
+ 
+ EXT HASH *defstash;		/* main symbol table */
+ EXT HASH *curstash;		/* symbol table for current package */
+ EXT HASH *debstash;		/* symbol table for perldb package */
+ 
+ EXT STR *curstname;		/* name of current package */
+ 
+ EXT STR *freestrroot INIT(Nullstr);
+ EXT STR *lastretstr INIT(Nullstr);
+ EXT STR *DBsingle INIT(Nullstr);
+ EXT STR *DBtrace INIT(Nullstr);
+ EXT STR *DBsignal INIT(Nullstr);
+ 
+ EXT int lastspbase;
+ EXT int lastsize;
+ 
+ EXT char *hexdigit INIT("0123456789abcdef0123456789ABCDEF");
+ EXT char *origfilename;
+ EXT FILE * VOLATILE rsfp;
+ EXT char buf[1024];
+ EXT char *bufptr;
+ EXT char *oldbufptr;
+ EXT char *oldoldbufptr;
+ EXT char *bufend;
+ 
+ EXT STR *linestr INIT(Nullstr);
+ 
+ EXT char *rs INIT("\n");
+ EXT int rschar INIT('\n');	/* final char of rs, or 0777 if none */
+ EXT int rslen INIT(1);
+ EXT char *ofs INIT(Nullch);
+ EXT int ofslen INIT(0);
+ EXT char *ors INIT(Nullch);
+ EXT int orslen INIT(0);
+ EXT char *ofmt INIT(Nullch);
+ EXT char *inplace INIT(Nullch);
+ EXT char *nointrp INIT("");
+ 
+ EXT bool preprocess INIT(FALSE);
+ EXT bool minus_n INIT(FALSE);
+ EXT bool minus_p INIT(FALSE);
+ EXT bool minus_l INIT(FALSE);
+ EXT bool minus_a INIT(FALSE);
+ EXT bool doswitches INIT(FALSE);
+ EXT bool dowarn INIT(FALSE);
+ EXT bool doextract INIT(FALSE);
+ EXT bool allstabs INIT(FALSE);	/* init all customary symbols in symbol table?*/
+ EXT bool sawampersand INIT(FALSE);	/* must save all match strings */
+ EXT bool sawstudy INIT(FALSE);		/* do fbminstr on all strings */
+ EXT bool sawi INIT(FALSE);		/* study must assume case insensitive */
+ EXT bool sawvec INIT(FALSE);
+ EXT bool localizing INIT(FALSE);	/* are we processing a local() list? */
+ 
+ #ifdef CSH
+ char *cshname INIT(CSH);
+ int cshlen INIT(0);
+ #endif /* CSH */
+ 
+ #ifdef TAINT
+ EXT bool tainted INIT(FALSE);		/* using variables controlled by $< */
+ #endif
+ 
+ #ifndef MSDOS
+ #define TMPPATH "/tmp/perl-eXXXXXX"
+ #else
+ #define TMPPATH "plXXXXXX"
+ #endif /* MSDOS */
+ EXT char *e_tmpname;
+ EXT FILE *e_fp INIT(Nullfp);
+ 
+ EXT char tokenbuf[256];
+ EXT int expectterm INIT(TRUE);		/* how to interpret ambiguous tokens */
+ EXT VOLATILE int in_eval INIT(FALSE);	/* trap fatal errors? */
+ EXT int multiline INIT(0);		/* $*--do strings hold >1 line? */
+ EXT int forkprocess;			/* so do_open |- can return proc# */
+ EXT int do_undump INIT(0);		/* -u or dump seen? */
+ EXT int error_count INIT(0);		/* how many errors so far, max 10 */
+ EXT int multi_start INIT(0);		/* 1st line of multi-line string */
+ EXT int multi_end INIT(0);		/* last line of multi-line string */
+ EXT int multi_open INIT(0);		/* delimiter of said string */
+ EXT int multi_close INIT(0);		/* delimiter of said string */
+ 
+ FILE *popen();
+ /* char *str_get(); */
+ STR *interp();
+ void free_arg();
+ STIO *stio_new();
+ 
+ EXT struct stat statbuf;
+ EXT struct stat statcache;
+ STAB *statstab INIT(Nullstab);
+ STR *statname;
+ #ifndef MSDOS
+ EXT struct tms timesbuf;
+ #endif
+ EXT int uid;
+ EXT int euid;
+ EXT int gid;
+ EXT int egid;
+ UIDTYPE getuid();
+ UIDTYPE geteuid();
+ GIDTYPE getgid();
+ GIDTYPE getegid();
+ EXT int unsafe;
+ 
+ #ifdef DEBUGGING
+ EXT VOLATILE int debug INIT(0);
+ EXT int dlevel INIT(0);
+ EXT int dlmax INIT(128);
+ EXT char *debname;
+ EXT char *debdelim;
+ #define YYDEBUG 1
+ #endif
+ EXT int perldb INIT(0);
+ #define YYMAXDEPTH 300
+ 
+ EXT line_t cmdline INIT(NOLINE);
+ 
+ EXT STR str_undef;
+ EXT STR str_no;
+ EXT STR str_yes;
+ 
+ /* runtime control stuff */
+ 
+ EXT struct loop {
+     char *loop_label;		/* what the loop was called, if anything */
+     int loop_sp;		/* stack pointer to copy stuff down to */
+     jmp_buf loop_env;
+ } *loop_stack;
+ 
+ EXT int loop_ptr INIT(-1);
+ EXT int loop_max INIT(128);
+ 
+ EXT jmp_buf top_env;
+ 
+ EXT char * VOLATILE goto_targ INIT(Nullch); /* cmd_exec gets strange when set */
+ 
+ struct ufuncs {
+     int (*uf_val)();
+     int (*uf_set)();
+     int uf_index;
+ };
+ 
+ EXT ARRAY *stack;		/* THE STACK */
+ 
+ EXT ARRAY * VOLATILE savestack;		/* to save non-local values on */
+ 
+ EXT ARRAY *tosave;		/* strings to save on recursive subroutine */
+ 
+ EXT ARRAY *lineary;		/* lines of script for debugger */
+ EXT ARRAY *dbargs;		/* args to call listed by caller function */
+ 
+ EXT ARRAY *fdpid;		/* keep fd-to-pid mappings for mypopen */
+ EXT HASH *pidstatus;		/* keep pid-to-status mappings for waitpid */
+ 
+ EXT int *di;			/* for tmp use in debuggers */
+ EXT char *dc;
+ EXT short *ds;
+ 
+ /* Fix these up for __STDC__ */
+ EXT long basetime INIT(0);
+ char *mktemp();
+ #ifndef __STDC__
+ /* All of these are in stdlib.h or time.h for ANSI C */
+ double atof();
+ long time();
+ struct tm *gmtime(), *localtime();
+ char *index(), *rindex();
+ char *strcpy(), *strcat();
+ #endif /* ! __STDC__ */
+ 
+ #ifdef EUNICE
+ #define UNLINK unlnk
+ int unlnk();
+ #else
+ #define UNLINK unlink
+ #endif
+ 
+ #ifndef HAS_SETREUID
+ #ifdef HAS_SETRESUID
+ #define setreuid(r,e) setresuid(r,e,-1)
+ #define HAS_SETREUID
+ #endif
+ #endif
+ #ifndef HAS_SETREGID
+ #ifdef HAS_SETRESGID
+ #define setregid(r,e) setresgid(r,e,-1)
+ #define HAS_SETREGID
+ #endif
+ #endif
+ /* work around botch in SunOS 4.0.1 and 4.0.2 */
+ #ifndef fputs
+ #define fputs(str,fp) fprintf(fp,"%s",str)
+ #endif


Index: llvm/test/Programs/MultiSource/Benchmarks/MallocBench/perl/perly.c
diff -c /dev/null llvm/test/Programs/MultiSource/Benchmarks/MallocBench/perl/perly.c:1.1.2.1
*** /dev/null	Mon Mar  1 17:59:25 2004
--- llvm/test/Programs/MultiSource/Benchmarks/MallocBench/perl/perly.c	Mon Mar  1 17:59:13 2004
***************
*** 0 ****
--- 1,3026 ----
+ #ifndef lint
+ static char const 
+ yyrcsid[] = "$FreeBSD: src/usr.bin/yacc/skeleton.c,v 1.28 2000/01/17 02:04:06 bde Exp $";
+ #endif
+ #include <stdlib.h>
+ #define YYBYACC 1
+ #define YYMAJOR 1
+ #define YYMINOR 9
+ #define YYLEX yylex()
+ #define YYEMPTY -1
+ #define yyclearin (yychar=(YYEMPTY))
+ #define yyerrok (yyerrflag=0)
+ #define YYRECOVERING() (yyerrflag!=0)
+ static int yygrowstack();
+ #define YYPREFIX "yy"
+ #line 15 "perly.y"
+ #include "INTERN.h"
+ #include "perl.h"
+ 
+ STAB *scrstab;
+ ARG *arg4;	/* rarely used arguments to make_op() */
+ ARG *arg5;
+ 
+ #line 26 "perly.y"
+ typedef union {
+     int	ival;
+     char *cval;
+     ARG *arg;
+     CMD *cmdval;
+     struct compcmd compval;
+     STAB *stabval;
+     FCMD *formval;
+ } YYSTYPE;
+ #line 35 "y.tab.c"
+ #define YYERRCODE 256
+ #define WORD 257
+ #define APPEND 258
+ #define OPEN 259
+ #define SSELECT 260
+ #define LOOPEX 261
+ #define USING 262
+ #define FORMAT 263
+ #define DO 264
+ #define SHIFT 265
+ #define PUSH 266
+ #define POP 267
+ #define LVALFUN 268
+ #define WHILE 269
+ #define UNTIL 270
+ #define IF 271
+ #define UNLESS 272
+ #define ELSE 273
+ #define ELSIF 274
+ #define CONTINUE 275
+ #define SPLIT 276
+ #define FLIST 277
+ #define FOR 278
+ #define FILOP 279
+ #define FILOP2 280
+ #define FILOP3 281
+ #define FILOP4 282
+ #define FILOP22 283
+ #define FILOP25 284
+ #define FUNC0 285
+ #define FUNC1 286
+ #define FUNC2 287
+ #define FUNC2x 288
+ #define FUNC3 289
+ #define FUNC4 290
+ #define FUNC5 291
+ #define HSHFUN 292
+ #define HSHFUN3 293
+ #define FLIST2 294
+ #define SUB 295
+ #define FILETEST 296
+ #define LOCAL 297
+ #define DELETE 298
+ #define RELOP 299
+ #define EQOP 300
+ #define MULOP 301
+ #define ADDOP 302
+ #define PACKAGE 303
+ #define AMPER 304
+ #define FORMLIST 305
+ #define REG 306
+ #define ARYLEN 307
+ #define ARY 308
+ #define HSH 309
+ #define STAR 310
+ #define SUBST 311
+ #define PATTERN 312
+ #define RSTRING 313
+ #define TRANS 314
+ #define LISTOP 315
+ #define DOTDOT 316
+ #define OROR 317
+ #define ANDAND 318
+ #define UNIOP 319
+ #define LS 320
+ #define RS 321
+ #define MATCH 322
+ #define NMATCH 323
+ #define UMINUS 324
+ #define POW 325
+ #define INC 326
+ #define DEC 327
+ const short yylhs[] = {                                        -1,
+    25,    0,   24,   24,   11,   11,   11,    4,    3,    5,
+     5,    6,    6,    6,    6,    6,    9,    9,    9,    9,
+     9,    9,    8,    8,    8,    8,    7,    7,    7,    7,
+     7,    7,    7,    7,   10,   10,   20,   20,   23,   23,
+     1,    1,    1,    2,    2,   26,   27,   14,   12,   12,
+    15,   13,   13,   13,   13,   13,   13,   13,   13,   13,
+    13,   13,   13,   13,   13,   13,   13,   13,   13,   13,
+    13,   13,   13,   13,   13,   13,   13,   16,   16,   16,
+    16,   16,   16,   16,   16,   16,   16,   16,   16,   16,
+    16,   16,   16,   16,   16,   16,   16,   16,   16,   16,
+    16,   16,   16,   16,   16,   16,   16,   16,   16,   16,
+    16,   16,   16,   16,   16,   16,   16,   16,   16,   16,
+    16,   16,   16,   16,   16,   16,   16,   16,   16,   16,
+    16,   16,   16,   16,   16,   16,   16,   16,   16,   16,
+    16,   16,   16,   16,   16,   16,   16,   16,   16,   16,
+    16,   16,   16,   16,   16,   16,   16,   16,   16,   16,
+    16,   16,   16,   16,   16,   16,   16,   16,   16,   21,
+    21,   21,   21,   21,   17,   17,   18,   18,   19,   19,
+    22,
+ };
+ const short yylen[] = {                                         2,
+     0,    2,    3,    2,    0,    2,    5,    4,    0,    0,
+     2,    1,    2,    1,    2,    3,    1,    1,    3,    3,
+     3,    3,    5,    5,    3,    3,    6,    6,    4,    4,
+     7,    6,   10,    2,    0,    1,    0,    1,    0,    2,
+     1,    1,    1,    4,    3,    3,    3,    2,    3,    1,
+     2,    3,    4,    4,    4,    4,    4,    4,    4,    4,
+     3,    3,    3,    3,    3,    3,    3,    3,    3,    3,
+     3,    3,    3,    5,    3,    3,    1,    2,    2,    2,
+     2,    2,    2,    2,    2,    2,    2,    1,    4,    4,
+     3,    2,    2,    2,    1,    1,    4,    1,    1,    4,
+     6,    5,    4,    4,    5,    1,    1,    1,    1,    1,
+     5,    5,    4,    4,    2,    5,    5,    4,    4,    2,
+     1,    2,    1,    2,    1,    4,    7,    2,    4,    5,
+     4,    2,    2,    3,    1,    5,    6,    6,    7,    9,
+     5,    2,    4,    2,    4,    1,    1,    6,    5,    4,
+     5,    4,    2,    1,    1,    3,    3,    4,    5,    5,
+     6,    6,    7,    8,    4,    2,    6,    1,    1,    1,
+     2,    2,    3,    3,    1,    1,    1,    1,    1,    1,
+     1,
+ };
+ const short yydefred[] = {                                      1,
+     0,   10,    0,    0,    0,    0,    0,   12,   41,   11,
+    14,    0,   42,   43,   40,    0,    0,    0,    0,   17,
+   181,    0,    0,    0,    0,    0,    0,    0,    0,    0,
+     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
+     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
+     0,    0,    0,    0,    0,    0,    0,  106,    0,   98,
+    96,  109,  108,  107,  110,    0,    0,    0,    0,    0,
+     0,    0,    9,   15,    0,    0,    0,   13,    0,    0,
+     0,    0,  169,  168,   34,    0,   45,   46,   47,  128,
+     0,    0,  122,    0,    0,   94,    0,  177,  178,    0,
+   144,    0,    0,  142,  153,    0,    0,    0,    0,    0,
+     0,    0,    0,    0,    0,    0,    0,  132,  133,    0,
+     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
+     0,    0,  179,  180,    0,  166,    0,    0,   86,    0,
+     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
+     0,    0,    0,    0,   84,   85,    0,    0,   10,    0,
+     0,    0,    0,    0,    4,   16,    0,    0,    0,    0,
+     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
+     0,    0,    0,    0,    0,    0,    0,    0,   82,   83,
+    44,    0,    0,    0,    0,    0,    0,    0,    0,    0,
+     0,    0,    0,    0,   29,    0,   30,    0,   25,    0,
+    26,    0,    0,    0,   36,    0,    0,  134,    0,    0,
+     0,    0,    0,    0,  156,  157,    0,    0,    0,    0,
+     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
+     0,    0,    0,    0,    0,    0,    0,    0,    0,    6,
+     0,    3,    0,    0,    0,    0,    0,    0,    0,    0,
+     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
+     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
+     0,    0,  129,    0,    0,    0,    0,  126,  113,    0,
+   118,    0,  145,    0,  143,    0,    0,    0,    0,  150,
+     0,  152,    0,    0,    0,  131,    0,    0,    0,    0,
+     0,  158,    0,    0,    0,    0,    0,  165,    0,    0,
+    89,    0,  114,    0,  119,    0,  100,   97,  104,  103,
+     0,   90,    0,    8,    0,    0,    0,    0,    0,    0,
+     0,    0,    0,    0,    0,  130,    0,    0,  111,  116,
+   141,   27,   28,   23,   24,  149,    0,    0,    0,   32,
+   136,    0,    0,    0,    0,  159,  160,    0,    0,    0,
+     0,    0,  151,  105,  112,  117,  102,    0,    0,    0,
+     0,  148,   31,    0,  137,    0,  138,    0,  161,  162,
+     0,    0,  167,  101,    7,  127,    0,  139,    0,  163,
+     0,    0,    0,  164,   33,  140,
+ };
+ const short yydgoto[] = {                                       1,
+     8,    9,  159,   77,    3,   10,   11,   78,  215,  216,
+   165,   80,   81,  285,  287,   82,  194,  101,  136,  204,
+    83,   84,   12,   85,    2,   13,   14,
+ };
+ const short yysindex[] = {                                      0,
+     0,    0, -220,  -25,  -57, -229, -205,    0,    0,    0,
+     0,  401,    0,    0,    0,   -7, -232,  -49,   29,    0,
+     0,  -37,   55, -148,  578,  -32,   68,   -5, 2372,  -24,
+   -23,  -22,  -21,   74,   80,   16,   83,   81,   98,  105,
+   107,  124,  130,  135,  157,  177,  178,  188,  189,   -8,
+   210,  213, 2488,  216, -141, -236,  -52,    0,  -33,    0,
+     0,    0,    0,    0,    0, 2582, 2372, 2372, 2372, 2372,
+  2372,  768,    0,    0, 2372, 2372,   50,    0,  163,  -35,
+  4611, -279,    0,    0,    0,  -46,    0,    0,    0,    0,
+  2657, 2773,    0,  223,  -30,    0, -210,    0,    0, -231,
+     0, -231, -231,    0,    0, 2372,  -49, 2372,  -49, 2372,
+   -49, 2372,  -49, 2372, 2372,  277,  863,    0,    0,  937,
+  2773, 2773, 2773, 2773, 2773,  278, 1057, 2372, 2372, 2372,
+  2372, 2372,    0,    0, -237,    0, -237, 2372,    0, -210,
+  2372,  211,  290,  293, 2372, 2372, 2372, 2372, 2372, 5249,
+   291, -210, -279, -279,    0,    0,  245,   18,    0, -279,
+  -279,  -49,  297,  -49,    0,    0, 2372, 2372, 2372, 2372,
+  2372, 2372, 2372, 1148, 1226, 2372, 2372, 2372, 2372, 2372,
+  1342, 1436, 1511, 1627, 1721, 2372, 2372, 1796,    0,    0,
+     0,  298, 4611,  294,    0, 2126,  300, 1915, 2009,  301,
+   294,  302,  291,  303,    0,   87,    0,  125,    0,  142,
+     0, 1838,  143, 2372,    0,  287,  -39,    0,  306,  294,
+   307,  307,  308,  319,    0,    0,  149, 2412, 2126, 2126,
+  2126, 2126,  323,  307, 2412,  154, 2372, 2084, 2203,  -38,
+   -17,  -20,  -15,  291,  291, 2372, 2297,  314, -114,    0,
+  2372,    0,  291,  291,  291,  291, 4611, -210, -143, 2372,
+  -241, 2372, -168, 4611,  268,  208,  612,  528, 2372,  280,
+  2372,  280, 2372, -149, 2372, -183, 2372, -183,   63,   63,
+  2372,   63,    0, 2372,  350, 2372,  307,    0,    0,  155,
+     0,  160,    0,  366,    0,  -49,  -49,  -49,  -49,    0,
+   161,    0,  162, 2372,  -49,    0,  368,  294,  307, 2773,
+  2773,    0,  369,  166,  294,  307,  307,    0,  294,  370,
+     0,  -19,    0,  175,    0,  182,    0,    0,    0,    0,
+   -14,    0, 2372,    0,  183, 4611, 4611, 2372, 4611, 4611,
+  4611, 4611, 4611, 4611,  291,    0, 4611,  307,    0,    0,
+     0,    0,    0,    0,    0,    0,  371,  -49,  347,    0,
+     0,  372,  294,  373,  307,    0,    0,  376,  382,  294,
+   307,  383,    0,    0,    0,    0,    0,  -13,  -49, 1549,
+   384,    0,    0,  863,    0,  385,    0,  307,    0,    0,
+   386,  294,    0,    0,    0,    0,  387,    0,  294,    0,
+   388,  -49,  389,    0,    0,    0,
+ };
+ const short yyrindex[] = {                                      0,
+     0,    0,   89,    0,    0,    0,    0,    0,    0,    0,
+     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
+     0,    0,  150, 2949,    0, 3052,    0,    0, 4844,    0,
+     0,    0,    0, 3064,    0,    0, 3134,    0,    0,    0,
+     0,    0, 3194,    0,    0,    0,    0,    0,    0,    0,
+     0,    0, 4914,    0,    0,    0, 3268,    0, 3379,    0,
+     0,    0,    0,    0,    0, 4926, 4996,    0,    0,    0,
+     0,    0,    0,    0,    0,    0,    1,    0,    0,    4,
+  3521, 5008,    0,    0,    0,    0,    0,    0,    0,    0,
+     0,    0,    0, 3439, 3268,    0, 4460,    0,    0,    0,
+     0,    0,    0,    0,    0,  390,    0,    0,    0,    0,
+     0,    0,    0,    0,    0,    0,  374,    0,    0,    0,
+     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
+     0,    0,    0,    0,    0,    0,    0,    0,    0, 4472,
+     0,    0, 3513, 3595,    0,    0,    0,    0, 5065, 3268,
+  3759, 4542, 5161, 5300,    0,    0, 3674,    0,    0, 5310,
+  5378,    0,    0,    0,    0,    0,    0,    0,    0,    0,
+     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
+     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
+     0, 1268,  201,    0,  977,  394,    0,    0,    0,    0,
+     0,    0,   44,    0,    0,    0,    0,    0,    0,    0,
+     0,    0,    0,    0,    0,    0,  377,    0,    0,    0,
+     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
+     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
+     0,    0,    0, 3840, 3921,    0,    0, 3686,  473,    0,
+     0,    0,   45,   57,   66,   76, 3601, 4554, 4627,    0,
+  4166,    0, 4225, 3765,    0, 3073, 5647, 5623,    0, 5545,
+     0, 5596,    0, 4759,    0, 4307,    0, 4382, 3980, 4055,
+     0, 4092,    0,    0,    0,    0,    0,    0,    0,    0,
+     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
+     0,    0,    0,  378,    0,    0,    0,    0,    0,    0,
+     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
+     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
+     0,    0,    0,    0,    0, 4709, 4881,    0, 5673, 5683,
+  5706, 5710, 5716, 5726,  397,    0,  207,    0,    0,    0,
+     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
+     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
+     0,    0,    0,    0,    0,    0,    0,    0,    0, 3143,
+     0,    0,    0,  398,    0,    0,    0,    0,    0,    0,
+     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
+     0,    0,    0,    0,    0,    0,
+ };
+ const short yygindex[] = {                                      0,
+     0,    0,    0,  -18,  281,    0,    0,    0,  430,   59,
+     0, 5939,  365, -178, 4783,   92,  -56,   -6,  -97,  141,
+     0,    0,    0,  -58,    0,    0,    0,
+ };
+ #define YYTABLESIZE 6272
+ const short yytable[] = {                                      88,
+     5,  305,   91,   17,  171,  171,   96,  100,  171,  199,
+   334,  107,  109,  111,  113,  106,  108,  110,  112,  133,
+   143,  104,  294,  171,  171,   98,  171,   18,  171,  171,
+   171,  135,   15,    5,  103,  197,    4,  233,  146,  234,
+     5,  307,    5,    5,   18,    5,  189,  190,  205,  313,
+   207,   19,  209,   86,  211,  117,  320,  148,  248,    5,
+   146,  247,   18,  219,  220,  221,  222,  223,  224,  144,
+   145,  134,   87,   73,    6,  328,   99,  330,  377,  394,
+   186,  187,    7,  188,   38,   21,  327,   89,    2,  147,
+   174,  175,  145,  200,   92,  201,  202,   22,   73,   73,
+    73,   73,   38,   21,  329,  374,   19,  102,   93,  184,
+   185,  186,  187,  114,  188,   22,   20,  174,  175,  115,
+   121,   39,  120,    5,   19,    5,    5,  297,   39,  362,
+   171,   39,  174,   39,   20,  368,  369,  122,  186,  187,
+   372,  188,    4,  250,  123,  252,  124,   39,    5,  172,
+   173,  174,  175,  186,  187,  172,  188,  174,  175,  153,
+   154,  155,  156,  125,  142,  298,  160,  161,  171,  126,
+   184,  185,  186,  187,  127,  188,  184,  185,  186,  187,
+     6,  188,  299,  302,  386,  171,  171,  125,    7,  312,
+   125,  391,  171,  125,  321,  349,  128,  171,  171,   16,
+   350,  356,  358,  171,  286,  171,  367,  125,  125,  284,
+   125,   39,  125,  401,   39,  375,  129,  130,  171,   90,
+   403,  166,  376,  379,   98,  171,  171,  131,  132,  167,
+   168,  169,  170,  167,  168,  169,  170,  352,  353,  354,
+   355,  176,  125,  125,  176,  183,  360,   51,  133,  137,
+    51,   98,  138,  364,  365,  141,    5,    5,  191,    5,
+     5,    5,  198,    5,    5,    5,    5,    5,    5,    5,
+     5,    5,    5,  125,  125,   99,    5,    5,    5,    5,
+     5,    5,    5,    5,    5,    5,    5,    5,    5,    5,
+     5,    5,    5,    5,    5,    5,    5,    5,    5,  383,
+   134,  182,   99,    5,    5,  183,    5,    5,    5,    5,
+     5,    5,    5,    5,    5,    5,  214,  183,  225,    5,
+   395,  116,  162,  163,  164,  338,    5,    5,  176,  238,
+   177,  181,  239,  237,  171,  246,  251,  284,  283,  118,
+   288,  293,  295,  296,   39,  304,  306,   39,   39,   39,
+   286,  310,   39,   39,   39,   39,   39,   39,   39,   39,
+    39,  182,  311,  318,   39,   39,   39,   39,   39,   39,
+    39,   39,   39,   39,   39,   39,   39,   39,   39,   39,
+    39,   39,   39,  405,   39,   39,   39,  188,  119,   97,
+   346,  181,   39,  105,   39,   39,   39,   39,   39,   39,
+    39,   39,   39,   39,  333,  384,  351,   39,  361,  366,
+   373,  382,  385,  387,   39,   39,  389,  140,  125,  125,
+   125,  125,  390,  393,  396,  398,  400,  402,  404,  406,
+    37,  152,   35,   68,  176,   18,   37,   48,   35,  249,
+    72,   79,  397,   76,  359,   75,    0,    0,  125,  125,
+   125,  125,    0,    0,    0,  193,  196,    0,    0,   74,
+     0,    0,    0,    0,    0,  125,  125,  125,    0,  125,
+   125,  125,  125,    0,  125,  125,  125,    0,  212,    0,
+     0,    0,    0,    0,  193,  193,  193,  193,  193,  193,
+     0,    0,  228,  229,  230,  231,  232,    0,    0,    0,
+     0,    0,  235,    0,    0,   39,  172,  173,  174,  175,
+     0,    0,   39,    0,    0,   39,    0,   39,    0,    0,
+     0,    0,    0,   73,  179,  180,   69,  184,  185,  186,
+   187,   39,  188,    0,    0,  257,  258,  259,  261,  263,
+   264,  265,  266,  267,  268,  270,  272,  274,  276,  278,
+   279,  280,  282,    0,    0,    0,    0,    0,    0,    0,
+     0,    0,    0,    0,    0,  183,  172,  173,  174,  175,
+     0,    0,    0,    0,    0,    0,    0,    0,  172,  173,
+   174,  175,    0,  178,  179,  180,    0,  184,  185,  186,
+   187,    0,  188,    0,    0,   39,    0,    0,   39,  184,
+   185,  186,  187,    0,  188,    0,    0,    0,    0,    0,
+    68,  257,    0,    0,    0,    0,    0,   72,    0,    0,
+    76,  182,   75,    0,  336,    0,  337,    0,    0,    0,
+     0,    0,    0,  339,    0,  340,    0,  341,    0,  342,
+     0,  343,    0,    0,    0,  344,    0,    0,    0,  183,
+   347,  181,    0,    0,    0,    0,   20,   21,    0,   22,
+    23,   24,    0,    0,   25,   26,   27,   28,   29,   30,
+    31,   32,   33,    0,  193,  193,   34,   35,   36,   37,
+    38,   39,   40,   41,   42,   43,   44,   45,   46,   47,
+    48,   49,   50,   51,   52,    0,   53,   54,   55,    0,
+    73,    0,  380,   69,   56,  182,   57,   58,   59,   60,
+    61,   62,   63,   64,   65,   66,    0,    0,    0,   67,
+     0,    0,    0,    0,    0,    0,   70,   71,   39,    0,
+     0,   39,   39,   39,    0,  181,   39,   39,   39,   39,
+    39,   39,   39,   39,   39,    0,    0,    0,   39,   39,
+    39,   39,   39,   39,   39,   39,   39,   39,   39,   39,
+    39,   39,   39,   39,   39,   39,   39,    0,   39,   39,
+    39,    0,    0,    0,    0,    0,   39,    0,   39,   39,
+    39,   39,   39,   39,   39,   39,   39,   39,    0,    0,
+     0,   39,    0,    0,    0,    0,    0,    0,   39,   39,
+    68,    0,    0,    0,    0,    0,    0,   72,  157,    0,
+    76,    0,   75,    0,    0,    0,    0,    0,    0,    0,
+     0,    0,    0,    0,    0,    0,  172,  173,  174,  175,
+     0,    0,    0,    0,   94,    0,   22,   23,   24,    0,
+     0,   25,   26,   27,   28,   29,    0,  184,  185,  186,
+   187,    0,  188,   34,   35,    0,   37,   38,   39,   40,
+    41,   42,   43,   44,   45,   46,   47,   48,   49,   50,
+    51,   52,    0,   53,   54,   55,    0,    0,    0,    0,
+     0,   56,    0,   95,   58,   59,   60,   61,   62,   63,
+    64,   65,   66,   69,    0,   68,   67,    0,    0,    0,
+     0,    0,   72,   70,   71,   76,    0,   75,    0,    0,
+   172,  173,  174,  175,    0,    0,    0,    0,    0,    0,
+     0,    0,    0,    0,    0,    0,    0,    0,    0,  180,
+     0,  184,  185,  186,  187,    0,  188,    0,    0,    0,
+     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
+     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
+     0,    0,    0,    0,    0,    0,    0,    0,    0,   68,
+     0,    0,    0,    0,    0,    0,   72,  218,    0,   76,
+     0,   75,    0,    0,    0,    0,    0,    0,   69,    0,
+     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
+     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
+     0,    0,    0,    0,  181,    0,    0,  175,    0,    0,
+   175,    0,    0,    0,   21,    0,   22,   23,   24,    0,
+     0,   25,   26,   27,   28,   29,    0,  181,    0,  181,
+     0,    0,    0,   34,   35,    0,   37,   38,   39,   40,
+    41,   42,   43,   44,   45,   46,   47,   48,   49,   50,
+    51,   52,   69,   53,   54,   55,    0,    0,    0,    0,
+   181,   56,    0,   57,   58,   59,   60,   61,   62,   63,
+    64,   65,   66,    0,    0,    0,   67,    0,    0,   68,
+     0,    0,    0,   70,   71,    0,   72,  226,    0,   76,
+   181,   75,    0,    0,    0,    0,    0,    0,    0,    0,
+     0,    0,    0,    0,    0,    0,    0,    0,   20,   21,
+     0,   22,   23,   24,    0,    0,   25,   26,   27,   28,
+    29,    0,    0,    0,    0,    0,    0,    0,   34,   35,
+     0,   37,   38,   39,   40,   41,   42,   43,   44,   45,
+    46,   47,   48,   49,   50,   51,   52,    0,   53,   54,
+    55,    0,    0,    0,    0,    0,   56,    0,   57,   58,
+    59,   60,   61,   62,   63,   64,   65,   66,    0,    0,
+    68,   67,   69,    0,    0,    0,    0,   72,   70,   71,
+    76,    0,   75,  195,    0,   22,   23,   24,    0,    0,
+    25,   26,   27,   28,   29,    0,    0,    0,  260,    0,
+     0,    0,   34,   35,    0,   37,   38,   39,   40,   41,
+    42,   43,   44,   45,   46,   47,   48,   49,   50,   51,
+    52,    0,   53,   54,   55,    0,    0,    0,    0,    0,
+    56,    0,   57,   58,   59,   60,   61,   62,   63,   64,
+    65,   66,    0,    0,    0,   67,    0,    0,   68,    0,
+     0,    0,   70,   71,    0,   72,    0,    0,   76,    0,
+    75,    0,    0,   69,    0,  181,  181,  181,  181,    0,
+     0,    0,    0,    0,    0,    0,  262,    0,    0,    0,
+     0,    0,  181,  181,  181,    0,  181,  181,  181,  181,
+     0,  181,  181,  181,    0,  181,    0,    0,    0,    0,
+     0,  175,    0,   21,    0,   22,   23,   24,    0,    0,
+    25,   26,   27,   28,   29,    0,    0,    0,  181,    0,
+   181,    0,   34,   35,    0,   37,   38,   39,   40,   41,
+    42,   43,   44,   45,   46,   47,   48,   49,   50,   51,
+    52,   69,   53,   54,   55,    0,    0,    0,    0,    0,
+    56,  181,   57,   58,   59,   60,   61,   62,   63,   64,
+    65,   66,    0,    0,   68,   67,    0,    0,    0,    0,
+     0,   72,   70,   71,   76,    0,   75,    0,    0,    0,
+     0,  181,    0,    0,    0,    0,    0,    0,    0,    0,
+     0,    0,  269,    0,   21,    0,   22,   23,   24,    0,
+     0,   25,   26,   27,   28,   29,    0,    0,    0,    0,
+     0,    0,    0,   34,   35,    0,   37,   38,   39,   40,
+    41,   42,   43,   44,   45,   46,   47,   48,   49,   50,
+    51,   52,    0,   53,   54,   55,    0,    0,    0,    0,
+     0,   56,    0,   57,   58,   59,   60,   61,   62,   63,
+    64,   65,   66,    0,    0,    0,   67,   69,   68,    0,
+     0,    0,    0,   70,   71,   72,    0,    0,   76,    0,
+    75,    0,   21,    0,   22,   23,   24,    0,    0,   25,
+    26,   27,   28,   29,    0,    0,  271,    0,    0,    0,
+     0,   34,   35,    0,   37,   38,   39,   40,   41,   42,
+    43,   44,   45,   46,   47,   48,   49,   50,   51,   52,
+     0,   53,   54,   55,    0,    0,    0,    0,    0,   56,
+     0,   57,   58,   59,   60,   61,   62,   63,   64,   65,
+    66,    0,    0,   68,   67,    0,    0,    0,    0,    0,
+    72,   70,   71,   76,    0,   75,    0,    0,    0,    0,
+     0,   69,    0,    0,    0,    0,  181,  181,  181,  181,
+     0,  273,    0,    0,    0,    0,    0,    0,    0,    0,
+     0,    0,    0,  181,  181,  181,  183,  181,  181,  181,
+   181,    0,  181,  181,  181,    0,    0,    0,   21,    0,
+    22,   23,   24,    0,    0,   25,   26,   27,   28,   29,
+     0,  177,    0,    0,    0,    0,    0,   34,   35,    0,
+    37,   38,   39,   40,   41,   42,   43,   44,   45,   46,
+    47,   48,   49,   50,   51,   52,   69,   53,   54,   55,
+     0,    0,  182,    0,    0,   56,    0,   57,   58,   59,
+    60,   61,   62,   63,   64,   65,   66,    0,    0,   68,
+    67,    0,    0,    0,    0,    0,   72,   70,   71,   76,
+     0,   75,  181,    0,    0,    0,    0,    0,    0,    0,
+     0,    0,    0,    0,    0,    0,    0,  275,    0,    0,
+     0,    0,   21,    0,   22,   23,   24,    0,    0,   25,
+    26,   27,   28,   29,    0,    0,    0,    0,    0,    0,
+     0,   34,   35,    0,   37,   38,   39,   40,   41,   42,
+    43,   44,   45,   46,   47,   48,   49,   50,   51,   52,
+     0,   53,   54,   55,    0,    0,    0,    0,    0,   56,
+     0,   57,   58,   59,   60,   61,   62,   63,   64,   65,
+    66,    0,   69,   68,   67,    0,    0,    0,    0,    0,
+    72,   70,   71,   76,    0,   75,    0,   21,    0,   22,
+    23,   24,    0,    0,   25,   26,   27,   28,   29,    0,
+     0,  277,    0,    0,    0,    0,   34,   35,    0,   37,
+    38,   39,   40,   41,   42,   43,   44,   45,   46,   47,
+    48,   49,   50,   51,   52,    0,   53,   54,   55,    0,
+     0,    0,    0,    0,   56,    0,   57,   58,   59,   60,
+    61,   62,   63,   64,   65,   66,    0,    0,   68,   67,
+     0,    0,    0,    0,    0,   72,   70,   71,   76,    0,
+    75,    0,    0,    0,    0,    0,   69,  172,  173,  174,
+   175,    0,    0,    0,    0,    0,  281,    0,    0,    0,
+     0,    0,    0,    0,  178,  179,  180,    0,  184,  185,
+   186,  187,    0,  188,    0,  183,    0,    0,  300,    0,
+     0,  286,    0,   21,    0,   22,   23,   24,    0,    0,
+    25,   26,   27,   28,   29,    0,    0,    0,  176,    0,
+   177,    0,   34,   35,    0,   37,   38,   39,   40,   41,
+    42,   43,   44,   45,   46,   47,   48,   49,   50,   51,
+    52,   69,   53,   54,   55,    0,    0,    0,    0,    0,
+    56,  182,   57,   58,   59,   60,   61,   62,   63,   64,
+    65,   66,    0,    0,    0,   67,    0,   68,    0,    0,
+     0,    0,   70,   71,   72,  289,    0,   76,    0,   75,
+     0,  181,    0,    0,    0,    0,    0,    0,    0,    0,
+     0,    0,    0,    0,    0,    0,    0,   21,    0,   22,
+    23,   24,    0,    0,   25,   26,   27,   28,   29,    0,
+     0,    0,    0,    0,    0,    0,   34,   35,    0,   37,
+    38,   39,   40,   41,   42,   43,   44,   45,   46,   47,
+    48,   49,   50,   51,   52,    0,   53,   54,   55,    0,
+     0,    0,    0,    0,   56,    0,   57,   58,   59,   60,
+    61,   62,   63,   64,   65,   66,    0,    0,    0,   67,
+    69,   68,    0,    0,    0,    0,   70,   71,   72,  291,
+     0,   76,   21,   75,   22,   23,   24,    0,    0,   25,
+    26,   27,   28,   29,    0,    0,    0,    0,    0,    0,
+     0,   34,   35,    0,   37,   38,   39,   40,   41,   42,
+    43,   44,   45,   46,   47,   48,   49,   50,   51,   52,
+     0,   53,   54,   55,    0,    0,    0,    0,    0,   56,
+     0,   57,   58,   59,   60,   61,   62,   63,   64,   65,
+    66,    0,    0,    0,   67,    0,   68,    0,    0,    0,
+     0,   70,   71,   72,  323,    0,   76,    0,   75,    0,
+     0,    0,    0,    0,   69,    0,  172,  173,  174,  175,
+     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
+     0,    0,    0,  178,  179,  180,    0,  184,  185,  186,
+   187,    0,  188,  183,    0,    0,    0,    0,    0,  286,
+     0,   21,    0,   22,   23,   24,    0,    0,   25,   26,
+    27,   28,   29,    0,    0,    0,  176,    0,  177,    0,
+    34,   35,    0,   37,   38,   39,   40,   41,   42,   43,
+    44,   45,   46,   47,   48,   49,   50,   51,   52,   69,
+    53,   54,   55,    0,    0,    0,    0,    0,   56,  182,
+    57,   58,   59,   60,   61,   62,   63,   64,   65,   66,
+     0,    0,    0,   67,    0,   68,    0,    0,    0,    0,
+    70,   71,   72,  325,    0,   76,    0,   75,    0,  181,
+     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
+     0,    0,    0,    0,    0,   21,    0,   22,   23,   24,
+     0,    0,   25,   26,   27,   28,   29,    0,    0,    0,
+     0,    0,    0,    0,   34,   35,    0,   37,   38,   39,
+    40,   41,   42,   43,   44,   45,   46,   47,   48,   49,
+    50,   51,   52,    0,   53,   54,   55,    0,    0,    0,
+     0,    0,   56,    0,   57,   58,   59,   60,   61,   62,
+    63,   64,   65,   66,    0,    0,    0,   67,   69,   68,
+     0,    0,    0,    0,   70,   71,   72,  332,    0,   76,
+    21,   75,   22,   23,   24,    0,    0,   25,   26,   27,
+    28,   29,    0,    0,    0,    0,    0,    0,    0,   34,
+    35,    0,   37,   38,   39,   40,   41,   42,   43,   44,
+    45,   46,   47,   48,   49,   50,   51,   52,    0,   53,
+    54,   55,    0,    0,    0,    0,    0,   56,    0,   57,
+    58,   59,   60,   61,   62,   63,   64,   65,   66,    0,
+     0,    0,   67,    0,   68,    0,    0,    0,    0,   70,
+    71,   72,    0,    0,   76,    0,   75,    0,    0,    0,
+     0,    0,   69,    0,  172,  173,  174,  175,    0,    0,
+     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
+     0,  178,  179,  180,    0,  184,  185,  186,  187,  183,
+   188,    0,    0,    0,    0,  284,    0,    0,    0,   21,
+     0,   22,   23,   24,    0,    0,   25,   26,   27,   28,
+    29,    0,  176,    0,  177,    0,    0,    0,   34,   35,
+     0,   37,   38,   39,   40,   41,   42,   43,   44,   45,
+    46,   47,   48,   49,   50,   51,   52,   69,   53,   54,
+    55,    0,    0,    0,    0,  182,   56,    0,   57,   58,
+    59,   60,   61,   62,   63,   64,   65,   66,    0,    0,
+    68,   67,    0,    0,    0,    0,    0,   72,   70,   71,
+    76,    0,   75,    0,    0,  181,    0,    0,    0,    0,
+     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
+     0,    0,    0,   21,    0,   22,   23,   24,    0,    0,
+    25,   26,   27,   28,   29,    0,    0,    0,    0,    0,
+     0,    0,   34,   35,    0,   37,   38,   39,   40,   41,
+    42,   43,   44,   45,   46,   47,   48,   49,   50,   51,
+    52,    0,   53,   54,   55,    0,    0,    0,    0,    0,
+    56,    0,   57,   58,   59,   60,   61,   62,   63,   64,
+    65,   66,    0,   69,   68,   67,    0,    0,    0,    0,
+     0,   72,   70,   71,   76,    0,   75,    0,   21,    0,
+    22,   23,   24,    0,    0,   25,   26,   27,   28,   29,
+     0,    0,    0,    0,    0,    0,    0,   34,   35,    0,
+    37,   38,   39,   40,   41,   42,   43,   44,   45,   46,
+    47,   48,   49,   50,   51,   52,    0,   53,   54,   55,
+     0,    0,    0,    0,    0,   56,    0,   57,   58,   59,
+    60,   61,   62,   63,   64,   65,   66,    0,    0,   68,
+    67,    0,    0,    0,    0,    0,   72,   70,   71,   76,
+     0,   75,    0,    0,    0,    0,    0,   69,    0,    0,
+   172,  173,  174,  175,    0,    0,    0,    0,    0,    0,
+     0,    0,    0,    0,    0,    0,    0,  178,  179,  180,
+     0,  184,  185,  186,  187,    0,  188,    0,    0,    0,
+     0,    0,    0,    0,  139,    0,   22,   23,   24,    0,
+     0,   25,   26,   27,   28,   29,    0,    0,    0,    0,
+     0,    0,    0,   34,   35,    0,   37,   38,   39,   40,
+    41,   42,   43,   44,   45,   46,   47,   48,   49,   50,
+    51,   52,   69,   53,   54,   55,    0,    0,    0,    0,
+     0,   56,    0,   57,   58,   59,   60,   61,   62,   63,
+    64,   65,   66,    0,    0,   68,   67,    0,    0,    0,
+     0,    0,   72,   70,   71,   76,    0,   75,    0,    0,
+     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
+     0,    0,    0,    0,    0,    0,    0,    0,  149,    0,
+    22,   23,   24,    0,    0,   25,   26,   27,   28,   29,
+     0,    0,    0,    0,    0,    0,    0,   34,   35,    0,
+    37,   38,   39,   40,   41,   42,   43,   44,   45,   46,
+    47,   48,   49,   50,   51,   52,    0,   53,   54,   55,
+     0,    0,    0,    0,    0,   56,    0,  150,   58,   59,
+    60,   61,   62,   63,   64,   65,   66,    0,   69,    0,
+    67,    0,    0,    0,    0,    0,    0,   70,   71,    0,
+     0,    0,    0,  192,    0,   22,   23,   24,    0,    0,
+    25,   26,   27,   28,   29,    0,    0,    0,    0,    0,
+     0,    0,   34,   35,    0,   37,   38,   39,   40,   41,
+    42,   43,   44,   45,   46,   47,   48,   49,   50,   51,
+    52,    0,   53,   54,   55,    0,    0,    0,    0,    0,
+    56,    0,   57,   58,   59,   60,   61,   62,   63,   64,
+    65,   66,    0,    0,    0,   67,    0,    0,    0,    0,
+     0,    0,   70,   71,    0,    0,  121,    0,    0,  121,
+     0,    0,  121,    0,    0,    0,    0,    0,    0,    0,
+     0,    0,    0,    0,    0,    0,  121,  121,    0,  121,
+     0,  121,    0,    0,    0,    0,    0,    0,    0,    0,
+     0,    0,    0,    0,    0,    0,    0,    0,    0,  195,
+     0,   22,   23,   24,    0,    0,   25,   26,   27,   28,
+    29,  121,  121,    0,    0,    0,    0,    0,   34,   35,
+     0,   37,   38,   39,   40,   41,   42,   43,   44,   45,
+    46,   47,   48,   49,   50,   51,   52,    0,   53,   54,
+    55,    0,  121,  121,    0,    0,   56,    0,   57,   58,
+    59,   60,   61,   62,   63,   64,   65,   66,    0,  146,
+     0,   67,  146,    0,    0,  146,    0,    0,   70,   71,
+     0,  147,    0,    0,  147,    0,    0,  147,    0,  146,
+   146,    0,  146,   71,  146,    0,   71,    0,    0,    0,
+     0,  147,  147,    0,  147,    0,  147,    0,    0,    0,
+    71,   71,    0,   71,    0,   71,    0,    0,    0,    0,
+     0,    0,    0,    0,  146,  146,    0,    0,    0,    0,
+     0,    0,    0,    0,    0,    0,  147,  147,    0,    0,
+     0,    0,    0,    0,    0,   71,    0,    0,    0,    0,
+     0,  135,    0,    0,  135,  146,  146,  135,    0,    0,
+     0,    0,    0,   74,    0,    0,   74,  147,  147,    0,
+     0,  135,  135,    0,  135,    0,  135,   71,    0,    0,
+    74,   74,    0,   74,    0,    0,    0,    0,    0,    0,
+     0,    0,    0,    0,    0,    0,    0,  121,  121,  121,
+   121,    0,    0,    0,    0,    0,  135,  135,    0,    0,
+     0,  155,    0,    0,  155,   74,    0,  155,    0,    0,
+     0,    0,    0,    0,    0,    0,    0,  121,  121,  121,
+   121,  155,  155,    0,  155,    0,  155,  135,  135,    0,
+     0,    0,    0,    0,  121,  121,  121,   74,  121,  121,
+   121,  121,    0,  121,  121,  121,    0,    0,    0,    0,
+     0,    0,    0,    0,    0,    0,  155,  155,    0,    0,
+     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
+     0,    0,    0,    0,    0,   95,    0,    0,   95,    0,
+     0,   95,    0,    0,    0,    0,    0,  155,  155,    0,
+   146,  146,  146,  146,    0,   95,   95,    0,   95,    0,
+    95,    0,  147,  147,  147,  147,    0,    0,    0,    0,
+     0,   71,   71,   71,   71,    0,    0,    0,    0,    0,
+   146,  146,  146,  146,    0,    0,    0,    0,    0,    0,
+    95,   95,  147,  147,  147,  147,    0,  146,  146,  146,
+     0,  146,  146,  146,  146,    0,  146,  146,  146,  147,
+   147,  147,    0,  147,  147,  147,  147,    0,  147,  147,
+   147,   95,   95,    0,    0,    0,    0,    0,   71,   71,
+     0,    0,  135,  135,  135,  135,    0,    0,    0,    0,
+     0,   74,   74,   74,   74,    0,   99,    0,    0,   99,
+     0,    0,   99,    0,    0,    0,    0,    0,    0,    0,
+     0,    0,  135,  135,  135,  135,   99,   99,    0,   99,
+     0,   99,    0,    0,    0,    0,    0,    0,    0,  135,
+   135,  135,    0,  135,  135,  135,  135,    0,  135,  135,
+   135,    0,  155,  155,  155,  155,    0,    0,   74,   74,
+     0,   99,   99,    0,    0,    0,  181,    0,    0,  181,
+     0,    0,  181,    0,    0,    0,    0,    0,    0,    0,
+     0,    0,  155,  155,  155,  155,  181,  181,    0,  181,
+     0,  181,   99,   99,    0,    0,    0,    0,    0,  155,
+   155,  155,    0,  155,  155,  155,  155,    0,  155,  155,
+   155,    0,    0,    0,    0,    0,    0,    0,    0,    0,
+     0,  181,  181,    0,    0,    0,   95,   95,   95,   95,
+     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
+   115,    0,    0,  115,    0,    0,  115,    0,    0,    0,
+     0,   50,  181,  181,   50,    0,   95,   95,   95,   95,
+   115,  115,    0,  115,    0,  115,    0,    0,   50,   50,
+     0,    0,    0,   95,   95,   95,    0,   95,   95,   95,
+    95,    0,   95,   95,   95,    0,    0,    0,    0,    0,
+     0,    0,    0,    0,    0,  115,  115,    0,    0,    0,
+     0,    0,    0,   50,    0,    0,    0,    0,    0,    0,
+     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
+     0,    0,  120,    0,    0,  120,  115,  115,  120,    0,
+     0,   49,    0,    0,   49,   50,    0,   99,   99,   99,
+    99,    0,  120,  120,    0,  120,    0,  120,   49,   49,
+     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
+     0,    0,    0,    0,    0,    0,    0,   99,   99,   99,
+    99,    0,    0,    0,    0,    0,    0,  120,  120,    0,
+     0,    0,    0,   49,   99,   99,   99,    0,   99,   99,
+    99,   99,    0,   99,   99,   99,    0,  181,  181,  181,
+   181,   92,    0,    0,   92,    0,    0,   92,  120,  120,
+     0,    0,    0,   91,    0,   49,   91,    0,    0,   91,
+     0,   92,   92,    0,   92,    0,   92,  181,  181,  181,
+   181,    0,    0,   91,   91,    0,   91,    0,   91,    0,
+     0,    0,    0,    0,  181,  181,  181,    0,  181,  181,
+   181,  181,    0,  181,  181,  181,   92,   92,    0,    0,
+     0,    0,    0,    0,    0,    0,    0,    0,   91,   91,
+     0,  115,  115,  115,  115,    0,    0,    0,    0,   50,
+    50,   50,   50,    0,    0,    0,  171,   92,   92,  171,
+     0,    0,    0,    0,    0,   52,    0,    0,   52,   91,
+    91,  115,  115,  115,  115,    0,  171,  171,    0,  171,
+     0,  171,   52,   52,    0,    0,    0,    0,  115,  115,
+   115,    0,  115,  115,  115,  115,    0,  115,  115,  115,
+     0,    0,    0,    0,    0,    0,   50,   50,    0,    0,
+     0,  171,  171,    0,    0,    0,    0,   52,    0,    0,
+     0,    0,    0,  120,  120,  120,  120,    0,    0,   49,
+    49,   49,   49,    0,    0,    0,    0,  173,    0,    0,
+   173,    0,  171,  171,    0,    0,    0,    0,    0,   52,
+     0,    0,    0,  120,  120,  120,  120,  173,  173,    0,
+   173,    0,  173,    0,    0,    0,    0,    0,    0,    0,
+   120,  120,  120,    0,  120,  120,  120,  120,    0,  120,
+   120,  120,    0,    0,    0,    0,   49,   49,    0,    0,
+     0,    0,  173,  173,    0,    0,    0,    0,    0,    0,
+     0,    0,   92,   92,   92,   92,    0,    0,    0,    0,
+     0,    0,    0,    0,   91,   91,   91,   91,  174,    0,
+     0,  174,    0,  173,  173,    0,    0,    0,    0,    0,
+     0,    0,   92,   92,   92,   92,    0,    0,  174,  174,
+     0,  174,    0,  174,   91,   91,   91,   91,    0,   92,
+    92,   92,    0,   92,   92,   92,   92,    0,   92,   92,
+    92,   91,   91,   91,    0,   91,   91,   91,   91,    0,
+    91,   91,   91,  174,  174,    0,    0,   75,    0,    0,
+    75,    0,    0,   75,    0,    0,    0,  171,  171,  171,
+   171,    0,    0,   52,   52,   52,   52,   75,   75,    0,
+    75,    0,   75,    0,  174,  174,    0,    0,    0,    0,
+     0,    0,    0,    0,    0,    0,    0,  171,  171,  171,
+   171,    0,    0,    0,    0,    0,    0,    0,    0,    0,
+     0,    0,   75,   75,  171,  171,  171,    0,  171,  171,
+   171,  171,    0,  171,  171,  171,    0,    0,    0,    0,
+    52,   52,   76,    0,    0,   76,    0,    0,   76,    0,
+     0,    0,    0,   75,   75,    0,    0,    0,  173,  173,
+   173,  173,   76,   76,    0,   76,    0,   76,    0,    0,
+     0,    0,    0,    0,    0,    0,    0,    0,    0,   61,
+     0,    0,   61,    0,    0,   61,    0,    0,  173,  173,
+   173,  173,    0,    0,    0,    0,    0,   76,   76,   61,
+    61,    0,   61,    0,   61,  173,  173,  173,    0,  173,
+   173,  173,  173,    0,  173,  173,  173,    0,    0,    0,
+     0,    0,    0,    0,    0,    0,    0,    0,   76,   76,
+     0,    0,    0,    0,   61,   61,    0,    0,    0,  174,
+   174,  174,  174,    0,    0,    0,    0,    0,    0,    0,
+     0,    0,    0,   62,    0,    0,   62,    0,    0,   62,
+     0,    0,    0,    0,    0,   61,   61,    0,    0,  174,
+   174,  174,  174,   62,   62,    0,   62,    0,   62,    0,
+     0,    0,    0,    0,    0,    0,  174,  174,  174,    0,
+   174,  174,  174,  174,    0,  174,  174,  174,   75,   75,
+    75,   75,    0,    0,    0,    0,    0,    0,   62,   62,
+     0,    0,   63,    0,    0,   63,    0,    0,   63,    0,
+     0,    0,    0,    0,    0,    0,    0,    0,   75,   75,
+    75,   75,   63,   63,    0,   63,    0,   63,    0,   62,
+    62,    0,    0,    0,    0,   75,   75,   75,    0,   75,
+    75,   75,   75,    0,    0,   75,   75,    0,    0,    0,
+     0,    0,    0,    0,    0,    0,    0,   63,   63,    0,
+     0,    0,    0,   76,   76,   76,   76,    0,    0,    0,
+     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
+     0,    0,    0,    0,   64,    0,    0,   64,   63,   63,
+    64,    0,    0,   76,   76,   76,   76,    0,    0,    0,
+    61,   61,   61,   61,   64,   64,    0,   64,    0,   64,
+    76,   76,   76,    0,   76,   76,   76,   76,    0,    0,
+    76,   76,    0,    0,    0,    0,    0,    0,    0,    0,
+    61,   61,   61,   61,    0,    0,    0,    0,    0,   64,
+    64,    0,    0,    0,    0,    0,    0,   61,   61,   61,
+     0,   61,   61,   61,   61,    0,    0,   61,   61,   65,
+     0,    0,   65,    0,    0,   65,    0,    0,    0,    0,
+    64,   64,    0,    0,   62,   62,   62,   62,    0,   65,
+    65,    0,   65,    0,   65,    0,    0,    0,    0,    0,
+     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
+     0,    0,    0,    0,   62,   62,   62,   62,    0,    0,
+     0,    0,    0,    0,   65,   65,    0,    0,    0,    0,
+     0,   62,   62,   62,    0,   62,   62,    0,    0,    0,
+     0,   62,   62,   63,   63,   63,   63,   93,    0,    0,
+    93,    0,    0,   93,    0,   65,   65,    0,    0,   87,
+     0,    0,   87,    0,    0,   87,    0,   93,   93,    0,
+    93,    0,   93,   63,   63,    0,   63,    0,    0,   87,
+    87,    0,   87,    0,   87,    0,    0,    0,    0,    0,
+    63,   63,   63,    0,   63,   63,    0,    0,    0,    0,
+    63,   63,   93,   93,    0,    0,    0,    0,    0,    0,
+     0,    0,    0,    0,   87,   87,    0,    0,    0,    0,
+     0,    0,    0,    0,    0,   64,   64,   64,   64,  124,
+     0,    0,  124,   93,   93,  124,    0,    0,    0,    0,
+     0,   66,    0,    0,   66,   87,   87,   66,    0,  124,
+   124,    0,  124,    0,  124,   64,   64,    0,    0,    0,
+     0,   66,   66,    0,   66,    0,   66,    0,    0,    0,
+     0,    0,   64,   64,   64,    0,   64,   64,    0,    0,
+     0,    0,   64,   64,  124,  124,    0,    0,    0,    0,
+     0,    0,    0,    0,    0,    0,   66,   66,  183,    0,
+    65,   65,   65,   65,    0,    0,    0,    0,    0,    0,
+     0,    0,    0,    0,   67,  124,  124,   67,    0,    0,
+    67,  176,    0,  177,    0,    0,    0,   66,   66,    0,
+    65,   65,    0,    0,   67,   67,    0,   67,    0,   67,
+     0,    0,    0,    0,    0,    0,    0,   65,   65,   65,
+     0,   65,   65,    0,  182,    0,    0,   65,   65,    0,
+     0,    0,    0,    0,    0,    0,    0,    0,    0,   67,
+    67,    0,    0,    0,    0,    0,    0,    0,   93,   93,
+    93,   93,    0,    0,  181,    0,    0,    0,    0,    0,
+    87,   87,   87,   87,    0,    0,    0,    0,    0,   54,
+    67,   67,   54,    0,    0,    0,    0,    0,   93,   93,
+     0,    0,    0,    0,    0,    0,   54,   54,    0,    0,
+    87,   87,    0,    0,    0,   93,   93,   93,    0,    0,
+     0,    0,    0,    0,    0,   93,   93,   87,   87,   87,
+     0,    0,    0,    0,    0,    0,   68,   87,   87,   68,
+     0,   54,   68,    0,    0,    0,    0,    0,    0,    0,
+   124,  124,  124,  124,    0,    0,   68,   68,    0,   68,
+     0,   68,   66,   66,   66,   66,    0,    0,    0,    0,
+     0,    0,    0,   54,    0,    0,    0,    0,    0,    0,
+   124,  124,    0,    0,    0,    0,    0,    0,    0,    0,
+     0,   68,   68,   66,    0,    0,    0,  124,  124,  124,
+     0,    0,    0,    0,    0,    0,    0,  124,  124,   66,
+    66,   66,    0,    0,    0,    0,    0,    0,    0,   66,
+    66,  154,   68,   68,  154,    0,    0,  154,    0,    0,
+     0,    0,    0,    0,    0,   67,   67,   67,   67,    0,
+     0,  154,  154,    0,  154,    0,  154,    0,    0,  172,
+   173,  174,  175,    0,    0,    0,    0,    0,    0,    0,
+     0,   55,    0,    0,   55,    0,  178,  179,  180,    0,
+   184,  185,  186,  187,    0,  188,  154,  154,   55,   55,
+     0,    0,   67,   67,   67,    0,    0,    0,    0,    0,
+     0,   88,   67,   67,   88,    0,    0,   88,    0,    0,
+     0,    0,    0,  170,    0,    0,  170,  154,  154,  170,
+     0,   88,   88,   55,   88,    0,   88,   54,   54,   54,
+    54,    0,    0,  170,  170,    0,  170,    0,  170,    0,
+     0,    0,    0,    0,  301,    0,    0,    0,    0,    0,
+     0,    0,    0,  308,  309,   55,   88,   88,    0,    0,
+     0,  314,  315,  316,  317,    0,  319,    0,  170,  170,
+     0,    0,    0,    0,    0,    0,    0,   68,   68,   68,
+    68,    0,    0,  123,   54,   54,  123,   88,   88,  123,
+     0,    0,    0,    0,    0,   77,    0,    0,   77,  170,
+   170,   77,    0,  123,  123,    0,  123,    0,  123,    0,
+     0,    0,    0,    0,    0,   77,   77,    0,   77,  348,
+    77,    0,    0,    0,   68,   68,   68,    0,    0,    0,
+     0,    0,    0,  357,   68,   68,    0,    0,  123,  123,
+     0,  363,    0,    0,    0,    0,    0,    0,  370,  371,
+    77,   77,  172,    0,    0,  172,    0,    0,  172,    0,
+     0,    0,  154,  154,  154,  154,    0,    0,    0,  123,
+   123,    0,  172,  172,    0,  172,    0,  172,    0,    0,
+   381,   77,   77,    0,    0,    0,    0,    0,    0,    0,
+     0,    0,  154,  154,  154,  154,    0,  388,    0,   55,
+    55,   55,   55,  392,    0,    0,    0,  172,  172,  154,
+   154,  154,    0,  154,  154,  154,  154,    0,  154,    0,
+   399,    0,    0,    0,    0,    0,    0,    0,    0,    0,
+     0,    0,   88,   88,   88,   88,    0,    0,  172,  172,
+     0,    0,    0,    0,  170,  170,  170,  170,   80,    0,
+     0,   80,    0,    0,   80,    0,   55,   55,    0,    0,
+     0,    0,   88,   88,   88,   88,    0,    0,   80,   80,
+     0,   80,    0,   80,  170,  170,  170,  170,    0,   88,
+    88,   88,    0,   88,   88,   88,   88,    0,   88,    0,
+     0,  170,  170,  170,    0,  170,  170,  170,  170,    0,
+   170,    0,    0,   80,   80,    0,    0,    0,    0,    0,
+     0,    0,    0,    0,  123,  123,  123,  123,    0,    0,
+     0,    0,    0,    0,    0,    0,   77,   77,   77,   77,
+     0,   68,    0,    0,   80,   80,    0,    0,   72,    0,
+     0,   76,    0,   75,  123,  123,  123,  123,    0,    0,
+     0,    0,    0,    0,    0,    0,   77,   77,   77,   77,
+     0,  123,  123,  123,    0,  123,  123,  123,  123,    0,
+   123,    0,    0,   77,   77,   77,    0,   77,   77,   77,
+    77,    0,   77,  172,  172,  172,  172,   81,    0,  146,
+    81,    0,    0,   81,    0,    0,    0,   78,    0,    0,
+    78,    0,    0,   78,    0,    0,    0,   81,   81,    0,
+    81,    0,   81,  172,  172,  172,  172,   78,   78,    0,
+    78,  145,   78,    0,   69,    0,    0,    0,    0,    0,
+   172,  172,  172,    0,  172,  172,  172,  172,    0,  172,
+     0,    0,   81,   81,    0,    0,    0,    0,    0,    0,
+     0,    0,   78,   78,    0,    0,    0,    0,    0,    0,
+     0,    0,    0,    0,    0,   79,    0,    0,   79,    0,
+     0,   79,    0,   81,   81,    0,    0,    0,    0,   80,
+    80,   80,   80,   78,   78,   79,   79,    0,   79,    0,
+    79,    0,    0,    0,    0,    0,    0,    0,    0,    0,
+     0,    0,    0,    0,    0,    0,    0,    0,    0,   80,
+    80,   80,   80,    0,    0,    0,    0,    0,    0,    0,
+    79,   79,    0,    0,    0,    0,   80,   80,   80,    0,
+    80,   80,   80,   80,    0,   80,    0,    0,    0,    0,
+     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
+     0,   79,   79,    0,    0,   21,    0,   22,   23,   24,
+     0,    0,   25,   26,   27,   28,   29,    0,    0,    0,
+     0,    0,    0,    0,   34,   35,    0,   37,   38,   39,
+    40,   41,   42,   43,   44,   45,   46,   47,   48,   49,
+    50,   51,   52,    0,   53,   54,   55,    0,    0,    0,
+     0,    0,   56,    0,   57,   58,   59,   60,   61,   62,
+    63,   64,   65,   66,    0,    0,    0,   67,   81,   81,
+    81,   81,    0,    0,    0,    0,    0,    0,   78,   78,
+    78,   78,    0,    0,    0,   70,    0,    0,   70,    0,
+     0,    0,    0,    0,    0,    0,    0,    0,   81,   81,
+    81,   81,   70,   70,    0,   70,    0,   70,   78,   78,
+    78,   78,    0,    0,    0,   81,   81,   81,    0,   81,
+    81,   81,   81,    0,   81,   78,   78,   78,    0,   78,
+    78,   78,   78,    0,   78,    0,   69,   70,   70,   69,
+     0,    0,    0,    0,    0,    0,   79,   79,   79,   79,
+     0,    0,    0,   69,   69,    0,   69,    0,   69,    0,
+     0,    0,    0,   72,    0,    0,   72,    0,   70,   70,
+     0,    0,    0,    0,    0,    0,   79,   79,   79,   79,
+    72,   72,    0,   72,    0,   72,    0,   73,   69,   69,
+    73,    0,    0,   79,   79,   79,    0,   79,   79,   79,
+    79,    0,   79,    0,   73,   73,    0,   73,    0,   73,
+     0,    0,    0,   60,    0,   72,   60,    0,    0,   69,
+    69,    0,    0,   59,    0,    0,   59,    0,    0,    0,
+    60,   60,    0,    0,    0,    0,    0,    0,    0,   73,
+    59,   59,    0,    0,    0,    0,   58,   72,    0,   58,
+    56,    0,    0,   56,    0,    0,   57,    0,    0,   57,
+     0,    0,    0,   58,   58,   60,   53,   56,   56,   53,
+     0,   73,    0,   57,   57,   59,    0,    0,    0,    0,
+     0,    0,    0,   53,   53,    0,    0,    0,    0,    0,
+     0,    0,    0,    0,    0,    0,    0,   60,   58,    0,
+     0,    0,   56,    0,    0,    0,    0,   59,   57,    0,
+     0,    0,    0,   70,   70,   70,   70,    0,   53,    0,
+     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
+    58,    0,    0,    0,   56,    0,    0,    0,    0,    0,
+    57,    0,    0,    0,    0,    0,    0,    0,    0,    0,
+    53,    0,    0,    0,    0,    0,    0,    0,    0,    0,
+    70,   70,   70,    0,   69,   69,   69,   69,    0,    0,
+    70,   70,    0,    0,    0,    0,    0,    0,    0,    0,
+     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
+     0,   72,   72,   72,   72,    0,    0,    0,    0,    0,
+     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
+     0,   69,   69,   69,    0,   73,   73,   73,   73,    0,
+     0,   69,   69,    0,    0,    0,    0,    0,    0,    0,
+     0,    0,    0,    0,    0,    0,    0,    0,   72,   72,
+    72,   60,   60,   60,   60,    0,    0,    0,   72,   72,
+     0,   59,   59,   59,   59,    0,    0,    0,    0,    0,
+     0,    0,   73,   73,    0,    0,    0,    0,    0,    0,
+     0,    0,   73,   73,   58,   58,   58,   58,   56,   56,
+    56,   56,    0,    0,   57,   57,   57,   57,    0,    0,
+     0,    0,    0,    0,   53,   53,   53,   53,   60,   60,
+     0,    0,    0,    0,  151,    0,    0,    0,   59,   59,
+   158,    0,    0,    0,    0,    0,    0,    0,    0,    0,
+     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
+     0,   58,   58,    0,    0,   56,   56,    0,    0,    0,
+     0,   57,   57,    0,  203,    0,  206,    0,  208,    0,
+   210,   53,   53,  213,    0,  217,    0,    0,    0,    0,
+     0,    0,    0,    0,    0,  227,    0,    0,    0,    0,
+     0,    0,    0,    0,    0,    0,    0,    0,    0,  236,
+     0,    0,    0,  240,  241,  242,  243,  244,  245,    0,
+     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
+     0,    0,    0,    0,    0,  253,  254,  255,  256,    0,
+     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
+     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
+     0,    0,    0,    0,    0,    0,  290,  292,    0,    0,
+     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
+     0,    0,  303,    0,    0,    0,    0,    0,    0,    0,
+     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
+     0,    0,    0,    0,    0,  322,  324,  326,    0,    0,
+     0,    0,    0,    0,  331,    0,    0,    0,    0,  335,
+     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
+     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
+     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
+     0,    0,  345,    0,    0,    0,    0,    0,    0,    0,
+     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
+     0,    0,  203,    0,    0,    0,    0,    0,    0,    0,
+     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
+     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
+     0,  378,
+ };
+ const short yycheck[] = {                                      18,
+     0,   41,   40,   61,   44,   44,   25,   40,   44,   40,
+   125,   30,   31,   32,   33,   40,   40,   40,   40,  257,
+   257,   28,  201,   44,   44,  257,   44,  257,   44,   44,
+    44,   40,   58,   33,   40,   92,  257,  135,   91,  137,
+    40,  220,  263,   43,   41,   45,  326,  327,  107,  228,
+   109,  257,  111,   61,  113,   40,  235,   91,   41,   59,
+    91,   44,   59,  120,  121,  122,  123,  124,  125,  306,
+   123,  309,  305,  123,  295,   93,  308,   93,   93,   93,
+   322,  323,  303,  325,   41,   41,  125,   59,    0,  123,
+   301,  302,  123,  100,   40,  102,  103,   41,  123,  123,
+   123,  123,   59,   59,  125,  125,   41,   40,  257,  320,
+   321,  322,  323,   40,  325,   59,   41,  301,  302,   40,
+    40,   33,   40,  123,   59,  125,  126,   41,   40,  308,
+    44,   43,  301,   45,   59,  314,  315,   40,  322,  323,
+   319,  325,  257,  162,   40,  164,   40,   59,  263,  299,
+   300,  301,  302,  322,  323,  299,  325,  301,  302,   68,
+    69,   70,   71,   40,  306,   41,   75,   76,   44,   40,
+   320,  321,  322,  323,   40,  325,  320,  321,  322,  323,
+   295,  325,   41,   41,  363,   44,   44,   38,  303,   41,
+    41,  370,   44,   44,   41,   41,   40,   44,   44,  257,
+    41,   41,   41,   44,   44,   44,   41,   58,   59,   44,
+    61,  123,   63,  392,  126,   41,   40,   40,   44,  257,
+   399,   59,   41,   41,  257,   44,   44,   40,   40,  269,
+   270,  271,  272,  269,  270,  271,  272,  296,  297,  298,
+   299,   41,   93,   94,   44,   38,  305,   41,  257,   40,
+    44,  257,   40,  310,  311,   40,  256,  257,  305,  259,
+   260,  261,   40,  263,  264,  265,  266,  267,  268,  269,
+   270,  271,  272,  124,  125,  308,  276,  277,  278,  279,
+   280,  281,  282,  283,  284,  285,  286,  287,  288,  289,
+   290,  291,  292,  293,  294,  295,  296,  297,  298,  358,
+   309,   94,  308,  303,  304,   38,  306,  307,  308,  309,
+   310,  311,  312,  313,  314,  315,   40,   38,   41,  319,
+   379,  306,  273,  274,  275,   58,  326,  327,   61,   40,
+    63,  124,   40,  123,   44,   91,   40,   44,   41,  257,
+    41,   41,   41,   41,  256,   59,   41,  259,  260,  261,
+    44,   44,  264,  265,  266,  267,  268,  269,  270,  271,
+   272,   94,   44,   41,  276,  277,  278,  279,  280,  281,
+   282,  283,  284,  285,  286,  287,  288,  289,  290,  291,
+   292,  293,  294,  402,  296,  297,  298,  325,  306,   25,
+    41,  124,  304,   29,  306,  307,  308,  309,  310,  311,
+   312,  313,  314,  315,   91,   59,   41,  319,   41,   41,
+    41,   41,   41,   41,  326,  327,   41,   53,  269,  270,
+   271,  272,   41,   41,   41,   41,   41,   41,   41,   41,
+    41,   67,   59,   33,   41,   59,   59,   41,   41,  159,
+    40,   12,  384,   43,  304,   45,   -1,   -1,  299,  300,
+   301,  302,   -1,   -1,   -1,   91,   92,   -1,   -1,   59,
+    -1,   -1,   -1,   -1,   -1,  316,  317,  318,   -1,  320,
+   321,  322,  323,   -1,  325,  326,  327,   -1,  114,   -1,
+    -1,   -1,   -1,   -1,  120,  121,  122,  123,  124,  125,
+    -1,   -1,  128,  129,  130,  131,  132,   -1,   -1,   -1,
+    -1,   -1,  138,   -1,   -1,   33,  299,  300,  301,  302,
+    -1,   -1,   40,   -1,   -1,   43,   -1,   45,   -1,   -1,
+    -1,   -1,   -1,  123,  317,  318,  126,  320,  321,  322,
+   323,   59,  325,   -1,   -1,  171,  172,  173,  174,  175,
+   176,  177,  178,  179,  180,  181,  182,  183,  184,  185,
+   186,  187,  188,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
+    -1,   -1,   -1,   -1,   -1,   38,  299,  300,  301,  302,
+    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,  299,  300,
+   301,  302,   -1,  316,  317,  318,   -1,  320,  321,  322,
+   323,   -1,  325,   -1,   -1,  123,   -1,   -1,  126,  320,
+   321,  322,  323,   -1,  325,   -1,   -1,   -1,   -1,   -1,
+    33,  247,   -1,   -1,   -1,   -1,   -1,   40,   -1,   -1,
+    43,   94,   45,   -1,  260,   -1,  262,   -1,   -1,   -1,
+    -1,   -1,   -1,  269,   -1,  271,   -1,  273,   -1,  275,
+    -1,  277,   -1,   -1,   -1,  281,   -1,   -1,   -1,   38,
+   286,  124,   -1,   -1,   -1,   -1,  256,  257,   -1,  259,
+   260,  261,   -1,   -1,  264,  265,  266,  267,  268,  269,
+   270,  271,  272,   -1,  310,  311,  276,  277,  278,  279,
+   280,  281,  282,  283,  284,  285,  286,  287,  288,  289,
+   290,  291,  292,  293,  294,   -1,  296,  297,  298,   -1,
+   123,   -1,  338,  126,  304,   94,  306,  307,  308,  309,
+   310,  311,  312,  313,  314,  315,   -1,   -1,   -1,  319,
+    -1,   -1,   -1,   -1,   -1,   -1,  326,  327,  256,   -1,
+    -1,  259,  260,  261,   -1,  124,  264,  265,  266,  267,
+   268,  269,  270,  271,  272,   -1,   -1,   -1,  276,  277,
+   278,  279,  280,  281,  282,  283,  284,  285,  286,  287,
+   288,  289,  290,  291,  292,  293,  294,   -1,  296,  297,
+   298,   -1,   -1,   -1,   -1,   -1,  304,   -1,  306,  307,
+   308,  309,  310,  311,  312,  313,  314,  315,   -1,   -1,
+    -1,  319,   -1,   -1,   -1,   -1,   -1,   -1,  326,  327,
+    33,   -1,   -1,   -1,   -1,   -1,   -1,   40,   41,   -1,
+    43,   -1,   45,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
+    -1,   -1,   -1,   -1,   -1,   -1,  299,  300,  301,  302,
+    -1,   -1,   -1,   -1,  257,   -1,  259,  260,  261,   -1,
+    -1,  264,  265,  266,  267,  268,   -1,  320,  321,  322,
+   323,   -1,  325,  276,  277,   -1,  279,  280,  281,  282,
+   283,  284,  285,  286,  287,  288,  289,  290,  291,  292,
+   293,  294,   -1,  296,  297,  298,   -1,   -1,   -1,   -1,
+    -1,  304,   -1,  306,  307,  308,  309,  310,  311,  312,
+   313,  314,  315,  126,   -1,   33,  319,   -1,   -1,   -1,
+    -1,   -1,   40,  326,  327,   43,   -1,   45,   -1,   -1,
+   299,  300,  301,  302,   -1,   -1,   -1,   -1,   -1,   -1,
+    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,  318,
+    -1,  320,  321,  322,  323,   -1,  325,   -1,   -1,   -1,
+    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
+    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
+    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   33,
+    -1,   -1,   -1,   -1,   -1,   -1,   40,   41,   -1,   43,
+    -1,   45,   -1,   -1,   -1,   -1,   -1,   -1,  126,   -1,
+    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
+    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
+    -1,   -1,   -1,   -1,   38,   -1,   -1,   41,   -1,   -1,
+    44,   -1,   -1,   -1,  257,   -1,  259,  260,  261,   -1,
+    -1,  264,  265,  266,  267,  268,   -1,   61,   -1,   63,
+    -1,   -1,   -1,  276,  277,   -1,  279,  280,  281,  282,
+   283,  284,  285,  286,  287,  288,  289,  290,  291,  292,
+   293,  294,  126,  296,  297,  298,   -1,   -1,   -1,   -1,
+    94,  304,   -1,  306,  307,  308,  309,  310,  311,  312,
+   313,  314,  315,   -1,   -1,   -1,  319,   -1,   -1,   33,
+    -1,   -1,   -1,  326,  327,   -1,   40,   41,   -1,   43,
+   124,   45,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
+    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,  256,  257,
+    -1,  259,  260,  261,   -1,   -1,  264,  265,  266,  267,
+   268,   -1,   -1,   -1,   -1,   -1,   -1,   -1,  276,  277,
+    -1,  279,  280,  281,  282,  283,  284,  285,  286,  287,
+   288,  289,  290,  291,  292,  293,  294,   -1,  296,  297,
+   298,   -1,   -1,   -1,   -1,   -1,  304,   -1,  306,  307,
+   308,  309,  310,  311,  312,  313,  314,  315,   -1,   -1,
+    33,  319,  126,   -1,   -1,   -1,   -1,   40,  326,  327,
+    43,   -1,   45,  257,   -1,  259,  260,  261,   -1,   -1,
+   264,  265,  266,  267,  268,   -1,   -1,   -1,   61,   -1,
+    -1,   -1,  276,  277,   -1,  279,  280,  281,  282,  283,
+   284,  285,  286,  287,  288,  289,  290,  291,  292,  293,
+   294,   -1,  296,  297,  298,   -1,   -1,   -1,   -1,   -1,
+   304,   -1,  306,  307,  308,  309,  310,  311,  312,  313,
+   314,  315,   -1,   -1,   -1,  319,   -1,   -1,   33,   -1,
+    -1,   -1,  326,  327,   -1,   40,   -1,   -1,   43,   -1,
+    45,   -1,   -1,  126,   -1,  299,  300,  301,  302,   -1,
+    -1,   -1,   -1,   -1,   -1,   -1,   61,   -1,   -1,   -1,
+    -1,   -1,  316,  317,  318,   -1,  320,  321,  322,  323,
+    -1,  325,  326,  327,   -1,   38,   -1,   -1,   -1,   -1,
+    -1,   44,   -1,  257,   -1,  259,  260,  261,   -1,   -1,
+   264,  265,  266,  267,  268,   -1,   -1,   -1,   61,   -1,
+    63,   -1,  276,  277,   -1,  279,  280,  281,  282,  283,
+   284,  285,  286,  287,  288,  289,  290,  291,  292,  293,
+   294,  126,  296,  297,  298,   -1,   -1,   -1,   -1,   -1,
+   304,   94,  306,  307,  308,  309,  310,  311,  312,  313,
+   314,  315,   -1,   -1,   33,  319,   -1,   -1,   -1,   -1,
+    -1,   40,  326,  327,   43,   -1,   45,   -1,   -1,   -1,
+    -1,  124,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
+    -1,   -1,   61,   -1,  257,   -1,  259,  260,  261,   -1,
+    -1,  264,  265,  266,  267,  268,   -1,   -1,   -1,   -1,
+    -1,   -1,   -1,  276,  277,   -1,  279,  280,  281,  282,
+   283,  284,  285,  286,  287,  288,  289,  290,  291,  292,
+   293,  294,   -1,  296,  297,  298,   -1,   -1,   -1,   -1,
+    -1,  304,   -1,  306,  307,  308,  309,  310,  311,  312,
+   313,  314,  315,   -1,   -1,   -1,  319,  126,   33,   -1,
+    -1,   -1,   -1,  326,  327,   40,   -1,   -1,   43,   -1,
+    45,   -1,  257,   -1,  259,  260,  261,   -1,   -1,  264,
+   265,  266,  267,  268,   -1,   -1,   61,   -1,   -1,   -1,
+    -1,  276,  277,   -1,  279,  280,  281,  282,  283,  284,
+   285,  286,  287,  288,  289,  290,  291,  292,  293,  294,
+    -1,  296,  297,  298,   -1,   -1,   -1,   -1,   -1,  304,
+    -1,  306,  307,  308,  309,  310,  311,  312,  313,  314,
+   315,   -1,   -1,   33,  319,   -1,   -1,   -1,   -1,   -1,
+    40,  326,  327,   43,   -1,   45,   -1,   -1,   -1,   -1,
+    -1,  126,   -1,   -1,   -1,   -1,  299,  300,  301,  302,
+    -1,   61,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
+    -1,   -1,   -1,  316,  317,  318,   38,  320,  321,  322,
+   323,   -1,  325,  326,  327,   -1,   -1,   -1,  257,   -1,
+   259,  260,  261,   -1,   -1,  264,  265,  266,  267,  268,
+    -1,   63,   -1,   -1,   -1,   -1,   -1,  276,  277,   -1,
+   279,  280,  281,  282,  283,  284,  285,  286,  287,  288,
+   289,  290,  291,  292,  293,  294,  126,  296,  297,  298,
+    -1,   -1,   94,   -1,   -1,  304,   -1,  306,  307,  308,
+   309,  310,  311,  312,  313,  314,  315,   -1,   -1,   33,
+   319,   -1,   -1,   -1,   -1,   -1,   40,  326,  327,   43,
+    -1,   45,  124,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
+    -1,   -1,   -1,   -1,   -1,   -1,   -1,   61,   -1,   -1,
+    -1,   -1,  257,   -1,  259,  260,  261,   -1,   -1,  264,
+   265,  266,  267,  268,   -1,   -1,   -1,   -1,   -1,   -1,
+    -1,  276,  277,   -1,  279,  280,  281,  282,  283,  284,
+   285,  286,  287,  288,  289,  290,  291,  292,  293,  294,
+    -1,  296,  297,  298,   -1,   -1,   -1,   -1,   -1,  304,
+    -1,  306,  307,  308,  309,  310,  311,  312,  313,  314,
+   315,   -1,  126,   33,  319,   -1,   -1,   -1,   -1,   -1,
+    40,  326,  327,   43,   -1,   45,   -1,  257,   -1,  259,
+   260,  261,   -1,   -1,  264,  265,  266,  267,  268,   -1,
+    -1,   61,   -1,   -1,   -1,   -1,  276,  277,   -1,  279,
+   280,  281,  282,  283,  284,  285,  286,  287,  288,  289,
+   290,  291,  292,  293,  294,   -1,  296,  297,  298,   -1,
+    -1,   -1,   -1,   -1,  304,   -1,  306,  307,  308,  309,
+   310,  311,  312,  313,  314,  315,   -1,   -1,   33,  319,
+    -1,   -1,   -1,   -1,   -1,   40,  326,  327,   43,   -1,
+    45,   -1,   -1,   -1,   -1,   -1,  126,  299,  300,  301,
+   302,   -1,   -1,   -1,   -1,   -1,   61,   -1,   -1,   -1,
+    -1,   -1,   -1,   -1,  316,  317,  318,   -1,  320,  321,
+   322,  323,   -1,  325,   -1,   38,   -1,   -1,   41,   -1,
+    -1,   44,   -1,  257,   -1,  259,  260,  261,   -1,   -1,
+   264,  265,  266,  267,  268,   -1,   -1,   -1,   61,   -1,
+    63,   -1,  276,  277,   -1,  279,  280,  281,  282,  283,
+   284,  285,  286,  287,  288,  289,  290,  291,  292,  293,
+   294,  126,  296,  297,  298,   -1,   -1,   -1,   -1,   -1,
+   304,   94,  306,  307,  308,  309,  310,  311,  312,  313,
+   314,  315,   -1,   -1,   -1,  319,   -1,   33,   -1,   -1,
+    -1,   -1,  326,  327,   40,   41,   -1,   43,   -1,   45,
+    -1,  124,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
+    -1,   -1,   -1,   -1,   -1,   -1,   -1,  257,   -1,  259,
+   260,  261,   -1,   -1,  264,  265,  266,  267,  268,   -1,
+    -1,   -1,   -1,   -1,   -1,   -1,  276,  277,   -1,  279,
+   280,  281,  282,  283,  284,  285,  286,  287,  288,  289,
+   290,  291,  292,  293,  294,   -1,  296,  297,  298,   -1,
+    -1,   -1,   -1,   -1,  304,   -1,  306,  307,  308,  309,
+   310,  311,  312,  313,  314,  315,   -1,   -1,   -1,  319,
+   126,   33,   -1,   -1,   -1,   -1,  326,  327,   40,   41,
+    -1,   43,  257,   45,  259,  260,  261,   -1,   -1,  264,
+   265,  266,  267,  268,   -1,   -1,   -1,   -1,   -1,   -1,
+    -1,  276,  277,   -1,  279,  280,  281,  282,  283,  284,
+   285,  286,  287,  288,  289,  290,  291,  292,  293,  294,
+    -1,  296,  297,  298,   -1,   -1,   -1,   -1,   -1,  304,
+    -1,  306,  307,  308,  309,  310,  311,  312,  313,  314,
+   315,   -1,   -1,   -1,  319,   -1,   33,   -1,   -1,   -1,
+    -1,  326,  327,   40,   41,   -1,   43,   -1,   45,   -1,
+    -1,   -1,   -1,   -1,  126,   -1,  299,  300,  301,  302,
+    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
+    -1,   -1,   -1,  316,  317,  318,   -1,  320,  321,  322,
+   323,   -1,  325,   38,   -1,   -1,   -1,   -1,   -1,   44,
+    -1,  257,   -1,  259,  260,  261,   -1,   -1,  264,  265,
+   266,  267,  268,   -1,   -1,   -1,   61,   -1,   63,   -1,
+   276,  277,   -1,  279,  280,  281,  282,  283,  284,  285,
+   286,  287,  288,  289,  290,  291,  292,  293,  294,  126,
+   296,  297,  298,   -1,   -1,   -1,   -1,   -1,  304,   94,
+   306,  307,  308,  309,  310,  311,  312,  313,  314,  315,
+    -1,   -1,   -1,  319,   -1,   33,   -1,   -1,   -1,   -1,
+   326,  327,   40,   41,   -1,   43,   -1,   45,   -1,  124,
+    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
+    -1,   -1,   -1,   -1,   -1,  257,   -1,  259,  260,  261,
+    -1,   -1,  264,  265,  266,  267,  268,   -1,   -1,   -1,
+    -1,   -1,   -1,   -1,  276,  277,   -1,  279,  280,  281,
+   282,  283,  284,  285,  286,  287,  288,  289,  290,  291,
+   292,  293,  294,   -1,  296,  297,  298,   -1,   -1,   -1,
+    -1,   -1,  304,   -1,  306,  307,  308,  309,  310,  311,
+   312,  313,  314,  315,   -1,   -1,   -1,  319,  126,   33,
+    -1,   -1,   -1,   -1,  326,  327,   40,   41,   -1,   43,
+   257,   45,  259,  260,  261,   -1,   -1,  264,  265,  266,
+   267,  268,   -1,   -1,   -1,   -1,   -1,   -1,   -1,  276,
+   277,   -1,  279,  280,  281,  282,  283,  284,  285,  286,
+   287,  288,  289,  290,  291,  292,  293,  294,   -1,  296,
+   297,  298,   -1,   -1,   -1,   -1,   -1,  304,   -1,  306,
+   307,  308,  309,  310,  311,  312,  313,  314,  315,   -1,
+    -1,   -1,  319,   -1,   33,   -1,   -1,   -1,   -1,  326,
+   327,   40,   -1,   -1,   43,   -1,   45,   -1,   -1,   -1,
+    -1,   -1,  126,   -1,  299,  300,  301,  302,   -1,   -1,
+    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
+    -1,  316,  317,  318,   -1,  320,  321,  322,  323,   38,
+   325,   -1,   -1,   -1,   -1,   44,   -1,   -1,   -1,  257,
+    -1,  259,  260,  261,   -1,   -1,  264,  265,  266,  267,
+   268,   -1,   61,   -1,   63,   -1,   -1,   -1,  276,  277,
+    -1,  279,  280,  281,  282,  283,  284,  285,  286,  287,
+   288,  289,  290,  291,  292,  293,  294,  126,  296,  297,
+   298,   -1,   -1,   -1,   -1,   94,  304,   -1,  306,  307,
+   308,  309,  310,  311,  312,  313,  314,  315,   -1,   -1,
+    33,  319,   -1,   -1,   -1,   -1,   -1,   40,  326,  327,
+    43,   -1,   45,   -1,   -1,  124,   -1,   -1,   -1,   -1,
+    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
+    -1,   -1,   -1,  257,   -1,  259,  260,  261,   -1,   -1,
+   264,  265,  266,  267,  268,   -1,   -1,   -1,   -1,   -1,
+    -1,   -1,  276,  277,   -1,  279,  280,  281,  282,  283,
+   284,  285,  286,  287,  288,  289,  290,  291,  292,  293,
+   294,   -1,  296,  297,  298,   -1,   -1,   -1,   -1,   -1,
+   304,   -1,  306,  307,  308,  309,  310,  311,  312,  313,
+   314,  315,   -1,  126,   33,  319,   -1,   -1,   -1,   -1,
+    -1,   40,  326,  327,   43,   -1,   45,   -1,  257,   -1,
+   259,  260,  261,   -1,   -1,  264,  265,  266,  267,  268,
+    -1,   -1,   -1,   -1,   -1,   -1,   -1,  276,  277,   -1,
+   279,  280,  281,  282,  283,  284,  285,  286,  287,  288,
+   289,  290,  291,  292,  293,  294,   -1,  296,  297,  298,
+    -1,   -1,   -1,   -1,   -1,  304,   -1,  306,  307,  308,
+   309,  310,  311,  312,  313,  314,  315,   -1,   -1,   33,
+   319,   -1,   -1,   -1,   -1,   -1,   40,  326,  327,   43,
+    -1,   45,   -1,   -1,   -1,   -1,   -1,  126,   -1,   -1,
+   299,  300,  301,  302,   -1,   -1,   -1,   -1,   -1,   -1,
+    -1,   -1,   -1,   -1,   -1,   -1,   -1,  316,  317,  318,
+    -1,  320,  321,  322,  323,   -1,  325,   -1,   -1,   -1,
+    -1,   -1,   -1,   -1,  257,   -1,  259,  260,  261,   -1,
+    -1,  264,  265,  266,  267,  268,   -1,   -1,   -1,   -1,
+    -1,   -1,   -1,  276,  277,   -1,  279,  280,  281,  282,
+   283,  284,  285,  286,  287,  288,  289,  290,  291,  292,
+   293,  294,  126,  296,  297,  298,   -1,   -1,   -1,   -1,
+    -1,  304,   -1,  306,  307,  308,  309,  310,  311,  312,
+   313,  314,  315,   -1,   -1,   33,  319,   -1,   -1,   -1,
+    -1,   -1,   40,  326,  327,   43,   -1,   45,   -1,   -1,
+    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
+    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,  257,   -1,
+   259,  260,  261,   -1,   -1,  264,  265,  266,  267,  268,
+    -1,   -1,   -1,   -1,   -1,   -1,   -1,  276,  277,   -1,
+   279,  280,  281,  282,  283,  284,  285,  286,  287,  288,
+   289,  290,  291,  292,  293,  294,   -1,  296,  297,  298,
+    -1,   -1,   -1,   -1,   -1,  304,   -1,  306,  307,  308,
+   309,  310,  311,  312,  313,  314,  315,   -1,  126,   -1,
+   319,   -1,   -1,   -1,   -1,   -1,   -1,  326,  327,   -1,
+    -1,   -1,   -1,  257,   -1,  259,  260,  261,   -1,   -1,
+   264,  265,  266,  267,  268,   -1,   -1,   -1,   -1,   -1,
+    -1,   -1,  276,  277,   -1,  279,  280,  281,  282,  283,
+   284,  285,  286,  287,  288,  289,  290,  291,  292,  293,
+   294,   -1,  296,  297,  298,   -1,   -1,   -1,   -1,   -1,
+   304,   -1,  306,  307,  308,  309,  310,  311,  312,  313,
+   314,  315,   -1,   -1,   -1,  319,   -1,   -1,   -1,   -1,
+    -1,   -1,  326,  327,   -1,   -1,   38,   -1,   -1,   41,
+    -1,   -1,   44,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
+    -1,   -1,   -1,   -1,   -1,   -1,   58,   59,   -1,   61,
+    -1,   63,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
+    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,  257,
+    -1,  259,  260,  261,   -1,   -1,  264,  265,  266,  267,
+   268,   93,   94,   -1,   -1,   -1,   -1,   -1,  276,  277,
+    -1,  279,  280,  281,  282,  283,  284,  285,  286,  287,
+   288,  289,  290,  291,  292,  293,  294,   -1,  296,  297,
+   298,   -1,  124,  125,   -1,   -1,  304,   -1,  306,  307,
+   308,  309,  310,  311,  312,  313,  314,  315,   -1,   38,
+    -1,  319,   41,   -1,   -1,   44,   -1,   -1,  326,  327,
+    -1,   38,   -1,   -1,   41,   -1,   -1,   44,   -1,   58,
+    59,   -1,   61,   41,   63,   -1,   44,   -1,   -1,   -1,
+    -1,   58,   59,   -1,   61,   -1,   63,   -1,   -1,   -1,
+    58,   59,   -1,   61,   -1,   63,   -1,   -1,   -1,   -1,
+    -1,   -1,   -1,   -1,   93,   94,   -1,   -1,   -1,   -1,
+    -1,   -1,   -1,   -1,   -1,   -1,   93,   94,   -1,   -1,
+    -1,   -1,   -1,   -1,   -1,   93,   -1,   -1,   -1,   -1,
+    -1,   38,   -1,   -1,   41,  124,  125,   44,   -1,   -1,
+    -1,   -1,   -1,   41,   -1,   -1,   44,  124,  125,   -1,
+    -1,   58,   59,   -1,   61,   -1,   63,  125,   -1,   -1,
+    58,   59,   -1,   61,   -1,   -1,   -1,   -1,   -1,   -1,
+    -1,   -1,   -1,   -1,   -1,   -1,   -1,  269,  270,  271,
+   272,   -1,   -1,   -1,   -1,   -1,   93,   94,   -1,   -1,
+    -1,   38,   -1,   -1,   41,   93,   -1,   44,   -1,   -1,
+    -1,   -1,   -1,   -1,   -1,   -1,   -1,  299,  300,  301,
+   302,   58,   59,   -1,   61,   -1,   63,  124,  125,   -1,
+    -1,   -1,   -1,   -1,  316,  317,  318,  125,  320,  321,
+   322,  323,   -1,  325,  326,  327,   -1,   -1,   -1,   -1,
+    -1,   -1,   -1,   -1,   -1,   -1,   93,   94,   -1,   -1,
+    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
+    -1,   -1,   -1,   -1,   -1,   38,   -1,   -1,   41,   -1,
+    -1,   44,   -1,   -1,   -1,   -1,   -1,  124,  125,   -1,
+   269,  270,  271,  272,   -1,   58,   59,   -1,   61,   -1,
+    63,   -1,  269,  270,  271,  272,   -1,   -1,   -1,   -1,
+    -1,  269,  270,  271,  272,   -1,   -1,   -1,   -1,   -1,
+   299,  300,  301,  302,   -1,   -1,   -1,   -1,   -1,   -1,
+    93,   94,  299,  300,  301,  302,   -1,  316,  317,  318,
+    -1,  320,  321,  322,  323,   -1,  325,  326,  327,  316,
+   317,  318,   -1,  320,  321,  322,  323,   -1,  325,  326,
+   327,  124,  125,   -1,   -1,   -1,   -1,   -1,  326,  327,
+    -1,   -1,  269,  270,  271,  272,   -1,   -1,   -1,   -1,
+    -1,  269,  270,  271,  272,   -1,   38,   -1,   -1,   41,
+    -1,   -1,   44,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
+    -1,   -1,  299,  300,  301,  302,   58,   59,   -1,   61,
+    -1,   63,   -1,   -1,   -1,   -1,   -1,   -1,   -1,  316,
+   317,  318,   -1,  320,  321,  322,  323,   -1,  325,  326,
+   327,   -1,  269,  270,  271,  272,   -1,   -1,  326,  327,
+    -1,   93,   94,   -1,   -1,   -1,   38,   -1,   -1,   41,
+    -1,   -1,   44,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
+    -1,   -1,  299,  300,  301,  302,   58,   59,   -1,   61,
+    -1,   63,  124,  125,   -1,   -1,   -1,   -1,   -1,  316,
+   317,  318,   -1,  320,  321,  322,  323,   -1,  325,  326,
+   327,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
+    -1,   93,   94,   -1,   -1,   -1,  269,  270,  271,  272,
+    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
+    38,   -1,   -1,   41,   -1,   -1,   44,   -1,   -1,   -1,
+    -1,   41,  124,  125,   44,   -1,  299,  300,  301,  302,
+    58,   59,   -1,   61,   -1,   63,   -1,   -1,   58,   59,
+    -1,   -1,   -1,  316,  317,  318,   -1,  320,  321,  322,
+   323,   -1,  325,  326,  327,   -1,   -1,   -1,   -1,   -1,
+    -1,   -1,   -1,   -1,   -1,   93,   94,   -1,   -1,   -1,
+    -1,   -1,   -1,   93,   -1,   -1,   -1,   -1,   -1,   -1,
+    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
+    -1,   -1,   38,   -1,   -1,   41,  124,  125,   44,   -1,
+    -1,   41,   -1,   -1,   44,  125,   -1,  269,  270,  271,
+   272,   -1,   58,   59,   -1,   61,   -1,   63,   58,   59,
+    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
+    -1,   -1,   -1,   -1,   -1,   -1,   -1,  299,  300,  301,
+   302,   -1,   -1,   -1,   -1,   -1,   -1,   93,   94,   -1,
+    -1,   -1,   -1,   93,  316,  317,  318,   -1,  320,  321,
+   322,  323,   -1,  325,  326,  327,   -1,  269,  270,  271,
+   272,   38,   -1,   -1,   41,   -1,   -1,   44,  124,  125,
+    -1,   -1,   -1,   38,   -1,  125,   41,   -1,   -1,   44,
+    -1,   58,   59,   -1,   61,   -1,   63,  299,  300,  301,
+   302,   -1,   -1,   58,   59,   -1,   61,   -1,   63,   -1,
+    -1,   -1,   -1,   -1,  316,  317,  318,   -1,  320,  321,
+   322,  323,   -1,  325,  326,  327,   93,   94,   -1,   -1,
+    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   93,   94,
+    -1,  269,  270,  271,  272,   -1,   -1,   -1,   -1,  269,
+   270,  271,  272,   -1,   -1,   -1,   38,  124,  125,   41,
+    -1,   -1,   -1,   -1,   -1,   41,   -1,   -1,   44,  124,
+   125,  299,  300,  301,  302,   -1,   58,   59,   -1,   61,
+    -1,   63,   58,   59,   -1,   -1,   -1,   -1,  316,  317,
+   318,   -1,  320,  321,  322,  323,   -1,  325,  326,  327,
+    -1,   -1,   -1,   -1,   -1,   -1,  326,  327,   -1,   -1,
+    -1,   93,   94,   -1,   -1,   -1,   -1,   93,   -1,   -1,
+    -1,   -1,   -1,  269,  270,  271,  272,   -1,   -1,  269,
+   270,  271,  272,   -1,   -1,   -1,   -1,   38,   -1,   -1,
+    41,   -1,  124,  125,   -1,   -1,   -1,   -1,   -1,  125,
+    -1,   -1,   -1,  299,  300,  301,  302,   58,   59,   -1,
+    61,   -1,   63,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
+   316,  317,  318,   -1,  320,  321,  322,  323,   -1,  325,
+   326,  327,   -1,   -1,   -1,   -1,  326,  327,   -1,   -1,
+    -1,   -1,   93,   94,   -1,   -1,   -1,   -1,   -1,   -1,
+    -1,   -1,  269,  270,  271,  272,   -1,   -1,   -1,   -1,
+    -1,   -1,   -1,   -1,  269,  270,  271,  272,   38,   -1,
+    -1,   41,   -1,  124,  125,   -1,   -1,   -1,   -1,   -1,
+    -1,   -1,  299,  300,  301,  302,   -1,   -1,   58,   59,
+    -1,   61,   -1,   63,  299,  300,  301,  302,   -1,  316,
+   317,  318,   -1,  320,  321,  322,  323,   -1,  325,  326,
+   327,  316,  317,  318,   -1,  320,  321,  322,  323,   -1,
+   325,  326,  327,   93,   94,   -1,   -1,   38,   -1,   -1,
+    41,   -1,   -1,   44,   -1,   -1,   -1,  269,  270,  271,
+   272,   -1,   -1,  269,  270,  271,  272,   58,   59,   -1,
+    61,   -1,   63,   -1,  124,  125,   -1,   -1,   -1,   -1,
+    -1,   -1,   -1,   -1,   -1,   -1,   -1,  299,  300,  301,
+   302,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
+    -1,   -1,   93,   94,  316,  317,  318,   -1,  320,  321,
+   322,  323,   -1,  325,  326,  327,   -1,   -1,   -1,   -1,
+   326,  327,   38,   -1,   -1,   41,   -1,   -1,   44,   -1,
+    -1,   -1,   -1,  124,  125,   -1,   -1,   -1,  269,  270,
+   271,  272,   58,   59,   -1,   61,   -1,   63,   -1,   -1,
+    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   38,
+    -1,   -1,   41,   -1,   -1,   44,   -1,   -1,  299,  300,
+   301,  302,   -1,   -1,   -1,   -1,   -1,   93,   94,   58,
+    59,   -1,   61,   -1,   63,  316,  317,  318,   -1,  320,
+   321,  322,  323,   -1,  325,  326,  327,   -1,   -1,   -1,
+    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,  124,  125,
+    -1,   -1,   -1,   -1,   93,   94,   -1,   -1,   -1,  269,
+   270,  271,  272,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
+    -1,   -1,   -1,   38,   -1,   -1,   41,   -1,   -1,   44,
+    -1,   -1,   -1,   -1,   -1,  124,  125,   -1,   -1,  299,
+   300,  301,  302,   58,   59,   -1,   61,   -1,   63,   -1,
+    -1,   -1,   -1,   -1,   -1,   -1,  316,  317,  318,   -1,
+   320,  321,  322,  323,   -1,  325,  326,  327,  269,  270,
+   271,  272,   -1,   -1,   -1,   -1,   -1,   -1,   93,   94,
+    -1,   -1,   38,   -1,   -1,   41,   -1,   -1,   44,   -1,
+    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,  299,  300,
+   301,  302,   58,   59,   -1,   61,   -1,   63,   -1,  124,
+   125,   -1,   -1,   -1,   -1,  316,  317,  318,   -1,  320,
+   321,  322,  323,   -1,   -1,  326,  327,   -1,   -1,   -1,
+    -1,   -1,   -1,   -1,   -1,   -1,   -1,   93,   94,   -1,
+    -1,   -1,   -1,  269,  270,  271,  272,   -1,   -1,   -1,
+    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
+    -1,   -1,   -1,   -1,   38,   -1,   -1,   41,  124,  125,
+    44,   -1,   -1,  299,  300,  301,  302,   -1,   -1,   -1,
+   269,  270,  271,  272,   58,   59,   -1,   61,   -1,   63,
+   316,  317,  318,   -1,  320,  321,  322,  323,   -1,   -1,
+   326,  327,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
+   299,  300,  301,  302,   -1,   -1,   -1,   -1,   -1,   93,
+    94,   -1,   -1,   -1,   -1,   -1,   -1,  316,  317,  318,
+    -1,  320,  321,  322,  323,   -1,   -1,  326,  327,   38,
+    -1,   -1,   41,   -1,   -1,   44,   -1,   -1,   -1,   -1,
+   124,  125,   -1,   -1,  269,  270,  271,  272,   -1,   58,
+    59,   -1,   61,   -1,   63,   -1,   -1,   -1,   -1,   -1,
+    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
+    -1,   -1,   -1,   -1,  299,  300,  301,  302,   -1,   -1,
+    -1,   -1,   -1,   -1,   93,   94,   -1,   -1,   -1,   -1,
+    -1,  316,  317,  318,   -1,  320,  321,   -1,   -1,   -1,
+    -1,  326,  327,  269,  270,  271,  272,   38,   -1,   -1,
+    41,   -1,   -1,   44,   -1,  124,  125,   -1,   -1,   38,
+    -1,   -1,   41,   -1,   -1,   44,   -1,   58,   59,   -1,
+    61,   -1,   63,  299,  300,   -1,  302,   -1,   -1,   58,
+    59,   -1,   61,   -1,   63,   -1,   -1,   -1,   -1,   -1,
+   316,  317,  318,   -1,  320,  321,   -1,   -1,   -1,   -1,
+   326,  327,   93,   94,   -1,   -1,   -1,   -1,   -1,   -1,
+    -1,   -1,   -1,   -1,   93,   94,   -1,   -1,   -1,   -1,
+    -1,   -1,   -1,   -1,   -1,  269,  270,  271,  272,   38,
+    -1,   -1,   41,  124,  125,   44,   -1,   -1,   -1,   -1,
+    -1,   38,   -1,   -1,   41,  124,  125,   44,   -1,   58,
+    59,   -1,   61,   -1,   63,  299,  300,   -1,   -1,   -1,
+    -1,   58,   59,   -1,   61,   -1,   63,   -1,   -1,   -1,
+    -1,   -1,  316,  317,  318,   -1,  320,  321,   -1,   -1,
+    -1,   -1,  326,  327,   93,   94,   -1,   -1,   -1,   -1,
+    -1,   -1,   -1,   -1,   -1,   -1,   93,   94,   38,   -1,
+   269,  270,  271,  272,   -1,   -1,   -1,   -1,   -1,   -1,
+    -1,   -1,   -1,   -1,   38,  124,  125,   41,   -1,   -1,
+    44,   61,   -1,   63,   -1,   -1,   -1,  124,  125,   -1,
+   299,  300,   -1,   -1,   58,   59,   -1,   61,   -1,   63,
+    -1,   -1,   -1,   -1,   -1,   -1,   -1,  316,  317,  318,
+    -1,  320,  321,   -1,   94,   -1,   -1,  326,  327,   -1,
+    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   93,
+    94,   -1,   -1,   -1,   -1,   -1,   -1,   -1,  269,  270,
+   271,  272,   -1,   -1,  124,   -1,   -1,   -1,   -1,   -1,
+   269,  270,  271,  272,   -1,   -1,   -1,   -1,   -1,   41,
+   124,  125,   44,   -1,   -1,   -1,   -1,   -1,  299,  300,
+    -1,   -1,   -1,   -1,   -1,   -1,   58,   59,   -1,   -1,
+   299,  300,   -1,   -1,   -1,  316,  317,  318,   -1,   -1,
+    -1,   -1,   -1,   -1,   -1,  326,  327,  316,  317,  318,
+    -1,   -1,   -1,   -1,   -1,   -1,   38,  326,  327,   41,
+    -1,   93,   44,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
+   269,  270,  271,  272,   -1,   -1,   58,   59,   -1,   61,
+    -1,   63,  269,  270,  271,  272,   -1,   -1,   -1,   -1,
+    -1,   -1,   -1,  125,   -1,   -1,   -1,   -1,   -1,   -1,
+   299,  300,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
+    -1,   93,   94,  300,   -1,   -1,   -1,  316,  317,  318,
+    -1,   -1,   -1,   -1,   -1,   -1,   -1,  326,  327,  316,
+   317,  318,   -1,   -1,   -1,   -1,   -1,   -1,   -1,  326,
+   327,   38,  124,  125,   41,   -1,   -1,   44,   -1,   -1,
+    -1,   -1,   -1,   -1,   -1,  269,  270,  271,  272,   -1,
+    -1,   58,   59,   -1,   61,   -1,   63,   -1,   -1,  299,
+   300,  301,  302,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
+    -1,   41,   -1,   -1,   44,   -1,  316,  317,  318,   -1,
+   320,  321,  322,  323,   -1,  325,   93,   94,   58,   59,
+    -1,   -1,  316,  317,  318,   -1,   -1,   -1,   -1,   -1,
+    -1,   38,  326,  327,   41,   -1,   -1,   44,   -1,   -1,
+    -1,   -1,   -1,   38,   -1,   -1,   41,  124,  125,   44,
+    -1,   58,   59,   93,   61,   -1,   63,  269,  270,  271,
+   272,   -1,   -1,   58,   59,   -1,   61,   -1,   63,   -1,
+    -1,   -1,   -1,   -1,  212,   -1,   -1,   -1,   -1,   -1,
+    -1,   -1,   -1,  221,  222,  125,   93,   94,   -1,   -1,
+    -1,  229,  230,  231,  232,   -1,  234,   -1,   93,   94,
+    -1,   -1,   -1,   -1,   -1,   -1,   -1,  269,  270,  271,
+   272,   -1,   -1,   38,  326,  327,   41,  124,  125,   44,
+    -1,   -1,   -1,   -1,   -1,   38,   -1,   -1,   41,  124,
+   125,   44,   -1,   58,   59,   -1,   61,   -1,   63,   -1,
+    -1,   -1,   -1,   -1,   -1,   58,   59,   -1,   61,  287,
+    63,   -1,   -1,   -1,  316,  317,  318,   -1,   -1,   -1,
+    -1,   -1,   -1,  301,  326,  327,   -1,   -1,   93,   94,
+    -1,  309,   -1,   -1,   -1,   -1,   -1,   -1,  316,  317,
+    93,   94,   38,   -1,   -1,   41,   -1,   -1,   44,   -1,
+    -1,   -1,  269,  270,  271,  272,   -1,   -1,   -1,  124,
+   125,   -1,   58,   59,   -1,   61,   -1,   63,   -1,   -1,
+   348,  124,  125,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
+    -1,   -1,  299,  300,  301,  302,   -1,  365,   -1,  269,
+   270,  271,  272,  371,   -1,   -1,   -1,   93,   94,  316,
+   317,  318,   -1,  320,  321,  322,  323,   -1,  325,   -1,
+   388,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
+    -1,   -1,  269,  270,  271,  272,   -1,   -1,  124,  125,
+    -1,   -1,   -1,   -1,  269,  270,  271,  272,   38,   -1,
+    -1,   41,   -1,   -1,   44,   -1,  326,  327,   -1,   -1,
+    -1,   -1,  299,  300,  301,  302,   -1,   -1,   58,   59,
+    -1,   61,   -1,   63,  299,  300,  301,  302,   -1,  316,
+   317,  318,   -1,  320,  321,  322,  323,   -1,  325,   -1,
+    -1,  316,  317,  318,   -1,  320,  321,  322,  323,   -1,
+   325,   -1,   -1,   93,   94,   -1,   -1,   -1,   -1,   -1,
+    -1,   -1,   -1,   -1,  269,  270,  271,  272,   -1,   -1,
+    -1,   -1,   -1,   -1,   -1,   -1,  269,  270,  271,  272,
+    -1,   33,   -1,   -1,  124,  125,   -1,   -1,   40,   -1,
+    -1,   43,   -1,   45,  299,  300,  301,  302,   -1,   -1,
+    -1,   -1,   -1,   -1,   -1,   -1,  299,  300,  301,  302,
+    -1,  316,  317,  318,   -1,  320,  321,  322,  323,   -1,
+   325,   -1,   -1,  316,  317,  318,   -1,  320,  321,  322,
+   323,   -1,  325,  269,  270,  271,  272,   38,   -1,   91,
+    41,   -1,   -1,   44,   -1,   -1,   -1,   38,   -1,   -1,
+    41,   -1,   -1,   44,   -1,   -1,   -1,   58,   59,   -1,
+    61,   -1,   63,  299,  300,  301,  302,   58,   59,   -1,
+    61,  123,   63,   -1,  126,   -1,   -1,   -1,   -1,   -1,
+   316,  317,  318,   -1,  320,  321,  322,  323,   -1,  325,
+    -1,   -1,   93,   94,   -1,   -1,   -1,   -1,   -1,   -1,
+    -1,   -1,   93,   94,   -1,   -1,   -1,   -1,   -1,   -1,
+    -1,   -1,   -1,   -1,   -1,   38,   -1,   -1,   41,   -1,
+    -1,   44,   -1,  124,  125,   -1,   -1,   -1,   -1,  269,
+   270,  271,  272,  124,  125,   58,   59,   -1,   61,   -1,
+    63,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
+    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,  299,
+   300,  301,  302,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
+    93,   94,   -1,   -1,   -1,   -1,  316,  317,  318,   -1,
+   320,  321,  322,  323,   -1,  325,   -1,   -1,   -1,   -1,
+    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
+    -1,  124,  125,   -1,   -1,  257,   -1,  259,  260,  261,
+    -1,   -1,  264,  265,  266,  267,  268,   -1,   -1,   -1,
+    -1,   -1,   -1,   -1,  276,  277,   -1,  279,  280,  281,
+   282,  283,  284,  285,  286,  287,  288,  289,  290,  291,
+   292,  293,  294,   -1,  296,  297,  298,   -1,   -1,   -1,
+    -1,   -1,  304,   -1,  306,  307,  308,  309,  310,  311,
+   312,  313,  314,  315,   -1,   -1,   -1,  319,  269,  270,
+   271,  272,   -1,   -1,   -1,   -1,   -1,   -1,  269,  270,
+   271,  272,   -1,   -1,   -1,   41,   -1,   -1,   44,   -1,
+    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,  299,  300,
+   301,  302,   58,   59,   -1,   61,   -1,   63,  299,  300,
+   301,  302,   -1,   -1,   -1,  316,  317,  318,   -1,  320,
+   321,  322,  323,   -1,  325,  316,  317,  318,   -1,  320,
+   321,  322,  323,   -1,  325,   -1,   41,   93,   94,   44,
+    -1,   -1,   -1,   -1,   -1,   -1,  269,  270,  271,  272,
+    -1,   -1,   -1,   58,   59,   -1,   61,   -1,   63,   -1,
+    -1,   -1,   -1,   41,   -1,   -1,   44,   -1,  124,  125,
+    -1,   -1,   -1,   -1,   -1,   -1,  299,  300,  301,  302,
+    58,   59,   -1,   61,   -1,   63,   -1,   41,   93,   94,
+    44,   -1,   -1,  316,  317,  318,   -1,  320,  321,  322,
+   323,   -1,  325,   -1,   58,   59,   -1,   61,   -1,   63,
+    -1,   -1,   -1,   41,   -1,   93,   44,   -1,   -1,  124,
+   125,   -1,   -1,   41,   -1,   -1,   44,   -1,   -1,   -1,
+    58,   59,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   93,
+    58,   59,   -1,   -1,   -1,   -1,   41,  125,   -1,   44,
+    41,   -1,   -1,   44,   -1,   -1,   41,   -1,   -1,   44,
+    -1,   -1,   -1,   58,   59,   93,   41,   58,   59,   44,
+    -1,  125,   -1,   58,   59,   93,   -1,   -1,   -1,   -1,
+    -1,   -1,   -1,   58,   59,   -1,   -1,   -1,   -1,   -1,
+    -1,   -1,   -1,   -1,   -1,   -1,   -1,  125,   93,   -1,
+    -1,   -1,   93,   -1,   -1,   -1,   -1,  125,   93,   -1,
+    -1,   -1,   -1,  269,  270,  271,  272,   -1,   93,   -1,
+    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
+   125,   -1,   -1,   -1,  125,   -1,   -1,   -1,   -1,   -1,
+   125,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
+   125,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
+   316,  317,  318,   -1,  269,  270,  271,  272,   -1,   -1,
+   326,  327,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
+    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
+    -1,  269,  270,  271,  272,   -1,   -1,   -1,   -1,   -1,
+    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
+    -1,  316,  317,  318,   -1,  269,  270,  271,  272,   -1,
+    -1,  326,  327,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
+    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,  316,  317,
+   318,  269,  270,  271,  272,   -1,   -1,   -1,  326,  327,
+    -1,  269,  270,  271,  272,   -1,   -1,   -1,   -1,   -1,
+    -1,   -1,  316,  317,   -1,   -1,   -1,   -1,   -1,   -1,
+    -1,   -1,  326,  327,  269,  270,  271,  272,  269,  270,
+   271,  272,   -1,   -1,  269,  270,  271,  272,   -1,   -1,
+    -1,   -1,   -1,   -1,  269,  270,  271,  272,  326,  327,
+    -1,   -1,   -1,   -1,   66,   -1,   -1,   -1,  326,  327,
+    72,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
+    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
+    -1,  326,  327,   -1,   -1,  326,  327,   -1,   -1,   -1,
+    -1,  326,  327,   -1,  106,   -1,  108,   -1,  110,   -1,
+   112,  326,  327,  115,   -1,  117,   -1,   -1,   -1,   -1,
+    -1,   -1,   -1,   -1,   -1,  127,   -1,   -1,   -1,   -1,
+    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,  141,
+    -1,   -1,   -1,  145,  146,  147,  148,  149,  150,   -1,
+    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
+    -1,   -1,   -1,   -1,   -1,  167,  168,  169,  170,   -1,
+    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
+    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
+    -1,   -1,   -1,   -1,   -1,   -1,  198,  199,   -1,   -1,
+    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
+    -1,   -1,  214,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
+    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
+    -1,   -1,   -1,   -1,   -1,  237,  238,  239,   -1,   -1,
+    -1,   -1,   -1,   -1,  246,   -1,   -1,   -1,   -1,  251,
+    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
+    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
+    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
+    -1,   -1,  284,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
+    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
+    -1,   -1,  304,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
+    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
+    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
+    -1,  333,
+ };
+ #define YYFINAL 1
+ #ifndef YYDEBUG
+ #define YYDEBUG 0
+ #endif
+ #define YYMAXTOKEN 327
+ #if YYDEBUG
+ const char * const yyname[] = {
+ "end-of-file",0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+ "'!'",0,0,0,0,"'&'",0,"'('","')'",0,"'+'","','","'-'",0,0,0,0,0,0,0,0,0,0,0,0,
+ "':'","';'",0,"'='",0,"'?'",0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+ 0,"'['",0,"']'","'^'",0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+ "'{'","'|'","'}'","'~'",0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,"WORD","APPEND","OPEN","SSELECT",
+ "LOOPEX","USING","FORMAT","DO","SHIFT","PUSH","POP","LVALFUN","WHILE","UNTIL",
+ "IF","UNLESS","ELSE","ELSIF","CONTINUE","SPLIT","FLIST","FOR","FILOP","FILOP2",
+ "FILOP3","FILOP4","FILOP22","FILOP25","FUNC0","FUNC1","FUNC2","FUNC2x","FUNC3",
+ "FUNC4","FUNC5","HSHFUN","HSHFUN3","FLIST2","SUB","FILETEST","LOCAL","DELETE",
+ "RELOP","EQOP","MULOP","ADDOP","PACKAGE","AMPER","FORMLIST","REG","ARYLEN",
+ "ARY","HSH","STAR","SUBST","PATTERN","RSTRING","TRANS","LISTOP","DOTDOT","OROR",
+ "ANDAND","UNIOP","LS","RS","MATCH","NMATCH","UMINUS","POW","INC","DEC",
+ };
+ const char * const yyrule[] = {
+ "$accept : prog",
+ "$$1 :",
+ "prog : $$1 lineseq",
+ "compblock : block CONTINUE block",
+ "compblock : block else",
+ "else :",
+ "else : ELSE block",
+ "else : ELSIF '(' expr ')' compblock",
+ "block : '{' remember lineseq '}'",
+ "remember :",
+ "lineseq :",
+ "lineseq : lineseq line",
+ "line : decl",
+ "line : label cond",
+ "line : loop",
+ "line : label ';'",
+ "line : label sideff ';'",
+ "sideff : error",
+ "sideff : expr",
+ "sideff : expr IF expr",
+ "sideff : expr UNLESS expr",
+ "sideff : expr WHILE expr",
+ "sideff : expr UNTIL expr",
+ "cond : IF '(' expr ')' compblock",
+ "cond : UNLESS '(' expr ')' compblock",
+ "cond : IF block compblock",
+ "cond : UNLESS block compblock",
+ "loop : label WHILE '(' texpr ')' compblock",
+ "loop : label UNTIL '(' expr ')' compblock",
+ "loop : label WHILE block compblock",
+ "loop : label UNTIL block compblock",
+ "loop : label FOR REG '(' expr ')' compblock",
+ "loop : label FOR '(' expr ')' compblock",
+ "loop : label FOR '(' nexpr ';' texpr ';' nexpr ')' block",
+ "loop : label compblock",
+ "nexpr :",
+ "nexpr : sideff",
+ "texpr :",
+ "texpr : expr",
+ "label :",
+ "label : WORD ':'",
+ "decl : format",
+ "decl : subrout",
+ "decl : package",
+ "format : FORMAT WORD '=' FORMLIST",
+ "format : FORMAT '=' FORMLIST",
+ "subrout : SUB WORD block",
+ "package : PACKAGE WORD ';'",
+ "cexpr : ',' expr",
+ "expr : expr ',' sexpr",
+ "expr : sexpr",
+ "csexpr : ',' sexpr",
+ "sexpr : sexpr '=' sexpr",
+ "sexpr : sexpr POW '=' sexpr",
+ "sexpr : sexpr MULOP '=' sexpr",
+ "sexpr : sexpr ADDOP '=' sexpr",
+ "sexpr : sexpr LS '=' sexpr",
+ "sexpr : sexpr RS '=' sexpr",
+ "sexpr : sexpr '&' '=' sexpr",
+ "sexpr : sexpr '^' '=' sexpr",
+ "sexpr : sexpr '|' '=' sexpr",
+ "sexpr : sexpr POW sexpr",
+ "sexpr : sexpr MULOP sexpr",
+ "sexpr : sexpr ADDOP sexpr",
+ "sexpr : sexpr LS sexpr",
+ "sexpr : sexpr RS sexpr",
+ "sexpr : sexpr RELOP sexpr",
+ "sexpr : sexpr EQOP sexpr",
+ "sexpr : sexpr '&' sexpr",
+ "sexpr : sexpr '^' sexpr",
+ "sexpr : sexpr '|' sexpr",
+ "sexpr : sexpr DOTDOT sexpr",
+ "sexpr : sexpr ANDAND sexpr",
+ "sexpr : sexpr OROR sexpr",
+ "sexpr : sexpr '?' sexpr ':' sexpr",
+ "sexpr : sexpr MATCH sexpr",
+ "sexpr : sexpr NMATCH sexpr",
+ "sexpr : term",
+ "term : '-' term",
+ "term : '+' term",
+ "term : '!' term",
+ "term : '~' term",
+ "term : term INC",
+ "term : term DEC",
+ "term : INC term",
+ "term : DEC term",
+ "term : FILETEST WORD",
+ "term : FILETEST sexpr",
+ "term : FILETEST",
+ "term : LOCAL '(' expr ')'",
+ "term : '(' expr ',' ')'",
+ "term : '(' expr ')'",
+ "term : '(' ')'",
+ "term : DO sexpr",
+ "term : DO block",
+ "term : REG",
+ "term : STAR",
+ "term : REG '[' expr ']'",
+ "term : HSH",
+ "term : ARY",
+ "term : REG '{' expr '}'",
+ "term : '(' expr ')' '[' expr ']'",
+ "term : '(' ')' '[' expr ']'",
+ "term : ARY '[' expr ']'",
+ "term : ARY '{' expr '}'",
+ "term : DELETE REG '{' expr '}'",
+ "term : ARYLEN",
+ "term : RSTRING",
+ "term : PATTERN",
+ "term : SUBST",
+ "term : TRANS",
+ "term : DO WORD '(' expr ')'",
+ "term : AMPER WORD '(' expr ')'",
+ "term : DO WORD '(' ')'",
+ "term : AMPER WORD '(' ')'",
+ "term : AMPER WORD",
+ "term : DO REG '(' expr ')'",
+ "term : AMPER REG '(' expr ')'",
+ "term : DO REG '(' ')'",
+ "term : AMPER REG '(' ')'",
+ "term : AMPER REG",
+ "term : LOOPEX",
+ "term : LOOPEX WORD",
+ "term : UNIOP",
+ "term : UNIOP sexpr",
+ "term : SSELECT",
+ "term : SSELECT '(' handle ')'",
+ "term : SSELECT '(' sexpr csexpr csexpr csexpr ')'",
+ "term : OPEN WORD",
+ "term : OPEN '(' WORD ')'",
+ "term : OPEN '(' handle cexpr ')'",
+ "term : FILOP '(' handle ')'",
+ "term : FILOP WORD",
+ "term : FILOP REG",
+ "term : FILOP '(' ')'",
+ "term : FILOP",
+ "term : FILOP2 '(' handle cexpr ')'",
+ "term : FILOP3 '(' handle csexpr cexpr ')'",
+ "term : FILOP22 '(' handle ',' handle ')'",
+ "term : FILOP4 '(' handle csexpr csexpr cexpr ')'",
+ "term : FILOP25 '(' handle ',' handle csexpr csexpr cexpr ')'",
+ "term : PUSH '(' aryword cexpr ')'",
+ "term : POP aryword",
+ "term : POP '(' aryword ')'",
+ "term : SHIFT aryword",
+ "term : SHIFT '(' aryword ')'",
+ "term : SHIFT",
+ "term : SPLIT",
+ "term : SPLIT '(' sexpr csexpr csexpr ')'",
+ "term : SPLIT '(' sexpr csexpr ')'",
+ "term : SPLIT '(' sexpr ')'",
+ "term : FLIST2 '(' sexpr cexpr ')'",
+ "term : FLIST '(' expr ')'",
+ "term : LVALFUN sexpr",
+ "term : LVALFUN",
+ "term : FUNC0",
+ "term : FUNC0 '(' ')'",
+ "term : FUNC1 '(' ')'",
+ "term : FUNC1 '(' expr ')'",
+ "term : FUNC2 '(' sexpr cexpr ')'",
+ "term : FUNC2x '(' sexpr csexpr ')'",
+ "term : FUNC2x '(' sexpr csexpr cexpr ')'",
+ "term : FUNC3 '(' sexpr csexpr cexpr ')'",
+ "term : FUNC4 '(' sexpr csexpr csexpr cexpr ')'",
+ "term : FUNC5 '(' sexpr csexpr csexpr csexpr cexpr ')'",
+ "term : HSHFUN '(' hshword ')'",
+ "term : HSHFUN hshword",
+ "term : HSHFUN3 '(' hshword csexpr cexpr ')'",
+ "term : bareword",
+ "term : listop",
+ "listop : LISTOP",
+ "listop : LISTOP expr",
+ "listop : LISTOP WORD",
+ "listop : LISTOP WORD expr",
+ "listop : LISTOP REG expr",
+ "handle : WORD",
+ "handle : sexpr",
+ "aryword : WORD",
+ "aryword : ARY",
+ "hshword : WORD",
+ "hshword : HSH",
+ "bareword : WORD",
+ };
+ #endif
+ #if YYDEBUG
+ #include <stdio.h>
+ #endif
+ #ifdef YYSTACKSIZE
+ #undef YYMAXDEPTH
+ #define YYMAXDEPTH YYSTACKSIZE
+ #else
+ #ifdef YYMAXDEPTH
+ #define YYSTACKSIZE YYMAXDEPTH
+ #else
+ #define YYSTACKSIZE 10000
+ #define YYMAXDEPTH 10000
+ #endif
+ #endif
+ #define YYINITSTACKSIZE 200
+ int yydebug;
+ int yynerrs;
+ int yyerrflag;
+ int yychar;
+ short *yyssp;
+ YYSTYPE *yyvsp;
+ YYSTYPE yyval;
+ YYSTYPE yylval;
+ short *yyss;
+ short *yysslim;
+ YYSTYPE *yyvs;
+ int yystacksize;
+ #line 792 "perly.y"
+  /* PROGRAM */
+ #line 1787 "y.tab.c"
+ /* allocate initial stack or double stack size, up to YYMAXDEPTH */
+ static int yygrowstack()
+ {
+     int newsize, i;
+     short *newss;
+     YYSTYPE *newvs;
+ 
+     if ((newsize = yystacksize) == 0)
+         newsize = YYINITSTACKSIZE;
+     else if (newsize >= YYMAXDEPTH)
+         return -1;
+     else if ((newsize *= 2) > YYMAXDEPTH)
+         newsize = YYMAXDEPTH;
+     i = yyssp - yyss;
+     newss = yyss ? (short *)realloc(yyss, newsize * sizeof *newss) :
+       (short *)malloc(newsize * sizeof *newss);
+     if (newss == NULL)
+         return -1;
+     yyss = newss;
+     yyssp = newss + i;
+     newvs = yyvs ? (YYSTYPE *)realloc(yyvs, newsize * sizeof *newvs) :
+       (YYSTYPE *)malloc(newsize * sizeof *newvs);
+     if (newvs == NULL)
+         return -1;
+     yyvs = newvs;
+     yyvsp = newvs + i;
+     yystacksize = newsize;
+     yysslim = yyss + newsize - 1;
+     return 0;
+ }
+ 
+ #define YYABORT goto yyabort
+ #define YYREJECT goto yyabort
+ #define YYACCEPT goto yyaccept
+ #define YYERROR goto yyerrlab
+ 
+ #ifndef YYPARSE_PARAM
+ #if defined(__cplusplus) || __STDC__
+ #define YYPARSE_PARAM_ARG void
+ #define YYPARSE_PARAM_DECL
+ #else	/* ! ANSI-C/C++ */
+ #define YYPARSE_PARAM_ARG
+ #define YYPARSE_PARAM_DECL
+ #endif	/* ANSI-C/C++ */
+ #else	/* YYPARSE_PARAM */
+ #ifndef YYPARSE_PARAM_TYPE
+ #define YYPARSE_PARAM_TYPE void *
+ #endif
+ #if defined(__cplusplus) || __STDC__
+ #define YYPARSE_PARAM_ARG YYPARSE_PARAM_TYPE YYPARSE_PARAM
+ #define YYPARSE_PARAM_DECL
+ #else	/* ! ANSI-C/C++ */
+ #define YYPARSE_PARAM_ARG YYPARSE_PARAM
+ #define YYPARSE_PARAM_DECL YYPARSE_PARAM_TYPE YYPARSE_PARAM;
+ #endif	/* ANSI-C/C++ */
+ #endif	/* ! YYPARSE_PARAM */
+ 
+ int
+ yyparse (YYPARSE_PARAM_ARG)
+     YYPARSE_PARAM_DECL
+ {
+     register int yym, yyn, yystate;
+ #if YYDEBUG
+     register const char *yys;
+ 
+     if ((yys = getenv("YYDEBUG")))
+     {
+         yyn = *yys;
+         if (yyn >= '0' && yyn <= '9')
+             yydebug = yyn - '0';
+     }
+ #endif
+ 
+     yynerrs = 0;
+     yyerrflag = 0;
+     yychar = (-1);
+ 
+     if (yyss == NULL && yygrowstack()) goto yyoverflow;
+     yyssp = yyss;
+     yyvsp = yyvs;
+     *yyssp = yystate = 0;
+ 
+ yyloop:
+     if ((yyn = yydefred[yystate])) goto yyreduce;
+     if (yychar < 0)
+     {
+         if ((yychar = yylex()) < 0) yychar = 0;
+ #if YYDEBUG
+         if (yydebug)
+         {
+             yys = 0;
+             if (yychar <= YYMAXTOKEN) yys = yyname[yychar];
+             if (!yys) yys = "illegal-symbol";
+             printf("%sdebug: state %d, reading %d (%s)\n",
+                     YYPREFIX, yystate, yychar, yys);
+         }
+ #endif
+     }
+     if ((yyn = yysindex[yystate]) && (yyn += yychar) >= 0 &&
+             yyn <= YYTABLESIZE && yycheck[yyn] == yychar)
+     {
+ #if YYDEBUG
+         if (yydebug)
+             printf("%sdebug: state %d, shifting to state %d\n",
+                     YYPREFIX, yystate, yytable[yyn]);
+ #endif
+         if (yyssp >= yysslim && yygrowstack())
+         {
+             goto yyoverflow;
+         }
+         *++yyssp = yystate = yytable[yyn];
+         *++yyvsp = yylval;
+         yychar = (-1);
+         if (yyerrflag > 0)  --yyerrflag;
+         goto yyloop;
+     }
+     if ((yyn = yyrindex[yystate]) && (yyn += yychar) >= 0 &&
+             yyn <= YYTABLESIZE && yycheck[yyn] == yychar)
+     {
+         yyn = yytable[yyn];
+         goto yyreduce;
+     }
+     if (yyerrflag) goto yyinrecovery;
+ #if defined(lint) || defined(__GNUC__)
+     goto yynewerror;
+ #endif
+ yynewerror:
+     yyerror("syntax error");
+ #if defined(lint) || defined(__GNUC__)
+     goto yyerrlab;
+ #endif
+ yyerrlab:
+     ++yynerrs;
+ yyinrecovery:
+     if (yyerrflag < 3)
+     {
+         yyerrflag = 3;
+         for (;;)
+         {
+             if ((yyn = yysindex[*yyssp]) && (yyn += YYERRCODE) >= 0 &&
+                     yyn <= YYTABLESIZE && yycheck[yyn] == YYERRCODE)
+             {
+ #if YYDEBUG
+                 if (yydebug)
+                     printf("%sdebug: state %d, error recovery shifting\
+  to state %d\n", YYPREFIX, *yyssp, yytable[yyn]);
+ #endif
+                 if (yyssp >= yysslim && yygrowstack())
+                 {
+                     goto yyoverflow;
+                 }
+                 *++yyssp = yystate = yytable[yyn];
+                 *++yyvsp = yylval;
+                 goto yyloop;
+             }
+             else
+             {
+ #if YYDEBUG
+                 if (yydebug)
+                     printf("%sdebug: error recovery discarding state %d\n",
+                             YYPREFIX, *yyssp);
+ #endif
+                 if (yyssp <= yyss) goto yyabort;
+                 --yyssp;
+                 --yyvsp;
+             }
+         }
+     }
+     else
+     {
+         if (yychar == 0) goto yyabort;
+ #if YYDEBUG
+         if (yydebug)
+         {
+             yys = 0;
+             if (yychar <= YYMAXTOKEN) yys = yyname[yychar];
+             if (!yys) yys = "illegal-symbol";
+             printf("%sdebug: state %d, error recovery discards token %d (%s)\n",
+                     YYPREFIX, yystate, yychar, yys);
+         }
+ #endif
+         yychar = (-1);
+         goto yyloop;
+     }
+ yyreduce:
+ #if YYDEBUG
+     if (yydebug)
+         printf("%sdebug: state %d, reducing by rule %d (%s)\n",
+                 YYPREFIX, yystate, yyn, yyrule[yyn]);
+ #endif
+     yym = yylen[yyn];
+     yyval = yyvsp[1-yym];
+     switch (yyn)
+     {
+ case 1:
+ #line 81 "perly.y"
+ {
+ #if defined(YYDEBUG) && defined(DEBUGGING)
+ 		    yydebug = (debug & 1);
+ #endif
+ 		}
+ break;
+ case 2:
+ #line 87 "perly.y"
+ { if (in_eval)
+ 				eval_root = block_head(yyvsp[0].cmdval);
+ 			    else
+ 				main_root = block_head(yyvsp[0].cmdval); }
+ break;
+ case 3:
+ #line 94 "perly.y"
+ { yyval.compval.comp_true = yyvsp[-2].cmdval; yyval.compval.comp_alt = yyvsp[0].cmdval; }
+ break;
+ case 4:
+ #line 96 "perly.y"
+ { yyval.compval.comp_true = yyvsp[-1].cmdval; yyval.compval.comp_alt = yyvsp[0].cmdval; }
+ break;
+ case 5:
+ #line 100 "perly.y"
+ { yyval.cmdval = Nullcmd; }
+ break;
+ case 6:
+ #line 102 "perly.y"
+ { yyval.cmdval = yyvsp[0].cmdval; }
+ break;
+ case 7:
+ #line 104 "perly.y"
+ { cmdline = yyvsp[-4].ival;
+ 			    yyval.cmdval = make_ccmd(C_ELSIF,yyvsp[-2].arg,yyvsp[0].compval); }
+ break;
+ case 8:
+ #line 109 "perly.y"
+ { yyval.cmdval = block_head(yyvsp[-1].cmdval);
+ 			  if (savestack->ary_fill > yyvsp[-2].ival)
+ 			    restorelist(yyvsp[-2].ival); }
+ break;
+ case 9:
+ #line 115 "perly.y"
+ { yyval.ival = savestack->ary_fill; }
+ break;
+ case 10:
+ #line 119 "perly.y"
+ { yyval.cmdval = Nullcmd; }
+ break;
+ case 11:
+ #line 121 "perly.y"
+ { yyval.cmdval = append_line(yyvsp[-1].cmdval,yyvsp[0].cmdval); }
+ break;
+ case 12:
+ #line 125 "perly.y"
+ { yyval.cmdval = Nullcmd; }
+ break;
+ case 13:
+ #line 127 "perly.y"
+ { yyval.cmdval = add_label(yyvsp[-1].cval,yyvsp[0].cmdval); }
+ break;
+ case 15:
+ #line 130 "perly.y"
+ { if (yyvsp[-1].cval != Nullch) {
+ 			      yyval.cmdval = add_label(yyvsp[-1].cval, make_acmd(C_EXPR, Nullstab,
+ 				  Nullarg, Nullarg) );
+ 			    }
+ 			    else {
+ 			      yyval.cmdval = Nullcmd;
+ 			      cmdline = NOLINE;
+ 			    } }
+ break;
+ case 16:
+ #line 139 "perly.y"
+ { yyval.cmdval = add_label(yyvsp[-2].cval,yyvsp[-1].cmdval); }
+ break;
+ case 17:
+ #line 143 "perly.y"
+ { yyval.cmdval = Nullcmd; }
+ break;
+ case 18:
+ #line 145 "perly.y"
+ { yyval.cmdval = make_acmd(C_EXPR, Nullstab, yyvsp[0].arg, Nullarg); }
+ break;
+ case 19:
+ #line 147 "perly.y"
+ { yyval.cmdval = addcond(
+ 			       make_acmd(C_EXPR, Nullstab, Nullarg, yyvsp[-2].arg), yyvsp[0].arg); }
+ break;
+ case 20:
+ #line 150 "perly.y"
+ { yyval.cmdval = addcond(invert(
+ 			       make_acmd(C_EXPR, Nullstab, Nullarg, yyvsp[-2].arg)), yyvsp[0].arg); }
+ break;
+ case 21:
+ #line 153 "perly.y"
+ { yyval.cmdval = addloop(
+ 			       make_acmd(C_EXPR, Nullstab, Nullarg, yyvsp[-2].arg), yyvsp[0].arg); }
+ break;
+ case 22:
+ #line 156 "perly.y"
+ { yyval.cmdval = addloop(invert(
+ 			       make_acmd(C_EXPR, Nullstab, Nullarg, yyvsp[-2].arg)), yyvsp[0].arg); }
+ break;
+ case 23:
+ #line 161 "perly.y"
+ { cmdline = yyvsp[-4].ival;
+ 			    yyval.cmdval = make_icmd(C_IF,yyvsp[-2].arg,yyvsp[0].compval); }
+ break;
+ case 24:
+ #line 164 "perly.y"
+ { cmdline = yyvsp[-4].ival;
+ 			    yyval.cmdval = invert(make_icmd(C_IF,yyvsp[-2].arg,yyvsp[0].compval)); }
+ break;
+ case 25:
+ #line 167 "perly.y"
+ { cmdline = yyvsp[-2].ival;
+ 			    yyval.cmdval = make_ccmd(C_IF,cmd_to_arg(yyvsp[-1].cmdval),yyvsp[0].compval); }
+ break;
+ case 26:
+ #line 170 "perly.y"
+ { cmdline = yyvsp[-2].ival;
+ 			    yyval.cmdval = invert(make_ccmd(C_IF,cmd_to_arg(yyvsp[-1].cmdval),yyvsp[0].compval)); }
+ break;
+ case 27:
+ #line 175 "perly.y"
+ { cmdline = yyvsp[-4].ival;
+ 			    yyval.cmdval = wopt(add_label(yyvsp[-5].cval,
+ 			    make_ccmd(C_WHILE,yyvsp[-2].arg,yyvsp[0].compval) )); }
+ break;
+ case 28:
+ #line 179 "perly.y"
+ { cmdline = yyvsp[-4].ival;
+ 			    yyval.cmdval = wopt(add_label(yyvsp[-5].cval,
+ 			    invert(make_ccmd(C_WHILE,yyvsp[-2].arg,yyvsp[0].compval)) )); }
+ break;
+ case 29:
+ #line 183 "perly.y"
+ { cmdline = yyvsp[-2].ival;
+ 			    yyval.cmdval = wopt(add_label(yyvsp[-3].cval,
+ 			    make_ccmd(C_WHILE, cmd_to_arg(yyvsp[-1].cmdval),yyvsp[0].compval) )); }
+ break;
+ case 30:
+ #line 187 "perly.y"
+ { cmdline = yyvsp[-2].ival;
+ 			    yyval.cmdval = wopt(add_label(yyvsp[-3].cval,
+ 			    invert(make_ccmd(C_WHILE, cmd_to_arg(yyvsp[-1].cmdval),yyvsp[0].compval)) )); }
+ break;
+ case 31:
+ #line 191 "perly.y"
+ { cmdline = yyvsp[-5].ival;
+ 			    /*
+ 			     * The following gobbledygook catches EXPRs that
+ 			     * aren't explicit array refs and translates
+ 			     *		foreach VAR (EXPR) {
+ 			     * into
+ 			     *		@ary = EXPR;
+ 			     *		foreach VAR (@ary) {
+ 			     * where @ary is a hidden array made by genstab().
+ 			     * (Note that @ary may become a local array if
+ 			     * it is determined that it might be called
+ 			     * recursively.  See cmd_tosave().)
+ 			     */
+ 			    if (yyvsp[-2].arg->arg_type != O_ARRAY) {
+ 				scrstab = aadd(genstab());
+ 				yyval.cmdval = append_line(
+ 				    make_acmd(C_EXPR, Nullstab,
+ 				      l(make_op(O_ASSIGN,2,
+ 					listish(make_op(O_ARRAY, 1,
+ 					  stab2arg(A_STAB,scrstab),
+ 					  Nullarg,Nullarg )),
+ 					listish(make_list(yyvsp[-2].arg)),
+ 					Nullarg)),
+ 				      Nullarg),
+ 				    wopt(over(yyvsp[-4].stabval,add_label(yyvsp[-6].cval,
+ 				      make_ccmd(C_WHILE,
+ 					make_op(O_ARRAY, 1,
+ 					  stab2arg(A_STAB,scrstab),
+ 					  Nullarg,Nullarg ),
+ 					yyvsp[0].compval)))));
+ 				yyval.cmdval->c_line = yyvsp[-5].ival;
+ 				yyval.cmdval->c_head->c_line = yyvsp[-5].ival;
+ 			    }
+ 			    else {
+ 				yyval.cmdval = wopt(over(yyvsp[-4].stabval,add_label(yyvsp[-6].cval,
+ 				make_ccmd(C_WHILE,yyvsp[-2].arg,yyvsp[0].compval) )));
+ 			    }
+ 			}
+ break;
+ case 32:
+ #line 230 "perly.y"
+ { cmdline = yyvsp[-4].ival;
+ 			    if (yyvsp[-2].arg->arg_type != O_ARRAY) {
+ 				scrstab = aadd(genstab());
+ 				yyval.cmdval = append_line(
+ 				    make_acmd(C_EXPR, Nullstab,
+ 				      l(make_op(O_ASSIGN,2,
+ 					listish(make_op(O_ARRAY, 1,
+ 					  stab2arg(A_STAB,scrstab),
+ 					  Nullarg,Nullarg )),
+ 					listish(make_list(yyvsp[-2].arg)),
+ 					Nullarg)),
+ 				      Nullarg),
+ 				    wopt(over(defstab,add_label(yyvsp[-5].cval,
+ 				      make_ccmd(C_WHILE,
+ 					make_op(O_ARRAY, 1,
+ 					  stab2arg(A_STAB,scrstab),
+ 					  Nullarg,Nullarg ),
+ 					yyvsp[0].compval)))));
+ 				yyval.cmdval->c_line = yyvsp[-4].ival;
+ 				yyval.cmdval->c_head->c_line = yyvsp[-4].ival;
+ 			    }
+ 			    else {	/* lisp, anyone? */
+ 				yyval.cmdval = wopt(over(defstab,add_label(yyvsp[-5].cval,
+ 				make_ccmd(C_WHILE,yyvsp[-2].arg,yyvsp[0].compval) )));
+ 			    }
+ 			}
+ break;
+ case 33:
+ #line 258 "perly.y"
+ {   yyval.compval.comp_true = yyvsp[0].cmdval;
+ 			    yyval.compval.comp_alt = yyvsp[-2].cmdval;
+ 			    cmdline = yyvsp[-8].ival;
+ 			    yyval.cmdval = append_line(yyvsp[-6].cmdval,wopt(add_label(yyvsp[-9].cval,
+ 				make_ccmd(C_WHILE,yyvsp[-4].arg,yyval.compval) ))); }
+ break;
+ case 34:
+ #line 264 "perly.y"
+ { yyval.cmdval = add_label(yyvsp[-1].cval,make_ccmd(C_BLOCK,Nullarg,yyvsp[0].compval)); }
+ break;
+ case 35:
+ #line 268 "perly.y"
+ { yyval.cmdval = Nullcmd; }
+ break;
+ case 37:
+ #line 273 "perly.y"
+ { (void)scanstr("1"); yyval.arg = yylval.arg; }
+ break;
+ case 39:
+ #line 278 "perly.y"
+ { yyval.cval = Nullch; }
+ break;
+ case 41:
+ #line 283 "perly.y"
+ { yyval.ival = 0; }
+ break;
+ case 42:
+ #line 285 "perly.y"
+ { yyval.ival = 0; }
+ break;
+ case 43:
+ #line 287 "perly.y"
+ { yyval.ival = 0; }
+ break;
+ case 44:
+ #line 291 "perly.y"
+ { if (strEQ(yyvsp[-2].cval,"stdout"))
+ 			    make_form(stabent("STDOUT",TRUE),yyvsp[0].formval);
+ 			  else if (strEQ(yyvsp[-2].cval,"stderr"))
+ 			    make_form(stabent("STDERR",TRUE),yyvsp[0].formval);
+ 			  else
+ 			    make_form(stabent(yyvsp[-2].cval,TRUE),yyvsp[0].formval);
+ 			  Safefree(yyvsp[-2].cval); yyvsp[-2].cval = Nullch; }
+ break;
+ case 45:
+ #line 299 "perly.y"
+ { make_form(stabent("STDOUT",TRUE),yyvsp[0].formval); }
+ break;
+ case 46:
+ #line 303 "perly.y"
+ { make_sub(yyvsp[-1].cval,yyvsp[0].cmdval); }
+ break;
+ case 47:
+ #line 307 "perly.y"
+ { char tmpbuf[256];
+ 			  STAB *tmpstab;
+ 
+ 			  savehptr(&curstash);
+ 			  saveitem(curstname);
+ 			  str_set(curstname,yyvsp[-1].cval);
+ 			  sprintf(tmpbuf,"'_%s",yyvsp[-1].cval);
+ 			  tmpstab = stabent(tmpbuf,TRUE);
+ 			  if (!stab_xhash(tmpstab))
+ 			      stab_xhash(tmpstab) = hnew(0);
+ 			  curstash = stab_xhash(tmpstab);
+ 			  if (!curstash->tbl_name)
+ 			      curstash->tbl_name = savestr(yyvsp[-1].cval);
+ 			  curstash->tbl_coeffsize = 0;
+ 			  Safefree(yyvsp[-1].cval); yyvsp[-1].cval = Nullch;
+ 			  cmdline = NOLINE;
+ 			}
+ break;
+ case 48:
+ #line 327 "perly.y"
+ { yyval.arg = yyvsp[0].arg; }
+ break;
+ case 49:
+ #line 331 "perly.y"
+ { yyval.arg = make_op(O_COMMA, 2, yyvsp[-2].arg, yyvsp[0].arg, Nullarg); }
+ break;
+ case 51:
+ #line 336 "perly.y"
+ { yyval.arg = yyvsp[0].arg; }
+ break;
+ case 52:
+ #line 340 "perly.y"
+ {   yyvsp[-2].arg = listish(yyvsp[-2].arg);
+ 			    if (yyvsp[-2].arg->arg_type == O_ASSIGN && yyvsp[-2].arg->arg_len == 1)
+ 				yyvsp[-2].arg->arg_type = O_ITEM;	/* a local() */
+ 			    if (yyvsp[-2].arg->arg_type == O_LIST)
+ 				yyvsp[0].arg = listish(yyvsp[0].arg);
+ 			    yyval.arg = l(make_op(O_ASSIGN, 2, yyvsp[-2].arg, yyvsp[0].arg, Nullarg)); }
+ break;
+ case 53:
+ #line 347 "perly.y"
+ { yyval.arg = l(make_op(O_POW, 2, yyvsp[-3].arg, yyvsp[0].arg, Nullarg)); }
+ break;
+ case 54:
+ #line 349 "perly.y"
+ { yyval.arg = l(make_op(yyvsp[-2].ival, 2, yyvsp[-3].arg, yyvsp[0].arg, Nullarg)); }
+ break;
+ case 55:
+ #line 351 "perly.y"
+ { yyval.arg = rcatmaybe(l(make_op(yyvsp[-2].ival, 2, yyvsp[-3].arg, yyvsp[0].arg, Nullarg)));}
+ break;
+ case 56:
+ #line 353 "perly.y"
+ { yyval.arg = l(make_op(O_LEFT_SHIFT, 2, yyvsp[-3].arg, yyvsp[0].arg, Nullarg)); }
+ break;
+ case 57:
+ #line 355 "perly.y"
+ { yyval.arg = l(make_op(O_RIGHT_SHIFT, 2, yyvsp[-3].arg, yyvsp[0].arg, Nullarg)); }
+ break;
+ case 58:
+ #line 357 "perly.y"
+ { yyval.arg = l(make_op(O_BIT_AND, 2, yyvsp[-3].arg, yyvsp[0].arg, Nullarg)); }
+ break;
+ case 59:
+ #line 359 "perly.y"
+ { yyval.arg = l(make_op(O_XOR, 2, yyvsp[-3].arg, yyvsp[0].arg, Nullarg)); }
+ break;
+ case 60:
+ #line 361 "perly.y"
+ { yyval.arg = l(make_op(O_BIT_OR, 2, yyvsp[-3].arg, yyvsp[0].arg, Nullarg)); }
+ break;
+ case 61:
+ #line 365 "perly.y"
+ { yyval.arg = make_op(O_POW, 2, yyvsp[-2].arg, yyvsp[0].arg, Nullarg); }
+ break;
+ case 62:
+ #line 367 "perly.y"
+ { if (yyvsp[-1].ival == O_REPEAT)
+ 			      yyvsp[-2].arg = listish(yyvsp[-2].arg);
+ 			    yyval.arg = make_op(yyvsp[-1].ival, 2, yyvsp[-2].arg, yyvsp[0].arg, Nullarg);
+ 			    if (yyvsp[-1].ival == O_REPEAT) {
+ 				if (yyval.arg[1].arg_type != A_EXPR ||
+ 				  yyval.arg[1].arg_ptr.arg_arg->arg_type != O_LIST)
+ 				    yyval.arg[1].arg_flags &= ~AF_ARYOK;
+ 			    } }
+ break;
+ case 63:
+ #line 376 "perly.y"
+ { yyval.arg = make_op(yyvsp[-1].ival, 2, yyvsp[-2].arg, yyvsp[0].arg, Nullarg); }
+ break;
+ case 64:
+ #line 378 "perly.y"
+ { yyval.arg = make_op(O_LEFT_SHIFT, 2, yyvsp[-2].arg, yyvsp[0].arg, Nullarg); }
+ break;
+ case 65:
+ #line 380 "perly.y"
+ { yyval.arg = make_op(O_RIGHT_SHIFT, 2, yyvsp[-2].arg, yyvsp[0].arg, Nullarg); }
+ break;
+ case 66:
+ #line 382 "perly.y"
+ { yyval.arg = make_op(yyvsp[-1].ival, 2, yyvsp[-2].arg, yyvsp[0].arg, Nullarg); }
+ break;
+ case 67:
+ #line 384 "perly.y"
+ { yyval.arg = make_op(yyvsp[-1].ival, 2, yyvsp[-2].arg, yyvsp[0].arg, Nullarg); }
+ break;
+ case 68:
+ #line 386 "perly.y"
+ { yyval.arg = make_op(O_BIT_AND, 2, yyvsp[-2].arg, yyvsp[0].arg, Nullarg); }
+ break;
+ case 69:
+ #line 388 "perly.y"
+ { yyval.arg = make_op(O_XOR, 2, yyvsp[-2].arg, yyvsp[0].arg, Nullarg); }
+ break;
+ case 70:
+ #line 390 "perly.y"
+ { yyval.arg = make_op(O_BIT_OR, 2, yyvsp[-2].arg, yyvsp[0].arg, Nullarg); }
+ break;
+ case 71:
+ #line 392 "perly.y"
+ { arg4 = Nullarg;
+ 			  yyval.arg = make_op(O_F_OR_R, 4, yyvsp[-2].arg, yyvsp[0].arg, Nullarg); }
+ break;
+ case 72:
+ #line 395 "perly.y"
+ { yyval.arg = make_op(O_AND, 2, yyvsp[-2].arg, yyvsp[0].arg, Nullarg); }
+ break;
+ case 73:
+ #line 397 "perly.y"
+ { yyval.arg = make_op(O_OR, 2, yyvsp[-2].arg, yyvsp[0].arg, Nullarg); }
+ break;
+ case 74:
+ #line 399 "perly.y"
+ { yyval.arg = make_op(O_COND_EXPR, 3, yyvsp[-4].arg, yyvsp[-2].arg, yyvsp[0].arg); }
+ break;
+ case 75:
+ #line 401 "perly.y"
+ { yyval.arg = mod_match(O_MATCH, yyvsp[-2].arg, yyvsp[0].arg); }
+ break;
+ case 76:
+ #line 403 "perly.y"
+ { yyval.arg = mod_match(O_NMATCH, yyvsp[-2].arg, yyvsp[0].arg); }
+ break;
+ case 77:
+ #line 405 "perly.y"
+ { yyval.arg = yyvsp[0].arg; }
+ break;
+ case 78:
+ #line 409 "perly.y"
+ { yyval.arg = make_op(O_NEGATE, 1, yyvsp[0].arg, Nullarg, Nullarg); }
+ break;
+ case 79:
+ #line 411 "perly.y"
+ { yyval.arg = yyvsp[0].arg; }
+ break;
+ case 80:
+ #line 413 "perly.y"
+ { yyval.arg = make_op(O_NOT, 1, yyvsp[0].arg, Nullarg, Nullarg); }
+ break;
+ case 81:
+ #line 415 "perly.y"
+ { yyval.arg = make_op(O_COMPLEMENT, 1, yyvsp[0].arg, Nullarg, Nullarg);}
+ break;
+ case 82:
+ #line 417 "perly.y"
+ { yyval.arg = addflags(1, AF_POST|AF_UP,
+ 			    l(make_op(O_ITEM,1,yyvsp[-1].arg,Nullarg,Nullarg))); }
+ break;
+ case 83:
+ #line 420 "perly.y"
+ { yyval.arg = addflags(1, AF_POST,
+ 			    l(make_op(O_ITEM,1,yyvsp[-1].arg,Nullarg,Nullarg))); }
+ break;
+ case 84:
+ #line 423 "perly.y"
+ { yyval.arg = addflags(1, AF_PRE|AF_UP,
+ 			    l(make_op(O_ITEM,1,yyvsp[0].arg,Nullarg,Nullarg))); }
+ break;
+ case 85:
+ #line 426 "perly.y"
+ { yyval.arg = addflags(1, AF_PRE,
+ 			    l(make_op(O_ITEM,1,yyvsp[0].arg,Nullarg,Nullarg))); }
+ break;
+ case 86:
+ #line 429 "perly.y"
+ { opargs[yyvsp[-1].ival] = 0;	/* force it special */
+ 			    yyval.arg = make_op(yyvsp[-1].ival, 1,
+ 				stab2arg(A_STAB,stabent(yyvsp[0].cval,TRUE)),
+ 				Nullarg, Nullarg);
+ 			}
+ break;
+ case 87:
+ #line 435 "perly.y"
+ { opargs[yyvsp[-1].ival] = 1;
+ 			    yyval.arg = make_op(yyvsp[-1].ival, 1, yyvsp[0].arg, Nullarg, Nullarg); }
+ break;
+ case 88:
+ #line 438 "perly.y"
+ { opargs[yyvsp[0].ival] = (yyvsp[0].ival != O_FTTTY);
+ 			    yyval.arg = make_op(yyvsp[0].ival, 1,
+ 				stab2arg(A_STAB,
+ 				  yyvsp[0].ival == O_FTTTY?stabent("STDIN",TRUE):defstab),
+ 				Nullarg, Nullarg); }
+ break;
+ case 89:
+ #line 444 "perly.y"
+ { yyval.arg = l(localize(make_op(O_ASSIGN, 1,
+ 				localize(listish(make_list(yyvsp[-1].arg))),
+ 				Nullarg,Nullarg))); }
+ break;
+ case 90:
+ #line 448 "perly.y"
+ { yyval.arg = make_list(yyvsp[-2].arg); }
+ break;
+ case 91:
+ #line 450 "perly.y"
+ { yyval.arg = make_list(yyvsp[-1].arg); }
+ break;
+ case 92:
+ #line 452 "perly.y"
+ { yyval.arg = make_list(Nullarg); }
+ break;
+ case 93:
+ #line 454 "perly.y"
+ { yyval.arg = make_op(O_DOFILE,2,yyvsp[0].arg,Nullarg,Nullarg);
+ 			  allstabs = TRUE;}
+ break;
+ case 94:
+ #line 457 "perly.y"
+ { yyval.arg = cmd_to_arg(yyvsp[0].cmdval); }
+ break;
+ case 95:
+ #line 459 "perly.y"
+ { yyval.arg = stab2arg(A_STAB,yyvsp[0].stabval); }
+ break;
+ case 96:
+ #line 461 "perly.y"
+ { yyval.arg = stab2arg(A_STAR,yyvsp[0].stabval); }
+ break;
+ case 97:
+ #line 463 "perly.y"
+ { yyval.arg = make_op(O_AELEM, 2,
+ 				stab2arg(A_STAB,aadd(yyvsp[-3].stabval)), yyvsp[-1].arg, Nullarg); }
+ break;
+ case 98:
+ #line 466 "perly.y"
+ { yyval.arg = make_op(O_HASH, 1,
+ 				stab2arg(A_STAB,yyvsp[0].stabval),
+ 				Nullarg, Nullarg); }
+ break;
+ case 99:
+ #line 470 "perly.y"
+ { yyval.arg = make_op(O_ARRAY, 1,
+ 				stab2arg(A_STAB,yyvsp[0].stabval),
+ 				Nullarg, Nullarg); }
+ break;
+ case 100:
+ #line 474 "perly.y"
+ { yyval.arg = make_op(O_HELEM, 2,
+ 				stab2arg(A_STAB,hadd(yyvsp[-3].stabval)),
+ 				jmaybe(yyvsp[-1].arg),
+ 				Nullarg); }
+ break;
+ case 101:
+ #line 479 "perly.y"
+ { yyval.arg = make_op(O_LSLICE, 3,
+ 				Nullarg,
+ 				listish(make_list(yyvsp[-1].arg)),
+ 				listish(make_list(yyvsp[-4].arg))); }
+ break;
+ case 102:
+ #line 484 "perly.y"
+ { yyval.arg = make_op(O_LSLICE, 3,
+ 				Nullarg,
+ 				listish(make_list(yyvsp[-1].arg)),
+ 				Nullarg); }
+ break;
+ case 103:
+ #line 489 "perly.y"
+ { yyval.arg = make_op(O_ASLICE, 2,
+ 				stab2arg(A_STAB,aadd(yyvsp[-3].stabval)),
+ 				listish(make_list(yyvsp[-1].arg)),
+ 				Nullarg); }
+ break;
+ case 104:
+ #line 494 "perly.y"
+ { yyval.arg = make_op(O_HSLICE, 2,
+ 				stab2arg(A_STAB,hadd(yyvsp[-3].stabval)),
+ 				listish(make_list(yyvsp[-1].arg)),
+ 				Nullarg); }
+ break;
+ case 105:
+ #line 499 "perly.y"
+ { yyval.arg = make_op(O_DELETE, 2,
+ 				stab2arg(A_STAB,hadd(yyvsp[-3].stabval)),
+ 				jmaybe(yyvsp[-1].arg),
+ 				Nullarg); }
+ break;
+ case 106:
+ #line 504 "perly.y"
+ { yyval.arg = stab2arg(A_ARYLEN,yyvsp[0].stabval); }
+ break;
+ case 107:
+ #line 506 "perly.y"
+ { yyval.arg = yyvsp[0].arg; }
+ break;
+ case 108:
+ #line 508 "perly.y"
+ { yyval.arg = yyvsp[0].arg; }
+ break;
+ case 109:
+ #line 510 "perly.y"
+ { yyval.arg = yyvsp[0].arg; }
+ break;
+ case 110:
+ #line 512 "perly.y"
+ { yyval.arg = yyvsp[0].arg; }
+ break;
+ case 111:
+ #line 514 "perly.y"
+ { yyval.arg = make_op((perldb ? O_DBSUBR : O_SUBR), 2,
+ 				stab2arg(A_WORD,stabent(yyvsp[-3].cval,TRUE)),
+ 				make_list(yyvsp[-1].arg),
+ 				Nullarg); Safefree(yyvsp[-3].cval); yyvsp[-3].cval = Nullch;
+ 			    yyval.arg->arg_flags |= AF_DEPR; }
+ break;
+ case 112:
+ #line 520 "perly.y"
+ { yyval.arg = make_op((perldb ? O_DBSUBR : O_SUBR), 2,
+ 				stab2arg(A_WORD,stabent(yyvsp[-3].cval,TRUE)),
+ 				make_list(yyvsp[-1].arg),
+ 				Nullarg); Safefree(yyvsp[-3].cval); yyvsp[-3].cval = Nullch; }
+ break;
+ case 113:
+ #line 525 "perly.y"
+ { yyval.arg = make_op((perldb ? O_DBSUBR : O_SUBR), 2,
+ 				stab2arg(A_WORD,stabent(yyvsp[-2].cval,TRUE)),
+ 				make_list(Nullarg),
+ 				Nullarg);
+ 			    yyval.arg->arg_flags |= AF_DEPR; }
+ break;
+ case 114:
+ #line 531 "perly.y"
+ { yyval.arg = make_op((perldb ? O_DBSUBR : O_SUBR), 2,
+ 				stab2arg(A_WORD,stabent(yyvsp[-2].cval,TRUE)),
+ 				make_list(Nullarg),
+ 				Nullarg); }
+ break;
+ case 115:
+ #line 536 "perly.y"
+ { yyval.arg = make_op((perldb ? O_DBSUBR : O_SUBR), 2,
+ 				stab2arg(A_WORD,stabent(yyvsp[0].cval,TRUE)),
+ 				Nullarg,
+ 				Nullarg); }
+ break;
+ case 116:
+ #line 541 "perly.y"
+ { yyval.arg = make_op((perldb ? O_DBSUBR : O_SUBR), 2,
+ 				stab2arg(A_STAB,yyvsp[-3].stabval),
+ 				make_list(yyvsp[-1].arg),
+ 				Nullarg);
+ 			    yyval.arg->arg_flags |= AF_DEPR; }
+ break;
+ case 117:
+ #line 547 "perly.y"
+ { yyval.arg = make_op((perldb ? O_DBSUBR : O_SUBR), 2,
+ 				stab2arg(A_STAB,yyvsp[-3].stabval),
+ 				make_list(yyvsp[-1].arg),
+ 				Nullarg); }
+ break;
+ case 118:
+ #line 552 "perly.y"
+ { yyval.arg = make_op((perldb ? O_DBSUBR : O_SUBR), 2,
+ 				stab2arg(A_STAB,yyvsp[-2].stabval),
+ 				make_list(Nullarg),
+ 				Nullarg);
+ 			    yyval.arg->arg_flags |= AF_DEPR; }
+ break;
+ case 119:
+ #line 558 "perly.y"
+ { yyval.arg = make_op((perldb ? O_DBSUBR : O_SUBR), 2,
+ 				stab2arg(A_STAB,yyvsp[-2].stabval),
+ 				make_list(Nullarg),
+ 				Nullarg); }
+ break;
+ case 120:
+ #line 563 "perly.y"
+ { yyval.arg = make_op((perldb ? O_DBSUBR : O_SUBR), 2,
+ 				stab2arg(A_STAB,yyvsp[0].stabval),
+ 				Nullarg,
+ 				Nullarg); }
+ break;
+ case 121:
+ #line 568 "perly.y"
+ { yyval.arg = make_op(yyvsp[0].ival,0,Nullarg,Nullarg,Nullarg); }
+ break;
+ case 122:
+ #line 570 "perly.y"
+ { yyval.arg = make_op(yyvsp[-1].ival,1,cval_to_arg(yyvsp[0].cval),
+ 			    Nullarg,Nullarg); }
+ break;
+ case 123:
+ #line 573 "perly.y"
+ { yyval.arg = make_op(yyvsp[0].ival,0,Nullarg,Nullarg,Nullarg); }
+ break;
+ case 124:
+ #line 575 "perly.y"
+ { yyval.arg = make_op(yyvsp[-1].ival,1,yyvsp[0].arg,Nullarg,Nullarg); }
+ break;
+ case 125:
+ #line 577 "perly.y"
+ { yyval.arg = make_op(O_SELECT, 0, Nullarg, Nullarg, Nullarg);}
+ break;
+ case 126:
+ #line 579 "perly.y"
+ { yyval.arg = make_op(O_SELECT, 1, yyvsp[-1].arg, Nullarg, Nullarg); }
+ break;
+ case 127:
+ #line 581 "perly.y"
+ { arg4 = yyvsp[-1].arg;
+ 			  yyval.arg = make_op(O_SSELECT, 4, yyvsp[-4].arg, yyvsp[-3].arg, yyvsp[-2].arg); }
+ break;
+ case 128:
+ #line 584 "perly.y"
+ { yyval.arg = make_op(O_OPEN, 2,
+ 			    stab2arg(A_WORD,stabent(yyvsp[0].cval,TRUE)),
+ 			    stab2arg(A_STAB,stabent(yyvsp[0].cval,TRUE)),
+ 			    Nullarg); }
+ break;
+ case 129:
+ #line 589 "perly.y"
+ { yyval.arg = make_op(O_OPEN, 2,
+ 			    stab2arg(A_WORD,stabent(yyvsp[-1].cval,TRUE)),
+ 			    stab2arg(A_STAB,stabent(yyvsp[-1].cval,TRUE)),
+ 			    Nullarg); }
+ break;
+ case 130:
+ #line 594 "perly.y"
+ { yyval.arg = make_op(O_OPEN, 2,
+ 			    yyvsp[-2].arg,
+ 			    yyvsp[-1].arg, Nullarg); }
+ break;
+ case 131:
+ #line 598 "perly.y"
+ { yyval.arg = make_op(yyvsp[-3].ival, 1,
+ 			    yyvsp[-1].arg,
+ 			    Nullarg, Nullarg); }
+ break;
+ case 132:
+ #line 602 "perly.y"
+ { yyval.arg = make_op(yyvsp[-1].ival, 1,
+ 			    stab2arg(A_WORD,stabent(yyvsp[0].cval,TRUE)),
+ 			    Nullarg, Nullarg);
+ 			  Safefree(yyvsp[0].cval); yyvsp[0].cval = Nullch; }
+ break;
+ case 133:
+ #line 607 "perly.y"
+ { yyval.arg = make_op(yyvsp[-1].ival, 1,
+ 			    stab2arg(A_STAB,yyvsp[0].stabval),
+ 			    Nullarg, Nullarg); }
+ break;
+ case 134:
+ #line 611 "perly.y"
+ { yyval.arg = make_op(yyvsp[-2].ival, 1,
+ 			    stab2arg(A_WORD,Nullstab),
+ 			    Nullarg, Nullarg); }
+ break;
+ case 135:
+ #line 615 "perly.y"
+ { yyval.arg = make_op(yyvsp[0].ival, 0,
+ 			    Nullarg, Nullarg, Nullarg); }
+ break;
+ case 136:
+ #line 618 "perly.y"
+ { yyval.arg = make_op(yyvsp[-4].ival, 2, yyvsp[-2].arg, yyvsp[-1].arg, Nullarg); }
+ break;
+ case 137:
+ #line 620 "perly.y"
+ { yyval.arg = make_op(yyvsp[-5].ival, 3, yyvsp[-3].arg, yyvsp[-2].arg, make_list(yyvsp[-1].arg)); }
+ break;
+ case 138:
+ #line 622 "perly.y"
+ { yyval.arg = make_op(yyvsp[-5].ival, 2, yyvsp[-3].arg, yyvsp[-1].arg, Nullarg); }
+ break;
+ case 139:
+ #line 624 "perly.y"
+ { arg4 = yyvsp[-1].arg; yyval.arg = make_op(yyvsp[-6].ival, 4, yyvsp[-4].arg, yyvsp[-3].arg, yyvsp[-2].arg); }
+ break;
+ case 140:
+ #line 626 "perly.y"
+ { arg4 = yyvsp[-2].arg; arg5 = yyvsp[-1].arg;
+ 			  yyval.arg = make_op(yyvsp[-8].ival, 5, yyvsp[-6].arg, yyvsp[-4].arg, yyvsp[-3].arg); }
+ break;
+ case 141:
+ #line 629 "perly.y"
+ { yyval.arg = make_op(yyvsp[-4].ival, 2,
+ 			    yyvsp[-2].arg,
+ 			    make_list(yyvsp[-1].arg),
+ 			    Nullarg); }
+ break;
+ case 142:
+ #line 634 "perly.y"
+ { yyval.arg = make_op(O_POP, 1, yyvsp[0].arg, Nullarg, Nullarg); }
+ break;
+ case 143:
+ #line 636 "perly.y"
+ { yyval.arg = make_op(O_POP, 1, yyvsp[-1].arg, Nullarg, Nullarg); }
+ break;
+ case 144:
+ #line 638 "perly.y"
+ { yyval.arg = make_op(O_SHIFT, 1, yyvsp[0].arg, Nullarg, Nullarg); }
+ break;
+ case 145:
+ #line 640 "perly.y"
+ { yyval.arg = make_op(O_SHIFT, 1, yyvsp[-1].arg, Nullarg, Nullarg); }
+ break;
+ case 146:
+ #line 642 "perly.y"
+ { yyval.arg = make_op(O_SHIFT, 1,
+ 			    stab2arg(A_STAB,
+ 			      aadd(stabent(subline ? "_" : "ARGV", TRUE))),
+ 			    Nullarg, Nullarg); }
+ break;
+ case 147:
+ #line 647 "perly.y"
+ {   static char p[]="/\\s+/";
+ 			    char *oldend = bufend;
+ 			    ARG *oldarg = yylval.arg;
+ 			    
+ 			    bufend=p+5;
+ 			    (void)scanpat(p);
+ 			    bufend=oldend;
+ 			    yyval.arg = make_split(defstab,yylval.arg,Nullarg);
+ 			    yylval.arg = oldarg; }
+ break;
+ case 148:
+ #line 657 "perly.y"
+ { yyval.arg = mod_match(O_MATCH, yyvsp[-2].arg,
+ 			  make_split(defstab,yyvsp[-3].arg,yyvsp[-1].arg));}
+ break;
+ case 149:
+ #line 660 "perly.y"
+ { yyval.arg = mod_match(O_MATCH, yyvsp[-1].arg,
+ 			  make_split(defstab,yyvsp[-2].arg,Nullarg) ); }
+ break;
+ case 150:
+ #line 663 "perly.y"
+ { yyval.arg = mod_match(O_MATCH,
+ 			    stab2arg(A_STAB,defstab),
+ 			    make_split(defstab,yyvsp[-1].arg,Nullarg) ); }
+ break;
+ case 151:
+ #line 667 "perly.y"
+ { yyval.arg = make_op(yyvsp[-4].ival, 2,
+ 			    yyvsp[-2].arg,
+ 			    listish(make_list(yyvsp[-1].arg)),
+ 			    Nullarg); }
+ break;
+ case 152:
+ #line 672 "perly.y"
+ { yyval.arg = make_op(yyvsp[-3].ival, 1,
+ 			    make_list(yyvsp[-1].arg),
+ 			    Nullarg,
+ 			    Nullarg); }
+ break;
+ case 153:
+ #line 677 "perly.y"
+ { yyval.arg = l(make_op(yyvsp[-1].ival, 1, fixl(yyvsp[-1].ival,yyvsp[0].arg),
+ 			    Nullarg, Nullarg)); }
+ break;
+ case 154:
+ #line 680 "perly.y"
+ { yyval.arg = l(make_op(yyvsp[0].ival, 1,
+ 			    stab2arg(A_STAB,defstab),
+ 			    Nullarg, Nullarg)); }
+ break;
+ case 155:
+ #line 684 "perly.y"
+ { yyval.arg = make_op(yyvsp[0].ival, 0, Nullarg, Nullarg, Nullarg); }
+ break;
+ case 156:
+ #line 686 "perly.y"
+ { yyval.arg = make_op(yyvsp[-2].ival, 0, Nullarg, Nullarg, Nullarg); }
+ break;
+ case 157:
+ #line 688 "perly.y"
+ { yyval.arg = make_op(yyvsp[-2].ival, 0, Nullarg, Nullarg, Nullarg); }
+ break;
+ case 158:
+ #line 690 "perly.y"
+ { yyval.arg = make_op(yyvsp[-3].ival, 1, yyvsp[-1].arg, Nullarg, Nullarg); }
+ break;
+ case 159:
+ #line 692 "perly.y"
+ { yyval.arg = make_op(yyvsp[-4].ival, 2, yyvsp[-2].arg, yyvsp[-1].arg, Nullarg);
+ 			    if (yyvsp[-4].ival == O_INDEX && yyval.arg[2].arg_type == A_SINGLE)
+ 				fbmcompile(yyval.arg[2].arg_ptr.arg_str,0); }
+ break;
+ case 160:
+ #line 696 "perly.y"
+ { yyval.arg = make_op(yyvsp[-4].ival, 2, yyvsp[-2].arg, yyvsp[-1].arg, Nullarg);
+ 			    if (yyvsp[-4].ival == O_INDEX && yyval.arg[2].arg_type == A_SINGLE)
+ 				fbmcompile(yyval.arg[2].arg_ptr.arg_str,0); }
+ break;
+ case 161:
+ #line 700 "perly.y"
+ { yyval.arg = make_op(yyvsp[-5].ival, 3, yyvsp[-3].arg, yyvsp[-2].arg, yyvsp[-1].arg);
+ 			    if (yyvsp[-5].ival == O_INDEX && yyval.arg[2].arg_type == A_SINGLE)
+ 				fbmcompile(yyval.arg[2].arg_ptr.arg_str,0); }
+ break;
+ case 162:
+ #line 704 "perly.y"
+ { yyval.arg = make_op(yyvsp[-5].ival, 3, yyvsp[-3].arg, yyvsp[-2].arg, yyvsp[-1].arg); }
+ break;
+ case 163:
+ #line 706 "perly.y"
+ { arg4 = yyvsp[-1].arg;
+ 			  yyval.arg = make_op(yyvsp[-6].ival, 4, yyvsp[-4].arg, yyvsp[-3].arg, yyvsp[-2].arg); }
+ break;
+ case 164:
+ #line 709 "perly.y"
+ { arg4 = yyvsp[-2].arg; arg5 = yyvsp[-1].arg;
+ 			  yyval.arg = make_op(yyvsp[-7].ival, 5, yyvsp[-5].arg, yyvsp[-4].arg, yyvsp[-3].arg); }
+ break;
+ case 165:
+ #line 712 "perly.y"
+ { yyval.arg = make_op(yyvsp[-3].ival, 1,
+ 				yyvsp[-1].arg,
+ 				Nullarg,
+ 				Nullarg); }
+ break;
+ case 166:
+ #line 717 "perly.y"
+ { yyval.arg = make_op(yyvsp[-1].ival, 1,
+ 				yyvsp[0].arg,
+ 				Nullarg,
+ 				Nullarg); }
+ break;
+ case 167:
+ #line 722 "perly.y"
+ { yyval.arg = make_op(yyvsp[-5].ival, 3, yyvsp[-3].arg, yyvsp[-2].arg, yyvsp[-1].arg); }
+ break;
+ case 170:
+ #line 728 "perly.y"
+ { yyval.arg = make_op(yyvsp[0].ival,2,
+ 				stab2arg(A_WORD,Nullstab),
+ 				stab2arg(A_STAB,defstab),
+ 				Nullarg); }
+ break;
+ case 171:
+ #line 733 "perly.y"
+ { yyval.arg = make_op(yyvsp[-1].ival,2,
+ 				stab2arg(A_WORD,Nullstab),
+ 				maybelistish(yyvsp[-1].ival,make_list(yyvsp[0].arg)),
+ 				Nullarg); }
+ break;
+ case 172:
+ #line 738 "perly.y"
+ { yyval.arg = make_op(yyvsp[-1].ival,2,
+ 				stab2arg(A_WORD,stabent(yyvsp[0].cval,TRUE)),
+ 				stab2arg(A_STAB,defstab),
+ 				Nullarg); }
+ break;
+ case 173:
+ #line 743 "perly.y"
+ { yyval.arg = make_op(yyvsp[-2].ival,2,
+ 				stab2arg(A_WORD,stabent(yyvsp[-1].cval,TRUE)),
+ 				maybelistish(yyvsp[-2].ival,make_list(yyvsp[0].arg)),
+ 				Nullarg); Safefree(yyvsp[-1].cval); yyvsp[-1].cval = Nullch; }
+ break;
+ case 174:
+ #line 748 "perly.y"
+ { yyval.arg = make_op(yyvsp[-2].ival,2,
+ 				stab2arg(A_STAB,yyvsp[-1].stabval),
+ 				maybelistish(yyvsp[-2].ival,make_list(yyvsp[0].arg)),
+ 				Nullarg); }
+ break;
+ case 175:
+ #line 755 "perly.y"
+ { yyval.arg = stab2arg(A_WORD,stabent(yyvsp[0].cval,TRUE));
+ 			  Safefree(yyvsp[0].cval); yyvsp[0].cval = Nullch;}
+ break;
+ case 177:
+ #line 761 "perly.y"
+ { yyval.arg = stab2arg(A_WORD,aadd(stabent(yyvsp[0].cval,TRUE)));
+ 			    Safefree(yyvsp[0].cval); yyvsp[0].cval = Nullch; }
+ break;
+ case 178:
+ #line 764 "perly.y"
+ { yyval.arg = stab2arg(A_STAB,yyvsp[0].stabval); }
+ break;
+ case 179:
+ #line 768 "perly.y"
+ { yyval.arg = stab2arg(A_WORD,hadd(stabent(yyvsp[0].cval,TRUE)));
+ 			    Safefree(yyvsp[0].cval); yyvsp[0].cval = Nullch; }
+ break;
+ case 180:
+ #line 771 "perly.y"
+ { yyval.arg = stab2arg(A_STAB,yyvsp[0].stabval); }
+ break;
+ case 181:
+ #line 780 "perly.y"
+ { char *s;
+ 			    yyval.arg = op_new(1);
+ 			    yyval.arg->arg_type = O_ITEM;
+ 			    yyval.arg[1].arg_type = A_SINGLE;
+ 			    yyval.arg[1].arg_ptr.arg_str = str_make(yyvsp[0].cval,0);
+ 			    for (s = yyvsp[0].cval; *s && islower(*s); s++) ;
+ 			    if (dowarn && !*s)
+ 				warn(
+ 				  "\"%s\" may clash with future reserved word",
+ 				  yyvsp[0].cval );
+ 			}
+ break;
+ #line 2971 "y.tab.c"
+     }
+     yyssp -= yym;
+     yystate = *yyssp;
+     yyvsp -= yym;
+     yym = yylhs[yyn];
+     if (yystate == 0 && yym == 0)
+     {
+ #if YYDEBUG
+         if (yydebug)
+             printf("%sdebug: after reduction, shifting from state 0 to\
+  state %d\n", YYPREFIX, YYFINAL);
+ #endif
+         yystate = YYFINAL;
+         *++yyssp = YYFINAL;
+         *++yyvsp = yyval;
+         if (yychar < 0)
+         {
+             if ((yychar = yylex()) < 0) yychar = 0;
+ #if YYDEBUG
+             if (yydebug)
+             {
+                 yys = 0;
+                 if (yychar <= YYMAXTOKEN) yys = yyname[yychar];
+                 if (!yys) yys = "illegal-symbol";
+                 printf("%sdebug: state %d, reading %d (%s)\n",
+                         YYPREFIX, YYFINAL, yychar, yys);
+             }
+ #endif
+         }
+         if (yychar == 0) goto yyaccept;
+         goto yyloop;
+     }
+     if ((yyn = yygindex[yym]) && (yyn += yystate) >= 0 &&
+             yyn <= YYTABLESIZE && yycheck[yyn] == yystate)
+         yystate = yytable[yyn];
+     else
+         yystate = yydgoto[yym];
+ #if YYDEBUG
+     if (yydebug)
+         printf("%sdebug: after reduction, shifting from state %d \
+ to state %d\n", YYPREFIX, *yyssp, yystate);
+ #endif
+     if (yyssp >= yysslim && yygrowstack())
+     {
+         goto yyoverflow;
+     }
+     *++yyssp = yystate;
+     *++yyvsp = yyval;
+     goto yyloop;
+ yyoverflow:
+     yyerror("yacc stack overflow");
+ yyabort:
+     return (1);
+ yyaccept:
+     return (0);
+ }


Index: llvm/test/Programs/MultiSource/Benchmarks/MallocBench/perl/perly.h
diff -c /dev/null llvm/test/Programs/MultiSource/Benchmarks/MallocBench/perl/perly.h:1.1.2.1
*** /dev/null	Mon Mar  1 17:59:25 2004
--- llvm/test/Programs/MultiSource/Benchmarks/MallocBench/perl/perly.h	Mon Mar  1 17:59:13 2004
***************
*** 0 ****
--- 1,86 ----
+ #ifndef YYERRCODE
+ #define YYERRCODE 256
+ #endif
+ 
+ #define WORD 257
+ #define APPEND 258
+ #define OPEN 259
+ #define SSELECT 260
+ #define LOOPEX 261
+ #define USING 262
+ #define FORMAT 263
+ #define DO 264
+ #define SHIFT 265
+ #define PUSH 266
+ #define POP 267
+ #define LVALFUN 268
+ #define WHILE 269
+ #define UNTIL 270
+ #define IF 271
+ #define UNLESS 272
+ #define ELSE 273
+ #define ELSIF 274
+ #define CONTINUE 275
+ #define SPLIT 276
+ #define FLIST 277
+ #define FOR 278
+ #define FILOP 279
+ #define FILOP2 280
+ #define FILOP3 281
+ #define FILOP4 282
+ #define FILOP22 283
+ #define FILOP25 284
+ #define FUNC0 285
+ #define FUNC1 286
+ #define FUNC2 287
+ #define FUNC2x 288
+ #define FUNC3 289
+ #define FUNC4 290
+ #define FUNC5 291
+ #define HSHFUN 292
+ #define HSHFUN3 293
+ #define FLIST2 294
+ #define SUB 295
+ #define FILETEST 296
+ #define LOCAL 297
+ #define DELETE 298
+ #define RELOP 299
+ #define EQOP 300
+ #define MULOP 301
+ #define ADDOP 302
+ #define PACKAGE 303
+ #define AMPER 304
+ #define FORMLIST 305
+ #define REG 306
+ #define ARYLEN 307
+ #define ARY 308
+ #define HSH 309
+ #define STAR 310
+ #define SUBST 311
+ #define PATTERN 312
+ #define RSTRING 313
+ #define TRANS 314
+ #define LISTOP 315
+ #define DOTDOT 316
+ #define OROR 317
+ #define ANDAND 318
+ #define UNIOP 319
+ #define LS 320
+ #define RS 321
+ #define MATCH 322
+ #define NMATCH 323
+ #define UMINUS 324
+ #define POW 325
+ #define INC 326
+ #define DEC 327
+ typedef union {
+     int	ival;
+     char *cval;
+     ARG *arg;
+     CMD *cmdval;
+     struct compcmd compval;
+     STAB *stabval;
+     FCMD *formval;
+ } YYSTYPE;
+ extern YYSTYPE yylval;
+ extern YYSTYPE yylval;


Index: llvm/test/Programs/MultiSource/Benchmarks/MallocBench/perl/regcomp.c
diff -c /dev/null llvm/test/Programs/MultiSource/Benchmarks/MallocBench/perl/regcomp.c:1.1.2.1
*** /dev/null	Mon Mar  1 17:59:25 2004
--- llvm/test/Programs/MultiSource/Benchmarks/MallocBench/perl/regcomp.c	Mon Mar  1 17:59:13 2004
***************
*** 0 ****
--- 1,1410 ----
+ /* NOTE: this is derived from Henry Spencer's regexp code, and should not
+  * confused with the original package (see point 3 below).  Thanks, Henry!
+  */
+ 
+ /* Additional note: this code is very heavily munged from Henry's version
+  * in places.  In some spots I've traded clarity for efficiency, so don't
+  * blame Henry for some of the lack of readability.
+  */
+ 
+ /* $RCSfile: regcomp.c,v $$Revision: 1.1.2.1 $$Date: 2004/03/01 23:59:13 $
+  *
+  * $Log: regcomp.c,v $
+  * Revision 1.1.2.1  2004/03/01 23:59:13  brukman
+  * Merge from trunk
+  *
+  * Revision 1.1  2004/02/17 22:21:16  criswell
+  * Initial commit of the perl Malloc Benchmark.  I've cheated a little by
+  * generating the yacc output files and committing them directly, but it was
+  * easier than disabling the Bison Voodoo that gets executed by default.
+  *
+  * Revision 4.0.1.1  91/04/12  09:04:45  lwall
+  * patch1: random cleanup in cpp namespace
+  * 
+  * Revision 4.0  91/03/20  01:39:01  lwall
+  * 4.0 baseline.
+  * 
+  */
+ 
+ /*
+  * regcomp and regexec -- regsub and regerror are not used in perl
+  *
+  *	Copyright (c) 1986 by University of Toronto.
+  *	Written by Henry Spencer.  Not derived from licensed software.
+  *
+  *	Permission is granted to anyone to use this software for any
+  *	purpose on any computer system, and to redistribute it freely,
+  *	subject to the following restrictions:
+  *
+  *	1. The author is not responsible for the consequences of use of
+  *		this software, no matter how awful, even if they arise
+  *		from defects in it.
+  *
+  *	2. The origin of this software must not be misrepresented, either
+  *		by explicit claim or by omission.
+  *
+  *	3. Altered versions must be plainly marked as such, and must not
+  *		be misrepresented as being the original software.
+  *
+  *
+  ****    Alterations to Henry's code are...
+  ****
+  ****    Copyright (c) 1989, Larry Wall
+  ****
+  ****    You may distribute under the terms of the GNU General Public License
+  ****    as specified in the README file that comes with the perl 3.0 kit.
+  *
+  * Beware that some of this code is subtly aware of the way operator
+  * precedence is structured in regular expressions.  Serious changes in
+  * regular-expression syntax might require a total rethink.
+  */
+ #include "EXTERN.h"
+ #include "perl.h"
+ #include "INTERN.h"
+ #include "regcomp.h"
+ 
+ #ifdef MSDOS
+ # if defined(BUGGY_MSC6)
+  /* MSC 6.00A breaks on op/regexp.t test 85 unless we turn this off */
+  # pragma optimize("a",off)
+  /* But MSC 6.00A is happy with 'w', for aliases only across function calls*/
+  # pragma optimize("w",on )
+ # endif /* BUGGY_MSC6 */
+ #endif /* MSDOS */
+ 
+ #ifndef STATIC
+ #define	STATIC	static
+ #endif
+ 
+ #define	ISMULT1(c)	((c) == '*' || (c) == '+' || (c) == '?')
+ #define	ISMULT2(s)	((*s) == '*' || (*s) == '+' || (*s) == '?' || \
+ 	((*s) == '{' && regcurly(s)))
+ #define	META	"^$.[()|?+*\\"
+ 
+ #ifdef SPSTART
+ #undef SPSTART		/* dratted cpp namespace... */
+ #endif
+ /*
+  * Flags to be passed up and down.
+  */
+ #define	HASWIDTH	01	/* Known never to match null string. */
+ #define	SIMPLE		02	/* Simple enough to be STAR/PLUS operand. */
+ #define	SPSTART		04	/* Starts with * or +. */
+ #define	WORST		0	/* Worst case. */
+ 
+ /*
+  * Global work variables for regcomp().
+  */
+ static char *regprecomp;		/* uncompiled string. */
+ static char *regparse;		/* Input-scan pointer. */
+ static char *regxend;		/* End of input for compile */
+ static int regnpar;		/* () count. */
+ static char *regcode;		/* Code-emit pointer; &regdummy = don't. */
+ static long regsize;		/* Code size. */
+ static int regfold;
+ static int regsawbracket;	/* Did we do {d,d} trick? */
+ 
+ /*
+  * Forward declarations for regcomp()'s friends.
+  */
+ STATIC int regcurly();
+ STATIC char *reg();
+ STATIC char *regbranch();
+ STATIC char *regpiece();
+ STATIC char *regatom();
+ STATIC char *regclass();
+ STATIC char *regnode();
+ STATIC char *reganode();
+ STATIC void regc();
+ STATIC void reginsert();
+ STATIC void regtail();
+ STATIC void regoptail();
+ 
+ /*
+  - regcomp - compile a regular expression into internal code
+  *
+  * We can't allocate space until we know how big the compiled form will be,
+  * but we can't compile it (and thus know how big it is) until we've got a
+  * place to put the code.  So we cheat:  we compile it twice, once with code
+  * generation turned off and size counting turned on, and once "for real".
+  * This also means that we don't allocate space until we are sure that the
+  * thing really will compile successfully, and we never have to move the
+  * code and thus invalidate pointers into it.  (Note that it has to be in
+  * one piece because free() must be able to free it all.) [NB: not true in perl]
+  *
+  * Beware that the optimization-preparation code in here knows about some
+  * of the structure of the compiled regexp.  [I'll say.]
+  */
+ regexp *
+ regcomp(exp,xend,fold)
+ char *exp;
+ char *xend;
+ int fold;
+ {
+ 	register regexp *r;
+ 	register char *scan;
+ 	register STR *longish;
+ 	STR *longest;
+ 	register int len;
+ 	register char *first;
+ 	int flags;
+ 	int backish;
+ 	int backest;
+ 	int curback;
+ 	extern char *safemalloc();
+ 	extern char *savestr();
+ 	int sawplus = 0;
+ 
+ 	if (exp == NULL)
+ 		fatal("NULL regexp argument");
+ 
+ 	/* First pass: determine size, legality. */
+ 	regfold = fold;
+ 	regparse = exp;
+ 	regxend = xend;
+ 	regprecomp = nsavestr(exp,xend-exp);
+ 	regsawbracket = 0;
+ 	regnpar = 1;
+ 	regsize = 0L;
+ 	regcode = ®dummy;
+ 	regc(MAGIC);
+ 	if (reg(0, &flags) == NULL) {
+ 		Safefree(regprecomp);
+ 		regprecomp = Nullch;
+ 		return(NULL);
+ 	}
+ 
+ 	/* Small enough for pointer-storage convention? */
+ 	if (regsize >= 32767L)		/* Probably could be 65535L. */
+ 		FAIL("regexp too big");
+ 
+ 	/* Allocate space. */
+ 	Newc(1001, r, sizeof(regexp) + (unsigned)regsize, char, regexp);
+ 	if (r == NULL)
+ 		FAIL("regexp out of space");
+ 
+ 	/* Second pass: emit code. */
+ 	if (regsawbracket)
+ 	    bcopy(regprecomp,exp,xend-exp);
+ 	r->precomp = regprecomp;
+ 	r->subbase = NULL;
+ 	regparse = exp;
+ 	regnpar = 1;
+ 	regcode = r->program;
+ 	regc(MAGIC);
+ 	if (reg(0, &flags) == NULL)
+ 		return(NULL);
+ 
+ 	/* Dig out information for optimizations. */
+ 	r->regstart = Nullstr;	/* Worst-case defaults. */
+ 	r->reganch = 0;
+ 	r->regmust = Nullstr;
+ 	r->regback = -1;
+ 	r->regstclass = Nullch;
+ 	scan = r->program+1;			/* First BRANCH. */
+ 	if (OP(regnext(scan)) == END) {/* Only one top-level choice. */
+ 		scan = NEXTOPER(scan);
+ 
+ 		first = scan;
+ 		while (OP(first) == OPEN ||
+ 		    (OP(first) == BRANCH && OP(regnext(first)) != BRANCH) ||
+ 		    (OP(first) == PLUS) ||
+ 		    (OP(first) == CURLY && ARG1(first) > 0) ) {
+ 			if (OP(first) == PLUS)
+ 			    sawplus = 2;
+ 			else
+ 			    first += regarglen[OP(first)];
+ 			first = NEXTOPER(first);
+ 		}
+ 
+ 		/* Starting-point info. */
+ 		if (OP(first) == EXACTLY) {
+ 			r->regstart =
+ 			    str_make(OPERAND(first)+1,*OPERAND(first));
+ 			if (r->regstart->str_cur > !(sawstudy|fold))
+ 				fbmcompile(r->regstart,fold);
+ 		}
+ 		else if ((exp = index(simple,OP(first))) && exp > simple)
+ 			r->regstclass = first;
+ 		else if (OP(first) == BOUND || OP(first) == NBOUND)
+ 			r->regstclass = first;
+ 		else if (OP(first) == BOL ||
+ 		    (OP(first) == STAR && OP(NEXTOPER(first)) == ANY) )
+ 			r->reganch = 1;		/* kinda turn .* into ^.* */
+ 		r->reganch |= sawplus;
+ 
+ #ifdef DEBUGGING
+ 		if (debug & 512)
+ 		    fprintf(stderr,"first %d next %d offset %d\n",
+ 		      OP(first), OP(NEXTOPER(first)), first - scan);
+ #endif
+ 		/*
+ 		 * If there's something expensive in the r.e., find the
+ 		 * longest literal string that must appear and make it the
+ 		 * regmust.  Resolve ties in favor of later strings, since
+ 		 * the regstart check works with the beginning of the r.e.
+ 		 * and avoiding duplication strengthens checking.  Not a
+ 		 * strong reason, but sufficient in the absence of others.
+ 		 * [Now we resolve ties in favor of the earlier string if
+ 		 * it happens that curback has been invalidated, since the
+ 		 * earlier string may buy us something the later one won't.]
+ 		 */
+ 		longish = str_make("",0);
+ 		longest = str_make("",0);
+ 		len = 0;
+ 		curback = 0;
+ 		backish = 0;
+ 		backest = 0;
+ 		while (OP(scan) != END) {
+ 			if (OP(scan) == BRANCH) {
+ 			    if (OP(regnext(scan)) == BRANCH) {
+ 				curback = -30000;
+ 				while (OP(scan) == BRANCH)
+ 				    scan = regnext(scan);
+ 			    }
+ 			    else	/* single branch is ok */
+ 				scan = NEXTOPER(scan);
+ 			}
+ 			if (OP(scan) == EXACTLY) {
+ 			    char *t;
+ 
+ 			    first = scan;
+ 			    while (OP(t = regnext(scan)) == CLOSE)
+ 				scan = t;
+ 			    if (curback - backish == len) {
+ 				str_ncat(longish, OPERAND(first)+1,
+ 				    *OPERAND(first));
+ 				len += *OPERAND(first);
+ 				curback += *OPERAND(first);
+ 				first = regnext(scan);
+ 			    }
+ 			    else if (*OPERAND(first) >= len + (curback >= 0)) {
+ 				len = *OPERAND(first);
+ 				str_nset(longish, OPERAND(first)+1,len);
+ 				backish = curback;
+ 				curback += len;
+ 				first = regnext(scan);
+ 			    }
+ 			    else
+ 				curback += *OPERAND(first);
+ 			}
+ 			else if (index(varies,OP(scan))) {
+ 			    curback = -30000;
+ 			    len = 0;
+ 			    if (longish->str_cur > longest->str_cur) {
+ 				str_sset(longest,longish);
+ 				backest = backish;
+ 			    }
+ 			    str_nset(longish,"",0);
+ 			}
+ 			else if (index(simple,OP(scan))) {
+ 			    curback++;
+ 			    len = 0;
+ 			    if (longish->str_cur > longest->str_cur) {
+ 				str_sset(longest,longish);
+ 				backest = backish;
+ 			    }
+ 			    str_nset(longish,"",0);
+ 			}
+ 			scan = regnext(scan);
+ 		}
+ 
+ 		/* Prefer earlier on tie, unless we can tail match latter */
+ 
+ 		if (longish->str_cur + (OP(first) == EOL) > longest->str_cur) {
+ 		    str_sset(longest,longish);
+ 		    backest = backish;
+ 		}
+ 		else
+ 		    str_nset(longish,"",0);
+ 		if (longest->str_cur
+ 		    &&
+ 		    (!r->regstart
+ 		     ||
+ 		     !fbminstr(r->regstart->str_ptr,
+ 			  r->regstart->str_ptr + r->regstart->str_cur,
+ 			  longest)
+ 		    )
+ 		   )
+ 		{
+ 			r->regmust = longest;
+ 			if (backest < 0)
+ 				backest = -1;
+ 			r->regback = backest;
+ 			if (longest->str_cur
+ 			  > !(sawstudy || fold || OP(first) == EOL) )
+ 				fbmcompile(r->regmust,fold);
+ 			r->regmust->str_u.str_useful = 100;
+ 			if (OP(first) == EOL && longish->str_cur)
+ 			    r->regmust->str_pok |= SP_TAIL;
+ 		}
+ 		else {
+ 			str_free(longest);
+ 			longest = Nullstr;
+ 		}
+ 		str_free(longish);
+ 	}
+ 
+ 	r->do_folding = fold;
+ 	r->nparens = regnpar - 1;
+ 	New(1002, r->startp, regnpar, char*);
+ 	New(1002, r->endp, regnpar, char*);
+ #ifdef DEBUGGING
+ 	if (debug & 512)
+ 		regdump(r);
+ #endif
+ 	return(r);
+ }
+ 
+ /*
+  - reg - regular expression, i.e. main body or parenthesized thing
+  *
+  * Caller must absorb opening parenthesis.
+  *
+  * Combining parenthesis handling with the base level of regular expression
+  * is a trifle forced, but the need to tie the tails of the branches to what
+  * follows makes it hard to avoid.
+  */
+ static char *
+ reg(paren, flagp)
+ int paren;			/* Parenthesized? */
+ int *flagp;
+ {
+ 	register char *ret;
+ 	register char *br;
+ 	register char *ender;
+ 	register int parno;
+ 	int flags;
+ 
+ 	*flagp = HASWIDTH;	/* Tentatively. */
+ 
+ 	/* Make an OPEN node, if parenthesized. */
+ 	if (paren) {
+ 		parno = regnpar;
+ 		regnpar++;
+ 		ret = reganode(OPEN, parno);
+ 	} else
+ 		ret = NULL;
+ 
+ 	/* Pick up the branches, linking them together. */
+ 	br = regbranch(&flags);
+ 	if (br == NULL)
+ 		return(NULL);
+ 	if (ret != NULL)
+ 		regtail(ret, br);	/* OPEN -> first. */
+ 	else
+ 		ret = br;
+ 	if (!(flags&HASWIDTH))
+ 		*flagp &= ~HASWIDTH;
+ 	*flagp |= flags&SPSTART;
+ 	while (*regparse == '|') {
+ 		regparse++;
+ 		br = regbranch(&flags);
+ 		if (br == NULL)
+ 			return(NULL);
+ 		regtail(ret, br);	/* BRANCH -> BRANCH. */
+ 		if (!(flags&HASWIDTH))
+ 			*flagp &= ~HASWIDTH;
+ 		*flagp |= flags&SPSTART;
+ 	}
+ 
+ 	/* Make a closing node, and hook it on the end. */
+ 	if (paren)
+ 	    ender = reganode(CLOSE, parno);
+ 	else
+ 	    ender = regnode(END);
+ 	regtail(ret, ender);
+ 
+ 	/* Hook the tails of the branches to the closing node. */
+ 	for (br = ret; br != NULL; br = regnext(br))
+ 		regoptail(br, ender);
+ 
+ 	/* Check for proper termination. */
+ 	if (paren && *regparse++ != ')') {
+ 		FAIL("unmatched () in regexp");
+ 	} else if (!paren && regparse < regxend) {
+ 		if (*regparse == ')') {
+ 			FAIL("unmatched () in regexp");
+ 		} else
+ 			FAIL("junk on end of regexp");	/* "Can't happen". */
+ 		/* NOTREACHED */
+ 	}
+ 
+ 	return(ret);
+ }
+ 
+ /*
+  - regbranch - one alternative of an | operator
+  *
+  * Implements the concatenation operator.
+  */
+ static char *
+ regbranch(flagp)
+ int *flagp;
+ {
+ 	register char *ret;
+ 	register char *chain;
+ 	register char *latest;
+ 	int flags;
+ 
+ 	*flagp = WORST;		/* Tentatively. */
+ 
+ 	ret = regnode(BRANCH);
+ 	chain = NULL;
+ 	while (regparse < regxend && *regparse != '|' && *regparse != ')') {
+ 		latest = regpiece(&flags);
+ 		if (latest == NULL)
+ 			return(NULL);
+ 		*flagp |= flags&HASWIDTH;
+ 		if (chain == NULL)	/* First piece. */
+ 			*flagp |= flags&SPSTART;
+ 		else
+ 			regtail(chain, latest);
+ 		chain = latest;
+ 	}
+ 	if (chain == NULL)	/* Loop ran zero times. */
+ 		(void) regnode(NOTHING);
+ 
+ 	return(ret);
+ }
+ 
+ /*
+  - regpiece - something followed by possible [*+?]
+  *
+  * Note that the branching code sequences used for ? and the general cases
+  * of * and + are somewhat optimized:  they use the same NOTHING node as
+  * both the endmarker for their branch list and the body of the last branch.
+  * It might seem that this node could be dispensed with entirely, but the
+  * endmarker role is not redundant.
+  */
+ static char *
+ regpiece(flagp)
+ int *flagp;
+ {
+ 	register char *ret;
+ 	register char op;
+ 	register char *next;
+ 	int flags;
+ 	char *origparse = regparse;
+ 	int orignpar = regnpar;
+ 	char *max;
+ 	int iter;
+ 	char ch;
+ 
+ 	ret = regatom(&flags);
+ 	if (ret == NULL)
+ 		return(NULL);
+ 
+ 	op = *regparse;
+ 
+ 	/* Here's a total kludge: if after the atom there's a {\d+,?\d*}
+ 	 * then we decrement the first number by one and reset our
+ 	 * parsing back to the beginning of the same atom.  If the first number
+ 	 * is down to 0, decrement the second number instead and fake up
+ 	 * a ? after it.  Given the way this compiler doesn't keep track
+ 	 * of offsets on the first pass, this is the only way to replicate
+ 	 * a piece of code.  Sigh.
+ 	 */
+ 	if (op == '{' && regcurly(regparse)) {
+ 	    next = regparse + 1;
+ 	    max = Nullch;
+ 	    while (isdigit(*next) || *next == ',') {
+ 		if (*next == ',') {
+ 		    if (max)
+ 			break;
+ 		    else
+ 			max = next;
+ 		}
+ 		next++;
+ 	    }
+ 	    if (*next == '}') {		/* got one */
+ 		if (!max)
+ 		    max = next;
+ 		regparse++;
+ 		iter = atoi(regparse);
+ 		if (flags&SIMPLE) {	/* we can do it right after all */
+ 		    int tmp;
+ 
+ 		    reginsert(CURLY, ret);
+ 		    if (iter > 0)
+ 			*flagp = (WORST|HASWIDTH);
+ 		    if (*max == ',')
+ 			max++;
+ 		    else
+ 			max = regparse;
+ 		    tmp = atoi(max);
+ 		    if (tmp && tmp < iter)
+ 			fatal("Can't do {n,m} with n > m");
+ 		    if (regcode != &regdummy) {
+ #ifdef REGALIGN
+ 			*(unsigned short *)(ret+3) = iter;
+ 			*(unsigned short *)(ret+5) = tmp;
+ #else
+ 			ret[3] = iter >> 8; ret[4] = iter & 0377;
+ 			ret[5] = tmp  >> 8; ret[6] = tmp  & 0377;
+ #endif
+ 		    }
+ 		    regparse = next;
+ 		    goto nest_check;
+ 		}
+ 		regsawbracket++;	/* remember we clobbered exp */
+ 		if (iter > 0) {
+ 		    ch = *max;
+ 		    sprintf(regparse,"%.*d", max-regparse, iter - 1);
+ 		    *max = ch;
+ 		    if (*max == ',' && max[1] != '}') {
+ 			if (atoi(max+1) <= 0)
+ 			    fatal("Can't do {n,m} with n > m");
+ 			ch = *next;
+ 			sprintf(max+1,"%.*d", next-(max+1), atoi(max+1) - 1);
+ 			*next = ch;
+ 		    }
+ 		    if (iter != 1 || *max == ',') {
+ 			regparse = origparse;	/* back up input pointer */
+ 			regnpar = orignpar;	/* don't make more parens */
+ 		    }
+ 		    else {
+ 			regparse = next;
+ 			goto nest_check;
+ 		    }
+ 		    *flagp = flags;
+ 		    return ret;
+ 		}
+ 		if (*max == ',') {
+ 		    max++;
+ 		    iter = atoi(max);
+ 		    if (max == next) {		/* any number more? */
+ 			regparse = next;
+ 			op = '*';		/* fake up one with a star */
+ 		    }
+ 		    else if (iter > 0) {
+ 			op = '?';		/* fake up optional atom */
+ 			ch = *next;
+ 			sprintf(max,"%.*d", next-max, iter - 1);
+ 			*next = ch;
+ 			if (iter == 1)
+ 			    regparse = next;
+ 			else {
+ 			    regparse = origparse - 1; /* offset ++ below */
+ 			    regnpar = orignpar;
+ 			}
+ 		    }
+ 		    else
+ 			fatal("Can't do {n,0}");
+ 		}
+ 		else
+ 		    fatal("Can't do {0}");
+ 	    }
+ 	}
+ 
+ 	if (!ISMULT1(op)) {
+ 		*flagp = flags;
+ 		return(ret);
+ 	}
+ 
+ 	if (!(flags&HASWIDTH) && op != '?')
+ 		FAIL("regexp *+ operand could be empty");
+ 	*flagp = (op != '+') ? (WORST|SPSTART) : (WORST|HASWIDTH);
+ 
+ 	if (op == '*' && (flags&SIMPLE))
+ 		reginsert(STAR, ret);
+ 	else if (op == '*') {
+ 		/* Emit x* as (x&|), where & means "self". */
+ 		reginsert(BRANCH, ret);			/* Either x */
+ 		regoptail(ret, regnode(BACK));		/* and loop */
+ 		regoptail(ret, ret);			/* back */
+ 		regtail(ret, regnode(BRANCH));		/* or */
+ 		regtail(ret, regnode(NOTHING));		/* null. */
+ 	} else if (op == '+' && (flags&SIMPLE))
+ 		reginsert(PLUS, ret);
+ 	else if (op == '+') {
+ 		/* Emit x+ as x(&|), where & means "self". */
+ 		next = regnode(BRANCH);			/* Either */
+ 		regtail(ret, next);
+ 		regtail(regnode(BACK), ret);		/* loop back */
+ 		regtail(next, regnode(BRANCH));		/* or */
+ 		regtail(ret, regnode(NOTHING));		/* null. */
+ 	} else if (op == '?') {
+ 		/* Emit x? as (x|) */
+ 		reginsert(BRANCH, ret);			/* Either x */
+ 		regtail(ret, regnode(BRANCH));		/* or */
+ 		next = regnode(NOTHING);		/* null. */
+ 		regtail(ret, next);
+ 		regoptail(ret, next);
+ 	}
+       nest_check:
+ 	regparse++;
+ 	if (ISMULT2(regparse))
+ 		FAIL("nested *?+ in regexp");
+ 
+ 	return(ret);
+ }
+ 
+ /*
+  - regatom - the lowest level
+  *
+  * Optimization:  gobbles an entire sequence of ordinary characters so that
+  * it can turn them into a single node, which is smaller to store and
+  * faster to run.  Backslashed characters are exceptions, each becoming a
+  * separate node; the code is simpler that way and it's not worth fixing.
+  *
+  * [Yes, it is worth fixing, some scripts can run twice the speed.]
+  */
+ static char *
+ regatom(flagp)
+ int *flagp;
+ {
+ 	register char *ret;
+ 	int flags;
+ 
+ 	*flagp = WORST;		/* Tentatively. */
+ 
+ 	switch (*regparse++) {
+ 	case '^':
+ 		ret = regnode(BOL);
+ 		break;
+ 	case '$':
+ 		ret = regnode(EOL);
+ 		break;
+ 	case '.':
+ 		ret = regnode(ANY);
+ 		*flagp |= HASWIDTH|SIMPLE;
+ 		break;
+ 	case '[':
+ 		ret = regclass();
+ 		*flagp |= HASWIDTH|SIMPLE;
+ 		break;
+ 	case '(':
+ 		ret = reg(1, &flags);
+ 		if (ret == NULL)
+ 			return(NULL);
+ 		*flagp |= flags&(HASWIDTH|SPSTART);
+ 		break;
+ 	case '|':
+ 	case ')':
+ 		FAIL("internal urp in regexp");	/* Supposed to be caught earlier. */
+ 		break;
+ 	case '?':
+ 	case '+':
+ 	case '*':
+ 		FAIL("?+* follows nothing in regexp");
+ 		break;
+ 	case '\\':
+ 		switch (*regparse) {
+ 		case 'w':
+ 			ret = regnode(ALNUM);
+ 			*flagp |= HASWIDTH|SIMPLE;
+ 			regparse++;
+ 			break;
+ 		case 'W':
+ 			ret = regnode(NALNUM);
+ 			*flagp |= HASWIDTH|SIMPLE;
+ 			regparse++;
+ 			break;
+ 		case 'b':
+ 			ret = regnode(BOUND);
+ 			*flagp |= SIMPLE;
+ 			regparse++;
+ 			break;
+ 		case 'B':
+ 			ret = regnode(NBOUND);
+ 			*flagp |= SIMPLE;
+ 			regparse++;
+ 			break;
+ 		case 's':
+ 			ret = regnode(SPACE);
+ 			*flagp |= HASWIDTH|SIMPLE;
+ 			regparse++;
+ 			break;
+ 		case 'S':
+ 			ret = regnode(NSPACE);
+ 			*flagp |= HASWIDTH|SIMPLE;
+ 			regparse++;
+ 			break;
+ 		case 'd':
+ 			ret = regnode(DIGIT);
+ 			*flagp |= HASWIDTH|SIMPLE;
+ 			regparse++;
+ 			break;
+ 		case 'D':
+ 			ret = regnode(NDIGIT);
+ 			*flagp |= HASWIDTH|SIMPLE;
+ 			regparse++;
+ 			break;
+ 		case 'n':
+ 		case 'r':
+ 		case 't':
+ 		case 'f':
+ 		case 'e':
+ 		case 'a':
+ 		case 'x':
+ 		case 'c':
+ 		case '0':
+ 			goto defchar;
+ 		case '1': case '2': case '3': case '4':
+ 		case '5': case '6': case '7': case '8': case '9':
+ 			{
+ 			    int num = atoi(regparse);
+ 
+ 			    if (num > 9 && num >= regnpar)
+ 				goto defchar;
+ 			    else {
+ 				ret = reganode(REF, num);
+ 				while (isascii(*regparse) && isdigit(*regparse))
+ 				    regparse++;
+ 				*flagp |= SIMPLE;
+ 			    }
+ 			}
+ 			break;
+ 		case '\0':
+ 			if (regparse >= regxend)
+ 			    FAIL("trailing \\ in regexp");
+ 			/* FALL THROUGH */
+ 		default:
+ 			goto defchar;
+ 		}
+ 		break;
+ 	default: {
+ 			register int len;
+ 			register char ender;
+ 			register char *p;
+ 			char *oldp;
+ 			int numlen;
+ 
+ 		    defchar:
+ 			ret = regnode(EXACTLY);
+ 			regc(0);		/* save spot for len */
+ 			for (len=0, p=regparse-1;
+ 			  len < 127 && p < regxend;
+ 			  len++)
+ 			{
+ 			    oldp = p;
+ 			    switch (*p) {
+ 			    case '^':
+ 			    case '$':
+ 			    case '.':
+ 			    case '[':
+ 			    case '(':
+ 			    case ')':
+ 			    case '|':
+ 				goto loopdone;
+ 			    case '\\':
+ 				switch (*++p) {
+ 				case 'w':
+ 				case 'W':
+ 				case 'b':
+ 				case 'B':
+ 				case 's':
+ 				case 'S':
+ 				case 'd':
+ 				case 'D':
+ 				    --p;
+ 				    goto loopdone;
+ 				case 'n':
+ 					ender = '\n';
+ 					p++;
+ 					break;
+ 				case 'r':
+ 					ender = '\r';
+ 					p++;
+ 					break;
+ 				case 't':
+ 					ender = '\t';
+ 					p++;
+ 					break;
+ 				case 'f':
+ 					ender = '\f';
+ 					p++;
+ 					break;
+ 				case 'e':
+ 					ender = '\033';
+ 					p++;
+ 					break;
+ 				case 'a':
+ 					ender = '\007';
+ 					p++;
+ 					break;
+ 				case 'x':
+ 				    ender = scanhex(++p, 2, &numlen);
+ 				    p += numlen;
+ 				    break;
+ 				case 'c':
+ 				    p++;
+ 				    ender = *p++;
+ 				    if (islower(ender))
+ 					ender = toupper(ender);
+ 				    ender ^= 64;
+ 				    break;
+ 				case '0': case '1': case '2': case '3':case '4':
+ 				case '5': case '6': case '7': case '8':case '9':
+ 				    if (*p == '0' ||
+ 				      (isdigit(p[1]) && atoi(p) >= regnpar) ) {
+ 					ender = scanoct(p, 3, &numlen);
+ 					p += numlen;
+ 				    }
+ 				    else {
+ 					--p;
+ 					goto loopdone;
+ 				    }
+ 				    break;
+ 				case '\0':
+ 				    if (p >= regxend)
+ 					FAIL("trailing \\ in regexp");
+ 				    /* FALL THROUGH */
+ 				default:
+ 				    ender = *p++;
+ 				    break;
+ 				}
+ 				break;
+ 			    default:
+ 				ender = *p++;
+ 				break;
+ 			    }
+ 			    if (regfold && isupper(ender))
+ 				    ender = tolower(ender);
+ 			    if (ISMULT2(p)) { /* Back off on ?+*. */
+ 				if (len)
+ 				    p = oldp;
+ 				else {
+ 				    len++;
+ 				    regc(ender);
+ 				}
+ 				break;
+ 			    }
+ 			    regc(ender);
+ 			}
+ 		    loopdone:
+ 			regparse = p;
+ 			if (len <= 0)
+ 				FAIL("internal disaster in regexp");
+ 			*flagp |= HASWIDTH;
+ 			if (len == 1)
+ 				*flagp |= SIMPLE;
+ 			if (regcode != &regdummy)
+ 			    *OPERAND(ret) = len;
+ 			regc('\0');
+ 		}
+ 		break;
+ 	}
+ 
+ 	return(ret);
+ }
+ 
+ static void
+ regset(bits,def,c)
+ char *bits;
+ int def;
+ register int c;
+ {
+ 	if (regcode == &regdummy)
+ 	    return;
+ 	c &= 255;
+ 	if (def)
+ 		bits[c >> 3] &= ~(1 << (c & 7));
+ 	else
+ 		bits[c >> 3] |=  (1 << (c & 7));
+ }
+ 
+ static char *
+ regclass()
+ {
+ 	register char *bits;
+ 	register int class;
+ 	register int lastclass;
+ 	register int range = 0;
+ 	register char *ret;
+ 	register int def;
+ 	int numlen;
+ 
+ 	ret = regnode(ANYOF);
+ 	if (*regparse == '^') {	/* Complement of range. */
+ 		regparse++;
+ 		def = 0;
+ 	} else {
+ 		def = 255;
+ 	}
+ 	bits = regcode;
+ 	for (class = 0; class < 32; class++)
+ 	    regc(def);
+ 	if (*regparse == ']' || *regparse == '-')
+ 		goto skipcond;		/* allow 1st char to be ] or - */
+ 	while (regparse < regxend && *regparse != ']') {
+ 	      skipcond:
+ 		class = UCHARAT(regparse++);
+ 		if (class == '\\') {
+ 			class = UCHARAT(regparse++);
+ 			switch (class) {
+ 			case 'w':
+ 				for (class = 'a'; class <= 'z'; class++)
+ 					regset(bits,def,class);
+ 				for (class = 'A'; class <= 'Z'; class++)
+ 					regset(bits,def,class);
+ 				for (class = '0'; class <= '9'; class++)
+ 					regset(bits,def,class);
+ 				regset(bits,def,'_');
+ 				lastclass = 1234;
+ 				continue;
+ 			case 's':
+ 				regset(bits,def,' ');
+ 				regset(bits,def,'\t');
+ 				regset(bits,def,'\r');
+ 				regset(bits,def,'\f');
+ 				regset(bits,def,'\n');
+ 				lastclass = 1234;
+ 				continue;
+ 			case 'd':
+ 				for (class = '0'; class <= '9'; class++)
+ 					regset(bits,def,class);
+ 				lastclass = 1234;
+ 				continue;
+ 			case 'n':
+ 				class = '\n';
+ 				break;
+ 			case 'r':
+ 				class = '\r';
+ 				break;
+ 			case 't':
+ 				class = '\t';
+ 				break;
+ 			case 'f':
+ 				class = '\f';
+ 				break;
+ 			case 'b':
+ 				class = '\b';
+ 				break;
+ 			case 'e':
+ 				class = '\033';
+ 				break;
+ 			case 'a':
+ 				class = '\007';
+ 				break;
+ 			case 'x':
+ 				class = scanhex(regparse, 2, &numlen);
+ 				regparse += numlen;
+ 				break;
+ 			case 'c':
+ 				class = *regparse++;
+ 				if (islower(class))
+ 				    class = toupper(class);
+ 				class ^= 64;
+ 				break;
+ 			case '0': case '1': case '2': case '3': case '4':
+ 			case '5': case '6': case '7': case '8': case '9':
+ 				class = scanoct(--regparse, 3, &numlen);
+ 				regparse += numlen;
+ 				break;
+ 			}
+ 		}
+ 		if (range) {
+ 			if (lastclass > class)
+ 				FAIL("invalid [] range in regexp");
+ 			range = 0;
+ 		}
+ 		else {
+ 			lastclass = class;
+ 			if (*regparse == '-' && regparse+1 < regxend &&
+ 			    regparse[1] != ']') {
+ 				regparse++;
+ 				range = 1;
+ 				continue;	/* do it next time */
+ 			}
+ 		}
+ 		for ( ; lastclass <= class; lastclass++) {
+ 			regset(bits,def,lastclass);
+ 			if (regfold && isupper(lastclass))
+ 				regset(bits,def,tolower(lastclass));
+ 		}
+ 		lastclass = class;
+ 	}
+ 	if (*regparse != ']')
+ 		FAIL("unmatched [] in regexp");
+ 	regparse++;
+ 	return ret;
+ }
+ 
+ /*
+  - regnode - emit a node
+  */
+ static char *			/* Location. */
+ regnode(op)
+ char op;
+ {
+ 	register char *ret;
+ 	register char *ptr;
+ 
+ 	ret = regcode;
+ 	if (ret == &regdummy) {
+ #ifdef REGALIGN
+ 		if (!(regsize & 1))
+ 			regsize++;
+ #endif
+ 		regsize += 3;
+ 		return(ret);
+ 	}
+ 
+ #ifdef REGALIGN
+ #ifndef lint
+ 	if (!((long)ret & 1))
+ 	    *ret++ = 127;
+ #endif
+ #endif
+ 	ptr = ret;
+ 	*ptr++ = op;
+ 	*ptr++ = '\0';		/* Null "next" pointer. */
+ 	*ptr++ = '\0';
+ 	regcode = ptr;
+ 
+ 	return(ret);
+ }
+ 
+ /*
+  - reganode - emit a node with an argument
+  */
+ static char *			/* Location. */
+ reganode(op, arg)
+ char op;
+ unsigned short arg;
+ {
+ 	register char *ret;
+ 	register char *ptr;
+ 
+ 	ret = regcode;
+ 	if (ret == &regdummy) {
+ #ifdef REGALIGN
+ 		if (!(regsize & 1))
+ 			regsize++;
+ #endif
+ 		regsize += 5;
+ 		return(ret);
+ 	}
+ 
+ #ifdef REGALIGN
+ #ifndef lint
+ 	if (!((long)ret & 1))
+ 	    *ret++ = 127;
+ #endif
+ #endif
+ 	ptr = ret;
+ 	*ptr++ = op;
+ 	*ptr++ = '\0';		/* Null "next" pointer. */
+ 	*ptr++ = '\0';
+ #ifdef REGALIGN
+ 	*(unsigned short *)(ret+3) = arg;
+ #else
+ 	ret[3] = arg >> 8; ret[4] = arg & 0377;
+ #endif
+ 	ptr += 2;
+ 	regcode = ptr;
+ 
+ 	return(ret);
+ }
+ 
+ /*
+  - regc - emit (if appropriate) a byte of code
+  */
+ static void
+ regc(b)
+ char b;
+ {
+ 	if (regcode != &regdummy)
+ 		*regcode++ = b;
+ 	else
+ 		regsize++;
+ }
+ 
+ /*
+  - reginsert - insert an operator in front of already-emitted operand
+  *
+  * Means relocating the operand.
+  */
+ static void
+ reginsert(op, opnd)
+ char op;
+ char *opnd;
+ {
+ 	register char *src;
+ 	register char *dst;
+ 	register char *place;
+ 	register offset = (op == CURLY ? 4 : 0);
+ 
+ 	if (regcode == &regdummy) {
+ #ifdef REGALIGN
+ 		regsize += 4 + offset;
+ #else
+ 		regsize += 3 + offset;
+ #endif
+ 		return;
+ 	}
+ 
+ 	src = regcode;
+ #ifdef REGALIGN
+ 	regcode += 4 + offset;
+ #else
+ 	regcode += 3 + offset;
+ #endif
+ 	dst = regcode;
+ 	while (src > opnd)
+ 		*--dst = *--src;
+ 
+ 	place = opnd;		/* Op node, where operand used to be. */
+ 	*place++ = op;
+ 	*place++ = '\0';
+ 	*place++ = '\0';
+ 	while (offset-- > 0)
+ 	    *place++ = '\0';
+ }
+ 
+ /*
+  - regtail - set the next-pointer at the end of a node chain
+  */
+ static void
+ regtail(p, val)
+ char *p;
+ char *val;
+ {
+ 	register char *scan;
+ 	register char *temp;
+ 	register int offset;
+ 
+ 	if (p == &regdummy)
+ 		return;
+ 
+ 	/* Find last node. */
+ 	scan = p;
+ 	for (;;) {
+ 		temp = regnext(scan);
+ 		if (temp == NULL)
+ 			break;
+ 		scan = temp;
+ 	}
+ 
+ #ifdef REGALIGN
+ 	offset = val - scan;
+ #ifndef lint
+ 	*(short*)(scan+1) = offset;
+ #else
+ 	offset = offset;
+ #endif
+ #else
+ 	if (OP(scan) == BACK)
+ 		offset = scan - val;
+ 	else
+ 		offset = val - scan;
+ 	*(scan+1) = (offset>>8)&0377;
+ 	*(scan+2) = offset&0377;
+ #endif
+ }
+ 
+ /*
+  - regoptail - regtail on operand of first argument; nop if operandless
+  */
+ static void
+ regoptail(p, val)
+ char *p;
+ char *val;
+ {
+ 	/* "Operandless" and "op != BRANCH" are synonymous in practice. */
+ 	if (p == NULL || p == &regdummy || OP(p) != BRANCH)
+ 		return;
+ 	regtail(NEXTOPER(p), val);
+ }
+ 
+ /*
+  - regcurly - a little FSA that accepts {\d+,?\d*}
+  */
+ STATIC int
+ regcurly(s)
+ register char *s;
+ {
+     if (*s++ != '{')
+ 	return FALSE;
+     if (!isdigit(*s))
+ 	return FALSE;
+     while (isdigit(*s))
+ 	s++;
+     if (*s == ',')
+ 	s++;
+     while (isdigit(*s))
+ 	s++;
+     if (*s != '}')
+ 	return FALSE;
+     return TRUE;
+ }
+ 
+ #ifdef DEBUGGING
+ 
+ /*
+  - regdump - dump a regexp onto stderr in vaguely comprehensible form
+  */
+ void
+ regdump(r)
+ regexp *r;
+ {
+ 	register char *s;
+ 	register char op = EXACTLY;	/* Arbitrary non-END op. */
+ 	register char *next;
+ 
+ 
+ 	s = r->program + 1;
+ 	while (op != END) {	/* While that wasn't END last time... */
+ #ifdef REGALIGN
+ 		if (!((long)s & 1))
+ 			s++;
+ #endif
+ 		op = OP(s);
+ 		fprintf(stderr,"%2d%s", s-r->program, regprop(s));	/* Where, what. */
+ 		next = regnext(s);
+ 		s += regarglen[op];
+ 		if (next == NULL)		/* Next ptr. */
+ 			fprintf(stderr,"(0)");
+ 		else 
+ 			fprintf(stderr,"(%d)", (s-r->program)+(next-s));
+ 		s += 3;
+ 		if (op == ANYOF) {
+ 			s += 32;
+ 		}
+ 		if (op == EXACTLY) {
+ 			/* Literal string, where present. */
+ 			s++;
+ 			while (*s != '\0') {
+ 				(void)putchar(*s);
+ 				s++;
+ 			}
+ 			s++;
+ 		}
+ 		(void)putchar('\n');
+ 	}
+ 
+ 	/* Header fields of interest. */
+ 	if (r->regstart)
+ 		fprintf(stderr,"start `%s' ", r->regstart->str_ptr);
+ 	if (r->regstclass)
+ 		fprintf(stderr,"stclass `%s' ", regprop(r->regstclass));
+ 	if (r->reganch & 1)
+ 		fprintf(stderr,"anchored ");
+ 	if (r->reganch & 2)
+ 		fprintf(stderr,"plus ");
+ 	if (r->regmust != NULL)
+ 		fprintf(stderr,"must have \"%s\" back %d ", r->regmust->str_ptr,
+ 		  r->regback);
+ 	fprintf(stderr,"\n");
+ }
+ 
+ /*
+  - regprop - printable representation of opcode
+  */
+ char *
+ regprop(op)
+ char *op;
+ {
+ 	register char *p;
+ 
+ 	(void) strcpy(buf, ":");
+ 
+ 	switch (OP(op)) {
+ 	case BOL:
+ 		p = "BOL";
+ 		break;
+ 	case EOL:
+ 		p = "EOL";
+ 		break;
+ 	case ANY:
+ 		p = "ANY";
+ 		break;
+ 	case ANYOF:
+ 		p = "ANYOF";
+ 		break;
+ 	case BRANCH:
+ 		p = "BRANCH";
+ 		break;
+ 	case EXACTLY:
+ 		p = "EXACTLY";
+ 		break;
+ 	case NOTHING:
+ 		p = "NOTHING";
+ 		break;
+ 	case BACK:
+ 		p = "BACK";
+ 		break;
+ 	case END:
+ 		p = "END";
+ 		break;
+ 	case ALNUM:
+ 		p = "ALNUM";
+ 		break;
+ 	case NALNUM:
+ 		p = "NALNUM";
+ 		break;
+ 	case BOUND:
+ 		p = "BOUND";
+ 		break;
+ 	case NBOUND:
+ 		p = "NBOUND";
+ 		break;
+ 	case SPACE:
+ 		p = "SPACE";
+ 		break;
+ 	case NSPACE:
+ 		p = "NSPACE";
+ 		break;
+ 	case DIGIT:
+ 		p = "DIGIT";
+ 		break;
+ 	case NDIGIT:
+ 		p = "NDIGIT";
+ 		break;
+ 	case CURLY:
+ 		(void)sprintf(buf+strlen(buf), "CURLY {%d,%d}",
+ 		    ARG1(op),ARG2(op));
+ 		p = NULL;
+ 		break;
+ 	case REF:
+ 		(void)sprintf(buf+strlen(buf), "REF%d", ARG1(op));
+ 		p = NULL;
+ 		break;
+ 	case OPEN:
+ 		(void)sprintf(buf+strlen(buf), "OPEN%d", ARG1(op));
+ 		p = NULL;
+ 		break;
+ 	case CLOSE:
+ 		(void)sprintf(buf+strlen(buf), "CLOSE%d", ARG1(op));
+ 		p = NULL;
+ 		break;
+ 	case STAR:
+ 		p = "STAR";
+ 		break;
+ 	case PLUS:
+ 		p = "PLUS";
+ 		break;
+ 	default:
+ 		FAIL("corrupted regexp opcode");
+ 	}
+ 	if (p != NULL)
+ 		(void) strcat(buf, p);
+ 	return(buf);
+ }
+ #endif /* DEBUGGING */
+ 
+ regfree(r)
+ struct regexp *r;
+ {
+ 	if (r->precomp) {
+ 		Safefree(r->precomp);
+ 		r->precomp = Nullch;
+ 	}
+ 	if (r->subbase) {
+ 		Safefree(r->subbase);
+ 		r->subbase = Nullch;
+ 	}
+ 	if (r->regmust) {
+ 		str_free(r->regmust);
+ 		r->regmust = Nullstr;
+ 	}
+ 	if (r->regstart) {
+ 		str_free(r->regstart);
+ 		r->regstart = Nullstr;
+ 	}
+ 	Safefree(r->startp);
+ 	Safefree(r->endp);
+ 	Safefree(r);
+ }


Index: llvm/test/Programs/MultiSource/Benchmarks/MallocBench/perl/regcomp.h
diff -c /dev/null llvm/test/Programs/MultiSource/Benchmarks/MallocBench/perl/regcomp.h:1.1.2.1
*** /dev/null	Mon Mar  1 17:59:25 2004
--- llvm/test/Programs/MultiSource/Benchmarks/MallocBench/perl/regcomp.h	Mon Mar  1 17:59:13 2004
***************
*** 0 ****
--- 1,202 ----
+ /* $Header: /home/vadve/shared/PublicCVS/llvm/test/Programs/MultiSource/Benchmarks/MallocBench/perl/regcomp.h,v 1.1.2.1 2004/03/01 23:59:13 brukman Exp $
+  *
+  * $Log: regcomp.h,v $
+  * Revision 1.1.2.1  2004/03/01 23:59:13  brukman
+  * Merge from trunk
+  *
+  * Revision 1.1  2004/02/17 22:21:16  criswell
+  * Initial commit of the perl Malloc Benchmark.  I've cheated a little by
+  * generating the yacc output files and committing them directly, but it was
+  * easier than disabling the Bison Voodoo that gets executed by default.
+  *
+  * Revision 4.0  91/03/20  01:39:09  lwall
+  * 4.0 baseline.
+  * 
+  */
+ 
+ /*
+  * The "internal use only" fields in regexp.h are present to pass info from
+  * compile to execute that permits the execute phase to run lots faster on
+  * simple cases.  They are:
+  *
+  * regstart	str that must begin a match; Nullch if none obvious
+  * reganch	is the match anchored (at beginning-of-line only)?
+  * regmust	string (pointer into program) that match must include, or NULL
+  *  [regmust changed to STR* for bminstr()--law]
+  * regmlen	length of regmust string
+  *  [regmlen not used currently]
+  *
+  * Regstart and reganch permit very fast decisions on suitable starting points
+  * for a match, cutting down the work a lot.  Regmust permits fast rejection
+  * of lines that cannot possibly match.  The regmust tests are costly enough
+  * that regcomp() supplies a regmust only if the r.e. contains something
+  * potentially expensive (at present, the only such thing detected is * or +
+  * at the start of the r.e., which can involve a lot of backup).  Regmlen is
+  * supplied because the test in regexec() needs it and regcomp() is computing
+  * it anyway.
+  * [regmust is now supplied always.  The tests that use regmust have a
+  * heuristic that disables the test if it usually matches.]
+  *
+  * [In fact, we now use regmust in many cases to locate where the search
+  * starts in the string, so if regback is >= 0, the regmust search is never
+  * wasted effort.  The regback variable says how many characters back from
+  * where regmust matched is the earliest possible start of the match.
+  * For instance, /[a-z].foo/ has a regmust of 'foo' and a regback of 2.]
+  */
+ 
+ /*
+  * Structure for regexp "program".  This is essentially a linear encoding
+  * of a nondeterministic finite-state machine (aka syntax charts or
+  * "railroad normal form" in parsing technology).  Each node is an opcode
+  * plus a "next" pointer, possibly plus an operand.  "Next" pointers of
+  * all nodes except BRANCH implement concatenation; a "next" pointer with
+  * a BRANCH on both ends of it is connecting two alternatives.  (Here we
+  * have one of the subtle syntax dependencies:  an individual BRANCH (as
+  * opposed to a collection of them) is never concatenated with anything
+  * because of operator precedence.)  The operand of some types of node is
+  * a literal string; for others, it is a node leading into a sub-FSM.  In
+  * particular, the operand of a BRANCH node is the first node of the branch.
+  * (NB this is *not* a tree structure:  the tail of the branch connects
+  * to the thing following the set of BRANCHes.)  The opcodes are:
+  */
+ 
+ /* definition	number	opnd?	meaning */
+ #define	END	0	/* no	End of program. */
+ #define	BOL	1	/* no	Match "" at beginning of line. */
+ #define	EOL	2	/* no	Match "" at end of line. */
+ #define	ANY	3	/* no	Match any one character. */
+ #define	ANYOF	4	/* str	Match character in (or not in) this class. */
+ #define	CURLY	5	/* str	Match this simple thing {n,m} times. */
+ #define	BRANCH	6	/* node	Match this alternative, or the next... */
+ #define	BACK	7	/* no	Match "", "next" ptr points backward. */
+ #define	EXACTLY	8	/* str	Match this string (preceded by length). */
+ #define	NOTHING	9	/* no	Match empty string. */
+ #define	STAR	10	/* node	Match this (simple) thing 0 or more times. */
+ #define	PLUS	11	/* node	Match this (simple) thing 1 or more times. */
+ #define ALNUM	12	/* no	Match any alphanumeric character */
+ #define NALNUM	13	/* no	Match any non-alphanumeric character */
+ #define BOUND	14	/* no	Match "" at any word boundary */
+ #define NBOUND	15	/* no	Match "" at any word non-boundary */
+ #define SPACE	16	/* no	Match any whitespace character */
+ #define NSPACE	17	/* no	Match any non-whitespace character */
+ #define DIGIT	18	/* no	Match any numeric character */
+ #define NDIGIT	19	/* no	Match any non-numeric character */
+ #define REF	20	/* num	Match some already matched string */
+ #define	OPEN	21	/* num	Mark this point in input as start of #n. */
+ #define	CLOSE	22	/* num	Analogous to OPEN. */
+ 
+ /*
+  * Opcode notes:
+  *
+  * BRANCH	The set of branches constituting a single choice are hooked
+  *		together with their "next" pointers, since precedence prevents
+  *		anything being concatenated to any individual branch.  The
+  *		"next" pointer of the last BRANCH in a choice points to the
+  *		thing following the whole choice.  This is also where the
+  *		final "next" pointer of each individual branch points; each
+  *		branch starts with the operand node of a BRANCH node.
+  *
+  * BACK		Normal "next" pointers all implicitly point forward; BACK
+  *		exists to make loop structures possible.
+  *
+  * STAR,PLUS	'?', and complex '*' and '+', are implemented as circular
+  *		BRANCH structures using BACK.  Simple cases (one character
+  *		per match) are implemented with STAR and PLUS for speed
+  *		and to minimize recursive plunges.
+  *
+  * OPEN,CLOSE	...are numbered at compile time.
+  */
+ 
+ #ifndef DOINIT
+ extern char regarglen[];
+ #else
+ char regarglen[] = {0,0,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,2,2};
+ #endif
+ 
+ /* The following have no fixed length. */
+ #ifndef DOINIT
+ extern char varies[];
+ #else
+ char varies[] = {BRANCH,BACK,STAR,PLUS,CURLY,REF,0};
+ #endif
+ 
+ /* The following always have a length of 1. */
+ #ifndef DOINIT
+ extern char simple[];
+ #else
+ char simple[] = {ANY,ANYOF,ALNUM,NALNUM,SPACE,NSPACE,DIGIT,NDIGIT,0};
+ #endif
+ 
+ EXT char regdummy;
+ 
+ /*
+  * A node is one char of opcode followed by two chars of "next" pointer.
+  * "Next" pointers are stored as two 8-bit pieces, high order first.  The
+  * value is a positive offset from the opcode of the node containing it.
+  * An operand, if any, simply follows the node.  (Note that much of the
+  * code generation knows about this implicit relationship.)
+  *
+  * Using two bytes for the "next" pointer is vast overkill for most things,
+  * but allows patterns to get big without disasters.
+  *
+  * [If REGALIGN is defined, the "next" pointer is always aligned on an even
+  * boundary, and reads the offset directly as a short.  Also, there is no
+  * special test to reverse the sign of BACK pointers since the offset is
+  * stored negative.]
+  */
+ 
+ #ifndef gould
+ #ifndef cray
+ #ifndef eta10
+ #define REGALIGN
+ #endif
+ #endif
+ #endif
+ 
+ #define	OP(p)	(*(p))
+ 
+ #ifndef lint
+ #ifdef REGALIGN
+ #define NEXT(p) (*(short*)(p+1))
+ #define ARG1(p) (*(unsigned short*)(p+3))
+ #define ARG2(p) (*(unsigned short*)(p+5))
+ #else
+ #define	NEXT(p)	(((*((p)+1)&0377)<<8) + (*((p)+2)&0377))
+ #define	ARG1(p)	(((*((p)+3)&0377)<<8) + (*((p)+4)&0377))
+ #define	ARG2(p)	(((*((p)+5)&0377)<<8) + (*((p)+6)&0377))
+ #endif
+ #else /* lint */
+ #define NEXT(p) 0
+ #endif /* lint */
+ 
+ #define	OPERAND(p)	((p) + 3)
+ 
+ #ifdef REGALIGN
+ #define	NEXTOPER(p)	((p) + 4)
+ #else
+ #define	NEXTOPER(p)	((p) + 3)
+ #endif
+ 
+ #define MAGIC 0234
+ 
+ /*
+  * Utility definitions.
+  */
+ #ifndef lint
+ #ifndef CHARBITS
+ #define	UCHARAT(p)	((int)*(unsigned char *)(p))
+ #else
+ #define	UCHARAT(p)	((int)*(p)&CHARBITS)
+ #endif
+ #else /* lint */
+ #define UCHARAT(p)	regdummy
+ #endif /* lint */
+ 
+ #define	FAIL(m)	fatal("/%s/: %s",regprecomp,m)
+ 
+ char *regnext();
+ #ifdef DEBUGGING
+ void regdump();
+ char *regprop();
+ #endif
+ 


Index: llvm/test/Programs/MultiSource/Benchmarks/MallocBench/perl/regexec.c
diff -c /dev/null llvm/test/Programs/MultiSource/Benchmarks/MallocBench/perl/regexec.c:1.1.2.1
*** /dev/null	Mon Mar  1 17:59:25 2004
--- llvm/test/Programs/MultiSource/Benchmarks/MallocBench/perl/regexec.c	Mon Mar  1 17:59:13 2004
***************
*** 0 ****
--- 1,900 ----
+ /* NOTE: this is derived from Henry Spencer's regexp code, and should not
+  * confused with the original package (see point 3 below).  Thanks, Henry!
+  */
+ 
+ /* Additional note: this code is very heavily munged from Henry's version
+  * in places.  In some spots I've traded clarity for efficiency, so don't
+  * blame Henry for some of the lack of readability.
+  */
+ 
+ /* $RCSfile: regexec.c,v $$Revision: 1.1.2.1 $$Date: 2004/03/01 23:59:13 $
+  *
+  * $Log: regexec.c,v $
+  * Revision 1.1.2.1  2004/03/01 23:59:13  brukman
+  * Merge from trunk
+  *
+  * Revision 1.1  2004/02/17 22:21:16  criswell
+  * Initial commit of the perl Malloc Benchmark.  I've cheated a little by
+  * generating the yacc output files and committing them directly, but it was
+  * easier than disabling the Bison Voodoo that gets executed by default.
+  *
+  * Revision 4.0.1.1  91/04/12  09:07:39  lwall
+  * patch1: regexec only allocated space for 9 subexpresssions
+  * 
+  * Revision 4.0  91/03/20  01:39:16  lwall
+  * 4.0 baseline.
+  * 
+  */
+ 
+ /*
+  * regcomp and regexec -- regsub and regerror are not used in perl
+  *
+  *	Copyright (c) 1986 by University of Toronto.
+  *	Written by Henry Spencer.  Not derived from licensed software.
+  *
+  *	Permission is granted to anyone to use this software for any
+  *	purpose on any computer system, and to redistribute it freely,
+  *	subject to the following restrictions:
+  *
+  *	1. The author is not responsible for the consequences of use of
+  *		this software, no matter how awful, even if they arise
+  *		from defects in it.
+  *
+  *	2. The origin of this software must not be misrepresented, either
+  *		by explicit claim or by omission.
+  *
+  *	3. Altered versions must be plainly marked as such, and must not
+  *		be misrepresented as being the original software.
+  *
+  ****    Alterations to Henry's code are...
+  ****
+  ****    Copyright (c) 1989, Larry Wall
+  ****
+  ****    You may distribute under the terms of the GNU General Public License
+  ****    as specified in the README file that comes with the perl 3.0 kit.
+  *
+  * Beware that some of this code is subtly aware of the way operator
+  * precedence is structured in regular expressions.  Serious changes in
+  * regular-expression syntax might require a total rethink.
+  */
+ #include "EXTERN.h"
+ #include "perl.h"
+ #include "regcomp.h"
+ 
+ #ifndef STATIC
+ #define	STATIC	static
+ #endif
+ 
+ #ifdef DEBUGGING
+ int regnarrate = 0;
+ #endif
+ 
+ #define isALNUM(c) (isascii(c) && (isalpha(c) || isdigit(c) || c == '_'))
+ #define isSPACE(c) (isascii(c) && isspace(c))
+ #define isDIGIT(c) (isascii(c) && isdigit(c))
+ #define isUPPER(c) (isascii(c) && isupper(c))
+ 
+ /*
+  * regexec and friends
+  */
+ 
+ /*
+  * Global work variables for regexec().
+  */
+ static char *regprecomp;
+ static char *reginput;		/* String-input pointer. */
+ static char regprev;		/* char before regbol, \n if none */
+ static char *regbol;		/* Beginning of input, for ^ check. */
+ static char *regeol;		/* End of input, for $ check. */
+ static char **regstartp;	/* Pointer to startp array. */
+ static char **regendp;		/* Ditto for endp. */
+ static char *reglastparen;	/* Similarly for lastparen. */
+ static char *regtill;
+ 
+ static int regmyp_size = 0;
+ static char **regmystartp = Null(char**);
+ static char **regmyendp   = Null(char**);
+ 
+ /*
+  * Forwards.
+  */
+ STATIC int regtry();
+ STATIC int regmatch();
+ STATIC int regrepeat();
+ 
+ extern int multiline;
+ 
+ /*
+  - regexec - match a regexp against a string
+  */
+ int
+ regexec(prog, stringarg, strend, strbeg, minend, screamer, safebase)
+ register regexp *prog;
+ char *stringarg;
+ register char *strend;	/* pointer to null at end of string */
+ char *strbeg;	/* real beginning of string */
+ int minend;	/* end of match must be at least minend after stringarg */
+ STR *screamer;
+ int safebase;	/* no need to remember string in subbase */
+ {
+ 	register char *s;
+ 	register int i;
+ 	register char *c;
+ 	register char *string = stringarg;
+ 	register int tmp;
+ 	int minlen = 0;		/* must match at least this many chars */
+ 	int dontbother = 0;	/* how many characters not to try at end */
+ 
+ 	/* Be paranoid... */
+ 	if (prog == NULL || string == NULL) {
+ 		fatal("NULL regexp parameter");
+ 		return(0);
+ 	}
+ 
+ 	if (string == strbeg)	/* is ^ valid at stringarg? */
+ 	    regprev = '\n';
+ 	else {
+ 	    regprev = stringarg[-1];
+ 	    if (!multiline && regprev == '\n')
+ 		regprev = '\0';		/* force ^ to NOT match */
+ 	}
+ 	regprecomp = prog->precomp;
+ 	/* Check validity of program. */
+ 	if (UCHARAT(prog->program) != MAGIC) {
+ 		FAIL("corrupted regexp program");
+ 	}
+ 
+ 	if (prog->do_folding) {
+ 		safebase = FALSE;
+ 		i = strend - string;
+ 		New(1101,c,i+1,char);
+ 		(void)bcopy(string, c, i+1);
+ 		string = c;
+ 		strend = string + i;
+ 		for (s = string; s < strend; s++)
+ 			if (isUPPER(*s))
+ 				*s = tolower(*s);
+ 	}
+ 
+ 	/* If there is a "must appear" string, look for it. */
+ 	s = string;
+ 	if (prog->regmust != Nullstr &&
+ 	    (!(prog->reganch & 1) || (multiline && prog->regback >= 0)) ) {
+ 		if (stringarg == strbeg && screamer) {
+ 			if (screamfirst[prog->regmust->str_rare] >= 0)
+ 				s = screaminstr(screamer,prog->regmust);
+ 			else
+ 				s = Nullch;
+ 		}
+ #ifndef lint
+ 		else
+ 			s = fbminstr((unsigned char*)s, (unsigned char*)strend,
+ 			    prog->regmust);
+ #endif
+ 		if (!s) {
+ 			++prog->regmust->str_u.str_useful;	/* hooray */
+ 			goto phooey;	/* not present */
+ 		}
+ 		else if (prog->regback >= 0) {
+ 			s -= prog->regback;
+ 			if (s < string)
+ 			    s = string;
+ 			minlen = prog->regback + prog->regmust->str_cur;
+ 		}
+ 		else if (--prog->regmust->str_u.str_useful < 0) { /* boo */
+ 			str_free(prog->regmust);
+ 			prog->regmust = Nullstr;	/* disable regmust */
+ 			s = string;
+ 		}
+ 		else {
+ 			s = string;
+ 			minlen = prog->regmust->str_cur;
+ 		}
+ 	}
+ 
+ 	/* Mark beginning of line for ^ . */
+ 	regbol = string;
+ 
+ 	/* Mark end of line for $ (and such) */
+ 	regeol = strend;
+ 
+ 	/* see how far we have to get to not match where we matched before */
+ 	regtill = string+minend;
+ 
+ 	/* Allocate our backreference arrays */
+ 	if ( regmyp_size < prog->nparens + 1 ) {
+ 	    /* Allocate or enlarge the arrays */
+ 	    regmyp_size = prog->nparens + 1;
+ 	    if ( regmyp_size < 10 ) regmyp_size = 10;	/* minimum */
+ 	    if ( regmystartp ) {
+ 		/* reallocate larger */
+ 		Renew(regmystartp,regmyp_size,char*);
+ 		Renew(regmyendp,  regmyp_size,char*);
+ 	    }
+ 	    else {
+ 		/* Initial allocation */
+ 		New(1102,regmystartp,regmyp_size,char*);
+ 		New(1102,regmyendp,  regmyp_size,char*);
+ 	    }
+ 	
+ 	}
+ 
+ 	/* Simplest case:  anchored match need be tried only once. */
+ 	/*  [unless multiline is set] */
+ 	if (prog->reganch & 1) {
+ 		if (regtry(prog, string))
+ 			goto got_it;
+ 		else if (multiline) {
+ 			if (minlen)
+ 			    dontbother = minlen - 1;
+ 			strend -= dontbother;
+ 			/* for multiline we only have to try after newlines */
+ 			if (s > string)
+ 			    s--;
+ 			while (s < strend) {
+ 			    if (*s++ == '\n') {
+ 				if (s < strend && regtry(prog, s))
+ 				    goto got_it;
+ 			    }
+ 			}
+ 		}
+ 		goto phooey;
+ 	}
+ 
+ 	/* Messy cases:  unanchored match. */
+ 	if (prog->regstart) {
+ 		if (prog->reganch & 2) {	/* we have /x+whatever/ */
+ 		    /* it must be a one character string */
+ 		    i = prog->regstart->str_ptr[0];
+ 		    while (s < strend) {
+ 			    if (*s == i) {
+ 				    if (regtry(prog, s))
+ 					    goto got_it;
+ 				    s++;
+ 				    while (s < strend && *s == i)
+ 					s++;
+ 			    }
+ 			    s++;
+ 		    }
+ 		}
+ 		else if (prog->regstart->str_pok == 3) {
+ 		    /* We know what string it must start with. */
+ #ifndef lint
+ 		    while ((s = fbminstr((unsigned char*)s,
+ 		      (unsigned char*)strend, prog->regstart)) != NULL)
+ #else
+ 		    while (s = Nullch)
+ #endif
+ 		    {
+ 			    if (regtry(prog, s))
+ 				    goto got_it;
+ 			    s++;
+ 		    }
+ 		}
+ 		else {
+ 		    c = prog->regstart->str_ptr;
+ 		    while ((s = ninstr(s, strend,
+ 		      c, c + prog->regstart->str_cur )) != NULL) {
+ 			    if (regtry(prog, s))
+ 				    goto got_it;
+ 			    s++;
+ 		    }
+ 		}
+ 		goto phooey;
+ 	}
+ 	if (c = prog->regstclass) {
+ 		int doevery = (prog->reganch & 2) == 0;
+ 
+ 		if (minlen)
+ 		    dontbother = minlen - 1;
+ 		strend -= dontbother;	/* don't bother with what can't match */
+ 		tmp = 1;
+ 		/* We know what class it must start with. */
+ 		switch (OP(c)) {
+ 		case ANYOF:
+ 		    c = OPERAND(c);
+ 		    while (s < strend) {
+ 			    i = UCHARAT(s);
+ 			    if (!(c[i >> 3] & (1 << (i&7)))) {
+ 				    if (tmp && regtry(prog, s))
+ 					    goto got_it;
+ 				    else
+ 					    tmp = doevery;
+ 			    }
+ 			    else
+ 				    tmp = 1;
+ 			    s++;
+ 		    }
+ 		    break;
+ 		case BOUND:
+ 		    if (minlen)
+ 			dontbother++,strend--;
+ 		    if (s != string) {
+ 			i = s[-1];
+ 			tmp = isALNUM(i);
+ 		    }
+ 		    else
+ 			tmp = isALNUM(regprev);	/* assume not alphanumeric */
+ 		    while (s < strend) {
+ 			    i = *s;
+ 			    if (tmp != isALNUM(i)) {
+ 				    tmp = !tmp;
+ 				    if (regtry(prog, s))
+ 					    goto got_it;
+ 			    }
+ 			    s++;
+ 		    }
+ 		    if ((minlen || tmp) && regtry(prog,s))
+ 			    goto got_it;
+ 		    break;
+ 		case NBOUND:
+ 		    if (minlen)
+ 			dontbother++,strend--;
+ 		    if (s != string) {
+ 			i = s[-1];
+ 			tmp = isALNUM(i);
+ 		    }
+ 		    else
+ 			tmp = isALNUM(regprev);	/* assume not alphanumeric */
+ 		    while (s < strend) {
+ 			    i = *s;
+ 			    if (tmp != isALNUM(i))
+ 				    tmp = !tmp;
+ 			    else if (regtry(prog, s))
+ 				    goto got_it;
+ 			    s++;
+ 		    }
+ 		    if ((minlen || !tmp) && regtry(prog,s))
+ 			    goto got_it;
+ 		    break;
+ 		case ALNUM:
+ 		    while (s < strend) {
+ 			    i = *s;
+ 			    if (isALNUM(i)) {
+ 				    if (tmp && regtry(prog, s))
+ 					    goto got_it;
+ 				    else
+ 					    tmp = doevery;
+ 			    }
+ 			    else
+ 				    tmp = 1;
+ 			    s++;
+ 		    }
+ 		    break;
+ 		case NALNUM:
+ 		    while (s < strend) {
+ 			    i = *s;
+ 			    if (!isALNUM(i)) {
+ 				    if (tmp && regtry(prog, s))
+ 					    goto got_it;
+ 				    else
+ 					    tmp = doevery;
+ 			    }
+ 			    else
+ 				    tmp = 1;
+ 			    s++;
+ 		    }
+ 		    break;
+ 		case SPACE:
+ 		    while (s < strend) {
+ 			    if (isSPACE(*s)) {
+ 				    if (tmp && regtry(prog, s))
+ 					    goto got_it;
+ 				    else
+ 					    tmp = doevery;
+ 			    }
+ 			    else
+ 				    tmp = 1;
+ 			    s++;
+ 		    }
+ 		    break;
+ 		case NSPACE:
+ 		    while (s < strend) {
+ 			    if (!isSPACE(*s)) {
+ 				    if (tmp && regtry(prog, s))
+ 					    goto got_it;
+ 				    else
+ 					    tmp = doevery;
+ 			    }
+ 			    else
+ 				    tmp = 1;
+ 			    s++;
+ 		    }
+ 		    break;
+ 		case DIGIT:
+ 		    while (s < strend) {
+ 			    if (isDIGIT(*s)) {
+ 				    if (tmp && regtry(prog, s))
+ 					    goto got_it;
+ 				    else
+ 					    tmp = doevery;
+ 			    }
+ 			    else
+ 				    tmp = 1;
+ 			    s++;
+ 		    }
+ 		    break;
+ 		case NDIGIT:
+ 		    while (s < strend) {
+ 			    if (!isDIGIT(*s)) {
+ 				    if (tmp && regtry(prog, s))
+ 					    goto got_it;
+ 				    else
+ 					    tmp = doevery;
+ 			    }
+ 			    else
+ 				    tmp = 1;
+ 			    s++;
+ 		    }
+ 		    break;
+ 		}
+ 	}
+ 	else {
+ 		if (minlen)
+ 		    dontbother = minlen - 1;
+ 		strend -= dontbother;
+ 		/* We don't know much -- general case. */
+ 		do {
+ 			if (regtry(prog, s))
+ 				goto got_it;
+ 		} while (s++ < strend);
+ 	}
+ 
+ 	/* Failure. */
+ 	goto phooey;
+ 
+     got_it:
+ 	if ((!safebase && (prog->nparens || sawampersand)) || prog->do_folding){
+ 		strend += dontbother;	/* uncheat */
+ 		if (safebase)			/* no need for $digit later */
+ 		    s = strbeg;
+ 		else if (strbeg != prog->subbase) {
+ 		    i = strend - string + (stringarg - strbeg);
+ 		    s = nsavestr(strbeg,i);	/* so $digit will work later */
+ 		    if (prog->subbase)
+ 			    Safefree(prog->subbase);
+ 		    prog->subbase = s;
+ 		    prog->subend = s+i;
+ 		}
+ 		else
+ 		    s = prog->subbase;
+ 		s += (stringarg - strbeg);
+ 		for (i = 0; i <= prog->nparens; i++) {
+ 			if (prog->endp[i]) {
+ 			    prog->startp[i] = s + (prog->startp[i] - string);
+ 			    prog->endp[i] = s + (prog->endp[i] - string);
+ 			}
+ 		}
+ 		if (prog->do_folding)
+ 			Safefree(string);
+ 	}
+ 	return(1);
+ 
+     phooey:
+ 	if (prog->do_folding)
+ 		Safefree(string);
+ 	return(0);
+ }
+ 
+ /*
+  - regtry - try match at specific point
+  */
+ static int			/* 0 failure, 1 success */
+ regtry(prog, string)
+ regexp *prog;
+ char *string;
+ {
+ 	register int i;
+ 	register char **sp;
+ 	register char **ep;
+ 
+ 	reginput = string;
+ 	regstartp = prog->startp;
+ 	regendp = prog->endp;
+ 	reglastparen = &prog->lastparen;
+ 	prog->lastparen = 0;
+ 
+ 	sp = prog->startp;
+ 	ep = prog->endp;
+ 	if (prog->nparens) {
+ 		for (i = prog->nparens; i >= 0; i--) {
+ 			*sp++ = NULL;
+ 			*ep++ = NULL;
+ 		}
+ 	}
+ 	if (regmatch(prog->program + 1) && reginput >= regtill) {
+ 		prog->startp[0] = string;
+ 		prog->endp[0] = reginput;
+ 		return(1);
+ 	} else
+ 		return(0);
+ }
+ 
+ /*
+  - regmatch - main matching routine
+  *
+  * Conceptually the strategy is simple:  check to see whether the current
+  * node matches, call self recursively to see whether the rest matches,
+  * and then act accordingly.  In practice we make some effort to avoid
+  * recursion, in particular by going through "ordinary" nodes (that don't
+  * need to know whether the rest of the match failed) by a loop instead of
+  * by recursion.
+  */
+ /* [lwall] I've hoisted the register declarations to the outer block in order to
+  * maybe save a little bit of pushing and popping on the stack.  It also takes
+  * advantage of machines that use a register save mask on subroutine entry.
+  */
+ static int			/* 0 failure, 1 success */
+ regmatch(prog)
+ char *prog;
+ {
+ 	register char *scan;	/* Current node. */
+ 	char *next;		/* Next node. */
+ 	register int nextchar;
+ 	register int n;		/* no or next */
+ 	register int ln;        /* len or last */
+ 	register char *s;	/* operand or save */
+ 	register char *locinput = reginput;
+ 
+ 	nextchar = *locinput;
+ 	scan = prog;
+ #ifdef DEBUGGING
+ 	if (scan != NULL && regnarrate)
+ 		fprintf(stderr, "%s(\n", regprop(scan));
+ #endif
+ 	while (scan != NULL) {
+ #ifdef DEBUGGING
+ 		if (regnarrate)
+ 			fprintf(stderr, "%s...\n", regprop(scan));
+ #endif
+ 
+ #ifdef REGALIGN
+ 		next = scan + NEXT(scan);
+ 		if (next == scan)
+ 		    next = NULL;
+ #else
+ 		next = regnext(scan);
+ #endif
+ 
+ 		switch (OP(scan)) {
+ 		case BOL:
+ 			if (locinput == regbol ? regprev == '\n' :
+ 			    ((nextchar || locinput < regeol) &&
+ 			      locinput[-1] == '\n') )
+ 			{
+ 				/* regtill = regbol; */
+ 				break;
+ 			}
+ 			return(0);
+ 		case EOL:
+ 			if ((nextchar || locinput < regeol) && nextchar != '\n')
+ 				return(0);
+ 			if (!multiline && regeol - locinput > 1)
+ 				return 0;
+ 			/* regtill = regbol; */
+ 			break;
+ 		case ANY:
+ 			if ((nextchar == '\0' && locinput >= regeol) ||
+ 			  nextchar == '\n')
+ 				return(0);
+ 			nextchar = *++locinput;
+ 			break;
+ 		case EXACTLY:
+ 			s = OPERAND(scan);
+ 			ln = *s++;
+ 			/* Inline the first character, for speed. */
+ 			if (*s != nextchar)
+ 				return(0);
+ 			if (regeol - locinput < ln)
+ 				return 0;
+ 			if (ln > 1 && bcmp(s, locinput, ln) != 0)
+ 				return(0);
+ 			locinput += ln;
+ 			nextchar = *locinput;
+ 			break;
+ 		case ANYOF:
+ 			s = OPERAND(scan);
+ 			if (nextchar < 0)
+ 				nextchar = UCHARAT(locinput);
+ 			if (s[nextchar >> 3] & (1 << (nextchar&7)))
+ 				return(0);
+ 			if (!nextchar && locinput >= regeol)
+ 				return 0;
+ 			nextchar = *++locinput;
+ 			break;
+ 		case ALNUM:
+ 			if (!nextchar)
+ 				return(0);
+ 			if (!isALNUM(nextchar))
+ 				return(0);
+ 			nextchar = *++locinput;
+ 			break;
+ 		case NALNUM:
+ 			if (!nextchar && locinput >= regeol)
+ 				return(0);
+ 			if (isALNUM(nextchar))
+ 				return(0);
+ 			nextchar = *++locinput;
+ 			break;
+ 		case NBOUND:
+ 		case BOUND:
+ 			if (locinput == regbol)	/* was last char in word? */
+ 				ln = isALNUM(regprev);
+ 			else 
+ 				ln = isALNUM(locinput[-1]);
+ 			n = isALNUM(nextchar); /* is next char in word? */
+ 			if ((ln == n) == (OP(scan) == BOUND))
+ 				return(0);
+ 			break;
+ 		case SPACE:
+ 			if (!nextchar && locinput >= regeol)
+ 				return(0);
+ 			if (!isSPACE(nextchar))
+ 				return(0);
+ 			nextchar = *++locinput;
+ 			break;
+ 		case NSPACE:
+ 			if (!nextchar)
+ 				return(0);
+ 			if (isSPACE(nextchar))
+ 				return(0);
+ 			nextchar = *++locinput;
+ 			break;
+ 		case DIGIT:
+ 			if (!isDIGIT(nextchar))
+ 				return(0);
+ 			nextchar = *++locinput;
+ 			break;
+ 		case NDIGIT:
+ 			if (!nextchar && locinput >= regeol)
+ 				return(0);
+ 			if (isDIGIT(nextchar))
+ 				return(0);
+ 			nextchar = *++locinput;
+ 			break;
+ 		case REF:
+ 			n = ARG1(scan);  /* which paren pair */
+ 			s = regmystartp[n];
+ 			if (!s)
+ 			    return(0);
+ 			if (!regmyendp[n])
+ 			    return(0);
+ 			if (s == regmyendp[n])
+ 			    break;
+ 			/* Inline the first character, for speed. */
+ 			if (*s != nextchar)
+ 				return(0);
+ 			ln = regmyendp[n] - s;
+ 			if (locinput + ln > regeol)
+ 				return 0;
+ 			if (ln > 1 && bcmp(s, locinput, ln) != 0)
+ 				return(0);
+ 			locinput += ln;
+ 			nextchar = *locinput;
+ 			break;
+ 
+ 		case NOTHING:
+ 			break;
+ 		case BACK:
+ 			break;
+ 		case OPEN:
+ 			n = ARG1(scan);  /* which paren pair */
+ 			reginput = locinput;
+ 
+ 			regmystartp[n] = locinput;	/* for REF */
+ 			if (regmatch(next)) {
+ 				/*
+ 				 * Don't set startp if some later
+ 				 * invocation of the same parentheses
+ 				 * already has.
+ 				 */
+ 				if (regstartp[n] == NULL)
+ 					regstartp[n] = locinput;
+ 				return(1);
+ 			} else
+ 				return(0);
+ 			/* NOTREACHED */
+ 		case CLOSE: {
+ 				n = ARG1(scan);  /* which paren pair */
+ 				reginput = locinput;
+ 
+ 				regmyendp[n] = locinput;	/* for REF */
+ 				if (regmatch(next)) {
+ 					/*
+ 					 * Don't set endp if some later
+ 					 * invocation of the same parentheses
+ 					 * already has.
+ 					 */
+ 					if (regendp[n] == NULL) {
+ 						regendp[n] = locinput;
+ 						if (n > *reglastparen)
+ 						    *reglastparen = n;
+ 					}
+ 					return(1);
+ 				} else
+ 					return(0);
+ 			}
+ 			/*NOTREACHED*/
+ 		case BRANCH: {
+ 				if (OP(next) != BRANCH)		/* No choice. */
+ 					next = NEXTOPER(scan);	/* Avoid recursion. */
+ 				else {
+ 					do {
+ 						reginput = locinput;
+ 						if (regmatch(NEXTOPER(scan)))
+ 							return(1);
+ #ifdef REGALIGN
+ 						if (n = NEXT(scan))
+ 						    scan += n;
+ 						else
+ 						    scan = NULL;
+ #else
+ 						scan = regnext(scan);
+ #endif
+ 					} while (scan != NULL && OP(scan) == BRANCH);
+ 					return(0);
+ 					/* NOTREACHED */
+ 				}
+ 			}
+ 			break;
+ 		case CURLY:
+ 			ln = ARG1(scan);  /* min to match */
+ 			n  = ARG2(scan);  /* max to match */
+ 			scan = NEXTOPER(scan) + 4;
+ 			goto repeat;
+ 		case STAR:
+ 			ln = 0;
+ 			n = 0;
+ 			scan = NEXTOPER(scan);
+ 			goto repeat;
+ 		case PLUS:
+ 			/*
+ 			 * Lookahead to avoid useless match attempts
+ 			 * when we know what character comes next.
+ 			 */
+ 			ln = 1;
+ 			n = 0;
+ 			scan = NEXTOPER(scan);
+ 		    repeat:
+ 			if (OP(next) == EXACTLY)
+ 				nextchar = *(OPERAND(next)+1);
+ 			else
+ 				nextchar = -1000;
+ 			reginput = locinput;
+ 			n = regrepeat(scan, n);
+ 			if (!multiline && OP(next) == EOL && ln < n)
+ 			    ln = n;			/* why back off? */
+ 			while (n >= ln) {
+ 				/* If it could work, try it. */
+ 				if (nextchar == -1000 || *reginput == nextchar)
+ 					if (regmatch(next))
+ 						return(1);
+ 				/* Couldn't or didn't -- back up. */
+ 				n--;
+ 				reginput = locinput + n;
+ 			}
+ 			return(0);
+ 		case END:
+ 			reginput = locinput; /* put where regtry can find it */
+ 			return(1);	/* Success! */
+ 		default:
+ 			printf("%x %d\n",scan,scan[1]);
+ 			FAIL("regexp memory corruption");
+ 		}
+ 
+ 		scan = next;
+ 	}
+ 
+ 	/*
+ 	 * We get here only if there's trouble -- normally "case END" is
+ 	 * the terminating point.
+ 	 */
+ 	FAIL("corrupted regexp pointers");
+ 	/*NOTREACHED*/
+ #ifdef lint
+ 	return 0;
+ #endif
+ }
+ 
+ /*
+  - regrepeat - repeatedly match something simple, report how many
+  */
+ /*
+  * [This routine now assumes that it will only match on things of length 1.
+  * That was true before, but now we assume scan - reginput is the count,
+  * rather than incrementing count on every character.]
+  */
+ static int
+ regrepeat(p, max)
+ char *p;
+ int max;
+ {
+ 	register char *scan;
+ 	register char *opnd;
+ 	register int c;
+ 	register char *loceol = regeol;
+ 
+ 	scan = reginput;
+ 	if (max && max < loceol - scan)
+ 	    loceol = scan + max;
+ 	opnd = OPERAND(p);
+ 	switch (OP(p)) {
+ 	case ANY:
+ 		while (scan < loceol && *scan != '\n')
+ 			scan++;
+ 		break;
+ 	case EXACTLY:		/* length of string is 1 */
+ 		opnd++;
+ 		while (scan < loceol && *opnd == *scan)
+ 			scan++;
+ 		break;
+ 	case ANYOF:
+ 		c = UCHARAT(scan);
+ 		while (scan < loceol && !(opnd[c >> 3] & (1 << (c & 7)))) {
+ 			scan++;
+ 			c = UCHARAT(scan);
+ 		}
+ 		break;
+ 	case ALNUM:
+ 		while (scan < loceol && isALNUM(*scan))
+ 			scan++;
+ 		break;
+ 	case NALNUM:
+ 		while (scan < loceol && !isALNUM(*scan))
+ 			scan++;
+ 		break;
+ 	case SPACE:
+ 		while (scan < loceol && isSPACE(*scan))
+ 			scan++;
+ 		break;
+ 	case NSPACE:
+ 		while (scan < loceol && !isSPACE(*scan))
+ 			scan++;
+ 		break;
+ 	case DIGIT:
+ 		while (scan < loceol && isDIGIT(*scan))
+ 			scan++;
+ 		break;
+ 	case NDIGIT:
+ 		while (scan < loceol && !isDIGIT(*scan))
+ 			scan++;
+ 		break;
+ 	default:		/* Oh dear.  Called inappropriately. */
+ 		FAIL("internal regexp foulup");
+ 		/* NOTREACHED */
+ 	}
+ 
+ 	c = scan - reginput;
+ 	reginput = scan;
+ 
+ 	return(c);
+ }
+ 
+ /*
+  - regnext - dig the "next" pointer out of a node
+  *
+  * [Note, when REGALIGN is defined there are two places in regmatch()
+  * that bypass this code for speed.]
+  */
+ char *
+ regnext(p)
+ register char *p;
+ {
+ 	register int offset;
+ 
+ 	if (p == &regdummy)
+ 		return(NULL);
+ 
+ 	offset = NEXT(p);
+ 	if (offset == 0)
+ 		return(NULL);
+ 
+ #ifdef REGALIGN
+ 	return(p+offset);
+ #else
+ 	if (OP(p) == BACK)
+ 		return(p-offset);
+ 	else
+ 		return(p+offset);
+ #endif
+ }


Index: llvm/test/Programs/MultiSource/Benchmarks/MallocBench/perl/regexp.h
diff -c /dev/null llvm/test/Programs/MultiSource/Benchmarks/MallocBench/perl/regexp.h:1.1.2.1
*** /dev/null	Mon Mar  1 17:59:25 2004
--- llvm/test/Programs/MultiSource/Benchmarks/MallocBench/perl/regexp.h	Mon Mar  1 17:59:13 2004
***************
*** 0 ****
--- 1,42 ----
+ /*
+  * Definitions etc. for regexp(3) routines.
+  *
+  * Caveat:  this is V8 regexp(3) [actually, a reimplementation thereof],
+  * not the System V one.
+  */
+ 
+ /* $Header: /home/vadve/shared/PublicCVS/llvm/test/Programs/MultiSource/Benchmarks/MallocBench/perl/regexp.h,v 1.1.2.1 2004/03/01 23:59:13 brukman Exp $
+  *
+  * $Log: regexp.h,v $
+  * Revision 1.1.2.1  2004/03/01 23:59:13  brukman
+  * Merge from trunk
+  *
+  * Revision 1.1  2004/02/17 22:21:16  criswell
+  * Initial commit of the perl Malloc Benchmark.  I've cheated a little by
+  * generating the yacc output files and committing them directly, but it was
+  * easier than disabling the Bison Voodoo that gets executed by default.
+  *
+  * Revision 4.0  91/03/20  01:39:23  lwall
+  * 4.0 baseline.
+  * 
+  */
+ 
+ typedef struct regexp {
+ 	char **startp;
+ 	char **endp;
+ 	STR *regstart;		/* Internal use only. */
+ 	char *regstclass;
+ 	STR *regmust;		/* Internal use only. */
+ 	int regback;		/* Can regmust locate first try? */
+ 	char *precomp;		/* pre-compilation regular expression */
+ 	char *subbase;		/* saved string so \digit works forever */
+ 	char *subend;		/* end of subbase */
+ 	char reganch;		/* Internal use only. */
+ 	char do_folding;	/* do case-insensitive match? */
+ 	char lastparen;		/* last paren matched */
+ 	char nparens;		/* number of parentheses */
+ 	char program[1];	/* Unwarranted chumminess with compiler. */
+ } regexp;
+ 
+ regexp *regcomp();
+ int regexec();


Index: llvm/test/Programs/MultiSource/Benchmarks/MallocBench/perl/spat.h
diff -c /dev/null llvm/test/Programs/MultiSource/Benchmarks/MallocBench/perl/spat.h:1.1.2.1
*** /dev/null	Mon Mar  1 17:59:25 2004
--- llvm/test/Programs/MultiSource/Benchmarks/MallocBench/perl/spat.h	Mon Mar  1 17:59:13 2004
***************
*** 0 ****
--- 1,46 ----
+ /* $Header: /home/vadve/shared/PublicCVS/llvm/test/Programs/MultiSource/Benchmarks/MallocBench/perl/spat.h,v 1.1.2.1 2004/03/01 23:59:13 brukman Exp $
+  *
+  *    Copyright (c) 1989, Larry Wall
+  *
+  *    You may distribute under the terms of the GNU General Public License
+  *    as specified in the README file that comes with the perl 3.0 kit.
+  *
+  * $Log: spat.h,v $
+  * Revision 1.1.2.1  2004/03/01 23:59:13  brukman
+  * Merge from trunk
+  *
+  * Revision 1.1  2004/02/17 22:21:16  criswell
+  * Initial commit of the perl Malloc Benchmark.  I've cheated a little by
+  * generating the yacc output files and committing them directly, but it was
+  * easier than disabling the Bison Voodoo that gets executed by default.
+  *
+  * Revision 4.0  91/03/20  01:39:36  lwall
+  * 4.0 baseline.
+  * 
+  */
+ 
+ struct scanpat {
+     SPAT	*spat_next;		/* list of all scanpats */
+     REGEXP	*spat_regexp;		/* compiled expression */
+     ARG		*spat_repl;		/* replacement string for subst */
+     ARG		*spat_runtime;		/* compile pattern at runtime */
+     STR		*spat_short;		/* for a fast bypass of execute() */
+     bool	spat_flags;
+     char	spat_slen;
+ };
+ 
+ #define SPAT_USED 1			/* spat has been used once already */
+ #define SPAT_ONCE 2			/* use pattern only once per reset */
+ #define SPAT_SCANFIRST 4		/* initial constant not anchored */
+ #define SPAT_ALL 8			/* initial constant is whole pat */
+ #define SPAT_SKIPWHITE 16		/* skip leading whitespace for split */
+ #define SPAT_FOLD 32			/* case insensitivity */
+ #define SPAT_CONST 64			/* subst replacement is constant */
+ #define SPAT_KEEP 128			/* keep 1st runtime pattern forever */
+ 
+ EXT SPAT *curspat;		/* what to do \ interps from */
+ EXT SPAT *lastspat;		/* what to use in place of null pattern */
+ 
+ EXT char *hint INIT(Nullch);	/* hint from cmd_exec to do_match et al */
+ 
+ #define Nullspat Null(SPAT*)


Index: llvm/test/Programs/MultiSource/Benchmarks/MallocBench/perl/stab.c
diff -c /dev/null llvm/test/Programs/MultiSource/Benchmarks/MallocBench/perl/stab.c:1.1.2.1
*** /dev/null	Mon Mar  1 17:59:25 2004
--- llvm/test/Programs/MultiSource/Benchmarks/MallocBench/perl/stab.c	Mon Mar  1 17:59:13 2004
***************
*** 0 ****
--- 1,893 ----
+ /* $RCSfile: stab.c,v $$Revision: 1.1.2.1 $$Date: 2004/03/01 23:59:13 $
+  *
+  *    Copyright (c) 1989, Larry Wall
+  *
+  *    You may distribute under the terms of the GNU General Public License
+  *    as specified in the README file that comes with the perl 3.0 kit.
+  *
+  * $Log: stab.c,v $
+  * Revision 1.1.2.1  2004/03/01 23:59:13  brukman
+  * Merge from trunk
+  *
+  * Revision 1.1  2004/02/17 22:21:16  criswell
+  * Initial commit of the perl Malloc Benchmark.  I've cheated a little by
+  * generating the yacc output files and committing them directly, but it was
+  * easier than disabling the Bison Voodoo that gets executed by default.
+  *
+  * Revision 4.0.1.1  91/04/12  09:10:24  lwall
+  * patch1: Configure now differentiates getgroups() type from getgid() type
+  * patch1: you may now use "die" and "caller" in a signal handler
+  * 
+  * Revision 4.0  91/03/20  01:39:41  lwall
+  * 4.0 baseline.
+  * 
+  */
+ 
+ #include "EXTERN.h"
+ #include "perl.h"
+ 
+ #if !defined(NSIG) || defined(M_UNIX) || defined(M_XENIX)
+ #include <signal.h>
+ #endif
+ 
+ static char *sig_name[] = {
+     SIG_NAME,0
+ };
+ 
+ #ifdef VOIDSIG
+ #define handlertype void
+ #else
+ #define handlertype int
+ #endif
+ 
+ static handlertype sighandler();
+ 
+ static int origalen = 0;
+ 
+ STR *
+ stab_str(str)
+ STR *str;
+ {
+     STAB *stab = str->str_u.str_stab;
+     register int paren;
+     register char *s;
+     register int i;
+ 
+     if (str->str_rare)
+ 	return stab_val(stab);
+ 
+     switch (*stab->str_magic->str_ptr) {
+     case '\004':		/* ^D */
+ #ifdef DEBUGGING
+ 	str_numset(stab_val(stab),(double)(debug & 32767));
+ #endif
+ 	break;
+     case '\t':			/* ^I */
+ 	if (inplace)
+ 	    str_set(stab_val(stab), inplace);
+ 	else
+ 	    str_sset(stab_val(stab),&str_undef);
+ 	break;
+     case '\024':		/* ^T */
+ 	str_numset(stab_val(stab),(double)basetime);
+ 	break;
+     case '\027':		/* ^W */
+ 	str_numset(stab_val(stab),(double)dowarn);
+ 	break;
+     case '1': case '2': case '3': case '4':
+     case '5': case '6': case '7': case '8': case '9': case '&':
+ 	if (curspat) {
+ 	    paren = atoi(stab_name(stab));
+ 	  getparen:
+ 	    if (curspat->spat_regexp &&
+ 	      paren <= curspat->spat_regexp->nparens &&
+ 	      (s = curspat->spat_regexp->startp[paren]) ) {
+ 		i = curspat->spat_regexp->endp[paren] - s;
+ 		if (i >= 0)
+ 		    str_nset(stab_val(stab),s,i);
+ 		else
+ 		    str_sset(stab_val(stab),&str_undef);
+ 	    }
+ 	    else
+ 		str_sset(stab_val(stab),&str_undef);
+ 	}
+ 	break;
+     case '+':
+ 	if (curspat) {
+ 	    paren = curspat->spat_regexp->lastparen;
+ 	    goto getparen;
+ 	}
+ 	break;
+     case '`':
+ 	if (curspat) {
+ 	    if (curspat->spat_regexp &&
+ 	      (s = curspat->spat_regexp->subbase) ) {
+ 		i = curspat->spat_regexp->startp[0] - s;
+ 		if (i >= 0)
+ 		    str_nset(stab_val(stab),s,i);
+ 		else
+ 		    str_nset(stab_val(stab),"",0);
+ 	    }
+ 	    else
+ 		str_nset(stab_val(stab),"",0);
+ 	}
+ 	break;
+     case '\'':
+ 	if (curspat) {
+ 	    if (curspat->spat_regexp &&
+ 	      (s = curspat->spat_regexp->endp[0]) ) {
+ 		str_nset(stab_val(stab),s, curspat->spat_regexp->subend - s);
+ 	    }
+ 	    else
+ 		str_nset(stab_val(stab),"",0);
+ 	}
+ 	break;
+     case '.':
+ #ifndef lint
+ 	if (last_in_stab) {
+ 	    str_numset(stab_val(stab),(double)stab_io(last_in_stab)->lines);
+ 	}
+ #endif
+ 	break;
+     case '?':
+ 	str_numset(stab_val(stab),(double)statusvalue);
+ 	break;
+     case '^':
+ 	s = stab_io(curoutstab)->top_name;
+ 	str_set(stab_val(stab),s);
+ 	break;
+     case '~':
+ 	s = stab_io(curoutstab)->fmt_name;
+ 	str_set(stab_val(stab),s);
+ 	break;
+ #ifndef lint
+     case '=':
+ 	str_numset(stab_val(stab),(double)stab_io(curoutstab)->page_len);
+ 	break;
+     case '-':
+ 	str_numset(stab_val(stab),(double)stab_io(curoutstab)->lines_left);
+ 	break;
+     case '%':
+ 	str_numset(stab_val(stab),(double)stab_io(curoutstab)->page);
+ 	break;
+ #endif
+     case '/':
+ 	break;
+     case '[':
+ 	str_numset(stab_val(stab),(double)arybase);
+ 	break;
+     case '|':
+ 	if (!stab_io(curoutstab))
+ 	    stab_io(curoutstab) = stio_new();
+ 	str_numset(stab_val(stab),
+ 	   (double)((stab_io(curoutstab)->flags & IOF_FLUSH) != 0) );
+ 	break;
+     case ',':
+ 	str_nset(stab_val(stab),ofs,ofslen);
+ 	break;
+     case '\\':
+ 	str_nset(stab_val(stab),ors,orslen);
+ 	break;
+     case '#':
+ 	str_set(stab_val(stab),ofmt);
+ 	break;
+     case '!':
+ 	str_numset(stab_val(stab), (double)errno);
+ 	str_set(stab_val(stab), errno ? strerror(errno) : "");
+ 	stab_val(stab)->str_nok = 1;	/* what a wonderful hack! */
+ 	break;
+     case '<':
+ 	str_numset(stab_val(stab),(double)uid);
+ 	break;
+     case '>':
+ 	str_numset(stab_val(stab),(double)euid);
+ 	break;
+     case '(':
+ 	s = buf;
+ 	(void)sprintf(s,"%d",(int)gid);
+ 	goto add_groups;
+     case ')':
+ 	s = buf;
+ 	(void)sprintf(s,"%d",(int)egid);
+       add_groups:
+ 	while (*s) s++;
+ #ifdef HAS_GETGROUPS
+ #ifndef NGROUPS
+ #define NGROUPS 32
+ #endif
+ 	{
+ 	    GROUPSTYPE gary[NGROUPS];
+ 
+ 	    i = getgroups(NGROUPS,gary);
+ 	    while (--i >= 0) {
+ 		(void)sprintf(s," %ld", (long)gary[i]);
+ 		while (*s) s++;
+ 	    }
+ 	}
+ #endif
+ 	str_set(stab_val(stab),buf);
+ 	break;
+     case '*':
+ 	break;
+     case '0':
+ 	break;
+     default:
+ 	{
+ 	    struct ufuncs *uf = (struct ufuncs *)str->str_ptr;
+ 
+ 	    if (uf && uf->uf_val)
+ 		(*uf->uf_val)(uf->uf_index, stab_val(stab));
+ 	}
+ 	break;
+     }
+     return stab_val(stab);
+ }
+ 
+ stabset(mstr,str)
+ register STR *mstr;
+ STR *str;
+ {
+     STAB *stab = mstr->str_u.str_stab;
+     register char *s;
+     int i;
+ 
+     switch (mstr->str_rare) {
+     case 'E':
+ 	my_setenv(mstr->str_ptr,str_get(str));
+ 				/* And you'll never guess what the dog had */
+ 				/*   in its mouth... */
+ #ifdef TAINT
+ 	if (strEQ(mstr->str_ptr,"PATH")) {
+ 	    char *strend = str->str_ptr + str->str_cur;
+ 
+ 	    s = str->str_ptr;
+ 	    while (s < strend) {
+ 		s = cpytill(tokenbuf,s,strend,':',&i);
+ 		s++;
+ 		if (*tokenbuf != '/'
+ 		  || (stat(tokenbuf,&statbuf) && (statbuf.st_mode & 2)) )
+ 		    str->str_tainted = 2;
+ 	    }
+ 	}
+ #endif
+ 	break;
+     case 'S':
+ 	s = str_get(str);
+ 	i = whichsig(mstr->str_ptr);	/* ...no, a brick */
+ 	if (strEQ(s,"IGNORE"))
+ #ifndef lint
+ 	    (void)signal(i,SIG_IGN);
+ #else
+ 	    ;
+ #endif
+ 	else if (strEQ(s,"DEFAULT") || !*s)
+ 	    (void)signal(i,SIG_DFL);
+ 	else {
+ 	    (void)signal(i,sighandler);
+ 	    if (!index(s,'\'')) {
+ 		sprintf(tokenbuf, "main'%s",s);
+ 		str_set(str,tokenbuf);
+ 	    }
+ 	}
+ 	break;
+ #ifdef SOME_DBM
+     case 'D':
+ 	hdbmstore(stab_hash(stab),mstr->str_ptr,mstr->str_cur,str);
+ 	break;
+ #endif
+     case 'L':
+ 	{
+ 	    CMD *cmd;
+ 
+ 	    i = str_true(str);
+ 	    str = afetch(stab_xarray(stab),atoi(mstr->str_ptr), FALSE);
+ 	    cmd = str->str_magic->str_u.str_cmd;
+ 	    cmd->c_flags &= ~CF_OPTIMIZE;
+ 	    cmd->c_flags |= i? CFT_D1 : CFT_D0;
+ 	}
+ 	break;
+     case '#':
+ 	afill(stab_array(stab), (int)str_gnum(str) - arybase);
+ 	break;
+     case 'X':	/* merely a copy of a * string */
+ 	break;
+     case '*':
+ 	s = str_get(str);
+ 	if (strNE(s,"StB") || str->str_cur != sizeof(STBP)) {
+ 	    if (!*s) {
+ 		STBP *stbp;
+ 
+ 		(void)savenostab(stab);	/* schedule a free of this stab */
+ 		if (stab->str_len)
+ 		    Safefree(stab->str_ptr);
+ 		Newz(601,stbp, 1, STBP);
+ 		stab->str_ptr = stbp;
+ 		stab->str_len = stab->str_cur = sizeof(STBP);
+ 		stab->str_pok = 1;
+ 		strcpy(stab_magic(stab),"StB");
+ 		stab_val(stab) = Str_new(70,0);
+ 		stab_line(stab) = curcmd->c_line;
+ 		stab_stash(stab) = curcmd->c_stash;
+ 	    }
+ 	    else {
+ 		stab = stabent(s,TRUE);
+ 		if (!stab_xarray(stab))
+ 		    aadd(stab);
+ 		if (!stab_xhash(stab))
+ 		    hadd(stab);
+ 		if (!stab_io(stab))
+ 		    stab_io(stab) = stio_new();
+ 	    }
+ 	    str_sset(str,stab);
+ 	}
+ 	break;
+     case 's': {
+ 	    struct lstring *lstr = (struct lstring*)str;
+ 	    char *tmps;
+ 
+ 	    mstr->str_rare = 0;
+ 	    str->str_magic = Nullstr;
+ 	    tmps = str_get(str);
+ 	    str_insert(mstr,lstr->lstr_offset,lstr->lstr_len,
+ 	      tmps,str->str_cur);
+ 	}
+ 	break;
+ 
+     case 'v':
+ 	do_vecset(mstr,str);
+ 	break;
+ 
+     case 0:
+ 	switch (*stab->str_magic->str_ptr) {
+ 	case '\004':	/* ^D */
+ #ifdef DEBUGGING
+ 	    debug = (int)(str_gnum(str)) | 32768;
+ #endif
+ 	    break;
+ 	case '\t':	/* ^I */
+ 	    if (inplace)
+ 		Safefree(inplace);
+ 	    if (str->str_pok || str->str_nok)
+ 		inplace = savestr(str_get(str));
+ 	    else
+ 		inplace = Nullch;
+ 	    break;
+ 	case '\024':	/* ^T */
+ 	    basetime = (long)str_gnum(str);
+ 	    break;
+ 	case '\027':	/* ^W */
+ 	    dowarn = (bool)str_gnum(str);
+ 	    break;
+ 	case '.':
+ 	    if (localizing)
+ 		savesptr((STR**)&last_in_stab);
+ 	    break;
+ 	case '^':
+ 	    Safefree(stab_io(curoutstab)->top_name);
+ 	    stab_io(curoutstab)->top_name = s = savestr(str_get(str));
+ 	    stab_io(curoutstab)->top_stab = stabent(s,TRUE);
+ 	    break;
+ 	case '~':
+ 	    Safefree(stab_io(curoutstab)->fmt_name);
+ 	    stab_io(curoutstab)->fmt_name = s = savestr(str_get(str));
+ 	    stab_io(curoutstab)->fmt_stab = stabent(s,TRUE);
+ 	    break;
+ 	case '=':
+ 	    stab_io(curoutstab)->page_len = (long)str_gnum(str);
+ 	    break;
+ 	case '-':
+ 	    stab_io(curoutstab)->lines_left = (long)str_gnum(str);
+ 	    if (stab_io(curoutstab)->lines_left < 0L)
+ 		stab_io(curoutstab)->lines_left = 0L;
+ 	    break;
+ 	case '%':
+ 	    stab_io(curoutstab)->page = (long)str_gnum(str);
+ 	    break;
+ 	case '|':
+ 	    if (!stab_io(curoutstab))
+ 		stab_io(curoutstab) = stio_new();
+ 	    stab_io(curoutstab)->flags &= ~IOF_FLUSH;
+ 	    if (str_gnum(str) != 0.0) {
+ 		stab_io(curoutstab)->flags |= IOF_FLUSH;
+ 	    }
+ 	    break;
+ 	case '*':
+ 	    i = (int)str_gnum(str);
+ 	    multiline = (i != 0);
+ 	    break;
+ 	case '/':
+ 	    if (str->str_pok) {
+ 		rs = str_get(str);
+ 		rslen = str->str_cur;
+ 		if (!rslen) {
+ 		    rs = "\n\n";
+ 		    rslen = 2;
+ 		}
+ 		rschar = rs[rslen - 1];
+ 	    }
+ 	    else {
+ 		rschar = 0777;	/* fake a non-existent char */
+ 		rslen = 1;
+ 	    }
+ 	    break;
+ 	case '\\':
+ 	    if (ors)
+ 		Safefree(ors);
+ 	    ors = savestr(str_get(str));
+ 	    orslen = str->str_cur;
+ 	    break;
+ 	case ',':
+ 	    if (ofs)
+ 		Safefree(ofs);
+ 	    ofs = savestr(str_get(str));
+ 	    ofslen = str->str_cur;
+ 	    break;
+ 	case '#':
+ 	    if (ofmt)
+ 		Safefree(ofmt);
+ 	    ofmt = savestr(str_get(str));
+ 	    break;
+ 	case '[':
+ 	    arybase = (int)str_gnum(str);
+ 	    break;
+ 	case '?':
+ 	    statusvalue = U_S(str_gnum(str));
+ 	    break;
+ 	case '!':
+ 	    errno = (int)str_gnum(str);		/* will anyone ever use this? */
+ 	    break;
+ 	case '<':
+ 	    uid = (int)str_gnum(str);
+ #ifdef HAS_SETREUID
+ 	    if (delaymagic) {
+ 		delaymagic |= DM_REUID;
+ 		break;				/* don't do magic till later */
+ 	    }
+ #endif /* HAS_SETREUID */
+ #ifdef HAS_SETRUID
+ 	    if (setruid((UIDTYPE)uid) < 0)
+ 		uid = (int)getuid();
+ #else
+ #ifdef HAS_SETREUID
+ 	    if (setreuid((UIDTYPE)uid, (UIDTYPE)-1) < 0)
+ 		uid = (int)getuid();
+ #else
+ 	    if (uid == euid)		/* special case $< = $> */
+ 		setuid(uid);
+ 	    else
+ 		fatal("setruid() not implemented");
+ #endif
+ #endif
+ 	    break;
+ 	case '>':
+ 	    euid = (int)str_gnum(str);
+ #ifdef HAS_SETREUID
+ 	    if (delaymagic) {
+ 		delaymagic |= DM_REUID;
+ 		break;				/* don't do magic till later */
+ 	    }
+ #endif /* HAS_SETREUID */
+ #ifdef HAS_SETEUID
+ 	    if (seteuid((UIDTYPE)euid) < 0)
+ 		euid = (int)geteuid();
+ #else
+ #ifdef HAS_SETREUID
+ 	    if (setreuid((UIDTYPE)-1, (UIDTYPE)euid) < 0)
+ 		euid = (int)geteuid();
+ #else
+ 	    if (euid == uid)		/* special case $> = $< */
+ 		setuid(euid);
+ 	    else
+ 		fatal("seteuid() not implemented");
+ #endif
+ #endif
+ 	    break;
+ 	case '(':
+ 	    gid = (int)str_gnum(str);
+ #ifdef HAS_SETREGID
+ 	    if (delaymagic) {
+ 		delaymagic |= DM_REGID;
+ 		break;				/* don't do magic till later */
+ 	    }
+ #endif /* HAS_SETREGID */
+ #ifdef HAS_SETRGID
+ 	    (void)setrgid((GIDTYPE)gid);
+ #else
+ #ifdef HAS_SETREGID
+ 	    (void)setregid((GIDTYPE)gid, (GIDTYPE)-1);
+ #else
+ 	    fatal("setrgid() not implemented");
+ #endif
+ #endif
+ 	    break;
+ 	case ')':
+ 	    egid = (int)str_gnum(str);
+ #ifdef HAS_SETREGID
+ 	    if (delaymagic) {
+ 		delaymagic |= DM_REGID;
+ 		break;				/* don't do magic till later */
+ 	    }
+ #endif /* HAS_SETREGID */
+ #ifdef HAS_SETEGID
+ 	    (void)setegid((GIDTYPE)egid);
+ #else
+ #ifdef HAS_SETREGID
+ 	    (void)setregid((GIDTYPE)-1, (GIDTYPE)egid);
+ #else
+ 	    fatal("setegid() not implemented");
+ #endif
+ #endif
+ 	    break;
+ 	case ':':
+ 	    chopset = str_get(str);
+ 	    break;
+ 	case '0':
+ 	    if (!origalen) {
+ 		s = origargv[0];
+ 		s += strlen(s);
+ 		/* See if all the arguments are contiguous in memory */
+ 		for (i = 1; i < origargc; i++) {
+ 		    if (origargv[i] == s + 1)
+ 			s += strlen(++s);	/* this one is ok too */
+ 		}
+ 		if (origenviron[0] == s + 1) {	/* can grab env area too? */
+ 		    my_setenv("NoNeSuCh", Nullch);	/* force copy of environment */
+ 		    for (i = 0; origenviron[i]; i++)
+ 			if (origenviron[i] == s + 1)
+ 			    s += strlen(++s);
+ 		}
+ 		origalen = s - origargv[0];
+ 	    }
+ 	    s = str_get(str);
+ 	    i = str->str_cur;
+ 	    if (i >= origalen) {
+ 		i = origalen;
+ 		str->str_cur = i;
+ 		str->str_ptr[i] = '\0';
+ 		bcopy(s, origargv[0], i);
+ 	    }
+ 	    else {
+ 		bcopy(s, origargv[0], i);
+ 		s = origargv[0]+i;
+ 		*s++ = '\0';
+ 		while (++i < origalen)
+ 		    *s++ = ' ';
+ 	    }
+ 	    break;
+ 	default:
+ 	    {
+ 		struct ufuncs *uf = (struct ufuncs *)str->str_magic->str_ptr;
+ 
+ 		if (uf && uf->uf_set)
+ 		    (*uf->uf_set)(uf->uf_index, str);
+ 	    }
+ 	    break;
+ 	}
+ 	break;
+     }
+ }
+ 
+ whichsig(sig)
+ char *sig;
+ {
+     register char **sigv;
+ 
+     for (sigv = sig_name+1; *sigv; sigv++)
+ 	if (strEQ(sig,*sigv))
+ 	    return sigv - sig_name;
+ #ifdef SIGCLD
+     if (strEQ(sig,"CHLD"))
+ 	return SIGCLD;
+ #endif
+ #ifdef SIGCHLD
+     if (strEQ(sig,"CLD"))
+ 	return SIGCHLD;
+ #endif
+     return 0;
+ }
+ 
+ static handlertype
+ sighandler(sig)
+ int sig;
+ {
+     STAB *stab;
+     STR *str;
+     int oldsave = savestack->ary_fill;
+     int oldtmps_base = tmps_base;
+     register CSV *csv;
+     SUBR *sub;
+ 
+ #ifdef OS2		/* or anybody else who requires SIG_ACK */
+     signal(sig, SIG_ACK);
+ #endif
+     stab = stabent(
+ 	str_get(hfetch(stab_hash(sigstab),sig_name[sig],strlen(sig_name[sig]),
+ 	  TRUE)), TRUE);
+     sub = stab_sub(stab);
+     if (!sub && *sig_name[sig] == 'C' && instr(sig_name[sig],"LD")) {
+ 	if (sig_name[sig][1] == 'H')
+ 	    stab = stabent(str_get(hfetch(stab_hash(sigstab),"CLD",3,TRUE)),
+ 	      TRUE);
+ 	else
+ 	    stab = stabent(str_get(hfetch(stab_hash(sigstab),"CHLD",4,TRUE)),
+ 	      TRUE);
+ 	sub = stab_sub(stab);	/* gag */
+     }
+     if (!sub) {
+ 	if (dowarn)
+ 	    warn("SIG%s handler \"%s\" not defined.\n",
+ 		sig_name[sig], stab_name(stab) );
+ 	return;
+     }
+     saveaptr(&stack);
+     str = Str_new(15, sizeof(CSV));
+     str->str_state = SS_SCSV;
+     (void)apush(savestack,str);
+     csv = (CSV*)str->str_ptr;
+     csv->sub = sub;
+     csv->stab = stab;
+     csv->curcsv = curcsv;
+     csv->curcmd = curcmd;
+     csv->depth = sub->depth;
+     csv->wantarray = G_SCALAR;
+     csv->hasargs = TRUE;
+     csv->savearray = stab_xarray(defstab);
+     csv->argarray = stab_xarray(defstab) = stack = anew(defstab);
+     stack->ary_flags = 0;
+     curcsv = csv;
+     str = str_mortal(&str_undef);
+     str_set(str,sig_name[sig]);
+     (void)apush(stab_xarray(defstab),str);
+     sub->depth++;
+     if (sub->depth >= 2) {	/* save temporaries on recursion? */
+ 	if (sub->depth == 100 && dowarn)
+ 	    warn("Deep recursion on subroutine \"%s\"",stab_name(stab));
+ 	savelist(sub->tosave->ary_array,sub->tosave->ary_fill);
+     }
+ 
+     tmps_base = tmps_max;		/* protect our mortal string */
+     (void)cmd_exec(sub->cmd,G_SCALAR,0);		/* so do it already */
+     tmps_base = oldtmps_base;
+ 
+     restorelist(oldsave);		/* put everything back */
+ }
+ 
+ STAB *
+ aadd(stab)
+ register STAB *stab;
+ {
+     if (!stab_xarray(stab))
+ 	stab_xarray(stab) = anew(stab);
+     return stab;
+ }
+ 
+ STAB *
+ hadd(stab)
+ register STAB *stab;
+ {
+     if (!stab_xhash(stab))
+ 	stab_xhash(stab) = hnew(COEFFSIZE);
+     return stab;
+ }
+ 
+ STAB *
+ fstab(name)
+ char *name;
+ {
+     char tmpbuf[1200];
+     STAB *stab;
+ 
+     sprintf(tmpbuf,"'_<%s", name);
+     stab = stabent(tmpbuf, TRUE);
+     str_set(stab_val(stab), name);
+     if (perldb)
+ 	(void)hadd(aadd(stab));
+     return stab;
+ }
+ 
+ STAB *
+ stabent(name,add)
+ register char *name;
+ int add;
+ {
+     register STAB *stab;
+     register STBP *stbp;
+     int len;
+     register char *namend;
+     HASH *stash;
+     char *sawquote = Nullch;
+     char *prevquote = Nullch;
+     bool global = FALSE;
+ 
+     if (isascii(*name) && isupper(*name)) {
+ 	if (*name > 'I') {
+ 	    if (*name == 'S' && (
+ 	      strEQ(name, "SIG") ||
+ 	      strEQ(name, "STDIN") ||
+ 	      strEQ(name, "STDOUT") ||
+ 	      strEQ(name, "STDERR") ))
+ 		global = TRUE;
+ 	}
+ 	else if (*name > 'E') {
+ 	    if (*name == 'I' && strEQ(name, "INC"))
+ 		global = TRUE;
+ 	}
+ 	else if (*name > 'A') {
+ 	    if (*name == 'E' && strEQ(name, "ENV"))
+ 		global = TRUE;
+ 	}
+ 	else if (*name == 'A' && (
+ 	  strEQ(name, "ARGV") ||
+ 	  strEQ(name, "ARGVOUT") ))
+ 	    global = TRUE;
+     }
+     for (namend = name; *namend; namend++) {
+ 	if (*namend == '\'' && namend[1])
+ 	    prevquote = sawquote, sawquote = namend;
+     }
+     if (sawquote == name && name[1]) {
+ 	stash = defstash;
+ 	sawquote = Nullch;
+ 	name++;
+     }
+     else if (!isalpha(*name) || global)
+ 	stash = defstash;
+     else if (curcmd == &compiling)
+ 	stash = curstash;
+     else
+ 	stash = curcmd->c_stash;
+     if (sawquote) {
+ 	char tmpbuf[256];
+ 	char *s, *d;
+ 
+ 	*sawquote = '\0';
+ 	if (s = prevquote) {
+ 	    strncpy(tmpbuf,name,s-name+1);
+ 	    d = tmpbuf+(s-name+1);
+ 	    *d++ = '_';
+ 	    strcpy(d,s+1);
+ 	}
+ 	else {
+ 	    *tmpbuf = '_';
+ 	    strcpy(tmpbuf+1,name);
+ 	}
+ 	stab = stabent(tmpbuf,TRUE);
+ 	if (!(stash = stab_xhash(stab)))
+ 	    stash = stab_xhash(stab) = hnew(0);
+ 	if (!stash->tbl_name)
+ 	    stash->tbl_name = savestr(name);
+ 	name = sawquote+1;
+ 	*sawquote = '\'';
+     }
+     len = namend - name;
+     stab = (STAB*)hfetch(stash,name,len,add);
+     if (stab == (STAB*)&str_undef)
+ 	return Nullstab;
+     if (stab->str_pok) {
+ 	stab->str_pok |= SP_MULTI;
+ 	return stab;
+     }
+     else {
+ 	if (stab->str_len)
+ 	    Safefree(stab->str_ptr);
+ 	Newz(602,stbp, 1, STBP);
+ 	stab->str_ptr = stbp;
+ 	stab->str_len = stab->str_cur = sizeof(STBP);
+ 	stab->str_pok = 1;
+ 	strcpy(stab_magic(stab),"StB");
+ 	stab_val(stab) = Str_new(72,0);
+ 	stab_line(stab) = curcmd->c_line;
+ 	str_magic(stab,stab,'*',name,len);
+ 	stab_stash(stab) = stash;
+ 	if (isdigit(*name) && *name != '0') {
+ 	    stab_flags(stab) = SF_VMAGIC;
+ 	    str_magic(stab_val(stab), stab, 0, Nullch, 0);
+ 	}
+ 	return stab;
+     }
+ }
+ 
+ stab_fullname(str,stab)
+ STR *str;
+ STAB *stab;
+ {
+     HASH *tb = stab_stash(stab);
+ 
+     if (!tb)
+ 	return;
+     str_set(str,tb->tbl_name);
+     str_ncat(str,"'", 1);
+     str_scat(str,stab->str_magic);
+ }
+ 
+ STIO *
+ stio_new()
+ {
+     STIO *stio;
+ 
+     Newz(603,stio,1,STIO);
+     stio->page_len = 60;
+     return stio;
+ }
+ 
+ stab_check(min,max)
+ int min;
+ register int max;
+ {
+     register HENT *entry;
+     register int i;
+     register STAB *stab;
+ 
+     for (i = min; i <= max; i++) {
+ 	for (entry = defstash->tbl_array[i]; entry; entry = entry->hent_next) {
+ 	    stab = (STAB*)entry->hent_val;
+ 	    if (stab->str_pok & SP_MULTI)
+ 		continue;
+ 	    curcmd->c_line = stab_line(stab);
+ 	    warn("Possible typo: \"%s\"", stab_name(stab));
+ 	}
+     }
+ }
+ 
+ static int gensym = 0;
+ 
+ STAB *
+ genstab()
+ {
+     (void)sprintf(tokenbuf,"_GEN_%d",gensym++);
+     return stabent(tokenbuf,TRUE);
+ }
+ 
+ /* hopefully this is only called on local symbol table entries */
+ 
+ void
+ stab_clear(stab)
+ register STAB *stab;
+ {
+     STIO *stio;
+     SUBR *sub;
+ 
+     afree(stab_xarray(stab));
+     stab_xarray(stab) = Null(ARRAY*);
+     (void)hfree(stab_xhash(stab), FALSE);
+     stab_xhash(stab) = Null(HASH*);
+     str_free(stab_val(stab));
+     stab_val(stab) = Nullstr;
+     if (stio = stab_io(stab)) {
+ 	do_close(stab,FALSE);
+ 	Safefree(stio->top_name);
+ 	Safefree(stio->fmt_name);
+     }
+     if (sub = stab_sub(stab)) {
+ 	afree(sub->tosave);
+ 	cmd_free(sub->cmd);
+     }
+     Safefree(stab->str_ptr);
+     stab->str_ptr = Null(STBP*);
+     stab->str_len = 0;
+     stab->str_cur = 0;
+ }
+ 
+ #if defined(CRIPPLED_CC) && (defined(iAPX286) || defined(M_I286) || defined(I80286))
+ #define MICROPORT
+ #endif
+ 
+ #ifdef	MICROPORT	/* Microport 2.4 hack */
+ ARRAY *stab_array(stab)
+ register STAB *stab;
+ {
+     if (((STBP*)(stab->str_ptr))->stbp_array) 
+ 	return ((STBP*)(stab->str_ptr))->stbp_array;
+     else
+ 	return ((STBP*)(aadd(stab)->str_ptr))->stbp_array;
+ }
+ 
+ HASH *stab_hash(stab)
+ register STAB *stab;
+ {
+     if (((STBP*)(stab->str_ptr))->stbp_hash)
+ 	return ((STBP*)(stab->str_ptr))->stbp_hash;
+     else
+ 	return ((STBP*)(hadd(stab)->str_ptr))->stbp_hash;
+ }
+ #endif			/* Microport 2.4 hack */


Index: llvm/test/Programs/MultiSource/Benchmarks/MallocBench/perl/stab.h
diff -c /dev/null llvm/test/Programs/MultiSource/Benchmarks/MallocBench/perl/stab.h:1.1.2.1
*** /dev/null	Mon Mar  1 17:59:25 2004
--- llvm/test/Programs/MultiSource/Benchmarks/MallocBench/perl/stab.h	Mon Mar  1 17:59:13 2004
***************
*** 0 ****
--- 1,121 ----
+ /* $Header: /home/vadve/shared/PublicCVS/llvm/test/Programs/MultiSource/Benchmarks/MallocBench/perl/stab.h,v 1.1.2.1 2004/03/01 23:59:13 brukman Exp $
+  *
+  *    Copyright (c) 1989, Larry Wall
+  *
+  *    You may distribute under the terms of the GNU General Public License
+  *    as specified in the README file that comes with the perl 3.0 kit.
+  *
+  * $Log: stab.h,v $
+  * Revision 1.1.2.1  2004/03/01 23:59:13  brukman
+  * Merge from trunk
+  *
+  * Revision 1.1  2004/02/17 22:21:16  criswell
+  * Initial commit of the perl Malloc Benchmark.  I've cheated a little by
+  * generating the yacc output files and committing them directly, but it was
+  * easier than disabling the Bison Voodoo that gets executed by default.
+  *
+  * Revision 4.0  91/03/20  01:39:49  lwall
+  * 4.0 baseline.
+  * 
+  */
+ 
+ struct stabptrs {
+     char        stbp_magic[4];
+     STR		*stbp_val;	/* scalar value */
+     struct stio *stbp_io;	/* filehandle value */
+     FCMD	*stbp_form;	/* format value */
+     ARRAY	*stbp_array;	/* array value */
+     HASH	*stbp_hash;	/* associative array value */
+     HASH	*stbp_stash;	/* symbol table for this stab */
+     SUBR	*stbp_sub;	/* subroutine value */
+     int		stbp_lastexpr;	/* used by nothing_in_common() */
+     line_t	stbp_line;	/* line first declared at (for -w) */
+     char	stbp_flags;
+ };
+ 
+ #if defined(CRIPPLED_CC) && (defined(iAPX286) || defined(M_I286) || defined(I80286))
+ #define MICROPORT
+ #endif
+ 
+ #define stab_magic(stab)	(((STBP*)(stab->str_ptr))->stbp_magic)
+ #define stab_val(stab)		(((STBP*)(stab->str_ptr))->stbp_val)
+ #define stab_io(stab)		(((STBP*)(stab->str_ptr))->stbp_io)
+ #define stab_form(stab)		(((STBP*)(stab->str_ptr))->stbp_form)
+ #define stab_xarray(stab)	(((STBP*)(stab->str_ptr))->stbp_array)
+ #ifdef	MICROPORT	/* Microport 2.4 hack */
+ ARRAY *stab_array();
+ #else
+ #define stab_array(stab)	(((STBP*)(stab->str_ptr))->stbp_array ? \
+ 				 ((STBP*)(stab->str_ptr))->stbp_array : \
+ 				 ((STBP*)(aadd(stab)->str_ptr))->stbp_array)
+ #endif
+ #define stab_xhash(stab)	(((STBP*)(stab->str_ptr))->stbp_hash)
+ #ifdef	MICROPORT	/* Microport 2.4 hack */
+ HASH *stab_hash();
+ #else
+ #define stab_hash(stab)		(((STBP*)(stab->str_ptr))->stbp_hash ? \
+ 				 ((STBP*)(stab->str_ptr))->stbp_hash : \
+ 				 ((STBP*)(hadd(stab)->str_ptr))->stbp_hash)
+ #endif			/* Microport 2.4 hack */
+ #define stab_stash(stab)	(((STBP*)(stab->str_ptr))->stbp_stash)
+ #define stab_sub(stab)		(((STBP*)(stab->str_ptr))->stbp_sub)
+ #define stab_lastexpr(stab)	(((STBP*)(stab->str_ptr))->stbp_lastexpr)
+ #define stab_line(stab)		(((STBP*)(stab->str_ptr))->stbp_line)
+ #define stab_flags(stab)	(((STBP*)(stab->str_ptr))->stbp_flags)
+ #define stab_name(stab)		(stab->str_magic->str_ptr)
+ 
+ #define SF_VMAGIC 1		/* call routine to dereference STR val */
+ #define SF_MULTI 2		/* seen more than once */
+ 
+ struct stio {
+     FILE	*ifp;		/* ifp and ofp are normally the same */
+     FILE	*ofp;		/* but sockets need separate streams */
+ #ifdef HAS_READDIR
+     DIR		*dirp;		/* for opendir, readdir, etc */
+ #endif
+     long	lines;		/* $. */
+     long	page;		/* $% */
+     long	page_len;	/* $= */
+     long	lines_left;	/* $- */
+     char	*top_name;	/* $^ */
+     STAB	*top_stab;	/* $^ */
+     char	*fmt_name;	/* $~ */
+     STAB	*fmt_stab;	/* $~ */
+     short	subprocess;	/* -| or |- */
+     char	type;
+     char	flags;
+ };
+ 
+ #define IOF_ARGV 1	/* this fp iterates over ARGV */
+ #define IOF_START 2	/* check for null ARGV and substitute '-' */
+ #define IOF_FLUSH 4	/* this fp wants a flush after write op */
+ 
+ struct sub {
+     CMD		*cmd;
+     int		(*usersub)();
+     int		userindex;
+     STAB	*filestab;
+     long	depth;	/* >= 2 indicates recursive call */
+     ARRAY	*tosave;
+ };
+ 
+ #define Nullstab Null(STAB*)
+ 
+ #define STAB_STR(s) (tmpstab = (s), stab_flags(tmpstab) & SF_VMAGIC ? stab_str(stab_val(tmpstab)->str_magic) : stab_val(tmpstab))
+ #define STAB_GET(s) (tmpstab = (s), str_get(stab_flags(tmpstab) & SF_VMAGIC ? stab_str(tmpstab->str_magic) : stab_val(tmpstab)))
+ #define STAB_GNUM(s) (tmpstab = (s), str_gnum(stab_flags(tmpstab) & SF_VMAGIC ? stab_str(tmpstab->str_magic) : stab_val(tmpstab)))
+ 
+ EXT STAB *tmpstab;
+ 
+ EXT STAB *stab_index[128];
+ 
+ EXT unsigned short statusvalue;
+ 
+ EXT int delaymagic INIT(0);
+ #define DM_DELAY 1
+ #define DM_REUID 2
+ #define DM_REGID 4
+ 
+ STAB *aadd();
+ STAB *hadd();
+ STAB *fstab();


Index: llvm/test/Programs/MultiSource/Benchmarks/MallocBench/perl/str.c
diff -c /dev/null llvm/test/Programs/MultiSource/Benchmarks/MallocBench/perl/str.c:1.1.2.1
*** /dev/null	Mon Mar  1 17:59:25 2004
--- llvm/test/Programs/MultiSource/Benchmarks/MallocBench/perl/str.c	Mon Mar  1 17:59:13 2004
***************
*** 0 ****
--- 1,1520 ----
+ /* $RCSfile: str.c,v $$Revision: 1.1.2.1 $$Date: 2004/03/01 23:59:13 $
+  *
+  *    Copyright (c) 1989, Larry Wall
+  *
+  *    You may distribute under the terms of the GNU General Public License
+  *    as specified in the README file that comes with the perl 3.0 kit.
+  *
+  * $Log: str.c,v $
+  * Revision 1.1.2.1  2004/03/01 23:59:13  brukman
+  * Merge from trunk
+  *
+  * Revision 1.1  2004/02/17 22:21:16  criswell
+  * Initial commit of the perl Malloc Benchmark.  I've cheated a little by
+  * generating the yacc output files and committing them directly, but it was
+  * easier than disabling the Bison Voodoo that gets executed by default.
+  *
+  * Revision 4.0.1.1  91/04/12  09:15:30  lwall
+  * patch1: fixed undefined environ problem
+  * patch1: substr($ENV{"PATH"},0,0) = "/foo:" didn't modify environment
+  * patch1: $foo .= <BAR> could cause core dump for certain lengths of $foo
+  * 
+  * Revision 4.0  91/03/20  01:39:55  lwall
+  * 4.0 baseline.
+  * 
+  */
+ 
+ #include "EXTERN.h"
+ #include "perl.h"
+ #include "perly.h"
+ 
+ #ifndef str_get
+ char *
+ str_get(str)
+ STR *str;
+ {
+ #ifdef TAINT
+     tainted |= str->str_tainted;
+ #endif
+     return str->str_pok ? str->str_ptr : str_2ptr(str);
+ }
+ #endif
+ 
+ /* dlb ... guess we have a "crippled cc".
+  * dlb the following functions are usually macros.
+  */
+ #ifndef str_true
+ str_true(Str)
+ STR *Str;
+ {
+ 	if (Str->str_pok) {
+ 	    if (*Str->str_ptr > '0' ||
+ 	      Str->str_cur > 1 ||
+ 	      (Str->str_cur && *Str->str_ptr != '0'))
+ 		return 1;
+ 	    return 0;
+ 	}
+ 	if (Str->str_nok)
+ 		return (Str->str_u.str_nval != 0.0);
+ 	return 0;
+ }
+ #endif /* str_true */
+ 
+ #ifndef str_gnum
+ double str_gnum(Str)
+ STR *Str;
+ {
+ #ifdef TAINT
+ 	tainted |= Str->str_tainted;
+ #endif /* TAINT*/
+ 	if (Str->str_nok)
+ 		return Str->str_u.str_nval;
+ 	return str_2num(Str);
+ }
+ #endif /* str_gnum */
+ /* dlb ... end of crutch */
+ 
+ char *
+ str_grow(str,newlen)
+ register STR *str;
+ #ifndef MSDOS
+ register int newlen;
+ #else
+ unsigned long newlen;
+ #endif
+ {
+     register char *s = str->str_ptr;
+ 
+ #ifdef MSDOS
+     if (newlen >= 0x10000) {
+ 	fprintf(stderr, "Allocation too large: %lx\n", newlen);
+ 	exit(1);
+     }
+ #endif /* MSDOS */
+     if (str->str_state == SS_INCR) {		/* data before str_ptr? */
+ 	str->str_len += str->str_u.str_useful;
+ 	str->str_ptr -= str->str_u.str_useful;
+ 	str->str_u.str_useful = 0L;
+ 	bcopy(s, str->str_ptr, str->str_cur+1);
+ 	s = str->str_ptr;
+ 	str->str_state = SS_NORM;			/* normal again */
+ 	if (newlen > str->str_len)
+ 	    newlen += 10 * (newlen - str->str_cur); /* avoid copy each time */
+     }
+     if (newlen > str->str_len) {		/* need more room? */
+         if (str->str_len)
+ 	    Renew(s,newlen,char);
+         else
+ 	    New(703,s,newlen,char);
+ 	str->str_ptr = s;
+         str->str_len = newlen;
+     }
+     return s;
+ }
+ 
+ str_numset(str,num)
+ register STR *str;
+ double num;
+ {
+     if (str->str_pok) {
+ 	str->str_pok = 0;	/* invalidate pointer */
+ 	if (str->str_state == SS_INCR)
+ 	    Str_Grow(str,0);
+     }
+     str->str_u.str_nval = num;
+     str->str_state = SS_NORM;
+     str->str_nok = 1;			/* validate number */
+ #ifdef TAINT
+     str->str_tainted = tainted;
+ #endif
+ }
+ 
+ char *
+ str_2ptr(str)
+ register STR *str;
+ {
+     register char *s;
+     int olderrno;
+ 
+     if (!str)
+ 	return "";
+     if (str->str_nok) {
+ 	STR_GROW(str, 30);
+ 	s = str->str_ptr;
+ 	olderrno = errno;	/* some Xenix systems wipe out errno here */
+ #if defined(scs) && defined(ns32000)
+ 	gcvt(str->str_u.str_nval,20,s);
+ #else
+ #ifdef apollo
+ 	if (str->str_u.str_nval == 0.0)
+ 	    (void)strcpy(s,"0");
+ 	else
+ #endif /*apollo*/
+ 	(void)sprintf(s,"%.20g",str->str_u.str_nval);
+ #endif /*scs*/
+ 	errno = olderrno;
+ 	while (*s) s++;
+ #ifdef hcx
+ 	if (s[-1] == '.')
+ 	    s--;
+ #endif
+     }
+     else {
+ 	if (str == &str_undef)
+ 	    return No;
+ 	if (dowarn)
+ 	    warn("Use of uninitialized variable");
+ 	STR_GROW(str, 30);
+ 	s = str->str_ptr;
+     }
+     *s = '\0';
+     str->str_cur = s - str->str_ptr;
+     str->str_pok = 1;
+ #ifdef DEBUGGING
+     if (debug & 32)
+ 	fprintf(stderr,"0x%lx ptr(%s)\n",str,str->str_ptr);
+ #endif
+     return str->str_ptr;
+ }
+ 
+ double
+ str_2num(str)
+ register STR *str;
+ {
+     if (!str)
+ 	return 0.0;
+     if (str->str_state == SS_INCR)
+ 	Str_Grow(str,0);       /* just force copy down */
+     str->str_state = SS_NORM;
+     if (str->str_len && str->str_pok)
+ 	str->str_u.str_nval = atof(str->str_ptr);
+     else  {
+ 	if (str == &str_undef)
+ 	    return 0.0;
+ 	if (dowarn)
+ 	    warn("Use of uninitialized variable");
+ 	str->str_u.str_nval = 0.0;
+     }
+     str->str_nok = 1;
+ #ifdef DEBUGGING
+     if (debug & 32)
+ 	fprintf(stderr,"0x%lx num(%g)\n",str,str->str_u.str_nval);
+ #endif
+     return str->str_u.str_nval;
+ }
+ 
+ /* Note: str_sset() should not be called with a source string that needs
+  * be reused, since it may destroy the source string if it is marked
+  * as temporary.
+  */
+ 
+ str_sset(dstr,sstr)
+ STR *dstr;
+ register STR *sstr;
+ {
+ #ifdef TAINT
+     if (sstr)
+ 	tainted |= sstr->str_tainted;
+ #endif
+     if (sstr == dstr || dstr == &str_undef)
+ 	return;
+     if (!sstr)
+ 	dstr->str_pok = dstr->str_nok = 0;
+     else if (sstr->str_pok) {
+ 
+ 	/*
+ 	 * Check to see if we can just swipe the string.  If so, it's a
+ 	 * possible small lose on short strings, but a big win on long ones.
+ 	 * It might even be a win on short strings if dstr->str_ptr
+ 	 * has to be allocated and sstr->str_ptr has to be freed.
+ 	 */
+ 
+ 	if (sstr->str_pok & SP_TEMP) {		/* slated for free anyway? */
+ 	    if (dstr->str_ptr) {
+ 		if (dstr->str_state == SS_INCR)
+ 		    dstr->str_ptr -= dstr->str_u.str_useful;
+ 		Safefree(dstr->str_ptr);
+ 	    }
+ 	    dstr->str_ptr = sstr->str_ptr;
+ 	    dstr->str_len = sstr->str_len;
+ 	    dstr->str_cur = sstr->str_cur;
+ 	    dstr->str_state = sstr->str_state;
+ 	    dstr->str_pok = sstr->str_pok & ~SP_TEMP;
+ #ifdef TAINT
+ 	    dstr->str_tainted = sstr->str_tainted;
+ #endif
+ 	    sstr->str_ptr = Nullch;
+ 	    sstr->str_len = 0;
+ 	    sstr->str_pok = 0;			/* wipe out any weird flags */
+ 	    sstr->str_state = 0;		/* so sstr frees uneventfully */
+ 	}
+ 	else {					/* have to copy actual string */
+ 	    if (dstr->str_ptr) {
+ 		if (dstr->str_state == SS_INCR) {
+ 			Str_Grow(dstr,0);
+ 		}
+ 	    }
+ 	    str_nset(dstr,sstr->str_ptr,sstr->str_cur);
+ 	}
+ 	if (dstr->str_nok = sstr->str_nok)
+ 	    dstr->str_u.str_nval = sstr->str_u.str_nval;
+ 	else {
+ #ifdef STRUCTCOPY
+ 	    dstr->str_u = sstr->str_u;
+ #else
+ 	    dstr->str_u.str_nval = sstr->str_u.str_nval;
+ #endif
+ 	    if (dstr->str_cur == sizeof(STBP)) {
+ 		char *tmps = dstr->str_ptr;
+ 
+ 		if (*tmps == 'S' && bcmp(tmps,"StB",4) == 0) {
+ 		    if (!dstr->str_magic) {
+ 			dstr->str_magic = str_smake(sstr->str_magic);
+ 			dstr->str_magic->str_rare = 'X';
+ 		    }
+ 		}
+ 	    }
+ 	}
+     }
+     else if (sstr->str_nok)
+ 	str_numset(dstr,sstr->str_u.str_nval);
+     else {
+ 	if (dstr->str_state == SS_INCR)
+ 	    Str_Grow(dstr,0);       /* just force copy down */
+ 
+ #ifdef STRUCTCOPY
+ 	dstr->str_u = sstr->str_u;
+ #else
+ 	dstr->str_u.str_nval = sstr->str_u.str_nval;
+ #endif
+ 	dstr->str_pok = dstr->str_nok = 0;
+     }
+ }
+ 
+ str_nset(str,ptr,len)
+ register STR *str;
+ register char *ptr;
+ register STRLEN len;
+ {
+     if (str == &str_undef)
+ 	return;
+     STR_GROW(str, len + 1);
+     if (ptr)
+ 	(void)bcopy(ptr,str->str_ptr,len);
+     str->str_cur = len;
+     *(str->str_ptr+str->str_cur) = '\0';
+     str->str_nok = 0;		/* invalidate number */
+     str->str_pok = 1;		/* validate pointer */
+ #ifdef TAINT
+     str->str_tainted = tainted;
+ #endif
+ }
+ 
+ str_set(str,ptr)
+ register STR *str;
+ register char *ptr;
+ {
+     register STRLEN len;
+ 
+     if (str == &str_undef)
+ 	return;
+     if (!ptr)
+ 	ptr = "";
+     len = strlen(ptr);
+     STR_GROW(str, len + 1);
+     (void)bcopy(ptr,str->str_ptr,len+1);
+     str->str_cur = len;
+     str->str_nok = 0;		/* invalidate number */
+     str->str_pok = 1;		/* validate pointer */
+ #ifdef TAINT
+     str->str_tainted = tainted;
+ #endif
+ }
+ 
+ str_chop(str,ptr)	/* like set but assuming ptr is in str */
+ register STR *str;
+ register char *ptr;
+ {
+     register STRLEN delta;
+ 
+     if (!ptr || !(str->str_pok))
+ 	return;
+     delta = ptr - str->str_ptr;
+     str->str_len -= delta;
+     str->str_cur -= delta;
+     str->str_ptr += delta;
+     if (str->str_state == SS_INCR)
+ 	str->str_u.str_useful += delta;
+     else {
+ 	str->str_u.str_useful = delta;
+ 	str->str_state = SS_INCR;
+     }
+     str->str_nok = 0;		/* invalidate number */
+     str->str_pok = 1;		/* validate pointer (and unstudy str) */
+ }
+ 
+ str_ncat(str,ptr,len)
+ register STR *str;
+ register char *ptr;
+ register STRLEN len;
+ {
+     if (str == &str_undef)
+ 	return;
+     if (!(str->str_pok))
+ 	(void)str_2ptr(str);
+     STR_GROW(str, str->str_cur + len + 1);
+     (void)bcopy(ptr,str->str_ptr+str->str_cur,len);
+     str->str_cur += len;
+     *(str->str_ptr+str->str_cur) = '\0';
+     str->str_nok = 0;		/* invalidate number */
+     str->str_pok = 1;		/* validate pointer */
+ #ifdef TAINT
+     str->str_tainted |= tainted;
+ #endif
+ }
+ 
+ str_scat(dstr,sstr)
+ STR *dstr;
+ register STR *sstr;
+ {
+ #ifdef TAINT
+     tainted |= sstr->str_tainted;
+ #endif
+     if (!sstr)
+ 	return;
+     if (!(sstr->str_pok))
+ 	(void)str_2ptr(sstr);
+     if (sstr)
+ 	str_ncat(dstr,sstr->str_ptr,sstr->str_cur);
+ }
+ 
+ str_cat(str,ptr)
+ register STR *str;
+ register char *ptr;
+ {
+     register STRLEN len;
+ 
+     if (str == &str_undef)
+ 	return;
+     if (!ptr)
+ 	return;
+     if (!(str->str_pok))
+ 	(void)str_2ptr(str);
+     len = strlen(ptr);
+     STR_GROW(str, str->str_cur + len + 1);
+     (void)bcopy(ptr,str->str_ptr+str->str_cur,len+1);
+     str->str_cur += len;
+     str->str_nok = 0;		/* invalidate number */
+     str->str_pok = 1;		/* validate pointer */
+ #ifdef TAINT
+     str->str_tainted |= tainted;
+ #endif
+ }
+ 
+ char *
+ str_append_till(str,from,fromend,delim,keeplist)
+ register STR *str;
+ register char *from;
+ register char *fromend;
+ register int delim;
+ char *keeplist;
+ {
+     register char *to;
+     register STRLEN len;
+ 
+     if (str == &str_undef)
+ 	return Nullch;
+     if (!from)
+ 	return Nullch;
+     len = fromend - from;
+     STR_GROW(str, str->str_cur + len + 1);
+     str->str_nok = 0;		/* invalidate number */
+     str->str_pok = 1;		/* validate pointer */
+     to = str->str_ptr+str->str_cur;
+     for (; from < fromend; from++,to++) {
+ 	if (*from == '\\' && from+1 < fromend && delim != '\\') {
+ 	    if (!keeplist) {
+ 		if (from[1] == delim || from[1] == '\\')
+ 		    from++;
+ 		else
+ 		    *to++ = *from++;
+ 	    }
+ 	    else if (from[1] && index(keeplist,from[1]))
+ 		*to++ = *from++;
+ 	    else
+ 		from++;
+ 	}
+ 	else if (*from == delim)
+ 	    break;
+ 	*to = *from;
+     }
+     *to = '\0';
+     str->str_cur = to - str->str_ptr;
+     return from;
+ }
+ 
+ STR *
+ #ifdef LEAKTEST
+ str_new(x,len)
+ int x;
+ #else
+ str_new(len)
+ #endif
+ STRLEN len;
+ {
+     register STR *str;
+ 
+ #if defined(NOMEMOPT)
+     Newz(700+x,str,1,STR);
+ #else    
+     if (freestrroot) {
+ 	str = freestrroot;
+ 	freestrroot = str->str_magic;
+ 	str->str_magic = Nullstr;
+ 	str->str_state = SS_NORM;
+     }
+     else {
+ 	Newz(700+x,str,1,STR);
+     }
+ #endif
+     if (len)
+ 	STR_GROW(str, len + 1);
+     return str;
+ }
+ 
+ void
+ str_magic(str, stab, how, name, namlen)
+ register STR *str;
+ STAB *stab;
+ int how;
+ char *name;
+ STRLEN namlen;
+ {
+     if (str == &str_undef || str->str_magic)
+ 	return;
+     str->str_magic = Str_new(75,namlen);
+     str = str->str_magic;
+     str->str_u.str_stab = stab;
+     str->str_rare = how;
+     if (name)
+ 	str_nset(str,name,namlen);
+ }
+ 
+ void
+ str_insert(bigstr,offset,len,little,littlelen)
+ STR *bigstr;
+ STRLEN offset;
+ STRLEN len;
+ char *little;
+ STRLEN littlelen;
+ {
+     register char *big;
+     register char *mid;
+     register char *midend;
+     register char *bigend;
+     register int i;
+ 
+     if (bigstr == &str_undef)
+ 	return;
+     bigstr->str_nok = 0;
+     bigstr->str_pok = SP_VALID;	/* disable possible screamer */
+ 
+     i = littlelen - len;
+     if (i > 0) {			/* string might grow */
+ 	STR_GROW(bigstr, bigstr->str_cur + i + 1);
+ 	big = bigstr->str_ptr;
+ 	mid = big + offset + len;
+ 	midend = bigend = big + bigstr->str_cur;
+ 	bigend += i;
+ 	*bigend = '\0';
+ 	while (midend > mid)		/* shove everything down */
+ 	    *--bigend = *--midend;
+ 	(void)bcopy(little,big+offset,littlelen);
+ 	bigstr->str_cur += i;
+ 	STABSET(bigstr);
+ 	return;
+     }
+     else if (i == 0) {
+ 	(void)bcopy(little,bigstr->str_ptr+offset,len);
+ 	STABSET(bigstr);
+ 	return;
+     }
+ 
+     big = bigstr->str_ptr;
+     mid = big + offset;
+     midend = mid + len;
+     bigend = big + bigstr->str_cur;
+ 
+     if (midend > bigend)
+ 	fatal("panic: str_insert");
+ 
+     if (mid - big > bigend - midend) {	/* faster to shorten from end */
+ 	if (littlelen) {
+ 	    (void)bcopy(little, mid, littlelen);
+ 	    mid += littlelen;
+ 	}
+ 	i = bigend - midend;
+ 	if (i > 0) {
+ 	    (void)bcopy(midend, mid, i);
+ 	    mid += i;
+ 	}
+ 	*mid = '\0';
+ 	bigstr->str_cur = mid - big;
+     }
+     else if (i = mid - big) {	/* faster from front */
+ 	midend -= littlelen;
+ 	mid = midend;
+ 	str_chop(bigstr,midend-i);
+ 	big += i;
+ 	while (i--)
+ 	    *--midend = *--big;
+ 	if (littlelen)
+ 	    (void)bcopy(little, mid, littlelen);
+     }
+     else if (littlelen) {
+ 	midend -= littlelen;
+ 	str_chop(bigstr,midend);
+ 	(void)bcopy(little,midend,littlelen);
+     }
+     else {
+ 	str_chop(bigstr,midend);
+     }
+     STABSET(bigstr);
+ }
+ 
+ /* make str point to what nstr did */
+ 
+ void
+ str_replace(str,nstr)
+ register STR *str;
+ register STR *nstr;
+ {
+     if (str == &str_undef)
+ 	return;
+     if (str->str_state == SS_INCR)
+ 	Str_Grow(str,0);	/* just force copy down */
+     if (nstr->str_state == SS_INCR)
+ 	Str_Grow(nstr,0);
+     if (str->str_ptr)
+ 	Safefree(str->str_ptr);
+     str->str_ptr = nstr->str_ptr;
+     str->str_len = nstr->str_len;
+     str->str_cur = nstr->str_cur;
+     str->str_pok = nstr->str_pok;
+     str->str_nok = nstr->str_nok;
+ #ifdef STRUCTCOPY
+     str->str_u = nstr->str_u;
+ #else
+     str->str_u.str_nval = nstr->str_u.str_nval;
+ #endif
+ #ifdef TAINT
+     str->str_tainted = nstr->str_tainted;
+ #endif
+     if (nstr->str_magic)
+ 	str_free(nstr->str_magic);
+     Safefree(nstr);
+ }
+ 
+ void
+ str_free(str)
+ register STR *str;
+ {
+     if (!str || str == &str_undef)
+ 	return;
+     if (str->str_state) {
+ 	if (str->str_state == SS_FREE)	/* already freed */
+ 	    return;
+ 	if (str->str_state == SS_INCR && !(str->str_pok & 2)) {
+ 	    str->str_ptr -= str->str_u.str_useful;
+ 	    str->str_len += str->str_u.str_useful;
+ 	}
+     }
+     if (str->str_magic)
+ 	str_free(str->str_magic);
+     str->str_magic = freestrroot;
+ #if defined(LEAKTEST) || defined(NOMEMOPT)
+     if (str->str_len) {
+ 	Safefree(str->str_ptr);
+ 	str->str_ptr = Nullch;
+     }
+     if ((str->str_pok & SP_INTRP) && str->str_u.str_args)
+ 	arg_free(str->str_u.str_args);
+     Safefree(str);
+ #else /* LEAKTEST etc */
+     if (str->str_len) {
+ 	if (str->str_len > 127) {	/* next user not likely to want more */
+ 	    Safefree(str->str_ptr);	/* so give it back to malloc */
+ 	    str->str_ptr = Nullch;
+ 	    str->str_len = 0;
+ 	}
+ 	else
+ 	    str->str_ptr[0] = '\0';
+     }
+     if ((str->str_pok & SP_INTRP) && str->str_u.str_args)
+ 	arg_free(str->str_u.str_args);
+     str->str_cur = 0;
+     str->str_nok = 0;
+     str->str_pok = 0;
+     str->str_state = SS_FREE;
+ #ifdef TAINT
+     str->str_tainted = 0;
+ #endif
+     freestrroot = str;
+ #endif /* LEAKTEST */
+ }
+ 
+ STRLEN
+ str_len(str)
+ register STR *str;
+ {
+     if (!str)
+ 	return 0;
+     if (!(str->str_pok))
+ 	(void)str_2ptr(str);
+     if (str->str_ptr)
+ 	return str->str_cur;
+     else
+ 	return 0;
+ }
+ 
+ str_eq(str1,str2)
+ register STR *str1;
+ register STR *str2;
+ {
+     if (!str1 || str1 == &str_undef)
+ 	return (str2 == Nullstr || str2 == &str_undef || !str2->str_cur);
+     if (!str2 || str2 == &str_undef)
+ 	return !str1->str_cur;
+ 
+     if (!str1->str_pok)
+ 	(void)str_2ptr(str1);
+     if (!str2->str_pok)
+ 	(void)str_2ptr(str2);
+ 
+     if (str1->str_cur != str2->str_cur)
+ 	return 0;
+ 
+     return !bcmp(str1->str_ptr, str2->str_ptr, str1->str_cur);
+ }
+ 
+ str_cmp(str1,str2)
+ register STR *str1;
+ register STR *str2;
+ {
+     int retval;
+ 
+     if (!str1 || str1 == &str_undef)
+ 	return (str2 == Nullstr || str2 == &str_undef || !str2->str_cur)?0:-1;
+     if (!str2 || str2 == &str_undef)
+ 	return str1->str_cur != 0;
+ 
+     if (!str1->str_pok)
+ 	(void)str_2ptr(str1);
+     if (!str2->str_pok)
+ 	(void)str_2ptr(str2);
+ 
+     if (str1->str_cur < str2->str_cur) {
+ 	if (retval = memcmp(str1->str_ptr, str2->str_ptr, str1->str_cur))
+ 	    return retval < 0 ? -1 : 1;
+ 	else
+ 	    return -1;
+     }
+     else if (retval = memcmp(str1->str_ptr, str2->str_ptr, str2->str_cur))
+ 	return retval < 0 ? -1 : 1;
+     else if (str1->str_cur == str2->str_cur)
+ 	return 0;
+     else
+ 	return 1;
+ }
+ 
+ char *
+ str_gets(str,fp,append)
+ register STR *str;
+ register FILE *fp;
+ int append;
+ {
+     register char *bp;		/* we're going to steal some values */
+     register int cnt;		/*  from the stdio struct and put EVERYTHING */
+     register STDCHAR *ptr;	/*   in the innermost loop into registers */
+     register int newline = rschar;/* (assuming >= 6 registers) */
+     int i;
+     STRLEN bpx;
+     int shortbuffered;
+ 
+     if (str == &str_undef)
+ 	return Nullch;
+ #ifdef STDSTDIO		/* Here is some breathtakingly efficient cheating */
+     cnt = fp->_cnt;			/* get count into register */
+     str->str_nok = 0;			/* invalidate number */
+     str->str_pok = 1;			/* validate pointer */
+     if (str->str_len <= cnt + 1) {	/* make sure we have the room */
+ 	if (cnt > 80 && str->str_len > append) {
+ 	    shortbuffered = cnt - str->str_len + append + 1;
+ 	    cnt -= shortbuffered;
+ 	}
+ 	else {
+ 	    shortbuffered = 0;
+ 	    STR_GROW(str, append+cnt+2);/* (remembering cnt can be -1) */
+ 	}
+     }
+     else
+ 	shortbuffered = 0;
+     bp = str->str_ptr + append;		/* move these two too to registers */
+     ptr = fp->_ptr;
+     for (;;) {
+       screamer:
+ 	while (--cnt >= 0) {			/* this */	/* eat */
+ 	    if ((*bp++ = *ptr++) == newline)	/* really */	/* dust */
+ 		goto thats_all_folks;		/* screams */	/* sed :-) */ 
+ 	}
+ 	
+ 	if (shortbuffered) {			/* oh well, must extend */
+ 	    cnt = shortbuffered;
+ 	    shortbuffered = 0;
+ 	    bpx = bp - str->str_ptr;	/* prepare for possible relocation */
+ 	    str->str_cur = bpx;
+ 	    STR_GROW(str, str->str_len + append + cnt + 2);
+ 	    bp = str->str_ptr + bpx;	/* reconstitute our pointer */
+ 	    continue;
+ 	}
+ 
+ 	fp->_cnt = cnt;			/* deregisterize cnt and ptr */
+ 	fp->_ptr = ptr;
+ 	i = _filbuf(fp);		/* get more characters */
+ 	cnt = fp->_cnt;
+ 	ptr = fp->_ptr;			/* reregisterize cnt and ptr */
+ 
+ 	bpx = bp - str->str_ptr;	/* prepare for possible relocation */
+ 	str->str_cur = bpx;
+ 	STR_GROW(str, bpx + cnt + 2);
+ 	bp = str->str_ptr + bpx;	/* reconstitute our pointer */
+ 
+ 	if (i == newline) {		/* all done for now? */
+ 	    *bp++ = i;
+ 	    goto thats_all_folks;
+ 	}
+ 	else if (i == EOF)		/* all done for ever? */
+ 	    goto thats_really_all_folks;
+ 	*bp++ = i;			/* now go back to screaming loop */
+     }
+ 
+ thats_all_folks:
+     if (rslen > 1 && (bp - str->str_ptr < rslen || bcmp(bp - rslen, rs, rslen)))
+ 	goto screamer;	/* go back to the fray */
+ thats_really_all_folks:
+     if (shortbuffered)
+ 	cnt += shortbuffered;
+     fp->_cnt = cnt;			/* put these back or we're in trouble */
+     fp->_ptr = ptr;
+     *bp = '\0';
+     str->str_cur = bp - str->str_ptr;	/* set length */
+ 
+ #else /* !STDSTDIO */	/* The big, slow, and stupid way */
+ 
+     {
+ 	static char buf[8192];
+ 	char * bpe = buf + sizeof(buf) - 3;
+ 
+ screamer:
+ 	bp = buf;
+ 	while ((i = getc(fp)) != EOF && (*bp++ = i) != newline && bp < bpe) ;
+ 
+ 	*bp = '\0';
+ 	if (append)
+ 	    str_cat(str, buf);
+ 	else
+ 	    str_set(str, buf);
+ 	if (i != EOF			/* joy */
+ 	    &&
+ 	    (i != newline
+ 	     ||
+ 	     (rslen > 1
+ 	      &&
+ 	      (str->str_cur < rslen
+ 	       ||
+ 	       bcmp(str->str_ptr + str->str_cur - rslen, rs, rslen)
+ 	      )
+ 	     )
+ 	    )
+ 	   )
+ 	{
+ 	    append = -1;
+ 	    goto screamer;
+ 	}
+     }
+ 
+ #endif /* STDSTDIO */
+ 
+     return str->str_cur - append ? str->str_ptr : Nullch;
+ }
+ 
+ ARG *
+ parselist(str)
+ STR *str;
+ {
+     register CMD *cmd;
+     register ARG *arg;
+     CMD *oldcurcmd = curcmd;
+     int oldperldb = perldb;
+     int retval;
+ 
+     perldb = 0;
+     str_sset(linestr,str);
+     in_eval++;
+     oldoldbufptr = oldbufptr = bufptr = str_get(linestr);
+     bufend = bufptr + linestr->str_cur;
+     if (++loop_ptr >= loop_max) {
+         loop_max += 128;
+         Renew(loop_stack, loop_max, struct loop);
+     }
+     loop_stack[loop_ptr].loop_label = "_EVAL_";
+     loop_stack[loop_ptr].loop_sp = 0;
+ #ifdef DEBUGGING
+     if (debug & 4) {
+         deb("(Pushing label #%d _EVAL_)\n", loop_ptr);
+     }
+ #endif
+     if (setjmp(loop_stack[loop_ptr].loop_env)) {
+ 	in_eval--;
+ 	loop_ptr--;
+ 	perldb = oldperldb;
+ 	fatal("%s\n",stab_val(stabent("@",TRUE))->str_ptr);
+     }
+ #ifdef DEBUGGING
+     if (debug & 4) {
+ 	char *tmps = loop_stack[loop_ptr].loop_label;
+ 	deb("(Popping label #%d %s)\n",loop_ptr,
+ 	    tmps ? tmps : "" );
+     }
+ #endif
+     loop_ptr--;
+     error_count = 0;
+     curcmd = &compiling;
+     curcmd->c_line = oldcurcmd->c_line;
+     retval = yyparse();
+     curcmd = oldcurcmd;
+     perldb = oldperldb;
+     in_eval--;
+     if (retval || error_count)
+ 	fatal("Invalid component in string or format");
+     cmd = eval_root;
+     arg = cmd->c_expr;
+     if (cmd->c_type != C_EXPR || cmd->c_next || arg->arg_type != O_LIST)
+ 	fatal("panic: error in parselist %d %x %d", cmd->c_type,
+ 	  cmd->c_next, arg ? arg->arg_type : -1);
+     Safefree(cmd);
+     eval_root = Nullcmd;
+     return arg;
+ }
+ 
+ void
+ intrpcompile(src)
+ STR *src;
+ {
+     register char *s = str_get(src);
+     register char *send = s + src->str_cur;
+     register STR *str;
+     register char *t;
+     STR *toparse;
+     STRLEN len;
+     register int brackets;
+     register char *d;
+     STAB *stab;
+     char *checkpoint;
+     int sawcase = 0;
+ 
+     toparse = Str_new(76,0);
+     str = Str_new(77,0);
+ 
+     str_nset(str,"",0);
+     str_nset(toparse,"",0);
+     t = s;
+     while (s < send) {
+ 	if (*s == '\\' && s[1] && index("$@[{\\]}lLuUE",s[1])) {
+ 	    str_ncat(str, t, s - t);
+ 	    ++s;
+ 	    if (isalpha(*s)) {
+ 		str_ncat(str, "$c", 2);
+ 		sawcase = (*s != 'E');
+ 	    }
+ 	    else {
+ 		if (*nointrp && s+1 < send)
+ 		    if (*s != '@' && (*s != '$' || index(nointrp,s[1])))
+ 			str_ncat(str,s-1,1);
+ 		str_ncat(str, "$b", 2);
+ 	    }
+ 	    str_ncat(str, s, 1);
+ 	    ++s;
+ 	    t = s;
+ 	}
+ 	else if ((*s == '@' || (*s == '$' && !index(nointrp,s[1]))) &&
+ 	  s+1 < send) {
+ 	    str_ncat(str,t,s-t);
+ 	    t = s;
+ 	    if (*s == '$' && s[1] == '#' && (isalpha(s[2]) || s[2] == '_'))
+ 		s++;
+ 	    s = scanident(s,send,tokenbuf);
+ 	    if (*t == '@' &&
+ 	      (!(stab = stabent(tokenbuf,FALSE)) || 
+ 		 (*s == '{' ? !stab_xhash(stab) : !stab_xarray(stab)) )) {
+ 		str_ncat(str,"@",1);
+ 		s = ++t;
+ 		continue;	/* grandfather @ from old scripts */
+ 	    }
+ 	    str_ncat(str,"$a",2);
+ 	    str_ncat(toparse,",",1);
+ 	    if (t[1] != '{' && (*s == '['  || *s == '{' /* }} */ ) &&
+ 	      (stab = stabent(tokenbuf,FALSE)) &&
+ 	      ((*s == '[') ? (stab_xarray(stab) != 0) : (stab_xhash(stab) != 0)) ) {
+ 		brackets = 0;
+ 		checkpoint = s;
+ 		do {
+ 		    switch (*s) {
+ 		    case '[':
+ 			if (s[-1] != '$')
+ 			    brackets++;
+ 			break;
+ 		    case '{':
+ 			brackets++;
+ 			break;
+ 		    case ']':
+ 			if (s[-1] != '$')
+ 			    brackets--;
+ 			break;
+ 		    case '}':
+ 			brackets--;
+ 			break;
+ 		    case '\'':
+ 		    case '"':
+ 			if (s[-1] != '$') {
+ 			    s = cpytill(tokenbuf,s+1,send,*s,&len);
+ 			    if (s >= send)
+ 				fatal("Unterminated string");
+ 			}
+ 			break;
+ 		    }
+ 		    s++;
+ 		} while (brackets > 0 && s < send);
+ 		if (s > send)
+ 		    fatal("Unmatched brackets in string");
+ 		if (*nointrp) {		/* we're in a regular expression */
+ 		    d = checkpoint;
+ 		    if (*d == '{' && s[-1] == '}') {	/* maybe {n,m} */
+ 			++d;
+ 			if (isdigit(*d)) {	/* matches /^{\d,?\d*}$/ */
+ 			    if (*++d == ',')
+ 				++d;
+ 			    while (isdigit(*d))
+ 				d++;
+ 			    if (d == s - 1)
+ 				s = checkpoint;		/* Is {n,m}! Backoff! */
+ 			}
+ 		    }
+ 		    else if (*d == '[' && s[-1] == ']') { /* char class? */
+ 			int weight = 2;		/* let's weigh the evidence */
+ 			char seen[256];
+ 			unsigned char un_char = 0, last_un_char;
+ 
+ 			Zero(seen,256,char);
+ 			*--s = '\0';
+ 			if (d[1] == '^')
+ 			    weight += 150;
+ 			else if (d[1] == '$')
+ 			    weight -= 3;
+ 			if (isdigit(d[1])) {
+ 			    if (d[2]) {
+ 				if (isdigit(d[2]) && !d[3])
+ 				    weight -= 10;
+ 			    }
+ 			    else
+ 				weight -= 100;
+ 			}
+ 			for (d++; d < s; d++) {
+ 			    last_un_char = un_char;
+ 			    un_char = (unsigned char)*d;
+ 			    switch (*d) {
+ 			    case '&':
+ 			    case '$':
+ 				weight -= seen[un_char] * 10;
+ 				if (isalpha(d[1]) || isdigit(d[1]) ||
+ 				  d[1] == '_') {
+ 				    d = scanident(d,s,tokenbuf);
+ 				    if (stabent(tokenbuf,FALSE))
+ 					weight -= 100;
+ 				    else
+ 					weight -= 10;
+ 				}
+ 				else if (*d == '$' && d[1] &&
+ 				  index("[#!%*<>()-=",d[1])) {
+ 				    if (!d[2] || /*{*/ index("])} =",d[2]))
+ 					weight -= 10;
+ 				    else
+ 					weight -= 1;
+ 				}
+ 				break;
+ 			    case '\\':
+ 				un_char = 254;
+ 				if (d[1]) {
+ 				    if (index("wds",d[1]))
+ 					weight += 100;
+ 				    else if (seen['\''] || seen['"'])
+ 					weight += 1;
+ 				    else if (index("rnftb",d[1]))
+ 					weight += 40;
+ 				    else if (isdigit(d[1])) {
+ 					weight += 40;
+ 					while (d[1] && isdigit(d[1]))
+ 					    d++;
+ 				    }
+ 				}
+ 				else
+ 				    weight += 100;
+ 				break;
+ 			    case '-':
+ 				if (last_un_char < (unsigned char) d[1]
+ 				  || d[1] == '\\') {
+ 				    if (index("aA01! ",last_un_char))
+ 					weight += 30;
+ 				    if (index("zZ79~",d[1]))
+ 					weight += 30;
+ 				}
+ 				else
+ 				    weight -= 1;
+ 			    default:
+ 				if (isalpha(*d) && d[1] && isalpha(d[1])) {
+ 				    bufptr = d;
+ 				    if (yylex() != WORD)
+ 					weight -= 150;
+ 				    d = bufptr;
+ 				}
+ 				if (un_char == last_un_char + 1)
+ 				    weight += 5;
+ 				weight -= seen[un_char];
+ 				break;
+ 			    }
+ 			    seen[un_char]++;
+ 			}
+ #ifdef DEBUGGING
+ 			if (debug & 512)
+ 			    fprintf(stderr,"[%s] weight %d\n",
+ 			      checkpoint+1,weight);
+ #endif
+ 			*s++ = ']';
+ 			if (weight >= 0)	/* probably a character class */
+ 			    s = checkpoint;
+ 		    }
+ 		}
+ 	    }
+ 	    if (*t == '@')
+ 		str_ncat(toparse, "join($\",", 8);
+ 	    if (t[1] == '{' && s[-1] == '}') {
+ 		str_ncat(toparse, t, 1);
+ 		str_ncat(toparse, t+2, s - t - 3);
+ 	    }
+ 	    else
+ 		str_ncat(toparse, t, s - t);
+ 	    if (*t == '@')
+ 		str_ncat(toparse, ")", 1);
+ 	    t = s;
+ 	}
+ 	else
+ 	    s++;
+     }
+     str_ncat(str,t,s-t);
+     if (sawcase)
+ 	str_ncat(str, "$cE", 3);
+     if (toparse->str_ptr && *toparse->str_ptr == ',') {
+ 	*toparse->str_ptr = '(';
+ 	str_ncat(toparse,",$$);",5);
+ 	str->str_u.str_args = parselist(toparse);
+ 	str->str_u.str_args->arg_len--;		/* ignore $$ reference */
+     }
+     else
+ 	str->str_u.str_args = Nullarg;
+     str_free(toparse);
+     str->str_pok |= SP_INTRP;
+     str->str_nok = 0;
+     str_replace(src,str);
+ }
+ 
+ STR *
+ interp(str,src,sp)
+ register STR *str;
+ STR *src;
+ int sp;
+ {
+     register char *s;
+     register char *t;
+     register char *send;
+     register STR **elem;
+     int docase = 0;
+     int l = 0;
+     int u = 0;
+     int L = 0;
+     int U = 0;
+ 
+     if (str == &str_undef)
+ 	return Nullstr;
+     if (!(src->str_pok & SP_INTRP)) {
+ 	int oldsave = savestack->ary_fill;
+ 
+ 	(void)savehptr(&curstash);
+ 	curstash = curcmd->c_stash;	/* so stabent knows right package */
+ 	intrpcompile(src);
+ 	restorelist(oldsave);
+     }
+     s = src->str_ptr;		/* assumed valid since str_pok set */
+     t = s;
+     send = s + src->str_cur;
+ 
+     if (src->str_u.str_args) {
+ 	(void)eval(src->str_u.str_args,G_ARRAY,sp);
+ 	/* Assuming we have correct # of args */
+ 	elem = stack->ary_array + sp;
+     }
+ 
+     str_nset(str,"",0);
+     while (s < send) {
+ 	if (*s == '$' && s+1 < send) {
+ 	    if (s-t > 0)
+ 		str_ncat(str,t,s-t);
+ 	    switch(*++s) {
+ 	    case 'a':
+ 		str_scat(str,*++elem);
+ 		break;
+ 	    case 'b':
+ 		str_ncat(str,++s,1);
+ 		break;
+ 	    case 'c':
+ 		if (docase && str->str_cur >= docase) {
+ 		    char *b = str->str_ptr + --docase;
+ 
+ 		    if (L)
+ 			lcase(b, str->str_ptr + str->str_cur);
+ 		    else if (U)
+ 			ucase(b, str->str_ptr + str->str_cur);
+ 
+ 		    if (u)	/* note that l & u are independent of L & U */
+ 			ucase(b, b+1);
+ 		    else if (l)
+ 			lcase(b, b+1);
+ 		    l = u = 0;
+ 		}
+ 		docase = str->str_cur + 1;
+ 		switch (*++s) {
+ 		case 'u':
+ 		    u = 1;
+ 		    l = 0;
+ 		    break;
+ 		case 'U':
+ 		    U = 1;
+ 		    L = 0;
+ 		    break;
+ 		case 'l':
+ 		    l = 1;
+ 		    u = 0;
+ 		    break;
+ 		case 'L':
+ 		    L = 1;
+ 		    U = 0;
+ 		    break;
+ 		case 'E':
+ 		    docase = L = U = l = u = 0;
+ 		    break;
+ 		}
+ 		break;
+ 	    }
+ 	    t = ++s;
+ 	}
+ 	else
+ 	    s++;
+     }
+     if (s-t > 0)
+ 	str_ncat(str,t,s-t);
+     return str;
+ }
+ 
+ ucase(s,send)
+ register char *s;
+ register char *send;
+ {
+     while (s < send) {
+ 	if (isascii(*s) && islower(*s))
+ 	    *s = toupper(*s);
+ 	s++;
+     }
+ }
+ 
+ lcase(s,send)
+ register char *s;
+ register char *send;
+ {
+     while (s < send) {
+ 	if (isascii(*s) && isupper(*s))
+ 	    *s = tolower(*s);
+ 	s++;
+     }
+ }
+ 
+ void
+ str_inc(str)
+ register STR *str;
+ {
+     register char *d;
+ 
+     if (!str || str == &str_undef)
+ 	return;
+     if (str->str_nok) {
+ 	str->str_u.str_nval += 1.0;
+ 	str->str_pok = 0;
+ 	return;
+     }
+     if (!str->str_pok || !*str->str_ptr) {
+ 	str->str_u.str_nval = 1.0;
+ 	str->str_nok = 1;
+ 	str->str_pok = 0;
+ 	return;
+     }
+     d = str->str_ptr;
+     while (isalpha(*d)) d++;
+     while (isdigit(*d)) d++;
+     if (*d) {
+         str_numset(str,atof(str->str_ptr) + 1.0);  /* punt */
+ 	return;
+     }
+     d--;
+     while (d >= str->str_ptr) {
+ 	if (isdigit(*d)) {
+ 	    if (++*d <= '9')
+ 		return;
+ 	    *(d--) = '0';
+ 	}
+ 	else {
+ 	    ++*d;
+ 	    if (isalpha(*d))
+ 		return;
+ 	    *(d--) -= 'z' - 'a' + 1;
+ 	}
+     }
+     /* oh,oh, the number grew */
+     STR_GROW(str, str->str_cur + 2);
+     str->str_cur++;
+     for (d = str->str_ptr + str->str_cur; d > str->str_ptr; d--)
+ 	*d = d[-1];
+     if (isdigit(d[1]))
+ 	*d = '1';
+     else
+ 	*d = d[1];
+ }
+ 
+ void
+ str_dec(str)
+ register STR *str;
+ {
+     if (!str || str == &str_undef)
+ 	return;
+     if (str->str_nok) {
+ 	str->str_u.str_nval -= 1.0;
+ 	str->str_pok = 0;
+ 	return;
+     }
+     if (!str->str_pok) {
+ 	str->str_u.str_nval = -1.0;
+ 	str->str_nok = 1;
+ 	return;
+     }
+     str_numset(str,atof(str->str_ptr) - 1.0);
+ }
+ 
+ /* Make a string that will exist for the duration of the expression
+  * evaluation.  Actually, it may have to last longer than that, but
+  * hopefully cmd_exec won't free it until it has been assigned to a
+  * permanent location. */
+ 
+ static long tmps_size = -1;
+ 
+ STR *
+ str_mortal(oldstr)
+ STR *oldstr;
+ {
+     register STR *str = Str_new(78,0);
+ 
+     str_sset(str,oldstr);
+     if (++tmps_max > tmps_size) {
+ 	tmps_size = tmps_max;
+ 	if (!(tmps_size & 127)) {
+ 	    if (tmps_size)
+ 		Renew(tmps_list, tmps_size + 128, STR*);
+ 	    else
+ 		New(702,tmps_list, 128, STR*);
+ 	}
+     }
+     tmps_list[tmps_max] = str;
+     if (str->str_pok)
+ 	str->str_pok |= SP_TEMP;
+     return str;
+ }
+ 
+ /* same thing without the copying */
+ 
+ STR *
+ str_2mortal(str)
+ register STR *str;
+ {
+     if (str == &str_undef)
+ 	return str;
+     if (++tmps_max > tmps_size) {
+ 	tmps_size = tmps_max;
+ 	if (!(tmps_size & 127)) {
+ 	    if (tmps_size)
+ 		Renew(tmps_list, tmps_size + 128, STR*);
+ 	    else
+ 		New(704,tmps_list, 128, STR*);
+ 	}
+     }
+     tmps_list[tmps_max] = str;
+     if (str->str_pok)
+ 	str->str_pok |= SP_TEMP;
+     return str;
+ }
+ 
+ STR *
+ str_make(s,len)
+ char *s;
+ STRLEN len;
+ {
+     register STR *str = Str_new(79,0);
+ 
+     if (!len)
+ 	len = strlen(s);
+     str_nset(str,s,len);
+     return str;
+ }
+ 
+ STR *
+ str_nmake(n)
+ double n;
+ {
+     register STR *str = Str_new(80,0);
+ 
+     str_numset(str,n);
+     return str;
+ }
+ 
+ /* make an exact duplicate of old */
+ 
+ STR *
+ str_smake(old)
+ register STR *old;
+ {
+     register STR *new = Str_new(81,0);
+ 
+     if (!old)
+ 	return Nullstr;
+     if (old->str_state == SS_FREE) {
+ 	warn("semi-panic: attempt to dup freed string");
+ 	return Nullstr;
+     }
+     if (old->str_state == SS_INCR && !(old->str_pok & 2))
+ 	Str_Grow(old,0);
+     if (new->str_ptr)
+ 	Safefree(new->str_ptr);
+     Copy(old,new,1,STR);
+     if (old->str_ptr) {
+ 	new->str_ptr = nsavestr(old->str_ptr,old->str_len);
+ 	new->str_pok &= ~SP_TEMP;
+     }
+     return new;
+ }
+ 
+ str_reset(s,stash)
+ register char *s;
+ HASH *stash;
+ {
+     register HENT *entry;
+     register STAB *stab;
+     register STR *str;
+     register int i;
+     register SPAT *spat;
+     register int max;
+ 
+     if (!*s) {		/* reset ?? searches */
+ 	for (spat = stash->tbl_spatroot;
+ 	  spat != Nullspat;
+ 	  spat = spat->spat_next) {
+ 	    spat->spat_flags &= ~SPAT_USED;
+ 	}
+ 	return;
+     }
+ 
+     /* reset variables */
+ 
+     if (!stash->tbl_array)
+ 	return;
+     while (*s) {
+ 	i = *s;
+ 	if (s[1] == '-') {
+ 	    s += 2;
+ 	}
+ 	max = *s++;
+ 	for ( ; i <= max; i++) {
+ 	    for (entry = stash->tbl_array[i];
+ 	      entry;
+ 	      entry = entry->hent_next) {
+ 		stab = (STAB*)entry->hent_val;
+ 		str = stab_val(stab);
+ 		str->str_cur = 0;
+ 		str->str_nok = 0;
+ #ifdef TAINT
+ 		str->str_tainted = tainted;
+ #endif
+ 		if (str->str_ptr != Nullch)
+ 		    str->str_ptr[0] = '\0';
+ 		if (stab_xarray(stab)) {
+ 		    aclear(stab_xarray(stab));
+ 		}
+ 		if (stab_xhash(stab)) {
+ 		    hclear(stab_xhash(stab), FALSE);
+ 		    if (stab == envstab)
+ 			environ[0] = Nullch;
+ 		}
+ 	    }
+ 	}
+     }
+ }
+ 
+ #ifdef TAINT
+ taintproper(s)
+ char *s;
+ {
+ #ifdef DEBUGGING
+     if (debug & 2048)
+ 	fprintf(stderr,"%s %d %d %d\n",s,tainted,uid, euid);
+ #endif
+     if (tainted && (!euid || euid != uid || egid != gid)) {
+ 	if (!unsafe)
+ 	    fatal("%s", s);
+ 	else if (dowarn)
+ 	    warn("%s", s);
+     }
+ }
+ 
+ taintenv()
+ {
+     register STR *envstr;
+ 
+     envstr = hfetch(stab_hash(envstab),"PATH",4,FALSE);
+     if (envstr == &str_undef || envstr->str_tainted) {
+ 	tainted = 1;
+ 	if (envstr->str_tainted == 2)
+ 	    taintproper("Insecure directory in PATH");
+ 	else
+ 	    taintproper("Insecure PATH");
+     }
+     envstr = hfetch(stab_hash(envstab),"IFS",3,FALSE);
+     if (envstr != &str_undef && envstr->str_tainted) {
+ 	tainted = 1;
+ 	taintproper("Insecure IFS");
+     }
+ }
+ #endif /* TAINT */


Index: llvm/test/Programs/MultiSource/Benchmarks/MallocBench/perl/str.h
diff -c /dev/null llvm/test/Programs/MultiSource/Benchmarks/MallocBench/perl/str.h:1.1.2.1
*** /dev/null	Mon Mar  1 17:59:25 2004
--- llvm/test/Programs/MultiSource/Benchmarks/MallocBench/perl/str.h	Mon Mar  1 17:59:13 2004
***************
*** 0 ****
--- 1,143 ----
+ /* $RCSfile: str.h,v $$Revision: 1.1.2.1 $$Date: 2004/03/01 23:59:13 $
+  *
+  *    Copyright (c) 1989, Larry Wall
+  *
+  *    You may distribute under the terms of the GNU General Public License
+  *    as specified in the README file that comes with the perl 3.0 kit.
+  *
+  * $Log: str.h,v $
+  * Revision 1.1.2.1  2004/03/01 23:59:13  brukman
+  * Merge from trunk
+  *
+  * Revision 1.1  2004/02/17 22:21:16  criswell
+  * Initial commit of the perl Malloc Benchmark.  I've cheated a little by
+  * generating the yacc output files and committing them directly, but it was
+  * easier than disabling the Bison Voodoo that gets executed by default.
+  *
+  * Revision 4.0.1.1  91/04/12  09:16:12  lwall
+  * patch1: you may now use "die" and "caller" in a signal handler
+  * 
+  * Revision 4.0  91/03/20  01:40:04  lwall
+  * 4.0 baseline.
+  * 
+  */
+ 
+ struct string {
+     char *	str_ptr;	/* pointer to malloced string */
+     STRLEN	str_len;	/* allocated size */
+     union {
+ 	double	str_nval;	/* numeric value, if any */
+ 	STAB	*str_stab;	/* magic stab for magic "key" string */
+ 	long	str_useful;	/* is this search optimization effective? */
+ 	ARG	*str_args;	/* list of args for interpreted string */
+ 	HASH	*str_hash;	/* string represents an assoc array (stab?) */
+ 	ARRAY	*str_array;	/* string represents an array */
+ 	CMD	*str_cmd;	/* command for this source line */
+     } str_u;
+     STRLEN	str_cur;	/* length of str_ptr as a C string */
+     STR		*str_magic;	/* while free, link to next free str */
+ 				/* while in use, ptr to "key" for magic items */
+     char	str_pok;	/* state of str_ptr */
+     char	str_nok;	/* state of str_nval */
+     unsigned char str_rare;	/* used by search strings */
+     unsigned char str_state;	/* one of SS_* below */
+ 				/* also used by search strings for backoff */
+ #ifdef TAINT
+     bool	str_tainted;	/* 1 if possibly under control of $< */
+ #endif
+ };
+ 
+ struct stab {	/* should be identical, except for str_ptr */
+     STBP *	str_ptr;	/* pointer to malloced string */
+     STRLEN	str_len;	/* allocated size */
+     union {
+ 	double	str_nval;	/* numeric value, if any */
+ 	STAB	*str_stab;	/* magic stab for magic "key" string */
+ 	long	str_useful;	/* is this search optimization effective? */
+ 	ARG	*str_args;	/* list of args for interpreted string */
+ 	HASH	*str_hash;	/* string represents an assoc array (stab?) */
+ 	ARRAY	*str_array;	/* string represents an array */
+ 	CMD	*str_cmd;	/* command for this source line */
+     } str_u;
+     STRLEN	str_cur;	/* length of str_ptr as a C string */
+     STR		*str_magic;	/* while free, link to next free str */
+ 				/* while in use, ptr to "key" for magic items */
+     char	str_pok;	/* state of str_ptr */
+     char	str_nok;	/* state of str_nval */
+     unsigned char str_rare;	/* used by search strings */
+     unsigned char str_state;	/* one of SS_* below */
+ 				/* also used by search strings for backoff */
+ #ifdef TAINT
+     bool	str_tainted;	/* 1 if possibly under control of $< */
+ #endif
+ };
+ 
+ /* some extra info tacked to some lvalue strings */
+ 
+ struct lstring {
+     struct string lstr;
+     STRLEN	lstr_offset;
+     STRLEN	lstr_len;
+ };
+ 
+ /* These are the values of str_pok:		*/
+ #define SP_VALID	1	/* str_ptr is valid */
+ #define SP_FBM		2	/* string was compiled for fbm search */
+ #define SP_STUDIED	4	/* string was studied */
+ #define SP_CASEFOLD	8	/* case insensitive fbm search */
+ #define SP_INTRP	16	/* string was compiled for interping */
+ #define SP_TAIL		32	/* fbm string is tail anchored: /foo$/  */
+ #define SP_MULTI	64	/* symbol table entry probably isn't a typo */
+ #define SP_TEMP		128	/* string slated to die, so can be plundered */
+ 
+ #define Nullstr Null(STR*)
+ 
+ /* These are the values of str_state:		*/
+ #define SS_NORM		0	/* normal string */
+ #define SS_INCR		1	/* normal string, incremented ptr */
+ #define SS_SARY		2	/* array on save stack */
+ #define SS_SHASH	3	/* associative array on save stack */
+ #define SS_SINT		4	/* integer on save stack */
+ #define SS_SLONG	5	/* long on save stack */
+ #define SS_SSTRP	6	/* STR* on save stack */
+ #define SS_SHPTR	7	/* HASH* on save stack */
+ #define SS_SNSTAB	8	/* non-stab on save stack */
+ #define SS_SCSV		9	/* callsave structure on save stack */
+ #define SS_SAPTR	10	/* ARRAY* on save stack */
+ #define SS_HASH		253	/* carrying an hash */
+ #define SS_ARY		254	/* carrying an array */
+ #define SS_FREE		255	/* in free list */
+ /* str_state may have any value 0-255 when used to hold fbm pattern, in which */
+ /* case it indicates offset to rarest character in screaminstr key */
+ 
+ /* the following macro updates any magic values this str is associated with */
+ 
+ #ifdef TAINT
+ #define STABSET(x) \
+     (x)->str_tainted |= tainted; \
+     if ((x)->str_magic) \
+ 	stabset((x)->str_magic,(x))
+ #else
+ #define STABSET(x) \
+     if ((x)->str_magic) \
+ 	stabset((x)->str_magic,(x))
+ #endif
+ 
+ #define STR_SSET(dst,src) if (dst != src) str_sset(dst,src)
+ 
+ EXT STR **tmps_list;
+ EXT int tmps_max INIT(-1);
+ EXT int tmps_base INIT(-1);
+ 
+ char *str_2ptr();
+ double str_2num();
+ STR *str_mortal();
+ STR *str_2mortal();
+ STR *str_make();
+ STR *str_nmake();
+ STR *str_smake();
+ int str_cmp();
+ int str_eq();
+ void str_magic();
+ void str_insert();
+ STRLEN str_len();


Index: llvm/test/Programs/MultiSource/Benchmarks/MallocBench/perl/toke.c
diff -c /dev/null llvm/test/Programs/MultiSource/Benchmarks/MallocBench/perl/toke.c:1.1.2.1
*** /dev/null	Mon Mar  1 17:59:25 2004
--- llvm/test/Programs/MultiSource/Benchmarks/MallocBench/perl/toke.c	Mon Mar  1 17:59:13 2004
***************
*** 0 ****
--- 1,2534 ----
+ /* $RCSfile: toke.c,v $$Revision: 1.1.2.1 $$Date: 2004/03/01 23:59:13 $
+  *
+  *    Copyright (c) 1989, Larry Wall
+  *
+  *    You may distribute under the terms of the GNU General Public License
+  *    as specified in the README file that comes with the perl 3.0 kit.
+  *
+  * $Log: toke.c,v $
+  * Revision 1.1.2.1  2004/03/01 23:59:13  brukman
+  * Merge from trunk
+  *
+  * Revision 1.1  2004/02/17 22:21:16  criswell
+  * Initial commit of the perl Malloc Benchmark.  I've cheated a little by
+  * generating the yacc output files and committing them directly, but it was
+  * easier than disabling the Bison Voodoo that gets executed by default.
+  *
+  * Revision 4.0.1.1  91/04/12  09:18:18  lwall
+  * patch1: perl -de "print" wouldn't stop at the first statement
+  * 
+  * Revision 4.0  91/03/20  01:42:14  lwall
+  * 4.0 baseline.
+  * 
+  */
+ 
+ #include "EXTERN.h"
+ #include "perl.h"
+ #include "perly.h"
+ 
+ #ifdef I_FCNTL
+ #include <fcntl.h>
+ #endif
+ #ifdef I_SYS_FILE
+ #include <sys/file.h>
+ #endif
+ 
+ /* which backslash sequences to keep in m// or s// */
+ 
+ static char *patleave = "\\.^$@dDwWsSbB+*?|()-nrtf0123456789[{]}";
+ 
+ char *reparse;		/* if non-null, scanident found ${foo[$bar]} */
+ 
+ void checkcomma();
+ 
+ #ifdef CLINE
+ #undef CLINE
+ #endif
+ #define CLINE (cmdline = (curcmd->c_line < cmdline ? curcmd->c_line : cmdline))
+ 
+ #define META(c) ((c) | 128)
+ 
+ #define RETURN(retval) return (bufptr = s,(int)retval)
+ #define OPERATOR(retval) return (expectterm = TRUE,bufptr = s,(int)retval)
+ #define TERM(retval) return (CLINE, expectterm = FALSE,bufptr = s,(int)retval)
+ #define LOOPX(f) return(yylval.ival=f,expectterm = FALSE,bufptr = s,(int)LOOPEX)
+ #define FTST(f) return(yylval.ival=f,expectterm = TRUE,bufptr = s,(int)FILETEST)
+ #define FUN0(f) return(yylval.ival = f,expectterm = FALSE,bufptr = s,(int)FUNC0)
+ #define FUN1(f) return(yylval.ival = f,expectterm = FALSE,bufptr = s,(int)FUNC1)
+ #define FUN2(f) return(yylval.ival = f,expectterm = FALSE,bufptr = s,(int)FUNC2)
+ #define FUN2x(f) return(yylval.ival = f,expectterm = FALSE,bufptr = s,(int)FUNC2x)
+ #define FUN3(f) return(yylval.ival = f,expectterm = FALSE,bufptr = s,(int)FUNC3)
+ #define FUN4(f) return(yylval.ival = f,expectterm = FALSE,bufptr = s,(int)FUNC4)
+ #define FUN5(f) return(yylval.ival = f,expectterm = FALSE,bufptr = s,(int)FUNC5)
+ #define FL(f) return(yylval.ival=f,expectterm = FALSE,bufptr = s,(int)FLIST)
+ #define FL2(f) return(yylval.ival=f,expectterm = FALSE,bufptr = s,(int)FLIST2)
+ #define HFUN(f) return(yylval.ival=f,expectterm = TRUE,bufptr = s,(int)HSHFUN)
+ #define HFUN3(f) return(yylval.ival=f,expectterm = FALSE,bufptr = s,(int)HSHFUN3)
+ #define LFUN(f) return(yylval.ival=f,expectterm = TRUE,bufptr = s,(int)LVALFUN)
+ #define AOP(f) return(yylval.ival=f,expectterm = TRUE,bufptr = s,(int)ADDOP)
+ #define MOP(f) return(yylval.ival=f,expectterm = TRUE,bufptr = s,(int)MULOP)
+ #define EOP(f) return(yylval.ival=f,expectterm = TRUE,bufptr = s,(int)EQOP)
+ #define ROP(f) return(yylval.ival=f,expectterm = TRUE,bufptr = s,(int)RELOP)
+ #define FOP(f) return(yylval.ival=f,expectterm = FALSE,bufptr = s,(int)FILOP)
+ #define FOP2(f) return(yylval.ival=f,expectterm = FALSE,bufptr = s,(int)FILOP2)
+ #define FOP3(f) return(yylval.ival=f,expectterm = FALSE,bufptr = s,(int)FILOP3)
+ #define FOP4(f) return(yylval.ival=f,expectterm = FALSE,bufptr = s,(int)FILOP4)
+ #define FOP22(f) return(yylval.ival=f,expectterm = FALSE,bufptr = s,(int)FILOP22)
+ #define FOP25(f) return(yylval.ival=f,expectterm = FALSE,bufptr = s,(int)FILOP25)
+ 
+ /* This bit of chicanery makes a unary function followed by
+  * a parenthesis into a function with one argument, highest precedence.
+  */
+ #define UNI(f) return(yylval.ival = f,expectterm = TRUE,bufptr = s, \
+ 	(*s == '(' || (s = skipspace(s), *s == '(') ? (int)FUNC1 : (int)UNIOP) )
+ 
+ /* This does similarly for list operators, merely by pretending that the
+  * paren came before the listop rather than after.
+  */
+ #define LOP(f) return(CLINE, *s == '(' || (s = skipspace(s), *s == '(') ? \
+ 	(*s = META('('), bufptr = oldbufptr, '(') : \
+ 	(yylval.ival=f,expectterm = TRUE,bufptr = s,(int)LISTOP))
+ /* grandfather return to old style */
+ #define OLDLOP(f) return(yylval.ival=f,expectterm = TRUE,bufptr = s,(int)LISTOP)
+ 
+ char *
+ skipspace(s)
+ register char *s;
+ {
+     while (s < bufend && isascii(*s) && isspace(*s))
+ 	s++;
+     return s;
+ }
+ 
+ #ifdef CRIPPLED_CC
+ 
+ #undef UNI
+ #undef LOP
+ #define UNI(f) return uni(f,s)
+ #define LOP(f) return lop(f,s)
+ 
+ int
+ uni(f,s)
+ int f;
+ char *s;
+ {
+     yylval.ival = f;
+     expectterm = TRUE;
+     bufptr = s;
+     if (*s == '(')
+ 	return FUNC1;
+     s = skipspace(s);
+     if (*s == '(')
+ 	return FUNC1;
+     else
+ 	return UNIOP;
+ }
+ 
+ int
+ lop(f,s)
+ int f;
+ char *s;
+ {
+     CLINE;
+     if (*s != '(')
+ 	s = skipspace(s);
+     if (*s == '(') {
+ 	*s = META('(');
+ 	bufptr = oldbufptr;
+ 	return '(';
+     }
+     else {
+ 	yylval.ival=f;
+ 	expectterm = TRUE;
+ 	bufptr = s;
+ 	return LISTOP;
+     }
+ }
+ 
+ #endif /* CRIPPLED_CC */
+ 
+ yylex()
+ {
+     register char *s = bufptr;
+     register char *d;
+     register int tmp;
+     static bool in_format = FALSE;
+     static bool firstline = TRUE;
+     extern int yychar;		/* last token */
+ 
+     oldoldbufptr = oldbufptr;
+     oldbufptr = s;
+ 
+   retry:
+ #ifdef YYDEBUG
+     if (debug & 1)
+ 	if (index(s,'\n'))
+ 	    fprintf(stderr,"Tokener at %s",s);
+ 	else
+ 	    fprintf(stderr,"Tokener at %s\n",s);
+ #endif
+ #ifdef BADSWITCH
+     if (*s & 128) {
+ 	if ((*s & 127) == '(')
+ 	    *s++ = '(';
+ 	else
+ 	    warn("Unrecognized character \\%03o ignored", *s++ & 255);
+ 	goto retry;
+     }
+ #endif
+     switch (*s) {
+     default:
+ 	if ((*s & 127) == '(')
+ 	    *s++ = '(';
+ 	else
+ 	    warn("Unrecognized character \\%03o ignored", *s++ & 255);
+ 	goto retry;
+     case 4:
+     case 26:
+ 	goto fake_eof;			/* emulate EOF on ^D or ^Z */
+     case 0:
+ 	if (!rsfp)
+ 	    RETURN(0);
+ 	if (s++ < bufend)
+ 	    goto retry;			/* ignore stray nulls */
+ 	if (firstline) {
+ 	    firstline = FALSE;
+ 	    if (minus_n || minus_p || perldb) {
+ 		str_set(linestr,"");
+ 		if (perldb) {
+ 		    char *getenv();
+ 		    char *pdb = getenv("PERLDB");
+ 
+ 		    str_cat(linestr, pdb ? pdb : "require 'perldb.pl'");
+ 		    str_cat(linestr, ";");
+ 		}
+ 		if (minus_n || minus_p) {
+ 		    str_cat(linestr,"line: while (<>) {");
+ 		    if (minus_l)
+ 			str_cat(linestr,"chop;");
+ 		    if (minus_a)
+ 			str_cat(linestr,"@F=split(' ');");
+ 		}
+ 		oldoldbufptr = oldbufptr = s = str_get(linestr);
+ 		bufend = linestr->str_ptr + linestr->str_cur;
+ 		goto retry;
+ 	    }
+ 	}
+ 	if (in_format) {
+ 	    bufptr = bufend;
+ 	    yylval.formval = load_format();
+ 	    in_format = FALSE;
+ 	    oldoldbufptr = oldbufptr = s = str_get(linestr) + 1;
+ 	    bufend = linestr->str_ptr + linestr->str_cur;
+ 	    OPERATOR(FORMLIST);
+ 	}
+ 	curcmd->c_line++;
+ #ifdef CRYPTSCRIPT
+ 	cryptswitch();
+ #endif /* CRYPTSCRIPT */
+ 	do {
+ 	    if ((s = str_gets(linestr, rsfp, 0)) == Nullch) {
+ 	      fake_eof:
+ 		if (rsfp) {
+ 		    if (preprocess)
+ 			(void)mypclose(rsfp);
+ 		    else if (rsfp == stdin)
+ 			clearerr(stdin);
+ 		    else
+ 			(void)fclose(rsfp);
+ 		    rsfp = Nullfp;
+ 		}
+ 		if (minus_n || minus_p) {
+ 		    str_set(linestr,minus_p ? ";}continue{print" : "");
+ 		    str_cat(linestr,";}");
+ 		    oldoldbufptr = oldbufptr = s = str_get(linestr);
+ 		    bufend = linestr->str_ptr + linestr->str_cur;
+ 		    minus_n = minus_p = 0;
+ 		    goto retry;
+ 		}
+ 		oldoldbufptr = oldbufptr = s = str_get(linestr);
+ 		str_set(linestr,"");
+ 		RETURN(';');	/* not infinite loop because rsfp is NULL now */
+ 	    }
+ 	    if (doextract && *linestr->str_ptr == '#')
+ 		doextract = FALSE;
+ 	} while (doextract);
+ 	oldoldbufptr = oldbufptr = bufptr = s;
+ 	if (perldb) {
+ 	    STR *str = Str_new(85,0);
+ 
+ 	    str_sset(str,linestr);
+ 	    astore(stab_xarray(curcmd->c_filestab),(int)curcmd->c_line,str);
+ 	}
+ #ifdef DEBUG
+ 	if (firstline) {
+ 	    char *showinput();
+ 	    s = showinput();
+ 	}
+ #endif
+ 	bufend = linestr->str_ptr + linestr->str_cur;
+ 	if (curcmd->c_line == 1) {
+ 	    if (*s == '#' && s[1] == '!') {
+ 		if (!in_eval && !instr(s,"perl") && instr(origargv[0],"perl")) {
+ 		    char **newargv;
+ 		    char *cmd;
+ 
+ 		    s += 2;
+ 		    if (*s == ' ')
+ 			s++;
+ 		    cmd = s;
+ 		    while (s < bufend && !isspace(*s))
+ 			s++;
+ 		    *s++ = '\0';
+ 		    while (s < bufend && isspace(*s))
+ 			s++;
+ 		    if (s < bufend) {
+ 			Newz(899,newargv,origargc+3,char*);
+ 			newargv[1] = s;
+ 			while (s < bufend && !isspace(*s))
+ 			    s++;
+ 			*s = '\0';
+ 			Copy(origargv+1, newargv+2, origargc+1, char*);
+ 		    }
+ 		    else
+ 			newargv = origargv;
+ 		    newargv[0] = cmd;
+ 		    execv(cmd,newargv);
+ 		    fatal("Can't exec %s", cmd);
+ 		}
+ 	    }
+ 	    else {
+ 		while (s < bufend && isspace(*s))
+ 		    s++;
+ 		if (*s == ':')	/* for csh's that have to exec sh scripts */
+ 		    s++;
+ 	    }
+ 	}
+ 	goto retry;
+     case ' ': case '\t': case '\f': case '\r': case 013:
+ 	s++;
+ 	goto retry;
+     case '#':
+ 	if (preprocess && s == str_get(linestr) &&
+ 	       s[1] == ' ' && isdigit(s[2])) {
+ 	    curcmd->c_line = atoi(s+2)-1;
+ 	    for (s += 2; isdigit(*s); s++) ;
+ 	    d = bufend;
+ 	    while (s < d && isspace(*s)) s++;
+ 	    s[strlen(s)-1] = '\0';	/* wipe out newline */
+ 	    if (*s == '"') {
+ 		s++;
+ 		s[strlen(s)-1] = '\0';	/* wipe out trailing quote */
+ 	    }
+ 	    if (*s)
+ 		curcmd->c_filestab = fstab(s);
+ 	    else
+ 		curcmd->c_filestab = fstab(origfilename);
+ 	    oldoldbufptr = oldbufptr = s = str_get(linestr);
+ 	}
+ 	/* FALL THROUGH */
+     case '\n':
+ 	if (in_eval && !rsfp) {
+ 	    d = bufend;
+ 	    while (s < d && *s != '\n')
+ 		s++;
+ 	    if (s < d)
+ 		s++;
+ 	    if (perldb) {
+ 		STR *str = Str_new(85,0);
+ 
+ 		str_nset(str,linestr->str_ptr, s - linestr->str_ptr);
+ 		astore(stab_xarray(curcmd->c_filestab),(int)curcmd->c_line,str);
+ 		str_chop(linestr, s);
+ 	    }
+ 	    if (in_format) {
+ 		bufptr = s;
+ 		yylval.formval = load_format();
+ 		in_format = FALSE;
+ 		oldoldbufptr = oldbufptr = s = bufptr + 1;
+ 		TERM(FORMLIST);
+ 	    }
+ 	    curcmd->c_line++;
+ 	}
+ 	else {
+ 	    *s = '\0';
+ 	    bufend = s;
+ 	}
+ 	goto retry;
+     case '-':
+ 	if (s[1] && isalpha(s[1]) && !isalpha(s[2])) {
+ 	    s++;
+ 	    switch (*s++) {
+ 	    case 'r': FTST(O_FTEREAD);
+ 	    case 'w': FTST(O_FTEWRITE);
+ 	    case 'x': FTST(O_FTEEXEC);
+ 	    case 'o': FTST(O_FTEOWNED);
+ 	    case 'R': FTST(O_FTRREAD);
+ 	    case 'W': FTST(O_FTRWRITE);
+ 	    case 'X': FTST(O_FTREXEC);
+ 	    case 'O': FTST(O_FTROWNED);
+ 	    case 'e': FTST(O_FTIS);
+ 	    case 'z': FTST(O_FTZERO);
+ 	    case 's': FTST(O_FTSIZE);
+ 	    case 'f': FTST(O_FTFILE);
+ 	    case 'd': FTST(O_FTDIR);
+ 	    case 'l': FTST(O_FTLINK);
+ 	    case 'p': FTST(O_FTPIPE);
+ 	    case 'S': FTST(O_FTSOCK);
+ 	    case 'u': FTST(O_FTSUID);
+ 	    case 'g': FTST(O_FTSGID);
+ 	    case 'k': FTST(O_FTSVTX);
+ 	    case 'b': FTST(O_FTBLK);
+ 	    case 'c': FTST(O_FTCHR);
+ 	    case 't': FTST(O_FTTTY);
+ 	    case 'T': FTST(O_FTTEXT);
+ 	    case 'B': FTST(O_FTBINARY);
+ 	    case 'M': stabent("\024",TRUE); FTST(O_FTMTIME);
+ 	    case 'A': stabent("\024",TRUE); FTST(O_FTATIME);
+ 	    case 'C': stabent("\024",TRUE); FTST(O_FTCTIME);
+ 	    default:
+ 		s -= 2;
+ 		break;
+ 	    }
+ 	}
+ 	tmp = *s++;
+ 	if (*s == tmp) {
+ 	    s++;
+ 	    RETURN(DEC);
+ 	}
+ 	if (expectterm)
+ 	    OPERATOR('-');
+ 	else
+ 	    AOP(O_SUBTRACT);
+     case '+':
+ 	tmp = *s++;
+ 	if (*s == tmp) {
+ 	    s++;
+ 	    RETURN(INC);
+ 	}
+ 	if (expectterm)
+ 	    OPERATOR('+');
+ 	else
+ 	    AOP(O_ADD);
+ 
+     case '*':
+ 	if (expectterm) {
+ 	    s = scanident(s,bufend,tokenbuf);
+ 	    yylval.stabval = stabent(tokenbuf,TRUE);
+ 	    TERM(STAR);
+ 	}
+ 	tmp = *s++;
+ 	if (*s == tmp) {
+ 	    s++;
+ 	    OPERATOR(POW);
+ 	}
+ 	MOP(O_MULTIPLY);
+     case '%':
+ 	if (expectterm) {
+ 	    s = scanident(s,bufend,tokenbuf);
+ 	    yylval.stabval = hadd(stabent(tokenbuf,TRUE));
+ 	    TERM(HSH);
+ 	}
+ 	s++;
+ 	MOP(O_MODULO);
+ 
+     case '^':
+     case '~':
+     case '(':
+     case ',':
+     case ':':
+     case '[':
+ 	tmp = *s++;
+ 	OPERATOR(tmp);
+     case '{':
+ 	tmp = *s++;
+ 	if (isspace(*s) || *s == '#')
+ 	    cmdline = NOLINE;   /* invalidate current command line number */
+ 	OPERATOR(tmp);
+     case ';':
+ 	if (curcmd->c_line < cmdline)
+ 	    cmdline = curcmd->c_line;
+ 	tmp = *s++;
+ 	OPERATOR(tmp);
+     case ')':
+     case ']':
+ 	tmp = *s++;
+ 	TERM(tmp);
+     case '}':
+ 	tmp = *s++;
+ 	RETURN(tmp);
+     case '&':
+ 	s++;
+ 	tmp = *s++;
+ 	if (tmp == '&')
+ 	    OPERATOR(ANDAND);
+ 	s--;
+ 	if (expectterm) {
+ 	    d = bufend;
+ 	    while (s < d && isspace(*s))
+ 		s++;
+ 	    if (isalpha(*s) || *s == '_' || *s == '\'')
+ 		*(--s) = '\\';	/* force next ident to WORD */
+ 	    OPERATOR(AMPER);
+ 	}
+ 	OPERATOR('&');
+     case '|':
+ 	s++;
+ 	tmp = *s++;
+ 	if (tmp == '|')
+ 	    OPERATOR(OROR);
+ 	s--;
+ 	OPERATOR('|');
+     case '=':
+ 	s++;
+ 	tmp = *s++;
+ 	if (tmp == '=')
+ 	    EOP(O_EQ);
+ 	if (tmp == '~')
+ 	    OPERATOR(MATCH);
+ 	s--;
+ 	OPERATOR('=');
+     case '!':
+ 	s++;
+ 	tmp = *s++;
+ 	if (tmp == '=')
+ 	    EOP(O_NE);
+ 	if (tmp == '~')
+ 	    OPERATOR(NMATCH);
+ 	s--;
+ 	OPERATOR('!');
+     case '<':
+ 	if (expectterm) {
+ 	    s = scanstr(s);
+ 	    TERM(RSTRING);
+ 	}
+ 	s++;
+ 	tmp = *s++;
+ 	if (tmp == '<')
+ 	    OPERATOR(LS);
+ 	if (tmp == '=') {
+ 	    tmp = *s++;
+ 	    if (tmp == '>')
+ 		EOP(O_NCMP);
+ 	    s--;
+ 	    ROP(O_LE);
+ 	}
+ 	s--;
+ 	ROP(O_LT);
+     case '>':
+ 	s++;
+ 	tmp = *s++;
+ 	if (tmp == '>')
+ 	    OPERATOR(RS);
+ 	if (tmp == '=')
+ 	    ROP(O_GE);
+ 	s--;
+ 	ROP(O_GT);
+ 
+ #define SNARFWORD \
+ 	d = tokenbuf; \
+ 	while (isascii(*s) && \
+ 	  (isalpha(*s) || isdigit(*s) || *s == '_' || *s == '\'')) \
+ 	    *d++ = *s++; \
+ 	while (d[-1] == '\'') \
+ 	    d--,s--; \
+ 	*d = '\0'; \
+ 	d = tokenbuf;
+ 
+     case '$':
+ 	if (s[1] == '#' && (isalpha(s[2]) || s[2] == '_')) {
+ 	    s++;
+ 	    s = scanident(s,bufend,tokenbuf);
+ 	    yylval.stabval = aadd(stabent(tokenbuf,TRUE));
+ 	    TERM(ARYLEN);
+ 	}
+ 	d = s;
+ 	s = scanident(s,bufend,tokenbuf);
+ 	if (reparse) {		/* turn ${foo[bar]} into ($foo[bar]) */
+ 	  do_reparse:
+ 	    s[-1] = ')';
+ 	    s = d;
+ 	    s[1] = s[0];
+ 	    s[0] = '(';
+ 	    goto retry;
+ 	}
+ 	yylval.stabval = stabent(tokenbuf,TRUE);
+ 	TERM(REG);
+ 
+     case '@':
+ 	d = s;
+ 	s = scanident(s,bufend,tokenbuf);
+ 	if (reparse)
+ 	    goto do_reparse;
+ 	yylval.stabval = aadd(stabent(tokenbuf,TRUE));
+ 	TERM(ARY);
+ 
+     case '/':			/* may either be division or pattern */
+     case '?':			/* may either be conditional or pattern */
+ 	if (expectterm) {
+ 	    s = scanpat(s);
+ 	    TERM(PATTERN);
+ 	}
+ 	tmp = *s++;
+ 	if (tmp == '/')
+ 	    MOP(O_DIVIDE);
+ 	OPERATOR(tmp);
+ 
+     case '.':
+ 	if (!expectterm || !isdigit(s[1])) {
+ 	    tmp = *s++;
+ 	    if (*s == tmp) {
+ 		s++;
+ 		OPERATOR(DOTDOT);
+ 	    }
+ 	    AOP(O_CONCAT);
+ 	}
+ 	/* FALL THROUGH */
+     case '0': case '1': case '2': case '3': case '4':
+     case '5': case '6': case '7': case '8': case '9':
+     case '\'': case '"': case '`':
+ 	s = scanstr(s);
+ 	TERM(RSTRING);
+ 
+     case '\\':	/* some magic to force next word to be a WORD */
+ 	s++;	/* used by do and sub to force a separate namespace */
+ 	/* FALL THROUGH */
+     case '_':
+ 	SNARFWORD;
+ 	if (d[1] == '_') {
+ 	    if (strEQ(d,"__LINE__") || strEQ(d,"__FILE__")) {
+ 		ARG *arg = op_new(1);
+ 
+ 		yylval.arg = arg;
+ 		arg->arg_type = O_ITEM;
+ 		if (d[2] == 'L')
+ 		    (void)sprintf(tokenbuf,"%ld",(long)curcmd->c_line);
+ 		else
+ 		    strcpy(tokenbuf, stab_val(curcmd->c_filestab)->str_ptr);
+ 		arg[1].arg_type = A_SINGLE;
+ 		arg[1].arg_ptr.arg_str = str_make(tokenbuf,strlen(tokenbuf));
+ 		TERM(RSTRING);
+ 	    }
+ 	    else if (strEQ(d,"__END__")) {
+ #ifndef TAINT
+ 		STAB *stab;
+ 		int fd;
+ 
+ 		if (stab = stabent("DATA",FALSE)) {
+ 		    stab->str_pok |= SP_MULTI;
+ 		    stab_io(stab) = stio_new();
+ 		    stab_io(stab)->ifp = rsfp;
+ #if defined(HAS_FCNTL) && defined(F_SETFD)
+ 		    fd = fileno(rsfp);
+ 		    fcntl(fd,F_SETFD,fd >= 3);
+ #endif
+ 		    if (preprocess)
+ 			stab_io(stab)->type = '|';
+ 		    else if (rsfp == stdin)
+ 			stab_io(stab)->type = '-';
+ 		    else
+ 			stab_io(stab)->type = '<';
+ 		    rsfp = Nullfp;
+ 		}
+ #endif
+ 		goto fake_eof;
+ 	    }
+ 	}
+ 	break;
+     case 'a': case 'A':
+ 	SNARFWORD;
+ 	if (strEQ(d,"alarm"))
+ 	    UNI(O_ALARM);
+ 	if (strEQ(d,"accept"))
+ 	    FOP22(O_ACCEPT);
+ 	if (strEQ(d,"atan2"))
+ 	    FUN2(O_ATAN2);
+ 	break;
+     case 'b': case 'B':
+ 	SNARFWORD;
+ 	if (strEQ(d,"bind"))
+ 	    FOP2(O_BIND);
+ 	if (strEQ(d,"binmode"))
+ 	    FOP(O_BINMODE);
+ 	break;
+     case 'c': case 'C':
+ 	SNARFWORD;
+ 	if (strEQ(d,"chop"))
+ 	    LFUN(O_CHOP);
+ 	if (strEQ(d,"continue"))
+ 	    OPERATOR(CONTINUE);
+ 	if (strEQ(d,"chdir")) {
+ 	    (void)stabent("ENV",TRUE);	/* may use HOME */
+ 	    UNI(O_CHDIR);
+ 	}
+ 	if (strEQ(d,"close"))
+ 	    FOP(O_CLOSE);
+ 	if (strEQ(d,"closedir"))
+ 	    FOP(O_CLOSEDIR);
+ 	if (strEQ(d,"cmp"))
+ 	    EOP(O_SCMP);
+ 	if (strEQ(d,"caller"))
+ 	    UNI(O_CALLER);
+ 	if (strEQ(d,"crypt")) {
+ #ifdef FCRYPT
+ 	    init_des();
+ #endif
+ 	    FUN2(O_CRYPT);
+ 	}
+ 	if (strEQ(d,"chmod"))
+ 	    LOP(O_CHMOD);
+ 	if (strEQ(d,"chown"))
+ 	    LOP(O_CHOWN);
+ 	if (strEQ(d,"connect"))
+ 	    FOP2(O_CONNECT);
+ 	if (strEQ(d,"cos"))
+ 	    UNI(O_COS);
+ 	if (strEQ(d,"chroot"))
+ 	    UNI(O_CHROOT);
+ 	break;
+     case 'd': case 'D':
+ 	SNARFWORD;
+ 	if (strEQ(d,"do")) {
+ 	    d = bufend;
+ 	    while (s < d && isspace(*s))
+ 		s++;
+ 	    if (isalpha(*s) || *s == '_')
+ 		*(--s) = '\\';	/* force next ident to WORD */
+ 	    OPERATOR(DO);
+ 	}
+ 	if (strEQ(d,"die"))
+ 	    LOP(O_DIE);
+ 	if (strEQ(d,"defined"))
+ 	    LFUN(O_DEFINED);
+ 	if (strEQ(d,"delete"))
+ 	    OPERATOR(DELETE);
+ 	if (strEQ(d,"dbmopen"))
+ 	    HFUN3(O_DBMOPEN);
+ 	if (strEQ(d,"dbmclose"))
+ 	    HFUN(O_DBMCLOSE);
+ 	if (strEQ(d,"dump"))
+ 	    LOOPX(O_DUMP);
+ 	break;
+     case 'e': case 'E':
+ 	SNARFWORD;
+ 	if (strEQ(d,"else"))
+ 	    OPERATOR(ELSE);
+ 	if (strEQ(d,"elsif")) {
+ 	    yylval.ival = curcmd->c_line;
+ 	    OPERATOR(ELSIF);
+ 	}
+ 	if (strEQ(d,"eq") || strEQ(d,"EQ"))
+ 	    EOP(O_SEQ);
+ 	if (strEQ(d,"exit"))
+ 	    UNI(O_EXIT);
+ 	if (strEQ(d,"eval")) {
+ 	    allstabs = TRUE;		/* must initialize everything since */
+ 	    UNI(O_EVAL);		/* we don't know what will be used */
+ 	}
+ 	if (strEQ(d,"eof"))
+ 	    FOP(O_EOF);
+ 	if (strEQ(d,"exp"))
+ 	    UNI(O_EXP);
+ 	if (strEQ(d,"each"))
+ 	    HFUN(O_EACH);
+ 	if (strEQ(d,"exec")) {
+ 	    set_csh();
+ 	    LOP(O_EXEC_OP);
+ 	}
+ 	if (strEQ(d,"endhostent"))
+ 	    FUN0(O_EHOSTENT);
+ 	if (strEQ(d,"endnetent"))
+ 	    FUN0(O_ENETENT);
+ 	if (strEQ(d,"endservent"))
+ 	    FUN0(O_ESERVENT);
+ 	if (strEQ(d,"endprotoent"))
+ 	    FUN0(O_EPROTOENT);
+ 	if (strEQ(d,"endpwent"))
+ 	    FUN0(O_EPWENT);
+ 	if (strEQ(d,"endgrent"))
+ 	    FUN0(O_EGRENT);
+ 	break;
+     case 'f': case 'F':
+ 	SNARFWORD;
+ 	if (strEQ(d,"for") || strEQ(d,"foreach")) {
+ 	    yylval.ival = curcmd->c_line;
+ 	    OPERATOR(FOR);
+ 	}
+ 	if (strEQ(d,"format")) {
+ 	    d = bufend;
+ 	    while (s < d && isspace(*s))
+ 		s++;
+ 	    if (isalpha(*s) || *s == '_')
+ 		*(--s) = '\\';	/* force next ident to WORD */
+ 	    in_format = TRUE;
+ 	    allstabs = TRUE;		/* must initialize everything since */
+ 	    OPERATOR(FORMAT);		/* we don't know what will be used */
+ 	}
+ 	if (strEQ(d,"fork"))
+ 	    FUN0(O_FORK);
+ 	if (strEQ(d,"fcntl"))
+ 	    FOP3(O_FCNTL);
+ 	if (strEQ(d,"fileno"))
+ 	    FOP(O_FILENO);
+ 	if (strEQ(d,"flock"))
+ 	    FOP2(O_FLOCK);
+ 	break;
+     case 'g': case 'G':
+ 	SNARFWORD;
+ 	if (strEQ(d,"gt") || strEQ(d,"GT"))
+ 	    ROP(O_SGT);
+ 	if (strEQ(d,"ge") || strEQ(d,"GE"))
+ 	    ROP(O_SGE);
+ 	if (strEQ(d,"grep"))
+ 	    FL2(O_GREP);
+ 	if (strEQ(d,"goto"))
+ 	    LOOPX(O_GOTO);
+ 	if (strEQ(d,"gmtime"))
+ 	    UNI(O_GMTIME);
+ 	if (strEQ(d,"getc"))
+ 	    FOP(O_GETC);
+ 	if (strnEQ(d,"get",3)) {
+ 	    d += 3;
+ 	    if (*d == 'p') {
+ 		if (strEQ(d,"ppid"))
+ 		    FUN0(O_GETPPID);
+ 		if (strEQ(d,"pgrp"))
+ 		    UNI(O_GETPGRP);
+ 		if (strEQ(d,"priority"))
+ 		    FUN2(O_GETPRIORITY);
+ 		if (strEQ(d,"protobyname"))
+ 		    UNI(O_GPBYNAME);
+ 		if (strEQ(d,"protobynumber"))
+ 		    FUN1(O_GPBYNUMBER);
+ 		if (strEQ(d,"protoent"))
+ 		    FUN0(O_GPROTOENT);
+ 		if (strEQ(d,"pwent"))
+ 		    FUN0(O_GPWENT);
+ 		if (strEQ(d,"pwnam"))
+ 		    FUN1(O_GPWNAM);
+ 		if (strEQ(d,"pwuid"))
+ 		    FUN1(O_GPWUID);
+ 		if (strEQ(d,"peername"))
+ 		    FOP(O_GETPEERNAME);
+ 	    }
+ 	    else if (*d == 'h') {
+ 		if (strEQ(d,"hostbyname"))
+ 		    UNI(O_GHBYNAME);
+ 		if (strEQ(d,"hostbyaddr"))
+ 		    FUN2(O_GHBYADDR);
+ 		if (strEQ(d,"hostent"))
+ 		    FUN0(O_GHOSTENT);
+ 	    }
+ 	    else if (*d == 'n') {
+ 		if (strEQ(d,"netbyname"))
+ 		    UNI(O_GNBYNAME);
+ 		if (strEQ(d,"netbyaddr"))
+ 		    FUN2(O_GNBYADDR);
+ 		if (strEQ(d,"netent"))
+ 		    FUN0(O_GNETENT);
+ 	    }
+ 	    else if (*d == 's') {
+ 		if (strEQ(d,"servbyname"))
+ 		    FUN2(O_GSBYNAME);
+ 		if (strEQ(d,"servbyport"))
+ 		    FUN2(O_GSBYPORT);
+ 		if (strEQ(d,"servent"))
+ 		    FUN0(O_GSERVENT);
+ 		if (strEQ(d,"sockname"))
+ 		    FOP(O_GETSOCKNAME);
+ 		if (strEQ(d,"sockopt"))
+ 		    FOP3(O_GSOCKOPT);
+ 	    }
+ 	    else if (*d == 'g') {
+ 		if (strEQ(d,"grent"))
+ 		    FUN0(O_GGRENT);
+ 		if (strEQ(d,"grnam"))
+ 		    FUN1(O_GGRNAM);
+ 		if (strEQ(d,"grgid"))
+ 		    FUN1(O_GGRGID);
+ 	    }
+ 	    else if (*d == 'l') {
+ 		if (strEQ(d,"login"))
+ 		    FUN0(O_GETLOGIN);
+ 	    }
+ 	    d -= 3;
+ 	}
+ 	break;
+     case 'h': case 'H':
+ 	SNARFWORD;
+ 	if (strEQ(d,"hex"))
+ 	    UNI(O_HEX);
+ 	break;
+     case 'i': case 'I':
+ 	SNARFWORD;
+ 	if (strEQ(d,"if")) {
+ 	    yylval.ival = curcmd->c_line;
+ 	    OPERATOR(IF);
+ 	}
+ 	if (strEQ(d,"index"))
+ 	    FUN2x(O_INDEX);
+ 	if (strEQ(d,"int"))
+ 	    UNI(O_INT);
+ 	if (strEQ(d,"ioctl"))
+ 	    FOP3(O_IOCTL);
+ 	break;
+     case 'j': case 'J':
+ 	SNARFWORD;
+ 	if (strEQ(d,"join"))
+ 	    FL2(O_JOIN);
+ 	break;
+     case 'k': case 'K':
+ 	SNARFWORD;
+ 	if (strEQ(d,"keys"))
+ 	    HFUN(O_KEYS);
+ 	if (strEQ(d,"kill"))
+ 	    LOP(O_KILL);
+ 	break;
+     case 'l': case 'L':
+ 	SNARFWORD;
+ 	if (strEQ(d,"last"))
+ 	    LOOPX(O_LAST);
+ 	if (strEQ(d,"local"))
+ 	    OPERATOR(LOCAL);
+ 	if (strEQ(d,"length"))
+ 	    UNI(O_LENGTH);
+ 	if (strEQ(d,"lt") || strEQ(d,"LT"))
+ 	    ROP(O_SLT);
+ 	if (strEQ(d,"le") || strEQ(d,"LE"))
+ 	    ROP(O_SLE);
+ 	if (strEQ(d,"localtime"))
+ 	    UNI(O_LOCALTIME);
+ 	if (strEQ(d,"log"))
+ 	    UNI(O_LOG);
+ 	if (strEQ(d,"link"))
+ 	    FUN2(O_LINK);
+ 	if (strEQ(d,"listen"))
+ 	    FOP2(O_LISTEN);
+ 	if (strEQ(d,"lstat"))
+ 	    FOP(O_LSTAT);
+ 	break;
+     case 'm': case 'M':
+ 	if (s[1] == '\'') {
+ 	    d = "m";
+ 	    s++;
+ 	}
+ 	else {
+ 	    SNARFWORD;
+ 	}
+ 	if (strEQ(d,"m")) {
+ 	    s = scanpat(s-1);
+ 	    if (yylval.arg)
+ 		TERM(PATTERN);
+ 	    else
+ 		RETURN(1);	/* force error */
+ 	}
+ 	switch (d[1]) {
+ 	case 'k':
+ 	    if (strEQ(d,"mkdir"))
+ 		FUN2(O_MKDIR);
+ 	    break;
+ 	case 's':
+ 	    if (strEQ(d,"msgctl"))
+ 		FUN3(O_MSGCTL);
+ 	    if (strEQ(d,"msgget"))
+ 		FUN2(O_MSGGET);
+ 	    if (strEQ(d,"msgrcv"))
+ 		FUN5(O_MSGRCV);
+ 	    if (strEQ(d,"msgsnd"))
+ 		FUN3(O_MSGSND);
+ 	    break;
+ 	}
+ 	break;
+     case 'n': case 'N':
+ 	SNARFWORD;
+ 	if (strEQ(d,"next"))
+ 	    LOOPX(O_NEXT);
+ 	if (strEQ(d,"ne") || strEQ(d,"NE"))
+ 	    EOP(O_SNE);
+ 	break;
+     case 'o': case 'O':
+ 	SNARFWORD;
+ 	if (strEQ(d,"open"))
+ 	    OPERATOR(OPEN);
+ 	if (strEQ(d,"ord"))
+ 	    UNI(O_ORD);
+ 	if (strEQ(d,"oct"))
+ 	    UNI(O_OCT);
+ 	if (strEQ(d,"opendir"))
+ 	    FOP2(O_OPENDIR);
+ 	break;
+     case 'p': case 'P':
+ 	SNARFWORD;
+ 	if (strEQ(d,"print")) {
+ 	    checkcomma(s,"filehandle");
+ 	    LOP(O_PRINT);
+ 	}
+ 	if (strEQ(d,"printf")) {
+ 	    checkcomma(s,"filehandle");
+ 	    LOP(O_PRTF);
+ 	}
+ 	if (strEQ(d,"push")) {
+ 	    yylval.ival = O_PUSH;
+ 	    OPERATOR(PUSH);
+ 	}
+ 	if (strEQ(d,"pop"))
+ 	    OPERATOR(POP);
+ 	if (strEQ(d,"pack"))
+ 	    FL2(O_PACK);
+ 	if (strEQ(d,"package"))
+ 	    OPERATOR(PACKAGE);
+ 	if (strEQ(d,"pipe"))
+ 	    FOP22(O_PIPE);
+ 	break;
+     case 'q': case 'Q':
+ 	SNARFWORD;
+ 	if (strEQ(d,"q")) {
+ 	    s = scanstr(s-1);
+ 	    TERM(RSTRING);
+ 	}
+ 	if (strEQ(d,"qq")) {
+ 	    s = scanstr(s-2);
+ 	    TERM(RSTRING);
+ 	}
+ 	if (strEQ(d,"qx")) {
+ 	    s = scanstr(s-2);
+ 	    TERM(RSTRING);
+ 	}
+ 	break;
+     case 'r': case 'R':
+ 	SNARFWORD;
+ 	if (strEQ(d,"return"))
+ 	    OLDLOP(O_RETURN);
+ 	if (strEQ(d,"require")) {
+ 	    allstabs = TRUE;		/* must initialize everything since */
+ 	    UNI(O_REQUIRE);		/* we don't know what will be used */
+ 	}
+ 	if (strEQ(d,"reset"))
+ 	    UNI(O_RESET);
+ 	if (strEQ(d,"redo"))
+ 	    LOOPX(O_REDO);
+ 	if (strEQ(d,"rename"))
+ 	    FUN2(O_RENAME);
+ 	if (strEQ(d,"rand"))
+ 	    UNI(O_RAND);
+ 	if (strEQ(d,"rmdir"))
+ 	    UNI(O_RMDIR);
+ 	if (strEQ(d,"rindex"))
+ 	    FUN2x(O_RINDEX);
+ 	if (strEQ(d,"read"))
+ 	    FOP3(O_READ);
+ 	if (strEQ(d,"readdir"))
+ 	    FOP(O_READDIR);
+ 	if (strEQ(d,"rewinddir"))
+ 	    FOP(O_REWINDDIR);
+ 	if (strEQ(d,"recv"))
+ 	    FOP4(O_RECV);
+ 	if (strEQ(d,"reverse"))
+ 	    LOP(O_REVERSE);
+ 	if (strEQ(d,"readlink"))
+ 	    UNI(O_READLINK);
+ 	break;
+     case 's': case 'S':
+ 	if (s[1] == '\'') {
+ 	    d = "s";
+ 	    s++;
+ 	}
+ 	else {
+ 	    SNARFWORD;
+ 	}
+ 	if (strEQ(d,"s")) {
+ 	    s = scansubst(s);
+ 	    if (yylval.arg)
+ 		TERM(SUBST);
+ 	    else
+ 		RETURN(1);	/* force error */
+ 	}
+ 	switch (d[1]) {
+ 	case 'a':
+ 	case 'b':
+ 	    break;
+ 	case 'c':
+ 	    if (strEQ(d,"scalar"))
+ 		UNI(O_SCALAR);
+ 	    break;
+ 	case 'd':
+ 	    break;
+ 	case 'e':
+ 	    if (strEQ(d,"select"))
+ 		OPERATOR(SSELECT);
+ 	    if (strEQ(d,"seek"))
+ 		FOP3(O_SEEK);
+ 	    if (strEQ(d,"semctl"))
+ 		FUN4(O_SEMCTL);
+ 	    if (strEQ(d,"semget"))
+ 		FUN3(O_SEMGET);
+ 	    if (strEQ(d,"semop"))
+ 		FUN2(O_SEMOP);
+ 	    if (strEQ(d,"send"))
+ 		FOP3(O_SEND);
+ 	    if (strEQ(d,"setpgrp"))
+ 		FUN2(O_SETPGRP);
+ 	    if (strEQ(d,"setpriority"))
+ 		FUN3(O_SETPRIORITY);
+ 	    if (strEQ(d,"sethostent"))
+ 		FUN1(O_SHOSTENT);
+ 	    if (strEQ(d,"setnetent"))
+ 		FUN1(O_SNETENT);
+ 	    if (strEQ(d,"setservent"))
+ 		FUN1(O_SSERVENT);
+ 	    if (strEQ(d,"setprotoent"))
+ 		FUN1(O_SPROTOENT);
+ 	    if (strEQ(d,"setpwent"))
+ 		FUN0(O_SPWENT);
+ 	    if (strEQ(d,"setgrent"))
+ 		FUN0(O_SGRENT);
+ 	    if (strEQ(d,"seekdir"))
+ 		FOP2(O_SEEKDIR);
+ 	    if (strEQ(d,"setsockopt"))
+ 		FOP4(O_SSOCKOPT);
+ 	    break;
+ 	case 'f':
+ 	case 'g':
+ 	    break;
+ 	case 'h':
+ 	    if (strEQ(d,"shift"))
+ 		TERM(SHIFT);
+ 	    if (strEQ(d,"shmctl"))
+ 		FUN3(O_SHMCTL);
+ 	    if (strEQ(d,"shmget"))
+ 		FUN3(O_SHMGET);
+ 	    if (strEQ(d,"shmread"))
+ 		FUN4(O_SHMREAD);
+ 	    if (strEQ(d,"shmwrite"))
+ 		FUN4(O_SHMWRITE);
+ 	    if (strEQ(d,"shutdown"))
+ 		FOP2(O_SHUTDOWN);
+ 	    break;
+ 	case 'i':
+ 	    if (strEQ(d,"sin"))
+ 		UNI(O_SIN);
+ 	    break;
+ 	case 'j':
+ 	case 'k':
+ 	    break;
+ 	case 'l':
+ 	    if (strEQ(d,"sleep"))
+ 		UNI(O_SLEEP);
+ 	    break;
+ 	case 'm':
+ 	case 'n':
+ 	    break;
+ 	case 'o':
+ 	    if (strEQ(d,"socket"))
+ 		FOP4(O_SOCKET);
+ 	    if (strEQ(d,"socketpair"))
+ 		FOP25(O_SOCKPAIR);
+ 	    if (strEQ(d,"sort")) {
+ 		checkcomma(s,"subroutine name");
+ 		d = bufend;
+ 		while (s < d && isascii(*s) && isspace(*s)) s++;
+ 		if (*s == ';' || *s == ')')		/* probably a close */
+ 		    fatal("sort is now a reserved word");
+ 		if (isascii(*s) && (isalpha(*s) || *s == '_')) {
+ 		    for (d = s; isalpha(*d) || isdigit(*d) || *d == '_'; d++) ;
+ 		    strncpy(tokenbuf,s,d-s);
+ 		    if (strNE(tokenbuf,"keys") &&
+ 			strNE(tokenbuf,"values") &&
+ 			strNE(tokenbuf,"split") &&
+ 			strNE(tokenbuf,"grep") &&
+ 			strNE(tokenbuf,"readdir") &&
+ 			strNE(tokenbuf,"unpack") &&
+ 			strNE(tokenbuf,"do") &&
+ 			(d >= bufend || isspace(*d)) )
+ 			*(--s) = '\\';	/* force next ident to WORD */
+ 		}
+ 		LOP(O_SORT);
+ 	    }
+ 	    break;
+ 	case 'p':
+ 	    if (strEQ(d,"split"))
+ 		TERM(SPLIT);
+ 	    if (strEQ(d,"sprintf"))
+ 		FL(O_SPRINTF);
+ 	    if (strEQ(d,"splice")) {
+ 		yylval.ival = O_SPLICE;
+ 		OPERATOR(PUSH);
+ 	    }
+ 	    break;
+ 	case 'q':
+ 	    if (strEQ(d,"sqrt"))
+ 		UNI(O_SQRT);
+ 	    break;
+ 	case 'r':
+ 	    if (strEQ(d,"srand"))
+ 		UNI(O_SRAND);
+ 	    break;
+ 	case 's':
+ 	    break;
+ 	case 't':
+ 	    if (strEQ(d,"stat"))
+ 		FOP(O_STAT);
+ 	    if (strEQ(d,"study")) {
+ 		sawstudy++;
+ 		LFUN(O_STUDY);
+ 	    }
+ 	    break;
+ 	case 'u':
+ 	    if (strEQ(d,"substr"))
+ 		FUN2x(O_SUBSTR);
+ 	    if (strEQ(d,"sub")) {
+ 		subline = curcmd->c_line;
+ 		d = bufend;
+ 		while (s < d && isspace(*s))
+ 		    s++;
+ 		if (isalpha(*s) || *s == '_' || *s == '\'') {
+ 		    if (perldb) {
+ 			str_sset(subname,curstname);
+ 			str_ncat(subname,"'",1);
+ 			for (d = s+1;
+ 			  isalpha(*d) || isdigit(*d) || *d == '_' || *d == '\'';
+ 			  d++);
+ 			if (d[-1] == '\'')
+ 			    d--;
+ 			str_ncat(subname,s,d-s);
+ 		    }
+ 		    *(--s) = '\\';	/* force next ident to WORD */
+ 		}
+ 		else if (perldb)
+ 		    str_set(subname,"?");
+ 		OPERATOR(SUB);
+ 	    }
+ 	    break;
+ 	case 'v':
+ 	case 'w':
+ 	case 'x':
+ 	    break;
+ 	case 'y':
+ 	    if (strEQ(d,"system")) {
+ 		set_csh();
+ 		LOP(O_SYSTEM);
+ 	    }
+ 	    if (strEQ(d,"symlink"))
+ 		FUN2(O_SYMLINK);
+ 	    if (strEQ(d,"syscall"))
+ 		LOP(O_SYSCALL);
+ 	    if (strEQ(d,"sysread"))
+ 		FOP3(O_SYSREAD);
+ 	    if (strEQ(d,"syswrite"))
+ 		FOP3(O_SYSWRITE);
+ 	    break;
+ 	case 'z':
+ 	    break;
+ 	}
+ 	break;
+     case 't': case 'T':
+ 	SNARFWORD;
+ 	if (strEQ(d,"tr")) {
+ 	    s = scantrans(s);
+ 	    if (yylval.arg)
+ 		TERM(TRANS);
+ 	    else
+ 		RETURN(1);	/* force error */
+ 	}
+ 	if (strEQ(d,"tell"))
+ 	    FOP(O_TELL);
+ 	if (strEQ(d,"telldir"))
+ 	    FOP(O_TELLDIR);
+ 	if (strEQ(d,"time"))
+ 	    FUN0(O_TIME);
+ 	if (strEQ(d,"times"))
+ 	    FUN0(O_TMS);
+ 	if (strEQ(d,"truncate"))
+ 	    FOP2(O_TRUNCATE);
+ 	break;
+     case 'u': case 'U':
+ 	SNARFWORD;
+ 	if (strEQ(d,"using"))
+ 	    OPERATOR(USING);
+ 	if (strEQ(d,"until")) {
+ 	    yylval.ival = curcmd->c_line;
+ 	    OPERATOR(UNTIL);
+ 	}
+ 	if (strEQ(d,"unless")) {
+ 	    yylval.ival = curcmd->c_line;
+ 	    OPERATOR(UNLESS);
+ 	}
+ 	if (strEQ(d,"unlink"))
+ 	    LOP(O_UNLINK);
+ 	if (strEQ(d,"undef"))
+ 	    LFUN(O_UNDEF);
+ 	if (strEQ(d,"unpack"))
+ 	    FUN2(O_UNPACK);
+ 	if (strEQ(d,"utime"))
+ 	    LOP(O_UTIME);
+ 	if (strEQ(d,"umask"))
+ 	    UNI(O_UMASK);
+ 	if (strEQ(d,"unshift")) {
+ 	    yylval.ival = O_UNSHIFT;
+ 	    OPERATOR(PUSH);
+ 	}
+ 	break;
+     case 'v': case 'V':
+ 	SNARFWORD;
+ 	if (strEQ(d,"values"))
+ 	    HFUN(O_VALUES);
+ 	if (strEQ(d,"vec")) {
+ 	    sawvec = TRUE;
+ 	    FUN3(O_VEC);
+ 	}
+ 	break;
+     case 'w': case 'W':
+ 	SNARFWORD;
+ 	if (strEQ(d,"while")) {
+ 	    yylval.ival = curcmd->c_line;
+ 	    OPERATOR(WHILE);
+ 	}
+ 	if (strEQ(d,"warn"))
+ 	    LOP(O_WARN);
+ 	if (strEQ(d,"wait"))
+ 	    FUN0(O_WAIT);
+ 	if (strEQ(d,"waitpid"))
+ 	    FUN2(O_WAITPID);
+ 	if (strEQ(d,"wantarray")) {
+ 	    yylval.arg = op_new(1);
+ 	    yylval.arg->arg_type = O_ITEM;
+ 	    yylval.arg[1].arg_type = A_WANTARRAY;
+ 	    TERM(RSTRING);
+ 	}
+ 	if (strEQ(d,"write"))
+ 	    FOP(O_WRITE);
+ 	break;
+     case 'x': case 'X':
+ 	SNARFWORD;
+ 	if (!expectterm && strEQ(d,"x"))
+ 	    MOP(O_REPEAT);
+ 	break;
+     case 'y': case 'Y':
+ 	if (s[1] == '\'') {
+ 	    d = "y";
+ 	    s++;
+ 	}
+ 	else {
+ 	    SNARFWORD;
+ 	}
+ 	if (strEQ(d,"y")) {
+ 	    s = scantrans(s);
+ 	    TERM(TRANS);
+ 	}
+ 	break;
+     case 'z': case 'Z':
+ 	SNARFWORD;
+ 	break;
+     }
+     yylval.cval = savestr(d);
+     expectterm = FALSE;
+     if (oldoldbufptr && oldoldbufptr < bufptr) {
+ 	while (isspace(*oldoldbufptr))
+ 	    oldoldbufptr++;
+ 	if (*oldoldbufptr == 'p' && strnEQ(oldoldbufptr,"print",5))
+ 	    expectterm = TRUE;
+ 	else if (*oldoldbufptr == 's' && strnEQ(oldoldbufptr,"sort",4))
+ 	    expectterm = TRUE;
+     }
+     return (CLINE, bufptr = s, (int)WORD);
+ }
+ 
+ void
+ checkcomma(s,what)
+ register char *s;
+ char *what;
+ {
+     char *someword;
+ 
+     if (*s == '(')
+ 	s++;
+     while (s < bufend && isascii(*s) && isspace(*s))
+ 	s++;
+     if (isascii(*s) && (isalpha(*s) || *s == '_')) {
+ 	someword = s++;
+ 	while (isalpha(*s) || isdigit(*s) || *s == '_')
+ 	    s++;
+ 	while (s < bufend && isspace(*s))
+ 	    s++;
+ 	if (*s == ',') {
+ 	    *s = '\0';
+ 	    someword = instr(
+ 	      "tell eof times getlogin wait length shift umask getppid \
+ 	      cos exp int log rand sin sqrt ord wantarray",
+ 	      someword);
+ 	    *s = ',';
+ 	    if (someword)
+ 		return;
+ 	    fatal("No comma allowed after %s", what);
+ 	}
+     }
+ }
+ 
+ char *
+ scanident(s,send,dest)
+ register char *s;
+ register char *send;
+ char *dest;
+ {
+     register char *d;
+     int brackets = 0;
+ 
+     reparse = Nullch;
+     s++;
+     d = dest;
+     if (isdigit(*s)) {
+ 	while (isdigit(*s))
+ 	    *d++ = *s++;
+     }
+     else {
+ 	while (isalpha(*s) || isdigit(*s) || *s == '_' || *s == '\'')
+ 	    *d++ = *s++;
+     }
+     while (d > dest+1 && d[-1] == '\'')
+ 	d--,s--;
+     *d = '\0';
+     d = dest;
+     if (!*d) {
+ 	*d = *s++;
+ 	if (*d == '{' /* } */ ) {
+ 	    d = dest;
+ 	    brackets++;
+ 	    while (s < send && brackets) {
+ 		if (!reparse && (d == dest || (*s && isascii(*s) &&
+ 		  (isalpha(*s) || isdigit(*s) || *s == '_') ))) {
+ 		    *d++ = *s++;
+ 		    continue;
+ 		}
+ 		else if (!reparse)
+ 		    reparse = s;
+ 		switch (*s++) {
+ 		/* { */
+ 		case '}':
+ 		    brackets--;
+ 		    if (reparse && reparse == s - 1)
+ 			reparse = Nullch;
+ 		    break;
+ 		case '{':   /* } */
+ 		    brackets++;
+ 		    break;
+ 		}
+ 	    }
+ 	    *d = '\0';
+ 	    d = dest;
+ 	}
+ 	else
+ 	    d[1] = '\0';
+     }
+     if (*d == '^' && (isupper(*s) || index("[\\]^_?",*s)))
+ 	*d = *s++ ^ 64;
+     return s;
+ }
+ 
+ STR *
+ scanconst(string,len)
+ char *string;
+ int len;
+ {
+     register STR *retstr;
+     register char *t;
+     register char *d;
+     register char *e;
+ 
+     if (index(string,'|')) {
+ 	return Nullstr;
+     }
+     retstr = Str_new(86,len);
+     str_nset(retstr,string,len);
+     t = str_get(retstr);
+     e = t + len;
+     retstr->str_u.str_useful = 100;
+     for (d=t; d < e; ) {
+ 	switch (*d) {
+ 	case '{':
+ 	    if (isdigit(d[1]))
+ 		e = d;
+ 	    else
+ 		goto defchar;
+ 	    break;
+ 	case '.': case '[': case '$': case '(': case ')': case '|': case '+':
+ 	    e = d;
+ 	    break;
+ 	case '\\':
+ 	    if (d[1] && index("wWbB0123456789sSdDlLuUE",d[1])) {
+ 		e = d;
+ 		break;
+ 	    }
+ 	    (void)bcopy(d+1,d,e-d);
+ 	    e--;
+ 	    switch(*d) {
+ 	    case 'n':
+ 		*d = '\n';
+ 		break;
+ 	    case 't':
+ 		*d = '\t';
+ 		break;
+ 	    case 'f':
+ 		*d = '\f';
+ 		break;
+ 	    case 'r':
+ 		*d = '\r';
+ 		break;
+ 	    case 'e':
+ 		*d = '\033';
+ 		break;
+ 	    case 'a':
+ 		*d = '\007';
+ 		break;
+ 	    }
+ 	    /* FALL THROUGH */
+ 	default:
+ 	  defchar:
+ 	    if (d[1] == '*' || (d[1] == '{' && d[2] == '0') || d[1] == '?') {
+ 		e = d;
+ 		break;
+ 	    }
+ 	    d++;
+ 	}
+     }
+     if (d == t) {
+ 	str_free(retstr);
+ 	return Nullstr;
+     }
+     *d = '\0';
+     retstr->str_cur = d - t;
+     return retstr;
+ }
+ 
+ char *
+ scanpat(s)
+ register char *s;
+ {
+     register SPAT *spat;
+     register char *d;
+     register char *e;
+     int len;
+     SPAT savespat;
+     STR *str = Str_new(93,0);
+ 
+     Newz(801,spat,1,SPAT);
+     spat->spat_next = curstash->tbl_spatroot;	/* link into spat list */
+     curstash->tbl_spatroot = spat;
+ 
+     switch (*s++) {
+     case 'm':
+ 	s++;
+ 	break;
+     case '/':
+ 	break;
+     case '?':
+ 	spat->spat_flags |= SPAT_ONCE;
+ 	break;
+     default:
+ 	fatal("panic: scanpat");
+     }
+     s = str_append_till(str,s,bufend,s[-1],patleave);
+     if (s >= bufend) {
+ 	str_free(str);
+ 	yyerror("Search pattern not terminated");
+ 	yylval.arg = Nullarg;
+ 	return s;
+     }
+     s++;
+     while (*s == 'i' || *s == 'o') {
+ 	if (*s == 'i') {
+ 	    s++;
+ 	    sawi = TRUE;
+ 	    spat->spat_flags |= SPAT_FOLD;
+ 	}
+ 	if (*s == 'o') {
+ 	    s++;
+ 	    spat->spat_flags |= SPAT_KEEP;
+ 	}
+     }
+     len = str->str_cur;
+     e = str->str_ptr + len;
+     for (d = str->str_ptr; d < e; d++) {
+ 	if (*d == '\\')
+ 	    d++;
+ 	else if ((*d == '$' && d[1] && d[1] != '|' && d[1] != ')') ||
+ 		 (*d == '@')) {
+ 	    register ARG *arg;
+ 
+ 	    spat->spat_runtime = arg = op_new(1);
+ 	    arg->arg_type = O_ITEM;
+ 	    arg[1].arg_type = A_DOUBLE;
+ 	    arg[1].arg_ptr.arg_str = str_smake(str);
+ 	    d = scanident(d,bufend,buf);
+ 	    (void)stabent(buf,TRUE);		/* make sure it's created */
+ 	    for (; d < e; d++) {
+ 		if (*d == '\\')
+ 		    d++;
+ 		else if (*d == '$' && d[1] && d[1] != '|' && d[1] != ')') {
+ 		    d = scanident(d,bufend,buf);
+ 		    (void)stabent(buf,TRUE);
+ 		}
+ 		else if (*d == '@') {
+ 		    d = scanident(d,bufend,buf);
+ 		    if (strEQ(buf,"ARGV") || strEQ(buf,"ENV") ||
+ 		      strEQ(buf,"SIG") || strEQ(buf,"INC"))
+ 			(void)stabent(buf,TRUE);
+ 		}
+ 	    }
+ 	    goto got_pat;		/* skip compiling for now */
+ 	}
+     }
+     if (spat->spat_flags & SPAT_FOLD)
+ #ifdef STRUCTCOPY
+ 	savespat = *spat;
+ #else
+ 	(void)bcopy((char *)spat, (char *)&savespat, sizeof(SPAT));
+ #endif
+     if (*str->str_ptr == '^') {
+ 	spat->spat_short = scanconst(str->str_ptr+1,len-1);
+ 	if (spat->spat_short) {
+ 	    spat->spat_slen = spat->spat_short->str_cur;
+ 	    if (spat->spat_slen == len - 1)
+ 		spat->spat_flags |= SPAT_ALL;
+ 	}
+     }
+     else {
+ 	spat->spat_flags |= SPAT_SCANFIRST;
+ 	spat->spat_short = scanconst(str->str_ptr,len);
+ 	if (spat->spat_short) {
+ 	    spat->spat_slen = spat->spat_short->str_cur;
+ 	    if (spat->spat_slen == len)
+ 		spat->spat_flags |= SPAT_ALL;
+ 	}
+     }	
+     if ((spat->spat_flags & SPAT_ALL) && (spat->spat_flags & SPAT_SCANFIRST)) {
+ 	fbmcompile(spat->spat_short, spat->spat_flags & SPAT_FOLD);
+ 	spat->spat_regexp = regcomp(str->str_ptr,str->str_ptr+len,
+ 	    spat->spat_flags & SPAT_FOLD);
+ 		/* Note that this regexp can still be used if someone says
+ 		 * something like /a/ && s//b/;  so we can't delete it.
+ 		 */
+     }
+     else {
+ 	if (spat->spat_flags & SPAT_FOLD)
+ #ifdef STRUCTCOPY
+ 	    *spat = savespat;
+ #else
+ 	    (void)bcopy((char *)&savespat, (char *)spat, sizeof(SPAT));
+ #endif
+ 	if (spat->spat_short)
+ 	    fbmcompile(spat->spat_short, spat->spat_flags & SPAT_FOLD);
+ 	spat->spat_regexp = regcomp(str->str_ptr,str->str_ptr+len,
+ 	    spat->spat_flags & SPAT_FOLD);
+ 	hoistmust(spat);
+     }
+   got_pat:
+     str_free(str);
+     yylval.arg = make_match(O_MATCH,stab2arg(A_STAB,defstab),spat);
+     return s;
+ }
+ 
+ char *
+ scansubst(s)
+ register char *s;
+ {
+     register SPAT *spat;
+     register char *d;
+     register char *e;
+     int len;
+     STR *str = Str_new(93,0);
+ 
+     Newz(802,spat,1,SPAT);
+     spat->spat_next = curstash->tbl_spatroot;	/* link into spat list */
+     curstash->tbl_spatroot = spat;
+ 
+     s = str_append_till(str,s+1,bufend,*s,patleave);
+     if (s >= bufend) {
+ 	str_free(str);
+ 	yyerror("Substitution pattern not terminated");
+ 	yylval.arg = Nullarg;
+ 	return s;
+     }
+     len = str->str_cur;
+     e = str->str_ptr + len;
+     for (d = str->str_ptr; d < e; d++) {
+ 	if (*d == '\\')
+ 	    d++;
+ 	else if ((*d == '$' && d[1] && d[1] != '|' && /*(*/ d[1] != ')') ||
+ 	    *d == '@' ) {
+ 	    register ARG *arg;
+ 
+ 	    spat->spat_runtime = arg = op_new(1);
+ 	    arg->arg_type = O_ITEM;
+ 	    arg[1].arg_type = A_DOUBLE;
+ 	    arg[1].arg_ptr.arg_str = str_smake(str);
+ 	    d = scanident(d,bufend,buf);
+ 	    (void)stabent(buf,TRUE);		/* make sure it's created */
+ 	    for (; *d; d++) {
+ 		if (*d == '$' && d[1] && d[-1] != '\\' && d[1] != '|') {
+ 		    d = scanident(d,bufend,buf);
+ 		    (void)stabent(buf,TRUE);
+ 		}
+ 		else if (*d == '@' && d[-1] != '\\') {
+ 		    d = scanident(d,bufend,buf);
+ 		    if (strEQ(buf,"ARGV") || strEQ(buf,"ENV") ||
+ 		      strEQ(buf,"SIG") || strEQ(buf,"INC"))
+ 			(void)stabent(buf,TRUE);
+ 		}
+ 	    }
+ 	    goto get_repl;		/* skip compiling for now */
+ 	}
+     }
+     if (*str->str_ptr == '^') {
+ 	spat->spat_short = scanconst(str->str_ptr+1,len-1);
+ 	if (spat->spat_short)
+ 	    spat->spat_slen = spat->spat_short->str_cur;
+     }
+     else {
+ 	spat->spat_flags |= SPAT_SCANFIRST;
+ 	spat->spat_short = scanconst(str->str_ptr,len);
+ 	if (spat->spat_short)
+ 	    spat->spat_slen = spat->spat_short->str_cur;
+     }
+ get_repl:
+     s = scanstr(s);
+     if (s >= bufend) {
+ 	str_free(str);
+ 	yyerror("Substitution replacement not terminated");
+ 	yylval.arg = Nullarg;
+ 	return s;
+     }
+     spat->spat_repl = yylval.arg;
+     spat->spat_flags |= SPAT_ONCE;
+     if ((spat->spat_repl[1].arg_type & A_MASK) == A_SINGLE)
+ 	spat->spat_flags |= SPAT_CONST;
+     else if ((spat->spat_repl[1].arg_type & A_MASK) == A_DOUBLE) {
+ 	STR *tmpstr;
+ 	register char *t;
+ 
+ 	spat->spat_flags |= SPAT_CONST;
+ 	tmpstr = spat->spat_repl[1].arg_ptr.arg_str;
+ 	e = tmpstr->str_ptr + tmpstr->str_cur;
+ 	for (t = tmpstr->str_ptr; t < e; t++) {
+ 	    if (*t == '$' && t[1] && (index("`'&+0123456789",t[1]) ||
+ 	      (t[1] == '{' /*}*/ && isdigit(t[2])) ))
+ 		spat->spat_flags &= ~SPAT_CONST;
+ 	}
+     }
+     while (*s == 'g' || *s == 'i' || *s == 'e' || *s == 'o') {
+ 	if (*s == 'e') {
+ 	    s++;
+ 	    if ((spat->spat_repl[1].arg_type & A_MASK) == A_DOUBLE)
+ 		spat->spat_repl[1].arg_type = A_SINGLE;
+ 	    spat->spat_repl = make_op(O_EVAL,2,
+ 		spat->spat_repl,
+ 		Nullarg,
+ 		Nullarg);
+ 	    spat->spat_flags &= ~SPAT_CONST;
+ 	}
+ 	if (*s == 'g') {
+ 	    s++;
+ 	    spat->spat_flags &= ~SPAT_ONCE;
+ 	}
+ 	if (*s == 'i') {
+ 	    s++;
+ 	    sawi = TRUE;
+ 	    spat->spat_flags |= SPAT_FOLD;
+ 	    if (!(spat->spat_flags & SPAT_SCANFIRST)) {
+ 		str_free(spat->spat_short);	/* anchored opt doesn't do */
+ 		spat->spat_short = Nullstr;	/* case insensitive match */
+ 		spat->spat_slen = 0;
+ 	    }
+ 	}
+ 	if (*s == 'o') {
+ 	    s++;
+ 	    spat->spat_flags |= SPAT_KEEP;
+ 	}
+     }
+     if (spat->spat_short && (spat->spat_flags & SPAT_SCANFIRST))
+ 	fbmcompile(spat->spat_short, spat->spat_flags & SPAT_FOLD);
+     if (!spat->spat_runtime) {
+ 	spat->spat_regexp = regcomp(str->str_ptr,str->str_ptr+len,
+ 	  spat->spat_flags & SPAT_FOLD);
+ 	hoistmust(spat);
+     }
+     yylval.arg = make_match(O_SUBST,stab2arg(A_STAB,defstab),spat);
+     str_free(str);
+     return s;
+ }
+ 
+ hoistmust(spat)
+ register SPAT *spat;
+ {
+     if (spat->spat_regexp->regmust) {	/* is there a better short-circuit? */
+ 	if (spat->spat_short &&
+ 	  str_eq(spat->spat_short,spat->spat_regexp->regmust))
+ 	{
+ 	    if (spat->spat_flags & SPAT_SCANFIRST) {
+ 		str_free(spat->spat_short);
+ 		spat->spat_short = Nullstr;
+ 	    }
+ 	    else {
+ 		str_free(spat->spat_regexp->regmust);
+ 		spat->spat_regexp->regmust = Nullstr;
+ 		return;
+ 	    }
+ 	}
+ 	if (!spat->spat_short ||	/* promote the better string */
+ 	  ((spat->spat_flags & SPAT_SCANFIRST) &&
+ 	   (spat->spat_short->str_cur < spat->spat_regexp->regmust->str_cur) )){
+ 	    str_free(spat->spat_short);		/* ok if null */
+ 	    spat->spat_short = spat->spat_regexp->regmust;
+ 	    spat->spat_regexp->regmust = Nullstr;
+ 	    spat->spat_flags |= SPAT_SCANFIRST;
+ 	}
+     }
+ }
+ 
+ char *
+ expand_charset(s,len,retlen)
+ register char *s;
+ int len;
+ int *retlen;
+ {
+     char t[520];
+     register char *d = t;
+     register int i;
+     register char *send = s + len;
+ 
+     while (s < send && d - t <= 256) {
+ 	if (s[1] == '-' && s+2 < send) {
+ 	    for (i = (s[0] & 0377); i <= (s[2] & 0377); i++)
+ 		*d++ = i;
+ 	    s += 3;
+ 	}
+ 	else
+ 	    *d++ = *s++;
+     }
+     *d = '\0';
+     *retlen = d - t;
+     return nsavestr(t,d-t);
+ }
+ 
+ char *
+ scantrans(s)
+ register char *s;
+ {
+     ARG *arg =
+ 	l(make_op(O_TRANS,2,stab2arg(A_STAB,defstab),Nullarg,Nullarg));
+     register char *t;
+     register char *r;
+     register short *tbl;
+     register int i;
+     register int j;
+     int tlen, rlen;
+     int squash;
+     int delete;
+     int complement;
+ 
+     New(803,tbl,256,short);
+     arg[2].arg_type = A_NULL;
+     arg[2].arg_ptr.arg_cval = (char*) tbl;
+     s = scanstr(s);
+     if (s >= bufend) {
+ 	yyerror("Translation pattern not terminated");
+ 	yylval.arg = Nullarg;
+ 	return s;
+     }
+     t = expand_charset(yylval.arg[1].arg_ptr.arg_str->str_ptr,
+ 	yylval.arg[1].arg_ptr.arg_str->str_cur,&tlen);
+     arg_free(yylval.arg);
+     s = scanstr(s-1);
+     if (s >= bufend) {
+ 	yyerror("Translation replacement not terminated");
+ 	yylval.arg = Nullarg;
+ 	return s;
+     }
+     complement = delete = squash = 0;
+     while (*s == 'c' || *s == 'd' || *s == 's') {
+ 	if (*s == 'c')
+ 	    complement = 1;
+ 	else if (*s == 'd')
+ 	    delete = 2;
+ 	else
+ 	    squash = 1;
+ 	s++;
+     }
+     r = expand_charset(yylval.arg[1].arg_ptr.arg_str->str_ptr,
+ 	yylval.arg[1].arg_ptr.arg_str->str_cur,&rlen);
+     arg_free(yylval.arg);
+     arg[2].arg_len = delete|squash;
+     yylval.arg = arg;
+     if (!rlen && !delete) {
+ 	Safefree(r);
+ 	r = t; rlen = tlen;
+     }
+     if (complement) {
+ 	Zero(tbl, 256, short);
+ 	for (i = 0; i < tlen; i++)
+ 	    tbl[t[i] & 0377] = -1;
+ 	for (i = 0, j = 0; i < 256; i++) {
+ 	    if (!tbl[i]) {
+ 		if (j >= rlen) {
+ 		    if (delete)
+ 			tbl[i] = -2;
+ 		    else
+ 			tbl[i] = r[j-1];
+ 		}
+ 		else
+ 		    tbl[i] = r[j++];
+ 	    }
+ 	}
+     }
+     else {
+ 	for (i = 0; i < 256; i++)
+ 	    tbl[i] = -1;
+ 	for (i = 0, j = 0; i < tlen; i++,j++) {
+ 	    if (j >= rlen) {
+ 		if (delete) {
+ 		    if (tbl[t[i] & 0377] == -1)
+ 			tbl[t[i] & 0377] = -2;
+ 		    continue;
+ 		}
+ 		--j;
+ 	    }
+ 	    if (tbl[t[i] & 0377] == -1)
+ 		tbl[t[i] & 0377] = r[j] & 0377;
+ 	}
+     }
+     if (r != t)
+ 	Safefree(r);
+     Safefree(t);
+     return s;
+ }
+ 
+ char *
+ scanstr(s)
+ register char *s;
+ {
+     register char term;
+     register char *d;
+     register ARG *arg;
+     register char *send;
+     register bool makesingle = FALSE;
+     register STAB *stab;
+     bool alwaysdollar = FALSE;
+     bool hereis = FALSE;
+     STR *herewas;
+     STR *str;
+     char *leave = "\\$@nrtfbeacx0123456789[{]}lLuUE"; /* which backslash sequences to keep */
+     int len;
+ 
+     arg = op_new(1);
+     yylval.arg = arg;
+     arg->arg_type = O_ITEM;
+ 
+     switch (*s) {
+     default:			/* a substitution replacement */
+ 	arg[1].arg_type = A_DOUBLE;
+ 	makesingle = TRUE;	/* maybe disable runtime scanning */
+ 	term = *s;
+ 	if (term == '\'')
+ 	    leave = Nullch;
+ 	goto snarf_it;
+     case '0':
+ 	{
+ 	    unsigned long i;
+ 	    int shift;
+ 
+ 	    arg[1].arg_type = A_SINGLE;
+ 	    if (s[1] == 'x') {
+ 		shift = 4;
+ 		s += 2;
+ 	    }
+ 	    else if (s[1] == '.')
+ 		goto decimal;
+ 	    else
+ 		shift = 3;
+ 	    i = 0;
+ 	    for (;;) {
+ 		switch (*s) {
+ 		default:
+ 		    goto out;
+ 		case '8': case '9':
+ 		    if (shift != 4)
+ 			yyerror("Illegal octal digit");
+ 		    /* FALL THROUGH */
+ 		case '0': case '1': case '2': case '3': case '4':
+ 		case '5': case '6': case '7':
+ 		    i <<= shift;
+ 		    i += *s++ & 15;
+ 		    break;
+ 		case 'a': case 'b': case 'c': case 'd': case 'e': case 'f':
+ 		case 'A': case 'B': case 'C': case 'D': case 'E': case 'F':
+ 		    if (shift != 4)
+ 			goto out;
+ 		    i <<= 4;
+ 		    i += (*s++ & 7) + 9;
+ 		    break;
+ 		}
+ 	    }
+ 	  out:
+ 	    str = Str_new(92,0);
+ 	    str_numset(str,(double)i);
+ 	    if (str->str_ptr) {
+ 		Safefree(str->str_ptr);
+ 		str->str_ptr = Nullch;
+ 		str->str_len = str->str_cur = 0;
+ 	    }
+ 	    arg[1].arg_ptr.arg_str = str;
+ 	}
+ 	break;
+     case '1': case '2': case '3': case '4': case '5':
+     case '6': case '7': case '8': case '9': case '.':
+       decimal:
+ 	arg[1].arg_type = A_SINGLE;
+ 	d = tokenbuf;
+ 	while (isdigit(*s) || *s == '_') {
+ 	    if (*s == '_')
+ 		s++;
+ 	    else
+ 		*d++ = *s++;
+ 	}
+ 	if (*s == '.' && s[1] && index("0123456789eE ;",s[1])) {
+ 	    *d++ = *s++;
+ 	    while (isdigit(*s) || *s == '_') {
+ 		if (*s == '_')
+ 		    s++;
+ 		else
+ 		    *d++ = *s++;
+ 	    }
+ 	}
+ 	if (*s && index("eE",*s) && index("+-0123456789",s[1])) {
+ 	    *d++ = *s++;
+ 	    if (*s == '+' || *s == '-')
+ 		*d++ = *s++;
+ 	    while (isdigit(*s))
+ 		*d++ = *s++;
+ 	}
+ 	*d = '\0';
+ 	str = Str_new(92,0);
+ 	str_numset(str,atof(tokenbuf));
+ 	if (str->str_ptr) {
+ 	    Safefree(str->str_ptr);
+ 	    str->str_ptr = Nullch;
+ 	    str->str_len = str->str_cur = 0;
+ 	}
+ 	arg[1].arg_ptr.arg_str = str;
+ 	break;
+     case '<':
+ 	if (*++s == '<') {
+ 	    hereis = TRUE;
+ 	    d = tokenbuf;
+ 	    if (!rsfp)
+ 		*d++ = '\n';
+ 	    if (*++s && index("`'\"",*s)) {
+ 		term = *s++;
+ 		s = cpytill(d,s,bufend,term,&len);
+ 		if (s < bufend)
+ 		    s++;
+ 		d += len;
+ 	    }
+ 	    else {
+ 		if (*s == '\\')
+ 		    s++, term = '\'';
+ 		else
+ 		    term = '"';
+ 		while (isascii(*s) && (isalpha(*s) || isdigit(*s) || *s == '_'))
+ 		    *d++ = *s++;
+ 	    }				/* assuming tokenbuf won't clobber */
+ 	    *d++ = '\n';
+ 	    *d = '\0';
+ 	    len = d - tokenbuf;
+ 	    d = "\n";
+ 	    if (rsfp || !(d=ninstr(s,bufend,d,d+1)))
+ 		herewas = str_make(s,bufend-s);
+ 	    else
+ 		s--, herewas = str_make(s,d-s);
+ 	    s += herewas->str_cur;
+ 	    if (term == '\'')
+ 		goto do_single;
+ 	    if (term == '`')
+ 		goto do_back;
+ 	    goto do_double;
+ 	}
+ 	d = tokenbuf;
+ 	s = cpytill(d,s,bufend,'>',&len);
+ 	if (s < bufend)
+ 	    s++;
+ 	if (*d == '$') d++;
+ 	while (*d &&
+ 	  (isalpha(*d) || isdigit(*d) || *d == '_' || *d == '\''))
+ 	    d++;
+ 	if (d - tokenbuf != len) {
+ 	    d = tokenbuf;
+ 	    arg[1].arg_type = A_GLOB;
+ 	    d = nsavestr(d,len);
+ 	    arg[1].arg_ptr.arg_stab = stab = genstab();
+ 	    stab_io(stab) = stio_new();
+ 	    stab_val(stab) = str_make(d,len);
+ 	    Safefree(d);
+ 	    set_csh();
+ 	}
+ 	else {
+ 	    d = tokenbuf;
+ 	    if (!len)
+ 		(void)strcpy(d,"ARGV");
+ 	    if (*d == '$') {
+ 		arg[1].arg_type = A_INDREAD;
+ 		arg[1].arg_ptr.arg_stab = stabent(d+1,TRUE);
+ 	    }
+ 	    else {
+ 		arg[1].arg_type = A_READ;
+ 		arg[1].arg_ptr.arg_stab = stabent(d,TRUE);
+ 		if (!stab_io(arg[1].arg_ptr.arg_stab))
+ 		    stab_io(arg[1].arg_ptr.arg_stab) = stio_new();
+ 		if (strEQ(d,"ARGV")) {
+ 		    (void)aadd(arg[1].arg_ptr.arg_stab);
+ 		    stab_io(arg[1].arg_ptr.arg_stab)->flags |=
+ 		      IOF_ARGV|IOF_START;
+ 		}
+ 	    }
+ 	}
+ 	break;
+ 
+     case 'q':
+ 	s++;
+ 	if (*s == 'q') {
+ 	    s++;
+ 	    goto do_double;
+ 	}
+ 	if (*s == 'x') {
+ 	    s++;
+ 	    goto do_back;
+ 	}
+ 	/* FALL THROUGH */
+     case '\'':
+       do_single:
+ 	term = *s;
+ 	arg[1].arg_type = A_SINGLE;
+ 	leave = Nullch;
+ 	goto snarf_it;
+ 
+     case '"': 
+       do_double:
+ 	term = *s;
+ 	arg[1].arg_type = A_DOUBLE;
+ 	makesingle = TRUE;	/* maybe disable runtime scanning */
+ 	alwaysdollar = TRUE;	/* treat $) and $| as variables */
+ 	goto snarf_it;
+     case '`':
+       do_back:
+ 	term = *s;
+ 	arg[1].arg_type = A_BACKTICK;
+ 	set_csh();
+ 	alwaysdollar = TRUE;	/* treat $) and $| as variables */
+       snarf_it:
+ 	{
+ 	    STR *tmpstr;
+ 	    char *tmps;
+ 
+ 	    multi_start = curcmd->c_line;
+ 	    if (hereis)
+ 		multi_open = multi_close = '<';
+ 	    else {
+ 		multi_open = term;
+ 		if (term && (tmps = index("([{< )]}> )]}>",term)))
+ 		    term = tmps[5];
+ 		multi_close = term;
+ 	    }
+ 	    tmpstr = Str_new(87,80);
+ 	    if (hereis) {
+ 		term = *tokenbuf;
+ 		if (!rsfp) {
+ 		    d = s;
+ 		    while (s < bufend &&
+ 		      (*s != term || bcmp(s,tokenbuf,len) != 0) ) {
+ 			if (*s++ == '\n')
+ 			    curcmd->c_line++;
+ 		    }
+ 		    if (s >= bufend) {
+ 			curcmd->c_line = multi_start;
+ 			fatal("EOF in string");
+ 		    }
+ 		    str_nset(tmpstr,d+1,s-d);
+ 		    s += len - 1;
+ 		    str_ncat(herewas,s,bufend-s);
+ 		    str_replace(linestr,herewas);
+ 		    oldoldbufptr = oldbufptr = bufptr = s = str_get(linestr);
+ 		    bufend = linestr->str_ptr + linestr->str_cur;
+ 		    hereis = FALSE;
+ 		}
+ 		else
+ 		    str_nset(tmpstr,"",0);   /* avoid "uninitialized" warning */
+ 	    }
+ 	    else
+ 		s = str_append_till(tmpstr,s+1,bufend,term,leave);
+ 	    while (s >= bufend) {	/* multiple line string? */
+ 		if (!rsfp ||
+ 		 !(oldoldbufptr = oldbufptr = s = str_gets(linestr, rsfp, 0))) {
+ 		    curcmd->c_line = multi_start;
+ 		    fatal("EOF in string");
+ 		}
+ 		curcmd->c_line++;
+ 		if (perldb) {
+ 		    STR *str = Str_new(88,0);
+ 
+ 		    str_sset(str,linestr);
+ 		    astore(stab_xarray(curcmd->c_filestab),
+ 		      (int)curcmd->c_line,str);
+ 		}
+ 		bufend = linestr->str_ptr + linestr->str_cur;
+ 		if (hereis) {
+ 		    if (*s == term && bcmp(s,tokenbuf,len) == 0) {
+ 			s = bufend - 1;
+ 			*s = ' ';
+ 			str_scat(linestr,herewas);
+ 			bufend = linestr->str_ptr + linestr->str_cur;
+ 		    }
+ 		    else {
+ 			s = bufend;
+ 			str_scat(tmpstr,linestr);
+ 		    }
+ 		}
+ 		else
+ 		    s = str_append_till(tmpstr,s,bufend,term,leave);
+ 	    }
+ 	    multi_end = curcmd->c_line;
+ 	    s++;
+ 	    if (tmpstr->str_cur + 5 < tmpstr->str_len) {
+ 		tmpstr->str_len = tmpstr->str_cur + 1;
+ 		Renew(tmpstr->str_ptr, tmpstr->str_len, char);
+ 	    }
+ 	    if ((arg[1].arg_type & A_MASK) == A_SINGLE) {
+ 		arg[1].arg_ptr.arg_str = tmpstr;
+ 		break;
+ 	    }
+ 	    tmps = s;
+ 	    s = tmpstr->str_ptr;
+ 	    send = s + tmpstr->str_cur;
+ 	    while (s < send) {		/* see if we can make SINGLE */
+ 		if (*s == '\\' && s[1] && isdigit(s[1]) && !isdigit(s[2]) &&
+ 		  !alwaysdollar && s[1] != '0')
+ 		    *s = '$';		/* grandfather \digit in subst */
+ 		if ((*s == '$' || *s == '@') && s+1 < send &&
+ 		  (alwaysdollar || (s[1] != ')' && s[1] != '|'))) {
+ 		    makesingle = FALSE;	/* force interpretation */
+ 		}
+ 		else if (*s == '\\' && s+1 < send) {
+ 		    if (index("lLuUE",s[1]))
+ 			makesingle = FALSE;
+ 		    s++;
+ 		}
+ 		s++;
+ 	    }
+ 	    s = d = tmpstr->str_ptr;	/* assuming shrinkage only */
+ 	    while (s < send) {
+ 		if ((*s == '$' && s+1 < send &&
+ 		    (alwaysdollar || /*(*/ (s[1] != ')' && s[1] != '|')) ) ||
+ 		    (*s == '@' && s+1 < send) ) {
+ 		    len = scanident(s,send,tokenbuf) - s;
+ 		    if (*s == '$' || strEQ(tokenbuf,"ARGV")
+ 		      || strEQ(tokenbuf,"ENV")
+ 		      || strEQ(tokenbuf,"SIG")
+ 		      || strEQ(tokenbuf,"INC") )
+ 			(void)stabent(tokenbuf,TRUE); /* make sure it exists */
+ 		    while (len--)
+ 			*d++ = *s++;
+ 		    continue;
+ 		}
+ 		else if (*s == '\\' && s+1 < send) {
+ 		    s++;
+ 		    switch (*s) {
+ 		    default:
+ 			if (!makesingle && (!leave || (*s && index(leave,*s))))
+ 			    *d++ = '\\';
+ 			*d++ = *s++;
+ 			continue;
+ 		    case '0': case '1': case '2': case '3':
+ 		    case '4': case '5': case '6': case '7':
+ 			*d++ = scanoct(s, 3, &len);
+ 			s += len;
+ 			continue;
+ 		    case 'x':
+ 			*d++ = scanhex(++s, 2, &len);
+ 			s += len;
+ 			continue;
+ 		    case 'c':
+ 			s++;
+ 			*d = *s++;
+ 			if (islower(*d))
+ 			    *d = toupper(*d);
+ 			*d++ ^= 64;
+ 			continue;
+ 		    case 'b':
+ 			*d++ = '\b';
+ 			break;
+ 		    case 'n':
+ 			*d++ = '\n';
+ 			break;
+ 		    case 'r':
+ 			*d++ = '\r';
+ 			break;
+ 		    case 'f':
+ 			*d++ = '\f';
+ 			break;
+ 		    case 't':
+ 			*d++ = '\t';
+ 			break;
+ 		    case 'e':
+ 			*d++ = '\033';
+ 			break;
+ 		    case 'a':
+ 			*d++ = '\007';
+ 			break;
+ 		    }
+ 		    s++;
+ 		    continue;
+ 		}
+ 		*d++ = *s++;
+ 	    }
+ 	    *d = '\0';
+ 
+ 	    if ((arg[1].arg_type & A_MASK) == A_DOUBLE && makesingle)
+ 		    arg[1].arg_type = A_SINGLE;	/* now we can optimize on it */
+ 
+ 	    tmpstr->str_cur = d - tmpstr->str_ptr;
+ 	    arg[1].arg_ptr.arg_str = tmpstr;
+ 	    s = tmps;
+ 	    break;
+ 	}
+     }
+     if (hereis)
+ 	str_free(herewas);
+     return s;
+ }
+ 
+ FCMD *
+ load_format()
+ {
+     FCMD froot;
+     FCMD *flinebeg;
+     char *eol;
+     register FCMD *fprev = &froot;
+     register FCMD *fcmd;
+     register char *s;
+     register char *t;
+     register STR *str;
+     bool noblank;
+     bool repeater;
+ 
+     Zero(&froot, 1, FCMD);
+     s = bufptr;
+     while (s < bufend || (rsfp && (s = str_gets(linestr,rsfp, 0)) != Nullch)) {
+ 	curcmd->c_line++;
+ 	if (in_eval && !rsfp) {
+ 	    eol = index(s,'\n');
+ 	    if (!eol++)
+ 		eol = bufend;
+ 	}
+ 	else
+ 	    eol = bufend = linestr->str_ptr + linestr->str_cur;
+ 	if (perldb) {
+ 	    STR *tmpstr = Str_new(89,0);
+ 
+ 	    str_nset(tmpstr, s, eol-s);
+ 	    astore(stab_xarray(curcmd->c_filestab), (int)curcmd->c_line,tmpstr);
+ 	}
+ 	if (*s == '.') {
+ 	    for (t = s+1; *t == ' ' || *t == '\t'; t++) ;
+ 	    if (*t == '\n') {
+ 		bufptr = s;
+ 		return froot.f_next;
+ 	    }
+ 	}
+ 	if (*s == '#') {
+ 	    s = eol;
+ 	    continue;
+ 	}
+ 	flinebeg = Nullfcmd;
+ 	noblank = FALSE;
+ 	repeater = FALSE;
+ 	while (s < eol) {
+ 	    Newz(804,fcmd,1,FCMD);
+ 	    fprev->f_next = fcmd;
+ 	    fprev = fcmd;
+ 	    for (t=s; t < eol && *t != '@' && *t != '^'; t++) {
+ 		if (*t == '~') {
+ 		    noblank = TRUE;
+ 		    *t = ' ';
+ 		    if (t[1] == '~') {
+ 			repeater = TRUE;
+ 			t[1] = ' ';
+ 		    }
+ 		}
+ 	    }
+ 	    fcmd->f_pre = nsavestr(s, t-s);
+ 	    fcmd->f_presize = t-s;
+ 	    s = t;
+ 	    if (s >= eol) {
+ 		if (noblank)
+ 		    fcmd->f_flags |= FC_NOBLANK;
+ 		if (repeater)
+ 		    fcmd->f_flags |= FC_REPEAT;
+ 		break;
+ 	    }
+ 	    if (!flinebeg)
+ 		flinebeg = fcmd;		/* start values here */
+ 	    if (*s++ == '^')
+ 		fcmd->f_flags |= FC_CHOP;	/* for doing text filling */
+ 	    switch (*s) {
+ 	    case '*':
+ 		fcmd->f_type = F_LINES;
+ 		*s = '\0';
+ 		break;
+ 	    case '<':
+ 		fcmd->f_type = F_LEFT;
+ 		while (*s == '<')
+ 		    s++;
+ 		break;
+ 	    case '>':
+ 		fcmd->f_type = F_RIGHT;
+ 		while (*s == '>')
+ 		    s++;
+ 		break;
+ 	    case '|':
+ 		fcmd->f_type = F_CENTER;
+ 		while (*s == '|')
+ 		    s++;
+ 		break;
+ 	    case '#':
+ 	    case '.':
+ 		/* Catch the special case @... and handle it as a string
+ 		   field. */
+ 		if (*s == '.' && s[1] == '.') {
+ 		    goto default_format;
+ 		}
+ 		fcmd->f_type = F_DECIMAL;
+ 		{
+ 		    char *p;
+ 
+ 		    /* Read a format in the form @####.####, where either group
+ 		       of ### may be empty, or the final .### may be missing. */
+ 		    while (*s == '#')
+ 			s++;
+ 		    if (*s == '.') {
+ 			s++;
+ 			p = s;
+ 			while (*s == '#')
+ 			    s++;
+ 			fcmd->f_decimals = s-p;
+ 			fcmd->f_flags |= FC_DP;
+ 		    } else {
+ 			fcmd->f_decimals = 0;
+ 		    }
+ 		}
+ 		break;
+ 	    default:
+ 	    default_format:
+ 		fcmd->f_type = F_LEFT;
+ 		break;
+ 	    }
+ 	    if (fcmd->f_flags & FC_CHOP && *s == '.') {
+ 		fcmd->f_flags |= FC_MORE;
+ 		while (*s == '.')
+ 		    s++;
+ 	    }
+ 	    fcmd->f_size = s-t;
+ 	}
+ 	if (flinebeg) {
+ 	  again:
+ 	    if (s >= bufend &&
+ 	      (!rsfp || (s = str_gets(linestr, rsfp, 0)) == Nullch) )
+ 		goto badform;
+ 	    curcmd->c_line++;
+ 	    if (in_eval && !rsfp) {
+ 		eol = index(s,'\n');
+ 		if (!eol++)
+ 		    eol = bufend;
+ 	    }
+ 	    else
+ 		eol = bufend = linestr->str_ptr + linestr->str_cur;
+ 	    if (perldb) {
+ 		STR *tmpstr = Str_new(90,0);
+ 
+ 		str_nset(tmpstr, s, eol-s);
+ 		astore(stab_xarray(curcmd->c_filestab),
+ 		    (int)curcmd->c_line,tmpstr);
+ 	    }
+ 	    if (strnEQ(s,".\n",2)) {
+ 		bufptr = s;
+ 		yyerror("Missing values line");
+ 		return froot.f_next;
+ 	    }
+ 	    if (*s == '#') {
+ 		s = eol;
+ 		goto again;
+ 	    }
+ 	    str = flinebeg->f_unparsed = Str_new(91,eol - s);
+ 	    str->str_u.str_hash = curstash;
+ 	    str_nset(str,"(",1);
+ 	    flinebeg->f_line = curcmd->c_line;
+ 	    eol[-1] = '\0';
+ 	    if (!flinebeg->f_next->f_type || index(s, ',')) {
+ 		eol[-1] = '\n';
+ 		str_ncat(str, s, eol - s - 1);
+ 		str_ncat(str,",$$);",5);
+ 		s = eol;
+ 	    }
+ 	    else {
+ 		eol[-1] = '\n';
+ 		while (s < eol && isspace(*s))
+ 		    s++;
+ 		t = s;
+ 		while (s < eol) {
+ 		    switch (*s) {
+ 		    case ' ': case '\t': case '\n': case ';':
+ 			str_ncat(str, t, s - t);
+ 			str_ncat(str, "," ,1);
+ 			while (s < eol && (isspace(*s) || *s == ';'))
+ 			    s++;
+ 			t = s;
+ 			break;
+ 		    case '$':
+ 			str_ncat(str, t, s - t);
+ 			t = s;
+ 			s = scanident(s,eol,tokenbuf);
+ 			str_ncat(str, t, s - t);
+ 			t = s;
+ 			if (s < eol && *s && index("$'\"",*s))
+ 			    str_ncat(str, ",", 1);
+ 			break;
+ 		    case '"': case '\'':
+ 			str_ncat(str, t, s - t);
+ 			t = s;
+ 			s++;
+ 			while (s < eol && (*s != *t || s[-1] == '\\'))
+ 			    s++;
+ 			if (s < eol)
+ 			    s++;
+ 			str_ncat(str, t, s - t);
+ 			t = s;
+ 			if (s < eol && *s && index("$'\"",*s))
+ 			    str_ncat(str, ",", 1);
+ 			break;
+ 		    default:
+ 			yyerror("Please use commas to separate fields");
+ 		    }
+ 		}
+ 		str_ncat(str,"$$);",4);
+ 	    }
+ 	}
+     }
+   badform:
+     bufptr = str_get(linestr);
+     yyerror("Format not terminated");
+     return froot.f_next;
+ }
+ 
+ set_csh()
+ {
+ #ifdef CSH
+     if (!cshlen)
+ 	cshlen = strlen(cshname);
+ #endif
+ }


Index: llvm/test/Programs/MultiSource/Benchmarks/MallocBench/perl/tperly.c
diff -c /dev/null llvm/test/Programs/MultiSource/Benchmarks/MallocBench/perl/tperly.c:1.1.2.1
*** /dev/null	Mon Mar  1 17:59:25 2004
--- llvm/test/Programs/MultiSource/Benchmarks/MallocBench/perl/tperly.c	Mon Mar  1 17:59:13 2004
***************
*** 0 ****
--- 1,2199 ----
+ #ifdef BWGC
+ extern char *gc_malloc(), *gc_realloc();
+ #else
+ extern char *malloc(), *realloc();
+ #endif
+ 
+ # line 15 "perly.y"
+ #include "INTERN.h"
+ #include "perl.h"
+ 
+ STAB *scrstab;
+ ARG *arg4;	/* rarely used arguments to make_op() */
+ ARG *arg5;
+ 
+ 
+ # line 26 "perly.y"
+ typedef union  {
+     int	ival;
+     char *cval;
+     ARG *arg;
+     CMD *cmdval;
+     struct compcmd compval;
+     STAB *stabval;
+     FCMD *formval;
+ } YYSTYPE;
+ # define WORD 257
+ # define APPEND 258
+ # define OPEN 259
+ # define SSELECT 260
+ # define LOOPEX 261
+ # define USING 262
+ # define FORMAT 263
+ # define DO 264
+ # define SHIFT 265
+ # define PUSH 266
+ # define POP 267
+ # define LVALFUN 268
+ # define WHILE 269
+ # define UNTIL 270
+ # define IF 271
+ # define UNLESS 272
+ # define ELSE 273
+ # define ELSIF 274
+ # define CONTINUE 275
+ # define SPLIT 276
+ # define FLIST 277
+ # define FOR 278
+ # define FILOP 279
+ # define FILOP2 280
+ # define FILOP3 281
+ # define FILOP4 282
+ # define FILOP22 283
+ # define FILOP25 284
+ # define FUNC0 285
+ # define FUNC1 286
+ # define FUNC2 287
+ # define FUNC2x 288
+ # define FUNC3 289
+ # define FUNC4 290
+ # define FUNC5 291
+ # define HSHFUN 292
+ # define HSHFUN3 293
+ # define FLIST2 294
+ # define SUB 295
+ # define FILETEST 296
+ # define LOCAL 297
+ # define DELETE 298
+ # define RELOP 299
+ # define EQOP 300
+ # define MULOP 301
+ # define ADDOP 302
+ # define PACKAGE 303
+ # define AMPER 304
+ # define FORMLIST 305
+ # define REG 306
+ # define ARYLEN 307
+ # define ARY 308
+ # define HSH 309
+ # define STAR 310
+ # define SUBST 311
+ # define PATTERN 312
+ # define RSTRING 313
+ # define TRANS 314
+ # define LISTOP 315
+ # define DOTDOT 316
+ # define OROR 317
+ # define ANDAND 318
+ # define UNIOP 319
+ # define LS 320
+ # define RS 321
+ # define MATCH 322
+ # define NMATCH 323
+ # define UMINUS 324
+ # define POW 325
+ # define INC 326
+ # define DEC 327
+ #define yyclearin yychar = -1
+ #define yyerrok yyerrflag = 0
+ extern int yychar;
+ extern int yyerrflag;
+ #ifndef YYMAXDEPTH
+ #define YYMAXDEPTH 150
+ #endif
+ YYSTYPE yylval, yyval;
+ # define YYERRCODE 256
+ 
+ # line 792 "perly.y"
+  /* PROGRAM */
+ int yyexca[] ={
+ -1, 1,
+ 	0, -1,
+ 	-2, 0,
+ -1, 3,
+ 	0, 2,
+ 	-2, 39,
+ -1, 92,
+ 	59, 35,
+ 	-2, 0,
+ -1, 130,
+ 	326, 0,
+ 	327, 0,
+ 	-2, 84,
+ -1, 131,
+ 	326, 0,
+ 	327, 0,
+ 	-2, 85,
+ -1, 229,
+ 	299, 0,
+ 	-2, 66,
+ -1, 230,
+ 	300, 0,
+ 	-2, 67,
+ -1, 231,
+ 	316, 0,
+ 	-2, 71,
+ -1, 253,
+ 	44, 175,
+ 	41, 175,
+ 	-2, 181,
+ -1, 254,
+ 	44, 175,
+ 	-2, 181,
+ -1, 382,
+ 	41, 35,
+ 	-2, 0,
+ 	};
+ # define YYNPROD 182
+ # define YYLAST 3179
+ int yyact[]={
+ 
+    322,    26,   198,    27,   107,   115,   116,   108,   109,   124,
+    125,   115,   164,   108,   109,   179,   121,   122,   319,   107,
+     88,    90,   167,   163,    94,    96,   110,   111,   121,   122,
+    181,   107,   110,   111,   121,   122,   108,   107,   112,   146,
+    133,   138,   153,   137,   251,   108,   109,   145,   282,    11,
+    188,    92,   112,   108,   109,    12,   149,   121,   122,    83,
+    107,   152,   191,   165,   110,   111,   121,   122,   300,   107,
+    148,   171,    85,    84,   121,   122,   286,   107,   180,   101,
+    162,    28,   182,   104,   105,   102,   189,    13,   147,   101,
+    101,     3,   243,   101,    95,    14,   143,    21,   141,   248,
+    101,    93,    89,   101,   209,   208,   210,   303,   113,   101,
+    212,   214,   216,   218,   220,   222,   224,   226,   228,   229,
+    230,   231,   232,   233,   234,   235,   236,    87,   144,   241,
+    142,   187,   382,   287,   190,    86,    81,   323,   114,   375,
+    101,   320,   323,   141,   166,   372,   101,   360,   320,   384,
+    101,   329,   355,   327,   252,   406,   256,   256,   311,   404,
+    256,   256,   256,   256,   256,   101,   359,   402,   400,   101,
+    358,   312,   267,   268,   310,   142,   398,    28,   273,   274,
+    275,   276,   277,    32,    28,    28,   193,   397,   195,   309,
+     38,   250,   201,    31,   203,    30,   357,   255,   257,   101,
+     11,   259,   260,   261,   262,   263,    12,   395,   356,    16,
+     28,   101,   392,   352,   391,   237,   101,   291,   390,   292,
+    387,   293,   386,   294,   374,   295,   373,   296,   370,   297,
+    347,   298,   181,   101,   337,   365,   363,   101,    13,   164,
+    164,   343,   264,   208,   265,   332,    14,   336,   266,   301,
+    101,   289,   101,   331,   101,    82,    32,   324,   278,   154,
+    325,   288,   279,    38,   101,   330,    31,   284,    30,   335,
+    101,   321,   240,    28,   338,   239,    33,   318,   151,   326,
+    283,   328,   270,   249,   182,   242,   333,   211,   196,   183,
+    165,   165,   112,   339,   340,   341,   342,   178,   344,   115,
+    116,   108,   109,   353,    99,   100,    97,    98,   155,   177,
+    176,   175,   174,   115,   116,   108,   109,    91,   173,   172,
+    110,   111,   121,   122,   362,   107,   170,   366,   169,   168,
+    161,   256,   118,   256,   110,   111,   121,   122,   361,   107,
+    376,   377,   160,   159,   158,   380,   157,   368,   113,    33,
+    349,   156,   371,   150,   134,   199,    32,    10,     9,     2,
+    378,   379,    17,    38,   317,     6,    31,    77,    30,   388,
+     78,   103,   367,    15,   369,     7,     4,   123,   114,   393,
+    385,   345,   346,     8,   348,   396,   350,   351,   389,     5,
+     99,   100,    97,    98,     1,   401,     0,     0,   394,     0,
+    403,     0,     0,     0,   405,     0,    24,    79,   399,    54,
+     53,    51,   112,     0,    39,    63,    61,    62,    67,    18,
+     19,    22,    23,     0,     0,     0,    64,    66,    20,    55,
+     56,    57,    59,    58,    60,    68,    69,    70,    71,    72,
+     73,    74,    75,    76,    65,   381,    36,    37,    44,    33,
+    383,     0,     0,     0,    50,     0,    40,    45,    43,    42,
+     41,    48,    47,    46,    49,    80,     0,     0,   113,    52,
+      0,     0,     0,     0,     0,     0,    34,    35,     0,    24,
+     79,     0,    54,    53,    51,    32,     0,    39,    63,    61,
+     62,    67,    38,   315,     0,    31,     0,    30,   114,    64,
+     66,     0,    55,    56,    57,    59,    58,    60,    68,    69,
+     70,    71,    72,    73,    74,    75,    76,    65,     0,    36,
+     37,    44,     0,     0,     0,     0,     0,    50,    29,    40,
+     45,    43,    42,    41,    48,    47,    46,    49,    80,     0,
+      0,     0,    52,     0,     0,     0,     0,     0,     0,    34,
+     35,     0,     0,   115,   116,   108,   109,     0,    32,   126,
+    127,   128,   129,   130,   131,    38,   308,     0,    31,     0,
+     30,   119,   118,     0,   110,   111,   121,   122,    33,   107,
+     79,     0,    54,    53,    51,     0,     0,    39,    63,    61,
+     62,    67,     0,     0,     0,     0,     0,     0,     0,    64,
+     66,     0,    55,    56,    57,    59,    58,    60,    68,    69,
+     70,    71,    72,    73,    74,    75,    76,    65,     0,    36,
+     37,    44,     0,     0,     0,     0,     0,    50,     0,    40,
+     45,    43,    42,    41,    48,    47,    46,    49,    80,     0,
+      0,     0,    52,     0,     0,     0,     0,     0,     0,    34,
+     35,    33,     0,     0,    32,     0,     0,     0,     0,     0,
+      0,    38,   306,     0,    31,     0,    30,     0,     0,     0,
+      0,     0,     0,   115,   116,   108,   109,     0,     0,     0,
+      0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
+      0,     0,     0,     0,   110,   111,   121,   122,     0,   107,
+      0,   112,     0,     0,   334,     0,     0,   320,     0,    79,
+      0,    54,    53,    51,     0,     0,    39,    63,    61,    62,
+     67,     0,     0,     0,   106,     0,   120,     0,    64,    66,
+      0,    55,    56,    57,    59,    58,    60,    68,    69,    70,
+     71,    72,    73,    74,    75,    76,    65,    33,    36,    37,
+     44,     0,     0,     0,     0,     0,    50,   113,    40,    45,
+     43,    42,    41,    48,    47,    46,    49,    80,     0,   112,
+      0,    52,     0,     0,     0,     0,     0,     0,    34,    35,
+      0,     0,    79,     0,    54,    53,    51,   114,     0,    39,
+     63,    61,    62,    67,   120,     0,     0,     0,     0,     0,
+      0,    64,    66,     0,    55,    56,    57,    59,    58,    60,
+     68,    69,    70,    71,    72,    73,    74,    75,    76,    65,
+      0,    36,    37,    44,     0,   113,     0,     0,     0,    50,
+      0,    40,    45,    43,    42,    41,    48,    47,    46,    49,
+     80,     0,     0,     0,    52,     0,    32,     0,     0,     0,
+      0,    34,    35,    38,   302,   114,    31,     0,    30,     0,
+      0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
+      0,     0,     0,     0,     0,     0,     0,     0,    79,     0,
+     54,    53,    51,     0,     0,    39,    63,    61,    62,    67,
+      0,     0,     0,     0,     0,     0,     0,    64,    66,     0,
+     55,    56,    57,    59,    58,    60,    68,    69,    70,    71,
+     72,    73,    74,    75,    76,    65,     0,    36,    37,    44,
+      0,     0,     0,     0,     0,    50,     0,    40,    45,    43,
+     42,    41,    48,    47,    46,    49,    80,     0,     0,    33,
+     52,     0,    32,     0,     0,     0,     0,    34,    35,    38,
+    271,     0,    31,     0,    30,     0,     0,     0,     0,     0,
+      0,     0,   115,   116,   108,   109,     0,     0,     0,     0,
+      0,     0,     0,     0,     0,     0,     0,     0,     0,   117,
+    119,   118,     0,   110,   111,   121,   122,     0,   107,     0,
+      0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
+      0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
+      0,     0,     0,     0,     0,    32,     0,     0,     0,     0,
+      0,     0,    38,   258,     0,    31,     0,    30,     0,     0,
+    115,   116,   108,   109,     0,    33,     0,     0,     0,     0,
+      0,     0,     0,     0,     0,     0,     0,   117,   119,   118,
+      0,   110,   111,   121,   122,     0,   107,     0,     0,   112,
+      0,     0,     0,     0,     0,   320,     0,     0,     0,     0,
+     79,     0,    54,    53,    51,     0,     0,    39,    63,    61,
+     62,    67,   106,     0,   120,     0,     0,     0,     0,    64,
+     66,     0,    55,    56,    57,    59,    58,    60,    68,    69,
+     70,    71,    72,    73,    74,    75,    76,    65,    33,    36,
+     37,    44,     0,     0,     0,   113,     0,    50,     0,    40,
+     45,    43,    42,    41,    48,    47,    46,    49,    80,     0,
+      0,     0,    52,     0,    32,     0,     0,     0,     0,    34,
+     35,    38,     0,     0,    31,   114,    30,     0,     0,     0,
+      0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
+      0,     0,   227,     0,     0,     0,    79,     0,    54,    53,
+     51,     0,     0,    39,    63,    61,    62,    67,     0,     0,
+      0,     0,     0,     0,     0,    64,    66,     0,    55,    56,
+     57,    59,    58,    60,    68,    69,    70,    71,    72,    73,
+     74,    75,    76,    65,     0,    36,    37,    44,     0,     0,
+      0,     0,     0,    50,     0,    40,    45,    43,    42,    41,
+     48,    47,    46,    49,    80,     0,     0,    33,    52,     0,
+      0,     0,     0,     0,     0,    34,    35,     0,     0,   253,
+      0,    54,    53,    51,     0,     0,    39,    63,    61,    62,
+     67,     0,     0,     0,     0,     0,     0,     0,    64,    66,
+      0,    55,    56,    57,    59,    58,    60,    68,    69,    70,
+     71,    72,    73,    74,    75,    76,    65,     0,    36,    37,
+     44,     0,     0,     0,     0,     0,    50,     0,    40,    45,
+     43,    42,    41,    48,    47,    46,    49,    80,     0,     0,
+      0,    52,     0,    32,     0,     0,     0,     0,    34,    35,
+     38,     0,     0,    31,     0,    30,     0,     0,     0,     0,
+    115,   116,   108,   109,     0,     0,     0,     0,     0,     0,
+      0,   225,     0,     0,     0,     0,     0,   117,   119,   118,
+      0,   110,   111,   121,   122,     0,   107,   112,     0,     0,
+      0,     0,     0,   323,     0,     0,     0,     0,    79,     0,
+     54,    53,    51,     0,     0,    39,    63,    61,    62,    67,
+    106,     0,   120,     0,     0,     0,     0,    64,    66,     0,
+     55,    56,    57,    59,    58,    60,    68,    69,    70,    71,
+     72,    73,    74,    75,    76,    65,    33,    36,    37,    44,
+      0,     0,     0,   113,     0,    50,     0,    40,    45,    43,
+     42,    41,    48,    47,    46,    49,    80,     0,     0,    32,
+     52,     0,     0,     0,     0,     0,    38,    34,    35,    31,
+      0,    30,     0,   114,     0,     0,     0,     0,     0,     0,
+      0,     0,     0,     0,     0,     0,     0,   223,     0,     0,
+      0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
+      0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
+      0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
+      0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
+      0,     0,     0,    32,     0,     0,     0,     0,     0,     0,
+     38,     0,     0,    31,     0,    30,     0,     0,     0,     0,
+      0,     0,    33,     0,     0,     0,     0,     0,     0,     0,
+      0,   221,     0,     0,     0,     0,     0,    79,     0,    54,
+     53,    51,     0,     0,    39,    63,    61,    62,    67,     0,
+      0,     0,     0,     0,     0,     0,    64,    66,     0,    55,
+     56,    57,    59,    58,    60,    68,    69,    70,    71,    72,
+     73,    74,    75,    76,    65,     0,    36,    37,    44,     0,
+      0,     0,     0,     0,    50,     0,    40,    45,    43,    42,
+     41,    48,    47,    46,    49,    80,    33,     0,    32,    52,
+      0,     0,     0,     0,     0,    38,    34,    35,    31,     0,
+     30,     0,     0,     0,     0,     0,     0,     0,   115,   116,
+    108,   109,     0,     0,     0,     0,   219,     0,     0,     0,
+      0,     0,     0,     0,     0,   117,   119,   118,     0,   110,
+    111,   121,   122,     0,   107,     0,     0,     0,     0,     0,
+      0,     0,     0,    79,     0,    54,    53,    51,     0,     0,
+     39,    63,    61,    62,    67,     0,     0,     0,     0,     0,
+      0,     0,    64,    66,     0,    55,    56,    57,    59,    58,
+     60,    68,    69,    70,    71,    72,    73,    74,    75,    76,
+     65,    33,    36,    37,    44,     0,     0,     0,     0,     0,
+     50,     0,    40,    45,    43,    42,    41,    48,    47,    46,
+     49,    80,     0,     0,    32,    52,     0,     0,     0,     0,
+      0,    38,    34,    35,    31,     0,    30,    79,     0,    54,
+     53,    51,     0,     0,    39,    63,    61,    62,    67,     0,
+      0,     0,   217,     0,     0,     0,    64,    66,     0,    55,
+     56,    57,    59,    58,    60,    68,    69,    70,    71,    72,
+     73,    74,    75,    76,    65,     0,    36,    37,    44,     0,
+      0,     0,     0,     0,    50,     0,    40,    45,    43,    42,
+     41,    48,    47,    46,    49,    80,     0,     0,    32,    52,
+      0,     0,     0,     0,     0,    38,    34,    35,    31,     0,
+     30,     0,     0,     0,     0,     0,     0,    33,     0,     0,
+      0,     0,     0,     0,     0,     0,   215,     0,     0,     0,
+      0,     0,    79,     0,    54,    53,    51,     0,     0,    39,
+     63,    61,    62,    67,     0,     0,     0,     0,     0,     0,
+      0,    64,    66,     0,    55,    56,    57,    59,    58,    60,
+     68,    69,    70,    71,    72,    73,    74,    75,    76,    65,
+      0,    36,    37,    44,     0,     0,     0,     0,     0,    50,
+      0,    40,    45,    43,    42,    41,    48,    47,    46,    49,
+     80,    33,     0,    32,    52,     0,     0,     0,     0,     0,
+     38,    34,    35,    31,     0,    30,     0,     0,     0,     0,
+      0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
+      0,   213,     0,     0,     0,     0,     0,     0,     0,     0,
+      0,     0,     0,     0,     0,     0,     0,   112,     0,     0,
+      0,     0,     0,     0,     0,     0,     0,     0,    79,     0,
+     54,    53,    51,     0,     0,    39,    63,    61,    62,    67,
+    106,     0,   120,     0,     0,     0,     0,    64,    66,     0,
+     55,    56,    57,    59,    58,    60,    68,    69,    70,    71,
+     72,    73,    74,    75,    76,    65,    33,    36,    37,    44,
+      0,     0,     0,   113,     0,    50,     0,    40,    45,    43,
+     42,    41,    48,    47,    46,    49,    80,     0,     0,    32,
+     52,     0,     0,     0,     0,     0,    38,    34,    35,    31,
+      0,    30,    79,   114,    54,    53,    51,     0,     0,    39,
+     63,    61,    62,    67,     0,     0,     0,     0,     0,     0,
+      0,    64,    66,     0,    55,    56,    57,    59,    58,    60,
+     68,    69,    70,    71,    72,    73,    74,    75,    76,    65,
+      0,    36,    37,    44,     0,     0,     0,     0,     0,    50,
+      0,    40,    45,    43,    42,    41,    48,    47,    46,    49,
+     80,     0,     0,     0,    52,     0,     0,     0,    32,     0,
+      0,    34,    35,     0,     0,    38,   136,     0,    31,    28,
+     30,     0,    33,     0,     0,     0,     0,     0,     0,     0,
+      0,     0,     0,     0,     0,     0,     0,    79,     0,    54,
+     53,    51,     0,     0,    39,    63,    61,    62,    67,     0,
+      0,     0,     0,     0,     0,     0,    64,    66,     0,    55,
+     56,    57,    59,    58,    60,    68,    69,    70,    71,    72,
+     73,    74,    75,    76,    65,     0,    36,    37,    44,     0,
+      0,     0,     0,     0,    50,     0,    40,    45,    43,    42,
+     41,    48,    47,    46,    49,    80,     0,     0,    32,    52,
+      0,    33,     0,     0,     0,    38,    34,    35,    31,     0,
+     30,     0,     0,     0,     0,     0,     0,     0,   115,   116,
+    108,   109,     0,     0,     0,     0,     0,     0,     0,     0,
+      0,     0,     0,     0,     0,   117,   119,   118,     0,   110,
+    111,   121,   122,     0,   107,   112,     0,     0,     0,     0,
+      0,     0,     0,   139,     0,    54,    53,    51,     0,     0,
+     39,    63,    61,    62,    67,   299,     0,     0,   106,     0,
+    120,     0,    64,    66,     0,    55,    56,    57,    59,    58,
+     60,    68,    69,    70,    71,    72,    73,    74,    75,    76,
+     65,    33,    36,    37,    44,     0,     0,     0,     0,     0,
+     50,   113,   140,    45,    43,    42,    41,    48,    47,    46,
+     49,    80,     0,     0,    32,    52,     0,     0,     0,     0,
+      0,    38,    34,    35,    31,     0,    30,     0,     0,     0,
+      0,   114,    79,     0,    54,    53,    51,     0,     0,    39,
+     63,    61,    62,    67,     0,     0,     0,     0,     0,     0,
+      0,    64,    66,     0,    55,    56,    57,    59,    58,    60,
+     68,    69,    70,    71,    72,    73,    74,    75,    76,    65,
+      0,    36,    37,    44,     0,     0,     0,     0,     0,    50,
+      0,    40,    45,    43,    42,    41,    48,    47,    46,    49,
+     80,     0,     0,    32,    52,     0,     0,     0,     0,     0,
+     38,    34,    35,    31,     0,    30,     0,    33,     0,     0,
+      0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
+      0,     0,   253,     0,    54,    53,    51,     0,     0,    39,
+     63,    61,    62,    67,     0,     0,     0,     0,     0,     0,
+      0,    64,    66,     0,    55,    56,    57,    59,    58,    60,
+     68,    69,    70,    71,    72,    73,    74,    75,    76,    65,
+      0,    36,    37,    44,     0,     0,     0,     0,     0,    50,
+      0,    40,    45,    43,    42,    41,    48,    47,    46,    49,
+     80,     0,     0,    32,    52,     0,    33,     0,     0,     0,
+     38,    34,    35,    31,     0,    30,     0,     0,     0,     0,
+      0,     0,     0,     0,     0,     0,   115,   116,   108,   109,
+      0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
+      0,     0,     0,   117,   119,   118,     0,   110,   111,   121,
+    122,     0,   107,     0,     0,     0,     0,     0,    79,     0,
+     54,    53,    51,     0,     0,    39,    63,    61,    62,    67,
+      0,     0,     0,     0,     0,     0,     0,    64,    66,     0,
+     55,    56,    57,    59,    58,    60,    68,    69,    70,    71,
+     72,    73,    74,    75,    76,    65,    33,    36,    37,    44,
+      0,     0,     0,     0,     0,    50,     0,    40,    45,    43,
+     42,    41,    48,    47,    46,    49,    80,     0,     0,    32,
+     52,     0,     0,     0,     0,     0,    38,    34,    35,    31,
+      0,    30,     0,     0,     0,     0,     0,   254,     0,    54,
+     53,    51,     0,     0,    39,    63,    61,    62,    67,     0,
+      0,     0,     0,     0,     0,     0,    64,    66,     0,    55,
+     56,    57,    59,    58,    60,    68,    69,    70,    71,    72,
+     73,    74,    75,    76,    65,     0,    36,    37,    44,     0,
+      0,     0,     0,     0,    50,     0,    40,    45,    43,    42,
+     41,    48,    47,    46,    49,    80,     0,     0,     0,    52,
+      0,     0,     0,     0,     0,     0,    34,    35,     0,     0,
+      0,    32,    33,     0,     0,     0,     0,     0,    38,     0,
+      0,    31,     0,    30,     0,     0,     0,   185,     0,    54,
+     53,    51,     0,     0,    39,    63,    61,    62,    67,     0,
+      0,     0,     0,     0,     0,     0,    64,    66,     0,    55,
+     56,    57,    59,    58,    60,    68,    69,    70,    71,    72,
+     73,    74,    75,    76,    65,     0,    36,    37,    44,   141,
+      0,     0,     0,     0,    50,     0,   186,    45,    43,    42,
+     41,    48,    47,    46,    49,    80,     0,     0,     0,    52,
+      0,     0,     0,     0,     0,     0,    34,    35,     0,     0,
+      0,   142,     0,     0,    33,     0,     0,     0,     0,     0,
+      0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
+      0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
+      0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
+      0,     0,     0,   132,     0,    54,    53,    51,     0,     0,
+     39,    63,    61,    62,    67,     0,     0,     0,     0,     0,
+      0,     0,    64,    66,     0,    55,    56,    57,    59,    58,
+     60,    68,    69,    70,    71,    72,    73,    74,    75,    76,
+     65,     0,    36,    37,    44,     0,     0,     0,     0,     0,
+     50,     0,    40,    45,    43,    42,    41,    48,    47,    46,
+     49,    80,     0,     0,     0,    52,     0,     0,     0,     0,
+      0,     0,    34,    35,    25,     0,     0,     0,     0,     0,
+      0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
+      0,     0,     0,     0,     0,    79,     0,    54,    53,    51,
+      0,     0,    39,    63,    61,    62,    67,     0,     0,     0,
+      0,     0,     0,   135,    64,    66,     0,    55,    56,    57,
+     59,    58,    60,    68,    69,    70,    71,    72,    73,    74,
+     75,    76,    65,     0,    36,    37,    44,     0,     0,     0,
+      0,     0,    50,     0,    40,    45,    43,    42,    41,    48,
+     47,    46,    49,    80,     0,   184,     0,    52,     0,     0,
+      0,     0,   192,     0,   194,     0,     0,   197,   200,     0,
+    202,     0,   204,   205,   206,   207,     0,     0,     0,     0,
+      0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
+      0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
+      0,     0,     0,     0,     0,     0,     0,     0,     0,   238,
+      0,     0,     0,     0,     0,     0,   244,   245,   246,   247,
+      0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
+      0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
+      0,     0,     0,     0,     0,   269,     0,     0,   272,     0,
+      0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
+    280,   281,     0,     0,     0,     0,     0,     0,     0,     0,
+      0,   285,     0,     0,     0,     0,     0,     0,     0,     0,
+      0,     0,     0,     0,     0,     0,   290,     0,     0,     0,
+      0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
+      0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
+      0,     0,     0,     0,     0,     0,   304,   305,   307,     0,
+      0,     0,     0,   313,   314,   316,     0,     0,     0,     0,
+      0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
+      0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
+      0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
+      0,     0,   192,     0,     0,     0,     0,     0,     0,     0,
+      0,     0,     0,     0,     0,     0,     0,     0,   354,     0,
+      0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
+      0,     0,     0,     0,     0,     0,     0,     0,   364 };
+ int yypact[]={
+ 
+  -1000, -1000, -1000,  -208, -1000, -1000,   150, -1000, -1000, -1000,
+  -1000,    78,    -2,  -184,  -185, -1000, -1000,    76,    87,    62,
+     11, -1000,    61,    54, -1000,   121,  -190,  1879, -1000,  -317,
+   2241,  2241,  2241,  2241,  2241,  2241,  2526,   314,  2035,  1956,
+      7, -1000, -1000,     5,  -259, -1000, -1000, -1000, -1000, -1000,
+   -218,  -187,  2241,   313,    21,     2,   311,   306,   304,   303,
+    302,   290,   -17,   -18,   289,   288,   286,  2241,   279,   278,
+    272,   271,   270,   269,   257,   -25,   249, -1000, -1000, -1000,
+   2410, -1000,    70,  -255,   -42,    75, -1000,  2241,   -42,  2241,
+    -42,   248,   223,  2241,   -42,  2241,   -42,  2241,  2241,  2241,
+   2241,  2241,   -42, -1000,   -42,   247,  2241,  1840,  1745,  1671,
+   1555,  1460,  1386,  1270,  1101,  2241,  2241,  2241,  2241,  2241,
+   2241,  2241,  2241, -1000, -1000, -1000,  -317,  -317,  -317,  -317,
+  -1000, -1000, -1000,  -256,  2241,   231,    38,  -256, -1000,   245,
+     52,  2241,  2241,  2241,  2241,   -24,   243,   151, -1000,  -256,
+   2125, -1000,  2320,   982, -1000, -1000,  2125,  2125,  2125,  2125,
+   2125,  -245, -1000,  -245, -1000, -1000, -1000,  -245,  2241,  2241,
+   2241, -1000,   241,   909,  2241,  2241,  2241,  2241,  2241,  -227,
+  -1000, -1000, -1000,  -227,   102,  2241,  2618,  -257, -1000, -1000,
+  -1000,   239,   102, -1000,   226, -1000,  2241,    35,    74, -1000,
+    220, -1000,   210, -1000,   102,   102,   102,   102,  1879, -1000,
+  -1000,  2241,  1879,  2241,  -321,  2241,  -306,  2241,  -265,  2241,
+   -248,  2241,  -248,  2241,  -294,  2241,     0,  2241,     0,  -256,
+   -288,   254,   374,    14,  2167,  -321,  -321,   -57,   208,   813,
+     16,  2241,   621,   525,    96,    49,    65,    46,  2241,   452,
+    323,   236,  1021, -1000,   230,    93,  1879,   216, -1000,    93,
+     97,   109,    97,   107,    93,   212,   204,   663,  1309,   206,
+  -1000, -1000,   193,  1309,  1021,  1021,  1021,  1021,   200,    97,
+    102,   102, -1000,   -42,   -42,   189,   -42,  2241,   -42,   -42,
+    172,  1879,  1879,  1879,  1879,  1879,  1879,  1879,  1879,  2241,
+  -1000, -1000, -1000,  2241,    59,   167, -1000,   155, -1000, -1000,
+  -1000, -1000, -1000,    45,   125, -1000,   106, -1000, -1000,    97,
+   2241, -1000,   195,  2241, -1000,   194,    93,  2125,    97,  2125,
+    187, -1000, -1000,   104, -1000,   185, -1000, -1000,   183,    98,
+     93,    97,    97, -1000,    93, -1000, -1000,   -42, -1000,    73,
+  -1000, -1000,   -42,   731,    56, -1000, -1000, -1000, -1000, -1000,
+  -1000,    97,  1879, -1000,   102, -1000,   181,   179,    93,    97,
+  -1000,   177, -1000, -1000, -1000, -1000,   173,   171,    93,    97,
+    166, -1000,   223, -1000, -1000,   146, -1000, -1000,   135,    97,
+  -1000, -1000, -1000,   127,    93, -1000,   126, -1000, -1000,    93,
+  -1000,   118,   -42,   114, -1000, -1000, -1000 };
+ int yypgo[]={
+ 
+      0,   394,   389,   383,   377,     1,    91,   376,   375,   373,
+    355,     2,   371,  2854,     3,     0,    18,   528,    44,    80,
+     78,    62,   370,   367,   365,    97,   359,   358,   357 };
+ int yyr1[]={
+ 
+      0,    26,     1,    25,    25,    12,    12,    12,     5,     4,
+      6,     6,     7,     7,     7,     7,     7,    10,    10,    10,
+     10,    10,    10,     9,     9,     9,     9,     8,     8,     8,
+      8,     8,     8,     8,     8,    11,    11,    21,    21,    24,
+     24,     2,     2,     2,     3,     3,    27,    28,    15,    13,
+     13,    16,    14,    14,    14,    14,    14,    14,    14,    14,
+     14,    14,    14,    14,    14,    14,    14,    14,    14,    14,
+     14,    14,    14,    14,    14,    14,    14,    14,    17,    17,
+     17,    17,    17,    17,    17,    17,    17,    17,    17,    17,
+     17,    17,    17,    17,    17,    17,    17,    17,    17,    17,
+     17,    17,    17,    17,    17,    17,    17,    17,    17,    17,
+     17,    17,    17,    17,    17,    17,    17,    17,    17,    17,
+     17,    17,    17,    17,    17,    17,    17,    17,    17,    17,
+     17,    17,    17,    17,    17,    17,    17,    17,    17,    17,
+     17,    17,    17,    17,    17,    17,    17,    17,    17,    17,
+     17,    17,    17,    17,    17,    17,    17,    17,    17,    17,
+     17,    17,    17,    17,    17,    17,    17,    17,    17,    17,
+     22,    22,    22,    22,    22,    18,    18,    19,    19,    20,
+     20,    23 };
+ int yyr2[]={
+ 
+      0,     1,     5,     7,     5,     1,     5,    11,     9,     1,
+      1,     5,     3,     5,     2,     5,     7,     3,     3,     7,
+      7,     7,     7,    11,    11,     7,     7,    13,    13,     9,
+      9,    15,    13,    21,     5,     1,     2,     1,     2,     1,
+      4,     3,     3,     3,     9,     7,     7,     7,     5,     7,
+      2,     5,     7,     9,     9,     9,     9,     9,     9,     9,
+      9,     7,     7,     7,     7,     7,     7,     7,     7,     7,
+      7,     7,     7,     7,    11,     7,     7,     3,     5,     5,
+      5,     5,     5,     5,     5,     5,     5,     5,     3,     9,
+      9,     7,     5,     5,     5,     3,     3,     9,     3,     3,
+      9,    13,    11,     9,     9,    11,     3,     3,     3,     3,
+      3,    11,    11,     9,     9,     5,    11,    11,     9,     9,
+      5,     3,     5,     3,     5,     3,     9,    15,     5,     9,
+     11,     9,     5,     5,     7,     3,    11,    13,    13,    15,
+     19,    11,     5,     9,     5,     9,     3,     3,    13,    11,
+      9,    11,     9,     5,     3,     3,     7,     7,     9,    11,
+     11,    13,    13,    15,    17,     9,     5,    13,     2,     2,
+      3,     5,     5,     7,     7,     3,     2,     3,     3,     3,
+      3,     3 };
+ int yychk[]={
+ 
+  -1000,    -1,   -26,    -6,    -7,    -2,   -24,    -8,    -3,   -27,
+    -28,   257,   263,   295,   303,    -9,    59,   -10,   269,   270,
+    278,   -25,   271,   272,   256,   -13,    -5,   -14,   123,   -17,
+     45,    43,    33,   126,   326,   327,   296,   297,    40,   264,
+    306,   310,   309,   308,   298,   307,   313,   312,   311,   314,
+    304,   261,   319,   260,   259,   279,   280,   281,   283,   282,
+    284,   266,   267,   265,   276,   294,   277,   268,   285,   286,
+    287,   288,   289,   290,   291,   292,   293,   -23,   -22,   257,
+    315,    58,   257,    61,   257,   257,    59,    40,    -5,    40,
+     -5,   306,    40,    40,    -5,    40,    -5,   271,   272,   269,
+    270,    44,   275,   -12,   273,   274,    61,   325,   301,   302,
+    320,   321,    38,    94,   124,   299,   300,   316,   318,   317,
+     63,   322,   323,    -4,   326,   327,   -17,   -17,   -17,   -17,
+    -17,   -17,   257,   -14,    40,   -13,    41,   -14,    -5,   257,
+    306,    91,   123,    91,   123,   306,   257,   306,   257,   -14,
+     40,   257,    40,    40,   257,   306,    40,    40,    40,    40,
+     40,    40,   -19,    40,   257,   308,   -19,    40,    40,    40,
+     40,   -14,    40,    40,    40,    40,    40,    40,    40,    40,
+    -20,   257,   309,    40,   -13,   257,   306,    61,   305,    -5,
+     59,   -21,   -13,   -25,   -13,   -25,    40,   -13,   -11,   -10,
+    -13,   -25,   -13,   -25,   -13,   -13,   -13,   -13,   -14,    -5,
+     -5,    40,   -14,    61,   -14,    61,   -14,    61,   -14,    61,
+    -14,    61,   -14,    61,   -14,    61,   -14,    61,   -14,   -14,
+    -14,   -14,   -14,   -14,   -14,   -14,   -14,    -6,   -13,    44,
+     41,    91,    40,    40,   -13,   -13,   -13,   -13,   123,    40,
+     40,   -18,   -14,   257,   257,   -18,   -14,   -18,    41,   -18,
+    -18,   -18,   -18,   -18,   -19,   -19,   -19,   -14,   -14,   -13,
+     41,    41,   -13,   -14,   -14,   -14,   -14,   -14,   -20,   -20,
+    -13,   -13,   305,    41,    41,   -13,    41,    59,    41,    41,
+    -13,   -14,   -14,   -14,   -14,   -14,   -14,   -14,   -14,    58,
+    125,    41,    41,    91,   -13,   -13,    41,   -13,    41,    93,
+    125,    93,   125,   -13,   -13,    41,   -13,    41,    41,   -16,
+     44,    41,   -15,    44,    41,   -15,   -16,    44,   -16,    44,
+    -15,    41,    41,   -16,    41,   -15,    41,    41,   -15,   -16,
+    -16,   -16,   -16,    41,   -16,   -25,   -25,    41,   -25,   -21,
+    -25,   -25,    41,   -14,   -13,    93,    41,    41,   125,    41,
+     41,   -16,   -14,    41,   -13,    41,   -15,   -18,   -16,   -18,
+     41,   -16,    41,    41,    41,    41,   -15,   -15,   -16,   -16,
+    -15,   -25,    59,   -25,    93,   -16,    41,    41,   -15,   -16,
+     41,    41,    41,   -15,   -16,    41,   -11,    41,    41,   -16,
+     41,   -15,    41,   -15,    41,    -5,    41 };
+ int yydef[]={
+ 
+      1,    -2,    10,    -2,    11,    12,     0,    14,    41,    42,
+     43,     0,     0,     0,     0,    13,    15,     0,     0,     0,
+      0,    34,     0,     0,    17,    18,     5,    50,     9,    77,
+      0,     0,     0,     0,     0,     0,    88,     0,     0,     0,
+     95,    96,    98,    99,     0,   106,   107,   108,   109,   110,
+      0,   121,   123,   125,     0,   135,     0,     0,     0,     0,
+      0,     0,     0,   146,   147,     0,     0,   154,   155,     0,
+      0,     0,     0,     0,     0,     0,     0,   168,   169,   181,
+    170,    40,     0,     0,     0,     0,    16,    37,     0,     0,
+      0,     0,    -2,     0,     0,     0,     0,     0,     0,     0,
+      0,     0,     0,     4,     0,     0,     0,     0,     0,     0,
+      0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
+      0,     0,     0,    10,    82,    83,    78,    79,    80,    81,
+     -2,    -2,    86,    87,     0,     0,    92,    93,    94,   181,
+     95,     0,     0,     0,     0,     0,   115,   120,   122,   124,
+      0,   128,     0,     0,   132,   133,     0,     0,     0,     0,
+      0,     0,   142,     0,   177,   178,   144,     0,     0,     0,
+      0,   153,     0,     0,     0,     0,     0,     0,     0,     0,
+    166,   179,   180,     0,   171,   172,    95,     0,    45,    46,
+     47,     0,    38,    29,     0,    30,     0,    18,     0,    36,
+      0,    25,     0,    26,    19,    20,    21,    22,    49,     3,
+      6,     0,    52,     0,    61,     0,    62,     0,    63,     0,
+     64,     0,    65,     0,    68,     0,    69,     0,    70,    -2,
+     -2,    -2,    72,    73,     0,    75,    76,    39,     0,     0,
+     91,     0,     0,     0,     0,     0,     0,     0,     0,     0,
+      0,     0,   176,    -2,    -2,     0,   176,     0,   134,     0,
+      0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
+    156,   157,     0,     0,     0,     0,     0,     0,     0,     0,
+    173,   174,    44,     0,     0,     0,     0,    37,     0,     0,
+      0,    53,    54,    55,    56,    57,    58,    59,    60,     0,
+      8,    89,    90,     0,     0,     0,   113,     0,   118,    97,
+    100,   103,   104,     0,     0,   114,     0,   119,   126,     0,
+      0,   129,     0,     0,   131,     0,     0,     0,     0,     0,
+      0,   143,   145,     0,   150,     0,   152,   158,     0,     0,
+      0,     0,     0,   165,     0,    27,    28,     0,    32,     0,
+     23,    24,     0,    74,     0,   102,   111,   116,   105,   112,
+    117,     0,    51,   130,    48,   136,     0,     0,     0,     0,
+    141,     0,   149,   151,   159,   160,     0,     0,     0,     0,
+      0,    31,    -2,     7,   101,     0,   137,   138,     0,     0,
+    148,   161,   162,     0,     0,   167,     0,   127,   139,     0,
+    163,     0,     0,     0,   164,    33,   140 };
+ typedef struct { char *t_name; int t_val; } yytoktype;
+ #ifndef YYDEBUG
+ #	define YYDEBUG	0	/* don't allow debugging */
+ #endif
+ 
+ #if YYDEBUG
+ 
+ yytoktype yytoks[] =
+ {
+ 	"WORD",	257,
+ 	"APPEND",	258,
+ 	"OPEN",	259,
+ 	"SSELECT",	260,
+ 	"LOOPEX",	261,
+ 	"USING",	262,
+ 	"FORMAT",	263,
+ 	"DO",	264,
+ 	"SHIFT",	265,
+ 	"PUSH",	266,
+ 	"POP",	267,
+ 	"LVALFUN",	268,
+ 	"WHILE",	269,
+ 	"UNTIL",	270,
+ 	"IF",	271,
+ 	"UNLESS",	272,
+ 	"ELSE",	273,
+ 	"ELSIF",	274,
+ 	"CONTINUE",	275,
+ 	"SPLIT",	276,
+ 	"FLIST",	277,
+ 	"FOR",	278,
+ 	"FILOP",	279,
+ 	"FILOP2",	280,
+ 	"FILOP3",	281,
+ 	"FILOP4",	282,
+ 	"FILOP22",	283,
+ 	"FILOP25",	284,
+ 	"FUNC0",	285,
+ 	"FUNC1",	286,
+ 	"FUNC2",	287,
+ 	"FUNC2x",	288,
+ 	"FUNC3",	289,
+ 	"FUNC4",	290,
+ 	"FUNC5",	291,
+ 	"HSHFUN",	292,
+ 	"HSHFUN3",	293,
+ 	"FLIST2",	294,
+ 	"SUB",	295,
+ 	"FILETEST",	296,
+ 	"LOCAL",	297,
+ 	"DELETE",	298,
+ 	"RELOP",	299,
+ 	"EQOP",	300,
+ 	"MULOP",	301,
+ 	"ADDOP",	302,
+ 	"PACKAGE",	303,
+ 	"AMPER",	304,
+ 	"FORMLIST",	305,
+ 	"REG",	306,
+ 	"ARYLEN",	307,
+ 	"ARY",	308,
+ 	"HSH",	309,
+ 	"STAR",	310,
+ 	"SUBST",	311,
+ 	"PATTERN",	312,
+ 	"RSTRING",	313,
+ 	"TRANS",	314,
+ 	"LISTOP",	315,
+ 	",",	44,
+ 	"=",	61,
+ 	"?",	63,
+ 	":",	58,
+ 	"DOTDOT",	316,
+ 	"OROR",	317,
+ 	"ANDAND",	318,
+ 	"|",	124,
+ 	"^",	94,
+ 	"&",	38,
+ 	"UNIOP",	319,
+ 	"LS",	320,
+ 	"RS",	321,
+ 	"MATCH",	322,
+ 	"NMATCH",	323,
+ 	"!",	33,
+ 	"~",	126,
+ 	"UMINUS",	324,
+ 	"POW",	325,
+ 	"INC",	326,
+ 	"DEC",	327,
+ 	"(",	40,
+ 	"-unknown-",	-1	/* ends search */
+ };
+ 
+ char * yyreds[] =
+ {
+ 	"-no such reduction-",
+ 	"prog : /* empty */",
+ 	"prog : lineseq",
+ 	"compblock : block CONTINUE block",
+ 	"compblock : block else",
+ 	"else : /* empty */",
+ 	"else : ELSE block",
+ 	"else : ELSIF '(' expr ')' compblock",
+ 	"block : '{' remember lineseq '}'",
+ 	"remember : /* empty */",
+ 	"lineseq : /* empty */",
+ 	"lineseq : lineseq line",
+ 	"line : decl",
+ 	"line : label cond",
+ 	"line : loop",
+ 	"line : label ';'",
+ 	"line : label sideff ';'",
+ 	"sideff : error",
+ 	"sideff : expr",
+ 	"sideff : expr IF expr",
+ 	"sideff : expr UNLESS expr",
+ 	"sideff : expr WHILE expr",
+ 	"sideff : expr UNTIL expr",
+ 	"cond : IF '(' expr ')' compblock",
+ 	"cond : UNLESS '(' expr ')' compblock",
+ 	"cond : IF block compblock",
+ 	"cond : UNLESS block compblock",
+ 	"loop : label WHILE '(' texpr ')' compblock",
+ 	"loop : label UNTIL '(' expr ')' compblock",
+ 	"loop : label WHILE block compblock",
+ 	"loop : label UNTIL block compblock",
+ 	"loop : label FOR REG '(' expr ')' compblock",
+ 	"loop : label FOR '(' expr ')' compblock",
+ 	"loop : label FOR '(' nexpr ';' texpr ';' nexpr ')' block",
+ 	"loop : label compblock",
+ 	"nexpr : /* empty */",
+ 	"nexpr : sideff",
+ 	"texpr : /* empty */",
+ 	"texpr : expr",
+ 	"label : /* empty */",
+ 	"label : WORD ':'",
+ 	"decl : format",
+ 	"decl : subrout",
+ 	"decl : package",
+ 	"format : FORMAT WORD '=' FORMLIST",
+ 	"format : FORMAT '=' FORMLIST",
+ 	"subrout : SUB WORD block",
+ 	"package : PACKAGE WORD ';'",
+ 	"cexpr : ',' expr",
+ 	"expr : expr ',' sexpr",
+ 	"expr : sexpr",
+ 	"csexpr : ',' sexpr",
+ 	"sexpr : sexpr '=' sexpr",
+ 	"sexpr : sexpr POW '=' sexpr",
+ 	"sexpr : sexpr MULOP '=' sexpr",
+ 	"sexpr : sexpr ADDOP '=' sexpr",
+ 	"sexpr : sexpr LS '=' sexpr",
+ 	"sexpr : sexpr RS '=' sexpr",
+ 	"sexpr : sexpr '&' '=' sexpr",
+ 	"sexpr : sexpr '^' '=' sexpr",
+ 	"sexpr : sexpr '|' '=' sexpr",
+ 	"sexpr : sexpr POW sexpr",
+ 	"sexpr : sexpr MULOP sexpr",
+ 	"sexpr : sexpr ADDOP sexpr",
+ 	"sexpr : sexpr LS sexpr",
+ 	"sexpr : sexpr RS sexpr",
+ 	"sexpr : sexpr RELOP sexpr",
+ 	"sexpr : sexpr EQOP sexpr",
+ 	"sexpr : sexpr '&' sexpr",
+ 	"sexpr : sexpr '^' sexpr",
+ 	"sexpr : sexpr '|' sexpr",
+ 	"sexpr : sexpr DOTDOT sexpr",
+ 	"sexpr : sexpr ANDAND sexpr",
+ 	"sexpr : sexpr OROR sexpr",
+ 	"sexpr : sexpr '?' sexpr ':' sexpr",
+ 	"sexpr : sexpr MATCH sexpr",
+ 	"sexpr : sexpr NMATCH sexpr",
+ 	"sexpr : term",
+ 	"term : '-' term",
+ 	"term : '+' term",
+ 	"term : '!' term",
+ 	"term : '~' term",
+ 	"term : term INC",
+ 	"term : term DEC",
+ 	"term : INC term",
+ 	"term : DEC term",
+ 	"term : FILETEST WORD",
+ 	"term : FILETEST sexpr",
+ 	"term : FILETEST",
+ 	"term : LOCAL '(' expr ')'",
+ 	"term : '(' expr ',' ')'",
+ 	"term : '(' expr ')'",
+ 	"term : '(' ')'",
+ 	"term : DO sexpr",
+ 	"term : DO block",
+ 	"term : REG",
+ 	"term : STAR",
+ 	"term : REG '[' expr ']'",
+ 	"term : HSH",
+ 	"term : ARY",
+ 	"term : REG '{' expr '}'",
+ 	"term : '(' expr ')' '[' expr ']'",
+ 	"term : '(' ')' '[' expr ']'",
+ 	"term : ARY '[' expr ']'",
+ 	"term : ARY '{' expr '}'",
+ 	"term : DELETE REG '{' expr '}'",
+ 	"term : ARYLEN",
+ 	"term : RSTRING",
+ 	"term : PATTERN",
+ 	"term : SUBST",
+ 	"term : TRANS",
+ 	"term : DO WORD '(' expr ')'",
+ 	"term : AMPER WORD '(' expr ')'",
+ 	"term : DO WORD '(' ')'",
+ 	"term : AMPER WORD '(' ')'",
+ 	"term : AMPER WORD",
+ 	"term : DO REG '(' expr ')'",
+ 	"term : AMPER REG '(' expr ')'",
+ 	"term : DO REG '(' ')'",
+ 	"term : AMPER REG '(' ')'",
+ 	"term : AMPER REG",
+ 	"term : LOOPEX",
+ 	"term : LOOPEX WORD",
+ 	"term : UNIOP",
+ 	"term : UNIOP sexpr",
+ 	"term : SSELECT",
+ 	"term : SSELECT '(' handle ')'",
+ 	"term : SSELECT '(' sexpr csexpr csexpr csexpr ')'",
+ 	"term : OPEN WORD",
+ 	"term : OPEN '(' WORD ')'",
+ 	"term : OPEN '(' handle cexpr ')'",
+ 	"term : FILOP '(' handle ')'",
+ 	"term : FILOP WORD",
+ 	"term : FILOP REG",
+ 	"term : FILOP '(' ')'",
+ 	"term : FILOP",
+ 	"term : FILOP2 '(' handle cexpr ')'",
+ 	"term : FILOP3 '(' handle csexpr cexpr ')'",
+ 	"term : FILOP22 '(' handle ',' handle ')'",
+ 	"term : FILOP4 '(' handle csexpr csexpr cexpr ')'",
+ 	"term : FILOP25 '(' handle ',' handle csexpr csexpr cexpr ')'",
+ 	"term : PUSH '(' aryword cexpr ')'",
+ 	"term : POP aryword",
+ 	"term : POP '(' aryword ')'",
+ 	"term : SHIFT aryword",
+ 	"term : SHIFT '(' aryword ')'",
+ 	"term : SHIFT",
+ 	"term : SPLIT",
+ 	"term : SPLIT '(' sexpr csexpr csexpr ')'",
+ 	"term : SPLIT '(' sexpr csexpr ')'",
+ 	"term : SPLIT '(' sexpr ')'",
+ 	"term : FLIST2 '(' sexpr cexpr ')'",
+ 	"term : FLIST '(' expr ')'",
+ 	"term : LVALFUN sexpr",
+ 	"term : LVALFUN",
+ 	"term : FUNC0",
+ 	"term : FUNC0 '(' ')'",
+ 	"term : FUNC1 '(' ')'",
+ 	"term : FUNC1 '(' expr ')'",
+ 	"term : FUNC2 '(' sexpr cexpr ')'",
+ 	"term : FUNC2x '(' sexpr csexpr ')'",
+ 	"term : FUNC2x '(' sexpr csexpr cexpr ')'",
+ 	"term : FUNC3 '(' sexpr csexpr cexpr ')'",
+ 	"term : FUNC4 '(' sexpr csexpr csexpr cexpr ')'",
+ 	"term : FUNC5 '(' sexpr csexpr csexpr csexpr cexpr ')'",
+ 	"term : HSHFUN '(' hshword ')'",
+ 	"term : HSHFUN hshword",
+ 	"term : HSHFUN3 '(' hshword csexpr cexpr ')'",
+ 	"term : bareword",
+ 	"term : listop",
+ 	"listop : LISTOP",
+ 	"listop : LISTOP expr",
+ 	"listop : LISTOP WORD",
+ 	"listop : LISTOP WORD expr",
+ 	"listop : LISTOP REG expr",
+ 	"handle : WORD",
+ 	"handle : sexpr",
+ 	"aryword : WORD",
+ 	"aryword : ARY",
+ 	"hshword : WORD",
+ 	"hshword : HSH",
+ 	"bareword : WORD",
+ };
+ #endif /* YYDEBUG */
+ #line 1 "/usr/lib/yaccpar"
+ /*	@(#)yaccpar 1.10 89/04/04 SMI; from S5R3 1.10	*/
+ 
+ /*
+ ** Skeleton parser driver for yacc output
+ */
+ 
+ /*
+ ** yacc user known macros and defines
+ */
+ #define YYERROR		goto yyerrlab
+ #ifdef IGNOREFREE
+ #define YYACCEPT	{ return(0); }
+ #define YYABORT		{ return(1); }
+ #else
+ #define YYACCEPT	{ Safefree(yys); free(yyv); return(0); }
+ #define YYABORT		{ Safefree(yys); free(yyv); return(1); }
+ #endif
+ #define YYBACKUP( newtoken, newvalue )\
+ {\
+ 	if ( yychar >= 0 || ( yyr2[ yytmp ] >> 1 ) != 1 )\
+ 	{\
+ 		yyerror( "syntax error - cannot backup" );\
+ 		goto yyerrlab;\
+ 	}\
+ 	yychar = newtoken;\
+ 	yystate = *yyps;\
+ 	yylval = newvalue;\
+ 	goto yynewstate;\
+ }
+ #define YYRECOVERING()	(!!yyerrflag)
+ #ifndef YYDEBUG
+ #	define YYDEBUG	1	/* make debugging available */
+ #endif
+ 
+ /*
+ ** user known globals
+ */
+ int yydebug;			/* set to 1 to get debugging */
+ 
+ /*
+ ** driver internal defines
+ */
+ #define YYFLAG		(-1000)
+ 
+ /*
+ ** static variables used by the parser
+ */
+ static YYSTYPE *yyv;			/* value stack */
+ static int *yys;			/* state stack */
+ 
+ static YYSTYPE *yypv;			/* top of value stack */
+ static int *yyps;			/* top of state stack */
+ 
+ static int yystate;			/* current state */
+ static int yytmp;			/* extra var (lasts between blocks) */
+ 
+ int yynerrs;			/* number of errors */
+ 
+ int yyerrflag;			/* error recovery flag */
+ int yychar;			/* current input token number */
+ 
+ 
+ /*
+ ** yyparse - return 0 if worked, 1 if syntax error not recovered from
+ */
+ int
+ yyparse()
+ {
+ 	register YYSTYPE *yypvt;	/* top of value stack for $vars */
+ 	unsigned yymaxdepth = YYMAXDEPTH;
+ 
+ 	/*
+ 	** Initialize externals - yyparse may be called more than once
+ 	*/
+ #ifdef BWGC	
+ 	yyv = (YYSTYPE*)gc_malloc(yymaxdepth*sizeof(YYSTYPE));
+ 	yys = (int*)gc_malloc(yymaxdepth*sizeof(int));
+ #else
+ 	yyv = (YYSTYPE*)malloc(yymaxdepth*sizeof(YYSTYPE));
+ 	yys = (int*)malloc(yymaxdepth*sizeof(int));
+ #endif
+ 	if (!yyv || !yys)
+ 	{
+ 		yyerror( "out of memory" );
+ 		return(1);
+ 	}
+ 	yypv = &yyv[-1];
+ 	yyps = &yys[-1];
+ 	yystate = 0;
+ 	yytmp = 0;
+ 	yynerrs = 0;
+ 	yyerrflag = 0;
+ 	yychar = -1;
+ 
+ 	goto yystack;
+ 	{
+ 		register YYSTYPE *yy_pv;	/* top of value stack */
+ 		register int *yy_ps;		/* top of state stack */
+ 		register int yy_state;		/* current state */
+ 		register int  yy_n;		/* internal state number info */
+ 
+ 		/*
+ 		** get globals into registers.
+ 		** branch to here only if YYBACKUP was called.
+ 		*/
+ 	yynewstate:
+ 		yy_pv = yypv;
+ 		yy_ps = yyps;
+ 		yy_state = yystate;
+ 		goto yy_newstate;
+ 
+ 		/*
+ 		** get globals into registers.
+ 		** either we just started, or we just finished a reduction
+ 		*/
+ 	yystack:
+ 		yy_pv = yypv;
+ 		yy_ps = yyps;
+ 		yy_state = yystate;
+ 
+ 		/*
+ 		** top of for (;;) loop while no reductions done
+ 		*/
+ 	yy_stack:
+ 		/*
+ 		** put a state and value onto the stacks
+ 		*/
+ #if YYDEBUG
+ 		/*
+ 		** if debugging, look up token value in list of value vs.
+ 		** name pairs.  0 and negative (-1) are special values.
+ 		** Note: linear search is used since time is not a real
+ 		** consideration while debugging.
+ 		*/
+ 		if ( yydebug )
+ 		{
+ 			register int yy_i;
+ 
+ 			(void)printf( "State %d, token ", yy_state );
+ 			if ( yychar == 0 )
+ 				(void)printf( "end-of-file\n" );
+ 			else if ( yychar < 0 )
+ 				(void)printf( "-none-\n" );
+ 			else
+ 			{
+ 				for ( yy_i = 0; yytoks[yy_i].t_val >= 0;
+ 					yy_i++ )
+ 				{
+ 					if ( yytoks[yy_i].t_val == yychar )
+ 						break;
+ 				}
+ 				(void)printf( "%s\n", yytoks[yy_i].t_name );
+ 			}
+ 		}
+ #endif /* YYDEBUG */
+ 		if ( ++yy_ps >= &yys[ yymaxdepth ] )	/* room on stack? */
+ 		{
+ 			/*
+ 			** reallocate and recover.  Note that pointers
+ 			** have to be reset, or bad things will happen
+ 			*/
+ 			int yyps_index = (yy_ps - yys);
+ 			int yypv_index = (yy_pv - yyv);
+ 			int yypvt_index = (yypvt - yyv);
+ 			yymaxdepth += YYMAXDEPTH;
+ #ifdef BWGC
+ 			yyv = (YYSTYPE*)gc_realloc((char*)yyv,
+ 				yymaxdepth * sizeof(YYSTYPE));
+ 			yys = (int*)gc_realloc((char*)yys,
+ 				yymaxdepth * sizeof(int));
+ #else
+ 			yyv = (YYSTYPE*)realloc((char*)yyv,
+ 				yymaxdepth * sizeof(YYSTYPE));
+ 			yys = (int*)realloc((char*)yys,
+ 				yymaxdepth * sizeof(int));
+ #endif
+ 			if (!yyv || !yys)
+ 			{
+ 				yyerror( "yacc stack overflow" );
+ 				return(1);
+ 			}
+ 			yy_ps = yys + yyps_index;
+ 			yy_pv = yyv + yypv_index;
+ 			yypvt = yyv + yypvt_index;
+ 		}
+ 		*yy_ps = yy_state;
+ 		*++yy_pv = yyval;
+ 
+ 		/*
+ 		** we have a new state - find out what to do
+ 		*/
+ 	yy_newstate:
+ 		if ( ( yy_n = yypact[ yy_state ] ) <= YYFLAG )
+ 			goto yydefault;		/* simple state */
+ #if YYDEBUG
+ 		/*
+ 		** if debugging, need to mark whether new token grabbed
+ 		*/
+ 		yytmp = yychar < 0;
+ #endif
+ 		if ( ( yychar < 0 ) && ( ( yychar = yylex() ) < 0 ) )
+ 			yychar = 0;		/* reached EOF */
+ #if YYDEBUG
+ 		if ( yydebug && yytmp )
+ 		{
+ 			register int yy_i;
+ 
+ 			(void)printf( "Received token " );
+ 			if ( yychar == 0 )
+ 				(void)printf( "end-of-file\n" );
+ 			else if ( yychar < 0 )
+ 				(void)printf( "-none-\n" );
+ 			else
+ 			{
+ 				for ( yy_i = 0; yytoks[yy_i].t_val >= 0;
+ 					yy_i++ )
+ 				{
+ 					if ( yytoks[yy_i].t_val == yychar )
+ 						break;
+ 				}
+ 				(void)printf( "%s\n", yytoks[yy_i].t_name );
+ 			}
+ 		}
+ #endif /* YYDEBUG */
+ 		if ( ( ( yy_n += yychar ) < 0 ) || ( yy_n >= YYLAST ) )
+ 			goto yydefault;
+ 		if ( yychk[ yy_n = yyact[ yy_n ] ] == yychar )	/*valid shift*/
+ 		{
+ 			yychar = -1;
+ 			yyval = yylval;
+ 			yy_state = yy_n;
+ 			if ( yyerrflag > 0 )
+ 				yyerrflag--;
+ 			goto yy_stack;
+ 		}
+ 
+ 	yydefault:
+ 		if ( ( yy_n = yydef[ yy_state ] ) == -2 )
+ 		{
+ #if YYDEBUG
+ 			yytmp = yychar < 0;
+ #endif
+ 			if ( ( yychar < 0 ) && ( ( yychar = yylex() ) < 0 ) )
+ 				yychar = 0;		/* reached EOF */
+ #if YYDEBUG
+ 			if ( yydebug && yytmp )
+ 			{
+ 				register int yy_i;
+ 
+ 				(void)printf( "Received token " );
+ 				if ( yychar == 0 )
+ 					(void)printf( "end-of-file\n" );
+ 				else if ( yychar < 0 )
+ 					(void)printf( "-none-\n" );
+ 				else
+ 				{
+ 					for ( yy_i = 0;
+ 						yytoks[yy_i].t_val >= 0;
+ 						yy_i++ )
+ 					{
+ 						if ( yytoks[yy_i].t_val
+ 							== yychar )
+ 						{
+ 							break;
+ 						}
+ 					}
+ 					(void)printf( "%s\n", yytoks[yy_i].t_name );
+ 				}
+ 			}
+ #endif /* YYDEBUG */
+ 			/*
+ 			** look through exception table
+ 			*/
+ 			{
+ 				register int *yyxi = yyexca;
+ 
+ 				while ( ( *yyxi != -1 ) ||
+ 					( yyxi[1] != yy_state ) )
+ 				{
+ 					yyxi += 2;
+ 				}
+ 				while ( ( *(yyxi += 2) >= 0 ) &&
+ 					( *yyxi != yychar ) )
+ 					;
+ 				if ( ( yy_n = yyxi[1] ) < 0 )
+ 					YYACCEPT;
+ 			}
+ 		}
+ 
+ 		/*
+ 		** check for syntax error
+ 		*/
+ 		if ( yy_n == 0 )	/* have an error */
+ 		{
+ 			/* no worry about speed here! */
+ 			switch ( yyerrflag )
+ 			{
+ 			case 0:		/* new error */
+ 				yyerror( "syntax error" );
+ 				goto skip_init;
+ 			yyerrlab:
+ 				/*
+ 				** get globals into registers.
+ 				** we have a user generated syntax type error
+ 				*/
+ 				yy_pv = yypv;
+ 				yy_ps = yyps;
+ 				yy_state = yystate;
+ 				yynerrs++;
+ 			skip_init:
+ 			case 1:
+ 			case 2:		/* incompletely recovered error */
+ 					/* try again... */
+ 				yyerrflag = 3;
+ 				/*
+ 				** find state where "error" is a legal
+ 				** shift action
+ 				*/
+ 				while ( yy_ps >= yys )
+ 				{
+ 					yy_n = yypact[ *yy_ps ] + YYERRCODE;
+ 					if ( yy_n >= 0 && yy_n < YYLAST &&
+ 						yychk[yyact[yy_n]] == YYERRCODE)					{
+ 						/*
+ 						** simulate shift of "error"
+ 						*/
+ 						yy_state = yyact[ yy_n ];
+ 						goto yy_stack;
+ 					}
+ 					/*
+ 					** current state has no shift on
+ 					** "error", pop stack
+ 					*/
+ #if YYDEBUG
+ #	define _POP_ "Error recovery pops state %d, uncovers state %d\n"
+ 					if ( yydebug )
+ 						(void)printf( _POP_, *yy_ps,
+ 							yy_ps[-1] );
+ #	undef _POP_
+ #endif
+ 					yy_ps--;
+ 					yy_pv--;
+ 				}
+ 				/*
+ 				** there is no state on stack with "error" as
+ 				** a valid shift.  give up.
+ 				*/
+ 				YYABORT;
+ 			case 3:		/* no shift yet; eat a token */
+ #if YYDEBUG
+ 				/*
+ 				** if debugging, look up token in list of
+ 				** pairs.  0 and negative shouldn't occur,
+ 				** but since timing doesn't matter when
+ 				** debugging, it doesn't hurt to leave the
+ 				** tests here.
+ 				*/
+ 				if ( yydebug )
+ 				{
+ 					register int yy_i;
+ 
+ 					(void)printf( "Error recovery discards " );
+ 					if ( yychar == 0 )
+ 						(void)printf( "token end-of-file\n" );
+ 					else if ( yychar < 0 )
+ 						(void)printf( "token -none-\n" );
+ 					else
+ 					{
+ 						for ( yy_i = 0;
+ 							yytoks[yy_i].t_val >= 0;
+ 							yy_i++ )
+ 						{
+ 							if ( yytoks[yy_i].t_val
+ 								== yychar )
+ 							{
+ 								break;
+ 							}
+ 						}
+ 						(void)printf( "token %s\n",
+ 							yytoks[yy_i].t_name );
+ 					}
+ 				}
+ #endif /* YYDEBUG */
+ 				if ( yychar == 0 )	/* reached EOF. quit */
+ 					YYABORT;
+ 				yychar = -1;
+ 				goto yy_newstate;
+ 			}
+ 		}/* end if ( yy_n == 0 ) */
+ 		/*
+ 		** reduction by production yy_n
+ 		** put stack tops, etc. so things right after switch
+ 		*/
+ #if YYDEBUG
+ 		/*
+ 		** if debugging, print the string that is the user's
+ 		** specification of the reduction which is just about
+ 		** to be done.
+ 		*/
+ 		if ( yydebug )
+ 			(void)printf( "Reduce by (%d) \"%s\"\n",
+ 				yy_n, yyreds[ yy_n ] );
+ #endif
+ 		yytmp = yy_n;			/* value to switch over */
+ 		yypvt = yy_pv;			/* $vars top of value stack */
+ 		/*
+ 		** Look in goto table for next state
+ 		** Sorry about using yy_state here as temporary
+ 		** register variable, but why not, if it works...
+ 		** If yyr2[ yy_n ] doesn't have the low order bit
+ 		** set, then there is no action to be done for
+ 		** this reduction.  So, no saving & unsaving of
+ 		** registers done.  The only difference between the
+ 		** code just after the if and the body of the if is
+ 		** the goto yy_stack in the body.  This way the test
+ 		** can be made before the choice of what to do is needed.
+ 		*/
+ 		{
+ 			/* length of production doubled with extra bit */
+ 			register int yy_len = yyr2[ yy_n ];
+ 
+ 			if ( !( yy_len & 01 ) )
+ 			{
+ 				yy_len >>= 1;
+ 				yyval = ( yy_pv -= yy_len )[1];	/* $$ = $1 */
+ 				yy_state = yypgo[ yy_n = yyr1[ yy_n ] ] +
+ 					*( yy_ps -= yy_len ) + 1;
+ 				if ( yy_state >= YYLAST ||
+ 					yychk[ yy_state =
+ 					yyact[ yy_state ] ] != -yy_n )
+ 				{
+ 					yy_state = yyact[ yypgo[ yy_n ] ];
+ 				}
+ 				goto yy_stack;
+ 			}
+ 			yy_len >>= 1;
+ 			yyval = ( yy_pv -= yy_len )[1];	/* $$ = $1 */
+ 			yy_state = yypgo[ yy_n = yyr1[ yy_n ] ] +
+ 				*( yy_ps -= yy_len ) + 1;
+ 			if ( yy_state >= YYLAST ||
+ 				yychk[ yy_state = yyact[ yy_state ] ] != -yy_n )
+ 			{
+ 				yy_state = yyact[ yypgo[ yy_n ] ];
+ 			}
+ 		}
+ 					/* save until reenter driver code */
+ 		yystate = yy_state;
+ 		yyps = yy_ps;
+ 		yypv = yy_pv;
+ 	}
+ 	/*
+ 	** code supplied by user is placed in this switch
+ 	*/
+ 	switch( yytmp )
+ 	{
+ 		
+ case 1:
+ # line 81 "perly.y"
+ {
+ #if defined(YYDEBUG) && defined(DEBUGGING)
+ 		    yydebug = (debug & 1);
+ #endif
+ 		} break;
+ case 2:
+ # line 87 "perly.y"
+ { if (in_eval)
+ 				eval_root = block_head(yypvt[-0].cmdval);
+ 			    else
+ 				main_root = block_head(yypvt[-0].cmdval); } break;
+ case 3:
+ # line 94 "perly.y"
+ { yyval.compval.comp_true = yypvt[-2].cmdval; yyval.compval.comp_alt = yypvt[-0].cmdval; } break;
+ case 4:
+ # line 96 "perly.y"
+ { yyval.compval.comp_true = yypvt[-1].cmdval; yyval.compval.comp_alt = yypvt[-0].cmdval; } break;
+ case 5:
+ # line 100 "perly.y"
+ { yyval.cmdval = Nullcmd; } break;
+ case 6:
+ # line 102 "perly.y"
+ { yyval.cmdval = yypvt[-0].cmdval; } break;
+ case 7:
+ # line 104 "perly.y"
+ { cmdline = yypvt[-4].ival;
+ 			    yyval.cmdval = make_ccmd(C_ELSIF,yypvt[-2].arg,yypvt[-0].compval); } break;
+ case 8:
+ # line 109 "perly.y"
+ { yyval.cmdval = block_head(yypvt[-1].cmdval);
+ 			  if (savestack->ary_fill > yypvt[-2].ival)
+ 			    restorelist(yypvt[-2].ival); } break;
+ case 9:
+ # line 115 "perly.y"
+ { yyval.ival = savestack->ary_fill; } break;
+ case 10:
+ # line 119 "perly.y"
+ { yyval.cmdval = Nullcmd; } break;
+ case 11:
+ # line 121 "perly.y"
+ { yyval.cmdval = append_line(yypvt[-1].cmdval,yypvt[-0].cmdval); } break;
+ case 12:
+ # line 125 "perly.y"
+ { yyval.cmdval = Nullcmd; } break;
+ case 13:
+ # line 127 "perly.y"
+ { yyval.cmdval = add_label(yypvt[-1].cval,yypvt[-0].cmdval); } break;
+ case 15:
+ # line 130 "perly.y"
+ { if (yypvt[-1].cval != Nullch) {
+ 			      yyval.cmdval = add_label(yypvt[-1].cval, make_acmd(C_EXPR, Nullstab,
+ 				  Nullarg, Nullarg) );
+ 			    }
+ 			    else {
+ 			      yyval.cmdval = Nullcmd;
+ 			      cmdline = NOLINE;
+ 			    } } break;
+ case 16:
+ # line 139 "perly.y"
+ { yyval.cmdval = add_label(yypvt[-2].cval,yypvt[-1].cmdval); } break;
+ case 17:
+ # line 143 "perly.y"
+ { yyval.cmdval = Nullcmd; } break;
+ case 18:
+ # line 145 "perly.y"
+ { yyval.cmdval = make_acmd(C_EXPR, Nullstab, yypvt[-0].arg, Nullarg); } break;
+ case 19:
+ # line 147 "perly.y"
+ { yyval.cmdval = addcond(
+ 			       make_acmd(C_EXPR, Nullstab, Nullarg, yypvt[-2].arg), yypvt[-0].arg); } break;
+ case 20:
+ # line 150 "perly.y"
+ { yyval.cmdval = addcond(invert(
+ 			       make_acmd(C_EXPR, Nullstab, Nullarg, yypvt[-2].arg)), yypvt[-0].arg); } break;
+ case 21:
+ # line 153 "perly.y"
+ { yyval.cmdval = addloop(
+ 			       make_acmd(C_EXPR, Nullstab, Nullarg, yypvt[-2].arg), yypvt[-0].arg); } break;
+ case 22:
+ # line 156 "perly.y"
+ { yyval.cmdval = addloop(invert(
+ 			       make_acmd(C_EXPR, Nullstab, Nullarg, yypvt[-2].arg)), yypvt[-0].arg); } break;
+ case 23:
+ # line 161 "perly.y"
+ { cmdline = yypvt[-4].ival;
+ 			    yyval.cmdval = make_icmd(C_IF,yypvt[-2].arg,yypvt[-0].compval); } break;
+ case 24:
+ # line 164 "perly.y"
+ { cmdline = yypvt[-4].ival;
+ 			    yyval.cmdval = invert(make_icmd(C_IF,yypvt[-2].arg,yypvt[-0].compval)); } break;
+ case 25:
+ # line 167 "perly.y"
+ { cmdline = yypvt[-2].ival;
+ 			    yyval.cmdval = make_ccmd(C_IF,cmd_to_arg(yypvt[-1].cmdval),yypvt[-0].compval); } break;
+ case 26:
+ # line 170 "perly.y"
+ { cmdline = yypvt[-2].ival;
+ 			    yyval.cmdval = invert(make_ccmd(C_IF,cmd_to_arg(yypvt[-1].cmdval),yypvt[-0].compval)); } break;
+ case 27:
+ # line 175 "perly.y"
+ { cmdline = yypvt[-4].ival;
+ 			    yyval.cmdval = wopt(add_label(yypvt[-5].cval,
+ 			    make_ccmd(C_WHILE,yypvt[-2].arg,yypvt[-0].compval) )); } break;
+ case 28:
+ # line 179 "perly.y"
+ { cmdline = yypvt[-4].ival;
+ 			    yyval.cmdval = wopt(add_label(yypvt[-5].cval,
+ 			    invert(make_ccmd(C_WHILE,yypvt[-2].arg,yypvt[-0].compval)) )); } break;
+ case 29:
+ # line 183 "perly.y"
+ { cmdline = yypvt[-2].ival;
+ 			    yyval.cmdval = wopt(add_label(yypvt[-3].cval,
+ 			    make_ccmd(C_WHILE, cmd_to_arg(yypvt[-1].cmdval),yypvt[-0].compval) )); } break;
+ case 30:
+ # line 187 "perly.y"
+ { cmdline = yypvt[-2].ival;
+ 			    yyval.cmdval = wopt(add_label(yypvt[-3].cval,
+ 			    invert(make_ccmd(C_WHILE, cmd_to_arg(yypvt[-1].cmdval),yypvt[-0].compval)) )); } break;
+ case 31:
+ # line 191 "perly.y"
+ { cmdline = yypvt[-5].ival;
+ 			    /*
+ 			     * The following gobbledygook catches EXPRs that
+ 			     * aren't explicit array refs and translates
+ 			     *		foreach VAR (EXPR) {
+ 			     * into
+ 			     *		@ary = EXPR;
+ 			     *		foreach VAR (@ary) {
+ 			     * where @ary is a hidden array made by genstab().
+ 			     * (Note that @ary may become a local array if
+ 			     * it is determined that it might be called
+ 			     * recursively.  See cmd_tosave().)
+ 			     */
+ 			    if (yypvt[-2].arg->arg_type != O_ARRAY) {
+ 				scrstab = aadd(genstab());
+ 				yyval.cmdval = append_line(
+ 				    make_acmd(C_EXPR, Nullstab,
+ 				      l(make_op(O_ASSIGN,2,
+ 					listish(make_op(O_ARRAY, 1,
+ 					  stab2arg(A_STAB,scrstab),
+ 					  Nullarg,Nullarg )),
+ 					listish(make_list(yypvt[-2].arg)),
+ 					Nullarg)),
+ 				      Nullarg),
+ 				    wopt(over(yypvt[-4].stabval,add_label(yypvt[-6].cval,
+ 				      make_ccmd(C_WHILE,
+ 					make_op(O_ARRAY, 1,
+ 					  stab2arg(A_STAB,scrstab),
+ 					  Nullarg,Nullarg ),
+ 					yypvt[-0].compval)))));
+ 				yyval.cmdval->c_line = yypvt[-5].ival;
+ 				yyval.cmdval->c_head->c_line = yypvt[-5].ival;
+ 			    }
+ 			    else {
+ 				yyval.cmdval = wopt(over(yypvt[-4].stabval,add_label(yypvt[-6].cval,
+ 				make_ccmd(C_WHILE,yypvt[-2].arg,yypvt[-0].compval) )));
+ 			    }
+ 			} break;
+ case 32:
+ # line 230 "perly.y"
+ { cmdline = yypvt[-4].ival;
+ 			    if (yypvt[-2].arg->arg_type != O_ARRAY) {
+ 				scrstab = aadd(genstab());
+ 				yyval.cmdval = append_line(
+ 				    make_acmd(C_EXPR, Nullstab,
+ 				      l(make_op(O_ASSIGN,2,
+ 					listish(make_op(O_ARRAY, 1,
+ 					  stab2arg(A_STAB,scrstab),
+ 					  Nullarg,Nullarg )),
+ 					listish(make_list(yypvt[-2].arg)),
+ 					Nullarg)),
+ 				      Nullarg),
+ 				    wopt(over(defstab,add_label(yypvt[-5].cval,
+ 				      make_ccmd(C_WHILE,
+ 					make_op(O_ARRAY, 1,
+ 					  stab2arg(A_STAB,scrstab),
+ 					  Nullarg,Nullarg ),
+ 					yypvt[-0].compval)))));
+ 				yyval.cmdval->c_line = yypvt[-4].ival;
+ 				yyval.cmdval->c_head->c_line = yypvt[-4].ival;
+ 			    }
+ 			    else {	/* lisp, anyone? */
+ 				yyval.cmdval = wopt(over(defstab,add_label(yypvt[-5].cval,
+ 				make_ccmd(C_WHILE,yypvt[-2].arg,yypvt[-0].compval) )));
+ 			    }
+ 			} break;
+ case 33:
+ # line 258 "perly.y"
+ {   yyval.compval.comp_true = yypvt[-0].cmdval;
+ 			    yyval.compval.comp_alt = yypvt[-2].cmdval;
+ 			    cmdline = yypvt[-8].ival;
+ 			    yyval.cmdval = append_line(yypvt[-6].cmdval,wopt(add_label(yypvt[-9].cval,
+ 				make_ccmd(C_WHILE,yypvt[-4].arg,yyval.compval) ))); } break;
+ case 34:
+ # line 264 "perly.y"
+ { yyval.cmdval = add_label(yypvt[-1].cval,make_ccmd(C_BLOCK,Nullarg,yypvt[-0].compval)); } break;
+ case 35:
+ # line 268 "perly.y"
+ { yyval.cmdval = Nullcmd; } break;
+ case 37:
+ # line 273 "perly.y"
+ { (void)scanstr("1"); yyval.arg = yylval.arg; } break;
+ case 39:
+ # line 278 "perly.y"
+ { yyval.cval = Nullch; } break;
+ case 41:
+ # line 283 "perly.y"
+ { yyval.ival = 0; } break;
+ case 42:
+ # line 285 "perly.y"
+ { yyval.ival = 0; } break;
+ case 43:
+ # line 287 "perly.y"
+ { yyval.ival = 0; } break;
+ case 44:
+ # line 291 "perly.y"
+ { if (strEQ(yypvt[-2].cval,"stdout"))
+ 			    make_form(stabent("STDOUT",TRUE),yypvt[-0].formval);
+ 			  else if (strEQ(yypvt[-2].cval,"stderr"))
+ 			    make_form(stabent("STDERR",TRUE),yypvt[-0].formval);
+ 			  else
+ 			    make_form(stabent(yypvt[-2].cval,TRUE),yypvt[-0].formval);
+ 			  Safefree(yypvt[-2].cval); yypvt[-2].cval = Nullch; } break;
+ case 45:
+ # line 299 "perly.y"
+ { make_form(stabent("STDOUT",TRUE),yypvt[-0].formval); } break;
+ case 46:
+ # line 303 "perly.y"
+ { make_sub(yypvt[-1].cval,yypvt[-0].cmdval); } break;
+ case 47:
+ # line 307 "perly.y"
+ { char tmpbuf[256];
+ 			  STAB *tmpstab;
+ 
+ 			  savehptr(&curstash);
+ 			  saveitem(curstname);
+ 			  str_set(curstname,yypvt[-1].cval);
+ 			  sprintf(tmpbuf,"'_%s",yypvt[-1].cval);
+ 			  tmpstab = stabent(tmpbuf,TRUE);
+ 			  if (!stab_xhash(tmpstab))
+ 			      stab_xhash(tmpstab) = hnew(0);
+ 			  curstash = stab_xhash(tmpstab);
+ 			  if (!curstash->tbl_name)
+ 			      curstash->tbl_name = savestr(yypvt[-1].cval);
+ 			  curstash->tbl_coeffsize = 0;
+ 			  Safefree(yypvt[-1].cval); yypvt[-1].cval = Nullch;
+ 			  cmdline = NOLINE;
+ 			} break;
+ case 48:
+ # line 327 "perly.y"
+ { yyval.arg = yypvt[-0].arg; } break;
+ case 49:
+ # line 331 "perly.y"
+ { yyval.arg = make_op(O_COMMA, 2, yypvt[-2].arg, yypvt[-0].arg, Nullarg); } break;
+ case 51:
+ # line 336 "perly.y"
+ { yyval.arg = yypvt[-0].arg; } break;
+ case 52:
+ # line 340 "perly.y"
+ {   yypvt[-2].arg = listish(yypvt[-2].arg);
+ 			    if (yypvt[-2].arg->arg_type == O_ASSIGN && yypvt[-2].arg->arg_len == 1)
+ 				yypvt[-2].arg->arg_type = O_ITEM;	/* a local() */
+ 			    if (yypvt[-2].arg->arg_type == O_LIST)
+ 				yypvt[-0].arg = listish(yypvt[-0].arg);
+ 			    yyval.arg = l(make_op(O_ASSIGN, 2, yypvt[-2].arg, yypvt[-0].arg, Nullarg)); } break;
+ case 53:
+ # line 347 "perly.y"
+ { yyval.arg = l(make_op(O_POW, 2, yypvt[-3].arg, yypvt[-0].arg, Nullarg)); } break;
+ case 54:
+ # line 349 "perly.y"
+ { yyval.arg = l(make_op(yypvt[-2].ival, 2, yypvt[-3].arg, yypvt[-0].arg, Nullarg)); } break;
+ case 55:
+ # line 351 "perly.y"
+ { yyval.arg = rcatmaybe(l(make_op(yypvt[-2].ival, 2, yypvt[-3].arg, yypvt[-0].arg, Nullarg)));} break;
+ case 56:
+ # line 353 "perly.y"
+ { yyval.arg = l(make_op(O_LEFT_SHIFT, 2, yypvt[-3].arg, yypvt[-0].arg, Nullarg)); } break;
+ case 57:
+ # line 355 "perly.y"
+ { yyval.arg = l(make_op(O_RIGHT_SHIFT, 2, yypvt[-3].arg, yypvt[-0].arg, Nullarg)); } break;
+ case 58:
+ # line 357 "perly.y"
+ { yyval.arg = l(make_op(O_BIT_AND, 2, yypvt[-3].arg, yypvt[-0].arg, Nullarg)); } break;
+ case 59:
+ # line 359 "perly.y"
+ { yyval.arg = l(make_op(O_XOR, 2, yypvt[-3].arg, yypvt[-0].arg, Nullarg)); } break;
+ case 60:
+ # line 361 "perly.y"
+ { yyval.arg = l(make_op(O_BIT_OR, 2, yypvt[-3].arg, yypvt[-0].arg, Nullarg)); } break;
+ case 61:
+ # line 365 "perly.y"
+ { yyval.arg = make_op(O_POW, 2, yypvt[-2].arg, yypvt[-0].arg, Nullarg); } break;
+ case 62:
+ # line 367 "perly.y"
+ { if (yypvt[-1].ival == O_REPEAT)
+ 			      yypvt[-2].arg = listish(yypvt[-2].arg);
+ 			    yyval.arg = make_op(yypvt[-1].ival, 2, yypvt[-2].arg, yypvt[-0].arg, Nullarg);
+ 			    if (yypvt[-1].ival == O_REPEAT) {
+ 				if (yyval.arg[1].arg_type != A_EXPR ||
+ 				  yyval.arg[1].arg_ptr.arg_arg->arg_type != O_LIST)
+ 				    yyval.arg[1].arg_flags &= ~AF_ARYOK;
+ 			    } } break;
+ case 63:
+ # line 376 "perly.y"
+ { yyval.arg = make_op(yypvt[-1].ival, 2, yypvt[-2].arg, yypvt[-0].arg, Nullarg); } break;
+ case 64:
+ # line 378 "perly.y"
+ { yyval.arg = make_op(O_LEFT_SHIFT, 2, yypvt[-2].arg, yypvt[-0].arg, Nullarg); } break;
+ case 65:
+ # line 380 "perly.y"
+ { yyval.arg = make_op(O_RIGHT_SHIFT, 2, yypvt[-2].arg, yypvt[-0].arg, Nullarg); } break;
+ case 66:
+ # line 382 "perly.y"
+ { yyval.arg = make_op(yypvt[-1].ival, 2, yypvt[-2].arg, yypvt[-0].arg, Nullarg); } break;
+ case 67:
+ # line 384 "perly.y"
+ { yyval.arg = make_op(yypvt[-1].ival, 2, yypvt[-2].arg, yypvt[-0].arg, Nullarg); } break;
+ case 68:
+ # line 386 "perly.y"
+ { yyval.arg = make_op(O_BIT_AND, 2, yypvt[-2].arg, yypvt[-0].arg, Nullarg); } break;
+ case 69:
+ # line 388 "perly.y"
+ { yyval.arg = make_op(O_XOR, 2, yypvt[-2].arg, yypvt[-0].arg, Nullarg); } break;
+ case 70:
+ # line 390 "perly.y"
+ { yyval.arg = make_op(O_BIT_OR, 2, yypvt[-2].arg, yypvt[-0].arg, Nullarg); } break;
+ case 71:
+ # line 392 "perly.y"
+ { arg4 = Nullarg;
+ 			  yyval.arg = make_op(O_F_OR_R, 4, yypvt[-2].arg, yypvt[-0].arg, Nullarg); } break;
+ case 72:
+ # line 395 "perly.y"
+ { yyval.arg = make_op(O_AND, 2, yypvt[-2].arg, yypvt[-0].arg, Nullarg); } break;
+ case 73:
+ # line 397 "perly.y"
+ { yyval.arg = make_op(O_OR, 2, yypvt[-2].arg, yypvt[-0].arg, Nullarg); } break;
+ case 74:
+ # line 399 "perly.y"
+ { yyval.arg = make_op(O_COND_EXPR, 3, yypvt[-4].arg, yypvt[-2].arg, yypvt[-0].arg); } break;
+ case 75:
+ # line 401 "perly.y"
+ { yyval.arg = mod_match(O_MATCH, yypvt[-2].arg, yypvt[-0].arg); } break;
+ case 76:
+ # line 403 "perly.y"
+ { yyval.arg = mod_match(O_NMATCH, yypvt[-2].arg, yypvt[-0].arg); } break;
+ case 77:
+ # line 405 "perly.y"
+ { yyval.arg = yypvt[-0].arg; } break;
+ case 78:
+ # line 409 "perly.y"
+ { yyval.arg = make_op(O_NEGATE, 1, yypvt[-0].arg, Nullarg, Nullarg); } break;
+ case 79:
+ # line 411 "perly.y"
+ { yyval.arg = yypvt[-0].arg; } break;
+ case 80:
+ # line 413 "perly.y"
+ { yyval.arg = make_op(O_NOT, 1, yypvt[-0].arg, Nullarg, Nullarg); } break;
+ case 81:
+ # line 415 "perly.y"
+ { yyval.arg = make_op(O_COMPLEMENT, 1, yypvt[-0].arg, Nullarg, Nullarg);} break;
+ case 82:
+ # line 417 "perly.y"
+ { yyval.arg = addflags(1, AF_POST|AF_UP,
+ 			    l(make_op(O_ITEM,1,yypvt[-1].arg,Nullarg,Nullarg))); } break;
+ case 83:
+ # line 420 "perly.y"
+ { yyval.arg = addflags(1, AF_POST,
+ 			    l(make_op(O_ITEM,1,yypvt[-1].arg,Nullarg,Nullarg))); } break;
+ case 84:
+ # line 423 "perly.y"
+ { yyval.arg = addflags(1, AF_PRE|AF_UP,
+ 			    l(make_op(O_ITEM,1,yypvt[-0].arg,Nullarg,Nullarg))); } break;
+ case 85:
+ # line 426 "perly.y"
+ { yyval.arg = addflags(1, AF_PRE,
+ 			    l(make_op(O_ITEM,1,yypvt[-0].arg,Nullarg,Nullarg))); } break;
+ case 86:
+ # line 429 "perly.y"
+ { opargs[yypvt[-1].ival] = 0;	/* force it special */
+ 			    yyval.arg = make_op(yypvt[-1].ival, 1,
+ 				stab2arg(A_STAB,stabent(yypvt[-0].cval,TRUE)),
+ 				Nullarg, Nullarg);
+ 			} break;
+ case 87:
+ # line 435 "perly.y"
+ { opargs[yypvt[-1].ival] = 1;
+ 			    yyval.arg = make_op(yypvt[-1].ival, 1, yypvt[-0].arg, Nullarg, Nullarg); } break;
+ case 88:
+ # line 438 "perly.y"
+ { opargs[yypvt[-0].ival] = (yypvt[-0].ival != O_FTTTY);
+ 			    yyval.arg = make_op(yypvt[-0].ival, 1,
+ 				stab2arg(A_STAB,
+ 				  yypvt[-0].ival == O_FTTTY?stabent("STDIN",TRUE):defstab),
+ 				Nullarg, Nullarg); } break;
+ case 89:
+ # line 444 "perly.y"
+ { yyval.arg = l(localize(make_op(O_ASSIGN, 1,
+ 				localize(listish(make_list(yypvt[-1].arg))),
+ 				Nullarg,Nullarg))); } break;
+ case 90:
+ # line 448 "perly.y"
+ { yyval.arg = make_list(yypvt[-2].arg); } break;
+ case 91:
+ # line 450 "perly.y"
+ { yyval.arg = make_list(yypvt[-1].arg); } break;
+ case 92:
+ # line 452 "perly.y"
+ { yyval.arg = make_list(Nullarg); } break;
+ case 93:
+ # line 454 "perly.y"
+ { yyval.arg = make_op(O_DOFILE,2,yypvt[-0].arg,Nullarg,Nullarg);
+ 			  allstabs = TRUE;} break;
+ case 94:
+ # line 457 "perly.y"
+ { yyval.arg = cmd_to_arg(yypvt[-0].cmdval); } break;
+ case 95:
+ # line 459 "perly.y"
+ { yyval.arg = stab2arg(A_STAB,yypvt[-0].stabval); } break;
+ case 96:
+ # line 461 "perly.y"
+ { yyval.arg = stab2arg(A_STAR,yypvt[-0].stabval); } break;
+ case 97:
+ # line 463 "perly.y"
+ { yyval.arg = make_op(O_AELEM, 2,
+ 				stab2arg(A_STAB,aadd(yypvt[-3].stabval)), yypvt[-1].arg, Nullarg); } break;
+ case 98:
+ # line 466 "perly.y"
+ { yyval.arg = make_op(O_HASH, 1,
+ 				stab2arg(A_STAB,yypvt[-0].stabval),
+ 				Nullarg, Nullarg); } break;
+ case 99:
+ # line 470 "perly.y"
+ { yyval.arg = make_op(O_ARRAY, 1,
+ 				stab2arg(A_STAB,yypvt[-0].stabval),
+ 				Nullarg, Nullarg); } break;
+ case 100:
+ # line 474 "perly.y"
+ { yyval.arg = make_op(O_HELEM, 2,
+ 				stab2arg(A_STAB,hadd(yypvt[-3].stabval)),
+ 				jmaybe(yypvt[-1].arg),
+ 				Nullarg); } break;
+ case 101:
+ # line 479 "perly.y"
+ { yyval.arg = make_op(O_LSLICE, 3,
+ 				Nullarg,
+ 				listish(make_list(yypvt[-1].arg)),
+ 				listish(make_list(yypvt[-4].arg))); } break;
+ case 102:
+ # line 484 "perly.y"
+ { yyval.arg = make_op(O_LSLICE, 3,
+ 				Nullarg,
+ 				listish(make_list(yypvt[-1].arg)),
+ 				Nullarg); } break;
+ case 103:
+ # line 489 "perly.y"
+ { yyval.arg = make_op(O_ASLICE, 2,
+ 				stab2arg(A_STAB,aadd(yypvt[-3].stabval)),
+ 				listish(make_list(yypvt[-1].arg)),
+ 				Nullarg); } break;
+ case 104:
+ # line 494 "perly.y"
+ { yyval.arg = make_op(O_HSLICE, 2,
+ 				stab2arg(A_STAB,hadd(yypvt[-3].stabval)),
+ 				listish(make_list(yypvt[-1].arg)),
+ 				Nullarg); } break;
+ case 105:
+ # line 499 "perly.y"
+ { yyval.arg = make_op(O_DELETE, 2,
+ 				stab2arg(A_STAB,hadd(yypvt[-3].stabval)),
+ 				jmaybe(yypvt[-1].arg),
+ 				Nullarg); } break;
+ case 106:
+ # line 504 "perly.y"
+ { yyval.arg = stab2arg(A_ARYLEN,yypvt[-0].stabval); } break;
+ case 107:
+ # line 506 "perly.y"
+ { yyval.arg = yypvt[-0].arg; } break;
+ case 108:
+ # line 508 "perly.y"
+ { yyval.arg = yypvt[-0].arg; } break;
+ case 109:
+ # line 510 "perly.y"
+ { yyval.arg = yypvt[-0].arg; } break;
+ case 110:
+ # line 512 "perly.y"
+ { yyval.arg = yypvt[-0].arg; } break;
+ case 111:
+ # line 514 "perly.y"
+ { yyval.arg = make_op((perldb ? O_DBSUBR : O_SUBR), 2,
+ 				stab2arg(A_WORD,stabent(yypvt[-3].cval,TRUE)),
+ 				make_list(yypvt[-1].arg),
+ 				Nullarg); Safefree(yypvt[-3].cval); yypvt[-3].cval = Nullch;
+ 			    yyval.arg->arg_flags |= AF_DEPR; } break;
+ case 112:
+ # line 520 "perly.y"
+ { yyval.arg = make_op((perldb ? O_DBSUBR : O_SUBR), 2,
+ 				stab2arg(A_WORD,stabent(yypvt[-3].cval,TRUE)),
+ 				make_list(yypvt[-1].arg),
+ 				Nullarg); Safefree(yypvt[-3].cval); yypvt[-3].cval = Nullch; } break;
+ case 113:
+ # line 525 "perly.y"
+ { yyval.arg = make_op((perldb ? O_DBSUBR : O_SUBR), 2,
+ 				stab2arg(A_WORD,stabent(yypvt[-2].cval,TRUE)),
+ 				make_list(Nullarg),
+ 				Nullarg);
+ 			    yyval.arg->arg_flags |= AF_DEPR; } break;
+ case 114:
+ # line 531 "perly.y"
+ { yyval.arg = make_op((perldb ? O_DBSUBR : O_SUBR), 2,
+ 				stab2arg(A_WORD,stabent(yypvt[-2].cval,TRUE)),
+ 				make_list(Nullarg),
+ 				Nullarg); } break;
+ case 115:
+ # line 536 "perly.y"
+ { yyval.arg = make_op((perldb ? O_DBSUBR : O_SUBR), 2,
+ 				stab2arg(A_WORD,stabent(yypvt[-0].cval,TRUE)),
+ 				Nullarg,
+ 				Nullarg); } break;
+ case 116:
+ # line 541 "perly.y"
+ { yyval.arg = make_op((perldb ? O_DBSUBR : O_SUBR), 2,
+ 				stab2arg(A_STAB,yypvt[-3].stabval),
+ 				make_list(yypvt[-1].arg),
+ 				Nullarg);
+ 			    yyval.arg->arg_flags |= AF_DEPR; } break;
+ case 117:
+ # line 547 "perly.y"
+ { yyval.arg = make_op((perldb ? O_DBSUBR : O_SUBR), 2,
+ 				stab2arg(A_STAB,yypvt[-3].stabval),
+ 				make_list(yypvt[-1].arg),
+ 				Nullarg); } break;
+ case 118:
+ # line 552 "perly.y"
+ { yyval.arg = make_op((perldb ? O_DBSUBR : O_SUBR), 2,
+ 				stab2arg(A_STAB,yypvt[-2].stabval),
+ 				make_list(Nullarg),
+ 				Nullarg);
+ 			    yyval.arg->arg_flags |= AF_DEPR; } break;
+ case 119:
+ # line 558 "perly.y"
+ { yyval.arg = make_op((perldb ? O_DBSUBR : O_SUBR), 2,
+ 				stab2arg(A_STAB,yypvt[-2].stabval),
+ 				make_list(Nullarg),
+ 				Nullarg); } break;
+ case 120:
+ # line 563 "perly.y"
+ { yyval.arg = make_op((perldb ? O_DBSUBR : O_SUBR), 2,
+ 				stab2arg(A_STAB,yypvt[-0].stabval),
+ 				Nullarg,
+ 				Nullarg); } break;
+ case 121:
+ # line 568 "perly.y"
+ { yyval.arg = make_op(yypvt[-0].ival,0,Nullarg,Nullarg,Nullarg); } break;
+ case 122:
+ # line 570 "perly.y"
+ { yyval.arg = make_op(yypvt[-1].ival,1,cval_to_arg(yypvt[-0].cval),
+ 			    Nullarg,Nullarg); } break;
+ case 123:
+ # line 573 "perly.y"
+ { yyval.arg = make_op(yypvt[-0].ival,0,Nullarg,Nullarg,Nullarg); } break;
+ case 124:
+ # line 575 "perly.y"
+ { yyval.arg = make_op(yypvt[-1].ival,1,yypvt[-0].arg,Nullarg,Nullarg); } break;
+ case 125:
+ # line 577 "perly.y"
+ { yyval.arg = make_op(O_SELECT, 0, Nullarg, Nullarg, Nullarg);} break;
+ case 126:
+ # line 579 "perly.y"
+ { yyval.arg = make_op(O_SELECT, 1, yypvt[-1].arg, Nullarg, Nullarg); } break;
+ case 127:
+ # line 581 "perly.y"
+ { arg4 = yypvt[-1].arg;
+ 			  yyval.arg = make_op(O_SSELECT, 4, yypvt[-4].arg, yypvt[-3].arg, yypvt[-2].arg); } break;
+ case 128:
+ # line 584 "perly.y"
+ { yyval.arg = make_op(O_OPEN, 2,
+ 			    stab2arg(A_WORD,stabent(yypvt[-0].cval,TRUE)),
+ 			    stab2arg(A_STAB,stabent(yypvt[-0].cval,TRUE)),
+ 			    Nullarg); } break;
+ case 129:
+ # line 589 "perly.y"
+ { yyval.arg = make_op(O_OPEN, 2,
+ 			    stab2arg(A_WORD,stabent(yypvt[-1].cval,TRUE)),
+ 			    stab2arg(A_STAB,stabent(yypvt[-1].cval,TRUE)),
+ 			    Nullarg); } break;
+ case 130:
+ # line 594 "perly.y"
+ { yyval.arg = make_op(O_OPEN, 2,
+ 			    yypvt[-2].arg,
+ 			    yypvt[-1].arg, Nullarg); } break;
+ case 131:
+ # line 598 "perly.y"
+ { yyval.arg = make_op(yypvt[-3].ival, 1,
+ 			    yypvt[-1].arg,
+ 			    Nullarg, Nullarg); } break;
+ case 132:
+ # line 602 "perly.y"
+ { yyval.arg = make_op(yypvt[-1].ival, 1,
+ 			    stab2arg(A_WORD,stabent(yypvt[-0].cval,TRUE)),
+ 			    Nullarg, Nullarg);
+ 			  Safefree(yypvt[-0].cval); yypvt[-0].cval = Nullch; } break;
+ case 133:
+ # line 607 "perly.y"
+ { yyval.arg = make_op(yypvt[-1].ival, 1,
+ 			    stab2arg(A_STAB,yypvt[-0].stabval),
+ 			    Nullarg, Nullarg); } break;
+ case 134:
+ # line 611 "perly.y"
+ { yyval.arg = make_op(yypvt[-2].ival, 1,
+ 			    stab2arg(A_WORD,Nullstab),
+ 			    Nullarg, Nullarg); } break;
+ case 135:
+ # line 615 "perly.y"
+ { yyval.arg = make_op(yypvt[-0].ival, 0,
+ 			    Nullarg, Nullarg, Nullarg); } break;
+ case 136:
+ # line 618 "perly.y"
+ { yyval.arg = make_op(yypvt[-4].ival, 2, yypvt[-2].arg, yypvt[-1].arg, Nullarg); } break;
+ case 137:
+ # line 620 "perly.y"
+ { yyval.arg = make_op(yypvt[-5].ival, 3, yypvt[-3].arg, yypvt[-2].arg, make_list(yypvt[-1].arg)); } break;
+ case 138:
+ # line 622 "perly.y"
+ { yyval.arg = make_op(yypvt[-5].ival, 2, yypvt[-3].arg, yypvt[-1].arg, Nullarg); } break;
+ case 139:
+ # line 624 "perly.y"
+ { arg4 = yypvt[-1].arg; yyval.arg = make_op(yypvt[-6].ival, 4, yypvt[-4].arg, yypvt[-3].arg, yypvt[-2].arg); } break;
+ case 140:
+ # line 626 "perly.y"
+ { arg4 = yypvt[-2].arg; arg5 = yypvt[-1].arg;
+ 			  yyval.arg = make_op(yypvt[-8].ival, 5, yypvt[-6].arg, yypvt[-4].arg, yypvt[-3].arg); } break;
+ case 141:
+ # line 629 "perly.y"
+ { yyval.arg = make_op(yypvt[-4].ival, 2,
+ 			    yypvt[-2].arg,
+ 			    make_list(yypvt[-1].arg),
+ 			    Nullarg); } break;
+ case 142:
+ # line 634 "perly.y"
+ { yyval.arg = make_op(O_POP, 1, yypvt[-0].arg, Nullarg, Nullarg); } break;
+ case 143:
+ # line 636 "perly.y"
+ { yyval.arg = make_op(O_POP, 1, yypvt[-1].arg, Nullarg, Nullarg); } break;
+ case 144:
+ # line 638 "perly.y"
+ { yyval.arg = make_op(O_SHIFT, 1, yypvt[-0].arg, Nullarg, Nullarg); } break;
+ case 145:
+ # line 640 "perly.y"
+ { yyval.arg = make_op(O_SHIFT, 1, yypvt[-1].arg, Nullarg, Nullarg); } break;
+ case 146:
+ # line 642 "perly.y"
+ { yyval.arg = make_op(O_SHIFT, 1,
+ 			    stab2arg(A_STAB,
+ 			      aadd(stabent(subline ? "_" : "ARGV", TRUE))),
+ 			    Nullarg, Nullarg); } break;
+ case 147:
+ # line 647 "perly.y"
+ {   static char p[]="/\\s+/";
+ 			    char *oldend = bufend;
+ 			    ARG *oldarg = yylval.arg;
+ 			    
+ 			    bufend=p+5;
+ 			    (void)scanpat(p);
+ 			    bufend=oldend;
+ 			    yyval.arg = make_split(defstab,yylval.arg,Nullarg);
+ 			    yylval.arg = oldarg; } break;
+ case 148:
+ # line 657 "perly.y"
+ { yyval.arg = mod_match(O_MATCH, yypvt[-2].arg,
+ 			  make_split(defstab,yypvt[-3].arg,yypvt[-1].arg));} break;
+ case 149:
+ # line 660 "perly.y"
+ { yyval.arg = mod_match(O_MATCH, yypvt[-1].arg,
+ 			  make_split(defstab,yypvt[-2].arg,Nullarg) ); } break;
+ case 150:
+ # line 663 "perly.y"
+ { yyval.arg = mod_match(O_MATCH,
+ 			    stab2arg(A_STAB,defstab),
+ 			    make_split(defstab,yypvt[-1].arg,Nullarg) ); } break;
+ case 151:
+ # line 667 "perly.y"
+ { yyval.arg = make_op(yypvt[-4].ival, 2,
+ 			    yypvt[-2].arg,
+ 			    listish(make_list(yypvt[-1].arg)),
+ 			    Nullarg); } break;
+ case 152:
+ # line 672 "perly.y"
+ { yyval.arg = make_op(yypvt[-3].ival, 1,
+ 			    make_list(yypvt[-1].arg),
+ 			    Nullarg,
+ 			    Nullarg); } break;
+ case 153:
+ # line 677 "perly.y"
+ { yyval.arg = l(make_op(yypvt[-1].ival, 1, fixl(yypvt[-1].ival,yypvt[-0].arg),
+ 			    Nullarg, Nullarg)); } break;
+ case 154:
+ # line 680 "perly.y"
+ { yyval.arg = l(make_op(yypvt[-0].ival, 1,
+ 			    stab2arg(A_STAB,defstab),
+ 			    Nullarg, Nullarg)); } break;
+ case 155:
+ # line 684 "perly.y"
+ { yyval.arg = make_op(yypvt[-0].ival, 0, Nullarg, Nullarg, Nullarg); } break;
+ case 156:
+ # line 686 "perly.y"
+ { yyval.arg = make_op(yypvt[-2].ival, 0, Nullarg, Nullarg, Nullarg); } break;
+ case 157:
+ # line 688 "perly.y"
+ { yyval.arg = make_op(yypvt[-2].ival, 0, Nullarg, Nullarg, Nullarg); } break;
+ case 158:
+ # line 690 "perly.y"
+ { yyval.arg = make_op(yypvt[-3].ival, 1, yypvt[-1].arg, Nullarg, Nullarg); } break;
+ case 159:
+ # line 692 "perly.y"
+ { yyval.arg = make_op(yypvt[-4].ival, 2, yypvt[-2].arg, yypvt[-1].arg, Nullarg);
+ 			    if (yypvt[-4].ival == O_INDEX && yyval.arg[2].arg_type == A_SINGLE)
+ 				fbmcompile(yyval.arg[2].arg_ptr.arg_str,0); } break;
+ case 160:
+ # line 696 "perly.y"
+ { yyval.arg = make_op(yypvt[-4].ival, 2, yypvt[-2].arg, yypvt[-1].arg, Nullarg);
+ 			    if (yypvt[-4].ival == O_INDEX && yyval.arg[2].arg_type == A_SINGLE)
+ 				fbmcompile(yyval.arg[2].arg_ptr.arg_str,0); } break;
+ case 161:
+ # line 700 "perly.y"
+ { yyval.arg = make_op(yypvt[-5].ival, 3, yypvt[-3].arg, yypvt[-2].arg, yypvt[-1].arg);
+ 			    if (yypvt[-5].ival == O_INDEX && yyval.arg[2].arg_type == A_SINGLE)
+ 				fbmcompile(yyval.arg[2].arg_ptr.arg_str,0); } break;
+ case 162:
+ # line 704 "perly.y"
+ { yyval.arg = make_op(yypvt[-5].ival, 3, yypvt[-3].arg, yypvt[-2].arg, yypvt[-1].arg); } break;
+ case 163:
+ # line 706 "perly.y"
+ { arg4 = yypvt[-1].arg;
+ 			  yyval.arg = make_op(yypvt[-6].ival, 4, yypvt[-4].arg, yypvt[-3].arg, yypvt[-2].arg); } break;
+ case 164:
+ # line 709 "perly.y"
+ { arg4 = yypvt[-2].arg; arg5 = yypvt[-1].arg;
+ 			  yyval.arg = make_op(yypvt[-7].ival, 5, yypvt[-5].arg, yypvt[-4].arg, yypvt[-3].arg); } break;
+ case 165:
+ # line 712 "perly.y"
+ { yyval.arg = make_op(yypvt[-3].ival, 1,
+ 				yypvt[-1].arg,
+ 				Nullarg,
+ 				Nullarg); } break;
+ case 166:
+ # line 717 "perly.y"
+ { yyval.arg = make_op(yypvt[-1].ival, 1,
+ 				yypvt[-0].arg,
+ 				Nullarg,
+ 				Nullarg); } break;
+ case 167:
+ # line 722 "perly.y"
+ { yyval.arg = make_op(yypvt[-5].ival, 3, yypvt[-3].arg, yypvt[-2].arg, yypvt[-1].arg); } break;
+ case 170:
+ # line 728 "perly.y"
+ { yyval.arg = make_op(yypvt[-0].ival,2,
+ 				stab2arg(A_WORD,Nullstab),
+ 				stab2arg(A_STAB,defstab),
+ 				Nullarg); } break;
+ case 171:
+ # line 733 "perly.y"
+ { yyval.arg = make_op(yypvt[-1].ival,2,
+ 				stab2arg(A_WORD,Nullstab),
+ 				maybelistish(yypvt[-1].ival,make_list(yypvt[-0].arg)),
+ 				Nullarg); } break;
+ case 172:
+ # line 738 "perly.y"
+ { yyval.arg = make_op(yypvt[-1].ival,2,
+ 				stab2arg(A_WORD,stabent(yypvt[-0].cval,TRUE)),
+ 				stab2arg(A_STAB,defstab),
+ 				Nullarg); } break;
+ case 173:
+ # line 743 "perly.y"
+ { yyval.arg = make_op(yypvt[-2].ival,2,
+ 				stab2arg(A_WORD,stabent(yypvt[-1].cval,TRUE)),
+ 				maybelistish(yypvt[-2].ival,make_list(yypvt[-0].arg)),
+ 				Nullarg); Safefree(yypvt[-1].cval); yypvt[-1].cval = Nullch; } break;
+ case 174:
+ # line 748 "perly.y"
+ { yyval.arg = make_op(yypvt[-2].ival,2,
+ 				stab2arg(A_STAB,yypvt[-1].stabval),
+ 				maybelistish(yypvt[-2].ival,make_list(yypvt[-0].arg)),
+ 				Nullarg); } break;
+ case 175:
+ # line 755 "perly.y"
+ { yyval.arg = stab2arg(A_WORD,stabent(yypvt[-0].cval,TRUE));
+ 			  Safefree(yypvt[-0].cval); yypvt[-0].cval = Nullch;} break;
+ case 177:
+ # line 761 "perly.y"
+ { yyval.arg = stab2arg(A_WORD,aadd(stabent(yypvt[-0].cval,TRUE)));
+ 			    Safefree(yypvt[-0].cval); yypvt[-0].cval = Nullch; } break;
+ case 178:
+ # line 764 "perly.y"
+ { yyval.arg = stab2arg(A_STAB,yypvt[-0].stabval); } break;
+ case 179:
+ # line 768 "perly.y"
+ { yyval.arg = stab2arg(A_WORD,hadd(stabent(yypvt[-0].cval,TRUE)));
+ 			    Safefree(yypvt[-0].cval); yypvt[-0].cval = Nullch; } break;
+ case 180:
+ # line 771 "perly.y"
+ { yyval.arg = stab2arg(A_STAB,yypvt[-0].stabval); } break;
+ case 181:
+ # line 780 "perly.y"
+ { char *s;
+ 			    yyval.arg = op_new(1);
+ 			    yyval.arg->arg_type = O_ITEM;
+ 			    yyval.arg[1].arg_type = A_SINGLE;
+ 			    yyval.arg[1].arg_ptr.arg_str = str_make(yypvt[-0].cval,0);
+ 			    for (s = yypvt[-0].cval; *s && islower(*s); s++) ;
+ 			    if (dowarn && !*s)
+ 				warn(
+ 				  "\"%s\" may clash with future reserved word",
+ 				  yypvt[-0].cval );
+ 			} break;
+ 	}
+ 	goto yystack;		/* reset registers in driver code */
+ }


Index: llvm/test/Programs/MultiSource/Benchmarks/MallocBench/perl/usersub.c
diff -c /dev/null llvm/test/Programs/MultiSource/Benchmarks/MallocBench/perl/usersub.c:1.1.2.1
*** /dev/null	Mon Mar  1 17:59:25 2004
--- llvm/test/Programs/MultiSource/Benchmarks/MallocBench/perl/usersub.c	Mon Mar  1 17:59:13 2004
***************
*** 0 ****
--- 1,191 ----
+ /* $Header: /home/vadve/shared/PublicCVS/llvm/test/Programs/MultiSource/Benchmarks/MallocBench/perl/usersub.c,v 1.1.2.1 2004/03/01 23:59:13 brukman Exp $
+  *
+  *  This file contains stubs for routines that the user may define to
+  *  set up glue routines for C libraries or to decrypt encrypted scripts
+  *  for execution.
+  *
+  * $Log: usersub.c,v $
+  * Revision 1.1.2.1  2004/03/01 23:59:13  brukman
+  * Merge from trunk
+  *
+  * Revision 1.1  2004/02/17 22:21:17  criswell
+  * Initial commit of the perl Malloc Benchmark.  I've cheated a little by
+  * generating the yacc output files and committing them directly, but it was
+  * easier than disabling the Bison Voodoo that gets executed by default.
+  *
+  * Revision 4.0  91/03/20  01:55:56  lwall
+  * 4.0 baseline.
+  * 
+  */
+ 
+ #include "EXTERN.h"
+ #include "perl.h"
+ 
+ userinit()
+ {
+     return 0;
+ }
+ 
+ /*
+  * The following is supplied by John MacDonald as a means of decrypting
+  * and executing (presumably proprietary) scripts that have been encrypted
+  * by a (presumably secret) method.  The idea is that you supply your own
+  * routine in place of cryptfilter (which is purposefully a very weak
+  * encryption).  If an encrypted script is detected, a process is forked
+  * off to run the cryptfilter routine as input to perl.
+  */
+ 
+ #ifdef CRYPTSCRIPT
+ 
+ #include <signal.h>
+ #ifdef I_VFORK
+ #include <vfork.h>
+ #endif
+ 
+ #define	CRYPT_MAGIC_1	0xfb
+ #define	CRYPT_MAGIC_2	0xf1
+ 
+ cryptfilter( fil )
+ FILE *	fil;
+ {
+     int    ch;
+ 
+     while( (ch = getc( fil )) != EOF ) {
+ 	putchar( (ch ^ 0x80) );
+     }
+ }
+ 
+ #ifndef MSDOS
+ static FILE	*lastpipefile;
+ static int	pipepid;
+ 
+ #ifdef VOIDSIG
+ #  define	VOID	void
+ #else
+ #  define	VOID	int
+ #endif
+ 
+ FILE *
+ mypfiopen(fil,func)		/* open a pipe to function call for input */
+ FILE	*fil;
+ VOID	(*func)();
+ {
+     int p[2];
+     STR *str;
+ 
+     if (pipe(p) < 0) {
+ 	fclose( fil );
+ 	fatal("Can't get pipe for decrypt");
+     }
+ 
+     /* make sure that the child doesn't get anything extra */
+     fflush(stdout);
+     fflush(stderr);
+ 
+     while ((pipepid = fork()) < 0) {
+ 	if (errno != EAGAIN) {
+ 	    close(p[0]);
+ 	    close(p[1]);
+ 	    fclose( fil );
+ 	    fatal("Can't fork for decrypt");
+ 	}
+ 	sleep(5);
+     }
+     if (pipepid == 0) {
+ 	close(p[0]);
+ 	if (p[1] != 1) {
+ 	    dup2(p[1], 1);
+ 	    close(p[1]);
+ 	}
+ 	(*func)(fil);
+ 	fflush(stdout);
+ 	fflush(stderr);
+ 	_exit(0);
+     }
+     close(p[1]);
+     fclose(fil);
+     str = afetch(fdpid,p[0],TRUE);
+     str->str_u.str_useful = pipepid;
+     return fdopen(p[0], "r");
+ }
+ 
+ cryptswitch()
+ {
+     int ch;
+ #ifdef STDSTDIO
+     /* cheat on stdio if possible */
+     if (rsfp->_cnt > 0 && (*rsfp->_ptr & 0xff) != CRYPT_MAGIC_1)
+ 	return;
+ #endif
+     ch = getc(rsfp);
+     if (ch == CRYPT_MAGIC_1) {
+ 	if (getc(rsfp) == CRYPT_MAGIC_2) {
+ 	    rsfp = mypfiopen( rsfp, cryptfilter );
+ 	    preprocess = 1;	/* force call to pclose when done */
+ 	}
+ 	else
+ 	    fatal( "bad encryption format" );
+     }
+     else
+ 	ungetc(ch,rsfp);
+ }
+ 
+ FILE *
+ cryptopen(cmd)		/* open a (possibly encrypted) program for input */
+ char	*cmd;
+ {
+     FILE	*fil = fopen( cmd, "r" );
+ 
+     lastpipefile = Nullfp;
+     pipepid = 0;
+ 
+     if( fil ) {
+ 	int	ch = getc( fil );
+ 	int	lines = 0;
+ 	int	chars = 0;
+ 
+ 	/* Search for the magic cookie that starts the encrypted script,
+ 	** while still allowing a few lines of unencrypted text to let
+ 	** '#!' and the nih hack both continue to work.  (These lines
+ 	** will end up being ignored.)
+ 	*/
+ 	while( ch != CRYPT_MAGIC_1 && ch != EOF && lines < 5 && chars < 300 ) {
+ 	    if( ch == '\n' )
+ 		++lines;
+ 	    ch = getc( fil );
+ 	    ++chars;
+ 	}
+ 
+ 	if( ch == CRYPT_MAGIC_1 ) {
+ 	    if( (ch = getc( fil ) ) == CRYPT_MAGIC_2 ) {
+ 		if( perldb ) fatal("can't debug an encrypted script");
+ 		/* we found it, decrypt the rest of the file */
+ 		fil = mypfiopen( fil, cryptfilter );
+ 		return( lastpipefile = fil );
+ 	    } else
+ 		/* if its got MAGIC 1 without MAGIC 2, too bad */
+ 		fatal( "bad encryption format" );
+ 	}
+ 
+ 	/* this file is not encrypted - rewind and process it normally */
+ 	rewind( fil );
+     }
+ 
+     return( fil );
+ }
+ 
+ VOID
+ cryptclose(fil)
+ FILE	*fil;
+ {
+     if( fil == Nullfp )
+ 	return;
+ 
+     if( fil == lastpipefile )
+ 	mypclose( fil );
+     else
+ 	fclose( fil );
+ }
+ #endif /* !MSDOS */
+ 
+ #endif /* CRYPTSCRIPT */


Index: llvm/test/Programs/MultiSource/Benchmarks/MallocBench/perl/util.c
diff -c /dev/null llvm/test/Programs/MultiSource/Benchmarks/MallocBench/perl/util.c:1.1.2.1
*** /dev/null	Mon Mar  1 17:59:25 2004
--- llvm/test/Programs/MultiSource/Benchmarks/MallocBench/perl/util.c	Mon Mar  1 17:59:13 2004
***************
*** 0 ****
--- 1,1550 ----
+ /* $RCSfile: util.c,v $$Revision: 1.1.2.1 $$Date: 2004/03/01 23:59:13 $
+  *
+  *    Copyright (c) 1989, Larry Wall
+  *
+  *    You may distribute under the terms of the GNU General Public License
+  *    as specified in the README file that comes with the perl 3.0 kit.
+  *
+  * $Log: util.c,v $
+  * Revision 1.1.2.1  2004/03/01 23:59:13  brukman
+  * Merge from trunk
+  *
+  * Revision 1.1  2004/02/17 22:21:17  criswell
+  * Initial commit of the perl Malloc Benchmark.  I've cheated a little by
+  * generating the yacc output files and committing them directly, but it was
+  * easier than disabling the Bison Voodoo that gets executed by default.
+  *
+  * Revision 4.0.1.1  91/04/12  09:19:25  lwall
+  * patch1: random cleanup in cpp namespace
+  * 
+  * Revision 4.0  91/03/20  01:56:39  lwall
+  * 4.0 baseline.
+  * 
+  */
+ 
+ #include "EXTERN.h"
+ #include "perl.h"
+ 
+ #if !defined(NSIG) || defined(M_UNIX) || defined(M_XENIX)
+ #include <signal.h>
+ #endif
+ 
+ #ifdef I_VFORK
+ #  include <vfork.h>
+ #endif
+ 
+ #ifdef I_VARARGS
+ #  include <varargs.h>
+ #endif
+ 
+ #ifdef I_FCNTL
+ #  include <fcntl.h>
+ #endif
+ #ifdef I_SYS_FILE
+ #  include <sys/file.h>
+ #endif
+ 
+ #define FLUSH
+ 
+ static char nomem[] = "Out of memory!\n";
+ 
+ /* paranoid version of malloc */
+ 
+ #ifdef DEBUGGING
+ static int an = 0;
+ #endif
+ 
+ /* NOTE:  Do not call the next three routines directly.  Use the macros
+  * in handy.h, so that we can easily redefine everything to do tracking of
+  * allocated hunks back to the original New to track down any memory leaks.
+  */
+ 
+ char *
+ safemalloc(size)
+ #ifdef MSDOS
+ unsigned long size;
+ #else
+ MEM_SIZE size;
+ #endif /* MSDOS */
+ {
+     char *ptr;
+ #ifndef __STDC__
+ #ifdef BWGC    
+     char *gc_malloc();
+ #else    
+     char *malloc();
+ #endif
+ #endif /* ! __STDC__ */
+ 
+ #ifdef MSDOS
+ 	if (size > 0xffff) {
+ 		fprintf(stderr, "Allocation too large: %lx\n", size) FLUSH;
+ 		exit(1);
+ 	}
+ #endif /* MSDOS */
+ #ifdef DEBUGGING
+     if ((long)size < 0)
+ 	fatal("panic: malloc");
+ #endif
+ #ifdef BWGC    
+     ptr = gc_malloc(size?size:1);	/* malloc(0) is NASTY on our system */
+ #else    
+     ptr = malloc(size?size:1);	/* malloc(0) is NASTY on our system */
+ #endif
+ #ifdef DEBUGGING
+ #  ifndef I286
+     if (debug & 128)
+ 	fprintf(stderr,"0x%x: (%05d) malloc %d bytes\n",ptr,an++,size);
+ #  else
+     if (debug & 128)
+ 	fprintf(stderr,"0x%lx: (%05d) malloc %d bytes\n",ptr,an++,size);
+ #  endif
+ #endif
+     if (ptr != Nullch)
+ 	return ptr;
+     else {
+ 	fputs(nomem,stderr) FLUSH;
+ 	exit(1);
+     }
+     /*NOTREACHED*/
+ #ifdef lint
+     return ptr;
+ #endif
+ }
+ 
+ /* paranoid version of realloc */
+ 
+ char *
+ saferealloc(where,size)
+ char *where;
+ #ifndef MSDOS
+ MEM_SIZE size;
+ #else
+ unsigned long size;
+ #endif /* MSDOS */
+ {
+     char *ptr;
+ #ifndef __STDC__
+ #ifdef BWGC    
+     char *gc_realloc();
+ #else
+     char *realloc();
+ #endif
+ #endif /* ! __STDC__ */
+ 
+ #ifdef MSDOS
+ 	if (size > 0xffff) {
+ 		fprintf(stderr, "Reallocation too large: %lx\n", size) FLUSH;
+ 		exit(1);
+ 	}
+ #endif /* MSDOS */
+     if (!where)
+ 	fatal("Null realloc");
+ #ifdef DEBUGGING
+     if ((long)size < 0)
+ 	fatal("panic: realloc");
+ #endif
+ #ifdef BWGC    
+     ptr = gc_realloc(where,size?size:1);	/* realloc(0) is NASTY on our system */
+ #else
+     ptr = realloc(where,size?size:1);	/* realloc(0) is NASTY on our system */
+ #endif
+ #ifdef DEBUGGING
+ #  ifndef I286
+     if (debug & 128) {
+ 	fprintf(stderr,"0x%x: (%05d) rfree\n",where,an++);
+ 	fprintf(stderr,"0x%x: (%05d) realloc %d bytes\n",ptr,an++,size);
+     }
+ #  else
+     if (debug & 128) {
+ 	fprintf(stderr,"0x%lx: (%05d) rfree\n",where,an++);
+ 	fprintf(stderr,"0x%lx: (%05d) realloc %d bytes\n",ptr,an++,size);
+     }
+ #  endif
+ #endif
+     if (ptr != Nullch)
+ 	return ptr;
+     else {
+ 	fputs(nomem,stderr) FLUSH;
+ 	exit(1);
+     }
+     /*NOTREACHED*/
+ #ifdef lint
+     return ptr;
+ #endif
+ }
+ 
+ /* safe version of free */
+ 
+ void
+ safefree(where)
+ char *where;
+ {
+ #ifdef DEBUGGING
+ #  ifndef I286
+     if (debug & 128)
+ 	fprintf(stderr,"0x%x: (%05d) free\n",where,an++);
+ #  else
+     if (debug & 128)
+ 	fprintf(stderr,"0x%lx: (%05d) free\n",where,an++);
+ #  endif
+ #endif
+ #ifndef IGNOREFREE
+     if (where) {
+ 	free(where);
+     }
+ #endif
+ }
+ 
+ #ifdef LEAKTEST
+ 
+ #define ALIGN sizeof(long)
+ 
+ char *
+ safexmalloc(x,size)
+ int x;
+ MEM_SIZE size;
+ {
+     register char *where;
+ 
+     where = safemalloc(size + ALIGN);
+     xcount[x]++;
+     where[0] = x % 100;
+     where[1] = x / 100;
+     return where + ALIGN;
+ }
+ 
+ char *
+ safexrealloc(where,size)
+ char *where;
+ MEM_SIZE size;
+ {
+     return saferealloc(where - ALIGN, size + ALIGN) + ALIGN;
+ }
+ 
+ void
+ safexfree(where)
+ char *where;
+ {
+     int x;
+ 
+     if (!where)
+ 	return;
+     where -= ALIGN;
+     x = where[0] + 100 * where[1];
+     xcount[x]--;
+     safefree(where);
+ }
+ 
+ xstat()
+ {
+     register int i;
+ 
+     for (i = 0; i < MAXXCOUNT; i++) {
+ 	if (xcount[i] != lastxcount[i]) {
+ 	    fprintf(stderr,"%2d %2d\t%ld\n", i / 100, i % 100, xcount[i]);
+ 	    lastxcount[i] = xcount[i];
+ 	}
+     }
+ }
+ 
+ #endif /* LEAKTEST */
+ 
+ /* copy a string up to some (non-backslashed) delimiter, if any */
+ 
+ char *
+ cpytill(to,from,fromend,delim,retlen)
+ register char *to;
+ register char *from;
+ register char *fromend;
+ register int delim;
+ int *retlen;
+ {
+     char *origto = to;
+ 
+     for (; from < fromend; from++,to++) {
+ 	if (*from == '\\') {
+ 	    if (from[1] == delim)
+ 		from++;
+ 	    else if (from[1] == '\\')
+ 		*to++ = *from++;
+ 	}
+ 	else if (*from == delim)
+ 	    break;
+ 	*to = *from;
+     }
+     *to = '\0';
+     *retlen = to - origto;
+     return from;
+ }
+ 
+ /* return ptr to little string in big string, NULL if not found */
+ /* This routine was donated by Corey Satten. */
+ 
+ char *
+ instr(big, little)
+ register char *big;
+ register char *little;
+ {
+     register char *s, *x;
+     register int first;
+ 
+     if (!little)
+ 	return big;
+     first = *little++;
+     if (!first)
+ 	return big;
+     while (*big) {
+ 	if (*big++ != first)
+ 	    continue;
+ 	for (x=big,s=little; *s; /**/ ) {
+ 	    if (!*x)
+ 		return Nullch;
+ 	    if (*s++ != *x++) {
+ 		s--;
+ 		break;
+ 	    }
+ 	}
+ 	if (!*s)
+ 	    return big-1;
+     }
+     return Nullch;
+ }
+ 
+ /* same as instr but allow embedded nulls */
+ 
+ char *
+ ninstr(big, bigend, little, lend)
+ register char *big;
+ register char *bigend;
+ char *little;
+ char *lend;
+ {
+     register char *s, *x;
+     register int first = *little;
+     register char *littleend = lend;
+ 
+     if (!first && little > littleend)
+ 	return big;
+     bigend -= littleend - little++;
+     while (big <= bigend) {
+ 	if (*big++ != first)
+ 	    continue;
+ 	for (x=big,s=little; s < littleend; /**/ ) {
+ 	    if (*s++ != *x++) {
+ 		s--;
+ 		break;
+ 	    }
+ 	}
+ 	if (s >= littleend)
+ 	    return big-1;
+     }
+     return Nullch;
+ }
+ 
+ /* reverse of the above--find last substring */
+ 
+ char *
+ rninstr(big, bigend, little, lend)
+ register char *big;
+ char *bigend;
+ char *little;
+ char *lend;
+ {
+     register char *bigbeg;
+     register char *s, *x;
+     register int first = *little;
+     register char *littleend = lend;
+ 
+     if (!first && little > littleend)
+ 	return bigend;
+     bigbeg = big;
+     big = bigend - (littleend - little++);
+     while (big >= bigbeg) {
+ 	if (*big-- != first)
+ 	    continue;
+ 	for (x=big+2,s=little; s < littleend; /**/ ) {
+ 	    if (*s++ != *x++) {
+ 		s--;
+ 		break;
+ 	    }
+ 	}
+ 	if (s >= littleend)
+ 	    return big+1;
+     }
+     return Nullch;
+ }
+ 
+ unsigned char fold[] = {
+ 	0,	1,	2,	3,	4,	5,	6,	7,
+ 	8,	9,	10,	11,	12,	13,	14,	15,
+ 	16,	17,	18,	19,	20,	21,	22,	23,
+ 	24,	25,	26,	27,	28,	29,	30,	31,
+ 	32,	33,	34,	35,	36,	37,	38,	39,
+ 	40,	41,	42,	43,	44,	45,	46,	47,
+ 	48,	49,	50,	51,	52,	53,	54,	55,
+ 	56,	57,	58,	59,	60,	61,	62,	63,
+ 	64,	'a',	'b',	'c',	'd',	'e',	'f',	'g',
+ 	'h',	'i',	'j',	'k',	'l',	'm',	'n',	'o',
+ 	'p',	'q',	'r',	's',	't',	'u',	'v',	'w',
+ 	'x',	'y',	'z',	91,	92,	93,	94,	95,
+ 	96,	'A',	'B',	'C',	'D',	'E',	'F',	'G',
+ 	'H',	'I',	'J',	'K',	'L',	'M',	'N',	'O',
+ 	'P',	'Q',	'R',	'S',	'T',	'U',	'V',	'W',
+ 	'X',	'Y',	'Z',	123,	124,	125,	126,	127,
+ 	128,	129,	130,	131,	132,	133,	134,	135,
+ 	136,	137,	138,	139,	140,	141,	142,	143,
+ 	144,	145,	146,	147,	148,	149,	150,	151,
+ 	152,	153,	154,	155,	156,	157,	158,	159,
+ 	160,	161,	162,	163,	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
+ };
+ 
+ static unsigned char freq[] = {
+ 	1,	2,	84,	151,	154,	155,	156,	157,
+ 	165,	246,	250,	3,	158,	7,	18,	29,
+ 	40,	51,	62,	73,	85,	96,	107,	118,
+ 	129,	140,	147,	148,	149,	150,	152,	153,
+ 	255,	182,	224,	205,	174,	176,	180,	217,
+ 	233,	232,	236,	187,	235,	228,	234,	226,
+ 	222,	219,	211,	195,	188,	193,	185,	184,
+ 	191,	183,	201,	229,	181,	220,	194,	162,
+ 	163,	208,	186,	202,	200,	218,	198,	179,
+ 	178,	214,	166,	170,	207,	199,	209,	206,
+ 	204,	160,	212,	216,	215,	192,	175,	173,
+ 	243,	172,	161,	190,	203,	189,	164,	230,
+ 	167,	248,	227,	244,	242,	255,	241,	231,
+ 	240,	253,	169,	210,	245,	237,	249,	247,
+ 	239,	168,	252,	251,	254,	238,	223,	221,
+ 	213,	225,	177,	197,	171,	196,	159,	4,
+ 	5,	6,	8,	9,	10,	11,	12,	13,
+ 	14,	15,	16,	17,	19,	20,	21,	22,
+ 	23,	24,	25,	26,	27,	28,	30,	31,
+ 	32,	33,	34,	35,	36,	37,	38,	39,
+ 	41,	42,	43,	44,	45,	46,	47,	48,
+ 	49,	50,	52,	53,	54,	55,	56,	57,
+ 	58,	59,	60,	61,	63,	64,	65,	66,
+ 	67,	68,	69,	70,	71,	72,	74,	75,
+ 	76,	77,	78,	79,	80,	81,	82,	83,
+ 	86,	87,	88,	89,	90,	91,	92,	93,
+ 	94,	95,	97,	98,	99,	100,	101,	102,
+ 	103,	104,	105,	106,	108,	109,	110,	111,
+ 	112,	113,	114,	115,	116,	117,	119,	120,
+ 	121,	122,	123,	124,	125,	126,	127,	128,
+ 	130,	131,	132,	133,	134,	135,	136,	137,
+ 	138,	139,	141,	142,	143,	144,	145,	146
+ };
+ 
+ void
+ fbmcompile(str, iflag)
+ STR *str;
+ int iflag;
+ {
+     register unsigned char *s;
+     register unsigned char *table;
+     register int i;
+     register int len = str->str_cur;
+     int rarest = 0;
+     unsigned int frequency = 256;
+ 
+     Str_Grow(str,len+258);
+ #ifndef lint
+     table = (unsigned char*)(str->str_ptr + len + 1);
+ #else
+     table = Null(unsigned char*);
+ #endif
+     s = table - 2;
+     for (i = 0; i < 256; i++) {
+ 	table[i] = len;
+     }
+     i = 0;
+ #ifndef lint
+     while (s >= (unsigned char*)(str->str_ptr))
+ #endif
+     {
+ 	if (table[*s] == len) {
+ #ifndef pdp11
+ 	    if (iflag)
+ 		table[*s] = table[fold[*s]] = i;
+ #else
+ 	    if (iflag) {
+ 		int j;
+ 		j = fold[*s];
+ 		table[j] = i;
+ 		table[*s] = i;
+ 	    }
+ #endif /* pdp11 */
+ 	    else
+ 		table[*s] = i;
+ 	}
+ 	s--,i++;
+     }
+     str->str_pok |= SP_FBM;		/* deep magic */
+ 
+ #ifndef lint
+     s = (unsigned char*)(str->str_ptr);		/* deeper magic */
+ #else
+     s = Null(unsigned char*);
+ #endif
+     if (iflag) {
+ 	register unsigned int tmp, foldtmp;
+ 	str->str_pok |= SP_CASEFOLD;
+ 	for (i = 0; i < len; i++) {
+ 	    tmp=freq[s[i]];
+ 	    foldtmp=freq[fold[s[i]]];
+ 	    if (tmp < frequency && foldtmp < frequency) {
+ 		rarest = i;
+ 		/* choose most frequent among the two */
+ 		frequency = (tmp > foldtmp) ? tmp : foldtmp;
+ 	    }
+ 	}
+     }
+     else {
+ 	for (i = 0; i < len; i++) {
+ 	    if (freq[s[i]] < frequency) {
+ 		rarest = i;
+ 		frequency = freq[s[i]];
+ 	    }
+ 	}
+     }
+     str->str_rare = s[rarest];
+     str->str_state = rarest;
+ #ifdef DEBUGGING
+     if (debug & 512)
+ 	fprintf(stderr,"rarest char %c at %d\n",str->str_rare, str->str_state);
+ #endif
+ }
+ 
+ char *
+ fbminstr(big, bigend, littlestr)
+ unsigned char *big;
+ register unsigned char *bigend;
+ STR *littlestr;
+ {
+     register unsigned char *s;
+     register int tmp;
+     register int littlelen;
+     register unsigned char *little;
+     register unsigned char *table;
+     register unsigned char *olds;
+     register unsigned char *oldlittle;
+ 
+ #ifndef lint
+     if (!(littlestr->str_pok & SP_FBM))
+ 	return ninstr((char*)big,(char*)bigend,
+ 		littlestr->str_ptr, littlestr->str_ptr + littlestr->str_cur);
+ #endif
+ 
+     littlelen = littlestr->str_cur;
+ #ifndef lint
+     if (littlestr->str_pok & SP_TAIL && !multiline) {	/* tail anchored? */
+ 	if (littlelen > bigend - big)
+ 	    return Nullch;
+ 	little = (unsigned char*)littlestr->str_ptr;
+ 	if (littlestr->str_pok & SP_CASEFOLD) {	/* oops, fake it */
+ 	    big = bigend - littlelen;		/* just start near end */
+ 	    if (bigend[-1] == '\n' && little[littlelen-1] != '\n')
+ 		big--;
+ 	}
+ 	else {
+ 	    s = bigend - littlelen;
+ 	    if (*s == *little && bcmp(s,little,littlelen)==0)
+ 		return (char*)s;		/* how sweet it is */
+ 	    else if (bigend[-1] == '\n' && little[littlelen-1] != '\n'
+ 	      && s > big) {
+ 		    s--;
+ 		if (*s == *little && bcmp(s,little,littlelen)==0)
+ 		    return (char*)s;
+ 	    }
+ 	    return Nullch;
+ 	}
+     }
+     table = (unsigned char*)(littlestr->str_ptr + littlelen + 1);
+ #else
+     table = Null(unsigned char*);
+ #endif
+     if (--littlelen >= bigend - big)
+ 	return Nullch;
+     s = big + littlelen;
+     oldlittle = little = table - 2;
+     if (littlestr->str_pok & SP_CASEFOLD) {	/* case insensitive? */
+ 	if (s < bigend) {
+ 	  top1:
+ 	    if (tmp = table[*s]) {
+ #ifdef POINTERRIGOR
+ 		if (bigend - s > tmp) {
+ 		    s += tmp;
+ 		    goto top1;
+ 		}
+ #else
+ 		if ((s += tmp) < bigend)
+ 		    goto top1;
+ #endif
+ 		return Nullch;
+ 	    }
+ 	    else {
+ 		tmp = littlelen;	/* less expensive than calling strncmp() */
+ 		olds = s;
+ 		while (tmp--) {
+ 		    if (*--s == *--little || fold[*s] == *little)
+ 			continue;
+ 		    s = olds + 1;	/* here we pay the price for failure */
+ 		    little = oldlittle;
+ 		    if (s < bigend)	/* fake up continue to outer loop */
+ 			goto top1;
+ 		    return Nullch;
+ 		}
+ #ifndef lint
+ 		return (char *)s;
+ #endif
+ 	    }
+ 	}
+     }
+     else {
+ 	if (s < bigend) {
+ 	  top2:
+ 	    if (tmp = table[*s]) {
+ #ifdef POINTERRIGOR
+ 		if (bigend - s > tmp) {
+ 		    s += tmp;
+ 		    goto top2;
+ 		}
+ #else
+ 		if ((s += tmp) < bigend)
+ 		    goto top2;
+ #endif
+ 		return Nullch;
+ 	    }
+ 	    else {
+ 		tmp = littlelen;	/* less expensive than calling strncmp() */
+ 		olds = s;
+ 		while (tmp--) {
+ 		    if (*--s == *--little)
+ 			continue;
+ 		    s = olds + 1;	/* here we pay the price for failure */
+ 		    little = oldlittle;
+ 		    if (s < bigend)	/* fake up continue to outer loop */
+ 			goto top2;
+ 		    return Nullch;
+ 		}
+ #ifndef lint
+ 		return (char *)s;
+ #endif
+ 	    }
+ 	}
+     }
+     return Nullch;
+ }
+ 
+ char *
+ screaminstr(bigstr, littlestr)
+ STR *bigstr;
+ STR *littlestr;
+ {
+     register unsigned char *s, *x;
+     register unsigned char *big;
+     register int pos;
+     register int previous;
+     register int first;
+     register unsigned char *little;
+     register unsigned char *bigend;
+     register unsigned char *littleend;
+ 
+     if ((pos = screamfirst[littlestr->str_rare]) < 0) 
+ 	return Nullch;
+ #ifndef lint
+     little = (unsigned char *)(littlestr->str_ptr);
+ #else
+     little = Null(unsigned char *);
+ #endif
+     littleend = little + littlestr->str_cur;
+     first = *little++;
+     previous = littlestr->str_state;
+ #ifndef lint
+     big = (unsigned char *)(bigstr->str_ptr);
+ #else
+     big = Null(unsigned char*);
+ #endif
+     bigend = big + bigstr->str_cur;
+     big -= previous;
+     while (pos < previous) {
+ #ifndef lint
+ 	if (!(pos += screamnext[pos]))
+ #endif
+ 	    return Nullch;
+     }
+     if (littlestr->str_pok & SP_CASEFOLD) {	/* case insignificant? */
+ 	do {
+ 	    if (big[pos] != first && big[pos] != fold[first])
+ 		continue;
+ 	    for (x=big+pos+1,s=little; s < littleend; /**/ ) {
+ 		if (x >= bigend)
+ 		    return Nullch;
+ 		if (*s++ != *x++ && fold[*(s-1)] != *(x-1)) {
+ 		    s--;
+ 		    break;
+ 		}
+ 	    }
+ 	    if (s == littleend)
+ #ifndef lint
+ 		return (char *)(big+pos);
+ #else
+ 		return Nullch;
+ #endif
+ 	} while (
+ #ifndef lint
+ 		pos += screamnext[pos]	/* does this goof up anywhere? */
+ #else
+ 		pos += screamnext[0]
+ #endif
+ 	    );
+     }
+     else {
+ 	do {
+ 	    if (big[pos] != first)
+ 		continue;
+ 	    for (x=big+pos+1,s=little; s < littleend; /**/ ) {
+ 		if (x >= bigend)
+ 		    return Nullch;
+ 		if (*s++ != *x++) {
+ 		    s--;
+ 		    break;
+ 		}
+ 	    }
+ 	    if (s == littleend)
+ #ifndef lint
+ 		return (char *)(big+pos);
+ #else
+ 		return Nullch;
+ #endif
+ 	} while (
+ #ifndef lint
+ 		pos += screamnext[pos]
+ #else
+ 		pos += screamnext[0]
+ #endif
+ 	    );
+     }
+     return Nullch;
+ }
+ 
+ /* copy a string to a safe spot */
+ 
+ char *
+ savestr(str)
+ char *str;
+ {
+     register char *newaddr;
+ 
+     New(902,newaddr,strlen(str)+1,char);
+     (void)strcpy(newaddr,str);
+     return newaddr;
+ }
+ 
+ /* same thing but with a known length */
+ 
+ char *
+ nsavestr(str, len)
+ char *str;
+ register int len;
+ {
+     register char *newaddr;
+ 
+     New(903,newaddr,len+1,char);
+     (void)bcopy(str,newaddr,len);	/* might not be null terminated */
+     newaddr[len] = '\0';		/* is now */
+     return newaddr;
+ }
+ 
+ /* grow a static string to at least a certain length */
+ 
+ void
+ growstr(strptr,curlen,newlen)
+ char **strptr;
+ int *curlen;
+ int newlen;
+ {
+     if (newlen > *curlen) {		/* need more room? */
+ 	if (*curlen)
+ 	    Renew(*strptr,newlen,char);
+ 	else
+ 	    New(905,*strptr,newlen,char);
+ 	*curlen = newlen;
+     }
+ }
+ 
+ #ifndef I_VARARGS
+ /*VARARGS1*/
+ mess(pat,a1,a2,a3,a4)
+ char *pat;
+ long a1, a2, a3, a4;
+ {
+     char *s;
+ 
+     s = buf;
+     (void)sprintf(s,pat,a1,a2,a3,a4);
+     s += strlen(s);
+     if (s[-1] != '\n') {
+ 	if (curcmd->c_line) {
+ 	    (void)sprintf(s," at %s line %ld",
+ 	      stab_val(curcmd->c_filestab)->str_ptr, (long)curcmd->c_line);
+ 	    s += strlen(s);
+ 	}
+ 	if (last_in_stab &&
+ 	    stab_io(last_in_stab) &&
+ 	    stab_io(last_in_stab)->lines ) {
+ 	    (void)sprintf(s,", <%s> line %ld",
+ 	      last_in_stab == argvstab ? "" : stab_name(last_in_stab),
+ 	      (long)stab_io(last_in_stab)->lines);
+ 	    s += strlen(s);
+ 	}
+ 	(void)strcpy(s,".\n");
+     }
+ }
+ 
+ /*VARARGS1*/
+ fatal(pat,a1,a2,a3,a4)
+ char *pat;
+ long a1, a2, a3, a4;
+ {
+     extern FILE *e_fp;
+     extern char *e_tmpname;
+     char *tmps;
+ 
+     mess(pat,a1,a2,a3,a4);
+     if (in_eval) {
+ 	str_set(stab_val(stabent("@",TRUE)),buf);
+ 	tmps = "_EVAL_";
+ 	while (loop_ptr >= 0 && (!loop_stack[loop_ptr].loop_label ||
+ 	  strNE(tmps,loop_stack[loop_ptr].loop_label) )) {
+ #ifdef DEBUGGING
+ 	    if (debug & 4) {
+ 		deb("(Skipping label #%d %s)\n",loop_ptr,
+ 		    loop_stack[loop_ptr].loop_label);
+ 	    }
+ #endif
+ 	    loop_ptr--;
+ 	}
+ #ifdef DEBUGGING
+ 	if (debug & 4) {
+ 	    deb("(Found label #%d %s)\n",loop_ptr,
+ 		loop_stack[loop_ptr].loop_label);
+ 	}
+ #endif
+ 	if (loop_ptr < 0) {
+ 	    in_eval = 0;
+ 	    fatal("Bad label: %s", tmps);
+ 	}
+ 	longjmp(loop_stack[loop_ptr].loop_env, 1);
+     }
+     fputs(buf,stderr);
+     (void)fflush(stderr);
+     if (e_fp)
+ 	(void)UNLINK(e_tmpname);
+     statusvalue >>= 8;
+     exit((int)((errno&255)?errno:((statusvalue&255)?statusvalue:255)));
+ }
+ 
+ /*VARARGS1*/
+ warn(pat,a1,a2,a3,a4)
+ char *pat;
+ long a1, a2, a3, a4;
+ {
+     mess(pat,a1,a2,a3,a4);
+     fputs(buf,stderr);
+ #ifdef LEAKTEST
+ #ifdef DEBUGGING
+     if (debug & 4096)
+ 	xstat();
+ #endif
+ #endif
+     (void)fflush(stderr);
+ }
+ #else
+ /*VARARGS0*/
+ mess(args)
+ va_list args;
+ {
+     char *pat;
+     char *s;
+ #ifdef CHARVSPRINTF
+     char *vsprintf();
+ #else
+     int vsprintf();
+ #endif
+ 
+     s = buf;
+ #ifdef lint
+     pat = Nullch;
+ #else
+     pat = va_arg(args, char *);
+ #endif
+     (void) vsprintf(s,pat,args);
+ 
+     s += strlen(s);
+     if (s[-1] != '\n') {
+ 	if (curcmd->c_line) {
+ 	    (void)sprintf(s," at %s line %ld",
+ 	      stab_val(curcmd->c_filestab)->str_ptr, (long)curcmd->c_line);
+ 	    s += strlen(s);
+ 	}
+ 	if (last_in_stab &&
+ 	    stab_io(last_in_stab) &&
+ 	    stab_io(last_in_stab)->lines ) {
+ 	    (void)sprintf(s,", <%s> line %ld",
+ 	      last_in_stab == argvstab ? "" : last_in_stab->str_magic->str_ptr,
+ 	      (long)stab_io(last_in_stab)->lines);
+ 	    s += strlen(s);
+ 	}
+ 	(void)strcpy(s,".\n");
+     }
+ }
+ 
+ /*VARARGS0*/
+ fatal(va_alist)
+ va_dcl
+ {
+     va_list args;
+     extern FILE *e_fp;
+     extern char *e_tmpname;
+     char *tmps;
+ 
+ #ifndef lint
+     va_start(args);
+ #else
+     args = 0;
+ #endif
+     mess(args);
+     va_end(args);
+     if (in_eval) {
+ 	str_set(stab_val(stabent("@",TRUE)),buf);
+ 	tmps = "_EVAL_";
+ 	while (loop_ptr >= 0 && (!loop_stack[loop_ptr].loop_label ||
+ 	  strNE(tmps,loop_stack[loop_ptr].loop_label) )) {
+ #ifdef DEBUGGING
+ 	    if (debug & 4) {
+ 		deb("(Skipping label #%d %s)\n",loop_ptr,
+ 		    loop_stack[loop_ptr].loop_label);
+ 	    }
+ #endif
+ 	    loop_ptr--;
+ 	}
+ #ifdef DEBUGGING
+ 	if (debug & 4) {
+ 	    deb("(Found label #%d %s)\n",loop_ptr,
+ 		loop_stack[loop_ptr].loop_label);
+ 	}
+ #endif
+ 	if (loop_ptr < 0) {
+ 	    in_eval = 0;
+ 	    fatal("Bad label: %s", tmps);
+ 	}
+ 	longjmp(loop_stack[loop_ptr].loop_env, 1);
+     }
+     fputs(buf,stderr);
+     (void)fflush(stderr);
+     if (e_fp)
+ 	(void)UNLINK(e_tmpname);
+     statusvalue >>= 8;
+     exit((int)((errno&255)?errno:((statusvalue&255)?statusvalue:255)));
+ }
+ 
+ /*VARARGS0*/
+ warn(va_alist)
+ va_dcl
+ {
+     va_list args;
+ 
+ #ifndef lint
+     va_start(args);
+ #else
+     args = 0;
+ #endif
+     mess(args);
+     va_end(args);
+ 
+     fputs(buf,stderr);
+ #ifdef LEAKTEST
+ #ifdef DEBUGGING
+     if (debug & 4096)
+ 	xstat();
+ #endif
+ #endif
+     (void)fflush(stderr);
+ }
+ #endif
+ 
+ void
+ my_setenv(nam,val)
+ char *nam, *val;
+ {
+     register int i=envix(nam);		/* where does it go? */
+ 
+     if (environ == origenviron) {	/* need we copy environment? */
+ 	int j;
+ 	int max;
+ 	char **tmpenv;
+ 
+ 	for (max = i; environ[max]; max++) ;
+ 	New(901,tmpenv, max+2, char*);
+ 	for (j=0; j<max; j++)		/* copy environment */
+ 	    tmpenv[j] = savestr(environ[j]);
+ 	tmpenv[max] = Nullch;
+ 	environ = tmpenv;		/* tell exec where it is now */
+     }
+     if (!val) {
+ 	while (environ[i]) {
+ 	    environ[i] = environ[i+1];
+ 	    i++;
+ 	}
+ 	return;
+     }
+     if (!environ[i]) {			/* does not exist yet */
+ 	Renew(environ, i+2, char*);	/* just expand it a bit */
+ 	environ[i+1] = Nullch;	/* make sure it's null terminated */
+     }
+     else
+ 	Safefree(environ[i]);
+     New(904, environ[i], strlen(nam) + strlen(val) + 2, char);
+ #ifndef MSDOS
+     (void)sprintf(environ[i],"%s=%s",nam,val);/* all that work just for this */
+ #else
+     /* MS-DOS requires environment variable names to be in uppercase */
+     /* [Tom Dinger, 27 August 1990: Well, it doesn't _require_ it, but
+      * some utilities and applications may break because they only look
+      * for upper case strings. (Fixed strupr() bug here.)]
+      */
+     strcpy(environ[i],nam); strupr(environ[i]);
+     (void)sprintf(environ[i] + strlen(nam),"=%s",val);
+ #endif /* MSDOS */
+ }
+ 
+ int
+ envix(nam)
+ char *nam;
+ {
+     register int i, len = strlen(nam);
+ 
+     for (i = 0; environ[i]; i++) {
+ 	if (strnEQ(environ[i],nam,len) && environ[i][len] == '=')
+ 	    break;			/* strnEQ must come first to avoid */
+     }					/* potential SEGV's */
+     return i;
+ }
+ 
+ #ifdef EUNICE
+ unlnk(f)	/* unlink all versions of a file */
+ char *f;
+ {
+     int i;
+ 
+     for (i = 0; unlink(f) >= 0; i++) ;
+     return i ? 0 : -1;
+ }
+ #endif
+ 
+ #ifndef HAS_MEMCPY
+ #ifndef HAS_BCOPY
+ char *
+ bcopy(from,to,len)
+ register char *from;
+ register char *to;
+ register int len;
+ {
+     char *retval = to;
+ 
+     while (len--)
+ 	*to++ = *from++;
+     return retval;
+ }
+ #endif
+ 
+ #ifndef HAS_BZERO
+ char *
+ bzero(loc,len)
+ register char *loc;
+ register int len;
+ {
+     char *retval = loc;
+ 
+     while (len--)
+ 	*loc++ = 0;
+     return retval;
+ }
+ #endif
+ #endif
+ 
+ #ifdef I_VARARGS
+ #ifndef HAS_VPRINTF
+ 
+ #ifdef CHARVSPRINTF
+ char *
+ #else
+ int
+ #endif
+ vsprintf(dest, pat, args)
+ char *dest, *pat, *args;
+ {
+     FILE fakebuf;
+ 
+     fakebuf._ptr = dest;
+     fakebuf._cnt = 32767;
+ #ifndef _IOSTRG
+ #define _IOSTRG 0
+ #endif
+     fakebuf._flag = _IOWRT|_IOSTRG;
+     _doprnt(pat, args, &fakebuf);	/* what a kludge */
+     (void)putc('\0', &fakebuf);
+ #ifdef CHARVSPRINTF
+     return(dest);
+ #else
+     return 0;		/* perl doesn't use return value */
+ #endif
+ }
+ 
+ #ifdef DEBUGGING
+ int
+ vfprintf(fd, pat, args)
+ FILE *fd;
+ char *pat, *args;
+ {
+     _doprnt(pat, args, fd);
+     return 0;		/* wrong, but perl doesn't use the return value */
+ }
+ #endif
+ #endif /* HAS_VPRINTF */
+ #endif /* I_VARARGS */
+ 
+ #ifdef MYSWAP
+ #if BYTEORDER != 0x4321
+ short
+ my_swap(s)
+ short s;
+ {
+ #if (BYTEORDER & 1) == 0
+     short result;
+ 
+     result = ((s & 255) << 8) + ((s >> 8) & 255);
+     return result;
+ #else
+     return s;
+ #endif
+ }
+ 
+ long
+ htonl(l)
+ register long l;
+ {
+     union {
+ 	long result;
+ 	char c[sizeof(long)];
+     } u;
+ 
+ #if BYTEORDER == 0x1234
+     u.c[0] = (l >> 24) & 255;
+     u.c[1] = (l >> 16) & 255;
+     u.c[2] = (l >> 8) & 255;
+     u.c[3] = l & 255;
+     return u.result;
+ #else
+ #if ((BYTEORDER - 0x1111) & 0x444) || !(BYTEORDER & 0xf)
+     fatal("Unknown BYTEORDER\n");
+ #else
+     register int o;
+     register int s;
+ 
+     for (o = BYTEORDER - 0x1111, s = 0; s < (sizeof(long)*8); o >>= 4, s += 8) {
+ 	u.c[o & 0xf] = (l >> s) & 255;
+     }
+     return u.result;
+ #endif
+ #endif
+ }
+ 
+ long
+ ntohl(l)
+ register long l;
+ {
+     union {
+ 	long l;
+ 	char c[sizeof(long)];
+     } u;
+ 
+ #if BYTEORDER == 0x1234
+     u.c[0] = (l >> 24) & 255;
+     u.c[1] = (l >> 16) & 255;
+     u.c[2] = (l >> 8) & 255;
+     u.c[3] = l & 255;
+     return u.l;
+ #else
+ #if ((BYTEORDER - 0x1111) & 0x444) || !(BYTEORDER & 0xf)
+     fatal("Unknown BYTEORDER\n");
+ #else
+     register int o;
+     register int s;
+ 
+     u.l = l;
+     l = 0;
+     for (o = BYTEORDER - 0x1111, s = 0; s < (sizeof(long)*8); o >>= 4, s += 8) {
+ 	l |= (u.c[o & 0xf] & 255) << s;
+     }
+     return l;
+ #endif
+ #endif
+ }
+ 
+ #endif /* BYTEORDER != 0x4321 */
+ #endif /* HAS_HTONS */
+ 
+ #ifndef MSDOS
+ FILE *
+ mypopen(cmd,mode)
+ char	*cmd;
+ char	*mode;
+ {
+     int p[2];
+     register int this, that;
+     register int pid;
+     STR *str;
+     int doexec = strNE(cmd,"-");
+ 
+     if (pipe(p) < 0)
+ 	return Nullfp;
+     this = (*mode == 'w');
+     that = !this;
+     while ((pid = (doexec?vfork():fork())) < 0) {
+ 	if (errno != EAGAIN) {
+ 	    close(p[this]);
+ 	    if (!doexec)
+ 		fatal("Can't fork");
+ 	    return Nullfp;
+ 	}
+ 	sleep(5);
+     }
+     if (pid == 0) {
+ #define THIS that
+ #define THAT this
+ 	close(p[THAT]);
+ 	if (p[THIS] != (*mode == 'r')) {
+ 	    dup2(p[THIS], *mode == 'r');
+ 	    close(p[THIS]);
+ 	}
+ 	if (doexec) {
+ #if !defined(I_FCNTL) || !defined(F_SETFD)
+ 	    int fd;
+ 
+ #ifndef NOFILE
+ #define NOFILE 20
+ #endif
+ 	    for (fd = 3; fd < NOFILE; fd++)
+ 		close(fd);
+ #endif
+ 	    do_exec(cmd);	/* may or may not use the shell */
+ 	    _exit(1);
+ 	}
+ 	if (tmpstab = stabent("$",allstabs))
+ 	    str_numset(STAB_STR(tmpstab),(double)getpid());
+ 	forkprocess = 0;
+ 	hclear(pidstatus, FALSE);	/* we have no children */
+ 	return Nullfp;
+ #undef THIS
+ #undef THAT
+     }
+     do_execfree();	/* free any memory malloced by child on vfork */
+     close(p[that]);
+     if (p[that] < p[this]) {
+ 	dup2(p[this], p[that]);
+ 	close(p[this]);
+ 	p[this] = p[that];
+     }
+     str = afetch(fdpid,p[this],TRUE);
+     str->str_u.str_useful = pid;
+     forkprocess = pid;
+     return fdopen(p[this], mode);
+ }
+ #endif /* !MSDOS */
+ 
+ #ifdef NOTDEF
+ dumpfds(s)
+ char *s;
+ {
+     int fd;
+     struct stat tmpstatbuf;
+ 
+     fprintf(stderr,"%s", s);
+     for (fd = 0; fd < 32; fd++) {
+ 	if (fstat(fd,&tmpstatbuf) >= 0)
+ 	    fprintf(stderr," %d",fd);
+     }
+     fprintf(stderr,"\n");
+ }
+ #endif
+ 
+ #ifndef HAS_DUP2
+ dup2(oldfd,newfd)
+ int oldfd;
+ int newfd;
+ {
+ #if defined(HAS_FCNTL) && defined(F_DUPFD)
+     close(newfd);
+     fcntl(oldfd, F_DUPFD, newfd);
+ #else
+     int fdtmp[20];
+     int fdx = 0;
+     int fd;
+ 
+     if (oldfd == newfd)
+ 	return 0;
+     close(newfd);
+     while ((fd = dup(oldfd)) != newfd)	/* good enough for low fd's */
+ 	fdtmp[fdx++] = fd;
+     while (fdx > 0)
+ 	close(fdtmp[--fdx]);
+ #endif
+ }
+ #endif
+ 
+ #ifndef MSDOS
+ int
+ mypclose(ptr)
+ FILE *ptr;
+ {
+ #ifdef VOIDSIG
+     void (*hstat)(), (*istat)(), (*qstat)();
+ #else
+     int (*hstat)(), (*istat)(), (*qstat)();
+ #endif
+     int status;
+     STR *str;
+     int pid;
+ 
+     str = afetch(fdpid,fileno(ptr),TRUE);
+     astore(fdpid,fileno(ptr),Nullstr);
+     fclose(ptr);
+     pid = (int)str->str_u.str_useful;
+     hstat = signal(SIGHUP, SIG_IGN);
+     istat = signal(SIGINT, SIG_IGN);
+     qstat = signal(SIGQUIT, SIG_IGN);
+     pid = wait4pid(pid, &status, 0);
+     signal(SIGHUP, hstat);
+     signal(SIGINT, istat);
+     signal(SIGQUIT, qstat);
+     return(pid < 0 ? pid : status);
+ }
+ 
+ int
+ wait4pid(pid,statusp,flags)
+ int pid;
+ int *statusp;
+ int flags;
+ {
+     int result;
+     STR *str;
+     char spid[16];
+ 
+     if (!pid)
+ 	return -1;
+ #ifdef HAS_WAIT4
+     return wait4((pid==-1)?0:pid,statusp,flags,Null(struct rusage *));
+ #else
+ #ifdef HAS_WAITPID
+     return waitpid(pid,statusp,flags);
+ #else
+     if (pid > 0) {
+ 	sprintf(spid, "%d", pid);
+ 	str = hfetch(pidstatus,spid,strlen(spid),FALSE);
+ 	if (str != &str_undef) {
+ 	    *statusp = (int)str->str_u.str_useful;
+ 	    hdelete(pidstatus,spid,strlen(spid));
+ 	    return pid;
+ 	}
+     }
+     else {
+ 	HENT *entry;
+ 
+ 	hiterinit(pidstatus);
+ 	if (entry = hiternext(pidstatus)) {
+ 	    pid = atoi(hiterkey(entry,statusp));
+ 	    str = hiterval(entry);
+ 	    *statusp = (int)str->str_u.str_useful;
+ 	    sprintf(spid, "%d", pid);
+ 	    hdelete(pidstatus,spid,strlen(spid));
+ 	    return pid;
+ 	}
+     }
+     if (flags)
+ 	fatal("Can't do waitpid with flags");
+     else {
+ 	while ((result = wait(statusp)) != pid && pid > 0 && result >= 0)
+ 	    pidgone(result,*statusp);
+ 	if (result < 0)
+ 	    *statusp = -1;
+     }
+     return result;
+ #endif
+ #endif
+ }
+ 
+ pidgone(pid,status)
+ int pid;
+ int status;
+ {
+ #if defined(HAS_WAIT4) || defined(HAS_WAITPID)
+ #else
+     register STR *str;
+     char spid[16];
+ 
+     sprintf(spid, "%d", pid);
+     str = hfetch(pidstatus,spid,strlen(spid),TRUE);
+     str->str_u.str_useful = status;
+ #endif
+     return;
+ }
+ #endif /* !MSDOS */
+ 
+ #ifndef HAS_MEMCMP
+ memcmp(s1,s2,len)
+ register unsigned char *s1;
+ register unsigned char *s2;
+ register int len;
+ {
+     register int tmp;
+ 
+     while (len--) {
+ 	if (tmp = *s1++ - *s2++)
+ 	    return tmp;
+     }
+     return 0;
+ }
+ #endif /* HAS_MEMCMP */
+ 
+ void
+ repeatcpy(to,from,len,count)
+ register char *to;
+ register char *from;
+ int len;
+ register int count;
+ {
+     register int todo;
+     register char *frombase = from;
+ 
+     if (len == 1) {
+ 	todo = *from;
+ 	while (count-- > 0)
+ 	    *to++ = todo;
+ 	return;
+     }
+     while (count-- > 0) {
+ 	for (todo = len; todo > 0; todo--) {
+ 	    *to++ = *from++;
+ 	}
+ 	from = frombase;
+     }
+ }
+ 
+ #ifndef CASTNEGFLOAT
+ unsigned long
+ castulong(f)
+ double f;
+ {
+     long along;
+ 
+ #if CASTFLAGS & 2
+ #   define BIGDOUBLE 2147483648.0
+     if (f >= BIGDOUBLE)
+ 	return (unsigned long)(f-(long)(f/BIGDOUBLE)*BIGDOUBLE)|0x80000000;
+ #endif
+     if (f >= 0.0)
+ 	return (unsigned long)f;
+     along = (long)f;
+     return (unsigned long)along;
+ }
+ #endif
+ 
+ #ifndef HAS_RENAME
+ int
+ same_dirent(a,b)
+ char *a;
+ char *b;
+ {
+     char *fa = rindex(a,'/');
+     char *fb = rindex(b,'/');
+     struct stat tmpstatbuf1;
+     struct stat tmpstatbuf2;
+ #ifndef MAXPATHLEN
+ #define MAXPATHLEN 1024
+ #endif
+     char tmpbuf[MAXPATHLEN+1];
+ 
+     if (fa)
+ 	fa++;
+     else
+ 	fa = a;
+     if (fb)
+ 	fb++;
+     else
+ 	fb = b;
+     if (strNE(a,b))
+ 	return FALSE;
+     if (fa == a)
+ 	strcpy(tmpbuf,".");
+     else
+ 	strncpy(tmpbuf, a, fa - a);
+     if (stat(tmpbuf, &tmpstatbuf1) < 0)
+ 	return FALSE;
+     if (fb == b)
+ 	strcpy(tmpbuf,".");
+     else
+ 	strncpy(tmpbuf, b, fb - b);
+     if (stat(tmpbuf, &tmpstatbuf2) < 0)
+ 	return FALSE;
+     return tmpstatbuf1.st_dev == tmpstatbuf2.st_dev &&
+ 	   tmpstatbuf1.st_ino == tmpstatbuf2.st_ino;
+ }
+ #endif /* !HAS_RENAME */
+ 
+ unsigned long
+ scanoct(start, len, retlen)
+ char *start;
+ int len;
+ int *retlen;
+ {
+     register char *s = start;
+     register unsigned long retval = 0;
+ 
+     while (len-- && *s >= '0' && *s <= '7') {
+ 	retval <<= 3;
+ 	retval |= *s++ - '0';
+     }
+     *retlen = s - start;
+     return retval;
+ }
+ 
+ unsigned long
+ scanhex(start, len, retlen)
+ char *start;
+ int len;
+ int *retlen;
+ {
+     register char *s = start;
+     register unsigned long retval = 0;
+     char *tmp;
+ 
+     while (len-- && *s && (tmp = index(hexdigit, *s))) {
+ 	retval <<= 4;
+ 	retval |= (tmp - hexdigit) & 15;
+ 	s++;
+     }
+     *retlen = s - start;
+     return retval;
+ }


Index: llvm/test/Programs/MultiSource/Benchmarks/MallocBench/perl/util.h
diff -c /dev/null llvm/test/Programs/MultiSource/Benchmarks/MallocBench/perl/util.h:1.1.2.1
*** /dev/null	Mon Mar  1 17:59:25 2004
--- llvm/test/Programs/MultiSource/Benchmarks/MallocBench/perl/util.h	Mon Mar  1 17:59:13 2004
***************
*** 0 ****
--- 1,50 ----
+ /* $Header: /home/vadve/shared/PublicCVS/llvm/test/Programs/MultiSource/Benchmarks/MallocBench/perl/util.h,v 1.1.2.1 2004/03/01 23:59:13 brukman Exp $
+  *
+  *    Copyright (c) 1989, Larry Wall
+  *
+  *    You may distribute under the terms of the GNU General Public License
+  *    as specified in the README file that comes with the perl 3.0 kit.
+  *
+  * $Log: util.h,v $
+  * Revision 1.1.2.1  2004/03/01 23:59:13  brukman
+  * Merge from trunk
+  *
+  * Revision 1.1  2004/02/17 22:21:17  criswell
+  * Initial commit of the perl Malloc Benchmark.  I've cheated a little by
+  * generating the yacc output files and committing them directly, but it was
+  * easier than disabling the Bison Voodoo that gets executed by default.
+  *
+  * Revision 4.0  91/03/20  01:56:48  lwall
+  * 4.0 baseline.
+  * 
+  */
+ 
+ EXT int *screamfirst INIT(Null(int*));
+ EXT int *screamnext INIT(Null(int*));
+ 
+ char	*safemalloc();
+ char	*saferealloc();
+ char	*cpytill();
+ char	*instr();
+ char	*fbminstr();
+ char	*screaminstr();
+ void	fbmcompile();
+ char	*savestr();
+ void	my_setenv(char *, char *);
+ int	envix();
+ void	growstr();
+ char	*ninstr();
+ char	*rninstr();
+ char	*nsavestr();
+ FILE	*mypopen();
+ int	mypclose();
+ #ifndef HAS_MEMCPY
+ #ifndef HAS_BCOPY
+ char	*bcopy();
+ #endif
+ #ifndef HAS_BZERO
+ char	*bzero();
+ #endif
+ #endif
+ unsigned long scanoct();
+ unsigned long scanhex();





More information about the llvm-commits mailing list