Comparar commits

..

1 Commits

Autor SHA1 Mensagem Data
msweet 6a383a416a Import cups.org releases
git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/tags/release-1.1.2@4306 a1ca3aef-8c08-0410-bb20-df032aa958be
2013-05-10 18:56:23 +00:00
154 arquivos alterados com 57490 adições e 2488 exclusões
+1 -85
Ver Arquivo
@@ -1,90 +1,6 @@
CHANGES.txt - 09/06/2000
CHANGES.txt - 08/04/2000
------------------------
CHANGES IN CUPS v1.1.3
- Makefile fixes.
- RPM spec file changes.
- Documentation updates.
- Enabled pstoraster debug messages for everything
(only logged when LogLevel set to "debug"...)
- Changed the Input/OutputAttributes fix in
pstoraster so that it works on all platforms.
- The HP-GL/2 filter didn't set the right green
color value in encoded polylines or text.
- Updated the "fitplot" code to handle plot sizes
specified as "PSwidth,length" and "PSlength,width".
- Updated the Linux parallel and USB backends to open
the device files prior to looking in /proc for
autoprobe info. This makes sure that loadable device
driver modules are in fact loaded...
- Added new FilterLimit directive to limit the number
of processing jobs/filters on a system.
- set-job-attributes didn't change the job-state to
held/pending when the job-hold-until attribute was
specified.
- set-job-attributes didn't save the new job attributes.
- Now change the "requesting-user-name" attribute in
requests from remote systems to "remroot" when an
unauthenticated "root" user is sent. This can be
changed using the new RemoteRoot directive in
cupsd.conf.
- The cancel-job, hold-job, release-job, and restart-job
operations didn't log the authenticated username.
- The cups-lpd mini-daemon now checks for a
document-format option before forcing raw mode with
filter mode 'l'.
- The cups-lpd mini-daemon now supports "-o" options
on the command-line (passed by inetd) to set global
defaults for all print queues.
- The pstops filter assumed that a file with a Trailer
comment would also have an EOF comment.
- Added new cupsSetPasswordCB(), cupsSetServer(),
cupsSetUser(), and ippSetPort() functions to better
support client applications (especially GUIs...)
- The CUPS-add-class and CUPS-add-printer operations
didn't reset the printer-name attribute on remote
print queues that had to be renamed when a local
printer was defined with the same name.
- The lpoptions command now supports a "-r" option to
remove options for a printer or instance.
- The lpadmin and admin.cgi programs no longer allow
class and printer names to begin with a number; this
caused the command-line utilities to become confused.
- The Linux USB backend now looks for both the parallel
and usblp driver names in the device list.
- Added a new FontPath directive to cupsd.conf, and also
a "--with-fontpath" option for the configure script to
specify alternate font paths for pstoraster.
- The CUPS-move-job operation didn't update the
job-printer-uri attribute.
- The scheduler only looked up printers and classes by
name in IPP requests, instead of using the full URI.
This caused problems with KUPS and friends with
remote printers.
- The scheduler now handles better localization of
hostnames (e.g. server is host.foo.com, remote is
host.subfoo.foo.com, localized is not host.subfoo...)
- The scheduler logging functions now use a common
log file checking/rotation function (courtesy of
Crutcher Dunnavant at Red Hat)
- The scheduler could accept more client connections
than it allocated for if more than one Port or Listen
line was present in cupsd.conf.
- Other minor scheduler performance tweeks.
- The lpq and lprm commands didn't support the default
printer set using lpoptions.
- The lpoptions command now supports a "-l" option to
list the printer-specific options and their current
settings.
- The web printer and class lists now show a link to the
default printer or class at the top of the page.
- The text filter now supports pretty printing of shell
and perl scripts as well as C/C++ source files.
- The top and bottom margins were reversed for landscape
text printing.
CHANGES IN CUPS v1.1.2
- Makefile/configure fixes
+4 -12
Ver Arquivo
@@ -70,22 +70,14 @@ install:
(cd fonts; $(MAKE) $(MFLAGS) install)
echo Installing in locale...
(cd locale; $(MAKE) $(MFLAGS) install)
echo Installing in ppd...
(cd ppd; $(MAKE) $(MFLAGS) install)
echo Installing in templates...
(cd templates; $(MAKE) $(MFLAGS) install)
echo Installing startup script...
if test "x$INITDIR" != "x"; then \
$(MKDIR) $(prefix)/$(INITDIR)/init.d; \
$(RM) $(prefix)/$(INITDIR)/init.d/cups; \
$(INSTALL_SCRIPT) cups.sh $(prefix)/$(INITDIR)/init.d/cups; \
$(CHMOD) ugo+rx $(prefix)/$(INITDIR)/init.d/cups; \
$(MKDIR) $(prefix)/$(INITDIR)/rc0.d; \
$(RM) $(prefix)/$(INITDIR)/rc0.d/K00cups; \
ln -s $(INITDDIR)/cups $(prefix)/$(INITDIR)/rc0.d/K00cups; \
$(MKDIR) $(prefix)/$(INITDIR)/rc3.d; \
$(RM) $(prefix)/$(INITDIR)/rc3.d/S99cups; \
ln -s $(INITDDIR)/cups $(prefix)/$(INITDIR)/rc3.d/S99cups; \
$(INSTALL_SCRIPT) cups.sh $prefix/$INITDIR/init.d/cups; \
$(CHMOD) ugo+rx $prefix/$INITDIR/init.d/cups; \
ln -s $INITDDIR/cups $prefix/$INITDIR/rc0.d/K00cups; \
ln -s $INITDDIR/cups $prefix/$INITDIR/rc2.d/S99cups; \
fi
#
+1 -1
Ver Arquivo
@@ -41,7 +41,7 @@ all: $(TARGETS)
#
clean:
$(RM) $(OBJS) $(TARGETS) http
$(RM) $(OBJS) $(TARGETS)
#
+19 -42
Ver Arquivo
@@ -275,8 +275,7 @@ list_devices(void)
#ifdef __linux
int i; /* Looping var */
int fd; /* File descriptor */
char device[255], /* Device filename */
probefile[255]; /* Probe filename */
char device[255]; /* Device filename */
FILE *probe; /* /proc/parport/n/autoprobe file */
char line[1024], /* Line from file */
*delim, /* Delimiter in file */
@@ -286,41 +285,9 @@ list_devices(void)
for (i = 0; i < 4; i ++)
{
/*
* First open the device to make sure the driver module is loaded...
*/
sprintf(device, "/dev/lp%d", i);
if ((fd = open(device, O_WRONLY)) >= 0)
close(fd);
else
sprintf(device, "/proc/parport/%d/autoprobe", i);
if ((probe = fopen(device, "r")) != NULL)
{
sprintf(device, "/dev/par%d", i);
if ((fd = open(device, O_WRONLY)) >= 0)
close(fd);
}
/*
* Then try looking at the probe file...
*/
sprintf(probefile, "/proc/parport/%d/autoprobe", i);
if ((probe = fopen(probefile, "r")) == NULL)
{
/*
* Linux 2.4 kernel has different path...
*/
sprintf(probefile, "/proc/sys/dev/parport/parport%d/autoprobe", i);
probe = fopen(probefile, "r");
}
if (probe != NULL)
{
/*
* Found a probe file!
*/
memset(make, 0, sizeof(make));
memset(model, 0, sizeof(model));
strcpy(model, "Unknown");
@@ -357,13 +324,23 @@ list_devices(void)
printf("direct parallel:/dev/lp%d \"%s\" \"Parallel Port #%d\"\n",
i, model, i + 1);
}
else if (fd >= 0)
else
{
/*
* No probe file, but we know the port is there...
*/
printf("direct parallel:%s \"Unknown\" \"Parallel Port #%d\"\n", device, i + 1);
sprintf(device, "/dev/lp%d", i);
if ((fd = open(device, O_WRONLY)) >= 0)
{
close(fd);
printf("direct parallel:%s \"Unknown\" \"Parallel Port #%d\"\n", device, i + 1);
}
else
{
sprintf(device, "/dev/par%d", i);
if ((fd = open(device, O_WRONLY)) >= 0)
{
close(fd);
printf("direct parallel:%s \"Unknown\" \"Parallel Port #%d\"\n", device, i + 1);
}
}
}
}
#elif defined(__sgi)
+2 -25
Ver Arquivo
@@ -262,33 +262,15 @@ list_devices(void)
int i; /* Looping var */
int fd; /* File descriptor */
char device[255]; /* Device filename */
FILE *probe; /* /proc/bus/usb/devices file */
FILE *probe; /* /proc/parport/n/autoprobe file */
char line[1024], /* Line from file */
*delim, /* Delimiter in file */
make[IPP_MAX_NAME], /* Make from file */
model[IPP_MAX_NAME]; /* Model from file */
/*
* First try opening one of the USB devices to load the driver
* module as needed...
*/
if ((fd = open("/dev/usb/lp0", O_WRONLY)) >= 0)
close(fd); /* 2.3.x and 2.4.x */
else if ((fd = open("/dev/usblp0", O_WRONLY)) >= 0)
close(fd); /* 2.2.x */
/*
* Then look at the device list for the USB bus...
*/
if ((probe = fopen("/proc/bus/usb/devices", "r")) != NULL)
{
/*
* Scan the device list...
*/
i = 0;
memset(make, 0, sizeof(make));
@@ -323,8 +305,7 @@ list_devices(void)
strncpy(model, line + 12, sizeof(model) - 1);
}
else if (strncmp(line, "I:", 2) == 0 &&
(strstr(line, "Driver=printer") != NULL ||
strstr(line, "Driver=usblp") != NULL) &&
strstr(line, "Driver=printer") != NULL &&
make[0] && model[0])
{
/*
@@ -345,10 +326,6 @@ list_devices(void)
}
else
{
/*
* Just probe manually for USB devices...
*/
for (i = 0; i < 8; i ++)
{
sprintf(device, "/dev/usb/lp%d", i);
+1 -13
Ver Arquivo
@@ -68,9 +68,6 @@ main(int argc, /* I - Number of command-line arguments */
int id, /* Desired job ID */
interval, /* Reporting interval */
longstatus; /* Show file details */
int num_dests; /* Number of destinations */
cups_dest_t *dests; /* Destinations */
/*
* Connect to the scheduler...
@@ -82,18 +79,12 @@ main(int argc, /* I - Number of command-line arguments */
* Check for command-line options...
*/
dest = NULL;
dest = cupsGetDefault();
user = NULL;
id = 0;
interval = 0;
longstatus = 0;
num_dests = cupsGetDests(&dests);
for (i = 0; i < num_dests; i ++)
if (dests[i].is_default)
dest = dests[i].name;
for (i = 1; i < argc; i ++)
if (argv[i][0] == '+')
interval = atoi(argv[i] + 1);
@@ -117,8 +108,6 @@ main(int argc, /* I - Number of command-line arguments */
default :
fputs("Usage: lpq [-P dest] [-l] [+interval]\n", stderr);
httpClose(http);
cupsFreeDests(num_dests, dests);
return (1);
}
}
@@ -151,7 +140,6 @@ main(int argc, /* I - Number of command-line arguments */
* Close the connection to the server and return...
*/
cupsFreeDests(num_dests, dests);
httpClose(http);
return (0);
+2 -5
Ver Arquivo
@@ -123,17 +123,14 @@ main(int argc, /* I - Number of command-line arguments */
break;
case 'l' : /* Literal/raw */
num_options = cupsAddOption("raw", "", num_options, &options);
num_options = cupsParseOptions("raw", num_options, &options);
break;
case 'p' : /* Prettyprint */
num_options = cupsAddOption("prettyprint", "", num_options, &options);
num_options = cupsParseOptions("prettyprint", num_options, &options);
break;
case 'h' : /* Suppress burst page */
num_options = cupsAddOption("job-sheets", "none", num_options, &options);
break;
case 's' : /* Don't use symlinks */
break;
+1 -19
Ver Arquivo
@@ -55,8 +55,6 @@ main(int argc, /* I - Number of command-line arguments */
ipp_t *response; /* IPP response */
ipp_op_t op; /* Operation */
cups_lang_t *language; /* Language */
int num_dests; /* Number of destinations */
cups_dest_t *dests; /* Destinations */
/*
@@ -65,16 +63,10 @@ main(int argc, /* I - Number of command-line arguments */
op = IPP_CANCEL_JOB;
job_id = 0;
dest = NULL;
dest = cupsGetDefault();
response = NULL;
http = NULL;
num_dests = cupsGetDests(&dests);
for (i = 0; i < num_dests; i ++)
if (dests[i].is_default)
dest = dests[i].name;
/*
* Open a connection to the server...
*/
@@ -82,7 +74,6 @@ main(int argc, /* I - Number of command-line arguments */
if ((http = httpConnect(cupsServer(), ippPort())) == NULL)
{
fputs("lprm: Unable to contact server!\n", stderr);
cupsFreeDests(num_dests, dests);
return (1);
}
@@ -106,8 +97,6 @@ main(int argc, /* I - Number of command-line arguments */
default :
fprintf(stderr, "lprm: Unknown option \'%c\'!\n", argv[i][1]);
cupsFreeDests(num_dests, dests);
httpClose(http);
return (1);
}
else
@@ -207,8 +196,6 @@ main(int argc, /* I - Number of command-line arguments */
else
{
fputs("lprm: Unable to cancel job(s)!\n", stderr);
cupsFreeDests(num_dests, dests);
httpClose(http);
return (1);
}
}
@@ -222,14 +209,9 @@ main(int argc, /* I - Number of command-line arguments */
if (!cupsCancelJob(dest, 0))
{
fputs("lprm: Unable to cancel job(s)!\n", stderr);
cupsFreeDests(num_dests, dests);
httpClose(http);
return (1);
}
cupsFreeDests(num_dests, dests);
httpClose(http);
return (0);
}
+6 -12
Ver Arquivo
@@ -263,12 +263,9 @@ do_am_class(http_t *http, /* I - HTTP connection */
}
name = cgiGetVariable("PRINTER_NAME");
if (isdigit(*name))
ptr = name;
else
for (ptr = name; *ptr; ptr ++)
if (!isalnum(*ptr) && *ptr != '_')
break;
for (ptr = name; *ptr; ptr ++)
if (!isalnum(*ptr) && *ptr != '_')
break;
if (*ptr || ptr == name)
{
@@ -568,12 +565,9 @@ do_am_printer(http_t *http, /* I - HTTP connection */
}
name = cgiGetVariable("PRINTER_NAME");
if (isdigit(*name))
ptr = name;
else
for (ptr = name; *ptr; ptr ++)
if (!isalnum(*ptr) && *ptr != '_')
break;
for (ptr = name; *ptr; ptr ++)
if (!isalnum(*ptr) && *ptr != '_')
break;
if (*ptr || ptr == name)
{
-57
Ver Arquivo
@@ -46,7 +46,6 @@ main(int argc, /* I - Number of command-line arguments */
http_t *http; /* Connection to the server */
ipp_t *request, /* IPP request */
*response; /* IPP response */
ipp_attribute_t *attr; /* IPP attribute */
ipp_status_t status; /* Operation status... */
char uri[HTTP_MAX_URI];
/* Printer URI */
@@ -99,62 +98,6 @@ main(int argc, /* I - Number of command-line arguments */
if (op == NULL || strcasecmp(op, "print-test-page") != 0)
{
/*
* Get the default destination...
*/
request = ippNew();
request->request.op.operation_id = CUPS_GET_DEFAULT;
request->request.op.request_id = 1;
ippAddString(request, IPP_TAG_OPERATION, IPP_TAG_CHARSET,
"attributes-charset", NULL, cupsLangEncoding(language));
ippAddString(request, IPP_TAG_OPERATION, IPP_TAG_LANGUAGE,
"attributes-natural-language", NULL, language->language);
if ((response = cupsDoRequest(http, request, "/")) != NULL)
{
if ((attr = ippFindAttribute(response, "printer-name", IPP_TAG_NAME)) != NULL)
cgiSetVariable("DEFAULT_NAME", attr->values[0].string.text);
if ((attr = ippFindAttribute(response, "printer-uri-supported", IPP_TAG_URI)) != NULL)
{
char method[HTTP_MAX_URI],
username[HTTP_MAX_URI],
hostname[HTTP_MAX_URI],
resource[HTTP_MAX_URI],
uri[HTTP_MAX_URI];
int port; /* URI data */
char server[1024]; /* Name of server */
/*
* Map localhost access to localhost...
*/
httpSeparate(attr->values[0].string.text, method, username,
hostname, &port, resource);
if (strcasecmp(hostname, server) == 0 &&
(strcmp(getenv("REMOTE_HOST"), "127.0.0.1") == 0 ||
strcmp(getenv("REMOTE_HOST"), "localhost") == 0 ||
strcmp(getenv("REMOTE_HOST"), server) == 0))
strcpy(hostname, "localhost");
/*
* Rewrite URI with HTTP address...
*/
snprintf(uri, sizeof(uri), "http://%s:%d%s", hostname, port,
resource);
cgiSetVariable("DEFAULT_URI", uri);
}
ippDelete(response);
}
/*
* Get the class info...
*/
+1 -2
Ver Arquivo
@@ -206,8 +206,7 @@ ippSetCGIVars(ipp_t *response, /* I - Response data to be copied... */
if (strcasecmp(hostname, server) == 0 &&
(strcmp(getenv("REMOTE_HOST"), "127.0.0.1") == 0 ||
strcmp(getenv("REMOTE_HOST"), "localhost") == 0 ||
strcmp(getenv("REMOTE_HOST"), server) == 0))
strcmp(getenv("REMOTE_HOST"), "localhost") == 0))
strcpy(hostname, "localhost");
/*
-57
Ver Arquivo
@@ -46,7 +46,6 @@ main(int argc, /* I - Number of command-line arguments */
http_t *http; /* Connection to the server */
ipp_t *request, /* IPP request */
*response; /* IPP response */
ipp_attribute_t *attr; /* IPP attribute */
ipp_status_t status; /* Operation status... */
char uri[HTTP_MAX_URI];
/* Printer URI */
@@ -99,62 +98,6 @@ main(int argc, /* I - Number of command-line arguments */
if (op == NULL || strcasecmp(op, "print-test-page") != 0)
{
/*
* Get the default destination...
*/
request = ippNew();
request->request.op.operation_id = CUPS_GET_DEFAULT;
request->request.op.request_id = 1;
ippAddString(request, IPP_TAG_OPERATION, IPP_TAG_CHARSET,
"attributes-charset", NULL, cupsLangEncoding(language));
ippAddString(request, IPP_TAG_OPERATION, IPP_TAG_LANGUAGE,
"attributes-natural-language", NULL, language->language);
if ((response = cupsDoRequest(http, request, "/")) != NULL)
{
if ((attr = ippFindAttribute(response, "printer-name", IPP_TAG_NAME)) != NULL)
cgiSetVariable("DEFAULT_NAME", attr->values[0].string.text);
if ((attr = ippFindAttribute(response, "printer-uri-supported", IPP_TAG_URI)) != NULL)
{
char method[HTTP_MAX_URI],
username[HTTP_MAX_URI],
hostname[HTTP_MAX_URI],
resource[HTTP_MAX_URI],
uri[HTTP_MAX_URI];
int port; /* URI data */
char server[1024]; /* Name of server */
/*
* Map localhost access to localhost...
*/
httpSeparate(attr->values[0].string.text, method, username,
hostname, &port, resource);
if (strcasecmp(hostname, server) == 0 &&
(strcmp(getenv("REMOTE_HOST"), "127.0.0.1") == 0 ||
strcmp(getenv("REMOTE_HOST"), "localhost") == 0 ||
strcmp(getenv("REMOTE_HOST"), server) == 0))
strcpy(hostname, "localhost");
/*
* Rewrite URI with HTTP address...
*/
snprintf(uri, sizeof(uri), "http://%s:%d%s", hostname, port,
resource);
cgiSetVariable("DEFAULT_URI", uri);
}
ippDelete(response);
}
/*
* Get the printer info...
*/
+5 -29
Ver Arquivo
@@ -1,5 +1,5 @@
#
# "$Id: cupsd.conf 1344 2000-09-06 18:32:40Z mike $"
# "$Id: cupsd.conf 1171 2000-06-27 21:15:41Z mike $"
#
# Sample configuration file for the Common UNIX Printing System (CUPS)
# scheduler.
@@ -111,13 +111,6 @@
#ErrorLog /var/log/cups/error_log
#
# FontPath: the path to locate all font files (currently only for pstoraster)
# By default /usr/share/cups/fonts.
#
#FontPath /usr/share/cups/fonts
#
# LogLevel: controls the number of messages logged to the ErrorLog
# file and can be one of the following:
@@ -177,13 +170,6 @@ LogLevel info
#RequestRoot /var/spool/cups
#
# RemoteRoot: the name of the user assigned to unauthenticated accesses
# from remote systems. By default "remroot".
#
#RemoteRoot remroot
#
# ServerBin: the root directory for the scheduler executables.
# By default /usr/lib/cups or /usr/lib32/cups (IRIX 6.5).
@@ -227,22 +213,12 @@ LogLevel info
#
# TempDir: the directory to put temporary files in. This directory must be
# writable by the user defined above! Defaults to "/var/spool/cups/tmp" or
# the value of the TMPDIR environment variable.
# writable by the user defined above! Defaults to "/var/tmp" or the value
# of the TMPDIR environment variable.
#
#TempDir /var/spool/cups/tmp
#TempDir /var/tmp
#
# FilterLimit: sets the maximum cost of all job filters that can be run
# at the same time. A limit of 0 means no limit. A typical job may need
# a filter limit of at least 200; limits less than the minimum required
# by a job force a single job to be printed at any time.
#
# The default limit is 0 (unlimited).
#
#FilterLimit 0
########
######## Network Options
@@ -562,5 +538,5 @@ Allow From 127.0.0.1
</Location>
#
# End of "$Id: cupsd.conf 1344 2000-09-06 18:32:40Z mike $".
# End of "$Id: cupsd.conf 1171 2000-06-27 21:15:41Z mike $".
#
+13 -16
Ver Arquivo
@@ -1,5 +1,5 @@
#
# "$Id: mime.convs 1340 2000-09-06 13:53:00Z mike $"
# "$Id: mime.convs 1270 2000-08-03 18:05:22Z mike $"
#
# MIME converts file for the Common UNIX Printing System (CUPS).
#
@@ -41,26 +41,23 @@
# PostScript filters
#
#application/msword application/postscript 33 mswordtops
application/pdf application/postscript 33 pdftops
application/postscript application/vnd.cups-postscript 66 pstops
application/vnd.hp-HPGL application/postscript 66 hpgltops
image/* application/vnd.cups-postscript 66 imagetops
#text/html application/postscript 33 htmltops
application/x-cshell application/postscript 33 texttops
application/x-perl application/postscript 33 texttops
application/x-shell application/postscript 33 texttops
text/html application/postscript 33 texttops
text/plain application/postscript 33 texttops
application/vnd.cups-form application/vnd.cups-postscript 33 formtops
#application/msword application/postscript 50 mswordtops
application/pdf application/postscript 50 pdftops
application/postscript application/vnd.cups-postscript 50 pstops
application/vnd.hp-HPGL application/postscript 50 hpgltops
image/* application/vnd.cups-postscript 50 imagetops
#text/html application/postscript 50 htmltops
text/html application/postscript 50 texttops
text/plain application/postscript 50 texttops
application/vnd.cups-form application/vnd.cups-postscript 50 formtops
########################################################################
#
# Raster filters...
#
image/* application/vnd.cups-raster 100 imagetoraster
application/vnd.cups-postscript application/vnd.cups-raster 100 pstoraster
image/* application/vnd.cups-raster 50 imagetoraster
application/vnd.cups-postscript application/vnd.cups-raster 50 pstoraster
########################################################################
#
@@ -74,5 +71,5 @@ application/vnd.cups-postscript application/vnd.cups-raster 100 pstoraster
#*/* application/vnd.cups-raw 0 -
#
# End of "$Id: mime.convs 1340 2000-09-06 13:53:00Z mike $".
# End of "$Id: mime.convs 1270 2000-08-03 18:05:22Z mike $".
#
+2 -9
Ver Arquivo
@@ -1,5 +1,5 @@
#
# "$Id: mime.types 1340 2000-09-06 13:53:00Z mike $"
# "$Id: mime.types 1270 2000-08-03 18:05:22Z mike $"
#
# MIME types file for the Common UNIX Printing System (CUPS).
#
@@ -110,13 +110,6 @@ image/x-bitmap bmp string(0,BM) && !printable(2,14)
text/html html htm printable(0,1024) +\
(string(0,"<HTML>") string(0,"<!DOCTYPE"))
application/x-cshell csh printable(0,1024) + string(0,#!) +\
(contains(2,80,/csh) contains(2,80,/tcsh))
application/x-perl pl printable(0,1024) + string(0,#!) +\
contains(2,80,/perl)
application/x-shell sh printable(0,1024) + string(0,#!) +\
(contains(2,80,/bash) contains(2,80,/ksh)\
contains(2,80,/sh) contains(2,80,/zsh))
text/plain txt printable(0,1024)
########################################################################
@@ -141,5 +134,5 @@ application/vnd.cups-raw
#application/octet-stream
#
# End of "$Id: mime.types 1340 2000-09-06 13:53:00Z mike $".
# End of "$Id: mime.types 1270 2000-08-03 18:05:22Z mike $".
#
+1 -2
Ver Arquivo
@@ -28,7 +28,7 @@
* Version of software...
*/
#define CUPS_SVERSION "CUPS v1.1.3"
#define CUPS_SVERSION "CUPS v1.1.2"
/*
* Where are files stored?
@@ -41,7 +41,6 @@
#define CUPS_REQUESTS "/var/spool/cups"
#define CUPS_LOGDIR "/var/logs/cups"
#define CUPS_DATADIR "/usr/share/cups"
#define CUPS_FONTPATH "/usr/share/cups/fonts"
/*
-10
Ver Arquivo
@@ -113,8 +113,6 @@ fi
AC_ARG_ENABLE(pam, [ --enable-pam turn on PAM support [default=yes]])
AC_ARG_WITH(fontpath, [ --with-fontpath set font path for pstoraster],fontpath="$withval",fontpath="")
dnl Checks for programs...
AC_PROG_AWK
AC_PROG_CC
@@ -391,11 +389,6 @@ if test "$mandir" = "\${prefix}/man" -a "$prefix" = "/"; then
fi
fi
dnl Fix "fontpath" variable...
if test "x$fontpath" = "x"; then
fontpath="$datadir/cups/fonts"
fi
dnl Setup manpage extensions...
case "$uname" in
FreeBSD* | NetBSD* | OpenBSD*)
@@ -531,9 +524,6 @@ CUPS_DOCROOT='${exec_prefix}/share/doc/cups'
AC_DEFINE_UNQUOTED(CUPS_DOCROOT, "$exec_prefix/share/doc/cups")
AC_SUBST(CUPS_DOCROOT)
dnl Set the CUPS_FONTPATH directory...
AC_DEFINE_UNQUOTED(CUPS_FONTPATH, "$fontpath")
AC_OUTPUT(Makedefs cups.sh)
dnl
+5 -7
Ver Arquivo
@@ -1,5 +1,5 @@
#
# "$Id: cups.list 1313 2000-08-24 17:54:28Z mike $"
# "$Id: cups.list 1277 2000-08-04 14:53:49Z mike $"
#
# ESP Package Manager (EPM) file list for the Common UNIX Printing
# System (CUPS).
@@ -28,7 +28,7 @@
%vendor Easy Software Products
%license LICENSE.txt
%readme README.txt
%version 1.1.3
%version 1.1.2
%incompat printpro
%system all
@@ -311,12 +311,10 @@ f 0644 root sys $SERVERROOT/mime.types conf/mime.types
c 0644 root sys $SERVERROOT/printers.conf conf/printers.conf
%system linux
# Linux version needs PAM...
%requires /lib/libpam.so.0
d 0555 root sys $PAMDIR -
c 0644 root sys $PAMDIR/cups data/cups.pam
c 0644 root sys $PAMDIR/cups.suse data/cups.suse
%install if test -f /lib/security/pam_unix.so; then
%install mv $PAMDIR/cups.suse $PAMDIR/cups
%install fi
%system all
# Developer files
@@ -507,5 +505,5 @@ f 0444 root sys $MANDIR/man5/printers.conf.5 man/printers.conf.man
i 0555 root sys cups cups.sh
#
# End of "$Id: cups.list 1313 2000-08-24 17:54:28Z mike $".
# End of "$Id: cups.list 1277 2000-08-04 14:53:49Z mike $".
#
+21 -42
Ver Arquivo
@@ -1,5 +1,5 @@
#
# "$Id: cups.spec 1339 2000-09-06 12:38:12Z mike $"
# "$Id: cups.spec 1277 2000-08-04 14:53:49Z mike $"
#
# RPM "spec" file for the Common UNIX Printing System (CUPS).
#
@@ -26,16 +26,16 @@
Summary: Common Unix Printing System
Name: cups
Version: 1.1.3
Version: 1.1.2
Release: 0
Copyright: GPL
Group: System Environment/Daemons
Source: ftp://ftp.easysw.com/pub/cups/%{version}/cups-%{version}-source.tar.gz
Source: ftp://ftp.easysw.com/pub/cups/%version/cups-%version-source.tar.gz
Url: http://www.cups.org
Packager: Michael Sweet <mike@easysw.com>
Vendor: Easy Software Products
# use buildroot so as not to disturb the version already installed
BuildRoot: /var/tmp/%{name}-root
BuildRoot: /tmp/rpmbuild
Conflicts: lpr
%package devel
@@ -67,9 +67,6 @@ make
# RPM_BUILD_ROOT exists
rm -rf $RPM_BUILD_ROOT
mkdir -p $RPM_BUILD_ROOT/etc/rc.d/init.d
mkdir -p $RPM_BUILD_ROOT/etc/rc.d/rc0.d
mkdir -p $RPM_BUILD_ROOT/etc/rc.d/rc3.d
mkdir -p $RPM_BUILD_ROOT/etc/rc.d/rc5.d
make prefix=$RPM_BUILD_ROOT \
exec_prefix=$RPM_BUILD_ROOT/usr \
@@ -123,52 +120,34 @@ rm -rf $RPM_BUILD_ROOT
%files
%defattr(-,root,root)
%dir /etc/cups
%config /etc/cups/*.conf
%dir /etc/cups/certs
%dir /etc/cups/interfaces
/etc/cups/certs
%config /etc/cups/classes.conf
%config /etc/cups/client.conf
%config /etc/cups/cupsd.conf
/etc/cups/interfaces
/etc/cups/mime.types
/etc/cups/mime.convs
%dir /etc/cups/ppd
%dir /etc/pam.d
/etc/cups/ppd
%config /etc/cups/printers.conf
/etc/pam.d/*
# RC dirs are a pain under Linux... Uncomment the appropriate ones if you
# don't use Red Hat or Mandrake...
/etc/rc.d/init.d/*
/etc/rc.d/rc0.d/*
/etc/rc.d/rc3.d/*
/etc/rc.d/rc5.d/*
#/etc/init.d/*
#/etc/rc0.d/*
#/etc/rc3.d/*
#/etc/rc5.d/*
#/sbin/rc.d/*
#/sbin/rc.d/rc0.d/*
#/sbin/rc.d/rc3.d/*
#/sbin/rc.d/rc5.d/*
/etc/init.d/*
/etc/rc0.d/*
/etc/rc2.d/*
/etc/rc.d/*
/usr/bin/*
/usr/lib/*.so*
%dir /usr/lib/cups
/usr/lib/cups/*
/usr/man/*
/usr/sbin/*
%dir /usr/share/cups
/usr/share/cups/*
%dir /usr/share/locale
/usr/share/locale/*
%attr(0700,lp,root) %dir /var/spool/cups
%attr(1700,lp,root) %dir/var/spool/cups/tmp
/usr/share/*
/usr/lib/cups/*
%attr(0700,lp,root) /var/spool/cups
%attr(1700,lp,root) /var/spool/cups/tmp
/sbin/init.d/*
%files devel
%dir /usr/include/cups
/usr/include/cups/*
/usr/lib/*.a
#
# End of "$Id: cups.spec 1339 2000-09-06 12:38:12Z mike $".
# End of "$Id: cups.spec 1277 2000-08-04 14:53:49Z mike $".
#
+3 -3
Ver Arquivo
@@ -59,7 +59,7 @@ all: $(TARGETS)
#
clean:
$(RM) $(OBJS) $(TARGETS) `basename $(LIBCUPS) .2`
$(RM) $(OBJS) $(TARGETS)
#
@@ -76,8 +76,8 @@ install: all
$(INSTALL_LIB) $(LIBCUPS) $(LIBDIR)
if test $(LIBCUPS) != "libcups.a" -a $(LIBCUPS) != "libcups.la"; then \
$(INSTALL_LIB) libcups.a $(LIBDIR); \
$(RM) `basename $(LIBDIR)/$(LIBCUPS) .2`; \
$(LN) $(LIBCUPS) `basename $(LIBDIR)/$(LIBCUPS) .2`; \
$(RM) `basename $(LIBCUPS) .2`; \
$(LN) $(LIBCUPS) `basename $(LIBCUPS) .2`; \
fi
-3
Ver Arquivo
@@ -135,9 +135,6 @@ extern int cupsMarkOptions(ppd_file_t *ppd, int num_options,
extern const char *cupsGetPassword(const char *prompt);
extern const char *cupsServer(void);
extern void cupsSetPasswordCB(const char *(*cb)(const char *));
extern void cupsSetServer(const char *server);
extern void cupsSetUser(const char *user);
extern const char *cupsUser(void);
# ifdef __cplusplus
+4 -25
Ver Arquivo
@@ -44,7 +44,6 @@
* ippNew() - Allocate a new IPP request.
* ippPort() - Return the default IPP port number.
* ippRead() - Read data for an IPP request.
* ippSetPort() - Set the default port number.
* ippTimeToDate() - Convert from UNIX time to RFC 1903 format.
* ippWrite() - Write data for an IPP request.
* _ipp_add_attr() - Add a new attribute to the request.
@@ -66,13 +65,6 @@
#include <ctype.h>
/*
* Local globals...
*/
static int ipp_port = 0;
/*
* Local functions...
*/
@@ -1585,25 +1577,12 @@ ippPort(void)
struct servent *port; /* Port number info */
if (ipp_port)
return (ipp_port);
else if ((server_port = getenv("IPP_PORT")) != NULL)
return (ipp_port = atoi(server_port));
if ((server_port = getenv("IPP_PORT")) != NULL)
return (atoi(server_port));
else if ((port = getservbyname("ipp", NULL)) == NULL)
return (ipp_port = IPP_PORT);
return (IPP_PORT);
else
return (ipp_port = ntohs(port->s_port));
}
/*
* 'ippSetPort()' - Set the default port number.
*/
void
ippSetPort(int p) /* I - Port number to use */
{
ipp_port = p;
return (ntohs(port->s_port));
}
-1
Ver Arquivo
@@ -342,7 +342,6 @@ extern ipp_state_t ippRead(http_t *http, ipp_t *ipp);
extern const ipp_uchar_t *ippTimeToDate(time_t t);
extern ipp_state_t ippWrite(http_t *http, ipp_t *ipp);
extern int ippPort(void);
extern void ippSetPort(int p);
extern ipp_attribute_t *_ipp_add_attr(ipp_t *, int);
extern void _ipp_free_attr(ipp_attribute_t *);
+104 -201
Ver Arquivo
@@ -24,13 +24,9 @@
*
* Contents:
*
* cupsGetPassword() - Get a password from the user...
* cupsServer() - Return the hostname of the default server...
* cupsSetPasswordCB() - Set the password callback for CUPS.
* cupsSetServer() - Set the default server name...
* cupsSetUser() - Set the default user name...
* cupsUser() - Return the current users name.
* cups_get_password() - Get a password from the user...
* cupsUser() - Return the current users name.
* cupsGetPassword() - Get a password from the user...
* cupsServer() - Return the hostname of the default server...
*/
/*
@@ -43,168 +39,6 @@
#include <ctype.h>
/*
* Local functions...
*/
static const char *cups_get_password(const char *prompt);
/*
* Local globals...
*/
static char cups_user[65] = "",
cups_server[256] = "";
static const char *(*cups_pwdcb)(const char *) = cups_get_password;
/*
* 'cupsGetPassword()' - Get a password from the user...
*/
const char * /* O - Password */
cupsGetPassword(const char *prompt) /* I - Prompt string */
{
return ((*cups_pwdcb)(prompt));
}
/*
* 'cupsServer()' - Return the hostname of the default server...
*/
const char * /* O - Server name */
cupsServer(void)
{
FILE *fp; /* client.conf file */
char *server; /* Pointer to server name */
const char *home; /* Home directory of user */
static char line[1024]; /* Line from file */
/*
* First see if we have already set the server name...
*/
if (!cups_server[0])
{
/*
* Then see if the CUPS_SERVER environment variable is set...
*/
if ((server = getenv("CUPS_SERVER")) == NULL)
{
/*
* Next check to see if we have a $HOME/.cupsrc or client.conf file...
*/
if ((home = getenv("HOME")) != NULL)
{
snprintf(line, sizeof(line), "%s/.cupsrc", home);
fp = fopen(line, "r");
}
else
fp = NULL;
if (fp == NULL)
{
if ((home = getenv("CUPS_SERVERROOT")) != NULL)
{
snprintf(line, sizeof(line), "%s/client.conf", home);
fp = fopen(line, "r");
}
else
fp = fopen(CUPS_SERVERROOT "/client.conf", "r");
}
server = "localhost";
if (fp != NULL)
{
/*
* Read the config file and look for a ServerName line...
*/
while (fgets(line, sizeof(line), fp) != NULL)
if (strncmp(line, "ServerName ", 11) == 0)
{
/*
* Got it! Drop any trailing newline and find the name...
*/
server = line + strlen(line) - 1;
if (*server == '\n')
*server = '\0';
for (server = line + 11; isspace(*server); server ++);
break;
}
fclose(fp);
}
}
/*
* Copy the server name over...
*/
strncpy(cups_server, server, sizeof(cups_server) - 1);
cups_server[sizeof(cups_server) - 1] = '\0';
}
return (cups_server);
}
/*
* 'cupsSetPasswordCB()' - Set the password callback for CUPS.
*/
void
cupsSetPasswordCB(const char *(*cb)(const char *)) /* I - Callback function */
{
if (cb == (const char *(*)(const char *))0)
cups_pwdcb = cups_get_password;
else
cups_pwdcb = cb;
}
/*
* 'cupsSetServer()' - Set the default server name...
*/
void
cupsSetServer(const char *server) /* I - Server name */
{
if (server)
{
strncpy(cups_server, server, sizeof(cups_server) - 1);
cups_server[sizeof(cups_server) - 1] = '\0';
}
else
cups_server[0] = '\0';
}
/*
* 'cupsSetUser()' - Set the default user name...
*/
void
cupsSetUser(const char *user) /* I - User name */
{
if (user)
{
strncpy(cups_user, user, sizeof(cups_user) - 1);
cups_user[sizeof(cups_user) - 1] = '\0';
}
else
cups_user[0] = '\0';
}
#if defined(WIN32) || defined(__EMX__)
/*
* WIN32 and OS/2 username and password stuff...
@@ -217,19 +51,16 @@ cupsSetUser(const char *user) /* I - User name */
const char * /* O - User name */
cupsUser(void)
{
if (!cups_user[0])
strcpy(cups_user, "WindowsUser");
return (cups_user);
return ("WindowsUser");
}
/*
* 'cups_get_password()' - Get a password from the user...
* 'cupsGetPassword()' - Get a password from the user...
*/
static const char * /* O - Password */
cups_get_password(const char *prompt) /* I - Prompt string */
const char * /* O - Password */
cupsGetPassword(const char *prompt) /* I - Prompt string */
{
return (NULL);
}
@@ -250,49 +81,121 @@ cupsUser(void)
struct passwd *pwd; /* User/password entry */
if (!cups_user[0])
{
/*
* Rewind the password file...
*/
/*
* Rewind the password file...
*/
setpwent();
setpwent();
/*
* Lookup the password entry for the current user.
*/
/*
* Lookup the password entry for the current user.
*/
if ((pwd = getpwuid(getuid())) == NULL)
strcpy(cups_user, "unknown"); /* Unknown user! */
else
{
/*
* Rewind the password file again and copy the username...
*/
if ((pwd = getpwuid(getuid())) == NULL)
return ("unknown"); /* Unknown user! */
setpwent();
/*
* Rewind the password file again and return the username...
*/
strncpy(cups_user, pwd->pw_name, sizeof(cups_user) - 1);
cups_user[sizeof(cups_user) - 1] = '\0';
}
}
setpwent();
return (cups_user);
return (pwd->pw_name);
}
/*
* 'cups_get_password()' - Get a password from the user...
* 'cupsGetPassword()' - Get a password from the user...
*/
static const char * /* O - Password */
cups_get_password(const char *prompt) /* I - Prompt string */
const char * /* O - Password */
cupsGetPassword(const char *prompt) /* I - Prompt string */
{
return (getpass(prompt));
}
#endif /* WIN32 || __EMX__ */
/*
* 'cupsServer()' - Return the hostname of the default server...
*/
const char * /* O - Server name */
cupsServer(void)
{
FILE *fp; /* client.conf file */
char *server; /* Pointer to server name */
const char *home; /* Home directory of user */
static char line[1024]; /* Line from file */
/*
* First see if the CUPS_SERVER environment variable is set...
*/
if ((server = getenv("CUPS_SERVER")) != NULL)
return (server);
/*
* Next check to see if we have a $HOME/.cupsrc or client.conf file...
*/
if ((home = getenv("HOME")) != NULL)
{
snprintf(line, sizeof(line), "%s/.cupsrc", home);
fp = fopen(line, "r");
}
else
fp = NULL;
if (fp == NULL)
{
if ((home = getenv("CUPS_SERVERROOT")) != NULL)
{
snprintf(line, sizeof(line), "%s/client.conf", home);
fp = fopen(line, "r");
}
else
fp = fopen(CUPS_SERVERROOT "/client.conf", "r");
}
if (fp == NULL)
return ("localhost");
/*
* Read the config file and look for a ServerName line...
*/
while (fgets(line, sizeof(line), fp) != NULL)
if (strncmp(line, "ServerName ", 11) == 0)
{
/*
* Got it! Drop any trailing newline and find the name...
*/
server = line + strlen(line) - 1;
if (*server == '\n')
*server = '\0';
for (server = line + 11; isspace(*server); server ++);
if (*server)
{
fclose(fp);
return (server);
}
}
/*
* Didn't see a ServerName line, so return "localhost"...
*/
fclose(fp);
return ("localhost");
}
/*
* End of "$Id$".
*/
+1 -5
Ver Arquivo
@@ -94,11 +94,7 @@ install:
-if test "$(PAMDIR)" != ""; then \
$(MKDIR) $(PAMDIR); \
$(CHMOD) ugo+rx $(PAMDIR); \
if test -f /lib/security/pam_unix.so; then \
$(INSTALL_DATA) cups.suse $(PAMDIR)/cups; \
else \
$(INSTALL_DATA) cups.pam $(PAMDIR)/cups; \
fi \
$(INSTALL_DATA) cups.pam $(PAMDIR)/cups; \
fi
-2
Ver Arquivo
@@ -1,2 +0,0 @@
auth required /lib/security/pam_unix.so nullok shadow
account required /lib/security/pam_unix.so
+218
Ver Arquivo
@@ -0,0 +1,218 @@
#
# "$Id$"
#
# Documentation makefile for the Common UNIX Printing System (CUPS).
#
# Copyright 1993-2000 by Easy Software Products.
#
# These coded instructions, statements, and computer programs are the
# property of Easy Software Products and are protected by Federal
# copyright law. Distribution and use rights are outlined in the file
# "LICENSE.txt" which should have been included with this file. If this
# file is missing or damaged please contact Easy Software Products
# at:
#
# Attn: CUPS Licensing Information
# Easy Software Products
# 44141 Airport View Drive, Suite 204
# Hollywood, Maryland 20636-3111 USA
#
# Voice: (301) 373-9603
# EMail: cups-info@cups.org
# WWW: http://www.cups.org
#
include ../Makedefs
#
# HTMLDOC generation rules...
#
.SUFFIXES: .html .pdf .ps .shtml
.shtml.html:
echo Formatting $@...
htmldoc --titleimage images/cups-large.gif --numbered -f $@ $<
.shtml.pdf:
echo Formatting $@...
htmldoc --titleimage images/cups-large.gif --duplex --compression=9 \
--numbered --jpeg -f $@ $<
.shtml.ps:
echo Formatting $@...
htmldoc --titleimage images/cups-large.gif --duplex --numbered \
--jpeg -f $@ $<
#
# Document files...
#
DOCUMENTS = cmp.shtml idd.shtml ipp.shtml sam.shtml sdd.shtml \
spm.shtml sps.shtml ssr.shtml stp.shtml sum.shtml \
svd.shtml
DOCIMAGES = images/cups-block-diagram.gif images/cups-large.gif \
images/cups-medium.gif images/cups-small.gif
WEBPAGES = cups.css cupsdoc.css index.html documentation.html
WEBIMAGES = images/accept-jobs.gif \
images/add-class.gif \
images/add-printer.gif \
images/cancel-job.gif \
images/cancel-jobs.gif \
images/cancel.gif \
images/classes.gif \
images/config-printer.gif \
images/continue.gif \
images/delete-class.gif \
images/delete-printer.gif \
images/draft.gif \
images/hold-job.gif \
images/left.gif \
images/logo.gif \
images/manage-classes.gif \
images/manage-jobs.gif \
images/manage-printers.gif \
images/modify-class.gif \
images/modify-printer.gif \
images/navbar.gif \
images/print-test-page.gif \
images/printer-idle.gif \
images/printer-processing.gif \
images/printer-stopped.gif \
images/reject-jobs.gif \
images/release-job.gif \
images/right.gif \
images/show-active.gif \
images/show-completed.gif \
images/start-class.gif \
images/start-printer.gif \
images/stop-class.gif \
images/stop-printer.gif
#
# Make all documents...
#
all: $(DOCUMENTS:.shtml=.pdf) $(DOCUMENTS:.shtml=.html) overview.pdf
#
# Make PS files...
#
ps: $(DOCUMENTS:.shtml=.ps) overview.ps
#
# Remove all generated files...
#
clean:
$(RM) $(DOCUMENTS:.shtml=.pdf)
$(RM) $(DOCUMENTS:.shtml=.html)
$(RM) overview.pdf
#
# Install all documentation files...
#
install:
-$(MKDIR) $(DOCDIR)
$(CHMOD) ugo+rx $(DOCDIR)
$(INSTALL_MAN) $(WEBPAGES) $(DOCDIR)
$(INSTALL_MAN) overview.html overview.pdf $(DOCDIR)
$(INSTALL_MAN) $(DOCUMENTS:.shtml=.html) $(DOCDIR)
$(INSTALL_MAN) $(DOCUMENTS:.shtml=.pdf) $(DOCDIR)
-$(MKDIR) $(DOCDIR)/images
$(CHMOD) ugo+rx $(DOCDIR)/images
$(INSTALL_MAN) $(WEBIMAGES) $(DOCDIR)/images
$(INSTALL_MAN) $(DOCIMAGES) $(DOCDIR)/images
#
# The overview, admin manual, programmers manual, and users manual get
# special attention...
#
overview.pdf: overview.html
echo Formatting $@...
htmldoc --duplex --compression=9 --jpeg --webpage -f overview.pdf overview.html
overview.ps: overview.html
echo Formatting $@...
htmldoc --duplex --jpeg --webpage -f overview.ps overview.html
sam.html: sam.shtml
echo Formatting $@...
htmldoc --titleimage images/cups-large.gif -f $@ $<
sam.pdf: sam.shtml
echo Formatting $@...
htmldoc --titleimage images/cups-large.gif --duplex --compression=9 \
--jpeg -f $@ $<
sam.ps: sam.shtml
echo Formatting $@...
htmldoc --titleimage images/cups-large.gif --duplex --jpeg -f $@ $<
spm.html: spm.shtml
echo Formatting $@...
htmldoc --titleimage images/cups-large.gif -f $@ $<
spm.pdf: spm.shtml
echo Formatting $@...
htmldoc --titleimage images/cups-large.gif --duplex --compression=9 \
--jpeg -f $@ $<
spm.ps: spm.shtml
echo Formatting $@...
htmldoc --titleimage images/cups-large.gif --duplex --jpeg -f $@ $<
sum.html: sum.shtml
echo Formatting $@...
htmldoc --titleimage images/cups-large.gif -f $@ $<
sum.pdf: sum.shtml
echo Formatting $@...
htmldoc --titleimage images/cups-large.gif --duplex --compression=9 \
--jpeg -f $@ $<
sum.ps: sum.shtml
echo Formatting $@...
htmldoc --titleimage images/cups-large.gif --duplex --jpeg -f $@ $<
sam-7x8.pdf: sam.shtml
echo Formatting $@...
htmldoc --titleimage images/cups-large.gif --duplex --compression=9 \
--pagelayout tworight --pagemode document \
--jpeg --size 7x8.5in --left 0.5in --right 0.25in \
--top 0.25in --bottom 0.25in --fontsize 10 --headfootsize 10 -f $@ sam.shtml
sam-7x8.ps: sam.shtml
echo Formatting $@...
htmldoc --titleimage images/cups-large.gif --duplex --jpeg \
--size 7x8.5in --left 0.5in --right 0.25in \
--top 0.25in --bottom 0.25in --fontsize 10 --headfootsize 10 -f $@ sam.shtml
spm-7x8.pdf: spm.shtml
echo Formatting $@...
htmldoc --titleimage images/cups-large.gif --duplex --compression=9 \
--pagelayout tworight --pagemode document \
--jpeg --size 7x8.5in --left 0.5in --right 0.25in \
--top 0.25in --bottom 0.25in --fontsize 10 --headfootsize 10 -f $@ spm.shtml
spm-7x8.ps: spm.shtml
echo Formatting $@...
htmldoc --titleimage images/cups-large.gif --duplex --jpeg \
--size 7x8.5in --left 0.5in --right 0.25in \
--top 0.25in --bottom 0.25in --fontsize 10 --headfootsize 10 -f $@ spm.shtml
sum-7x8.pdf: sum.shtml
echo Formatting $@...
htmldoc --titleimage images/cups-large.gif --duplex --compression=9 \
--pagelayout tworight --pagemode document \
--jpeg --size 7x8.5in --left 0.5in --right 0.25in \
--top 0.25in --bottom 0.25in --fontsize 10 --headfootsize 10 -f $@ sum.shtml
sum-7x8.ps: sum.shtml
echo Formatting $@...
htmldoc --titleimage images/cups-large.gif --duplex --jpeg \
--size 7x8.5in --left 0.5in --right 0.25in \
--top 0.25in --bottom 0.25in --fontsize 10 --headfootsize 10 -f $@ sum.shtml
$(DOCUMENTS): glossary.shtml printing-overview.shtml \
references.shtml system-overview.shtml \
../LICENSE.html
#
# End of Makefile.
#
+678
Ver Arquivo
@@ -0,0 +1,678 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" "http://www.w3.org/TR/REC-html40/loose.dtd">
<HTML>
<HEAD>
<TITLE> CUPS Configuration Management Plan</TITLE>
<META NAME="AUTHOR" CONTENT="Easy Software Products">
<META NAME="COPYRIGHT" CONTENT="Copyright 1997-2000, All Rights Reserved">
<META NAME="DOCNUMBER" CONTENT="CUPS-CMP-1.1">
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-1">
<STYLE>
BODY { font-family: serif; font-size: 11.0pt }
H1 { font-family: sans-serif; font-size: 20.0pt }
H2 { font-family: sans-serif; font-size: 17.0pt }
H3 { font-family: sans-serif; font-size: 14.0pt }
H4 { font-family: sans-serif; font-size: 11.0pt }
H5 { font-family: sans-serif; font-size: 9.0pt }
H6 { font-family: sans-serif; font-size: 8.0pt }
SUB { font-size: 8.0pt }
SUP { font-size: 8.0pt }
PRE { font-size: 9.0pt }
</STYLE>
</HEAD>
<BODY>
<CENTER><A HREF="#CONTENTS"><IMG SRC="images/cups-large.gif" BORDER="0" WIDTH="100%"><BR>
<H1> CUPS Configuration Management Plan</H1></A><BR>
CUPS-CMP-1.1<BR>
Easy Software Products<BR>
Copyright 1997-2000, All Rights Reserved<BR>
</CENTER>
<HR>
<H1 ALIGN="CENTER"><A NAME="CONTENTS">Table of Contents</A></H1>
<BR>
<BR><B><A HREF="#1">1 Scope</A></B>
<UL>
<LI><A HREF="#1_1">1.1 Identification</A></LI>
<LI><A HREF="#1_2">1.2 System Overview</A></LI>
<LI><A HREF="#1_3">1.3 Document Overview</A></LI>
</UL>
<B><A HREF="#2">2 References</A></B>
<UL>
<LI><A HREF="#2_1">2.1 CUPS Documentation</A></LI>
<LI><A HREF="#2_2">2.2 Other Documents</A></LI>
</UL>
<B><A HREF="#3">3 File Management</A></B>
<UL>
<LI><A HREF="#3_1">3.1 Directory Structure</A></LI>
<LI><A HREF="#3_2">3.2 Source Files</A></LI>
<LI><A HREF="#3_3">3.3 Configuration Management</A></LI>
</UL>
<B><A HREF="#4">4 Trouble Report Processing</A></B>
<UL>
<LI><A HREF="#4_1">4.1 Classification</A></LI>
<LI><A HREF="#4_2">4.2 Identification</A></LI>
<LI><A HREF="#4_3">4.3 Correction</A></LI>
<LI><A HREF="#4_4">4.4 Notification</A></LI>
</UL>
<B><A HREF="#5">5 Software Releases</A></B>
<UL>
<LI><A HREF="#5_1">5.1 Version Numbering</A></LI>
<LI><A HREF="#5_2">5.2 Generation</A></LI>
<LI><A HREF="#5_3">5.3 Testing</A></LI>
<LI><A HREF="#5_4">5.4 Release</A></LI>
</UL>
<B><A HREF="#6">A Glossary</A></B>
<UL>
<LI><A HREF="#6_1">A.1 Terms</A></LI>
<LI><A HREF="#6_2">A.2 Acronyms</A></LI>
</UL>
<B><A HREF="#7">B Coding Requirements</A></B>
<UL>
<LI><A HREF="#7_1">B.1 Source Files</A></LI>
<UL>
<LI><A HREF="#7_1_1">B.1.1 Naming</A></LI>
<LI><A HREF="#7_1_2">B.1.2 Documentation</A></LI>
</UL>
<LI><A HREF="#7_2">B.2 Functions</A></LI>
<UL>
<LI><A HREF="#7_2_1">B.2.1 Naming</A></LI>
<LI><A HREF="#7_2_2">B.2.2 Documentation</A></LI>
</UL>
<LI><A HREF="#7_3">B.3 Methods</A></LI>
<UL>
<LI><A HREF="#7_3_1">B.3.1 Naming</A></LI>
<LI><A HREF="#7_3_2">B.3.2 Documentation</A></LI>
</UL>
<LI><A HREF="#7_4">B.4 Variables</A></LI>
<UL>
<LI><A HREF="#7_4_1">B.4.1 Naming</A></LI>
<LI><A HREF="#7_4_2">B.4.2 Documentation</A></LI>
</UL>
<LI><A HREF="#7_5">B.5 Types</A></LI>
<UL>
<LI><A HREF="#7_5_1">B.5.1 Naming</A></LI>
<LI><A HREF="#7_5_2">B.5.2 Documentation</A></LI>
</UL>
<LI><A HREF="#7_6">B.6 Structures</A></LI>
<UL>
<LI><A HREF="#7_6_1">B.6.1 Naming</A></LI>
<LI><A HREF="#7_6_2">B.6.2 Documentation</A></LI>
</UL>
<LI><A HREF="#7_7">B.7 Classes</A></LI>
<UL>
<LI><A HREF="#7_7_1">B.7.1 Naming</A></LI>
<LI><A HREF="#7_7_2">B.7.2 Documentation</A></LI>
</UL>
<LI><A HREF="#7_8">B.8 Constants</A></LI>
<UL>
<LI><A HREF="#7_8_1">B.8.1 Naming</A></LI>
<LI><A HREF="#7_8_2">B.8.2 Documentation</A></LI>
</UL>
<LI><A HREF="#7_9">B.9 Code</A></LI>
<UL>
<LI><A HREF="#7_9_1">B.9.1 Documentation</A></LI>
<LI><A HREF="#7_9_2">B.9.2 Style</A></LI>
</UL>
</UL>
<B><A HREF="#8">C Software Trouble Report Form</A></B><HR>
<H1><A NAME="1">1 Scope</A></H1>
<H2><A NAME="1_1">1.1 Identification</A></H2>
This configuration management plan document provides the guidelines
for development and maintenance of the Common UNIX Printing System
(&quot;CUPS&quot;) Version 1.1 software.
<H2><A NAME="1_2">1.2 System Overview</A></H2>
<P>CUPS provides a portable printing layer for UNIX&reg;-based operating
systems. It has been developed by <A HREF="http://www.easysw.com">Easy
Software Products</A> to promote a standard printing solution for all
UNIX vendors and users. CUPS provides the System V and Berkeley
command-line interfaces. </P>
<P>CUPS uses the Internet Printing Protocol (&quot;IPP&quot;) as the basis for
managing print jobs and queues. The Line Printer Daemon (&quot;LPD&quot;) Server
Message Block (&quot;SMB&quot;), and AppSocket (a.k.a. JetDirect) protocols are
also supported with reduced functionality. CUPS adds network printer
browsing and PostScript Printer Description (&quot;PPD&quot;) based printing
options to support real-world printing under UNIX. </P>
<P>CUPS also includes a customized version of GNU Ghostscript
(currently based off GNU Ghostscript 5.50) and an image file RIP that
are used to support non-PostScript printers. Sample drivers for HP and
EPSON printers are included that use these filters. </P>
<H2><A NAME="1_3">1.3 Document Overview</A></H2>
This configuration management document is organized into the following
sections:
<UL>
<LI>1 - Scope</LI>
<LI>2 - References</LI>
<LI>3 - File Management</LI>
<LI>4 - Trouble Report Processing</LI>
<LI>5 - Software Releases</LI>
<LI>A - Glossary</LI>
<LI>B - Coding Requirements</LI>
</UL>
<H1><A NAME="2">2 References</A></H1>
<H2><A NAME="2_1">2.1 CUPS Documentation</A></H2>
<P>The following CUPS documentation is referenced by this document: </P>
<UL>
<LI>CUPS-CMP-1.1: CUPS Configuration Management Plan </LI>
<LI>CUPS-IDD-1.1: CUPS System Interface Design Description </LI>
<LI>CUPS-IPP-1.1: CUPS Implmentation of IPP </LI>
<LI>CUPS-SAM-1.1.x: CUPS Software Administrators Manual </LI>
<LI>CUPS-SDD-1.1: CUPS Software Design Description </LI>
<LI>CUPS-SPM-1.1.x: CUPS Software Programming Manual </LI>
<LI>CUPS-SSR-1.1: CUPS Software Security Report </LI>
<LI>CUPS-STP-1.1: CUPS Software Test Plan </LI>
<LI>CUPS-SUM-1.1.x: CUPS Software Users Manual </LI>
<LI>CUPS-SVD-1.1: CUPS Software Version Description </LI>
</UL>
<H2><A NAME="2_2">2.2 Other Documents</A></H2>
<P>The following non-CUPS documents are referenced by this document: </P>
<UL>
<LI><A HREF="http://partners.adobe.com/asn/developer/PDFS/TN/5003.PPD_Spec_v4.3.pdf">
Adobe PostScript Printer Description File Format Specification,
Version 4.3.</A></LI>
<LI><A HREF="http://partners.adobe.com/asn/developer/PDFS/TN/PLRM.pdf">
Adobe PostScript Language Reference, Third Edition.</A></LI>
<LI>IPP: Job and Printer Set Operations </LI>
<LI>IPP/1.1: Encoding and Transport </LI>
<LI>IPP/1.1: Implementers Guide </LI>
<LI>IPP/1.1: Model and Semantics </LI>
<LI><A HREF="http://www.ietf.org/rfc/rfc1179.txt">RFC 1179, Line
Printer Daemon Protocol</A></LI>
<LI><A HREF="http://www.ietf.org/rfc/rfc2567.txt">RFC 2567, Design
Goals for an Internet Printing Protocol</A></LI>
<LI><A HREF="http://www.ietf.org/rfc/rfc2568.txt">RFC 2568, Rationale
for the Structure of the Model and Protocol</A> for the Internet
Printing Protocol</LI>
<LI><A HREF="http://www.ietf.org/rfc/rfc2569.txt">RFC 2569, Mapping
between LPD and IPP Protocols</A></LI>
<LI><A HREF="http://www.ietf.org/rfc/rfc2616.txt">RFC 2616, Hypertext
Transfer Protocol -- HTTP/1.1</A></LI>
<LI><A HREF="http://www.ietf.org/rfc/rfc2617.txt">RFC 2617, HTTP
Authentication: Basic and Digest Access</A> Authentication </LI>
</UL>
<H1><A NAME="3">3 File Management</A></H1>
<H2><A NAME="3_1">3.1 Directory Structure</A></H2>
Each source file shall be placed a sub-directory corresponding to the
software sub-system it belongs to (&quot;scheduler&quot;, &quot;cups&quot;, etc.) To remain
compatible with older UNIX filesystems, directory names shall not
exceed 16 characters in length.
<H2><A NAME="3_2">3.2 Source Files</A></H2>
Source files shall be documented and formatted as described in
Appendix B, Coding Requirements.
<H2><A NAME="3_3">3.3 Configuration Management</A></H2>
Source files shall be placed under the control of the Concurrent
Versions System (&quot;CVS&quot;) software. Source files shall be &quot;checked in&quot;
with each change so that modifications can be tracked.
<P>Documentation on the CVS software is included with the whitepaper,
&quot;CVS II: Parallelizing Software Development&quot;. </P>
<H1><A NAME="4">4 Trouble Report Processing</A></H1>
A Software Trouble Report (&quot;STR&quot;) shall be submitted every time a user
or vendor experiences a problem with the CUPS software. Trouble reports
are maintained in a database with one of the following states:
<OL>
<LI>STR is closed with complete resolution</LI>
<LI>STR is closed without resolution</LI>
<LI>STR is active</LI>
<LI>STR is pending (new STR or additional information available)</LI>
</OL>
Trouble reports shall be processed using the following steps.
<H2><A NAME="4_1">4.1 Classification</A></H2>
When a trouble report is received it must be classified at one of the
following levels:
<OL>
<LI>Request for enhancement</LI>
<LI>Documentation error</LI>
<LI>Unable to print a file</LI>
<LI>Unable to print to a printer</LI>
<LI>Unable to print at all</LI>
</OL>
The scope of the problem should also be determined as:
<OL>
<LI>Specific to a machine</LI>
<LI>Specific to an operating system</LI>
<LI>Applies to all machines and operating systems</LI>
</OL>
<H2><A NAME="4_2">4.2 Identification</A></H2>
Once the level and scope of the trouble report is determined the
software sub-system(s) involved with the problem are determined. This
may involve additional communication with the user or vendor to isolate
the problem to a specific cause.
<P>When the sub-system(s) involved have been identified, an engineer
will then determine the change(s) needed and estimate the time required
for the change(s). </P>
<H2><A NAME="4_3">4.3 Correction</A></H2>
Corrections are scheduled based upon the severity and complexity of
the problem. Once all changes have been made, documented, and tested
successfully a new software release snapshot is generated. Additional
tests are added as necessary for proper testing of the changes.
<H2><A NAME="4_4">4.4 Notification</A></H2>
The user or vendor is notified when the fix is available or if the
problem was caused by user error.
<H1><A NAME="5">5 Software Releases</A></H1>
<H2><A NAME="5_1">5.1 Version Numbering</A></H2>
CUPS uses a three-part version number separated by periods to
represent the major, minor, and patch release numbers:
<UL>
<PRE>
major.minor.patch
1.1.0
</PRE>
</UL>
Beta-test releases are indentified by appending the letter B followed
by the build number:
<UL>
<PRE>
major.minor.patchbbuild
1.1.0b1
</PRE>
</UL>
A CVS snapshot is generated for every beta and final release and uses
the version number preceded by the letter &quot;v&quot; and with the decimal
points replaced by underscores:
<UL>
<PRE>
v1_0_0b1
v1_0_0
</PRE>
</UL>
Each change that corrects a fault in a software sub-system increments
the patch release number. If a change affects the software design of
CUPS then the minor release number will be incremented and the patch
release number reset to 0. If CUPS is completely redesigned the major
release number will be incremented and the minor and patch release
numbers reset to 0:
<UL>
<PRE>
1.1.0b1 First beta release
1.1.0b2 Second beta release
1.1.0 First production release
1.1.1b1 First beta of 1.1.1
1.1.1 Production release of 1.1.1
1.1.1b1 First beta of 1.1.1
1.1.1 Production release of 1.1.1
2.0.0b1 First beta of 2.0.0
2.0.0 Production release of 2.0.0
</PRE>
</UL>
<H2><A NAME="5_2">5.2 Generation</A></H2>
Software releases shall be generated for each successfully completed
software trouble report. All object and executable files shall be
deleted prior to performing a full build to ensure that source files
are recompiled.
<H2><A NAME="5_3">5.3 Testing</A></H2>
Software testing shall be conducted according to the CUPS Software
Test Plan, CUPS-STP-1.1. Failed tests cause STRs to be generated to
correct the problems found.
<H2><A NAME="5_4">5.4 Release</A></H2>
When testing has been completed successfully a new distribution image
is created from the current CVS code &quot;snapshot&quot;. No production release
shall contain software that has not passed the appropriate software
tests.
<H1 TYPE="A" VALUE="1"><A NAME="6">A Glossary</A></H1>
<H2><A NAME="6_1">A.1 Terms</A></H2>
<DL>
<DT>C </DT>
<DD>A computer language. </DD>
<DT>parallel </DT>
<DD>Sending or receiving data more than 1 bit at a time. </DD>
<DT>pipe </DT>
<DD>A one-way communications channel between two programs. </DD>
<DT>serial </DT>
<DD>Sending or receiving data 1 bit at a time. </DD>
<DT>socket </DT>
<DD>A two-way network communications channel. </DD>
</DL>
<H2><A NAME="6_2">A.2 Acronyms</A></H2>
<DL>
<DT>ASCII </DT>
<DD>American Standard Code for Information Interchange </DD>
<DT>CUPS </DT>
<DD>Common UNIX Printing System </DD>
<DT>ESC/P </DT>
<DD>EPSON Standard Code for Printers </DD>
<DT>FTP </DT>
<DD>File Transfer Protocol </DD>
<DT>HP-GL </DT>
<DD>Hewlett-Packard Graphics Language </DD>
<DT>HP-PCL </DT>
<DD>Hewlett-Packard Page Control Language </DD>
<DT>HP-PJL </DT>
<DD>Hewlett-Packard Printer Job Language </DD>
<DT>IETF </DT>
<DD>Internet Engineering Task Force </DD>
<DT>IPP </DT>
<DD>Internet Printing Protocol </DD>
<DT>ISO </DT>
<DD>International Standards Organization </DD>
<DT>LPD </DT>
<DD>Line Printer Daemon </DD>
<DT>MIME </DT>
<DD>Multimedia Internet Mail Exchange </DD>
<DT>PPD </DT>
<DD>PostScript Printer Description </DD>
<DT>SMB </DT>
<DD>Server Message Block </DD>
<DT>TFTP </DT>
<DD>Trivial File Transfer Protocol </DD>
</DL>
<H1><A NAME="7">B Coding Requirements</A></H1>
These coding requirements provide detailed information on source file
formatting and documentation content. These guidelines shall be applied
to all C and C++ source files provided with CUPS.
<H2><A NAME="7_1">B.1 Source Files</A></H2>
<H3><A NAME="7_1_1">B.1.1 Naming</A></H3>
All source files names shall be 16 characters or less in length to
ensure compatibility with older UNIX filesystems. Source files
containing functions shall have an extension of &quot;.c&quot; for ANSI C and
&quot;.cxx&quot; for C++ source files. All other &quot;include&quot; files shall have an
extension of &quot;.h&quot;.
<H3><A NAME="7_1_2">B.1.2 Documentation</A></H3>
The top of each source file shall contain a header giving the name of
the file, the purpose or nature of the source file, the copyright and
licensing notice, and the functions contained in the file. The file
name and revision information is provided by the CVS &quot;$Id$&quot; tag:
<UL>
<PRE>
/*
* &quot;$Id$&quot;
*
* Description of file contents.
*
* Copyright 1997-2000 by Easy Software Products, all rights
* reserved.
*
* These coded instructions, statements, and computer programs are
* the property of Easy Software Products and are protected by
* Federal copyright law. Distribution and use rights are outlined
* in the file &quot;LICENSE.txt&quot; which should have been included with
* this file. If this file is missing or damaged please contact
* Easy Software Products at:
*
* Attn: CUPS Licensing Information
* Easy Software Products
* 44141 Airport View Drive, Suite 204
* Hollywood, Maryland 20636-3111 USA
*
* Voice: (301) 373-9603
* EMail: cups-info@cups.org
* WWW: http://www.cups.org
*
* Contents:
*
* function1() - Description 1.
* function2() - Description 2.
* function3() - Description 3.
*/
</PRE>
</UL>
The bottom of each source file shall contain a trailer giving the name
of the file using the CVS &quot;$Id$&quot; tag. The primary purpose of this is to
mark the end of a source file; if the trailer is missing it is possible
that code has been lost near the end of the file:
<UL>
<PRE>
/*
* End of &quot;$Id$&quot;.
*/
</PRE>
</UL>
<H2><A NAME="7_2">B.2 Functions</A></H2>
<H3><A NAME="7_2_1">B.2.1 Naming</A></H3>
Functions with a global scope shall be capitalized (&quot;DoThis&quot;,
&quot;DoThat&quot;, &quot;DoSomethingElse&quot;, etc.) The only exception to this rule
shall be the CUPS interface library functions which may begin with a
prefix word in lowercase (&quot;cupsDoThis&quot;, &quot;cupsDoThat&quot;, etc.)
<P>Functions with a local scope shall be declared &quot;static&quot; and be
lowercase with underscores between words (&quot;do_this&quot;, &quot;do_that&quot;,
&quot;do_something_else&quot;, etc.) </P>
<H3><A NAME="7_2_2">B.2.2 Documentation</A></H3>
Each function shall begin with a comment header describing what the
function does, the possible input limits (if any), and the possible
output values (if any), and any special information needed:
<UL>
<PRE>
/*
* 'do_this()' - Compute y = this(x).
*
* Notes: none.
*/
static float /* O - Inverse power value, 0.0 &lt;= y &lt;= 1.1 */
do_this(float x) /* I - Power value (0.0 &lt;= x &lt;= 1.1) */
{
...
return (y);
}
</PRE>
</UL>
<H2><A NAME="7_3">B.3 Methods</A></H2>
<H3><A NAME="7_3_1">B.3.1 Naming</A></H3>
Methods shall be in lowercase with underscores between words
(&quot;do_this&quot;, &quot;do_that&quot;, &quot;do_something_else&quot;, etc.)
<H3><A NAME="7_3_2">B.3.2 Documentation</A></H3>
Each method shall begin with a comment header describing what the
method does, the possible input limits (if any), and the possible
output values (if any), and any special information needed:
<UL>
<PRE>
/*
* 'class::do_this()' - Compute y = this(x).
*
* Notes: none.
*/
float /* O - Inverse power value, 0.0 &lt;= y &lt;= 1.0 */
class::do_this(float x) /* I - Power value (0.0 &lt;= x &lt;= 1.0) */
{
...
return (y);
}
</PRE>
</UL>
<H2><A NAME="7_4">B.4 Variables</A></H2>
<H3><A NAME="7_4_1">B.4.1 Naming</A></H3>
Variables with a global scope shall be capitalized (&quot;ThisVariable&quot;,
&quot;ThatVariable&quot;, &quot;ThisStateVariable&quot;, etc.) The only exception to this
rule shall be the CUPS interface library global variables which must
begin with the prefix &quot;cups&quot; (&quot;cupsThisVariable&quot;, &quot;cupsThatVariable&quot;,
etc.) Global variables shall be replaced by function arguments whenever
possible.
<P>Variables with a local scope shall be lowercase with underscores
between words (&quot;this_variable&quot;, &quot;that_variable&quot;, etc.) Any local
variables shared by functions within a source file shall be declared
&quot;static&quot;. </P>
<H3><A NAME="7_4_2">B.4.2 Documentation</A></H3>
Each variable shall be declared on a separate line and shall be
immediately followed by a comment block describing the variable:
<UL>
<PRE>
int this_variable; /* The current state of this */
int that_variable; /* The current state of that */
</PRE>
</UL>
<H2><A NAME="7_5">B.5 Types</A></H2>
<H3><A NAME="7_5_1">B.5.1 Naming</A></H3>
All type names shall be lowercase with underscores between words and
&quot;_t&quot; appended to the end of the name (&quot;this_type_t&quot;, &quot;that_type_t&quot;,
etc.)
<H3><A NAME="7_5_2">B.5.2 Documentation</A></H3>
Each type shall have a comment block immediately before the typedef:
<UL>
<PRE>
/*
* This type is for CUPS foobar options.
*/
typedef int cups_this_type_t;
</PRE>
</UL>
<H2><A NAME="7_6">B.6 Structures</A></H2>
<H3><A NAME="7_6_1">B.6.1 Naming</A></H3>
All structure names shall be lowercase with underscores between words
and &quot;_str&quot; appended to the end of the name (&quot;this_struct_str&quot;,
&quot;that_struct_str&quot;, etc.)
<H3><A NAME="7_6_2">B.6.2 Documentation</A></H3>
Each structure shall have a comment block immediately before the
struct and each member shall be documented in accordance with the
variable naming policy above:
<UL>
<PRE>
/*
* This structure is for CUPS foobar options.
*/
struct cups_this_struct_str
{
int this_member; /* Current state for this */
int that_member; /* Current state for that */
};
</PRE>
</UL>
<H2><A NAME="7_7">B.7 Classes</A></H2>
<H3><A NAME="7_7_1">B.7.1 Naming</A></H3>
All class names shall be lowercase with underscores between words
(&quot;this_class&quot;, &quot;that_class&quot;, etc.)
<H3><A NAME="7_7_2">B.7.2 Documentation</A></H3>
Each class shall have a comment block immediately before the class and
each member shall be documented in accordance with the variable naming
policy above:
<UL>
<PRE>
/*
* This class is for CUPS foobar options.
*/
class cups_this_class
{
int this_member; /* Current state for this */
int that_member; /* Current state for that */
};
</PRE>
</UL>
<H2><A NAME="7_8">B.8 Constants</A></H2>
<H3><A NAME="7_8_1">B.8.1 Naming</A></H3>
All constant names shall be uppercase with underscored between words
(&quot;THIS_CONSTANT&quot;, &quot;THAT_CONSTANT&quot;, etc.) Constants defined for the CUPS
interface library must begin with an uppercase prefix
(&quot;CUPS_THIS_CONSTANT&quot;, &quot;CUPS_THAT_CONSTANT&quot;, etc.)
<P>Typed enumerations shall be used whenever possible to allow for type
checking by the compiler. </P>
<H3><A NAME="7_8_2">B.8.2 Documentation</A></H3>
Comment blocks shall immediately follow each constant:
<UL>
<PRE>
enum
{
CUPS_THIS_TRAY, /* This tray */
CUPS_THAT_TRAY /* That tray */
};
</PRE>
</UL>
<H2><A NAME="7_9">B.9 Code</A></H2>
<H3><A NAME="7_9_1">B.9.1 Documentation</A></H3>
All source code shall utilize block comments within functions to
describe the operations being performed by a group of statements:
<UL>
<PRE>
/*
* Clear the state array before we begin...
*/
for (i = 0; i &lt; (sizeof(array) / sizeof(sizeof(array[0])); i ++)
array[i] = STATE_IDLE;
/*
* Wait for state changes...
*/
do
{
for (i = 0; i &lt; (sizeof(array) / sizeof(sizeof(array[0])); i ++)
if (array[i] != STATE_IDLE)
break;
if (i == (sizeof(array) / sizeof(array[0])))
sleep(1);
} while (i == (sizeof(array) / sizeof(array[0])));
</PRE>
</UL>
<H3><A NAME="7_9_2">B.9.2 Style</A></H3>
<H4 TYPE="a">B.9.2.a Indentation</H4>
All code blocks enclosed by brackets shall begin with the opening
brace on a new line. The code then follows starting on a new line after
the brace and is indented 2 spaces. The closing brace is then placed on
a new line following the code at the original indentation:
<UL>
<PRE>
{
int i; /* Looping var */
/*
* Process foobar values from 0 to 999...
*/
for (i = 0; i &lt; 1000; i ++)
{
do_this(i);
do_that(i);
}
}
</PRE>
</UL>
Single-line statements following &quot;do&quot;, &quot;else&quot;, &quot;for&quot;, &quot;if&quot;, and
&quot;while&quot; shall be indented 2 spaces as well. Blocks of code in a
&quot;switch&quot; block shall be indented 4 spaces after each &quot;case&quot; and
&quot;default&quot; case:
<UL>
<PRE>
switch (array[i])
{
case STATE_IDLE :
do_this(i);
do_that(i);
break;
default :
do_nothing(i);
break;
}
</PRE>
</UL>
<H4>B.9.2.b Spacing</H4>
A space shall follow each reserved word (&quot;if&quot;, &quot;while&quot;, etc.) Spaces
shall not be inserted between a function name and the arguments in
parenthesis.
<H4>B.9.2.c Return Values</H4>
Parenthesis shall surround values returned from a function using
&quot;return&quot;:
<UL>
<PRE>
return (STATE_IDLE);
</PRE>
</UL>
<H4>B.9.2.d Loops</H4>
Whenever convenient loops should count downward to zero to improve
program performance:
<UL>
<PRE>
for (i = sizeof(array) / sizeof(array[0]) - 1; i &gt;= 0; i --)
array[i] = STATE_IDLE;
</PRE>
</UL>
<H1 ALIGN="RIGHT"><A NAME="8">C Software Trouble Report Form</A></H1>
<CENTER>
<TABLE WIDTH="80%">
<TR><TH ALIGN="RIGHT">Summary of Problem:</TH><TD ALIGN="LEFT">
________________________________________</TD></TR>
<TR><TH ALIGN="RIGHT">Problem Severity:</TH><TD ALIGN="LEFT">__1=RFE
<BR> __2=Documentation-Error
<BR> __3=Unable-to-Print-a-File
<BR> __4=Unable-to-Print-to-a-Printer
<BR> __5=Unable-to-Print-at-All</TD></TR>
<TR><TH ALIGN="RIGHT">Problem Scope:</TH><TD ALIGN="LEFT">__1=Machine
__2=Operating-System __3=All</TD></TR>
<TR><TH ALIGN="RIGHT" VALIGN="TOP">Detailed Description of Problem:</TH><TD
ALIGN="LEFT">________________________________________
<BR> ________________________________________
<BR> ________________________________________
<BR> ________________________________________
<BR> ________________________________________
<BR> ________________________________________</TD></TR>
</TABLE>
</CENTER>
</BODY>
</HTML>
+833
Ver Arquivo
@@ -0,0 +1,833 @@
%PDF-1.2
%âãÏÓ
1 0 obj<</Producer(htmldoc 1.8.8 Copyright 1997-2000 Easy Software Products, All Rights Reserved.)/CreationDate(D:20000731155313Z)/Title( CUPS Configuration Management Plan)/Author(Easy Software Products)>>endobj
2 0 obj<</Type/Encoding/Differences[ 32/space/exclam/quotedbl/numbersign/dollar/percent/ampersand/quotesingle/parenleft/parenright/asterisk/plus/comma/minus/period/slash/zero/one/two/three/four/five/six/seven/eight/nine/colon/semicolon/less/equal/greater/question/at/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/bracketleft/backslash/bracketright/asciicircum/underscore/grave/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/braceleft/bar/braceright/asciitilde 128/Euro 130/quotesinglbase/florin/quotedblbase/ellipsis/dagger/daggerdbl/circumflex/perthousand/Scaron/guilsinglleft/OE 145/quoteleft/quoteright/quotedblleft/quotedblright/bullet/endash/emdash/tilde/trademark/scaron/guilsinglright/oe 159/Ydieresis/space/exclamdown/cent/sterling/currency/yen/brokenbar/section/dieresis/copyright/ordfeminine/guillemotleft/logicalnot/hyphen/registered/macron/degree/plusminus/twosuperior/threesuperior/acute/mu/paragraph/periodcentered/cedilla/onesuperior/ordmasculine/guillemotright/onequarter/onehalf/threequarters/questiondown/Agrave/Aacute/Acircumflex/Atilde/Adieresis/Aring/AE/Ccedilla/Egrave/Eacute/Ecircumflex/Edieresis/Igrave/Iacute/Icircumflex/Idieresis/Eth/Ntilde/Ograve/Oacute/Ocircumflex/Otilde/Odieresis/multiply/Oslash/Ugrave/Uacute/Ucircumflex/Udieresis/Yacute/Thorn/germandbls/agrave/aacute/acircumflex/atilde/adieresis/aring/ae/ccedilla/egrave/eacute/ecircumflex/edieresis/igrave/iacute/icircumflex/idieresis/eth/ntilde/ograve/oacute/ocircumflex/otilde/odieresis/divide/oslash/ugrave/uacute/ucircumflex/udieresis/yacute/thorn/ydieresis]>>endobj
3 0 obj<</Type/Font/Subtype/Type1/BaseFont/Courier/Encoding 2 0 R>>endobj
4 0 obj<</Type/Font/Subtype/Type1/BaseFont/Times-Roman/Encoding 2 0 R>>endobj
5 0 obj<</Type/Font/Subtype/Type1/BaseFont/Times-Bold/Encoding 2 0 R>>endobj
6 0 obj<</Type/Font/Subtype/Type1/BaseFont/Times-Italic/Encoding 2 0 R>>endobj
7 0 obj<</Type/Font/Subtype/Type1/BaseFont/Helvetica/Encoding 2 0 R>>endobj
8 0 obj<</Type/Font/Subtype/Type1/BaseFont/Helvetica-Bold/Encoding 2 0 R>>endobj
9 0 obj<</Type/Font/Subtype/Type1/BaseFont/Symbol>>endobj
10 0 obj<</S/URI/URI(http://www.easysw.com)>>endobj
11 0 obj<</Subtype/Link/Rect[533.8 577.0 555.2 590.0]/Border[0 0 0]/A 10 0 R>>endobj
12 0 obj<</S/URI/URI(http://www.easysw.com)>>endobj
13 0 obj<</Subtype/Link/Rect[72.0 563.8 153.0 576.8]/Border[0 0 0]/A 12 0 R>>endobj
14 0 obj[11 0 R
13 0 R
]endobj
15 0 obj<</S/URI/URI(http://partners.adobe.com/asn/developer/PDFS/TN/5003.PPD_Spec_v4.3.pdf)>>endobj
16 0 obj<</Subtype/Link/Rect[108.0 418.6 190.8 431.6]/Border[0 0 0]/A 15 0 R>>endobj
17 0 obj<</S/URI/URI(http://partners.adobe.com/asn/developer/PDFS/TN/5003.PPD_Spec_v4.3.pdf)>>endobj
18 0 obj<</Subtype/Link/Rect[188.1 418.6 433.1 431.6]/Border[0 0 0]/A 17 0 R>>endobj
19 0 obj<</S/URI/URI(http://partners.adobe.com/asn/developer/PDFS/TN/5003.PPD_Spec_v4.3.pdf)>>endobj
20 0 obj<</Subtype/Link/Rect[430.3 418.6 446.8 431.6]/Border[0 0 0]/A 19 0 R>>endobj
21 0 obj<</S/URI/URI(http://partners.adobe.com/asn/developer/PDFS/TN/PLRM.pdf)>>endobj
22 0 obj<</Subtype/Link/Rect[108.0 405.4 190.8 418.4]/Border[0 0 0]/A 21 0 R>>endobj
23 0 obj<</S/URI/URI(http://partners.adobe.com/asn/developer/PDFS/TN/PLRM.pdf)>>endobj
24 0 obj<</Subtype/Link/Rect[188.1 405.4 346.6 418.4]/Border[0 0 0]/A 23 0 R>>endobj
25 0 obj<</S/URI/URI(http://www.ietf.org/rfc/rfc1179.txt)>>endobj
26 0 obj<</Subtype/Link/Rect[108.0 339.4 291.9 352.4]/Border[0 0 0]/A 25 0 R>>endobj
27 0 obj<</S/URI/URI(http://www.ietf.org/rfc/rfc2567.txt)>>endobj
28 0 obj<</Subtype/Link/Rect[108.0 326.2 362.5 339.2]/Border[0 0 0]/A 27 0 R>>endobj
29 0 obj<</S/URI/URI(http://www.ietf.org/rfc/rfc2568.txt)>>endobj
30 0 obj<</Subtype/Link/Rect[108.0 313.0 394.3 326.0]/Border[0 0 0]/A 29 0 R>>endobj
31 0 obj<</S/URI/URI(http://www.ietf.org/rfc/rfc2569.txt)>>endobj
32 0 obj<</Subtype/Link/Rect[108.0 299.8 343.3 312.8]/Border[0 0 0]/A 31 0 R>>endobj
33 0 obj<</S/URI/URI(http://www.ietf.org/rfc/rfc2616.txt)>>endobj
34 0 obj<</Subtype/Link/Rect[108.0 286.6 345.3 299.6]/Border[0 0 0]/A 33 0 R>>endobj
35 0 obj<</S/URI/URI(http://www.ietf.org/rfc/rfc2617.txt)>>endobj
36 0 obj<</Subtype/Link/Rect[108.0 273.4 368.9 286.4]/Border[0 0 0]/A 35 0 R>>endobj
37 0 obj[16 0 R
18 0 R
20 0 R
22 0 R
24 0 R
26 0 R
28 0 R
30 0 R
32 0 R
34 0 R
36 0 R
]endobj
38 0 obj<</Subtype/Link/Rect[72.0 670.8 107.8 683.8]/Border[0 0 0]/Dest[157 0 R/XYZ null 798 0]>>endobj
39 0 obj<</Subtype/Link/Rect[108.0 657.6 183.8 670.6]/Border[0 0 0]/Dest[157 0 R/XYZ null 745 0]>>endobj
40 0 obj<</Subtype/Link/Rect[108.0 644.4 203.0 657.4]/Border[0 0 0]/Dest[157 0 R/XYZ null 672 0]>>endobj
41 0 obj<</Subtype/Link/Rect[108.0 631.2 216.4 644.2]/Border[0 0 0]/Dest[157 0 R/XYZ null 467 0]>>endobj
42 0 obj<</Subtype/Link/Rect[72.0 604.8 131.6 617.8]/Border[0 0 0]/Dest[163 0 R/XYZ null 798 0]>>endobj
43 0 obj<</Subtype/Link/Rect[108.0 591.6 222.6 604.6]/Border[0 0 0]/Dest[163 0 R/XYZ null 745 0]>>endobj
44 0 obj<</Subtype/Link/Rect[108.0 578.4 202.4 591.4]/Border[0 0 0]/Dest[163 0 R/XYZ null 540 0]>>endobj
45 0 obj<</Subtype/Link/Rect[72.0 552.0 162.4 565.0]/Border[0 0 0]/Dest[169 0 R/XYZ null 798 0]>>endobj
46 0 obj<</Subtype/Link/Rect[108.0 538.8 209.7 551.8]/Border[0 0 0]/Dest[169 0 R/XYZ null 745 0]>>endobj
47 0 obj<</Subtype/Link/Rect[108.0 525.6 179.2 538.6]/Border[0 0 0]/Dest[169 0 R/XYZ null 659 0]>>endobj
48 0 obj<</Subtype/Link/Rect[108.0 512.4 246.4 525.4]/Border[0 0 0]/Dest[169 0 R/XYZ null 599 0]>>endobj
49 0 obj<</Subtype/Link/Rect[72.0 486.0 206.7 499.0]/Border[0 0 0]/Dest[175 0 R/XYZ null 798 0]>>endobj
50 0 obj<</Subtype/Link/Rect[108.0 472.8 185.0 485.8]/Border[0 0 0]/Dest[175 0 R/XYZ null 626 0]>>endobj
51 0 obj<</Subtype/Link/Rect[108.0 459.6 183.8 472.6]/Border[0 0 0]/Dest[175 0 R/XYZ null 434 0]>>endobj
52 0 obj<</Subtype/Link/Rect[108.0 446.4 171.5 459.4]/Border[0 0 0]/Dest[175 0 R/XYZ null 308 0]>>endobj
53 0 obj<</Subtype/Link/Rect[108.0 433.2 177.7 446.2]/Border[0 0 0]/Dest[175 0 R/XYZ null 222 0]>>endobj
54 0 obj<</Subtype/Link/Rect[72.0 406.8 164.9 419.8]/Border[0 0 0]/Dest[181 0 R/XYZ null 798 0]>>endobj
55 0 obj<</Subtype/Link/Rect[108.0 393.6 212.2 406.6]/Border[0 0 0]/Dest[181 0 R/XYZ null 745 0]>>endobj
56 0 obj<</Subtype/Link/Rect[108.0 380.4 173.4 393.4]/Border[0 0 0]/Dest[181 0 R/XYZ null 325 0]>>endobj
57 0 obj<</Subtype/Link/Rect[108.0 367.2 157.5 380.2]/Border[0 0 0]/Dest[181 0 R/XYZ null 252 0]>>endobj
58 0 obj<</Subtype/Link/Rect[108.0 354.0 158.7 367.0]/Border[0 0 0]/Dest[181 0 R/XYZ null 179 0]>>endobj
59 0 obj<</Subtype/Link/Rect[72.0 327.6 124.2 340.6]/Border[0 0 0]/Dest[187 0 R/XYZ null 798 0]>>endobj
60 0 obj<</Subtype/Link/Rect[108.0 314.4 155.0 327.4]/Border[0 0 0]/Dest[187 0 R/XYZ null 745 0]>>endobj
61 0 obj<</Subtype/Link/Rect[108.0 301.2 172.8 314.2]/Border[0 0 0]/Dest[187 0 R/XYZ null 566 0]>>endobj
62 0 obj<</Subtype/Link/Rect[72.0 274.8 185.1 287.8]/Border[0 0 0]/Dest[193 0 R/XYZ null 798 0]>>endobj
63 0 obj<</Subtype/Link/Rect[108.0 261.6 181.0 274.6]/Border[0 0 0]/Dest[193 0 R/XYZ null 706 0]>>endobj
64 0 obj<</Subtype/Link/Rect[144.0 248.4 206.0 261.4]/Border[0 0 0]/Dest[193 0 R/XYZ null 657 0]>>endobj
65 0 obj<</Subtype/Link/Rect[144.0 235.2 238.4 248.2]/Border[0 0 0]/Dest[193 0 R/XYZ null 574 0]>>endobj
66 0 obj<</Subtype/Link/Rect[108.0 222.0 169.7 235.0]/Border[0 0 0]/Dest[196 0 R/XYZ null 737 0]>>endobj
67 0 obj<</Subtype/Link/Rect[144.0 208.8 206.0 221.8]/Border[0 0 0]/Dest[196 0 R/XYZ null 688 0]>>endobj
68 0 obj<</Subtype/Link/Rect[144.0 195.6 238.4 208.6]/Border[0 0 0]/Dest[196 0 R/XYZ null 566 0]>>endobj
69 0 obj<</Subtype/Link/Rect[108.0 182.4 164.8 195.4]/Border[0 0 0]/Dest[196 0 R/XYZ null 369 0]>>endobj
70 0 obj<</Subtype/Link/Rect[144.0 169.2 206.0 182.2]/Border[0 0 0]/Dest[196 0 R/XYZ null 320 0]>>endobj
71 0 obj<</Subtype/Link/Rect[144.0 156.0 238.4 169.0]/Border[0 0 0]/Dest[196 0 R/XYZ null 250 0]>>endobj
72 0 obj<</Subtype/Link/Rect[108.0 142.8 168.5 155.8]/Border[0 0 0]/Dest[199 0 R/XYZ null 726 0]>>endobj
73 0 obj<</Subtype/Link/Rect[144.0 129.6 206.0 142.6]/Border[0 0 0]/Dest[199 0 R/XYZ null 678 0]>>endobj
74 0 obj<</Subtype/Link/Rect[144.0 116.4 238.4 129.4]/Border[0 0 0]/Dest[199 0 R/XYZ null 542 0]>>endobj
75 0 obj<</Subtype/Link/Rect[108.0 103.2 153.2 116.2]/Border[0 0 0]/Dest[199 0 R/XYZ null 452 0]>>endobj
76 0 obj<</Subtype/Link/Rect[144.0 90.0 206.0 103.0]/Border[0 0 0]/Dest[199 0 R/XYZ null 404 0]>>endobj
77 0 obj<</Subtype/Link/Rect[144.0 76.8 238.4 89.8]/Border[0 0 0]/Dest[199 0 R/XYZ null 334 0]>>endobj
78 0 obj<</Subtype/Link/Rect[108.0 63.6 170.9 76.6]/Border[0 0 0]/Dest[199 0 R/XYZ null 236 0]>>endobj
79 0 obj[38 0 R
39 0 R
40 0 R
41 0 R
42 0 R
43 0 R
44 0 R
45 0 R
46 0 R
47 0 R
48 0 R
49 0 R
50 0 R
51 0 R
52 0 R
53 0 R
54 0 R
55 0 R
56 0 R
57 0 R
58 0 R
59 0 R
60 0 R
61 0 R
62 0 R
63 0 R
64 0 R
65 0 R
66 0 R
67 0 R
68 0 R
69 0 R
70 0 R
71 0 R
72 0 R
73 0 R
74 0 R
75 0 R
76 0 R
77 0 R
78 0 R
]endobj
80 0 obj<</Subtype/Link/Rect[108.0 670.8 170.0 683.8]/Border[0 0 0]/Dest[199 0 R/XYZ null 188 0]>>endobj
81 0 obj<</Subtype/Link/Rect[108.0 657.6 202.4 670.6]/Border[0 0 0]/Dest[202 0 R/XYZ null 768 0]>>endobj
82 0 obj<</Subtype/Link/Rect[72.0 644.4 123.3 657.4]/Border[0 0 0]/Dest[202 0 R/XYZ null 613 0]>>endobj
83 0 obj<</Subtype/Link/Rect[108.0 631.2 170.0 644.2]/Border[0 0 0]/Dest[202 0 R/XYZ null 565 0]>>endobj
84 0 obj<</Subtype/Link/Rect[108.0 618.0 202.4 631.0]/Border[0 0 0]/Dest[202 0 R/XYZ null 508 0]>>endobj
85 0 obj<</Subtype/Link/Rect[72.0 604.8 133.7 617.8]/Border[0 0 0]/Dest[202 0 R/XYZ null 354 0]>>endobj
86 0 obj<</Subtype/Link/Rect[108.0 591.6 170.0 604.6]/Border[0 0 0]/Dest[202 0 R/XYZ null 306 0]>>endobj
87 0 obj<</Subtype/Link/Rect[108.0 578.4 202.4 591.4]/Border[0 0 0]/Dest[202 0 R/XYZ null 196 0]>>endobj
88 0 obj<</Subtype/Link/Rect[72.0 565.2 113.6 578.2]/Border[0 0 0]/Dest[205 0 R/XYZ null 759 0]>>endobj
89 0 obj<</Subtype/Link/Rect[108.0 552.0 202.4 565.0]/Border[0 0 0]/Dest[205 0 R/XYZ null 710 0]>>endobj
90 0 obj<</Subtype/Link/Rect[108.0 538.8 157.2 551.8]/Border[0 0 0]/Dest[205 0 R/XYZ null 411 0]>>endobj
91 0 obj<</Subtype/Link/Rect[36.0 512.4 194.2 525.4]/Border[0 0 0]/Dest[211 0 R/XYZ null 798 0]>>endobj
92 0 obj[80 0 R
81 0 R
82 0 R
83 0 R
84 0 R
85 0 R
86 0 R
87 0 R
88 0 R
89 0 R
90 0 R
91 0 R
]endobj
93 0 obj<</Dests 94 0 R>>endobj
94 0 obj<</Kids[95 0 R]>>endobj
95 0 obj<</Limits[(1)(cmp.shtml)]/Names[(1)96 0 R(1_1)97 0 R(1_2)98 0 R(1_3)99 0 R(2)100 0 R(2_1)101 0 R(2_2)102 0 R(3)103 0 R(3_1)104 0 R(3_2)105 0 R(3_3)106 0 R(4)107 0 R(4_1)108 0 R(4_2)109 0 R(4_3)110 0 R(4_4)111 0 R(5)112 0 R(5_1)113 0 R(5_2)114 0 R(5_3)115 0 R(5_4)116 0 R(6)117 0 R(6_1)118 0 R(6_2)119 0 R(7)120 0 R(7_1)121 0 R(7_1_1)122 0 R(7_1_2)123 0 R(7_2)124 0 R(7_2_1)125 0 R(7_2_2)126 0 R(7_3)127 0 R(7_3_1)128 0 R(7_3_2)129 0 R(7_4)130 0 R(7_4_1)131 0 R(7_4_2)132 0 R(7_5)133 0 R(7_5_1)134 0 R(7_5_2)135 0 R(7_6)136 0 R(7_6_1)137 0 R(7_6_2)138 0 R(7_7)139 0 R(7_7_1)140 0 R(7_7_2)141 0 R(7_8)142 0 R(7_8_1)143 0 R(7_8_2)144 0 R(7_9)145 0 R(7_9_1)146 0 R(7_9_2)147 0 R(8)148 0 R(cmp.shtml)149 0 R]>>endobj
96 0 obj<</D[157 0 R/XYZ null 798 null]>>endobj
97 0 obj<</D[157 0 R/XYZ null 745 null]>>endobj
98 0 obj<</D[157 0 R/XYZ null 672 null]>>endobj
99 0 obj<</D[157 0 R/XYZ null 467 null]>>endobj
100 0 obj<</D[163 0 R/XYZ null 798 null]>>endobj
101 0 obj<</D[163 0 R/XYZ null 745 null]>>endobj
102 0 obj<</D[163 0 R/XYZ null 540 null]>>endobj
103 0 obj<</D[169 0 R/XYZ null 798 null]>>endobj
104 0 obj<</D[169 0 R/XYZ null 745 null]>>endobj
105 0 obj<</D[169 0 R/XYZ null 659 null]>>endobj
106 0 obj<</D[169 0 R/XYZ null 599 null]>>endobj
107 0 obj<</D[175 0 R/XYZ null 798 null]>>endobj
108 0 obj<</D[175 0 R/XYZ null 626 null]>>endobj
109 0 obj<</D[175 0 R/XYZ null 434 null]>>endobj
110 0 obj<</D[175 0 R/XYZ null 308 null]>>endobj
111 0 obj<</D[175 0 R/XYZ null 222 null]>>endobj
112 0 obj<</D[181 0 R/XYZ null 798 null]>>endobj
113 0 obj<</D[181 0 R/XYZ null 745 null]>>endobj
114 0 obj<</D[181 0 R/XYZ null 325 null]>>endobj
115 0 obj<</D[181 0 R/XYZ null 252 null]>>endobj
116 0 obj<</D[181 0 R/XYZ null 179 null]>>endobj
117 0 obj<</D[187 0 R/XYZ null 798 null]>>endobj
118 0 obj<</D[187 0 R/XYZ null 745 null]>>endobj
119 0 obj<</D[187 0 R/XYZ null 566 null]>>endobj
120 0 obj<</D[193 0 R/XYZ null 798 null]>>endobj
121 0 obj<</D[193 0 R/XYZ null 706 null]>>endobj
122 0 obj<</D[193 0 R/XYZ null 657 null]>>endobj
123 0 obj<</D[193 0 R/XYZ null 574 null]>>endobj
124 0 obj<</D[196 0 R/XYZ null 737 null]>>endobj
125 0 obj<</D[196 0 R/XYZ null 688 null]>>endobj
126 0 obj<</D[196 0 R/XYZ null 566 null]>>endobj
127 0 obj<</D[196 0 R/XYZ null 369 null]>>endobj
128 0 obj<</D[196 0 R/XYZ null 320 null]>>endobj
129 0 obj<</D[196 0 R/XYZ null 250 null]>>endobj
130 0 obj<</D[199 0 R/XYZ null 726 null]>>endobj
131 0 obj<</D[199 0 R/XYZ null 678 null]>>endobj
132 0 obj<</D[199 0 R/XYZ null 542 null]>>endobj
133 0 obj<</D[199 0 R/XYZ null 452 null]>>endobj
134 0 obj<</D[199 0 R/XYZ null 404 null]>>endobj
135 0 obj<</D[199 0 R/XYZ null 334 null]>>endobj
136 0 obj<</D[199 0 R/XYZ null 236 null]>>endobj
137 0 obj<</D[199 0 R/XYZ null 188 null]>>endobj
138 0 obj<</D[202 0 R/XYZ null 768 null]>>endobj
139 0 obj<</D[202 0 R/XYZ null 613 null]>>endobj
140 0 obj<</D[202 0 R/XYZ null 565 null]>>endobj
141 0 obj<</D[202 0 R/XYZ null 508 null]>>endobj
142 0 obj<</D[202 0 R/XYZ null 354 null]>>endobj
143 0 obj<</D[202 0 R/XYZ null 306 null]>>endobj
144 0 obj<</D[202 0 R/XYZ null 196 null]>>endobj
145 0 obj<</D[205 0 R/XYZ null 759 null]>>endobj
146 0 obj<</D[205 0 R/XYZ null 710 null]>>endobj
147 0 obj<</D[205 0 R/XYZ null 411 null]>>endobj
148 0 obj<</D[211 0 R/XYZ null 798 null]>>endobj
149 0 obj<</D[160 0 R/XYZ null 698 null]>>endobj
150 0 obj<</Type/Pages/MediaBox[0 0 595 792]/Count 24/Kids[151 0 R
154 0 R
217 0 R
220 0 R
157 0 R
160 0 R
163 0 R
166 0 R
169 0 R
172 0 R
175 0 R
178 0 R
181 0 R
184 0 R
187 0 R
190 0 R
193 0 R
196 0 R
199 0 R
202 0 R
205 0 R
208 0 R
211 0 R
214 0 R
]>>endobj
151 0 obj<</Type/Page/Parent 150 0 R/Contents 152 0 R/Resources<</ProcSet[/PDF/Text/ImageB/ImageC/ImageI]/Font<</F4 4 0 R/F8 7 0 R/F9 8 0 R>>>>>>endobj
152 0 obj<</Length 153 0 R/Filter/FlateDecode>>stream
xÚìÏsë8rÇIŠºÌ‰öŒî´üt§çyšÝ­ÚJñÙfvçÖ$ÁÊ!•S*Ç6•üÿ±~X"H€èn$è5¦jêÙE|ˆÆ·@ƒúÇOßòýÛßò?=å¿ýžÿçÿô,~*ÅOÿÈÛÿù×?þøÛï¿ÿºÏÿü—_Ÿò§§§·kýñõ¥ù÷¯|­ÿöœþº?•ßNå÷SùË©¼œÊ¿žÊ¿üÇ×?òÿýŸÿû¯¯ÿ–ÿíÛ׿ç‡oß¾>ÃKþ=ÿãõ§öcøä²+âõi»Ý>ÜËÛ?¶ß_—Î%^¶wY¤*w÷¯ËäOÜöû¸ē‰é½Ü?–KáÂC]о/ëå!"—x[ÎõœE¼r˜ë‰KåÒ!˜¾rÛg޹^òȾü\ÆÕ<DNJü×Sä¬$‡`¸D¹,pYë…Û.sÄ%"ç%þ2;W“E>ÊÏ3s=GžJRÎÉõ-òVâÃl\ŽuÐõV¾ÌÂ%²(
 B¹ü29×$X,0X –€Åƒ %ƒ/° ¬(ÚMÄåÝoÙ9h6×ÄXo`å\ûhò’LÀõ#𡬼sÕÑ,åÏ\M6A!|…gi,A
Ú Ñ ê£s5Ѭåà‹+›— 9Ä`™ãÅ`ž‹,öD.1?V{àÊàŠRç\uD98æY\‰c®}HÙ8媣`Jé++D91WTθš°ŒÒË
 
‹Š4ðZåªBÃ2t,OãQ ÔxŒsÆq‰±FãzX¢Æ#F,Ï%£FL×]w÷Ûí—×cy>|ðÛa0IwÅ÷_†ƒüxÂ[‡ÿîŠG’þÅ˃ŸßÝuoœ*=[ í,¸ö~ºªÛk[ça=xì.Bú±àæØ\ìPƒ–.Î$[q¹¸¡==·aMJ&³»XéÔœ.K™\¬@ž›
É貘ÇUùÑv‡]¶cqeSÙàÕ›eN¤ܯjؤ½s’
 ®|²¡ÅϼJé\Í Xd°˜ÎEùØÍÉÜZ9ƹfÂ"‚­¨\Õ FÈ1ŒȕυEÛи' –Y¹0p7ñú¥uZj+Cg‘¼c,Òé«
…«rÎX•½ÅÍÁ‘jÄ¥{.B J<—°ÒlKÃ7D=Ì:¸ÎåÛÁÉ %i=•œkˆàBf½ .Ú`Ø`¹Š¹2O”,Á W­Ç’ó ìÍПR4q‡ãÚa…„–¤8®´&1Š«žÙ#3ì€á«aÚz/8 [c¸²0Dƒ¢õ ‚«æfóuXiæ*B
J‡íÌ\Y OjOjäªÃê.d‡%F®"°îBú°ÒÄ•Ö]È'½1p5Á¸dZ“RW\wá¢ÄÄÀ•6ºÐRVŽr‰» 7æw£\u€Ý…[FJG¹*OŠ…²¢d”+ (2$*ÇVå'ÆB
ÃRåÓ©¹Z
“s! q5ÂÀÚÛ=W¢È£­ÔrAˆ"v@;-W¨jàLi­ã¡ªnè¯t\5-4”=Ùí§ž±¿ÿ.Ï´’T¹Æúù=¾aÀ
¢6(®–KH·Kh%ºÖRÕÓbQ®•–ër›®Îa‡Àà ¯Çé¹ £^
>ÜÌÑ–œáµCrí´\MçùÖ 1£$UsÑys¥Z®³í%·NH)}¢æÊ‰Îkœ+ÑsÝ´BPf=ègŒàp‡åz7.×MÛk¼b”¾Tq5ÔÊÀµÑrÝD° ¬•T؇ô¹WŠçZ鹊÷G”Q&ß
V<×–ByW¤çª/ŸÕPÌ1PRWF4C#×NËu¾×úü+ü’QØV
.A5C#WªçÚŸòáªÕr[¬àª©fhäŠõ\盽§5Rì•K,×êZ[Éu6Ž;êÊ12BªWNZ,×:{—'%WG¤(³ÔgO@•
ž«x j®Š5K5†ˆëWC6Ãq®ZÂp ÖbI…Ó5 ÊFÒâ¹Ä»Y¨¹®&EZ,ip-â\9%pžê¹*Öš(;
\n£á¬5;c+\ŒôÅq®æ"
®K‰kvª‰@“¤¥pµ¥×qgéB™ÐdcMãº(½Ž«àôWòD@“ë¢ô:®Œ3¾êÙwCÅuQz
WÍÛÃÈ0
¤h#!r]”^ÃUðûMÏ%s Æð2r•^Õñ6g
ÌÃlì¨\g¥Ws5Ì]Œ
㘴¶ÑR¹ÎJ¯æ½ØER2WÁ^f®“Ò«¹rfæŽÀ8f DQ)ëdÝ…~^¹e¢IàkSYŽ­\§Öç*®³Ý FÈ‘#š ”(ªT?º²k ±ÌukDŸ+?krN7Ä="àV̵ë>š>h¸Þ;а›‚]†Yw¹k6+IlºŠšô¸
Wuáiè†X!dr¸Ñ˜ÄjøCýsȵèÝJ´§•¸rŽlH[âã‹:\…’K\[°'¢@Ø¢C­€]Ÿ«VrU×Ê=öEèà£ÃDïû¯´ùÖÕÌŸêsí¯#èùVž«áxåÛ-â;^WÈ\OÌɱonn0¾d=äª\ÝT”‚lˆ{ó€¼0ÚT¹WWojò$ ð\{–l lbÕ¹.¶*qeÝKž„‰×ñÒáÊY²Ñ˜×Ó{Šyq—KΈÚ{ÈhzªX¯üPy8Å:F—« »òúh9ÔNþnï5ùÒ*¹Ä€+“,¯ñª è¨Wo'ÍéŧñýGH©\SßËy°†ÇeŽæãvQ°2Ÿ,+çEQÁse¼(*t.a#‡s5–r*WÍçª>š^¸
vt6מÍ•4™¿peM/\œ¥ùp‰'óg®úÃÉ<–kÎ-‡Í‹ó·•Ü:\[æ»uîªßFwÒ²ßmµwpœOm›.Ò,²Î-ï\·u›þà,•\×FÍÕI¿\¹r¶ûRãkT§×ćk¥äjÔûËÛ}©4fÜkbÄኔ\¹zß¿h£¶W]nj¯‰;×NÁU
UPn9Ár­4áËNÅ•r¸RW6|ŒŽ¹Î«Ëë51áp%C®wшﲫÝÊ-§h®š+Vqõó¡¸g¯r~ô'/ÙÅlp\ëQ®Ó¿^òHjÁZv,¥Šk£tEr<Џ¨ëdÞ7ÛnlÌ\—᯻?"éx@·‰+×à¢Zr—Ûj{‡àꤥÈ]|Ëíé71âp
.7.y<€
£®[‘"K~­lâŽÃÕ¿(—óM
-áðì8—Ðpz®”ÃÕ¿¨7RNf™*Œj1\·Ùÿj®˜ÃÕ»¨ðTà¹b\Šã|f.ÅEußÁnßÊ#`ÂÃÄžk¨Šã|f.ÝÀT5_ŽÜp
×^­óŠã|®áE…ÒÁ&ŒJ[=Ì®9·r‡Çù\Ër¥#Bq­Q\µÚÕš8JqœÁ5¼HËU;â*”ñÆË- é5qxœÁ5¼(S:"×Ã%¢"ÎSÇù0\ƒ‹´\?Œê´áò;ô¼RqœÃ5¸¨[ývGסµœm”MçÃp
.Òr?ŒjÕ£YU4ñ"Ú4®þE\-š+Uý6.5MìçCqõ/Òr¹ê^,ÕMìçCqõ/Òríùáa«68Íòþ ‰ýã|(®þEY/MõÊ•;ãŠK
W'T•šØ;·ãê]ÄçJ\ñ®óÛ‹_¾,{lÔMìçÃqõ.Ê;Š-qen¸:ù‡Ýxã¼ì‘ª›Ø;·ãê]4ˆ£*,WÚâæ)­Š«ó~(EO¢Må’/Ú÷#¢âÂùåªÇ¸äã|H.ÅÀn÷X®µW£‹ç¯AeNä’/ªúC%;s Ï\BsŠCqœÉ%_T÷$[DX®W;Ê.é"Ñ Í« ¸—|Q&°üÂeÎ=Üyä’Žóa¹ä‹
E2þW=/WÁá’.ªn»Ê·EÞÙ¹j—t‘è¶²¾Æ6ÓJ\‚Ã%_”ßö¿ž#Wé“«{œÍ%_T
ö+Càª8\òE½H0?qÙL—Q\Ù8WÃá’/gÆé>®Îq><Wï"©ÃÊbB®ƒ¾‰‡K¾HN#‚—qy#¶äÊ£îíZðS¹zýèN«i¸®oÐ4Qp¸ú=w–"p…S^Nù‡?ßÞ?oäZJ¬èžó2Ûâr{Ï\ù'×'׸V”+]&WöÉõÉõÉõÉõÉ…ãZr}rùçŠì¹Þf>ès¥”ºór=ŸÞa?bšK©;3×Cÿøšü²¡ÎæuÕ»êªHqPJÛ:k®|¾!çéw·§†u\y1Ô×áŒF~™WsÛìø9QeäÚÉÔ—Pì(É/4¬®KüuòÈȵ™‚ TSë¼;Àz齺 ®u+
M?\™j« ºã “Òdúu\©l)^¸š÷§»nÝî«ko»õʺ ®Dºµ®êºQ(¾unÚ‘À[v…².Ÿ«öÉUtv¬÷7ïÒqY·äsM]Õ2¿ú®òöNå“+ª›v^Ȭ©K㊯ۧoƒ8ñÆ•u—áòžÒߌ§©KãJ®£0qÙÄóÒŸá¦×VËIÚªº$®Õõq¼=™t®êöÓ5ä$mU]WÚ}tk;.CúáõÏÍÝ[ÙtĪ윑Ò×%qÏ]ÓÆ+W¢ûѧ“T<¶ÔçÊ/ƒô8„wÞ¸2]:ÎeO¹éÀd#©;x®ýåóŽŸ|ðÆuŽš¸1‘†‘¶.‰«¸ÈÐÑÒKo\—½Îûƒ:À:eR¼Ë¹¶.‰ nÙ¯qëë¢Z{þ⇬ã‹õu•\ÃÄÎEu¯G÷å«“Òkmñîm®¾X_—ÂU_ `ü`;®±}½n=é½ÄÕ0V[—ÂÕ\~<ºeK®±}ØByŽCš—ƺ.]_ˆ¾ç²Ú_ÚÌÒ|Õ¢¯Kàj/Žùô[\½,Ú¸ôdЍKá:;æ“[öÉÕyÑ–L¡ú’9]]
×Ù1×'ï“ëý ì —J•l:ZÇuvÌõ©¾—1ïë9Sš\ùPÔuñ~ùäËãÿc—‹|¶—‡á¤¦ÒLrTu \ÕÉOnÙ?×­µ«^(u@Õ%póÉ-OÁõ.
‰vÐŒÕ%póÉ-[raß-Z‹ÁX]—x÷b멸n‰×f®^]×Ù1ŸEr”Ë&ûø*™ìе\cu)\o&˜4·õS/\²{ãb§®.…ëM2âúì-¹JÜú¡k¬.…ëØÓUt}Q7®D²­x”KW—Âçð±‰ËæÜM.ý9Õù±º®ê|²&±çÚO¿6ÝyÈJË5V—ÂUßœº7®ªÛŸûÞmz«Kájn³Q.›sˆçkãï·M­–k¬®!ž—Þ¶%ä]A ®qö¶ ©Ÿ,ŽÕ¥puÞ ë«™«õ¹Fê’¸r—Õ¹ìf¤jŸk¤.ƒ«´çZãÒmú¡ÿ VÑ×%qƒßxàjô
3àj¸ëQ2\ŸÊ(—Õû7䵘_ÚQ.}]—îý¬n¹:}l
\Úº$®úêÓǹ¬²Þè!Ón”ØÔµ*–ïí¹Ê×ëMóU|–ïY
¶X¾ë“kz.óë–—ÉUüÓr•‹ä2/pÉe3aþäšžËjb¹h®õ"¹Ä?-WºH.ólõA¹’ere0ðµü>ŽO®¸ö0ðÅ}Ïn‘\ðA¹ª Z~¯Ù\Åô²×å÷ÐÍULMÞá¾70¸@ªrÃ\ e’ºÒò{9ç*Š+[\Àa
%°ß{ZÀ‘›ì ù=Å¡­´e&=@~¯thG„â‚¥Âèo‘ßoXÀQã¸÷}ô•±mç˜Á8lc®Á9æ½Qæ#/Á9°Üè–ã‚s`™±Åš3‡}€²×ÀXcV@éK`3ËÚ¬Þ€ò9°ÊÜX@=€ÀXa6.@l`3°½9êT˜ËÍ" mœ£ „m®gƒú¡€S˜ „A:ઢ©€ìÚ„>G˜ ‡bH}fv_ï\bAB/0Ò
-Vè׋‘Ã]‡+_Ž V˜È+ A,0
-V裥ÈaÜ媗#ˆ(Â
*âƒ-ôéBäpÝåB} Â(»‚Ç¥€VÏP„#C̾:\ÕB")£œ· Å ÙHd.„Ð'TæB,ÝÄ‹u+_†pd8üƒȇ
B8j¤—Â!Gl#´A `1Û¨«>BðÌØå
h)‚¸ú,(ÖCéÑg­¡% ÇÜ ýŽhIÂ1ó3?ú•‚+~€áï€d¼s°=z @KŽy>rs˜y€Õø©bå™H*:sˆ‡–(30Ê&ÐúyÖ9eˆιÈQDs‘ƒ²ÔÄ9£Ò7”AÄžžQéI+Ò@½t>¥Ï)Mª’ζÚ&HšÔ¡9!"li¥åÚ‡kˆ´ål¨vc! »ô™ ±¢g83âžö¼nų¢ †®@žâÌcˆñqCË`3Ĉ9qx@Ë`iˆf(Í4€ó`¦Ÿ¬TÔ‡
-g€M>kΩj-k€MœdY“½´¬ +ÈcX]>±rz‹€5D'V
œéöÔ1GNÀY™8樼A:©Ôï˜gB©œÇ ÜÏ™.H,8ޏÃtºc
wàÊêd†kÍÁ…Tú‰:,c=càÔ4Æ €?R§é°ŒÖÛNÓaÓ™_‚& :C¢Åqí±`»0ºk…äªé0‘qƒph­ ±÷UKó„ªY.´v†èuâ,øV­!zÕzìÓÝ ¹ð†èQ:j ÖÖãrfØ ¬OKüñÍPË%¢¹-±±’.h­
Ñ“&æV>¬­'BõÊXZ?Þ¹±´°öõ^†˜È,e \<1÷3–½í#×½{&ܸ¥rU¤ÍJÉ\"š LdöܹK0;¸)82i\o\´;¼•Ÿ'–‘P¬.t¬Â^¿¹1p1_uFÃÒÇàd}¡ãNSbé¥
\EiW°/)áøf08Ô&[õ cœFwžÿf<[l2êR6WqÀúßtŽ*OôÛø\+Š¿S;‹añcq€‰‹ÙaQt_zî¬ñ¹‘‘«ˆ¸ÿ¥ó/9k·6\"â—{”56¼OßYqYtØqœ=šÌñ…Ie˜>˜¹l:ìŒöªÿì§Œý¹K.ê4Li¯ƒ~/ÛÌæqµ¶\Mä¦ÜÝo·Û/¯oåe»}È,?mcÍå¢ÃœSþ#†KȵqÀe'‰³tŽ+¼Û9á
®ÃÌK_8.±´îBrvm¦(ˆ=$W›…ÄupÇU/«»Ð\¬•O_ºäj‚áÚ´.¹‚ÑzÜöžKdKÑxw gÑ q!Øý^
—XŒÒ¸°DôÖ!‰kvKÄgиš…X!•kæø—°MäšÕ)¹/T®9½3eû‰Ê5c`OJš#sÍ6Ähi/t®™†1±ŒÁ5Ï#îí2¸fbÔ,%=pÍ`sM®ôT9×ÄÚÁÈdr‰<\)´ášRY©Ã\®éÀx™dl.FÚÏ$ŽËšk¢ÉóÄ×þ9椰áòoŠü,M+.ß`ɧv\~UÑ&Yؒ˧ƒ¶Ê¶åòf—ŒoÍEΡö41qÏåcÚb™®î†Ë½,ÚŸ›pÂÕ
·¶øhß"7\o¶è®Ë’CW+Âé,—\ŽºìþІÆÕŠ'küâª-.¹ø©ÕªGw-qËe‘^HÝž“‹Kæ–ʇìþ‹ë6øà"æÅÇ[ï¹ðÃõV^qÙññýw/·÷Æuê5ƒAÞm_}ÝÛ'ש۞¶wê~z|õy_ß\çŽ;žpØ>ÜËývûøúêý–“pÍPàÿÿÿârõä
äÿÿMÌA‚0Ð=§˜¥&¶ò±",•莵 ‘‚lM©n/uåfóçýŒ–‡I Ù`ò ”‰)e=Cq©Î(¬iºöå”ï¬A©ŒjõCªWf.ï
œDÆ0ZM9ùÀYQVŒ8…!#Á ,I¹ç½Fœmã?ÊiTÎÖ¯«~C±âéßû]×Þ<(Ï7,‰ãxmßãÊ'=h÷Öu {£/;“òendstream
endobj
153 0 obj
6289
endobj
154 0 obj<</Type/Page/Parent 150 0 R/Contents 155 0 R/Resources<</ProcSet[/PDF/Text]>>>>endobj
155 0 obj<</Length 156 0 R/Filter/FlateDecode>>stream
xÚ+ä2T0BCc3JÎår
ár
á
äHendstream
endobj
156 0 obj
31
endobj
157 0 obj<</Type/Page/Parent 150 0 R/Contents 158 0 R/Resources<</ProcSet[/PDF/Text]/Font<</F4 4 0 R/F8 7 0 R/F9 8 0 R/Fc 9 0 R>>>>/Annots 14 0 R>>endobj
158 0 obj<</Length 159 0 R/Filter/FlateDecode>>stream
VMoÛ8½çW zJ€µjÉŸÙ[§Y/šTk9Å|¡%ÊfC‰
IÙpýÎtì¸éb³„â ç½7Ã<_ÄÐÅŸF ô†W“ÅÅÇÏ×taQâÎp4†EqC–«†_-¾»Ýxäw;½~”¸ý(†YÁk+J3+TíCûÇ!4EC
]l„\Õ¥X·Ú…BÅj¶æ¦C#Y
…Ê[¿Òj+
nÀn8¬[üSŠ—¥ÒPð-—ªqq¬.ðQ[^³:ç J*EãžÇGù7ªª°ØãÃìoH5‹z
ÙÞX^ÁòòÃÍcš}X^Á7®
"JF•vÇ4~&žD}O<9œñuËõVðÅÞ..ºQ¥¥_1ýšßAGcô“¨ ôDŽͯ$d^ø£^ƒ~Î'TG4J[¶’¿’í¹vгe2vVÌð°_¤/†ÐD0³°aVœ×ý0pµ'×kÀz
—·ÌìI0HÆH É$Ñ ,ˆËÜŒã—ÔÀœ–ב³Z©¢Í­y­{ÀV‘0•²u1=ÀtqÔÅ(Ù:w‘4LJßø-¯ ¥sLk°Õ¼’ø
ß„ö~s9®Ÿ¸ä{tp…¶-:dH çé’åÜDá€dèýáÇBÞÂ3Š«¹=úIZ•+Iœ¥)ùXl¢ðNw׃‚7ø®VÿsË[¬ Œþ‚0ΰ»h)ãä{,ð%R }Šßï¹1xí`"UþDÛÙý·sg ?#Ôå%‹ž"ÁŸÜN…æ¹Å#š`§˜4ꬸi²*ºk'ì4ÇVâ¢l뜚¤°û =+
(ÊNé'OÁ­´ÚâL`Rel–kÑá¸>«6åÆm Ï3õ<ý5x1„rû†|Ð!,&;XWž„µuÁý]z³—ÄûËÖ_ȼ5VUâVچɡJ¸{x„»
Âö¸TÞj£Jî,UþÝåÕ7g¢¨¨W¥À«?Ÿ¥èfö-vB©VuçD¯ 'º$cUƒÉ…„ÓëÔÉ{f_Ϊò\@·ðU±"Ô84î왎=˜†ùé|ü/ÃË£€AJ¯Yí4G”Ê]—RI©vîâsg1ó»/”‡B8n’c/—Ép¯‘à#×9}æò#ƒ*oeá¡0ç%Çîæ~~üçÔ¦~¦ŽÞ¿Ð|W~óZµô̹k?ÎDA7ç]'
ˆúaðÎqÀ¡GßÇåžp'޽oTA›óç' éŠCT't•œý?Òw£k,B_Ã[õ×Å?/¥Õendstream
endobj
159 0 obj
990
endobj
160 0 obj<</Type/Page/Parent 150 0 R/Contents 161 0 R/Resources<</ProcSet[/PDF/Text]/Font<</F8 7 0 R>>>>>>endobj
161 0 obj<</Length 162 0 R/Filter/FlateDecode>>stream
xÚ+ä2T0BCc3JÎår
áÒw³P04TIS041Ó3V072PIÑPp
VpÎÏKËL/-J,ÉÌÏSðMÌKLOÍMÍ+QÈIÌÓ ÉâÒ…hÒ…ê2‰™…ÌÀ|C…àäü‚T¨kW _)!rendstream
endobj
162 0 obj
117
endobj
163 0 obj<</Type/Page/Parent 150 0 R/Contents 164 0 R/Resources<</ProcSet[/PDF/Text]/Font<</F4 4 0 R/F8 7 0 R/F9 8 0 R/Fc 9 0 R>>>>/Annots 37 0 R>>endobj
164 0 obj<</Length 165 0 R/Filter/FlateDecode>>stream
xÚµ˜KSãH Çï|
ÙªÄãGâ7 À°5Ylæ´ãt‚·b;k;ÅðíGêöCYB;¶¨
ÕÉÏjEú·¤Î¿'˜øggƒãB’\D'ß®°Mˆ–ø‰ëù-NmxKQŠ<ÕÑ?±<…Œ‰aKȰàòq¬H¶™Èë¸N‹\á°¬·=Ã%<z°,Öëâ%ÍWêÁÒ
Êv×<½BýŒoµÌ™2œ4†mÛ®1!ÛÛ®»;ŸÒãËûùØ2¬3µße‘/ÓÕ¶TûÝÇy¼dæë8ßµŽ[Žúžï¿Í˜ñðµªE·y-Êeœ˜‰*]åô/)ÓMm1çþßf›u¯b øñÇm†ç÷dÓøÕ:^,ë—¸p¾ÈÒ<­jŒOQVŸm¼>ÂþnXZë_ŽpþŽëó²X•q–‘´Žö;|Øçw(’m™Ö¯x$6EYa7šï³‰êXá…ï„ᱟIÜϽ‰û‰6Ioo2×Ö„±:ŒŽ­£õ³(»ÂPXò"ï
ÈOW…«èÄ4L¬|ôbÑËÃ
Ö?ÃÇwБ \‹™Z¬!ÜC3 ÃÍ|Ã×â–år~2È3"Ãjlðœ@Þ¶
OÏ3ù©‡qÒòŒÈÀ±Í8¼k
„Ó™ú†ÓóÞdÇþÅ›|•+èõƒËñ'J@ç‹â QÕ¡'V‚”*0W+\§k×E™Å5„‘¤Ë4‘5tÔ‰{b8I¥ß×ìömÕ5öÐË·ÇH£.ÏD%¶ê’ ººQ—oÔÕò.8-Ï̾eSì5<'wcªç¼G¹éù²éYêľɿ]œ¯¶Ø¥ûydÑsZ.àj‘RM«}ØDÏàÏâ â|ÑÉ'5üØ5*Tª¥hï›,£WyR,¨®‘ᨌóêÃ
¤³E­_Î*Tào¶éBgç¾Xˆµt(Yœ×irÀ—Ó(ܜȜO¥äb¿Dïuî§@çÁÀ9AÕÖ&ýéxF ïËÚ¨ãAç'0Æ osªôýp}‰ïzÁîÒ\ôµ*Ö bê")Ö_^‡ìÀB¶É’Zh²ÔÒ2 :šÀ9AY
0&ZžTå&u-Ïä=ª©Zž”Õé€ÿœ Jñ×òŒ@>0w‚?¬;°U†I5öÔõFí }SÄë
禲ºpä¢é|Tnþ?aÄÌNGr¡ÓQC+™hh`ÞpŒÔ㜠yÎp‚täàYÖòŒ YÌÅ(éxNŽüûœ î*U«ã¼KÓ­–gòþt žœ YzÏ S/`*õGð R¢x€°.·I½ÅY/­ôF߆ôb=íLèeþQ»4|¶¢– ¨ZiVC3€ŠãqNH}J¹Žgòݽ´<#H¤4 ëxNÐ# ÉêxFÐh‘ˆ:þ¹SÃg2Âyo6”ç'Q¿‘ÃÝ|&ƒ³L—ûêëkÜÔ’w•m¹ÐÉ¡¡U¶54¨Æ9T148'¨—
òçmkˆç„J¯Þ}NPzJoÇÞ©­îk2½®åŽàû+Ž×µøU«ÑÇû.«0Ã÷(’#ë×'Øñû‘U-t nh•?
ÍY=
ç þ€3œPʧå9¡šŒÞNdÍiÔòŒ áÆ¥jÔñ ú‘Ã
eηXìéZ"{È\ÄUšÈc?KWô‹Ùy’ˆªz¯[ì>®:ƒß*·wûþ÷'î‰oâW0é#§Ð_'¿VÐTÂendstream
endobj
165 0 obj
1330
endobj
166 0 obj<</Type/Page/Parent 150 0 R/Contents 167 0 R/Resources<</ProcSet[/PDF/Text]/Font<</F8 7 0 R>>>>>>endobj
167 0 obj<</Length 168 0 R/Filter/FlateDecode>>stream
xÚ-‹Á‚0DïûÈ–¦z–È͵~@ƒ[‚‘% þ¿VÍÌeÞäMÄ(>a”.µhïiSïÀ ÁÖå%¶¦€¿­P]› ªQcß½æ°ô£â4t2ˆ.hA×þNÙOÊþ–MÌξÛà,QfÑVžé:x:Ñr#vendstream
endobj
168 0 obj
122
endobj
169 0 obj<</Type/Page/Parent 150 0 R/Contents 170 0 R/Resources<</ProcSet[/PDF/Text]/Font<</F4 4 0 R/F8 7 0 R/F9 8 0 R>>>>>>endobj
170 0 obj<</Length 171 0 R/Filter/FlateDecode>>stream
“OoÓ@Åïù#ŸZ)5±’”mZ)`qèe³Û ë]wÿ–OÏìÚ`)UŠ¥hå7ûf~oü8Ë`A¿ 69,×À»ÙM9{s
ùÊšÞ¬7[(«‹%Ü ‰ð)Ö`‡Ê]–ߣ.Û º«å*Í£2Í`' r§Í3Îxî¼ÁA¿‚,õù&]ýã-Xí
G¨ƒ‡m™”pDè%ãXëWÕß+¹6m¯U%TNƒk©H×îÄ F­}¶;Žn‘Z5–TÁŸ\³åÐåÃEby‹•—h’9$Ü÷–þÑñôáJ
;&™u=sâH}„kAË
|ý¸ÿœì¦öëÐŽC(íÎ|ñ‰#Í”ê–Æ ä#Q5®M_RÍÓÕ@5‡b€‚°¯â,&vBYiîCj§ª Ö¦c.ž,Th¹G:Pïû ìÜÌáVGÂ_ðÑÓt¡Üþ«Á%¨Z4Þ0­^ìÊ7;æîU@ÂåZ9£%è:Ɇ{Úåà@øÈËB1DN±ÞŠ„"ü³éˆí,‡3Ë„vÿˆ!h kI©&,ù2©ãYàL…RG)Re:äëÇn$>° 'v~(¦M!x.}E¶Ñ2(N­pس
-eï÷ïàmŠ”(ůG1^p6ÑÒ²÷Á3cÚNÄW!°W>ãÕv‘^“ˆÞ¿
ç»röyöUDK­endstream
endobj
171 0 obj
540
endobj
172 0 obj<</Type/Page/Parent 150 0 R/Contents 173 0 R/Resources<</ProcSet[/PDF/Text]/Font<</F8 7 0 R>>>>>>endobj
173 0 obj<</Length 174 0 R/Filter/FlateDecode>>stream
xÚ+ä2T0BCc3JÎår
áÒw³P04TIS041Ó3V072PIÑPp
VpÎÏKËL/-J,ÉÌÏSðMÌKLOÍMÍ+QÈIÌÓ ÉâÒ…hÒ…ê2[éY*€ùÆ
n™9©HAò®!\\ÍZ%endstream
endobj
174 0 obj
119
endobj
175 0 obj<</Type/Page/Parent 150 0 R/Contents 176 0 R/Resources<</ProcSet[/PDF/Text]/Font<</F4 4 0 R/F8 7 0 R/F9 8 0 R>>>>>>endobj
176 0 obj<</Length 177 0 R/Filter/FlateDecode>>stream
VMsÛ6½ëWìä$ÏĬõËîÍuÛ™^ÚÔV&] ri¢ JÖ¿ï[”,*t2¶G\¼Ý÷öíÂß&3ºÁÏŒVsZÜRZN~[O~ùóžæ7´ÎñävuGëlº¤µ³ÍÖ0=qm] ÏΦ콮^®ÖÿáÄ’f³öÄõü.™Ë™z¶yØ+ÇÃÛé‡çõÓ‡ÍùBC[&ßlKgÄ;v
ºdRÔxvdí¸Êð¯5;ÍRãaí,@K)ig‹6í^‡‚BÁôøåó3ù®„äXƒ‹5à<ê*•®þVW@ÌTP[å™"ˆ­˜l±rkŒÝƒ-ù û_%éüÈÞ&KÉ:KH¾š‚iO©± &µem8HfoM´­%ÏGÛ&ŒSiÐ;Ä,Ïcjè(,6ÓŠ÷$_BU•eZà•
¹u¥’O¤vJÉ6Wq-t{Ø¡˜Ç>Ö­/P~#æ¸kŸ´Ž¹§ÙªsÌbÞŠ¸Lfôhl•ëTõŒÏ͵Jn%ôkÁÒ°pV‡0tœ2d@CRTÚaâ[¾ßVÛ™ñ¶>ñ·†–‹ «BÁ%Wa¤¿Û´‘Ç­Žìœu#­ûR‰À,„ƒÁ(×f¬‡Ã`¼Qí[âÃǯ1—í„>µõQ˜n´ÐWÛ¨f¼!3ØØ•q^ÔI¬å85§ÒÁ¶ÀR¥NŒYþmlE(ÁA5±Êf)Gd{¨k£±ä|×¥À„?·[ä}2ÜœþÊЩî´<J3)véÄ7bI@¿‰dÕ]·¥m¦;PW;kvý¶@è€tß 9{ÂÄB+¤T‡àícç”MÕq:×)äÓØ-Xhï¤Mô}›RŒ¤ í§$cä8F­P¨oËÓÜœ}”†sõ6¨j¯ÑÈ @GŽ2Ű½p ‡ÀŒ³AÒ Œ¦.;íÕá0°Ú!³Lìç½´ Gë°CÞõÂ)¤½F|ZpÖd“Ë«¯¶r™épˆviïWùx>e Es‰“Û*}ÔkÀ3ªWªŒ?RÖí—VCØ ü‘Ö7©ìÞ¼1I6üÑtŽ
ËÅæ+Uc¨£A_¸’Q/=­3È*Ð-I¸+Ž=p%‹Â%-Ú‚.– 3×1ëx¼§ô’þ¶?1wëKÛ¢ôʶ¢}o½\¿ÆK°¿´$^Ÿ/³=ŠþEŸ-hÜÍ]•w§ä÷‹Ÿø§gyw“Ü#‘+ùüÇzòïäd)ú´endstream
endobj
177 0 obj
930
endobj
178 0 obj<</Type/Page/Parent 150 0 R/Contents 179 0 R/Resources<</ProcSet[/PDF/Text]/Font<</F8 7 0 R>>>>>>endobj
179 0 obj<</Length 180 0 R/Filter/FlateDecode>>stream
xÚ-‹A‚0D÷ÿ³ÔJm¬%º3Aý bij Õ÷—ª™ÙÌ˼7 äKd‘Ú´gÚ+î T±‘(w9ø±B}k®¨ƒïœ£ž\ð8i¯­ŒŸÐôÚ¯ùIÙOÊþV•˜T%¾Kc˜ï½ÁżB\¬Z3ŽÎÛô;0é#Õ(Óendstream
endobj
180 0 obj
131
endobj
181 0 obj<</Type/Page/Parent 150 0 R/Contents 182 0 R/Resources<</ProcSet[/PDF/Text]/Font<</F0 3 0 R/F4 4 0 R/F8 7 0 R/F9 8 0 R>>>>>>endobj
182 0 obj<</Length 183 0 R/Filter/FlateDecode>>stream
xÚµVMsÛ6½ëWìøÔÎDŒ()þè-ÎÄ^2n¤¦Ç .-zH€@»þ÷} P¦$gr¨}°I,Þ¾}ûÅ&9Íð›ÓÕœ—¤ÛÉízòþî†æ3ZW8¹¼º¦uùËZÙ*<+Çô•Vžý¯ëÇh™_%Ëéb™Í£m–Ó7v¾¶†¾ômÁ®6ÉzIy>Xϯ²K±þô×ýŠzà‘¢°qÌÓN¹@O€‰äoUà’Šê€hKOÁ’ãαgp—©UÖ½£¶6òG™’:ôV‘²p€ç|‘x&hÿ[¢6£a¦óe¶ƒ—E´,mfY%Ïòlö:°i¼»å ¦}غG„¯6%èÖUbQ]Ǧ„@1€†C@´·TÙ¦±ÏÉDоnÊAŒŸ \Ä{§hùYâéÓ·y£:¿±jOl8©_YGŒÜ¼Pð¢ÄUmT³1¾‰ÙÖ£$"UšË]P£t ±_<]Dç:l"Hɺnᡳµ ^2Þ(@zhé¼¶(ó¢<åßg߇xTH¯ÏŠðY¡nôF™ ^@?H™Vªo ‹Á¿~Û¾/¦þÅnq ·,d…ÿ«¤Èè
·þHUUÑÜÝÁ—ìëC¶¢Ø/83©â%×#pH×4ÈÏžÔIØœl’†
Ò\³H3:DhÛvÈ7/°H|¸Ü·ÝO¹M1äøœOòPÓ„Ÿ»Ú¡çbyŽÂ|Uÿs±]±¶ðû#c¢=pçlÙë e}þF~D™‹§Œüýð›—þWólvBNǃSÆoyØ]Ú¯‹Øi‹a]Ìé÷4`pïìžØíŸÝ4õ•Jl4ž¤s}¯5{_õ
Êu[¹å¾Ÿ‚³}ÑXg]Èè#lñˆÆ“B(ÿ˺J쫺9ô\rÂí°œ”(V8´2Ï1'z±Š“Gl|ï†aâmïô-%$ñXfÇ{užjüC¶ 5öÉ[Ût§RH†{ªRèHt¡Æ,K+ÇÆþ¾»).è¾Qæ]<˜®Ö÷S©ºSÂ/"û‘BZaæÓjý5.åW)Áó0:Óüq©Âô~+ØåöKãl°Ç)8ºQŽñâ Û‡E Èð3•µ®.úX¢X+˜î2Ú§òq¶,uÆø¨E¨m9žXÛåx‘Ñ{b$ ²Có °'öe'ɦ‹µSÞ_΢ˆÀâÀX„ºÞG¿¸LÑŸù$[^ϲØÁâFž?¯'û¦Yendstream
endobj
183 0 obj
947
endobj
184 0 obj<</Type/Page/Parent 150 0 R/Contents 185 0 R/Resources<</ProcSet[/PDF/Text]/Font<</F8 7 0 R>>>>>>endobj
185 0 obj<</Length 186 0 R/Filter/FlateDecode>>stream
xÚ-‹A‚0D÷ÿ³ÔØo-²–èÎ¥àG Á@¡ÆëkÕ̬^Þ{C}ÆÐEúu¤¥Õ¡3l Þ¹Æv­`o T—ºA|ÛwÏIb<Žâ¥s£óõ ~iï”ý¢ì_±JP—&7øƒ&´ñ%“ÃÙ
Nf7'coéDoC¦&Kendstream
endobj
186 0 obj
128
endobj
187 0 obj<</Type/Page/Parent 150 0 R/Contents 188 0 R/Resources<</ProcSet[/PDF/Text]/Font<</F4 4 0 R/F6 6 0 R/F8 7 0 R/F9 8 0 R>>>>>>endobj
188 0 obj<</Length 189 0 R/Filter/FlateDecode>>stream
•QsÚ0 ÇßùHÛ4´éAë]Ò»½ŽÍlSÆ>ý”À±önqéŽG"ñ“þ²¤üìÅpIŸ&ŽAÔ½ë¢w1û
ƒK(VdO¦P”Ÿ®àVç¸Ý.~´ñäàÐŽ¢AëÅP ­ÝÁc q|ôL¢qã‘,££…âõãáñÏ L½Ùz´ ¸®¶¼Âè-§ÿÚ}Ã-W
U70G]J]±`Q |inJî9ÔÆ"øg®IõRzàt—u8 Ü`({£±¿ãûFE½ÕRp/v (ŒFKô;D
~g`cMeyíBáZÉÿKÝ49#ÖèCª(ÝV•¦ô]w¨‹Þ¶Dc8ˆF‡¦À•°Fï}q•'YÈ£¦j:¯Üs]r[BbJ„‰Ï4}×m:ô›º§I©Â€èä‰åÝ¡H¨§‡ì;0+µoêšïÇ:ÀLóä‚uCS–?>ü#ù6Z ÏŠw&Ba¹v+lhÆaT€vÇú·ónÞîzßg\¬›Do-ß<Ká`~œÈ0š%`3ÂQ%´·FË¿ÿÿP[¸7ËsðYZ̺ámgÑ @ª+©‘º‘º¢àn
3cEËØØS§q†Yþø±®NçàÑV\Ëß­!Àž³›nöœ”ŸÊzñ¢Ù"íf-¶ªYN¥äp*‚Ké¯w˜…’dÆù\X¹ñSE×>סmk_ˆ´@zRÛ^+ZœVœÚÂÒ¶¦Ó Mïô5öËè¸%ß¼‚G“Q4¥%J†8n¤Eï[ï°#Âendstream
endobj
189 0 obj
596
endobj
190 0 obj<</Type/Page/Parent 150 0 R/Contents 191 0 R/Resources<</ProcSet[/PDF/Text]/Font<</F8 7 0 R>>>>>>endobj
191 0 obj<</Length 192 0 R/Filter/FlateDecode>>stream
xÚ+ä2T0BCc3JÎår
áÒw³P04TIS041Ó3V072PIÑPp
VpÎÏKËL/-J,ÉÌÏSðMÌKLOÍMÍ+QÈIÌÓ ÉâÒ…hÒ…ê24 šë)€Üsò‹‹*A®!\\í€#endstream
endobj
192 0 obj
122
endobj
193 0 obj<</Type/Page/Parent 150 0 R/Contents 194 0 R/Resources<</ProcSet[/PDF/Text]/Font<</F0 3 0 R/F4 4 0 R/F8 7 0 R/F9 8 0 R>>>>>>endobj
194 0 obj<</Length 195 0 R/Filter/FlateDecode>>stream
V[sÚ:~çWì0}H[0¾
ÎK)I¦Ì´™žIÎC^„-°ZÛr%¿ïJ2Ä;C FÚë·»ßúOÇÿ=ù !Ê:_—ÁÝ|–k¼Ž®a_}…ÿ蟒 šÑ\ÉË_(‚çYÙ¾íøZz™PI!²¢¦…à[Sˆ©",¥1°|ÍEFã9àGòRDÖxöBi$!æQ©XÙˆç
8:ôìuÏ›}¤,§dBÒVHQ¤ *údflÎ>®»<ÆÃŽ©f?ŽÍr Þ¨Ê2ðÐ`âx°°ÊwZù(]gX ¢è=É0•sÌFZdŠ!’“¬½‡µIˆ ‘¢B€2ÁÃï|ƒ‘bV4—¥Ð¨gB´b)S{›Oc*àá~þÿ´Œ«½T4“Î!ë^ÃKX®±_—y¤!?D“-¢™HS·5t¨« ÓûżÏ^^ì)âüÆu=Ytú\%e—åQZÆ´[ò®Ï¤ëœîÕAO7õ¦iÁ{ñ+´IJ¢ä¤­û
P¢±Ü°­†#6…ÒªúY«ôÌSQŠ‚c'bî9Qº.V¤«ñb/Ø&QÁ”E:]ô”s…Ï=sj<RÅfFéËêÉÆ‡jo< ºeÈú²Ú¬öÆÚìqÝóøCÙL,„.Œ5H}?´p>¸Ža øTéŸ ÜP V¨ª´&òjÄ¥s‘…Ù9o<õ}×uu·Dî±µ×jG°?ËHÉžá#.›Œ d±¥ñe®tgŠ •(mmz ±ñ,óÙÒéá,q„5ÌA2 U“IÓC# Íi›úEEnÐek2wG±kIZk¯”ìa´lUܵ±±°»¼TšFã&›µvƒî÷ùìö~që¨Õ…]Âô%¼Lc;º+Ju§™É¶ÜÚœ46 m_˜¯_ê¾Ì˜4ƒ€“ŒlÐLR"m /6lCMM.ª«þ›*•OÌ"€ïÇiœ¿ÎL^³ë6é0ôB¦ IC(xdt7mqà%S·qئú§é~Çy܃DìS]EßÃ~à!Ñ=,¦çúÈ1à <_®÷ü‚QÐÝ 5ŸÂ'•…ìkù¢Ÿ.6m
OOOH”*&ƒÁn·sZ5ÎMÌ*6¸¬t~ôž¯0“þ ¿xÎ{~ƒ†ÿ®FРœk N×Oß°çð°€V\)ž]´ƒ”ЯNï.!œãÃÕ)7¼/!y° ;çugU£‡|­À«ßÆÅÆÂ+Rí`Öé!¦Ú¤2eö Ç_+ŒH%DŽ|AB¤¥‡”K9%¢îíPµx®_ww8ªö|Û›i8
zWËx¦‡o—;QQJ-endstream
endobj
195 0 obj
1072
endobj
196 0 obj<</Type/Page/Parent 150 0 R/Contents 197 0 R/Resources<</ProcSet[/PDF/Text]/Font<</F0 3 0 R/F4 4 0 R/F8 7 0 R/F9 8 0 R>>>>>>endobj
197 0 obj<</Length 198 0 R/Filter/FlateDecode>>stream
xÚÕV]oÚ0}çW\¡J-„| (l}i RÚu*{CªŒsC<%66í¿ï: Ð’~îeZ@ÈØ÷ßs|áG×^}ûæiãlÚèN\Â4²3ý…GÝãÖô{Ã…Žç:'vŽa,CP4.æS[ïÚ™îdÞÀbu¬øvíÌña’Kn„’zÕ³Q„¸N¿Šr<¸f©‹2¨žWù²ab`°HÔœ% ¹Z"è˜% Ì8[
Ãñ5/Ô4ºÙ†bÄL9ºU)š˜ö'i
wf-˜ÆJ&ë
½À)(àŠãÒn
F¥iÈòäÑ–†ÒοÝÜ‚³ˆq„DÌ3–­!Ú CÊÖ”±rCb™a$Vð ²Ò÷6NÔfœi´Lx¾Ô;6›o£²ü*Ùï;½gõJ¯Ë"OXFZ5µaFð&0:iZØí]¤ç2ÄŒr3Ô´jeQ´Þ+™
Õ©ª,†¥è4ÔÕïð±ìµ¦ð‡%Û>\(ž§(muJ¾ÐcFÚn´Þ’{$3W©Å€ñ ÖšgbN¥Ð¹0Sœà6=T¨ÛÅÔRi-ætÔB.sC‡š
S',"Òl=kµ éžä©ÜØÄ{–ä¤Û~(
A/‘ :!#•¥Gˆ!†£’ëοWêòœ?+ÕgG³Ö!tà\¥´3ÂN¡œ_ÍZußÖ®•A=©$¾`s«ºWÚ¶ìˆE"Ú§{ _h÷KyOÝb… &*é·Áu\ø|JчGnߢmð·J<*Øâ]Þ͇T¬€V…Õ ~í—ŽS£š<“„HGòioõ÷+7ZWÔÈ*|í> ÞºÏ*ˆ©[ßk:øˆÍöo³·L|ÄtiÁâ/-W%ÿŸ†£{SëÑèŸøng¸§ÏûíçÖ=³OèC.t·.ìNNªNñ9€þ0(U,#Ï•ŒÄ"ÏJ寘d ,úä&aE§u¼^ŸÒ:ßµY^ÏNö¼¡3÷Ù?ãiãkãm•Äendstream
endobj
198 0 obj
767
endobj
199 0 obj<</Type/Page/Parent 150 0 R/Contents 200 0 R/Resources<</ProcSet[/PDF/Text]/Font<</F0 3 0 R/F4 4 0 R/F8 7 0 R/F9 8 0 R>>>>>>endobj
200 0 obj<</Length 201 0 R/Filter/FlateDecode>>stream
xÚ¥UÁrÚ0½ó;>%™b°“4§$Mzj'О2“‘å5¨µ-W–Ii§ÿÞ•„ÁBÓépÀ’vßîÛ}Z}ï0¤_ÓFð¼w=ë
î†p³ÔìDçô•œü:
¡ ýs³ð}oO¡®U'«ÇÓËÎéo³Ü]@05Ð}ÂîBsríá S‚ÅV«±±"ÿÑÐÖV~Y.й3C¬Â©1Ù€À³Ð `0ÏdÌ2¨¸,ªË2ˆ8+…f™ø‰ ¥êÍ¢j<½7@k¦w×¢zÐLckO†#ßò˜-d­p,µh šÜAÕY+M†7Ÿï@UÊ8B&bÅÔªÉx¹e²|y]iòœ‹ÂQ#„NðRa*~€Çë²ò -óÑ¥æövè9&ð¾w“¬Â2£ ˆWÖ7¼:±™š×9Úd.QA)«JP£‘0¢&jQ&ù~‡2ùŒŠ³
U]$¨ÈD‘[Œú‘Ê URž¦¾OË
¡NjtÌtë¸á{U¬Ö¡w(«]ž.K*:ƒJÖŠú”Šv#ä™õñ*ˆàž¿'ßðÂ
áä¶R¬©âß2jx“ÕXÒ¦ƒ%S¤INÀŠdk(òAg¤ÄTf¦––.sbbþ­S¨+®DL—Ëʳ‰ÿÖ%¹ýpì‘va§ö—08s x­” dªBw"u—àlÐ ¢ÕŸãL¯!^˜"˜­Ê£dò· rE%ÔËÛ—àÕ‚4ðž´¬,‘¬7háX8ìNõ›ØäMWÕÖe³ÜΛÄ5ùqY†ŽÛ‚-±«ŒŘM›·qK0}Yƒ³î‹`zI·韠ÜàK%ÒNÉjï!ÙSÊ:´˜`†ØS«Z—G$ÁƒV5§Wé¨.¢×è¢jþS„sLe˜X›1çR°Dv¶Ú29_sÆ‘?h2Y×ÖÖÿF©˜×ÊJ>°‚ÍÑ
à>cV:}çÖŸ†ÃƒOôx:&<{LÌÆí¬÷©÷?ðendstream
endobj
201 0 obj
789
endobj
202 0 obj<</Type/Page/Parent 150 0 R/Contents 203 0 R/Resources<</ProcSet[/PDF/Text]/Font<</F0 3 0 R/F4 4 0 R/F8 7 0 R/F9 8 0 R>>>>>>endobj
203 0 obj<</Length 204 0 R/Filter/FlateDecode>>stream
xÚÕ–MoÚ@†ïüЧ$
2Мš¦ ­×vc{ÝÝu(ªúß;»kdò©J•*"×óξ3óŒ”ôña˜?žwÎÃNÿÝ ü1„+zLéG|tîÞÞ
^åXh¦SQ‡ß)r ¾ï"{ɉ¼`<¥eÅu%T² v‡À€‹ÜÈ!Ê¿…”â”i̶áJP´N°Ö+b@“+Ç<BY'ŠÐ\K—ù#òC×ŵ%Œ!-€q.dÌ
ްIubóÝ1™²(C(Xžk(E–ò-°HÜáj@o8ölÁý“æ¢75pa’ª½ÒèLÃâëÕ5ý“ JÓåhû­“ºH^•j©)íÒ˜¯Vä¯v.ªSƒÕ¸Îœ@ÿ•”¦·Š¦ƒÖ˜‰9¼¹Ñ3ý¼žéCýï3×3BdbšÖ3]
$XdL)T÷15F½ÑÀ êχK;ŠGšÓœ¹Ic&†ê~ò
JÎT=ܪˆQ*8ÅD¨7ˆlhü
nŽº¶A6K÷º¶Üæ 5÷nŽgÞ¸qø
ÔÓ×cîtQ;®[ÀÿÊ»¿!ÜeØnŸÿg¶§° Â5+ôStO_Dw¨
xU–¾ÿp½\|º¼ç—a÷´E ½ž‡{¯kèw%@Œ«´ Ä®è†LíC¹bV–F’É-ä•"qMØYO¬Ø¹lÝYJJùÓx3¹–-ƒÐœ>ä«Î4 –á¶$gXÐH»€û=Rôj“`w´/¥P*5ØkÒOßšUˆ¶náD^¦Jï‰ÍŸ¾póûÞ˜Û_ô•°fìj7Ó~|
M¥Ï®Æ®©á—ù·SG¶]V-Ùö¡eØ5Ü( Qù{Šþ»i]3ߪ-„Ë*]Wnð‘l¶ð«ŒÙÞôüq@¢Þd80*?0‡£é˜ÎOüßpv>wþK†Œ-endstream
endobj
204 0 obj
729
endobj
205 0 obj<</Type/Page/Parent 150 0 R/Contents 206 0 R/Resources<</ProcSet[/PDF/Text]/Font<</F0 3 0 R/F4 4 0 R/F8 7 0 R/F9 8 0 R>>>>>>endobj
206 0 obj<</Length 207 0 R/Filter/FlateDecode>>stream
xÚµUßoÚ0~ç¯ø–§Ò¤ÊØÖ_R¥MêT¦=Œi2‰^ÍâPÔMýßw¶C) LÛÄøî|÷Ýùûì­}b œô‘.ZgãV÷*ÂãÜZú§ô/;zµÇßÉ1D<°ž¹:'‰u…CœëŒ?ôl@Dî(ìW ®\•¬ZùØ⸊M”0zU¤)e„™3²¬J!ÅOŽ©Ôé96ÁZ”s¡¯TjS7i!¦åœC/yÁ¼kÊ…šÖ¹.<ÃôÁ" ºñIèš`˜zµ„Îa"w%^{˜Ûat^سáÝãÍþ(<µã\rV¸Â.XQ°ªL%9ÖŸÏ„
ð±³[Y’ØÏ‹6`r$ðÑoha¨OŽ\ÎI]l,;ž/Ñ×I{Ò¶»^¾œ´ë•<¤/â+¥¾¿_~»¾x9ª•ß×Ûg&JX\¾µtÎÔŒ›¿i&Óµ_
Tÿ¯_@äØÄRÛ/ž÷½7˜œÝÕgR%"Œoÿˆî9ª½ùä|99Š tÍûˆõ\HþïUF»ÂsÊL†á%¸-äVœ»‚s!õÊK³ï9oÅéTéthÀU*µqb¢¡±ôŽ“(½bÕ@7BTV6ŠV
Н!…â!ÆóJìIjÖR굩©“XW”6ÃÎ^°¼ä^q>3S°fIvS!´[ç
.%­²Ýĵê“ÝZn°²Ò7Vj”ɪ¤›ßáK£É|¡JˆºÇx¯õÒV¸§+¤¡!4%Iš¼)4õfhdzJ»î™\qZzA§Fwáp8Ü#Ð=Ù›Œ£(:(ª_{héotJÒ$ö“Ÿ•üu)ìrÐ3Úa½¥IÞq§¿½§±=¡ ÓÁ+\n©3û#rú¶ìœÆ‚'š6¹F/ —2¬‘àÌ“žÞG¢x:ª—©™´÷”Ô1•³tŽ e„Í£ÉxÎV² `m‡‰ãË<»Èü©t¯N« Å4¹ûTW=ÿtsKo²ÊÅlåŸ@|`ŠÍܸp#™Sy'îõi[gDõw¼7èQ*gŽÖp9n}lýJÈVªendstream
endobj
207 0 obj
817
endobj
208 0 obj<</Type/Page/Parent 150 0 R/Contents 209 0 R/Resources<</ProcSet[/PDF/Text]/Font<</F0 3 0 R/F4 4 0 R/F8 7 0 R/F9 8 0 R>>>>>>endobj
209 0 obj<</Length 210 0 R/Filter/FlateDecode>>stream
xÚ•Rmo0þί8åS"
¥I«Nj»TšÔIÙ¶£ª8‚7°3¿µÓþûÎ-­¢T lŸŸ{îž»ûéEÒA<u_Þxש7¾
aié,ÓíŠá¯QúÝ ÁÂ`æÎ«ô*]<¼w·€ó#„{
ù`*®³!ÏF§̼‚X+d?ޝ
,™­ÍéÀBRh±ù_æßî<¾C¹øT2u7×Á<˜kXmYNÄ.éq¡C‰Ã]&‚®X]C)ëZ¶€,¯@¡FµÃ
Ȇ^ÞÀ ­x´A“ÙhϺw'°Fà‚<
y®Ñ´ˆ”Vä†Kñ7ÿ8˜¸è‚5L`*ZÕÆ6(Œ&Ø2EÛ
5×ÁK‘Ï’ïDæð U¾°Ú¢>)uy ìóÕV)i)ünïI%^*Ù<ˬ¦ »œw!ƒçO’.D b†­ïç+M*àNÊí鼿V(p‡
r)v(8‰€Úy
ië‚ì–L…lE˨UFÂ*éVÞl•Ü!УX[T¥T
ARÀá4BYfC¦{¤f_Z¾…÷dô!ºo/!t«ïg££îàüž8•éë2ëG!NÎz§›ÏËÜHQòUl߆
ºeÍöÃäGÉ”Üü³Iè¼¢™3&qL$á¿ÃÊ<Öèn©÷Ñû¡¦7nendstream
endobj
210 0 obj
534
endobj
211 0 obj<</Type/Page/Parent 150 0 R/Contents 212 0 R/Resources<</ProcSet[/PDF/Text]/Font<</F4 4 0 R/F5 5 0 R/F8 7 0 R/F9 8 0 R>>>>>>endobj
212 0 obj<</Length 213 0 R/Filter/FlateDecode>>stream
xÚíSËNÃ0¼ç+ö›Øqí© Í
QH8W&u!¨‰ÃÖõï±›¤ñ¸c_,kfggÇ~‰Ä~3P e]ÑY6¦RÊ@ªŠåÉävåÞ4(ÐnÖîLkÑAf±>-ž=qŒ"Q‚Ž$"¡<póm]kÜ­§ÖçA,V4ôⱋ_®žbª¼œÊPä ¹y5X¹]Onæ’ŠNMî²H z^,ødjËmm§]e2C´8„%“ûF{5â,™cÕ8¢IVùñ b€ôÝÍ•GÃÊŽ\¬×ýaË`ÉŽöa½´­éùÞ#ã£ék]>Uàô¦5è]6$ßmœ§_C)6!Ø£ÖÔ8í.aj6%VmÓ7!ïÉ
y8“ÞçãO±pÓ$Ä¢º'ýó_þ‡¦]l.fEt½ 4ïendstream
endobj
213 0 obj
345
endobj
214 0 obj<</Type/Page/Parent 150 0 R/Contents 215 0 R/Resources<</ProcSet[/PDF/Text]/Font<</F8 7 0 R>>>>>>endobj
215 0 obj<</Length 216 0 R/Filter/FlateDecode>>stream
xÚ-‹AÂ ÷ÿo©‹V(Úº–ØIµxThj
(¡ñúŠš÷V“™'q°Ï8Du´S´j·àÊ‚¯ëR ©ÔmyîzÈàí8ÌQ§1x´×ƒqÆ't“öKu§âÿªbŠª)7ø‰>ØôÒÑ@Å0_&ƒ“y„˜Ð†è²¼Wt¤7%*Oendstream
endobj
216 0 obj
135
endobj
217 0 obj<</Type/Page/Parent 150 0 R/Contents 218 0 R/Resources<</ProcSet[/PDF/Text]/Font<</F4 4 0 R/F5 5 0 R/F8 7 0 R/F9 8 0 R>>>>/Annots 79 0 R>>endobj
218 0 obj<</Length 219 0 R/Filter/FlateDecode>>stream
xÚÕ›MsÛ6†ïþ<¶‡2Ä óQgzh’ÆjîŠB;êXbBIÉøßw]€Fr3ìÌØ‚W|,¾Ä¾ b™ïW¬éàkÞˆ¾Ùì®^­®^\›†wÍê¶aÊ4ý ›Õ—ßVëÏ÷c3Ý6¯§ýqÜ¿¯þ»úsuÕµì7f¿}|kM/T«›]£[N¯ï›Ë>{û|×¼¸V
cö¯ÙÃzx+ü5Ö<ŠÈ]ã~$|Œåf3}-ˆ+€Ã/Úê¿Ø£ç
'qÞöp⊷Štâ/®%É×±ç"VÇ6£dÙÁ±Ìj#)N¨¿¾ÀUßÞn7ëãvÚ[¨àˆŠt-i×™V.Ú¹¨UŒu­DÅxI1âè„I8ö¤›‡ÃqÜe&r8älùˆ~*»¸§½ÿ1Î?¶ãO‹“¬5U_P\™Ô$ÅqWf€±S\÷ÖÙùœ€(N¨7Óæ´ƒiú8/FPJP7ú71‘ÃïžXv–µ]Õ›ÅvñõâÁdÕС=ò¼Éz˜20š‹zÊÇñvœÇýftAšv¨ÜkEaÒª>X,.Y¬Rú"/Z¬'jŠ%D
éõ¿n2—$
Wuö¢Ä,ŠËgÂbÖ}ÿ´—¥¤ºÁœqY…KS§uÉœ=Gwà* ‡ÂDzü:αÃáÖ›­'0ŠÌ‹í3€W"ol€ïdîõ%«`.ÅEÁ(Å5ä~¨c\oaùø(&:t×'wÌ¡°ý½Þ¯ïF+·[ƒ˜¶Êµ*L÷N ·ºIéM¦“h²¢l2D„Â%S"…‰ôf;›ã4?<΋HqÞçÓæxšÝB[XûyúËQP_š.X<‚ÙHÃÐBEÑl<GÛ„Ca"ÝL§y“™ýÑñv‘c— âD³™äœ†™ºf~IõaƒHõA£—ŠâjÐs˜sˆDqBÁêíöî4»˜YF ÖÔ*¼!@Ïì§"ûQYs—Š-掯/˜»Tn…+óæîQRÃ=G¨c¬æéô9çïÑÑð©$LäEaŽëÉoÓœYÁGG[w’àNéǸc}˜'X—¶û;W™ë0§v(ä‰BmÀÁ¥Ú …F–ÅÚà‰Œ‰…ŸdŒG½¾_ƒZñ=~ßUU_KÒq»Dè,;qpS$Q\=—M‘’bp†Á”Ý RŒq4=Y6eâsΡ0÷ž<Ûõ‰%ûºÄúÁ„ÑaOA0a nØÌsX§ÀÁÅ õn:`.FUš
ÙZ$¶ìIàë µH Hå«‘‡)qNÃ(Qn¦ÛãÏõœ)H&-‡ò“Ð(ÌýÇý¸>à¢K õMYø2…Y«t0F\ª)ÂíõØËP¬)žëT–)L¤Oã|È.¿"€Ýë¬ð1Žâ„{wÚ}çPÐ+Øl*I/UpXD†(QðRMò»A)SÅ õvÜóºf-)&xd±n)&ú¢*Ö$ÏÛ§3…‰´GšQBT¹yYŒ·ÆÓrƒH0Þ¡\ÅŠDÝÛ‚S0ŒòÂg)–-GÜP¿«ƒ³ÄÁ…zÄ
u½^æZ ÁI/R…‰óö~:ÖóƒÓÍ´¬ö~$+´vø@Í4 ¥
×Ô¾z™-(ÓO,x?ý\Ø“Vã¼s•˜×Y‰ËÒõÔs§Õ§]1ÞSãée¶ „CíL¶˜DqÚÌÓþE“²¶Õ#Ë·´¸À.³Ë\ÊWIݨWÙ|e g8 {Îëé ”„̆ÆÁì}õ
ãré‘}?mçqéôª­gïŽZ3œSCÌN\LuN­§W…T Ñu¸"…‡_Ü7
ÇÛ b–Z´oÚÖ´sšÑn@à”¶¡Œ]ã€Îoà0¦¨žÓ=:wͺEq‚½[ï–Q
Kì¢D]ç¬ÏÂ
"‰:†>h%â%‰ˆÄz»šNPgé£Qƒõ©”*%0ÓØWsÉ…ƒPp˜Fß,”±PŒ½éJ(Æ6ßiïvwµ<0q®•ÌÏ$6PÍ^l„™d{^­b²y&[‚¢8ÁªK¶’D=6ªð,ú¨Oe%꙯¼˜lž„É– (Î}šáÉ’M’M~a,h%›ÔÞ­E)݈cìT¡°ïGǯÓÜšê+|ö¦8›„ Öƒh6 å­[”ŽH”p1Šâ{v DZمgÁ£^—•ˆ/Ó8”n1ˆâü¹%[G­2—]ÔײÉÖiïÖ²”lÄ1¶›p(L¤OëykŸƒ>Ðm¼¬-ݘÊO%#ƒu™8·QÞ¸e1Õƒ™s0J¤êò¬ Žfa­Y²ÌÖÜû¶,¦a0ËbFyúÌX
YVxp£×~¿Bàëè±iãýYRŒ Ú.Ÿc ³zø†¹ÅU¥‘–æRÁªÝë0‡¥—*¦A0½b
FŸerIÖÕ’%ËjɽO«br“+æ`”HÏ(¹¸Ž6WtòÀ7Þ‘ûÒ†Šö¶n ³<¨Wí½™“*œb·ü!MÛLÒî°õ†v‚÷Àtú”Wx<«ùp¿Þc~hPáû[RòŸ«ÿ=džýendstream
endobj
219 0 obj
1953
endobj
220 0 obj<</Type/Page/Parent 150 0 R/Contents 221 0 R/Resources<</ProcSet[/PDF/Text]/Font<</F4 4 0 R/F5 5 0 R/F8 7 0 R/F9 8 0 R>>>>/Annots 92 0 R>>endobj
221 0 obj<</Length 222 0 R/Filter/FlateDecode>>stream
xÚÕ—ÏŽ›0Æï<…í!Ä6þƒ¯›6=µÚnè°»$JBKˆª¾}Çö8˜H‰ÕS’ÝÒìÀæó|cø1Bá—‘BÙ¿·6{ª²ùÒNIµ&L¢´ Õû‡ª~Ý5¤[“E·šýpøXýÌ>WÍ)ìÙÃË¢yN‰*d^’–˜2WìÈÊÒÏ.è7d¾„1{?Íá\çÂ
Ÿr•3rñ.¸§{âm0°ou»Ýo,¬(r
Ãÿòþ0™sxü Ÿ °.+/ F‰xJ"$1¥r1EaaŸº·c [Ûno™pÁ”bêbM°  5PKK¤È °$èaÅh.¼:ú²6Ñ¥-)õ9ǧi±«‡Æu|Á@ñ›·Ïÿ(æúIÛ)ØO>ûI
±W,i¹@ò–› 0°»³\J¢²€cÈ‘Deh©¤áÇn¼x0»IeÜ”u¦ðÁh7©i˜×eÂn¢§Ÿ$ØaC[Œàwg¸d'I5oD$uÞeÚlHB³Å(Ì#ìáÌ&
7y}.ˆ$"Lð2m7$¡ÝbæöH†+¨›±Þ ç¶ §ŽI9ÚvÉ„ƒi$-º÷Æ’àåÀÜáæfÓ‰~b:Þ.ˆú‰á€2iÃ!»)a¾¼·^J)C‹ñEÜ2Tä'mNCã¶m&(Ì#l5üݹ~bænúéŠLqS„Â:úK/%~œØ³J|!¼,UDKÐe‚Ã4rVÝzøS÷ÍXCû²5ÁaqUßíWÚåuvSá§ÊÃ:ú<â^š_]?\)5N–çO'Œ´e×·nÈÈ›µÆBèé´Ä5ž¹õá‚ùm•,~<¯ìïz»9öÎíäk½¯7u?yÞÕÎý3&Ìә殲í%ûžý†(´endstream
endobj
222 0 obj
700
endobj
223 0 obj<</Count 9/First 224 0 R/Last 277 0 R>>endobj
224 0 obj<</Parent 223 0 R/Title(Table of Contents)/Dest[217 0 R/XYZ null 756 null]/Next 225 0 R>>endobj
225 0 obj<</Parent 223 0 R/Count -3/First 226 0 R/Last 228 0 R/Title(1 Scope)/Dest[157 0 R/XYZ null 724 null]/Prev 224 0 R/Next 229 0 R>>endobj
226 0 obj<</Parent 225 0 R/Title(1.1 Identification)/Dest[157 0 R/XYZ null 700 null]/Next 227 0 R>>endobj
227 0 obj<</Parent 225 0 R/Title(1.2 System Overview)/Dest[157 0 R/XYZ null 627 null]/Prev 226 0 R/Next 228 0 R>>endobj
228 0 obj<</Parent 225 0 R/Title(1.3 Document Overview)/Dest[157 0 R/XYZ null 421 null]/Prev 227 0 R>>endobj
229 0 obj<</Parent 223 0 R/Count -2/First 230 0 R/Last 231 0 R/Title(2 References)/Dest[163 0 R/XYZ null 724 null]/Prev 225 0 R/Next 232 0 R>>endobj
230 0 obj<</Parent 229 0 R/Title(2.1 CUPS Documentation)/Dest[163 0 R/XYZ null 700 null]/Next 231 0 R>>endobj
231 0 obj<</Parent 229 0 R/Title(2.2 Other Documents)/Dest[163 0 R/XYZ null 495 null]/Prev 230 0 R>>endobj
232 0 obj<</Parent 223 0 R/Count -3/First 233 0 R/Last 235 0 R/Title(3 File Management)/Dest[169 0 R/XYZ null 724 null]/Prev 229 0 R/Next 236 0 R>>endobj
233 0 obj<</Parent 232 0 R/Title(3.1 Directory Structure)/Dest[169 0 R/XYZ null 700 null]/Next 234 0 R>>endobj
234 0 obj<</Parent 232 0 R/Title(3.2 Source Files)/Dest[169 0 R/XYZ null 613 null]/Prev 233 0 R/Next 235 0 R>>endobj
235 0 obj<</Parent 232 0 R/Title(3.3 Configuration Management)/Dest[169 0 R/XYZ null 553 null]/Prev 234 0 R>>endobj
236 0 obj<</Parent 223 0 R/Count -4/First 237 0 R/Last 240 0 R/Title(4 Trouble Report Processing)/Dest[175 0 R/XYZ null 724 null]/Prev 232 0 R/Next 241 0 R>>endobj
237 0 obj<</Parent 236 0 R/Title(4.1 Classification)/Dest[175 0 R/XYZ null 581 null]/Next 238 0 R>>endobj
238 0 obj<</Parent 236 0 R/Title(4.2 Identification)/Dest[175 0 R/XYZ null 389 null]/Prev 237 0 R/Next 239 0 R>>endobj
239 0 obj<</Parent 236 0 R/Title(4.3 Correction)/Dest[175 0 R/XYZ null 263 null]/Prev 238 0 R/Next 240 0 R>>endobj
240 0 obj<</Parent 236 0 R/Title(4.4 Notification)/Dest[175 0 R/XYZ null 177 null]/Prev 239 0 R>>endobj
241 0 obj<</Parent 223 0 R/Count -4/First 242 0 R/Last 245 0 R/Title(5 Software Releases)/Dest[181 0 R/XYZ null 724 null]/Prev 236 0 R/Next 246 0 R>>endobj
242 0 obj<</Parent 241 0 R/Title(5.1 Version Numbering)/Dest[181 0 R/XYZ null 700 null]/Next 243 0 R>>endobj
243 0 obj<</Parent 241 0 R/Title(5.2 Generation)/Dest[181 0 R/XYZ null 280 null]/Prev 242 0 R/Next 244 0 R>>endobj
244 0 obj<</Parent 241 0 R/Title(5.3 Testing)/Dest[181 0 R/XYZ null 207 null]/Prev 243 0 R/Next 245 0 R>>endobj
245 0 obj<</Parent 241 0 R/Title(5.4 Release)/Dest[181 0 R/XYZ null 133 null]/Prev 244 0 R>>endobj
246 0 obj<</Parent 223 0 R/Count -2/First 247 0 R/Last 248 0 R/Title(A Glossary)/Dest[187 0 R/XYZ null 724 null]/Prev 241 0 R/Next 249 0 R>>endobj
247 0 obj<</Parent 246 0 R/Title(A.1 Terms)/Dest[187 0 R/XYZ null 700 null]/Next 248 0 R>>endobj
248 0 obj<</Parent 246 0 R/Title(A.2 Acronyms)/Dest[187 0 R/XYZ null 521 null]/Prev 247 0 R>>endobj
249 0 obj<</Parent 223 0 R/Count -9/First 250 0 R/Last 274 0 R/Title(B Coding Requirements)/Dest[193 0 R/XYZ null 724 null]/Prev 246 0 R/Next 277 0 R>>endobj
250 0 obj<</Parent 249 0 R/Count -2/First 251 0 R/Last 252 0 R/Title(B.1 Source Files)/Dest[193 0 R/XYZ null 660 null]/Next 253 0 R>>endobj
251 0 obj<</Parent 250 0 R/Title(B.1.1 Naming)/Dest[193 0 R/XYZ null 627 null]/Next 252 0 R>>endobj
252 0 obj<</Parent 250 0 R/Title(B.1.2 Documentation)/Dest[193 0 R/XYZ null 544 null]/Prev 251 0 R>>endobj
253 0 obj<</Parent 249 0 R/Count -2/First 254 0 R/Last 255 0 R/Title(B.2 Functions)/Dest[196 0 R/XYZ null 692 null]/Prev 250 0 R/Next 256 0 R>>endobj
254 0 obj<</Parent 253 0 R/Title(B.2.1 Naming)/Dest[196 0 R/XYZ null 658 null]/Next 255 0 R>>endobj
255 0 obj<</Parent 253 0 R/Title(B.2.2 Documentation)/Dest[196 0 R/XYZ null 535 null]/Prev 254 0 R>>endobj
256 0 obj<</Parent 249 0 R/Count -2/First 257 0 R/Last 258 0 R/Title(B.3 Methods)/Dest[196 0 R/XYZ null 323 null]/Prev 253 0 R/Next 259 0 R>>endobj
257 0 obj<</Parent 256 0 R/Title(B.3.1 Naming)/Dest[196 0 R/XYZ null 290 null]/Next 258 0 R>>endobj
258 0 obj<</Parent 256 0 R/Title(B.3.2 Documentation)/Dest[196 0 R/XYZ null 220 null]/Prev 257 0 R>>endobj
259 0 obj<</Parent 249 0 R/Count -2/First 260 0 R/Last 261 0 R/Title(B.4 Variables)/Dest[199 0 R/XYZ null 681 null]/Prev 256 0 R/Next 262 0 R>>endobj
260 0 obj<</Parent 259 0 R/Title(B.4.1 Naming)/Dest[199 0 R/XYZ null 647 null]/Next 261 0 R>>endobj
261 0 obj<</Parent 259 0 R/Title(B.4.2 Documentation)/Dest[199 0 R/XYZ null 511 null]/Prev 260 0 R>>endobj
262 0 obj<</Parent 249 0 R/Count -2/First 263 0 R/Last 264 0 R/Title(B.5 Types)/Dest[199 0 R/XYZ null 407 null]/Prev 259 0 R/Next 265 0 R>>endobj
263 0 obj<</Parent 262 0 R/Title(B.5.1 Naming)/Dest[199 0 R/XYZ null 373 null]/Next 264 0 R>>endobj
264 0 obj<</Parent 262 0 R/Title(B.5.2 Documentation)/Dest[199 0 R/XYZ null 304 null]/Prev 263 0 R>>endobj
265 0 obj<</Parent 249 0 R/Count -2/First 266 0 R/Last 267 0 R/Title(B.6 Structures)/Dest[199 0 R/XYZ null 191 null]/Prev 262 0 R/Next 268 0 R>>endobj
266 0 obj<</Parent 265 0 R/Title(B.6.1 Naming)/Dest[199 0 R/XYZ null 157 null]/Next 267 0 R>>endobj
267 0 obj<</Parent 265 0 R/Title(B.6.2 Documentation)/Dest[202 0 R/XYZ null 724 null]/Prev 266 0 R>>endobj
268 0 obj<</Parent 249 0 R/Count -2/First 269 0 R/Last 270 0 R/Title(B.7 Classes)/Dest[202 0 R/XYZ null 568 null]/Prev 265 0 R/Next 271 0 R>>endobj
269 0 obj<</Parent 268 0 R/Title(B.7.1 Naming)/Dest[202 0 R/XYZ null 534 null]/Next 270 0 R>>endobj
270 0 obj<</Parent 268 0 R/Title(B.7.2 Documentation)/Dest[202 0 R/XYZ null 478 null]/Prev 269 0 R>>endobj
271 0 obj<</Parent 249 0 R/Count -2/First 272 0 R/Last 273 0 R/Title(B.8 Constants)/Dest[202 0 R/XYZ null 309 null]/Prev 268 0 R/Next 274 0 R>>endobj
272 0 obj<</Parent 271 0 R/Title(B.8.1 Naming)/Dest[202 0 R/XYZ null 275 null]/Next 273 0 R>>endobj
273 0 obj<</Parent 271 0 R/Title(B.8.2 Documentation)/Dest[202 0 R/XYZ null 166 null]/Prev 272 0 R>>endobj
274 0 obj<</Parent 249 0 R/Count -2/First 275 0 R/Last 276 0 R/Title(B.9 Code)/Dest[205 0 R/XYZ null 713 null]/Prev 271 0 R>>endobj
275 0 obj<</Parent 274 0 R/Title(B.9.1 Documentation)/Dest[205 0 R/XYZ null 680 null]/Next 276 0 R>>endobj
276 0 obj<</Parent 274 0 R/Title(B.9.2 Style)/Dest[205 0 R/XYZ null 381 null]/Prev 275 0 R>>endobj
277 0 obj<</Parent 223 0 R/Title(C Software Trouble Report Form)/Dest[211 0 R/XYZ null 724 null]/Prev 249 0 R>>endobj
278 0 obj<</Type/Catalog/Pages 150 0 R/Names 93 0 R/PageLayout/SinglePage/Outlines 223 0 R/OpenAction[157 0 R/XYZ null null null]/PageMode/UseOutlines/PageLabels<</Nums[0<</P(title)>>1<</P(eltit)>>2<</S/r>>4<</S/D>>]>>>>endobj
xref
0 279
0000000000 65535 f
0000000015 00000 n
0000000228 00000 n
0000001794 00000 n
0000001868 00000 n
0000001946 00000 n
0000002023 00000 n
0000002102 00000 n
0000002178 00000 n
0000002259 00000 n
0000002317 00000 n
0000002369 00000 n
0000002454 00000 n
0000002506 00000 n
0000002590 00000 n
0000002621 00000 n
0000002722 00000 n
0000002807 00000 n
0000002908 00000 n
0000002993 00000 n
0000003094 00000 n
0000003179 00000 n
0000003266 00000 n
0000003351 00000 n
0000003438 00000 n
0000003523 00000 n
0000003589 00000 n
0000003674 00000 n
0000003740 00000 n
0000003825 00000 n
0000003891 00000 n
0000003976 00000 n
0000004042 00000 n
0000004127 00000 n
0000004193 00000 n
0000004278 00000 n
0000004344 00000 n
0000004429 00000 n
0000004523 00000 n
0000004627 00000 n
0000004732 00000 n
0000004837 00000 n
0000004942 00000 n
0000005046 00000 n
0000005151 00000 n
0000005256 00000 n
0000005360 00000 n
0000005465 00000 n
0000005570 00000 n
0000005675 00000 n
0000005779 00000 n
0000005884 00000 n
0000005989 00000 n
0000006094 00000 n
0000006199 00000 n
0000006303 00000 n
0000006408 00000 n
0000006513 00000 n
0000006618 00000 n
0000006723 00000 n
0000006827 00000 n
0000006932 00000 n
0000007037 00000 n
0000007141 00000 n
0000007246 00000 n
0000007351 00000 n
0000007456 00000 n
0000007561 00000 n
0000007666 00000 n
0000007771 00000 n
0000007876 00000 n
0000007981 00000 n
0000008086 00000 n
0000008191 00000 n
0000008296 00000 n
0000008401 00000 n
0000008506 00000 n
0000008610 00000 n
0000008713 00000 n
0000008816 00000 n
0000009120 00000 n
0000009225 00000 n
0000009330 00000 n
0000009434 00000 n
0000009539 00000 n
0000009644 00000 n
0000009748 00000 n
0000009853 00000 n
0000009958 00000 n
0000010062 00000 n
0000010167 00000 n
0000010272 00000 n
0000010376 00000 n
0000010477 00000 n
0000010509 00000 n
0000010541 00000 n
0000011261 00000 n
0000011309 00000 n
0000011357 00000 n
0000011405 00000 n
0000011453 00000 n
0000011502 00000 n
0000011551 00000 n
0000011600 00000 n
0000011649 00000 n
0000011698 00000 n
0000011747 00000 n
0000011796 00000 n
0000011845 00000 n
0000011894 00000 n
0000011943 00000 n
0000011992 00000 n
0000012041 00000 n
0000012090 00000 n
0000012139 00000 n
0000012188 00000 n
0000012237 00000 n
0000012286 00000 n
0000012335 00000 n
0000012384 00000 n
0000012433 00000 n
0000012482 00000 n
0000012531 00000 n
0000012580 00000 n
0000012629 00000 n
0000012678 00000 n
0000012727 00000 n
0000012776 00000 n
0000012825 00000 n
0000012874 00000 n
0000012923 00000 n
0000012972 00000 n
0000013021 00000 n
0000013070 00000 n
0000013119 00000 n
0000013168 00000 n
0000013217 00000 n
0000013266 00000 n
0000013315 00000 n
0000013364 00000 n
0000013413 00000 n
0000013462 00000 n
0000013511 00000 n
0000013560 00000 n
0000013609 00000 n
0000013658 00000 n
0000013707 00000 n
0000013756 00000 n
0000013805 00000 n
0000013854 00000 n
0000013903 00000 n
0000014164 00000 n
0000014316 00000 n
0000020676 00000 n
0000020698 00000 n
0000020793 00000 n
0000020895 00000 n
0000020915 00000 n
0000021069 00000 n
0000022130 00000 n
0000022151 00000 n
0000022264 00000 n
0000022452 00000 n
0000022473 00000 n
0000022627 00000 n
0000024028 00000 n
0000024050 00000 n
0000024163 00000 n
0000024356 00000 n
0000024377 00000 n
0000024508 00000 n
0000025119 00000 n
0000025140 00000 n
0000025253 00000 n
0000025443 00000 n
0000025464 00000 n
0000025595 00000 n
0000026596 00000 n
0000026617 00000 n
0000026730 00000 n
0000026932 00000 n
0000026953 00000 n
0000027093 00000 n
0000028111 00000 n
0000028132 00000 n
0000028245 00000 n
0000028444 00000 n
0000028465 00000 n
0000028605 00000 n
0000029272 00000 n
0000029293 00000 n
0000029406 00000 n
+595
Ver Arquivo
@@ -0,0 +1,595 @@
<HTML>
<HEAD>
<META NAME="DOCNUMBER" CONTENT="CUPS-CMP-1.1">
<META NAME="COPYRIGHT" CONTENT="Copyright 1997-2000, All Rights Reserved">
<META NAME="Author" CONTENT="Easy Software Products">
<TITLE>CUPS Configuration Management Plan</TITLE>
</HEAD>
<BODY>
<H1>Scope</H1>
<H2>Identification</H2>
This configuration management plan document provides the guidelines for
development and maintenance of the Common UNIX Printing System ("CUPS")
Version 1.1 software.
<EMBED SRC="system-overview.shtml">
<H2>Document Overview</H2>
This configuration management document is organized into the following
sections:
<UL>
<LI>1 - Scope</LI>
<LI>2 - References</LI>
<LI>3 - File Management</LI>
<LI>4 - Trouble Report Processing</LI>
<LI>5 - Software Releases</LI>
<LI>A - Glossary</LI>
<LI>B - Coding Requirements</LI>
</UL>
<EMBED SRC="references.shtml">
<H1>File Management</H1>
<H2>Directory Structure</H2>
Each source file shall be placed a sub-directory corresponding to the software
sub-system it belongs to ("scheduler", "cups", etc.) To remain compatible
with older UNIX filesystems, directory names shall not exceed 16 characters
in length.
<H2>Source Files</H2>
Source files shall be documented and formatted as described in Appendix
B, Coding Requirements.
<H2>Configuration Management</H2>
Source files shall be placed under the control of the Concurrent Versions
System ("CVS") software. Source files shall be "checked in" with each change
so that modifications can be tracked.
<P>Documentation on the CVS software is included with the whitepaper, "CVS
II: Parallelizing Software Development".
<H1>Trouble Report Processing</H1>
A Software Trouble Report ("STR") shall be submitted every time a user
or vendor experiences a problem with the CUPS software. Trouble reports
are maintained in a database with one of the following states:
<OL>
<LI>STR is closed with complete resolution</LI>
<LI>STR is closed without resolution</LI>
<LI>STR is active</LI>
<LI>STR is pending (new STR or additional information available)</LI>
</OL>
Trouble reports shall be processed using the following steps.
<H2>Classification</H2>
When a trouble report is received it must be classified at one of the following
levels:
<OL>
<LI>Request for enhancement</LI>
<LI>Documentation error</LI>
<LI>Unable to print a file</LI>
<LI>Unable to print to a printer</LI>
<LI>Unable to print at all</LI>
</OL>
The scope of the problem should also be determined as:
<OL>
<LI>Specific to a machine</LI>
<LI>Specific to an operating system</LI>
<LI>Applies to all machines and operating systems</LI>
</OL>
<H2>Identification</H2>
Once the level and scope of the trouble report is determined the software
sub-system(s) involved with the problem are determined. This may involve
additional communication with the user or vendor to isolate the problem
to a specific cause.
<P>When the sub-system(s) involved have been identified, an engineer will
then determine the change(s) needed and estimate the time required for
the change(s).
<H2>Correction</H2>
Corrections are scheduled based upon the severity and complexity of the
problem. Once all changes have been made, documented, and tested successfully
a new software release snapshot is generated. Additional tests are added
as necessary for proper testing of the changes.
<H2>Notification</H2>
The user or vendor is notified when the fix is available or if the problem
was caused by user error.
<H1>Software Releases</H1>
<H2>Version Numbering</H2>
CUPS uses a three-part version number separated by periods to represent
the major, minor, and patch release numbers:
<UL>
<PRE>
major.minor.patch
1.1.0
</PRE>
</UL>
Beta-test releases are indentified by appending the letter B followed by
the build number:
<UL>
<PRE>
major.minor.patchbbuild
1.1.0b1
</PRE>
</UL>
A CVS snapshot is generated for every beta and final release and uses
the version number preceded by the letter "v" and with the decimal
points replaced by underscores:
<UL>
<PRE>
v1_0_0b1
v1_0_0
</PRE>
</UL>
Each change that corrects a fault in a software sub-system increments the
patch release number. If a change affects the software design of CUPS then
the minor release number will be incremented and the patch release number
reset to 0. If CUPS is completely redesigned the major release number will
be incremented and the minor and patch release numbers reset to 0:
<UL>
<PRE>
1.1.0b1 First beta release
1.1.0b2 Second beta release
1.1.0 First production release
1.1.1b1 First beta of 1.1.1
1.1.1 Production release of 1.1.1
1.1.1b1 First beta of 1.1.1
1.1.1 Production release of 1.1.1
2.0.0b1 First beta of 2.0.0
2.0.0 Production release of 2.0.0
</PRE>
</UL>
<H2>Generation</H2>
Software releases shall be generated for each successfully completed software
trouble report. All object and executable files shall be deleted prior
to performing a full build to ensure that source files are recompiled.
<H2>Testing</H2>
Software testing shall be conducted according to the CUPS Software Test
Plan, CUPS-STP-1.1. Failed tests cause STRs to be generated to correct
the problems found.
<H2>Release</H2>
When testing has been completed successfully a new distribution image is
created from the current CVS code "snapshot". No production release shall
contain software that has not passed the appropriate software tests.
<EMBED SRC="glossary.shtml">
<H1>Coding Requirements</H1>
These coding requirements provide detailed information on source file
formatting and documentation content. These guidelines shall be applied
to all C and C++ source files provided with CUPS.
<H2>Source Files</H2>
<H3>Naming</H3>
All source files names shall be 16 characters or less in length to
ensure compatibility with older UNIX filesystems. Source files
containing functions shall have an extension of ".c" for ANSI C and
".cxx" for C++ source files. All other "include" files shall have an
extension of ".h".
<H3>Documentation</H3>
The top of each source file shall contain a header giving the name of the
file, the purpose or nature of the source file, the copyright and licensing
notice, and the functions contained in the file. The file name and revision
information is provided by the CVS "&#36;Id$" tag:
<UL>
<PRE>
/*
* "&#36;Id$"
*
* Description of file contents.
*
* Copyright 1997-2000 by Easy Software Products, all rights
* reserved.
*
* These coded instructions, statements, and computer programs are
* the property of Easy Software Products and are protected by
* Federal copyright law. Distribution and use rights are outlined
* in the file "LICENSE.txt" which should have been included with
* this file. If this file is missing or damaged please contact
* Easy Software Products at:
*
* Attn: CUPS Licensing Information
* Easy Software Products
* 44141 Airport View Drive, Suite 204
* Hollywood, Maryland 20636-3111 USA
*
* Voice: (301) 373-9603
* EMail: cups-info@cups.org
* WWW: http://www.cups.org
*
* Contents:
*
* function1() - Description 1.
* function2() - Description 2.
* function3() - Description 3.
*/
</PRE>
</UL>
The bottom of each source file shall contain a trailer giving the name
of the file using the CVS "&#36;Id$" tag. The primary purpose of this is to
mark the end of a source file; if the trailer is missing it is possible
that code has been lost near the end of the file:
<UL>
<PRE>
/*
* End of "&#36;Id$".
*/
</PRE>
</UL>
<H2>Functions</H2>
<H3>Naming</H3>
Functions with a global scope shall be capitalized ("DoThis", "DoThat",
"DoSomethingElse", etc.) The only exception to this rule shall be the
CUPS interface library functions which may begin with a prefix word in
lowercase ("cupsDoThis", "cupsDoThat", etc.)
<P>Functions with a local scope shall be declared "static" and be lowercase
with underscores between words ("do_this", "do_that", "do_something_else",
etc.)
<H3>Documentation</H3>
Each function shall begin with a comment header describing what the function
does, the possible input limits (if any), and the possible output values
(if any), and any special information needed:
<UL>
<PRE>
/*
* 'do_this()' - Compute y = this(x).
*
* Notes: none.
*/
static float /* O - Inverse power value, 0.0 &lt;= y &lt;= 1.1 */
do_this(float x) /* I - Power value (0.0 &lt;= x &lt;= 1.1) */
{
...
return (y);
}
</PRE>
</UL>
<H2>Methods</H2>
<H3>Naming</H3>
Methods shall be in lowercase with underscores between words ("do_this",
"do_that", "do_something_else", etc.)
<H3>Documentation</H3>
Each method shall begin with a comment header describing what the method
does, the possible input limits (if any), and the possible output values
(if any), and any special information needed:
<UL>
<PRE>
/*
* 'class::do_this()' - Compute y = this(x).
*
* Notes: none.
*/
float /* O - Inverse power value, 0.0 &lt;= y &lt;= 1.0 */
class::do_this(float x) /* I - Power value (0.0 &lt;= x &lt;= 1.0) */
{
...
return (y);
}
</PRE>
</UL>
<H2>Variables</H2>
<H3>Naming</H3>
Variables with a global scope shall be capitalized ("ThisVariable",
"ThatVariable", "ThisStateVariable", etc.) The only exception to this
rule shall be the CUPS interface library global variables which must
begin with the prefix "cups" ("cupsThisVariable", "cupsThatVariable",
etc.) Global variables shall be replaced by function arguments whenever
possible.
<P>Variables with a local scope shall be lowercase with underscores between
words ("this_variable", "that_variable", etc.) Any local variables shared
by functions within a source file shall be declared "static".
<H3>Documentation</H3>
Each variable shall be declared on a separate line and shall be immediately
followed by a comment block describing the variable:
<UL><PRE>
int this_variable; /* The current state of this */
int that_variable; /* The current state of that */
</PRE></UL>
<H2>Types</H2>
<H3>Naming</H3>
All type names shall be lowercase with underscores between words and
"_t" appended to the end of the name ("this_type_t", "that_type_t",
etc.)
<H3>Documentation</H3>
Each type shall have a comment block immediately before the typedef:
<UL>
<PRE>
/*
* This type is for CUPS foobar options.
*/
typedef int cups_this_type_t;
</PRE>
</UL>
<H2>Structures</H2>
<H3>Naming</H3>
All structure names shall be lowercase with underscores between words and
"_str" appended to the end of the name ("this_struct_str", "that_struct_str",
etc.)
<H3>Documentation</H3>
Each structure shall have a comment block immediately before the struct
and each member shall be documented in accordance with the variable naming
policy above:
<UL>
<PRE>
/*
* This structure is for CUPS foobar options.
*/
struct cups_this_struct_str
{
int this_member; /* Current state for this */
int that_member; /* Current state for that */
};
</PRE>
</UL>
<H2>Classes</H2>
<H3>Naming</H3>
All class names shall be lowercase with underscores between words
("this_class", "that_class", etc.)
<H3>Documentation</H3>
Each class shall have a comment block immediately before the class
and each member shall be documented in accordance with the variable naming
policy above:
<UL>
<PRE>
/*
* This class is for CUPS foobar options.
*/
class cups_this_class
{
int this_member; /* Current state for this */
int that_member; /* Current state for that */
};
</PRE>
</UL>
<H2>Constants</H2>
<H3>Naming</H3>
All constant names shall be uppercase with underscored between words
("THIS_CONSTANT", "THAT_CONSTANT", etc.) Constants defined for the CUPS
interface library must begin with an uppercase prefix
("CUPS_THIS_CONSTANT", "CUPS_THAT_CONSTANT", etc.)
<P>Typed enumerations shall be used whenever possible to allow for type
checking by the compiler.
<H3>Documentation</H3>
Comment blocks shall immediately follow each constant:
<UL>
<PRE>
enum
{
CUPS_THIS_TRAY, /* This tray */
CUPS_THAT_TRAY /* That tray */
};
</PRE>
</UL>
<H2>Code</H2>
<H3>Documentation</H3>
All source code shall utilize block comments within functions to describe
the operations being performed by a group of statements:
<UL>
<PRE>
/*
* Clear the state array before we begin...
*/
for (i = 0; i &lt; (sizeof(array) / sizeof(sizeof(array[0])); i ++)
array[i] = STATE_IDLE;
/*
* Wait for state changes...
*/
do
{
for (i = 0; i &lt; (sizeof(array) / sizeof(sizeof(array[0])); i ++)
if (array[i] != STATE_IDLE)
break;
if (i == (sizeof(array) / sizeof(array[0])))
sleep(1);
} while (i == (sizeof(array) / sizeof(array[0])));
</PRE>
</UL>
<H3>Style</H3>
<H4 TYPE="a">Indentation</H4>
All code blocks enclosed by brackets shall begin with the opening brace
on a new line. The code then follows starting on a new line after the brace
and is indented 2 spaces. The closing brace is then placed on a new line
following the code at the original indentation:
<UL>
<PRE>
{
int i; /* Looping var */
/*
* Process foobar values from 0 to 999...
*/
for (i = 0; i &lt; 1000; i ++)
{
do_this(i);
do_that(i);
}
}
</PRE>
</UL>
Single-line statements following "do", "else", "for", "if", and "while"
shall be indented 2 spaces as well. Blocks of code in a "switch" block
shall be indented 4 spaces after each "case" and "default" case:
<UL>
<PRE>
switch (array[i])
{
case STATE_IDLE :
do_this(i);
do_that(i);
break;
default :
do_nothing(i);
break;
}
</PRE>
</UL>
<H4>Spacing</H4>
A space shall follow each reserved word ("if", "while", etc.) Spaces shall
not be inserted between a function name and the arguments in parenthesis.
<H4>Return Values</H4>
Parenthesis shall surround values returned from a function using "return":
<UL>
<PRE>
return (STATE_IDLE);
</PRE>
</UL>
<H4>Loops</H4>
Whenever convenient loops should count downward to zero to improve program
performance:
<UL>
<PRE>
for (i = sizeof(array) / sizeof(array[0]) - 1; i >= 0; i --)
array[i] = STATE_IDLE;
</PRE>
</UL>
<H1 ALIGN=RIGHT>Software Trouble Report Form</H1>
<CENTER><TABLE WIDTH="80%">
<TR>
<TH ALIGN=RIGHT>Summary of Problem:</TH>
<TD ALIGN=LEFT>________________________________________</TD>
</TR>
<TR>
<TH ALIGN=RIGHT>Problem Severity:</TH>
<TD ALIGN=LEFT>__1=RFE
<BR>__2=Documentation-Error
<BR>__3=Unable-to-Print-a-File
<BR>__4=Unable-to-Print-to-a-Printer
<BR>__5=Unable-to-Print-at-All</TD>
</TR>
<TR>
<TH ALIGN=RIGHT>Problem Scope:</TH>
<TD ALIGN=LEFT>__1=Machine __2=Operating-System __3=All</TD>
</TR>
<TR>
<TH ALIGN=RIGHT VALIGN=TOP>Detailed Description of Problem:</TH>
<TD ALIGN=LEFT>________________________________________
<BR>________________________________________
<BR>________________________________________
<BR>________________________________________
<BR>________________________________________
<BR>________________________________________</TD>
</TR>
</TABLE></CENTER>
</BODY>
</HTML>
+4
Ver Arquivo
@@ -0,0 +1,4 @@
H1 { font-family: sans-serif }
H2 { font-family: sans-serif }
TH { text-align: left }
+9
Ver Arquivo
@@ -0,0 +1,9 @@
H1 { font-family: sans-serif }
H2 { font-family: sans-serif }
H3 { font-family: sans-serif }
H4 { font-family: sans-serif }
H5 { font-family: sans-serif }
H6 { font-family: sans-serif }
SUP { font-family: sans-serif; font-size: 6pt }
PRE { margin-left: 2em }
CODE { font-weight: bold }
+81
Ver Arquivo
@@ -0,0 +1,81 @@
<HTML>
<HEAD>
<TITLE>Documentation - Common UNIX Printing System</TITLE>
<LINK REL=STYLESHEET TYPE="text/css" HREF="cups.css">
<MAP NAME="navbar">
<AREA SHAPE="RECT" COORDS="12,10,50,20" HREF="http://www.easysw.com" ALT="Easy Software Products Home Page">
<AREA SHAPE="RECT" COORDS="82,10,196,20" HREF="/admin" ALT="Do Administration Tasks">
<AREA SHAPE="RECT" COORDS="216,10,280,20" HREF="/classes" ALT="Manage Printer Classes Status">
<AREA SHAPE="RECT" COORDS="300,10,336,20" HREF="/documentation.html" ALT="On-Line Help">
<AREA SHAPE="RECT" COORDS="356,10,394,20" HREF="/jobs" ALT="Manage Jobs">
<AREA SHAPE="RECT" COORDS="414,10,476,20" HREF="/printers" ALT="Manage Printers">
<AREA SHAPE="RECT" COORDS="496,10,568,20" HREF="http://www.cups.org" ALT="Download the Current CUPS Software">
</MAP>
</HEAD>
<BODY BGCOLOR="#cccc99" TEXT="#000000" LINK="#0000FF" VLINK="#FF00FF">
<CENTER>
<IMG SRC="/images/navbar.gif" WIDTH="583" HEIGHT="30" USEMAP="#navbar" BORDER="0" ALT="Common UNIX Printing System">
</CENTER>
<H1>Documentation</H1>
The following documentation for CUPS is available on this server:
<UL>
<LI>Whitepaper - An Overview of the Common UNIX Printing System (
<A HREF="overview.html">HTML</A> |
<A HREF="overview.pdf">PDF</A> )
<LI>Software Users Manual (
<A HREF="sum.html">HTML</A> |
<A HREF="sum.pdf">PDF</A> )
<LI>Software Administrators Manual (
<A HREF="sam.html">HTML</A> |
<A HREF="sam.pdf">PDF</A> )
<LI>Software Programmers Manual (
<A HREF="spm.html">HTML</A> |
<A HREF="spm.pdf">PDF</A> )
<LI>Configuration Management Plan (
<A HREF="cmp.html">HTML</A> |
<A HREF="cmp.pdf">PDF</A> )
<LI>CUPS Implementation of IPP (
<A HREF="ipp.html">HTML</A> |
<A HREF="ipp.pdf">PDF</A> )
<LI>Interface Design Description (
<A HREF="idd.html">HTML</A> |
<A HREF="idd.pdf">PDF</A> )
<LI>Software Design Description (
<A HREF="sdd.html">HTML</A> |
<A HREF="sdd.pdf">PDF</A> )
<LI>Software Performance Specification (
<A HREF="sps.html">HTML</A> |
<A HREF="sps.pdf">PDF</A> )
<LI>Software Version Description (
<A HREF="svd.html">HTML</A> |
<A HREF="svd.pdf">PDF</A> )
<LI>Software Security Report (
<A HREF="ssr.html">HTML</A> |
<A HREF="ssr.pdf">PDF</A> )
</UL>
<HR>
<P>The Common UNIX Printing System, CUPS, and the CUPS logo are the
trademark property of <A HREF="http://www.easysw.com">Easy Software
Products</A>. CUPS is copyright 1997-2000 by Easy Software Products,
All Rights Reserved.
</BODY>
</HTML>
BIN
Ver Arquivo
Arquivo binário não exibido.
+73
Ver Arquivo
@@ -0,0 +1,73 @@
<H1 TYPE="A" VALUE="1">Glossary</H1>
<H2>Terms</H2>
<DL>
<DT>C
<DD>A computer language.
<DT>parallel
<DD>Sending or receiving data more than 1 bit at a time.
<DT>pipe
<DD>A one-way communications channel between two programs.
<DT>serial
<DD>Sending or receiving data 1 bit at a time.
<DT>socket
<DD>A two-way network communications channel.
</DL>
<H2>Acronyms</H2>
<DL>
<DT>ASCII
<DD>American Standard Code for Information Interchange
<DT>CUPS
<DD>Common UNIX Printing System
<DT>ESC/P
<DD>EPSON Standard Code for Printers
<DT>FTP
<DD>File Transfer Protocol
<DT>HP-GL
<DD>Hewlett-Packard Graphics Language
<DT>HP-PCL
<DD>Hewlett-Packard Page Control Language
<DT>HP-PJL
<DD>Hewlett-Packard Printer Job Language
<DT>IETF
<DD>Internet Engineering Task Force
<DT>IPP
<DD>Internet Printing Protocol
<DT>ISO
<DD>International Standards Organization
<DT>LPD
<DD>Line Printer Daemon
<DT>MIME
<DD>Multimedia Internet Mail Exchange
<DT>PPD
<DD>PostScript Printer Description
<DT>SMB
<DD>Server Message Block
<DT>TFTP
<DD>Trivial File Transfer Protocol
</DL>
+1086
Ver Arquivo
Diferenças do arquivo suprimidas por serem muito extensas Carregar Diff
+879
Ver Arquivo
@@ -0,0 +1,879 @@
%PDF-1.2
%âãÏÓ
1 0 obj<</Producer(htmldoc 1.8.8 Copyright 1997-2000 Easy Software Products, All Rights Reserved.)/CreationDate(D:20000731155319Z)/Title( CUPS Interface Design Description)/Author(Easy Software Products)>>endobj
2 0 obj<</Type/Encoding/Differences[ 32/space/exclam/quotedbl/numbersign/dollar/percent/ampersand/quotesingle/parenleft/parenright/asterisk/plus/comma/minus/period/slash/zero/one/two/three/four/five/six/seven/eight/nine/colon/semicolon/less/equal/greater/question/at/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/bracketleft/backslash/bracketright/asciicircum/underscore/grave/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/braceleft/bar/braceright/asciitilde 128/Euro 130/quotesinglbase/florin/quotedblbase/ellipsis/dagger/daggerdbl/circumflex/perthousand/Scaron/guilsinglleft/OE 145/quoteleft/quoteright/quotedblleft/quotedblright/bullet/endash/emdash/tilde/trademark/scaron/guilsinglright/oe 159/Ydieresis/space/exclamdown/cent/sterling/currency/yen/brokenbar/section/dieresis/copyright/ordfeminine/guillemotleft/logicalnot/hyphen/registered/macron/degree/plusminus/twosuperior/threesuperior/acute/mu/paragraph/periodcentered/cedilla/onesuperior/ordmasculine/guillemotright/onequarter/onehalf/threequarters/questiondown/Agrave/Aacute/Acircumflex/Atilde/Adieresis/Aring/AE/Ccedilla/Egrave/Eacute/Ecircumflex/Edieresis/Igrave/Iacute/Icircumflex/Idieresis/Eth/Ntilde/Ograve/Oacute/Ocircumflex/Otilde/Odieresis/multiply/Oslash/Ugrave/Uacute/Ucircumflex/Udieresis/Yacute/Thorn/germandbls/agrave/aacute/acircumflex/atilde/adieresis/aring/ae/ccedilla/egrave/eacute/ecircumflex/edieresis/igrave/iacute/icircumflex/idieresis/eth/ntilde/ograve/oacute/ocircumflex/otilde/odieresis/divide/oslash/ugrave/uacute/ucircumflex/udieresis/yacute/thorn/ydieresis]>>endobj
3 0 obj<</Type/Font/Subtype/Type1/BaseFont/Courier/Encoding 2 0 R>>endobj
4 0 obj<</Type/Font/Subtype/Type1/BaseFont/Times-Roman/Encoding 2 0 R>>endobj
5 0 obj<</Type/Font/Subtype/Type1/BaseFont/Times-Bold/Encoding 2 0 R>>endobj
6 0 obj<</Type/Font/Subtype/Type1/BaseFont/Times-Italic/Encoding 2 0 R>>endobj
7 0 obj<</Type/Font/Subtype/Type1/BaseFont/Helvetica/Encoding 2 0 R>>endobj
8 0 obj<</Type/Font/Subtype/Type1/BaseFont/Helvetica-Bold/Encoding 2 0 R>>endobj
9 0 obj<</Type/Font/Subtype/Type1/BaseFont/Helvetica-Oblique/Encoding 2 0 R>>endobj
10 0 obj<</Type/Font/Subtype/Type1/BaseFont/Symbol>>endobj
11 0 obj<</S/URI/URI(http://www.easysw.com)>>endobj
12 0 obj<</Subtype/Link/Rect[533.8 577.0 555.2 590.0]/Border[0 0 0]/A 11 0 R>>endobj
13 0 obj<</S/URI/URI(http://www.easysw.com)>>endobj
14 0 obj<</Subtype/Link/Rect[72.0 563.8 153.0 576.8]/Border[0 0 0]/A 13 0 R>>endobj
15 0 obj[12 0 R
14 0 R
]endobj
16 0 obj<</S/URI/URI(http://partners.adobe.com/asn/developer/PDFS/TN/5003.PPD_Spec_v4.3.pdf)>>endobj
17 0 obj<</Subtype/Link/Rect[108.0 418.6 190.8 431.6]/Border[0 0 0]/A 16 0 R>>endobj
18 0 obj<</S/URI/URI(http://partners.adobe.com/asn/developer/PDFS/TN/5003.PPD_Spec_v4.3.pdf)>>endobj
19 0 obj<</Subtype/Link/Rect[188.1 418.6 433.1 431.6]/Border[0 0 0]/A 18 0 R>>endobj
20 0 obj<</S/URI/URI(http://partners.adobe.com/asn/developer/PDFS/TN/5003.PPD_Spec_v4.3.pdf)>>endobj
21 0 obj<</Subtype/Link/Rect[430.3 418.6 446.8 431.6]/Border[0 0 0]/A 20 0 R>>endobj
22 0 obj<</S/URI/URI(http://partners.adobe.com/asn/developer/PDFS/TN/PLRM.pdf)>>endobj
23 0 obj<</Subtype/Link/Rect[108.0 405.4 190.8 418.4]/Border[0 0 0]/A 22 0 R>>endobj
24 0 obj<</S/URI/URI(http://partners.adobe.com/asn/developer/PDFS/TN/PLRM.pdf)>>endobj
25 0 obj<</Subtype/Link/Rect[188.1 405.4 346.6 418.4]/Border[0 0 0]/A 24 0 R>>endobj
26 0 obj<</S/URI/URI(http://www.ietf.org/rfc/rfc1179.txt)>>endobj
27 0 obj<</Subtype/Link/Rect[108.0 339.4 291.9 352.4]/Border[0 0 0]/A 26 0 R>>endobj
28 0 obj<</S/URI/URI(http://www.ietf.org/rfc/rfc2567.txt)>>endobj
29 0 obj<</Subtype/Link/Rect[108.0 326.2 362.5 339.2]/Border[0 0 0]/A 28 0 R>>endobj
30 0 obj<</S/URI/URI(http://www.ietf.org/rfc/rfc2568.txt)>>endobj
31 0 obj<</Subtype/Link/Rect[108.0 313.0 394.3 326.0]/Border[0 0 0]/A 30 0 R>>endobj
32 0 obj<</S/URI/URI(http://www.ietf.org/rfc/rfc2569.txt)>>endobj
33 0 obj<</Subtype/Link/Rect[108.0 299.8 343.3 312.8]/Border[0 0 0]/A 32 0 R>>endobj
34 0 obj<</S/URI/URI(http://www.ietf.org/rfc/rfc2616.txt)>>endobj
35 0 obj<</Subtype/Link/Rect[108.0 286.6 345.3 299.6]/Border[0 0 0]/A 34 0 R>>endobj
36 0 obj<</S/URI/URI(http://www.ietf.org/rfc/rfc2617.txt)>>endobj
37 0 obj<</Subtype/Link/Rect[108.0 273.4 368.9 286.4]/Border[0 0 0]/A 36 0 R>>endobj
38 0 obj[17 0 R
19 0 R
21 0 R
23 0 R
25 0 R
27 0 R
29 0 R
31 0 R
33 0 R
35 0 R
37 0 R
]endobj
39 0 obj<</S/URI/URI(http://partners.adobe.com/asn/developer/PDFS/TN/5003.PPD_Spec_v4.3.pdf)>>endobj
40 0 obj<</Subtype/Link/Rect[194.6 455.4 229.4 466.4]/Border[0 0 0]/A 39 0 R>>endobj
41 0 obj<</S/URI/URI(http://partners.adobe.com/asn/developer/PDFS/TN/5003.PPD_Spec_v4.3.pdf)>>endobj
42 0 obj<</Subtype/Link/Rect[226.6 455.4 492.5 466.4]/Border[0 0 0]/A 41 0 R>>endobj
43 0 obj<</S/URI/URI(http://partners.adobe.com/asn/developer/PDFS/TN/5003.PPD_Spec_v4.3.pdf)>>endobj
44 0 obj<</Subtype/Link/Rect[36.0 442.2 148.1 453.2]/Border[0 0 0]/A 43 0 R>>endobj
45 0 obj[40 0 R
42 0 R
44 0 R
]endobj
46 0 obj<</S/URI/URI(http://partners.adobe.com/asn/developer/PDFS/TN/PLRM.pdf)>>endobj
47 0 obj<</Subtype/Link/Rect[144.4 611.8 179.2 624.8]/Border[0 0 0]/A 46 0 R>>endobj
48 0 obj<</S/URI/URI(http://partners.adobe.com/asn/developer/PDFS/TN/PLRM.pdf)>>endobj
49 0 obj<</Subtype/Link/Rect[176.5 611.8 416.6 624.8]/Border[0 0 0]/A 48 0 R>>endobj
50 0 obj[47 0 R
49 0 R
]endobj
51 0 obj<</S/URI/URI(http://www.ietf.org/rfc/rfc1179.txt)>>endobj
52 0 obj<</Subtype/Link/Rect[326.5 183.4 510.7 196.4]/Border[0 0 0]/A 51 0 R>>endobj
53 0 obj<</S/URI/URI(http://anu.samba.org/cifs)>>endobj
54 0 obj<</Subtype/Link/Rect[82.7 83.8 192.1 96.8]/Border[0 0 0]/A 53 0 R>>endobj
55 0 obj[52 0 R
54 0 R
]endobj
56 0 obj<</Subtype/Link/Rect[72.0 670.8 107.8 683.8]/Border[0 0 0]/Dest[144 0 R/XYZ null 798 0]>>endobj
57 0 obj<</Subtype/Link/Rect[108.0 657.6 183.8 670.6]/Border[0 0 0]/Dest[144 0 R/XYZ null 745 0]>>endobj
58 0 obj<</Subtype/Link/Rect[108.0 644.4 203.0 657.4]/Border[0 0 0]/Dest[144 0 R/XYZ null 672 0]>>endobj
59 0 obj<</Subtype/Link/Rect[108.0 631.2 216.4 644.2]/Border[0 0 0]/Dest[144 0 R/XYZ null 467 0]>>endobj
60 0 obj<</Subtype/Link/Rect[72.0 604.8 131.6 617.8]/Border[0 0 0]/Dest[150 0 R/XYZ null 798 0]>>endobj
61 0 obj<</Subtype/Link/Rect[108.0 591.6 222.6 604.6]/Border[0 0 0]/Dest[150 0 R/XYZ null 745 0]>>endobj
62 0 obj<</Subtype/Link/Rect[108.0 578.4 202.4 591.4]/Border[0 0 0]/Dest[150 0 R/XYZ null 540 0]>>endobj
63 0 obj<</Subtype/Link/Rect[72.0 552.0 168.5 565.0]/Border[0 0 0]/Dest[156 0 R/XYZ null 798 0]>>endobj
64 0 obj<</Subtype/Link/Rect[108.0 538.8 208.2 551.8]/Border[0 0 0]/Dest[156 0 R/XYZ null 745 0]>>endobj
65 0 obj<</Subtype/Link/Rect[144.0 525.6 280.4 538.6]/Border[0 0 0]/Dest[156 0 R/XYZ null 631 0]>>endobj
66 0 obj<</Subtype/Link/Rect[144.0 512.4 292.5 525.4]/Border[0 0 0]/Dest[156 0 R/XYZ null 251 0]>>endobj
67 0 obj<</Subtype/Link/Rect[108.0 499.2 192.0 512.2]/Border[0 0 0]/Dest[159 0 R/XYZ null 598 0]>>endobj
68 0 obj<</Subtype/Link/Rect[108.0 486.0 178.6 499.0]/Border[0 0 0]/Dest[162 0 R/XYZ null 783 0]>>endobj
69 0 obj<</Subtype/Link/Rect[144.0 472.8 219.8 485.8]/Border[0 0 0]/Dest[162 0 R/XYZ null 707 0]>>endobj
70 0 obj<</Subtype/Link/Rect[144.0 459.6 222.2 472.6]/Border[0 0 0]/Dest[162 0 R/XYZ null 349 0]>>endobj
71 0 obj<</Subtype/Link/Rect[108.0 446.4 179.2 459.4]/Border[0 0 0]/Dest[162 0 R/XYZ null 217 0]>>endobj
72 0 obj<</Subtype/Link/Rect[108.0 433.2 280.6 446.2]/Border[0 0 0]/Dest[165 0 R/XYZ null 618 0]>>endobj
73 0 obj<</Subtype/Link/Rect[144.0 420.0 249.7 433.0]/Border[0 0 0]/Dest[165 0 R/XYZ null 530 0]>>endobj
74 0 obj<</Subtype/Link/Rect[144.0 406.8 305.7 419.8]/Border[0 0 0]/Dest[165 0 R/XYZ null 460 0]>>endobj
75 0 obj<</Subtype/Link/Rect[108.0 393.6 257.1 406.6]/Border[0 0 0]/Dest[168 0 R/XYZ null 587 0]>>endobj
76 0 obj<</Subtype/Link/Rect[144.0 380.4 221.6 393.4]/Border[0 0 0]/Dest[168 0 R/XYZ null 419 0]>>endobj
77 0 obj<</Subtype/Link/Rect[144.0 367.2 216.7 380.2]/Border[0 0 0]/Dest[171 0 R/XYZ null 677 0]>>endobj
78 0 obj<</Subtype/Link/Rect[144.0 354.0 224.7 367.0]/Border[0 0 0]/Dest[177 0 R/XYZ null 189 0]>>endobj
79 0 obj<</Subtype/Link/Rect[72.0 327.6 171.0 340.6]/Border[0 0 0]/Dest[186 0 R/XYZ null 798 0]>>endobj
80 0 obj<</Subtype/Link/Rect[108.0 314.4 213.4 327.4]/Border[0 0 0]/Dest[186 0 R/XYZ null 745 0]>>endobj
81 0 obj<</Subtype/Link/Rect[108.0 301.2 237.6 314.2]/Border[0 0 0]/Dest[186 0 R/XYZ null 619 0]>>endobj
82 0 obj<</Subtype/Link/Rect[108.0 288.0 198.5 301.0]/Border[0 0 0]/Dest[189 0 R/XYZ null 692 0]>>endobj
83 0 obj<</Subtype/Link/Rect[144.0 274.8 248.2 287.8]/Border[0 0 0]/Dest[189 0 R/XYZ null 578 0]>>endobj
84 0 obj<</Subtype/Link/Rect[108.0 261.6 219.9 274.6]/Border[0 0 0]/Dest[198 0 R/XYZ null 720 0]>>endobj
85 0 obj<</Subtype/Link/Rect[108.0 248.4 202.7 261.4]/Border[0 0 0]/Dest[198 0 R/XYZ null 620 0]>>endobj
86 0 obj<</Subtype/Link/Rect[108.0 235.2 199.1 248.2]/Border[0 0 0]/Dest[204 0 R/XYZ null 425 0]>>endobj
87 0 obj<</Subtype/Link/Rect[108.0 222.0 236.9 235.0]/Border[0 0 0]/Dest[204 0 R/XYZ null 352 0]>>endobj
88 0 obj<</Subtype/Link/Rect[108.0 208.8 257.4 221.8]/Border[0 0 0]/Dest[204 0 R/XYZ null 278 0]>>endobj
89 0 obj<</Subtype/Link/Rect[108.0 195.6 263.5 208.6]/Border[0 0 0]/Dest[204 0 R/XYZ null 192 0]>>endobj
90 0 obj<</Subtype/Link/Rect[72.0 169.2 132.2 182.2]/Border[0 0 0]/Dest[210 0 R/XYZ null 798 0]>>endobj
91 0 obj<</Subtype/Link/Rect[72.0 142.8 124.2 155.8]/Border[0 0 0]/Dest[216 0 R/XYZ null 798 0]>>endobj
92 0 obj<</Subtype/Link/Rect[108.0 129.6 155.0 142.6]/Border[0 0 0]/Dest[216 0 R/XYZ null 745 0]>>endobj
93 0 obj<</Subtype/Link/Rect[108.0 116.4 172.8 129.4]/Border[0 0 0]/Dest[216 0 R/XYZ null 566 0]>>endobj
94 0 obj[56 0 R
57 0 R
58 0 R
59 0 R
60 0 R
61 0 R
62 0 R
63 0 R
64 0 R
65 0 R
66 0 R
67 0 R
68 0 R
69 0 R
70 0 R
71 0 R
72 0 R
73 0 R
74 0 R
75 0 R
76 0 R
77 0 R
78 0 R
79 0 R
80 0 R
81 0 R
82 0 R
83 0 R
84 0 R
85 0 R
86 0 R
87 0 R
88 0 R
89 0 R
90 0 R
91 0 R
92 0 R
93 0 R
]endobj
95 0 obj<</Dests 96 0 R>>endobj
96 0 obj<</Kids[97 0 R]>>endobj
97 0 obj<</Limits[(1)(idd.shtml)]/Names[(1)98 0 R(1_1)99 0 R(1_2)100 0 R(1_3)101 0 R(2)102 0 R(2_1)103 0 R(2_2)104 0 R(3)105 0 R(3_1)106 0 R(3_1_1)107 0 R(3_1_2)108 0 R(3_2)109 0 R(3_3)110 0 R(3_3_1)111 0 R(3_3_2)112 0 R(3_4)113 0 R(3_5)114 0 R(3_5_1)115 0 R(3_5_2)116 0 R(3_6)117 0 R(3_6_1)118 0 R(3_6_2)119 0 R(3_6_3)120 0 R(4)121 0 R(4_1)122 0 R(4_2)123 0 R(4_3)124 0 R(4_3_1)125 0 R(4_4)126 0 R(4_5)127 0 R(4_6)128 0 R(4_7)129 0 R(4_8)130 0 R(4_9)131 0 R(5)132 0 R(6)133 0 R(6_1)134 0 R(6_2)135 0 R(idd.shtml)136 0 R]>>endobj
98 0 obj<</D[144 0 R/XYZ null 798 null]>>endobj
99 0 obj<</D[144 0 R/XYZ null 745 null]>>endobj
100 0 obj<</D[144 0 R/XYZ null 672 null]>>endobj
101 0 obj<</D[144 0 R/XYZ null 467 null]>>endobj
102 0 obj<</D[150 0 R/XYZ null 798 null]>>endobj
103 0 obj<</D[150 0 R/XYZ null 745 null]>>endobj
104 0 obj<</D[150 0 R/XYZ null 540 null]>>endobj
105 0 obj<</D[156 0 R/XYZ null 798 null]>>endobj
106 0 obj<</D[156 0 R/XYZ null 745 null]>>endobj
107 0 obj<</D[156 0 R/XYZ null 631 null]>>endobj
108 0 obj<</D[156 0 R/XYZ null 251 null]>>endobj
109 0 obj<</D[159 0 R/XYZ null 598 null]>>endobj
110 0 obj<</D[162 0 R/XYZ null 783 null]>>endobj
111 0 obj<</D[162 0 R/XYZ null 707 null]>>endobj
112 0 obj<</D[162 0 R/XYZ null 349 null]>>endobj
113 0 obj<</D[162 0 R/XYZ null 217 null]>>endobj
114 0 obj<</D[165 0 R/XYZ null 618 null]>>endobj
115 0 obj<</D[165 0 R/XYZ null 530 null]>>endobj
116 0 obj<</D[165 0 R/XYZ null 460 null]>>endobj
117 0 obj<</D[168 0 R/XYZ null 587 null]>>endobj
118 0 obj<</D[168 0 R/XYZ null 419 null]>>endobj
119 0 obj<</D[171 0 R/XYZ null 677 null]>>endobj
120 0 obj<</D[177 0 R/XYZ null 189 null]>>endobj
121 0 obj<</D[186 0 R/XYZ null 798 null]>>endobj
122 0 obj<</D[186 0 R/XYZ null 745 null]>>endobj
123 0 obj<</D[186 0 R/XYZ null 619 null]>>endobj
124 0 obj<</D[189 0 R/XYZ null 692 null]>>endobj
125 0 obj<</D[189 0 R/XYZ null 578 null]>>endobj
126 0 obj<</D[198 0 R/XYZ null 720 null]>>endobj
127 0 obj<</D[198 0 R/XYZ null 620 null]>>endobj
128 0 obj<</D[204 0 R/XYZ null 425 null]>>endobj
129 0 obj<</D[204 0 R/XYZ null 352 null]>>endobj
130 0 obj<</D[204 0 R/XYZ null 278 null]>>endobj
131 0 obj<</D[204 0 R/XYZ null 192 null]>>endobj
132 0 obj<</D[210 0 R/XYZ null 798 null]>>endobj
133 0 obj<</D[216 0 R/XYZ null 798 null]>>endobj
134 0 obj<</D[216 0 R/XYZ null 745 null]>>endobj
135 0 obj<</D[216 0 R/XYZ null 566 null]>>endobj
136 0 obj<</D[147 0 R/XYZ null 698 null]>>endobj
137 0 obj<</Type/Pages/MediaBox[0 0 595 792]/Count 30/Kids[138 0 R
141 0 R
222 0 R
225 0 R
144 0 R
147 0 R
150 0 R
153 0 R
156 0 R
159 0 R
162 0 R
165 0 R
168 0 R
171 0 R
174 0 R
177 0 R
180 0 R
183 0 R
186 0 R
189 0 R
192 0 R
195 0 R
198 0 R
201 0 R
204 0 R
207 0 R
210 0 R
213 0 R
216 0 R
219 0 R
]>>endobj
138 0 obj<</Type/Page/Parent 137 0 R/Contents 139 0 R/Resources<</ProcSet[/PDF/Text/ImageB/ImageC/ImageI]/Font<</F4 4 0 R/F8 7 0 R/F9 8 0 R>>>>>>endobj
139 0 obj<</Length 140 0 R/Filter/FlateDecode>>stream
xÚìÏsë8rÇIŠºÌ‰öŒî´üt§çyšÝ­ÚJñÙfvçÖ$ÁÊ!•S*Ç6•üÿ±~X"H€èn$è5¦jêÙE|ˆÆ·@ƒúÇOßòýÛßò?=å¿ýžÿçÿô,~*ÅOÿÈÛÿù×?þøÛï¿ÿºÏÿü—_Ÿò§§§·kýñõ¥ù÷¯|­ÿöœþº?•ßNå÷SùË©¼œÊ¿žÊ¿üÇ×?òÿýŸÿû¯¯ÿ–ÿíÛ׿ç‡oß¾>ÃKþ=ÿãõ§öcøä²+âõi»Ý>ÜËÛ?¶ß_—Î%^¶wY¤*w÷¯ËäOÜöû¸ē‰é½Ü?–KáÂC]о/ëå!"—x[ÎõœE¼r˜ë‰KåÒ!˜¾rÛg޹^òȾü\ÆÕ<DNJü×Sä¬$‡`¸D¹,pYë…Û.sÄ%"ç%þ2;W“E>ÊÏ3s=GžJRÎÉõ-òVâÃl\ŽuÐõV¾ÌÂ%²(
 B¹ü29×$X,0X –€Åƒ %ƒ/° ¬(ÚMÄåÝoÙ9h6×ÄXo`å\ûhò’LÀõ#𡬼sÕÑ,åÏ\M6A!|…gi,A
Ú Ñ ê£s5Ѭåà‹+›— 9Ä`™ãÅ`ž‹,öD.1?V{àÊàŠRç\uD98æY\‰c®}HÙ8媣`Jé++D91WTθš°ŒÒË
 
‹Š4ðZåªBÃ2t,OãQ ÔxŒsÆq‰±FãzX¢Æ#F,Ï%£FL×]w÷Ûí—×cy>|ðÛa0IwÅ÷_†ƒüxÂ[‡ÿîŠG’þÅ˃ŸßÝuoœ*=[ í,¸ö~ºªÛk[ça=xì.Bú±àæØ\ìPƒ–.Î$[q¹¸¡==·aMJ&³»XéÔœ.K™\¬@ž›
É貘ÇUùÑv‡]¶cqeSÙàÕ›eN¤ܯjؤ½s’
 ®|²¡ÅϼJé\Í Xd°˜ÎEùØÍÉÜZ9ƹfÂ"‚­¨\Õ FÈ1ŒȕυEÛи' –Y¹0p7ñú¥uZj+Cg‘¼c,Òé«
…«rÎX•½ÅÍÁ‘jÄ¥{.B J<—°ÒlKÃ7D=Ì:¸ÎåÛÁÉ %i=•œkˆàBf½ .Ú`Ø`¹Š¹2O”,Á W­Ç’ó ìÍПR4q‡ãÚa…„–¤8®´&1Š«žÙ#3ì€á«aÚz/8 [c¸²0Dƒ¢õ ‚«æfóuXiæ*B
J‡íÌ\Y OjOjäªÃê.d‡%F®"°îBú°ÒÄ•Ö]È'½1p5Á¸dZ“RW\wá¢ÄÄÀ•6ºÐRVŽr‰» 7æw£\u€Ý…[FJG¹*OŠ…²¢d”+ (2$*ÇVå'ÆB
ÃRåÓ©¹Z
“s! q5ÂÀÚÛ=W¢È£­ÔrAˆ"v@;-W¨jàLi­ã¡ªnè¯t\5-4”=Ùí§ž±¿ÿ.Ï´’T¹Æúù=¾aÀ
¢6(®–KH·Kh%ºÖRÕÓbQ®•–ër›®Îa‡Àà ¯Çé¹ £^
>ÜÌÑ–œáµCrí´\MçùÖ 1£$UsÑys¥Z®³í%·NH)}¢æÊ‰Îkœ+ÑsÝ´BPf=ègŒàp‡åz7.×MÛk¼b”¾Tq5ÔÊÀµÑrÝD° ¬•T؇ô¹WŠçZ鹊÷G”Q&ß
V<×–ByW¤çª/ŸÕPÌ1PRWF4C#×NËu¾×úü+ü’QØV
.A5C#WªçÚŸòáªÕr[¬àª©fhäŠõ\盽§5Rì•K,×êZ[Éu6Ž;êÊ12BªWNZ,×:{—'%WG¤(³ÔgO@•
ž«x j®Š5K5†ˆëWC6Ãq®ZÂp ÖbI…Ó5 ÊFÒâ¹Ä»Y¨¹®&EZ,ip-â\9%pžê¹*Öš(;
\n£á¬5;c+\ŒôÅq®æ"
®K‰kvª‰@“¤¥pµ¥×qgéB™ÐdcMãº(½Ž«àôWòD@“ë¢ô:®Œ3¾êÙwCÅuQz
WÍÛÃÈ0
¤h#!r]”^ÃUðûMÏ%s Æð2r•^Õñ6g
ÌÃlì¨\g¥Ws5Ì]Œ
㘴¶ÑR¹ÎJ¯æ½ØER2WÁ^f®“Ò«¹rfæŽÀ8f DQ)ëdÝ…~^¹e¢IàkSYŽ­\§Öç*®³Ý FÈ‘#š ”(ªT?º²k ±ÌukDŸ+?krN7Ä="àV̵ë>š>h¸Þ;а›‚]†Yw¹k6+IlºŠšô¸
Wuáiè†X!dr¸Ñ˜ÄjøCýsȵèÝJ´§•¸rŽlH[âã‹:\…’K\[°'¢@Ø¢C­€]Ÿ«VrU×Ê=öEèà£ÃDïû¯´ùÖÕÌŸêsí¯#èùVž«áxåÛ-â;^WÈ\OÌɱonn0¾d=äª\ÝT”‚lˆ{ó€¼0ÚT¹WWojò$ ð\{–l lbÕ¹.¶*qeÝKž„‰×ñÒáÊY²Ñ˜×Ó{Šyq—KΈÚ{ÈhzªX¯üPy8Å:F—« »òúh9ÔNþnï5ùÒ*¹Ä€+“,¯ñª è¨Wo'ÍéŧñýGH©\SßËy°†ÇeŽæãvQ°2Ÿ,+çEQÁse¼(*t.a#‡s5–r*WÍçª>š^¸
vt6מÍ•4™¿peM/\œ¥ùp‰'óg®úÃÉ<–kÎ-‡Í‹ó·•Ü:\[æ»uîªßFwÒ²ßmµwpœOm›.Ò,²Î-ï\·u›þà,•\×FÍÕI¿\¹r¶ûRãkT§×ćk¥äjÔûËÛ}©4fÜkbÄኔ\¹zß¿h£¶W]nj¯‰;×NÁU
UPn9Ár­4áËNÅ•r¸RW6|ŒŽ¹Î«Ëë51áp%C®wшﲫÝÊ-§h®š+Vqõó¡¸g¯r~ô'/ÙÅlp\ëQ®Ó¿^òHjÁZv,¥Šk£tEr<Џ¨ëdÞ7ÛnlÌ\—᯻?"éx@·‰+×à¢Zr—Ûj{‡àꤥÈ]|Ëíé71âp
.7.y<€
£®[‘"K~­lâŽÃÕ¿(—óM
-áðì8—Ðpz®”ÃÕ¿¨7RNf™*Œj1\·Ùÿj®˜ÃÕ»¨ðTà¹b\Šã|f.ÅEußÁnßÊ#`ÂÃÄžk¨Šã|f.ÝÀT5_ŽÜp
×^­óŠã|®áE…ÒÁ&ŒJ[=Ì®9·r‡Çù\Ër¥#Bq­Q\µÚÕš8JqœÁ5¼HËU;â*”ñÆË- é5qxœÁ5¼(S:"×Ã%¢"ÎSÇù0\ƒ‹´\?Œê´áò;ô¼RqœÃ5¸¨[ývGסµœm”MçÃp
.Òr?ŒjÕ£YU4ñ"Ú4®þE\-š+Uý6.5MìçCqõ/Òr¹ê^,ÕMìçCqõ/Òríùáa«68Íòþ ‰ýã|(®þEY/MõÊ•;ãŠK
W'T•šØ;·ãê]ÄçJ\ñ®óÛ‹_¾,{lÔMìçÃqõ.Ê;Š-qen¸:ù‡Ýxã¼ì‘ª›Ø;·ãê]4ˆ£*,WÚâæ)­Š«ó~(EO¢Må’/Ú÷#¢âÂùåªÇ¸äã|H.ÅÀn÷X®µW£‹ç¯AeNä’/ªúC%;s Ï\BsŠCqœÉ%_T÷$[DX®W;Ê.é"Ñ Í« ¸—|Q&°üÂeÎ=Üyä’Žóa¹ä‹
E2þW=/WÁá’.ªn»Ê·EÞÙ¹j—t‘è¶²¾Æ6ÓJ\‚Ã%_”ßö¿ž#Wé“«{œÍ%_T
ö+Càª8\òE½H0?qÙL—Q\Ù8WÃá’/gÆé>®Îq><Wï"©ÃÊbB®ƒ¾‰‡K¾HN#‚—qy#¶äÊ£îíZðS¹zýèN«i¸®oÐ4Qp¸ú=w–"p…S^Nù‡?ßÞ?oäZJ¬èžó2Ûâr{Ï\ù'×'׸V”+]&WöÉõÉõÉõÉõÉ…ãZr}rùçŠì¹Þf>ès¥”ºór=ŸÞa?bšK©;3×Cÿøšü²¡ÎæuÕ»êªHqPJÛ:k®|¾!çéw·§†u\y1Ô×áŒF~™WsÛìø9QeäÚÉÔ—Pì(É/4¬®KüuòÈȵ™‚ TSë¼;Àz齺 ®u+
M?\™j« ºã “Òdúu\©l)^¸š÷§»nÝî«ko»õʺ ®Dºµ®êºQ(¾unÚ‘À[v…².Ÿ«öÉUtv¬÷7ïÒqY·äsM]Õ2¿ú®òöNå“+ª›v^Ȭ©K㊯ۧoƒ8ñÆ•u—áòžÒߌ§©KãJ®£0qÙÄóÒŸá¦×VËIÚªº$®Õõq¼=™t®êöÓ5ä$mU]WÚ}tk;.CúáõÏÍÝ[ÙtĪ윑Ò×%qÏ]ÓÆ+W¢ûѧ“T<¶ÔçÊ/ƒô8„wÞ¸2]:ÎeO¹éÀd#©;x®ýåóŽŸ|ðÆuŽš¸1‘†‘¶.‰«¸ÈÐÑÒKo\—½Îûƒ:À:eR¼Ë¹¶.‰ nÙ¯qëë¢Z{þ⇬ã‹õu•\ÃÄÎEu¯G÷å«“Òkmñîm®¾X_—ÂU_ `ü`;®±}½n=é½ÄÕ0V[—ÂÕ\~<ºeK®±}ØByŽCš—ƺ.]_ˆ¾ç²Ú_ÚÌÒ|Õ¢¯Kàj/Žùô[\½,Ú¸ôdЍKá:;æ“[öÉÕyÑ–L¡ú’9]]
×Ù1×'ï“ëý ì —J•l:ZÇuvÌõ©¾—1ïë9Sš\ùPÔuñ~ùäËãÿc—‹|¶—‡á¤¦ÒLrTu \ÕÉOnÙ?×­µ«^(u@Õ%póÉ-OÁõ.
‰vÐŒÕ%póÉ-[raß-Z‹ÁX]—x÷b멸n‰×f®^]×Ù1ŸEr”Ë&ûø*™ìе\cu)\o&˜4·õS/\²{ãb§®.…ëM2âúì-¹JÜú¡k¬.…ëØÓUt}Q7®D²­x”KW—Âçð±‰ËæÜM.ý9Õù±º®ê|²&±çÚO¿6ÝyÈJË5V—ÂUßœº7®ªÛŸûÞmz«Kájn³Q.›sˆçkãï·M­–k¬®!ž—Þ¶%ä]A ®qö¶ ©Ÿ,ŽÕ¥puÞ ë«™«õ¹Fê’¸r—Õ¹ìf¤jŸk¤.ƒ«´çZãÒmú¡ÿ VÑ×%qƒßxàjô
3àj¸ëQ2\ŸÊ(—Õû7䵘_ÚQ.}]—îý¬n¹:}l
\Úº$®úêÓǹ¬²Þè!Ón”ØÔµ*–ïí¹Ê×ëMóU|–ïY
¶X¾ë“kz.óë–—ÉUüÓr•‹ä2/pÉe3aþäšžËjb¹h®õ"¹Ä?-WºH.ólõA¹’ere0ðµü>ŽO®¸ö0ðÅ}Ïn‘\ðA¹ª Z~¯Ù\Åô²×å÷ÐÍULMÞá¾70¸@ªrÃ\ e’ºÒò{9ç*Š+[\Àa
%°ß{ZÀ‘›ì ù=Å¡­´e&=@~¯thG„â‚¥Âèo‘ßoXÀQã¸÷}ô•±mç˜Á8lc®Á9æ½Qæ#/Á9°Üè–ã‚s`™±Åš3‡}€²×ÀXcV@éK`3ËÚ¬Þ€ò9°ÊÜX@=€ÀXa6.@l`3°½9êT˜ËÍ" mœ£ „m®gƒú¡€S˜ „A:ઢ©€ìÚ„>G˜ ‡bH}fv_ï\bAB/0Ò
-Vè׋‘Ã]‡+_Ž V˜È+ A,0
-V裥ÈaÜ媗#ˆ(Â
*âƒ-ôéBäpÝåB} Â(»‚Ç¥€VÏP„#C̾:\ÕB")£œ· Å ÙHd.„Ð'TæB,ÝÄ‹u+_†pd8üƒȇ
B8j¤—Â!Gl#´A `1Û¨«>BðÌØå
h)‚¸ú,(ÖCéÑg­¡% ÇÜ ýŽhIÂ1ó3?ú•‚+~€áï€d¼s°=z @KŽy>rs˜y€Õø©bå™H*:sˆ‡–(30Ê&ÐúyÖ9eˆιÈQDs‘ƒ²ÔÄ9£Ò7”AÄžžQéI+Ò@½t>¥Ï)Mª’ζÚ&HšÔ¡9!"li¥åÚ‡kˆ´ål¨vc! »ô™ ±¢g83âžö¼nų¢ †®@žâÌcˆñqCË`3Ĉ9qx@Ë`iˆf(Í4€ó`¦Ÿ¬TÔ‡
-g€M>kΩj-k€MœdY“½´¬ +ÈcX]>±rz‹€5D'V
œéöÔ1GNÀY™8樼A:©Ôï˜gB©œÇ ÜÏ™.H,8ޏÃtºc
wàÊêd†kÍÁ…Tú‰:,c=càÔ4Æ €?R§é°ŒÖÛNÓaÓ™_‚& :C¢Åqí±`»0ºk…äªé0‘qƒph­ ±÷UKó„ªY.´v†èuâ,øV­!zÕzìÓÝ ¹ð†èQ:j ÖÖãrfØ ¬OKüñÍPË%¢¹-±±’.h­
Ñ“&æV>¬­'BõÊXZ?Þ¹±´°öõ^†˜È,e \<1÷3–½í#×½{&ܸ¥rU¤ÍJÉ\"š LdöܹK0;¸)82i\o\´;¼•Ÿ'–‘P¬.t¬Â^¿¹1p1_uFÃÒÇàd}¡ãNSbé¥
\EiW°/)áøf08Ô&[õ cœFwžÿf<[l2êR6WqÀúßtŽ*OôÛø\+Š¿S;‹añcq€‰‹ÙaQt_zî¬ñ¹‘‘«ˆ¸ÿ¥ó/9k·6\"â—{”56¼OßYqYtØqœ=šÌñ…Ie˜>˜¹l:ìŒöªÿì§Œý¹K.ê4Li¯ƒ~/ÛÌæqµ¶\Mä¦ÜÝo·Û/¯oåe»}È,?mcÍå¢ÃœSþ#†KȵqÀe'‰³tŽ+¼Û9á
®ÃÌK_8.±´îBrvm¦(ˆ=$W›…ÄupÇU/«»Ð\¬•O_ºäj‚áÚ´.¹‚ÑzÜöžKdKÑxw gÑ q!Øý^
—XŒÒ¸°DôÖ!‰kvKÄgиš…X!•kæø—°MäšÕ)¹/T®9½3eû‰Ê5c`OJš#sÍ6Ähi/t®™†1±ŒÁ5Ï#îí2¸fbÔ,%=pÍ`sM®ôT9×ÄÚÁÈdr‰<\)´ášRY©Ã\®éÀx™dl.FÚÏ$ŽËšk¢ÉóÄ×þ9椰áòoŠü,M+.ß`ɧv\~UÑ&Yؒ˧ƒ¶Ê¶åòf—ŒoÍEΡö41qÏåcÚb™®î†Ë½,ÚŸ›pÂÕ
·¶øhß"7\o¶è®Ë’CW+Âé,—\ŽºìþІÆÕŠ'küâª-.¹ø©ÕªGw-qËe‘^HÝž“‹Kæ–ʇìþ‹ë6øà"æÅÇ[ï¹ðÃõV^qÙññýw/·÷Æuê5ƒAÞm_}ÝÛ'ש۞¶wê~z|õy_ß\çŽ;žpØ>ÜËývûøúêý–“pÍPàÿÿÿârõä
äÿÿEÎË‚0Ð=_q—šØÚi냥
&î|Ô PC€´UãßkݸšäÎ=“Ùšd¾O!L•æKÐZó5L5Áîz¼àÐëꢴȬo›>ŽÒµch‡~jî_­A5)É).#š²Œ§Xd´à)˜\r×yá߸ uxÎâè†êQÿ+jõ}ãgß®mn”¦+&…3lºçzœ­·îi«Hs“œ’!@ñ endstream
endobj
140 0 obj
6290
endobj
141 0 obj<</Type/Page/Parent 137 0 R/Contents 142 0 R/Resources<</ProcSet[/PDF/Text]>>>>endobj
142 0 obj<</Length 143 0 R/Filter/FlateDecode>>stream
xÚ+ä2T0BCc3JÎår
ár
á
äHendstream
endobj
143 0 obj
31
endobj
144 0 obj<</Type/Page/Parent 137 0 R/Contents 145 0 R/Resources<</ProcSet[/PDF/Text]/Font<</F4 4 0 R/F8 7 0 R/F9 8 0 R/Fc 10 0 R>>>>/Annots 15 0 R>>endobj
145 0 obj<</Length 146 0 R/Filter/FlateDecode>>stream
xÚ¥UMsÛ6½ëWìädÏT¬HQî-Ž\WÄaM9Óƒ. JˆA‚@©ê¯ï.…²âvšÉx†±_oß>,¿ bá_ ³ÆS(êÁíjðó¯7Œ`U¡e:›Ãª¼Š!/T˯WŸ5žyëpœF‰³G1,KÞXQ‰‚Y¡ïšB×dMÉuµDc¹®XÁ¡äFlúWhÑR$”ªèjÌ­V{´Z&$/¡Â'TJ×ÌšŸ æÆ°íÙkJ
ÚjVS}¬=ÀB5{‚§Cî`wÞ©ºÆrOË?!ÓI4[ÈÆòÖWoÞ=eù›õ5|âÚ,ì1ú–€$J=É)ôãžë½àò½[
)¦GLÇ{H§q4‡IšD#¨!Dÿ&!÷èy›¤cÊO`z>´J[¶A2ÚpÉŽ\»Þ¨¡u2™7Ì g87Íœ‹qMK ;f`Ã91¿ç}JØÁ±ö°ÞÂÕm_`’̱%l&‰&á…zy¥÷Þ¡†yü54tN¯7‘“\®*{`šãhTÙÖ¼Ä6:a«ˆ˜ZY޼`ºìy1JvNVD
“ÒÏÅP*mœb:ƒŽàÅò!¹„ñ~r1·\?sÉP ˆð`(EÃ{Y($H¦^.92NyKòk¸íe‡MZU(IÂ[féŽy_¢ðšÅ:lKή7ø¬6ÿ—ŽwXVèýa\`w5P ÆIîXà}¶ Ï?„[t+UñLæüÃ-šýmzÛ¶9#Ôõ‹ž#ÁïÜ.„æ…Åm€@pRLuQÜt-IÕuvšã(éwMACaRØc ž•¥$å ô³oÁm´:ê™ÀdÊØÜ­ M]T[œml$ó}úkðUªõkuÐ!,&‡XWž¹uMÉý]zu–Ô+λ¿Eg¬ªÅßXi†ªàþá îwÛãBPE§5."y °Tõ­×$šŒÖ×½¬G{ðq™¡B˜uÜw”쬥F5Ã3¾Ÿ¨’œÕ-—ZN'¬ß2Gï]–|¸¨zŠs5B»¥¯ŠI Æ¡q¹ÿc;ŽaqÚêçûñG¿è¨ô–5Žw QîÊTJJup—Ÿ;™™_|±"Õ“ôó\'Ó¼Dƒ¼áù'¯èQž˜y-
“Â#¯8N¸ð;䇎1Ô¯·G¾+GŠ9îþú±Ì᯷Òâ;cßbì½T¸NôÑ›æÁ4 Œ§“ ˆžÜt>Šn03†õf¤• endstream
endobj
146 0 obj
957
endobj
147 0 obj<</Type/Page/Parent 137 0 R/Contents 148 0 R/Resources<</ProcSet[/PDF/Text]/Font<</F8 7 0 R>>>>>>endobj
148 0 obj<</Length 149 0 R/Filter/FlateDecode>>stream
xÚ+ä2T0BCc3JÎår
áÒw³P04TIS045Ó3T072PIÑPp
VðÌ+I-JKLNUpI-ÎLÏQÉE™%™ùyš!Y\º=ºPMF 13=30ßP!89¿ ÂÈ+Å ÿendstream
endobj
149 0 obj
115
endobj
150 0 obj<</Type/Page/Parent 137 0 R/Contents 151 0 R/Resources<</ProcSet[/PDF/Text]/Font<</F4 4 0 R/F8 7 0 R/F9 8 0 R/Fc 10 0 R>>>>/Annots 38 0 R>>endobj
151 0 obj<</Length 152 0 R/Filter/FlateDecode>>stream
xÚµ˜KSãH Çï|
ÙªÄãGâ7 À°5Ylæ´ãt‚·b;k;ÅðíGêöCYB;¶¨
ÕÉÏjEú·¤Î¿'˜øggƒãB’\D'ß®°Mˆ–ø‰ëù-NmxKQŠ<ÕÑ?±<…Œ‰aKȰàòq¬H¶™Èë¸N‹\á°¬·=Ã%<z°,Öëâ%ÍWêÁÒ
Êv×<½BýŒoµÌ™2œ4†mÛ®1!ÛÛ®»;ŸÒãËûùØ2¬3µße‘/ÓÕ¶TûÝÇy¼dæë8ßµŽ[Žúžï¿Í˜ñðµªE·y-Êeœ˜‰*]åô/)ÓMm1çþßf›u¯b øñÇm†ç÷dÓøÕ:^,ë—¸p¾ÈÒ<­jŒOQVŸm¼>ÂþnXZë_ŽpþŽëó²X•q–‘´Žö;|Øçw(’m™Ö¯x$6EYa7šï³‰êXá…ï„ᱟIÜϽ‰û‰6Ioo2×Ö„±:ŒŽ­£õ³(»ÂPXò"ï
ÈOW…«èÄ4L¬|ôbÑËÃ
Ö?ÃÇwБ \‹™Z¬!ÜC3 ÃÍ|Ã×â–år~2È3"Ãjlðœ@Þ¶
OÏ3ù©‡qÒòŒÈÀ±Í8¼k
„Ó™ú†ÓóÞdÇþÅ›|•+èõƒËñ'J@ç‹â QÕ¡'V‚”*0W+\§k×E™Å5„‘¤Ë4‘5tÔ‰{b8I¥ß×ìömÕ5öÐË·ÇH£.ÏD%¶ê’ ººQ—oÔÕò.8-Ï̾eSì5<'wcªç¼G¹éù²éYêľɿ]œ¯¶Ø¥ûydÑsZ.àj‘RM«}ØDÏàÏâ â|ÑÉ'5üØ5*Tª¥hï›,£WyR,¨®‘ᨌóêÃ
¤³E­_Î*Tào¶éBgç¾Xˆµt(Yœ×irÀ—Ó(ܜȜO¥äb¿Dïuî§@çÁÀ9AÕÖ&ýéxF ïËÚ¨ãAç'0Æ osªôýp}‰ïzÁîÒ\ôµ*Ö bê")Ö_^‡ìÀB¶É’Zh²ÔÒ2 :šÀ9AY
0&ZžTå&u-Ïä=ª©Zž”Õé€ÿœ Jñ×òŒ@>0w‚?¬;°U†I5öÔõFí }SÄë
禲ºpä¢é|Tnþ?aÄÌNGr¡ÓQC+™hh`ÞpŒÔ㜠yÎp‚täàYÖòŒ YÌÅ(éxNŽüûœ î*U«ã¼KÓ­–gòþt žœ YzÏ S/`*õGð R¢x€°.·I½ÅY/­ôF߆ôb=íLèeþQ»4|¶¢– ¨ZiVC3€ŠãqNH}J¹Žgòݽ´<#H¤4 ëxNÐ# ÉêxFÐh‘ˆ:þ¹SÃg2Âyo6”ç'Q¿‘ÃÝ|&ƒ³L—ûêëkÜÔ’w•m¹ÐÉ¡¡U¶54¨Æ9T148'¨—
òçmkˆç„J¯Þ}NPzJoÇÞ©­îk2½®åŽàû+Ž×µøU«ÑÇû.«0Ã÷(’#ë×'Øñû‘U-t nh•?
ÍY=
ç þ€3œPʧå9¡šŒÞNdÍiÔòŒ áÆ¥jÔñ ú‘Ã
eηXìéZ"{È\ÄUšÈc?KWô‹Ùy’ˆªz¯[ì>®:ƒß*·wûþ÷'î‰oâW0é#§Ð_'¿VÐTÂendstream
endobj
152 0 obj
1330
endobj
153 0 obj<</Type/Page/Parent 137 0 R/Contents 154 0 R/Resources<</ProcSet[/PDF/Text]/Font<</F8 7 0 R>>>>>>endobj
154 0 obj<</Length 155 0 R/Filter/FlateDecode>>stream
xÚ+ä2T0BCc3JÎår
áÒw³P04TIS045Ó3T072PIÑPp
VðÌ+I-JKLNUpI-ÎLÏQÉE™%™ùyš!Y\º=ºPM& 1#C=30ßH!(5-µ(5/9µÂÈÞÀ#endstream
endobj
155 0 obj
120
endobj
156 0 obj<</Type/Page/Parent 137 0 R/Contents 157 0 R/Resources<</ProcSet[/PDF/Text]/Font<</F0 3 0 R/F4 4 0 R/F8 7 0 R/F9 8 0 R/Fa 9 0 R>>>>>>endobj
157 0 obj<</Length 158 0 R/Filter/FlateDecode>>stream
xÚ½VM"7½ó+J½V‚Îð± dN»d¸DI†(—¹˜n7íÈmwl÷ÿ>U6†îžaw¥H™‘À4õñüêUÿ &ð€ÿxœÂlY5ø²ü´YÁôv~³x\Â.Î`«7ŠÉp(XÆíÇÝßÞvòldzy:õÖéÖ%3,CSxá6BFû9L&ûécº û]É!»Ú[´r^ÅAÅêZ¨ì¹;r®`9Þ ws±ÀT£ü©D¦ó^´h] fžÌÒhOþµt5(´r6uf8(VñK(Çöy·ñ (}æ ü±Y+üóþ–‡‹ô’RÐÏ/ëí?!:
šaR®èŽ¥ÈJÕfFì1îžK}La­«
,dLá3L—É&§ïÏ-|æ‡ ÍÃ]Ú‡7nz°ÂXäV˦RÄ»¥×bÏcñVéüRl,÷rü+òcE'¯^[E·ŽGáÊKj0œåx¹ŸãÅV Õ:žÎ„XŒ%Æìæ{3/²–Hb É¥"Pt™‹Ró`)ÚB›Š9¡Õý¼*Éð%†gdÈs„®È[Â^KT…cRdþ<瑽 Fâìz 3Ã[$'ì Ïui!V—.ÛÉß<ÓÆp[kê ‘Ñ“o»“¨šŠT0ý´èÉ¥Õ}9RX#•³q†*>ÝÔ£XÍn¼ÃÂëЗ„ª¿ië^Pöµëå“¢Bòˆâôõ#uW¸|e²á¡ž%?±œg™O»„‘î¡h¿ÄJõùÖ3d!né´IF§eâGˆ?²©ÌE†HÐJòÂq(±“ý}¦çÞ§ó>Õo]Œ†À}¸‘œ¾•Z_òÄcÌu³ÇóTœ©‹Æ]ä,°åŽ"ÃÉgI±þ=̤[]ߟëÎ5§5pú¯¾F^ø#h+ÿz“Ñ{â~Ó(o5“[ÒlCsïîW£˜qF¡À¶èl ôÖJžûóø+YxEM$÷,}2å}ðå–Isgˆu(ú×!O)$/ç
á'$Ñg‚ãûͳ5»Ø…”=oAaˆ\•ÔŒ&»(@qŽ' x$,~K!Âô!M
axÅ„òºô“íº?oséŠ;/´OœD ëïa¿ÅZ\ø·zðþà<àŒÝÆà*î”éèo•w×ÿß+\aT´¼;¶Ÿ;oú4ú·ÅêUŒÿX9/1|i7vãŠeBQlS×Ú xúe¿»Õ|íãO‚ÿm¥-ÛÜÌVé·<Ηé
«‡6Ÿèóónðûà_«¡Rwendstream
endobj
158 0 obj
1014
endobj
159 0 obj<</Type/Page/Parent 137 0 R/Contents 160 0 R/Resources<</ProcSet[/PDF/Text]/Font<</F4 4 0 R/F8 7 0 R/F9 8 0 R/Fa 9 0 R/Fc 10 0 R>>>>>>endobj
160 0 obj<</Length 161 0 R/Filter/FlateDecode>>stream
WÛnã6}ÏW üä,×’ãKºOÛìP[ÄE_,hвYP¤JRë¸_ßRòE›´‘Ä¢©9Ù37æï›fø“Ã|I¿¼¾ùesóÓƒ<‡M…o–ëlÊñƒ´ÎØü…ïn»wc`º„¸×Ë{EÌ
ð{é ’‚:6{RÇ—F{¨YÓH½Ã
æk…k Ê{·Hè#0”{u[ƒ© X,é¼dù|Z©|Ï,ã^XœiØŠ V”p~§ Æ÷°³¦m&aëžÇˆ@Ê|5Î?q+?8OÉZzæ¥ÑÓç°A_©V¸àý^¼°RpY35½& õËé-éù,­à¤fÈO 9o‰›‘òÆŽ&0²Þ(|—l„T–’£%(¥Då3o2+w{?ð ï´0W;ðɲ­äǼxño›û§,ýþLuø©Ä(ØXšv‹ëP ¦] «ï9‹lùƒä˜Ãè”áùééþñÎqØÙeнi­ü±ãâmÓ3#1­Qå0x*ú~áÉäµä&ùìUñSŽ÷‡;ÊÙÖQ^Û˜q
&³Ð]¢ÀcuáO@­ŽÇØw&#²ÐEM$÷¨Âa:`ðã|,¸½iUII¯¤ó˜ôÏc1ÝMaôt¬Ñü¥è2'Ô[`cÖɤRPzAjˆÒ´2˜Ê%È
´¸B…²¥ÁSêu´ßA¾êhŸ‘vRù+Ó»–í<H%Ü5¡ÕtI¢TEª­HJQIIÆ%k•?3NÄÆÂ°k(ˈª™R3Í9ÔÓµô¸×<¥j=û¯5«ÑÅí‘‚VÉ—Ø’ÎiÍÛÆ}Å®„æY¢’»4Ú5XïåcšJ7,+ªbá9†dp| zÞh‡±qAýÁP!ÕÆRpµ›±4N•z‘ä›SÇ%aÀRÂð A±B¯©COú@S¾’@OZàx‹½X{Ì6ìQf§å?(znp?Ç@ò.Åý8ò\,W0¨éL¶^/î²üyAŠ4Ø<
v›[¤Á–i°Ul»Kƒå³D\bäòÄÐåï‹]ë2渔ïùêìpÀ›ƒËÖ«Û$\^,f©À<ç©Àdr©Àe*p•
‰“]7ZjÔÛ3ÍAüs-ç8¡Ãm0Œ‹~‚^ÎÄp¹è÷ñ-^ pòqï4è¶Þ
;‰·ü^¹ãx8)‰â¤¦mJFW 2(ÜH=«hðÐ× A>ÝÕaÝù›/–Ó¼ÿîÿøú‘á¢óY8¹ÓôwòîÚœEL¶*f
q™ßÍ‘ŸÙÛ7/››ßoþ]¬³zendstream
endobj
161 0 obj
1013
endobj
162 0 obj<</Type/Page/Parent 137 0 R/Contents 163 0 R/Resources<</ProcSet[/PDF/Text]/Font<</F0 3 0 R/F4 4 0 R/F8 7 0 R/F9 8 0 R>>>>>>endobj
163 0 obj<</Length 164 0 R/Filter/FlateDecode>>stream
xÚ­WMsÛ6½ûWlٜքDY‘¬Ìä :öTÛi­^÷‘ „šŒ£Äýïݨ3’{jÏH&ñÞîÛÅ.þx@öàxiyðëô s>dÓW' L³Ãcv “‹38—…°¯¦ÿ ¨I@qoÈ;ýóý5ÔVXpw:r"€T ë¸Ê¸É Õ*—óÚp'µbÁ:í¯ìX¿qË(e)˜[V;[ ï2KEBp͈TÏ•ü"²°`(…tXiQ™Î1 Ú@©€Â3ñÕøút2'>;§º,…r$'ǬG®ã2î¤[x•®ÑöÍaôctó
Ò7<uÂ0 ¡3žÞÚ‚Ûnn å
fR˜wÞ˜@S(…{UàtKFपqe㉊d7èÞ $ôŒ§ PZų‚«Û÷âmPÏæQ‚@f®Ì%ÊB¥¶®„éГ:ÇÌ ƒJ×OÆ—cã¢ð9k)ÍuQè;©æºåî(dܰÂÈ~¿Ül
˜‹éM¨‚.Œ¨°jã^?DG5{Ò›·àCÔ‰‚™¯pýÞóáߟWºì„h‰”¯ñøK÷ã¿¢o‘+Ûm ~Çþ“ùÏn<ÚAöÎ=s#°î0 {(¹Ã-¹¸Ã
D>¦;HÅTï0´¡ï–²Û}p„ŒÈÿå}ˆ¹ø\/÷-8¬~"nS) ®óÜ
ÑQ…PsÜó'˜•‘ÊñY!^Ķéó5¼|ŠJMÁ¥²{ü~¿lÌ–O¼¨Å“ÒÚ¸—1_/¡:å!Ë[qµÐë£ø…
%ü|€BÏ%òa|ùþÞçƒÜ ÛèëêÇI?Dë¿?@­¸YÂåÕ4p6gyìûx°:ÍW-e8w7ðCz·P>ëmœ?2š.+´¾…S€ö°ôŸKJà¬2·0[: óÇg·Œ3˜ÉyŒç¯ä
ϼÕ)×:ÖJm]l%Q9æC¹`(—ƺÇ[/Ì,¬ÕOÿ×`ÃGa=o´µj<k´=sά¯­Ic¿5FTFX4“ÃêÚ¤‚bl Ï„E¿R„Ïà|÷ÌÁ a.8æÈº¦Ãn»48“n—ÆÆH„O¨Œž^Ò:Nf“|G´°8Õ”v`+Rd2W2òdÅCFébe:0JL•$üUª±™IÜhlÝåþÑ·É5èæ©G>Lün´­«r¸î¼ã^¨Ê>\U>ßqÏ+¹ §,%ÅÄ¡.3ð‡>Цê`,Ü©ñÕÅ6‚¨ CÈv‰÷‰2Ü’Œm%ycÔÂÊ¡Üfo»Ä=máÒNZW¶ST™ÖyAOm¢yæ›
»øÂÍŸgËBxÌíO¿]]œuØ~Ÿ¬I»]ãmzcXþOéz§­Øsè}mZÂ<‚—ÄZ7ßš¾!#awš›§Æ÷:ïW½³¿êÞ¡aPä"Dö6ôÒƒÆØƒÁØI|Òëâ
0zÝL_YÚúœ¢Fx²ÒWj¤7Bô8y=@V<ìuwÿsÒ?é²øÅ!=ŸM~?ø·;ؾendstream
endobj
164 0 obj
1191
endobj
165 0 obj<</Type/Page/Parent 137 0 R/Contents 166 0 R/Resources<</ProcSet[/PDF/Text]/Font<</F0 3 0 R/F4 4 0 R/F8 7 0 R/F9 8 0 R/Fa 9 0 R>>>>/Annots 45 0 R>>endobj
166 0 obj<</Length 167 0 R/Filter/FlateDecode>>stream
xÚ­VMsÛ6½ëW쨇:3MR_V:=´IÜñ¡5V{Ê"! ) °hWÿ¾oR¢åXJ:Ë@.v÷íÇ[ü=H(Æ_Bã²rðËjp}Ó‚V~2»Á*¿z/­#-Jy­´uBgLå”Ñ?=Š¢9ÙDQôìÁ›ÕçAL£$Žn‚®hŠ îÿÑò_º¾P’0Ò ŽÒ+^í$JKZË­ÒZé-=)·£akqHJç*NZrÍ[Gr„HiÁhcjªj¥}6kû#‰ƒ”׬´?ÙXYw¨ÆQÊÆƒ‡´QÜ”u­òf6P‘w:ìÞ:YRï\Y̸¢ +¿G¨žÃ¾"´‡\là¨w[Öô—6O0aüëÂd¢ ¸ —^××fáÔF&4IBïɺš
K…t0c Ý”k¿:aÑ9ö™©±¬Øƒ$µÈø#/¤Þº]Ô¯³Ï™«e)+`®Kef´Ãc |…B%ã­D&GVVÐëÏAÛy¡jòeb[¸ Jæ-ÜqÌ£)-uY­*GË6phÿ€óq|Øçá`瑯´ ‡?]
—Ë÷ÃOo|Z-Þ! +•X«B9…7€#E¶;äŽ1ˆÚXNë=½ûcù€@žÔšmªÊÔ®;5²•ÌÔFe´‘Â5µ ±àwE¡¶Å ? ˆƒ2é0-A‰‚ßôЪóÁòVƒ8ŠA7ü•ð×Ç_)™Þ “äÇKJcü†]AŒŽ‘›$‹c¦Ù†ï4[)Wr¯›\Ä=“éxB9š|)ß—€ü<À³ò=‰’Æø=/ß—€ü4Žæçå{%MâÉÿûO'ô÷% ?¡ÎŸ¥ääH½=d±MÏϹA™®d¶»7NÒwÓ8¿ýš^¡[ŸËWS‡
àLQ¿%Íx„Í—qôJZ°ÿç¤{¨Ã$å”Ä4¶³Ð8Ï*›þ'ñï$û;hŽÛà\ï–4´ç‡œÔÖS(‹û5òàƒþˆÈs R'ƒœµ|"á@¯ë&L&´sÀ±'Ö²0OG_NÙÛûÔYSÙ[ßè/mˆÍÖRùÁ&xÄ<úq%˜oÛ°ÔM!;.æN}´o#”›×jMSgòÚí+&lËÄd¶µ(ÏNêþÔõ'á™°¶)¸^-¿}o½@Dwý1×’`˜‚Áƒ 'WµÌ\±/8ã¢8!Ð@‡4
©{u-•ÊüR¸Sîß„nDñÎTêK ï}mL!1NQׯ±¥àãݲ%é¶ÜIˆ:عÁ íð#àÕž@ò¨%/¨ô XÌßü Ѫw w+8¶…•—ÐŽZ“ËâÞOýó`ÙÕ-³Ø.®ö˜ÁãØ*Yo{`/¡!lº H7=ÏÜ R”È?76DÏ4®jœ¿Ñ :±…²n½¸„|â‘/kÃëûª:3…¿ZšpCüš¶Â 7EÃI
­•3Í8$[”¥ UÆ þÁ{ ÖpªL°N±N±NÓ ù¦u7IyºÍÓp
äuÇ1ØàBÅŒ®¶ºOì||”`Š$4šC+Ýð³Œ;§ø[oR˜ ¿þ 1ÁÕendstream
endobj
167 0 obj
1197
endobj
168 0 obj<</Type/Page/Parent 137 0 R/Contents 169 0 R/Resources<</ProcSet[/PDF/Text]/Font<</F0 3 0 R/F4 4 0 R/F5 5 0 R/F6 6 0 R/F8 7 0 R/F9 8 0 R>>>>>>endobj
169 0 obj<</Length 170 0 R/Filter/FlateDecode>>stream
xÚ­WßsÚ8~Ï_±Ã½›âúèôn&%i'¹Ëz3É‹°å Ö–¨$‡ðßßJ²
˜8¡¹Nfˆ±v¥ïÛývWü8 ÀÇ¿Æ!D1$ÅÙ‡ÅÙÛCXd¸OưHû‹…óÅ7\Š«¥¾¤Jä¥f‚»…Ú§„§mc½]Ó¶ÙÉKª  [XRè
z DQ@`Ãò4!2õào½¢rÃ|ØBQ*N:YàDf^»½ýö ˆ¼Ðÿ܉RH8ôêßД‘ÅH‰Ö’-KhSš1NS`Ü ··—±œzÆ
coد”rÅôö„`Ý“¢ Ñrçƒ5±¾Õ¶@Òo˜‚r
ÃT‰AÒ+¢ßÕL§f3Lô : Ù]ÿñîþhöùkãIšÝ!î Zø~¼^IQÞ¯Ž,Ãðyš¢Ç´$\eBbÒ
+ü'Ù#à ›‚ÙÍWHDŽßœ¯Ó^´÷ÔÐD†¡ÄÖëœÑ£à“LSyŒßsˆÄsfÓêêôGÞÈ ½$åZýK¥:’ßTŒ¤?J&M#5d |Ä`lV óøàö©³/·s¸¾¼„
–K©ÐµH­I ÚDApåµâ0+¥D¥ä[`ÚÔÒV(<ßC/ðüž©|z;žã
{Ö<c˜'+š–9•0<c÷¥tiúˆÔ1ë±×èF5ž’’T•PйÜßÅQVõ& Lò@XN–Èqx1aê
$9QŠâƒ©
K¨zw˜Ý½°Wæž9î¥w(Lw:Ê&ÏëTg×'Ãw.6Ü41É­Ò´ðÏìïmÄ‘þôùfo”7¢b-$3_Öˆa#dŠT'ž“Ärë°Ô~NÉ_‘çB*îzÈ´Ñ‘@wJ¬pjÙì›9$ø¤˜ÒÊÀŒl !)侺˜Ï®¯Ac9x¨ÑÂöH·¨4‘G^9ø¢DíÜõ{¿õîÎ[%“¬ˆÄáTÅpOHW‹“ >Xæ„·»}ÕncN
;©HKÝ.ƒìS*ò\l\ʺÚ^æZ™[²l!jœ1H¡cäµi%úQ¼ÑØ› ܉ƒ{Y{£÷Š0ºæ½m7ëzR^-Î|ÏÇ»AóñùØ¡–pàOÍç¡àÙó'Œƒ(ò¦•u„§÷¬.6¡?qáý̤×FìÏá÷oíš}íÎÏÛ™I¹7Xu8m²¦Iw³ &”ÛÍvµgÙ8kÇfgl,‡`W@/iFÊ\ÿb*M‡OÝöfDhÆÉ)4G1ŠàdšÖº“f4v$.’„¢`œ0Y¬iÂ2fg5×7 Ûñ1£·vN7ðM,qh߸k`]-ª°ÞWªÜDúKô^"ë>O%k­«› S„_p®¨[ÿ+ÁâÇQŠu^;7µLi’ª¶íý§’Ú…ã%*þ¨‘çËÅæ¬Ÿ(6KeºP~ œS97-ª“ŠÁ·´vŽ&ÍõvlP43ÝUØ´ºñŒ—abÒø™Iìù's±Æ]TÆÑŽÈO_CÃÞó^Ã"ÞUÒË,â]!³E¸h[/ß¾RY\èÿ¡®áø':¹5î¢
]á_óL´X\ØÉ[’¼ºÑÚS_NAi'×ÉófÒskÜLªqcš›ù½kÁU×hsiÉHB§ »çÐç3¨œìíÞy^5Wl~són®½Ã‰x¬Ã´"øÏÙìßQ¦endstream
endobj
170 0 obj
1287
endobj
171 0 obj<</Type/Page/Parent 137 0 R/Contents 172 0 R/Resources<</ProcSet[/PDF/Text]/Font<</F4 4 0 R/F5 5 0 R/F8 7 0 R/F9 8 0 R>>>>>>endobj
172 0 obj<</Length 173 0 R/Filter/FlateDecode>>stream
xÚ½XÛnÛ8}ÏWÞ—HTÝmoŸÒ¸-ì%Û¸oŒDÛÜJ¤JRÉæïw†”,E‰,I ‡:Μ¹R?ÎâÃO@¢³òìÃöìݧ˜ÙîH˜z1IW Ùæo~“5\Š·ÛÎí¥°–/‰aÿšš¤hDîˆ90’Tká·g¾çÃAÇ/ŸI£ìåÊ['.X{!QŒÜ¾¢È[7è(\yË4vz¦ <•n†©¢·ËøŽ3M(©Ô¤†p\)Yy ¯Q=±JÏUÝ¢GUSxŠJjبâ¨Üp`[#ò‰¾ïIF¹cdqlA¤"[#«Šå‹)[b>gÛbÑ£¶„KølmùiM÷ì„/Úð)’ì¤r6ÕJ1aœmÎÜ)+”™m…E¿`Å»OkÄþ>IÖÖ”ÈKՕνLŠêÑe‰O.Â%¶VíDv¼€ÿ¥Ð\®
Ð'¥„ƒ
.˜]º¼½º¾¶xäJ–%Zì‚ÅÊn–ŽJÖ"'ßÞ,~Y|{‹çéAZÁ¹Ù*šA@{Íëxð‘f"¤¸¸+¨øn;¹º,hi㈢ª;¾¯•Ëâœ+–~)
ùÀrr÷H8l½§EÍ<‚ÖºG\ì7ƒ‡Á\P)m¤ÌuÔ%
|`ÕÝ´»\¸.¶£uaìj·A´a:S¼jkÒx\ÄË×dªC¯Öðõ8 ;pÙ*ö4ˆžÔÐ8‰œ‰—Yqþ›Ü2‚Úõ¿ ÷ÀÞpù4ÿ‡UÖm„å½7ë–34
³ž^èG
àE[,j
Ž5háå„
¶£h. -Kw0€ñ`cX‰O¤eÅžßÐ'ðqš~‹¶œ7ô[°£¿C·•(â†t ÒáGž›ÒkA“@`BÚ’’¥³µqANR›óA‚™©¾Ÿcv粤\L1âÇ€ŒBX8͈E[UOF,Ø1Ò¡[F¢•Uø²6‡+,«Sœt¡÷€²`÷¬°µ@¥âM(BUìG
Ù›¿pSÒGÛ’¾j¦çÐlÔ,,W‹ÏJÖÕToŠÒõ±ªO“åÐ3ÉràQ²âu`íö±6±?¤`ã„aØØô]@S˜Pï ð3` ÙBÑÈÖªyÖµá{¦Í$[Qz¨f°eÑsÙ²àQ¶‚¥Óÿƒ‚4b—y®Ø³ “Äëý³GÉ’4Ϩ6„:QÇ"uõõævÈž ]ˆT4ûÎ b§xòããÄ3ƒ'‹žË“ñ®b7¥6<Í)M/X~4†CC
kŠÔÃC§oi°Ó/Þú ë"o ÿIá2<Vîiz&I<JRºÊíHÚ0ñøÿs$¤™ËS´~E=wè¹<Eëõ< ¢>O×élÀUäOÌ¢n/?šAÿË5ØmclÕUã¸öÈ¥CàµÄBü£˜œkzW°áD!k³—½t 7X¿f€pè™
AÜËÔ?UþìNi³÷¼
OçÒè9¿·"3½œ'TäZº`ï
ß•’8“[íýn°kέÌÖH^Vϸ)@
ŠréP‹ÂÖÐöœÏi7àÓ'JâÛÏðÌÎðá™VÔ¬CA;þôLk:9~÷Ö`•L
ôms
Ü»€èÐm@¬Ö}OÝÀåg~Y¢ê_:@û‡ö¢Kï)/0EÚWú…¸°7`6•%Ëô
m™Îïg;V’´ßÍn¤2FÒ(8=$}ÝÜpÕmªÐ%ײãjË€y5#Ž_ѹâx~ãŠã}+
:.¾°‚Žw­g¯A´¬UÆÐûÚpázQ;üì\žèAØO}Ô
¿œn@s ‹eŸ¥â§å†³¡½cË>ûÅÏ
ŽÓ›ê|uܾ£öš¿j®ùdB@–¡u¬Q‰mÇ;
^Ý0Í÷‚ ÞX\¸=ͦÀ¶éØO½¨éÛ/¼uøëì?PŽrendstream
endobj
173 0 obj
1503
endobj
174 0 obj<</Type/Page/Parent 137 0 R/Contents 175 0 R/Resources<</ProcSet[/PDF/Text]/Font<</F4 4 0 R/F8 7 0 R>>>>>>endobj
175 0 obj<</Length 176 0 R/Filter/FlateDecode>>stream
xÚ¥XÛnÛ8}ÏW~jø¢«m´(v›ô4Ûvï[-Q6·é%©¤þû!eÙfbKÙ¢€›(‡CÍ™á™Cÿ{ ü È4$QJ²êâíâbü>&A@ Ãd4'é,!‹ü…b%Ýr±"K%4S„‹BªŠ.)”¬ˆŒèz)˜!F¾\üs1!à …¸š
iÖLðñ»ÅÅd4ÛoHb’¦É(ÅG$
áWÅÈÝÐ ŠðµzaÂVG Ë_öÇÆ­ŽV–¿;NC@=ÿ«£•øPü0E¾âköÖún-•ùL+¦±vÁdŽÛàŸ·îÉlŽGvÅ݆e¼àL“‡5Ãz©Túl”¼ç9tÆ#bð G¾¿xàf-k€¯üMvÏÔ€l¨2ß_è6H«’†A,. Sº«"Œì^¹Gu,Ú¦ÓƒB £Ùhv€n œL÷.xÅ )½h2iÙÛ°§ uµD ¢Y&E®‘ÅÊ
©…áeÃ…ÇaδáÂJM(¼¢îYîN(†-eFKr€ó"”\^“ÙÒpÉÄØ<gyuh›è9°ãÕ¯{ôŽ×$µ¼‚y”~½û±i BEN²’jíT­‰yÀׄ º,YþŠdT%4æ1À8ƒ/E1èb*IžÑݳøT&Qâ(¸¦†^såQ5®µë54È8«7gÎ1vLÎËŒT[dv¹úëëÉ!.)xÉl›y¬i@³¼‹›0„WïÍE÷寂Or[Ú>ºf­Ks<hæP®åp6KæÃ egò7.É Ͱ¥ RWⓨ=>Á;Ÿ¸E;8n·`—ø½K<žOš¦po}KŪ¦+æežÕJ1aœR°>Ù—M ŽÄã~öMÜ¡{&îÀ'Oã]ÅÅÖËvè7ÿ7VÔÍÐ÷VI[õÔMþ9YKm.½¾ëó ÕK”‡\V”‹.F&vß3àÐ=Ï€Ÿ:q4·|Ȭ® Öߤ4§%"—Ù±L<Õ
M$'
âíu£‹„h/=Ú"j… G[D{!x¢-&MÉß)%Õ­ô
ÃÇ—îù™Imqp\VVí¹Á¶‘Å®chéw
ø2Ð[
«»Ém—ã× ÆRÔŸH°¶)·Ú°
±LG0]ÃÞƒÛ¡{n>5¸£tê˜þ d½ñhÆf¹Ä$.›LΣ†°ÙÍ5<¤†À ¶ôÁˆòª…À‹ û ú,Àü€])ZuÙÇ(‰Ÿ1 ºçátàS‡3
ø„7ÿƒÖûVÊÍù;ô;EÑ2e×u9p¦°u`/°Õ𑛝þ%-Ï/TºípÍŠ97³­æPôùW¤¢[hY/À±5"tû\ó•€7„M¹}ä^¡.pGÀ›·¥"cèñ‘5îV@x÷Mo=l]ó ןw8ùµ°ZŽõ‡èe—.…³½.MQLÏÖß¡m1ÎØÕÞÕ?Ll}oªMÉ3n®Ð >º~¸Ý ñ3çŠOk#Q5`¤—[)FÝv¦8sûÙ£äø„&ìõ~
ÊçßÕIcÍmáüœ˜p2Q¯ðZãf¤í où3ÍuŸ»á™ “çëcÑ–¯sà¦>ìê³G·õ™Äî´}bló{ÉïÙÿ¿‰@i@·,3 ÿDâ) bµjOÞ³˜
æAë8»•Ì¡{*™ŸR²`ñtê.|^ñi%áÊkUÖ#e? à)Îö¾PËÜ’ØÄY)ñ‚Gx—?’ù3.mÝ—- >ÉVœº^ß6‚l¨Y¿ñ|=Þýù͞Ȇ¸á)F[[‚üÌÅ3ºž¡âÙÅ ¼`ÿYèÐ}9±àSœÌíAov S«ôïhà…©à•FÉÒo#ßÔ8pL+P&î;†Ç¦nD®œGC„hƒœ-ëÕà’ 0îÀ¿ ¨øWe`/káG.@Q€m7J•[1ðÀèZB»š®•Ξ!ÜS-ö”Æ£úúóªäàúýát~»UÑŸ¼ª«Ão¹à÷ÒPáÏpxúj(Þ=-k;aìHv®•¼âÆ™è`==Œ4àdöûÒ{ÊKüŠÇ¹÷œéLñ
Ü[tçüio³ÝfÚ‚{zi‹}ÂJßÏšoæƒ$á·ö–lç‹n…‚‚[ºfè±ð?›HóßЭ6‹¢j
Þêò(¦u’ñ]©+`ÐäþçÅiŸ08endstream
endobj
176 0 obj
1702
endobj
177 0 obj<</Type/Page/Parent 137 0 R/Contents 178 0 R/Resources<</ProcSet[/PDF/Text]/Font<</F4 4 0 R/F8 7 0 R/F9 8 0 R>>>>>>endobj
178 0 obj<</Length 179 0 R/Filter/FlateDecode>>stream
xÚ•XÛrÛ6}÷W`Ü—dF¦DR×ö¥‰s©g’Vµ•·Ìt`’ÐŽÕ¯ï.–‰–HfÒQò`=»{vÁïW>›ÀŸ…sü/J¯Þn®Æ¦Ì÷ÙfË‚¹7eóåŒmâWŸùó'½{ÿ‰×›¯üÉÊ›³å-ñåŸ-WÞŠUO2É­–å{ÁRþ,Ó"e–3½uÏx kGL£Íˆq£‘ 
½Md|'X¢wl+°#{<äÂzìnˬÈY®áè`I1¥«Z&Ü~Ò"ÜcŸjSÜftÎs3^ä:幌xØ0ײ‘ïÑ@iH<GBÄ"öô~s5ñ&@`ýsÿ‘Sä,\Áb"i¶F`Ç3`? 3B;úºÀAЀƒ
ÂFÁòqK
×½ø^›Ÿ†lr®9¡»£õÇf³†mœ5ŒC‹ KQãHkÂÓGÛdÑAÃtÓæÐÎ.pI›m
º¢m6_À/øò—‰…i±õ&IôÑ;¡5mnÑ Þ4.FÂÜ
Ìh†«X,ˆrù$Ú n4–€T»ßXÄ!½»Æ#·þ©”i–ÈHæšqy€#{)ä´;ÁÁe6ÇÕÙðOUž%‘JŒà€-×oííœöb‡–Ü&ËíÈ_ܬ'Ò³pZGzx“îHÚ1ߦH˜"Ý ëHO–”òkPP„V¬QsþIè1éYéèi¤dhUiÙ‰Tyl³o‡Úârž0ÅS²=X_WA/,Ðì[S™jj«MJ7+¹HÛCötÙ¨Ñt?dÚ9ß&² Ld7èŠìé¼T£µ6y‹éyè_V!Î2XÁT>BE¿‰_ç@ƒ¤?V
‹L+ÛÇÆìgD†ÐE†À—Df8ÍX©òˆg->Æ"ÆÙÑ»Žvzœ~œ½æ›H ø«Õ. «EECÇc?d¾‡UÈ(®
c„Êi±0ÖÉV”pkIÔ[F@ËѺËcì‹EŠéKŠê†ÚZ¹J:6 biùcÒÛHÃÕ*xh#%ôÀFJàK4¤©§ì¡÷Z·ówüÄÍØfZ'ã¨Èl±Iw¸Ê6JƒHŸó‹e©>ÖY·ó]eMÐ㼓ó
ºv~¶¢˜Ýß­oy´oÏË´{€8óRjs© oxÞV8KB}¶E0û(šây‡3/siæI˜7qJsÑK’æwzý'”KW†dà) ;èXΣœª¨‘´—„`Qëû€<qè¡yâÀódâ7T>1€Óƒ:vý|7­`.+NUEŸÕzx§r}À(9‰Õuä
DC8Û±Øò"içÚí—õ´[<¶k(ˆtÏîÖkFæÇ3Páö XúHýÀ
–À—l0šœ)l*'òt¶^1SË)ktÜÊ]AºÝ"qˆ„Ófôè¯OB¬O_ªÏ (G7%}4ºÈÎÔ秨Q9Ju“´C4À¹TC–È8µËöd\`KÌË ê£Éÿ™™„ÐCiò»f’`Ò€±iöNšsM.O³.í`Xãæp”A¹+ǧýÕ¢®š~Ù"ô@Ù"ð%Ùòä²L….Ú%N^ÜŽ7è%±ƒYU[˜Ü!D%G(ÞÂ^H–Æœ‘Šz¢ŒãDÐôV}\Íg?QG„˜ ¾” ¾ðà‹}q1N²îŠ0µ¦»šÁÏ+Ì—‰gjÅ“—·âá½Mχ³/BÏ02þ/§øe gÒ’˜Ð›{a=>{¨˜xòæ+ø,ª<:ÁÑ ÿg%^³!|¸£³Ó
/ÑîÑ›‡Û»;¨²çÜc·:M1Ùè¥Í¹)'7DèF÷¯¯®¹þúº{n`¬Æ+_T_0ÞÃ\Æ”V7 Wßœa²kÃNó\²ž´ƒæ»haóÍAÂÒ'žt._A¼['ªÓç88:°’kÿJì-Kö|¸Sùl¾šÒ²²M#‡[ öNX¹SøWddVu©Zu³\¢ú> W¥~]ˆäÚßWÿæ:“éendstream
endobj
179 0 obj
1574
endobj
180 0 obj<</Type/Page/Parent 137 0 R/Contents 181 0 R/Resources<</ProcSet[/PDF/Text]/Font<</F4 4 0 R/F5 5 0 R/F8 7 0 R>>>>>>endobj
181 0 obj<</Length 182 0 R/Filter/FlateDecode>>stream
xÚµ–ßoÚ0Çßù+N<m¤qâü@«*µk7!­SWèÃMri]¥KL»ý÷;ÛVFÅ_;ßOîÎç>}$„1dOƒ‹ÙàäSŒÁ¬€(ñRˆÓfù»KYc¦å3¾Ÿ=z!M4÷±Éj¹Ð²Rfäj6ð=Ÿ]ÿÜ~†€{â$¥Õ˜?öb`c/€aºCÌÂзê0H½äµuÇ[wAlVÌ ù8Ï2$êÞ¸pO‰éK#ÓØÀËê¬~`QK¥éZ6 VSAá <Vóƃkñ æh•J<acVõaDÜöiÃïØ ¡ªaøµz=àÜu–€.÷ƒ[µߨ Üá’†§—Xˆe©oZ còlËäéI;zö÷;YÖuµTyóê]äXH%M(¡ 6an˜‡ÐCïG˜‘>XÆ=ÿpX«î„õ™lYV/w
ÖÍÃX¥l4T,Ž „A‹ 3sЕróŠ·%ó#Ö©w$¬E‰RF£äùB(…õT‹ZwÒs«s ”¢ÎqN)IA¨l²$µT„OIÛG“D†ãP«î¤‰—FŽæJåoa…ɹ· D›‚:ÔÞÔ%ª_oL2UéK´0![óXu'­8žg™áÝídohr«-k BëZΗឥëŠ?À½Uwº÷m¯™¨¢Ú²}ê¥(Í^´j8&åãcSwåiäêùK•‰UïÛi·lGzMÆGT«SïöÛMÿô?5>¾Iïþ–àÔ]-‡mzÓªqoj[s€Æ(·ÞþÈ„2ý}8ÉKt|ª«Åó¾n΃cÒÝ©;³ˆEk–kÚ3Ä=îÙ}Võä”ë2Í(<¨ô:0¸Â?ªüÎÃXÚÆí²æi]ÃÇ»›)LŒ›BdtF”÷
¶ŽŠ#7gÔN
=“¬-Dãe•*ŒŠ'¦¯Z [¨oƒß¾Q¿ endstream
endobj
182 0 obj
746
endobj
183 0 obj<</Type/Page/Parent 137 0 R/Contents 184 0 R/Resources<</ProcSet[/PDF/Text]/Font<</F8 7 0 R>>>>>>endobj
184 0 obj<</Length 185 0 R/Filter/FlateDecode>>stream
xÚ-L»Â0Ûï+<ÂÐÐ#Ú•—Äâø$Ò’öÿÈ–,Û²_Ĩ?`X§ôOZ Íö
˜!¼t†±š×Û›ËñŒCC‰W°
Cºg_R?¦.OåAÕoSýG¼Ðж-¾Ög,ú’ôe0¾ËQûЉ޹ $íendstream
endobj
185 0 obj
123
endobj
186 0 obj<</Type/Page/Parent 137 0 R/Contents 187 0 R/Resources<</ProcSet[/PDF/Text]/Font<</F0 3 0 R/F4 4 0 R/F5 5 0 R/F8 7 0 R/F9 8 0 R/Fa 9 0 R>>>>>>endobj
187 0 obj<</Length 188 0 R/Filter/FlateDecode>>stream
xÚ•—]sê6†ïù;Ü”ÌÇ2þ¢3½8$iK§=Ã9»Ü[7²åÊr€ß•d“ÀÁ˜Nfˆ±_­žÝ}%™\ü#y0 !ɳÕàá×)x.¬6ø$ŒbX¥#ž÷ŠÉ‚r˜x±¡ «îVÿ-‰¬v<ñϨ_Êr)’7¦`!…‰àVî!Ü‹œPËW[öI^6rÈ* Äãu¦ á ¯W‹‡ù*+LDQ°De¢p@‡HÙ†Ö\V0ùž% J!•Ž3%®kDšg& úò}9S[BAs¦¥C}è4R/tüëuÅRX@¡âw¶ãLaÎ4y£2…?˜zÊ$RBÁÔNÈ7ÈŽåÃìR „7 /“Õ=ÐêŒpÇ8Ç»Óâ§ðΊTÈê'
‘Ö‰ªX2f¦|Y,a)6jG%â¦yVd•’T¡þ¢EýÛ ±ª.uXz6ï1öMölAt¯Í|3)vUVü}[£/1͆—'ÝßñššŠJAÓ„Vªí¦³Ã±Éj‹#Ú6‹’aŽXQQ`÷Ï29ñB8!ç}¦ÉöÓd%5
NY•Èl1u]+…áu¹(hlÎlß°XÌ„ÓÊ6Ó:öËòq>ÅöH®¤ÎÖ%(ÄÜ3¼õAƒcKµp—©-ÎQ ‹²‚ÁëÈÝ»ôõÎú» †“` sª°iÚÁ9Vóg[u¦ºè¸–ÇžoT‡’ÁrÑ$µÌô¿! ÕËgh¾eÅFØ«œ¾±1æ3ÎEÊø¾þicÓ¦£cÝtt©cÞëˆ÷І»êÔ£{S Ó8£Ó‰~)YU
ˆµÓ}˜/ÐæÙÈšFŒMvç!Nµ'ö¶£||²N:¦j½UßUŽ^º«õt:´Fû8§uý¼kaïÏÇ™¥¶e{š²$ËqG(ê|Vnü%Y‰Ug…Ò_ZÒuÆ3ux06½¸uZÐ$¦q–)ý<Šð¦«o<™•T¶{^
\ÇÅCçøñý7\!ÞtŠûš™âpÜ–—Ä‘6¶“0t‚Ojszµ©?ÖQcƒaÖÚÍÈ…_ÚU|¶$ >1‹º7ÔIš˜fS¼ÎkÄ–÷C¼
¥OÌÔGÊFcjÃñ ’åBŸi¯#ÊwôPy½ëKÀ#mÁý¯®'`Ä6õGnlëêSpÅÄ]Ñt³>"W—æV ñ X"O­%'׈ð𲇊ē¶ÑýTVÜM¹ÍKÒeª´.9Û÷…¾ãÞ dÄÝ@q^p·UäéÃñ}'¾Lj»qð„6¯œaG}lô9ˆ2c}+”xÁí;ŠÏãœêͳÍ
o·ºw²M'Öéq‡Óëßq¶‚÷,Žn7z]óyÔü˜^FJÄ;ë[va|»É&ÌÜîe–ufÏâ+(åfƒm'Ê$°ö&¤cÁá«Hï9ùŽÉ®S2>¾-¸Wáù‘^¯–1hȾ
þœi¥nendstream
endobj
188 0 obj
1130
endobj
189 0 obj<</Type/Page/Parent 137 0 R/Contents 190 0 R/Resources<</ProcSet[/PDF/Text]/Font<</F0 3 0 R/F4 4 0 R/F8 7 0 R/F9 8 0 R>>>>>>endobj
190 0 obj<</Length 191 0 R/Filter/FlateDecode>>stream
VkoêFýί˜!%•ìàgÌM[‰‡ HPâV¹R¾lìÜšµ¯mrIÅïÌÚ$<]Ïœ9sfÖë5
šxh`Øôõ—µŽW»î› iàÍ@3UÛ±À .5ýÊû§¦;ª4†ßÁg’4Èch­5Bá/xFÆ®WkªMŒð~šÞ!¨M 7Žê€DÓZª)‡ÇCÆ7¦j–Æšm«ÖŽ5R- ÚÞ&JÆ×5g­ŸËÑj©öÙ¥ñqŽˆhKNæ×
{m:gr4ü\ŽÒø8GýoÇW–†ì%â…ÿ}ÍO×0ιü¤ñ~×ýšPK6ÁjiÄÉDÄî_“GèÇéúaĉɶw› `:Rò­Ù Í2`û4•£UÆxyƒ|Á À§Yâ\ÎÐ1“ì#ü%yç<¥r%i¬|Á›`ËЇ&ÞIØœ‚‰€<‘Žf`FH'[%IœæèÆ¥ žbdji§ÛE<$4Ž]ÈßN&ð90ûL–%Iú,cqý*Õ_%™BèŸØ«ÅU5+±ZETÔ˶Ôóz„­øÍâ(ІbNvðÌOÃdFb²WF²QxÄ—\äR `yŽ6«œø `Ÿ’úV%Ô¢X†…\Þùí÷Þzß¡m1GÜz·×öÚuP ø<刭(TzjEì¸wãåÜu_N­2Ê%›Þu¾ÁÅtzw×éË`ÀרöÑê+Üó|± ,„¬\®y”þ¢QÌðÔGM°G *¼Î@Îv¡ýx¹dJÆ–2j¢2ø9<=¾Î+¨f ÎÒ£>Ð6}306s3°6û”ö5uÖIÕ'S÷”q¨9¢ZÍâ)õ« å§1ÂÁ
eêÆ¿…‹áx2º= ¢òJpœø A˜V8ð|åé&Í£ç«bâZrŸ–,ÎOÎþ½|•§,‚œÄR”úú‰´¨É±X
JïöTþ³×EþV<½>ˆÐ
ôî=¼ ñçy§`æ)K¡Ÿí£<<¡óÔíÎhxïâeò0úŽ—ö´Kƒ!MyîÓIüPd<Í÷Їã;tþ»==à‹¢6B«æÇ¯<¥õNCZuU‰ø+êÛÇög«(HçúÅDö-Æm¼‹wK£J9(”~äŽûaÇ{BÁçJÊÏW¿îsi{Þhø¸çº×
Yþ[8ù‘ú`{êÛã¬;S¤ùîx‚¢€ÄîõqÙI©^RlãJÔƒ{´AÏz]Wå ˜ìЦe¨­3m%¬i‘í²t,FQµ¦E/ 7º|Í(¶‚!îˆéŒá~ÚãY8tÁ]%¡ÅI‰(…R:i6MŽƒJ5¿ÖþÝ–Ð’endstream
endobj
191 0 obj
1043
endobj
192 0 obj<</Type/Page/Parent 137 0 R/Contents 193 0 R/Resources<</ProcSet[/PDF/Text]/Font<</F0 3 0 R/F8 7 0 R>>>>>>endobj
193 0 obj<</Length 194 0 R/Filter/FlateDecode>>stream
xÚå—mo¢@Çßû)æÚè]à@­ÚxiÒlHlµ”&ׄ7‹ìYºl[½øáoÐZEô’ë s’ âÌogþ3» Ï
T~hЮC£î¤raU¾÷T8ˇƉ¢A«ÓË«þørnY}ãÞ‚ ³fýª¨ kªÒHc4éBéG–AÂZ'″üN]SZÙhú­eX Á($îÓ†ÿ
aR€G㮸Ž)ò ð`×=*aú!yƒ#)E§ž8
q„
}úú
÷ƒáùµ~ØUI¸wíÚ·ÉyÄ}™ ˆÁˆx3~ãl-èwëßkè„xåvv5D>›»<f×àØ¸ö
ýJ`Bño1'ÌÓÈ ¨¯+X»ÊH<Ÿ`Ï Ñ‚="Œ‘ÉüQ†Ý]è±AΔÎëb×¾®©S'Ê…>•·KÁEX´8gs]ä5]Ä(™A©8‡/ËÐÔ ´øÐ!+‹04eåbê‡/ÊÅàg:qô›!_æ6}‰|†\Ž™–ªÁAú$$4gI—âÇR™ebÂ'?ÅÊ
È>'õQ4fÁulêw†™ ’Ù?wÄì>E(I
@…!‰FYñ*@¾a°;¶Ìn{hÓåKs|/zLÌ0)ì¤Ùž¸åÂ[ÛÞ@¦~imí Žß³}æúçÿ.v߸ÕËŠ“p–N˜²R È'–úfxA±kü®b%{V«·Q­ä/w¼AÿqW¹Æ¼ìj6Kùî’N·*ª¢òçüåɼ†Fƒ?Û×ëJz?S÷¦Í“†rZh›¾,t@ÓÄÛ‚vÒRÄ‹„šfrù0¼Clv¾ã"¸B‰Ø ù—Kq,Ò‘É™œ;5•Fæ×ã7ôpˆ„Q³Ýäê¤Z;Ïç®ò’ç1endstream
endobj
194 0 obj
693
endobj
195 0 obj<</Type/Page/Parent 137 0 R/Contents 196 0 R/Resources<</ProcSet[/PDF/Text]/Font<</F0 3 0 R/F8 7 0 R>>>>>>endobj
196 0 obj<</Length 197 0 R/Filter/FlateDecode>>stream
xÚíWmo0þž_qk)
¡MSuªÄÒ!%mšºÓ*å 'xÜ÷eSüÎ@š¦7mû0mNÂÜ=~îîñ!«PÇŸfSý½¨òTÞuëp dæ¡n@³uį½cÒs® .z7{äK¥šQ×[ê%€ÇC. Õ¶z8ÉŸ`×ézŽÝÐ4à÷TæÓÜAÓ
H0Õ§2Hr¬Ý¡}yí 
K7„[ž0Éxœ”á}߉Iæ­C;Íg†ÞÌÒb÷ì¾}NÀ¶Aƒ °ûr¯âßņÔWxø|ú
zž_úƒé¥±?O‡OCºI9¸Ê® - lÈ…äÎà‹•ÙñI}(‘®ÛÐÊó¾Æ4IJˆ•â…,¦/¼J ˜/Xkf·<Ô—ç¬(ð
õ]
WÐ÷vò8öJyo(n„ù/î_÷¿­Db&(E
Fµê$ä'£½·‹Z”ôQ˜?®TâÐn“ªnȦq4ª…t"Ÿ<K*ž„ªñho^°Å¼¤Žšþ!eä @÷/øj’ß>EÌ÷C:#9æRòèËçt¯ä¸µ¦–Pü4e6ôƒEM9ý³•ÝÍŽÆÔ÷±¿±ÈÒ•ºB¨ÂÂUWJ‘œÀÊËT=.hj»Uf´b¼Ñ{¬Xé)Á]ýœ›ë¡ó!7øJ,£.9P̶:-íS¹Ã–r*…ʶjm«ƒ5»À­Ð±»Ÿ¬a¡øÜ»KP×_Y5…U,›*Ášª©eBìÔûà3±ÿŒôÝ)M»‚¹cüøtÂ♪—ÇáÄnDg¨íŽE¬%2QveçŽnàœÚm²áΉƒ‘V!Q¨{ØTyvTú÷a`Ù;©M*u½ŽG“çËð L#†žÎ@ó¨‰WAáªÄôàÐÔKmÓóM CpŒÃ&B5ê)Ýöõà
ÕH'®G¡CÕlñæ v«²¯˜i™–;-5i¶ZXÜtâ@73 .tYHóx.+?ߊW endstream
endobj
197 0 obj
778
endobj
198 0 obj<</Type/Page/Parent 137 0 R/Contents 199 0 R/Resources<</ProcSet[/PDF/Text]/Font<</F0 3 0 R/F4 4 0 R/F5 5 0 R/F8 7 0 R/F9 8 0 R>>>>/Annots 50 0 R>>endobj
199 0 obj<</Length 200 0 R/Filter/FlateDecode>>stream
xÚ­XÛnÛ8}ÏWÌX ÅVŠHݬ½nêt$m6ñîS_h‰¶YÈ’KQI½_¿CRòE–?4K:œ™sæB*ß.xøK ¦àG®.ÞO/®n<H`:?t D£¦Ùåï?Mî&÷“OS¸þçáéæóã=8øûåò¯ÉøÃ—·øåaüqòåí/ŽY™Ö+^(e©€çÜ\8Οo§_/<pˆçެÕñtzwû´³Úü,Ȩø
ÐeΊÅ;Ȅċ##Æïdzá¹òÝ~<~ß׃‰KArxê¡ï&gb÷Ì®æ7'@b-²¹‘Ž3p£<”•zJ¥X+¸9×Á_Ý@ˆ]àÐØ.è‚简aL)w2¾æE¦µgåŒïcײ\H¶²k\˜.žj5k¶à ª#éHÃ1¦oG†#ñbTÃ^5=¼Œm2^¡ÝÏ@ ÐÕI£Ä Üpg5¤Û«ü@è-~øDK9ˆßC¬€!ff¿@ü(t½aübªã÷ˆ‚ƒøßI$­î´G‰½kS÷Èç\ò"åpÏŠšåï0ÉBf0É„eašä°pÑø¥«ï;ƇC#üDº8îoï' 6kóRBå‰
l­zM­^²õ:)Óþ®ž‹ÌMëuå¬q]eÖV¶õ½ßŽOmº(ŒÏGV).Ïh i-Ñ ÄJeqjɤe¡Ö);h
²&pȤš“›vÐø˜CtÌŠlØÜõ8K—ÖbÓí¼4}Xñ½¨ë
F• $+*Ìgc®ã8cŠÁ\–+cm/lÑŽ <Þ>TÚÚQø­îxæR[MôÆ.dÇk)P¬YnªbÅ”Û<o+g¼Ÿ˜ñ…(*xj‰êÎËZÂl£8T›"]ʲÿ™J—Rf¿‚÷=¤ ý8ÀÝåÍ#{Rop£ÑúÍÄÂÁÀÃ$Ét)OU-yÕ“ï{ŒãÍPmD=±ÇÖH.”Êy¯;_¤Ð‘—ó}! ‘ç:3æA1?ssÇ?ÞáòɱÀY¦ ¡ÂoÕº,*Ñè†éОE±@U$GíuÒµA0&¬Sm¦zÁ†Ò8-HçÏÜŽg¾é‚[“û;1“X­[ua
¸‚5—:oFÕÞs‰}›ç›nFoÊ</_t šS_æLÝ2¨¸#Ê׸ÕÒN¶Å_)&Õ¶ö:¬[ÝÛ~ƒ¥ÕД5FlbÑ»ÊjÅ1Šç”æ¨pµÆ¦²µfÈ„ÍÜGÈmd¹½×ªêÇa‚7<}ë·“ª˜dÔÜÿ—å5¯N+p¯H8Ò)n;§Ï
ÅÆb‰ç£ã!0I"×oÐ4 ¸×ìÐæ\ÑÎÃÐÃ-<'òu°&Cà^ v³Ê°ŽÍƒOuî r+ÒŽŸ®oo1UØè‹aº4ÑÃú<º{.]‹î¡kIƉM_8„Æ}4˼”?Œf¬ËòLš{6Mƒ>I3òl;:rHBzxNq{þa4Ã@ŸqÏ£i°gÓ4è“4bH&Ô¡axHòs­Öµú¡,ýQg²4سYôI–”Øã
#ä™ò ÏmNÈ"í’õôFLÛÓÏH7;Õoj¾~èÓÃcN7sßÕ¬KÜ­_Z”„g-=[ƒ>¥ÁC¯)o¬sÜlü^EL•ïäh÷$þ€OzßfqøÞ™ç]„ h¼÷ؼÝÐ;HÚüZÎ:@¿XqÕý@½
~Xë6”
‹µÊ m6,Úfc‡Þfƒ6æ¢3RqšæØf»4D̓$³ŠRŸ
ÿ®ÅѱL'ânvÍÀ5¯ƒ¬
kÜh`ÐVƒºÕ n[4á«EgÞ^×êÕbLk«ÔןQ…Tv@ýÕ×½^y~ÒŠþjáè¹ugÀ=ewu3jF #WÿGÊèÜc zΰ{ð<&tŽeŽ]ã4‹†þ‘Äz.{vi$øûâQcôÏendstream
endobj
200 0 obj
1524
endobj
201 0 obj<</Type/Page/Parent 137 0 R/Contents 202 0 R/Resources<</ProcSet[/PDF/Text]/Font<</F4 4 0 R/F8 7 0 R>>>>>>endobj
202 0 obj<</Length 203 0 R/Filter/FlateDecode>>stream
xÚ¥X]s›8}ϯÐãîLq‘_ûÒ¤Ù¦ÓlíNŸ –me1¢’¦¿¾Wص²²;ÉÄŽtº‡{ÎåûF!ü`%ê·Ü_¼Y]¼¾¦c´Ú 8\¤(Éb´ZÿAR4þsuAé‚  Y$jüªo*öC
ã0ZP4 ‡è/t+yÝ¡–×ÛŠ-_³µ‚…(À\Z‹þîwÐÛÕE¸ao‡?_þF4SÛIb¸ƒÞBDà~’¡å6'|Àš}¹À8OÑ€&”,ÂßÐ@ˆ¡!&&2&É¢¡|÷í kEÕw\ÔG.Ì”ü§¨»¢BE½FLv¼„äaâ5еAÃdÀër·8CMàâúæ8‡?N
4ÖlÇ(ÐhCÁ} €$‹LSÑ€äù)7ûb úèëµþ|ž×¢—lǶL¶hˇºCÛt¯Ðè:±…$ßîà_ÅV'+gÑrEZ‹ÄF¯mŠ-ƒ¥æ®ð凢³p›ö ˜B˜ž™¤±Þ™¤Ñs™ç† ”( ƒ(´2é¦n!C–;ƺɢº¨Ĩ`¨eM!‹NHÔªíDÝÌ#繉3ì]eëËAÏr 7¸IO¹y/¶GN ?³RнØêl˜báý8‡ŠMÇ$ÚðŠY02»w*š@µæY9è$‰U€N:5ÖÄètj´¡óˆé¤yhÈÌ‚ãS2?°BUÌÛõ–M“º
b0x tɶ› õ‹*U'J±úF¦hý4Ï*M|–UƒõeÕ gY±Þ2&Àª¥‚ *ØZg€ŽL陑8G ”‚ñ½’/OÅ¢pŸÌSø
ÖWø
zNø)‰‡§D@±Hd‡\÷EuÍÌÉ='X{ªžÐ€hÏÖ¼˜È§Ó(%˜ŒgáY¡2X_¡2è9¡Šò|qBE,¡ú¨6~;œTV.ÜÔMr\'ãY†6"„Ó}r‡åŠ,¿ 0Xß 0è¹ ˆ²pÌO„û)-°‚Õ3èQO©,ßÊbß"ð9ðlµr~ï yÎòEé¡ÎÏëÜ#èôXçAÇãAA¥G±4—RHm_y¯a¨‘cyÛoÏ;x þ‡²ÁúæºAÏæ:1>J€Kï>±mÑñv–^+ç;ÏÃ=ïà!ÌÇ"8σÆzó Ñs<À&(È µdðS¿¿
g¶öcUÖD
ªÆ*S}È)´\¦œÆ Óqe(Ðã(@ØMÉCï¢0Xߢ0è¹¢ q:’ÂG-áû,9ƒVçTöž9µI ãݧ\Åq•àìA)‚²忼rm«^ÖÝ7ª…„n걞0'×ýýzš#<æÚYa°¾àç<ÁØ”PDApcKp?÷"×Eɾ6“Eghˆ)2°é7 8ÏFãq¶â Ö·â z®âpí@
[Ús ÏqÉ2«à¾ñu·Ón«bõ¾zº+œæ£¼ž­(ƒõ­(ƒž«(œ“ž€¨$–¨,Mצú]Ç+–R쵕`ÆNξe)E¥ú¿Ók:¡©·Î¬÷S×èÙ§NÒ!÷˜Ä’˜•,ž–¼+w®ã¦Ü5Tyàñ
]±²O©FTÁöM÷4ÁÔ¥÷Bq˜ú— ¦/)Lå’6=ÍH-ÍXõû»Š¹8D™=°zhowðu­ßðA«8¯ÔÎ%ó<eþÞ={‰uÏ\Î={
’’Z¦®„DëǤ¦@¿¦ÏŽcÓÆ°êÜk&Çž¼Ä°'.¿v=Ï–æÏƒ|7åÖÍà “ú{tú‹NÝ4â(§ýFV©»ÕScŸW« Ú†•|ÃKÓyZ4¸wþ¿-š·N^Ò¬“™^ýõu6ìÇ 8Ì”èhÑå×Û%økpQú°¿b-ßÖ꣔¼­Z`ÖÃ"ªAà6œ©VH_ÚÚn©W¢ëá%PðÏÅ/D…Ä{endstream
endobj
203 0 obj
1494
endobj
204 0 obj<</Type/Page/Parent 137 0 R/Contents 205 0 R/Resources<</ProcSet[/PDF/Text]/Font<</F0 3 0 R/F4 4 0 R/F8 7 0 R/F9 8 0 R>>>>/Annots 55 0 R>>endobj
205 0 obj<</Length 206 0 R/Filter/FlateDecode>>stream
xÚÅ—MoâH†ïüŠRNŒ·ÝþifQ‚–æ)cðÆ_k7ÉäßOu·!lâ9E‘p\~«»ë©êjûÿÿ¸&X„Io¸ì
ÆålCwÁñlX®û–G5Ës¿,ÿëQª›è…ÆpŸ—È—3VŒ²8+ÄSbX:UÉ-˜·@oÁƒªÄÓïËž¡8éñgþ¨'æq=Ý96ññ§`°hÐú¦îWZ5Ó51ñݪÔ&5u£¦ÆHU|ŽOe„žfù¤5ÂYô‹ÅçÏÀ2»„gûºÓ5<©ížT·†G|*ÂóM Ïnï3ßC”²¦ðLaEቚ0m€%<>PÕâ&í aA­Ä ¡ÎÓ‘ˆÔv&"Õ­Dˆ˜RqˆIDÖò?ÅšÕ
šXÊÉ€¿ ÜíÓç7ÈEA”ðÔMïáøóôEx \º¬‚tÍÖ5—ѦÓ)<>>Âýý¥‰>y¤Aqâ£ëºpôtÆ‹òogmûô°¹¨õpµÒª¨¯‰k¥V¬ßÕÖ¶iâ(5 V ëE„µÚ¦Ö¯»ˆ³ óÃdhývf¶ý8ŸÏì혮3«ÖÇéèÌê(íý™ÙUâs³‡æûË¡ýÊ&×sEmçØ-±^K–JôŠZeKÉ«ñ.?¤‹RKõBjPL—Û”®$/XYFYzÖ+îŠè…Z™³0ÚD!/z.Áÿ¸w|@Çr;÷Q¥íÚ5”º­kP“ª>J
O£¤á˜˜g¯£lŸòOâB¼ÎÝTi;s‘êV.†]ípb"»‘˘±õç`Áþ.z^',JÛR·a±<§j3ÄA,~#–gù'añ ѯ»a‘ÚÎX¤º–]½i-w ¦“éwào9ƒMVÀèçló ä¬€M³¢TpF\?Èó8
Ž­gð’®uQ+¤Ï)†¾®î} ®¸ÇlŽ!ÜÃÕ\¯0º¢ÔtÕ>
µ”CÈ‹(ʼn´5Ëžä)W–JÁw—²(…@”à}¹x°Š™È Lj׬äQ*×u¦oõ³ƒâï™6^çK¼2â­Ô^ÿÙëðra"Vš23±è(Ýâ?ÏÂ,ne'–Úîø.$‰Èõ³_œ¥â<)¨HqDVa­ð¥“$Y‚ðÄlsn2›Á: ÷Br-&Ä»®Z&á.` WêdçªÀM›ê6*Úa¦+ŽOu«¯³ ´z‰,š¦{ê?Ìî0­ù
¦ï=ìÕ´¯£6s–!vÕû:.õuêMÑ®êk
Ô;Dlükúš"Á)5ëë
Ô[§ë^„\lè+¦óñA»þ×yÖ¦p(UíšQ3÷,ýœO a|—­!
µÅ0G"17q¾¾¹VR>,X¦ørl ã,|î¶S=Ÿú‹éËCì•‚ÅÇ¢À—/ßqg‰‹7쀉ø<˜Œµz*O7Rk5yŠ‹/äˆià×¼9¤¹lÚØÑNrÓßqž ‚t¯—A²
ô¬Øðø*¯%Àø˜=ìËdu£ÃbŸçYÁå¾C{}ãàÿ/‘øÀz‰Ù/ߦêK`0ö*êß} 8~õ=\µÁrƒ_pÇÊh›Š Ëyõ‚«)/Í5ö󃺢§Hy8xÿíý2Ž>éendstream
endobj
206 0 obj
1285
endobj
207 0 obj<</Type/Page/Parent 137 0 R/Contents 208 0 R/Resources<</ProcSet[/PDF/Text]/Font<</F0 3 0 R/F4 4 0 R/F8 7 0 R>>>>>>endobj
208 0 obj<</Length 209 0 R/Filter/FlateDecode>>stream
xÚ-Í0„ï}Š=ÂJ WPI<˜¨Ô
jø³y}[ »É$³óí|WŸš-:”0tHµC€UúB£XiMÝ{‡¡Í-’Û6ûèL°g,ÕP+ÞýÉR”°È¹,¾%1xØÅx_B#ëF(¼ÁÑ“#źÜ7pzÝ3¸ö³P/œÅ$ëÞH¡ä8Ë¡7¬³!Nè¹ò<cúŬF ëÖGO¾@*[1™À…¡úƒ¥@endstream
endobj
209 0 obj
185
endobj
210 0 obj<</Type/Page/Parent 137 0 R/Contents 211 0 R/Resources<</ProcSet[/PDF/Text]/Font<</F0 3 0 R/F4 4 0 R/F6 6 0 R/F8 7 0 R/F9 8 0 R>>>>>>endobj
211 0 obj<</Length 212 0 R/Filter/FlateDecode>>stream
xÚ­–]oÚ0†ïùç’J…@ ÀnWº©Òª15ÛU¥ÉØ'‰Y§¶3©ÿ~Ç$í
d \$ñk?öñùzLaB¿),}˜-€§ƒÁÀûôü !,–+ÄðÖR#·JK4WÁŽ4 ˜NKÍÈ_}§òÐry¥˜W
Zx4•’ F0<FQ$¨«,”Q¡™•*– x¸¸ƒP&h@£‘!FãCäèýŠoP£¶-hVØ3+yIt3dèÞúðdfQ‡ŒcôñÅXLἉéøZæ¶/ÏEÓé¤Q]Ò‹³¬e23°Ù¬+{†J2C®÷›i„F{[™5[³T£CÎ2ŽÉá”áõ±*ÉÛÏí}†$=Ñ8Ëì‘’ì—¦$>ÿ–œÁ¹½†×§™ß1Ó(€”𹍂§áúñ«yºêŠ,cËø/ÌD3³9‡ 0ýH<’£V׸ý|O~¦"ÍÒžÁ0U-”\%‰Ì¢ýµ~!G/çô–FiºHêe=Ó5˜ç˜Û6'wí‘ÀDzŒ¯“ñsâEãŽr̉—}´ Êkô§¼
Z)û.Ç©pÿõöûæ\ KN`Y¬ÇéÑ`[Õp*Æéδ«ÓÐm°ÕÅÉ /C…TL'Ÿ£L¨43'Q0·Öe»I•8®
'‘¥9…×ߊÕõ¯cô>ýEw!T·žˆôEJ=JÙ¡t£þf”ÏTt¯&Ûó“æ¶e ÔZéZaM®ÈY„5Ú§2¹RÉ9©¢¦Ú÷;°SÛ’[±V‡¬›Ú6w¾œWÔâÒ˜?sî‚Á·Á¥"Ðendstream
endobj
212 0 obj
611
endobj
213 0 obj<</Type/Page/Parent 137 0 R/Contents 214 0 R/Resources<</ProcSet[/PDF/Text]/Font<</F8 7 0 R>>>>>>endobj
214 0 obj<</Length 215 0 R/Filter/FlateDecode>>stream
xÚ+ä2T0BCc3JÎår
áÒw³P04TIS045Ó3T072PIÑPp
VðÌ+I-JKLNUpI-ÎLÏQÉE™%™ùyš!Y\º=ºPMF& A#S=c°€©‚KfQjrI~Qfj1HÎ5„+ &#´endstream
endobj
215 0 obj
122
endobj
216 0 obj<</Type/Page/Parent 137 0 R/Contents 217 0 R/Resources<</ProcSet[/PDF/Text]/Font<</F4 4 0 R/F6 6 0 R/F8 7 0 R/F9 8 0 R>>>>>>endobj
217 0 obj<</Length 218 0 R/Filter/FlateDecode>>stream
•QsÚ0 ÇßùH›@¡{lÓЦ­wIïöê:jêáØÌ6eìÓW —îÈq$?é/KʯA §ô‰ašÀh¢\–ƒ“Ù7HN¡|"Ëdzeõ宕qŽÛí×ògçOwÃÑ8J:—(†mãvˆã½G2&­Gº³Œ÷Š7ŒGû?ƒ0ÍjíÑ‚âº^ó£÷œá[÷·\)TýÀu%u
Æ‚Eò¥½©¸çÐ‹àŸ¹&ÕÒ§ ¼lÂå
Ã
ß¶*šµ–‚{i´Aa4*xD¿AÔà7VÖÔ–7.Ρ•ü¿Ô}B“3b‰>¤ŠÒíTiJߨeºè}Kt1FI4Þ5E½
ôÅE‘æy †ª!è¼
ÏuÅm©©žH|®é»éÒ¡ßÔ=mJ5¬è•’@B=Üå?€Y©}[×bë<6fV¤'¬š±âþîÉwкyV¸3©J˵{–f¼Fh7lx=ïçÝàF¡÷CÆÅ²MôÚòÕ³æû‰ £Yú 6#UB{kÔ±üÛÏðwµ…[óx >ÏÊY?¼ë,šÈt-5R7RW”Ü-af¬r;{è´#Î0/î?"vãÀÕ¡ãÜÛškù§3ØsvÕÏž“òCY¯86AÔ"_dý¬ÅZµË©’EXp© ûýá³P’Ì8_+WþoªèºaéÅâ2´ H/@jÛKE3À*ƒS[ZÚÖt:¡é==ï·ä»Wðx:ŽÎi‰’!9kdåàûà°N#Çendstream
endobj
218 0 obj
597
endobj
219 0 obj<</Type/Page/Parent 137 0 R/Contents 220 0 R/Resources<</ProcSet[/PDF/Text]/Font<</F8 7 0 R>>>>>>endobj
220 0 obj<</Length 221 0 R/Filter/FlateDecode>>stream
xÚ+ä2T0BCc3JÎår
áÒw³P04TIS045Ó3T072PIÑPp
VðÌ+I-JKLNUpI-ÎLÏQÉE™%™ùyš!Y\º=ºPMFf Acc=#°€£‚{N~qqbQ%HÂ5„+ ¹"—endstream
endobj
221 0 obj
119
endobj
222 0 obj<</Type/Page/Parent 137 0 R/Contents 223 0 R/Resources<</ProcSet[/PDF/Text]/Font<</F4 4 0 R/F5 5 0 R/F8 7 0 R/F9 8 0 R>>>>/Annots 94 0 R>>endobj
223 0 obj<</Length 224 0 R/Filter/FlateDecode>>stream
xÚÍ›QsÜ(€ßý+ôxû°@Àc'[©ÚT|±÷ÌeG{3£9Í8¹üû£¡[€lü\FI•=¸á³Ô
MÓ´ÿsŪÚþg•âUÓV›ÝÕ»»«7MÅëêî¡bÒT­ÕÝý?îÖÿÚvÕðP½ö§n:þv÷÷Õ‡»«zU[|aðåëШÚF®tµ«ôŠãçmu ìY÷ñ±zóQVŒÁoƒa­íj«^Åä®rß¾—"åv3:qiáö«Åÿc¯¾·})« ÎW­}qÉWøâo>
T£µcË+=®2šŒ ;;–.c$ÊõéÞZ½è7ëS?ì*•± ½–tW›•˜tçø¢ 1V¯„×/i 9ZYÅ$/&ÒíÏã©Ûe&roÕß°éi*;9Ѿ|ïÆï}÷p­Ì"_и4­Õ&jÜ7‚Æ¥Q¶í4Þ4NVÃ|N@(GÔõ°yÚÙiú:/FX : 1Q;·?»°ÚYÖíÊÖLnמ¼Cp²RÕÞ=ò¼“%˜4v&4'%Ê×î¡»ý¦s;0+µp_Û&­lƒ‹õ—\¬”ÊûE^t±DÔÜj,!¢Iïÿº¹Í˜$Œ¶WÖ`”˜…rdÑJ˜œuÛ^Ö,%­&8g߈\…[¦N×%çL][¯’pPŒ¤/§oݘQv¾|pC9ÂHÙ´ø"V@“wLÙ¯è*Üç—\sK¼)8
DÙ7—)ËKã“Çýzû:*¾«¬Kž±P`kò9Ëó8²0ÛëÆ»V7']ãES ïc›²A¢Ñ>™÷Dzÿm=®7§ÜÜÂÀhtÀÝv¹½6 «vÙ„Dö±ßzƒòzKèu#*nU$Lí|±Ó†oà{ÙÔ0Ì;bkºœñ¢ÁVE\ØÝ3A¡aú÷w}NáÑxKS Æ„FwÆdˆ!©Õôâ„ĈÌOˆhøÎ1µuŸ)LGO7M+ÿWM‡’Ñ•r{‚·‹kDFWÚo`t^2: …r„ýµï7Ã}—Qk“ðl Ф<ê€ÀsÌA,Ò;‡S$v@dÞìÑpkv»ºå üû5~ à­E+Â1Æ7Bl"ZéO
M16!Žu°mÊA1’þ\ïŸÖ]ÖE·ŽñzzÈÉE¯¢'’YÌVÙ”.™ ¼j\#RºD•—NŽDÑ Š„‚bÇùüéó‡LˆÆÂBî„„ògªn—•¨‚ck” œ«pȱ5𑦼›!‰ 5G¡a»~×­N?Óɱ¹°ÆJ*²»gØð]#R—´á7eß$8Æñ…r„9m†ýw§"yá¨H–,cá çÑ’eœöFQZ´ÈÑ×M8(FÒ— WO0VCF'¡¡œÏv¦ä%ÏÑ{ctØŸ|#è½1†ö'YÐ;qX]ÏA(GÔÍp<ÝnÆþM´Õ1²E ©1Ç~ŸI"„Dç@ì€Àëîè1;EbŒ;˜ç[é¯[Œ:ï—;‘kòK¾üR£Ñ+É¢ã&cÄK@(w¨››ëÜ™/Œ…#ˆš“¨ƒ?-ºMz¥Ð^fÛ,iX±°9úF¤aÅis”EÏO$ÆÕÄMtL°|20jÖs˜íXþ{êöG«âcî §c¢†Ý8%ªèéNCnM…±vM1þŒ„Oñp ³K\¥0êÀg9ö÷áºà•¥yd߈¼²Kª»9Ó–¼2rœ J8(FÒíæ[wÿ´Ífvš¸uºŒ(GàûaÿÐ?>ë‚ 80qÀÏ$Tê`fÇz^_àúкáxïÑB-…0mÙ™"‰ xï…r„m¶ëã±;B”÷°„ ¯¤¡†ûC¬{ ׈4ä¶`ÔPÑ" .áTŠB9Â6O‡ãý¤Ñ®.|›Ïꂊìöc׈TÄkRPSRr˜]è*y¹GÍ qÑ{yƳÜø‚²üç.¸Áª‘¿z ˜„ñ„æ¥H
0ùœ«­SŠ©"½~K;ê¯X!£ÅUT
á/Ý?pÅ¢xÿ@DVCßéå„z{8Ügó…ÜÙ"v äÍ8œ†Í°`^õ²Æ(*¿ª"|#¼ÅÂQL'Ç]ü&#éŒkeB1®­WJX(GÖ»qøqì÷¹È4 È€DF¤ŠÎ}‘ñ.tW´˜lB.Ò7"I\"¥\$Q¼Fc
ŠÅ¹ÖB«!ŽNH(÷ aÜåY †oç¯F¦äˆ‹ªÅBÊ;X›ßƒyc‰Í7ÂÌÖ®ˆ3Ò™DòG®åå;çÄ6Á$l% Nl«`»h4œþ`u¥,ßh×w×Lÿ³B¦Ÿó¨àÆ7¢Õű EÓ†Äñk€ÏËl&Ò9+ QPù¡RÊ‘uV&,‚ø¬¸I‘ÔA…’3—¼pBœ™‚áXT³ã‘ᘠء”w$ŽW-›×ìL¤s ‡(ÆÜˆY(GÖ×õ1ŸmŒÓ<ˆqÔA¬ÄÌhKHMW×Q â‘éjF1H)9A¯Ü˜ƒbv~ ‚(VKÐuÌB9²¾®ä¶µ0Úûl–²¨›%t9”i,`gã…šZ_C–ó`9¦q[S»E9ÅQÍV.TÆ{m«”†r=eø ±c@ì(ìZJpÔA?/wä-LEµ^¾L ŠDtÉdÈQIJ8(FÒŸý>S9†¥¦í¤OX(GVùR&"ÀÞöŒGx½îvÙd¢HxúÙ»R‡é/zô+Ú¾­Chã‘í[F¡9ZLÐÄöíT}5~Ï–µŠè¡‡ëŠ„¦E`}îŽÇlJ<"Z1§Q¾ÛÚs1ΰ¹Ê¨âÓË_¼üy¾Ÿ5¾4’Pþó 9.Ö`}ŽÌç¸ÖÖsš—"庻Íiû©œB/ºŸçë“á¾Þû(ðøuTDR;¯ã–ÿÛœgšÆ¹õפí`'ûøÓÍ%³Œ@ «»BÂÂøò žÅˆWþ‚Á`ÉÛlroBØÙÜšœ"æ®w>’RËœy%¥i¬^—ÒiñŠÆ‘·Ù¤Ü4ЗPè„â¥ÄÙŒÃþçŽÒÇͲÔå^°žþRSãì‘­û»K<°V.ºŸ’âÕuwì÷UT€áÖ×Ö£ÿ®ü¥EjüçÕÿý‹Ôyendstream
endobj
224 0 obj
2392
endobj
225 0 obj<</Type/Page/Parent 137 0 R/Contents 226 0 R/Resources<</ProcSet[/PDF/Text]/Font<</F8 7 0 R>>>>>>endobj
226 0 obj<</Length 227 0 R/Filter/FlateDecode>>stream
xÚ+ä2T0BCc3JÎår
áÒw³P04TIS045Ó3T072PIÑPp
VðÌ+I-JKLNUpI-ÎLÏQÉE™%™ùyš!Y\º=ºPM™™ A×®@.¯µendstream
endobj
227 0 obj
99
endobj
228 0 obj<</Count 7/First 229 0 R/Last 265 0 R>>endobj
229 0 obj<</Parent 228 0 R/Title(Table of Contents)/Dest[222 0 R/XYZ null 756 null]/Next 230 0 R>>endobj
230 0 obj<</Parent 228 0 R/Count -3/First 231 0 R/Last 233 0 R/Title(1 Scope)/Dest[144 0 R/XYZ null 724 null]/Prev 229 0 R/Next 234 0 R>>endobj
231 0 obj<</Parent 230 0 R/Title(1.1 Identification)/Dest[144 0 R/XYZ null 700 null]/Next 232 0 R>>endobj
232 0 obj<</Parent 230 0 R/Title(1.2 System Overview)/Dest[144 0 R/XYZ null 627 null]/Prev 231 0 R/Next 233 0 R>>endobj
233 0 obj<</Parent 230 0 R/Title(1.3 Document Overview)/Dest[144 0 R/XYZ null 421 null]/Prev 232 0 R>>endobj
234 0 obj<</Parent 228 0 R/Count -2/First 235 0 R/Last 236 0 R/Title(2 References)/Dest[150 0 R/XYZ null 724 null]/Prev 230 0 R/Next 237 0 R>>endobj
235 0 obj<</Parent 234 0 R/Title(2.1 CUPS Documentation)/Dest[150 0 R/XYZ null 700 null]/Next 236 0 R>>endobj
236 0 obj<</Parent 234 0 R/Title(2.2 Other Documents)/Dest[150 0 R/XYZ null 495 null]/Prev 235 0 R>>endobj
237 0 obj<</Parent 228 0 R/Count -6/First 238 0 R/Last 249 0 R/Title(3 Internal Interfaces)/Dest[156 0 R/XYZ null 724 null]/Prev 234 0 R/Next 253 0 R>>endobj
238 0 obj<</Parent 237 0 R/Count -2/First 239 0 R/Last 240 0 R/Title(3.1 Character Set Files)/Dest[156 0 R/XYZ null 700 null]/Next 241 0 R>>endobj
239 0 obj<</Parent 238 0 R/Title(3.1.1 8-Bit Character Set Files)/Dest[156 0 R/XYZ null 600 null]/Next 240 0 R>>endobj
240 0 obj<</Parent 238 0 R/Title(3.1.2 Unicode Character Set Files)/Dest[156 0 R/XYZ null 221 null]/Prev 239 0 R>>endobj
241 0 obj<</Parent 237 0 R/Title(3.2 Language Files)/Dest[159 0 R/XYZ null 552 null]/Prev 238 0 R/Next 242 0 R>>endobj
242 0 obj<</Parent 237 0 R/Count -2/First 243 0 R/Last 244 0 R/Title(3.3 MIME Files)/Dest[162 0 R/XYZ null 724 null]/Prev 241 0 R/Next 245 0 R>>endobj
243 0 obj<</Parent 242 0 R/Title(3.3.1 mime.types)/Dest[162 0 R/XYZ null 677 null]/Next 244 0 R>>endobj
244 0 obj<</Parent 242 0 R/Title(3.3.2 mime.convs)/Dest[162 0 R/XYZ null 318 null]/Prev 243 0 R>>endobj
245 0 obj<</Parent 237 0 R/Title(3.4 Option Files)/Dest[162 0 R/XYZ null 172 null]/Prev 242 0 R/Next 246 0 R>>endobj
246 0 obj<</Parent 237 0 R/Count -2/First 247 0 R/Last 248 0 R/Title(3.5 PostScript Printer Description Files)/Dest[165 0 R/XYZ null 573 null]/Prev 245 0 R/Next 249 0 R>>endobj
247 0 obj<</Parent 246 0 R/Title(3.5.1 PPD Specification)/Dest[165 0 R/XYZ null 499 null]/Next 248 0 R>>endobj
248 0 obj<</Parent 246 0 R/Title(3.5.2 CUPS Extensions to PPD Files)/Dest[165 0 R/XYZ null 430 null]/Prev 247 0 R>>endobj
249 0 obj<</Parent 237 0 R/Count -3/First 250 0 R/Last 252 0 R/Title(3.6 Scheduler Configuration Files)/Dest[168 0 R/XYZ null 541 null]/Prev 246 0 R>>endobj
250 0 obj<</Parent 249 0 R/Title(3.6.1 classes.conf)/Dest[168 0 R/XYZ null 389 null]/Next 251 0 R>>endobj
251 0 obj<</Parent 249 0 R/Title(3.6.2 cupsd.conf)/Dest[171 0 R/XYZ null 647 null]/Prev 250 0 R/Next 252 0 R>>endobj
252 0 obj<</Parent 249 0 R/Title(3.6.3 printers.conf)/Dest[177 0 R/XYZ null 159 null]/Prev 251 0 R>>endobj
253 0 obj<</Parent 228 0 R/Count -9/First 254 0 R/Last 263 0 R/Title(4 External Interfaces)/Dest[186 0 R/XYZ null 724 null]/Prev 237 0 R/Next 264 0 R>>endobj
254 0 obj<</Parent 253 0 R/Title(4.1 AppSocket Protocol)/Dest[186 0 R/XYZ null 700 null]/Next 255 0 R>>endobj
255 0 obj<</Parent 253 0 R/Title(4.2 CUPS Browsing Protocol)/Dest[186 0 R/XYZ null 574 null]/Prev 254 0 R/Next 256 0 R>>endobj
256 0 obj<</Parent 253 0 R/Count -1/First 257 0 R/Last 257 0 R/Title(4.3 CUPS Form File)/Dest[189 0 R/XYZ null 647 null]/Prev 255 0 R/Next 258 0 R>>endobj
257 0 obj<</Parent 256 0 R/Title(4.3.1 CUPS Form DTD)/Dest[189 0 R/XYZ null 547 null]>>endobj
258 0 obj<</Parent 253 0 R/Title(4.4 CUPS PostScript File)/Dest[198 0 R/XYZ null 675 null]/Prev 256 0 R/Next 259 0 R>>endobj
259 0 obj<</Parent 253 0 R/Title(4.5 CUPS Raster File)/Dest[198 0 R/XYZ null 575 null]/Prev 258 0 R/Next 260 0 R>>endobj
260 0 obj<</Parent 253 0 R/Title(4.6 CUPS Raw Files)/Dest[204 0 R/XYZ null 379 null]/Prev 259 0 R/Next 261 0 R>>endobj
261 0 obj<</Parent 253 0 R/Title(4.7 Internet Printing Protocol)/Dest[204 0 R/XYZ null 306 null]/Prev 260 0 R/Next 262 0 R>>endobj
262 0 obj<</Parent 253 0 R/Title(4.8 Line Printer Daemon Protocol)/Dest[204 0 R/XYZ null 233 null]/Prev 261 0 R/Next 263 0 R>>endobj
263 0 obj<</Parent 253 0 R/Title(4.9 Server Message Block Protocol)/Dest[204 0 R/XYZ null 147 null]/Prev 262 0 R>>endobj
264 0 obj<</Parent 228 0 R/Title(5 Directories)/Dest[210 0 R/XYZ null 724 null]/Prev 253 0 R/Next 265 0 R>>endobj
265 0 obj<</Parent 228 0 R/Count -2/First 266 0 R/Last 267 0 R/Title(A Glossary)/Dest[216 0 R/XYZ null 724 null]/Prev 264 0 R>>endobj
266 0 obj<</Parent 265 0 R/Title(A.1 Terms)/Dest[216 0 R/XYZ null 700 null]/Next 267 0 R>>endobj
267 0 obj<</Parent 265 0 R/Title(A.2 Acronyms)/Dest[216 0 R/XYZ null 521 null]/Prev 266 0 R>>endobj
268 0 obj<</Type/Catalog/Pages 137 0 R/Names 95 0 R/PageLayout/SinglePage/Outlines 228 0 R/OpenAction[144 0 R/XYZ null null null]/PageMode/UseOutlines/PageLabels<</Nums[0<</P(title)>>1<</P(eltit)>>2<</S/r>>4<</S/D>>]>>>>endobj
xref
0 269
0000000000 65535 f
0000000015 00000 n
0000000227 00000 n
0000001793 00000 n
0000001867 00000 n
0000001945 00000 n
0000002022 00000 n
0000002101 00000 n
0000002177 00000 n
0000002258 00000 n
0000002342 00000 n
0000002401 00000 n
0000002453 00000 n
0000002538 00000 n
0000002590 00000 n
0000002674 00000 n
0000002705 00000 n
0000002806 00000 n
0000002891 00000 n
0000002992 00000 n
0000003077 00000 n
0000003178 00000 n
0000003263 00000 n
0000003350 00000 n
0000003435 00000 n
0000003522 00000 n
0000003607 00000 n
0000003673 00000 n
0000003758 00000 n
0000003824 00000 n
0000003909 00000 n
0000003975 00000 n
0000004060 00000 n
0000004126 00000 n
0000004211 00000 n
0000004277 00000 n
0000004362 00000 n
0000004428 00000 n
0000004513 00000 n
0000004607 00000 n
0000004708 00000 n
0000004793 00000 n
0000004894 00000 n
0000004979 00000 n
0000005080 00000 n
0000005164 00000 n
0000005202 00000 n
0000005289 00000 n
0000005374 00000 n
0000005461 00000 n
0000005546 00000 n
0000005577 00000 n
0000005643 00000 n
0000005728 00000 n
0000005784 00000 n
0000005866 00000 n
0000005897 00000 n
0000006001 00000 n
0000006106 00000 n
0000006211 00000 n
0000006316 00000 n
0000006420 00000 n
0000006525 00000 n
0000006630 00000 n
0000006734 00000 n
0000006839 00000 n
0000006944 00000 n
0000007049 00000 n
0000007154 00000 n
0000007259 00000 n
0000007364 00000 n
0000007469 00000 n
0000007574 00000 n
0000007679 00000 n
0000007784 00000 n
0000007889 00000 n
0000007994 00000 n
0000008099 00000 n
0000008204 00000 n
0000008309 00000 n
0000008413 00000 n
0000008518 00000 n
0000008623 00000 n
0000008728 00000 n
0000008833 00000 n
0000008938 00000 n
0000009043 00000 n
0000009148 00000 n
0000009253 00000 n
0000009358 00000 n
0000009463 00000 n
0000009567 00000 n
0000009671 00000 n
0000009776 00000 n
0000009881 00000 n
0000010164 00000 n
0000010196 00000 n
0000010228 00000 n
0000010758 00000 n
0000010806 00000 n
0000010854 00000 n
0000010903 00000 n
0000010952 00000 n
0000011001 00000 n
0000011050 00000 n
0000011099 00000 n
0000011148 00000 n
0000011197 00000 n
0000011246 00000 n
0000011295 00000 n
0000011344 00000 n
0000011393 00000 n
0000011442 00000 n
0000011491 00000 n
0000011540 00000 n
0000011589 00000 n
0000011638 00000 n
0000011687 00000 n
0000011736 00000 n
0000011785 00000 n
0000011834 00000 n
0000011883 00000 n
0000011932 00000 n
0000011981 00000 n
0000012030 00000 n
0000012079 00000 n
0000012128 00000 n
0000012177 00000 n
0000012226 00000 n
0000012275 00000 n
0000012324 00000 n
0000012373 00000 n
0000012422 00000 n
0000012471 00000 n
0000012520 00000 n
0000012569 00000 n
0000012618 00000 n
0000012667 00000 n
0000012976 00000 n
0000013128 00000 n
0000019489 00000 n
0000019511 00000 n
0000019606 00000 n
0000019708 00000 n
0000019728 00000 n
0000019883 00000 n
0000020911 00000 n
+1429
Ver Arquivo
Diferenças do arquivo suprimidas por serem muito extensas Carregar Diff
Arquivo binário não exibido.

Depois

Largura:  |  Altura:  |  Tamanho: 259 B

Arquivo binário não exibido.

Depois

Largura:  |  Altura:  |  Tamanho: 242 B

Arquivo binário não exibido.

Depois

Largura:  |  Altura:  |  Tamanho: 252 B

Arquivo binário não exibido.

Depois

Largura:  |  Altura:  |  Tamanho: 248 B

Arquivo binário não exibido.

Depois

Largura:  |  Altura:  |  Tamanho: 255 B

Arquivo binário não exibido.

Depois

Largura:  |  Altura:  |  Tamanho: 210 B

Arquivo binário não exibido.

Depois

Largura:  |  Altura:  |  Tamanho: 591 B

Arquivo binário não exibido.

Depois

Largura:  |  Altura:  |  Tamanho: 296 B

Arquivo binário não exibido.

Depois

Largura:  |  Altura:  |  Tamanho: 224 B

Arquivo binário não exibido.

Depois

Largura:  |  Altura:  |  Tamanho: 1.2 KiB

Arquivo binário não exibido.

Depois

Largura:  |  Altura:  |  Tamanho: 11 KiB

Arquivo binário não exibido.

Depois

Largura:  |  Altura:  |  Tamanho: 7.3 KiB

Arquivo binário não exibido.

Depois

Largura:  |  Altura:  |  Tamanho: 3.1 KiB

Arquivo binário não exibido.

Depois

Largura:  |  Altura:  |  Tamanho: 1.2 KiB

Arquivo binário não exibido.

Depois

Largura:  |  Altura:  |  Tamanho: 259 B

Arquivo binário não exibido.

Depois

Largura:  |  Altura:  |  Tamanho: 267 B

Arquivo binário não exibido.

Depois

Largura:  |  Altura:  |  Tamanho: 926 B

Arquivo binário não exibido.

Depois

Largura:  |  Altura:  |  Tamanho: 228 B

Arquivo binário não exibido.

Depois

Largura:  |  Altura:  |  Tamanho: 110 B

Arquivo binário não exibido.

Depois

Largura:  |  Altura:  |  Tamanho: 1.9 KiB

Arquivo binário não exibido.

Depois

Largura:  |  Altura:  |  Tamanho: 289 B

Arquivo binário não exibido.

Depois

Largura:  |  Altura:  |  Tamanho: 266 B

Arquivo binário não exibido.

Depois

Largura:  |  Altura:  |  Tamanho: 296 B

Arquivo binário não exibido.

Depois

Largura:  |  Altura:  |  Tamanho: 267 B

Arquivo binário não exibido.

Depois

Largura:  |  Altura:  |  Tamanho: 277 B

Arquivo binário não exibido.

Depois

Largura:  |  Altura:  |  Tamanho: 2.8 KiB

Arquivo binário não exibido.
Arquivo binário não exibido.

Depois

Largura:  |  Altura:  |  Tamanho: 288 B

Arquivo binário não exibido.

Depois

Largura:  |  Altura:  |  Tamanho: 706 B

Arquivo binário não exibido.

Depois

Largura:  |  Altura:  |  Tamanho: 805 B

Arquivo binário não exibido.

Depois

Largura:  |  Altura:  |  Tamanho: 794 B

Arquivo binário não exibido.

Depois

Largura:  |  Altura:  |  Tamanho: 252 B

Arquivo binário não exibido.

Depois

Largura:  |  Altura:  |  Tamanho: 255 B

Arquivo binário não exibido.

Depois

Largura:  |  Altura:  |  Tamanho: 249 B

Arquivo binário não exibido.

Depois

Largura:  |  Altura:  |  Tamanho: 145 B

Arquivo binário não exibido.

Depois

Largura:  |  Altura:  |  Tamanho: 303 B

Arquivo binário não exibido.

Depois

Largura:  |  Altura:  |  Tamanho: 337 B

Arquivo binário não exibido.

Depois

Largura:  |  Altura:  |  Tamanho: 238 B

Arquivo binário não exibido.

Depois

Largura:  |  Altura:  |  Tamanho: 255 B

Arquivo binário não exibido.

Depois

Largura:  |  Altura:  |  Tamanho: 245 B

Arquivo binário não exibido.

Depois

Largura:  |  Altura:  |  Tamanho: 252 B

+36
Ver Arquivo
@@ -0,0 +1,36 @@
<HTML>
<HEAD>
<TITLE>Common UNIX Printing System</TITLE>
<LINK REL=STYLESHEET TYPE="text/css" HREF="cups.css">
<MAP NAME="navbar">
<AREA SHAPE="RECT" COORDS="12,10,50,20" HREF="http://www.easysw.com" ALT="Easy Software Products Home Page">
<AREA SHAPE="RECT" COORDS="82,10,196,20" HREF="/admin" ALT="Do Administration Tasks">
<AREA SHAPE="RECT" COORDS="216,10,280,20" HREF="/classes" ALT="Manage Printer Classes Status">
<AREA SHAPE="RECT" COORDS="300,10,336,20" HREF="/documentation.html" ALT="On-Line Help">
<AREA SHAPE="RECT" COORDS="356,10,394,20" HREF="/jobs" ALT="Manage Jobs">
<AREA SHAPE="RECT" COORDS="414,10,476,20" HREF="/printers" ALT="Manage Printers">
<AREA SHAPE="RECT" COORDS="496,10,568,20" HREF="http://www.cups.org" ALT="Download the Current CUPS Software">
</MAP>
</HEAD>
<BODY BGCOLOR="#cccc99" TEXT="#000000" LINK="#0000FF" VLINK="#FF00FF">
<CENTER>
<IMG SRC="/images/navbar.gif" WIDTH="583" HEIGHT="30" USEMAP="#navbar" BORDER="0" ALT="Common UNIX Printing System">
</CENTER>
<H1><A HREF="admin">Do Administration Tasks</A></H1>
<H1><A HREF="classes">Manage Printer Classes</A></H1>
<H1><A HREF="documentation.html">On-Line Help</A></H1>
<H1><A HREF="jobs">Manage Jobs</A></H1>
<H1><A HREF="printers">Manage Printers</A></H1>
<H1><A HREF="http://www.cups.org">Download the Current CUPS Software</A></H1>
<HR>
<P>The Common UNIX Printing System, CUPS, and the CUPS logo are the
trademark property of <A HREF="http://www.easysw.com">Easy Software
Products</A>. CUPS is copyright 1997-2000 by Easy Software Products,
All Rights Reserved.
</BODY>
</HTML>
+1412
Ver Arquivo
Diferenças do arquivo suprimidas por serem muito extensas Carregar Diff
+1490
Ver Arquivo
Diferenças do arquivo suprimidas por serem muito extensas Carregar Diff
+1891
Ver Arquivo
Diferenças do arquivo suprimidas por serem muito extensas Carregar Diff
+500
Ver Arquivo
@@ -0,0 +1,500 @@
<HTML>
<HEAD>
<META NAME="Author" CONTENT="Michael Sweet">
<TITLE>An Overview of the Common UNIX Printing System</TITLE>
<LINK REL=STYLESHEET TYPE="text/css" HREF="cupsdoc.css">
</HEAD>
<BODY BGCOLOR=#ffffff>
<TABLE WIDTH="100%">
<TR VALIGN=TOP>
<TD><IMG SRC="images/cups-large.gif" WIDTH="103" HEIGHT="120"></TD>
<TD><H1 ALIGN="RIGHT">An Overview of the<BR>
Common UNIX Printing System,<BR>
Version 1.1</H1>
<P ALIGN="RIGHT">July 10, 2000<BR>
Michael Sweet, Easy Software Products<BR>
Copyright 1998-2000, All Rights Reserved.</P>
</TD>
</TR>
</TABLE>
<P>This whitepaper describes the Common UNIX Printing
System<SUP>TM</SUP> ("CUPS<SUP>TM</SUP>"), a portable and extensible
printing system for UNIX<SUP>&reg;</SUP>. CUPS is being developed by
<A HREF="http://www.easysw.com">Easy Software Products</A>, a software
firm located in Hollywood, Maryland that has been selling commercial
software for UNIX since 1993 through more than 40 distributors serving
over 80 countries worldwide.
<P>Additional information on CUPS is available on the World Wide Web at
"<A HREF="http://www.cups.org">http://www.cups.org</A>".
<H2>Background</H2>
<P>Printing within UNIX has historically been done using one of two
printing systems - the Berkeley Line Printer Daemon ("LPD") [RFC1179]
and the AT&amp;T Line Printer system. These printing systems were
designed in the 70's for printing text to line printers; vendors have
since added varying levels of support for other types of printers.
<P>Replacements for these printing systems have emerged [LPRng,
Palladin, PLP], however none of the replacements change the fundamental
capabilities of these systems.
<P>Over the last few years several attempts at developing a standard
printing interface have been made, including the draft POSIX Printing
standard developed by the Institute of Electrical and Electronics
Engineers, Inc. ("IEEE") [IEEE-1387.4] and Internet Printing Protocol
("IPP") developed by the Internet Engineering Task Force ("IETF")
through the Printer Working Group ("PWG") [IETF-IPP]. The POSIX
printing standard defines a common set of command-line tools as well as
a C interface for printer administration and print jobs, but has been
shelved by the IEEE.
<P>The Internet Printing Protocol defines extensions to the HyperText
Transport Protocol 1.1 [RFC2616] to provide support for remote printing
services. IPP/1.0 was accepted by the IETF as an experimental Request
For Comments [RFC] document in October of 1999. Since then the Printer
Working Group has developed an updated set of specifications for
IPP/1.1 which have been accepted by the IETF and are awaiting
publication as proposed standards. Unlike POSIX Printing, IPP enjoys
widespread industry support and is poised to become the standard
network printing solution for all operating systems.
<P>CUPS uses IPP/1.1 to provide a complete, modern printing system for
UNIX that can be extended to support new printers, devices, and
protocols while providing compatibility with existing UNIX
applications. CUPS is free software provided under the terms of the
GNU General Public License and GNU Library General Public License.
<H2>History</H2>
<P>The first production release of CUPS (based on IPP/1.0) was released
in October of 1999. Since then, we have released several patch updates
to the original CUPS 1.0 release that addressed security, portability,
and bugs found, but no new functionality was added to improve the
stability of the CUPS code.
<P>CUPS 1.1 is based on IPP/1.1 and adds many of the functional
enhancements that have been requested by our users. As with 1.0, CUPS
1.1 will be followed by patch releases that address any problems found
with the software but add no new features.
<H2>Design Overview</H2>
<P>Like most printing systems, CUPS is designed around a central print
scheduling process that dispatches print jobs, processes administrative
commands, provides printer status information to local and remote
programs, and informs users as needed. Figure 1 shows the basic
organization of CUPS.
<CENTER><IMG SRC="images/cups-block-diagram.gif" WIDTH="470" HEIGHT="170"></CENTER>
<P ALIGN="CENTER">Figure 1 - CUPS Block Diagram</P>
<H3>Scheduler</H3>
<P>The scheduler is a HTTP/1.1 server application that handles HTTP
requests. Besides handling printer requests via IPP POST requests, the
scheduler also acts as a full-featured web server for documentation,
status monitoring, and administration.
<P>The scheduler also manages a list of available printers on the LAN
and dispatches print jobs as needed using the appropriate filters and
backends.
<H3>Configuration Files</H3>
The configuration files consist of:
<UL>
<LI>The HTTP server configuration file.
<LI>Printer and class definition files.
<LI>MIME type and conversion rule files.
<LI>PostScript Printer Description ("PPD") files.
</UL>
<P>The HTTP server configuration file is purposely similar to the
Apache server configuration file and defines all of the access control
properties for the server.
<P>The printer and class definition files list the available printer
queues and classes. Printer classes are collections of printers. Jobs
sent to a class are forwarded to the first available printer in the
class, round-robin fashion.
<P>The MIME type files list the supported MIME types (text/plain,
application/postscript, etc.) and "magic" rules for automatically
detecting the format of a file. These are used by the HTTP server to
determine the <I>Content-Type</I> field for <I>GET</I> and <I>HEAD</I>
requests and by the IPP request handler to determine the file type
when a <I>Print-Job</I> or <I>Send-File</I> request is received with a
<I>document-format</I> of <I>application/octet-stream</I>.
<P>The MIME conversion rule files list the available filters. The
filters are used when a job is dispatched so that an application can
send a convenient file format to the printing system which then
converts the document into a printable format as needed. Each filter
has a relative cost associated with it, and the filtering algorithm
chooses the set of filters that will convert the file to the needed
format with the lowest total "cost".
<P>The PPD files describe the capabilities of all printers, not just
PostScript printers. There is one PPD file for each printer. PPD files
for non-PostScript printers define additional filters through
<I>cupsFilter</I> attributes to support printer drivers.
<H3>CUPS API</H3>
<P>The CUPS API contains CUPS-specific convenience functions for queuing
print jobs, getting printer information, accessing resources via HTTP
and IPP, and manipulating PPD files. Unlike the rest of CUPS, the CUPS
API is provided under the terms of the GNU LGPL so it may be used by
non-GPL applications.
<H3>Berkeley and System V Commands</H3>
<P>CUPS provides the System V and Berkeley command-line interfaces for
submitting jobs and checking the printer status. The
<CODE>lpstat</CODE> and <CODE>lpc status</CODE> commands also show
network printers ("printer@server") when printer browsing is enabled.
<P>The System V administation commands are supplied for managing
printers and classes. The Berkeley printer administration tool
(<CODE>lpc</CODE>) is only supported in a "read-only" mode to check the
current status of the printer queues and scheduler.
<H3>Filters</H3>
<P>A filter program reads from the standard input or from a file if a
filename is supplied. All filters must support a common set of options
including printer name, job ID, username, job title, number of copies,
and job options. All output is sent to the standard output.
<P>Filters are provided for many file formats and include image file
and PostScript raster filters that support non-PostScript printers. Multiple
filters are run in parallel to produce the required output format.
<P>The PostScript raster filter is based on the GNU Ghostscript 5.50
core. Instead of using the Ghostscript printer drivers and front-end,
the CUPS filter uses a generic raster printer driver and CUPS-compliant
front-end to support any kind of raster printer. This allows the same
printer driver filter to be used for printing raster data from any
filter.
<H3>CUPS Imaging</H3>
<P>The CUPS Imaging library provides functions for managing large
images, doing colorspace conversion and color management, scaling
images for printing, and managing raster page streams. It is used by
the CUPS image file filters, the PostScript RIP, and all raster
printers drivers.
<H3>Backends</H3>
<P>A backend program is a special filter that sends print data to a
device or network connection. Backends for parallel, serial, USB, LPD, IPP,
and AppSocket (JetDirect) connections are provided in CUPS 1.1.
<P>SAMBA version 2.0.6 and higher includes a SMB backend
(<CODE>smbspool(1)</CODE>) that can be used with CUPS 1.0 or 1.1 for
printing to Windows.
<H2>Network Printing</H2>
<P>Traditionally, network printing has been one of the hardest things to
get working under UNIX. One reason is because each vendor added their
own extensions to the LPD protocol (the previous standard for network
printing), making cross-platform printing difficult if not impossible.
<P>Another reason is that you have to administer every network printer
on every client machine. In some cases you can "clone" the printer
configuration from a "master" client to each of the others, but even
that can be time-consuming and error-prone. Something better is needed.
<P>CUPS provides "printer browsing", which allows clients to
automatically see and use printers from any server on a LAN. This means
that you only need to configure the server and the clients will
automatically see the printers and classes on it.
<P>In addition, CUPS can automatically merge multiple identical network
printers into "implicit classes". This allows clients to send jobs to
the implicit class and have them print on the first available printer
or server. In addition, failsafe and load-balancing functions are
enabled simply by defining the same printer on multiple servers!
<H2>New Features in CUPS 1.1</H2>
<P>CUPS 1.1 includes many new features and capabilities:
<OL>
<LI><A HREF="#BACKENDS">Backends</A>
<LI><A HREF="#BANNERS">Banner Page Support</A>
<LI><A HREF="#DIGEST">Digest Authentication</A>
<LI><A HREF="#DIRSVC">Directory Services</A>
<LI><A HREF="#FHS2">Directory Structure Changes</A>
<LI><A HREF="#DOCOS">Documentation</A>
<LI><A HREF="#DRIVERS">Drivers</A>
<LI><A HREF="#FILTERS">Filters</A>
<LI><A HREF="#IPP">IPP Support</A>
<LI><A HREF="#PERSISTENCE">Job Persistence</A>
<LI><A HREF="#LPD">LPD Client Support</A>
<LI><A HREF="#USEROPTS">User-Defined Printers and Options</A>
<LI><A HREF="#WEB">Web Administration Interface</A>
</OL>
<H3><A NAME="BACKENDS">1. Backends</A></H3>
<P>CUPS 1.1 implements a new backend interface for retrieving a list of
available devices for CUPS clients. This allows administration
interfaces to query the CUPS scheduler for a list of available devices,
automatically configure printers if the device identification
information is available, and present the user with a list of available
devices rather than relying on the user to know what devices are
configured on the system.
<P>The new release also includes a backend for USB printers under
*BSD and Linux. Support for USB under Solaris 8 will be provided in
a subsequent patch release.
<H3><A NAME="BANNERS">2. Banner Page Support</A></H3>
<P>CUPS 1.1 includes support for banner pages at the beginning and end
of a job. Banner pages may be of any file format and support variable
substitution for job titles, usernames, etc. Default banner pages are
associated with each printer and can be overridden with command-line
options by the user.
<H3><A NAME="DIGEST">3. Digest Authentication</A></H3>
<P>Digest authentication provides a more secure method of authenticating
access to the printing system. Unlike Basic authentication, Digest
authentication does not send passwords "in the clear" so it is more
difficult to gain unauthorized access to your system.
<P>CUPS 1.1 implements Digest authentication using a special MD5
password file instead of the UNIX password file. This file is managed
using the new <CODE>lppasswd</CODE> command.
<H3><A NAME="DIRSVC">4. Directory Services</A></H3>
<P>CUPS 1.1 adds new directory service ("printer browsing") features to
make using CUPS on large LANs and WANs easier. You can now poll a
remote server for printer information and relay it to the LAN as well
as restrict what printer information is processed (e.g. to "hide"
servers, domains, or networks that you don't want to see.)
<H3><A NAME="FHS2">5. Directory Structure Changes</A></H3>
<P>CUPS 1.1 now uses a directory structure that complies with the
Filesystem Hierarchy Standard ("FHS"), version 2.0. This should make
integration into existing Linux and *BSD distributions a lot easier.
<H3><A NAME="DOCOS">6. Documentation</A></H3>
<P>The CUPS 1.1 documentation has gone through many revisions,
including a completely rewritten administrators manual, a new
programmers manual, and an IPP implementation reference manual.
<H3><A NAME="DRIVERS">7. Drivers</A></H3>
<P>CUPS 1.1 includes drivers for EPSON dot-matrix and inkjet printers.
As with the HP PCL drivers, the EPSON drivers don't necessarily provide
the best possible output for each printer but should provide adequate
printing quality for general day-to-day printing.
<H3><A NAME="FILTERS">8. Filters</A></H3>
<P>CUPS 1.1 includes new image, PostScript, PDF, and text filters. The image
filters have been upgraded to support Windows BMP and Alias PIX files.
<P>The PostScript filter is now based off GNU Ghostscript 5.50. The new
filter provides much better performance with higher-resolution printers
and supports most Level 3 PostScript language features.
<P>The new PDF filter is based off the excellent Xpdf software from
Derek Noonburg and supports automatic page scaling. The new filter is a
faster, smaller, more reliable replacement for the GNU Ghostscript PDF
filtering that was used in CUPS 1.0.
<P>The new text filter now supports bidirectional text and can embed
fonts as needed.
<H3><A NAME="IPP">9. IPP Support</A></H3>
<P>Probably the least visible portion of CUPS is the IPP support. CUPS
1.1 implements all of the required IPP/1.1 operations and attributes
and most of the optional ones. The optional Create-Job and Send-File
operations are now implemented, allowing for better System V printing
system compatibility (one job ID per <CODE>lp</CODE> command) and
support for banner pages.
<H3><A NAME="PERSISTENCE">10. Job Persistence</A></H3>
<P>CUPS 1.1 supports job persistence. This means that jobs are preserved
even after a reboot, a feature that was sorely missing from CUPS 1.0.
<P>In addition, CUPS 1.1 allows you to keep job information after the
job has printed. The basic post-job persistence mode provides a job
history (number of pages printed, time job was printed, etc.) but does
not preserve the actual job files. This can be changed to discard all
information after a job is printed or keep the job files after printing
so you can reprint a job at some later time.
<H3><A NAME="LPD">11. LPD Client Support</A></H3>
<P>By popular request, CUPS 1.1 supports LPD-based clients using a new
mini-daemon that handles LPD requests and passes them on to the main
server.
<H3><A NAME="USEROPTS">12. User-Defined Printers and Options</A></H3>
<P>CUPS 1.1 includes support for user-defined printers and options via
a new <CODE>lpoptions</CODE> command. User-defined printers are special
instances of the available printers (e.g. "printer/instance" or
"printer@server/instance") that can have their own default options such
as media size, resolution, and so forth. The <CODE>lpoptions</CODE>
command can also be used to set a different default printer queue.
<H3><A NAME="WEB">13. Web Administration Interface</A></H3>
<P>CUPS 1.0 provided a simple class, job, and printer monitoring
interface for web browsers. CUPS 1.1 replaces this interface with an
enhanced administration interface that allows you to add, modify,
delete, configure, and control classes, jobs, and printers.
<H2>Software Using CUPS</H2>
<P>A lot has happened since CUPS 1.0 came out, and many software packages
are supporting CUPS. We have contributed code to the SAMBA team to support
CUPS, and parts of that are already available in SAMBA 2.0.6 and 2.0.7.
With any luck the final pieces that provide a complete integration with
SAMBA will be available in the next release of SAMBA.
<P>Two graphical interfaces have appeared on the scene that use CUPS as
well. The KUPS project provides a KDE-based interface for CUPS and can be
found at:
<UL><PRE>
<A HREF="http://kups.sourceforge.net">http://kups.sourceforge.net</A>
</PRE></UL>
<P>The X Printing Panel ("XPP") project provides a graphical printing
panel for CUPS and can be found at:
<UL><PRE>
<A HREF="http://www.phy.uni-bayreuth.de/till/xpp">http://www.phy.uni-bayreuth.de/till/xpp/</A>
</PRE></UL>
<P>Numerous other filters, drivers, tutorials, etc. have been made available
on the CUPS bazaar, available at:
<UL><PRE>
<A HREF="http://www.cups.org/bazaar.cgi">http://www.cups.org/bazaar.cgi</A>
</PRE></UL>
<P>Finally, our own ESP Print Pro software uses CUPS to provide drivers
for over 2300 printers and can be found at:
<UL><PRE>
<A HREF="http://www.easysw.com/printpro">http://www.easysw.com/printpro</A>
</PRE></UL>
<H2>Operating Systems Using CUPS</H2>
<P>One of our goals has always been to get as many UNIX/Linux
distributions using CUPS as possible. Debian is currently providing
CUPS as part of its stable distribution, and many other distributions
are considering it in their next releases.
<H2>Summary</H2>
<P>The Common UNIX Printing System provides a modern printing interface
for UNIX applications that is both flexible and user-friendly. The
software provides System V and Berkeley compatible command-line
interfaces to ensure compatibility with existing applications. CUPS 1.1
adds many new features that make it an even better choice for printing
under UNIX.
<H2>Who to Contact</H2>
<P>For more information on CUPS please contact us at:
<UL><PRE>
Attn: CUPS Information
Easy Software Products
44141 Airport View Drive Suite 204
Hollywood, Maryland 20636-3111 USA
+1.301.373.9600
<A HREF="mailto:cups-info@cups.org">cups-info@cups.org</A>
</PRE></UL>
<H2>References</H2>
<DL>
<DT>IEEE-1387.4</DT>
<DD>System Administration - Part 4: Printing Interfaces (draft)</DD>
<DT><A HREF="http://www.pwg.org/ipp/index.html">IETF-IPP</A></DT>
<DD>Internet Printing Protocol/1.1</DD>
<DT><A HREF="http://www.astart.com/lprng.html">LPRng</A></DT>
<DD>An enhanced, extended, and portable implementation of the
Berkeley LPR print spooler functionality</DD>
<DT>Palladin</DT>
<DD>A printing system developed at the Massachussetts Institute
of Technology</DD>
<DT><A HREF="http://www-usa.iona.com//hyplan/jmason/plp.html">PLP</A></DT>
<DD>The Portable Line Printer spooler system</DD>
<DT><A HREF="http://www.ietf.org/rfc/rfc1179.txt">RFC1179</A></DT>
<DD>Line Printer Daemon Protocol</DD>
<DT><A HREF="http://www.ietf.org/rfc/rfc2046.txt">RFC2046</A></DT>
<DD>Multipurpose Internet Mail Extensions (MIME) Part Two: Media Types</DD>
<DT><A HREF="http://www.ietf.org/rfc/rfc2616.txt">RFC2616</A></DT>
<DD>Hypertext Transfer Protocol -- HTTP/1.1</DD>
</DL>
<H2>Trademarks</H2>
<P>The Common UNIX Printing System, CUPS, and the CUPS logo are the
trademark property of Easy Software Products. All other trademarks are
the property of their respective owners.
</BODY>
</HTML>
Arquivo binário não exibido.
+125
Ver Arquivo
@@ -0,0 +1,125 @@
<H1 ALIGN="RIGHT"><A NAME="OVERVIEW">1 - Printing System Overview</A></H1>
<P>This chapter provides an overview of how the Common UNIX Printing System
works.
<H2>The Printing Problem</H2>
<P>For years <I>the printing problem</I> has plagued UNIX. Unlike
Microsoft&reg; Windows&reg; or Mac OS, UNIX has no standard interface or
system in place for supporting printers. Among the solutions currently
available, the Berkeley and System V printing systems are the most
prevalent.
<P>These printing systems support line printers (text only) or
PostScript printers (text and graphics), and with some coaxing they can
be made to support a full range of printers and file formats. However,
because each varient of the UNIX operating system uses a different
printing system than the next developing printer drivers for a wide
range of printers and operating systems is extremely difficult. That
combined with the limited volume of customers for each UNIX varient has
forced most printer vendors to give up supporting UNIX entirely.
<P>CUPS is designed to eliminate <I>the printing problem</I>. One
common printing system can be used by all UNIX varients to support the
printing needs of users. Printer vendors can use its modular filter
interface to develop a single driver program that supports a wide range
of file formats with little or no effort. Since CUPS provides both the
System V and Berkeley printing commands, users (and applications) can
reap the benefits of this new technology with no changes.
<H2>The Technology</H2>
<P>CUPS is based upon an emerging Internet standard called the Internet
Printing Protocol. IPP has been embraced by dozens of printer and
printer server manufacturers and is supported by Microsoft Windows
2000.
<P>IPP defines a standard protocol for printing as well as managing
print jobs and printer options like media size, resolution, and so
forth. Like all IP-based protocols, IPP can be used locally or over the
Internet to printers hundreds or thousands of miles away. Unlike other
protocols, however, IPP also supports access control, authentication,
and encryption, making it a much more capable and secure printing
solution than older ones.
<P>IPP is layered on top of the Hyper-Text Transport Protocol ("HTTP")
which is the basis of web servers on the Internet. This allows users
to view documentation, check status information on a printer or server,
and manage their printers, classes, and jobs using their web browser.
<P>CUPS provides a complete IPP/1.1 based printing system that provides
Basic, Digest, and local certificate authentication and user, domain,
or IP-based access control. TLS encryption will be available in future
versions of CUPS.
<H2>Jobs</H2>
<P>Each file or set of files that is submitted for printing is called a
<I>job</I>. Jobs are identified by a unique number starting at 1 and
are assigned to a particular destination, usually a printer. Jobs can
also have options associated with them such as media size, number of
copies, and priority.
<H2>Classes</H2>
<P>CUPS supports collections of printers known as <I>classes</I>. Jobs
sent to a class are forwarded to the first available printer in the
class.
<H2>Filters</H2>
<P>Filters allow a user or application to print many types of files
without extra effort. Print jobs sent to a CUPS server are filtered
before sending them to a printer. Some filters convert job files to
different formats that the printer can understand. Others perform page
selection and ordering tasks.
<P>CUPS provides filters for printing many types of image files,
HP-GL/2 files, PDF files, and text files. CUPS also supplies PostScript
and image file Raster Image Processor ("RIP") filters that convert
PostScript or image files into bitmaps that can be sent to a raster
printer.
<H2>Backends</H2>
<P>Backends perform the most important task of all - they send the
filtered print data to the printer.
<P>CUPS provides backends for printing over parallel, serial, and USB
ports, and over the network via the IPP, JetDirect (AppSocket), and
Line Printer Daemon ("LPD") protocols. Additional backends are
available in network service packages such as the SMB backend
included with the popular SAMBA software.
<P>Backends are also used to determine the available devices. On
startup each backend is asked for a list of devices it supports,
and any information that is available. This allows the parallel
backend to tell CUPS that an EPSON Stylus Color 600 printer is
attached to parallel port 1, for example.
<H2>Printer Drivers</H2>
<P>Printer drivers in CUPS consist of one of more filters specific to a
printer. CUPS includes sample printer drivers for Hewlett-Packard
LaserJet and DeskJet printers and EPSON 9-pin, 24-pin, Stylus Color,
and Stylus Photo printers. While these drivers do not generate optimal
output for the different printer models, they do provide basic printing
and demonstrate how you can write your own printer drivers and
incorporate them into CUPS.
<H2>Networking</H2>
<P>Printers and classes on the local system are automatically shared
with other systems on the network. This allows you to setup one system
to print to a printer and use this system as a printer server or spool
host for all of the others. Users may then select a local printer by
name or a remote printer using "name@server".
<P>CUPS also provides <I>implicit classes</I>, which are collections of
printers and/or classes with the same name. This allows you to setup
multiple servers pointing to the same physical network printer, for
example, so that you aren't relying on a single system for printing.
Because this also works with printer classes, you can setup multiple
servers and printers and never worry about a single point of failure
unless all of the printers and servers go down!
+42
Ver Arquivo
@@ -0,0 +1,42 @@
<H1>References</H1>
<H2>CUPS Documentation</H2>
<P>The following CUPS documentation is referenced by this document:
<UL>
<LI>CUPS-CMP-1.1: CUPS Configuration Management Plan
<LI>CUPS-IDD-1.1: CUPS System Interface Design Description
<LI>CUPS-IPP-1.1: CUPS Implmentation of IPP
<LI>CUPS-SAM-1.1.x: CUPS Software Administrators Manual
<LI>CUPS-SDD-1.1: CUPS Software Design Description
<LI>CUPS-SPM-1.1.x: CUPS Software Programming Manual
<LI>CUPS-SSR-1.1: CUPS Software Security Report
<LI>CUPS-STP-1.1: CUPS Software Test Plan
<LI>CUPS-SUM-1.1.x: CUPS Software Users Manual
<LI>CUPS-SVD-1.1: CUPS Software Version Description
</UL>
<H2>Other Documents</H2>
<P>The following non-CUPS documents are referenced by this document:
<UL>
<LI><A HREF="http://partners.adobe.com/asn/developer/PDFS/TN/5003.PPD_Spec_v4.3.pdf">Adobe
PostScript Printer Description File Format Specification,
Version 4.3.</A>
<LI><A HREF="http://partners.adobe.com/asn/developer/PDFS/TN/PLRM.pdf">Adobe
PostScript Language Reference, Third Edition.</A>
<LI>IPP: Job and Printer Set Operations
<LI>IPP/1.1: Encoding and Transport
<LI>IPP/1.1: Implementers Guide
<LI>IPP/1.1: Model and Semantics
<LI><A HREF="http://www.ietf.org/rfc/rfc1179.txt">RFC 1179, Line Printer Daemon Protocol</A>
<LI><A HREF="http://www.ietf.org/rfc/rfc2567.txt">RFC 2567, Design Goals for an Internet Printing Protocol</A>
<LI><A HREF="http://www.ietf.org/rfc/rfc2568.txt">RFC 2568, Rationale for the Structure of the Model and Protocol</A>
for the Internet Printing Protocol</A>
<LI><A HREF="http://www.ietf.org/rfc/rfc2569.txt">RFC 2569, Mapping between LPD and IPP Protocols</A>
<LI><A HREF="http://www.ietf.org/rfc/rfc2616.txt">RFC 2616, Hypertext Transfer Protocol -- HTTP/1.1</A>
<LI><A HREF="http://www.ietf.org/rfc/rfc2617.txt">RFC 2617, HTTP Authentication: Basic and Digest Access</A>
Authentication
</UL>
+4238
Ver Arquivo
Diferenças do arquivo suprimidas por serem muito extensas Carregar Diff
+3294
Ver Arquivo
Diferenças do arquivo suprimidas por serem muito extensas Carregar Diff
+3890
Ver Arquivo
Diferenças do arquivo suprimidas por serem muito extensas Carregar Diff
+587
Ver Arquivo
@@ -0,0 +1,587 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" "http://www.w3.org/TR/REC-html40/loose.dtd">
<HTML>
<HEAD>
<TITLE> CUPS Software Design Description</TITLE>
<META NAME="AUTHOR" CONTENT="Easy Software Products">
<META NAME="COPYRIGHT" CONTENT="Copyright 1997-2000, All Rights Reserved">
<META NAME="DOCNUMBER" CONTENT="CUPS-SDD-1.1">
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-1">
<STYLE>
BODY { font-family: serif; font-size: 11.0pt }
H1 { font-family: sans-serif; font-size: 20.0pt }
H2 { font-family: sans-serif; font-size: 17.0pt }
H3 { font-family: sans-serif; font-size: 14.0pt }
H4 { font-family: sans-serif; font-size: 11.0pt }
H5 { font-family: sans-serif; font-size: 9.0pt }
H6 { font-family: sans-serif; font-size: 8.0pt }
SUB { font-size: 8.0pt }
SUP { font-size: 8.0pt }
PRE { font-size: 9.0pt }
</STYLE>
</HEAD>
<BODY>
<CENTER><A HREF="#CONTENTS"><IMG SRC="images/cups-large.gif" BORDER="0" WIDTH="100%"><BR>
<H1> CUPS Software Design Description</H1></A><BR>
CUPS-SDD-1.1<BR>
Easy Software Products<BR>
Copyright 1997-2000, All Rights Reserved<BR>
</CENTER>
<HR>
<H1 ALIGN="CENTER"><A NAME="CONTENTS">Table of Contents</A></H1>
<BR>
<BR><B><A HREF="#1">1 Scope</A></B>
<UL>
<LI><A HREF="#1_1">1.1 Identification</A></LI>
<LI><A HREF="#1_2">1.2 System Overview</A></LI>
<LI><A HREF="#1_3">1.3 Document Overview</A></LI>
</UL>
<B><A HREF="#2">2 References</A></B>
<UL>
<LI><A HREF="#2_1">2.1 CUPS Documentation</A></LI>
<LI><A HREF="#2_2">2.2 Other Documents</A></LI>
</UL>
<B><A HREF="#3">3 Design Overview</A></B>
<UL>
<LI><A HREF="#3_1">3.1 Backends</A></LI>
<UL>
<LI><A HREF="#3_1_1">3.1.1 ipp</A></LI>
<LI><A HREF="#3_1_2">3.1.2 lpd</A></LI>
<LI><A HREF="#3_1_3">3.1.3 parallel</A></LI>
<LI><A HREF="#3_1_4">3.1.4 serial</A></LI>
<LI><A HREF="#3_1_5">3.1.5 socket</A></LI>
<LI><A HREF="#3_1_6">3.1.6 usb</A></LI>
</UL>
<LI><A HREF="#3_2">3.2 Berkeley Commands</A></LI>
<UL>
<LI><A HREF="#3_2_1">3.2.1 lpc</A></LI>
<LI><A HREF="#3_2_2">3.2.2 lpq</A></LI>
<LI><A HREF="#3_2_3">3.2.3 lpr</A></LI>
<LI><A HREF="#3_2_4">3.2.4 lprm</A></LI>
</UL>
<LI><A HREF="#3_3">3.3 CGI</A></LI>
<UL>
<LI><A HREF="#3_3_1">3.3.1 admin.cgi</A></LI>
<LI><A HREF="#3_3_2">3.3.2 classes.cgi</A></LI>
<LI><A HREF="#3_3_3">3.3.3 jobs.cgi</A></LI>
<LI><A HREF="#3_3_4">3.3.4 printers.cgi</A></LI>
</UL>
<LI><A HREF="#3_4">3.4 CUPS Application Programmers Interface</A></LI>
<UL>
<LI><A HREF="#3_4_1">3.4.1 Convenience Functions</A></LI>
<LI><A HREF="#3_4_2">3.4.2 HTTP Functions</A></LI>
<LI><A HREF="#3_4_3">3.4.3 IPP Functions</A></LI>
<LI><A HREF="#3_4_4">3.4.4 Language Functions</A></LI>
<LI><A HREF="#3_4_5">3.4.5 PPD Functions</A></LI>
</UL>
<LI><A HREF="#3_5">3.5 CUPS Imaging Library</A></LI>
<UL>
<LI><A HREF="#3_5_1">3.5.1 Colorspace Conversion Functions</A></LI>
<LI><A HREF="#3_5_2">3.5.2 Color Management Functions</A></LI>
<LI><A HREF="#3_5_3">3.5.3 Image Management Functions</A></LI>
<LI><A HREF="#3_5_4">3.5.4 Scaling Functions</A></LI>
<LI><A HREF="#3_5_5">3.5.5 Image File Functions</A></LI>
<LI><A HREF="#3_5_6">3.5.6 Raster Functions</A></LI>
</UL>
<LI><A HREF="#3_6">3.6 Daemons</A></LI>
<UL>
<LI><A HREF="#3_6_1">3.6.1 Line Printer Daemon</A></LI>
<LI><A HREF="#3_6_2">3.6.2 Polling Daemon</A></LI>
</UL>
<LI><A HREF="#3_7">3.7 Filters</A></LI>
<UL>
<LI><A HREF="#3_7_1">3.7.1 hpgltops</A></LI>
<LI><A HREF="#3_7_2">3.7.2 imagetops</A></LI>
<LI><A HREF="#3_7_3">3.7.3 imagetoraster</A></LI>
<LI><A HREF="#3_7_4">3.7.4 pdftops</A></LI>
<LI><A HREF="#3_7_5">3.7.5 pstops</A></LI>
<LI><A HREF="#3_7_6">3.7.6 pstoraster</A></LI>
<LI><A HREF="#3_7_7">3.7.7 rastertoepson</A></LI>
<LI><A HREF="#3_7_8">3.7.8 rastertohp</A></LI>
<LI><A HREF="#3_7_9">3.7.9 texttops</A></LI>
</UL>
<LI><A HREF="#3_8">3.8 Scheduler</A></LI>
<UL>
<LI><A HREF="#3_8_1">3.8.1 Authorization</A></LI>
<LI><A HREF="#3_8_2">3.8.2 Classes</A></LI>
<LI><A HREF="#3_8_3">3.8.3 Client</A></LI>
<LI><A HREF="#3_8_4">3.8.4 Configuration</A></LI>
<LI><A HREF="#3_8_5">3.8.5 Devices</A></LI>
<LI><A HREF="#3_8_6">3.8.6 Directory Services</A></LI>
<LI><A HREF="#3_8_7">3.8.7 IPP</A></LI>
<LI><A HREF="#3_8_8">3.8.8 Jobs</A></LI>
<LI><A HREF="#3_8_9">3.8.9 Logging</A></LI>
<LI><A HREF="#3_8_10">3.8.10 Main</A></LI>
<LI><A HREF="#3_8_11">3.8.11 MIME</A></LI>
<LI><A HREF="#3_8_12">3.8.12 PPDs</A></LI>
<LI><A HREF="#3_8_13">3.8.13 Printers</A></LI>
</UL>
<LI><A HREF="#3_9">3.9 System V Commands</A></LI>
<UL>
<LI><A HREF="#3_9_1">3.9.1 accept</A></LI>
<LI><A HREF="#3_9_2">3.9.2 cancel</A></LI>
<LI><A HREF="#3_9_3">3.9.3 disable</A></LI>
<LI><A HREF="#3_9_4">3.9.4 enable</A></LI>
<LI><A HREF="#3_9_5">3.9.5 lp</A></LI>
<LI><A HREF="#3_9_6">3.9.6 lpadmin</A></LI>
<LI><A HREF="#3_9_7">3.9.7 lpinfo</A></LI>
<LI><A HREF="#3_9_8">3.9.8 lpmove</A></LI>
<LI><A HREF="#3_9_9">3.9.9 lpoptions</A></LI>
<LI><A HREF="#3_9_10">3.9.10 lpstat</A></LI>
<LI><A HREF="#3_9_11">3.9.11 reject</A></LI>
</UL>
</UL>
<B><A HREF="#4">A Glossary</A></B>
<UL>
<LI><A HREF="#4_1">A.1 Terms</A></LI>
<LI><A HREF="#4_2">A.2 Acronyms</A></LI>
</UL>
<HR>
<H1><A NAME="1">1 Scope</A></H1>
<H2><A NAME="1_1">1.1 Identification</A></H2>
This software design description document provides general information
on the architecture and coding of the Common UNIX Printing System
(&quot;CUPS&quot;) Version 1.1.
<H2><A NAME="1_2">1.2 System Overview</A></H2>
<P>CUPS provides a portable printing layer for UNIX&reg;-based operating
systems. It has been developed by <A HREF="http://www.easysw.com">Easy
Software Products</A> to promote a standard printing solution for all
UNIX vendors and users. CUPS provides the System V and Berkeley
command-line interfaces. </P>
<P>CUPS uses the Internet Printing Protocol (&quot;IPP&quot;) as the basis for
managing print jobs and queues. The Line Printer Daemon (&quot;LPD&quot;) Server
Message Block (&quot;SMB&quot;), and AppSocket (a.k.a. JetDirect) protocols are
also supported with reduced functionality. CUPS adds network printer
browsing and PostScript Printer Description (&quot;PPD&quot;) based printing
options to support real-world printing under UNIX. </P>
<P>CUPS also includes a customized version of GNU Ghostscript
(currently based off GNU Ghostscript 5.50) and an image file RIP that
are used to support non-PostScript printers. Sample drivers for HP and
EPSON printers are included that use these filters. </P>
<H2><A NAME="1_3">1.3 Document Overview</A></H2>
This software design description document is organized into the
following sections:
<UL>
<LI>1 - Scope </LI>
<LI>2 - References </LI>
<LI>3 - Design Overview </LI>
<LI>A - Glossary </LI>
</UL>
<H1><A NAME="2">2 References</A></H1>
<H2><A NAME="2_1">2.1 CUPS Documentation</A></H2>
<P>The following CUPS documentation is referenced by this document: </P>
<UL>
<LI>CUPS-CMP-1.1: CUPS Configuration Management Plan </LI>
<LI>CUPS-IDD-1.1: CUPS System Interface Design Description </LI>
<LI>CUPS-IPP-1.1: CUPS Implmentation of IPP </LI>
<LI>CUPS-SAM-1.1.x: CUPS Software Administrators Manual </LI>
<LI>CUPS-SDD-1.1: CUPS Software Design Description </LI>
<LI>CUPS-SPM-1.1.x: CUPS Software Programming Manual </LI>
<LI>CUPS-SSR-1.1: CUPS Software Security Report </LI>
<LI>CUPS-STP-1.1: CUPS Software Test Plan </LI>
<LI>CUPS-SUM-1.1.x: CUPS Software Users Manual </LI>
<LI>CUPS-SVD-1.1: CUPS Software Version Description </LI>
</UL>
<H2><A NAME="2_2">2.2 Other Documents</A></H2>
<P>The following non-CUPS documents are referenced by this document: </P>
<UL>
<LI><A HREF="http://partners.adobe.com/asn/developer/PDFS/TN/5003.PPD_Spec_v4.3.pdf">
Adobe PostScript Printer Description File Format Specification,
Version 4.3.</A></LI>
<LI><A HREF="http://partners.adobe.com/asn/developer/PDFS/TN/PLRM.pdf">
Adobe PostScript Language Reference, Third Edition.</A></LI>
<LI>IPP: Job and Printer Set Operations </LI>
<LI>IPP/1.1: Encoding and Transport </LI>
<LI>IPP/1.1: Implementers Guide </LI>
<LI>IPP/1.1: Model and Semantics </LI>
<LI><A HREF="http://www.ietf.org/rfc/rfc1179.txt">RFC 1179, Line
Printer Daemon Protocol</A></LI>
<LI><A HREF="http://www.ietf.org/rfc/rfc2567.txt">RFC 2567, Design
Goals for an Internet Printing Protocol</A></LI>
<LI><A HREF="http://www.ietf.org/rfc/rfc2568.txt">RFC 2568, Rationale
for the Structure of the Model and Protocol</A> for the Internet
Printing Protocol</LI>
<LI><A HREF="http://www.ietf.org/rfc/rfc2569.txt">RFC 2569, Mapping
between LPD and IPP Protocols</A></LI>
<LI><A HREF="http://www.ietf.org/rfc/rfc2616.txt">RFC 2616, Hypertext
Transfer Protocol -- HTTP/1.1</A></LI>
<LI><A HREF="http://www.ietf.org/rfc/rfc2617.txt">RFC 2617, HTTP
Authentication: Basic and Digest Access</A> Authentication </LI>
</UL>
<H1><A NAME="3">3 Design Overview</A></H1>
CUPS is composed of 9 software sub-systems that operate together to
perform common printing tasks:
<UL>
<LI>Backends </LI>
<LI>Berkeley Commands </LI>
<LI>CGI </LI>
<LI>CUPS Application Programmers Interface </LI>
<LI>CUPS Imaging Library </LI>
<LI>Daemons </LI>
<LI>Filters </LI>
<LI>Scheduler </LI>
<LI>System V Commands </LI>
</UL>
<H2><A NAME="3_1">3.1 Backends</A></H2>
The backends implement communications over a number of different
interfaces. All backends are called with a common set of arguments:
<UL>
<LI>Device URI - the Uniform Resource Identifier for the output device
(e.g. <CODE>parallel:/dev/plp</CODE>, <CODE> ipp://hostname/resource</CODE>
). </LI>
<LI>Job Identifier - the job identifier for this job (integer). </LI>
<LI>User Name - the user associated with this job (name string). </LI>
<LI>Title - the title/job-name associated with this job (name string). </LI>
<LI>Copies - the number of copies required (integer). </LI>
<LI>Options - the options associated with this job (space separated
option strings). </LI>
<LI>Filename (optional) - the file to print; if this option is not
specified, the backend must read the print file from the standard
input. </LI>
</UL>
<P>Backends are named using the scheme of the URI, so a URI of
&quot;ipp://hostname/resource&quot; would be processed by the &quot;ipp&quot; backend. </P>
<H3><A NAME="3_1_1">3.1.1 ipp</A></H3>
<P>The ipp backend sends the specified job to a network printer or host
using the Internet Printing Protocol. The URI is as specified by the <CODE>
printer-uri-supported</CODE> attribute from the printer or host. </P>
<H3><A NAME="3_1_2">3.1.2 lpd</A></H3>
<P>The lpd backend sends the specified job to a network printer or host
using the Line Printer Daemon protocol. The URI is of the form: </P>
<UL>
<PRE>lpd://hostname/queue
</PRE>
</UL>
<H3><A NAME="3_1_3">3.1.3 parallel</A></H3>
<P>The parallel backend sends the specified job to a local printer
connected via the specified parallel port device. The URI is of the
form: </P>
<UL>
<PRE>parallel:/dev/file
</PRE>
</UL>
<H3><A NAME="3_1_4">3.1.4 serial</A></H3>
<P>The serial backend sends the specified job to a local printer
connected via the specified serial port device. The URI is of the
form: </P>
<UL>
<PRE>serial:/dev/file?option[+option+...]
</PRE>
</UL>
The options can be any combination of the following:
<UL>
<LI><CODE>baud=<I>rate</I></CODE> - Sets the baud rate for the device. </LI>
<LI><CODE>bits=<I>7 or 8</I></CODE> - Sets the number of data bits. </LI>
<LI><CODE>parity=<I>even</I></CODE> - Sets even parity checking. </LI>
<LI><CODE>parity=<I>odd</I></CODE> - Sets odd parity checking. </LI>
<LI><CODE>parity=<I>none</I></CODE> - Turns parity checking off. </LI>
</UL>
<H3><A NAME="3_1_5">3.1.5 socket</A></H3>
<P>The socket backend sends the specified job to a network host using
the AppSocket protocol commonly used by Hewlett-Packard and Tektronix
printers. The URI is of the form: </P>
<UL>
<PRE>socket://hostname[:port]
</PRE>
</UL>
The default port number is 9100.
<H3><A NAME="3_1_6">3.1.6 usb</A></H3>
<P>The usb backend sends the specified job to a local printer connected
via the specified usb port device. The URI is of the form: </P>
<UL>
<PRE>usb:/dev/file
</PRE>
</UL>
<H2><A NAME="3_2">3.2 Berkeley Commands</A></H2>
<P>The Berkeley commands provide a simple command-line interface to
CUPS to submit and control print jobs. It is provided for compatibility
with existing software that is hardcoded to use the Berkeley commands. </P>
<H3><A NAME="3_2_1">3.2.1 lpc</A></H3>
The lpc command allows users and administrators to check the status
and control print queues. The version provided with CUPS supports the
following commands:
<UL>
<LI>quit - Quits the lpc command. </LI>
<LI>status - Shows the status of printers and jobs in the queue. </LI>
</UL>
<H3><A NAME="3_2_2">3.2.2 lpq</A></H3>
<P>The lpq command shows the current queue status. </P>
<H3><A NAME="3_2_3">3.2.3 lpr</A></H3>
<P>The lpr command submits a job for printing. The CUPS version of lpr
silently ignores the &quot;i&quot;, &quot;t&quot;, &quot;m&quot;, &quot;h&quot;, and &quot;s&quot; options. </P>
<H3><A NAME="3_2_4">3.2.4 lprm</A></H3>
<P>The lprm removes one or more print jobs. </P>
<H2><A NAME="3_3">3.3 CGI</A></H2>
<P>The Common Gateway Interface (CGI) programs provide a web-based
status interface to monitor the status of printers, classes, and jobs.
Each of the CGIs utilize HTML template files that can be customized to
provide alternate appearances. </P>
<H3><A NAME="3_3_1">3.3.1 admin.cgi</A></H3>
<P>The admin CGI provides administration interfaces for printers and
classes. The user can add, modify, delete, start, stop, and configure
printers and classes using &quot;wizard&quot; interfaces. </P>
<H3><A NAME="3_3_2">3.3.2 classes.cgi</A></H3>
<P>The classes CGI lists the available printer classes and any pending
jobs for the class. The user can click on individual classes to limit
the display and click on jobs to see the job status. </P>
<H3><A NAME="3_3_3">3.3.3 jobs.cgi</A></H3>
<P>The jobs CGI lists the queued print jobs in order of priority. The
list can be limited by printer or job. </P>
<H3><A NAME="3_3_4">3.3.4 printers.cgi</A></H3>
<P>The printers CGI lists the available printer queues and any pending
jobs for the printer. The user can click on individual printers to
limit the display and click on jobs to see the job status. </P>
<H2><A NAME="3_4">3.4 CUPS Application Programmers Interface</A></H2>
<P>The CUPS Application Programmers Interface (&quot;API&quot;) provides common
convenience, HTTP, IPP, language, and PPD functions used by the CUPS
software. </P>
<H3><A NAME="3_4_1">3.4.1 Convenience Functions</A></H3>
<P>Convenience functions are provided to submit an IPP request, send a
print file, cancel a job, get a list of available printers, get a list
of available classes, get the default printer or class, get the default
server name, get the local username, and get a password string. </P>
<H3><A NAME="3_4_2">3.4.2 HTTP Functions</A></H3>
<P>The HTTP functions provide functions to connect to HTTP servers,
issue requests, read data from a server, and write data to a server. </P>
<H3><A NAME="3_4_3">3.4.3 IPP Functions</A></H3>
<P>The IPP function provide functions to manage IPP request data and
attributes, read IPP responses from a server, and write IPP requests to
a server. </P>
<H3><A NAME="3_4_4">3.4.4 Language Functions</A></H3>
<P>The language functions provide a standard interface for retrieving
common textual messages for a particular locale and determining the
correct encoding (e.g. US ASCII, UTF-8, ISO-8859-1, etc.) </P>
<H3><A NAME="3_4_5">3.4.5 PPD Functions</A></H3>
<P>The PostScript Printer Description functions manage PPD files,
select options, check for option conflicts, and emit selected options
in the correct order. </P>
<H2><A NAME="3_5">3.5 CUPS Imaging Library</A></H2>
<P>The CUPS imaging library provides colorspace conversion, color
management, image management, scaling, image file, and raster functions
used by the CUPS raster filters. </P>
<H3><A NAME="3_5_1">3.5.1 Colorspace Conversion Functions</A></H3>
<P>The colorspace conversion functions handle conversion of grayscale
and RGB colors to grayscale, RGB, K, CMY, CMYK, and CMYKcm colorspaces. </P>
<H3><A NAME="3_5_2">3.5.2 Color Management Functions</A></H3>
<P>The color management functions handle gamut mapping and density
correction. These are integrated with the colorspace conversion
functions so that colorspace conversion and color management are
processed in a single step. </P>
<H3><A NAME="3_5_3">3.5.3 Image Management Functions</A></H3>
<P>The image management functions manage a tiled image database that is
swapped to/from disk as needed. </P>
<H3><A NAME="3_5_4">3.5.4 Scaling Functions</A></H3>
<P>The scaling functions provide image scaling services using
nearest-neighbor sampling and bilinear interpolation as appropriate. </P>
<H3><A NAME="3_5_5">3.5.5 Image File Functions</A></H3>
<P>The image file functions handle loading of all image file formats. </P>
<H3><A NAME="3_5_6">3.5.6 Raster Functions</A></H3>
<P>The raster functions manage streams of CUPS raster data (described
in the Interface Design Document) used by non-PostScript printer
drivers and raster filters. </P>
<H2><A NAME="3_6">3.6 Daemons</A></H2>
<P>The daemons provide additional network functions for the scheduler.
Currently only two daemons are provided with CUPS. </P>
<H3><A NAME="3_6_1">3.6.1 Line Printer Daemon</A></H3>
<P>The line printer daemon provides remote LPD client support and is
run by the <CODE>inetd(8)</CODE> daemon as needed. </P>
<H3><A NAME="3_6_2">3.6.2 Polling Daemon</A></H3>
<P>The polling daemon is used to poll a remote server for a list of
available printers and provide it to the scheduler for addition. A
separate polling daemon is run by the scheduler for every remote system
listed for polling in the scheduler configuration file. </P>
<H2><A NAME="3_7">3.7 Filters</A></H2>
<P>The filters implement file conversion services for CUPS. All filters
are called with a common set of arguments: </P>
<UL>
<LI>Printer name - the name of the destination printer (name string). </LI>
<LI>Job Identifier - the job identifier for this job (integer). </LI>
<LI>User Name - the user associated with this job (name string). </LI>
<LI>Title - the title/job-name associated with this job (name string). </LI>
<LI>Copies - the number of copies required (integer). </LI>
<LI>Options - the options associated with this job (space separated
option strings). </LI>
<LI>Filename (optional) - the file to print; if this option is not
specified, the filter must read the input file from the standard
input. </LI>
</UL>
<P>Filters are added to the MIME conversion data file and implement all
necessary conversions from one file type to another. </P>
<H3><A NAME="3_7_1">3.7.1 hpgltops</A></H3>
<P>The hpgltops filter converts HP-GL/2 files into PostScript. </P>
<H3><A NAME="3_7_2">3.7.2 imagetops</A></H3>
<P>The imagetops filter converts image files into PostScript. </P>
<H3><A NAME="3_7_3">3.7.3 imagetoraster</A></H3>
<P>The imagetoraster filter converts image files into CUPS raster data. </P>
<H3><A NAME="3_7_4">3.7.4 pdftops</A></H3>
<P>The pdftops filter converts PDF files into PostScript. </P>
<H3><A NAME="3_7_5">3.7.5 pstops</A></H3>
<P>The pstops filter inserts printer-specific commands from PPD files
and performs page filtering as requested by the user. </P>
<H3><A NAME="3_7_6">3.7.6 pstoraster</A></H3>
<P>The pstoraster filter converts PostScript program data into CUPS
raster data. </P>
<H3><A NAME="3_7_7">3.7.7 rastertoepson</A></H3>
<P>The rastertoepson filter handles converting CUPS raster data to
ESC/P and supports both color and black-and-white printers. </P>
<H3><A NAME="3_7_8">3.7.8 rastertohp</A></H3>
<P>The rastertohp filter handles converting CUPS raster data to HP-PCL
and supports both color and black-and-white printers. </P>
<H3><A NAME="3_7_9">3.7.9 texttops</A></H3>
<P>The texttops filter converts text files into PostScript. </P>
<H2><A NAME="3_8">3.8 Scheduler</A></H2>
<P>The scheduler is a fully-functional HTTP/1.1 and IPP/1.1 server that
manages the printers, classes, and jobs in the system. It also handles
a simple broadcast-based directory service so that remote print queues
and classes can be accessed transparently from the local system. </P>
<H3><A NAME="3_8_1">3.8.1 Authorization</A></H3>
<P>The authorization module is responsible for performing access
control and authentication for all HTTP and IPP requests entering the
system. </P>
<H3><A NAME="3_8_2">3.8.2 Classes</A></H3>
<P>The classes module is responsible for managing printer classes in
the system. Each class is a collection of local and/or remote printers.
The classes module also reads and writes the classes configuration
file. </P>
<H3><A NAME="3_8_3">3.8.3 Client</A></H3>
<P>The client module is responsible for all HTTP client communications.
It handles listening on selected interfaces, accepting connections
from prospective clients, processing incoming HTTP requests, and
sending HTTP responses to those requests. The client module also is
responsible for executing the external CGI programs as needed to
support web-based printer, class, and job status monitoring and
administration. </P>
<P>Once authorized, all IPP requests are sent to the IPP module. </P>
<H3><A NAME="3_8_4">3.8.4 Configuration</A></H3>
<P>The configuration module is responsible for reading the CUPS
configuration file and initializing the appropriate data structures and
values. The configuration module also stops CUPS services before
reading the configuration file and restarts them after the
configuration file has been read. </P>
<H3><A NAME="3_8_5">3.8.5 Devices</A></H3>
<P>The devices module is responsible for managing the list of available
devices for the CUPS-Get-Devices operation. </P>
<H3><A NAME="3_8_6">3.8.6 Directory Services</A></H3>
<P>The directory services module sends and recieves printer state
information over a broadcast socket. Remote printers and classes are
automatically added to or removed from the local printer and class
lists as needed. </P>
<P>The directory services module can only recieve printer state
information over a single UDP port, however it can broadcast to
multiple addresses and ports as needed. </P>
<H3><A NAME="3_8_7">3.8.7 IPP</A></H3>
<P>The IPP module handles IPP requests and acts accordingly. URI
validation is also performed here, as a client can post IPP data to any
URI on the server which might sidestep the access control or
authentication of the HTTP server. </P>
<H3><A NAME="3_8_8">3.8.8 Jobs</A></H3>
<P>The jobs module manages print jobs, starts filter and backend
processes for jobs to be printed, and monitors status messages from
those filters and backends. </P>
<H3><A NAME="3_8_9">3.8.9 Logging</A></H3>
<P>The logging module manages the access, error, and page log files
that are generated by the scheduler. </P>
<H3><A NAME="3_8_10">3.8.10 Main</A></H3>
<P>The main module is responsible for timing out and dispatching input
and output for client connections. It also watches for incoming <CODE>
SIGHUP</CODE> and <CODE>SIGCHLD</CODE> signals, reloads the server
configuration files as needed, and handles child process errors and
exits. </P>
<H3><A NAME="3_8_11">3.8.11 MIME</A></H3>
<P>The Multimedia Internet Mail Exchange module manages a MIME type and
conversion database that supports file typing by extension and content
and least-cost file filtering from a source to a destination file type. </P>
<H3><A NAME="3_8_12">3.8.12 PPDs</A></H3>
<P>The PPDs module is responsible for managing the list of available
PPD files for the CUPS-Get-PPDs operation. </P>
<H3><A NAME="3_8_13">3.8.13 Printers</A></H3>
<P>The printers module is responsible for managing printers and PPD
files in the system. The printers module also reads and writes the
printers configuration file. </P>
<H2><A NAME="3_9">3.9 System V Commands</A></H2>
<P>The System V commands provide a robust command-line interface to
CUPS to submit and control printers and jobs. </P>
<H3><A NAME="3_9_1">3.9.1 accept</A></H3>
<P>The accept command tells the scheduler to accept new jobs for
specific printers. </P>
<H3><A NAME="3_9_2">3.9.2 cancel</A></H3>
<P>The cancel command tells the scheduler to cancel one or more jobs
that are queued for printing. </P>
<H3><A NAME="3_9_3">3.9.3 disable</A></H3>
<P>The disable command tells the scheduler to stop printing jobs on the
specified printers. </P>
<H3><A NAME="3_9_4">3.9.4 enable</A></H3>
<P>The enable command tells the scheduler to start printing jobs on the
specified printers. </P>
<H3><A NAME="3_9_5">3.9.5 lp</A></H3>
<P>The lp command submits submits files for printing. Unlike the
standard System V lp command, a single CUPS lp command will generate a
separate job ID for each file that is printed. Also, the Solaris &quot;f&quot;,
&quot;H&quot;, &quot;P&quot;, &quot;S&quot;, and &quot;y&quot; options are silently ignored. </P>
<H3><A NAME="3_9_6">3.9.6 lpadmin</A></H3>
<P>The lpadmin command manages printer queues and classes. The Solaris
&quot;A&quot;, &quot;F&quot;, &quot;I&quot;, &quot;M&quot;, &quot;P&quot;, &quot;Q&quot;, &quot;S&quot;, &quot;T&quot;, &quot;U&quot;, &quot;W&quot;, &quot;f&quot;, &quot;l&quot;, &quot;m&quot;, &quot;o&quot;,
&quot;s&quot;, &quot;t&quot;, and &quot;u&quot; options are not supported, and new options &quot;P&quot; (PPD
file) and &quot;E&quot; (enable and accept) are provided to configure
CUPS-specific features. </P>
<H3><A NAME="3_9_7">3.9.7 lpinfo</A></H3>
<P>The lpinfo command lists the available PPD files or devices as
selected by the user. </P>
<H3><A NAME="3_9_8">3.9.8 lpmove</A></H3>
<P>The lpmove command moves a print job to a new destination. </P>
<H3><A NAME="3_9_9">3.9.9 lpoptions</A></H3>
<P>The lpoptions command manages user-defined printers and options. </P>
<H3><A NAME="3_9_10">3.9.10 lpstat</A></H3>
<P>The lpstat command lists printers, classes, and jobs as requested by
the user. </P>
<H3><A NAME="3_9_11">3.9.11 reject</A></H3>
<P>The reject command tells the scheduler not to accept new jobs for
specific printers. </P>
<H1 TYPE="A" VALUE="1"><A NAME="4">A Glossary</A></H1>
<H2><A NAME="4_1">A.1 Terms</A></H2>
<DL>
<DT>C </DT>
<DD>A computer language. </DD>
<DT>parallel </DT>
<DD>Sending or receiving data more than 1 bit at a time. </DD>
<DT>pipe </DT>
<DD>A one-way communications channel between two programs. </DD>
<DT>serial </DT>
<DD>Sending or receiving data 1 bit at a time. </DD>
<DT>socket </DT>
<DD>A two-way network communications channel. </DD>
</DL>
<H2><A NAME="4_2">A.2 Acronyms</A></H2>
<DL>
<DT>ASCII </DT>
<DD>American Standard Code for Information Interchange </DD>
<DT>CUPS </DT>
<DD>Common UNIX Printing System </DD>
<DT>ESC/P </DT>
<DD>EPSON Standard Code for Printers </DD>
<DT>FTP </DT>
<DD>File Transfer Protocol </DD>
<DT>HP-GL </DT>
<DD>Hewlett-Packard Graphics Language </DD>
<DT>HP-PCL </DT>
<DD>Hewlett-Packard Page Control Language </DD>
<DT>HP-PJL </DT>
<DD>Hewlett-Packard Printer Job Language </DD>
<DT>IETF </DT>
<DD>Internet Engineering Task Force </DD>
<DT>IPP </DT>
<DD>Internet Printing Protocol </DD>
<DT>ISO </DT>
<DD>International Standards Organization </DD>
<DT>LPD </DT>
<DD>Line Printer Daemon </DD>
<DT>MIME </DT>
<DD>Multimedia Internet Mail Exchange </DD>
<DT>PPD </DT>
<DD>PostScript Printer Description </DD>
<DT>SMB </DT>
<DD>Server Message Block </DD>
<DT>TFTP </DT>
<DD>Trivial File Transfer Protocol </DD>
</DL>
</BODY>
</HTML>
+999
Ver Arquivo
@@ -0,0 +1,999 @@
%PDF-1.2
%âãÏÓ
1 0 obj<</Producer(htmldoc 1.8.8 Copyright 1997-2000 Easy Software Products, All Rights Reserved.)/CreationDate(D:20000731155344Z)/Title( CUPS Software Design Description)/Author(Easy Software Products)>>endobj
2 0 obj<</Type/Encoding/Differences[ 32/space/exclam/quotedbl/numbersign/dollar/percent/ampersand/quotesingle/parenleft/parenright/asterisk/plus/comma/minus/period/slash/zero/one/two/three/four/five/six/seven/eight/nine/colon/semicolon/less/equal/greater/question/at/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/bracketleft/backslash/bracketright/asciicircum/underscore/grave/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/braceleft/bar/braceright/asciitilde 128/Euro 130/quotesinglbase/florin/quotedblbase/ellipsis/dagger/daggerdbl/circumflex/perthousand/Scaron/guilsinglleft/OE 145/quoteleft/quoteright/quotedblleft/quotedblright/bullet/endash/emdash/tilde/trademark/scaron/guilsinglright/oe 159/Ydieresis/space/exclamdown/cent/sterling/currency/yen/brokenbar/section/dieresis/copyright/ordfeminine/guillemotleft/logicalnot/hyphen/registered/macron/degree/plusminus/twosuperior/threesuperior/acute/mu/paragraph/periodcentered/cedilla/onesuperior/ordmasculine/guillemotright/onequarter/onehalf/threequarters/questiondown/Agrave/Aacute/Acircumflex/Atilde/Adieresis/Aring/AE/Ccedilla/Egrave/Eacute/Ecircumflex/Edieresis/Igrave/Iacute/Icircumflex/Idieresis/Eth/Ntilde/Ograve/Oacute/Ocircumflex/Otilde/Odieresis/multiply/Oslash/Ugrave/Uacute/Ucircumflex/Udieresis/Yacute/Thorn/germandbls/agrave/aacute/acircumflex/atilde/adieresis/aring/ae/ccedilla/egrave/eacute/ecircumflex/edieresis/igrave/iacute/icircumflex/idieresis/eth/ntilde/ograve/oacute/ocircumflex/otilde/odieresis/divide/oslash/ugrave/uacute/ucircumflex/udieresis/yacute/thorn/ydieresis]>>endobj
3 0 obj<</Type/Font/Subtype/Type1/BaseFont/Courier/Encoding 2 0 R>>endobj
4 0 obj<</Type/Font/Subtype/Type1/BaseFont/Courier-Oblique/Encoding 2 0 R>>endobj
5 0 obj<</Type/Font/Subtype/Type1/BaseFont/Times-Roman/Encoding 2 0 R>>endobj
6 0 obj<</Type/Font/Subtype/Type1/BaseFont/Times-Bold/Encoding 2 0 R>>endobj
7 0 obj<</Type/Font/Subtype/Type1/BaseFont/Times-Italic/Encoding 2 0 R>>endobj
8 0 obj<</Type/Font/Subtype/Type1/BaseFont/Helvetica/Encoding 2 0 R>>endobj
9 0 obj<</Type/Font/Subtype/Type1/BaseFont/Helvetica-Bold/Encoding 2 0 R>>endobj
10 0 obj<</Type/Font/Subtype/Type1/BaseFont/Symbol>>endobj
11 0 obj<</S/URI/URI(http://www.easysw.com)>>endobj
12 0 obj<</Subtype/Link/Rect[533.8 577.0 555.2 590.0]/Border[0 0 0]/A 11 0 R>>endobj
13 0 obj<</S/URI/URI(http://www.easysw.com)>>endobj
14 0 obj<</Subtype/Link/Rect[72.0 563.8 153.0 576.8]/Border[0 0 0]/A 13 0 R>>endobj
15 0 obj[12 0 R
14 0 R
]endobj
16 0 obj<</S/URI/URI(http://partners.adobe.com/asn/developer/PDFS/TN/5003.PPD_Spec_v4.3.pdf)>>endobj
17 0 obj<</Subtype/Link/Rect[108.0 418.6 190.8 431.6]/Border[0 0 0]/A 16 0 R>>endobj
18 0 obj<</S/URI/URI(http://partners.adobe.com/asn/developer/PDFS/TN/5003.PPD_Spec_v4.3.pdf)>>endobj
19 0 obj<</Subtype/Link/Rect[188.1 418.6 433.1 431.6]/Border[0 0 0]/A 18 0 R>>endobj
20 0 obj<</S/URI/URI(http://partners.adobe.com/asn/developer/PDFS/TN/5003.PPD_Spec_v4.3.pdf)>>endobj
21 0 obj<</Subtype/Link/Rect[430.3 418.6 446.8 431.6]/Border[0 0 0]/A 20 0 R>>endobj
22 0 obj<</S/URI/URI(http://partners.adobe.com/asn/developer/PDFS/TN/PLRM.pdf)>>endobj
23 0 obj<</Subtype/Link/Rect[108.0 405.4 190.8 418.4]/Border[0 0 0]/A 22 0 R>>endobj
24 0 obj<</S/URI/URI(http://partners.adobe.com/asn/developer/PDFS/TN/PLRM.pdf)>>endobj
25 0 obj<</Subtype/Link/Rect[188.1 405.4 346.6 418.4]/Border[0 0 0]/A 24 0 R>>endobj
26 0 obj<</S/URI/URI(http://www.ietf.org/rfc/rfc1179.txt)>>endobj
27 0 obj<</Subtype/Link/Rect[108.0 339.4 291.9 352.4]/Border[0 0 0]/A 26 0 R>>endobj
28 0 obj<</S/URI/URI(http://www.ietf.org/rfc/rfc2567.txt)>>endobj
29 0 obj<</Subtype/Link/Rect[108.0 326.2 362.5 339.2]/Border[0 0 0]/A 28 0 R>>endobj
30 0 obj<</S/URI/URI(http://www.ietf.org/rfc/rfc2568.txt)>>endobj
31 0 obj<</Subtype/Link/Rect[108.0 313.0 394.3 326.0]/Border[0 0 0]/A 30 0 R>>endobj
32 0 obj<</S/URI/URI(http://www.ietf.org/rfc/rfc2569.txt)>>endobj
33 0 obj<</Subtype/Link/Rect[108.0 299.8 343.3 312.8]/Border[0 0 0]/A 32 0 R>>endobj
34 0 obj<</S/URI/URI(http://www.ietf.org/rfc/rfc2616.txt)>>endobj
35 0 obj<</Subtype/Link/Rect[108.0 286.6 345.3 299.6]/Border[0 0 0]/A 34 0 R>>endobj
36 0 obj<</S/URI/URI(http://www.ietf.org/rfc/rfc2617.txt)>>endobj
37 0 obj<</Subtype/Link/Rect[108.0 273.4 368.9 286.4]/Border[0 0 0]/A 36 0 R>>endobj
38 0 obj[17 0 R
19 0 R
21 0 R
23 0 R
25 0 R
27 0 R
29 0 R
31 0 R
33 0 R
35 0 R
37 0 R
]endobj
39 0 obj<</Subtype/Link/Rect[72.0 670.8 107.8 683.8]/Border[0 0 0]/Dest[212 0 R/XYZ null 798 0]>>endobj
40 0 obj<</Subtype/Link/Rect[108.0 657.6 183.8 670.6]/Border[0 0 0]/Dest[212 0 R/XYZ null 745 0]>>endobj
41 0 obj<</Subtype/Link/Rect[108.0 644.4 203.0 657.4]/Border[0 0 0]/Dest[212 0 R/XYZ null 672 0]>>endobj
42 0 obj<</Subtype/Link/Rect[108.0 631.2 216.4 644.2]/Border[0 0 0]/Dest[212 0 R/XYZ null 467 0]>>endobj
43 0 obj<</Subtype/Link/Rect[72.0 604.8 131.6 617.8]/Border[0 0 0]/Dest[218 0 R/XYZ null 798 0]>>endobj
44 0 obj<</Subtype/Link/Rect[108.0 591.6 222.6 604.6]/Border[0 0 0]/Dest[218 0 R/XYZ null 745 0]>>endobj
45 0 obj<</Subtype/Link/Rect[108.0 578.4 202.4 591.4]/Border[0 0 0]/Dest[218 0 R/XYZ null 540 0]>>endobj
46 0 obj<</Subtype/Link/Rect[72.0 552.0 160.0 565.0]/Border[0 0 0]/Dest[224 0 R/XYZ null 798 0]>>endobj
47 0 obj<</Subtype/Link/Rect[108.0 538.8 167.3 551.8]/Border[0 0 0]/Dest[224 0 R/XYZ null 587 0]>>endobj
48 0 obj<</Subtype/Link/Rect[144.0 525.6 182.8 538.6]/Border[0 0 0]/Dest[224 0 R/XYZ null 327 0]>>endobj
49 0 obj<</Subtype/Link/Rect[144.0 512.4 182.8 525.4]/Border[0 0 0]/Dest[224 0 R/XYZ null 257 0]>>endobj
50 0 obj<</Subtype/Link/Rect[144.0 499.2 201.7 512.2]/Border[0 0 0]/Dest[224 0 R/XYZ null 164 0]>>endobj
51 0 obj<</Subtype/Link/Rect[144.0 486.0 192.6 499.0]/Border[0 0 0]/Dest[227 0 R/XYZ null 744 0]>>endobj
52 0 obj<</Subtype/Link/Rect[144.0 472.8 196.9 485.8]/Border[0 0 0]/Dest[227 0 R/XYZ null 544 0]>>endobj
53 0 obj<</Subtype/Link/Rect[144.0 459.6 184.0 472.6]/Border[0 0 0]/Dest[227 0 R/XYZ null 424 0]>>endobj
54 0 obj<</Subtype/Link/Rect[108.0 446.4 217.1 459.4]/Border[0 0 0]/Dest[227 0 R/XYZ null 346 0]>>endobj
55 0 obj<</Subtype/Link/Rect[144.0 433.2 182.2 446.2]/Border[0 0 0]/Dest[227 0 R/XYZ null 257 0]>>endobj
56 0 obj<</Subtype/Link/Rect[144.0 420.0 182.8 433.0]/Border[0 0 0]/Dest[227 0 R/XYZ null 148 0]>>endobj
57 0 obj<</Subtype/Link/Rect[144.0 406.8 181.0 419.8]/Border[0 0 0]/Dest[230 0 R/XYZ null 768 0]>>endobj
58 0 obj<</Subtype/Link/Rect[144.0 393.6 189.5 406.6]/Border[0 0 0]/Dest[230 0 R/XYZ null 698 0]>>endobj
59 0 obj<</Subtype/Link/Rect[108.0 380.4 143.4 393.4]/Border[0 0 0]/Dest[230 0 R/XYZ null 656 0]>>endobj
60 0 obj<</Subtype/Link/Rect[144.0 367.2 212.4 380.2]/Border[0 0 0]/Dest[230 0 R/XYZ null 555 0]>>endobj
61 0 obj<</Subtype/Link/Rect[144.0 354.0 215.5 367.0]/Border[0 0 0]/Dest[230 0 R/XYZ null 485 0]>>endobj
62 0 obj<</Subtype/Link/Rect[144.0 340.8 203.3 353.8]/Border[0 0 0]/Dest[230 0 R/XYZ null 416 0]>>endobj
63 0 obj<</Subtype/Link/Rect[144.0 327.6 218.5 340.6]/Border[0 0 0]/Dest[230 0 R/XYZ null 359 0]>>endobj
64 0 obj<</Subtype/Link/Rect[108.0 314.4 310.6 327.4]/Border[0 0 0]/Dest[230 0 R/XYZ null 305 0]>>endobj
65 0 obj<</Subtype/Link/Rect[144.0 301.2 272.3 314.2]/Border[0 0 0]/Dest[230 0 R/XYZ null 217 0]>>endobj
66 0 obj<</Subtype/Link/Rect[144.0 288.0 242.4 301.0]/Border[0 0 0]/Dest[233 0 R/XYZ null 768 0]>>endobj
67 0 obj<</Subtype/Link/Rect[144.0 274.8 230.8 287.8]/Border[0 0 0]/Dest[233 0 R/XYZ null 698 0]>>endobj
68 0 obj<</Subtype/Link/Rect[144.0 261.6 258.3 274.6]/Border[0 0 0]/Dest[233 0 R/XYZ null 628 0]>>endobj
69 0 obj<</Subtype/Link/Rect[144.0 248.4 235.1 261.4]/Border[0 0 0]/Dest[233 0 R/XYZ null 559 0]>>endobj
70 0 obj<</Subtype/Link/Rect[108.0 235.2 227.2 248.2]/Border[0 0 0]/Dest[233 0 R/XYZ null 504 0]>>endobj
71 0 obj<</Subtype/Link/Rect[144.0 222.0 317.9 235.0]/Border[0 0 0]/Dest[233 0 R/XYZ null 416 0]>>endobj
72 0 obj<</Subtype/Link/Rect[144.0 208.8 300.1 221.8]/Border[0 0 0]/Dest[233 0 R/XYZ null 346 0]>>endobj
73 0 obj<</Subtype/Link/Rect[144.0 195.6 302.6 208.6]/Border[0 0 0]/Dest[233 0 R/XYZ null 263 0]>>endobj
74 0 obj<</Subtype/Link/Rect[144.0 182.4 247.9 195.4]/Border[0 0 0]/Dest[233 0 R/XYZ null 207 0]>>endobj
75 0 obj<</Subtype/Link/Rect[144.0 169.2 262.2 182.2]/Border[0 0 0]/Dest[236 0 R/XYZ null 768 0]>>endobj
76 0 obj<</Subtype/Link/Rect[144.0 156.0 243.0 169.0]/Border[0 0 0]/Dest[236 0 R/XYZ null 711 0]>>endobj
77 0 obj<</Subtype/Link/Rect[108.0 142.8 166.0 155.8]/Border[0 0 0]/Dest[236 0 R/XYZ null 656 0]>>endobj
78 0 obj<</Subtype/Link/Rect[144.0 129.6 261.6 142.6]/Border[0 0 0]/Dest[236 0 R/XYZ null 568 0]>>endobj
79 0 obj<</Subtype/Link/Rect[144.0 116.4 240.6 129.4]/Border[0 0 0]/Dest[236 0 R/XYZ null 512 0]>>endobj
80 0 obj<</Subtype/Link/Rect[108.0 103.2 152.6 116.2]/Border[0 0 0]/Dest[236 0 R/XYZ null 444 0]>>endobj
81 0 obj<</Subtype/Link/Rect[144.0 90.0 206.6 103.0]/Border[0 0 0]/Dest[236 0 R/XYZ null 197 0]>>endobj
82 0 obj<</Subtype/Link/Rect[144.0 76.8 214.0 89.8]/Border[0 0 0]/Dest[239 0 R/XYZ null 768 0]>>endobj
83 0 obj<</Subtype/Link/Rect[144.0 63.6 228.6 76.6]/Border[0 0 0]/Dest[239 0 R/XYZ null 711 0]>>endobj
84 0 obj[39 0 R
40 0 R
41 0 R
42 0 R
43 0 R
44 0 R
45 0 R
46 0 R
47 0 R
48 0 R
49 0 R
50 0 R
51 0 R
52 0 R
53 0 R
54 0 R
55 0 R
56 0 R
57 0 R
58 0 R
59 0 R
60 0 R
61 0 R
62 0 R
63 0 R
64 0 R
65 0 R
66 0 R
67 0 R
68 0 R
69 0 R
70 0 R
71 0 R
72 0 R
73 0 R
74 0 R
75 0 R
76 0 R
77 0 R
78 0 R
79 0 R
80 0 R
81 0 R
82 0 R
83 0 R
]endobj
85 0 obj<</Subtype/Link/Rect[108.0 670.8 165.8 683.8]/Border[0 0 0]/Dest[239 0 R/XYZ null 655 0]>>endobj
86 0 obj<</Subtype/Link/Rect[108.0 657.6 160.9 670.6]/Border[0 0 0]/Dest[239 0 R/XYZ null 598 0]>>endobj
87 0 obj<</Subtype/Link/Rect[108.0 644.4 175.5 657.4]/Border[0 0 0]/Dest[239 0 R/XYZ null 529 0]>>endobj
88 0 obj<</Subtype/Link/Rect[108.0 631.2 191.4 644.2]/Border[0 0 0]/Dest[239 0 R/XYZ null 472 0]>>endobj
89 0 obj<</Subtype/Link/Rect[108.0 618.0 176.7 631.0]/Border[0 0 0]/Dest[239 0 R/XYZ null 403 0]>>endobj
90 0 obj<</Subtype/Link/Rect[108.0 604.8 167.6 617.8]/Border[0 0 0]/Dest[239 0 R/XYZ null 333 0]>>endobj
91 0 obj<</Subtype/Link/Rect[72.0 591.6 132.5 604.6]/Border[0 0 0]/Dest[239 0 R/XYZ null 292 0]>>endobj
92 0 obj<</Subtype/Link/Rect[108.0 578.4 193.9 591.4]/Border[0 0 0]/Dest[239 0 R/XYZ null 190 0]>>endobj
93 0 obj<</Subtype/Link/Rect[108.0 565.2 165.8 578.2]/Border[0 0 0]/Dest[242 0 R/XYZ null 768 0]>>endobj
94 0 obj<</Subtype/Link/Rect[108.0 552.0 159.6 565.0]/Border[0 0 0]/Dest[242 0 R/XYZ null 698 0]>>endobj
95 0 obj<</Subtype/Link/Rect[108.0 538.8 194.5 551.8]/Border[0 0 0]/Dest[242 0 R/XYZ null 575 0]>>endobj
96 0 obj<</Subtype/Link/Rect[108.0 525.6 168.2 538.6]/Border[0 0 0]/Dest[242 0 R/XYZ null 493 0]>>endobj
97 0 obj<</Subtype/Link/Rect[108.0 512.4 214.9 525.4]/Border[0 0 0]/Dest[242 0 R/XYZ null 423 0]>>endobj
98 0 obj<</Subtype/Link/Rect[108.0 499.2 148.6 512.2]/Border[0 0 0]/Dest[242 0 R/XYZ null 314 0]>>endobj
99 0 obj<</Subtype/Link/Rect[108.0 486.0 152.3 499.0]/Border[0 0 0]/Dest[242 0 R/XYZ null 231 0]>>endobj
100 0 obj<</Subtype/Link/Rect[108.0 472.8 170.0 485.8]/Border[0 0 0]/Dest[242 0 R/XYZ null 161 0]>>endobj
101 0 obj<</Subtype/Link/Rect[108.0 459.6 161.5 472.6]/Border[0 0 0]/Dest[245 0 R/XYZ null 768 0]>>endobj
102 0 obj<</Subtype/Link/Rect[108.0 446.4 168.2 459.4]/Border[0 0 0]/Dest[245 0 R/XYZ null 685 0]>>endobj
103 0 obj<</Subtype/Link/Rect[108.0 433.2 162.7 446.2]/Border[0 0 0]/Dest[245 0 R/XYZ null 602 0]>>endobj
104 0 obj<</Subtype/Link/Rect[108.0 420.0 172.5 433.0]/Border[0 0 0]/Dest[245 0 R/XYZ null 532 0]>>endobj
105 0 obj<</Subtype/Link/Rect[72.0 406.8 184.5 419.8]/Border[0 0 0]/Dest[245 0 R/XYZ null 478 0]>>endobj
106 0 obj<</Subtype/Link/Rect[108.0 393.6 160.8 406.6]/Border[0 0 0]/Dest[245 0 R/XYZ null 389 0]>>endobj
107 0 obj<</Subtype/Link/Rect[108.0 380.4 160.8 393.4]/Border[0 0 0]/Dest[245 0 R/XYZ null 333 0]>>endobj
108 0 obj<</Subtype/Link/Rect[108.0 367.2 163.9 380.2]/Border[0 0 0]/Dest[245 0 R/XYZ null 277 0]>>endobj
109 0 obj<</Subtype/Link/Rect[108.0 354.0 161.5 367.0]/Border[0 0 0]/Dest[245 0 R/XYZ null 220 0]>>endobj
110 0 obj<</Subtype/Link/Rect[108.0 340.8 141.3 353.8]/Border[0 0 0]/Dest[245 0 R/XYZ null 164 0]>>endobj
111 0 obj<</Subtype/Link/Rect[108.0 327.6 168.8 340.6]/Border[0 0 0]/Dest[248 0 R/XYZ null 768 0]>>endobj
112 0 obj<</Subtype/Link/Rect[108.0 314.4 159.0 327.4]/Border[0 0 0]/Dest[248 0 R/XYZ null 685 0]>>endobj
113 0 obj<</Subtype/Link/Rect[108.0 301.2 165.8 314.2]/Border[0 0 0]/Dest[248 0 R/XYZ null 628 0]>>endobj
114 0 obj<</Subtype/Link/Rect[108.0 288.0 173.7 301.0]/Border[0 0 0]/Dest[248 0 R/XYZ null 572 0]>>endobj
115 0 obj<</Subtype/Link/Rect[108.0 274.8 162.1 287.8]/Border[0 0 0]/Dest[248 0 R/XYZ null 515 0]>>endobj
116 0 obj<</Subtype/Link/Rect[108.0 261.6 162.7 274.6]/Border[0 0 0]/Dest[248 0 R/XYZ null 459 0]>>endobj
117 0 obj<</Subtype/Link/Rect[36.0 235.2 88.2 248.2]/Border[0 0 0]/Dest[254 0 R/XYZ null 798 0]>>endobj
118 0 obj<</Subtype/Link/Rect[72.0 222.0 119.0 235.0]/Border[0 0 0]/Dest[254 0 R/XYZ null 745 0]>>endobj
119 0 obj<</Subtype/Link/Rect[72.0 208.8 136.8 221.8]/Border[0 0 0]/Dest[254 0 R/XYZ null 566 0]>>endobj
120 0 obj[85 0 R
86 0 R
87 0 R
88 0 R
89 0 R
90 0 R
91 0 R
92 0 R
93 0 R
94 0 R
95 0 R
96 0 R
97 0 R
98 0 R
99 0 R
100 0 R
101 0 R
102 0 R
103 0 R
104 0 R
105 0 R
106 0 R
107 0 R
108 0 R
109 0 R
110 0 R
111 0 R
112 0 R
113 0 R
114 0 R
115 0 R
116 0 R
117 0 R
118 0 R
119 0 R
]endobj
121 0 obj<</Dests 122 0 R>>endobj
122 0 obj<</Kids[123 0 R]>>endobj
123 0 obj<</Limits[(1)(sdd.shtml)]/Names[(1)124 0 R(1_1)125 0 R(1_2)126 0 R(1_3)127 0 R(2)128 0 R(2_1)129 0 R(2_2)130 0 R(3)131 0 R(3_1)132 0 R(3_1_1)133 0 R(3_1_2)134 0 R(3_1_3)135 0 R(3_1_4)136 0 R(3_1_5)137 0 R(3_1_6)138 0 R(3_2)139 0 R(3_2_1)140 0 R(3_2_2)141 0 R(3_2_3)142 0 R(3_2_4)143 0 R(3_3)144 0 R(3_3_1)145 0 R(3_3_2)146 0 R(3_3_3)147 0 R(3_3_4)148 0 R(3_4)149 0 R(3_4_1)150 0 R(3_4_2)151 0 R(3_4_3)152 0 R(3_4_4)153 0 R(3_4_5)154 0 R(3_5)155 0 R(3_5_1)156 0 R(3_5_2)157 0 R(3_5_3)158 0 R(3_5_4)159 0 R(3_5_5)160 0 R(3_5_6)161 0 R(3_6)162 0 R(3_6_1)163 0 R(3_6_2)164 0 R(3_7)165 0 R(3_7_1)166 0 R(3_7_2)167 0 R(3_7_3)168 0 R(3_7_4)169 0 R(3_7_5)170 0 R(3_7_6)171 0 R(3_7_7)172 0 R(3_7_8)173 0 R(3_7_9)174 0 R(3_8)175 0 R(3_8_1)176 0 R(3_8_10)177 0 R(3_8_11)178 0 R(3_8_12)179 0 R(3_8_13)180 0 R(3_8_2)181 0 R(3_8_3)182 0 R(3_8_4)183 0 R(3_8_5)184 0 R(3_8_6)185 0 R(3_8_7)186 0 R(3_8_8)187 0 R(3_8_9)188 0 R(3_9)189 0 R(3_9_1)190 0 R(3_9_10)191 0 R(3_9_11)192 0 R(3_9_2)193 0 R(3_9_3)194 0 R(3_9_4)195 0 R(3_9_5)196 0 R(3_9_6)197 0 R(3_9_7)198 0 R(3_9_8)199 0 R(3_9_9)200 0 R(4)201 0 R(4_1)202 0 R(4_2)203 0 R(sdd.shtml)204 0 R]>>endobj
124 0 obj<</D[212 0 R/XYZ null 798 null]>>endobj
125 0 obj<</D[212 0 R/XYZ null 745 null]>>endobj
126 0 obj<</D[212 0 R/XYZ null 672 null]>>endobj
127 0 obj<</D[212 0 R/XYZ null 467 null]>>endobj
128 0 obj<</D[218 0 R/XYZ null 798 null]>>endobj
129 0 obj<</D[218 0 R/XYZ null 745 null]>>endobj
130 0 obj<</D[218 0 R/XYZ null 540 null]>>endobj
131 0 obj<</D[224 0 R/XYZ null 798 null]>>endobj
132 0 obj<</D[224 0 R/XYZ null 587 null]>>endobj
133 0 obj<</D[224 0 R/XYZ null 327 null]>>endobj
134 0 obj<</D[224 0 R/XYZ null 257 null]>>endobj
135 0 obj<</D[224 0 R/XYZ null 164 null]>>endobj
136 0 obj<</D[227 0 R/XYZ null 744 null]>>endobj
137 0 obj<</D[227 0 R/XYZ null 544 null]>>endobj
138 0 obj<</D[227 0 R/XYZ null 424 null]>>endobj
139 0 obj<</D[227 0 R/XYZ null 346 null]>>endobj
140 0 obj<</D[227 0 R/XYZ null 257 null]>>endobj
141 0 obj<</D[227 0 R/XYZ null 148 null]>>endobj
142 0 obj<</D[230 0 R/XYZ null 768 null]>>endobj
143 0 obj<</D[230 0 R/XYZ null 698 null]>>endobj
144 0 obj<</D[230 0 R/XYZ null 656 null]>>endobj
145 0 obj<</D[230 0 R/XYZ null 555 null]>>endobj
146 0 obj<</D[230 0 R/XYZ null 485 null]>>endobj
147 0 obj<</D[230 0 R/XYZ null 416 null]>>endobj
148 0 obj<</D[230 0 R/XYZ null 359 null]>>endobj
149 0 obj<</D[230 0 R/XYZ null 305 null]>>endobj
150 0 obj<</D[230 0 R/XYZ null 217 null]>>endobj
151 0 obj<</D[233 0 R/XYZ null 768 null]>>endobj
152 0 obj<</D[233 0 R/XYZ null 698 null]>>endobj
153 0 obj<</D[233 0 R/XYZ null 628 null]>>endobj
154 0 obj<</D[233 0 R/XYZ null 559 null]>>endobj
155 0 obj<</D[233 0 R/XYZ null 504 null]>>endobj
156 0 obj<</D[233 0 R/XYZ null 416 null]>>endobj
157 0 obj<</D[233 0 R/XYZ null 346 null]>>endobj
158 0 obj<</D[233 0 R/XYZ null 263 null]>>endobj
159 0 obj<</D[233 0 R/XYZ null 207 null]>>endobj
160 0 obj<</D[236 0 R/XYZ null 768 null]>>endobj
161 0 obj<</D[236 0 R/XYZ null 711 null]>>endobj
162 0 obj<</D[236 0 R/XYZ null 656 null]>>endobj
163 0 obj<</D[236 0 R/XYZ null 568 null]>>endobj
164 0 obj<</D[236 0 R/XYZ null 512 null]>>endobj
165 0 obj<</D[236 0 R/XYZ null 444 null]>>endobj
166 0 obj<</D[236 0 R/XYZ null 197 null]>>endobj
167 0 obj<</D[239 0 R/XYZ null 768 null]>>endobj
168 0 obj<</D[239 0 R/XYZ null 711 null]>>endobj
169 0 obj<</D[239 0 R/XYZ null 655 null]>>endobj
170 0 obj<</D[239 0 R/XYZ null 598 null]>>endobj
171 0 obj<</D[239 0 R/XYZ null 529 null]>>endobj
172 0 obj<</D[239 0 R/XYZ null 472 null]>>endobj
173 0 obj<</D[239 0 R/XYZ null 403 null]>>endobj
174 0 obj<</D[239 0 R/XYZ null 333 null]>>endobj
175 0 obj<</D[239 0 R/XYZ null 292 null]>>endobj
176 0 obj<</D[239 0 R/XYZ null 190 null]>>endobj
177 0 obj<</D[245 0 R/XYZ null 768 null]>>endobj
178 0 obj<</D[245 0 R/XYZ null 685 null]>>endobj
179 0 obj<</D[245 0 R/XYZ null 602 null]>>endobj
180 0 obj<</D[245 0 R/XYZ null 532 null]>>endobj
181 0 obj<</D[242 0 R/XYZ null 768 null]>>endobj
182 0 obj<</D[242 0 R/XYZ null 698 null]>>endobj
183 0 obj<</D[242 0 R/XYZ null 575 null]>>endobj
184 0 obj<</D[242 0 R/XYZ null 493 null]>>endobj
185 0 obj<</D[242 0 R/XYZ null 423 null]>>endobj
186 0 obj<</D[242 0 R/XYZ null 314 null]>>endobj
187 0 obj<</D[242 0 R/XYZ null 231 null]>>endobj
188 0 obj<</D[242 0 R/XYZ null 161 null]>>endobj
189 0 obj<</D[245 0 R/XYZ null 478 null]>>endobj
190 0 obj<</D[245 0 R/XYZ null 389 null]>>endobj
191 0 obj<</D[248 0 R/XYZ null 515 null]>>endobj
192 0 obj<</D[248 0 R/XYZ null 459 null]>>endobj
193 0 obj<</D[245 0 R/XYZ null 333 null]>>endobj
194 0 obj<</D[245 0 R/XYZ null 277 null]>>endobj
195 0 obj<</D[245 0 R/XYZ null 220 null]>>endobj
196 0 obj<</D[245 0 R/XYZ null 164 null]>>endobj
197 0 obj<</D[248 0 R/XYZ null 768 null]>>endobj
198 0 obj<</D[248 0 R/XYZ null 685 null]>>endobj
199 0 obj<</D[248 0 R/XYZ null 628 null]>>endobj
200 0 obj<</D[248 0 R/XYZ null 572 null]>>endobj
201 0 obj<</D[254 0 R/XYZ null 798 null]>>endobj
202 0 obj<</D[254 0 R/XYZ null 745 null]>>endobj
203 0 obj<</D[254 0 R/XYZ null 566 null]>>endobj
204 0 obj<</D[215 0 R/XYZ null 698 null]>>endobj
205 0 obj<</Type/Pages/MediaBox[0 0 595 792]/Count 20/Kids[206 0 R
209 0 R
260 0 R
263 0 R
212 0 R
215 0 R
218 0 R
221 0 R
224 0 R
227 0 R
230 0 R
233 0 R
236 0 R
239 0 R
242 0 R
245 0 R
248 0 R
251 0 R
254 0 R
257 0 R
]>>endobj
206 0 obj<</Type/Page/Parent 205 0 R/Contents 207 0 R/Resources<</ProcSet[/PDF/Text/ImageB/ImageC/ImageI]/Font<</F4 5 0 R/F8 8 0 R/F9 9 0 R>>>>>>endobj
207 0 obj<</Length 208 0 R/Filter/FlateDecode>>stream
xÚìÏsë8rÇIŠºÌ‰öŒî´üt§çyšÝ­ÚJñÙfvçÖ$ÁÊ!•S*Ç6•üÿ±~X"H€èn$è5¦jêÙE|ˆÆ·@ƒúÇOßòýÛßò?=å¿ýžÿçÿô,~*ÅOÿÈÛÿù×?þøÛï¿ÿºÏÿü—_Ÿò§§§·kýñõ¥ù÷¯|­ÿöœþº?•ßNå÷SùË©¼œÊ¿žÊ¿üÇ×?òÿýŸÿû¯¯ÿ–ÿíÛ׿ç‡oß¾>ÃKþ=ÿãõ§öcøä²+âõi»Ý>ÜËÛ?¶ß_—Î%^¶wY¤*w÷¯ËäOÜöû¸ē‰é½Ü?–KáÂC]о/ëå!"—x[ÎõœE¼r˜ë‰KåÒ!˜¾rÛg޹^òȾü\ÆÕ<DNJü×Sä¬$‡`¸D¹,pYë…Û.sÄ%"ç%þ2;W“E>ÊÏ3s=GžJRÎÉõ-òVâÃl\ŽuÐõV¾ÌÂ%²(
 B¹ü29×$X,0X –€Åƒ %ƒ/° ¬(ÚMÄåÝoÙ9h6×ÄXo`å\ûhò’LÀõ#𡬼sÕÑ,åÏ\M6A!|…gi,A
Ú Ñ ê£s5Ѭåà‹+›— 9Ä`™ãÅ`ž‹,öD.1?V{àÊàŠRç\uD98æY\‰c®}HÙ8媣`Jé++D91WTθš°ŒÒË
 
‹Š4ðZåªBÃ2t,OãQ ÔxŒsÆq‰±FãzX¢Æ#F,Ï%£FL×]w÷Ûí—×cy>|ðÛa0IwÅ÷_†ƒüxÂ[‡ÿîŠG’þÅ˃ŸßÝuoœ*=[ í,¸ö~ºªÛk[ça=xì.Bú±àæØ\ìPƒ–.Î$[q¹¸¡==·aMJ&³»XéÔœ.K™\¬@ž›
É貘ÇUùÑv‡]¶cqeSÙàÕ›eN¤ܯjؤ½s’
 ®|²¡ÅϼJé\Í Xd°˜ÎEùØÍÉÜZ9ƹfÂ"‚­¨\Õ FÈ1ŒȕυEÛи' –Y¹0p7ñú¥uZj+Cg‘¼c,Òé«
…«rÎX•½ÅÍÁ‘jÄ¥{.B J<—°ÒlKÃ7D=Ì:¸ÎåÛÁÉ %i=•œkˆàBf½ .Ú`Ø`¹Š¹2O”,Á W­Ç’ó ìÍПR4q‡ãÚa…„–¤8®´&1Š«žÙ#3ì€á«aÚz/8 [c¸²0Dƒ¢õ ‚«æfóuXiæ*B
J‡íÌ\Y OjOjäªÃê.d‡%F®"°îBú°ÒÄ•Ö]È'½1p5Á¸dZ“RW\wá¢ÄÄÀ•6ºÐRVŽr‰» 7æw£\u€Ý…[FJG¹*OŠ…²¢d”+ (2$*ÇVå'ÆB
ÃRåÓ©¹Z
“s! q5ÂÀÚÛ=W¢È£­ÔrAˆ"v@;-W¨jàLi­ã¡ªnè¯t\5-4”=Ùí§ž±¿ÿ.Ï´’T¹Æúù=¾aÀ
¢6(®–KH·Kh%ºÖRÕÓbQ®•–ër›®Îa‡Àà ¯Çé¹ £^
>ÜÌÑ–œáµCrí´\MçùÖ 1£$UsÑys¥Z®³í%·NH)}¢æÊ‰Îkœ+ÑsÝ´BPf=ègŒàp‡åz7.×MÛk¼b”¾Tq5ÔÊÀµÑrÝD° ¬•T؇ô¹WŠçZ鹊÷G”Q&ß
V<×–ByW¤çª/ŸÕPÌ1PRWF4C#×NËu¾×úü+ü’QØV
.A5C#WªçÚŸòáªÕr[¬àª©fhäŠõ\盽§5Rì•K,×êZ[Éu6Ž;êÊ12BªWNZ,×:{—'%WG¤(³ÔgO@•
ž«x j®Š5K5†ˆëWC6Ãq®ZÂp ÖbI…Ó5 ÊFÒâ¹Ä»Y¨¹®&EZ,ip-â\9%pžê¹*Öš(;
\n£á¬5;c+\ŒôÅq®æ"
®K‰kvª‰@“¤¥pµ¥×qgéB™ÐdcMãº(½Ž«àôWòD@“ë¢ô:®Œ3¾êÙwCÅuQz
WÍÛÃÈ0
¤h#!r]”^ÃUðûMÏ%s Æð2r•^Õñ6g
ÌÃlì¨\g¥Ws5Ì]Œ
㘴¶ÑR¹ÎJ¯æ½ØER2WÁ^f®“Ò«¹rfæŽÀ8f DQ)ëdÝ…~^¹e¢IàkSYŽ­\§Öç*®³Ý FÈ‘#š ”(ªT?º²k ±ÌukDŸ+?krN7Ä="àV̵ë>š>h¸Þ;а›‚]†Yw¹k6+IlºŠšô¸
Wuáiè†X!dr¸Ñ˜ÄjøCýsȵèÝJ´§•¸rŽlH[âã‹:\…’K\[°'¢@Ø¢C­€]Ÿ«VrU×Ê=öEèà£ÃDïû¯´ùÖÕÌŸêsí¯#èùVž«áxåÛ-â;^WÈ\OÌɱonn0¾d=äª\ÝT”‚lˆ{ó€¼0ÚT¹WWojò$ ð\{–l lbÕ¹.¶*qeÝKž„‰×ñÒáÊY²Ñ˜×Ó{Šyq—KΈÚ{ÈhzªX¯üPy8Å:F—« »òúh9ÔNþnï5ùÒ*¹Ä€+“,¯ñª è¨Wo'ÍéŧñýGH©\SßËy°†ÇeŽæãvQ°2Ÿ,+çEQÁse¼(*t.a#‡s5–r*WÍçª>š^¸
vt6מÍ•4™¿peM/\œ¥ùp‰'óg®úÃÉ<–kÎ-‡Í‹ó·•Ü:\[æ»uîªßFwÒ²ßmµwpœOm›.Ò,²Î-ï\·u›þà,•\×FÍÕI¿\¹r¶ûRãkT§×ćk¥äjÔûËÛ}©4fÜkbÄኔ\¹zß¿h£¶W]nj¯‰;×NÁU
UPn9Ár­4áËNÅ•r¸RW6|ŒŽ¹Î«Ëë51áp%C®wшﲫÝÊ-§h®š+Vqõó¡¸g¯r~ô'/ÙÅlp\ëQ®Ó¿^òHjÁZv,¥Šk£tEr<Џ¨ëdÞ7ÛnlÌ\—᯻?"éx@·‰+×à¢Zr—Ûj{‡àꤥÈ]|Ëíé71âp
.7.y<€
£®[‘"K~­lâŽÃÕ¿(—óM
-áðì8—Ðpz®”ÃÕ¿¨7RNf™*Œj1\·Ùÿj®˜ÃÕ»¨ðTà¹b\Šã|f.ÅEußÁnßÊ#`ÂÃÄžk¨Šã|f.ÝÀT5_ŽÜp
×^­óŠã|®áE…ÒÁ&ŒJ[=Ì®9·r‡Çù\Ër¥#Bq­Q\µÚÕš8JqœÁ5¼HËU;â*”ñÆË- é5qxœÁ5¼(S:"×Ã%¢"ÎSÇù0\ƒ‹´\?Œê´áò;ô¼RqœÃ5¸¨[ývGסµœm”MçÃp
.Òr?ŒjÕ£YU4ñ"Ú4®þE\-š+Uý6.5MìçCqõ/Òr¹ê^,ÕMìçCqõ/Òríùáa«68Íòþ ‰ýã|(®þEY/MõÊ•;ãŠK
W'T•šØ;·ãê]ÄçJ\ñ®óÛ‹_¾,{lÔMìçÃqõ.Ê;Š-qen¸:ù‡Ýxã¼ì‘ª›Ø;·ãê]4ˆ£*,WÚâæ)­Š«ó~(EO¢Må’/Ú÷#¢âÂùåªÇ¸äã|H.ÅÀn÷X®µW£‹ç¯AeNä’/ªúC%;s Ï\BsŠCqœÉ%_T÷$[DX®W;Ê.é"Ñ Í« ¸—|Q&°üÂeÎ=Üyä’Žóa¹ä‹
E2þW=/WÁá’.ªn»Ê·EÞÙ¹j—t‘è¶²¾Æ6ÓJ\‚Ã%_”ßö¿ž#Wé“«{œÍ%_T
ö+Càª8\òE½H0?qÙL—Q\Ù8WÃá’/gÆé>®Îq><Wï"©ÃÊbB®ƒ¾‰‡K¾HN#‚—qy#¶äÊ£îíZðS¹zýèN«i¸®oÐ4Qp¸ú=w–"p…S^Nù‡?ßÞ?oäZJ¬èžó2Ûâr{Ï\ù'×'׸V”+]&WöÉõÉõÉõÉõÉ…ãZr}rùçŠì¹Þf>ès¥”ºór=ŸÞa?bšK©;3×Cÿøšü²¡ÎæuÕ»êªHqPJÛ:k®|¾!çéw·§†u\y1Ô×áŒF~™WsÛìø9QeäÚÉÔ—Pì(É/4¬®KüuòÈȵ™‚ TSë¼;Àz齺 ®u+
M?\™j« ºã “Òdúu\©l)^¸š÷§»nÝî«ko»õʺ ®Dºµ®êºQ(¾unÚ‘À[v…².Ÿ«öÉUtv¬÷7ïÒqY·äsM]Õ2¿ú®òöNå“+ª›v^Ȭ©K㊯ۧoƒ8ñÆ•u—áòžÒߌ§©KãJ®£0qÙÄóÒŸá¦×VËIÚªº$®Õõq¼=™t®êöÓ5ä$mU]WÚ}tk;.CúáõÏÍÝ[ÙtĪ윑Ò×%qÏ]ÓÆ+W¢ûѧ“T<¶ÔçÊ/ƒô8„wÞ¸2]:ÎeO¹éÀd#©;x®ýåóŽŸ|ðÆuŽš¸1‘†‘¶.‰«¸ÈÐÑÒKo\—½Îûƒ:À:eR¼Ë¹¶.‰ nÙ¯qëë¢Z{þ⇬ã‹õu•\ÃÄÎEu¯G÷å«“Òkmñîm®¾X_—ÂU_ `ü`;®±}½n=é½ÄÕ0V[—ÂÕ\~<ºeK®±}ØByŽCš—ƺ.]_ˆ¾ç²Ú_ÚÌÒ|Õ¢¯Kàj/Žùô[\½,Ú¸ôdЍKá:;æ“[öÉÕyÑ–L¡ú’9]]
×Ù1×'ï“ëý ì —J•l:ZÇuvÌõ©¾—1ïë9Sš\ùPÔuñ~ùäËãÿc—‹|¶—‡á¤¦ÒLrTu \ÕÉOnÙ?×­µ«^(u@Õ%póÉ-OÁõ.
‰vÐŒÕ%póÉ-[raß-Z‹ÁX]—x÷b멸n‰×f®^]×Ù1ŸEr”Ë&ûø*™ìе\cu)\o&˜4·õS/\²{ãb§®.…ëM2âúì-¹JÜú¡k¬.…ëØÓUt}Q7®D²­x”KW—Âçð±‰ËæÜM.ý9Õù±º®ê|²&±çÚO¿6ÝyÈJË5V—ÂUßœº7®ªÛŸûÞmz«Kájn³Q.›sˆçkãï·M­–k¬®!ž—Þ¶%ä]A ®qö¶ ©Ÿ,ŽÕ¥puÞ ë«™«õ¹Fê’¸r—Õ¹ìf¤jŸk¤.ƒ«´çZãÒmú¡ÿ VÑ×%qƒßxàjô
3àj¸ëQ2\ŸÊ(—Õû7䵘_ÚQ.}]—îý¬n¹:}l
\Úº$®úêÓǹ¬²Þè!Ón”ØÔµ*–ïí¹Ê×ëMóU|–ïY
¶X¾ë“kz.óë–—ÉUüÓr•‹ä2/pÉe3aþäšžËjb¹h®õ"¹Ä?-WºH.ólõA¹’ere0ðµü>ŽO®¸ö0ðÅ}Ïn‘\ðA¹ª Z~¯Ù\Åô²×å÷ÐÍULMÞá¾70¸@ªrÃ\ e’ºÒò{9ç*Š+[\Àa
%°ß{ZÀ‘›ì ù=Å¡­´e&=@~¯thG„â‚¥Âèo‘ßoXÀQã¸÷}ô•±mç˜Á8lc®Á9æ½Qæ#/Á9°Üè–ã‚s`™±Åš3‡}€²×ÀXcV@éK`3ËÚ¬Þ€ò9°ÊÜX@=€ÀXa6.@l`3°½9êT˜ËÍ" mœ£ „m®gƒú¡€S˜ „A:ઢ©€ìÚ„>G˜ ‡bH}fv_ï\bAB/0Ò
-Vè׋‘Ã]‡+_Ž V˜È+ A,0
-V裥ÈaÜ媗#ˆ(Â
*âƒ-ôéBäpÝåB} Â(»‚Ç¥€VÏP„#C̾:\ÕB")£œ· Å ÙHd.„Ð'TæB,ÝÄ‹u+_†pd8üƒȇ
B8j¤—Â!Gl#´A `1Û¨«>BðÌØå
h)‚¸ú,(ÖCéÑg­¡% ÇÜ ýŽhIÂ1ó3?ú•‚+~€áï€d¼s°=z @KŽy>rs˜y€Õø©bå™H*:sˆ‡–(30Ê&ÐúyÖ9eˆιÈQDs‘ƒ²ÔÄ9£Ò7”AÄžžQéI+Ò@½t>¥Ï)Mª’ζÚ&HšÔ¡9!"li¥åÚ‡kˆ´ål¨vc! »ô™ ±¢g83âžö¼nų¢ †®@žâÌcˆñqCË`3Ĉ9qx@Ë`iˆf(Í4€ó`¦Ÿ¬TÔ‡
-g€M>kΩj-k€MœdY“½´¬ +ÈcX]>±rz‹€5D'V
œéöÔ1GNÀY™8樼A:©Ôï˜gB©œÇ ÜÏ™.H,8ޏÃtºc
wàÊêd†kÍÁ…Tú‰:,c=càÔ4Æ €?R§é°ŒÖÛNÓaÓ™_‚& :C¢Åqí±`»0ºk…äªé0‘qƒph­ ±÷UKó„ªY.´v†èuâ,øV­!zÕzìÓÝ ¹ð†èQ:j ÖÖãrfØ ¬OKüñÍPË%¢¹-±±’.h­
Ñ“&æV>¬­'BõÊXZ?Þ¹±´°öõ^†˜È,e \<1÷3–½í#×½{&ܸ¥rU¤ÍJÉ\"š LdöܹK0;¸)82i\o\´;¼•Ÿ'–‘P¬.t¬Â^¿¹1p1_uFÃÒÇàd}¡ãNSbé¥
\EiW°/)áøf08Ô&[õ cœFwžÿf<[l2êR6WqÀúßtŽ*OôÛø\+Š¿S;‹añcq€‰‹ÙaQt_zî¬ñ¹‘‘«ˆ¸ÿ¥ó/9k·6\"â—{”56¼OßYqYtØqœ=šÌñ…Ie˜>˜¹l:ìŒöªÿì§Œý¹K.ê4Li¯ƒ~/ÛÌæqµ¶\Mä¦ÜÝo·Û/¯oåe»}È,?mcÍå¢ÃœSþ#†KȵqÀe'‰³tŽ+¼Û9á
®ÃÌK_8.±´îBrvm¦(ˆ=$W›…ÄupÇU/«»Ð\¬•O_ºäj‚áÚ´.¹‚ÑzÜöžKdKÑxw gÑ q!Øý^
—XŒÒ¸°DôÖ!‰kvKÄgиš…X!•kæø—°MäšÕ)¹/T®9½3eû‰Ê5c`OJš#sÍ6Ähi/t®™†1±ŒÁ5Ï#îí2¸fbÔ,%=pÍ`sM®ôT9×ÄÚÁÈdr‰<\)´ášRY©Ã\®éÀx™dl.FÚÏ$ŽËšk¢ÉóÄ×þ9椰áòoŠü,M+.ß`ɧv\~UÑ&Yؒ˧ƒ¶Ê¶åòf—ŒoÍEΡö41qÏåcÚb™®î†Ë½,ÚŸ›pÂÕ
·¶øhß"7\o¶è®Ë’CW+Âé,—\ŽºìþІÆÕŠ'küâª-.¹ø©ÕªGw-qËe‘^HÝž“‹Kæ–ʇìþ‹ë6øà"æÅÇ[ï¹ðÃõV^qÙññýw/·÷Æuê5ƒAÞm_}ÝÛ'ש۞¶wê~z|õy_ß\çŽ;žpØ>ÜËývûøúêý–“pÍPàÿÿÿârõä
äÿÿUÌM‚0à=§˜¥&¶vJÃÏR×õD
ÖJÚªáöR7ÆÕ$oÞ÷Ž2ÚŸsà d©ÌÍ@v8]«ÓûwkÊéa
çfõìµ™¶ò±ÒU` #M€`LyГ¦(R E‚‚¦@xBEx—­[~Û•5ÝóæÝ·(â¿3/Vw˜ç)ጱÆê:¨•Sö¥º@Kt“ðÿendstream
endobj
208 0 obj
6279
endobj
209 0 obj<</Type/Page/Parent 205 0 R/Contents 210 0 R/Resources<</ProcSet[/PDF/Text]>>>>endobj
210 0 obj<</Length 211 0 R/Filter/FlateDecode>>stream
xÚ+ä2T0BCc3JÎår
ár
á
äHendstream
endobj
211 0 obj
31
endobj
212 0 obj<</Type/Page/Parent 205 0 R/Contents 213 0 R/Resources<</ProcSet[/PDF/Text]/Font<</F4 5 0 R/F8 8 0 R/F9 9 0 R/Fc 10 0 R>>>>/Annots 15 0 R>>endobj
213 0 obj<</Length 214 0 R/Filter/FlateDecode>>stream
xÚ¥UÛnÛ8}÷W ú”kÖ’¯Ù·¦Îf½hS5rŠ>ø…¦(›
%º$eÃýúÎr}iº(PذAÍ휙ÃÑ×N=ü$0N¡?Qunç×ÿÜ@Úƒy‰–Ñxóâ*¼ž Öd­Ýþ€¥ÁΘ²öªT‚{eêè:€$i]Ó1‘ë|­8Sú·
éÔª¦?aÕ†¡0¢©0l¬Ù*´ÀJÖÒr
ª.­BzÀ¯_KàV¬•—Â7˜Œ×S¨z¦$3ÀÒI?¢|kª
ãžfŸ!³
Ñ¢g¾w^V°¸zõö)Ë_-®á“´ŽJ )ö3ã”
"ãôúa+íVÉùÞÍ;=ÖÞÒOB?÷0%lÃAÊzPÁ`BpâIC;~lÔpÐX̱6Æz¾ÔŸµÀ5ßK Ø‘@h‘GÝ%w²”åÁÅ€ŽÁÌÚ;XJI½ÞJ>:tØ®àꎻý/éà†é)!™”
ÛqyûÑ¡‚Iò#´eNÇ4–4‘YS4»sl½6ð†SçqêÜǾ8£› j
×:Î{+ëÂX4Ò8œ0ƒ³_H…´ÕŽ÷Sˆ¹•öYj¹GU>èjUKT¤—¶äB:Ö&HGQ!9rA¦3ò«¥?ÊIz#Œ&áͲŒtÇ£/oÇ:|EÎ|1ˈÿk#¬sô~‡0.°‡()—$w,ð.›RuŠÏßKçøJ­6â™Ìùû[4ÿr¿Ùlr|ŒPWœ=3Îà?é§ÊâÃ6¡ §¹(îš
IÕµS~
Vâ(ñP6µ ¡p­ü¾m=/
Ø”±Ï‘"[Z³sÄ™ÀdÆù<,hI]T›žì
$Ežñü„ vGºiÑ!,®»XWŸ¸5u!ã]zq–Äç-t/¤hœ7•ú†•¶íÂÀ¥sÿð÷k„q!(ÑX‹ÛLï[X¦üÙkȆ½Åõ7j¯AU4«RáÕœe¨îCïJvB©6u÷¤_m?Q%9¯6\XE8ƒ°þÍB{ï²üÃÃEÕC\¨ÑÒ-bU¬HuMÈý?Û±ÓÃøJ@?cW¼mG &ܘÒhmváîË 2÷w¬%ÚZ¸qÒã8éh ç`ð×=}ʼn#ÈCc^ŠÂ¤ð(K‰q…üvhC§‘éy~3þ
Æßkƒ7Ùî£iÒšº-ÛqÂ.ß݃IÝ`fzÚ®÷ïF6lêendstream
endobj
214 0 obj
936
endobj
215 0 obj<</Type/Page/Parent 205 0 R/Contents 216 0 R/Resources<</ProcSet[/PDF/Text]/Font<</F8 8 0 R>>>>>>endobj
216 0 obj<</Length 217 0 R/Filter/FlateDecode>>stream
xÚ+ä2T0BCc3JÎår
áÒw³P04TIS045Õ³P072PIÑPp
VÎO+)O,JUpI-ÎLÏQÉE™%™ùyš!Y\º-ºP=F 13=30ßP!89¿ ÂÈ Åendstream
endobj
217 0 obj
114
endobj
218 0 obj<</Type/Page/Parent 205 0 R/Contents 219 0 R/Resources<</ProcSet[/PDF/Text]/Font<</F4 5 0 R/F8 8 0 R/F9 9 0 R/Fc 10 0 R>>>>/Annots 38 0 R>>endobj
219 0 obj<</Length 220 0 R/Filter/FlateDecode>>stream
xÚµ˜KSãH Çï|
ÙªÄãGâ7 À°5Ylæ´ãt‚·b;k;ÅðíGêöCYB;¶¨
ÕÉÏjEú·¤Î¿'˜øggƒãB’\D'ß®°Mˆ–ø‰ëù-NmxKQŠ<ÕÑ?±<…Œ‰aKȰàòq¬H¶™Èë¸N‹\á°¬·=Ã%<z°,Öëâ%ÍWêÁÒ
Êv×<½BýŒoµÌ™2œ4†mÛ®1!ÛÛ®»;ŸÒãËûùØ2¬3µße‘/ÓÕ¶TûÝÇy¼dæë8ßµŽ[Žúžï¿Í˜ñðµªE·y-Êeœ˜‰*]åô/)ÓMm1çþßf›u¯b øñÇm†ç÷dÓøÕ:^,ë—¸p¾ÈÒ<­jŒOQVŸm¼>ÂþnXZë_ŽpþŽëó²X•q–‘´Žö;|Øçw(’m™Ö¯x$6EYa7šï³‰êXá…ï„ᱟIÜϽ‰û‰6Ioo2×Ö„±:ŒŽ­£õ³(»ÂPXò"ï
ÈOW…«èÄ4L¬|ôbÑËÃ
Ö?ÃÇwБ \‹™Z¬!ÜC3 ÃÍ|Ã×â–år~2È3"Ãjlðœ@Þ¶
OÏ3ù©‡qÒòŒÈÀ±Í8¼k
„Ó™ú†ÓóÞdÇþÅ›|•+èõƒËñ'J@ç‹â QÕ¡'V‚”*0W+\§k×E™Å5„‘¤Ë4‘5tÔ‰{b8I¥ß×ìömÕ5öÐË·ÇH£.ÏD%¶ê’ ººQ—oÔÕò.8-Ï̾eSì5<'wcªç¼G¹éù²éYêľɿ]œ¯¶Ø¥ûydÑsZ.àj‘RM«}ØDÏàÏâ â|ÑÉ'5üØ5*Tª¥hï›,£WyR,¨®‘ᨌóêÃ
¤³E­_Î*Tào¶éBgç¾Xˆµt(Yœ×irÀ—Ó(ܜȜO¥äb¿Dïuî§@çÁÀ9AÕÖ&ýéxF ïËÚ¨ãAç'0Æ osªôýp}‰ïzÁîÒ\ôµ*Ö bê")Ö_^‡ìÀB¶É’Zh²ÔÒ2 :šÀ9AY
0&ZžTå&u-Ïä=ª©Zž”Õé€ÿœ Jñ×òŒ@>0w‚?¬;°U†I5öÔõFí }SÄë
禲ºpä¢é|Tnþ?aÄÌNGr¡ÓQC+™hh`ÞpŒÔ㜠yÎp‚täàYÖòŒ YÌÅ(éxNŽüûœ î*U«ã¼KÓ­–gòþt žœ YzÏ S/`*õGð R¢x€°.·I½ÅY/­ôF߆ôb=íLèeþQ»4|¶¢– ¨ZiVC3€ŠãqNH}J¹Žgòݽ´<#H¤4 ëxNÐ# ÉêxFÐh‘ˆ:þ¹SÃg2Âyo6”ç'Q¿‘ÃÝ|&ƒ³L—ûêëkÜÔ’w•m¹ÐÉ¡¡U¶54¨Æ9T148'¨—
òçmkˆç„J¯Þ}NPzJoÇÞ©­îk2½®åŽàû+Ž×µøU«ÑÇû.«0Ã÷(’#ë×'Øñû‘U-t nh•?
ÍY=
ç þ€3œPʧå9¡šŒÞNdÍiÔòŒ áÆ¥jÔñ ú‘Ã
eηXìéZ"{È\ÄUšÈc?KWô‹Ùy’ˆªz¯[ì>®:ƒß*·wûþ÷'î‰oâW0é#§Ð_'¿VÐTÂendstream
endobj
220 0 obj
1330
endobj
221 0 obj<</Type/Page/Parent 205 0 R/Contents 222 0 R/Resources<</ProcSet[/PDF/Text]/Font<</F8 8 0 R>>>>>>endobj
222 0 obj<</Length 223 0 R/Filter/FlateDecode>>stream
xÚ+ä2T0BCc3JÎår
áÒw³P04TIS045Õ³P072PIÑPp
VÎO+)O,JUpI-ÎLÏQÉE™%™ùyš!Y\º-ºP=& 1#C=30ßH!(5-µ(5/9µÂÈ¿ä"Éendstream
endobj
223 0 obj
119
endobj
224 0 obj<</Type/Page/Parent 205 0 R/Contents 225 0 R/Resources<</ProcSet[/PDF/Text]/Font<</F0 3 0 R/F4 5 0 R/F8 8 0 R/F9 9 0 R/Fc 10 0 R>>>>>>endobj
225 0 obj<</Length 226 0 R/Filter/FlateDecode>>stream
xÚµVMsã6 ½ûW`rrf"ù³þHO›¤Ûqg§»Í:{ò…– ™ITH*žüû¤äÈj6­:íøB‘ €÷øøi01ý&°œÂlQ>¸ÙF×0Ã6¡“ÅrÛx8ƒ;42-àó3êg‰ÇËíw²›Ãdâí‚é*œ²åíׯ
D*/•ÁTk0*±G¡Ì‹±˜°aA•¨…E°*E{@M  ­Déœ}䪀RËÂÊ"+Ì£¹ö¡£:´‹Lᜣ曆%œç6¼Ñ#±9¿G)Of>å7/¡~Ä _à–r}oßþºégϤ}(ËLFÂJ‚üE«T<Gm`SXâCDØßå&)÷IîµÐ/½Ü $òûáþ(3ʵ߯Ñã*CÝï–Ó|ë¼Ï&K>÷r fS/Y8s´•» l´= ìk#y™aŽ…u"¬Šúa (*PTùž$îX& j¶”ÍC™>dÙ«3~$²Œªá(í3hÁÎ
Zv(tZqäþJ¿Ãg!<Üo  ê¢U!]!Ý£Q•¦£MLŽe")u:p6ª²ee!öwwC Ó°v<n—BsúÙõˆÌFeVv_Û/ÃÕ+<Y–×£ÑA[ˆGºN¥ãawž£
Μ¼…ö7µoãñˆ¿Ó¦ì‚¤vÄû»!¿PŠú/ÁþFl†\ýNÙ×A*þƨHRëòÚÃ@ÁXj[ißP[i³&Œåõˆ\ÎáÿðV•MñUÕ‘ßÖøTIMÿ5wŸK_7>€ª¿ÞÁbJª ªÖŸû+5:Ó7<u$tìì†Þ‘Èv—u2 ¹qÃóåg‰O£H«BY0%F¬¥øÊÝ©kòÊXbGÄn×yàÈg¢uþ­rgc,µ)¡cjToE@#÷TÐ7ínÁ)Ǥ37õø25I¡_Ö÷›+©Ô†¸ÔióâEvGUe1ì9EEr§ûì_œKöpÑ  OÍtÞôÈõ©‘R+%Û7ºhÓCéôD“qˆ‚†G÷Ì–“/Е~ôì±ì40‚l7úÈŒæaý£U‘ÊB P(L†dmµ‚ÕðºýÌG *-S•¥ÒÖÓRK’ÛW¶õ†Lßçi
Y¿ÃþW<}zŽèØn~pÏT‡¥­3UˉGÄuÃКótºœ{(”f[ZOVxŽÛËxÝàžA3.Þߘü32Eãó„?RE÷†g):WN~ùMë¡Ö‹Õk¶ó±·óÏï|5×dEç?ñ÷/ÛÁƒ?^¡[Äendstream
endobj
226 0 obj
968
endobj
227 0 obj<</Type/Page/Parent 205 0 R/Contents 228 0 R/Resources<</ProcSet[/PDF/Text]/Font<</F0 3 0 R/F2 4 0 R/F4 5 0 R/F8 8 0 R/F9 9 0 R/Fc 10 0 R>>>>>>endobj
228 0 obj<</Length 229 0 R/Filter/FlateDecode>>stream
xÚµVÁnÛ8½û+æ˜E!Ù’Û °Xl»[´·¶qOmEÕ¬)R&)»þûλŽ7²HÙäã¼y3#oGLð/ƒéœþy=z½ßNàV­Ì—ø©¼j˜eJ u;.Ån\I%þXý@à
d3B&¦Y:'¬d*feš dAÕZt(ß]âW]:ð´Ñ.+)Jøa
ðÚX©½°ÀÖ‚{ì$;9ÒEmŒõ€™J.R@6ÊÙ³išÿçOïA:0U8][߯Lïu'ù U 6F¼×ý—i¼4úË«ø|•¦é·c™Ñ‹y/4âp¦¡ÀôÔ…ÔŒÖï“PÊì¥þÞe»`ùSÆh1™¯ù|pU°¶ü3®åýše^'u Ü -¦#@ÒV:¯Ž¹8v–XzwJ¼ ¸¼@­ÛºÀ;DÕ%ó (ÆóX±¥?œòŠÐ°ÒÄSÀׂoÐä— 4eù#îü„Úè3—ºj-× ú[¥'ÚUÒM¬$êÒkp»Ï_êÒxZ—já÷Æn`mœ‡ÖQ„ü»iîb”Æo¸QTÿµÑê€(Qžôfq€wb¯„÷Éde¶Ä–)a%6Þ-öcÀ…ƆgµrHãv<¦ 5«Å—[—Û·k•#¥«^$¼É&“‡'ÇîÎQ]qÁZÜ}ééG!_pôa¸3ó~1˜4Í£Ö^ »Jà
Þ,^—;£;,мCSeìd‰Ãœ¬DI- ¯äÇ›ÏîèéÚ¢–>ÔZ‚µÑYD¾Å‘ò@õ{O¢;–2L=dhpRQãì¥_ƒø)§²u¦ò{f‘oÍÂÉ5–!7t™±hƒy¿É¸Tjø…zÀÝ>0z8b².Hde-5f‡CÛàfZ=Þ¿g¾ugœØ¶¢]Ÿì0¾nN| úƒµ®m¨„Üñ[iÐøÔ×Ó0¢¶-ÞRñc>Ðù¤©8Dêtâ]“9¤c5÷S!Ø@%€U Á„ÿš…9~UÍöâíl‡Ûq?o­½Ó]6ײ‹’]_§Kü•GaÑ仾ÀþN~×ôàV†
t:‰‡’E>¡3sZMɚɹ_Xÿ®FG¿êNendstream
endobj
229 0 obj
860
endobj
230 0 obj<</Type/Page/Parent 205 0 R/Contents 231 0 R/Resources<</ProcSet[/PDF/Text]/Font<</F4 5 0 R/F8 8 0 R/F9 9 0 R>>>>>>endobj
231 0 obj<</Length 232 0 R/Filter/FlateDecode>>stream
xÚ­VÛnÛ8}÷W ô”²_'Ùô²võ¾õ…¦F»©’”
÷ëw†´d¯Ò*-Ppds.gΜêëd×ô7ƒÕ7 ëÉ›Éë÷w0[¦¢“›[z(¯żX€nÜ«Í:_Âl–ΧóŸožOAÚº¦ßnk<øb·PYS&(³+€mþY=:¯¬[E_¯4š  vÆ:ôÈ0SYš?ž²œ!PâaâÔœ.óØ&P0_$„ç
¦ó»¢¯aÉ™êñ"jpXÛ=° ×„&áçj.2¬Nî‹y—a¿¾¸é<CTóð ŽðhºJH„ÏWäúù%²;'jÏ{U"qxÀít+<¯A„փ꽂%xF‚Ét¥óCÄoDOtç µðéy‹åÀ;!Ÿ¸ €0xhƒÒꟛ¿ÿ‚€u£ -TÔ-‚l}°5Y–Œã„wØMy
û‹¦Aá„‘8Ú¤E1QÖÊr§F:mo—اŸ”Î,ù³‰ƒXù‰†¤ÆÖ£‹5‰²Ì‰ÏRUÇp(7bØ…œˆ¶MâPZS©]ÛId€b“è!;¨o•Ù¦qæ=Âqº4̃¦ÒÓÔˆ½PZlu©·ch¡AS20V@d'tÁ”H­ä¿4 ¹é­Ð}h’€V4õ1T©<©æx¢"…HÉÈÌ#F#Þ
I±ãd,’PÇ™ˆÁÿOÃ×[Òæyt‰~è’JK3a
ÇT0{uºŽeãöØóG Q€q˜Ë^/@í…òR×b/4ídûËmëAüž¾=ß…Ë´å⤉\§ÝVsÚ~ó¯ËŸ
AË3»_?fi}¦e Ó¢¥ñÜ£QHk'§…¶Yçð¸^§Z ³kÅÓH¯×o¡jŒ
s¥:8ÞVá Ž©aI[ìáœÞwá~ ‹KÛsj·J,(®Øt­®)Ò‡çe„,“ÎyM笉:Ý¿9윒Äm5\ÐCÕùý….û˃
¢\°­—cmž[0é¾#êg+µ3ÕV.YÂÑ*¶"!i(ä—Tçø"x{"qöæMq 7Ëë.5éÓ©Ið=½Pð?éT|G`ïirš®æ×ÏÞo–·×ÅÄßWüýÝfòqò=?ââendstream
endobj
232 0 obj
891
endobj
233 0 obj<</Type/Page/Parent 205 0 R/Contents 234 0 R/Resources<</ProcSet[/PDF/Text]/Font<</F4 5 0 R/F8 8 0 R/F9 9 0 R>>>>>>endobj
234 0 obj<</Length 235 0 R/Filter/FlateDecode>>stream
xÚ•VMsÚ0½ó+öØÌ§æ+䨒¦e’Li!‡Îô"ìŨ±%G’“æßwW²@Jé$“éiõÞÛóØIà=ý$ÐñoZv>.:ç×— `±¢Ñ˜²wýx÷àËb1ƒëZ¥NjeÏ¿:€$ Ðnï‚¡‹5àªBeô“ÌpgÅiHµR˜:~ôp‹æ @Z[#|¬Ñ:úlPd '`et ¢AF|?Ýšô‰Ý+TÏF: X
Û"ãÀt+ªÛ»Œ7²ú0¦Šq­„·5•B‰<þ s鬶’ÊVtm£mOS£¶ÚvBÛÓ5àV¨¼fn§-Zða
é>Gl„É@*‡f%RiC¤H>I•SfË’røÛÕ¢€­¥`ÖÃTÂ8™Ö…0{b Š½Ö )t)GsD(ÕÆp­ JuÆ‹?ßaœÇp?‡óÉtÁýâº;Ž`:ÿÚ‡—Ý$tiüóì¨/C˜Í®N²d¦­›§FVfÆ+‡+´~«akTSw% N¶Å‚¹k¤ÏéÓoFXâNX2åZ'ñ{®`)]³6yÿÊm²Ý¸hè÷{­Ô!Lîgs˜–"gûnåÒóò†ÞxÔ*öds Ú2°ts¡­8ûDŸ—xEa¹ñ Då"_­XJ3ÅÜïßdÏB½aÙå­³µ%–/^¸'×"dAÿì±Æ L¶Œ'Æ'åþM­;ÄÖD·xµ§Wñb7ýýóÇ& 7íf/ânö½˜Üýˆ€þÜ+ø)-wxüCl/ˆ…»ë§ëÜIÕ¡Ä\”µ#DUqQ„NUVº—¶ Ų$Û $–+÷Yº5§nO鿼µš ÷—Ö|1Õ)¹ÄCr0U‰<‰¡â©ŽûØ÷
ƒÿëã~ÉNz=Qg
’_KA–y¥’D?“ôíô¹-dÒ>€° 3ÌŽsÀ<ô×IT^|cÐjí>¿d$9JMÈ’ÉÖuÊ|½$û­(«¢­‰¥¤G<˜ï~jVº~è‘ite$ÕG£iÜpL†Ãx £þ(Œ£Ðîs½rÏœ\¼2W»ó—OwáîEï=ŸóZÌßnŽ|ù´è|ëüaVà‹endstream
endobj
235 0 obj
853
endobj
236 0 obj<</Type/Page/Parent 205 0 R/Contents 237 0 R/Resources<</ProcSet[/PDF/Text]/Font<</F0 3 0 R/F4 5 0 R/F8 8 0 R/F9 9 0 R/Fc 10 0 R>>>>>>endobj
237 0 obj<</Length 238 0 R/Filter/FlateDecode>>stream
xÚµVMsÛ6½ëWìQž i‹²%9=%vܺã$j­ÜxPBJ Ú£Ÿ]|P²Æ£$ít<#“àî¾÷» |ÿ&0/`:ƒª½_Îï®ar «¿ÌøÀÇÓü*¿‚û–mÜÉzU9©•=[}E‡K˜LCVÌÉaµ ½yMæu2‡-S͸TÐ5°¦yaªMËœÍCà=“¬¸Î.3ø›Y'ÌOñ0ÁtÏ¡eŠà¬3‚µ–8Ü|Y>&;΃rÌ…­Œ\ RÃ0÷
¿Ö¬p+¬Ü(¸ÕUß
åÊ3è­àÄq'Ó¼ äõ”VÙR[÷ˆ:‘Êù$ŒÌÄÀM6øï@ô<ª˜ n™h_WŠ£VlK?I.€q.I4k@ ÷¬Í?yÀT{e¶Ú
Þ7ÂäpÓƒ’šh…?è1„dFž¥ÛúžÚµY>©,c‚ž×õ5o„Y0øê<,o¡j$rÛw6ÎçU¢A¯7Œ‹ˆ1Æ°Ž—ãEyö|œ@˜Ål TvZOKÝ4TÆ?”ÒEÀô¨dÀiÿX’c…y¢zÀa¨ß:ß!OL6lÝ Éµ“öX:Šƒ:¶gØÖ.VBï¥c†¹×hdí¥¿@^»æ˶õQ~>®Œ7¶Î>R¥U-7=#ßð§j~NÆôž¬ùØ<8DºFPC†A‚PÔf„CY••ïëÞaÖ“#V6T8†R%3ôm[ïGù?ÒÆÌÆ·½}XU‘U±ÀïY1 äËb6‡£òJ…¯X+ ó™ñ¸ÅôŒUí¤
™IU_޽Ž*Lgy–¿„<`õÞŸz
÷©ÊZb¬€øå~1ÌÜxZ/Ç„ºæW‘¾`†áÓ^VOïÌZ]IæRZ`þƒ¨•tM‚qô|Ž!3ðÿ¼ÑÄÒ‰ûÕ·k”†;V…e#¾õÒ â¿ÎÝç.Lã ãÛ -¶£C(õ0.QýUx:Î}vÊqÄßG4£¨YŸ”ƱۉŠj‰¿I>T¸m³ ÏWî¥êúЖ„>Ï{NµÑm3<{ÞI†Žº;èVfaz’ãÇû»Ýàžº? †©@
%p X†“lï€c8h%9s»Î瀡Ö-'N„9žpÛnÓ8ݺ$“”ªÀÄYøc™ýþp^x¢î¯x#N®®0‹³é”¢†ûË£®Ý3e'ÝOü
Æï•OfpÉæÅůt—‹‹ü¼á5½Xþ}YÚ*endstream
endobj
238 0 obj
982
endobj
239 0 obj<</Type/Page/Parent 205 0 R/Contents 240 0 R/Resources<</ProcSet[/PDF/Text]/Font<</F4 5 0 R/F8 8 0 R/F9 9 0 R>>>>>>endobj
240 0 obj<</Length 241 0 R/Filter/FlateDecode>>stream
xÚµUÛnÛ0 }ÏWðqæ4ν[/h=xHö²,ÇêdIåuÙײì¤K»x+0$@™ä9<¼øq”„>)Ì–áËëѧíèâöÒ9lKz²\Ó¡x7¯ÆS5Û o,¾ß>ÕÒ4Z%ÓU°ÚVâh¥T^8àFÎc|nµ7ôî¤õãð›L/ÇàYÔ1¤ˆÃàÑn˜ÀÕ×lqÁ<;Oc¶(²ï,^@g×·oÉ|ñ9 ÔØâYG8Â%h—¥äĤ®™.ÈЙ²ìº£Cw`…+«É«Ó‡<¥ÞCpⱤOn:£6 ä|žÀB;ŸÁ²%8X¸£ÑKéZQVfçXÝÖê-\u¦ÞFŸáó›]O©"±‚fµ Ñ)>§›ÍÕEÖ
µ&ä_‘›2.ÜŸj©ÿ–Ð}òTI/úÚáù\ÖŽ•ý‹D*ûYÜeIvõù¿§q ^üð=Þ›¼èð`h®V]¸Ù´G]ÆW¢hÔ«-I-ÛÁboÊF©}R6š{i4Sp·Ýfé8mEºÏâ™&‚¸Ñt04q4QØŽJ/ÇàŠ!
:·“㉸§zÔc¸÷ÀšCÝ ¬­
NUKr†¢€B:ÁiŒö-É)„‰<œ¨M_ nâàŸàv¼€3
¹Æ¹À×;¦Ñ2'´Wû¸??e8iб<Sã5‰ò±ñ•qò' Ê)4{nµ êñ@k4ÊœþÒªê7V»¤Zš¡%¼3ªÕ4D!²’Ç0Á©X®WÒ¦ÂõkAèn÷=«@ä»îø¦‹5Ðr1‹ùÅÙÙ˜Ò?‘Bp-Pîtøi»°Ë6‰NÉj: >é$\Î'kZH“?¼]o¶£/£_Jd{endstream
endobj
241 0 obj
675
endobj
242 0 obj<</Type/Page/Parent 205 0 R/Contents 243 0 R/Resources<</ProcSet[/PDF/Text]/Font<</F4 5 0 R/F8 8 0 R/F9 9 0 R>>>>>>endobj
243 0 obj<</Length 244 0 R/Filter/FlateDecode>>stream
VÛr9}÷Wôã¦
HÀ6¶_×Îf½µUëñMJf¤‰¤Á!_¿§%
&O¶x`µºÏ9}ãÛÙ”>à3¥«ÏI7g¿/ÎÞÿqCÓ Z¬p2¿ÆCõÛùäz2£ÛZ…ÀáÝâ l.h:Í6ãÙ•Ø,6L:[P㪮f2<‡ÖÙ`–ø¹ržeÕÚØ5µÞØÈ~ÅXŠðv!r3¡Joò™xQ¤]]³ŽÆYr+A€¸Ós€BäÚiU“²Õ{ðܸȽû0¡¸T Uä={q µ³+³î¼JW¦æI¦ý"Íxv3Ù‹sq Û8¨ H£êšþ\,zK횦³F' ri¸5àÕ*Yè2\©’ø¯”æ0"¥5·QìAÌf­¼k ” ­¼Ùöa—¸䂱À! šço1áÛ
GGa"'²:(ëïïö)9”#eä„&üu—€Kvø;(YäúöÓýQP ^{Õ ¡,sÅ•]Û:é™—ã¥
xYêb”3i|qK
QÅN
Äšè¼U:´Îu0)1góœø¬òì¼ùÁÕ(eðþáE%RžE¤˜Eàt˜—ÓÝàPUýT¨o—T{/ãíÓÃã‰
OŒA7UÅøHfÕBhh¨Ðb•Š
ºùNÇáÒõ­ªÁ¼dø´”è]2ŒÀ~kPk´dÀäCœG¡ßŒÈQù˜Ú·!µ’™_EOæ%aئ à ¸¤;N¸¤¯²ÅÿvHz³‹ÔV™Z‰Iï@Lû¼Œ?qÄ>Àµ|P‡oBŸÓñhhçwôXÔb±7Þ§¢’îEcmx‹“~hK·€±ò& ì¶x­h骴ÓàôWŽúœæñ«nÍÓ9yïg®4 ºÉ‰G ôz‡ö+}\æú¿ÒÐJz¦©ß#Ú;J:Œã¦æ¬¨X„.”ÍX†$.>Ý=ŒšmÜ3Ë‘‰Ç ß/ú€UÓÕÑ´RÇU…Ò ¥‡ÄÍ17³}%3e ½/g¿<~žP2å´<hí¼´^½›ÐÓç{ieSeª²¥oQ€ÂYذç‘`TeŸàÚ:Д`iP€¯²»äÙ•Uí¡ÓóÆ`Õ7f½Aј
¨¸Mç²´BZÅÑ»Zj@f-b••(ÍôzL¤í“]+wM¹åPg`-ìë"urßédDeî`´ô¸T¨yÉ`^Ÿ¥µ“Ð_öÕTåµSvÍq›÷›RÈRð²As¨p+ “¼¡¿Ýz]vô<ëlqLõ%#bïϨ[Ê•4RÅJÅÔ¹k¶2žPË]N¯Þ°8ìÓp]bO//¡ý|~#ñóxt«ø,Nî8˜µ•/íMÛ¯¾q¾2¾š}8ùgôâêÇél:•gÿžý5 endstream
endobj
244 0 obj
1062
endobj
245 0 obj<</Type/Page/Parent 205 0 R/Contents 246 0 R/Resources<</ProcSet[/PDF/Text]/Font<</F0 3 0 R/F4 5 0 R/F8 8 0 R/F9 9 0 R>>>>>>endobj
246 0 obj<</Length 247 0 R/Filter/FlateDecode>>stream
xÚ­–Moã6†ïþŸRÀV-9_>¶Iº1Ð.ìôN“#‡[ŠÔ’T¼þ÷¡dyëòŠ–,¾Ãyæ‹ò·Q3úËa~Ëÿ²ý¾ýúÇòkØ”´r{O7êjžÝgù ^„¶¿l¾’âò¼UL‹;VlÞ*Z†Ê©Æ èCílÐ[úZ:QWÚîÀ5„U t¨E”oüLÛº{J«|Ëzi4ÚÒY2jÚ*ƒ%©Lp A®óyV°ó=ïƒ!Yi+]òÓ‚Î:ЫõòËóëê¿ôWÉåGáÃóŸçÊ w–\O(,ã„
)â€þ=#–z×xÁ”PjC,"€ET¨&ìä ø±ˆ¢7
jï$†è½ó!1áwCÖ2œª1-Ù©9¼,_žêñÒÊ9*-`i#z‹‘Khàé»$U +vÌœv„x¨1QP\^à ”ˆb+RØ"žEšºv>†9[sú·
"¢MÖÝf‘ëÉ÷EˆSéBlmèƒøØ¬ô®"Žà/i/G÷
CÔö”Û3ïL{!S¬Va S¼<й)?LÇ57š¨] âR)XBÖ]ÑS›“æáuµž~Á8=úý×ÕØ6Êè9¬(#”–!ðº“ü |¯å
œ˜ifS+BÄ*ƒOv= ¼ð ðN{¯#¶ãÐÛ}ˆS°w]óâìÖÉ9ü
®"^õYÈÙí1è^-;5OлVÔ´àݶ ñ¸25ÚRRªm?qiøšm¥cߙޙÿ<^|uÛÁq\d9)±ŽÅjG6ˆhLwŒÐéʼnö©á[•Å}òšjj”ºÔ²Gf)@
°´‚K,ÊQ¹“œÇ–‰ôí[ƒ
ªÄ˜Ð¨Ï†Ñæ|îóÔ °uŠKp!ºº÷Úr¹®—Ût¡úÉ|]Ú L­à2’ðñÿaºSð˜ºgi;9ô×ÓQÔ—^­Ñÿ` ÉHxu£Ó^>zÉàÃ̧©ùÁç^;´|”ñجEº¥aù˜¼£oÝ+ÛE‡.r•Áot„LÍÚáii\Ž'0~æÕxræ}¼§·(Œcpuú-Ú/Ðî6šÐË™šSu)½ï2–ßÜd÷p»˜ó&íä¯]÷lúˆüFç‹ô:mɶÓÖdzWÌØ&/øáuÁå˜}òCèi3úkô/tâ[endstream
endobj
247 0 obj
883
endobj
248 0 obj<</Type/Page/Parent 205 0 R/Contents 249 0 R/Resources<</ProcSet[/PDF/Text]/Font<</F4 5 0 R/F8 8 0 R/F9 9 0 R>>>>>>endobj
249 0 obj<</Length 250 0 R/Filter/FlateDecode>>stream
xÚ•TÁnâ0½ó£œŠD²(ãî¶•ö°USõÂÅ8j䨩íPíßïŒC¨„V‘VHb¿ñ›¼yæc’Ü>9 X®A6“åäÛÓò”5í¬7ô£º[fÛl
ºU£Ì´<gyÞsÒEÁœòHÛ4ÂT@ Žè¡uÊtðÑaG¼%µð}\÷bµpÊCò=™AòÄð‹á7ÃŽá™á%™±8IæËlÁ¢IÉë¯ o 5ƒfh,ƒg,t Ø6(k¨
‡`lßµ­u«žbðóJ!qØßívP+ûé|<ñ‘)hÄAc¬RböÓx~ëìYUXA°äЩձ£ÕŸ¯»—Ô·(U­$Ô(­ú¬wöËýt±Í®þä®2µµŸ W÷µòÁC 
q‡Wñ`TxV’çáÁ£FIÀáO¬è<ºñ~6$ר3Žöį4Љõi€“=°)"ú]¡Ê6}\uK‡^†3*< ð6‰ü^i…µ2ô®—Xö¼TŒËçs:ÛFÅ™p3…Aj6¿ÏíwHWÃÿ—ÿ¤ìðDCi¥'\[ ¨u/ß±ê4]I¾<†Ú8‹ØSMñ¸thþÒÐæ"•ßßS
–EÞ7SMW¹ŸœüôêhøK:½åê´/J‹ÅüŸ,«bEÛq/_òÂc9yžü{-`lendstream
endobj
250 0 obj
520
endobj
251 0 obj<</Type/Page/Parent 205 0 R/Contents 252 0 R/Resources<</ProcSet[/PDF/Text]/Font<</F8 8 0 R>>>>>>endobj
252 0 obj<</Length 253 0 R/Filter/FlateDecode>>stream
xÚ+ä2T0BCc3JÎår
áÒw³P04TIS045Õ³P072PIÑPp
VÎO+)O,JUpI-ÎLÏQÉE™%™ùyš!Y\º-ºP=†& A#5@®±ž¥ž™BNAbJn&X¹kW ¶Û"Eendstream
endobj
253 0 obj
118
endobj
254 0 obj<</Type/Page/Parent 205 0 R/Contents 255 0 R/Resources<</ProcSet[/PDF/Text]/Font<</F4 5 0 R/F6 7 0 R/F8 8 0 R/F9 9 0 R>>>>>>endobj
255 0 obj<</Length 256 0 R/Filter/FlateDecode>>stream
•QsÚ0 ÇßùH Ð=BÚô õ.éÝ^]GM=›Ù¦Œ}ú*cíÝâÒ9ŽDâ'ýeIùÕ‹áœ>1L0ƒ¨{³¢w6ÿƒs(žÈ2ž\BQ~™Âµ2Îq»ûZülâÉÞ¡?EƒÖ%Š¡@[»½Çâøà1˜DãÆ#Ù[F ÅëÇÃßA˜z½ñhAq]mx…Ñ{Nÿ­ûš[®ªn`Žº”ºcÁ¢@ùÒÜ”Üs¨EðÏ\“êGéÓ^Öá€r¡ìÆþ–ïõFKÁ½4Ú 0<¢ß"jð[kk*Ëk
çÐJþ_ê>¡É±BRE鶪4¥oìªC]ô¾%ÚÃA4Ú7Ŧ½ ôÅ4O²,GMÕt^¹çºä¶„Ä”O$>Óô]·éÐoêž&¥
¢“–w‡JH ¡î²À¬Ô¾©k¾së3Í“3Ö
MY~÷äÛh]€</ܹT…åÚ=aC3Þ£´Ö¿^tónp«Ðû>ãbÕ$zmùúY
‹ÃD†Ñ,ùŽ*¡½5êTþígøûÚ­y<Ÿ¥Å¼Þvͤº’©©+
îV07V¹Œ€=vÚ g˜å÷ÛqàêØqîmŵüÓì»êf/Hù±¬Wë j™-ÓnÖr£šåTJÇ",¹Tþþp€Y(IfœÏ…•kÿ7Ut탰ô|9 m[ûB¤%Ò Úv¦hqXEpj KÛšN'4½—o±£Ã–|÷
MFÑ%-Q2Ä̓´è}ï½°C#Æendstream
endobj
256 0 obj
597
endobj
257 0 obj<</Type/Page/Parent 205 0 R/Contents 258 0 R/Resources<</ProcSet[/PDF/Text]/Font<</F8 8 0 R>>>>>>endobj
258 0 obj<</Length 259 0 R/Filter/FlateDecode>>stream
xÚ+ä2T0BCc3JÎår
áÒw³P04TIS045Õ³P072PIÑPp
VÎO+)O,JUpI-ÎLÏQÉE™%™ùyš!Y\º-ºP=†f Acc=#°€£‚{N~qqbQ%HÂ5„+ š:"\endstream
endobj
259 0 obj
118
endobj
260 0 obj<</Type/Page/Parent 205 0 R/Contents 261 0 R/Resources<</ProcSet[/PDF/Text]/Font<</F4 5 0 R/F5 6 0 R/F8 8 0 R/F9 9 0 R>>>>/Annots 84 0 R>>endobj
261 0 obj<</Length 262 0 R/Filter/FlateDecode>>stream
xÚÕ›ÛrÜD†ïýº„ ÍYº$W…ÂÄæ”µ¼ö„v*oÏºç°ØêÜ$«@•“IKŸWÿÌüÝ£™ýçŠUýŸU†WBW«íÕ뇫W7]Å›êá©bª«´‘ÕÃãwýûÍPퟪëýî4ìNÇïþºúé᪩Kp?˜ûñîgר´Pu[m«¶æð÷MuïØg—OëêÕªs¿Íݦí¥ö·±êE|Bn+ÿGÁQ Ü¯ö‡Á¸²pûõâÿc/>·}(+çµ¶®x­ þêF‚Œ¶56ât¬g”Ì [{/sZæHˆêöÑöúø4®úÓ¸ß9¨2öŽéJi×tµŒÚù<¨SŒ5µ ŠqJ1à´Æ
SpBI÷ŸŽ§a;3ÓýV~ÁâGÄ¡ìãHûíã0}N²º[„ð„âªÓVMP<4’âª3¶í„âÈaÏâ€z³_}ØÚaú2/GX ”V݈±Û»°ìlÖv•î¢í†¿GwH&«Lì‘Ï›,ÂTgÇaAóQ¤¼ž†iØ­ŸdW›…{­ ­ÒÉbCã9‹UÊ_ä¤Å"±åV±‚a ]ÿqw?Ó%én;pUã:%gAX8¢Yk}Ùn¡T—"™shdV᧩ך2gä´u•‚a ývús˜fÄN·;ov0g óVÁŒý VáÿþœU0?Åa€’~æ¬õŒ7Ãq\ï^e7ÛÕÆO$·Ïxò2ýFã½Á\ý¨ôg]¦‘Áeí2@씚9Â@zݯþvG($øòÔ{Y:ít²k¼v®Ê
xP»ˆ‘ h›“,»ÙÕ¾Í9
âGb¢^ÔB‚Êï_áY|#Ê´Á¼œPœ
H TŽ‚8À6‡ÇoQ(-}9žÅ72¡´
¥ JPB‰qW(ˆìÐOýf3lN,ÅÃ(™óîžÄ72™TIR"‡q7á
Ä=ê8LcïâlA MMˆ$L°aÿ$¾‘‰$Úhçv†2‰qi—{
â;î­£Ÿ¼Pf1~NÉd*™¸od2q•L\S2‰±Ä-dB؇ãû%z“ž/$c©0TKûÌ`âTaŒ[4%Â@z=L›áÓŒê*ûXL*›f ^—Ñ®÷ÛmÅFkíó£RtmJ¡‘F¥è:Lœ,-ä2&/QØæ°ò£²YXK)Õª” B#SªÕ¨UY 'Tâ:¨ôÏ·5wƒH†¥\™H†c.àd]$Öt[È„°ÍaZäp2„RªMé 42¥ü(PŠ*.ÄìêQ•(ˆÌ*µõRuËÊÌçaÍ6æ‚ÐH¹@H¹€zŸŠã\»à@H×?ßz…t½äýjh žyºodCKôtA{:˜tïƒ
ÄÖ?nÇ]½Za}yí(‰X—™¹odñ8L:Ÿ.@!P«M<Ç(Ð%P£2#oTiäF#´‘Éí÷ˆq€ýµ|!ëB&Þñäâ¡‘dâ@¤‹#‰ùÁQ  °Ã4îNÔÓåß¾&ÎM¶
ÉÄyÛ ‰KÂÄ‘ãßûœFÒgì* Š sþ™BY?ØžÙbË(–i Ý3&\€Ð»i¿žúíÖöâ 4Ãl+.\Z/¡á„ÞºQñÔ¯üö¿ý}_xåAM ­S
lbhƒ9H9ILéº+QØõ~÷qØncnFÕŒbUmÜ®FÁÄ zóa·r/¿êzŽÒX‰”ÄB#ÓXá¬"“r7Z(P¿<<ÜÍ›ÝlQÆÊe/@Ò™¨r¯–PWt)†F¦®l0J2"‰1Ww¨GØíÝœÀÙÝn6´ç .@ØùȽän(%5×YåºÌ¢Ü`•t“ÜÍâq€½íwëýzÎ)2„¶Ú9EÄ €xy½)•™H›#¡‘©ÌdLÃä{Z$1æÞùìîîÍÜ€Nw[–vË‘‚…¬ø’bKÔ;M“…FVï4 sŸ¢êà„Š$ç@HŸSïŠq·„+XÖí¶_»õœÏ'‚³!uÎà øv|?õÓ'(ê/º2$ækMJ§¡‘ækÁîY° ‡É.RóÙ¨ëýf?ýlµ’!\µâº½Ú Ï–?Óq¶PÍ –'UÝ•<¼ }nÂ}É5+Õ7F¤dYߘxd@‘Å’˜ß6)P˜ïŸ¹yîwéAZ«*hxà~íw6ÝGõ2ŠíÞÚ±V2áùlŠÿòs‹ê%S¬—t<§ È’ I¡ª,P˜ó«ªJ#­uU}AsUi„}^%†[–¹?K"\Àž/ ¾ü‚ê$™¬“d<#¡Èb ILxÓçg$"ì~Õoæ“JFpïK9/hëÅ, (™EvÂ"42™E<a¡Èj I0–Åù ‹û¼¹€4éÖ¹Íτ݌›ÙÄ”îvo<\þ/Ypzn-¾zÐųs¡‘u]EíÌ#‡ùEA‚¸G½ë§ašï)`†Å˜zÊ_°mI‰}QÌ“Žÿ…F*ŠYO‰h¢(FN'#4/Š#éM?l“ë.ðÌ1$»ì´HWéâYM£qK©îü¤’ÞŽ»Z¨!I¹Éœa@Ý…×Ósoà"Àed·7YÐBýâA~ýo€]Ô²”H[VäÑ6žRÑdE
˜°?sBHwû
•Cãýn5í^ç0-ÓU_lßœp ݦU´n‹E´ŽçR õÕ¥i]–CB°‹¹Îí¨Ày²¥îü£QeÇSTy:E]Ò.âR¹.(!ê9Ö›ÓþàåjrÚÈìTŠ,¥Èx&ÅЇ‚áHŠŒÌòØ] ® C¤¸øF&kˆ÷‚ÙAÞží`Öqèo¹áŠÿ†oÿ·} çʃ8“¯€à+•AA›ôDMüŠn _I`Þ'`­ò¯Úî÷O§ûi¨àöÕ4ð{G‚»ä¶þGPí÷«ÿâ,$“endstream
endobj
262 0 obj
2325
endobj
263 0 obj<</Type/Page/Parent 205 0 R/Contents 264 0 R/Resources<</ProcSet[/PDF/Text]/Font<</F4 5 0 R/F5 6 0 R/F8 8 0 R/F9 9 0 R>>>>/Annots 120 0 R>>endobj
264 0 obj<</Length 265 0 R/Filter/FlateDecode>>stream
xÚÕšßSÜ6€ßù+üØ>Äh%Ë–i™tÊ -—¾_Cœ¹;_m“–þõÕ]K"Ã)yé™$YÖþÀòZZù¯3(˜ù …¨í¿Íîì—ÕÙù•.8+V÷H]ÔMU¬î~Z­?mÛ¢¿/Þöû©ÝOãÏ«/gïVg¬d†`?€ýðÇû¢á%+j!KUì
]›O>Ø·–þì„á¡8¿ª
ûýn޵g˜o(ʦ¬Š¿KÞÀõóoƒy„îî§þà~fÁÍ—˜ýbyÊ?À29/ëY  ðʬ$.LŒ’dN’€W¥NQ˜GØa$G¼)ù}‡%¦Í !K.ˆ,++²Tç,! „6F”ÏÌZÖãÔXÁ©=åIóãsR䃠Hjû›FEMF@J£"Aaa^ÏÔ·‡±ß[¦´£ôdž²†”0É "CjB*ç9P1ã2a¾Ší|>¸dÈ'BY?µµÜ‘Ÿ†…z­s†Ì
™ |ž`SûÏôz
¶yÊK²veVr3Ö}€—f¬R6T°Œ¢èTgûÓHºÝ|nï·T†dX™¡?×nDꪨv«
I íLP˜GØÅãô¹º×Sç SÍJq2oYA‚E•Û T¹•ùOF’ü<)Aaao·ëqluÛAF4QñvA$ )9EÈ7J@˜W^Pg&¿nŽTò™öCŠ˜ˆê· "E¬*gI¹ù6@*[Šbæf ÷ÝÃãßh§+P9A•fa®íƒ ¨Ò0—îì\›H`0°Ëök·yU7ZÕ4¡\û ’Ô¨P®sSm"yj5)
ó»ì†vcfÛO/c†!š3uJ¤A|e~Ôÿ]|Ös]…ªïƒÈs-CÕÏÍ׉`—|
óûpscI –RѾ˓„Pø}y’³¥Ü¬8µyH$ Ì;Ô¯ý'7h@/EQVhBÙ÷A$H¨PösÓv"¹cXŠÂ<Â~ëºýƒ»¹ä¯|½f®^»(’Äe(ýÀŽT¡èt;…°×žÀèä]¯;÷TäpòÅO¾ÀúëpQäɘ0Y‡¬'‚‰o`tò®?\¿[P?*gIhå ®»
KBëP»ç,Í0^›A’ÀèäÝÜ\Ž8šÔ«MBI_rýu¸(ò¤Â='²–%ìr9AÑŽv3tû©–3á:âȵD®æºE¿B;A4œª·Î´ˆ£lÛ á`I·OãÔî^†Eç›GŠ]O%0L#ìÏ#”pªªçW‡yNëˆÝn½¿s¿¶ª9q±Ìk©Â2ÂѨ–šž%:ÛÐ ’mÙ?Caaëͦ=LX"Åë¸ù+Ö>ˆ,U5=It¶«A$´£0°Íz¿i·¯Ë’{6’%D–„ '‰Î66ˆÜ6Çæv×vÏUH¶IYG Ã
À#ÎÈP®«A?oK@>ïQížô¼žQÄ¢]XD†Ø¼Óª³
"ù,Ræ¶u»jIÍèœ%®£­VK\‹P·s
"b$(Ì#l{Xßíü`! %qÔD­>ˆ)ªv®+A$Ûhe)Êç ¶=tûû~a­Öœ¦:ÚlõA¤©nBÙε%ˆä[ö
óÛvý×vIÄœ#m·ú r$ç”ëJ& Ìã0ê í§þj ɬ »¤nã£ÈPÅBÙÎ7%f˜YFB
È·=ŒÓzZV["gŠ×QûÆG)ÞDSîl[b†¹w£7´_ÚÍ´¬%÷˦˜Åpо™à¼´ó+‰/_Ù£pð☫™à§"Åa9ï·ý8®‡'wëÙe϶¨¿±(/ÊAùMBiߤòÁ¬‘Þa3ËsP8¶Î‹fq.f8-Î}ÚqVí°£×²Ôfµ5~ÛÐ_T#^4¸gxqlÁjG±-Y ó„Ú ýþÉK«ª…LÖŸé
×Èæ÷ Ž!éÞý¨p{¦xûñ涸íï§¿×C[\¶c÷°·Ÿ6Cw 
Ö7ö­,U¼iüb¥ëPåïgÿ2´Oendstream
endobj
265 0 obj
1567
endobj
266 0 obj<</Count 5/First 267 0 R/Last 345 0 R>>endobj
267 0 obj<</Parent 266 0 R/Title(Table of Contents)/Dest[260 0 R/XYZ null 756 null]/Next 268 0 R>>endobj
268 0 obj<</Parent 266 0 R/Count -3/First 269 0 R/Last 271 0 R/Title(1 Scope)/Dest[212 0 R/XYZ null 724 null]/Prev 267 0 R/Next 272 0 R>>endobj
269 0 obj<</Parent 268 0 R/Title(1.1 Identification)/Dest[212 0 R/XYZ null 700 null]/Next 270 0 R>>endobj
270 0 obj<</Parent 268 0 R/Title(1.2 System Overview)/Dest[212 0 R/XYZ null 627 null]/Prev 269 0 R/Next 271 0 R>>endobj
271 0 obj<</Parent 268 0 R/Title(1.3 Document Overview)/Dest[212 0 R/XYZ null 421 null]/Prev 270 0 R>>endobj
272 0 obj<</Parent 266 0 R/Count -2/First 273 0 R/Last 274 0 R/Title(2 References)/Dest[218 0 R/XYZ null 724 null]/Prev 268 0 R/Next 275 0 R>>endobj
273 0 obj<</Parent 272 0 R/Title(2.1 CUPS Documentation)/Dest[218 0 R/XYZ null 700 null]/Next 274 0 R>>endobj
274 0 obj<</Parent 272 0 R/Title(2.2 Other Documents)/Dest[218 0 R/XYZ null 495 null]/Prev 273 0 R>>endobj
275 0 obj<</Parent 266 0 R/Count -9/First 276 0 R/Last 333 0 R/Title(3 Design Overview)/Dest[224 0 R/XYZ null 724 null]/Prev 272 0 R/Next 345 0 R>>endobj
276 0 obj<</Parent 275 0 R/Count -6/First 277 0 R/Last 282 0 R/Title(3.1 Backends)/Dest[224 0 R/XYZ null 541 null]/Next 283 0 R>>endobj
277 0 obj<</Parent 276 0 R/Title(3.1.1 ipp)/Dest[224 0 R/XYZ null 297 null]/Next 278 0 R>>endobj
278 0 obj<</Parent 276 0 R/Title(3.1.2 lpd)/Dest[224 0 R/XYZ null 227 null]/Prev 277 0 R/Next 279 0 R>>endobj
279 0 obj<</Parent 276 0 R/Title(3.1.3 parallel)/Dest[224 0 R/XYZ null 133 null]/Prev 278 0 R/Next 280 0 R>>endobj
280 0 obj<</Parent 276 0 R/Title(3.1.4 serial)/Dest[227 0 R/XYZ null 713 null]/Prev 279 0 R/Next 281 0 R>>endobj
281 0 obj<</Parent 276 0 R/Title(3.1.5 socket)/Dest[227 0 R/XYZ null 514 null]/Prev 280 0 R/Next 282 0 R>>endobj
282 0 obj<</Parent 276 0 R/Title(3.1.6 usb)/Dest[227 0 R/XYZ null 394 null]/Prev 281 0 R>>endobj
283 0 obj<</Parent 275 0 R/Count -4/First 284 0 R/Last 287 0 R/Title(3.2 Berkeley Commands)/Dest[227 0 R/XYZ null 300 null]/Prev 276 0 R/Next 288 0 R>>endobj
284 0 obj<</Parent 283 0 R/Title(3.2.1 lpc)/Dest[227 0 R/XYZ null 227 null]/Next 285 0 R>>endobj
285 0 obj<</Parent 283 0 R/Title(3.2.2 lpq)/Dest[227 0 R/XYZ null 118 null]/Prev 284 0 R/Next 286 0 R>>endobj
286 0 obj<</Parent 283 0 R/Title(3.2.3 lpr)/Dest[230 0 R/XYZ null 724 null]/Prev 285 0 R/Next 287 0 R>>endobj
287 0 obj<</Parent 283 0 R/Title(3.2.4 lprm)/Dest[230 0 R/XYZ null 668 null]/Prev 286 0 R>>endobj
288 0 obj<</Parent 275 0 R/Count -4/First 289 0 R/Last 292 0 R/Title(3.3 CGI)/Dest[230 0 R/XYZ null 611 null]/Prev 283 0 R/Next 293 0 R>>endobj
289 0 obj<</Parent 288 0 R/Title(3.3.1 admin.cgi)/Dest[230 0 R/XYZ null 525 null]/Next 290 0 R>>endobj
290 0 obj<</Parent 288 0 R/Title(3.3.2 classes.cgi)/Dest[230 0 R/XYZ null 455 null]/Prev 289 0 R/Next 291 0 R>>endobj
291 0 obj<</Parent 288 0 R/Title(3.3.3 jobs.cgi)/Dest[230 0 R/XYZ null 385 null]/Prev 290 0 R/Next 292 0 R>>endobj
292 0 obj<</Parent 288 0 R/Title(3.3.4 printers.cgi)/Dest[230 0 R/XYZ null 329 null]/Prev 291 0 R>>endobj
293 0 obj<</Parent 275 0 R/Count -5/First 294 0 R/Last 298 0 R/Title(3.4 CUPS Application Programmers Interface)/Dest[230 0 R/XYZ null 259 null]/Prev 288 0 R/Next 299 0 R>>endobj
294 0 obj<</Parent 293 0 R/Title(3.4.1 Convenience Functions)/Dest[230 0 R/XYZ null 186 null]/Next 295 0 R>>endobj
295 0 obj<</Parent 293 0 R/Title(3.4.2 HTTP Functions)/Dest[233 0 R/XYZ null 724 null]/Prev 294 0 R/Next 296 0 R>>endobj
296 0 obj<</Parent 293 0 R/Title(3.4.3 IPP Functions)/Dest[233 0 R/XYZ null 668 null]/Prev 295 0 R/Next 297 0 R>>endobj
297 0 obj<</Parent 293 0 R/Title(3.4.4 Language Functions)/Dest[233 0 R/XYZ null 598 null]/Prev 296 0 R/Next 298 0 R>>endobj
298 0 obj<</Parent 293 0 R/Title(3.4.5 PPD Functions)/Dest[233 0 R/XYZ null 528 null]/Prev 297 0 R>>endobj
299 0 obj<</Parent 275 0 R/Count -6/First 300 0 R/Last 305 0 R/Title(3.5 CUPS Imaging Library)/Dest[233 0 R/XYZ null 459 null]/Prev 293 0 R/Next 306 0 R>>endobj
300 0 obj<</Parent 299 0 R/Title(3.5.1 Colorspace Conversion Functions)/Dest[233 0 R/XYZ null 385 null]/Next 301 0 R>>endobj
301 0 obj<</Parent 299 0 R/Title(3.5.2 Color Management Functions)/Dest[233 0 R/XYZ null 316 null]/Prev 300 0 R/Next 302 0 R>>endobj
302 0 obj<</Parent 299 0 R/Title(3.5.3 Image Management Functions)/Dest[233 0 R/XYZ null 233 null]/Prev 301 0 R/Next 303 0 R>>endobj
303 0 obj<</Parent 299 0 R/Title(3.5.4 Scaling Functions)/Dest[233 0 R/XYZ null 177 null]/Prev 302 0 R/Next 304 0 R>>endobj
304 0 obj<</Parent 299 0 R/Title(3.5.5 Image File Functions)/Dest[236 0 R/XYZ null 724 null]/Prev 303 0 R/Next 305 0 R>>endobj
305 0 obj<</Parent 299 0 R/Title(3.5.6 Raster Functions)/Dest[236 0 R/XYZ null 681 null]/Prev 304 0 R>>endobj
306 0 obj<</Parent 275 0 R/Count -2/First 307 0 R/Last 308 0 R/Title(3.6 Daemons)/Dest[236 0 R/XYZ null 611 null]/Prev 299 0 R/Next 309 0 R>>endobj
307 0 obj<</Parent 306 0 R/Title(3.6.1 Line Printer Daemon)/Dest[236 0 R/XYZ null 538 null]/Next 308 0 R>>endobj
308 0 obj<</Parent 306 0 R/Title(3.6.2 Polling Daemon)/Dest[236 0 R/XYZ null 481 null]/Prev 307 0 R>>endobj
309 0 obj<</Parent 275 0 R/Count -9/First 310 0 R/Last 318 0 R/Title(3.7 Filters)/Dest[236 0 R/XYZ null 399 null]/Prev 306 0 R/Next 319 0 R>>endobj
310 0 obj<</Parent 309 0 R/Title(3.7.1 hpgltops)/Dest[236 0 R/XYZ null 167 null]/Next 311 0 R>>endobj
311 0 obj<</Parent 309 0 R/Title(3.7.2 imagetops)/Dest[239 0 R/XYZ null 724 null]/Prev 310 0 R/Next 312 0 R>>endobj
312 0 obj<</Parent 309 0 R/Title(3.7.3 imagetoraster)/Dest[239 0 R/XYZ null 681 null]/Prev 311 0 R/Next 313 0 R>>endobj
313 0 obj<</Parent 309 0 R/Title(3.7.4 pdftops)/Dest[239 0 R/XYZ null 624 null]/Prev 312 0 R/Next 314 0 R>>endobj
314 0 obj<</Parent 309 0 R/Title(3.7.5 pstops)/Dest[239 0 R/XYZ null 568 null]/Prev 313 0 R/Next 315 0 R>>endobj
315 0 obj<</Parent 309 0 R/Title(3.7.6 pstoraster)/Dest[239 0 R/XYZ null 498 null]/Prev 314 0 R/Next 316 0 R>>endobj
316 0 obj<</Parent 309 0 R/Title(3.7.7 rastertoepson)/Dest[239 0 R/XYZ null 442 null]/Prev 315 0 R/Next 317 0 R>>endobj
317 0 obj<</Parent 309 0 R/Title(3.7.8 rastertohp)/Dest[239 0 R/XYZ null 372 null]/Prev 316 0 R/Next 318 0 R>>endobj
318 0 obj<</Parent 309 0 R/Title(3.7.9 texttops)/Dest[239 0 R/XYZ null 303 null]/Prev 317 0 R>>endobj
319 0 obj<</Parent 275 0 R/Count -13/First 320 0 R/Last 332 0 R/Title(3.8 Scheduler)/Dest[239 0 R/XYZ null 246 null]/Prev 309 0 R/Next 333 0 R>>endobj
320 0 obj<</Parent 319 0 R/Title(3.8.1 Authorization)/Dest[239 0 R/XYZ null 160 null]/Next 321 0 R>>endobj
321 0 obj<</Parent 319 0 R/Title(3.8.2 Classes)/Dest[242 0 R/XYZ null 724 null]/Prev 320 0 R/Next 322 0 R>>endobj
322 0 obj<</Parent 319 0 R/Title(3.8.3 Client)/Dest[242 0 R/XYZ null 668 null]/Prev 321 0 R/Next 323 0 R>>endobj
323 0 obj<</Parent 319 0 R/Title(3.8.4 Configuration)/Dest[242 0 R/XYZ null 545 null]/Prev 322 0 R/Next 324 0 R>>endobj
324 0 obj<</Parent 319 0 R/Title(3.8.5 Devices)/Dest[242 0 R/XYZ null 462 null]/Prev 323 0 R/Next 325 0 R>>endobj
325 0 obj<</Parent 319 0 R/Title(3.8.6 Directory Services)/Dest[242 0 R/XYZ null 393 null]/Prev 324 0 R/Next 326 0 R>>endobj
326 0 obj<</Parent 319 0 R/Title(3.8.7 IPP)/Dest[242 0 R/XYZ null 283 null]/Prev 325 0 R/Next 327 0 R>>endobj
327 0 obj<</Parent 319 0 R/Title(3.8.8 Jobs)/Dest[242 0 R/XYZ null 201 null]/Prev 326 0 R/Next 328 0 R>>endobj
328 0 obj<</Parent 319 0 R/Title(3.8.9 Logging)/Dest[242 0 R/XYZ null 131 null]/Prev 327 0 R/Next 329 0 R>>endobj
329 0 obj<</Parent 319 0 R/Title(3.8.10 Main)/Dest[245 0 R/XYZ null 724 null]/Prev 328 0 R/Next 330 0 R>>endobj
330 0 obj<</Parent 319 0 R/Title(3.8.11 MIME)/Dest[245 0 R/XYZ null 654 null]/Prev 329 0 R/Next 331 0 R>>endobj
331 0 obj<</Parent 319 0 R/Title(3.8.12 PPDs)/Dest[245 0 R/XYZ null 571 null]/Prev 330 0 R/Next 332 0 R>>endobj
332 0 obj<</Parent 319 0 R/Title(3.8.13 Printers)/Dest[245 0 R/XYZ null 502 null]/Prev 331 0 R>>endobj
333 0 obj<</Parent 275 0 R/Count -11/First 334 0 R/Last 344 0 R/Title(3.9 System V Commands)/Dest[245 0 R/XYZ null 432 null]/Prev 319 0 R>>endobj
334 0 obj<</Parent 333 0 R/Title(3.9.1 accept)/Dest[245 0 R/XYZ null 359 null]/Next 335 0 R>>endobj
335 0 obj<</Parent 333 0 R/Title(3.9.2 cancel)/Dest[245 0 R/XYZ null 303 null]/Prev 334 0 R/Next 336 0 R>>endobj
336 0 obj<</Parent 333 0 R/Title(3.9.3 disable)/Dest[245 0 R/XYZ null 246 null]/Prev 335 0 R/Next 337 0 R>>endobj
337 0 obj<</Parent 333 0 R/Title(3.9.4 enable)/Dest[245 0 R/XYZ null 190 null]/Prev 336 0 R/Next 338 0 R>>endobj
338 0 obj<</Parent 333 0 R/Title(3.9.5 lp)/Dest[245 0 R/XYZ null 133 null]/Prev 337 0 R/Next 339 0 R>>endobj
339 0 obj<</Parent 333 0 R/Title(3.9.6 lpadmin)/Dest[248 0 R/XYZ null 724 null]/Prev 338 0 R/Next 340 0 R>>endobj
340 0 obj<</Parent 333 0 R/Title(3.9.7 lpinfo)/Dest[248 0 R/XYZ null 654 null]/Prev 339 0 R/Next 341 0 R>>endobj
341 0 obj<</Parent 333 0 R/Title(3.9.8 lpmove)/Dest[248 0 R/XYZ null 598 null]/Prev 340 0 R/Next 342 0 R>>endobj
342 0 obj<</Parent 333 0 R/Title(3.9.9 lpoptions)/Dest[248 0 R/XYZ null 541 null]/Prev 341 0 R/Next 343 0 R>>endobj
343 0 obj<</Parent 333 0 R/Title(3.9.10 lpstat)/Dest[248 0 R/XYZ null 485 null]/Prev 342 0 R/Next 344 0 R>>endobj
344 0 obj<</Parent 333 0 R/Title(3.9.11 reject)/Dest[248 0 R/XYZ null 429 null]/Prev 343 0 R>>endobj
345 0 obj<</Parent 266 0 R/Count -2/First 346 0 R/Last 347 0 R/Title(A Glossary)/Dest[254 0 R/XYZ null 724 null]/Prev 275 0 R>>endobj
346 0 obj<</Parent 345 0 R/Title(A.1 Terms)/Dest[254 0 R/XYZ null 700 null]/Next 347 0 R>>endobj
347 0 obj<</Parent 345 0 R/Title(A.2 Acronyms)/Dest[254 0 R/XYZ null 521 null]/Prev 346 0 R>>endobj
348 0 obj<</Type/Catalog/Pages 205 0 R/Names 121 0 R/PageLayout/SinglePage/Outlines 266 0 R/OpenAction[212 0 R/XYZ null null null]/PageMode/UseOutlines/PageLabels<</Nums[0<</P(title)>>1<</P(eltit)>>2<</S/r>>4<</S/D>>]>>>>endobj
xref
0 349
0000000000 65535 f
0000000015 00000 n
0000000226 00000 n
0000001792 00000 n
0000001866 00000 n
0000001948 00000 n
0000002026 00000 n
0000002103 00000 n
0000002182 00000 n
0000002258 00000 n
0000002339 00000 n
0000002398 00000 n
0000002450 00000 n
0000002535 00000 n
0000002587 00000 n
0000002671 00000 n
0000002702 00000 n
0000002803 00000 n
0000002888 00000 n
0000002989 00000 n
0000003074 00000 n
0000003175 00000 n
0000003260 00000 n
0000003347 00000 n
0000003432 00000 n
0000003519 00000 n
0000003604 00000 n
0000003670 00000 n
0000003755 00000 n
0000003821 00000 n
0000003906 00000 n
0000003972 00000 n
0000004057 00000 n
0000004123 00000 n
0000004208 00000 n
0000004274 00000 n
0000004359 00000 n
0000004425 00000 n
0000004510 00000 n
0000004604 00000 n
0000004708 00000 n
0000004813 00000 n
0000004918 00000 n
0000005023 00000 n
0000005127 00000 n
0000005232 00000 n
0000005337 00000 n
0000005441 00000 n
0000005546 00000 n
0000005651 00000 n
0000005756 00000 n
0000005861 00000 n
0000005966 00000 n
0000006071 00000 n
0000006176 00000 n
0000006281 00000 n
0000006386 00000 n
0000006491 00000 n
0000006596 00000 n
0000006701 00000 n
0000006806 00000 n
0000006911 00000 n
0000007016 00000 n
0000007121 00000 n
0000007226 00000 n
0000007331 00000 n
0000007436 00000 n
0000007541 00000 n
0000007646 00000 n
0000007751 00000 n
0000007856 00000 n
0000007961 00000 n
0000008066 00000 n
0000008171 00000 n
0000008276 00000 n
0000008381 00000 n
0000008486 00000 n
0000008591 00000 n
0000008696 00000 n
0000008801 00000 n
0000008906 00000 n
0000009011 00000 n
0000009115 00000 n
0000009218 00000 n
0000009321 00000 n
0000009653 00000 n
0000009758 00000 n
0000009863 00000 n
0000009968 00000 n
0000010073 00000 n
0000010178 00000 n
0000010283 00000 n
0000010387 00000 n
0000010492 00000 n
0000010597 00000 n
0000010702 00000 n
0000010807 00000 n
0000010912 00000 n
0000011017 00000 n
0000011122 00000 n
0000011227 00000 n
0000011333 00000 n
0000011439 00000 n
0000011545 00000 n
0000011651 00000 n
0000011757 00000 n
0000011862 00000 n
0000011968 00000 n
0000012074 00000 n
0000012180 00000 n
0000012286 00000 n
0000012392 00000 n
0000012498 00000 n
0000012604 00000 n
0000012710 00000 n
0000012816 00000 n
0000012922 00000 n
0000013028 00000 n
0000013132 00000 n
0000013237 00000 n
0000013342 00000 n
0000013625 00000 n
0000013659 00000 n
0000013693 00000 n
0000014840 00000 n
0000014889 00000 n
0000014938 00000 n
0000014987 00000 n
0000015036 00000 n
0000015085 00000 n
0000015134 00000 n
0000015183 00000 n
0000015232 00000 n
0000015281 00000 n
0000015330 00000 n
0000015379 00000 n
0000015428 00000 n
0000015477 00000 n
0000015526 00000 n
0000015575 00000 n
0000015624 00000 n
0000015673 00000 n
0000015722 00000 n
0000015771 00000 n
0000015820 00000 n
0000015869 00000 n
0000015918 00000 n
0000015967 00000 n
0000016016 00000 n
0000016065 00000 n
0000016114 00000 n
0000016163 00000 n
0000016212 00000 n
0000016261 00000 n
0000016310 00000 n
0000016359 00000 n
0000016408 00000 n
0000016457 00000 n
0000016506 00000 n
0000016555 00000 n
0000016604 00000 n
0000016653 00000 n
0000016702 00000 n
0000016751 00000 n
0000016800 00000 n
0000016849 00000 n
0000016898 00000 n
0000016947 00000 n
0000016996 00000 n
0000017045 00000 n
0000017094 00000 n
0000017143 00000 n
0000017192 00000 n
0000017241 00000 n
0000017290 00000 n
0000017339 00000 n
0000017388 00000 n
0000017437 00000 n
0000017486 00000 n
0000017535 00000 n
0000017584 00000 n
0000017633 00000 n
0000017682 00000 n
0000017731 00000 n
0000017780 00000 n
0000017829 00000 n
0000017878 00000 n
0000017927 00000 n
0000017976 00000 n
0000018025 00000 n
0000018074 00000 n
0000018123 00000 n
0000018172 00000 n
0000018221 00000 n
0000018270 00000 n
0000018319 00000 n
0000018368 00000 n
0000018417 00000 n
0000018466 00000 n
0000018515 00000 n
0000018564 00000 n
0000018613 00000 n
0000018662 00000 n
0000018711 00000 n
0000018760 00000 n
0000018809 00000 n
0000019038 00000 n
0000019190 00000 n
0000025540 00000 n
0000025562 00000 n
0000025657 00000 n
0000025759 00000 n
0000025779 00000 n
0000025934 00000 n
0000026941 00000 n
0000026962 00000 n
0000027075 00000 n
0000027260 00000 n
0000027281 00000 n
0000027436 00000 n
0000028837 00000 n
0000028859 00000 n
0000028972 00000 n
0000029162 00000 n
0000029183 00000 n
0000029333 00000 n
0000030372 00000 n
0000030393 00000 n
0000030552 00000 n
0000031483 00000 n
0000031504 00000 n
0000031635 00000 n
0000032597 00000 n
0000032618 00000 n
0000032749 00000 n
0000033673 00000 n
0000033694 00000 n
0000033844 00000 n
0000034897 00000 n
0000034918 00000 n
0000035049 00000 n
0000035795 00000 n
0000035816 00000 n
0000035947 00000 n
0000037080 00000 n
0000037102 00000 n
0000037242 00000 n
0000038196 00000 n
0000038217 00000 n
0000038348 00000 n
0000038939 00000 n
0000038960 00000 n
0000039073 00000 n
0000039262 00000 n
0000039283 00000 n
0000039423 00000 n
0000040091 00000 n
0000040112 00000 n
0000040225 00000 n
0000040414 00000 n
0000040435 00000 n
0000040589 00000 n
0000042985 00000 n
0000043007 00000 n
0000043162 00000 n
0000044800 00000 n
0000044822 00000 n
0000044877 00000 n
0000044982 00000 n
0000045126 00000 n
0000045232 00000 n
0000045352 00000 n
0000045461 00000 n
0000045610 00000 n
0000045720 00000 n
0000045827 00000 n
+550
Ver Arquivo
@@ -0,0 +1,550 @@
<HTML>
<HEAD>
<META NAME="COPYRIGHT" CONTENT="Copyright 1997-2000, All Rights Reserved">
<META NAME="DOCNUMBER" CONTENT="CUPS-SDD-1.1">
<META NAME="Author" CONTENT="Easy Software Products">
<TITLE>CUPS Software Design Description</TITLE>
</HEAD>
<BODY>
<H1>Scope</H1>
<H2>Identification</H2>
This software design description document provides general information
on the architecture and coding of the Common UNIX Printing System
(&quot;CUPS&quot;) Version 1.1.
<EMBED SRC="system-overview.shtml">
<H2>Document Overview</H2>
This software design description document is organized into the
following sections:
<UL>
<LI>1 - Scope
<LI>2 - References
<LI>3 - Design Overview
<LI>A - Glossary
</UL>
<EMBED SRC="references.shtml">
<H1>Design Overview</H1>
CUPS is composed of 9 software sub-systems that operate together to
perform common printing tasks:
<UL>
<LI>Backends
<LI>Berkeley Commands
<LI>CGI
<LI>CUPS Application Programmers Interface
<LI>CUPS Imaging Library
<LI>Daemons
<LI>Filters
<LI>Scheduler
<LI>System V Commands
</UL>
<H2>Backends</H2>
The backends implement communications over a number of different interfaces.
All backends are called with a common set of arguments:
<UL>
<LI>Device URI - the Uniform Resource Identifier for the output device
(e.g. <CODE>parallel:/dev/plp</CODE>,
<CODE>ipp://hostname/resource</CODE>).
<LI>Job Identifier - the job identifier for this job (integer).
<LI>User Name - the user associated with this job (name string).
<LI>Title - the title/job-name associated with this job (name string).
<LI>Copies - the number of copies required (integer).
<LI>Options - the options associated with this job (space separated
option strings).
<LI>Filename (optional) - the file to print; if this option is not
specified, the backend must read the print file from the standard
input.
</UL>
<P>Backends are named using the scheme of the URI, so a URI of
"ipp://hostname/resource" would be processed by the "ipp" backend.
<H3>ipp</H3>
<P>The ipp backend sends the specified job to a network printer or host using
the Internet Printing Protocol. The URI is as specified by the
<CODE>printer-uri-supported</CODE> attribute from the printer or host.
<H3>lpd</H3>
<P>The lpd backend sends the specified job to a network printer or host using
the Line Printer Daemon protocol. The URI is of the form:
<UL><PRE>lpd://hostname/queue
</PRE></UL>
<H3>parallel</H3>
<P>The parallel backend sends the specified job to a local printer connected
via the specified parallel port device. The URI is of the form:
<UL><PRE>parallel:/dev/file
</PRE></UL>
<H3>serial</H3>
<P>The serial backend sends the specified job to a local printer connected
via the specified serial port device. The URI is of the form:
<UL><PRE>serial:/dev/file?option[+option+...]
</PRE></UL>
The options can be any combination of the following:
<UL>
<LI><CODE>baud=<I>rate</I></CODE> - Sets the baud rate for the device.
<LI><CODE>bits=<I>7 or 8</I></CODE> - Sets the number of data bits.
<LI><CODE>parity=<I>even</I></CODE> - Sets even parity checking.
<LI><CODE>parity=<I>odd</I></CODE> - Sets odd parity checking.
<LI><CODE>parity=<I>none</I></CODE> - Turns parity checking off.
</UL>
<H3>socket</H3>
<P>The socket backend sends the specified job to a network host using the
AppSocket protocol commonly used by Hewlett-Packard and Tektronix
printers. The URI is of the form:
<UL><PRE>socket://hostname[:port]
</PRE></UL>
The default port number is 9100.
<H3>usb</H3>
<P>The usb backend sends the specified job to a local printer connected
via the specified usb port device. The URI is of the form:
<UL><PRE>usb:/dev/file
</PRE></UL>
<H2>Berkeley Commands</H2>
<P>The Berkeley commands provide a simple command-line interface to CUPS
to submit and control print jobs. It is provided for compatibility with
existing software that is hardcoded to use the Berkeley commands.
<H3>lpc</H3>
The lpc command allows users and administrators to check the status and
control print queues. The version provided with CUPS supports the following
commands:
<UL>
<LI>quit - Quits the lpc command.
<LI>status - Shows the status of printers and jobs in the queue.
</UL>
<H3>lpq</H3>
<P>The lpq command shows the current queue status.
<H3>lpr</H3>
<P>The lpr command submits a job for printing. The CUPS version of lpr silently
ignores the "i", "t", "m", "h", and "s" options.
<H3>lprm</H3>
<P>The lprm removes one or more print jobs.
<H2>CGI</H2>
<P>The Common Gateway Interface (CGI) programs provide a web-based
status interface to monitor the status of printers, classes, and jobs.
Each of the CGIs utilize HTML template files that can be customized to
provide alternate appearances.
<H3>admin.cgi</H3>
<P>The admin CGI provides administration interfaces for printers and
classes. The user can add, modify, delete, start, stop, and configure
printers and classes using "wizard" interfaces.
<H3>classes.cgi</H3>
<P>The classes CGI lists the available printer classes and any pending
jobs for the class. The user can click on individual classes to limit
the display and click on jobs to see the job status.
<H3>jobs.cgi</H3>
<P>The jobs CGI lists the queued print jobs in order of priority. The
list can be limited by printer or job.
<H3>printers.cgi</H3>
<P>The printers CGI lists the available printer queues and any pending
jobs for the printer. The user can click on individual printers to
limit the display and click on jobs to see the job status.
<H2>CUPS Application Programmers Interface</H2>
<P>The CUPS Application Programmers Interface ("API") provides common
convenience, HTTP, IPP, language, and PPD functions used by the CUPS
software.
<H3>Convenience Functions</H3>
<P>Convenience functions are provided to submit an IPP request, send a
print file, cancel a job, get a list of available printers, get a list
of available classes, get the default printer or class, get the default
server name, get the local username, and get a password string.
<H3>HTTP Functions</H3>
<P>The HTTP functions provide functions to connect to HTTP servers,
issue requests, read data from a server, and write data to a server.
<H3>IPP Functions</H3>
<P>The IPP function provide functions to manage IPP request data and
attributes, read IPP responses from a server, and write IPP requests to
a server.
<H3>Language Functions</H3>
<P>The language functions provide a standard interface for retrieving
common textual messages for a particular locale and determining the
correct encoding (e.g. US ASCII, UTF-8, ISO-8859-1, etc.)
<H3>PPD Functions</H3>
<P>The PostScript Printer Description functions manage PPD files,
select options, check for option conflicts, and emit selected options
in the correct order.
<H2>CUPS Imaging Library</H2>
<P>The CUPS imaging library provides colorspace conversion, color
management, image management, scaling, image file, and raster functions
used by the CUPS raster filters.
<H3>Colorspace Conversion Functions</H3>
<P>The colorspace conversion functions handle conversion of grayscale
and RGB colors to grayscale, RGB, K, CMY, CMYK, and CMYKcm colorspaces.
<H3>Color Management Functions</H3>
<P>The color management functions handle gamut mapping and density
correction. These are integrated with the colorspace conversion
functions so that colorspace conversion and color management are
processed in a single step.
<H3>Image Management Functions</H3>
<P>The image management functions manage a tiled image database that is
swapped to/from disk as needed.
<H3>Scaling Functions</H3>
<P>The scaling functions provide image scaling services using
nearest-neighbor sampling and bilinear interpolation as appropriate.
<H3>Image File Functions</H3>
<P>The image file functions handle loading of all image file formats.
<H3>Raster Functions</H3>
<P>The raster functions manage streams of CUPS raster data (described
in the Interface Design Document) used by non-PostScript printer
drivers and raster filters.
<H2>Daemons</H2>
<P>The daemons provide additional network functions for the scheduler.
Currently only two daemons are provided with CUPS.
<H3>Line Printer Daemon</H3>
<P>The line printer daemon provides remote LPD client support and is
run by the <CODE>inetd(8)</CODE> daemon as needed.
<H3>Polling Daemon</H3>
<P>The polling daemon is used to poll a remote server for a list of
available printers and provide it to the scheduler for addition. A
separate polling daemon is run by the scheduler for every remote
system listed for polling in the scheduler configuration file.
<H2>Filters</H2>
<P>The filters implement file conversion services for CUPS. All filters
are called with a common set of arguments:
<UL>
<LI>Printer name - the name of the destination printer (name string).
<LI>Job Identifier - the job identifier for this job (integer).
<LI>User Name - the user associated with this job (name string).
<LI>Title - the title/job-name associated with this job (name string).
<LI>Copies - the number of copies required (integer).
<LI>Options - the options associated with this job (space separated
option strings).
<LI>Filename (optional) - the file to print; if this option is not
specified, the filter must read the input file from the standard
input.
</UL>
<P>Filters are added to the MIME conversion data file and implement all
necessary conversions from one file type to another.
<H3>hpgltops</H3>
<P>The hpgltops filter converts HP-GL/2 files into PostScript.
<H3>imagetops</H3>
<P>The imagetops filter converts image files into PostScript.
<H3>imagetoraster</H3>
<P>The imagetoraster filter converts image files into CUPS raster data.
<H3>pdftops</H3>
<P>The pdftops filter converts PDF files into PostScript.
<H3>pstops</H3>
<P>The pstops filter inserts printer-specific commands from PPD files and
performs page filtering as requested by the user.
<H3>pstoraster</H3>
<P>The pstoraster filter converts PostScript program data into CUPS
raster data.
<H3>rastertoepson</H3>
<P>The rastertoepson filter handles converting CUPS raster data to
ESC/P and supports both color and black-and-white printers.
<H3>rastertohp</H3>
<P>The rastertohp filter handles converting CUPS raster data to HP-PCL
and supports both color and black-and-white printers.
<H3>texttops</H3>
<P>The texttops filter converts text files into PostScript.
<H2>Scheduler</H2>
<P>The scheduler is a fully-functional HTTP/1.1 and IPP/1.1 server that
manages the printers, classes, and jobs in the system. It also handles
a simple broadcast-based directory service so that remote print queues
and classes can be accessed transparently from the local system.
<H3>Authorization</H3>
<P>The authorization module is responsible for performing access
control and authentication for all HTTP and IPP requests entering the
system.
<H3>Classes</H3>
<P>The classes module is responsible for managing printer classes in
the system. Each class is a collection of local and/or remote
printers. The classes module also reads and writes the classes
configuration file.
<H3>Client</H3>
<P>The client module is responsible for all HTTP client
communications. It handles listening on selected interfaces, accepting
connections from prospective clients, processing incoming HTTP
requests, and sending HTTP responses to those requests. The client
module also is responsible for executing the external CGI programs as
needed to support web-based printer, class, and job status monitoring
and administration.
<P>Once authorized, all IPP requests are sent to the IPP module.
<H3>Configuration</H3>
<P>The configuration module is responsible for reading the CUPS
configuration file and initializing the appropriate data structures and
values. The configuration module also stops CUPS services before
reading the configuration file and restarts them after the
configuration file has been read.
<H3>Devices</H3>
<P>The devices module is responsible for managing the list of available
devices for the CUPS-Get-Devices operation.
<H3>Directory Services</H3>
<P>The directory services module sends and recieves printer state
information over a broadcast socket. Remote printers and classes are
automatically added to or removed from the local printer and class
lists as needed.
<P>The directory services module can only recieve printer state information
over a single UDP port, however it can broadcast to multiple addresses and
ports as needed.
<H3>IPP</H3>
<P>The IPP module handles IPP requests and acts accordingly. URI
validation is also performed here, as a client can post IPP data to any
URI on the server which might sidestep the access control or
authentication of the HTTP server.
<H3>Jobs</H3>
<P>The jobs module manages print jobs, starts filter and backend
processes for jobs to be printed, and monitors status messages from
those filters and backends.
<H3>Logging</H3>
<P>The logging module manages the access, error, and page log files
that are generated by the scheduler.
<H3>Main</H3>
<P>The main module is responsible for timing out and dispatching input
and output for client connections. It also watches for incoming
<CODE>SIGHUP</CODE> and <CODE>SIGCHLD</CODE> signals, reloads the
server configuration files as needed, and handles child process errors
and exits.
<H3>MIME</H3>
<P>The Multimedia Internet Mail Exchange module manages a MIME type and
conversion database that supports file typing by extension and content
and least-cost file filtering from a source to a destination file type.
<H3>PPDs</H3>
<P>The PPDs module is responsible for managing the list of available
PPD files for the CUPS-Get-PPDs operation.
<H3>Printers</H3>
<P>The printers module is responsible for managing printers and PPD
files in the system. The printers module also reads and writes the
printers configuration file.
<H2>System V Commands</H2>
<P>The System V commands provide a robust command-line interface to
CUPS to submit and control printers and jobs.
<H3>accept</H3>
<P>The accept command tells the scheduler to accept new jobs for specific
printers.
<H3>cancel</H3>
<P>The cancel command tells the scheduler to cancel one or more jobs that are
queued for printing.
<H3>disable</H3>
<P>The disable command tells the scheduler to stop printing jobs on the
specified printers.
<H3>enable</H3>
<P>The enable command tells the scheduler to start printing jobs on the
specified printers.
<H3>lp</H3>
<P>The lp command submits submits files for printing. Unlike the standard
System V lp command, a single CUPS lp command will generate a separate
job ID for each file that is printed. Also, the Solaris "f", "H", "P", "S",
and "y" options are silently ignored.
<H3>lpadmin</H3>
<P>The lpadmin command manages printer queues and classes. The Solaris
"A", "F", "I", "M", "P", "Q", "S", "T", "U", "W", "f", "l", "m", "o",
"s", "t", and "u" options are not supported, and new options "P" (PPD
file) and "E" (enable and accept) are provided to configure
CUPS-specific features.
<H3>lpinfo</H3>
<P>The lpinfo command lists the available PPD files or devices as selected
by the user.
<H3>lpmove</H3>
<P>The lpmove command moves a print job to a new destination.
<H3>lpoptions</H3>
<P>The lpoptions command manages user-defined printers and options.
<H3>lpstat</H3>
<P>The lpstat command lists printers, classes, and jobs as requested by the
user.
<H3>reject</H3>
<P>The reject command tells the scheduler not to accept new jobs for specific
printers.
<EMBED SRC="glossary.shtml">
</BODY>
</HTML>
+7254
Ver Arquivo
Diferenças do arquivo suprimidas por serem muito extensas Carregar Diff
+9570
Ver Arquivo
Diff do arquivo suprimido porque uma ou mais linhas são muito longas
+8051
Ver Arquivo
Diferenças do arquivo suprimidas por serem muito extensas Carregar Diff
+297
Ver Arquivo
@@ -0,0 +1,297 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" "http://www.w3.org/TR/REC-html40/loose.dtd">
<HTML>
<HEAD>
<TITLE> CUPS Software Performance Specification</TITLE>
<META NAME="AUTHOR" CONTENT="Easy Software Products">
<META NAME="COPYRIGHT" CONTENT="Copyright 1997-2000, All Rights Reserved">
<META NAME="DOCNUMBER" CONTENT="CUPS-SPS-1.1">
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-1">
<STYLE>
BODY { font-family: serif; font-size: 11.0pt }
H1 { font-family: sans-serif; font-size: 20.0pt }
H2 { font-family: sans-serif; font-size: 17.0pt }
H3 { font-family: sans-serif; font-size: 14.0pt }
H4 { font-family: sans-serif; font-size: 11.0pt }
H5 { font-family: sans-serif; font-size: 9.0pt }
H6 { font-family: sans-serif; font-size: 8.0pt }
SUB { font-size: 8.0pt }
SUP { font-size: 8.0pt }
PRE { font-size: 9.0pt }
</STYLE>
</HEAD>
<BODY>
<CENTER><A HREF="#CONTENTS"><IMG SRC="images/cups-large.gif" BORDER="0" WIDTH="100%"><BR>
<H1> CUPS Software Performance Specification</H1></A><BR>
CUPS-SPS-1.1<BR>
Easy Software Products<BR>
Copyright 1997-2000, All Rights Reserved<BR>
</CENTER>
<HR>
<H1 ALIGN="CENTER"><A NAME="CONTENTS">Table of Contents</A></H1>
<BR>
<BR><B><A HREF="#1">1 Scope</A></B>
<UL>
<LI><A HREF="#1_1">1.1 Identification</A></LI>
<LI><A HREF="#1_2">1.2 System Overview</A></LI>
<LI><A HREF="#1_3">1.3 Document Overview</A></LI>
</UL>
<B><A HREF="#2">2 References</A></B>
<UL>
<LI><A HREF="#2_1">2.1 CUPS Documentation</A></LI>
<LI><A HREF="#2_2">2.2 Other Documents</A></LI>
</UL>
<B><A HREF="#3">3 Programs</A></B>
<BR>
<BR><B><A HREF="#4">4 Scheduler Objects</A></B>
<BR>
<BR><B><A HREF="#5">A Glossary</A></B>
<UL>
<LI><A HREF="#5_1">A.1 Terms</A></LI>
<LI><A HREF="#5_2">A.2 Acronyms</A></LI>
</UL>
<HR>
<H1><A NAME="1">1 Scope</A></H1>
<H2><A NAME="1_1">1.1 Identification</A></H2>
<P>This software performance specification provides an analysis of the
memory, disk, and processor utilitization of each program in the Common
UNIX Printing System (&quot;CUPS&quot;) Version 1.1.</P>
<P>For the purposes of comparison, all figures are for the Linux Intel
platform. Memory utilization on other platforms should be similar. </P>
<H2><A NAME="1_2">1.2 System Overview</A></H2>
<P>CUPS provides a portable printing layer for UNIX&reg;-based operating
systems. It has been developed by <A HREF="http://www.easysw.com">Easy
Software Products</A> to promote a standard printing solution for all
UNIX vendors and users. CUPS provides the System V and Berkeley
command-line interfaces. </P>
<P>CUPS uses the Internet Printing Protocol (&quot;IPP&quot;) as the basis for
managing print jobs and queues. The Line Printer Daemon (&quot;LPD&quot;) Server
Message Block (&quot;SMB&quot;), and AppSocket (a.k.a. JetDirect) protocols are
also supported with reduced functionality. CUPS adds network printer
browsing and PostScript Printer Description (&quot;PPD&quot;) based printing
options to support real-world printing under UNIX. </P>
<P>CUPS also includes a customized version of GNU Ghostscript
(currently based off GNU Ghostscript 5.50) and an image file RIP that
are used to support non-PostScript printers. Sample drivers for HP and
EPSON printers are included that use these filters. </P>
<H2><A NAME="1_3">1.3 Document Overview</A></H2>
<P>This software performance specification is organized into the
following sections:</P>
<UL>
<LI>1 - Scope</LI>
<LI>2 - References</LI>
<LI>3 - Programs</LI>
<LI>4 - Scheduler Objects</LI>
<LI>A - Glossary</LI>
</UL>
<H1><A NAME="2">2 References</A></H1>
<H2><A NAME="2_1">2.1 CUPS Documentation</A></H2>
<P>The following CUPS documentation is referenced by this document: </P>
<UL>
<LI>CUPS-CMP-1.1: CUPS Configuration Management Plan </LI>
<LI>CUPS-IDD-1.1: CUPS System Interface Design Description </LI>
<LI>CUPS-IPP-1.1: CUPS Implmentation of IPP </LI>
<LI>CUPS-SAM-1.1.x: CUPS Software Administrators Manual </LI>
<LI>CUPS-SDD-1.1: CUPS Software Design Description </LI>
<LI>CUPS-SPM-1.1.x: CUPS Software Programming Manual </LI>
<LI>CUPS-SSR-1.1: CUPS Software Security Report </LI>
<LI>CUPS-STP-1.1: CUPS Software Test Plan </LI>
<LI>CUPS-SUM-1.1.x: CUPS Software Users Manual </LI>
<LI>CUPS-SVD-1.1: CUPS Software Version Description </LI>
</UL>
<H2><A NAME="2_2">2.2 Other Documents</A></H2>
<P>The following non-CUPS documents are referenced by this document: </P>
<UL>
<LI><A HREF="http://partners.adobe.com/asn/developer/PDFS/TN/5003.PPD_Spec_v4.3.pdf">
Adobe PostScript Printer Description File Format Specification,
Version 4.3.</A></LI>
<LI><A HREF="http://partners.adobe.com/asn/developer/PDFS/TN/PLRM.pdf">
Adobe PostScript Language Reference, Third Edition.</A></LI>
<LI>IPP: Job and Printer Set Operations </LI>
<LI>IPP/1.1: Encoding and Transport </LI>
<LI>IPP/1.1: Implementers Guide </LI>
<LI>IPP/1.1: Model and Semantics </LI>
<LI><A HREF="http://www.ietf.org/rfc/rfc1179.txt">RFC 1179, Line
Printer Daemon Protocol</A></LI>
<LI><A HREF="http://www.ietf.org/rfc/rfc2567.txt">RFC 2567, Design
Goals for an Internet Printing Protocol</A></LI>
<LI><A HREF="http://www.ietf.org/rfc/rfc2568.txt">RFC 2568, Rationale
for the Structure of the Model and Protocol</A> for the Internet
Printing Protocol</LI>
<LI><A HREF="http://www.ietf.org/rfc/rfc2569.txt">RFC 2569, Mapping
between LPD and IPP Protocols</A></LI>
<LI><A HREF="http://www.ietf.org/rfc/rfc2616.txt">RFC 2616, Hypertext
Transfer Protocol -- HTTP/1.1</A></LI>
<LI><A HREF="http://www.ietf.org/rfc/rfc2617.txt">RFC 2617, HTTP
Authentication: Basic and Digest Access</A> Authentication </LI>
</UL>
<H1><A NAME="3">3 Programs</A></H1>
<P>The following table describes the average memory, disk, and CPU
usage of each program in CUPS. </P>
<P>The base memory column shows the initial memory requirements for
each program, including any shared libraries that are provided by CUPS. </P>
<P>The max memory column shows the maximum amount of memory that will
be used by the program based upon the default configuration settings
supplied with CUPS. </P>
<P>The temp files column indicates whether any temporary files are
created. </P>
<P>The CPU usage column specifies a relative CPU usage by the program
under normal conditions, either low, medium, or high. Low usage
indicates that the program will never use more than 33% of the
available CPU time. Medium usage indicates the program will use as much
as 66% of the available CPU time. High usage indicates the program uses
66% or more of the available CPU time.
<CENTER>
<TABLE BORDER="1" WIDTH="80%">
<TR><TH COLSPAN="3">Backends</TH></TR>
<TR><TH>Program</TH><TH>Base Memory</TH><TH>Max Memory</TH><TH>Temp
Files</TH><TH>CPU Usage</TH></TR>
<TR><TD>ipp</TD><TD>91k</TD><TD>256k</TD><TD>Up to size of print file</TD><TD>
Low</TD></TR>
<TR><TD>lpd</TD><TD>89k</TD><TD>89k</TD><TD>Up to size of print file</TD><TD>
Low</TD></TR>
<TR><TD>parallel</TD><TD>85k</TD><TD>85k</TD><TD>Up to size of print
file</TD><TD>Low</TD></TR>
<TR><TD>serial</TD><TD>85k</TD><TD>85k</TD><TD>Up to size of print file</TD><TD>
Low</TD></TR>
<TR><TD>socket</TD><TD>85k</TD><TD>85k</TD><TD>Up to size of print file</TD><TD>
Low</TD></TR>
<TR><TD>usb</TD><TD>85k</TD><TD>85k</TD><TD>Up to size of print file</TD><TD>
Low</TD></TR>
<TR><TH COLSPAN="3">CGIs</TH></TR>
<TR><TH>Program</TH><TH>Base Memory</TH><TH>Max Memory</TH><TH>Temp
Files</TH><TH>CPU Usage</TH></TR>
<TR><TD>admin.cgi</TD><TD>107k</TD><TD>256k</TD><TD>Up to size of PPD
file</TD><TD>Medium</TD></TR>
<TR><TD>classes.cgi</TD><TD>95k</TD><TD>Size of class objects</TD><TD>
None</TD><TD>Medium</TD></TR>
<TR><TD>jobs.cgi</TD><TD>93k</TD><TD>Size of job objects</TD><TD>None</TD><TD>
Medium</TD></TR>
<TR><TD>printers.cgi</TD><TD>95k</TD><TD>Size of printer objects</TD><TD>
None</TD><TD>Medium</TD></TR>
<TR><TH COLSPAN="3">Command-Line Programs</TH></TR>
<TR><TH>Program</TH><TH>Base Memory</TH><TH>Max Memory</TH><TH>Temp
Files</TH><TH>CPU Usage</TH></TR>
<TR><TD>accept</TD><TD>88k</TD><TD>128k</TD><TD>None</TD><TD>Low</TD></TR>
<TR><TD>cancel</TD><TD>88k</TD><TD>128k</TD><TD>None</TD><TD>Low</TD></TR>
<TR><TD>disable</TD><TD>88k</TD><TD>128k</TD><TD>None</TD><TD>Low</TD></TR>
<TR><TD>enable</TD><TD>88k</TD><TD>128k</TD><TD>None</TD><TD>Low</TD></TR>
<TR><TD>lp</TD><TD>90k</TD><TD>256k</TD><TD>None</TD><TD>Low</TD></TR>
<TR><TD>lpadmin</TD><TD>148k</TD><TD>256k</TD><TD>None</TD><TD>Low</TD></TR>
<TR><TD>lpc</TD><TD>86k</TD><TD>Size of job and printer objects</TD><TD>
None</TD><TD>Medium</TD></TR>
<TR><TD>lpinfo</TD><TD>89k</TD><TD>Size of device and PPD objects</TD><TD>
None</TD><TD>Medium</TD></TR>
<TR><TD>lpmove</TD><TD>88k</TD><TD>128k</TD><TD>None</TD><TD>Low</TD></TR>
<TR><TD>lpoptions</TD><TD>89k</TD><TD>128k</TD><TD>None</TD><TD>Low</TD></TR>
<TR><TD>lppasswd</TD><TD>90k</TD><TD>90k</TD><TD>None</TD><TD>Low</TD></TR>
<TR><TD>lpq</TD><TD>87k</TD><TD>Size of job objects</TD><TD>None</TD><TD>
Medium</TD></TR>
<TR><TD>lpr</TD><TD>87k</TD><TD>256k</TD><TD>None</TD><TD>Low</TD></TR>
<TR><TD>lprm</TD><TD>84k</TD><TD>128k</TD><TD>None</TD><TD>Low</TD></TR>
<TR><TD>lpstat</TD><TD>119k</TD><TD>Size of job, printer, and class
objects</TD><TD>None</TD><TD>Medium</TD></TR>
<TR><TD>reject</TD><TD>88k</TD><TD>128k</TD><TD>None</TD><TD>Low</TD></TR>
<TR><TH COLSPAN="3">Daemons</TH></TR>
<TR><TH>Program</TH><TH>Base Memory</TH><TH>Max Memory</TH><TH>Temp
Files</TH><TH>CPU Usage</TH></TR>
<TR><TD>cups-lpd</TD><TD>92k</TD><TD>256k</TD><TD>One file per control
or data file from client</TD><TD>Low</TD></TR>
<TR><TD>cupsd</TD><TD>308k</TD><TD>See Scheduler Requirements</TD><TD>
See Scheduler Requirements</TD><TD>Medium</TD></TR>
<TR><TD>cups-polld</TD><TD>84k</TD><TD>Size of printer and class objects</TD><TD>
None</TD><TD>Low</TD></TR>
<TR><TH COLSPAN="3">Filters</TH></TR>
<TR><TH>Program</TH><TH>Base Memory</TH><TH>Max Memory</TH><TH>Temp
Files</TH><TH>CPU Usage</TH></TR>
<TR><TD>hpgltops</TD><TD>263k</TD><TD>320k</TD><TD>None</TD><TD>Medium</TD>
</TR>
<TR><TD>imagetops</TD><TD>628k</TD><TD>10M</TD><TD>Swap file for
uncompressed image data</TD><TD>Medium</TD></TR>
<TR><TD>imagetoraster</TD><TD>652k</TD><TD>10M</TD><TD>Swap file for
uncompressed image data</TD><TD>High</TD></TR>
<TR><TD>pstops</TD><TD>775k</TD><TD>840k</TD><TD>Up to size of print
file</TD><TD>Medium</TD></TR>
<TR><TD>pstoraster</TD><TD>4M</TD><TD>14M</TD><TD>Swap file for command
lists</TD><TD>High</TD></TR>
<TR><TD>rastertoepson</TD><TD>693k</TD><TD>1M</TD><TD>None</TD><TD>Low</TD>
</TR>
<TR><TD>rastertohp</TD><TD>690k</TD><TD>1M</TD><TD>None</TD><TD>Low</TD></TR>
<TR><TD>texttops</TD><TD>638k</TD><TD>4*cols*rows</TD><TD>None</TD><TD>
Low</TD></TR>
</TABLE>
</CENTER>
</P>
<H1><A NAME="4">4 Scheduler Objects</A></H1>
<P>The <CODE>cupsd</CODE> program is the CUPS scheduler process. It
manages many interdependent server objects that are used to manage and
print files to printers. </P>
<P>The following table provides the memory and disk cost associated
with each server object.
<CENTER>
<TABLE BORDER="1" WIDTH="80%">
<TR><TH>Object</TH><TH>Memory Per</TH><TH>Disk Per</TH></TR>
<TR><TD>Browse ACL</TD><TD>1k</TD><TD>120</TD></TR>
<TR><TD>Browse Poll</TD><TD>24</TD><TD>80</TD></TR>
<TR><TD>Browse Relay</TD><TD>28</TD><TD>80</TD></TR>
<TR><TD>Certificate</TD><TD>76</TD><TD>32</TD></TR>
<TR><TD>Class</TD><TD>9k</TD><TD>200</TD></TR>
<TR><TD>Client</TD><TD>13k</TD><TD>-</TD></TR>
<TR><TD>Device</TD><TD>256</TD><TD>-</TD></TR>
<TR><TD>Job</TD><TD>2k</TD><TD>1k + size of document files</TD></TR>
<TR><TD>Location ACL</TD><TD>1k</TD><TD>120</TD></TR>
<TR><TD>MIME Filter</TD><TD>268</TD><TD>80</TD></TR>
<TR><TD>MIME Type</TD><TD>340</TD><TD>80</TD></TR>
<TR><TD>PPD</TD><TD>200</TD><TD>656</TD></TR>
<TR><TD>Printer</TD><TD>11k</TD><TD>32k</TD></TR>
</TABLE>
</CENTER>
</P>
<H1 TYPE="A" VALUE="1"><A NAME="5">A Glossary</A></H1>
<H2><A NAME="5_1">A.1 Terms</A></H2>
<DL>
<DT>C </DT>
<DD>A computer language. </DD>
<DT>parallel </DT>
<DD>Sending or receiving data more than 1 bit at a time. </DD>
<DT>pipe </DT>
<DD>A one-way communications channel between two programs. </DD>
<DT>serial </DT>
<DD>Sending or receiving data 1 bit at a time. </DD>
<DT>socket </DT>
<DD>A two-way network communications channel. </DD>
</DL>
<H2><A NAME="5_2">A.2 Acronyms</A></H2>
<DL>
<DT>ASCII </DT>
<DD>American Standard Code for Information Interchange </DD>
<DT>CUPS </DT>
<DD>Common UNIX Printing System </DD>
<DT>ESC/P </DT>
<DD>EPSON Standard Code for Printers </DD>
<DT>FTP </DT>
<DD>File Transfer Protocol </DD>
<DT>HP-GL </DT>
<DD>Hewlett-Packard Graphics Language </DD>
<DT>HP-PCL </DT>
<DD>Hewlett-Packard Page Control Language </DD>
<DT>HP-PJL </DT>
<DD>Hewlett-Packard Printer Job Language </DD>
<DT>IETF </DT>
<DD>Internet Engineering Task Force </DD>
<DT>IPP </DT>
<DD>Internet Printing Protocol </DD>
<DT>ISO </DT>
<DD>International Standards Organization </DD>
<DT>LPD </DT>
<DD>Line Printer Daemon </DD>
<DT>MIME </DT>
<DD>Multimedia Internet Mail Exchange </DD>
<DT>PPD </DT>
<DD>PostScript Printer Description </DD>
<DT>SMB </DT>
<DD>Server Message Block </DD>
<DT>TFTP </DT>
<DD>Trivial File Transfer Protocol </DD>
</DL>
</BODY>
</HTML>
BIN
Ver Arquivo
Arquivo binário não exibido.
+457
Ver Arquivo
@@ -0,0 +1,457 @@
<HTML>
<HEAD>
<META NAME="COPYRIGHT" CONTENT="Copyright 1997-2000, All Rights Reserved">
<META NAME="DOCNUMBER" CONTENT="CUPS-SPS-1.1">
<META NAME="Author" CONTENT="Easy Software Products">
<TITLE>CUPS Software Performance Specification</TITLE>
</HEAD>
<BODY>
<H1>Scope</H1>
<H2>Identification</H2>
<P>This software performance specification provides an analysis of the
memory, disk, and processor utilitization of each program in the
Common UNIX Printing System ("CUPS") Version 1.1.</P>
<P>For the purposes of comparison, all figures are for the Linux Intel
platform. Memory utilization on other platforms should be similar.
<EMBED SRC="system-overview.shtml">
<H2>Document Overview</H2>
<P>This software performance specification is organized into the
following sections:</P>
<UL>
<LI>1 - Scope</LI>
<LI>2 - References</LI>
<LI>3 - Programs</LI>
<LI>4 - Scheduler Objects</LI>
<LI>A - Glossary</LI>
</UL>
<EMBED SRC="references.shtml">
<H1>Programs</H1>
<P>The following table describes the average memory, disk, and CPU usage of
each program in CUPS.
<P>The base memory column shows the initial memory requirements for each
program, including any shared libraries that are provided by CUPS.
<P>The max memory column shows the maximum amount of memory that will be
used by the program based upon the default configuration settings supplied
with CUPS.
<P>The temp files column indicates whether any temporary files are created.
<P>The CPU usage column specifies a relative CPU usage by the program under
normal conditions, either low, medium, or high. Low usage indicates that
the program will never use more than 33% of the available CPU time. Medium
usage indicates the program will use as much as 66% of the available CPU
time. High usage indicates the program uses 66% or more of the available CPU
time.
<CENTER><TABLE WIDTH="80%" BORDER="1">
<TR>
<TH COLSPAN="3">Backends</TH>
</TR>
<TR>
<TH>Program</TH>
<TH>Base Memory</TH>
<TH>Max Memory</TH>
<TH>Temp Files</TH>
<TH>CPU Usage</TH>
</TR>
<TR>
<TD>ipp</TD>
<TD>91k</TD>
<TD>256k</TD>
<TD>Up to size of print file</TD>
<TD>Low</TD>
</TR>
<TR>
<TD>lpd</TD>
<TD>89k</TD>
<TD>89k</TD>
<TD>Up to size of print file</TD>
<TD>Low</TD>
</TR>
<TR>
<TD>parallel</TD>
<TD>85k</TD>
<TD>85k</TD>
<TD>Up to size of print file</TD>
<TD>Low</TD>
</TR>
<TR>
<TD>serial</TD>
<TD>85k</TD>
<TD>85k</TD>
<TD>Up to size of print file</TD>
<TD>Low</TD>
</TR>
<TR>
<TD>socket</TD>
<TD>85k</TD>
<TD>85k</TD>
<TD>Up to size of print file</TD>
<TD>Low</TD>
</TR>
<TR>
<TD>usb</TD>
<TD>85k</TD>
<TD>85k</TD>
<TD>Up to size of print file</TD>
<TD>Low</TD>
</TR>
<TR>
<TH COLSPAN="3">CGIs</TH>
</TR>
<TR>
<TH>Program</TH>
<TH>Base Memory</TH>
<TH>Max Memory</TH>
<TH>Temp Files</TH>
<TH>CPU Usage</TH>
</TR>
<TR>
<TD>admin.cgi</TD>
<TD>107k</TD>
<TD>256k</TD>
<TD>Up to size of PPD file</TD>
<TD>Medium</TD>
</TR>
<TR>
<TD>classes.cgi</TD>
<TD>95k</TD>
<TD>Size of class objects</TD>
<TD>None</TD>
<TD>Medium</TD>
</TR>
<TR>
<TD>jobs.cgi</TD>
<TD>93k</TD>
<TD>Size of job objects</TD>
<TD>None</TD>
<TD>Medium</TD>
</TR>
<TR>
<TD>printers.cgi</TD>
<TD>95k</TD>
<TD>Size of printer objects</TD>
<TD>None</TD>
<TD>Medium</TD>
</TR>
<TR>
<TH COLSPAN="3">Command-Line Programs</TH>
</TR>
<TR>
<TH>Program</TH>
<TH>Base Memory</TH>
<TH>Max Memory</TH>
<TH>Temp Files</TH>
<TH>CPU Usage</TH>
</TR>
<TR>
<TD>accept</TD>
<TD>88k</TD>
<TD>128k</TD>
<TD>None</TD>
<TD>Low</TD>
</TR>
<TR>
<TD>cancel</TD>
<TD>88k</TD>
<TD>128k</TD>
<TD>None</TD>
<TD>Low</TD>
</TR>
<TR>
<TD>disable</TD>
<TD>88k</TD>
<TD>128k</TD>
<TD>None</TD>
<TD>Low</TD>
</TR>
<TR>
<TD>enable</TD>
<TD>88k</TD>
<TD>128k</TD>
<TD>None</TD>
<TD>Low</TD>
</TR>
<TR>
<TD>lp</TD>
<TD>90k</TD>
<TD>256k</TD>
<TD>None</TD>
<TD>Low</TD>
</TR>
<TR>
<TD>lpadmin</TD>
<TD>148k</TD>
<TD>256k</TD>
<TD>None</TD>
<TD>Low</TD>
</TR>
<TR>
<TD>lpc</TD>
<TD>86k</TD>
<TD>Size of job and printer objects</TD>
<TD>None</TD>
<TD>Medium</TD>
</TR>
<TR>
<TD>lpinfo</TD>
<TD>89k</TD>
<TD>Size of device and PPD objects</TD>
<TD>None</TD>
<TD>Medium</TD>
</TR>
<TR>
<TD>lpmove</TD>
<TD>88k</TD>
<TD>128k</TD>
<TD>None</TD>
<TD>Low</TD>
</TR>
<TR>
<TD>lpoptions</TD>
<TD>89k</TD>
<TD>128k</TD>
<TD>None</TD>
<TD>Low</TD>
</TR>
<TR>
<TD>lppasswd</TD>
<TD>90k</TD>
<TD>90k</TD>
<TD>None</TD>
<TD>Low</TD>
</TR>
<TR>
<TD>lpq</TD>
<TD>87k</TD>
<TD>Size of job objects</TD>
<TD>None</TD>
<TD>Medium</TD>
</TR>
<TR>
<TD>lpr</TD>
<TD>87k</TD>
<TD>256k</TD>
<TD>None</TD>
<TD>Low</TD>
</TR>
<TR>
<TD>lprm</TD>
<TD>84k</TD>
<TD>128k</TD>
<TD>None</TD>
<TD>Low</TD>
</TR>
<TR>
<TD>lpstat</TD>
<TD>119k</TD>
<TD>Size of job, printer, and class objects</TD>
<TD>None</TD>
<TD>Medium</TD>
</TR>
<TR>
<TD>reject</TD>
<TD>88k</TD>
<TD>128k</TD>
<TD>None</TD>
<TD>Low</TD>
</TR>
<TR>
<TH COLSPAN="3">Daemons</TH>
</TR>
<TR>
<TH>Program</TH>
<TH>Base Memory</TH>
<TH>Max Memory</TH>
<TH>Temp Files</TH>
<TH>CPU Usage</TH>
</TR>
<TR>
<TD>cups-lpd</TD>
<TD>92k</TD>
<TD>256k</TD>
<TD>One file per control or data file from client</TD>
<TD>Low</TD>
</TR>
<TR>
<TD>cupsd</TD>
<TD>308k</TD>
<TD>See Scheduler Requirements</TD>
<TD>See Scheduler Requirements</TD>
<TD>Medium</TD>
</TR>
<TR>
<TD>cups-polld</TD>
<TD>84k</TD>
<TD>Size of printer and class objects</TD>
<TD>None</TD>
<TD>Low</TD>
</TR>
<TR>
<TH COLSPAN="3">Filters</TH>
</TR>
<TR>
<TH>Program</TH>
<TH>Base Memory</TH>
<TH>Max Memory</TH>
<TH>Temp Files</TH>
<TH>CPU Usage</TH>
</TR>
<TR>
<TD>hpgltops</TD>
<TD>263k</TD>
<TD>320k</TD>
<TD>None</TD>
<TD>Medium</TD>
</TR>
<TR>
<TD>imagetops</TD>
<TD>628k</TD>
<TD>10M</TD>
<TD>Swap file for uncompressed image data</TD>
<TD>Medium</TD>
</TR>
<TR>
<TD>imagetoraster</TD>
<TD>652k</TD>
<TD>10M</TD>
<TD>Swap file for uncompressed image data</TD>
<TD>High</TD>
</TR>
<TR>
<TD>pstops</TD>
<TD>775k</TD>
<TD>840k</TD>
<TD>Up to size of print file</TD>
<TD>Medium</TD>
</TR>
<TR>
<TD>pstoraster</TD>
<TD>4M</TD>
<TD>14M</TD>
<TD>Swap file for command lists</TD>
<TD>High</TD>
</TR>
<TR>
<TD>rastertoepson</TD>
<TD>693k</TD>
<TD>1M</TD>
<TD>None</TD>
<TD>Low</TD>
</TR>
<TR>
<TD>rastertohp</TD>
<TD>690k</TD>
<TD>1M</TD>
<TD>None</TD>
<TD>Low</TD>
</TR>
<TR>
<TD>texttops</TD>
<TD>638k</TD>
<TD>4*cols*rows</TD>
<TD>None</TD>
<TD>Low</TD>
</TR>
</TABLE></CENTER>
<H1>Scheduler Objects</H1>
<P>The <CODE>cupsd</CODE> program is the CUPS scheduler process. It manages
many interdependent server objects that are used to manage and print files
to printers.
<P>The following table provides the memory and disk cost associated with each
server object.
<CENTER><TABLE WIDTH="80%" BORDER="1">
<TR>
<TH>Object</TH>
<TH>Memory Per</TH>
<TH>Disk Per</TH>
</TR>
<TR>
<TD>Browse ACL</TD>
<TD>1k</TD>
<TD>120</TD>
</TR>
<TR>
<TD>Browse Poll</TD>
<TD>24</TD>
<TD>80</TD>
</TR>
<TR>
<TD>Browse Relay</TD>
<TD>28</TD>
<TD>80</TD>
</TR>
<TR>
<TD>Certificate</TD>
<TD>76</TD>
<TD>32</TD>
</TR>
<TR>
<TD>Class</TD>
<TD>9k</TD>
<TD>200</TD>
</TR>
<TR>
<TD>Client</TD>
<TD>13k</TD>
<TD>-</TD>
</TR>
<TR>
<TD>Device</TD>
<TD>256</TD>
<TD>-</TD>
</TR>
<TR>
<TD>Job</TD>
<TD>2k</TD>
<TD>1k + size of document files</TD>
</TR>
<TR>
<TD>Location ACL</TD>
<TD>1k</TD>
<TD>120</TD>
</TR>
<TR>
<TD>MIME Filter</TD>
<TD>268</TD>
<TD>80</TD>
</TR>
<TR>
<TD>MIME Type</TD>
<TD>340</TD>
<TD>80</TD>
</TR>
<TR>
<TD>PPD</TD>
<TD>200</TD>
<TD>656</TD>
</TR>
<TR>
<TD>Printer</TD>
<TD>11k</TD>
<TD>32k</TD>
</TR>
</TABLE></CENTER>
<EMBED SRC="glossary.shtml">
</BODY>
</HTML>
+270
Ver Arquivo
@@ -0,0 +1,270 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" "http://www.w3.org/TR/REC-html40/loose.dtd">
<HTML>
<HEAD>
<TITLE> CUPS Software Security Report</TITLE>
<META NAME="AUTHOR" CONTENT="Easy Software Products">
<META NAME="COPYRIGHT" CONTENT="Copyright 1997-2000, All Rights Reserved">
<META NAME="DOCNUMBER" CONTENT="CUPS-SSR-1.1">
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-1">
<STYLE>
BODY { font-family: serif; font-size: 11.0pt }
H1 { font-family: sans-serif; font-size: 20.0pt }
H2 { font-family: sans-serif; font-size: 17.0pt }
H3 { font-family: sans-serif; font-size: 14.0pt }
H4 { font-family: sans-serif; font-size: 11.0pt }
H5 { font-family: sans-serif; font-size: 9.0pt }
H6 { font-family: sans-serif; font-size: 8.0pt }
SUB { font-size: 8.0pt }
SUP { font-size: 8.0pt }
PRE { font-size: 9.0pt }
</STYLE>
</HEAD>
<BODY>
<CENTER><A HREF="#CONTENTS"><IMG SRC="images/cups-large.gif" BORDER="0" WIDTH="100%"><BR>
<H1> CUPS Software Security Report</H1></A><BR>
CUPS-SSR-1.1<BR>
Easy Software Products<BR>
Copyright 1997-2000, All Rights Reserved<BR>
</CENTER>
<HR>
<H1 ALIGN="CENTER"><A NAME="CONTENTS">Table of Contents</A></H1>
<BR>
<BR><B><A HREF="#1">1 Scope</A></B>
<UL>
<LI><A HREF="#1_1">1.1 Identification</A></LI>
<LI><A HREF="#1_2">1.2 System Overview</A></LI>
<LI><A HREF="#1_3">1.3 Document Overview</A></LI>
</UL>
<B><A HREF="#2">2 References</A></B>
<UL>
<LI><A HREF="#2_1">2.1 CUPS Documentation</A></LI>
<LI><A HREF="#2_2">2.2 Other Documents</A></LI>
</UL>
<B><A HREF="#3">3 Local Access Risks</A></B>
<UL>
<LI><A HREF="#3_1">3.1 Security Breaches</A></LI>
</UL>
<B><A HREF="#4">4 Remote Access Risks</A></B>
<UL>
<LI><A HREF="#4_1">4.1 Denial of Service Attacks</A></LI>
<LI><A HREF="#4_2">4.2 Security Breaches</A></LI>
</UL>
<B><A HREF="#5">A Glossary</A></B>
<UL>
<LI><A HREF="#5_1">A.1 Terms</A></LI>
<LI><A HREF="#5_2">A.2 Acronyms</A></LI>
</UL>
<HR>
<H1><A NAME="1">1 Scope</A></H1>
<H2><A NAME="1_1">1.1 Identification</A></H2>
<P>This software security report provides an analysis of possible
security concerns for the Common UNIX Printing System (&quot;CUPS&quot;) Version
1.1.</P>
<H2><A NAME="1_2">1.2 System Overview</A></H2>
<P>CUPS provides a portable printing layer for UNIX&reg;-based operating
systems. It has been developed by <A HREF="http://www.easysw.com">Easy
Software Products</A> to promote a standard printing solution for all
UNIX vendors and users. CUPS provides the System V and Berkeley
command-line interfaces. </P>
<P>CUPS uses the Internet Printing Protocol (&quot;IPP&quot;) as the basis for
managing print jobs and queues. The Line Printer Daemon (&quot;LPD&quot;) Server
Message Block (&quot;SMB&quot;), and AppSocket (a.k.a. JetDirect) protocols are
also supported with reduced functionality. CUPS adds network printer
browsing and PostScript Printer Description (&quot;PPD&quot;) based printing
options to support real-world printing under UNIX. </P>
<P>CUPS also includes a customized version of GNU Ghostscript
(currently based off GNU Ghostscript 5.50) and an image file RIP that
are used to support non-PostScript printers. Sample drivers for HP and
EPSON printers are included that use these filters. </P>
<H2><A NAME="1_3">1.3 Document Overview</A></H2>
<P>This software security report is organized into the following
sections:</P>
<UL>
<LI>1 - Scope</LI>
<LI>2 - References</LI>
<LI>3 - Local Access Risks</LI>
<LI>4 - Remote Access Risks</LI>
<LI>A - Glossary</LI>
</UL>
<H1><A NAME="2">2 References</A></H1>
<H2><A NAME="2_1">2.1 CUPS Documentation</A></H2>
<P>The following CUPS documentation is referenced by this document: </P>
<UL>
<LI>CUPS-CMP-1.1: CUPS Configuration Management Plan </LI>
<LI>CUPS-IDD-1.1: CUPS System Interface Design Description </LI>
<LI>CUPS-IPP-1.1: CUPS Implmentation of IPP </LI>
<LI>CUPS-SAM-1.1.x: CUPS Software Administrators Manual </LI>
<LI>CUPS-SDD-1.1: CUPS Software Design Description </LI>
<LI>CUPS-SPM-1.1.x: CUPS Software Programming Manual </LI>
<LI>CUPS-SSR-1.1: CUPS Software Security Report </LI>
<LI>CUPS-STP-1.1: CUPS Software Test Plan </LI>
<LI>CUPS-SUM-1.1.x: CUPS Software Users Manual </LI>
<LI>CUPS-SVD-1.1: CUPS Software Version Description </LI>
</UL>
<H2><A NAME="2_2">2.2 Other Documents</A></H2>
<P>The following non-CUPS documents are referenced by this document: </P>
<UL>
<LI><A HREF="http://partners.adobe.com/asn/developer/PDFS/TN/5003.PPD_Spec_v4.3.pdf">
Adobe PostScript Printer Description File Format Specification,
Version 4.3.</A></LI>
<LI><A HREF="http://partners.adobe.com/asn/developer/PDFS/TN/PLRM.pdf">
Adobe PostScript Language Reference, Third Edition.</A></LI>
<LI>IPP: Job and Printer Set Operations </LI>
<LI>IPP/1.1: Encoding and Transport </LI>
<LI>IPP/1.1: Implementers Guide </LI>
<LI>IPP/1.1: Model and Semantics </LI>
<LI><A HREF="http://www.ietf.org/rfc/rfc1179.txt">RFC 1179, Line
Printer Daemon Protocol</A></LI>
<LI><A HREF="http://www.ietf.org/rfc/rfc2567.txt">RFC 2567, Design
Goals for an Internet Printing Protocol</A></LI>
<LI><A HREF="http://www.ietf.org/rfc/rfc2568.txt">RFC 2568, Rationale
for the Structure of the Model and Protocol</A> for the Internet
Printing Protocol</LI>
<LI><A HREF="http://www.ietf.org/rfc/rfc2569.txt">RFC 2569, Mapping
between LPD and IPP Protocols</A></LI>
<LI><A HREF="http://www.ietf.org/rfc/rfc2616.txt">RFC 2616, Hypertext
Transfer Protocol -- HTTP/1.1</A></LI>
<LI><A HREF="http://www.ietf.org/rfc/rfc2617.txt">RFC 2617, HTTP
Authentication: Basic and Digest Access</A> Authentication </LI>
</UL>
<H1><A NAME="3">3 Local Access Risks</A></H1>
<P>Local access risks are those that can be exploited only with a local
user account. This section does not address issues related to
dissemination of the root password or other security issues associated
with the UNIX operating system. </P>
<H2><A NAME="3_1">3.1 Security Breaches</A></H2>
<P>There is one known security vulnerability with local access: </P>
<OL>
<LI>Device URIs are passed to backend filters in argv[0] and in an
environment variable. Since device URIs can contain usernames and
passwords it may be possible for a local user to gain access to a
remote resource. </LI>
<P>We recommend that any password-protected accounts used for remote
printing have limited access priviledges so that the possible damages
can be minimized. </P>
<P>The device URI is &quot;sanitized&quot; (the username and password are
removed) when sent to an IPP client so that a remote user cannot
exploit this vulnerability. </P>
</OL>
<H1><A NAME="4">4 Remote Access Risks</A></H1>
<P>Remote access risks are those that can be exploited without a local
user account and/or from a remote system. This section does not address
issues related to network or firewall security. </P>
<H2><A NAME="4_1">4.1 Denial of Service Attacks</A></H2>
<P>Like all Internet services, the CUPS server is vulnerable to denial
of service attacks, including: </P>
<OL>
<LI>Establishing multiple connections to the server until the server
will accept no more. </LI>
<P>This cannot be protected against by the current software. It is
possible that future versions of the CUPS software could be configured
to limit the number of connections allowed from a single host, however
that still would not prevent a distributed attack. </P>
<LI>Repeatedly opening and closing connections to the server as fast
as possible. </LI>
<P>There is no easy way of protecting against this in the CUPS
software. If the attack is coming from outside the local network it
might be possible to filter such an attack, however once the
connection request has been received by the server it must at least
accept the connection to find out who is connecting. </P>
<LI>Flooding the network with broadcast packets on port 631. </LI>
<P>It might be possible to disable browsing if this condition is
detected by the CUPS software, however if there are large numbers of
printers available on the network such an algorithm might think that
an attack was occurring when instead a valid update was being
received. </P>
<LI>Sending partial IPP requests; specifically, sending part of an
attribute value and then stopping transmission. </LI>
<P>The current code is structured to read and write the IPP request
data on-the-fly, so there is no easy way to protect against this for
large attribute values. </P>
<LI>Sending large/long print jobs to printers, preventing other users
from printing. </LI>
<P>There are limited facilities for protecting against large print
jobs (the <CODE>MaxRequestSize</CODE> attribute), however this will
not protect printers from malicious users and print files that
generate hundreds or thousands of pages. In general, we recommend
restricting printer access to known hosts or networks, and adding
user-level access control as needed for expensive printers. </P>
</OL>
<H2><A NAME="4_2">4.2 Security Breaches</A></H2>
<P>The current CUPS server supports Basic, Digest, and local
certificate authentication: </P>
<OL>
<LI>Basic authentication essentially places the clear text of the
username and password on the network. Since CUPS uses the UNIX
username and password account information, the authentication
information could be used to gain access to accounts (possibly
priviledged accounts) on the server. </LI>
<LI>Digest authentication uses an MD5 checksum of the username,
password, and domain (&quot;CUPS&quot;), so the original username and password
is not sent over the network. However, the current implementation does
not authenticate the entire message and uses the client's IP address
for the nonce value, making it possible to launch &quot;man in the middle&quot;
and replay attacks from the same client. The next minor release of
CUPS will support Digest authentication of the entire message body,
effectively stopping these methods of attack. </LI>
<LI>Local certificate authentication passes 128-bit &quot;certificates&quot;
that identify an authenticated user. Certificates are created
on-the-fly from random data and stored in files under <CODE>
/etc/cups/certs</CODE>. They have restricted read permissions: root +
system for the root certificate, and lp + system for CGI certificates.
Because certificates are only available on the local system, the CUPS
server does not accept local authentication unless the client is
connected to the localhost address (127.0.0.1.) </LI>
</OL>
<P>The default CUPS configuration disables remote administration. We do
not recommend that remote administration be enabled for all hosts.
However, if you have a trusted network or subnet, access can be
restricted accordingly. Also, we highly recommend using Digest
authentication when possible. Unfortunately, most web browsers do not
support Digest authentication at this time. </P>
<H1 TYPE="A" VALUE="1"><A NAME="5">A Glossary</A></H1>
<H2><A NAME="5_1">A.1 Terms</A></H2>
<DL>
<DT>C </DT>
<DD>A computer language. </DD>
<DT>parallel </DT>
<DD>Sending or receiving data more than 1 bit at a time. </DD>
<DT>pipe </DT>
<DD>A one-way communications channel between two programs. </DD>
<DT>serial </DT>
<DD>Sending or receiving data 1 bit at a time. </DD>
<DT>socket </DT>
<DD>A two-way network communications channel. </DD>
</DL>
<H2><A NAME="5_2">A.2 Acronyms</A></H2>
<DL>
<DT>ASCII </DT>
<DD>American Standard Code for Information Interchange </DD>
<DT>CUPS </DT>
<DD>Common UNIX Printing System </DD>
<DT>ESC/P </DT>
<DD>EPSON Standard Code for Printers </DD>
<DT>FTP </DT>
<DD>File Transfer Protocol </DD>
<DT>HP-GL </DT>
<DD>Hewlett-Packard Graphics Language </DD>
<DT>HP-PCL </DT>
<DD>Hewlett-Packard Page Control Language </DD>
<DT>HP-PJL </DT>
<DD>Hewlett-Packard Printer Job Language </DD>
<DT>IETF </DT>
<DD>Internet Engineering Task Force </DD>
<DT>IPP </DT>
<DD>Internet Printing Protocol </DD>
<DT>ISO </DT>
<DD>International Standards Organization </DD>
<DT>LPD </DT>
<DD>Line Printer Daemon </DD>
<DT>MIME </DT>
<DD>Multimedia Internet Mail Exchange </DD>
<DT>PPD </DT>
<DD>PostScript Printer Description </DD>
<DT>SMB </DT>
<DD>Server Message Block </DD>
<DT>TFTP </DT>
<DD>Trivial File Transfer Protocol </DD>
</DL>
</BODY>
</HTML>

Alguns arquivos não foram exibidos porque demasiados arquivos foram alterados neste diff Mostrar Mais