--- system-config-printer-1.3.6+20110831.orig/debian/copyright +++ system-config-printer-1.3.6+20110831/debian/copyright @@ -0,0 +1,34 @@ +This package was debianized by Jani Monoses on +Fri, 8 Sep 2006 12:08:23 +0300 + +It was downloaded from http://cyberelk.net/tim/data/system-config-printer/ + +Upstream Author: Tim Waugh + Florian Festi + +Copyright: 1996-2008 Red Hat, Inc + 2002-2008 Tim Waugh + 2006-2007 Florian Festi + + +License: + + This package is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2 of the License, or + (at your option) any later version. + + This package is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this package; if not, write to the Free Software + Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA + +On Debian systems, the complete text of the GNU General +Public License can be found in `/usr/share/common-licenses/GPL'. + +The Debian packaging is (C) 2006, Jani Monoses and +is licensed under the GPL, see above. --- system-config-printer-1.3.6+20110831.orig/debian/system-config-printer-udev.install +++ system-config-printer-1.3.6+20110831/debian/system-config-printer-udev.install @@ -0,0 +1 @@ +debian/tmp/lib/udev --- system-config-printer-1.3.6+20110831.orig/debian/system-config-printer-gnome.preinst +++ system-config-printer-1.3.6+20110831/debian/system-config-printer-gnome.preinst @@ -0,0 +1,10 @@ +#!/bin/sh -e + +case "$1" in + install|upgrade) + if dpkg --compare-versions "$2" lt-nl "1.1.2+git20090125-0ubuntu2"; then + if [ -e /etc/xdg/autostart/redhat-print-applet.desktop ]; then + rm /etc/xdg/autostart/redhat-print-applet.desktop + fi + fi +esac --- system-config-printer-1.3.6+20110831.orig/debian/pyversions +++ system-config-printer-1.3.6+20110831/debian/pyversions @@ -0,0 +1 @@ +2.5- --- system-config-printer-1.3.6+20110831.orig/debian/watch +++ system-config-printer-1.3.6+20110831/debian/watch @@ -0,0 +1,2 @@ +version=3 +http://cyberelk.net/tim/data/system-config-printer/system-config-printer-(.*).tar.bz2 debian git-import-orig --- system-config-printer-1.3.6+20110831.orig/debian/system-config-printer-common.install +++ system-config-printer-1.3.6+20110831/debian/system-config-printer-common.install @@ -0,0 +1,23 @@ +debian/tmp/usr/share/system-config-printer/check-device-ids.py +debian/tmp/usr/share/system-config-printer/config.py +debian/tmp/usr/share/system-config-printer/debug.py +debian/tmp/usr/share/system-config-printer/dnssdresolve.py +debian/tmp/usr/share/system-config-printer/firewall.py +debian/tmp/usr/share/system-config-printer/installpackage.py +debian/tmp/usr/share/system-config-printer/monitor.py +debian/tmp/usr/share/system-config-printer/PhysicalDevice.py +debian/tmp/usr/share/system-config-printer/ppdippstr.py +debian/tmp/usr/share/system-config-printer/probe_printer.py +#debian/tmp/usr/share/system-config-printer/profile-ppds.py +debian/tmp/usr/share/system-config-printer/pysmb.py +debian/tmp/usr/share/system-config-printer/scp-dbus-service.py +debian/tmp/usr/share/system-config-printer/SearchCriterion.py +debian/tmp/usr/share/system-config-printer/smburi.py +debian/tmp/usr/share/system-config-printer/statereason.py +debian/tmp/usr/share/system-config-printer/xml/* +debian/tmp/etc/dbus-1/system.d/*.conf +debian/tmp/usr/share/dbus-1 +debian/tmp/usr/bin/scp-dbus-service + +debian/local/testpage*.ps usr/share/system-config-printer/ +debian/local/source_system-config-printer.py /usr/share/apport/package-hooks/ --- system-config-printer-1.3.6+20110831.orig/debian/control +++ system-config-printer-1.3.6+20110831/debian/control @@ -0,0 +1,47 @@ +Source: system-config-printer +Section: gnome +Priority: optional +Maintainer: Ubuntu Core Developers +XSBC-Original-Maintainer: Otavio Salvador +Build-Depends: cdbs (>= 0.4.43), debhelper (>= 5.0.37.2), python-all-dev (>= 2.3.5-11), libxml-parser-perl, desktop-file-utils (>= 0.18-0ubuntu7), xmlto, libusb-dev, libudev-dev, libcups2-dev, libglib2.0-dev +Standards-Version: 3.7.2 +X-Python-Version: >= 2.5 + +Package: system-config-printer-common +Architecture: all +Depends: ${shlibs:Depends}, ${python:Depends}, python-cups (>= 1.9.59), python-smbc, python-dbus, python-cupshelpers +Recommends: system-config-printer-udev, avahi-utils +Conflicts: system-config-printer, system-config-printer-kde (< 0.09ubuntu1) +Replaces: system-config-printer +Description: Printer configuration GUI + A CUPS printer configuration tool and status applet. + . + This package provides common files used by both frontends. + +Package: system-config-printer-udev +Architecture: any +Depends: ${shlibs:Depends}, ${python:Depends}, python-cups (>= 1.9.55), python-dbus, python-cupshelpers +Description: Printer auto-configuration facility based on udev + A CUPS printer configuration tool and status applet. + . + This package provides udev rules and callouts for auto-setup of + print queues (Plug'n'Print) and for automatic disabling and + re-enabling print queues when the printer gets disconnected and + reconnected. + +Package: system-config-printer-gnome +Architecture: all +Depends: ${shlibs:Depends}, ${python:Depends}, system-config-printer-common, python-gtk2, python-notify, python-gobject, gnome-icon-theme, python-libxml2, python-gnomekeyring +Conflicts: system-config-printer +Replaces: system-config-printer +Description: Printer configuration GUI + A CUPS printer configuration tool and status applet. + . + This package provides the GTK frontend. + +Package: python-cupshelpers +Architecture: all +Depends: ${shlibs:Depends}, ${python:Depends} +Description: Python modules for printer configuration with CUPS + Python modules for printer configuration with CUPS. The modules have no GUI + and can therefore also be used on headless servers or by background processes. --- system-config-printer-1.3.6+20110831.orig/debian/README.Debian +++ system-config-printer-1.3.6+20110831/debian/README.Debian @@ -0,0 +1,8 @@ +system-config-printer for Debian +-------------------------------- + +This package contains the CUPS configuration GUI from Fedora Core 6 +It was changed not to depend on the RHPL libraries which are not (yet) +packaged in Ubuntu. + +-- Jani Monoses , Fri, 8 Sep 2006 12:08:23 +0300 --- system-config-printer-1.3.6+20110831.orig/debian/rules +++ system-config-printer-1.3.6+20110831/debian/rules @@ -0,0 +1,14 @@ +#!/usr/bin/make -f +# Sample debian/rules that uses cdbs. Originaly written by Robert Millan. +# This file is public domain. + +include /usr/share/cdbs/1/rules/debhelper.mk +include /usr/share/cdbs/1/class/autotools.mk +include /usr/share/cdbs/1/class/gnome.mk +include /usr/share/cdbs/1/rules/simple-patchsys.mk + +DEB_CONFIGURE_EXTRA_FLAGS := --sbindir=/usr/bin --with-udev-rules +DEB_MAKE_INSTALL_TARGET := install DESTDIR=$(DEB_DESTDIR) udevrulesdir=/lib/udev/rules.d udevhelperdir=/lib/udev + +binary-install/python-cupshelpers:: + dh_python2 -ppython-cupshelpers --- system-config-printer-1.3.6+20110831.orig/debian/python-cupshelpers.install +++ system-config-printer-1.3.6+20110831/debian/python-cupshelpers.install @@ -0,0 +1,2 @@ +debian/tmp/usr/lib/python*/*/cupshelpers/ +debian/tmp/etc/cupshelpers/ --- system-config-printer-1.3.6+20110831.orig/debian/system-config-printer-gnome.manpages +++ system-config-printer-1.3.6+20110831/debian/system-config-printer-gnome.manpages @@ -0,0 +1,2 @@ +debian/tmp/usr/share/man/man1/system-config-printer.1 +debian/tmp/usr/share/man/man1/system-config-printer-applet.1 --- system-config-printer-1.3.6+20110831.orig/debian/changelog +++ system-config-printer-1.3.6+20110831/debian/changelog @@ -0,0 +1,2817 @@ +system-config-printer (1.3.6+20110831-0ubuntu9.1) oneiric-proposed; urgency=low + + * debian/control: Depend on python-cups 1.5.59 (LP: #653132). + * debian/patches/67_no-misleading-prompt-and-root-default-in-auth-dialogs.patch: + Do not show the misleading prompt 'Password for "root" on localhost', as + under Ubuntu you do not log in as root. Also do not pre-fill "root" as + default user name (LP: #653132). + * debian/patches/65_do-not-connect-to-cups-with-empty-username.patch: Do not + connect to CUPS with an empty user name (LP: #653132). + * debian/patches/63_repeat-authorization-when-try-as-root-fails-asyncipp.patch: + On asynchronous IPP connections make sure that the password dialog is + repeated if a wrong password is entered (LP: #653132). + * debian/patches/60_fix-password-cache.patch: Fixes in caching the entered + password, to assure that only one password prompt happens during the whole + system-config-printer session (LP: #653132). + * debian/patches/57_fix-broken-setting-of-ipp-auth-canceled-constant.patch: + Upstream uses a constant of python-cups 1.5.60 and has a fallback to an + explicit definition when an older python-cups is used. This fallback + mechanism is broken and this patch works around it. + * debian/patches/55_handle-new-cups-1.5-ipp-error-response-ipp-authentication-canceled-asyncipp.patch: + Fix to distinguish canceling of authentication from entering an empty + password (asynchronous IPP connections, #653132). + * debian/patches/53_handle-new-cups-1.5-ipp-error-response-ipp-authentication-canceled-authconn.patch: + Fix from upstream to distinguish canceling of authentication from entering + an empty password (synchronous IPP connections, #653132). + + -- Till Kamppeter Sun, 9 Oct 2011 01:32:24 +0200 + +system-config-printer (1.3.6+20110831-0ubuntu9) oneiric; urgency=low + + * debian/patches/50_preferreddrivers-xml-fix-drivertype-recognition.patch: + Fixed the rules for recognition of driver types. Now the types + "foomatic-recommended-hpijs", "foomatic-hpijs", and + "foomatic-recommended-postscript" are recognized correctly (LP: #855412). + + -- Till Kamppeter Fri, 23 Sep 2011 23:46:24 +0200 + +system-config-printer (1.3.6+20110831-0ubuntu8) oneiric; urgency=low + + * debian/patches/47_suppress-misleading-notifications.patch: + Suppress notification messages for the new "cups-remote-..." state + reasons of CUPS 1.5.x. As they do not have human-readable text, the + notifications look like errors, which is misleading (LP: #855379). + NOTE: This patch is not intended for upstream. It is only a workaround, + the real patch is updating the message list and improving the wording. + + -- Till Kamppeter Wed, 21 Sep 2011 18:46:24 +0200 + +system-config-printer (1.3.6+20110831-0ubuntu7) oneiric; urgency=low + + * debian/patches/45_make-connections-list-easily-accessible.patch: + Make the connections list on the device page of the add-printer wizard + more easily usable: Really expand it by default and explicitly define its + default size so that it gets larger (~ 3 visible lines). This actually + fixes LP: #842092. + * debian/patches/43_allow-test-page-printing-for-remote-cups-queues-via-dnssd.patch: + As 37_allow-printing-test-page-on-remote-printer-without-ppd.patch, but + now for remote CUPS queues accessed via DNS-SD. CUPS does not mark these + queues as remote, therefore the additional patch is needed to recognize + the queue by its device URI. + * debian/patches/40_improve-handling-of-remote-cups-queues-via-dnssd.patch: + A CUPS server can also broadcast its queues vis DNS-SD and not via IPP + (like Mac OS X machines with shared printers do). In this case the queues + are not made available automatically on the client, but the broadcasted + queues can be selected in the add-printer wizard under the auto-detected + network devices. This patch improves the labeling so that the server is + listed with its name or IP (and not with the description of its first + queue) and in the "Connection" menu of the server the queues are shown + with their descriptions (and not all undistinguishable with "Remote CUPS + printer via DNS-SD"). + + -- Till Kamppeter Wed, 21 Sep 2011 12:40:24 +0200 + +system-config-printer (1.3.6+20110831-0ubuntu6) oneiric; urgency=low + + * debian/patches/37_allow-printing-test-page-on-remote-printer-without-ppd.patch: + If a queue pointing to a remote CUPS queue (for example on a server which + does not broadcast) is created, this queue is usually created as a raw + queue so that the driver on the server gets used. Due to the fact that the + queue is raw, system-config-printer does not allow to print a test page + on it and therefore does nothing when clicking on the test page button in + the properties dialog. This patch allows printing a test page on such queues + (no PPD file, remote queue, not a discovered queue). In addition, the user + is also asked whether he wants to print a test page when he creates such + queues, and for queues on which one really cannot print a test page (local + raw queues or discovered remote raw queues) the test page button is not + shown. + + -- Till Kamppeter Tue, 20 Sep 2011 20:06:24 +0200 + +system-config-printer (1.3.6+20110831-0ubuntu5) oneiric; urgency=low + + * debian/patches/35_do-not-label-cups-servers-by-the-first-printer-found.patch: + If one enters the host name or IP of a CUPS server into the "Find Network + Printer" field, the server gets labeled with the description of the first + printer found on the server. This patch makes the server being listed with + its host name or IP. + * debian/patches/33_probe-printer-remove-debug-code.patch: Removed some + forgotten debug code. + * debian/patches/30_improve-handling-of-ipp-printer-devices.patch: Improve + handling of IPP devices found when adding a printer: Make recognition + whether a found IPP device is a remote CUPS queue actually work, show + queue name of the IPP device in "Connection" list, make reading out + device URI of IPP device more reliable. + + -- Till Kamppeter Tue, 20 Sep 2011 00:12:24 +0200 + +system-config-printer (1.3.6+20110831-0ubuntu4) oneiric; urgency=low + + * debian/patches/27_disable-policy-kit-support.patch: Disable the support + for PolicyKit, as it leads to a password prompt dialog when doing any + administrative action, even if the calling user is in the "lpadmin" + group (LP: #807261). Note that this is a temporary solution for + Oneiric only. + + -- Till Kamppeter Mon, 12 Sep 2011 15:41:24 +0200 + +system-config-printer (1.3.6+20110831-0ubuntu3) oneiric; urgency=low + + * debian/patches/24_expand_connections_list.patch: + - Expand connections list (LP: #842092) + + -- Rodrigo Moya Wed, 07 Sep 2011 13:11:17 +0200 + +system-config-printer (1.3.6+20110831-0ubuntu2) oneiric; urgency=low + + * Change system-config-printer.desktop.in from OnlyShowIn:Unity + to NotShowIn:KDE so it works for Xubuntu, GNOME, etc. (LP: #841817) + + -- Mackenzie Morgan Tue, 06 Sep 2011 12:17:12 -0400 + +system-config-printer (1.3.6+20110831-0ubuntu1) oneiric; urgency=low + + * New upstream bug fix release + o GIT 1.3.x snapshot from 31 August 2011 + o Incorporates the most recent patches and/or replaces them by + upstream's fixes. + * debian/patches/25_fix-key-error-in-get-notifications-job-originating-user-name.patch, + debian/patches/27_update-properties-dialog-on-driver-change.patch, + debian/patches/30_save-installable-options-changes-on-driver-change.patch, + debian/patches/33_fix-bold-print-of-tab-labels-on-option-conflicts.patch: + Removed, incorporated upstream. + + -- Till Kamppeter Wed, 31 Aug 2011 16:35:20 +0200 + +system-config-printer (1.3.6+20110824-0ubuntu2) oneiric; urgency=low + + * debian/patches/27_update-properties-dialog-on-driver-change.patch: Update + the printer properties dialog only if the driver got changed, not on other + properties changes (a change of the printer's status is already considered + a properties channge). The unneeded redrawing of the dialog caused a + traceback when using the printer maintenance buttons (Clean heads, nozzle + test page). + + -- Till Kamppeter Tue, 30 Aug 2011 12:51:24 +0200 + +system-config-printer (1.3.6+20110824-0ubuntu1) oneiric; urgency=low + + * New upstream bug fix release + o GIT 1.3.x snapshot from 24 August 2011 + o State of 1.3.6 + o IPPAuthConnection: if semantic attribute is referenced after destroy, + don't fail (LP: #828030). + o Allow entering @,?,=,& characters in Device URI text field (LP: #826958). + * debian/patches/25_fix-key-error-in-get-notifications-job-originating-user-name.patch: + Fixed a KeyError crash in get_notifications() (LP: #827573). + * debian/patches/27_update-properties-dialog-on-driver-change.patch: + When changing the driver/PPD file ("Make and Model" on first tab of the + printer properties dialog) the options tabs of the dialog did not get + updated to the options of the new PPD file. One had to close the properties + dialog and open it again to configure the settings of the new driver. + * debian/patches/30_save-installable-options-changes-on-driver-change.patch: + When changing the driver and the PPD of the new driver has an "Installable + Options" group, the wizard shows a page to set these options. This patch + makes the changes here actually being saved. + * debian/patches/33_fix-bold-print-of-tab-labels-on-option-conflicts.patch: + If there are conflicting option settings on the tabs "Printer Options" + and/or "Installable Options" of the printer properties dialog, the tab + names at the left of the dialogs should be shown in bold. This patch makes + this working correctly in all situations, especially after changing the + driver/PPD for a print queue. + + -- Till Kamppeter Wed, 24 Aug 2011 16:53:24 +0200 + +system-config-printer (1.3.5+20110801-0ubuntu2) oneiric; urgency=low + + * debian/patches/23_unblock-pxlmono-driver.patch: Due to a bug + in Ghostscript producing huge output files when using the PCL-XL driver + ("pxlmono"/"pxlcolor") the "pxlmono" driver got set to a very low + priority in system-config-printer so that PCL-5e drivers get preferred. + This is not needed any more as the Ghostscript bug is fixed in version + 9.04. So we remove this priority exception now. In addition, this + caused problems with printers which had only a PCL-XL driver assigned + but not a PCL-5c/e driver (LP: #821818). + + -- Till Kamppeter Sun, 07 Aug 2011 16:31:19 +0200 + +system-config-printer (1.3.5+20110801-0ubuntu1) oneiric; urgency=low + + * New upstream release + o GIT 1.3.x snapshot from 1 August 2011 + o Deactivate OK button of the printer properties dialog only if there are + conflicts between settings (LP: #444280). + o Make PackageKit optional in cupshelpers (Red Hat bug #726996, + LP: #819000, LP: #819267). + * debian/control: Removed dependency on python-packagekit again, as this + package is in Universe (LP: #819267). + + -- Till Kamppeter Mon, 01 Aug 2011 16:43:19 +0200 + +system-config-printer (1.3.5+20110731-0ubuntu2) oneiric; urgency=low + + * debian/control: Added dependency on python-packagekit (LP: #818977, + LP: #819000). + + -- Till Kamppeter Sun, 31 Jul 2011 22:25:22 +0200 + +system-config-printer (1.3.5+20110731-0ubuntu1) oneiric; urgency=low + + * New upstream release + o GIT 1.3.x snapshot from 31 July 2011 + o State of 1.3.5 + 1 additional fix + o D-Bus service for access to the algorithmic parts of s-c-p: + - Now all parts which are useful fo all kinds of printer setup tools + (especially the new tool in GNOME) are exposed via D-Bus: Driver + selection, missing executables checking, and physical device grouping + (https://blueprints.launchpad.net/ubuntu/+spec/desktop-o-system-config-printer-vs-gnome-3-control-center) + o udev/Plug'n'Print: + - Don't rely on retriggering printers; enumerate them from systemd + instead. + - Don't complain about missing/invalid device ID for devices we've + already handled. + o UI: + - Removed unused Printer Groups feature. + - Don't show "No printers configured" page if the printers are filtered + in any way. + - URL-quote URIs when using "Find Network Printer" (LP: #808137). + - Downloadable drivers: don't display printers for which there are no + drivers (Red Hat bug #668154). + - Kerberos support for the SMB 'Verify' button (requires new enough + pycups). + - Removed IPP/HTTP device screen in favour of "Enter URI" (Red Hat bug + #685091). + - Converted ComboBoxEntry widgets to Entry+EntryCompletion in + NewPrinterWindow.ui. + - Robustness in ppdsloader in the face of errors (LP: #766818). + - Changed Make/Model/State labels into GtkEntry widgets so contents are + always fully selectable (Red Hat bug #719217). + - Convert iters to paths before comparing (Red Hat bug #717062, LP: + #791690, upstream bug #221). + - Set translation domain in D-Bus service (LP: #783967). + - Ensure consistency in jobviewer if add_job fails (Red Hat bug #693055, + Red Hat bug #632551). + o Driver preferences: + - Avoid PostScript for HP LaserJet 2100 Series (Red Hat bug #710231). + - Raised priority for SpliX driver (LP: #793741). + o Other: + - Fixed cupsFilter search in missing executables check. + - Use PackageKit to resolve missing executable filenames to packages, + instead of having a static mapping in the source code. + - Fixed DNSSD hostname resolution. + - Fixed LPD probing (Red Hat #726383). + - Use "hostname" instead of "IP address" when asking for names of browse + servers (Red Hat bug #726134). + - Updated translations. + - Updated Free Software Foundation (FSF) address. + - Adjusted test code in asyncpk1.py so it doesn't look like a tempfile + vulnerability. + * debian/system-config-printer-common.install, + debian/system-config-printer-gnome.install: Updated for removed files. + + -- Till Kamppeter Sun, 31 Jul 2011 13:06:22 +0200 + +system-config-printer (1.3.3+20110712-0ubuntu2) oneiric; urgency=low + + [ Till Kamppeter ] + * debian/control: Versioned build dependency on desktop-file-utils, because of + LP: #814034. + + [ Rodrigo Moya ] + * debian/patches/05_menu_entries.patch: + - Add .desktop magic to have s-c-p show up on the new gnome-control-center + (LP: #787694) + + -- Till Kamppeter Thu, 21 Jul 2011 13:24:14 +0200 + +system-config-printer (1.3.3+20110712-0ubuntu1) oneiric; urgency=low + + * New upstream release + o GIT 1.3.x snapshot from 12 July 2011 + o URL-quote URIs when using "Find Network Printer" (LP: #808137). + o Downloadable drivers: don't display printers for which there are no + drivers (LP: #695199, Red Hat bug #668154). + o Kerberos support for the SMB 'Verify' button. + o Removed IPP/HTTP device screen in favour of "Enter URI" (Red Hat bug + #685091). + + -- Till Kamppeter Tue, 12 Jul 2011 17:24:12 +0200 + +system-config-printer (1.3.3+20110709-0ubuntu1) oneiric; urgency=low + + * New upstream release + o GIT 1.3.x snapshot from 9 July 2011 + o Converted ComboBoxEntry widgets to Entry+EntryCompletion in + NewPrinterWindow.ui. + o Robustness in ppdsloader in the face of errors (LP: #766818). + + -- Till Kamppeter Sat, 09 Jul 2011 14:20:41 +0200 + +system-config-printer (1.3.3+20110707-0ubuntu1) oneiric; urgency=low + + * New upstream release + o GIT 1.3.x snapshot from 7 July 2011 + o Changed Make/Model and State labels into a GtkEntry so contents are + always fully selectable. + o udev: don't rely on retriggering printers, enumerate them instead. + (As Ubuntu uses Upstart and not systemd we need to update + /etc/init/cups.conf to make use of the new functionality). + o Convert iters to paths before comparing (Red Hat bug #717062, + LP: #791690, Upstream bug #221). Tree iters cannot be compared, but + paths can. + o Set translation domain in D-Bus service (LP: #783967). + o Driver preferencess: Avoid PostScript for HP LaserJet 2100 Series + (Red Hat bug #710231). Avoid non-manufacturer PostScript drivers in + this case. Some other drivertype names changed to avoid conflicts and + mistaken matches. + o Ensure consistency in jobviewer if add_job fails (Red Hat bugs #693055 + and #632551). + o Raised the priority of the SpliX driver for Samsung laser printers, so + that it is used as the default driver for these printers, and not + "Foomatic/gdi" any more (LP: #793741). + o Adjusted test code in asyncpk1.py so it doesn't look like a tempfile + vulnerability. + * debian/patches/20_priority-for-splix.patch: Removed, applied upstream. + * debian/patches/10_do-not-show-firewall-dialog.patch: Removed, problem of the + firewall dialog appearing is solved upstream. + + -- Till Kamppeter Thu, 07 Jul 2011 19:09:44 +0200 + +system-config-printer (1.3.3+20110602-0ubuntu3) oneiric; urgency=low + + * debian/patches/21_nodisplay_autostart.patch: + - Don't show in "Startup Applications" (LP: #803917) + + -- Michael Terry Fri, 01 Jul 2011 15:31:56 +0100 + +system-config-printer (1.3.3+20110602-0ubuntu2) oneiric; urgency=low + + * debian/patches/20_priority-for-splix.patch: Raised the priority of the + SpliX driver for Samsung laser printers, so that it is used as the default + driver for these printers, and not "Foomatic/gdi" any more (LP: #793741). + + -- Till Kamppeter Tue, 07 Jun 2011 14:16:41 +0200 + +system-config-printer (1.3.3+20110602-0ubuntu1) oneiric; urgency=low + + * New upstream release + o GIT 1.3.x snapshot from 2 June 2011 + o State of 1.3.3 release + o Main application + - Set translation domain for ServerSettingsDialog (LP: #777188). + - scp-dbus-service: Ignore setlocale() errors (LP: #748964). + - Allow % character in SMB URI (LP: #747400). + - More error handling (LP: #744783). + - Avoid traceback if printer duplication fails (Red Hat bug #694629). + - Fixed off-by-one error in monitor. + - Fixed printer renaming (LP: #726954). + - Set connected state when connecting to server fails (Red Hat bug + #685098). + - Handle the situation where cupsd has died/restarted more gracefully. + o Printer Properties dialog: + - Added PrinterModified D-Bus signal to printer properties interface. + - More robustness for printer properties dialog when printer removed + (LP: #741987). + - Just hide Printer Properties dialog on delete-event (LP: #729966). + - Extra job options: print-quality, printer-resolution, output-bin. + - Automatically show horizontal scrollbar in job options screen. + - Ignore "output-mode-default" attribute as it is not settable. + - Handle IPP_TAG_RESOLUTION types (requires pycups-1.9.55). + - Don't traceback if option value cannot be handled. + - Fixed traceback in options.py (Red Hat bug #679103). + o New Printer dialog + - Fixed PPDs loader when using CUPS remotely or when DBus not available + (Red Hat bug #693515). + - Handle failure to load PPDs more gracefully (LP: #742409). + - Avoid traceback when cancelling New Printer dialog after failure. + - Make sure everything is ready before handlers might be called (Red + Hat bug #689336). + - Handle URIs in Find Network Printer entry, and use 'Enter URI' + instead of 'Other' (Red Hat bug #685091). + - Use "Do It Later" instead of "Cancel" for adjust firewall dialog + (Upstream bug #213). + - Fixed an instance where NewPrinterGUI might not have self.printers + set (Red Hat bug #680683). + - IPPHostname can contain colon (to specify port). + - Fixed automatic driver installation when changing the driver. + - Removed stale code left over from conversion to gobjects. + - Ensure all uses of ppdsloader supply the Device ID. + - Fixed some small typos in newprinter --help output. + - Prevent traceback after 2nd drivers search dialog is cancelled (Red + Hat bug #680288). + o Driver handling: + - Activated and fixed testing mode for device ID/driver association + - Match HP-Fax2/3/... PPDs, as well as Ubuntu/Debian hpijs-ppds + packages. + - preferreddrivers.xml: Identify hpcups and hpijs fax PPDs. + - Match native hpijs driver (drv:///hp/hpijs.drv/...) as "hpijs". + - Handle Ubuntu locations of hpcups.drv and hpijs.drv. + - preferreddrivers.xml: match OpenPrinting gutenprint PPD names as + gutenprint. + - Removed DES field check altogether. + - xmldriverprefs.test: show order more clearly. + - Make xmldriverprefs.test() debugging optional. + - More debugging during PPD selection. + - Prefer foomatic PostScript drivers before PCL drivers (except + foomatic-recommended ones). + o Job Viewer + - Ensure consistency in jobviewer if add_job fails (Red Hat bug + #693055, Red Hat bug #632551). + - Be defensive against CUPS returning incorrect job IDs (LP: #721051). + - Job viewer's attribute window: Convert job numbers and attribute + values to strings (LP: #733088). + o Other bits + - More uses of check-device-ids.py. + - udev-configure-printer: be more defensive when parsing CUPS response + (LP: #760661). + * debian/patches/17_add-debug-mode-for-printer-driver-association.patch, + debian/patches/20_printer-properties-window-on-delete-just-hide.patch, + debian/patches/23_reconnect-automatically-on-cups-restart.patch, + debian/patches/25_newprinter-assure-that-ppdsloader-is-always-supplied-with-device-id.patch. + debian/patches/27_ppd-change-submit-scheme-in-ascii-to-cups-get-device.patch, + debian/patches/30_colon-in-ipp-hostname.patch, + debian/patches/33_newprintergui-fix-traceback-with-self-printers-not-set.patch, + debian/patches/35_set-connected-state-when-connecting-to-server-fails.patch, + debian/patches/37_jobviewer-attributes-window-convert-numbers-to-strings.patch, + debian/patches/40_fix-traceback-on-renaming-printers.patch, + debian/patches/43_traceback-on-printer-deletion.patch, + debian/patches/45_monitor-py-be-defensive-on-wrong-job-ids-from-cups.patch, + debian/patches/47_monitor-py-off-by-one-error.patch, + debian/patches/50_avoid-traceback-when-cancelling-new-printer-dialog-after-failure.patch, + debian/patches/53_handle-ppd-load-failure-gracefully.patch, + debian/patches/55_fix-ppd-load-with-remote-cups-or-without-dbus.patch, + debian/patches/57_make-sure-everything-is-ready-before-handlers-might-be-called.patch, + debian/patches/60_ensure-consistency-in-jobviewer-if-add-job-fails.patch, + debian/patches/63_more-error-handling-in-scp-dbus-service.patch, + debian/patches/65_correct-listings-of-ui-files-in-potfiles-in.patch, + debian/patches/67_scp-dbus-service-py-do-not-fail-on-bad-locale.patch, + debian/patches/70_udev-configure-printer-dont-crash-on-bad-ipp-answer.patch, + debian/patches/73_server-settings-set-translation-domain.patch: + Removed, applied upstream. + * debian/control: Depends on python-cups 1.9.55. + + -- Till Kamppeter Fri, 03 Jun 2011 11:41:41 +0200 + +system-config-printer (1.3.1+20110222-0ubuntu18) oneiric; urgency=low + + * debian/rules: Use cdbs gnome.mk (which will call dh_translations) instead + of the dropped langpack.mk. + * debian/control, debian/rules: Move from obsolete pysupport to dh_python2. + * debian/control: Drop transitional hal-cups-utils package, it was already + transitional in lucid. + + -- Martin Pitt Tue, 17 May 2011 15:34:00 +0200 + +system-config-printer (1.3.1+20110222-0ubuntu17) oneiric; urgency=low + + * debian/patches/73_server-settings-set-translation-domain.patch: Server + settings dialog did not appear translated (LP: #777188). + + -- Till Kamppeter Fri, 6 May 2011 18:55:00 +0200 + +system-config-printer (1.3.1+20110222-0ubuntu16.2) natty-proposed; urgency=low + + * debian/patches/70_udev-configure-printer-dont-crash-on-bad-ipp-answer.patch: + Be more defensive when parsing CUPS responses (LP: #760661). + + -- Till Kamppeter Wed, 27 Apr 2011 10:35:00 +0200 + +system-config-printer (1.3.1+20110222-0ubuntu16.1) natty; urgency=low + + * debian/rules: include langpacks.mk to update the translations template + + -- Sebastien Bacher Tue, 19 Apr 2011 11:11:56 +0200 + +system-config-printer (1.3.1+20110222-0ubuntu16) natty; urgency=low + + * debian/patches/67_scp-dbus-service-py-do-not-fail-on-bad-locale.patch: + Ignore errors of locale.selocale() function calls (LP: #748964). + + -- Till Kamppeter Mon, 18 Apr 2011 15:33:00 +0200 + +system-config-printer (1.3.1+20110222-0ubuntu15) natty; urgency=low + + * debian/patches/65_correct-listings-of-ui-files-in-potfiles-in.patch: + Added missing "[type: gettext/glade]" prefixes to the lines for the .ui + files in POTFILES.in. The text did not appear translated any more + (LP: #759811). + + -- Till Kamppeter Wed, 13 Apr 2011 17:14:00 +0200 + +system-config-printer (1.3.1+20110222-0ubuntu14) natty; urgency=low + + * debian/patches/63_more-error-handling-in-scp-dbus-service.patch: + More error handling in scp-dbus-service.py (LP: #744783). + * debian/patches/60_ensure-consistency-in-jobviewer-if-add-job-fails.patc: + Ensure consistency in jobviewer if add-job fails (LP: #748366, Red Hat + bugs #693055 and #632551). + * debian/patches/57_make-sure-everything-is-ready-before-handlers-might-be-called.patch: + Make sure everything is ready before handlers might be called. + The NPTNetworkHostname entry widget seems to be emitting 'changed' + (and the handler is called) immediately as it is initialised to the + empty string. Make sure our handler is ready for that (LP: #749762, + Red Hat bug #689336). + + -- Till Kamppeter Wed, 13 Apr 2011 12:55:00 +0200 + +system-config-printer (1.3.1+20110222-0ubuntu13) natty; urgency=low + + * debian/patches/53_handle-ppd-load-failure-gracefully.patch, + debian/patches/55_fix-ppd-load-with-remote-cups-or-without-dbus.patch: + Upstream fixes on loading the PPD files (LP: #742409). + + -- Till Kamppeter Wed, 6 Apr 2011 02:56:00 -0700 + +system-config-printer (1.3.1+20110222-0ubuntu12) natty; urgency=low + + * debian/patches/50_avoid-traceback-when-cancelling-new-printer-dialog-after-failure.patch: + Avoid traceback when cancelling New Printer dialog after failure. + * debian/patches/47_monitor-py-off-by-one-error.patch: Fixed off-by-one error + in monitor (probably also needed to fix LP: #721051). + * debian/patches/45_monitor-py-be-defensive-on-wrong-job-ids-from-cups.patch: + Be defensive against CUPS returning incorrect job IDs (LP: #721051). + + -- Till Kamppeter Mon, 28 Mar 2011 18:11:00 +0200 + +system-config-printer (1.3.1+20110222-0ubuntu11) natty; urgency=low + + * debian/patches/43_traceback-on-printer-deletion.patch: When creating a + printer, opening its "Properties" dialog, closing the dialog again, and + deleting the printer a traceback happens (LP: #741449). + + -- Till Kamppeter Fri, 25 Mar 2011 14:00:00 +0100 + +system-config-printer (1.3.1+20110222-0ubuntu10) natty; urgency=low + + * debian/patches/40_fix-traceback-on-renaming-printers.patch: + Renaming print queues caused a traceback and the queue with the old name + did not get removed (LP: #726954). + + -- Till Kamppeter Wed, 23 Mar 2011 15:43:52 +0100 + +system-config-printer (1.3.1+20110222-0ubuntu9) natty; urgency=low + + * debian/patches/37_jobviewer-attributes-window-convert-numbers-to-strings.patch: + In the code for the job attributes window in the job viewer (right-click a + job and choose "View Attributes") on two points arguments have to be + converted to strings. Once for the notebook page labels as the job IDs + are numbers, and second for the attribute values, they can be numbers + or even data structures (LP: #733088). + + -- Till Kamppeter Mon, 21 Mar 2011 23:09:52 +0100 + +system-config-printer (1.3.1+20110222-0ubuntu8) natty; urgency=low + + * debian/patches/35_set-connected-state-when-connecting-to-server-fails.patch: + Set the "connected" state after a failure of connecting to CUPS, to + avoid a runtime error (Red Hat bug 685098). + * debian/patches/33_newprintergui-fix-traceback-with-self-printers-not-set.patch: + New printer wizard crashes when adding a network (AppSocket/JetDirect) + printer manually (LP: #734968, Red Hat bug #680683). + * debian/patches/23_wait-for-cups-daemon-to-listen-after-sighup.patch, + debian/patches/23_reconnect-automatically-on-cups-restart.patch: + Replaced the patch to handle restarts of the CUPS daemon by the solution + provided by upstream + (https://fedorahosted.org/system-config-printer/ticket/219). Instead + of waiting for the CUPS daemon coming back listening for a fixed timeout + and only after that timeout showing the interface to handle the lost + CUPS service, we show this screen immediately but in the background we + listen to D-Bus signals of CUPS. If an appropriate signal appears, we + cancel this interface immediately and show the CUPS queues again. So we + can both manually switch to another CUPS server immediately in case of + a total loss of the original CUPS server and do nothing and wait for + the original server to come back. + + -- Till Kamppeter Wed, 16 Mar 2011 23:09:52 +0100 + +system-config-printer (1.3.1+20110222-0ubuntu7) natty; urgency=low + + * debian/patches/30_colon-in-ipp-hostname.patch: When setting up an IPP + printer it was not possible to enter a colon into the field for the + host name, for example to specify an alternative port (LP: #734898). + + -- Till Kamppeter Mon, 14 Mar 2011 19:33:52 +0100 + +system-config-printer (1.3.1+20110222-0ubuntu6) natty; urgency=low + + * debian/patches/27_ppd-change-submit-scheme-in-ascii-to-cups-get-device.patch: + When changing the PPD file of an existing print queue ("Make and Model" in + "Properties" dialog) the cupshelpers.getDevices() function is called with + the scheme of the device URI to find the printer's device ID. The scheme + needs to be supplied as ASCII string and not as UniCode, otherwise the + scheme is not recognized and the appropriate CUPS backend does not get + called. The device ID is needed to suggest the correct drivers and to + trigger automatic driver downloads. + + -- Till Kamppeter Sat, 12 Mar 2011 18:25:52 +0100 + +system-config-printer (1.3.1+20110222-0ubuntu5) natty; urgency=low + + * debian/patches/25_newprinter-assure-that-ppdsloader-is-always-supplied-with-device-id.patch: + Synced with upstream. + + -- Till Kamppeter Fri, 11 Mar 2011 18:25:52 +0100 + +system-config-printer (1.3.1+20110222-0ubuntu4) natty; urgency=low + + * debian/patches/25_newprinter-assure-that-ppdsloader-is-always-supplied-with-device-id.patch: + Assured that on all uses of the ppdsloader class the device ID of the + detected or selected printer is supplied. With this we assure that the + most suitable driver gets found and automatic driver downloads are done + if needed. + + -- Till Kamppeter Fri, 11 Mar 2011 16:41:52 +0100 + +system-config-printer (1.3.1+20110222-0ubuntu3) natty; urgency=low + + * debian/patches/23_wait-for-cups-daemon-to-listen-after-sighup.patch: + system-config-printer freezes when CUPS is reinitialized via a HUP + signal. This happens because system-config-printer already accesses the + CUPS daemon again while it is not yet listening. The patch adds a wait + loop so that this does not happen. + + -- Till Kamppeter Wed, 9 Mar 2011 21:46:52 +0100 + +system-config-printer (1.3.1+20110222-0ubuntu2) natty; urgency=low + + * debian/patches/20_printer-properties-window-on-delete-just-hide.patch: + Fixed crash when printer properties dialog got closed by the Delete button + of the window manager and afterwards opened again for the same printer + (LP: #729966). + * debian/patches/17_add-debug-mode-for-printer-driver-association.patch: + Added/fixed debug mode to run only the new-printer wizard with a given + printer device URI, to test whether the correct driver gets selected and, + if needed, a correct automatic download of a driver package performed. + + -- Till Kamppeter Tue, 8 Mar 2011 16:17:52 +0100 + +system-config-printer (1.3.1+20110222-0ubuntu1) natty; urgency=low + + * New upstream release + o GIT 1.3.x snapshot from 22 February 2011 + o Identify HPLIP PPDs which require HP's proprietary plugin for HPLIP. + * debian/patches/30_hp-fax-and-hpijs-ppd-identification.patch: Removed, + applied upstream. + + -- Till Kamppeter Tue, 22 Feb 2011 13:47:52 +0100 + +system-config-printer (1.3.1+20110218-0ubuntu1) natty; urgency=low + + * New upstream release + o GIT 1.3.x snapshot from 18 February 2011 + o Several fixes in identification of driver types and prioritarization + of drivers. + * debian/patches/02_install_layout.patch, + debian/patches/03_install_layout.patch, + debian/patches/10_menu_entries.patch, + debian/patches/05_menu_entries.patch, + debian/patches/27_allow-also-nonfree-ppds-for-single-ppd-download.patch, + debian/patches/07_allow-also-nonfree-ppds-for-single-ppd-download.patch, + debian/patches/43_do-not-show-firewall-dialog.patch, + debian/patches/10_do-not-show-firewall-dialog.patch, + debian/patches/77_use-paper-size-default-in-etc-papersize.patch, + debian/patches/13_use-paper-size-default-in-etc-papersize.patch, + debian/patches/93_cupshelpers-openprinting-query-fingerprint-support.patch, + debian/patches/15_cupshelpers-openprinting-query-fingerprint-support.patch: + Renumbered the patches. + * debian/patches/30_hp-fax-and-hpijs-ppd-identification.patch: Fix + identification of HPLIP PPD files, to cover all fax PPDs and also the + ready-made HPIJS PPDs of the hpijs-ppds package. + + -- Till Kamppeter Fri, 18 Feb 2011 22:13:13 +0100 + +system-config-printer (1.3.1+20110217-0ubuntu1) natty; urgency=low + + * New upstream release + o Now really use the tarball of system-config-printer 1.3.1. + + -- Till Kamppeter Thu, 17 Feb 2011 19:28:47 +0100 + +system-config-printer (1.3.1-0ubuntu1) natty; urgency=low + + * New upstream release + o GIT 1.3.x snapshot from 17 February 2011 + o State of 1.3.1 release + o Only show maintenance buttons when capable (Red Hat bug #658564). + o Compare printer make/model names only by words and numbers (like they + sound). + o XML-based driver preference rules. + o Don't use status icon when notification server supports persistence. + o Fetch Device ID for existing device when changing PPD, allowing a more + complete choice of drivers. + o Include generic drivers as candidates whenever CMD field is available. + o Show all ID-matched drivers when adding a new printer. + o Speed-ups in cupshelpers.ppds.ppdMakeModelSplit. + o PPDs: Use ppd-product values to add to make/model list. + o Show number of processing / pending jobs (Red Hat bug #606868). + o PPDs are now cached, with support for If-Modified-Since. + o Start CUPS service if not already started (Red Hat bug #577226). + * debian/patches/53_printer-ppd-association-take-into-account-product-lines.patch + debian/patches/67_improve-make-model-driver-list.patch, + debian/patches/70_improve-select-ppd-by-command-set.patch, + debian/patches/83_match-make-model-names-only-by-letters-numbers-and-words.patch, + debian/patches/91_use-letter-number-words-only-matching-also-to-find-printer-in-gui-list.patch: + Removed, applied upstream. + * debian/patches/10_menu_entries.patch, + debian/patches/43_do-not-show-firewall-dialog.patch: Regenerated for new + upstream source code. + * debian/python-cupshelpers.install: Added new /etc/cupshelpers/ directory + with the XML rules for driver selection. + * debian/system-config-printer-common.install, + debian/system-config-printer-gnome.install: Updated for new, removed, + and renamed files. + * debian/system-config-printer.install: Removed obsolete file. + + -- Till Kamppeter Thu, 17 Feb 2011 17:49:27 +0100 + +system-config-printer (1.2.7+20110216-0ubuntu1) natty; urgency=low + + * New upstream release + o GIT 1.2.x snapshot from 16 February 2011 + o Fixed DNS-SD resolution for Mac-OS-X shared printers with non-ASCII + characters in the share names (LP: #716357). + o Eliminated duplicate check whether a detected network printer is + supported by HPLIP. This caused a delay when selecting an HP network + printer from the list of detected printers. + o Translation updates. + + -- Till Kamppeter Wed, 16 Feb 2011 12:48:41 +0100 + +system-config-printer (1.2.6+20110208-0ubuntu1) natty; urgency=low + + * New upstream release + o GIT 1.2.x snapshot from 8 February 2011 + o Full support for DNS-SD-based network printer discovery via the "dnssd" + CUPS backend. + * debian/patches/55_fix-dnssdresolve.patch, + debian/patches/57_dnssd-backend-explicit-support.patch, + debian/patches/60_dnssdresolve-save-hostname.patch, + debian/patches/63_physicaldevice-dnssd-enhancements.patch: Removed, + changes included upstream now. + + -- Till Kamppeter Tue, 8 Feb 2011 22:44:29 +0100 + +system-config-printer (1.2.6+20110127-0ubuntu4) natty; urgency=low + + * debian/patches/10_menu_entries.patch: updated to hide "Manage Print Jobs" + from "Accessories" menu. There is a "View Print Queue" menu entry in + System > Administration > Printing to show all print jobs of a printer and + the users print jobs can be viewed by clicking the tray icon that appears + after printing something (LP: #204732). + + -- Pascal De Vuyst Sat, 05 Feb 2011 19:26:48 +0100 + +system-config-printer (1.2.6+20110127-0ubuntu3) natty; urgency=low + + * debian/patches/55_fix-dnssdresolve.patch: Fixed the upstream approach of + DNS-SD service name resolving: Expanded "%" encodings in the dnssd + device URIs before sending the service name to Avahi and let + PhysicalDevice check the resolved IP addresses. + * debian/patches/57_dnssd-backend-explicit-support.patch: Explicit support + for the "dnssd" CUPS backend. This way entries in the list of discovered + printers coming from the "dnssd" CUPS backend appear with nice descriptions + instead of custom URIs. + * debian/patches/60_dnssdresolve-save-hostname.patch: Svae not also the + IP but also the host name in the device record when resolving a DNS-SD + service name. With the host name we can create host-name-based HPLIP + URIs which are stable against routers which do not keep always the same IP + for each network device. + * debian/patches/63_physicaldevice-dnssd-enhancements.patch: Enhancements + of the PhysicalDevice class for the CUPS "dnssd" backend, to improve + association of DNS-SD- and SNMP-discovered printers, and to add IP + and host name information to the list of discovered devices, so that + printers can also be identified easily if two or more of the same model + are in the network. + * debian/patches/45_dnssd-backends-support.patch: Removed. The still needed + parts of it are in the newly added patches now. + + -- Till Kamppeter Thu, 3 Feb 2011 08:53:29 +0100 + +system-config-printer (1.2.6+20110127-0ubuntu2) natty; urgency=low + + * debian/patches/53_printer-ppd-association-take-into-account-product-lines.patch: + Fixed typo which leads to a traceback when no printer is detected (manually + entered URI). + * debian/patches/67_improve-make-model-driver-list.patch: Updated. + * Removed noise introduced into source package by the previous upload. + + -- Till Kamppeter Mon, 31 Jan 2011 12:07:29 +0100 + +system-config-printer (1.2.6+20110127-0ubuntu1) natty; urgency=low + + * New upstream release + o GIT 1.2.x snapshot from 27 January 2011 + * debian/patches/55_avoid-connecting-to-cups-twice-in-ppdsloader.patch, + debian/patches/57_catch-key-error-from-lookup-cached-by-name.patch,\ + debian/patches/60_correct-python-shebang.patch, + debian/patches/63_list-of-jockey-installed-files-is-array-not-set.patch, + debian/patches/65_udev-configure-printer-bluetooth-support.patch, + debian/patches/73_mark-selection-of-best-fitting-ppd.patch, + debian/patches/75_do-not-list-duplicate-ppd-nicknames.patch, + debian/patches/80_do-not-prioritize-gutenprint-for-ps-and-pcl-printers.patch, + debian/patches/85_search-for-ppd-only-once.patch, + debian/patches/87_refresh-list-after-deleting-a-printer.patch, + debian/patches/90_remove-debug-line-in-rename-printer.patch: Removed, + applied upstream. + * debian/patches/67_improve-make-model-driver-list.patch, + debian/patches/83_match-make-model-names-only-by-letters-numbers-and-words.patch: + Regenerated. + * debian/patches/70_select-ppd-by-command-set.patch, + debian/patches/70_improve-select-ppd-by-command-set.patch: Replaced patch + by a new one which contains only the parts which did not get adopted + upstream. + * debian/system-config-printer-common.install: Updated for file + installdriver.py which moved to cupshelpers/. + * debian/patches/45_dnssd-backends-support.patch: Re-introduce support + for the dnssd CUPS backend and association of printers discovered by + DNS-SD (host names) and SNMP (IP addresses). + + -- Till Kamppeter Sun, 30 Jan 2011 23:15:29 +0100 + +system-config-printer (1.2.3+20100723-0ubuntu13) natty; urgency=low + + * debian/patches/93_cupshelpers-openprinting-query-fingerprint-support.patch: + When reading out a driver dataset from the OpenPrinting web site, also + read out the signature key fingerprint URL for downloadable driver + packages. + + -- Till Kamppeter Tue, 4 Jan 2011 15:19:06 +0100 + +system-config-printer (1.2.3+20100723-0ubuntu12) natty; urgency=low + + * debian/patches/92_do-not-create-queue-name-with-trailing-dash.patch: Do + not generate print queue names with a dash at the end. + + * debian/patches/90_remove-debug-line-in-rename-printer.patch: Removed a + debugging line from the code for renaming printers. + + * debian/patches/87_refresh-list-after-deleting-a-printer.patch: Refresh + the list of existing print queues after deleting one, so that the deleted + printer actually disappears from the main window. + + * debian/patches/85_search-for-ppd-only-once.patch: Search the best PPD file + for the given device ID only once. The PPD file was always searched twice, + which is not necessary. + + * debian/patches/83_match-make-model-names-only-by-letters-numbers-and-words.patch, + debian/patches/91_use-letter-number-words-only-matching-also-to-find-printer-in-gui-list.patch: + Do matching of make and model names only considering letters, numbers, + and words, ignoring all non-alphanumeric characters (like dashes). This + makes names sounding the same but written differently considered equal. + This overcomes the problem that if the IEEE-1284 device ID is not known + that not correctly written model names in the (non-manufacturer) PPD + files still match. For example "Epson PM-A820", "EPSON PM A820", and + "Epson PM A 820" match each other (LP: #669308). + + -- Till Kamppeter Wed, 3 Nov 2010 19:05:06 +0100 + +system-config-printer (1.2.3+20100723-0ubuntu11) natty; urgency=low + + * debian/patches/80_do-not-prioritize-gutenprint-for-ps-and-pcl-printers.patch: + For PostScript and PCL printers without manufacturer-supplied PPDs and + with explicit support by Gutenprint, the (inferior) Gutenprint PCL driver + got selected. Demoted Gutenprint to make Foomatic/Postscript and HPIJS + preferred (LP: #669152). + + -- Till Kamppeter Tue, 2 Nov 2010 12:57:06 +0100 + +system-config-printer (1.2.3+20100723-0ubuntu10) natty; urgency=low + + * debian/patches/77_use-paper-size-default-in-etc-papersize.patch: Let + the default setting for the paper size (A4 or Letter) of the + /etc/papersize file (libpaper) being used. + + -- Till Kamppeter Fri, 29 Oct 2010 12:53:06 +0200 + +system-config-printer (1.2.3+20100723-0ubuntu9) natty; urgency=low + + * debian/control: Updated dependencies of system-config-printer-gnome. + Removed obsolete python-glade2 and python-gnome2 and added + python-gnomekeyring. + + -- Till Kamppeter Fri, 15 Oct 2010 16:25:06 +0200 + +system-config-printer (1.2.3+20100723-0ubuntu8) maverick; urgency=low + + * debian/patches/70_select-ppd-by-command-set.patch: If a PPD does not have + a device ID or if it has a device ID without CMD: field, do not give a + lower priority to it. Give only lower priorities if the PPD has a CMD: + field without any matching PDL. This avoids that Foomatic PPDs with full + device ID are prioritized against HP's original PostScript printer PPDs + without device ID at all (LP: #653814). + + -- Till Kamppeter Tue, 5 Oct 2010 12:33:06 +0200 + +system-config-printer (1.2.3+20100723-0ubuntu7) maverick; urgency=low + + * debian/patches/70_select-ppd-by-command-set.patch: Updated the patch so + that a PPD is prioritized if already one of the PDLs listed in its device + ID matches a PDL in the printer's device ID (comment #2 in Red Hat bug + #630058). + + -- Till Kamppeter Wed, 16 Sep 2010 14:43:06 +0200 + +system-config-printer (1.2.3+20100723-0ubuntu6) maverick; urgency=low + + * debian/patches/75_do-not-list-duplicate-ppd-nicknames.patch: Avoid + duplicate listings of the same PPD file. According to the Adobe specs + different PPDs have to have different NickName entries. Therefore + we suppress repeated listing of the same NickName. + * debian/patches/73_mark-selection-of-best-fitting-ppd.patch: After + searching the best matching PPD for the detected printer only make + and model got saved not the actually best matching PPD, making + the patch to select PPDs by command set (CMD:) useless. + * debian/patches/70_select-ppd-by-command-set.patch: Updated the + patch to not selecting PPDs by exactly matching the content of the + CMD: field of the device ID, but instead, select the PPDs whose device + ID definitions contain only PDLs (page description languages) which the + detected printer reports in its device ID (Red Hat bug #630058). + + -- Till Kamppeter Wed, 15 Sep 2010 16:36:06 +0200 + +system-config-printer (1.2.3+20100723-0ubuntu5) maverick; urgency=low + + * debian/patches/67_improve-make-model-driver-list.patch: Improved and + cleaned the way how make/model/driver combos get listed and also fixed + the default driver selection for many printers: + o Of some printer model names (like "Epson PX V500") parts of the name + were considered a PPD version number and cut off. + o Removed "Printer" from Apollo printer model names to reduce duplicates + o Generally removed "PS" from the end of printer model names, so that + the printer with and without an optional PostScript add-on is considered + the same model (see especially the printers from Sharp). + o Invalidated bogus model names which came in from the "*Product:" fields + of some PPD files, like "CUPS" or "GPL Ghostscript". + o If a printer is supported by manufacturer-supplied PPD files for both + PostScript and PCL, the PCL file will be selected preferably, so that + the printer will work also if an optional PostScript add-on is not + installed (see printers from Gestetner, Infotec, Infoprint, Lanier, NRG, + Ricoh, Savin). + o Recognize Foomatic-generated PPDs as such also after the packaging + change from Foomatic-XML data (foomatic-db) to a compressed PPD archive + (foomatic-db-compressed-ppds). + o Make Foomatic driver recommendations be taken into account also if the + printer's manufacturer name is "Generic". + o Do not do model name clean-up on PPDs which are supplied with CUPS or + Ghostscript. These names get crippled otherwise. + o Avoid applying model name clean-up twice. + * debian/patches/70_select-ppd-by-command-set.patch: If both the detected + device ID and the device ID in the PPD ("*1284DeviceID: ...") have a CMD + field, exact matches of the CMD field prioritize the PPD file. This way + especially for printers with optional PostScript add-on the correct PPD + gets selected (requested by Ricoh). + + -- Till Kamppeter Fri, 10 Sep 2010 14:07:06 +0200 + +system-config-printer (1.2.3+20100723-0ubuntu4) maverick; urgency=low + + * All Fixes backported from system-config-printer 1.2.4. + * debian/patches/55_avoid-connecting-to-cups-twice-in-ppdsloader.patch: + Avoid that two connections to CUPS are done to obtain a list of the + locally available PPD files/drivers. This makes finding the driver for + a detected printer significantly faster. + * debian/patches/57_catch-key-error-from-lookup-cached-by-name.patch: + Avoid a traceback source in the job viewer. + * debian/patches/60_correct-python-shebang.patch: Make sure that always + the system's Python interpreter (/usr/bin/python) and never a locally + added one (like /usr/local/bin/python) is used. + * debian/patches/63_list-of-jockey-installed-files-is-array-not-set.patch: + Fixed an obvious typo. + * debian/patches/65_udev-configure-printer-bluetooth-support.patch: + Bluetooth printer support for udev-configure-printer. + + -- Till Kamppeter Thu, 9 Sep 2010 14:41:06 +0200 + +system-config-printer (1.2.3+20100723-0ubuntu3) maverick; urgency=low + + * debian/control: Changed section from python to gnome to not show up + inappropriately in Python Category in Software Center (LP: #554174). + + -- K. Vishnoo Charan Reddy Wed, 28 Jul 2010 14:50:06 +0200 + +system-config-printer (1.2.3+20100723-0ubuntu2) maverick; urgency=low + + * debian/patches/53_printer-ppd-association-take-into-account-product-lines.patch: + Fixed patch because many drivers/PPDs did not get listed, especially + all Foomatic PPDs and LSB-based packages issued by OpenPrinting + (LP: #610428). + + -- Till Kamppeter Tue, 27 Jul 2010 22:34:06 +0200 + +system-config-printer (1.2.3+20100723-0ubuntu1) maverick; urgency=low + + * New upstream release + o GIT 1.2.x snapshot from 23 July 2010 + o Applied one year's collection of patches upstream + o Minor bug fixes and translation updates + * debian/patches/01_delay_autostart.patch, + debian/patches/44_no-runtime-error-on-missing-firewall.patch, + debian/patches/45_access-openprinting-with-redirect-support.patch, + debian/patches/47_make-multithreaded-driver-package-search-via-jockey-work.patch, + debian/patches/50_give-priority-to-hpcups.patch, + debian/patches/55_silence_printerdriversinstaller_errors.patch, + debian/patches/57_backend-integration-bluetooth.patch, + debian/patches/67_udev_configure_printer_match_usblp_libusb_and_hplip_uris.patch, + debian/patches/77_dnssd-backend-has-priority-against-ip-based-backends.patch, + debian/patches/80_probe-printer-py-import-gobject.patch, + debian/patches/84_cache-also-device-id-in-network-printer-search.patch, + debian/patches/86_fill-lpd-queue-list.patch, + debian/patches/90_physicaldevice-clean-socket-uris.patch, + debian/patches/92_do-not-search-driver-for-remote-cups-queues-with-driver.patch, + debian/patches/95_dnssd-device-identification.patch, + debian/patches/96_new-printer-setup-check-for-local-drivers-first.patch: + Removed, incorporated upstream. + + -- Till Kamppeter Fri, 23 Jul 2010 17:43:06 +0200 + +system-config-printer (1.2.3+20100713-0ubuntu2) maverick; urgency=low + + * debian/patches/53_printer-ppd-association-take-into-account-product-lines.patch: + If a PPD contains one or more "*Product:" lines, take these into account + as alternative model names when associating PPDs with detected printer + models. Some PPDs, especially from HP are for various different printer + models which are listed in "*Product:" lines. Up to now, no printer setup + tools made use of these lines. Especially the PostScript PPD file for the + HP Color LaserJet CM 1312 series mentions taht it supports also the + CM1312nfi only in one of many "*Product:" lines and therefore this printer + gets automatically installed in PCL mode, as for PCL there are PPDs having + this printer in "*ModelName:" (LP: #561264). + + * debian-control: Require version 1.9.51-0ubuntu2 or newer of python-cups. + + * debian/patches/57_backend-integration-dnssd-bluetooth.patch, + debian/patches/75_use-dnssd-uris-for-hplip.patch, + debian/patches/88_physicaldevice-get-make-model-also-from-makeandmodel.patch, + debian/patches/94_cache-and-timeout-for-avahi-browse.patch, + debian/patches/57_backend-integration-blueto oth.patch, + debian/patches/95_dnssd-device-identification.patch: Reorganized patches to + avoid overlapping of the changes. + + -- Till Kamppeter Wed, 21 Jul 2010 15:33:33 +0200 + +system-config-printer (1.2.3+20100713-0ubuntu1) maverick; urgency=low + + * New upstream release + o GIT 1.2.x snapshot from 13 July 2010 + o Version 1.2.3 plus some additional fixes and translations + o Plug'n'Print also for Bluetooth printers now. + o Do not automatically set up a print queue if a driver executable is + missing. + o Improvements on device ID handling: Discovery via SNMP, non-UTF-8 + environments, ignore the deprecated hal backend. + o Avoid Yes/No buttons (Upstream bug #204). + o Re-introduced and added keyboard accelerators for system-config-printer + itself and for the job viewer. + o New HIG-compliant job viewer UI. Thanks to Sergey Nizovtsev for the + patch (LP: #555213, upstream bug #205). + o Attempt to translate backend device-info strings and other fixes + on the translation mechanism (LP: #557199). + o Fixed markup in error pop-ups (LP: #567324). + o Made width of "Verify" button in New Printer Wizard adapt to the length + of the actual translation of "Verify" (LP: #575048). + o Make Kyocera detected if it reports only the model name (Upstreamized + LP: #564633). + o Removed doubled-up 'translatable' attribute in UI file (LP: #571662). + o Handle IPP failure fetching printer attrs for completed jobs + (LP: #561082). + o Many more bug fixes and UI improvements. + o Translation updates. + * debian/patches/57_backend-integration-dnssd-bluetooth.patch, + debian/patches/67_udev_configure_printer_match_usblp_libusb_and_hplip_uris.patch, + debian/patches/75_use-dnssd-uris-for-hplip.patch, + debian/patches/94_cache-and-timeout-for-avahi-browse.patch + debian/patches/96_new-printer-setup-check-for-local-drivers-first.patch: + Regenerated to work with new upstream code. + * debian/patches/97_add-missing-make-name-kyocera-mita.patch: Removed + patches for upstream fixes. + * debian/patches/57_backend-integration-dnssd-bluetooth.patch: To check for + HP fax devices do not do an exact match of "Fax" with the model name but + check whether the model name begins with "Fax". + * debian/patches/44_no-runtime-error-on-missing-firewall.patch: Let the + firewall functions exit silently if there is no firewall service on the + D-Bus. + * debian/patches/50_give-priority-to-hpcups.patch: Prioritize hpcups against + HPIJS again. It should have matured enough now. + * debian/system-config-printer-common.install: Added new dnssdresolve.py + file. + * debian/rules: Added directory settings for UDEV rules and scripts to the + "make install" command line. + * debian/control: Added libglib2.0-dev as build dependency, needed for the + Bluetooth Plug'n'Print support. + + -- Till Kamppeter Tue, 13 Jul 2010 13:21:33 +0200 + +system-config-printer (1.2.0+20100408-0ubuntu5.2) lucid-proposed; urgency=low + + * debian/patches/97_add-missing-make-name-kyocera-mita.patch: + Let system-config-printer add the manufacturer name "Kyocera Mita" + if a detected Kyocera (Mita) printer only reports the model name + (LP: #564633). + + -- Till Kamppeter Mon, 3 May 2010 12:48:50 +0200 + +system-config-printer (1.2.0+20100408-0ubuntu5.1) lucid-proposed; urgency=low + + * debian/patches/96_new-printer-setup-check-for-local-drivers-first.patch: + Let system-config-printer always first look for locally installed drivers + before searching driver on the internet (LP: #564633). + + -- Till Kamppeter Mon, 26 Apr 2010 18:51:50 +0200 + +system-config-printer (1.2.0+20100408-0ubuntu5) lucid; urgency=low + + * debian/control: Moved avahi-utils from Depends to Recommends, to get it + installed on standard installations but keep it removable for users who + do not want to use DNS-SD/mDNS (LP: #559780). + + -- Till Kamppeter Sat, 10 Apr 2010 19:59:50 +0200 + +system-config-printer (1.2.0+20100408-0ubuntu4) lucid; urgency=low + + * debian/patches/50_give-priority-to-hpcups.patch: Removed. hpcups has still + problems, so we continue with HPIJS as default (LP: #553573, LP: #539708, + LP: #538031, LP: #405116). + + -- Till Kamppeter Fri, 9 Apr 2010 22:36:50 +0200 + +system-config-printer (1.2.0+20100408-0ubuntu3) lucid; urgency=low + + * debian/patches/55_silence_printerdriversinstaller_errors.patch: Fixed + indentation error introduced when commentinmg out unwished lines + (LP: #559431). + + -- Till Kamppeter Fri, 9 Apr 2010 21:45:50 +0200 + +system-config-printer (1.2.0+20100408-0ubuntu2) lucid; urgency=low + + * debian/patches/94_cache-and-timeout-for-avahi-browse.patch: + For finding out which discovered network printer URIs belong to the same + printer avahi-browse is used to resolve the IP's of printers discovered + via DNS-SD. avahi-browse was called several times for each discovered + printer and sometimes took several seconds to complete or even did not + terminate at all. This froze system-config-printer very often. Now we + call avahi-browse only once and cache the output. In addition, we kill + it when it takes more than 2 seconds. This way the avahi-browse process + gets invisible for the user and still does its job (Should really fix + LP: #552398). + + -- Till Kamppeter Fri, 9 Apr 2010 20:41:50 +0200 + +system-config-printer (1.2.0+20100408-0ubuntu1) lucid; urgency=low + + [ Till Kamppeter ] + * New upstream release + o GIT master snapshot from 08 April 2010 + o For the last update from upstream we accidentally downloaded the + master branch from GIT and not 1.1.x, so that upstream version from + Lucid Feature Freeze is 1.1.91 in reality and not 1.1.17 as advertized. + To fix the bugs of 1.1.91 (an unstable test release) we go now forward + to 1.2.0 + bug fixes + translation updates. + o No feature additions expected. + o This release fixes especially LP: #557199 and LP: #552398 + o Possibly more bugs fixed. + o Translations updated. + * debian/patches/53_fix-async-ipp-traceback.patch, + debian/patches/70_more-async-traceback-fixes.patch, + debian/patches/73_finally-fixed-race-condition-in-asyncipp.patch: Removed + patches for upstream fixes. + * debian/patches/10_menu_entries.patch, + debian/patches/55_silence_printerdriversinstaller_errors.patch: + Regenerated to work with new upstream code. + * debian/system-config-printer-common.install: Added new check-device-ids.py + file (debug tool, not used by the rest of system-config-printer). + * debian/system-config-printer-gnome.install: Added man pages. + * debian/local/testpage-a4.ps, debian/local/testpage-letter.ps: Replaced + Ubuntu logo by the current one (LP: #542975). + * debian/patches/84_cache-also-device-id-in-network-printer-search.patch: + When doing a network printer search on a given IP, cache not only the + make-and-model string but also the device ID for subsequent connection + types. + * debian/patches/86_fill-lpd-queue-list.patch: When probing an IP address + whether it is an LPD printer and which the valid queue names are, the + list of valid queue names did not get filled. + * debian/patches/88_physicaldevice-get-make-model-also-from-makeandmodel.patch: + Let make and model for a network device also be determined by the + make-and-model string and not only the device ID (which is often missing + for detected network printers). + * debian/patches/90_physicaldevice-clean-socket-uris.patch: When several + detected network printers are identified as one physical device, remove + the default port 9100 from socket URIs, to avoid saving entries with + duplicate URIs. + * debian/patches/92_do-not-search-driver-for-remote-cups-queues-with-driver.patch: + If a queue to be set up with "ipp://..." URI points to a remote CUPS queue + which has already a PPD on the server, we do not need to (and should not) + search for a PPD/driver to set up locally. Now really recognize such queues + and suppress driver configuration. + * debian/patches/57_backend-integration-dnssd-bluetooth.patch: Let Bluetooth + printers get searched together with network printers, as the search takes + longer. So USB and parallel printers and also network printer search + methods appear nearly instantly. In the listing of network printers let + not only IP addresses but also DNS-SD names appear. + + [ Julien Lavergne ] + * debian/patches/10_menu_entries.patch: Update to not launch the applet in + LXDE, until bug 323322 is fixed. (LP: #529472) + + -- Till Kamppeter Thu, 8 Apr 2010 20:13:50 +0200 + +system-config-printer (1.1.17+20100217-0ubuntu12) lucid; urgency=low + + * debian/patches/80_probe-printer-py-import-gobject.patch: Added missing + "import gobject". + + -- Till Kamppeter Tue, 30 Mar 2010 10:41:50 +0200 + +system-config-printer (1.1.17+20100217-0ubuntu11) lucid; urgency=low + + * debian/patches/77_dnssd-backend-has-priority-against-ip-based-backends.patch: + Let entries for the "dnssd" CUPS backend be listed before entries for the + "socket", "lpd", and "ipp" backends in the list of connections for a + network printer. This way users will set up printers preferably with URIs + using DNS-SD/mDNS hostnames and not IPs. This way the printers also work + reliably if the DHCP router assigns always a different IP to the printer + when the printer is turned on. + * debian/patches/75_use-dnssd-uris-for-hplip.patch: Fixed check whether two + network devices are the same printer. The check in the previous version of + the patch always failed and made all detected devices get listed as + separate printers (LP: #551106). + + -- Till Kamppeter Mon, 29 Mar 2010 23:24:50 +0200 + +system-config-printer (1.1.17+20100217-0ubuntu10) lucid; urgency=low + + * debian/patches/75_use-dnssd-uris-for-hplip.patch: When setting up a + network printer with an HPLIP URI, use an URI based on the DNS-SD + host name and not on the IP, as on many DHCP routers the IPs are not + kept constant (LP: #545737). + + -- Till Kamppeter Sun, 28 Mar 2010 15:48:50 +0200 + +system-config-printer (1.1.17+20100217-0ubuntu9) lucid; urgency=low + + * debian/control: Added dependency on avahi-utils, needed to determine + the IP of DNS-SD-advertized printers, so that one can find out which + results of the network scan come from the same printer. Should solve + the problems described in LP: #545737. + + -- Till Kamppeter Fri, 26 Mar 2010 20:36:50 +0100 + +system-config-printer (1.1.17+20100217-0ubuntu8) lucid; urgency=low + + * debian/patches/73_finally-fixed-race-condition-in-asyncipp.patch: + Finally fixed race condition in asyncipp (LP: #520466). + + -- Till Kamppeter Fri, 26 Mar 2010 19:30:50 +0100 + +system-config-printer (1.1.17+20100217-0ubuntu7) lucid; urgency=low + + * debian/patches/70_more-async-traceback-fixes.patch: Fixed several + tracebacks in the async code (LP: #520466). + + -- Till Kamppeter Fri, 26 Mar 2010 17:50:50 +0100 + +system-config-printer (1.1.17+20100217-0ubuntu6) lucid; urgency=low + + * debian/patches/55_silence_printerdriversinstaller_errors.patch: + Silence error messages concerning the PrinterDriversInstaller which is + not part of Ubuntu (LP: #530218). + + -- Till Kamppeter Thu, 25 Mar 2010 19:12:50 +0100 + +system-config-printer (1.1.17+20100217-0ubuntu5) lucid; urgency=low + + * debian/patches/67_udev_configure_printer_match_usblp_libusb_and_hplip_uris.patch: + Updated patch for additional NULL checks to avoid a segmentation fault. + (LP: #546965). + + -- Till Kamppeter Thu, 25 Mar 2010 18:26:50 +0100 + +system-config-printer (1.1.17+20100217-0ubuntu4) lucid; urgency=low + + * debian/patches/53_fix-async-ipp-traceback.patch: Fixed traceback in + asyncipp (LP: #520466). + + * debian/patches/67_udev_configure_printer_match_usblp_libusb_and_hplip_uris.patch: + Updated patch to make udev-configure-printer also match queues with + non-standard CUPS backends using URIs with /dev/usb/lp* as device reference + with detected printers. With this we avoid that additional queues with + standard backends get auto-created. + + -- Till Kamppeter Thu, 25 Mar 2010 12:32:50 +0100 + +system-config-printer (1.1.17+20100217-0ubuntu3) lucid; urgency=low + + * debian/patches/57_backend-integration-dnssd-bluetooth.patch: Fixed the + patch, it reverted debian/patches/43_do-not-show-firewall-dialog.patch + (LP: #534526). + + * debian/patches/67_match-usb-uris-of-usblp-and-libusb.patch, + debian/patches/67_udev_configure_printer_match_usblp_libusb_and_hplip_uris.patch: + udev-configure-printer: Replaced patch to add also the functionality that + a discovered printer is also considered as already set up if it is + discovered with only a USB URI and the existing queue has an HPLIP URI or + vice versa. + + -- Till Kamppeter Wed, 24 Mar 2010 21:12:50 +0100 + +system-config-printer (1.1.17+20100217-0ubuntu2) lucid; urgency=low + + * debian/patches/45_access-openprinting-with-redirect-support.patch: + Let system-config-printer be available to access the web query API of + the OpenPrinting server even if the URLs get redirected to new URLS, to + be prepared for software changes on the OpenPrinting web site. + * debian/patches/47_make-multithreaded-driver-package-search-via-jockey-work.patch: + Corrections in the call of Jockey via D-Bus in the new multithreaded + code for finding the driver for a detected printer. + + -- Till Kamppeter Thu, 25 Feb 2010 22:44:50 +0100 + +system-config-printer (1.1.17+20100217-0ubuntu1) lucid; urgency=low + + * New upstream release + o GIT 1.1.x snapshot from 17 February 2010 + o Do not reposition selection cursor in device list when new devices + appear after the user has selected a device. + o Use stock 'add' icon for new-printer button (LP: #394071). + * debian/patches/53_change-new-with-add-icon.patch: Removed, applied + upstream. + + -- Till Kampeter Wed, 17 Feb 2010 08:54:50 +0100 + +system-config-printer (1.1.16+git20100209-0ubuntu1) lucid; urgency=low + + * New upstream release + o GIT 1.1.x snapshot from 09 February 2010 + o my-default-printer utility removed + o Improved multi-threading + o Removed loading of the proprietary plug-in for HPLIP + o Tons of bug fixes + * debian/patches/53_fix-model-list-sorting.patch, + debian/patches/55_turboprint-with-cups-1.4.patch, + debian/patches/60_conserve-device-id-for-search-and-queue-name.patch, + debian/patches/63_use-make-model-when-device-id-missing.patch, + debian/patches/65_separate-suffix-number-in-printer-name-with-dash.patch, + debian/patches/70_dont-assume-stdout.patch, + debian/patches/73_dont-display-properties-dialog-for-first-test-page.patch: + Removed, applied upstream. + * debian/patches/10_menu_entries.patch, + debian/patches/57_backend-integration-dnssd-bluetooth.patch: Regenerated. + * debian/patches/77_dont-crash-on-dns-sd-broadcasted-mac-os-x-queues-with-utf8-chatracters.patch: + Merged into 57_backend-integration-dnssd-bluetooth.patch, as it patches + only code added by this patch. + * debian/patches/25_enable-hplip-plugin-support, + debian/patches/35_udev-add-printer-support-hplip-plugin.patch: + system-config-printer has dropped support for the proprietary driver + plugins of HPLIP. To get an upstream-supported solution we remove these + patches and move the functionality into the HPLIP package. + * debian/patches/50_give-priority-to-hpcups.patch: Now the new hpcups driver + of HPLIP is mature enough for daily use, give priority to it. + * debian/patches/53_change-new-with-add-icon.patch: Change 'gtk-new' with + 'gtk-add' in MenuToolButton (LP: #394071). Thanks to Sergio Zanchetta + (primes2h at ubuntu dot com) for the patch. + * debian/system-config-printer-common.install, + debian/system-config-printer-gnome.install, + debian/system-config-printer-udev.install: Updated file lists to match + the actual files of the current version. + + -- Till Kampeter Tue, 09 Feb 2010 13:08:43 +0100 + +system-config-printer (1.1.12+git20090826-0ubuntu11) lucid; urgency=low + + * 10_menu_entries.patch: Update to apply after the previous change. + + -- Martin Pitt Mon, 01 Feb 2010 16:11:36 -0800 + +system-config-printer (1.1.12+git20090826-0ubuntu10) lucid; urgency=low + + * debian/patches/01_delay_autostart.patch: Drop shell/sleep command, use the + new X-GNOME-Autostart-Delay instead. + + -- Martin Pitt Mon, 01 Feb 2010 15:32:48 -0800 + +system-config-printer (1.1.12+git20090826-0ubuntu9) lucid; urgency=low + + * debian/patches/75_give-priority-to-hpijs.patch: Removed temporary + patch as HP has fixed the problems of hpcups. + + -- Till Kamppeter Tue, 29 Dec 2009 12:58:09 +0100 + +system-config-printer (1.1.12+git20090826-0ubuntu8) karmic; urgency=low + + * debian/patches/77_dont-crash-on-dns-sd-broadcasted-mac-os-x-queues-with-utf8-chatracters.patch: + Prevent a crash when listing discovered printer devices in the new + printer wizard. The crash happened when their are CUPS queues from + Mac OS X systems with UTF-8 characters broadcasted via DNS-SD and + picked up by the local dnssd CUPS backend. This made setting up + print queues impossible whenthere was a Mac somewhere in the network. + (LP: #437997). + + -- Till Kamppeter Mon, 19 Oct 2009 16:32:09 +0200 + +system-config-printer (1.1.12+git20090826-0ubuntu7) karmic; urgency=low + + * debian/patches/75_give-priority-to-hpijs.patch: Temporary workaround for + the regressions in the new hpcups driver of HPLIP. As long as the + problems are not fixed, we prioritize the old hpijs by this patch + (LP: #452532). + + -- Till Kamppeter Thu, 15 Oct 2009 22:57:09 +0200 + +system-config-printer (1.1.12+git20090826-0ubuntu6) karmic; urgency=low + + * debian/patches/67_match-usb-uris-of-usblp-and-libusb.patch: Let the + udev callout not only match absolutely identical URIs but also USB + URIs being for the same device but obtained via access through the + usblp kernel module or via low-level USB (libusb). This avoids creation + of new print queues when the kernel module is loaded or unloaded + (LP: #448583). + + * debian/patches/73_dont-display-properties-dialog-for-first-test-page.patch: + Do not display the printer properties dialog when printing a test page + right after creating a new print queue (LP: #444280). + + -- Till Kamppeter Tue, 13 Oct 2009 23:38:09 +0200 + +system-config-printer (1.1.12+git20090826-0ubuntu5) karmic; urgency=low + + * debian/patches/70_dont-assume-stdout: Fix crash if unable to print to + stdout by cherry-picking commit 311761f0 from upstream (LP: #435505). + + -- Evan Broder Sat, 03 Oct 2009 16:35:17 -0400 + +system-config-printer (1.1.12+git20090826-0ubuntu4) karmic; urgency=low + + * debian/patches/57_backend-integration-dnssd-bluetooth.patch: Fixed crash + which prevents from changing of make/model/driver/PPD of an existing print + queue (LP: #436218). + * debian/patches/60_conserve-device-id-for-search-and-queue-name.patch: + Fixed crash which prevents setting up a network printer (LP: #435740). + + -- Till Kamppeter Fri, 25 Sep 2009 18:38:09 +0200 + +system-config-printer (1.1.12+git20090826-0ubuntu3) karmic; urgency=low + + * debian/patches/57_backend-integration-dnssd-bluetooth.patch: Improved the + patch to not suppress polling make and model of a network printer via SNMP + if the make-and-model entry is set to "Unknown". + * debian/patches/60_conserve-device-id-for-search-and-queue-name.patch: Make + sure that the discovered device ID is saved into the data structure + representing the printer, so that it is used for pre-filling the search + field for PPD download (it got often pre-filled with "Generic text-only + printer" before) and also for generating the default print queue name. + * debian/patches/63_use-make-model-when-device-id-missing.patch: If there is + no device ID for a discovered printer, use the make-and-model string to + determine make and model for auto-selecting the PPD/driver. + * debian/patches/65_separate-suffix-number-in-printer-name-with-dash.patch: + If a printer is created and there is already a queue with the suggested + name, add a dash and a number to the new name, not only a number. This + makes it more readable if the original name ends with a digit. + + -- Till Kamppeter Wed, 23 Sep 2009 16:38:09 +0200 + +system-config-printer (1.1.12+git20090826-0ubuntu2) karmic; urgency=low + + * debian/patches/57_backend-integration-dnssd-bluetooth.patch: Integration of + the "dnssd" and "bluetooth" CUPS backends. This assures that for each + printer there is only one entry under the discovered printers. Make also + sure that for all discovered printers either the serial number or the IP + address is shown. This allows distinguishing of multiple printers of the + same model. + + -- Till Kamppeter Tue, 22 Sep 2009 19:42:09 +0200 + +system-config-printer (1.1.12+git20090826-0ubuntu1) karmic; urgency=low + + * New upstream release + o GIT 1.1.x snapshot from 25 August 2009 + o Proper fix for LP: #416014. + * debian/patches/50_on-tvNPDeviceURIs-cursor-changed-no-crash.patch: Removed, + problem got fixed upstream. + * debian/system-config-printer-common.install: Removed file + postscriptdriver.prov again, as "make install" does not install it any + more. + + -- Till Kamppeter Wed, 26 Aug 2009 17:48:09 +0200 + +system-config-printer (1.1.11+git20090825-0ubuntu1) karmic; urgency=low + + * New upstream release + o GIT 1.1.x snapshot from 25 August 2009 + * debian/system-config-printer-common.install: Added new file + postscriptdriver.prov. + * debian/patches/50_on-tvNPDeviceURIs-cursor-changed-no-crash.patch: Prevent + on_tvNPDeviceURIs_cursor_changed() callback function from crashing + (LP: #416014). + * debian/patches/53_fix-model-list-sorting.patch: Model lists from CUPS + 1.4.x seem to be a mixture of Unicode and conventional strings, let + the sorting procedure handle this. + * debian/patches/55_turboprint-with-cups-1.4.patch: Fix cleaning of + TurboPrint PPD listings of CUPS 1.4.x to get assigned to the correct + printer model. + + -- Till Kamppeter Tue, 25 Aug 2009 10:44:16 +0200 + +system-config-printer (1.1.11+git20090820-0ubuntu1) karmic; urgency=low + + * New upstream release + o GIT 1.1.x snapshot from 20 August 2009 + o Incorporated patches + * debian/system-config-printer-gnome.install: File removed from the new + upstream package. + * debian/patches/50_fix-bluetooth-device-ids.patch, + debian/patches/53_do-not-consider-dash-as-executable-name.patch: Removed, + applied upstream. + + -- Till Kamppeter Thu, 20 Aug 2009 13:15:29 +0200 + +system-config-printer (1.1.10+git20090731-0ubuntu4) karmic; urgency=low + + * debian/control: Introduced transitional package to automatically replace + hal-cups-utils by system-config-printer-udev. + + -- Till Kamppeter Wed, 19 Aug 2009 23:32:04 +0200 + +system-config-printer (1.1.10+git20090731-0ubuntu3) karmic; urgency=low + + * debian/patches/53_do-not-consider-dash-as-executable-name.patch: When + checking whether the CUPS filter specified in the PPD file is installed, + do not consider '-' as an executable name. '-' stands for no filter + (LP: #411376). + + -- Till Kamppeter Tue, 11 Aug 2009 11:32:04 +0200 + +system-config-printer (1.1.10+git20090731-0ubuntu2) karmic; urgency=low + + * debian/patches/50_fix-bluetooth-device-ids.patch: HP's Bluetooth printers + return a model name with added "_BT" in their device ID. This breaks PPD + file matching. This patch removes this suffix before comparing model names. + + -- Till Kamppeter Mon, 10 Aug 2009 23:20:04 +0200 + +system-config-printer (1.1.10+git20090731-0ubuntu1) karmic; urgency=low + + * New upstream release + o GIT 1.1.x snapshot from 31 July 2009 + o Incorporized most of the patches of -0ubuntu2 and -0ubuntu4 + * debian/patches/30_case-insensitive-model-name-cleaning.patch, + debian/patches/33_physicaldevice-treat-hplip-network-uris-correctly.patch, + debian/patches/37_correct-hp-info-command-line.patch, + debian/patches/40_updated-hplip-plugin-installation.patch, + debian/patches/47_turboprint-ppd-support-fix.patch, + debian/patches/50_enter-uri-fields-fix.patch: Removed, applied upstream. + * debian/patches/45_improve-hplip-fax-queue-name.patch: Removed. + Not accepted upstream but not so important that it should be kept in the + Ubuntu package. + + -- Till Kamppeter Fri, 31 Jul 2009 09:10:04 +0200 + +system-config-printer (1.1.10+git20090725-0ubuntu4) karmic; urgency=low + + * debian/patches/47_turboprint-ppd-support-fix.patch: Made extracting make + and model from the NickName of TurboPrint PPDs working again. + + * debian/patches/50_enter-uri-fields-fix.patch: Made the field for freely + typing in an URI actually work. Especially one can create queues for the + cups-pdf backend now. + + -- Till Kamppeter Mon, 27 Jul 2009 00:36:42 +0200 + +system-config-printer (1.1.10+git20090725-0ubuntu3) karmic; urgency=low + + * debian/patches/45_improve-hplip-fax-queue-name.patch: Let HPLIP fax + queues get names based on manufacturer and model name of the printer + instead of ugly names like "Fax" oe "Fax-2". + + -- Till Kamppeter Sun, 26 Jul 2009 01:03:42 +0200 + +system-config-printer (1.1.10+git20090725-0ubuntu2) karmic; urgency=low + + * debian/patches/30_case-insensitive-model-name-cleaning.patch: Use + case-insensitive matching when cleaning up the PPD nick names to + get the model names for the make/model/driver list. + + * debian/patches/33_physicaldevice-treat-hplip-network-uris-correctly.patch: + Parse HPLIP URIs correctly to extract the host name/IP from them. + + * debian/patches/35_udev-add-printer-support-hplip-plugin.patch: Do not + automatically create queue for printers which require the proprietary + plug-in for HPLIP. + + * debian/patches/37_correct-hp-info-command-line.patch: Updated the + "hp-info" call to check fax capability of an HP printer. + + * debian/patches/40_updated-hplip-plugin-installation.patch: Updated + the function for installing the HPLIP plug-in to work with the current + HPLIP. + + -- Till Kamppeter Sat, 25 Jul 2009 16:46:42 +0200 + +system-config-printer (1.1.10+git20090725-0ubuntu1) karmic; urgency=low + + * New upstream release + o GIT 1.1.x snapshot from 25 July 2009 + o udev-based Plug'n'Print, replaces hal-cups-utils + * debian/system-config-printer-udev.install, debian/control, debian/rules: + New system-config-printer-udev package with udev rules and callouts to + implement Plug'n'Print (automatic print queue setup) and automatic + disabling and re-enabling of print queues when the printer is + disconnected and reconnected. This replaces hal_lpadmin of the + hal-cups-utils package. The migration to udev is done because HAL + got deprecated. + * debian/system-config-printer-gnome.install: New file in the new upstream + package. + * debian/control: python-cups 1.9.46 (or newer) is required now. + * 26_notification.patch, + 30_new-printer-unboundlocalerror.patch, + 33_system-config-printer-crash-on-rename.patch, + 35_appplet-fix-strftime-call.patch, + 37_newprinternotification-conf-new-dbus-defaults.patch, + 40_ppds-py-improved-printer-identification.patch, + 45_fix-right-click-menu-shared-command.patch, + 47_fix-name-error-in-update-job.patch, + 50_work-around-broken-device-ids-in-hplip-ppds-match-model-case-insensitive.patch, + 53_plugin-autoinstall-with-hplip-3.9.2.patch, + 55_locale-independent-lower-without-setlocale.patch, + 57_fix-applet-menu-translation.patch, + 60_hp-plugin-with-hplip-3.9.2.patch, + 63_compare-make-model-case-insensitive-fix-queue-name-default.patch: + Removed, applied upstream. + * debian/patches/27_allow-also-nonfree-ppds-for-single-ppd-download.patch: + Allow also downloads of single PPDs from OpenPrinting if they are not + under a free license. + + -- Till Kamppeter Sat, 25 Jul 2009 11:32:42 +0200 + +system-config-printer (1.1.3+git20090218-0ubuntu20) karmic; urgency=low + + * debian/patches/63_compare-make-model-case-insensitive-fix-queue-name-default.patch: + Compare make and model names case-insensitively when positioning the cursor in the make/model selection list (LP: #365329). + + -- Till Kamppeter Wed, 29 Apr 2009 17:35:59 +0200 + +system-config-printer (1.1.3+git20090218-0ubuntu19.1) jaunty-proposed; urgency=low + + * debian/patches/60_hp-plugin-with-hplip-3.9.2.patch: Make call of + hp-plugin both with and without python-qt4 also work with HPLIP 3.9.2 + (LP: #363522). + + -- Till Kamppeter Mon, 20 Apr 2009 14:21:59 +0200 + +system-config-printer (1.1.3+git20090218-0ubuntu19) jaunty; urgency=low + + * debian/patches/57_fix-applet-menu-translation.patch: Let right-click + menu of printer applet tray icon appear translated (LP: #360621). + + -- Till Kamppeter Tue, 14 Apr 2009 13:02:59 +0200 + +system-config-printer (1.1.3+git20090218-0ubuntu18) jaunty; urgency=low + + * debian/patches/55_locale-independent-lower-without-setlocale.patch: + Do not use locale.setlocale() to only convert uppercase to lowercase + letters in pure ASCII text. With many locales Python bugs get be triggered + by that. Define a simple case-conversion function which does not use any + locale-dependent constant or function (LP: #340932). + + -- Till Kamppeter Wed, 1 Apr 2009 16:22:59 +0200 + +system-config-printer (1.1.3+git20090218-0ubuntu17) jaunty; urgency=low + + * debian/patches/26_notification.patch: + - Check notification daemon capabilities to determine if actions are + supported rather than check $GDMSESSION (LP: #339847) + + -- Ken VanDine Tue, 31 Mar 2009 09:54:27 -0400 + +system-config-printer (1.1.3+git20090218-0ubuntu16) jaunty; urgency=low + + * Yet another no-change upload to _really_ build against current + pkgbinarymangler. (LP: #348225) + + -- Martin Pitt Tue, 31 Mar 2009 12:23:52 +0200 + +system-config-printer (1.1.3+git20090218-0ubuntu15) jaunty; urgency=low + + * No-change upload to strip translations from .desktop files. (LP: #348225) + + -- Martin Pitt Mon, 30 Mar 2009 12:59:03 +0200 + +system-config-printer (1.1.3+git20090218-0ubuntu14) jaunty; urgency=low + + * debian/patches/50_work-around-broken-device-ids-in-hplip-ppds-match-model-case-insensitive.patch: + The device IDs in the PPDs of HPLIP 3.9.2 are completely broken and it + happens also that some printers report an all-uppercase device ID. Made + system-config-printer find the correct PPD/driver also in these cases. + Upstream fix (LP: #298701, LP: #306301). + + * debian/patches/53_plugin-autoinstall-with-hplip-3.9.2.patch: Upstream + fix to update check whether proprietary HPLIP plugin is already installed + so that it also works with HPLIP 3.9.2 (LP: #347839, LP: #289410). + + -- Till Kamppeter Wed, 25 Mar 2009 23:59:59 +0100 + +system-config-printer (1.1.3+git20090218-0ubuntu13) jaunty; urgency=low + + * debian/patches/47_fix-name-error-in-update-job.patch: Upstream fix for + crash in job viewer (LP: #343156). + + -- Till Kamppeter Thu, 19 Mar 2009 11:05:47 +0100 + +system-config-printer (1.1.3+git20090218-0ubuntu12) jaunty; urgency=low + + * Removed temporary file which got into the last upload. + + -- Till Kamppeter Thu, 19 Mar 2009 00:29:47 +0100 + +system-config-printer (1.1.3+git20090218-0ubuntu11) jaunty; urgency=low + + * debian/patches/02_install_layout.patch: Use "--root" instead of + "--prefix" when calling setup.py, the latter does not work together + with "--install-layout=deb". Otherwise we get a FTBFS. + + -- Till Kamppeter Wed, 18 Mar 2009 23:59:47 +0100 + +system-config-printer (1.1.3+git20090218-0ubuntu10) jaunty; urgency=low + + * debian/local/source_system-config-printer.py: Add apport hooks for + system-config-printer packages. + + -- Steve Beattie Wed, 18 Mar 2009 23:45:18 +0100 + +system-config-printer (1.1.3+git20090218-0ubuntu9) jaunty; urgency=low + + * debian/patches/45_fix-right-click-menu-shared-command.patch: Upstream fix + for a crash which prevented from making a printer shared or not shared + via the right-click menu on the printer icons in the main window + (LP: #324012). + + -- Till Kamppeter Wed, 18 Mar 2009 23:05:47 +0100 + +system-config-printer (1.1.3+git20090218-0ubuntu8) jaunty; urgency=low + + * debian/patches/01_delay_autostart.patch: Redirect also stderr of the system + tray applet to /dev/null, as a second approach to fix LP: #153610. + + * debian/patches/40_ppds-py-improved-printer-identification.patch: Upstream + patch to improve identification of printers, especially for the situation + of incomplete device IDs reported for network printers. Also made the list + of printer models more readable for PPDs of HPLIP 3.9.2 and of Turboprint. + + * debian/patches/43_do-not-show-firewall-dialog.patch: Do not pop up the + dialog to remember to deactivate the firewall when activating printer + sharing. The dialog is Red Hat/Fedora-specific (LP: #274179). + + -- Till Kamppeter Tue, 17 Mar 2009 09:52:47 +0100 + +system-config-printer (1.1.3+git20090218-0ubuntu7) jaunty; urgency=low + + * debian/patches/37_newprinternotification-conf-new-dbus-defaults.patch: + Upstream patch to adapt the D-Bus policy to the new D-Bus defaults + (LP: #318776). + + -- Till Kamppeter Tue, 10 Mar 2009 16:01:47 +0100 + +system-config-printer (1.1.3+git20090218-0ubuntu6) jaunty; urgency=low + + * debian/patches/33_system-config-printer-crash-on-rename.patch: Upstream fix + for crash on printer renaming (LP: #333260). + + * debian/patches/35_appplet-fix-strftime-call.patch: Upstream fix for crash + in job viewer (LP: #334859). + + -- Till Kamppeter Mon, 9 Mar 2009 12:18:47 +0100 + +system-config-printer (1.1.3+git20090218-0ubuntu5) jaunty; urgency=low + + * debian/patches/01_delay_autostart.patch: Redirect stdout of the system + tray applet to /dev/null, as otherwise it comes to crashes (LP: #153610). + + * debian/patches/30_new-printer-unboundlocalerror.patch: Upstream fix + for crash when adding new printer (LP: #333727). + + -- Till Kamppeter Mon, 9 Mar 2009 10:10:47 +0100 + +system-config-printer (1.1.3+git20090218-0ubuntu4) jaunty; urgency=low + + [ Ken VanDine ] + * Add 26_notification.patch: don't use actions in notifications unless using + the gnome-stracciatella session (LP: #328604) + + [ Martin Pitt ] + * Add 02_install_layout.patch: --install-layout=deb to "setup.py install" + call in Makefile.{am,in}. This makes the package install correctly with + Python 2.6. + + -- Martin Pitt Wed, 04 Mar 2009 23:55:00 +0100 + +system-config-printer (1.1.3+git20090218-0ubuntu3) jaunty; urgency=low + + * Build for all python versions >= 2.5. + + -- Matthias Klose Tue, 24 Feb 2009 23:19:11 +0100 + +system-config-printer (1.1.3+git20090218-0ubuntu2) jaunty; urgency=low + + * Add python-libxml2 on system-config-printer-gnome Depends + field (LP: #327169). + + -- Alessio Treglia Sat, 21 Feb 2009 13:36:44 +0100 + +system-config-printer (1.1.3+git20090218-0ubuntu1) jaunty; urgency=low + + * New upstream release + o GIT 1.1.x snapshot from 18 February 2009 + o This gets all from one GIT branch again, without the ugly patch which + takes one file from another branch. + o Minor bug fixes and translation updates. + * debian/patches/20_fax-as-new-connection.patch: Removed, merged upstream. + + -- Till Kamppeter Wed, 18 Feb 2009 14:17:47 +0100 + +system-config-printer (1.1.3+git20090217-0ubuntu2) jaunty; urgency=low + + * debian/control: Depends on python-smbc. + + -- Till Kamppeter Wed, 18 Feb 2009 12:00:38 +0100 + +system-config-printer (1.1.3+git20090217-0ubuntu1) jaunty; urgency=low + + * New upstream release + o GIT 1.1.x snapshot from 17 February 2009 + o Support for proprietary plugin of HPLIP (firmware, ...) + o If hal-cups-utils does not find an exact driver match, it does + not set up queues any more. Added special mode for this case. + o When creating a new print queue and an exact driver match is found, + the make/model/driver selection steps are skipped (driver can be + changed on the existing queue though). + o Vastly improved device selection screen in New Printer wizard. No + questions in pop-up dialogs any more. + * debian/patches/20_fax-as-new-connection.patch: Fax support for network + printers from HP without pop-up question. Taken from hplip-fax-connection + GIT branch. + * debian/patches/25_enable-hplip-plugin-support.patch: Actually enabled + support for automatically installing the HPLIP plugin. + * debian/system-config-printer-gnome.install: added a new file. + * debian/control: Depends on python-cups 1.9.42 or newer. + + -- Till Kamppeter Wed, 18 Feb 2009 05:19:38 +0100 + +system-config-printer (1.1.2+git20090125-0ubuntu4) jaunty; urgency=low + + * 01_delay_autostart.patch: Add missing "exec", to avoid having the + wrapping dash run forever. + + -- Martin Pitt Tue, 03 Feb 2009 17:08:31 +0100 + +system-config-printer (1.1.2+git20090125-0ubuntu3) jaunty; urgency=low + + * Add 01_delay_autostart.patch: Defer the autostart desktop by 30 + seconds, since this is the only Python process in the GNOME + startup sequence, and contributes to slow startup. + + -- Martin Pitt Tue, 03 Feb 2009 12:24:00 +0100 + +system-config-printer (1.1.2+git20090125-0ubuntu2) jaunty; urgency=low + + * Add debian/system-config-printer-gnome.preinst: Remove obsolete + conffile /etc/xdg/autostart/redhat-print-applet.desktop on + upgrades, to avoid starting the applet twice. (LP: #323014) + + -- Martin Pitt Sun, 01 Feb 2009 23:47:09 +0100 + +system-config-printer (1.1.2+git20090125-0ubuntu1) jaunty; urgency=low + + * New upstream release + o GIT 1.1.x snapshot from 25 January 2009 + * debian/system-config-printer-common.install, + debian/system-config-printer-gnome.install: Updated file lists + for the new version. + * debian/patches/10_menu_entries.patch: Regenerated. + * debian/patches/11_no_kde_autostart.diff, + debian/patches/20_jockey-printer-driver-auto-download.patch, + debian/patches/25_openprinting-query-missingfields.patch, + debian/patches/30_better-downloadable-driver-properties.patch, + debian/patches/35_gray-out-settings-menu-entry-when-cups-not-running.patch, + debian/patches/40_do-not-crash-on-deleted-printer.patch: Removed, + applied upstream. + + -- Till Kamppeter Sun, 25 Jan 2009 18:42:39 +0100 + +system-config-printer (1.0.5+git20080819-0ubuntu6) intrepid; urgency=low + + * debian/patches/40_do-not-crash-on-deleted-printer.patch: Fix crashes + when printers get deleted while editing their properties (LP: #284444). + + -- Till Kamppeter Sun, 19 Oct 2008 16:41:26 +0200 + +system-config-printer (1.0.5+git20080819-0ubuntu5) intrepid; urgency=low + + * debian/patches/35_gray-out-settings-menu-entry-when-cups-not-running.patch: + Gray out the "Server" -> "Setttings" menu entry whenthere is no connection + to a CUPS daemon. Calling the Settings dialog in such a situation causes a + crash (LP: 267964). + + -- Till Kamppeter Thu, 9 Oct 2008 17:41:26 +0200 + +system-config-printer (1.0.5+git20080819-0ubuntu4) intrepid; urgency=low + + * debian/patches/30_better-downloadable-driver-properties.patch: For + PPD download from OpenPrinting in the New Printer wizard let the license + text be displayed always if it is present in the driver entry, but let + the user be asked whether he agrees only in case of non-free drivers or + patent issues. Also let the "from manufacturer" and "free software" bits + be shown. + * debian/patches/jockey-printer-driver-auto-download.patch, + debian/patches/openprinting-query-missingfields.patch, + debian/patches/20_jockey-printer-driver-auto-download.patch, + debian/patches/25_openprinting-query-missingfields.patch: Renamed the + patches to assure that they get applied in the correct order. + + -- Till Kamppeter Mon, 6 Oct 2008 11:20:26 +0200 + +system-config-printer (1.0.5+git20080819-0ubuntu3) intrepid; urgency=low + + * debian/patches/openprinting-query-missingfields.patch: + Added some missing fields to the data structure for queried printer + driver records (LP: #269454). + + -- Till Kamppeter Thu, 25 Sep 2008 22:20:26 +0200 + +system-config-printer (1.0.5+git20080819-0ubuntu2) intrepid; urgency=low + + * debian/patches/jockey-printer-driver-auto-download.patch: + Added support for automatic driver download via Jockey. + + -- Till Kamppeter Wed, 24 Sep 2008 23:50:26 +0200 + +system-config-printer (1.0.5+git20080819-0ubuntu1) intrepid; urgency=low + + * New upstream release + o GIT 1.0.x snapshot from 19 August 2008 + o Improvements and fixes on job authentication + o Distinguish whether downloadable driver or PPD is free or non-free + software. + * debian/patches/12_oki_instead_of_okidata.patch: Removed, applied upstream. + + -- Till Kamppeter Tue, 19 Aug 2008 16:30:26 +0200 + +system-config-printer (1.0.5+git20080812-0ubuntu2) intrepid; urgency=low + + * debian/patches/12_oki_instead_of_okidata.patch: Use "Oki" instead of + "Okidata". + + -- Till Kamppeter Wed, 19 Aug 2008 10:05:00 +0200 + +system-config-printer (1.0.5+git20080812-0ubuntu1) intrepid; urgency=low + + * New upstream release + o GIT 1.0.x snapshot from 12 August 2008 + o Ungray the "Apply" button when typing a value into an input field with + spin button (Upstream bug #83). + o Do not load the PPD list when creating an explicit print queue pointing + to a remote CUPS queue (Upstream bug #72). + o Show printer state reasons near the printer state display in the printer + properties dialog (Upstream bug #85). + o Check whether renaming of a printer is possible and show an error if + not (Upstream bug #78). + o Improved input of Samba URIs and scanning for SMB printers (Upstream + bug #66). + * debian/patches/12_case_insensitive_model_sort.patch: Removed, applied + upstream. + + -- Till Kamppeter Tue, 12 Aug 2008 11:05:00 +0200 + +system-config-printer (1.0.4+git20080730-0ubuntu1) intrepid; urgency=low + + * New upstream release + o GIT 1.0.x snapshot from 30 July 2008 + o Switched to 1.0.x GIT branch, as the head branch needs Samba 3.2.x for + full functionality + o Fixes several upstream bugs reported on the GIT snapshot from July 23 + (Upstream bugs #75, #76, #78, #80). + * debian/system-config-printer-gnome.install: Re-introduced contextmenu.py, + applet.glade, system-config-printer.glade, removed subdirectory glade, + file glade.py. + * debian/patches/12_case_insensitive_model_sort.patch: Case-insensitive + sorting of printer model names. + + -- Till Kamppeter Wed, 30 Jul 2008 10:35:46 +0200 + +system-config-printer (1.0.2+git20080723-0ubuntu1) intrepid; urgency=low + + * New upstream release + o GIT snapshot from 23 July 2008 + o Let Ctrl+N directly call the add-printer wizard + o Let internal OpenPrinting database download facility only download + PPDs, not packages. + o Use distutils for python-cupshelpers package + o Printer properties dialog: "Close" button for printers which + appear from broadcasts, "Apply"/"Cancel"/"OK" for locally defined + printers. + o Fixed pre-fill of "Location" field. + o Improved searching of the OpenPrinting database (Upstream bug #25). + o Bug fixes and improvements on the troubleshooting utility. + o When adding an IPP printer, pre-fill the info and location fields + from the remote queue (Upstream bug #37). + o New Advanced Server Settings dialog. + o SMB handling fixes/improvements. + * debian/system-config-printer-gnome.install: Removed file + contextmenu.py, added file AdvancedServerSettings.py. + + -- Till Kamppeter Wed, 23 Jul 2008 16:13:19 +0200 + +system-config-printer (1.0.2+git20080702-0ubuntu1) intrepid; urgency=low + + * New upstream release + o GIT snapshot from 2 July 2008 + o Pre-fill domain in SMB auth dialog (Upstream bug #30) + o Don't strip " Printer" from the end of the ppd-make-and-model string + (Upstream bug #33) + o Moved modules interesting for other apps into the standard Python + path (Upstream bug #34) + o Prevent hp-info from starting systray applet. + o Limit the initial size of the main window (Upstream bug #53). + o Added 'Apply' button to printer properties dialog (Upstream bug #54). + o More bug fixes + * debian/system-config-printer-gnome.install: Renamed ui/ subdirectory to + glade/. + * debian/control, debian/rules, debian/python-cupshelpers.install: New + package "python-cupshelpers" for general printing-related Python modules. + * debian/control, debian/rules: Restrict byte-compilation of Python modules + in "python-cupshelpers" to the current Python version. They do not + byte-compile with Python 2.4. + * debian/system-config-printer-common.install, + debian/python-cupshelpers.install: Moved general printing-related + modules into the "python-cupshelpers" package. + * debian/patches/01_no_rhpl.patch: Removed. Not needed any more. + + -- Till Kamppeter Wed, 02 Jul 2008 19:26:49 +0200 + +system-config-printer (1.0.2+git20080620-0ubuntu1) intrepid; urgency=low + + * New upstream release + o GIT snapshot from 20 June 2008 + * debian/system-config-printer-gnome.install: Added new files glade.py and + userdefault.py, adapted to new layout of *.glade files. + + -- Till Kamppeter Fri, 20 Jun 2008 12:25:54 +0200 + +system-config-printer (1.0.0+git20080609-0ubuntu1) intrepid; urgency=low + + * New upstream release + o GIT snapshot from 09 June 2008 + o Fixed crash bugs: LP: #222494, LP: #222616, LP: #224021, LP: #225241. + o Fixed missing title bar icon (LP: #234750) + o Fixed system-config-printer not starting on unknown locale (LP: #236858) + * debian/system-config-printer-gnome.install: Added new file errordialogs.py + + -- Till Kamppeter Mon, 09 Jun 2008 11:57:59 +0100 + +system-config-printer (0.9.90+svn2385-0ubuntu2) intrepid; urgency=low + + * Add conflicts to system-printer-config-kde in debian/control, + LP: #229016. + * Update debian/copyright: + + remove boilerplate comments + + update years of copyright + + -- Stefan Potyra Sat, 10 May 2008 23:06:32 +0200 + +system-config-printer (0.9.90+svn2385-0ubuntu1) intrepid; urgency=low + + * New upstream release + o Subversion snapshot r2385 + o New main window layout, like gnome-cups-manager + o Lots more of troubleshooting functionality + o More on automatic driver download from OpenPrinting + o Handle unknown locales gracefully (LP: #225532) + * debian/system-config-printer-common.install, + debian/system-config-printer-gnome.install: Added new files. + * debian/patches/30_dont_blank_jetdirect_hostname.patch, + debian/patches/27_crashbug_211867.patch, + debian/patches/28_crashbug_213624.patch, + debian/patches/29_crashbug_214579.patch, + debian/patches/26_crashbug_195508.patch, + debian/patches/24_crashbug_207338.patch, + debian/patches/23_crashbug_203818.patch, + debian/patches/25_crashbug_208305.patch, + debian/patches/15_hpfax_queue_for_network_printer_and_hpfax2.patch, + debian/patches/17_model-name-cleanup-improvements.patch, + debian/patches/20_laserjet-1200-1300-no-postscript.patch: Removed + all upstream patches introduced after Hardy's Feature Freeze, as we + are returning to use the current SVN snapshots. + + -- Till Kamppeter Fri, 02 May 2008 10:05:29 +0200 + +system-config-printer (0.7.81+svn1976-0ubuntu9) hardy; urgency=low + + * debian/patches/30_dont_blank_jetdirect_hostname.patch: Fixed host name + field being empty when a discovered JetDirect/Socket printer is the first + entry in the list of devices in the New Printer wizard (LP: #220041). + + -- Till Kamppeter Mon, 21 Apr 2008 17:01:37 +0200 + +system-config-printer (0.7.81+svn1976-0ubuntu8) hardy; urgency=low + + * debian/patches/27_crashbug_211867.patch, + debian/patches/25_crashbug_213624.patch + debian/patches/29_crashbug_214579.patch: Fixed traceback bugs, patches + from upstream (LP: #211867, LP: #213624, LP: #214579). + + [ Kjell Braden ] + * debian/patches/26_crashbug_195508.patch: fix another crasher, thanks + Jeffrey Baker for the patch (LP: #195508) + + -- Till Kamppeter Wed, 16 Apr 2008 16:01:37 +0200 + +system-config-printer (0.7.81+svn1976-0ubuntu7) hardy; urgency=low + + * debian/control: Added missing dependency: python-dbus (LP: #214515). + + -- Till Kamppeter Wed, 9 Apr 2008 14:01:37 -0500 + +system-config-printer (0.7.81+svn1976-0ubuntu6) hardy; urgency=low + + * debian/patches/23_crashbug_207338.patch: Another crasher fix from upstream + (LP: #207338). + + -- Till Kamppeter Sat, 5 Apr 2008 23:01:37 +0100 + +system-config-printer (0.7.81+svn1976-0ubuntu5) hardy; urgency=low + + * debian/patches/23_crashbug_203818.patch, + debian/patches/25_crashbug_208305.patch: Fixes traceback bugs + (LP: #203818, LP: #208305). + + -- Till Kamppeter Wed, 2 Apr 2008 23:59:37 +0100 + +system-config-printer (0.7.81+svn1976-0ubuntu4) hardy; urgency=low + + * debian/patches/15_hpfax_queue_for_network_printer_and_hpfax2.patch: + system-config-printer was not able any more to create fax queues + for network-connected HP multi-function devices after fixing + LP: #165197. This is fixed by this patch. The patch also removes + the newline character from the end of HPLIP URIs for network + print and fax queues and it also adds support for HP's new fax + device class "HP Fax 2" (HP LaserJet M2727), + * debian/patches/17_model-name-cleanup-improvements.patch: Fixed and + improved filtering of driver information from printer model names + to clean list of printer models. Now more types of version numbers + are removed and model names are not so easily broken, like for + example "PSC" was converted to "C" (LP: #205107). + * debian/patches/20_laserjet-1200-1300-no-postscript.patch: For HP LaserJet + 12xx/13xx prefer HPIJS over PostScript, as they do not have enough + memory to render complex graphics with their on-board PostScript + interpreter. This is a workaround for the time being until HP fixes + this in the HPLIP-generated PPDs (LP: #172550). + + -- Till Kamppeter Sun, 23 Mar 2008 23:59:37 +0100 + +system-config-printer (0.7.81+svn1976-0ubuntu3) hardy; urgency=low + + * Add 11_no_kde_autostart.diff to not autostart in KDE (we have + system-config-printer-applet-kde now) + + -- Jonathan Riddell Wed, 12 Mar 2008 15:49:45 +0000 + +system-config-printer (0.7.81+svn1976-0ubuntu2) hardy; urgency=low + + * Drop dependency on python-xml. + + -- Matthias Klose Wed, 27 Feb 2008 12:55:53 +0000 + +system-config-printer (0.7.81+svn1976-0ubuntu1) hardy; urgency=low + + * New upstream release + o Subversion snapshot r1799 + o Several improvements on the new troubleshooting function + o Minor fixes + + -- Till Kamppeter Thu, 14 Feb 2008 01:30:37 +0100 + +system-config-printer (0.7.80+svn1942-0ubuntu2) hardy; urgency=low + + * debian/system-config-printer-common.install, + debian/system-config-printer-gnome.install: Added missing files to the + lists. + + -- Till Kamppeter Wed, 06 Feb 2008 23:40:14 +0100 + +system-config-printer (0.7.80+svn1942-0ubuntu1) hardy; urgency=low + + * New upstream release + o Subversion snapshot r1799 + o Added infrastructure for automatic printer driver download from + the OpenPrinting web site. + + -- Till Kamppeter Tue, 05 Feb 2008 14:20:14 +0100 + +system-config-printer (0.7.78+svn1799-0ubuntu2) hardy; urgency=low + + * Arrange for a second frontend, split package into -common and + -gnome, -kde is a separate source for now but will be included in + the future + + -- Jonathan Riddell Thu, 24 Jan 2008 11:24:13 +0000 + +system-config-printer (0.7.78+svn1799-0ubuntu1) hardy; urgency=low + + * New upstream release + o Subversion snapshot r1799 + o Made assignment of PPDs to auto-detected printers more reliable, + especially for Bluetooth and network printers. This is done by + supporting weird auto-detection output of CUPS backends, as + "Unknown" for make and model but useful info field, device ID + for Bluetooth not identical with device ID for USB/parallel, no + manufacturer name in make-and-model field, case-insensitive search + when cleaning model name. + o Handle the manufacturer name "KONICA MINOLTA" correctly (LP: #64046). + o If the OpenPrinting database (foomatic-db) recommends a non-PostScript + driver, use this driver, even if there is a vendor PPD for the + PostScript mode (HP LaserJet 12xx/13xx, LP: #172550). + o Allow listing of all files in file chooser dialog for selecting a + custom PPD file (LP: #153585). + * debian/control: Added missing dependencies: python-gnome2 and + gnome-icon-theme (LP: #176929). + + -- Till Kamppeter Mon, 07 Jan 2008 16:44:22 +0000 + +system-config-printer (0.7.78+svn1792-0ubuntu1) hardy; urgency=low + + * New upstream release + o Subversion snapshot r1792 + o Fixed crasher bugs: LP: #149393, LP: #159212, LP: #173115, LP: #175500. + o Behave gracefully if CUPS is not running. + o Do not force waiting windows to be on top of other application's + windows (LP: #175766). + + -- Till Kamppeter Fri, 21 Dec 2007 15:21:48 +0000 + +system-config-printer (0.7.78+svn1771-0ubuntu1) hardy; urgency=low + + * New upstream release + o Subversion snapshot r1771 + o Added support for setting up queues pointing to Mac OS X printers, + detected with the dnssd CUPS backend. + o Allow deleting of remote queues, so that queues pointing to Mac OS X + printers can get deleted again. + o Fixed handling of auto-detected IPP queues in the "New printer" wizard. + o Fixed traceback when creating a raw queue. + o Fixed "New Printer" notifications after they got broken by the icon + hiding changes for LP: #151360 and LP: #156816. + o For C/POSIX locale, show only English PPDs. + o Include PPD language in driver description (LP: #161037). + o If there are no jobs but there is a printer warning/error indicated + by the tray icon, set the icon tooltip to the reason description. + o In the printer status window fix columns so that the full printer name + can be seen. + o Set printer icon in "Connect" dialog. + o Set AboutDialog logo by icon name, set URL and email hooks, set icon + (LP: #165101). + o In the printer status window set Ctrl+R accelerator for Refresh menu + entry (LP: #137984). + + -- Till Kamppeter Mon, 03 Dec 2007 21:40:08 +0000 + +system-config-printer (0.7.78+svn1751-0ubuntu1) hardy; urgency=low + + * New upstream release + o Subversion snapshot r1751 + o Performance improvements for detecting printers in the "New Printer" + wizard. + + -- Till Kamppeter Tue, 27 Nov 2007 16:54:24 +0000 + +system-config-printer (0.7.78+svn1740-0ubuntu1) hardy; urgency=low + + * New upstream release + o Subversion snapshot r1740 + o Do not require PNG format for desktop icons (LP: #152634) + o Applet: Throttle the rate of checking for jobs or error messages when in + start-up mode. This prevents the applet being a nuisance when a large + number of CUPS administration operations are performed in a batch. + o Be more tolerant on failures to obtain printer info from CUPS. + o Better check for whether the CUPS server is local. + o Better methods to find default printer. + o Applet: Allow the tray icon to reappear on the next print job when the + user has hidden the applet icon with right-click -> "Hide" (LP: #156816). + o Applet: Hide icon automatically when print job ends (LP: #151360). + * debian/patches/10_menu_entries.patch: Regenerated. + + -- Till Kamppeter Thu, 22 Nov 2007 17:02:25 +0000 + +system-config-printer (0.7.77+svn1699-0ubuntu1) hardy; urgency=low + + * New upstream release + o Subversion snapshot r1699 + o Fix job manager appearing untrunslated (LP: #149572) + o system-config-printer did not respect the user configuration for the + appearance of the toolbar (LP: #135844) + o Use standard icon for menus and system tray, so that they get themable + and scalable (LP: #152634) + o Tooltips for the button bar + o Improvements of layout for IPP and TCP/Socket devices in New Printer + wizard + * debian/patches/20_match_more_printers.patch: Removed, fixed upstream. + + -- Till Kamppeter Thu, 08 Nov 2007 00:53:16 -0700 + +system-config-printer (0.7.75+svn1653-0ubuntu2) gutsy; urgency=low + + * debian/patches/10_menu_entries.patch: Let menu entry for displaying + queued jobs appear in the "Accessories" menu and not under "Systemn + Tools". "Systemn Tools" is KDE-specific (LP: #149529). + * debian/patches/20_match_more_printers.patch: Do best match by + "most important word" case-insensitive. This matches especially + the Canon printers correctly with the Gutenprint PPDs (LP: #149264). + + -- Till Kamppeter Fri, 5 Oct 2007 18:46:02 +0100 + +system-config-printer (0.7.75+svn1653-0ubuntu1) gutsy; urgency=low + + * New upstream release + o Subversion snapshot r1653 + o Set sensitivity of the 'Allow printing from the Internet' checkbox + in the server settings correctly (LP: #146471). + o Fixed typo (LP: #148022). + o Wrap explanation text for 'Other Options' on the 'Job options' tab + (LP: #148010). + o Fixed traceback (LP: #139192). + o Disable the Set Default button when there are no printers available + (LP: #146925). + o Disable the Connect button when the server name is empty (LP: #147450). + o Make 'Default Printer' tool appearing translated (LP: #147788). + * debian/patches/10_menu_entries.patch: Let menu entries appearing + translated (LP: #147782) and let menu entry for displaying the jobs + in the print queues appear (LP: #144113). + + -- Till Kamppeter Wed, 03 Oct 2007 12:46:02 +0100 + +system-config-printer (0.7.75+svn1628-0ubuntu1) gutsy; urgency=low + + * New upstream release + o Subversion snapshot r1628 + o Convert floating point values to strings in a locale-safe manner + (Fixes LP: #145693) + o Let entry for the raw queue appear under the "Generic" printers. + o Just selecting printer type headings should not expand or collapse the + list, but activating them (double-clicking) should (LP: #144106). + o Do not allow test pages for raw queues (LP: #145098). + o ppds.py (PPDs._findBestMatchPPDs): Rather than just looking for + the longest initial match in model order, sort our model name into + the available models and look at the immediate neighbours. Pick + the longest initial match from them (LP: #137580). + o Fixed foomatic recommended driver discovery + o Additional small fixes. + * debian/patches/01_no_rhpl.patch: Updated. + * debian/patches/03_makefile.patch: Removed, not needed any more. + * debian/control: Added missing dependency on python-gobject (Fixes + LP: #144592) + + -- Till Kamppeter Mon, 01 Oct 2007 10:19:28 +0100 + +system-config-printer (0.7.75+svn1566-0ubuntu1) gutsy; urgency=low + + * New upstream release + o Subversion snapshot r1566 + o Fixed crash when clicking on option reset buttons (LP: #135321) + o Made it possible to remove the "Orientatian" setting completely + by clicking its reset button (LP: #140887) + + -- Till Kamppeter Wed, 19 Sep 2007 19:17:50 +0100 + +system-config-printer (0.7.75+svn1557-0ubuntu1) gutsy; urgency=low + + * New upstream release + o Subversion snapshot r1557 + o Let IPP_TAG_NOVALUE attributes have Python value None instead of a + string (Fixes LP: #140887). + o Handle IPP_TAG_NOVALUE by translating it to a valid default value. + * debian/control: Updated "Maintainer:" field. + * debian/control: Require at least python-cups 1.9.27, so that + IPP_TAG_NOVALUE attributes get handled correctly. + + -- Till Kamppeter Wed, 19 Sep 2007 14:36:40 +0100 + +system-config-printer (0.7.75-0ubuntu1) gutsy; urgency=low + + * New upstream release + o Subversion snapshot r1549 - Release 0.7.75 + o Fixed automatic driver selection, now for HP's PostScript printers + the appropriate PostScript PPDs get correctly selected when + automatically creating queues with hal-cups-utils. The workaround + in hal-cups-utils can get removed. + o When changing PPDs for a queue overtaking of the option settings + used with the former PPD is the default now. + o I18n update. + + -- Till Kamppeter Tue, 18 Sep 2007 18:16:32 +0100 + +system-config-printer (0.7.74+svn1539-0ubuntu1) gutsy; urgency=low + + * New upstream release + o Subversion snapshot r1539 + o When a class is removed on the server, remove it from the user interface. + o Fixes on creating SMB print queues (queues pointing to Windows or Samba + server) + o Add "Installed Options" step to the add-printer wizard so that when + creating a print queue the user also configures the optional hardware + accessories (like extra trays, duplex unit, finishers, ...) correctly. + + -- Till Kamppeter Tue, 18 Sep 2007 00:24:48 +0100 + +system-config-printer (0.7.74+svn1504-0ubuntu1) gutsy; urgency=low + + * New upstream release + o Subversion snapshot r1504 + o Let "make install" also install the new file gtk_treeviewtooltips.py + (Fixes LP: #138881). + + -- Till Kamppeter Tue, 11 Sep 2007 15:10:18 +0100 + +system-config-printer (0.7.74+svn1502-0ubuntu1) gutsy; urgency=low + + * New upstream release + o Subversion snapshot r1502 + o Samba settings get saved into the URI now after editing the printer + location (Fixes LP: #138226) + o Ignore OS error in my-default-printer (Fixes LP: #136403) + o SMB scan on demand in separate dialog (to avoide delay when selecting + SMB server in add-printer wizard if there are many Windows boxes in the + network) + o Fixes several GUI inconsistencies + + -- Till Kamppeter Mon, 10 Sep 2007 13:41:39 +0100 + +system-config-printer (0.7.73+svn1429-0ubuntu2) gutsy; urgency=low + + * debian/control: Remove Conflicts/Replaces to gnome-cups-manager again. + update-manager now takes care of this, and the Conflicts: leads to + upgrading troubles (removing ubuntu-desktop). (LP: #107766) + + -- Martin Pitt Mon, 10 Sep 2007 07:36:55 +0200 + +system-config-printer (0.7.73+svn1429-0ubuntu1) gutsy; urgency=low + + * New upstream release + o Subversion snapshot r1429 + o Fixed display of warning message that a shared printer is not really + published due to the CUPS server settings. The message was not removed + when turning on printer sharing in the CUPS server setting. Fixes + LP: 132735 + o Set decent default selection in the main window when + system-config-printer is started without options. Fixes LP: #132652 + o Removed superfluous scrolledwindow+viewport set around the printer list. + Fixes: LP: #134427 + * debian/control: Added "Depends: python-notify". Fixes LP: #129222 + + -- Till Kamppeter Mon, 27 Aug 2007 10:20:22 +0100 + +system-config-printer (0.7.71+-svn1418-0ubuntu1) gutsy; urgency=low + + * New upstream release + o Subversion snapshot r1418 + o Search all SMB servers for a given domain via "nmblookup -R ''". + The former "smbclient -N -L //" is used as a fallback. Fixes + LP: #127152 + o Made sure that all items in the tree list of SMB domains/servers/shares + have the little triangle to show the sub-item list, even before the + sub-items were scanned. Fixes LP: #127152 + o Quote/Unquote all elements of the SMB device URIs, as spaces are + also allowed in SMB host and share names. Fixes LP: #128261 + o Handle exceptions raised by the browse_smb_hosts() function if it + is called before the add-printer wizard window is open. Fixes + LP: #133573 + o Scan SMB host list when in the main window the "Change" button for + the URI is clicked and the URI is an SMB URI. This way the list + of SMB domains/servers/shares in the dialog for setting the URI + does not stay empty. + + -- Till Kamppeter Thu, 23 Aug 2007 09:27:43 +0100 + +system-config-printer (0.7.71+-svn1415-0ubuntu1) gutsy; urgency=low + + * New upstream release + o Subversion snapshot r1415 + o Search for SMB servers not only via "nmblookup -M -- -" but also with + "nmblookup '*'" (LP: #127152). + o Take into account that SMB share names can have spaces when scanning + network for SMB-provided printers (LP: #128261). + o Make sure that in case of the detected printer being unknown always + the text-only printer is pre-selected (LP: #102389). + o Let the generic PostScript PPD coming with CUPS have a higher priority + than the generic PostScript PPD of Foomatic. + o Fixed a traceback when trying to find a PPD for a printer with no + digits in the model name and where the model name does not match + any of the PPDs exactly. + * debian/control: Added "Recommends: hal-cups-utils" (LP: #132994). + + -- Till Kamppeter Tue, 21 Aug 2007 17:51:44 +0100 + +system-config-printer (0.7.71+-svn1410-0ubuntu1) gutsy; urgency=low + + * New upstream release + o Subversion snapshot r1410 + o Allow textonly.ppd and postscript.ppd (for fallback on + unknown printer models) to be at any arbitrary place in the PPD + file directories + o Fall back to postscript.ppd if no textonly.ppd is available. + o If no match is found at all, try searching for the model ID word, + with decreasing significant figures (fixes LP: #131990). + + -- Till Kamppeter Thu, 16 Aug 2007 17:05:09 +0100 + +system-config-printer (0.7.71+-svn1406-0ubuntu1) gutsy; urgency=low + + * New upstream release + o Subversion snapshot r1406 + o Fixes: LP: #131848 LP: #132227 + o Redraw issues fixed and "Please wait" messages added for the device + scanning and PPD list reading + o Improved model matching by ignoring "Series" in model names + o Allow custom test pages + o Make system-config-printer also working on systems without local + CUPS daemon + * debian/patches/04_custom_test_pages.patch, + debian/patches/20_support_cups_nonroot.patch: Removed, merged upstream. + + -- Till Kamppeter Wed, 15 Aug 2007 16:06:42 +0100 + +system-config-printer (0.7.71+-svn1399-0ubuntu2) gutsy; urgency=low + + * Resurrect debian/patches/20_support_cups_nonroot.patch: It is still useful + for talking to remote cups servers without starting s-c-p as root. + * Add debian/patches/04_custom_test_pages.patch: Read the paper size from + current PPD and if there is a file /usr/share/s-c-p/testpage-, + use that as a test page. Otherwise fall back to cups' default one. + * Add debian/local/testpage-{a4,letter}.ps: Ubuntu specific test pages + (taken from gnome-cups-manager). Fixed the A4 version to actually be A4. + * Add debian/system-config-printer.install: Install the test pages. + * debian/control: Conflicts:/Replaces: to gnome-cups-manager, so that we do + not end up with two configuration UIs on upgrades. This is harsh and + blunt, but *shrug*. (LP: #107766) + + -- Martin Pitt Wed, 15 Aug 2007 16:30:31 +0200 + +system-config-printer (0.7.71+-svn1399-0ubuntu1) gutsy; urgency=low + + [ Till Kamppeter ] + * New upstream release + o Subversion snapshot r1399 + o GUI improvements on add-printer wizard + * debian/patches/66_os_environ.patch: Removed, merged upstream + * debian/patches/20_support_cups_nonroot.patch: Rediff + + [ Martin Pitt ] + * Drop 20_support_cups_nonroot.patch. Our cups runs as root now, so this is + not necessary any more. + + -- Till Kamppeter Wed, 15 Aug 2007 13:14:17 +0200 + +system-config-printer (0.7.71+-svn1371-0ubuntu1) gutsy; urgency=low + + * New upstream release + o Subversion snapshot r1371 + * debian/patches/50_my_default_printer_fix_system_default.patch, + debian/patches/60_device_handling_improvements.patch, + debian/patches/65_device_entry_sorting.patch: Removed (merhed upstream) + * debian/patches/66_os_environ.patch: Replaced a wrong "sys.environ()" by + the correct "os.environ" call. + + -- Till Kamppeter Mon, 06 Aug 2007 18:58:14 +0100 + +system-config-printer (0.7.71-0ubuntu2) gutsy; urgency=low + + * debian/patches/60_device_handling_improvements.patch, + debian/patches/65_device_entry_sorting.patch: + Vastly improved handling of detected devices + o If an auto-detected device (USB, network) is supported by HPLIP + only the HPLIP URIs are shown, to assure that the user gets it + correctly set up to get access to the complete functionality + o For auto-detected network MF devices from HP also an entry + for setting up the fax queue is shown + o Make and model info of auto-detected network printers is used to + direct the user to the correct PPD/driver + o For manually entered printers make and model are determined via + SNMP. It is also checked whether the printer is supported by HPLIP + o No "HP Fax" entry any more when no Fax-capable HP printer is + connected. + o When selecting an auto-detected non-HPLIP network printer the + fields of the form on the right are correctly prefilled now. + o Improved sorting of the device list entries. + + -- Till Kamppeter Fri, 03 Aug 2007 19:31:52 +0100 + +system-config-printer (0.7.71-0ubuntu1) gutsy; urgency=low + + * New upstream release + o Merged patches 10_ppd_init_make_model_list.patch, + 30_return_default_ppd.patch and + 40_improve_ppd_driver_selection.patch upstream. + o Handle "socket://..." URIs in a better way (LP: #127074) + o Moved default printer label below make-default button because some + translation strings are very long (LP: #128263) + o my-default-printer: Catch exceptions and error out (LP: #129901) + * Removed patches which were merged upstream. + * 50_my_default_printer_fix_system_default.patch: Fixed "System Default" + button in my-default-printer. + + -- Till Kamppeter Fri, 03 Aug 2007 19:31:52 +0100 + +system-config-printer (0.7.70-1ubuntu4) gutsy; urgency=low + + * debian/patches/40_improve_ppd_driver_selection.patch: Added missing + variable initialization. + + -- Till Kamppeter Wed, 1 Aug 2007 19:05:20 +0100 + +system-config-printer (0.7.70-1ubuntu3) gutsy; urgency=low + + * debian/patches/40_improve_ppd_driver_selection.patch: Improved the + automatic selection of the preferred printer driver/PPD file. This is + especially important for the non-interactive automatic printer setup + via hal-cups-utils. + + One important change (besides driver type priority changes) is that + now both PPDs assigned via IEEE-1284 device ID and PPDs assigned by + simple make/model matching are treated in the same level. With this + HP's PostScript PPDs (do not contain device IDs) can be preferred + against HP's HPIJS (PCL 5c/e) PPDs. + + Improvements: + o HP PostScript printers are set up with HP's PostScript PPDs and + not with the HPIJS PPDs (PCL 5c/e). + o The HP LaserJet 1022 is now set up with "foo2zjs" as recommended + by OpenPrinting, not with HPIJS. Als other HP printers where a + non-HPIJS driver is recommended are set up correctly now. + o Samsung SPL2 printers are set up with SpliX and not with the "gdi" + (SPL1) driver now. + o The recognition of drivers which came with CUPS is adapted to + Ubuntu Linux now. + o There was no distinction between the full-feature and simplified + Gutenprint drivers of the CUPS raster type. + + -- Till Kamppeter Tue, 30 Jul 2007 19:05:20 +0100 + +system-config-printer (0.7.70-1ubuntu2) gutsy; urgency=low + + * debian/patches/30_return_default_ppd.patch: Fix output of a default + PPD file if the /usr/lib/hal-cups-utils/hal_lpadmin script (triggered + by HAL, from hal-cups-utils package) is supplying auto-detection data + of an unknown printer. + + -- Till Kamppeter Tue, 24 Jul 2007 21:49:20 +0100 + +system-config-printer (0.7.70-1ubuntu1) gutsy; urgency=low + + * Merged with Debian unstable. + * debian/control: Added "xmlto" to the "Build-Depends:" line. + * debian/patches/10_ppd_init_make_model_list.patch: Fixed missing + initialization of make/model list (bug in upstream code) + * debian/patches/20_support_cups_nonroot.patch: Added support for CUPS + running as non-root user + + -- Till Kamppeter Tue, 24 Jul 2007 12:59:20 +0100 + +system-config-printer (0.7.70-1) unstable; urgency=low + + * New Upstream Version + + -- Otavio Salvador Sun, 15 Jul 2007 20:47:12 -0300 + +system-config-printer (0.7.69-1) unstable; urgency=low + + * New Upstream Version + * debian/watch: Use git-import-orig instead of uupdate so it integrates + better with our git repository. + * debian/rules: Drop the code to fix the executable permissions on + /usr/share since it's being done properly on upstream tarball. + + -- Otavio Salvador Wed, 04 Jul 2007 12:42:36 -0300 + +system-config-printer (0.7.66-1) unstable; urgency=low + + [ This package has been done using 0.7.62-0ubuntu1 sources as + base. Thanks to Jani Monoses by his work on it ] + + * debian/copyright: Update download URI. + * debian/watch: Add to allow easier upgrade of package version. + * debian/control: Remove versioned dependency of python-cups. + * debian/rules, debian/control: Move from python-central to python-support. + * debian/rules: Fix, by hard, wrong executable permissions on /usr/share. + + -- Otavio Salvador Wed, 04 Jul 2007 12:33:01 -0300 + +system-config-printer (0.7.62-0ubuntu1) feisty; urgency=low + + * New upstream release + fixes bugs, in particular crash on browsing SMB (LP #65834) + * debian/patches/02_interpreter_path.patch + debian/patches/05_desktop_file.patch: drop them, fixed upstream + + -- Jani Monoses Tue, 3 Apr 2007 20:07:37 +0300 + +system-config-printer (0.7.60-0ubuntu2) feisty; urgency=low + + * debian/rules: + Use langpack.mk to integrate with Rosetta + + -- Jani Monoses Tue, 27 Mar 2007 20:54:07 +0300 + +system-config-printer (0.7.60-0ubuntu1) feisty; urgency=low + + * New upstream release + add notification area icon for jobs + fix various bugs inlcuding LP #95629 + * debian/control: + depend on python-cups 1.9.19 + * debian/patches/06_tmpfile_remove_crasher.patch: + drop, part of the release + * merge existing patches + + -- Jani Monoses Tue, 27 Mar 2007 20:15:03 +0300 + +system-config-printer (0.7.56-0ubuntu1) feisty; urgency=low + + * New upstream release + bugfixes, including LP #87115 + support new job options + * debian/control: + require python-cups 1.9.18 + * debian/patches/06_tmpfile_remove_crasher.patch: + patch from upstream CVS to fix crash (LP #92914) + + -- Jani Monoses Wed, 21 Mar 2007 16:46:38 +0200 + +system-config-printer (0.7.55-0ubuntu1) feisty; urgency=low + + * New upstream release in sync with FC7 + bugfixes including crasher (LP #86554 and duplicates) + add GUI for more printer options + * debian/patches/01_no_rhpl.patch: + drop a few hunks that were taken upstream + * debian/patches/05_desktop_file.patch: + change to icon to printer.png from cupsprinter.png in desktop file (LP #85652) + + -- Jani Monoses Mon, 12 Mar 2007 16:13:31 +0200 + +system-config-printer (0.7.51-0ubuntu1) feisty; urgency=low + + * New upstream release: + fix crash when setting network printer as default (LP #84842) + * debian/control: + add dependency on python-glade2 + + -- Jani Monoses Tue, 13 Feb 2007 07:33:28 +0200 + +system-config-printer (0.7.49-0ubuntu1) feisty; urgency=low + + * New upstream release in sync with Fedora Core 6 updates + * debian/control: + depend on python-cups (>= 1.9.17) + + -- Jani Monoses Wed, 24 Jan 2007 10:08:24 +0200 + +system-config-printer (0.7.39-0ubuntu1) feisty; urgency=low + + * New upstream release + * debian/patches/04_cvs_fix_password_entry.patch: dropped. + * debian/control: + depend on python-cups (>= 1.9.15) + fix typo caught by lintian: depend on debhelper (>= 5.0.37.2) + not (>= 5.0.32.7) for Python policy support + + -- Jani Monoses Thu, 23 Nov 2006 16:41:52 +0200 + +system-config-printer (0.7.32-0ubuntu2) edgy; urgency=low + + * debian/patches/04_cvs_fix_password_entry.patch: + Fix invisible char in password dialog, patch from upstream CVS + * Install to /usr/bin not /usr/sbin. + * Add categories to desktop file + + -- Jani Monoses Wed, 11 Oct 2006 18:57:21 +0300 + +system-config-printer (0.7.32-0ubuntu1) edgy; urgency=low + + * New upstream tracking Fedora Core 6 package, fixes several upstream bugs + * debian/control: bump python-cups dependency version to 1.9.13 + + -- Jani Monoses Tue, 10 Oct 2006 14:29:39 +0300 + +system-config-printer (0.7.27-0ubuntu1) edgy; urgency=low + + * Initial package of Fedora Core 6 printer config tool + * debian/01_no_rhpl.patch: + - drop in copy of Conf.py from the RHPL library used by all + Fedora config tools as we do not have it packaged yet. + - use standard gettext module instead of rhpl.translate throughout + * debian/02_interpreter_path.patch: + - replace occurences of '#!/bin/env python' with '#!/usr/bin/python' + * debian/03_makefile.patch: + - change Makefile.in to include Conf.py in the install targets, and + to drop some categories passed to desktop-file-install which make + it fail on Ubuntu. (Did not change Makefile.am and autoreconf as it's + much cleaner this way, the diff being very small) + + -- Jani Monoses Fri, 8 Sep 2006 12:08:23 +0300 + --- system-config-printer-1.3.6+20110831.orig/debian/system-config-printer-gnome.install +++ system-config-printer-1.3.6+20110831/debian/system-config-printer-gnome.install @@ -0,0 +1,32 @@ +debian/tmp/usr/share/applications/system-config-printer.desktop +debian/tmp/usr/share/system-config-printer/applet.py +debian/tmp/usr/share/system-config-printer/asyncconn.py +debian/tmp/usr/share/system-config-printer/asyncipp.py +debian/tmp/usr/share/system-config-printer/asyncpk1.py +debian/tmp/usr/share/system-config-printer/authconn.py +debian/tmp/usr/share/system-config-printer/cupspk.py +debian/tmp/usr/share/system-config-printer/errordialogs.py +debian/tmp/usr/share/system-config-printer/gtkinklevel.py +debian/tmp/usr/share/system-config-printer/gtk_label_autowrap.py +debian/tmp/usr/share/system-config-printer/gtkspinner.py +debian/tmp/usr/share/system-config-printer/gui.py +debian/tmp/usr/share/system-config-printer/HIG.py +debian/tmp/usr/share/system-config-printer/jobviewer.py +debian/tmp/usr/share/system-config-printer/newprinter.py +debian/tmp/usr/share/system-config-printer/options.py +debian/tmp/usr/share/system-config-printer/optionwidgets.py +debian/tmp/usr/share/system-config-printer/ppdcache.py +debian/tmp/usr/share/system-config-printer/ppdsloader.py +debian/tmp/usr/share/system-config-printer/printerproperties.py +debian/tmp/usr/share/system-config-printer/serversettings.py +debian/tmp/usr/share/system-config-printer/system-config-printer.py +debian/tmp/usr/share/system-config-printer/timedops.py +debian/tmp/usr/share/system-config-printer/ToolbarSearchEntry.py +debian/tmp/usr/share/system-config-printer/userdefault.py +debian/tmp/usr/share/system-config-printer/troubleshoot/*.py +debian/tmp/usr/share/system-config-printer/icons/*.png +debian/tmp/usr/share/system-config-printer/ui/*.ui +debian/tmp/usr/share/man +debian/tmp/usr/bin/system-config-printer-applet +debian/tmp/usr/bin/system-config-printer +debian/tmp/etc/xdg/autostart/print-applet.desktop --- system-config-printer-1.3.6+20110831.orig/debian/compat +++ system-config-printer-1.3.6+20110831/debian/compat @@ -0,0 +1 @@ +5 --- system-config-printer-1.3.6+20110831.orig/debian/patches/30_improve-handling-of-ipp-printer-devices.patch +++ system-config-printer-1.3.6+20110831/debian/patches/30_improve-handling-of-ipp-printer-devices.patch @@ -0,0 +1,51 @@ +diff -Nur -x '*.orig' -x '*~' system-config-printer-1.3.6+20110831//newprinter.py system-config-printer-1.3.6+20110831.new//newprinter.py +--- system-config-printer-1.3.6+20110831//newprinter.py 2011-08-31 14:35:02.000000000 +0200 ++++ system-config-printer-1.3.6+20110831.new//newprinter.py 2011-09-19 23:57:56.345499919 +0200 +@@ -920,11 +920,11 @@ + # not automatically set up on our local CUPS server + # (for example DNS-SD broadcasted queue from Mac OS X) + self.remotecupsqueue = None +- res = re.search ("ipp://(\S+(:\d+|))/printers/(\S+)", uri) ++ res = re.search ("ipp://(\S+?)(:\d+|)/printers/(\S+)", uri) + if res: + resg = res.groups() + if len (resg[1]) > 0: +- port = int (resg[1]) ++ port = int (resg[1][1:]) + else: + port = 631 + try: +@@ -2319,7 +2319,18 @@ + elif device.type == "smb": + device.menuentry = _("Windows Printer via SAMBA") + elif device.type == "ipp": +- device.menuentry = _("IPP") ++ (scheme, rest) = urllib.splittype (device.uri) ++ (hostport, rest) = urllib.splithost (rest) ++ (queue, rest) = urllib.splitquery (rest) ++ if queue != '': ++ if queue[0] == '/': ++ queue = queue[1:] ++ if queue.startswith("printers/"): ++ queue = queue[9:] ++ if queue != '': ++ device.menuentry = _("IPP") + " (%s)" % queue ++ else: ++ device.menuentry = _("IPP") + elif device.type == "http" or device.type == "https": + device.menuentry = _("HTTP") + elif device.type == "dnssd" or device.type == "mdns": +@@ -2738,8 +2749,11 @@ + if port: + device += ":" + port + elif type in ("ipp", "http", "https"): # IPP +- if self.lblIPPURI.get_property('visible'): +- device = self.lblIPPURI.get_text() ++ try: ++ if self.lblIPPURI.get_property('visible'): ++ device = self.lblIPPURI.get_text() ++ except: ++ device = self.entNPTDevice.get_text() + elif type == "lpd": # LPD + host = self.entNPTLpdHost.get_text() + printer = self.entNPTLpdQueue.get_text() --- system-config-printer-1.3.6+20110831.orig/debian/patches/35_do-not-label-cups-servers-by-the-first-printer-found.patch +++ system-config-printer-1.3.6+20110831/debian/patches/35_do-not-label-cups-servers-by-the-first-printer-found.patch @@ -0,0 +1,42 @@ +diff -Nur -x '*.orig' -x '*~' system-config-printer-1.3.6+20110831//PhysicalDevice.py system-config-printer-1.3.6+20110831.new//PhysicalDevice.py +--- system-config-printer-1.3.6+20110831//PhysicalDevice.py 2011-08-31 14:35:02.000000000 +0200 ++++ system-config-printer-1.3.6+20110831.new//PhysicalDevice.py 2011-09-20 00:08:55.625559236 +0200 +@@ -153,7 +153,18 @@ + # If the manufacturer/model is not known, or useless (in the + # case of the hpfax backend or a dnssd URI pointing to a remote + # CUPS queue), show the device-info fiel instead. +- if self.mfg == '' or \ ++ if (self.devices[0].uri.startswith('ipp:') and \ ++ self.devices[0].uri.find('/printers/') != -1): ++ if not self.dnssd_hostname: ++ info = "%s" % self._network_host ++ elif not self._network_host: ++ info = "%s" % self.dnssd_hostname ++ else: ++ if self._network_host != self.dnssd_hostname: ++ info = "%s (%s)" % (self.dnssd_hostname, self._network_host) ++ else: ++ info = "%s" % self._network_host ++ elif self.mfg == '' or \ + (self.mfg == "HP" and self.mdl.startswith("Fax")) or \ + ((self.devices[0].uri.startswith('dnssd:') or \ + self.devices[0].uri.startswith('mdns:')) and \ +@@ -162,10 +173,14 @@ + else: + info = "%s %s" % (self.mfg, self.mdl) + if ((self._network_host and len (self._network_host) > 0) or \ +- (self.dnssd_hostname and len (self.dnssd_hostname))) and not \ +- ((self.devices[0].uri.startswith('dnssd:') or \ +- self.devices[0].uri.startswith('mdns:')) and \ +- self.devices[0].uri.endswith('/cups')): ++ (self.dnssd_hostname and len (self.dnssd_hostname) > 0)) and not \ ++ ((self.devices[0].uri.startswith('dnssd:') or \ ++ self.devices[0].uri.startswith('mdns:')) and \ ++ self.devices[0].uri.endswith('/cups')) and \ ++ (not self._network_host or \ ++ info.find(self._network_host) == -1) and \ ++ (not self.dnssd_hostname or \ ++ info.find(self.dnssd_hostname) == -1): + if not self.dnssd_hostname: + info += " (%s)" % self._network_host + elif not self._network_host: --- system-config-printer-1.3.6+20110831.orig/debian/patches/57_fix-broken-setting-of-ipp-auth-canceled-constant.patch +++ system-config-printer-1.3.6+20110831/debian/patches/57_fix-broken-setting-of-ipp-auth-canceled-constant.patch @@ -0,0 +1,33 @@ +diff -Nur -x '*.orig' -x '*~' system-config-printer-1.3.6+20110831//asyncipp.py system-config-printer-1.3.6+20110831.new//asyncipp.py +--- system-config-printer-1.3.6+20110831//asyncipp.py 2011-10-08 23:44:07.633207034 +0200 ++++ system-config-printer-1.3.6+20110831.new//asyncipp.py 2011-10-08 23:45:28.665483842 +0200 +@@ -379,11 +379,7 @@ + forbidden = False + if type (exc) == cups.IPPError: + (e, m) = exc.args +- try: +- ipp_auth_canceled = cups.IPP_AUTHENTICATION_CANCELED +- except AttributeError: +- # requires pycups 1.9.60 +- ipp_auth_canceled = 4096 ++ ipp_auth_canceled = 4096 + if (e == cups.IPP_NOT_AUTHORIZED or + e == cups.IPP_FORBIDDEN or + e == ipp_auth_canceled): +diff -Nur -x '*.orig' -x '*~' system-config-printer-1.3.6+20110831//authconn.py system-config-printer-1.3.6+20110831.new//authconn.py +--- system-config-printer-1.3.6+20110831//authconn.py 2011-10-08 23:44:07.625207013 +0200 ++++ system-config-printer-1.3.6+20110831.new//authconn.py 2011-10-08 23:44:49.121348784 +0200 +@@ -242,12 +242,7 @@ + except cups.IPPError, (e, m): + if self._use_pk and m == 'pkcancel': + raise cups.IPPError (0, _("Operation canceled")) +- try: +- ipp_auth_canceled = cups.IPP_AUTHENTICATION_CANCELED +- except AttributeError: +- # requires pycups 1.9.60 +- ipp_auth_canceled = 4096 +- ++ ipp_auth_canceled = 4096 + if not self._cancel and (e == cups.IPP_NOT_AUTHORIZED or + e == cups.IPP_FORBIDDEN or + e == ipp_auth_canceled): --- system-config-printer-1.3.6+20110831.orig/debian/patches/53_handle-new-cups-1.5-ipp-error-response-ipp-authentication-canceled-authconn.patch +++ system-config-printer-1.3.6+20110831/debian/patches/53_handle-new-cups-1.5-ipp-error-response-ipp-authentication-canceled-authconn.patch @@ -0,0 +1,36 @@ +diff -Nur -x '*.orig' -x '*~' system-config-printer-1.3.6+20110831//authconn.py system-config-printer-1.3.6+20110831.new//authconn.py +--- system-config-printer-1.3.6+20110831//authconn.py 2011-10-08 23:38:08.683977736 +0200 ++++ system-config-printer-1.3.6+20110831.new//authconn.py 2011-10-08 23:38:18.104010024 +0200 +@@ -1,6 +1,6 @@ + #!/usr/bin/python + +-## Copyright (C) 2007, 2008, 2009, 2010 Red Hat, Inc. ++## Copyright (C) 2007, 2008, 2009, 2010, 2011 Red Hat, Inc. + ## Author: Tim Waugh + + ## This program is free software; you can redistribute it and/or modify +@@ -242,8 +242,15 @@ + except cups.IPPError, (e, m): + if self._use_pk and m == 'pkcancel': + raise cups.IPPError (0, _("Operation canceled")) ++ try: ++ ipp_auth_canceled = cups.IPP_AUTHENTICATION_CANCELED ++ except AttributeError: ++ # requires pycups 1.9.60 ++ ipp_auth_canceled = 4096 ++ + if not self._cancel and (e == cups.IPP_NOT_AUTHORIZED or +- e == cups.IPP_FORBIDDEN): ++ e == cups.IPP_FORBIDDEN or ++ e == ipp_auth_canceled): + self._failed (e == cups.IPP_FORBIDDEN) + elif not self._cancel and e == cups.IPP_SERVICE_UNAVAILABLE: + if self._lock: +@@ -265,6 +272,7 @@ + if self._cancel and not self._cannot_auth: + raise cups.IPPError (0, _("Operation canceled")) + ++ debugprint ("%s: %s" % (e, m)) + raise + except cups.HTTPError, (s,): + if not self._cancel: --- system-config-printer-1.3.6+20110831.orig/debian/patches/55_handle-new-cups-1.5-ipp-error-response-ipp-authentication-canceled-asyncipp.patch +++ system-config-printer-1.3.6+20110831/debian/patches/55_handle-new-cups-1.5-ipp-error-response-ipp-authentication-canceled-asyncipp.patch @@ -0,0 +1,19 @@ +diff -Nur -x '*.orig' -x '*~' system-config-printer-1.3.6+20110831//asyncipp.py system-config-printer-1.3.6+20110831.new//asyncipp.py +--- system-config-printer-1.3.6+20110831//asyncipp.py 2011-08-31 14:35:02.000000000 +0200 ++++ system-config-printer-1.3.6+20110831.new//asyncipp.py 2011-10-08 23:41:51.660741987 +0200 +@@ -379,8 +379,14 @@ + forbidden = False + if type (exc) == cups.IPPError: + (e, m) = exc.args ++ try: ++ ipp_auth_canceled = cups.IPP_AUTHENTICATION_CANCELED ++ except AttributeError: ++ # requires pycups 1.9.60 ++ ipp_auth_canceled = 4096 + if (e == cups.IPP_NOT_AUTHORIZED or +- e == cups.IPP_FORBIDDEN): ++ e == cups.IPP_FORBIDDEN or ++ e == ipp_auth_canceled): + forbidden = (e == cups.IPP_FORBIDDEN) + elif e == cups.IPP_SERVICE_UNAVAILABLE: + return self._reconnect_error (conn, exc) --- system-config-printer-1.3.6+20110831.orig/debian/patches/07_allow-also-nonfree-ppds-for-single-ppd-download.patch +++ system-config-printer-1.3.6+20110831/debian/patches/07_allow-also-nonfree-ppds-for-single-ppd-download.patch @@ -0,0 +1,12 @@ +diff -Nur -x '*.orig' -x '*~' system-config-printer-1.1.10+git20090725/cupshelpers/openprinting.py system-config-printer-1.1.10+git20090725.new/cupshelpers/openprinting.py +--- system-config-printer-1.1.10+git20090725/cupshelpers/openprinting.py 2009-07-25 11:25:54.000000000 +0200 ++++ system-config-printer-1.1.10+git20090725.new/cupshelpers/openprinting.py 2009-07-25 12:08:39.000000000 +0200 +@@ -96,7 +96,7 @@ + + # Restrictions on driver choices XXX Parameters to be taken from + # config file +- self.onlyfree = 1 ++ self.onlyfree = 0 + self.onlymanufacturer = 0 + + def cancelOperation(self, handle): --- system-config-printer-1.3.6+20110831.orig/debian/patches/13_use-paper-size-default-in-etc-papersize.patch +++ system-config-printer-1.3.6+20110831/debian/patches/13_use-paper-size-default-in-etc-papersize.patch @@ -0,0 +1,27 @@ +diff -Nur -x '*.orig' -x '*~' system-config-printer-1.2.3+20100723//cupshelpers/cupshelpers.py system-config-printer-1.2.3+20100723.new//cupshelpers/cupshelpers.py +--- system-config-printer-1.2.3+20100723//cupshelpers/cupshelpers.py 2010-07-23 11:35:25.000000000 -0400 ++++ system-config-printer-1.2.3+20100723.new//cupshelpers/cupshelpers.py 2010-10-29 12:50:35.731061356 -0400 +@@ -654,6 +654,23 @@ + for each in letter: + if language == each: + size = 'Letter' ++ ++ # Use setting in /etc/papersize if available ++ try: ++ f = open ("/etc/papersize") ++ for line in f: ++ if line.startswith("#"): ++ continue ++ if line.strip().lower().startswith("a4"): ++ size = 'A4' ++ elif line.strip().lower().startswith("letter"): ++ size = 'Letter' ++ elif line.strip() != "": ++ break ++ f.close() ++ except: ++ pass ++ + try: + ppd.markOption ('PageSize', size) + _debugprint ("set PageSize = %s" % size) --- system-config-printer-1.3.6+20110831.orig/debian/patches/47_suppress-misleading-notifications.patch +++ system-config-printer-1.3.6+20110831/debian/patches/47_suppress-misleading-notifications.patch @@ -0,0 +1,24 @@ +diff -Nur -x '*.orig' -x '*~' system-config-printer-1.3.6+20110831//jobviewer.py system-config-printer-1.3.6+20110831.new//jobviewer.py +--- system-config-printer-1.3.6+20110831//jobviewer.py 2011-08-31 14:35:02.000000000 +0200 ++++ system-config-printer-1.3.6+20110831.new//jobviewer.py 2011-09-21 18:41:55.330361161 +0200 +@@ -1663,6 +1663,20 @@ + # This seems to be some sort of 'magic' state reason that + # is for internal use only. + "com.apple.print.recoverable", ++ ++ # Human-readable text for this reason has misleading wording, ++ # suppress it. ++ "connecting-to-device", ++ ++ # "cups-remote-..." reasons have no human-readable text yet and ++ # so get considered as errors, suppress them, too. ++ "cups-remote-pending", ++ "cups-remote-pending-held", ++ "cups-remote-processing", ++ "cups-remote-stopped", ++ "cups-remote-canceled", ++ "cups-remote-aborted", ++ "cups-remote-completed" + ] + + if reason.get_reason () in blacklist: --- system-config-printer-1.3.6+20110831.orig/debian/patches/21_nodisplay_autostart.patch +++ system-config-printer-1.3.6+20110831/debian/patches/21_nodisplay_autostart.patch @@ -0,0 +1,8 @@ +diff -Nur -x '*.orig' -x '*~' system-config-printer-1.3.3+20110602//print-applet.desktop.in system-config-printer-1.3.3+20110602.new//print-applet.desktop.in +--- system-config-printer-1.3.3+20110602//print-applet.desktop.in 2011-07-01 15:29:59.814789743 +0100 ++++ system-config-printer-1.3.3+20110602.new//print-applet.desktop.in 2011-07-01 15:31:40.882790813 +0100 +@@ -10,3 +10,4 @@ + StartupNotify=false + X-GNOME-Autostart-Delay=30 + X-Ubuntu-Gettext-Domain=system-config-printer ++NoDisplay=true --- system-config-printer-1.3.6+20110831.orig/debian/patches/50_preferreddrivers-xml-fix-drivertype-recognition.patch +++ system-config-printer-1.3.6+20110831/debian/patches/50_preferreddrivers-xml-fix-drivertype-recognition.patch @@ -0,0 +1,27 @@ +diff -Nur -x '*.orig' -x '*~' system-config-printer-1.3.6+20110831//xml/preferreddrivers.xml system-config-printer-1.3.6+20110831.new//xml/preferreddrivers.xml +--- system-config-printer-1.3.6+20110831//xml/preferreddrivers.xml 2011-09-23 23:42:20.935245610 +0200 ++++ system-config-printer-1.3.6+20110831.new//xml/preferreddrivers.xml 2011-09-23 23:42:59.095247497 +0200 +@@ -100,19 +100,19 @@ + + + +- ++ + +- ++ + + + + +- ++ + + + + +- ++ + + + --- system-config-printer-1.3.6+20110831.orig/debian/patches/65_do-not-connect-to-cups-with-empty-username.patch +++ system-config-printer-1.3.6+20110831/debian/patches/65_do-not-connect-to-cups-with-empty-username.patch @@ -0,0 +1,27 @@ +diff -Nur -x '*.orig' -x '*~' system-config-printer-1.3.6+20110831//asyncipp.py system-config-printer-1.3.6+20110831.new//asyncipp.py +--- system-config-printer-1.3.6+20110831//asyncipp.py 2011-10-09 01:12:25.741456877 +0200 ++++ system-config-printer-1.3.6+20110831.new//asyncipp.py 2011-10-09 01:12:56.425553946 +0200 +@@ -500,6 +500,8 @@ + + def _on_auth_dialog_response (self, dialog, response): + (user, password) = dialog.get_auth_info () ++ if user == '': ++ user = self._user; + authconn.global_authinfocache.cache_auth_info ((user, + password), + host=self._conn.thread.host, +diff -Nur -x '*.orig' -x '*~' system-config-printer-1.3.6+20110831//authconn.py system-config-printer-1.3.6+20110831.new//authconn.py +--- system-config-printer-1.3.6+20110831//authconn.py 2011-10-09 01:12:25.733456852 +0200 ++++ system-config-printer-1.3.6+20110831.new//authconn.py 2011-10-09 01:12:45.677519954 +0200 +@@ -484,8 +484,9 @@ + self._on_authentication_response (d, response) + + def _on_authentication_response (self, dialog, response): +- (self._use_user, +- self._use_password) = dialog.get_auth_info () ++ (user, self._use_password) = dialog.get_auth_info () ++ if user != '': ++ self._use_user = user + global_authinfocache.cache_auth_info ((self._use_user, + self._use_password), + host=self._server, --- system-config-printer-1.3.6+20110831.orig/debian/patches/05_menu_entries.patch +++ system-config-printer-1.3.6+20110831/debian/patches/05_menu_entries.patch @@ -0,0 +1,24 @@ +diff -Nur -x '*.orig' -x '*~' system-config-printer-1.3.0+20110216//print-applet.desktop.in system-config-printer-1.3.0+20110216.new//print-applet.desktop.in +--- system-config-printer-1.3.0+20110216//print-applet.desktop.in 2011-02-16 23:25:01.000000000 +0100 ++++ system-config-printer-1.3.0+20110216.new//print-applet.desktop.in 2011-02-17 00:46:18.808862944 +0100 +@@ -6,6 +6,7 @@ + Terminal=false + Type=Application + Icon=printer +-NotShowIn=KDE; ++NotShowIn=KDE;LXDE; + StartupNotify=false + X-GNOME-Autostart-Delay=30 ++X-Ubuntu-Gettext-Domain=system-config-printer +diff -Nur -x '*.orig' -x '*~' system-config-printer-1.3.0+20110216//system-config-printer.desktop.in system-config-printer-1.3.0+20110216.new//system-config-printer.desktop.in +--- system-config-printer-1.3.0+20110216//system-config-printer.desktop.in 2011-02-16 23:25:01.000000000 +0100 ++++ system-config-printer-1.3.0+20110216.new//system-config-printer.desktop.in 2011-02-17 00:46:18.808862944 +0100 +@@ -7,3 +7,8 @@ + Type=Application + Icon=printer + StartupNotify=true ++NotShowIn=KDE;GNOME; ++X-Ubuntu-Gettext-Domain=system-config-printer ++Categories=GNOME;GTK;Settings;HardwareSettings;X-GNOME-Settings-Panel; ++X-GNOME-Settings-Panel=printing ++X-GNOME-Keywords=Printer;Queue;Print;Paper;Ink;Toner; --- system-config-printer-1.3.6+20110831.orig/debian/patches/03_install_layout.patch +++ system-config-printer-1.3.6+20110831/debian/patches/03_install_layout.patch @@ -0,0 +1,24 @@ +# Description: install with --install-layout=deb +--- system-config-printer-1.1.3+git20090218/Makefile.am 2009-03-04 23:53:14.000000000 +0100 ++++ system-config-printer-1.1.3+git20090218.new/Makefile.am 2009-03-04 23:54:24.494651763 +0100 +@@ -35,7 +35,7 @@ + + # Use distutils to install the module. + install-exec-local: .stamp-distutils-in-builddir +- $(PYTHON) setup.py install --prefix=$(DESTDIR)$(prefix) ++ $(PYTHON) setup.py install --install-layout=deb --root=$(DESTDIR) + + # Uninstall the module, crossing our fingers that we know enough + # about how distutils works to do this. Unfortunately, distutils +diff -Nur -x '*.orig' -x '*~' system-config-printer-1.1.3+git20090218/Makefile.in system-config-printer-1.1.3+git20090218.new/Makefile.in +--- system-config-printer-1.1.3+git20090218/Makefile.in 2009-03-04 23:53:14.000000000 +0100 ++++ system-config-printer-1.1.3+git20090218.new/Makefile.in 2009-03-04 23:54:35.096473509 +0100 +@@ -1041,7 +1041,7 @@ + + # Use distutils to install the module. + install-exec-local: .stamp-distutils-in-builddir +- $(PYTHON) setup.py install --prefix=$(DESTDIR)$(prefix) ++ $(PYTHON) setup.py install --install-layout=deb --root=$(DESTDIR) + + # Uninstall the module, crossing our fingers that we know enough + # about how distutils works to do this. Unfortunately, distutils --- system-config-printer-1.3.6+20110831.orig/debian/patches/27_disable-policy-kit-support.patch +++ system-config-printer-1.3.6+20110831/debian/patches/27_disable-policy-kit-support.patch @@ -0,0 +1,22 @@ +diff -Nur -x '*.orig' -x '*~' system-config-printer-1.3.6+20110831//asyncconn.py system-config-printer-1.3.6+20110831.new//asyncconn.py +--- system-config-printer-1.3.6+20110831//asyncconn.py 2011-08-31 14:35:02.000000000 +0200 ++++ system-config-printer-1.3.6+20110831.new//asyncconn.py 2011-09-12 15:25:39.180769195 +0200 +@@ -118,6 +118,7 @@ + host = cups.getServer() + use_pk = ((host.startswith ('/') or host == 'localhost') and + os.getuid () != 0) ++ use_pk = False + + def subst_reply_handler (conn, reply): + self._subst_reply_handler (None, reply_handler, reply) +diff -Nur -x '*.orig' -x '*~' system-config-printer-1.3.6+20110831//authconn.py system-config-printer-1.3.6+20110831.new//authconn.py +--- system-config-printer-1.3.6+20110831//authconn.py 2011-08-31 14:35:02.000000000 +0200 ++++ system-config-printer-1.3.6+20110831.new//authconn.py 2011-09-12 15:25:39.180769195 +0200 +@@ -187,6 +187,7 @@ + self._use_pk = (allow_pk and + (self._server[0] == '/' or self._server == 'localhost') + and os.getuid () != 0) ++ self._use_pk = False + if self._use_pk: + create_object = cupspk.Connection + else: --- system-config-printer-1.3.6+20110831.orig/debian/patches/33_probe-printer-remove-debug-code.patch +++ system-config-printer-1.3.6+20110831/debian/patches/33_probe-printer-remove-debug-code.patch @@ -0,0 +1,23 @@ +diff -Nur -x '*.orig' -x '*~' system-config-printer-1.3.6+20110831//probe_printer.py system-config-printer-1.3.6+20110831.new//probe_printer.py +--- system-config-printer-1.3.6+20110831//probe_printer.py 2011-08-31 14:35:02.000000000 +0200 ++++ system-config-printer-1.3.6+20110831.new//probe_printer.py 2011-09-20 00:06:58.905550070 +0200 +@@ -403,13 +403,13 @@ + # debugprint ("Runtime error: %s" % repr ((e, s))) + #except: + # nonfatalException () +- class Foo: +- pass ++ #class Foo: ++ # pass + +- entry = Foo() +- entry.name = "Samsung SCX4200" +- entry.smbc_type = pysmb.smbc.PRINTER_SHARE +- entries = [ entry ] ++ #entry = Foo() ++ #entry.name = "Samsung SCX4200" ++ #entry.smbc_type = pysmb.smbc.PRINTER_SHARE ++ #entries = [ entry ] + + if self.quit: + debugprint ("smb: no good") --- system-config-printer-1.3.6+20110831.orig/debian/patches/37_allow-printing-test-page-on-remote-printer-without-ppd.patch +++ system-config-printer-1.3.6+20110831/debian/patches/37_allow-printing-test-page-on-remote-printer-without-ppd.patch @@ -0,0 +1,40 @@ +diff -Nur -x '*.orig' -x '*~' system-config-printer-1.3.6+20110831//printerproperties.py system-config-printer-1.3.6+20110831.new//printerproperties.py +--- system-config-printer-1.3.6+20110831//printerproperties.py 2011-08-31 16:32:16.000000000 +0200 ++++ system-config-printer-1.3.6+20110831.new//printerproperties.py 2011-09-20 19:57:12.978825050 +0200 +@@ -920,6 +920,11 @@ + except: + nonfatalException() + ++ if self.ppd or (self.printer.remote and not self.printer.discovered): ++ self.btnPrintTestPage.show () ++ else: ++ self.btnPrintTestPage.hide () ++ + installablebold = False + optionsbold = False + if self.conflicts: +@@ -1134,10 +1139,6 @@ + self.btnPrintTestPage.clicked () + + def on_btnPrintTestPage_clicked(self, button): +- if self.ppd == False: +- # Can't print a test page for a raw queue. +- return +- + printer = self.printer + if not printer: + # Printer has been deleted meanwhile +diff -Nur -x '*.orig' -x '*~' system-config-printer-1.3.6+20110831//system-config-printer.py system-config-printer-1.3.6+20110831.new//system-config-printer.py +--- system-config-printer-1.3.6+20110831//system-config-printer.py 2011-08-31 14:35:02.000000000 +0200 ++++ system-config-printer-1.3.6+20110831.new//system-config-printer.py 2011-09-20 19:57:12.978825050 +0200 +@@ -1768,7 +1768,9 @@ + + # Finally, suggest printing a test page. + self.propertiesDlg.load (name) +- if self.propertiesDlg.ppd: ++ if self.propertiesDlg.ppd or \ ++ (self.propertiesDlg.printer.remote and not \ ++ self.propertiesDlg.printer.discovered): + try: + self.checkDriverExists (self.PrintersWindow, name, + ppd=self.propertiesDlg.ppd) --- system-config-printer-1.3.6+20110831.orig/debian/patches/24_expand_connections_list.patch +++ system-config-printer-1.3.6+20110831/debian/patches/24_expand_connections_list.patch @@ -0,0 +1,13 @@ +=== modified file 'ui/NewPrinterWindow.ui' +--- ui/NewPrinterWindow.ui 2011-07-12 17:24:12 +0000 ++++ ui/NewPrinterWindow.ui 2011-09-07 11:04:11 +0000 +@@ -1458,7 +1458,7 @@ + + + +- False ++ True + True + end + 1 + --- system-config-printer-1.3.6+20110831.orig/debian/patches/63_repeat-authorization-when-try-as-root-fails-asyncipp.patch +++ system-config-printer-1.3.6+20110831/debian/patches/63_repeat-authorization-when-try-as-root-fails-asyncipp.patch @@ -0,0 +1,11 @@ +diff -Nur -x '*.orig' -x '*~' system-config-printer-1.3.6+20110831//asyncipp.py system-config-printer-1.3.6+20110831.new//asyncipp.py +--- system-config-printer-1.3.6+20110831//asyncipp.py 2011-10-09 01:11:16.845238898 +0200 ++++ system-config-printer-1.3.6+20110831.new//asyncipp.py 2011-10-09 01:11:31.277284544 +0200 +@@ -402,7 +402,6 @@ + # first. + debugprint ("Authentication: Try as root") + self._user = "root" +- self._try_as_root = False + conn.reconnect (self._user, + reply_handler=self._reconnect_reply, + error_handler=self._reconnect_error) --- system-config-printer-1.3.6+20110831.orig/debian/patches/45_make-connections-list-easily-accessible.patch +++ system-config-printer-1.3.6+20110831/debian/patches/45_make-connections-list-easily-accessible.patch @@ -0,0 +1,22 @@ +diff -Nur -x '*.orig' -x '*~' system-config-printer-1.3.6+20110831//newprinter.py system-config-printer-1.3.6+20110831.new//newprinter.py +--- system-config-printer-1.3.6+20110831//newprinter.py 2011-09-21 12:48:33.365026324 +0200 ++++ system-config-printer-1.3.6+20110831.new//newprinter.py 2011-09-21 12:48:49.215029455 +0200 +@@ -397,6 +397,7 @@ + # Devices expander + self.expNPDeviceURIs.connect ("notify::expanded", + self.on_expNPDeviceURIs_expanded) ++ self.expNPDeviceURIs.set_expanded(1) + + # SMB browser + self.smb_store = gtk.TreeStore (gobject.TYPE_PYOBJECT) +diff -Nur -x '*.orig' -x '*~' system-config-printer-1.3.6+20110831//ui/NewPrinterWindow.ui system-config-printer-1.3.6+20110831.new//ui/NewPrinterWindow.ui +--- system-config-printer-1.3.6+20110831//ui/NewPrinterWindow.ui 2011-09-21 12:48:33.295026312 +0200 ++++ system-config-printer-1.3.6+20110831.new//ui/NewPrinterWindow.ui 2011-09-21 12:48:49.205029458 +0200 +@@ -1430,6 +1430,7 @@ + + + ++ 120 + True + True + --- system-config-printer-1.3.6+20110831.orig/debian/patches/43_allow-test-page-printing-for-remote-cups-queues-via-dnssd.patch +++ system-config-printer-1.3.6+20110831/debian/patches/43_allow-test-page-printing-for-remote-cups-queues-via-dnssd.patch @@ -0,0 +1,32 @@ +diff -Nur -x '*.orig' -x '*~' system-config-printer-1.3.6+20110831//printerproperties.py system-config-printer-1.3.6+20110831.new//printerproperties.py +--- system-config-printer-1.3.6+20110831//printerproperties.py 2011-09-21 12:41:12.624981459 +0200 ++++ system-config-printer-1.3.6+20110831.new//printerproperties.py 2011-09-21 12:44:25.524991170 +0200 +@@ -920,7 +920,12 @@ + except: + nonfatalException() + +- if self.ppd or (self.printer.remote and not self.printer.discovered): ++ if self.ppd or \ ++ ((self.printer.remote or \ ++ ((self.printer.device_uri.startswith('dnssd:') or \ ++ self.printer.device_uri.startswith('mdns:')) and \ ++ self.printer.device_uri.endswith('/cups'))) and not \ ++ self.printer.discovered): + self.btnPrintTestPage.show () + else: + self.btnPrintTestPage.hide () +diff -Nur -x '*.orig' -x '*~' system-config-printer-1.3.6+20110831//system-config-printer.py system-config-printer-1.3.6+20110831.new//system-config-printer.py +--- system-config-printer-1.3.6+20110831//system-config-printer.py 2011-09-21 12:41:12.624981459 +0200 ++++ system-config-printer-1.3.6+20110831.new//system-config-printer.py 2011-09-21 12:44:25.524991170 +0200 +@@ -1769,7 +1769,10 @@ + # Finally, suggest printing a test page. + self.propertiesDlg.load (name) + if self.propertiesDlg.ppd or \ +- (self.propertiesDlg.printer.remote and not \ ++ ((self.propertiesDlg.printer.remote or \ ++ ((self.propertiesDlg.printer.device_uri.startswith('dnssd:') or \ ++ self.propertiesDlg.printer.device_uri.startswith('mdns:')) and \ ++ self.propertiesDlg.printer.device_uri.endswith('/cups'))) and not\ + self.propertiesDlg.printer.discovered): + try: + self.checkDriverExists (self.PrintersWindow, name, --- system-config-printer-1.3.6+20110831.orig/debian/patches/67_no-misleading-prompt-and-root-default-in-auth-dialogs.patch +++ system-config-printer-1.3.6+20110831/debian/patches/67_no-misleading-prompt-and-root-default-in-auth-dialogs.patch @@ -0,0 +1,34 @@ +diff -Nur -x '*.orig' -x '*~' system-config-printer-1.3.6+20110831//asyncipp.py system-config-printer-1.3.6+20110831.new//asyncipp.py +--- system-config-printer-1.3.6+20110831//asyncipp.py 2011-10-09 01:14:20.945821368 +0200 ++++ system-config-printer-1.3.6+20110831.new//asyncipp.py 2011-10-09 01:14:42.245888768 +0200 +@@ -478,11 +478,11 @@ + d = authconn.AuthDialog (title=title, + parent=conn.parent) + +- d.set_prompt (prompt) ++ d.set_prompt ('') + if self._user == None: + self._user = cups.getUser() +- d.set_auth_info ([self._user, '']) +- d.field_grab_focus ('password') ++ d.set_auth_info (['', '']) ++ d.field_grab_focus ('username') + d.set_keep_above (True) + d.show_all () + d.connect ("response", self._on_auth_dialog_response) +diff -Nur -x '*.orig' -x '*~' system-config-printer-1.3.6+20110831//authconn.py system-config-printer-1.3.6+20110831.new//authconn.py +--- system-config-printer-1.3.6+20110831//authconn.py 2011-10-09 01:14:20.945821368 +0200 ++++ system-config-printer-1.3.6+20110831.new//authconn.py 2011-10-09 01:14:35.977868925 +0200 +@@ -469,9 +469,9 @@ + else: + d = AuthDialog (parent=self._parent) + +- d.set_prompt (self._prompt) +- d.set_auth_info ([self._use_user, '']) +- d.field_grab_focus ('password') ++ d.set_prompt ('') ++ d.set_auth_info (['', '']) ++ d.field_grab_focus ('username') + d.set_keep_above (True) + d.show_all () + d.show_now () --- system-config-printer-1.3.6+20110831.orig/debian/patches/40_improve-handling-of-remote-cups-queues-via-dnssd.patch +++ system-config-printer-1.3.6+20110831/debian/patches/40_improve-handling-of-remote-cups-queues-via-dnssd.patch @@ -0,0 +1,46 @@ +diff -Nur -x '*.orig' -x '*~' system-config-printer-1.3.6+20110831//newprinter.py system-config-printer-1.3.6+20110831.new//newprinter.py +--- system-config-printer-1.3.6+20110831//newprinter.py 2011-09-21 12:32:36.864951689 +0200 ++++ system-config-printer-1.3.6+20110831.new//newprinter.py 2011-09-21 12:32:49.284952476 +0200 +@@ -2341,6 +2341,8 @@ + cupsqueue = cupsqueue[1:] + if cupsqueue == 'cups': + device.menuentry = _("Remote CUPS printer via DNS-SD") ++ if device.info != '': ++ device.menuentry += " (%s)" % device.info + else: + protocol = None + if name.find("._ipp") != -1: +diff -Nur -x '*.orig' -x '*~' system-config-printer-1.3.6+20110831//PhysicalDevice.py system-config-printer-1.3.6+20110831.new//PhysicalDevice.py +--- system-config-printer-1.3.6+20110831//PhysicalDevice.py 2011-09-21 12:32:36.874951701 +0200 ++++ system-config-printer-1.3.6+20110831.new//PhysicalDevice.py 2011-09-21 12:32:49.294952487 +0200 +@@ -152,12 +152,15 @@ + def get_info (self): + # If the manufacturer/model is not known, or useless (in the + # case of the hpfax backend or a dnssd URI pointing to a remote +- # CUPS queue), show the device-info fiel instead. ++ # CUPS queue), show the device-info field instead. + if (self.devices[0].uri.startswith('ipp:') and \ +- self.devices[0].uri.find('/printers/') != -1): ++ self.devices[0].uri.find('/printers/') != -1) or \ ++ ((self.devices[0].uri.startswith('dnssd:') or \ ++ self.devices[0].uri.startswith('mdns:')) and \ ++ self.devices[0].uri.endswith('/cups')): + if not self.dnssd_hostname: + info = "%s" % self._network_host +- elif not self._network_host: ++ elif not self._network_host or self._network_host.find(":") != -1: + info = "%s" % self.dnssd_hostname + else: + if self._network_host != self.dnssd_hostname: +@@ -165,10 +168,7 @@ + else: + info = "%s" % self._network_host + elif self.mfg == '' or \ +- (self.mfg == "HP" and self.mdl.startswith("Fax")) or \ +- ((self.devices[0].uri.startswith('dnssd:') or \ +- self.devices[0].uri.startswith('mdns:')) and \ +- self.devices[0].uri.endswith('/cups')): ++ (self.mfg == "HP" and self.mdl.startswith("Fax")): + info = self._ppdippstr.get (self.devices[0].info) + else: + info = "%s %s" % (self.mfg, self.mdl) --- system-config-printer-1.3.6+20110831.orig/debian/patches/23_unblock-pxlmono-driver.patch +++ system-config-printer-1.3.6+20110831/debian/patches/23_unblock-pxlmono-driver.patch @@ -0,0 +1,24 @@ +diff -Nur -x '*.orig' -x '*~' system-config-printer-1.3.5+20110801//xml/preferreddrivers.xml system-config-printer-1.3.5+20110801.new//xml/preferreddrivers.xml +--- system-config-printer-1.3.5+20110801//xml/preferreddrivers.xml 2011-07-07 18:48:37.000000000 +0200 ++++ system-config-printer-1.3.5+20110801.new//xml/preferreddrivers.xml 2011-08-07 16:25:04.057419224 +0200 +@@ -122,12 +122,6 @@ + + + +- +- +- +- +- + + + +@@ -294,7 +288,6 @@ + generic-pcl5e + generic-pcl5 + generic-pcl +- foomatic-pxlmono + generic-escp + ghostscript + generic --- system-config-printer-1.3.6+20110831.orig/debian/patches/15_cupshelpers-openprinting-query-fingerprint-support.patch +++ system-config-printer-1.3.6+20110831/debian/patches/15_cupshelpers-openprinting-query-fingerprint-support.patch @@ -0,0 +1,21 @@ +diff -Nur -x '*.orig' -x '*~' system-config-printer-1.2.3+20100723//cupshelpers/openprinting.py system-config-printer-1.2.3+20100723.new//cupshelpers/openprinting.py +--- system-config-printer-1.2.3+20100723//cupshelpers/openprinting.py 2011-01-04 15:16:03.590067227 +0100 ++++ system-config-printer-1.2.3+20100723.new//cupshelpers/openprinting.py 2011-01-04 15:16:30.800035991 +0100 +@@ -236,6 +236,7 @@ + # { arch: + # { file: + # { 'url': url, ++ # 'fingerprint': signature key fingerprint URL + # 'realversion': upstream version string, + # 'version': packaged version string, + # 'release': package release string +@@ -313,7 +314,8 @@ + for package in arch.findall ('package'): + rpm = {} + for attribute in ['realversion','version', +- 'release', 'url', 'pkgsys']: ++ 'release', 'url', 'pkgsys', ++ 'fingerprint']: + element = package.find (attribute) + if element != None: + rpm[attribute] = element.text --- system-config-printer-1.3.6+20110831.orig/debian/patches/60_fix-password-cache.patch +++ system-config-printer-1.3.6+20110831/debian/patches/60_fix-password-cache.patch @@ -0,0 +1,123 @@ +diff -Nur -x '*.orig' -x '*~' system-config-printer-1.3.6+20110831//asyncipp.py system-config-printer-1.3.6+20110831.new//asyncipp.py +--- system-config-printer-1.3.6+20110831//asyncipp.py 2011-10-09 01:07:21.764495177 +0200 ++++ system-config-printer-1.3.6+20110831.new//asyncipp.py 2011-10-09 01:07:36.800542741 +0200 +@@ -334,17 +334,6 @@ + self._client_reply_handler = reply_handler + self._client_error_handler = error_handler + +- if user: +- host = conn.thread.host +- port = conn.thread.port +- creds = authconn.global_authinfocache.lookup_auth_info (host=host, +- port=port) +- if creds: +- if creds[0] == user: +- self._use_password = creds[1] +- self._reconnected = True +- del creds +- + debugprint ("+%s" % self) + + def __del__ (self): +@@ -425,11 +414,36 @@ + return self._error (exc) + + # Now reconnect and retry. ++ host = conn.thread.host ++ port = conn.thread.port ++ authconn.global_authinfocache.remove_auth_info (host=host, ++ port=port) ++ self._use_password = '' + conn.reconnect (self._user, + reply_handler=self._reconnect_reply, + error_handler=self._reconnect_error) + + def auth_handler (self, prompt, conn, method=None, resource=None): ++ if self._auth_called == False: ++ if self._user == None: ++ self._user = cups.getUser() ++ if self._user: ++ host = conn.thread.host ++ port = conn.thread.port ++ creds = authconn.global_authinfocache.lookup_auth_info (host=host, ++ port=port) ++ if creds: ++ if creds[0] == self._user: ++ self._use_password = creds[1] ++ self._reconnected = True ++ del creds ++ else: ++ host = conn.thread.host ++ port = conn.thread.port ++ authconn.global_authinfocache.remove_auth_info (host=host, ++ port=port) ++ self._use_password = '' ++ + self._auth_called = True + if self._reconnected: + debugprint ("Supplying password after reconnection") +@@ -487,6 +501,10 @@ + + def _on_auth_dialog_response (self, dialog, response): + (user, password) = dialog.get_auth_info () ++ authconn.global_authinfocache.cache_auth_info ((user, ++ password), ++ host=self._conn.thread.host, ++ port=self._conn.thread.port) + self._dialog = dialog + dialog.hide () + +@@ -494,6 +512,8 @@ + response == gtk.RESPONSE_DELETE_EVENT): + self._cancel = True + self._conn.set_auth_info ('') ++ authconn.global_authinfocache.remove_auth_info (host=self._conn.thread.host, ++ port=self._conn.thread.port) + debugprint ("Auth canceled") + return + +diff -Nur -x '*.orig' -x '*~' system-config-printer-1.3.6+20110831//authconn.py system-config-printer-1.3.6+20110831.new//authconn.py +--- system-config-printer-1.3.6+20110831//authconn.py 2011-10-09 01:07:21.764495177 +0200 ++++ system-config-printer-1.3.6+20110831.new//authconn.py 2011-10-09 01:07:22.480497435 +0200 +@@ -132,6 +132,15 @@ + except KeyError: + return None + ++ def remove_auth_info (self, host=None, port=None): ++ if port == None: ++ port = 631 ++ ++ try: ++ del self.creds[(host,port)] ++ except KeyError: ++ return None ++ + global_authinfocache = _AuthInfoCache () + + class Connection: +@@ -156,12 +165,6 @@ + self._lock = lock + self._gui_event = threading.Event () + +- creds = global_authinfocache.lookup_auth_info (host=host, port=port) +- if creds != None: +- if (creds[0] != 'root' or try_as_root): +- (self._use_user, self._use_password) = creds +- del creds +- + self._connect () + + def _begin_operation (self, operation): +@@ -326,6 +329,12 @@ + def _perform_authentication (self): + self._passes += 1 + ++ creds = global_authinfocache.lookup_auth_info (host=self._server, port=self._port) ++ if creds != None: ++ if (creds[0] != 'root' or self._try_as_root): ++ (self._use_user, self._use_password) = creds ++ del creds ++ + debugprint ("Authentication pass: %d" % self._passes) + if self._passes == 1: + # Haven't yet tried the operation. Set the password --- system-config-printer-1.3.6+20110831.orig/debian/local/testpage-letter.ps +++ system-config-printer-1.3.6+20110831/debian/local/testpage-letter.ps @@ -0,0 +1,5636 @@ +%!PS-Adobe-3.0 +%%Title: PPR Test Page +%%Pages: 1 +%%DocumentNeededResources: font Helvetica +%%EndComments +%%BeginProlog +%%EndProlog +%%BeginSetup +%%IncludeResource: font Helvetica +/Helvetica findfont 10 scalefont setfont +%%IncludeFeature: *PageSize Letter +10 dict begin +%%EndSetup +%%Page: 1 1 +save +% border +gsave +0 setlinewidth +newpath 36.00 dup moveto 0 720.00 rlineto 540.00 0 rlineto 0 -720.00 rlineto +closepath stroke +grestore + +% border +gsave +0 setlinewidth +[1 1] 1 setdash +newpath 31.50 dup moveto 0 729.00 rlineto 549.00 0 rlineto 0 -729.00 rlineto +closepath stroke +grestore + +% border +gsave +0 setlinewidth +[3 1] 2 setdash +newpath 27.00 dup moveto 0 738.00 rlineto 558.00 0 rlineto 0 -738.00 rlineto +closepath stroke +grestore + +% border +gsave +0 setlinewidth +[1 1] 1 setdash +newpath 22.50 dup moveto 0 747.00 rlineto 567.00 0 rlineto 0 -747.00 rlineto +closepath stroke +grestore + +% border +gsave +0 setlinewidth +newpath 18.00 dup moveto 0 756.00 rlineto 576.00 0 rlineto 0 -756.00 rlineto +closepath stroke +grestore + +% border +gsave +0 setlinewidth +[1 1] 1 setdash +newpath 13.50 dup moveto 0 765.00 rlineto 585.00 0 rlineto 0 -765.00 rlineto +closepath stroke +grestore + +% border +gsave +0 setlinewidth +[3 1] 2 setdash +newpath 9.00 dup moveto 0 774.00 rlineto 594.00 0 rlineto 0 -774.00 rlineto +closepath stroke +grestore + +% border +gsave +0 setlinewidth +[1 1] 1 setdash +newpath 4.50 dup moveto 0 783.00 rlineto 603.00 0 rlineto 0 -783.00 rlineto +closepath stroke +grestore + +% Start of EPS setup +/b4_Inc_state save def +/dict_count countdictstack def +/op_count count 1 sub def +userdict begin +/showpage {} def +190.00 657.00 translate +0.50 dup scale +0 neg 0 neg translate +newpath 0 0 moveto 0 180 lineto 780 180 lineto 780 0 lineto closepath clip +% End of EPS setup + +%%BeginDocument: ubuntu_black&orange_pms copy.eps +%!PS-Adobe-3.1 EPSF-3.0 +%ADO_DSC_Encoding: MacOS Roman +%%Title: ubuntu_black&orange_pms copy.eps +%%Creator: Adobe Illustrator(R) 14.0 +%%For: John Haitas +%%CreationDate: 4/7/10 +%%BoundingBox: 0 0 758 171 +%%HiResBoundingBox: 0 0 757.3530 170.0845 +%%CropBox: 0 0 757.3530 170.0845 +%%LanguageLevel: 2 +%%DocumentData: Clean7Bit +%ADOBeginClientInjection: DocumentHeader "AI11EPS" +%%AI8_CreatorVersion: 14.0.0 %AI9_PrintingDataBegin %ADO_BuildNumber: Adobe Illustrator(R) 14.0.0 x367 R agm 4.4890 ct 5.1541 %ADO_ContainsXMP: MainFirst +%ADOEndClientInjection: DocumentHeader "AI11EPS" +%%Pages: 1 +%%DocumentNeededResources: +%%DocumentSuppliedResources: procset Adobe_AGM_Image 1.0 0 +%%+ procset Adobe_CoolType_Utility_T42 1.0 0 +%%+ procset Adobe_CoolType_Utility_MAKEOCF 1.23 0 +%%+ procset Adobe_CoolType_Core 2.31 0 +%%+ procset Adobe_AGM_Core 2.0 0 +%%+ procset Adobe_AGM_Utils 1.0 0 +%%DocumentFonts: +%%DocumentNeededFonts: +%%DocumentNeededFeatures: +%%DocumentSuppliedFeatures: +%%DocumentProcessColors: Black +%%DocumentCustomColors: (PANTONE 1665 C) +%%CMYKCustomColor: 0 0.6800 1 0 (PANTONE 1665 C) +%%RGBCustomColor: +%%EndComments +%%BeginDefaults +%%ViewingOrientation: 1 0 0 1 +%%EndDefaults +%%BeginProlog +%%BeginResource: procset Adobe_AGM_Utils 1.0 0 +%%Version: 1.0 0 +%%Copyright: Copyright(C)2000-2006 Adobe Systems, Inc. All Rights Reserved. +systemdict/setpacking known +{currentpacking true setpacking}if +userdict/Adobe_AGM_Utils 75 dict dup begin put +/bdf +{bind def}bind def +/nd{null def}bdf +/xdf +{exch def}bdf +/ldf +{load def}bdf +/ddf +{put}bdf +/xddf +{3 -1 roll put}bdf +/xpt +{exch put}bdf +/ndf +{ + exch dup where{ + pop pop pop + }{ + xdf + }ifelse +}def +/cdndf +{ + exch dup currentdict exch known{ + pop pop + }{ + exch def + }ifelse +}def +/gx +{get exec}bdf +/ps_level + /languagelevel where{ + pop systemdict/languagelevel gx + }{ + 1 + }ifelse +def +/level2 + ps_level 2 ge +def +/level3 + ps_level 3 ge +def +/ps_version + {version cvr}stopped{-1}if +def +/set_gvm +{currentglobal exch setglobal}bdf +/reset_gvm +{setglobal}bdf +/makereadonlyarray +{ + /packedarray where{pop packedarray + }{ + array astore readonly}ifelse +}bdf +/map_reserved_ink_name +{ + dup type/stringtype eq{ + dup/Red eq{ + pop(_Red_) + }{ + dup/Green eq{ + pop(_Green_) + }{ + dup/Blue eq{ + pop(_Blue_) + }{ + dup()cvn eq{ + pop(Process) + }if + }ifelse + }ifelse + }ifelse + }if +}bdf +/AGMUTIL_GSTATE 22 dict def +/get_gstate +{ + AGMUTIL_GSTATE begin + /AGMUTIL_GSTATE_clr_spc currentcolorspace def + /AGMUTIL_GSTATE_clr_indx 0 def + /AGMUTIL_GSTATE_clr_comps 12 array def + mark currentcolor counttomark + {AGMUTIL_GSTATE_clr_comps AGMUTIL_GSTATE_clr_indx 3 -1 roll put + /AGMUTIL_GSTATE_clr_indx AGMUTIL_GSTATE_clr_indx 1 add def}repeat pop + /AGMUTIL_GSTATE_fnt rootfont def + /AGMUTIL_GSTATE_lw currentlinewidth def + /AGMUTIL_GSTATE_lc currentlinecap def + /AGMUTIL_GSTATE_lj currentlinejoin def + /AGMUTIL_GSTATE_ml currentmiterlimit def + currentdash/AGMUTIL_GSTATE_do xdf/AGMUTIL_GSTATE_da xdf + /AGMUTIL_GSTATE_sa currentstrokeadjust def + /AGMUTIL_GSTATE_clr_rnd currentcolorrendering def + /AGMUTIL_GSTATE_op currentoverprint def + /AGMUTIL_GSTATE_bg currentblackgeneration cvlit def + /AGMUTIL_GSTATE_ucr currentundercolorremoval cvlit def + currentcolortransfer cvlit/AGMUTIL_GSTATE_gy_xfer xdf cvlit/AGMUTIL_GSTATE_b_xfer xdf + cvlit/AGMUTIL_GSTATE_g_xfer xdf cvlit/AGMUTIL_GSTATE_r_xfer xdf + /AGMUTIL_GSTATE_ht currenthalftone def + /AGMUTIL_GSTATE_flt currentflat def + end +}def +/set_gstate +{ + AGMUTIL_GSTATE begin + AGMUTIL_GSTATE_clr_spc setcolorspace + AGMUTIL_GSTATE_clr_indx{AGMUTIL_GSTATE_clr_comps AGMUTIL_GSTATE_clr_indx 1 sub get + /AGMUTIL_GSTATE_clr_indx AGMUTIL_GSTATE_clr_indx 1 sub def}repeat setcolor + AGMUTIL_GSTATE_fnt setfont + AGMUTIL_GSTATE_lw setlinewidth + AGMUTIL_GSTATE_lc setlinecap + AGMUTIL_GSTATE_lj setlinejoin + AGMUTIL_GSTATE_ml setmiterlimit + AGMUTIL_GSTATE_da AGMUTIL_GSTATE_do setdash + AGMUTIL_GSTATE_sa setstrokeadjust + AGMUTIL_GSTATE_clr_rnd setcolorrendering + AGMUTIL_GSTATE_op setoverprint + AGMUTIL_GSTATE_bg cvx setblackgeneration + AGMUTIL_GSTATE_ucr cvx setundercolorremoval + AGMUTIL_GSTATE_r_xfer cvx AGMUTIL_GSTATE_g_xfer cvx AGMUTIL_GSTATE_b_xfer cvx + AGMUTIL_GSTATE_gy_xfer cvx setcolortransfer + AGMUTIL_GSTATE_ht/HalftoneType get dup 9 eq exch 100 eq or + { + currenthalftone/HalftoneType get AGMUTIL_GSTATE_ht/HalftoneType get ne + { + mark AGMUTIL_GSTATE_ht{sethalftone}stopped cleartomark + }if + }{ + AGMUTIL_GSTATE_ht sethalftone + }ifelse + AGMUTIL_GSTATE_flt setflat + end +}def +/get_gstate_and_matrix +{ + AGMUTIL_GSTATE begin + /AGMUTIL_GSTATE_ctm matrix currentmatrix def + end + get_gstate +}def +/set_gstate_and_matrix +{ + set_gstate + AGMUTIL_GSTATE begin + AGMUTIL_GSTATE_ctm setmatrix + end +}def +/AGMUTIL_str256 256 string def +/AGMUTIL_src256 256 string def +/AGMUTIL_dst64 64 string def +/AGMUTIL_srcLen nd +/AGMUTIL_ndx nd +/AGMUTIL_cpd nd +/capture_cpd{ + //Adobe_AGM_Utils/AGMUTIL_cpd currentpagedevice ddf +}def +/thold_halftone +{ + level3 + {sethalftone currenthalftone} + { + dup/HalftoneType get 3 eq + { + sethalftone currenthalftone + }{ + begin + Width Height mul{ + Thresholds read{pop}if + }repeat + end + currenthalftone + }ifelse + }ifelse +}def +/rdcmntline +{ + currentfile AGMUTIL_str256 readline pop + (%)anchorsearch{pop}if +}bdf +/filter_cmyk +{ + dup type/filetype ne{ + exch()/SubFileDecode filter + }{ + exch pop + } + ifelse + [ + exch + { + AGMUTIL_src256 readstring pop + dup length/AGMUTIL_srcLen exch def + /AGMUTIL_ndx 0 def + AGMCORE_plate_ndx 4 AGMUTIL_srcLen 1 sub{ + 1 index exch get + AGMUTIL_dst64 AGMUTIL_ndx 3 -1 roll put + /AGMUTIL_ndx AGMUTIL_ndx 1 add def + }for + pop + AGMUTIL_dst64 0 AGMUTIL_ndx getinterval + } + bind + /exec cvx + ]cvx +}bdf +/filter_indexed_devn +{ + cvi Names length mul names_index add Lookup exch get +}bdf +/filter_devn +{ + 4 dict begin + /srcStr xdf + /dstStr xdf + dup type/filetype ne{ + 0()/SubFileDecode filter + }if + [ + exch + [ + /devicen_colorspace_dict/AGMCORE_gget cvx/begin cvx + currentdict/srcStr get/readstring cvx/pop cvx + /dup cvx/length cvx 0/gt cvx[ + Adobe_AGM_Utils/AGMUTIL_ndx 0/ddf cvx + names_index Names length currentdict/srcStr get length 1 sub{ + 1/index cvx/exch cvx/get cvx + currentdict/dstStr get/AGMUTIL_ndx/load cvx 3 -1/roll cvx/put cvx + Adobe_AGM_Utils/AGMUTIL_ndx/AGMUTIL_ndx/load cvx 1/add cvx/ddf cvx + }for + currentdict/dstStr get 0/AGMUTIL_ndx/load cvx/getinterval cvx + ]cvx/if cvx + /end cvx + ]cvx + bind + /exec cvx + ]cvx + end +}bdf +/AGMUTIL_imagefile nd +/read_image_file +{ + AGMUTIL_imagefile 0 setfileposition + 10 dict begin + /imageDict xdf + /imbufLen Width BitsPerComponent mul 7 add 8 idiv def + /imbufIdx 0 def + /origDataSource imageDict/DataSource get def + /origMultipleDataSources imageDict/MultipleDataSources get def + /origDecode imageDict/Decode get def + /dstDataStr imageDict/Width get colorSpaceElemCnt mul string def + imageDict/MultipleDataSources known{MultipleDataSources}{false}ifelse + { + /imbufCnt imageDict/DataSource get length def + /imbufs imbufCnt array def + 0 1 imbufCnt 1 sub{ + /imbufIdx xdf + imbufs imbufIdx imbufLen string put + imageDict/DataSource get imbufIdx[AGMUTIL_imagefile imbufs imbufIdx get/readstring cvx/pop cvx]cvx put + }for + DeviceN_PS2{ + imageDict begin + /DataSource[DataSource/devn_sep_datasource cvx]cvx def + /MultipleDataSources false def + /Decode[0 1]def + end + }if + }{ + /imbuf imbufLen string def + Indexed_DeviceN level3 not and DeviceN_NoneName or{ + /srcDataStrs[imageDict begin + currentdict/MultipleDataSources known{MultipleDataSources{DataSource length}{1}ifelse}{1}ifelse + { + Width Decode length 2 div mul cvi string + }repeat + end]def + imageDict begin + /DataSource[AGMUTIL_imagefile Decode BitsPerComponent false 1/filter_indexed_devn load dstDataStr srcDataStrs devn_alt_datasource/exec cvx]cvx def + /Decode[0 1]def + end + }{ + imageDict/DataSource[1 string dup 0 AGMUTIL_imagefile Decode length 2 idiv string/readstring cvx/pop cvx names_index/get cvx/put cvx]cvx put + imageDict/Decode[0 1]put + }ifelse + }ifelse + imageDict exch + load exec + imageDict/DataSource origDataSource put + imageDict/MultipleDataSources origMultipleDataSources put + imageDict/Decode origDecode put + end +}bdf +/write_image_file +{ + begin + {(AGMUTIL_imagefile)(w+)file}stopped{ + false + }{ + Adobe_AGM_Utils/AGMUTIL_imagefile xddf + 2 dict begin + /imbufLen Width BitsPerComponent mul 7 add 8 idiv def + MultipleDataSources{DataSource 0 get}{DataSource}ifelse type/filetype eq{ + /imbuf imbufLen string def + }if + 1 1 Height MultipleDataSources not{Decode length 2 idiv mul}if{ + pop + MultipleDataSources{ + 0 1 DataSource length 1 sub{ + DataSource type dup + /arraytype eq{ + pop DataSource exch gx + }{ + /filetype eq{ + DataSource exch get imbuf readstring pop + }{ + DataSource exch get + }ifelse + }ifelse + AGMUTIL_imagefile exch writestring + }for + }{ + DataSource type dup + /arraytype eq{ + pop DataSource exec + }{ + /filetype eq{ + DataSource imbuf readstring pop + }{ + DataSource + }ifelse + }ifelse + AGMUTIL_imagefile exch writestring + }ifelse + }for + end + true + }ifelse + end +}bdf +/close_image_file +{ + AGMUTIL_imagefile closefile(AGMUTIL_imagefile)deletefile +}def +statusdict/product known userdict/AGMP_current_show known not and{ + /pstr statusdict/product get def + pstr(HP LaserJet 2200)eq + pstr(HP LaserJet 4000 Series)eq or + pstr(HP LaserJet 4050 Series )eq or + pstr(HP LaserJet 8000 Series)eq or + pstr(HP LaserJet 8100 Series)eq or + pstr(HP LaserJet 8150 Series)eq or + pstr(HP LaserJet 5000 Series)eq or + pstr(HP LaserJet 5100 Series)eq or + pstr(HP Color LaserJet 4500)eq or + pstr(HP Color LaserJet 4600)eq or + pstr(HP LaserJet 5Si)eq or + pstr(HP LaserJet 1200 Series)eq or + pstr(HP LaserJet 1300 Series)eq or + pstr(HP LaserJet 4100 Series)eq or + { + userdict/AGMP_current_show/show load put + userdict/show{ + currentcolorspace 0 get + /Pattern eq + {false charpath f} + {AGMP_current_show}ifelse + }put + }if + currentdict/pstr undef +}if +/consumeimagedata +{ + begin + AGMIMG_init_common + currentdict/MultipleDataSources known not + {/MultipleDataSources false def}if + MultipleDataSources + { + DataSource 0 get type + dup/filetype eq + { + 1 dict begin + /flushbuffer Width cvi string def + 1 1 Height cvi + { + pop + 0 1 DataSource length 1 sub + { + DataSource exch get + flushbuffer readstring pop pop + }for + }for + end + }if + dup/arraytype eq exch/packedarraytype eq or DataSource 0 get xcheck and + { + Width Height mul cvi + { + 0 1 DataSource length 1 sub + {dup DataSource exch gx length exch 0 ne{pop}if}for + dup 0 eq + {pop exit}if + sub dup 0 le + {exit}if + }loop + pop + }if + } + { + /DataSource load type + dup/filetype eq + { + 1 dict begin + /flushbuffer Width Decode length 2 idiv mul cvi string def + 1 1 Height{pop DataSource flushbuffer readstring pop pop}for + end + }if + dup/arraytype eq exch/packedarraytype eq or/DataSource load xcheck and + { + Height Width BitsPerComponent mul 8 BitsPerComponent sub add 8 idiv Decode length 2 idiv mul mul + { + DataSource length dup 0 eq + {pop exit}if + sub dup 0 le + {exit}if + }loop + pop + }if + }ifelse + end +}bdf +/addprocs +{ + 2{/exec load}repeat + 3 1 roll + [5 1 roll]bind cvx +}def +/modify_halftone_xfer +{ + currenthalftone dup length dict copy begin + currentdict 2 index known{ + 1 index load dup length dict copy begin + currentdict/TransferFunction known{ + /TransferFunction load + }{ + currenttransfer + }ifelse + addprocs/TransferFunction xdf + currentdict end def + currentdict end sethalftone + }{ + currentdict/TransferFunction known{ + /TransferFunction load + }{ + currenttransfer + }ifelse + addprocs/TransferFunction xdf + currentdict end sethalftone + pop + }ifelse +}def +/clonearray +{ + dup xcheck exch + dup length array exch + Adobe_AGM_Core/AGMCORE_tmp -1 ddf + { + Adobe_AGM_Core/AGMCORE_tmp 2 copy get 1 add ddf + dup type/dicttype eq + { + Adobe_AGM_Core/AGMCORE_tmp get + exch + clonedict + Adobe_AGM_Core/AGMCORE_tmp 4 -1 roll ddf + }if + dup type/arraytype eq + { + Adobe_AGM_Core/AGMCORE_tmp get exch + clonearray + Adobe_AGM_Core/AGMCORE_tmp 4 -1 roll ddf + }if + exch dup + Adobe_AGM_Core/AGMCORE_tmp get 4 -1 roll put + }forall + exch{cvx}if +}bdf +/clonedict +{ + dup length dict + begin + { + dup type/dicttype eq + {clonedict}if + dup type/arraytype eq + {clonearray}if + def + }forall + currentdict + end +}bdf +/DeviceN_PS2 +{ + /currentcolorspace AGMCORE_gget 0 get/DeviceN eq level3 not and +}bdf +/Indexed_DeviceN +{ + /indexed_colorspace_dict AGMCORE_gget dup null ne{ + dup/CSDBase known{ + /CSDBase get/CSD get_res/Names known + }{ + pop false + }ifelse + }{ + pop false + }ifelse +}bdf +/DeviceN_NoneName +{ + /Names where{ + pop + false Names + { + (None)eq or + }forall + }{ + false + }ifelse +}bdf +/DeviceN_PS2_inRip_seps +{ + /AGMCORE_in_rip_sep where + { + pop dup type dup/arraytype eq exch/packedarraytype eq or + { + dup 0 get/DeviceN eq level3 not and AGMCORE_in_rip_sep and + { + /currentcolorspace exch AGMCORE_gput + false + }{ + true + }ifelse + }{ + true + }ifelse + }{ + true + }ifelse +}bdf +/base_colorspace_type +{ + dup type/arraytype eq{0 get}if +}bdf +/currentdistillerparams where{pop currentdistillerparams/CoreDistVersion get 5000 lt}{true}ifelse +{ + /pdfmark_5{cleartomark}bind def +}{ + /pdfmark_5{pdfmark}bind def +}ifelse +/ReadBypdfmark_5 +{ + currentfile exch 0 exch/SubFileDecode filter + /currentdistillerparams where + {pop currentdistillerparams/CoreDistVersion get 5000 lt}{true}ifelse + {flushfile cleartomark} + {/PUT pdfmark}ifelse +}bdf +/ReadBypdfmark_5_string +{ + 2 dict begin + /makerString exch def string/tmpString exch def + { + currentfile tmpString readline not{pop exit}if + makerString anchorsearch + { + pop pop cleartomark exit + }{ + 3 copy/PUT pdfmark_5 pop 2 copy(\n)/PUT pdfmark_5 + }ifelse + }loop + end +}bdf +/xpdfm +{ + { + dup 0 get/Label eq + { + aload length[exch 1 add 1 roll/PAGELABEL + }{ + aload pop + [{ThisPage}<<5 -2 roll>>/PUT + }ifelse + pdfmark_5 + }forall +}bdf +/lmt{ + dup 2 index le{exch}if pop dup 2 index ge{exch}if pop +}bdf +/int{ + dup 2 index sub 3 index 5 index sub div 6 -2 roll sub mul exch pop add exch pop +}bdf +/ds{ + Adobe_AGM_Utils begin +}bdf +/dt{ + currentdict Adobe_AGM_Utils eq{ + end + }if +}bdf +systemdict/setpacking known +{setpacking}if +%%EndResource +%%BeginResource: procset Adobe_AGM_Core 2.0 0 +%%Version: 2.0 0 +%%Copyright: Copyright(C)1997-2007 Adobe Systems, Inc. All Rights Reserved. +systemdict/setpacking known +{ + currentpacking + true setpacking +}if +userdict/Adobe_AGM_Core 209 dict dup begin put +/Adobe_AGM_Core_Id/Adobe_AGM_Core_2.0_0 def +/AGMCORE_str256 256 string def +/AGMCORE_save nd +/AGMCORE_graphicsave nd +/AGMCORE_c 0 def +/AGMCORE_m 0 def +/AGMCORE_y 0 def +/AGMCORE_k 0 def +/AGMCORE_cmykbuf 4 array def +/AGMCORE_screen[currentscreen]cvx def +/AGMCORE_tmp 0 def +/AGMCORE_&setgray nd +/AGMCORE_&setcolor nd +/AGMCORE_&setcolorspace nd +/AGMCORE_&setcmykcolor nd +/AGMCORE_cyan_plate nd +/AGMCORE_magenta_plate nd +/AGMCORE_yellow_plate nd +/AGMCORE_black_plate nd +/AGMCORE_plate_ndx nd +/AGMCORE_get_ink_data nd +/AGMCORE_is_cmyk_sep nd +/AGMCORE_host_sep nd +/AGMCORE_avoid_L2_sep_space nd +/AGMCORE_distilling nd +/AGMCORE_composite_job nd +/AGMCORE_producing_seps nd +/AGMCORE_ps_level -1 def +/AGMCORE_ps_version -1 def +/AGMCORE_environ_ok nd +/AGMCORE_CSD_cache 0 dict def +/AGMCORE_currentoverprint false def +/AGMCORE_deltaX nd +/AGMCORE_deltaY nd +/AGMCORE_name nd +/AGMCORE_sep_special nd +/AGMCORE_err_strings 4 dict def +/AGMCORE_cur_err nd +/AGMCORE_current_spot_alias false def +/AGMCORE_inverting false def +/AGMCORE_feature_dictCount nd +/AGMCORE_feature_opCount nd +/AGMCORE_feature_ctm nd +/AGMCORE_ConvertToProcess false def +/AGMCORE_Default_CTM matrix def +/AGMCORE_Default_PageSize nd +/AGMCORE_Default_flatness nd +/AGMCORE_currentbg nd +/AGMCORE_currentucr nd +/AGMCORE_pattern_paint_type 0 def +/knockout_unitsq nd +currentglobal true setglobal +[/CSA/Gradient/Procedure] +{ + /Generic/Category findresource dup length dict copy/Category defineresource pop +}forall +setglobal +/AGMCORE_key_known +{ + where{ + /Adobe_AGM_Core_Id known + }{ + false + }ifelse +}ndf +/flushinput +{ + save + 2 dict begin + /CompareBuffer 3 -1 roll def + /readbuffer 256 string def + mark + { + currentfile readbuffer{readline}stopped + {cleartomark mark} + { + not + {pop exit} + if + CompareBuffer eq + {exit} + if + }ifelse + }loop + cleartomark + end + restore +}bdf +/getspotfunction +{ + AGMCORE_screen exch pop exch pop + dup type/dicttype eq{ + dup/HalftoneType get 1 eq{ + /SpotFunction get + }{ + dup/HalftoneType get 2 eq{ + /GraySpotFunction get + }{ + pop + { + abs exch abs 2 copy add 1 gt{ + 1 sub dup mul exch 1 sub dup mul add 1 sub + }{ + dup mul exch dup mul add 1 exch sub + }ifelse + }bind + }ifelse + }ifelse + }if +}def +/np +{newpath}bdf +/clp_npth +{clip np}def +/eoclp_npth +{eoclip np}def +/npth_clp +{np clip}def +/graphic_setup +{ + /AGMCORE_graphicsave save store + concat + 0 setgray + 0 setlinecap + 0 setlinejoin + 1 setlinewidth + []0 setdash + 10 setmiterlimit + np + false setoverprint + false setstrokeadjust + //Adobe_AGM_Core/spot_alias gx + /Adobe_AGM_Image where{ + pop + Adobe_AGM_Image/spot_alias 2 copy known{ + gx + }{ + pop pop + }ifelse + }if + /sep_colorspace_dict null AGMCORE_gput + 100 dict begin + /dictstackcount countdictstack def + /showpage{}def + mark +}def +/graphic_cleanup +{ + cleartomark + dictstackcount 1 countdictstack 1 sub{end}for + end + AGMCORE_graphicsave restore +}def +/compose_error_msg +{ + grestoreall initgraphics + /Helvetica findfont 10 scalefont setfont + /AGMCORE_deltaY 100 def + /AGMCORE_deltaX 310 def + clippath pathbbox np pop pop 36 add exch 36 add exch moveto + 0 AGMCORE_deltaY rlineto AGMCORE_deltaX 0 rlineto + 0 AGMCORE_deltaY neg rlineto AGMCORE_deltaX neg 0 rlineto closepath + 0 AGMCORE_&setgray + gsave 1 AGMCORE_&setgray fill grestore + 1 setlinewidth gsave stroke grestore + currentpoint AGMCORE_deltaY 15 sub add exch 8 add exch moveto + /AGMCORE_deltaY 12 def + /AGMCORE_tmp 0 def + AGMCORE_err_strings exch get + { + dup 32 eq + { + pop + AGMCORE_str256 0 AGMCORE_tmp getinterval + stringwidth pop currentpoint pop add AGMCORE_deltaX 28 add gt + { + currentpoint AGMCORE_deltaY sub exch pop + clippath pathbbox pop pop pop 44 add exch moveto + }if + AGMCORE_str256 0 AGMCORE_tmp getinterval show( )show + 0 1 AGMCORE_str256 length 1 sub + { + AGMCORE_str256 exch 0 put + }for + /AGMCORE_tmp 0 def + }{ + AGMCORE_str256 exch AGMCORE_tmp xpt + /AGMCORE_tmp AGMCORE_tmp 1 add def + }ifelse + }forall +}bdf +/AGMCORE_CMYKDeviceNColorspaces[ + [/Separation/None/DeviceCMYK{0 0 0}] + [/Separation(Black)/DeviceCMYK{0 0 0 4 -1 roll}bind] + [/Separation(Yellow)/DeviceCMYK{0 0 3 -1 roll 0}bind] + [/DeviceN[(Yellow)(Black)]/DeviceCMYK{0 0 4 2 roll}bind] + [/Separation(Magenta)/DeviceCMYK{0 exch 0 0}bind] + [/DeviceN[(Magenta)(Black)]/DeviceCMYK{0 3 1 roll 0 exch}bind] + [/DeviceN[(Magenta)(Yellow)]/DeviceCMYK{0 3 1 roll 0}bind] + [/DeviceN[(Magenta)(Yellow)(Black)]/DeviceCMYK{0 4 1 roll}bind] + [/Separation(Cyan)/DeviceCMYK{0 0 0}] + [/DeviceN[(Cyan)(Black)]/DeviceCMYK{0 0 3 -1 roll}bind] + [/DeviceN[(Cyan)(Yellow)]/DeviceCMYK{0 exch 0}bind] + [/DeviceN[(Cyan)(Yellow)(Black)]/DeviceCMYK{0 3 1 roll}bind] + [/DeviceN[(Cyan)(Magenta)]/DeviceCMYK{0 0}] + [/DeviceN[(Cyan)(Magenta)(Black)]/DeviceCMYK{0 exch}bind] + [/DeviceN[(Cyan)(Magenta)(Yellow)]/DeviceCMYK{0}] + [/DeviceCMYK] +]def +/ds{ + Adobe_AGM_Core begin + /currentdistillerparams where + { + pop currentdistillerparams/CoreDistVersion get 5000 lt + {<>setdistillerparams}if + }if + /AGMCORE_ps_version xdf + /AGMCORE_ps_level xdf + errordict/AGM_handleerror known not{ + errordict/AGM_handleerror errordict/handleerror get put + errordict/handleerror{ + Adobe_AGM_Core begin + $error/newerror get AGMCORE_cur_err null ne and{ + $error/newerror false put + AGMCORE_cur_err compose_error_msg + }if + $error/newerror true put + end + errordict/AGM_handleerror get exec + }bind put + }if + /AGMCORE_environ_ok + ps_level AGMCORE_ps_level ge + ps_version AGMCORE_ps_version ge and + AGMCORE_ps_level -1 eq or + def + AGMCORE_environ_ok not + {/AGMCORE_cur_err/AGMCORE_bad_environ def}if + /AGMCORE_&setgray systemdict/setgray get def + level2{ + /AGMCORE_&setcolor systemdict/setcolor get def + /AGMCORE_&setcolorspace systemdict/setcolorspace get def + }if + /AGMCORE_currentbg currentblackgeneration def + /AGMCORE_currentucr currentundercolorremoval def + /AGMCORE_Default_flatness currentflat def + /AGMCORE_distilling + /product where{ + pop systemdict/setdistillerparams known product(Adobe PostScript Parser)ne and + }{ + false + }ifelse + def + /AGMCORE_GSTATE AGMCORE_key_known not{ + /AGMCORE_GSTATE 21 dict def + /AGMCORE_tmpmatrix matrix def + /AGMCORE_gstack 32 array def + /AGMCORE_gstackptr 0 def + /AGMCORE_gstacksaveptr 0 def + /AGMCORE_gstackframekeys 14 def + /AGMCORE_&gsave/gsave ldf + /AGMCORE_&grestore/grestore ldf + /AGMCORE_&grestoreall/grestoreall ldf + /AGMCORE_&save/save ldf + /AGMCORE_&setoverprint/setoverprint ldf + /AGMCORE_gdictcopy{ + begin + {def}forall + end + }def + /AGMCORE_gput{ + AGMCORE_gstack AGMCORE_gstackptr get + 3 1 roll + put + }def + /AGMCORE_gget{ + AGMCORE_gstack AGMCORE_gstackptr get + exch + get + }def + /gsave{ + AGMCORE_&gsave + AGMCORE_gstack AGMCORE_gstackptr get + AGMCORE_gstackptr 1 add + dup 32 ge{limitcheck}if + /AGMCORE_gstackptr exch store + AGMCORE_gstack AGMCORE_gstackptr get + AGMCORE_gdictcopy + }def + /grestore{ + AGMCORE_&grestore + AGMCORE_gstackptr 1 sub + dup AGMCORE_gstacksaveptr lt{1 add}if + dup AGMCORE_gstack exch get dup/AGMCORE_currentoverprint known + {/AGMCORE_currentoverprint get setoverprint}{pop}ifelse + /AGMCORE_gstackptr exch store + }def + /grestoreall{ + AGMCORE_&grestoreall + /AGMCORE_gstackptr AGMCORE_gstacksaveptr store + }def + /save{ + AGMCORE_&save + AGMCORE_gstack AGMCORE_gstackptr get + AGMCORE_gstackptr 1 add + dup 32 ge{limitcheck}if + /AGMCORE_gstackptr exch store + /AGMCORE_gstacksaveptr AGMCORE_gstackptr store + AGMCORE_gstack AGMCORE_gstackptr get + AGMCORE_gdictcopy + }def + /setoverprint{ + dup/AGMCORE_currentoverprint exch AGMCORE_gput AGMCORE_&setoverprint + }def + 0 1 AGMCORE_gstack length 1 sub{ + AGMCORE_gstack exch AGMCORE_gstackframekeys dict put + }for + }if + level3/AGMCORE_&sysshfill AGMCORE_key_known not and + { + /AGMCORE_&sysshfill systemdict/shfill get def + /AGMCORE_&sysmakepattern systemdict/makepattern get def + /AGMCORE_&usrmakepattern/makepattern load def + }if + /currentcmykcolor[0 0 0 0]AGMCORE_gput + /currentstrokeadjust false AGMCORE_gput + /currentcolorspace[/DeviceGray]AGMCORE_gput + /sep_tint 0 AGMCORE_gput + /devicen_tints[0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0]AGMCORE_gput + /sep_colorspace_dict null AGMCORE_gput + /devicen_colorspace_dict null AGMCORE_gput + /indexed_colorspace_dict null AGMCORE_gput + /currentcolor_intent()AGMCORE_gput + /customcolor_tint 1 AGMCORE_gput + /absolute_colorimetric_crd null AGMCORE_gput + /relative_colorimetric_crd null AGMCORE_gput + /saturation_crd null AGMCORE_gput + /perceptual_crd null AGMCORE_gput + currentcolortransfer cvlit/AGMCore_gray_xfer xdf cvlit/AGMCore_b_xfer xdf + cvlit/AGMCore_g_xfer xdf cvlit/AGMCore_r_xfer xdf + << + /MaxPatternItem currentsystemparams/MaxPatternCache get + >> + setuserparams + end +}def +/ps +{ + /setcmykcolor where{ + pop + Adobe_AGM_Core/AGMCORE_&setcmykcolor/setcmykcolor load put + }if + Adobe_AGM_Core begin + /setcmykcolor + { + 4 copy AGMCORE_cmykbuf astore/currentcmykcolor exch AGMCORE_gput + 1 sub 4 1 roll + 3{ + 3 index add neg dup 0 lt{ + pop 0 + }if + 3 1 roll + }repeat + setrgbcolor pop + }ndf + /currentcmykcolor + { + /currentcmykcolor AGMCORE_gget aload pop + }ndf + /setoverprint + {pop}ndf + /currentoverprint + {false}ndf + /AGMCORE_cyan_plate 1 0 0 0 test_cmyk_color_plate def + /AGMCORE_magenta_plate 0 1 0 0 test_cmyk_color_plate def + /AGMCORE_yellow_plate 0 0 1 0 test_cmyk_color_plate def + /AGMCORE_black_plate 0 0 0 1 test_cmyk_color_plate def + /AGMCORE_plate_ndx + AGMCORE_cyan_plate{ + 0 + }{ + AGMCORE_magenta_plate{ + 1 + }{ + AGMCORE_yellow_plate{ + 2 + }{ + AGMCORE_black_plate{ + 3 + }{ + 4 + }ifelse + }ifelse + }ifelse + }ifelse + def + /AGMCORE_have_reported_unsupported_color_space false def + /AGMCORE_report_unsupported_color_space + { + AGMCORE_have_reported_unsupported_color_space false eq + { + (Warning: Job contains content that cannot be separated with on-host methods. This content appears on the black plate, and knocks out all other plates.)== + Adobe_AGM_Core/AGMCORE_have_reported_unsupported_color_space true ddf + }if + }def + /AGMCORE_composite_job + AGMCORE_cyan_plate AGMCORE_magenta_plate and AGMCORE_yellow_plate and AGMCORE_black_plate and def + /AGMCORE_in_rip_sep + /AGMCORE_in_rip_sep where{ + pop AGMCORE_in_rip_sep + }{ + AGMCORE_distilling + { + false + }{ + userdict/Adobe_AGM_OnHost_Seps known{ + false + }{ + level2{ + currentpagedevice/Separations 2 copy known{ + get + }{ + pop pop false + }ifelse + }{ + false + }ifelse + }ifelse + }ifelse + }ifelse + def + /AGMCORE_producing_seps AGMCORE_composite_job not AGMCORE_in_rip_sep or def + /AGMCORE_host_sep AGMCORE_producing_seps AGMCORE_in_rip_sep not and def + /AGM_preserve_spots + /AGM_preserve_spots where{ + pop AGM_preserve_spots + }{ + AGMCORE_distilling AGMCORE_producing_seps or + }ifelse + def + /AGM_is_distiller_preserving_spotimages + { + currentdistillerparams/PreserveOverprintSettings known + { + currentdistillerparams/PreserveOverprintSettings get + { + currentdistillerparams/ColorConversionStrategy known + { + currentdistillerparams/ColorConversionStrategy get + /sRGB ne + }{ + true + }ifelse + }{ + false + }ifelse + }{ + false + }ifelse + }def + /convert_spot_to_process where{pop}{ + /convert_spot_to_process + { + //Adobe_AGM_Core begin + dup map_alias{ + /Name get exch pop + }if + dup dup(None)eq exch(All)eq or + { + pop false + }{ + AGMCORE_host_sep + { + gsave + 1 0 0 0 setcmykcolor currentgray 1 exch sub + 0 1 0 0 setcmykcolor currentgray 1 exch sub + 0 0 1 0 setcmykcolor currentgray 1 exch sub + 0 0 0 1 setcmykcolor currentgray 1 exch sub + add add add 0 eq + { + pop false + }{ + false setoverprint + current_spot_alias false set_spot_alias + 1 1 1 1 6 -1 roll findcmykcustomcolor 1 setcustomcolor + set_spot_alias + currentgray 1 ne + }ifelse + grestore + }{ + AGMCORE_distilling + { + pop AGM_is_distiller_preserving_spotimages not + }{ + //Adobe_AGM_Core/AGMCORE_name xddf + false + //Adobe_AGM_Core/AGMCORE_pattern_paint_type get 0 eq + AGMUTIL_cpd/OverrideSeparations known and + { + AGMUTIL_cpd/OverrideSeparations get + { + /HqnSpots/ProcSet resourcestatus + { + pop pop pop true + }if + }if + }if + { + AGMCORE_name/HqnSpots/ProcSet findresource/TestSpot gx not + }{ + gsave + [/Separation AGMCORE_name/DeviceGray{}]AGMCORE_&setcolorspace + false + AGMUTIL_cpd/SeparationColorNames 2 copy known + { + get + {AGMCORE_name eq or}forall + not + }{ + pop pop pop true + }ifelse + grestore + }ifelse + }ifelse + }ifelse + }ifelse + end + }def + }ifelse + /convert_to_process where{pop}{ + /convert_to_process + { + dup length 0 eq + { + pop false + }{ + AGMCORE_host_sep + { + dup true exch + { + dup(Cyan)eq exch + dup(Magenta)eq 3 -1 roll or exch + dup(Yellow)eq 3 -1 roll or exch + dup(Black)eq 3 -1 roll or + {pop} + {convert_spot_to_process and}ifelse + } + forall + { + true exch + { + dup(Cyan)eq exch + dup(Magenta)eq 3 -1 roll or exch + dup(Yellow)eq 3 -1 roll or exch + (Black)eq or and + }forall + not + }{pop false}ifelse + }{ + false exch + { + /PhotoshopDuotoneList where{pop false}{true}ifelse + { + dup(Cyan)eq exch + dup(Magenta)eq 3 -1 roll or exch + dup(Yellow)eq 3 -1 roll or exch + dup(Black)eq 3 -1 roll or + {pop} + {convert_spot_to_process or}ifelse + } + { + convert_spot_to_process or + } + ifelse + } + forall + }ifelse + }ifelse + }def + }ifelse + /AGMCORE_avoid_L2_sep_space + version cvr 2012 lt + level2 and + AGMCORE_producing_seps not and + def + /AGMCORE_is_cmyk_sep + AGMCORE_cyan_plate AGMCORE_magenta_plate or AGMCORE_yellow_plate or AGMCORE_black_plate or + def + /AGM_avoid_0_cmyk where{ + pop AGM_avoid_0_cmyk + }{ + AGM_preserve_spots + userdict/Adobe_AGM_OnHost_Seps known + userdict/Adobe_AGM_InRip_Seps known or + not and + }ifelse + { + /setcmykcolor[ + { + 4 copy add add add 0 eq currentoverprint and{ + pop 0.0005 + }if + }/exec cvx + /AGMCORE_&setcmykcolor load dup type/operatortype ne{ + /exec cvx + }if + ]cvx def + }if + /AGMCORE_IsSeparationAProcessColor + { + dup(Cyan)eq exch dup(Magenta)eq exch dup(Yellow)eq exch(Black)eq or or or + }def + AGMCORE_host_sep{ + /setcolortransfer + { + AGMCORE_cyan_plate{ + pop pop pop + }{ + AGMCORE_magenta_plate{ + 4 3 roll pop pop pop + }{ + AGMCORE_yellow_plate{ + 4 2 roll pop pop pop + }{ + 4 1 roll pop pop pop + }ifelse + }ifelse + }ifelse + settransfer + } + def + /AGMCORE_get_ink_data + AGMCORE_cyan_plate{ + {pop pop pop} + }{ + AGMCORE_magenta_plate{ + {4 3 roll pop pop pop} + }{ + AGMCORE_yellow_plate{ + {4 2 roll pop pop pop} + }{ + {4 1 roll pop pop pop} + }ifelse + }ifelse + }ifelse + def + /AGMCORE_RemoveProcessColorNames + { + 1 dict begin + /filtername + { + dup/Cyan eq 1 index(Cyan)eq or + {pop(_cyan_)}if + dup/Magenta eq 1 index(Magenta)eq or + {pop(_magenta_)}if + dup/Yellow eq 1 index(Yellow)eq or + {pop(_yellow_)}if + dup/Black eq 1 index(Black)eq or + {pop(_black_)}if + }def + dup type/arraytype eq + {[exch{filtername}forall]} + {filtername}ifelse + end + }def + level3{ + /AGMCORE_IsCurrentColor + { + dup AGMCORE_IsSeparationAProcessColor + { + AGMCORE_plate_ndx 0 eq + {dup(Cyan)eq exch/Cyan eq or}if + AGMCORE_plate_ndx 1 eq + {dup(Magenta)eq exch/Magenta eq or}if + AGMCORE_plate_ndx 2 eq + {dup(Yellow)eq exch/Yellow eq or}if + AGMCORE_plate_ndx 3 eq + {dup(Black)eq exch/Black eq or}if + AGMCORE_plate_ndx 4 eq + {pop false}if + }{ + gsave + false setoverprint + current_spot_alias false set_spot_alias + 1 1 1 1 6 -1 roll findcmykcustomcolor 1 setcustomcolor + set_spot_alias + currentgray 1 ne + grestore + }ifelse + }def + /AGMCORE_filter_functiondatasource + { + 5 dict begin + /data_in xdf + data_in type/stringtype eq + { + /ncomp xdf + /comp xdf + /string_out data_in length ncomp idiv string def + 0 ncomp data_in length 1 sub + { + string_out exch dup ncomp idiv exch data_in exch ncomp getinterval comp get 255 exch sub put + }for + string_out + }{ + string/string_in xdf + /string_out 1 string def + /component xdf + [ + data_in string_in/readstring cvx + [component/get cvx 255/exch cvx/sub cvx string_out/exch cvx 0/exch cvx/put cvx string_out]cvx + [/pop cvx()]cvx/ifelse cvx + ]cvx/ReusableStreamDecode filter + }ifelse + end + }def + /AGMCORE_separateShadingFunction + { + 2 dict begin + /paint? xdf + /channel xdf + dup type/dicttype eq + { + begin + FunctionType 0 eq + { + /DataSource channel Range length 2 idiv DataSource AGMCORE_filter_functiondatasource def + currentdict/Decode known + {/Decode Decode channel 2 mul 2 getinterval def}if + paint? not + {/Decode[1 1]def}if + }if + FunctionType 2 eq + { + paint? + { + /C0[C0 channel get 1 exch sub]def + /C1[C1 channel get 1 exch sub]def + }{ + /C0[1]def + /C1[1]def + }ifelse + }if + FunctionType 3 eq + { + /Functions[Functions{channel paint? AGMCORE_separateShadingFunction}forall]def + }if + currentdict/Range known + {/Range[0 1]def}if + currentdict + end}{ + channel get 0 paint? AGMCORE_separateShadingFunction + }ifelse + end + }def + /AGMCORE_separateShading + { + 3 -1 roll begin + currentdict/Function known + { + currentdict/Background known + {[1 index{Background 3 index get 1 exch sub}{1}ifelse]/Background xdf}if + Function 3 1 roll AGMCORE_separateShadingFunction/Function xdf + /ColorSpace[/DeviceGray]def + }{ + ColorSpace dup type/arraytype eq{0 get}if/DeviceCMYK eq + { + /ColorSpace[/DeviceN[/_cyan_/_magenta_/_yellow_/_black_]/DeviceCMYK{}]def + }{ + ColorSpace dup 1 get AGMCORE_RemoveProcessColorNames 1 exch put + }ifelse + ColorSpace 0 get/Separation eq + { + { + [1/exch cvx/sub cvx]cvx + }{ + [/pop cvx 1]cvx + }ifelse + ColorSpace 3 3 -1 roll put + pop + }{ + { + [exch ColorSpace 1 get length 1 sub exch sub/index cvx 1/exch cvx/sub cvx ColorSpace 1 get length 1 add 1/roll cvx ColorSpace 1 get length{/pop cvx}repeat]cvx + }{ + pop[ColorSpace 1 get length{/pop cvx}repeat cvx 1]cvx + }ifelse + ColorSpace 3 3 -1 roll bind put + }ifelse + ColorSpace 2/DeviceGray put + }ifelse + end + }def + /AGMCORE_separateShadingDict + { + dup/ColorSpace get + dup type/arraytype ne + {[exch]}if + dup 0 get/DeviceCMYK eq + { + exch begin + currentdict + AGMCORE_cyan_plate + {0 true}if + AGMCORE_magenta_plate + {1 true}if + AGMCORE_yellow_plate + {2 true}if + AGMCORE_black_plate + {3 true}if + AGMCORE_plate_ndx 4 eq + {0 false}if + dup not currentoverprint and + {/AGMCORE_ignoreshade true def}if + AGMCORE_separateShading + currentdict + end exch + }if + dup 0 get/Separation eq + { + exch begin + ColorSpace 1 get dup/None ne exch/All ne and + { + ColorSpace 1 get AGMCORE_IsCurrentColor AGMCORE_plate_ndx 4 lt and ColorSpace 1 get AGMCORE_IsSeparationAProcessColor not and + { + ColorSpace 2 get dup type/arraytype eq{0 get}if/DeviceCMYK eq + { + /ColorSpace + [ + /Separation + ColorSpace 1 get + /DeviceGray + [ + ColorSpace 3 get/exec cvx + 4 AGMCORE_plate_ndx sub -1/roll cvx + 4 1/roll cvx + 3[/pop cvx]cvx/repeat cvx + 1/exch cvx/sub cvx + ]cvx + ]def + }{ + AGMCORE_report_unsupported_color_space + AGMCORE_black_plate not + { + currentdict 0 false AGMCORE_separateShading + }if + }ifelse + }{ + currentdict ColorSpace 1 get AGMCORE_IsCurrentColor + 0 exch + dup not currentoverprint and + {/AGMCORE_ignoreshade true def}if + AGMCORE_separateShading + }ifelse + }if + currentdict + end exch + }if + dup 0 get/DeviceN eq + { + exch begin + ColorSpace 1 get convert_to_process + { + ColorSpace 2 get dup type/arraytype eq{0 get}if/DeviceCMYK eq + { + /ColorSpace + [ + /DeviceN + ColorSpace 1 get + /DeviceGray + [ + ColorSpace 3 get/exec cvx + 4 AGMCORE_plate_ndx sub -1/roll cvx + 4 1/roll cvx + 3[/pop cvx]cvx/repeat cvx + 1/exch cvx/sub cvx + ]cvx + ]def + }{ + AGMCORE_report_unsupported_color_space + AGMCORE_black_plate not + { + currentdict 0 false AGMCORE_separateShading + /ColorSpace[/DeviceGray]def + }if + }ifelse + }{ + currentdict + false -1 ColorSpace 1 get + { + AGMCORE_IsCurrentColor + { + 1 add + exch pop true exch exit + }if + 1 add + }forall + exch + dup not currentoverprint and + {/AGMCORE_ignoreshade true def}if + AGMCORE_separateShading + }ifelse + currentdict + end exch + }if + dup 0 get dup/DeviceCMYK eq exch dup/Separation eq exch/DeviceN eq or or not + { + exch begin + ColorSpace dup type/arraytype eq + {0 get}if + /DeviceGray ne + { + AGMCORE_report_unsupported_color_space + AGMCORE_black_plate not + { + ColorSpace 0 get/CIEBasedA eq + { + /ColorSpace[/Separation/_ciebaseda_/DeviceGray{}]def + }if + ColorSpace 0 get dup/CIEBasedABC eq exch dup/CIEBasedDEF eq exch/DeviceRGB eq or or + { + /ColorSpace[/DeviceN[/_red_/_green_/_blue_]/DeviceRGB{}]def + }if + ColorSpace 0 get/CIEBasedDEFG eq + { + /ColorSpace[/DeviceN[/_cyan_/_magenta_/_yellow_/_black_]/DeviceCMYK{}]def + }if + currentdict 0 false AGMCORE_separateShading + }if + }if + currentdict + end exch + }if + pop + dup/AGMCORE_ignoreshade known + { + begin + /ColorSpace[/Separation(None)/DeviceGray{}]def + currentdict end + }if + }def + /shfill + { + AGMCORE_separateShadingDict + dup/AGMCORE_ignoreshade known + {pop} + {AGMCORE_&sysshfill}ifelse + }def + /makepattern + { + exch + dup/PatternType get 2 eq + { + clonedict + begin + /Shading Shading AGMCORE_separateShadingDict def + Shading/AGMCORE_ignoreshade known + currentdict end exch + {pop<>}if + exch AGMCORE_&sysmakepattern + }{ + exch AGMCORE_&usrmakepattern + }ifelse + }def + }if + }if + AGMCORE_in_rip_sep{ + /setcustomcolor + { + exch aload pop + dup 7 1 roll inRip_spot_has_ink not { + 4{4 index mul 4 1 roll} + repeat + /DeviceCMYK setcolorspace + 6 -2 roll pop pop + }{ + //Adobe_AGM_Core begin + /AGMCORE_k xdf/AGMCORE_y xdf/AGMCORE_m xdf/AGMCORE_c xdf + end + [/Separation 4 -1 roll/DeviceCMYK + {dup AGMCORE_c mul exch dup AGMCORE_m mul exch dup AGMCORE_y mul exch AGMCORE_k mul} + ] + setcolorspace + }ifelse + setcolor + }ndf + /setseparationgray + { + [/Separation(All)/DeviceGray{}]setcolorspace_opt + 1 exch sub setcolor + }ndf + }{ + /setseparationgray + { + AGMCORE_&setgray + }ndf + }ifelse + /findcmykcustomcolor + { + 5 makereadonlyarray + }ndf + /setcustomcolor + { + exch aload pop pop + 4{4 index mul 4 1 roll}repeat + setcmykcolor pop + }ndf + /has_color + /colorimage where{ + AGMCORE_producing_seps{ + pop true + }{ + systemdict eq + }ifelse + }{ + false + }ifelse + def + /map_index + { + 1 index mul exch getinterval{255 div}forall + }bdf + /map_indexed_devn + { + Lookup Names length 3 -1 roll cvi map_index + }bdf + /n_color_components + { + base_colorspace_type + dup/DeviceGray eq{ + pop 1 + }{ + /DeviceCMYK eq{ + 4 + }{ + 3 + }ifelse + }ifelse + }bdf + level2{ + /mo/moveto ldf + /li/lineto ldf + /cv/curveto ldf + /knockout_unitsq + { + 1 setgray + 0 0 1 1 rectfill + }def + level2/setcolorspace AGMCORE_key_known not and{ + /AGMCORE_&&&setcolorspace/setcolorspace ldf + /AGMCORE_ReplaceMappedColor + { + dup type dup/arraytype eq exch/packedarraytype eq or + { + /AGMCORE_SpotAliasAry2 where{ + begin + dup 0 get dup/Separation eq + { + pop + dup length array copy + dup dup 1 get + current_spot_alias + { + dup map_alias + { + false set_spot_alias + dup 1 exch setsepcolorspace + true set_spot_alias + begin + /sep_colorspace_dict currentdict AGMCORE_gput + pop pop pop + [ + /Separation Name + CSA map_csa + MappedCSA + /sep_colorspace_proc load + ] + dup Name + end + }if + }if + map_reserved_ink_name 1 xpt + }{ + /DeviceN eq + { + dup length array copy + dup dup 1 get[ + exch{ + current_spot_alias{ + dup map_alias{ + /Name get exch pop + }if + }if + map_reserved_ink_name + }forall + ]1 xpt + }if + }ifelse + end + }if + }if + }def + /setcolorspace + { + dup type dup/arraytype eq exch/packedarraytype eq or + { + dup 0 get/Indexed eq + { + AGMCORE_distilling + { + /PhotoshopDuotoneList where + { + pop false + }{ + true + }ifelse + }{ + true + }ifelse + { + aload pop 3 -1 roll + AGMCORE_ReplaceMappedColor + 3 1 roll 4 array astore + }if + }{ + AGMCORE_ReplaceMappedColor + }ifelse + }if + DeviceN_PS2_inRip_seps{AGMCORE_&&&setcolorspace}if + }def + }if + }{ + /adj + { + currentstrokeadjust{ + transform + 0.25 sub round 0.25 add exch + 0.25 sub round 0.25 add exch + itransform + }if + }def + /mo{ + adj moveto + }def + /li{ + adj lineto + }def + /cv{ + 6 2 roll adj + 6 2 roll adj + 6 2 roll adj curveto + }def + /knockout_unitsq + { + 1 setgray + 8 8 1[8 0 0 8 0 0]{}image + }def + /currentstrokeadjust{ + /currentstrokeadjust AGMCORE_gget + }def + /setstrokeadjust{ + /currentstrokeadjust exch AGMCORE_gput + }def + /setcolorspace + { + /currentcolorspace exch AGMCORE_gput + }def + /currentcolorspace + { + /currentcolorspace AGMCORE_gget + }def + /setcolor_devicecolor + { + base_colorspace_type + dup/DeviceGray eq{ + pop setgray + }{ + /DeviceCMYK eq{ + setcmykcolor + }{ + setrgbcolor + }ifelse + }ifelse + }def + /setcolor + { + currentcolorspace 0 get + dup/DeviceGray ne{ + dup/DeviceCMYK ne{ + dup/DeviceRGB ne{ + dup/Separation eq{ + pop + currentcolorspace 3 gx + currentcolorspace 2 get + }{ + dup/Indexed eq{ + pop + currentcolorspace 3 get dup type/stringtype eq{ + currentcolorspace 1 get n_color_components + 3 -1 roll map_index + }{ + exec + }ifelse + currentcolorspace 1 get + }{ + /AGMCORE_cur_err/AGMCORE_invalid_color_space def + AGMCORE_invalid_color_space + }ifelse + }ifelse + }if + }if + }if + setcolor_devicecolor + }def + }ifelse + /sop/setoverprint ldf + /lw/setlinewidth ldf + /lc/setlinecap ldf + /lj/setlinejoin ldf + /ml/setmiterlimit ldf + /dsh/setdash ldf + /sadj/setstrokeadjust ldf + /gry/setgray ldf + /rgb/setrgbcolor ldf + /cmyk[ + /currentcolorspace[/DeviceCMYK]/AGMCORE_gput cvx + /setcmykcolor load dup type/operatortype ne{/exec cvx}if + ]cvx bdf + level3 AGMCORE_host_sep not and{ + /nzopmsc{ + 6 dict begin + /kk exch def + /yy exch def + /mm exch def + /cc exch def + /sum 0 def + cc 0 ne{/sum sum 2#1000 or def cc}if + mm 0 ne{/sum sum 2#0100 or def mm}if + yy 0 ne{/sum sum 2#0010 or def yy}if + kk 0 ne{/sum sum 2#0001 or def kk}if + AGMCORE_CMYKDeviceNColorspaces sum get setcolorspace + sum 0 eq{0}if + end + setcolor + }bdf + }{ + /nzopmsc/cmyk ldf + }ifelse + /sep/setsepcolor ldf + /devn/setdevicencolor ldf + /idx/setindexedcolor ldf + /colr/setcolor ldf + /csacrd/set_csa_crd ldf + /sepcs/setsepcolorspace ldf + /devncs/setdevicencolorspace ldf + /idxcs/setindexedcolorspace ldf + /cp/closepath ldf + /clp/clp_npth ldf + /eclp/eoclp_npth ldf + /f/fill ldf + /ef/eofill ldf + /@/stroke ldf + /nclp/npth_clp ldf + /gset/graphic_setup ldf + /gcln/graphic_cleanup ldf + /ct/concat ldf + /cf/currentfile ldf + /fl/filter ldf + /rs/readstring ldf + /AGMCORE_def_ht currenthalftone def + /clonedict Adobe_AGM_Utils begin/clonedict load end def + /clonearray Adobe_AGM_Utils begin/clonearray load end def + currentdict{ + dup xcheck 1 index type dup/arraytype eq exch/packedarraytype eq or and{ + bind + }if + def + }forall + /getrampcolor + { + /indx exch def + 0 1 NumComp 1 sub + { + dup + Samples exch get + dup type/stringtype eq{indx get}if + exch + Scaling exch get aload pop + 3 1 roll + mul add + }for + ColorSpaceFamily/Separation eq + {sep} + { + ColorSpaceFamily/DeviceN eq + {devn}{setcolor}ifelse + }ifelse + }bdf + /sssetbackground{ + aload pop + ColorSpaceFamily/Separation eq + {sep} + { + ColorSpaceFamily/DeviceN eq + {devn}{setcolor}ifelse + }ifelse + }bdf + /RadialShade + { + 40 dict begin + /ColorSpaceFamily xdf + /background xdf + /ext1 xdf + /ext0 xdf + /BBox xdf + /r2 xdf + /c2y xdf + /c2x xdf + /r1 xdf + /c1y xdf + /c1x xdf + /rampdict xdf + /setinkoverprint where{pop/setinkoverprint{pop}def}if + gsave + BBox length 0 gt + { + np + BBox 0 get BBox 1 get moveto + BBox 2 get BBox 0 get sub 0 rlineto + 0 BBox 3 get BBox 1 get sub rlineto + BBox 2 get BBox 0 get sub neg 0 rlineto + closepath + clip + np + }if + c1x c2x eq + { + c1y c2y lt{/theta 90 def}{/theta 270 def}ifelse + }{ + /slope c2y c1y sub c2x c1x sub div def + /theta slope 1 atan def + c2x c1x lt c2y c1y ge and{/theta theta 180 sub def}if + c2x c1x lt c2y c1y lt and{/theta theta 180 add def}if + }ifelse + gsave + clippath + c1x c1y translate + theta rotate + -90 rotate + {pathbbox}stopped + {0 0 0 0}if + /yMax xdf + /xMax xdf + /yMin xdf + /xMin xdf + grestore + xMax xMin eq yMax yMin eq or + { + grestore + end + }{ + /max{2 copy gt{pop}{exch pop}ifelse}bdf + /min{2 copy lt{pop}{exch pop}ifelse}bdf + rampdict begin + 40 dict begin + background length 0 gt{background sssetbackground gsave clippath fill grestore}if + gsave + c1x c1y translate + theta rotate + -90 rotate + /c2y c1x c2x sub dup mul c1y c2y sub dup mul add sqrt def + /c1y 0 def + /c1x 0 def + /c2x 0 def + ext0 + { + 0 getrampcolor + c2y r2 add r1 sub 0.0001 lt + { + c1x c1y r1 360 0 arcn + pathbbox + /aymax exch def + /axmax exch def + /aymin exch def + /axmin exch def + /bxMin xMin axmin min def + /byMin yMin aymin min def + /bxMax xMax axmax max def + /byMax yMax aymax max def + bxMin byMin moveto + bxMax byMin lineto + bxMax byMax lineto + bxMin byMax lineto + bxMin byMin lineto + eofill + }{ + c2y r1 add r2 le + { + c1x c1y r1 0 360 arc + fill + } + { + c2x c2y r2 0 360 arc fill + r1 r2 eq + { + /p1x r1 neg def + /p1y c1y def + /p2x r1 def + /p2y c1y def + p1x p1y moveto p2x p2y lineto p2x yMin lineto p1x yMin lineto + fill + }{ + /AA r2 r1 sub c2y div def + AA -1 eq + {/theta 89.99 def} + {/theta AA 1 AA dup mul sub sqrt div 1 atan def} + ifelse + /SS1 90 theta add dup sin exch cos div def + /p1x r1 SS1 SS1 mul SS1 SS1 mul 1 add div sqrt mul neg def + /p1y p1x SS1 div neg def + /SS2 90 theta sub dup sin exch cos div def + /p2x r1 SS2 SS2 mul SS2 SS2 mul 1 add div sqrt mul def + /p2y p2x SS2 div neg def + r1 r2 gt + { + /L1maxX p1x yMin p1y sub SS1 div add def + /L2maxX p2x yMin p2y sub SS2 div add def + }{ + /L1maxX 0 def + /L2maxX 0 def + }ifelse + p1x p1y moveto p2x p2y lineto L2maxX L2maxX p2x sub SS2 mul p2y add lineto + L1maxX L1maxX p1x sub SS1 mul p1y add lineto + fill + }ifelse + }ifelse + }ifelse + }if + c1x c2x sub dup mul + c1y c2y sub dup mul + add 0.5 exp + 0 dtransform + dup mul exch dup mul add 0.5 exp 72 div + 0 72 matrix defaultmatrix dtransform dup mul exch dup mul add sqrt + 72 0 matrix defaultmatrix dtransform dup mul exch dup mul add sqrt + 1 index 1 index lt{exch}if pop + /hires xdf + hires mul + /numpix xdf + /numsteps NumSamples def + /rampIndxInc 1 def + /subsampling false def + numpix 0 ne + { + NumSamples numpix div 0.5 gt + { + /numsteps numpix 2 div round cvi dup 1 le{pop 2}if def + /rampIndxInc NumSamples 1 sub numsteps div def + /subsampling true def + }if + }if + /xInc c2x c1x sub numsteps div def + /yInc c2y c1y sub numsteps div def + /rInc r2 r1 sub numsteps div def + /cx c1x def + /cy c1y def + /radius r1 def + np + xInc 0 eq yInc 0 eq rInc 0 eq and and + { + 0 getrampcolor + cx cy radius 0 360 arc + stroke + NumSamples 1 sub getrampcolor + cx cy radius 72 hires div add 0 360 arc + 0 setlinewidth + stroke + }{ + 0 + numsteps + { + dup + subsampling{round cvi}if + getrampcolor + cx cy radius 0 360 arc + /cx cx xInc add def + /cy cy yInc add def + /radius radius rInc add def + cx cy radius 360 0 arcn + eofill + rampIndxInc add + }repeat + pop + }ifelse + ext1 + { + c2y r2 add r1 lt + { + c2x c2y r2 0 360 arc + fill + }{ + c2y r1 add r2 sub 0.0001 le + { + c2x c2y r2 360 0 arcn + pathbbox + /aymax exch def + /axmax exch def + /aymin exch def + /axmin exch def + /bxMin xMin axmin min def + /byMin yMin aymin min def + /bxMax xMax axmax max def + /byMax yMax aymax max def + bxMin byMin moveto + bxMax byMin lineto + bxMax byMax lineto + bxMin byMax lineto + bxMin byMin lineto + eofill + }{ + c2x c2y r2 0 360 arc fill + r1 r2 eq + { + /p1x r2 neg def + /p1y c2y def + /p2x r2 def + /p2y c2y def + p1x p1y moveto p2x p2y lineto p2x yMax lineto p1x yMax lineto + fill + }{ + /AA r2 r1 sub c2y div def + AA -1 eq + {/theta 89.99 def} + {/theta AA 1 AA dup mul sub sqrt div 1 atan def} + ifelse + /SS1 90 theta add dup sin exch cos div def + /p1x r2 SS1 SS1 mul SS1 SS1 mul 1 add div sqrt mul neg def + /p1y c2y p1x SS1 div sub def + /SS2 90 theta sub dup sin exch cos div def + /p2x r2 SS2 SS2 mul SS2 SS2 mul 1 add div sqrt mul def + /p2y c2y p2x SS2 div sub def + r1 r2 lt + { + /L1maxX p1x yMax p1y sub SS1 div add def + /L2maxX p2x yMax p2y sub SS2 div add def + }{ + /L1maxX 0 def + /L2maxX 0 def + }ifelse + p1x p1y moveto p2x p2y lineto L2maxX L2maxX p2x sub SS2 mul p2y add lineto + L1maxX L1maxX p1x sub SS1 mul p1y add lineto + fill + }ifelse + }ifelse + }ifelse + }if + grestore + grestore + end + end + end + }ifelse + }bdf + /GenStrips + { + 40 dict begin + /ColorSpaceFamily xdf + /background xdf + /ext1 xdf + /ext0 xdf + /BBox xdf + /y2 xdf + /x2 xdf + /y1 xdf + /x1 xdf + /rampdict xdf + /setinkoverprint where{pop/setinkoverprint{pop}def}if + gsave + BBox length 0 gt + { + np + BBox 0 get BBox 1 get moveto + BBox 2 get BBox 0 get sub 0 rlineto + 0 BBox 3 get BBox 1 get sub rlineto + BBox 2 get BBox 0 get sub neg 0 rlineto + closepath + clip + np + }if + x1 x2 eq + { + y1 y2 lt{/theta 90 def}{/theta 270 def}ifelse + }{ + /slope y2 y1 sub x2 x1 sub div def + /theta slope 1 atan def + x2 x1 lt y2 y1 ge and{/theta theta 180 sub def}if + x2 x1 lt y2 y1 lt and{/theta theta 180 add def}if + } + ifelse + gsave + clippath + x1 y1 translate + theta rotate + {pathbbox}stopped + {0 0 0 0}if + /yMax exch def + /xMax exch def + /yMin exch def + /xMin exch def + grestore + xMax xMin eq yMax yMin eq or + { + grestore + end + }{ + rampdict begin + 20 dict begin + background length 0 gt{background sssetbackground gsave clippath fill grestore}if + gsave + x1 y1 translate + theta rotate + /xStart 0 def + /xEnd x2 x1 sub dup mul y2 y1 sub dup mul add 0.5 exp def + /ySpan yMax yMin sub def + /numsteps NumSamples def + /rampIndxInc 1 def + /subsampling false def + xStart 0 transform + xEnd 0 transform + 3 -1 roll + sub dup mul + 3 1 roll + sub dup mul + add 0.5 exp 72 div + 0 72 matrix defaultmatrix dtransform dup mul exch dup mul add sqrt + 72 0 matrix defaultmatrix dtransform dup mul exch dup mul add sqrt + 1 index 1 index lt{exch}if pop + mul + /numpix xdf + numpix 0 ne + { + NumSamples numpix div 0.5 gt + { + /numsteps numpix 2 div round cvi dup 1 le{pop 2}if def + /rampIndxInc NumSamples 1 sub numsteps div def + /subsampling true def + }if + }if + ext0 + { + 0 getrampcolor + xMin xStart lt + { + xMin yMin xMin neg ySpan rectfill + }if + }if + /xInc xEnd xStart sub numsteps div def + /x xStart def + 0 + numsteps + { + dup + subsampling{round cvi}if + getrampcolor + x yMin xInc ySpan rectfill + /x x xInc add def + rampIndxInc add + }repeat + pop + ext1{ + xMax xEnd gt + { + xEnd yMin xMax xEnd sub ySpan rectfill + }if + }if + grestore + grestore + end + end + end + }ifelse + }bdf +}def +/pt +{ + end +}def +/dt{ +}def +/pgsv{ + //Adobe_AGM_Core/AGMCORE_save save put +}def +/pgrs{ + //Adobe_AGM_Core/AGMCORE_save get restore +}def +systemdict/findcolorrendering known{ + /findcolorrendering systemdict/findcolorrendering get def +}if +systemdict/setcolorrendering known{ + /setcolorrendering systemdict/setcolorrendering get def +}if +/test_cmyk_color_plate +{ + gsave + setcmykcolor currentgray 1 ne + grestore +}def +/inRip_spot_has_ink +{ + dup//Adobe_AGM_Core/AGMCORE_name xddf + convert_spot_to_process not +}def +/map255_to_range +{ + 1 index sub + 3 -1 roll 255 div mul add +}def +/set_csa_crd +{ + /sep_colorspace_dict null AGMCORE_gput + begin + CSA get_csa_by_name setcolorspace_opt + set_crd + end +} +def +/map_csa +{ + currentdict/MappedCSA known{MappedCSA null ne}{false}ifelse + {pop}{get_csa_by_name/MappedCSA xdf}ifelse +}def +/setsepcolor +{ + /sep_colorspace_dict AGMCORE_gget begin + dup/sep_tint exch AGMCORE_gput + TintProc + end +}def +/setdevicencolor +{ + /devicen_colorspace_dict AGMCORE_gget begin + Names length copy + Names length 1 sub -1 0 + { + /devicen_tints AGMCORE_gget 3 1 roll xpt + }for + TintProc + end +}def +/sep_colorspace_proc +{ + /AGMCORE_tmp exch store + /sep_colorspace_dict AGMCORE_gget begin + currentdict/Components known{ + Components aload pop + TintMethod/Lab eq{ + 2{AGMCORE_tmp mul NComponents 1 roll}repeat + LMax sub AGMCORE_tmp mul LMax add NComponents 1 roll + }{ + TintMethod/Subtractive eq{ + NComponents{ + AGMCORE_tmp mul NComponents 1 roll + }repeat + }{ + NComponents{ + 1 sub AGMCORE_tmp mul 1 add NComponents 1 roll + }repeat + }ifelse + }ifelse + }{ + ColorLookup AGMCORE_tmp ColorLookup length 1 sub mul round cvi get + aload pop + }ifelse + end +}def +/sep_colorspace_gray_proc +{ + /AGMCORE_tmp exch store + /sep_colorspace_dict AGMCORE_gget begin + GrayLookup AGMCORE_tmp GrayLookup length 1 sub mul round cvi get + end +}def +/sep_proc_name +{ + dup 0 get + dup/DeviceRGB eq exch/DeviceCMYK eq or level2 not and has_color not and{ + pop[/DeviceGray] + /sep_colorspace_gray_proc + }{ + /sep_colorspace_proc + }ifelse +}def +/setsepcolorspace +{ + current_spot_alias{ + dup begin + Name map_alias{ + exch pop + }if + end + }if + dup/sep_colorspace_dict exch AGMCORE_gput + begin + CSA map_csa + /AGMCORE_sep_special Name dup()eq exch(All)eq or store + AGMCORE_avoid_L2_sep_space{ + [/Indexed MappedCSA sep_proc_name 255 exch + {255 div}/exec cvx 3 -1 roll[4 1 roll load/exec cvx]cvx + ]setcolorspace_opt + /TintProc{ + 255 mul round cvi setcolor + }bdf + }{ + MappedCSA 0 get/DeviceCMYK eq + currentdict/Components known and + AGMCORE_sep_special not and{ + /TintProc[ + Components aload pop Name findcmykcustomcolor + /exch cvx/setcustomcolor cvx + ]cvx bdf + }{ + AGMCORE_host_sep Name(All)eq and{ + /TintProc{ + 1 exch sub setseparationgray + }bdf + }{ + AGMCORE_in_rip_sep MappedCSA 0 get/DeviceCMYK eq and + AGMCORE_host_sep or + Name()eq and{ + /TintProc[ + MappedCSA sep_proc_name exch 0 get/DeviceCMYK eq{ + cvx/setcmykcolor cvx + }{ + cvx/setgray cvx + }ifelse + ]cvx bdf + }{ + AGMCORE_producing_seps MappedCSA 0 get dup/DeviceCMYK eq exch/DeviceGray eq or and AGMCORE_sep_special not and{ + /TintProc[ + /dup cvx + MappedCSA sep_proc_name cvx exch + 0 get/DeviceGray eq{ + 1/exch cvx/sub cvx 0 0 0 4 -1/roll cvx + }if + /Name cvx/findcmykcustomcolor cvx/exch cvx + AGMCORE_host_sep{ + AGMCORE_is_cmyk_sep + /Name cvx + /AGMCORE_IsSeparationAProcessColor load/exec cvx + /not cvx/and cvx + }{ + Name inRip_spot_has_ink not + }ifelse + [ + /pop cvx 1 + ]cvx/if cvx + /setcustomcolor cvx + ]cvx bdf + }{ + /TintProc{setcolor}bdf + [/Separation Name MappedCSA sep_proc_name load]setcolorspace_opt + }ifelse + }ifelse + }ifelse + }ifelse + }ifelse + set_crd + setsepcolor + end +}def +/additive_blend +{ + 3 dict begin + /numarrays xdf + /numcolors xdf + 0 1 numcolors 1 sub + { + /c1 xdf + 1 + 0 1 numarrays 1 sub + { + 1 exch add/index cvx + c1/get cvx/mul cvx + }for + numarrays 1 add 1/roll cvx + }for + numarrays[/pop cvx]cvx/repeat cvx + end +}def +/subtractive_blend +{ + 3 dict begin + /numarrays xdf + /numcolors xdf + 0 1 numcolors 1 sub + { + /c1 xdf + 1 1 + 0 1 numarrays 1 sub + { + 1 3 3 -1 roll add/index cvx + c1/get cvx/sub cvx/mul cvx + }for + /sub cvx + numarrays 1 add 1/roll cvx + }for + numarrays[/pop cvx]cvx/repeat cvx + end +}def +/exec_tint_transform +{ + /TintProc[ + /TintTransform cvx/setcolor cvx + ]cvx bdf + MappedCSA setcolorspace_opt +}bdf +/devn_makecustomcolor +{ + 2 dict begin + /names_index xdf + /Names xdf + 1 1 1 1 Names names_index get findcmykcustomcolor + /devicen_tints AGMCORE_gget names_index get setcustomcolor + Names length{pop}repeat + end +}bdf +/setdevicencolorspace +{ + dup/AliasedColorants known{false}{true}ifelse + current_spot_alias and{ + 7 dict begin + /names_index 0 def + dup/names_len exch/Names get length def + /new_names names_len array def + /new_LookupTables names_len array def + /alias_cnt 0 def + dup/Names get + { + dup map_alias{ + exch pop + dup/ColorLookup known{ + dup begin + new_LookupTables names_index ColorLookup put + end + }{ + dup/Components known{ + dup begin + new_LookupTables names_index Components put + end + }{ + dup begin + new_LookupTables names_index[null null null null]put + end + }ifelse + }ifelse + new_names names_index 3 -1 roll/Name get put + /alias_cnt alias_cnt 1 add def + }{ + /name xdf + new_names names_index name put + dup/LookupTables known{ + dup begin + new_LookupTables names_index LookupTables names_index get put + end + }{ + dup begin + new_LookupTables names_index[null null null null]put + end + }ifelse + }ifelse + /names_index names_index 1 add def + }forall + alias_cnt 0 gt{ + /AliasedColorants true def + /lut_entry_len new_LookupTables 0 get dup length 256 ge{0 get length}{length}ifelse def + 0 1 names_len 1 sub{ + /names_index xdf + new_LookupTables names_index get dup length 256 ge{0 get length}{length}ifelse lut_entry_len ne{ + /AliasedColorants false def + exit + }{ + new_LookupTables names_index get 0 get null eq{ + dup/Names get names_index get/name xdf + name(Cyan)eq name(Magenta)eq name(Yellow)eq name(Black)eq + or or or not{ + /AliasedColorants false def + exit + }if + }if + }ifelse + }for + lut_entry_len 1 eq{ + /AliasedColorants false def + }if + AliasedColorants{ + dup begin + /Names new_names def + /LookupTables new_LookupTables def + /AliasedColorants true def + /NComponents lut_entry_len def + /TintMethod NComponents 4 eq{/Subtractive}{/Additive}ifelse def + /MappedCSA TintMethod/Additive eq{/DeviceRGB}{/DeviceCMYK}ifelse def + currentdict/TTTablesIdx known not{ + /TTTablesIdx -1 def + }if + end + }if + }if + end + }if + dup/devicen_colorspace_dict exch AGMCORE_gput + begin + currentdict/AliasedColorants known{ + AliasedColorants + }{ + false + }ifelse + dup not{ + CSA map_csa + }if + /TintTransform load type/nulltype eq or{ + /TintTransform[ + 0 1 Names length 1 sub + { + /TTTablesIdx TTTablesIdx 1 add def + dup LookupTables exch get dup 0 get null eq + { + 1 index + Names exch get + dup(Cyan)eq + { + pop exch + LookupTables length exch sub + /index cvx + 0 0 0 + } + { + dup(Magenta)eq + { + pop exch + LookupTables length exch sub + /index cvx + 0/exch cvx 0 0 + }{ + (Yellow)eq + { + exch + LookupTables length exch sub + /index cvx + 0 0 3 -1/roll cvx 0 + }{ + exch + LookupTables length exch sub + /index cvx + 0 0 0 4 -1/roll cvx + }ifelse + }ifelse + }ifelse + 5 -1/roll cvx/astore cvx + }{ + dup length 1 sub + LookupTables length 4 -1 roll sub 1 add + /index cvx/mul cvx/round cvx/cvi cvx/get cvx + }ifelse + Names length TTTablesIdx add 1 add 1/roll cvx + }for + Names length[/pop cvx]cvx/repeat cvx + NComponents Names length + TintMethod/Subtractive eq + { + subtractive_blend + }{ + additive_blend + }ifelse + ]cvx bdf + }if + AGMCORE_host_sep{ + Names convert_to_process{ + exec_tint_transform + } + { + currentdict/AliasedColorants known{ + AliasedColorants not + }{ + false + }ifelse + 5 dict begin + /AvoidAliasedColorants xdf + /painted? false def + /names_index 0 def + /names_len Names length def + AvoidAliasedColorants{ + /currentspotalias current_spot_alias def + false set_spot_alias + }if + Names{ + AGMCORE_is_cmyk_sep{ + dup(Cyan)eq AGMCORE_cyan_plate and exch + dup(Magenta)eq AGMCORE_magenta_plate and exch + dup(Yellow)eq AGMCORE_yellow_plate and exch + (Black)eq AGMCORE_black_plate and or or or{ + /devicen_colorspace_dict AGMCORE_gget/TintProc[ + Names names_index/devn_makecustomcolor cvx + ]cvx ddf + /painted? true def + }if + painted?{exit}if + }{ + 0 0 0 0 5 -1 roll findcmykcustomcolor 1 setcustomcolor currentgray 0 eq{ + /devicen_colorspace_dict AGMCORE_gget/TintProc[ + Names names_index/devn_makecustomcolor cvx + ]cvx ddf + /painted? true def + exit + }if + }ifelse + /names_index names_index 1 add def + }forall + AvoidAliasedColorants{ + currentspotalias set_spot_alias + }if + painted?{ + /devicen_colorspace_dict AGMCORE_gget/names_index names_index put + }{ + /devicen_colorspace_dict AGMCORE_gget/TintProc[ + names_len[/pop cvx]cvx/repeat cvx 1/setseparationgray cvx + 0 0 0 0/setcmykcolor cvx + ]cvx ddf + }ifelse + end + }ifelse + } + { + AGMCORE_in_rip_sep{ + Names convert_to_process not + }{ + level3 + }ifelse + { + [/DeviceN Names MappedCSA/TintTransform load]setcolorspace_opt + /TintProc level3 not AGMCORE_in_rip_sep and{ + [ + Names/length cvx[/pop cvx]cvx/repeat cvx + ]cvx bdf + }{ + {setcolor}bdf + }ifelse + }{ + exec_tint_transform + }ifelse + }ifelse + set_crd + /AliasedColorants false def + end +}def +/setindexedcolorspace +{ + dup/indexed_colorspace_dict exch AGMCORE_gput + begin + currentdict/CSDBase known{ + CSDBase/CSD get_res begin + currentdict/Names known{ + currentdict devncs + }{ + 1 currentdict sepcs + }ifelse + AGMCORE_host_sep{ + 4 dict begin + /compCnt/Names where{pop Names length}{1}ifelse def + /NewLookup HiVal 1 add string def + 0 1 HiVal{ + /tableIndex xdf + Lookup dup type/stringtype eq{ + compCnt tableIndex map_index + }{ + exec + }ifelse + /Names where{ + pop setdevicencolor + }{ + setsepcolor + }ifelse + currentgray + tableIndex exch + 255 mul cvi + NewLookup 3 1 roll put + }for + [/Indexed currentcolorspace HiVal NewLookup]setcolorspace_opt + end + }{ + level3 + { + currentdict/Names known{ + [/Indexed[/DeviceN Names MappedCSA/TintTransform load]HiVal Lookup]setcolorspace_opt + }{ + [/Indexed[/Separation Name MappedCSA sep_proc_name load]HiVal Lookup]setcolorspace_opt + }ifelse + }{ + [/Indexed MappedCSA HiVal + [ + currentdict/Names known{ + Lookup dup type/stringtype eq + {/exch cvx CSDBase/CSD get_res/Names get length dup/mul cvx exch/getinterval cvx{255 div}/forall cvx} + {/exec cvx}ifelse + /TintTransform load/exec cvx + }{ + Lookup dup type/stringtype eq + {/exch cvx/get cvx 255/div cvx} + {/exec cvx}ifelse + CSDBase/CSD get_res/MappedCSA get sep_proc_name exch pop/load cvx/exec cvx + }ifelse + ]cvx + ]setcolorspace_opt + }ifelse + }ifelse + end + set_crd + } + { + CSA map_csa + AGMCORE_host_sep level2 not and{ + 0 0 0 0 setcmykcolor + }{ + [/Indexed MappedCSA + level2 not has_color not and{ + dup 0 get dup/DeviceRGB eq exch/DeviceCMYK eq or{ + pop[/DeviceGray] + }if + HiVal GrayLookup + }{ + HiVal + currentdict/RangeArray known{ + { + /indexed_colorspace_dict AGMCORE_gget begin + Lookup exch + dup HiVal gt{ + pop HiVal + }if + NComponents mul NComponents getinterval{}forall + NComponents 1 sub -1 0{ + RangeArray exch 2 mul 2 getinterval aload pop map255_to_range + NComponents 1 roll + }for + end + }bind + }{ + Lookup + }ifelse + }ifelse + ]setcolorspace_opt + set_crd + }ifelse + }ifelse + end +}def +/setindexedcolor +{ + AGMCORE_host_sep{ + /indexed_colorspace_dict AGMCORE_gget + begin + currentdict/CSDBase known{ + CSDBase/CSD get_res begin + currentdict/Names known{ + map_indexed_devn + devn + } + { + Lookup 1 3 -1 roll map_index + sep + }ifelse + end + }{ + Lookup MappedCSA/DeviceCMYK eq{4}{1}ifelse 3 -1 roll + map_index + MappedCSA/DeviceCMYK eq{setcmykcolor}{setgray}ifelse + }ifelse + end + }{ + level3 not AGMCORE_in_rip_sep and/indexed_colorspace_dict AGMCORE_gget/CSDBase known and{ + /indexed_colorspace_dict AGMCORE_gget/CSDBase get/CSD get_res begin + map_indexed_devn + devn + end + } + { + setcolor + }ifelse + }ifelse +}def +/ignoreimagedata +{ + currentoverprint not{ + gsave + dup clonedict begin + 1 setgray + /Decode[0 1]def + /DataSourcedef + /MultipleDataSources false def + /BitsPerComponent 8 def + currentdict end + systemdict/image gx + grestore + }if + consumeimagedata +}def +/add_res +{ + dup/CSD eq{ + pop + //Adobe_AGM_Core begin + /AGMCORE_CSD_cache load 3 1 roll put + end + }{ + defineresource pop + }ifelse +}def +/del_res +{ + { + aload pop exch + dup/CSD eq{ + pop + {//Adobe_AGM_Core/AGMCORE_CSD_cache get exch undef}forall + }{ + exch + {1 index undefineresource}forall + pop + }ifelse + }forall +}def +/get_res +{ + dup/CSD eq{ + pop + dup type dup/nametype eq exch/stringtype eq or{ + AGMCORE_CSD_cache exch get + }if + }{ + findresource + }ifelse +}def +/get_csa_by_name +{ + dup type dup/nametype eq exch/stringtype eq or{ + /CSA get_res + }if +}def +/paintproc_buf_init +{ + /count get 0 0 put +}def +/paintproc_buf_next +{ + dup/count get dup 0 get + dup 3 1 roll + 1 add 0 xpt + get +}def +/cachepaintproc_compress +{ + 5 dict begin + currentfile exch 0 exch/SubFileDecode filter/ReadFilter exch def + /ppdict 20 dict def + /string_size 16000 def + /readbuffer string_size string def + currentglobal true setglobal + ppdict 1 array dup 0 1 put/count xpt + setglobal + /LZWFilter + { + exch + dup length 0 eq{ + pop + }{ + ppdict dup length 1 sub 3 -1 roll put + }ifelse + {string_size}{0}ifelse string + }/LZWEncode filter def + { + ReadFilter readbuffer readstring + exch LZWFilter exch writestring + not{exit}if + }loop + LZWFilter closefile + ppdict + end +}def +/cachepaintproc +{ + 2 dict begin + currentfile exch 0 exch/SubFileDecode filter/ReadFilter exch def + /ppdict 20 dict def + currentglobal true setglobal + ppdict 1 array dup 0 1 put/count xpt + setglobal + { + ReadFilter 16000 string readstring exch + ppdict dup length 1 sub 3 -1 roll put + not{exit}if + }loop + ppdict dup dup length 1 sub()put + end +}def +/make_pattern +{ + exch clonedict exch + dup matrix currentmatrix matrix concatmatrix 0 0 3 2 roll itransform + exch 3 index/XStep get 1 index exch 2 copy div cvi mul sub sub + exch 3 index/YStep get 1 index exch 2 copy div cvi mul sub sub + matrix translate exch matrix concatmatrix + 1 index begin + BBox 0 get XStep div cvi XStep mul/xshift exch neg def + BBox 1 get YStep div cvi YStep mul/yshift exch neg def + BBox 0 get xshift add + BBox 1 get yshift add + BBox 2 get xshift add + BBox 3 get yshift add + 4 array astore + /BBox exch def + [xshift yshift/translate load null/exec load]dup + 3/PaintProc load put cvx/PaintProc exch def + end + gsave 0 setgray + makepattern + grestore +}def +/set_pattern +{ + dup/PatternType get 1 eq{ + dup/PaintType get 1 eq{ + currentoverprint sop[/DeviceGray]setcolorspace 0 setgray + }if + }if + setpattern +}def +/setcolorspace_opt +{ + dup currentcolorspace eq{pop}{setcolorspace}ifelse +}def +/updatecolorrendering +{ + currentcolorrendering/RenderingIntent known{ + currentcolorrendering/RenderingIntent get + } + { + Intent/AbsoluteColorimetric eq + { + /absolute_colorimetric_crd AGMCORE_gget dup null eq + } + { + Intent/RelativeColorimetric eq + { + /relative_colorimetric_crd AGMCORE_gget dup null eq + } + { + Intent/Saturation eq + { + /saturation_crd AGMCORE_gget dup null eq + } + { + /perceptual_crd AGMCORE_gget dup null eq + }ifelse + }ifelse + }ifelse + { + pop null + } + { + /RenderingIntent known{null}{Intent}ifelse + }ifelse + }ifelse + Intent ne{ + Intent/ColorRendering{findresource}stopped + { + pop pop systemdict/findcolorrendering known + { + Intent findcolorrendering + { + /ColorRendering findresource true exch + } + { + /ColorRendering findresource + product(Xerox Phaser 5400)ne + exch + }ifelse + dup Intent/AbsoluteColorimetric eq + { + /absolute_colorimetric_crd exch AGMCORE_gput + } + { + Intent/RelativeColorimetric eq + { + /relative_colorimetric_crd exch AGMCORE_gput + } + { + Intent/Saturation eq + { + /saturation_crd exch AGMCORE_gput + } + { + Intent/Perceptual eq + { + /perceptual_crd exch AGMCORE_gput + } + { + pop + }ifelse + }ifelse + }ifelse + }ifelse + 1 index{exch}{pop}ifelse + } + {false}ifelse + } + {true}ifelse + { + dup begin + currentdict/TransformPQR known{ + currentdict/TransformPQR get aload pop + 3{{}eq 3 1 roll}repeat or or + } + {true}ifelse + currentdict/MatrixPQR known{ + currentdict/MatrixPQR get aload pop + 1.0 eq 9 1 roll 0.0 eq 9 1 roll 0.0 eq 9 1 roll + 0.0 eq 9 1 roll 1.0 eq 9 1 roll 0.0 eq 9 1 roll + 0.0 eq 9 1 roll 0.0 eq 9 1 roll 1.0 eq + and and and and and and and and + } + {true}ifelse + end + or + { + clonedict begin + /TransformPQR[ + {4 -1 roll 3 get dup 3 1 roll sub 5 -1 roll 3 get 3 -1 roll sub div + 3 -1 roll 3 get 3 -1 roll 3 get dup 4 1 roll sub mul add}bind + {4 -1 roll 4 get dup 3 1 roll sub 5 -1 roll 4 get 3 -1 roll sub div + 3 -1 roll 4 get 3 -1 roll 4 get dup 4 1 roll sub mul add}bind + {4 -1 roll 5 get dup 3 1 roll sub 5 -1 roll 5 get 3 -1 roll sub div + 3 -1 roll 5 get 3 -1 roll 5 get dup 4 1 roll sub mul add}bind + ]def + /MatrixPQR[0.8951 -0.7502 0.0389 0.2664 1.7135 -0.0685 -0.1614 0.0367 1.0296]def + /RangePQR[-0.3227950745 2.3229645538 -1.5003771057 3.5003465881 -0.1369979095 2.136967392]def + currentdict end + }if + setcolorrendering_opt + }if + }if +}def +/set_crd +{ + AGMCORE_host_sep not level2 and{ + currentdict/ColorRendering known{ + ColorRendering/ColorRendering{findresource}stopped not{setcolorrendering_opt}if + }{ + currentdict/Intent known{ + updatecolorrendering + }if + }ifelse + currentcolorspace dup type/arraytype eq + {0 get}if + /DeviceRGB eq + { + currentdict/UCR known + {/UCR}{/AGMCORE_currentucr}ifelse + load setundercolorremoval + currentdict/BG known + {/BG}{/AGMCORE_currentbg}ifelse + load setblackgeneration + }if + }if +}def +/set_ucrbg +{ + dup null eq{pop/AGMCORE_currentbg load}{/Procedure get_res}ifelse setblackgeneration + dup null eq{pop/AGMCORE_currentucr load}{/Procedure get_res}ifelse setundercolorremoval +}def +/setcolorrendering_opt +{ + dup currentcolorrendering eq{ + pop + }{ + product(HP Color LaserJet 2605)anchorsearch{ + pop pop pop + }{ + pop + clonedict + begin + /Intent Intent def + currentdict + end + setcolorrendering + }ifelse + }ifelse +}def +/cpaint_gcomp +{ + convert_to_process//Adobe_AGM_Core/AGMCORE_ConvertToProcess xddf + //Adobe_AGM_Core/AGMCORE_ConvertToProcess get not + { + (%end_cpaint_gcomp)flushinput + }if +}def +/cpaint_gsep +{ + //Adobe_AGM_Core/AGMCORE_ConvertToProcess get + { + (%end_cpaint_gsep)flushinput + }if +}def +/cpaint_gend +{np}def +/T1_path +{ + currentfile token pop currentfile token pop mo + { + currentfile token pop dup type/stringtype eq + {pop exit}if + 0 exch rlineto + currentfile token pop dup type/stringtype eq + {pop exit}if + 0 rlineto + }loop +}def +/T1_gsave + level3 + {/clipsave} + {/gsave}ifelse + load def +/T1_grestore + level3 + {/cliprestore} + {/grestore}ifelse + load def +/set_spot_alias_ary +{ + dup inherit_aliases + //Adobe_AGM_Core/AGMCORE_SpotAliasAry xddf +}def +/set_spot_normalization_ary +{ + dup inherit_aliases + dup length + /AGMCORE_SpotAliasAry where{pop AGMCORE_SpotAliasAry length add}if + array + //Adobe_AGM_Core/AGMCORE_SpotAliasAry2 xddf + /AGMCORE_SpotAliasAry where{ + pop + AGMCORE_SpotAliasAry2 0 AGMCORE_SpotAliasAry putinterval + AGMCORE_SpotAliasAry length + }{0}ifelse + AGMCORE_SpotAliasAry2 3 1 roll exch putinterval + true set_spot_alias +}def +/inherit_aliases +{ + {dup/Name get map_alias{/CSD put}{pop}ifelse}forall +}def +/set_spot_alias +{ + /AGMCORE_SpotAliasAry2 where{ + /AGMCORE_current_spot_alias 3 -1 roll put + }{ + pop + }ifelse +}def +/current_spot_alias +{ + /AGMCORE_SpotAliasAry2 where{ + /AGMCORE_current_spot_alias get + }{ + false + }ifelse +}def +/map_alias +{ + /AGMCORE_SpotAliasAry2 where{ + begin + /AGMCORE_name xdf + false + AGMCORE_SpotAliasAry2{ + dup/Name get AGMCORE_name eq{ + /CSD get/CSD get_res + exch pop true + exit + }{ + pop + }ifelse + }forall + end + }{ + pop false + }ifelse +}bdf +/spot_alias +{ + true set_spot_alias + /AGMCORE_&setcustomcolor AGMCORE_key_known not{ + //Adobe_AGM_Core/AGMCORE_&setcustomcolor/setcustomcolor load put + }if + /customcolor_tint 1 AGMCORE_gput + //Adobe_AGM_Core begin + /setcustomcolor + { + //Adobe_AGM_Core begin + dup/customcolor_tint exch AGMCORE_gput + 1 index aload pop pop 1 eq exch 1 eq and exch 1 eq and exch 1 eq and not + current_spot_alias and{1 index 4 get map_alias}{false}ifelse + { + false set_spot_alias + /sep_colorspace_dict AGMCORE_gget null ne + {/sep_colorspace_dict AGMCORE_gget/ForeignContent known not}{false}ifelse + 3 1 roll 2 index{ + exch pop/sep_tint AGMCORE_gget exch + }if + mark 3 1 roll + setsepcolorspace + counttomark 0 ne{ + setsepcolor + }if + pop + not{/sep_tint 1.0 AGMCORE_gput/sep_colorspace_dict AGMCORE_gget/ForeignContent true put}if + pop + true set_spot_alias + }{ + AGMCORE_&setcustomcolor + }ifelse + end + }bdf + end +}def +/begin_feature +{ + Adobe_AGM_Core/AGMCORE_feature_dictCount countdictstack put + count Adobe_AGM_Core/AGMCORE_feature_opCount 3 -1 roll put + {Adobe_AGM_Core/AGMCORE_feature_ctm matrix currentmatrix put}if +}def +/end_feature +{ + 2 dict begin + /spd/setpagedevice load def + /setpagedevice{get_gstate spd set_gstate}def + stopped{$error/newerror false put}if + end + count Adobe_AGM_Core/AGMCORE_feature_opCount get sub dup 0 gt{{pop}repeat}{pop}ifelse + countdictstack Adobe_AGM_Core/AGMCORE_feature_dictCount get sub dup 0 gt{{end}repeat}{pop}ifelse + {Adobe_AGM_Core/AGMCORE_feature_ctm get setmatrix}if +}def +/set_negative +{ + //Adobe_AGM_Core begin + /AGMCORE_inverting exch def + level2{ + currentpagedevice/NegativePrint known AGMCORE_distilling not and{ + currentpagedevice/NegativePrint get//Adobe_AGM_Core/AGMCORE_inverting get ne{ + true begin_feature true{ + <>setpagedevice + }end_feature + }if + /AGMCORE_inverting false def + }if + }if + AGMCORE_inverting{ + [{1 exch sub}/exec load dup currenttransfer exch]cvx bind settransfer + AGMCORE_distilling{ + erasepage + }{ + gsave np clippath 1/setseparationgray where{pop setseparationgray}{setgray}ifelse + /AGMIRS_&fill where{pop AGMIRS_&fill}{fill}ifelse grestore + }ifelse + }if + end +}def +/lw_save_restore_override{ + /md where{ + pop + md begin + initializepage + /initializepage{}def + /pmSVsetup{}def + /endp{}def + /pse{}def + /psb{}def + /orig_showpage where + {pop} + {/orig_showpage/showpage load def} + ifelse + /showpage{orig_showpage gR}def + end + }if +}def +/pscript_showpage_override{ + /NTPSOct95 where + { + begin + showpage + save + /showpage/restore load def + /restore{exch pop}def + end + }if +}def +/driver_media_override +{ + /md where{ + pop + md/initializepage known{ + md/initializepage{}put + }if + md/rC known{ + md/rC{4{pop}repeat}put + }if + }if + /mysetup where{ + /mysetup[1 0 0 1 0 0]put + }if + Adobe_AGM_Core/AGMCORE_Default_CTM matrix currentmatrix put + level2 + {Adobe_AGM_Core/AGMCORE_Default_PageSize currentpagedevice/PageSize get put}if +}def +/capture_mysetup +{ + /Pscript_Win_Data where{ + pop + Pscript_Win_Data/mysetup known{ + Adobe_AGM_Core/save_mysetup Pscript_Win_Data/mysetup get put + }if + }if +}def +/restore_mysetup +{ + /Pscript_Win_Data where{ + pop + Pscript_Win_Data/mysetup known{ + Adobe_AGM_Core/save_mysetup known{ + Pscript_Win_Data/mysetup Adobe_AGM_Core/save_mysetup get put + Adobe_AGM_Core/save_mysetup undef + }if + }if + }if +}def +/driver_check_media_override +{ + /PrepsDict where + {pop} + { + Adobe_AGM_Core/AGMCORE_Default_CTM get matrix currentmatrix ne + Adobe_AGM_Core/AGMCORE_Default_PageSize get type/arraytype eq + { + Adobe_AGM_Core/AGMCORE_Default_PageSize get 0 get currentpagedevice/PageSize get 0 get eq and + Adobe_AGM_Core/AGMCORE_Default_PageSize get 1 get currentpagedevice/PageSize get 1 get eq and + }if + { + Adobe_AGM_Core/AGMCORE_Default_CTM get setmatrix + }if + }ifelse +}def +AGMCORE_err_strings begin + /AGMCORE_bad_environ(Environment not satisfactory for this job. Ensure that the PPD is correct or that the PostScript level requested is supported by this printer. )def + /AGMCORE_color_space_onhost_seps(This job contains colors that will not separate with on-host methods. )def + /AGMCORE_invalid_color_space(This job contains an invalid color space. )def +end +/set_def_ht +{AGMCORE_def_ht sethalftone}def +/set_def_flat +{AGMCORE_Default_flatness setflat}def +end +systemdict/setpacking known +{setpacking}if +%%EndResource +%%BeginResource: procset Adobe_CoolType_Core 2.31 0 %%Copyright: Copyright 1997-2006 Adobe Systems Incorporated. All Rights Reserved. %%Version: 2.31 0 10 dict begin /Adobe_CoolType_Passthru currentdict def /Adobe_CoolType_Core_Defined userdict/Adobe_CoolType_Core known def Adobe_CoolType_Core_Defined {/Adobe_CoolType_Core userdict/Adobe_CoolType_Core get def} if userdict/Adobe_CoolType_Core 70 dict dup begin put /Adobe_CoolType_Version 2.31 def /Level2? systemdict/languagelevel known dup {pop systemdict/languagelevel get 2 ge} if def Level2? not { /currentglobal false def /setglobal/pop load def /gcheck{pop false}bind def /currentpacking false def /setpacking/pop load def /SharedFontDirectory 0 dict def } if currentpacking true setpacking currentglobal false setglobal userdict/Adobe_CoolType_Data 2 copy known not {2 copy 10 dict put} if get begin /@opStackCountByLevel 32 dict def /@opStackLevel 0 def /@dictStackCountByLevel 32 dict def /@dictStackLevel 0 def end setglobal currentglobal true setglobal userdict/Adobe_CoolType_GVMFonts known not {userdict/Adobe_CoolType_GVMFonts 10 dict put} if setglobal currentglobal false setglobal userdict/Adobe_CoolType_LVMFonts known not {userdict/Adobe_CoolType_LVMFonts 10 dict put} if setglobal /ct_VMDictPut { dup gcheck{Adobe_CoolType_GVMFonts}{Adobe_CoolType_LVMFonts}ifelse 3 1 roll put }bind def /ct_VMDictUndef { dup Adobe_CoolType_GVMFonts exch known {Adobe_CoolType_GVMFonts exch undef} { dup Adobe_CoolType_LVMFonts exch known {Adobe_CoolType_LVMFonts exch undef} {pop} ifelse }ifelse }bind def /ct_str1 1 string def /ct_xshow { /_ct_na exch def /_ct_i 0 def currentpoint /_ct_y exch def /_ct_x exch def { pop pop ct_str1 exch 0 exch put ct_str1 show {_ct_na _ct_i get}stopped {pop pop} { _ct_x _ct_y moveto 0 rmoveto } ifelse /_ct_i _ct_i 1 add def currentpoint /_ct_y exch def /_ct_x exch def } exch @cshow }bind def /ct_yshow { /_ct_na exch def /_ct_i 0 def currentpoint /_ct_y exch def /_ct_x exch def { pop pop ct_str1 exch 0 exch put ct_str1 show {_ct_na _ct_i get}stopped {pop pop} { _ct_x _ct_y moveto 0 exch rmoveto } ifelse /_ct_i _ct_i 1 add def currentpoint /_ct_y exch def /_ct_x exch def } exch @cshow }bind def /ct_xyshow { /_ct_na exch def /_ct_i 0 def currentpoint /_ct_y exch def /_ct_x exch def { pop pop ct_str1 exch 0 exch put ct_str1 show {_ct_na _ct_i get}stopped {pop pop} { {_ct_na _ct_i 1 add get}stopped {pop pop pop} { _ct_x _ct_y moveto rmoveto } ifelse } ifelse /_ct_i _ct_i 2 add def currentpoint /_ct_y exch def /_ct_x exch def } exch @cshow }bind def /xsh{{@xshow}stopped{Adobe_CoolType_Data begin ct_xshow end}if}bind def /ysh{{@yshow}stopped{Adobe_CoolType_Data begin ct_yshow end}if}bind def /xysh{{@xyshow}stopped{Adobe_CoolType_Data begin ct_xyshow end}if}bind def currentglobal true setglobal /ct_T3Defs { /BuildChar { 1 index/Encoding get exch get 1 index/BuildGlyph get exec }bind def /BuildGlyph { exch begin GlyphProcs exch get exec end }bind def }bind def setglobal /@_SaveStackLevels { Adobe_CoolType_Data begin /@vmState currentglobal def false setglobal @opStackCountByLevel @opStackLevel 2 copy known not { 2 copy 3 dict dup/args 7 index 5 add array put put get } { get dup/args get dup length 3 index lt { dup length 5 add array exch 1 index exch 0 exch putinterval 1 index exch/args exch put } {pop} ifelse } ifelse begin count 1 sub 1 index lt {pop count} if dup/argCount exch def dup 0 gt { args exch 0 exch getinterval astore pop } {pop} ifelse count /restCount exch def end /@opStackLevel @opStackLevel 1 add def countdictstack 1 sub @dictStackCountByLevel exch @dictStackLevel exch put /@dictStackLevel @dictStackLevel 1 add def @vmState setglobal end }bind def /@_RestoreStackLevels { Adobe_CoolType_Data begin /@opStackLevel @opStackLevel 1 sub def @opStackCountByLevel @opStackLevel get begin count restCount sub dup 0 gt {{pop}repeat} {pop} ifelse args 0 argCount getinterval{}forall end /@dictStackLevel @dictStackLevel 1 sub def @dictStackCountByLevel @dictStackLevel get end countdictstack exch sub dup 0 gt {{end}repeat} {pop} ifelse }bind def /@_PopStackLevels { Adobe_CoolType_Data begin /@opStackLevel @opStackLevel 1 sub def /@dictStackLevel @dictStackLevel 1 sub def end }bind def /@Raise { exch cvx exch errordict exch get exec stop }bind def /@ReRaise { cvx $error/errorname get errordict exch get exec stop }bind def /@Stopped { 0 @#Stopped }bind def /@#Stopped { @_SaveStackLevels stopped {@_RestoreStackLevels true} {@_PopStackLevels false} ifelse }bind def /@Arg { Adobe_CoolType_Data begin @opStackCountByLevel @opStackLevel 1 sub get begin args exch argCount 1 sub exch sub get end end }bind def currentglobal true setglobal /CTHasResourceForAllBug Level2? { 1 dict dup /@shouldNotDisappearDictValue true def Adobe_CoolType_Data exch/@shouldNotDisappearDict exch put begin count @_SaveStackLevels {(*){pop stop}128 string/Category resourceforall} stopped pop @_RestoreStackLevels currentdict Adobe_CoolType_Data/@shouldNotDisappearDict get dup 3 1 roll ne dup 3 1 roll { /@shouldNotDisappearDictValue known { { end currentdict 1 index eq {pop exit} if } loop } if } { pop end } ifelse } {false} ifelse def true setglobal /CTHasResourceStatusBug Level2? { mark {/steveamerige/Category resourcestatus} stopped {cleartomark true} {cleartomark currentglobal not} ifelse } {false} ifelse def setglobal /CTResourceStatus { mark 3 1 roll /Category findresource begin ({ResourceStatus}stopped)0()/SubFileDecode filter cvx exec {cleartomark false} {{3 2 roll pop true}{cleartomark false}ifelse} ifelse end }bind def /CTWorkAroundBugs { Level2? { /cid_PreLoad/ProcSet resourcestatus { pop pop currentglobal mark { (*) { dup/CMap CTHasResourceStatusBug {CTResourceStatus} {resourcestatus} ifelse { pop dup 0 eq exch 1 eq or { dup/CMap findresource gcheck setglobal /CMap undefineresource } { pop CTHasResourceForAllBug {exit} {stop} ifelse } ifelse } {pop} ifelse } 128 string/CMap resourceforall } stopped {cleartomark} stopped pop setglobal } if } if }bind def /ds { Adobe_CoolType_Core begin CTWorkAroundBugs /mo/moveto load def /nf/newencodedfont load def /msf{makefont setfont}bind def /uf{dup undefinefont ct_VMDictUndef}bind def /ur/undefineresource load def /chp/charpath load def /awsh/awidthshow load def /wsh/widthshow load def /ash/ashow load def /@xshow/xshow load def /@yshow/yshow load def /@xyshow/xyshow load def /@cshow/cshow load def /sh/show load def /rp/repeat load def /.n/.notdef def end currentglobal false setglobal userdict/Adobe_CoolType_Data 2 copy known not {2 copy 10 dict put} if get begin /AddWidths? false def /CC 0 def /charcode 2 string def /@opStackCountByLevel 32 dict def /@opStackLevel 0 def /@dictStackCountByLevel 32 dict def /@dictStackLevel 0 def /InVMFontsByCMap 10 dict def /InVMDeepCopiedFonts 10 dict def end setglobal }bind def /dt { currentdict Adobe_CoolType_Core eq {end} if }bind def /ps { Adobe_CoolType_Core begin Adobe_CoolType_GVMFonts begin Adobe_CoolType_LVMFonts begin SharedFontDirectory begin }bind def /pt { end end end end }bind def /unload { systemdict/languagelevel known { systemdict/languagelevel get 2 ge { userdict/Adobe_CoolType_Core 2 copy known {undef} {pop pop} ifelse } if } if }bind def /ndf { 1 index where {pop pop pop} {dup xcheck{bind}if def} ifelse }def /findfont systemdict begin userdict begin /globaldict where{/globaldict get begin}if dup where pop exch get /globaldict where{pop end}if end end Adobe_CoolType_Core_Defined {/systemfindfont exch def} { /findfont 1 index def /systemfindfont exch def } ifelse /undefinefont {pop}ndf /copyfont { currentglobal 3 1 roll 1 index gcheck setglobal dup null eq{0}{dup length}ifelse 2 index length add 1 add dict begin exch { 1 index/FID eq {pop pop} {def} ifelse } forall dup null eq {pop} {{def}forall} ifelse currentdict end exch setglobal }bind def /copyarray { currentglobal exch dup gcheck setglobal dup length array copy exch setglobal }bind def /newencodedfont { currentglobal { SharedFontDirectory 3 index known {SharedFontDirectory 3 index get/FontReferenced known} {false} ifelse } { FontDirectory 3 index known {FontDirectory 3 index get/FontReferenced known} { SharedFontDirectory 3 index known {SharedFontDirectory 3 index get/FontReferenced known} {false} ifelse } ifelse } ifelse dup { 3 index findfont/FontReferenced get 2 index dup type/nametype eq {findfont} if ne {pop false} if } if dup { 1 index dup type/nametype eq {findfont} if dup/CharStrings known { /CharStrings get length 4 index findfont/CharStrings get length ne { pop false } if } {pop} ifelse } if { pop 1 index findfont /Encoding get exch 0 1 255 {2 copy get 3 index 3 1 roll put} for pop pop pop } { currentglobal 4 1 roll dup type/nametype eq {findfont} if dup gcheck setglobal dup dup maxlength 2 add dict begin exch { 1 index/FID ne 2 index/Encoding ne and {def} {pop pop} ifelse } forall /FontReferenced exch def /Encoding exch dup length array copy def /FontName 1 index dup type/stringtype eq{cvn}if def dup currentdict end definefont ct_VMDictPut setglobal } ifelse }bind def /SetSubstituteStrategy { $SubstituteFont begin dup type/dicttype ne {0 dict} if currentdict/$Strategies known { exch $Strategies exch 2 copy known { get 2 copy maxlength exch maxlength add dict begin {def}forall {def}forall currentdict dup/$Init known {dup/$Init get exec} if end /$Strategy exch def } {pop pop pop} ifelse } {pop pop} ifelse end }bind def /scff { $SubstituteFont begin dup type/stringtype eq {dup length exch} {null} ifelse /$sname exch def /$slen exch def /$inVMIndex $sname null eq { 1 index $str cvs dup length $slen sub $slen getinterval cvn } {$sname} ifelse def end {findfont} @Stopped { dup length 8 add string exch 1 index 0(BadFont:)putinterval 1 index exch 8 exch dup length string cvs putinterval cvn {findfont} @Stopped {pop/Courier findfont} if } if $SubstituteFont begin /$sname null def /$slen 0 def /$inVMIndex null def end }bind def /isWidthsOnlyFont { dup/WidthsOnly known {pop pop true} { dup/FDepVector known {/FDepVector get{isWidthsOnlyFont dup{exit}if}forall} { dup/FDArray known {/FDArray get{isWidthsOnlyFont dup{exit}if}forall} {pop} ifelse } ifelse } ifelse }bind def /ct_StyleDicts 4 dict dup begin /Adobe-Japan1 4 dict dup begin Level2? { /Serif /HeiseiMin-W3-83pv-RKSJ-H/Font resourcestatus {pop pop/HeiseiMin-W3} { /CIDFont/Category resourcestatus { pop pop /HeiseiMin-W3/CIDFont resourcestatus {pop pop/HeiseiMin-W3} {/Ryumin-Light} ifelse } {/Ryumin-Light} ifelse } ifelse def /SansSerif /HeiseiKakuGo-W5-83pv-RKSJ-H/Font resourcestatus {pop pop/HeiseiKakuGo-W5} { /CIDFont/Category resourcestatus { pop pop /HeiseiKakuGo-W5/CIDFont resourcestatus {pop pop/HeiseiKakuGo-W5} {/GothicBBB-Medium} ifelse } {/GothicBBB-Medium} ifelse } ifelse def /HeiseiMaruGo-W4-83pv-RKSJ-H/Font resourcestatus {pop pop/HeiseiMaruGo-W4} { /CIDFont/Category resourcestatus { pop pop /HeiseiMaruGo-W4/CIDFont resourcestatus {pop pop/HeiseiMaruGo-W4} { /Jun101-Light-RKSJ-H/Font resourcestatus {pop pop/Jun101-Light} {SansSerif} ifelse } ifelse } { /Jun101-Light-RKSJ-H/Font resourcestatus {pop pop/Jun101-Light} {SansSerif} ifelse } ifelse } ifelse /RoundSansSerif exch def /Default Serif def } { /Serif/Ryumin-Light def /SansSerif/GothicBBB-Medium def { (fonts/Jun101-Light-83pv-RKSJ-H)status }stopped {pop}{ {pop pop pop pop/Jun101-Light} {SansSerif} ifelse /RoundSansSerif exch def }ifelse /Default Serif def } ifelse end def /Adobe-Korea1 4 dict dup begin /Serif/HYSMyeongJo-Medium def /SansSerif/HYGoThic-Medium def /RoundSansSerif SansSerif def /Default Serif def end def /Adobe-GB1 4 dict dup begin /Serif/STSong-Light def /SansSerif/STHeiti-Regular def /RoundSansSerif SansSerif def /Default Serif def end def /Adobe-CNS1 4 dict dup begin /Serif/MKai-Medium def /SansSerif/MHei-Medium def /RoundSansSerif SansSerif def /Default Serif def end def end def Level2?{currentglobal true setglobal}if /ct_BoldRomanWidthProc { stringwidth 1 index 0 ne{exch .03 add exch}if setcharwidth 0 0 }bind def /ct_Type0WidthProc { dup stringwidth 0 0 moveto 2 index true charpath pathbbox 0 -1 7 index 2 div .88 setcachedevice2 pop 0 0 }bind def /ct_Type0WMode1WidthProc { dup stringwidth pop 2 div neg -0.88 2 copy moveto 0 -1 5 -1 roll true charpath pathbbox setcachedevice }bind def /cHexEncoding [/c00/c01/c02/c03/c04/c05/c06/c07/c08/c09/c0A/c0B/c0C/c0D/c0E/c0F/c10/c11/c12 /c13/c14/c15/c16/c17/c18/c19/c1A/c1B/c1C/c1D/c1E/c1F/c20/c21/c22/c23/c24/c25 /c26/c27/c28/c29/c2A/c2B/c2C/c2D/c2E/c2F/c30/c31/c32/c33/c34/c35/c36/c37/c38 /c39/c3A/c3B/c3C/c3D/c3E/c3F/c40/c41/c42/c43/c44/c45/c46/c47/c48/c49/c4A/c4B /c4C/c4D/c4E/c4F/c50/c51/c52/c53/c54/c55/c56/c57/c58/c59/c5A/c5B/c5C/c5D/c5E /c5F/c60/c61/c62/c63/c64/c65/c66/c67/c68/c69/c6A/c6B/c6C/c6D/c6E/c6F/c70/c71 /c72/c73/c74/c75/c76/c77/c78/c79/c7A/c7B/c7C/c7D/c7E/c7F/c80/c81/c82/c83/c84 /c85/c86/c87/c88/c89/c8A/c8B/c8C/c8D/c8E/c8F/c90/c91/c92/c93/c94/c95/c96/c97 /c98/c99/c9A/c9B/c9C/c9D/c9E/c9F/cA0/cA1/cA2/cA3/cA4/cA5/cA6/cA7/cA8/cA9/cAA /cAB/cAC/cAD/cAE/cAF/cB0/cB1/cB2/cB3/cB4/cB5/cB6/cB7/cB8/cB9/cBA/cBB/cBC/cBD /cBE/cBF/cC0/cC1/cC2/cC3/cC4/cC5/cC6/cC7/cC8/cC9/cCA/cCB/cCC/cCD/cCE/cCF/cD0 /cD1/cD2/cD3/cD4/cD5/cD6/cD7/cD8/cD9/cDA/cDB/cDC/cDD/cDE/cDF/cE0/cE1/cE2/cE3 /cE4/cE5/cE6/cE7/cE8/cE9/cEA/cEB/cEC/cED/cEE/cEF/cF0/cF1/cF2/cF3/cF4/cF5/cF6 /cF7/cF8/cF9/cFA/cFB/cFC/cFD/cFE/cFF]def /ct_BoldBaseFont 11 dict begin /FontType 3 def /FontMatrix[1 0 0 1 0 0]def /FontBBox[0 0 1 1]def /Encoding cHexEncoding def /_setwidthProc/ct_BoldRomanWidthProc load def /_bcstr1 1 string def /BuildChar { exch begin _basefont setfont _bcstr1 dup 0 4 -1 roll put dup _setwidthProc 3 copy moveto show _basefonto setfont moveto show end }bind def currentdict end def systemdict/composefont known { /ct_DefineIdentity-H { /Identity-H/CMap resourcestatus { pop pop } { /CIDInit/ProcSet findresource begin 12 dict begin begincmap /CIDSystemInfo 3 dict dup begin /Registry(Adobe)def /Ordering(Identity)def /Supplement 0 def end def /CMapName/Identity-H def /CMapVersion 1.000 def /CMapType 1 def 1 begincodespacerange <0000> endcodespacerange 1 begincidrange <0000>0 endcidrange endcmap CMapName currentdict/CMap defineresource pop end end } ifelse } def /ct_BoldBaseCIDFont 11 dict begin /CIDFontType 1 def /CIDFontName/ct_BoldBaseCIDFont def /FontMatrix[1 0 0 1 0 0]def /FontBBox[0 0 1 1]def /_setwidthProc/ct_Type0WidthProc load def /_bcstr2 2 string def /BuildGlyph { exch begin _basefont setfont _bcstr2 1 2 index 256 mod put _bcstr2 0 3 -1 roll 256 idiv put _bcstr2 dup _setwidthProc 3 copy moveto show _basefonto setfont moveto show end }bind def currentdict end def }if Level2?{setglobal}if /ct_CopyFont{ { 1 index/FID ne 2 index/UniqueID ne and {def}{pop pop}ifelse }forall }bind def /ct_Type0CopyFont { exch dup length dict begin ct_CopyFont [ exch FDepVector { dup/FontType get 0 eq { 1 index ct_Type0CopyFont /_ctType0 exch definefont } { /_ctBaseFont exch 2 index exec } ifelse exch } forall pop ] /FDepVector exch def currentdict end }bind def /ct_MakeBoldFont { dup/ct_SyntheticBold known { dup length 3 add dict begin ct_CopyFont /ct_StrokeWidth .03 0 FontMatrix idtransform pop def /ct_SyntheticBold true def currentdict end definefont } { dup dup length 3 add dict begin ct_CopyFont /PaintType 2 def /StrokeWidth .03 0 FontMatrix idtransform pop def /dummybold currentdict end definefont dup/FontType get dup 9 ge exch 11 le and { ct_BoldBaseCIDFont dup length 3 add dict copy begin dup/CIDSystemInfo get/CIDSystemInfo exch def ct_DefineIdentity-H /_Type0Identity/Identity-H 3 -1 roll[exch]composefont /_basefont exch def /_Type0Identity/Identity-H 3 -1 roll[exch]composefont /_basefonto exch def currentdict end /CIDFont defineresource } { ct_BoldBaseFont dup length 3 add dict copy begin /_basefont exch def /_basefonto exch def currentdict end definefont } ifelse } ifelse }bind def /ct_MakeBold{ 1 index 1 index findfont currentglobal 5 1 roll dup gcheck setglobal dup /FontType get 0 eq { dup/WMode known{dup/WMode get 1 eq}{false}ifelse version length 4 ge and {version 0 4 getinterval cvi 2015 ge} {true} ifelse {/ct_Type0WidthProc} {/ct_Type0WMode1WidthProc} ifelse ct_BoldBaseFont/_setwidthProc 3 -1 roll load put {ct_MakeBoldFont}ct_Type0CopyFont definefont } { dup/_fauxfont known not 1 index/SubstMaster known not and { ct_BoldBaseFont/_setwidthProc /ct_BoldRomanWidthProc load put ct_MakeBoldFont } { 2 index 2 index eq {exch pop } { dup length dict begin ct_CopyFont currentdict end definefont } ifelse } ifelse } ifelse pop pop pop setglobal }bind def /?str1 256 string def /?set { $SubstituteFont begin /$substituteFound false def /$fontname 1 index def /$doSmartSub false def end dup findfont $SubstituteFont begin $substituteFound {false} { dup/FontName known { dup/FontName get $fontname eq 1 index/DistillerFauxFont known not and /currentdistillerparams where {pop false 2 index isWidthsOnlyFont not and} if } {false} ifelse } ifelse exch pop /$doSmartSub true def end { 5 1 roll pop pop pop pop findfont } { 1 index findfont dup/FontType get 3 eq { 6 1 roll pop pop pop pop pop false } {pop true} ifelse { $SubstituteFont begin pop pop /$styleArray 1 index def /$regOrdering 2 index def pop pop 0 1 $styleArray length 1 sub { $styleArray exch get ct_StyleDicts $regOrdering 2 copy known { get exch 2 copy known not {pop/Default} if get dup type/nametype eq { ?str1 cvs length dup 1 add exch ?str1 exch(-)putinterval exch dup length exch ?str1 exch 3 index exch putinterval add ?str1 exch 0 exch getinterval cvn } { pop pop/Unknown } ifelse } { pop pop pop pop/Unknown } ifelse } for end findfont }if } ifelse currentglobal false setglobal 3 1 roll null copyfont definefont pop setglobal }bind def setpacking userdict/$SubstituteFont 25 dict put 1 dict begin /SubstituteFont dup $error exch 2 copy known {get} {pop pop{pop/Courier}bind} ifelse def /currentdistillerparams where dup { pop pop currentdistillerparams/CannotEmbedFontPolicy 2 copy known {get/Error eq} {pop pop false} ifelse } if not { countdictstack array dictstack 0 get begin userdict begin $SubstituteFont begin /$str 128 string def /$fontpat 128 string def /$slen 0 def /$sname null def /$match false def /$fontname null def /$substituteFound false def /$inVMIndex null def /$doSmartSub true def /$depth 0 def /$fontname null def /$italicangle 26.5 def /$dstack null def /$Strategies 10 dict dup begin /$Type3Underprint { currentglobal exch false setglobal 11 dict begin /UseFont exch $WMode 0 ne { dup length dict copy dup/WMode $WMode put /UseFont exch definefont } if def /FontName $fontname dup type/stringtype eq{cvn}if def /FontType 3 def /FontMatrix[.001 0 0 .001 0 0]def /Encoding 256 array dup 0 1 255{/.notdef put dup}for pop def /FontBBox[0 0 0 0]def /CCInfo 7 dict dup begin /cc null def /x 0 def /y 0 def end def /BuildChar { exch begin CCInfo begin 1 string dup 0 3 index put exch pop /cc exch def UseFont 1000 scalefont setfont cc stringwidth/y exch def/x exch def x y setcharwidth $SubstituteFont/$Strategy get/$Underprint get exec 0 0 moveto cc show x y moveto end end }bind def currentdict end exch setglobal }bind def /$GetaTint 2 dict dup begin /$BuildFont { dup/WMode known {dup/WMode get} {0} ifelse /$WMode exch def $fontname exch dup/FontName known { dup/FontName get dup type/stringtype eq{cvn}if } {/unnamedfont} ifelse exch Adobe_CoolType_Data/InVMDeepCopiedFonts get 1 index/FontName get known { pop Adobe_CoolType_Data/InVMDeepCopiedFonts get 1 index get null copyfont } {$deepcopyfont} ifelse exch 1 index exch/FontBasedOn exch put dup/FontName $fontname dup type/stringtype eq{cvn}if put definefont Adobe_CoolType_Data/InVMDeepCopiedFonts get begin dup/FontBasedOn get 1 index def end }bind def /$Underprint { gsave x abs y abs gt {/y 1000 def} {/x -1000 def 500 120 translate} ifelse Level2? { [/Separation(All)/DeviceCMYK{0 0 0 1 pop}] setcolorspace } {0 setgray} ifelse 10 setlinewidth x .8 mul [7 3] { y mul 8 div 120 sub x 10 div exch moveto 0 y 4 div neg rlineto dup 0 rlineto 0 y 4 div rlineto closepath gsave Level2? {.2 setcolor} {.8 setgray} ifelse fill grestore stroke } forall pop grestore }bind def end def /$Oblique 1 dict dup begin /$BuildFont { currentglobal exch dup gcheck setglobal null copyfont begin /FontBasedOn currentdict/FontName known { FontName dup type/stringtype eq{cvn}if } {/unnamedfont} ifelse def /FontName $fontname dup type/stringtype eq{cvn}if def /currentdistillerparams where {pop} { /FontInfo currentdict/FontInfo known {FontInfo null copyfont} {2 dict} ifelse dup begin /ItalicAngle $italicangle def /FontMatrix FontMatrix [1 0 ItalicAngle dup sin exch cos div 1 0 0] matrix concatmatrix readonly end 4 2 roll def def } ifelse FontName currentdict end definefont exch setglobal }bind def end def /$None 1 dict dup begin /$BuildFont{}bind def end def end def /$Oblique SetSubstituteStrategy /$findfontByEnum { dup type/stringtype eq{cvn}if dup/$fontname exch def $sname null eq {$str cvs dup length $slen sub $slen getinterval} {pop $sname} ifelse $fontpat dup 0(fonts/*)putinterval exch 7 exch putinterval /$match false def $SubstituteFont/$dstack countdictstack array dictstack put mark { $fontpat 0 $slen 7 add getinterval {/$match exch def exit} $str filenameforall } stopped { cleardictstack currentdict true $SubstituteFont/$dstack get { exch { 1 index eq {pop false} {true} ifelse } {begin false} ifelse } forall pop } if cleartomark /$slen 0 def $match false ne {$match(fonts/)anchorsearch pop pop cvn} {/Courier} ifelse }bind def /$ROS 1 dict dup begin /Adobe 4 dict dup begin /Japan1 [/Ryumin-Light/HeiseiMin-W3 /GothicBBB-Medium/HeiseiKakuGo-W5 /HeiseiMaruGo-W4/Jun101-Light]def /Korea1 [/HYSMyeongJo-Medium/HYGoThic-Medium]def /GB1 [/STSong-Light/STHeiti-Regular]def /CNS1 [/MKai-Medium/MHei-Medium]def end def end def /$cmapname null def /$deepcopyfont { dup/FontType get 0 eq { 1 dict dup/FontName/copied put copyfont begin /FDepVector FDepVector copyarray 0 1 2 index length 1 sub { 2 copy get $deepcopyfont dup/FontName/copied put /copied exch definefont 3 copy put pop pop } for def currentdict end } {$Strategies/$Type3Underprint get exec} ifelse }bind def /$buildfontname { dup/CIDFont findresource/CIDSystemInfo get begin Registry length Ordering length Supplement 8 string cvs 3 copy length 2 add add add string dup 5 1 roll dup 0 Registry putinterval dup 4 index(-)putinterval dup 4 index 1 add Ordering putinterval 4 2 roll add 1 add 2 copy(-)putinterval end 1 add 2 copy 0 exch getinterval $cmapname $fontpat cvs exch anchorsearch {pop pop 3 2 roll putinterval cvn/$cmapname exch def} {pop pop pop pop pop} ifelse length $str 1 index(-)putinterval 1 add $str 1 index $cmapname $fontpat cvs putinterval $cmapname length add $str exch 0 exch getinterval cvn }bind def /$findfontByROS { /$fontname exch def $ROS Registry 2 copy known { get Ordering 2 copy known {get} {pop pop[]} ifelse } {pop pop[]} ifelse false exch { dup/CIDFont resourcestatus { pop pop save 1 index/CIDFont findresource dup/WidthsOnly known {dup/WidthsOnly get} {false} ifelse exch pop exch restore {pop} {exch pop true exit} ifelse } {pop} ifelse } forall {$str cvs $buildfontname} { false(*) { save exch dup/CIDFont findresource dup/WidthsOnly known {dup/WidthsOnly get not} {true} ifelse exch/CIDSystemInfo get dup/Registry get Registry eq exch/Ordering get Ordering eq and and {exch restore exch pop true exit} {pop restore} ifelse } $str/CIDFont resourceforall {$buildfontname} {$fontname $findfontByEnum} ifelse } ifelse }bind def end end currentdict/$error known currentdict/languagelevel known and dup {pop $error/SubstituteFont known} if dup {$error} {Adobe_CoolType_Core} ifelse begin { /SubstituteFont /CMap/Category resourcestatus { pop pop { $SubstituteFont begin /$substituteFound true def dup length $slen gt $sname null ne or $slen 0 gt and { $sname null eq {dup $str cvs dup length $slen sub $slen getinterval cvn} {$sname} ifelse Adobe_CoolType_Data/InVMFontsByCMap get 1 index 2 copy known { get false exch { pop currentglobal { GlobalFontDirectory 1 index known {exch pop true exit} {pop} ifelse } { FontDirectory 1 index known {exch pop true exit} { GlobalFontDirectory 1 index known {exch pop true exit} {pop} ifelse } ifelse } ifelse } forall } {pop pop false} ifelse { exch pop exch pop } { dup/CMap resourcestatus { pop pop dup/$cmapname exch def /CMap findresource/CIDSystemInfo get{def}forall $findfontByROS } { 128 string cvs dup(-)search { 3 1 roll search { 3 1 roll pop {dup cvi} stopped {pop pop pop pop pop $findfontByEnum} { 4 2 roll pop pop exch length exch 2 index length 2 index sub exch 1 sub -1 0 { $str cvs dup length 4 index 0 4 index 4 3 roll add getinterval exch 1 index exch 3 index exch putinterval dup/CMap resourcestatus { pop pop 4 1 roll pop pop pop dup/$cmapname exch def /CMap findresource/CIDSystemInfo get{def}forall $findfontByROS true exit } {pop} ifelse } for dup type/booleantype eq {pop} {pop pop pop $findfontByEnum} ifelse } ifelse } {pop pop pop $findfontByEnum} ifelse } {pop pop $findfontByEnum} ifelse } ifelse } ifelse } {//SubstituteFont exec} ifelse /$slen 0 def end } } { { $SubstituteFont begin /$substituteFound true def dup length $slen gt $sname null ne or $slen 0 gt and {$findfontByEnum} {//SubstituteFont exec} ifelse end } } ifelse bind readonly def Adobe_CoolType_Core/scfindfont/systemfindfont load put } { /scfindfont { $SubstituteFont begin dup systemfindfont dup/FontName known {dup/FontName get dup 3 index ne} {/noname true} ifelse dup { /$origfontnamefound 2 index def /$origfontname 4 index def/$substituteFound true def } if exch pop { $slen 0 gt $sname null ne 3 index length $slen gt or and { pop dup $findfontByEnum findfont dup maxlength 1 add dict begin {1 index/FID eq{pop pop}{def}ifelse} forall currentdict end definefont dup/FontName known{dup/FontName get}{null}ifelse $origfontnamefound ne { $origfontname $str cvs print ( substitution revised, using )print dup/FontName known {dup/FontName get}{(unspecified font)} ifelse $str cvs print(.\n)print } if } {exch pop} ifelse } {exch pop} ifelse end }bind def } ifelse end end Adobe_CoolType_Core_Defined not { Adobe_CoolType_Core/findfont { $SubstituteFont begin $depth 0 eq { /$fontname 1 index dup type/stringtype ne{$str cvs}if def /$substituteFound false def } if /$depth $depth 1 add def end scfindfont $SubstituteFont begin /$depth $depth 1 sub def $substituteFound $depth 0 eq and { $inVMIndex null ne {dup $inVMIndex $AddInVMFont} if $doSmartSub { currentdict/$Strategy known {$Strategy/$BuildFont get exec} if } if } if end }bind put } if } if end /$AddInVMFont { exch/FontName 2 copy known { get 1 dict dup begin exch 1 index gcheck def end exch Adobe_CoolType_Data/InVMFontsByCMap get exch $DictAdd } {pop pop pop} ifelse }bind def /$DictAdd { 2 copy known not {2 copy 4 index length dict put} if Level2? not { 2 copy get dup maxlength exch length 4 index length add lt 2 copy get dup length 4 index length add exch maxlength 1 index lt { 2 mul dict begin 2 copy get{forall}def 2 copy currentdict put end } {pop} ifelse } if get begin {def} forall end }bind def end end %%EndResource currentglobal true setglobal %%BeginResource: procset Adobe_CoolType_Utility_MAKEOCF 1.23 0 %%Copyright: Copyright 1987-2006 Adobe Systems Incorporated. %%Version: 1.23 0 systemdict/languagelevel known dup {currentglobal false setglobal} {false} ifelse exch userdict/Adobe_CoolType_Utility 2 copy known {2 copy get dup maxlength 27 add dict copy} {27 dict} ifelse put Adobe_CoolType_Utility begin /@eexecStartData def /@recognizeCIDFont null def /ct_Level2? exch def /ct_Clone? 1183615869 internaldict dup /CCRun known not exch/eCCRun known not ct_Level2? and or def ct_Level2? {globaldict begin currentglobal true setglobal} if /ct_AddStdCIDMap ct_Level2? {{ mark Adobe_CoolType_Utility/@recognizeCIDFont currentdict put { ((Hex)57 StartData 0615 1e27 2c39 1c60 d8a8 cc31 fe2b f6e0 7aa3 e541 e21c 60d8 a8c9 c3d0 6d9e 1c60 d8a8 c9c2 02d7 9a1c 60d8 a849 1c60 d8a8 cc36 74f4 1144 b13b 77)0()/SubFileDecode filter cvx exec } stopped { cleartomark Adobe_CoolType_Utility/@recognizeCIDFont get countdictstack dup array dictstack exch 1 sub -1 0 { 2 copy get 3 index eq {1 index length exch sub 1 sub{end}repeat exit} {pop} ifelse } for pop pop Adobe_CoolType_Utility/@eexecStartData get eexec } {cleartomark} ifelse }} {{ Adobe_CoolType_Utility/@eexecStartData get eexec }} ifelse bind def userdict/cid_extensions known dup{cid_extensions/cid_UpdateDB known and}if { cid_extensions begin /cid_GetCIDSystemInfo { 1 index type/stringtype eq {exch cvn exch} if cid_extensions begin dup load 2 index known { 2 copy cid_GetStatusInfo dup null ne { 1 index load 3 index get dup null eq {pop pop cid_UpdateDB} { exch 1 index/Created get eq {exch pop exch pop} {pop cid_UpdateDB} ifelse } ifelse } {pop cid_UpdateDB} ifelse } {cid_UpdateDB} ifelse end }bind def end } if ct_Level2? {end setglobal} if /ct_UseNativeCapability? systemdict/composefont known def /ct_MakeOCF 35 dict def /ct_Vars 25 dict def /ct_GlyphDirProcs 6 dict def /ct_BuildCharDict 15 dict dup begin /charcode 2 string def /dst_string 1500 string def /nullstring()def /usewidths? true def end def ct_Level2?{setglobal}{pop}ifelse ct_GlyphDirProcs begin /GetGlyphDirectory { systemdict/languagelevel known {pop/CIDFont findresource/GlyphDirectory get} { 1 index/CIDFont findresource/GlyphDirectory get dup type/dicttype eq { dup dup maxlength exch length sub 2 index lt { dup length 2 index add dict copy 2 index /CIDFont findresource/GlyphDirectory 2 index put } if } if exch pop exch pop } ifelse + }def /+ { systemdict/languagelevel known { currentglobal false setglobal 3 dict begin /vm exch def } {1 dict begin} ifelse /$ exch def systemdict/languagelevel known { vm setglobal /gvm currentglobal def $ gcheck setglobal } if ?{$ begin}if }def /?{$ type/dicttype eq}def /|{ userdict/Adobe_CoolType_Data known { Adobe_CoolType_Data/AddWidths? known { currentdict Adobe_CoolType_Data begin begin AddWidths? { Adobe_CoolType_Data/CC 3 index put ?{def}{$ 3 1 roll put}ifelse CC charcode exch 1 index 0 2 index 256 idiv put 1 index exch 1 exch 256 mod put stringwidth 2 array astore currentfont/Widths get exch CC exch put } {?{def}{$ 3 1 roll put}ifelse} ifelse end end } {?{def}{$ 3 1 roll put}ifelse} ifelse } {?{def}{$ 3 1 roll put}ifelse} ifelse }def /! { ?{end}if systemdict/languagelevel known {gvm setglobal} if end }def /:{string currentfile exch readstring pop}executeonly def end ct_MakeOCF begin /ct_cHexEncoding [/c00/c01/c02/c03/c04/c05/c06/c07/c08/c09/c0A/c0B/c0C/c0D/c0E/c0F/c10/c11/c12 /c13/c14/c15/c16/c17/c18/c19/c1A/c1B/c1C/c1D/c1E/c1F/c20/c21/c22/c23/c24/c25 /c26/c27/c28/c29/c2A/c2B/c2C/c2D/c2E/c2F/c30/c31/c32/c33/c34/c35/c36/c37/c38 /c39/c3A/c3B/c3C/c3D/c3E/c3F/c40/c41/c42/c43/c44/c45/c46/c47/c48/c49/c4A/c4B /c4C/c4D/c4E/c4F/c50/c51/c52/c53/c54/c55/c56/c57/c58/c59/c5A/c5B/c5C/c5D/c5E /c5F/c60/c61/c62/c63/c64/c65/c66/c67/c68/c69/c6A/c6B/c6C/c6D/c6E/c6F/c70/c71 /c72/c73/c74/c75/c76/c77/c78/c79/c7A/c7B/c7C/c7D/c7E/c7F/c80/c81/c82/c83/c84 /c85/c86/c87/c88/c89/c8A/c8B/c8C/c8D/c8E/c8F/c90/c91/c92/c93/c94/c95/c96/c97 /c98/c99/c9A/c9B/c9C/c9D/c9E/c9F/cA0/cA1/cA2/cA3/cA4/cA5/cA6/cA7/cA8/cA9/cAA /cAB/cAC/cAD/cAE/cAF/cB0/cB1/cB2/cB3/cB4/cB5/cB6/cB7/cB8/cB9/cBA/cBB/cBC/cBD /cBE/cBF/cC0/cC1/cC2/cC3/cC4/cC5/cC6/cC7/cC8/cC9/cCA/cCB/cCC/cCD/cCE/cCF/cD0 /cD1/cD2/cD3/cD4/cD5/cD6/cD7/cD8/cD9/cDA/cDB/cDC/cDD/cDE/cDF/cE0/cE1/cE2/cE3 /cE4/cE5/cE6/cE7/cE8/cE9/cEA/cEB/cEC/cED/cEE/cEF/cF0/cF1/cF2/cF3/cF4/cF5/cF6 /cF7/cF8/cF9/cFA/cFB/cFC/cFD/cFE/cFF]def /ct_CID_STR_SIZE 8000 def /ct_mkocfStr100 100 string def /ct_defaultFontMtx[.001 0 0 .001 0 0]def /ct_1000Mtx[1000 0 0 1000 0 0]def /ct_raise{exch cvx exch errordict exch get exec stop}bind def /ct_reraise {cvx $error/errorname get(Error: )print dup( )cvs print errordict exch get exec stop }bind def /ct_cvnsi { 1 index add 1 sub 1 exch 0 4 1 roll { 2 index exch get exch 8 bitshift add } for exch pop }bind def /ct_GetInterval { Adobe_CoolType_Utility/ct_BuildCharDict get begin /dst_index 0 def dup dst_string length gt {dup string/dst_string exch def} if 1 index ct_CID_STR_SIZE idiv /arrayIndex exch def 2 index arrayIndex get 2 index arrayIndex ct_CID_STR_SIZE mul sub { dup 3 index add 2 index length le { 2 index getinterval dst_string dst_index 2 index putinterval length dst_index add/dst_index exch def exit } { 1 index length 1 index sub dup 4 1 roll getinterval dst_string dst_index 2 index putinterval pop dup dst_index add/dst_index exch def sub /arrayIndex arrayIndex 1 add def 2 index dup length arrayIndex gt {arrayIndex get} { pop exit } ifelse 0 } ifelse } loop pop pop pop dst_string 0 dst_index getinterval end }bind def ct_Level2? { /ct_resourcestatus currentglobal mark true setglobal {/unknowninstancename/Category resourcestatus} stopped {cleartomark setglobal true} {cleartomark currentglobal not exch setglobal} ifelse { { mark 3 1 roll/Category findresource begin ct_Vars/vm currentglobal put ({ResourceStatus}stopped)0()/SubFileDecode filter cvx exec {cleartomark false} {{3 2 roll pop true}{cleartomark false}ifelse} ifelse ct_Vars/vm get setglobal end } } {{resourcestatus}} ifelse bind def /CIDFont/Category ct_resourcestatus {pop pop} { currentglobal true setglobal /Generic/Category findresource dup length dict copy dup/InstanceType/dicttype put /CIDFont exch/Category defineresource pop setglobal } ifelse ct_UseNativeCapability? { /CIDInit/ProcSet findresource begin 12 dict begin begincmap /CIDSystemInfo 3 dict dup begin /Registry(Adobe)def /Ordering(Identity)def /Supplement 0 def end def /CMapName/Identity-H def /CMapVersion 1.000 def /CMapType 1 def 1 begincodespacerange <0000> endcodespacerange 1 begincidrange <0000>0 endcidrange endcmap CMapName currentdict/CMap defineresource pop end end } if } { /ct_Category 2 dict begin /CIDFont 10 dict def /ProcSet 2 dict def currentdict end def /defineresource { ct_Category 1 index 2 copy known { get dup dup maxlength exch length eq { dup length 10 add dict copy ct_Category 2 index 2 index put } if 3 index 3 index put pop exch pop } {pop pop/defineresource/undefined ct_raise} ifelse }bind def /findresource { ct_Category 1 index 2 copy known { get 2 index 2 copy known {get 3 1 roll pop pop} {pop pop/findresource/undefinedresource ct_raise} ifelse } {pop pop/findresource/undefined ct_raise} ifelse }bind def /resourcestatus { ct_Category 1 index 2 copy known { get 2 index known exch pop exch pop { 0 -1 true } { false } ifelse } {pop pop/findresource/undefined ct_raise} ifelse }bind def /ct_resourcestatus/resourcestatus load def } ifelse /ct_CIDInit 2 dict begin /ct_cidfont_stream_init { { dup(Binary)eq { pop null currentfile ct_Level2? { {cid_BYTE_COUNT()/SubFileDecode filter} stopped {pop pop pop} if } if /readstring load exit } if dup(Hex)eq { pop currentfile ct_Level2? { {null exch/ASCIIHexDecode filter/readstring} stopped {pop exch pop(>)exch/readhexstring} if } {(>)exch/readhexstring} ifelse load exit } if /StartData/typecheck ct_raise } loop cid_BYTE_COUNT ct_CID_STR_SIZE le { 2 copy cid_BYTE_COUNT string exch exec pop 1 array dup 3 -1 roll 0 exch put } { cid_BYTE_COUNT ct_CID_STR_SIZE div ceiling cvi dup array exch 2 sub 0 exch 1 exch { 2 copy 5 index ct_CID_STR_SIZE string 6 index exec pop put pop } for 2 index cid_BYTE_COUNT ct_CID_STR_SIZE mod string 3 index exec pop 1 index exch 1 index length 1 sub exch put } ifelse cid_CIDFONT exch/GlyphData exch put 2 index null eq { pop pop pop } { pop/readstring load 1 string exch { 3 copy exec pop dup length 0 eq { pop pop pop pop pop true exit } if 4 index eq { pop pop pop pop false exit } if } loop pop } ifelse }bind def /StartData { mark { currentdict dup/FDArray get 0 get/FontMatrix get 0 get 0.001 eq { dup/CDevProc known not { /CDevProc 1183615869 internaldict/stdCDevProc 2 copy known {get} { pop pop {pop pop pop pop pop 0 -1000 7 index 2 div 880} } ifelse def } if } { /CDevProc { pop pop pop pop pop 0 1 cid_temp/cid_CIDFONT get /FDArray get 0 get /FontMatrix get 0 get div 7 index 2 div 1 index 0.88 mul }def } ifelse /cid_temp 15 dict def cid_temp begin /cid_CIDFONT exch def 3 copy pop dup/cid_BYTE_COUNT exch def 0 gt { ct_cidfont_stream_init FDArray { /Private get dup/SubrMapOffset known { begin /Subrs SubrCount array def Subrs SubrMapOffset SubrCount SDBytes ct_Level2? { currentdict dup/SubrMapOffset undef dup/SubrCount undef /SDBytes undef } if end /cid_SD_BYTES exch def /cid_SUBR_COUNT exch def /cid_SUBR_MAP_OFFSET exch def /cid_SUBRS exch def cid_SUBR_COUNT 0 gt { GlyphData cid_SUBR_MAP_OFFSET cid_SD_BYTES ct_GetInterval 0 cid_SD_BYTES ct_cvnsi 0 1 cid_SUBR_COUNT 1 sub { exch 1 index 1 add cid_SD_BYTES mul cid_SUBR_MAP_OFFSET add GlyphData exch cid_SD_BYTES ct_GetInterval 0 cid_SD_BYTES ct_cvnsi cid_SUBRS 4 2 roll GlyphData exch 4 index 1 index sub ct_GetInterval dup length string copy put } for pop } if } {pop} ifelse } forall } if cleartomark pop pop end CIDFontName currentdict/CIDFont defineresource pop end end } stopped {cleartomark/StartData ct_reraise} if }bind def currentdict end def /ct_saveCIDInit { /CIDInit/ProcSet ct_resourcestatus {true} {/CIDInitC/ProcSet ct_resourcestatus} ifelse { pop pop /CIDInit/ProcSet findresource ct_UseNativeCapability? {pop null} {/CIDInit ct_CIDInit/ProcSet defineresource pop} ifelse } {/CIDInit ct_CIDInit/ProcSet defineresource pop null} ifelse ct_Vars exch/ct_oldCIDInit exch put }bind def /ct_restoreCIDInit { ct_Vars/ct_oldCIDInit get dup null ne {/CIDInit exch/ProcSet defineresource pop} {pop} ifelse }bind def /ct_BuildCharSetUp { 1 index begin CIDFont begin Adobe_CoolType_Utility/ct_BuildCharDict get begin /ct_dfCharCode exch def /ct_dfDict exch def CIDFirstByte ct_dfCharCode add dup CIDCount ge {pop 0} if /cid exch def { GlyphDirectory cid 2 copy known {get} {pop pop nullstring} ifelse dup length FDBytes sub 0 gt { dup FDBytes 0 ne {0 FDBytes ct_cvnsi} {pop 0} ifelse /fdIndex exch def dup length FDBytes sub FDBytes exch getinterval /charstring exch def exit } { pop cid 0 eq {/charstring nullstring def exit} if /cid 0 def } ifelse } loop }def /ct_SetCacheDevice { 0 0 moveto dup stringwidth 3 -1 roll true charpath pathbbox 0 -1000 7 index 2 div 880 setcachedevice2 0 0 moveto }def /ct_CloneSetCacheProc { 1 eq { stringwidth pop -2 div -880 0 -1000 setcharwidth moveto } { usewidths? { currentfont/Widths get cid 2 copy known {get exch pop aload pop} {pop pop stringwidth} ifelse } {stringwidth} ifelse setcharwidth 0 0 moveto } ifelse }def /ct_Type3ShowCharString { ct_FDDict fdIndex 2 copy known {get} { currentglobal 3 1 roll 1 index gcheck setglobal ct_Type1FontTemplate dup maxlength dict copy begin FDArray fdIndex get dup/FontMatrix 2 copy known {get} {pop pop ct_defaultFontMtx} ifelse /FontMatrix exch dup length array copy def /Private get /Private exch def /Widths rootfont/Widths get def /CharStrings 1 dict dup/.notdef dup length string copy put def currentdict end /ct_Type1Font exch definefont dup 5 1 roll put setglobal } ifelse dup/CharStrings get 1 index/Encoding get ct_dfCharCode get charstring put rootfont/WMode 2 copy known {get} {pop pop 0} ifelse exch 1000 scalefont setfont ct_str1 0 ct_dfCharCode put ct_str1 exch ct_dfSetCacheProc ct_SyntheticBold { currentpoint ct_str1 show newpath moveto ct_str1 true charpath ct_StrokeWidth setlinewidth stroke } {ct_str1 show} ifelse }def /ct_Type4ShowCharString { ct_dfDict ct_dfCharCode charstring FDArray fdIndex get dup/FontMatrix get dup ct_defaultFontMtx ct_matrixeq not {ct_1000Mtx matrix concatmatrix concat} {pop} ifelse /Private get Adobe_CoolType_Utility/ct_Level2? get not { ct_dfDict/Private 3 -1 roll {put} 1183615869 internaldict/superexec get exec } if 1183615869 internaldict Adobe_CoolType_Utility/ct_Level2? get {1 index} {3 index/Private get mark 6 1 roll} ifelse dup/RunInt known {/RunInt get} {pop/CCRun} ifelse get exec Adobe_CoolType_Utility/ct_Level2? get not {cleartomark} if }bind def /ct_BuildCharIncremental { { Adobe_CoolType_Utility/ct_MakeOCF get begin ct_BuildCharSetUp ct_ShowCharString } stopped {stop} if end end end end }bind def /BaseFontNameStr(BF00)def /ct_Type1FontTemplate 14 dict begin /FontType 1 def /FontMatrix [0.001 0 0 0.001 0 0]def /FontBBox [-250 -250 1250 1250]def /Encoding ct_cHexEncoding def /PaintType 0 def currentdict end def /BaseFontTemplate 11 dict begin /FontMatrix [0.001 0 0 0.001 0 0]def /FontBBox [-250 -250 1250 1250]def /Encoding ct_cHexEncoding def /BuildChar/ct_BuildCharIncremental load def ct_Clone? { /FontType 3 def /ct_ShowCharString/ct_Type3ShowCharString load def /ct_dfSetCacheProc/ct_CloneSetCacheProc load def /ct_SyntheticBold false def /ct_StrokeWidth 1 def } { /FontType 4 def /Private 1 dict dup/lenIV 4 put def /CharStrings 1 dict dup/.notdefput def /PaintType 0 def /ct_ShowCharString/ct_Type4ShowCharString load def } ifelse /ct_str1 1 string def currentdict end def /BaseFontDictSize BaseFontTemplate length 5 add def /ct_matrixeq { true 0 1 5 { dup 4 index exch get exch 3 index exch get eq and dup not {exit} if } for exch pop exch pop }bind def /ct_makeocf { 15 dict begin exch/WMode exch def exch/FontName exch def /FontType 0 def /FMapType 2 def dup/FontMatrix known {dup/FontMatrix get/FontMatrix exch def} {/FontMatrix matrix def} ifelse /bfCount 1 index/CIDCount get 256 idiv 1 add dup 256 gt{pop 256}if def /Encoding 256 array 0 1 bfCount 1 sub{2 copy dup put pop}for bfCount 1 255{2 copy bfCount put pop}for def /FDepVector bfCount dup 256 lt{1 add}if array def BaseFontTemplate BaseFontDictSize dict copy begin /CIDFont exch def CIDFont/FontBBox known {CIDFont/FontBBox get/FontBBox exch def} if CIDFont/CDevProc known {CIDFont/CDevProc get/CDevProc exch def} if currentdict end BaseFontNameStr 3(0)putinterval 0 1 bfCount dup 256 eq{1 sub}if { FDepVector exch 2 index BaseFontDictSize dict copy begin dup/CIDFirstByte exch 256 mul def FontType 3 eq {/ct_FDDict 2 dict def} if currentdict end 1 index 16 BaseFontNameStr 2 2 getinterval cvrs pop BaseFontNameStr exch definefont put } for ct_Clone? {/Widths 1 index/CIDFont get/GlyphDirectory get length dict def} if FontName currentdict end definefont ct_Clone? { gsave dup 1000 scalefont setfont ct_BuildCharDict begin /usewidths? false def currentfont/Widths get begin exch/CIDFont get/GlyphDirectory get { pop dup charcode exch 1 index 0 2 index 256 idiv put 1 index exch 1 exch 256 mod put stringwidth 2 array astore def } forall end /usewidths? true def end grestore } {exch pop} ifelse }bind def currentglobal true setglobal /ct_ComposeFont { ct_UseNativeCapability? { 2 index/CMap ct_resourcestatus {pop pop exch pop} { /CIDInit/ProcSet findresource begin 12 dict begin begincmap /CMapName 3 index def /CMapVersion 1.000 def /CMapType 1 def exch/WMode exch def /CIDSystemInfo 3 dict dup begin /Registry(Adobe)def /Ordering CMapName ct_mkocfStr100 cvs (Adobe-)search { pop pop (-)search { dup length string copy exch pop exch pop } {pop(Identity)} ifelse } {pop (Identity)} ifelse def /Supplement 0 def end def 1 begincodespacerange <0000> endcodespacerange 1 begincidrange <0000>0 endcidrange endcmap CMapName currentdict/CMap defineresource pop end end } ifelse composefont } { 3 2 roll pop 0 get/CIDFont findresource ct_makeocf } ifelse }bind def setglobal /ct_MakeIdentity { ct_UseNativeCapability? { 1 index/CMap ct_resourcestatus {pop pop} { /CIDInit/ProcSet findresource begin 12 dict begin begincmap /CMapName 2 index def /CMapVersion 1.000 def /CMapType 1 def /CIDSystemInfo 3 dict dup begin /Registry(Adobe)def /Ordering CMapName ct_mkocfStr100 cvs (Adobe-)search { pop pop (-)search {dup length string copy exch pop exch pop} {pop(Identity)} ifelse } {pop(Identity)} ifelse def /Supplement 0 def end def 1 begincodespacerange <0000> endcodespacerange 1 begincidrange <0000>0 endcidrange endcmap CMapName currentdict/CMap defineresource pop end end } ifelse composefont } { exch pop 0 get/CIDFont findresource ct_makeocf } ifelse }bind def currentdict readonly pop end end %%EndResource setglobal %%BeginResource: procset Adobe_CoolType_Utility_T42 1.0 0 %%Copyright: Copyright 1987-2004 Adobe Systems Incorporated. %%Version: 1.0 0 userdict/ct_T42Dict 15 dict put ct_T42Dict begin /Is2015? { version cvi 2015 ge }bind def /AllocGlyphStorage { Is2015? { pop } { {string}forall }ifelse }bind def /Type42DictBegin { 25 dict begin /FontName exch def /CharStrings 256 dict begin /.notdef 0 def currentdict end def /Encoding exch def /PaintType 0 def /FontType 42 def /FontMatrix[1 0 0 1 0 0]def 4 array astore cvx/FontBBox exch def /sfnts }bind def /Type42DictEnd { currentdict dup/FontName get exch definefont end ct_T42Dict exch dup/FontName get exch put }bind def /RD{string currentfile exch readstring pop}executeonly def /PrepFor2015 { Is2015? { /GlyphDirectory 16 dict def sfnts 0 get dup 2 index (glyx) putinterval 2 index (locx) putinterval pop pop } { pop pop }ifelse }bind def /AddT42Char { Is2015? { /GlyphDirectory get begin def end pop pop } { /sfnts get 4 index get 3 index 2 index putinterval pop pop pop pop }ifelse }bind def /T0AddT42Mtx2 { /CIDFont findresource/Metrics2 get begin def end }bind def end %%EndResource currentglobal true setglobal %%BeginFile: MMFauxFont.prc %%Copyright: Copyright 1987-2001 Adobe Systems Incorporated. %%All Rights Reserved. userdict /ct_EuroDict 10 dict put ct_EuroDict begin /ct_CopyFont { { 1 index /FID ne {def} {pop pop} ifelse} forall } def /ct_GetGlyphOutline { gsave initmatrix newpath exch findfont dup length 1 add dict begin ct_CopyFont /Encoding Encoding dup length array copy dup 4 -1 roll 0 exch put def currentdict end /ct_EuroFont exch definefont 1000 scalefont setfont 0 0 moveto [ <00> stringwidth <00> false charpath pathbbox [ {/m cvx} {/l cvx} {/c cvx} {/cp cvx} pathforall grestore counttomark 8 add } def /ct_MakeGlyphProc { ] cvx /ct_PSBuildGlyph cvx ] cvx } def /ct_PSBuildGlyph { gsave 8 -1 roll pop 7 1 roll 6 -2 roll ct_FontMatrix transform 6 2 roll 4 -2 roll ct_FontMatrix transform 4 2 roll ct_FontMatrix transform currentdict /PaintType 2 copy known {get 2 eq}{pop pop false} ifelse dup 9 1 roll { currentdict /StrokeWidth 2 copy known { get 2 div 0 ct_FontMatrix dtransform pop 5 1 roll 4 -1 roll 4 index sub 4 1 roll 3 -1 roll 4 index sub 3 1 roll exch 4 index add exch 4 index add 5 -1 roll pop } { pop pop } ifelse } if setcachedevice ct_FontMatrix concat ct_PSPathOps begin exec end { currentdict /StrokeWidth 2 copy known { get } { pop pop 0 } ifelse setlinewidth stroke } { fill } ifelse grestore } def /ct_PSPathOps 4 dict dup begin /m {moveto} def /l {lineto} def /c {curveto} def /cp {closepath} def end def /ct_matrix1000 [1000 0 0 1000 0 0] def /ct_AddGlyphProc { 2 index findfont dup length 4 add dict begin ct_CopyFont /CharStrings CharStrings dup length 1 add dict copy begin 3 1 roll def currentdict end def /ct_FontMatrix ct_matrix1000 FontMatrix matrix concatmatrix def /ct_PSBuildGlyph /ct_PSBuildGlyph load def /ct_PSPathOps /ct_PSPathOps load def currentdict end definefont pop } def systemdict /languagelevel known { /ct_AddGlyphToPrinterFont { 2 copy ct_GetGlyphOutline 3 add -1 roll restore ct_MakeGlyphProc ct_AddGlyphProc } def } { /ct_AddGlyphToPrinterFont { pop pop restore Adobe_CTFauxDict /$$$FONTNAME get /Euro Adobe_CTFauxDict /$$$SUBSTITUTEBASE get ct_EuroDict exch get ct_AddGlyphProc } def } ifelse /AdobeSansMM { 556 0 24 -19 541 703 { 541 628 m 510 669 442 703 354 703 c 201 703 117 607 101 444 c 50 444 l 25 372 l 97 372 l 97 301 l 49 301 l 24 229 l 103 229 l 124 67 209 -19 350 -19 c 435 -19 501 25 509 32 c 509 131 l 492 105 417 60 343 60 c 267 60 204 127 197 229 c 406 229 l 430 301 l 191 301 l 191 372 l 455 372 l 479 444 l 194 444 l 201 531 245 624 348 624 c 433 624 484 583 509 534 c cp 556 0 m } ct_PSBuildGlyph } def /AdobeSerifMM { 500 0 10 -12 484 692 { 347 298 m 171 298 l 170 310 170 322 170 335 c 170 362 l 362 362 l 374 403 l 172 403 l 184 580 244 642 308 642 c 380 642 434 574 457 457 c 481 462 l 474 691 l 449 691 l 433 670 429 657 410 657 c 394 657 360 692 299 692 c 204 692 94 604 73 403 c 22 403 l 10 362 l 70 362 l 69 352 69 341 69 330 c 69 319 69 308 70 298 c 22 298 l 10 257 l 73 257 l 97 57 216 -12 295 -12 c 364 -12 427 25 484 123 c 458 142 l 425 101 384 37 316 37 c 256 37 189 84 173 257 c 335 257 l cp 500 0 m } ct_PSBuildGlyph } def end %%EndFile setglobal Adobe_CoolType_Core begin /$Oblique SetSubstituteStrategy end %%BeginResource: procset Adobe_AGM_Image 1.0 0 +%%Version: 1.0 0 +%%Copyright: Copyright(C)2000-2006 Adobe Systems, Inc. All Rights Reserved. +systemdict/setpacking known +{ + currentpacking + true setpacking +}if +userdict/Adobe_AGM_Image 71 dict dup begin put +/Adobe_AGM_Image_Id/Adobe_AGM_Image_1.0_0 def +/nd{ + null def +}bind def +/AGMIMG_&image nd +/AGMIMG_&colorimage nd +/AGMIMG_&imagemask nd +/AGMIMG_mbuf()def +/AGMIMG_ybuf()def +/AGMIMG_kbuf()def +/AGMIMG_c 0 def +/AGMIMG_m 0 def +/AGMIMG_y 0 def +/AGMIMG_k 0 def +/AGMIMG_tmp nd +/AGMIMG_imagestring0 nd +/AGMIMG_imagestring1 nd +/AGMIMG_imagestring2 nd +/AGMIMG_imagestring3 nd +/AGMIMG_imagestring4 nd +/AGMIMG_imagestring5 nd +/AGMIMG_cnt nd +/AGMIMG_fsave nd +/AGMIMG_colorAry nd +/AGMIMG_override nd +/AGMIMG_name nd +/AGMIMG_maskSource nd +/AGMIMG_flushfilters nd +/invert_image_samples nd +/knockout_image_samples nd +/img nd +/sepimg nd +/devnimg nd +/idximg nd +/ds +{ + Adobe_AGM_Core begin + Adobe_AGM_Image begin + /AGMIMG_&image systemdict/image get def + /AGMIMG_&imagemask systemdict/imagemask get def + /colorimage where{ + pop + /AGMIMG_&colorimage/colorimage ldf + }if + end + end +}def +/ps +{ + Adobe_AGM_Image begin + /AGMIMG_ccimage_exists{/customcolorimage where + { + pop + /Adobe_AGM_OnHost_Seps where + { + pop false + }{ + /Adobe_AGM_InRip_Seps where + { + pop false + }{ + true + }ifelse + }ifelse + }{ + false + }ifelse + }bdf + level2{ + /invert_image_samples + { + Adobe_AGM_Image/AGMIMG_tmp Decode length ddf + /Decode[Decode 1 get Decode 0 get]def + }def + /knockout_image_samples + { + Operator/imagemask ne{ + /Decode[1 1]def + }if + }def + }{ + /invert_image_samples + { + {1 exch sub}currenttransfer addprocs settransfer + }def + /knockout_image_samples + { + {pop 1}currenttransfer addprocs settransfer + }def + }ifelse + /img/imageormask ldf + /sepimg/sep_imageormask ldf + /devnimg/devn_imageormask ldf + /idximg/indexed_imageormask ldf + /_ctype 7 def + currentdict{ + dup xcheck 1 index type dup/arraytype eq exch/packedarraytype eq or and{ + bind + }if + def + }forall +}def +/pt +{ + end +}def +/dt +{ +}def +/AGMIMG_flushfilters +{ + dup type/arraytype ne + {1 array astore}if + dup 0 get currentfile ne + {dup 0 get flushfile}if + { + dup type/filetype eq + { + dup status 1 index currentfile ne and + {closefile} + {pop} + ifelse + }{pop}ifelse + }forall +}def +/AGMIMG_init_common +{ + currentdict/T known{/ImageType/T ldf currentdict/T undef}if + currentdict/W known{/Width/W ldf currentdict/W undef}if + currentdict/H known{/Height/H ldf currentdict/H undef}if + currentdict/M known{/ImageMatrix/M ldf currentdict/M undef}if + currentdict/BC known{/BitsPerComponent/BC ldf currentdict/BC undef}if + currentdict/D known{/Decode/D ldf currentdict/D undef}if + currentdict/DS known{/DataSource/DS ldf currentdict/DS undef}if + currentdict/O known{ + /Operator/O load 1 eq{ + /imagemask + }{ + /O load 2 eq{ + /image + }{ + /colorimage + }ifelse + }ifelse + def + currentdict/O undef + }if + currentdict/HSCI known{/HostSepColorImage/HSCI ldf currentdict/HSCI undef}if + currentdict/MD known{/MultipleDataSources/MD ldf currentdict/MD undef}if + currentdict/I known{/Interpolate/I ldf currentdict/I undef}if + currentdict/SI known{/SkipImageProc/SI ldf currentdict/SI undef}if + /DataSource load xcheck not{ + DataSource type/arraytype eq{ + DataSource 0 get type/filetype eq{ + /_Filters DataSource def + currentdict/MultipleDataSources known not{ + /DataSource DataSource dup length 1 sub get def + }if + }if + }if + currentdict/MultipleDataSources known not{ + /MultipleDataSources DataSource type/arraytype eq{ + DataSource length 1 gt + } + {false}ifelse def + }if + }if + /NComponents Decode length 2 div def + currentdict/SkipImageProc known not{/SkipImageProc{false}def}if +}bdf +/imageormask_sys +{ + begin + AGMIMG_init_common + save mark + level2{ + currentdict + Operator/imagemask eq{ + AGMIMG_&imagemask + }{ + use_mask{ + process_mask AGMIMG_&image + }{ + AGMIMG_&image + }ifelse + }ifelse + }{ + Width Height + Operator/imagemask eq{ + Decode 0 get 1 eq Decode 1 get 0 eq and + ImageMatrix/DataSource load + AGMIMG_&imagemask + }{ + BitsPerComponent ImageMatrix/DataSource load + AGMIMG_&image + }ifelse + }ifelse + currentdict/_Filters known{_Filters AGMIMG_flushfilters}if + cleartomark restore + end +}def +/overprint_plate +{ + currentoverprint{ + 0 get dup type/nametype eq{ + dup/DeviceGray eq{ + pop AGMCORE_black_plate not + }{ + /DeviceCMYK eq{ + AGMCORE_is_cmyk_sep not + }if + }ifelse + }{ + false exch + { + AGMOHS_sepink eq or + }forall + not + }ifelse + }{ + pop false + }ifelse +}def +/process_mask +{ + level3{ + dup begin + /ImageType 1 def + end + 4 dict begin + /DataDict exch def + /ImageType 3 def + /InterleaveType 3 def + /MaskDict 9 dict begin + /ImageType 1 def + /Width DataDict dup/MaskWidth known{/MaskWidth}{/Width}ifelse get def + /Height DataDict dup/MaskHeight known{/MaskHeight}{/Height}ifelse get def + /ImageMatrix[Width 0 0 Height neg 0 Height]def + /NComponents 1 def + /BitsPerComponent 1 def + /Decode DataDict dup/MaskD known{/MaskD}{[1 0]}ifelse get def + /DataSource Adobe_AGM_Core/AGMIMG_maskSource get def + currentdict end def + currentdict end + }if +}def +/use_mask +{ + dup/Mask known {dup/Mask get}{false}ifelse +}def +/imageormask +{ + begin + AGMIMG_init_common + SkipImageProc{ + currentdict consumeimagedata + } + { + save mark + level2 AGMCORE_host_sep not and{ + currentdict + Operator/imagemask eq DeviceN_PS2 not and{ + imagemask + }{ + AGMCORE_in_rip_sep currentoverprint and currentcolorspace 0 get/DeviceGray eq and{ + [/Separation/Black/DeviceGray{}]setcolorspace + /Decode[Decode 1 get Decode 0 get]def + }if + use_mask{ + process_mask image + }{ + DeviceN_NoneName DeviceN_PS2 Indexed_DeviceN level3 not and or or AGMCORE_in_rip_sep and + { + Names convert_to_process not{ + 2 dict begin + /imageDict xdf + /names_index 0 def + gsave + imageDict write_image_file{ + Names{ + dup(None)ne{ + [/Separation 3 -1 roll/DeviceGray{1 exch sub}]setcolorspace + Operator imageDict read_image_file + names_index 0 eq{true setoverprint}if + /names_index names_index 1 add def + }{ + pop + }ifelse + }forall + close_image_file + }if + grestore + end + }{ + Operator/imagemask eq{ + imagemask + }{ + image + }ifelse + }ifelse + }{ + Operator/imagemask eq{ + imagemask + }{ + image + }ifelse + }ifelse + }ifelse + }ifelse + }{ + Width Height + Operator/imagemask eq{ + Decode 0 get 1 eq Decode 1 get 0 eq and + ImageMatrix/DataSource load + /Adobe_AGM_OnHost_Seps where{ + pop imagemask + }{ + currentgray 1 ne{ + currentdict imageormask_sys + }{ + currentoverprint not{ + 1 AGMCORE_&setgray + currentdict imageormask_sys + }{ + currentdict ignoreimagedata + }ifelse + }ifelse + }ifelse + }{ + BitsPerComponent ImageMatrix + MultipleDataSources{ + 0 1 NComponents 1 sub{ + DataSource exch get + }for + }{ + /DataSource load + }ifelse + Operator/colorimage eq{ + AGMCORE_host_sep{ + MultipleDataSources level2 or NComponents 4 eq and{ + AGMCORE_is_cmyk_sep{ + MultipleDataSources{ + /DataSource DataSource 0 get xcheck + { + [ + DataSource 0 get/exec cvx + DataSource 1 get/exec cvx + DataSource 2 get/exec cvx + DataSource 3 get/exec cvx + /AGMCORE_get_ink_data cvx + ]cvx + }{ + DataSource aload pop AGMCORE_get_ink_data + }ifelse def + }{ + /DataSource + Width BitsPerComponent mul 7 add 8 idiv Height mul 4 mul + /DataSource load + filter_cmyk 0()/SubFileDecode filter def + }ifelse + /Decode[Decode 0 get Decode 1 get]def + /MultipleDataSources false def + /NComponents 1 def + /Operator/image def + invert_image_samples + 1 AGMCORE_&setgray + currentdict imageormask_sys + }{ + currentoverprint not Operator/imagemask eq and{ + 1 AGMCORE_&setgray + currentdict imageormask_sys + }{ + currentdict ignoreimagedata + }ifelse + }ifelse + }{ + MultipleDataSources NComponents AGMIMG_&colorimage + }ifelse + }{ + true NComponents colorimage + }ifelse + }{ + Operator/image eq{ + AGMCORE_host_sep{ + /DoImage true def + currentdict/HostSepColorImage known{HostSepColorImage not}{false}ifelse + { + AGMCORE_black_plate not Operator/imagemask ne and{ + /DoImage false def + currentdict ignoreimagedata + }if + }if + 1 AGMCORE_&setgray + DoImage + {currentdict imageormask_sys}if + }{ + use_mask{ + process_mask image + }{ + image + }ifelse + }ifelse + }{ + Operator/knockout eq{ + pop pop pop pop pop + currentcolorspace overprint_plate not{ + knockout_unitsq + }if + }if + }ifelse + }ifelse + }ifelse + }ifelse + cleartomark restore + }ifelse + currentdict/_Filters known{_Filters AGMIMG_flushfilters}if + end +}def +/sep_imageormask +{ + /sep_colorspace_dict AGMCORE_gget begin + CSA map_csa + begin + AGMIMG_init_common + SkipImageProc{ + currentdict consumeimagedata + }{ + save mark + AGMCORE_avoid_L2_sep_space{ + /Decode[Decode 0 get 255 mul Decode 1 get 255 mul]def + }if + AGMIMG_ccimage_exists + MappedCSA 0 get/DeviceCMYK eq and + currentdict/Components known and + Name()ne and + Name(All)ne and + Operator/image eq and + AGMCORE_producing_seps not and + level2 not and + { + Width Height BitsPerComponent ImageMatrix + [ + /DataSource load/exec cvx + { + 0 1 2 index length 1 sub{ + 1 index exch + 2 copy get 255 xor put + }for + }/exec cvx + ]cvx bind + MappedCSA 0 get/DeviceCMYK eq{ + Components aload pop + }{ + 0 0 0 Components aload pop 1 exch sub + }ifelse + Name findcmykcustomcolor + customcolorimage + }{ + AGMCORE_producing_seps not{ + level2{ + //Adobe_AGM_Core/AGMCORE_pattern_paint_type get 2 ne AGMCORE_avoid_L2_sep_space not and currentcolorspace 0 get/Separation ne and{ + [/Separation Name MappedCSA sep_proc_name exch dup 0 get 15 string cvs(/Device)anchorsearch{pop pop 0 get}{pop}ifelse exch load]setcolorspace_opt + /sep_tint AGMCORE_gget setcolor + }if + currentdict imageormask + }{ + currentdict + Operator/imagemask eq{ + imageormask + }{ + sep_imageormask_lev1 + }ifelse + }ifelse + }{ + AGMCORE_host_sep{ + Operator/knockout eq{ + currentdict/ImageMatrix get concat + knockout_unitsq + }{ + currentgray 1 ne{ + AGMCORE_is_cmyk_sep Name(All)ne and{ + level2{ + Name AGMCORE_IsSeparationAProcessColor + { + Operator/imagemask eq{ + //Adobe_AGM_Core/AGMCORE_pattern_paint_type get 2 ne{ + /sep_tint AGMCORE_gget 1 exch sub AGMCORE_&setcolor + }if + }{ + invert_image_samples + }ifelse + }{ + //Adobe_AGM_Core/AGMCORE_pattern_paint_type get 2 ne{ + [/Separation Name[/DeviceGray] + { + sep_colorspace_proc AGMCORE_get_ink_data + 1 exch sub + }bind + ]AGMCORE_&setcolorspace + /sep_tint AGMCORE_gget AGMCORE_&setcolor + }if + }ifelse + currentdict imageormask_sys + }{ + currentdict + Operator/imagemask eq{ + imageormask_sys + }{ + sep_image_lev1_sep + }ifelse + }ifelse + }{ + Operator/imagemask ne{ + invert_image_samples + }if + currentdict imageormask_sys + }ifelse + }{ + currentoverprint not Name(All)eq or Operator/imagemask eq and{ + currentdict imageormask_sys + }{ + currentoverprint not + { + gsave + knockout_unitsq + grestore + }if + currentdict consumeimagedata + }ifelse + }ifelse + }ifelse + }{ + //Adobe_AGM_Core/AGMCORE_pattern_paint_type get 2 ne{ + currentcolorspace 0 get/Separation ne{ + [/Separation Name MappedCSA sep_proc_name exch 0 get exch load]setcolorspace_opt + /sep_tint AGMCORE_gget setcolor + }if + }if + currentoverprint + MappedCSA 0 get/DeviceCMYK eq and + Name AGMCORE_IsSeparationAProcessColor not and + //Adobe_AGM_Core/AGMCORE_pattern_paint_type get 2 ne{Name inRip_spot_has_ink not and}{false}ifelse + Name(All)ne and{ + imageormask_l2_overprint + }{ + currentdict imageormask + }ifelse + }ifelse + }ifelse + }ifelse + cleartomark restore + }ifelse + currentdict/_Filters known{_Filters AGMIMG_flushfilters}if + end + end +}def +/colorSpaceElemCnt +{ + mark currentcolor counttomark dup 2 add 1 roll cleartomark +}bdf +/devn_sep_datasource +{ + 1 dict begin + /dataSource xdf + [ + 0 1 dataSource length 1 sub{ + dup currentdict/dataSource get/exch cvx/get cvx/exec cvx + /exch cvx names_index/ne cvx[/pop cvx]cvx/if cvx + }for + ]cvx bind + end +}bdf +/devn_alt_datasource +{ + 11 dict begin + /convProc xdf + /origcolorSpaceElemCnt xdf + /origMultipleDataSources xdf + /origBitsPerComponent xdf + /origDecode xdf + /origDataSource xdf + /dsCnt origMultipleDataSources{origDataSource length}{1}ifelse def + /DataSource origMultipleDataSources + { + [ + BitsPerComponent 8 idiv origDecode length 2 idiv mul string + 0 1 origDecode length 2 idiv 1 sub + { + dup 7 mul 1 add index exch dup BitsPerComponent 8 idiv mul exch + origDataSource exch get 0()/SubFileDecode filter + BitsPerComponent 8 idiv string/readstring cvx/pop cvx/putinterval cvx + }for + ]bind cvx + }{origDataSource}ifelse 0()/SubFileDecode filter def + [ + origcolorSpaceElemCnt string + 0 2 origDecode length 2 sub + { + dup origDecode exch get dup 3 -1 roll 1 add origDecode exch get exch sub 2 BitsPerComponent exp 1 sub div + 1 BitsPerComponent 8 idiv{DataSource/read cvx/not cvx{0}/if cvx/mul cvx}repeat/mul cvx/add cvx + }for + /convProc load/exec cvx + origcolorSpaceElemCnt 1 sub -1 0 + { + /dup cvx 2/add cvx/index cvx + 3 1/roll cvx/exch cvx 255/mul cvx/cvi cvx/put cvx + }for + ]bind cvx 0()/SubFileDecode filter + end +}bdf +/devn_imageormask +{ + /devicen_colorspace_dict AGMCORE_gget begin + CSA map_csa + 2 dict begin + dup + /srcDataStrs[3 -1 roll begin + AGMIMG_init_common + currentdict/MultipleDataSources known{MultipleDataSources{DataSource length}{1}ifelse}{1}ifelse + { + Width Decode length 2 div mul cvi + { + dup 65535 gt{1 add 2 div cvi}{exit}ifelse + }loop + string + }repeat + end]def + /dstDataStr srcDataStrs 0 get length string def + begin + AGMIMG_init_common + SkipImageProc{ + currentdict consumeimagedata + }{ + save mark + AGMCORE_producing_seps not{ + level3 not{ + Operator/imagemask ne{ + /DataSource[[ + DataSource Decode BitsPerComponent currentdict/MultipleDataSources known{MultipleDataSources}{false}ifelse + colorSpaceElemCnt/devicen_colorspace_dict AGMCORE_gget/TintTransform get + devn_alt_datasource 1/string cvx/readstring cvx/pop cvx]cvx colorSpaceElemCnt 1 sub{dup}repeat]def + /MultipleDataSources true def + /Decode colorSpaceElemCnt[exch{0 1}repeat]def + }if + }if + currentdict imageormask + }{ + AGMCORE_host_sep{ + Names convert_to_process{ + CSA get_csa_by_name 0 get/DeviceCMYK eq{ + /DataSource + Width BitsPerComponent mul 7 add 8 idiv Height mul 4 mul + DataSource Decode BitsPerComponent currentdict/MultipleDataSources known{MultipleDataSources}{false}ifelse + 4/devicen_colorspace_dict AGMCORE_gget/TintTransform get + devn_alt_datasource + filter_cmyk 0()/SubFileDecode filter def + /MultipleDataSources false def + /Decode[1 0]def + /DeviceGray setcolorspace + currentdict imageormask_sys + }{ + AGMCORE_report_unsupported_color_space + AGMCORE_black_plate{ + /DataSource + DataSource Decode BitsPerComponent currentdict/MultipleDataSources known{MultipleDataSources}{false}ifelse + CSA get_csa_by_name 0 get/DeviceRGB eq{3}{1}ifelse/devicen_colorspace_dict AGMCORE_gget/TintTransform get + devn_alt_datasource + /MultipleDataSources false def + /Decode colorSpaceElemCnt[exch{0 1}repeat]def + currentdict imageormask_sys + }{ + gsave + knockout_unitsq + grestore + currentdict consumeimagedata + }ifelse + }ifelse + } + { + /devicen_colorspace_dict AGMCORE_gget/names_index known{ + Operator/imagemask ne{ + MultipleDataSources{ + /DataSource[DataSource devn_sep_datasource/exec cvx]cvx def + /MultipleDataSources false def + }{ + /DataSource/DataSource load dstDataStr srcDataStrs 0 get filter_devn def + }ifelse + invert_image_samples + }if + currentdict imageormask_sys + }{ + currentoverprint not Operator/imagemask eq and{ + currentdict imageormask_sys + }{ + currentoverprint not + { + gsave + knockout_unitsq + grestore + }if + currentdict consumeimagedata + }ifelse + }ifelse + }ifelse + }{ + currentdict imageormask + }ifelse + }ifelse + cleartomark restore + }ifelse + currentdict/_Filters known{_Filters AGMIMG_flushfilters}if + end + end + end +}def +/imageormask_l2_overprint +{ + currentdict + currentcmykcolor add add add 0 eq{ + currentdict consumeimagedata + }{ + level3{ + currentcmykcolor + /AGMIMG_k xdf + /AGMIMG_y xdf + /AGMIMG_m xdf + /AGMIMG_c xdf + Operator/imagemask eq{ + [/DeviceN[ + AGMIMG_c 0 ne{/Cyan}if + AGMIMG_m 0 ne{/Magenta}if + AGMIMG_y 0 ne{/Yellow}if + AGMIMG_k 0 ne{/Black}if + ]/DeviceCMYK{}]setcolorspace + AGMIMG_c 0 ne{AGMIMG_c}if + AGMIMG_m 0 ne{AGMIMG_m}if + AGMIMG_y 0 ne{AGMIMG_y}if + AGMIMG_k 0 ne{AGMIMG_k}if + setcolor + }{ + /Decode[Decode 0 get 255 mul Decode 1 get 255 mul]def + [/Indexed + [ + /DeviceN[ + AGMIMG_c 0 ne{/Cyan}if + AGMIMG_m 0 ne{/Magenta}if + AGMIMG_y 0 ne{/Yellow}if + AGMIMG_k 0 ne{/Black}if + ] + /DeviceCMYK{ + AGMIMG_k 0 eq{0}if + AGMIMG_y 0 eq{0 exch}if + AGMIMG_m 0 eq{0 3 1 roll}if + AGMIMG_c 0 eq{0 4 1 roll}if + } + ] + 255 + { + 255 div + mark exch + dup dup dup + AGMIMG_k 0 ne{ + /sep_tint AGMCORE_gget mul MappedCSA sep_proc_name exch pop load exec 4 1 roll pop pop pop + counttomark 1 roll + }{ + pop + }ifelse + AGMIMG_y 0 ne{ + /sep_tint AGMCORE_gget mul MappedCSA sep_proc_name exch pop load exec 4 2 roll pop pop pop + counttomark 1 roll + }{ + pop + }ifelse + AGMIMG_m 0 ne{ + /sep_tint AGMCORE_gget mul MappedCSA sep_proc_name exch pop load exec 4 3 roll pop pop pop + counttomark 1 roll + }{ + pop + }ifelse + AGMIMG_c 0 ne{ + /sep_tint AGMCORE_gget mul MappedCSA sep_proc_name exch pop load exec pop pop pop + counttomark 1 roll + }{ + pop + }ifelse + counttomark 1 add -1 roll pop + } + ]setcolorspace + }ifelse + imageormask_sys + }{ + write_image_file{ + currentcmykcolor + 0 ne{ + [/Separation/Black/DeviceGray{}]setcolorspace + gsave + /Black + [{1 exch sub/sep_tint AGMCORE_gget mul}/exec cvx MappedCSA sep_proc_name cvx exch pop{4 1 roll pop pop pop 1 exch sub}/exec cvx] + cvx modify_halftone_xfer + Operator currentdict read_image_file + grestore + }if + 0 ne{ + [/Separation/Yellow/DeviceGray{}]setcolorspace + gsave + /Yellow + [{1 exch sub/sep_tint AGMCORE_gget mul}/exec cvx MappedCSA sep_proc_name cvx exch pop{4 2 roll pop pop pop 1 exch sub}/exec cvx] + cvx modify_halftone_xfer + Operator currentdict read_image_file + grestore + }if + 0 ne{ + [/Separation/Magenta/DeviceGray{}]setcolorspace + gsave + /Magenta + [{1 exch sub/sep_tint AGMCORE_gget mul}/exec cvx MappedCSA sep_proc_name cvx exch pop{4 3 roll pop pop pop 1 exch sub}/exec cvx] + cvx modify_halftone_xfer + Operator currentdict read_image_file + grestore + }if + 0 ne{ + [/Separation/Cyan/DeviceGray{}]setcolorspace + gsave + /Cyan + [{1 exch sub/sep_tint AGMCORE_gget mul}/exec cvx MappedCSA sep_proc_name cvx exch pop{pop pop pop 1 exch sub}/exec cvx] + cvx modify_halftone_xfer + Operator currentdict read_image_file + grestore + }if + close_image_file + }{ + imageormask + }ifelse + }ifelse + }ifelse +}def +/indexed_imageormask +{ + begin + AGMIMG_init_common + save mark + currentdict + AGMCORE_host_sep{ + Operator/knockout eq{ + /indexed_colorspace_dict AGMCORE_gget dup/CSA known{ + /CSA get get_csa_by_name + }{ + /Names get + }ifelse + overprint_plate not{ + knockout_unitsq + }if + }{ + Indexed_DeviceN{ + /devicen_colorspace_dict AGMCORE_gget dup/names_index known exch/Names get convert_to_process or{ + indexed_image_lev2_sep + }{ + currentoverprint not{ + knockout_unitsq + }if + currentdict consumeimagedata + }ifelse + }{ + AGMCORE_is_cmyk_sep{ + Operator/imagemask eq{ + imageormask_sys + }{ + level2{ + indexed_image_lev2_sep + }{ + indexed_image_lev1_sep + }ifelse + }ifelse + }{ + currentoverprint not{ + knockout_unitsq + }if + currentdict consumeimagedata + }ifelse + }ifelse + }ifelse + }{ + level2{ + Indexed_DeviceN{ + /indexed_colorspace_dict AGMCORE_gget begin + }{ + /indexed_colorspace_dict AGMCORE_gget dup null ne + { + begin + currentdict/CSDBase known{CSDBase/CSD get_res/MappedCSA get}{CSA}ifelse + get_csa_by_name 0 get/DeviceCMYK eq ps_level 3 ge and ps_version 3015.007 lt and + AGMCORE_in_rip_sep and{ + [/Indexed[/DeviceN[/Cyan/Magenta/Yellow/Black]/DeviceCMYK{}]HiVal Lookup] + setcolorspace + }if + end + } + {pop}ifelse + }ifelse + imageormask + Indexed_DeviceN{ + end + }if + }{ + Operator/imagemask eq{ + imageormask + }{ + indexed_imageormask_lev1 + }ifelse + }ifelse + }ifelse + cleartomark restore + currentdict/_Filters known{_Filters AGMIMG_flushfilters}if + end +}def +/indexed_image_lev2_sep +{ + /indexed_colorspace_dict AGMCORE_gget begin + begin + Indexed_DeviceN not{ + currentcolorspace + dup 1/DeviceGray put + dup 3 + currentcolorspace 2 get 1 add string + 0 1 2 3 AGMCORE_get_ink_data 4 currentcolorspace 3 get length 1 sub + { + dup 4 idiv exch currentcolorspace 3 get exch get 255 exch sub 2 index 3 1 roll put + }for + put setcolorspace + }if + currentdict + Operator/imagemask eq{ + AGMIMG_&imagemask + }{ + use_mask{ + process_mask AGMIMG_&image + }{ + AGMIMG_&image + }ifelse + }ifelse + end end +}def + /OPIimage + { + dup type/dicttype ne{ + 10 dict begin + /DataSource xdf + /ImageMatrix xdf + /BitsPerComponent xdf + /Height xdf + /Width xdf + /ImageType 1 def + /Decode[0 1 def] + currentdict + end + }if + dup begin + /NComponents 1 cdndf + /MultipleDataSources false cdndf + /SkipImageProc{false}cdndf + /Decode[ + 0 + currentcolorspace 0 get/Indexed eq{ + 2 BitsPerComponent exp 1 sub + }{ + 1 + }ifelse + ]cdndf + /Operator/image cdndf + end + /sep_colorspace_dict AGMCORE_gget null eq{ + imageormask + }{ + gsave + dup begin invert_image_samples end + sep_imageormask + grestore + }ifelse + }def +/cachemask_level2 +{ + 3 dict begin + /LZWEncode filter/WriteFilter xdf + /readBuffer 256 string def + /ReadFilter + currentfile + 0(%EndMask)/SubFileDecode filter + /ASCII85Decode filter + /RunLengthDecode filter + def + { + ReadFilter readBuffer readstring exch + WriteFilter exch writestring + not{exit}if + }loop + WriteFilter closefile + end +}def +/spot_alias +{ + /mapto_sep_imageormask + { + dup type/dicttype ne{ + 12 dict begin + /ImageType 1 def + /DataSource xdf + /ImageMatrix xdf + /BitsPerComponent xdf + /Height xdf + /Width xdf + /MultipleDataSources false def + }{ + begin + }ifelse + /Decode[/customcolor_tint AGMCORE_gget 0]def + /Operator/image def + /SkipImageProc{false}def + currentdict + end + sep_imageormask + }bdf + /customcolorimage + { + Adobe_AGM_Image/AGMIMG_colorAry xddf + /customcolor_tint AGMCORE_gget + << + /Name AGMIMG_colorAry 4 get + /CSA[/DeviceCMYK] + /TintMethod/Subtractive + /TintProc null + /MappedCSA null + /NComponents 4 + /Components[AGMIMG_colorAry aload pop pop] + >> + setsepcolorspace + mapto_sep_imageormask + }ndf + Adobe_AGM_Image/AGMIMG_&customcolorimage/customcolorimage load put + /customcolorimage + { + Adobe_AGM_Image/AGMIMG_override false put + current_spot_alias{dup 4 get map_alias}{false}ifelse + { + false set_spot_alias + /customcolor_tint AGMCORE_gget exch setsepcolorspace + pop + mapto_sep_imageormask + true set_spot_alias + }{ + //Adobe_AGM_Image/AGMIMG_&customcolorimage get exec + }ifelse + }bdf +}def +/snap_to_device +{ + 6 dict begin + matrix currentmatrix + dup 0 get 0 eq 1 index 3 get 0 eq and + 1 index 1 get 0 eq 2 index 2 get 0 eq and or exch pop + { + 1 1 dtransform 0 gt exch 0 gt/AGMIMG_xSign? exch def/AGMIMG_ySign? exch def + 0 0 transform + AGMIMG_ySign?{floor 0.1 sub}{ceiling 0.1 add}ifelse exch + AGMIMG_xSign?{floor 0.1 sub}{ceiling 0.1 add}ifelse exch + itransform/AGMIMG_llY exch def/AGMIMG_llX exch def + 1 1 transform + AGMIMG_ySign?{ceiling 0.1 add}{floor 0.1 sub}ifelse exch + AGMIMG_xSign?{ceiling 0.1 add}{floor 0.1 sub}ifelse exch + itransform/AGMIMG_urY exch def/AGMIMG_urX exch def + [AGMIMG_urX AGMIMG_llX sub 0 0 AGMIMG_urY AGMIMG_llY sub AGMIMG_llX AGMIMG_llY]concat + }{ + }ifelse + end +}def +level2 not{ + /colorbuf + { + 0 1 2 index length 1 sub{ + dup 2 index exch get + 255 exch sub + 2 index + 3 1 roll + put + }for + }def + /tint_image_to_color + { + begin + Width Height BitsPerComponent ImageMatrix + /DataSource load + end + Adobe_AGM_Image begin + /AGMIMG_mbuf 0 string def + /AGMIMG_ybuf 0 string def + /AGMIMG_kbuf 0 string def + { + colorbuf dup length AGMIMG_mbuf length ne + { + dup length dup dup + /AGMIMG_mbuf exch string def + /AGMIMG_ybuf exch string def + /AGMIMG_kbuf exch string def + }if + dup AGMIMG_mbuf copy AGMIMG_ybuf copy AGMIMG_kbuf copy pop + } + addprocs + {AGMIMG_mbuf}{AGMIMG_ybuf}{AGMIMG_kbuf}true 4 colorimage + end + }def + /sep_imageormask_lev1 + { + begin + MappedCSA 0 get dup/DeviceRGB eq exch/DeviceCMYK eq or has_color not and{ + { + 255 mul round cvi GrayLookup exch get + }currenttransfer addprocs settransfer + currentdict imageormask + }{ + /sep_colorspace_dict AGMCORE_gget/Components known{ + MappedCSA 0 get/DeviceCMYK eq{ + Components aload pop + }{ + 0 0 0 Components aload pop 1 exch sub + }ifelse + Adobe_AGM_Image/AGMIMG_k xddf + Adobe_AGM_Image/AGMIMG_y xddf + Adobe_AGM_Image/AGMIMG_m xddf + Adobe_AGM_Image/AGMIMG_c xddf + AGMIMG_y 0.0 eq AGMIMG_m 0.0 eq and AGMIMG_c 0.0 eq and{ + {AGMIMG_k mul 1 exch sub}currenttransfer addprocs settransfer + currentdict imageormask + }{ + currentcolortransfer + {AGMIMG_k mul 1 exch sub}exch addprocs 4 1 roll + {AGMIMG_y mul 1 exch sub}exch addprocs 4 1 roll + {AGMIMG_m mul 1 exch sub}exch addprocs 4 1 roll + {AGMIMG_c mul 1 exch sub}exch addprocs 4 1 roll + setcolortransfer + currentdict tint_image_to_color + }ifelse + }{ + MappedCSA 0 get/DeviceGray eq{ + {255 mul round cvi ColorLookup exch get 0 get}currenttransfer addprocs settransfer + currentdict imageormask + }{ + MappedCSA 0 get/DeviceCMYK eq{ + currentcolortransfer + {255 mul round cvi ColorLookup exch get 3 get 1 exch sub}exch addprocs 4 1 roll + {255 mul round cvi ColorLookup exch get 2 get 1 exch sub}exch addprocs 4 1 roll + {255 mul round cvi ColorLookup exch get 1 get 1 exch sub}exch addprocs 4 1 roll + {255 mul round cvi ColorLookup exch get 0 get 1 exch sub}exch addprocs 4 1 roll + setcolortransfer + currentdict tint_image_to_color + }{ + currentcolortransfer + {pop 1}exch addprocs 4 1 roll + {255 mul round cvi ColorLookup exch get 2 get}exch addprocs 4 1 roll + {255 mul round cvi ColorLookup exch get 1 get}exch addprocs 4 1 roll + {255 mul round cvi ColorLookup exch get 0 get}exch addprocs 4 1 roll + setcolortransfer + currentdict tint_image_to_color + }ifelse + }ifelse + }ifelse + }ifelse + end + }def + /sep_image_lev1_sep + { + begin + /sep_colorspace_dict AGMCORE_gget/Components known{ + Components aload pop + Adobe_AGM_Image/AGMIMG_k xddf + Adobe_AGM_Image/AGMIMG_y xddf + Adobe_AGM_Image/AGMIMG_m xddf + Adobe_AGM_Image/AGMIMG_c xddf + {AGMIMG_c mul 1 exch sub} + {AGMIMG_m mul 1 exch sub} + {AGMIMG_y mul 1 exch sub} + {AGMIMG_k mul 1 exch sub} + }{ + {255 mul round cvi ColorLookup exch get 0 get 1 exch sub} + {255 mul round cvi ColorLookup exch get 1 get 1 exch sub} + {255 mul round cvi ColorLookup exch get 2 get 1 exch sub} + {255 mul round cvi ColorLookup exch get 3 get 1 exch sub} + }ifelse + AGMCORE_get_ink_data currenttransfer addprocs settransfer + currentdict imageormask_sys + end + }def + /indexed_imageormask_lev1 + { + /indexed_colorspace_dict AGMCORE_gget begin + begin + currentdict + MappedCSA 0 get dup/DeviceRGB eq exch/DeviceCMYK eq or has_color not and{ + {HiVal mul round cvi GrayLookup exch get HiVal div}currenttransfer addprocs settransfer + imageormask + }{ + MappedCSA 0 get/DeviceGray eq{ + {HiVal mul round cvi Lookup exch get HiVal div}currenttransfer addprocs settransfer + imageormask + }{ + MappedCSA 0 get/DeviceCMYK eq{ + currentcolortransfer + {4 mul HiVal mul round cvi 3 add Lookup exch get HiVal div 1 exch sub}exch addprocs 4 1 roll + {4 mul HiVal mul round cvi 2 add Lookup exch get HiVal div 1 exch sub}exch addprocs 4 1 roll + {4 mul HiVal mul round cvi 1 add Lookup exch get HiVal div 1 exch sub}exch addprocs 4 1 roll + {4 mul HiVal mul round cvi Lookup exch get HiVal div 1 exch sub}exch addprocs 4 1 roll + setcolortransfer + tint_image_to_color + }{ + currentcolortransfer + {pop 1}exch addprocs 4 1 roll + {3 mul HiVal mul round cvi 2 add Lookup exch get HiVal div}exch addprocs 4 1 roll + {3 mul HiVal mul round cvi 1 add Lookup exch get HiVal div}exch addprocs 4 1 roll + {3 mul HiVal mul round cvi Lookup exch get HiVal div}exch addprocs 4 1 roll + setcolortransfer + tint_image_to_color + }ifelse + }ifelse + }ifelse + end end + }def + /indexed_image_lev1_sep + { + /indexed_colorspace_dict AGMCORE_gget begin + begin + {4 mul HiVal mul round cvi Lookup exch get HiVal div 1 exch sub} + {4 mul HiVal mul round cvi 1 add Lookup exch get HiVal div 1 exch sub} + {4 mul HiVal mul round cvi 2 add Lookup exch get HiVal div 1 exch sub} + {4 mul HiVal mul round cvi 3 add Lookup exch get HiVal div 1 exch sub} + AGMCORE_get_ink_data currenttransfer addprocs settransfer + currentdict imageormask_sys + end end + }def +}if +end +systemdict/setpacking known +{setpacking}if +%%EndResource +currentdict Adobe_AGM_Utils eq {end} if +%%EndProlog +%%BeginSetup +Adobe_AGM_Utils begin +2 2010 Adobe_AGM_Core/ds gx +Adobe_CoolType_Core/ds get exec Adobe_AGM_Image/ds gx +currentdict Adobe_AGM_Utils eq {end} if +%%EndSetup +%%Page: 1 1 +%%EndPageComments +%%BeginPageSetup +%ADOBeginClientInjection: PageSetup Start "AI11EPS" +%AI12_RMC_Transparency: Balance=75 RasterRes=300 GradRes=150 Text=0 Stroke=1 Clip=1 OP=0 +%ADOEndClientInjection: PageSetup Start "AI11EPS" +Adobe_AGM_Utils begin +Adobe_AGM_Core/ps gx +Adobe_AGM_Utils/capture_cpd gx +Adobe_CoolType_Core/ps get exec Adobe_AGM_Image/ps gx +%ADOBeginClientInjection: PageSetup End "AI11EPS" +/currentdistillerparams where {pop currentdistillerparams /CoreDistVersion get 5000 lt} {true} ifelse { userdict /AI11_PDFMark5 /cleartomark load put userdict /AI11_ReadMetadata_PDFMark5 {flushfile cleartomark } bind put} { userdict /AI11_PDFMark5 /pdfmark load put userdict /AI11_ReadMetadata_PDFMark5 {/PUT pdfmark} bind put } ifelse [/NamespacePush AI11_PDFMark5 [/_objdef {ai_metadata_stream_123} /type /stream /OBJ AI11_PDFMark5 [{ai_metadata_stream_123} currentfile 0 (% &&end XMP packet marker&&) /SubFileDecode filter AI11_ReadMetadata_PDFMark5 + + + + application/postscript + + + Kubuntu_development_TM + + + + + Adobe Illustrator CS4 + 2010-04-07T18:41:28-05:00 + 2010-04-07T18:41:28-05:00 + 2010-04-07T18:41:28-05:00 + + + + 256 + 60 + JPEG + /9j/4AAQSkZJRgABAgEASABIAAD/7QAsUGhvdG9zaG9wIDMuMAA4QklNA+0AAAAAABAASAAAAAEA AQBIAAAAAQAB/+4ADkFkb2JlAGTAAAAAAf/bAIQABgQEBAUEBgUFBgkGBQYJCwgGBggLDAoKCwoK DBAMDAwMDAwQDA4PEA8ODBMTFBQTExwbGxscHx8fHx8fHx8fHwEHBwcNDA0YEBAYGhURFRofHx8f Hx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8f/8AAEQgAPAEAAwER AAIRAQMRAf/EAaIAAAAHAQEBAQEAAAAAAAAAAAQFAwIGAQAHCAkKCwEAAgIDAQEBAQEAAAAAAAAA AQACAwQFBgcICQoLEAACAQMDAgQCBgcDBAIGAnMBAgMRBAAFIRIxQVEGE2EicYEUMpGhBxWxQiPB UtHhMxZi8CRygvElQzRTkqKyY3PCNUQnk6OzNhdUZHTD0uIIJoMJChgZhJRFRqS0VtNVKBry4/PE 1OT0ZXWFlaW1xdXl9WZ2hpamtsbW5vY3R1dnd4eXp7fH1+f3OEhYaHiImKi4yNjo+Ck5SVlpeYmZ qbnJ2en5KjpKWmp6ipqqusra6voRAAICAQIDBQUEBQYECAMDbQEAAhEDBCESMUEFURNhIgZxgZEy obHwFMHR4SNCFVJicvEzJDRDghaSUyWiY7LCB3PSNeJEgxdUkwgJChgZJjZFGidkdFU38qOzwygp 0+PzhJSktMTU5PRldYWVpbXF1eX1RlZmdoaWprbG1ub2R1dnd4eXp7fH1+f3OEhYaHiImKi4yNjo +DlJWWl5iZmpucnZ6fkqOkpaanqKmqq6ytrq+v/aAAwDAQACEQMRAD8A9U4q7FXYq7FXYq+DdM8w a9qX5laWuo6ldXqjWbcBbieSUUF2tPtscWXR95YsXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYqler eavLGjqx1XV7OwC9frNxFEfudhiqaYq7FXYq7FXYq7FXYqxjzz50i8u2apEol1K4B+rxN9lQNi70 7eA75qe1e0xpo0N5y5frLuOyOyjqp2dsceZ/QHkjz+a/NN4wrcahMfiMa14IK/yiiKN84sz1Orl/ FM/Z+oPcCGm0cP4YD7f1lNNG8n+bbaa6kWZtIntIjOObshkAqKIU+A7ihqe4zM0vZupiZG/DMRfv /Q4Wq7U0sxEV4oka5XXvvf8AsZn+X35gvrDjTNTKjUAtYZhsJgNyCBsGA3265vOx+2DmPh5Pr6Hv /a6DtrsUYB4mP6Oo7v2M7zonm3Yq7FXYq7FX5/eXP/JmaX/22oP+otcWXR+gOLF2KuxV2KuxV2Ku xV2KuxV2KuxV2KuxV2Kvz8/M3/yZPmz/ALbOof8AUVJiyfoHixdirsVdirsVdirsVeO6/oet+bPO OriyCEWDLD+8biAq1VVHX7RVjnD6zS5dZqsnB/Btv+Pe95otXh0Wkx8f8e+349yN836wvle20rR9 CAguIYfXkvQAXIlBVga1HxkcjX/Jp0y/tLU/lIwxYdiBfF7/ANfP5OP2ZpfzksmXNvEyrh6bb/Zy HxQnlLzrNfahHpfmUxX1hcclWa5VKxMQd+RA2PTKezu1DkmMeoqcJdZVt8W/tPskY8Zyae4Tj0je /wAGM3vp6H5odrCYSxWVyHtpVYMGRWDLuNjtsc1WWtPqDwGxCWzt8V6jTDjFGcdwxTyV/wA5I/mZ q/nLQdJvJrQ2moajaWtyEtwrGOadI3oa7Hi2emPl1PrHFCjeyvDZzyp9uON3WviqkjFXy3+Xv/OR X5k67540PR7+a0Nlf3kUFwEtwrFHaho1dsUkPqrFD88ItTOlecE1QR+sbDUBc+jXjz9Gfnx5UNK8 aVpiyegeYf8AnJz809UuGaxu4dHtq/DBaQxsaduUk4lYn5U+WK0hNK/5yQ/N2wuBLJq638f7VvdW 8LIfpjWOQfQwxWn0T+UH57aL5+B065hGmeYo1LtZ8uUcyr9p4GNDt1KHce4qcUEPUcUPk7zr/wA5 I/mZpHnLXtJs5rQWmn6jd2tsHtwzCOGd40qa7niuKafWOKHYq+T9Y/5yP/My186X2kQzWgs4NSlt IwbcFvSScxipr14jFNPrDFD5j/Mz/nJfzxo3mvVtA0i0sbeHTrqS3W6kR5ZWEZpXd1QV/wBU4pAe d3X/ADkT+cNw/I+YDEtahIra1QD7oqn6TimlXTf+ckPzespg76yt7GDVoLm3gZT8yiI/3NitPof8 mvz107z8H0y+gXTvMUCGRrdCTDOg+08Jb4hx/aQ1p1qd6KCHqmKH5+fmb/5MnzZ/22dQ/wCoqTFk zj/oaX81/wDf9l/0jL/XFaZb+VP/ADkD+Ynmb8wdG0PVJbVrC9kkScRwBHosLuKNXbdRigh6B/zk P+ZnmjyJYaLPoDwo99LOlx60YlBEaoVpUin2jigIz/nH38w/Mfnjy1qOoa88T3Fte/V4jDGIxw9J H3AJ3qxxUvUsVeQ/85D/AJmeaPIlhos+gPCj30s6XHrRiUERqhWlSKfaOKhGf84+/mH5j88eWtR1 DXnie4tr36vEYYxGOHpI+4BO9WOKlKfPR1jy95tvZ7G4lto9SX1VeNivIN9sGncODnCdreLptTIw JiJ77fjvfQOx/C1WljGYEjj23+z7E11G30/z9Bp0unypb63FE0d3C9QixoK9gTTm3wU7E+GZmaEO 0RAwPDlAojpQ/by9/k4WCc+zZTGQGWEmwetn9nP3DvV/LfkqPyxffpTV5frV3bxtJbWdkkkxA+yX aij+baop77ZPQ9ljST8TKeKURYjEE/Hk16/tY6uHh4hwxkaMpED4c2FRJdeafNuyUfULgsyjfhHW p38EQZooiWr1PnOXyH7A9BIx0el57Qj8z+0vn38sv/Jk+U/+2zp//UVHnpL5k/QPFihtT/45t3/x hk/4icVfCH5Pf+TS8rf9tG3/AOJjFkX3xixfnrp2n2+o+e7bT7kE215qiW8wU0PCW4CNQ9jQ4suj 7x8t+TfK3lm0W00LTILCJRQtGg9Rvd5DV3PuxOLFB+d/y78qec9Mlstaso5JGUiG+RVW5halA0cl K7eB2PcYq+IdUs9c/L7z7NbRTcNV0G8BhnWvFuBDRvTb4ZEINPA4sn3l5b1u213y/p2tW39xqNtF coPD1UDcT7rWhxYvg38zf/Jk+bP+2zqH/UVJiyfoHixdir8/vMf/AJMzVP8AttT/APUW2LLo/QHF i+B/zh/8ml5p/wC2jcf8TOLIPt/yjp9ha+XtMa2tooGazg5GNFQmsak14gdcWKC88/l35X85aRcW OrWUTzyIRb3wRfXhkpRXSQfFse1aHocVfD/l7Ub7yZ59s7tm9O60TUAtzxqRSGT05l8aMvJcWT9B sWL8/PzN/wDJk+bP+2zqH/UVJiyfeX+GvLn/AFarP/pHi/5pxYr4NC0S3mWa30+2hmTdJI4Y1Ydt iACMVeCf85i/8cnyz/xnuv8AiEeKQmP/ADiD/wAoRrP/AG0z/wBQ8eKl7xih87f85i/8cnyz/wAZ 7r/iEeKQmP8AziD/AMoRrP8A20z/ANQ8eKl7B5o8r6f5h0/6rdVSRCWt7hQC0bEU79Qe475g6/QQ 1MOGXPoe5zuz+0J6WfFHcHmO95Lqn5bebNOmPo25vIgfgntjyP8AwOzg/RnGZ+xNTiOw4h3j8W9v p+3tLlG8uE90vxSI8v8Al78xoZLiOygltFu09K6kuAqgrQjcyAtty/Zy3R6PXRJEAY8Wxv8Ab+hq 1ut0EgDMiXDuK/Zt83ofkvyNZ+XYmldhcalKOMtxSgVevBAe3ie+dN2Z2VHTCz6pnr+gPLdq9rz1 RoenGOQ/SXxH+WX/AJMnyn/22dP/AOoqPNs6l+geLFDan/xzbv8A4wyf8ROKvhD8nv8AyaXlb/to 2/8AxMYsi++MWL8/vLn/AJMzS/8AttQf9Ra4suj9AcWLsVfGX/OUcEUf5s3ToAGmtLWSUitSwThv XvxQYsg+if8AnHq5kufyd8uSSfaWO4iHU/DFdyxr19lGLEvkD8zf/Jk+bP8Ats6h/wBRUmLJ+geL F2Kvz+8x/wDkzNU/7bU//UW2LLo/QHFi+B/zh/8AJpeaf+2jcf8AEziyD7n8tf8AKOaV/wAwdv8A 8mlxYpjir4E/NuGOL8z/ADSqCinU7pz33eUs34nFkH3lphJ020J6+jH/AMRGLF8C/mb/AOTJ82f9 tnUP+oqTFk/QPFi7FXzt/wA5i/8AHJ8s/wDGe6/4hHikJj/ziCR/gnWh3/SX/MiPFS94xQ+dv+cx f+OT5Z/4z3X/ABCPFITH/nEH/lCNZ/7aZ/6h48VL3jFDsVdirsVfnppE7+V/PNlPcg89D1OJ5xTe tpcAtsa7/BiyfoRBPDPBHPC4khlUPFIpqrKwqrA+BGLFR1P/AI5t3/xhk/4icVfCH5Pf+TS8rf8A bRt/+JjFkX3xixfn95c/8mZpf/bag/6i1xZdH6A4sWpJEjRpJGCIgLO7GgAG5JJxV8G/nH5vg83f mNq2rWjF7EyLbWJ/mhgURq49pCpcfPFkH2X+V+gT6B+XugaTcLwubazj+sIa/DLIPUkXfwdyMWL4 u/N+wlsfzR80wSV5PqVxcCop8Nw5nX/hZBiyD7k8qa5Br3lnS9ZgcSR39rFPyFPtOgLA07q1QffF imuKvz+8x/8AkzNU/wC21P8A9RbYsuj9AcWL4H/OH/yaXmn/ALaNx/xM4sg+5/LX/KOaV/zB2/8A yaXFimOKvgf84f8AyaXmn/to3H/EziyD7v0z/jm2n/GGP/iIxYvgf80Y3j/MrzWrjiTq98wB8GuX ZT9IOLIPvy0uobu1huoDyhuI1libxVwGU/ccWKrirwP/AJy/0+SXyjoeoKtUtb5oXYdvXiLDb/nj ikJR/wA4e63bBfMWhuwW5YwXsK92QBopP+BPD78VL6TxQ+dv+cxf+OT5Z/4z3X/EI8UhMf8AnEH/ AJQjWf8Atpn/AKh48VL3jFDsVdirsVfKH/OSH5Papp+u3XnLRrZrjSNQYzakkSlmtrg7ySMB/uuQ /Fy7NWvbFILFfIf/ADkR5+8oabFpUZt9T0yAcLeC9VmaJeyxyIyNxHYNWg2FMU0yDUv+ctPP11bS W8GmaZbrKjI7lJ5Gowp8NZQB9IOKKYD+Tqs35peV+IJpqMBNN9g4qcUl974sX52TX11pXmp7+FQL qxvjcRLIDTnFLzXkNtqjFk9jtf8AnL3zskYFzo2mzOAQWjE8YJ7Ghkf6cUUxHz5+f/5g+crKTTLi WLTtLm+GazsVZPVU/syO7O7DxAIB7jFNM0/IX8g9WvNVtPNPmq0a00u0ZZ7CwnUrLcSDeN3Q7rEp +Lf7X+rigl9VYofO/wDzkz+T+p6rcL500C3a6uI4hFq9nEC0jJGKJOijduK/C4HYA+OKQXj/AOXn 53eePIkBsNOkiutL5lzp14heNWY/EY2VkdCfnSu9MU0zW5/5y88+PHxt9J0uKQ/tutw+1Ow9Vd8U U8fhvrrVfNSX8yg3V9fC4lWMGnOWXm3Eb7VOKX6J4sXwP+cP/k0vNP8A20bj/iZxZB9z+Wv+Uc0r /mDt/wDk0uLFMcVfA/5w/wDk0vNP/bRuP+JnFkH3fpn/ABzbT/jDH/xEYsXyj/zk9+W2p6Z5sm82 2kDy6Pq3FrqVFJEFyqhGElPsiSgZSe9RikJJ5F/5yQ89+U9Gi0YR22qWNsoSzF2r+pCi7CNXjZKo B0DA07Gm2KaT/TP+cnvzA1fzdosU621lpLXsCXlpaREtJCzhXDPKZW6NX4aYop9IfmH5MtPOXlDU PL9y3p/WkBt5+vpzxkPE+3YMN/EVGKHxJcWnnr8s/Nys6zaRrVkx9GYCqSJ0JQkFJY3HzHjiy5vS rT/nLrz5FbolzpWm3EqijTcZk5e5USEV+WKKYL+ZX5xeaPzCjsotZgs7eKwaR4Es45E3kADcjJJK T9kYpp7V/wA4ux6p/wAqv8y/o0Fb97uX6kx4isn1ZApUv8FeXSu1euKC9P8AyxtfOVvY3MfmR5pK en6LXL85DKS7TUJLNwAMaitBUNxHGhJKGa4FdirsVcaUNeneuKvK/NH/AELf+kH/AE5+gPr9f33D 0vV5f8W+hvy/1t8VS/T/APoVn1x6H+H+dR/vRw4ddv7/AOH54q9M8uf4P+rj/DX6P+rcdv0b6HDj /wA8dqYqnGKsZ83f8q29Nv8AF36I48RX9J/Vq07U9bf5UxV51L/0Kn6rcv0Hyqa8K8a+3H4fuxVk 3kf/AJUR9dX/AAl+hP0jyHp+j6P1qtduHP8Ae/8AA4q9FxV2KuxV5x52/wCVCfXm/wAV/oP9JV/e +r6P1r/np6f73/gsVY9bf9Cq+r+7/QXKh/vfs/8AJT4cVejeVv8AlXnEf4V/RHGhp+i/q1Kd/wC4 xVkWKsT1D/lVP16f9I/oL6/zb6z9Y+p+t6lfi9Tn8XKvWuKspg9D0I/Q4+hxHpenThwp8PGm1KdK YqvxVieof8qp+vT/AKR/QX1/m31n6x9T9b1K/F6nP4uVetcVZXHw4L6dPToOHHpTtSnbFVlz9W+r yfWuH1bifW9WnDhTfly2pTxxV5Fq/wD0K99ek+u/oD6z/uz0OHGtd6+h8Fa9e+Kss8hf8qg5H/BP 6H+sU+P6j6P1ilP2qfvaU8cVZriqS+bP8Gfow/4t/R/6Nr/0tPR9Gvt63w1+WKvLpP8AoVP1G5fo TlU148uNa9uPw0+WKsj8s/8AQvvqr+gv8OfWeI48fqvr02/n/eeFffFXo0XpeknpcfS4j0+NOPGm 1KbUpiq7FXYq7FXYq//Z + + + + + + xmp.did:F77F117407206811B47ACEF0D9EE574C + xmp.iid:F77F117407206811B47ACEF0D9EE574C + + uuid:cee4c58f-32de-4038-8712-b3d00d378275 + uuid:A8D9E38B34D311DFA461CF1EE7EAC354 + uuid:A8D9E38B34D311DFA461CF1EE7EAC354 + + uuid:A8D9E38B34D311DFA461CF1EE7EAC354 + + + + saved + xmp.iid:F77F117407206811B47ACEF0D9EE574C + 2010-04-07T18:41:28-05:00 + Adobe Illustrator CS4 + / + + + + + + Basic RGB + + + 1 + False + False + + 419.999859 + 296.999959 + Millimeters + + + + Black + PANTONE 1665 C + + + + + + Default Swatch Group + 0 + + + + White + CMYK + PROCESS + 0.000000 + 0.000000 + 0.000000 + 0.000000 + + + C=0 M=0 Y=0 K=100 + CMYK + PROCESS + 0.000000 + 0.000000 + 0.000000 + 100.000000 + + + PANTONE 1665 C + SPOT + 100.000000 + CMYK + 0.000000 + 68.000000 + 100.000000 + 0.000000 + + + + + + + + + + + % &&end XMP packet marker&& [{ai_metadata_stream_123} <> /PUT AI11_PDFMark5 [/Document 1 dict begin /Metadata {ai_metadata_stream_123} def currentdict end /BDC AI11_PDFMark5 +%ADOEndClientInjection: PageSetup End "AI11EPS" +%%EndPageSetup +1 -1 scale 0 -170.084 translate +pgsv +[1 0 0 1 0 0 ]ct +gsave +np +gsave +0 0 mo +0 170.084 li +757.353 170.084 li +757.353 0 li +cp +clp +[1 0 0 1 0 0 ]ct +665.232 152.898 mo +666.587 152.898 li +667.73 152.898 668.777 152.84 668.777 151.528 cv +668.777 150.422 667.824 150.252 666.947 150.252 cv +665.232 150.252 li +665.232 152.898 li +cp +663.939 149.204 mo +667.156 149.204 li +669.138 149.204 670.072 149.984 670.072 151.586 cv +670.072 153.088 669.119 153.717 667.88 153.851 cv +670.261 157.528 li +668.871 157.528 li +666.605 153.946 li +665.232 153.946 li +665.232 157.528 li +663.939 157.528 li +663.939 149.204 li +cp +666.72 159.449 mo +670.013 159.449 672.566 156.822 672.566 153.336 cv +672.566 149.927 670.013 147.298 666.72 147.298 cv +663.386 147.298 660.833 149.927 660.833 153.336 cv +660.833 156.822 663.386 159.449 666.72 159.449 cv +cp +666.72 146.252 mo +670.605 146.252 673.861 149.317 673.861 153.336 cv +673.861 157.431 670.605 160.497 666.72 160.497 cv +662.814 160.497 659.541 157.431 659.541 153.336 cv +659.541 149.317 662.814 146.252 666.72 146.252 cv +cp +false sop +/0 +[/DeviceCMYK] /CSA add_res +0 0 0 1 cmyk +f +757.353 45.3262 mo +757.353 70.3574 737.06 90.6514 712.027 90.6514 cv +686.994 90.6514 666.701 70.3574 666.701 45.3262 cv +666.701 20.293 686.994 0 712.027 0 cv +737.06 0 757.353 20.293 757.353 45.3262 cv +cp +/0 +<< +/Name (PANTONE 1665 C) +/CSA /0 get_csa_by_name +/MappedCSA /0 /CSA get_res +/TintMethod /Subtractive +/TintProc null +/NComponents 4 +/Components [ 0 .68 1 0 ] +>> +/CSD add_res +1 /0 /CSD get_res sepcs +1 sep +f +724.412 23.8711 mo +727.306 25.543 731.005 24.5527 732.675 21.6582 cv +734.347 18.7637 733.357 15.0645 730.462 13.3926 cv +727.568 11.7227 723.869 12.7148 722.197 15.6094 cv +720.527 18.502 721.519 22.2012 724.412 23.8711 cv +cp +712.027 63.002 mo +709.367 63.002 706.843 62.4102 704.582 61.3574 cv +700.376 68.8926 li +703.888 70.6328 707.843 71.6152 712.027 71.6152 cv +714.46 71.6152 716.814 71.2773 719.05 70.6582 cv +719.445 68.2266 720.888 65.9883 723.189 64.6582 cv +725.488 63.332 728.144 63.2012 730.445 64.0703 cv +734.919 59.6699 737.832 53.6855 738.255 47.0195 cv +729.63 46.8926 li +728.837 55.9238 721.261 63.002 712.027 63.002 cv +cp +712.027 27.6484 mo +721.261 27.6484 728.837 34.7285 729.632 43.7578 cv +738.255 43.6309 li +737.832 36.9648 734.919 30.9805 730.445 26.5801 cv +728.144 27.4492 725.486 27.3164 723.189 25.9922 cv +720.888 24.6641 719.445 22.4238 719.05 19.9922 cv +716.814 19.375 714.46 19.0371 712.027 19.0371 cv +707.843 19.0371 703.888 20.0195 700.376 21.7578 cv +704.582 29.293 li +706.843 28.2402 709.367 27.6484 712.027 27.6484 cv +cp +694.351 45.3262 mo +694.351 39.3457 697.322 34.0625 701.867 30.8633 cv +697.443 23.4531 li +692.148 26.9922 688.208 32.4004 686.572 38.7344 cv +688.482 40.293 689.705 42.666 689.705 45.3262 cv +689.705 47.9844 688.482 50.3574 686.572 51.916 cv +688.207 58.252 692.146 63.6602 697.443 67.1992 cv +701.867 59.7871 li +697.322 56.5898 694.351 51.3066 694.351 45.3262 cv +cp +724.414 66.7773 mo +721.519 68.4492 720.527 72.1484 722.199 75.041 cv +723.869 77.9355 727.568 78.9277 730.462 77.2559 cv +733.357 75.5859 734.349 71.8867 732.677 68.9922 cv +731.007 66.0996 727.306 65.1074 724.414 66.7773 cv +cp +681.207 39.2734 mo +677.863 39.2734 675.154 41.9824 675.154 45.3262 cv +675.154 48.668 677.863 51.377 681.207 51.377 cv +684.548 51.377 687.257 48.668 687.257 45.3262 cv +687.257 41.9824 684.548 39.2734 681.207 39.2734 cv +cp +0 0 0 0 cmyk +f +90.6514 164.257 mo +86.0449 165.411 79.9673 166.632 72.4136 167.926 cv +64.8589 169.222 56.1177 169.869 46.189 169.869 cv +37.5557 169.869 30.2881 168.608 24.3896 166.093 cv +18.4878 163.578 13.7393 160.014 10.1445 155.409 cv +6.5459 150.805 3.95605 145.372 2.37451 139.113 cv +.789063 132.853 0 125.914 0 118.285 cv +0 55.2617 li +20.0728 55.2617 li +20.0728 113.967 li +20.0728 127.639 22.231 137.423 26.5483 143.321 cv +30.8647 149.223 38.1294 152.171 48.3477 152.171 cv +50.5059 152.171 52.7349 152.099 55.0386 151.954 cv +57.3384 151.813 59.4966 151.63 61.5137 151.415 cv +63.5269 151.199 65.3618 150.984 67.0176 150.768 cv +68.6699 150.552 69.8569 150.303 70.5786 150.013 cv +70.5786 55.2617 li +90.6514 55.2617 li +90.6514 164.257 li +cp +0 0 0 1 cmyk +f +139.644 150.013 mo +141.657 150.589 144.5 151.128 148.169 151.63 cv +151.838 152.136 156.405 152.387 161.875 152.387 cv +172.667 152.387 181.3 148.825 187.775 141.704 cv +194.25 134.58 197.488 124.472 197.488 111.376 cv +197.488 105.625 196.911 100.229 195.761 95.1895 cv +194.607 90.1543 192.739 85.8018 190.149 82.1328 cv +187.559 78.4629 184.213 75.5859 180.113 73.498 cv +176.012 71.4141 171.081 70.3691 165.328 70.3691 cv +159.858 70.3691 154.823 71.3066 150.22 73.1748 cv +145.613 75.0469 142.088 76.9902 139.644 79.002 cv +139.644 150.013 li +cp +139.644 60.2246 mo +142.088 58.6436 145.795 56.9873 150.759 55.2617 cv +155.723 53.5342 161.443 52.6719 167.918 52.6719 cv +175.975 52.6719 183.134 54.1104 189.394 56.9873 cv +195.653 59.8672 200.941 63.8945 205.257 69.0752 cv +209.575 74.2549 212.846 80.4434 215.078 87.6367 cv +217.308 94.833 218.424 102.744 218.424 111.376 cv +218.424 120.443 217.091 128.612 214.431 135.876 cv +211.767 143.142 207.989 149.293 203.099 154.329 cv +198.206 159.368 192.308 163.251 185.401 165.985 cv +178.494 168.716 170.724 170.084 162.09 170.084 cv +152.735 170.084 144.463 169.438 137.269 168.142 cv +130.073 166.847 124.174 165.553 119.571 164.257 cv +119.571 3.45898 li +139.644 .00683594 li +139.644 60.2246 li +cp +f +330.44 164.257 mo +325.833 165.411 319.756 166.632 312.202 167.926 cv +304.647 169.222 295.906 169.869 285.978 169.869 cv +277.344 169.869 270.077 168.608 264.178 166.093 cv +258.276 163.578 253.527 160.014 249.933 155.409 cv +246.334 150.805 243.745 145.372 242.163 139.113 cv +240.578 132.853 239.788 125.914 239.788 118.285 cv +239.788 55.2617 li +259.861 55.2617 li +259.861 113.967 li +259.861 127.639 262.02 137.423 266.336 143.321 cv +270.653 149.223 277.917 152.171 288.136 152.171 cv +290.294 152.171 292.523 152.099 294.827 151.954 cv +297.126 151.813 299.285 151.63 301.302 151.415 cv +303.315 151.199 305.15 150.984 306.806 150.768 cv +308.458 150.552 309.646 150.303 310.367 150.013 cv +310.367 55.2617 li +330.44 55.2617 li +330.44 164.257 li +cp +f +359.359 58.499 mo +363.962 57.3477 370.076 56.124 377.706 54.8281 cv +385.331 53.5342 394.108 52.8867 404.036 52.8867 cv +412.958 52.8867 420.366 54.1475 426.268 56.6631 cv +432.167 59.1826 436.877 62.7061 440.405 67.2393 cv +443.928 71.7725 446.411 77.2061 447.852 83.5352 cv +449.288 89.8682 450.01 96.8467 450.01 104.472 cv +450.01 167.495 li +429.936 167.495 li +429.936 108.787 li +429.936 101.882 429.467 95.9834 428.534 91.0898 cv +427.596 86.2002 426.053 82.2412 423.893 79.2197 cv +421.735 76.1963 418.856 74.0039 415.26 72.6357 cv +411.661 71.2686 407.2 70.585 401.879 70.585 cv +399.719 70.585 397.487 70.6592 395.188 70.8008 cv +392.884 70.9453 390.689 71.126 388.605 71.3418 cv +386.516 71.5566 384.645 71.8105 382.994 72.0967 cv +381.337 72.3867 380.15 72.6025 379.432 72.7432 cv +379.432 167.495 li +359.359 167.495 li +359.359 58.499 li +cp +f +496.413 55.2617 mo +538.932 55.2617 li +538.932 72.0967 li +496.413 72.0967 li +496.413 123.896 li +496.413 129.507 496.842 134.149 497.708 137.817 cv +498.571 141.488 499.866 144.366 501.592 146.451 cv +503.319 148.539 505.477 150.013 508.067 150.875 cv +510.657 151.739 513.678 152.171 517.131 152.171 cv +523.317 152.171 528.211 151.49 531.809 150.121 cv +535.403 148.754 537.852 147.784 539.147 147.208 cv +543.463 163.611 li +541.448 164.619 537.885 165.915 532.78 167.495 cv +527.67 169.077 521.881 169.869 515.405 169.869 cv +507.778 169.869 501.485 168.899 496.52 166.956 cv +491.555 165.012 487.563 162.099 484.542 158.214 cv +481.52 154.329 479.395 149.546 478.174 143.86 cv +476.95 138.178 476.338 131.596 476.338 124.112 cv +476.338 23.9648 li +496.413 20.5117 li +496.413 55.2617 li +cp +f +648.143 164.257 mo +643.536 165.411 637.458 166.632 629.905 167.926 cv +622.35 169.222 613.61 169.869 603.68 169.869 cv +595.047 169.869 587.78 168.608 581.881 166.093 cv +575.979 163.578 571.231 160.014 567.635 155.409 cv +564.038 150.805 561.448 145.372 559.866 139.113 cv +558.28 132.853 557.491 125.914 557.491 118.285 cv +557.491 55.2617 li +577.565 55.2617 li +577.565 113.967 li +577.565 127.639 579.723 137.423 584.04 143.321 cv +588.356 149.223 595.62 152.171 605.838 152.171 cv +607.997 152.171 610.225 152.099 612.53 151.954 cv +614.829 151.813 616.989 151.63 619.004 151.415 cv +621.018 151.199 622.852 150.984 624.508 150.768 cv +626.161 150.552 627.348 150.303 628.069 150.013 cv +628.069 55.2617 li +648.143 55.2617 li +648.143 164.257 li +cp +f +%ADOBeginClientInjection: EndPageContent "AI11EPS" +userdict /annotatepage 2 copy known {get exec}{pop pop} ifelse +%ADOEndClientInjection: EndPageContent "AI11EPS" +grestore +grestore +pgrs +%%PageTrailer +%ADOBeginClientInjection: PageTrailer Start "AI11EPS" +[/EMC AI11_PDFMark5 [/NamespacePop AI11_PDFMark5 +%ADOEndClientInjection: PageTrailer Start "AI11EPS" +[ +[/CSA [/0 ]] +[/CSD [/0 ]] +] del_res +Adobe_AGM_Image/pt gx +Adobe_CoolType_Core/pt get exec Adobe_AGM_Core/pt gx +currentdict Adobe_AGM_Utils eq {end} if +%%Trailer +Adobe_AGM_Image/dt get exec +Adobe_CoolType_Core/dt get exec Adobe_AGM_Core/dt get exec +%%EOF +%%EndDocument + +% Start of EPS cleanup +count op_count sub {pop} repeat +countdictstack dict_count sub {end} repeat +b4_Inc_state restore +% End of EPS cleanup +40 646 moveto (Grayscale) show +% grayscale bar +save +/x 40 def +/y 608 def +/width_each 48 def +/height 36 def +/temp 10 string def +/setproc { 1 exch sub setgray } def +/towhite { 6 gt } def +0 setlinewidth +0 1 10 { + /i exch def + newpath + x i width_each mul add y moveto % bottom left + 0 height rlineto % to top left + width_each 0 rlineto % to top right + 0 height neg rlineto % to bottom right + closepath % back to bottom left + gsave + i 10 div setproc + fill + grestore + stroke + i 10 mul temp cvs length % multiply by 10 to get percentage + temp exch + 2 copy (%) putinterval % add percent sign + 0 exch 1 add getinterval % reduce to string + /str exch def + x % base x + i width_each mul add % plus offset to start of block + width_each 2 div add % plus half a block + str stringwidth pop 2 div sub % plus half the string width + y 5 add moveto + gsave + i towhite { 1.0 setgray } if + str show + grestore + } for +restore +40 583 moveto (Red) show +% grayscale bar +save +/x 40 def +/y 545 def +/width_each 48 def +/height 36 def +/temp 10 string def +/setproc { 0 0 setrgbcolor } def +/towhite { 6 lt } def +0 setlinewidth +0 1 10 { + /i exch def + newpath + x i width_each mul add y moveto % bottom left + 0 height rlineto % to top left + width_each 0 rlineto % to top right + 0 height neg rlineto % to bottom right + closepath % back to bottom left + gsave + i 10 div setproc + fill + grestore + stroke + i 10 mul temp cvs length % multiply by 10 to get percentage + temp exch + 2 copy (%) putinterval % add percent sign + 0 exch 1 add getinterval % reduce to string + /str exch def + x % base x + i width_each mul add % plus offset to start of block + width_each 2 div add % plus half a block + str stringwidth pop 2 div sub % plus half the string width + y 5 add moveto + gsave + i towhite { 1.0 setgray } if + str show + grestore + } for +restore +40 535 moveto (Green) show +% grayscale bar +save +/x 40 def +/y 497 def +/width_each 48 def +/height 36 def +/temp 10 string def +/setproc { 0 0 3 1 roll setrgbcolor } def +/towhite { 6 lt } def +0 setlinewidth +0 1 10 { + /i exch def + newpath + x i width_each mul add y moveto % bottom left + 0 height rlineto % to top left + width_each 0 rlineto % to top right + 0 height neg rlineto % to bottom right + closepath % back to bottom left + gsave + i 10 div setproc + fill + grestore + stroke + i 10 mul temp cvs length % multiply by 10 to get percentage + temp exch + 2 copy (%) putinterval % add percent sign + 0 exch 1 add getinterval % reduce to string + /str exch def + x % base x + i width_each mul add % plus offset to start of block + width_each 2 div add % plus half a block + str stringwidth pop 2 div sub % plus half the string width + y 5 add moveto + gsave + i towhite { 1.0 setgray } if + str show + grestore + } for +restore +40 487 moveto (Blue) show +% grayscale bar +save +/x 40 def +/y 449 def +/width_each 48 def +/height 36 def +/temp 10 string def +/setproc { 0 0 3 2 roll setrgbcolor } def +/towhite { pop true } def +0 setlinewidth +0 1 10 { + /i exch def + newpath + x i width_each mul add y moveto % bottom left + 0 height rlineto % to top left + width_each 0 rlineto % to top right + 0 height neg rlineto % to bottom right + closepath % back to bottom left + gsave + i 10 div setproc + fill + grestore + stroke + i 10 mul temp cvs length % multiply by 10 to get percentage + temp exch + 2 copy (%) putinterval % add percent sign + 0 exch 1 add getinterval % reduce to string + /str exch def + x % base x + i width_each mul add % plus offset to start of block + width_each 2 div add % plus half a block + str stringwidth pop 2 div sub % plus half the string width + y 5 add moveto + gsave + i towhite { 1.0 setgray } if + str show + grestore + } for +restore +40 424 moveto (Cyan) show +% grayscale bar +save +/x 40 def +/y 386 def +/width_each 48 def +/height 36 def +/temp 10 string def +/setproc { 0 0 0 setcmykcolor } def +/towhite { pop false } def +0 setlinewidth +0 1 10 { + /i exch def + newpath + x i width_each mul add y moveto % bottom left + 0 height rlineto % to top left + width_each 0 rlineto % to top right + 0 height neg rlineto % to bottom right + closepath % back to bottom left + gsave + i 10 div setproc + fill + grestore + stroke + i 10 mul temp cvs length % multiply by 10 to get percentage + temp exch + 2 copy (%) putinterval % add percent sign + 0 exch 1 add getinterval % reduce to string + /str exch def + x % base x + i width_each mul add % plus offset to start of block + width_each 2 div add % plus half a block + str stringwidth pop 2 div sub % plus half the string width + y 5 add moveto + gsave + i towhite { 1.0 setgray } if + str show + grestore + } for +restore +40 376 moveto (Magenta) show +% grayscale bar +save +/x 40 def +/y 338 def +/width_each 48 def +/height 36 def +/temp 10 string def +/setproc { 0 0 0 4 1 roll setcmykcolor } def +/towhite { pop false } def +0 setlinewidth +0 1 10 { + /i exch def + newpath + x i width_each mul add y moveto % bottom left + 0 height rlineto % to top left + width_each 0 rlineto % to top right + 0 height neg rlineto % to bottom right + closepath % back to bottom left + gsave + i 10 div setproc + fill + grestore + stroke + i 10 mul temp cvs length % multiply by 10 to get percentage + temp exch + 2 copy (%) putinterval % add percent sign + 0 exch 1 add getinterval % reduce to string + /str exch def + x % base x + i width_each mul add % plus offset to start of block + width_each 2 div add % plus half a block + str stringwidth pop 2 div sub % plus half the string width + y 5 add moveto + gsave + i towhite { 1.0 setgray } if + str show + grestore + } for +restore +40 328 moveto (Yellow) show +% grayscale bar +save +/x 40 def +/y 290 def +/width_each 48 def +/height 36 def +/temp 10 string def +/setproc { 0 0 0 4 2 roll setcmykcolor } def +/towhite { pop false } def +0 setlinewidth +0 1 10 { + /i exch def + newpath + x i width_each mul add y moveto % bottom left + 0 height rlineto % to top left + width_each 0 rlineto % to top right + 0 height neg rlineto % to bottom right + closepath % back to bottom left + gsave + i 10 div setproc + fill + grestore + stroke + i 10 mul temp cvs length % multiply by 10 to get percentage + temp exch + 2 copy (%) putinterval % add percent sign + 0 exch 1 add getinterval % reduce to string + /str exch def + x % base x + i width_each mul add % plus offset to start of block + width_each 2 div add % plus half a block + str stringwidth pop 2 div sub % plus half the string width + y 5 add moveto + gsave + i towhite { 1.0 setgray } if + str show + grestore + } for +restore +40 280 moveto (Black) show +% grayscale bar +save +/x 40 def +/y 242 def +/width_each 48 def +/height 36 def +/temp 10 string def +/setproc { 0 0 0 4 3 roll setcmykcolor } def +/towhite { 6 gt } def +0 setlinewidth +0 1 10 { + /i exch def + newpath + x i width_each mul add y moveto % bottom left + 0 height rlineto % to top left + width_each 0 rlineto % to top right + 0 height neg rlineto % to bottom right + closepath % back to bottom left + gsave + i 10 div setproc + fill + grestore + stroke + i 10 mul temp cvs length % multiply by 10 to get percentage + temp exch + 2 copy (%) putinterval % add percent sign + 0 exch 1 add getinterval % reduce to string + /str exch def + x % base x + i width_each mul add % plus offset to start of block + width_each 2 div add % plus half a block + str stringwidth pop 2 div sub % plus half the string width + y 5 add moveto + gsave + i towhite { 1.0 setgray } if + str show + grestore + } for +restore +40 40 moveto +statusdict begin + (Product: ) show product show + ( Version: ) show version 10 string cvs show + ( Revision: ) show revision 10 string cvs show +end +% End of page +restore +showpage +%%Trailer +end +%%EOF --- system-config-printer-1.3.6+20110831.orig/debian/local/testpage-a4.ps +++ system-config-printer-1.3.6+20110831/debian/local/testpage-a4.ps @@ -0,0 +1,5637 @@ +%!PS-Adobe-3.0 +%%Title: PPR Test Page +%%Pages: 1 +%%BoundingBox: 0 0 595 842 +%%DocumentNeededResources: font Helvetica +%%EndComments +%%BeginProlog +%%EndProlog +%%BeginSetup +%%IncludeResource: font Helvetica +/Helvetica findfont 10 scalefont setfont +%%IncludeFeature: *PageSize A4 +10 dict begin +%%EndSetup +%%Page: 1 1 +save +% border +gsave +0 setlinewidth +newpath 36.00 dup moveto 0 770.00 rlineto 523.00 0 rlineto 0 -770.00 rlineto +closepath stroke +grestore + +% border +gsave +0 setlinewidth +[1 1] 1 setdash +newpath 31.50 dup moveto 0 779.00 rlineto 532.00 0 rlineto 0 -779.00 rlineto +closepath stroke +grestore + +% border +gsave +0 setlinewidth +[3 1] 2 setdash +newpath 27.00 dup moveto 0 788.00 rlineto 541.00 0 rlineto 0 -788.00 rlineto +closepath stroke +grestore + +% border +gsave +0 setlinewidth +[1 1] 1 setdash +newpath 22.50 dup moveto 0 797.00 rlineto 550.00 0 rlineto 0 -797.00 rlineto +closepath stroke +grestore + +% border +gsave +0 setlinewidth +newpath 18.00 dup moveto 0 806.00 rlineto 559.00 0 rlineto 0 -806.00 rlineto +closepath stroke +grestore + +% border +gsave +0 setlinewidth +[1 1] 1 setdash +newpath 13.50 dup moveto 0 815.00 rlineto 568.00 0 rlineto 0 -815.00 rlineto +closepath stroke +grestore + +% border +gsave +0 setlinewidth +[3 1] 2 setdash +newpath 9.00 dup moveto 0 824.00 rlineto 577.00 0 rlineto 0 -824.00 rlineto +closepath stroke +grestore + +% border +gsave +0 setlinewidth +[1 1] 1 setdash +newpath 4.50 dup moveto 0 833.00 rlineto 586.00 0 rlineto 0 -833.00 rlineto +closepath stroke +grestore + +% Start of EPS setup +/b4_Inc_state save def +/dict_count countdictstack def +/op_count count 1 sub def +userdict begin +/showpage {} def +169.00 707.00 translate +0.50 dup scale +0 neg 0 neg translate +newpath 0 0 moveto 0 180 lineto 780 180 lineto 780 0 lineto closepath clip +% End of EPS setup + +%%BeginDocument: ubuntu_black&orange_pms copy.eps +%!PS-Adobe-3.1 EPSF-3.0 +%ADO_DSC_Encoding: MacOS Roman +%%Title: ubuntu_black&orange_pms copy.eps +%%Creator: Adobe Illustrator(R) 14.0 +%%For: John Haitas +%%CreationDate: 4/7/10 +%%BoundingBox: 0 0 758 171 +%%HiResBoundingBox: 0 0 757.3530 170.0845 +%%CropBox: 0 0 757.3530 170.0845 +%%LanguageLevel: 2 +%%DocumentData: Clean7Bit +%ADOBeginClientInjection: DocumentHeader "AI11EPS" +%%AI8_CreatorVersion: 14.0.0 %AI9_PrintingDataBegin %ADO_BuildNumber: Adobe Illustrator(R) 14.0.0 x367 R agm 4.4890 ct 5.1541 %ADO_ContainsXMP: MainFirst +%ADOEndClientInjection: DocumentHeader "AI11EPS" +%%Pages: 1 +%%DocumentNeededResources: +%%DocumentSuppliedResources: procset Adobe_AGM_Image 1.0 0 +%%+ procset Adobe_CoolType_Utility_T42 1.0 0 +%%+ procset Adobe_CoolType_Utility_MAKEOCF 1.23 0 +%%+ procset Adobe_CoolType_Core 2.31 0 +%%+ procset Adobe_AGM_Core 2.0 0 +%%+ procset Adobe_AGM_Utils 1.0 0 +%%DocumentFonts: +%%DocumentNeededFonts: +%%DocumentNeededFeatures: +%%DocumentSuppliedFeatures: +%%DocumentProcessColors: Black +%%DocumentCustomColors: (PANTONE 1665 C) +%%CMYKCustomColor: 0 0.6800 1 0 (PANTONE 1665 C) +%%RGBCustomColor: +%%EndComments +%%BeginDefaults +%%ViewingOrientation: 1 0 0 1 +%%EndDefaults +%%BeginProlog +%%BeginResource: procset Adobe_AGM_Utils 1.0 0 +%%Version: 1.0 0 +%%Copyright: Copyright(C)2000-2006 Adobe Systems, Inc. All Rights Reserved. +systemdict/setpacking known +{currentpacking true setpacking}if +userdict/Adobe_AGM_Utils 75 dict dup begin put +/bdf +{bind def}bind def +/nd{null def}bdf +/xdf +{exch def}bdf +/ldf +{load def}bdf +/ddf +{put}bdf +/xddf +{3 -1 roll put}bdf +/xpt +{exch put}bdf +/ndf +{ + exch dup where{ + pop pop pop + }{ + xdf + }ifelse +}def +/cdndf +{ + exch dup currentdict exch known{ + pop pop + }{ + exch def + }ifelse +}def +/gx +{get exec}bdf +/ps_level + /languagelevel where{ + pop systemdict/languagelevel gx + }{ + 1 + }ifelse +def +/level2 + ps_level 2 ge +def +/level3 + ps_level 3 ge +def +/ps_version + {version cvr}stopped{-1}if +def +/set_gvm +{currentglobal exch setglobal}bdf +/reset_gvm +{setglobal}bdf +/makereadonlyarray +{ + /packedarray where{pop packedarray + }{ + array astore readonly}ifelse +}bdf +/map_reserved_ink_name +{ + dup type/stringtype eq{ + dup/Red eq{ + pop(_Red_) + }{ + dup/Green eq{ + pop(_Green_) + }{ + dup/Blue eq{ + pop(_Blue_) + }{ + dup()cvn eq{ + pop(Process) + }if + }ifelse + }ifelse + }ifelse + }if +}bdf +/AGMUTIL_GSTATE 22 dict def +/get_gstate +{ + AGMUTIL_GSTATE begin + /AGMUTIL_GSTATE_clr_spc currentcolorspace def + /AGMUTIL_GSTATE_clr_indx 0 def + /AGMUTIL_GSTATE_clr_comps 12 array def + mark currentcolor counttomark + {AGMUTIL_GSTATE_clr_comps AGMUTIL_GSTATE_clr_indx 3 -1 roll put + /AGMUTIL_GSTATE_clr_indx AGMUTIL_GSTATE_clr_indx 1 add def}repeat pop + /AGMUTIL_GSTATE_fnt rootfont def + /AGMUTIL_GSTATE_lw currentlinewidth def + /AGMUTIL_GSTATE_lc currentlinecap def + /AGMUTIL_GSTATE_lj currentlinejoin def + /AGMUTIL_GSTATE_ml currentmiterlimit def + currentdash/AGMUTIL_GSTATE_do xdf/AGMUTIL_GSTATE_da xdf + /AGMUTIL_GSTATE_sa currentstrokeadjust def + /AGMUTIL_GSTATE_clr_rnd currentcolorrendering def + /AGMUTIL_GSTATE_op currentoverprint def + /AGMUTIL_GSTATE_bg currentblackgeneration cvlit def + /AGMUTIL_GSTATE_ucr currentundercolorremoval cvlit def + currentcolortransfer cvlit/AGMUTIL_GSTATE_gy_xfer xdf cvlit/AGMUTIL_GSTATE_b_xfer xdf + cvlit/AGMUTIL_GSTATE_g_xfer xdf cvlit/AGMUTIL_GSTATE_r_xfer xdf + /AGMUTIL_GSTATE_ht currenthalftone def + /AGMUTIL_GSTATE_flt currentflat def + end +}def +/set_gstate +{ + AGMUTIL_GSTATE begin + AGMUTIL_GSTATE_clr_spc setcolorspace + AGMUTIL_GSTATE_clr_indx{AGMUTIL_GSTATE_clr_comps AGMUTIL_GSTATE_clr_indx 1 sub get + /AGMUTIL_GSTATE_clr_indx AGMUTIL_GSTATE_clr_indx 1 sub def}repeat setcolor + AGMUTIL_GSTATE_fnt setfont + AGMUTIL_GSTATE_lw setlinewidth + AGMUTIL_GSTATE_lc setlinecap + AGMUTIL_GSTATE_lj setlinejoin + AGMUTIL_GSTATE_ml setmiterlimit + AGMUTIL_GSTATE_da AGMUTIL_GSTATE_do setdash + AGMUTIL_GSTATE_sa setstrokeadjust + AGMUTIL_GSTATE_clr_rnd setcolorrendering + AGMUTIL_GSTATE_op setoverprint + AGMUTIL_GSTATE_bg cvx setblackgeneration + AGMUTIL_GSTATE_ucr cvx setundercolorremoval + AGMUTIL_GSTATE_r_xfer cvx AGMUTIL_GSTATE_g_xfer cvx AGMUTIL_GSTATE_b_xfer cvx + AGMUTIL_GSTATE_gy_xfer cvx setcolortransfer + AGMUTIL_GSTATE_ht/HalftoneType get dup 9 eq exch 100 eq or + { + currenthalftone/HalftoneType get AGMUTIL_GSTATE_ht/HalftoneType get ne + { + mark AGMUTIL_GSTATE_ht{sethalftone}stopped cleartomark + }if + }{ + AGMUTIL_GSTATE_ht sethalftone + }ifelse + AGMUTIL_GSTATE_flt setflat + end +}def +/get_gstate_and_matrix +{ + AGMUTIL_GSTATE begin + /AGMUTIL_GSTATE_ctm matrix currentmatrix def + end + get_gstate +}def +/set_gstate_and_matrix +{ + set_gstate + AGMUTIL_GSTATE begin + AGMUTIL_GSTATE_ctm setmatrix + end +}def +/AGMUTIL_str256 256 string def +/AGMUTIL_src256 256 string def +/AGMUTIL_dst64 64 string def +/AGMUTIL_srcLen nd +/AGMUTIL_ndx nd +/AGMUTIL_cpd nd +/capture_cpd{ + //Adobe_AGM_Utils/AGMUTIL_cpd currentpagedevice ddf +}def +/thold_halftone +{ + level3 + {sethalftone currenthalftone} + { + dup/HalftoneType get 3 eq + { + sethalftone currenthalftone + }{ + begin + Width Height mul{ + Thresholds read{pop}if + }repeat + end + currenthalftone + }ifelse + }ifelse +}def +/rdcmntline +{ + currentfile AGMUTIL_str256 readline pop + (%)anchorsearch{pop}if +}bdf +/filter_cmyk +{ + dup type/filetype ne{ + exch()/SubFileDecode filter + }{ + exch pop + } + ifelse + [ + exch + { + AGMUTIL_src256 readstring pop + dup length/AGMUTIL_srcLen exch def + /AGMUTIL_ndx 0 def + AGMCORE_plate_ndx 4 AGMUTIL_srcLen 1 sub{ + 1 index exch get + AGMUTIL_dst64 AGMUTIL_ndx 3 -1 roll put + /AGMUTIL_ndx AGMUTIL_ndx 1 add def + }for + pop + AGMUTIL_dst64 0 AGMUTIL_ndx getinterval + } + bind + /exec cvx + ]cvx +}bdf +/filter_indexed_devn +{ + cvi Names length mul names_index add Lookup exch get +}bdf +/filter_devn +{ + 4 dict begin + /srcStr xdf + /dstStr xdf + dup type/filetype ne{ + 0()/SubFileDecode filter + }if + [ + exch + [ + /devicen_colorspace_dict/AGMCORE_gget cvx/begin cvx + currentdict/srcStr get/readstring cvx/pop cvx + /dup cvx/length cvx 0/gt cvx[ + Adobe_AGM_Utils/AGMUTIL_ndx 0/ddf cvx + names_index Names length currentdict/srcStr get length 1 sub{ + 1/index cvx/exch cvx/get cvx + currentdict/dstStr get/AGMUTIL_ndx/load cvx 3 -1/roll cvx/put cvx + Adobe_AGM_Utils/AGMUTIL_ndx/AGMUTIL_ndx/load cvx 1/add cvx/ddf cvx + }for + currentdict/dstStr get 0/AGMUTIL_ndx/load cvx/getinterval cvx + ]cvx/if cvx + /end cvx + ]cvx + bind + /exec cvx + ]cvx + end +}bdf +/AGMUTIL_imagefile nd +/read_image_file +{ + AGMUTIL_imagefile 0 setfileposition + 10 dict begin + /imageDict xdf + /imbufLen Width BitsPerComponent mul 7 add 8 idiv def + /imbufIdx 0 def + /origDataSource imageDict/DataSource get def + /origMultipleDataSources imageDict/MultipleDataSources get def + /origDecode imageDict/Decode get def + /dstDataStr imageDict/Width get colorSpaceElemCnt mul string def + imageDict/MultipleDataSources known{MultipleDataSources}{false}ifelse + { + /imbufCnt imageDict/DataSource get length def + /imbufs imbufCnt array def + 0 1 imbufCnt 1 sub{ + /imbufIdx xdf + imbufs imbufIdx imbufLen string put + imageDict/DataSource get imbufIdx[AGMUTIL_imagefile imbufs imbufIdx get/readstring cvx/pop cvx]cvx put + }for + DeviceN_PS2{ + imageDict begin + /DataSource[DataSource/devn_sep_datasource cvx]cvx def + /MultipleDataSources false def + /Decode[0 1]def + end + }if + }{ + /imbuf imbufLen string def + Indexed_DeviceN level3 not and DeviceN_NoneName or{ + /srcDataStrs[imageDict begin + currentdict/MultipleDataSources known{MultipleDataSources{DataSource length}{1}ifelse}{1}ifelse + { + Width Decode length 2 div mul cvi string + }repeat + end]def + imageDict begin + /DataSource[AGMUTIL_imagefile Decode BitsPerComponent false 1/filter_indexed_devn load dstDataStr srcDataStrs devn_alt_datasource/exec cvx]cvx def + /Decode[0 1]def + end + }{ + imageDict/DataSource[1 string dup 0 AGMUTIL_imagefile Decode length 2 idiv string/readstring cvx/pop cvx names_index/get cvx/put cvx]cvx put + imageDict/Decode[0 1]put + }ifelse + }ifelse + imageDict exch + load exec + imageDict/DataSource origDataSource put + imageDict/MultipleDataSources origMultipleDataSources put + imageDict/Decode origDecode put + end +}bdf +/write_image_file +{ + begin + {(AGMUTIL_imagefile)(w+)file}stopped{ + false + }{ + Adobe_AGM_Utils/AGMUTIL_imagefile xddf + 2 dict begin + /imbufLen Width BitsPerComponent mul 7 add 8 idiv def + MultipleDataSources{DataSource 0 get}{DataSource}ifelse type/filetype eq{ + /imbuf imbufLen string def + }if + 1 1 Height MultipleDataSources not{Decode length 2 idiv mul}if{ + pop + MultipleDataSources{ + 0 1 DataSource length 1 sub{ + DataSource type dup + /arraytype eq{ + pop DataSource exch gx + }{ + /filetype eq{ + DataSource exch get imbuf readstring pop + }{ + DataSource exch get + }ifelse + }ifelse + AGMUTIL_imagefile exch writestring + }for + }{ + DataSource type dup + /arraytype eq{ + pop DataSource exec + }{ + /filetype eq{ + DataSource imbuf readstring pop + }{ + DataSource + }ifelse + }ifelse + AGMUTIL_imagefile exch writestring + }ifelse + }for + end + true + }ifelse + end +}bdf +/close_image_file +{ + AGMUTIL_imagefile closefile(AGMUTIL_imagefile)deletefile +}def +statusdict/product known userdict/AGMP_current_show known not and{ + /pstr statusdict/product get def + pstr(HP LaserJet 2200)eq + pstr(HP LaserJet 4000 Series)eq or + pstr(HP LaserJet 4050 Series )eq or + pstr(HP LaserJet 8000 Series)eq or + pstr(HP LaserJet 8100 Series)eq or + pstr(HP LaserJet 8150 Series)eq or + pstr(HP LaserJet 5000 Series)eq or + pstr(HP LaserJet 5100 Series)eq or + pstr(HP Color LaserJet 4500)eq or + pstr(HP Color LaserJet 4600)eq or + pstr(HP LaserJet 5Si)eq or + pstr(HP LaserJet 1200 Series)eq or + pstr(HP LaserJet 1300 Series)eq or + pstr(HP LaserJet 4100 Series)eq or + { + userdict/AGMP_current_show/show load put + userdict/show{ + currentcolorspace 0 get + /Pattern eq + {false charpath f} + {AGMP_current_show}ifelse + }put + }if + currentdict/pstr undef +}if +/consumeimagedata +{ + begin + AGMIMG_init_common + currentdict/MultipleDataSources known not + {/MultipleDataSources false def}if + MultipleDataSources + { + DataSource 0 get type + dup/filetype eq + { + 1 dict begin + /flushbuffer Width cvi string def + 1 1 Height cvi + { + pop + 0 1 DataSource length 1 sub + { + DataSource exch get + flushbuffer readstring pop pop + }for + }for + end + }if + dup/arraytype eq exch/packedarraytype eq or DataSource 0 get xcheck and + { + Width Height mul cvi + { + 0 1 DataSource length 1 sub + {dup DataSource exch gx length exch 0 ne{pop}if}for + dup 0 eq + {pop exit}if + sub dup 0 le + {exit}if + }loop + pop + }if + } + { + /DataSource load type + dup/filetype eq + { + 1 dict begin + /flushbuffer Width Decode length 2 idiv mul cvi string def + 1 1 Height{pop DataSource flushbuffer readstring pop pop}for + end + }if + dup/arraytype eq exch/packedarraytype eq or/DataSource load xcheck and + { + Height Width BitsPerComponent mul 8 BitsPerComponent sub add 8 idiv Decode length 2 idiv mul mul + { + DataSource length dup 0 eq + {pop exit}if + sub dup 0 le + {exit}if + }loop + pop + }if + }ifelse + end +}bdf +/addprocs +{ + 2{/exec load}repeat + 3 1 roll + [5 1 roll]bind cvx +}def +/modify_halftone_xfer +{ + currenthalftone dup length dict copy begin + currentdict 2 index known{ + 1 index load dup length dict copy begin + currentdict/TransferFunction known{ + /TransferFunction load + }{ + currenttransfer + }ifelse + addprocs/TransferFunction xdf + currentdict end def + currentdict end sethalftone + }{ + currentdict/TransferFunction known{ + /TransferFunction load + }{ + currenttransfer + }ifelse + addprocs/TransferFunction xdf + currentdict end sethalftone + pop + }ifelse +}def +/clonearray +{ + dup xcheck exch + dup length array exch + Adobe_AGM_Core/AGMCORE_tmp -1 ddf + { + Adobe_AGM_Core/AGMCORE_tmp 2 copy get 1 add ddf + dup type/dicttype eq + { + Adobe_AGM_Core/AGMCORE_tmp get + exch + clonedict + Adobe_AGM_Core/AGMCORE_tmp 4 -1 roll ddf + }if + dup type/arraytype eq + { + Adobe_AGM_Core/AGMCORE_tmp get exch + clonearray + Adobe_AGM_Core/AGMCORE_tmp 4 -1 roll ddf + }if + exch dup + Adobe_AGM_Core/AGMCORE_tmp get 4 -1 roll put + }forall + exch{cvx}if +}bdf +/clonedict +{ + dup length dict + begin + { + dup type/dicttype eq + {clonedict}if + dup type/arraytype eq + {clonearray}if + def + }forall + currentdict + end +}bdf +/DeviceN_PS2 +{ + /currentcolorspace AGMCORE_gget 0 get/DeviceN eq level3 not and +}bdf +/Indexed_DeviceN +{ + /indexed_colorspace_dict AGMCORE_gget dup null ne{ + dup/CSDBase known{ + /CSDBase get/CSD get_res/Names known + }{ + pop false + }ifelse + }{ + pop false + }ifelse +}bdf +/DeviceN_NoneName +{ + /Names where{ + pop + false Names + { + (None)eq or + }forall + }{ + false + }ifelse +}bdf +/DeviceN_PS2_inRip_seps +{ + /AGMCORE_in_rip_sep where + { + pop dup type dup/arraytype eq exch/packedarraytype eq or + { + dup 0 get/DeviceN eq level3 not and AGMCORE_in_rip_sep and + { + /currentcolorspace exch AGMCORE_gput + false + }{ + true + }ifelse + }{ + true + }ifelse + }{ + true + }ifelse +}bdf +/base_colorspace_type +{ + dup type/arraytype eq{0 get}if +}bdf +/currentdistillerparams where{pop currentdistillerparams/CoreDistVersion get 5000 lt}{true}ifelse +{ + /pdfmark_5{cleartomark}bind def +}{ + /pdfmark_5{pdfmark}bind def +}ifelse +/ReadBypdfmark_5 +{ + currentfile exch 0 exch/SubFileDecode filter + /currentdistillerparams where + {pop currentdistillerparams/CoreDistVersion get 5000 lt}{true}ifelse + {flushfile cleartomark} + {/PUT pdfmark}ifelse +}bdf +/ReadBypdfmark_5_string +{ + 2 dict begin + /makerString exch def string/tmpString exch def + { + currentfile tmpString readline not{pop exit}if + makerString anchorsearch + { + pop pop cleartomark exit + }{ + 3 copy/PUT pdfmark_5 pop 2 copy(\n)/PUT pdfmark_5 + }ifelse + }loop + end +}bdf +/xpdfm +{ + { + dup 0 get/Label eq + { + aload length[exch 1 add 1 roll/PAGELABEL + }{ + aload pop + [{ThisPage}<<5 -2 roll>>/PUT + }ifelse + pdfmark_5 + }forall +}bdf +/lmt{ + dup 2 index le{exch}if pop dup 2 index ge{exch}if pop +}bdf +/int{ + dup 2 index sub 3 index 5 index sub div 6 -2 roll sub mul exch pop add exch pop +}bdf +/ds{ + Adobe_AGM_Utils begin +}bdf +/dt{ + currentdict Adobe_AGM_Utils eq{ + end + }if +}bdf +systemdict/setpacking known +{setpacking}if +%%EndResource +%%BeginResource: procset Adobe_AGM_Core 2.0 0 +%%Version: 2.0 0 +%%Copyright: Copyright(C)1997-2007 Adobe Systems, Inc. All Rights Reserved. +systemdict/setpacking known +{ + currentpacking + true setpacking +}if +userdict/Adobe_AGM_Core 209 dict dup begin put +/Adobe_AGM_Core_Id/Adobe_AGM_Core_2.0_0 def +/AGMCORE_str256 256 string def +/AGMCORE_save nd +/AGMCORE_graphicsave nd +/AGMCORE_c 0 def +/AGMCORE_m 0 def +/AGMCORE_y 0 def +/AGMCORE_k 0 def +/AGMCORE_cmykbuf 4 array def +/AGMCORE_screen[currentscreen]cvx def +/AGMCORE_tmp 0 def +/AGMCORE_&setgray nd +/AGMCORE_&setcolor nd +/AGMCORE_&setcolorspace nd +/AGMCORE_&setcmykcolor nd +/AGMCORE_cyan_plate nd +/AGMCORE_magenta_plate nd +/AGMCORE_yellow_plate nd +/AGMCORE_black_plate nd +/AGMCORE_plate_ndx nd +/AGMCORE_get_ink_data nd +/AGMCORE_is_cmyk_sep nd +/AGMCORE_host_sep nd +/AGMCORE_avoid_L2_sep_space nd +/AGMCORE_distilling nd +/AGMCORE_composite_job nd +/AGMCORE_producing_seps nd +/AGMCORE_ps_level -1 def +/AGMCORE_ps_version -1 def +/AGMCORE_environ_ok nd +/AGMCORE_CSD_cache 0 dict def +/AGMCORE_currentoverprint false def +/AGMCORE_deltaX nd +/AGMCORE_deltaY nd +/AGMCORE_name nd +/AGMCORE_sep_special nd +/AGMCORE_err_strings 4 dict def +/AGMCORE_cur_err nd +/AGMCORE_current_spot_alias false def +/AGMCORE_inverting false def +/AGMCORE_feature_dictCount nd +/AGMCORE_feature_opCount nd +/AGMCORE_feature_ctm nd +/AGMCORE_ConvertToProcess false def +/AGMCORE_Default_CTM matrix def +/AGMCORE_Default_PageSize nd +/AGMCORE_Default_flatness nd +/AGMCORE_currentbg nd +/AGMCORE_currentucr nd +/AGMCORE_pattern_paint_type 0 def +/knockout_unitsq nd +currentglobal true setglobal +[/CSA/Gradient/Procedure] +{ + /Generic/Category findresource dup length dict copy/Category defineresource pop +}forall +setglobal +/AGMCORE_key_known +{ + where{ + /Adobe_AGM_Core_Id known + }{ + false + }ifelse +}ndf +/flushinput +{ + save + 2 dict begin + /CompareBuffer 3 -1 roll def + /readbuffer 256 string def + mark + { + currentfile readbuffer{readline}stopped + {cleartomark mark} + { + not + {pop exit} + if + CompareBuffer eq + {exit} + if + }ifelse + }loop + cleartomark + end + restore +}bdf +/getspotfunction +{ + AGMCORE_screen exch pop exch pop + dup type/dicttype eq{ + dup/HalftoneType get 1 eq{ + /SpotFunction get + }{ + dup/HalftoneType get 2 eq{ + /GraySpotFunction get + }{ + pop + { + abs exch abs 2 copy add 1 gt{ + 1 sub dup mul exch 1 sub dup mul add 1 sub + }{ + dup mul exch dup mul add 1 exch sub + }ifelse + }bind + }ifelse + }ifelse + }if +}def +/np +{newpath}bdf +/clp_npth +{clip np}def +/eoclp_npth +{eoclip np}def +/npth_clp +{np clip}def +/graphic_setup +{ + /AGMCORE_graphicsave save store + concat + 0 setgray + 0 setlinecap + 0 setlinejoin + 1 setlinewidth + []0 setdash + 10 setmiterlimit + np + false setoverprint + false setstrokeadjust + //Adobe_AGM_Core/spot_alias gx + /Adobe_AGM_Image where{ + pop + Adobe_AGM_Image/spot_alias 2 copy known{ + gx + }{ + pop pop + }ifelse + }if + /sep_colorspace_dict null AGMCORE_gput + 100 dict begin + /dictstackcount countdictstack def + /showpage{}def + mark +}def +/graphic_cleanup +{ + cleartomark + dictstackcount 1 countdictstack 1 sub{end}for + end + AGMCORE_graphicsave restore +}def +/compose_error_msg +{ + grestoreall initgraphics + /Helvetica findfont 10 scalefont setfont + /AGMCORE_deltaY 100 def + /AGMCORE_deltaX 310 def + clippath pathbbox np pop pop 36 add exch 36 add exch moveto + 0 AGMCORE_deltaY rlineto AGMCORE_deltaX 0 rlineto + 0 AGMCORE_deltaY neg rlineto AGMCORE_deltaX neg 0 rlineto closepath + 0 AGMCORE_&setgray + gsave 1 AGMCORE_&setgray fill grestore + 1 setlinewidth gsave stroke grestore + currentpoint AGMCORE_deltaY 15 sub add exch 8 add exch moveto + /AGMCORE_deltaY 12 def + /AGMCORE_tmp 0 def + AGMCORE_err_strings exch get + { + dup 32 eq + { + pop + AGMCORE_str256 0 AGMCORE_tmp getinterval + stringwidth pop currentpoint pop add AGMCORE_deltaX 28 add gt + { + currentpoint AGMCORE_deltaY sub exch pop + clippath pathbbox pop pop pop 44 add exch moveto + }if + AGMCORE_str256 0 AGMCORE_tmp getinterval show( )show + 0 1 AGMCORE_str256 length 1 sub + { + AGMCORE_str256 exch 0 put + }for + /AGMCORE_tmp 0 def + }{ + AGMCORE_str256 exch AGMCORE_tmp xpt + /AGMCORE_tmp AGMCORE_tmp 1 add def + }ifelse + }forall +}bdf +/AGMCORE_CMYKDeviceNColorspaces[ + [/Separation/None/DeviceCMYK{0 0 0}] + [/Separation(Black)/DeviceCMYK{0 0 0 4 -1 roll}bind] + [/Separation(Yellow)/DeviceCMYK{0 0 3 -1 roll 0}bind] + [/DeviceN[(Yellow)(Black)]/DeviceCMYK{0 0 4 2 roll}bind] + [/Separation(Magenta)/DeviceCMYK{0 exch 0 0}bind] + [/DeviceN[(Magenta)(Black)]/DeviceCMYK{0 3 1 roll 0 exch}bind] + [/DeviceN[(Magenta)(Yellow)]/DeviceCMYK{0 3 1 roll 0}bind] + [/DeviceN[(Magenta)(Yellow)(Black)]/DeviceCMYK{0 4 1 roll}bind] + [/Separation(Cyan)/DeviceCMYK{0 0 0}] + [/DeviceN[(Cyan)(Black)]/DeviceCMYK{0 0 3 -1 roll}bind] + [/DeviceN[(Cyan)(Yellow)]/DeviceCMYK{0 exch 0}bind] + [/DeviceN[(Cyan)(Yellow)(Black)]/DeviceCMYK{0 3 1 roll}bind] + [/DeviceN[(Cyan)(Magenta)]/DeviceCMYK{0 0}] + [/DeviceN[(Cyan)(Magenta)(Black)]/DeviceCMYK{0 exch}bind] + [/DeviceN[(Cyan)(Magenta)(Yellow)]/DeviceCMYK{0}] + [/DeviceCMYK] +]def +/ds{ + Adobe_AGM_Core begin + /currentdistillerparams where + { + pop currentdistillerparams/CoreDistVersion get 5000 lt + {<>setdistillerparams}if + }if + /AGMCORE_ps_version xdf + /AGMCORE_ps_level xdf + errordict/AGM_handleerror known not{ + errordict/AGM_handleerror errordict/handleerror get put + errordict/handleerror{ + Adobe_AGM_Core begin + $error/newerror get AGMCORE_cur_err null ne and{ + $error/newerror false put + AGMCORE_cur_err compose_error_msg + }if + $error/newerror true put + end + errordict/AGM_handleerror get exec + }bind put + }if + /AGMCORE_environ_ok + ps_level AGMCORE_ps_level ge + ps_version AGMCORE_ps_version ge and + AGMCORE_ps_level -1 eq or + def + AGMCORE_environ_ok not + {/AGMCORE_cur_err/AGMCORE_bad_environ def}if + /AGMCORE_&setgray systemdict/setgray get def + level2{ + /AGMCORE_&setcolor systemdict/setcolor get def + /AGMCORE_&setcolorspace systemdict/setcolorspace get def + }if + /AGMCORE_currentbg currentblackgeneration def + /AGMCORE_currentucr currentundercolorremoval def + /AGMCORE_Default_flatness currentflat def + /AGMCORE_distilling + /product where{ + pop systemdict/setdistillerparams known product(Adobe PostScript Parser)ne and + }{ + false + }ifelse + def + /AGMCORE_GSTATE AGMCORE_key_known not{ + /AGMCORE_GSTATE 21 dict def + /AGMCORE_tmpmatrix matrix def + /AGMCORE_gstack 32 array def + /AGMCORE_gstackptr 0 def + /AGMCORE_gstacksaveptr 0 def + /AGMCORE_gstackframekeys 14 def + /AGMCORE_&gsave/gsave ldf + /AGMCORE_&grestore/grestore ldf + /AGMCORE_&grestoreall/grestoreall ldf + /AGMCORE_&save/save ldf + /AGMCORE_&setoverprint/setoverprint ldf + /AGMCORE_gdictcopy{ + begin + {def}forall + end + }def + /AGMCORE_gput{ + AGMCORE_gstack AGMCORE_gstackptr get + 3 1 roll + put + }def + /AGMCORE_gget{ + AGMCORE_gstack AGMCORE_gstackptr get + exch + get + }def + /gsave{ + AGMCORE_&gsave + AGMCORE_gstack AGMCORE_gstackptr get + AGMCORE_gstackptr 1 add + dup 32 ge{limitcheck}if + /AGMCORE_gstackptr exch store + AGMCORE_gstack AGMCORE_gstackptr get + AGMCORE_gdictcopy + }def + /grestore{ + AGMCORE_&grestore + AGMCORE_gstackptr 1 sub + dup AGMCORE_gstacksaveptr lt{1 add}if + dup AGMCORE_gstack exch get dup/AGMCORE_currentoverprint known + {/AGMCORE_currentoverprint get setoverprint}{pop}ifelse + /AGMCORE_gstackptr exch store + }def + /grestoreall{ + AGMCORE_&grestoreall + /AGMCORE_gstackptr AGMCORE_gstacksaveptr store + }def + /save{ + AGMCORE_&save + AGMCORE_gstack AGMCORE_gstackptr get + AGMCORE_gstackptr 1 add + dup 32 ge{limitcheck}if + /AGMCORE_gstackptr exch store + /AGMCORE_gstacksaveptr AGMCORE_gstackptr store + AGMCORE_gstack AGMCORE_gstackptr get + AGMCORE_gdictcopy + }def + /setoverprint{ + dup/AGMCORE_currentoverprint exch AGMCORE_gput AGMCORE_&setoverprint + }def + 0 1 AGMCORE_gstack length 1 sub{ + AGMCORE_gstack exch AGMCORE_gstackframekeys dict put + }for + }if + level3/AGMCORE_&sysshfill AGMCORE_key_known not and + { + /AGMCORE_&sysshfill systemdict/shfill get def + /AGMCORE_&sysmakepattern systemdict/makepattern get def + /AGMCORE_&usrmakepattern/makepattern load def + }if + /currentcmykcolor[0 0 0 0]AGMCORE_gput + /currentstrokeadjust false AGMCORE_gput + /currentcolorspace[/DeviceGray]AGMCORE_gput + /sep_tint 0 AGMCORE_gput + /devicen_tints[0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0]AGMCORE_gput + /sep_colorspace_dict null AGMCORE_gput + /devicen_colorspace_dict null AGMCORE_gput + /indexed_colorspace_dict null AGMCORE_gput + /currentcolor_intent()AGMCORE_gput + /customcolor_tint 1 AGMCORE_gput + /absolute_colorimetric_crd null AGMCORE_gput + /relative_colorimetric_crd null AGMCORE_gput + /saturation_crd null AGMCORE_gput + /perceptual_crd null AGMCORE_gput + currentcolortransfer cvlit/AGMCore_gray_xfer xdf cvlit/AGMCore_b_xfer xdf + cvlit/AGMCore_g_xfer xdf cvlit/AGMCore_r_xfer xdf + << + /MaxPatternItem currentsystemparams/MaxPatternCache get + >> + setuserparams + end +}def +/ps +{ + /setcmykcolor where{ + pop + Adobe_AGM_Core/AGMCORE_&setcmykcolor/setcmykcolor load put + }if + Adobe_AGM_Core begin + /setcmykcolor + { + 4 copy AGMCORE_cmykbuf astore/currentcmykcolor exch AGMCORE_gput + 1 sub 4 1 roll + 3{ + 3 index add neg dup 0 lt{ + pop 0 + }if + 3 1 roll + }repeat + setrgbcolor pop + }ndf + /currentcmykcolor + { + /currentcmykcolor AGMCORE_gget aload pop + }ndf + /setoverprint + {pop}ndf + /currentoverprint + {false}ndf + /AGMCORE_cyan_plate 1 0 0 0 test_cmyk_color_plate def + /AGMCORE_magenta_plate 0 1 0 0 test_cmyk_color_plate def + /AGMCORE_yellow_plate 0 0 1 0 test_cmyk_color_plate def + /AGMCORE_black_plate 0 0 0 1 test_cmyk_color_plate def + /AGMCORE_plate_ndx + AGMCORE_cyan_plate{ + 0 + }{ + AGMCORE_magenta_plate{ + 1 + }{ + AGMCORE_yellow_plate{ + 2 + }{ + AGMCORE_black_plate{ + 3 + }{ + 4 + }ifelse + }ifelse + }ifelse + }ifelse + def + /AGMCORE_have_reported_unsupported_color_space false def + /AGMCORE_report_unsupported_color_space + { + AGMCORE_have_reported_unsupported_color_space false eq + { + (Warning: Job contains content that cannot be separated with on-host methods. This content appears on the black plate, and knocks out all other plates.)== + Adobe_AGM_Core/AGMCORE_have_reported_unsupported_color_space true ddf + }if + }def + /AGMCORE_composite_job + AGMCORE_cyan_plate AGMCORE_magenta_plate and AGMCORE_yellow_plate and AGMCORE_black_plate and def + /AGMCORE_in_rip_sep + /AGMCORE_in_rip_sep where{ + pop AGMCORE_in_rip_sep + }{ + AGMCORE_distilling + { + false + }{ + userdict/Adobe_AGM_OnHost_Seps known{ + false + }{ + level2{ + currentpagedevice/Separations 2 copy known{ + get + }{ + pop pop false + }ifelse + }{ + false + }ifelse + }ifelse + }ifelse + }ifelse + def + /AGMCORE_producing_seps AGMCORE_composite_job not AGMCORE_in_rip_sep or def + /AGMCORE_host_sep AGMCORE_producing_seps AGMCORE_in_rip_sep not and def + /AGM_preserve_spots + /AGM_preserve_spots where{ + pop AGM_preserve_spots + }{ + AGMCORE_distilling AGMCORE_producing_seps or + }ifelse + def + /AGM_is_distiller_preserving_spotimages + { + currentdistillerparams/PreserveOverprintSettings known + { + currentdistillerparams/PreserveOverprintSettings get + { + currentdistillerparams/ColorConversionStrategy known + { + currentdistillerparams/ColorConversionStrategy get + /sRGB ne + }{ + true + }ifelse + }{ + false + }ifelse + }{ + false + }ifelse + }def + /convert_spot_to_process where{pop}{ + /convert_spot_to_process + { + //Adobe_AGM_Core begin + dup map_alias{ + /Name get exch pop + }if + dup dup(None)eq exch(All)eq or + { + pop false + }{ + AGMCORE_host_sep + { + gsave + 1 0 0 0 setcmykcolor currentgray 1 exch sub + 0 1 0 0 setcmykcolor currentgray 1 exch sub + 0 0 1 0 setcmykcolor currentgray 1 exch sub + 0 0 0 1 setcmykcolor currentgray 1 exch sub + add add add 0 eq + { + pop false + }{ + false setoverprint + current_spot_alias false set_spot_alias + 1 1 1 1 6 -1 roll findcmykcustomcolor 1 setcustomcolor + set_spot_alias + currentgray 1 ne + }ifelse + grestore + }{ + AGMCORE_distilling + { + pop AGM_is_distiller_preserving_spotimages not + }{ + //Adobe_AGM_Core/AGMCORE_name xddf + false + //Adobe_AGM_Core/AGMCORE_pattern_paint_type get 0 eq + AGMUTIL_cpd/OverrideSeparations known and + { + AGMUTIL_cpd/OverrideSeparations get + { + /HqnSpots/ProcSet resourcestatus + { + pop pop pop true + }if + }if + }if + { + AGMCORE_name/HqnSpots/ProcSet findresource/TestSpot gx not + }{ + gsave + [/Separation AGMCORE_name/DeviceGray{}]AGMCORE_&setcolorspace + false + AGMUTIL_cpd/SeparationColorNames 2 copy known + { + get + {AGMCORE_name eq or}forall + not + }{ + pop pop pop true + }ifelse + grestore + }ifelse + }ifelse + }ifelse + }ifelse + end + }def + }ifelse + /convert_to_process where{pop}{ + /convert_to_process + { + dup length 0 eq + { + pop false + }{ + AGMCORE_host_sep + { + dup true exch + { + dup(Cyan)eq exch + dup(Magenta)eq 3 -1 roll or exch + dup(Yellow)eq 3 -1 roll or exch + dup(Black)eq 3 -1 roll or + {pop} + {convert_spot_to_process and}ifelse + } + forall + { + true exch + { + dup(Cyan)eq exch + dup(Magenta)eq 3 -1 roll or exch + dup(Yellow)eq 3 -1 roll or exch + (Black)eq or and + }forall + not + }{pop false}ifelse + }{ + false exch + { + /PhotoshopDuotoneList where{pop false}{true}ifelse + { + dup(Cyan)eq exch + dup(Magenta)eq 3 -1 roll or exch + dup(Yellow)eq 3 -1 roll or exch + dup(Black)eq 3 -1 roll or + {pop} + {convert_spot_to_process or}ifelse + } + { + convert_spot_to_process or + } + ifelse + } + forall + }ifelse + }ifelse + }def + }ifelse + /AGMCORE_avoid_L2_sep_space + version cvr 2012 lt + level2 and + AGMCORE_producing_seps not and + def + /AGMCORE_is_cmyk_sep + AGMCORE_cyan_plate AGMCORE_magenta_plate or AGMCORE_yellow_plate or AGMCORE_black_plate or + def + /AGM_avoid_0_cmyk where{ + pop AGM_avoid_0_cmyk + }{ + AGM_preserve_spots + userdict/Adobe_AGM_OnHost_Seps known + userdict/Adobe_AGM_InRip_Seps known or + not and + }ifelse + { + /setcmykcolor[ + { + 4 copy add add add 0 eq currentoverprint and{ + pop 0.0005 + }if + }/exec cvx + /AGMCORE_&setcmykcolor load dup type/operatortype ne{ + /exec cvx + }if + ]cvx def + }if + /AGMCORE_IsSeparationAProcessColor + { + dup(Cyan)eq exch dup(Magenta)eq exch dup(Yellow)eq exch(Black)eq or or or + }def + AGMCORE_host_sep{ + /setcolortransfer + { + AGMCORE_cyan_plate{ + pop pop pop + }{ + AGMCORE_magenta_plate{ + 4 3 roll pop pop pop + }{ + AGMCORE_yellow_plate{ + 4 2 roll pop pop pop + }{ + 4 1 roll pop pop pop + }ifelse + }ifelse + }ifelse + settransfer + } + def + /AGMCORE_get_ink_data + AGMCORE_cyan_plate{ + {pop pop pop} + }{ + AGMCORE_magenta_plate{ + {4 3 roll pop pop pop} + }{ + AGMCORE_yellow_plate{ + {4 2 roll pop pop pop} + }{ + {4 1 roll pop pop pop} + }ifelse + }ifelse + }ifelse + def + /AGMCORE_RemoveProcessColorNames + { + 1 dict begin + /filtername + { + dup/Cyan eq 1 index(Cyan)eq or + {pop(_cyan_)}if + dup/Magenta eq 1 index(Magenta)eq or + {pop(_magenta_)}if + dup/Yellow eq 1 index(Yellow)eq or + {pop(_yellow_)}if + dup/Black eq 1 index(Black)eq or + {pop(_black_)}if + }def + dup type/arraytype eq + {[exch{filtername}forall]} + {filtername}ifelse + end + }def + level3{ + /AGMCORE_IsCurrentColor + { + dup AGMCORE_IsSeparationAProcessColor + { + AGMCORE_plate_ndx 0 eq + {dup(Cyan)eq exch/Cyan eq or}if + AGMCORE_plate_ndx 1 eq + {dup(Magenta)eq exch/Magenta eq or}if + AGMCORE_plate_ndx 2 eq + {dup(Yellow)eq exch/Yellow eq or}if + AGMCORE_plate_ndx 3 eq + {dup(Black)eq exch/Black eq or}if + AGMCORE_plate_ndx 4 eq + {pop false}if + }{ + gsave + false setoverprint + current_spot_alias false set_spot_alias + 1 1 1 1 6 -1 roll findcmykcustomcolor 1 setcustomcolor + set_spot_alias + currentgray 1 ne + grestore + }ifelse + }def + /AGMCORE_filter_functiondatasource + { + 5 dict begin + /data_in xdf + data_in type/stringtype eq + { + /ncomp xdf + /comp xdf + /string_out data_in length ncomp idiv string def + 0 ncomp data_in length 1 sub + { + string_out exch dup ncomp idiv exch data_in exch ncomp getinterval comp get 255 exch sub put + }for + string_out + }{ + string/string_in xdf + /string_out 1 string def + /component xdf + [ + data_in string_in/readstring cvx + [component/get cvx 255/exch cvx/sub cvx string_out/exch cvx 0/exch cvx/put cvx string_out]cvx + [/pop cvx()]cvx/ifelse cvx + ]cvx/ReusableStreamDecode filter + }ifelse + end + }def + /AGMCORE_separateShadingFunction + { + 2 dict begin + /paint? xdf + /channel xdf + dup type/dicttype eq + { + begin + FunctionType 0 eq + { + /DataSource channel Range length 2 idiv DataSource AGMCORE_filter_functiondatasource def + currentdict/Decode known + {/Decode Decode channel 2 mul 2 getinterval def}if + paint? not + {/Decode[1 1]def}if + }if + FunctionType 2 eq + { + paint? + { + /C0[C0 channel get 1 exch sub]def + /C1[C1 channel get 1 exch sub]def + }{ + /C0[1]def + /C1[1]def + }ifelse + }if + FunctionType 3 eq + { + /Functions[Functions{channel paint? AGMCORE_separateShadingFunction}forall]def + }if + currentdict/Range known + {/Range[0 1]def}if + currentdict + end}{ + channel get 0 paint? AGMCORE_separateShadingFunction + }ifelse + end + }def + /AGMCORE_separateShading + { + 3 -1 roll begin + currentdict/Function known + { + currentdict/Background known + {[1 index{Background 3 index get 1 exch sub}{1}ifelse]/Background xdf}if + Function 3 1 roll AGMCORE_separateShadingFunction/Function xdf + /ColorSpace[/DeviceGray]def + }{ + ColorSpace dup type/arraytype eq{0 get}if/DeviceCMYK eq + { + /ColorSpace[/DeviceN[/_cyan_/_magenta_/_yellow_/_black_]/DeviceCMYK{}]def + }{ + ColorSpace dup 1 get AGMCORE_RemoveProcessColorNames 1 exch put + }ifelse + ColorSpace 0 get/Separation eq + { + { + [1/exch cvx/sub cvx]cvx + }{ + [/pop cvx 1]cvx + }ifelse + ColorSpace 3 3 -1 roll put + pop + }{ + { + [exch ColorSpace 1 get length 1 sub exch sub/index cvx 1/exch cvx/sub cvx ColorSpace 1 get length 1 add 1/roll cvx ColorSpace 1 get length{/pop cvx}repeat]cvx + }{ + pop[ColorSpace 1 get length{/pop cvx}repeat cvx 1]cvx + }ifelse + ColorSpace 3 3 -1 roll bind put + }ifelse + ColorSpace 2/DeviceGray put + }ifelse + end + }def + /AGMCORE_separateShadingDict + { + dup/ColorSpace get + dup type/arraytype ne + {[exch]}if + dup 0 get/DeviceCMYK eq + { + exch begin + currentdict + AGMCORE_cyan_plate + {0 true}if + AGMCORE_magenta_plate + {1 true}if + AGMCORE_yellow_plate + {2 true}if + AGMCORE_black_plate + {3 true}if + AGMCORE_plate_ndx 4 eq + {0 false}if + dup not currentoverprint and + {/AGMCORE_ignoreshade true def}if + AGMCORE_separateShading + currentdict + end exch + }if + dup 0 get/Separation eq + { + exch begin + ColorSpace 1 get dup/None ne exch/All ne and + { + ColorSpace 1 get AGMCORE_IsCurrentColor AGMCORE_plate_ndx 4 lt and ColorSpace 1 get AGMCORE_IsSeparationAProcessColor not and + { + ColorSpace 2 get dup type/arraytype eq{0 get}if/DeviceCMYK eq + { + /ColorSpace + [ + /Separation + ColorSpace 1 get + /DeviceGray + [ + ColorSpace 3 get/exec cvx + 4 AGMCORE_plate_ndx sub -1/roll cvx + 4 1/roll cvx + 3[/pop cvx]cvx/repeat cvx + 1/exch cvx/sub cvx + ]cvx + ]def + }{ + AGMCORE_report_unsupported_color_space + AGMCORE_black_plate not + { + currentdict 0 false AGMCORE_separateShading + }if + }ifelse + }{ + currentdict ColorSpace 1 get AGMCORE_IsCurrentColor + 0 exch + dup not currentoverprint and + {/AGMCORE_ignoreshade true def}if + AGMCORE_separateShading + }ifelse + }if + currentdict + end exch + }if + dup 0 get/DeviceN eq + { + exch begin + ColorSpace 1 get convert_to_process + { + ColorSpace 2 get dup type/arraytype eq{0 get}if/DeviceCMYK eq + { + /ColorSpace + [ + /DeviceN + ColorSpace 1 get + /DeviceGray + [ + ColorSpace 3 get/exec cvx + 4 AGMCORE_plate_ndx sub -1/roll cvx + 4 1/roll cvx + 3[/pop cvx]cvx/repeat cvx + 1/exch cvx/sub cvx + ]cvx + ]def + }{ + AGMCORE_report_unsupported_color_space + AGMCORE_black_plate not + { + currentdict 0 false AGMCORE_separateShading + /ColorSpace[/DeviceGray]def + }if + }ifelse + }{ + currentdict + false -1 ColorSpace 1 get + { + AGMCORE_IsCurrentColor + { + 1 add + exch pop true exch exit + }if + 1 add + }forall + exch + dup not currentoverprint and + {/AGMCORE_ignoreshade true def}if + AGMCORE_separateShading + }ifelse + currentdict + end exch + }if + dup 0 get dup/DeviceCMYK eq exch dup/Separation eq exch/DeviceN eq or or not + { + exch begin + ColorSpace dup type/arraytype eq + {0 get}if + /DeviceGray ne + { + AGMCORE_report_unsupported_color_space + AGMCORE_black_plate not + { + ColorSpace 0 get/CIEBasedA eq + { + /ColorSpace[/Separation/_ciebaseda_/DeviceGray{}]def + }if + ColorSpace 0 get dup/CIEBasedABC eq exch dup/CIEBasedDEF eq exch/DeviceRGB eq or or + { + /ColorSpace[/DeviceN[/_red_/_green_/_blue_]/DeviceRGB{}]def + }if + ColorSpace 0 get/CIEBasedDEFG eq + { + /ColorSpace[/DeviceN[/_cyan_/_magenta_/_yellow_/_black_]/DeviceCMYK{}]def + }if + currentdict 0 false AGMCORE_separateShading + }if + }if + currentdict + end exch + }if + pop + dup/AGMCORE_ignoreshade known + { + begin + /ColorSpace[/Separation(None)/DeviceGray{}]def + currentdict end + }if + }def + /shfill + { + AGMCORE_separateShadingDict + dup/AGMCORE_ignoreshade known + {pop} + {AGMCORE_&sysshfill}ifelse + }def + /makepattern + { + exch + dup/PatternType get 2 eq + { + clonedict + begin + /Shading Shading AGMCORE_separateShadingDict def + Shading/AGMCORE_ignoreshade known + currentdict end exch + {pop<>}if + exch AGMCORE_&sysmakepattern + }{ + exch AGMCORE_&usrmakepattern + }ifelse + }def + }if + }if + AGMCORE_in_rip_sep{ + /setcustomcolor + { + exch aload pop + dup 7 1 roll inRip_spot_has_ink not { + 4{4 index mul 4 1 roll} + repeat + /DeviceCMYK setcolorspace + 6 -2 roll pop pop + }{ + //Adobe_AGM_Core begin + /AGMCORE_k xdf/AGMCORE_y xdf/AGMCORE_m xdf/AGMCORE_c xdf + end + [/Separation 4 -1 roll/DeviceCMYK + {dup AGMCORE_c mul exch dup AGMCORE_m mul exch dup AGMCORE_y mul exch AGMCORE_k mul} + ] + setcolorspace + }ifelse + setcolor + }ndf + /setseparationgray + { + [/Separation(All)/DeviceGray{}]setcolorspace_opt + 1 exch sub setcolor + }ndf + }{ + /setseparationgray + { + AGMCORE_&setgray + }ndf + }ifelse + /findcmykcustomcolor + { + 5 makereadonlyarray + }ndf + /setcustomcolor + { + exch aload pop pop + 4{4 index mul 4 1 roll}repeat + setcmykcolor pop + }ndf + /has_color + /colorimage where{ + AGMCORE_producing_seps{ + pop true + }{ + systemdict eq + }ifelse + }{ + false + }ifelse + def + /map_index + { + 1 index mul exch getinterval{255 div}forall + }bdf + /map_indexed_devn + { + Lookup Names length 3 -1 roll cvi map_index + }bdf + /n_color_components + { + base_colorspace_type + dup/DeviceGray eq{ + pop 1 + }{ + /DeviceCMYK eq{ + 4 + }{ + 3 + }ifelse + }ifelse + }bdf + level2{ + /mo/moveto ldf + /li/lineto ldf + /cv/curveto ldf + /knockout_unitsq + { + 1 setgray + 0 0 1 1 rectfill + }def + level2/setcolorspace AGMCORE_key_known not and{ + /AGMCORE_&&&setcolorspace/setcolorspace ldf + /AGMCORE_ReplaceMappedColor + { + dup type dup/arraytype eq exch/packedarraytype eq or + { + /AGMCORE_SpotAliasAry2 where{ + begin + dup 0 get dup/Separation eq + { + pop + dup length array copy + dup dup 1 get + current_spot_alias + { + dup map_alias + { + false set_spot_alias + dup 1 exch setsepcolorspace + true set_spot_alias + begin + /sep_colorspace_dict currentdict AGMCORE_gput + pop pop pop + [ + /Separation Name + CSA map_csa + MappedCSA + /sep_colorspace_proc load + ] + dup Name + end + }if + }if + map_reserved_ink_name 1 xpt + }{ + /DeviceN eq + { + dup length array copy + dup dup 1 get[ + exch{ + current_spot_alias{ + dup map_alias{ + /Name get exch pop + }if + }if + map_reserved_ink_name + }forall + ]1 xpt + }if + }ifelse + end + }if + }if + }def + /setcolorspace + { + dup type dup/arraytype eq exch/packedarraytype eq or + { + dup 0 get/Indexed eq + { + AGMCORE_distilling + { + /PhotoshopDuotoneList where + { + pop false + }{ + true + }ifelse + }{ + true + }ifelse + { + aload pop 3 -1 roll + AGMCORE_ReplaceMappedColor + 3 1 roll 4 array astore + }if + }{ + AGMCORE_ReplaceMappedColor + }ifelse + }if + DeviceN_PS2_inRip_seps{AGMCORE_&&&setcolorspace}if + }def + }if + }{ + /adj + { + currentstrokeadjust{ + transform + 0.25 sub round 0.25 add exch + 0.25 sub round 0.25 add exch + itransform + }if + }def + /mo{ + adj moveto + }def + /li{ + adj lineto + }def + /cv{ + 6 2 roll adj + 6 2 roll adj + 6 2 roll adj curveto + }def + /knockout_unitsq + { + 1 setgray + 8 8 1[8 0 0 8 0 0]{}image + }def + /currentstrokeadjust{ + /currentstrokeadjust AGMCORE_gget + }def + /setstrokeadjust{ + /currentstrokeadjust exch AGMCORE_gput + }def + /setcolorspace + { + /currentcolorspace exch AGMCORE_gput + }def + /currentcolorspace + { + /currentcolorspace AGMCORE_gget + }def + /setcolor_devicecolor + { + base_colorspace_type + dup/DeviceGray eq{ + pop setgray + }{ + /DeviceCMYK eq{ + setcmykcolor + }{ + setrgbcolor + }ifelse + }ifelse + }def + /setcolor + { + currentcolorspace 0 get + dup/DeviceGray ne{ + dup/DeviceCMYK ne{ + dup/DeviceRGB ne{ + dup/Separation eq{ + pop + currentcolorspace 3 gx + currentcolorspace 2 get + }{ + dup/Indexed eq{ + pop + currentcolorspace 3 get dup type/stringtype eq{ + currentcolorspace 1 get n_color_components + 3 -1 roll map_index + }{ + exec + }ifelse + currentcolorspace 1 get + }{ + /AGMCORE_cur_err/AGMCORE_invalid_color_space def + AGMCORE_invalid_color_space + }ifelse + }ifelse + }if + }if + }if + setcolor_devicecolor + }def + }ifelse + /sop/setoverprint ldf + /lw/setlinewidth ldf + /lc/setlinecap ldf + /lj/setlinejoin ldf + /ml/setmiterlimit ldf + /dsh/setdash ldf + /sadj/setstrokeadjust ldf + /gry/setgray ldf + /rgb/setrgbcolor ldf + /cmyk[ + /currentcolorspace[/DeviceCMYK]/AGMCORE_gput cvx + /setcmykcolor load dup type/operatortype ne{/exec cvx}if + ]cvx bdf + level3 AGMCORE_host_sep not and{ + /nzopmsc{ + 6 dict begin + /kk exch def + /yy exch def + /mm exch def + /cc exch def + /sum 0 def + cc 0 ne{/sum sum 2#1000 or def cc}if + mm 0 ne{/sum sum 2#0100 or def mm}if + yy 0 ne{/sum sum 2#0010 or def yy}if + kk 0 ne{/sum sum 2#0001 or def kk}if + AGMCORE_CMYKDeviceNColorspaces sum get setcolorspace + sum 0 eq{0}if + end + setcolor + }bdf + }{ + /nzopmsc/cmyk ldf + }ifelse + /sep/setsepcolor ldf + /devn/setdevicencolor ldf + /idx/setindexedcolor ldf + /colr/setcolor ldf + /csacrd/set_csa_crd ldf + /sepcs/setsepcolorspace ldf + /devncs/setdevicencolorspace ldf + /idxcs/setindexedcolorspace ldf + /cp/closepath ldf + /clp/clp_npth ldf + /eclp/eoclp_npth ldf + /f/fill ldf + /ef/eofill ldf + /@/stroke ldf + /nclp/npth_clp ldf + /gset/graphic_setup ldf + /gcln/graphic_cleanup ldf + /ct/concat ldf + /cf/currentfile ldf + /fl/filter ldf + /rs/readstring ldf + /AGMCORE_def_ht currenthalftone def + /clonedict Adobe_AGM_Utils begin/clonedict load end def + /clonearray Adobe_AGM_Utils begin/clonearray load end def + currentdict{ + dup xcheck 1 index type dup/arraytype eq exch/packedarraytype eq or and{ + bind + }if + def + }forall + /getrampcolor + { + /indx exch def + 0 1 NumComp 1 sub + { + dup + Samples exch get + dup type/stringtype eq{indx get}if + exch + Scaling exch get aload pop + 3 1 roll + mul add + }for + ColorSpaceFamily/Separation eq + {sep} + { + ColorSpaceFamily/DeviceN eq + {devn}{setcolor}ifelse + }ifelse + }bdf + /sssetbackground{ + aload pop + ColorSpaceFamily/Separation eq + {sep} + { + ColorSpaceFamily/DeviceN eq + {devn}{setcolor}ifelse + }ifelse + }bdf + /RadialShade + { + 40 dict begin + /ColorSpaceFamily xdf + /background xdf + /ext1 xdf + /ext0 xdf + /BBox xdf + /r2 xdf + /c2y xdf + /c2x xdf + /r1 xdf + /c1y xdf + /c1x xdf + /rampdict xdf + /setinkoverprint where{pop/setinkoverprint{pop}def}if + gsave + BBox length 0 gt + { + np + BBox 0 get BBox 1 get moveto + BBox 2 get BBox 0 get sub 0 rlineto + 0 BBox 3 get BBox 1 get sub rlineto + BBox 2 get BBox 0 get sub neg 0 rlineto + closepath + clip + np + }if + c1x c2x eq + { + c1y c2y lt{/theta 90 def}{/theta 270 def}ifelse + }{ + /slope c2y c1y sub c2x c1x sub div def + /theta slope 1 atan def + c2x c1x lt c2y c1y ge and{/theta theta 180 sub def}if + c2x c1x lt c2y c1y lt and{/theta theta 180 add def}if + }ifelse + gsave + clippath + c1x c1y translate + theta rotate + -90 rotate + {pathbbox}stopped + {0 0 0 0}if + /yMax xdf + /xMax xdf + /yMin xdf + /xMin xdf + grestore + xMax xMin eq yMax yMin eq or + { + grestore + end + }{ + /max{2 copy gt{pop}{exch pop}ifelse}bdf + /min{2 copy lt{pop}{exch pop}ifelse}bdf + rampdict begin + 40 dict begin + background length 0 gt{background sssetbackground gsave clippath fill grestore}if + gsave + c1x c1y translate + theta rotate + -90 rotate + /c2y c1x c2x sub dup mul c1y c2y sub dup mul add sqrt def + /c1y 0 def + /c1x 0 def + /c2x 0 def + ext0 + { + 0 getrampcolor + c2y r2 add r1 sub 0.0001 lt + { + c1x c1y r1 360 0 arcn + pathbbox + /aymax exch def + /axmax exch def + /aymin exch def + /axmin exch def + /bxMin xMin axmin min def + /byMin yMin aymin min def + /bxMax xMax axmax max def + /byMax yMax aymax max def + bxMin byMin moveto + bxMax byMin lineto + bxMax byMax lineto + bxMin byMax lineto + bxMin byMin lineto + eofill + }{ + c2y r1 add r2 le + { + c1x c1y r1 0 360 arc + fill + } + { + c2x c2y r2 0 360 arc fill + r1 r2 eq + { + /p1x r1 neg def + /p1y c1y def + /p2x r1 def + /p2y c1y def + p1x p1y moveto p2x p2y lineto p2x yMin lineto p1x yMin lineto + fill + }{ + /AA r2 r1 sub c2y div def + AA -1 eq + {/theta 89.99 def} + {/theta AA 1 AA dup mul sub sqrt div 1 atan def} + ifelse + /SS1 90 theta add dup sin exch cos div def + /p1x r1 SS1 SS1 mul SS1 SS1 mul 1 add div sqrt mul neg def + /p1y p1x SS1 div neg def + /SS2 90 theta sub dup sin exch cos div def + /p2x r1 SS2 SS2 mul SS2 SS2 mul 1 add div sqrt mul def + /p2y p2x SS2 div neg def + r1 r2 gt + { + /L1maxX p1x yMin p1y sub SS1 div add def + /L2maxX p2x yMin p2y sub SS2 div add def + }{ + /L1maxX 0 def + /L2maxX 0 def + }ifelse + p1x p1y moveto p2x p2y lineto L2maxX L2maxX p2x sub SS2 mul p2y add lineto + L1maxX L1maxX p1x sub SS1 mul p1y add lineto + fill + }ifelse + }ifelse + }ifelse + }if + c1x c2x sub dup mul + c1y c2y sub dup mul + add 0.5 exp + 0 dtransform + dup mul exch dup mul add 0.5 exp 72 div + 0 72 matrix defaultmatrix dtransform dup mul exch dup mul add sqrt + 72 0 matrix defaultmatrix dtransform dup mul exch dup mul add sqrt + 1 index 1 index lt{exch}if pop + /hires xdf + hires mul + /numpix xdf + /numsteps NumSamples def + /rampIndxInc 1 def + /subsampling false def + numpix 0 ne + { + NumSamples numpix div 0.5 gt + { + /numsteps numpix 2 div round cvi dup 1 le{pop 2}if def + /rampIndxInc NumSamples 1 sub numsteps div def + /subsampling true def + }if + }if + /xInc c2x c1x sub numsteps div def + /yInc c2y c1y sub numsteps div def + /rInc r2 r1 sub numsteps div def + /cx c1x def + /cy c1y def + /radius r1 def + np + xInc 0 eq yInc 0 eq rInc 0 eq and and + { + 0 getrampcolor + cx cy radius 0 360 arc + stroke + NumSamples 1 sub getrampcolor + cx cy radius 72 hires div add 0 360 arc + 0 setlinewidth + stroke + }{ + 0 + numsteps + { + dup + subsampling{round cvi}if + getrampcolor + cx cy radius 0 360 arc + /cx cx xInc add def + /cy cy yInc add def + /radius radius rInc add def + cx cy radius 360 0 arcn + eofill + rampIndxInc add + }repeat + pop + }ifelse + ext1 + { + c2y r2 add r1 lt + { + c2x c2y r2 0 360 arc + fill + }{ + c2y r1 add r2 sub 0.0001 le + { + c2x c2y r2 360 0 arcn + pathbbox + /aymax exch def + /axmax exch def + /aymin exch def + /axmin exch def + /bxMin xMin axmin min def + /byMin yMin aymin min def + /bxMax xMax axmax max def + /byMax yMax aymax max def + bxMin byMin moveto + bxMax byMin lineto + bxMax byMax lineto + bxMin byMax lineto + bxMin byMin lineto + eofill + }{ + c2x c2y r2 0 360 arc fill + r1 r2 eq + { + /p1x r2 neg def + /p1y c2y def + /p2x r2 def + /p2y c2y def + p1x p1y moveto p2x p2y lineto p2x yMax lineto p1x yMax lineto + fill + }{ + /AA r2 r1 sub c2y div def + AA -1 eq + {/theta 89.99 def} + {/theta AA 1 AA dup mul sub sqrt div 1 atan def} + ifelse + /SS1 90 theta add dup sin exch cos div def + /p1x r2 SS1 SS1 mul SS1 SS1 mul 1 add div sqrt mul neg def + /p1y c2y p1x SS1 div sub def + /SS2 90 theta sub dup sin exch cos div def + /p2x r2 SS2 SS2 mul SS2 SS2 mul 1 add div sqrt mul def + /p2y c2y p2x SS2 div sub def + r1 r2 lt + { + /L1maxX p1x yMax p1y sub SS1 div add def + /L2maxX p2x yMax p2y sub SS2 div add def + }{ + /L1maxX 0 def + /L2maxX 0 def + }ifelse + p1x p1y moveto p2x p2y lineto L2maxX L2maxX p2x sub SS2 mul p2y add lineto + L1maxX L1maxX p1x sub SS1 mul p1y add lineto + fill + }ifelse + }ifelse + }ifelse + }if + grestore + grestore + end + end + end + }ifelse + }bdf + /GenStrips + { + 40 dict begin + /ColorSpaceFamily xdf + /background xdf + /ext1 xdf + /ext0 xdf + /BBox xdf + /y2 xdf + /x2 xdf + /y1 xdf + /x1 xdf + /rampdict xdf + /setinkoverprint where{pop/setinkoverprint{pop}def}if + gsave + BBox length 0 gt + { + np + BBox 0 get BBox 1 get moveto + BBox 2 get BBox 0 get sub 0 rlineto + 0 BBox 3 get BBox 1 get sub rlineto + BBox 2 get BBox 0 get sub neg 0 rlineto + closepath + clip + np + }if + x1 x2 eq + { + y1 y2 lt{/theta 90 def}{/theta 270 def}ifelse + }{ + /slope y2 y1 sub x2 x1 sub div def + /theta slope 1 atan def + x2 x1 lt y2 y1 ge and{/theta theta 180 sub def}if + x2 x1 lt y2 y1 lt and{/theta theta 180 add def}if + } + ifelse + gsave + clippath + x1 y1 translate + theta rotate + {pathbbox}stopped + {0 0 0 0}if + /yMax exch def + /xMax exch def + /yMin exch def + /xMin exch def + grestore + xMax xMin eq yMax yMin eq or + { + grestore + end + }{ + rampdict begin + 20 dict begin + background length 0 gt{background sssetbackground gsave clippath fill grestore}if + gsave + x1 y1 translate + theta rotate + /xStart 0 def + /xEnd x2 x1 sub dup mul y2 y1 sub dup mul add 0.5 exp def + /ySpan yMax yMin sub def + /numsteps NumSamples def + /rampIndxInc 1 def + /subsampling false def + xStart 0 transform + xEnd 0 transform + 3 -1 roll + sub dup mul + 3 1 roll + sub dup mul + add 0.5 exp 72 div + 0 72 matrix defaultmatrix dtransform dup mul exch dup mul add sqrt + 72 0 matrix defaultmatrix dtransform dup mul exch dup mul add sqrt + 1 index 1 index lt{exch}if pop + mul + /numpix xdf + numpix 0 ne + { + NumSamples numpix div 0.5 gt + { + /numsteps numpix 2 div round cvi dup 1 le{pop 2}if def + /rampIndxInc NumSamples 1 sub numsteps div def + /subsampling true def + }if + }if + ext0 + { + 0 getrampcolor + xMin xStart lt + { + xMin yMin xMin neg ySpan rectfill + }if + }if + /xInc xEnd xStart sub numsteps div def + /x xStart def + 0 + numsteps + { + dup + subsampling{round cvi}if + getrampcolor + x yMin xInc ySpan rectfill + /x x xInc add def + rampIndxInc add + }repeat + pop + ext1{ + xMax xEnd gt + { + xEnd yMin xMax xEnd sub ySpan rectfill + }if + }if + grestore + grestore + end + end + end + }ifelse + }bdf +}def +/pt +{ + end +}def +/dt{ +}def +/pgsv{ + //Adobe_AGM_Core/AGMCORE_save save put +}def +/pgrs{ + //Adobe_AGM_Core/AGMCORE_save get restore +}def +systemdict/findcolorrendering known{ + /findcolorrendering systemdict/findcolorrendering get def +}if +systemdict/setcolorrendering known{ + /setcolorrendering systemdict/setcolorrendering get def +}if +/test_cmyk_color_plate +{ + gsave + setcmykcolor currentgray 1 ne + grestore +}def +/inRip_spot_has_ink +{ + dup//Adobe_AGM_Core/AGMCORE_name xddf + convert_spot_to_process not +}def +/map255_to_range +{ + 1 index sub + 3 -1 roll 255 div mul add +}def +/set_csa_crd +{ + /sep_colorspace_dict null AGMCORE_gput + begin + CSA get_csa_by_name setcolorspace_opt + set_crd + end +} +def +/map_csa +{ + currentdict/MappedCSA known{MappedCSA null ne}{false}ifelse + {pop}{get_csa_by_name/MappedCSA xdf}ifelse +}def +/setsepcolor +{ + /sep_colorspace_dict AGMCORE_gget begin + dup/sep_tint exch AGMCORE_gput + TintProc + end +}def +/setdevicencolor +{ + /devicen_colorspace_dict AGMCORE_gget begin + Names length copy + Names length 1 sub -1 0 + { + /devicen_tints AGMCORE_gget 3 1 roll xpt + }for + TintProc + end +}def +/sep_colorspace_proc +{ + /AGMCORE_tmp exch store + /sep_colorspace_dict AGMCORE_gget begin + currentdict/Components known{ + Components aload pop + TintMethod/Lab eq{ + 2{AGMCORE_tmp mul NComponents 1 roll}repeat + LMax sub AGMCORE_tmp mul LMax add NComponents 1 roll + }{ + TintMethod/Subtractive eq{ + NComponents{ + AGMCORE_tmp mul NComponents 1 roll + }repeat + }{ + NComponents{ + 1 sub AGMCORE_tmp mul 1 add NComponents 1 roll + }repeat + }ifelse + }ifelse + }{ + ColorLookup AGMCORE_tmp ColorLookup length 1 sub mul round cvi get + aload pop + }ifelse + end +}def +/sep_colorspace_gray_proc +{ + /AGMCORE_tmp exch store + /sep_colorspace_dict AGMCORE_gget begin + GrayLookup AGMCORE_tmp GrayLookup length 1 sub mul round cvi get + end +}def +/sep_proc_name +{ + dup 0 get + dup/DeviceRGB eq exch/DeviceCMYK eq or level2 not and has_color not and{ + pop[/DeviceGray] + /sep_colorspace_gray_proc + }{ + /sep_colorspace_proc + }ifelse +}def +/setsepcolorspace +{ + current_spot_alias{ + dup begin + Name map_alias{ + exch pop + }if + end + }if + dup/sep_colorspace_dict exch AGMCORE_gput + begin + CSA map_csa + /AGMCORE_sep_special Name dup()eq exch(All)eq or store + AGMCORE_avoid_L2_sep_space{ + [/Indexed MappedCSA sep_proc_name 255 exch + {255 div}/exec cvx 3 -1 roll[4 1 roll load/exec cvx]cvx + ]setcolorspace_opt + /TintProc{ + 255 mul round cvi setcolor + }bdf + }{ + MappedCSA 0 get/DeviceCMYK eq + currentdict/Components known and + AGMCORE_sep_special not and{ + /TintProc[ + Components aload pop Name findcmykcustomcolor + /exch cvx/setcustomcolor cvx + ]cvx bdf + }{ + AGMCORE_host_sep Name(All)eq and{ + /TintProc{ + 1 exch sub setseparationgray + }bdf + }{ + AGMCORE_in_rip_sep MappedCSA 0 get/DeviceCMYK eq and + AGMCORE_host_sep or + Name()eq and{ + /TintProc[ + MappedCSA sep_proc_name exch 0 get/DeviceCMYK eq{ + cvx/setcmykcolor cvx + }{ + cvx/setgray cvx + }ifelse + ]cvx bdf + }{ + AGMCORE_producing_seps MappedCSA 0 get dup/DeviceCMYK eq exch/DeviceGray eq or and AGMCORE_sep_special not and{ + /TintProc[ + /dup cvx + MappedCSA sep_proc_name cvx exch + 0 get/DeviceGray eq{ + 1/exch cvx/sub cvx 0 0 0 4 -1/roll cvx + }if + /Name cvx/findcmykcustomcolor cvx/exch cvx + AGMCORE_host_sep{ + AGMCORE_is_cmyk_sep + /Name cvx + /AGMCORE_IsSeparationAProcessColor load/exec cvx + /not cvx/and cvx + }{ + Name inRip_spot_has_ink not + }ifelse + [ + /pop cvx 1 + ]cvx/if cvx + /setcustomcolor cvx + ]cvx bdf + }{ + /TintProc{setcolor}bdf + [/Separation Name MappedCSA sep_proc_name load]setcolorspace_opt + }ifelse + }ifelse + }ifelse + }ifelse + }ifelse + set_crd + setsepcolor + end +}def +/additive_blend +{ + 3 dict begin + /numarrays xdf + /numcolors xdf + 0 1 numcolors 1 sub + { + /c1 xdf + 1 + 0 1 numarrays 1 sub + { + 1 exch add/index cvx + c1/get cvx/mul cvx + }for + numarrays 1 add 1/roll cvx + }for + numarrays[/pop cvx]cvx/repeat cvx + end +}def +/subtractive_blend +{ + 3 dict begin + /numarrays xdf + /numcolors xdf + 0 1 numcolors 1 sub + { + /c1 xdf + 1 1 + 0 1 numarrays 1 sub + { + 1 3 3 -1 roll add/index cvx + c1/get cvx/sub cvx/mul cvx + }for + /sub cvx + numarrays 1 add 1/roll cvx + }for + numarrays[/pop cvx]cvx/repeat cvx + end +}def +/exec_tint_transform +{ + /TintProc[ + /TintTransform cvx/setcolor cvx + ]cvx bdf + MappedCSA setcolorspace_opt +}bdf +/devn_makecustomcolor +{ + 2 dict begin + /names_index xdf + /Names xdf + 1 1 1 1 Names names_index get findcmykcustomcolor + /devicen_tints AGMCORE_gget names_index get setcustomcolor + Names length{pop}repeat + end +}bdf +/setdevicencolorspace +{ + dup/AliasedColorants known{false}{true}ifelse + current_spot_alias and{ + 7 dict begin + /names_index 0 def + dup/names_len exch/Names get length def + /new_names names_len array def + /new_LookupTables names_len array def + /alias_cnt 0 def + dup/Names get + { + dup map_alias{ + exch pop + dup/ColorLookup known{ + dup begin + new_LookupTables names_index ColorLookup put + end + }{ + dup/Components known{ + dup begin + new_LookupTables names_index Components put + end + }{ + dup begin + new_LookupTables names_index[null null null null]put + end + }ifelse + }ifelse + new_names names_index 3 -1 roll/Name get put + /alias_cnt alias_cnt 1 add def + }{ + /name xdf + new_names names_index name put + dup/LookupTables known{ + dup begin + new_LookupTables names_index LookupTables names_index get put + end + }{ + dup begin + new_LookupTables names_index[null null null null]put + end + }ifelse + }ifelse + /names_index names_index 1 add def + }forall + alias_cnt 0 gt{ + /AliasedColorants true def + /lut_entry_len new_LookupTables 0 get dup length 256 ge{0 get length}{length}ifelse def + 0 1 names_len 1 sub{ + /names_index xdf + new_LookupTables names_index get dup length 256 ge{0 get length}{length}ifelse lut_entry_len ne{ + /AliasedColorants false def + exit + }{ + new_LookupTables names_index get 0 get null eq{ + dup/Names get names_index get/name xdf + name(Cyan)eq name(Magenta)eq name(Yellow)eq name(Black)eq + or or or not{ + /AliasedColorants false def + exit + }if + }if + }ifelse + }for + lut_entry_len 1 eq{ + /AliasedColorants false def + }if + AliasedColorants{ + dup begin + /Names new_names def + /LookupTables new_LookupTables def + /AliasedColorants true def + /NComponents lut_entry_len def + /TintMethod NComponents 4 eq{/Subtractive}{/Additive}ifelse def + /MappedCSA TintMethod/Additive eq{/DeviceRGB}{/DeviceCMYK}ifelse def + currentdict/TTTablesIdx known not{ + /TTTablesIdx -1 def + }if + end + }if + }if + end + }if + dup/devicen_colorspace_dict exch AGMCORE_gput + begin + currentdict/AliasedColorants known{ + AliasedColorants + }{ + false + }ifelse + dup not{ + CSA map_csa + }if + /TintTransform load type/nulltype eq or{ + /TintTransform[ + 0 1 Names length 1 sub + { + /TTTablesIdx TTTablesIdx 1 add def + dup LookupTables exch get dup 0 get null eq + { + 1 index + Names exch get + dup(Cyan)eq + { + pop exch + LookupTables length exch sub + /index cvx + 0 0 0 + } + { + dup(Magenta)eq + { + pop exch + LookupTables length exch sub + /index cvx + 0/exch cvx 0 0 + }{ + (Yellow)eq + { + exch + LookupTables length exch sub + /index cvx + 0 0 3 -1/roll cvx 0 + }{ + exch + LookupTables length exch sub + /index cvx + 0 0 0 4 -1/roll cvx + }ifelse + }ifelse + }ifelse + 5 -1/roll cvx/astore cvx + }{ + dup length 1 sub + LookupTables length 4 -1 roll sub 1 add + /index cvx/mul cvx/round cvx/cvi cvx/get cvx + }ifelse + Names length TTTablesIdx add 1 add 1/roll cvx + }for + Names length[/pop cvx]cvx/repeat cvx + NComponents Names length + TintMethod/Subtractive eq + { + subtractive_blend + }{ + additive_blend + }ifelse + ]cvx bdf + }if + AGMCORE_host_sep{ + Names convert_to_process{ + exec_tint_transform + } + { + currentdict/AliasedColorants known{ + AliasedColorants not + }{ + false + }ifelse + 5 dict begin + /AvoidAliasedColorants xdf + /painted? false def + /names_index 0 def + /names_len Names length def + AvoidAliasedColorants{ + /currentspotalias current_spot_alias def + false set_spot_alias + }if + Names{ + AGMCORE_is_cmyk_sep{ + dup(Cyan)eq AGMCORE_cyan_plate and exch + dup(Magenta)eq AGMCORE_magenta_plate and exch + dup(Yellow)eq AGMCORE_yellow_plate and exch + (Black)eq AGMCORE_black_plate and or or or{ + /devicen_colorspace_dict AGMCORE_gget/TintProc[ + Names names_index/devn_makecustomcolor cvx + ]cvx ddf + /painted? true def + }if + painted?{exit}if + }{ + 0 0 0 0 5 -1 roll findcmykcustomcolor 1 setcustomcolor currentgray 0 eq{ + /devicen_colorspace_dict AGMCORE_gget/TintProc[ + Names names_index/devn_makecustomcolor cvx + ]cvx ddf + /painted? true def + exit + }if + }ifelse + /names_index names_index 1 add def + }forall + AvoidAliasedColorants{ + currentspotalias set_spot_alias + }if + painted?{ + /devicen_colorspace_dict AGMCORE_gget/names_index names_index put + }{ + /devicen_colorspace_dict AGMCORE_gget/TintProc[ + names_len[/pop cvx]cvx/repeat cvx 1/setseparationgray cvx + 0 0 0 0/setcmykcolor cvx + ]cvx ddf + }ifelse + end + }ifelse + } + { + AGMCORE_in_rip_sep{ + Names convert_to_process not + }{ + level3 + }ifelse + { + [/DeviceN Names MappedCSA/TintTransform load]setcolorspace_opt + /TintProc level3 not AGMCORE_in_rip_sep and{ + [ + Names/length cvx[/pop cvx]cvx/repeat cvx + ]cvx bdf + }{ + {setcolor}bdf + }ifelse + }{ + exec_tint_transform + }ifelse + }ifelse + set_crd + /AliasedColorants false def + end +}def +/setindexedcolorspace +{ + dup/indexed_colorspace_dict exch AGMCORE_gput + begin + currentdict/CSDBase known{ + CSDBase/CSD get_res begin + currentdict/Names known{ + currentdict devncs + }{ + 1 currentdict sepcs + }ifelse + AGMCORE_host_sep{ + 4 dict begin + /compCnt/Names where{pop Names length}{1}ifelse def + /NewLookup HiVal 1 add string def + 0 1 HiVal{ + /tableIndex xdf + Lookup dup type/stringtype eq{ + compCnt tableIndex map_index + }{ + exec + }ifelse + /Names where{ + pop setdevicencolor + }{ + setsepcolor + }ifelse + currentgray + tableIndex exch + 255 mul cvi + NewLookup 3 1 roll put + }for + [/Indexed currentcolorspace HiVal NewLookup]setcolorspace_opt + end + }{ + level3 + { + currentdict/Names known{ + [/Indexed[/DeviceN Names MappedCSA/TintTransform load]HiVal Lookup]setcolorspace_opt + }{ + [/Indexed[/Separation Name MappedCSA sep_proc_name load]HiVal Lookup]setcolorspace_opt + }ifelse + }{ + [/Indexed MappedCSA HiVal + [ + currentdict/Names known{ + Lookup dup type/stringtype eq + {/exch cvx CSDBase/CSD get_res/Names get length dup/mul cvx exch/getinterval cvx{255 div}/forall cvx} + {/exec cvx}ifelse + /TintTransform load/exec cvx + }{ + Lookup dup type/stringtype eq + {/exch cvx/get cvx 255/div cvx} + {/exec cvx}ifelse + CSDBase/CSD get_res/MappedCSA get sep_proc_name exch pop/load cvx/exec cvx + }ifelse + ]cvx + ]setcolorspace_opt + }ifelse + }ifelse + end + set_crd + } + { + CSA map_csa + AGMCORE_host_sep level2 not and{ + 0 0 0 0 setcmykcolor + }{ + [/Indexed MappedCSA + level2 not has_color not and{ + dup 0 get dup/DeviceRGB eq exch/DeviceCMYK eq or{ + pop[/DeviceGray] + }if + HiVal GrayLookup + }{ + HiVal + currentdict/RangeArray known{ + { + /indexed_colorspace_dict AGMCORE_gget begin + Lookup exch + dup HiVal gt{ + pop HiVal + }if + NComponents mul NComponents getinterval{}forall + NComponents 1 sub -1 0{ + RangeArray exch 2 mul 2 getinterval aload pop map255_to_range + NComponents 1 roll + }for + end + }bind + }{ + Lookup + }ifelse + }ifelse + ]setcolorspace_opt + set_crd + }ifelse + }ifelse + end +}def +/setindexedcolor +{ + AGMCORE_host_sep{ + /indexed_colorspace_dict AGMCORE_gget + begin + currentdict/CSDBase known{ + CSDBase/CSD get_res begin + currentdict/Names known{ + map_indexed_devn + devn + } + { + Lookup 1 3 -1 roll map_index + sep + }ifelse + end + }{ + Lookup MappedCSA/DeviceCMYK eq{4}{1}ifelse 3 -1 roll + map_index + MappedCSA/DeviceCMYK eq{setcmykcolor}{setgray}ifelse + }ifelse + end + }{ + level3 not AGMCORE_in_rip_sep and/indexed_colorspace_dict AGMCORE_gget/CSDBase known and{ + /indexed_colorspace_dict AGMCORE_gget/CSDBase get/CSD get_res begin + map_indexed_devn + devn + end + } + { + setcolor + }ifelse + }ifelse +}def +/ignoreimagedata +{ + currentoverprint not{ + gsave + dup clonedict begin + 1 setgray + /Decode[0 1]def + /DataSourcedef + /MultipleDataSources false def + /BitsPerComponent 8 def + currentdict end + systemdict/image gx + grestore + }if + consumeimagedata +}def +/add_res +{ + dup/CSD eq{ + pop + //Adobe_AGM_Core begin + /AGMCORE_CSD_cache load 3 1 roll put + end + }{ + defineresource pop + }ifelse +}def +/del_res +{ + { + aload pop exch + dup/CSD eq{ + pop + {//Adobe_AGM_Core/AGMCORE_CSD_cache get exch undef}forall + }{ + exch + {1 index undefineresource}forall + pop + }ifelse + }forall +}def +/get_res +{ + dup/CSD eq{ + pop + dup type dup/nametype eq exch/stringtype eq or{ + AGMCORE_CSD_cache exch get + }if + }{ + findresource + }ifelse +}def +/get_csa_by_name +{ + dup type dup/nametype eq exch/stringtype eq or{ + /CSA get_res + }if +}def +/paintproc_buf_init +{ + /count get 0 0 put +}def +/paintproc_buf_next +{ + dup/count get dup 0 get + dup 3 1 roll + 1 add 0 xpt + get +}def +/cachepaintproc_compress +{ + 5 dict begin + currentfile exch 0 exch/SubFileDecode filter/ReadFilter exch def + /ppdict 20 dict def + /string_size 16000 def + /readbuffer string_size string def + currentglobal true setglobal + ppdict 1 array dup 0 1 put/count xpt + setglobal + /LZWFilter + { + exch + dup length 0 eq{ + pop + }{ + ppdict dup length 1 sub 3 -1 roll put + }ifelse + {string_size}{0}ifelse string + }/LZWEncode filter def + { + ReadFilter readbuffer readstring + exch LZWFilter exch writestring + not{exit}if + }loop + LZWFilter closefile + ppdict + end +}def +/cachepaintproc +{ + 2 dict begin + currentfile exch 0 exch/SubFileDecode filter/ReadFilter exch def + /ppdict 20 dict def + currentglobal true setglobal + ppdict 1 array dup 0 1 put/count xpt + setglobal + { + ReadFilter 16000 string readstring exch + ppdict dup length 1 sub 3 -1 roll put + not{exit}if + }loop + ppdict dup dup length 1 sub()put + end +}def +/make_pattern +{ + exch clonedict exch + dup matrix currentmatrix matrix concatmatrix 0 0 3 2 roll itransform + exch 3 index/XStep get 1 index exch 2 copy div cvi mul sub sub + exch 3 index/YStep get 1 index exch 2 copy div cvi mul sub sub + matrix translate exch matrix concatmatrix + 1 index begin + BBox 0 get XStep div cvi XStep mul/xshift exch neg def + BBox 1 get YStep div cvi YStep mul/yshift exch neg def + BBox 0 get xshift add + BBox 1 get yshift add + BBox 2 get xshift add + BBox 3 get yshift add + 4 array astore + /BBox exch def + [xshift yshift/translate load null/exec load]dup + 3/PaintProc load put cvx/PaintProc exch def + end + gsave 0 setgray + makepattern + grestore +}def +/set_pattern +{ + dup/PatternType get 1 eq{ + dup/PaintType get 1 eq{ + currentoverprint sop[/DeviceGray]setcolorspace 0 setgray + }if + }if + setpattern +}def +/setcolorspace_opt +{ + dup currentcolorspace eq{pop}{setcolorspace}ifelse +}def +/updatecolorrendering +{ + currentcolorrendering/RenderingIntent known{ + currentcolorrendering/RenderingIntent get + } + { + Intent/AbsoluteColorimetric eq + { + /absolute_colorimetric_crd AGMCORE_gget dup null eq + } + { + Intent/RelativeColorimetric eq + { + /relative_colorimetric_crd AGMCORE_gget dup null eq + } + { + Intent/Saturation eq + { + /saturation_crd AGMCORE_gget dup null eq + } + { + /perceptual_crd AGMCORE_gget dup null eq + }ifelse + }ifelse + }ifelse + { + pop null + } + { + /RenderingIntent known{null}{Intent}ifelse + }ifelse + }ifelse + Intent ne{ + Intent/ColorRendering{findresource}stopped + { + pop pop systemdict/findcolorrendering known + { + Intent findcolorrendering + { + /ColorRendering findresource true exch + } + { + /ColorRendering findresource + product(Xerox Phaser 5400)ne + exch + }ifelse + dup Intent/AbsoluteColorimetric eq + { + /absolute_colorimetric_crd exch AGMCORE_gput + } + { + Intent/RelativeColorimetric eq + { + /relative_colorimetric_crd exch AGMCORE_gput + } + { + Intent/Saturation eq + { + /saturation_crd exch AGMCORE_gput + } + { + Intent/Perceptual eq + { + /perceptual_crd exch AGMCORE_gput + } + { + pop + }ifelse + }ifelse + }ifelse + }ifelse + 1 index{exch}{pop}ifelse + } + {false}ifelse + } + {true}ifelse + { + dup begin + currentdict/TransformPQR known{ + currentdict/TransformPQR get aload pop + 3{{}eq 3 1 roll}repeat or or + } + {true}ifelse + currentdict/MatrixPQR known{ + currentdict/MatrixPQR get aload pop + 1.0 eq 9 1 roll 0.0 eq 9 1 roll 0.0 eq 9 1 roll + 0.0 eq 9 1 roll 1.0 eq 9 1 roll 0.0 eq 9 1 roll + 0.0 eq 9 1 roll 0.0 eq 9 1 roll 1.0 eq + and and and and and and and and + } + {true}ifelse + end + or + { + clonedict begin + /TransformPQR[ + {4 -1 roll 3 get dup 3 1 roll sub 5 -1 roll 3 get 3 -1 roll sub div + 3 -1 roll 3 get 3 -1 roll 3 get dup 4 1 roll sub mul add}bind + {4 -1 roll 4 get dup 3 1 roll sub 5 -1 roll 4 get 3 -1 roll sub div + 3 -1 roll 4 get 3 -1 roll 4 get dup 4 1 roll sub mul add}bind + {4 -1 roll 5 get dup 3 1 roll sub 5 -1 roll 5 get 3 -1 roll sub div + 3 -1 roll 5 get 3 -1 roll 5 get dup 4 1 roll sub mul add}bind + ]def + /MatrixPQR[0.8951 -0.7502 0.0389 0.2664 1.7135 -0.0685 -0.1614 0.0367 1.0296]def + /RangePQR[-0.3227950745 2.3229645538 -1.5003771057 3.5003465881 -0.1369979095 2.136967392]def + currentdict end + }if + setcolorrendering_opt + }if + }if +}def +/set_crd +{ + AGMCORE_host_sep not level2 and{ + currentdict/ColorRendering known{ + ColorRendering/ColorRendering{findresource}stopped not{setcolorrendering_opt}if + }{ + currentdict/Intent known{ + updatecolorrendering + }if + }ifelse + currentcolorspace dup type/arraytype eq + {0 get}if + /DeviceRGB eq + { + currentdict/UCR known + {/UCR}{/AGMCORE_currentucr}ifelse + load setundercolorremoval + currentdict/BG known + {/BG}{/AGMCORE_currentbg}ifelse + load setblackgeneration + }if + }if +}def +/set_ucrbg +{ + dup null eq{pop/AGMCORE_currentbg load}{/Procedure get_res}ifelse setblackgeneration + dup null eq{pop/AGMCORE_currentucr load}{/Procedure get_res}ifelse setundercolorremoval +}def +/setcolorrendering_opt +{ + dup currentcolorrendering eq{ + pop + }{ + product(HP Color LaserJet 2605)anchorsearch{ + pop pop pop + }{ + pop + clonedict + begin + /Intent Intent def + currentdict + end + setcolorrendering + }ifelse + }ifelse +}def +/cpaint_gcomp +{ + convert_to_process//Adobe_AGM_Core/AGMCORE_ConvertToProcess xddf + //Adobe_AGM_Core/AGMCORE_ConvertToProcess get not + { + (%end_cpaint_gcomp)flushinput + }if +}def +/cpaint_gsep +{ + //Adobe_AGM_Core/AGMCORE_ConvertToProcess get + { + (%end_cpaint_gsep)flushinput + }if +}def +/cpaint_gend +{np}def +/T1_path +{ + currentfile token pop currentfile token pop mo + { + currentfile token pop dup type/stringtype eq + {pop exit}if + 0 exch rlineto + currentfile token pop dup type/stringtype eq + {pop exit}if + 0 rlineto + }loop +}def +/T1_gsave + level3 + {/clipsave} + {/gsave}ifelse + load def +/T1_grestore + level3 + {/cliprestore} + {/grestore}ifelse + load def +/set_spot_alias_ary +{ + dup inherit_aliases + //Adobe_AGM_Core/AGMCORE_SpotAliasAry xddf +}def +/set_spot_normalization_ary +{ + dup inherit_aliases + dup length + /AGMCORE_SpotAliasAry where{pop AGMCORE_SpotAliasAry length add}if + array + //Adobe_AGM_Core/AGMCORE_SpotAliasAry2 xddf + /AGMCORE_SpotAliasAry where{ + pop + AGMCORE_SpotAliasAry2 0 AGMCORE_SpotAliasAry putinterval + AGMCORE_SpotAliasAry length + }{0}ifelse + AGMCORE_SpotAliasAry2 3 1 roll exch putinterval + true set_spot_alias +}def +/inherit_aliases +{ + {dup/Name get map_alias{/CSD put}{pop}ifelse}forall +}def +/set_spot_alias +{ + /AGMCORE_SpotAliasAry2 where{ + /AGMCORE_current_spot_alias 3 -1 roll put + }{ + pop + }ifelse +}def +/current_spot_alias +{ + /AGMCORE_SpotAliasAry2 where{ + /AGMCORE_current_spot_alias get + }{ + false + }ifelse +}def +/map_alias +{ + /AGMCORE_SpotAliasAry2 where{ + begin + /AGMCORE_name xdf + false + AGMCORE_SpotAliasAry2{ + dup/Name get AGMCORE_name eq{ + /CSD get/CSD get_res + exch pop true + exit + }{ + pop + }ifelse + }forall + end + }{ + pop false + }ifelse +}bdf +/spot_alias +{ + true set_spot_alias + /AGMCORE_&setcustomcolor AGMCORE_key_known not{ + //Adobe_AGM_Core/AGMCORE_&setcustomcolor/setcustomcolor load put + }if + /customcolor_tint 1 AGMCORE_gput + //Adobe_AGM_Core begin + /setcustomcolor + { + //Adobe_AGM_Core begin + dup/customcolor_tint exch AGMCORE_gput + 1 index aload pop pop 1 eq exch 1 eq and exch 1 eq and exch 1 eq and not + current_spot_alias and{1 index 4 get map_alias}{false}ifelse + { + false set_spot_alias + /sep_colorspace_dict AGMCORE_gget null ne + {/sep_colorspace_dict AGMCORE_gget/ForeignContent known not}{false}ifelse + 3 1 roll 2 index{ + exch pop/sep_tint AGMCORE_gget exch + }if + mark 3 1 roll + setsepcolorspace + counttomark 0 ne{ + setsepcolor + }if + pop + not{/sep_tint 1.0 AGMCORE_gput/sep_colorspace_dict AGMCORE_gget/ForeignContent true put}if + pop + true set_spot_alias + }{ + AGMCORE_&setcustomcolor + }ifelse + end + }bdf + end +}def +/begin_feature +{ + Adobe_AGM_Core/AGMCORE_feature_dictCount countdictstack put + count Adobe_AGM_Core/AGMCORE_feature_opCount 3 -1 roll put + {Adobe_AGM_Core/AGMCORE_feature_ctm matrix currentmatrix put}if +}def +/end_feature +{ + 2 dict begin + /spd/setpagedevice load def + /setpagedevice{get_gstate spd set_gstate}def + stopped{$error/newerror false put}if + end + count Adobe_AGM_Core/AGMCORE_feature_opCount get sub dup 0 gt{{pop}repeat}{pop}ifelse + countdictstack Adobe_AGM_Core/AGMCORE_feature_dictCount get sub dup 0 gt{{end}repeat}{pop}ifelse + {Adobe_AGM_Core/AGMCORE_feature_ctm get setmatrix}if +}def +/set_negative +{ + //Adobe_AGM_Core begin + /AGMCORE_inverting exch def + level2{ + currentpagedevice/NegativePrint known AGMCORE_distilling not and{ + currentpagedevice/NegativePrint get//Adobe_AGM_Core/AGMCORE_inverting get ne{ + true begin_feature true{ + <>setpagedevice + }end_feature + }if + /AGMCORE_inverting false def + }if + }if + AGMCORE_inverting{ + [{1 exch sub}/exec load dup currenttransfer exch]cvx bind settransfer + AGMCORE_distilling{ + erasepage + }{ + gsave np clippath 1/setseparationgray where{pop setseparationgray}{setgray}ifelse + /AGMIRS_&fill where{pop AGMIRS_&fill}{fill}ifelse grestore + }ifelse + }if + end +}def +/lw_save_restore_override{ + /md where{ + pop + md begin + initializepage + /initializepage{}def + /pmSVsetup{}def + /endp{}def + /pse{}def + /psb{}def + /orig_showpage where + {pop} + {/orig_showpage/showpage load def} + ifelse + /showpage{orig_showpage gR}def + end + }if +}def +/pscript_showpage_override{ + /NTPSOct95 where + { + begin + showpage + save + /showpage/restore load def + /restore{exch pop}def + end + }if +}def +/driver_media_override +{ + /md where{ + pop + md/initializepage known{ + md/initializepage{}put + }if + md/rC known{ + md/rC{4{pop}repeat}put + }if + }if + /mysetup where{ + /mysetup[1 0 0 1 0 0]put + }if + Adobe_AGM_Core/AGMCORE_Default_CTM matrix currentmatrix put + level2 + {Adobe_AGM_Core/AGMCORE_Default_PageSize currentpagedevice/PageSize get put}if +}def +/capture_mysetup +{ + /Pscript_Win_Data where{ + pop + Pscript_Win_Data/mysetup known{ + Adobe_AGM_Core/save_mysetup Pscript_Win_Data/mysetup get put + }if + }if +}def +/restore_mysetup +{ + /Pscript_Win_Data where{ + pop + Pscript_Win_Data/mysetup known{ + Adobe_AGM_Core/save_mysetup known{ + Pscript_Win_Data/mysetup Adobe_AGM_Core/save_mysetup get put + Adobe_AGM_Core/save_mysetup undef + }if + }if + }if +}def +/driver_check_media_override +{ + /PrepsDict where + {pop} + { + Adobe_AGM_Core/AGMCORE_Default_CTM get matrix currentmatrix ne + Adobe_AGM_Core/AGMCORE_Default_PageSize get type/arraytype eq + { + Adobe_AGM_Core/AGMCORE_Default_PageSize get 0 get currentpagedevice/PageSize get 0 get eq and + Adobe_AGM_Core/AGMCORE_Default_PageSize get 1 get currentpagedevice/PageSize get 1 get eq and + }if + { + Adobe_AGM_Core/AGMCORE_Default_CTM get setmatrix + }if + }ifelse +}def +AGMCORE_err_strings begin + /AGMCORE_bad_environ(Environment not satisfactory for this job. Ensure that the PPD is correct or that the PostScript level requested is supported by this printer. )def + /AGMCORE_color_space_onhost_seps(This job contains colors that will not separate with on-host methods. )def + /AGMCORE_invalid_color_space(This job contains an invalid color space. )def +end +/set_def_ht +{AGMCORE_def_ht sethalftone}def +/set_def_flat +{AGMCORE_Default_flatness setflat}def +end +systemdict/setpacking known +{setpacking}if +%%EndResource +%%BeginResource: procset Adobe_CoolType_Core 2.31 0 %%Copyright: Copyright 1997-2006 Adobe Systems Incorporated. All Rights Reserved. %%Version: 2.31 0 10 dict begin /Adobe_CoolType_Passthru currentdict def /Adobe_CoolType_Core_Defined userdict/Adobe_CoolType_Core known def Adobe_CoolType_Core_Defined {/Adobe_CoolType_Core userdict/Adobe_CoolType_Core get def} if userdict/Adobe_CoolType_Core 70 dict dup begin put /Adobe_CoolType_Version 2.31 def /Level2? systemdict/languagelevel known dup {pop systemdict/languagelevel get 2 ge} if def Level2? not { /currentglobal false def /setglobal/pop load def /gcheck{pop false}bind def /currentpacking false def /setpacking/pop load def /SharedFontDirectory 0 dict def } if currentpacking true setpacking currentglobal false setglobal userdict/Adobe_CoolType_Data 2 copy known not {2 copy 10 dict put} if get begin /@opStackCountByLevel 32 dict def /@opStackLevel 0 def /@dictStackCountByLevel 32 dict def /@dictStackLevel 0 def end setglobal currentglobal true setglobal userdict/Adobe_CoolType_GVMFonts known not {userdict/Adobe_CoolType_GVMFonts 10 dict put} if setglobal currentglobal false setglobal userdict/Adobe_CoolType_LVMFonts known not {userdict/Adobe_CoolType_LVMFonts 10 dict put} if setglobal /ct_VMDictPut { dup gcheck{Adobe_CoolType_GVMFonts}{Adobe_CoolType_LVMFonts}ifelse 3 1 roll put }bind def /ct_VMDictUndef { dup Adobe_CoolType_GVMFonts exch known {Adobe_CoolType_GVMFonts exch undef} { dup Adobe_CoolType_LVMFonts exch known {Adobe_CoolType_LVMFonts exch undef} {pop} ifelse }ifelse }bind def /ct_str1 1 string def /ct_xshow { /_ct_na exch def /_ct_i 0 def currentpoint /_ct_y exch def /_ct_x exch def { pop pop ct_str1 exch 0 exch put ct_str1 show {_ct_na _ct_i get}stopped {pop pop} { _ct_x _ct_y moveto 0 rmoveto } ifelse /_ct_i _ct_i 1 add def currentpoint /_ct_y exch def /_ct_x exch def } exch @cshow }bind def /ct_yshow { /_ct_na exch def /_ct_i 0 def currentpoint /_ct_y exch def /_ct_x exch def { pop pop ct_str1 exch 0 exch put ct_str1 show {_ct_na _ct_i get}stopped {pop pop} { _ct_x _ct_y moveto 0 exch rmoveto } ifelse /_ct_i _ct_i 1 add def currentpoint /_ct_y exch def /_ct_x exch def } exch @cshow }bind def /ct_xyshow { /_ct_na exch def /_ct_i 0 def currentpoint /_ct_y exch def /_ct_x exch def { pop pop ct_str1 exch 0 exch put ct_str1 show {_ct_na _ct_i get}stopped {pop pop} { {_ct_na _ct_i 1 add get}stopped {pop pop pop} { _ct_x _ct_y moveto rmoveto } ifelse } ifelse /_ct_i _ct_i 2 add def currentpoint /_ct_y exch def /_ct_x exch def } exch @cshow }bind def /xsh{{@xshow}stopped{Adobe_CoolType_Data begin ct_xshow end}if}bind def /ysh{{@yshow}stopped{Adobe_CoolType_Data begin ct_yshow end}if}bind def /xysh{{@xyshow}stopped{Adobe_CoolType_Data begin ct_xyshow end}if}bind def currentglobal true setglobal /ct_T3Defs { /BuildChar { 1 index/Encoding get exch get 1 index/BuildGlyph get exec }bind def /BuildGlyph { exch begin GlyphProcs exch get exec end }bind def }bind def setglobal /@_SaveStackLevels { Adobe_CoolType_Data begin /@vmState currentglobal def false setglobal @opStackCountByLevel @opStackLevel 2 copy known not { 2 copy 3 dict dup/args 7 index 5 add array put put get } { get dup/args get dup length 3 index lt { dup length 5 add array exch 1 index exch 0 exch putinterval 1 index exch/args exch put } {pop} ifelse } ifelse begin count 1 sub 1 index lt {pop count} if dup/argCount exch def dup 0 gt { args exch 0 exch getinterval astore pop } {pop} ifelse count /restCount exch def end /@opStackLevel @opStackLevel 1 add def countdictstack 1 sub @dictStackCountByLevel exch @dictStackLevel exch put /@dictStackLevel @dictStackLevel 1 add def @vmState setglobal end }bind def /@_RestoreStackLevels { Adobe_CoolType_Data begin /@opStackLevel @opStackLevel 1 sub def @opStackCountByLevel @opStackLevel get begin count restCount sub dup 0 gt {{pop}repeat} {pop} ifelse args 0 argCount getinterval{}forall end /@dictStackLevel @dictStackLevel 1 sub def @dictStackCountByLevel @dictStackLevel get end countdictstack exch sub dup 0 gt {{end}repeat} {pop} ifelse }bind def /@_PopStackLevels { Adobe_CoolType_Data begin /@opStackLevel @opStackLevel 1 sub def /@dictStackLevel @dictStackLevel 1 sub def end }bind def /@Raise { exch cvx exch errordict exch get exec stop }bind def /@ReRaise { cvx $error/errorname get errordict exch get exec stop }bind def /@Stopped { 0 @#Stopped }bind def /@#Stopped { @_SaveStackLevels stopped {@_RestoreStackLevels true} {@_PopStackLevels false} ifelse }bind def /@Arg { Adobe_CoolType_Data begin @opStackCountByLevel @opStackLevel 1 sub get begin args exch argCount 1 sub exch sub get end end }bind def currentglobal true setglobal /CTHasResourceForAllBug Level2? { 1 dict dup /@shouldNotDisappearDictValue true def Adobe_CoolType_Data exch/@shouldNotDisappearDict exch put begin count @_SaveStackLevels {(*){pop stop}128 string/Category resourceforall} stopped pop @_RestoreStackLevels currentdict Adobe_CoolType_Data/@shouldNotDisappearDict get dup 3 1 roll ne dup 3 1 roll { /@shouldNotDisappearDictValue known { { end currentdict 1 index eq {pop exit} if } loop } if } { pop end } ifelse } {false} ifelse def true setglobal /CTHasResourceStatusBug Level2? { mark {/steveamerige/Category resourcestatus} stopped {cleartomark true} {cleartomark currentglobal not} ifelse } {false} ifelse def setglobal /CTResourceStatus { mark 3 1 roll /Category findresource begin ({ResourceStatus}stopped)0()/SubFileDecode filter cvx exec {cleartomark false} {{3 2 roll pop true}{cleartomark false}ifelse} ifelse end }bind def /CTWorkAroundBugs { Level2? { /cid_PreLoad/ProcSet resourcestatus { pop pop currentglobal mark { (*) { dup/CMap CTHasResourceStatusBug {CTResourceStatus} {resourcestatus} ifelse { pop dup 0 eq exch 1 eq or { dup/CMap findresource gcheck setglobal /CMap undefineresource } { pop CTHasResourceForAllBug {exit} {stop} ifelse } ifelse } {pop} ifelse } 128 string/CMap resourceforall } stopped {cleartomark} stopped pop setglobal } if } if }bind def /ds { Adobe_CoolType_Core begin CTWorkAroundBugs /mo/moveto load def /nf/newencodedfont load def /msf{makefont setfont}bind def /uf{dup undefinefont ct_VMDictUndef}bind def /ur/undefineresource load def /chp/charpath load def /awsh/awidthshow load def /wsh/widthshow load def /ash/ashow load def /@xshow/xshow load def /@yshow/yshow load def /@xyshow/xyshow load def /@cshow/cshow load def /sh/show load def /rp/repeat load def /.n/.notdef def end currentglobal false setglobal userdict/Adobe_CoolType_Data 2 copy known not {2 copy 10 dict put} if get begin /AddWidths? false def /CC 0 def /charcode 2 string def /@opStackCountByLevel 32 dict def /@opStackLevel 0 def /@dictStackCountByLevel 32 dict def /@dictStackLevel 0 def /InVMFontsByCMap 10 dict def /InVMDeepCopiedFonts 10 dict def end setglobal }bind def /dt { currentdict Adobe_CoolType_Core eq {end} if }bind def /ps { Adobe_CoolType_Core begin Adobe_CoolType_GVMFonts begin Adobe_CoolType_LVMFonts begin SharedFontDirectory begin }bind def /pt { end end end end }bind def /unload { systemdict/languagelevel known { systemdict/languagelevel get 2 ge { userdict/Adobe_CoolType_Core 2 copy known {undef} {pop pop} ifelse } if } if }bind def /ndf { 1 index where {pop pop pop} {dup xcheck{bind}if def} ifelse }def /findfont systemdict begin userdict begin /globaldict where{/globaldict get begin}if dup where pop exch get /globaldict where{pop end}if end end Adobe_CoolType_Core_Defined {/systemfindfont exch def} { /findfont 1 index def /systemfindfont exch def } ifelse /undefinefont {pop}ndf /copyfont { currentglobal 3 1 roll 1 index gcheck setglobal dup null eq{0}{dup length}ifelse 2 index length add 1 add dict begin exch { 1 index/FID eq {pop pop} {def} ifelse } forall dup null eq {pop} {{def}forall} ifelse currentdict end exch setglobal }bind def /copyarray { currentglobal exch dup gcheck setglobal dup length array copy exch setglobal }bind def /newencodedfont { currentglobal { SharedFontDirectory 3 index known {SharedFontDirectory 3 index get/FontReferenced known} {false} ifelse } { FontDirectory 3 index known {FontDirectory 3 index get/FontReferenced known} { SharedFontDirectory 3 index known {SharedFontDirectory 3 index get/FontReferenced known} {false} ifelse } ifelse } ifelse dup { 3 index findfont/FontReferenced get 2 index dup type/nametype eq {findfont} if ne {pop false} if } if dup { 1 index dup type/nametype eq {findfont} if dup/CharStrings known { /CharStrings get length 4 index findfont/CharStrings get length ne { pop false } if } {pop} ifelse } if { pop 1 index findfont /Encoding get exch 0 1 255 {2 copy get 3 index 3 1 roll put} for pop pop pop } { currentglobal 4 1 roll dup type/nametype eq {findfont} if dup gcheck setglobal dup dup maxlength 2 add dict begin exch { 1 index/FID ne 2 index/Encoding ne and {def} {pop pop} ifelse } forall /FontReferenced exch def /Encoding exch dup length array copy def /FontName 1 index dup type/stringtype eq{cvn}if def dup currentdict end definefont ct_VMDictPut setglobal } ifelse }bind def /SetSubstituteStrategy { $SubstituteFont begin dup type/dicttype ne {0 dict} if currentdict/$Strategies known { exch $Strategies exch 2 copy known { get 2 copy maxlength exch maxlength add dict begin {def}forall {def}forall currentdict dup/$Init known {dup/$Init get exec} if end /$Strategy exch def } {pop pop pop} ifelse } {pop pop} ifelse end }bind def /scff { $SubstituteFont begin dup type/stringtype eq {dup length exch} {null} ifelse /$sname exch def /$slen exch def /$inVMIndex $sname null eq { 1 index $str cvs dup length $slen sub $slen getinterval cvn } {$sname} ifelse def end {findfont} @Stopped { dup length 8 add string exch 1 index 0(BadFont:)putinterval 1 index exch 8 exch dup length string cvs putinterval cvn {findfont} @Stopped {pop/Courier findfont} if } if $SubstituteFont begin /$sname null def /$slen 0 def /$inVMIndex null def end }bind def /isWidthsOnlyFont { dup/WidthsOnly known {pop pop true} { dup/FDepVector known {/FDepVector get{isWidthsOnlyFont dup{exit}if}forall} { dup/FDArray known {/FDArray get{isWidthsOnlyFont dup{exit}if}forall} {pop} ifelse } ifelse } ifelse }bind def /ct_StyleDicts 4 dict dup begin /Adobe-Japan1 4 dict dup begin Level2? { /Serif /HeiseiMin-W3-83pv-RKSJ-H/Font resourcestatus {pop pop/HeiseiMin-W3} { /CIDFont/Category resourcestatus { pop pop /HeiseiMin-W3/CIDFont resourcestatus {pop pop/HeiseiMin-W3} {/Ryumin-Light} ifelse } {/Ryumin-Light} ifelse } ifelse def /SansSerif /HeiseiKakuGo-W5-83pv-RKSJ-H/Font resourcestatus {pop pop/HeiseiKakuGo-W5} { /CIDFont/Category resourcestatus { pop pop /HeiseiKakuGo-W5/CIDFont resourcestatus {pop pop/HeiseiKakuGo-W5} {/GothicBBB-Medium} ifelse } {/GothicBBB-Medium} ifelse } ifelse def /HeiseiMaruGo-W4-83pv-RKSJ-H/Font resourcestatus {pop pop/HeiseiMaruGo-W4} { /CIDFont/Category resourcestatus { pop pop /HeiseiMaruGo-W4/CIDFont resourcestatus {pop pop/HeiseiMaruGo-W4} { /Jun101-Light-RKSJ-H/Font resourcestatus {pop pop/Jun101-Light} {SansSerif} ifelse } ifelse } { /Jun101-Light-RKSJ-H/Font resourcestatus {pop pop/Jun101-Light} {SansSerif} ifelse } ifelse } ifelse /RoundSansSerif exch def /Default Serif def } { /Serif/Ryumin-Light def /SansSerif/GothicBBB-Medium def { (fonts/Jun101-Light-83pv-RKSJ-H)status }stopped {pop}{ {pop pop pop pop/Jun101-Light} {SansSerif} ifelse /RoundSansSerif exch def }ifelse /Default Serif def } ifelse end def /Adobe-Korea1 4 dict dup begin /Serif/HYSMyeongJo-Medium def /SansSerif/HYGoThic-Medium def /RoundSansSerif SansSerif def /Default Serif def end def /Adobe-GB1 4 dict dup begin /Serif/STSong-Light def /SansSerif/STHeiti-Regular def /RoundSansSerif SansSerif def /Default Serif def end def /Adobe-CNS1 4 dict dup begin /Serif/MKai-Medium def /SansSerif/MHei-Medium def /RoundSansSerif SansSerif def /Default Serif def end def end def Level2?{currentglobal true setglobal}if /ct_BoldRomanWidthProc { stringwidth 1 index 0 ne{exch .03 add exch}if setcharwidth 0 0 }bind def /ct_Type0WidthProc { dup stringwidth 0 0 moveto 2 index true charpath pathbbox 0 -1 7 index 2 div .88 setcachedevice2 pop 0 0 }bind def /ct_Type0WMode1WidthProc { dup stringwidth pop 2 div neg -0.88 2 copy moveto 0 -1 5 -1 roll true charpath pathbbox setcachedevice }bind def /cHexEncoding [/c00/c01/c02/c03/c04/c05/c06/c07/c08/c09/c0A/c0B/c0C/c0D/c0E/c0F/c10/c11/c12 /c13/c14/c15/c16/c17/c18/c19/c1A/c1B/c1C/c1D/c1E/c1F/c20/c21/c22/c23/c24/c25 /c26/c27/c28/c29/c2A/c2B/c2C/c2D/c2E/c2F/c30/c31/c32/c33/c34/c35/c36/c37/c38 /c39/c3A/c3B/c3C/c3D/c3E/c3F/c40/c41/c42/c43/c44/c45/c46/c47/c48/c49/c4A/c4B /c4C/c4D/c4E/c4F/c50/c51/c52/c53/c54/c55/c56/c57/c58/c59/c5A/c5B/c5C/c5D/c5E /c5F/c60/c61/c62/c63/c64/c65/c66/c67/c68/c69/c6A/c6B/c6C/c6D/c6E/c6F/c70/c71 /c72/c73/c74/c75/c76/c77/c78/c79/c7A/c7B/c7C/c7D/c7E/c7F/c80/c81/c82/c83/c84 /c85/c86/c87/c88/c89/c8A/c8B/c8C/c8D/c8E/c8F/c90/c91/c92/c93/c94/c95/c96/c97 /c98/c99/c9A/c9B/c9C/c9D/c9E/c9F/cA0/cA1/cA2/cA3/cA4/cA5/cA6/cA7/cA8/cA9/cAA /cAB/cAC/cAD/cAE/cAF/cB0/cB1/cB2/cB3/cB4/cB5/cB6/cB7/cB8/cB9/cBA/cBB/cBC/cBD /cBE/cBF/cC0/cC1/cC2/cC3/cC4/cC5/cC6/cC7/cC8/cC9/cCA/cCB/cCC/cCD/cCE/cCF/cD0 /cD1/cD2/cD3/cD4/cD5/cD6/cD7/cD8/cD9/cDA/cDB/cDC/cDD/cDE/cDF/cE0/cE1/cE2/cE3 /cE4/cE5/cE6/cE7/cE8/cE9/cEA/cEB/cEC/cED/cEE/cEF/cF0/cF1/cF2/cF3/cF4/cF5/cF6 /cF7/cF8/cF9/cFA/cFB/cFC/cFD/cFE/cFF]def /ct_BoldBaseFont 11 dict begin /FontType 3 def /FontMatrix[1 0 0 1 0 0]def /FontBBox[0 0 1 1]def /Encoding cHexEncoding def /_setwidthProc/ct_BoldRomanWidthProc load def /_bcstr1 1 string def /BuildChar { exch begin _basefont setfont _bcstr1 dup 0 4 -1 roll put dup _setwidthProc 3 copy moveto show _basefonto setfont moveto show end }bind def currentdict end def systemdict/composefont known { /ct_DefineIdentity-H { /Identity-H/CMap resourcestatus { pop pop } { /CIDInit/ProcSet findresource begin 12 dict begin begincmap /CIDSystemInfo 3 dict dup begin /Registry(Adobe)def /Ordering(Identity)def /Supplement 0 def end def /CMapName/Identity-H def /CMapVersion 1.000 def /CMapType 1 def 1 begincodespacerange <0000> endcodespacerange 1 begincidrange <0000>0 endcidrange endcmap CMapName currentdict/CMap defineresource pop end end } ifelse } def /ct_BoldBaseCIDFont 11 dict begin /CIDFontType 1 def /CIDFontName/ct_BoldBaseCIDFont def /FontMatrix[1 0 0 1 0 0]def /FontBBox[0 0 1 1]def /_setwidthProc/ct_Type0WidthProc load def /_bcstr2 2 string def /BuildGlyph { exch begin _basefont setfont _bcstr2 1 2 index 256 mod put _bcstr2 0 3 -1 roll 256 idiv put _bcstr2 dup _setwidthProc 3 copy moveto show _basefonto setfont moveto show end }bind def currentdict end def }if Level2?{setglobal}if /ct_CopyFont{ { 1 index/FID ne 2 index/UniqueID ne and {def}{pop pop}ifelse }forall }bind def /ct_Type0CopyFont { exch dup length dict begin ct_CopyFont [ exch FDepVector { dup/FontType get 0 eq { 1 index ct_Type0CopyFont /_ctType0 exch definefont } { /_ctBaseFont exch 2 index exec } ifelse exch } forall pop ] /FDepVector exch def currentdict end }bind def /ct_MakeBoldFont { dup/ct_SyntheticBold known { dup length 3 add dict begin ct_CopyFont /ct_StrokeWidth .03 0 FontMatrix idtransform pop def /ct_SyntheticBold true def currentdict end definefont } { dup dup length 3 add dict begin ct_CopyFont /PaintType 2 def /StrokeWidth .03 0 FontMatrix idtransform pop def /dummybold currentdict end definefont dup/FontType get dup 9 ge exch 11 le and { ct_BoldBaseCIDFont dup length 3 add dict copy begin dup/CIDSystemInfo get/CIDSystemInfo exch def ct_DefineIdentity-H /_Type0Identity/Identity-H 3 -1 roll[exch]composefont /_basefont exch def /_Type0Identity/Identity-H 3 -1 roll[exch]composefont /_basefonto exch def currentdict end /CIDFont defineresource } { ct_BoldBaseFont dup length 3 add dict copy begin /_basefont exch def /_basefonto exch def currentdict end definefont } ifelse } ifelse }bind def /ct_MakeBold{ 1 index 1 index findfont currentglobal 5 1 roll dup gcheck setglobal dup /FontType get 0 eq { dup/WMode known{dup/WMode get 1 eq}{false}ifelse version length 4 ge and {version 0 4 getinterval cvi 2015 ge} {true} ifelse {/ct_Type0WidthProc} {/ct_Type0WMode1WidthProc} ifelse ct_BoldBaseFont/_setwidthProc 3 -1 roll load put {ct_MakeBoldFont}ct_Type0CopyFont definefont } { dup/_fauxfont known not 1 index/SubstMaster known not and { ct_BoldBaseFont/_setwidthProc /ct_BoldRomanWidthProc load put ct_MakeBoldFont } { 2 index 2 index eq {exch pop } { dup length dict begin ct_CopyFont currentdict end definefont } ifelse } ifelse } ifelse pop pop pop setglobal }bind def /?str1 256 string def /?set { $SubstituteFont begin /$substituteFound false def /$fontname 1 index def /$doSmartSub false def end dup findfont $SubstituteFont begin $substituteFound {false} { dup/FontName known { dup/FontName get $fontname eq 1 index/DistillerFauxFont known not and /currentdistillerparams where {pop false 2 index isWidthsOnlyFont not and} if } {false} ifelse } ifelse exch pop /$doSmartSub true def end { 5 1 roll pop pop pop pop findfont } { 1 index findfont dup/FontType get 3 eq { 6 1 roll pop pop pop pop pop false } {pop true} ifelse { $SubstituteFont begin pop pop /$styleArray 1 index def /$regOrdering 2 index def pop pop 0 1 $styleArray length 1 sub { $styleArray exch get ct_StyleDicts $regOrdering 2 copy known { get exch 2 copy known not {pop/Default} if get dup type/nametype eq { ?str1 cvs length dup 1 add exch ?str1 exch(-)putinterval exch dup length exch ?str1 exch 3 index exch putinterval add ?str1 exch 0 exch getinterval cvn } { pop pop/Unknown } ifelse } { pop pop pop pop/Unknown } ifelse } for end findfont }if } ifelse currentglobal false setglobal 3 1 roll null copyfont definefont pop setglobal }bind def setpacking userdict/$SubstituteFont 25 dict put 1 dict begin /SubstituteFont dup $error exch 2 copy known {get} {pop pop{pop/Courier}bind} ifelse def /currentdistillerparams where dup { pop pop currentdistillerparams/CannotEmbedFontPolicy 2 copy known {get/Error eq} {pop pop false} ifelse } if not { countdictstack array dictstack 0 get begin userdict begin $SubstituteFont begin /$str 128 string def /$fontpat 128 string def /$slen 0 def /$sname null def /$match false def /$fontname null def /$substituteFound false def /$inVMIndex null def /$doSmartSub true def /$depth 0 def /$fontname null def /$italicangle 26.5 def /$dstack null def /$Strategies 10 dict dup begin /$Type3Underprint { currentglobal exch false setglobal 11 dict begin /UseFont exch $WMode 0 ne { dup length dict copy dup/WMode $WMode put /UseFont exch definefont } if def /FontName $fontname dup type/stringtype eq{cvn}if def /FontType 3 def /FontMatrix[.001 0 0 .001 0 0]def /Encoding 256 array dup 0 1 255{/.notdef put dup}for pop def /FontBBox[0 0 0 0]def /CCInfo 7 dict dup begin /cc null def /x 0 def /y 0 def end def /BuildChar { exch begin CCInfo begin 1 string dup 0 3 index put exch pop /cc exch def UseFont 1000 scalefont setfont cc stringwidth/y exch def/x exch def x y setcharwidth $SubstituteFont/$Strategy get/$Underprint get exec 0 0 moveto cc show x y moveto end end }bind def currentdict end exch setglobal }bind def /$GetaTint 2 dict dup begin /$BuildFont { dup/WMode known {dup/WMode get} {0} ifelse /$WMode exch def $fontname exch dup/FontName known { dup/FontName get dup type/stringtype eq{cvn}if } {/unnamedfont} ifelse exch Adobe_CoolType_Data/InVMDeepCopiedFonts get 1 index/FontName get known { pop Adobe_CoolType_Data/InVMDeepCopiedFonts get 1 index get null copyfont } {$deepcopyfont} ifelse exch 1 index exch/FontBasedOn exch put dup/FontName $fontname dup type/stringtype eq{cvn}if put definefont Adobe_CoolType_Data/InVMDeepCopiedFonts get begin dup/FontBasedOn get 1 index def end }bind def /$Underprint { gsave x abs y abs gt {/y 1000 def} {/x -1000 def 500 120 translate} ifelse Level2? { [/Separation(All)/DeviceCMYK{0 0 0 1 pop}] setcolorspace } {0 setgray} ifelse 10 setlinewidth x .8 mul [7 3] { y mul 8 div 120 sub x 10 div exch moveto 0 y 4 div neg rlineto dup 0 rlineto 0 y 4 div rlineto closepath gsave Level2? {.2 setcolor} {.8 setgray} ifelse fill grestore stroke } forall pop grestore }bind def end def /$Oblique 1 dict dup begin /$BuildFont { currentglobal exch dup gcheck setglobal null copyfont begin /FontBasedOn currentdict/FontName known { FontName dup type/stringtype eq{cvn}if } {/unnamedfont} ifelse def /FontName $fontname dup type/stringtype eq{cvn}if def /currentdistillerparams where {pop} { /FontInfo currentdict/FontInfo known {FontInfo null copyfont} {2 dict} ifelse dup begin /ItalicAngle $italicangle def /FontMatrix FontMatrix [1 0 ItalicAngle dup sin exch cos div 1 0 0] matrix concatmatrix readonly end 4 2 roll def def } ifelse FontName currentdict end definefont exch setglobal }bind def end def /$None 1 dict dup begin /$BuildFont{}bind def end def end def /$Oblique SetSubstituteStrategy /$findfontByEnum { dup type/stringtype eq{cvn}if dup/$fontname exch def $sname null eq {$str cvs dup length $slen sub $slen getinterval} {pop $sname} ifelse $fontpat dup 0(fonts/*)putinterval exch 7 exch putinterval /$match false def $SubstituteFont/$dstack countdictstack array dictstack put mark { $fontpat 0 $slen 7 add getinterval {/$match exch def exit} $str filenameforall } stopped { cleardictstack currentdict true $SubstituteFont/$dstack get { exch { 1 index eq {pop false} {true} ifelse } {begin false} ifelse } forall pop } if cleartomark /$slen 0 def $match false ne {$match(fonts/)anchorsearch pop pop cvn} {/Courier} ifelse }bind def /$ROS 1 dict dup begin /Adobe 4 dict dup begin /Japan1 [/Ryumin-Light/HeiseiMin-W3 /GothicBBB-Medium/HeiseiKakuGo-W5 /HeiseiMaruGo-W4/Jun101-Light]def /Korea1 [/HYSMyeongJo-Medium/HYGoThic-Medium]def /GB1 [/STSong-Light/STHeiti-Regular]def /CNS1 [/MKai-Medium/MHei-Medium]def end def end def /$cmapname null def /$deepcopyfont { dup/FontType get 0 eq { 1 dict dup/FontName/copied put copyfont begin /FDepVector FDepVector copyarray 0 1 2 index length 1 sub { 2 copy get $deepcopyfont dup/FontName/copied put /copied exch definefont 3 copy put pop pop } for def currentdict end } {$Strategies/$Type3Underprint get exec} ifelse }bind def /$buildfontname { dup/CIDFont findresource/CIDSystemInfo get begin Registry length Ordering length Supplement 8 string cvs 3 copy length 2 add add add string dup 5 1 roll dup 0 Registry putinterval dup 4 index(-)putinterval dup 4 index 1 add Ordering putinterval 4 2 roll add 1 add 2 copy(-)putinterval end 1 add 2 copy 0 exch getinterval $cmapname $fontpat cvs exch anchorsearch {pop pop 3 2 roll putinterval cvn/$cmapname exch def} {pop pop pop pop pop} ifelse length $str 1 index(-)putinterval 1 add $str 1 index $cmapname $fontpat cvs putinterval $cmapname length add $str exch 0 exch getinterval cvn }bind def /$findfontByROS { /$fontname exch def $ROS Registry 2 copy known { get Ordering 2 copy known {get} {pop pop[]} ifelse } {pop pop[]} ifelse false exch { dup/CIDFont resourcestatus { pop pop save 1 index/CIDFont findresource dup/WidthsOnly known {dup/WidthsOnly get} {false} ifelse exch pop exch restore {pop} {exch pop true exit} ifelse } {pop} ifelse } forall {$str cvs $buildfontname} { false(*) { save exch dup/CIDFont findresource dup/WidthsOnly known {dup/WidthsOnly get not} {true} ifelse exch/CIDSystemInfo get dup/Registry get Registry eq exch/Ordering get Ordering eq and and {exch restore exch pop true exit} {pop restore} ifelse } $str/CIDFont resourceforall {$buildfontname} {$fontname $findfontByEnum} ifelse } ifelse }bind def end end currentdict/$error known currentdict/languagelevel known and dup {pop $error/SubstituteFont known} if dup {$error} {Adobe_CoolType_Core} ifelse begin { /SubstituteFont /CMap/Category resourcestatus { pop pop { $SubstituteFont begin /$substituteFound true def dup length $slen gt $sname null ne or $slen 0 gt and { $sname null eq {dup $str cvs dup length $slen sub $slen getinterval cvn} {$sname} ifelse Adobe_CoolType_Data/InVMFontsByCMap get 1 index 2 copy known { get false exch { pop currentglobal { GlobalFontDirectory 1 index known {exch pop true exit} {pop} ifelse } { FontDirectory 1 index known {exch pop true exit} { GlobalFontDirectory 1 index known {exch pop true exit} {pop} ifelse } ifelse } ifelse } forall } {pop pop false} ifelse { exch pop exch pop } { dup/CMap resourcestatus { pop pop dup/$cmapname exch def /CMap findresource/CIDSystemInfo get{def}forall $findfontByROS } { 128 string cvs dup(-)search { 3 1 roll search { 3 1 roll pop {dup cvi} stopped {pop pop pop pop pop $findfontByEnum} { 4 2 roll pop pop exch length exch 2 index length 2 index sub exch 1 sub -1 0 { $str cvs dup length 4 index 0 4 index 4 3 roll add getinterval exch 1 index exch 3 index exch putinterval dup/CMap resourcestatus { pop pop 4 1 roll pop pop pop dup/$cmapname exch def /CMap findresource/CIDSystemInfo get{def}forall $findfontByROS true exit } {pop} ifelse } for dup type/booleantype eq {pop} {pop pop pop $findfontByEnum} ifelse } ifelse } {pop pop pop $findfontByEnum} ifelse } {pop pop $findfontByEnum} ifelse } ifelse } ifelse } {//SubstituteFont exec} ifelse /$slen 0 def end } } { { $SubstituteFont begin /$substituteFound true def dup length $slen gt $sname null ne or $slen 0 gt and {$findfontByEnum} {//SubstituteFont exec} ifelse end } } ifelse bind readonly def Adobe_CoolType_Core/scfindfont/systemfindfont load put } { /scfindfont { $SubstituteFont begin dup systemfindfont dup/FontName known {dup/FontName get dup 3 index ne} {/noname true} ifelse dup { /$origfontnamefound 2 index def /$origfontname 4 index def/$substituteFound true def } if exch pop { $slen 0 gt $sname null ne 3 index length $slen gt or and { pop dup $findfontByEnum findfont dup maxlength 1 add dict begin {1 index/FID eq{pop pop}{def}ifelse} forall currentdict end definefont dup/FontName known{dup/FontName get}{null}ifelse $origfontnamefound ne { $origfontname $str cvs print ( substitution revised, using )print dup/FontName known {dup/FontName get}{(unspecified font)} ifelse $str cvs print(.\n)print } if } {exch pop} ifelse } {exch pop} ifelse end }bind def } ifelse end end Adobe_CoolType_Core_Defined not { Adobe_CoolType_Core/findfont { $SubstituteFont begin $depth 0 eq { /$fontname 1 index dup type/stringtype ne{$str cvs}if def /$substituteFound false def } if /$depth $depth 1 add def end scfindfont $SubstituteFont begin /$depth $depth 1 sub def $substituteFound $depth 0 eq and { $inVMIndex null ne {dup $inVMIndex $AddInVMFont} if $doSmartSub { currentdict/$Strategy known {$Strategy/$BuildFont get exec} if } if } if end }bind put } if } if end /$AddInVMFont { exch/FontName 2 copy known { get 1 dict dup begin exch 1 index gcheck def end exch Adobe_CoolType_Data/InVMFontsByCMap get exch $DictAdd } {pop pop pop} ifelse }bind def /$DictAdd { 2 copy known not {2 copy 4 index length dict put} if Level2? not { 2 copy get dup maxlength exch length 4 index length add lt 2 copy get dup length 4 index length add exch maxlength 1 index lt { 2 mul dict begin 2 copy get{forall}def 2 copy currentdict put end } {pop} ifelse } if get begin {def} forall end }bind def end end %%EndResource currentglobal true setglobal %%BeginResource: procset Adobe_CoolType_Utility_MAKEOCF 1.23 0 %%Copyright: Copyright 1987-2006 Adobe Systems Incorporated. %%Version: 1.23 0 systemdict/languagelevel known dup {currentglobal false setglobal} {false} ifelse exch userdict/Adobe_CoolType_Utility 2 copy known {2 copy get dup maxlength 27 add dict copy} {27 dict} ifelse put Adobe_CoolType_Utility begin /@eexecStartData def /@recognizeCIDFont null def /ct_Level2? exch def /ct_Clone? 1183615869 internaldict dup /CCRun known not exch/eCCRun known not ct_Level2? and or def ct_Level2? {globaldict begin currentglobal true setglobal} if /ct_AddStdCIDMap ct_Level2? {{ mark Adobe_CoolType_Utility/@recognizeCIDFont currentdict put { ((Hex)57 StartData 0615 1e27 2c39 1c60 d8a8 cc31 fe2b f6e0 7aa3 e541 e21c 60d8 a8c9 c3d0 6d9e 1c60 d8a8 c9c2 02d7 9a1c 60d8 a849 1c60 d8a8 cc36 74f4 1144 b13b 77)0()/SubFileDecode filter cvx exec } stopped { cleartomark Adobe_CoolType_Utility/@recognizeCIDFont get countdictstack dup array dictstack exch 1 sub -1 0 { 2 copy get 3 index eq {1 index length exch sub 1 sub{end}repeat exit} {pop} ifelse } for pop pop Adobe_CoolType_Utility/@eexecStartData get eexec } {cleartomark} ifelse }} {{ Adobe_CoolType_Utility/@eexecStartData get eexec }} ifelse bind def userdict/cid_extensions known dup{cid_extensions/cid_UpdateDB known and}if { cid_extensions begin /cid_GetCIDSystemInfo { 1 index type/stringtype eq {exch cvn exch} if cid_extensions begin dup load 2 index known { 2 copy cid_GetStatusInfo dup null ne { 1 index load 3 index get dup null eq {pop pop cid_UpdateDB} { exch 1 index/Created get eq {exch pop exch pop} {pop cid_UpdateDB} ifelse } ifelse } {pop cid_UpdateDB} ifelse } {cid_UpdateDB} ifelse end }bind def end } if ct_Level2? {end setglobal} if /ct_UseNativeCapability? systemdict/composefont known def /ct_MakeOCF 35 dict def /ct_Vars 25 dict def /ct_GlyphDirProcs 6 dict def /ct_BuildCharDict 15 dict dup begin /charcode 2 string def /dst_string 1500 string def /nullstring()def /usewidths? true def end def ct_Level2?{setglobal}{pop}ifelse ct_GlyphDirProcs begin /GetGlyphDirectory { systemdict/languagelevel known {pop/CIDFont findresource/GlyphDirectory get} { 1 index/CIDFont findresource/GlyphDirectory get dup type/dicttype eq { dup dup maxlength exch length sub 2 index lt { dup length 2 index add dict copy 2 index /CIDFont findresource/GlyphDirectory 2 index put } if } if exch pop exch pop } ifelse + }def /+ { systemdict/languagelevel known { currentglobal false setglobal 3 dict begin /vm exch def } {1 dict begin} ifelse /$ exch def systemdict/languagelevel known { vm setglobal /gvm currentglobal def $ gcheck setglobal } if ?{$ begin}if }def /?{$ type/dicttype eq}def /|{ userdict/Adobe_CoolType_Data known { Adobe_CoolType_Data/AddWidths? known { currentdict Adobe_CoolType_Data begin begin AddWidths? { Adobe_CoolType_Data/CC 3 index put ?{def}{$ 3 1 roll put}ifelse CC charcode exch 1 index 0 2 index 256 idiv put 1 index exch 1 exch 256 mod put stringwidth 2 array astore currentfont/Widths get exch CC exch put } {?{def}{$ 3 1 roll put}ifelse} ifelse end end } {?{def}{$ 3 1 roll put}ifelse} ifelse } {?{def}{$ 3 1 roll put}ifelse} ifelse }def /! { ?{end}if systemdict/languagelevel known {gvm setglobal} if end }def /:{string currentfile exch readstring pop}executeonly def end ct_MakeOCF begin /ct_cHexEncoding [/c00/c01/c02/c03/c04/c05/c06/c07/c08/c09/c0A/c0B/c0C/c0D/c0E/c0F/c10/c11/c12 /c13/c14/c15/c16/c17/c18/c19/c1A/c1B/c1C/c1D/c1E/c1F/c20/c21/c22/c23/c24/c25 /c26/c27/c28/c29/c2A/c2B/c2C/c2D/c2E/c2F/c30/c31/c32/c33/c34/c35/c36/c37/c38 /c39/c3A/c3B/c3C/c3D/c3E/c3F/c40/c41/c42/c43/c44/c45/c46/c47/c48/c49/c4A/c4B /c4C/c4D/c4E/c4F/c50/c51/c52/c53/c54/c55/c56/c57/c58/c59/c5A/c5B/c5C/c5D/c5E /c5F/c60/c61/c62/c63/c64/c65/c66/c67/c68/c69/c6A/c6B/c6C/c6D/c6E/c6F/c70/c71 /c72/c73/c74/c75/c76/c77/c78/c79/c7A/c7B/c7C/c7D/c7E/c7F/c80/c81/c82/c83/c84 /c85/c86/c87/c88/c89/c8A/c8B/c8C/c8D/c8E/c8F/c90/c91/c92/c93/c94/c95/c96/c97 /c98/c99/c9A/c9B/c9C/c9D/c9E/c9F/cA0/cA1/cA2/cA3/cA4/cA5/cA6/cA7/cA8/cA9/cAA /cAB/cAC/cAD/cAE/cAF/cB0/cB1/cB2/cB3/cB4/cB5/cB6/cB7/cB8/cB9/cBA/cBB/cBC/cBD /cBE/cBF/cC0/cC1/cC2/cC3/cC4/cC5/cC6/cC7/cC8/cC9/cCA/cCB/cCC/cCD/cCE/cCF/cD0 /cD1/cD2/cD3/cD4/cD5/cD6/cD7/cD8/cD9/cDA/cDB/cDC/cDD/cDE/cDF/cE0/cE1/cE2/cE3 /cE4/cE5/cE6/cE7/cE8/cE9/cEA/cEB/cEC/cED/cEE/cEF/cF0/cF1/cF2/cF3/cF4/cF5/cF6 /cF7/cF8/cF9/cFA/cFB/cFC/cFD/cFE/cFF]def /ct_CID_STR_SIZE 8000 def /ct_mkocfStr100 100 string def /ct_defaultFontMtx[.001 0 0 .001 0 0]def /ct_1000Mtx[1000 0 0 1000 0 0]def /ct_raise{exch cvx exch errordict exch get exec stop}bind def /ct_reraise {cvx $error/errorname get(Error: )print dup( )cvs print errordict exch get exec stop }bind def /ct_cvnsi { 1 index add 1 sub 1 exch 0 4 1 roll { 2 index exch get exch 8 bitshift add } for exch pop }bind def /ct_GetInterval { Adobe_CoolType_Utility/ct_BuildCharDict get begin /dst_index 0 def dup dst_string length gt {dup string/dst_string exch def} if 1 index ct_CID_STR_SIZE idiv /arrayIndex exch def 2 index arrayIndex get 2 index arrayIndex ct_CID_STR_SIZE mul sub { dup 3 index add 2 index length le { 2 index getinterval dst_string dst_index 2 index putinterval length dst_index add/dst_index exch def exit } { 1 index length 1 index sub dup 4 1 roll getinterval dst_string dst_index 2 index putinterval pop dup dst_index add/dst_index exch def sub /arrayIndex arrayIndex 1 add def 2 index dup length arrayIndex gt {arrayIndex get} { pop exit } ifelse 0 } ifelse } loop pop pop pop dst_string 0 dst_index getinterval end }bind def ct_Level2? { /ct_resourcestatus currentglobal mark true setglobal {/unknowninstancename/Category resourcestatus} stopped {cleartomark setglobal true} {cleartomark currentglobal not exch setglobal} ifelse { { mark 3 1 roll/Category findresource begin ct_Vars/vm currentglobal put ({ResourceStatus}stopped)0()/SubFileDecode filter cvx exec {cleartomark false} {{3 2 roll pop true}{cleartomark false}ifelse} ifelse ct_Vars/vm get setglobal end } } {{resourcestatus}} ifelse bind def /CIDFont/Category ct_resourcestatus {pop pop} { currentglobal true setglobal /Generic/Category findresource dup length dict copy dup/InstanceType/dicttype put /CIDFont exch/Category defineresource pop setglobal } ifelse ct_UseNativeCapability? { /CIDInit/ProcSet findresource begin 12 dict begin begincmap /CIDSystemInfo 3 dict dup begin /Registry(Adobe)def /Ordering(Identity)def /Supplement 0 def end def /CMapName/Identity-H def /CMapVersion 1.000 def /CMapType 1 def 1 begincodespacerange <0000> endcodespacerange 1 begincidrange <0000>0 endcidrange endcmap CMapName currentdict/CMap defineresource pop end end } if } { /ct_Category 2 dict begin /CIDFont 10 dict def /ProcSet 2 dict def currentdict end def /defineresource { ct_Category 1 index 2 copy known { get dup dup maxlength exch length eq { dup length 10 add dict copy ct_Category 2 index 2 index put } if 3 index 3 index put pop exch pop } {pop pop/defineresource/undefined ct_raise} ifelse }bind def /findresource { ct_Category 1 index 2 copy known { get 2 index 2 copy known {get 3 1 roll pop pop} {pop pop/findresource/undefinedresource ct_raise} ifelse } {pop pop/findresource/undefined ct_raise} ifelse }bind def /resourcestatus { ct_Category 1 index 2 copy known { get 2 index known exch pop exch pop { 0 -1 true } { false } ifelse } {pop pop/findresource/undefined ct_raise} ifelse }bind def /ct_resourcestatus/resourcestatus load def } ifelse /ct_CIDInit 2 dict begin /ct_cidfont_stream_init { { dup(Binary)eq { pop null currentfile ct_Level2? { {cid_BYTE_COUNT()/SubFileDecode filter} stopped {pop pop pop} if } if /readstring load exit } if dup(Hex)eq { pop currentfile ct_Level2? { {null exch/ASCIIHexDecode filter/readstring} stopped {pop exch pop(>)exch/readhexstring} if } {(>)exch/readhexstring} ifelse load exit } if /StartData/typecheck ct_raise } loop cid_BYTE_COUNT ct_CID_STR_SIZE le { 2 copy cid_BYTE_COUNT string exch exec pop 1 array dup 3 -1 roll 0 exch put } { cid_BYTE_COUNT ct_CID_STR_SIZE div ceiling cvi dup array exch 2 sub 0 exch 1 exch { 2 copy 5 index ct_CID_STR_SIZE string 6 index exec pop put pop } for 2 index cid_BYTE_COUNT ct_CID_STR_SIZE mod string 3 index exec pop 1 index exch 1 index length 1 sub exch put } ifelse cid_CIDFONT exch/GlyphData exch put 2 index null eq { pop pop pop } { pop/readstring load 1 string exch { 3 copy exec pop dup length 0 eq { pop pop pop pop pop true exit } if 4 index eq { pop pop pop pop false exit } if } loop pop } ifelse }bind def /StartData { mark { currentdict dup/FDArray get 0 get/FontMatrix get 0 get 0.001 eq { dup/CDevProc known not { /CDevProc 1183615869 internaldict/stdCDevProc 2 copy known {get} { pop pop {pop pop pop pop pop 0 -1000 7 index 2 div 880} } ifelse def } if } { /CDevProc { pop pop pop pop pop 0 1 cid_temp/cid_CIDFONT get /FDArray get 0 get /FontMatrix get 0 get div 7 index 2 div 1 index 0.88 mul }def } ifelse /cid_temp 15 dict def cid_temp begin /cid_CIDFONT exch def 3 copy pop dup/cid_BYTE_COUNT exch def 0 gt { ct_cidfont_stream_init FDArray { /Private get dup/SubrMapOffset known { begin /Subrs SubrCount array def Subrs SubrMapOffset SubrCount SDBytes ct_Level2? { currentdict dup/SubrMapOffset undef dup/SubrCount undef /SDBytes undef } if end /cid_SD_BYTES exch def /cid_SUBR_COUNT exch def /cid_SUBR_MAP_OFFSET exch def /cid_SUBRS exch def cid_SUBR_COUNT 0 gt { GlyphData cid_SUBR_MAP_OFFSET cid_SD_BYTES ct_GetInterval 0 cid_SD_BYTES ct_cvnsi 0 1 cid_SUBR_COUNT 1 sub { exch 1 index 1 add cid_SD_BYTES mul cid_SUBR_MAP_OFFSET add GlyphData exch cid_SD_BYTES ct_GetInterval 0 cid_SD_BYTES ct_cvnsi cid_SUBRS 4 2 roll GlyphData exch 4 index 1 index sub ct_GetInterval dup length string copy put } for pop } if } {pop} ifelse } forall } if cleartomark pop pop end CIDFontName currentdict/CIDFont defineresource pop end end } stopped {cleartomark/StartData ct_reraise} if }bind def currentdict end def /ct_saveCIDInit { /CIDInit/ProcSet ct_resourcestatus {true} {/CIDInitC/ProcSet ct_resourcestatus} ifelse { pop pop /CIDInit/ProcSet findresource ct_UseNativeCapability? {pop null} {/CIDInit ct_CIDInit/ProcSet defineresource pop} ifelse } {/CIDInit ct_CIDInit/ProcSet defineresource pop null} ifelse ct_Vars exch/ct_oldCIDInit exch put }bind def /ct_restoreCIDInit { ct_Vars/ct_oldCIDInit get dup null ne {/CIDInit exch/ProcSet defineresource pop} {pop} ifelse }bind def /ct_BuildCharSetUp { 1 index begin CIDFont begin Adobe_CoolType_Utility/ct_BuildCharDict get begin /ct_dfCharCode exch def /ct_dfDict exch def CIDFirstByte ct_dfCharCode add dup CIDCount ge {pop 0} if /cid exch def { GlyphDirectory cid 2 copy known {get} {pop pop nullstring} ifelse dup length FDBytes sub 0 gt { dup FDBytes 0 ne {0 FDBytes ct_cvnsi} {pop 0} ifelse /fdIndex exch def dup length FDBytes sub FDBytes exch getinterval /charstring exch def exit } { pop cid 0 eq {/charstring nullstring def exit} if /cid 0 def } ifelse } loop }def /ct_SetCacheDevice { 0 0 moveto dup stringwidth 3 -1 roll true charpath pathbbox 0 -1000 7 index 2 div 880 setcachedevice2 0 0 moveto }def /ct_CloneSetCacheProc { 1 eq { stringwidth pop -2 div -880 0 -1000 setcharwidth moveto } { usewidths? { currentfont/Widths get cid 2 copy known {get exch pop aload pop} {pop pop stringwidth} ifelse } {stringwidth} ifelse setcharwidth 0 0 moveto } ifelse }def /ct_Type3ShowCharString { ct_FDDict fdIndex 2 copy known {get} { currentglobal 3 1 roll 1 index gcheck setglobal ct_Type1FontTemplate dup maxlength dict copy begin FDArray fdIndex get dup/FontMatrix 2 copy known {get} {pop pop ct_defaultFontMtx} ifelse /FontMatrix exch dup length array copy def /Private get /Private exch def /Widths rootfont/Widths get def /CharStrings 1 dict dup/.notdef dup length string copy put def currentdict end /ct_Type1Font exch definefont dup 5 1 roll put setglobal } ifelse dup/CharStrings get 1 index/Encoding get ct_dfCharCode get charstring put rootfont/WMode 2 copy known {get} {pop pop 0} ifelse exch 1000 scalefont setfont ct_str1 0 ct_dfCharCode put ct_str1 exch ct_dfSetCacheProc ct_SyntheticBold { currentpoint ct_str1 show newpath moveto ct_str1 true charpath ct_StrokeWidth setlinewidth stroke } {ct_str1 show} ifelse }def /ct_Type4ShowCharString { ct_dfDict ct_dfCharCode charstring FDArray fdIndex get dup/FontMatrix get dup ct_defaultFontMtx ct_matrixeq not {ct_1000Mtx matrix concatmatrix concat} {pop} ifelse /Private get Adobe_CoolType_Utility/ct_Level2? get not { ct_dfDict/Private 3 -1 roll {put} 1183615869 internaldict/superexec get exec } if 1183615869 internaldict Adobe_CoolType_Utility/ct_Level2? get {1 index} {3 index/Private get mark 6 1 roll} ifelse dup/RunInt known {/RunInt get} {pop/CCRun} ifelse get exec Adobe_CoolType_Utility/ct_Level2? get not {cleartomark} if }bind def /ct_BuildCharIncremental { { Adobe_CoolType_Utility/ct_MakeOCF get begin ct_BuildCharSetUp ct_ShowCharString } stopped {stop} if end end end end }bind def /BaseFontNameStr(BF00)def /ct_Type1FontTemplate 14 dict begin /FontType 1 def /FontMatrix [0.001 0 0 0.001 0 0]def /FontBBox [-250 -250 1250 1250]def /Encoding ct_cHexEncoding def /PaintType 0 def currentdict end def /BaseFontTemplate 11 dict begin /FontMatrix [0.001 0 0 0.001 0 0]def /FontBBox [-250 -250 1250 1250]def /Encoding ct_cHexEncoding def /BuildChar/ct_BuildCharIncremental load def ct_Clone? { /FontType 3 def /ct_ShowCharString/ct_Type3ShowCharString load def /ct_dfSetCacheProc/ct_CloneSetCacheProc load def /ct_SyntheticBold false def /ct_StrokeWidth 1 def } { /FontType 4 def /Private 1 dict dup/lenIV 4 put def /CharStrings 1 dict dup/.notdefput def /PaintType 0 def /ct_ShowCharString/ct_Type4ShowCharString load def } ifelse /ct_str1 1 string def currentdict end def /BaseFontDictSize BaseFontTemplate length 5 add def /ct_matrixeq { true 0 1 5 { dup 4 index exch get exch 3 index exch get eq and dup not {exit} if } for exch pop exch pop }bind def /ct_makeocf { 15 dict begin exch/WMode exch def exch/FontName exch def /FontType 0 def /FMapType 2 def dup/FontMatrix known {dup/FontMatrix get/FontMatrix exch def} {/FontMatrix matrix def} ifelse /bfCount 1 index/CIDCount get 256 idiv 1 add dup 256 gt{pop 256}if def /Encoding 256 array 0 1 bfCount 1 sub{2 copy dup put pop}for bfCount 1 255{2 copy bfCount put pop}for def /FDepVector bfCount dup 256 lt{1 add}if array def BaseFontTemplate BaseFontDictSize dict copy begin /CIDFont exch def CIDFont/FontBBox known {CIDFont/FontBBox get/FontBBox exch def} if CIDFont/CDevProc known {CIDFont/CDevProc get/CDevProc exch def} if currentdict end BaseFontNameStr 3(0)putinterval 0 1 bfCount dup 256 eq{1 sub}if { FDepVector exch 2 index BaseFontDictSize dict copy begin dup/CIDFirstByte exch 256 mul def FontType 3 eq {/ct_FDDict 2 dict def} if currentdict end 1 index 16 BaseFontNameStr 2 2 getinterval cvrs pop BaseFontNameStr exch definefont put } for ct_Clone? {/Widths 1 index/CIDFont get/GlyphDirectory get length dict def} if FontName currentdict end definefont ct_Clone? { gsave dup 1000 scalefont setfont ct_BuildCharDict begin /usewidths? false def currentfont/Widths get begin exch/CIDFont get/GlyphDirectory get { pop dup charcode exch 1 index 0 2 index 256 idiv put 1 index exch 1 exch 256 mod put stringwidth 2 array astore def } forall end /usewidths? true def end grestore } {exch pop} ifelse }bind def currentglobal true setglobal /ct_ComposeFont { ct_UseNativeCapability? { 2 index/CMap ct_resourcestatus {pop pop exch pop} { /CIDInit/ProcSet findresource begin 12 dict begin begincmap /CMapName 3 index def /CMapVersion 1.000 def /CMapType 1 def exch/WMode exch def /CIDSystemInfo 3 dict dup begin /Registry(Adobe)def /Ordering CMapName ct_mkocfStr100 cvs (Adobe-)search { pop pop (-)search { dup length string copy exch pop exch pop } {pop(Identity)} ifelse } {pop (Identity)} ifelse def /Supplement 0 def end def 1 begincodespacerange <0000> endcodespacerange 1 begincidrange <0000>0 endcidrange endcmap CMapName currentdict/CMap defineresource pop end end } ifelse composefont } { 3 2 roll pop 0 get/CIDFont findresource ct_makeocf } ifelse }bind def setglobal /ct_MakeIdentity { ct_UseNativeCapability? { 1 index/CMap ct_resourcestatus {pop pop} { /CIDInit/ProcSet findresource begin 12 dict begin begincmap /CMapName 2 index def /CMapVersion 1.000 def /CMapType 1 def /CIDSystemInfo 3 dict dup begin /Registry(Adobe)def /Ordering CMapName ct_mkocfStr100 cvs (Adobe-)search { pop pop (-)search {dup length string copy exch pop exch pop} {pop(Identity)} ifelse } {pop(Identity)} ifelse def /Supplement 0 def end def 1 begincodespacerange <0000> endcodespacerange 1 begincidrange <0000>0 endcidrange endcmap CMapName currentdict/CMap defineresource pop end end } ifelse composefont } { exch pop 0 get/CIDFont findresource ct_makeocf } ifelse }bind def currentdict readonly pop end end %%EndResource setglobal %%BeginResource: procset Adobe_CoolType_Utility_T42 1.0 0 %%Copyright: Copyright 1987-2004 Adobe Systems Incorporated. %%Version: 1.0 0 userdict/ct_T42Dict 15 dict put ct_T42Dict begin /Is2015? { version cvi 2015 ge }bind def /AllocGlyphStorage { Is2015? { pop } { {string}forall }ifelse }bind def /Type42DictBegin { 25 dict begin /FontName exch def /CharStrings 256 dict begin /.notdef 0 def currentdict end def /Encoding exch def /PaintType 0 def /FontType 42 def /FontMatrix[1 0 0 1 0 0]def 4 array astore cvx/FontBBox exch def /sfnts }bind def /Type42DictEnd { currentdict dup/FontName get exch definefont end ct_T42Dict exch dup/FontName get exch put }bind def /RD{string currentfile exch readstring pop}executeonly def /PrepFor2015 { Is2015? { /GlyphDirectory 16 dict def sfnts 0 get dup 2 index (glyx) putinterval 2 index (locx) putinterval pop pop } { pop pop }ifelse }bind def /AddT42Char { Is2015? { /GlyphDirectory get begin def end pop pop } { /sfnts get 4 index get 3 index 2 index putinterval pop pop pop pop }ifelse }bind def /T0AddT42Mtx2 { /CIDFont findresource/Metrics2 get begin def end }bind def end %%EndResource currentglobal true setglobal %%BeginFile: MMFauxFont.prc %%Copyright: Copyright 1987-2001 Adobe Systems Incorporated. %%All Rights Reserved. userdict /ct_EuroDict 10 dict put ct_EuroDict begin /ct_CopyFont { { 1 index /FID ne {def} {pop pop} ifelse} forall } def /ct_GetGlyphOutline { gsave initmatrix newpath exch findfont dup length 1 add dict begin ct_CopyFont /Encoding Encoding dup length array copy dup 4 -1 roll 0 exch put def currentdict end /ct_EuroFont exch definefont 1000 scalefont setfont 0 0 moveto [ <00> stringwidth <00> false charpath pathbbox [ {/m cvx} {/l cvx} {/c cvx} {/cp cvx} pathforall grestore counttomark 8 add } def /ct_MakeGlyphProc { ] cvx /ct_PSBuildGlyph cvx ] cvx } def /ct_PSBuildGlyph { gsave 8 -1 roll pop 7 1 roll 6 -2 roll ct_FontMatrix transform 6 2 roll 4 -2 roll ct_FontMatrix transform 4 2 roll ct_FontMatrix transform currentdict /PaintType 2 copy known {get 2 eq}{pop pop false} ifelse dup 9 1 roll { currentdict /StrokeWidth 2 copy known { get 2 div 0 ct_FontMatrix dtransform pop 5 1 roll 4 -1 roll 4 index sub 4 1 roll 3 -1 roll 4 index sub 3 1 roll exch 4 index add exch 4 index add 5 -1 roll pop } { pop pop } ifelse } if setcachedevice ct_FontMatrix concat ct_PSPathOps begin exec end { currentdict /StrokeWidth 2 copy known { get } { pop pop 0 } ifelse setlinewidth stroke } { fill } ifelse grestore } def /ct_PSPathOps 4 dict dup begin /m {moveto} def /l {lineto} def /c {curveto} def /cp {closepath} def end def /ct_matrix1000 [1000 0 0 1000 0 0] def /ct_AddGlyphProc { 2 index findfont dup length 4 add dict begin ct_CopyFont /CharStrings CharStrings dup length 1 add dict copy begin 3 1 roll def currentdict end def /ct_FontMatrix ct_matrix1000 FontMatrix matrix concatmatrix def /ct_PSBuildGlyph /ct_PSBuildGlyph load def /ct_PSPathOps /ct_PSPathOps load def currentdict end definefont pop } def systemdict /languagelevel known { /ct_AddGlyphToPrinterFont { 2 copy ct_GetGlyphOutline 3 add -1 roll restore ct_MakeGlyphProc ct_AddGlyphProc } def } { /ct_AddGlyphToPrinterFont { pop pop restore Adobe_CTFauxDict /$$$FONTNAME get /Euro Adobe_CTFauxDict /$$$SUBSTITUTEBASE get ct_EuroDict exch get ct_AddGlyphProc } def } ifelse /AdobeSansMM { 556 0 24 -19 541 703 { 541 628 m 510 669 442 703 354 703 c 201 703 117 607 101 444 c 50 444 l 25 372 l 97 372 l 97 301 l 49 301 l 24 229 l 103 229 l 124 67 209 -19 350 -19 c 435 -19 501 25 509 32 c 509 131 l 492 105 417 60 343 60 c 267 60 204 127 197 229 c 406 229 l 430 301 l 191 301 l 191 372 l 455 372 l 479 444 l 194 444 l 201 531 245 624 348 624 c 433 624 484 583 509 534 c cp 556 0 m } ct_PSBuildGlyph } def /AdobeSerifMM { 500 0 10 -12 484 692 { 347 298 m 171 298 l 170 310 170 322 170 335 c 170 362 l 362 362 l 374 403 l 172 403 l 184 580 244 642 308 642 c 380 642 434 574 457 457 c 481 462 l 474 691 l 449 691 l 433 670 429 657 410 657 c 394 657 360 692 299 692 c 204 692 94 604 73 403 c 22 403 l 10 362 l 70 362 l 69 352 69 341 69 330 c 69 319 69 308 70 298 c 22 298 l 10 257 l 73 257 l 97 57 216 -12 295 -12 c 364 -12 427 25 484 123 c 458 142 l 425 101 384 37 316 37 c 256 37 189 84 173 257 c 335 257 l cp 500 0 m } ct_PSBuildGlyph } def end %%EndFile setglobal Adobe_CoolType_Core begin /$Oblique SetSubstituteStrategy end %%BeginResource: procset Adobe_AGM_Image 1.0 0 +%%Version: 1.0 0 +%%Copyright: Copyright(C)2000-2006 Adobe Systems, Inc. All Rights Reserved. +systemdict/setpacking known +{ + currentpacking + true setpacking +}if +userdict/Adobe_AGM_Image 71 dict dup begin put +/Adobe_AGM_Image_Id/Adobe_AGM_Image_1.0_0 def +/nd{ + null def +}bind def +/AGMIMG_&image nd +/AGMIMG_&colorimage nd +/AGMIMG_&imagemask nd +/AGMIMG_mbuf()def +/AGMIMG_ybuf()def +/AGMIMG_kbuf()def +/AGMIMG_c 0 def +/AGMIMG_m 0 def +/AGMIMG_y 0 def +/AGMIMG_k 0 def +/AGMIMG_tmp nd +/AGMIMG_imagestring0 nd +/AGMIMG_imagestring1 nd +/AGMIMG_imagestring2 nd +/AGMIMG_imagestring3 nd +/AGMIMG_imagestring4 nd +/AGMIMG_imagestring5 nd +/AGMIMG_cnt nd +/AGMIMG_fsave nd +/AGMIMG_colorAry nd +/AGMIMG_override nd +/AGMIMG_name nd +/AGMIMG_maskSource nd +/AGMIMG_flushfilters nd +/invert_image_samples nd +/knockout_image_samples nd +/img nd +/sepimg nd +/devnimg nd +/idximg nd +/ds +{ + Adobe_AGM_Core begin + Adobe_AGM_Image begin + /AGMIMG_&image systemdict/image get def + /AGMIMG_&imagemask systemdict/imagemask get def + /colorimage where{ + pop + /AGMIMG_&colorimage/colorimage ldf + }if + end + end +}def +/ps +{ + Adobe_AGM_Image begin + /AGMIMG_ccimage_exists{/customcolorimage where + { + pop + /Adobe_AGM_OnHost_Seps where + { + pop false + }{ + /Adobe_AGM_InRip_Seps where + { + pop false + }{ + true + }ifelse + }ifelse + }{ + false + }ifelse + }bdf + level2{ + /invert_image_samples + { + Adobe_AGM_Image/AGMIMG_tmp Decode length ddf + /Decode[Decode 1 get Decode 0 get]def + }def + /knockout_image_samples + { + Operator/imagemask ne{ + /Decode[1 1]def + }if + }def + }{ + /invert_image_samples + { + {1 exch sub}currenttransfer addprocs settransfer + }def + /knockout_image_samples + { + {pop 1}currenttransfer addprocs settransfer + }def + }ifelse + /img/imageormask ldf + /sepimg/sep_imageormask ldf + /devnimg/devn_imageormask ldf + /idximg/indexed_imageormask ldf + /_ctype 7 def + currentdict{ + dup xcheck 1 index type dup/arraytype eq exch/packedarraytype eq or and{ + bind + }if + def + }forall +}def +/pt +{ + end +}def +/dt +{ +}def +/AGMIMG_flushfilters +{ + dup type/arraytype ne + {1 array astore}if + dup 0 get currentfile ne + {dup 0 get flushfile}if + { + dup type/filetype eq + { + dup status 1 index currentfile ne and + {closefile} + {pop} + ifelse + }{pop}ifelse + }forall +}def +/AGMIMG_init_common +{ + currentdict/T known{/ImageType/T ldf currentdict/T undef}if + currentdict/W known{/Width/W ldf currentdict/W undef}if + currentdict/H known{/Height/H ldf currentdict/H undef}if + currentdict/M known{/ImageMatrix/M ldf currentdict/M undef}if + currentdict/BC known{/BitsPerComponent/BC ldf currentdict/BC undef}if + currentdict/D known{/Decode/D ldf currentdict/D undef}if + currentdict/DS known{/DataSource/DS ldf currentdict/DS undef}if + currentdict/O known{ + /Operator/O load 1 eq{ + /imagemask + }{ + /O load 2 eq{ + /image + }{ + /colorimage + }ifelse + }ifelse + def + currentdict/O undef + }if + currentdict/HSCI known{/HostSepColorImage/HSCI ldf currentdict/HSCI undef}if + currentdict/MD known{/MultipleDataSources/MD ldf currentdict/MD undef}if + currentdict/I known{/Interpolate/I ldf currentdict/I undef}if + currentdict/SI known{/SkipImageProc/SI ldf currentdict/SI undef}if + /DataSource load xcheck not{ + DataSource type/arraytype eq{ + DataSource 0 get type/filetype eq{ + /_Filters DataSource def + currentdict/MultipleDataSources known not{ + /DataSource DataSource dup length 1 sub get def + }if + }if + }if + currentdict/MultipleDataSources known not{ + /MultipleDataSources DataSource type/arraytype eq{ + DataSource length 1 gt + } + {false}ifelse def + }if + }if + /NComponents Decode length 2 div def + currentdict/SkipImageProc known not{/SkipImageProc{false}def}if +}bdf +/imageormask_sys +{ + begin + AGMIMG_init_common + save mark + level2{ + currentdict + Operator/imagemask eq{ + AGMIMG_&imagemask + }{ + use_mask{ + process_mask AGMIMG_&image + }{ + AGMIMG_&image + }ifelse + }ifelse + }{ + Width Height + Operator/imagemask eq{ + Decode 0 get 1 eq Decode 1 get 0 eq and + ImageMatrix/DataSource load + AGMIMG_&imagemask + }{ + BitsPerComponent ImageMatrix/DataSource load + AGMIMG_&image + }ifelse + }ifelse + currentdict/_Filters known{_Filters AGMIMG_flushfilters}if + cleartomark restore + end +}def +/overprint_plate +{ + currentoverprint{ + 0 get dup type/nametype eq{ + dup/DeviceGray eq{ + pop AGMCORE_black_plate not + }{ + /DeviceCMYK eq{ + AGMCORE_is_cmyk_sep not + }if + }ifelse + }{ + false exch + { + AGMOHS_sepink eq or + }forall + not + }ifelse + }{ + pop false + }ifelse +}def +/process_mask +{ + level3{ + dup begin + /ImageType 1 def + end + 4 dict begin + /DataDict exch def + /ImageType 3 def + /InterleaveType 3 def + /MaskDict 9 dict begin + /ImageType 1 def + /Width DataDict dup/MaskWidth known{/MaskWidth}{/Width}ifelse get def + /Height DataDict dup/MaskHeight known{/MaskHeight}{/Height}ifelse get def + /ImageMatrix[Width 0 0 Height neg 0 Height]def + /NComponents 1 def + /BitsPerComponent 1 def + /Decode DataDict dup/MaskD known{/MaskD}{[1 0]}ifelse get def + /DataSource Adobe_AGM_Core/AGMIMG_maskSource get def + currentdict end def + currentdict end + }if +}def +/use_mask +{ + dup/Mask known {dup/Mask get}{false}ifelse +}def +/imageormask +{ + begin + AGMIMG_init_common + SkipImageProc{ + currentdict consumeimagedata + } + { + save mark + level2 AGMCORE_host_sep not and{ + currentdict + Operator/imagemask eq DeviceN_PS2 not and{ + imagemask + }{ + AGMCORE_in_rip_sep currentoverprint and currentcolorspace 0 get/DeviceGray eq and{ + [/Separation/Black/DeviceGray{}]setcolorspace + /Decode[Decode 1 get Decode 0 get]def + }if + use_mask{ + process_mask image + }{ + DeviceN_NoneName DeviceN_PS2 Indexed_DeviceN level3 not and or or AGMCORE_in_rip_sep and + { + Names convert_to_process not{ + 2 dict begin + /imageDict xdf + /names_index 0 def + gsave + imageDict write_image_file{ + Names{ + dup(None)ne{ + [/Separation 3 -1 roll/DeviceGray{1 exch sub}]setcolorspace + Operator imageDict read_image_file + names_index 0 eq{true setoverprint}if + /names_index names_index 1 add def + }{ + pop + }ifelse + }forall + close_image_file + }if + grestore + end + }{ + Operator/imagemask eq{ + imagemask + }{ + image + }ifelse + }ifelse + }{ + Operator/imagemask eq{ + imagemask + }{ + image + }ifelse + }ifelse + }ifelse + }ifelse + }{ + Width Height + Operator/imagemask eq{ + Decode 0 get 1 eq Decode 1 get 0 eq and + ImageMatrix/DataSource load + /Adobe_AGM_OnHost_Seps where{ + pop imagemask + }{ + currentgray 1 ne{ + currentdict imageormask_sys + }{ + currentoverprint not{ + 1 AGMCORE_&setgray + currentdict imageormask_sys + }{ + currentdict ignoreimagedata + }ifelse + }ifelse + }ifelse + }{ + BitsPerComponent ImageMatrix + MultipleDataSources{ + 0 1 NComponents 1 sub{ + DataSource exch get + }for + }{ + /DataSource load + }ifelse + Operator/colorimage eq{ + AGMCORE_host_sep{ + MultipleDataSources level2 or NComponents 4 eq and{ + AGMCORE_is_cmyk_sep{ + MultipleDataSources{ + /DataSource DataSource 0 get xcheck + { + [ + DataSource 0 get/exec cvx + DataSource 1 get/exec cvx + DataSource 2 get/exec cvx + DataSource 3 get/exec cvx + /AGMCORE_get_ink_data cvx + ]cvx + }{ + DataSource aload pop AGMCORE_get_ink_data + }ifelse def + }{ + /DataSource + Width BitsPerComponent mul 7 add 8 idiv Height mul 4 mul + /DataSource load + filter_cmyk 0()/SubFileDecode filter def + }ifelse + /Decode[Decode 0 get Decode 1 get]def + /MultipleDataSources false def + /NComponents 1 def + /Operator/image def + invert_image_samples + 1 AGMCORE_&setgray + currentdict imageormask_sys + }{ + currentoverprint not Operator/imagemask eq and{ + 1 AGMCORE_&setgray + currentdict imageormask_sys + }{ + currentdict ignoreimagedata + }ifelse + }ifelse + }{ + MultipleDataSources NComponents AGMIMG_&colorimage + }ifelse + }{ + true NComponents colorimage + }ifelse + }{ + Operator/image eq{ + AGMCORE_host_sep{ + /DoImage true def + currentdict/HostSepColorImage known{HostSepColorImage not}{false}ifelse + { + AGMCORE_black_plate not Operator/imagemask ne and{ + /DoImage false def + currentdict ignoreimagedata + }if + }if + 1 AGMCORE_&setgray + DoImage + {currentdict imageormask_sys}if + }{ + use_mask{ + process_mask image + }{ + image + }ifelse + }ifelse + }{ + Operator/knockout eq{ + pop pop pop pop pop + currentcolorspace overprint_plate not{ + knockout_unitsq + }if + }if + }ifelse + }ifelse + }ifelse + }ifelse + cleartomark restore + }ifelse + currentdict/_Filters known{_Filters AGMIMG_flushfilters}if + end +}def +/sep_imageormask +{ + /sep_colorspace_dict AGMCORE_gget begin + CSA map_csa + begin + AGMIMG_init_common + SkipImageProc{ + currentdict consumeimagedata + }{ + save mark + AGMCORE_avoid_L2_sep_space{ + /Decode[Decode 0 get 255 mul Decode 1 get 255 mul]def + }if + AGMIMG_ccimage_exists + MappedCSA 0 get/DeviceCMYK eq and + currentdict/Components known and + Name()ne and + Name(All)ne and + Operator/image eq and + AGMCORE_producing_seps not and + level2 not and + { + Width Height BitsPerComponent ImageMatrix + [ + /DataSource load/exec cvx + { + 0 1 2 index length 1 sub{ + 1 index exch + 2 copy get 255 xor put + }for + }/exec cvx + ]cvx bind + MappedCSA 0 get/DeviceCMYK eq{ + Components aload pop + }{ + 0 0 0 Components aload pop 1 exch sub + }ifelse + Name findcmykcustomcolor + customcolorimage + }{ + AGMCORE_producing_seps not{ + level2{ + //Adobe_AGM_Core/AGMCORE_pattern_paint_type get 2 ne AGMCORE_avoid_L2_sep_space not and currentcolorspace 0 get/Separation ne and{ + [/Separation Name MappedCSA sep_proc_name exch dup 0 get 15 string cvs(/Device)anchorsearch{pop pop 0 get}{pop}ifelse exch load]setcolorspace_opt + /sep_tint AGMCORE_gget setcolor + }if + currentdict imageormask + }{ + currentdict + Operator/imagemask eq{ + imageormask + }{ + sep_imageormask_lev1 + }ifelse + }ifelse + }{ + AGMCORE_host_sep{ + Operator/knockout eq{ + currentdict/ImageMatrix get concat + knockout_unitsq + }{ + currentgray 1 ne{ + AGMCORE_is_cmyk_sep Name(All)ne and{ + level2{ + Name AGMCORE_IsSeparationAProcessColor + { + Operator/imagemask eq{ + //Adobe_AGM_Core/AGMCORE_pattern_paint_type get 2 ne{ + /sep_tint AGMCORE_gget 1 exch sub AGMCORE_&setcolor + }if + }{ + invert_image_samples + }ifelse + }{ + //Adobe_AGM_Core/AGMCORE_pattern_paint_type get 2 ne{ + [/Separation Name[/DeviceGray] + { + sep_colorspace_proc AGMCORE_get_ink_data + 1 exch sub + }bind + ]AGMCORE_&setcolorspace + /sep_tint AGMCORE_gget AGMCORE_&setcolor + }if + }ifelse + currentdict imageormask_sys + }{ + currentdict + Operator/imagemask eq{ + imageormask_sys + }{ + sep_image_lev1_sep + }ifelse + }ifelse + }{ + Operator/imagemask ne{ + invert_image_samples + }if + currentdict imageormask_sys + }ifelse + }{ + currentoverprint not Name(All)eq or Operator/imagemask eq and{ + currentdict imageormask_sys + }{ + currentoverprint not + { + gsave + knockout_unitsq + grestore + }if + currentdict consumeimagedata + }ifelse + }ifelse + }ifelse + }{ + //Adobe_AGM_Core/AGMCORE_pattern_paint_type get 2 ne{ + currentcolorspace 0 get/Separation ne{ + [/Separation Name MappedCSA sep_proc_name exch 0 get exch load]setcolorspace_opt + /sep_tint AGMCORE_gget setcolor + }if + }if + currentoverprint + MappedCSA 0 get/DeviceCMYK eq and + Name AGMCORE_IsSeparationAProcessColor not and + //Adobe_AGM_Core/AGMCORE_pattern_paint_type get 2 ne{Name inRip_spot_has_ink not and}{false}ifelse + Name(All)ne and{ + imageormask_l2_overprint + }{ + currentdict imageormask + }ifelse + }ifelse + }ifelse + }ifelse + cleartomark restore + }ifelse + currentdict/_Filters known{_Filters AGMIMG_flushfilters}if + end + end +}def +/colorSpaceElemCnt +{ + mark currentcolor counttomark dup 2 add 1 roll cleartomark +}bdf +/devn_sep_datasource +{ + 1 dict begin + /dataSource xdf + [ + 0 1 dataSource length 1 sub{ + dup currentdict/dataSource get/exch cvx/get cvx/exec cvx + /exch cvx names_index/ne cvx[/pop cvx]cvx/if cvx + }for + ]cvx bind + end +}bdf +/devn_alt_datasource +{ + 11 dict begin + /convProc xdf + /origcolorSpaceElemCnt xdf + /origMultipleDataSources xdf + /origBitsPerComponent xdf + /origDecode xdf + /origDataSource xdf + /dsCnt origMultipleDataSources{origDataSource length}{1}ifelse def + /DataSource origMultipleDataSources + { + [ + BitsPerComponent 8 idiv origDecode length 2 idiv mul string + 0 1 origDecode length 2 idiv 1 sub + { + dup 7 mul 1 add index exch dup BitsPerComponent 8 idiv mul exch + origDataSource exch get 0()/SubFileDecode filter + BitsPerComponent 8 idiv string/readstring cvx/pop cvx/putinterval cvx + }for + ]bind cvx + }{origDataSource}ifelse 0()/SubFileDecode filter def + [ + origcolorSpaceElemCnt string + 0 2 origDecode length 2 sub + { + dup origDecode exch get dup 3 -1 roll 1 add origDecode exch get exch sub 2 BitsPerComponent exp 1 sub div + 1 BitsPerComponent 8 idiv{DataSource/read cvx/not cvx{0}/if cvx/mul cvx}repeat/mul cvx/add cvx + }for + /convProc load/exec cvx + origcolorSpaceElemCnt 1 sub -1 0 + { + /dup cvx 2/add cvx/index cvx + 3 1/roll cvx/exch cvx 255/mul cvx/cvi cvx/put cvx + }for + ]bind cvx 0()/SubFileDecode filter + end +}bdf +/devn_imageormask +{ + /devicen_colorspace_dict AGMCORE_gget begin + CSA map_csa + 2 dict begin + dup + /srcDataStrs[3 -1 roll begin + AGMIMG_init_common + currentdict/MultipleDataSources known{MultipleDataSources{DataSource length}{1}ifelse}{1}ifelse + { + Width Decode length 2 div mul cvi + { + dup 65535 gt{1 add 2 div cvi}{exit}ifelse + }loop + string + }repeat + end]def + /dstDataStr srcDataStrs 0 get length string def + begin + AGMIMG_init_common + SkipImageProc{ + currentdict consumeimagedata + }{ + save mark + AGMCORE_producing_seps not{ + level3 not{ + Operator/imagemask ne{ + /DataSource[[ + DataSource Decode BitsPerComponent currentdict/MultipleDataSources known{MultipleDataSources}{false}ifelse + colorSpaceElemCnt/devicen_colorspace_dict AGMCORE_gget/TintTransform get + devn_alt_datasource 1/string cvx/readstring cvx/pop cvx]cvx colorSpaceElemCnt 1 sub{dup}repeat]def + /MultipleDataSources true def + /Decode colorSpaceElemCnt[exch{0 1}repeat]def + }if + }if + currentdict imageormask + }{ + AGMCORE_host_sep{ + Names convert_to_process{ + CSA get_csa_by_name 0 get/DeviceCMYK eq{ + /DataSource + Width BitsPerComponent mul 7 add 8 idiv Height mul 4 mul + DataSource Decode BitsPerComponent currentdict/MultipleDataSources known{MultipleDataSources}{false}ifelse + 4/devicen_colorspace_dict AGMCORE_gget/TintTransform get + devn_alt_datasource + filter_cmyk 0()/SubFileDecode filter def + /MultipleDataSources false def + /Decode[1 0]def + /DeviceGray setcolorspace + currentdict imageormask_sys + }{ + AGMCORE_report_unsupported_color_space + AGMCORE_black_plate{ + /DataSource + DataSource Decode BitsPerComponent currentdict/MultipleDataSources known{MultipleDataSources}{false}ifelse + CSA get_csa_by_name 0 get/DeviceRGB eq{3}{1}ifelse/devicen_colorspace_dict AGMCORE_gget/TintTransform get + devn_alt_datasource + /MultipleDataSources false def + /Decode colorSpaceElemCnt[exch{0 1}repeat]def + currentdict imageormask_sys + }{ + gsave + knockout_unitsq + grestore + currentdict consumeimagedata + }ifelse + }ifelse + } + { + /devicen_colorspace_dict AGMCORE_gget/names_index known{ + Operator/imagemask ne{ + MultipleDataSources{ + /DataSource[DataSource devn_sep_datasource/exec cvx]cvx def + /MultipleDataSources false def + }{ + /DataSource/DataSource load dstDataStr srcDataStrs 0 get filter_devn def + }ifelse + invert_image_samples + }if + currentdict imageormask_sys + }{ + currentoverprint not Operator/imagemask eq and{ + currentdict imageormask_sys + }{ + currentoverprint not + { + gsave + knockout_unitsq + grestore + }if + currentdict consumeimagedata + }ifelse + }ifelse + }ifelse + }{ + currentdict imageormask + }ifelse + }ifelse + cleartomark restore + }ifelse + currentdict/_Filters known{_Filters AGMIMG_flushfilters}if + end + end + end +}def +/imageormask_l2_overprint +{ + currentdict + currentcmykcolor add add add 0 eq{ + currentdict consumeimagedata + }{ + level3{ + currentcmykcolor + /AGMIMG_k xdf + /AGMIMG_y xdf + /AGMIMG_m xdf + /AGMIMG_c xdf + Operator/imagemask eq{ + [/DeviceN[ + AGMIMG_c 0 ne{/Cyan}if + AGMIMG_m 0 ne{/Magenta}if + AGMIMG_y 0 ne{/Yellow}if + AGMIMG_k 0 ne{/Black}if + ]/DeviceCMYK{}]setcolorspace + AGMIMG_c 0 ne{AGMIMG_c}if + AGMIMG_m 0 ne{AGMIMG_m}if + AGMIMG_y 0 ne{AGMIMG_y}if + AGMIMG_k 0 ne{AGMIMG_k}if + setcolor + }{ + /Decode[Decode 0 get 255 mul Decode 1 get 255 mul]def + [/Indexed + [ + /DeviceN[ + AGMIMG_c 0 ne{/Cyan}if + AGMIMG_m 0 ne{/Magenta}if + AGMIMG_y 0 ne{/Yellow}if + AGMIMG_k 0 ne{/Black}if + ] + /DeviceCMYK{ + AGMIMG_k 0 eq{0}if + AGMIMG_y 0 eq{0 exch}if + AGMIMG_m 0 eq{0 3 1 roll}if + AGMIMG_c 0 eq{0 4 1 roll}if + } + ] + 255 + { + 255 div + mark exch + dup dup dup + AGMIMG_k 0 ne{ + /sep_tint AGMCORE_gget mul MappedCSA sep_proc_name exch pop load exec 4 1 roll pop pop pop + counttomark 1 roll + }{ + pop + }ifelse + AGMIMG_y 0 ne{ + /sep_tint AGMCORE_gget mul MappedCSA sep_proc_name exch pop load exec 4 2 roll pop pop pop + counttomark 1 roll + }{ + pop + }ifelse + AGMIMG_m 0 ne{ + /sep_tint AGMCORE_gget mul MappedCSA sep_proc_name exch pop load exec 4 3 roll pop pop pop + counttomark 1 roll + }{ + pop + }ifelse + AGMIMG_c 0 ne{ + /sep_tint AGMCORE_gget mul MappedCSA sep_proc_name exch pop load exec pop pop pop + counttomark 1 roll + }{ + pop + }ifelse + counttomark 1 add -1 roll pop + } + ]setcolorspace + }ifelse + imageormask_sys + }{ + write_image_file{ + currentcmykcolor + 0 ne{ + [/Separation/Black/DeviceGray{}]setcolorspace + gsave + /Black + [{1 exch sub/sep_tint AGMCORE_gget mul}/exec cvx MappedCSA sep_proc_name cvx exch pop{4 1 roll pop pop pop 1 exch sub}/exec cvx] + cvx modify_halftone_xfer + Operator currentdict read_image_file + grestore + }if + 0 ne{ + [/Separation/Yellow/DeviceGray{}]setcolorspace + gsave + /Yellow + [{1 exch sub/sep_tint AGMCORE_gget mul}/exec cvx MappedCSA sep_proc_name cvx exch pop{4 2 roll pop pop pop 1 exch sub}/exec cvx] + cvx modify_halftone_xfer + Operator currentdict read_image_file + grestore + }if + 0 ne{ + [/Separation/Magenta/DeviceGray{}]setcolorspace + gsave + /Magenta + [{1 exch sub/sep_tint AGMCORE_gget mul}/exec cvx MappedCSA sep_proc_name cvx exch pop{4 3 roll pop pop pop 1 exch sub}/exec cvx] + cvx modify_halftone_xfer + Operator currentdict read_image_file + grestore + }if + 0 ne{ + [/Separation/Cyan/DeviceGray{}]setcolorspace + gsave + /Cyan + [{1 exch sub/sep_tint AGMCORE_gget mul}/exec cvx MappedCSA sep_proc_name cvx exch pop{pop pop pop 1 exch sub}/exec cvx] + cvx modify_halftone_xfer + Operator currentdict read_image_file + grestore + }if + close_image_file + }{ + imageormask + }ifelse + }ifelse + }ifelse +}def +/indexed_imageormask +{ + begin + AGMIMG_init_common + save mark + currentdict + AGMCORE_host_sep{ + Operator/knockout eq{ + /indexed_colorspace_dict AGMCORE_gget dup/CSA known{ + /CSA get get_csa_by_name + }{ + /Names get + }ifelse + overprint_plate not{ + knockout_unitsq + }if + }{ + Indexed_DeviceN{ + /devicen_colorspace_dict AGMCORE_gget dup/names_index known exch/Names get convert_to_process or{ + indexed_image_lev2_sep + }{ + currentoverprint not{ + knockout_unitsq + }if + currentdict consumeimagedata + }ifelse + }{ + AGMCORE_is_cmyk_sep{ + Operator/imagemask eq{ + imageormask_sys + }{ + level2{ + indexed_image_lev2_sep + }{ + indexed_image_lev1_sep + }ifelse + }ifelse + }{ + currentoverprint not{ + knockout_unitsq + }if + currentdict consumeimagedata + }ifelse + }ifelse + }ifelse + }{ + level2{ + Indexed_DeviceN{ + /indexed_colorspace_dict AGMCORE_gget begin + }{ + /indexed_colorspace_dict AGMCORE_gget dup null ne + { + begin + currentdict/CSDBase known{CSDBase/CSD get_res/MappedCSA get}{CSA}ifelse + get_csa_by_name 0 get/DeviceCMYK eq ps_level 3 ge and ps_version 3015.007 lt and + AGMCORE_in_rip_sep and{ + [/Indexed[/DeviceN[/Cyan/Magenta/Yellow/Black]/DeviceCMYK{}]HiVal Lookup] + setcolorspace + }if + end + } + {pop}ifelse + }ifelse + imageormask + Indexed_DeviceN{ + end + }if + }{ + Operator/imagemask eq{ + imageormask + }{ + indexed_imageormask_lev1 + }ifelse + }ifelse + }ifelse + cleartomark restore + currentdict/_Filters known{_Filters AGMIMG_flushfilters}if + end +}def +/indexed_image_lev2_sep +{ + /indexed_colorspace_dict AGMCORE_gget begin + begin + Indexed_DeviceN not{ + currentcolorspace + dup 1/DeviceGray put + dup 3 + currentcolorspace 2 get 1 add string + 0 1 2 3 AGMCORE_get_ink_data 4 currentcolorspace 3 get length 1 sub + { + dup 4 idiv exch currentcolorspace 3 get exch get 255 exch sub 2 index 3 1 roll put + }for + put setcolorspace + }if + currentdict + Operator/imagemask eq{ + AGMIMG_&imagemask + }{ + use_mask{ + process_mask AGMIMG_&image + }{ + AGMIMG_&image + }ifelse + }ifelse + end end +}def + /OPIimage + { + dup type/dicttype ne{ + 10 dict begin + /DataSource xdf + /ImageMatrix xdf + /BitsPerComponent xdf + /Height xdf + /Width xdf + /ImageType 1 def + /Decode[0 1 def] + currentdict + end + }if + dup begin + /NComponents 1 cdndf + /MultipleDataSources false cdndf + /SkipImageProc{false}cdndf + /Decode[ + 0 + currentcolorspace 0 get/Indexed eq{ + 2 BitsPerComponent exp 1 sub + }{ + 1 + }ifelse + ]cdndf + /Operator/image cdndf + end + /sep_colorspace_dict AGMCORE_gget null eq{ + imageormask + }{ + gsave + dup begin invert_image_samples end + sep_imageormask + grestore + }ifelse + }def +/cachemask_level2 +{ + 3 dict begin + /LZWEncode filter/WriteFilter xdf + /readBuffer 256 string def + /ReadFilter + currentfile + 0(%EndMask)/SubFileDecode filter + /ASCII85Decode filter + /RunLengthDecode filter + def + { + ReadFilter readBuffer readstring exch + WriteFilter exch writestring + not{exit}if + }loop + WriteFilter closefile + end +}def +/spot_alias +{ + /mapto_sep_imageormask + { + dup type/dicttype ne{ + 12 dict begin + /ImageType 1 def + /DataSource xdf + /ImageMatrix xdf + /BitsPerComponent xdf + /Height xdf + /Width xdf + /MultipleDataSources false def + }{ + begin + }ifelse + /Decode[/customcolor_tint AGMCORE_gget 0]def + /Operator/image def + /SkipImageProc{false}def + currentdict + end + sep_imageormask + }bdf + /customcolorimage + { + Adobe_AGM_Image/AGMIMG_colorAry xddf + /customcolor_tint AGMCORE_gget + << + /Name AGMIMG_colorAry 4 get + /CSA[/DeviceCMYK] + /TintMethod/Subtractive + /TintProc null + /MappedCSA null + /NComponents 4 + /Components[AGMIMG_colorAry aload pop pop] + >> + setsepcolorspace + mapto_sep_imageormask + }ndf + Adobe_AGM_Image/AGMIMG_&customcolorimage/customcolorimage load put + /customcolorimage + { + Adobe_AGM_Image/AGMIMG_override false put + current_spot_alias{dup 4 get map_alias}{false}ifelse + { + false set_spot_alias + /customcolor_tint AGMCORE_gget exch setsepcolorspace + pop + mapto_sep_imageormask + true set_spot_alias + }{ + //Adobe_AGM_Image/AGMIMG_&customcolorimage get exec + }ifelse + }bdf +}def +/snap_to_device +{ + 6 dict begin + matrix currentmatrix + dup 0 get 0 eq 1 index 3 get 0 eq and + 1 index 1 get 0 eq 2 index 2 get 0 eq and or exch pop + { + 1 1 dtransform 0 gt exch 0 gt/AGMIMG_xSign? exch def/AGMIMG_ySign? exch def + 0 0 transform + AGMIMG_ySign?{floor 0.1 sub}{ceiling 0.1 add}ifelse exch + AGMIMG_xSign?{floor 0.1 sub}{ceiling 0.1 add}ifelse exch + itransform/AGMIMG_llY exch def/AGMIMG_llX exch def + 1 1 transform + AGMIMG_ySign?{ceiling 0.1 add}{floor 0.1 sub}ifelse exch + AGMIMG_xSign?{ceiling 0.1 add}{floor 0.1 sub}ifelse exch + itransform/AGMIMG_urY exch def/AGMIMG_urX exch def + [AGMIMG_urX AGMIMG_llX sub 0 0 AGMIMG_urY AGMIMG_llY sub AGMIMG_llX AGMIMG_llY]concat + }{ + }ifelse + end +}def +level2 not{ + /colorbuf + { + 0 1 2 index length 1 sub{ + dup 2 index exch get + 255 exch sub + 2 index + 3 1 roll + put + }for + }def + /tint_image_to_color + { + begin + Width Height BitsPerComponent ImageMatrix + /DataSource load + end + Adobe_AGM_Image begin + /AGMIMG_mbuf 0 string def + /AGMIMG_ybuf 0 string def + /AGMIMG_kbuf 0 string def + { + colorbuf dup length AGMIMG_mbuf length ne + { + dup length dup dup + /AGMIMG_mbuf exch string def + /AGMIMG_ybuf exch string def + /AGMIMG_kbuf exch string def + }if + dup AGMIMG_mbuf copy AGMIMG_ybuf copy AGMIMG_kbuf copy pop + } + addprocs + {AGMIMG_mbuf}{AGMIMG_ybuf}{AGMIMG_kbuf}true 4 colorimage + end + }def + /sep_imageormask_lev1 + { + begin + MappedCSA 0 get dup/DeviceRGB eq exch/DeviceCMYK eq or has_color not and{ + { + 255 mul round cvi GrayLookup exch get + }currenttransfer addprocs settransfer + currentdict imageormask + }{ + /sep_colorspace_dict AGMCORE_gget/Components known{ + MappedCSA 0 get/DeviceCMYK eq{ + Components aload pop + }{ + 0 0 0 Components aload pop 1 exch sub + }ifelse + Adobe_AGM_Image/AGMIMG_k xddf + Adobe_AGM_Image/AGMIMG_y xddf + Adobe_AGM_Image/AGMIMG_m xddf + Adobe_AGM_Image/AGMIMG_c xddf + AGMIMG_y 0.0 eq AGMIMG_m 0.0 eq and AGMIMG_c 0.0 eq and{ + {AGMIMG_k mul 1 exch sub}currenttransfer addprocs settransfer + currentdict imageormask + }{ + currentcolortransfer + {AGMIMG_k mul 1 exch sub}exch addprocs 4 1 roll + {AGMIMG_y mul 1 exch sub}exch addprocs 4 1 roll + {AGMIMG_m mul 1 exch sub}exch addprocs 4 1 roll + {AGMIMG_c mul 1 exch sub}exch addprocs 4 1 roll + setcolortransfer + currentdict tint_image_to_color + }ifelse + }{ + MappedCSA 0 get/DeviceGray eq{ + {255 mul round cvi ColorLookup exch get 0 get}currenttransfer addprocs settransfer + currentdict imageormask + }{ + MappedCSA 0 get/DeviceCMYK eq{ + currentcolortransfer + {255 mul round cvi ColorLookup exch get 3 get 1 exch sub}exch addprocs 4 1 roll + {255 mul round cvi ColorLookup exch get 2 get 1 exch sub}exch addprocs 4 1 roll + {255 mul round cvi ColorLookup exch get 1 get 1 exch sub}exch addprocs 4 1 roll + {255 mul round cvi ColorLookup exch get 0 get 1 exch sub}exch addprocs 4 1 roll + setcolortransfer + currentdict tint_image_to_color + }{ + currentcolortransfer + {pop 1}exch addprocs 4 1 roll + {255 mul round cvi ColorLookup exch get 2 get}exch addprocs 4 1 roll + {255 mul round cvi ColorLookup exch get 1 get}exch addprocs 4 1 roll + {255 mul round cvi ColorLookup exch get 0 get}exch addprocs 4 1 roll + setcolortransfer + currentdict tint_image_to_color + }ifelse + }ifelse + }ifelse + }ifelse + end + }def + /sep_image_lev1_sep + { + begin + /sep_colorspace_dict AGMCORE_gget/Components known{ + Components aload pop + Adobe_AGM_Image/AGMIMG_k xddf + Adobe_AGM_Image/AGMIMG_y xddf + Adobe_AGM_Image/AGMIMG_m xddf + Adobe_AGM_Image/AGMIMG_c xddf + {AGMIMG_c mul 1 exch sub} + {AGMIMG_m mul 1 exch sub} + {AGMIMG_y mul 1 exch sub} + {AGMIMG_k mul 1 exch sub} + }{ + {255 mul round cvi ColorLookup exch get 0 get 1 exch sub} + {255 mul round cvi ColorLookup exch get 1 get 1 exch sub} + {255 mul round cvi ColorLookup exch get 2 get 1 exch sub} + {255 mul round cvi ColorLookup exch get 3 get 1 exch sub} + }ifelse + AGMCORE_get_ink_data currenttransfer addprocs settransfer + currentdict imageormask_sys + end + }def + /indexed_imageormask_lev1 + { + /indexed_colorspace_dict AGMCORE_gget begin + begin + currentdict + MappedCSA 0 get dup/DeviceRGB eq exch/DeviceCMYK eq or has_color not and{ + {HiVal mul round cvi GrayLookup exch get HiVal div}currenttransfer addprocs settransfer + imageormask + }{ + MappedCSA 0 get/DeviceGray eq{ + {HiVal mul round cvi Lookup exch get HiVal div}currenttransfer addprocs settransfer + imageormask + }{ + MappedCSA 0 get/DeviceCMYK eq{ + currentcolortransfer + {4 mul HiVal mul round cvi 3 add Lookup exch get HiVal div 1 exch sub}exch addprocs 4 1 roll + {4 mul HiVal mul round cvi 2 add Lookup exch get HiVal div 1 exch sub}exch addprocs 4 1 roll + {4 mul HiVal mul round cvi 1 add Lookup exch get HiVal div 1 exch sub}exch addprocs 4 1 roll + {4 mul HiVal mul round cvi Lookup exch get HiVal div 1 exch sub}exch addprocs 4 1 roll + setcolortransfer + tint_image_to_color + }{ + currentcolortransfer + {pop 1}exch addprocs 4 1 roll + {3 mul HiVal mul round cvi 2 add Lookup exch get HiVal div}exch addprocs 4 1 roll + {3 mul HiVal mul round cvi 1 add Lookup exch get HiVal div}exch addprocs 4 1 roll + {3 mul HiVal mul round cvi Lookup exch get HiVal div}exch addprocs 4 1 roll + setcolortransfer + tint_image_to_color + }ifelse + }ifelse + }ifelse + end end + }def + /indexed_image_lev1_sep + { + /indexed_colorspace_dict AGMCORE_gget begin + begin + {4 mul HiVal mul round cvi Lookup exch get HiVal div 1 exch sub} + {4 mul HiVal mul round cvi 1 add Lookup exch get HiVal div 1 exch sub} + {4 mul HiVal mul round cvi 2 add Lookup exch get HiVal div 1 exch sub} + {4 mul HiVal mul round cvi 3 add Lookup exch get HiVal div 1 exch sub} + AGMCORE_get_ink_data currenttransfer addprocs settransfer + currentdict imageormask_sys + end end + }def +}if +end +systemdict/setpacking known +{setpacking}if +%%EndResource +currentdict Adobe_AGM_Utils eq {end} if +%%EndProlog +%%BeginSetup +Adobe_AGM_Utils begin +2 2010 Adobe_AGM_Core/ds gx +Adobe_CoolType_Core/ds get exec Adobe_AGM_Image/ds gx +currentdict Adobe_AGM_Utils eq {end} if +%%EndSetup +%%Page: 1 1 +%%EndPageComments +%%BeginPageSetup +%ADOBeginClientInjection: PageSetup Start "AI11EPS" +%AI12_RMC_Transparency: Balance=75 RasterRes=300 GradRes=150 Text=0 Stroke=1 Clip=1 OP=0 +%ADOEndClientInjection: PageSetup Start "AI11EPS" +Adobe_AGM_Utils begin +Adobe_AGM_Core/ps gx +Adobe_AGM_Utils/capture_cpd gx +Adobe_CoolType_Core/ps get exec Adobe_AGM_Image/ps gx +%ADOBeginClientInjection: PageSetup End "AI11EPS" +/currentdistillerparams where {pop currentdistillerparams /CoreDistVersion get 5000 lt} {true} ifelse { userdict /AI11_PDFMark5 /cleartomark load put userdict /AI11_ReadMetadata_PDFMark5 {flushfile cleartomark } bind put} { userdict /AI11_PDFMark5 /pdfmark load put userdict /AI11_ReadMetadata_PDFMark5 {/PUT pdfmark} bind put } ifelse [/NamespacePush AI11_PDFMark5 [/_objdef {ai_metadata_stream_123} /type /stream /OBJ AI11_PDFMark5 [{ai_metadata_stream_123} currentfile 0 (% &&end XMP packet marker&&) /SubFileDecode filter AI11_ReadMetadata_PDFMark5 + + + + application/postscript + + + Kubuntu_development_TM + + + + + Adobe Illustrator CS4 + 2010-04-07T18:41:28-05:00 + 2010-04-07T18:41:28-05:00 + 2010-04-07T18:41:28-05:00 + + + + 256 + 60 + JPEG + /9j/4AAQSkZJRgABAgEASABIAAD/7QAsUGhvdG9zaG9wIDMuMAA4QklNA+0AAAAAABAASAAAAAEA AQBIAAAAAQAB/+4ADkFkb2JlAGTAAAAAAf/bAIQABgQEBAUEBgUFBgkGBQYJCwgGBggLDAoKCwoK DBAMDAwMDAwQDA4PEA8ODBMTFBQTExwbGxscHx8fHx8fHx8fHwEHBwcNDA0YEBAYGhURFRofHx8f Hx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8f/8AAEQgAPAEAAwER AAIRAQMRAf/EAaIAAAAHAQEBAQEAAAAAAAAAAAQFAwIGAQAHCAkKCwEAAgIDAQEBAQEAAAAAAAAA AQACAwQFBgcICQoLEAACAQMDAgQCBgcDBAIGAnMBAgMRBAAFIRIxQVEGE2EicYEUMpGhBxWxQiPB UtHhMxZi8CRygvElQzRTkqKyY3PCNUQnk6OzNhdUZHTD0uIIJoMJChgZhJRFRqS0VtNVKBry4/PE 1OT0ZXWFlaW1xdXl9WZ2hpamtsbW5vY3R1dnd4eXp7fH1+f3OEhYaHiImKi4yNjo+Ck5SVlpeYmZ qbnJ2en5KjpKWmp6ipqqusra6voRAAICAQIDBQUEBQYECAMDbQEAAhEDBCESMUEFURNhIgZxgZEy obHwFMHR4SNCFVJicvEzJDRDghaSUyWiY7LCB3PSNeJEgxdUkwgJChgZJjZFGidkdFU38qOzwygp 0+PzhJSktMTU5PRldYWVpbXF1eX1RlZmdoaWprbG1ub2R1dnd4eXp7fH1+f3OEhYaHiImKi4yNjo +DlJWWl5iZmpucnZ6fkqOkpaanqKmqq6ytrq+v/aAAwDAQACEQMRAD8A9U4q7FXYq7FXYq+DdM8w a9qX5laWuo6ldXqjWbcBbieSUUF2tPtscWXR95YsXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYqler eavLGjqx1XV7OwC9frNxFEfudhiqaYq7FXYq7FXYq7FXYqxjzz50i8u2apEol1K4B+rxN9lQNi70 7eA75qe1e0xpo0N5y5frLuOyOyjqp2dsceZ/QHkjz+a/NN4wrcahMfiMa14IK/yiiKN84sz1Orl/ FM/Z+oPcCGm0cP4YD7f1lNNG8n+bbaa6kWZtIntIjOObshkAqKIU+A7ihqe4zM0vZupiZG/DMRfv /Q4Wq7U0sxEV4oka5XXvvf8AsZn+X35gvrDjTNTKjUAtYZhsJgNyCBsGA3265vOx+2DmPh5Pr6Hv /a6DtrsUYB4mP6Oo7v2M7zonm3Yq7FXYq7FX5/eXP/JmaX/22oP+otcWXR+gOLF2KuxV2KuxV2Ku xV2KuxV2KuxV2KuxV2Kvz8/M3/yZPmz/ALbOof8AUVJiyfoHixdirsVdirsVdirsVeO6/oet+bPO OriyCEWDLD+8biAq1VVHX7RVjnD6zS5dZqsnB/Btv+Pe95otXh0Wkx8f8e+349yN836wvle20rR9 CAguIYfXkvQAXIlBVga1HxkcjX/Jp0y/tLU/lIwxYdiBfF7/ANfP5OP2ZpfzksmXNvEyrh6bb/Zy HxQnlLzrNfahHpfmUxX1hcclWa5VKxMQd+RA2PTKezu1DkmMeoqcJdZVt8W/tPskY8Zyae4Tj0je /wAGM3vp6H5odrCYSxWVyHtpVYMGRWDLuNjtsc1WWtPqDwGxCWzt8V6jTDjFGcdwxTyV/wA5I/mZ q/nLQdJvJrQ2moajaWtyEtwrGOadI3oa7Hi2emPl1PrHFCjeyvDZzyp9uON3WviqkjFXy3+Xv/OR X5k67540PR7+a0Nlf3kUFwEtwrFHaho1dsUkPqrFD88ItTOlecE1QR+sbDUBc+jXjz9Gfnx5UNK8 aVpiyegeYf8AnJz809UuGaxu4dHtq/DBaQxsaduUk4lYn5U+WK0hNK/5yQ/N2wuBLJq638f7VvdW 8LIfpjWOQfQwxWn0T+UH57aL5+B065hGmeYo1LtZ8uUcyr9p4GNDt1KHce4qcUEPUcUPk7zr/wA5 I/mZpHnLXtJs5rQWmn6jd2tsHtwzCOGd40qa7niuKafWOKHYq+T9Y/5yP/My186X2kQzWgs4NSlt IwbcFvSScxipr14jFNPrDFD5j/Mz/nJfzxo3mvVtA0i0sbeHTrqS3W6kR5ZWEZpXd1QV/wBU4pAe d3X/ADkT+cNw/I+YDEtahIra1QD7oqn6TimlXTf+ckPzespg76yt7GDVoLm3gZT8yiI/3NitPof8 mvz107z8H0y+gXTvMUCGRrdCTDOg+08Jb4hx/aQ1p1qd6KCHqmKH5+fmb/5MnzZ/22dQ/wCoqTFk zj/oaX81/wDf9l/0jL/XFaZb+VP/ADkD+Ynmb8wdG0PVJbVrC9kkScRwBHosLuKNXbdRigh6B/zk P+ZnmjyJYaLPoDwo99LOlx60YlBEaoVpUin2jigIz/nH38w/Mfnjy1qOoa88T3Fte/V4jDGIxw9J H3AJ3qxxUvUsVeQ/85D/AJmeaPIlhos+gPCj30s6XHrRiUERqhWlSKfaOKhGf84+/mH5j88eWtR1 DXnie4tr36vEYYxGOHpI+4BO9WOKlKfPR1jy95tvZ7G4lto9SX1VeNivIN9sGncODnCdreLptTIw JiJ77fjvfQOx/C1WljGYEjj23+z7E11G30/z9Bp0unypb63FE0d3C9QixoK9gTTm3wU7E+GZmaEO 0RAwPDlAojpQ/by9/k4WCc+zZTGQGWEmwetn9nP3DvV/LfkqPyxffpTV5frV3bxtJbWdkkkxA+yX aij+baop77ZPQ9ljST8TKeKURYjEE/Hk16/tY6uHh4hwxkaMpED4c2FRJdeafNuyUfULgsyjfhHW p38EQZooiWr1PnOXyH7A9BIx0el57Qj8z+0vn38sv/Jk+U/+2zp//UVHnpL5k/QPFihtT/45t3/x hk/4icVfCH5Pf+TS8rf9tG3/AOJjFkX3xixfnrp2n2+o+e7bT7kE215qiW8wU0PCW4CNQ9jQ4suj 7x8t+TfK3lm0W00LTILCJRQtGg9Rvd5DV3PuxOLFB+d/y78qec9Mlstaso5JGUiG+RVW5halA0cl K7eB2PcYq+IdUs9c/L7z7NbRTcNV0G8BhnWvFuBDRvTb4ZEINPA4sn3l5b1u213y/p2tW39xqNtF coPD1UDcT7rWhxYvg38zf/Jk+bP+2zqH/UVJiyfoHixdir8/vMf/AJMzVP8AttT/APUW2LLo/QHF i+B/zh/8ml5p/wC2jcf8TOLIPt/yjp9ha+XtMa2tooGazg5GNFQmsak14gdcWKC88/l35X85aRcW OrWUTzyIRb3wRfXhkpRXSQfFse1aHocVfD/l7Ub7yZ59s7tm9O60TUAtzxqRSGT05l8aMvJcWT9B sWL8/PzN/wDJk+bP+2zqH/UVJiyfeX+GvLn/AFarP/pHi/5pxYr4NC0S3mWa30+2hmTdJI4Y1Ydt iACMVeCf85i/8cnyz/xnuv8AiEeKQmP/ADiD/wAoRrP/AG0z/wBQ8eKl7xih87f85i/8cnyz/wAZ 7r/iEeKQmP8AziD/AMoRrP8A20z/ANQ8eKl7B5o8r6f5h0/6rdVSRCWt7hQC0bEU79Qe475g6/QQ 1MOGXPoe5zuz+0J6WfFHcHmO95Lqn5bebNOmPo25vIgfgntjyP8AwOzg/RnGZ+xNTiOw4h3j8W9v p+3tLlG8uE90vxSI8v8Al78xoZLiOygltFu09K6kuAqgrQjcyAtty/Zy3R6PXRJEAY8Wxv8Ab+hq 1ut0EgDMiXDuK/Zt83ofkvyNZ+XYmldhcalKOMtxSgVevBAe3ie+dN2Z2VHTCz6pnr+gPLdq9rz1 RoenGOQ/SXxH+WX/AJMnyn/22dP/AOoqPNs6l+geLFDan/xzbv8A4wyf8ROKvhD8nv8AyaXlb/to 2/8AxMYsi++MWL8/vLn/AJMzS/8AttQf9Ra4suj9AcWLsVfGX/OUcEUf5s3ToAGmtLWSUitSwThv XvxQYsg+if8AnHq5kufyd8uSSfaWO4iHU/DFdyxr19lGLEvkD8zf/Jk+bP8Ats6h/wBRUmLJ+geL F2Kvz+8x/wDkzNU/7bU//UW2LLo/QHFi+B/zh/8AJpeaf+2jcf8AEziyD7n8tf8AKOaV/wAwdv8A 8mlxYpjir4E/NuGOL8z/ADSqCinU7pz33eUs34nFkH3lphJ020J6+jH/AMRGLF8C/mb/AOTJ82f9 tnUP+oqTFk/QPFi7FXzt/wA5i/8AHJ8s/wDGe6/4hHikJj/ziCR/gnWh3/SX/MiPFS94xQ+dv+cx f+OT5Z/4z3X/ABCPFITH/nEH/lCNZ/7aZ/6h48VL3jFDsVdirsVfnppE7+V/PNlPcg89D1OJ5xTe tpcAtsa7/BiyfoRBPDPBHPC4khlUPFIpqrKwqrA+BGLFR1P/AI5t3/xhk/4icVfCH5Pf+TS8rf8A bRt/+JjFkX3xixfn95c/8mZpf/bag/6i1xZdH6A4sWpJEjRpJGCIgLO7GgAG5JJxV8G/nH5vg83f mNq2rWjF7EyLbWJ/mhgURq49pCpcfPFkH2X+V+gT6B+XugaTcLwubazj+sIa/DLIPUkXfwdyMWL4 u/N+wlsfzR80wSV5PqVxcCop8Nw5nX/hZBiyD7k8qa5Br3lnS9ZgcSR39rFPyFPtOgLA07q1QffF imuKvz+8x/8AkzNU/wC21P8A9RbYsuj9AcWL4H/OH/yaXmn/ALaNx/xM4sg+5/LX/KOaV/zB2/8A yaXFimOKvgf84f8AyaXmn/to3H/EziyD7v0z/jm2n/GGP/iIxYvgf80Y3j/MrzWrjiTq98wB8GuX ZT9IOLIPvy0uobu1huoDyhuI1libxVwGU/ccWKrirwP/AJy/0+SXyjoeoKtUtb5oXYdvXiLDb/nj ikJR/wA4e63bBfMWhuwW5YwXsK92QBopP+BPD78VL6TxQ+dv+cxf+OT5Z/4z3X/EI8UhMf8AnEH/ AJQjWf8Atpn/AKh48VL3jFDsVdirsVfKH/OSH5Papp+u3XnLRrZrjSNQYzakkSlmtrg7ySMB/uuQ /Fy7NWvbFILFfIf/ADkR5+8oabFpUZt9T0yAcLeC9VmaJeyxyIyNxHYNWg2FMU0yDUv+ctPP11bS W8GmaZbrKjI7lJ5Gowp8NZQB9IOKKYD+Tqs35peV+IJpqMBNN9g4qcUl974sX52TX11pXmp7+FQL qxvjcRLIDTnFLzXkNtqjFk9jtf8AnL3zskYFzo2mzOAQWjE8YJ7Ghkf6cUUxHz5+f/5g+crKTTLi WLTtLm+GazsVZPVU/syO7O7DxAIB7jFNM0/IX8g9WvNVtPNPmq0a00u0ZZ7CwnUrLcSDeN3Q7rEp +Lf7X+rigl9VYofO/wDzkz+T+p6rcL500C3a6uI4hFq9nEC0jJGKJOijduK/C4HYA+OKQXj/AOXn 53eePIkBsNOkiutL5lzp14heNWY/EY2VkdCfnSu9MU0zW5/5y88+PHxt9J0uKQ/tutw+1Ow9Vd8U U8fhvrrVfNSX8yg3V9fC4lWMGnOWXm3Eb7VOKX6J4sXwP+cP/k0vNP8A20bj/iZxZB9z+Wv+Uc0r /mDt/wDk0uLFMcVfA/5w/wDk0vNP/bRuP+JnFkH3fpn/ABzbT/jDH/xEYsXyj/zk9+W2p6Z5sm82 2kDy6Pq3FrqVFJEFyqhGElPsiSgZSe9RikJJ5F/5yQ89+U9Gi0YR22qWNsoSzF2r+pCi7CNXjZKo B0DA07Gm2KaT/TP+cnvzA1fzdosU621lpLXsCXlpaREtJCzhXDPKZW6NX4aYop9IfmH5MtPOXlDU PL9y3p/WkBt5+vpzxkPE+3YMN/EVGKHxJcWnnr8s/Nys6zaRrVkx9GYCqSJ0JQkFJY3HzHjiy5vS rT/nLrz5FbolzpWm3EqijTcZk5e5USEV+WKKYL+ZX5xeaPzCjsotZgs7eKwaR4Es45E3kADcjJJK T9kYpp7V/wA4ux6p/wAqv8y/o0Fb97uX6kx4isn1ZApUv8FeXSu1euKC9P8AyxtfOVvY3MfmR5pK en6LXL85DKS7TUJLNwAMaitBUNxHGhJKGa4FdirsVcaUNeneuKvK/NH/AELf+kH/AE5+gPr9f33D 0vV5f8W+hvy/1t8VS/T/APoVn1x6H+H+dR/vRw4ddv7/AOH54q9M8uf4P+rj/DX6P+rcdv0b6HDj /wA8dqYqnGKsZ83f8q29Nv8AF36I48RX9J/Vq07U9bf5UxV51L/0Kn6rcv0Hyqa8K8a+3H4fuxVk 3kf/AJUR9dX/AAl+hP0jyHp+j6P1qtduHP8Ae/8AA4q9FxV2KuxV5x52/wCVCfXm/wAV/oP9JV/e +r6P1r/np6f73/gsVY9bf9Cq+r+7/QXKh/vfs/8AJT4cVejeVv8AlXnEf4V/RHGhp+i/q1Kd/wC4 xVkWKsT1D/lVP16f9I/oL6/zb6z9Y+p+t6lfi9Tn8XKvWuKspg9D0I/Q4+hxHpenThwp8PGm1KdK YqvxVieof8qp+vT/AKR/QX1/m31n6x9T9b1K/F6nP4uVetcVZXHw4L6dPToOHHpTtSnbFVlz9W+r yfWuH1bifW9WnDhTfly2pTxxV5Fq/wD0K99ek+u/oD6z/uz0OHGtd6+h8Fa9e+Kss8hf8qg5H/BP 6H+sU+P6j6P1ilP2qfvaU8cVZriqS+bP8Gfow/4t/R/6Nr/0tPR9Gvt63w1+WKvLpP8AoVP1G5fo TlU148uNa9uPw0+WKsj8s/8AQvvqr+gv8OfWeI48fqvr02/n/eeFffFXo0XpeknpcfS4j0+NOPGm 1KbUpiq7FXYq7FXYq//Z + + + + + + xmp.did:F77F117407206811B47ACEF0D9EE574C + xmp.iid:F77F117407206811B47ACEF0D9EE574C + + uuid:cee4c58f-32de-4038-8712-b3d00d378275 + uuid:A8D9E38B34D311DFA461CF1EE7EAC354 + uuid:A8D9E38B34D311DFA461CF1EE7EAC354 + + uuid:A8D9E38B34D311DFA461CF1EE7EAC354 + + + + saved + xmp.iid:F77F117407206811B47ACEF0D9EE574C + 2010-04-07T18:41:28-05:00 + Adobe Illustrator CS4 + / + + + + + + Basic RGB + + + 1 + False + False + + 419.999859 + 296.999959 + Millimeters + + + + Black + PANTONE 1665 C + + + + + + Default Swatch Group + 0 + + + + White + CMYK + PROCESS + 0.000000 + 0.000000 + 0.000000 + 0.000000 + + + C=0 M=0 Y=0 K=100 + CMYK + PROCESS + 0.000000 + 0.000000 + 0.000000 + 100.000000 + + + PANTONE 1665 C + SPOT + 100.000000 + CMYK + 0.000000 + 68.000000 + 100.000000 + 0.000000 + + + + + + + + + + + % &&end XMP packet marker&& [{ai_metadata_stream_123} <> /PUT AI11_PDFMark5 [/Document 1 dict begin /Metadata {ai_metadata_stream_123} def currentdict end /BDC AI11_PDFMark5 +%ADOEndClientInjection: PageSetup End "AI11EPS" +%%EndPageSetup +1 -1 scale 0 -170.084 translate +pgsv +[1 0 0 1 0 0 ]ct +gsave +np +gsave +0 0 mo +0 170.084 li +757.353 170.084 li +757.353 0 li +cp +clp +[1 0 0 1 0 0 ]ct +665.232 152.898 mo +666.587 152.898 li +667.73 152.898 668.777 152.84 668.777 151.528 cv +668.777 150.422 667.824 150.252 666.947 150.252 cv +665.232 150.252 li +665.232 152.898 li +cp +663.939 149.204 mo +667.156 149.204 li +669.138 149.204 670.072 149.984 670.072 151.586 cv +670.072 153.088 669.119 153.717 667.88 153.851 cv +670.261 157.528 li +668.871 157.528 li +666.605 153.946 li +665.232 153.946 li +665.232 157.528 li +663.939 157.528 li +663.939 149.204 li +cp +666.72 159.449 mo +670.013 159.449 672.566 156.822 672.566 153.336 cv +672.566 149.927 670.013 147.298 666.72 147.298 cv +663.386 147.298 660.833 149.927 660.833 153.336 cv +660.833 156.822 663.386 159.449 666.72 159.449 cv +cp +666.72 146.252 mo +670.605 146.252 673.861 149.317 673.861 153.336 cv +673.861 157.431 670.605 160.497 666.72 160.497 cv +662.814 160.497 659.541 157.431 659.541 153.336 cv +659.541 149.317 662.814 146.252 666.72 146.252 cv +cp +false sop +/0 +[/DeviceCMYK] /CSA add_res +0 0 0 1 cmyk +f +757.353 45.3262 mo +757.353 70.3574 737.06 90.6514 712.027 90.6514 cv +686.994 90.6514 666.701 70.3574 666.701 45.3262 cv +666.701 20.293 686.994 0 712.027 0 cv +737.06 0 757.353 20.293 757.353 45.3262 cv +cp +/0 +<< +/Name (PANTONE 1665 C) +/CSA /0 get_csa_by_name +/MappedCSA /0 /CSA get_res +/TintMethod /Subtractive +/TintProc null +/NComponents 4 +/Components [ 0 .68 1 0 ] +>> +/CSD add_res +1 /0 /CSD get_res sepcs +1 sep +f +724.412 23.8711 mo +727.306 25.543 731.005 24.5527 732.675 21.6582 cv +734.347 18.7637 733.357 15.0645 730.462 13.3926 cv +727.568 11.7227 723.869 12.7148 722.197 15.6094 cv +720.527 18.502 721.519 22.2012 724.412 23.8711 cv +cp +712.027 63.002 mo +709.367 63.002 706.843 62.4102 704.582 61.3574 cv +700.376 68.8926 li +703.888 70.6328 707.843 71.6152 712.027 71.6152 cv +714.46 71.6152 716.814 71.2773 719.05 70.6582 cv +719.445 68.2266 720.888 65.9883 723.189 64.6582 cv +725.488 63.332 728.144 63.2012 730.445 64.0703 cv +734.919 59.6699 737.832 53.6855 738.255 47.0195 cv +729.63 46.8926 li +728.837 55.9238 721.261 63.002 712.027 63.002 cv +cp +712.027 27.6484 mo +721.261 27.6484 728.837 34.7285 729.632 43.7578 cv +738.255 43.6309 li +737.832 36.9648 734.919 30.9805 730.445 26.5801 cv +728.144 27.4492 725.486 27.3164 723.189 25.9922 cv +720.888 24.6641 719.445 22.4238 719.05 19.9922 cv +716.814 19.375 714.46 19.0371 712.027 19.0371 cv +707.843 19.0371 703.888 20.0195 700.376 21.7578 cv +704.582 29.293 li +706.843 28.2402 709.367 27.6484 712.027 27.6484 cv +cp +694.351 45.3262 mo +694.351 39.3457 697.322 34.0625 701.867 30.8633 cv +697.443 23.4531 li +692.148 26.9922 688.208 32.4004 686.572 38.7344 cv +688.482 40.293 689.705 42.666 689.705 45.3262 cv +689.705 47.9844 688.482 50.3574 686.572 51.916 cv +688.207 58.252 692.146 63.6602 697.443 67.1992 cv +701.867 59.7871 li +697.322 56.5898 694.351 51.3066 694.351 45.3262 cv +cp +724.414 66.7773 mo +721.519 68.4492 720.527 72.1484 722.199 75.041 cv +723.869 77.9355 727.568 78.9277 730.462 77.2559 cv +733.357 75.5859 734.349 71.8867 732.677 68.9922 cv +731.007 66.0996 727.306 65.1074 724.414 66.7773 cv +cp +681.207 39.2734 mo +677.863 39.2734 675.154 41.9824 675.154 45.3262 cv +675.154 48.668 677.863 51.377 681.207 51.377 cv +684.548 51.377 687.257 48.668 687.257 45.3262 cv +687.257 41.9824 684.548 39.2734 681.207 39.2734 cv +cp +0 0 0 0 cmyk +f +90.6514 164.257 mo +86.0449 165.411 79.9673 166.632 72.4136 167.926 cv +64.8589 169.222 56.1177 169.869 46.189 169.869 cv +37.5557 169.869 30.2881 168.608 24.3896 166.093 cv +18.4878 163.578 13.7393 160.014 10.1445 155.409 cv +6.5459 150.805 3.95605 145.372 2.37451 139.113 cv +.789063 132.853 0 125.914 0 118.285 cv +0 55.2617 li +20.0728 55.2617 li +20.0728 113.967 li +20.0728 127.639 22.231 137.423 26.5483 143.321 cv +30.8647 149.223 38.1294 152.171 48.3477 152.171 cv +50.5059 152.171 52.7349 152.099 55.0386 151.954 cv +57.3384 151.813 59.4966 151.63 61.5137 151.415 cv +63.5269 151.199 65.3618 150.984 67.0176 150.768 cv +68.6699 150.552 69.8569 150.303 70.5786 150.013 cv +70.5786 55.2617 li +90.6514 55.2617 li +90.6514 164.257 li +cp +0 0 0 1 cmyk +f +139.644 150.013 mo +141.657 150.589 144.5 151.128 148.169 151.63 cv +151.838 152.136 156.405 152.387 161.875 152.387 cv +172.667 152.387 181.3 148.825 187.775 141.704 cv +194.25 134.58 197.488 124.472 197.488 111.376 cv +197.488 105.625 196.911 100.229 195.761 95.1895 cv +194.607 90.1543 192.739 85.8018 190.149 82.1328 cv +187.559 78.4629 184.213 75.5859 180.113 73.498 cv +176.012 71.4141 171.081 70.3691 165.328 70.3691 cv +159.858 70.3691 154.823 71.3066 150.22 73.1748 cv +145.613 75.0469 142.088 76.9902 139.644 79.002 cv +139.644 150.013 li +cp +139.644 60.2246 mo +142.088 58.6436 145.795 56.9873 150.759 55.2617 cv +155.723 53.5342 161.443 52.6719 167.918 52.6719 cv +175.975 52.6719 183.134 54.1104 189.394 56.9873 cv +195.653 59.8672 200.941 63.8945 205.257 69.0752 cv +209.575 74.2549 212.846 80.4434 215.078 87.6367 cv +217.308 94.833 218.424 102.744 218.424 111.376 cv +218.424 120.443 217.091 128.612 214.431 135.876 cv +211.767 143.142 207.989 149.293 203.099 154.329 cv +198.206 159.368 192.308 163.251 185.401 165.985 cv +178.494 168.716 170.724 170.084 162.09 170.084 cv +152.735 170.084 144.463 169.438 137.269 168.142 cv +130.073 166.847 124.174 165.553 119.571 164.257 cv +119.571 3.45898 li +139.644 .00683594 li +139.644 60.2246 li +cp +f +330.44 164.257 mo +325.833 165.411 319.756 166.632 312.202 167.926 cv +304.647 169.222 295.906 169.869 285.978 169.869 cv +277.344 169.869 270.077 168.608 264.178 166.093 cv +258.276 163.578 253.527 160.014 249.933 155.409 cv +246.334 150.805 243.745 145.372 242.163 139.113 cv +240.578 132.853 239.788 125.914 239.788 118.285 cv +239.788 55.2617 li +259.861 55.2617 li +259.861 113.967 li +259.861 127.639 262.02 137.423 266.336 143.321 cv +270.653 149.223 277.917 152.171 288.136 152.171 cv +290.294 152.171 292.523 152.099 294.827 151.954 cv +297.126 151.813 299.285 151.63 301.302 151.415 cv +303.315 151.199 305.15 150.984 306.806 150.768 cv +308.458 150.552 309.646 150.303 310.367 150.013 cv +310.367 55.2617 li +330.44 55.2617 li +330.44 164.257 li +cp +f +359.359 58.499 mo +363.962 57.3477 370.076 56.124 377.706 54.8281 cv +385.331 53.5342 394.108 52.8867 404.036 52.8867 cv +412.958 52.8867 420.366 54.1475 426.268 56.6631 cv +432.167 59.1826 436.877 62.7061 440.405 67.2393 cv +443.928 71.7725 446.411 77.2061 447.852 83.5352 cv +449.288 89.8682 450.01 96.8467 450.01 104.472 cv +450.01 167.495 li +429.936 167.495 li +429.936 108.787 li +429.936 101.882 429.467 95.9834 428.534 91.0898 cv +427.596 86.2002 426.053 82.2412 423.893 79.2197 cv +421.735 76.1963 418.856 74.0039 415.26 72.6357 cv +411.661 71.2686 407.2 70.585 401.879 70.585 cv +399.719 70.585 397.487 70.6592 395.188 70.8008 cv +392.884 70.9453 390.689 71.126 388.605 71.3418 cv +386.516 71.5566 384.645 71.8105 382.994 72.0967 cv +381.337 72.3867 380.15 72.6025 379.432 72.7432 cv +379.432 167.495 li +359.359 167.495 li +359.359 58.499 li +cp +f +496.413 55.2617 mo +538.932 55.2617 li +538.932 72.0967 li +496.413 72.0967 li +496.413 123.896 li +496.413 129.507 496.842 134.149 497.708 137.817 cv +498.571 141.488 499.866 144.366 501.592 146.451 cv +503.319 148.539 505.477 150.013 508.067 150.875 cv +510.657 151.739 513.678 152.171 517.131 152.171 cv +523.317 152.171 528.211 151.49 531.809 150.121 cv +535.403 148.754 537.852 147.784 539.147 147.208 cv +543.463 163.611 li +541.448 164.619 537.885 165.915 532.78 167.495 cv +527.67 169.077 521.881 169.869 515.405 169.869 cv +507.778 169.869 501.485 168.899 496.52 166.956 cv +491.555 165.012 487.563 162.099 484.542 158.214 cv +481.52 154.329 479.395 149.546 478.174 143.86 cv +476.95 138.178 476.338 131.596 476.338 124.112 cv +476.338 23.9648 li +496.413 20.5117 li +496.413 55.2617 li +cp +f +648.143 164.257 mo +643.536 165.411 637.458 166.632 629.905 167.926 cv +622.35 169.222 613.61 169.869 603.68 169.869 cv +595.047 169.869 587.78 168.608 581.881 166.093 cv +575.979 163.578 571.231 160.014 567.635 155.409 cv +564.038 150.805 561.448 145.372 559.866 139.113 cv +558.28 132.853 557.491 125.914 557.491 118.285 cv +557.491 55.2617 li +577.565 55.2617 li +577.565 113.967 li +577.565 127.639 579.723 137.423 584.04 143.321 cv +588.356 149.223 595.62 152.171 605.838 152.171 cv +607.997 152.171 610.225 152.099 612.53 151.954 cv +614.829 151.813 616.989 151.63 619.004 151.415 cv +621.018 151.199 622.852 150.984 624.508 150.768 cv +626.161 150.552 627.348 150.303 628.069 150.013 cv +628.069 55.2617 li +648.143 55.2617 li +648.143 164.257 li +cp +f +%ADOBeginClientInjection: EndPageContent "AI11EPS" +userdict /annotatepage 2 copy known {get exec}{pop pop} ifelse +%ADOEndClientInjection: EndPageContent "AI11EPS" +grestore +grestore +pgrs +%%PageTrailer +%ADOBeginClientInjection: PageTrailer Start "AI11EPS" +[/EMC AI11_PDFMark5 [/NamespacePop AI11_PDFMark5 +%ADOEndClientInjection: PageTrailer Start "AI11EPS" +[ +[/CSA [/0 ]] +[/CSD [/0 ]] +] del_res +Adobe_AGM_Image/pt gx +Adobe_CoolType_Core/pt get exec Adobe_AGM_Core/pt gx +currentdict Adobe_AGM_Utils eq {end} if +%%Trailer +Adobe_AGM_Image/dt get exec +Adobe_CoolType_Core/dt get exec Adobe_AGM_Core/dt get exec +%%EOF +%%EndDocument + +% Start of EPS cleanup +count op_count sub {pop} repeat +countdictstack dict_count sub {end} repeat +b4_Inc_state restore +% End of EPS cleanup +40 696 moveto (Grayscale) show +% grayscale bar +save +/x 40 def +/y 658 def +/width_each 46 def +/height 36 def +/temp 10 string def +/setproc { 1 exch sub setgray } def +/towhite { 6 gt } def +0 setlinewidth +0 1 10 { + /i exch def + newpath + x i width_each mul add y moveto % bottom left + 0 height rlineto % to top left + width_each 0 rlineto % to top right + 0 height neg rlineto % to bottom right + closepath % back to bottom left + gsave + i 10 div setproc + fill + grestore + stroke + i 10 mul temp cvs length % multiply by 10 to get percentage + temp exch + 2 copy (%) putinterval % add percent sign + 0 exch 1 add getinterval % reduce to string + /str exch def + x % base x + i width_each mul add % plus offset to start of block + width_each 2 div add % plus half a block + str stringwidth pop 2 div sub % plus half the string width + y 5 add moveto + gsave + i towhite { 1.0 setgray } if + str show + grestore + } for +restore +40 633 moveto (Red) show +% grayscale bar +save +/x 40 def +/y 595 def +/width_each 46 def +/height 36 def +/temp 10 string def +/setproc { 0 0 setrgbcolor } def +/towhite { 6 lt } def +0 setlinewidth +0 1 10 { + /i exch def + newpath + x i width_each mul add y moveto % bottom left + 0 height rlineto % to top left + width_each 0 rlineto % to top right + 0 height neg rlineto % to bottom right + closepath % back to bottom left + gsave + i 10 div setproc + fill + grestore + stroke + i 10 mul temp cvs length % multiply by 10 to get percentage + temp exch + 2 copy (%) putinterval % add percent sign + 0 exch 1 add getinterval % reduce to string + /str exch def + x % base x + i width_each mul add % plus offset to start of block + width_each 2 div add % plus half a block + str stringwidth pop 2 div sub % plus half the string width + y 5 add moveto + gsave + i towhite { 1.0 setgray } if + str show + grestore + } for +restore +40 585 moveto (Green) show +% grayscale bar +save +/x 40 def +/y 547 def +/width_each 46 def +/height 36 def +/temp 10 string def +/setproc { 0 0 3 1 roll setrgbcolor } def +/towhite { 6 lt } def +0 setlinewidth +0 1 10 { + /i exch def + newpath + x i width_each mul add y moveto % bottom left + 0 height rlineto % to top left + width_each 0 rlineto % to top right + 0 height neg rlineto % to bottom right + closepath % back to bottom left + gsave + i 10 div setproc + fill + grestore + stroke + i 10 mul temp cvs length % multiply by 10 to get percentage + temp exch + 2 copy (%) putinterval % add percent sign + 0 exch 1 add getinterval % reduce to string + /str exch def + x % base x + i width_each mul add % plus offset to start of block + width_each 2 div add % plus half a block + str stringwidth pop 2 div sub % plus half the string width + y 5 add moveto + gsave + i towhite { 1.0 setgray } if + str show + grestore + } for +restore +40 537 moveto (Blue) show +% grayscale bar +save +/x 40 def +/y 499 def +/width_each 46 def +/height 36 def +/temp 10 string def +/setproc { 0 0 3 2 roll setrgbcolor } def +/towhite { pop true } def +0 setlinewidth +0 1 10 { + /i exch def + newpath + x i width_each mul add y moveto % bottom left + 0 height rlineto % to top left + width_each 0 rlineto % to top right + 0 height neg rlineto % to bottom right + closepath % back to bottom left + gsave + i 10 div setproc + fill + grestore + stroke + i 10 mul temp cvs length % multiply by 10 to get percentage + temp exch + 2 copy (%) putinterval % add percent sign + 0 exch 1 add getinterval % reduce to string + /str exch def + x % base x + i width_each mul add % plus offset to start of block + width_each 2 div add % plus half a block + str stringwidth pop 2 div sub % plus half the string width + y 5 add moveto + gsave + i towhite { 1.0 setgray } if + str show + grestore + } for +restore +40 474 moveto (Cyan) show +% grayscale bar +save +/x 40 def +/y 436 def +/width_each 46 def +/height 36 def +/temp 10 string def +/setproc { 0 0 0 setcmykcolor } def +/towhite { pop false } def +0 setlinewidth +0 1 10 { + /i exch def + newpath + x i width_each mul add y moveto % bottom left + 0 height rlineto % to top left + width_each 0 rlineto % to top right + 0 height neg rlineto % to bottom right + closepath % back to bottom left + gsave + i 10 div setproc + fill + grestore + stroke + i 10 mul temp cvs length % multiply by 10 to get percentage + temp exch + 2 copy (%) putinterval % add percent sign + 0 exch 1 add getinterval % reduce to string + /str exch def + x % base x + i width_each mul add % plus offset to start of block + width_each 2 div add % plus half a block + str stringwidth pop 2 div sub % plus half the string width + y 5 add moveto + gsave + i towhite { 1.0 setgray } if + str show + grestore + } for +restore +40 426 moveto (Magenta) show +% grayscale bar +save +/x 40 def +/y 388 def +/width_each 46 def +/height 36 def +/temp 10 string def +/setproc { 0 0 0 4 1 roll setcmykcolor } def +/towhite { pop false } def +0 setlinewidth +0 1 10 { + /i exch def + newpath + x i width_each mul add y moveto % bottom left + 0 height rlineto % to top left + width_each 0 rlineto % to top right + 0 height neg rlineto % to bottom right + closepath % back to bottom left + gsave + i 10 div setproc + fill + grestore + stroke + i 10 mul temp cvs length % multiply by 10 to get percentage + temp exch + 2 copy (%) putinterval % add percent sign + 0 exch 1 add getinterval % reduce to string + /str exch def + x % base x + i width_each mul add % plus offset to start of block + width_each 2 div add % plus half a block + str stringwidth pop 2 div sub % plus half the string width + y 5 add moveto + gsave + i towhite { 1.0 setgray } if + str show + grestore + } for +restore +40 378 moveto (Yellow) show +% grayscale bar +save +/x 40 def +/y 340 def +/width_each 46 def +/height 36 def +/temp 10 string def +/setproc { 0 0 0 4 2 roll setcmykcolor } def +/towhite { pop false } def +0 setlinewidth +0 1 10 { + /i exch def + newpath + x i width_each mul add y moveto % bottom left + 0 height rlineto % to top left + width_each 0 rlineto % to top right + 0 height neg rlineto % to bottom right + closepath % back to bottom left + gsave + i 10 div setproc + fill + grestore + stroke + i 10 mul temp cvs length % multiply by 10 to get percentage + temp exch + 2 copy (%) putinterval % add percent sign + 0 exch 1 add getinterval % reduce to string + /str exch def + x % base x + i width_each mul add % plus offset to start of block + width_each 2 div add % plus half a block + str stringwidth pop 2 div sub % plus half the string width + y 5 add moveto + gsave + i towhite { 1.0 setgray } if + str show + grestore + } for +restore +40 330 moveto (Black) show +% grayscale bar +save +/x 40 def +/y 292 def +/width_each 46 def +/height 36 def +/temp 10 string def +/setproc { 0 0 0 4 3 roll setcmykcolor } def +/towhite { 6 gt } def +0 setlinewidth +0 1 10 { + /i exch def + newpath + x i width_each mul add y moveto % bottom left + 0 height rlineto % to top left + width_each 0 rlineto % to top right + 0 height neg rlineto % to bottom right + closepath % back to bottom left + gsave + i 10 div setproc + fill + grestore + stroke + i 10 mul temp cvs length % multiply by 10 to get percentage + temp exch + 2 copy (%) putinterval % add percent sign + 0 exch 1 add getinterval % reduce to string + /str exch def + x % base x + i width_each mul add % plus offset to start of block + width_each 2 div add % plus half a block + str stringwidth pop 2 div sub % plus half the string width + y 5 add moveto + gsave + i towhite { 1.0 setgray } if + str show + grestore + } for +restore +40 40 moveto +statusdict begin + (Product: ) show product show + ( Version: ) show version 10 string cvs show + ( Revision: ) show revision 10 string cvs show +end +% End of page +restore +showpage +%%Trailer +end +%%EOF --- system-config-printer-1.3.6+20110831.orig/debian/local/source_system-config-printer.py +++ system-config-printer-1.3.6+20110831/debian/local/source_system-config-printer.py @@ -0,0 +1,11 @@ +'''apport package hook for system-config-printer + +(c) 2009 Canonical Ltd. +Author: Brian Murray +''' + +from apport.hookutils import * + +def add_info(report): + attach_hardware(report) + attach_printing(report)