# HG changeset patch # User Miles Bader # Date 1150577857 0 # Node ID 138027c8c982427864702d0e65d3b7b9562d3820 # Parent bdc1386b2827f5eb5287e537a084b59faa937082# Parent cb6e677b13d40f20ad8f5fbc84e70742e73aee0e Merge from emacs--devo--0 Patches applied: * emacs--devo--0 (patch 300-313) - Update from CVS - Update from CVS: lispref/display.texi (Forcing Redisplay): Fix typo. - Merge from gnus--rel--5.10 * gnus--rel--5.10 (patch 105-106) - Update from CVS Revision: emacs@sv.gnu.org/emacs--unicode--0--patch-74 diff -r bdc1386b2827 -r 138027c8c982 admin/ChangeLog --- a/admin/ChangeLog Fri Jun 16 13:22:32 2006 +0000 +++ b/admin/ChangeLog Sat Jun 17 20:57:37 2006 +0000 @@ -1,3 +1,7 @@ +2006-06-08 Reiner Steib + + * FOR-RELEASE: Update refcard section. + 2006-06-07 Reiner Steib * FOR-RELEASE: Update refcard section. diff -r bdc1386b2827 -r 138027c8c982 admin/FOR-RELEASE --- a/admin/FOR-RELEASE Fri Jun 16 13:22:32 2006 +0000 +++ b/admin/FOR-RELEASE Sat Jun 17 20:57:37 2006 +0000 @@ -26,21 +26,24 @@ LANG Translator Status cs Pavel Janík No response de Sven Joachim Done -fr Eric Jacoboni No response -pl WÅ‚odek Bzyl No response +fr Eric Jacoboni Done (layout might be improved) +pl WÅ‚odek Bzyl Done pt-br Rodrigo Real Done ru Alex Ott Working sk Miroslav VaÅ¡ko No response -If there's no update for a translation on 2006-06-07, notify RMS. +Reminders sent out on 2006-06-08. ** Send an email to the various distributions, including the GNOME and KDE projects, to use the new Emacs icons in etc/images/icons. * BUGS -** We need a way a Lisp file encoded in iso-2022 can assure -reliable decoding regardless of user options. +** text_property_stickiness can be called with a POS value that is before BEGV. + +text_property_stickiness is called from get_pos_property, +which is called from find_field, which is called from +various user-level functions in editfns.c. ** JD Smith's 17 Apr 2006 bug report that CVS operations get mysterious unreproducible failures. @@ -149,7 +152,7 @@ etc/TUTORIAL rms etc/TUTORIAL.bg Ognyan Kulev etc/TUTORIAL.cn -etc/TUTORIAL.cs Pavel Janík +etc/TUTORIAL.cs Pavel Janík etc/TUTORIAL.de Werner LEMBERG etc/TUTORIAL.es Marcelo Toledo etc/TUTORIAL.fr ttn @@ -161,7 +164,7 @@ etc/TUTORIAL.pt_BR Marcelo Toledo etc/TUTORIAL.ro etc/TUTORIAL.ru Alex Ott -etc/TUTORIAL.sk Pavel Janík +etc/TUTORIAL.sk Pavel Janík etc/TUTORIAL.sl Primoz PETERLIN etc/TUTORIAL.sv Mats Lidell etc/TUTORIAL.th Virach Sornlertlamvanich diff -r bdc1386b2827 -r 138027c8c982 etc/ChangeLog --- a/etc/ChangeLog Fri Jun 16 13:22:32 2006 +0000 +++ b/etc/ChangeLog Sat Jun 17 20:57:37 2006 +0000 @@ -1,3 +1,23 @@ +2006-06-14 Thien-Thi Nguyen + + * yow.lines: Delete existing data; add a new entry. + +2006-06-09 W$,1 b(Bodek Bzyl + + * pl-refcard.ps: Regenerate. + +2006-06-08 W$,1 b(Bodek Bzyl + + * pl-refcard.tex: Update for Emacs 22. + +2006-06-08 Reiner Steib + + * fr-refcard.tex: Fix errors in previous commit. + +2006-06-08 ,AI(Bric Jacoboni + + * fr-refcard.tex: Update for Emacs 22. + 2006-06-07 Kenichi Handa * NEWS: Mention how to disable character translation for a file. diff -r bdc1386b2827 -r 138027c8c982 etc/NEWS --- a/etc/NEWS Fri Jun 16 13:22:32 2006 +0000 +++ b/etc/NEWS Sat Jun 17 20:57:37 2006 +0000 @@ -115,6 +115,10 @@ ** The `emacsserver' program has been removed, replaced with Lisp code. --- +** The `yow' program has been removed. +Use the corresponding Emacs feature instead. + +--- ** By default, Emacs now uses a setgid helper program to update game scores. The directory ${localstatedir}/games/emacs is the normal place for game scores to be stored. You can control this with the @@ -168,7 +172,7 @@ setting the variable `image-library-alist'. --- -** Support for Cygwin was added. +** Support for a Cygwin build of Emacs was added. --- ** Support for FreeBSD/Alpha has been added. @@ -689,6 +693,7 @@ *** The variable `enable-local-variables' controls how local variable lists are handled. t, the default, specifies the standard querying behavior. :safe means use only safe values, and ignore the rest. +:all means set all variables, whether or not they are safe. nil means ignore them all. Anything else means always query. +++ @@ -845,6 +850,14 @@ ** Redisplay changes: +++ +*** Preemptive redisplay now adapts to current load and bandwidth. + +To avoid preempting redisplay on fast computers, networks, and displays, +the arrival of new input is now performed at regular intervals during +redisplay. The new variable `redisplay-preemption-period' specifies +the period; the default is to check for input every 0.1 seconds. + ++++ *** The mode line position information now comes before the major mode. When the file is maintained under version control, that information appears between the position information and the major mode. @@ -3972,6 +3985,13 @@ been declared obsolete. +++ +*** New syntax: \uXXXX and \UXXXXXXXX specify Unicode code points in hex. +Use "\u0428" to specify a string consisting of CYRILLIC CAPITAL LETTER SHA, +or "\U0001D6E2" to specify one consisting of MATHEMATICAL ITALIC CAPITAL +ALPHA (the latter is greater than #xFFFF and thus needs the longer +syntax). Also available for characters. + ++++ ** Displaying warnings to the user. See the functions `warn' and `display-warning', or the Lisp Manual. @@ -4938,6 +4958,10 @@ *** `sit-for' can now be called with args (SECONDS &optional NODISP). +++ +*** `sit-for' called with a negative SECONDS value now forces an +immediate redisplay even if input is pending. + ++++ *** New function `force-window-update' can initiate a full redisplay of one or all windows. Normally, this is not needed as changes in window contents are detected automatically. However, certain implicit diff -r bdc1386b2827 -r 138027c8c982 etc/fr-refcard.tex --- a/etc/fr-refcard.tex Fri Jun 16 13:22:32 2006 +0000 +++ b/etc/fr-refcard.tex Sat Jun 17 20:57:37 2006 +0000 @@ -1,13 +1,19 @@ - -% Reference Card for GNU Emacs version 21 on Unix systems +% Reference Card for GNU Emacs version 22 on Unix systems %**start of header \newcount\columnsperpage +\newcount\letterpaper % This file can be printed with 1, 2, or 3 columns per page (see below). -% Specify how many you want here. Nothing else needs to be changed. +% Specify how many you want here. + +\columnsperpage=3 -\columnsperpage=1 +% Set letterpaper to 0 for A4 paper, 1 for letter (US) paper. Useful +% only when columnsperpage is 2 or 3. +\letterpaper=1 + +% Nothing else needs to be changed below this line. % Copyright (C) 1987, 1993, 1996, 1997, 2002, 2003, 2004, % 2005, 2006 Free Software Foundation, Inc. @@ -44,6 +50,11 @@ % For this you need a dvi device driver that can print sideways. % Which mode to use is controlled by setting \columnsperpage above. % +% To compile and print this document: +% tex fr-refcard.tex +% dvips -t landscape fr-refcard.dvi +% + % Author: % Stephen Gildea % Internet: gildea@stop.mail-abuse.org @@ -53,7 +64,7 @@ % If there were room, it would be nice to see a section on Dired. -\def\versionnumber{2.2} +\def\versionnumber{2.3} \def\year{2006} \def\shortcopyrightnotice{\vskip 1ex plus 2 fill @@ -63,7 +74,7 @@ \def\copyrightnotice{ \vskip 1ex plus 2 fill\begingroup\small \centerline{Copyright \copyright\ \year\ Free Software Foundation, Inc.} -\centerline{v\versionnumber{} pour GNU Emacs version 21, Juin \year} +\centerline{v\versionnumber{} pour GNU Emacs version 22, \year} \centerline{conception de Stephen Gildea} \centerline{traduction fran\c{c}aise d'\'Eric Jacoboni} @@ -72,7 +83,7 @@ toutes les copies. Pour les copies du manuel GNU Emacs, \'ecrivez \`a la Free Software -Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA +Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. \endgroup} @@ -107,6 +118,11 @@ \else %2 or 3 columns uses prereduced size \hsize 3.2in \vsize 7.95in + \if 1\the\letterpaper + \vsize 7.95in + \else + \vsize 7.65in + \fi \hoffset -.75in \voffset -.745in \font\titlefont=cmbx10 \scaledmag2 @@ -127,6 +143,11 @@ \def\it{\eightit} \def\tt{\eighttt} \normalbaselineskip=.8\normalbaselineskip + \if 1\the\letterpaper + \normalbaselineskip=.8\normalbaselineskip + \else + \normalbaselineskip=.7\normalbaselineskip + \fi \normallineskip=.8\normallineskip \normallineskiplimit=.8\normallineskiplimit \normalbaselines\rm %make definitions take effect @@ -257,11 +278,11 @@ \title{Carte de r\'ef\'erence de GNU Emacs} -\centerline{(pour la version 21)} +\centerline{(pour la version 22)} \section{Lancement d'Emacs} -Pour lancer GNU Emacs 21, il suffit de taper son nom : \kbd{emacs} +Pour lancer GNU Emacs 22, il suffit de taper son nom : \kbd{emacs} Pour charger un fichier \`a \'editer, voir Fichiers, ci-dessous. @@ -278,7 +299,7 @@ \key{{\bf ins\'erer} le contenu d'un autre fichier dans ce tampon}{C-x i} \key{remplacer ce fichier par le fichier voulu}{C-x C-v} \key{\'ecrire le tampon dans un fichier donn\'e}{C-x C-w} -\key{contr\^ole de version}{C-x C-q} +\key{bascule du mode lecture-seule du tampon}{C-x C-q} \section{Obtenir de l'aide} @@ -290,15 +311,15 @@ \key{faire d\'efiler la fen\^etre d'aide}{C-M-v} \key{apropos : montrer les commandes contenant une certaine cha\^\i{}ne}{C-h a} -\key{montrer la fonction lanc\'ee par une touche}{C-h c} +\key{d\'ecrire la fonction lanc\'ee par une touche}{C-h k} \key{d\'ecrire une fonction}{C-h f} \key{obtenir des informations sp\'ecifiques au mode}{C-h m} \section{R\'ecup\'eration des erreurs} \key{{\bf avorter} une commande partiellement tap\'ee ou ex\'ecut\'ee}{C-g} -\metax{{\bf r\'ecup\'erer} un fichier perdu par un crash du syst\`eme}{M-x recover-file} -\key{{\bf annuler} une modification non souhait\'ee}{C-x u {\rm ou} C-_} +\metax{{\bf r\'ecup\'erer} les fichier perdus par un crash du syst\`eme}{M-x recover-session} +\metax{{\bf annuler} une modification non souhait\'ee}{C-x u, C-_ {\rm ou} C-/} \metax{restaurer un tampon avec son contenu initial}{M-x revert-buffer} \key{r\'eafficher un \'ecran perturb\'e}{C-l} @@ -377,6 +398,8 @@ \section{Remplacement interactif} \key{remplacer interactivement une cha\^\i{}ne de texte}{M-\%} +% query-replace-regexp est liee a C-M-% mais on ne peut pas le +% taper dans une console. \metax{en utilisant les expressions rationnelles}{M-x query-replace-regexp} Les r\'eponses admises dans le mode de remplacement interactif sont : @@ -391,12 +414,12 @@ \section{Fen\^etres multiples} -Lorsqu'il y a deux commandes, la seconde est pour l'"autre cadre". - -\key{supprimer toutes les autres fen\^etres}{C-x 1} +Lorsqu'il y a deux commandes, la seconde est une commande identique \`a +la premi\`ere pour un cadre au lieu d'une fen\^etre. {\setbox0=\hbox{\kbd{0}}\advance\hsize by 0\wd0 \paralign to \hsize{#\tabskip=10pt plus 1 fil&#\tabskip=0pt&#\cr +\threecol{supprimer toutes les autres fen\^etres}{C-x 1\ \ \ \ }{C-x 5 1} \threecol{diviser la fen\^etre horizontalement}{C-x 2\ \ \ \ }{C-x 5 2} \threecol{supprimer cette fen\^etre}{C-x 0\ \ \ \ }{C-x 5 0} }} @@ -438,7 +461,7 @@ \key{placer la marge droite}{C-x f} \key{d\'efinir le pr\'efixe par lequel commencera chaque ligne}{C-x .} -\key{d\'efinir la fonte}{M-g} +\key{d\'efinir la fonte}{M-o} \section{Modifier la casse} @@ -554,7 +577,7 @@ \section{Jeux de caract\`eres internationaux} -\metax{indiquer la langue principale}{M-x set-language-environment} +\key{indiquer la langue principale}{C-x RET l} \metax{montrer toutes les m\'ethodes de saisie}{M-x list-input-methods} \key{activer ou d\'esactiver la m\'ethode de saisie}{C-\\} \key{choisir le syst\`eme de codage pour la commande suivante}{C-x RET c} @@ -564,7 +587,7 @@ \section{Info} \key{entrer dans le visualisateur de la documentation Info}{C-h i} -\key{chercher une fonction ou une variable pr\'ecise dans Info}{C-h C-i} +\key{chercher une fonction ou une variable pr\'ecise dans Info}{C-h S} \beginindentedkeys Se d\'eplacer dans un n\oe{}ud : @@ -583,12 +606,13 @@ \key{suivre une r\'ef\'erence crois\'ee (on revient avec \kbd{l})}{f} \key{revenir au dernier n\oe{}ud visit\'e}{l} \key{revenir au n\oe{}ud du r\'epertoire}{d} +\key{aller au n\oe{}ud de plus haut niveau du fichier Info}{t} \key{aller sur n'importe quel n\oe{}ud par son nom}{g} Autres : \key{lancer le {\bf didacticiel} Info}{h} -\key{chercher dans l'index}{i} +\key{chercher un sujet dans l'index}{i} \key{rechercher les n\oe{}uds avec une expression rationnelle}{s} \key{{\bf quitter} Info}{q} diff -r bdc1386b2827 -r 138027c8c982 etc/orgcard.tex --- a/etc/orgcard.tex Fri Jun 16 13:22:32 2006 +0000 +++ b/etc/orgcard.tex Sat Jun 17 20:57:37 2006 +0000 @@ -1,5 +1,5 @@ % Reference Card for Org Mode -\def\orgversionnumber{4.36} +\def\orgversionnumber{4.37} \def\year{2006} % %**start of header @@ -336,83 +336,6 @@ \key{create sparse tree with matching tags}{C-c \\} \key{globally (agenda) match tags at cursor}{C-c C-o} -\section{TODO Items} - -\key{rotate the state of the current item}{C-c C-t} -\key{view TODO items in a sparse tree}{C-c C-v} -\key{view 3rd TODO keyword's sparse tree}{C-3 C-c C-v} - -\key{set the priority of the current item}{C-c , [ABC]} -\key{remove priority cookie from current item}{C-c , SPC} -\key{raise priority of current item}{S-UP$^3$} -\key{lower priority of current item}{S-DOWN$^3$} - -\key{\kbd{\#+SEQ_TODO: TODO TRY BLUFF DONE}}{\rm todo workflow} -\key{\kbd{\#+TYP_TODO: Phil home work DONE}}{\rm todo types} - -\section{Timestamps} - -\key{prompt for date and insert timestamp}{C-c .} -\key{like \kbd{C-c} . but insert date and time format}{C-u C-c .} -\key{Like \kbd{C-c .} but make stamp inactive}{C-c !} % FIXME -\key{insert DEADLINE timestamp}{C-c C-d} -\key{insert SCHEDULED timestamp}{C-c C-s} -\key{create sparse tree with all deadlines due}{C-c C-w} -\key{the time between 2 dates in a time range}{C-c C-y} -\key{change timestamp at cursor by $\pm 1$ day}{S-RIGHT/LEFT$^3$} -\key{change year/month/day at cursor by $\pm 1$}{S-UP/DOWN$^3$} -\key{access the calendar for the current date}{C-c >} -\key{insert timestamp matching date in calendar}{C-c <} -\key{access agenda for current date}{C-c C-o} -\key{Select date while prompted}{mouse-1/RET} -%\key{... select date in calendar}{mouse-1/RET} -%\key{... scroll calendar back/forward one month}{< / >} -%\key{... forward/backward one day}{S-LEFT/RIGHT} -%\key{... forward/backward one week}{S-UP/DOWN} -%\key{... forward/backward one month}{M-S-LEFT/RIGT} - -\section{Links} - -\key{globally store link to the current location}{C-c l$^1$} -\key{insert a link (TAB completes stored links)}{C-c C-l} -\key{insert file link with file name completion}{C-u C-c C-l} -\key{edit (also hidden part of) link at point}{C-c C-l} - -\key{open file links in emacs (\kbd{C-u} : in emacs)}{C-c C-o} -\key{open link at point (3: in emacs)}{mouse-2/3} -%\key{open file links in emacs}{mouse-3} -%\key{record a position in mark ring}{C-c \%} -\key{jump back to last followed link(s)}{C-c \&} - -{\bf Internal Links} - -\key{\kbd{<>}}{\rm target} -\key{\kbd{<<>>}}{\rm radio target$^2$} -\key{\kbd{[[*this text]]}}{\rm find headline} -\metax{\kbd{[[this text]]}}{\rm find target or text in buffer} -\metax{\kbd{[[this text][description]]}}{\rm optional link text} - -{\bf External Links} - -\key{\kbd{file:/home/dominik/img/mars.jpg}}{\rm file, absolute} -\key{\kbd{file:papers/last.pdf}}{\rm file, relative} -\key{\kbd{file:projects.org::*that text}}{\rm find headline} -\key{\kbd{file:projects.org::find me}}{\rm find tgt/string} -%\key{\kbd{file:projects.org::/regexp/}}{\rm regexp search} -\key{\kbd{http://www.astro.uva.nl/~dominik}}{\rm on the web} -\key{\kbd{mailto:adent@galaxy.net}}{\rm EMail address} -\key{\kbd{news:comp.emacs}}{\rm Usenet group} -\key{\kbd{bbdb:Richard Stallman}}{\rm BBDB person} -\key{\kbd{gnus:group}}{\rm GNUS group} -\key{\kbd{gnus:group\#id}}{\rm GNUS message} -\key{\kbd{vm|wl|mhe|rmail:folder}}{\rm Mail folder} -\key{\kbd{vm|wl|mhe|rmail:folder\#id}}{\rm Mail message} -\key{\kbd{info:emacs:Regexps}}{\rm Info file:node} -\key{\kbd{shell:ls *.org}}{\rm shell command} -\key{\kbd{elisp:(calendar)}}{\rm elisp form} -\metax{\kbd{[[external link][description]]}}{\rm optional link text} -%\key{\kbd{vm://myself@some.where.org/folder\#id}}{\rm VM remote} - \section{Tables} %Org-mode has its own built-in intuitive table editor with unique @@ -500,11 +423,98 @@ \key{recognize existing table.el table}{C-c C-c} \key{convert table (Org-mode $\leftrightarrow$ table.el)}{C-c ~} +\section{Links} + +\key{globally store link to the current location}{C-c l$^1$} +\key{insert a link (TAB completes stored links)}{C-c C-l} +\key{insert file link with file name completion}{C-u C-c C-l} +\key{edit (also hidden part of) link at point}{C-c C-l} + +\key{open file links in emacs (\kbd{C-u} : in emacs)}{C-c C-o} +\key{open link at point (3: in emacs)}{mouse-2/3} +%\key{open file links in emacs}{mouse-3} +%\key{record a position in mark ring}{C-c \%} +\key{jump back to last followed link(s)}{C-c \&} + +{\bf Internal Links} + +\key{\kbd{<>}}{\rm target} +\key{\kbd{<<>>}}{\rm radio target$^2$} +\key{\kbd{[[*this text]]}}{\rm find headline} +\metax{\kbd{[[this text]]}}{\rm find target or text in buffer} +\metax{\kbd{[[this text][description]]}}{\rm optional link text} + +{\bf External Links} + +\key{\kbd{file:/home/dominik/img/mars.jpg}}{\rm file, absolute} +\key{\kbd{file:papers/last.pdf}}{\rm file, relative} +\key{\kbd{file:projects.org::*that text}}{\rm find headline} +\key{\kbd{file:projects.org::find me}}{\rm find tgt/string} +%\key{\kbd{file:projects.org::/regexp/}}{\rm regexp search} +\key{\kbd{http://www.astro.uva.nl/~dominik}}{\rm on the web} +\key{\kbd{mailto:adent@galaxy.net}}{\rm EMail address} +\key{\kbd{news:comp.emacs}}{\rm Usenet group} +\key{\kbd{bbdb:Richard Stallman}}{\rm BBDB person} +\key{\kbd{gnus:group}}{\rm GNUS group} +\key{\kbd{gnus:group\#id}}{\rm GNUS message} +\key{\kbd{vm|wl|mhe|rmail:folder}}{\rm Mail folder} +\key{\kbd{vm|wl|mhe|rmail:folder\#id}}{\rm Mail message} +\key{\kbd{info:emacs:Regexps}}{\rm Info file:node} +\key{\kbd{shell:ls *.org}}{\rm shell command} +\key{\kbd{elisp:(calendar)}}{\rm elisp form} +\metax{\kbd{[[external link][description]]}}{\rm optional link text} +%\key{\kbd{vm://myself@some.where.org/folder\#id}}{\rm VM remote} + + +\section{TODO Items} + +\key{rotate the state of the current item}{C-c C-t} +\key{view TODO items in a sparse tree}{C-c C-v} +\key{view 3rd TODO keyword's sparse tree}{C-3 C-c C-v} + +\key{set the priority of the current item}{C-c , [ABC]} +\key{remove priority cookie from current item}{C-c , SPC} +\key{raise priority of current item}{S-UP$^3$} +\key{lower priority of current item}{S-DOWN$^3$} + +\key{\kbd{\#+SEQ_TODO: TODO TRY BLUFF DONE}}{\rm todo workflow} +\key{\kbd{\#+TYP_TODO: Phil home work DONE}}{\rm todo types} + +\section{Timestamps} + +\key{prompt for date and insert timestamp}{C-c .} +\key{like \kbd{C-c} . but insert date and time format}{C-u C-c .} +\key{Like \kbd{C-c .} but make stamp inactive}{C-c !} % FIXME +\key{insert DEADLINE timestamp}{C-c C-d} +\key{insert SCHEDULED timestamp}{C-c C-s} +\key{create sparse tree with all deadlines due}{C-c C-w} +\key{the time between 2 dates in a time range}{C-c C-y} +\key{change timestamp at cursor by $\pm 1$ day}{S-RIGHT/LEFT$^3$} +\key{change year/month/day at cursor by $\pm 1$}{S-UP/DOWN$^3$} +\key{access the calendar for the current date}{C-c >} +\key{insert timestamp matching date in calendar}{C-c <} +\key{access agenda for current date}{C-c C-o} +\key{Select date while prompted}{mouse-1/RET} +%\key{... select date in calendar}{mouse-1/RET} +%\key{... scroll calendar back/forward one month}{< / >} +%\key{... forward/backward one day}{S-LEFT/RIGHT} +%\key{... forward/backward one week}{S-UP/DOWN} +%\key{... forward/backward one month}{M-S-LEFT/RIGT} + + \newcolumn \title{Org-Mode Reference Card (2/2)} \centerline{(for version \orgversionnumber)} +\section{Clocking Time} + +\key{start clock on current item}{C-c C-x C-i} +\key{stop clock on current item}{C-c C-x C-o} +\key{cancel current clock}{C-c C-x C-x} +\key{display total subtree times}{C-c C-x C-d} +\key{remove displayed times}{C-c C-c} + \section{Agenda Views} \key{add/move current file to front of agenda}{C-c [} @@ -563,6 +573,12 @@ \key{change timestamp to today}{>} \key{insert new entry into diary}{i} +\key{Start the clock on current item (clock-in)}{I} +\key{Stop the clock (clock-out)}{O} +\key{Cancel current clock}{X} + +\newcolumn + {\bf Calendar commands} \key{find agenda cursor date in calendar}{c} @@ -577,23 +593,16 @@ \key{quit agenda, remove agenda buffer}{q} \key{exit agenda, remove all agenda buffers}{x} -\section{Exporting} +\section{Exporting and Publishing} Exporting creates files with extensions {\it .txt\/} and {\it .html\/} -in the current directory. +in the current directory. Publishing puts the resulting file into +some other place. -\key{export as ASCII file}{C-c C-x a} -\key{export visible text only (e.g. for printing)}{C-c C-x v} -\key{export as HTML file}{C-c C-x h} -\key{export as HTML and open in browser}{C-c C-x b} -\key{prefix arg sets nb. of headline levels, e.g.}{C-3 C-c C-x h} +\key{export/publish dispatcher}{C-c C-e} -\key{export as iCalendar file}{C-c C-x i} -\key{export all agenda files as iCalendar files}{C-c C-x C-i} -\key{combine all agenda files to single iCal file}{C-c C-x C-c} - +\key{export visible part only}{C-c C-e v} \key{insert template of export options}{C-c C-x t} - \key{toggle fixed width for entry or region}{C-c :} {\bf HTML formatting} @@ -642,13 +651,6 @@ \key{toggle COMMENT keyword on entry}{C-c ;} - -\section{Publishing (requires org-publish.el)} -\key{publishcurrent file}{C-c C-e C-f} -\key{publish current project}{C-c C-e C-p} -\key{publish project (prompted for)}{C-c C-e C-c} -\key{publish all projects}{C-c C-e C-a} - \section{Completion} In-buffer completion completes TODO keywords at headline start, TeX diff -r bdc1386b2827 -r 138027c8c982 etc/pl-refcard.ps --- a/etc/pl-refcard.ps Fri Jun 16 13:22:32 2006 +0000 +++ b/etc/pl-refcard.ps Sat Jun 17 20:57:37 2006 +0000 @@ -1,16 +1,19 @@ %!PS-Adobe-2.0 -%%Creator: dvips(k) 5.86 Copyright 1999 Radical Eye Software -%%Title: refcard-pl.dvi +%%Creator: dvips(k) 5.95a Copyright 2005 Radical Eye Software +%%Title: pl-refcard.dvi %%Pages: 4 %%PageOrder: Ascend -%%BoundingBox: 0 0 596 842 -%%DocumentFonts: PLBX10 PLR8 PLTT8 PLBX8 PLR6 PLSY6 PLTI8 PLMI8 +%%BoundingBox: 0 0 595 842 +%%DocumentFonts: PLRoman10-Bold PLRoman8-Regular PLTypewriter8-Regular +%%+ PLRoman8-Bold PLRoman6-Regular PLMathSymbols6-Italic PLRoman8-Italic +%%+ PLMathItalic8-Italic +%%DocumentPaperSizes: a4 %%EndComments %DVIPSWebPage: (www.radicaleye.com) -%DVIPSCommandLine: dvips refcard-pl -o -%DVIPSParameters: dpi=600, compressed -%DVIPSSource: TeX output 2000.02.16:1350 -%%BeginProcSet: texc.pro +%DVIPSCommandLine: dvips pl-refcard -o +%DVIPSParameters: dpi=600 +%DVIPSSource: TeX output 2006.06.08:2146 +%%BeginProcSet: tex.pro 0 0 %! /TeXDict 300 dict def TeXDict begin/N{def}def/B{bind def}N/S{exch}N/X{S N}B/A{dup}B/TR{translate}N/isls false N/vsize 11 72 mul N/hsize 8.5 72 @@ -29,22 +32,10 @@ definefont setfont}B/Cw{Cd A length 5 sub get}B/Ch{Cd A length 4 sub get }B/Cx{128 Cd A length 3 sub get sub}B/Cy{Cd A length 2 sub get 127 sub} B/Cdx{Cd A length 1 sub get}B/Ci{Cd A type/stringtype ne{ctr get/ctr ctr -1 add N}if}B/id 0 N/rw 0 N/rc 0 N/gp 0 N/cp 0 N/G 0 N/CharBuilder{save 3 -1 roll S A/base get 2 index get S/BitMaps get S get/Cd X pop/ctr 0 N Cdx -0 Cx Cy Ch sub Cx Cw add Cy setcachedevice Cw Ch true[1 0 0 -1 -.1 Cx -sub Cy .1 sub]/id Ci N/rw Cw 7 add 8 idiv string N/rc 0 N/gp 0 N/cp 0 N{ -rc 0 ne{rc 1 sub/rc X rw}{G}ifelse}imagemask restore}B/G{{id gp get/gp -gp 1 add N A 18 mod S 18 idiv pl S get exec}loop}B/adv{cp add/cp X}B -/chg{rw cp id gp 4 index getinterval putinterval A gp add/gp X adv}B/nd{ -/cp 0 N rw exit}B/lsh{rw cp 2 copy get A 0 eq{pop 1}{A 255 eq{pop 254}{ -A A add 255 and S 1 and or}ifelse}ifelse put 1 adv}B/rsh{rw cp 2 copy -get A 0 eq{pop 128}{A 255 eq{pop 127}{A 2 idiv S 128 and or}ifelse} -ifelse put 1 adv}B/clr{rw cp 2 index string putinterval adv}B/set{rw cp -fillstr 0 4 index getinterval putinterval adv}B/fillstr 18 string 0 1 17 -{2 copy 255 put pop}for N/pl[{adv 1 chg}{adv 1 chg nd}{1 add chg}{1 add -chg nd}{adv lsh}{adv lsh nd}{adv rsh}{adv rsh nd}{1 add adv}{/rc X nd}{ -1 add set}{1 add clr}{adv 2 chg}{adv 2 chg nd}{pop nd}]A{bind pop} -forall N/D{/cc X A type/stringtype ne{]}if nn/base get cc ctr put nn +1 add N}if}B/CharBuilder{save 3 1 roll S A/base get 2 index get S +/BitMaps get S get/Cd X pop/ctr 0 N Cdx 0 Cx Cy Ch sub Cx Cw add Cy +setcachedevice Cw Ch true[1 0 0 -1 -.1 Cx sub Cy .1 sub]{Ci}imagemask +restore}B/D{/cc X A type/stringtype ne{]}if nn/base get cc ctr put nn /BitMaps get S ctr S sf 1 ne{A A length 1 sub A 2 index S get sf div put }if put/ctr ctr 1 add N}B/I{cc 1 add D}B/bop{userdict/bop-hook known{ bop-hook}if/SI save N @rigin 0 0 moveto/V matrix currentmatrix A 1 get A @@ -68,375 +59,1388 @@ rmoveto}B/y{3 2 roll p a}B/bos{/SS save N}B/eos{SS restore}B end %%EndProcSet -%%BeginProcSet: texps.pro +%%BeginProcSet: plrm.enc 0 0 +/encplrm[ +/Gamma +/Delta +/Theta +/Lambda +/Xi +/Pi +/Sigma +/Upsilon +/Phi +/Psi +/Omega +/ff +/fi +/fl +/ffi +/ffl +/dotlessi +/dotlessj +/grave +/acute +/caron +/breve +/macron +/ring +/cedilla +/germandbls +/ae +/oe +/oslash +/AE +/OE +/Oslash +/suppress +/exclam +/quotedblright +/numbersign +/dollar +/percent +/ampersand +/quoteright +/parenleft +/parenright +/asterisk +/plus +/comma +/hyphen +/period +/slash +/zero +/one +/two +/three +/four +/five +/six +/seven +/eight +/nine +/colon +/semicolon +/exclamdown +/equal +/questiondown +/question +/at +/A +/B +/C +/D +/E +/F +/G +/H +/I +/J +/K +/L +/M +/N +/O +/P +/Q +/R +/S +/T +/U +/V +/W +/X +/Y +/Z +/bracketleft +/quotedblleft +/bracketright +/circumflex +/dotaccent +/quoteleft +/a +/b +/c +/d +/e +/f +/g +/h +/i +/j +/k +/l +/m +/n +/o +/p +/q +/r +/s +/t +/u +/v +/w +/x +/y +/z +/endash +/emdash +/hungarumlaut +/tilde +/dieresis +/.notdef +/Aogonek +/Cacute +/.notdef +/.notdef +/.notdef +/Eogonek +/.notdef +/.notdef +/.notdef +/Lslash +/Nacute +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/Sacute +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/Zacute +/.notdef +/Zdotaccent +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/aogonek +/cacute +/.notdef +/.notdef +/.notdef +/eogonek +/.notdef +/.notdef +/.notdef +/lslash +/nacute +/.notdef +/.notdef +/guillemotleft +/guillemotright +/.notdef +/sacute +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/zacute +/.notdef +/zdotaccent +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/Oacute +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/oacute +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/quotedblbase +] def + +%%EndProcSet +%%BeginProcSet: pltt.enc 0 0 +/encpltt[ +/Gamma +/Delta +/Theta +/Lambda +/Xi +/Pi +/Sigma +/Upsilon +/Phi +/Psi +/Omega +/arrowup +/arrowdown +/quotesingle +/exclamdown +/questiondown +/dotlessi +/dotlessj +/grave +/acute +/caron +/breve +/macron +/ring +/cedilla +/germandbls +/ae +/oe +/oslash +/AE +/OE +/Oslash +/visiblespace +/exclam +/quotedbl +/numbersign +/dollar +/percent +/ampersand +/quoteright +/parenleft +/parenright +/asterisk +/plus +/comma +/hyphen +/period +/slash +/zero +/one +/two +/three +/four +/five +/six +/seven +/eight +/nine +/colon +/semicolon +/less +/equal +/greater +/question +/at +/A +/B +/C +/D +/E +/F +/G +/H +/I +/J +/K +/L +/M +/N +/O +/P +/Q +/R +/S +/T +/U +/V +/W +/X +/Y +/Z +/bracketleft +/backslash +/bracketright +/asciicircum +/underscore +/quoteleft +/a +/b +/c +/d +/e +/f +/g +/h +/i +/j +/k +/l +/m +/n +/o +/p +/q +/r +/s +/t +/u +/v +/w +/x +/y +/z +/braceleft +/bar +/braceright +/asciitilde +/dieresis +/.notdef +/Aogonek +/Cacute +/.notdef +/.notdef +/.notdef +/Eogonek +/.notdef +/.notdef +/.notdef +/Lslash +/Nacute +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/Sacute +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/Zacute +/.notdef +/Zdotaccent +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/aogonek +/cacute +/.notdef +/.notdef +/.notdef +/eogonek +/.notdef +/.notdef +/.notdef +/lslash +/nacute +/.notdef +/.notdef +/guillemotleft +/guillemotright +/.notdef +/sacute +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/zacute +/.notdef +/zdotaccent +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/Oacute +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/oacute +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/quotedblbase +] def + +%%EndProcSet +%%BeginProcSet: plms.enc 0 0 +/encplms[ +/minus +/periodcentered +/multiply +/asteriskmath +/divide +/diamondmath +/plusminus +/minusplus +/circleplus +/circleminus +/circlemultiply +/circledivide +/circledot +/circlecopyrt +/openbullet +/bullet +/equivasymptotic +/equivalence +/reflexsubset +/reflexsuperset +/lessequal +/greaterequal +/precedesequal +/followsequal +/similar +/approxequal +/propersubset +/propersuperset +/lessmuch +/greatermuch +/precedes +/follows +/arrowleft +/arrowright +/arrowup +/arrowdown +/arrowboth +/arrownortheast +/arrowsoutheast +/similarequal +/arrowdblleft +/arrowdblright +/arrowdblup +/arrowdbldown +/arrowdblboth +/arrownorthwest +/arrowsouthwest +/proportional +/prime +/infinity +/element +/owner +/triangle +/triangleinv +/negationslash +/mapsto +/universal +/existential +/logicalnot +/emptyset +/Rfractur +/Ifractur +/latticetop +/perpendicular +/aleph +/A +/B +/C +/D +/E +/F +/G +/H +/I +/J +/K +/L +/M +/N +/O +/P +/Q +/R +/S +/T +/U +/V +/W +/X +/Y +/Z +/union +/intersection +/unionmulti +/logicaland +/logicalor +/turnstileleft +/turnstileright +/floorleft +/floorright +/ceilingleft +/ceilingright +/braceleft +/braceright +/angbracketleft +/angbracketright +/bar +/bardbl +/arrowbothv +/arrowdblbothv +/backslash +/wreathproduct +/radical +/coproduct +/nabla +/integral +/unionsq +/intersectionsq +/subsetsqequal +/supersetsqequal +/section +/dagger +/daggerdbl +/paragraph +/club +/diamond +/heart +/spade +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/xlessequal +/xgreaterequal +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +] def + +%%EndProcSet +%%BeginProcSet: plit.enc 0 0 +/encplit[ +/Gamma +/Delta +/Theta +/Lambda +/Xi +/Pi +/Sigma +/Upsilon +/Phi +/Psi +/Omega +/ff +/fi +/fl +/ffi +/ffl +/dotlessi +/dotlessj +/grave +/acute +/caron +/breve +/macron +/ring +/cedilla +/germandbls +/ae +/oe +/oslash +/AE +/OE +/Oslash +/suppress +/exclam +/quotedblright +/numbersign +/sterling +/percent +/ampersand +/quoteright +/parenleft +/parenright +/asterisk +/plus +/comma +/hyphen +/period +/slash +/zero +/one +/two +/three +/four +/five +/six +/seven +/eight +/nine +/colon +/semicolon +/exclamdown +/equal +/questiondown +/question +/at +/A +/B +/C +/D +/E +/F +/G +/H +/I +/J +/K +/L +/M +/N +/O +/P +/Q +/R +/S +/T +/U +/V +/W +/X +/Y +/Z +/bracketleft +/quotedblleft +/bracketright +/circumflex +/dotaccent +/quoteleft +/a +/b +/c +/d +/e +/f +/g +/h +/i +/j +/k +/l +/m +/n +/o +/p +/q +/r +/s +/t +/u +/v +/w +/x +/y +/z +/endash +/emdash +/hungarumlaut +/tilde +/dieresis +/.notdef +/Aogonek +/Cacute +/.notdef +/.notdef +/.notdef +/Eogonek +/.notdef +/.notdef +/.notdef +/Lslash +/Nacute +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/Sacute +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/Zacute +/.notdef +/Zdotaccent +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/aogonek +/cacute +/.notdef +/.notdef +/.notdef +/eogonek +/.notdef +/.notdef +/.notdef +/lslash +/nacute +/.notdef +/.notdef +/guillemotleft +/guillemotright +/.notdef +/sacute +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/zacute +/.notdef +/zdotaccent +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/Oacute +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/oacute +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/quotedblbase +] def + +%%EndProcSet +%%BeginProcSet: plmi.enc 0 0 +/encplmi[ +/Gamma +/Delta +/Theta +/Lambda +/Xi +/Pi +/Sigma +/Upsilon +/Phi +/Psi +/Omega +/alpha +/beta +/gamma +/delta +/epsilon1 +/zeta +/eta +/theta +/iota +/kappa +/lambda +/mu +/nu +/xi +/pi +/rho +/sigma +/tau +/upsilon +/phi +/chi +/psi +/omega +/epsilon +/theta1 +/pi1 +/rho1 +/sigma1 +/phi1 +/arrowlefttophalf +/arrowleftbothalf +/arrowrighttophalf +/arrowrightbothalf +/arrowhookleft +/arrowhookright +/triangleright +/triangleleft +/zerooldstyle +/oneoldstyle +/twooldstyle +/threeoldstyle +/fouroldstyle +/fiveoldstyle +/sixoldstyle +/sevenoldstyle +/eightoldstyle +/nineoldstyle +/period +/comma +/less +/slash +/greater +/star +/partialdiff +/A +/B +/C +/D +/E +/F +/G +/H +/I +/J +/K +/L +/M +/N +/O +/P +/Q +/R +/S +/T +/U +/V +/W +/X +/Y +/Z +/flat +/natural +/sharp +/slurbelow +/slurabove +/lscript +/a +/b +/c +/d +/e +/f +/g +/h +/i +/j +/k +/l +/m +/n +/o +/p +/q +/r +/s +/t +/u +/v +/w +/x +/y +/z +/dotlessi +/dotlessj +/weierstrass +/vector +/tie +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +] def + +%%EndProcSet +%%BeginProcSet: texps.pro 0 0 %! TeXDict begin/rf{findfont dup length 1 add dict begin{1 index/FID ne 2 index/UniqueID ne and{def}{pop pop}ifelse}forall[1 index 0 6 -1 roll -exec 0 exch 5 -1 roll VResolution Resolution div mul neg 0 0]/Metrics -exch def dict begin Encoding{exch dup type/integertype ne{pop pop 1 sub -dup 0 le{pop}{[}ifelse}{FontMatrix 0 get div Metrics 0 get div def} -ifelse}forall Metrics/Metrics currentdict end def[2 index currentdict -end definefont 3 -1 roll makefont/setfont cvx]cvx def}def/ObliqueSlant{ -dup sin S cos div neg}B/SlantFont{4 index mul add}def/ExtendFont{3 -1 -roll mul exch}def/ReEncodeFont{CharStrings rcheck{/Encoding false def -dup[exch{dup CharStrings exch known not{pop/.notdef/Encoding true def} -if}forall Encoding{]exch pop}{cleartomark}ifelse}if/Encoding exch def} -def end +exec 0 exch 5 -1 roll VResolution Resolution div mul neg 0 0]FontType 0 +ne{/Metrics exch def dict begin Encoding{exch dup type/integertype ne{ +pop pop 1 sub dup 0 le{pop}{[}ifelse}{FontMatrix 0 get div Metrics 0 get +div def}ifelse}forall Metrics/Metrics currentdict end def}{{1 index type +/nametype eq{exit}if exch pop}loop}ifelse[2 index currentdict end +definefont 3 -1 roll makefont/setfont cvx]cvx def}def/ObliqueSlant{dup +sin S cos div neg}B/SlantFont{4 index mul add}def/ExtendFont{3 -1 roll +mul exch}def/ReEncodeFont{CharStrings rcheck{/Encoding false def dup[ +exch{dup CharStrings exch known not{pop/.notdef/Encoding true def}if} +forall Encoding{]exch pop}{cleartomark}ifelse}if/Encoding exch def}def +end %%EndProcSet -%%BeginFont: PLMI8 -%!PS-AdobeFont-1.0: PLMI8 1.02 -%%CreationDate: Thu Jan 07 19:30:00 1999 -%%VMusage: 1024 32857 +%%BeginFont: PLMathItalic8-Italic +%!PS-AdobeFont-1.0: PLMathItalic8-Italic 1.11 +%%CreationDate: Thu Apr 13 18:00:00 2000 +%%VMusage: 1024 32857 % Copyright (C) 1997 American Mathematical Society. All Rights Reserved. Adaptacja PL JMN 1997 -% ADL: 750 250 0 +% ADL: 556 156 0 %%EndComments -FontDirectory/PLMI8 known{/PLMI8 findfont dup/UniqueXX known{dup -/UniqueXX get 0 eq exch/FontType get 1 eq and}{pop false}ifelse +FontDirectory/PLMathItalic8-Italic known{/PLMathItalic8-Italic findfont dup/UniqueID known{dup +/UniqueID get 0 eq exch/FontType get 1 eq and}{pop false}ifelse {save true}{false}ifelse}{false}ifelse 17 dict begin /FontInfo 13 dict dup begin -/version(1.02)readonly def +/version(1.11)readonly def /Notice(Copyright (C) 1997 American Mathematical Society. All Rights Reserved. Adaptacja PL JMN 1997)readonly def -/FullName(PLMI8)readonly def -/FamilyName(Computer Modern)readonly def +/FullName(PLMathItalic8-Italic)readonly def +/FamilyName(PLMathItalic8)readonly def /Weight(Normal)readonly def /isFixedPitch false def -/ItalicAngle 0 def -/UnderlinePosition -133 def -/UnderlineThickness 20 def +/ItalicAngle -14.0362 def +/UnderlinePosition -117 def +/UnderlineThickness 36 def end readonly def -/FontName /PLMI8 def +/FontName /PLMathItalic8-Italic def /Encoding 256 array 0 1 255 {1 index exch /.notdef put} for -dup 58 /period put -readonly def -/PaintType 0 def -/FontType 1 def -/StrokeWidth 0 def -/FontMatrix[0.001 0 0 0.001 0 0]readonly def -%/UniqueXX 0 def -/FontBBox{-24 -250 1110 750}readonly def -currentdict end -currentfile eexec -d9d66f633b846a97b686a97e45a3d0aa0525392eecac163e584a9104d99ad0bc -1b1844a0e222653fa481b8809b26a46f4c483a5d7e95816ea6582584156cfede -b994adcff4645140e3617e4d7e1b0e4541cb9f562e55829b4dd880aabe2229e9 -4a9fa259a734d29bba91ba1e2055cbea4339bcbff98d32ceff11f296225caaba -dca10577a5d431b714726c1278d8101abd1bd8d0bd0174fff9148f8c61c241d9 -2ad360a28616cb4a0670c1bf13e7a26e167f6ffbfa02d201035c41858d1c9bc3 -c5482bbd107ab18a030ff0012b4f80f35e3b5f2dacda8da3af61ca4b9d6f97ca -640bbda51c5ee4608b0ba41e06e5531a75a3aa83454901ad3eb84a39ddf29139 -7f4cc0cdc03202665fb60db649bf152427838b7192cec676aa2a0da9bffbcde5 -69e48508484670cc75b5e5a534e17e0d46ee7adb21ad5f8b433a001279d54fe4 -66730968d8dd7cb05f42ed6ea3d86c6ae6b21b3d3bab9e27b9c46721a475898f -4d9018fba3fbd95f754db80dc5375ce15b229dff01a6dde71f29724c41749179 -4ce2cf23b2549f1cdb2f992c900fff4c58a50d89fe2af87db2a40d86c13de9a6 -dcb1ab47b273ac768471b1a5380a8f13e35dc0b4f61c2be6c7af6da70195e49e -2fbb91db3e354b96a98c97bc1d32360ecfb3789cb81d219fa6afa2f67ca968b9 -66b0989355759823d24fbf97e68f1e88807e554c162a38a19734389e8677fc17 -c8ab5fa2b8edb7e7f3243df8fb13820d550fbc010fb41071da0e46468695a4ca -7d1b1bf6d4ac452d5ac588bc3e0d99e97bfb58c82d050cd3925f039adffc0166 -6723ea08aa5b1cc158f6ebc3e07ec14903750a25067ff6885dd337ca7955ede5 -3044811e6ab04a7108ff2c723d49e14aec485181e032c632db99c17a6e747dee -c211e70326f4146cca501f3f36b5a2f3bcd19826076e7be86e6aa38a3552fdab -67e997bc8718c008fcab85257b905f5e2d53bcc7ca62f1a8b30292948600977d -0dc85627944f596b23f74313d577a15cec9921aa74ddd86140b690a36940da9a -5c4b29370e3c304b256c85e0e50a5b24743b5c8e0e40adfb4d31d635b2d2d155 -d98edb -0000000000000000000000000000000000000000000000000000000000000000 -0000000000000000000000000000000000000000000000000000000000000000 -0000000000000000000000000000000000000000000000000000000000000000 -0000000000000000000000000000000000000000000000000000000000000000 -0000000000000000000000000000000000000000000000000000000000000000 -0000000000000000000000000000000000000000000000000000000000000000 -0000000000000000000000000000000000000000000000000000000000000000 -0000000000000000000000000000000000000000000000000000000000000000 -cleartomark -{restore}if -%%EndFont -%%BeginFont: PLTI8 -%!PS-AdobeFont-1.0: PLTI8 1.02 -%%CreationDate: Thu Jan 07 19:30:00 1999 -%%VMusage: 1024 37745 -% Copyright (C) 1997 American Mathematical Society. All Rights Reserved. Adaptacja PL JMN 1997 -% ADL: 750 250 0 -%%EndComments -FontDirectory/PLTI8 known{/PLTI8 findfont dup/UniqueXX known{dup -/UniqueXX get 0 eq exch/FontType get 1 eq and}{pop false}ifelse -{save true}{false}ifelse}{false}ifelse -17 dict begin -/FontInfo 13 dict dup begin -/version(1.02)readonly def -/Notice(Copyright (C) 1997 American Mathematical Society. All Rights Reserved. Adaptacja PL JMN 1997)readonly def -/FullName(PLTI8)readonly def -/FamilyName(Computer Modern)readonly def -/Weight(Normal)readonly def -/isFixedPitch false def -/ItalicAngle 0 def -/UnderlinePosition -133 def -/UnderlineThickness 20 def -end readonly def -/FontName /PLTI8 def -/Encoding 256 array -0 1 255 {1 index exch /.notdef put} for -dup 45 /hyphen put -dup 97 /a put -dup 99 /c put -dup 100 /d put -dup 101 /e put -dup 102 /f put -dup 103 /g put -dup 104 /h put -dup 105 /i put -dup 106 /j put -dup 107 /k put -dup 109 /m put -dup 110 /n put -dup 111 /o put -dup 114 /r put -dup 116 /t put -dup 117 /u put -dup 119 /w put -dup 121 /y put -dup 122 /z put -dup 162 /cacute put -dup 177 /sacute put +dup 0 /.notdef put readonly def /PaintType 0 def /FontType 1 def /StrokeWidth 0 def /FontMatrix[0.001 0 0 0.001 0 0]readonly def -%/UniqueXX 0 def -/FontBBox{-45 -260 1200 921}readonly def +%/UniqueID 0 def +/FontBBox{-24 -250 1110 750}readonly def currentdict end currentfile eexec -d9d66f633b846a97b686a97e45a3d0aa0525392eecac163e584a9104d99ad0bc -1b1844a0e222653fa481b8809b26a46f4c483a5d7e95816ea6582584156cfede -b994adcff4645140e3617e4d7e1b0e4541cb9f562e55829b4dd880aabe2229e9 -4a9fa259a734d29bba91ba1e2055cbea4339bcbff98d32ceff11f296225caaba -dca10577a5d431b714726c1278d8101abd1bd8d0bd0174fff9148f8c61c241d9 -2ad360a28616cb4a0670c1bf13e7a26e167f6ffbfa02d201035c41858d1c9bc3 -c5482bbd107ab18a030d1e9cf347e4cdd7792fca72747568ebacdbee0242f654 -2aa61af9420834407706cf33f36fdb9bb8c0bca09e3e0d3edb9711aab89ed3ce -de5bac9ea97ed8b2aa2ec5b0fd8f60ebf836328fb19ecf23f73d72da42c48cea -7e403a5db5841637e35178a7d1e2250ce208fb9a0ce583f9bb5f242d0d9fe5ec -48a88ef14f534f65a1a06e03d2812e5e90b5ef2eb39962f6de24669519b26087 -92fa2badffb2e71e2884959c9fce35d20d2fac51ae938caa2dc481b16ca80385 -6153a79977cf168d27ac23af5c9f5a5c699db568890cb86800ce46d2b9a95e8a -8fa33d57532065b43fe92134f20207b4d72a1ee997d34c8ae5981e987d67e2fc -4351cad093cebae0d587cbd0a038b6ba98b607090dd28878a4d6bd50af30cfb6 -061e172b686e92355a7c7459d83199040a368b5697ddad65b433124ba3a887b7 -bd4572544d0c434fc62b412b0449e2b4ddf83466480bbe2529610091d8a9f091 -61a41bac6a151cff1ffb6c89f1590c2d9d9333c93a60027dcfe96c688ec23820 -5ea4fae540abccfbc800ec8371b953ae5a1e9265686bcd65f3d6f77a8aa9e226 -9d0af9519bbb5f8b8dce6ae144678798c48707d2436df48110607a91f8615178 -0d0f4f055861c2b682be580f3930aba1f46e40c976ad8bc33f1892b07995dc41 -f1891cd972e0ecbbf5cac357b97a01ee4a20c6700312bc5ab568313228cab6cd -9aba0e92606751a5a80154b18b65e9f7a8dc97563c73f9bbf235d4df19579a10 -82441086abe13d47fcabeaacf65c71e8148e7422320290587e467fa1655147af -132651698a83783c1c4ca4910347f0b08ba83e60280ac7d4e151e03f682b21ca -dfb0daa42243e19c3768f175861e24178ff08e8372cd7d100561b6b3e5183739 -200bf7540dc3360c7428d70de0ff19f6252c84702a37942748165257e015eff7 -1791855126c0c4414639806e03ad334d8e65ce45b5d06bdde61bca325a76edae -63f237cfdced415c071488d07c9eb24871c1ea5dcce85d06eecddf4fd0b5f436 -9844dbba4bd7e8de0440f41d8e074f9da1652458a05f2f34c8ad4da715476fe7 -17e37e5f699eb509fb886a3702585dc8827603529ac9eae159233881a3113c85 -02c32da970d5f029c25338600c105fcd480555e4992da9618e9eee4a5f8c3f4e -5a9502a4b17dbc0e3612edb454eec85d2d05334f9f52ce01f57e62962eedfd8d -1b6f4e5391a3ad715e8a3b11680e238cb5dc185b0b01a64a0f5c39241a38ce7a -f60859e30f9c22eb913e2076efa2e633fdf26a95be409033d0ce5d30bd01f176 -c9e88543ad19a6187071a3b1c42e4c259bff4544c587b5beb5e6d38127f7092b -fcbfb6bb2978b90ea653ab312cfaa5080d43e795e55f3c87646b5ee4863a3edb -769adc7159b43bab690362f8ad3c1cfe79e033b5743db1f5afa49399ed6e3d7a -9f23b88f54057224c3627718146ebfdb244441198618ca22f09f9842bc8ca662 -98d34f8fcf1ea34928d247d7e262767def8c9234a6d81dfc19ac6f6d97a619d2 -ccaa102d34cece13a0a229670c8468f2fc9adcd6dfe91669bcf31ceb6bacbcec -c90d367e3b99e21aae92c170fd2b9fee4fcc1b1c083f170a1ba0377d234b8568 -ddc8546141553a11cc4a0bd6e28b8d883136f514cd280e2c9f98861f41de5644 -1e0585bd625ac2bea768bdbb7fac742afc56fcee5ff03dea9a339a42a1dff1b0 -b902561d4f9a96de41e55caf5f90d8fc07dcbd95f44d66388bca2f96ebcdb01c -929ac0118ef8dbf802ea1fc5b2f3c50b928c078511dd963e2e4d971d7a3a05c3 -af4617793f48dff7c8ee2d1bcf3d273c87140b06a9afa5290b2b469408e8e5fc -083978a8d3f591f58d44afd64e4a0f637819ae6fc34e4802d14441300ccfce85 -68eb7cd8cf0b4b292a4c7781e7cf9b4152cff7a9ec73b8f3419af9ef3da607a5 -b0aa09227dfe06961bdf0aaf5b3ef2a713996b10dac3c34d75de744a6327a918 -4a071ece030ef483f32547a55d41bf7888e2651b52fefa97c3039e3428e18ee3 -c1f562881e619ea02fb95c23d8b80c8632ff20819f7811d6e4f76e06ddad0ccd -23c2f9f0d9220bec36910b3a9188648af0f1fdb9296a9bed073a8d5e2c7aacdd -8029feb7e4bfb89ea613c4ad7fbf51a5e7d2c88f9460c9913f9d6ba42f34c4cb -b77fd8aff0495edc109fcb0dd2d775441ffecba1924d32009607f38ee7a06768 -7d0a4c3fda418a191d5d6e4f7fe55e3f2577fd37d0edd63ad80c5442005b1654 -8b3ff5884d7ae1a891bc4c1c8aa22baaad5f4cec25f7be90b4a6b8b54aeeecd4 -d63d36ce8b6ebb17225faa275f71628a85ceeb1d2b3f42f85e88537d79eb799c -ab8b74f14f2cb2c22121c749dbc615a865e7de3f8320fd61a9eee319f5bdcce6 -fe9f3212d5f64497b920f461c8f3193e5af716fc1ac1efdef15d472af58565d4 -8b9a6ef2d42e03c72aad406b62c6b29aa69c8a0d2bc92f5a758d8816fc4a5e32 -a2f53fbd0d28689cbb8484d4c450fd2cc5eef1cf7aeef82ff3ac3a7df09601f0 -f409c0d5c023e5c7903e1b6df6e86ef1ac757019bdfe8e6f48fa8b2c005d7234 -b62623d7223ff060cf0291ace7018c7e228e0cc672a17bd874c8b2450fec7913 -c7eb51092f9f3c6616152934d3cf19f1f96a0117603e8caeed8fc8686ee2bd1f -fdabdf1c043d1a96dd0e64a0d289aef0010f905d83d0802f571925c4442f7709 -8cf2cd70302fadd03e097719620fdbe59f2f1524dc8cf376760bfbd0c338ecab -53c72edeea25dfb1d05f09c6771abcb082912d7ea6ddae99d20fbed0cab0e9ac -42ed33482736c9d297cb10282ce6fecc714964f15d92da853128fc9d9c6cb0d7 -dd9a09d29cd6b4019052629756e99471d4df4cd7e5c9bbc555221f4913279ba0 -562d7e862ffef280063f39ad5230628c045ac6debbac01b85db9a263aa663db1 -11aaa2f0f2179983297e5ec06e8a9d3c2e64cd6905ca9f0eda4980090b76287e -33698b652dd1f7bcb905a78f0f6fbfc9dedb3691068d1ff6fa19f453cc6da046 -7e6cd85d9497fb9444cc7ffbc06cf0ec08c31597998275c09ab7626d4c8ca349 -adca41e5acc74fe23a4b618bad4ad955eac0741554d71dbdac7b5c779f11be33 -80ce80027fe7b3305aed94fcf22c86ac626636e8dcdb0197aa8b09e0e2f2fb25 -ad21d3156ddae02d58ae843a70bd9c5a1149e6d67c1f15cf79d2788ca44c7aac -5f091f28ec36dd1705f4692a234847f89aafbdfe5a8e4b262e853413dccd5d73 -75d2d7e395ad60819e1c03408cd825f78874e165989fb6556dfe3dfd7cd7ab76 -4ba46b24aa8fb189d9e6ee5c1e1f24fa6e67a692783c1bb88c03774016e62293 -9af87d1ea41f9a0feffe95c1f87ae8e2efec609974a41c708ba82b71747387b5 -25b7dc8fc4f4dfb72dfa8cc30b3b44bc0408ea27a3c8e378395f3360f9d8a454 -43ffb70bde2865092e516a07b58f52a636ba7d2fb30868aecec735ff0d8bfe73 -af73d9bc2e52967012c3251c1a179e0ddfcc3597f96196e6b7d12d5753e817b2 -03eb6c59d1b72b760205900075185f3d0a861afdadeccb17e7a6f943bd129c91 -6c9412b3930e0c76f77e44db034ebb3e160a09fe60b1ff040b95f3b0f68b0d10 -62f25d0dd60c42c3720cb1373a7ce7e24ba419b9f5e2f6e7f24ecb4ebc8e66b5 -fac1e840177c7bd65564d34730f4512887fc370d5a4c69a31ca79c13f01a6548 -224a9b289df4d4c471d9df13d7004083d9d60dd4479b5cde29c89245a9ed87ee -671990424f78cd70387a65b18d7b61f23555e79db7749de522ec506e16b8ff38 -5e221121ced1fd6dd6328c5a87acb442ffc62f080ae8d0d1e4916c6947ea8f3f -fccae6371638586d531bc66717d3a989b24b0442b3f0ad150a310c332211d431 -f749d7db15ae95a5188aef3d30d6a5d38f212987cc74a26465cae6d3f551de7b -deb4abaa3dd13287ee5b67dff1e26545be10f8f07a28ed2ad6dfc8a84fed5b8e -a80f3da0f0d320717a37b8bf6b8790bba25eda5b8cf2ccafff791bbfa981d05c -cd830e21586bcde4b612d925ef510afa283a9604e5a631e1d18ea934dc488484 -96f85d83a36b5c3761ebeaf86eef82d88eb74eab733414cf771e28698c37f1df -9af5cf450341425ce02b78ace802eb93490d04df007a9fb94d6aa30a8948ab80 -3bb1066f616af91b393ac7495c6354874fb08798f36a706b497bb69e5706eab6 -0a969816ddfe6ec7c76adc2dfbc272de02c9f0c6d38d71e3e9cc54b35b703b92 -5eab420a0fff2763ff96b473af23114b9cdf03235cc9be739c6f72c2f7461172 -131dc82a8d2fa03fb0845ea68b265acfd18463c2aa10e09b991823282bad721d -33f73fbbbb58a452502f8222310b29fd2cf68373123c2f08b502da5387b1a165 -f857b0d05347032627a6f8748027241c801ad78abdba6dc5f7eb69c15c07b851 -865e9aa683a97ad13d92de85fc3aaa972eb727f05f21003573b0c494d65a023e -75cb0325c27a1a81aab7d66aa61fff797ee8cb26f5175b3d8c086fdc2d69b8d3 -ae4156a2d7b0f397d434298bcb691b1937d2d341fc1bcf686d6ec9b303dce71b -5fa7a34cb3b20ceedc3e0552224f54142ead3da0c9e50c577ecfb84a87950aa7 -ea550ff7fe090a833f5d844552d5e13b23e95d3b16203e68bcf87caa1286fcae -5d40aa10679487e44ecd058dc87ffff786032227ba5d7c219ab051dd78303495 -7d5bc47add5892d816a05bfd176a8278409a2af2f36278f7d355be7500eb019a -dfac96e722381a624ea47a08b2804054f133dfb011806e272a3ef2bb068b8888 -2d3cc95d03c63fd6efade478ceac94db73831def06ec1e73a1a2ca0b1baecc95 -975a524bcc4b4ad2c80d98ac086d98646f9607bb5f8ec2c2b0d763e45612d805 -262e8b5ea64ebb257e9dfa184235ecc19d3a79a9720fbb285938480f115d98bc -b5fcd82164f02f1d87a907a8675484959c0efa6cbd5e61a6307ccc862798e7f4 -ed74b8e1f96d1526d7484b48321e5f59d0ba242f5f38d4da8541482e4898341e -199b0e737b7e7932a0694a0fc42e91095a2822beb68444b7ee20d26f92be06d9 -a17c7078241a8c555ef576914f64858bf82a2a0c5f1079eb5c983574a4771e05 -5cd58cf38410e0adeb412e144a9209a8d822ec67999660dd2f3bdb49f6ce3375 -50d92daab67a23b015659998c098b8bdf150108ae62d9f82b9848decc7107ce8 -23a430809b572b25815da15b64c26d8aea023ba6b1bc148df7dbd9dc20f31432 -991e40f94bffe9f1c5e48bc05a1ef4ca616bdcd2d6d093d1c3aafc94732aeec5 -ecb1042f71ea8b69ce74515c6ef9adda89fb1156a1205ffefc54afa1617f4446 -ce08fb77d438375c393308c37dcf78d64614a93a3bea134c7f55de693ce2aa4d -d95bae4b05429fdbeb87c6026be6a9955c26ec711e31193ef871546a2a503f3c -74918a34e1d5be7139e6caec4883484dd5539d0f68315b927d18a52cc9863e64 -471b7129b83761f24eed258bdf54a011ffceb5f7da75f9c37d5948fdd7481079 -a491e7c021855722fa8456c81146d9f70d2edf5d7abe74e6e9130394491d10cf -90114ace136a086825dd10aa5183ece356ccaa97aff763e96e8490a80af520de -9855118fe916b800ce4313c81f6f2018024eb8ae08280fad0e1db32edcd71b48 -0da4583abb9195948846a7abd94ce7919b261400bdbcac13999020fa3ff02973 -460ee849de0107f2b567abf17cd3ade34c7b0c92deb09dfd131c08c09cdf9073 -dc20dcfbb9d3aa8719b9dc4e9fc849473992347cb5b7e1393f57ba2e00bf35e2 -74026beccb36ebf925df6bba18dc2d43b173f81821bc76ef100ee5b9417602cf -b312c49a056d98fbfb8a267ad20077c97302a8f8d0adc13201afc7679b1917af -63b384067147f60e13c824b417b1d064f4a30b1c11cbe47dd0df26ca97ab9c53 -64078edeaddba8a003f66adf40b99f868ea0053456066a7c8605a560a1c2900d -93c7249edf523fb508d16af7c294894001a3a31c46494f448434dd3508f520d2 -ad94d487d107327a569207fce39a55f314759c61f617e0c7cbd91d36c072d165 -c4f3d3ff9ec629842e2500f4763030ee5442af2adf42c7fe2ee16f5b3370cf79 -55067b70994be052d7cabe727253d7dd1ed320b3272652c8f857c0527845717b -869b624a7dacf71050de027494c883c5d161ac75b82123764a36d313ae4355e9 -75670b4f135276126c81a3817f7a91b342c6db78157cd5b7a0906cd926582c3a -b85d532e92eb5eee93d715cc22d5e6aba1075ddfa9fcd1f51245aac5fa676cb9 -2405a9297edb88c1eaf6551389c03808b8ec0eeefa0521362ec5ad621c707b76 -026d04f46fd87ccaf5c3690bf8c982aed39aca86fb1a89351cf32b5a4ec4f155 -84a181b8814b969048c8c1a9ce187700bc9ad70bab1aa6e97984a5047777bfd7 -a2611b5280132b9a76ebf1e68395c1f640c4ec115c4048722ab515b12305f5ea -a5c749afda39c0a6c7c155d98a3ea9808c12475e0a73e1c206bc9407f5fe0316 -8abb273f62b41efef876943a0945b8ef51f0d32fe3b53bc8c09fa6f69dd6c1e3 -38e66342a9eeb2a50a163221c7b68f7f90318c810c8467540834a906f0d78657 -6423afc045fc7f66919898e5d56159435afef5012916a0499df8ae38e9776b -0000000000000000000000000000000000000000000000000000000000000000 -0000000000000000000000000000000000000000000000000000000000000000 -0000000000000000000000000000000000000000000000000000000000000000 -0000000000000000000000000000000000000000000000000000000000000000 -0000000000000000000000000000000000000000000000000000000000000000 -0000000000000000000000000000000000000000000000000000000000000000 -0000000000000000000000000000000000000000000000000000000000000000 -0000000000000000000000000000000000000000000000000000000000000000 -cleartomark -{restore}if -%%EndFont -%%BeginFont: PLSY6 -%!PS-AdobeFont-1.0: PLSY6 1.02 -%%CreationDate: Thu Jan 07 19:30:00 1999 -%%VMusage: 1024 29885 -% Copyright (C) 1997 American Mathematical Society. All Rights Reserved. Adaptacja PL JMN 1997 -% ADL: 800 200 0 -%%EndComments -FontDirectory/PLSY6 known{/PLSY6 findfont dup/UniqueXX known{dup -/UniqueXX get 0 eq exch/FontType get 1 eq and}{pop false}ifelse -{save true}{false}ifelse}{false}ifelse -17 dict begin -/FontInfo 13 dict dup begin -/version(1.02)readonly def -/Notice(Copyright (C) 1997 American Mathematical Society. All Rights Reserved. Adaptacja PL JMN 1997)readonly def -/FullName(PLSY6)readonly def -/FamilyName(Computer Modern)readonly def -/Weight(Normal)readonly def -/isFixedPitch false def -/ItalicAngle 0 def -/UnderlinePosition -133 def -/UnderlineThickness 20 def -end readonly def -/FontName /PLSY6 def -/Encoding 256 array -0 1 255 {1 index exch /.notdef put} for -dup 13 /circlecopyrt put -readonly def -/PaintType 0 def -/FontType 1 def -/StrokeWidth 0 def -/FontMatrix[0.001 0 0 0.001 0 0]readonly def -%/UniqueXX 0 def -/FontBBox{-4 -948 1329 786}readonly def -currentdict end -currentfile eexec -d9d66f633b846a97b686a97e45a3d0aa0525392eecac163e584a9104d99ad0bc -1b1844a0e222653fa481b8809b26a46f4c483a5d7e95816ea6582584156cfede -b994adcff4645140e3617e4d7e1b0e4541cb9f562e55829b4dd880aabe2229e9 -4a9fa259a734d29bba91ba1e2055cbea4339bcbff98d32ceff11f296225caaba -dca10577a5d431b714726c1278d8101abd1bd8d0bd0174fff9148f8c61c241d9 -2ad360a28616cb4a0670c1bf105bf4659adeaf285b288b8c45ebb1c430adc5e0 -55c153c58d0f07fb32132c3cea11815265d39a20821f7a1a778738160578bced -399653eff49cac16ebd0b780a11c18e6966be38184b550a4d69d69db456b328e -355ffdaa78c47ee83dae72a4db5a385052324763cdf9d67d462d1550c78c3ad8 -d5ff01e46eafb7361c516dd8c71870ba0aeb8e6feab79e82d9cf94b9945492ec -7526aaf2785529a98fd4a7ebb5f15babc0619fbc49c907f07fec8e23d3d35c71 -a304a01a695dd9119d8866d0a5da72a216e9f80dabeca85a56caaa79dc5e42a3 -cf4f1d171a6d50db9bae2f88130df372b37a75d81089b6bea6002c995ed468d4 -58ac20b9eeb2aac85f82943bd9e77210e6753ea5604033d75954bd3928036da5 -138fb4f7e2fb7021555065f649fe81e6b334ed55fd4c36aea39976125d9ee861 -f61d0090300d6b32fc4f39fffae3472f2d0b4b9f1ad4a133b021fcec45fd4e59 -7373c612e87b27bd7191e583ba7cd309259d4a204cb66f3fa5f7ebd0a7deda93 -1a3f3ab2cb4d96bfeae47ee1a8c5503aecea8762a17dfac31b4775ed17ed9e17 -b62496643a7a8028adcedabd1f5814a560f83adc0c48a033219bd37202170de7 -e17b30bfc68084826c0630e512cb01403c809d84ab955b2935cba3cc9ebddded -2d74ae2037907bf2c0781be1e1142159ff6a4d511fb5eb50834ba5ea00c2ed79 -f7e0224220b34fe21e16a237c72baf5347d2da78a72ed80a7edecf5eacbb012f -128feae28ca79a23bc16a7d1f8eddc76c54f45e050dcb44f39d6f818680ff66a -e97d5f93fcfd1c3d72b593ea88fdabbaa310d516ec50505ee8c6e9ac7ab9e82e -3fdbf8c11bd2220aa6c9ead07f32cd5ea69fec07d0fb4725636c75634aa70da6 -21202481d081ee8b8f7116990eedf770fe489e920f4b86e9d0c5f0c4e09df80c -5e205459f154e10d5a9ce303eb +D9D66F633B846A97B686A97E45A3D0AA0525392EECAC163E584A9104D99AD0BC +1B1844A0E222653FA481B8809B26A46F4C483A5D7E95816EA6582584156CFEDE +B994ADCFF4645140E3617E4D7E1B0E4541CB9F562E55829B4DD880AABE2229E9 +4A9FA259A734D29BBA91BA1E2055CBEA4339BCBFF98D32CEFF11F296225CAABA +DCA10577A5D431B714726C1278D8101ABD1BD8D0BD0174FFF9148F8C61C241D9 +2AD360A28616CB4A0670C1BF13E7A26E167F6FFBFA02D201035C41858D1C9BC3 +C5482BBD107AB18A030FF0012B4F80F35E3B5F2DACDA8DA3AF61CA4B9D6F97CA +640BBDA51C5EE4608B0BA41E06E5531A75A3AA83454901AD3EB84A39DDF29139 +7F4CC0CDC03202665FB60DB649BF152427838B7192CEC676AA2A0DA9BFFBCDE5 +69E48508484670CC75B5E5A534E17E0D46EE7ADB21AD5F8B433A001279D54FE4 +66730968D8DD7CB05F42ED6EA3D86C6AE6B21B3D3BAB9E27B9C46721A475898F +4D9018FBA3FBD95F754DB80DC5375CE15B229DFF01A6DDE71F29724C41749179 +4CE2CF23B2549F1CDB2F992C900FFF4C58A50D89FE2AF87DB2A40D86C13DE9A6 +DCB1AB47B273AC768471B1A5380A8F13E35DC0B4F61C2BE6C7AF6DA740B3B420 +5A3D3E5905EB628EF58212420084AA1A390A401A8701AA5695E99C908FE7FAEF +78B5907B740869BB38525FEF89E5722C9472D7CB53F3FC4F591BFE0EA1D08956 +FA78F7FBBFD715357EDD7E5EB84721E202AF56F3070434199E1D6FA71F8A4F04 +8F596C8FED02A5A88A1F78A913B92D132586C1F3194CF55F2391CC65E4E12E7C +30BE87678550213E4DE8F527B408B31E72EF7F0A034A2747CEC6361673853B40 +7F1D4B66DAA509D22557BF3DD658B4F36A3A075BCB8A96755A83EBE33291F877 +660ACD6274EF96757CB7515036BA88A9CF8E77ED0BB6C17C9D6EEDEB6D7314B5 +287EA4EA33AA18387EEA867CA0FE208A8BDE6D679508976F7928EA84F2908126 +264AE8A399DDE7F4450988622D3E319964895143AB13FD85097FA3DDF76971E2 +22E7911257FF4F9C32D68C0F195D4E90424FC1557A18DF1795A8D9BEB3D7B313 +392D40D1 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 @@ -448,351 +1452,245 @@ cleartomark {restore}if %%EndFont -%%BeginFont: PLR6 -%!PS-AdobeFont-1.0: PLR6 1.02 -%%CreationDate: Thu Jan 07 19:30:00 1999 -%%VMusage: 1024 31499 +%%BeginFont: PLRoman8-Italic +%!PS-AdobeFont-1.0: PLRoman8-Italic 1.11 +%%CreationDate: Thu Apr 13 18:00:00 2000 +%%VMusage: 1024 37745 % Copyright (C) 1997 American Mathematical Society. All Rights Reserved. Adaptacja PL JMN 1997 -% ADL: 750 250 0 +% ADL: 556 156 0 %%EndComments -FontDirectory/PLR6 known{/PLR6 findfont dup/UniqueXX known{dup -/UniqueXX get 0 eq exch/FontType get 1 eq and}{pop false}ifelse +FontDirectory/PLRoman8-Italic known{/PLRoman8-Italic findfont dup/UniqueID known{dup +/UniqueID get 0 eq exch/FontType get 1 eq and}{pop false}ifelse {save true}{false}ifelse}{false}ifelse 17 dict begin /FontInfo 13 dict dup begin -/version(1.02)readonly def +/version(1.11)readonly def /Notice(Copyright (C) 1997 American Mathematical Society. All Rights Reserved. Adaptacja PL JMN 1997)readonly def -/FullName(PLR6)readonly def -/FamilyName(Computer Modern)readonly def +/FullName(PLRoman8-Italic)readonly def +/FamilyName(PLRoman8)readonly def /Weight(Normal)readonly def /isFixedPitch false def -/ItalicAngle 0 def -/UnderlinePosition -133 def -/UnderlineThickness 20 def +/ItalicAngle -14.0362 def +/UnderlinePosition -117 def +/UnderlineThickness 36 def end readonly def -/FontName /PLR6 def +/FontName /PLRoman8-Italic def /Encoding 256 array 0 1 255 {1 index exch /.notdef put} for -dup 44 /comma put -dup 45 /hyphen put -dup 46 /period put -dup 48 /zero put -dup 49 /one put -dup 50 /two put -dup 51 /three put -dup 53 /five put -dup 55 /seven put -dup 57 /nine put -dup 65 /A put -dup 66 /B put -dup 67 /C put -dup 69 /E put -dup 70 /F put -dup 71 /G put -dup 73 /I put -dup 77 /M put -dup 78 /N put -dup 80 /P put -dup 83 /S put -dup 84 /T put -dup 85 /U put -dup 86 /V put -dup 87 /W put -dup 97 /a put -dup 98 /b put -dup 99 /c put -dup 100 /d put -dup 101 /e put -dup 102 /f put -dup 103 /g put -dup 104 /h put -dup 105 /i put -dup 106 /j put -dup 107 /k put -dup 108 /l put -dup 109 /m put -dup 110 /n put -dup 111 /o put -dup 112 /p put -dup 114 /r put -dup 115 /s put -dup 116 /t put -dup 117 /u put -dup 118 /v put -dup 119 /w put -dup 121 /y put -dup 122 /z put -dup 170 /lslash put -dup 171 /nacute put +dup 0 /.notdef put readonly def /PaintType 0 def /FontType 1 def /StrokeWidth 0 def /FontMatrix[0.001 0 0 0.001 0 0]readonly def -%/UniqueXX 0 def -/FontBBox{-30 -260 1203 929}readonly def +%/UniqueID 0 def +/FontBBox{-45 -260 1200 921}readonly def currentdict end currentfile eexec -d9d66f633b846a97b686a97e45a3d0aa0525392eecac163e584a9104d99ad0bc -1b1844a0e222653fa481b8809b26a46f4c483a5d7e95816ea6582584156cfede -b994adcff4645140e3617e4d7e1b0e4541cb9f562e55829b4dd880aabe2229e9 -4a9fa259a734d29bba91ba1e2055cbea4339bcbff98d32ceff11f296225caaba -dca10577a5d431b714726c1278d8101abd1bd8d0bd0174fff9148f8c61c241d9 -2ad360a28616cb4a0670c1bf13e7a26e167f6ffbfa02d201035c41858d1c9bc3 -c5482bbafcf7df8061b51863fde697437824573e60cc3736b77d96b9b17f4ac2 -4ccbc0394c27774c26fc66f04993d0e73f619503565343c1e03ed8880a14a7a8 -e686ceaf12d18fb2c70e54d7c524923386e488a5781001b47276f3ccb8173466 -544141f99fd85b6bcead8a7e1294ba184ac78c372f2e5b85e8aa15afea2a77f2 -c42e7590a246be66d35d32b78f084c348a79fbbbe7b6f9567c3ea4b3b0c1cec5 -a3de0e36448f8c66f8992474ea20d179439c30fe7793746a258fd1f1a3714f39 -a0cafc38273b74534db852131fb30b383e6edffbcc308b14442b86c8109777eb -79b6a3ca593c194fa43ac76959392665cb4b80ff1f4f14ff499e9a6aa70e1132 -58c68d2d4339ef9d98051bd9c57340228b575a7a3073a282f085e699c878e8d4 -767f4a3e61b91f25c02b78551535ee5da5ab2d2e908c5b31aacf1c19c21c3dbb -8ae143a620190406401e3e5bd6510d5c76aa40c583dac6214b0c40d761dbe360 -876bf7709b1b6484862664c170fbef84b53657102b0f1427597ec55d77b1b60d -4905265ebe5264363acc8e5c1d1a82654aeaad3f4bb83900a42b29642ab92a48 -6ade85a248ecfc2e1b85ee0848fb9ba8a6088fdef5991241159dd6aea5c2bed3 -669684277b008c8d4ff740edf3e330cfffee1e8b31f5fd687654ea8c26f4f81b -d365b57063cd7766a95b7bc92d2845888e3e6829b3a6d18546c8a0166e186489 -8fedb6b74366c43ceeb8ca7d7ff852cac1c957d779181ccc9f26d84566836d71 -afc78b71f831cf86fe1fa0a1a4419ab53f70a80538f75845c486832fa746aa30 -edcfb35ef6ddaa3147b8a160227b028189f7e00f11a71c10a4935ed92e290d81 -42f56635f8af42a28cccc7acb61292f97ec340bf3bd31a630e07c0ab951c408c -02191d0bf3a0901dbfbc261c937f8b36dd849748592036a2427850eb1b6227dd -db3f35ec6da9de2e322474a8872c11c8464aadb6a5cd67d6d707e8c528bc661c -1c1922756e01e942061ad0b26308b1ab3e8b3446d291fc12823c6977b3065455 -95584bdc67a0bdb93ee3f1b791740c84df93d35f76d76c9783d084d074f9266d -6c96bda2a5ddb8bcf4597940f19283697d9c0c89818c306e67574f49d54a45ae -6d37f88bef6ab120ce0f4bafe4a56d5e1102da9a1c86184ec3085a96e5b25494 -10900d8d69816d1d95b7df19e7d1261b69dc94136981c2ecf1a8fa402cb66ff4 -8f0c888ed578cb327b3ea7b0d322b35acae5cb31dfde1c911281be27103cb4eb -43364248898324fec2ca1265104ee84cbe5d4ce7a9444162bfd51ae581158c39 -919eaf443c9cc559788d39a01d2dd66bf27fa7e482116ce04cb63f562cfd443f -952425baf01494906ac5068d28f177bf0627087a5f74bbf9101e8799b1f07025 -5421ef87bbdffba40d0c2d8ecbb44ea391d43976db969da5dd89faaa6f9fca26 -ee1d546ac511230c08e8f0b2f2cb7ac35b445c79bc9fbd5fb48b7ca6eabf0254 -fbf5d937f63b48537fc2285eee6418fa3f6052f0800129768a561df2de69f307 -3f9172dc6fcd80a0b4ab9e4545aaa1f7c1960e1feb3718c9a09b0dd81929ca07 -27f2689c2dfd53a42df2f248f4cbbca1468095248df7d52a7df958641fbd60c7 -58730ad285c63306b6760dd46b97fbc325d5aa506046bf3dc029be588b87706c -145e6327937949aaed9215685a409c211e9530308d8695a47aed6bb238657bcf -f175f2ba61c8b68db31f23721b43cef5954ceb603cac77900424de9784ff7538 -dcd72e1373c29798a653bb1913418dade2589a368da1d900c2585d92179f1de6 -1ae95b6a1ce048fccad8285bfb41d04afa465baf2b8c322b9eed43f7d45c357e -241c6df270b4e8013df77afd027db09668e597b179e215c582a21210df095858 -a6bac04e8f180adfa00909eebe37ad954536a8b2259450e46a6041395dbb90ca -d67cd9a3a08e5262b763cf933d89f3334778418f424572b1fe2ae71226c4cdee -b786fd09089cda8b71caaaaa27c2018ba2f38e244b1b5676bab1ed0a34c60242 -301b950337b9a4a19038e1559be5faff38ca0c65cb830da4ef5252d3954a6527 -5da982e39632a63f45a2c3eae0afa957e10e482854feae2ae72ac98b245663c4 -0b023d2e90c4b06b3fe534e158780c614bf6e53ecd1f590ae2398db238879d4a -66a64522ed6fa43880457122d0a3df0bb894d1579dc3293455c2038e9b010e86 -8cca453cae76ba732f64bdbfaaf0a55b3f6521ad16f565a234771e0edf88285c -1d103368377d6fc8cad52794b79df726eaea3ab879dcea803262d8b74b839c97 -8fbff51e8321f03d6f53bd8da3904cc2ec46acb2f42bef6c7b00d1b1098b2327 -257445cbcf703ecdef6f314396d14d8ae6ae4bad2cf798762a52944a5363d34b -fdb6277c694e2298fdcfa7842c1bbdb97c6af62dbd7434b775e185c8bfd46335 -67ee660754b8a6b32c352d41a1c0331e6ae9282bd4c2493c03725aca9242df00 -90dc022bc88bcb33a871f20abc9d13b83e3bcad68def6e0d2495dbee23e1b753 -40152f82d9a58af5dd8ae7361aac5ea070fea0cc3d399ef4eeb7bde96a6b1d1d -f1401ddd86ab0341c1150cef2f6730c19711054f844abad9b78afe6c6f5c7b2c -c0790893a9b7ce177f1c5abb8378d12ef9865e1829433775a3eb1da8bc1e2992 -e5c0e1c276b93038c611b49188deb8c0c35bd8ff7842c72d498fee5ec22dfc77 -594ea701bdb5ba258462b2faeac3185f3282b4984419ee0bfd5b96f2386c4e65 -ee0472b6d2c0979a18d60d47f560467feeab3afad06db9c073f14e9f170b9718 -f6b96aae922103a7e8ca50423ca30c2510820de7185bff80e9462db81a19dbe0 -a60a7aa64933286e497d23a7716d30e0818d18e73c91ca97c61fcfa5414ddcc2 -6f024116b38254eda947e64bf7c23ed80071abfeb921d6acc2a5c53648cfe148 -6937fe85441bc8393d45b24f4243e1aba4f841b24ed8fc8f6e5357e6ab7ab55f -0f64c06d457ddd2970fd64b131fe97f103e0104d57d667f63f9ca49fc7887172 -09399f648dbadf2deca33a263222faef1168ddeda4a34ffd6a48a9dc9ac64ff3 -257084ee2fa183ce539b981ed85c0f4437b65d7a0435070214aff8cc11c17ed4 -69861fb0357e1ee2e1a3935b262a2b9de3caa4aa18ac8eaeeb99b34df0e71ec9 -7bd47e388e3ae967e663de1636884d678206113062a3f3f3f20c9936cb520f22 -1dd617c31a4084f1456ec71b8a718e9e3c923991ec83e99e24f172b5c627cd20 -0b3cf1c7e6c7b3bb98be58f6b968b25362b009751022b6837eb600dabe7553c4 -546d0893cacbc33a71a0211a0af250f027c40993a480c3df41e3918423664169 -c996cc56381ba275fe5987d3a233ffc9bcba4b52052f0174f21af6691dc102c1 -50de1b1b447b7ed287d4167740bbe40f6a9705bed2fafba29b0efc4f032c83f0 -f0d198dcf1aab46ac67a0c6f1f711871ec56041db69847b44f1ef31f3dc42471 -e14ee29302c434c958d81cb69564571ee6e5506f58b07cf3f113ba4711f66394 -2ec79542d67ff2766871689f59dd6750891c94a4b2b51c5271342d0e6f337a2a -42f3e04cafd7b621124a89b9403554fade88b929303899b90a0ee65172a8cd93 -d71b27617c218d8bb119d32af266044bde42bab47db0412698587f54530222ac -3bf3378ca3f94c8991132e0e77ebae03c9bf8675dfdd77a8be7079b8a7e6686c -df1707231ee8c3a993e1ff2d7562a1f8c5808fe1365e07f915318a5888d1bce5 -b823c7b8c265348c36b0f01f4a9d5d979b577d2b7ae7cea15b76466d7b896fc4 -8434a558198256e67d776c223320968e12a55fb7406afb688358f195bd000bf5 -5af2183f37b0474b2ff18c18d6e278d2cfb91872687c43512eb5e34839b29ef4 -37a16ee7db1a76991b08226c63687e8fc448ad348aa5470ff1a1f74f8615e641 -58040cb4c2639eadbe8b321da1faa63f2370f5675060e2c8aad992d1662b952b -34040061729ac40ec06ca57c4483d777572147d469ce1a78cba7608e5e701e72 -fbc3ed39fc0b9ccf3d70285e5a03cb598c291a777c86b4023877c462e7896f4b -76d560bfa9f38804a56a4eaf852c31c0fd31925ca9579d130db8127651f686eb -751e253dd0907d01ac3ef5f4e9b9ebb27b6d7c9a0d46d5e8c0213e4546f91f29 -7f8ea92cabd33ec82bb9aff0a21e635bc3fed07b5d1eb022c59dd173a70e22e8 -bf63792eeb3edc38b2c5775b4d1d167aeb52f2ace755e33b2fa1d88a32934afb -2b9b08cc94e7d271beaade65c51d91c7bf664469242afc48f64762872bcf1f6b -dd2d83bd33e9fb32abaaeaeb013bde7cfcd6287f099ebfeb6d42aa087493aec0 -9a12e65166534a6df25aee5840b0f2481ef8bdbb2d3115258f6d284f76986a22 -72131b769e66b70f71051ba373efeb3df2d75ea84fd7dff3c9d722f983e1f2c8 -ee6e4d0280c8d8ce8b46c183f19529f7048355133549e2fe0d5f0c79a864e3bd -0e139ee8fcf7b5b4e67ba17376952556b0c880d2cc4ea71ef1345a8f825a5908 -1a19fda1215e376bde3a7a41f7178ad8c701d043f2722a4297a6f1a40def3dbb -62a5e3587fbece523f0216057799f3e05940b0f30426e8d58b926208b417caab -7bfeff4b8b0f3f95d50166edf95d9734be56c8c72651095bcb1a5a1c64866f91 -f6281f1192bffedb34b24f307d1ea43a23939cbb0cbad9610cdf6ab993224728 -b4a9ae4322cd24324eb9aa0a0b0e70a43c5781bf860e1d1f3f8236a845d7b0bd -f10b1ff73651468193f655bc49a1a3cb9707ebce43e7361b984333d4a108fe41 -a82d7158773710b33e4ab7302231771448e971910daba80e69e8ab03a38f128e -caa7389461812a6fb0b4ffe861258762b59b3e6c1fb4ca5e2aaee3d8a35a856e -9cd5329f66bbc72e4c7cfc0a1120324e4828f0f6d587350c7f016ec8a9e76366 -4a319bd32bac737fb81081c37acc63bbe0b72b2ced1cfe2f2f91f9160693b143 -d807e35b8c142efa61f0d51f36e635fcf51bea408393a98cd8aa768670b6c8f9 -11159329a0caeb74d38cd5e426ccb80e089659450a4cd23867220aca6e57499e -565972e33936861ae4c57bc962474cd88bc7432c8f1a6bd8d72e1f2f8caa4ba1 -aa2917a1b100f01469f230046b198cc2716098ec2b651ee05bfa67f48357110a -2c9f2faa56e56f82678a43e09fbed5f84c102acafb9cf0487d94525c4c410faf -08a277a2646cfcfce36aca84761903438a3f4166a8c28e3d2c93789e7de5a639 -b0855b9bb2f4292b634199c1d39209b7ffb29f22d13b6d9446e3d6134f91b460 -df257352d6fcb1f8d4bfc77ba00144a9452e6a35ff70b0bffc26a66357febfb6 -60b9653a919839927c7e437b0fb9cd2ce5cfa3b5c4bf78895e49ccd623096c04 -dd2f75f13b756cc5d03fcc7e8178e3cb1b951cf5f7647aa9b563e002fc51e604 -1c4a3097b576a486ccb2e3bc6746e223245328f8d969637a615ca4fbfba5eb45 -948894c312ccd70becf3409d32117984b1e41ba1091480531c145894b1063f78 -42c5a41c9da4a5cf4ba9b83088f5b1f9ca3ff6d962372927bff24c0eab19ac05 -0cf5f36b3da0ff939f510905673c499377b373bf0f7fca82b8dd8bf96ffb1682 -901e645610751894cdc3b80f52120fdd0af56509929594416650640076435d9e -486af4299fd4a418e41642ea9227ade3ef87074a9cb92204005fdf0098408a6c -15a603eeb7748a01ad00ca20112da1456ac425d2595f996dd13188f79352e4bf -817dea0a3590edba04beb3fabf35cb5f302c844f662b88c748d5ef504d4524c6 -349126e6aa4bc181439ba4f4ea5887381fd17dc92cdddb29754ef06b1d9c44e4 -e8c274a1f39fcae013dd267b055e1ad0924cd7b76bb72ca7d80471fc5bc69a82 -244fba90488ac22da863fc5f282fb23867195b1b35e3f78d29096d866aac4894 -b606b13adccbebcc90c9b0a3078b5e1645471b721735f4605fff4580d76663c5 -5110ca5d931f3a94c0f7f25962ca5c01d3be3bfe07e8915a186ea9a711587a7f -cf670ffa6162b610e4a1528794bdba8b1cad15d20cd98fd1618a28a512367993 -64e6bd2484d658cb580be960ec78ec12e1ed84e5f36ce2f3642644ab416fc4b4 -df9828bc1d4a3847e23f1d5953e982665d455f524b0071b5582db38650deb5f0 -d58f7311cf3a9e19db8ebd91c764bd4a63abceee39487ad55ccdbac0a2c4f300 -32cca546b833d6f45f49cb77fa0a593b6b6f92247df132d2da9c113659a0e897 -b0e61f06404e1f88015182d4812dffaeb6a86ec1d6cba5b2e28d6674099c830c -931924c40159030d7a54465f679b5e3c39fbda6b16bd9dd1cd815e3489ece5ff -0f37bc3d54a9011c0dd80e0c076ec49f3b9453e6214afbaa2da94c7aea55edd2 -1b5221b60d20680fe26c5d729a360f243aa817565a9408e989f2b05024b79d36 -035de593e852abc731b48d0d57a4152346888781de7605237d8a2e54267b8332 -2b9b49aa3123a96ba9f4d7865373a31bb02bda9481414b43ea7d53b4e681c141 -acc1239a155bce872241429d64ed3f2a97796d97ad9cd1328980651b941cf754 -cdbf26beffc41b199c0a2ecbbb803bba3d986edc93accd93a2c1deed02c093b3 -27cb853b6fb9d76f648167a1e142a33b6df30cc71810d52394608368572e67f1 -2dda5425c10b4a63aaff5032f6a41eeaa67f713f6c2bf318c98962dd2c088637 -b2f8dcb98fae313ed659464b9c0d4d7d785793db9d2cab9492c82d033bc3bb58 -766aa47e2d73b3be40ad50648d7b081595235f72c7ccf7c25b2ddd2cd5ad04e7 -184877442d93bb1cf3c78eedf5dcc4b2e86efbbcf61cc7b28acda92ad19228be -4b01986bd421a299c68566e73b07ca8d5d844637c3b279f633017145e45e8a14 -f02d02f5707b1bb7b45c9702abc142bd74aa3dad494524cc394f4dfb1f47f906 -672b0000bd355f815153e9f74f9a7f4ee25b84fdf113da33cf12bb0f85f8ce7e -3c9c9cf8f7cba50bd9edc7871f95ceff658f8eb7e89f8d1037f39f7eb508ed1d -74653d072f0f63ebe2d48b0f6eef7f2bcb5c8a11af8a1a9605b0300c394465ac -95250d2133b5115fcc1cdb18b3fccf9f4998c17fdb01574eb9404af25cbb5ef9 -a00de693ba785dece14969f9b37b98a09a871158b1519d30623ffe3f565dc94e -b3e5bbf668827a63db46e871faf233478db6ec4e45f8009e84775300e5ca5124 -877450e7bca5bf1be1f0cdfe1e1847cb8247cd9623681ae2398eebc7ad46b364 -5fed4685c1a95e738f104e4d5fd8f1b8e3549a45df02a5f36adf860e3d5c0f7d -a666c21a5c1fd1b0c4f423d66d3895067a7274b12c055d8380007b1837a9fd16 -0a4f4230ffc10142059b7c732fd97cb24c9e5fbfcb7306ddd97f597ca15a012f -1e866afce07afefc673f45bd1d823aa25f124cd0fd9bf50200802e2491e14fda -358d70630ab7346f9325f18f4f268caf66135091122a5df493235fd15711808f -15010c276b3cc63063ffeefdec573cb8d915fc6a9cb797a285e697f8ea171e7a -77f97f4e0809f82f992dfefd1ef0072ebebce060eb81f92f38c4a1b643120ec4 -851d2436ea2041bc2a587664446eb565890cc6d00d321410bac10b586222fd7e -dd1d22fd5bd8978853fd46e21372dde4823eca3988ae93c89d6f20f6f9423e8f -0dca05c4670656d90e1fb37055d4689df1f4cb53755195cb091fda15f0ee9afa -6a0aa1af4d4a115594a28245c9603417a7e26d043300b96249ab1e5bc4756052 -ab5335ccc04df3f2bb807fba2063ff302c9e36f49b9331b56425089a3fd94de7 -7f9fb626aebf46a9030830fb847caa0665c63e700ea660ba047231ad7ae928f9 -8b85d9e8ab88e0e99cdbeb11a9773db4295c8eb3e5b0c279029a5a594c4c5105 -48de1788ff9cf5309c08c4ef41238931f5dfd887046cff0ee2e0f9dbe3d2345e -f001b0314d864a6a81b802c1edca6dacc04fb077c766e39d3173a1f180442041 -d814145ac9d326dbcef0e9010332959c5b08cc0fdd5b33d61c77c891a1e357cf -5ebb2afe06b42ec211aad6462d6f3d63ed6a8f405369305d5e04b13ef8a3b2d4 -b1cd759e0235149c61dc188e42d5e2efe1578f7ea4c6402374e31d12e97a2729 -63f829f0583d8a47e9edc5026692a580f708fc50c2639b6ea1624335ee60d230 -a70f0a72b79b145ded3303e2f4eba1f07e5b9ffc00918516c19179cac615715b -01d4bba0258563b322016dfc284f5da802453b4bea5aa69d04f2b8e4bcc48b8d -6cf1d741e8550c0681ecb40d7303954f4ba50aeaf5add88d5ed4dc8809686782 -f1be622c6faa7c870bc6ec8ba94e787d7625002205bdf49de401a1d95abcb330 -08bf750bdd8c7412f91a77f752d50fae487ebaeae5a47ec1d0b88eb2bae7bd60 -cc3f4e337b58d8627fb7cbc1d609a3a30feb0cfd91b768b1b1d09a2d35afab60 -5e96c0b1d41127fa6f11fdd35b88566ba8d0d8b2a657a492974167ad43a84b9d -9817e9a0ddf5374596946c6bd68e5ab22035ddfe75f0cc85e1aa8394574c6d73 -b5d9ac533a8fcea8e770d12a073d2185e40c6a352bc96dd6fc3242f4b5b1a01f -f1e6b9c07d7bea2d6da5477b95f8e224cf76af0fa0632a14cf40760cc8da87b1 -e8cccc3c1330e22db525426d4d3da95b0aaffc2238c2b6d55cfe432c74e8bd49 -9d7c93629075efd8357632aa242ec619d31a1184e00e87bbefa26a90f7755e18 -bab369026bc4cd96737046e1a8d17e40e4bf0c3e801b716950c40c3d13dba511 -dca027ae7818c913d1e502586e8d17964e297e524f946f1440e0f1b7d49dc743 -dfbacf4d8eee3412cf779eaa1f697b9a684e12645f37952a116014ef905c4f77 -7ae7dee6e37843ada493df16d28b2a7a692287ac43a5b77f39164465ae703f6e -76abfc5941a670d66bc01ffb718301b1f48b5bb4767b5fe32645684d3d85ef07 -38ba7df2e210640a4c070ae2ea8e13c76c45a6557b2716b2898091e578116252 -81b724906dd9d3b636d294857c23bae96b1933dbe426a2c24cc587c146177947 -32f97ac706117b6edb4e16b7da265f7538accda18b9969bd2a262f3fadb816d6 -3449e0ee2a113d44e5a611d643ded7779b4b1db373c41efa960cd3622a548474 -134736dc80215876425bbcf7bfd6eb11dd1cc48dfe3a64cbbb1c21ef522895a8 -d370cd834c2deef002b6ed27868e18dd4c055987ac3b30dbc5c0ee1d468ba555 -93570c5483ca88d437aef88a97096ca89e8f7f90e890ac5f8472271809fd35da -55e706a7f8eb1551dc4ca23d198ba10e65a1ee9dcdd1cd86a06aef81616cb581 -1935314ab3b4fb37582e761d992b667fb6ec480e753733a94ee437ad1ccfce9b -f22802f4d4585b78208ed534b949caee4de4828805a92a83dba14dabbaa7afa8 -8f1166f9a0a15f3f852bf0589576169d539c416a016a1b5d4d106712e3ff789b -26fc771887fcad928b365c6feb8ac4fe0dd68761b3587cc33bc3dee3957596eb -42c9819034a6ff9b9c744caceebc6863e776e199e0c0f7f1d0c83e059cd74555 -967b5026825930281186cd19d8b9ca0d885353f1e3b0e8671a3ea63e996bea50 -4c3eb146d3e52f046fdcc08aba850e203824918286608396508e339873ba03d2 -637d781811112ad5f86e547e03cbec8753a5841c8477cd8d72b6ea67edb33945 -76756cbb5f0a7b9d32cd1a0dc464445441e022329997454caf59a2055fb6facf -a2a58345ade595a74eeeef119833d44a9e390a543ce96558c177c9a1b6f3aafd -26f8db70f93e6b88b5e6b41616ceb708f513155727dd54f4f3f7ba9fef378722 -876a5f4eda3ca4479814130dc8d8808c1eb1feb9b16680d2945c6e5767ecb52b -768bc1fa4edaf8c0036b1b32a9a67231cc3f07498373f59bb5cdd656640fb1f4 -7b9463969a51e16f3dfffc2ac71359bd25e8b980761a7c070ea75140f27fa3b8 -ded4cdfc1a749703e7d7a30e04a18e77cf44e530cbff6c90d39e1eeb41bc322e -c36d8abc68358a36c7ae7c0fbb2d67abc2fbc14c601ce880342ef044279f839b -60656b57fe06acc5f321837674f85dc700e8d71341f9c91b983c96b5cb86fce0 -5743b394fb490da3f829111a71bcfdda2004698982d1e720cdb460dfecfb40e3 -cf78ceb7122f539ca3279d8c17f65708f7f1e956aedf28669334352dcbe4adc5 -e6525b83e373b00932f6fb352455b0239dceebcd4dca89e45b338eb1db7b57cb -61a1f4468f770fd3bea1a6de483c2f403cbb61b7f57c22f96832cbe44a951399 -7d3ef00fd3e93035b87291a5e21bec79ba9e3a64719808e7996210f99de8e493 -ea0b1312103a834617c58390ada5a03d03996980d944dc7ac3330f62abbd8fdb -03bec526ae8f9c329905a1733ff09e847ece313b508e60dac71a6091b7f9cd37 -223e72f7c1132bc37e96c9e882b96be10e0c59330b3f07c81866642e3d35826a -27aeb063c6459721c8e61bad5f0980481daf4c0ba5170084af7dcf6946c096af -857634f7ada8fa01c0a80c0c2a4163174505f6ac9fd0f7caa7e8cdfa7539b758 -629f73b27efba016668717a8d176a1fa333c70fe12b4884318d66909780789f0 -a52392a19e6e4634bbe0556851fc6b5d4010deafd021e16440cb60c426eac430 -cb2de61a005136f8e7b9f3c1af6866ccb7b213133e794d75538a35b6ef5eb082 -711e0e3ea6f9caadbd3b6d06012a7e1d674d483679653ae7e9166b44c94fed64 -28d4bcf30ec88bc9d03e9bf508753fa0fb0fcd9b2630c0bec10a4afcd7d18dde -78dc5e33d80a9f3c673e65a1d4af21a891221ee65f1bf4df912043640a36ba55 -19a30910f6a793c76e01ed70a4ec0fbd89370c2f5a146eb6f4629fac5e8ecae1 -2389b1118859beb2cfe7e0a5fb0d984ae602ba326ddcf0d8d75b16af35c303a1 -e76b9adcb7967cf01c880cdc5018a6521f86c8eaf48c4ea1a8abf8145038ce31 -bc3364ef11b3a622d16f2d26c3d3d0e33d97d2bc82b8e648b037b5c3c402a72c -cda65cff5acffba4b5da3cde98e3e91032c3986518fc52d851260dca09aa0d56 -9f6ce72742e0fa4bd1574529cd910343267c9604334ab109b467f3c3f12f864a -bd8dffdcc5b44c3c38ca1c38592ed6125723172ca23b8067543db77c6c066a05 -683cb69c12f0171a365bc75a170aba1e45ff53bb29d9dbfa02fda142c52edbdd -500d03db428ded7dc4dc8959607f13dd547a15fda82486cbc5f0671789d6401b -948f3c1b33fcc932a243141228d472e2352a5e122024a329d961410ecfb4c204 -b05a7e226d433976a98075c368a1ce4e43e767b97dd2ba454395f4817496a2a5 -70b5fab9ae65db145fc1a6ca11fcfac22eb09819e43c30455b33e1abee8492e1 -3e1dffde1f8e924433483360d57e663635f7afbe9c41ae98498ab2a6860512f0 -ea39e2906dd36e07dba126d46b8c0fddd730e57d346cd653155e8a74745817ca -27471307835a02d96670b7e5449a264ff767ceacac056e10f0b409bb9561e406 -407d483a40de6710bd2776046099d9a8aa869537febdda0102a0882a50 +D9D66F633B846A97B686A97E45A3D0AA0525392EECAC163E584A9104D99AD0BC +1B1844A0E222653FA481B8809B26A46F4C483A5D7E95816EA6582584156CFEDE +B994ADCFF4645140E3617E4D7E1B0E4541CB9F562E55829B4DD880AABE2229E9 +4A9FA259A734D29BBA91BA1E2055CBEA4339BCBFF98D32CEFF11F296225CAABA +DCA10577A5D431B714726C1278D8101ABD1BD8D0BD0174FFF9148F8C61C241D9 +2AD360A28616CB4A0670C1BF13E7A26E167F6FFBFA02D201035C41858D1C9BC3 +C5482BBD107AB18A030D1E9CF347E4CDD7792FCA72747568EBACDBEE0242F654 +2AA61AF9420834407706CF33F36FDB9BB8C0BCA09E3E0D3EDB9711AAB89ED3CE +DE5BAC9EA97ED8B2AA2EC5B0FD8F60EBF836328FB19ECF23F73D72DA42C48CEA +7E403A5DB5841637E35178A7D1E2250CE208FB9A0CE583F9BB5F242D0D9FE5EC +48A88EF14F534F65A1A06E03D2812E5E90B5EF2EB39962F6DE24669519B26087 +92FA2BADFFB2E71E2884959C9FCE35D20D2FAC51AE938CAA2DC481B16CA80385 +6153A79977CF168D27AC23AF5C9F5A5C699DB568890CB86800CE46D2B9A95E8A +8FA33D57532065B43FE92134F20207B4D72A1EE997D34C8AE59813E246D2B0AE +2002DEB3A16A92F234CF7B44A58B63AFE598C36853E0D56F000D1659799D7487 +0F9FAFD22BD2ADDE02B5705B5F8F86CAB54A5E5135A88B05136C106FE7784BF3 +43039C49B39B0B7A38728EE401FC15B57643B5BAB4968AC4965F27BF8327C9FE +55B586D057A5B67F9729789DDC5C6C5A4AC9E21CE0ACF1C02A9B72F3C264E021 +FD054E895299785FF6190EF689DDCB6281B496A3FBEAF9140B86917135468FE0 +06F159D3299B384C346A8C02EB51E908376F7B54992F9DFD820D91DB7016505A +8DF7F307E7A7E8E64841163AB3E1550DE6141FECE531A950C0A07C88F66C2C6D +8FDE6D0A0D2512D7931EBC886B052717039570A75CB813B767EF3F6E157210A3 +A46A4A30114F032BA029D8207A52E17904D85DF0A7D9E501B59E4B817D6632F1 +77624C7B256530D4492AE7E4E3CBA90F50E8BAF9435EBFD205E6A62F64EF5974 +CD8E25A6906CAC83605B885C22BDD36FA9C48822F17C1071C0C7FC963342019A +CD959A8ADEBD17C734D458EF614EF1A550F5879209A327816D66B7BCEDBE1DD0 +B5D560DF7DDC6F3E2CC8DDD94C94EF3D27DD71FBE170C8BE4617BDFA87FDE559 +AD552CFC1E5BC2A9EC89E2F197EA7A34DD83662671BD7F31FD232892A1E58878 +B389013A404C98354BF71E103BE4CE2C7181C69E5F95299EE164A740C1CCCA57 +C467DCD70275FABB0DFF9F8F1AD8AD4198DB878C3AD7CB78118E12A771959CF7 +86275EFF05A5288B4C2C7246386BFEA0B225EDD48F17DD3B54687CA515946C04 +611860F426EC3524C5FAE321B5F9FC78F1BCA9E33E21B50F40E3C37B9F9218D1 +DA2E3C6CFA4065F1A60674A6AB6C7FDE5DE8D5E4FB54155696745FE9B404D672 +492F4032F57316FB5AD3274C504FE924AC9063FF90376483C8647FD30CB62763 +F54165BF4263C2F43AB0EEAB3455B2CD9E6F785385C62EEAD35229EEB3718DBE +0BC2EA0E63FD8AE3A2A4D72613E494716E01A9C7FBC41B9657385B3FE17C4EFB +060F260AED6A623A639302FDEF4479EDFD9D47DAE05320FD1665794C567AFE7B +58DF5A12CE50929D7B689BB81F7FA6C8645AD007458A277A9522BBF8BDD6175D +EFE417F9C20DB9E80D69DF85AD1860901078C3FC53973E6829973B91B589C727 +05D0809BEC5D74611E49F8C76750BBB8F02ABD2DAA5B7A19BFFD1A04AC79CBED +22D9A06E0D1013682B37DB1677ACDCD9C2C882B7BF79F5205F1FB7FECE186716 +2276D9CF4FC6DA7C463439B10D45C7D718949C66133B2CA8FEE89B66CAD26C84 +0798B31828EA8305FCC34415D565A241C970E47BC3F1C212B287568149F82292 +BB2DF12C1167E57C0BEBA7DEF44EDE70A2C55D4595E79DBCC5B6E4A3D8B685AB +4B86A76260FEFE2CDE336C126BA223FA9F4B4CD364EE74452FDD69F69B69D8C1 +2007F62E80F13AA8F974B0E2D06CDD42E9B61FDC3B182449627810C93DBA6928 +3F0AF62704F47A967543D5331E935F94F2A58AA9394588881EF3502D264C81E2 +8A7E1B43265201F1B4C49A4EE76448D1CD1F48A8C01E28CB26E9AD37F59724E1 +9678A61445AD43374C6120A959A130EBE4E6566F00C1CA18C6FCBB397BE77F6C +D0D633F95DDB27AA84711729B172ABCA93F2DEF59ECB621657FFDDF7395F8F23 +C8E2542FD282E76CC78FA320C1B249F51DEA3CB819EFFAF581E60EA5C9AFA0FE +4348A0795B5A19537D568479C2CE392D8D5A1351531B298ED4B7DAF343114351 +01EEE86C77968293FEF7E667094888C4727B20698DA61FCA950CF774154BA653 +D5C26C224A560EE958725486FC899905CAF450F44198BA633D8639980EA7B220 +89247B9C3121BF1C0C1DD432FB523701060720730E9F51B76319D37980604F92 +E34598BDF81A3E2F8FEDA1187CA50F9236EDE39D157842BB99697A6908A49996 +02AE079A8B885AF93A5FE8B9A960C247807DD37A497D2622D848CA434C1BE615 +232A94F9D254AC9D9D4414C706E17FE6E313E2F73FED61DAAF687478A220CE96 +C89872D795D3BB3ECAE68C984F09636A149C022F4127F2E220714F4C46B51A77 +C19C9BDB44260EAC4D5D177CF6626A3EBD6025E8C4BFB074BD852EBE2A2D4B20 +656E378DF6727113FC2E4411972F265753772EC845BD8AF84289F92E00FF084E +E23E1FDDBF92EAF6FFE8906B8442503E051275D93D41906A7A3990A637102730 +53DED37849C52D39779DAAF3AFD572A41A40D45D3F9B39005F8424ADEC822FA4 +6DBAFD4C80195448F613F24FB2C27402DA065FACEA0325A339CE2380AC4E3068 +F6E707516D38B690DF71AD0E8C35C4924D7129C419343DBDDB85ED1890F76404 +1509A21551866BFFFA6C78B414051129C72D0E315C84144B2966F72FDA22367B +D243EF56A477B3DFBCC8AF7B6FB67E620200B215C8EAAAC52FF900289981316B +C60E07B9A6F340CFF8CFFECBB8575DDAB8AF935881AEC6F0F7D866C1E6AADEC9 +1C8E901CD09E8CE73723AFC16BFA3EE6659849D3E05EB1CD20E45CF7C5636E95 +F2E7746600B1A247D3742F9A57BFFC2AAD5303AB20085A3110AC1CC2B7560852 +01DBDB06D7B6548E29F5307474F9F6EA10BD205FABE4465EE49B1CB1F4719F2D +B45D11CF0F4808BBC4AEA4881748C0A2F1F9A03CCD801AEBB0EC68A78F6911E3 +6E12E02ECF7E9DDCC72C99BA46D8765468462B9AADD9F877A33AE08A7D848E5E +B3F2831DF3DAB63CD24527A0A6E70944211C590B86E3F769D89C49BC776AEF6F +84543FE1C546870C54BAD8FE049E4A91AC3AEA0D87D744E223D4CF6B54BDBAAD +227763C2D8905E71628EA34AE453661179B0452AC0110490592564A451C9C2B5 +E8F3395CC1A4FC913C9166EE6B800104F28BEE3DF01BA22C5AFDBEB963177665 +6663828AF4AFADF09D8FCC025ECA483CDF75579CD24CCB5A013B13B4687A026D +5829C885EF20E05E4D2069E117E0F85D66D2E881213E1819D30DF615DE4EAA4D +1CFDE17373D85C7687ABC96B7AEAB6E230A511B0A95F0F111CDB9FC398A1F3B0 +FC6A85426E37C3B5EE1F629FAF9AA74DA6519EE828AEFE628891BBD83835BD4D +BEE58B6B05801B1C94FCC20CD390495FD1D4A6D9421FBE64D4348497FCA9D5A1 +1B332C9F58FAE22D7A20FDC5A20D73CEB95EAF8A8F1512C407DE6B07852122DE +62F98D8CAAECD64C1FC9FDFF9626E1600A56A061E2A9833070D949B1C539E42B +4733842C69D117D2B58AE4D908FF904C71696A34C1610AA6982BC8E4D52C7D25 +D2FA3E9BF80185399BC5C251127B6C69556B9279FC9194E2846675A21436F963 +54CB97418729B8EBB94FF5664A8B29A0787F92A9B74D1DEB5E6ADCA4454CEDD2 +0F053780BC224C7246CD134F47B25ACA5AA08B431BD2315157C36611705DF0DE +767FE9B0BF9E20989C124A54C79C77032B8514408528B970BE27C739F5308A5C +440E8ED21BEA735122C136EE3E634BB7968281E22133A947416DA2238038CC14 +7146AAF2ED1D90FDF92AC9F25075CE7D76366B5B28AEBBC239980A38968FF9B8 +15E5DC93846CCC8A07CED3567C467E54790062892C274817774286E395ADE505 +3A4951FEE70FEB9CB1F837A1295CED4E933130C8750760B559F45B22D7C27E3C +6583E51C894211DA5115B186FC14F401766C7591C5E01F1924741FB1F4063CEC +627363559A53BFC7CC1CBDAE2D8231BB7CD198E97C7594F32ACB35C58A28CD0F +CA766E49BD7D5717316BC685BD9F0481E4637B1CD7102E1C4CB48B75AE681984 +ED9CA2AC0845C47C4CED4B587C18D106959EBBD9B874FAD6E18EF539137A54C6 +C787E1B5D5F3ACB77B13DB27D871503CB5DAA2E395B4BF897509D5306D0FC936 +8EFBC24A135F07A2C28AE26A6E32E5C8D3A9A09C3F1EE0C18FAB75843EEC7B5D +A65F61997FD9CCAF17118850F74EB98D5EA6D66D7BD2551678F5EF0231543C5F +8EC4F703B17276912A1EBBC4BC66DC598F6F5B4953BB6790B900677E94056D90 +F65DF04CD94D395C28EEA275244C1047D178DDBAF6E0971324F72468AA5AD6D1 +3FFC9C6F679A412BBBC86A1FE55F5369B12A058513319619B0C5870276265C79 +5C55AE4E6C07855A9BC2FBF179869D8FC843020887F3103FFDADD38034D8F34E +BA9CC74D233E20BBCD42F78C46D62EC4BE01C5454E032466231D3B7E999C1166 +890D3F5F644F8AFCC6540A50ED46346EC80B6171119377D458D193B1F81EA3BB +72234EDDC8234B8620A78AD003F279A4B22246BEF2149C36EB3FD38729F6E875 +67247A57B89115DB90A7C0C4F0CDA620A1B77304C21C3648550D2F2750F258AA +E40AB8D6B13DC41FFCEA039BF45BC9436FA8D61435C7A68AA72F30E27B5BA2F7 +BFE00578BB6C18A3DB61A9E84B41CC5A6F4F561D37DACDEA2AE6C8D0C05364A1 +410F300809B64B66CB87A567BEBE883B9D0923B4D2D583FF42B048E68C069BF6 +CB92D44DA5D39CD4D2B1F245E01C1F36626E3819E7DCBA9450A2BBF0324CA6EE +EEE7B4FA88BA66620BB08F65A08BF76C5EBD69FFF5A9A7B1874BC65B1F468763 +282BC437C335BF2645040109A3D2D98CB563D4CEB5C030A7D2F2834679DE74EF +934E027649AC2EBE9AD41E8CE89D36560FCFF3F25B87B75D65CDB23CB54D3C26 +66ABBD1FD11820859189DD2064241C0568E46CEE6FD265E7112FDE545A510341 +6158931C0FCE0FC36E3939F2FAEA67C25E93CBFD63D7EC135192132941FCCB3E +6C30276B14D1BC62CA9CDDED45AD603B12563F509005C3E1E1A60488C0FCDCEF +F58ED64B88A852A32989A638052F6C72D13D031D72A93A103F2F0EA765A81AA2 +5830ED17BAA8AFAE51D0A8CDD7778027505E6F9D14DD64DD2D471FE06C928FB5 +09CEC6ECCC7A7C8B1E29AF07E83C804E8DC1B2DF754B713A660582EBB6337765 +08F4688432DBBB867EAEBB4D9F2113FDB414357A3C444B90AC3B8FB8D6683B17 +083469EE367CC1F13C2388C1E140DA4004919027257F2186CF716C6858D30E57 +18711C074A9C05A17C8B512E2767AA2880C8F5D39ED4026EFD3B57466FFBE533 +0AB6BC5E2CECD68B9981B2BEF1AED8D00A3AEEB5328A5436567D6AA32DF46C7E +F465E963B3FEEDA9112932898719493BEC545829BC2C9C99BE09D7BBDAF95DC4 +09FB645CCFCEE8A7AEB1CDAEC087354CD5EFE743E5B9422B3CE88E98C37E3AF2 +22687DB9CF10CD88109B0AA050F06A64F75ADD796D0CFE51760C4C5E1684D5EA +B3437D479FC45AA9E0DADA17371D616CC087DBA8854E4A1372610EF06A1FDFEA +71D4347680EF8ADD88F630075746AE447896CF63F361505A235EAFD1ECF61B9C +2F36F92CB169B0F5A9A943C39CFE18B2F8F92CD45B12481CDDD1FE7A73DC4D18 +1C5916886C28EF30DD36AF482F2E48AA56435A4BFC57904CDBA6BB2FBF209B96 +83DD7583FE4BC0A3A381305D2284B467A236251092352BBDE73D091175D2BF8F +DC26D77EA9B7E64FA8DC43E91706ADA1B5B74DC9D0879EA696EC44E1564EDA61 +AAF453FADF6FE1F298A21A418194C741F4E7CA7334A4F4962901A65B01942F0D +FB1AB2AD398ACB8D44D136FC64DBD90510A6669C729E62A007D77BFB4DE9C813 +B80BC78A2240D57BA12F612C7BDBA3119C40FFB6EE0B0A7D704ACD3F96E18104 +115DD13BCD1C2E70F8ADF9F258F9B24B13060D2ACE1428C729D0AC268F5A1543 +14142AA8C89BD3E40D837F715293BB155CE657EA499F1A8C14F631774D4713B2 +67DCE7C7BBAEDBD7CD236E6DD24FA08410678A21B3BBF0BCBA7603E5B58D38F2 +6480DC5660DFB6395E5A1C3C2E64E6DAE27DF8ED36E9F2844D17BBDC17761FDE +A4E83449FBA11226394847D3626E1BDB596AD95090D12D0BA9D148144FF6BE4E +63740580820644A352FBC02B408A9EE41D348535CAF92B0863EB7884B5232413 +A1820718E00C9812F53EAF068B7868CEB2A755FB3B3BB04BFA131CF5D3F2342B +858D2D40789EB15ACE5239BAEE279192A9C7D6FA8FCA10770D0BF7B4A2965C18 +BA9ABC63573339592026E53A6CD6974A9A613C036C0AD32CED13619C79539574 +C2C49EDAF6067CFBF22F6916D5B77A57308E13B23854B5C1261209C1E74D6483 +9F40DBF229141445D90A48D0D3535BC38088A07A58FB49B4328E4EC85D1B9233 +0CBF0C7CD07E6C58CC5985D7940672239A9DF4942294E8F09D45931E357CC5C4 +AC86D3B4960EF4D2BA9A099494BCFB3CA0BAC086BD1E52D51937BEAB738C9314 +302716BBC93AD9D2BCF89C8057BDD69149DB83884CEA2635DF627DB30483F131 +52D70D8C762CD2C56D3FD45B8DAF3A92DDF8582E4A2427F78924276B949C5AF4 +8B4078A4F51CCB9B129C6ABC2285718515BFF83CFB393FB7C7565BB7DB2D92CE +8627C44FB4744DC3BD466705D1674F79026A5413390B297A18699938EC1A8F6E +B97C6E930E069B60BFFB4419BA888A1721E7F4003EBE0C1AA54B7A5E28939CFE +0B8B4732BA2BF3A67FDB9F528328EAE9A7CBC78AB15228156D4C7E62BBFEFB8B +D78EA8C0CCB1838661BDF29863CF48868E4DAE932E4333CC1A7CA904620CE247 +80821FA175B59A1454FAF223D2300F3433E424395B7666D7BD74A887D66B641C +7C49B7EE92CD764794A5B6B11F82A0E5DD3C5AAD3E35EA216E34978C90A7487B +D8EF92E8264C4F50CBB149C450E8450506E7411DD4D2C59F76850BE79F5E0824 +AFB0C0B6207D5084C6DB32B75A85C0AFC04D3EB56A5D9D444D86174C0218E551 +9469BBFD2D82446C8A21EC7EB7196D50926443AE6281A9355BE10820960B091B +5668527F349ABFBFDEF66D1BF9B945C979CC4B65A45A94F541305239D5D8F30C +D234127F01D8D61246C24DF667A295744EF0B8EA9FBD304E1E27C5051E037AA4 +D77A8E8E3827BF5E3C70DE472A518BFD42CF72C4E13C4F95283393CE1604AB8B +5D705952F36DD07E02D59FFE71F34624FCC4DF36D0F728385494B14C7B748E5F +A8B10FFCEF5BF984CAA3BA3F907BF371C93EB43E4EE1B52986E76333A3F14901 +57CAB27F7B6949C334F264FDC984EFCB4556AE252DD5FFB101E93FAAEF0947A7 +A47A99930382ABD4D063AAB0AA041D01C2D94C190F7D4D7C7601E876471D92D2 +873049D8725885159C3AB513A0990521CFB725ADE116A6A2AC6810281F5A947A +AD2DD7B8D84256FEFAFD5A05D414822B03FEBABAE8D7B4BDFFBD09F0D116CEFA +8552A3D42750DD847D0C74CF8DB33CE4751B3CB1ACAA32BE5B32D39FBCF191F9 +9E588B8641909F6D22740CABE131CC78D088CD1937803753EFDA1449048B6917 +9D7554B3852ECD601A2773A1CAB7FCDF1AB101339FCDC29A06EEB427BA2B98B5 +B936FDEFAC99ED1AB910FF57513810347F3666952CABA5F90399BF95605A9630 +326E797CCFED22AE46D4748E7FEA347B82BC54EE49007DCF8453E70E9C467C96 +614BAE985EB8A9FA84AEB969B7F926C5A2B064F8B9893507EA6F80D6AEF3DF76 +9A848B2D9F368024FD53F0DA543F17ED079C706BE055D5BBBDE07A54828FA8CF +677D43401C0FDD9DCF86920A8040F5DC5BC5E1657467D66D7806B3537A67E8FF +D0C9C4AD9075AD7627243290CFF8300E9824519B9C9E94652FA7FFA93AB927EF +159E3E6183DC2EFA2E2FE117BCB2A266AC3EC93019896D3F2F68C88CF24D6227 +AE1634A97A5D958F9D77781BFEE185040DD38CB013B32D31427E55C8955F245C +83CE0DA87FB967246B36760935408B2CBC6B79E27F4EFEF8717069EBD41DE4F7 +841C635BE7F699871AEC19945CAB00903F6962CE242C3D546DF7F15DBA8728D4 +3A90F268B8A110DC4C1EADBE597E2053A0BCAB20B94AAC4D77842A0C7FDEC69F +B5136C6FA6AC1C6C96E982428FE49259CF59C3EFD4B13B3C916A0B6C972845E9 +2AF874E893BF8D781A1E08A805B4E07053751D068AD02E22F4D3742481796993 +AFDB2DB256A659FA327440561593F32AF46133C1C891528FD69665BF4CA5AF7C +0ED51B5C7676131D082051CF3BB2567FD6F81880088B8E08E14471F850CBEE79 +1E7DAF21293FA5EE648E931FE9A408DD63D024A156EB3335F59BF86296D3229E +B10E851BF39F89CB172354772F1994B5FC994DF1935EBBF328BCD06A5E17D1F2 +813C5128CA9800C1515C29A6B089AB8C3C87AAA2689482F4ACEED7D292610BA8 +EBB15DFDFE6CA8770519C27E643D619C8968D72FE5953A80CF3C34CCE7ECE90F +090938C3B1F079EFA22A9B6DE86A14D1EE7BD88F02AD7B880B4D662EB60AAD48 +C71F9D9613A492CE9A57D44A0C1E3FCA240A0F49C57285C302455BEDBCC6F7E5 +F5363853AEE3EC6BC822ABC902A152AD0713F18FBAD4EF266B2542BF31414F7C +FFB2F9FB9F14B0EA04698F8C6413784164B8B843CC6B86710167D09805BDBFA2 +B4520DD6108F9EFDEDC16D747800463BBE0FF7232003C1E05EAA6AC17AE757C9 +E7E82BA2C9E452C076B263342E8A698B78E34F711405A1CE29782544FC466E0C +5FE8DDA7EBED8A8D5676590570D325D3EF003B1E7F041D57AF4332E0BDFABFD6 +926C0E971A463C05F828E36FC4FC068C1BCBAD1ADDC04CFEEC0E2A7842ACFB6A +082DAA3A619F63166742DA29F8614799DF092A4B6B55B3E61281D4B9069972C3 +77A42603AD50375EF59633D3C9E1F8DE44AC9378E95DAF5EA171B0B19CDAD5DF +3805AB169E7571990AFEB99F5A161670B389ABC0587892446DE3CB 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 @@ -804,244 +1702,68 @@ cleartomark {restore}if %%EndFont -%%BeginFont: PLBX8 -%!PS-AdobeFont-1.0: PLBX8 1.02 -%%CreationDate: Thu Jan 07 19:30:00 1999 -%%VMusage: 1024 30988 +%%BeginFont: PLMathSymbols6-Italic +%!PS-AdobeFont-1.0: PLMathSymbols6-Italic 1.11 +%%CreationDate: Thu Apr 13 18:00:00 2000 +%%VMusage: 1024 29885 % Copyright (C) 1997 American Mathematical Society. All Rights Reserved. Adaptacja PL JMN 1997 -% ADL: 750 250 0 +% ADL: 417 117 0 %%EndComments -FontDirectory/PLBX8 known{/PLBX8 findfont dup/UniqueXX known{dup -/UniqueXX get 0 eq exch/FontType get 1 eq and}{pop false}ifelse +FontDirectory/PLMathSymbols6-Italic known{/PLMathSymbols6-Italic findfont dup/UniqueID known{dup +/UniqueID get 0 eq exch/FontType get 1 eq and}{pop false}ifelse {save true}{false}ifelse}{false}ifelse 17 dict begin /FontInfo 13 dict dup begin -/version(1.02)readonly def +/version(1.11)readonly def /Notice(Copyright (C) 1997 American Mathematical Society. All Rights Reserved. Adaptacja PL JMN 1997)readonly def -/FullName(PLBX8)readonly def -/FamilyName(Computer Modern)readonly def +/FullName(PLMathSymbols6-Italic)readonly def +/FamilyName(PLMathSymbols6)readonly def /Weight(Normal)readonly def /isFixedPitch false def -/ItalicAngle 0 def -/UnderlinePosition -133 def -/UnderlineThickness 20 def +/ItalicAngle -14.0362 def +/UnderlinePosition -88 def +/UnderlineThickness 31 def end readonly def -/FontName /PLBX8 def +/FontName /PLMathSymbols6-Italic def /Encoding 256 array 0 1 255 {1 index exch /.notdef put} for -dup 45 /hyphen put -dup 80 /P put -dup 97 /a put -dup 98 /b put -dup 99 /c put -dup 100 /d put -dup 101 /e put -dup 102 /f put -dup 103 /g put -dup 105 /i put -dup 106 /j put -dup 107 /k put -dup 108 /l put -dup 109 /m put -dup 110 /n put -dup 111 /o put -dup 112 /p put -dup 114 /r put -dup 115 /s put -dup 116 /t put -dup 117 /u put -dup 119 /w put -dup 121 /y put -dup 122 /z put -dup 161 /aogonek put -dup 162 /cacute put -dup 166 /eogonek put -dup 170 /lslash put -dup 171 /nacute put -dup 177 /sacute put -dup 187 /zdotaccent put -dup 243 /oacute put +dup 0 /.notdef put readonly def /PaintType 0 def /FontType 1 def /StrokeWidth 0 def /FontMatrix[0.001 0 0 0.001 0 0]readonly def -%/UniqueXX 0 def -/FontBBox{-70 -261 1246 937}readonly def +%/UniqueID 0 def +/FontBBox{-4 -948 1329 786}readonly def currentdict end currentfile eexec -d9d66f633b846a97b686a97e45a3d0aa0525392eecac163e584a9104d99ad0bc -1b1844a0e222653fa481b8809b26a46f4c483a5d7e95816ea6582584156cfede -b994adcff4645140e3617e4d7e1b0e4541cb9f562e55829b4dd880aabe2229e9 -4a9fa259a734d29bba91ba1e2055cbea4339bcbff98d32ceff11f296225caaba -dca10577a5d431b714726c1278d8101abd1bd8d0bd0174fff9148f8c61c241d9 -2ad360a28616cb4a0670c1bf105f3d1ffa85450238616e5a0c33eac0f9ccbde6 -ac15f1cf2a94043733c8cd06266771c56ed8a3da9fec02bf3c2e26ff3bae2cbd -fbcb8ce1e8ba45e7c3f8d6ddb1c1c5bdc54883488da7cc4cd2c05bfdba771011 -dba8cf2637698c547be9ef95591b4e0b4bf322bae091cded462dd98a0feedd13 -b63ea201aa22586619b9e0f89e8963aa1debebc5ff84827ed982298379501bdf -b8c460a2da020f85e62754372d716c35bc979085d5d028a78e6bf0328c4f409b -9192e5443f6f0a4704fcb17689bb601b980a049b3507abe7f8babb2352ffd5d2 -dc0c9e62da8b6e80f86a4c9c0f03e3f6fd5bc04815a0b1cf153a90701e8d69c9 -32d73148e8cd2ae4b79db7b34a135ae9fa28bec8579a8699d66c696ad7f6d7f1 -3b5e0e893a4c1711db1b25ca8354e5b65b92a6310e360898aaa1bf8c892c1fd8 -4749091be71be45da4aba315f95b724a60f17c70833e889c903522047c2cd466 -cf31228c9cd7f72dc87b7dd2f4d7390a7aa1b5923e3b9fcb41ab066f94ee078c -9cd251103e5fb8e75bf46534f5b8ad4be417217fd59ecacc14ee3e7f6d85ffa2 -31f9e65964743867033c2b058e9dd6019f0ee7330f16146036cf80f3178a3e49 -36bcba0413fc61c9cfef97ded0d35eb6ee1c6e6d9d09b6c07bfb23791a595768 -723e46787a274abcb47c29b78d5fbdded54728d49f9a4531b8e8cbc1f9a1d55f -c15724d10ccd681fa4680da00195f36915de2d3e31ccfd5740e38a18764d8f5c -5a0906a7703c22d2364cce2f89380952f0f02538e92ab11a78796a5fbd8db423 -6e45e25b3f0e9cf98b50d5ac0a99c3d50b8355459f59d6b6d86de7a106ee9baa -f10841da85839f4bc05a5b4dfb56bf8a1b03457737c5f728a38ca1c1f9fda2c1 -d6f2e4076cdbeede162ac2995b605684c8ccf88f2e09510a56be49e6e2c27c0e -787409973403e22a5125e42f8a6b6ee13e442069471167864ea8d170f2a36868 -8ef370b76e526b368166fe1c1cd39a2263c63d064b92de87bc75224fa8ac3080 -669e17f00a357fb57de37377181154f97f9b0799704733cb0e0f91f939222360 -191b4fcf294f45bb172b2e76da557a65ce992b15a91b1cc40c0d973285d126fd -40cfbb68d5a6a4cedba03cce2f4570eac67c9ed2f10db49362ed8073f0ac8279 -68bd2534e88816b5482e6fac424eb55bc650b9184190b46099d6fb9124dd53f1 -8ac0ee0b8eab2d277693f48735ad8f300cf6cd463fbf93adb5b5525890782a53 -6cec918827666c7357f3655414ba485b0425f00d914bfaeee2c3d7a84d0bb076 -9d9ea93dd07c46ab3c1e717356d552ee07e9263454181b15874186630da766ae -8ae80a1276ca0f470473989a350ced6365823780f11a0e1b58dfd4596818bfdd -5be8f7240c6bf605f9240eb7fd65742ca687b2e33f4bd1f4295655a246c43675 -5ac29850ed6ae77b332d39fe441036e6925e4ee272356d19d53d7dc75e8d7f59 -6efc87808da8bbd4baf1f73364a5852ae98dd5fa1344d90081123cf6f5ce301e -cc52a2733089facc7a4bac3d34e4266891292d5d7fef591ea117948b4217515c -6e8d207e47f68e898902661c8b4fe2354d41c1771fb8b1d77954c61bc2ed2465 -35474b22cd9c6aaf7b95be5ba661cdfd9c242a92670fe737693b0f4f91115bcf -0fd9bf4034597f7e7f33e59b5719825aecbfb8d4b5ffbab6a3e4af26bc18c712 -fa779cfe0b2c6aa2347e56d2bd44278d53cb64a7a0812d49ac1ca48b7ef4a347 -d33d6608583b47df4ca492b488813f3a8ae1c105fff4e33cd2c3b84d2448759e -c6f815a55aaea04ccfa88e69efcaaaf67881070013232af550cc921559cb3856 -667b174c25c6106b2a945fe98646215d431265b0bdc1648197be1ce3cd5757a1 -a29f56c2ca3ea0c273b0f4032b25f6a6902d042863b0b4d7eea37eef268aa1b1 -35ac5b49af89b389c6f6fbdc114659b66a93ee01d945f90c9aca50654cea5c07 -2878070369308728a3cec6ab261d098f1ed1757d037dd64be6e8b13de34fc0b4 -cce4249282721e8c92d719122929e527f18310a06d369224a1be7b3379c49452 -4a35c3ff2e1c6040700bab74ccdef3ae19d32798f53685279485efaa4baec658 -5577370565de2352c00c16320f8ce9453a46cbec33e262e2988b5486194ba67c -a043f82dd388640b9507c65d2ff7ee74a743c52f4ae7781bbd6d6ca936baf92c -65ff20e96d6c1e4d8c9a08ad61b6679d17d7601e4c549f7ab5c7cfaef5ecf8fa -316076dc752630934d8f7c6b4e2502995c86a0a5d70feabbf7b9921a34d1eb15 -7f16ee82c83b5832fb626d826a9a7fdcee0e88d894bbe081c41e3c4cc7941f72 -c9c5df08e42276fa4363e6386698953d28e6ff2a606cb21a4599bbd7b44574bd -0a2fe3b479814555780aa5b28254dae5a8b15de7bb3ce9ca9712521ded55c243 -4e57eeead692e2e7cb8a3bf95f27ced0b02aa6530b1deb22e0a26dfdc2ef71d7 -ca53fa5d8f6d7cfa8782283be7582d03f847e491dad5307b0297f280d51732c6 -1964a6782a1b2662d0387c5721b092ec48166e24320acd7a8390936a1e5a6478 -78c523c7d5fbb7a317db3d92315c627cbdf330abf91f1c292112cd496b872dd7 -03cd799defa526cd09b4f17ff2b810e625924c26e717ccd2bbab2cb5519041b8 -0a7d0ac210a9f61b39197dd6e508e1a92546f26fe4fc598f57088e875b1b3162 -a17fad3497f5c6fcb66877612819af131fa3b55d7fc59a218ae89a8f5c8e7757 -9087459d3fa475d4a2b39ad73bdd98ecce88de2b850819d78e87aa8a28f1a8f1 -77aa68b5827a2ff4c7b11faff85e3402f254b20b5bde0adde2e72e16c80cc972 -03fee96779d1009db314947953ee54e105c17ac62b3da1560e72713560f6d875 -cc3c1eda5d90d354485cbe9c23a18e187c0750ccfeabd319c6d25384e3f73428 -17aa2b7e110a052932a21516f3ea786f35c037090a16a541d06a66084858f6bf -f50976df6654d871ecd0bf5313c2c7564e7b498712b78dfc436ffb4fc7f949d7 -bb09aa95f4029e0a55d34e940962ddfd9c2376e4631961114f174819d1a00513 -202447c343bab5cfa015aab1274bca708577cd0541c52a4e98e0f9d50eddbe6e -0269ac9f116045f7f9d7f7c63a85c819f650c48f556e8eddcaa784f3398a2e01 -68519743f5cc8884785046abb0cc38beb60e007ccee2b15dbb5b3244635aa669 -ee1207fb5fc6af6d0ea150cf7e58bcccff105ace71b58eb54cf341e662478d6d -a061531ae91eb67b9b47cd326cd00146b02743e0551b4df1d468ecdb47c853f7 -d077e45b4322e63060ccc34be2957610c5ba9f0e8281d1c8df25a894a2acaa76 -184975134820d87b034128a58791051e51825875a995ae6fc26f95e7f99e99bb -ecd5a76dd74a869fedc183aa9f83a4f6f616d20901d2c51bf3e3d549c080194b -737b71e853a9eed6e85b5d4091c864694865a2b58d8c098ce8056182e6b110d0 -401a633dccfea0d0058dfe56caab5ab77d7899fd68453e961d8d9b65d90c478f -7d2fc68ba6a8004303428a057f60015c9fe282fa070f24ba9070e927d0dfc9e0 -606823067be707b0b8ff4fea6be69cb4c864b6d182bcc75a3806823d6e2bdb25 -79e5a5bebf3ebd0da5868e57aebf58af9a579db862c1df4e23a07f6c0e13217c -f63c488c6fe36e26a7403b57472254231145be96ec7a5251512d5df0aabc2454 -5bcf9bf2f754d1de031e30711d4772b2bb04e1f7e3de4e45b2ead29174c8f002 -45074ec52fc74423af9a48102e99f49c0b7127f84fc43db4d00bc20243dc255f -a38bb516f3dcf1a9d6d29e3ff353766a34703fc9c102ae99553a3e845eaf43bb -4e0a5bbaf4ae1caa29619bc7109c577b21e65a257e704fe155e6cf67fbb5a579 -ef7fd0eb3f3bdf5e2829d706c158c2faaf73e3b08f22aa2124c9f5992d2aebdd -77bc5c4d6e8068cf4200020058c8cf0a97f503f844947c6c776a4347166ab3f5 -78735d9389506c9e446b26a29106ed9e7c13ec10cce14c374b3102b4eb2331fb -631b7144d534d34301fe5c652ccae8b9f161f7e4dbbd93ca8c2a2979685ad323 -e99925b89ef3768ddfd6ec1c6cfd112fe3e97a68cc6f64a8a8f0a39c231b732e -52a08770f79e2a039c7b4cc08a51007d47c11b65279d8ed57d9c41d8ae53cc8a -5da075699d777305605fc4638f3e8de5a9d17458a1568d00e7bd7927d8e0adf5 -9708a3dd7a65ce47399196fc467ae3f078f5b0508fadef1e024087d2ff0136f2 -7ebee1cf8137105e4fecae1ee5065b228563795be71d6732fc1e5b3a6f2d50de -be1101e17d2dd9782b044b7726acacc2dceee64b214a8b9a249f02c92c2c0b16 -b952bdc2603e4394b1f4162a47f66ba9d9b2ffae44299e0c2fea89956f6b950e -68254ca299f7277931a703cf32e118cf84871203ca3b8b8ab876c0d67a4606c5 -7f4b0e1fe531b466b4df9012439a2b67fba717e5ea09785bf8e7f0c6ecc676c8 -a42ff3cfb0dd3f49d92d2557d3bf269a8ed6d34bfc1e8fc20004bdf4216bc35f -0e5e26ba57cb96ed06b4b1cf08ea563619494980ff7dceb8cbb7211fd8af69d9 -ff8a19aa3f36ed3686b735a04a66996510b60d53c191bfc62357acb54c3e68a5 -f78b121e5cecfa3171af39f0afe37a4a817d8f76c584321ca56b4bbc18193bc5 -9cd32fd33c270549d4faa27fdb9a17dbbfbc239ee7e1fbf07129a9743036f229 -2d0efe117baa948b65ebe4612bba245f0a9f940618ce5b1dcf2d0472eac9e9a8 -61c0498fe43182ed175678e0f253584a15f794f667739e5d169a9c2945d284e3 -655e92fc9e06554a53da6898a20f249245ea03d5d074bf1bcb8ea47ea656442f -bf6f58740def55562cc298fb17576e7233ccf453868de2d57670031ddff491c9 -911496002b06e5f5f95800f62565f33637bcb9bcebd617ba4b9c11724532e918 -9396fcd4e5300b7f8a2a213a7fff87d0f5bc29c3ba1d753ad294b4dd7fdc7268 -1b935ac8d29c4927ee6cd5e0c9d8cb3ba39a81966b193f939510eac8ec3b8799 -d68696fdbe0ee64bd9ed50ffde5d53adb1ddda9e6f70252d29a118c13c04f2f0 -b27a52df224f6c668996d2c921cdd34db44dc473d721b22b9b65e3bfbb0f1b96 -17c6cfa9cf95ca9cf0e989b3a34156579b9bc0ba2633872f410b8d5541f2c6ab -c2934395ff4785afe71c203e4790b22b032007258be0c386abe919fc92692864 -bf7244be4b30487a20f9190be0714cd757e57701489acb530d6f53d74db358b4 -40aeaf46b1773102a23150fc7ced3b97fddbb0279980f3bbd3d7902cc4ba42b0 -6633482893ced1635b1917723d80fa2837fcd447be02514de49a689671d10f14 -4a29666af945b65cb7f2c44da4f9ab0b4a75c9b6678bb1ec94756191d6d0ffd8 -b02fd55654a83c0c112e27c09a2f069a791a4e046db82f990b427a022d138d14 -7a88d61c5990438c17e103cb0185254eaaf9686ebf74dda2c816abb11ba370ce -fd30ae51a244688f09a9cb7e6838a09c9d5894d7ce47b905e69a30109908c072 -ce234ebd1e4d3e42685121efc15c3b5050bf67e3e60f20c0740855c29f92f1ac -c2ca1e71a1b9ba691ecf8cdd7f6f423edd404950aab4de3bb699d40a3c17d46d -cdfae521e5df5a2b1b9b824e08c5240a47e552425aa72992e6f5744ba5fcb944 -a15a1593b410278315d8bfb417b3267018d73a48d341978c35715732e4205eb5 -39a2a8c026ae825e169d6276aef72d490fabceceb784e85e9069269d9e4b67ae -4f44415b51e89fc1e488c23589f081ac290e634dae0db782e34d4d254dd407e1 -3183d3c16550f3519afe92ca449a3ae221337a29459f070021e9fd91bf5b2b3b -824e102bc7d1cfb4b998a042e991ee4f32563f289a78c2b3c1834820b85f19df -85bf3f3a57b3731f098a9a9c4336aae9b9129b5c17054971d518c02bf8e1aac9 -1dfb1614754bccc95a7cea02cc467fc45cfc2a731d7ab22eb0b4c530e6e807ea -c54e2a8458c67c98d19ff7ed3a8ea82be1cdcb691ef2403565b4a26c6c2866d3 -5338a30eed584320b8b83268f4cd27796210a8fa28ea0e8e0628931e6fb4eb55 -337f21934715b75c898b96d91a401397b5e82a0183d083a900129e101050b907 -62efaf4bbbe1ab96d4f37e5dcc21c09b95761aefe52c9655ce7c9fbfc37900d6 -b759adc367e911a7460ce78295101ec74be4e51a5796a970eb6fb170db7e7dd7 -33c9de60807411c9b8ed17b6b2f88c2fdf2cc73b3d4b83a044d37e9f8548476e -151cdc17b60919a4fccb7078c842d8a675b45412432e63e431d4a6e44e151738 -94ce686578051b8f65734a2d8bc5bdce212811c387b61e3455a8c972b8b02352 -aca742a11f122e6873316240d04af7b427aec5da1075eb96fb9289c1504f4290 -ffb530a9bc646f87beea36b23827f802ef4e81bd3f6cd75fa5cec834b0073fee -0eec7854b972c737e2ef18b593609664e15e792cea6642df84fd6213b8f99660 -eb2126124d5587698cd74734106012f2ce06554f7d9ccb636f8f086ef6102347 -a279ea4125515d69b14e2c44f221b5bfef0aefd92aaa29809a22387247d63f10 -3fd8b434c7eada434a923a291b4ec1ae61779106cc88a11fd57ecc2e7c806afc -d7447a236bead87ef255403fbb0c5ab3ccea5b904fd0d131d862499c44e34046 -e935df39d875e387d3934dcb0d14c9ff1418c34c73a8f235d96256173888006b -f7903958de56dc06d3ef0eceadcab303e8d84e61424bcf93069fd01ad9609370 -95cf295b432536aaac1fb82ab2905c7d858a8ab8de9eac3786b259b510ca58b6 -337cc475bacb6f6ecc606bb525159b2df4c57e647650bc470ccb764eca9bccb3 -637d917d37b02892f9acbb8518802bcf0f007a7a341f39368cf268006aaed6ae -5e94ae555200db288442b17a6a2a23cd401b859a181bba8b810b6f75f109673c -055c8e9d284aef2342d7443d3ded26316a39c4da085f8a40a484c224b7970352 -0d4133ffa642ff325ea1884687289b9527c8f4fcd05cf01bc53f286001be102b -e5eb76b441d7af52a96b1ec8aef732e18c665bc852f771b1068f40c3d1e898ff -61aa94de674e9ed9f0bd56ead9969bae7548017e240b82d884b5c5c01fc131a8 -bdae9c7576aecbd5e0b9b5fdeae734713e95f82bb47a48584b1566e19f0e355a -6bf251bd2f3862bbaee51d860bb20692a05d2a405796f4604e79a04639211acf -e93fbf04af99024fc640c1867af9533195056cb4bd7791f9cfd390c6bf2306af -163f363d084389c66c0468907ae1d25fcabe43ee8db1f1e7c59f27d1cee63e04 -a2c87fda4383cc95face761d6fb88ec6274164fe55a62af223115117ee043a41 -48b073cda14f31c42e59308bcdd7681df302405dfe81f01e9160c73a282752b9 -704917012171263cdc9d25ad539ed4ab7b3100296fb995f2c56f3742edb36417 -5ecb202ee9823d2c11f19a9f8e474fcf201cdba0d0596168ed07cf9faf0ff598 -4287246ed6c0536e023ee15cc463e319faa8df095854f059b7c71033c6c8edfc -3c8cbc7be7b8b01ebd07712d03c1 +D9D66F633B846A97B686A97E45A3D0AA0525392EECAC163E584A9104D99AD0BC +1B1844A0E222653FA481B8809B26A46F4C483A5D7E95816EA6582584156CFEDE +B994ADCFF4645140E3617E4D7E1B0E4541CB9F562E55829B4DD880AABE2229E9 +4A9FA259A734D29BBA91BA1E2055CBEA4339BCBFF98D32CEFF11F296225CAABA +DCA10577A5D431B714726C1278D8101ABD1BD8D0BD0174FFF9148F8C61C241D9 +2AD360A28616CB4A0670C1BF105BF4659ADEAF285B288B8C45EBB1C430ADC5E0 +55C153C58D0F07FB32132C3CEA11815265D39A20821F7A1A778738160578BCED +399653EFF49CAC16EBD0B780A11C18E6966BE38184B550A4D69D69DB456B328E +355FFDAA78C47EE83DAE72A4DB5A385052324763CDF9D67D462D1550C78C3AD8 +D5FF01E46EAFB7361C516DD8C71870BA0AEB8E6FEAB79E82D9CF94B9945492EC +7526AAF2785529A98FD4A7EBB5F15BABC0619FBC49C907F07FEC8E23D3D35C71 +A304A01A695DD9119D8866D0A5DA72A216E9F80DABECA85A56CAAA79DC5E42A3 +CF4F1D171A6D50DB9BAE2F88130DF372B37A75D81089B6BEA6002C995ED468D4 +58AC20B9EEB2AAC85F82943BD9E77210E6753EA5604033D75954FC56CFE8EA07 +FAC26C11F80FFA3706A4BC08DD6698ABFD26B1E4EEB6AF0585C7CACED2867442 +F5FE4455978BDBA063C52E8210D675E198F88DAE125EAA7F5977208E4CD75D5B +8AA2D56A3111A050E501FD978DBEC0E0DB9C4D5A1BB8A9E7BB776B37107CD588 +225511D4A92100290CDD8BF9315A05962616BDEF31DD007AC99947459D2F1279 +227E647DB37994441D207FC17B5F5127DFE683A18263F071BC1C3B8023F974E9 +CC07FF8D037BB5AF29F2B829D8492C7F0AE5DCB73E9D05B0E925556DC91B7102 +99C21C5E31B451DA322ABB2B59D887FE5E39FBCF94C05E6C67AD8A7BA2F9B635 +0B42115E8D0FF2000464A56568B9E97A96BEE20D96CECAE4ECA748C571175629 +C60F35CDB604A66EAD9D4D7AF66B53E3B0D41DFAEF96ABC838929DADBBBB98A5 +D8D52800C963E2EB8CE0D5878E65F40F5C91E7C887EC5F5B9EDFBA08700284C2 +967FE93F346CA2AEC93EF3F1BF3095A56723F43FB389AE8189C08570A68FE01C +5F07EEF6ED05C4B4AC9D3E266A606F4C5D44CB71BDF55943069923A29BCC9632 +FB5F15E1D2E733FFB930FB 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 @@ -1053,531 +1775,613 @@ cleartomark {restore}if %%EndFont -%%BeginFont: PLTT8 -%!PS-AdobeFont-1.0: PLTT8 1.02 -%%CreationDate: Thu Jan 07 19:30:00 1999 -%%VMusage: 1024 30414 +%%BeginFont: PLRoman6-Regular +%!PS-AdobeFont-1.0: PLRoman6-Regular 1.11 +%%CreationDate: Thu Apr 13 18:00:00 2000 +%%VMusage: 1024 31499 % Copyright (C) 1997 American Mathematical Society. All Rights Reserved. Adaptacja PL JMN 1997 -% ADL: 772 228 0 +% ADL: 417 117 0 %%EndComments -FontDirectory/PLTT8 known{/PLTT8 findfont dup/UniqueXX known{dup -/UniqueXX get 0 eq exch/FontType get 1 eq and}{pop false}ifelse +FontDirectory/PLRoman6-Regular known{/PLRoman6-Regular findfont dup/UniqueID known{dup +/UniqueID get 0 eq exch/FontType get 1 eq and}{pop false}ifelse {save true}{false}ifelse}{false}ifelse 17 dict begin /FontInfo 13 dict dup begin -/version(1.02)readonly def +/version(1.11)readonly def /Notice(Copyright (C) 1997 American Mathematical Society. All Rights Reserved. Adaptacja PL JMN 1997)readonly def -/FullName(PLTT8)readonly def -/FamilyName(Computer Modern)readonly def +/FullName(PLRoman6-Regular)readonly def +/FamilyName(PLRoman6)readonly def /Weight(Normal)readonly def /isFixedPitch false def /ItalicAngle 0 def -/UnderlinePosition -133 def -/UnderlineThickness 20 def +/UnderlinePosition -88 def +/UnderlineThickness 31 def end readonly def -/FontName /PLTT8 def +/FontName /PLRoman6-Regular def /Encoding 256 array 0 1 255 {1 index exch /.notdef put} for -dup 33 /exclam put -dup 34 /quotedbl put -dup 35 /numbersign put -dup 36 /dollar put -dup 37 /percent put -dup 39 /quoteright put -dup 40 /parenleft put -dup 41 /parenright put -dup 42 /asterisk put -dup 43 /plus put -dup 44 /comma put -dup 45 /hyphen put -dup 46 /period put -dup 47 /slash put -dup 48 /zero put -dup 49 /one put -dup 50 /two put -dup 51 /three put -dup 52 /four put -dup 53 /five put -dup 58 /colon put -dup 60 /less put -dup 62 /greater put -dup 63 /question put -dup 64 /at put -dup 65 /A put -dup 66 /B put -dup 67 /C put -dup 68 /D put -dup 69 /E put -dup 70 /F put -dup 71 /G put -dup 76 /L put -dup 77 /M put -dup 80 /P put -dup 82 /R put -dup 83 /S put -dup 84 /T put -dup 87 /W put -dup 90 /Z put -dup 91 /bracketleft put -dup 92 /backslash put -dup 93 /bracketright put -dup 94 /asciicircum put -dup 95 /underscore put -dup 96 /quoteleft put -dup 97 /a put -dup 98 /b put -dup 99 /c put -dup 100 /d put -dup 101 /e put -dup 102 /f put -dup 103 /g put -dup 104 /h put -dup 105 /i put -dup 106 /j put -dup 107 /k put -dup 108 /l put -dup 109 /m put -dup 110 /n put -dup 111 /o put -dup 112 /p put -dup 113 /q put -dup 114 /r put -dup 115 /s put -dup 116 /t put -dup 117 /u put -dup 118 /v put -dup 119 /w put -dup 120 /x put -dup 121 /y put -dup 122 /z put -dup 123 /braceleft put -dup 124 /bar put -dup 125 /braceright put -dup 126 /asciitilde put -dup 161 /aogonek put -dup 162 /cacute put -dup 166 /eogonek put -dup 170 /lslash put -dup 171 /nacute put -dup 177 /sacute put -dup 185 /zacute put -dup 187 /zdotaccent put -dup 243 /oacute put +dup 0 /.notdef put readonly def /PaintType 0 def /FontType 1 def /StrokeWidth 0 def /FontMatrix[0.001 0 0 0.001 0 0]readonly def -%/UniqueXX 0 def -/FontBBox{-5 -232 545 841}readonly def +%/UniqueID 0 def +/FontBBox{-30 -260 1203 929}readonly def currentdict end currentfile eexec -d9d66f633b846a97b686a97e45a3d0aa0525392eecac163e584a9104d99ad0bc -1b1844a0e222653fa481b8809b26a46f4c483a5d7e95816ea6582584156cfede -b994adcff4645140e3617e4d7e1b0e4541cb9f562e55829b4dd880aabe2229e9 -4a9fa259a734d29bba91ba1e2055cbea4339bcbff98d32ceff11f296225caaba -dca10577a5d431b714726c1278d8101abd1bd8d0bd0174fff9148f8c61c241d9 -2ad360a28616cb4a0670c1bf105bf4659adeaf285b288b8c45ebb28817b16fd4 -e84aaace8eee3ff662c0a331845cf93764ac3d89dbd552b91a1e9b652cf90846 -0db65cabc15cd4439ae5b5277f193d525319f51c7e4782f09759a87e1b37a013 -c4c25f5c7c43490b50cce7b9c9ddb33861bf2a2b755fc0e3526a02b7c2134177 -0ee0df579b43a3965daf9548ef0e6a5e88a265dd968ceef0372f7433a5575690 -db0eb58eeb024104a2b925cd1b8c8971d80232693c6e616e78306ddc79494fd6 -f4cf9a1be8b2478b8c2073f3dfb2ac1b08a9f95e5a6129bf96dd6f356e3cfb10 -6cd4681b468893dcdd5049b6664bc42200513b9cadb615879e41d6190aa3a0da -1c06f42c9aa4fdaffc058871ff664d81b7ff38800c5754eb41d12cd815112403 -6ea610af0867c9ae27ca804e973a275571270ae4ba32bd77b98ec59b49e79468 -b5528f5b5dc8bcdd4f914bf569ea1f9ca8a732a1db6fefd3d8a2b222301fd738 -1915d2ba0d44855014e51e668c3c7938c812d690765d217b76b59de1a9aee59b -1bebc3e1d081d58da932b2554e88fc48b08d9412bacbad3d5919e0a3e935aa65 -2c0b70f4968ea4a18ec26969599ff82a80bee936aa81cb3de0f664f06a8e4988 -851f77b198eb86f6831b6a89b1b47f219461c3aa74694597cad4a67b1b395e7e -63879530365d05fa84eddb1831eff1e3f220f297cdee6e7916ca9c2100fa3dbd -4824eeba0fef7cbd332eb57640cac849bab70c11a22cf7270978e6b36ec6ba4f -e46e61b0482f8ff93b83b052d0dae19eb930485888b2515b5e99ef986cda347d -3cdc898d9dbae5f5bd65e1579292491271a92beedd52409ce0aad96f24eb873c -d641cb382d45493d7a3d3093379ec38a3a7ee353632ae60c37c58fcf4fd48832 -e227a72a1844e6702960623999f7d80cabd3f952fa94fe5a43c23651ba61f05f -5872c67d078cab77ac7a46e6c1f6f139fafd5127c35f5258bec0b1286e9a3075 -292bd22a1a601d90d46920730086b9a3d3e1adf93b68498646bce69ae1b80e60 -07be3225d4c0ec82081b8b0f50a66af49829bb3b162cd242afb9ed4e7f34f492 -737d88a77c5c5009da8d86a84e1fd494435ef96c3989c5b65e172f3ccf791f6e -21ba9660d75dd722c24c9755ade1e0738679c6609d00593ffc61c11b91777d82 -28353a8951e017347568de22e49b3861fdd6fd3393b9bbedb1c5bc012ad39b46 -aa495292854b12eb1b5ff43aadadf307c332543755349b2fcb2672e8083b9c14 -abbdc91242e8c59ff5ca434314f77a5360a060aa2b09f23fe4839b77691efa63 -8070b37c8922d5f8f8c0b8c88e6f00e152a8ab3d6b9566a1c0fb54723577045d -a4cc7f8d331a8e4866db01af9039809c62616182b66381d8dbf19b16ea1cf17f -a4a20f18140fff6a9dfd917a5294bd57a778635322c38dba936e83136ff891e0 -749658f49822a62327206a4ab2de8beaf0f30ec9dc48e9f5ea0bf1b573aa44e7 -bd65559684db8f07bd14dff988c396c6601946bcbc35af5857904d247f75f611 -79030ec37db30c6818414ddc4a37e6560a7a9f22e6390e46c674f82adf1367a2 -3b16bea15e8d205ce1b44c2d65f663cb57816de7ae9a08ff6147a48cf17d98be -50877121d216c08d7b089e17ed3272d8acfaf83fe9e8512889992d49a14e72e3 -9dbc0357c4278a4b5a007505cbf1785ba5e98f39f4416a4b852fffd34bf98304 -3189700ad11b06a9914c7ee4309515d5b9ccda8201de081b30ab7edf11ba9e01 -78676baeac7fab321f17fcf2daa38687212e5993300e15191f802d107a442281 -185140a242257c4c2c67d3f70475daf34410652bb06a14b920964d71497195dd -c781223e7a59fca59c73f6bc9905a60dcd8e126c7fccbb9a4e8dc7dfafa71b19 -26c043cf0161f85f9adf474e0fa11e390ef0e5e6d2165b83e113c0f082340d05 -4e90267144f433e6ac1cc4ac2926786df6903708e4a7ea5910bc8c118687df6f -6fdf1f85e2776dca03812d527fa80f145e63cce8f4b450cb5ddd2eb43755947a -8222c3ed123300debdf5e789f5ef406fdc6932dc009906342da21d601b8b1b2f -fd8c03fd8f7e6c9fabe3614a63139cf423fce9b9552ec577349784606fff80fe -249fedbd90a6603588a7631097b7a94d7316e2f42fdc0a048d7a485608e939df -e46314b9e1a0eed00ebfb8b3ab3ec324fc3f11f042607c42365fb5c527747e77 -6acdb9108a6b42bcf65646ff6dbdd10e06ac2391a13b16eca58d0b5f19eec293 -18111c2101a03c9a6e5c0cc70da892ab116d3d576bc7adc2716e69ede1324f2f -90c5738712d5ddbd92531dcad9498d97d96bf644812d89885a858d607b1e3ce4 -fb35b3b2123d9692cadfd7aa379e2acbc9093ffcd742a1f7c76231908312b3b9 -e9877da4fc3408c7889248db13adaf7e29314e3723e2b746ae47b5ca7fbbb11f -448e4958589a777bb5cacd8233c7efac5bc5f6234685e2622fd43d86293c6f59 -ce813f067207114b2e2e653135774361f9022c7af5699c8ff9bce1785e4ed738 -07ed280a03c606670061ace479250fff7f0f628b4eeec51fde593e43198e1a81 -86065a928370b16e2f5ea2fcbc6a1ca4654fca3f7c7ad195513e06381efdc994 -ce7308a031505f93e5aa639cf3e57f47c581dffdfd99175e4b744ce893a33f63 -7ea8a182761ac9452c64e8062c775466bdd38f659b5b11967f5029c93fbd2c09 -96e8155f27e49402ac912dd324eba211b985bb2d00197aee8687587d6f59a34f -dd1838521902eb1ef139fe4a70424b2e47d1e132debb6a490310663a16cff0f4 -b1fe9956a7cd8ea2c65379ac3fcf04efb76982d7fc1923515e6387d2c918f463 -e256f8df5edcfa8678b5a12dfe1817fe0bfba82c51c78590414f981b99281395 -0ef2f360ac544dec2cf7ae10a8c96f4f7b82bf30e410f8f9261e53ea96ab06b1 -1d7a41fc4f41e7482ec3c63816b9d6d1886493456c55995ec8065a9971a2f669 -75cd58cc3c80bd65863cccfea67a515cb1b284e70b967b84342be33c90c19b8b -2785e45d165146f59310168e88b0e261423b905f058a3d77d65d344b909fc345 -c8558ca7ae05c2261234d2cd12264fbff78bd9a1895e4dc64f3f70591b8e91fb -47d15738ffd5a26f91603291637f1f673208f153808aebe24381eb6d6b74c8a8 -8787d49b6496e3babe6b5f3c0ee595218dcaee6d998b0f691fe4de2a46d64867 -6d07fed1048b48378781dfa383c45caa42e0ce2192a82f9b0dab38ed0d83abc9 -f572858444545ebe698235e8e81f71a494ca121eddaf585bc33db5ff650db8a6 -bf38f1fc6ff61693faf103aa707e56479a070c29ad0f32ac0ece91b54d2ce4d7 -82f571c246e030af72d42fc4c8ba14017643beeb8a3bafdcc22a7835fb308628 -e20995eaf9a0dc5381a11c00524f5876da650b9c47ff607c4610627ced57c20c -b6f9533930ae354ee4f96f7cf661476861ee0592365d4a0125406e76e91ad3d3 -b85ebeb6c7a6dd6075578f2b4e547e1c1b2e1b7cad21c748fc3bc358297c28d1 -178df131ea7dd563ae35c04d23cd6ec3fad1a24eab3478d4e4605bc19f983f70 -5b0d9869b9d81f636d8db0aab34c8eb10cbfd96e475c60f20feda73c6e2cc5c0 -73ae23dffdcd5d253f68687f1f74aa524be28c1800d64e55e1180b946525feca -7888fff60e7802cbfd30457256115bbf68e5db8212f07674e9b65675f8680ed4 -b907eb2cbaf873ac598f33f419e67996bc20ded906a2b161a5b9d775d3db6c85 -fb8c62dc123c02fcee52386bb991edc01554211d1c2ccdb1f70a6e2667d97307 -d62ac6e280d4e85616e1cf29ecc2f6990882f149552acb4d4828e9b3efb4ee93 -32b0abed51d03992c5b2b40dd023d353e9bf3cb96de4d50e29f5248f97acc413 -1bcf8dd3ef5779b69bfbabe63d06771dc0ffcb0e816b2b44cf1348bdc202ebb1 -6c4e600822ca4b4e7ccac5c05ad676cbc1f266bd9ca776d48c4ffbf44af464ad -dffaa0e67e0673f295eecc7d58c146a516c55213c78256572d8b523accab8e1c -95795cf9e921f515ce1efceccad9b7b7513f36f691ee6e2c4c413931b95fb179 -647b9298810b8febe55277d5db59645d8ded5e4e059df7b2bf2ebc96bb5bc6f1 -084da89df48d70c88b43b3595937d9e2818565e0c7e6c372f4b61dc58e0f8e5b -da6d4d6b01edbb54e548de0ffeb49181002c66bd11a0dd5a165283172c4e1941 -c3fc03f06e1a49e0270d5c32df1af21a8b37608086d80152eab31acb2ea448da -d88a86871614409b2ee450a585a0e8398dfa8a11c651c5aa0e215357f7dcb9e5 -9558ca4f2fa5d4dc057c3fe88d88aa15c5d5bf348b867ec58ea98d74ef50deac -d52bdbf310da3d2f46f612609f523f28236dfbd812f480a54ba1a912ddc04b2f -69baecf9cf006ef8610cbc58a1aa7dac3ab6085b229b74daf52b4858da88004b -267e747174366eefbb0c060f5e3128c16b38cbf6dc54634f3786543d7db28f21 -ec9bdd38618f31164b42ac09e628df1f721abd116a4069738f628d14df27c76f -51ffba11cf3139c8d50743d5e861eb9ed602c883643ede5e91c50bf133aceb5e -df7a37a5993949558675c986091a6d6901fbf674f21f4db7620fc4349d5272c4 -75d9c6510fc62e49f5d6755d8f7f5a6f1aa7b9e43f5e15d3a8c5e1423f08502b -181745ad981f4f0b515cf10f457c94dc99b9c94d7e6c98d0278849121aebd6c4 -391d8c0c301f01a64d60ccbc794e976a941300711adc6a96c7bc9d37cdc8f981 -141d89dc95bed12708f4cd7d1f4a3e2d97259896ab55f0cf606fe66a29065274 -f65bd4d4f1cb3cd419f6f2f83541f74c7a0ccee2ae0796d3882e12d50030d9d7 -322c72a2852151e37bb80d6915f7461952df7453411d7286371b58c4bb4f8e23 -560c75cfadf894f244470e344942f0bf3b0852527200a4867a5625f868d9bf2b -4356505d08788bc526f89fbed3c2c7a821a5f680a07649cb0bc769930b2a418d -c963c3b960e3d0bd5be67cf5fdf0296473a412924fba11e62f5e68e770d7583b -d1cf10e470841f8defadfd17934a72000792c1eb96e61edc05eccae7d698cc28 -7297a73e27d07e725eade1e219dbcd07b71eee6cdbb793e544974dcc08169f2f -861179b08419a0fbe231fb583472fa13364c305c21211a0903dc63d19b2f9826 -1ab6d93df284aa103b9dc85ed84f8d7b2fadc6fd33e9b0e648bcf5f10320f897 -d18c9d489438ce7be49d1269f5f8391c75ae4e8109c3e85ed32288efb5de0e9d -866e6473b9373625125721ab67bc475ed1b381a97775d82b3665fa141fb4083b -c687555204faceb4e1779a1bafa4a5d438944cc88bde043ae7c458502ffe40d0 -eea23137ef0b1adc07a7344dbb4129cdc0c436f64445a5009e0d2c96db64314c -0c88a7b3c6b867d9c14e04e89a44c10d5efe39c0d12472e3549a0d073e2bd028 -7a3c313eb36bd145293aa5b811da37665370273bcf3af3f55a67ef763d0b5a22 -e5771b26d87c16221ef046a501aeb5499e4740ef7819aaa5e4b1a927994122d1 -7accdb5765c327071859da5226a187c9f6a822eca21bea2a9b3cd79273d7db57 -b8e621a156a5e82ea2628660b273bb96348ffaf60eb70ebfc183b9155d5c0bd3 -88cd7140484d11b4ef03f315ba14c80e808e558076fb06be7b22d4b13f5b89dd -36577ded4d342598f0c38147e1f0ec8f5f741dc0632e39d468c5b887649121e8 -95672913c6934452b67a0e2c52b51822e0b3e2e8b6773831aae41ec429d85d28 -2cb2d6ab83e6a727cf1e9020a364a52fad0c516e484f6b5663fb0b1855ae5a21 -e38260dbf4bb0641ed939f5410e2f0d9d1acc9705e2c9d15d0f0faa258942085 -74a18254dbbccdba72345ce68ff33a09dd6d12b37262bc99c95cc2aa42ccddb6 -8c24f08d224255d17de18d520e05324cf2318efbaf1bf548d96f80b1d1334661 -5353733751b016b2430a1a579f6f065bba9f83803d10090ca6cc4322c4f023cf -85f2c51a79e41fc2abe3c7a4958e279a7fbeb7b94ac038ccde98aa1b43a03775 -4246da328fe1c6925884ed447b0212cce587a580258891d5037fc11834f109f8 -2d7f4c626f2e34154928714453eeb65f985066577e2bda9a2e9839ebd12755c4 -d08cddcbd474507e7fbda89b2d3edd8b2adcfc53acb0b6a17ce9c27e62079778 -a1496d40e38d15349da699c3883fd33be9f0d8a87de32b65cd176281c63449d6 -6f4d243658e77d8a6aa0ea3aab02a98ee3ba3d0ecdda62acfc6c4be4a88c819a -c6ff56a296f513e3d31d0698c051ded9a17956747644afcd7c3f2a9d6e3f7182 -7fe1b059838b856b4c8c4fc0f811a3323f3c40a701eaa3aae69d4ea46477d94b -a6b285f3b7d4a13116459ef974e34d50953340e21cc15e76e2940fb09f76a7a9 -b19e5b8086bc8072a63b47c8cf840f4c437d492b50f8b7224bc9d60e41159fad -a03d76df310bd146800589e3cb32f3f7ab0d4183b7b1e342634e9d8a65726395 -23e6281af65f14bf380913382b0039faa4e02af51dc38c536bd432ebef1c003f -90d59bebaf9720165b883e63e2a4b39726373ec1898b9e33bdd7ff1b845531c5 -2fe1c7ecff261e80859ffff52e1ad86b058135959a3dba8d960a73a35dfb18d6 -9a2c90db69b4b0d813fc292a572b4e8fec9a1b2973c76e491b51155d05d61120 -4c3ec93af6296438a3549e92b27d5c705925e6dfc1de2ff1a4de75a1acab4373 -8a3e0fc8565cacf6e79237d100baf4c4df2cc4328855f7ef273857ed44da8554 -f0c193f834612b347077e6c46ec212934b429da0963767af3bafbd30687f8908 -2f5f866d2477c55d6ec4d38080936852040cb40fdaa767e285a8b40e8446aa7e -9db6be6705753e229d68bb6ccb2bf3de8fccec2d23a4f8e2b490b0295916dd20 -54ef89d43ff718d494a7bccaf78492e42c6977d77aff803a2c896f69abcd2a1a -78fd4ebbabba74b832df9cf6f44886fd9a3d5f329883014704df7a6a0ae19cb2 -eb6cbb2e1d426a278a40f803011cecc6730ee3e3e608f228cd5a3a04f82ac871 -d9ee8c2b642d271a444126af3fb6acbf455e9c4705f4edaab0d93f3e48fb5e68 -f09420dfbec08f61d39b184189322657a3f9027a7c48bb827982f720b708542f -6c2239ef588efa7c962f73e552f6e6521e8171b6df42f46a4449b6ac99c13bfc -f236b00a62864daf4ae894042d7659e51c8d01a11ae61812bdfa205c67445b54 -747375244cdb5d2392b678f1909e846ee0b50a6f0d0e894145c5d3db34687099 -9f2a4b787e1bcce9a3e009aec3b55d1b5153293c3e57477b31f18a672d31da93 -0ee2253e7676a816f72f2fe23a94cad85a5c7876062d19a87609ff2c0d746524 -d311d6b67df9934965a1eada38df97f776ac49cf7eb7dbcf1c3bd28fea8ff7d1 -0af0f08eaf0058a32176abe154da646f8649960bd6bda56e293d7870317987f6 -0c0af42ffd17b0b4fad237a493e91ee0e6d1687975c3d2edc2e7c261e1ae0ad4 -f86e6261c0a5eed9f9665a5c16614031f1cd999a2673a7bb25e366aa739cc757 -ca0854e8633fdb3cf8d10c5442a5ab763e879d670b128165b124f18c6db60b28 -44cd7a411ef17495c86063bc63e8886e2bea7f5daebae1aa725b0cfa85df86a4 -83d56222087fa8171648206cf7f5764dc91099c7c3c3e027571f02dc629ad0fd -6c5a23c8972a4d0e4c9c84152411b69701b516b6ac6e883c97004337351cf0b9 -a98587bec2b00a25236bfee5c7d0d02626583cd2c94171fe8420e1ea94fa4997 -58ffbc1925f2d6ab6a69f374f651706ad2ee92f98c1b693a1012a7cd1b9c7655 -d4cdc4ed3e0c756355952ba7d4ef4024726195cabc0cad44831e3b077a94fccc -f2ce0242a48396455a455ee2e47d51a876191bea5eb00b47fbac390846c6da96 -fcb1745fe6024149f478aa101d2bc7e4d3327b54d5ca2cc49a8810eb090ab078 -65634d4ca731f3cebca5d6347fa7e6ed67343aea5bb4e8fe80dbff1d301a3662 -a65b90a0e7e459e3c7a0b0ae854522be979d2f5e90f9ebb61546a6436cdce73f -fe478770fe8505795eeec42940d36bb2c7362251af54746eb14a1dfbc534ed0f -ad5e77e7358651820c9ff85a6487a833647ee8957f8412c9ccab69010c9231e4 -7366b9e26adcc7c44d49e14101182fc7d374f4d836725c7f82f7c17547b8ff45 -a94d4f6a153dc1f3c7a2f4216ac94bd504c41c9e7263b5cca7a7a006414aa104 -acca3a485b9e7b4c23a2991e9515a75952d25e4f55aedfc9da3118d60284778d -812350af9f75a737c343b4056730b1d6add2b0908b9465d0f8dc0ebd8f834bbe -866535ad9451cfe97c1952bbfe5bf6718a2e4d3c7de99b0803d57c6a287e43f1 -8fafc22c062d54e48853486b3ec0c52b88bcae5e67c78d9e67afeec2e82a5ff3 -6355abd4f48ccf9bdc0b840c74321d48d38fa94361b081385fb2dcbcc6f7d29e -497b14dcb14afdf7834f0251638eef2610567c835b8b485ef6bfdb95020ab575 -cf3e462a7d452b695e26b5500888e79bd3e3543ad2b33f99bdf99b102b43c186 -735c18491502d76de54e48b4a656e3d20cca895c2ceb355c8a20ac1a536520d6 -8c811eec78d7fea385e37f3e744628ff88e4f4c2a681846b23e4ae388904ff44 -1367d6c8a1ec926a7937037c2ae535b9ea54d455bc3b2c5e7b88c0e013d90f9b -61d62dc116a3cb8f3e93103a38e56553a4279b24ffa6d2813afffb62563a6c34 -57d7ff4a18226ac5434d3bb84531c839ea5f5c4a800c5ef1aa47218dc5e503cf -66e61ea59ebdd22654cf8603608a327d5abdb7880492c428b033623e3e3713ef -fa3a62a80dca983b004ae7e8f0b3ae95d57218c21f110ecd8686150c6a02eaae -1676299550d616a38645b9c8125117988c785cc9205e1d9058b193ab5ae9875d -626cbc58ef0b8cd969a6d5c2148298fa7f4abb8d959845ffd3dd054e9a009119 -ef226a16f7046502c9aa19e69bc5317e4517e94a9d816b1e718b3c2a4bb68a07 -228e7427b9673255a3bb30ab5141efd310df372fa02a27255dc239f79fe19f3b -736d1d4da67d58aca15a07af980f4fc863b73911439a83b546cfb55b0e03e028 -1abf7138ecb51674d81c26e2a9b800166e14e478cb999ace587e3f3bb616fa65 -9fa82df6f64cd7130cd877d521f447271116700b847d92061def4faae0326730 -f1844593f668a27215dca92450970fe1858382f9f413be68b1faee48826eb881 -a38a8480d09c0b929dfa5735a0b30c04561dc4c4d72079fa57b4c08967b38478 -fd9adb40e9bf8fdb531d55e8b2d07e37dc3cdfa4ff99c49731094df3c811214c -622893af1dfb6cd92a4cd6007f2364776835446d82b720eaaed0e0fc2da6ed47 -d61f83275de116d0b942a0ea8c08fb2b0547f7ead2791f0d054c0cf5fd32be6c -6320b40b991b37c71f3443677696cc813c2d629326bcf34f1805c2564915625d -19a379d111164e3050a477c6f98db7dcedc1fd21af7c12ef47d801db0d3804c3 -16beadd8f4e09ec411b4867276199d0eb9b281759d7cc888cd2475d716ed4986 -5e6728e2354a2163921bab2a258c124788964b3c11851be443365a828e9e12ab -840d4168bbf53f2995873d7d0d1800698c665e5ec58f3daebba4b10997757f4a -9d64a613f1471ecb5765deaea882ababbfd06637b61340c3af5b306759fe3608 -dee6b04f347522a011e301f9f5eb3e8b64a6f144504855076676fbc638f830df -65f60393d58a4ab691a6d80131f8d469e7f955d65b12c13baf6ca0c4348786d7 -fc756497ddce94bfbad967ee89fda2fdfce5de1a81475981a1cfb80a497b0f08 -17ba8a9d90cfc434715aa69a9ddf8ebfff3edcea95dfaf64c87b6bddd288092f -c1e1f1be2b3332751410674992cdb000c74fa824fcc7d5677c6b39e53b59df68 -9b91d3fc7c8b07d862700d9b0877128e104f829b8e56e89e9ed4603eee8c6b85 -f1fb24dddb90e1ddd5c4fb2ce70c46ece1d50f8cff48eb35c1601e3828acbe08 -2a002191d3e6f99839789dad804b013ceb85436022d4557b97ca5ff3eb0eba67 -b3fc0082887245a3d2152610e9941a3e9e4d7644c8a04122283ca1349a3915af -dae3b9f045d879eb3e8c41b19f4fd1db6fd2ac568a278fe5a3f79ff22ff0814c -afd80d8658ea32d740230b99718031a5f1f179d989dbdde3fef80c148bbbe8f1 -aa881d9e25842fe9977e09147194d692f5a46c6c193b1a6313f66200b4246baf -65f31fcdd3549b46e3b7b7a17f4538d2a8198ea02b201438fd101a1e6e1ccd9e -467f2f34244b767eb7651f3bac987d9b1ef27f562bfaf0c3afbfd41efa4ea899 -9352b1e906fc307982bb480f39caa635c37a77d277260581f0c77a0e994fe15d -e30dd28024c662e2db035a7a175ec3d044e1c1cd984d957eb0f0f54ef1735c47 -14c53987782d3ed5937da9db74bac0edf5e809918e509ca55c49ebd8df4d506e -87cd85e84c545a3229b88813a97e78fc8dd5efc5dddf70d391e876c08d24abe7 -a8f6fb384b336654f46822ee8400d672459ea3e83d4b77af408b4463730d4ae0 -1bc040d7a4f2a941e5753aca6fa111526567bfc973fc0da257273af012e49219 -0e2c70728b9e5f5dbfa43b669c97e58703b6e45914d25cc275fde30947db24b3 -8db34a29030c155d3a2faf64a5b9fb3049001ff6705568ff6f6834c66cda554e -ac1a3749d53f3a055fe52215155d01b16d0c200641365584acf9a03e1de4b39c -6fe147724b786384bfc9d28c6918537ae6b27b67c805f6e0840219011ca9a717 -c6abfbcf64832dd90732cf3f35a3c51757b65be24231904e22d74fbf9f17819d -b7f6c54920ac8e23b6b7e68f652117ae0bdba757b1ecd4f9f51072b0a49ab7f2 -4b66768241b9f92c90ee3a3fb19bbeb570fbae03337eaca3526e28e7f1724e68 -437b17780ccf5e96d16c23e84803a777c88ae686c3be4df8ca03c056ddd8e53c -aaf5cfae05b21a2a4ec1004713cea6bebca519ba4d651fe6421f34c53c647bdd -a4f4e24d680804ac51a89dbff7eda0e10c48147ac8b6c887745d9a034a6bb060 -2e64ea17f4c2f3daf71513a33e5bc52c257c74831d070f08663c3ca0028a242b -d6f5f5df1dce4a068beeb1b58f3ad078e27b5a47e506c6db8428f8ca9f1a2768 -0fa6bf4c032d058f23923dcdce22962c058f5d04d777bac0dea34665d6933e4f -87812f92cd2142f59085743d7ee30e15c165c8d65fe07018c25ffe6605954682 -b73ad7040eea69b90448cf385e9e1ae96b4f3f5126aa415a623b5c4a94b9b4be -47a54155a544b43ae3a3d7a99f03077119fe24b0613979d137ccaa38e1fca11e -47719247998be7561a0f67837ff2f3d591ecd188aa0b722e6cd6a47a33728011 -4cb2ebb5e3d74ebaf8b07234eb641894f6ba753602d20b32c2e342b7e0a521bd -bed2e157bb1213ebd8f6e3dac3e343a31011209793b30d0f9b9fa0b563990ad0 -140465b0a2bbedac1c2d1b716a212553d5181ce84432448c2468843ca38da39a -a98ca77d4ae7acfe9a4be0efb9a2bf61357f7d2d5be3363d45cd5ebea80bf69e -500eb12485a631c6d74e75bc172916ac7a24651a425a65205a60e3345bba213b -3df67cd5f3dc6287b22b0c0df9e81684f48c12d4268b5fe77a82b24a1cfb2ba9 -6080ae35136141ddd7fb8ac26b7f0a5fa7b956f4fad3bd59b8057c89a57f7c33 -6a641080e7177143a3e3fcbe687e6e6effeb75c8ae59d3c0173a89c274ed7bec -9f004551ecc2d0ca9304672c7ba90f436b7ecebae9092f2f2755d98787f087f3 -ee60de66e953772f43163d178cd05c57a26e3fa2fe40987fd853493d83ffc793 -06c01f9fe982d4b29df4c286a918e769dc10197e752c8084a30373d7293af803 -0cf6321b93eab18a5785cd3ed5fed7fbe400f15042a50a6e92907e39e41031c6 -fb07d28839bb457b1e6730ad0fb90c16ee387bbccef903e447981af98ddc5c5d -d175a836c0b599cc418ea146a488fd7eca599736398d22ae988591f174a6cf37 -5fd0b62754cb64931a6aa003b4fb984e613cb60a028d46d8f9f4e475aa3f67b2 -c38eb7c4112b3a5e5d66b2f38dd77f9cfd05067e55430c91bb5def1c9ccb7725 -f1defe6f1e7bc16fca0280d0fee2a5494032e1db1ac3d543b7e5adf4aae16c94 -a5d871481190fd07a8533a71a99ffd8379970588cf663d482b7b6fcbd88679fd -1ed0d9ed0a574de1fe35c3b88d3262764be01215beaa48004149a7dc195efce9 -c459aee958bf6f0067bb1672ce605915cf6ef506d286a6c44f7a5c71e73a3d72 -f26f452bd1499b854f9a271db9e356b430b2710d3079398c25019ce98117d626 -18ad9e281e94eb6dff1974a134bd180e1f9ecd4b6ff36bacea61d91c760d9f47 -2e813f5ebddca514731b24976cb996bd1195e7beee40d06c0d02a512cdd94461 -30d028bfd231bf3050fcbb53211d18df443553c20573928372811d81a914f4f4 -941e759778b755502fe6f0a2dbce12ee4e79b377a7c022326465a8d4d3a5393f -90cc7d9ccce4a6e432874d4870326bc452c66179aed6f072e99b02a1d8a3f044 -db9129ca9c121b6cc555fc5c2fedb10b8e4168869683c4fb7df20b426af93f92 -7e6e53697e7ea4106f95e298e943d63279466a48b474fa5c9832eb9876c06455 -b8168347041c097978f66bbecb9d1b1d239136ab018f528393377f9b3e4bd84f -9f80dfbf33eedea1089a2f87fa649b9b435aa293546e1a08151401ea47556e2c -c98994cc2bf3ed44071233e26bed901b102bd57c27cc8fc46aa127dac97646d0 -09b029755c747aa2ffe1162f4b61c257751d746c351eb34c59dcb8eec69cba34 -39f17d7228a136751fae1b49d16d10e43b401af88d1c5cc12cc4e930f98da2bb -c26524df70f76bfaeb4e79649300becafe7af0d4134bfe4a72acb3ca326133f4 -fd2641b5476ffead0bbf898e3a74dcf84e364b580455aaba927645599c3f181b -837c61450357cd3796f09da4e6696a4240b503d91f222e2cd4ff98dcdd225b54 -d3f970780d83462cc20b7347f819a3c3636a6a6f95c570c81855a80315044812 -57b11641550780d247ea7d9d98b5c141afe728ae32bb07cefa841efc02905d31 -51fa6d42c9052a98406d266d8dbdf3b60aba477c1d8bba7e4c868f9ebf22f90c -470386549efe2287145db5e1e36f0654d900f8bd0c2bb9cb46cdccd3d808b85a -26d6bb38191313ee64d3a740eed2da29d19d1151f68c22897a786c5766f82cc7 -a4b1f9650f9aa47cd4adc7292fd8e407adcc509716773bb2dd3d9cf0dc38c23b -b41cefe89a1f73c05ea1854b253f09f97ccbdcf61ed915e133379631fa83c4c6 -06f9aba9b79023854e99fc9c077c0c47335dce696fccf9e62491e7ade48583d7 -81446a511a0680d406e8b2c46dada512074f0a0d42e4872b3ec3f8871d76246b -3ef46ee8a806a98d11237967c8d40d6b845ef5e5860912af2d54ae9697d622e7 -694e77149b1cf0e7709dec1e58a8e83055a47c6db08fa046965333652d46b48f -186b4a2db5eb1cf69681fd04a7b7380f4318dcb4835463eb69b72cbb166ded99 -69189c8f945b0492435750f50cc1f858ceffdadad310fa32511cc741d535c356 -09a5ae051f0fbd21ba4cc1f454e09b32cdc9955b24479e2edcae5ba61915cbc7 -2bfb1411d4de4f38228e95049b0989163449809f5a84d5416c555fd2f21ba97f -17c425b46d58c74c356ac55c8cccda5d3a4b05fb8c0560890dc3323803e97b5b -47815e52330ff0f787c0e9369ed58d6d86e6f6400953b6d5684d15857a21e7d4 -e40cdb19c6f2c861cd16303479632e105cb5ab3ea033c3a3394fa9405bcafb5f -99dd1e218e349ecb73aa7b81fe13c0725d7d5b3d668d4fc8a7bb450cc3587233 -935bbbc950619c230a54fec86fcd3a76ba5d5d50fd7893640bef811276fdac5c -26558c0cd47aa480bf8d38f13614141d4fceb13fd43bce85460bc0ab0e4a7573 -41f472429765255e0fa56bc74adbf0e1bf79e4c66d48ad0fe5a74f865c0b0df9 -4cc4fa152bfc97789d4145b78edfa8196672b5c553986e33a1428e29cb06f8a3 -0ad721b0a5dde6095cfefe29915591ecad38e1985af89e5650747d245b7ab024 -caba200dada44062ed5253b99db58bc12b8936663f04a1cc3518e82cf10390de -1c23997950b6ac6ea17cb32093aa76b739a79d719fd6ceff1b4e17cf9da801e6 -13b4ade20f40b031682d5c9a98fe7bddfcd32bdcdf45bd60b4bff2c7e5361e03 -d09da82b121b17d5f1b51aa6d62b358b7ed2ebba1603b7bfb14447f6050bcd36 -9ef230aa529104bda35111aebae9226abfe775c67f165c02f43cda139121da02 -b30a63fe00fa404dd4616b406a51733b86a5578f9a0bea13d50f81ba59bc580d -9b72a55add983c29924d691c2184b3b45b876bf72012eca934acb551731173bb -ef3444dbd6b5ae5d3d65bfea9672b4c56b506c3ad692c37e5f40a00cee82bf1b -181f723882894bdb054e17789d29f1d1cfda6d6df40bc752975ba953770a09dd -8fb9743b8404c8ce0406fd0546e6748671442e36800e203d18307c448d665a0a -1fd1678636a00d78fde67f5ee576ece3440e880f4219bb9793ee2dc9e248094c -21da03d0f12c9b27e40ca9da60ed11350ca624f4869570d2cf009d4807ef4cc7 -454c35962aa8091759ee4f94cc0f4239bde96326dfe11f391d30e9fe95118c47 -a78924ffa71f55649da3c71430ac42a268a536338da5b8f8715f2647b0a967ad -6ffe1c087f8416d7e4ea34b5c7a8e76c0de874ec04292e6263813d74138e933c -3278428d5d6f3e006619e194a90cd9bb4fcd7db1dd479a95f4aafe2c2af8e84e -a4ad33956ce1c7b57666bde8530601242801d21f36ba9ff6322d2ddfdca66956 -2cf67c662e4eefb10634129ee5f24454068aa8f75660cb55226fd65bb0d09e38 -a078e55b89b7e4ee49f0dfcd212314a3b12bee69fccf692336df2ede2f864dfc -ea5f07afd2c787a733f0c62532aa06e03bee73a9944907fcebe06e075f1663b5 -65ef1799ef85d97a0b831fcf5d16f98e2eddb5259a9ed0bf444ac20721b64558 -cbe05c2ab6e9ee7c35c3a66f250a2df65ea7c1e8ce4f8cda8fc1e6a73d9f81b8 -2904661bcdca0d35a2e3958b03a80f950d661cc0ed5570a5cda3b4c3127b5ba4 -5b1070ca004d5669c3bdf2b41958d7b43eea506ef7673a6b71da070654c6a422 -8d6f5d87c66a179541bbc8d3fb1689307f7561dceab76f397241b6d39225f9b3 -67107bc62645cc0853acf3701285ca2e3ce78430c8a598e52a920ebbf2d01bd4 -7b310f384feb7113faae4a481503d6ca0f77c3a93b8f4786a981aa92729430c8 -89ac713a4d6e3b9add795b60a7af73bce8a21141875e0c9a8104e37ff4709c42 -cf6f7088e1ba070587bdf9e48edea73a1a08a2eaae956496dfbd0214b27181d9 -4782a504ef3deb0ada683d83b51f519a7ff3be86d8e2188bb43be581893ab0a4 -e430263562faa964d31c4376c654d6c04f6f7be4d13e5f5db2d170ba14fe933b -b5adbf73a70539291b9b8004f270bf44b914d4b2f2605c1c61886a6cd44b59a6 -73aad60fb4df0f0285e1763c5647171cde4c67b8dece2ca48af3eff7853ef087 -1453237270b10e68622ab25416fa04096721d5c4f9a8d58c1bfcf37530f56068 -c69bc231444cf07d06bc70ccdb694c43ba3c196b805dee610343670127ec3569 -59d494619ccf2e6288c4903d7d35acf236c7462c608a5fdd39519c7feb345fa0 -a3aadbf50ecfd740a81cc10f9dbf649d62bcb2c20b9f813e3ad6ae95185e4dd9 -0a0bcf4ef97763fde5ca96963395bd26febe68c0030d153da5c7c1cab506f01a -0e44a4369d362f2976a7633d2cf96d1e85c8c06d8a2ad379582293cc45c35183 -9d8769e1b2d656db9ca360220abbdc0b0aabd70b9f7cc1b497fba6fdf178b24b -0f05f4c8b5c5de81ef820559b115840b6466870756dddca2bef4a9b04e6d7dfd -4ab8daaff62c72cd139f3de83b8a2351f05fd8c9f36d3cf3327dcec88458d643 -03ef981cfa8cc19160a8f8bc29dbb03b57e23775f75823778cc4530c2f9d406a -33176a9dfcd72016b6921e683a4eea9efba1667ee95359b578a12bf578846a01 -a8e4a3511e1b19928484d60a8fef8bc88694b5b9a88e1fb3c41d4f17b3554583 -0b057b9e31a8332a1385ab164edd70d592276c925db60ab252af9cca9e76d852 -f8636d7210c4ddcde04dd9a542b67349dbdab095e065a63bdf658b42611f258e -407c2e7ca58ff06a126bec9ef40bb797bf3bcd1bad011b306f3ae51157a181fe -0531ea42e299335b9b48c84de86fcddd8626146666ca12eeed2b78f31954e886 -08242d31fc327d449c0db08cf5ad4a51421b23d3b982dc90ead282ac7edaed2a -2be70e468552e657c1725610dd3979e427c91a49d7357763b6fa9e7d0b7fa0c6 -07f32019d952881a1030108152fdc603ac9e5b45debc352fa19ff3e3c1a15930 -6ad9e2845a96d7cdb331930c77e428cd99c87bb0434ba1701452ab026cbd8c6e -ade593cb540411f3d0dcf97349f223f7a24e86b3e48fba99eb14849ac00ade62 -f6dbaf6fe031d8137e879dcd70e0468559cce22e0d2ce54fce15f6dc9fb08fbf -18dd49865698dd97564049c35eab8574bf7318e10328825f3c1677eadf2d5d60 -9be21baccbda5c55f70de00771f3ae621c4b1e69eb936a372ea02ea3f793a159 -cef60fc226e37608304edf5590116b7d3423e01815d273fe5b30d11893e6b655 -73cc7c4eea3ea22bf4ec6b9eb241dbce446ece9960255d334cfaf4ef43f7c7b1 -2e8296dddb507b078032c8e816d287fc0c6b62649a70ea588c7af664d3024747 -be7f7b88baf2fe63ed14d29af0ebcdd5e647fd21852b5ae80434faa7b4b40c92 -5ccf2e9da47c41e46a859d3840a7493295cfd7365466eb88e3a605cc1344d280 -21032f80b41a7ca14892086f7c8084334c1d77c73bf12d6b7476243e010df558 -08046ef31ce4a84a8c22a6de944c39d7a22eccdd302b081b459d675e193d15ee -47033dd17c183a009bfe91ea6ba1a64535edfc207a127e1011ff20c8d1d28045 -60a696ae042e156a5dde571047465617b081204fe0ffba1088c11db560aedc26 -e44c3e6ab0c7714cedb550839a8034a2877f85e5e63184e9df1b882cef02acae -6097333a2eb8f4c2fa7c433c86aa10f2ae5acdf634dc05c4a2abe1d45960d308 -fd8410bc5d17c691103ef5792bde143c6a15b88d2406d3adb0e6448422d28001 -d54b009d213d7015da4c5912f3e37c1c53239b3be9dbee62aa288d1bb2478d92 -5c07ee1c78887457545552630e9172f6fc1b5819d6cfd2a5141e22f3eed0a6de -7f83cb15f018663f7be2f1346cc917a2833482b826a902cb142ad89f0fb22537 -c1773a256d83d024ac92bb7183e58236d4deb8aec056ee4b672800091bdfa74a -35f5db1bba21867028530b945dfa1e9c09e7f8d5802be922df43abdb2c3c6d55 -74a2473f136ea74d3bbfcce4e95694e51ae0c951eecf7424e9b7eb82f4c37bd2 -455af16a9ddfccf92f727a06d65e0963251cd0f4064cd844244a85ad4a2b6793 -eab122ccdb9578e78d021fc4dd8b3af382fdc9070cdd672554b93addb317cf0a -84a3ccd39966db82820b47d9272d4bc08835731f17412c40d966912f238557a5 -044367632ff9731f3b5d42252ae0097308e5fb2d9f55f80d688e37139d3bdd18 -fb60d01a33c5f3cf30bf6695c09fe61bc07c4da0de6b5ba543b46475effe7368 -5eded1d7fc2d40d09560955ce0e0228d1762218dc326f57dbf428e5da0108aff -cc2df33a58739ea5be0b818ff9a1a0e6f3674262be777ff591bfd547ff7ed820 -0fc6803bf9f2f6e3ec13cbb4c7cd835a8c52edc9e6fd7abc46a9809186aa71f0 -c1adf363c9d1200377888052e76383da080aa026833c0aa4fc03fc60fdbaf721 -7f6b7fdfc5b42a727159287ad66ba916dc0c17d8765b9e1816b29aedb4001f45 -444edc08418ed169a80d3d40e46666bc8ccfcecd0395953f2a6b8d80c153a46a -750a366047c8175edafd958e3ef509c85b81d6bb1c6d2ea28f524fdf5dabef16 -33936dda39514bd50a2bfae0cd42f7e7d4f6a8ee855099d08e983dc57d682407 -9047b0d88b5c00c3e71e623ef1c4b593423cb1a6c9691c743267063656e9a6a3 -c7628865a8297bbd6d3fae755a12f187df1898a484d57b0fec0ae9c4ca861f9b -7c97 +D9D66F633B846A97B686A97E45A3D0AA0525392EECAC163E584A9104D99AD0BC +1B1844A0E222653FA481B8809B26A46F4C483A5D7E95816EA6582584156CFEDE +B994ADCFF4645140E3617E4D7E1B0E4541CB9F562E55829B4DD880AABE2229E9 +4A9FA259A734D29BBA91BA1E2055CBEA4339BCBFF98D32CEFF11F296225CAABA +DCA10577A5D431B714726C1278D8101ABD1BD8D0BD0174FFF9148F8C61C241D9 +2AD360A28616CB4A0670C1BF13E7A26E167F6FFBFA02D201035C41858D1C9BC3 +C5482BBAFCF7DF8061B51863FDE697437824573E60CC3736B77D96B9B17F4AC2 +4CCBC0394C27774C26FC66F04993D0E73F619503565343C1E03ED8880A14A7A8 +E686CEAF12D18FB2C70E54D7C524923386E488A5781001B47276F3CCB8173466 +544141F99FD85B6BCEAD8A7E1294BA184AC78C372F2E5B85E8AA15AFEA2A77F2 +C42E7590A246BE66D35D32B78F084C348A79FBBBE7B6F9567C3EA4B3B0C1CEC5 +A3DE0E36448F8C66F8992474EA20D179439C30FE7793746A258FD1F1A3714F39 +A0CAFC38273B74534DB852131FB30B383E6EDFFBCC308B14442B86C8109777EB +79B6A3CA593C194FA43AC76959392665CB4B80FF1F4F14FF499E92D1E25C217C +45FC5A535E0B2C2EFF0BB3EBFF84387DC0AE48D3EBCF5E702DC09298FCC1C222 +93A666201A11EF320BFFC01CBAA10C0032682C8E1E263214B80D797AB7E393E4 +6E5CEF5EDBD37618D2877E34F59F794BAF7859558C79871830A4581AB3426B88 +8F236D57DB2F5A50B37FDDFA61F635DF10C313E5AA3FD101F7027BE6C68A1C05 +0AD00D19CFEBF7C899CB6DC0F30CF38F782C94DA1B1B82FD8797EEEB29846B6D +B84DEFD0C7F2FBD86CA8D87CB293347A95C4C462D94D7EE9B4862F04FC79F789 +D849F04C06573FF3B1C6FC0878C36954AD758A7C7BE59C3BAA712A0A56D9636B +628138797772C16BE5309CF91E7B9440BC8CE2D95FA1D8388E21499C6652666A +ADBC2FDF3E1CE2670000924D3BAE8E782777B037B0FBA022555B0FCC1421A0B6 +60B7381809F7FAD8EA305C71530FD9173A18E079156D95730D32EFEA3D477C04 +33ADAD9AA04C4B6A9E56344507DFC06D2EDBB23894BC719D68C21A6625E48518 +D2E33F8722EFDDB4D5DBE2E0970EF2443D4FB7D4CCC38EF2E093AA45402FBA7E +8BD0AF96F2879BC2589DAC396A5021C1E4B35D1557349F9FE0789CDA8E35CE25 +242ADA516CBCC69635AC49A6314CC3471A1E5C9B1012DD10AE3C3B7E657D2664 +3C179C5027423D11BB023866AEF1C65E4B9824DE0908EF0E20A590BB9F5F6771 +2F9876FCA3999A6012F079C3B17D769B11BD0CA1828AC72035B1A79E19FFD9BD +6CC4B15B5D0941AD7281D9031F89B9FE8AEA4A19EA669736C5200BF5CFE04FD3 +CE304CDED06A21C9C5BF3BCCEAD202AABA714B46E92CB87B16FCFB51D3FBC0B1 +1D69B7A4205E5112E125D2C497D8570BC5E87D6778490596F4940117DC761D3A +97CBE3B1CDA706CB838573AF0FBCFF9C486793D5365A31053B30E0134A36E6C2 +BE8BFCA2D3368D88A5F72194EDB068A98AF034999E0789E20ECC77E4254A48E5 +1F7B432276DD279E64CB13662ABAE3C26C582E056B4745BA43CC844A757BEDCD +010C20E025BE688F21AE393E7871517F2763CB1AA124E99BA0DA7ED9CFBBC177 +88CAD36269D9C5CB3AF26542BD43D588B6F544B8474C62E7FF2F07AED1A46A2C +4B6084E497A4AC42D3780891731205F0348F536FC68936CF4FB684A2111EAC01 +72A53CBF5E879256D282F71F697D6DC6406131859F597CFBA4AF83394B6E823A +B1D4A0B2C6DC5E8457B0E4C4A1E24848EDCCD19203080563B710920DD1110838 +994AEABFD1F0A5CC1318F776F9E59C1CE71334AFF1063D3B9878FEB884628827 +508D628FB3DD5AEE9A5661A5AB0139014FD7DB850346A689C3C990955AB1514A +A37B2E33A610A1CF47FDE04D16FB56FEA578E6EA001C8428FC9C353C5A905B8A +7C6E81B91108662E1ADE69CEB9E0C0C556B4B26BD677A4621CBA130FB1FBDD15 +FB65955F91EC0E4F9DC9D476485541083B58C378548EFE328BDD6D891C0B3D31 +9B71970E28F8DF280A2A3A9866E3258026116132692ADB296DD96ABC023742AB +30C275A5059488787C530B85035A763F0DB28FFB7321EDFD7A84F196628CDD52 +B063FCD64976B2AC1BFF25343E48ACE0BCBFA4B17022F2B11490CEC6D844E86A +25B597E0D475F3E0D6B62CFC70432170E2686EFC8E6DB6980D032F02ABD4F665 +7F1748F28CBE526D90398D3840182F35ECB41A03FBEDB4CA29BC51FB2BC0C62C +E1B3FEE159A7BD1E785256B4388BE0BFDE518C3F79BA7B78FB84A3503225F146 +F9EC2A3CA0D004E35A76A3BA7B6029658F403669F2A0B5B0442BDB988DEEADCE +82A145DEB68E18C538386C106D7BC88FBC1BF6544BF1CF40D0743BEC6FD3F826 +8D35B9176DB4F005D0FFD58FA4E07973DCDA6D7D1987934FF0D9EAC98DDF62C6 +AFDD8562D9AB60C61C32F507498352491141C005CBD6D61CDFF743D17BFEC0EC +F5A0965FFF31D1ECE140A551EA602DAD6ECA806E9B5A0507CA54A84EE6427B86 +9046F1FD661720BD6740644A4F3BBA13278D94471F64ED8C9CAE4858366308A3 +36FFEA30517E49CD61EF344BC4DEF12AA87F0286ADDEB69705B9040340730498 +38C0DB7719CAE2A9C25076D8F5BBA7D5D4F8C596AB3BA23B48D55E673B605916 +4C4176234C61159EE24F2A6688EB74F71080636B595CCD064AAEC0CE876604D7 +6978B921AAF1168D074B2A4751C3D7C2325BEC85DF280B33285E09F25E70C469 +EA88A87CD621D3188F769B8C216D755770CA38652BF04D68761F0607FC7926C0 +D4BFFC5A4E0CB32F86CEB100C0B2DEEC22EF1EA53EBC7340D1A093ACFEC2A465 +DE64C6AE6FBCFBD9E90FDB327A6F347B37A005A4FF777167798B100F7BCAC11A +ACF31A73C50873D3A1BAE46960D9DB146C951E9A23B49AC5B25B8487DA55B0AF +AC54946C49BA7E773D6DEE7B2DFBD99274A8D23022ED4E29CB1BCDDC57296986 +480ECA084610D96BEDA842C9B8077E11797AC484450C17CEEFBD33397D848DCE +D0BAB94724D3763B650F5F47AC924381F4BC6284F9E08A88C7895443D35056EC +AD9AD3220CF58421DACCB1AEEFA5C7D4801D93C0FA7D9B51E99DE115C0F9B3CB +6C42075E45072A114EBAC0B0F263ACEDD95A8F5D15D1339193DA369A7559BE85 +5EDE27C68AC4D888DE5F8D2B1B99B73FFEA315EA7D65D1F72AF063A629672D29 +8245D1F9672DD68961C1734BE891551CD993623082824CCB8A5983236B4DFB3D +13C02D26B27665126BC84955402CE2D267B6F66D9465907BB3E7B2C75010F3B5 +82CEC1C97B589ACB1CF67CF762DFB0D3C65F14C6DA2BF9A875C34881E0AA0039 +3CCF1E3E7A2D1E1FA8C115059A69852439F8D31D2BB63458E0DA6D150968330F +D6B8572443E10B01EEB0EAEDF433870C0523C32B54CC3864C25766B80E644F7A +B7A74F91EAFF38CFEC6599D538100BAC4FCA3E575EB48CC65069D163D255AB56 +8A79706C0986E691E67A210377B13F2AE0CF71B34ED649C025A8BA6CF7C24249 +DA6D1369433C427EBFC14C67EC12ECA650670FDC930AC97A6B2449412EC60294 +905A3D1540EEC68747915A3F49482FBEAD4031D9AB6265FB6BB647FD9FD95E0A +202A48C35320B04790905077BBAC170BE3529EB55B908CAE4B8F60D73C15112F +317F4843C0116C8D26D271791695B51CD354B5D7D42743FA494262DF3BA47E66 +E3B8932289192BA7E030922609E03905B37E88EDFA25F24D7F07B8F5C90D04C2 +C97A7301BC5B442634F12D8DC7016FE2C013C913AFE54049D17EEC1EF32A3EE7 +6AADE218DACCEAD910D8B8B12DD40FA60319B227A4036874EDF770CFBE8E7394 +FC4DF8CB692AABF163D6EC83D30125CCE76F945F97E6222A2C93284D0F8519F2 +06FB95AEA6BB102FEF09C25D849D8D5F67C547A48937B3ED6932CB31DA99306C +B9C02D13FF96CA0551022065DDC6D2FE07D0F2E33023013BE175CA87C5ADB9AD +43927837F9B1F1BDF714B7D49B81029800D533B972431F4B6DBBAC79996B5882 +558441EB3370DBAAF0D5886161562831CD23DEC40E6264A2DF4B991069CDA2F8 +50B1937C6C12E5209E30C31648EDCC4ECD6472B9775021FBB6FB5527933E64E3 +112DEBB7E8167B9C10C491F14B92DD07838BC18D124357B24AB26A44B6FAB103 +7FB0997B367483D2C8C0D44E6111CEE2EC3CFCBBF060F416C0B747EC5BA54AA7 +43154084CCBE5AA960C4D1E2BCE002794741AE799F0F745B1DD6551E9DBDCC57 +51105F1B452FA8039841AC003F10F851BE565F93622832E97BB688798FC7719E +47EEE2B94EBC03B2A99FB0444CE1B96775CE4E17444833DED69B16D0891B957E +ADEA9B8B7B0371B5B6C525461A1B0B47B72EF158C0B8DAA61EBBD2FE4DC35FA9 +45B109E02BC9D0CA8F2F54C1BB773553E69D68E57589A437A6CFF712A5A5B775 +02E567EF0D7673C78E33FB53B8936DF55D655D394055FFCD33242AA55F5D8015 +9ED5927999DAFBE4260C95B2F05CB540672D9D294A026D04F0CF049DFA74A19F +38BB8A746DD4976CA2B53DB31F06594B8F0A30BE859B28D6233AFBABF86E04F0 +5D4AEAE6015371E5849E2A375D979859ACBC25317F24F583F59256C1E1ED8B2C +0334D571CECF2B4C3E28198796D327C21664F97C2F417CE0B2E60E577E946DD3 +624ADD58869960793856E257249D7E2F2A9CF549FC7625360FA022F2F055ACBC +7A816C359AD64C6D3F146C93724A08324ED1CE7C8D3DA3C710044C03A37A680D +1F806296BBF942428F43DFC6E9A7B5EDA26186578223C50EB478AC4131E851E4 +AAC8A0CDC05E45D59FF3D05CCA1DD7DF9A1E17C0D953F9F160F20D43269F7171 +E9320C26306F91514C90644046B293912B31CAF9FDDDBE3FBC8272FF827B677E +CADAF295574EBED60685F10EAE1ED416C434625304D404E9A2F1002341AC2775 +0FA1CF1A994E99B20E46E76DAA92E985B513F344F9F14DD6715944830B4437CF +D732AE81782ADB85BEC5D81E544D200A0A4823E767182192913C1B26358408A8 +3A7EDE5AB7FF3C65ABF6352258235890D5C8FFC972EBAFDC88074933F8A7D31F +42B0F25BD659CA9E620284261237BFF4891BA7A769C5741FBEA4FB1A36D8FEFE +EB12B472EC3A7899D9CA6D40BA17195C8530C373FDCD38877ECD01B39D57A632 +5FFBC5C4A8FFAE0D6B8EDCC9FD98FEEF4273560C8E4BBB51F39470098ACF4BEF +68F3473D994D9CD04A768FD883B762EF29ECBB0113B85E9EEE582D062693DF8E +223CDD15B8B185AA9778398144A77B1CEA2158DF6A2F31E70EAA93FBC1368DED +01FD932B6B55E0AABE2DC95CA8033A3F755FBB8515426BB432CB6210B93F60CF +A4478149856413B86B4B6F6343FB1E1C57436E6E45DAC8CDF772C0065EF634DC +A076DD7A4137FC6C9BCC6182DF2C5346B526B1E178D16C6D2C47179F35919B74 +552FE1F7A0185C5AB94D3452AAAE1AF13B4929C91D710393EFB379209FE16ED2 +175265D14F360C6488E18A8C0973844C950B9BDA89959372A2D1D83ADEB80887 +AD84C2E2099F73A2E468110AAB2BC8367161DF44E4B8EEAEEBB91C50FD3E067E +BB629F83EDCC2D659B3FF757B1D1CD9D256FAE1A2E9ACFC032BA9F411D5BE7BA +35B34EB84BD59C8FC9005C544BC83CFE7F062423EEC29B326C19A0684DBBCF44 +FEAF613BE20321AF7D1CA940090DB58920B9219284D91DA3BD4CCB8DB367464F +CC848329BCBE84245A4B5E96BA2200F2CA72A28E2D8B37EB1309FD6C6F51D89C +16AAB4DC27CD99AC7D748CFC6CDB1BCD36CFB0020B11D1CCC9186C1571D50641 +31D888349947B448513C7E832EB9F35B28EF86C2313AC9C9D795E8419F8391DE +31E82F5EAAA4A6474A598FAADF2F5BBADBD7460804D71371C1358E7EB05B2A2A +871DBB24797F62063F8E28DBF7B4B6C2BE6916D5E7DABC3DD8447B926452AFF6 +B12970869D2816CAABFB163DE7D75B530B2F873CF5039B0594D1CD925DDCC24B +CF772AF6E8BC64819469293A064442141A4D01526C93C55879A8EA0224911F07 +28FB73B1C2DF58F5D22984E6BBC957E31B7641D701115B694EE342F8362C571A +7C31BDC1C6F2611B5337EA2F3A34AD00EA8287694838776068268A7E27B3AED8 +75F2D2745418BEF0E6DB6834777CD3B07F91EDACA9CBFED80FF429114EA8CA10 +2F52A894B559D32FD8113D33FD627F1A45160C6A78F9BBCD9F863EB98DAAE397 +E4EB52EC153DCD51E0A00C801F30D092FC6BA87A44335CBB48C9B5753D6BC5B8 +8419A6836646059BC1DCB1EA3B8DA7C513787F4347FFAABFA9652CE7053CECDC +C6C6F581C821188EA33AE262BFE594DC5FB9A68831E34C847BB9A76D0CFAC87E +EE89512A909C311F76C628F8AEE423C84EEEC847734A5F5965237FEAE903AB82 +E3DC422D0A0926B8D5F379DF239265A69CA293482BFBE7C9B763D5357CD7DD96 +6F03F8B1FE3B4E639624E60FC5F03DCC001DB9D7E25F9BD60B34FE24AEB3C657 +9F40ADC8CF18DBB410E47E76E7C107D12E7D1F5348F6464C107CC9FA7760B319 +FC9CA536F38FD625550300F5D5719E6CE4FA3354AD77CCD6EBD2E517C4A5DA63 +8BAAF5E0CE1DD74F1C602CC98089BF60107E41319F7017A569C51333A54160E7 +FD5ADD4883E12582E2681B707D9C68FA526BCBDFA1DAD0116E0271E215FB6C52 +2AABC0B9738DAFD90EA6A413125F38C0D05FC385C88331419CF4ED3769A715A9 +048F1218741EE21010E3AAC8487C9A20866300EF581724F40B031BB44077F518 +AF943809E2025145D3DB4365E2DCA14553D9A270FED6DD8FED8D1559422B384B +762BBFFACFB6B5592844B988529FBE9915DA32C5ACB545AC202DB35D3298894C +1F7A519771C5AFADD6BA3ED3A734C15813142459B06E80FDBF5126E420ACF5DC +C659AD33AB0F1D0F7324077A7262514240EED920E41F813357F200D39FE19262 +14625E95387EFCB28B8968921E6C10CFFFC4BD87916698E3F2E8B56CF9EB9F5D +5DF46EA7A53E55C8672A2B70AC902ADA9CEA93A26A5C80134F1A64258FBF3587 +C68A55A652A98F250AC0FAF442C30042B44A31CAB4E0DA51859B39F654CB4214 +89AD6E8101B91064985B0E5EBC1C769DF9A5BB93C542D6492BD7153BDEA3628A +CD2731F8E758179D6AECDB6BDC3EF702CC0CB5E7521EEA3BF7EC2D9AAD705F26 +95A9F1E0FFE9EEE2BA7DE69196B139D4828D0A975B6AFB8FADE5485F120A6D1B +9DCD7C5101858C1B690959D9797783579B9A258EB64BC1AB244CC44F38CC193B +2F744B67973707E16B61939053E0D14C8B99A53BF16A3BD004A4C2A0497DB3CA +FE7C15D614F15EA38541D703FC5693AD7E66CA4A83F783C1C4CAD1463F963139 +FB78E535D0F70D47953D4E309C789156CD63D0D1DED586554422CDEE06C30A2B +B8E8653FA5D009C5A49A91B02AD39F4DBEF16351D050CC5B9987F7750A9E971C +872C703D59F4815DAAE2B20F6C745A2EFF7C6225C2EB7E9C2FA48CBB7BE3884B +6A21645B7C436F9CC0BADFE5D1A367CDAB8B5E694FD74D66D617EE9BF118E2A3 +D4436805710A3776E329329DED5AA41886BA47FD48EA1E446E9314F6BD0A6D5E +5D11DB2E407C0089818E3F8222F210AD5ED0AFE35273B1A610CF2B59D4C873B1 +BFA5657F45B876574351569E1B5D0566C9C8E05192C6EE20E76C59ACC3FB3B81 +2C5B0FE47B4C2DD5E10618C7BEAA8185CEEDC1E7A8085293EFB0F0B5D0BCCF8F +452DE32E6DEBC6F791BDE6A9C898068E1EF4745316FA7E255A4530586FB73D3C +50BB4D7CB9D91C6ED60B1401337DDFA74CEEC12BA98DEEB5732669AC8FBAC352 +A9E9A5759B7D848AAB9AFBFD769DC7AF4A2B6A36C8CD0E801E64DB7D2E1B06CF +BE8A544743965F190927145151EC4BBCECFB2E641F4EA7D31274FEA66518D849 +DB82483792BDE4FD15095501E07CAA8732846CED29D16C89EBEF24992B6F6876 +2A42CDE07E3A18BA1C238E1F888ED3FA2D7EDF68003810BDF02046561194B709 +C6CEF013DDA5686DBD6ABF443D1D3171899840FD142DFFBCBF119F73C205E168 +16A7783350A5F58D5F131014761B08E7708A9BABDA96FF71EE6A44B1211DCC2B +C9A0569894DBF24628615C9900E5B072B3C640D13E902F4FEB2326D4CB432A6B +C48C0DF00BA5224E9F94ACD218B37587712580797A5120E78AC13A849726DA27 +EBEE3844F0ABD0FABE99A29F24D9958E37756B9FA5CA6A2A9BC9C09D00D1A91F +FDCA890A095EC3765EE5B8DB792FCA5D4A1E39837E163EAF955C1400B2F9A659 +5F90DD9EF711096746C7E0FD7FB6BE2050FD5966F368D8D3E20724E55F3385AD +10811D2B1E7BCE236C7804D37B0EA446206B489B57F6A7111920A3436B130194 +057D32EB4D657E25719328BE307241FD0F06A59BC042EA3829E3B0E2A2B7D019 +486853E95CC89D3565F40A61A8F1315F32A34BF8EA024639B8F26ED927C64D86 +A2776E1993C34DA8BEEC9AD4A85A734B9923433CD6E9C4BEF381B9F9E60259B9 +B0D86B0E39D0B295254595E361AA0945205831C8A54A7A1AC26CD34CC29B5617 +14068220FA57C47DD9DF80DC8AB128CC04136087B44092895FBE218D9EDCBCDC +97BB9AFC314FBD8E77578E3F27DF88EED64E824FF0C25B44AF88BAE160DB886B +A2E022B1795F0076E5657BB35AB376D8AC8523CF9D01C0D5FE612FEEF17CB26A +8B8732FC3492104DAB6386398F733299E6E79D833397B7D527F5C4AFE6BC106F +36E8F8FE95D9D77D5AFF6EEAA715B0E16D639A60887D9C885029689FFD7D642E +7959D844FCD32091AC778B8686BC037534687F95555EAFDDAEDCE3F61B396AA0 +50AFC950B1561B41A9747662582F24C02FD330AF7652FA86901326925131B2C2 +F974B0223E2F31BC104CDD8D96B76649C61F9E2C31C413257898412426177407 +8CE96D10B669086F3CF145567E4A1942E056E4A3624A7CFDB97B85DBED674D1A +43D1BC23D1608C5B16B1347A28BE681ED20EFD3BDF76DB1BE0E13349B0B7401B +A7891FE07D3FF79C8EB25BDC4E409CB67FE1A1DA4551E2239A6A644510454A0A +8C0587A95E7222EC9C46B98771AD761C8118CDCE98AAAF1B798EBBFC423C3B7E +269251F146F9B186460C0BCECC32DE08E4A110CE3A6FDFCB40B2186CC45B7123 +A3A4BEF219934AE6A8081BF29C466AA115D0557F9102E011DCFEA334F9322358 +48985622FB748DEB06C508835CB5ACF6D26DAF814BE418C8A96E98F9B6D7B756 +019D453738B102FA960728C3FCA17AC0BA94E829F343B9298EF7B0959F68EF3D +C43A00349D6A91C48903E3FF1B4DD44D480B2E5EFBBEFE7BD4686706804C4365 +A12EA8D8E1A56BFFC9C3724E5226FFC4BCB90E0FA7C8F694AD7B77A9D7BBFE0A +DFF72A3F39F1AD7385D8C4720E5137F8CE9CA6CE163EA2941F67AA130DED7ADC +F3352EBE25B706F025EC2560FB682B012314B933C0CBCB36EF057C54CF2C2918 +56A3200093068141DFFCC589E5D4311844A2631FB86A36F4664A3DE943A93805 +9F56E43E05BD378ACD3A0E2AB25E192D2B296AE371331BFBACFEA82EE3DA915F +DE23C8649BD60380463B33916CA217EE6A00E353707FBE01A8ABE74711B58201 +21D9FA12C7C4A3F9BB54D334F49C64AC258CB30039E3BF891ACC13338E2391AA +7F9267FFEE491F2CFDD27F863599A373FE2008C2170D789A3BEA85D747809A6A +D3DDC2D413FCCC31CBD247484883A0F02FB4B3BF1EF0282A5851D6C6B799F679 +8AD48D0AA6D92A993E6BE8E2E755D05DDD153DAF25E60CBE80CE92818B2E1F89 +6E40912C3DE446D5EE6BE13AFA901C48A421CD7D89E91A7F8A7D4DF17F3EF6CB +029135C3FBAC03ABAF8118623E6E51ECA32E9FEDC87AB3F4B2A9B7E4822E7B98 +3FF4C7061EA7062E1616C5330B330A39E46B4D01C8CDB2C33F10F6CBA57CA3D3 +BA080F24C55643E56CC3B8267B65E50B3EEA65E6785133F3F72D9B8A4CC9C3E6 +55095919DB38E9D6FA2FB85649891E7E8E373A187FE21771422190C83EAE1329 +245B9773D0B68B691591D4512B836A459B30B95BCC82F501D5DD8B1EBB2B1339 +29638DA8D36C2639BE871A012E983B77AE092AD3AE160358CDC54F8872D8BA5D +C71BCE0C2575EBDCCEC8AB76539E6903A8AC710A47404B2C37F09EE0503401D2 +6BB2FA2B193886275E07B8D46F1F446342774E7C5C3F9E3F55B962F7BB11D0F3 +C7A79A3343934E79FD4C4241CE21CC1F161ECD2F1A915B915938617068A8AF73 +7D77579E78C03A09E4C24D41F7A306EE5E33EC3F30E9C2439A4D8031E075097C +4C6335FBE3553CCC7D09438DFAE91DE6A9774A74472CB67BD73277F8BDE5D7CC +3F8237F93A66DA5C20183550918A286A139AC1FBEC20D7D4718457BC5D83D1CF +A71B8109E431F9B07C2A4E5BE8A2B1B883D5EBDE19EDD32064D994D77D0393B6 +22D5403EFD0868FBCAFC4DE9C949FE190DEBFC324FEEFBCBB4C85B191CDE2174 +BC06460940FD7F59ABBA5E812A12E5FA76E063E16A8746E08C05EDDE2F6D4ED1 +455E1BFBF8A05081B7350223CD24253067AE1A4978BDC0FF9256C29EC706D31F +CC4C384B423B1248C96B9AA6C6625836ABBABA7E69B45C0FF5560C55B8895E4B +0F32386309517C510598EE29708F98ED5E0FFCBBC145BD413DC2468101A55F30 +FB3B20EB9946718BBEB9399483EBC19F52D1C494FE513EB90ACD0A215789E700 +21F1BB30A5D8163654C552457A68582A67575B60559293C971A8DEBFFDC53422 +5F7BA31C8C872D4E605C70E4A1F8CE2F8BB0D3D606F21E2BD014459446AA2726 +7786C5FC1B8669FD948AEE469267419BD45C62DFF3450EDD9FFBE322CFEFE049 +7ACC4D899AC10B2C24133276F95A64A1C2B8AE018A0204E365DD4967CCB96D51 +58652A59B1AB79B5CB911E81E5F1B63008BBD3B1AF273960E94AAFAEEEC73F2A +E1C7ED48E833B02719D50AB68B60C572C5DD27F14EB585CAB3CB85A18397C5F4 +7C132F9FBE3DD4E629DB137BE22EEFE1AAD18B37A54C8AC07360DDF99A37B56D +41622EE687C32FFDDC1A2590EA8A71DCDB73BFF7395A5434758FC21BA45C7262 +F705F0FFA5978D6F79F0CC1A25405F91CE9DCF09627423D112D3123A60F8A9FF +3D72661A5A29DD4ABC8A4BF1759EEAA7010925CA919E836D4846B4CD11BF752E +B0EFF7BE8B68381F8CCDF2902926DDCE4529839070DF6D8856CE6653D9A398C2 +0875A1F1A0DD1AA655C4CFD7A475026736672F942322D2D5860FCA120BDEBC88 +C9D2C9043EC9FC9658FA916DFDF6FA40C46380A4BC588300096688CF5769D7A5 +26D0457660D2273D23CF062BFE83B05C35EB7C05B00120CC1574CF137EB2225B +8DE0DA27E1238CAB1349ABF74962B08AE1B948FC4F8C876234D123F622C64C7E +99D5983F5004181B93452359A4459E01E09FE4C6408CE239A917C070EB42321B +A053859A2F23A93BF2C77C4664BE5F531CBED724010B01BEDAB4FD698F59D624 +88F3050560BCFF80478829E8B6902EEF9EF19C6ABC19699DB522EF1655A90B58 +1B7AB2695ECF4ACCAF39F79CA17EA6DECB9B3132D3271AE828596A7293060504 +E1D5375C553659EAAEA43399111DC1F866E99D788080F8C9EC24B2823098C498 +DB3F8A0795A7716CCDF03ABBC2B50A935D64CD08ADBC2A5E5D591E8C4A5DE697 +4200369D75A07E8853F5A7007C4184CA5445D5B4342F673878339A09F09BD6BF +8438E9EA727ADD8618D2DB058CFE96B75D24FB0A8C4AC5FF451C3EE990BD2B81 +4442FD27EC6EEC0B6C5B8BFEC20C284E1C9F3C093C6A5342495ABD9C697C5D32 +A76F091299E807345AC5A08C9854FAA1603D7E44B660989BE87D0B744C2407F1 +7D6997BCFA19B9C3B713A79E691FF7AF4A2438EAAA6D01936D8AC18C3DB2A8F4 +ADA04B19B48060C41FF9C67B3DF7604D0DE6B406C79647284D014CA9BE6FFAA6 +3E163FD8F81DC49415F0D94296523526779CAFAEF705B03B89D8B2B9A5D4BB9C +7456FB30A1996587688951ACC8187B30FA2492AE7FB6E2AFAE095DC7CE2DA646 +C7F7A377FDD4A0C3CB5562848AAD603A1FB282E458A322462B63F4247BBF9A69 +330B537F0B0AD1F7BE285B8E1EAF9FB9D9B45C80CEC5EE3EB276A3F5A0F3AE92 +60941FE11D159BBC7A8F924BA49D260EE3D5D7C2EA430024417273969913AD25 +DD8588D5FC54899D76DF4115093285D1F16197DB4AA17F9506227BB509B59ECD +F86D9D1C84E26AF5F6F841666A3F0F69F8E234026985AD28D78DB981F0372809 +457201FBA51AD175B2FA15C25AFB18CF8B18E338578927CBC7A170F102F8B67D +099978B4D60F55BC979CBECE0FE7A978FE27399D538FB69D3443BD5599A1F49D +831D1B19B65FCAA1CDBDEC158C62CA94C2597B818F9E8A86AE5D1EB67501DCD3 +783A6BE313E1DB8204A9005F62250B16395507743DE099326EDCD61364711D3C +82EA6C78F7F9AF77829F2821F9C5C932E9C22194F7D58A24C7F66D65C2EFD858 +AC542A705AE1A5054F75C2C500D01883CA8034ACE707B750EE42C494F8408337 +6B3E1986DD34AC8C21365A5FED6D21E1F05CF26A6DFE79D5112AA6ECE623E52D +6C25D8E06D76AD8E7A26768F3EDC3FBBA64B58AD2E298B171F6B6D7F6F75BA90 +12B51A6A063CBFFADE92995C7511FF2002EF1CE66DA3FFD048FB2E7FB690441B +DFA665F885113CD2E2F2CCC034D74D575EAFB46F63A02FF331A16065F4FD0BB2 +65C1D1F9E28F0A80A9F6476069FA4CBB077034D588BD8A417517C6661F714D20 +99C51763A34C8941CCC76A414B3AC519FA759C242F6539E2F12708DAC0EA4AD2 +74902B4E8080F6C7A8EFD4DEA4EDE452C775A547CD711A6118135B4F2E822A46 +491697FBB8DF2F8B734B54C2BF6657D45AB9C14B14F2E73FD38729F6E87567E5 +C37B3ED025B6502831DC140105527314F8A23E8F309B8E7CF95E0E2EE07B2271 +1F8216E909A58BC5A035AA904014B93B0A708718E80A1E07682A43FE6ED76E18 +767DE903FD2619F5D64BB5047FE1BE5218424E596439810FF58C4C7203969AD1 +26822987ED2A3E8EB1393747786538056183EE305279ACAE4B743673C264601E +5F90AACFEECF227C7F63628AA5C7C1F5EAF2B095E5CE49A1E61F90ACBF5A8405 +EC961A712CBBF082E04A7D7A443A860F682415BA38032C911DEB986F4CE79068 +D759B41CB84F78A92C1E9667AB80E06E8C72309269419ED2970D17F9B6B2EA4B +43EFF76136B76DDDE42F3321C8D96BC5F11FA31E8B08B8A3B3F117B3ACEB9B0B +EFE5F4BCCB2B7B6B3CE509264E58C2AD39DC58B25C4BCF009C5FE50A06C688B8 +2DD778B7899CC78E85BAD8241B0A4C23605D37A17EDA0AA4FC948A01F9AB2348 +6476ED62B70555E91582699A8450B92A342E39C85B15EB6BEB788D113FED822F +DF948EAF530150AA1077C977C4F1BD02E19EA57968D5E81A41CAF56F85B8AE9F +A68CBDF161A738C5C02C8AC5025D119694821C3B7AA60325201272048C00EFE3 +69CD3EDD9FC7FCB49F87391B9F0A68D3159B444BF4EE12D4DEB4B03B04AB0871 +70421392BFEE0F554903A4453E2C6E97849ADFB32739243A4CF271A158EC0F8C +CFB7E0604776657AC194BD7B3F4F0B145B0C3BC96F0E531DDF877B6C4F90264D +1DCD038E36A4C3BA16F7A35C7A9A5F2D08DB031BF82DA5267EE8D18DFB0D2194 +96982951E3F1453B71F9EF92572EBDE65DEBA0CD75B9DCAF147864FA2AB3B8F5 +00DCC80BC7E334D823A9106659CDE3BF745D8E10C9AE3838174632EB416A1BC1 +A5FA10D10E529351D44E252450239CD921403D97ACA3650293F382BCA9027C02 +BFFB0A7720BDECCBDA02664CFF8B509D12FEE61E0E7E9BE1DA54BE91784BC0F2 +941C7C95ACB36BDD0693B44191678FA99D8057B3CBB05EE3AEA0977A9027567A +0C5036965090789DA62AFE78652007628EA270D2D9A383BE0327068FAA790022 +F8033E2A54B7E6F39D80DC913F8BFA7DC5C3491926276BDD41397933EC0B050C +B29DEDC53C85527ECD47DC604DF196D712A530EE443588864FD5A80084667DA1 +A19719EA1F29F9155F928DA466511F18359F498DF715F0F2F527E34B045D4E4A +421543DC7870810AB6A4FEE430F96004795BEC1A8CCC246E2699185481139519 +B66364E4C71271C888D639BB8B78D1A0A0A1DC61AA29BE6CCED3EE91E3A0206B +7E +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +cleartomark +{restore}if +%%EndFont +%%BeginFont: PLRoman8-Bold +%!PS-AdobeFont-1.0: PLRoman8-Bold 1.11 +%%CreationDate: Thu Apr 13 18:00:00 2000 +%%VMusage: 1024 30988 +% Copyright (C) 1997 American Mathematical Society. All Rights Reserved. Adaptacja PL JMN 1997 +% ADL: 556 156 0 +%%EndComments +FontDirectory/PLRoman8-Bold known{/PLRoman8-Bold findfont dup/UniqueID known{dup +/UniqueID get 0 eq exch/FontType get 1 eq and}{pop false}ifelse +{save true}{false}ifelse}{false}ifelse +17 dict begin +/FontInfo 13 dict dup begin +/version(1.11)readonly def +/Notice(Copyright (C) 1997 American Mathematical Society. All Rights Reserved. Adaptacja PL JMN 1997)readonly def +/FullName(PLRoman8-Bold)readonly def +/FamilyName(PLRoman8)readonly def +/Weight(Bold)readonly def +/isFixedPitch false def +/ItalicAngle 0 def +/UnderlinePosition -117 def +/UnderlineThickness 54 def +end readonly def +/FontName /PLRoman8-Bold def +/Encoding 256 array +0 1 255 {1 index exch /.notdef put} for +dup 0 /.notdef put +readonly def +/PaintType 0 def +/FontType 1 def +/StrokeWidth 0 def +/FontMatrix[0.001 0 0 0.001 0 0]readonly def +%/UniqueID 0 def +/FontBBox{-70 -261 1246 937}readonly def +currentdict end +currentfile eexec +D9D66F633B846A97B686A97E45A3D0AA0525392EECAC163E584A9104D99AD0BC +1B1844A0E222653FA481B8809B26A46F4C483A5D7E95816EA6582584156CFEDE +B994ADCFF4645140E3617E4D7E1B0E4541CB9F562E55829B4DD880AABE2229E9 +4A9FA259A734D29BBA91BA1E2055CBEA4339BCBFF98D32CEFF11F296225CAABA +DCA10577A5D431B714726C1278D8101ABD1BD8D0BD0174FFF9148F8C61C241D9 +2AD360A28616CB4A0670C1BF105F3D1FFA85450238616E5A0C33EAC0F9CCBDE6 +AC15F1CF2A94043733C8CD06266771C56ED8A3DA9FEC02BF3C2E26FF3BAE2CBD +FBCB8CE1E8BA45E7C3F8D6DDB1C1C5BDC54883488DA7CC4CD2C05BFDBA771011 +DBA8CF2637698C547BE9EF95591B4E0B4BF322BAE091CDED462DD98A0FEEDD13 +B63EA201AA22586619B9E0F89E8963AA1DEBEBC5FF84827ED982298379501BDF +B8C460A2DA020F85E62754372D716C35BC979085D5D028A78E6BF0328C4F409B +9192E5443F6F0A4704FCB17689BB601B980A049B3507ABE7F8BABB2352FFD5D2 +DC0C9E62DA8B6E80F86A4C9C0F03E3F6FD5BC04815A0B1CF153A90701E8D69C9 +32D73148E8CD2AE4B79DB7B34A135AE9FA28BEC8579A8699D66C696ADE507683 +4329BAA902E701CA42717476298C9FF511E8DE1A268DEC768A941E3DF9669D04 +6C697F818EA103F176646D72499CDDCC90EA530A828BBDBEEEF59FADE7248B21 +1FF63B2B858D2D40789EB126C98F5489BBEFDFBF09F285EEFF14AA13715DDF6F +7034D0EA4F1FB73476024F8769ABEEEF7FA4EFCCA30C35F607F5C12CAB51089E +2C7C6F4150C4774423E8C99C28166E5FC3BCE52C13F05719FAF20F60E5D15B63 +0ADA5342D0CE252B67A9CCAF247C1A705A84EE6DB91C7C0A0100F1978F245635 +FA140CEF7FB92E22D07071D76B34DBB962CFC90A5084AFA8A975DBB3644ADB10 +37620E73A8012950F693A42136142D77A1741E2895CB2CF6F647E827537F2698 +9BF63286102E4EA6220BEAA1EF3FB862F9AA0FF7F3371CC1F33591F2A81E9478 +84D1E3DD1A8975EE6F7B0BB69266D0FDC747F0F89C2635D595FD984CA77B5C5D +D25C2852914D3225D07083B0BF8E4F10510C0D2491AB13FCB507AB79FD0421C5 +C06B9D593022C0A0C703A8479904F0256C5A0B12BEF34533C9C6EBBD193EC913 +183B2BE2ADBC924DDE75551EA794895FF697FFF58FC24F8F4074B96C1735036B +66C5A6AF44E14C485F3DBD0DCAA1D2BA8DB2FAD3A6063907DFBC54DB0C3B8554 +7C61D7E791F0EFFE61FE49DE095377351777C233796E3C3B76493BB9C08D5891 +88CFF8CAC6EEB756CF0ABE5F5A77BD5100F96AFEDFD0228ED63307080927953F +8BC73DBF1486A8CBBAE3C2A090DBFDB78D3C62F09DB178EB00BBA223AD140645 +B75794C47656E27DBFBF9E5695E704B4AE18EA08ACA6B60CA473B46905057635 +E6502D167CA1053BE9C8A37F18431BE64882149C65F47BDD1671010328FC7FD7 +464D887D7965B8CE22255BE94C6D185D042C297E406CB8FEA4722686F0B1F3D1 +30CB7B6A59454807003F55C42D8258610E443A3D3EEF019E826ED8528FA772F9 +0CD5A59CF0F9525FCD41C0A368A954452FB1AFAF4C19766336E629B65F5ADFA4 +D0C3C442D34EF5E344A819CFACC305F6831226C56160914266B1D28D74185B0E +0FAC89BECE59F6885F2E1394A596001FAC3C14C4AE3B287732A74624CD1AA642 +CABD334B5FCE8441F56E2FCC3EEAE0959D55D77119128D5486A2B3890E1DBD28 +018ABA72A1442AD6946BC91FECC6BF991DEF9A693800F88FCD01DD8842D53A0E +6D87E0F2079F816DF768493C7075240C93B644EE1EAC1A1F2711CE3C5B6F7630 +6A7B57F1EA05DE738806354AC06F6330A38533E085E1EF6CC1BDD35A3F6DAAA1 +9C857EBA17FEA216B731233A518B48040D40CBF94EA8E15DF7F0D97F71A4F3E4 +3AB674E1C4AE3F7E57DD385E1C63444E5B8EF4FDB9699B949B759F595899D229 +2619ECE920ACEA03EA27944046811AFD022372C017C1161A5D9974DFEFF4F032 +92F436BCC3CBAC1B766229EC03F717405C6BA98AF61B53AFA57A14B7F2D4815E +0733979B9FE7F2EBF30D6F43D5A1031F84BD428D30A72C71236573E05AAB9F71 +9D48E54C53FEFD797C9D6CEEF884247A495C8B6F736704478FB265EEDB2C014E +DC06AF0F99618F7D40617650FD9314E731D92207FFE12AB3DDECBB5F218BBE63 +758374E04BA7A6B3E9C951D8F90287AD8C6485F5339624848692FD811DE08921 +43A3166E8A243C09AD0E674C1D486D4F59FC3F155A19D63A97CBB7B99FF5756A +44F596F7FDB2249F5029FF35484E94C45FBAD23887ADF1F1F07CEC18C186F3C9 +09FD4316EE5CFB825AB81F98AB45E118E7EEC24B12C968A4DC8F5A07545EE52C +6BBB76A334615A272924F1868E2AAB61A3C1D0E82B661EA9C1B94B2EAC616248 +3BFC6A074E90F0395AF08BDAD01BC664D35CE925F6F04405595BD5A8A009F16F +70DB778E6032E3243476B874464269ACA5BF82566FE07660CAE36E35E6CDF134 +E82DE4DCFD2BE250662021E34D75944F3A93D799C3633FBC05451AB907B3E76E +C0DF833FDB049A03348CDEAB9F513F4251B69782EFCB7BF7D23A5844DB96A32B +DCE57D5C67D702AEBF0B8E2D333F98F57EEF40E66F956E98933A8C0E3DBB1D00 +989805A5D391A7728D51B18AE0FA5374AD3D78AF2B3F4C6CB32606657ECF51B6 +1ED2737839DB3B83FC3C528DD3B9304F30DA69CA757DF77A57F2EE78A22CE58C +67244215DE18BCF06B4C2607D10368EAD71325D69BF3460F448A5E38A4D87BD8 +AEE6DF7CBE80059C2A83B08C696A8423FE23278F98D87173A9E686234B6E8B6A +41A1565DB7CD7B6E984DEE494A7B01B637E77EAF484C238B02138995BDA8F401 +BC2AB317B12C429198C61D6D0DB796E73D1F01A4F48E7D98A9B2B4F0106A7238 +F457195D09FCB4CA2D81A942C37D7258F523002CEFA1CB9EDEBC0FF97EBEEA67 +B0B94F8A355299FBF350DB9CC57CC348B817348347A92520EBABA10C972DA468 +E1D75411661B046544BF2723FF4B45AC1F3C41698192EDAEA808C1FCEEB0A101 +C52F7A0A857FE92008A5DEB59FF71B33DAAED2DEE10380BD00159522AADD72B6 +6B8DFF757DF5A2AC8EB65977F54D3234B52B495A915C91C43CA5E08BB3F88634 +06FB1CC2CF016E6BCB592914E79DEDC7ACB9E0574E8DE0DAF6A12EA013AAADF6 +F1D7076ED71FBE9706E8CDFAB981D03330EE306078B7A2F954E5A230D5975793 +6660D3CB62D4FB676940A2F08D727FA2AEFCBE4AC82DAFEEF86EB672ACE9A64A +A094FE3697A275D68B3A674D43404E33F99836541F880846106385A467700E14 +FF13B2D5DD4E61176641A01BDB02DD95FCD9E8F7867EECB897301D2FE70F5091 +60C1CB42875A052F4D53D6124E7D7E64030217149D945E58DFF20AE4267D1CF0 +52953745A4D54A253FB2AE3D37E39706B7571AAAED118CE796246940463E2D04 +4358AE67AC7BFC8697CF929C6B47ABCA35F1F7E9AEC0F0BDA1BDA3C46A81CA96 +EC40EA33D43AF106DFF90F450E7B24F7088A5E41311E9B82067883EDC8BCDDDF +CB6A87C2A885AD457EB21EA14C919CE9F13C2BFED1652493DD64960EF0B77F65 +031C7D4F88A7F87669A117DCB087F1D2BC31824E9572A3F3CD0C1171F118FDC2 +149533BA921D3E005374772DC9A937B9DBBC40F6BB6BFBD9CD7021261D2C8117 +31B526265F1A63525475398013F04B49F67164F032D2F3C2DDC16FD131C7F302 +A2F9FB65ECCCAD46169329B7C59A444976F34F301F2906629B3D30BE4A54C7E4 +77FDD85B8D52A42EB6E9B4B10C0C20C1A175AB640E476814AB3ED796B8189A3F +739C72975C388195E806E7C824571D4783F11B5F1889192ECBE6DCA069227164 +C2CC7FA6F6974CAA8E8DA1D36DDE0F6D84642CC593FBD38744296B82E44AC1A5 +54E3D03ABC8B3DA3F404CCADA635E1B497C482A2A657E4E6C9C21533B3D1672A +022D1935DC96866AF1BFFC7A438014B5902A55B0F6CF2F8AE22F37FBD6545D9E +8FEC766BFD055074C5D637D7CF1805F02C4559E7AD0F0C3E68A9DC74A9D79B2F +FF0D43D16E0D780DA8251F4D0C298EA47151D9B41FF20364B875ADCBEDB9D8D2 +E139D55D686C7E96E4E59D476FD2FC56FCDBA6777B31BFB424421ED6047D0736 +338A42C2A174C3E0F92DA62475947EE726E1C877B97AE9E1A6649A0CB6953A8D +B701BF7A8A91680293C1F5DAE96E1A7A9C9012A54077D77F63305D13F623F9B8 +ED4D7FD2F08CEF3916F1EA9CBB74334DEB94DAC8D2D246B81D8EDF863AAB492A +E57E8EDF86F51C1705B63562D004710A84EAD6E3E6E195CBDAC59C6559093C11 +233AD680967E1EC25734E2F4C6DCA412C2E0A836F88D24D6FE389DDA01FA4306 +90CEC6D8F7061643F30D1874BE32DBF1FA9D3883FADCE79A8521483C2AD47B0A +CA1E1FA73EA9C4CD1348704810FBF3EA97132DFA64AE2AEA572E8B3C8F56B2AC +1D5C87E48486591A3C1C4760B0E12B51E1234E945ADBEA4BD8C6953A5C3B4BF2 +D0372D0210175B00375938695CA4A2904943033C1F9036FA76EBDCFA48841DE5 +394BBBFE6F613682D938AB70D416CD39E8562FD546F1E50BFD42D0C60D8E87DA +E14E79860B37E3E8AACFCAFA98EEE36E181581656DD25A7835DD6BAB3830ED59 +A43AB87815C627822DB3D6E1566AE808D65B12481CDDD1FE7A73DC4D181C5916 +886C28EF3E057C202CAD95C87793D5F78FF22EDE240535D6E3DC2BA4865E3562 +D7A3B0B34414144629AA8E5986E337E7AD09BB07B4671FF09BFAD30292186B7F +6BD8C29D65B4356C4E2C8E6ED1E2D6B1093F9F3749B84F64B1FD5992C1EF09AE +2E4E0F5236844C1052D0EBF84B621A37B09C82C73AB92A7451F4AB96F55DA6D3 +5FB7C3A342EC821ADA931C653006BF3BE90ED148B99FE059B9DF5536CCD95377 +E0D3FE9C05F30F995C001D5F190A0BFCC817D5DBC16B44DFEDAC2A39A813FC48 +91B49E7775375100F55E9F16B3DF05B11CFD93731EE7455CCC4ED0ABEF6C73B6 +DADAD2702D31876A1CFCE58D619A66DF8CCC311631985E922540F0D3D5236EA9 +7982C05E30482CFBAB903804529BEFFC802F9800AD9A061C5A9DEFE69400B2EF +05694742221D464A6661A7F34E6D65CC45A36D5E736F1412AECDD420CD51195E +AACBEA028E44400CF14E44F283F129D896AC099E3A80CF8CF84F57C0E4BCEADB +69142DB4E45865796EFC447255A99CCE4EC07AF8CBD2560CC56845D97159BD8B +8EEE2C388AED3B21C2EB19D38EE7EF00B7FD440C38A1BD8E6A11149D6BA9283C +269D2E0AB1795DA66CA39727598CDE36A037F2FAFDC119B5449795A6AEDFB0D6 +02DDA6976077056F38E453DACE9E719FD335668D0308E1BDC9C039C5D12C144E +F074FC348973D42CB83D61BAA2EE3C43062E6959165E9EC2602F42298810713A +9B31042BB5A1A31266E9604F5428E00C21C1CEF23C264CAA7ED1498203368309 +F97CF308EB489545B7ED76123320FF3E98ED91EB5F18A4F7D911D3EEADD41EB7 +B8921ED1DFEDAAD93A07401077BAEADD59BAB0E23E86CDCE1D9FF33AFA5A22B6 +21455429C82A60188A9CC302686387398B27E1352493EE662FB80E0D2F4448FB +963304426DADE00CD6E6894AE12715154AE64BF9BE90FCE97C3147008F00F136 +FEF0E8CA99A6CF8AE101D94B52602E22933C091369BC8AA064E0AC4EE68A7C1C +4309D6BBD6B6043F41C732FD622ED48AE06ECEDC6303F1592B79CE46CA4C8845 +39400BB3DF940EFA1C84D534874007249ADA3E06D08D112D96A5DF0FB3DAC7DC +B6211E6A24365C3791605F84F39C859B3BE698EAA1ADC90FF68C556ED6A60335 +01F5E1C090E3A641843D4AE30DBBE4C189B5B5F89B0683474C2B05C44EC07ED3 +3B46E63C23D3E8DA5DA36488AAD1C3D83D53A038FA1F23EF76E43D5B088D0A38 +FA8A6BF8B50E61083FD9F8ABB5D85D4C18C17255B9A042CBD9DE2B1953F12988 +BBBF028A9223883F9BB654504DBE5C353EE60A5E033A38DC5393FD4C40408AE7 +49815B5F2755B73B9B5397599CE4A935999B70701E7651148B2CF46FC1B740EE +3D97E3381F635DEE68AEF01B942C5BD89B956D79982A3403BD54D8D22E4EBB05 +585173AA55CDC6AA48050371B243E1B0966F05D0A82089E2FA3670AA62E81DEF +656644E81D1BDE643F11B2443FF507770909B0AE054CD40FF05CA14BB428392B +F935DCD3E32E62A547C003325C8F250AE9758545EB67E078F2697513890EBAE0 +9588F48C0A10B69864BA960D8D626027B44100380B53E4C2F5932B239F9F8C94 +B0782041128675069491EDC6393BFD9BDBC2F4BF31F70D77135241629CA599EA +7B17C74542892876C5CE297F6C23FB62B6AA682136AB07E51153C93B32CBB0DC +ED323005754A20A64F3D9E308E4A41F4549DD76E9F2F1D6A2A01676831AEBFD3 +B4171EFDCB28C5442BE496A96D13ED2C4C25E1A873151CF6ED500EF18B733E14 +061C6B3455CD1EDDC5E481B7BFB2614856135A86B878F86765CC77527581AE71 +32C02219E85F3B956F30F3399AFA3592C6701CCCC59E7EC7C5C5CE77F653FDAF +73BFFA369C29D2ABDACE28F121BB6F8395DBB21EC64F0F69D1C7445D3004D45A +8F3F541EEAAB3BAE066D98DB760D2FDDFD3D16C84CD797C1810C55505D450256 +DE2B9B1556981C6250ACBD9AEE22844A329FA077387C2319E7C86F65CC173576 +429980C812BD83ECE52D08E83FA9CD37F1BEEECD76E6909031B3B449885969CE +752ED4874BB76182CF57EF9ABC7FC6A56E92C9795539B579DCFDCD94BDCFFF99 +D6B0566A2F144874F369C67ACDAB40586A33CA01172C1DC4ED397DAAB6937ECB +C03CE8A8DE781129AF903A2071B32CCD999C06C27A66F8B1306FD73AA6311D73 +262D996D89D49CB5BE569EE0D7BA248DBA2E17C19C92702FDC0E06AFE8835CD1 +CBE3F9C99C3BB40E515FD7B16BA576825A5C05F297A13F5B8976437E10CC2E46 +693D1A4083AAF2B7A46C4E46F54CF6DA89266D1F965DCED45B76E61DF587FA2D +766F39206C44E5AB89B00A5DE491BC8992BC31C851B3DAAE8B302E79D73A9819 +90A0DB13C2E3338ADD04DBDA9E67FEC445AE2D886E1B38B1F160DF505C6635E5 +C55FF27D8F388FCD81BEADE0FB3708C00A4BDE339FC8B00BD2926B9A2BA6A300 +D5A60076F863CB74628D8DE0237439F1B7C07CDBB2AE6B759E774FEC3F2CF6D0 +C964CB8D35E85540B97BAC732278341BF05B7FB7F927C13BF67EC38B752B05BF +0085886EB77492E76C28E88692D219E16879EB0E41C9020ABE935D35B465EADE +DB47C90FE2589CC4F1589D571180A8A4782AE1E9532FE5FF83AFBFC657B34121 +A995317A6D17310C8D714C5E590A98CEC6898DA5055F9BC4C88403B63255CC9D +7B64FE2CD0CF3EA724201E9DF5271C9A5273D75452E8D7EC353E7D81E92D04A6 +4871A8744457EC29CE48B19D3804120D21DFA6034A14B252C7688B62F09861CA +7BB9F160120DF141893AD510C29283CF8C5625627487584F5D9C80390F8CC18E +380BEC846083E33344F425468DD7C19ECFFF0D16B079485659EA94578B3CE9C9 +2D3D497324077A727EF39F893C9B3740FE2E9D8DBE9CB4BC244D9DA6259DCC3E +5A2E64AEE6B2FC3A3E5AC524756CBB7D7854CFAD833C0E4B3D2A68B2366102AB +04094D88D3F18C3AAE9A6FBDFD2C2EAD99224C88F82E3220BB28E676941F818C +D45F0FB2F55C4B77AED5A57BEEEB868046CCEB6DF1687AB3C6014940AFB1A6FE +04844DDDB5D5A1A2EA65B6C789621A07F8AF76573E7BA2BDC85C893D5F4B3EF1 +014A08B5705B5F8F86CAB5020D1ED1FD9ACAB966CE06B883E8D1DED7CA22EB4C +6799E68CFDB502EC670D15B0A1CF50CFDC11E8869C21CCA790046C2773626A1E +DC7B140E2865F915F6AEB7EFACCE030B48991EFB54A88CED8FAABD94BC7D4F34 +82B0669F0885D1EA3DBFCD53064B70371658095EA7215574250373D8383DF962 +8957602E4F8D8E0B35BA9B0D4823485953B3CD3EF9D5B561D8E4B211C4FBE9D0 +A7349AB865B5A54329A6E5EB809F959C46437306DE6CBB953D59BC1D0619E23F +3A9AF33258C86AFB2F73E2B0C49F62AD946AA8259A8B1D882552729A6847D7A4 +F886B9EA56ECAF341FDECB9490DFB7AFA506A3FA669B69FD3C31C7E4DEB288A5 +7D94B05643000E9B8D8A39D6B9EB08AE2741F2794C10799B06FE4359A20D42BA +8E313C84F7694E7D9735621ACF85D920A9B6E343CC2A8FDA44FCF69B9F4B04D0 +1DC6057DBFC2B0085C29A95EB03DA57125B658AFB0BB255792D6D7039D1FEA75 +C28531E7280F26F57845D24204611DE9ED7854B7108D3C1511C95A9D188B89D4 +E33E0CA5168252B138217E94C52C3E21141C6593A1B8086692DD9F4B8FC20B85 +1B1CB51A7D983EEB01DE0AB2536A6DE82E8DE2ED92346B5918BC5735835437F8 +6CDD43B26AFE3816A6F76087D3DD7A9892460E6B6A09E5CB823BC5B7B93CCD6D +4F2407A6573408317F15803ABC8777163DD6E1BBE517F927C34B1F3249863949 +1AB1A1CB0C4E894BCDE243A97EF9EB9C673D4EA0F58B2B11ECD0C7F700A5BEBC +2404C7C876C281E433DA9A039F645549B32A224AAEEB83C49921E0BFC0A3B66B +FBEE976F069D256717A40D4950FBBBD20C626217A45A4B81E98B67D920CF6596 +26B51D88373B619BC2ED5104DB78936B2F50E449E68FBB05CDAE4D7A5BCE7561 +669EDCF29419310D9EC11917D3D726F2E736A78CAE3D1B2564F7A5C35E21CEE3 +5255268AB1065F2929C07E161728190859B2C076A8411B42EDB079468F08130F +F0C8C9E118926FCC6AA7E6375997266691C1E08BD0AEC4036AA977995A2D6889 +861ED8B5A653D68EFFFBA64D968E675949F1A7886969D17E57EA780B1BDAEDC1 +00063E0F0CA5DFA7A88EF38810F06D7C6E504512FC8AD2A626AEC53FB6FBBE49 +2ADC8189708529FF7B5DCF6C3B81C4183FCE0FD0C7F6B0713475C955C756C7A7 +366E444E1804B5A4823BA87A965BD2724F9001D0758578128A95D232F3CBC38C +F3B76B92097A94B6E52792CE81A458755AA6246DEE8566566A1F5E7C9C458001 +22D55D4A575A91CAAC7F6AC6CAC1A04D0EE2AFE20BCF8191C0F7F147A93DD114 +F7760ACB25BE24945AC1FEA340C1F0051D0A70227B35B4B35E7C7A8C976D5380 +0506923F1FA5CB0CBD9F968D068DBF528C83F7023AB1AAB55A523B4D711B0DD5 +9987AF3B59B8A361F8F2D12E639FF368D6C892FD7CFDB8A72E327A4391E45DC6 +C5105F51DE862F93B03A24C9418E59D019445473A72AF9870D32D5DF7D83683D +FEB4BDCCD30BAF6B590D49CF9D875B309A944A99F32AD738B618A634D4E46B69 +2F5431B34B0B08C9D6D400948E6AA7120830EB4B34B59FDA0B150D035C040E6E +4C000633E5954C2944481154D16BB28F88CC5E36842220F4943B0272AC32A322 +7A281EC4DB95F4A9A493E3DD868DCA5868184C4CB4A16D0874C9B8B9EB48D724 +A498F77B33BDC6C51B6791F9B47C6A95437F537591F5FBE87F7FD7BC7005EEA3 +9A649CF301F783F3A79E6944F6C25D39708C553B117B05C53FA39EF76B2EB828 +13C8D18231BCAA29629EF9E81B0DFC6F84CE4886F48588F399E21A1EC805DAB3 + 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 @@ -1589,351 +2393,479 @@ cleartomark {restore}if %%EndFont -%%BeginFont: PLBX10 -%!PS-AdobeFont-1.0: PLBX10 1.02 -%%CreationDate: Thu Jan 07 19:30:00 1999 -%%VMusage: 1024 31190 +%%BeginFont: PLTypewriter8-Regular +%!PS-AdobeFont-1.0: PLTypewriter8-Regular 1.11 +%%CreationDate: Thu Apr 13 18:00:00 2000 +%%VMusage: 1024 30414 % Copyright (C) 1997 American Mathematical Society. All Rights Reserved. Adaptacja PL JMN 1997 -% ADL: 750 250 0 +% ADL: 489 178 0 %%EndComments -FontDirectory/PLBX10 known{/PLBX10 findfont dup/UniqueXX known{dup -/UniqueXX get 0 eq exch/FontType get 1 eq and}{pop false}ifelse +FontDirectory/PLTypewriter8-Regular known{/PLTypewriter8-Regular findfont dup/UniqueID known{dup +/UniqueID get 0 eq exch/FontType get 1 eq and}{pop false}ifelse {save true}{false}ifelse}{false}ifelse 17 dict begin /FontInfo 13 dict dup begin -/version(1.02)readonly def +/version(1.11)readonly def /Notice(Copyright (C) 1997 American Mathematical Society. All Rights Reserved. Adaptacja PL JMN 1997)readonly def -/FullName(PLBX10)readonly def -/FamilyName(Computer Modern)readonly def +/FullName(PLTypewriter8-Regular)readonly def +/FamilyName(PLTypewriter8)readonly def /Weight(Normal)readonly def -/isFixedPitch false def +/isFixedPitch true def /ItalicAngle 0 def /UnderlinePosition -133 def -/UnderlineThickness 20 def +/UnderlineThickness 61 def end readonly def -/FontName /PLBX10 def +/FontName /PLTypewriter8-Regular def /Encoding 256 array 0 1 255 {1 index exch /.notdef put} for -dup 12 /fi put -dup 66 /B put -dup 68 /D put -dup 69 /E put -dup 70 /F put -dup 71 /G put -dup 73 /I put -dup 75 /K put -dup 76 /L put -dup 77 /M put -dup 78 /N put -dup 79 /O put -dup 80 /P put -dup 82 /R put -dup 83 /S put -dup 84 /T put -dup 85 /U put -dup 87 /W put -dup 90 /Z put -dup 97 /a put -dup 98 /b put -dup 99 /c put -dup 100 /d put -dup 101 /e put -dup 102 /f put -dup 103 /g put -dup 104 /h put -dup 105 /i put -dup 106 /j put -dup 107 /k put -dup 108 /l put -dup 109 /m put -dup 110 /n put -dup 111 /o put -dup 112 /p put -dup 114 /r put -dup 115 /s put -dup 116 /t put -dup 117 /u put -dup 119 /w put -dup 121 /y put -dup 122 /z put -dup 123 /endash put -dup 161 /aogonek put -dup 166 /eogonek put -dup 170 /lslash put -dup 171 /nacute put -dup 177 /sacute put -dup 187 /zdotaccent put -dup 243 /oacute put +dup 0 /.notdef put readonly def /PaintType 0 def /FontType 1 def /StrokeWidth 0 def /FontMatrix[0.001 0 0 0.001 0 0]readonly def -%/UniqueXX 0 def -/FontBBox{-56 -250 1164 916}readonly def +%/UniqueID 0 def +/FontBBox{-5 -232 545 841}readonly def currentdict end currentfile eexec -d9d66f633b846a97b686a97e45a3d0aa0525392eecac163e584a9104d99ad0bc -1b1844a0e222653fa481b8809b26a46f4c483a5d7e95816ea6582584156cfede -b994adcff4645140e3617e4d7e1b0e4541cb9f562e55829b4dd880aabe2229e9 -4a9fa259a734d29bba91ba1e2055cbea4339bcbff98d32ceff11f296225caaba -dca10577a5d431b714726c1278d8101abd1bd8d0bd0174fff9148f8c61c241d9 -2ad360a28616cb4a0670c1bf105a25e1bfc9f2b5d2adc8239cf6ceb1085a5d47 -76bf78d14753f998c47f4fcb1ab6b7595496fa51af12771741c525cc727551a1 -c53b99507cb5132343184f19d28615dddf61ba4ed26ff746a8de2d895cd9fbad -56cceaddefe9e0d07a01fa572fa8e90427da946147c08161a3d49c534a5966d4 -9db68b43e54b6abce3674e951551a86fee8206e15d755fc96d3e006d6bfc1c3e -dc4557cb035687755e7896fbbdd7f0e8feb84bc965bb3a156ac014eb63afd5ea -9f86295b06a8954df1fd0f5c49d1e4fc45e07f61035f23768667fa661fd8d83a -f919b5e9fc42f7f3376488cbdf2d84189aec29d3442963c84ef6a185e1fe8b2e -dac61e0afe78f39de16cd153a9a5521ba6235a41981d6fa292307bb1674f8857 -ffbf1b4d888a053067c8bdd020c124baef8489e22a9695239572da12faa9003e -77b58b735c1f44c5d887a016954e26706951085403691a73361e5a30da786e59 -9e554acd9f59a3e70196edb7408d844d77af0d6c18318591c18b3498fedd429b -1b1b8550f2219e7ef9cc6498377eeb98c0c01cbaa10c0032681a5c2209013769 -ec79e2f70fa0b7f7bc3165c34863c9ed9f7928ab93f9c6c4bd6d42c7ae37894d -b7d9ab7deba978f86de0d40252391203d2019b4cc7191a01e6c46712ef0332d3 -55e7991f89eaeafa9102fe5b08f936a704bea3521abeba45ef5a863e6df6994a -91b8e0f568ac52601c71e2428cafd273ebdba3dd782eb52a382112cb5ccaa76e -fba63ccfb193f0535668963cd81c85b8c6f704ae86151b23b102f075a045f1a4 -83b5cabe142a3d8c36509f0429a83796cc605f31682dcb40fa2f6372e41851f0 -c6fb83f8aab16ee306e3460a158bbcdb278a70e5ec7a790d08c65887497c67de -48dbcb2406a5b89affc074464941a5c482b5376b87a17c8c15f289f1d60eec36 -a1f009c699e498fc50eaac6deae31b30eea4b8cc2434681339b3a8c96cdeaf81 -4991a3133a212f0cd9f58b4c51f83916e6a8ffb062fdb938436953236b17bdba -9afe53e8aca1df369300eeebc1c4888e5c6b77ec7029ef43ae3835433d00d2fd -61a4b4bd4fa23848408d4083243a9c2034a55e82592f9bc8490ba4ed5ffed8d9 -1a684c2ffef80844659929e4943861f8646aa39c44a05b961cc47fe1aebe771b -2c86d85dc86124f0c5f6fb17c1b3be7ac0155f1dfa12ae5b99ca30eaca35d22a -88c432e33960c48226928abcc5aac317ef51529b3f18fa2de7a7ab908ec797db -8a2e7fbeb199d0d635cb64e3efbe4d3ed522b5070e317e0fb9f7941203be7d5e -6aecc7f3e1650efd2e41fc0e09b70e742cc28830f93b2eb0a75247d68070cbad -275415182abe29940155fc52ef6ec557c8b6dd5d2655a24ec9d4d6135694e3c5 -2366bafda34b4e126fa2a169230de02c19162edfbbb9edff8461d7a5375f741e -71f9470d31082a66ee9495a2dc232d103b0b793ee9d2fa84cf8f10df58c13ed1 -f6504bc8bae81f677063e62704bb826b994d0fbbfbc9ca2cf1ea72cbb5662cae -6d897220135415a0fc41a267943125a7d4a56bacbc6b5942793df4b84c19f099 -4f14d8dfb0b1f211e019c089e3f0e0bf430e3f19d6a6816abd7d77ed7ca1d234 -8217b753b6d6a66694def49f77d0d5b99c38bfdb75417a73b36b787b3720b645 -69acaaf1a589536e17cef7cb6b84108f28c8f623a254822b3c51535dd7f360aa -7835a3c621a6810761fd93ca0f1cd26cf55384fc0e501c6e39b5d9de1f11921d -eb0096caad0376274180bcc51a3efba4907e7bbd2dc02cac0eab1c37056c4e84 -d85fa416ade7ebae9e7ed87da2bfd91ac061c17e9fdbac6a70ab42c2a80f83d1 -12a178037453a40f4b88f7454e31adf640754c011428e00ed5200fc413a5e17e -797a05073e6957085102aa9be5391ac725c929fedd9420d3f0503ab18d32ad88 -7553350a8e0a16c6fd6b0e205bd3ddb326cc7b46acfccbca582a66fa4f84d0a8 -e6218a1d25e53209fe9a66c39f922679428fb0aa8eb4827123f4135806dead83 -c0cbce469499d4bec8130024923a36e236c041c0faf1b537f86d3e11a501544a -e02305fade75999a45e0a73752a824b79c727b5be4f856f349dbb9aa7034ee03 -25610ce2c5f1b0b5fdce35e27ca00e739bf74ae02b30774b7ea307dd5c9745f4 -fab74146e398e1b675964836f1a230ecb9e51cd17221b509590e316f1facb8bf -c213123927a58522c1a0be1f391a1d4eda7c3215a82548cf5f6871e318be1dd0 -9000c10ed14c17fae81f904a4327b6d48b3f1313e8bc9ed9febf9e222390e0a4 -0b7c5473f80cac58fed5ce70ba682906eda7f5d900796779d98f236d5322945d -88d9228ce094945907e2476862704c534227b1e4ed50b3d27b86c6dcba56f09f -b49e9e7d2156192b2262fedf123874ed36bf55e7669038bcabfe2e2f3851e427 -4469c9cc1e93069fb851df5b0260a202a567e98956b04507f059427aabbbebce -b72e0821f66a756b184f824e3be1b7157ca6660b429f87494bb8efbe967accef -3a10356d541463f8a2dfee0f2c51b1aa54509d31772f680effbe7f44ce38ed32 -d5d6785b0b97a512893807794dfcaf7fea840d56d691df270f33705133e562d6 -4d5bd492b6db7051a1a6be339a3f41e993a3824b991088d74cfe36186d9be0f2 -6ed69c54d8ab6f49511544677fdbd7cf6b44daae639c534b775b91ca6c015202 -00e45c73312b35c1f1379efa1ccd17980b3a25d29269626f8c3515dbca203c8b -e767e1844aae6e466ee13dc28206a34c555e6eac50fd913132e141a88118d242 -93d23a1062d5654c8d917f4884bb7b430741cfc69b62a9ea6b8931361c12de48 -69b412409bf7ada24af2e5f5a7e74604e28a5c77f93f77a7b4a0f0209fd58230 -d494b83bf44c82ba5313cc5e08dd71a0b860667e3b12711734d8ae403d692b3a -1a2c3c88d32f7fa0742af270b948908959d3939125845edc2c7244786d040030 -edf22c709023988d3fa57721d19b30f202e2e7082d4189c93503f8b8af96a44c -02a4c846b733388520273a080c4e4bba9ffd446ae8fa96e7dcb0315e0d78afa9 -5341a243e14ff939afaea10368375ea6894b275de6015b134a377feca284f737 -d4a0d68c18e57dcbfbb83ccd32c1fcc9a39ee187b530ffbffc0e015863287b28 -06d27b15e17e2de73057ba3eab36f7e55a2b1d4e53f6315fe3ed227fc8fffbd2 -fc3d0d9496b795a18074c8893001dd8f9ed6e5cc7086ae41cc19e6d256aa8320 -ffbb09825e83a444e294156f09b87973c3ed85cc0512ef67e30758415cf70234 -6306e839cbb82cecf0e1a1ca82c6adc0df6a71afea878f8bfc878521c077964f -6a8e855290c5849b31ee851b0e488ca32777eebc227d80a79cc611a0d58ce622 -1e5a1d423621612f119be507b6bc34f19b5e2a789626affc34a5939d8aea1c9b -042c527c1a969eec3474abb21361434a9ea880a3149c7eb4a6b826d0cdc86867 -b0dc3013505c56663bbae2f51631877d551d8ebcde229817b0bcd6a11b88d2e6 -3067f81490d227e91c1e69eb48da0a47608e9c06079fc5356b184f0b48601fb8 -7bc623dc34a20d4a1d397515712621a4b479550471c1e9ae0e78fae6fab32759 -de824cd2a5290ff0f8168cddaae73ccdb7738924c33f31635e00e7a86113ba26 -f1b2eff94752d65bc04558b93e671f269355053814b68a625826ecdf08934014 -994b947a9ea083ddc5b6c0d84aadc53487b037d94387c43cd101d4dd65abc2d3 -0d89dd2bedbebd2e7f86cfda4aef92a3cf077434132144034b7a1c1f3c28f425 -4002acd1b8f8a908d183b901ad439e2d2677adaab708e19026c598f35bb61313 -b12468364cdf52e44520dabe1b204fae82a02301cff3767f47c693372b0657e3 -71196b19aac69e316d16a3f10e5b0ea5fcf1873b601caa1e881dcdf05b2726e0 -68df5210fd876c884d1f985d31f4414c078385e3519594ddc2f398f80c3f7775 -ec7f90f8b12fcb8e1fe6e6a6ea31086d85c0b2729af908b0d305df3014215970 -c484207dd08ceab12c85d898d249995daeadc2b26e03493d3ac7e24aeb710044 -5e85fe24c1f832877b869ffe02b52f7acef616c2067c4cfd53d5633b358e540c -70f769bba710fa427e98ba56e35c1cc807307c13a8439cba3f627b11e163d7ae -1601816ea1776c621321faea23cb892aa00f8553562f0d2f8c7684f1cdf8b66d -7d1ef09b6ffa4d5e4a384094a161b6ff766cadfa1d7e9313e6510feb4eb36823 -630aa718a2f9a5d996ca45ed1c7ba3caf15ce81e6185b1f9bf5fa432517f5f82 -185aebec8fd54a541a9e9546caefa716d6955db1bee32890cb3246efb70e3a0b -12b683983b2bd4ed9f303f3cf8055b0e9adec8798c16e927af9365968fbed6f5 -3367a95762fcf0c2c5d3988e4429a47406dfd7b3f0e1be96b3bbda05ed57ef3e -178dac2b8d8958555f5218eba096a9166ee8ad565e2f096741b5838e58e7641f -1c7cb6a18d413f9931ef86394a7f97251f7b96856f9da241dacf6d19bca64a41 -99ebff93afe086ba33b8244b7ba57ac5409071349d7a32d9e954b2790cd87d44 -0c1466730845fe9db42ad79c1cfaadd0da46adeb2d1993a9d466b2dc046abd83 -209b39b89accb8125c8748ab6934536beb70cfcb2bc3f98e6264530a61ff1313 -a3c64f7385fe1e80c8c1ccf86ec9556e53b0567b13414ae5314076492e33a62f -d7003d283535ba00fe252dbed89160e80a5f125a050f7b539b5122bb53b8db0f -a7e4d1afef6283cb1783baaf7bc1ccb9d6af4a1bd1356a606aafe3f59e4d1b5a -8d6a7cd522a5ac075dba846093da22db4f21815e74c064e40c2ad3d6d92d1153 -b8024dd2ca1b2c2e0ea0c5862fc8b3630eb9e123b8520fcc84acbd4873993107 -0de374b5c067c4fdc1eb8110887cc0c03ca3b9951766f02985d4fbe30be11cd0 -5a3ded27a0107e6c4e786a6e8d5f8125f93f6eb624ad0d98377b0bc406947fde -0827d167222384130920ad01f4e56b1f808f2811945761a198ea339eaf638bbd -39196740d0ba13ec022888ffc0bc34d600f4ff0d543d018f51ce827d84e0d161 -e32445c609d1147f25b5e0da4f88e45da932e350cf99704eaa6fe1ac0f4861fe -1d608f98fc3d68a4e8d45a795b80775712e948cc542f174466b1e5428eb36b80 -986c1e0a888cf0807363fa0ab7809f0f346e3c38bbc3ecb591e6c48c7bc59048 -befd72f72c2decefe3b81e2a4d5e6b13730088eb02effd2ba4904d8e44f490f3 -9e6f00c81f5a5a6e976f72f61d13dcbdb393cee5913fb86301a8e8ab80c3bf5f -33e0b68abb24d1d46b91a3abaa6e704dc642bfdd5ded06932d5c314c50aa2d1f -03818c74144ca6d18a352bff922a727f1257d956fd2b2254097f8aed53d94596 -350a2e4671b82cf68fd2aa19cbf36d6fcd684a57834f4ea0a308ef05010952b6 -556a13447c6d62bd09a844c434117ffcc28c64880efdf800c82ed5b2909a2c4a -e61a0e086a6231d6d80c977ac35ac6969d44f8fda1fb7d44fcb548ee9448c42f -3c7efea8f700d85edb6d6d0b72a01b64c6d7daab9d3cede00792a4411da7eddc -44455d2a8f9d2d78d57789a08a6f01ca3e5544f6ecb1e53af88b6da592949f3d -ab799d0ed4f4ba2508ad7b43502cbb18e97a301e2ff9ca8b2d722acd30dcb4fd -1a65a7cb0fea61d84e538b732492a66fff1d30d0fdd3260ccce451c5d630963f -3e46393b0af35f7597803b1b466b774a1098c9f731e02af41f5ad7a87c1d9e03 -dc1471ac86ec85239fca84e4c0e1c90abbea574dbaad03c59cb21800e32fd4f2 -4feb29fcb1472c16c4929abfeb25126da9c1d380b822b5e4ba6c70c721adaa40 -95e605c65d8f5c3625acfc2503b76b119f8a1360b15e4733ef0a4e70d6d1259e -7d1cdff47176cb3708a59e29ba47e2cbfdceb6806ed53b9ba76c3cce1a35717b -b13c6ec03d2e47ec1a4a5eab237c22ffee8b144ee4e5cf4efcaed971faee495d -f2a935fc463be03c9c0f05e58eac29256938d93bc4a4059c4a8e405d58d31e0b -b1b903a0351ae7f1cca904b8cb6ad06e55d7ce7ec759dc867263e4452e6728eb -474d945052d3e4310aa16b8fda9d4ee5b7d838387d7e009f7ec6e04813654d22 -e582c0df36f47855f90dc2de7f785d89c4f285d7e04ce62e0b6697a90241dc87 -91968e90b4837072657d815c2651c2cc59e374350819ef3742d98aca7b9c813a -d7534c698f54ed737ea8f9fef6a452600b006cb387e5551e1f7950bba0b3d674 -76ffd51616a19c2bb811029278269b72712230552a99c368edbf625a1f963106 -5ef11fdf069f7409849534e802568aa41d4a6d23ba723d01cfc9ec4afcb74690 -6ee6a5345df7abdd83d5b4abe0d1ff283028b312db1895bbd13a4e68396a86ef -39b5ef06ffb470426f7a04a8dfa6fa5ad467099835016334e5031fe1296b168b -c9f7a587232fe26195e4b22ec8b6ec0aa1e5b80ad88ec0c8944004642195cb22 -7ea08faa7010af7b661f655fed3a33deb765fe598fbde13deac83ecc208ca881 -94c934438d54d52680888805d436f7f98c90813f2db2edc3991407873fa267d6 -2e8dd29388fe1746315f862cca8929f155d08531a6803b73307005e5c7887d03 -be2369bd096d6bedc544e7f5906621c7eaaf5278fb60473deaef4a5462c0e784 -eb2a929369e76cd0170827bed2bc41ad5e217e69a4dcbbc4348c1759242ba778 -85b865d6c116c7d561ef5792f496cd8ed851951beeb4fb648d7d296791b0c205 -355c42297b91558d427a324d94937d8a376da2d2c191b8616b0bd2cdf958231d -2998e4fe574fda714375601a3a54f53e7fd9b2273d2a6f3149aacb0d507ccf4b -36f3a1133cba8fd63bd482c68da9c67c5294ed761bf1cad1d1bab983e1f94be2 -8a26ff98957ea676d8143b2b40b87321226536ac07cc75ba60941d57cd5f1cd7 -201aff1736242c6349b38a7896affb69934aa02d85d633902dc7d0858a61981a -deed7cfc9280952eba39c3f7f1803a3a178217581085459fe250bb0755cd4003 -a39fdb2a7206bac44523d826512501cff788e94589ac84e1dbd88fd3afb97540 -86b306954a988c5f3b48a1a63d2997b41c043c5f4698939fc10c98bee40ab7be -62aafa6561b7d2f3928519096ebc87df6f9fa3d410bc06eadf11b319e82d68c8 -4f56bfb8458d85d0824e1e5f04330e5252ce8206f8e31da0ea72de8ebdc52951 -d01d069f86d15cf6279ce4b3e2191270d69122539e750bfaa442a0693837839a -f76e88b3578c501d3617439c0069b5ed8da8cf4a28e5e0dff1b610338cb4198b -f0198dbc2f0dad542121dc14ec1a3a7910748ae36ab792ab3b711dc136bb7286 -3c5692229242355dcbed11ebeef2e6a15d9eb81033f4f4aea1bf2ae6747cee22 -493fee582787949681793b972aced666a6c512e5f3510aa82eb15b927115f9d2 -2a2d1e42dc69beddbd9612494df0ff00cf1dbe8ec92206911f84a62c2c0f9811 -6d48576d2379231422b263e664f0fcafa57184567c9b789669832f2319a24d34 -ae9d774e2ce4e8d3d47434e829c4ada7f338a85f708ea16f3c4ef331bc496cc3 -cf54fbe01976f658466d757f643cf855b44cc5c105bdd65f0b3407376d3e2e42 -e138e12f6100ea7df55b4879369c34009f47db9287a12f771dfa3f01bd2cd34d -bb4c34a36edee4742faa821d6784151067f1eebaa3934b61bad97f277aceeb20 -5c32f88d9eb60eec5386a804899adce8749ec80c1a4cec43ee38c79d44422649 -3ecec7e50794c243375fa29fff6d86b85085367e1c3e826a74e0ae7097580991 -b41472c79665de4e058b49c9718ac0f90c2b98cd418df3783f0be8055cf714e6 -cd20ad44a0f334fb5687af9206c664e8ad06a3904ac96cfab1a864c8618cd78d -bdcd330ce1af70b055a3ec33bdb7e2b95a80ad1e0431c3cd354fbd7570f216e0 -a0888926fa070a99ab3e26223659c4f6728369ad4f505a9262c409c5843a05fd -c85f85ba53d9227e6afa83089b917f6e490b5bfc1e5a713c4e8da8d8884cd28b -faaade8a4004670c4c692d86e7254d3732eaff0d1c625298b884da8499561e93 -d2dab3a46eab4c4cd674cd54718cd0f6c62939e28c61df4230b10cc5247db5be -595d14d23f27143ae03facf8d7651978f53431fc0b15493f5e1751f263ecf5c0 -b3d56c9d1339c9b55aa13bc6f545884ac6f394153bede4be8d34c84282ec6e34 -1c230405f6a8357f886b72c342a535ca184c60874656600cce4aa09c17858219 -170fb0ec5ce38aa24b9cfc22f17846fdae21dfaafbee094a16412c28cc91a5f2 -d8bc46cae87b4e0ef611b8e0a2a56417a3a387bbb8cddc6746b273297a4402fa -e8df3a3ad4af86daa31d8b592c2b2b757169024c34f450a0ced64103bb143fff -b0fddbc555b78a125df861f1809d9a74a8ab98be6701b647b358f16a4ad6acee -a5d7c67a4cdd9598754608c1b37605698a87714658a7e6fc7ed339aebc543c4c -2a5278534b1271b6cb2bdada77edf90243bd4e8fe8866586fc83fe385e70deee -735e3b8654d64d1878a14d1c09bdfa68e3b2e4265c943ce88783f84f684c8b67 -e300636c67bcdebc0c0d05eb4db116410dfb121f1cf2dcc15e1eb0bb3d43c246 -045617e91b1dba976846dbc47d90755d820cf82c8ca3064b12928d97ab496cf7 -61dff91edf2db8bbf54d210fb37711c0e606b16656674a7d314f336154851d36 -e9c450165e30a66c0c0a432ed7596cb8d825308af3f5c48946f64aa963605bab -0f8dbc520ea81fdaacd40defb0eaca54cb30d4c9172b736b61971c09b6253de0 -a28f4e683eb689ee94566065a37545f32a57a4764e0c94334e503266faaa45fa -ea1c80bb6cca5f789d7504a9320f8482f563505f3b7e8221e43594d7d043fa15 -82dd262e478a5810e1377cab302aaf42c061797d822567594eeda1977d8bb03f -30afe6141b769f71277dda1b1e4697725201a036877872daf7fda394d3bde43b -7942ed0508663e3818a72c42955d1c55a65085cf76b15bf347c7ee247d2cebc5 -2212d7f6b82cdea77189381991b9eb10704d1d511c0bbe31250ac540241cd49b -04444c4301a34e4ddeba82790138b1017a27c02dff13fb6c939b96024ce1e88f -3cc8912273a6cebdb1ea6280225e016be6b970f79475e2e09ec3e4a3c0ac7561 -4489548e9eea7dc601e965d7533dad287853ba92e613655a73f456d54a1729f5 -972b25e649d99c21e1274b168215832b003c90f305646723ccfb290ac6ab5dc1 -b31ae2ccf7c0b4e3f7c892966adc9ac3067a969db083e159b191bff0e75138de -19df59de0645be0848ff2ff5d8105efdc01f3cb3f195bd8400f80276ef51eff4 -2ad6c24903caa55cd144819cba999379805a9a0df18686e72e667c5dd6d3aa53 -439488fbc4b78ae26699984dcb1df18a92ebdf61bec2ccbb5124d2e94eab0539 -e9381b9ed7b671e2d3b67c21dcae69d761a68995972a8a487ede6c4418530272 -3129ef15ce2ad6956e63a758ebcd38f575f2f2e81ac1d8b813bb4ecf5662ad8c -79e6e823950d3b87e26bd8bbb9a6592abf277d6bb96b2fc579d61587b2096ed7 -e28e35243f04283ee7807a2c9b9ee0344e73d91936df589e5d9f6e57e262f9bc -9dd944f5cde2b489cf0db21ee4b147d292c4ff96f12ba962c7103b9db2e308d0 -288f1f47ed86251cf7fea4187b4f09b9eeabc52c404710fcd597f4eec31871b6 -83cde28e4a851300402ea6b6c929a92c24488784e05b74ac50541a000723b9a9 -7bd525e270547f91d0ff873d3a5a32b9128195767202a4d91b64b4dfa39a9613 -5ce0c367b570e1c281927de8e5a0d74a2511d8036e470dcd0f59ef1524a29424 -ab5e19da023e2b3e6d6daf9998e4c0d448e8388260c391669a5739bff3fb93c9 -47dd942adabfd67e3bb962a2fbae765a54d997df3180b82461fb8bf6039cfde4 -074e102ee7b7f61f4789e28f31c0568682621666322b77d60a829a4e362124d6 -e1e926b3b5dd3e5570d6fbfd1601dfc40405b630ba0bb556a4fffd17b3b17240 -8f55154136ca7203e0e90b351b015320794a29c5039487ff7a6d8b031a23a810 -0f90160c03277590c306d3146c9e8853770d4c2e638e7ce77ef01da3bdab9627 -198bb3408f33727acc8c42fe76ee6e1630e4ad8e0a8d93ac1badfecaa19298b4 -84c742b47da0a4f5af6a8c30c3c87200523cf857e34fd6e8625aa76a38cf7dc4 -d515fd4b68ea14e845d161e9c4bff92a6592f60a339838643e71142e3a169d6a -1aa83b306a6cc84a956e7a1721cbe8c7aebe9c8ceef27f41e71a811ded7aba6d -ab29e236afb4416672de0acb0f6d4e5a4c1766728f99fedc664150d66cc1d22c -f28d8331a1df90c9a09d950bd0086a84b28e1682f02cb0778ad353923901da50 -9a4a747917de3706f34de37bcd11a62db0e98e41a4c3cd9040c646c20b26af91 -507cd85595ef3ae90907cf51e8006202eb4a23929296c40e65e7c655f33cbc74 -3dc00349b7e88243fc23ac076be3c6113b7768d80dbe5adb04de4f2aea62ab56 -ae8a4d5a8aa5a448341b0d6cd775ac979b2c76a36fa9602b50cbe9c174b241f6 -fbc1b7c1fde325b4aa4e830111590082e96835b66c3195bac28b3acda885dcdb -1a68ceb2908682d41eb496be424ebdd981ef7012d7ffbd3eb1bc5a3b518f8bd5 -0025886e7603cf83597fa6e8d3e60c6438f11db435b2d0f02bbdae191e0ed55f -66cb92f9bc61fc0217edbf9b8d0102552e757437b124835143158c2783ca5fb2 -6cf7d98d6ab8a60cba248abac00c59850ab528751925c9f69f921c6910d7a129 -d908814a14ce89d70861fb47d1c020f1155068b551b21c302dd718baec1802f4 -dd0065dbd58ba656bccb0f44c39d8298ae44605e0d78725d9c7aa306c7346313 -a7e5ce15110f5772755891e5536034a2c79a995e7357dd730e1f6d9566d09895 -542de122963237d3a08fd2404b69fafb0ac2c57c909762ed73ed1c9202e05a57 -57772809543c4d0176c6fe36d3304208473a5a4ed1f55253a786a051a9116de1 -cace82243b65afeb68f8013219c775424058c7451a70dac8f3c54f38d882dde8 -de423c332d4cb436ea89129362e2041f16520cbfb5aedc62e425186f4572da61 -b7f82a6cd36e38294b4828bae025998234e8480958a4b040a9f4bbcf37e8e253 -ceee3b77ecc9050b505b4765a0d43f5876368b7e22571eb41c544fe34bf171fd -a3a720377e3281a056f9d0ed5f2302d98f8d02f1b0d61133e02170a741c18e05 -86775087eacd84f24dfa7f1f1047f47883359eef45fc99ae412ca15fff746009 -33a2020ed9f783cd9bbf293daadc7e0d661bf5c68f2c060703259b0bc504adbb -f98cf77c3ebaaf06e95a63610b553a191ea35cccd9e23d841fe311c179b6dc9c -41336df390aed82300ecff393f1452d0ed758b5e7575f57bb78736b9cfb58d78 -f1f31af4347bd18d7ac3e8997cb2b08f6216d9801b9c7df3186f4996eeb8e720 -f7ff8fc9ad42479e826ea657f7ac56c1e950e6c6520891bb276caba8126eaf64 -168b7bdc0dfea2d184a1338bc75e9981378993510641a7a5c5164a33848779c6 -db514bc5f3f8e98160a129c7fa906b8b6b1686caeafa9d897f42 +D9D66F633B846A97B686A97E45A3D0AA0525392EECAC163E584A9104D99AD0BC +1B1844A0E222653FA481B8809B26A46F4C483A5D7E95816EA6582584156CFEDE +B994ADCFF4645140E3617E4D7E1B0E4541CB9F562E55829B4DD880AABE2229E9 +4A9FA259A734D29BBA91BA1E2055CBEA4339BCBFF98D32CEFF11F296225CAABA +DCA10577A5D431B714726C1278D8101ABD1BD8D0BD0174FFF9148F8C61C241D9 +2AD360A28616CB4A0670C1BF105BF4659ADEAF285B288B8C45EBB28817B16FD4 +E84AAACE8EEE3FF662C0A331845CF93764AC3D89DBD552B91A1E9B652CF90846 +0DB65CABC15CD4439AE5B5277F193D525319F51C7E4782F09759A87E1B37A013 +C4C25F5C7C43490B50CCE7B9C9DDB33861BF2A2B755FC0E3526A02B7C2134177 +0EE0DF579B43A3965DAF9548EF0E6A5E88A265DD968CEEF0372F7433A5575690 +DB0EB58EEB024104A2B925CD1B8C8971D80232693C6E616E78306DDC79494FD6 +F4CF9A1BE8B2478B8C2073F3DFB2AC1B08A9F95E5A6129BF96DD6F356E3CFB10 +6CD4681B468893DCDD5049B6664BC42200513B9CADB615879E41D6190AA3A0DA +1C06F42C9AA4FDAFFC058871FF664D81B7FF38800C5754EB41D1244C5E974D96 +75B6FFF16F3C96BD9BE14FF20C785A6F46E7AB9DA0A6025784AFDAA74E9E69FA +C88CAE97BD8239E974438E141CB19E762A1FDB01DA5EA72FC2C4A95C05EDB8A7 +B96E93483B35288221D856957449AA4AF7FA6963E77ACEBC40FC0F4228F77FFC +CA2F2F7CAFD93CA182B25CD0F7F8387DD8CA44A544BEE210382DB0321D08CED2 +1EE48F9FC2C35D851EE98AD3863A0A6C40428D521AC56BD90E5D14B07E2D70F0 +84A5A74282463E426240BB2AECAF921477FCD299B2E5EA7AE199713BD4573977 +97B1F5E1DF730CF36E7E0DA7F9805EBCA7E545DC35A60B9C93D1A9DBDF00700F +D1893286ADE1BC40550DBD475801848196FF59D705A0D83B4647C244630A285F +751DAF6D51E9B9D5CB3E7541626E069F54C8A0818C4D8691E084B8B2BC1DE7C5 +7D2992EB24625547D67BD112B59BA801D75428F331EB561A6F257C8BC677E44A +3629E20B6B00AB8DD9359F982E1B59361D233CED47B7985A34DE5861E0AE858C +398D95179E007A6CFE211D8D3BD07A191CC377126A41EA96394170A5BF25824F +7EAC28280B1FD9CBECFC7CE7D76F3A09B3BF227F67DF57D19B3F873D1E7E46FB +042B8425F182A1ED39553AF1119CB14C388EAB56D36EC43623539BAE1C2022B8 +3E3269E878E4DABE11BCA251600788A06FE5A8EFD273C02B6815F111514C2BB2 +1B16C7E4F8EEE21D4959D2B78540E1566B5CEA3A7F4143DCAF0C973C32B448B5 +8F1851EC935A0A0CB753F67FCAD925FFA67EBD994DA888B66526C76E1442E95D +FD76D944D13FFEE76B06B2243B93A714BFADD14A52A3C56D45CA8B4F0E073865 +F3309041EDE5D2768687CC471AED42F2886C1A3AE9E544B5CDB0AED33204093B +570CA37A1D626A0D50E4E66FA2EBA88294BC72B991CD58E1D9531AABC9DE7DF9 +163FFF77B46319A796AD9178781F0E51C7EF4F7A449D9C8AA7783653A7C6BBEC +CA0FE1D38F417818F37A3A070EBFE95EA7DB361DDD6001FE4B7368A1F1A012D2 +896DFBD327142268C81D827F8AC87AC0DF39B1E0EBAAC34D6E17090F43C615CF +AF7439D2C6E8BF87B0383B6F7AE56DC9264635E2188986E0AEBCC298331EF89D +F1DB61968812291C5BD83579B55601659E8374CBEC1D71A935C8D6761F3CDD58 +F8B8E447555557A7961C86F877E0D837CAB76BCAB53B32CC96206C18B1F1E45C +30E63E42686F7F60305F5F135461F8AB4E1A5B5CEC69FEB1914AAB7AC7447F29 +30362DD09229C80137E2DCFC1D586DCEE2DAA656D1555DA1488F1F17F4CD7A08 +396913FB7265FF4F5796CAE1DD7047D46C72420DE5C1EA962F618B18A3DBDF7B +E1566BDF90F502A700E00BF19971469BF22120B8F798205B3CDAE20E03994784 +712355A46936E8C7FC84527E7D439BC235430FE2C6D0C98D7AF768B0F4285C4F +A2CF91CF95EB6C4616704AC458155065BE7F7633423E4283CA25D06CE7826FF3 +DD99BB594BA35798649DEA27F65FF89E3AC674408818CC72602AC5BAA57C00F2 +4B8940BFA717354350E40BF722188F38CE9D46B2ABC0413F6782048119C7B3BB +00C482B190C7FEB04EE0C4F936D673FF29BE91E000ED4AE191931633CAAD57CF +2076E8A43DD4B42790D389B16E1FBCF04E0C4EC39D7982084FB63865B81ECA05 +A80E40C0DA667129F87745EEF4660FB56D9F92BAF993C4A1F9918298D2DA853E +94734B26CA503A277634E4192DC17787C412E7273DDE3F70DA94BF8D08C5A921 +6D29E2CF0BD6D47B45C1DE6D1C0F2EF0F0A0569A8BA8389597F0617364303EAF +057DCAAA45CA93BA7CB71BBA2F3D6AED42553105A5C120308AD6E4B905367A51 +96F5A334775804EF2047F7F8BECEB82913736130C521620B2D0C877D96C24DA3 +DAA51DA0C97290306F2B40E28DCDBF18E72B17D6C2F443F2718C25440586C64F +328339EED2EEA79229F7D6AA63EDCAC14D0E7609CA2C1325A2F5E66E9CD987C0 +4095F0034DD3BD95E0FDCED4E2B4C542E8DE10296260304F2DFAD6EBE48CC19C +34839E7B1DA20F7E26BC52C73DBFB67111A6BA5680BBDB2E202C5641DE56ACA6 +72B233D05F45F0AAB98FF5387F0F57089A2D575B2659F0EAE5FE109377B949DC +F7A7CD8B56AB4BAD106CD589113ED0ED88E4562C1AA4B411796D217E22BD3373 +C972885EC11829358C1583255E15BAE9ACEC391B579C16BF069302FE49157850 +C07ABAB3222956D475D6241EFE4E186C1F6147D7607A45398FA21F25E7A1E529 +2523B5C5A70AB68F0E82288384134272F550C045B9FCC0F5DFB46C9FF7436B00 +26DC732ECA0A51437AE3F14C4CF1CE9A372900526B412117FA0C16776770FF8C +6758AF06F4E4291B21347541CBBC63FC3048F27D9C4C9369E0FF17C243C8725D +4177FC4E030950F86B944EF7F6468A1273BA67845FC46D7C43D38CCAD33A0225 +1EEDA8600201AFC252AA5812AA5072BE796574CE2C9A985FDFBD3E2B876BE576 +710C393A8356649F386E1979A6F7EBB8CC911A0345F33273203BC909CEA33A2D +4B68B92DF8431F441E8603E1B735366BDEA64084E2039F6F689D1D1AEFD7CE0E +AF2EC676BF771F5B9316AFD5C2AED1F9B71F55A5D5E997CEADB3435EB9BE3CE7 +2605076331FDB634340EB236626F0EE54F1DB5B3628E247CF976B6AFE25DAF40 +3311F039C6561DAEBF46AD62DB6E27933E03BB118A00D0F025F0A14EBAFB5897 +7B835708E9D552067650A999C62F6C26F98370DAE50451FC90F48753DAF686F3 +642E6E7A209CA9617468EEA88155D181FAD328163D315EB92F8E42446275F5A6 +2376530BDEB66C20F6AA24B51A02AEBEF322648F56EA12F46DF6A22B590B9F0F +AAD50D044E12428A74D03BFD927A376A70A50816CC70D50FB51BE1161FC30F6C +059EB4E54EE1ADAC62B7362B8CC7D7E6C18C3EA533285B7E62617DB6523E629B +39FDA591442B82FBABDEBF5DD307FD5FE881F99944982823409EC0269BD33DD9 +4B412A8D349640AFBBE5F42363EF87ECFBB07FD376BD2C1A641459EA2C6ABED7 +0CF63CDD5FE7231C05A3020749339681BE57B4CD50903AE0459070B2E1CBDEA4 +02066DFAC37A4B06C8D2CFE0B88F287C3FED26A115C2173238A8C843BF252705 +3FA78840C66160E0E099D4F50B9B0756B0C75BC7DC06B034D0EF5C55E86C0A7A +3AFBFE040101F5F3E2EFCFDF11D52E8BE37297EE576202FD04008079F09BB2FB +82B1D1E2E078E4D42F8C9ED1C9D6B0EA1CB656E493908FC60CDC49BDA893459C +EC2F7068E9336C351E276A37D7EAD511A3BC741690961339CD650B2CEBB80EB6 +8DBC5D82F253F83F62958034C6C1590AD32A8EDB9588B3DDA9D5744616A43CBC +56B00F822F7AE0AC4005DC811EBC418E6F0D0BA80CB2062F319454FD0EEE07E1 +55DBBAFABC7790789ED0C3E2E2237AC3FFB62638BC2BD4B3CDF1DCD2F4F7A072 +0503D7161B7EF3264E153925BAEFE64761F5EBA2915DAF3D8379BBEE93C7ADE7 +21409B093C1927BF03F3B5EBA369EEC9DEB81AC4B59F8C8A49FB435D4620E8A2 +008A02EC5681D000A8EBB023F0EF15AE3F6D91CA26515A86F5B9D008786002CB +B1EE977C88AE260A1D2E428520C8811D02A0A094F845FF4A109BF1A5B3E4F822 +D84FF85A7AFAED62A69684C2DEC40609D994CC7847064A18E9F4B13BD4CA03F2 +42DF0F81E34F138B8A76AC6C4A8FFECCA09AE8210DC0157687AA55F982E7F97C +2B2459661177FC792403F181E7C0131D379A49B2C7649F51FD803890EC88A5EA +75D82CF49C948544456D6323286CEB2539DDE7A73364AB352763C407C0F09DC3 +F3022EF6347C31A53640E45FADCBE33FE5F40AC5A42258DC11796E8F834E7FCC +4C523D95207B36E865797879DD5D854A04EB3F5AF5E709F26CD9C484E3C56D49 +78D17EEB944C905C0FB4E7F592C93535C26977C3BC6B9CB149F3725C894669FF +44C8BDC92CC29C5B7F2DDD6DD5104E04E810338E7B485BDE7BCF903F734DD7CB +5C9B7DBCD5ADF9264A60D166F0211390A48B60413102DE03A69C33515BF9C595 +EFEC75E06F07B35273CDCE50516A57F191028439EC8E5B8124192D43A47EEF26 +8AA1B135AC4F442444A67A855D1C96EC73E306DFAE22973DEF8FF548AF36F41E +219F071A8126A9DF8158DF67183BC133AA81F2082FBDA1525D000067FFE55783 +E17EDFB171D6AD67DEA1649F54431D42B663F7868151FE6102F9CCC90D4FD2A0 +931193F10D34CCEB45D5F2337EAB4F70211F994C0737897477BA5BFECD0802B0 +86594E2D64281DBE9D61FF6706E8D5A4A955D3A423DACE1AB5B13A4DEEF2E9A1 +36BABC8E1328AB11B4B26222A6F4169D9ED91D60D4F8C46C16C745B58752D394 +15CCA9C948A3665E31FBDF35035E4B79D216D2A2E10837B4D590E00464AEA544 +FD607E476804BFA21D553A9A3B6E29937F52FEDF5BCBAEEA8FF205D91E61D6FB +F0894C659A61F005C6FCE1A0E970036117F50BEF1DDDBC2AD2B526C65E1A4E98 +BB4EFAB5F880FF2492A0FD1A321D392B6590F33779183066983F1B67526D6089 +6E706D9DA2C2E4289EDB0205C94E76DF309E19377297C58FBEC02B0424B56DD3 +7AC73B7D957BF9CE3B0999EF24263FA13A3DC4FAE0E34ED9BB413501394C01D7 +3557DC869EA0D45CDD151E01EA0F5D6ACEC38C3BB28D26B8F817C641C4DC2B64 +A89E0D6A283C98929C675D9735BBF8799A87D3987420F014A0A2B1B15A104121 +6988DE7335FA7130D761D45E9F9CAA56046AD1CE245C969AA0F257BFF37ADD69 +89E85FCA26A24EF31C4375A2809CC5ED835EB1AECF35AB8ED9C07D27DA60451F +2CFF04B9C2ED3225AFDFED29C110AEED350F45EB766CE005561141B3076B162B +5B0DEB09713CDA59AA7ABDF6A54B35F6010FEDEF6C34FAC4077EF07FD0FC8962 +530A98376BD26C39075D9EC1A987BC99B27BB61B4A077FADD338C2A01580D84E +0135EED6CD280ED033AD04799EB9F13AD2F4373BDA157D2389CF1D71F65EA74C +B0A90A62A05E0E6853A89537F380C2FB287D7458FCF8C5301D4633D93064D975 +906ED3948EEA7CDCA298C41A6F679848AEB924DF95B58D8DA93DD0E43634791D +B7B31DB298B7E78F839ED8D858AD4C77BACED05E5DD0C717505475857A47A977 +CFDC3FAB4954286AD4115B409DDFFEE2757E3B3C622CC6935DA0C4EBE6E73DBA +9E508070C5EE9E91EACEFAFF2D8B6BF15794A552055E3B2E9707A0C61D904E41 +B9B0B901CC8489414DEF5E701BDC76E7B9700EBBB54DEAF0039BFD9D975A0C53 +23A575E10783F738A69564D8C4D3DE3B27BF408FF68EDBBA8148EA7FEBCF1093 +41488F906450AD70892A75ACEA874898A1893291A97827D2AF45C8379364325D +D8DC1AE11DD1E3F0088AEB39EE217541A4C17DF1A012D2896DFBD32EE1A8844F +5EA592BFA0F8530A17935D1E17DC0C1FAF30A7C463EB45F0D1798271E583290B +0195489A5ED95EB8E3733A3BA2F98CD9C937C36603B7F3357786F66BE72851EC +C43D94B484700D72CE5B239CB06EF050913C84520BBC0DD71A5ED6AB07863F84 +5D07F03C217FFD7A58EA0C7A398BCA6EF0DC03DF19A3B7F0621E5DF8F48C433C +5CA5EF5AAC63F57DE0552ADA3E14BC9A225A7A06271CD2A35B031DA95C0CD59F +19CAAE0B2173E3498FB7D0594BE5C1C51FF11BC7660627C309B251D45D787512 +8814A1B75DD571FF042DFD6A009817A28C281C3E1974EF64505EAEE437E10F0C +446F2AADC2AFADBF3F607C7C93DF8C301739E51DD451D8AA55F085706C278C5E +1981EC64A5A3157D7221A45C95F7E64231E58015863310F60AA52F893F9E0A8D +7C22D8D3DC349EE4B9BEEACBE36A6DA23FB3E8BE62FBEA68C93884A25FC2EF78 +FF074A7B458B16FC14050FFD4C8F2AF68FD0E13011CC3011A88576B8430B4A72 +8F254E9C04A8F1FA82E223319B624D546799A137A61DB960A3746B2BBA04956B +86F9B706370053CD173E9D3D2261AA9B3F73296995CD0398C35E5E008CE46E03 +4B3F80AD2AD5D46C478AC54EA771DB2E116B5F3D795D8EB4965FEA812297011C +EF1C2764D61BF8F9E244474B07910763C27010AA86EA4B7F6B1B609DC99F0970 +D73EBD25676A2743F442E4D7193F90BC0CB3045FFD66D27ACDDDF6844EE95C8F +00645E9CF2C3A71C1499CEF50F2E70E256AB6AB6592D605E873EF375665DFD55 +2665499DA042C5A95A254853EDE7EA1D4886861F7462E61A0C068124A89F89C6 +62F872C866C7A9878969095404E84D2420904CE81614809D97B4B88FADC24F80 +974B48D8FC563ED82DD7C0F29D35DE34A5C877A7242EA8814BD8504C65F2182A +4F50833FE84E224696BF32270E8F67664170E613506B72390D0FEFD2B476E5DC +9EC3DDB6310B59817ABDE32A3EE76BE0B8A3520D7A8D41D16D4A3E36D597C7EF +86102A0AED5B0CDF3872DD27DFE5E285F8C7EB1331FA15A73709AC2C7FC1F5E9 +5F94BE63D6C28148250AB67AD6A45BD188255D5A783B32B5A6F76E0435095678 +386F97F6A459467A25F2E4A55724FED24FC2F8852D3935955D9934F923793DC8 +C963116DC5A3531FEFD7C5B014F39EAF0D7FA4DA1316C308D33B21BDA87C1A98 +1C720790A9C991F318764F19E9835FF8E82FC677217C210DA1DA5CA989C9A0A1 +67813257F9E37202DFF04A22E5AE26375A3B2CCD6F934361CA0D77F47A7E2119 +C1009E2ED2540C5E635C5BED74DE76E48E06E6CC926E03DA745316CF48850271 +71A5258697AF20F1314EEAE7564CBDDB40C97652C1697D2BAD5DADF0C1A92F7A +DA6F3100F29C864BAC5DEC9D29C4575F7FBFA39A86BF16ED2466D8DD2EA2E80F +589B3D0F108E530CF19D665AB209ED3EBB7280DA88C7345730E8184BFC9EEE4D +9FE376D7825CAB14AA924CE621CE0B2988A9B0EFE7FC3E279A4429B2939059F4 +B4ACDE2A650BDB5CC9D5EDE1495155DEE2C89E1D3383D2DD1B6292B7E21C27CB +7B049D1773BB0EDE89B977122D3F26873231FE69504FC0649FAFE3A951A6CBE1 +B23CD348F54FFC2A14A682573428FE006FE3F5CF538761B57C9C44F436A457B7 +CDD95BF3E6515958D80EE7A4F522507421DD6C9353BE1058FF7075573BE448E6 +FE375870F4820113C592E7080C797D60E3942E7913F0F41394DD01524B342881 +E852CBF50A9DD891830B3F01552C5F73CD7B30B5D459A86CA5817830AC8A29F7 +2B012B75109F5C3EF03D8A3735EBCF71EBDD6930043A3C643A6C32AE3CE9BCC4 +85CC5D3239C3736B16542980AF0FD4D413DB8EA31A431CF3879574BED7345763 +B25155ECE30DDA73A32C390177AE0796710AEABAA07E36BF91FF2BE61055CE45 +A3CDA0B1517F1DAAF840012EFAEAFD5632B370AE8955FBC699FC847FFBFDCDA5 +C1AFBE3C28EFAE4B76D065623775693E0F3E49E3BBA089C8E19C23606AC75631 +E9441EA26E2188147BBA8F70A7D7A5A77E157C651E556EBAA6474EAD3A6188A2 +DA05BAD2DE0ACC02B8ADF47401F8A55BB73B29F727ABBEEBCCA3DD33DE32C90A +2546C090ECD872C48AB4BF001752E079D2065D9B7D8C2AF27B2546D995629784 +10572FD2E0F7DD562FAF98506FA0A2186A65E1F7427482E42145649903A220DD +FACBA5A39A5309459035396E4E94B3BC031F24E8A43F0731EB6D10A3C1BCCF7D +E243728C87C7C96516574D26B0B7F5A52403137483EB24731126502CC6AF65E4 +21861F92C749EC695084E897679A1D09E7C4979D6FDDEDC084737B4D8235B053 +2F0C9447D871D68AF75FE7C4D24754AE69C5A0CF0A56B288F6278D34B3DA4A62 +02D377C85DC513FB5FCE978189EACD38403BF6113933188796D8A4AFD80D2300 +A67CA6CFEF470051C6D10F9FC88148B4248784988E2158F33615341EAC94E61A +5557C7530B5AC1B657C3BB2BBCF10FBDC0BE74AD2E8AE6D170A3787578FBBE56 +B646D229B2E148E351A63DD8460DEB8FC4CE4F9BE1E94D4A4D6FB049AFDBE1DE +F666C14EE422C36FD17FBCBCC6ED253E29CB3BF1374422CB313853E14748BFF1 +53D14F913213FC416951EBB43CC03F854D0A45A4A9C821415D9D121966AA4CD6 +31C61065CA780CE9A649CE076161278E8AEC8E4A609C147AE7BDDAA18A31C629 +0C876ACE023566656DE99C8DD328A3CB3F59C1311A1A870FFC9399F87D391830 +13BE512EEED0D64EC9D62E85D42BFFD334BFA5DEDB60ADDBC3349FEE1A1204F5 +64D32B1E47489F91C6651A29B8628F33FED3EBC94F41A68C19FF670B7E847BF3 +14D7B208C9AE11C70595C8198CC04A5EA4FF63763A313DFC80E922A6E9E93228 +5287C3AF97002FE3BCD9479D77856FA941F152CAA9227C44F1B39B60A159223D +0BF3A3C7921F47CC03240186432EA6675326AF7ED0E7034FE0395EE0E4C8EF10 +E60B2F5B3039BF6D022875BB277FD8633BD1F7D69E3F0ECF51B70C9F79A3E8E6 +488704F6D542DDEAD58934B8C9F894AD07C295CA6B866E436A9743BF070D8563 +E19B7C08BF709FE9C5B6D51F9767EB89239985717EF84B341F6EDC288E441482 +48DE53A7D1BAB7FA350C8593FB8FDEF73BC274B65EA08846E632CE0C60CC7F16 +ADFA60E6653103BF10422F0075B496C585C7EA4D4352FAB75ACEE263BADCF6F9 +685591D040EA6EF2F860C23E9E27D70C0BC4BDFE33186B4D160812207091ABFD +250125F39A7A3523F57EFA2D7917653D743EE04489ED6317AA5345C3B2781902 +7A3A34E56A50009A8764F9539ECF7203CEE399698A49E1FBF816243BA11159D6 +03611ECEABFC83489227E8F58A94FD5E4061CD340BA09635BDA9183B36CA2A9B +6119D7E5C2E55C82ED7A700772FCA980B8B95899C9C0E0AED713F04B18AA0C86 +0E00A184F14699C7AA23BA98A9B63DEDEB61826EFE3D65D5BC7A271618E9C68F +91297E07FCFBA5E244A20E27AAB110135F538A3AE88EA6A15FD2D150E6E9EA97 +03AB24F289049B952E80E28017623E6DEC899E4E9929C668A1F8E600BC62D9D6 +C520DAA727C85C35CA0D143AD7D555615D2BF15B25BED1F8B0B19C0A4F982514 +CCC24D25D5E5DA979BE412A17E89CA231836FBDBF9F20EF5A4DCCB4EEBB22D91 +88736383A898B0C9B0D6A2EDD43CC1D15143FB8348646A34FC8C88262CF69B46 +F4C60D1AFFFEF4F6F1B008F46F1581BFD75A8F3452090D88F9DD2C8B71970FB3 +F77DD24ED084CCE11F587DBEA211BCC08739ADF1FF013BE242CE5197CD4E1E88 +69C1B9ADD4AF06FBCF316E3EF577DD728B074F13D2D36727CE498593617FFB07 +D4992BEC67799540E0A435B286027DC36F49CE3A0478839F2127DC4AA7289AD1 +680396D0C5935D3DC5582E7A8C6E7441AD77E332BBCF11EA2D9F5B98920A9B9A +F042877D3D6B8908C9033A1E95F5F8A1D36201E233D7B49853910A59DA98B41D +CA3A245A829395D38B9CB7717C2F2FA5D1E334B78CF52DBF6EF8F389B9C32DDA +88EF621E3F8D25BBBC544C48EC89F3B799FC5FC1EEED325FE8AF57981321B9DF +605565A2103A1331F8130DFBB446FEF44B5A3B8F51BA6A9EF8569954BE283FF0 +6CA7398BA4E94CF911E29C5BBD155449877263E8C348FFFEB953A6669194D489 +801B196ED4A4D09D5665D19185FBAAAC42A6B7F1CED08821977D671F820CD8E1 +1B048EC8C8F7706F7026124B2132E7EDCA20DA643CEB0ED271EF787F63F45751 +71DA1303BA5194B63EA9837CEAF441CAC7BE73129551A5EF0FD3EA2BEE24C866 +4FF43748792CB89A5777AF5968FA716C3A0B2C307341FF0752FCCF88558D837A +3F803F870C88B1971E84AE575DFF2BB81C97E9900CECFD4FEB93F67D42AC8D5D +2DC5B2A044C90C31167A11C43DDB568EF592E9DA606B695F4C59418914FFDFCD +DDAFC55B36051B0EAEBADF8713489E46C0D94B3911FF6BC967EEF7099F8F2094 +E1BD2DA0C5C1CC24199790F05A6182C0D83D245932DAE9FE5DD1F6ECFE77948C +B97C5DD2A61346B1C3592D42BB2FDD14652267A1D399B723518AAE7617042157 +35B30783B6F9F6C059CF1A7B3577A727E52A1BB0643D7C0BF67205BE4F9090A9 +4062BA511DA13FA80C389947E0F0222D29794B681DCD02070111BFD5E8E3AD79 +06AFDB28BDD7ED3FE5B86BEB27F94F7C68BD6D8D373EB6C03106A34F9B6DB854 +216C6DDFEE7F7642A33AE5CBFB043542EEAFECB6562995578C5BFBB15B6A9235 +0E85BCCC74F7202493510425674C34FF7150D22A8FF7418B1789C5A7F8B2444B +B1056D574DF0F6EC2DA281D13C61CAE602135D72426BD0C10B3554B9CCA9E1D4 +CFCC6B1AC5AC072CEA763BBA2BF91679112A47C740E21AD18A43847D2338E3F0 +8F685971CC0199B0E8F68A9BBCD1E5AE213CE21516D94CF159627C60A60BC1C7 +2938D70601E5D0391DBB1DFE8D8BF2E7B9FEDEBAD7E245B1CC70BF69A394EC0D +C86F1D3A4BD9F0B7E0B238A258D61F0FD05291E77CE35AA11FB2694644494B75 +3E12679F14B0E5D804DDA98D3EF39F1CC64FD3ABF464A75BF1F4D5D0E379D340 +6A452EF024D21DBF303F4EFFE269941913DCF742964A2564F44296E321EABD95 +DBD8CD1DCC3603CE1DFA14DFD5F667348C85DDD8F7CF714364CFEA703CAAF786 +152DB61A034CB4409EE8AF81B13BD45F56891CF4B7E41257F04777C9B6166AF9 +BFC16918A7ED6B226151E1888295585D8CB5FE3BE97D9FD776E8BDA02ACBEB51 +4C473F30E82243A2456F80A21894208C5DF2EAB207C5C8A563DE6CA07B436232 +7F94C0B973BE05175B316FD8EA4389968A94C978CFEDEE8FB2190E191E921521 +A4170000B5580A3FEB81A52D2AFD9330931DCA4594B784259FAF2631B34FE0CB +7B172DA962E55C2D6D0AF34A62E8F651BA9290699FC59B3D2D6F7F081D5E706A +A6AD5E2BF9B7BE48BD9BC51D61E2FFEEEBE997B7347ECAF56591AF9BFF5229C2 +C80B64E30DBD1985524FAC26656968042A5801ACEA877D3607F0CACBF35E24FA +5D1C113A04A67040C66351DE85F00892C88B3F789DCE9A9F36973E17900E4D77 +ED73F6778772868CE46933A67E3C2ECE270481D074949436AA6A94E0C3580377 +4283508E7C1B0A47D617685B02579C0C5AB29D35E34AB17565A1A105340F53C3 +350AB96B5FAEE89458E00CF4F48F691DA405B49F4D5152E57EE782667BD2C06A +68AAAF5358F07E5348D4DC98AA2E930BE03B13E936B44C29A4E70B6860AA9ABE +A8C80D9ED9F86395F3AAEF21FA579432250A08E7EE1627AC0F30E7B6E312F476 +B5639F37282ECEC24155940FAE2BA6FFEC523A253E6DA7AD4CACBEB2E1DD7FEB +B6DACE84E91FF8F3433DFB96E4EE5FF73482457B9477E5DB9D80CE7FFF324F48 +CD0567C07ADD825DD5DCF5FD2F657F8FE5EEE9FD2085A4677D7D5F986BD1B97B +C09BB3083A8D33C725D5C204BFD60BE38AF2C43FF1EE18574EE86EC025980B2F +C46E094A91F5E78929BEE0367D8D3905FD48B09714A5849CB4888A35303A4FC8 +9D591D99A57DFD9A2C914BA4444AA978B399227B218BE378B1DC01FE7095E70C +F107A8241B9EDA3401512474015F3FE6D2205F40117D1A4869FC11A62BA85327 +5D5707F786085ECC72DADB653BCC130918854C7DA4416A7EDB961B6801D4990B +7D8037D7D4A0E8522DD1D7592C43A62DEDCD9F50636E4F6DF10DC2DD03416EAA +DCD800AC4306E346CEE57375625BF7C100C14C0A34E18E84B6450BDD689A10A2 +4E54FCFA7B469CF4F6E9B0A0322458184F95F7267212B7D520E1C45639711B2C +5E5CF282A8E4242787B5669D38B15AFAEA40E319269D7D041647CFFBCC1648E2 +9D0D4159A1EBE45D1D8D5140AB03BD74A86E9BAE09180517EBF3C5351BA94E38 +44FF8E4A42277493FAF469E1BB56F6225009B7A4BFB42D6F9483FFA863C65A16 +03A9ED78D1CB105B6524EF06B6AE98A85CC97E1FF95DFA981828AAB11312E41B +E1E8B94F29FA40B92B6C648B57E8CC1C12C8F64F19235F84C0FD8FCCD0B8F64C +173B4671B48DAE6574D25124C400CDBF7319EA639549D6D63F5527B96AFC8102 +04AC331F5A6AE0B9FCA8ACF343ADA120E115AF74E5A370D962CDC2F03C962484 +00896098345E25958EF5F1E42E5404F0CFF25779F341825AD0CA60327B8B4EB4 +EBBE98C5901A0AB9947C7A9ACAC2A2D52A6854D4215964A9B50DC84C35DA9C80 +FD37D7F45211DB5EBAD66200BF86D1B7DDE8B8CFFC15699B57574F41BC525F44 +92D0B382D0EA1F8B260ACB4F6D20F6DC2A8E19738E6D6C2C8F8886F34346900C +331081E46C0216245E4F951022FCC0AE71C321D72E9EE3F8E0BAB7B50AEE96AC +57AD3E7E80292D374CC5CADA3A58EE42B8E5AF7E0857A2D7D6A49C3CCBD5FE25 +30CBFF7D2DED0C09A3465DB9866A44DB92510CC4FC7FF6A5FD2D7B9D98B42542 +E3943284FBC49A9F4D5D29AF090D9EEC1BADC848B2A1C3418DCFB8621A019EC0 +244B482A7756B7F451C8F50E639955F0CFA11667E84E00E76A14E3995BF3A17D +0D6220F6063DD3A440DF1345FBB452CC096440BDED6A66857E5EB9F7ADCBAE97 +D6BFC65CEBB5781075053C8B8D01810DC79910A61DBD9C2FE70DF8E5A2F9B01C +B28DBC9D078C2D461015EC70BFD21A4E8BE1D627F074CDBD3F121D57EBF35F6E +EA5ABB33EC69A1791DC55E45724A16B26B4B4CBD0A3B391613AEC708EF590B3B +94807CC1AABD633D0190DD6DBE07559EBDB8D547A8700245E274462234B7DFBC +3AC8C5BE2754CAEF619AAF499BCACC517CBBBD772B873BFCD1D77D6D7AC184EF +09824F8C93DAD1EAD6C3278DBF5BEF592944D1C0261986E5DC0E928521657898 +85C67595B54AEBD0753A2F13B23A7CFDF5B0FFD61B5DB71D7AEA9400CC22AD68 +510404AE571D56144A1CEB5FDD07EBA70373847ACA6D61251C79276E21F3612A +A66EEDA92F9531A9E80120E754C45EE33932FCB63558F0E4436A061972CB87A7 +A78095AA583A672EFAB142684CB93E8F97BC6DAC1F943AF65430E5E1A7B589FD +51ECC713BC2417FC2AC10748DF60079DED68C55EB78F55478C2847AF84A53D10 +22F21AB9BB80CF8C65DA34CBC16EDFCE3068C4F17B96FD44FDC30BAF101F4A7B +0E421DDFC25470ED373BEC0FACBE01A0830E9F60B68DC014DB248AB9968C77CF +AA5052BBEA891A9C2C153FEC849383059BDDD75CA572F6885C653944F04E6580 +3B5471A73570B36DF5BA539AF4CA561CE3F121753378D24E4F066126E9407DE6 +75CB455EEAFE31541BE8D3B11552EEB7625AF8F44AFD826CA6BBC0961EBE1E65 +D96A80F72079759D3913CC00C41AFCC2E8BD77E4684B0BA9A046C45FA064D462 +27115A711B5741929C99FE76799F3878C83DF3EB952FE3701DF6D1DD9269F45B +059DE4221079C53EBD185834F20EAFE9516AE2542DFC07ADE444E2911A1AF742 +50DCDA2F35533B6ADC400BE3F1334BF03DAF8507F1BA344F37A62C93ED723B99 +85DD143CBB2FF1C6CAB51A3D53144B5AEEE8FBFCFD7E94C1BD65ACDC1800AFCD +F10802E54F97AF281E8189C20B7691464A509E04F50780DDCB29E6880CE6D021 +318111668E4E00A39A3E177FBE919698F556F36DF8ABAE00B92DB57060E7C37E +A7841F824E33CCB749A80FD9906056B3B675D2965EFAD87CFAA1439784A0C172 +F30E7C32DADC9232567FEF3D544A73C9502A6A805FD2AB6F086BEE1D4704EF0F +696400C507EEE8DBA68CA9EA8BBA9BF656DCC6138E2B2E5A27F24191FF71F984 +6AEC38E8A427393C96BFCCAA69924DCA437B5E18B17530CEA4D3456C3D857C11 +6EF03FAE1BCF595125912F129F8713A2B5483500F099709DA2E78B87C409C6C2 +5B6B4C5E1C7FD85F23DB9B544EB428A92D63AE8DE6837479DA0A4235C81554A4 +CDEBE0A13601549E5E9EF9CC778392D8ACC6CBDF167D511A3E5212B2FD8F2093 +349FFC2843356168A97050D6BB94FCD5E51507C5DFEEEA78F8F78F3516D62215 +7FC703FA58AB15A5B6E08B071117DCD73945CA33F0E49E0E02D57F82A02FA6BD +15946D42D5AA118078554A2F6B33C43CE5C86B9CD2E11AEF151F68A9DE431437 +358CFB4427C4C2443AA9B73A890EBB5211BD3004FEC19B09A0043B9A48BE8FC6 +D6E2B4ED3BF497D0553CE08B83B3D13C77A7F70B385FE049A2D8EF336D54DDBE +A35505E57CBCC6173959E05CDE1CAB7B97FF8D3AF32F206EF37D821B92D76D49 +7B17D31A9343E448B1CEBB51AF0DCFADC5937A8CC468A4A26A966DE4F7A71B5A +8576A783A64A4B9FB795F2BBEC9573F88772C68FF15020AE3F6B3D978AB61926 +B0DA27604A975C2DB6421DF604FDC5D2F639ED3337AF4E6533CA348CE58DA987 +886A0BB3B232C4871FBF95A636E90AEE93B13E4EE6690097D16A66553687007E +C343FBB4BFD329CD63146A11C6EAE47383B7D5ADE4599D51F7ECA6C6C8435B49 +BC4AA33AD40D70CD0591274730AA3116A0BB4D9580E15B10358EF74344A35DCE +EF7930FE8AC50ECAB81AD910150E9D909671965AC826EF3570EFE9DCD2C23E3C +0686D6C958E81513EF8E856375EF14910FDCE53A2CC75C31FB4CC98352E497BA +66D5B5F02683ADA1B57907FE29E551D4356DF800771FDF6323976F6CB8D41A72 +BB0BCD5BA1D0C5DFC7B30517F708580BB486D8DDCC49F5122454F7463CF54E4D +D8FE3AB57B68D7FB62C600590366788558933F87311E6FBEAE1A0F77A01967EC +C97267BB19A46D3574B49906D23318902F7922326591068746558FEE0A84D83B +F553D2C485CA8C37F1A40546D7684B92D7C5DEFE312A823F117A125FDCA90648 +CC648B33DBCD17520460C89E0149E00DB2D018843F4106C35431F9A26A279016 +224E633F16FA09076239E82F6F5B101C9A1FE4AFA629399AF5CA419471EA13BC +0610CB10DE3609E5417F814161AF869D9E4E053BA22CFED450C88E540940AB0B +A933F2D9C989D2E00E3D3537F6377CAB0F7B6CBF6312D35B800557E269D519F7 +8092C4AC931BDA19F7737B176E4820B9D3F72A9B0E0773EF91F82BDF812FDF42 +084AECAE788D879A6FBFC2198334B437122D1F5098214290C17D63C3379D6C9E +79ABEAB518F5BCD9BEFBD6FEB556AA64BCD5B5207541D34DB8D0036EF24AA183 +84A2D7C035437266B36FB3CDA8A80E93BCFBF25418BEEC672961BADDC36AD323 +BF12C931B2439722796F929FB1F68429124249DA2A9276D8F2420F82A81FB0C3 +DE6EF9F4F306479322D9A6A9278B1A9CB0C1ED12B73F6435048BBEA6F5E3C414 +88E459D86A9A52D4D74339BD6AB509EEB4AB7E567E237202C8F1FF0B0AFAA20D +CABDE3409F3BE6541A1ACB557323CF3F9ECE336FEC89C4A041E09718761DE065 +7F13F42CC2ACD83037AE441247F1324F6F14AED5A13BEADC8A3F51557B35BF5B +E2285A1E0A374E34A64DFE6694B723A02C7CB4AE2E3AA3D97EAC0B6CCECB40B5 +0CF9DE0EB8E4D9A13177A3D9E835EE742FC6479DDDA318B61AF49CB3C8DDA06F +58568CE8468B8CB056C78D6B89957E29003CFC6D0B7BDE6550691FF6EAE5D63A +7E83C873FF1A1EAACB8F73E5DE34A1EE71B6DEE81B6BE216AFB7670DAB35ECA5 +352830B18099FE5CD0DB566E3B6ABB12DCCA21779961A61A89B211D0B0139534 +9F8222ED81C4090FDC4DCE46F82C569A16182B126CBE5DFF50E33D9AA1F3C1F3 +8B3F8454B3B606A17FF969A160996FDEC3FD7774D7496C56FAD1D7EC85FEA79B +BD89389275D701D5A0B220F74AE2744358FF391E70041C53649E42663BC79B0F +896ABA484B06532BA3C542F44D04780B31793DC3588A8A57A3F43BFF32E0BBDC +E2D5744145FE796ABB1DACEE440B5B2CEE966312E8668233B7DEE86E1662DD7A +CA7ECAA10F9ABBADD26A5096F87FAFDC93647EC1246A1A01F835B9272CFF293D +75111A98794F973948CD2E9256B4C11C35F648B8B099BA239F077B790BACFA13 +A7A6FB6829FA299A664AC53D866D59D69AC6219237315416DCD7634A478AA3F0 +CBF14B01440415FFB44B955CE1B7E4403B45D0C5F84FF1F94BB4673394EAEDC5 +3334D8DF5FEE387A7E170682950705AFF8911B9F82EB6D75CCBC5E830492BDFA +78AB0E19532F13B0A68EC14DBD57694CB60734554C837EEA049EE19036437FC6 +2A8CFD94301FF00A06730103F87A46F746B141347D6A519B35842AD0F533B692 +86DE9040E12797E78041A50387FA904192917DE35BD56D767FE6D41A9394E5A4 +3E113A087CBC42C86D71672C001FB8E18AE25E99C33FF1FDF1DF12F38F2921B7 +2DCA18338C477C2040F4BA8AECF2933CFA0A9C08AB9516AF44D4197194E3906E +1A47F428E178D7E9F5DBCC1DDC73D8C96769B43046B75593FA8FBE53A16DBE2A +CA69312A8F4B26C7E75A2971FEF9DB92690FC43A6A55B13B6A06D53CEAFD2736 +E2C1244F106FF2118A016EB4C1FB8D76281CA50AB56F783416BBE0D85D43F6DF +745611F6F133757E3F657EAB60D952C6769BA31027A604DAD8C28E746CE6E01E +39CE1A5D99E826235E2B32D8D9F39ED7A90A852038A2248C92BD4D836F82DCB8 +72B6BE7EBD141D9FE4F664FB875B0D16F4DC72FE7EA927F9E9402ED47C63B5C2 +9295261BE144D10B4BB4B49B708FEF3808317A02B9D4DA689240B68DEE3E5A79 +6C5362489025315A8D44D572C6A7866C59052C27A691BCC073546E37FD699818 +64D2752D7EC32F527664CE2C218DC41BC437CEE5A744669D332CB3D0C0F32B32 +42CA982706D3B4DA6BD9B1F4E31B44BC1F9AB9AC4C26DE5B1F84392FF8D9503A +82DCE35E7418D0BB41858253C5F8EEAC5DEB99B729487524F3FF9CDC09DD6242 +603DEEB3E534B1F9879172E5122E7C399C813547B18709C6C42482302F841314 +45FE78B4B6AB40969A46A5857E36082EDCA56B0C50F70B3C87CBCF086C2C2C94 +820F462360D116D7CAD3E24D99E9B523295C6920F7FC801D94973015C60D0E10 +A1529CA0BBEE521D4FE2CACA48BFE918170B32AE3013A028D48BE905346169E0 +090FAD0BEDDB85C78D824A7F23BC4E48CCEDBC8B1DF39F81496AE27A92FAF47F +6A01247548DF90DBD56F16AB39961D064CFAA5C82C662E7AA737CEBEBF231756 +39A36CA5E5A62F64EF5974CD8E878B7EBE543F170BE7FC082E847F3E46AD6173 +8A3D3D5509D23B3F27372DF2D9794E76CDB43A7AAB0024A38A6BBB824BF60EE3 +FA578D4D746EED9C6344D9735AEFEF59ED9CAF65C534B2DA378A122649A112FE +89A8507D4A61C356E9F170A38713B42A943FC535455FFCE9206108A3E1F8EBE4 +B0BB08771E558284CDEAE623C40610CFD957991FD27124272B5C36EECE403798 +740F708DC51CB62AD14711416E25EBF4E4BDF74C53268EB75397EB464DEB602C +9F61ECCDEA568F351CD1457CEFC102D13673619175454C90756B98DE424C6BFB +11D80BB18870F0474B4E41CA42BD48D8996E285EE8C5356AA4624372D65AED26 +E2CDB074D2F14B6A1EA9B76920EA90E22934E666A7DE2B5A083A11809B8488A9 +A4E930CE3953589341A4F9DF1F86241E452E703149D640511B02ACDB01283A9A +A3A16536B09D018CF80B684E9F08D1AB27AB0AB47F382032C18946141F037849 +CA7ED0FEFC3998D9F8EF591811201CC423CC64CDA38485100143873139163F48 +7BB59A6AF989740D1A649A6F9B9EC50C10A9B2E93437CDEA9D314DB847436614 +28CCB4CE02662246C2424148790EC018351AA113D9A0A2E70FB46FD54EA84DA1 +C14B964468D4E42D75581F9668B83D4B4703C855CE8562BDE64A942C9D78EFF4 +9C79340157672D4DA55FC4018697AF3EC3A9DAD346C87D5CE849793C7ECA6851 +46A3B287AD6A9F004334F05C9ECFFE90B6D9C9AD5B41DFB5A38F814C4CFDB508 +2A6F5963E93E3A4CA88EFFCA9951C4D52E82C68EA28BDACB61C6AF6DB220C48E +9DD4953A24B2CDBB5F37DF257178271BED7E6AF0A3028699F8EFE9C69A5FC3FC +54A56483531E7925A7AD6402D32E46B7A839BE5668E4292FC083C0B336A6CC27 +9D3F91BC3985070ED952B979E9ECE9A5F05322FCCB71326DB47C2E464E453FF2 +D41606230F283D1232EFF84C278E317C6E7BEA6B0B2379DD90E7D4070C6854D7 +8A349C0EA008336F4263C63988B242B2C3BBD238AF6EDD472A4CE102C4A2BDF6 +89DD29D112A75E1D48B1262EED0E88BEA7CE6105280716E56E1867ECD075B36A +C7129CB5611FE389EA16AD4F1D398DDEEF906EDF16D09561AB30FFE827AB7306 +F2E75BFE704EE8FEC256A6E56FF64199038C006B9BD322662AAA57128CF7C46B +4532E9290A0BCBD99601AC41C939B74C5EEF26D4B8AFF2ABCD75573B43686B6A +824D68C5FD86772F838F349C0EB447ED12033A2E0DF8B1282B0B8C4F66A7EF7D +54F88CFB199769DCDB12B4F9E46BF041F9D9542BD25275751456AB8DD944EE33 +35B4F89ADF5908290E543DF55E56C4A4CD30765DDF9AB61F9365FCBC56E92FDE +53A26F582D1009A91E848C7730A7307CE2FD2633E10AB2810DA88D73907C0174 +23F6A857F749656A85071EB2D42A73210FC95927B3FAE880BC3C2FD9EE456DAB +E33B86FF95063E1666764B157F933014C1ED77655C2C7CD2F2FF01450844AA5D +A2B6BAFD6689DD45532F38C9DA7035D219F1F59E7096B4091E7577FEF06A8EC7 +68CE94AC36018C7A4590BC0B23EA42970F107D23215F006CDE4E36909226315C +E81EE4645B0F9FC187A389FC94B0B88A2B8BBD6C8584CE237BFE9A25115C3EDE +FD7AA4B8E8F33071785DE12335BD62E18F3573B74A881A701867B7B72B366144 +4ADBB9454946F9F2815E119670AB866FA07AE46D39C6D94C1DFC73E43374D8CC +BF8BF2660A5CABD711BAF00313DEA3E9B077F1440935AB4FAAD4EA04F3199E9E +DA2976B9916405D4C706652477399823C5D2F1C652236FFF052DC53A8500ED33 +F86DB117FD01DF7F865917248A215F2A1E8C0C801F8773BAEE0C6BA10997D577 +D80D03428997EDBFD37C36BC606356F57E774B3CD4594E0E29CBD217101791CB +08FE37F177D201DEEF1A08EE67CF5E402D7C688398493C2DD29E99ED397477F2 +B0872E4228A45DFDFA571C7680DFEACD9CF6184D27FFD7D6DF754405A2CED22E +C26F9B2761463C01F64E5B4C7D1746F62642EBE648E32FC239320600690919E6 +2D9AE66DD5A552F2FDAD74858A8F87FA7653F1C2FCDB8E1F4985ED1405A5F27B +28A1C0A04E7CAAB8BC94160E1B25734A95289D455E6A64EEB65D74C76B123EAB +74ECAC9327F4A57D757158B51BD17A0C0BFE6251FD317AA030E211B10C9B5C28 +A617482DB21157A1A9E2B43CD32747D14DFAB92E08B9E745939F4A426F9A3E63 +0778520D33456ECE373AFC20749E267FCAA88F092FEA5F3E64BDF5629CA57F25 +28FE3F1F11906E5C583099E5A110946533A74100E32DF1A793FCF352C67CB948 +ABD084CA35EBCAAE875166F66573B5F241CB15D90B74852307D5 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 @@ -1945,429 +2877,344 @@ cleartomark {restore}if %%EndFont -%%BeginFont: PLR8 -%!PS-AdobeFont-1.0: PLR8 1.02 -%%CreationDate: Thu Jan 07 19:30:00 1999 -%%VMusage: 1024 31375 +%%BeginFont: PLRoman10-Bold +%!PS-AdobeFont-1.0: PLRoman10-Bold 1.11 +%%CreationDate: Thu Apr 13 18:00:00 2000 +%%VMusage: 1024 31190 % Copyright (C) 1997 American Mathematical Society. All Rights Reserved. Adaptacja PL JMN 1997 -% ADL: 750 250 0 +% ADL: 694 194 0 %%EndComments -FontDirectory/PLR8 known{/PLR8 findfont dup/UniqueXX known{dup -/UniqueXX get 0 eq exch/FontType get 1 eq and}{pop false}ifelse +FontDirectory/PLRoman10-Bold known{/PLRoman10-Bold findfont dup/UniqueID known{dup +/UniqueID get 0 eq exch/FontType get 1 eq and}{pop false}ifelse {save true}{false}ifelse}{false}ifelse 17 dict begin /FontInfo 13 dict dup begin -/version(1.02)readonly def +/version(1.11)readonly def /Notice(Copyright (C) 1997 American Mathematical Society. All Rights Reserved. Adaptacja PL JMN 1997)readonly def -/FullName(PLR8)readonly def -/FamilyName(Computer Modern)readonly def -/Weight(Normal)readonly def +/FullName(PLRoman10-Bold)readonly def +/FamilyName(PLRoman10)readonly def +/Weight(Bold)readonly def /isFixedPitch false def /ItalicAngle 0 def -/UnderlinePosition -133 def -/UnderlineThickness 20 def +/UnderlinePosition -146 def +/UnderlineThickness 60 def end readonly def -/FontName /PLR8 def +/FontName /PLRoman10-Bold def /Encoding 256 array 0 1 255 {1 index exch /.notdef put} for -dup 12 /fi put -dup 13 /fl put -dup 34 /quotedblright put -dup 39 /quoteright put -dup 40 /parenleft put -dup 41 /parenright put -dup 44 /comma put -dup 45 /hyphen put -dup 46 /period put -dup 47 /slash put -dup 48 /zero put -dup 49 /one put -dup 50 /two put -dup 51 /three put -dup 52 /four put -dup 57 /nine put -dup 58 /colon put -dup 65 /A put -dup 68 /D put -dup 69 /E put -dup 71 /G put -dup 73 /I put -dup 74 /J put -dup 76 /L put -dup 78 /N put -dup 79 /O put -dup 80 /P put -dup 83 /S put -dup 84 /T put -dup 85 /U put -dup 87 /W put -dup 96 /quoteleft put -dup 97 /a put -dup 98 /b put -dup 99 /c put -dup 100 /d put -dup 101 /e put -dup 102 /f put -dup 103 /g put -dup 104 /h put -dup 105 /i put -dup 106 /j put -dup 107 /k put -dup 108 /l put -dup 109 /m put -dup 110 /n put -dup 111 /o put -dup 112 /p put -dup 114 /r put -dup 115 /s put -dup 116 /t put -dup 117 /u put -dup 119 /w put -dup 121 /y put -dup 122 /z put -dup 123 /endash put -dup 161 /aogonek put -dup 162 /cacute put -dup 166 /eogonek put -dup 170 /lslash put -dup 171 /nacute put -dup 177 /sacute put -dup 185 /zacute put -dup 187 /zdotaccent put -dup 243 /oacute put -dup 255 /quotedblbase put +dup 0 /.notdef put readonly def /PaintType 0 def /FontType 1 def /StrokeWidth 0 def /FontMatrix[0.001 0 0 0.001 0 0]readonly def -%/UniqueXX 0 def -/FontBBox{-46 -260 1080 920}readonly def +%/UniqueID 0 def +/FontBBox{-56 -250 1164 916}readonly def currentdict end currentfile eexec -d9d66f633b846a97b686a97e45a3d0aa0525392eecac163e584a9104d99ad0bc -1b1844a0e222653fa481b8809b26a46f4c483a5d7e95816ea6582584156cfede -b994adcff4645140e3617e4d7e1b0e4541cb9f562e55829b4dd880aabe2229e9 -4a9fa259a734d29bba91ba1e2055cbea4339bcbff98d32ceff11f296225caaba -dca10577a5d431b714726c1278d8101abd1bd8d0bd0174fff9148f8c61c241d9 -2ad360a28616cb4a0670c1bf13e7a26e167f6ffbfa02d201035c41858d1c9bc3 -c5482bbafcf7df8061b51863fde697437824573e60cc3736b77d96b9b17f4ac2 -4ccbc0394c27774c26fc66f04993d0e73f619503565343c1e03ed8880a14a7a8 -e686ceaf12d18fb2c70e54d7c524923386e488a5781001b47276f3ccb8173466 -544141f99fd85b6bcead8a7e1294ba184ac78c372f2e51950f79844bf99538d3 -5ca2530e636c821bdbf28843f9f48878c5b3d1560ad7ebf9279e90c993eb09e9 -47357dafc76071f98e84ab3c17ea7b49a06c55e512f6265f15555a6c47aec525 -381449c04d2a48c5c72cb15e07eb74de8ff1f8572aa28ab47dc19e5558d0cc68 -a51733dbccab4ab8798079565b82622f61a03472ae0a3de6cd251c297831b5ad -c57a1fac587dd2e39ebd2ef0e723414fdffa2f1dba73273a022e279b16e84b6f -f1bfa35bb75a358a79b4e4c86cf762c86bf9d534932d31c15276590abc46648d -9f16236284a571a5a386ee657fab13991ebe5777afde964e5cf7881e19bde936 -dc01d8f243c7a7491600124246da934c09c1251375abd7e956712ad5abed0f6e -221efced9762e588fe5b9ccc070d2a6127f531b37270a3d98a04753979635733 -dcaee54519a343e8c07f2db1a6b331d69dd90073048a63fdbfd917bbf122841e -53201a0c377c0925cf91d68db0702b8643f60a51053349b3f7192c1a4d2c998a -f9dd52ee03c19a294176f7210a51426510ecb70432b9db3cf034e2e296903ba9 -b822d49da9f5dc495fe7a460607a40c3d6abeacc28e80cc75682fc655323791a -fbe9caa83e798250f35eaf061cb370ead85090037b9a7a35559f771e11f537a4 -e507bbc33074a518c3a6fe4a503479d0bfead964c2d3fdeabc7176a49e338545 -ac7ef2f4f048544f4b11ddb55869a87b2eda49acf3d9241753015bebc41c3050 -7698fb6a6f7c286b15ddfc4b8f944ca86c8dff65a35d6389288a298e14d31274 -58a76f901a6ce757d146eeef204633494c292d003e2306feffb42e20a9ed2ff8 -f332fbe3c44fcf3f297f872f0b98fb7049088885c076c4f6fc3c9d8a2f94c044 -1b3c4f55db0b51372cda5d64c7b2834fb8a219636200413d2620a0ed59dbb0ed -9057592b64a14505bd2ffc9c5f3d8ca08786a63ce6acd68630f8fcf968584d39 -4e5f4114dc1f8ebeb0d94079f6cdff360caa818ebb838e5f8470fe60f85c63ed -bb86636e9531aacfae59f76719fecc9f146a7ed54994eef9b605bc284e46f1fb -ed027971cc1e0ff2e5742d6fc511589420b04609d1137064e2f95ee9e646411f -7bcec8d4336f8275ab050a9ae54706f6dce5a5b6cd19d0374b924243bb3037df -e017b627ca2d511b3d64c9e0f6984c2305ae3c63cae47085db6a191a02c1cf75 -1d10f507f8c592fbf530df2ef8ee58c14f4558028cd1039b2e47a1d4e7525ade -c25c467d88e34b4828c217469e6953d8721058a6a318f1631aa5ab2bea287497 -38d1811aec61cb0144573289b677585a173d3844353fc323d7f5deff7b580ada -2ff3b129c6c8b0d00b25a576a014a123bf22b2daad24f7f08eddb372fa775c1d -060f32066177ebecba3ad62139733db76fc09092093488cf47309b1c65e615da -51ac2f60d2cc363fc2c31a70734c5d949f82143a3c0cbba7caf78b7d8d482a96 -2a503fb73a2d9e970ac2eba79b97446add731a6260bae49df7fff469827731f0 -e2db51b51bcde6290f4ee52c29704b5b08e91d070120d1c6ade222d7ccc1a3ab -34b3e3f97fc9b58b6a6053d84765b43338ecc0c156432266414b3fc3c2c54e89 -9750348454bcb00679eb07a333bad68f3d589a2b7716f2f61b1b664cc811c594 -35696693d01571556150c97bca49e8d2349f88ee0288664c114eb0a29eb8b8a0 -613a969033bfb4632e350272b1ded10ce4576166378f0b26b7d0eda3428f6fc5 -bf776db246681c98c382440d1a5c9b0c0854fb0a424fc04be7245516d076d9e5 -c35b94f9437d08b0e458f639f2aafd00c0976c805efcb52a367c88b4492345e9 -df7f15b21e6f3138fc749cdb9e343df11b67ee768aabf58d774693c45373618e -bc6b3a6dd4c1c9e5782486a835cefa83e800f3b25a84bd89e1479f8e27138833 -2c88f5af766536e867986ef67fff021356580e073503c62c28293ad85a6c26cf -6955b5f21b4a97c178ce20c50bc81669f5aef57910299de77f8b1c0ae2adc8cd -19c39e106ee07fffd59073f774d92ac17e3e1e2bff8e769c0f51eade76a61080 -bdd39491490960acbe4be0d07b33bc631de87582df0cf3ff4bbdb0c6a014d7ee -a01a903d82f86b379ebcedbb39902a2b52400be675044b6b97dec689cbaddf0c -df1e071311ad783cb0d4d19f0e056ba789f21673535025eb2e88aef27591d02b -10acb78755de2e3563ff56b3df1cf43763abecebf5846e25eee901320d3944b2 -62b692ccea778f06773a18f79a7b7e96339b7eb1fbb32651f6681d681105fc7c -7524a83b117a6b4c3c1f972a3b251cb5ac59bf89b4240b9e1f772102b58df886 -70eeba8322e3491e19c08f6e3f2ab3315d043bec23e4f916e1967488da67a92b -90a9b4e85bceedd487fbd078e0ba5ba4cc92ecf3b782a7a558001cbef70ffdd2 -c27357b481b72ea8312e7053a23d7f2bc71deeb6dfd8ee6499515d183a770232 -a2ffab05c27ddaa2a1ac5d9e565800da2ac5a30c5055f71968ef3394b7971c62 -b62ac7033ad78319d04814685605d655b5c8231051207b51d8138153ed357f49 -33c48f1ec74b363f1184e57225c680934ada7e4cb093b73731e930047a2eb9f2 -a3b271b847d554d00054950c175636c3625eaa73405f38db67488b7e63daa0a7 -aa4a33bc049514c30506efd27eef364fc2482668e1a9b2cbbd1ad12f28afc89a -1da574fb56fecdf1815eb9bb90d0d0d0d8788b9f3bf3f157a03676f2786d00cd -237a1a66d26e30b0be801bb58e2c2f6754b1a08b7e860c3f36e5c0067276db20 -0235a2802e53cfb910fc30dc8ed98e14ec78a1902b331262af9a7ad7e2b3297c -e0adb14f46e31da50a51e59d07d59075ace193a3cab4506b3eec3695c181d814 -a15cc7a1bb409487160b85caf35bc2ff739fce8e371e7b39db6396abbf5976e5 -640eeab71cf1fd1eb67c5de90e27eb7050fab39af5af55ff0d914d90028984f5 -fe605a76f2d3bb346ffaf2cc2582aa9fafab0e71ef07739dc295884667d4cb07 -56ede46032caebe0d5ddb3de7eaa29a47ff50d3a8ac2433d499e616342b8146c -bb11e46f868d4ce0409705ccc5f03ed4f226c917e4ba2d0d47506a7cab24d6e2 -a8c0cfd6251c304c822c54984af053e9a4a0be084fc6249aa548772aa7717fdf -0f5f9257875dae598decd3c47ec37ad1f63f542032c7be59ae6072c320ebbdf4 -9c8b8866c6694ab18876abc2b55ba3f82ba8b2315c5c2fb64fa4f473ef17a074 -94023f59f9228f8e2b8fe8606fa189bc857789d2043cb363df1cad158d83b922 -e30a294762e5352023a84edf249d3a403e4199fd1cca2ac375da17047b6a7462 -49e0620d0137eec0ef54e7a04d4d52f44c41232dfe87589283c980e74ec8b2ea -55ba7fe1b51104d1d63dae7370a25a49d066090f9e1a1c6f941bbba29a0c14f1 -10c884983fe37d366b46d450dcbfc4a6b7f0895bbc9a4b67bbdc02aa6228ab7e -b3614e82b2e9ce45e6b8d38fe3a94bf7d9298d27743039fb86a37072a7e4a135 -c83bfb2d1053fc44a43bc854ea8e2a01fc1f3227f4574a251caf4bd53ea836dd -2eae2b9826838e474314b47ec35f15097027a7bbc0acde653315d020ae692439 -6da55001903ccd9dd3636a59980e67a7a8c881d1843a204dcac3d836582f7473 -5d7a74b0f398528acd8f1e0889ca3675664d54f0987f47b0cd44af6b234e63fa -7e3677075d662509c3703098b322656764ac94ea1cad1271abe9665cbd24f1cf -47d452a0523e3ffc15d72597ad108574c5fb78be0e34f7c534516b0b97cfab82 -b5af8fad5fc197e09b246a57a3cd8a15328f3ab684583df4e86c622fa9d19c1f -ff707949e4085256f92cccab5a6c2d0a560cc84c227b9d83d2509903ae1d57b7 -f7bcd6ab07d7d5a1ac44512f95312d5cbeea65510a20cebc58563c08eede375f -c147c5dac10eb190a0c92d15bbc12ef88549c935e90d35cafc12fb47e4ec0ba6 -16810b714d9a0c3606981147346c8d50c627cc009ccc7d8ac1396938a41b5f5d -bd37e9633f9cbd30b72729eb90c4c9daa797a003934e003af876ad63e67ef7b0 -03a291339e86af6979925375ad452c994f1855e6173222014e239775fa4975d7 -06ee50364fd5890ffa44c05bc66caa985c4ce50c774033ecdd7f93db6b32e3df -4748b39bbe76d3e4a88c0fa9a502e4afed3f7cea2e0b128eea4f4bf6eda95dec -81a44e6a881a984b49cd31bddb959a70bf41a02484330f4c3a77c66588590db0 -1e14d712a0b693e3cb16e45f914800b22c44b35ddc58e2223030103a8fa7bbe4 -2f687c9599cd151bb6d3052bd3ff63b2a59ed7dac46af17cfb6a02b6eb2944a7 -d5dcb931c8cda3aa745e093627b0eb5bcaa04483e33cbe34af277ab5c20ffea3 -61520a968911ac2d0da707b2f622c4a6f78c07f426949494cfa4163430ff6eaf -97f7fa7955c0c536945751bb9a822801774223a1daab2717a2bcddab9c9fa30a -95c830ece829b72a46f7803bf8fc7a9e09a4164c0eed16798784a9c8bcfd0e05 -7e507988c7135f04927ee949252227396d73f5542745ae5aeea8403c43902f77 -641c0870e2ce583fd73a055ed8177b9147f7fd48ab35439ca3ba1e3f88b4b77b -f608be9e56c893a4737195175119e51bb57035336e6bc818e97497888474508a -3f7ddf25d3d5f46d7596620aa0012f654e026aac9e89a0c8686ee7f94b5a523c -9c2ccd917872fb36cfb4b92d7a1d9abb8584c5a4c14c5bc39c1b141c1ba14c79 -0915dce50394f2cc416bdb7cb43d38fc20a8c81e26526ef93f4f1ead643fa4dd -467c763e19f579e358bb772411001b1965fb0fd0b72c594e386aa16341fc2801 -cbc8a68cf7d10d19ddc3e867be8c851b265196454777773073a73aa40abbdec1 -348c7f6ff7ff08e251f9df1cb1483e1b707b3aaaa78eda225fd5fac363c065b2 -663f0ef310eadb3ff09b5ecb7528fc5160cbcc74c71415eb7f7e77d239fb4fec -896f4c507d426d1a2a64fab328190e71d84c769636167ae0c6bd0d1da232a5ba -f552a432443b0c3da21db726e0f0645ceb3968728bf9a1a1589baf816a7ec1cc -26c0b9394aa7c4644d06eb1d06a67e3e745664064a7c4845eab1dbad5e79173e -5cd9ddb86b8f6978f44e605c2c3aaff6a09de469e72e9306b30591b9af32b01a -866e2dd47e703254e474f082fa22922251adc9d97a3c89839b7e7a1692ba3052 -9f01cac693cc0b4e97e9dd7898df43b09f49c8288cb2eb8cfc1fba8beabe03f1 -7463cd64fe8d4dbe4cded6044a91ebb57f287bbdb3fce4b01fde418380132b59 -90da225a11c0e19c4ff385a575beb466cc4d9a5ca70ec072c0d48f92de7843e1 -10e2555729e4f9701d191e1b7fa16a9727101fb780e746bf6806bfeddc9d532b -eed6151ab75ad70e7a60117d823201fa8b5b2c2ccc963c4bf894030ceed74b9e -753fadb6fc8bc36df38fa509b9df45b6f21440c91bf178c82c3083ee546829f6 -aae5843c949952739b91ad8df9ddcae285f403f3a9e13cee2ed160a3ba88703a -8c55c7e8688d28c49589d627fe7790b00b383aceb98c757570a5d2cd40575b68 -b40b760295bc211af87c00a59961758f856013812523fc54a2ffe7720773a079 -1a1923788886ca8a5584b815780ee6fdb1cf1e9f929a7b4d6db6cd7d2dbfc395 -7db401a4c3d35efba714d1253d0e43148871c3b337d35463b9109c724c6263f9 -c5c4d7a88f03e65a2309afae2cbb00397fa54b8f9ecad5724820e6bdd188edf7 -6cffdeb124d5e860cbed434dc1172ed7df4001ab157b0cad3d80d2bc4629ef67 -af733cb6c4fce983c1c89ef91ffb90a11783caad9ec9c420250f1cd72dbda39e -d5b4470b8a5a232c4836f7bfcdd8b105a08146a7eb11124129f76faa7ff743ff -fb9f78b61e9f787312ce98fae990489254393a801d39cd041e886ca58a2c7057 -49eb1351f7685e3a3930f340d86eb1c86b17f685a1a38a0ccab4affb8d139520 -e36f6a2d57ea0b5591f69f073fd5bc1c8a20ec2c84c858ec4f724c4d0ee43d44 -774c3be8d87e2a99c81ec20e64f999f49093f16b777d684d356698c71558499a -a2e4724aceb8edc2a2552b13fdce94551ffaf64a6b5b0fb69f431868f95b9b8b -f3b5eb74657989c66a37d968628fa794668e660ea3e3126b6e8bac488c360f33 -5a9a53572ad9d9d1a6dbcf33bf46950af9e85763ed9bfee956a00b7ccadc97b0 -9c7c3e75d0868a5f3a57ee31dd201429a74633d32f88feadf1704793f4c16f91 -1df2492aa1f52d3fcd7686ab890a856719cab4bec096e1ed5c1c4f4ffa1611fb -eae6bd555f110134d4a30eb6957cffeb055b7bc8a141de452dc31b6ec00528e0 -d1342f62aaae6182dea62b089f4b9673cc9b1938227ca775868aa317cc224863 -18b9010309525cc47e4a50c6e5c1a0205d5b7dda1c0f27c875e826fba490a104 -09748e0b000adb88f649f490f5dff2afa1e2bb1fd7fbcc44281179ff324e2808 -c341a92b43b3dacceca175260290d8b028e938a7b970b260f2197349a3e0620c -6e6dfdcad1489979ce9d796d317d881a9521125d01606cdf73ae34f8fa78be89 -322cea7ea15f854f226f80f3919d43385372f3d6f77b7fa362a483d164d1c6db -efb7b277d73b333f0cfedd5e35aeadd8ecb81f87df54968b6a24eb8463009223 -56fb0ee164b6fa2bae544846c7f6335cd54752b354c19266fa00c17d33fb865c -415e08eff0dd0a25af92668ba643f34b830b3732e4ebb696652016d423ab0762 -e2f3bbd6719284371830bad761a86500009da0299d8873aa608f520703389931 -060e36c333f049c131a13757e72f88ea8f625499b4351cef7ab7112a0756076a -447a24b54288ba9340855edbda2e342b428558ba9a84d75df09b1a14ac03fdc6 -162a17e0abd610b21fadfaa679f5dd60c771d18b9601d8f4edc01a57a4267a45 -e048f722e57f15b47755f62e548085466c9fdc70d2b7edf11121adcfe41ce63a -d2e0380672ab29f898f4e456f077de71854dd685e7e88a851e79393cb7740fda -11754312a91bef1f4054ec86228b6095b3d0e1d074d4cc6583788b4e7a9a0855 -f0ee810211498ca25084b8f3f8f2c40a8719c49c6bed22101a480cc8f756dea7 -dcc6cca30b13eb407b6f188f2fc3474c56f3b4c36a866c793ee1c579360d1823 -5f26953ab3ecd8f6d01de091d47c69176d8ea16e6daf2fea64704a50c992c536 -519fc179168015ed8f5b1918815a243d9e15a6d26ddde79d15dedb2672210543 -c3851eca18638cff45165e55f75184123bfdd40129844751147bb7f10f5bcf37 -a3375fbdd5d7703c59616d44efb5562badaedbcc2fa71a352026c7342f901275 -0e37b9843c43c2c91c37208617488aa4b104fe5630402195482af6dc4ff56f81 -2e335a663dfc62e2c079142edafc644a9a7433289dc311256e7967c1339db1e0 -e8f1e902de0f108e46ed43730829171b6a1aff49face03736c1be09ebfaa005c -56f321c0597e82c67732cabf4abc65ba76baaf3fe83a09816adf8d6cc1c8281f -484054339e771bda24a37a429ed971435a7b6e9fca9aa3f3be99c622a99e31e6 -5d3cafd441c98095b79acf8fd6e672d658f6704689a7c51860180fe84ccdf4dc -b52b7edc93fe598c9991ddb330d69f31b96256c9731f88b3d3b1530325e811eb -4ded8020c9cf0b09b2d37a45a80b6ea8481ef49db88fdadfb61215c3078fbb4f -6986515fdb2e2c44f2496424d26ea03b646e8548e216bb6ac1ba4ad5d45d2223 -ceb38ccb8fa940b7957bbfabccb65eada937d1d7e9ad2e5dea0fcf13eedb5a17 -1e6aa199a316262fc1bdfdf9708fb0e6c5ee01d180da78498a973d4a192efd93 -c0aa07db55985b7da13b89eddc1adf922c3ec7efac5bc5f62346fc0fd3fc850f -aeccf9b4f0274f02b6fbf862ac974d2b7846ce48f4f53bb503206a8a322793f6 -9ceb318108efe1241c4e500e96f2381f8217abd8a6defa20552cca27c08e0435 -481ec73bc168e0d8a7b6a38637101bebbd52100366823fbd18a808b76b38a983 -10b9865db23a766ff5be81c41bb4003230754f18d05e56e377dc64cb0e3663f3 -656ab414354af3c7ad28d86d14abf82eb0092b0d3feb68bf44267a0efe17888f -1e0c2611577288d2bfad0e20733df24f630e163722695ec8325c7227cf174cc1 -17178783390090fe073aa10408ac9d245dd32e4dd35bdc9a98feebbb49c98890 -4834a0f452243fdab035ab75908f78baa196d3eafc795ee82fec8feac36f0bbf -d413f030af966c623cf56cce6d89a2d0d7d8830990640814baa42cccf9357c49 -05e2731a0f2494909b162b13290179826f481c7ee314d08137bcddd8bde77204 -7996751731fa34b507baa89a0301eb2246ab2261789a6503d25b933a7e5d6eb1 -965afa60f8f9698cba938e481d10402cde14047e7960380687746bc8ba37c678 -86b093fe1d4465d1b4a1367a5a0697516a2e494f8b509459ef8ad209cd33e281 -1899fad784b4ed012b28d39a109a22ded00ffe3b65db0f3c02c9282c4fed605c -62d2bc531fae59d30994501323c54466039a53d6fb82bab409b9df41db502f49 -78c3366a57bed626da8f6e86ea14c41088afc4318c2fddab2a07cf8d93adc2c1 -8a4f302264547b95ba618d9068d1194be96e4c07b1b553b182358a412e9996c1 -f4f1c95cbd351586c94a0c00b4522d0b797f896e46afca5a4828f026832ca890 -22df2ff4033b99bf44bab1568954140cc8623ff3c6b3446b1f225a2840b73b1f -2713e9d08d719151fb3343ffca0c440b450efe89df49fec7a06546187153adc2 -62a4afbb63c91a4ade7b83155c1c1c166b4c792525e6a5577b4ef868907412f3 -a1b4854e1028fe3cd22dad95c6a46cad24db0ec8950ed774b80b4e6dfd2934ba -94f0c17391ea46f743c139a0e4aec4430d09a45f177693eb33ca9dcf254422ef -4374eb97b1127327e1086d40ef9cdb6e1c7614f9963322cc65afcd4a4a86121b -94dd2cad3616cb366482bd0c041d090508732c653196abce791bc9a7ada3cafe -e021c8b118fbf18587a17db7c061e371ded73de519d5164e61d15f964fd8a90e -3d00e3d7a5ede9ca11c3867d4fd9b1af49ef2e006603bb04696f4117e81c99e3 -8c67c92c31e391a5fb81abd16f5705faeb043f0fac1fe4f486d00e32e3fc8947 -d12382b17fdc54309317a33dc65c5162cb731c64e9f02059f156ec25a7625c26 -a28a2ce8c67e8b2b78a6a41e3915a96a94fbe71e59f42d9e9704b1a21d88e0ef -bb02543c9909f716c5288378a91cf45e7a4802e125dc75545c1e7f322132b809 -50e99b906b74d997ab47445cbad2c674facb4ddb111368d024255effe3b9d67a -b82d6057b5a049aa805dc7de9e6d6df10b1d5b628179ed6e1a32ae4b1b02137b -c74b1896d8886dd4f935c7036125f8566816a800825d11238f2b164f434e5f88 -99c4f477100838c91ff7b954e0c6b153ba55f194e92790861a5639284d6d1589 -ef79e1309c45ad060e6432a9a7eca4345941c8456892ad7881bd1f5cc245f2d2 -a4dba8e95363fea4a436442537c04513454cae954fe250a2439475974c76e148 -d5297951bf43a17874ef7468244120d2c0a3079ba232687dca68af29b73e3bbc -0db552e8ae30dbaef634157c1cebbeb32d8d2675b83c41baea6a850dec23fef6 -b7950098a30d547e2b13fc095e7b6a5ed9be5ed7d5181adc0317adf8d1587457 -e5b5fa4d4cf37187cf5156f9095c6697d292c9c2c23de2ce56a9c13aa5d17a0b -b752b8c224dbc92983b615b825056da181d4f9095fc53011209b7262a1a626fa -8de1270cb4b4ae559fac1e13cef35ab684a6ca828d8ee4388ac17ece9e5fa9b1 -69646ed00c626217a45a4b81e98c424015b212fe32f5753ae9bf744c7493ae96 -d6678ea3a48cb4f99b9d499f935747f1e222f82287e73b5e3cef3f0d92c8f77a -3ea5fae44ff842cf959d545cec1a75222bded50f7549ff4a9f663be7e873f4e6 -cefe32a7e48d70d6d632d315a9819f49b7ee86032c384217149f97c47dfd562a -2e9fb3d24e4c1c2e353af5ce0a30acbeaa0e8c34c42fa9e22395238f7f279750 -3cc5c1e8898926e201c9e8e2c7ccfaefed522ca0f1deb08521e7a2e5c46ab4b4 -7781c7577aaee39020d6f921101a7ccae588784f0bba79ce2540d6c62d7ace2c -33b78feb07b5dac5c54b80e48fef36341891d13eae269d1e275089d1f1fad891 -907cda9d8d705eb7dac448f79c5e0c5c766edf83ab39d6cb1a26b424ff543740 -bd3425b7c87e1d24c34e3bb90b3047b9686258b319dde29004686683283d1caf -e40227ab5949602915fa3d1f7a8e4b07c8c595c727a698bfe9c4fa5671516d0a -718da5b7692637f3864d13ca0e9299c69dabc1dd1b0e5a005d53791e00a84cbb -b76010c0cb22deb5633f01557c866af637be63a8f0947179a5685a60b23edc8d -05d4a066de6a0f35afdff18adc5f189a583a654858a030ec88fab324fe9b435e -3d435368e2666472011006226d05e5506c17d84d414285ae1c352f3adc6a83b9 -d6bda4f39d51ca09a88b0507b35721461272c511ee704b4308a3e69320ca1b03 -f384a047de1cd2c9a98d126de8a5974082497cd036ad88d3ad722d507b77a9dc -a6fd9fb691d9e266671619e471b0e173e5808836e85f5b23058bda5606b55c08 -ab5d92be7dd116dbf70bcd523cf51b46cff66cde5d3d10003f7fdf6fa87ce30a -3732331c8286f78357fb451d8fa954904a5f66a19cd5583547cc60e7826444ab -1adb5767c0eaae928950bdd4c6a097c888499467843354076d89eed8326a45f2 -6e2ee21d6ef619f688ce53eeabbb5d059e4cacb0ca1108b69d30ef0838cc40fa -d04a9d72155502a33f3e65a94a6abee9340839aaf9f5c4e9aee9c6f97d508160 -880818bd186e28b3588ff35a39feb458ea823bfb6358257416d249aaf0205fc0 -0d83860376be6cfec5d214dc70a6ba7e9f900e6ffcb40b2a5a5c7f2aab67bc3f -6c8faeee25089db99f1844a59ddb40fcd59d488ed6cf42a8b2b616e72c3c52b8 -4663b18914713816f2829db0274bf3d7fa26665212e940a145f3ca8fbdf4a7fa -85dce8c35ee035877e2d0c12786b6d38fa0df9f9d8322257d34e4f85d0710d1d -853fa734c0881f5142496fe67ae282c84c904589a37575171281d45b3a0514ee -8b86aed90cf369bcc27570c2f64eca9748153671066fdf5ad0184a8686b0631a -d912851995218abce31e0c2d10826c98a716d1f378028eaf1d35ea0933b79160 -407a934212a3817fc8b969495327e4f22f2ca56d1f63cf404fb25e0b40533685 -9868d719f7e4383df48a137c8fddaafe507c4a68dddbe479cad636dbb4e88614 -45d69a8de4537458da204fc6d0d1bc7844d925e4c6388a453a226901ce370ce2 -08aac25a0e9098119caf13928acea4733cf9d705b23e7669e41aeaaf909f3107 -acc3adbef8303d988c0478be0d65b4c93c088d36a8d41483c3acc32aacc1b43b -580aa7c0d48f71ba0b9b83e68bfaab59a7d0daa5deec877356c50d32eb00c143 -73792c25164d24e5fd1b57bfb62fa8f7becce45fe0c343e7016b63413c5b4257 -17c08b22067198dfd93f7067ee5a5932297d5c738053ea3011ba03d184d797bf -aefc43ac60378cb829f3529d3fbeea132d6f6836fdca19d7ddfb5ec550064b23 -79e54c51ad49141a558ca9a3599881d2f1eb1a0f71a14c1b1e69281ae859a158 -d5837f89d7a624f970cfde64856da78e96cae4e5f7f3aed41385e3988d24f863 -c9034a1be1b87a081f2f7b870b0eac5f9e6a0909bc494bba1f2faaee56bbc614 -6f41b5eb3ae52bd220d1d6433d8aa880d7f990b6d8474b8603fa41cbe3c5331c -64f36d261ac2ac9dc4cbd77bd697fd6c955f9cb0867af56e2e179ee04dc1ef87 -a8091060114397572eb18867e123aee4219011f4c648002716fd4488f4b950d7 -33b9a621a03bf95c4a3a8932f7714a278cb9d44be7a8fa5259dcba9c41efc038 -86fad56b7d777075ada46067a055067dbfc8eb9238453938677fb7e0719f35ca -e7ae5e912a64f3496a858aafd3c911f9f154a2afc6307d6f2a36d37f1db61a29 -d8ae538c8ef1ebc2932301bf648048a8d00dc49178d2f97937bf99e9b5c1701a -1f2becc9537c1744e187579f7f17a7e0ed3ba1cacb456db8a2343482be3af336 -99f839a7e25367ce66cd1145a200cb5f0ce9e2605f6c55a7ebc1e4fff43f01a6 -ac697737a34c420c4c93f3fecd708749754aebb1a2175aeb18e443c1734d16e9 -a905531db8d6b9a73db8e287f0e512378e39135caca386ef875f1805f8cbe314 -e1f12553ed673f31ad27fa4089675de81d7624f921b1638148690e705e0ddab7 -4eb3ab1437f91d874058e84a26d73dd181c5b036494f40f243f6507cb1ae5ad6 -594b1327d6bd886e90f0b8670197c0d77400e4d85565cf54de97ab5674c70b66 -7a3bd7fe9b4e45911a2fa16d81c8593b5bb6f8469ef3125eebb751d069b72236 -acdc0648d18d61e7ffea0f901b558f49fef7b1b171a5a3a9778cd5daa68b4cc5 -a668814b4cbbf4dfc4c3db1a77f7d4392039ab217d909325d0ab1ca4dd6b4b4a -a8d0828b15262f3be6ac83168f5d78373124e8bf78ab187e9abb8aca67b552f9 -062a1809c33b2b37f909ecd1fbe0c58ba697c2aff8dcfa7a56603d8fd95d5f74 -05408b01a7683fa0a5d6b5cca17d64a0bc3cc336fe9a872e1a39c9125d039d52 -eba710d7bd71a869b689f4a28715a285ebb88b53e7064e99536654a73368fddc -0465eadfda4e699fd7120e84a360c388ab10c6306acb50e5430c7d5e07e92e5d -338234b7d43adec91cc9d32bb8cabd5306ac4ea83adcb02d35424e28a38be832 -8636ea03eb9f854008155fbf4add4f88391b3a951c487bc3421122b4368198cd -21d7bdca003f7b7698ea15f8284b5c9593b5e6d847b471ba887dc331cac07ddb -62dc79958874fb1dbd5e1e5541e2d8c861a1cb16730a05febb089eef8b278ebf -1039343c75882d2174b092e6c422b7ec3f664d2252b2fe97deda66c1f9c802f5 -b83e0773a6a07bbbc79e45724bc98e5de6b8c2f1de41df4515a95cc172bab2eb -f611eb5e324002ddb25a79bc4f5c1968fb25fca025932bb939bc3aa4e01ccb9d -f1d97a6901a0a51c401f5945e141bbe5822f41ab75824f563dc7408c9344752a -c6fcf04d583ddb596dbc2961afdbb27d864d089c7b425feeed7c4de45ed8e8ec -4c657de23503184ac562fae22e3607db5ea135854c912f0db7414985297223b0 -5768275960d92abd181f6c7fe6806ad16d17e287bd8c7d6f808e39c4b7b746a0 -7d590d89d5d3ad4ee83df97bc5d701a7ddf0e3b548b88d1e73468c9f35cdf55d -ae444b1f48937c08fe7e61118e0afbe766279f79b6ab2e241da41c4b11a3fe50 -5436fa5fe5f7a05882701c5608874188bf54cf7d4224bf4626f51e7a539fe1f8 -a2832c766705d022ddf75da97e0515c2cb0f3e0c3016a207f494f87c9e5bbf9b -f1a8c4494a1301b08a2f19889dbccd5eca69f8f9b33c3e1fd4fd349baa50c162 -8f691bb3ae73f3eab26d003bd56a10c78ab91328aa446b45adca645f61f1c09c -e99081b74c29ec9a086d70a3a89774e9ec0954f773979d18cfc5e9bc39301396 -31206d01b2eb934811e74029b81dc93e6324209a16487327dc3c0e071532ab4b -f376cb00d3245172a237fb69a2bb02a9309da3629185b376a714601276386c03 -550ad5b29fd5ca31884bd971cfc6d24883e351ccb9963ab5f874f1fd02ae40bf -dbd7e86a35f9153689477e4cbe0089514602797128a4356e69eacc09846d876b -85ada43a104c55e192e8f4c5100aaf99164221f4039a207689f9827442ed0735 -f363ec02f19b066747d746f4920727cf2777b23f8e9a55b50fc1c985d7831809 -42494c4787959387ad0ac230dcb02818af66ac26c3346eb5b6bd1d0ff4e0c611 -9b51b5db8f79b02f52d0aa0d08acdd61fb1c12c657532a23312ec98851592cf9 -609f91a67b3e67320c6904cd60c08b44a989a27da24168de519145e20f912230 -3062c9cf20e273dd6e1f1d50f2c98fffea307ad5ece6b2abd90541947c74afcf -586531adb59caa435680b68e251df27edce0950e603a3a946c8da4d340de85c4 -35cf60b38f9d8c0234e6b5f82717132c69b16022e31268cca0e7b0a6010a284d -d92bb372ce06fe9f812586e8d454e1f5e7c076b6a139e6b328b2f2e1e3589e4e -1df92b3be1 +D9D66F633B846A97B686A97E45A3D0AA0525392EECAC163E584A9104D99AD0BC +1B1844A0E222653FA481B8809B26A46F4C483A5D7E95816EA6582584156CFEDE +B994ADCFF4645140E3617E4D7E1B0E4541CB9F562E55829B4DD880AABE2229E9 +4A9FA259A734D29BBA91BA1E2055CBEA4339BCBFF98D32CEFF11F296225CAABA +DCA10577A5D431B714726C1278D8101ABD1BD8D0BD0174FFF9148F8C61C241D9 +2AD360A28616CB4A0670C1BF105A25E1BFC9F2B5D2ADC8239CF6CEB1085A5D47 +76BF78D14753F998C47F4FCB1AB6B7595496FA51AF12771741C525CC727551A1 +C53B99507CB5132343184F19D28615DDDF61BA4ED26FF746A8DE2D895CD9FBAD +56CCEADDEFE9E0D07A01FA572FA8E90427DA946147C08161A3D49C534A5966D4 +9DB68B43E54B6ABCE3674E951551A86FEE8206E15D755FC96D3E006D6BFC1C3E +DC4557CB035687755E7896FBBDD7F0E8FEB84BC965BB3A156AC014EB63AFD5EA +9F86295B06A8954DF1FD0F5C49D1E4FC45E07F61035F23768667FA661FD8D83A +F919B5E9FC42F7F3376488CBDF2D84189AEC29D3442963C84EF6A185E1FE8B2E +DAC61E0AFE78F39DE16CD153A9A5521BA6235A41981D6FA292307BB16FDDDC1C +3BA6FE06BE9366B3243E303CB1134E3301899D29B46159F65190979324826E4C +C903AC30059F04637AEAED972F75FA7E60FD83CA6E5A43206587E6329F6CC3FF +5895100355AD8F4D4EEC9CB5330F6B28D7229DA29624B70E833AA2943C05C912 +B7B60343A7DC7A3F6F1AEA9D868237E30DB8618BB04B765781A7EAA080503F95 +16B125739FAB9FBEF8523676B7509EA7AD0D2111E34025D45A68E6713BE04923 +2B3DF2EE4EF47A38B0D8C545F3F85475C51BE22597651714C1A4FD2F200995C6 +807B6805524A6D24289FF6CE2EB50AF4ACE16F148480E3E0A4266097351A03ED +AD9D7E84C86C4F5E7BE57336A0CC4F925415F9F6B65DD690FB21D5EFB414B7DB +80614C024373D7F7E68D33EFB93F057E59608220CC29F4A3B54C712E006E1D6B +D993668999C3A856C017533B7CAF2195E89F96FEAB7D91BE5CA1D915F241BB4E +E66E1D478AA9DD9E87F5C8B0761AEF5A91CE7EB13407DBF99FAB4515DA29F183 +AC857EB50E62666F64930EBB260229711369CEDDA424A91D8D42E19D196B44DA +81BA1B9098DC35CCE4573C54F6813B02641C8CB75C522A0ED1925CCDF7BA6D06 +1C34D61E35F697E4A448DD19120937089808561FDBE83ED134AF5107488A9723 +63BFC0B6FB57A75B989432D8A030128F796038DFBB841803231B3D1A1A4BB33E +22B0709D275570C37263293E6F25DE1A406FC80BB622CFC49D6B7D6D30D0F7B5 +12AC417E418D0BD296B2BC46C1E4ABF5E2D8428D248B12CFAE6A804A5536562F +FF26C1CBA38C4FE099F8917C246F8327451148CCB23B78527E5F6729ECB4491B +34132B6113E63B7180C5FC979D625B6D370D36E8D019AD43A7B8ED81721B449D +67917AD7C9EF1E123570A93F53E03A2AE1A3CBE32AE587A838AB8E337ACE0AA7 +6DBC3BCB401D48A9512E4C2C162673270BEA1042D124477238B826DE582A230D +A9890E458B8C6A10D1285B1C51570C0D94FD0AC193F8130DBB5F84D6476F5DF4 +B4DD749A33EF353D83D7CFCA9A321D23CCE16C49D5B65EB42AC17F004F7DC1CC +C96ADEF11D3EAA6D5418583CF9F199EF342D909D8260BCAC2F6D8D50B5B60914 +009142D59F7361F842E6AF5543B264999DFC8C1AE598D322483045C74B8C5962 +3576A210A17848CE8BCC3674D9A938D7C66C1C509B8E4A79B7F9C1AC2ECBD3A0 +E7EBD5C9187F887964AF85CD87ABF45EEC4E04BF350182DC28A70C1B3E372E65 +7CF4097243AA2D200DE755C3AE18D92FA0250F62BEEBB6F14EF5E51DF139A6F3 +5ED3A8A74B81FF539DEDB60DA4FA3D729000A35317623DCC6809C3475892111B +D952667728887DAE7D347AEE9EE0C6DE82DB06897E44E38C9E98E488F3893EFD +099E277EA8A4697D0987FB01A110C1DED37CAF49B841976DD89EB500236CBAA8 +4C2435D88DB6260FCC2D27E03848338171AAFCE43A4561E4BDC9BF1BF4BEFF3E +8B53097421F602A18C94817F54639AB84BEAD0D71412F8FABE5A24DE1560CB94 +9D746B5C33BB22F242D485368169D550059149EFF10496C9162F79D35DA71EC8 +997385844F8D58C6AEFFB23D9B4DF868327E7BAA061F61B65201FDC5744FD880 +0582F1C54AB74AED751F364DD9BE61C39F983276381302AB55A2F3ECDD36C59F +299A93FF29FD80F22BCF2A9A4F01CCCF1E10C2DA4065A30828BE7CEE911370B9 +CE7E88DDDA179510EF1FD813BAEF4B930DFF8FD5B1BD2B1DF4014D9BCB47A72E +317F79D55A9417BCD367D9234C5471ADD144DD1AF3A76EA8A63CC475F5179A8C +18ECC0D62BA973BEB5B80B96AD9E9C4018AEF735F019AAA33799CC40467CD33A +BDA7E803F7745E4C1C988226D1D7EEDE4BD0A7A1833B19CB43DEB2538341FA4D +65A0A885D72FB775CE8B716878066CEEA84853BD9D097E71411511E98B27DF6F +4C6104916EFB6F3F2AC969A4DA6D49EF4FA7B5AA479980F57705D0FE9E419307 +A77ED0815842F507F27183D8A5D55EA53B9D72DB9DFBA8D910331183571965BD +0DBA9A840E37A7D4CE19CAF6881D65F8CB127FF9339190CD044880D04A8313E2 +C113D52C8ADDF2829CC7205928BBC4283D1719B702D7A1233DB0BAB179033DA9 +D418C328FFE1E1502AB5C9DA764112E9C82CE75C57C2E5AB45A406D2D87D17F3 +348DE0B66F121E76E6BD1FF6BC3CAEA11F7E0B2D9F3D3991A68CB9F5399C5CA4 +9F8D79C9DC04B65B020926BD092AD872B158F05CA09EC0F50AA7BC09F3067A7A +A6254F6DBB9A3BF36665834C8D6B85DBE998CE526A2DC4672AFB01117A84560E +31456F95396A4AD4E01789D7C44BDACD73329B02077BA34720E87F8D55257BB7 +530A2CE5F9899E56D72455378C51B46739D055183CA8800E0A79E01BABF2184B +C4177DD5A9B869567B7E0DACC95FC3104F8FD850F4F7E5F3A3B32040409E8490 +09ECF20D3F7F0FC69F3214C00CEB9AF9F5A4C5A920BA06CD8BCDCC40219ED34E +AD309DC79246CEA3EF9F3937F3ACCB52AD5E151A42CBD1A80DC59107424BFB3F +05949E921C0089ECF5282E2683BE378FC17A6E3E30FC8A797CFCB0C90A83C3BA +B4D2BAEAB95E8A590966A1F7C23FE0E61A1017DB919CEAB5799D099E451B9938 +B053874352924FFFE06ADC0596DD1C07F98D5D2F7156874CEE7459BE20D6E99A +DB61645A21B4DEA72B19A5DE611F98E2D6D1DC621B8B40C03330E4CB6113229C +A997D9356D87A63A6E6D2CBA7207E5ED2A8B5D6BE90BE4203C3F857F759E4697 +0DA5B1B19BFEBA52AA4C43753F00BE4D09A41E15D1A960EB9E3158BF0C92D099 +DC93D658FCFD4B0A8821B811AE3C8DAD4CF063DA31F7E8E2986CA4D81B07EBBD +6D70427D4060323EC6C0B1D4F0D14003C671AF4B2C8202C02B110FBD21BA4CC1 +F4548E3E9704D01550E11B1D1CC97A59F5B2264D35F9A3EAC3929319ED28A90B +37E3FFF62390EFD808BDF9537CA9479C76B8DB8FDA7BD20DA0C263D5F5029A0A +CB527790B33C9B0E9870FD873E94D4A3CBD09FE8EFA6FA5694ADBA674280C7A0 +C102A032465003A5310EF846E4B962C8046FB3F9AF2A670D888F7266D4DA6D40 +82480147332F31087D2FE5445B295C56A2FC16217BB5B5A44C3B11027C7176E9 +3CF7DCA4E95529116303DF6A79C301E00600AB38A00EEA61310B34A5E042732D +2A5A07070351CE3D94CCCC38CA05A3B890E925D744B6AF48AAE86AF266EC3AB8 +5890BEF91F6A0402E4C9E457A92854A526D1EDBE28594BC5F2B30B2D1C0AA610 +8E674ECCA30C45555CA2D11F94EFED513D3744BF7C85D411526108BE7B72351E +48E30F6EDA6B277239E5E75BA397998E519B27EC9E29F7D2117C93D6155A8CE6 +CF4424870972FC2B171C4C055458665B88B08AFE9C1EAE19DF07EA703E6EE873 +EC04657166E98BA573A3EEA5967F58691C47B09CEBE352FF45D653F34E9C61DA +16A1DA997814E99C70B6CAA983A119D5C72C143446A1F1384FC401B554D99B5A +53378D53978C4B1DB734A10BA4315EAE6637704C683E6C590BF2EF885BE65A9F +57662C785DE0B832395706406F4352C3BD0299E2D51F2FD2AED148A3DFFABC32 +2A2A3F62BF60D6F2439E2D50DCBA8DBF9A98E36E7F3CB0F1282761CD321E25A9 +B0771D2CC29F5BF67E7591163219389B0F4BEF7935058ED16528D28E50E37BBE +B1D1554503645C1052CE94A55077C7300F05F142F0EF670D0975D3E512F8520A +4F7541A9D9A7C8E66911844735529060B541F6E2706649A38F2345052550944E +73B0CD2720E2E9EE55B42F75DA831AFF5F4A1B1587CE8B070FCD6CAD74138969 +F2C64E0D04E7A384AB792F36A93039AF47F5F301BC6859E75A2535D014B9A85A +231737A55533C8A6318928AE4F6BB7D73551EE33D4FABED8EE7952C3AECD739C +9C0F9B0C800627DDA0D25C33B62C5EDC02610D4A348BF572C78CB30A2F939E91 +71AF69937EE32526B0722C162E655624906DFE47F66A1EF66EE2AA37CB4120BB +5CE017FCC070EFE541F22CB595D2E55E6C7A52C3C7DA8948ADFB24D679C3FA35 +3EE4725DB5DD405C8CE39D8C2712D7DEE63C22CE01867117D1908D958AD0EFBD +5C6CBE684E8993B9C48429E96ABC0D85756EBB96B502E82F60BDCF13FD75A52D +505CED91635094F55BF2570F9211FAE9B3691A04D0896F1A6D409FB13CE8590A +7BEBAF2770DFB333EA66621A56115E2E7A1763D775A7AD326589128EE1829F1A +1E3B8FBBD4A78F8A01F09263081B8BA278BD0B7D531AA9D50B72A167232A5C3E +69EC1A3CC2370D8619DB10C162B96E490193208D7CE9CBC4EB12C2BEA2C26F76 +8EE4BDC1C612B31C7A4A924DAF743E8296350CA4382200124B7C22AD75592BE8 +CE7BA0842EDE36A1D32DC13EF79CD0334D822B4F4FF52A35DC39B445B55318D2 +00DB5122520207570D513B06AD9A21446882273FB569F8251ABC9287517EFD31 +1812C967F59A12EF2385A7F49B1E33AC0462BD394555FD4892363909518452AE +28C283128602DB2E36B26E4C92C4D48E3C976E64C24E8B2C638B40A5DE68CCAE +80B0FFF820557C27F39B6113A62C11D64ED00E224CBEABB4AC456B56C6235E20 +7E82071EFA4509598A6E3D04FE29E1CEAF4713263A0B11C7D838FB46F60D89F7 +CEE7C5C0D6C91D5102F5A4B0F09FB9B43D9D05D9E9CD6D1F52ACB1745231E213 +BCD4A2FC290AB05B0BCE4285A33BC2A9A8EAA8989AE8BF9E2E3401628296A8C6 +FC1D3D14588E07EFC19FB4DEA090AD58C190F60FB936D5078B8FF050F767A53A +82F9D8976374F582C1513B386DFC9035C49528CAB649B6AD98F74FD037431B85 +F88956B5D698353161B2D103402F2BB0FBA01033423168BF615C33FDCB30CA36 +9A6C9857B81868B25F5E3A9B19FB70A20A4A2E4ED6201A0C74D322562BB5468D +B1830B5F72431398040695CDC0722BEC75EC3DD979FA99344F34C69C09F6B2A5 +FDCE116D38A531B0C6A5A4AFB79D8A7063FA5214F3012B43E80B013C352EAA05 +DEC5A6772F6AAAF3D526A95DBB4FA2D09E524A75515AAB594A2CE70FF89C0248 +16FD5FE2A0CC6D6BBEA5E489A740D461B542ECC7092AB91CEA4DFB1C7C768210 +5E23A374BCA91885E747274F31E5C64B7A397FDD41932F2A16CBB052084E3E24 +90EBDF90624BB22393DDB90DF1D8545651EA776CA13D046B0ABFCA115414EB46 +52911C21C71EF12B865DD8DB8B54E7B0AD52BB9A04C1A3AD3827FFEDA3DFDCF3 +BC90CBA8188EC1FACB777CA1C5C32CC0FA8AB3125B0ACBBC32D387AE65025C55 +1AB599C3EA4A5B43EFD388D2DAB89BB947561AC3E73728A55039E4A7EA63CDDC +B2C2AA2FD9116F5A58A72EF317F76DDDFACD79B407D72992A3B6C83A80D1EE1A +B160FA3A167599B4678AB660942341D99178F2172D51E5FE6A532AAFEB7C1909 +8C9E2A5BFEB899C63EEDB7645170A6A63867AEA0E83B77BF5F411BD5E5E19903 +9448352F89B440C80D668FF731A43F7E858197D75EC2D18BF067556A8F861310 +0AE8E0CB05FFC5891EEA9F0E324F9909668FF731A43F7E85066F8B30F3AC3455 +EAEFC63DB890C59CDE42353355744B983B11398E7B381CBBE069E98B5DC49123 +2670D6609742C8432AAAB19E471724033995E4064CD4DC59030A1E5075D46585 +E1D62E0267C75EEF3919EB6C5635C9EA88F549F4FF7DCDA5DD6F5ABDAF12E0B1 +0F880A7996D730F9FE2F3B9316FC41775DF4F288C71B51746D20B6FEC22E6FBA +8E9B22727AE236E786250497721120F259611D3BE08A85FA51AD2356ED33184D +3BA70D5FB8970E912C0A2F7CEDB74F255EB3344E9524A2AE82D38AB4F653A529 +152F8B7A5077E96854439260BCC53B76CB0BD7CF8F1645BBE764E8CE87CBD1AE +B3F08785B73EEDD5496C7EB648874EC2748E23E685294D68E286596C02EF3512 +78B15DF2AB38FE915639E033A2E65166CF72D08AF8E6C47BA0A8D7692F07A7E6 +0912138E50FB9B3B0285C7FA62B2E2E2751B919742CB4AADFFFBFC6C167505EB +CDE13B5C46D41BB33ECA6B84DF5059BE43390F39105E94800741C67DD8A7CA79 +5C3BFF6DB885FC6AB3971A6B6C279940BB8EC33A721E686DE01614813A18D310 +CC118F55FA0A322EA09EE20EA0F98E57E9C7E810EF373A3B86CA5D3A2F9BE1DD +E610B775D3B832A2AB360D686C35106A05E6D58359D08C11F7F211B86E827EA4 +88E454BF17ECDFCE5124A1A4F131B44066E5C90FCD461AF11FF3C6ED7D6D58E5 +D4CD38E3B381E085B733F0D46DC8A66884D9F69189DE900E73E57950F2026AF9 +C57C89A25D31394BA7C724BE83C92E65ED8F6B8F00242244CE216FC2904D50F9 +7C4D4E96EEDE68BAB0DFE4083E7722E3F8EF38A0E069A5D124F7D1ECC85143D6 +787C743E34A74471711ED3A42969A9DE0FD5D2CA9DB012A2D0028C45F255E429 +B0B5700BC9EF2D369EB96E6A51C18E0B7D11C1E8781AE1A3D0076B612D11B562 +1DC08959079B12ABD106800647D055F1B598E72D65D57A440E8EB2F63FC1BA74 +E8304F6AA6170A4D9824A57A65089E4DCAD04E977398F555DE3C62D39A3C53FF +436B408329130BBB41E5E7A8E6A0BF1DB857B98483F987B7A0AB9EC8AD2369F0 +1BBDE6DB5D5D29A111B3A21A2C22BAFFA13368B435782155A21C5547086B58AB +245FD1AA1D04378CC56EAA38E271F5AD173EF8FCDA96B4B4BCC8B234BEE63206 +2C8F982F7C533D161328ADE0BF280B5EEC9059FD061E3C0CDBB3ADC4A2CF5D2E +FFAF649F60EC4C773067E3DBEB1061010A1151E984376E22A912F7DC87B1D8F9 +F837595D280E534512D611F066A0541B9522BFF9B03EB749E4C8952EB576015A +DC4F3B405669EB8B7CA47BCFA0916B2AB84B280BC1B8AAC92CA89FB909880B99 +D96DF4CD26210105289C56119F264789527CF706F0BD8A82E5328886EBFA71FD +7533903CE238B7253FC672484915ADB8816E25D533839F4238684B428A721307 +1F5258F29F714B2EA61E0262D25549742079FB76A1438A8DCF5655EB64342E5F +B658F27B7E8F66327FCF51F0219F04241E4F741E77D9C6976FE371A357A51829 +C5D8B2C4D383397B01C0C2D8877DBBDDE63D5C46FD8EDD3B8ACD5BCCA5D0FBF0 +3C77A4E5605D8CEBDBE6477CEBA8D1FF0F28BBE2B28616A371CCC186DDD423D6 +8EB88F0C08E1AB4C3DF12C2203D326AF0FC6915A613EA49E6A2064BCA333F9AB +C6130C112144D1E9BB26AC3C4AB1A54C7B0944A0BC0B30A59B8F71BDD706763F +2B59B836E23576978F9C76D2E8823F97E5B111B184178812ECD4873088D74F0B +7E52750E002540DFA0E09A157CF9686345ECB609FDD66F30ACD5C04833F18705 +938E2EBB9D965777BCA210F7AEA3230572AB5DB8E0878AB0236277E3EAD22C76 +DB9262FA6D18A89078E2407973F08E400788706688E4BA35AA5284CF67A1DAEC +3971DC7EFC40DBFFDBEAE5FC0317A22756B57B2DE3A6B8038F2E5B5FC95930B4 +C58475514A22B7DC55527A93E9309E36915B0263D255A98C8E076789D6306ABC +2674417BAB70CFC0B68EA258B56E9BE8022E717E0D3B5E7F595B112B8B522A72 +0758CBB01FF632C2750F82A557D9BF40A04BA972EC6DC7C95D711CAD8522281B +221078F37B7CDD6360E1064DF1FA02C00CBC503EE105F0EFD56598F4761F6623 +34C6BAE583CEC27934C74B7430D649338629D99CFFF13869DA0303E61F19986F +2BC4D18DFE52EE1275B05D195FE43B5D53CDCC0CB7051D42B2D9EFA4D1A7C650 +B85A65294CB582FADF481A756C597B046DA33CF4A84889F5C11FD913C5B90EE1 +AE09C9237750ED3AFF144833F7E02A1E6817E75390483647D9269FDF5C7905C7 +96C4D1FEB2BAAC71BB05BD07D82BF2873E3756C9A7FFE09897138C27CE899207 +36A83786208351C54A4EE2CC0FA897CF8F13B90ED37B79B5D33C3CD71A5D2029 +3794E6A79FB1AE84693C1159BC7230A9E40A5071E082030CD1F9CB2959FF37E5 +0A0BEE6B09A96E3602F9204E5CC7A9D311A8D39FCFDEE9D3C25B923F80783807 +D3778A57186403E5F3E03E6921A36373FB36ED27177033C6E827E38EC47E301B +8DE05AD0D05A1E6EB881CD4C1DA36B97270F38342322E80461124A46987FDD26 +60A226D91F10AD11504D70201AD99ACA09A6B21C74569030270D679583BB7E99 +03ECAE0921EFE1788DDC381DE031A73D319B3B7BFFF353631E37141F9916DB7D +4BE037550126FB9F1E56264B8E31F73B5950066BD0B6C530AEB917E75112C2C0 +914D3C52E7746C0E3DB4CF9D8D543B7145556CDEAE8D36D4D8E9B602A2B316F5 +8098D67026DA0C2E2D8C19B8CACC4E37C30782D7A8A6EC4B085610CAC9DDE535 +EFCEF15457A38A65C5598A9BEDDEF36F0C304F726C4C8A5262055B889245BBDF +17A3DB3077685EFECEBBB624A1E5482D72781D6E552F903643A951E6BD1D24A0 +16B91D8E550F83FC8FEC7A1C50DBC13B8728F127EDC534A75C6EFAF569AC0410 +1791EE28370EFF6FAF6BBBB7FF2D7E4DA00126702255EBFA172E726A6AA3FC8E +265326E2F8A35D7630C94B115AB564EA838A0438B847A17F580A2B8773F79443 +4138A4471575DBBECFB41C6DB983ED2BAB8405E698B49E75CB5E5355222CB222 +78A328DF0E3A05EC0C1176427E5AC9EE93489E03340B3DC577AC456856EB9B59 +F9B8F1CFAD9BC46D3A17F10E1976F9DA77F22694BA155F336A4731FEDC7096E8 +BCCC1B8648A0D68CD1D8FF199A540C79C4CAFCA596E9C5E95EC9796B36F3402C +380471D7B9F2ABFDD056602905D5DBD8D28EC6C4262817F4B31961A6075CD478 +4CB7998FAD7F260A49F30B3A69791FB013316463B48B2983327CA4EC48518B28 +B0D52755CA172C6F9921325B37D2C95E6B7BC3DE279A5AA4BA178EC6F759CA5B +F39E701BA58B7D3D0E7AA8C7F45BAD067C9A182E508E54655443E84B3A45E7CD +E8F0175F40B86F59AC9B292B44E25EC3DF66C40734039BA64C612CC1F13A84C8 +3C6A4EC17BD115442BE320549EAC82A4C9DBFD9461A46D4CE42D739AB0228F07 +EB90BA652C87355F5A08BC79B5C8631CC793537A741E75C506DFE0FA63B4FB63 +34CB8DECD010782399AC2BD517576D3B82797040F254FE286138FF4957EC8F69 +DFE5565ECD326C26AD6B952793B2DEAC1DF9B63A58CA672B57861089DA967747 +DBECB32042ACE40BCA54927AE5FFD3583BC54FCC1BE2D6C4F9BA34EDB55B6FCB +E9D4984FE301EA26EC6000B8A7B67FB45B476E3879A8E565345EB5DC90F1373F +0B72508D564C1EADCB68083D066477F2CEFE1E112D644E3EF5DF83E067D762C6 +C0BB6991C98ED4C30A01F7843C71628E8C7B55560DB1D261236A2DA1A6C91EA3 +FC5F244DD1C94B6BE4CA711F01C56C2AE13FB162F8204075242853D83F29A5A8 +03737BA7A4DD6CD1BCDA185981F9A5DDB33F6906CB94F6736F648D96B1AD87D1 +2E74FB0373FA4EF35E9423C22CD7DA9D732623B3C0C9D1C0F18E382F3E312362 +592C4A2CA37C3390CFCFBCDBCBE6153F334A7506AF9B7B1FBCEA2A6835A068DF +8884B4089802A732F20F463971151B22B5282C29810C42A774DDD00348F79BE7 +A13F212ECE33EA03851C54F7B4AB6E9B24E6A901234347D9C7234D792B960665 +40754B01E538A60CD050C5E5BB6D5EC39B23DEEF44FA672F7E981EA955B13FD7 +0332F569675678C1D1EC97F5B78F9E1F166BA4CBDDF6CD8DF9C4456749C4432A +A841DFBA2B2CD86FB34839EB96CE547AC4A7FFFF432E54AA32176E645365F83B +D4C8E0D8CE320C437847C5EC09C0162260DADFC31F6A14AA0C21EF638DBDD072 +8FB092C989BC116500B170E4A295C296DBF62B3EE1DE5063C289B99F3D64D4B6 +4A7675B258273D7E9877BC7B70799B40E27E66FDF954D155664B4A5B84732A8B +850101796E8EC18DB08A33FC71357BAADAD0DBEEBE40EF185550403CD585F1F9 +125E1590CB168D4092318CB0C8736C98E866E3397D2F273F2E1A41AB6EB1E353 +B6B0A13088E8F71D3038948AE252DB3B0FE81C4F54B4A067ABBE8A47B5A8AF43 +1D169299EE93DB0FA105092438D1EBF5C949064FD62BB42DA88F6325C80DB521 +B9116F5FEC189B4F347EA7B3A3949ED6A73723EEC5D3093EBEE1187679D7DF62 +C2BE9AFC7AC2AB814C125D97F7149F4C8C9FE6CCEA3BE51BA03042798578EB9C +40D5F773D7126DE9CD94BC8F37A6A77813CB6E9B0DAF23EA62F5EB658C2179FD +FAE682962AC66FF354D2E6AE8A7C26F1E5236BD930CD2594ECF150A39BF39ACA +2CDF5A25635ABE8F06E77F7769C2278833FB387592507FEEDA4F6A3829EAE2E7 +F1EF367867BED38573B2B1960D18516B32F644922AE761425BE640BA0F27CD80 +FD5D9F542DAB7F5EAFEBDEEE7C1B799C71DB7CF2DE13623F676D945A2C08707E +AC6217501ABC6148F070893FB0EFC66C709AE4DF8A3518B817C183245F1B733C +17687883CEE41732A9D7D983798F037CD453E1A9AA3CB30B2C7B48C04846746E +CF5E512CF9C8A08916B5065BB4EB26ABEB99C4A67FD3BF11D9D2B66AE5F37364 +2E607454EE97853ABC6D40B18ED8E5D98795FB0A08C8254A8A7F0E6532B08A52 +F2AC9A9711A81BC6EC9CF652DE040EEA6AB3FAC01F65ED521B4AC18356EAE57D +3BD2407FAF55717CD73359525EA631D74754BFA26D5865F978C52C8E1295F412 +224A628032910E48A3ED08D0556D61ED3BD7829AE7E509610F4AB454250D5AF9 +1A683B276DC3C37F330F74A59591F058B9110AE0D46DE921654B6B9391DE0FBE +34848FEA0015CC9BE022C660E90729CE4413F00ABF8B2958BE04275ADDD4E2C7 +2424FC8F2829868168E0896B13EA6DF16B0DC33774E633F1B04B7E3D1C2813B9 +129F9A66FB407538D797E5174CA7079CB2582CF0AA108AC1864C968DC32F5177 +1135CC09EF7AF19F1F98D0357222AEC67F9CBADF73C37FFA97E826525B4FF098 +5B995A1CAC3BF1615FD8CB417E10DD91F71EAC34519F89DBB92DCD9F1557A59A +DBB39052C4F5D732A46EB574744DCCE29090138AA1F6F47E5183C50D2A764BA6 +C1554BCA0ED6C948BC6847AEAB4736BC407670DBD077ACE83F0EEF592146BE4E +8B2BFFB27E300E3F5F6B8B75BD9435F1BC878F26B120D58F2F8E7D5077A80D8A +027F89A05A3B5FF0962D6F4F9CCF80F7D1430FFA224275D9CDBF55B9E352F979 +F98E41E3B8AE23AF83B5CD26DAD96BBDB702C04B147D55F5545A95719CF28C3E +97CD9ED819667E7D95B3A3A8CD7C83A0AE1C690365CA3BB121513CD600F05283 +A0E5A09B679B6BE4EB9433E5651FC4468B8F217B4CC41369C23E4EC7985F1570 +E59A8BCA751A7D639E32C5691EC4CE8BF75D7CA6F23D0D6861D28EAC20DE03D0 +1BFC00FB080ECF71E3B70B3B871A995A41F1B7DE9065FC7561798DBDA6351A9E +0E7255F2EDD22993EFF01EC46A1568B58FC28F87D3573314DEDC993004AA6C6C +E9B617E4931B1523E74883E8E03B88E4A1991FFAE782095458A04752A8422F38 +D48E55B547A53BE6AC7CFDE51435137908479E87C5109D62C984B73E2BFD24F5 +2D414A56642CCAF056AEEB5A299B89FCD6704BCE23BCD81C204D549E3189EC36 +ED44101F02B9DBF8D1D9CE4C1362DF697C89C6BBFED0EAFDFAE2C5AD83C18C8A +CB39F51CB5AEC24F7E0F663D3B53A7B0A2C277AC78DE2E29429F75071BB97AFC +7F9762C26D4704003694532CF37C1A56D5517155BA77230422BCEB620E7EC9F3 +C6D531B49EDE685D354C7BE71655B13ACEEC052B83E9C21C3D50F69EFF06C8F6 +65D53FE037CE70241168AD11D4F3371AA8BE05F43C804481C27BD745ED277509 +E171A93D97FE67F4393C8E945E03856DEED83E72693886E16BEC3B2C8603BBC3 +F61669351E8574B8B60A425CB5AEA6640A8D79E1D1F2B949BA44D152F9A92BF6 +EC42415E2C941F291BE9B9596D2FF731E969BC54BB5CA6E0C32A63C776F9A677 +492A552EF20CC7EC30F63B84568F4D63A0989AC338A465F23CCBECAD2A485EB4 +4229B49A109A6C211B86D81B663C9AADD510E80341A823041A510811F83590A7 +332330499F3747656BC09B309DF7F3A4B3D069A93CE85AF1496A8180AAC3341B +17E89EE49163473375E86E95A8E8E5AF26F29FA48518DD604EFE671555B9BE09 +5EB82F2E1250C59CF4040992BB4099B3AE4A80A5D6CD275AA4323DEEEFD43597 +E62FC06FEDD330EBAEBBE430A4F613CFDF4BB055A93F428FF35D7BF98D039024 +2E0C1983C79A133A1417AEB142476468F85F6A3089BE2717E3D67896D19FA490 +C4CD562B57366DEE84C857186645C4676C22E52FFBCD470EE2C62C6E4AAB0563 +9FC38E300320DEC4932920A64B152E3DEB6A793A4574D7806DBE3F4C2EC9888B +5649A359CC203C2F71A91761847C3912E5CAA5919CC7C94D0F6BE8B1BD90ABB2 +2A002558C6D3A3EB5C02D8782A92FEE3A8AD71736EBE4BC4E987BBF0E5EF69F6 +CC6EDEF9E6EEA553E5373B010DA099907CEEB96A734884F5E959095F3F1EB9A7 +684BF6B638AD26F90F846B528684DD6457047DFA42D7D31407E365156B618A05 +E0C3D1D7B1A463E7794396EEF9390043547EE0623A16FC124A7F674A5DEF1A39 +D83FF41C05B8A407CEE6F0746D60F7DB83725CEC32E473D409C3C86A3FEDC78A +67B03F145C16F1812AB2F8211C009D678F2871EC987405E4EACCE2F5F460E907 +5158D14300444A6F7C8991CAB4957AA40A75EF24ACFA4F151ECE3C357812B657 +104E0538D4105FCD089D1E81D08A9BAEE684BE1B397FD8D6B92F86979F67B07E +B827697FE8DB065EB4698CFE11074C9E6AB8848B4767783A02FFAFE1CF097A22 +49BA4A46F719217287EF866BDFE7D7C751345E5AA0E578E54650E6A826C0362E +A6A9FB112AC16FA42F9BF8B7D6653831B04BF675BD1D27A1493773E798740D5C +034E3F19A89EA4EE3CF7E3D855C3CF4DE1FE6CDF1087591FB97CF3EAF7A1915E +CA5ABF5986DE6B004540DFAC498950F6FF634795B83F9F1F3889AE41825FB89C +3246F2FCDA575E926B6692F1981533759BDBAA46BC195525A78016B8C57356B7 +0F1203F2B9C61D457215C23F154ADAD643A2ACB456EFE642891FC7594CCD0771 +C64BF9A93F1701E000BDFC29AA5821C2BAA0D9AED8D3806EA4AF710E03FA2F49 +B5DECFBF182B1CBE354B697A6E5073F7C81C47C55138A3819E121884A0A5E87B +E8DE4D02 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 @@ -2379,64 +3226,471 @@ cleartomark {restore}if %%EndFont -TeXDict begin 39158280 55380996 1000 600 600 (refcard-pl.dvi) -@start /Fa 197[20 58[{}1 66.4176 /PLMI8 rf /Fb 78[29 -14[33 39[29 35 1[47 1[38 24 1[30 2[36 40 58 1[33 22 22 -36 33 22 33 36 33 1[36 51[26 45[{}22 66.4176 /PLTI8 rf -/Fc 242[61 13[{}1 49.8132 /PLSY6 rf /Fd 84[34 21 47[27 -32 1[43 32 34 24 24 24 1[34 30 34 50 18 32 19 18 34 30 -19 27 34 27 34 30 9[61 45 45 43 34 2[41 1[45 54 3[22 -1[47 39 41 1[43 42 45 7[30 1[30 1[30 1[30 30 30 30 1[18 -21 18 44[{}51 49.8132 /PLR6 rf /Fe 12[41 55[36 9[32 5[45 -27 3[37 3[36 40 38[36 43 1[59 1[45 32 32 34 1[45 41 45 -68 23 43 25 23 1[41 25 37 45 36 45 40 16[55 34[27 45[{}32 -66.4176 /PLBX8 rf /Ff 12[35 55[35 1[35 7[35 5[35 35 3[35 -3[35 35 34[35 35 35 35 35 35 35 35 35 35 35 35 35 35 +%%BeginFont: PLRoman8-Regular +%!PS-AdobeFont-1.0: PLRoman8-Regular 1.11 +%%CreationDate: Thu Apr 13 18:00:00 2000 +%%VMusage: 1024 31375 +% Copyright (C) 1997 American Mathematical Society. All Rights Reserved. Adaptacja PL JMN 1997 +% ADL: 556 156 0 +%%EndComments +FontDirectory/PLRoman8-Regular known{/PLRoman8-Regular findfont dup/UniqueID known{dup +/UniqueID get 0 eq exch/FontType get 1 eq and}{pop false}ifelse +{save true}{false}ifelse}{false}ifelse +17 dict begin +/FontInfo 13 dict dup begin +/version(1.11)readonly def +/Notice(Copyright (C) 1997 American Mathematical Society. All Rights Reserved. Adaptacja PL JMN 1997)readonly def +/FullName(PLRoman8-Regular)readonly def +/FamilyName(PLRoman8)readonly def +/Weight(Normal)readonly def +/isFixedPitch false def +/ItalicAngle 0 def +/UnderlinePosition -117 def +/UnderlineThickness 36 def +end readonly def +/FontName /PLRoman8-Regular def +/Encoding 256 array +0 1 255 {1 index exch /.notdef put} for +dup 0 /.notdef put +readonly def +/PaintType 0 def +/FontType 1 def +/StrokeWidth 0 def +/FontMatrix[0.001 0 0 0.001 0 0]readonly def +%/UniqueID 0 def +/FontBBox{-46 -260 1080 920}readonly def +currentdict end +currentfile eexec +D9D66F633B846A97B686A97E45A3D0AA0525392EECAC163E584A9104D99AD0BC +1B1844A0E222653FA481B8809B26A46F4C483A5D7E95816EA6582584156CFEDE +B994ADCFF4645140E3617E4D7E1B0E4541CB9F562E55829B4DD880AABE2229E9 +4A9FA259A734D29BBA91BA1E2055CBEA4339BCBFF98D32CEFF11F296225CAABA +DCA10577A5D431B714726C1278D8101ABD1BD8D0BD0174FFF9148F8C61C241D9 +2AD360A28616CB4A0670C1BF13E7A26E167F6FFBFA02D201035C41858D1C9BC3 +C5482BBAFCF7DF8061B51863FDE697437824573E60CC3736B77D96B9B17F4AC2 +4CCBC0394C27774C26FC66F04993D0E73F619503565343C1E03ED8880A14A7A8 +E686CEAF12D18FB2C70E54D7C524923386E488A5781001B47276F3CCB8173466 +544141F99FD85B6BCEAD8A7E1294BA184AC78C372F2E51950F79844BF99538D3 +5CA2530E636C821BDBF28843F9F48878C5B3D1560AD7EBF9279E90C993EB09E9 +47357DAFC76071F98E84AB3C17EA7B49A06C55E512F6265F15555A6C47AEC525 +381449C04D2A48C5C72CB15E07EB74DE8FF1F8572AA28AB47DC19E5558D0CC68 +A51733DBCCAB4AB8798079565B82622F61A03472AE0A3DE6CD251493DEF89C38 +5255DD4CD5F214B6A7B36AFBBBA1E86D352FF82CC01B72872C33384180326A01 +4C998B467A6F5307BB43CFC5807C5516517FC7066CB1F147229B0CC9A0E20126 +28A6BE305080E8FC9A94B98D56FFBE6688309F6D9793FEDAA5926EA5679791D4 +74BC0B7939D43C0AA387BB7D9759D0213A6F36607CC721D6B87FA453D0E82635 +D5695E1B8D43FB421979DCB016E5CA2765235A8148701570D9563168F06C40EA +E2C3813033A5D7441FE2F5A3B451290BCA5D541320D8DE86610389C0D9DB3032 +4F35E3F41F7FCBEC699C2392CC42065233DA1DAC8F01EFD3C68B55FB44300E0B +11954CA5863023430A727D50DFB8D021C3FA1F371DC668BFE9B1CF2E2C93B0CC +107A3BD2986CC84CF28D4940F93FA5BD3D4314B3C4B93CF52BF89AC53466038C +05C0592171D6DB3717525B37D33DC7D4DCE62BC5140AB590C156D658E164D88B +56E6F9CEAE61FBB850C398377A8B3B9B0605595400D89642FD874209635F566E +CD661D7DB1F56AE69F266EE3AE8475A72A79FB407FC26533A22B3EB9B11A123B +76F23B805B496B37CDA7823E39FEA037382CF60E7CE51F6532B87D96246DF48E +DFF837FA25657EC253C20B175686D514DE3EC4C75BA916D2BE7E935DFDA9DE27 +054A0914519B226A7A8453ECAFA803EC3719606C69B27C28B8831608E37AB0AA +60B11750ED869357A65973A96B30ECA2849840ECA56B29812065F4CB66E936CE +0EF228C1CD2E68F237F0AC62A0776E6F2EBC33865E5FE83EFD89FAC4C11F2F85 +E0B96415723A8F20391FE6A514D30057A0913FB3FB117254E73AD81D40CBEFB3 +3B4B742142323FA3C3B562E1EAC34E7FF56F7CDB72907984F5E73CCCCEE37DD3 +ADFC1C309B44756AD5D93FCBE749DACB54473477FBEE8798B973D7E7C4052B91 +189F059DA1B284C7F42F6BB8D95B4067A8141AB8B4CC2F091E6135645CD869F1 +A903EF745677C765D4CCDFD8B568F1339BBEBB63F268A435FE43E20B99E1FAFB +7FCFE79828EFF008C89CD60F2D73FF874F5F00DBCD673759B39B1EC0F1E2AA5C +A952A079E1E45B9DC216ADFADE342458015F5764D7DA28C536176409633C4337 +22F5D89E57354423D8DABF363628E62B818D14C7C8709016D2CD3EBF22608D12 +B5EAD4F2183D20A1D74B6F64989F395AD1F4253B4FADCF44C5206D8DE6AB0A9F +67A9A5FA60EE600B71B912109EADE2541CF8DAE849562C79CC225E96A94B9BDE +472EDE36F8DF14A368A465437978818B4C8EB837A10864912C2C9C3FC2897183 +B0B225E5156CC72A5EFA2F6C2FDABF8C0D2788448D65E6F02604D2D63D3D43A7 +45DDAD53383BE15E76538061CD6523C42AE04A309AF8949EEC96498BD7FC84E0 +ACF4C687D965E78D2A8EA4977311E33C823AC7FC1029291E7A26EB4DB0974703 +86BDB6CD26559D1C29873B6A659B937B96A1F545C8F0E4D6B74CBB6290BECAE7 +173EB9071FE57904EE3DEB4CC00F3E4019EFDC1EAD90B0F8940695805370574F +61D17BD6FC5C9FB8D18DA9DA3404E26A97DC64A8257B75361C9829DB6E453147 +DF8C3D1F0EC964DCD9D577A5116B1418955484541550F31FE244405399F18482 +4744E06EC1D1D83451A8078E3DD3DF939F24A13BE4C74F1033CF940807905AAD +81B0FBB016A6ABB87AF68B306A45E502A5156D0D822E770953A57C1164D26A10 +9947F3956628315A221357E004F62E80A1719218A18EDB5C817F4AE4576E49B0 +D09786B499E6E72C22F7B388B3D2426DE85C619AE7B63260B6F3D9F7389B5B9D +2A9C9BB8FB1B2B95D7C8479149B8F71D794844779E3E75A3B587ECEB8402AFB6 +E5E9868BE0ACB7EF6488A4C772D67DDCD7084560CA43E5BA8F6F2AC2615C55A4 +F4E3D9DB6C3D0C429A3CCF6A7BA17AE2B5DC446FDE3105FBECC25AC56F94455C +5FD01C1F2DDE31AD27950AA807562480E79985DCBC685AB12C8D4DE1C39268FD +D2230CD25505FC28D2CED46EA6CEDC27326B62520977CA9EAF4356A981AB0F7D +6ECC46A2D259E27A0625D1B6B7BB058750DF7E7961AC02510F5B6EE04E45B561 +E9988871D125317E14B83714D18F84E5C4E50BC74E4467777AB55BE7E79E6A34 +DAC730FF609EB5815E8929FB0742BC839A39E9378CB6D5F4CF46F48C321ECCE7 +246AB4E34AEB39829B5EE09B1EF172E8C0FFEB2E655E5FCC51C9DDBD83F855EA +C474A8736927D72421F28DC5199CB64F57A392D2738F84625AEC2D3D6BA583EC +24398D567BF2EC06CEC72976C1AB6B3C31410E8D6B00DDB397C0E357E657D0CC +D61EE7A6DF3277E3D551AC55B34825D09A6F2495A39D4B32FEFF6182802287A4 +868542F933B667468D197BBD57C0E2D8C55B7673C79829358469A3FE856445AC +A1D8FC1A02958FA16F33A2455597C010A1E3526B264DD15CD6313F6CBCDF8B39 +A869B985EED8CEF6824FBD8DD50C04CED7F87DA1797A60C5E8DCED65C1074A2D +AB87621CEAF1864D59B1AF75F5A9128F601362FDCB045942E26D5CA5CCA1987D +3D16E2FDCD4860EC357C5C7C61943C75F27EF6BABA6D1482E9C55F12CF7CF2A9 +13FB2CE66241390A3ED026FCBAE7E568C0AC6E1DF14C0C3E92E696B8F8E9B7E6 +3E6283F537235581D28C2EE4615334D6B5B69A25565F3514D43A141A85B4B1FF +B55204CF730FFED115661513AE690AECDD91791D761A45D69CCBC086D1AA38E2 +780FE896E01C69E46591BA9CDCF208058849432FF49CB298674BA423C1D6CD6A +F7BC99FF5C9B52264D486321F3D1E703E9A9E433A5AEDA8F83954EAB5781EF18 +E08CC1F7D36D1F0256561DB84E0DBA4681990CFB4A9CFA7584BDA40906265D8C +6F9AF6978D929610EBDDAE08DA72021D9AD36682B89B02E385120D3B58213C98 +B0D69DD391C9382CA888C679ED3EB9B52AC7354906F0104D3990F40678B17CCC +CB2C2BC758B1098AA113BA62F11004E1302D6A3AC104CC5B467DFBDD92A14720 +6523BE1A8D74DBFFC7C51921D5588D4524070473397D45BE89DAFB02871BA701 +D455FAA6B79CCFE92DEB18715405D2823867526EFEC419653EB3FBC428592F9E +1DD0CC46FC0E92018032C37E968442AC60C06D49D4F4D92F7DA236C73B01A7EB +F85DE9F84D3A5691C931140EFF12BDABCE7ECD74710D6F3518861A35FC1061EE +B232963B3F0BEDF4EE6BF9C62ECA29A883D89878818276E4A5A520E260FB5780 +56EFDE8757BD405E1BB0B5087824206AFA5FE46559C2274C06F979ACA29B85F5 +85885F14D3BB3F2A6C8C837C41DE5D9B283955159B7F0C9D349CF28F2A577056 +73E627FDF21EEB0E1351CDC979DCC5C686D4C9E96650E4FA70975126E47F2803 +71E1F963484EA5717A0B4B63634F92F6862F44C45992AD1E45B86A2396A0FB90 +96DC4D2FE64193327485E7AAB8D4CAEB340725057E64058F25B597E0D475F3E0 +D76F461E9C7A0811E8EC4075D21B5F9357ECC41C4DF1DD0B9A9E1055B341DA1F +71F73551EC7F6FC65F3D9F53140E618FD0D0ED7D053166500517C3D5C64D1C30 +B41002E7C46E47A7C65EB3AF97E72594C518A0034038946DDCFE3E23B27267DD +B7191C87D5C92B15B71047215D80EFB45A0275641BABEC3940090EF2E3ED1FEE +61436DA107749746B5118B5F4C57B3FEA20864A490BFFA4CFC27C7170082B8A4 +38F9CD97B97EB00D2DF8161335A24F561ECEB4FB6CF5BA98A1725AEBCC5CB1F7 +A93994DE3461A8FF61F2E56C5CA78EF6825A13BB04ABECA8B745DEEE33F77C17 +BA0EB6554C0CD94118FA8F3587D5105CAAD7D3534117B28A278F06A71EC263D7 +EC135192132942A076778D2437F4652FC3F2D1CBA0A87340AA1F3A80CDEA8165 +65D4B535A5EEF86D283956B995C6B0FCAE62AC953A08694BF444F28DA1C82E9C +A1C2D93C8BD16760A91B02B4044AEE9931ED7B94AA019BEAD3E07F283A27E2D2 +C6708BD8A21E85ADB2E2DD7DE392216B7C53B891E16180CDC03DDD8AFB697A00 +9C4B3893DF4E2532EEB11A2955946BB92848A510C516C908501871C51A1A9828 +B41C13CA367D5A2B8E6F2E46F6C8F726DCE90FC2158B83382C7EFF505ADE1C4B +837957293C67DF287C8B2340D731E4495446B5AADC2BF18D3CAB3AEB2B0B8771 +B7BA9939D0BAEA1174C492CE873B6522615E530B9FB90651AD700EFC78B4D4D2 +AF1AC365D58F3956C211A76C5B5D57F356EA4A9D7D7FDC6D246C967D99221C10 +E06B2F3E91005EC0BCC9A85A7D7C8906790CDD8CB5054547EF99B756661D6438 +95DF79E9BE619F569B936D8A84B759AC9A551DE571634BE643B4D346B14ADC19 +A793F80F1E6D56EF46C5AB9676458D15A7A1B69A9484857517A5F51E22F0F31C +29AC65B5B3D05416E763B0D102F50FA386E9317108A182F9448DAC386C8CEC4C +4A2E4950CFE234AEB39A20004EECCD3194408B8748374623A45C5EB8C4CAB000 +EF290AEA38F840066456911FF96A992819AF5EEA35CD76BF2F108FA45DF84B2E +915123DCED78D3C953830F4FDFFE499FF2BD421F9FC06C7B364E6040B5027249 +A19AFFAD51FD58AC604FFACA84F2850431C1CA8FA02D92D6B2899C442A5A981D +B37BBD0F95FB6612CB7D76FE663A99E6BA58A0A2EC4B1E541D96A6C8FBCBAAB6 +98D363D28FF3F3DA83E18BEE1E9E972DFA9D85A6CC5B38314F6AAC8B5CEEF712 +3DC1F6674B508BA0CA2F1D10F41CB6BF581E58F4FF03ACD3DA0F2A1298700C73 +551F9B07B443D1BC5E4EFE77037671FAAF08633A13C303EAE11BC5E7318F8D95 +72760FFA000582EC243DA0A9B677C36481A3E474F5A3D7ABF80CC0315CDF5870 +C595E8F8349D2BA5B47B3F387A73654956A72A8BE169C5D0B120667A01B928DB +90315692D6BE29D6D17FB491A9DECF27C480F283578AD590D4557BDCFFB6BAEF +8136B8116D81A730D638DB6574647F5F1463ABFF37AECD69BE9AD7B87EC13DF7 +B662B6AA178F4EDB8DD0AC194DF463639938A5A26374D1D5735B79C339F7B421 +983E61769C43955C269DACA02134FADD4A03EE61444C2F8DA54D9557145C8244 +96B2B89BE7CBEB6ECC8848D17A70BA8DB8DD6E5B41F5D2917F0497F0F6CAF869 +0596A92D6B28370196094CE7BD850DB4E7A6CE89EA7C92E0C40B31C03651F1D4 +45B1E94E192EADC2A6507C119021E687F2CB6EA298ACBCDFCEED5E4A97080AE3 +2BC98C90EC787CF473F88C935906D0BD17218BAC5C5CBEBA60F0298D4AD1B6F8 +5EC1E6609D09821BD121F361A0D2AE90FBCF7F0C9088B30640149CEBEF18C8C9 +0734DAF11F4928277A4F197E3EFBF17115FC387BDA86A994239C9716711FCD9D +4D78D3CA88145F3CD0304A05C76BABFE324148AA96EBCACE22455CA060310D07 +69E1CF38CFE5F50CF6E6BF687C2500E3DAA62B3FF0C184955E04FC32A6CA464F +42492C4FA45409B5EA00478A21937B0B1072631FD01ABCA6AF3F50DF969F3B5A +C7B9417F7374DE7DC83F2B3D66FAC9E510D5EAA048077AEE3B7942ED0508663E +38C51F5365F8E420A030E8713D457B54F8BF292D59FB3F556ADCEB45DF4D0071 +31943AD8320268AB1F0E9E41C167B865C8A06DF5F7365BE364258FE9318EB501 +E496182B15C6C4BBCDDB7094ED2C21EC501C520B42125CC79B078F0C2F3D497E +077FF92CEEE279D2FF847399E70A9C4D00767155542EE22A0FA45CB0481D3330 +444D7448A966AD16A3D11FC76133074AF52C0A4A4A1BE90C3436EC6C3B42E25A +41DFA8F71A87B059612007C141D6795671F3A1E788724EE04C6EDD8672F04BF1 +B180B3604072520484AE8BE66CA44B67C0831856D10B7DED00AE8F3B1DA1C704 +90BB59A0C9F513CAE4E7E7549429B0275AF422EB548577C286446247F1AE16A3 +C25FD6CA02D74451FDF612CD4E07EBBA6599DB6A9E6D157E7FB615FA653AF274 +4618ADB8B5F8FD83C8F01DAB3A6B7234E6136DF33F27A6DD1E55E7A513EFB425 +B3A0F9ED33760E52C72BE659A6AFF6FA89AB01DA0ACF1D4CC2A0E4DACA3EC7E6 +4E4E10824A8EB84608A5E95A2593A77AC3B48D4B4EFF99AC5E8ECAE12389B1A3 +02E16B7DB5970B85AD4B7DA373F0D51E81DC69EFC45BD40DF4EFFE58142BA8B4 +EF904FFEF935954AFB9BD2041241B1BC8519E238033113629B6246DA4B173E92 +9C882C49928D1BB2A9C024F25D85D78DD6ED27DF9056031052D9279097919A22 +5431C5E693744016124AE1F298C8CFE42A925AD42883914C13F1E40E091803D9 +D140375C5EFCD7AE903A45A531B3FF0D01341A77F5F142BB10E32729BB0C3892 +F3FF9C179F9A45F2054FAF27C47B84E63397C8EA891CD4173431F8F28084D649 +289E46000992DA783622A8DF8F0ECA99B7CD78F3DE7516C10068856ED15BCF2F +BA48D1F4FAAC6003FA121C5611D82187A5E462AD7A7128010CC68202C17DC217 +C7A9CA60D39A737E8FAE822C8963E4EE812214117B779ABC586A2749AC9E0792 +A1437AB869AC036F4846E4AE49CCA926D2D683F66EEBFE6B60E40C0F481F20EF +40953783C0AA5E5AF15279A3D414A11BCD5F7FBC20299DDC4C3039CB756C3DC2 +24122A755512E6E1B82614FA1BA1F145790C3C0C2D3B1495691791A0B3B277F2 +48C388212CA31B9D833A848E62533BED862F5C93831BC0D7DF4A7D89B17B01E6 +8D8315D95C3F4E7BD8C20BB0BA9355DE01DA336E69E76F551238BE8E3FB9AD4A +566DB80360EE9E9232918C6B013EBC5CACDF4E6683D7B48FFDCEEEDC99610E1E +D949844E178CF307F10F868F5484EA844C2DE853809D2019D63084442DC43E51 +68B38119A341ABA48C33E08DA77E617184FC84CD97519824DA3A4990703CC889 +8A859FBE7654F08D93E0C5F6E7249796D482759EF0ECDA75C678B3C8EDB84406 +CDE9B13118B1B756CDFCEA8A19E13DD8C68641F7CC6BE0E8FAB8FF04B95E820A +3A1C90C85F73E35855764A9B8CA5BE4CA0C8C3FC699D2EC01BCA4DC383D3243F +8F825BEC634B3E7506A8D328199ECEDA10FE9EACDE7B649BBCC5D78092427AD9 +825B7654F2E6D76B0E75CCECC577A01679757EECB85C8D3AFE287B147F6A9F87 +48502F4A198BB2BE26153AD81E8354F8B203776FCCB0100A89B425951D1B8F92 +48A26968B74E354BB337EAFFA5397857055B2801E7D7D7C23CF530D4E5A3FB29 +CEECD1AAE86EB828ECC41A6A0A5E89B4FAC2D686EB98ADFC9422773A6F8637D9 +DA64D2A24158D290EEFDF000EFF179080089918D3A502B3837C6167B2F3F6275 +131B545BB3BF3A27D91157033E8A34275B3F9105BD9E948C3774DC0D81015B99 +7BD95D5A6D2E16A229EC56E5288CD3D65277679C4EC2DAFBE68723D83CA4E606 +B0C3D2DD4C2AE6AF43A6F26735142CF5E886349383E91212FEE2C8CD98998B55 +C68F45D0DF8F1DF0471866F337222D20E2DED5A96469048562AF098EA46AA2E0 +0D6FF215EE9AF3ED128A9AC51A4B1CD0D02B3DDE08FC25128C9A440FCFDD220A +80841B03D08C6D13EB000DAD73C64C85DC340DD9221323006A80D3706ECF7E2B +1F58923890D034FFB3636B8CE8BE725389889891825E685D296616D727A89C9B +EFCD87DB5546A990855D71099735224B1D86589C424B5D655C79FA548C96679E +BC7CD17EC3D32F4C61C8619E31924D4E1DFABB55D26591F936B9634CCDA99121 +6DC7F0A516C38A6370EA9789C1A159DF5A0FDE7BB0B3B6BEBDE51DF41A98F712 +9D98F64A9911C43C1D967F23AB0AFD69FDDFFE5A1C2B2B7D6417B9B9F7871F74 +F32EDBAAD84D57CB948EFC9C9BDC9C56847A9C40E1FE1E7768DBD1E6142873F9 +F069429085567AB66B7BE423A7EC9FD2CFF80EC9FD40684C65605D540CD25CD9 +9499AA0E1624F181202EBA794307EB35938452E50F015DEEE493BBEC696F8515 +E991E9AF9A6E84D6010254A43E27D51665E509C8F9D526BC971FC1E59A948E33 +42FC09EC12681682C2FB84DE3FE4ED85DD647659C2426F6227C91873EA1E71C7 +90F1A8B46DFEAA5BE2976854217B5678678213ADBEE8A4222C11ACEACDB1339F +255D42B9616CD67B0D406674C6E3E48CF323DC2B1784FB78A4FF02D5A1D1D5FA +854135EFD4CE3545163013073574D8A504D502134BE30EA125A1A67B982478A8 +039EF2120FB08CD896F4CC8EB9819F5DBF74CEDC0D5D3564AD5A30151D920BE9 +5DB92CA93054D133A88A4E8540A4BD84FC05BE1AF6E6F101F07485442DBFF263 +D0AC098CECF52E0BAB9CBB766E982A849674E4053F0E3DACDB2637D03F900BB4 +C2BA4EAF9599F9F8F6F3FA2A21C96B1A3894090AB7C89BF1F90C5AC9381C998F +8BA03805F04918729E7E1C75FB3283AEFF4EF2AFF444946A08C6FC7545F8C21D +55A6D02C9C7CE37F62C54BBB31CE87AB0578811CFC996BF912809474583F4EAD +94CF4C2C533BA4E10837B4D590E00460DC9B19869D8EA076C6BEB9AC5C7F0930 +6C793353E2BC38AE62B811E5FE9B42CD08612C1010C6D13FB3BBDD6436B1358F +84029389630A47C01CCBE47224478A3797194A5442DC4F0547E58A3E07AA72C7 +19EE53B58A4A961DED5E06B9614A41F04ACD5D82B122D5E537A8884C88A30680 +E7420BB183CB7633FE6492E65F775BC4CD490116D87DB13D315377E4D9D18AA9 +40A2D014E52817F1D25307ABDF2AAEC100F0D61AD0879CAD4C7256A6F2572D5D +4DA5DA57C4282B6A3EDFBCD92193C82B6819EC7A0E097B02F7F00A21F1AAEBE7 +A3E9D49CF87407B56B889FBBBCE311D287C59A2B07520C039A728EF2371F7813 +13188248A5AC5A28D760138CB78F8E98AD1007D3BA6E2AE69412055EAD68A871 +6CFBCCFD033F5115A9540A3E871B6935832BA240B28DEC5FB76CE50C5CBF4E31 +4A0EDBBCCEB01E837B18CF95543236D509062E9258BFD1D9E60B481957D58C3F +B480F16829CB834856A2A46D83686EDB11D99163C96185DFBE698C5FBFD425A6 +9C783E86CF8DE5EE731F7F0DCE571434D9E8B0F75969801D81EF462278192288 +F5E4AA4EB478D42B345965257FAC9F7EE6EAC611698DD3D7DDC247B4EC54431F +E9A9C1E02DFD319644643919DF480D626F8F6C4B870C2410B14FB7D558CF1940 +FC9E4F76A23D4F95D15FFEEA0BC8FFCD59A003689C036BDA1F271E00AFA7D2F4 +5DA5CF2FA4C13E3F7F3CF95DC4D929319233F8CACA302EC0DABF582182FBE2B7 +C8C1E962797B2F78BF0695AD8E3EB83C296D13B40ACBFA7860462B466DE909FD +E59203E41046C9CC546F0AA7DF04FAF9BF7A9270933D8B167D25B884FA9B1424 +BCD8A86D15E8D5BDD2EA983AC7AE11C3A627E1B4C8ABACF1A3A5E5EF35C8D4C8 +DB34B96A9C9FBE4AF511C281DD652BF4B19B8D3286408B2F15B775F539728BF8 +561CD76E989896337FC86461E2AC656CD4FB63CF50B9BE39A2DAC6D19DF94521 +70137125554AE6C3074F92A087E85C326033F43A0EE3AD384E901CF96674547A +109422D4A764FB8E074C0ABA9B9EBBF646B2CF9213303674DA2899B0E7176F71 +1C08C895A205FE2A58F63051244C90CDECAA9EDE48268E9A30EB41F7C7C8B9C3 +286FF7EBCDD8D88D5BB8236C73D275F48CDB393035C7C34CE64BFF822731CB57 +B412DA75BDD8DC89E4006297551EBB8F8DD17DCE29389F17E25F9A8937812993 +709F886D67DFF017CECA614101DEFCEEF27C73C515328B1BFD174595E361AA06 +D9AD9D6BAA92E985B513F344EA9C395BAB1D5DA7F092724DA1A8896B95DB1EDA +54C18AE1124B37F37361E2D4778180D279EACA24D8B0556C8C35AF37D66C9D36 +2B284FEB3C8E119FD40728984FBB5D707A73A4054038326303B2EDCC2B320A95 +9CF9CB7F75850F94E97539D44BCAD3E1B344447D55FE640A8791911E0F6592FF +403FD242FAC2887994709E897E990AE0B90650894F020B2FA8E70561819C3196 +00953A6D08AE930BEE0DD8010786431DEA7A06396DEC4CA387F4ECE353A1F262 +A415164F9FCE5A3AB645F3F1C2492A5D6A806C5E2E0F1A32B4AEF4658F37EC5F +AA5142F698F4B47ACE8E6B9CDB63C66B7415142916176AC37C3FAA05F65EE580 +A47FB2AF726DA0178DFF6507B1E539B8BF06738821D62BD6EED27E377A0773E6 +55A753168E20D89A2F019156EDD5F4F259264F34AD94F3355A0EA1BE155A403A +C2FBCE53095D32237781F869374C555EC2C85F173519D01B4011E66C5A5C460A +345D6A47CD4C7723EFC96D3F87F125EB67171CF21548D17AC5E874AE4DC1EED5 +422FA44AC0A8AE53CA89F843C0C82960D9813E454EEDD02E02FB2945BB83FDFE +69567189255200701787FE407A55DD7F39B9CC018A3DCBB912C0A7069C700870 +63935DABBB3169014C53D2AFCCF8321CE55B76427CBF8A8792DB025C79457E2E +8AC9CE36DC55DA254AC9B584DF22F1166C2D59BF13DE16F609E6E1D02B009D87 +D7787088F93BDCB752F0B33BEFC4C54A01DD0729FAC6ACCC0B581A791ABC8B6B +5B3975C98113C0191F42DC1F16C27A239DFD8824F52E0F52489A13D73FDFB694 +7E5A4AD1DBF2C33BF6C7DD8BCFC9C206D885291F3DADC62B6F85EBF53996997B +38CFFB4B46E596B18F97AE1A2B9D614A460C6DA4FEDCB521C094752E5514C4E0 +A230F6F53A722462EF6C757B7AF73047B65723C118F8FBA5AFEB4C5110F6897C +AF863825C16354255FBDA1A11E032F5CE7938F9876934C8F041FA6B0B28B1475 +C29E7A6F6134E6B7834D250263CF0484300C701AFBB50C9D3819BF272DE9E072 +5355D8BA6CBAF7918783AA5DF2A7E04205166034F08A0B9CAD265100985D711E +C93AF97AAD54C4B62FFA16346354CE7C8E0485AFCDBDB6411CF2A11C945931E8 +1694E072414A1E454DFC2459C38158DE94153A893D27E12CC7AF879C440EF4C1 +B4DB8772520AF9F33FA6AF50F10042C55DA356EB89937479D0D4AE4A50A5CD25 +DF4F1CF780E22D97B61403A3AB0FE8C06A205B78DCBC9F07C1B51BD17A0C15DA +6DDF7CE93671E300D47132008080C78C427E5D20D1FC6DBC6DFB821355F6C024 +5895AAE922E6928304CEB68E29AF7E1DB701F8E3455B367D1EF586D46A452A6D +AE76D390C86F059D5AD4046836E2CC32DAD05BE0764157BF01C8046FCE356D97 +0BF3D50DDD1FB1A4B4F4D8526B253C6107465F766A5A9FF9B25A0A865E724D3F +BD101E3301FE55B7DC49577004F7B413F5DA0DCAE6BDBF74D55340F9ABF01F90 +DADFB4DD03339EC57A1F5844F3EF3F974D01C05051BF2B71452E0B86C16C31DF +12AD5B430F784ACAAAC977B910F9410D4DA78FDDE71866A111060DC04A9B7EE3 +447E8D5E89BAAFB954EED6F5519C8929AB015E1AE23341B3A7E64DCEEAC77792 +BBFF9BAED548B0BEB21B1A20239265A6B9FB0DDCDB9DAAAA93476EC412D8F9DA +717DE5C0409E3B8985B528B517EF4D7DE95EFBDDCFF61B31905CD6919ADF2E99 +326104E3D761CC12B30ADAC02FC95984060002EA64DE673608F2BA4CE7687AF9 +610D825F186B6BFA2A65AB82CD8115DD1077A18DFDBF5A698E094341400EAC99 +E86343F5725B852F9AEB88538B137786C60D3CE62BE0B97217E06115115272F0 +D2969F6664B28073FC63B58B8CC16E845A95028FDC070A874AA86A4E2BC706A2 +C0D28FC06DEB1D82D7E17829A865E948D4E265B6FC039ECD95F6AE1E45DCC7E7 +85EBAFB74BB36B09FDB91E2A7496CA4AD5735FBF2685A1DD6635051DAE86DCBC +FE2C218F64A21F76E60CBC196DCA5B2FC701CBE0EE41CDB25AC717A8573685CB +0275B9F54DC365EF5BEFF71A9B3CA12345AFE1857B21769BCA79F0211944A2C0 +DDAFA93CFDED3FAEBEA72C7FD8BE710D6FE41E403E1DC6CDEBED50F1C034506A +3761225C99674B27596940666C503E7CD5B248F2812B3493C597E69B51290F33 +E63359A56D0BFF41B5731FEAE368434D471411B1DC8A1AACB30E79BA2A4FB832 +45D7D2D45C6207ED7264269C84DFD7735988F8EBF44FD3304F36298C7AF2400E +7F92C81E20C31556C90BDDE6F1260E6D68B25131259675952596E2EC365755E1 +606E5E61FA489CBF883C539F3ECD897484C88F530802A9F3E947BE40F71DBD9A +4F35AA01D1B927C534309B31AF9BC1DE351A23ED1C8823B162A0BCC1DFD8581B +1CFAE0F45CCEC717566D2726835C5BECB4147CB90E1F6BB04956824D435C997D +7CCC8D1F46974559CA1EF0B7FC3234D9EBDBB7709117FD67ED3D905BC8C2F07C +1B38EC0BB305619BA9B0E3B6D234274A8BE43616588DF08BBC60B5DB9D1996E3 +DF4BB78F2B82B798D603C9FD44592B34D371532CF3455AD9EDBFB44D91DB0BFA +0138B7346868AE305FE7EEE0C2916CCF382DD0728F4DF4C45213F72E98D093E3 +2C7DCB222BD91675D581EADD9FD5BC6B4F3CE801CEEC450F737B1093D26A1C91 +CB2958844EB07E3B4B780E51B1B469A19D94264C9A74DB3B67391940EB7BF8F8 +B5708BC044C23DFDC813E70B602F8100E8A0E694F90EEEBCBAE58FA56AF14725 +E3995E5CB8126B6765626621AD4936921822938F70FCE180655F44910C968C65 +59BA9200B9DA68297BE8A802748266B2B5E4B3F7647FD88AD4FB366C4066F66C +01CF96A20F03A8910C553297D1399FA0C19B1DB9BBE40296A49E4564DA6C51C3 +F01AEE882DABB7D33D717C53006BEF8F5A60E0406A7E7326F32C3538E189F268 +C286B3EF5897DA0D83A5B08A98AA6EE4874D6499FDBC0AE9201FDF4B2FFBA028 +68BAF3AF1DBBCAFA7DB513D3862822EE91CA5F54DB0AC5F6417A7CA682051C83 +89E88D28E81D7361D0E946B14EB7A3512C7AE38EA3C067A1C107EC6B0A443456 +8E1BC11C568D091B255748F695DD3314F2B4BCC9F350EE64D44A782B627F9FFC +B9A312B657C7D9495ACE71EABDFFEE67862562C010AE5C851FF518A45AE70152 +FBA327B97D67892FA9506487995554B078C711331156DC39DACA9D7E8171C756 +20F143F1323691F9ECCB5C91B330D0E8D8069EACB692DD7EA0E7389D5CE5E0A5 +E13406703921341390B488BFE6F41A91B37D7CD6E5C1F011D26427C5872F12AA +0CE1DE763037AE40C9AFB488B48A246E064A4AB04DAEA8906B785B43EBA146D2 +BBD1CECEA355FC195197D1D06C2C33A36C9DD4BF5E6B7AE55A67728A31A47B7A +E831E8B6A2E0A07930229C2994F3A00048731069CA4D3336B5FAD3CF91478E7F +FE96B235EE9603B10025B0ED1DD70300765E5550DCF62DF68203FCE7DBBB783B +A2AB2F9A75D96D02FCC5F5BA3ABA0E3D0C65386749972F84E91DC312E31E001B +56E5FF546E219BA46DAD405158B4B865DBC499CF6D715A4081F2B53E958B0448 +1D2AC8E79AFB2F643D59983DA05CEC6D0E3E997028E20D022C743B18DE9BAA76 +A70A117CDB6D100A1AFF652032D4348FC9A3AEFD190FC03100DAF894304BEBA7 +82786B4F50C13A70D9EF0C6B3DE685AE8AC10CE69C823866305F3207C0663955 +612AF91A19C55CCA6ADE1D9E8B8838EB8F7893F15AB5649D77809E18A58398C3 +857375AA5B9C0039784ABA892FBB524D0E932C179BF28C45DE6088E4D4DF8440 +D8C0268B2F0B59F29BBA902790F1020C0BA11586966695EFFE4B14095694B3D7 +BF65A4927ED52817C1CD73C968F13A9F79544918ED02E4C6B9686EC5BC77D108 +4CBC86CD49A1C7112B8E3E6A21FEC000576F732F27FC98BBEADB043188968A9B +76F97835E4380D7BBEDBF4C3B97FF9CBDD06828E95FFE3E11797AEE8787E0B73 +69FBE5212734078A8A3DC378B0C17E2A63962BDF4D97ACC7E2A8085A71C42578 +DB40634AFA3498630BEC9367B5F6F472D2053BEA4A4B84440529C1F1B8695A21 +7E7CD84B9D4F924129F21BA2D1D6F7E27A57CE61292A06DEB73269B47679655D +6B2737942C24ED49366639EDD7EFA5D2D223E52CDEBA17BD19FF47D10F401CAC +EDD9916D5249DD046C459025462E775BAE3143C6004C4A826633446BDABF25D9 +B3B0AEDDF6585A51E49293E05EC35C0AB151464F786A5E87658DBF32F6D0DC28 +748159F30D56C40870F1936638F175D3AD4E8FC61BF9F5E3EFE0E635FAFE9E00 +E7517C54BA553C717FA02B5C7E66056BB68CDCAC43CE0B7B56AA5FD7BBDEDA87 +D8B5238439D589EDCCE7923766CF7D25DBB9FA70BBB088D3899781D7B3045FF2 +96A6FC41A267943125A7C65E949991860A3CDC129D59E4BA56209E7A3FC43FC5 +9F6BBF6F56F075BBEB47D841D0C3D4C6F8BD85F277F6DD732F73DD6697F12C5B +4317BA505B0B46A45E05CB0EE8430F216DFB5B2891F7214641B50604D4070281 +494C635D66AABFEA79E3100A16E6EB31D9C320E34F2EFDDB0237BABD99F3D5ED +2700BB1367DD7ED7BF0F31A87C6FEAF596C1BECAF420A8E59E08C78F1C0529A9 +E81A411599F343F07D7628BDC8B045DB1B260425976C12C80E4D38A24D5D458E +3F55F8D5D0D823A046B8E6ED3BB2DB5707F96B012C1475AFF25A304CE2C23FB8 +E4AC0AD95EBAE53EA8CCD9BBB436676FFB06FE4B779AAED999EE403D239BD728 +B8A2AD327F8DF1FAFC9C621991AA6DD62F8A033264593CB4AAC76A132C32DC02 +E8A762976D03B915DA0552B8D466AEAF8FC57714A81B91C5031F5DFBB2932347 +A75297C2C6BE407D3F1D52AFD4BC1550827A7F56664FF865B548849492EF0BD4 +70F6DBAA26660B1EA63030AFB30A82D8A52AA0F5FE263926783E769D899FC743 +95C0C7E735A3ACCB6B4047B72A72DE0DFB2CDA8019E2AD0E3C368DC4E023187C +86205CD1C53EA3A5C2A14537AC47C94A9E1BFB20B614EC93A2F24B401E9E5963 +1C5811D0CC797E196204DE91D2939992424C47D8E099AAB743C3A467E1ABD791 +8457E75827AC70B67FA0A30882ACB7854DE8D432828A33F1E1A0491D1A4B0EAD +E3F5751600D83565D0984AECFE9E66399F45D8C1B2B7113F960D3BA3851BF1E0 +2C91C149EB0DBAB88279B3B881207FE40969B0A4ADD21E0897F8F775CF9B45A2 +CA439B63BBEB1936836B4F631949E6D3757B822034F385BC97602DE8FE7A64C3 +BA9763995DEE384636E6C23424A2EEF3F7943A5D053735DBC15FA404A704AC74 +9ACE75E95A0351FBADFF4B1642B0216F3FBF94CA131F7782F62A960078E42D4F +B7243A28F99770339E02AD61A0BD4C61183EC999CD24BE87F0D3CEC147157145 +C82797C98842DD196DE1024B30FAFB9B93EDA03CCD8A890EF83423C501808C03 +C89FF69B74AC399604E11BBE039EA7E69E4C66D728755CAAD8B2970FBBAAABF9 +921E23B2864043F1E2CBA4DFDC6C215E944107776289376E5AD409F065DF0187 +2CAD15EBF47DE0481A08BA65CAF4B348F1E6E73523A6E1A34D44D837091A6260 +F217D91DECE903684CFF88A5EC91E458AD3F43DAFA00DE90E4FF42985BCB01D9 +1620879206A13B36193A06C46AD3F75C7E4339BE86B20200E15B07B02C711B06 +0818AFA86416E07BE7B0DAD8AB233CF17FD78334C7B4E2446CF5C643B9D5AAC6 +AB86DFAB1B53FD93C8FC6E34524EF28EA6565D7F9A596E6CBE6D2BF192195627 +67BA09C4B7217EFA08B6BA127E50F4C3953BF64E4E7D2F14E43E5B8558F6C908 +31C93686CFD936FA14F41AF740BB420AD26311BC90B64305D53665FC27B4DB73 +3297517331506937109C56228D771AC2F9C8A3AA1F791A1BC6D0A7DA858C1BAC +A59F28697EAA0DFB6A6353FCE1D07C4D3BE598B04294AFABDBA9971F8A +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +cleartomark +{restore}if +%%EndFont +TeXDict begin 39139632 55387786 1000 600 600 (pl-refcard.dvi) +@start /Fa 197[20 58[{encplmi ReEncodeFont}1 66.4176 +/PLMathItalic8-Italic rf /Fb 78[29 14[33 39[29 35 1[47 +1[38 24 1[30 2[36 40 58 1[33 22 22 36 33 22 33 36 33 +1[36 51[26 45[{encplit ReEncodeFont}22 66.4176 /PLRoman8-Italic +rf /Fc 242[61 13[{encplms ReEncodeFont}1 49.8132 /PLMathSymbols6-Italic +rf /Fd 85[21 47[27 32 1[43 32 34 24 24 24 1[34 30 34 +50 18 32 19 18 34 30 19 27 34 27 34 30 9[61 45 45 1[34 +2[41 1[45 54 3[22 1[47 39 41 1[43 42 45 10[30 30 1[30 +30 30 30 1[18 21 18 44[{encplrm ReEncodeFont}48 49.8132 +/PLRoman6-Regular rf /Fe 12[41 55[36 9[32 5[45 27 3[37 +3[36 40 38[36 43 1[59 1[45 32 32 34 1[45 41 45 68 23 +43 25 23 1[41 25 37 45 36 45 40 16[55 34[27 45[{encplrm ReEncodeFont}32 +66.4176 /PLRoman8-Bold rf /Ff 12[35 55[35 1[35 7[35 5[35 +35 3[35 3[35 35 34[35 35 35 35 35 35 35 35 35 35 35 35 35 35 35 35 35 35 35 35 35 35 35 35 35 35 35 35 35 35 -35 35 35 35 35 2[35 2[35 35 35 1[35 2[35 35 4[35 35 35 -35 35 35 35 35 35 35 1[35 1[35 4[35 35 35 35 35 35 35 -35 35 35 35 35 35 35 35 1[35 35 35 35 35 33[{}85 66.4176 -/PLTT8 rf /Fg 12[57 55[51 9[45 5[64 39 3[53 4[56 37[57 -51 60 1[83 1[64 45 45 47 1[64 57 64 95 32 60 35 32 64 -57 35 53 64 51 64 56 6[70 2[118 1[88 80 64 86 1[78 86 -1[109 69 90 1[43 2[72 75 88 1[81 53[64 12[{}48 99.6264 -/PLBX10 rf /Fh 35 11[35 55[31 1[31 7[28 5[39 24 3[31 -3[31 35 37[35 31 37 1[51 1[39 27 28 28 1[39 35 39 59 -20 37 22 20 39 35 22 31 39 31 39 35 20 8[72 1[53 51 39 -2[48 55 53 1[44 1[36 25 1[55 1[48 54 2[53 6[20 35 4[35 -35 35 35 35 35 20 24 20 2[27 27 20 4[35 20[39 39 12[{}66 -66.4176 /PLR8 rf /Fi 84[76 9[67 38[61 6[54 57 1[76 69 -1[115 38 4[69 1[63 76 61 1[67 11[106 4[94 1[108 6[108 -1[90 69[{}19 119.552 /PLBX10 rf end +35 35 35 35 35 35 35 2[35 2[35 35 35 1[35 2[35 35 4[35 +35 35 35 35 35 35 35 35 35 1[35 1[35 4[35 35 35 35 35 +35 35 35 35 35 35 35 35 35 35 1[35 35 35 35 35 33[{encpltt ReEncodeFont} +85 66.4176 /PLTypewriter8-Regular rf /Fg 12[57 55[51 +9[45 5[64 39 3[53 4[56 37[57 51 60 1[83 1[64 45 45 47 +1[64 57 64 95 32 60 35 32 64 57 35 53 64 51 64 56 6[70 +2[118 1[88 80 64 86 1[78 86 1[109 69 90 1[43 2[72 75 +88 1[81 53[64 12[{encplrm ReEncodeFont}48 99.6264 /PLRoman10-Bold +rf /Fh 35 11[35 55[31 1[31 7[28 5[39 24 3[31 3[31 35 +37[35 31 37 1[51 1[39 27 28 28 1[39 35 39 59 20 37 22 +20 39 35 22 31 39 31 39 35 20 8[72 1[53 51 39 2[48 55 +53 1[44 1[36 25 1[55 1[48 54 2[53 6[20 35 4[35 35 35 +35 1[35 20 24 20 2[27 27 20 4[35 20[39 39 12[{encplrm ReEncodeFont}65 +66.4176 /PLRoman8-Regular rf /Fi 84[76 9[67 38[61 6[54 +57 1[76 69 1[115 38 4[69 1[63 76 61 1[67 11[106 4[94 +1[108 6[108 1[90 69[{encplrm ReEncodeFont}19 119.552 +/PLRoman10-Bold rf end %%EndProlog %%BeginSetup %%Feature: *Resolution 600dpi TeXDict begin %%PaperSize: A4 - + end %%EndSetup %%Page: 1 1 -1 0 bop 16 83 a Fi(Przegl\241d)46 b(p)t(olece\253)g(GNU)f(Emacsa)711 -191 y Fh(\(dla)24 b(w)n(ersji)e(20.3\))0 398 y Fg(Uruc)m(hamianie)36 -b(Emacsa)0 564 y Fh(Ab)n(y)24 b(uruc)n(homi\242)g(GNU)g(Emacsa)g(20,)f -(napisz)h(jego)g(nazw)n(\246:)h Ff(emacs)0 672 y Fh(Ab)n(y)f(w)n -(czyta\242)h(plik)f(do)g(edycji,)f(patrz)h(rozdzia\252)g -Fe(Pliki)f Fh(p)r(oni\273ej.)0 875 y Fg(Opuszczanie)36 -b(Emacsa)0 1041 y Fh(t)n(ymczaso)n(w)n(e)26 b(zatrzymanie)f(Emacsa)492 -b Ff(C-z)0 1120 y Fh(zak)n(o\253czenie)26 b(sesji)d(z)h(Emacsem)629 -b Ff(C-x)36 b(C-c)0 1331 y Fg(Pliki)0 1497 y Fe(w)n(czyta)5 -b(j)22 b Fh(plik)h(do)h(Emacsa)742 b Ff(C-x)36 b(C-f)0 -1576 y Fe(zapisz)23 b Fh(plik)g(na)h(dysk)898 b Ff(C-x)36 -b(C-s)0 1656 y Fh(zapisz)24 b Fe(wszystkie)f Fh(pliki)807 -b Ff(C-x)36 b(s)0 1736 y Fe(wsta)n(w)22 b Fh(za)n(w)n(arto\261\242)j -(innego)f(pliku)g(do)g(bufora)249 b Ff(C-x)36 b(i)0 1816 -y Fh(zamie\253)24 b(plik)f(w)h(buforze)g(na)g(inn)n(y)578 -b Ff(C-x)36 b(C-v)0 1895 y Fh(zapisz)24 b(bufor)f(do)h(pliku)g(z)g(p)r -(o)r(daniem)g(nazwy)267 b Ff(C-x)36 b(C-w)0 1975 y Fh(k)n(on)n(trola)24 -b(w)n(ersji)f(pliku)g(`c)n(hec)n(kin/c)n(hec)n(k)n(out')293 -b Ff(C-x)36 b(C-q)0 2186 y Fg(Uzyskiw)m(anie)h(p)s(omo)s(cy)0 -2351 y Fh(Napisz)20 b Ff(C-h)h Fh(\(lub)g Ff(F1)p Fh(\))g(i)f(p)r -(ost\246puj)i(w)n(ed\252ug)f(dalszyc)n(h)g(instruk)n(cji.)e(Je\261li)0 +TeXDict begin 1 0 bop 16 83 a Fi(Przegl\241d)46 b(p)t(olece\253)g(GNU)f +(Emacsa)738 191 y Fh(\(dla)24 b(w)n(ersji)f(22\))0 398 +y Fg(Uruc)m(hamianie)36 b(Emacsa)0 564 y Fh(Ab)n(y)24 +b(uruc)n(homi\242)g(GNU)g(Emacsa)g(22,)f(napisz)h(jego)g(nazw)n(\246:)h +Ff(emacs)0 672 y Fh(Ab)n(y)f(w)n(czyta\242)h(plik)f(do)g(edycji,)f +(patrz)h(rozdzia\252)g Fe(Pliki)f Fh(p)r(oni\273ej.)0 +875 y Fg(Opuszczanie)36 b(Emacsa)0 1041 y Fh(t)n(ymczaso)n(w)n(e)26 +b(zatrzymanie)f(Emacsa)492 b Ff(C-z)0 1120 y Fh(zak)n(o\253czenie)26 +b(sesji)d(z)h(Emacsem)629 b Ff(C-x)36 b(C-c)0 1331 y +Fg(Pliki)0 1497 y Fe(w)n(czyta)5 b(j)22 b Fh(plik)h(do)h(Emacsa)742 +b Ff(C-x)36 b(C-f)0 1576 y Fe(zapisz)23 b Fh(plik)g(na)h(dysk)898 +b Ff(C-x)36 b(C-s)0 1656 y Fh(zapisz)24 b Fe(wszystkie)f +Fh(pliki)807 b Ff(C-x)36 b(s)0 1736 y Fe(wsta)n(w)22 +b Fh(za)n(w)n(arto\261\242)j(innego)f(pliku)g(do)g(bufora)249 +b Ff(C-x)36 b(i)0 1816 y Fh(zamie\253)24 b(plik)f(w)h(buforze)g(na)g +(inn)n(y)578 b Ff(C-x)36 b(C-v)0 1895 y Fh(zapisz)24 +b(bufor)f(do)h(pliku)g(z)g(p)r(o)r(daniem)g(nazwy)267 +b Ff(C-x)36 b(C-w)0 1975 y Fh(k)n(on)n(trola)24 b(w)n(ersji)f(pliku)g +(`c)n(hec)n(kin/c)n(hec)n(k)n(out')293 b Ff(C-x)36 b(C-q)0 +2186 y Fg(Uzyskiw)m(anie)h(p)s(omo)s(cy)0 2351 y Fh(Napisz)20 +b Ff(C-h)h Fh(\(lub)g Ff(F1)p Fh(\))g(i)f(p)r(ost\246puj)i(w)n +(ed\252ug)f(dalszyc)n(h)g(instruk)n(cji.)e(Je\261li)0 2431 y(jeste\261)d(p)r(o)r(cz\241tkuj\241cym)i(u\273ytk)n(o)n(wnikiem,) f(napisz)f Ff(C-u)37 b(C-h)f(t)f(Polish)0 2511 y Fh(ab)n(y)24 b(wyw)n(o\252a\242)h Fe(samouczek)e Fh(Emacsa)h(p)r(o)g(p)r(olsku.)0 @@ -2458,9 +3712,9 @@ y Fh(w)n(czyta)t(j)25 b(plik)e(wg)h(aktualnej)g(za)n(w)n(arto\261ci)h (na)71 3904 y(dysku)1029 b Ff(M-x)36 b(revert-buffer)0 3984 y Fh(up)r(orz\241dkuj)25 b(za\261miecon)n(y)f(ekran)602 -b Ff(C-l)5 4758 y Fd(c)-11 4760 y Fc(\015)20 b Fd(1999)j(F)-5 +b Ff(C-l)5 4758 y Fd(c)-11 4760 y Fc(\015)20 b Fd(2006)j(F)-5 b(ree)21 b(Soft)n(w)n(are)i(F)-5 b(oundation,)20 b(Inc.)g(P)n -(ermissions)h(on)g(bac)n(k.)g(V)-5 b(ersion)21 b(1.1)2196 +(ermissions)h(on)g(bac)n(k.)g(V)-5 b(ersion)21 b(1.2)2196 83 y Fg(Szuk)-6 b(anie)36 b(przyrosto)m(w)m(e)2196 249 y Fh(szuk)l(a)t(j)24 b(wprz\363)r(d/wstecz)i(\()p Ff(C-f)e Fh(ab)n(y)h(zak)n(o\253czy\242\))188 b Ff(C-s/C-r)2196 @@ -2474,11 +3728,11 @@ (e)602 b Ff(RET)2196 918 y Fh(an)n(uluj)24 b(rezultat)g(ostatniej)h(p)r (opra)n(wki)460 b Ff(DEL)2196 998 y Fh(przerwij)23 b(szuk)l(anie)982 b Ff(C-g)2196 1106 y Fh(P)n(ono)n(wne)25 b Ff(C-s)p Fh(/)p -Ff(C-r)p Fh(,)g(p)r(o)n(wtarza)g(szuk)l(anie)g(wprz\363)r(d/wstecz.) -2196 1313 y Fg(Przemieszczanie)37 b(kursora)2196 1478 -y Fe(przemie\261\242)27 b(kursor)751 b(wstecz)71 b(wprz\363)r(d)2196 -1583 y Fh(o)24 b(znak)1154 b Ff(C-b)198 b(C-f)2196 1663 -y Fh(o)24 b(s\252o)n(w)n(o)1127 b Ff(M-b)198 b(M-f)2196 +Ff(C-r)g Fh(p)r(o)n(wtarza)g(szuk)l(anie)g(wprz\363)r(d/wstecz.)2196 +1313 y Fg(Przemieszczanie)37 b(kursora)2196 1478 y Fe(przemie\261\242) +27 b(kursor)751 b(wstecz)71 b(wprz\363)r(d)2196 1583 +y Fh(o)24 b(znak)1154 b Ff(C-b)198 b(C-f)2196 1663 y +Fh(o)24 b(s\252o)n(w)n(o)1127 b Ff(M-b)198 b(M-f)2196 1742 y Fh(o)24 b(lini\246)f(wy\273ej/ni\273ej)793 b Ff(C-p)198 b(C-n)2196 1822 y Fh(na)24 b(p)r(o)r(cz\241tek/k)n(oniec)j(linii)615 b Ff(C-a)198 b(C-e)2196 1902 y Fh(o)24 b(zdanie)1101 @@ -2510,19 +3764,20 @@ 3903 y Fh(wsta)n(w)24 b(ostatnio)h(sk)l(aso)n(w)n(an)n(y)g(obiekt)497 b Ff(C-y)2196 3985 y Fh(zamie\253)24 b(wsta)n(wion)n(y)h(obiekt)f(z)g (uprzednio)2267 4064 y(sk)l(aso)n(w)n(an)n(ym)1066 b -Ff(M-y)2040 6050 y Fh(1)p eop +Ff(M-y)2040 6050 y Fh(1)p eop end %%Page: 2 2 -2 1 bop 0 83 a Fg(Zaznaczanie)0 249 y Fh(wsta)n(w)24 +TeXDict begin 2 1 bop 0 83 a Fg(Zaznaczanie)0 249 y Fh(wsta)n(w)24 b(znacznik)h(w)f(p)r(ozycji)g(kursora)463 b Ff(C-@)36 b Fh(or)f Ff(C-SPC)0 328 y Fh(zamie\253)24 b(p)r(ozycje)h(kursora)e(i)h (znacznik)l(a)428 b Ff(C-x)36 b(C-x)0 437 y Fh(zaznacz)26 -b(s\252o)n(w)n(o)1083 b Ff(M-@)0 516 y Fh(zaznacz)26 -b(ak)l(apit)1063 b Ff(M-h)0 596 y Fh(zaznacz)26 b(stron\246)1064 -b Ff(C-x)36 b(C-p)0 676 y Fh(zaznacz)26 b(s-wyra\273enie)897 -b Ff(C-M-@)0 755 y Fh(zaznacz)26 b(funk)n(cj\246)1033 -b Ff(C-M-h)0 835 y Fh(zaznacz)26 b(ca\252y)e(bufor)938 -b Ff(C-x)36 b(h)0 1046 y Fg(Zamiana)h(z)h(zap)m(ytaniem)0 -1211 y Fh(zamiana)24 b(tekstu)h(w)f(trybie)g(in)n(terak)n(cyjn)n(ym)302 +b(s\252o)n(w)n(o)d(p)r(o)h Fb(ar)l(g)30 b Fh(s\252\363)n(w)699 +b Ff(M-@)0 516 y Fh(zaznacz)26 b(ak)l(apit)1063 b Ff(M-h)0 +596 y Fh(zaznacz)26 b(stron\246)1064 b Ff(C-x)36 b(C-p)0 +676 y Fh(zaznacz)26 b(s-wyra\273enie)897 b Ff(C-M-@)0 +755 y Fh(zaznacz)26 b(funk)n(cj\246)1033 b Ff(C-M-h)0 +835 y Fh(zaznacz)26 b(ca\252y)e(bufor)938 b Ff(C-x)36 +b(h)0 1046 y Fg(Zamiana)h(z)h(zap)m(ytaniem)0 1211 y +Fh(zamiana)24 b(tekstu)h(w)f(trybie)g(in)n(terak)n(cyjn)n(ym)302 b Ff(M-\045)0 1291 y Fh(z)24 b(u\273yciem)g(wyra\273e\253)h(regularn)n (yc)n(h)549 b Ff(C-M-\045)0 1399 y Fh(Odp)r(o)n(wiedzi)24 b(w)g(in)n(terak)n(cyjn)n(ym)g(trybie)g(zamian)n(y:)0 @@ -2609,10 +3864,10 @@ (ona\242)i(p)r(olecenie,)g(kt\363re)2196 3622 y(ostatnio)h(u\273yw)n (a\252o)f(minibufora.)e(Napisz)h Ff(F10)i Fh(ab)n(y)f(uakt)n(ywni\242)g (men)n(u)2196 3701 y(w)f(minibuforze.)2040 6050 y(2)p -eop +eop end %%Page: 3 3 -3 2 bop 16 83 a Fi(Przegl\241d)46 b(p)t(olece\253)g(GNU)f(Emacsa)0 -325 y Fg(Bufory)0 491 y Fh(wybierz)24 b(inn)n(y)g(bufor)930 +TeXDict begin 3 2 bop 16 83 a Fi(Przegl\241d)46 b(p)t(olece\253)g(GNU)f +(Emacsa)0 325 y Fg(Bufory)0 491 y Fh(wybierz)24 b(inn)n(y)g(bufor)930 b Ff(C-x)36 b(b)0 570 y Fh(p)r(ok)l(a\273)25 b(spis)e(wszystkic)n(h)i (bufor\363)n(w)574 b Ff(C-x)36 b(C-b)0 650 y Fh(sk)l(asuj)24 b(bufor)1139 b Ff(C-x)36 b(k)0 861 y Fg(Przesta)m(wianie)0 @@ -2723,16 +3978,16 @@ (olecenie)233 b Ff(M-x)36 b(name-last-kbd-macro)2196 4670 y Fh(wpisz)23 b(do)i(bufora)e(nazw)n(ane)2267 4749 y(makro)g(Lisp)r(o)n(w)n(e)713 b Ff(M-x)36 b(insert-kbd-macro)2040 -6050 y Fh(3)p eop +6050 y Fh(3)p eop end %%Page: 4 4 -4 3 bop 0 83 a Fg(Info)0 249 y Fh(w)n(ejd\271)24 b(w)g(tryb)f(czytania) -j(dokumen)n(tacji)f(Info)247 b Ff(C-h)36 b(i)0 328 y -Fh(wyszuk)l(a)t(j)24 b(p)r(o)r(dan\241)h(funk)n(cj\246)f(lub)g -(zmienn\241)g(w)g(Info)117 b Ff(C-h)36 b(C-i)0 437 y -Fh(P)n(oruszanie)24 b(si\246)g(w)f(obr\246bie)h(w)n(\246z\252a)g(Info:) -71 545 y(przegl\241da)t(j)g(do)g(przo)r(du)786 b Ff(SPC)71 -625 y Fh(przegl\241da)t(j)24 b(do)g(t)n(y\252u)874 b -Ff(DEL)71 704 y Fh(na)24 b(p)r(o)r(cz\241tek)i(w)n(\246z\252a)876 +TeXDict begin 4 3 bop 0 83 a Fg(Info)0 249 y Fh(w)n(ejd\271)24 +b(w)g(tryb)f(czytania)j(dokumen)n(tacji)f(Info)247 b +Ff(C-h)36 b(i)0 328 y Fh(wyszuk)l(a)t(j)24 b(p)r(o)r(dan\241)h(funk)n +(cj\246)f(lub)g(zmienn\241)g(w)g(Info)117 b Ff(C-h)36 +b(S)0 437 y Fh(P)n(oruszanie)24 b(si\246)g(w)f(obr\246bie)h(w)n +(\246z\252a)g(Info:)71 545 y(przegl\241da)t(j)g(do)g(przo)r(du)786 +b Ff(SPC)71 625 y Fh(przegl\241da)t(j)24 b(do)g(t)n(y\252u)874 +b Ff(DEL)71 704 y Fh(na)24 b(p)r(o)r(cz\241tek)i(w)n(\246z\252a)876 b Ff(.)35 b Fh(\(kropk)l(a\))0 813 y(P)n(oruszanie)24 b(si\246)g(p)r(omi\246dzy)g(w)n(\246z\252ami:)71 921 y Fe(nast\246pn)n(y)f Fh(w)n(\246ze\252)934 b Ff(n)71 @@ -2749,36 +4004,37 @@ 762 b Ff(d)71 1640 y Fh(wybierz)23 b(w)n(\246ze\252)i(p)r(o)r(da)t (j\241c)f(jego)g(nazw)n(\246)389 b Ff(g)0 1748 y Fh(P)n(ozosta\252e)25 b(p)r(olecenia:)71 1856 y(wyw)n(o\252a)t(j)e Fe(samouczek)g -Fh(Info)638 b Ff(h)71 1936 y Fe(zak)n(o\253cz)23 b Fh(Info)1021 -b Ff(q)71 2017 y Fh(wyszukuj)24 b(w)f(w)n(\246z\252ac)n(h)i(tekst)g -(zgo)r(dn)n(y)71 2097 y(z)e(p)r(o)r(dan)n(ym)i(wyra\273eniem)f -(regularn)n(ym)341 b Ff(M-s)0 2308 y Fg(Dired)37 b({)i(edytor)f(k)-6 -b(atalog\363)m(w)0 2474 y Fh(wyw)n(o\252anie)24 b(edytora)h(k)l -(atalog\363)n(w)605 b Ff(C-x)36 b(d)0 2553 y Fh(usta)n(w)24 -b(\015ag\246)h(`D')e(\(do)h(usuni\246cia\))h(na)f(pliku)315 -b Ff(d)0 2633 y Fh(usta)n(w)24 b(\015ag\246)h(`D')e(na)h(plik)l(ac)n(h) -g(zapaso)n(wyc)n(h)333 b Ff(~)0 2713 y Fh(zdejmij)23 -b(\015ag\246)i(`D')d(z)i(pliku)773 b Ff(u)0 2792 y Fh(usu\253)24 -b(pliki)f(oznaczone)j(\015ag\241)f(`D')587 b Ff(x)0 2872 -y Fh(uaktualnij)24 b(za)n(w)n(arto\261\242)h(bufora)654 -b Ff(g)0 2953 y Fh(w)n(czyta)t(j)25 b(plik)e(wsk)l(azyw)n(an)n(y)i -(przez)g(kursor)e(do)71 3033 y(bufora)1242 b Ff(f)0 3115 +Fh(Info)638 b Ff(h)71 1936 y Fh(wyszuk)l(a)t(j)24 b(zagadnienie)h(w)f +(indeksac)n(h)384 b Ff(i)71 2017 y Fh(wyszukuj)24 b(w)f(w)n +(\246z\252ac)n(h)i(tekst)g(zgo)r(dn)n(y)71 2097 y(z)e(p)r(o)r(dan)n(ym) +i(wyra\273eniem)f(regularn)n(ym)341 b Ff(s)71 2177 y +Fe(zak)n(o\253cz)23 b Fh(Info)1021 b Ff(q)0 2388 y Fg(Dired)37 +b({)i(edytor)f(k)-6 b(atalog\363)m(w)0 2553 y Fh(wyw)n(o\252anie)24 +b(edytora)h(k)l(atalog\363)n(w)605 b Ff(C-x)36 b(d)0 +2633 y Fh(usta)n(w)24 b(\015ag\246)h(`D')e(\(do)h(usuni\246cia\))h(na)f +(pliku)315 b Ff(d)0 2713 y Fh(usta)n(w)24 b(\015ag\246)h(`D')e(na)h +(plik)l(ac)n(h)g(zapaso)n(wyc)n(h)333 b Ff(~)0 2792 y +Fh(zdejmij)23 b(\015ag\246)i(`D')d(z)i(pliku)773 b Ff(u)0 +2872 y Fh(usu\253)24 b(pliki)f(oznaczone)j(\015ag\241)f(`D')587 +b Ff(x)0 2952 y Fh(uaktualnij)24 b(za)n(w)n(arto\261\242)h(bufora)654 +b Ff(g)0 3033 y Fh(w)n(czyta)t(j)25 b(plik)e(wsk)l(azyw)n(an)n(y)i +(przez)g(kursor)e(do)71 3113 y(bufora)1242 b Ff(f)0 3194 y Fh(prze\252\241cz)25 b(mi\246dzy)f(p)r(orz\241dkiem)g(alfab)r(et)n -(yczn)n(ym)71 3194 y(a)f(p)r(orz\241dkiem)i(w)n(ed\252ug)f(dat)n(y)h(i) -e(czasu)71 3274 y(p)r(o)n(wstania)h(pliku)952 b Ff(s)0 -3384 y Fh(wybierz)24 b(z)g(bie\273\241cego)h(k)l(atalogu)h(i)d(jego)71 -3464 y(p)r(o)r(dk)l(atalog\363)n(w)j(wszystkie)e(pliki,)e(kt\363re)71 -3543 y(za)n(wiera)t(j\241)h(tekst)i(zgo)r(dn)n(y)g(z)f(p)r(o)r(dan)n -(ym)71 3623 y(wyra\273eniem)g(regularn)n(ym)459 b Ff(M-x)36 -b(find-grep-dired)0 3834 y Fg(P)m(olecenia)29 b(dot)m(ycz\241ce)h -(j\246zyk)-6 b(a)31 b(Emacs)g(Lisp)0 3999 y Fh(oblicz)24 +(yczn)n(ym)71 3274 y(a)f(p)r(orz\241dkiem)i(w)n(ed\252ug)f(dat)n(y)h(i) +e(czasu)71 3354 y(p)r(o)n(wstania)h(pliku)952 b Ff(s)0 +3464 y Fh(wybierz)24 b(z)g(bie\273\241cego)h(k)l(atalogu)h(i)d(jego)71 +3543 y(p)r(o)r(dk)l(atalog\363)n(w)j(wszystkie)e(pliki,)e(kt\363re)71 +3623 y(za)n(wiera)t(j\241)h(tekst)i(zgo)r(dn)n(y)g(z)f(p)r(o)r(dan)n +(ym)71 3703 y(wyra\273eniem)g(regularn)n(ym)459 b Ff(M-x)36 +b(find-grep-dired)0 3914 y Fg(P)m(olecenia)29 b(dot)m(ycz\241ce)h +(j\246zyk)-6 b(a)31 b(Emacs)g(Lisp)0 4079 y Fh(oblicz)24 b Fe(s-wyra\273enie)f Fh(przed)h(kursorem)398 b Ff(C-x)36 -b(C-e)0 4079 y Fh(oblicz)24 b(akt)n(ywn\241)h Fe(defun)830 -b Ff(C-M-x)0 4159 y Fh(oblicz)24 b(s-wyra\273enia)g(w)f -Fe(obszarze)322 b Ff(M-x)36 b(eval-region)0 4240 y Fh(w)n(czyta)t(j)25 -b Fe(s-wyra\273enie)e Fh(i)g(oblicz)h(je)71 4320 y(w)f(minibuforze)1003 -b Ff(M-:)0 4401 y Fh(w)n(czyta)t(j)25 b(bibliotek)n(\246)f(z)g(k)l -(atalogu)71 4481 y(systemo)n(w)n(ego)816 b Ff(M-x)36 +b(C-e)0 4159 y Fh(oblicz)24 b(akt)n(ywn\241)h Fe(defun)830 +b Ff(C-M-x)0 4239 y Fh(oblicz)24 b(s-wyra\273enia)g(w)f +Fe(obszarze)322 b Ff(M-x)36 b(eval-region)0 4320 y Fh(w)n(czyta)t(j)25 +b Fe(s-wyra\273enie)e Fh(i)g(oblicz)h(je)71 4400 y(w)f(minibuforze)1003 +b Ff(M-:)0 4481 y Fh(w)n(czyta)t(j)25 b(bibliotek)n(\246)f(z)g(k)l +(atalogu)71 4561 y(systemo)n(w)n(ego)816 b Ff(M-x)36 b(load-library)2196 83 y Fg(Proste)i(mo)s(dy\014k)-6 b(acje)2196 249 y Fh(mo)r(dy\014k)n(o)n(w)n(anie)25 b(w)n(arto\261ci)f (zmienn)n(yc)n(h)2267 328 y(i)f(czcionek)911 b Ff(M-x)36 @@ -2805,21 +4061,22 @@ 2196 2381 y(gumen)n(t)n(y)35 b(w)e(trybie)h(in)n(terak)n(cyjn)n(ym.)g (Szczeg\363\252o)n(wy)h(opis)f(uzysk)l(asz)2196 2461 y(przez)24 b(wyw)n(o\252anie)h Ff(C-h)36 b(f)f(interactive)p -Fh(.)2489 3646 y Fd(Cop)n(yrigh)n(t)2792 3644 y(c)2775 -3646 y Fc(\015)21 b Fd(1999)i(F)-5 b(ree)21 b(Soft)n(w)n(are)i(F)-5 -b(oundation,)20 b(Inc.)2522 3710 y(W)-5 b(ersja)22 b(1.1)f(dla)f(GNU)g -(Emacsa)i(20.3,)f(st)n(ycze\253)h(1999)2845 3774 y(pro)s(jekt)g -(Stephen)e(Gildea)2813 3838 y(t\252umaczenie)g(W\252o)r(dek)h(Bzyl)2196 -3930 y(P)n(ermission)i(is)h(gran)n(ted)g(to)g(mak)n(e)g(and)f +Fh(.)2489 3610 y Fd(Cop)n(yrigh)n(t)2792 3608 y(c)2775 +3610 y Fc(\015)21 b Fd(2006)i(F)-5 b(ree)21 b(Soft)n(w)n(are)i(F)-5 +b(oundation,)20 b(Inc.)2533 3674 y(W)-5 b(ersja)21 b(1.2)h(dla)e(GNU)g +(Emacsa)i(22,)f(czerwiec)h(2006)2845 3738 y(pro)s(jekt)g(Stephen)e +(Gildea)2813 3802 y(t\252umaczenie)g(W\252o)r(dek)h(Bzyl)2196 +3894 y(P)n(ermission)i(is)h(gran)n(ted)g(to)g(mak)n(e)g(and)f (distribute)f(copies)i(of)g(this)e(card)i(pro)n(vi-)2196 -3994 y(ded)c(the)h(cop)n(yrigh)n(t)g(notice)g(and)f(this)g(p)r +3958 y(ded)c(the)h(cop)n(yrigh)n(t)g(notice)g(and)f(this)g(p)r (ermission)g(notice)g(are)i(preserv)n(ed)f(on)g(all)2196 -4058 y(copies.)2196 4150 y(F)-5 b(or)21 b(copies)g(of)g(the)g(GNU)e -(Emacs)i(man)n(ual,)f(write)h(to)g(the)f(F)-5 b(ree)22 -b(Soft)n(w)n(are)g(F)-5 b(oun-)2196 4214 y(dation,)20 -b(Inc.,)g(59)h(T)-5 b(emple)21 b(Place,)g(Suite)e(330,)j(Boston,)f(MA)g -(02111-1307)k(USA)2040 6050 y Fh(4)p eop +4022 y(copies.)2196 4114 y(F)-5 b(or)27 b(copies)f(of)h(the)f(GNU)f +(Emacs)i(man)n(ual,)f(write)g(to)g(the)g(F)-5 b(ree)27 +b(Soft)n(w)n(are)h(F)-5 b(o-)2196 4178 y(undation,)20 +b(Inc.,)h(51)i(F)-5 b(ranklin)20 b(Street,)i(Fifth)f(Flo)r(or,)g +(Boston,)i(MA)e(02110-1301)2196 4241 y(USA)2040 6050 +y Fh(4)p eop end %%Trailer -end + userdict /end-hook known{end-hook}if %%EOF diff -r bdc1386b2827 -r 138027c8c982 etc/pl-refcard.tex --- a/etc/pl-refcard.tex Fri Jun 16 13:22:32 2006 +0000 +++ b/etc/pl-refcard.tex Sat Jun 17 20:57:37 2006 +0000 @@ -73,7 +73,7 @@ % If there were room, it would be nice to see a section on Dired. -\def\versionnumber{1.1} +\def\versionnumber{1.2} \def\year{2006} \def\shortcopyrightnotice{\vskip 1ex plus 2 fill @@ -83,8 +83,8 @@ \def\copyrightnotice{ \vskip 1ex plus 2 fill\begingroup\small \centerline{Copyright \copyright\ \year\ Free Software Foundation, Inc.} -\centerline{Wersja \versionnumber{} dla GNU Emacsa 20.3, - stycze/n 1999} +\centerline{Wersja \versionnumber{} dla GNU Emacsa 22, + czerwiec 2006} \centerline{projekt Stephen Gildea} \centerline{t/lumaczenie W/lodek Bzyl} @@ -311,12 +311,12 @@ %\title{GNU Emacs Reference Card} \title{Przegl/ad polece/n GNU Emacsa} -\centerline{(dla wersji 20.3)} +\centerline{(dla wersji 22)} \section{Uruchamianie Emacsa} %To enter GNU Emacs 20, just type its name: \kbd{emacs} -Aby uruchomi/c GNU Emacsa 20, napisz jego nazw/e: \kbd{emacs} +Aby uruchomi/c GNU Emacsa 22, napisz jego nazw/e: \kbd{emacs} %To read in a file to edit, see Files, below. Aby wczyta/c plik do edycji, patrz rozdzia/l {\bf Pliki} poni/zej. @@ -409,7 +409,7 @@ %Use \kbd{C-s} or \kbd{C-r} again to repeat the search in either direction. %If Emacs is still searching, \kbd{C-g} cancels only the part not done. -Ponowne \kbd{C-s}//\kbd{C-r}, powtarza szukanie wprz/od//wstecz. +Ponowne \kbd{C-s}//\kbd{C-r} powtarza szukanie wprz/od//wstecz. %If Emacs is still searching, \kbd{C-g} cancels only the part not done. % Patrz wyja/snienie powy/zej. @@ -496,7 +496,7 @@ %\key{mark {\bf sexp}}{C-M-@} %\key{mark {\bf function}}{C-M-h} %\key{mark entire {\bf buffer}}{C-x h} -\key{zaznacz s/lowo}{M-@} +\key{zaznacz s/lowo po {\it arg\/} s/l/ow}{M-@} \key{zaznacz akapit}{M-h} \key{zaznacz stron/e}{C-x C-p} \key{zaznacz s-wyra/zenie}{C-M-@} @@ -854,9 +854,9 @@ \section{Info} %\key{enter the Info documentation reader}{C-h i} -%\key{find specified function or variable in Info}{C-h C-i} +%\key{find specified function or variable in Info}{C-h S} \key{wejd/x w tryb czytania dokumentacji Info}{C-h i} -\key{wyszukaj podan/a funkcj/e lub zmienn/a w Info}{C-h C-i} +\key{wyszukaj podan/a funkcj/e lub zmienn/a w Info}{C-h S} \beginindentedkeys %Moving within a node: diff -r bdc1386b2827 -r 138027c8c982 etc/yow.lines Binary file etc/yow.lines has changed diff -r bdc1386b2827 -r 138027c8c982 lib-src/ChangeLog --- a/lib-src/ChangeLog Fri Jun 16 13:22:32 2006 +0000 +++ b/lib-src/ChangeLog Sat Jun 17 20:57:37 2006 +0000 @@ -1,3 +1,12 @@ +2006-06-09 Eli Zaretskii + + * yow.c: Remove file. + + * makefile.w32-in ($(BLD)/yow.$(O)): Remove target. + + * Makefile.in (UTILITIES): Remove yow${EXEEXT}. + yow${EXEEXT}: Remove target. + 2006-06-04 Masatake YAMATO * ebrowse.c (main): Exit with EXIT_FAILURE if BROWSE file diff -r bdc1386b2827 -r 138027c8c982 lib-src/Makefile.in --- a/lib-src/Makefile.in Fri Jun 16 13:22:32 2006 +0000 +++ b/lib-src/Makefile.in Sat Jun 17 20:57:37 2006 +0000 @@ -107,7 +107,7 @@ # Things that Emacs runs internally, or during the build process, # which should not be installed in bindir. UTILITIES= profile${EXEEXT} digest-doc${EXEEXT} sorted-doc${EXEEXT} movemail${EXEEXT} cvtmail${EXEEXT} fakemail${EXEEXT} \ - yow${EXEEXT} hexl${EXEEXT} update-game-score${EXEEXT} + hexl${EXEEXT} update-game-score${EXEEXT} DONT_INSTALL= test-distrib${EXEEXT} make-docfile${EXEEXT} @@ -449,9 +449,6 @@ fakemail${EXEEXT}: ${srcdir}/fakemail.c ../src/config.h $(CC) ${ALL_CFLAGS} ${srcdir}/fakemail.c $(LOADLIBES) -o fakemail -yow${EXEEXT}: ${srcdir}/yow.c ../src/epaths.h - $(CC) ${ALL_CFLAGS} ${srcdir}/yow.c $(LOADLIBES) -o yow - emacsclient${EXEEXT}: ${srcdir}/emacsclient.c ../src/config.h $(GETOPTDEPS) $(CC) ${ALL_CFLAGS} ${srcdir}/emacsclient.c $(GETOPTOBJS) \ -DVERSION="\"${version}\"" \ diff -r bdc1386b2827 -r 138027c8c982 lib-src/makefile.w32-in --- a/lib-src/makefile.w32-in Fri Jun 16 13:22:32 2006 +0000 +++ b/lib-src/makefile.w32-in Sat Jun 17 20:57:37 2006 +0000 @@ -120,7 +120,6 @@ # # don't know what to do with these yet... # -# $(BLD)/yow.exe: $(BLD)/yow.$(O) # $(BLD)/emacstool.exe: $(BLD)/emacstool.$(O) # $(BLD)/server.exe: $(BLD)/server.$(O) # $(BLD)/cvtmail.exe: $(BLD)/cvtmail.$(O) @@ -458,7 +457,3 @@ $(EMACS_ROOT)/src/s/ms-w32.h \ $(EMACS_ROOT)/src/m/intel386.h \ $(EMACS_ROOT)/lib-src/../src/config.h - -$(BLD)/yow.$(O) : \ - $(SRC)/yow.c \ - $(EMACS_ROOT)/lib-src/../src/paths.h diff -r bdc1386b2827 -r 138027c8c982 lib-src/yow.c --- a/lib-src/yow.c Fri Jun 16 13:22:32 2006 +0000 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,185 +0,0 @@ -/* - * yow.c - * - * Print a quotation from Zippy the Pinhead. - * Qux March 6, 1986 - * - * This file is in the public domain because the author published it - * with no copyright notice before the US signed the Bern Convention. - * - * With dynamic memory allocation. - */ - -#ifdef HAVE_CONFIG_H -#include -#endif - -#include -#include -#ifdef TIME_WITH_SYS_TIME -#include -#include -#else -#ifdef HAVE_SYS_TIME_H -#include -#else -#include -#endif -#endif -#ifdef HAVE_UNISTD_H -#include -#endif -#include "epaths.h" /* For PATH_DATA. */ - -#define BUFSIZE 80 -#define SEP '\0' - -#ifndef YOW_FILE -#define YOW_FILE "yow.lines" -#endif - -#ifdef MSDOS -#define rootrelativepath(rel) \ -({\ - static char res[BUFSIZE], *p;\ - strcpy (res, argv[0]);\ - p = res + strlen (res);\ - while (p != res && *p != '/' && *p != '\\' && *p != ':') p--;\ - strcpy (p + 1, "../");\ - strcpy (p + 4, rel);\ - &res;}) -#endif - -void yow(); -void setup_yow(); - -int -main (argc, argv) - int argc; - char *argv[]; -{ - FILE *fp; - char file[BUFSIZ]; - - if (argc > 2 && !strcmp (argv[1], "-f")) - strcpy (file, argv[2]); - else -#ifdef vms - sprintf (file, "%s%s", PATH_DATA, YOW_FILE); -#else - sprintf (file, "%s/%s", PATH_DATA, YOW_FILE); -#endif - - if ((fp = fopen(file, "r")) == NULL) { - fprintf(stderr, "yow: "); - perror(file); - exit(EXIT_FAILURE); - } - - /* initialize random seed */ - srand((int) (getpid() + time((time_t *) 0))); - - setup_yow(fp); - yow(fp); - fclose(fp); - return EXIT_SUCCESS; -} - -static long len = -1; -static long header_len; - -#define AVG_LEN 40 /* average length of a quotation */ - -/* Sets len and header_len */ -void -setup_yow(fp) - FILE *fp; -{ - int c; - - /* Get length of file */ - /* Because the header (stuff before the first SEP) can be very long, - * thus biasing our search in favor of the first quotation in the file, - * we explicitly skip that. */ - while ((c = getc(fp)) != SEP) { - if (c == EOF) { - fprintf(stderr, "yow: file contains no separators\n"); - exit(EXIT_FAILURE); - } - } - header_len = ftell(fp); - if (header_len > AVG_LEN) - header_len -= AVG_LEN; /* allow the first quotation to appear */ - - if (fseek(fp, 0L, 2) == -1) { - perror("yow"); - exit(EXIT_FAILURE); - } - len = ftell(fp) - header_len; -} - - -/* go to a random place in the file and print the quotation there */ -void -yow (fp) - FILE *fp; -{ - long offset; - int c, i = 0; - char *buf; - unsigned int bufsize; - - offset = rand() % len + header_len; - if (fseek(fp, offset, 0) == -1) { - perror("yow"); - exit(EXIT_FAILURE); - } - - /* Read until SEP, read next line, print it. - (Note that we will never print anything before the first separator.) - If we hit EOF looking for the first SEP, just recurse. */ - while ((c = getc(fp)) != SEP) - if (c == EOF) { - yow(fp); - return; - } - - /* Skip leading whitespace, then read in a quotation. - If we hit EOF before we find a non-whitespace char, recurse. */ - while (isspace(c = getc(fp))) - ; - if (c == EOF) { - yow(fp); - return; - } - - bufsize = BUFSIZE; - buf = (char *) malloc(bufsize); - if (buf == (char *)0) { - fprintf(stderr, "yow: virtual memory exhausted\n"); - exit (EXIT_FAILURE); - } - - buf[i++] = c; - while ((c = getc(fp)) != SEP && c != EOF) { - buf[i++] = c; - - if (i == bufsize-1) { - /* Yow! Is this quotation too long yet? */ - bufsize *= 2; - buf = (char *) realloc(buf, bufsize); - if (buf == (char *)0) { - fprintf(stderr, "yow: virtual memory exhausted\n"); - exit (EXIT_FAILURE); - } - } - } - buf[i++] = 0; - printf("%s\n", buf); - free (buf); -} - -/* arch-tag: e40fc0df-bafb-4001-af24-5c883d1c685e - (do not change this comment) */ - -/* yow.c ends here */ diff -r bdc1386b2827 -r 138027c8c982 lisp/ChangeLog --- a/lisp/ChangeLog Fri Jun 16 13:22:32 2006 +0000 +++ b/lisp/ChangeLog Sat Jun 17 20:57:37 2006 +0000 @@ -1,3 +1,136 @@ +2006-06-16 Richard Stallman + + * obsolete/options.el (list-options): Put "obsolete" msg in buffer. + + * files.el (basic-save-buffer-2): For a new precious file, + use the default modes in the return value. + + * facemenu.el (facemenu-color-alist): Doc fix. + + * cus-edit.el (custom-guess-name-alist): Recognize `-flag'. + +2006-06-16 YAMAMOTO Mitsuharu + + * cus-start.el (all): Add mac-ts-script-language-on-focus. + + * term/mac-win.el (mac-text-encoding-ascii): New constant. + (mac-utxt-to-string): Use it. + (mac-ts-update-active-input-area): Use mac-ae-number. + +2006-06-15 Dan Nicolaescu + + * term.el (term-handle-scroll, term-delete-lines) + (term-insert-lines): Fix off by one errors. + +2006-06-15 Katsumi Yamaoka (tiny change) + + * net/tramp.el (tramp-touch): Use UTC to express time. + +2006-06-15 Chong Yidong + + * mail/sendmail.el (mail-send): Search explicitly for + mail-header-separator when checking for corrupted header lines. + +2006-06-15 Nick Roberts + + * progmodes/gdb-ui.el (gdb-same-frame): New option. + (gud-old-arrow, gdb-frame-begin, gdb-printing): New variables. + (gdb-init-1): Initialise them. + (gdb-starting): Reset gdb-printing + (gdb-starting): Save value of gud-overlay-arrow-position. + (gdb-frame-begin): Set gdb-frame-begin, gdb-printing. + (gdb-stopped): Don't look for source if calling procedure e.g "p a ()". + Use gdb-*-gdb-buffer conditionally on gdb-same-frame. + (gdb-frame-gdb-buffer): Keep menu bar, tool bar for GUD buffer. + +2006-06-14 Stefan Monnier + + * pcvs.el (cvs-retrieve-revision): Use decode-coding-inserted-region. + +2006-06-13 Martin J. Reed (tiny change) + + * net/ldap.el (ldap-ldapsearch-args): Default to SASL search. + (ldap-search-internal): Keep error messages, and a regexp fix. + +2006-06-12 Thien-Thi Nguyen + + * files.el (hack-local-variables-confirm): + Display string value using its printed representation. + +2006-06-11 Chong Yidong + + * server.el (server-edit): No-op if no server buffers exist. + +2006-06-11 Robert J. Chassell + + * textmodes/page-ext.el (pages-directory-for-addresses): + Including `pages-directory-address-mode' in the function results + in the message "Buffer in which pages were found is deleted". + +2006-06-10 Carsten Dominik + + * textmodes/org.el: (org-agenda-mode-map): Add bindings for + clocking functions. + + (org-agenda-clock-in, org-check-running-clock) + (org-clock-out-if-current, org-remove-clock-overlays) + (org-put-clock-overlay): New functions. + (org-clock-marker, org-clock-file-total-minutes) + (org-clock-overlays): New variables. + (org-clock-display, org-clock-sum, org-clock-cancel) + (org-clock-out, org-clock-in): New commands. + (org-export): New function. + (org-emph-re): New constant. + (org-set-emph-re, org-do-emphasis-faces): New functions. + (org-emphasis-regexp-components, org-emphasis-alist): New options. + (org-set-font-lock-defaults): Call `org-do-emphasis-faces'. + (org-export-html-convert-emphasize): Use the configurable emphasis. + (org-cleaned-string-for-export): Make multiline emphasis visible + to the exporter. New optional argument PARAMETERS. + (org-export-as-html): Specify :emph-multiline parameter to + `org-cleaned-string-for-export'. + +2006-06-10 Richard Stallman + + * help.el (help-for-help-internal): Clean up help text. + +2006-06-10 Andreas Schwab + + * language/ethio-util.el (ethio-fidel-to-java-buffer): Fix quoting + in doc string. + + * progmodes/cperl-mode.el (cperl-short-docs): Likewise. + +2006-06-09 Karl Chen + + * progmodes/make-mode.el (makefile-fill-paragraph): Don't remove + spaces after the comment start. + +2006-06-09 Micha,Ak(Bl Cadilhac + + * play/pong.el (pong-init-buffer): + Fill buffer with spaces instead of ^A. + + * textmodes/ispell.el (ispell-kill-ispell): If ispell has been + launched asynchronously, delete its process instead of being cool. + (ispell-async-processp): Check for `delete-process' existence + instead of `kill-process' one for consistency. + +2006-06-09 Nick Roberts + + * progmodes/gdb-ui.el (gdb-set-gud-minor-mode-existing-buffers-1) + (gdb-prompt, gdb-set-gud-minor-mode-existing-buffers): Show status + in mode line at startup. + +2006-06-08 Kim F. Storm + + * ido.el (ido-take-first-match, ido-push-dir-first): New commands. + (ido-init-completion-maps): Bind them to M-SPC and M-v. + (ido-copy-current-file-name): Repeating C-w inserts whole file name. + (ido-file-internal): Pass full file name to write-file. + (ido-read-internal): Only pop stack elements automatically if they + actually match an existing directory or file name. + 2006-06-07 Kenichi Handa * international/mule.el (find-auto-coding): Don't handle the short @@ -8,8 +141,7 @@ 2006-06-06 Jesper Harder - * ediff-diff.el (ediff-test-utility): Protect against - file-error. + * ediff-diff.el (ediff-test-utility): Protect against file-error. 2006-06-06 Chong Yidong @@ -41,7 +173,7 @@ cookies but no other non-empty fields. (org-set-tags): Allow groups of mutually exclusive tags. (org-cmp-time): Sort 24:21 before items without time. - (org-get-time-of-day): Fixed the interpretation of 12pm and 12am. + (org-get-time-of-day): Fix the interpretation of 12pm and 12am. (org-open-at-point): Require double colon also for numbers. 2006-06-06 Kim F. Storm @@ -81,8 +213,8 @@ 2006-06-05 Kenichi Handa - * international/mule.el (find-auto-coding): Handle - enable-character-translation in file header. + * international/mule.el (find-auto-coding): + Handle enable-character-translation in file header. 2006-06-04 Kim F. Storm @@ -151,8 +283,8 @@ as well as `coding'. (hack-local-variables): Likewise. - * international/mule.el (enable-character-translation): Put - permanent-local and safe-local-variable properties. + * international/mule.el (enable-character-translation): + Put permanent-local and safe-local-variable properties. (find-auto-coding): Handle char-trans: tag. 2006-06-02 Juri Linkov diff -r bdc1386b2827 -r 138027c8c982 lisp/cus-edit.el --- a/lisp/cus-edit.el Fri Jun 16 13:22:32 2006 +0000 +++ b/lisp/cus-edit.el Sat Jun 17 20:57:37 2006 +0000 @@ -587,6 +587,7 @@ (defcustom custom-guess-name-alist '(("-p\\'" boolean) + ("-flag\\'" boolean) ("-hook\\'" hook) ("-face\\'" face) ("-file\\'" file) diff -r bdc1386b2827 -r 138027c8c982 lisp/cus-start.el --- a/lisp/cus-start.el Fri Jun 16 13:22:32 2006 +0000 +++ b/lisp/cus-start.el Sat Jun 17 20:57:37 2006 +0000 @@ -225,6 +225,13 @@ (mac-pass-command-to-system mac boolean "22.1") (mac-pass-control-to-system mac boolean "22.1") (mac-allow-anti-aliasing mac boolean "22.1") + (mac-ts-script-language-on-focus mac + (choice (const :tag "System default behavior" nil) + (const :tag "Restore to script/language used in the last focus frame" t) + (cons :tag "Specify script/language" + (integer :tag "Script code") + (integer :tag "Language code"))) + "22.1") ;; This is not good news because it will use the wrong ;; version-specific directories when you upgrade. We need diff -r bdc1386b2827 -r 138027c8c982 lisp/facemenu.el --- a/lisp/facemenu.el Fri Jun 16 13:22:32 2006 +0000 +++ b/lisp/facemenu.el Sat Jun 17 20:57:37 2006 +0000 @@ -308,9 +308,8 @@ ;;; Internal Variables (defvar facemenu-color-alist nil - ;; Don't initialize here; that doesn't work if preloaded. "Alist of colors, used for completion. -If null, `facemenu-read-color' will set it.") +If this is nil, then the value of (defined-colors) is used.") (defun facemenu-update () "Add or update the \"Face\" menu in the menu bar. diff -r bdc1386b2827 -r 138027c8c982 lisp/files.el --- a/lisp/files.el Fri Jun 16 13:22:32 2006 +0000 +++ b/lisp/files.el Sat Jun 17 20:57:37 2006 +0000 @@ -2406,7 +2406,11 @@ (insert " "))) (princ (car elt) buf) (insert " : ") - (princ (cdr elt) buf) + (if (stringp (cdr elt)) + ;; Make strings with embedded whitespace easier to read. + (let ((print-escape-newlines t)) + (prin1 (cdr elt) buf)) + (princ (cdr elt) buf)) (insert "\n")) (setq prompt (format "Please type %s%s: " @@ -3626,8 +3630,9 @@ (set-visited-file-modtime old-modtime))) ;; Since we have created an entirely new file, ;; make sure it gets the right permission bits set. - (setq setmodes (or setmodes (cons (file-modes buffer-file-name) - buffer-file-name))) + (setq setmodes (or setmodes + (cons (or (file-modes buffer-file-name) umask) + buffer-file-name))) ;; We succeeded in writing the temp file, ;; so rename it. (rename-file tempname buffer-file-name t)) diff -r bdc1386b2827 -r 138027c8c982 lisp/gnus/ChangeLog --- a/lisp/gnus/ChangeLog Fri Jun 16 13:22:32 2006 +0000 +++ b/lisp/gnus/ChangeLog Sat Jun 17 20:57:37 2006 +0000 @@ -1,3 +1,14 @@ +2006-06-16 Katsumi Yamaoka + + * message.el (message-syntax-checks): Doc fix. + (message-send-mail): Add check for continuation headers. + (message-check-news-header-syntax): Fix regexp used to check for + continuation headers. + +2006-06-14 Katsumi Yamaoka + + * gnus-art.el (gnus-display-mime): Make sure body ends with newline. + 2006-06-06 Katsumi Yamaoka * mm-util.el (mm-mime-mule-charset-alist): Use unicode-precedence-list diff -r bdc1386b2827 -r 138027c8c982 lisp/gnus/gnus-art.el --- a/lisp/gnus/gnus-art.el Fri Jun 16 13:22:32 2006 +0000 +++ b/lisp/gnus/gnus-art.el Sat Jun 17 20:57:37 2006 +0000 @@ -4927,7 +4927,11 @@ (article-goto-body) (narrow-to-region (point-min) (point)) (gnus-article-save-original-date - (gnus-treat-article 'head))))))))) + (gnus-treat-article 'head))))))) + ;; Cope with broken MIME messages. + (goto-char (point-max)) + (unless (bolp) + (insert "\n")))) (defcustom gnus-mime-display-multipart-as-mixed nil "Display \"multipart\" parts as \"multipart/mixed\". diff -r bdc1386b2827 -r 138027c8c982 lisp/gnus/message.el --- a/lisp/gnus/message.el Fri Jun 16 13:22:32 2006 +0000 +++ b/lisp/gnus/message.el Sat Jun 17 20:57:37 2006 +0000 @@ -190,14 +190,13 @@ Don't touch this variable unless you really know what you're doing. -Checks include `subject-cmsg', `multiple-headers', `sendsys', -`message-id', `from', `long-lines', `control-chars', `size', -`new-text', `quoting-style', `redirected-followup', `signature', -`approved', `sender', `empty', `empty-headers', `message-id', `from', -`subject', `shorten-followup-to', `existing-newsgroups', -`buffer-file-name', `unchanged', `newsgroups', `reply-to', -`continuation-headers', `long-header-lines', `invisible-text' and -`illegible-text'." +Checks include `approved', `continuation-headers', `control-chars', +`empty', `existing-newsgroups', `from', `illegible-text', +`invisible-text', `long-header-lines', `long-lines', `message-id', +`multiple-headers', `new-text', `newsgroups', `quoting-style', +`repeated-newsgroups', `reply-to', `sendsys', `shoot', +`shorten-followup-to', `signature', `size', `subject', `subject-cmsg' +and `valid-newsgroups'." :group 'message-news :type '(repeat sexp)) ; Fixme: improve this @@ -3769,6 +3768,16 @@ (let ((message-deletable-headers (if news nil message-deletable-headers))) (message-generate-headers headers)) + ;; Check continuation headers. + (message-check 'continuation-headers + (goto-char (point-min)) + (while (re-search-forward "^[^ \t\n][^ \t\n:]*[ \t\n]" nil t) + (goto-char (match-beginning 0)) + (if (y-or-n-p "Fix continuation lines? ") + (insert " ") + (forward-line 1) + (unless (y-or-n-p "Send anyway? ") + (error "Failed to send the message"))))) ;; Let the user do all of the above. (run-hooks 'message-header-hook)) (unwind-protect @@ -4326,11 +4335,11 @@ (message-check 'continuation-headers (goto-char (point-min)) (let ((do-posting t)) - (while (re-search-forward "^[^ \t\n][^:\n]*$" nil t) + (while (re-search-forward "^[^ \t\n][^ \t\n:]*[ \t\n]" nil t) + (goto-char (match-beginning 0)) (if (y-or-n-p "Fix continuation lines? ") - (progn - (goto-char (match-beginning 0)) - (insert " ")) + (insert " ") + (forward-line 1) (unless (y-or-n-p "Send anyway? ") (setq do-posting nil)))) do-posting)) diff -r bdc1386b2827 -r 138027c8c982 lisp/help.el --- a/lisp/help.el Fri Jun 16 13:22:32 2006 +0000 +++ b/lisp/help.el Sat Jun 17 20:57:37 2006 +0000 @@ -182,31 +182,28 @@ "You have typed %THIS-KEY%, the help character. Type a Help option: \(Use SPC or DEL to scroll through this text. Type \\\\[help-quit] to exit the Help command.) -a command-apropos. Give a list of words or a regexp, to get a list of +a command-apropos. Type a list of words or a regexp; it shows a list of commands whose names match. See also the apropos command. -b describe-bindings. Display table of all key bindings. -c describe-key-briefly. Type a command key sequence; - it prints the function name that sequence runs. -C describe-coding-system. This describes either a specific coding system - (if you type its name) or the coding systems currently in use - (if you type just RET). -d apropos-documentation. Give a pattern (a list or words or a regexp), and - see a list of functions, variables, and other items whose built-in - doucmentation string matches that pattern. See also the apropos command. -e view-echo-area-messages. Show the buffer where the echo-area messages - are stored. -f describe-function. Type a function name and get its documentation. -F Info-goto-emacs-command-node. Type a function name; - it takes you to the on-line manual's section that describes - the command. +b describe-bindings. Display a table of all key bindings. +c describe-key-briefly. Type a key sequence; + it displays the command name run by that key sequence. +C describe-coding-system. Type the name of the coding system to describe, + or just RET to describe the ones currently in use. +d apropos-documentation. Type a pattern (a list of words or a regexp), and + it shows a list of functions, variables, and other items whose + documentation matches that pattern. See also the apropos command. +e view-echo-area-messages. Go to the buffer that logs echo-area messages. +f describe-function. Type a function name and you see its documentation. +F Info-goto-emacs-command-node. Type a command name; + it goes to the on-line manual's section that describes the command. h Display the HELLO file which illustrates various scripts. -i info. The Info documentation reader: read on-line manuals. +i info. The Info documentation reader: read on-line manuals. I describe-input-method. Describe a specific input method (if you type its name) or the current input method (if you type just RET). -k describe-key. Type a command key sequence; +k describe-key. Type a key sequence; it displays the full documentation for that key sequence. -K Info-goto-emacs-key-command-node. Type a command key sequence; - it takes you to the on-line manual's section that describes +K Info-goto-emacs-key-command-node. Type a key sequence; + it goes to the on-line manual's section that describes the command bound to that key. l view-lossage. Show last 100 characters you typed. L describe-language-environment. This describes either a @@ -218,12 +215,12 @@ p finder-by-keyword. Find packages matching a given topic keyword. r info-emacs-manual. Display the Emacs manual in Info mode. s describe-syntax. Display contents of syntax table, plus explanations. -S info-lookup-symbol. Display the definition of a specific symbol - as found in the manual for the language this buffer is written in. +S info-lookup-symbol. Type a symbol; it goes to that symbol in the + on-line manual for the programming language used in this buffer. t help-with-tutorial. Select the Emacs learn-by-doing tutorial. v describe-variable. Type name of a variable; it displays the variable's documentation and value. -w where-is. Type command name; it prints which keystrokes +w where-is. Type a command name; it displays which keystrokes invoke that command. . display-local-help. Display any available local help at point in the echo area. diff -r bdc1386b2827 -r 138027c8c982 lisp/ido.el --- a/lisp/ido.el Fri Jun 16 13:22:32 2006 +0000 +++ b/lisp/ido.el Sat Jun 17 20:57:37 2006 +0000 @@ -1538,6 +1538,7 @@ (define-key map "\C-t" 'ido-toggle-regexp) (define-key map "\C-z" 'ido-undo-merge-work-directory) (define-key map [(control ?\s)] 'ido-restrict-to-matches) + (define-key map [(meta ?\s)] 'ido-take-first-match) (define-key map [(control ?@)] 'ido-restrict-to-matches) (define-key map [right] 'ido-next-match) (define-key map [left] 'ido-prev-match) @@ -1565,6 +1566,7 @@ (define-key map "\C-l" 'ido-reread-directory) (define-key map [(meta ?d)] 'ido-wide-find-dir-or-delete-dir) (define-key map [(meta ?b)] 'ido-push-dir) + (define-key map [(meta ?v)] 'ido-push-dir-first) (define-key map [(meta ?f)] 'ido-wide-find-file-or-pop-dir) (define-key map [(meta ?k)] 'ido-forget-work-directory) (define-key map [(meta ?m)] 'ido-make-directory) @@ -2092,8 +2094,10 @@ (cons (cons ido-current-directory ido-selected) ido-last-directory-list))))) (ido-set-current-directory ido-current-directory ido-selected) (if ido-input-stack - (while ido-input-stack - (let ((elt (car ido-input-stack))) + ; automatically pop stack elements which match existing files or directories + (let (elt) + (while (and (setq elt (car ido-input-stack)) + (file-exists-p (concat ido-current-directory (cdr elt)))) (if (setq ido-input-stack (cdr ido-input-stack)) (ido-set-current-directory ido-current-directory (cdr elt)) (setq ido-text-init (cdr elt))) @@ -2337,7 +2341,7 @@ (setq default-directory ido-current-directory) (ido-record-command 'write-file (concat ido-current-directory filename)) (ido-record-work-directory) - (write-file filename)) + (write-file (concat ido-current-directory filename))) ((eq method 'read-only) (ido-record-work-file filename) @@ -2805,12 +2809,28 @@ (ido-delete-backward-word-updir 1) (ido-wide-find-dir))) +(defun ido-take-first-match () + "Use first matching item as input text." + (interactive) + (when ido-matches + (setq ido-text-init (car ido-matches)) + (setq ido-exit 'refresh) + (exit-minibuffer))) + (defun ido-push-dir () "Move to previous directory in file name, push current input on stack." (interactive) (setq ido-exit 'push) (exit-minibuffer)) +(defun ido-push-dir-first () + "Move to previous directory in file name, push first match on stack." + (interactive) + (if ido-matches + (setq ido-text (car ido-matches))) + (setq ido-exit 'push) + (exit-minibuffer)) + (defun ido-pop-dir (arg) "Pop directory from input stack back to input. With \\[universal-argument], pop all element." @@ -2880,6 +2900,7 @@ (when name (setq ido-text-init (if (or all + (eq last-command this-command) (not (equal (file-name-directory bfname) ido-current-directory)) (not (string-match "\\.[^.]*\\'" name))) name diff -r bdc1386b2827 -r 138027c8c982 lisp/language/ethio-util.el --- a/lisp/language/ethio-util.el Fri Jun 16 13:22:32 2006 +0000 +++ b/lisp/language/ethio-util.el Sat Jun 17 20:57:37 2006 +0000 @@ -863,7 +863,7 @@ (defun ethio-fidel-to-java-buffer nil "Convert Ethiopic characters into the Java escape sequences. -Each escape sequence is of the form \uXXXX, where XXXX is the +Each escape sequence is of the form \\uXXXX, where XXXX is the character's codepoint (in hex) in Unicode. If `ethio-java-save-lowercase' is non-nil, use [0-9a-f]. diff -r bdc1386b2827 -r 138027c8c982 lisp/mail/sendmail.el --- a/lisp/mail/sendmail.el Fri Jun 16 13:22:32 2006 +0000 +++ b/lisp/mail/sendmail.el Sat Jun 17 20:57:37 2006 +0000 @@ -863,11 +863,14 @@ (error "Message contains non-ASCII characters")))) ;; Complain about any invalid line. (goto-char (point-min)) - (while (< (point) (mail-header-end)) - (unless (looking-at "[ \t]\\|.*:\\|$") - (push-mark opoint) - (error "Invalid header line (maybe a continuation line lacks initial whitespace)")) - (forward-line 1)) + (re-search-forward (regexp-quote mail-header-separator) (point-max) t) + (let ((header-end (or (match-beginning 0) (point-max)))) + (goto-char (point-min)) + (while (< (point) header-end) + (unless (looking-at "[ \t]\\|.*:\\|$") + (push-mark opoint) + (error "Invalid header line (maybe a continuation line lacks initial whitespace)")) + (forward-line 1))) (goto-char opoint) (run-hooks 'mail-send-hook) (message "Sending...") diff -r bdc1386b2827 -r 138027c8c982 lisp/mh-e/ChangeLog --- a/lisp/mh-e/ChangeLog Fri Jun 16 13:22:32 2006 +0000 +++ b/lisp/mh-e/ChangeLog Sat Jun 17 20:57:37 2006 +0000 @@ -1,3 +1,22 @@ +2006-06-15 Bill Wohler + + * mh-search.el (mh-index-new-folder): Use -2 suffix instead of <2> + suffix for folder names, as <> are illegal filenakme characters on + Windows (closes SF #1507002). + +2006-06-05 Jacob Morzinski (tiny change) + + * mh-comp.el (mh-send-uses-spost): New variable. + (mh-send-letter): Do not use -msgid and -mime if + mh-send-uses-spost is t (closes SF #1486726). + +2006-06-02 Bill Wohler + + (mh-folder-exists-p): Change test from an empty buffer, to one + that contains the actual folder, since GNU mailutils' folder + command displays output if the folder doesn't exist (closes SF + #1499712). + 2006-05-06 Bill Wohler Release MH-E version 8.0. diff -r bdc1386b2827 -r 138027c8c982 lisp/mh-e/mh-comp.el --- a/lisp/mh-e/mh-comp.el Fri Jun 16 13:22:32 2006 +0000 +++ b/lisp/mh-e/mh-comp.el Sat Jun 17 20:57:37 2006 +0000 @@ -53,6 +53,15 @@ "Name of the MH send program. Some sites need to change this because of a name conflict.") +(defvar mh-send-uses-spost-flag nil + "Non-nil means \"send\" uses \"spost\" to submit messages. + +If the value of \"postproc:\" is \"spost\", you may need to set +this variable to t to tell MH-E to avoid using features of +\"post\" that are not supported by \"spost\". You'll know that +you'll need to do this if sending mail fails with an error of +\"spost: -msgid unknown\".") + (defvar mh-redist-background nil "If non-nil redist will be done in background like send. This allows transaction log to be visible if -watch, -verbose or @@ -267,16 +276,18 @@ (and (boundp 'default-buffer-file-coding-system ) default-buffer-file-coding-system) 'iso-latin-1)))) - ;; Adding a Message-ID field looks good, makes it easier to search for - ;; message in your +outbox, and best of all doesn't break threading for - ;; the recipient if you reply to a message in your +outbox. - (setq mh-send-args (concat "-msgid " mh-send-args)) - ;; The default BCC encapsulation will make a MIME message unreadable. - ;; With nmh use the -mime arg to prevent this. - (if (and (mh-variant-p 'nmh) - (mh-goto-header-field "Bcc:") - (mh-goto-header-field "Content-Type:")) - (setq mh-send-args (concat "-mime " mh-send-args))) + ;; Older versions of spost do not support -msgid and -mime. + (unless mh-send-uses-spost-flag + ;; Adding a Message-ID field looks good, makes it easier to search for + ;; message in your +outbox, and best of all doesn't break threading for + ;; the recipient if you reply to a message in your +outbox. + (setq mh-send-args (concat "-msgid " mh-send-args)) + ;; The default BCC encapsulation will make a MIME message unreadable. + ;; With nmh use the -mime arg to prevent this. + (if (and (mh-variant-p 'nmh) + (mh-goto-header-field "Bcc:") + (mh-goto-header-field "Content-Type:")) + (setq mh-send-args (concat "-mime " mh-send-args)))) (cond (arg (pop-to-buffer mh-mail-delivery-buffer) (erase-buffer) diff -r bdc1386b2827 -r 138027c8c982 lisp/mh-e/mh-search.el --- a/lisp/mh-e/mh-search.el Fri Jun 16 13:22:32 2006 +0000 +++ b/lisp/mh-e/mh-search.el Sat Jun 17 20:57:37 2006 +0000 @@ -1537,7 +1537,7 @@ SEARCH-REGEXP then it is reused. Otherwise if the folder NAME was generated from a different -search then check if NAME<2> can be used. Otherwise try NAME<3>. +search then check if NAME-2 can be used. Otherwise try NAME-3. This is repeated till we find a new folder name. If the folder returned doesn't exist then it is created." @@ -1545,7 +1545,7 @@ (error "The argument should be a valid MH folder name")) (let ((chosen-name (loop for i from 1 - for candidate = (if (equal i 1) name (format "%s<%s>" name i)) + for candidate = (if (equal i 1) name (format "%s-%s" name i)) when (or (not (mh-folder-exists-p candidate)) (equal (mh-index-folder-search-regexp candidate) search-regexp)) diff -r bdc1386b2827 -r 138027c8c982 lisp/net/ldap.el --- a/lisp/net/ldap.el Fri Jun 16 13:22:32 2006 +0000 +++ b/lisp/net/ldap.el Sat Jun 17 20:57:37 2006 +0000 @@ -154,7 +154,7 @@ :type '(string :tag "`ldapsearch' Program") :group 'ldap) -(defcustom ldap-ldapsearch-args '("-LL" "-tt" "-x") +(defcustom ldap-ldapsearch-args '("-LL" "-tt") "*A list of additional arguments to pass to `ldapsearch'." :type '(repeat :tag "`ldapsearch' Arguments" (string :tag "Argument")) @@ -555,7 +555,7 @@ (setq arglist (nconc arglist (list (format "-z%s" sizelimit))))) (eval `(call-process ldap-ldapsearch-prog nil - `(,buf nil) + buf nil ,@arglist ,@ldap-ldapsearch-args @@ -580,7 +580,7 @@ (end-of-line) (point)))) (forward-line 1) - (while (looking-at "^\\(\\w*\\)\\(;\\w*\\)?[=:\t ]+\\(<[\t ]*file://\\)?\\(.*\\)$") + (while (looking-at "^\\(\\w*\\)\\(;\\w*\\)?[=:\t ]+\\(<[\t ]*file://\\)\\(.*\\)$") (setq name (match-string 1) value (match-string 4)) ;; Need to handle file:///D:/... as generated by OpenLDAP diff -r bdc1386b2827 -r 138027c8c982 lisp/net/tramp.el --- a/lisp/net/tramp.el Fri Jun 16 13:22:32 2006 +0000 +++ b/lisp/net/tramp.el Sat Jun 17 20:57:37 2006 +0000 @@ -5017,15 +5017,16 @@ (defun tramp-touch (file time) "Set the last-modified timestamp of the given file. TIME is an Emacs internal time value as returned by `current-time'." - (let ((touch-time (format-time-string "%Y%m%d%H%M.%S" time))) + (let ((touch-time (format-time-string "%Y%m%d%H%M.%S" time t))) (if (tramp-tramp-file-p file) (with-parsed-tramp-file-name file nil (let ((buf (tramp-get-buffer multi-method method user host))) (unless (zerop (tramp-send-command-and-check multi-method method user host - (format "touch -t %s %s" + (format "TZ=UTC; export TZ; touch -t %s %s" touch-time - localname))) + localname) + t)) (pop-to-buffer buf) (error "tramp-touch: touch failed, see buffer `%s' for details" buf)))) diff -r bdc1386b2827 -r 138027c8c982 lisp/obsolete/options.el --- a/lisp/obsolete/options.el Fri Jun 16 13:22:32 2006 +0000 +++ b/lisp/obsolete/options.el Sat Jun 17 20:57:37 2006 +0000 @@ -41,6 +41,8 @@ (interactive) (with-output-to-temp-buffer "*List Options*" (let (vars) + (princ "This facility is obsolete; we recommend using M-x customize instead.") + (mapatoms (function (lambda (sym) (if (user-variable-p sym) (setq vars (cons sym vars)))))) diff -r bdc1386b2827 -r 138027c8c982 lisp/pcvs.el --- a/lisp/pcvs.el Fri Jun 16 13:22:32 2006 +0000 +++ b/lisp/pcvs.el Sat Jun 17 20:57:37 2006 +0000 @@ -1723,16 +1723,22 @@ (message "Retrieving revision %s..." rev) ;; Discard stderr output to work around the CVS+SSH+libc ;; problem when stdout and stderr are the same. - (let ((res (apply 'call-process cvs-program nil '(t nil) nil - "-q" "update" "-p" - ;; If `rev' is HEAD, don't pass it at all: - ;; the default behavior is to get the head - ;; of the current branch whereas "-r HEAD" - ;; stupidly gives you the head of the trunk. - (append (unless (equal rev "HEAD") (list "-r" rev)) - (list file))))) + (let ((res + (let ((coding-system-for-read 'binary)) + (apply 'call-process cvs-program nil '(t nil) nil + "-q" "update" "-p" + ;; If `rev' is HEAD, don't pass it at all: + ;; the default behavior is to get the head + ;; of the current branch whereas "-r HEAD" + ;; stupidly gives you the head of the trunk. + (append (unless (equal rev "HEAD") (list "-r" rev)) + (list file)))))) (when (and res (not (and (equal 0 res)))) (error "Something went wrong retrieving revision %s: %s" rev res)) + ;; Figure out the encoding used and decode the byte-sequence + ;; into a sequence of chars. + (decode-coding-inserted-region + (point-min) (point-max) file t nil nil t) (set-buffer-modified-p nil) (let ((buffer-file-name (expand-file-name file))) (after-find-file)) diff -r bdc1386b2827 -r 138027c8c982 lisp/play/pong.el --- a/lisp/play/pong.el Fri Jun 16 13:22:32 2006 +0000 +++ b/lisp/play/pong.el Sat Jun 17 20:57:37 2006 +0000 @@ -244,7 +244,7 @@ (gamegrid-init-buffer pong-width (+ 2 pong-height) - 1) + ?\s) (let ((buffer-read-only nil)) (loop for y from 0 to (1- pong-height) do diff -r bdc1386b2827 -r 138027c8c982 lisp/progmodes/cperl-mode.el --- a/lisp/progmodes/cperl-mode.el Fri Jun 16 13:22:32 2006 +0000 +++ b/lisp/progmodes/cperl-mode.el Sat Jun 17 20:57:37 2006 +0000 @@ -6298,7 +6298,7 @@ $^F The highest system file descriptor, ordinarily 2. $^H The current set of syntax checks enabled by `use strict'. $^I The value of the in-place edit extension (perl -i option). -$^L What formats output to perform a formfeed. Default is \f. +$^L What formats output to perform a formfeed. Default is \\f. $^M A buffer for emergency memory allocation when running out of memory. $^O The operating system name under which this copy of Perl was built. $^P Internal debugging flag. @@ -6380,11 +6380,11 @@ @ARGV Command line arguments (not including the command name - see $0). @INC List of places to look for perl scripts during do/include/use. @_ Parameter array for subroutines; result of split() unless in list context. -\\ Creates reference to what follows, like \$var, or quotes non-\w in strings. +\\ Creates reference to what follows, like \\$var, or quotes non-\\w in strings. \\0 Octal char, e.g. \\033. \\E Case modification terminator. See \\Q, \\L, and \\U. -\\L Lowercase until \\E . See also \l, lc. -\\U Upcase until \\E . See also \u, uc. +\\L Lowercase until \\E . See also \\l, lc. +\\U Upcase until \\E . See also \\u, uc. \\Q Quote metacharacters until \\E . See also quotemeta. \\a Alarm character (octal 007). \\b Backspace character (octal 010). @@ -6655,7 +6655,7 @@ untie VAR Unlink an object from a simple Perl variable. use PACKAGE [SYMBOL1, ...] Compile-time `require' with consequent `import'. ... xor ... Low-precedence synonym for exclusive or. -prototype \&SUB Returns prototype of the function given a reference. +prototype \\&SUB Returns prototype of the function given a reference. =head1 Top-level heading. =head2 Second-level heading. =head3 Third-level heading (is there such?). diff -r bdc1386b2827 -r 138027c8c982 lisp/progmodes/gdb-ui.el --- a/lisp/progmodes/gdb-ui.el Fri Jun 16 13:22:32 2006 +0000 +++ b/lisp/progmodes/gdb-ui.el Sat Jun 17 20:57:37 2006 +0000 @@ -76,6 +76,9 @@ ;; 3) M-x gdb doesn't work with "run" command in .gdbinit, use M-x gdba instead. ;; 4) M-x gdb doesn't work if the corefile is specified in the command in the ;; minibuffer, use M-x gdba instead (or specify the core in the GUD buffer). +;; 5) If you wish to call procedures from your program in GDB +;; e.g "call myproc ()", "p mysquare (5)" then use level 2 annotations +;; "gdb --annotate=2 myprog" to keep source buffer/selected frame fixed. ;;; Problems with watch expressions, GDB/MI: ;; 1) They go out of scope when the inferior is re-run. @@ -110,6 +113,7 @@ where STATUS is nil (unchanged), `changed' or `out-of-scope', FP the frame address for root variables.") (defvar gdb-main-file nil "Source file from which program execution begins.") +(defvar gud-old-arrow nil) (defvar gdb-overlay-arrow-position nil) (defvar gdb-server-prefix nil) (defvar gdb-flush-pending-output nil) @@ -126,6 +130,9 @@ (defvar gdb-inferior-status nil) (defvar gdb-continuation nil) (defvar gdb-look-up-stack nil) +(defvar gdb-frame-begin nil + "Non-nil when GDB generates frame-begin annotation.") +(defvar gdb-printing t) (defvar gdb-buffer-type nil "One of the symbols bound in `gdb-buffer-rules'.") @@ -426,7 +433,8 @@ (when gud-tooltip-mode (make-local-variable 'gdb-define-alist) (gdb-create-define-alist) - (add-hook 'after-save-hook 'gdb-create-define-alist nil t))))))) + (add-hook 'after-save-hook 'gdb-create-define-alist nil t)))))) + (gdb-force-mode-line-update "ready")) (defun gdb-find-watch-expression () (let* ((var (nth (- (line-number-at-pos (point)) 2) gdb-var-list)) @@ -542,7 +550,10 @@ gdb-source-window nil gdb-inferior-status nil gdb-continuation nil - gdb-look-up-stack nil) + gdb-look-up-stack nil + gdb-frame-begin nil + gdb-printing t + gud-old-arrow nil) (setq gdb-buffer-type 'gdba) @@ -1238,6 +1249,7 @@ "An annotation handler for `prompt'. This sends the next command (if any) to gdb." (when gdb-first-prompt + (gdb-force-mode-line-update "initializing...") (gdb-init-1) (setq gdb-first-prompt nil)) (let ((sink gdb-output-sink)) @@ -1268,6 +1280,7 @@ This says that I/O for the subprocess is now the program being debugged, not GDB." (setq gdb-active-process t) + (setq gdb-printing t) (let ((sink gdb-output-sink)) (cond ((eq sink 'user) @@ -1276,6 +1289,7 @@ (setq gdb-inferior-status "running") (gdb-force-mode-line-update gdb-inferior-status) (gdb-remove-text-properties) + (setq gud-old-arrow gud-overlay-arrow-position) (setq gud-overlay-arrow-position nil) (setq gdb-overlay-arrow-position nil) (if gdb-use-separate-io-buffer @@ -1319,6 +1333,8 @@ (setq gdb-signalled t)) (defun gdb-frame-begin (ignored) + (setq gdb-frame-begin t) + (setq gdb-printing nil) (let ((sink gdb-output-sink)) (cond ((eq sink 'inferior) @@ -1329,25 +1345,33 @@ (gdb-resync) (error "Unexpected frame-begin annotation (%S)" sink))))) +(defcustom gdb-same-frame focus-follows-mouse + "Non-nil means pop up GUD buffer in same frame." + :group 'gud + :type 'boolean + :version "22.1") + (defun gdb-stopped (ignored) "An annotation handler for `stopped'. It is just like `gdb-stopping', except that if we already set the output sink to `user' in `gdb-stopping', that is fine." (setq gud-running nil) (unless (or gud-overlay-arrow-position gud-last-frame) + (if (and gdb-frame-begin gdb-printing) + (setq gud-overlay-arrow-position gud-old-arrow) ;;Pop up GUD buffer to display current frame when it doesn't have source ;;information i.e id not compiled with -g as with libc routines generally. - (let ((special-display-regexps (append special-display-regexps '(".*"))) - (special-display-frame-alist gdb-frame-parameters) - (same-window-regexps nil)) - (display-buffer gud-comint-buffer)) + (if gdb-same-frame + (gdb-display-gdb-buffer) + (gdb-frame-gdb-buffer)) ;;Try to find source further up stack e.g after signal. (setq gdb-look-up-stack - (if (gdb-get-buffer 'gdb-stack-buffer) 'keep + (if (gdb-get-buffer 'gdb-stack-buffer) + 'keep (progn (gdb-get-buffer-create 'gdb-stack-buffer) (gdb-invalidate-frames) - 'delete)))) + 'delete))))) (unless (member gdb-inferior-status '("exited" "signal")) (setq gdb-inferior-status "stopped") (gdb-force-mode-line-update gdb-inferior-status)) @@ -2755,7 +2779,9 @@ "Display GUD buffer in a new frame." (interactive) (let ((special-display-regexps (append special-display-regexps '(".*"))) - (special-display-frame-alist gdb-frame-parameters) + (special-display-frame-alist + (remove '(menu-bar-lines) (remove '(tool-bar-lines) + gdb-frame-parameters))) (same-window-regexps nil)) (display-buffer gud-comint-buffer))) @@ -3239,7 +3265,8 @@ (when gud-tooltip-mode (make-local-variable 'gdb-define-alist) (gdb-create-define-alist) - (add-hook 'after-save-hook 'gdb-create-define-alist nil t)))))) + (add-hook 'after-save-hook 'gdb-create-define-alist nil t))))) + (gdb-force-mode-line-update "ready")) ; Uses "-var-list-children --all-values". Needs GDB 6.1 onwards. (defun gdb-var-list-children-1 (varnum) diff -r bdc1386b2827 -r 138027c8c982 lisp/progmodes/make-mode.el --- a/lisp/progmodes/make-mode.el Fri Jun 16 13:22:32 2006 +0000 +++ b/lisp/progmodes/make-mode.el Sat Jun 17 20:57:37 2006 +0000 @@ -1304,7 +1304,7 @@ (save-excursion (beginning-of-line) (cond - ((looking-at "^#+") + ((looking-at "^#+\\s-*") ;; Found a comment. Return nil to let normal filling take place. nil) diff -r bdc1386b2827 -r 138027c8c982 lisp/server.el --- a/lisp/server.el Fri Jun 16 13:22:32 2006 +0000 +++ b/lisp/server.el Sat Jun 17 20:57:37 2006 +0000 @@ -576,11 +576,13 @@ If invoked with a prefix argument, or if there is no server process running, starts server process and that is all. Invoked by \\[server-edit]." (interactive "P") - (if (or arg - (not server-process) - (memq (process-status server-process) '(signal exit))) - (server-mode 1) - (apply 'server-switch-buffer (server-done)))) + (cond + ((or arg + (not server-process) + (memq (process-status server-process) '(signal exit))) + (server-mode 1)) + (server-clients (apply 'server-switch-buffer (server-done))) + (t (message "No server editing buffers exist")))) (defun server-switch-buffer (&optional next-buffer killed-one) "Switch to another buffer, preferably one that has a client. diff -r bdc1386b2827 -r 138027c8c982 lisp/term.el --- a/lisp/term.el Fri Jun 16 13:22:32 2006 +0000 +++ b/lisp/term.el Sat Jun 17 20:57:37 2006 +0000 @@ -3611,7 +3611,7 @@ (progn ;; Delete scroll-needed lines at term-scroll-end, ;; then insert scroll-needed lines. - (term-vertical-motion (1- term-scroll-end)) + (term-vertical-motion term-scroll-end) (end-of-line) (setq save-top (point)) (term-vertical-motion scroll-needed) @@ -3765,11 +3765,12 @@ (save-current-column term-current-column) (save-start-line-column term-start-line-column) (save-current-row (term-current-row))) - (when (>= (+ save-current-row lines) term-scroll-end) - (setq lines (- lines (- (+ save-current-row lines) term-scroll-end)))) + ;; The number of inserted lines shouldn't exceed the scroll region end. + (when (> (+ save-current-row lines) (1+ term-scroll-end)) + (setq lines (- lines (- (+ save-current-row lines) (1+ term-scroll-end))))) (term-down lines) (delete-region start (point)) - (term-down (- term-scroll-end save-current-row lines)) + (term-down (- (1+ term-scroll-end) save-current-row lines)) (term-insert-char ?\n lines) (setq term-current-column save-current-column) (setq term-start-line-column save-start-line-column) @@ -3790,9 +3791,9 @@ (term-down (- term-scroll-start save-current-row)) (setq start (point))) ;; The number of inserted lines shouldn't exceed the scroll region end. - (when (>= (+ save-current-row lines) term-scroll-end) - (setq lines (- lines (- (+ save-current-row lines) term-scroll-end)))) - (term-down (- term-scroll-end save-current-row lines))) + (when (> (+ save-current-row lines) (1+ term-scroll-end)) + (setq lines (- lines (- (+ save-current-row lines)(1+ term-scroll-end))))) + (term-down (- (1+ term-scroll-end) save-current-row lines))) (setq start-deleted (point)) (term-down lines) (delete-region start-deleted (point)) diff -r bdc1386b2827 -r 138027c8c982 lisp/term/mac-win.el --- a/lisp/term/mac-win.el Fri Jun 16 13:22:32 2006 +0000 +++ b/lisp/term/mac-win.el Sat Jun 17 20:57:37 2006 +0000 @@ -1299,6 +1299,9 @@ ;;;; Conversion between common flavors and Lisp string. +(defconst mac-text-encoding-ascii #x600 + "ASCII text encoding.") + (defconst mac-text-encoding-mac-japanese-basic-variant #x20001 "MacJapanese text encoding without Apple double-byte extensions.") @@ -1319,7 +1322,7 @@ (if (string-match "[\xa0\xfd-\xff]" str) (setq str nil) ;; ASCII-only? - (unless (string-match "\\`[[:ascii:]]*\\'" str) + (unless (mac-code-convert-string data nil mac-text-encoding-ascii) (subst-char-in-string ?\x5c ?\Â¥ str t) (subst-char-in-string ?\x80 ?\\ str t))))) (or str @@ -2015,8 +2018,7 @@ (coding (or (cdr (assq (car script-language) mac-script-code-coding-systems)) 'mac-roman)) - (fix-len (mac-bytes-to-integer - (cdr (mac-ae-parameter ae "tsfx" "long")))) + (fix-len (mac-ae-number ae "tsfx")) ;; Optional parameters (hilite-rng (mac-ae-text-range-array ae "tshi")) (update-rng (mac-ae-text-range-array ae "tsup")) @@ -2058,15 +2060,15 @@ (put-text-property 0 (length active-input-string) 'mac-ts-active-input-string t active-input-string) (if use-echo-area - (let (msg message-log-max) - (if (and (current-message) + (let ((msg (current-message)) + message-log-max) + (if (and msg ;; Don't get confused by previously displayed ;; `active-input-string'. (null (get-text-property 0 'mac-ts-active-input-string - (current-message)))) - (setq msg (propertize (current-message) 'display - (concat (current-message) - active-input-string))) + msg))) + (setq msg (propertize msg 'display + (concat msg active-input-string))) (setq msg active-input-string)) (message "%s" msg) (overlay-put mac-ts-active-input-overlay 'before-string nil)) diff -r bdc1386b2827 -r 138027c8c982 lisp/textmodes/ispell.el --- a/lisp/textmodes/ispell.el Fri Jun 16 13:22:32 2006 +0000 +++ b/lisp/textmodes/ispell.el Sat Jun 17 20:57:37 2006 +0000 @@ -865,7 +865,7 @@ (defvar ispell-process nil "The process object for Ispell.") -(defvar ispell-async-processp (and (fboundp 'kill-process) +(defvar ispell-async-processp (and (fboundp 'delete-process) (fboundp 'process-send-string) (fboundp 'accept-process-output) ;;(fboundp 'start-process) @@ -2542,15 +2542,7 @@ (or no-error (error "There is no ispell process running!")) (if ispell-async-processp - (progn - (process-send-eof ispell-process) - (if (eq (ispell-process-status) 'run) - (ispell-accept-output 1)) - (if (eq (ispell-process-status) 'run) - (kill-process ispell-process)) - (while (not (or (eq (ispell-process-status) 'exit) - (eq (ispell-process-status) 'signal))) - (sleep-for 0.25))) + (delete-process ispell-process) ;; synchronous processes (ispell-send-string "\n") ; make sure side effects occurred. (kill-buffer ispell-output-buffer) diff -r bdc1386b2827 -r 138027c8c982 lisp/textmodes/org.el --- a/lisp/textmodes/org.el Fri Jun 16 13:22:32 2006 +0000 +++ b/lisp/textmodes/org.el Sat Jun 17 20:57:37 2006 +0000 @@ -5,7 +5,7 @@ ;; Author: Carsten Dominik ;; Keywords: outlines, hypermedia, calendar, wp ;; Homepage: http://www.astro.uva.nl/~dominik/Tools/org/ -;; Version: 4.36 +;; Version: 4.36b ;; ;; This file is part of GNU Emacs. ;; @@ -90,6 +90,10 @@ ;; ;; Recent changes ;; -------------- +;; Version 4.37 +;; - Clock-feature for measuring time spent on specific items. +;; - Improved emphasizing allows configuration and stacking. +;; ;; Version 4.36 ;; - Improved indentation of ASCII export, when headlines become items. ;; - Handling of 12am and 12pm fixed. Times beyond 24:00 can be used @@ -122,7 +126,7 @@ ;; - All context-sensitive commands use `call-interactively' to dispatch. ;; - `org-confirm-shell-links' renamed to `org-confirm-shell-link-function'. ;; - Bug fixes. -;; +;; ;; Version 4.31 ;; - Bug fixes. ;; @@ -163,7 +167,7 @@ ;; ;;; Code: -(eval-when-compile +(eval-when-compile (require 'cl) (require 'calendar)) (require 'outline) @@ -172,7 +176,7 @@ ;;; Customization variables -(defvar org-version "4.36" +(defvar org-version "4.36b" "The version number of the file org.el.") (defun org-version () (interactive) @@ -333,6 +337,11 @@ :group 'org-keywords :type 'string) +(defcustom org-clock-string "CLOCK:" + "String used as prefix for timestamps clocking work hours on an item." + :group 'org-keywords + :type 'string) + (defcustom org-comment-string "COMMENT" "Entries starting with this keyword will never be exported. An entry can be toggled between COMMENT and normal with @@ -2134,6 +2143,95 @@ :group 'org-font-lock :type 'boolean) +(defvar org-emph-re nil + "Regular expression for matching emphasis.") +(defvar org-emphasis-regexp-components) ; defined just below +(defvar org-emphasis-alist) ; defined just below +(defun org-set-emph-re (var val) + "Set variable and compute the emphasis regular expression." + (set var val) + (when (and (boundp 'org-emphasis-alist) + (boundp 'org-emphasis-regexp-components) + org-emphasis-alist org-emphasis-regexp-components) + (let* ((e org-emphasis-regexp-components) + (pre (car e)) + (post (nth 1 e)) + (border (nth 2 e)) + (body (nth 3 e)) + (nl (nth 4 e)) + (stacked (nth 5 e)) + (body1 (concat body "*?")) + (markers (mapconcat 'car org-emphasis-alist ""))) + ;; make sure special characters appear at the right position in the class + (if (string-match "\\^" markers) + (setq markers (concat (replace-match "" t t markers) "^"))) + (if (string-match "-" markers) + (setq markers (concat (replace-match "" t t markers) "-"))) + (while (>= (setq nl (1- nl)) 0) (setq body1 (concat body1 "\n?" body "*?"))) + ;; Make the regexp + (setq org-emph-re + (concat "\\([" pre (if stacked markers) "]\\|^\\)" + "\\(" + "\\([" markers "]\\)" + "\\(" + "[^" border markers "]" + body1 + "[^" border markers "]" + "\\)" + "\\3\\)" + "\\([" post (if stacked markers) "]\\|$\\)"))))) + +(defcustom org-emphasis-regexp-components + '(" \t(" " \t.,?;:'\")" " \t\r\n,." "." 1 nil) + "Components used to build the reqular expression for emphasis. +This is a list with 6 entries. Terminology: In an emphasis string +like \" *strong word* \", we call the initial space PREMATCH, the final +space POSTMATCH, the stars MARKERS, \"s\" and \"d\" are BORDER characters +and \"trong wor\" is the body. The different components in this variable +specify what is allowed/forbidden in each part: + +pre Chars allowed as prematch. Beginning of line will be allowed too. +post Chars allowed as postmatch. End of line will be allowed too. +border The chars *forbidden* as border characters. In addition to the + characters given here, all marker characters are forbidden too. +body-regexp A regexp like \".\" to match a body character. Don't use + non-shy groups here, and don't allow newline here. +newline The maximum number of newlines allowed in an emphasis exp. +stacked Non-nil means, allow stacked styles. This works only in HTML + export. When this is set, all marker characters (as given in + `org-emphasis-alist') will be allowed as pre/post, aiding + inside-out matching. +Use customize to modify this, or restart emacs after changing it." + :group 'org-fixme + :set 'org-set-emph-re + :type '(list + (sexp :tag "Allowed chars in pre ") + (sexp :tag "Allowed chars in post ") + (sexp :tag "Forbidden chars in border ") + (sexp :tag "Regexp for body ") + (integer :tag "number of newlines allowed") + (boolean :tag "Stacking allowed "))) + +(defcustom org-emphasis-alist + '(("*" bold "" "") + ("/" italic "" "") + ("_" underline "" "") + ("=" shadow "" "")) +"Special syntax for emphasised text. +Text starting and ending with a special character will be emphasized, for +example *bold*, _underlined_ and /italic/. This variable sets the marker +characters, the face to bbe used by font-lock for highlighting in Org-mode +emacs buffers, and the HTML tags to be used for this. +Use customize to modify this, or restart emacs after changing it." + :group 'org-fixme + :set 'org-set-emph-re + :type '(repeat + (list + (string :tag "Marker character") + (face :tag "Font-lock-face") + (string :tag "HTML start tag") + (string :tag "HTML end tag")))) + (defgroup org-faces nil "Faces in Org-mode." :tag "Org Faces" @@ -2374,21 +2472,6 @@ )) (defconst org-n-levels (length org-level-faces)) -(defconst org-bold-re - (if (featurep 'xemacs) - "\\([ ]\\|^\\)\\(\\*\\(\\w[a-zA-Z0-9-_ ]*?\\w\\)\\*\\)\\([ ,.]\\|$\\)" - "\\([ ]\\|^\\)\\(\\*\\(\\w[[:word:] -_]*?\\w\\)\\*\\)\\([ ,.]\\|$\\)") - "Regular expression for bold emphasis.") -(defconst org-italic-re - (if (featurep 'xemacs) - "\\([ ]\\|^\\)\\(/\\(\\w[a-zA-Z0-9-_ ]*?\\w\\)/\\)\\([ ,.]\\|$\\)" - "\\([ ]\\|^\\)\\(/\\(\\w[[:word:] -_]*?\\w\\)/\\)\\([ ,.]\\|$\\)") - "Regular expression for italic emphasis.") -(defconst org-underline-re - (if (featurep 'xemacs) - "\\([ ]\\|^\\)\\(_\\(\\w[a-zA-Z0-9-_ ]*?\\w\\)_\\)\\([ ,.]\\|$\\)" - "\\([ ]\\|^\\)\\(_\\(\\w[[:word:] -_]*?\\w\\)_\\)\\([ ,.]\\|$\\)") - "Regular expression for underline emphasis.") ;; Variables for pre-computed regular expressions, all buffer local (defvar org-done-string nil @@ -2582,12 +2665,14 @@ org-keyword-time-regexp (concat "\\<\\(" org-scheduled-string "\\|" org-deadline-string - "\\|" org-closed-string "\\)" + "\\|" org-closed-string + "\\|" org-clock-string "\\)" " *[[<]\\([^]>]+\\)[]>]") org-maybe-keyword-time-regexp (concat "\\(\\<\\(" org-scheduled-string "\\|" org-deadline-string - "\\|" org-closed-string "\\)\\)?" + "\\|" org-closed-string + "\\|" org-clock-string "\\)\\)?" " *\\([[<][0-9]\\{4\\}-[0-9]\\{2\\}-[0-9]\\{2\\}[^]\r\n>]*?[]>]\\)")) (org-set-font-lock-defaults))) @@ -2609,6 +2694,7 @@ (defvar timecnt) ; dynamically scoped parameter (defvar levels-open) ; dynamically scoped parameter (defvar entry) ; dynamically scoped parameter +(defvar state) ; dynamically scoped into `org-after-todo-state-change-hook' (defvar date) ; dynamically scoped parameter (defvar description) ; dynamically scoped parameter (defvar ans1) ; dynamically scoped parameter @@ -2640,7 +2726,7 @@ ;;; Define the mode -(defvar org-mode-map +(defvar org-mode-map (if (and (not (keymapp outline-mode-map)) (featurep 'allout)) (error "Conflict with outdated version of allout.el. Load org.el before allout.el, or ugrade to newer allout, for example by switching to Emacs 22.") (copy-keymap outline-mode-map)) @@ -2711,10 +2797,11 @@ (when (and org-ellipsis (stringp org-ellipsis)) (unless org-display-table (setq org-display-table (make-display-table))) - (set-display-table-slot org-display-table + (set-display-table-slot org-display-table 4 (string-to-vector org-ellipsis)) (setq buffer-display-table org-display-table)) (org-set-regexps-and-options) + (modify-syntax-entry ?# "<") (if org-startup-truncated (setq truncate-lines t)) (set (make-local-variable 'font-lock-unfontify-region-function) 'org-unfontify-region) @@ -2722,6 +2809,8 @@ (set (make-local-variable 'org-table-may-need-update) t) (org-add-hook 'before-change-functions 'org-before-change-function nil 'local) + ;; Check for running clock before killing a buffer + (org-add-hook 'kill-buffer-hook 'org-check-running-clock nil 'local) ;; Paragraphs and auto-filling (org-set-autofill-regexps) (org-update-radio-target-regexp) @@ -2793,7 +2882,7 @@ (defconst org-non-link-chars "]\t\n\r<>") (defconst org-link-types '("https?" "ftp" "mailto" "file" "news" "bbdb" "vm" "wl" "mhe" "rmail" "gnus" "shell" "info" "elisp")) -(defconst org-link-re-with-space +(defconst org-link-re-with-space (concat "?") "Matches a link with spaces, optional angular brackets around it.") -(defconst org-angle-link-re +(defconst org-angle-link-re (concat "<\\(" (mapconcat 'identity org-link-types "\\|") "\\):" "\\([^" org-non-link-chars " ]" @@ -2859,6 +2948,21 @@ org-ts-regexp "\\)?") "Regular expression matching a time stamp or time stamp range.") +(defvar org-§emph-face nil) + +(defun org-do-emphasis-faces (limit) + "Run through the buffer and add overlays to links." + (if (re-search-forward org-emph-re limit t) + (progn + (font-lock-prepend-text-property (match-beginning 2) (match-end 2) + 'face + (nth 1 (assoc (match-string 3) + org-emphasis-alist))) + (add-text-properties (match-beginning 2) (match-end 2) + '(font-lock-multiline t)) + (backward-char 1) + t))) + (defun org-activate-plain-links (limit) "Run through the buffer and add overlays to links." (if (re-search-forward org-plain-link-re limit t) @@ -3050,10 +3154,9 @@ (list (concat "\\<" org-deadline-string) '(0 'org-special-keyword t)) (list (concat "\\<" org-scheduled-string) '(0 'org-special-keyword t)) (list (concat "\\<" org-closed-string) '(0 'org-special-keyword t)) + (list (concat "\\<" org-clock-string) '(0 'org-special-keyword t)) ;; Emphasis - (if em (list org-bold-re 2 ''bold 'prepend)) - (if em (list org-italic-re 2 ''italic 'prepend)) - (if em (list org-underline-re 2 ''underline 'prepend)) + (if em '(org-do-emphasis-faces)) ;; Checkboxes, similar to Frank Ruell's org-checklet.el '("^[ \t]*\\([-+*]\\|[0-9]+[.)]\\) +\\(\\[[ X]\\]\\)" 2 'bold prepend) @@ -3148,7 +3251,7 @@ (if org-cycle-include-plain-lists "\\*+\\|\\([ \t]*\\)\\([-+*]\\|[0-9]+[.)]\\) " outline-regexp)) - (bob-special (and org-cycle-global-at-bob (bobp) + (bob-special (and org-cycle-global-at-bob (bobp) (not (looking-at outline-regexp)))) (org-cycle-hook (if bob-special nil org-cycle-hook)) (pos (point))) @@ -3268,10 +3371,15 @@ (org-cycle)))))) ;;;###autoload -(defun org-global-cycle () +(defun org-global-cycle (&optional arg) "Cycle the global visibility. For details see `org-cycle'." - (interactive) - (org-cycle '(4))) + (interactive "P") + (if (integerp arg) + (progn + (show-all) + (hide-sublevels arg) + (setq org-cycle-global-status 'contents)) + (org-cycle '(4)))) (defun org-overview () "Switch to overview mode, shoing only top-level headlines. @@ -3484,11 +3592,13 @@ (match-string 0)) (error "*")))) pos) - (cond - ((and (org-on-heading-p) (bolp) + (cond + ((and (org-on-heading-p) (bolp) (save-excursion (backward-char 1) (not (org-invisible-p)))) (open-line 1)) - ((bolp) nil) + ((and (bolp) (save-excursion + (backward-char 1) (not (org-invisible-p)))) + nil) (t (newline))) (insert head) (just-one-space) (setq pos (point)) @@ -3657,6 +3767,7 @@ (not (eobp))) (funcall fun))))) +;; FIXME: this does not work well with Tabulators. This has to be re-written entirely. (defun org-fixup-indentation (from to prohibit) "Change the indentation in the current entry by re-replacing FROM with TO. However, if the regexp PROHIBIT matches at all, don't do anything. @@ -3999,7 +4110,7 @@ (setq ind1 (org-get-indentation)) (unless (and (org-at-item-p) (= ind ind1)) (goto-char pos) - (error "On last item")))) + (error "On last item")))) (defun org-previous-item () "Move to the beginning of the previous item in the current plain list. @@ -4560,7 +4671,8 @@ (goto-char (1+ (match-end 0))) (if (and (not (looking-at outline-regexp)) (looking-at (concat "[^\r\n]*?" org-keyword-time-regexp - "[^\r\n]*"))) + "[^\r\n]*")) + (not (equal (match-string 1) org-clock-string))) (narrow-to-region (match-beginning 0) (match-end 0)) (insert "\n") (backward-char 1) @@ -4589,7 +4701,7 @@ " ") (insert (setq ts - (format-time-string + (format-time-string (if (eq what 'closed) (concat "[" (substring (cdr org-time-stamp-formats) 1 -1) "]") (car org-time-stamp-formats)) @@ -5258,6 +5370,193 @@ (interactive) (org-timestamp-change 0 'calendar)) +;;; The clock for measuring work time. + +(defvar org-clock-marker (make-marker) + "Marker recording the last clock-in.") + +(defun org-clock-in () + "Start the clock on the current item. +If necessary, clock-out of the currently active clock." + (interactive) + (org-clock-out t) + (let (ts) + (save-excursion + (org-back-to-heading t) + (beginning-of-line 2) + (if (and (looking-at (concat "[ \t]*" org-keyword-time-regexp)) + (not (equal (match-string 1) org-clock-string))) + (beginning-of-line 1)) + (insert "\n") (backward-char 1) + (indent-relative) + (insert org-clock-string " " + (setq ts (concat "[" (format-time-string + (substring + (cdr org-time-stamp-formats) 1 -1) + (current-time)) + "]"))) + (move-marker org-clock-marker (point)) + (message "Clock started at %s" ts)))) + +(defun org-clock-out (&optional fail-quietly) + "Stop the currently running clock. +If there is no running clock, throw an error, unless FAIL-QUIETLY is set." + (interactive) + (catch 'exit + (if (not (marker-buffer org-clock-marker)) + (if fail-quietly (throw 'exit t) (error "No active clock"))) + (let (ts te s h m) + (save-excursion + (set-buffer (marker-buffer org-clock-marker)) + (goto-char org-clock-marker) + (beginning-of-line 1) + (if (and (looking-at (concat "[ \t]*" org-keyword-time-regexp)) + (equal (match-string 1) org-clock-string)) + (setq ts (match-string 2)) + (if fail-quietly (throw 'exit nil) (error "Clock start time is gone"))) + (goto-char org-clock-marker) + (setq te (concat "[" (format-time-string + (substring + (cdr org-time-stamp-formats) 1 -1) + (current-time)) + "]")) + (setq s (- (time-to-seconds (apply 'encode-time (org-parse-time-string te))) + (time-to-seconds (apply 'encode-time (org-parse-time-string ts)))) + h (floor (/ s 3600)) + s (- s (* 3600 h)) + m (floor (/ s 60)) + s (- s (* 60 s))) + (insert "--" te " => " (format "%2d:%02d" h m)) + (move-marker org-clock-marker nil) + (message "Clock stopped at %s after HH:MM = %d:%02d" te h m))))) + +(defun org-clock-cancel () + "Cancel the running clock be removing the start timestamp." + (interactive) + (if (not (marker-buffer org-clock-marker)) + (error "No active clock")) + (save-excursion + (set-buffer (marker-buffer org-clock-marker)) + (goto-char org-clock-marker) + (delete-region (1- (point-at-bol)) (point-at-eol))) + (message "Clock canceled")) + +(defvar org-clock-file-total-minutes nil + "Holds the file total time in minutes, after a call to `org-clock-sum'.") + (make-variable-buffer-local 'org-clock-file-total-minutes) + +(defun org-clock-sum () + "Sum the times for each subtree. +Puts the resulting times in minutes as a text property on each headline." + (interactive) + (remove-text-properties (point-min) (point-max) '(:org-clock-minutes t)) + (let* ((re (concat "^\\(\\*+\\)[ \t]\\|^[ \t]*" + org-clock-string + ".*=>[ \t]*\\([0-9]+\\):\\([0-9]+\\)[ \t]*$")) + (lmax 30) + (ltimes (make-vector lmax 0)) + (t1 0) + (level 0) + (lastlevel 0) time) + (save-excursion + (goto-char (point-max)) + (while (re-search-backward re nil t) + (if (match-end 2) + ;; A time + (setq t1 (+ t1 (* 60 (string-to-number (match-string 2))) + (string-to-number (match-string 3)))) + ;; A headline + (setq level (- (match-end 1) (match-beginning 1))) + (when (or (> t1 0) (> (aref ltimes level) 0)) + (loop for l from 0 to level do + (aset ltimes l (+ (aref ltimes l) t1))) + (setq t1 0 time (aref ltimes level)) + (loop for l from level to (1- lmax) do + (aset ltimes l 0)) + (goto-char (match-beginning 0)) + (put-text-property (point) (point-at-eol) :org-clock-minutes time)))) + (setq org-clock-file-total-minutes (aref ltimes 0))))) + +(defun org-clock-display (&optional total-only) + "Show subtree times in the entire buffer. +If TOTAL-ONLY is non-nil, only show the total time for the entire file +in the echo area." + (interactive) + (org-remove-clock-overlays) + (let (time h m p) + (org-clock-sum) + (unless total-only + (save-excursion + (goto-char (point-min)) + (while (setq p (next-single-property-change (point) :org-clock-minutes)) + (goto-char p) + (when (setq time (get-text-property p :org-clock-minutes)) + (org-put-clock-overlay time (funcall outline-level)))) + (setq h (/ org-clock-file-total-minutes 60) + m (- org-clock-file-total-minutes (* 60 h))) + ;; Arrange to remove the overlays upon next change. + (org-add-hook 'before-change-functions 'org-remove-clock-overlays + nil 'local))) + (message "Total file time: %d:%02d (%d hours and %d minutes)" h m h m))) + +(defvar org-clock-overlays nil) +(defun org-put-clock-overlay (time &optional level) + "Put an overlays on the current line, displaying TIME. +If LEVEL is given, prefix time with a corresponding number of stars. +This creates a new overlay and stores it in `org-clock-overlays', so that it +will be easy to remove." + (let* ((c 60) (h (floor (/ time 60))) (m (- time (* 60 h))) + (l (if level (org-get-legal-level level 0) 0)) + (off 0) + ov tx) + (move-to-column c) + (if (eolp) (setq off 1)) + (unless (eolp) (skip-chars-backward "^ \t")) + (skip-chars-backward " \t") + (setq ov (org-make-overlay (- (point) off) (point-at-eol)) + tx (concat (make-string (+ off (max 0 (- c (current-column)))) ?.) + (org-add-props (format "%s %2d:%02d%s" + (make-string l ?*) h m + (make-string (- 10 l) ?\ )) + '(face secondary-selection)) + "")) + (org-overlay-put ov 'display tx) + (push ov org-clock-overlays))) + +(defun org-remove-clock-overlays (&optional beg end noremove) + "Remove the occur highlights from the buffer. +BEG and END are ignored. If NOREMOVE is nil, remove this function +from the `before-change-functions' in the current buffer." + (interactive) + (mapc 'org-delete-overlay org-clock-overlays) + (setq org-clock-overlays nil) + (unless noremove + (remove-hook 'before-change-functions + 'org-remove-clock-overlays 'local))) + +(defun org-clock-out-if-current () + "Clock out if the current entry contains the running clock. +This is used to stop the clock after a TODO entry is marked DONE." + (when (and (equal state org-done-string) + (equal (marker-buffer org-clock-marker) (current-buffer)) + (< (point) org-clock-marker) + (> (save-excursion (outline-next-heading) (point)) + org-clock-marker)) + (org-clock-out))) + +(add-hook 'org-after-todo-state-change-hook + 'org-clock-out-if-current) + +(defun org-check-running-clock () + "Check if the current buffer contains the running clock. +If yes, offer to stop it and to save the buffer with the changes." + (when (and (equal (marker-buffer org-clock-marker) (current-buffer)) + (y-or-n-p (format "Clock-out in buffer %s before killing it? " + (buffer-name)))) + (org-clock-out) + (when (y-or-n-p "Save changed buffer?") + (save-buffer)))) + ;;; Agenda, and Diary Integration ;;; Define the mode @@ -5361,6 +5660,9 @@ (define-key org-agenda-mode-map "h" 'org-agenda-holidays) (define-key org-agenda-mode-map "H" 'org-agenda-holidays) (define-key org-agenda-mode-map "+" 'org-agenda-priority-up) +(define-key org-agenda-mode-map "I" 'org-agenda-clock-in) +(define-key org-agenda-mode-map "O" 'org-clock-out) +(define-key org-agenda-mode-map "X" 'org-clock-cancel) (define-key org-agenda-mode-map "-" 'org-agenda-priority-down) (define-key org-agenda-mode-map (org-key 'S-up) 'org-agenda-priority-up) (define-key org-agenda-mode-map (org-key 'S-down) 'org-agenda-priority-down) @@ -6619,7 +6921,7 @@ (format "mouse-2 or RET jump to org file %s" (abbreviate-file-name buffer-file-name)))) (regexp (concat - "\\<" org-closed-string " *\\[" + "\\<\\(" org-closed-string "\\|" org-clock-string "\\) *\\[" (regexp-quote (substring (format-time-string @@ -6627,13 +6929,14 @@ (apply 'encode-time ; DATE bound by calendar (list 0 0 0 (nth 1 date) (car date) (nth 2 date)))) 1 11)))) - marker hdmarker priority category tags + marker hdmarker priority category tags closedp ee txt timestr) (goto-char (point-min)) (while (re-search-forward regexp nil t) (if (not (save-match-data (org-at-date-range-p))) (progn (setq marker (org-agenda-new-marker (match-beginning 0)) + closedp (equal (match-string 1) org-closed-string) category (org-get-category (match-beginning 0)) timestr (buffer-substring (match-beginning 0) (point-at-eol)) ;; donep (org-entry-is-done-p) @@ -6649,7 +6952,7 @@ tags (org-get-tags-at)) (looking-at "\\*+[ \t]*\\([^\r\n]+\\)") (setq txt (org-format-agenda-item - "Closed: " + (if closedp "Closed: " "Clocked: ") (match-string 1) category tags timestr))) (setq txt org-agenda-no-heading-message)) (setq priority 100000) @@ -6701,7 +7004,7 @@ (setq txt (org-format-agenda-item (format "In %3d d.: " diff) head category tags)))) (setq txt org-agenda-no-heading-message)) - (when txt + (when txt (setq face (cond ((<= diff 0) 'org-warning) ((<= diff 5) 'org-upcoming-deadline) (t nil))) @@ -6897,7 +7200,7 @@ (and org-agenda-remove-tags-when-in-prefix org-prefix-has-tag)) (setq txt (replace-match "" t t txt)) - (setq txt (replace-match + (setq txt (replace-match (concat (make-string (max (- 50 (length txt)) 1) ?\ ) (match-string 2 txt)) t t txt)))) @@ -7083,7 +7386,7 @@ (interactive) (let* ((tags (get-text-property (point-at-bol) 'tags))) (if tags - (message "Tags are :%s:" + (message "Tags are :%s:" (org-no-properties (mapconcat 'identity tags ":"))) (message "No tags associated with this line")))) @@ -7283,7 +7586,7 @@ (condition-case nil (while t (if (looking-at "[^\r\n]+?:\\([a-zA-Z_@0-9:]+\\):[ \t]*\\([\n\r]\\|\\'\\)") - (setq tags (append (org-split-string + (setq tags (append (org-split-string (org-match-string-no-properties 1) ":") tags))) (or org-use-tag-inheritance (error "")) @@ -7400,6 +7703,20 @@ (match-string 1) ""))) +(defun org-agenda-clock-in (&optional arg) + "Start the clock on the currently selected item." + (interactive "P") + (org-agenda-check-no-diary) + (let* ((marker (or (get-text-property (point) 'org-marker) + (org-agenda-error))) + (buffer (marker-buffer marker)) + (pos (marker-position marker)) + (hdmarker (get-text-property (point) 'org-hd-marker))) + (with-current-buffer (marker-buffer marker) + (widen) + (goto-char pos) + (org-clock-in)))) + (defun org-agenda-diary-entry () "Make a diary entry, like the `i' command from the calendar. All the standard commands work: block, weekly etc." @@ -7837,7 +8154,7 @@ (setq tbl table char ?a cnt 0) (while (setq e (pop tbl)) (cond - ((equal e '(:startgroup)) + ((equal e '(:startgroup)) (push '() groups) (setq ingroup t) (when (not (= cnt 0)) (setq cnt 0) @@ -7852,7 +8169,7 @@ (setq c (cdr e)) ;; automatically assign a character. (setq c1 (string-to-char - (downcase (substring + (downcase (substring tg (if (= (string-to-char tg) ?@) 1 0))))) (if (or (rassoc c1 ntable) (rassoc c1 table)) (while (or (rassoc char ntable) (rassoc char table)) @@ -7885,7 +8202,7 @@ (setq c (read-char-exclusive)) (cond ((= c ?\r) (throw 'exit t)) - ((= c ?!) + ((= c ?!) (setq groups nil) (goto-char (point-min)) (while (re-search-forward "[{}]" nil t) (replace-match " "))) @@ -8198,7 +8515,7 @@ (pre "") (post "") words re0 re1 re2 re3 re4 re5 re2a reall camel) (cond - ;; First check if there are any special + ;; First check if there are any special ((run-hook-with-args-until-success 'org-execute-file-search-functions s)) ;; Now try the builtin stuff ((save-excursion @@ -8644,8 +8961,8 @@ (interactive (list (y-or-n-p "Would you like to be queried for a description at each link?"))) (save-excursion (goto-char (point-min)) - (let ((re (concat "\\([^[]\\)<\\(" - "\\(" (mapconcat 'identity org-link-types "\\|") + (let ((re (concat "\\([^[]\\)<\\(" + "\\(" (mapconcat 'identity org-link-types "\\|") "\\):" "[^" org-non-link-chars "]+\\)>")) l1 l2 (cnt 0)) @@ -8763,7 +9080,7 @@ link (org-make-link cpltxt))) ((eq major-mode 'Info-mode) - (setq link (org-make-link "info:" + (setq link (org-make-link "info:" (file-name-nondirectory Info-current-file) ":" Info-current-node)) (setq cpltxt (concat (file-name-nondirectory Info-current-file) @@ -9110,8 +9427,8 @@ ;; We do have a link at point, and we are going to edit it. (setq remove (list (match-beginning 0) (match-end 0))) (setq desc (if (match-end 3) (org-match-string-no-properties 3))) - (setq link (read-string "Link: " - (org-link-unescape + (setq link (read-string "Link: " + (org-link-unescape (org-match-string-no-properties 1))))) (complete-file ;; Completing read for file names. @@ -9172,7 +9489,7 @@ (setq path (file-relative-name path))) (t (save-match-data - (if (string-match (concat "^" (regexp-quote + (if (string-match (concat "^" (regexp-quote (file-name-as-directory (expand-file-name ".")))) (expand-file-name path)) @@ -9187,7 +9504,7 @@ (insert (org-make-link-string link desc)))) (defun org-completing-read (&rest args) - (let ((minibuffer-local-completion-map + (let ((minibuffer-local-completion-map (copy-keymap minibuffer-local-completion-map))) (define-key minibuffer-local-completion-map " " 'self-insert-command) (apply 'completing-read args))) @@ -9667,7 +9984,7 @@ (error "Cannot narrow field starting with wide link \"%s\"" (match-string 0 xx))) (add-text-properties f1 (length xx) (list 'org-cwidth t) xx) - (add-text-properties (- f1 2) f1 + (add-text-properties (- f1 2) f1 (list 'display org-narrow-column-arrow) xx))))) ;; Get the maximum width for each column @@ -10229,7 +10546,7 @@ (buffer-substring (point-at-bol) (point-at-eol)))) (col (current-column))) (while (string-match "|\\( +\\)|" line) - (setq line (replace-match + (setq line (replace-match (concat "+" (make-string (- (match-end 1) (match-beginning 1)) ?-) "|") t t line))) (and (string-match "\\+" line) (setq line (replace-match "|" t t line))) @@ -11776,7 +12093,7 @@ (while (re-search-forward re nil t) (setq key (org-match-string-no-properties 1) val (org-match-string-no-properties 2)) - (cond + (cond ((string-equal key "TITLE") (setq p (plist-put p :title val))) ((string-equal key "AUTHOR")(setq p (plist-put p :author val))) ((string-equal key "EMAIL") (setq p (plist-put p :email val))) @@ -11789,7 +12106,7 @@ (let ((op '(("H" . :headline-levels) ("num" . :section-numbers) ("toc" . :table-of-contents) - ("\\n" . :preserve-breaks) + ("\\n" . :preserve-breaks) ("@" . :expand-quoted-html) (":" . :fixed-width) ("|" . :tables) @@ -11798,7 +12115,7 @@ ("TeX" . :TeX-macros))) o) (while (setq o (pop op)) - (if (string-match (concat (regexp-quote (car o)) + (if (string-match (concat (regexp-quote (car o)) ":\\([^ \t\n\r;,.]*\\)") options) (setq p (plist-put p (cdr o) @@ -11863,6 +12180,49 @@ (t (setq rtn (cons line rtn))))) (nreverse rtn))) +(defun org-export (&optional arg) + (interactive) + (let ((help "[t] insert the export option template +\[v] limit export to visible part of outline tree + +\[a] export as ASCII +\[h] export as HTML +\[b] export as HTML and browse immediately +\[x] export as XOXO + +\[i] export current file as iCalendar file +\[I] export all agenda files as iCalendar files +\[c] export agenda files into combined iCalendar file + +\[F] publish current file +\[P] publish current project +\[X] publish... (project will be prompted for) +\[A] publish all projects") + (cmds + '((?v . org-export-visible) + (?a . org-export-as-ascii) + (?h . org-export-as-html) + (?b . org-export-as-html-and-open) + (?x . org-export-as-xoxo) + (?i . org-export-icalendar-this-file) + (?I . org-export-icalendar-all-agenda-files) + (?c . org-export-icalendar-combine-agenda-files) + (?F . org-publish-current-file) + (?P . org-publish-current-project) + (?X . org-publish) + (?A . org-publish-all))) + r1 r2 ass) + (save-window-excursion + (delete-other-windows) + (with-output-to-temp-buffer "*Org Export/Publishing Help*" + (princ help)) + (message "Select command: ") + (setq r1 (read-char-exclusive))) + (setq r2 (if (< r1 27) (+ r1 96) r1)) + (if (setq ass (assq r2 cmds)) + (call-interactively (cdr ass)) + (error "No command associated with key %c" r1)))) + ;; ASCII (defconst org-html-entities @@ -12163,7 +12523,7 @@ It is supplemented by a number of commonly used TeX macros with appropriate translations. There is currently no way for users to extend this.") -(defun org-cleaned-string-for-export (string) +(defun org-cleaned-string-for-export (string &rest parameters) "Cleanup a buffer substring so that links can be created safely." (interactive) (let* ((cb (current-buffer)) @@ -12196,15 +12556,21 @@ (goto-char (point-min)) (while (re-search-forward re-plain-link nil t) (replace-match - (concat + (concat (match-string 1) "[[" (match-string 2) ":" (match-string 3) "]]") t t)) (goto-char (point-min)) (while (re-search-forward re-angle-link nil t) (replace-match - (concat + (concat (match-string 1) "[[" (match-string 2) ":" (match-string 3) "]]") t t)) + ;; Find multiline emphasis and put them into single line + (when (assq :emph-multiline parameters) + (goto-char (point-min)) + (while (re-search-forward org-emph-re nil t) + (subst-char-in-region (match-beginning 0) (match-end 0) ?\n ?\ t) + (goto-char (1- (match-end 0))))) ;; Remove comments (goto-char (point-min)) @@ -12293,7 +12659,7 @@ (case-fold-search nil) (filename (concat (file-name-as-directory (org-export-directory :ascii opt-plist)) - (file-name-sans-extension + (file-name-sans-extension (file-name-nondirectory buffer-file-name)) ".txt")) (buffer (find-file-noselect filename)) @@ -12327,7 +12693,7 @@ ;; create local variables for all options, to make sure all called ;; functions get the correct information (mapcar (lambda (x) - (set (make-local-variable (cdr x)) + (set (make-local-variable (cdr x)) (plist-get opt-plist (car x)))) org-export-plist-vars) (set (make-local-variable 'org-odd-levels-only) odd) @@ -12401,7 +12767,7 @@ (setq level (org-tr-level (- (match-end 1) (match-beginning 1))) txt (match-string 2 line)) (org-ascii-level-start level txt umax lines)) - (t + (t (insert (org-fix-indentation line org-ascii-current-indentation) "\n")))) (normal-mode) (save-buffer) @@ -12459,7 +12825,7 @@ (let (char (n (- level umax 1)) (ind 0)) (if (> level umax) (progn - (insert (make-string (* 2 n) ?\ ) + (insert (make-string (* 2 n) ?\ ) (char-to-string (nth (% n (length org-export-ascii-bullets)) org-export-ascii-bullets)) " " title "\n") @@ -12489,13 +12855,14 @@ org-mode file will not be removed but presented to you so that you can continue to use it. The prefix arg ARG is passed through to the exporting command." - (interactive + (interactive (list (progn (message "Export visible: [a]SCII [h]tml [b]rowse HTML [x]OXO [ ]keep buffer") (char-to-string (read-char-exclusive))) current-prefix-arg)) (if (not (member type '("a" "\C-a" "b" "\C-b" "h" "x" " "))) (error "Invalid export key")) + ;; FIXME: do this more explicit? (let* ((binding (key-binding (concat "\C-c\C-x" type))) (keepp (equal type " ")) (file buffer-file-name) @@ -12680,7 +13047,7 @@ (let* ((opt-plist (org-combine-plists (org-default-export-plist) ext-plist (org-infile-export-plist))) - + (style (plist-get opt-plist :style)) (odd org-odd-levels-only) (region-p (org-region-active-p)) @@ -12690,14 +13057,15 @@ (if region-p (region-end) (point-max)))) (all_lines (org-skip-comments (org-split-string - (org-cleaned-string-for-export region) + (org-cleaned-string-for-export + region :emph-multiline) "[\r\n]"))) (lines (org-export-find-first-heading-line all_lines)) (level 0) (line "") (origline "") txt todo (umax nil) - (filename (concat (file-name-as-directory + (filename (concat (file-name-as-directory (org-export-directory :html opt-plist)) - (file-name-sans-extension + (file-name-sans-extension (file-name-nondirectory buffer-file-name)) ".html")) (buffer (find-file-noselect filename)) @@ -12755,7 +13123,7 @@ ;; create local variables for all options, to make sure all called ;; functions get the correct information (mapcar (lambda (x) - (set (make-local-variable (cdr x)) + (set (make-local-variable (cdr x)) (plist-get opt-plist (car x)))) org-export-plist-vars) (setq umax (if arg (prefix-numeric-value arg) @@ -12946,7 +13314,7 @@ (if (string-match "::\\(.*\\)" filename) (setq search (match-string 1 filename) filename (replace-match "" t nil filename))) - (setq file-is-image-p + (setq file-is-image-p (string-match (org-image-file-name-regexp) filename)) (setq thefile (if abs-p (expand-file-name filename) filename)) (when (and org-export-html-link-org-files-as-html @@ -12959,7 +13327,7 @@ (not (string-match "^[0-9]*$" search)) (not (string-match "^\\*" search)) (not (string-match "^/.*/$" search))) - (setq thefile (concat thefile "#" + (setq thefile (concat thefile "#" (org-solidify-link-text (org-link-unescape search))))) (when (string-match "^file:" desc) @@ -13039,7 +13407,7 @@ line) (setq ind (org-get-string-indentation line) start-is-num (match-beginning 4) - starter (if (match-beginning 2) + starter (if (match-beginning 2) (substring (match-string 2 line) 0 -1)) line (substring line (match-beginning 5))) (unless (string-match "[^ \t]" line) @@ -13068,7 +13436,7 @@ (org-close-li) (insert "
  • \n"))) (if (string-match "^[ \t]*\\[\\([X ]\\)\\]" line) - (setq line + (setq line (replace-match (if (equal (match-string 1 line) "X") "[X]" @@ -13088,7 +13456,7 @@ (setq line (concat line "
    ")))) (insert line "\n"))))) - + ;; Properly close all local lists and other lists (when inquote (insert "\n")) (when in-local-list @@ -13115,7 +13483,7 @@ (insert "

    " (nth 2 lang-words) ": " date " " time "

    \n"))) - + (if org-export-html-with-timestamp (insert org-export-html-html-helper-timestamp)) (insert (or (plist-get opt-plist :postamble) "")) @@ -13288,9 +13656,9 @@ (if (not org-export-with-timestamps) (setq r (concat r (substring s 0 (match-beginning 0))) s (substring s (match-end 0))) - (setq r (concat + (setq r (concat r (substring s 0 (match-beginning 0)) - (if (match-end 1) + (if (match-end 1) (format "@%s @" (match-string 1 s))) (format " @%s@" @@ -13403,12 +13771,9 @@ string) (defun org-export-html-convert-emphasize (string) - (while (string-match org-italic-re string) - (setq string (replace-match "\\1\\3\\4" t nil string))) - (while (string-match org-bold-re string) - (setq string (replace-match "\\1\\3\\4" t nil string))) - (while (string-match org-underline-re string) - (setq string (replace-match "\\1\\3\\4" t nil string))) + "Apply emphasis." + (while (string-match org-emph-re string) + (setq string (replace-match (concat "\\1" (nth 2 (assoc (match-string 3 string) org-emphasis-alist)) "\\4" (nth 3 (assoc (match-string 3 string) org-emphasis-alist)) "\\5") t nil string))) string) (defvar org-par-open nil) @@ -13446,12 +13811,12 @@ ;; If title is nil, this means this function is called to close ;; all levels, so the rest is done only if title is given (when (string-match "\\(:[a-zA-Z0-9_@:]+:\\)[ \t]*$" title) - (setq title (replace-match + (setq title (replace-match (if org-export-with-tags (save-match-data (concat "   " - (mapconcat 'identity (org-split-string + (mapconcat 'identity (org-split-string (match-string 1 title) ":") " ") "")) @@ -13527,6 +13892,7 @@ string)) +;;;###autoload (defun org-export-icalendar-this-file () "Export current file as an iCalendar file. The iCalendar file will be located in the same directory as the Org-mode @@ -13551,7 +13917,7 @@ (org-infile-export-plist))) (filename (concat (file-name-as-directory (org-export-directory :xoxo opt-plist)) - (file-name-sans-extension + (file-name-sans-extension (file-name-nondirectory buffer-file-name)) ".html")) (out (find-file-noselect filename)) @@ -13636,11 +14002,11 @@ If COMBINE is non-nil, combine all calendar entries into a single large file and store it under the name `org-combined-agenda-icalendar-file'." (save-excursion - (let* ((dir (org-export-directory + (let* ((dir (org-export-directory :ical (list :publishing-directory org-export-publishing-directory))) file ical-file ical-buffer category started org-agenda-new-buffers) - + (when combine (setq ical-file (if (file-name-absolute-p org-combined-agenda-icalendar-file) @@ -13654,7 +14020,7 @@ (set-buffer (org-get-agenda-file-buffer file)) (unless combine (setq ical-file (concat (file-name-as-directory dir) - (file-name-sans-extension + (file-name-sans-extension (file-name-nondirectory buffer-file-name)) ".ics")) (setq ical-buffer (org-get-agenda-file-buffer ical-file)) @@ -13793,7 +14159,6 @@ ;; Make `C-c C-x' a prefix key (define-key org-mode-map "\C-c\C-x" (make-sparse-keymap)) -(define-key org-mode-map "\C-c\C-e" (make-sparse-keymap)) ;; TAB key with modifiers (define-key org-mode-map "\C-i" 'org-cycle) @@ -13889,40 +14254,46 @@ (define-key org-mode-map [(control ?#)] 'org-table-rotate-recalc-marks) (define-key org-mode-map "\C-c~" 'org-table-create-with-table.el) (define-key org-mode-map "\C-c\C-q" 'org-table-wrap-region) -(define-key org-mode-map "\C-c\C-xa" 'org-export-as-ascii) -(define-key org-mode-map "\C-c\C-x\C-a" 'org-export-as-ascii) -(define-key org-mode-map "\C-c\C-xv" 'org-export-visible) -(define-key org-mode-map "\C-c\C-x\C-v" 'org-export-visible) +(define-key org-mode-map "\C-c\C-e" 'org-export) +;(define-key org-mode-map "\C-c\C-xa" 'org-export-as-ascii) +;(define-key org-mode-map "\C-c\C-x\C-a" 'org-export-as-ascii) +;(define-key org-mode-map "\C-c\C-xv" 'org-export-visible) +;(define-key org-mode-map "\C-c\C-x\C-v" 'org-export-visible) ;; OPML support is only an option for the future ;(define-key org-mode-map "\C-c\C-xo" 'org-export-as-opml) ;(define-key org-mode-map "\C-c\C-x\C-o" 'org-export-as-opml) -(define-key org-mode-map "\C-c\C-xi" 'org-export-icalendar-this-file) -(define-key org-mode-map "\C-c\C-x\C-i" 'org-export-icalendar-all-agenda-files) -(define-key org-mode-map "\C-c\C-xc" 'org-export-icalendar-combine-agenda-files) -(define-key org-mode-map "\C-c\C-x\C-c" 'org-export-icalendar-combine-agenda-files) -(define-key org-mode-map "\C-c\C-xt" 'org-insert-export-options-template) +;(define-key org-mode-map "\C-c\C-xi" 'org-export-icalendar-this-file) +;(define-key org-mode-map "\C-c\C-x\C-i" 'org-export-icalendar-all-agenda-files) +;(define-key org-mode-map "\C-c\C-xc" 'org-export-icalendar-combine-agenda-files) +;(define-key org-mode-map "\C-c\C-x\C-c" 'org-export-icalendar-combine-agenda-files) +;(define-key org-mode-map "\C-c\C-xt" 'org-insert-export-options-template) (define-key org-mode-map "\C-c:" 'org-toggle-fixed-width-section) -(define-key org-mode-map "\C-c\C-xh" 'org-export-as-html) -(define-key org-mode-map "\C-c\C-xx" 'org-export-as-xoxo) -(define-key org-mode-map "\C-c\C-x\C-x" 'org-export-as-xoxo) -(define-key org-mode-map "\C-c\C-xb" 'org-export-as-html-and-open) -(define-key org-mode-map "\C-c\C-x\C-b" 'org-export-as-html-and-open) +;(define-key org-mode-map "\C-c\C-xh" 'org-export-as-html) +;(define-key org-mode-map "\C-c\C-xx" 'org-export-as-xoxo) +;(define-key org-mode-map "\C-c\C-x\C-x" 'org-export-as-xoxo) +;(define-key org-mode-map "\C-c\C-xb" 'org-export-as-html-and-open) +;(define-key org-mode-map "\C-c\C-x\C-b" 'org-export-as-html-and-open) (define-key org-mode-map "\C-c\C-x\C-k" 'org-cut-special) (define-key org-mode-map "\C-c\C-x\C-w" 'org-cut-special) (define-key org-mode-map "\C-c\C-x\M-w" 'org-copy-special) (define-key org-mode-map "\C-c\C-x\C-y" 'org-paste-special) -(define-key org-mode-map "\C-c\C-ef" 'org-publish-current-file) -(define-key org-mode-map "\C-c\C-ep" 'org-publish-current-project) -(define-key org-mode-map "\C-c\C-ec" 'org-publish) -(define-key org-mode-map "\C-c\C-ea" 'org-publish-all) -(define-key org-mode-map "\C-c\C-e\C-f" 'org-publish-current-file) -(define-key org-mode-map "\C-c\C-e\C-p" 'org-publish-current-project) -(define-key org-mode-map "\C-c\C-e\C-c" 'org-publish) -(define-key org-mode-map "\C-c\C-e\C-a" 'org-publish-all) - -(when (featurep 'xemacs) +(define-key org-mode-map "\C-c\C-x\C-i" 'org-clock-in) +(define-key org-mode-map "\C-c\C-x\C-o" 'org-clock-out) +(define-key org-mode-map "\C-c\C-x\C-x" 'org-clock-cancel) +(define-key org-mode-map "\C-c\C-x\C-d" 'org-clock-display) + +;(define-key org-mode-map "\C-c\C-ef" 'org-publish-current-file) +;(define-key org-mode-map "\C-c\C-ep" 'org-publish-current-project) +;(define-key org-mode-map "\C-c\C-ec" 'org-publish) +;(define-key org-mode-map "\C-c\C-ea" 'org-publish-all) +;(define-key org-mode-map "\C-c\C-e\C-f" 'org-publish-current-file) +;(define-key org-mode-map "\C-c\C-e\C-p" 'org-publish-current-project) +;(define-key org-mode-map "\C-c\C-e\C-c" 'org-publish) +;(define-key org-mode-map "\C-c\C-e\C-a" 'org-publish-all) + +(when (featurep 'xemacs) (define-key org-mode-map 'button3 'popup-mode-menu)) (defsubst org-table-p () (org-at-table-p)) @@ -13965,7 +14336,7 @@ (eq N 1) (string-match "|" (buffer-substring (point-at-bol) (point))) (looking-at ".*?|")) - (let ((pos (point)) + (let ((pos (point)) (noalign (looking-at "[^|\n\r]* |")) (c org-table-may-need-update)) (backward-delete-char N) @@ -14028,12 +14399,12 @@ "Throw an error because Shift-Cursor command was applied in wrong context." (error "This command is active in special context like tables, headlines or timestamps")) -(defun org-shifttab () +(defun org-shifttab (&optional arg) "Global visibility cycling or move to previous table field. Calls `org-cycle' with argument t, or `org-table-previous-field', depending on context. See the individual commands for more information." - (interactive) + (interactive "P") (cond ((org-at-table-p) (call-interactively 'org-table-previous-field)) (t (call-interactively 'org-global-cycle)))) @@ -14204,7 +14575,7 @@ - If the cursor is in one of the special #+KEYWORD lines, this triggers scanning the buffer for these lines and updating the - information. + information. - If the cursor is inside a table, realign the table. This command works even if the automatic table editor has been turned off. @@ -14227,6 +14598,12 @@ (interactive "P") (let ((org-enable-table-editor t)) (cond + (org-clock-overlays + (org-remove-clock-overlays) + (message "Clock overlays removed")) + (org-occur-highlights + (org-remove-occur-highlights) + (message "occur highlights removed")) ((and (local-variable-p 'org-finish-function (current-buffer)) (fboundp org-finish-function)) (funcall org-finish-function)) @@ -14403,6 +14780,18 @@ "--" ["Goto Calendar" org-goto-calendar t] ["Date from Calendar" org-date-from-calendar t]) + ("Logging work" + ["Clock in" org-clock-in t] + ["Clock out" org-clock-out t] + ["Clock cancel" org-clock-cancel t] + ["Display times" org-clock-display t] + "--" + ["Record DONE time" + (progn (setq org-log-done (not org-log-done)) + (message "Switching to %s will %s record a timestamp" + org-done-string + (if org-log-done "automatically" "not"))) + :style toggle :selected org-log-done]) "--" ["Agenda Command" org-agenda t] ("File List for Agenda") @@ -14426,28 +14815,10 @@ :style radio :selected (not (member '(org-link) buffer-invisibility-spec))] "--" ["Upgrade all to [[link][desc]]" org-upgrade-old-links - (save-excursion (goto-char (point-min)) + (save-excursion (goto-char (point-min)) (re-search-forward "<[a-z]+:" nil t))]) "--" - ("Export" - ["ASCII" org-export-as-ascii t] - ["Export visible part..." org-export-visible t] - ["HTML" org-export-as-html t] - ["HTML and Open" org-export-as-html-and-open t] - ["XOXO" org-export-as-xoxo t] - "--" - ["iCalendar this file" org-export-icalendar-this-file t] - ["iCalendar all agenda files" org-export-icalendar-all-agenda-files - :active t :keys "C-c C-x C-i"] - ["iCalendar combined" org-export-icalendar-combine-agenda-files t] - "--" - ["Option Template" org-insert-export-options-template t] - ["Toggle Fixed Width" org-toggle-fixed-width-section t]) - ("Publish" - ["Current File" org-publish-current-file t] - ["Current Project" org-publish-current-project t] - ["Project..." org-publish t] - ["All Projects" org-publish-all t]) + ["Export/Publish" org-export t] "--" ("Documentation" ["Show Version" org-version t] @@ -14649,6 +15020,7 @@ ;; But only if the user has not turned off tables or fixed-width regions (set (make-local-variable 'auto-fill-inhibit-regexp) (concat "\\*\\|#" + "\\|[ \t]*" org-keyword-time-regexp (if (or org-enable-table-editor org-enable-fixed-width-editor) (concat "\\|[ \t]*[" @@ -14968,10 +15340,5 @@ (run-hooks 'org-load-hook) - ;; arch-tag: e77da1a7-acc7-4336-b19e-efa25af3f9fd ;;; org.el ends here - - - - diff -r bdc1386b2827 -r 138027c8c982 lisp/textmodes/page-ext.el --- a/lisp/textmodes/page-ext.el Fri Jun 16 13:22:32 2006 +0000 +++ b/lisp/textmodes/page-ext.el Sat Jun 17 20:57:37 2006 +0000 @@ -777,7 +777,9 @@ (or filename pages-addresses-file-name)))) (widen) (pages-directory t nil nil) - (pages-directory-address-mode) + ;; by RJC, 2006 Jun 11: including this causes failure; it results in + ;; the message "Buffer in which pages were found is deleted" + ;; (pages-directory-address-mode) (setq pages-directory-buffer-narrowing-p pages-directory-for-addresses-goto-narrowing-p) (or pages-directory-for-addresses-buffer-keep-windows-p diff -r bdc1386b2827 -r 138027c8c982 lispref/ChangeLog --- a/lispref/ChangeLog Fri Jun 16 13:22:32 2006 +0000 +++ b/lispref/ChangeLog Sat Jun 17 20:57:37 2006 +0000 @@ -1,3 +1,52 @@ +2006-06-16 Richard Stallman + + * tips.texi (Coding Conventions): Better explain conventions + for definition constructs. + + * text.texi (Special Properties): String value of `read-only' + serves as the error message. + + * objects.texi (Character Type): Clarify prev. change. + (Non-ASCII in Strings): Mention \u and \U. + + * commands.texi (Using Interactive): Explain problem of + markers, etc., in command-history. + +2006-06-14 Kim F. Storm + + * commands.texi (Waiting): Negative arg to sit-for forces + redisplay even if input is pending. + + * display.texi (Forcing Redisplay): Use (sit-for -1) to force a + redisplay. Remove incorrect example of binding redisplay-dont-pause + around (sit-for 0). + +2006-06-13 Richard Stallman + + * display.texi (Forcing Redisplay): Clarify previous change. + +2006-06-13 Romain Francoise + + * display.texi (Forcing Redisplay): Fix typo. + +2006-06-13 Kim F. Storm + + * display.texi (Forcing Redisplay): Add redisplay-preemption-period. + +2006-06-10 Luc Teirlinck + + * tips.texi (Coding Conventions): Add `@end itemize'. + +2006-06-10 Richard Stallman + + * tips.texi (Coding Conventions): Explain use of coding systems + to ensure one decoding for strings. + +2006-06-09 Aidan Kehoe + + * objects.texi (Character Type): Describe the\uABCD and \U00ABCDEF + syntax. + 2006-06-07 Eli Zaretskii * display.texi (Font Selection): Remove description of diff -r bdc1386b2827 -r 138027c8c982 lispref/commands.texi --- a/lispref/commands.texi Fri Jun 16 13:22:32 2006 +0000 +++ b/lispref/commands.texi Sat Jun 17 20:57:37 2006 +0000 @@ -233,6 +233,20 @@ (let ((string (read-string "Foo: " nil 'my-history))) (list (region-beginning) (region-end) string))) @end smallexample + +@strong{Warning:} the argument values should not include any data +types that can't be printed and then read. Some facilities save +@code{command-history} in a file to be read in the subsequent +sessions; if a command's arguments contain a data type that prints +using @samp{#<@dots{}>} syntax, those facilities won't work. + +There are, however, a few exceptions: it is ok to use a limited set of +expressions such as @code{(point)}, @code{(mark)}, +@code{(region-beginning)}, and @code{(region-end)}, because Emacs +recognizes them specially and puts the expression (rather than its +value) into the command history. To see whether the expression you +wrote is one of these exceptions, run the command, then examine +@code{(car command-history)}. @end itemize @cindex examining the @code{interactive} form @@ -2532,8 +2546,11 @@ Some systems support only a whole number of seconds; on these systems, @var{seconds} is rounded down. +If @var{seconds} is negative, force a redisplay even if there is +pending input. So use @code{(sit-for -1)} to force a redisplay. + The expression @code{(sit-for 0)} is a convenient way to request a -redisplay, without any delay. @xref{Forcing Redisplay}. +redisplay, without any delay, if there is no pending input. @xref{Forcing Redisplay}. If @var{nodisp} is non-@code{nil}, then @code{sit-for} does not redisplay, but it still returns as soon as input is available (or when diff -r bdc1386b2827 -r 138027c8c982 lispref/display.texi --- a/lispref/display.texi Fri Jun 16 13:22:32 2006 +0000 +++ b/lispref/display.texi Sat Jun 17 20:57:37 2006 +0000 @@ -94,6 +94,20 @@ is exactly what you want. However, you can prevent preemption by binding @code{redisplay-dont-pause} to a non-@code{nil} value. +@tindex redisplay-preemption-period +@defvar redisplay-preemption-period +This variable specifies how many seconds Emacs waits between checks +for new input during redisplay. (The default is 0.1 seconds.) If +input has arrived when Emacs checks, it pre-empts redisplay and +processes the available input before trying again to redisplay. + +If this variable is @code{nil}, Emacs does not check for input during +redisplay, and redisplay cannot be preempted by input. + +@emph{Note} that this variable is only available if Emacs is built +with support for sub-second timers. +@end defvar + @tindex redisplay-dont-pause @defvar redisplay-dont-pause If this variable is non-@code{nil}, pending input does not @@ -101,14 +115,10 @@ regardless of whether input is available. @end defvar +@tindex sit-for You can request a display update, but only if no input is pending, with @code{(sit-for 0)}. To force a display update even when input is -pending, do this: - -@example -(let ((redisplay-dont-pause t)) - (sit-for 0)) -@end example +pending, use @code{(sit-for -1)}. @node Truncation @section Truncation diff -r bdc1386b2827 -r 138027c8c982 lispref/objects.texi --- a/lispref/objects.texi Fri Jun 16 13:22:32 2006 +0000 +++ b/lispref/objects.texi Sat Jun 17 20:57:37 2006 +0000 @@ -431,6 +431,19 @@ bit values are 2**22 for alt, 2**23 for super and 2**24 for hyper. @end ifnottex +@cindex unicode character escape + Emacs provides a syntax for specifying characters by their Unicode +code points. @code{?\u@var{nnnn}} represents a character that maps to +the Unicode code point @samp{U+@var{nnnn}}. There is a slightly +different syntax for specifying characters with code points above +@code{#xFFFF}; @code{\U00@var{nnnnnn}} represents the character whose +Unicode code point is @samp{U+@var{nnnnnn}}, if such a character +is supported by Emacs. + + This peculiar and inconvenient syntax was adopted for compatibility +with other programming languages. Unlike some other languages, Emacs +Lisp supports this syntax in only character literals and strings. + @cindex @samp{\} in character constant @cindex backslash in character constant @cindex octal character code @@ -1000,6 +1013,9 @@ string (even for an @acronym{ASCII} character) forces the string to be multibyte. + You can also specify characters in a string by their numeric values +in Unicode, using @samp{\u} and @samp{\U} (@pxref{Character Type}). + @xref{Text Representations}, for more information about the two text representations. diff -r bdc1386b2827 -r 138027c8c982 lispref/text.texi --- a/lispref/text.texi Fri Jun 16 13:22:32 2006 +0000 +++ b/lispref/text.texi Sat Jun 17 20:57:37 2006 +0000 @@ -3098,7 +3098,8 @@ @kindex read-only @r{(text property)} If a character has the property @code{read-only}, then modifying that character is not allowed. Any command that would do so gets an error, -@code{text-read-only}. +@code{text-read-only}. If the property value is a string, that string +is used as the error message. Insertion next to a read-only character is an error if inserting ordinary text there would inherit the @code{read-only} property due to diff -r bdc1386b2827 -r 138027c8c982 lispref/tips.texi --- a/lispref/tips.texi Fri Jun 16 13:22:32 2006 +0000 +++ b/lispref/tips.texi Sat Jun 17 20:57:37 2006 +0000 @@ -204,11 +204,14 @@ replacements differs from that of the originals. @item -Avoid using macros that define functions and variables with names that -are constructed. It is best for maintenance when the name of the -function or variable being defined is given explicitly in the source -code, as the second element of the list---as it is when you use -@code{defun}, @code{defalias}, @code{defvar} and @code{defcustom}. +Constructs that define a function or variable should be macros, +not functions, and their names should start with @samp{def}. + +@item +Macros that define a functions or variables should take the name to be +defined as the first argument. That will help various tools find the +definition automatically. Avoid constructing the names in the macro +itself, since that would confuse these tools. @item Please keep the names of your Emacs Lisp source files to 13 characters @@ -224,6 +227,32 @@ coherent if all libraries use the same conventions. @item +If your program contains non-ASCII characters in string or character +constants, you should make sure Emacs always decodes these characters +the same way, regardless of the user's settings. There are two ways +to do that: + +@itemize - +@item +Use coding system @code{emacs-mule}, and specify that for +@code{coding} in the @samp{-*-} line or the local variables list. + +@example +;; XXX.el -*- coding: emacs-mule; -*- +@end example + +@item +Use one of the coding systems based on ISO 2022 (such as +iso-8859-@var{n} and iso-2022-7bit), and specify it with @samp{!} at +the end for @code{coding}. (The @samp{!} turns off any possible +character translation.) + +@example +;; XXX.el -*- coding: iso-latin-2!; -*- +@end example +@end itemize + +@item Indent each function with @kbd{C-M-q} (@code{indent-sexp}) using the default indentation parameters. diff -r bdc1386b2827 -r 138027c8c982 man/ChangeLog --- a/man/ChangeLog Fri Jun 16 13:22:32 2006 +0000 +++ b/man/ChangeLog Sat Jun 17 20:57:37 2006 +0000 @@ -1,3 +1,16 @@ +2006-06-16 YAMAMOTO Mitsuharu + + * macos.texi (Mac Input): Add description of mac-function-modifier. + Now Unicode keyboard layouts work. + +2006-06-10 Carsten Dominik + + * org.texi: (Progress logging): New section. + +2006-06-10 Richard Stallman + + * mule.texi (Recognize Coding): Clarify previous change. + 2006-06-07 Kevin Ryde * mule.texi (Coding Systems): Footnote xref "MS-DOS and MULE" in main diff -r bdc1386b2827 -r 138027c8c982 man/macos.texi --- a/man/macos.texi Fri Jun 16 13:22:32 2006 +0000 +++ b/man/macos.texi Sat Jun 17 20:57:37 2006 +0000 @@ -45,16 +45,17 @@ @vindex mac-control-modifier @vindex mac-command-modifier @vindex mac-option-modifier - On Mac, Emacs can use @key{control}, @key{command}, and @key{option} -keys as any of Emacs modifier keys except @key{SHIFT} (i.e., -@key{ALT}, @key{CTRL}, @key{HYPER}, @key{META}, and @key{SUPER}). The -assignment is controlled by the variables @code{mac-control-modifier}, -@code{mac-command-modifier}, and @code{mac-option-modifier}. The -value for each of these variables can be one of the following symbols: -@code{alt}, @code{control}, @code{hyper}, @code{meta}, @code{super}, -and @code{nil} (no particular assignment). By default, the -@key{control} key works as @key{CTRL}, and the @key{command} key as -@key{META}. +@vindex mac-function-modifier + On Mac, Emacs can use @key{control}, @key{command}, @key{option}, and +laptop @key{function} keys as any of Emacs modifier keys except +@key{SHIFT} (i.e., @key{ALT}, @key{CTRL}, @key{HYPER}, @key{META}, and +@key{SUPER}). The assignment is controlled by the variables +@code{mac-control-modifier}, @code{mac-command-modifier}, +@code{mac-option-modifier}, and @code{mac-function-modifier}. The value +for each of these variables can be one of the following symbols: +@code{alt}, @code{control}, @code{hyper}, @code{meta}, @code{super}, and +@code{nil} (no particular assignment). By default, the @key{control} +key works as @key{CTRL}, and the @key{command} key as @key{META}. For the @key{option} key, if @code{mac-option-modifier} is set to @code{nil}, which is the default, the key works as the normal @@ -64,13 +65,9 @@ Emacs recognizes the setting in the Keyboard control panel (Mac OS Classic) or the International system preference pane (Mac OS X) and -supports international and alternative keyboard layouts (e.g., Dvorak) -if its script is either Roman, Japanese, Traditional Chinese, Korean, -Cyrillic, Simplified Chinese, or Central European. Keyboard layouts -based on Unicode may not work properly. (Try drag-and-drop if input -from the Character Palette does not work.) Selecting one of the layouts -from the keyboard layout pull-down menu will affect how the keys typed -on the keyboard are interpreted. +supports international and alternative keyboard layouts (e.g., Dvorak). +Selecting one of the layouts from the keyboard layout pull-down menu +will affect how the keys typed on the keyboard are interpreted. @vindex mac-pass-command-to-system @vindex mac-pass-control-to-system diff -r bdc1386b2827 -r 138027c8c982 man/mule.texi --- a/man/mule.texi Fri Jun 16 13:22:32 2006 +0000 +++ b/man/mule.texi Sat Jun 17 20:57:37 2006 +0000 @@ -824,6 +824,14 @@ explicitly in the file, that overrides @code{file-coding-system-alist}. + If you add the character @samp{!} at the end of the coding system +name, it disables any character translation while decoding the file. +For instance, it effectively cancels the effect of +@code{unify-8859-on-decoding-mode}. This is useful when you need to +make sure that the character codes in the Emacs buffer will not +according to user settings; for instance, for the sake of strings in +Emacs Lisp source files. + @vindex auto-coding-alist @vindex auto-coding-regexp-alist @vindex auto-coding-functions diff -r bdc1386b2827 -r 138027c8c982 man/org.texi --- a/man/org.texi Fri Jun 16 13:22:32 2006 +0000 +++ b/man/org.texi Sat Jun 17 20:57:37 2006 +0000 @@ -1,10 +1,9 @@ \input texinfo - @c %**start of header @setfilename ../info/org @settitle Org Mode Manual -@set VERSION 4.36 +@set VERSION 4.37 @set DATE June 2006 @dircategory Emacs @@ -146,7 +145,6 @@ TODO items * TODO basics:: Marking and displaying TODO entries -* Progress logging:: Document your productivity * TODO extensions:: Workflow and assignments * Priorities:: Some things are more important than others @@ -160,6 +158,12 @@ * Time stamps:: Assigning a time to a tree entry * Creating timestamps:: Commands which insert timestamps +* Progress logging:: Documenting when what work was done. + +Progress Logging + +* Closing items:: When was this entry makred DONE? +* Clocking work time:: When exactly did you work on this item? Tags @@ -1921,12 +1925,11 @@ @menu * TODO basics:: Marking and displaying TODO entries -* Progress logging:: Document your productivity * TODO extensions:: Workflow and assignments * Priorities:: Some things are more important than others @end menu -@node TODO basics, Progress logging, TODO items, TODO items +@node TODO basics, TODO extensions, TODO items, TODO items @section Basic TODO functionality Any headline can become a TODO item by starting it with the word TODO, @@ -1978,28 +1981,8 @@ @c agenda, customize the variable @code{org-agenda-include-all-todo}. @end table -@node Progress logging, TODO extensions, TODO basics, TODO items -@section Progress Logging -@cindex progress logging -@cindex logging, of progress -If you want to keep track of @emph{when} a certain TODO item was -finished, turn on logging with - -@lisp -(setq org-log-done t) -@end lisp - -@noindent -Then each time you turn a TODO entry into DONE using either @kbd{C-c -C-t} in the Org-mode buffer or @kbd{t} in the agenda buffer, a line -@samp{CLOSED: [timestamp]} will be inserted just after the headline. -If you turn the entry back into a TODO item again through further -state cycling, that line will be removed again. In the timeline -(@pxref{Timeline}) and in the agenda (@pxref{Weekly/Daily agenda}), -you can then use the @kbd{L} key to display the TODO items closed on -each day, giving you an overview of what has been done on a day. - -@node TODO extensions, Priorities, Progress logging, TODO items + +@node TODO extensions, Priorities, TODO basics, TODO items @section Extended use of TODO keywords @cindex extended TODO keywords @@ -2166,6 +2149,7 @@ @menu * Time stamps:: Assigning a time to a tree entry * Creating timestamps:: Commands which insert timestamps +* Progress logging:: Documenting when what work was done. @end menu @@ -2239,9 +2223,17 @@ a special time stamp each time a TODO entry is marked done (@pxref{Progress logging}). This time stamp is enclosed in square brackets instead of angular brackets. + +@item Time range with CLOCK keyword +@cindex CLOCK keyword +When using the clock to time the work that is being done on specific +items, time ranges preceeded by the CLOCK keyword are inserted +automatically into the file. The time stamps are enclosed in square +brackets instead of angular brackets. @xref{Clocking work time}. +@c FIXME: Reference needed @end table -@node Creating timestamps, , Time stamps, Timestamps +@node Creating timestamps, Progress logging, Time stamps, Timestamps @section Creating timestamps @cindex creating timestamps @cindex timestamps, creating @@ -2373,6 +2365,82 @@ Choose date in calendar (only if nothing typed into minibuffer). @end table +@node Progress logging, , Creating timestamps, Timestamps +@section Progress Logging +@cindex progress logging +@cindex logging, of progress + +Org-mode can automatically record a time stamp when you mark a TODO item +as DONE. You can also measure precisely the time you spent on specific +items in a project by starting and stopping a clock when you start and +stop working on an aspect of a project. + +@menu +* Closing items:: When was this entry makred DONE? +* Clocking work time:: When exactly did you work on this item? +@end menu + +@node Closing items, Clocking work time, Progress logging, Progress logging +@subsection Closing items + +If you want to keep track of @emph{when} a certain TODO item was +finished, turn on logging with + +@lisp +(setq org-log-done t) +@end lisp + +@noindent +Then each time you turn a TODO entry into DONE using either @kbd{C-c +C-t} in the Org-mode buffer or @kbd{t} in the agenda buffer, a line +@samp{CLOSED: [timestamp]} will be inserted just after the headline. +If you turn the entry back into a TODO item again through further +state cycling, that line will be removed again. In the timeline +(@pxref{Timeline}) and in the agenda (@pxref{Weekly/Daily agenda}), +you can then use the @kbd{l} key to display the TODO items closed on +each day, giving you an overview of what has been done on a day. + +@node Clocking work time, , Closing items, Progress logging +@subsection Clocking work time + +Org-mode allows you to clock the time you spent on specific tasks in a +project. When you start working on an item, you can start the clock. +When you stop working on that tast, or when you makr the task done, the +clock is stoppend and the corresponding time interval is recorded. It +also computes the total time spent on each subtree of a project. + +@table @kbd +@kindex C-c C-x C-i +@item C-c C-x C-i +Start the clock on the current item (clock-in). This inserts the CLOCK +keyword together with a timestamp. +@kindex C-c C-x C-o +@item C-c C-x C-o +Stop the clock (clock-out). The inserts another timestamp at the same +location where the clock was last started. It also directly computes +the resulting time in inserts it after the time range as @samp{=> +HH:MM}. +@kindex C-c C-t +@item C-c C-t +Changing the TODO state of an item to DONE automatically stops the clock +if it is running in this same item. +@kindex C-c C-x C-x +@item C-c C-x C-x +Cancel the current clock. This is useful if a clock was started by +mistake, or if you ended up working on something else. +@kindex C-c C-x C-d +@item C-c C-x C-d +Display time summaries for each subtree in the current buffer. This +puts overlays at the end of each headline, showing the total time +recorded under that heading, including the time of any subheadings. You +can use visibility cycling to study the tree, but the overlays disappear +automatically when the buffer is changed. +@end table + +The @kbd{l} key may be used in the timeline (@pxref{Timeline}) and in +the agenda (@pxref{Weekly/Daily agenda}) to show which tasks have been +worked on or closed during a day. + @node Tags, Agenda views, Timestamps, Top @chapter Tags @cindex tags @@ -2958,7 +3026,8 @@ @kindex l @item l Toggle Logbook mode. In Logbook mode, entries that where marked DONE while -logging was on (variable @code{org-log-done}) are shown in the agenda. +logging was on (variable @code{org-log-done}) are shown in the agenda, +as are entries that have been clocked on that day. @tsubheading{Change display} @kindex o @@ -3075,13 +3144,16 @@ The key @kbd{>} has been chosen, because it is the same as @kbd{S-.} on my keyboard. -@cindex diary entries, creating from agenda -@kindex i -@item i -Insert a new entry into the diary. Prompts for the type of entry -(day, weekly, monthly, yearly, anniversary, cyclic) and creates a new -entry in the diary, just as @kbd{i d} etc. would do in the calendar. -The date is taken from the cursor position. +@kindex I +@item I +Start the clock on the current item. If a clock is running already, it +is stopped first. +@kindex O +@item O +Stop the previously started clock. +@kindex X +@item X +Cancel the currently running clock. @tsubheading{Calendar commands} @kindex c @@ -3092,6 +3164,14 @@ When in the calendar, compute and show the Org-mode agenda for the date at the cursor. +@cindex diary entries, creating from agenda +@kindex i +@item i +Insert a new entry into the diary. Prompts for the type of entry +(day, weekly, monthly, yearly, anniversary, cyclic) and creates a new +entry in the diary, just as @kbd{i d} etc. would do in the calendar. +The date is taken from the cursor position. + @kindex M @item M Show the phases of the moon for the three months around current date. diff -r bdc1386b2827 -r 138027c8c982 src/.gdbinit --- a/src/.gdbinit Fri Jun 16 13:22:32 2006 +0000 +++ b/src/.gdbinit Sat Jun 17 20:57:37 2006 +0000 @@ -190,12 +190,8 @@ printf " ch=[%d,%d]", $it->c, $it->len end else - if ($it->what == IT_IMAGE) - printf " IMAGE=%d", $it->image_id - else - printf " " - output $it->what - end + printf " " + output $it->what end if ($it->method != GET_FROM_BUFFER) printf " next=" @@ -203,6 +199,12 @@ if ($it->method == GET_FROM_STRING) printf "[%d]", $it->current.string_pos.charpos end + if ($it->method == GET_FROM_IMAGE) + printf "[%d]", $it->image_id + end + if ($it->method == GET_FROM_COMPOSITION) + printf "[%d,%d,%d]", $it->cmp_id, $it->len, $it->cmp_len + end end printf "\n" if ($it->region_beg_charpos >= 0) @@ -372,6 +374,121 @@ Pretty print window structure w. end +define pgx + set $g = $arg0 + if ($g->type == CHAR_GLYPH) + if ($g->u.ch >= ' ' && $g->u.ch < 127) + printf "CHAR[%c]", $g->u.ch + else + printf "CHAR[0x%x]", $g->u.ch + end + end + if ($g->type == COMPOSITE_GLYPH) + printf "COMP[%d]", $g->u.cmp_id + end + if ($g->type == IMAGE_GLYPH) + printf "IMAGE[%d]", $g->u.img_id + end + if ($g->type == STRETCH_GLYPH) + printf "STRETCH[%d+%d]", $g->u.stretch.height, $g->u.stretch.ascent + end + xgettype ($g->object) + if ($type == Lisp_String) + printf " str=%x[%d]", $g->object, $g->charpos + else + printf " pos=%d", $g->charpos + end + printf " w=%d a+d=%d+%d", $g->pixel_width, $g->ascent, $g->descent + if ($g->face_id != DEFAULT_FACE_ID) + printf " face=%d", $g->face_id + end + if ($g->voffset) + printf " vof=%d", $g->voffset + end + if ($g->multibyte_p) + printf " MB" + end + if ($g->padding_p) + printf " PAD" + end + if ($g->glyph_not_available_p) + printf " N/A" + end + if ($g->overlaps_vertically_p) + printf " OVL" + end + if ($g->left_box_line_p) + printf " [" + end + if ($g->right_box_line_p) + printf " ]" + end + if ($g->slice.x || $g->slice.y || $g->slice.width || $g->slice.height) + printf " slice=%d,%d,%d,%d" ,$g->slice.x, $g->slice.y, $g->slice.width, $g->slice.height + end + printf "\n" +end +document pgx +Pretty print a glyph structure. +Takes one argument, a pointer to a glyph structure +end + +define pg + set $pgidx = 0 + pgx glyph +end +document pg +Pretty print glyph structure glyph. +end + +define pgi + set $pgidx = $arg0 + pgx (&glyph[$pgidx]) +end +document pgi +Pretty print glyph structure glyph[I]. +Takes one argument, a integer I. +end + +define pgn + set $pgidx = $pgidx + 1 + pgx (&glyph[$pgidx]) +end +document pgn +Pretty print next glyph structure. +end + +define pgrowx + set $row = $arg0 + set $area = 0 + set $xofs = $row->x + while ($area < 3) + set $used = $row->used[$area] + if ($used > 0) + set $gl0 = $row->glyphs[$area] + set $pgidx = 0 + printf "%s: %d glyphs\n", ($area == 0 ? "LEFT" : $area == 2 ? "RIGHT" : "TEXT"), $used + while ($pgidx < $used) + printf "%3d %4d: ", $pgidx, $xofs + pgx $gl0[$pgidx] + set $xofs = $xofs + $gl0[$pgidx]->pixel_width + set $pgidx = $pgidx + 1 + end + end + set $area = $area + 1 + end +end +document pgrowx +Pretty print all glyphs in a row structure. +Takes one argument, a pointer to a row structure. +end + +define pgrow + pgrowx row +end +document pgrow +Pretty print all glyphs in row structure row. +end define xtype xgettype $ diff -r bdc1386b2827 -r 138027c8c982 src/ChangeLog --- a/src/ChangeLog Fri Jun 16 13:22:32 2006 +0000 +++ b/src/ChangeLog Sat Jun 17 20:57:37 2006 +0000 @@ -1,3 +1,126 @@ +2006-06-17 Kim F. Storm + + * dispnew.c (update_frame): Check for input pending on entry. + (update_window, update_frame_1): Break loop if input is detected. + +2006-06-16 Francis Litterio + + * xterm.c (x_check_expected_move, handle_one_xevent) + (x_set_offset, x_check_fullscreen): Extensive changes to make + frame positioning deterministic under X. + + * xterm.h (x_output): Added members left_before_move and + top_before_move. Removed members expected_left and expected_top. + +2006-06-16 Kim F. Storm + + * dispextern.h (struct it): Add union to iterator stack to save + image, composition, and stretch specific paramters. + + * xdisp.c (next_overlay_string): Fix assert. + (push_it, pop_it): Handle composition and stretch specific values. + Only handle it->slice in image (for now). + (back_to_previous_visible_line_start): Continue search if newline is + part of a compisition. Simplify. + (reseat_1): Set it->object to buffer. + (set_iterator_to_next): Set it->object to string or buffer, when + setting it->method to GET_FROM_STRING or GET_FROM_BUFFER. + (next_element_from_composition): Set it->object to buffer if not + from string. + (set_cursor_from_row): Only save start of string if not already + done to handle multiple strings in a row. + + * .gdbinit (pitx): Show composition parameters. + (pgx, pg): New commands to print a glyph structure. + (pgi, pgn): New commands to print specific/next glyph. + (pgrowx, pgrow): New commands to print all glyphs in a row. + +2006-06-16 YAMAMOTO Mitsuharu + + * macfns.c (Fx_display_mm_height, Fx_display_mm_width) + [MAC_OS_X_VERSION_MAX_ALLOWED >= 1030]: Use CGDisplayScreenSize. + + * macterm.c (do_app_resume, do_app_suspend): Remove functions. + (mac_tsm_resume, mac_tsm_suspend) [USE_MAC_TSM]: New functions. + (mac_handle_window_event, XTread_socket) [USE_MAC_TSM]: Use them. + (Vmac_ts_script_language_on_focus) [USE_MAC_TSM]: New variable. + (syms_of_macterm) [USE_MAC_TSM]: Defvar it. + (saved_ts_language, saved_ts_component) [USE_MAC_TSM]: New variables. + (mac_initialize_display_info) [MAC_OSX]: Use Quartz Display + Services functions to get size of main display in pixels. + +2006-06-14 Chong Yidong + + * xdisp.c (back_to_previous_visible_line_start): Reset + it->continuation_lines_width. + +2006-06-14 Richard Stallman + + * eval.c (Fdefconst): Mark variable as risky. + + * callproc.c (Fcall_process): Doc fix. + + * window.c (adjust_window_trailing_edge): Don't break out of the loop + because there's no next window, if there are parallel windows. + Do break out when WINDOW is nil. + +2006-06-14 Kim F. Storm + + * dispextern.h (IT_STACK_SIZE): New macro specifying size of + iterator stack (instead of hardcoded number). Increase from 2 to + 4 to make room for propertized overlay strings before and after a + display string, image or composition. + (struct it): Add image_id and method members to iterator stack. + + * xdisp.c (init_from_display_pos): Don't set it->method and + overlay_string_index after pop_it. Add asserts. + (handle_stop): Look for overlay strings around a display string, + image, or composition. Handle properties on those strings. + (next_overlay_string): Don't set string, pos or method after pop_it. + (get_overlay_strings_1): Split from get_overlay_strings; don't + modify it if no overlay strings are found. + (get_overlay_strings): Use get_overlay_strings_1. Always set + it->string and it->method. + (push_it): Push it->image_id and it->method. Push it->object + instead of it->string if method is GET_FROM_IMAGE. + (pop_it): Pop it->image_id and it->method. Ppo it->object + instead of it->string if method is GET_FROM_IMAGE. + Reset it->current.string_pos if popped it->string is nil. + (reseat_1): Remove comment dated 19 May 2003. It expressed doubt + whether a given change was correct; but the change is correct. + Clear it->string_from_display_prop_p. + (set_iterator_to_next): Rely on it->method and it->image_id from + iterator stack, instead of setting them explicitly after pop_it. + + * dispnew.c (sit_for): Undo 2006-06-01 change. Instead, a + negative time forces redisplay even when input is available. + (Fsit_for): Doc fix. + +2006-06-13 Kim F. Storm + + * dispnew.c: Modify preemptive redisplay to be based on periodic + checks for input. + (PERIODIC_PREEMPTION_CHECKING): Define to 1 iff EMACS_HAS_USECS. + (Vredisplay_preemption_period): New variable. + (syms_of_display): DEFVAR_LISP and initialize it. + (preemption_period, preemption_next_check): New variables. + (update_frame, update_single_window): Initialize them based on + Vredisplay_preemption_period if !force_p. + (update_window, update_frame_1): Use them to determine when to + check for input. + +2006-06-03 Aidan Kehoe + + * lread.c (read_escape): Provide a Unicode character escape + syntax; \u followed by exactly four or \U followed by exactly + eight hex digits in a comment or string is read as a Unicode + character with that code point. + +2006-06-09 Eli Zaretskii + + * window.c (window_scroll_pixel_based): Signal "Beginning of + buffer" when scroll-down at the beginning of an empty buffer. + 2006-06-06 YAMAMOTO Mitsuharu * macterm.c [USE_MAC_TSM] (mac_handle_text_input_event): Exclude diff -r bdc1386b2827 -r 138027c8c982 src/callproc.c --- a/src/callproc.c Fri Jun 16 13:22:32 2006 +0000 +++ b/src/callproc.c Sat Jun 17 20:57:37 2006 +0000 @@ -203,6 +203,10 @@ Fourth arg DISPLAY non-nil means redisplay buffer as output is inserted. Remaining arguments are strings passed as command arguments to PROGRAM. +If executable PROGRAM can't be found as an executable, `call-process' +signals a Lisp error. `call-process' reports errors in execution of +the program only through its return and output. + If BUFFER is 0, `call-process' returns immediately with value nil. Otherwise it waits for PROGRAM to terminate and returns a numeric exit status or a signal description string. diff -r bdc1386b2827 -r 138027c8c982 src/dispextern.h --- a/src/dispextern.h Fri Jun 16 13:22:32 2006 +0000 +++ b/src/dispextern.h Sat Jun 17 20:57:37 2006 +0000 @@ -1827,6 +1827,8 @@ NUM_IT_METHODS }; +#define IT_STACK_SIZE 4 + struct it { /* The window in which we iterate over current_buffer (or a string). */ @@ -1938,19 +1940,34 @@ int stop_charpos; int face_id; Lisp_Object string; + union { + struct { + Lisp_Object object; + struct it_slice slice; + int image_id; + } image; + struct { + Lisp_Object object; + int c, len; + int cmp_id, cmp_len; + } comp; + struct { + Lisp_Object object; + } stretch; + } u; struct display_pos pos; int end_charpos; int string_nchars; enum glyph_row_area area; + enum it_method method; unsigned multibyte_p : 1; unsigned string_from_display_prop_p : 1; unsigned display_ellipsis_p : 1; - struct it_slice slice; Lisp_Object space_width; short voffset; Lisp_Object font_height; } - stack[2]; + stack[IT_STACK_SIZE]; /* Stack pointer. */ int sp; diff -r bdc1386b2827 -r 138027c8c982 src/dispnew.c --- a/src/dispnew.c Fri Jun 16 13:22:32 2006 +0000 +++ b/src/dispnew.c Sat Jun 17 20:57:37 2006 +0000 @@ -192,6 +192,28 @@ int redisplay_dont_pause; +/* Define PERIODIC_PREEMPTION_CHECKING to 1, if micro-second timers + are supported, so we can check for input during redisplay at + regular intervals. */ +#ifdef EMACS_HAS_USECS +#define PERIODIC_PREEMPTION_CHECKING 1 +#else +#define PERIODIC_PREEMPTION_CHECKING 0 +#endif + +#if PERIODIC_PREEMPTION_CHECKING + +/* If a number (float), check for user input every N seconds. */ + +Lisp_Object Vredisplay_preemption_period; + +/* Redisplay preemption timers. */ + +static EMACS_TIME preemption_period; +static EMACS_TIME preemption_next_check; + +#endif + /* Nonzero upon entry to redisplay means do not assume anything about current contents of actual terminal frame; clear and redraw it. */ @@ -3806,6 +3828,28 @@ int paused_p; struct window *root_window = XWINDOW (f->root_window); +#if PERIODIC_PREEMPTION_CHECKING + if (!force_p && NUMBERP (Vredisplay_preemption_period)) + { + EMACS_TIME tm; + double p = XFLOATINT (Vredisplay_preemption_period); + int sec, usec; + + if (detect_input_pending_ignore_squeezables ()) + { + paused_p = 1; + goto do_pause; + } + + sec = (int) p; + usec = (p - sec) * 1000000; + + EMACS_GET_TIME (tm); + EMACS_SET_SECS_USECS (preemption_period, sec, usec); + EMACS_ADD_TIME (preemption_next_check, tm, preemption_period); + } +#endif + if (FRAME_WINDOW_P (f)) { /* We are working on window matrix basis. All windows whose @@ -3884,6 +3928,7 @@ #endif } + do_pause: /* Reset flags indicating that a window should be updated. */ set_window_update_flags (root_window, 0); @@ -3938,6 +3983,22 @@ /* Record that this is not a frame-based redisplay. */ set_frame_matrix_frame (NULL); +#if PERIODIC_PREEMPTION_CHECKING + if (!force_p && NUMBERP (Vredisplay_preemption_period)) + { + EMACS_TIME tm; + double p = XFLOATINT (Vredisplay_preemption_period); + int sec, usec; + + sec = (int) p; + usec = (p - sec) * 1000000; + + EMACS_GET_TIME (tm); + EMACS_SET_SECS_USECS (preemption_period, sec, usec); + EMACS_ADD_TIME (preemption_next_check, tm, preemption_period); + } +#endif + /* Update W. */ update_begin (f); update_window (w, force_p); @@ -4093,7 +4154,9 @@ { struct glyph_matrix *desired_matrix = w->desired_matrix; int paused_p; +#if !PERIODIC_PREEMPTION_CHECKING int preempt_count = baud_rate / 2400 + 1; +#endif extern int input_pending; extern Lisp_Object do_mouse_tracking; #if GLYPH_DEBUG @@ -4105,8 +4168,13 @@ /* Check pending input the first time so that we can quickly return. */ if (redisplay_dont_pause) force_p = 1; - else +#if PERIODIC_PREEMPTION_CHECKING + else if (NILP (Vredisplay_preemption_period)) + force_p = 1; +#else + else if (!force_p) detect_input_pending_ignore_squeezables (); +#endif /* If forced to complete the update, or if no input is pending, do the update. */ @@ -4178,9 +4246,23 @@ detect_input_pending. If it's done too often, scrolling large windows with repeated scroll-up commands will too quickly pause redisplay. */ +#if PERIODIC_PREEMPTION_CHECKING + if (!force_p) + { + EMACS_TIME tm, dif; + EMACS_GET_TIME (tm); + EMACS_SUB_TIME (dif, preemption_next_check, tm); + if (EMACS_TIME_NEG_P (dif)) + { + EMACS_ADD_TIME (preemption_next_check, tm, preemption_period); + if (detect_input_pending_ignore_squeezables ()) + break; + } + } +#else if (!force_p && ++n_updated % preempt_count == 0) detect_input_pending_ignore_squeezables (); - +#endif changed_p |= update_window_line (w, vpos, &mouse_face_overwritten_p); @@ -5131,11 +5213,16 @@ if (redisplay_dont_pause) force_p = 1; +#if PERIODIC_PREEMPTION_CHECKING + else if (NILP (Vredisplay_preemption_period)) + force_p = 1; +#else else if (!force_p && detect_input_pending_ignore_squeezables ()) { pause = 1; goto do_pause; } +#endif /* If we cannot insert/delete lines, it's no use trying it. */ if (!line_ins_del_ok) @@ -5186,8 +5273,23 @@ } } - if ((i - 1) % preempt_count == 0) +#if PERIODIC_PREEMPTION_CHECKING + if (!force_p) + { + EMACS_TIME tm, dif; + EMACS_GET_TIME (tm); + EMACS_SUB_TIME (dif, preemption_next_check, tm); + if (EMACS_TIME_NEG_P (dif)) + { + EMACS_ADD_TIME (preemption_next_check, tm, preemption_period); + if (detect_input_pending_ignore_squeezables ()) + break; + } + } +#else + if (!force_p && (i - 1) % preempt_count == 0) detect_input_pending_ignore_squeezables (); +#endif update_frame_line (f, i); } @@ -6388,15 +6490,22 @@ sit_for (sec, usec, reading, display, initial_display) int sec, usec, reading, display, initial_display; { + int preempt = (sec >= 0) || (sec == 0 && usec >= 0); + swallow_events (display); - if ((detect_input_pending_run_timers (display) - && !redisplay_dont_pause) + if ((detect_input_pending_run_timers (display) && preempt) || !NILP (Vexecuting_kbd_macro)) return Qnil; if (initial_display) - redisplay_preserve_echo_area (2); + { + int count = SPECPDL_INDEX (); + if (!preempt) + specbind (Qredisplay_dont_pause, Qt); + redisplay_preserve_echo_area (2); + unbind_to (count, Qnil); + } if (sec == 0 && usec == 0) return Qt; @@ -6422,8 +6531,7 @@ if input is available before it starts. Value is t if waited the full time with no input arriving. -Redisplay will occur even when input is available if you bind -`redisplay-dont-pause' to a non-nil value. +Redisplay will occur even when input is available if SECONDS is negative. An obsolete but still supported form is \(sit-for SECONDS &optional MILLISECONDS NODISP) @@ -6922,7 +7030,14 @@ doc: /* *Non-nil means update isn't paused when input is detected. */); redisplay_dont_pause = 0; - /* Initialize `window-system', unless init_display already decided it. */ +#if PERIODIC_PREEMPTION_CHECKING + DEFVAR_LISP ("redisplay-preemption-period", &Vredisplay_preemption_period, + doc: /* *The period in seconds between checking for input during redisplay. +If input is detected, redisplay is pre-empted, and the input is processed. +If nil, never pre-empt redisplay. */); + Vredisplay_preemption_period = make_float (0.10); +#endif + #ifdef CANNOT_DUMP if (noninteractive) #endif diff -r bdc1386b2827 -r 138027c8c982 src/eval.c --- a/src/eval.c Fri Jun 16 13:22:32 2006 +0000 +++ b/src/eval.c Sat Jun 17 20:57:37 2006 +0000 @@ -195,9 +195,10 @@ Lisp_Object Vmacro_declaration_function; +extern Lisp_Object Qrisky_local_variable; static Lisp_Object funcall_lambda P_ ((Lisp_Object, int, Lisp_Object*)); - + void init_eval_once () { @@ -895,6 +896,7 @@ tem = Fpurecopy (tem); Fput (sym, Qvariable_documentation, tem); } + Fput (sym, Qrisky_local_variable, Qt); LOADHIST_ATTACH (sym); return sym; } diff -r bdc1386b2827 -r 138027c8c982 src/lread.c --- a/src/lread.c Fri Jun 16 13:22:32 2006 +0000 +++ b/src/lread.c Sat Jun 17 20:57:37 2006 +0000 @@ -1924,6 +1924,9 @@ int stringp; { register int c = READCHAR; + /* \u allows up to four hex digits, \U up to eight. Default to the + behaviour for \u, and change this value in the case that \U is seen. */ + int unicode_hex_count = 4; switch (c) { @@ -2090,6 +2093,52 @@ return i; } + case 'U': + /* Post-Unicode-2.0: Up to eight hex chars. */ + unicode_hex_count = 8; + case 'u': + + /* A Unicode escape. We only permit them in strings and characters, + not arbitrarily in the source code, as in some other languages. */ + { + int i = 0; + int count = 0; + Lisp_Object lisp_char; + struct gcpro gcpro1; + + while (++count <= unicode_hex_count) + { + c = READCHAR; + /* isdigit(), isalpha() may be locale-specific, which we don't + want. */ + if (c >= '0' && c <= '9') i = (i << 4) + (c - '0'); + else if (c >= 'a' && c <= 'f') i = (i << 4) + (c - 'a') + 10; + else if (c >= 'A' && c <= 'F') i = (i << 4) + (c - 'A') + 10; + else + { + error ("Non-hex digit used for Unicode escape"); + break; + } + } + + GCPRO1 (readcharfun); + lisp_char = call2(intern("decode-char"), intern("ucs"), + make_number(i)); + UNGCPRO; + + if (EQ(Qnil, lisp_char)) + { + /* This is ugly and horrible and trashes the user's data. */ + XSETFASTINT (i, MAKE_CHAR (charset_katakana_jisx0201, + 34 + 128, 46 + 128)); + return i; + } + else + { + return XFASTINT (lisp_char); + } + } + default: return c; } diff -r bdc1386b2827 -r 138027c8c982 src/macfns.c --- a/src/macfns.c Fri Jun 16 13:22:32 2006 +0000 +++ b/src/macfns.c Sat Jun 17 20:57:37 2006 +0000 @@ -3070,11 +3070,20 @@ (display) Lisp_Object display; { - /* MAC_TODO: this is an approximation, and only of the main display */ - struct mac_display_info *dpyinfo = check_x_display_info (display); - + /* Only of the main display. */ +#if MAC_OS_X_VERSION_MAX_ALLOWED >= 1030 + CGSize size; + + BLOCK_INPUT; + size = CGDisplayScreenSize (kCGDirectMainDisplay); + UNBLOCK_INPUT; + + return make_number ((int) (size.height + .5f)); +#else + /* This is an approximation. */ return make_number ((int) (dpyinfo->height * 25.4 / dpyinfo->resy)); +#endif } DEFUN ("x-display-mm-width", Fx_display_mm_width, Sx_display_mm_width, 0, 1, 0, @@ -3085,11 +3094,20 @@ (display) Lisp_Object display; { - /* MAC_TODO: this is an approximation, and only of the main display */ - struct mac_display_info *dpyinfo = check_x_display_info (display); - + /* Only of the main display. */ +#if MAC_OS_X_VERSION_MAX_ALLOWED >= 1030 + CGSize size; + + BLOCK_INPUT; + size = CGDisplayScreenSize (kCGDirectMainDisplay); + UNBLOCK_INPUT; + + return make_number ((int) (size.width + .5f)); +#else + /* This is an approximation. */ return make_number ((int) (dpyinfo->width * 25.4 / dpyinfo->resx)); +#endif } DEFUN ("x-display-backing-store", Fx_display_backing_store, diff -r bdc1386b2827 -r 138027c8c982 src/macterm.c --- a/src/macterm.c Fri Jun 16 13:22:32 2006 +0000 +++ b/src/macterm.c Sat Jun 17 20:57:37 2006 +0000 @@ -8533,6 +8533,9 @@ static Lisp_Object Qupdate_active_input_area, Qunicode_for_key_event; static Lisp_Object Vmac_ts_active_input_overlay; extern Lisp_Object Qbefore_string; +static Lisp_Object Vmac_ts_script_language_on_focus; +static ScriptLanguageRecord saved_ts_language; +static Component saved_ts_component; #endif #endif extern int mac_ready_for_apple_events; @@ -8882,22 +8885,84 @@ return 0; } -static void -do_app_resume () -{ #if USE_MAC_TSM - ActivateTSMDocument (tsm_document_id); -#endif -} - -static void -do_app_suspend () -{ -#if USE_MAC_TSM - DeactivateTSMDocument (tsm_document_id); -#endif -} - +static OSStatus +mac_tsm_resume () +{ + OSStatus err; + ScriptLanguageRecord slrec, *slptr = NULL; + + err = ActivateTSMDocument (tsm_document_id); + + if (err == noErr) + { + if (EQ (Vmac_ts_script_language_on_focus, Qt)) + slptr = &saved_ts_language; + else if (CONSP (Vmac_ts_script_language_on_focus) + && INTEGERP (XCAR (Vmac_ts_script_language_on_focus)) + && INTEGERP (XCDR (Vmac_ts_script_language_on_focus))) + { + slrec.fScript = XINT (XCAR (Vmac_ts_script_language_on_focus)); + slrec.fLanguage = XINT (XCDR (Vmac_ts_script_language_on_focus)); + slptr = &slrec; + } + } + + if (slptr) + { +#if MAC_OS_X_VERSION_MAX_ALLOWED >= 1020 + err = SetDefaultInputMethodOfClass (saved_ts_component, slptr, + kKeyboardInputMethodClass); +#else + err = SetDefaultInputMethod (saved_ts_component, slptr); +#endif + if (err == noErr) + err = SetTextServiceLanguage (slptr); + + /* Seems to be needed on Mac OS X 10.2. */ + if (err == noErr) + KeyScript (slptr->fScript | smKeyForceKeyScriptMask); + } + + return err; +} + +static OSStatus +mac_tsm_suspend () +{ + OSStatus err; + ScriptLanguageRecord slrec, *slptr = NULL; + + if (EQ (Vmac_ts_script_language_on_focus, Qt)) + { + err = GetTextServiceLanguage (&saved_ts_language); + if (err == noErr) + slptr = &saved_ts_language; + } + else if (CONSP (Vmac_ts_script_language_on_focus) + && INTEGERP (XCAR (Vmac_ts_script_language_on_focus)) + && INTEGERP (XCDR (Vmac_ts_script_language_on_focus))) + { + slrec.fScript = XINT (XCAR (Vmac_ts_script_language_on_focus)); + slrec.fLanguage = XINT (XCDR (Vmac_ts_script_language_on_focus)); + slptr = &slrec; + } + + if (slptr) + { +#if MAC_OS_X_VERSION_MAX_ALLOWED >= 1020 + GetDefaultInputMethodOfClass (&saved_ts_component, slptr, + kKeyboardInputMethodClass); +#else + GetDefaultInputMethod (&saved_ts_component, slptr); +#endif + } + + err = DeactivateTSMDocument (tsm_document_id); + + return err; +} +#endif static void do_apple_menu (SInt16 menu_item) @@ -9351,12 +9416,12 @@ #if USE_MAC_TSM case kEventWindowFocusAcquired: result = CallNextEventHandler (next_handler, event); - err = ActivateTSMDocument (tsm_document_id); + err = mac_tsm_resume (); return err == noErr ? noErr : result; case kEventWindowFocusRelinquish: result = CallNextEventHandler (next_handler, event); - err = DeactivateTSMDocument (tsm_document_id); + err = mac_tsm_suspend (); return err == noErr ? noErr : result; #endif } @@ -10391,10 +10456,12 @@ switch ((er.message >> 24) & 0x000000FF) { case suspendResumeMessage: - if ((er.message & resumeFlag) == 1) - do_app_resume (); +#if USE_MAC_TSM + if (er.message & resumeFlag) + mac_tsm_resume (); else - do_app_suspend (); + mac_tsm_suspend (); +#endif break; case mouseMovedMessage: @@ -10957,7 +11024,6 @@ mac_initialize_display_info () { struct mac_display_info *dpyinfo = &one_mac_display_info; - GDHandle main_device_handle; bzero (dpyinfo, sizeof (*dpyinfo)); @@ -10973,37 +11039,29 @@ strcpy (dpyinfo->mac_id_name, "Mac Display"); #endif - main_device_handle = LMGetMainDevice(); - dpyinfo->reference_count = 0; dpyinfo->resx = 72.0; dpyinfo->resy = 72.0; - dpyinfo->color_p = TestDeviceAttribute (main_device_handle, gdDevType); #ifdef MAC_OSX /* HasDepth returns true if it is possible to have a 32 bit display, - but this may not be what is actually used. Mac OSX can do better. - CGMainDisplayID is only available on OSX 10.2 and higher, but the - header for CGGetActiveDisplayList says that the first display returned - is the active one, so we use that. */ + but this may not be what is actually used. Mac OSX can do better. */ + dpyinfo->color_p = 1; + dpyinfo->n_planes = CGDisplayBitsPerPixel (kCGDirectMainDisplay); + dpyinfo->height = CGDisplayPixelsHigh (kCGDirectMainDisplay); + dpyinfo->width = CGDisplayPixelsWide (kCGDirectMainDisplay); +#else { - CGDirectDisplayID disp_id[1]; - CGDisplayCount disp_count; - CGDisplayErr error_code; - - error_code = CGGetActiveDisplayList (1, disp_id, &disp_count); - if (error_code != 0) - error ("No display found, CGGetActiveDisplayList error %d", error_code); - - dpyinfo->n_planes = CGDisplayBitsPerPixel (disp_id[0]); + GDHandle main_device_handle = LMGetMainDevice(); + + dpyinfo->color_p = TestDeviceAttribute (main_device_handle, gdDevType); + for (dpyinfo->n_planes = 32; dpyinfo->n_planes > 0; dpyinfo->n_planes >>= 1) + if (HasDepth (main_device_handle, dpyinfo->n_planes, + gdDevType, dpyinfo->color_p)) + break; + dpyinfo->height = (**main_device_handle).gdRect.bottom; + dpyinfo->width = (**main_device_handle).gdRect.right; } -#else - for (dpyinfo->n_planes = 32; dpyinfo->n_planes > 0; dpyinfo->n_planes >>= 1) - if (HasDepth (main_device_handle, dpyinfo->n_planes, - gdDevType, dpyinfo->color_p)) - break; -#endif - dpyinfo->height = (**main_device_handle).gdRect.bottom; - dpyinfo->width = (**main_device_handle).gdRect.right; +#endif dpyinfo->grabbed = 0; dpyinfo->root_window = NULL; dpyinfo->image_cache = make_image_cache (); @@ -11554,6 +11612,15 @@ DEFVAR_LISP ("mac-ts-active-input-overlay", &Vmac_ts_active_input_overlay, doc: /* Overlay used to display Mac TSM active input area. */); Vmac_ts_active_input_overlay = Qnil; + + DEFVAR_LISP ("mac-ts-script-language-on-focus", &Vmac_ts_script_language_on_focus, + doc: /* *How to change Mac TSM script/language when a frame gets focus. +If the value is t, the input script and language are restored to those +used in the last focus frame. If the value is a pair of integers, the +input script and language codes, which are defined in the Script +Manager, are set to its car and cdr parts, respectively. Otherwise, +Emacs doesn't set them and thus follows the system default behavior. */); + Vmac_ts_script_language_on_focus = Qnil; #endif } diff -r bdc1386b2827 -r 138027c8c982 src/window.c --- a/src/window.c Fri Jun 16 13:22:32 2006 +0000 +++ b/src/window.c Sat Jun 17 20:57:37 2006 +0000 @@ -4279,15 +4279,17 @@ { Lisp_Object first_parallel = Qnil; + if (NILP (window)) + { + /* This can happen if WINDOW on the previous iteration was + at top level of the tree and we did not exit. */ + Fset_window_configuration (old_config); + error ("Specified window edge is fixed"); + } + p = XWINDOW (window); parent = p->parent; - if (NILP (XWINDOW (window)->next)) - { - Fset_window_configuration (old_config); - error ("No other window following this one"); - } - /* See if this level has windows in parallel in the specified direction. If so, set FIRST_PARALLEL to the first one. */ if (horiz_flag) @@ -4301,6 +4303,14 @@ first_parallel = XWINDOW (parent)->hchild; } + /* If this level's succession is in the desired dimension, + and this window is the last one, its trailing edge is fixed. */ + if (NILP (XWINDOW (window)->next) && NILP (first_parallel)) + { + Fset_window_configuration (old_config); + error ("Specified window edge is fixed"); + } + /* Don't make this window too small. */ if (XINT (CURSIZE (window)) + delta < (horiz_flag ? window_min_width : window_min_height)) @@ -4324,7 +4334,7 @@ we will fail and report an error, above.) */ if (NILP (first_parallel)) { - if (!NILP (XWINDOW (window)->next)) + if (!NILP (p->next)) { /* This may happen for the minibuffer. In that case the window_deletion_count check below does not work. */ @@ -4895,6 +4905,8 @@ } else if (noerror) return; + else if (n < 0) /* could happen with empty buffers */ + Fsignal (Qbeginning_of_buffer, Qnil); else Fsignal (Qend_of_buffer, Qnil); } diff -r bdc1386b2827 -r 138027c8c982 src/xdisp.c --- a/src/xdisp.c Fri Jun 16 13:22:32 2006 +0000 +++ b/src/xdisp.c Sat Jun 17 20:57:37 2006 +0000 @@ -925,6 +925,7 @@ static void compute_line_metrics P_ ((struct it *)); static void run_redisplay_end_trigger_hook P_ ((struct it *)); static int get_overlay_strings P_ ((struct it *, int)); +static int get_overlay_strings_1 P_ ((struct it *, int, int)); static void next_overlay_string P_ ((struct it *)); static void reseat P_ ((struct it *, struct text_pos, int)); static void reseat_1 P_ ((struct it *, struct text_pos, int)); @@ -2918,8 +2919,8 @@ also ``processed'' overlay strings at ZV. */ while (it->sp) pop_it (it); - it->current.overlay_string_index = -1; - it->method = GET_FROM_BUFFER; + xassert (it->current.overlay_string_index == -1); + xassert (it->method == GET_FROM_BUFFER); if (CHARPOS (pos->pos) == ZV) it->overlay_strings_at_end_processed_p = 1; } @@ -3030,7 +3031,18 @@ if (handled == HANDLED_RECOMPUTE_PROPS) break; else if (handled == HANDLED_RETURN) - return; + { + /* We still want to show before and after strings from + overlays even if the actual buffer text is replaced. */ + if (!handle_overlay_change_p || it->sp > 1) + return; + if (!get_overlay_strings_1 (it, 0, 0)) + return; + it->string_from_display_prop_p = 0; + handle_overlay_change_p = 0; + handled = HANDLED_RECOMPUTE_PROPS; + break; + } else if (handled == HANDLED_OVERLAY_STRING_CONSUMED) handle_overlay_change_p = 0; } @@ -4650,13 +4662,14 @@ int display_ellipsis_p = it->stack[it->sp - 1].display_ellipsis_p; pop_it (it); - xassert (it->stop_charpos >= BEGV - && it->stop_charpos <= it->end_charpos); - it->string = Qnil; + xassert (it->sp > 0 + || it->method == GET_FROM_COMPOSITION + || (NILP (it->string) + && it->method == GET_FROM_BUFFER + && it->stop_charpos >= BEGV + && it->stop_charpos <= it->end_charpos)); it->current.overlay_string_index = -1; - SET_TEXT_POS (it->current.string_pos, -1, -1); it->n_overlay_strings = 0; - it->method = GET_FROM_BUFFER; /* If we're at the end of the buffer, record that we have processed the overlay strings there already, so that @@ -4912,7 +4925,7 @@ least one overlay string was found. */ static int -get_overlay_strings (it, charpos) +get_overlay_strings_1 (it, charpos, compute_stop_p) struct it *it; int charpos; { @@ -4934,12 +4947,13 @@ /* Make sure we know settings in current_buffer, so that we can restore meaningful values when we're done with the overlay strings. */ - compute_stop_pos (it); + if (compute_stop_p) + compute_stop_pos (it); xassert (it->face_id >= 0); /* Save IT's settings. They are restored after all overlay strings have been processed. */ - xassert (it->sp == 0); + xassert (!compute_stop_p || it->sp == 0); push_it (it); /* Set up IT to deliver display elements from the first overlay @@ -4951,13 +4965,22 @@ it->end_charpos = SCHARS (it->string); it->multibyte_p = STRING_MULTIBYTE (it->string); it->method = GET_FROM_STRING; - } - else - { - it->string = Qnil; - it->current.overlay_string_index = -1; - it->method = GET_FROM_BUFFER; - } + return 1; + } + + it->current.overlay_string_index = -1; + return 0; +} + +static int +get_overlay_strings (it, charpos) + struct it *it; + int charpos; +{ + it->string = Qnil; + it->method = GET_FROM_BUFFER; + + (void) get_overlay_strings_1 (it, charpos, 1); CHECK_IT (it); @@ -4982,19 +5005,37 @@ { struct iterator_stack_entry *p; - xassert (it->sp < 2); + xassert (it->sp < IT_STACK_SIZE); p = it->stack + it->sp; p->stop_charpos = it->stop_charpos; xassert (it->face_id >= 0); p->face_id = it->face_id; p->string = it->string; + p->method = it->method; + switch (p->method) + { + case GET_FROM_IMAGE: + p->u.image.object = it->object; + p->u.image.image_id = it->image_id; + p->u.image.slice = it->slice; + break; + case GET_FROM_COMPOSITION: + p->u.comp.object = it->object; + p->u.comp.c = it->c; + p->u.comp.len = it->len; + p->u.comp.cmp_id = it->cmp_id; + p->u.comp.cmp_len = it->cmp_len; + break; + case GET_FROM_STRETCH: + p->u.stretch.object = it->object; + break; + } p->pos = it->current; p->end_charpos = it->end_charpos; p->string_nchars = it->string_nchars; p->area = it->area; p->multibyte_p = it->multibyte_p; - p->slice = it->slice; p->space_width = it->space_width; p->font_height = it->font_height; p->voffset = it->voffset; @@ -5021,13 +5062,33 @@ p = it->stack + it->sp; it->stop_charpos = p->stop_charpos; it->face_id = p->face_id; + it->current = p->pos; it->string = p->string; - it->current = p->pos; + if (NILP (it->string)) + SET_TEXT_POS (it->current.string_pos, -1, -1); + it->method = p->method; + switch (it->method) + { + case GET_FROM_IMAGE: + it->image_id = p->u.image.image_id; + it->object = p->u.image.object; + it->slice = p->u.image.slice; + break; + case GET_FROM_COMPOSITION: + it->object = p->u.comp.object; + it->c = p->u.comp.c; + it->len = p->u.comp.len; + it->cmp_id = p->u.comp.cmp_id; + it->cmp_len = p->u.comp.cmp_len; + break; + case GET_FROM_STRETCH: + it->object = p->u.comp.object; + break; + } it->end_charpos = p->end_charpos; it->string_nchars = p->string_nchars; it->area = p->area; it->multibyte_p = p->multibyte_p; - it->slice = p->slice; it->space_width = p->space_width; it->font_height = p->font_height; it->voffset = p->voffset; @@ -5178,36 +5239,46 @@ continue; } - /* If newline has a display property that replaces the newline with something - else (image or text), find start of overlay or interval and continue search - from that point. */ - if (IT_CHARPOS (*it) > BEGV) - { - struct it it2 = *it; - int pos; - int beg, end; - Lisp_Object val, overlay; - - pos = --IT_CHARPOS (it2); - --IT_BYTEPOS (it2); - it2.sp = 0; - if (handle_display_prop (&it2) == HANDLED_RETURN - && !NILP (val = get_char_property_and_overlay - (make_number (pos), Qdisplay, Qnil, &overlay)) - && (OVERLAYP (overlay) - ? (beg = OVERLAY_POSITION (OVERLAY_START (overlay))) - : get_property_and_range (pos, Qdisplay, &val, &beg, &end, Qnil))) - { - if (beg < BEGV) - beg = BEGV; - IT_CHARPOS (*it) = beg; - IT_BYTEPOS (*it) = buf_charpos_to_bytepos (current_buffer, beg); - continue; - } - } - - break; - } + if (IT_CHARPOS (*it) <= BEGV) + break; + + { + struct it it2; + int pos; + int beg, end; + Lisp_Object val, overlay; + + /* If newline is part of a composition, continue from start of composition */ + if (find_composition (IT_CHARPOS (*it), -1, &beg, &end, &val, Qnil) + && beg < IT_CHARPOS (*it)) + goto replaced; + + /* If newline is replaced by a display property, find start of overlay + or interval and continue search from that point. */ + it2 = *it; + pos = --IT_CHARPOS (it2); + --IT_BYTEPOS (it2); + it2.sp = 0; + if (handle_display_prop (&it2) == HANDLED_RETURN + && !NILP (val = get_char_property_and_overlay + (make_number (pos), Qdisplay, Qnil, &overlay)) + && (OVERLAYP (overlay) + ? (beg = OVERLAY_POSITION (OVERLAY_START (overlay))) + : get_property_and_range (pos, Qdisplay, &val, &beg, &end, Qnil))) + goto replaced; + + /* Newline is not replaced by anything -- so we are done. */ + break; + + replaced: + if (beg < BEGV) + beg = BEGV; + IT_CHARPOS (*it) = beg; + IT_BYTEPOS (*it) = buf_charpos_to_bytepos (current_buffer, beg); + } + } + + it->continuation_lines_width = 0; xassert (IT_CHARPOS (*it) >= BEGV); xassert (IT_CHARPOS (*it) == BEGV @@ -5340,15 +5411,11 @@ IT_STRING_BYTEPOS (*it) = -1; it->string = Qnil; it->method = GET_FROM_BUFFER; - /* RMS: I added this to fix a bug in move_it_vertically_backward - where it->area continued to relate to the starting point - for the backward motion. Bug report from - Nick Roberts on 19 May 2003. - However, I am not sure whether reseat still does the right thing - in general after this change. */ + it->object = it->w->buffer; it->area = TEXT_AREA; it->multibyte_p = !NILP (current_buffer->enable_multibyte_characters); it->sp = 0; + it->string_from_display_prop_p = 0; it->face_before_selective_p = 0; if (set_stop_p) @@ -5830,6 +5897,7 @@ IT_STRING_BYTEPOS (*it) += it->len; IT_STRING_CHARPOS (*it) += it->cmp_len; it->method = GET_FROM_STRING; + it->object = it->string; goto consider_string_end; } else @@ -5837,6 +5905,7 @@ IT_BYTEPOS (*it) += it->len; IT_CHARPOS (*it) += it->cmp_len; it->method = GET_FROM_BUFFER; + it->object = it->w->buffer; } break; @@ -5866,7 +5935,10 @@ else if (STRINGP (it->string)) it->method = GET_FROM_STRING; else - it->method = GET_FROM_BUFFER; + { + it->method = GET_FROM_BUFFER; + it->object = it->w->buffer; + } it->dpvec = NULL; it->current.dpvec_index = -1; @@ -5914,9 +5986,8 @@ && it->sp > 0) { pop_it (it); - if (STRINGP (it->string)) + if (it->method == GET_FROM_STRING) goto consider_string_end; - it->method = GET_FROM_BUFFER; } } break; @@ -5928,13 +5999,8 @@ if the `display' property takes up the whole string. */ xassert (it->sp > 0); pop_it (it); - it->image_id = 0; - if (STRINGP (it->string)) - { - it->method = GET_FROM_STRING; - goto consider_string_end; - } - it->method = GET_FROM_BUFFER; + if (it->method == GET_FROM_STRING) + goto consider_string_end; break; default: @@ -6157,6 +6223,7 @@ setting face_before_selective_p. */ it->saved_face_id = it->face_id; it->method = GET_FROM_BUFFER; + it->object = it->w->buffer; reseat_at_next_visible_line_start (it, 1); it->face_before_selective_p = 1; } @@ -6345,6 +6412,8 @@ : it->current.pos); if (STRINGP (it->string)) it->object = it->string; + else + it->object = it->w->buffer; return 1; } @@ -11787,9 +11856,12 @@ } else { - string_before_pos = last_pos; - string_start = glyph; - string_start_x = x; + if (string_start == NULL) + { + string_before_pos = last_pos; + string_start = glyph; + string_start_x = x; + } /* Skip all glyphs from string. */ do { diff -r bdc1386b2827 -r 138027c8c982 src/xterm.c --- a/src/xterm.c Fri Jun 16 13:22:32 2006 +0000 +++ b/src/xterm.c Sat Jun 17 20:57:37 2006 +0000 @@ -359,7 +359,8 @@ Lisp_Object *, Lisp_Object *, unsigned long *)); static void x_check_fullscreen P_ ((struct frame *)); -static void x_check_expected_move P_ ((struct frame *)); +static void x_check_expected_move P_ ((struct frame *, int, int)); +static void x_sync_with_move P_ ((struct frame *, int, int, int)); static int handle_one_xevent P_ ((struct x_display_info *, XEvent *, int *, struct input_event *)); static SIGTYPE x_connection_closed P_ ((Display *, char *)); @@ -6883,11 +6884,8 @@ && GTK_WIDGET_MAPPED (FRAME_GTK_OUTER_WIDGET (f))) #endif { - /* What we have now is the position of Emacs's own window. - Convert that to the position of the window manager window. */ x_real_positions (f, &f->left_pos, &f->top_pos); - x_check_expected_move (f); if (f->want_fullscreen & FULLSCREEN_WAIT) f->want_fullscreen &= ~(FULLSCREEN_WAIT|FULLSCREEN_BOTH); } @@ -8512,8 +8510,11 @@ { int modified_top, modified_left; - if (change_gravity > 0) - { + if (change_gravity != 0) + { + FRAME_X_OUTPUT (f)->left_before_move = f->left_pos; + FRAME_X_OUTPUT (f)->top_before_move = f->top_pos; + f->top_pos = yoff; f->left_pos = xoff; f->size_hint_flags &= ~ (XNegative | YNegative); @@ -8531,7 +8532,7 @@ modified_left = f->left_pos; modified_top = f->top_pos; - if (FRAME_X_DISPLAY_INFO (f)->wm_type == X_WMTYPE_A) + if (change_gravity != 0 && FRAME_X_DISPLAY_INFO (f)->wm_type == X_WMTYPE_A) { /* Some WMs (twm, wmaker at least) has an offset that is smaller than the WM decorations. So we use the calculated offset instead @@ -8543,13 +8544,26 @@ XMoveWindow (FRAME_X_DISPLAY (f), FRAME_OUTER_WINDOW (f), modified_left, modified_top); - if (FRAME_VISIBLE_P (f) - && FRAME_X_DISPLAY_INFO (f)->wm_type == X_WMTYPE_UNKNOWN) - { - FRAME_X_OUTPUT (f)->check_expected_move = 1; - FRAME_X_OUTPUT (f)->expected_top = f->top_pos; - FRAME_X_OUTPUT (f)->expected_left = f->left_pos; - } + x_sync_with_move (f, f->left_pos, f->top_pos, + FRAME_X_DISPLAY_INFO (f)->wm_type == X_WMTYPE_UNKNOWN + ? 1 : 0); + + /* change_gravity is non-zero when this function is called from Lisp to + programmatically move a frame. In that case, we call + x_check_expected_move to discover if we have a "Type A" or "Type B" + window manager, and, for a "Type A" window manager, adjust the position + of the frame. + + We call x_check_expected_move if a programmatic move occurred, and + either the window manager type (A/B) is unknown or it is Type A but we + need to compute the top/left offset adjustment for this frame. */ + + if (change_gravity != 0 && + (FRAME_X_DISPLAY_INFO (f)->wm_type == X_WMTYPE_UNKNOWN + || (FRAME_X_DISPLAY_INFO (f)->wm_type == X_WMTYPE_A + && (FRAME_X_OUTPUT (f)->move_offset_left == 0 + && FRAME_X_OUTPUT (f)->move_offset_top == 0)))) + x_check_expected_move (f, modified_left, modified_top); UNBLOCK_INPUT; } @@ -8584,37 +8598,96 @@ } } -/* If frame parameters are set after the frame is mapped, we need to move - the window. - Some window managers moves the window to the right position, some - moves the outer window manager window to the specified position. - Here we check that we are in the right spot. If not, make a second - move, assuming we are dealing with the second kind of window manager. */ -static void -x_check_expected_move (f) +/* This function is called by x_set_offset to determine whether the window + manager interfered with the positioning of the frame. Type A window + managers position the surrounding window manager decorations a small + amount above and left of the user-supplied position. Type B window + managers position the surrounding window manager decorations at the + user-specified position. If we detect a Type A window manager, we + compensate by moving the window right and down by the proper amount. */ + +static void +x_check_expected_move (f, expected_left, expected_top) struct frame *f; -{ - if (FRAME_X_OUTPUT (f)->check_expected_move) - { - int expect_top = FRAME_X_OUTPUT (f)->expected_top; - int expect_left = FRAME_X_OUTPUT (f)->expected_left; - - if (expect_top != f->top_pos || expect_left != f->left_pos) + int expected_left; + int expected_top; +{ + int count = 0, current_left = 0, current_top = 0; + + /* x_real_positions returns the left and top offsets of the outermost + window manager window around the frame. */ + + x_real_positions (f, ¤t_left, ¤t_top); + + if (current_left != expected_left || current_top != expected_top) { + /* It's a "Type A" window manager. */ + + int adjusted_left; + int adjusted_top; + FRAME_X_DISPLAY_INFO (f)->wm_type = X_WMTYPE_A; - FRAME_X_OUTPUT (f)->move_offset_left = expect_left - f->left_pos; - FRAME_X_OUTPUT (f)->move_offset_top = expect_top - f->top_pos; - - f->left_pos = expect_left; - f->top_pos = expect_top; - x_set_offset (f, expect_left, expect_top, 0); + FRAME_X_OUTPUT (f)->move_offset_left = expected_left - current_left; + FRAME_X_OUTPUT (f)->move_offset_top = expected_top - current_top; + + /* Now fix the mispositioned frame's location. */ + + adjusted_left = expected_left + FRAME_X_OUTPUT (f)->move_offset_left; + adjusted_top = expected_top + FRAME_X_OUTPUT (f)->move_offset_top; + + XMoveWindow (FRAME_X_DISPLAY (f), FRAME_OUTER_WINDOW (f), + adjusted_left, adjusted_top); + + x_sync_with_move (f, expected_left, expected_top, 0); } - else if (FRAME_X_DISPLAY_INFO (f)->wm_type == X_WMTYPE_UNKNOWN) + else + /* It's a "Type B" window manager. We don't have to adjust the + frame's position. */ + FRAME_X_DISPLAY_INFO (f)->wm_type = X_WMTYPE_B; - - /* Just do this once */ - FRAME_X_OUTPUT (f)->check_expected_move = 0; +} + + +/* Wait for XGetGeometry to return up-to-date position information for a + recently-moved frame. Call this immediately after calling XMoveWindow. + If FUZZY is non-zero, then LEFT and TOP are just estimates of where the + frame has been moved to, so we use a fuzzy position comparison instead + of an exact comparison. */ + +static void +x_sync_with_move (f, left, top, fuzzy) + struct frame *f; + int left, top, fuzzy; +{ + int count = 0; + + while (count++ < 50) + { + int current_left = 0, current_top = 0; + + /* In theory, this call to XSync only needs to happen once, but in + practice, it doesn't seem to work, hence the need for the surrounding + loop. */ + + XSync (FRAME_X_DISPLAY (f), False); + x_real_positions (f, ¤t_left, ¤t_top); + + if (fuzzy) + { + /* The left fuzz-factor is 10 pixels. The top fuzz-factor is 40 + pixels. */ + + if (abs (current_left - left) <= 10 && abs (current_top - top) <= 40) + return; } + else if (current_left == left && current_top == top) + return; + } + + /* As a last resort, just wait 0.5 seconds and hope that XGetGeometry + will then return up-to-date position info. */ + + wait_reading_process_output (0, 500000, 0, 0, Qnil, NULL, 0); } diff -r bdc1386b2827 -r 138027c8c982 src/xterm.h --- a/src/xterm.h Fri Jun 16 13:22:32 2006 +0000 +++ b/src/xterm.h Sat Jun 17 20:57:37 2006 +0000 @@ -644,18 +644,14 @@ FocusOut and LeaveNotify clears EXPLICIT/IMPLICIT. */ int focus_state; - /* The latest move we made to FRAME_OUTER_WINDOW. Saved so we can - compensate for type A WMs (see wm_type in dpyinfo above). */ - int expected_top; - int expected_left; - /* The offset we need to add to compensate for type A WMs. */ int move_offset_top; int move_offset_left; - /* Nonzero if we have made a move and needs to check if the WM placed us - at the right position. */ - int check_expected_move; + /* The frame's left/top offsets before we call XMoveWindow. See + x_check_expected_move. */ + int left_before_move; + int top_before_move; }; #define No_Cursor (None)