Skip to content
Snippets Groups Projects
Commit 1ca65a5c authored by Marcel Loose's avatar Marcel Loose :sunglasses:
Browse files

Bug 1300: Added ADASS XVII paper and presentation (BBS)

parent 69cab13e
Branches
Tags
No related merge requests found
......@@ -1324,6 +1324,10 @@ autoconf_share/variants.kis001 -text
autoconf_share/variants.lfe001 -text
autoconf_share/variants.lioffen -text
doc/UML/CPA-Packages-Model.mdl -text
doc/papers/2007/ADASS-XVII/O4b.4/ADASS2007-O4b.4.ppt -text svneol=unset#application/vnd.ms-powerpoint
doc/papers/2007/ADASS-XVII/O4b.4/O4b.4.pdf -text svneol=unset#application/pdf
doc/papers/2007/ADASS-XVII/O4b.4/O4b.4_1.eps -text
doc/papers/2007/ADASS-XVII/O4b.4/O4b.4_2.eps -text
doc/papers/2008/IEEE-SIG/LBA_calibrated.png -text
doc/papers/2008/IEEE-SIG/LBA_observed.png -text
doc/papers/2008/IEEE-SIG/LBA_peeled.png -text
......
File added
File added
%ADASS_PROCEEDINGS_FORM%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%
% TEMPLATE.TEX -- ADASS Conference Proceedings template.
%
% Use this template to create your proceedings paper in LaTeX format
% by following the instructions given below. Much of the input will
% be enclosed by braces (i.e., { }). The percent sign, "%", denotes
% the start of a comment; text after it will be ignored by LaTeX.
% You might also notice in some of the examples below the use of "\ "
% after a period; this prevents LaTeX from interpreting the period as
% the end of a sentence and putting extra space after it.
%
% You should check your paper by processing it with LaTeX. For
% details about how to run LaTeX as well as how to print out the User
% Guide, consult the README file. You should also consult the sample
% LaTeX papers, sample1.tex and sample2.tex, for examples of including
% figures, html links, special symbols, and other advanced features.
%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% Note that the primary style file is that from the ASP Conf. Series; ADASS style
% elements are included by an additional \usepackage. You may use other
% _standard_ packages if needed, such as lscape, psfig, epsf, and graphicx,
% although these packages may already be installed on your system.
%
\documentclass[11pt,twoside]{article} % Leave intact
\usepackage{asp2006}
\usepackage{adassconf}
% Set counters for footnotes and sectioning, which is needed when
% constructing the full volume of all papers.
% DO NOT DELETE.
\setcounter{equation}{0}
\setcounter{figure}{0}
\setcounter{footnote}{0}
\setcounter{section}{0}
\setcounter{table}{0}
\begin{document} % Leave intact
%-----------------------------------------------------------------------
% Paper ID Code
%-----------------------------------------------------------------------
% Enter the proper paper identification code. The ID code for your paper
% is the session number associated with your presentation as published
% in the official conference proceedings. You can find this number by
% locating your abstract in the printed proceedings that you received
% at the meeting, or on-line at the conference web site.
%
% This identifier will not appear in your paper; however, it allows different
% papers in the proceedings to cross-reference each other. Note that
% you should only have one \paperID, and it should not include a
% trailing period.
%
% EXAMPLE: \paperID{O4.1}
% EXAMPLE: \paperID{P2.7}
\paperID{O4b.4}
%-----------------------------------------------------------------------
% Paper Title
%-----------------------------------------------------------------------
% Enter the title of the paper.
%
% EXAMPLE: \title{A Breakthrough in Astronomical Software Development}
\title{LOFAR Self-Calibration Using a Blackboard Software Architecture}
%-----------------------------------------------------------------------
% Short Title & Author list for page headers
%-----------------------------------------------------------------------
% Please supply the author list and the title (abbreviated if necessary) as
% arguments to \markboth.
%
% The author last names for the page header must appear in one of
% these formats:
%
% EXAMPLES:
% LASTNAME
% LASTNAME1 and LASTNAME2
% LASTNAME1, LASTNAME2, and LASTNAME3
% LASTNAME et al.
%
% Use the "et al." form in the case of four or more authors.
%
% If the title is too long to fit in the header, shorten it:
%
% EXAMPLE: change
% Rapid Development for Distributed Computing, with Implications for the Virtual Observatory
% to:
% Rapid Development for Distributed Computing
\markboth{Loose}{LOFAR Blackboard Self-Calibration}
%-----------------------------------------------------------------------
% Authors of Paper
%-----------------------------------------------------------------------
% Enter the authors followed by their affiliations. The \author and
% \affil commands may appear multiple times as necessary. List each
% author by giving the first name or initials first followed by the
% last name. Do not include street addresses and postal codes, but
% do include the country name or abbreviation.
%
% If the list of authors is lengthy and there are several institutional
% affiliations, you can save space by using the \altaffilmark and \altaffiltext
% commands in place of the \affil command.
%
% EXAMPLE:
% \author{Raymond Plante, Doug Roberts,
% R.\ M.\ Crutcher\altaffilmark{1}}
% \affil{National Center for Supercomputing Applications,
% University of Illinois, Urbana, IL, USA}
% \author{Tom Troland}
% \affil{University of Kentucky, Lexington, KY, USA}
%
% \altaffiltext{1}{Astronomy Department, UIUC}
%
% In this example, the first three authors, "Plante", "Roberts", and
% "Crutcher" are affiliated with "NCSA". "Crutcher" has an alternate
% affiliation with the "Astronomy Department". The fourth author,
% "Troland", is affiliated with "University of Kentucky"
\author{G.\ Marcel Loose}
\affil{ASTRON, Dwingeloo, The Netherlands}
%-----------------------------------------------------------------------
% Contact Information
%-----------------------------------------------------------------------
% This information will not appear in the paper but will be used by
% the editors in case you need to be contacted concerning your
% submission. Enter your name as the contact along with your email
% address.
%
% EXAMPLE: \contact{Dennis Crabtree}
% \email{crabtree@cfht.hawaii.edu}
\contact{Marcel Loose}
\email{loose@astron.nl}
%-----------------------------------------------------------------------
% Author Index Specification
%-----------------------------------------------------------------------
% Specify how each author name should appear in the author index. The
% \paindex{ } should be used to indicate the primary author, and the
% \aindex for all other co-authors. You MUST use the following
% syntax:
%
% SYNTAX: \aindex{Lastname, F.~M.}
%
% where F is the first initial and M is the second initial (if used). Please
% ensure that there are no extraneous spaces anywhere within the command
% argument. This guarantees that authors that appear in multiple papers
% will appear only once in the author index. Authors must be listed in the order
% of the \paindex and \aindex commmands.
%
% EXAMPLE: \paindex{Crabtree, D.}
% \aindex{Manset, N.}
% \aindex{Veillet, C.}
\paindex{Loose, G.~M.}
%-----------------------------------------------------------------------
% Subject Index keywords
%-----------------------------------------------------------------------
% Enter up to 6 keywords that are relevant to the topic of your paper. These
% will NOT be printed as part of your paper; however, they will guide the creation
% of the subject index for the proceedings. Please use entries from the
% standard list where possible, which can be found in the index for the
% ADASS XVI proceedings. Separate topics from sub-topics with an exclamation
% point (!).
%
% EXAMPLE: \keywords{astronomy!radio, computing!grid, data management!workflows,
% instrumentation!control}
\keywords{astronomy!radio, calibration, computing!distributed, computing!parallel, software!design, software systems!distributed}
%-----------------------------------------------------------------------
% Abstract
%-----------------------------------------------------------------------
% Type abstract in the space below. Consult the User Guide and Latex
% Information file for a list of supported macros (e.g. for typesetting
% special symbols). Do not leave a blank line between \begin{abstract}
% and the start of your text.
\begin{abstract} % Leave intact
One of the major challenges for the self-calibration of the new generation of
radio telescopes is to handle the sheer amount of observational data. For
LOFAR, an average observation consists of several tens of terabytes of
data. Fortunately, many operations can be done in parallel on only part of the
data. So, one way to take up this challenge is to employ a large cluster of
computers and to distribute both data and computing power. This paper focuses
on the architectural design of the LOFAR self-calibration system, which is
loosely based on the Blackboard architectural pattern. Key design
consideration was to provide maximum scalability by complete separation of the
global controller---issuing sequences of commands---on the one side; and the
local controllers---controlling the so-called `kernels' that execute the
commands---on the other side. In between, resides a database system that acts
as a shared memory for the global and local controllers by storing the
commands and the results.
\end{abstract}
%-----------------------------------------------------------------------
% Main Body
%-----------------------------------------------------------------------
% Place the text for the main body of the paper here. You should use
% the \section command to label the various sections; use of
% \subsection is optional. Significant words in section titles should
% be capitalized. Sections and subsections will be numbered
% automatically.
%
% EXAMPLE: \section{Introduction}
% ...
% \subsection{Our View of the World}
% ...
% \section{A New Approach}
%
% It is recommended that you look at the sample paper sample2.tex
% for examples of formatting references, footnotes, figures, equations,
% html links, lists, and other features.
\section{Introduction}
The LOFAR telescope, once fully operational, will produce raw data sets that
are \emph{very} large. These data sets need to be calibrated in an iterative
way to correct for instrumental effects, like band-pass and beam shape; and
ionospheric effects, like Faraday and phase rotation. In this paper, we will
focus on the architectural design of the LOFAR self-calibration system from a
system control point-of-view.
\section{Architectural Design}
The data volume of an average LOFAR observation will in the order of tens of
terabytes. This size must be reduced, otherwise it will be impossible to do
long-term archiving and local (post-)processing. Moreover, the output data
rate of the correlator will be in the order of a gigabyte per second. Neither
a single disk, nor a computer system can handle this data rate, therefore data
must be distributed.
\subsection{Design Considerations}
Data should be distributed such that: all processing can be done without
reordering; large chunks of data can be processed locally; and only few data
have to be exchanged. Data can be distributed along a few axes.
\begin{description}
\item [Time] is a bad choice, because a time-slot contains a lot of data (up
to several gigabytes), which may lead to problems in the on-line system when
all data of a time-slot are sent to a single machine. It will also make
parallelization of imaging difficult, because the data of all time-slots have
to be combined.
\item [Baseline] seems a better candidate. However, it will lead to imaging
problems, because data from large amounts of gridded Fourier transformed data
have to be sent around.
\item [Frequency] is the best choice. Images are usually created per channel,
so, in principle, imaging could be done locally. This distribution scheme
matches nicely with the way the correlator and the on-line system is designed.
\end{description}
One important requirement is scalability. A heterogeneous cluster will be a
fact of life, since hardware will be bought in stages and will be replaced in
stages. Therefore, unnecessary coupling between the different computing nodes
should be avoided, and data should be processed locally as much as
possible. Communication between the computing nodes should be done using a
global shared memory. Several architectural patterns describe this
approach. Among these, the Blackboard pattern (Buschmann et al.\ 1996) is
probably the best-known.
\subsection{Blackboard pattern}
The Blackboard architecture is ideal for solving problems for which no
predetermined algorithm or solve strategy is known. However, the
%for the design of the BBS system, we've come to the conclusion
%that the operational system will benefit in terms of
%performance when using a predefined solving strategy. The
``best'' algorithm to perform a self-calibration run can be chosen from a
relatively short list of calibration strategies in advance, giving us a
significant performance gain.
%(based, e.g., on heuristics, or suggested by research done
%with the MeqTree system).
In fact, the Shared Repository pattern (Lalanda 1998), which can be seen as a
generalization of the Blackboard pattern, is probably a better match for the
BlackBoard Selfcal (BBS) system. It realizes indirect communication using a
repository as shared memory.
%Components put their output into memory that is accessible by
%other components and retrieve their input from this shared
%memory (also called a repository).
Figure~\ref{fig:O4b.4_shared-repository-pattern} shows the specialization
hierarchy of patterns based on the Shared Repository pattern.
%
\begin{figure}[!ht]
\begin{picture}(379,84)(-10,0)
\footnotesize
\put(0,30){\framebox(80,22){\shortstack{Shared Repository\\pattern}}}
\put(80.5,49){\vector(2,1){43.5}}
\put(80.5,41){\vector(1,0){43.5}}
\put(80.5,33){\vector(2,-1){43.5}}
\put(124.5,60){\thicklines\framebox(88,22){\shortstack{Controller\\pattern}}}
\put(124.5,30){\framebox(88,22){\shortstack{Blackboard\\pattern}}}
\put(124.5,0){\thicklines\framebox(88,22){\shortstack{Repository Manager\\pattern}}}
\put(213,45){\vector(3,1){43.5}}
\put(213,37){\vector(3,-1){43.5}}
\put(257,48){\framebox(100,22){\shortstack{Blackboard-based\\Control pattern}}}
\put(257,12){\framebox(100,22){\shortstack{Hierarchical Blackboard\\pattern}}}
\end{picture}
\caption{Patterns based on the Shared Repository pattern (Lalanda 1998). The
two patterns in a thick framebox are of special interest for BBS.}
\label{fig:O4b.4_shared-repository-pattern}
\end{figure}
%
\subsubsection{Controller pattern} introduces a control component in the
system, which rules the system and schedules activation of other
components. This pattern can be applied to deterministic problems where
sequences of components activation can be determined off-line and coded in the
controller using various techniques.
\subsubsection{Repository Manager pattern} is applicable in a distributed
environment. It introduces a repository manager which sends notification of
data creation or modification to the software components.
%\subsubsection{Blackboard pattern} refines the Controller pattern to deal with
%non-deterministic problems.
\section{System Overview}
\subsection{Subsystems}
The Blackboard Self-Cal system is split into three parts. BBS Control takes
care of the distributed processing by means of the Blackboard pattern. BBS
Kernel does the actual processing; it executes a series of steps, where each
step consists of an operation like \textsc{solve} or \textsc{correct}. The BBS
Database consists of two databases---Command Queue and Parameter
Database---that together form the blackboard. This separation of concerns
maximizes scalability.
\subsubsection{BBS Control} is responsible for controlling the execution of a
self-calibration strategy
(figure~\ref{fig:O4b.4_bbs-control-global-design}). A strategy describes one
iteration in the so-called \emph{Major Cycle}~(Nijboer \& Noordam 2006). It
defines the relationship between the observed data and the model data, and
consists of an ordered list of commands that will be executed by the BBS
Kernel subsystem. The key idea is that the BBS Kernel keeps a subset of the
data (the so-called \emph{work domain}) in memory. As many commands as
possible are executed on these data before the next chunk of data is accessed.
%The key idea is that a subset of the data (the so-called \emph{work domain}) is kept in memory; as many commands as possible are executed on these data before the next data chunk is accessed.
%A strategy defines the size of the work domain (in time and frequency) and optionally which stations and correlations are contained in the work domain.
\begin{figure}[!ht]
\plotone{O4b.4_1.eps}
\caption{Design of the BBS Control system. Global Control posts commands
to the Command Queue. These commands are asynchronously retrieved by Local
Control and forwarded to the BBS Kernel. After execution of the command, BBS
Kernel returns the result to Local Control, which in turn posts it to the
Parameter Database. Global Control checks the quality of these solutions and
takes appropriate action.}
\label{fig:O4b.4_bbs-control-global-design}
\end{figure}
\subsubsection{BBS Kernel} implements the Measurement Equation~(Hamaker,
Bregman \& Sault 1996), which models the response of an interferometer given a
description of the sky, the environment, and the interferometer. It consists
of two components. The
\emph{kernel} implements operations like \textsc{predict}, \textsc{subtract},
and \textsc{correct}. The \emph{solver} calculates estimates for the model
parameters by minimizing the difference between model and observation.
\subsubsection{BBS Database} consists of two different databases. The Command
Queue stores the command to be executed by the BBS Kernel and the status
results returned by each kernel. The Parameter Database stores (intermediate)
solutions of the model parameters calculated by the BBS Kernel. Access to the
Parameter Database is minimized in order to avoid performance penalties.
%If partial solutions can be kept in memory of a local (kernel) node, they will not be written to the database, unless requested explicitly.
%\subsection{Strategies and Steps}
%\subsubsection{BBS Strategy} describes one iteration in the so-called \emph{Major Cycle}~(Nijboer 2006); it defines the relationship between the observed data and the model parameters the size of a \emph{work domain}. It is defined in terms of one or more BBS Steps.
%\subsubsection{BBS Step} is designed as a Composite pattern (Gamma 1995); each step can be made up of one or more (sub)steps. Leaf classes define a single piece of work that can be handed over to the BBS Kernel subsystem.
%\subsubsection{Work Domain} is a subset of the data that fits in RAM memory. As many commands as possible are executed on these data before the next data chunk is accessed. A strategy defines the size of the work domain (in time and frequency).
\section{Current Status and Future Work}
Currently, the control framework runs on a 12-node Linux cluster, using a
PostgreSQL database as shared memory. Figure~\ref{fig:O4b.4_first-results}
shows the result of one of the first successful calibration runs on a
gigabyte-sized dataset.
\begin{figure}[!ht]
\plotone{O4b.4_2.eps}
%\plotone{BBSImage.eps}
\caption{Image produced from a 16-hour CS-1 observation on 30 March 2007,
using six 160~kHz subbands between 47.5 and 65~MHz. Note the remnants of two
strong radio sources, CasA and CygA, after their subtraction.}
\label{fig:O4b.4_first-results}
\end{figure}
The scalability of the framework will be tested in the coming period, as the
cluster is expected to grow to several hundreds of nodes. Support for
calibration of beam-shape, and ionospheric effects will be added to the BBS
Kernel.
%-----------------------------------------------------------------------
% References
%-----------------------------------------------------------------------
% List your references below within the reference environment
% (i.e. between the \begin{references} and \end{references} tags).
% Each new reference should begin with a \reference command which sets
% up the proper indentation.
% NOTE: all citations in the text _must_ have a corresponding entry in
% the reference list, and all references must be cited in the text.
%
% Observe the following order when listing bibliographical
% information for each reference: author name(s), publication
% year, journal name, volume, and page number for articles.
% URLs to the reference may be given either in-line, or as a footnote.
% Note that many journal names are available as macros; see
% the User Guide for a listing "macro-ized" journals.
%
% EXAMPLES:
% Reference to a Journal article:
% \reference Cornwell, T.\ J.\ 1988, \aap, 202, 316
%
% Journal paper with more than 7 authors;
% \reference Hanisch, R.\ et al.\ 2001, \aap, 376, 359
%
% Reference to an SPIE paper:
% \reference Noordam, J.~E.\ 2004, Proc.\ SPIE, 5489, 817
%
% Reference to a contribution to a proceedings (not ADASS)
% \reference Schmitz, M., Helou, G., Dubois, P., LaGue, C., Madore,B., Corwin, H.~G., Jr.,
% \& Lesteven, S.\ 1995, in Information \& On-Line Data in Astronomy,
% ed.\ D.\ Egret \& M.~A.\ Albrecht (Dordrecht: Kluwer Academic Publishers), 259
%
% Reference to a paper in an earlier ADASS proceedings:
% \reference Kantor, J., et al.\ 2007, \adassvii, 3
%
% Reference to a paper in the current ADASS:
% \reference Hanisch, R.~J.\ 2008, \adassxvii, \paperref{O1.3}
%
% Reference to a book:
% \reference Jacobson, I.\ Booch, G., \& Rumbaugh, J.\ 1999,
% The Unified Software Development Process (Reading, MA: Addison-Wesley)
%
% Reference to a thesis:
% \reference Gering, D.\ 1999, Master's Thesis, Massachusetts Institute of Technology
%
% Reference to a purely on-line resource:
% \reference Staveley-Smith, L.\ 2006, ATNF SKA Memo~6, http://www.atnf.csiro.au/ska
%
% Note the following tricks used in the example above:
%
% o \& is used to format an ampersand symbol (&).
% o \'e puts an accent agu over the letter e. See the User Guide
% and the sample files for details on formatting special
% characters.
% o "\ " after a period prevents LaTeX from interpreting the period
% as an end of a sentence.
% o \aj is a macro that expands to "Astron. J." See the User Guide
% for a full list of journal macros
% o \adassvii is a macro that expands to the full title, editor,
% and publishing information for the ADASS VII conference
% proceedings. Such macros are defined for ADASS conferences I
% through XVI.
% o When referencing a paper in the current volume, use the
% \adassxvii and \paperref macros. The argument to \paperref is
% the paper ID code for the paper you are referencing. See the
% note in the "Paper ID Code" section above for details on how to
% determine the paper ID code for the paper you reference.
%
\begin{references}
\reference Buschmann, F., et al.\ 1996, Pattern-Oriented Software
Architecture, Volume 1 (John Wiley \& Sons Ltd.)
\reference Hamaker, J.~P., Bregman, J.~D., \& Sault, R.~J.\ 1996,
\aap, 117, 137
\reference Lalanda, P.\ 1998, in Proceedings of PLoP'98
(Pattern Languages of Programs'98),\\
\htmladdURL{http://jerry.cs.uiuc.edu/~plop/plop98/final_submissions/P24.pdf}
\reference Nijboer, R.~J., Noordam, J.~E.\ 2006, \adassxvi, 237
\end{references}
% Do not place any material after the references section
\end{document} % Leave intact
%!PS-Adobe-3.0
%%Pages: (atend)
%%BoundingBox: 88 252 651 506
%%HiResBoundingBox: 88.149609 252.950000 650.849609 505.050000
%...................................
%%Creator: ESP Ghostscript 815 (pswrite)
%%CreationDate: 2007/03/20 17:50:13
%%DocumentData: Clean7Bit
%%LanguageLevel: 2
%%EndComments
%%BeginProlog
% This copyright applies to everything between here and the %%EndProlog:
% Copyright (C) 2004 artofcode LLC, Benicia, CA. All rights reserved.
%%BeginResource: procset GS_pswrite_2_0_1001
/GS_pswrite_2_0_1001 80 dict dup begin
/PageSize 2 array def/setpagesize{ PageSize aload pop 3 index eq exch
4 index eq and{ pop pop pop}{ PageSize dup 1
5 -1 roll put 0 4 -1 roll put dup null eq {false} {dup where} ifelse{ exch get exec}
{ pop/setpagedevice where
{ pop 1 dict dup /PageSize PageSize put setpagedevice}
{ /setpage where{ pop PageSize aload pop pageparams 3 {exch pop} repeat
setpage}if}ifelse}ifelse}ifelse} bind def
/!{bind def}bind def/#{load def}!/N/counttomark #
/rG{3{3 -1 roll 255 div}repeat setrgbcolor}!/G{255 div setgray}!/K{0 G}!
/r6{dup 3 -1 roll rG}!/r5{dup 3 1 roll rG}!/r3{dup rG}!
/w/setlinewidth #/J/setlinecap #
/j/setlinejoin #/M/setmiterlimit #/d/setdash #/i/setflat #
/m/moveto #/l/lineto #/c/rcurveto #
/p{N 2 idiv{N -2 roll rlineto}repeat}!
/P{N 0 gt{N -2 roll moveto p}if}!
/h{p closepath}!/H{P closepath}!
/lx{0 rlineto}!/ly{0 exch rlineto}!/v{0 0 6 2 roll c}!/y{2 copy c}!
/re{4 -2 roll m exch dup lx exch ly neg lx h}!
/^{3 index neg 3 index neg}!
/f{P fill}!/f*{P eofill}!/s{H stroke}!/S{P stroke}!
/q/gsave #/Q/grestore #/rf{re fill}!
/Y{P clip newpath}!/Y*{P eoclip newpath}!/rY{re Y}!
/|={pop exch 4 1 roll 1 array astore cvx 3 array astore cvx exch 1 index def exec}!
/|{exch string readstring |=}!
/+{dup type/nametype eq{2 index 7 add -3 bitshift 2 index mul}if}!
/@/currentfile #/${+ @ |}!
/B{{2 copy string{readstring pop}aload pop 4 array astore cvx
3 1 roll}repeat pop pop true}!
/Ix{[1 0 0 1 11 -2 roll exch neg exch neg]exch}!
/,{true exch Ix imagemask}!/If{false exch Ix imagemask}!/I{exch Ix image}!
/Ic{exch Ix false 3 colorimage}!
/F{/Columns counttomark 3 add -2 roll/Rows exch/K -1/BlackIs1 true>>
/CCITTFaxDecode filter}!/FX{<</EndOfBlock false F}!
/X{/ASCII85Decode filter}!/@X{@ X}!/&2{2 index 2 index}!
/@F{@ &2<<F}!/@C{@X &2 FX}!
/$X{+ @X |}!/&4{4 index 4 index}!/$F{+ @ &4<<F |}!/$C{+ @X &4 FX |}!
/IC{3 1 roll 10 dict begin 1{/ImageType/Interpolate/Decode/DataSource
/ImageMatrix/BitsPerComponent/Height/Width}{exch def}forall
currentdict end image}!
/~{@ read {pop} if}!
end readonly def
%%EndResource
/pagesave null def
%%EndProlog
%%Page: 1 1
%%BeginPageSetup
GS_pswrite_2_0_1001 begin
842 595 null setpagesize
/pagesave save store 197 dict begin
0.1 0.1 scale
%%EndPageSetup
gsave mark
Q q
0 0 8420 0 0 5950 ^ Y
K
1677 3234 122 41 1 -205 -123 164 f*
1436 4150 314 -933 S
1636 4106 -66 -111 -134 155 200 -44 f*
3240 3070 -1670 1000 S
1388 3464 57 72 /1E
$C
4qI\ns8W-!s"af9KBPK1I6:j1pUl--i.H8?o_Q6cIt,65s8W-!rkJ;6nCMA_Ku&@Cp%>Ft*-K/)
Ku&HS@%[~>
,
1449 3483 57 53 /4E
$C
+Ti?2'LE9@FQb\ZT'K.-B]k$Z5mHuXDNk)r>Md-ps8W,r?[CH*g07jbL(^d2,DrmDeZ2`EKa]A<
8q9G~>
,
1510 3483 51 53 /1I
$C
2$Sn&B#+]T*BSW)rK-lgMI1rGK&_<R5q,>3,Tp[7-nHYN6<'m5$A-)k%&&bc%-6?N[BHm>faq1%
cmCCEp@!676'*ff>VQ~>
,
1566 3483 34 68 /4I
$C
,6Paa$EBGrY-JGu6VCeds8W-!s8W-!aPbPIs8W#@+92B@s8VQ~>
,
2195 3203 37 73 /1M
$C
1^*jYs8W-!s8W-!s8W-!r0i7Fs8W,j5YqF;qtiMBJ(q`Om=tm3/-~>
,
2229 3202 52 53 /4M
$C
.KOf+"lTQ:*$FLGW`@,R5(YWuKFLfiT_+"H<S,;I)ZTiY3Ie_\lYl$+[[,L^$!?S0eYm640VO1D
!l+~>
,
2283 3202 4I ,
2317 3202 52 53 /1Q
$C
.KP>JE'W@e#Wc_#Q#[cRTT)9H"&sp:4X&G-FoVLArpRV6HR_*c4>9tDAdOLRmsAKD$5cTIV-#h~>
,
2372 3203 54 73 /4Q
$C
4q9s^J,fQKs8W-!s8W-!s8W-!rNG)fD.0L_=Kep0K9!QK2;7#CaoZS_s8W-!s8Vi~>
,
3434 3464 1E ,
3495 3483 4E ,
3557 3483 1I ,
3612 3483 4I ,
2627 3206 1M ,
2661 3205 4M ,
2716 3205 4I ,
2750 3205 1Q ,
2805 3206 4Q ,
252 242 227 rG
1032 4150 750 900 re
f*
1 j
K
1407 4150 -375 0 0 900 750 0 ^ -375 0 H
S
1061 4568 71 71 /1U
$C
,@R0;#&Fi16lULri<,b'<D`i?6lX`D&:h=t4_QIT]%=*mli0M.%,_)gs8W*KTteA@^\<02q^!`G
gBm3^_[E\D_4#n4+dJ).HZt2ZKa]A;Tn7n#,!a'~>
,
1139 4569 21 73 /4U
$C
4qI\ns8W-!s8W-!s8W-!s8W,u~>
,
1167 4568 4E ,
1228 4568 57 74 /1Y
$C
+@).Ki.L5W&:HZIp\2=QIc,j'61k#e5C\0ts8W-!s8Ke0>O^6Y@>2OL=S;?hA/oa0?%p+K_1L_I
s8W-!s8VQ~>
,
1289 4568 51 53 /4Y
$C
+bt^ZbV0TN:S?<^6a-,L+4*3(l215D^\7]dpA5*U17r'h4?P_gQOLt<%.YeWs78XE&&VQo8E.<9
W_h1`L(r2X,T%d~>
,
1344 4569 4U ,
1399 4568 69 71 /2E
$C
,@R0;#$_`L,D7$Zi<MZqC6`I`O3n1)WX'Yt#LI4;&"rQM<S"4Sl$rC+s8Tk4^\<0RHaZA/_KNfN
"iCZ!1Jf`819K3tDYBcX@7(2&$5b3)"lK~>
,
1471 4568 4E ,
1533 4569 54 52 /5E
$C
4q9s^J,fQKs8W-!s8W-!s8W-!rNG)fD.0L_=Kep0K9!QK2;7#C&qH&~>
,
1594 4568 4I ,
1627 4569 39 52 /2I
$C
4qI\ns8W-!s8W-!qtp9IpUu.d*rj;@s7Z3cpY8&g~>
,
1666 4568 4E ,
1727 4569 4U ,
252 242 227 rG
881.996 4330 300 180 re
f*
K
1032 4330 -150 0 0 180 300 0 ^ -150 0 H
S
252 242 227 rG
881.996 4690 300 180 re
f*
K
1032 4690 -150 0 0 180 300 0 ^ -150 0 H
S
252 242 227 rG
3477 3970 750 900 re
f*
K
3852 3970 -375 0 0 900 750 0 ^ -375 0 H
S
252 242 227 rG
3392 4065 750 900 re
f*
K
3767 4065 -375 0 0 900 750 0 ^ -375 0 H
S
252 242 227 rG
3299 4150 750 900 re
f*
K
3674 4150 -375 0 0 900 750 0 ^ -375 0 H
S
252 242 227 rG
3149 4330 300 180 re
f*
K
3299 4330 -150 0 0 180 300 0 ^ -150 0 H
S
3347 4569 58 69 /5I
$C
4plf>s2[1/s8W-!s8W-!s8W-!s8W-!s8W-!p]~>
,
3408 4568 4E ,
3470 4568 1Q ,
3525 4568 4Y ,
3580 4569 4U ,
3636 4568 2E ,
3708 4568 4E ,
3769 4569 5E ,
3830 4568 4I ,
3863 4569 2I ,
3902 4568 4E ,
3963 4569 4U ,
252 242 227 rG
3149 4690 300 180 re
f*
K
3299 4690 -150 0 0 180 300 0 ^ -150 0 H
S
252 242 227 rG
1440 2985 1 4 1 4 3 4 3 4 4 4 6 4 13 7
16 8 19 7 47 13 54 11 61 8 65 5 67 2 67 -2
65 -5 61 -8 55 -11 46 -13 19 -7 16 -8 13 -7 6 -4
4 -4 4 -4 2 -4 2 -4 0 -378 -2 -4 -2 -4 -4 -4
-4 -4 -6 -3 -13 -8 -16 -7 -19 -7 -46 -13 -55 -11 -61 -9
-65 -5 -67 -2 -67 2 -65 5 -61 9 -54 11 -47 13 -19 7
-16 7 -13 8 -6 3 -4 4 -3 4 -3 4 -1 4 -1 4
0 370 f*
K
1440 2985 m
0 43 180 85 360 85 c
180 0 360 -42 360 -85 c
0 0 0 -370 v
0 -42 -180 -85 -360 -85 c
-180 0 -360 43 -360 85 c
0 0 0 370 v
h
S
252 242 227 rG
1440 2985 1 -4 1 -4 3 -4 3 -4 4 -4 6 -3 13 -8
16 -7 19 -7 47 -13 54 -11 61 -8 65 -6 67 -2 67 2
65 6 61 8 55 11 46 13 19 7 16 7 13 8 6 3
4 4 4 4 2 4 2 4 0 4 -720 0 f*
K
1440 2985 m
0 -42 180 -85 360 -85 c
180 0 360 43 360 85 c
S
252 242 227 rG
1485 2573 638.996 295 re
f*
K
1560 2741 2E ,
1632 2741 4E ,
1693 2742 82 52 /2M
$C
4q;?2.D\7Ks8W-!s8W-!s8W-!s8W-!s8W-!s8Vt#^=2Q=qa%?]Y[I_K`.(np*/7\sf4k+VG+.B_
f*ie=Lg^Ah~>
,
1782 2742 2M ,
1871 2741 4Y ,
1926 2742 5E ,
1987 2741 54 74 /5M
$C
,68qlHk7FiK@A;reTHu"e.=_bks"b3lhu>5s8W-!J%pH7Xf[:oA2ZT3GBQ>-HWs\^$nN5HJ,fQK
s6p~>
,
1649 2614 73 87 /2Q
$C
,bXWp)k)@YKrliU[&AV$j9Vjk8sG;>M+@g/#6Z%P#Wcpq#>Vf5*9`-:*<H\u&#SSMVki1@^75'J
s8>*1IpW0Ts8T:[rq3]!mA9c`lYEl0XgGOF(eV[PA.2e`>.&+^L93fM(f4V9BGZ1~>
,
1727 2630 54 52 /5Q
$C
.Ds",HlO:$n:U0s?$QK,Jd83Ho_\+Ms8W-!s8W-!s8W-!s8W-!J,~>
,
1789 2630 4M ,
1844 2630 5Q ,
1905 2630 4M ,
252 242 227 rG
2880 2985 1 4 1 4 3 4 3 4 4 4 6 4 13 7
16 8 19 7 47 13 54 11 61 8 65 5 67 2 67 -2
65 -5 61 -8 55 -11 46 -13 19 -7 16 -8 13 -7 6 -4
4 -4 4 -4 2 -4 2 -4 0 -378 -2 -4 -2 -4 -4 -4
-4 -4 -6 -3 -13 -8 -16 -7 -19 -7 -46 -13 -55 -11 -61 -9
-65 -5 -67 -2 -67 2 -65 5 -61 9 -54 11 -47 13 -19 7
-16 7 -13 8 -6 3 -4 4 -3 4 -3 4 -1 4 -1 4
0 370 f*
K
2880 2985 m
0 43 180 85 360 85 c
180 0 360 -42 360 -85 c
0 0 0 -370 v
0 -42 -180 -85 -360 -85 c
-180 0 -360 43 -360 85 c
0 0 0 370 v
h
S
252 242 227 rG
2880 2985 1 -4 1 -4 3 -4 3 -4 4 -4 6 -3 13 -8
16 -7 19 -7 47 -13 54 -11 61 -8 65 -6 67 -2 67 2
65 6 61 8 55 11 46 13 19 7 16 7 13 8 6 3
4 4 4 4 2 4 2 4 0 4 -720 0 f*
K
2880 2985 m
0 -42 180 -85 360 -85 c
180 0 360 43 360 85 c
S
2997 2751 62 69 /2U
$C
4qI\ns8W-!s8W+\CBl#d<$!)%*r!AHj;_fbHp;P!huE`Vp&0$]i4,tmCKf:)((2:a0E~>
,
3063 2750 4Y ,
3118 2751 2I ,
3156 2750 4Y ,
3212 2751 2M ,
3300 2750 4M ,
3356 2750 4I ,
3389 2750 4M ,
3444 2751 2I ,
3013 2639 63 71 /5U
$C
+Tjj)%*?jQi.H\&'8.AhgYIrE5!Xei+R8Y,]F]H;fIUD.FUAhI!f7U"\H<&8-5pn525%0G&tkpJ
$A+qL(.1d,+OmP]/.OtUU'6/"[JqGo@<bRVCbT*J:<4iU*P:(6@7(C=K*;YtWraC~>
,
3079 2639 4E ,
3140 2640 4U ,
3167 2639 5Q ,
3229 2639 4I ,
3262 2640 21 73 /2Y
$C
4qI\ns8W-!s8W-!s8V/iDtu[cFQr1BhQL\2J,~>
,
3290 2639 4E ,
3351 2640 5E ,
3412 2639 1I ,
3240 3275 123 -41 -123 -164 0 205 f*
0 j
3599 4150 -310 -933 S
3466 3994 -67 111 200 45 -133 -156 f*
1800 3070 1666 1000 S
252 242 227 rG
5758 3970 750 900 re
f*
1 j
K
6133 3970 -375 0 0 900 750 0 ^ -375 0 H
S
252 242 227 rG
5673 4055 750 900 re
f*
K
6048 4055 -375 0 0 900 750 0 ^ -375 0 H
S
252 242 227 rG
5578 4150 750 900 re
f*
K
5953 4150 -375 0 0 900 750 0 ^ -375 0 H
S
5702 4573 66 69 /5Y
$C
4rX5#9k!#>iU;-Na<3F`0[IZ2mI0rPs8Kd9QOCZ4X_V$@/RdW,Gm"EJIN.\Ks8.<G?iQtSL#fa&
`I2N*eeT#/+fno~>
,
5774 4573 5Y ,
5846 4572 5U ,
5939 4573 71 69 /3C
$C
4q9u3NA"Qi]e5YSQV4MTV<au+ldGISl#l64]ko?t[G"hXFgSD\>1U+P%Qa"NqgH2rmIpF*^)QJ5
qgH39Dm9+e^>Ej`qgH39Dn"JO~>
,
6011 4572 4M ,
6067 4573 2I ,
6105 4573 5E ,
6166 4572 4M ,
6222 4573 4U ,
252 242 227 rG
5428 4330 300 180 re
f*
K
5578 4330 -150 0 0 180 300 0 ^ -150 0 H
S
252 242 227 rG
5428 4690 300 180 re
f*
K
5578 4690 -150 0 0 180 300 0 ^ -150 0 H
S
5420 4802 3 -1 3 -2 2 -2 0 -7 -2 -3 -3 -2 -3 0
-152 -34 -3 0 -4 2 -2 2 -1 3 1 3 1 4 3 2
3 1 115 25 -116 26 -2 1 -2 2 -2 2 -1 3 1 3
1 3 3 2 3 1 2 0 152 -34 f*
0 j
4140 4793 144 0 S
4428 4793 144 0 S
4716 4793 144 0 S
5004 4793 144 0 S
5292 4793 0 0 S
4541 4828 1Q ,
4596 4828 4E ,
4657 4829 2M ,
4746 4829 2M ,
4834 4828 4Y ,
4890 4829 5E ,
4951 4828 5M ,
5012 4828 1I ,
4149 4399 -3 1 -3 2 -2 3 -1 3 1 3 2 3 3 2
3 1 154 34 -1 0 4 0 4 -1 2 -3 1 -3 0 -3
-2 -4 -3 -2 -3 -1 -117 -26 118 -26 3 -1 2 -2 1 -3
1 -2 0 -3 -2 -3 -3 -2 -3 -1 -3 0 -153 34 f*
4278 4408 144 0 S
4566 4408 144 0 S
4854 4408 144 0 S
5142 4408 144 0 S
4654 4444 2I ,
4692 4443 4M ,
4748 4443 1I ,
4803 4443 5Q ,
4864 4444 4U ,
4891 4443 4I ,
4925 4443 1I ,
cleartomark end end pagesave restore showpage
%%PageTrailer
%%Trailer
%%Pages: 1
%%EOF
Source diff could not be displayed: it is too large. Options to address this: view the blob.
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment