00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028
00029
00030
00031
00032 #include <pthread.h>
00033 #include <stdio.h>
00034 #include <stdlib.h>
00035 #include <string.h>
00036 #include <sys/types.h>
00037 #include <sys/stat.h>
00038 #include <stdarg.h>
00039 #include <limits.h>
00040 #include <mach-o/dyld.h>
00041 #include <mach-o/nlist.h>
00042 #include <mach-o/getsect.h>
00043
00044
00045
00046
00047 #ifndef __BSD_VISIBLE
00048 #define __BSD_VISIBLE 1
00049 #endif
00050 #include <asterisk/dlfcn-compat.h>
00051
00052 #ifndef dl_restrict
00053 #define dl_restrict __restrict
00054 #endif
00055
00056 #ifndef LC_LOAD_WEAK_DYLIB
00057 #define LC_LOAD_WEAK_DYLIB (0x18 | LC_REQ_DYLD)
00058 #endif
00059
00060
00061
00062
00063 #ifndef LC_REQ_DYLD
00064 #define LC_REQ_DYLD 0x80000000
00065 #endif
00066 #ifndef NSADDIMAGE_OPTION_RETURN_ONLY_IF_LOADED
00067 #define NSADDIMAGE_OPTION_RETURN_ONLY_IF_LOADED 0x4
00068 #endif
00069 #ifndef NSADDIMAGE_OPTION_RETURN_ON_ERROR
00070 #define NSADDIMAGE_OPTION_RETURN_ON_ERROR 0x1
00071 #endif
00072 #ifndef NSLOOKUPSYMBOLINIMAGE_OPTION_BIND
00073 #define NSLOOKUPSYMBOLINIMAGE_OPTION_BIND 0x0
00074 #endif
00075 #ifndef NSLOOKUPSYMBOLINIMAGE_OPTION_RETURN_ON_ERROR
00076 #define NSLOOKUPSYMBOLINIMAGE_OPTION_RETURN_ON_ERROR 0x4
00077 #endif
00078
00079 static const struct mach_header *(*dyld_NSAddImage) (const char *, unsigned long) = 0;
00080 static int (*dyld_NSIsSymbolNameDefinedInImage) (const struct mach_header *, const char *) = 0;
00081 static NSSymbol(*dyld_NSLookupSymbolInImage)
00082 (const struct mach_header *, const char *, unsigned long) = 0;
00083
00084
00085
00086
00087
00088 #undef REUSE_STATUS
00089
00090
00091 #define ERR_STR_LEN 251
00092
00093
00094 #define MAX_SEARCH_PATHS 32
00095
00096
00097 #define MAGIC_DYLIB_OFI ((NSObjectFileImage) 'DYOF')
00098 #define MAGIC_DYLIB_MOD ((NSModule) 'DYMO')
00099
00100
00101 #define DL_IN_LIST 0x01
00102
00103
00104 static pthread_mutex_t dlcompat_mutex;
00105
00106
00107 static pthread_key_t dlerror_key;
00108
00109 struct dlthread
00110 {
00111 int lockcnt;
00112 unsigned char errset;
00113 char errstr[ERR_STR_LEN];
00114 };
00115
00116
00117
00118
00119 struct dlstatus
00120 {
00121 struct dlstatus *next;
00122 NSModule module;
00123 const struct mach_header *lib;
00124 int refs;
00125 int mode;
00126 dev_t device;
00127 ino_t inode;
00128 int flags;
00129 };
00130
00131
00132 static struct dlstatus mainStatus = { 0, MAGIC_DYLIB_MOD, NULL, -1, RTLD_GLOBAL, 0, 0, 0 };
00133 static struct dlstatus *stqueue = &mainStatus;
00134
00135
00136
00137
00138
00139
00140
00141 static void debug(const char *fmt, ...);
00142 static void error(const char *str, ...);
00143 static const char *safegetenv(const char *s);
00144 static const char *searchList(void);
00145 static const char *getSearchPath(int i);
00146 static const char *getFullPath(int i, const char *file);
00147 static const struct stat *findFile(const char *file, const char **fullPath);
00148 static int isValidStatus(struct dlstatus *status);
00149 static inline int isFlagSet(int mode, int flag);
00150 static struct dlstatus *lookupStatus(const struct stat *sbuf);
00151 static void insertStatus(struct dlstatus *dls, const struct stat *sbuf);
00152 static int promoteLocalToGlobal(struct dlstatus *dls);
00153 static void *reference(struct dlstatus *dls, int mode);
00154 static void *dlsymIntern(struct dlstatus *dls, const char *symbol, int canSetError);
00155 static struct dlstatus *allocStatus(void);
00156 static struct dlstatus *loadModule(const char *path, const struct stat *sbuf, int mode);
00157 static NSSymbol *search_linked_libs(const struct mach_header *mh, const char *symbol);
00158 static const char *get_lib_name(const struct mach_header *mh);
00159 static const struct mach_header *get_mach_header_from_NSModule(NSModule * mod);
00160 static void dlcompat_init_func(void);
00161 static inline void dolock(void);
00162 static inline void dounlock(void);
00163 static void dlerrorfree(void *data);
00164 static void resetdlerror(void);
00165 static const struct mach_header *my_find_image(const char *name);
00166 static const struct mach_header *image_for_address(const void *address);
00167 static void dlcompat_cleanup(void);
00168 static inline const char *dyld_error_str(void);
00169
00170 #if FINK_BUILD
00171
00172 void *dlsym_prepend_underscore(void *handle, const char *symbol);
00173 void *dlsym_auto_underscore(void *handle, const char *symbol);
00174
00175
00176 static void *dlsym_prepend_underscore_intern(void *handle, const char *symbol);
00177 static void *dlsym_auto_underscore_intern(void *handle, const char *symbol);
00178 #endif
00179
00180
00181
00182 static void debug(const char *fmt, ...)
00183 {
00184 #if DEBUG > 1
00185 va_list arg;
00186 va_start(arg, fmt);
00187 fprintf(stderr, "DLDEBUG: ");
00188 vfprintf(stderr, fmt, arg);
00189 fprintf(stderr, "\n");
00190 fflush(stderr);
00191 va_end(arg);
00192 #endif
00193 }
00194
00195 static void error(const char *str, ...)
00196 {
00197 va_list arg;
00198 struct dlthread *tss;
00199 char * err_str;
00200 va_start(arg, str);
00201 tss = pthread_getspecific(dlerror_key);
00202 err_str = tss->errstr;
00203 strncpy(err_str, "dlcompat: ", ERR_STR_LEN);
00204 vsnprintf(err_str + 10, ERR_STR_LEN - 10, str, arg);
00205 va_end(arg);
00206 debug("ERROR: %s\n", err_str);
00207 tss->errset = 1;
00208 }
00209
00210 static void warning(const char *str)
00211 {
00212 #if DEBUG > 0
00213 fprintf(stderr, "WARNING: dlcompat: %s\n", str);
00214 #endif
00215 }
00216
00217 static const char *safegetenv(const char *s)
00218 {
00219 const char *ss = getenv(s);
00220 return ss ? ss : "";
00221 }
00222
00223
00224
00225
00226
00227 static const char *get_lib_name(const struct mach_header *mh)
00228 {
00229 unsigned long count = _dyld_image_count();
00230 unsigned long i;
00231 const char *val = NULL;
00232 if (mh)
00233 {
00234 for (i = 0; i < count; i++)
00235 {
00236 if (mh == _dyld_get_image_header(i))
00237 {
00238 val = _dyld_get_image_name(i);
00239 break;
00240 }
00241 }
00242 }
00243 return val;
00244 }
00245
00246
00247
00248
00249
00250 static const struct mach_header *get_mach_header_from_NSModule(NSModule * mod)
00251 {
00252 const char *mod_name = NSNameOfModule(mod);
00253 struct mach_header *mh = NULL;
00254 unsigned long count = _dyld_image_count();
00255 unsigned long i;
00256 debug("Module name: %s", mod_name);
00257 for (i = 0; i < count; i++)
00258 {
00259 if (!strcmp(mod_name, _dyld_get_image_name(i)))
00260 {
00261 mh = _dyld_get_image_header(i);
00262 break;
00263 }
00264 }
00265 return mh;
00266 }
00267
00268
00269
00270
00271
00272
00273
00274
00275
00276
00277 static const char *searchList()
00278 {
00279 size_t buf_size;
00280 static char *buf=NULL;
00281 const char *ldlp = safegetenv("LD_LIBRARY_PATH");
00282 const char *dyldlp = safegetenv("DYLD_LIBRARY_PATH");
00283 const char *stdpath = getenv("DYLD_FALLBACK_LIBRARY_PATH");
00284 if (!stdpath)
00285 stdpath = "/usr/local/lib:/lib:/usr/lib";
00286 if (!buf)
00287 {
00288 buf_size = strlen(ldlp) + strlen(dyldlp) + strlen(stdpath) + 4;
00289 buf = malloc(buf_size);
00290 snprintf(buf, buf_size, "%s%s%s%s%s%c", dyldlp, (dyldlp[0] ? ":" : ""), ldlp, (ldlp[0] ? ":" : ""),
00291 stdpath, '\0');
00292 }
00293 return buf;
00294 }
00295
00296
00297 static const char *getSearchPath(int i)
00298 {
00299 static const char *list = 0;
00300 static char **path = (char **)0;
00301 static int end = 0;
00302 static int numsize = MAX_SEARCH_PATHS;
00303 static char **tmp;
00304
00305 if (i == -1)
00306 {
00307 return (const char*)path;
00308 }
00309 if (!path)
00310 {
00311 path = (char **)calloc(MAX_SEARCH_PATHS, sizeof(char **));
00312 }
00313 if (!list && !end)
00314 ass="keeywordtype">char **));
00312 }
00313 if (!list && !end)
00314 ass="keeywordtype">char **));
00312 }
00313 if (!list && !end)
00314 ass="keeywordtype">char **));
00312 }
00313 if (!list && !end)
00314 ass="keeywordtype">char **));
00312 }
00313 if (!list && !end)
00314 ass="keeywordtype">char **));
00312 }
00313 if (!list && !end)
00314 ass="keeywordtype">char **));
00312 }
00313 if (!list && !end)
00314 ass="keeywordtype">char **));
00312 }
00313 if (!list && !end)
00314 ass="keeywordtype">char **));
00312 }
00313 if (!list && !end)
00314 ass="keeywordtype">char **));
00312 }
00313 if (!list && !end)
00314 ass="keeywordtype">char **));
00312 }
00313 if (!list && !end)
00314 ass="keeywordtype">char **));
00312 }
00313 if (!list && !end)
00314 ass="keeywordtype">char **));
00312 }
00313 if (!list && !end)
00314 ass="keeywordtype">char **));
00312 }
00313 if (!list && !end)
00314 ass="keeywordtype">char **));
00312 }
00313 if (!list && !end)
00314 ass="keeywordtype">char **));
00312 }
00313 if (!list && !end)
00314 ass="keeywordtype">char **));
00312 }
00313 if (!list && !end)
00314 ass="keeywordtype">char **));
00312 }
00313 if (!list && !end)
00314 ass="keeywordtype">char **));
00312 }
00313 if (!list && !end)
00314 ass="keeywordtype">char **));
00312 }
00313 if (!list && !end)
00314 ass="keeywordtype">char **));
00312 }
00313 if (!list && !end)
00314 ass="keeywordtype">char **));
00312 }
00313 if (!list && !end)
00314 ass="keeywordtype">char **));
00312 }
00313 if (!list && !end)
00314 ass="keeywordtype">char **));
00312 }
00313 if (!list && !end)
00314 ass="keeywordtype">char **));
00312 }
00313 if (!list && !end)
00314 ass="keeywordtype">char **));
00312 }
00313 if (!list && !end)
00314 ass="keeywordtype">char **));
00312 }
00313 if (!list && !end)
00314 ass="keeywordtype">char **));
00312 }
00313 if (!list && !end)
00314 ass="keeywordtype">char **));
00312 }
00313 if (!list && !end)
00314 ass="keeywordtype">char **));
00312 }
00313 if (!list && !end)
00314 ass="keeywordtype">char **));
00312 }
00313 if (!list && !end)
00314 ass="keeywordtype">char **));
00312 }
00313 if (!list && !end)
00314 ass="keeywordtype">char **));
00312 }
00313 if (!list && !end)
00314 ass="keeywordtype">char **));
00312 }
00313 if (!list && !end)
00314 ass="keeywordtype">char **));
00312 }
00313 if (!list && !end)
00314 ass="keeywordtype">char **));
00312 }
00313 if (!list && !end)
00314 ass="keeywordtype">char **));
00312 }
00313 if (!list && !end)
00314 ass="keeywordtype">char **));
00312 }
00313 if (!list && !end)
00314 ass="keeywordtype">char **));
00312 }
00313 if (!list && !end)
00314 ass="keeywordtype">char **));
00312 }
00313 if (!list && !end)
00314 ass="keeywordtype">char **));
00312 }
00313 if (!list && !end)
00314 ass="keeywordtype">char **));
00312 }
00313 if (!list && !end)
00314 ass="keeywordtype">char **));
00312 }
00313 if (!list && !end)
00314 ass="keeywordtype">char **));
00312 }
00313 if (!list && !end)
00314 ass="keeywordtype">char **));
00312 }
00313 if (!list && !end)
00314 ass="keeywordtype">char **));
00312 }
00313 if (!list && !end)
00314 ass="keeywordtype">char **));
00312 }
00313 if (!list && !end)
00314 ass="keeywordtype">char **));
00312 }
00313 if (!list && !end)
00314 ass="keeywordtype">char **));
00312 }
00313 if (!list && !end)
00314 ass="keeywordtype">char **));
00312 }
00313 if (!list && !end)
00314 ass="keeywordtype">char **));
00312 }
00313 if (!list && !end)
00314 ass="keeywordtype">char **));
00312 }
00313 if (!list && !end)
00314 ass="keeywordtype">char **));
00312 }
00313 if (!list && !end)
00314 ass="keeywordtype">char **));
00312 }
00313 if (!list && !end)
00314 ass="keeywordtype">char **));
00312 }
00313 if (!list && !end)
00314 ass="keeywordtype">char **));
00312 }
00313 if (!list && !end)
00314 ass="keeywordtype">char **));
00312 }
00313 if (!list && !end)
00314 ass="keeywordtype">char **));
00312 }
00313 if (!list && !end)
00314 ass="keeywordtype">char **));
00312 }
00313 if (!list && !end)
00314 ass="keeywordtype">char **));
00312 }
00313 if (!list && !end)
00314 ass="keeywordtype">char **));
00312 }
00313 if (!list && !end)
00314 ass="keeywordtype">char **));
00312 }
00313 if (!list && !end)
00314 ass="keeywordtype">char **));
00312 }
00313 if (!list && !end)
00314 ass="keeywordtype">char **));
00312 }
00313 if (!list && !end)
00314 ass="keeywordtype">char **));
00312 }
00313 if (!list && !end)
00314 ass="keeywordtype">char **));
00312 }
00313 if (!list && !end)
00314 ass="keeywordtype">char **));
00312 }
00313 if (!list && !end)
00314 ass="keeywordtype">char **));
00312 }
00313 if (!list && !end)
00314 ass="keeywordtype">char **));
00312 }
00313 if (!list && !end)
00314 ass="keeywordtype">char **));
00312 }
00313 if (!list && !end)
00314 ass="keeywordtype">char **));
00312 }
00313 if (!list && !end)
00314 ass="keeywordtype">char **));
00312 }
00313 if (!list && !end)
00314 ass="keeywordtype">char **));
00312 }
00313 if (!list && !end)
00314 ass="keeywordtype">char **));
00312 }
00313 if (!list && !end)
00314 ass="keeywordtype">char **));
00312 }
00313 if (!list && !end)
00314 ass="keeywordtype">char **));
00312 }
00313 if (!list && !end)
00314 ass="keeywordtype">char **));
00312 }
00313 if (!list && !end)
00314 ass="keeywordtype">char **));
00312 }
00313 if (!list && !end)
00314 ass="keeywordtype">char **));
00312 }
00313 if (!list && !end)
00314 ass="keeywordtype">char **));
00312 }
00313 if (!list && !end)
00314 ass="keeywordtype">char **));
00312 }
00313 if (!list && !end)
00314 ass="keeywordtype">char **));
00312 }
00313 if (!list && !end)
00314 ass="keeywordtype">char **));
00312 }
00313 if (!list && !end)
00314 ass="keeywordtype">char **));
00312 }
00313 if (!list && !end)
00314 ass="keeywordtype">char **));
00312 }
00313 if (!list && !end)
00314 ass="keeywordtype">char **));
00312 }
00313 if (!list && !end)
00314 ass="keeywordtype">char **));
00312 }
00313 if (!list && !end)
00314 ass="keeywordtype">char **));
00312 }
00313 if (!list && !end)
00314 ass="keeywordtype">char **));
00312 }
00313 if (!list && !end)
00314 ass="keeywordtype">char **));
00312 }
00313 if (!list && !end)
00314 ass="keeywordtype">char **));
00312 }
00313 if (!list && !end)
00314 ass="keeywordtype">char **));
00312 }
00313 if (!list && !end)
00314 ass="keeywordtype">char **));
00312 }
00313 if (!list && !end)
00314 ass="keeywordtype">char **));
00312 }
00313 if (!list && !end)
00314 ass="keeywordtype">char **));
00312 }
00313 if (!list && !end)
00314 ass="keeywordtype">char **));
00312 }
00313 if (!list && !end)
00314 ass="keeywordtype">char **));
00312 }
00313 if (!list && !end)
00314 ass="keeywordtype">char **));
00312 }
00313 if (!list && !end)
00314 ass="keeywordtype">char **));
00312 }
00313 if (!list && !end)
00314 ass="keeywordtype">char **));
00312 }
00313 if (!list && !end)
00314 ass="keeywordtype">char **));
00312 }
00313 if (!list && !end)
00314 ass="keeywordtype">char **));
00312 }
00313 if (!list && !end)
00314 ass="keeywordtype">char **));
00312 }
00313 if (!list && !end)
00314 ass="keeywordtype">char **));
00312 }
00313 if (!list && !end)
00314 ass="keeywordtype">char **));
00312 }
00313 if (!list && !end)
00314 ass="keeywordtype">char **));
00312 }
00313 if (!list && !end)
00314 ass="keeywordtype">char **));
00312 }
00313 if (!list && !end)
00314 ass="keeywordtype">char **));
00312 }
00313 if (!list && !end)
00314 ass="keeywordtype">char **));
00312 }
00313 if (!list && !end)
00314 ass="keeywordtype">char **));
00312 }
00313 if (!list && !end)
00314 ass="keeywordtype">char **));
00312 }
00313 if (!list && !end)
00314 ass="keeywordtype">char **));
00312 }
00313 if (!list && !end)
00314 ass="keeywordtype">char **));
00312 }
00313 if (!list && !end)
00314 ass="keeywordtype">char **));
00312 }
00313 if (!list && !end)
00314 ass="keeywordtype">char **));
00312 }
00313 if (!list && !end)
00314 ass="keeywordtype">char **));
00312 }
00313 if (!list && !end)
00314 ass="keeywordtype">char **));
00312 }
00313 if (!list && !end)
00314 ass="keeywordtype">char **));
00312 }
00313 if (!list && !end)
00314 ass="keeywordtype">char **));
00312 }
00313 if (!list && !end)
00314 ass="keeywordtype">char **));
00312 }
00313 if (!list && !end)
00314 ass="keeywordtype">char **));
00312 }
00313 if (!list && !end)
00314 ass="keeywordtype">char **));
00312 }
00313 if (!list && !end)
00314 ass="keeywordtype">char **));
00312 }
00313 if (!list && !end)
00314 ass="keeywordtype">char **));
00312 }
00313 if (!list && !end)
00314 ass="keeywordtype">char **));
00312 }
00313 if (!list && !end)
00314 ass="keeywordtype">char **));
00312 }
00313 if (!list && !end)
00314 ass="keeywordtype">char **));
00312 }
00313 if (!list && !end)
00314 ass="keeywordtype">char **));
00312 }
00313 if (!list && !end)
00314 ass="keeywordtype">char **));
00312 }
00313 if (!list && !end)
00314 ass="keeywordtype">char **));
00312 }
00313 if (!list && !end)
00314 ass="keeywordtype">char **));
00312 }
00313 if (!list && !end)
00314 ass="keeywordtype">char **));
00312 }
00313 if (!list && !end)
00314 ass="keeywordtype">char **));
00312 }
00313 if (!list && !end)
00314 ass="keeywordtype">char **));
00312 }
00313 if (!list && !end)
00314 ass="keeywordtype">char **));
00312 }
00313 if (!list && !end)
00314 ass="keeywordtype">char **));
00312 }
00313 if (!list && !end)
00314 ass="keeywordtype">char **));
00312 }
00313 if (!list && !end)
00314 ass="keeywordtype">char **));
00312 }
00313 if (!list && !end)
00314 ass="keeywordtype">char **));
00312 }
00313 if (!list && !end)
00314 ass="keeywordtype">char **));
00312 }
00313 if (!list && !end)
00314 ass="keeywordtype">char **));
00312 }
00313 if (!list && !end)
00314 ass="keeywordtype">char **));
00312 }
00313 if (!list && !end)
00314 ass="keeywordtype">char **));
00312 }
00313 if (!list && !end)
00314 ass="keeywordtype">char **));
00312 }
00313 if (!list && !end)
00314 ass="keeywordtype">char **));
00312 }
00313 if (!list && !end)
00314 ass="keeywordtype">char **));
00312 }
00313 if (!list && !end)
00314 ass="keeywordtype">char **));
00312 }
00313 if (!list && !end)
00314 ass="keeywordtype">char **));
00312 }
00313 if (!list && !end)
00314 ass="keeywordtype">char **));
00312 }
00313 if (!list && !end)
00314 ass="keeywordtype">char **));
00312 }
00313 if (!list && !end)
00314 ass="keeywordtype">char **));
00312 }
00313 if (!list && !end)
00314 ass="keeywordtype">char **));
00312 }
00313 if (!list && !end)
00314 ass="keeywordtype">char **));
00312 }
00313 if (!list && !end)
00314 ass="keeywordtype">char **));
00312 }
00313 if (!list && !end)
00314 ass="keeywordtype">char **));
00312 }
00313 if (!list && !end)
00314 ass="keeywordtype">char **));
00312 }
00313 if (!list && !end)
00314 ass="keeywordtype">char **));
00312 }
00313 if (!list && !end)
00314 ass="keeywordtype">char **));
00312 }
00313 if (!list && !end)
00314 ass="keeywordtype">char **));
00312 }
00313 if (!list && !end)
00314 ass="keeywordtype">char **));
00312 }
00313 if (!list && !end)
00314 ass="keeywordtype">char **));
00312 }
00313 if (!list && !end)
00314 ass="keeywordtype">char **));
00312 }
00313 if (!list && !end)
00314 ass="keeywordtype">char **));
00312 }
00313 if (!list && !end)
00314 ass="keeywordtype">char **));
00312 }
00313 if (!list && !end)
00314 ass="keeywordtype">char **));
00312 }
00313 if (!list && !end)
00314 ass="keeywordtype">char **));
00312 }
00313 if (!list && !end)
00314 ass="keeywordtype">char **));
00312 }
00313 if (!list && !end)
00314 ass="keeywordtype">char **));
00312 }
00313 if (!list && !end)
00314 ass="keeywordtype">char **));
00312 }
00313 if (!list && !end)
00314 ass="keeywordtype">char **));
00312 }
00313 if (!list && !end)
00314 ass="keeywordtype">char **));
00312 }
00313 if (!list && !end)
00314 ass="keeywordtype">char **));
00312 }
00313 if (!list && !end)
00314 ass="keeywordtype">char **));
00312 }
00313 if (!list && !end)
00314 ass="keeywordtype">char **));
00312 }
00313 if (!list && !end)
00314 ass="keeywordtype">char **));
00312 }
00313 if (!list && !end)
00314 ass="keeywordtype">char **));
00312 }
00313 if (!list && !end)
00314 ass="keeywordtype">char **));
00312 }
00313 if (!list && !end)
00314 ass="keeywordtype">char **));
00312 }
00313 if (!list && !end)
00314 ass="keeywordtype">char **));
00312 }
00313 if (!list && !end)
00314 ass="keeywordtype">char **));
00312 }
00313 if (!list && !end)
00314 ass="keeywordtype">char **));
00312 }
00313 if (!list && !end)
00314 ass="keeywordtype">char **));
00312 }
00313 if (!list && !end)
00314 ass="keeywordtype">char **));
00312 }
00313 if (!list && !end)
00314 ass="keeywordtype">char **));
00312 }
00313 if (!list && !end)
00314 ass="keeywordtype">char **));
00312 }
00313 if (!list && !end)
00314 ass="keeywordtype">char **));
00312 }
00313 if (!list && !end)
00314 ass="keeywordtype">char **));
00312 }
00313 if (!list && !end)
00314 ass="keeywordtype">char **));
00312 }
00313 if (!list && !end)
00314 ass="keeywordtype">char **));
00312 }
00313 if (!list && !end)
00314 ass="keeywordtype">char **));
00312 }
00313 if (!list && !end)
00314 ass="keeywordtype">char **));
00312 }
00313 if (!list && !end)
00314 ass="keeywordtype">char **));
00312 }
00313 if (!list && !end)
00314 ass="keeywordtype">char **));
00312 }
00313 if (!list && !end)
00314 ass="keeywordtype">char **));
00312 }
00313 if (!list && !end)
00314 ass="keeywordtype">char **));
00312 }
00313 if (!list && !end)
00314 ass="keeywordtype">char **));
00312 }
00313 if (!list && !end)
00314 ass="keeywordtype">char **));
00312 }
00313 if (!list && !end)
00314 ass="keeywordtype">char **));
00312 }
00313 if (!list && !end)
00314 ass="keeywordtype">char **));
00312 }
00313 if (!list && !end)
00314 ass="keeywordtype">char **));
00312 }
00313 if (!list && !end)
00314 ass="keeywordtype">char **));
00312 }
00313 if (!list && !end)
00314 ass="keeywordtype">char **));
00312 }
00313 if (!list && !end)
00314 ass="keeywordtype">char **));
00312 }
00313 if (!list && !end)
00314 ass="keeywordtype">char **));
00312 }
00313 if (!list && !end)
00314 ass="keeywordtype">char **));
00312 }
00313 if (!list && !end)
00314 ass="keeywordtype">char **));
00312 }
00313 if (!list && !end)
00314 ass="keeywordtype">char **));
00312 }
00313 if (!list && !end)
00314 ass="keeywordtype">char **));
00312 }
00313 if (!list && !end)
00314 ass="keeywordtype">char **));
00312 }
00313 if (!list && !end)
00314 ass="keeywordtype">char **));
00312 }
00313 if (!list && !end)
00314 ass="keeywordtype">char **));
00312 }
00313 if (!list && !end)
00314 ass="keeywordtype">char **));
00312 }
00313 if (!list && !end)
00314 ass="keeywordtype">char **));
00312 }
00313 if (!list && !end)
00314 ass="keeywordtype">char **));
00312 }
00313 if (!list && !end)
00314 ass="keeywordtype">char **));
00312 }
00313 if (!list && !end)
00314 ass="keeywordtype">char **));
00312 }
00313 if (!list && !end)
00314 ass="keeywordtype">char **));
00312 }
00313 if (!list && !end)
00314 ass="keeywordtype">char **));
00312 }
00313 if (!list && !end)
00314 ass="keeywordtype">char **));
00312 }
00313 if (!list && !end)
00314 ass="keeywordtype">char **));
00312 }
00313 if (!list && !end)
00314 ass="keeywordtype">char **));
00312 }
00313 if (!list && !end)
00314 ass="keeywordtype">char **));
00312 }
00313 if (!list && !end)
00314 ass="keeywordtype">char **));
00312 }
00313 if (!list && !end)
00314 ass="keeywordtype">char **));
00312 }
00313 if (!list && !end)
00314 ass="keeywordtype">char **));
00312 }
00313 if (!list && !end)
00314 ass="keeywordtype">char **));
00312 }
00313 if (!list && !end)
00314 ass="keeywordtype">char **));
00312 }
00313 if (!list && !end)
00314 ass="keeywordtype">char **));
00312 }
00313 if (!list && !end)
00314 ass="keeywordtype">char **));
00312 }
00313 if (!list && !end)
00314 ass="keeywordtype">char **));
00312 }
00313 if (!list && !end)
00314 ass="keeywordtype">char **));
00312 }
00313 if (!list && !end)
00314 ass="keeywordtype">char **));
00312 }
00313 if (!list && !end)
00314 ass="keeywordtype">char **));
00312 }
00313 if (!list && !end)
00314 ass="keeywordtype">char **));
00312 }
00313 if (!list && !end)
00314 ass="keeywordtype">char **));
00312 }
00313 if (!list && !end)
00314 ass="keeywordtype">char **));
00312 }
00313 if (!list && !end)
00314 ass="keeywordtype">char **));
00312 }
00313 if (!list && !end)
00314 ass="keeywordtype">char **));
00312 }
00313 if (!list && !end)
00314 ass="keeywordtype">char **));
00312 }
00313 if (!list && !end)
00314 ass="keeywordtype">char **));
00312 }
00313 if (!list && !end)
00314 ass="keeywordtype">char **));
00312 }
00313 if (!list && !end)
00314 ass="keeywordtype">char **));
00312 }
00313 if (!list && !end)
00314 ass="keeywordtype">char **));
00312 }
00313 if (!list && !end)
00314 ass="keeywordtype">char **));
00312 }
00313 if (!list && !end)
00314 ass="keeywordtype">char **));
00312 }
00313 if (!list && !end)
00314 ass="keeywordtype">char **));
00312 }
00313 if (!list && !end)
00314 ass="keeywordtype">char **));
00312 }
00313 if (!list && !end)
00314 ass="keeywordtype">char **));
00312 }
00313 if (!list && !end)
00314 ass="keeywordtype">char **));
00312 }
00313 if (!list && !end)
00314 ass="keeywordtype">char **));
00312 }
00313 if (!list && !end)
00314 ass="keeywordtype">char **));
00312 }
00313 if (!list && !end)
00314 ass="keeywordtype">char **));
00312 }
00313 if (!list && !end)
00314 ass="keeywordtype">char **));
00312 }
00313 if (!list && !end)
00314 ass="keeywordtype">char **));
00312 }
00313 if (!list && !end)
00314 ass="keeywordtype">char **));
00312 }
00313 if (!list && !end)
00314 ass="keeywordtype">char **));
00312 }
00313 if (!list && !end)
00314 ass="keeywordtype">char **));
00312 }
00313 if (!list && !end)
00314 ass="keeywordtype">char **));
00312 }
00313 if (!list && !end)
00314 ass="keeywordtype">char **));
00312 }
00313 if (!list && !end)
00314 ass="keeywordtype">char **));
00312 }
00313 if (!list && !end)
00314 ass="keeywordtype">char **));
00312 }
00313 if (!list && !end)
00314 ass="keeywordtype">char **));
00312 }
00313 if (!list && !end)
00314 ass="keeywordtype">char **));
00312 }
00313 if (!list && !end)
00314 ass="keeywordtype">char **));
00312 }
00313 if (!list && !end)
00314 ass="keeywordtype">char **));
00312 }
00313 if (!list && !end)
00314 ass="keeywordtype">char **));
00312 }
00313 if (!list && !end)
00314 ass="keeywordtype">char **));
00312 }
00313 if (!list && !end)
00314 ass="keeywordtype">char **));
00312 }
00313 if (!list && !end)
00314 ass="keeywordtype">char **));
00312 }
00313 if (!list && !end)
00314 ass="keeywordtype">char **));
00312 }
00313 if (!list && !end)
00314 ass="keeywordtype">char **));
00312 }
00313 if (!list && !end)
00314 ass="keeywordtype">char **));
00312 }
00313 if (!list && !end)
00314 ass="keeywordtype">char **));
00312 }
00313 if (!list && !end)
00314 ass="keeywordtype">char **));
00312 }
00313 if (!list && !end)
00314 ass="keeywordtype">char **));
00312 }
00313 if (!list && !end)
00314 ass="keeywordtype">char **));
00312 }
00313 if (!list && !end)
00314 ass="keeywordtype">char **));
00312 }
00313 if (!list && !end)
00314 ass="keeywordtype">char **));
00312 }
00313 if (!list && !end)
00314 ass="keeywordtype">char **));
00312 }
00313 if (!list && !end)
00314 ass="keeywordtype">char **));
00312 }
00313 if (!list && !end)
00314 ass="keeywordtype">char **));
00312 }
00313 if (!list && !end)
00314 ass="keeywordtype">char **));
00312 }
00313 if (!list && !end)
00314 ass="keeywordtype">char **));
00312 }
00313 if (!list && !end)
00314 ass="keeywordtype">char **));
00312 }
00313 if (!list && !end)
00314 ass="keeywordtype">char **));
00312 }
00313 if (!list && !end)
00314 ass="keeywordtype">char **));
00312 }
00313 if (!list && !end)
00314 ass="keeywordtype">char **));
00312 }
00313 if (!list && !end)
00314 ass="keeywordtype">char **));
00312 }
00313 if (!list && !end)
00314 ass="keeywordtype">char **));
00312 }
00313 if (!list && !end)
00314 ass="keeywordtype">char **));
00312 }
00313 if (!list && !end)
00314 ass="keeywordtype">char **));
00312 }
00313 if (!list && !end)
00314 ass="keeywordtype">char **));
00312 }
00313 if (!list && !end)
00314 ass="keeywordtype">char **));
00312 }
00313 if (!list && !end)
00314 ass="keeywordtype">char **));
00312 }
00313 if (!list && !end)
00314 ass="keeywordtype">char **));
00312 }
00313 if (!list && !end)
00314 ass="keeywordtype">char **));
00312 }
00313 if (!list && !end)
00314 ass="keeywordtype">char **));
00312 }
00313 if (!list && !end)
00314 ass="keeywordtype">char **));
00312 }
00313 if (!list && !end)
00314 ass="keeywordtype">char **));
00312 }
00313 if (!list && !end)
00314 ass="keeywordtype">char **));
00312 }
00313 if (!list && !end)
00314 ass="keeywordtype">char **));
00312 }
00313 if (!list && !end)
00314 ass="keeywordtype">char **));
00312 }
00313 if (!list && !end)
00314 ass="keeywordtype">char **));
00312 }
00313 if (!list && !end)
00314 ass="keeywordtype">char **));
00312 }
00313 if (!list && !end)
00314 ass="keeywordtype">char **));
00312 }
00313 if (!list && !end)
00314 ass="keeywordtype">char **));
00312 }
00313 if (!list && !end)
00314 ass="keeywordtype">char **));
00312 }
00313 if (!list && !end)
00314 ass="keeywordtype">char **));
00312 }
00313 if (!list && !end)
00314 ass="keeywordtype">char **));
00312 }
00313 if (!list && !end)
00314 ass="keeywordtype">char **));
00312 }
00313 if (!list && !end)
00314 ass="keeywordtype">char **));
00312 }
00313 if (!list && !end)
00314 ass="keeywordtype">char **));
00312 }
00313 if (!list && !end)
00314 ass="keeywordtype">char **));
00312 }
00313 if (!list && !end)
00314 ass="keeywordtype">char **));
00312 }
00313 if (!list && !end)
00314 ass="keeywordtype">char **));
00312 }
00313 if (!list && !end)
00314 ass="keeywordtype">char **));
00312 }
00313 if (!list && !end)
00314 ass="keeywordtype">char **));
00312 }
00313 if (!list && !end)
00314 ass="keeywordtype">char **));
00312 }
00313 if (!list && !end)
00314 ass="keeywordtype">char **));
00312 }
00313 if (!list && !end)
00314 ass="keeywordtype">char **));
00312 }
00313 if (!list && !end)
00314 ass="keeywordtype">char **));
00312 }
00313 if (!list && !end)
00314 ass="keeywordtype">char **));
00312 }
00313 if (!list && !end)
00314 ass="keeywordtype">char **));
00312 }
00313 if (!list && !end)
00314 ass="keeywordtype">char **));
00312 }
00313 if (!list && !end)
00314 ass="keeywordtype">char **));
00312 }
00313 if (!list && !end)
00314 ass="keeywordtype">char **));
00312 }
00313 if (!list && !end)
00314 ass="keeywordtype">char **));
00312 }
00313 if (!list && !end)
00314 ass="keeywordtype">char **));
00312 }
00313 if (!list && !end)
00314 ass="keeywordtype">char **));
00312 }
00313 if (!list && !end)
00314 ass="keeywordtype">char **));
00312 }
00313 if (!list && !end)
00314 ass="keeywordtype">char **));
00312 }
00313 if (!list && !end)
00314 ass="keeywordtype">char **));
00312 }
00313 if (!list && !end)
00314 ass="keeywordtype">char **));
00312 }
00313 if (!list && !end)
00314 ass="keeywordtype">char **));
00312 }
00313 if (!list && !end)
00314 ass="keeywordtype">char **));
00312 }
00313 if (!list && !end)
00314 ass="keeywordtype">char **));
00312 }
00313 if (!list && !end)
00314 ass="keeywordtype">char **));
00312 }
00313 if (!list && !end)
00314 ass="keeywordtype">char **));
00312 }
00313 if (!list && !end)
00314 ass="keeywordtype">char **));
00312 }
00313 if (!list && !end)
00314 ass="keeywordtype">char **));
00312 }
00313 if (!list && !end)
00314 ass="keeywordtype">char **));
00312 }
00313 if (!list && !end)
00314 ass="keeywordtype">char **));
00312 }
00313 if (!list && !end)
00314 ass="keeywordtype">char **));
00312 }
00313 if (!list && !end)
00314 ass="keeywordtype">char **));
00312 }
00313 if (!list && !end)
00314 ass="keeywordtype">char **));
00312 }
00313 if (!list && !end)
00314 ass="keeywordtype">char **));
00312 }
00313 if (!list && !end)
00314 ass="keeywordtype">char **));
00312 }
00313 if (!list && !end)
00314 ass="keeywordtype">char **));
00312 }
00313 if (!list && !end)
00314 ass="keeywordtype">char **));
00312 }
00313 if (!list && !end)
00314 ass="keeywordtype">char **));
00312 }
00313 if (!list && !end)
00314 ass="keeywordtype">char **));
00312 }
00313 if (!list && !end)
00314 ass="keeywordtype">char **));
00312 }
00313 if (!list && !end)
00314 ass="keeywordtype">char **));
00312 }
00313 if (!list && !end)
00314 ass="keeywordtype">char **));
00312 }
00313 if (!list && !end)
00314 ass="keeywordtype">char **));
00312 }
00313 if (!list && !end)
00314 ass="keeywordtype">char **));
00312 }
00313 if (!list && !end)
00314 ass="keeywordtype">char **));
00312 }
00313 if (!list && !end)
00314 ass="keeywordtype">char **));
00312 }
00313 if (!list && !end)
00314 ass="keeywordtype">char **));
00312 }
00313 if (!list && !end)
00314 ass="keeywordtype">char **));
00312 }
00313 if (!list && !end)
00314 ass="keeywordtype">char **));
00312 }
00313 if (!list && !end)
00314 ass="keeywordtype">char **));
00312 }
00313 if (!list && !end)
00314 ass="keeywordtype">char **));
00312 }
00313 if (!list && !end)
00314 ass="keeywordtype">char **));
00312 }
00313 if (!list && !end)
00314 ass="keeywordtype">char **));
00312 }
00313 if (!list && !end)
00314 ass="keeywordtype">char **));
00312 }
00313 if (!list && !end)
00314 ass="keeywordtype">char **));
00312 }
00313 if (!list && !end)
00314 ass="keeywordtype">char **));
00312 }
00313 if (!list && !end)
00314 ass="keeywordtype">char **));
00312 }
00313 if (!list && !end)
00314 ass="keeywordtype">char **));
00312 }
00313 if (!list && !end)
00314 ass="keeywordtype">char **));
00312 }
00313 if (!list && !end)
00314 ass="keeywordtype">char **));
00312 }
00313 if (!list && !end)
00314 ass="keeywordtype">char **));
00312 }
00313 if (!list && !end)
00314 ass="keeywordtype">char **));
00312 }
00313 if (!list && !end)
00314 ass="keeywordtype">char **));
00312 }
00313 if (!list && !end)
00314 ass="keeywordtype">char **));
00312 }
00313 if (!list && !end)
00314 ass="keeywordtype">char **));
00312 }
00313 if (!list && !end)
00314 ass="keeywordtype">char **));
00312 }
00313 if (!list && !end)
00314 ass="keeywordtype">char **));
00312 }
00313 if (!list && !end)
00314 ass="keeywordtype">char **));
00312 }
00313 if (!list && !end)
00314 ass="keeywordtype">char **));
00312 }
00313 if (!list && !end)
00314 ass="keeywordtype">char **));
00312 }
00313 if (!list && !end)
00314 ass="keeywordtype">char **));
00312 }
00313 if (!list && !end)
00314 ass="keeywordtype">char **));
00312 }
00313 if (!list && !end)
00314 ass="keeywordtype">char **));
00312 }
00313 if (!list && !end)
00314 ass="keeywordtype">char **));
00312 }
00313 if (!list && !end)
00314 ass="keeywordtype">char **));
00312 }
00313 if (!list && !end)
00314 ass="keeywordtype">char **));
00312 }
00313 if (!list && !end)
00314 ass="keeywordtype">char **));
00312 }
00313 if (!list && !end)
00314 ass="keeywordtype">char **));
00312 }
00313 if (!list && !end)
00314 ass="keeywordtype">char **));
00312 }
00313 if (!list && !end)
00314 ass="keeywordtype">char **));
00312 }
00313 if (!list && !end)
00314 ass="keeywordtype">char **));
00312 }
00313 if (!list && !end)
00314 ass="keeywordtype">char **));
00312 }
00313 if (!list && !end)
00314 ass="keeywordtype">char **));
00312 }
00313 if (!list && !end)
00314 ass="keeywordtype">char **));
00312 }
00313 if (!list && !end)
00314 ass="keeywordtype">char **));
00312 }
00313 if (!list && !end)
00314 ass="keeywordtype">char **));
00312 }
00313 if (!list && !end)
00314 ass="keeywordtype">char **));
00312 }
00313 if (!list && !end)
00314 ass="keeywordtype">char **));
00312 }
00313 if (!list && !end)
00314 ass="keeywordtype">char **));
00312 }
00313 if (!list && !end)
00314 ass="keeywordtype">char **));
00312 }
00313 if (!list && !end)
00314 ass="keeywordtype">char **));
00312 }
00313 if (!list && !end)
00314 ass="keeywordtype">char **));
00312 }
00313 if (!list && !end)
00314 ass="keeywordtype">char **));
00312 }
00313 if (!list && !end)
00314 ass="keeywordtype">char **));
00312 }
00313 if (!list && !end)
00314 ass="keeywordtype">char **));
00312 }
00313 if (!list && !end)
00314 ass="keeywordtype">char **));
00312 }
00313 if (!list && !end)
00314 ass="keeywordtype">char **));
00312 }
00313 if (!list && !end)
00314 ass="keeywordtype">char **));
00312 }
00313 if (!list && !end)
00314 ass="keeywordtype">char **));
00312 }
00313 if (!list && !end)
00314 ass="keeywordtype">char **));
00312 }
00313 if (!list && !end)
00314 ass="keeywordtype">char **));
00312 }
00313 if (!list && !end)
00314 ass="keeywordtype">char **));
00312 }
00313 if (!list && !end)
00314 ass="keeywordtype">char **));
00312 }
00313 if (!list && !end)
00314 ass="keeywordtype">char **));
00312 }
00313 if (!list && !end)
00314 ass="keeywordtype">char **));
00312 }
00313 if (!list && !end)
00314 ass="keeywordtype">char **));
00312 }
00313 if (!list && !end)
00314 ass="keeywordtype">char **));
00312 }
00313 if (!list && !end)
00314 ass="keeywordtype">char **));
00312 }
00313 if (!list && !end)
00314 ass="keeywordtype">char **));
00312 }
00313 if (!list && !end)
00314 ass="keeywordtype">char **));
00312 }
00313 if (!list && !end)
00314 ass="keeywordtype">char **));
00312 }
00313 if (!list && !end)
00314 ass="keeywordtype">char **));
00312 }
00313 if (!list && !end)
00314 ass="keeywordtype">char **));
00312 }
00313 if (!list && !end)
00314 ass="keeywordtype">char **));
00312 }
00313 if (!list && !end)
00314 ass="keeywordtype">char **));
00312 }
00313 if (!list && !end)
00314 ass="keeywordtype">char **));
00312 }
00313 if (!list && !end)
00314 ass="keeywordtype">char **));
00312 }
00313 if (!list && !end)
00314 ass="keeywordtype">char **));
00312 }
00313 if (!list && !end)
00314 ass="keeywordtype">char **));
00312 }
00313 if (!list && !end)
00314 ass="keeywordtype">char **));
00312 }
00313 if (!list && !end)
00314 ass="keeywordtype">char **));
00312 }
00313 if (!list && !end)
00314 ass="keeywordtype">char **));
00312 }
00313 if (!list && !end)
00314 ass="keeywordtype">char **));
00312 }
00313 if (!list && !end)
00314 ass="keeywordtype">char **));
00312 }
00313 if (!list && !end)
00314 ass="keeywordtype">char **));
00312 }
00313 if (!list && !end)
00314 ass="keeywordtype">char **));
00312 }
00313 if (!list && !end)
00314 ass="keeywordtype">char **));
00312 }
00313 if (!list && !end)
00314 ass="keeywordtype">char **));
00312 }
00313 if (!list && !end)
00314 ass="keeywordtype">char **));
00312 }
00313 if (!list && !end)
00314 ass="keeywordtype">char **));
00312 }
00313 if (!list && !end)
00314 ass="keeywordtype">char **));
00312 }
00313 if (!list && !end)
00314 ass="keeywordtype">char **));
00312 }
00313 if (!list && !end)
00314 ass="keeywordtype">char **));
00312 }
00313 if (!list && !end)
00314 ass="keeywordtype">char **));
00312 }
00313 if (!list && !end)
00314 ass="keeywordtype">char **));
00312 }
00313 if (!list && !end)
00314 ass="keeywordtype">char **));
00312 }
00313 if (!list && !end)
00314 ass="keeywordtype">char **));
00312 }
00313 if (!list && !end)
00314 ass="keeywordtype">char **));
00312 }
00313 if (!list && !end)
00314 ass="keeywordtype">char **));
00312 }
00313 if (!list && !end)
00314 ass="keeywordtype">char **));
00312 }
00313 if (!list && !end)
00314 ass="keeywordtype">char **));
00312 }
00313 if (!list && !end)
00314 ass="keeywordtype">char **));
00312 }
00313 if (!list && !end)
00314 ass="keeywordtype">char **));
00312 }
00313 if (!list && !end)
00314 ass="keeywordtype">char **));
00312 }
00313 if (!list && !end)
00314 ass="keeywordtype">char **));
00312 }
00313 if (!list && !end)
00314 ass="keeywordtype">char **));
00312 }
00313 if (!list && !end)
00314 ass="keeywordtype">char **));
00312 }
00313 if (!list && !end)
00314 ass="keeywordtype">char **));
00312 }
00313 if (!list && !end)
00314 ass="keeywordtype">char **));
00312 }
00313 if (!list && !end)
00314 ass="keeywordtype">char **));
00312 }
00313 if (!list && !end)
00314 ass="keeywordtype">char **));
00312 }
00313 if (!list && !end)
00314 ass="keeywordtype">char **));
00312 }
00313 if (!list && !end)
00314 ass="keeywordtype">char **));
00312 }
00313 if (!list && !end)
00314 ass="keeywordtype">char **));
00312 }
00313 if (!list && !end)
00314 ass="keeywordtype">char **));
00312 }
00313 if (!list && !end)
00314 ass="keeywordtype">char **));
00312 }
00313 if (!list && !end)
00314 ass="keeywordtype">char **));
00312 }
00313 if (!list && !end)
00314 ass="keeywordtype">char **));
00312 }
00313 if (!list && !end)
00314 ass="keeywordtype">char **));
00312 }
00313 if (!list && !end)
00314 ass="keeywordtype">char **));
00312 }
00313 if (!list && !end)
00314 ass="keeywordtype">char **));
00312 }
00313 if (!list && !end)
00314 ass="keeywordtype">char **));
00312 }
00313 if (!list && !end)
00314 ass="keeywordtype">char **));
00312 }
00313 if (!list && !end)
00314 ass="keeywordtype">char **));
00312 }
00313 if (!list && !end)
00314 ass="keeywordtype">char **));
00312 }
00313 if (!list && !end)
00314 ass="keeywordtype">char **));
00312 }
00313 if (!list && !end)
00314 ass="keeywordtype">char **));
00312 }
00313 if (!list && !end)
00314 ass="keeywordtype">char **));
00312 }
00313 if (!list && !end)
00314 ass="keeywordtype">char **));
00312 }
00313 if (!list && !end)
00314 ass="keeywordtype">char **));
00312 }
00313 if (!list && !end)
00314 ass="keeywordtype">char **));
00312 }
00313 if (!list && !end)
00314 ass="keeywordtype">char **));
00312 }
00313 if (!list && !end)
00314 ass="keeywordtype">char **));
00312 }
00313 if (!list && !end)
00314 ass="keeywordtype">char **));
00312 }
00313 if (!list && !end)
00314 ass="keeywordtype">char **));
00312 }
00313 if (!list && !end)
00314 ass="keeywordtype">char **));
00312 }
00313 if (!list && !end)
00314 ass="keeywordtype">char **));
00312 }
00313 if (!list && !end)
00314 ass="keeywordtype">char **));
00312 }
00313 if (!list && !end)
00314 ass="keeywordtype">char **));
00312 }
00313 if (!list && !end)
00314 ass="keeywordtype">char **));
00312 }
00313 if (!list && !end)
00314 ass="keeywordtype">char **));
00312 }
00313 if (!list && !end)
00314 ass="keeywordtype">char **));
00312 }
00313 if (!list && !end)
00314 ass="keeywordtype">char **));
00312 }
00313 if (!list && !end)
00314 ass="keeywordtype">char **));
00312 }
00313 if (!list && !end)
00314 ass="keeywordtype">char **));
00312 }
00313 if (!list && !end)
00314 ass="keeywordtype">char **));
00312 }
00313 if (!list && !end)
00314 ass="keeywordtype">char **));
00312 }
00313 if (!list && !end)
00314 ass="keeywordtype">char **));
00312 }
00313 if (!list && !end)
00314 ass="keeywordtype">char **));
00312 }
00313 if (!list && !end)
00314 ass="keeywordtype">char **));
00312 }
00313 if (!list && !end)
00314 ass="keeywordtype">char **));
00312 }
00313 if (!list && !end)
00314 ass="keeywordtype">char **));
00312 }
00313 if (!list && !end)
00314 ass="keeywordtype">char **));
00312 }
00313 if (!list && !end)
00314 ass="keeywordtype">char **));
00312 }
00313 if (!list && !end)
00314 ass="keeywordtype">char **));
00312 }
00313 if (!list && !end)
00314 ass="keeywordtype">char **));
00312 }
00313 if (!list && !end)
00314 ass="keeywordtype">char **));
00312 }
00313 if (!list && !end)
00314 ass="keeywordtype">char **));
00312 }
00313 if (!list && !end)
00314 ass="keeywordtype">char **));
00312 }
00313 if (!list && !end)
00314 ass="keeywordtype">char **));
00312 }
00313 if (!list && !end)
00314 ass="keeywordtype">char **));
00312 }
00313 if (!list &&am