Olena-patches
Threads by month
- ----- 2025 -----
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2024 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2023 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2022 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2021 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2020 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2019 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2018 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2017 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2016 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2015 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2014 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2013 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2012 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2011 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2010 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2009 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2008 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2007 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2006 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2005 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2004 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- 9625 discussions
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Olena, a generic and efficient image processing platform".
The branch next has been updated
via e44073ea19332cde2bdd69ea5eb515d4cfc0e140 (commit)
from fbe0b7f5ec449ab79dfad0b4d285a745f625e41e (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
- Log -----------------------------------------------------------------
e44073e Fix apps/mesh-segm-skel/io.hh.
-----------------------------------------------------------------------
Summary of changes:
milena/ChangeLog | 6 ++++++
milena/apps/mesh-segm-skel/io.hh | 2 ++
2 files changed, 8 insertions(+), 0 deletions(-)
hooks/post-receive
--
Olena, a generic and efficient image processing platform
1
0
* apps/mesh-segm-skel/io.hh: Include cstdio.
---
milena/ChangeLog | 6 ++++++
milena/apps/mesh-segm-skel/io.hh | 2 ++
2 files changed, 8 insertions(+), 0 deletions(-)
diff --git a/milena/ChangeLog b/milena/ChangeLog
index 608d1cd..399ea05 100644
--- a/milena/ChangeLog
+++ b/milena/ChangeLog
@@ -1,3 +1,9 @@
+2010-03-23 Roland Levillain <roland(a)lrde.epita.fr>
+
+ Fix apps/mesh-segm-skel/io.hh.
+
+ * apps/mesh-segm-skel/io.hh: Include cstdio.
+
2010-03-15 Roland Levillain <roland(a)lrde.epita.fr>
Aesthetic changes.
diff --git a/milena/apps/mesh-segm-skel/io.hh b/milena/apps/mesh-segm-skel/io.hh
index 4f8f084..6d8733c 100644
--- a/milena/apps/mesh-segm-skel/io.hh
+++ b/milena/apps/mesh-segm-skel/io.hh
@@ -31,6 +31,8 @@
/// \file apps/mesh-segm-skel/io.hh
/// \brief I/O routines adapted from TriMesh's ones.
+#include <cstdio>
+
#include <algorithm>
#include <TriMesh.h>
--
1.5.6.5
1
0
22 Mar '10
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Olena, a generic and efficient image processing platform".
The branch revamp-doc-build has been updated
via 75d3ad83be574c7724c64a4a5bb368579dc93d30 (commit)
via 2c83b3cffdfcb61a883b262f838a30bb5e9d35cb (commit)
via 67329fa81dd02786b86ace2b702ff9d179586d9a (commit)
via 67339bfbfc41528fb4daf61a11b2da9499d75793 (commit)
via 44985028aa2736b98961e514e6163bd813242ccc (commit)
via 9729ffbdabda1a9b3a7255142d1aba8f657d9507 (commit)
via d9609f2b13fbd7dc9c49a04c94c1129ccd56ada3 (commit)
via e54763c030a5e6fea6cc79f593c67e6ace2faf40 (commit)
via ef6cf9cfd139ccdbd613847e8cd8484b0a42aaf5 (commit)
via 8869ca10476286d66734b857661c4a34f082a276 (commit)
via 78b36b9fc99784c296061266e563076364d32808 (commit)
via 6f28095b9a93ce36a0c8acba4122e66e781fd21c (commit)
via 2ec1c8cd1608687b140cc400d6d85c743a8dcdd9 (commit)
via 6e3d7ddfe1e0078353d9206110d28617741de580 (commit)
via 901d8eb33b3fbfd20f438ff367867c25847c0550 (commit)
via 1c035cadf79e9e2853752b01eef1566e1b46de23 (commit)
via bac323e4f97d6d0608f5d9e30ba4876db90b1034 (commit)
from 05b14084768907f50860a979aea5d22fe4502c16 (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
- Log -----------------------------------------------------------------
75d3ad8 Regen INSTALL using autoreconf.
2c83b3c Move INSTALL's contents to README and HACKING.
67329fa Regen documentation products.
67339bf Remove useless regen actions from bootstrap.
4498502 Have doc/gen-figures-mk generate more Makefile bits.
9729ffb Rework doc/gen-figures-mk a bit.
d9609f2 Add options to boostrap.
e54763c Distribute doc/gen-split-outputs-mk.
ef6cf9c bootstrap: Make a more portable use of mktemp.
8869ca1 Make a more portable use of mktemp.
78b36b9 Sort inputs of generators to make them deterministic w.r.t. outputs.
6f28095 bootstrap: Regen milena/doc/figures.mk.
2ec1c8c Generate the list of figures in the documentation.
6e3d7dd Add a script to generate doc/figures.mk.
901d8eb Use a more uniform style in doc/figures.mk.
1c035ca Prepare doc examples for the automated generation of figures.mk.
bac323e bootstrap: Various fixes.
-----------------------------------------------------------------------
Summary of changes:
ChangeLog | 43 ++
HACKING | 95 ++++
INSTALL | 469 +++++++++++++-------
README | 223 +++++++++-
bootstrap | 145 ++++--
milena/ChangeLog | 109 +++++
milena/doc/Makefile.am | 123 ++----
milena/doc/examples/ima2d-rot.cc | 7 +-
milena/doc/examples/labeling-compute.cc | 3 +-
milena/doc/examples/split/ima2d-rot-1.cc.raw | 4 +-
milena/doc/figures.mk | 167 ++++---
milena/doc/figures/fill-subdomain-2.ppm | Bin 206 -> 206 bytes
milena/doc/figures/fill-subdomain-3.ppm | Bin 206 -> 206 bytes
milena/doc/figures/labeling-compute-2.ppm | Bin 206 -> 206 bytes
milena/doc/figures/tuto3_colorize-2.ppm | Bin 191 -> 191 bytes
.../figures/tuto4_genericity_and_algorithms-1.ppm | Bin 12406 -> 12406 bytes
.../figures/tuto4_genericity_and_algorithms-5.ppm | Bin 12406 -> 12406 bytes
.../figures/tuto4_genericity_and_algorithms-7.pgm | 6 -
.../figures/tuto4_genericity_and_algorithms-7.ppm | Bin 24696 -> 0 bytes
.../figures/tuto4_genericity_and_algorithms-8.pgm | 6 -
.../figures/tuto4_genericity_and_algorithms-8.ppm | 6 -
.../figures/tuto4_genericity_and_algorithms-9.pgm | 6 -
.../figures/tuto4_genericity_and_algorithms-9.ppm | 6 -
milena/doc/gen-figures-mk | 192 ++++++++
milena/doc/gen-split-examples-mk | 11 +-
milena/doc/gen-split-outputs-mk | 11 +-
.../{accu-right-instantiation.txt => ima-load.txt} | 0
...t-instantiation.txt => tuto3_first_routine.txt} | 0
...ccu-right-instantiation.txt => tuto4_image.txt} | 0
milena/doc/pbm-figures.mk | 11 -
milena/doc/pgm-figures.mk | 7 -
milena/doc/ppm-figures.mk | 29 --
milena/doc/split-examples.mk | 102 +++---
33 files changed, 1251 insertions(+), 530 deletions(-)
create mode 100644 HACKING
delete mode 100644 milena/doc/figures/tuto4_genericity_and_algorithms-7.pgm
delete mode 100644 milena/doc/figures/tuto4_genericity_and_algorithms-7.ppm
delete mode 100644 milena/doc/figures/tuto4_genericity_and_algorithms-8.pgm
delete mode 100644 milena/doc/figures/tuto4_genericity_and_algorithms-8.ppm
delete mode 100644 milena/doc/figures/tuto4_genericity_and_algorithms-9.pgm
delete mode 100644 milena/doc/figures/tuto4_genericity_and_algorithms-9.ppm
create mode 100755 milena/doc/gen-figures-mk
copy milena/doc/outputs/{accu-right-instantiation.txt => ima-load.txt} (100%)
copy milena/doc/outputs/{accu-right-instantiation.txt => tuto3_first_routine.txt} (100%)
copy milena/doc/outputs/{accu-right-instantiation.txt => tuto4_image.txt} (100%)
delete mode 100644 milena/doc/pbm-figures.mk
delete mode 100644 milena/doc/pgm-figures.mk
delete mode 100644 milena/doc/ppm-figures.mk
hooks/post-receive
--
Olena, a generic and efficient image processing platform
1
0
22 Mar '10
* INSTALL: New.
---
ChangeLog | 6 +
INSTALL | 365 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
2 files changed, 371 insertions(+), 0 deletions(-)
create mode 100644 INSTALL
diff --git a/ChangeLog b/ChangeLog
index 5d57eee..6401ec2 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,11 @@
2010-03-22 Roland Levillain <roland(a)lrde.epita.fr>
+ Regen INSTALL using autoreconf.
+
+ * INSTALL: New.
+
+2010-03-22 Roland Levillain <roland(a)lrde.epita.fr>
+
Move INSTALL's contents to README and HACKING.
* INSTALL: Remove this file and move its contents...
diff --git a/INSTALL b/INSTALL
new file mode 100644
index 0000000..7d1c323
--- /dev/null
+++ b/INSTALL
@@ -0,0 +1,365 @@
+Installation Instructions
+*************************
+
+Copyright (C) 1994, 1995, 1996, 1999, 2000, 2001, 2002, 2004, 2005,
+2006, 2007, 2008, 2009 Free Software Foundation, Inc.
+
+ Copying and distribution of this file, with or without modification,
+are permitted in any medium without royalty provided the copyright
+notice and this notice are preserved. This file is offered as-is,
+without warranty of any kind.
+
+Basic Installation
+==================
+
+ Briefly, the shell commands `./configure; make; make install' should
+configure, build, and install this package. The following
+more-detailed instructions are generic; see the `README' file for
+instructions specific to this package. Some packages provide this
+`INSTALL' file but do not implement all of the features documented
+below. The lack of an optional feature in a given package is not
+necessarily a bug. More recommendations for GNU packages can be found
+in *note Makefile Conventions: (standards)Makefile Conventions.
+
+ The `configure' shell script attempts to guess correct values for
+various system-dependent variables used during compilation. It uses
+those values to create a `Makefile' in each directory of the package.
+It may also create one or more `.h' files containing system-dependent
+definitions. Finally, it creates a shell script `config.status' that
+you can run in the future to recreate the current configuration, and a
+file `config.log' containing compiler output (useful mainly for
+debugging `configure').
+
+ It can also use an optional file (typically called `config.cache'
+and enabled with `--cache-file=config.cache' or simply `-C') that saves
+the results of its tests to speed up reconfiguring. Caching is
+disabled by default to prevent problems with accidental use of stale
+cache files.
+
+ If you need to do unusual things to compile the package, please try
+to figure out how `configure' could check whether to do them, and mail
+diffs or instructions to the address given in the `README' so they can
+be considered for the next release. If you are using the cache, and at
+some point `config.cache' contains results you don't want to keep, you
+may remove or edit it.
+
+ The file `configure.ac' (or `configure.in') is used to create
+`configure' by a program called `autoconf'. You need `configure.ac' if
+you want to change it or regenerate `configure' using a newer version
+of `autoconf'.
+
+ The simplest way to compile this package is:
+
+ 1. `cd' to the directory containing the package's source code and type
+ `./configure' to configure the package for your system.
+
+ Running `configure' might take a while. While running, it prints
+ some messages telling which features it is checking for.
+
+ 2. Type `make' to compile the package.
+
+ 3. Optionally, type `make check' to run any self-tests that come with
+ the package, generally using the just-built uninstalled binaries.
+
+ 4. Type `make install' to install the programs and any data files and
+ documentation. When installing into a prefix owned by root, it is
+ recommended that the package be configured and built as a regular
+ user, and only the `make install' phase executed with root
+ privileges.
+
+ 5. Optionally, type `make installcheck' to repeat any self-tests, but
+ this time using the binaries in their final installed location.
+ This target does not install anything. Running this target as a
+ regular user, particularly if the prior `make install' required
+ root privileges, verifies that the installation completed
+ correctly.
+
+ 6. You can remove the program binaries and object files from the
+ source code directory by typing `make clean'. To also remove the
+ files that `configure' created (so you can compile the package for
+ a different kind of computer), type `make distclean'. There is
+ also a `make maintainer-clean' target, but that is intended mainly
+ for the package's developers. If you use it, you may have to get
+ all sorts of other programs in order to regenerate files that came
+ with the distribution.
+
+ 7. Often, you can also type `make uninstall' to remove the installed
+ files again. In practice, not all packages have tested that
+ uninstallation works correctly, even though it is required by the
+ GNU Coding Standards.
+
+ 8. Some packages, particularly those that use Automake, provide `make
+ distcheck', which can by used by developers to test that all other
+ targets like `make install' and `make uninstall' work correctly.
+ This target is generally not run by end users.
+
+Compilers and Options
+=====================
+
+ Some systems require unusual options for compilation or linking that
+the `configure' script does not know about. Run `./configure --help'
+for details on some of the pertinent environment variables.
+
+ You can give `configure' initial values for configuration parameters
+by setting variables in the command line or in the environment. Here
+is an example:
+
+ ./configure CC=c99 CFLAGS=-g LIBS=-lposix
+
+ *Note Defining Variables::, for more details.
+
+Compiling For Multiple Architectures
+====================================
+
+ You can compile the package for more than one kind of computer at the
+same time, by placing the object files for each architecture in their
+own directory. To do this, you can use GNU `make'. `cd' to the
+directory where you want the object files and executables to go and run
+the `configure' script. `configure' automatically checks for the
+source code in the directory that `configure' is in and in `..'. This
+is known as a "VPATH" build.
+
+ With a non-GNU `make', it is safer to compile the package for one
+architecture at a time in the source code directory. After you have
+installed the package for one architecture, use `make distclean' before
+reconfiguring for another architecture.
+
+ On MacOS X 10.5 and later systems, you can create libraries and
+executables that work on multiple system types--known as "fat" or
+"universal" binaries--by specifying multiple `-arch' options to the
+compiler but only a single `-arch' option to the preprocessor. Like
+this:
+
+ ./configure CC="gcc -arch i386 -arch x86_64 -arch ppc -arch ppc64" \
+ CXX="g++ -arch i386 -arch x86_64 -arch ppc -arch ppc64" \
+ CPP="gcc -E" CXXCPP="g++ -E"
+
+ This is not guaranteed to produce working output in all cases, you
+may have to build one architecture at a time and combine the results
+using the `lipo' tool if you have problems.
+
+Installation Names
+==================
+
+ By default, `make install' installs the package's commands under
+`/usr/local/bin', include files under `/usr/local/include', etc. You
+can specify an installation prefix other than `/usr/local' by giving
+`configure' the option `--prefix=PREFIX', where PREFIX must be an
+absolute file name.
+
+ You can specify separate installation prefixes for
+architecture-specific files and architecture-independent files. If you
+pass the option `--exec-prefix=PREFIX' to `configure', the package uses
+PREFIX as the prefix for installing programs and libraries.
+Documentation and other data files still use the regular prefix.
+
+ In addition, if you use an unusual directory layout you can give
+options like `--bindir=DIR' to specify different values for particular
+kinds of files. Run `configure --help' for a list of the directories
+you can set and what kinds of files go in them. In general, the
+default for these options is expressed in terms of `${prefix}', so that
+specifying just `--prefix' will affect all of the other directory
+specifications that were not explicitly provided.
+
+ The most portable way to affect installation locations is to pass the
+correct locations to `configure'; however, many packages provide one or
+both of the following shortcuts of passing variable assignments to the
+`make install' command line to change installation locations without
+having to reconfigure or recompile.
+
+ The first method involves providing an override variable for each
+affected directory. For example, `make install
+prefix=/alternate/directory' will choose an alternate location for all
+directory configuration variables that were expressed in terms of
+`${prefix}'. Any directories that were specified during `configure',
+but not in terms of `${prefix}', must each be overridden at install
+time for the entire installation to be relocated. The approach of
+makefile variable overrides for each directory variable is required by
+the GNU Coding Standards, and ideally causes no recompilation.
+However, some platforms have known limitations with the semantics of
+shared libraries that end up requiring recompilation when using this
+method, particularly noticeable in packages that use GNU Libtool.
+
+ The second method involves providing the `DESTDIR' variable. For
+example, `make install DESTDIR=/alternate/directory' will prepend
+`/alternate/directory' before all installation names. The approach of
+`DESTDIR' overrides is not required by the GNU Coding Standards, and
+does not work on platforms that have drive letters. On the other hand,
+it does better at avoiding recompilation issues, and works well even
+when some directory options were not specified in terms of `${prefix}'
+at `configure' time.
+
+Optional Features
+=================
+
+ If the package supports it, you can cause programs to be installed
+with an extra prefix or suffix on their names by giving `configure' the
+option `--program-prefix=PREFIX' or `--program-suffix=SUFFIX'.
+
+ Some packages pay attention to `--enable-FEATURE' options to
+`configure', where FEATURE indicates an optional part of the package.
+They may also pay attention to `--with-PACKAGE' options, where PACKAGE
+is something like `gnu-as' or `x' (for the X Window System). The
+`README' should mention any `--enable-' and `--with-' options that the
+package recognizes.
+
+ For packages that use the X Window System, `configure' can usually
+find the X include and library files automatically, but if it doesn't,
+you can use the `configure' options `--x-includes=DIR' and
+`--x-libraries=DIR' to specify their locations.
+
+ Some packages offer the ability to configure how verbose the
+execution of `make' will be. For these packages, running `./configure
+--enable-silent-rules' sets the default to minimal output, which can be
+overridden with `make V=1'; while running `./configure
+--disable-silent-rules' sets the default to verbose, which can be
+overridden with `make V=0'.
+
+Particular systems
+==================
+
+ On HP-UX, the default C compiler is not ANSI C compatible. If GNU
+CC is not installed, it is recommended to use the following options in
+order to use an ANSI C compiler:
+
+ ./configure CC="cc -Ae -D_XOPEN_SOURCE=500"
+
+and if that doesn't work, install pre-built binaries of GCC for HP-UX.
+
+ On OSF/1 a.k.a. Tru64, some versions of the default C compiler cannot
+parse its `<wchar.h>' header file. The option `-nodtk' can be used as
+a workaround. If GNU CC is not installed, it is therefore recommended
+to try
+
+ ./configure CC="cc"
+
+and if that doesn't work, try
+
+ ./configure CC="cc -nodtk"
+
+ On Solaris, don't put `/usr/ucb' early in your `PATH'. This
+directory contains several dysfunctional programs; working variants of
+these programs are available in `/usr/bin'. So, if you need `/usr/ucb'
+in your `PATH', put it _after_ `/usr/bin'.
+
+ On Haiku, software installed for all users goes in `/boot/common',
+not `/usr/local'. It is recommended to use the following options:
+
+ ./configure --prefix=/boot/common
+
+Specifying the System Type
+==========================
+
+ There may be some features `configure' cannot figure out
+automatically, but needs to determine by the type of machine the package
+will run on. Usually, assuming the package is built to be run on the
+_same_ architectures, `configure' can figure that out, but if it prints
+a message saying it cannot guess the machine type, give it the
+`--build=TYPE' option. TYPE can either be a short name for the system
+type, such as `sun4', or a canonical name which has the form:
+
+ CPU-COMPANY-SYSTEM
+
+where SYSTEM can have one of these forms:
+
+ OS
+ KERNEL-OS
+
+ See the file `config.sub' for the possible values of each field. If
+`config.sub' isn't included in this package, then this package doesn't
+need to know the machine type.
+
+ If you are _building_ compiler tools for cross-compiling, you should
+use the option `--target=TYPE' to select the type of system they will
+produce code for.
+
+ If you want to _use_ a cross compiler, that generates code for a
+platform different from the build platform, you should specify the
+"host" platform (i.e., that on which the generated programs will
+eventually be run) with `--host=TYPE'.
+
+Sharing Defaults
+================
+
+ If you want to set default values for `configure' scripts to share,
+you can create a site shell script called `config.site' that gives
+default values for variables like `CC', `cache_file', and `prefix'.
+`configure' looks for `PREFIX/share/config.site' if it exists, then
+`PREFIX/etc/config.site' if it exists. Or, you can set the
+`CONFIG_SITE' environment variable to the location of the site script.
+A warning: not all `configure' scripts look for a site script.
+
+Defining Variables
+==================
+
+ Variables not defined in a site shell script can be set in the
+environment passed to `configure'. However, some packages may run
+configure again during the build, and the customized values of these
+variables may be lost. In order to avoid this problem, you should set
+them in the `configure' command line, using `VAR=value'. For example:
+
+ ./configure CC=/usr/local2/bin/gcc
+
+causes the specified `gcc' to be used as the C compiler (unless it is
+overridden in the site shell script).
+
+Unfortunately, this technique does not work for `CONFIG_SHELL' due to
+an Autoconf bug. Until the bug is fixed you can use this workaround:
+
+ CONFIG_SHELL=/bin/bash /bin/bash ./configure CONFIG_SHELL=/bin/bash
+
+`configure' Invocation
+======================
+
+ `configure' recognizes the following options to control how it
+operates.
+
+`--help'
+`-h'
+ Print a summary of all of the options to `configure', and exit.
+
+`--help=short'
+`--help=recursive'
+ Print a summary of the options unique to this package's
+ `configure', and exit. The `short' variant lists options used
+ only in the top level, while the `recursive' variant lists options
+ also present in any nested packages.
+
+`--version'
+`-V'
+ Print the version of Autoconf used to generate the `configure'
+ script, and exit.
+
+`--cache-file=FILE'
+ Enable the cache: use and save the results of the tests in FILE,
+ traditionally `config.cache'. FILE defaults to `/dev/null' to
+ disable caching.
+
+`--config-cache'
+`-C'
+ Alias for `--cache-file=config.cache'.
+
+`--quiet'
+`--silent'
+`-q'
+ Do not print messages saying which checks are being made. To
+ suppress all normal output, redirect it to `/dev/null' (any error
+ messages will still be shown).
+
+`--srcdir=DIR'
+ Look for the package's source code in directory DIR. Usually
+ `configure' can determine that directory automatically.
+
+`--prefix=DIR'
+ Use DIR as the installation prefix. *note Installation Names::
+ for more details, including other options available for fine-tuning
+ the installation locations.
+
+`--no-create'
+`-n'
+ Run the configure checks, but stop before creating any output
+ files.
+
+`configure' also accepts some other, not widely useful, options. Run
+`configure --help' for more details.
+
--
1.5.6.5
1
0
22 Mar '10
* INSTALL: New.
---
ChangeLog | 6 +
INSTALL | 365 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
2 files changed, 371 insertions(+), 0 deletions(-)
create mode 100644 INSTALL
diff --git a/ChangeLog b/ChangeLog
index e9622e6..2fe133a 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,11 @@
2010-03-22 Roland Levillain <roland(a)lrde.epita.fr>
+ Regen INSTALL using autoreconf.
+
+ * INSTALL: New.
+
+2010-03-22 Roland Levillain <roland(a)lrde.epita.fr>
+
Move INSTALL's contents to README and HACKING.
* INSTALL: Remove this file and move its contents...
diff --git a/INSTALL b/INSTALL
new file mode 100644
index 0000000..7d1c323
--- /dev/null
+++ b/INSTALL
@@ -0,0 +1,365 @@
+Installation Instructions
+*************************
+
+Copyright (C) 1994, 1995, 1996, 1999, 2000, 2001, 2002, 2004, 2005,
+2006, 2007, 2008, 2009 Free Software Foundation, Inc.
+
+ Copying and distribution of this file, with or without modification,
+are permitted in any medium without royalty provided the copyright
+notice and this notice are preserved. This file is offered as-is,
+without warranty of any kind.
+
+Basic Installation
+==================
+
+ Briefly, the shell commands `./configure; make; make install' should
+configure, build, and install this package. The following
+more-detailed instructions are generic; see the `README' file for
+instructions specific to this package. Some packages provide this
+`INSTALL' file but do not implement all of the features documented
+below. The lack of an optional feature in a given package is not
+necessarily a bug. More recommendations for GNU packages can be found
+in *note Makefile Conventions: (standards)Makefile Conventions.
+
+ The `configure' shell script attempts to guess correct values for
+various system-dependent variables used during compilation. It uses
+those values to create a `Makefile' in each directory of the package.
+It may also create one or more `.h' files containing system-dependent
+definitions. Finally, it creates a shell script `config.status' that
+you can run in the future to recreate the current configuration, and a
+file `config.log' containing compiler output (useful mainly for
+debugging `configure').
+
+ It can also use an optional file (typically called `config.cache'
+and enabled with `--cache-file=config.cache' or simply `-C') that saves
+the results of its tests to speed up reconfiguring. Caching is
+disabled by default to prevent problems with accidental use of stale
+cache files.
+
+ If you need to do unusual things to compile the package, please try
+to figure out how `configure' could check whether to do them, and mail
+diffs or instructions to the address given in the `README' so they can
+be considered for the next release. If you are using the cache, and at
+some point `config.cache' contains results you don't want to keep, you
+may remove or edit it.
+
+ The file `configure.ac' (or `configure.in') is used to create
+`configure' by a program called `autoconf'. You need `configure.ac' if
+you want to change it or regenerate `configure' using a newer version
+of `autoconf'.
+
+ The simplest way to compile this package is:
+
+ 1. `cd' to the directory containing the package's source code and type
+ `./configure' to configure the package for your system.
+
+ Running `configure' might take a while. While running, it prints
+ some messages telling which features it is checking for.
+
+ 2. Type `make' to compile the package.
+
+ 3. Optionally, type `make check' to run any self-tests that come with
+ the package, generally using the just-built uninstalled binaries.
+
+ 4. Type `make install' to install the programs and any data files and
+ documentation. When installing into a prefix owned by root, it is
+ recommended that the package be configured and built as a regular
+ user, and only the `make install' phase executed with root
+ privileges.
+
+ 5. Optionally, type `make installcheck' to repeat any self-tests, but
+ this time using the binaries in their final installed location.
+ This target does not install anything. Running this target as a
+ regular user, particularly if the prior `make install' required
+ root privileges, verifies that the installation completed
+ correctly.
+
+ 6. You can remove the program binaries and object files from the
+ source code directory by typing `make clean'. To also remove the
+ files that `configure' created (so you can compile the package for
+ a different kind of computer), type `make distclean'. There is
+ also a `make maintainer-clean' target, but that is intended mainly
+ for the package's developers. If you use it, you may have to get
+ all sorts of other programs in order to regenerate files that came
+ with the distribution.
+
+ 7. Often, you can also type `make uninstall' to remove the installed
+ files again. In practice, not all packages have tested that
+ uninstallation works correctly, even though it is required by the
+ GNU Coding Standards.
+
+ 8. Some packages, particularly those that use Automake, provide `make
+ distcheck', which can by used by developers to test that all other
+ targets like `make install' and `make uninstall' work correctly.
+ This target is generally not run by end users.
+
+Compilers and Options
+=====================
+
+ Some systems require unusual options for compilation or linking that
+the `configure' script does not know about. Run `./configure --help'
+for details on some of the pertinent environment variables.
+
+ You can give `configure' initial values for configuration parameters
+by setting variables in the command line or in the environment. Here
+is an example:
+
+ ./configure CC=c99 CFLAGS=-g LIBS=-lposix
+
+ *Note Defining Variables::, for more details.
+
+Compiling For Multiple Architectures
+====================================
+
+ You can compile the package for more than one kind of computer at the
+same time, by placing the object files for each architecture in their
+own directory. To do this, you can use GNU `make'. `cd' to the
+directory where you want the object files and executables to go and run
+the `configure' script. `configure' automatically checks for the
+source code in the directory that `configure' is in and in `..'. This
+is known as a "VPATH" build.
+
+ With a non-GNU `make', it is safer to compile the package for one
+architecture at a time in the source code directory. After you have
+installed the package for one architecture, use `make distclean' before
+reconfiguring for another architecture.
+
+ On MacOS X 10.5 and later systems, you can create libraries and
+executables that work on multiple system types--known as "fat" or
+"universal" binaries--by specifying multiple `-arch' options to the
+compiler but only a single `-arch' option to the preprocessor. Like
+this:
+
+ ./configure CC="gcc -arch i386 -arch x86_64 -arch ppc -arch ppc64" \
+ CXX="g++ -arch i386 -arch x86_64 -arch ppc -arch ppc64" \
+ CPP="gcc -E" CXXCPP="g++ -E"
+
+ This is not guaranteed to produce working output in all cases, you
+may have to build one architecture at a time and combine the results
+using the `lipo' tool if you have problems.
+
+Installation Names
+==================
+
+ By default, `make install' installs the package's commands under
+`/usr/local/bin', include files under `/usr/local/include', etc. You
+can specify an installation prefix other than `/usr/local' by giving
+`configure' the option `--prefix=PREFIX', where PREFIX must be an
+absolute file name.
+
+ You can specify separate installation prefixes for
+architecture-specific files and architecture-independent files. If you
+pass the option `--exec-prefix=PREFIX' to `configure', the package uses
+PREFIX as the prefix for installing programs and libraries.
+Documentation and other data files still use the regular prefix.
+
+ In addition, if you use an unusual directory layout you can give
+options like `--bindir=DIR' to specify different values for particular
+kinds of files. Run `configure --help' for a list of the directories
+you can set and what kinds of files go in them. In general, the
+default for these options is expressed in terms of `${prefix}', so that
+specifying just `--prefix' will affect all of the other directory
+specifications that were not explicitly provided.
+
+ The most portable way to affect installation locations is to pass the
+correct locations to `configure'; however, many packages provide one or
+both of the following shortcuts of passing variable assignments to the
+`make install' command line to change installation locations without
+having to reconfigure or recompile.
+
+ The first method involves providing an override variable for each
+affected directory. For example, `make install
+prefix=/alternate/directory' will choose an alternate location for all
+directory configuration variables that were expressed in terms of
+`${prefix}'. Any directories that were specified during `configure',
+but not in terms of `${prefix}', must each be overridden at install
+time for the entire installation to be relocated. The approach of
+makefile variable overrides for each directory variable is required by
+the GNU Coding Standards, and ideally causes no recompilation.
+However, some platforms have known limitations with the semantics of
+shared libraries that end up requiring recompilation when using this
+method, particularly noticeable in packages that use GNU Libtool.
+
+ The second method involves providing the `DESTDIR' variable. For
+example, `make install DESTDIR=/alternate/directory' will prepend
+`/alternate/directory' before all installation names. The approach of
+`DESTDIR' overrides is not required by the GNU Coding Standards, and
+does not work on platforms that have drive letters. On the other hand,
+it does better at avoiding recompilation issues, and works well even
+when some directory options were not specified in terms of `${prefix}'
+at `configure' time.
+
+Optional Features
+=================
+
+ If the package supports it, you can cause programs to be installed
+with an extra prefix or suffix on their names by giving `configure' the
+option `--program-prefix=PREFIX' or `--program-suffix=SUFFIX'.
+
+ Some packages pay attention to `--enable-FEATURE' options to
+`configure', where FEATURE indicates an optional part of the package.
+They may also pay attention to `--with-PACKAGE' options, where PACKAGE
+is something like `gnu-as' or `x' (for the X Window System). The
+`README' should mention any `--enable-' and `--with-' options that the
+package recognizes.
+
+ For packages that use the X Window System, `configure' can usually
+find the X include and library files automatically, but if it doesn't,
+you can use the `configure' options `--x-includes=DIR' and
+`--x-libraries=DIR' to specify their locations.
+
+ Some packages offer the ability to configure how verbose the
+execution of `make' will be. For these packages, running `./configure
+--enable-silent-rules' sets the default to minimal output, which can be
+overridden with `make V=1'; while running `./configure
+--disable-silent-rules' sets the default to verbose, which can be
+overridden with `make V=0'.
+
+Particular systems
+==================
+
+ On HP-UX, the default C compiler is not ANSI C compatible. If GNU
+CC is not installed, it is recommended to use the following options in
+order to use an ANSI C compiler:
+
+ ./configure CC="cc -Ae -D_XOPEN_SOURCE=500"
+
+and if that doesn't work, install pre-built binaries of GCC for HP-UX.
+
+ On OSF/1 a.k.a. Tru64, some versions of the default C compiler cannot
+parse its `<wchar.h>' header file. The option `-nodtk' can be used as
+a workaround. If GNU CC is not installed, it is therefore recommended
+to try
+
+ ./configure CC="cc"
+
+and if that doesn't work, try
+
+ ./configure CC="cc -nodtk"
+
+ On Solaris, don't put `/usr/ucb' early in your `PATH'. This
+directory contains several dysfunctional programs; working variants of
+these programs are available in `/usr/bin'. So, if you need `/usr/ucb'
+in your `PATH', put it _after_ `/usr/bin'.
+
+ On Haiku, software installed for all users goes in `/boot/common',
+not `/usr/local'. It is recommended to use the following options:
+
+ ./configure --prefix=/boot/common
+
+Specifying the System Type
+==========================
+
+ There may be some features `configure' cannot figure out
+automatically, but needs to determine by the type of machine the package
+will run on. Usually, assuming the package is built to be run on the
+_same_ architectures, `configure' can figure that out, but if it prints
+a message saying it cannot guess the machine type, give it the
+`--build=TYPE' option. TYPE can either be a short name for the system
+type, such as `sun4', or a canonical name which has the form:
+
+ CPU-COMPANY-SYSTEM
+
+where SYSTEM can have one of these forms:
+
+ OS
+ KERNEL-OS
+
+ See the file `config.sub' for the possible values of each field. If
+`config.sub' isn't included in this package, then this package doesn't
+need to know the machine type.
+
+ If you are _building_ compiler tools for cross-compiling, you should
+use the option `--target=TYPE' to select the type of system they will
+produce code for.
+
+ If you want to _use_ a cross compiler, that generates code for a
+platform different from the build platform, you should specify the
+"host" platform (i.e., that on which the generated programs will
+eventually be run) with `--host=TYPE'.
+
+Sharing Defaults
+================
+
+ If you want to set default values for `configure' scripts to share,
+you can create a site shell script called `config.site' that gives
+default values for variables like `CC', `cache_file', and `prefix'.
+`configure' looks for `PREFIX/share/config.site' if it exists, then
+`PREFIX/etc/config.site' if it exists. Or, you can set the
+`CONFIG_SITE' environment variable to the location of the site script.
+A warning: not all `configure' scripts look for a site script.
+
+Defining Variables
+==================
+
+ Variables not defined in a site shell script can be set in the
+environment passed to `configure'. However, some packages may run
+configure again during the build, and the customized values of these
+variables may be lost. In order to avoid this problem, you should set
+them in the `configure' command line, using `VAR=value'. For example:
+
+ ./configure CC=/usr/local2/bin/gcc
+
+causes the specified `gcc' to be used as the C compiler (unless it is
+overridden in the site shell script).
+
+Unfortunately, this technique does not work for `CONFIG_SHELL' due to
+an Autoconf bug. Until the bug is fixed you can use this workaround:
+
+ CONFIG_SHELL=/bin/bash /bin/bash ./configure CONFIG_SHELL=/bin/bash
+
+`configure' Invocation
+======================
+
+ `configure' recognizes the following options to control how it
+operates.
+
+`--help'
+`-h'
+ Print a summary of all of the options to `configure', and exit.
+
+`--help=short'
+`--help=recursive'
+ Print a summary of the options unique to this package's
+ `configure', and exit. The `short' variant lists options used
+ only in the top level, while the `recursive' variant lists options
+ also present in any nested packages.
+
+`--version'
+`-V'
+ Print the version of Autoconf used to generate the `configure'
+ script, and exit.
+
+`--cache-file=FILE'
+ Enable the cache: use and save the results of the tests in FILE,
+ traditionally `config.cache'. FILE defaults to `/dev/null' to
+ disable caching.
+
+`--config-cache'
+`-C'
+ Alias for `--cache-file=config.cache'.
+
+`--quiet'
+`--silent'
+`-q'
+ Do not print messages saying which checks are being made. To
+ suppress all normal output, redirect it to `/dev/null' (any error
+ messages will still be shown).
+
+`--srcdir=DIR'
+ Look for the package's source code in directory DIR. Usually
+ `configure' can determine that directory automatically.
+
+`--prefix=DIR'
+ Use DIR as the installation prefix. *note Installation Names::
+ for more details, including other options available for fine-tuning
+ the installation locations.
+
+`--no-create'
+`-n'
+ Run the configure checks, but stop before creating any output
+ files.
+
+`configure' also accepts some other, not widely useful, options. Run
+`configure --help' for more details.
+
--
1.5.6.5
1
0
last-svn-commit-97-g2c83b3c Move INSTALL's contents to README and HACKING.
by Roland Levillain 22 Mar '10
by Roland Levillain 22 Mar '10
22 Mar '10
* INSTALL: Remove this file and move its contents...
* README: ...here, and...
* HACKING: ...here (new file).
---
ChangeLog | 8 ++
HACKING | 95 ++++++++++++++++++++++++++
INSTALL | 216 -----------------------------------------------------------
README | 223 +++++++++++++++++++++++++++++++++++++++++++++++++++++++------
4 files changed, 305 insertions(+), 237 deletions(-)
create mode 100644 HACKING
delete mode 100644 INSTALL
diff --git a/ChangeLog b/ChangeLog
index 94dd844..5d57eee 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,13 @@
2010-03-22 Roland Levillain <roland(a)lrde.epita.fr>
+ Move INSTALL's contents to README and HACKING.
+
+ * INSTALL: Remove this file and move its contents...
+ * README: ...here, and...
+ * HACKING: ...here (new file).
+
+2010-03-22 Roland Levillain <roland(a)lrde.epita.fr>
+
Remove useless regen actions from bootstrap.
* bootstrap (gen_doc_figures): Remove this function, and its uses
diff --git a/HACKING b/HACKING
new file mode 100644
index 0000000..de4e4a1
--- /dev/null
+++ b/HACKING
@@ -0,0 +1,95 @@
+Copyright (C) 2009, 2010 EPITA Research and Development Laboratory (LRDE)
+
+This file is part of Olena.
+
+Olena is free software: you can redistribute it and/or modify it under
+the terms of the GNU General Public License as published by the Free
+Software Foundation, version 2 of the License.
+
+Olena is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with Olena. If not, see <http://www.gnu.org/licenses/>.
+
+The complete GNU General Public License Notice can also be found in
+the 'COPYING' file in the root directory.
+
+
+=================
+Developer's Guide
+=================
+
+This file gathers some useful information for Olena developers and
+contributors.
+
+
+-------------
+Bootstrapping
+-------------
+
+If you are fetching Olena from its Git repository, you will need to
+run `bootstrap' to build files that are not recorded in the
+repository::
+
+ ./bootstrap
+
+By default, `bootstrap' does not regenerate files that are stored on
+the repository. If you want to refresh them (e.g., because your
+working copy is in a bad state), you can ask boostrap to regenerate
+them::
+
+ ./bootstrap --regen
+
+On a configured tree, you can also use Make to perform the same task::
+
+ make regen
+
+
+-----------------
+Required Software
+-----------------
+
+In addition to the required packages listed in README, you may need
+the following extra programs if you want to work on the Olena project.
+
+ * If you want to make changes anywhere within the project, you will
+ need:
+
+ - GNU Autoconf 2.61
+
+ - GNU Automake 1.10
+
+ - GNU Libtool 1.5.22
+
+ * If you plan to make changes within Swilena, you must have:
+
+ - SWIG 1.3.36
+
+ - Python 2.5
+
+ * If you want to change and/or rebuild the documentation, the
+ following tools are required:
+
+ - Doxygen 1.5.6
+
+ - a fairly recent LaTeX distribution
+
+ - the `listings' LaTeX package
+
+ - the `convert' utility from ImageMagick
+
+ - TeX4ht, to compile the LaTeX documentation into HTML
+
+ - dvipng (required by TeX4ht)
+
+
+Note that `bootstrap' checks for the presence of most of these tools.
+
+
+
+.. Local Variables:
+.. mode: rst
+.. End:
diff --git a/INSTALL b/INSTALL
deleted file mode 100644
index 39196d9..0000000
--- a/INSTALL
+++ /dev/null
@@ -1,216 +0,0 @@
-==================
-Installation Notes
-==================
-
-
-This file contains information about the installation process of Olena.
-
- You can read the `README' file for general information about Olena.
-
-
-Required Software
-=================
-
-Here is a non-exhaustive list of required software required to build
-Olena successfully.
-
- * to compile the user examples:
-
- - a POSIX shell, like Bash
-
- - a decent C++ compiler, like GNU C++
-
- - a `make' utility, like GNU `make'
-
-Optional:
-
- * to (re)compile the documentation:
-
- - a LaTeX distribution
-
- - the `listings' TeX package
-
- - the utility `convert' from ImageMagick
-
- - `hevea', a TeX to HTML conversion tool
-
- - latex2html
-
- * to use various image types:
-
- - Magick++
-
- - libtiff
-
- - GDCM
-
- * to develop _within_ Olena:
-
- - GNU Autoconf 2.61
-
- - GNU Automake 1.10
-
- - GNU Libtool 1.5.22
-
- * to develop _within_ Swilena:
-
- - SWIG
-
- - Python
-
-
-Configuration
-=============
-
-In order to prepare the build process, you need to configure the source
-tree.
-
- Assuming your Olena distribution is uncompressed in directory
-`olena-1.0', follow these steps:
-
- % cd olena-1.0
- % mkdir _build
- % cd _build
- % ../configure
-
- The build process can be altered by a number of options you can pass
-to the `configure' script. The following sections describe them.
-
- Additionally, if you are an Olena maintainer (a person who runs
-`make distcheck'), _prefer setting `CXXFLAGS' as an environment
-variable_: the flags given on the command line to `configure' are not
-propagated to recursive runs by `make distcheck'. Or better: use the
-environment CONFIG_SITE to set up a configuration environment (see
-Autoconf's manual).
-
-
-Installation Path
------------------
-
-By default, Olena is installed in the standard "local" directory of
-your system. This is usually `/usr/local' under Unix.
-
- You can change this path with the following flag:
-
- --prefix=<installation prefix>
-
-
-Compiler Selection and Compilation Flags
-----------------------------------------
-
-By default, `configure' will try to use the first C++ compiler it
-encounters on your system. If `CXX' is not set, it will look, in order,
-for:
-
- - the value of the `CCC' environment variable,
-
- - the GNU C++ compiler (`g++'),
-
- - the `c++' or `gpp' commands on your system,
-
- - `aCC', the HP-UX standard C++ compiler,
-
- - the `CC', `cxx', `cc++' or `cl' commands on your system,
-
- - KAI's C++ compiler (`KCC'),
-
- - `RCC', `xlC_r' or `xlC'.
-
- You can override the detection system by passing your favorite
-compiler name to `configure', as follows:
-
- % ../configure CXX=<your-favorite-C++-compiler>
-
- As an alternative, you can also set the environment variable `CXX'.
-
-
- For some compilers (GNU g++ and Intel's icpc to some extent) ,
-`configure' will use default CXXFLAGS. You can override the default
-C++ flags by giving `configure' your selection of flags:
-
- % ../configure CXXFLAGS="<your-favorite-flags>"
-
-
-Additional Components
-=====================
-
-In additional to Milena, several build targets can be enabled. These
-parts are called "components", and you can obtain a list of them by
-running:
-
- % ../configure --help
-
-Olena ships with Trimesh, a third-party library that we have been
-using to manipulate 3D meshes. Eventually, we will drop Trimesh from
-the distribution.
-
-See README for more information on additional components.
-
-
-Building
-========
-
-Once your build directory is `configure'd, you can run
-
- % make
-
-to recursively build all the selected components.
-
-
- Additionally, you can build and run the test suite with:
-
- % make check
-
-However, this process is time- and memory- consuming, and you probably
-do not need it except if you are developing/debugging Olena.
-
-
-Compiler Notes
-==============
-
-Olena has been tested on the following configurations:
-
-System Compiler
-GNU/Linux on IA-32 g++ (GNU GCC) 3.3, 3.4, 4.0, 4.1, 4.2 and 4.3
-GNU/Linux on IA-32 icpc (Intel C/C++ Compiler) 10.1 and 11.0
-GNU/Linux on AMD64/Intel 64 g++ (GNU GCC) 4.1
-Mac OS X (10.5) on IA-32 g++ (GNU GCC) 4.0.1
-
-
-Installing
-==========
-
-To install the Olena headers and additional files on your system, run:
-
- % make install
-
-from the build directory.
-
- If not overridden with `--prefix', this will install:
-
- * the headers in `/usr/local/include/mln/',
-
- * some applications and tools in `/usr/local/bin/',
-
- * sample images and meshes in `/usr/local/share/olena/images/',
-
- * the documentation in `/usr/local/share/doc/olena/`
-
-And optionally:
-
- * Swilena's Python bindings in `/usr/local/lib/python2.x/site-packages/',
-
- * Trimesh programs in `/usr/local/bin/',
-
- * Trimesh libraries in `/usr/local/lib/',
-
- * Trimesh headers in `/usr/local/share/trimesh/',
-
-
- You can later remove Olena from your system by running
-
- % make uninstall
-
-from the build directory (if you have kept it). We recommend the use
-of GNU Stow (or any similar program) during the installation of Olena,
-to make the uninstallation of Olena easier.
diff --git a/README b/README
index 41c65cc..cf35e0a 100644
--- a/README
+++ b/README
@@ -1,4 +1,5 @@
-Copyright (C) 2009 EPITA Research and Development Laboratory (LRDE)
+Copyright (C) 2008, 2009, 2010 EPITA Research and Development
+Laboratory (LRDE)
This file is part of Olena.
@@ -27,8 +28,9 @@ Olena_, a platform dedicated to image processing.
.. _Olena: http://olena.lrde.epita.fr
+--------
Overview
-========
+--------
Olena is a platform dedicated to image processing. At the moment it is
mainly composed of a C++ library: Milena. This library features many
@@ -68,15 +70,46 @@ code or e-mail us.
<http://olena.lrde.epita.fr>.
-Installation
-============
+-----------------
+Required Software
+-----------------
+
+Here is a non-exhaustive list of required software required to build
+Olena successfully.
+
+ * to compile the user examples:
+
+ - a POSIX shell, like Bash
+
+ - a decent C++ compiler, like GNU C++
+
+ - a `make' utility, like GNU `make'
+
+Optional:
+
+ * to use various image types:
+
+ - Magick++
-To install Olena on your system, create a `build' directory (even
+ - libtiff
+
+ - GDCM
+
+
+==================
+Quick Start Manual
+==================
+
+This section summarizes the installation procedure. For more
+information about building and installing Olena, see the next
+sections.
+
+To install Olena on your system, create a `_build' directory (even
though it is not mandatory) and type in the classical sequence at the
command prompt::
- mkdir build
- cd build
+ mkdir _build
+ cd _build
../configure
make
make install (as root)
@@ -94,12 +127,94 @@ Between ``make`` and ``make install``, you may also want to run::
Running the test suite may require up several hours.
-Please read the INSTALL file for more information about building and
-installing Olena.
+=====================
+Detailed Instructions
+=====================
+
+-------------
+Configuration
+-------------
+
+In order to prepare the build process, you need to configure the source
+tree.
+
+ Assuming your Olena distribution is uncompressed in directory
+`olena-1.0', follow these steps:
+
+ % cd olena-1.0
+ % mkdir _build
+ % cd _build
+ % ../configure
+
+ The build process can be altered by a number of options you can pass
+to the `configure' script. The following sections describe them.
+
+ Additionally, if you are an Olena maintainer (a person who runs
+`make distcheck'), _prefer setting `CXXFLAGS' as an environment
+variable_: the flags given on the command line to `configure' are not
+propagated to recursive runs by `make distcheck'. Or better: use the
+environment CONFIG_SITE to set up a configuration environment (see
+Autoconf's manual).
+
+
+Installation Path
+=================
+
+By default, Olena is installed in the standard "local" directory of
+your system. This is usually `/usr/local' under Unix.
+
+ You can change this path with the following flag:
+
+ --prefix=<installation prefix>
+
+
+Compiler Selection and Compilation Flags
+========================================
+
+By default, `configure' will try to use the first C++ compiler it
+encounters on your system. If `CXX' is not set, it will look, in order,
+for:
+
+ - the value of the `CCC' environment variable,
+
+ - the GNU C++ compiler (`g++'),
+
+ - the `c++' or `gpp' commands on your system,
+
+ - `aCC', the HP-UX standard C++ compiler,
+
+ - the `CC', `cxx', `cc++' or `cl' commands on your system,
+
+ - KAI's C++ compiler (`KCC'),
+
+ - `RCC', `xlC_r' or `xlC'.
+
+ You can override the detection system by passing your favorite
+compiler name to `configure', as follows:
+
+ % ../configure CXX=<your-favorite-C++-compiler>
+
+ As an alternative, you can also set the environment variable `CXX'.
+
+ For some compilers (GNU g++ and Intel's icpc to some extent) ,
+`configure' will use default CXXFLAGS. You can override the default
+C++ flags by giving `configure' your selection of flags:
-Additional Features
--------------------
+ % ../configure CXXFLAGS="<your-favorite-flags>"
+
+
+Additional Components
+=====================
+
+In additional to Milena, several build targets can be enabled. These
+parts are called "components", and you can obtain a list of them by
+running:
+
+ % ../configure --help
+
+Swilena
+-------
Swilena is an optional component of Olena exposing Milena to other
languages thanks to the Simplified Wrapper and Interface Generator
@@ -117,22 +232,32 @@ To enable the installation of this module use::
./configure --enable-swilena
+Tools
+-----
+
Sample tools are shipped with the tarball. To enable the installation of
these tools use::
./configure --enable-tools
+Applications
+------------
Sample applications are shipped with the tarball. To enable the
installation of these applications use::
./configure --enable-apps
-Olena ships with Trimesh, a third-party library that we have been
-using to manipulate 3D meshes. Eventually, we will drop Trimesh from
-the distribution. To enable it, use::
+Trimesh
+-------
+
+Trimesh, a third-party library that we have been using to manipulate
+3D meshes, is shipped with Olena. (We will probably drop Trimesh from
+the distribution someday.) To enable it, use::
./configure --enable-trimesh
+Input/output libraries
+----------------------
To read/write TIFF images with Olena, libtiff is required. If
``configure`` is unable to find libtiff on your system, you can help
@@ -140,7 +265,6 @@ it by specifying the base directory of libtiff, e.g.::
./configure --with-tiff=/usr/local
-
To read/write DICOM images with Olena, GDCM is required. Likewise,
you can tell ``configure`` where to find it by giving its install
prefix, e.g.::
@@ -154,8 +278,67 @@ needed) at configuration time::
./configure --with-magickxx=/usr/local/
+--------
+Building
+--------
+
+Once your build directory is `configure'd, you can run
+
+ % make
+
+to recursively build all the selected components.
+
+
+ Additionally, you can build and run the test suite with:
+
+ % make check
+
+However, this process is time- and memory- consuming, and you probably
+do not need it except if you are developing/debugging Olena.
+
+
+----------
+Installing
+----------
+
+To install the Olena headers and additional files on your system, run:
+
+ % make install
+
+from the build directory.
+
+ If not overridden with `--prefix', this will install:
+
+ * the headers in `/usr/local/include/mln/',
+
+ * some applications and tools in `/usr/local/bin/',
+
+ * sample images and meshes in `/usr/local/share/olena/images/',
+
+ * the documentation in `/usr/local/share/doc/olena/`
+
+And optionally:
+
+ * Swilena's Python bindings in `/usr/local/lib/python2.x/site-packages/',
+
+ * Trimesh programs in `/usr/local/bin/',
+
+ * Trimesh libraries in `/usr/local/lib/',
+
+ * Trimesh headers in `/usr/local/share/trimesh/',
+
+
+ You can later remove Olena from your system by running
+
+ % make uninstall
+
+from the build directory (if you have kept it). We recommend the use
+of GNU Stow (or any similar program) during the installation of Olena,
+to make the uninstallation of Olena easier.
+
+=====================
Layout of the Tarball
----------------------
+=====================
The Olena project directory layout is as follows:
@@ -166,7 +349,6 @@ build-aux
external
Sources of Shipped dependencies.
-
m4
Extra Autoconf macros.
@@ -196,16 +378,15 @@ milena
demos
Demos of Milena.
-
swilena
-
python
Some Python bindings for Milena.
-Requirements
-============
+===================
+Supported Platforms
+===================
Olena has been tested on the following configurations:
--
1.5.6.5
1
0
last-svn-commit-104-g8116ef1 Move INSTALL's contents to README and HACKING.
by Roland Levillain 22 Mar '10
by Roland Levillain 22 Mar '10
22 Mar '10
* INSTALL: Remove this file and move its contents...
* README: ...here, and...
* HACKING: ...here (new file).
---
ChangeLog | 8 ++
HACKING | 95 ++++++++++++++++++++++++++
INSTALL | 216 -----------------------------------------------------------
README | 223 +++++++++++++++++++++++++++++++++++++++++++++++++++++++------
4 files changed, 305 insertions(+), 237 deletions(-)
create mode 100644 HACKING
delete mode 100644 INSTALL
diff --git a/ChangeLog b/ChangeLog
index 826eb19..e9622e6 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,13 @@
2010-03-22 Roland Levillain <roland(a)lrde.epita.fr>
+ Move INSTALL's contents to README and HACKING.
+
+ * INSTALL: Remove this file and move its contents...
+ * README: ...here, and...
+ * HACKING: ...here (new file).
+
+2010-03-22 Roland Levillain <roland(a)lrde.epita.fr>
+
Remove useless regen actions from bootstrap.
* bootstrap (gen_doc_figures): Remove this function, and its uses
diff --git a/HACKING b/HACKING
new file mode 100644
index 0000000..de4e4a1
--- /dev/null
+++ b/HACKING
@@ -0,0 +1,95 @@
+Copyright (C) 2009, 2010 EPITA Research and Development Laboratory (LRDE)
+
+This file is part of Olena.
+
+Olena is free software: you can redistribute it and/or modify it under
+the terms of the GNU General Public License as published by the Free
+Software Foundation, version 2 of the License.
+
+Olena is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with Olena. If not, see <http://www.gnu.org/licenses/>.
+
+The complete GNU General Public License Notice can also be found in
+the 'COPYING' file in the root directory.
+
+
+=================
+Developer's Guide
+=================
+
+This file gathers some useful information for Olena developers and
+contributors.
+
+
+-------------
+Bootstrapping
+-------------
+
+If you are fetching Olena from its Git repository, you will need to
+run `bootstrap' to build files that are not recorded in the
+repository::
+
+ ./bootstrap
+
+By default, `bootstrap' does not regenerate files that are stored on
+the repository. If you want to refresh them (e.g., because your
+working copy is in a bad state), you can ask boostrap to regenerate
+them::
+
+ ./bootstrap --regen
+
+On a configured tree, you can also use Make to perform the same task::
+
+ make regen
+
+
+-----------------
+Required Software
+-----------------
+
+In addition to the required packages listed in README, you may need
+the following extra programs if you want to work on the Olena project.
+
+ * If you want to make changes anywhere within the project, you will
+ need:
+
+ - GNU Autoconf 2.61
+
+ - GNU Automake 1.10
+
+ - GNU Libtool 1.5.22
+
+ * If you plan to make changes within Swilena, you must have:
+
+ - SWIG 1.3.36
+
+ - Python 2.5
+
+ * If you want to change and/or rebuild the documentation, the
+ following tools are required:
+
+ - Doxygen 1.5.6
+
+ - a fairly recent LaTeX distribution
+
+ - the `listings' LaTeX package
+
+ - the `convert' utility from ImageMagick
+
+ - TeX4ht, to compile the LaTeX documentation into HTML
+
+ - dvipng (required by TeX4ht)
+
+
+Note that `bootstrap' checks for the presence of most of these tools.
+
+
+
+.. Local Variables:
+.. mode: rst
+.. End:
diff --git a/INSTALL b/INSTALL
deleted file mode 100644
index 39196d9..0000000
--- a/INSTALL
+++ /dev/null
@@ -1,216 +0,0 @@
-==================
-Installation Notes
-==================
-
-
-This file contains information about the installation process of Olena.
-
- You can read the `README' file for general information about Olena.
-
-
-Required Software
-=================
-
-Here is a non-exhaustive list of required software required to build
-Olena successfully.
-
- * to compile the user examples:
-
- - a POSIX shell, like Bash
-
- - a decent C++ compiler, like GNU C++
-
- - a `make' utility, like GNU `make'
-
-Optional:
-
- * to (re)compile the documentation:
-
- - a LaTeX distribution
-
- - the `listings' TeX package
-
- - the utility `convert' from ImageMagick
-
- - `hevea', a TeX to HTML conversion tool
-
- - latex2html
-
- * to use various image types:
-
- - Magick++
-
- - libtiff
-
- - GDCM
-
- * to develop _within_ Olena:
-
- - GNU Autoconf 2.61
-
- - GNU Automake 1.10
-
- - GNU Libtool 1.5.22
-
- * to develop _within_ Swilena:
-
- - SWIG
-
- - Python
-
-
-Configuration
-=============
-
-In order to prepare the build process, you need to configure the source
-tree.
-
- Assuming your Olena distribution is uncompressed in directory
-`olena-1.0', follow these steps:
-
- % cd olena-1.0
- % mkdir _build
- % cd _build
- % ../configure
-
- The build process can be altered by a number of options you can pass
-to the `configure' script. The following sections describe them.
-
- Additionally, if you are an Olena maintainer (a person who runs
-`make distcheck'), _prefer setting `CXXFLAGS' as an environment
-variable_: the flags given on the command line to `configure' are not
-propagated to recursive runs by `make distcheck'. Or better: use the
-environment CONFIG_SITE to set up a configuration environment (see
-Autoconf's manual).
-
-
-Installation Path
------------------
-
-By default, Olena is installed in the standard "local" directory of
-your system. This is usually `/usr/local' under Unix.
-
- You can change this path with the following flag:
-
- --prefix=<installation prefix>
-
-
-Compiler Selection and Compilation Flags
-----------------------------------------
-
-By default, `configure' will try to use the first C++ compiler it
-encounters on your system. If `CXX' is not set, it will look, in order,
-for:
-
- - the value of the `CCC' environment variable,
-
- - the GNU C++ compiler (`g++'),
-
- - the `c++' or `gpp' commands on your system,
-
- - `aCC', the HP-UX standard C++ compiler,
-
- - the `CC', `cxx', `cc++' or `cl' commands on your system,
-
- - KAI's C++ compiler (`KCC'),
-
- - `RCC', `xlC_r' or `xlC'.
-
- You can override the detection system by passing your favorite
-compiler name to `configure', as follows:
-
- % ../configure CXX=<your-favorite-C++-compiler>
-
- As an alternative, you can also set the environment variable `CXX'.
-
-
- For some compilers (GNU g++ and Intel's icpc to some extent) ,
-`configure' will use default CXXFLAGS. You can override the default
-C++ flags by giving `configure' your selection of flags:
-
- % ../configure CXXFLAGS="<your-favorite-flags>"
-
-
-Additional Components
-=====================
-
-In additional to Milena, several build targets can be enabled. These
-parts are called "components", and you can obtain a list of them by
-running:
-
- % ../configure --help
-
-Olena ships with Trimesh, a third-party library that we have been
-using to manipulate 3D meshes. Eventually, we will drop Trimesh from
-the distribution.
-
-See README for more information on additional components.
-
-
-Building
-========
-
-Once your build directory is `configure'd, you can run
-
- % make
-
-to recursively build all the selected components.
-
-
- Additionally, you can build and run the test suite with:
-
- % make check
-
-However, this process is time- and memory- consuming, and you probably
-do not need it except if you are developing/debugging Olena.
-
-
-Compiler Notes
-==============
-
-Olena has been tested on the following configurations:
-
-System Compiler
-GNU/Linux on IA-32 g++ (GNU GCC) 3.3, 3.4, 4.0, 4.1, 4.2 and 4.3
-GNU/Linux on IA-32 icpc (Intel C/C++ Compiler) 10.1 and 11.0
-GNU/Linux on AMD64/Intel 64 g++ (GNU GCC) 4.1
-Mac OS X (10.5) on IA-32 g++ (GNU GCC) 4.0.1
-
-
-Installing
-==========
-
-To install the Olena headers and additional files on your system, run:
-
- % make install
-
-from the build directory.
-
- If not overridden with `--prefix', this will install:
-
- * the headers in `/usr/local/include/mln/',
-
- * some applications and tools in `/usr/local/bin/',
-
- * sample images and meshes in `/usr/local/share/olena/images/',
-
- * the documentation in `/usr/local/share/doc/olena/`
-
-And optionally:
-
- * Swilena's Python bindings in `/usr/local/lib/python2.x/site-packages/',
-
- * Trimesh programs in `/usr/local/bin/',
-
- * Trimesh libraries in `/usr/local/lib/',
-
- * Trimesh headers in `/usr/local/share/trimesh/',
-
-
- You can later remove Olena from your system by running
-
- % make uninstall
-
-from the build directory (if you have kept it). We recommend the use
-of GNU Stow (or any similar program) during the installation of Olena,
-to make the uninstallation of Olena easier.
diff --git a/README b/README
index 41c65cc..cf35e0a 100644
--- a/README
+++ b/README
@@ -1,4 +1,5 @@
-Copyright (C) 2009 EPITA Research and Development Laboratory (LRDE)
+Copyright (C) 2008, 2009, 2010 EPITA Research and Development
+Laboratory (LRDE)
This file is part of Olena.
@@ -27,8 +28,9 @@ Olena_, a platform dedicated to image processing.
.. _Olena: http://olena.lrde.epita.fr
+--------
Overview
-========
+--------
Olena is a platform dedicated to image processing. At the moment it is
mainly composed of a C++ library: Milena. This library features many
@@ -68,15 +70,46 @@ code or e-mail us.
<http://olena.lrde.epita.fr>.
-Installation
-============
+-----------------
+Required Software
+-----------------
+
+Here is a non-exhaustive list of required software required to build
+Olena successfully.
+
+ * to compile the user examples:
+
+ - a POSIX shell, like Bash
+
+ - a decent C++ compiler, like GNU C++
+
+ - a `make' utility, like GNU `make'
+
+Optional:
+
+ * to use various image types:
+
+ - Magick++
-To install Olena on your system, create a `build' directory (even
+ - libtiff
+
+ - GDCM
+
+
+==================
+Quick Start Manual
+==================
+
+This section summarizes the installation procedure. For more
+information about building and installing Olena, see the next
+sections.
+
+To install Olena on your system, create a `_build' directory (even
though it is not mandatory) and type in the classical sequence at the
command prompt::
- mkdir build
- cd build
+ mkdir _build
+ cd _build
../configure
make
make install (as root)
@@ -94,12 +127,94 @@ Between ``make`` and ``make install``, you may also want to run::
Running the test suite may require up several hours.
-Please read the INSTALL file for more information about building and
-installing Olena.
+=====================
+Detailed Instructions
+=====================
+
+-------------
+Configuration
+-------------
+
+In order to prepare the build process, you need to configure the source
+tree.
+
+ Assuming your Olena distribution is uncompressed in directory
+`olena-1.0', follow these steps:
+
+ % cd olena-1.0
+ % mkdir _build
+ % cd _build
+ % ../configure
+
+ The build process can be altered by a number of options you can pass
+to the `configure' script. The following sections describe them.
+
+ Additionally, if you are an Olena maintainer (a person who runs
+`make distcheck'), _prefer setting `CXXFLAGS' as an environment
+variable_: the flags given on the command line to `configure' are not
+propagated to recursive runs by `make distcheck'. Or better: use the
+environment CONFIG_SITE to set up a configuration environment (see
+Autoconf's manual).
+
+
+Installation Path
+=================
+
+By default, Olena is installed in the standard "local" directory of
+your system. This is usually `/usr/local' under Unix.
+
+ You can change this path with the following flag:
+
+ --prefix=<installation prefix>
+
+
+Compiler Selection and Compilation Flags
+========================================
+
+By default, `configure' will try to use the first C++ compiler it
+encounters on your system. If `CXX' is not set, it will look, in order,
+for:
+
+ - the value of the `CCC' environment variable,
+
+ - the GNU C++ compiler (`g++'),
+
+ - the `c++' or `gpp' commands on your system,
+
+ - `aCC', the HP-UX standard C++ compiler,
+
+ - the `CC', `cxx', `cc++' or `cl' commands on your system,
+
+ - KAI's C++ compiler (`KCC'),
+
+ - `RCC', `xlC_r' or `xlC'.
+
+ You can override the detection system by passing your favorite
+compiler name to `configure', as follows:
+
+ % ../configure CXX=<your-favorite-C++-compiler>
+
+ As an alternative, you can also set the environment variable `CXX'.
+
+ For some compilers (GNU g++ and Intel's icpc to some extent) ,
+`configure' will use default CXXFLAGS. You can override the default
+C++ flags by giving `configure' your selection of flags:
-Additional Features
--------------------
+ % ../configure CXXFLAGS="<your-favorite-flags>"
+
+
+Additional Components
+=====================
+
+In additional to Milena, several build targets can be enabled. These
+parts are called "components", and you can obtain a list of them by
+running:
+
+ % ../configure --help
+
+Swilena
+-------
Swilena is an optional component of Olena exposing Milena to other
languages thanks to the Simplified Wrapper and Interface Generator
@@ -117,22 +232,32 @@ To enable the installation of this module use::
./configure --enable-swilena
+Tools
+-----
+
Sample tools are shipped with the tarball. To enable the installation of
these tools use::
./configure --enable-tools
+Applications
+------------
Sample applications are shipped with the tarball. To enable the
installation of these applications use::
./configure --enable-apps
-Olena ships with Trimesh, a third-party library that we have been
-using to manipulate 3D meshes. Eventually, we will drop Trimesh from
-the distribution. To enable it, use::
+Trimesh
+-------
+
+Trimesh, a third-party library that we have been using to manipulate
+3D meshes, is shipped with Olena. (We will probably drop Trimesh from
+the distribution someday.) To enable it, use::
./configure --enable-trimesh
+Input/output libraries
+----------------------
To read/write TIFF images with Olena, libtiff is required. If
``configure`` is unable to find libtiff on your system, you can help
@@ -140,7 +265,6 @@ it by specifying the base directory of libtiff, e.g.::
./configure --with-tiff=/usr/local
-
To read/write DICOM images with Olena, GDCM is required. Likewise,
you can tell ``configure`` where to find it by giving its install
prefix, e.g.::
@@ -154,8 +278,67 @@ needed) at configuration time::
./configure --with-magickxx=/usr/local/
+--------
+Building
+--------
+
+Once your build directory is `configure'd, you can run
+
+ % make
+
+to recursively build all the selected components.
+
+
+ Additionally, you can build and run the test suite with:
+
+ % make check
+
+However, this process is time- and memory- consuming, and you probably
+do not need it except if you are developing/debugging Olena.
+
+
+----------
+Installing
+----------
+
+To install the Olena headers and additional files on your system, run:
+
+ % make install
+
+from the build directory.
+
+ If not overridden with `--prefix', this will install:
+
+ * the headers in `/usr/local/include/mln/',
+
+ * some applications and tools in `/usr/local/bin/',
+
+ * sample images and meshes in `/usr/local/share/olena/images/',
+
+ * the documentation in `/usr/local/share/doc/olena/`
+
+And optionally:
+
+ * Swilena's Python bindings in `/usr/local/lib/python2.x/site-packages/',
+
+ * Trimesh programs in `/usr/local/bin/',
+
+ * Trimesh libraries in `/usr/local/lib/',
+
+ * Trimesh headers in `/usr/local/share/trimesh/',
+
+
+ You can later remove Olena from your system by running
+
+ % make uninstall
+
+from the build directory (if you have kept it). We recommend the use
+of GNU Stow (or any similar program) during the installation of Olena,
+to make the uninstallation of Olena easier.
+
+=====================
Layout of the Tarball
----------------------
+=====================
The Olena project directory layout is as follows:
@@ -166,7 +349,6 @@ build-aux
external
Sources of Shipped dependencies.
-
m4
Extra Autoconf macros.
@@ -196,16 +378,15 @@ milena
demos
Demos of Milena.
-
swilena
-
python
Some Python bindings for Milena.
-Requirements
-============
+===================
+Supported Platforms
+===================
Olena has been tested on the following configurations:
--
1.5.6.5
1
0
* doc/examples/split/ima2d-rot-1.cc.raw,
* doc/figures/fill-subdomain-2.ppm,
* doc/figures/fill-subdomain-3.ppm,
* doc/figures/labeling-compute-2.ppm,
* doc/figures/tuto3_colorize-2.ppm,
* doc/figures/tuto4_genericity_and_algorithms-1.ppm,
* doc/figures/tuto4_genericity_and_algorithms-5.ppm:
Regen
* doc/figures/tuto4_genericity_and_algorithms-7.pgm,
* doc/figures/tuto4_genericity_and_algorithms-7.ppm,
* doc/figures/tuto4_genericity_and_algorithms-8.pgm,
* doc/figures/tuto4_genericity_and_algorithms-8.ppm,
* doc/figures/tuto4_genericity_and_algorithms-9.pgm,
* doc/figures/tuto4_genericity_and_algorithms-9.ppm:
Delete.
* doc/outputs/ima-load.txt,
* doc/outputs/tuto3_first_routine.txt,
* doc/outputs/tuto4_image.txt:
New.
---
milena/ChangeLog | 24 ++++++++++++++++++++
milena/doc/examples/split/ima2d-rot-1.cc.raw | 4 +-
milena/doc/figures/fill-subdomain-2.ppm | Bin 206 -> 206 bytes
milena/doc/figures/fill-subdomain-3.ppm | Bin 206 -> 206 bytes
milena/doc/figures/labeling-compute-2.ppm | Bin 206 -> 206 bytes
milena/doc/figures/tuto3_colorize-2.ppm | Bin 191 -> 191 bytes
.../figures/tuto4_genericity_and_algorithms-1.ppm | Bin 12406 -> 12406 bytes
.../figures/tuto4_genericity_and_algorithms-5.ppm | Bin 12406 -> 12406 bytes
.../figures/tuto4_genericity_and_algorithms-7.pgm | 6 -----
.../figures/tuto4_genericity_and_algorithms-7.ppm | Bin 24696 -> 0 bytes
.../figures/tuto4_genericity_and_algorithms-8.pgm | 6 -----
.../figures/tuto4_genericity_and_algorithms-8.ppm | 6 -----
.../figures/tuto4_genericity_and_algorithms-9.pgm | 6 -----
.../figures/tuto4_genericity_and_algorithms-9.ppm | 6 -----
.../{accu-right-instantiation.txt => ima-load.txt} | 0
...t-instantiation.txt => tuto3_first_routine.txt} | 0
...ccu-right-instantiation.txt => tuto4_image.txt} | 0
17 files changed, 26 insertions(+), 32 deletions(-)
delete mode 100644 milena/doc/figures/tuto4_genericity_and_algorithms-7.pgm
delete mode 100644 milena/doc/figures/tuto4_genericity_and_algorithms-7.ppm
delete mode 100644 milena/doc/figures/tuto4_genericity_and_algorithms-8.pgm
delete mode 100644 milena/doc/figures/tuto4_genericity_and_algorithms-8.ppm
delete mode 100644 milena/doc/figures/tuto4_genericity_and_algorithms-9.pgm
delete mode 100644 milena/doc/figures/tuto4_genericity_and_algorithms-9.ppm
copy milena/doc/outputs/{accu-right-instantiation.txt => ima-load.txt} (100%)
copy milena/doc/outputs/{accu-right-instantiation.txt => tuto3_first_routine.txt} (100%)
copy milena/doc/outputs/{accu-right-instantiation.txt => tuto4_image.txt} (100%)
diff --git a/milena/ChangeLog b/milena/ChangeLog
index ea7ae4c..240c853 100644
--- a/milena/ChangeLog
+++ b/milena/ChangeLog
@@ -1,5 +1,29 @@
2010-03-22 Roland Levillain <roland(a)lrde.epita.fr>
+ Regen documentation products.
+
+ * doc/examples/split/ima2d-rot-1.cc.raw,
+ * doc/figures/fill-subdomain-2.ppm,
+ * doc/figures/fill-subdomain-3.ppm,
+ * doc/figures/labeling-compute-2.ppm,
+ * doc/figures/tuto3_colorize-2.ppm,
+ * doc/figures/tuto4_genericity_and_algorithms-1.ppm,
+ * doc/figures/tuto4_genericity_and_algorithms-5.ppm:
+ Regen
+ * doc/figures/tuto4_genericity_and_algorithms-7.pgm,
+ * doc/figures/tuto4_genericity_and_algorithms-7.ppm,
+ * doc/figures/tuto4_genericity_and_algorithms-8.pgm,
+ * doc/figures/tuto4_genericity_and_algorithms-8.ppm,
+ * doc/figures/tuto4_genericity_and_algorithms-9.pgm,
+ * doc/figures/tuto4_genericity_and_algorithms-9.ppm:
+ Delete.
+ * doc/outputs/ima-load.txt,
+ * doc/outputs/tuto3_first_routine.txt,
+ * doc/outputs/tuto4_image.txt:
+ New.
+
+2010-03-22 Roland Levillain <roland(a)lrde.epita.fr>
+
Have doc/gen-figures-mk generate more Makefile bits.
* doc/gen-figures-mk: Generate Make variables PBM_FIGURES,
diff --git a/milena/doc/examples/split/ima2d-rot-1.cc.raw b/milena/doc/examples/split/ima2d-rot-1.cc.raw
index 74125b2..66b3e3f 100644
--- a/milena/doc/examples/split/ima2d-rot-1.cc.raw
+++ b/milena/doc/examples/split/ima2d-rot-1.cc.raw
@@ -18,7 +18,7 @@
// Draw the domain bounding box
draw::box(ima1, geom::bbox(ima1_), literal::red);
// Save the image, including its border.
- doc::ppmsave(ima1 | extended_domain, IMA1_PPM);
+ doc::ppmsave(ima1 | extended_domain, "ima2d-rot");
// Define and apply a point-wise rotation
fun::x2x::rotation<2,float> rot1(0.5, literal::zero);
@@ -31,4 +31,4 @@
}
draw::box(ima2, ima2.bbox(), literal::red);
- doc::ppmsave(extended_to(ima2, extended_domain), IMA2_PPM);
+ doc::ppmsave(extended_to(ima2, extended_domain), "ima2d-rot");
diff --git a/milena/doc/figures/fill-subdomain-2.ppm b/milena/doc/figures/fill-subdomain-2.ppm
index c2b8ad5041095b3cbe001c4cdf880dda6c44fc1c..31ae37215fdfc5fe715aef7117f676ee6066ab0f 100644
GIT binary patch
delta 94
wcmX@dc#d&Gd3Z;!CJ-^e02&u245BwgPXZz!W3}FM2p7Tza)AgU1r&h*00lu6X#fBK
delta 94
wcmX@dc#d&GdAMe82M{s902&u245BARZvY}7<GJ2y2p7Tza)AgU1r&h*00TJ{X#fBK
diff --git a/milena/doc/figures/fill-subdomain-3.ppm b/milena/doc/figures/fill-subdomain-3.ppm
index a59ff430a2ceecec3ffe82c0858b93d5020a8cf4..7955c51e4f6c5cfa01042b6357271bec005dae1b 100644
GIT binary patch
delta 52
bcmX@dc#d(xLfwvDO(0@`0c18%42=r_Gu#LD
delta 52
bcmX@dc#d(xLS4<?4j^KH0c18%42=r_FysgI
diff --git a/milena/doc/figures/labeling-compute-2.ppm b/milena/doc/figures/labeling-compute-2.ppm
index c2b8ad5041095b3cbe001c4cdf880dda6c44fc1c..31ae37215fdfc5fe715aef7117f676ee6066ab0f 100644
GIT binary patch
delta 94
wcmX@dc#d&Gd3Z;!CJ-^e02&u245BwgPXZz!W3}FM2p7Tza)AgU1r&h*00lu6X#fBK
delta 94
wcmX@dc#d&GdAMe82M{s902&u245BARZvY}7<GJ2y2p7Tza)AgU1r&h*00TJ{X#fBK
diff --git a/milena/doc/figures/tuto3_colorize-2.ppm b/milena/doc/figures/tuto3_colorize-2.ppm
index 391715375171f95fd9c18c45b748ce6691aff241..bd4fb052a3f7e2fa491ce4e97faf06ad2e38db45 100644
GIT binary patch
delta 82
tcmdnbxSw%CiT9imQ8?0jz7?5`%w+(BFew!a`8hzcM6?5lfD8zNZ~+608@m7i
delta 82
tcmdnbxSw%CiMMFU95~wgTo0Lz%w+%r6{)Z}@)kg{L$m~lfD8zNZ~^;{8@m7i
diff --git a/milena/doc/figures/tuto4_genericity_and_algorithms-1.ppm b/milena/doc/figures/tuto4_genericity_and_algorithms-1.ppm
index 92bbe61894b285a589b7af3bd82fd44dd1a96a0a..989d4604197e6645c92a2bfaa46a6b142e98b91f 100644
GIT binary patch
delta 236
zcmV<I02BZAVD@0J?hgaquAGzc54{87x~G$|5WNH5x~r3M5xoQ4wy2Xa61@Z5w55~r
z61@Z4u%(l+6TJiLv#FDD6ukrPxvi5i6}<!Tz_OF^6}<!Tz_63C7QF-Sxu}zI7rg`Q
zsF{;77`+3sU}ux@7`+35GE<YW8NCC;W_Xiv8odMCe1MZN8@&VHi-?o)8@&VGh=r4}
z9K8eGgMgE99lZnGe|(cM9)Ul8Jz-lHK6p7*+Mtu2U}#tnH)Iz+pgK&*OHbKYTi|17
m<8gB1c6Q``d*gq4*=B0cR9L@AQPEUd=%AL{czCn%9)%ISY;}eJ
delta 180
zcmeyC@GW7(JAP({{|u8q^6v%H8wDVAp&*1d6oSwnq4Y*!sJsYNUKA=1r8kN}<;9`$
r5>R<4y-^Y>F9nsChRQ?fjWSSqS*W~R<K%<<x|1*P3vK==*D44A*8oKb
diff --git a/milena/doc/figures/tuto4_genericity_and_algorithms-5.ppm b/milena/doc/figures/tuto4_genericity_and_algorithms-5.ppm
index e7bf28faa4d0213c2d901b053b81fa36318c13c0..dd6cc1dfa2dfcf8a8d5d8dfca97870c1e7c0605c 100644
GIT binary patch
literal 12406
zcmdUtzlt1Z5X2o{?!<`)?7)|-Y$F}UnL)xBWDvqAQMB@nk>GrHoEL-MK#3B?egh>+
z^cqU^5PA)_Dfm%zfAh`kde(mqF;rJqRo9I6!P&`Y!}sImc(dJ&=fjid!;jA{#>?&S
z)#l4#c)HtNe|ziJ)nCl!;^utZjMvY0+s!XG;kx(Who8P19*)0_+nb-C4%^G~;qLhR
zcyV?8>v*{v?r)!5Md;Pd^Wls85AWVPJvqBQoZUY8`p%t`7cWnn|32FPPdUqd&AX71
z6S$v-IDx)vt!+A5$Ae#Ct%kEXwX-w-@%~<Q3eUbm(>VLxmJ8lIe$^2-uRGcCYUN_^
ztg9o~D+F;9#FgNAHjiSIOk-2oAqi=M!;Er8U;-)43v)ebrbhHjKr^Hot1L7@>N&L)
zPg<3A7+kZUhE$7deCxd9&@iHhSqL!Bf)t2ee2f8jrfu@pabLYB;B5kwu>}V}ERxZI
z>l1#x`QQvLCzoK16@*<RIWan}TMt2*Ks47s=P^1ti*d~YqCzQ*g;fA;wQ}C^ztW%D
zsigBNxv=~Jzn^qVhn7G2hRVU{JS#{CeE9=@KT7sA$CT*<EG`o%#sy%&>iy$rgnOBN
zvD?7{@$|n`K1Sbi*Gb2!>WnbPwLm=)OfA1k|Ft@M&hh%k6%Y5Lt7AXZ{P+iafA4>c
z!en~+!2gT>l=rXHDgQUWe<b_G4%Wx)2(&^bz;o*3AKX9AMfg-7YNS?EdZiIaZGlet
z!}{x7vka%v(5k7gBnf~O`%?x$0Wll}AZUV=gA33vzwh_wobtVrRy?b~#bB2Sr{_P=
zKV6J5>WQRh2cWDu!5p=J^P;N8s?*t53JIpB&6Ypl_rtm7MLKxHJ|++^;Hdp|<?Z`-
zoO96c>|42laeLq;<@f#m^-8n9*Au2>TBXiDuG`=5>Pj@9E$@AVYYv+9F^|!oTLS(5
zE{@t7=^vvovg7qnN8_SCe(j%>j8v^mv;V@6pI(`8G6N(sMs4*9u0#yLI|bbCW!CEN
zcWI@gwZFvLy3sKqE|%pO{nNQPs#`q$CzL9AZEy-CC&23cIhueUrN1=3O0F2S6{vdp
zFZ}VOSB{a39D;G6tv_oSPs3YdJ!G%`ZUl2EK)uBlJwPkQDKCO%)RFqfQO?z#tmp<{
zH3d)t^a}mo58?{^khU<LvF5;FZvte1WArC{VF&a9WN`*ER*8?X|K;^|)diCp2G5nW
z@)3Izkf1b-O>w_})8ZuII+~uo1-re8rDT;xc!6W|=LDSrtU3U(gDL&G{nHgM5IAi+
zV={KU%lo7ByZuA`t>+}X+!(FGOSc4w70(FpLy!R9g4uQe;smOt7OSt2G|E&|Gyl;i
zpT{;<dM1td+QgY^amJOkE!$WHPUV9k%CShifZ&(N&{r|%IH62gQvcdkZ{hiz0C2)(
z-+cOqMz#)InXt>6IP}5GHPxTm0KcMG<#56U38T?nJ(DJlZb>+lBsBYr3|X_h>`L%t
zFR=Ugg^yU!r)_gYoPdj){SoZdKdxY`z&q5fGvv6%vBWP=-vsFNpDG_Nr74GGjZ;r#
z0j4y;dorVY5lr<DmzwX}zhBJD1fKe%o&>dd5=iF%3&C`nd#vMrd9NYY)DtBF7zf%u
ze)SreKzfn1Wh5#X#|SD|C?n7l@Hz-V?H{CG!R-~36D!A6>5P=lG;s}taS-0A{>|9U
zhqv(L1mhS1AhyDi!FK?GZb@W}orJpb^4bzka&-mchp;r2PLkONp8x*cBTq>9fc|Pu
T0R@Uo;dR8d1XO!sQu#jtoFK1O
literal 12406
zcmdUtv1%Px6h%|3cjLwbaS=7oNw9@+7qAHd2aE}BR6R!%Y)~Ze@(B13)TmMIKTxB_
zzv0Fo;ory!8y1^$@7$SrnU};yT=qR@pMBO`zZXXbUw1$DXZ>cq?N7Sb@4BDgp7v+!
z?z`2uUH4|Yy?FBA!TH~n)#>J>U-cJnx9in!o0xj`;-_DJ=w9}J^y|&9Z@Tr_N%yq>
zvp+q*_`N^dcF)(Z&m;7F^RD~m`OBxz4iAnVc1I5nzJK)S;PC3Q`uElRf7i#i@i%?0
zx|d?)gl?yOUftk#(VkkW>l>?j$|npBE(O`nscxtEKj(+DAx1x;I@^A<S>2DHJ~aH*
z?Otrms^w<%=v2cnD+F^@#FnUYR+lm;o32%7qew_q>^7*W2uvcSIWXIkXXuK5il~N^
zgQYDzQPerqRh_ib)~GNwD$0;@#68~iy6f<8#ZP6TU~p8VK>Vu5H3VnsrrGj3*Y63;
zRt3)JqC;R-k*f>$Cw>3!E3Yu+#VMM>QpC85<iyo=+4T^dNd&q6yw0E(M>SKUf~asx
zGeRqbx@vjd^?$+-c7pV}ASc4_@cT)-v}pRt8!CrEuhXLFf|uXn_oHM_a}7*eFyb~9
zRdE9vu{eJ$jc|vVt9=|T5vTu4@NxAnd%fsds9up~a4Au)h)M~+2>(*dp0hvx*y7>7
zbaCyAs*k_J`#b+WfXQ_D&|d^U@cv2-_<#8Rk?b2AT94T<sD({}bLjDR=8ts|KEwk?
zq8jomjX<y^8t}XEYh4wF)p($)`pY5-hz0q9K>(l%OA#2VBIPiJXv5Eaf7U7Ak<{WW
z4Q@ueO*)<b0)N^V*T7Q|&W6BQ=0s(${MC&@jaGx%TMCIvnKlZ)!|#W6)r~MXVOtZ(
zEMl+x+VcM1W7fH7GkaH4QStH6Q{d;mf4QZ~?|9NcrdDG1>$3d5S6hO76yABH%N#uE
zG55jGE{Qh3n*&={_~R;#ZGZe}X>8Qvm;A}e71Xj)<)8TY>5~a3Gej!JRb738J24}e
z9TGn7FiY|KUZ}LR<d<1pA9PKKn>Dfz{<JQZY8R*fgc6ctqf;O`Ar|LnX%fB^etEo=
zrsAruMCpfr;*TeNa$MQSA}TJ_^|OTWG-k_K51Ga9gJ>3oD0k7tk5G&2&@6^()Smcb
zDeFp3TCgE#4GEkGeM0;9gSiyGNL?z8YnelZ@v6Xv*atu16B+P_(1=$kMl03h+J1R`
zT{%T15k{RYspVJ3tAYfjF<3RX`Ku#dBwS0=>0PvsSGAn9(v`ZzKKNMyGlEt_V0JO&
zUzR^@ae&aN+qkB|#_V){oW8fcsNMCPq^A!CRm{Sc1hJ}fMff6$2=AilHU#D*%8?SR
z{DkDWyt9ozMOE`}53iydEuG1udP(Aya>Og{ENSURD|CX7ium;j9$N)dan#1r5Xqdb
zGT=}AC9S>!zXbmUWjM~8>tpHU(G^=Ms(vrVNL)2I#1A&Y7ghP)ko3^@Wb><!BptRk
zzdkB#Rrsin@_+ceau{uNjMS}O-S67XLQN-zS^T^S<1U5(+#^knkGPiY)yGdE61lE2
z48cd2_YY07riM;zA%;ApVel!}VHo0%mdNMwx4~d*+XOj<ACG|b@}uOMn*09g>3nt4
zIH^-{q3+}Rcd<$E6^+Lar}*OxO>Bxv*NHX)eVkbrVJP{ds88_mQt!YYA=+N1r3#SL
zskn&l5I=)1w(sw8oz8!Cc}G(d;lu2Zp?%z2z)TSiFTXw^G?~>L_;FTksYqs9C{we?
hw}&ajuRHLsZmuIC`1Pl>;PKcY-NsJcp%Cf`{x1*nX*B=<
diff --git a/milena/doc/figures/tuto4_genericity_and_algorithms-7.pgm b/milena/doc/figures/tuto4_genericity_and_algorithms-7.pgm
deleted file mode 100644
index de430d9..0000000
--- a/milena/doc/figures/tuto4_genericity_and_algorithms-7.pgm
+++ /dev/null
@@ -1,6 +0,0 @@
-P5
-# Generated by Milena 1.0 http://olena.lrde.epita.fr
-# EPITA Research and Development Laboratory (LRDE)
-64 64
-255
-ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ
\ No newline at end of file
diff --git a/milena/doc/figures/tuto4_genericity_and_algorithms-7.ppm b/milena/doc/figures/tuto4_genericity_and_algorithms-7.ppm
deleted file mode 100644
index f5973890ed9a13f8def9f639462726276f35e02f..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001
literal 24696
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
diff --git a/milena/doc/figures/tuto4_genericity_and_algorithms-8.pgm b/milena/doc/figures/tuto4_genericity_and_algorithms-8.pgm
deleted file mode 100644
index 437b8d7..0000000
--- a/milena/doc/figures/tuto4_genericity_and_algorithms-8.pgm
+++ /dev/null
@@ -1,6 +0,0 @@
-P5
-# Generated by Milena 1.0 http://olena.lrde.epita.fr
-# EPITA Research and Development Laboratory (LRDE)
-1 4
-65535
-²ÿÿUö²zÿÿPÕ²
ÿÿP¬±qÿÿPÄ
\ No newline at end of file
diff --git a/milena/doc/figures/tuto4_genericity_and_algorithms-8.ppm b/milena/doc/figures/tuto4_genericity_and_algorithms-8.ppm
deleted file mode 100644
index 89f9727..0000000
--- a/milena/doc/figures/tuto4_genericity_and_algorithms-8.ppm
+++ /dev/null
@@ -1,6 +0,0 @@
-P6
-# Generated by Milena 1.0 http://olena.lrde.epita.fr
-# EPITA Research and Development Laboratory (LRDE)
-64 64
-255
-âÿyáÿtßÿlÞÿnâÿpéÿwêÿtÍÿe¡ÿW¬ÿY°ÿV²ÿV±ÿUºÿXÄÿZËÿ\Íÿ`ÍÿbÌÿ_ÍÿaÐÿbÓÿaÐÿaÏÿcÐÿcÎÿeÌÿgÌÿ`ËÿcÎÿ_ÐÿaÏÿaÍÿcÌÿaÊÿbÊÿaÊÿbÈÿa¿ÿa±ÿYÁÿZØÿoÝÿqÜÿjÝÿnÞÿmÞÿhÞÿgÝÿjÝÿnçÿzùÿéÿ©ÿZžÿ]Œÿ]»ÿbÁÿ]Âÿ_Âÿ^ÃÿbÃÿ^¿ÿ^ÇÿiâÿmâÿlâÿkàÿiåÿnêÿréÿjÌÿZ¢ÿPÿR³ÿS²ÿQ²ÿPºÿVÄÿ\ÊÿZÍÿ[Íÿ_Ïÿ_Ïÿ]Ðÿ`Óÿ_Ñÿ_ÑÿaÐÿaÐÿaÏÿaÎÿ^Íÿ`Îÿ\ÐÿaÏÿ_Îÿ_Íÿ`Ëÿ^Ëÿ_Ëÿ_Êÿ_Âÿ`¶ÿZ²ÿYÑÿkßÿsàÿoáÿmâÿláÿiàÿhÞÿiÛÿkÛÿmõÿúÿÄÿg³ÿY»ÿ]Ÿÿ]¿ÿ]Áÿ]Äÿ]Æÿ^Éÿ`¡ÿR_ÿAáÿmãÿkâÿláÿnæÿqçÿoåÿkÌÿ_¡ÿN¯ÿNŽÿR±ÿP²ÿNŒÿTÄÿYÊÿYÎÿ]Ïÿ]Ðÿ_Ïÿ`Ñÿ^Òÿ`Òÿ`Òÿ^ÒÿaÑÿ`ÐÿaÏÿaÎÿ`Îÿ]ÑÿdÏÿbÎÿaÍÿ^Íÿ_Ìÿ]Íÿ_Íÿ^ÃÿaŒÿ\°ÿXÃÿdÛÿsâÿvãÿqäÿpâÿmâÿlÞÿjÛÿlÙÿkåÿuúÿïÿ±ÿY¹ÿ[¿ÿ\¿ÿ^ÀÿaÆÿbÏÿbÿP[ÿB]ÿ?âÿmåÿlãÿoåÿrçÿrâÿoæÿjÎÿW¡ÿJ®ÿN³ÿR±ÿPŽÿP»ÿRÅÿXÉÿZÍÿ[Íÿ]Ïÿ^ÎÿaÑÿ^Ñÿ_Óÿ]ÑÿaÒÿcÐÿZÎÿWÎÿ\Ìÿ[Ëÿ\Îÿ`ÏÿbÏÿbÌÿ]Ìÿ^Ìÿ\Íÿ\Íÿ^Åÿ`Ÿÿ]ŽÿXÁÿfÙÿuâÿwâÿtáÿoâÿjáÿlßÿmÝÿnÚÿlØÿióÿûÿ ÒÿpŽÿWŸÿ\Àÿ\Àÿ_ÉÿbÿO\ÿB\ÿ<dÿ?ãÿnäÿnæÿséÿqçÿlãÿlæÿiÎÿU¡ÿJÿO²ÿP°ÿO²ÿP»ÿTÄÿXÇÿZËÿ[Íÿ]Îÿ[Îÿ_Òÿ^Ïÿ`ÐÿcÑÿ^Òÿ`ÐÿZÊÿYÊÿXÊÿYÇÿYËÿ_ÌÿcÍÿeÌÿ_Îÿ^Ìÿ]Íÿ]Íÿ]Éÿ_Àÿ\·ÿYÂÿbÖÿpÞÿtàÿtßÿoàÿlàÿnàÿnßÿmÜÿnØÿißÿjùÿ÷ÿžÿbºÿWÀÿ]ÆÿbÿOZÿBaÿEdÿ@bÿ>äÿpåÿpèÿpæÿfçÿhåÿnçÿjÌÿVÿJÿO³ÿP±ÿO²ÿNŒÿTÆÿWÇÿYËÿYËÿ]Îÿ\Ðÿ`Ðÿ^Ðÿ_ÑÿaÑÿ^Ñÿ_Ðÿ^ÌÿcÈÿkÈÿqÅÿlÆÿ^Èÿ^Ëÿ`Ìÿ`ÍÿcÎÿ`Íÿ]Îÿ\Èÿ]¿ÿ\¹ÿZÂÿ_ÔÿlÚÿqÝÿtßÿoßÿnàÿkáÿlßÿjÚÿiÙÿeÖÿaðÿúÿ§áÿ~°ÿV»ÿ]ÿNZÿ>^ÿBeÿD`ÿ?]ÿ<æÿoéÿqåÿeÞÿ[åÿgæÿoèÿkÐÿVÿH¬ÿM³ÿQ±ÿN·ÿNÀÿTÊÿWËÿXÎÿYÎÿ\Ñÿ^Óÿ_Òÿ^Ðÿ^Òÿ^ÍÿhÈÿ}ÃÿÈÿÍÿÒÿÐÿÓÿÏÿÆÿsÄÿ\ÉÿdÍÿcÍÿ_Ìÿ]Èÿ\¿ÿ[·ÿYÀÿ]Öÿi×ÿmÚÿqÞÿqÞÿmßÿjàÿgÝÿeØÿe×ÿbÖÿbÝÿjøÿûÿ¥ÉÿhÿMXÿ>]ÿ?cÿCaÿB]ÿ=_ÿ;éÿpêÿm×ÿVÑÿVçÿjéÿmêÿkÑÿVÿG¥ÿMÿN°ÿLŽÿOŸÿTÇÿUÉÿYÍÿXÍÿZÑÿ\Ðÿ^ÏÿfÈÿtÀÿm¿ÿuÁÿvÆÿ}ÈÿÌÿÏÿÒÿÖÿÙÿ ÞÿšÑÿŸÿhÄÿ`Çÿ^Èÿ\ÂÿYŒÿWŽÿUÃÿ[ÙÿiÚÿkÚÿoÛÿrÞÿlÜÿeÜÿcÛÿcÙÿcØÿaÙÿ`×ÿaëÿ}ýÿ¬ÝÿWÿ>Zÿ?dÿBaÿA^ÿA]ÿ?`ÿ;íÿsäÿc®ÿIÊÿTèÿiêÿmêÿjÑÿSÿE ÿKªÿO¬ÿO°ÿQžÿRÂÿUÄÿVÈÿZÌÿ[ÏÿYÐÿ]Œÿ\œÿb»ÿf¿ÿoœÿqÂÿsÃÿ|Êÿ
ÒÿÕÿ×ÿÛÿ¡Ýÿ€Ýÿ¬ØÿŠœÿs¶ÿWŸÿX¿ÿYžÿY²ÿTÁÿ[ÝÿjßÿlÙÿmÖÿlÚÿkÛÿgÜÿbÝÿdÚÿcÙÿdÚÿeÚÿfÜÿkóÿ~ÿLVÿ>bÿAdÿB^ÿ@^ÿ@`ÿ?Xÿ9ëÿoÌÿTÿFÊÿVêÿjëÿqéÿgÎÿTÿD¢ÿMªÿS¬ÿQ®ÿP¶ÿTÀÿXÂÿVÈÿXËÿYÒÿ[ÆÿY»ÿVœÿ\ÁÿdÁÿhÄÿmÃÿqÅÿvÉÿ~Ïÿ×ÿÚÿÜÿ£Þÿ©Üÿ§Úÿ°àÿ¹ÊÿªÿWŽÿV²ÿU¯ÿVŸÿ]ßÿmäÿoÞÿlËÿ`Ëÿ_ÝÿjßÿdßÿeÜÿcÜÿeÝÿfßÿiáÿjÿIWÿ=`ÿ?dÿ>^ÿ>`ÿC_ÿDdÿFÿUàÿ`šÿJÿHÊÿWéÿiëÿoèÿiÍÿSÿF€ÿM¬ÿPÿR¯ÿR¶ÿTÀÿUÄÿXÉÿYÊÿYËÿX»ÿSœÿ\Ÿÿ_ŸÿaŸÿdÄÿlÆÿnÆÿrÌÿxÓÿÚÿÜÿ ØÿÙÿ¬àÿ·åÿ¿æÿŸëÿÅÉÿ¡ÿMªÿS§ÿT»ÿ[ÞÿjäÿláÿnÁÿYÿJÓÿfßÿhàÿeÝÿeÞÿgßÿfäÿk€ÿSWÿ;`ÿ?dÿA]ÿ>cÿ@\ÿDmÿRÿXÏÿu¿ÿMÿJÿGÉÿWçÿjëÿpèÿhÌÿSÿH£ÿO¬ÿQÿQ¯ÿQ·ÿRÀÿVÅÿWÉÿYÉÿY»ÿSºÿYŸÿ\¹ÿ\»ÿ`ÃÿfÉÿmËÿpÍÿsÍÿvÔÿ×ÿÓÿÞÿ±åÿœâÿ¹âÿžãÿŒåÿÁëÿʱÿwÿKÿPºÿXßÿlåÿnáÿpÄÿ`nÿ=±ÿVÝÿjàÿgÝÿeßÿhâÿhÎÿ`^ÿA_ÿ?gÿA^ÿ?cÿA]ÿ@fÿMÿeÄÿxËÿuÿJ£ÿJ ÿJÇÿUçÿjéÿtèÿlËÿWÿF£ÿM«ÿQ¬ÿO°ÿP·ÿQÁÿVÄÿWÊÿ[ÀÿXŒÿX»ÿXœÿ[Œÿ_ÂÿfÆÿlËÿoÍÿpÉÿoÌÿsÎÿ~Òÿàÿ¯âÿ³áÿŽÞÿ²áÿžâÿžâÿœäÿÀæÿĶÿÿD¶ÿTÞÿkäÿpâÿrÆÿ\hÿ>~ÿBÍÿ_áÿgÝÿcàÿiãÿizÿCYÿ<iÿCdÿ@bÿ@`ÿ@bÿFwÿYŸÿxÉÿzÕÿ~ ÿK¢ÿLÿKÆÿXåÿlèÿrçÿnËÿYÿJ¡ÿL«ÿOÿQ®ÿP·ÿRÀÿW¿ÿWÒÿbŽÿPºÿVœÿVŸÿ[ÁÿaÈÿlÌÿoÊÿoËÿpÁÿjÃÿwØÿàÿ€Þÿ§ÛÿšÞÿ¯âÿžãÿ¹âÿºâÿºáÿŒäÿÁéÿÇÿhÿNÝÿgäÿoâÿrÇÿ^nÿ?_ÿ7ÿFÔÿdÚÿjáÿi§ÿRYÿ=dÿ?gÿA`ÿAaÿAbÿAdÿJ·ÿwÄÿwÑÿ~ÕÿÿMÿKÿGÃÿVæÿlèÿrçÿoËÿZÿHÿK©ÿM©ÿOÿTµÿTœÿT¿ÿ\Öÿi³ÿTŒÿVŸÿVÁÿ]ÈÿeËÿlÊÿjÉÿjºÿfÅÿ}ÝÿÜÿÛÿÛÿàÿßÿ¯àÿ³Þÿ·ßÿžßÿ¹áÿœáÿÀåÿÅ×ÿ³ÿLÛÿhãÿmãÿqÆÿ^lÿ@Xÿ8ÿfÞÿ°åÿŸæÿ·_ÿF]ÿBgÿCdÿDbÿBcÿB]ÿ@¢ÿnÈÿyÏÿÔÿ~Ôÿ{ÿL¥ÿL€ÿIÄÿTæÿjêÿrèÿmÊÿVÿEÿJ¬ÿN¯ÿM°ÿN¶ÿQœÿUÑÿoÐÿ_°ÿSŒÿUŸÿWÅÿbÅÿbÂÿdÉÿdœÿ_ÏÿÜÿØÿÙÿÚÿÝÿ¥ÜÿŠÝÿªÜÿ¬àÿ³áÿŽàÿµÞÿžàÿŸßÿÀåÿɵÿvØÿfåÿnâÿnÀÿY\ÿ<ÿÙÿ«æÿ¿êÿÂðÿÉxÿf]ÿAeÿA`ÿ>]ÿ?dÿCÿ\Ëÿ|Íÿ}Õÿ}Ôÿ}Óÿ{©ÿM¬ÿN¬ÿKÇÿSåÿkêÿsêÿnÌÿYÿE¢ÿK¯ÿN³ÿNŽÿN»ÿQŸÿSàÿyÈÿW¯ÿQ·ÿUÁÿYÄÿ^ÄÿdÈÿfŸÿaÓÿy×ÿÖÿÛÿÜÿÛÿÚÿØÿÛÿ¡Þÿ©ßÿ¯ßÿ±Þÿ°Ùÿ©Ýÿ·ÞÿºÞÿŒÜÿ¿ÛÿwåÿeÞÿd¶ÿeÀÿÛÿ°åÿŒãÿžâÿºïÿÈ~ÿf_ÿCaÿ?_ÿ=dÿ?_ÿCÂÿ{Íÿ~Öÿ~Ôÿ|Óÿ|Óÿ{ÿOÿM®ÿLÎÿRæÿkëÿrìÿqÏÿXÿD£ÿL¯ÿN±ÿM²ÿKžÿNµÿPçÿ{ÈÿW³ÿTŽÿR»ÿVÄÿ^Åÿ_ÀÿdÒÿsÓÿxÍÿ{ØÿÚÿØÿÚÿ×ÿÚÿÜÿÛÿÜÿ¥Üÿš×ÿØÿšÛÿ³Üÿ²ÚÿŽ×ÿ²ÝÿŠâÿiÝÿßÿªÞÿ³âÿ¹àÿ¶âÿ·æÿÀîÿÆiÿV_ÿC_ÿ>^ÿ=fÿBÿeÐÿ}ÔÿÕÿ~Ôÿ{Òÿ|ÒÿzÿO¬ÿM°ÿKËÿSèÿkîÿsîÿsÑÿXÿC¥ÿI®ÿL¯ÿL¯ÿLµÿM±ÿNôÿ
Õÿ]ºÿS·ÿTŸÿVÅÿ^ÃÿbÑÿtÒÿrËÿqÔÿ}ÕÿØÿØÿ×ÿÛÿÛÿÙÿÚÿÚÿ ÙÿØÿ§Øÿ«ÙÿŠÖÿ£ÕÿŠÏÿ¡×ÿªßÿ€ßÿ¬ãÿŽáÿ¶ßÿ³âÿ¹ßÿ®åÿœäÿºWÿA`ÿA\ÿ>cÿ@ÿYÍÿ|ÐÿÖÿÕÿÓÿ~Òÿ|Ñÿ{ªÿNªÿM¬ÿKÈÿTèÿjíÿtìÿsÐÿYÿG¥ÿK¯ÿN¯ÿL°ÿK³ÿM²ÿPõÿßÿeÏÿX¶ÿQ»ÿWŸÿ]ÐÿmÏÿqÇÿkÔÿwÑÿzÑÿ|Õÿ
ÚÿÚÿÚÿÛÿØÿ×ÿ×ÿÙÿØÿ¢×ÿ×ÿ¡ÓÿÑÿÙÿÜÿšáÿ²àÿ°Þÿ²ßÿŽáÿ·àÿ®ÔÿÚÿ³ÿYÿ@_ÿ?]ÿ<fÿJ¯ÿpÐÿ}Ôÿ×ÿÕÿÓÿ~Óÿ}Ôÿ{šÿM§ÿJªÿLÌÿWèÿkëÿuìÿqÑÿZÿG¥ÿLÿM®ÿK¯ÿK±ÿK±ÿTôÿ{åÿgØÿ]ºÿSºÿWÏÿlÊÿjÃÿiÓÿqÎÿqÍÿwÓÿ{×ÿ×ÿ
Öÿ×ÿØÿÔÿ
ÕÿØÿØÿÖÿÔÿÏÿ×ÿÝÿàÿšßÿ«Ýÿ¬Ýÿ¯àÿ¶àÿžäÿŒÔÿÎÿØÿzÿ]\ÿ?\ÿ?aÿAÿbÏÿ|ÑÿÔÿÓÿ~ÒÿÒÿ}Òÿ|Òÿ|ªÿN©ÿN³ÿMÑÿWéÿkìÿtíÿpÒÿ\ÿC¢ÿL¬ÿMÿK¯ÿK¯ÿI³ÿW÷ÿéÿmáÿ`ÈÿVÉÿcÇÿiÁÿhÑÿnËÿmÈÿqÎÿuÓÿ|¿ÿ}µÿ~¯ÿŸÿžÿ~ÏÿÍÿÏÿŒÿÆÿÏÿÜÿàÿ€áÿ§Úÿ¥Ûÿ®Þÿ±áÿ¶âÿ¹ãÿ»Þÿ©»ÿo±ÿfÒÿTÿ<^ÿAbÿCeÿJ»ÿuÐÿ|ÕÿÔÿ~Òÿ}Òÿ}Ñÿ{Ðÿ|Ðÿ{¬ÿPªÿP·ÿNÖÿVêÿkíÿtîÿqÕÿ[ÿD¡ÿJ¬ÿM°ÿM±ÿK²ÿH°ÿOøÿðÿsÙÿXÈÿYÀÿ_ºÿdÏÿkÈÿiÆÿjÉÿmÏÿuŸÿz¶ÿy¢ÿo
ÿp²ÿÿ~ÿyÿnhÿQ_ÿSŠÿ|ØÿáÿŠßÿ©Þÿ«Úÿ«Þÿ±àÿ³ãÿ¶ßÿ®ÆÿšÿW£ÿWÖÿÿb\ÿ>\ÿ>aÿ?~ÿYÍÿ|ÒÿÔÿÔÿÒÿÐÿÏÿ|Îÿ|Ðÿy°ÿR®ÿMžÿNÖÿUéÿlìÿsíÿqÔÿZÿE£ÿJ¬ÿK¯ÿL°ÿL°ÿI¥ÿGòÿóÿxÒÿ`Íÿgµÿ]ÍÿiÅÿjÆÿhÇÿlÎÿnŒÿrºÿwÿu}ÿdmÿYÿ}ÿt}ÿtgÿbRÿHŠÿtÓÿÝÿÝÿ©Üÿ€ÜÿšÚÿ«Ýÿ±ÞÿÆÿ¡ÿT£ÿVÀÿmÝÿÿZ]ÿ>aÿ>`ÿ?_ÿH¯ÿpÍÿ}ÕÿÕÿÓÿÑÿÏÿÐÿ}Îÿ}Îÿ}²ÿU°ÿQ¶ÿKÓÿVéÿkëÿsíÿpÖÿ[ÿE¢ÿJ«ÿL®ÿLÿL±ÿJªÿIØÿwöÿÜÿoÅÿ_ÉÿhÄÿfÂÿgÄÿhÃÿnÀÿmŠÿjwÿakÿX_ÿHyÿjsÿ\~ÿyhÿckÿhµÿsÖÿÚÿ×ÿ ÖÿØÿÜÿ¥Üÿ«ºÿ
ÿj¡ÿ|Öÿ{åÿyèÿÿ\]ÿ=dÿ@`ÿ>cÿ>rÿSÊÿzÓÿÖÿÕÿÓÿÑÿÏÿÎÿÍÿÌÿ}ŽÿU°ÿR±ÿKÎÿRéÿmìÿuîÿrØÿ]ÿE ÿIªÿL®ÿK¯ÿKŽÿL¶ÿLŽÿVôÿèÿ{Ãÿ]ÅÿiÀÿgÀÿsÃÿs¿ÿmÿ_xÿeeÿUsÿc[ÿGoÿWjÿQmÿdwÿ{ÿØÿÝÿ¥ÔÿÔÿÒÿÔÿ¢Ûÿ¥ÛÿÿUÿn¢ÿ~ÒÿäÿÿN\ÿ:eÿ>eÿA^ÿ<cÿCÿfÃÿxØÿÕÿÕÿÔÿÒÿÐÿÏÿÌÿÌÿ}ŽÿU±ÿQ¬ÿKÆÿQçÿmìÿvïÿsØÿ]ÿDÿHªÿMÿL®ÿLµÿNœÿR°ÿLàÿîÿÈÿ`¹ÿcÀÿlÃÿlžÿrÿerÿY|ÿg`ÿOuÿfhÿQ`ÿDfÿPuÿeÿœÿÙÿÓÿÑÿÒÿÒÿâÿšëÿ©ìÿ§ÂÿbÿYÿsÅÿÿFZÿ=gÿ>jÿBaÿ=aÿ;lÿM°ÿpÄÿ|ÖÿÔÿÔÿÔÿÒÿÑÿÐÿÎÿ~Ìÿ|°ÿV¯ÿRªÿJÁÿTæÿoìÿwîÿvÙÿ`ÿEÿL¬ÿO°ÿP°ÿM¶ÿPÀÿUºÿOÞÿàÿr»ÿYŒÿcÅÿfÄÿh
ÿQoÿRZÿClÿZlÿ[hÿ]|ÿqZÿBeÿIªÿsŽÿØÿØÿ ÌÿÒÿØÿèÿ¡íÿ¬îÿñÿ¯ÚÿusÿBÿZÂÿiÿA`ÿ=iÿ@lÿE^ÿ;`ÿ=ÿ^ºÿsÊÿ|ÒÿÔÿÓÿÔÿÔÿÑÿÑÿÐÿ~Îÿ{±ÿR¯ÿP©ÿLÀÿTæÿnìÿxîÿu×ÿaÿJ¡ÿK¯ÿR±ÿR±ÿO»ÿTÄÿXÃÿSÌÿh×ÿn¿ÿXÆÿdžÿd|ÿOeÿFiÿReÿK_ÿGfÿRzÿptÿjXÿA»ÿnÙÿÃÿÑÿ¡ÓÿÑÿßÿèÿìÿŠîÿñÿ²ôÿ·ëÿÿBdÿEžÿlÿIfÿAkÿEjÿC_ÿ<_ÿB®ÿnÆÿxÎÿÉÿ}Éÿ}Ìÿ}Îÿ~ÑÿÐÿÐÿÐÿ|Ïÿ{±ÿRÿOšÿJ¿ÿSæÿqëÿxíÿuÖÿbÿL¡ÿPÿR³ÿR³ÿQŒÿTÄÿVÄÿUÆÿVÌÿ]ÍÿeŒÿvÿRhÿYZÿFjÿUgÿNcÿMdÿNlÿ^cÿUÿgÕÿÛÿÅÿÔÿ ÔÿàÿçÿêÿíÿŠîÿ«ñÿ°ôÿžñÿЬÿNWÿ?®ÿ|uÿKgÿDkÿFdÿAbÿ>tÿRÀÿtÏÿÑÿÎÿÍÿÊÿ}Áÿ}Áÿ|Äÿ~Éÿ{Ìÿ|Ðÿy°ÿOÿNªÿKŸÿUäÿsìÿzíÿwØÿ_ÿJ ÿO®ÿS±ÿS³ÿQŒÿQÈÿUÎÿ^·ÿXšÿY¿ÿ~£ÿXlÿ`kÿe[ÿCoÿX\ÿBeÿOhÿZ`ÿQÿ[ÌÿØÿ×ÿÒÿ»ÿjÊÿpÜÿéÿëÿíÿíÿ£ïÿšóÿ°ïÿ §ÿPXÿ<ÿoÿYkÿJmÿHaÿ@_ÿAÿgÀÿuÓÿ~ÑÿÐÿ}ÑÿÐÿÉÿ}Ãÿ}Àÿ~Ÿÿ|¿ÿ{Äÿx¯ÿR¯ÿQ«ÿKœÿRæÿqíÿyïÿzÙÿaÿL¡ÿO¯ÿS±ÿP²ÿM¹ÿPÅÿYÙÿk€ÿ\ÿb§ÿWwÿ_lÿcuÿn\ÿJaÿOdÿJ_ÿFjÿ[sÿOÊÿ|ÞÿÕÿÑÿËÿeËÿhÂÿb¢ÿMÂÿeæÿìÿíÿ ìÿÌÿtÿZ¡ÿJbÿ=ÿcÿcmÿHhÿDbÿ@fÿG²ÿrÈÿxÕÿ|Ñÿ|Ðÿ{Îÿ}Ïÿ|Ëÿ{Éÿ}ÈÿÃÿŒÿŽÿz«ÿOªÿN£ÿHžÿOæÿnîÿvîÿxÚÿaÿF¡ÿI°ÿN±ÿJ®ÿI¿ÿi×ÿnÞÿnœÿf{ÿNlÿa{ÿvÿz]ÿOkÿ\Vÿ@pÿdaÿDUÿ=¶ÿnÝÿàÿ«ÉÿÿAwÿ<oÿ>~ÿNÿJÒÿaßÿsìÿñÿ§²ÿgÿJuÿAuÿ?cÿ;
ÿ\¢ÿlnÿIcÿ>bÿ?rÿO¿ÿtÐÿzÒÿzÐÿyÑÿyÏÿzÏÿzÌÿyÉÿ|ÇÿÁÿ~»ÿ~µÿ|ªÿOŠÿMÿF±ÿLæÿnîÿyîÿ{Úÿ_ÿFšÿK³ÿL²ÿM¢ÿG¯ÿjÜÿœÿbyÿMjÿ^iÿ[hÿaÿ
XÿC\ÿGhÿP\ÿ>XÿAÿYÌÿÜÿ¢Öÿ¯ÿU}ÿ?ÿTÿ^ßÿ¹²ÿ\ÇÿWÛÿjíÿÛÿÿSÿiÿjgÿ7^ÿ;ÿZ©ÿtsÿLaÿ=_ÿ?ÿaÆÿvÒÿ{ÐÿzÏÿxÏÿxÏÿxÏÿyËÿxÅÿ{Àÿ|žÿz°ÿx·ÿ}®ÿQšÿMÿF¯ÿLæÿnïÿ{ðÿ|Ýÿb¢ÿH±ÿLœÿRÿIÿfÂÿ°ÿykÿ^rÿngÿ]lÿfyÿxÿhÿYYÿ=`ÿA\ÿ=]ÿAŸÿwÛÿÒÿÇÿbÖÿmÊÿkÄÿhÈÿØÿØÿ{Ñÿ`Øÿgíÿ¡ÛÿÃÿxœÿÿN|ÿ>aÿA}ÿX¯ÿ|tÿL_ÿ=fÿB¯ÿnÉÿzÐÿzÍÿxÌÿyÍÿ}ÌÿzÌÿxÆÿv¿ÿwžÿx¿ÿzÔÿâÿ«ÿOÿKÿB§ÿHäÿpïÿ{òÿßÿa£ÿE°ÿJ¿ÿOÄÿk·ÿz|ÿebÿPhÿb
ÿkÿdfÿ_{ÿÿmÿa[ÿ?]ÿ?Uÿ@ÿWÕÿÓÿ¶ÿRÕÿißÿ}áÿÞÿ~ÜÿÞÿÜÿ×ÿlÙÿeéÿèÿ°ÛÿÑÿk¹ÿVÿBfÿ=vÿS¹ÿnÿE`ÿ<oÿGŒÿrÎÿ|ÎÿzÌÿyËÿzÊÿxÈÿyÆÿwŸÿv·ÿuÑÿæÿ
èÿèÿ
ÿMÿHÿ@¢ÿHãÿoîÿ{ñÿ|Þÿa¡ÿD®ÿNÀÿl¶ÿÿtÿilÿ`ÿÿ~VÿEbÿWzÿwxÿwÿdaÿDWÿAiÿOÄÿuÛÿÿPÅÿTØÿgâÿzçÿèÿçÿæÿàÿ~ÜÿqÚÿcæÿëÿ¶ßÿÛÿoÑÿcÿIlÿApÿIÄÿeÿ<_ÿ;ÿVÃÿtÐÿ|Íÿ{Êÿ|ÉÿzÇÿxÃÿy¿ÿw·ÿtÒÿìÿìÿ
éÿéÿÿHÿEÿAÿGâÿpìÿ{ïÿ|ßÿbÿFªÿQŸÿWÿy
ÿx}ÿklÿiÿiÿ\\ÿDZÿDaÿJbÿ>šÿjwÿPOÿ; ÿZØÿÿmÿBËÿXÙÿcáÿræÿêÿéÿçÿáÿvÝÿmØÿ`ãÿíÿ»Þÿ
ÜÿtÔÿdÿEkÿ@lÿCÉÿdÿ@eÿ>«ÿ_Ìÿ{ÏÿyÌÿ{ÊÿyÆÿzÄÿxÁÿx¹ÿuÆÿxìÿíÿìÿëÿëÿÿKÿKvÿBÿGâÿoêÿ{îÿwßÿaÿE°ÿlžÿÿjÿoÿisÿzÿrÿh`ÿITÿ=~ÿK~ÿQ»ÿwÿQ_ÿ@ÂÿsÄÿWÿ<ÿBÇÿTÙÿaáÿoåÿ{èÿéÿçÿÞÿm×ÿdÔÿ[ßÿ|ðÿ¿ÝÿÛÿsÏÿ`qÿCrÿCgÿ?ÁÿrÿLfÿAÀÿkÑÿyÑÿwÌÿyÉÿzÄÿyÂÿwœÿv¹ÿsãÿ~ïÿíÿîÿîÿ¡ìÿÿKÿHtÿ<ÿBâÿoìÿ|ðÿyáÿ_ÿI®ÿg²ÿwÿhÿ{pÿnsÿwÿoÿi\ÿHYÿ?ÿV¥ÿ\xÿJVÿ<¥ÿeÇÿqÿK]ÿ<ÿFÄÿRØÿ_àÿjãÿtäÿyæÿ~äÿ{ÖÿeØÿcØÿbÝÿqòÿ¹Üÿ|ÙÿpžÿY[ÿ?uÿDfÿ;µÿx
ÿWyÿLËÿnÐÿzÍÿwËÿvÈÿyÅÿyÂÿw»ÿsÌÿxïÿïÿïÿîÿìÿìÿ¥ÿIÿDÿ>£ÿLâÿqëÿ}ðÿ|àÿf ÿR©ÿN°ÿjÿgÿwoÿqlÿjÿÿ\ÿEkÿDWÿD~ÿa[ÿ>xÿUÚÿÿhXÿ7dÿ> ÿLÈÿOÙÿ[àÿgãÿrãÿväÿ{ãÿzÙÿjÐÿX¿ÿQÑÿZèÿÛÿxÕÿk
ÿKZÿCxÿBkÿ;¢ÿoÿ^ÿYÏÿrÎÿzËÿxÉÿyÆÿyÄÿvÂÿu¹ÿsáÿ|ðÿðÿîÿíÿ¡ìÿŠìÿŠÿEÿD
ÿA·ÿ^ãÿwêÿyðÿ}áÿfÿHŠÿM»ÿopÿ]rÿinÿerÿpÿÿoÿ`ÿ\YÿG|ÿ^°ÿ}¬ÿe±ÿ}YÿBfÿFeÿB§ÿUÌÿUØÿ[Þÿeáÿmâÿtäÿ{äÿ}àÿwÝÿláÿyâÿåÿÚÿxÁÿc\ÿE_ÿFÿIpÿ>ÿbÿeŒÿdÐÿtÍÿzËÿxÇÿyÆÿyÃÿx¿ÿuŒÿqëÿ~ðÿ
ñÿîÿïÿ íÿ¥íÿªÿBÿ@ÿ?µÿbãÿxëÿyðÿ|áÿeÿDªÿZŽÿtyÿgvÿicÿYmÿbvÿr|ÿ}ÿ}ÿUyÿQ¶ÿÁÿ¥ÿbhÿFdÿ<pÿ?dÿ<¢ÿXÊÿSÙÿ[ÞÿcáÿjáÿjâÿráÿuÝÿtÞÿyêÿ¡éÿŠäÿÖÿuÿSZÿDfÿF
ÿGrÿ<ÿT®ÿnÎÿdÏÿvËÿzÈÿxÅÿzÃÿwÂÿwŸÿqÂÿqïÿ~ñÿñÿïÿîÿ¡íÿ«îÿ®xÿ?ÿ@ÿ?³ÿaâÿ{ëÿ}ðÿ}âÿeÿN¬ÿd°ÿmjÿ[iÿ[dÿ]zÿz{ÿwrÿp
ÿÿnÃÿÑÿ«ÿ`yÿVlÿ@bÿ:tÿAiÿ<ÿRŸÿLÙÿZÝÿ\áÿgàÿhËÿVÎÿYÔÿ^Ñÿ[Úÿa×ÿmÎÿhÇÿm_ÿD]ÿCnÿEÿGvÿ>rÿLŸÿrÒÿfÎÿxËÿxÇÿxÄÿyÃÿxÂÿvœÿrÅÿpñÿòÿñÿïÿîÿšíÿ®îÿmÿ@zÿ?ÿD¶ÿdãÿxìÿ|ïÿ|Üÿv¬ÿjšÿ`§ÿopÿ^ZÿJnÿiÿwÿzÿwÿs³ÿÙÿºÿn¢ÿj^ÿB_ÿ;fÿ<pÿ@mÿAÿKšÿHÏÿSÕÿYÜÿbáÿmÝÿbÖÿWßÿ]âÿzæÿãÿ×ÿrÿQ]ÿA]ÿ>pÿAÿIzÿDkÿFÌÿyÓÿnÍÿxÊÿyÉÿyÃÿxÁÿyÂÿwºÿrËÿrôÿñÿ ñÿ¡ïÿ¥ïÿªïÿšðÿ£gÿ>pÿ:ÿCŽÿ[âÿuìÿ}ïÿÞÿsÿH¯ÿrÿ^zÿi_ÿUjÿfÿÿwÿ{ÿÿÎÿÇÿq`ÿKdÿE`ÿAdÿBmÿBnÿB~ÿIÿC»ÿKÊÿTÖÿ^ÜÿiÞÿjÚÿaØÿ]ÚÿbÝÿmÛÿw¿ÿc]ÿA^ÿAfÿ@tÿAÿIÿEmÿHÑÿ|ÐÿsËÿxÉÿ{ÊÿyÄÿ{ÁÿyŒÿxµÿpËÿvöÿ£òÿ¢òÿ©ñÿšïÿîÿïÿbÿ=dÿ=ÿL»ÿ[àÿpìÿ|ïÿ~àÿiÿH¥ÿm{ÿ_mÿX`ÿW]ÿVÿÿÿÿÿ}ÇÿoÿN[ÿEgÿBaÿAcÿ@gÿ@oÿ?nÿ?xÿ@ÿ@»ÿLÒÿ\ØÿgÛÿmÝÿràÿxäÿãÿÚÿxÿHVÿBbÿDiÿ@vÿDÿJ
ÿDqÿEÒÿËÿsÊÿ{Æÿ}Çÿ|Ãÿ}œÿ|žÿxÿqÈÿ{öÿšóÿ€óÿ¥ñÿ€ñÿ¡ñÿòÿ_ÿ?\ÿ?ÿIŸÿZáÿqëÿ{îÿ|áÿfÿGÿ[fÿSpÿ]eÿWYÿRÿoÿqÿÿ¥ÿÿ_\ÿK]ÿFoÿDdÿ@bÿA`ÿ>kÿ?lÿ@pÿAvÿ=ÿ;¹ÿLÎÿ`×ÿnÞÿxåÿæÿãÿÌÿncÿCYÿKgÿGfÿ?{ÿIÿNÿFuÿGÒÿÅÿvÆÿ{Ãÿ~ÁÿÀÿ|¹ÿ{ŽÿxšÿpÑÿöÿ§óÿôÿ€óÿ òÿíÿÓÿt_ÿ@Xÿ={ÿB²ÿTáÿrêÿ{íÿ{Ûÿe€ÿmÿsaÿQlÿTfÿQTÿKÿwÿt}ÿ}ÿÿšÿdÿ\YÿF{ÿFcÿ@_ÿ@bÿ?bÿ?lÿBmÿAÿAÿH©ÿT»ÿ_Æÿi×ÿuÞÿ~ßÿÛÿÈÿznÿYZÿMdÿGaÿA|ÿJÿTÿLÿLÐÿ|®ÿ`Žÿfµÿr¹ÿwŒÿ|žÿ{¯ÿw£ÿnäÿöÿôÿõÿðÿÊÿlyÿEdÿ=ÿShÿAqÿ>ÿGÞÿléÿ{ëÿ~ßÿÿ]}ÿ_SÿEqÿWfÿSmÿZxÿwÿÿÿÿÿÿbÿSyÿFgÿF_ÿCaÿ@aÿ@hÿBkÿAzÿB¹ÿWÍÿ`ÎÿdÓÿkÙÿpØÿrØÿsàÿçÿèÿ§»ÿwÿ^Uÿ?{ÿJÿTÿKÿQËÿužÿjŽÿd¬ÿb€ÿ^£ÿ`€ÿf€ÿiÿhîÿõÿôÿòÿÉÿprÿBsÿAÿJ§ÿÿgÿG}ÿ>Úÿiêÿzìÿ~Þÿj°ÿuiÿNPÿ>}ÿohÿ_ÿp`ÿXÿ|ÿtÿyÿÿÿrÿlmÿDhÿDaÿC_ÿCbÿEfÿCwÿEqÿCŽÿUËÿ]Íÿc×ÿjÙÿlØÿnÜÿwâÿæÿéÿîÿ€îÿ¬ ÿlÿEÿNÿFÿUËÿuÂÿvŸÿt¹ÿs±ÿkŠÿaÿY¬ÿZÿQíÿöÿôÿÇÿjxÿBÿGÿLÿK¡ÿÿÿe{ÿ?Úÿkëÿ|ìÿyãÿu·ÿYÿC\ÿDeÿNnÿUiÿWjÿ[kÿeeÿ^pÿqÿÿ€ÿ}ÿylÿVfÿIeÿF^ÿGgÿHkÿGÿLrÿC¶ÿWÇÿ]ÕÿgÚÿjÚÿjÛÿoàÿzâÿäÿçÿìÿñÿŠóÿ޳ÿmÿA}ÿDÿXÇÿrÃÿy¿ÿwœÿxžÿv°ÿrŠÿmŒÿYÁÿ[ôÿ÷ÿéÿ
ÿIÿMÿO§ÿTÿPuÿV°ÿ°ÿyÿAÛÿlíÿ~íÿ|äÿnÿkQÿ>_ÿH]ÿG[ÿIwÿgYÿGeÿYsÿktÿq}ÿÿ¢ÿwÿhÿjbÿ@kÿA]ÿAiÿGhÿ?®ÿO~ÿA±ÿUÕÿaÙÿeÛÿhÜÿjÝÿoàÿuáÿ}ãÿ
æÿêÿïÿ¡òÿ±ôÿœÿglÿ<ÿWÅÿoÄÿtÁÿtœÿvºÿw³ÿu®ÿoÆÿ\ÜÿnöÿöÿÉÿeÿM ÿRÿW ÿQ£ÿZXÿA®ÿ¶ÿmÿ=Úÿiìÿ{ïÿ|åÿiÿdUÿC_ÿGXÿCbÿTpÿaaÿIbÿRfÿ[{ÿzzÿ{ÿÿqÿcÿteÿAqÿD_ÿAeÿBoÿ?µÿMÿBžÿUØÿ]ÜÿcÜÿdÜÿgÞÿoßÿràÿzâÿäÿæÿíÿ£ñÿ²óÿœÛÿ©]ÿ6ÿXÅÿqÅÿrÂÿsŒÿu·ÿr°ÿqŽÿfãÿ|ôÿøÿòÿ®ÿP¢ÿO±ÿV€ÿQ¢ÿRÿ_Oÿ8Šÿ·ÿmÿ<Úÿfíÿ{îÿ{æÿgÿZ^ÿHYÿ?UÿBxÿpfÿTaÿKYÿCZÿIkÿd|ÿ~ÿÿÿzÿnjÿAnÿBeÿ@cÿBÿFÌÿWÿFŸÿTÚÿaÝÿcÜÿbÜÿdÝÿkÞÿoàÿxáÿãÿåÿëÿ£ïÿ²ðÿ»ôÿ¿tÿQªÿXÆÿuÂÿtÀÿs»ÿrŽÿpÿlÇÿn÷ÿ÷ÿøÿßÿhšÿJªÿNµÿUÿQ¢ÿ[ÿ]Kÿ6 ÿºÿsÿBÙÿeëÿ|èÿ}áÿpÿeWÿCZÿ@`ÿLeÿRgÿQ`ÿKXÿC]ÿMhÿZlÿmÿÿzÿq}ÿdÿ_~ÿVhÿ@nÿ>²ÿMÐÿ\ÿGÇÿXÚÿaÞÿfÝÿbÜÿ_ÜÿeÝÿmßÿvàÿ|âÿäÿèÿ¢íÿ°ðÿžòÿ¿€ÿyµÿ\Ãÿu¿ÿs»ÿqºÿrŽÿrÿkÕÿt÷ÿ÷ÿõÿÌÿW°ÿL°ÿN©ÿO¡ÿSÿ[ÿVNÿ9ÿx¹ÿzÿI×ÿcìÿzìÿ{ãÿoÿbXÿA[ÿFeÿN]ÿKaÿKZÿI[ÿH_ÿQkÿdtÿyÿÿ
xÿiaÿEhÿBnÿDbÿ>ÿAÃÿTÊÿ\ÿLÒÿ^ÝÿfÞÿfÞÿdÛÿbÜÿbÝÿjÞÿsßÿzáÿâÿæÿêÿ®ïÿ¶ðÿœÔÿ¿ÿaŸÿtŸÿvœÿu»ÿu³ÿsµÿlÒÿdîÿzøÿëÿvÀÿQ«ÿMŠÿLÿM¢ÿXÿYÿ\Mÿ8ÿožÿ
ÿQÔÿ_ëÿyìÿzãÿk ÿeYÿD`ÿIWÿDaÿNbÿP_ÿJ[ÿFcÿSjÿclÿdjÿelÿeÿcÿA_ÿ<]ÿ:eÿ;¢ÿHÉÿW®ÿP€ÿQÙÿaÝÿgàÿiàÿdÝÿaÜÿbÝÿjÞÿoßÿtßÿ|áÿ
äÿèÿšîÿ¶ðÿœñÿ»ºÿ_ÿR§ÿ_³ÿm¶ÿt¶ÿvÇÿpÍÿ_Ùÿkúÿßÿb¯ÿL¢ÿMÿH ÿVÿVÿZÿNLÿ6ÿgÂÿÿZÏÿ]éÿxíÿ{æÿjÿc^ÿGWÿ@_ÿK_ÿM_ÿMcÿJXÿB[ÿKjÿjÿvÿmzÿhfÿJ]ÿ;Zÿ:Zÿ8ÿ@ŸÿOÅÿRÿDÇÿZÛÿaÞÿgàÿfàÿeßÿaÜÿ^ÜÿbÞÿjÞÿoßÿxàÿãÿæÿ€ìÿŽïÿ»óÿ¿ŽÿsÿLÿHÿGÿKÿVÀÿgÓÿfçÿ}öÿºÿMÿCÿIÿSÿVÿXÿ]qÿA~ÿGÿiÇÿ¢ÿfÌÿ^èÿxìÿzÝÿkÿbYÿD]ÿF\ÿE[ÿHbÿMeÿNVÿBZÿD^ÿJuÿtÿÿ{Zÿ=Xÿ:Uÿ9iÿ:€ÿHÇÿQÿB¢ÿMØÿ\ÜÿbÞÿdßÿgàÿhàÿbÝÿ`Üÿ`ÜÿdÝÿkßÿsàÿ|ãÿåÿéÿ®íÿ¹ñÿŸÒÿÿU ÿUÿNsÿDVÿ;¬ÿ^éÿróÿÖÿcÿ@ÿDÿQÿXÿPÿaÿUnÿ?ÿV¡ÿyÄÿ€¢ÿpÊÿ^éÿyíÿzÔÿiÿaXÿC[ÿD]ÿFYÿEbÿPcÿS_ÿMdÿReÿThÿ\ÿzuÿfWÿ>Vÿ;Xÿ8ÿB®ÿHÿ@ÿFÑÿWÙÿ]ÝÿaÞÿdßÿeàÿfàÿgßÿdÜÿdÜÿaÝÿgÞÿnßÿzáÿãÿæÿšëÿ¶ïÿŒìÿ²ÿQ¡ÿWÿTÿO|ÿH·ÿ`óÿÐÿ^ÿA{ÿAÿKÿZÿLÿXÿgÿQrÿFrÿIÿlŸÿšÿwÈÿ\éÿzïÿ}ÜÿoqÿPWÿC_ÿI^ÿH`ÿOjÿZfÿY|ÿpeÿV_ÿTnÿeÿrÿbTÿ>Wÿ;cÿ7zÿ<ÿDºÿOÍÿWÓÿY×ÿ\Ûÿ_ÞÿaßÿeàÿfàÿjßÿhÝÿeÝÿbÜÿdÝÿlÞÿwáÿâÿäÿ èÿ±íÿœðÿŒ¢ÿcÿTÿZÿ\¢ÿ[¹ÿ\ÂÿbÿKÿFÿKÿ^ÿJÿKÿiÿdtÿFmÿCcÿBzÿ[ÊÿŠŸÿÇÿ^ëÿzðÿÌÿmeÿKYÿD_ÿIcÿOaÿRmÿ_]ÿR
ÿcÿYlÿ_rÿbrÿlrÿfSÿ<dÿ7ÿ>¹ÿJÇÿOÏÿVÓÿWÕÿXØÿZÜÿ]Ýÿ`ßÿaßÿeàÿiàÿkßÿjßÿgÝÿiÞÿkÞÿqàÿ}áÿâÿåÿ©ëÿ·ìÿ»žÿ~ÿQÿ^¥ÿeµÿZ¶ÿUªÿS¯ÿUÿNÿXÿJÿHÿ` ÿoÿSjÿ@jÿ=]ÿ=nÿRØÿ«ÒÿÇÿ`êÿxîÿ~ÇÿnbÿGZÿCeÿOoÿTjÿXvÿijÿYvÿiwÿntÿhgÿQgÿUyÿnoÿRÿ<³ÿDÇÿMÍÿRÑÿUÒÿV×ÿXÙÿXÝÿ\Ýÿ\ßÿbàÿeáÿhàÿiàÿiáÿkßÿjßÿnàÿsáÿ}àÿ
áÿäÿ£èÿ±ìÿºÖÿÿUÿWªÿ`ÄÿZÂÿUÍÿXžÿRÿR
ÿVÿRÿX¬ÿsÿ\fÿ>iÿ@ÿK
\ No newline at end of file
diff --git a/milena/doc/figures/tuto4_genericity_and_algorithms-9.pgm b/milena/doc/figures/tuto4_genericity_and_algorithms-9.pgm
deleted file mode 100644
index 437b8d7..0000000
--- a/milena/doc/figures/tuto4_genericity_and_algorithms-9.pgm
+++ /dev/null
@@ -1,6 +0,0 @@
-P5
-# Generated by Milena 1.0 http://olena.lrde.epita.fr
-# EPITA Research and Development Laboratory (LRDE)
-1 4
-65535
-²ÿÿUö²zÿÿPÕ²
ÿÿP¬±qÿÿPÄ
\ No newline at end of file
diff --git a/milena/doc/figures/tuto4_genericity_and_algorithms-9.ppm b/milena/doc/figures/tuto4_genericity_and_algorithms-9.ppm
deleted file mode 100644
index 29c0860..0000000
--- a/milena/doc/figures/tuto4_genericity_and_algorithms-9.ppm
+++ /dev/null
@@ -1,6 +0,0 @@
-P6
-# Generated by Milena 1.0 http://olena.lrde.epita.fr
-# EPITA Research and Development Laboratory (LRDE)
-64 64
-255
-âyá
tßlÞnâpéwêtÍde¡ÿW¬ÿY°ÿV²ÿV±ÿUºÿXÄÿZËÿ\Íÿ`ÍÿbÌÿ_ÍÿaÐÿbÓÿaÐÿaÏÿcÐÿcÎgeÌggÌÿ`ËÿcÎÿ_ÐÿaÏÿaÍÿcÌÿaÊÿbÊÿaÊÿbÈÿa¿ÿa±ÿYÁÿZØzoÝqÜ~jÝnÞmÞhÞgÝjÝnç¢zùÿ鎩ÿZžÿ]Œÿ]»ÿbÁÿ]Âÿ_Âÿ^ÃÿbÃÿ^¿ÿ^ÇniâmâlâkàiånêréjÌÿZ¢ÿPÿR³ÿS²ÿQ²ÿPºÿVÄÿ\ÊÿZÍÿ[Íÿ_Ïÿ_Ïÿ]Ðÿ`Óÿ_Ñÿ_ÑÿaÐÿaÐÿaÏÿaÎÿ^Íÿ`Îÿ\ÐÿaÏÿ_Îÿ_Íÿ`Ëÿ^Ëÿ_Ëÿ_Êÿ_Âÿ`¶ÿZ²ÿYÑnkßsàoá
mâ
láiàhÞiÛkÛmõÃúÿÄtg³ÿY»ÿ]Ÿÿ]¿ÿ]Áÿ]Äÿ]Æÿ^Éÿ`¡ÿR_ÿAámãkâlánæqçoåkÌÿ_¡ÿN¯ÿNŽÿR±ÿP²ÿNŒÿTÄÿYÊÿYÎÿ]Ïÿ]Ðÿ_Ïÿ`Ñÿ^Òÿ`Òÿ`Òÿ^ÒÿaÑÿ`ÐÿaÏÿaÎÿ`Îÿ]ÑÿdÏÿbÎÿaÍÿ^Íÿ_Ìÿ]Íÿ_Íÿ^ÃÿaŒÿ\°ÿXÃÿdÛ~sâvãqäpâ
mâlÞjÛ~lÙ}kåuúÿÿY¹ÿ[¿ÿ\¿ÿ^ÀÿaÆÿbÏÿbÿP[ÿB]ÿ?âmå
lã
oårçrâoæ
jÎÿW¡ÿJ®ÿN³ÿR±ÿPŽÿP»ÿRÅÿXÉÿZÍÿ[Íÿ]Ïÿ^ÎÿaÑÿ^Ñÿ_Óÿ]ÑÿaÒÿcÐÿZÎÿWÎÿ\Ìÿ[Ëÿ\Îÿ`ÏÿbÏÿbÌÿ]Ìÿ^Ìÿ\Íÿ\Íÿ^Åÿ`Ÿÿ]ŽÿXÁ\fÙzuâwâtáoâjálßmÝnÚ~lØzióŒûÿ ÒpŽÿWŸÿ\Àÿ\Àÿ_ÉÿbÿO\ÿB\ÿ<dÿ?ã
nänæséqçlãlæ
iÎÿU¡ÿJÿO²ÿP°ÿO²ÿP»ÿTÄÿXÇÿZËÿ[Íÿ]Îÿ[Îÿ_Òÿ^Ïÿ`ÐÿcÑÿ^Òÿ`ÐÿZÊÿYÊÿXÊÿYÇÿYËÿ_ÌÿcÍceÌÿ_Îÿ^Ìÿ]Íÿ]Íÿ]Éÿ_Àÿ\·ÿYÂÿbÖspÞtà
tß
oàlànànßmÜ~nØyißjùÿ÷ÿžÿbºÿWÀÿ]ÆÿbÿOZÿBaÿEdÿ@bÿ>äpåpèpæfçhånçjÌÿVÿJÿO³ÿP±ÿO²ÿNŒÿTÆÿWÇÿYËÿYËÿ]Îÿ\Ðÿ`Ðÿ^Ðÿ_ÑÿaÑÿ^Ñÿ_Ðÿ^ÌÿcÈikÈqqÅmlÆÿ^Èÿ^Ëÿ`Ìÿ`ÍÿcÎÿ`Íÿ]Îÿ\Èÿ]¿ÿ\¹ÿZÂÿ_ÔolÚyqÝtßoßnàkálß}jÚxiÙueÖÿaðŽúÿ§á€~°ÿV»ÿ]ÿNZÿ>^ÿBeÿD`ÿ?]ÿ<æoéqåeÞÿ[ågæoèkÐÿVÿH¬ÿM³ÿQ±ÿN·ÿNÀÿTÊÿWËÿXÎÿYÎÿ\Ñÿ^Óÿ_Òÿ^Ðÿ^Òÿ^ÍbhÈu}Ã{ÈÍÒŠÐ¥ÓªÏÆssÄÿ\ÉÿdÍÿcÍÿ_Ìÿ]Èÿ\¿ÿ[·ÿYÀÿ]Öni×tmÚyqÞqÞ}mß}jà{gÝveØre×ÿbÖÿbÝjøÿûÿ¥ÉwhÿMXÿ>]ÿ?cÿCaÿB]ÿ=_ÿ;épêm×ÿVÑÿVçjémêkÑÿVÿG¥ÿMÿN°ÿLŽÿOŸÿTÇÿUÉÿYÍÿXÍÿZÑÿ\Ðÿ^ÏcfÈntÀbm¿kuÁpvÆz}ÈÌÏÒ¥Ö¬Ù² Þ¹šÑŸ_hÄÿ`Çÿ^Èÿ\ÂÿYŒÿWŽÿUÃÿ[ÙoiÚtkÚvoÛyrÞ{lÜueÜÿcÛÿcÙÿcØÿaÙÿ`×ÿaë¡}ýÿ¬Ý€Wÿ>Zÿ?dÿBaÿA^ÿA]ÿ?`ÿ;ísäÿc®ÿIÊÿTèiêmêjÑÿSÿE ÿKªÿO¬ÿO°ÿQžÿRÂÿUÄÿVÈÿZÌÿ[ÏÿYÐÿ]Œÿ\œÿb»]f¿ioœiqÂnsÃx|Ê
Òէ׬۳¡Ý¶€ÝŒ¬Ø³Šœos¶ÿWŸÿX¿ÿYžÿY²ÿTÁÿ[ÝqjßxlÙsmÖplÚtkÛsgÜÿbÝÿdÚÿcÙÿdÚreÚsfÜzkó¹~ÿLVÿ>bÿAdÿB^ÿ@^ÿ@`ÿ?Xÿ9ëoÌÿTÿFÊÿVêjëqégÎÿTÿD¢ÿMªÿS¬ÿQ®ÿP¶ÿTÀÿXÂÿVÈÿXËÿYÒÿ[ÆÿY»ÿVœÿ\ÁÿdÁchÄjmÃlqÅsvÉ~Ïקگ܎£Þ¹©Ü¹§Ú»°àĹʪÿWŽÿV²ÿU¯ÿVŸÿ]ßumä~oÞvlËÿ`Ëÿ_ÝujßÿdßseÜÿcÜqeÝsfßviázjÿIWÿ=`ÿ?dÿ>^ÿ>`ÿC_ÿDdÿFÿUàÿ`šÿJÿHÊÿWéiëoèiÍÿSÿF€ÿM¬ÿPÿR¯ÿR¶ÿTÀÿUÄÿXÉÿYÊÿYËÿX»ÿSœÿ\Ÿÿ_ŸÿaŸÿdÄhlÆknÆprÌxxÓکܯ ثَ¬à·åÿ¿æÿŸëÿÅÉ¡ÿMªÿS§ÿT»ÿ[Þsjä}láynÁÿYÿJÓffßshàreÝpeÞqgßqfäxk€ÿSWÿ;`ÿ?dÿA]ÿ>cÿ@\ÿDmÿRÿXÏ}u¿ÿMÿJÿGÉÿWç
jëpè
hÌÿSÿH£ÿO¬ÿQÿQ¯ÿQ·ÿRÀÿVÅÿWÉÿYÉÿY»ÿSºÿYŸÿ\¹ÿ\»ÿ`ÃbfÉlmËppÍssÍwvÔ×Ó Þº±åÿœâŹâÄžãÿŒåÿÁëÿʱqwÿKÿPºÿXßtlå}názpÄÿ`nÿ=±ÿVÝqjàrgÝoeßqhâshÎÿ`^ÿA_ÿ?gÿA^ÿ?cÿA]ÿ@fÿMCeÄwxË|uÿJ£ÿJ ÿJÇÿUçjétè
lËÿWÿF£ÿM«ÿQ¬ÿO°ÿP·ÿQÁÿVÄÿWÊÿ[ÀÿXŒÿX»ÿXœÿ[Œÿ_ÂafÆhlËnoÍqpÉmoÌssÎ~Ò໯âÀ³á¿ŽÞŒ²áÄžâÄžâÿœäÿÀæÿĶÿD¶ÿTÞtkä}pâ|rÆÿ\hÿ>~ÿBÍÿ_ásgÝÿcàqiãtizÿCYÿ<iÿCdÿ@bÿ@`ÿ@bÿFwÿYŸqxÉ~zÕ~ ÿK¢ÿLÿKÆÿXålèrç
nËÿYÿJ¡ÿL«ÿOÿQ®ÿP·ÿRÀÿW¿ÿWÒÿbŽÿPºÿVœÿVŸÿ[ÁÿaÈglÌooÊmoËmpÁcjÃrw؀ീ޵§Û³šÞ¹¯âÞãÄ¹âÆºâǺáÿŒäÿÁéÿÇXhÿNÝqgä}oâ{rÇÿ^nÿ?_ÿ7ÿFÔÿdÚtjáti§ÿRYÿ=dÿ?gÿA`ÿAaÿAbÿAdÿJ·kwÄvwÑ~ÕÿMÿKÿGÃÿVælèrç
oËÿZÿHÿK©ÿM©ÿOÿTµÿTœÿT¿ÿ\Özi³ÿTŒÿVŸÿVÁÿ]ÈaeËilÊijÉijº[fÅx}ݚܧ۪۫à¹ß»¯àŸ³ÞÀ·ßžßùáÿœáÿÀåÿÅל³ÿLÛphã|mã|qÆÿ^lÿ@Xÿ8MfÞœ°åÿŸæÅ·_ÿF]ÿBgÿCdÿDbÿBcÿB]ÿ@¢XnÈxyÏÔ~Ô{ÿL¥ÿL€ÿIÄÿTæjêrè
mÊÿVÿEÿJ¬ÿN¯ÿM°ÿN¶ÿQœÿUÑ{oÐÿ_°ÿSŒÿUŸÿWÅÿbÅÿbÂÿdÉÿdœÿ_ÏÜØÙ¡Ú€Ý±¥Ü±ŠÝŽªÜµ¬àŒ³á¿ŽàÀµÞÞàÿŸßÿÀåÿɵpvØnfånâ}nÀÿY\ÿ<rÙ·«æÿ¿êÿÂðÿÉxIf]ÿAeÿA`ÿ>]ÿ?dÿCÿ\Ë{|Í}Õ}Ô}Ó{©ÿM¬ÿN¬ÿKÇÿSåkêsênÌÿYÿE¢ÿK¯ÿN³ÿNŽÿN»ÿQŸÿSàyÈÿW¯ÿQ·ÿUÁÿYÄÿ^ÄÿdÈbfŸÿaÓ~y×ÖÛÜ¥Û§Ú©Ø£Û«¡Þީ߹¯ßŒ±Þœ°Ù²©ÝÀ·ÞĺÞÅŒÜÅ¿Ûwå}eÞÿd¶^eÀÛ»°åÿŒãÆžâÆºïÿÈ~Mf_ÿCaÿ?_ÿ=dÿ?_ÿCÂq{Í~~Ö~Ô|Ó|Ó{ÿOÿM®ÿLÎÿRækërìqÏÿXÿD£ÿL¯ÿN±ÿM²ÿKžÿNµÿPç{ÈÿW³ÿTŽÿR»ÿVÄÿ^Åÿ_ÀÿdÒvsÓ|xÍ{{ØÚØÚ¢×ڡ܊ۚܯ¥Ü±š×©Ø²šÛŒ³Üº²Ú»Ž×¹²Ý±Šâ}iÝß»ªÞÀ³âǹàöâÄ·æÿÀîÿÆiÿV_ÿC_ÿ>^ÿ=fÿBKeÐ|}ÔÕ~Ô{Ò|ÒzÿO¬ÿM°ÿKËÿSèkîsîsÑÿXÿC¥ÿI®ÿL¯ÿL¯ÿLµÿM±ÿNôŽ
Õÿ]ºÿS·ÿTŸÿVÅÿ^ÃÿbÑstÒtrËpqÔ~}ÕØØ×ÛÛÙÚ€Ú© Ù§Ø®§Ø³«Ù®ŠÖ©£ÕŠÏ¥¡×Žªßµ€ßŒ¬ãÃŽá¶ßÀ³âĹߺ®åÿœäÿºWÿA`ÿA\ÿ>cÿ@ÿYÍv|ÐÖÕÓ~Ò|Ñ{ªÿNªÿM¬ÿKÈÿTèjítìsÐÿYÿG¥ÿK¯ÿN¯ÿL°ÿK³ÿM²ÿPõŽßzeÏÿX¶ÿQ»ÿWŸÿ]ÐkmÏqqÇhkÔzwÑyzÑ{|Õ
ÚÚÚÛØ××ـة¢×¥×€¡ÓÑٮܶšáÀ²àŸ°ÞŸ²ßÀŽá÷໮ÔÚ©³Yÿ@_ÿ?]ÿ<fÿJ¯]pÐ|}Ô×ÕÓ~Ó}Ô{šÿM§ÿJªÿLÌÿWèkëuìqÑÿZÿG¥ÿLÿM®ÿK¯ÿK±ÿK±ÿTô¯{ågØÿ]ºÿSºÿWÏjlÊgjÃbiÓrqÎpqÍvwÓz{××
ÖרÔ
ÕØØÖÔÏסݮບߌ«Ýž¬Ý»¯àÁ¶àÞäÿŒÔÎØzÿ]\ÿ?\ÿ?aÿAÿbÏ{|ÑÔÓ~ÒÒ}Ò|Ò|ªÿN©ÿN³ÿMÑÿWékìtípÒÿ\ÿC¢ÿL¬ÿMÿK¯ÿK¯ÿI³ÿW÷ºémáÿ`ÈÿVÉÿcÇciÁ_hÑmnËjmÈiqÎruÓx|¿k}µd~¯fŸvžn~ÏÍÏŒvÆÏÜ¥àŽ€áº§ÚŽ¥Û¹®ÞŸ±á¶âùãǻ޶©»oo±\fÒ§Tÿ<^ÿAbÿCeÿJ»huÐ||ÕÔ~Ò}Ò}Ñ{Ð|Ð
{¬ÿPªÿP·ÿNÖÿVêkítîqÕÿ[ÿD¡ÿJ¬ÿM°ÿM±ÿK²ÿH°ÿOøÀð¢sÙÿXÈÿYÀÿ_ºÿdÏikÈeiÆcjÉgmÏouŸez¶`y¢Mo
>p²tQ~Dy?nhÿQ_ÿSŠl|Ø á¶Šß¹©Þº«Úž«ÞŸ±àÀ³ãĶ߻®ÆšÿW£ÿWÖÿb\ÿ>\ÿ>aÿ?~ÿYÍy|ÒÔÔÒÐÏ|Î
|Ðy°ÿR®ÿMžÿNÖÿUélìsíqÔÿZÿE£ÿJ¬ÿK¯ÿL°ÿL°ÿI¥ÿGò¹ó©xÒÿ`Íhgµÿ]ÍeiÅbjÆ`hÇdlÎinŒ\rº]wHu}ÿdmÿYN}=t}AtgÿbRÿHŠjtÓݰݷ©ÜހܶšÚž«ÝŒ±Þ»Æ¡ÿT£ÿVÀjmÝÿZ]ÿ>aÿ>`ÿ?_ÿH¯`pÍ~}ÕÕÓÑÏÐ}Î}Î}²ÿU°ÿQ¶ÿKÓÿVékësípÖÿ[ÿE¢ÿJ«ÿL®ÿLÿL±ÿJªÿIØwöŽÜoÅÿ_É`hÄ^fÂ[gÄ^hÃbnÀ]mŠNjwÿakÿX_ÿHy7jsÿ\~Dyhÿck8hµnsÖ Ú¬×« Ö«ØÜޥܹ«º
Sj¡b|Ö{åyè¢ÿ\]ÿ=dÿ@`ÿ>cÿ>rÿSÊwzÓÖÕÓÑÏÎÍÌ}ŽÿU°ÿR±ÿKÎÿRémìuîrØÿ]ÿE ÿIªÿL®ÿK¯ÿKŽÿL¶ÿLŽÿVôœè{Ãÿ]Å_iÀZgÀ^sÃ]s¿[mÿ_x5eeÿUsÿc[ÿGoÿWjÿQmÿdwI{`أݎ¥ÔªÔšÒ£Ô¢Û°¥ÛÿUOn¢d~ÒäÿN\ÿ:eÿ>eÿA^ÿ<cÿCNfÃtxØÕÕÔÒÐÏÌÌ}ŽÿU±ÿQ¬ÿKÆÿQçmìvïsØÿ]ÿDÿHªÿMÿL®ÿLµÿNœÿR°ÿLàîªÈÿ`¹ÿcÀ[lÃ]lžXr=erÿY|6g`ÿOu2fhÿQ`ÿDfÿPu2eSœÙ©Ó¥Ñ¢Ò¢Ò£â°šë³©ìާÂÿbÿYUsÅ}ÿFZÿ=gÿ>jÿBaÿ=aÿ;lÿM°epÄ}|ÖÔÔÔÒÑÐÎ~Ì|°ÿV¯ÿRªÿJÁÿTæoìwîvÙÿ`ÿEÿL¬ÿO°ÿP°ÿM¶ÿPÀÿUºÿOÞàr»ÿYŒÿcÅYfÄZh
ÿQoÿRZÿClÿZlÿ[hÿ]|@qZÿBeÿIª[sŽ~ةج ÌÒ¡Øè¬¡í¹¬î¹ñœ¯ÚyusÿBÿZÂ~iÿA`ÿ=iÿ@lÿE^ÿ;`ÿ=ÿ^ºpsÊ|ÒÔÓÔÔÑÑÐ~Î{±ÿR¯ÿP©ÿLÀÿTænìxîu×ÿaÿJ¡ÿK¯ÿR±ÿR±ÿO»ÿTÄÿXÃÿSÌnh×~n¿ÿXÆÿdžÿd|ÿOeÿFiÿReÿK_ÿGfÿRz:pt:jXÿA»gnÙÃÑ¥¡Ó¢Ñßè첊î»ñÀ²ôÆ·ëÿBdÿEžwlÿIfÿAkÿEjÿC_ÿ<_ÿB®dnÆ}xÎÉ}É}Ì}Î~ÑÐÐÐ|Ï{±ÿRÿOšÿJ¿ÿSæqëxíuÖÿbÿL¡ÿPÿR³ÿR³ÿQŒÿTÄÿVÄÿUÆÿVÌÿ]Í]eŒ_vÿRhÿYZÿFjÿUgÿNcÿMdÿNlÿ^cÿUZgÕÛ¥ÅÔŠ Ôà
çêí³Šîº«ñÀ°ôÇžñµŠ¬ÿNWÿ?®i|uÿKgÿDkÿFdÿAbÿ>tÿRÀstÏÑÎÍÊ}Á}Á|Ä~É{Ì|Ðy°ÿOÿNªÿKŸÿUäsìzíwØÿ_ÿJ ÿO®ÿS±ÿS³ÿQŒÿQÈÿUÎÿ^·ÿXšÿY¿f~£ÿXlÿ`k2e[ÿCoÿX\ÿBeÿOhÿZ`ÿQÿ[Ì
Ø×€ÒŠ»ejÊhpÜéëíªí²£ï¹šóÁ°ï² §ÿPXÿ<VoÿYkÿJmÿHaÿ@_ÿAPgÀtuÓ~ÑÐ}ÑÐÉ}Ã}À~Ÿ||¿z{Äzx¯ÿR¯ÿQ«ÿKœÿRæ
qíyïzÙÿaÿL¡ÿO¯ÿS±ÿP²ÿM¹ÿPÅÿYÙrk€ÿ\ÿb§ÿWwÿ_lÿcu<n\ÿJaÿOdÿJ_ÿFjÿ[sÿOÊ|ÞšÕÑËceËchÂÿb¢ÿMÂ[eæìí® ìšÌwtÿZ¡ÿJbÿ=ÿcÿcmÿHhÿDbÿ@fÿG²frÈ}xÕ|Ñ|Ð{Î}Ï|Ë{É}ÈÃŒ}Žrz«ÿOªÿN£ÿHžÿOæ
nîvîxÚÿaÿF¡ÿI°ÿN±ÿJ®ÿI¿ai×|nÞ{nœcf{ÿNlÿa{@vDz]ÿOkÿ\Vÿ@pÿdaÿDUÿ=¶inÝ๫ÉÿAwÿ<oÿ>~ÿNÿJÒÿaßpsìñž§²`gÿJuÿAuÿ?cÿ;
ÿ\¢XlnÿIcÿ>bÿ?rÿO¿rtÐzÒzÐyÑyÏzÏzÌyÉ|ÇÁ~»{~µv|ªÿOŠÿMÿF±ÿLænîyî{Úÿ_ÿFšÿK³ÿL²ÿM¢ÿG¯cjÜœÿbyÿMjÿ^iÿ[hÿaR
XÿC\ÿGhÿP\ÿ>XÿAÿYÌܯ¢Ö©¯ÿU}ÿ?ÿTÿ^ß·¹²ÿ\ÇÿWÛdjíÛÿSFiWjgÿ7^ÿ;ÿZ©btsÿLaÿ=_ÿ?ÿaÆyvÒ{ÐzÏxÏxÏxÏyËxÅ{À}|žvz°qx·|}®ÿQšÿMÿF¯ÿLænï{ð|Ýÿb¢ÿH±ÿLœÿRÿILfÂy°vykÿ^r8ngÿ]l0fy@x]hÿYYÿ=`ÿA\ÿ=]ÿAŸrwÛ€Ò¥ÇÿbÖfmÊ`kÄWhÈrØØu{Ñÿ`Ø_gí§¡ÛÃfxœmÿN|ÿ>aÿA}ÿX¯l|tÿL_ÿ=fÿB¯dnÉzÐzÍxÌyÍ}ÌzÌxÆ}v¿xwžux¿zÔ⬫ÿOÿKÿB§ÿHäpï {ò¡ßÿa£ÿE°ÿJ¿ÿOÄak·dz|:ebÿPhÿb
Ukÿdfÿ_{HSmÿa[ÿ?]ÿ?Uÿ@ÿWÕÓš¶ÿRÕ`ißx}á~Þ{~Ü{ÞÜ~×clÙZeéèž°Û|Ñak¹ÿVÿBfÿ=vÿS¹wnÿE`ÿ<oÿGŒorÎ|Î
zÌyËzÊxÈyÆ}wŸyv·suÑæ³
èŽè³
ÿMÿHÿ@¢ÿHãoî{ñ |Þÿa¡ÿD®ÿNÀXl¶gVt9ilÿ`OK~VÿEbÿWzCwxHwÿdaÿDWÿAiÿOÄsuÛ²ÿPÅÿTØ`gâwzçèçæà~~ÜkqÚÿcæëÀ¶ßÛioÑÿcÿIlÿApÿIÄeÿ<_ÿ;ÿVÃvtÐ|Í
{Ê|ÉzÇxÃ}y¿yw·stÒìºì¹
éŽéžÿHÿEÿAÿGâpì{ï|ßÿbÿFªÿQŸÿWOy
Ex}9kl2iTiÿ\\ÿDZÿDaÿJbÿ>šYjwÿPOÿ; ÿZØ¢cmÿBËÿXÙÿcápræêéçáyvÝkmØÿ`ãíÄ»Þ
ÜotÔÿdÿEkÿ@lÿCÉ
dÿ@eÿ>«ÿ_Ì{ÏyÌ{ÊyÆzÄ~xÁ|x¹tuÆxì¶ížìºëÀëÄÿKÿKvÿBÿGâoê{îwßÿaÿE°Rlžb@jRo5is>z`r9h`ÿITÿ=~ÿK~ÿQ»owÿQ_ÿ@ÂpsÄWÿ<ÿBÇÿTÙÿaákoå|{èéçÞom×ÿdÔÿ[ßv|ðÿ¿ÝÛlsÏÿ`qÿCrÿCgÿ?ÁyrÿLfÿAÀnkÑyÑwÌ
yÉzÄyÂ|wœxv¹ssãª~ïží¹îÅîÿ¡ìÄÿKÿHtÿ<ÿBâoì|ðyáÿ_ÿI®Lg²Vw7hF{p3ns?wao7i\ÿHYÿ?ÿV¥ÿ\xÿJVÿ<¥[eÇqÿK]ÿ<ÿFÄÿRØÿ_àfjãstä{yæ~ä{ÖbeØÿcØÿbÝmqòƹÜ|ÙjpžÿY[ÿ?uÿDfÿ;µlx
ÿWyÿLËxnÐzÍ
wËvÈyÅyÂ}w»tsÌxïºïžïÄîÿìÿìÿ¥ÿIÿDÿ>£ÿLâqë}ð|àuf ÿR©ÿN°Lj5gFwo;ql1jUa\ÿEkÿDWÿD~ÿa[ÿ>xÿUÚ `hXÿ7dÿ> ÿLÈÿOÙÿ[àcgãqrãvvä~{ãzÙfjÐÿX¿ÿQÑÿZè ÛxxÕfk
ÿKZÿCxÿBkÿ;¢]oÿ^ÿYÏrÎzËxÉyÆyÄ~vÂ{u¹rsá¢|ðºðÀîÇíÿ¡ìÿŠìÿŠÿEÿD
ÿA·ÿ^ãwêyð}áxfÿHŠÿM»Vopÿ]r3in4er6pTcoÿ`ÿ\YÿG|ÿ^°m}¬\e±{}YÿBfÿFeÿB§ÿUÌÿUØÿ[Þ`eálmârtä{{ä}àywÝilá{yâå ÚtxÁÿc\ÿE_ÿFÿIpÿ>ÿbSeŒÿdÐtÍzËxÇyÆyÃ~x¿zuŒuqë°~ðœ
ñÿîÿïÿ íÿ¥íÿªÿBÿ@ÿ?µÿbãxëyð|áyeÿDªÿZŽXty1gv;icÿYmÿbv=r|F}\}ÿUyÿQ¶tÁ¥ÿbhÿFdÿ<pÿ?dÿ<¢ÿXÊÿSÙÿ[ÞÿcáhjáijârrávuÝutÞzyꬡ鯊äÖnuÿSZÿDfÿF
ÿGrÿ<ÿT®cnÎÿdÏvË
zÈxÅzÃ}wÂ}wŸxqÂzqï·~ñÅñÿïÿîÿ¡íÿ«îÿ®xÿ?ÿ@ÿ?³ÿaâ{ë}ð}âyeÿN¬ÿd°Rmjÿ[iÿ[dÿ]zDz{Awr9p
WDnÃÑ£«ÿ`yÿVlÿ@bÿ:tÿAiÿ<ÿRŸÿLÙÿZÝÿ\áfgàjhËÿVÎÿYÔÿ^Ñÿ[Úÿa×imÎahÇcm_ÿD]ÿCnÿEÿGvÿ>rÿLŸorÒyfÎxËxÇxÄyÃxÂ|vœvrÅ}pñœòÿñÿïÿîÿšíÿ®îÿmÿ@zÿ?ÿD¶ÿdãxì|ï|Üyv¬Ojšÿ`§Nopÿ^ZÿJn2i[w@zKw?s³eÙºnn¢dj^ÿB_ÿ;fÿ<pÿ@mÿAÿKšÿHÏÿSÕÿYÜÿbáomÝÿbÖÿWßÿ]âjzæ~ãx×nrÿQ]ÿA]ÿ>pÿAÿIzÿDkÿFÌ~yÓ~nÍxÊyÉyÃxÁyÂ~wºurËrôÿñÿ ñÿ¡ïÿ¥ïÿªïÿšðÿ£gÿ>pÿ:ÿCŽÿ[â
uì}ï Þ|sÿH¯Vrÿ^z@i_ÿUj.fiWwC{akÎÇq`ÿKdÿE`ÿAdÿBmÿBnÿB~ÿIÿC»ÿKÊÿTÖÿ^ÜfiÞijÚÿaØÿ]ÚÿbÝ_mÛnw¿ÿc]ÿA^ÿAfÿ@tÿAÿIÿEmÿHÑ|ÐsËxÉ{ÊyÄ
{ÁyŒ|xµrpËvöÿ£òÿ¢òÿ©ñÿšïÿîÿïÿbÿ=dÿ=ÿL»ÿ[àpì|ï~àyiÿH¥Mm{ÿ_mÿX`ÿW]ÿVihWSR}ÇoÿN[ÿEgÿBaÿAcÿ@gÿ@oÿ?nÿ?xÿ@ÿ@»ÿLÒÿ\ØcgÛimÝnràvxäãÚwxÿHVÿBbÿDiÿ@vÿDÿJ
ÿDqÿEÒËsÊ{Æ}Ç|Ã}œ|ž|xoqÈ{öÿšóÿ€óÿ¥ñÿ€ñÿ¡ñÿòÿ_ÿ?\ÿ?ÿIŸÿZáqë{î|ázfÿGÿ[fÿSpÿ]eÿWYÿRXo9qhh¥^ÿ_\ÿK]ÿFoÿDdÿ@bÿA`ÿ>kÿ?lÿ@pÿAvÿ=ÿ;¹ÿLÎÿ`×inÞvxåæãÌjncÿCYÿKgÿGfÿ?{ÿIÿNÿFuÿGÒÅvÆ{Ã~ÁÀ|¹~{ŽyxšmpÑöÿ§óÿôÿ€óÿ òÆíºÓt_ÿ@Xÿ={ÿB²ÿTárê{í{Ûte€YmVsaÿQlÿTfÿQTÿKhw?t}I}^{šedÿ\YÿF{ÿFcÿ@_ÿ@bÿ?bÿ?lÿBmÿAÿAÿH©ÿT»ÿ_Æai×ouÞ~~ßÛÈ{znÿYZÿMdÿGaÿA|ÿJÿTÿLÿLÐ|®ÿ`Žefµor¹xwŒ|ž|{¯vw£fnä¶öÿôÿõÿðŸÊlyÿEdÿ=ÿShÿAqÿ>ÿGÞzlé{ë~ßÿ]}ÿ_SÿEqÿWfÿSmÿZxEwWYV[SpbÿSyÿFgÿF_ÿCaÿ@aÿ@hÿBkÿAzÿB¹ÿWÍÿ`ÎÿdÓhkÙnpØrrØtsàçŽèŒ§»wÿ^Uÿ?{ÿJÿTÿKÿQË}užjjŽÿd¬ÿb€ÿ^£ÿ`€^f€ci\hîŸõÆôÿòÂÉprÿBsÿAÿJ§uUgÿG}ÿ>Útiêzì~Þyj°`uiÿNPÿ>}Aohÿ_Cp`ÿXL|PtBybmMrGlmÿDhÿDaÿC_ÿCbÿEfÿCwÿEqÿCŽÿUËÿ]Íÿc×hjÙklØlnÜ|wâæ¯é¶îŸ€îì xlÿEÿNÿFÿUË|uÂ|vŸvt¹ps±ekŠÿaÿY¬ÿZÿQí¹öÿôÇÇjxÿBÿGÿLÿK¡qXe{ÿ?Úvkë|ìyãu·uYÿC\ÿDeÿNnÿUiÿWjÿ[k5eeÿ^p:qXy€S}XylÿVfÿIeÿF^ÿGgÿHkÿGÿLrÿC¶ÿWÇÿ]ÕcgÚijÚkjÛqoàzâä¡ç¬ì·ñŠóÿ޳mÿA}ÿDÿXÇzrÃy¿|wœyxžtv°lrŠdmŒÿYÁÿ[ôÿ÷ÿé²
ÿIÿMÿO§ÿTÿPuÿV°°yÿAÛxlí~í|änTkQÿ>_ÿH]ÿG[ÿIw;gYÿGeÿYs8kt;q}Le¢ww?hNjbÿ@kÿA]ÿAiÿGhÿ?®ÿO~ÿA±ÿUÕÿaÙceÛjhÜkjÝroàuá}ã
æ€ê²ïœ¡òDZôÿœTglÿ<ÿWÅyoÄtÁ|tœyvºww³ru®joÆÿ\ÜnöÿöÿÉ}eÿM ÿRÿW ÿQ£ÿZXÿA®¶mÿ=Úxiì{ï|åiÿdUÿC_ÿGXÿCbÿTpÿaaÿIbÿRfÿ[{EzzE{ekqÿcYteÿAqÿD_ÿAeÿBoÿ?µÿMÿBžÿUØÿ]ÜÿcÜÿdÜkgÞsoßzrà
zâä æ®íŒ£ñƲóÿœÛµ©]ÿ6ÿXÅ|qÅrÂ|sŒxu·sr°oqŽgfã |ôÂøÿò¿®ÿP¢ÿO±ÿV€ÿQ¢ÿRÿ_Oÿ8Š}·mÿ<Úwfí{î¡{ægÿZ^ÿHYÿ?UÿBxBpfÿTaÿKYÿCZÿIkÿd|J~dqpzLnjÿAnÿBeÿ@cÿBÿFÌÿWÿFŸÿTÚÿaÝÿcÜÿbÜÿdÝpkÞwoàxáãå«ë¹£ïŲðÿ»ôÿ¿tÿQªÿXÆuÂ~tÀ{s»wrŽrpjlÇ|n÷ÿ÷ÿøÿßhšÿJªÿNµÿUÿQ¢ÿ[ÿ]Kÿ6 uºsÿBÙteë|è}ápBeWÿCZÿ@`ÿLeÿRgÿQ`ÿKXÿC]ÿMhÿZl8mpOzNq}ÿdÿ_~ÿVhÿ@nÿ>²ÿMÐÿ\ÿGÇÿXÚÿaÞjfÝÿbÜÿ_ÜkeÝsmß~và|âäšè¶¢íÁ°ðÿžòÿ¿€qyµÿ\Ãu¿|s»yqºxrŽsrjkÕt÷ÿ÷ÿõÄÌÿW°ÿL°ÿN©ÿO¡ÿSÿ[ÿVNÿ9dx¹zÿI×ÿcìzì{ãoÿbXÿA[ÿFeÿN]ÿKaÿKZÿI[ÿH_ÿQkÿdtDycU
x?iaÿEhÿBnÿDbÿ>ÿAÃÿTÊÿ\ÿLÒÿ^ÝhfÞjfÞÿdÛÿbÜÿbÝpjÞzsßzáâ æ²êŸ®ïƶðÿœÔš¿ÿaŸ}tŸ}vœ|u»zu³tsµolÒÿdî²zøÿëªvÀÿQ«ÿMŠÿLÿM¢ÿXÿYÿ\Mÿ8Vož
ÿQÔÿ_ëyìzãk PeYÿD`ÿIWÿDaÿNbÿP_ÿJ[ÿFcÿSjÿclÿdj9el4egcÿA_ÿ<]ÿ:eÿ;¢ÿHÉÿW®ÿP€ÿQÙÿaÝjgàniàÿdÝÿaÜÿbÝojÞwoß~tß|á
ä¬èºšîŶðÿœñÿ»ºÿ_ÿR§ÿ_³om¶xt¶zvÇ~pÍÿ_Ùkúÿßÿb¯ÿL¢ÿMÿH ÿVÿVÿZÿNLÿ6Lg£ÿZÏÿ]éxí{æjÿc^ÿGWÿ@_ÿK_ÿM_ÿMcÿJXÿB[ÿKj5jcv<mz?hfÿJ]ÿ;Zÿ:Zÿ8ÿ@ŸÿOÅÿRÿDÇÿZÛÿaÞjgàlfàleßÿaÜÿ^ÜÿbÞrjÞ{oßxàã€æ¶€ìÂŽïÿ»óÿ¿ŽpsÿLÿHÿGÿKÿVÀtgÓfç©}öĺÿMÿCÿIÿSÿVÿXÿ]qÿA~ÿGUiÇ©¢\fÌÿ^èxì¡zÝkÿbYÿD]ÿF\ÿE[ÿHbÿMeÿNVÿBZÿD^ÿJuDtkO{Zÿ=Xÿ:Uÿ9iÿ:€ÿHÇÿQÿB¢ÿMØÿ\ÜÿbÞÿdßkgàmhàÿbÝÿ`Üÿ`ÜÿdÝwkßsà|ãå¯éŸ®íǹñÿŸÒÿU ÿUÿNsÿDVÿ;¬ÿ^é¬róœÖÿcÿ@ÿDÿQÿXÿPÿaÿUnÿ?ÿV¡kyÄš€¢mpÊÿ^éyí£zÔ|iÿaXÿC[ÿD]ÿFYÿEbÿPcÿS_ÿMdÿReÿThÿ\Mzu>fWÿ>Vÿ;Xÿ8ÿB®ÿHÿ@ÿFÑÿWÙÿ]ÝÿaÞÿdßjeàmfàngßÿdÜÿdÜÿaÝrgÞ{nßzáãŠæ·šëĶïÿŒìIJÿQ¡ÿWÿTÿO|ÿH·ÿ`ó¿Ðÿ^ÿA{ÿAÿKÿZÿLÿXQgÿQrÿFrÿIVlŸ¡šuwÈÿ\ézï€}ÜoqÿPWÿC_ÿI^ÿH`ÿOjÿZfÿY|CpeÿV_ÿTn3eYrÿbTÿ>Wÿ;cÿ7zÿ<ÿDºÿOÍÿWÓÿY×ÿ\Ûÿ_ÞÿaßkeànfàsjßohÝmeÝÿbÜÿdÝxlÞwáâ ä° è¿±íÿœðÿŒ¢ÿcÿTÿZÿ\¢ÿ[¹ÿ\ÂÿbÿKÿFÿKÿ^ÿJÿKViÿdtÿFmÿCcÿBzÿ[Ê«ŠŸÇÿ^ëzð€ÌzmeÿKYÿD_ÿIcÿOaÿRmÿ_]ÿR
QcÿYlÿ_rÿbr;lr:fSÿ<dÿ7ÿ>¹ÿJÇÿOÏÿVÓÿWÕÿXØÿZÜÿ]Ýÿ`ßÿaßkeàpiàrkßrjßqgÝriÞxkÞ~qà}áâšå·©ëÄ·ìÿ»ž~~ÿQÿ^¥]eµÿZ¶ÿUªÿS¯ÿUÿNÿXÿJÿHÿ` ]oÿSjÿ@jÿ=]ÿ=nÿRØ·«Ò«Çÿ`êxî¢~ÇunbÿGZÿCeÿOoÿTjÿXv>ijÿYv:iw?nt=hgÿQgÿUy@noÿRÿ<³ÿDÇÿMÍÿRÑÿUÒÿV×ÿXÙÿXÝÿ\Ýÿ\ßÿbàjeáphàpiàsiáwkßvjßznàsá}à
á£ä³£èŸ±ìǺ֊ÿUÿWªÿ`ÄÿZÂÿUÍÿXžÿRÿR
ÿVÿRÿX¬gsÿ\fÿ>iÿ@ÿK
\ No newline at end of file
diff --git a/milena/doc/outputs/accu-right-instantiation.txt b/milena/doc/outputs/ima-load.txt
similarity index 100%
copy from milena/doc/outputs/accu-right-instantiation.txt
copy to milena/doc/outputs/ima-load.txt
diff --git a/milena/doc/outputs/accu-right-instantiation.txt b/milena/doc/outputs/tuto3_first_routine.txt
similarity index 100%
copy from milena/doc/outputs/accu-right-instantiation.txt
copy to milena/doc/outputs/tuto3_first_routine.txt
diff --git a/milena/doc/outputs/accu-right-instantiation.txt b/milena/doc/outputs/tuto4_image.txt
similarity index 100%
copy from milena/doc/outputs/accu-right-instantiation.txt
copy to milena/doc/outputs/tuto4_image.txt
--
1.5.6.5
1
0
22 Mar '10
* doc/examples/split/ima2d-rot-1.cc.raw,
* doc/figures/fill-subdomain-2.ppm,
* doc/figures/fill-subdomain-3.ppm,
* doc/figures/labeling-compute-2.ppm,
* doc/figures/tuto3_colorize-2.ppm,
* doc/figures/tuto4_genericity_and_algorithms-1.ppm,
* doc/figures/tuto4_genericity_and_algorithms-5.ppm:
Regen
* doc/figures/tuto4_genericity_and_algorithms-7.pgm,
* doc/figures/tuto4_genericity_and_algorithms-7.ppm,
* doc/figures/tuto4_genericity_and_algorithms-8.pgm,
* doc/figures/tuto4_genericity_and_algorithms-8.ppm,
* doc/figures/tuto4_genericity_and_algorithms-9.pgm,
* doc/figures/tuto4_genericity_and_algorithms-9.ppm:
Delete.
* doc/outputs/ima-load.txt,
* doc/outputs/tuto3_first_routine.txt,
* doc/outputs/tuto4_image.txt:
New.
---
milena/ChangeLog | 24 ++++++++++++++++++++
milena/doc/examples/split/ima2d-rot-1.cc.raw | 4 +-
milena/doc/figures/fill-subdomain-2.ppm | Bin 206 -> 206 bytes
milena/doc/figures/fill-subdomain-3.ppm | Bin 206 -> 206 bytes
milena/doc/figures/labeling-compute-2.ppm | Bin 206 -> 206 bytes
milena/doc/figures/tuto3_colorize-2.ppm | Bin 191 -> 191 bytes
.../figures/tuto4_genericity_and_algorithms-1.ppm | Bin 12406 -> 12406 bytes
.../figures/tuto4_genericity_and_algorithms-5.ppm | Bin 12406 -> 12406 bytes
.../figures/tuto4_genericity_and_algorithms-7.pgm | 6 -----
.../figures/tuto4_genericity_and_algorithms-7.ppm | Bin 24696 -> 0 bytes
.../figures/tuto4_genericity_and_algorithms-8.pgm | 6 -----
.../figures/tuto4_genericity_and_algorithms-8.ppm | 6 -----
.../figures/tuto4_genericity_and_algorithms-9.pgm | 6 -----
.../figures/tuto4_genericity_and_algorithms-9.ppm | 6 -----
.../{accu-right-instantiation.txt => ima-load.txt} | 0
...t-instantiation.txt => tuto3_first_routine.txt} | 0
...ccu-right-instantiation.txt => tuto4_image.txt} | 0
17 files changed, 26 insertions(+), 32 deletions(-)
delete mode 100644 milena/doc/figures/tuto4_genericity_and_algorithms-7.pgm
delete mode 100644 milena/doc/figures/tuto4_genericity_and_algorithms-7.ppm
delete mode 100644 milena/doc/figures/tuto4_genericity_and_algorithms-8.pgm
delete mode 100644 milena/doc/figures/tuto4_genericity_and_algorithms-8.ppm
delete mode 100644 milena/doc/figures/tuto4_genericity_and_algorithms-9.pgm
delete mode 100644 milena/doc/figures/tuto4_genericity_and_algorithms-9.ppm
copy milena/doc/outputs/{accu-right-instantiation.txt => ima-load.txt} (100%)
copy milena/doc/outputs/{accu-right-instantiation.txt => tuto3_first_routine.txt} (100%)
copy milena/doc/outputs/{accu-right-instantiation.txt => tuto4_image.txt} (100%)
diff --git a/milena/ChangeLog b/milena/ChangeLog
index 5e7ce97..568d67f 100644
--- a/milena/ChangeLog
+++ b/milena/ChangeLog
@@ -1,5 +1,29 @@
2010-03-22 Roland Levillain <roland(a)lrde.epita.fr>
+ Regen documentation products.
+
+ * doc/examples/split/ima2d-rot-1.cc.raw,
+ * doc/figures/fill-subdomain-2.ppm,
+ * doc/figures/fill-subdomain-3.ppm,
+ * doc/figures/labeling-compute-2.ppm,
+ * doc/figures/tuto3_colorize-2.ppm,
+ * doc/figures/tuto4_genericity_and_algorithms-1.ppm,
+ * doc/figures/tuto4_genericity_and_algorithms-5.ppm:
+ Regen
+ * doc/figures/tuto4_genericity_and_algorithms-7.pgm,
+ * doc/figures/tuto4_genericity_and_algorithms-7.ppm,
+ * doc/figures/tuto4_genericity_and_algorithms-8.pgm,
+ * doc/figures/tuto4_genericity_and_algorithms-8.ppm,
+ * doc/figures/tuto4_genericity_and_algorithms-9.pgm,
+ * doc/figures/tuto4_genericity_and_algorithms-9.ppm:
+ Delete.
+ * doc/outputs/ima-load.txt,
+ * doc/outputs/tuto3_first_routine.txt,
+ * doc/outputs/tuto4_image.txt:
+ New.
+
+2010-03-22 Roland Levillain <roland(a)lrde.epita.fr>
+
Have doc/gen-figures-mk generate more Makefile bits.
* doc/gen-figures-mk: Generate Make variables PBM_FIGURES,
diff --git a/milena/doc/examples/split/ima2d-rot-1.cc.raw b/milena/doc/examples/split/ima2d-rot-1.cc.raw
index 74125b2..66b3e3f 100644
--- a/milena/doc/examples/split/ima2d-rot-1.cc.raw
+++ b/milena/doc/examples/split/ima2d-rot-1.cc.raw
@@ -18,7 +18,7 @@
// Draw the domain bounding box
draw::box(ima1, geom::bbox(ima1_), literal::red);
// Save the image, including its border.
- doc::ppmsave(ima1 | extended_domain, IMA1_PPM);
+ doc::ppmsave(ima1 | extended_domain, "ima2d-rot");
// Define and apply a point-wise rotation
fun::x2x::rotation<2,float> rot1(0.5, literal::zero);
@@ -31,4 +31,4 @@
}
draw::box(ima2, ima2.bbox(), literal::red);
- doc::ppmsave(extended_to(ima2, extended_domain), IMA2_PPM);
+ doc::ppmsave(extended_to(ima2, extended_domain), "ima2d-rot");
diff --git a/milena/doc/figures/fill-subdomain-2.ppm b/milena/doc/figures/fill-subdomain-2.ppm
index c2b8ad5041095b3cbe001c4cdf880dda6c44fc1c..31ae37215fdfc5fe715aef7117f676ee6066ab0f 100644
GIT binary patch
delta 94
wcmX@dc#d&Gd3Z;!CJ-^e02&u245BwgPXZz!W3}FM2p7Tza)AgU1r&h*00lu6X#fBK
delta 94
wcmX@dc#d&GdAMe82M{s902&u245BARZvY}7<GJ2y2p7Tza)AgU1r&h*00TJ{X#fBK
diff --git a/milena/doc/figures/fill-subdomain-3.ppm b/milena/doc/figures/fill-subdomain-3.ppm
index a59ff430a2ceecec3ffe82c0858b93d5020a8cf4..7955c51e4f6c5cfa01042b6357271bec005dae1b 100644
GIT binary patch
delta 52
bcmX@dc#d(xLfwvDO(0@`0c18%42=r_Gu#LD
delta 52
bcmX@dc#d(xLS4<?4j^KH0c18%42=r_FysgI
diff --git a/milena/doc/figures/labeling-compute-2.ppm b/milena/doc/figures/labeling-compute-2.ppm
index c2b8ad5041095b3cbe001c4cdf880dda6c44fc1c..31ae37215fdfc5fe715aef7117f676ee6066ab0f 100644
GIT binary patch
delta 94
wcmX@dc#d&Gd3Z;!CJ-^e02&u245BwgPXZz!W3}FM2p7Tza)AgU1r&h*00lu6X#fBK
delta 94
wcmX@dc#d&GdAMe82M{s902&u245BARZvY}7<GJ2y2p7Tza)AgU1r&h*00TJ{X#fBK
diff --git a/milena/doc/figures/tuto3_colorize-2.ppm b/milena/doc/figures/tuto3_colorize-2.ppm
index 391715375171f95fd9c18c45b748ce6691aff241..bd4fb052a3f7e2fa491ce4e97faf06ad2e38db45 100644
GIT binary patch
delta 82
tcmdnbxSw%CiT9imQ8?0jz7?5`%w+(BFew!a`8hzcM6?5lfD8zNZ~+608@m7i
delta 82
tcmdnbxSw%CiMMFU95~wgTo0Lz%w+%r6{)Z}@)kg{L$m~lfD8zNZ~^;{8@m7i
diff --git a/milena/doc/figures/tuto4_genericity_and_algorithms-1.ppm b/milena/doc/figures/tuto4_genericity_and_algorithms-1.ppm
index 92bbe61894b285a589b7af3bd82fd44dd1a96a0a..989d4604197e6645c92a2bfaa46a6b142e98b91f 100644
GIT binary patch
delta 236
zcmV<I02BZAVD@0J?hgaquAGzc54{87x~G$|5WNH5x~r3M5xoQ4wy2Xa61@Z5w55~r
z61@Z4u%(l+6TJiLv#FDD6ukrPxvi5i6}<!Tz_OF^6}<!Tz_63C7QF-Sxu}zI7rg`Q
zsF{;77`+3sU}ux@7`+35GE<YW8NCC;W_Xiv8odMCe1MZN8@&VHi-?o)8@&VGh=r4}
z9K8eGgMgE99lZnGe|(cM9)Ul8Jz-lHK6p7*+Mtu2U}#tnH)Iz+pgK&*OHbKYTi|17
m<8gB1c6Q``d*gq4*=B0cR9L@AQPEUd=%AL{czCn%9)%ISY;}eJ
delta 180
zcmeyC@GW7(JAP({{|u8q^6v%H8wDVAp&*1d6oSwnq4Y*!sJsYNUKA=1r8kN}<;9`$
r5>R<4y-^Y>F9nsChRQ?fjWSSqS*W~R<K%<<x|1*P3vK==*D44A*8oKb
diff --git a/milena/doc/figures/tuto4_genericity_and_algorithms-5.ppm b/milena/doc/figures/tuto4_genericity_and_algorithms-5.ppm
index e7bf28faa4d0213c2d901b053b81fa36318c13c0..dd6cc1dfa2dfcf8a8d5d8dfca97870c1e7c0605c 100644
GIT binary patch
literal 12406
zcmdUtzlt1Z5X2o{?!<`)?7)|-Y$F}UnL)xBWDvqAQMB@nk>GrHoEL-MK#3B?egh>+
z^cqU^5PA)_Dfm%zfAh`kde(mqF;rJqRo9I6!P&`Y!}sImc(dJ&=fjid!;jA{#>?&S
z)#l4#c)HtNe|ziJ)nCl!;^utZjMvY0+s!XG;kx(Who8P19*)0_+nb-C4%^G~;qLhR
zcyV?8>v*{v?r)!5Md;Pd^Wls85AWVPJvqBQoZUY8`p%t`7cWnn|32FPPdUqd&AX71
z6S$v-IDx)vt!+A5$Ae#Ct%kEXwX-w-@%~<Q3eUbm(>VLxmJ8lIe$^2-uRGcCYUN_^
ztg9o~D+F;9#FgNAHjiSIOk-2oAqi=M!;Er8U;-)43v)ebrbhHjKr^Hot1L7@>N&L)
zPg<3A7+kZUhE$7deCxd9&@iHhSqL!Bf)t2ee2f8jrfu@pabLYB;B5kwu>}V}ERxZI
z>l1#x`QQvLCzoK16@*<RIWan}TMt2*Ks47s=P^1ti*d~YqCzQ*g;fA;wQ}C^ztW%D
zsigBNxv=~Jzn^qVhn7G2hRVU{JS#{CeE9=@KT7sA$CT*<EG`o%#sy%&>iy$rgnOBN
zvD?7{@$|n`K1Sbi*Gb2!>WnbPwLm=)OfA1k|Ft@M&hh%k6%Y5Lt7AXZ{P+iafA4>c
z!en~+!2gT>l=rXHDgQUWe<b_G4%Wx)2(&^bz;o*3AKX9AMfg-7YNS?EdZiIaZGlet
z!}{x7vka%v(5k7gBnf~O`%?x$0Wll}AZUV=gA33vzwh_wobtVrRy?b~#bB2Sr{_P=
zKV6J5>WQRh2cWDu!5p=J^P;N8s?*t53JIpB&6Ypl_rtm7MLKxHJ|++^;Hdp|<?Z`-
zoO96c>|42laeLq;<@f#m^-8n9*Au2>TBXiDuG`=5>Pj@9E$@AVYYv+9F^|!oTLS(5
zE{@t7=^vvovg7qnN8_SCe(j%>j8v^mv;V@6pI(`8G6N(sMs4*9u0#yLI|bbCW!CEN
zcWI@gwZFvLy3sKqE|%pO{nNQPs#`q$CzL9AZEy-CC&23cIhueUrN1=3O0F2S6{vdp
zFZ}VOSB{a39D;G6tv_oSPs3YdJ!G%`ZUl2EK)uBlJwPkQDKCO%)RFqfQO?z#tmp<{
zH3d)t^a}mo58?{^khU<LvF5;FZvte1WArC{VF&a9WN`*ER*8?X|K;^|)diCp2G5nW
z@)3Izkf1b-O>w_})8ZuII+~uo1-re8rDT;xc!6W|=LDSrtU3U(gDL&G{nHgM5IAi+
zV={KU%lo7ByZuA`t>+}X+!(FGOSc4w70(FpLy!R9g4uQe;smOt7OSt2G|E&|Gyl;i
zpT{;<dM1td+QgY^amJOkE!$WHPUV9k%CShifZ&(N&{r|%IH62gQvcdkZ{hiz0C2)(
z-+cOqMz#)InXt>6IP}5GHPxTm0KcMG<#56U38T?nJ(DJlZb>+lBsBYr3|X_h>`L%t
zFR=Ugg^yU!r)_gYoPdj){SoZdKdxY`z&q5fGvv6%vBWP=-vsFNpDG_Nr74GGjZ;r#
z0j4y;dorVY5lr<DmzwX}zhBJD1fKe%o&>dd5=iF%3&C`nd#vMrd9NYY)DtBF7zf%u
ze)SreKzfn1Wh5#X#|SD|C?n7l@Hz-V?H{CG!R-~36D!A6>5P=lG;s}taS-0A{>|9U
zhqv(L1mhS1AhyDi!FK?GZb@W}orJpb^4bzka&-mchp;r2PLkONp8x*cBTq>9fc|Pu
T0R@Uo;dR8d1XO!sQu#jtoFK1O
literal 12406
zcmdUtv1%Px6h%|3cjLwbaS=7oNw9@+7qAHd2aE}BR6R!%Y)~Ze@(B13)TmMIKTxB_
zzv0Fo;ory!8y1^$@7$SrnU};yT=qR@pMBO`zZXXbUw1$DXZ>cq?N7Sb@4BDgp7v+!
z?z`2uUH4|Yy?FBA!TH~n)#>J>U-cJnx9in!o0xj`;-_DJ=w9}J^y|&9Z@Tr_N%yq>
zvp+q*_`N^dcF)(Z&m;7F^RD~m`OBxz4iAnVc1I5nzJK)S;PC3Q`uElRf7i#i@i%?0
zx|d?)gl?yOUftk#(VkkW>l>?j$|npBE(O`nscxtEKj(+DAx1x;I@^A<S>2DHJ~aH*
z?Otrms^w<%=v2cnD+F^@#FnUYR+lm;o32%7qew_q>^7*W2uvcSIWXIkXXuK5il~N^
zgQYDzQPerqRh_ib)~GNwD$0;@#68~iy6f<8#ZP6TU~p8VK>Vu5H3VnsrrGj3*Y63;
zRt3)JqC;R-k*f>$Cw>3!E3Yu+#VMM>QpC85<iyo=+4T^dNd&q6yw0E(M>SKUf~asx
zGeRqbx@vjd^?$+-c7pV}ASc4_@cT)-v}pRt8!CrEuhXLFf|uXn_oHM_a}7*eFyb~9
zRdE9vu{eJ$jc|vVt9=|T5vTu4@NxAnd%fsds9up~a4Au)h)M~+2>(*dp0hvx*y7>7
zbaCyAs*k_J`#b+WfXQ_D&|d^U@cv2-_<#8Rk?b2AT94T<sD({}bLjDR=8ts|KEwk?
zq8jomjX<y^8t}XEYh4wF)p($)`pY5-hz0q9K>(l%OA#2VBIPiJXv5Eaf7U7Ak<{WW
z4Q@ueO*)<b0)N^V*T7Q|&W6BQ=0s(${MC&@jaGx%TMCIvnKlZ)!|#W6)r~MXVOtZ(
zEMl+x+VcM1W7fH7GkaH4QStH6Q{d;mf4QZ~?|9NcrdDG1>$3d5S6hO76yABH%N#uE
zG55jGE{Qh3n*&={_~R;#ZGZe}X>8Qvm;A}e71Xj)<)8TY>5~a3Gej!JRb738J24}e
z9TGn7FiY|KUZ}LR<d<1pA9PKKn>Dfz{<JQZY8R*fgc6ctqf;O`Ar|LnX%fB^etEo=
zrsAruMCpfr;*TeNa$MQSA}TJ_^|OTWG-k_K51Ga9gJ>3oD0k7tk5G&2&@6^()Smcb
zDeFp3TCgE#4GEkGeM0;9gSiyGNL?z8YnelZ@v6Xv*atu16B+P_(1=$kMl03h+J1R`
zT{%T15k{RYspVJ3tAYfjF<3RX`Ku#dBwS0=>0PvsSGAn9(v`ZzKKNMyGlEt_V0JO&
zUzR^@ae&aN+qkB|#_V){oW8fcsNMCPq^A!CRm{Sc1hJ}fMff6$2=AilHU#D*%8?SR
z{DkDWyt9ozMOE`}53iydEuG1udP(Aya>Og{ENSURD|CX7ium;j9$N)dan#1r5Xqdb
zGT=}AC9S>!zXbmUWjM~8>tpHU(G^=Ms(vrVNL)2I#1A&Y7ghP)ko3^@Wb><!BptRk
zzdkB#Rrsin@_+ceau{uNjMS}O-S67XLQN-zS^T^S<1U5(+#^knkGPiY)yGdE61lE2
z48cd2_YY07riM;zA%;ApVel!}VHo0%mdNMwx4~d*+XOj<ACG|b@}uOMn*09g>3nt4
zIH^-{q3+}Rcd<$E6^+Lar}*OxO>Bxv*NHX)eVkbrVJP{ds88_mQt!YYA=+N1r3#SL
zskn&l5I=)1w(sw8oz8!Cc}G(d;lu2Zp?%z2z)TSiFTXw^G?~>L_;FTksYqs9C{we?
hw}&ajuRHLsZmuIC`1Pl>;PKcY-NsJcp%Cf`{x1*nX*B=<
diff --git a/milena/doc/figures/tuto4_genericity_and_algorithms-7.pgm b/milena/doc/figures/tuto4_genericity_and_algorithms-7.pgm
deleted file mode 100644
index de430d9..0000000
--- a/milena/doc/figures/tuto4_genericity_and_algorithms-7.pgm
+++ /dev/null
@@ -1,6 +0,0 @@
-P5
-# Generated by Milena 1.0 http://olena.lrde.epita.fr
-# EPITA Research and Development Laboratory (LRDE)
-64 64
-255
-ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ
\ No newline at end of file
diff --git a/milena/doc/figures/tuto4_genericity_and_algorithms-7.ppm b/milena/doc/figures/tuto4_genericity_and_algorithms-7.ppm
deleted file mode 100644
index f5973890ed9a13f8def9f639462726276f35e02f..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001
literal 24696
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
diff --git a/milena/doc/figures/tuto4_genericity_and_algorithms-8.pgm b/milena/doc/figures/tuto4_genericity_and_algorithms-8.pgm
deleted file mode 100644
index 437b8d7..0000000
--- a/milena/doc/figures/tuto4_genericity_and_algorithms-8.pgm
+++ /dev/null
@@ -1,6 +0,0 @@
-P5
-# Generated by Milena 1.0 http://olena.lrde.epita.fr
-# EPITA Research and Development Laboratory (LRDE)
-1 4
-65535
-²ÿÿUö²zÿÿPÕ²
ÿÿP¬±qÿÿPÄ
\ No newline at end of file
diff --git a/milena/doc/figures/tuto4_genericity_and_algorithms-8.ppm b/milena/doc/figures/tuto4_genericity_and_algorithms-8.ppm
deleted file mode 100644
index 89f9727..0000000
--- a/milena/doc/figures/tuto4_genericity_and_algorithms-8.ppm
+++ /dev/null
@@ -1,6 +0,0 @@
-P6
-# Generated by Milena 1.0 http://olena.lrde.epita.fr
-# EPITA Research and Development Laboratory (LRDE)
-64 64
-255
-âÿyáÿtßÿlÞÿnâÿpéÿwêÿtÍÿe¡ÿW¬ÿY°ÿV²ÿV±ÿUºÿXÄÿZËÿ\Íÿ`ÍÿbÌÿ_ÍÿaÐÿbÓÿaÐÿaÏÿcÐÿcÎÿeÌÿgÌÿ`ËÿcÎÿ_ÐÿaÏÿaÍÿcÌÿaÊÿbÊÿaÊÿbÈÿa¿ÿa±ÿYÁÿZØÿoÝÿqÜÿjÝÿnÞÿmÞÿhÞÿgÝÿjÝÿnçÿzùÿéÿ©ÿZžÿ]Œÿ]»ÿbÁÿ]Âÿ_Âÿ^ÃÿbÃÿ^¿ÿ^ÇÿiâÿmâÿlâÿkàÿiåÿnêÿréÿjÌÿZ¢ÿPÿR³ÿS²ÿQ²ÿPºÿVÄÿ\ÊÿZÍÿ[Íÿ_Ïÿ_Ïÿ]Ðÿ`Óÿ_Ñÿ_ÑÿaÐÿaÐÿaÏÿaÎÿ^Íÿ`Îÿ\ÐÿaÏÿ_Îÿ_Íÿ`Ëÿ^Ëÿ_Ëÿ_Êÿ_Âÿ`¶ÿZ²ÿYÑÿkßÿsàÿoáÿmâÿláÿiàÿhÞÿiÛÿkÛÿmõÿúÿÄÿg³ÿY»ÿ]Ÿÿ]¿ÿ]Áÿ]Äÿ]Æÿ^Éÿ`¡ÿR_ÿAáÿmãÿkâÿláÿnæÿqçÿoåÿkÌÿ_¡ÿN¯ÿNŽÿR±ÿP²ÿNŒÿTÄÿYÊÿYÎÿ]Ïÿ]Ðÿ_Ïÿ`Ñÿ^Òÿ`Òÿ`Òÿ^ÒÿaÑÿ`ÐÿaÏÿaÎÿ`Îÿ]ÑÿdÏÿbÎÿaÍÿ^Íÿ_Ìÿ]Íÿ_Íÿ^ÃÿaŒÿ\°ÿXÃÿdÛÿsâÿvãÿqäÿpâÿmâÿlÞÿjÛÿlÙÿkåÿuúÿïÿ±ÿY¹ÿ[¿ÿ\¿ÿ^ÀÿaÆÿbÏÿbÿP[ÿB]ÿ?âÿmåÿlãÿoåÿrçÿrâÿoæÿjÎÿW¡ÿJ®ÿN³ÿR±ÿPŽÿP»ÿRÅÿXÉÿZÍÿ[Íÿ]Ïÿ^ÎÿaÑÿ^Ñÿ_Óÿ]ÑÿaÒÿcÐÿZÎÿWÎÿ\Ìÿ[Ëÿ\Îÿ`ÏÿbÏÿbÌÿ]Ìÿ^Ìÿ\Íÿ\Íÿ^Åÿ`Ÿÿ]ŽÿXÁÿfÙÿuâÿwâÿtáÿoâÿjáÿlßÿmÝÿnÚÿlØÿióÿûÿ ÒÿpŽÿWŸÿ\Àÿ\Àÿ_ÉÿbÿO\ÿB\ÿ<dÿ?ãÿnäÿnæÿséÿqçÿlãÿlæÿiÎÿU¡ÿJÿO²ÿP°ÿO²ÿP»ÿTÄÿXÇÿZËÿ[Íÿ]Îÿ[Îÿ_Òÿ^Ïÿ`ÐÿcÑÿ^Òÿ`ÐÿZÊÿYÊÿXÊÿYÇÿYËÿ_ÌÿcÍÿeÌÿ_Îÿ^Ìÿ]Íÿ]Íÿ]Éÿ_Àÿ\·ÿYÂÿbÖÿpÞÿtàÿtßÿoàÿlàÿnàÿnßÿmÜÿnØÿißÿjùÿ÷ÿžÿbºÿWÀÿ]ÆÿbÿOZÿBaÿEdÿ@bÿ>äÿpåÿpèÿpæÿfçÿhåÿnçÿjÌÿVÿJÿO³ÿP±ÿO²ÿNŒÿTÆÿWÇÿYËÿYËÿ]Îÿ\Ðÿ`Ðÿ^Ðÿ_ÑÿaÑÿ^Ñÿ_Ðÿ^ÌÿcÈÿkÈÿqÅÿlÆÿ^Èÿ^Ëÿ`Ìÿ`ÍÿcÎÿ`Íÿ]Îÿ\Èÿ]¿ÿ\¹ÿZÂÿ_ÔÿlÚÿqÝÿtßÿoßÿnàÿkáÿlßÿjÚÿiÙÿeÖÿaðÿúÿ§áÿ~°ÿV»ÿ]ÿNZÿ>^ÿBeÿD`ÿ?]ÿ<æÿoéÿqåÿeÞÿ[åÿgæÿoèÿkÐÿVÿH¬ÿM³ÿQ±ÿN·ÿNÀÿTÊÿWËÿXÎÿYÎÿ\Ñÿ^Óÿ_Òÿ^Ðÿ^Òÿ^ÍÿhÈÿ}ÃÿÈÿÍÿÒÿÐÿÓÿÏÿÆÿsÄÿ\ÉÿdÍÿcÍÿ_Ìÿ]Èÿ\¿ÿ[·ÿYÀÿ]Öÿi×ÿmÚÿqÞÿqÞÿmßÿjàÿgÝÿeØÿe×ÿbÖÿbÝÿjøÿûÿ¥ÉÿhÿMXÿ>]ÿ?cÿCaÿB]ÿ=_ÿ;éÿpêÿm×ÿVÑÿVçÿjéÿmêÿkÑÿVÿG¥ÿMÿN°ÿLŽÿOŸÿTÇÿUÉÿYÍÿXÍÿZÑÿ\Ðÿ^ÏÿfÈÿtÀÿm¿ÿuÁÿvÆÿ}ÈÿÌÿÏÿÒÿÖÿÙÿ ÞÿšÑÿŸÿhÄÿ`Çÿ^Èÿ\ÂÿYŒÿWŽÿUÃÿ[ÙÿiÚÿkÚÿoÛÿrÞÿlÜÿeÜÿcÛÿcÙÿcØÿaÙÿ`×ÿaëÿ}ýÿ¬ÝÿWÿ>Zÿ?dÿBaÿA^ÿA]ÿ?`ÿ;íÿsäÿc®ÿIÊÿTèÿiêÿmêÿjÑÿSÿE ÿKªÿO¬ÿO°ÿQžÿRÂÿUÄÿVÈÿZÌÿ[ÏÿYÐÿ]Œÿ\œÿb»ÿf¿ÿoœÿqÂÿsÃÿ|Êÿ
ÒÿÕÿ×ÿÛÿ¡Ýÿ€Ýÿ¬ØÿŠœÿs¶ÿWŸÿX¿ÿYžÿY²ÿTÁÿ[ÝÿjßÿlÙÿmÖÿlÚÿkÛÿgÜÿbÝÿdÚÿcÙÿdÚÿeÚÿfÜÿkóÿ~ÿLVÿ>bÿAdÿB^ÿ@^ÿ@`ÿ?Xÿ9ëÿoÌÿTÿFÊÿVêÿjëÿqéÿgÎÿTÿD¢ÿMªÿS¬ÿQ®ÿP¶ÿTÀÿXÂÿVÈÿXËÿYÒÿ[ÆÿY»ÿVœÿ\ÁÿdÁÿhÄÿmÃÿqÅÿvÉÿ~Ïÿ×ÿÚÿÜÿ£Þÿ©Üÿ§Úÿ°àÿ¹ÊÿªÿWŽÿV²ÿU¯ÿVŸÿ]ßÿmäÿoÞÿlËÿ`Ëÿ_ÝÿjßÿdßÿeÜÿcÜÿeÝÿfßÿiáÿjÿIWÿ=`ÿ?dÿ>^ÿ>`ÿC_ÿDdÿFÿUàÿ`šÿJÿHÊÿWéÿiëÿoèÿiÍÿSÿF€ÿM¬ÿPÿR¯ÿR¶ÿTÀÿUÄÿXÉÿYÊÿYËÿX»ÿSœÿ\Ÿÿ_ŸÿaŸÿdÄÿlÆÿnÆÿrÌÿxÓÿÚÿÜÿ ØÿÙÿ¬àÿ·åÿ¿æÿŸëÿÅÉÿ¡ÿMªÿS§ÿT»ÿ[ÞÿjäÿláÿnÁÿYÿJÓÿfßÿhàÿeÝÿeÞÿgßÿfäÿk€ÿSWÿ;`ÿ?dÿA]ÿ>cÿ@\ÿDmÿRÿXÏÿu¿ÿMÿJÿGÉÿWçÿjëÿpèÿhÌÿSÿH£ÿO¬ÿQÿQ¯ÿQ·ÿRÀÿVÅÿWÉÿYÉÿY»ÿSºÿYŸÿ\¹ÿ\»ÿ`ÃÿfÉÿmËÿpÍÿsÍÿvÔÿ×ÿÓÿÞÿ±åÿœâÿ¹âÿžãÿŒåÿÁëÿʱÿwÿKÿPºÿXßÿlåÿnáÿpÄÿ`nÿ=±ÿVÝÿjàÿgÝÿeßÿhâÿhÎÿ`^ÿA_ÿ?gÿA^ÿ?cÿA]ÿ@fÿMÿeÄÿxËÿuÿJ£ÿJ ÿJÇÿUçÿjéÿtèÿlËÿWÿF£ÿM«ÿQ¬ÿO°ÿP·ÿQÁÿVÄÿWÊÿ[ÀÿXŒÿX»ÿXœÿ[Œÿ_ÂÿfÆÿlËÿoÍÿpÉÿoÌÿsÎÿ~Òÿàÿ¯âÿ³áÿŽÞÿ²áÿžâÿžâÿœäÿÀæÿĶÿÿD¶ÿTÞÿkäÿpâÿrÆÿ\hÿ>~ÿBÍÿ_áÿgÝÿcàÿiãÿizÿCYÿ<iÿCdÿ@bÿ@`ÿ@bÿFwÿYŸÿxÉÿzÕÿ~ ÿK¢ÿLÿKÆÿXåÿlèÿrçÿnËÿYÿJ¡ÿL«ÿOÿQ®ÿP·ÿRÀÿW¿ÿWÒÿbŽÿPºÿVœÿVŸÿ[ÁÿaÈÿlÌÿoÊÿoËÿpÁÿjÃÿwØÿàÿ€Þÿ§ÛÿšÞÿ¯âÿžãÿ¹âÿºâÿºáÿŒäÿÁéÿÇÿhÿNÝÿgäÿoâÿrÇÿ^nÿ?_ÿ7ÿFÔÿdÚÿjáÿi§ÿRYÿ=dÿ?gÿA`ÿAaÿAbÿAdÿJ·ÿwÄÿwÑÿ~ÕÿÿMÿKÿGÃÿVæÿlèÿrçÿoËÿZÿHÿK©ÿM©ÿOÿTµÿTœÿT¿ÿ\Öÿi³ÿTŒÿVŸÿVÁÿ]ÈÿeËÿlÊÿjÉÿjºÿfÅÿ}ÝÿÜÿÛÿÛÿàÿßÿ¯àÿ³Þÿ·ßÿžßÿ¹áÿœáÿÀåÿÅ×ÿ³ÿLÛÿhãÿmãÿqÆÿ^lÿ@Xÿ8ÿfÞÿ°åÿŸæÿ·_ÿF]ÿBgÿCdÿDbÿBcÿB]ÿ@¢ÿnÈÿyÏÿÔÿ~Ôÿ{ÿL¥ÿL€ÿIÄÿTæÿjêÿrèÿmÊÿVÿEÿJ¬ÿN¯ÿM°ÿN¶ÿQœÿUÑÿoÐÿ_°ÿSŒÿUŸÿWÅÿbÅÿbÂÿdÉÿdœÿ_ÏÿÜÿØÿÙÿÚÿÝÿ¥ÜÿŠÝÿªÜÿ¬àÿ³áÿŽàÿµÞÿžàÿŸßÿÀåÿɵÿvØÿfåÿnâÿnÀÿY\ÿ<ÿÙÿ«æÿ¿êÿÂðÿÉxÿf]ÿAeÿA`ÿ>]ÿ?dÿCÿ\Ëÿ|Íÿ}Õÿ}Ôÿ}Óÿ{©ÿM¬ÿN¬ÿKÇÿSåÿkêÿsêÿnÌÿYÿE¢ÿK¯ÿN³ÿNŽÿN»ÿQŸÿSàÿyÈÿW¯ÿQ·ÿUÁÿYÄÿ^ÄÿdÈÿfŸÿaÓÿy×ÿÖÿÛÿÜÿÛÿÚÿØÿÛÿ¡Þÿ©ßÿ¯ßÿ±Þÿ°Ùÿ©Ýÿ·ÞÿºÞÿŒÜÿ¿ÛÿwåÿeÞÿd¶ÿeÀÿÛÿ°åÿŒãÿžâÿºïÿÈ~ÿf_ÿCaÿ?_ÿ=dÿ?_ÿCÂÿ{Íÿ~Öÿ~Ôÿ|Óÿ|Óÿ{ÿOÿM®ÿLÎÿRæÿkëÿrìÿqÏÿXÿD£ÿL¯ÿN±ÿM²ÿKžÿNµÿPçÿ{ÈÿW³ÿTŽÿR»ÿVÄÿ^Åÿ_ÀÿdÒÿsÓÿxÍÿ{ØÿÚÿØÿÚÿ×ÿÚÿÜÿÛÿÜÿ¥Üÿš×ÿØÿšÛÿ³Üÿ²ÚÿŽ×ÿ²ÝÿŠâÿiÝÿßÿªÞÿ³âÿ¹àÿ¶âÿ·æÿÀîÿÆiÿV_ÿC_ÿ>^ÿ=fÿBÿeÐÿ}ÔÿÕÿ~Ôÿ{Òÿ|ÒÿzÿO¬ÿM°ÿKËÿSèÿkîÿsîÿsÑÿXÿC¥ÿI®ÿL¯ÿL¯ÿLµÿM±ÿNôÿ
Õÿ]ºÿS·ÿTŸÿVÅÿ^ÃÿbÑÿtÒÿrËÿqÔÿ}ÕÿØÿØÿ×ÿÛÿÛÿÙÿÚÿÚÿ ÙÿØÿ§Øÿ«ÙÿŠÖÿ£ÕÿŠÏÿ¡×ÿªßÿ€ßÿ¬ãÿŽáÿ¶ßÿ³âÿ¹ßÿ®åÿœäÿºWÿA`ÿA\ÿ>cÿ@ÿYÍÿ|ÐÿÖÿÕÿÓÿ~Òÿ|Ñÿ{ªÿNªÿM¬ÿKÈÿTèÿjíÿtìÿsÐÿYÿG¥ÿK¯ÿN¯ÿL°ÿK³ÿM²ÿPõÿßÿeÏÿX¶ÿQ»ÿWŸÿ]ÐÿmÏÿqÇÿkÔÿwÑÿzÑÿ|Õÿ
ÚÿÚÿÚÿÛÿØÿ×ÿ×ÿÙÿØÿ¢×ÿ×ÿ¡ÓÿÑÿÙÿÜÿšáÿ²àÿ°Þÿ²ßÿŽáÿ·àÿ®ÔÿÚÿ³ÿYÿ@_ÿ?]ÿ<fÿJ¯ÿpÐÿ}Ôÿ×ÿÕÿÓÿ~Óÿ}Ôÿ{šÿM§ÿJªÿLÌÿWèÿkëÿuìÿqÑÿZÿG¥ÿLÿM®ÿK¯ÿK±ÿK±ÿTôÿ{åÿgØÿ]ºÿSºÿWÏÿlÊÿjÃÿiÓÿqÎÿqÍÿwÓÿ{×ÿ×ÿ
Öÿ×ÿØÿÔÿ
ÕÿØÿØÿÖÿÔÿÏÿ×ÿÝÿàÿšßÿ«Ýÿ¬Ýÿ¯àÿ¶àÿžäÿŒÔÿÎÿØÿzÿ]\ÿ?\ÿ?aÿAÿbÏÿ|ÑÿÔÿÓÿ~ÒÿÒÿ}Òÿ|Òÿ|ªÿN©ÿN³ÿMÑÿWéÿkìÿtíÿpÒÿ\ÿC¢ÿL¬ÿMÿK¯ÿK¯ÿI³ÿW÷ÿéÿmáÿ`ÈÿVÉÿcÇÿiÁÿhÑÿnËÿmÈÿqÎÿuÓÿ|¿ÿ}µÿ~¯ÿŸÿžÿ~ÏÿÍÿÏÿŒÿÆÿÏÿÜÿàÿ€áÿ§Úÿ¥Ûÿ®Þÿ±áÿ¶âÿ¹ãÿ»Þÿ©»ÿo±ÿfÒÿTÿ<^ÿAbÿCeÿJ»ÿuÐÿ|ÕÿÔÿ~Òÿ}Òÿ}Ñÿ{Ðÿ|Ðÿ{¬ÿPªÿP·ÿNÖÿVêÿkíÿtîÿqÕÿ[ÿD¡ÿJ¬ÿM°ÿM±ÿK²ÿH°ÿOøÿðÿsÙÿXÈÿYÀÿ_ºÿdÏÿkÈÿiÆÿjÉÿmÏÿuŸÿz¶ÿy¢ÿo
ÿp²ÿÿ~ÿyÿnhÿQ_ÿSŠÿ|ØÿáÿŠßÿ©Þÿ«Úÿ«Þÿ±àÿ³ãÿ¶ßÿ®ÆÿšÿW£ÿWÖÿÿb\ÿ>\ÿ>aÿ?~ÿYÍÿ|ÒÿÔÿÔÿÒÿÐÿÏÿ|Îÿ|Ðÿy°ÿR®ÿMžÿNÖÿUéÿlìÿsíÿqÔÿZÿE£ÿJ¬ÿK¯ÿL°ÿL°ÿI¥ÿGòÿóÿxÒÿ`Íÿgµÿ]ÍÿiÅÿjÆÿhÇÿlÎÿnŒÿrºÿwÿu}ÿdmÿYÿ}ÿt}ÿtgÿbRÿHŠÿtÓÿÝÿÝÿ©Üÿ€ÜÿšÚÿ«Ýÿ±ÞÿÆÿ¡ÿT£ÿVÀÿmÝÿÿZ]ÿ>aÿ>`ÿ?_ÿH¯ÿpÍÿ}ÕÿÕÿÓÿÑÿÏÿÐÿ}Îÿ}Îÿ}²ÿU°ÿQ¶ÿKÓÿVéÿkëÿsíÿpÖÿ[ÿE¢ÿJ«ÿL®ÿLÿL±ÿJªÿIØÿwöÿÜÿoÅÿ_ÉÿhÄÿfÂÿgÄÿhÃÿnÀÿmŠÿjwÿakÿX_ÿHyÿjsÿ\~ÿyhÿckÿhµÿsÖÿÚÿ×ÿ ÖÿØÿÜÿ¥Üÿ«ºÿ
ÿj¡ÿ|Öÿ{åÿyèÿÿ\]ÿ=dÿ@`ÿ>cÿ>rÿSÊÿzÓÿÖÿÕÿÓÿÑÿÏÿÎÿÍÿÌÿ}ŽÿU°ÿR±ÿKÎÿRéÿmìÿuîÿrØÿ]ÿE ÿIªÿL®ÿK¯ÿKŽÿL¶ÿLŽÿVôÿèÿ{Ãÿ]ÅÿiÀÿgÀÿsÃÿs¿ÿmÿ_xÿeeÿUsÿc[ÿGoÿWjÿQmÿdwÿ{ÿØÿÝÿ¥ÔÿÔÿÒÿÔÿ¢Ûÿ¥ÛÿÿUÿn¢ÿ~ÒÿäÿÿN\ÿ:eÿ>eÿA^ÿ<cÿCÿfÃÿxØÿÕÿÕÿÔÿÒÿÐÿÏÿÌÿÌÿ}ŽÿU±ÿQ¬ÿKÆÿQçÿmìÿvïÿsØÿ]ÿDÿHªÿMÿL®ÿLµÿNœÿR°ÿLàÿîÿÈÿ`¹ÿcÀÿlÃÿlžÿrÿerÿY|ÿg`ÿOuÿfhÿQ`ÿDfÿPuÿeÿœÿÙÿÓÿÑÿÒÿÒÿâÿšëÿ©ìÿ§ÂÿbÿYÿsÅÿÿFZÿ=gÿ>jÿBaÿ=aÿ;lÿM°ÿpÄÿ|ÖÿÔÿÔÿÔÿÒÿÑÿÐÿÎÿ~Ìÿ|°ÿV¯ÿRªÿJÁÿTæÿoìÿwîÿvÙÿ`ÿEÿL¬ÿO°ÿP°ÿM¶ÿPÀÿUºÿOÞÿàÿr»ÿYŒÿcÅÿfÄÿh
ÿQoÿRZÿClÿZlÿ[hÿ]|ÿqZÿBeÿIªÿsŽÿØÿØÿ ÌÿÒÿØÿèÿ¡íÿ¬îÿñÿ¯ÚÿusÿBÿZÂÿiÿA`ÿ=iÿ@lÿE^ÿ;`ÿ=ÿ^ºÿsÊÿ|ÒÿÔÿÓÿÔÿÔÿÑÿÑÿÐÿ~Îÿ{±ÿR¯ÿP©ÿLÀÿTæÿnìÿxîÿu×ÿaÿJ¡ÿK¯ÿR±ÿR±ÿO»ÿTÄÿXÃÿSÌÿh×ÿn¿ÿXÆÿdžÿd|ÿOeÿFiÿReÿK_ÿGfÿRzÿptÿjXÿA»ÿnÙÿÃÿÑÿ¡ÓÿÑÿßÿèÿìÿŠîÿñÿ²ôÿ·ëÿÿBdÿEžÿlÿIfÿAkÿEjÿC_ÿ<_ÿB®ÿnÆÿxÎÿÉÿ}Éÿ}Ìÿ}Îÿ~ÑÿÐÿÐÿÐÿ|Ïÿ{±ÿRÿOšÿJ¿ÿSæÿqëÿxíÿuÖÿbÿL¡ÿPÿR³ÿR³ÿQŒÿTÄÿVÄÿUÆÿVÌÿ]ÍÿeŒÿvÿRhÿYZÿFjÿUgÿNcÿMdÿNlÿ^cÿUÿgÕÿÛÿÅÿÔÿ ÔÿàÿçÿêÿíÿŠîÿ«ñÿ°ôÿžñÿЬÿNWÿ?®ÿ|uÿKgÿDkÿFdÿAbÿ>tÿRÀÿtÏÿÑÿÎÿÍÿÊÿ}Áÿ}Áÿ|Äÿ~Éÿ{Ìÿ|Ðÿy°ÿOÿNªÿKŸÿUäÿsìÿzíÿwØÿ_ÿJ ÿO®ÿS±ÿS³ÿQŒÿQÈÿUÎÿ^·ÿXšÿY¿ÿ~£ÿXlÿ`kÿe[ÿCoÿX\ÿBeÿOhÿZ`ÿQÿ[ÌÿØÿ×ÿÒÿ»ÿjÊÿpÜÿéÿëÿíÿíÿ£ïÿšóÿ°ïÿ §ÿPXÿ<ÿoÿYkÿJmÿHaÿ@_ÿAÿgÀÿuÓÿ~ÑÿÐÿ}ÑÿÐÿÉÿ}Ãÿ}Àÿ~Ÿÿ|¿ÿ{Äÿx¯ÿR¯ÿQ«ÿKœÿRæÿqíÿyïÿzÙÿaÿL¡ÿO¯ÿS±ÿP²ÿM¹ÿPÅÿYÙÿk€ÿ\ÿb§ÿWwÿ_lÿcuÿn\ÿJaÿOdÿJ_ÿFjÿ[sÿOÊÿ|ÞÿÕÿÑÿËÿeËÿhÂÿb¢ÿMÂÿeæÿìÿíÿ ìÿÌÿtÿZ¡ÿJbÿ=ÿcÿcmÿHhÿDbÿ@fÿG²ÿrÈÿxÕÿ|Ñÿ|Ðÿ{Îÿ}Ïÿ|Ëÿ{Éÿ}ÈÿÃÿŒÿŽÿz«ÿOªÿN£ÿHžÿOæÿnîÿvîÿxÚÿaÿF¡ÿI°ÿN±ÿJ®ÿI¿ÿi×ÿnÞÿnœÿf{ÿNlÿa{ÿvÿz]ÿOkÿ\Vÿ@pÿdaÿDUÿ=¶ÿnÝÿàÿ«ÉÿÿAwÿ<oÿ>~ÿNÿJÒÿaßÿsìÿñÿ§²ÿgÿJuÿAuÿ?cÿ;
ÿ\¢ÿlnÿIcÿ>bÿ?rÿO¿ÿtÐÿzÒÿzÐÿyÑÿyÏÿzÏÿzÌÿyÉÿ|ÇÿÁÿ~»ÿ~µÿ|ªÿOŠÿMÿF±ÿLæÿnîÿyîÿ{Úÿ_ÿFšÿK³ÿL²ÿM¢ÿG¯ÿjÜÿœÿbyÿMjÿ^iÿ[hÿaÿ
XÿC\ÿGhÿP\ÿ>XÿAÿYÌÿÜÿ¢Öÿ¯ÿU}ÿ?ÿTÿ^ßÿ¹²ÿ\ÇÿWÛÿjíÿÛÿÿSÿiÿjgÿ7^ÿ;ÿZ©ÿtsÿLaÿ=_ÿ?ÿaÆÿvÒÿ{ÐÿzÏÿxÏÿxÏÿxÏÿyËÿxÅÿ{Àÿ|žÿz°ÿx·ÿ}®ÿQšÿMÿF¯ÿLæÿnïÿ{ðÿ|Ýÿb¢ÿH±ÿLœÿRÿIÿfÂÿ°ÿykÿ^rÿngÿ]lÿfyÿxÿhÿYYÿ=`ÿA\ÿ=]ÿAŸÿwÛÿÒÿÇÿbÖÿmÊÿkÄÿhÈÿØÿØÿ{Ñÿ`Øÿgíÿ¡ÛÿÃÿxœÿÿN|ÿ>aÿA}ÿX¯ÿ|tÿL_ÿ=fÿB¯ÿnÉÿzÐÿzÍÿxÌÿyÍÿ}ÌÿzÌÿxÆÿv¿ÿwžÿx¿ÿzÔÿâÿ«ÿOÿKÿB§ÿHäÿpïÿ{òÿßÿa£ÿE°ÿJ¿ÿOÄÿk·ÿz|ÿebÿPhÿb
ÿkÿdfÿ_{ÿÿmÿa[ÿ?]ÿ?Uÿ@ÿWÕÿÓÿ¶ÿRÕÿißÿ}áÿÞÿ~ÜÿÞÿÜÿ×ÿlÙÿeéÿèÿ°ÛÿÑÿk¹ÿVÿBfÿ=vÿS¹ÿnÿE`ÿ<oÿGŒÿrÎÿ|ÎÿzÌÿyËÿzÊÿxÈÿyÆÿwŸÿv·ÿuÑÿæÿ
èÿèÿ
ÿMÿHÿ@¢ÿHãÿoîÿ{ñÿ|Þÿa¡ÿD®ÿNÀÿl¶ÿÿtÿilÿ`ÿÿ~VÿEbÿWzÿwxÿwÿdaÿDWÿAiÿOÄÿuÛÿÿPÅÿTØÿgâÿzçÿèÿçÿæÿàÿ~ÜÿqÚÿcæÿëÿ¶ßÿÛÿoÑÿcÿIlÿApÿIÄÿeÿ<_ÿ;ÿVÃÿtÐÿ|Íÿ{Êÿ|ÉÿzÇÿxÃÿy¿ÿw·ÿtÒÿìÿìÿ
éÿéÿÿHÿEÿAÿGâÿpìÿ{ïÿ|ßÿbÿFªÿQŸÿWÿy
ÿx}ÿklÿiÿiÿ\\ÿDZÿDaÿJbÿ>šÿjwÿPOÿ; ÿZØÿÿmÿBËÿXÙÿcáÿræÿêÿéÿçÿáÿvÝÿmØÿ`ãÿíÿ»Þÿ
ÜÿtÔÿdÿEkÿ@lÿCÉÿdÿ@eÿ>«ÿ_Ìÿ{ÏÿyÌÿ{ÊÿyÆÿzÄÿxÁÿx¹ÿuÆÿxìÿíÿìÿëÿëÿÿKÿKvÿBÿGâÿoêÿ{îÿwßÿaÿE°ÿlžÿÿjÿoÿisÿzÿrÿh`ÿITÿ=~ÿK~ÿQ»ÿwÿQ_ÿ@ÂÿsÄÿWÿ<ÿBÇÿTÙÿaáÿoåÿ{èÿéÿçÿÞÿm×ÿdÔÿ[ßÿ|ðÿ¿ÝÿÛÿsÏÿ`qÿCrÿCgÿ?ÁÿrÿLfÿAÀÿkÑÿyÑÿwÌÿyÉÿzÄÿyÂÿwœÿv¹ÿsãÿ~ïÿíÿîÿîÿ¡ìÿÿKÿHtÿ<ÿBâÿoìÿ|ðÿyáÿ_ÿI®ÿg²ÿwÿhÿ{pÿnsÿwÿoÿi\ÿHYÿ?ÿV¥ÿ\xÿJVÿ<¥ÿeÇÿqÿK]ÿ<ÿFÄÿRØÿ_àÿjãÿtäÿyæÿ~äÿ{ÖÿeØÿcØÿbÝÿqòÿ¹Üÿ|ÙÿpžÿY[ÿ?uÿDfÿ;µÿx
ÿWyÿLËÿnÐÿzÍÿwËÿvÈÿyÅÿyÂÿw»ÿsÌÿxïÿïÿïÿîÿìÿìÿ¥ÿIÿDÿ>£ÿLâÿqëÿ}ðÿ|àÿf ÿR©ÿN°ÿjÿgÿwoÿqlÿjÿÿ\ÿEkÿDWÿD~ÿa[ÿ>xÿUÚÿÿhXÿ7dÿ> ÿLÈÿOÙÿ[àÿgãÿrãÿväÿ{ãÿzÙÿjÐÿX¿ÿQÑÿZèÿÛÿxÕÿk
ÿKZÿCxÿBkÿ;¢ÿoÿ^ÿYÏÿrÎÿzËÿxÉÿyÆÿyÄÿvÂÿu¹ÿsáÿ|ðÿðÿîÿíÿ¡ìÿŠìÿŠÿEÿD
ÿA·ÿ^ãÿwêÿyðÿ}áÿfÿHŠÿM»ÿopÿ]rÿinÿerÿpÿÿoÿ`ÿ\YÿG|ÿ^°ÿ}¬ÿe±ÿ}YÿBfÿFeÿB§ÿUÌÿUØÿ[Þÿeáÿmâÿtäÿ{äÿ}àÿwÝÿláÿyâÿåÿÚÿxÁÿc\ÿE_ÿFÿIpÿ>ÿbÿeŒÿdÐÿtÍÿzËÿxÇÿyÆÿyÃÿx¿ÿuŒÿqëÿ~ðÿ
ñÿîÿïÿ íÿ¥íÿªÿBÿ@ÿ?µÿbãÿxëÿyðÿ|áÿeÿDªÿZŽÿtyÿgvÿicÿYmÿbvÿr|ÿ}ÿ}ÿUyÿQ¶ÿÁÿ¥ÿbhÿFdÿ<pÿ?dÿ<¢ÿXÊÿSÙÿ[ÞÿcáÿjáÿjâÿráÿuÝÿtÞÿyêÿ¡éÿŠäÿÖÿuÿSZÿDfÿF
ÿGrÿ<ÿT®ÿnÎÿdÏÿvËÿzÈÿxÅÿzÃÿwÂÿwŸÿqÂÿqïÿ~ñÿñÿïÿîÿ¡íÿ«îÿ®xÿ?ÿ@ÿ?³ÿaâÿ{ëÿ}ðÿ}âÿeÿN¬ÿd°ÿmjÿ[iÿ[dÿ]zÿz{ÿwrÿp
ÿÿnÃÿÑÿ«ÿ`yÿVlÿ@bÿ:tÿAiÿ<ÿRŸÿLÙÿZÝÿ\áÿgàÿhËÿVÎÿYÔÿ^Ñÿ[Úÿa×ÿmÎÿhÇÿm_ÿD]ÿCnÿEÿGvÿ>rÿLŸÿrÒÿfÎÿxËÿxÇÿxÄÿyÃÿxÂÿvœÿrÅÿpñÿòÿñÿïÿîÿšíÿ®îÿmÿ@zÿ?ÿD¶ÿdãÿxìÿ|ïÿ|Üÿv¬ÿjšÿ`§ÿopÿ^ZÿJnÿiÿwÿzÿwÿs³ÿÙÿºÿn¢ÿj^ÿB_ÿ;fÿ<pÿ@mÿAÿKšÿHÏÿSÕÿYÜÿbáÿmÝÿbÖÿWßÿ]âÿzæÿãÿ×ÿrÿQ]ÿA]ÿ>pÿAÿIzÿDkÿFÌÿyÓÿnÍÿxÊÿyÉÿyÃÿxÁÿyÂÿwºÿrËÿrôÿñÿ ñÿ¡ïÿ¥ïÿªïÿšðÿ£gÿ>pÿ:ÿCŽÿ[âÿuìÿ}ïÿÞÿsÿH¯ÿrÿ^zÿi_ÿUjÿfÿÿwÿ{ÿÿÎÿÇÿq`ÿKdÿE`ÿAdÿBmÿBnÿB~ÿIÿC»ÿKÊÿTÖÿ^ÜÿiÞÿjÚÿaØÿ]ÚÿbÝÿmÛÿw¿ÿc]ÿA^ÿAfÿ@tÿAÿIÿEmÿHÑÿ|ÐÿsËÿxÉÿ{ÊÿyÄÿ{ÁÿyŒÿxµÿpËÿvöÿ£òÿ¢òÿ©ñÿšïÿîÿïÿbÿ=dÿ=ÿL»ÿ[àÿpìÿ|ïÿ~àÿiÿH¥ÿm{ÿ_mÿX`ÿW]ÿVÿÿÿÿÿ}ÇÿoÿN[ÿEgÿBaÿAcÿ@gÿ@oÿ?nÿ?xÿ@ÿ@»ÿLÒÿ\ØÿgÛÿmÝÿràÿxäÿãÿÚÿxÿHVÿBbÿDiÿ@vÿDÿJ
ÿDqÿEÒÿËÿsÊÿ{Æÿ}Çÿ|Ãÿ}œÿ|žÿxÿqÈÿ{öÿšóÿ€óÿ¥ñÿ€ñÿ¡ñÿòÿ_ÿ?\ÿ?ÿIŸÿZáÿqëÿ{îÿ|áÿfÿGÿ[fÿSpÿ]eÿWYÿRÿoÿqÿÿ¥ÿÿ_\ÿK]ÿFoÿDdÿ@bÿA`ÿ>kÿ?lÿ@pÿAvÿ=ÿ;¹ÿLÎÿ`×ÿnÞÿxåÿæÿãÿÌÿncÿCYÿKgÿGfÿ?{ÿIÿNÿFuÿGÒÿÅÿvÆÿ{Ãÿ~ÁÿÀÿ|¹ÿ{ŽÿxšÿpÑÿöÿ§óÿôÿ€óÿ òÿíÿÓÿt_ÿ@Xÿ={ÿB²ÿTáÿrêÿ{íÿ{Ûÿe€ÿmÿsaÿQlÿTfÿQTÿKÿwÿt}ÿ}ÿÿšÿdÿ\YÿF{ÿFcÿ@_ÿ@bÿ?bÿ?lÿBmÿAÿAÿH©ÿT»ÿ_Æÿi×ÿuÞÿ~ßÿÛÿÈÿznÿYZÿMdÿGaÿA|ÿJÿTÿLÿLÐÿ|®ÿ`Žÿfµÿr¹ÿwŒÿ|žÿ{¯ÿw£ÿnäÿöÿôÿõÿðÿÊÿlyÿEdÿ=ÿShÿAqÿ>ÿGÞÿléÿ{ëÿ~ßÿÿ]}ÿ_SÿEqÿWfÿSmÿZxÿwÿÿÿÿÿÿbÿSyÿFgÿF_ÿCaÿ@aÿ@hÿBkÿAzÿB¹ÿWÍÿ`ÎÿdÓÿkÙÿpØÿrØÿsàÿçÿèÿ§»ÿwÿ^Uÿ?{ÿJÿTÿKÿQËÿužÿjŽÿd¬ÿb€ÿ^£ÿ`€ÿf€ÿiÿhîÿõÿôÿòÿÉÿprÿBsÿAÿJ§ÿÿgÿG}ÿ>Úÿiêÿzìÿ~Þÿj°ÿuiÿNPÿ>}ÿohÿ_ÿp`ÿXÿ|ÿtÿyÿÿÿrÿlmÿDhÿDaÿC_ÿCbÿEfÿCwÿEqÿCŽÿUËÿ]Íÿc×ÿjÙÿlØÿnÜÿwâÿæÿéÿîÿ€îÿ¬ ÿlÿEÿNÿFÿUËÿuÂÿvŸÿt¹ÿs±ÿkŠÿaÿY¬ÿZÿQíÿöÿôÿÇÿjxÿBÿGÿLÿK¡ÿÿÿe{ÿ?Úÿkëÿ|ìÿyãÿu·ÿYÿC\ÿDeÿNnÿUiÿWjÿ[kÿeeÿ^pÿqÿÿ€ÿ}ÿylÿVfÿIeÿF^ÿGgÿHkÿGÿLrÿC¶ÿWÇÿ]ÕÿgÚÿjÚÿjÛÿoàÿzâÿäÿçÿìÿñÿŠóÿ޳ÿmÿA}ÿDÿXÇÿrÃÿy¿ÿwœÿxžÿv°ÿrŠÿmŒÿYÁÿ[ôÿ÷ÿéÿ
ÿIÿMÿO§ÿTÿPuÿV°ÿ°ÿyÿAÛÿlíÿ~íÿ|äÿnÿkQÿ>_ÿH]ÿG[ÿIwÿgYÿGeÿYsÿktÿq}ÿÿ¢ÿwÿhÿjbÿ@kÿA]ÿAiÿGhÿ?®ÿO~ÿA±ÿUÕÿaÙÿeÛÿhÜÿjÝÿoàÿuáÿ}ãÿ
æÿêÿïÿ¡òÿ±ôÿœÿglÿ<ÿWÅÿoÄÿtÁÿtœÿvºÿw³ÿu®ÿoÆÿ\ÜÿnöÿöÿÉÿeÿM ÿRÿW ÿQ£ÿZXÿA®ÿ¶ÿmÿ=Úÿiìÿ{ïÿ|åÿiÿdUÿC_ÿGXÿCbÿTpÿaaÿIbÿRfÿ[{ÿzzÿ{ÿÿqÿcÿteÿAqÿD_ÿAeÿBoÿ?µÿMÿBžÿUØÿ]ÜÿcÜÿdÜÿgÞÿoßÿràÿzâÿäÿæÿíÿ£ñÿ²óÿœÛÿ©]ÿ6ÿXÅÿqÅÿrÂÿsŒÿu·ÿr°ÿqŽÿfãÿ|ôÿøÿòÿ®ÿP¢ÿO±ÿV€ÿQ¢ÿRÿ_Oÿ8Šÿ·ÿmÿ<Úÿfíÿ{îÿ{æÿgÿZ^ÿHYÿ?UÿBxÿpfÿTaÿKYÿCZÿIkÿd|ÿ~ÿÿÿzÿnjÿAnÿBeÿ@cÿBÿFÌÿWÿFŸÿTÚÿaÝÿcÜÿbÜÿdÝÿkÞÿoàÿxáÿãÿåÿëÿ£ïÿ²ðÿ»ôÿ¿tÿQªÿXÆÿuÂÿtÀÿs»ÿrŽÿpÿlÇÿn÷ÿ÷ÿøÿßÿhšÿJªÿNµÿUÿQ¢ÿ[ÿ]Kÿ6 ÿºÿsÿBÙÿeëÿ|èÿ}áÿpÿeWÿCZÿ@`ÿLeÿRgÿQ`ÿKXÿC]ÿMhÿZlÿmÿÿzÿq}ÿdÿ_~ÿVhÿ@nÿ>²ÿMÐÿ\ÿGÇÿXÚÿaÞÿfÝÿbÜÿ_ÜÿeÝÿmßÿvàÿ|âÿäÿèÿ¢íÿ°ðÿžòÿ¿€ÿyµÿ\Ãÿu¿ÿs»ÿqºÿrŽÿrÿkÕÿt÷ÿ÷ÿõÿÌÿW°ÿL°ÿN©ÿO¡ÿSÿ[ÿVNÿ9ÿx¹ÿzÿI×ÿcìÿzìÿ{ãÿoÿbXÿA[ÿFeÿN]ÿKaÿKZÿI[ÿH_ÿQkÿdtÿyÿÿ
xÿiaÿEhÿBnÿDbÿ>ÿAÃÿTÊÿ\ÿLÒÿ^ÝÿfÞÿfÞÿdÛÿbÜÿbÝÿjÞÿsßÿzáÿâÿæÿêÿ®ïÿ¶ðÿœÔÿ¿ÿaŸÿtŸÿvœÿu»ÿu³ÿsµÿlÒÿdîÿzøÿëÿvÀÿQ«ÿMŠÿLÿM¢ÿXÿYÿ\Mÿ8ÿožÿ
ÿQÔÿ_ëÿyìÿzãÿk ÿeYÿD`ÿIWÿDaÿNbÿP_ÿJ[ÿFcÿSjÿclÿdjÿelÿeÿcÿA_ÿ<]ÿ:eÿ;¢ÿHÉÿW®ÿP€ÿQÙÿaÝÿgàÿiàÿdÝÿaÜÿbÝÿjÞÿoßÿtßÿ|áÿ
äÿèÿšîÿ¶ðÿœñÿ»ºÿ_ÿR§ÿ_³ÿm¶ÿt¶ÿvÇÿpÍÿ_Ùÿkúÿßÿb¯ÿL¢ÿMÿH ÿVÿVÿZÿNLÿ6ÿgÂÿÿZÏÿ]éÿxíÿ{æÿjÿc^ÿGWÿ@_ÿK_ÿM_ÿMcÿJXÿB[ÿKjÿjÿvÿmzÿhfÿJ]ÿ;Zÿ:Zÿ8ÿ@ŸÿOÅÿRÿDÇÿZÛÿaÞÿgàÿfàÿeßÿaÜÿ^ÜÿbÞÿjÞÿoßÿxàÿãÿæÿ€ìÿŽïÿ»óÿ¿ŽÿsÿLÿHÿGÿKÿVÀÿgÓÿfçÿ}öÿºÿMÿCÿIÿSÿVÿXÿ]qÿA~ÿGÿiÇÿ¢ÿfÌÿ^èÿxìÿzÝÿkÿbYÿD]ÿF\ÿE[ÿHbÿMeÿNVÿBZÿD^ÿJuÿtÿÿ{Zÿ=Xÿ:Uÿ9iÿ:€ÿHÇÿQÿB¢ÿMØÿ\ÜÿbÞÿdßÿgàÿhàÿbÝÿ`Üÿ`ÜÿdÝÿkßÿsàÿ|ãÿåÿéÿ®íÿ¹ñÿŸÒÿÿU ÿUÿNsÿDVÿ;¬ÿ^éÿróÿÖÿcÿ@ÿDÿQÿXÿPÿaÿUnÿ?ÿV¡ÿyÄÿ€¢ÿpÊÿ^éÿyíÿzÔÿiÿaXÿC[ÿD]ÿFYÿEbÿPcÿS_ÿMdÿReÿThÿ\ÿzuÿfWÿ>Vÿ;Xÿ8ÿB®ÿHÿ@ÿFÑÿWÙÿ]ÝÿaÞÿdßÿeàÿfàÿgßÿdÜÿdÜÿaÝÿgÞÿnßÿzáÿãÿæÿšëÿ¶ïÿŒìÿ²ÿQ¡ÿWÿTÿO|ÿH·ÿ`óÿÐÿ^ÿA{ÿAÿKÿZÿLÿXÿgÿQrÿFrÿIÿlŸÿšÿwÈÿ\éÿzïÿ}ÜÿoqÿPWÿC_ÿI^ÿH`ÿOjÿZfÿY|ÿpeÿV_ÿTnÿeÿrÿbTÿ>Wÿ;cÿ7zÿ<ÿDºÿOÍÿWÓÿY×ÿ\Ûÿ_ÞÿaßÿeàÿfàÿjßÿhÝÿeÝÿbÜÿdÝÿlÞÿwáÿâÿäÿ èÿ±íÿœðÿŒ¢ÿcÿTÿZÿ\¢ÿ[¹ÿ\ÂÿbÿKÿFÿKÿ^ÿJÿKÿiÿdtÿFmÿCcÿBzÿ[ÊÿŠŸÿÇÿ^ëÿzðÿÌÿmeÿKYÿD_ÿIcÿOaÿRmÿ_]ÿR
ÿcÿYlÿ_rÿbrÿlrÿfSÿ<dÿ7ÿ>¹ÿJÇÿOÏÿVÓÿWÕÿXØÿZÜÿ]Ýÿ`ßÿaßÿeàÿiàÿkßÿjßÿgÝÿiÞÿkÞÿqàÿ}áÿâÿåÿ©ëÿ·ìÿ»žÿ~ÿQÿ^¥ÿeµÿZ¶ÿUªÿS¯ÿUÿNÿXÿJÿHÿ` ÿoÿSjÿ@jÿ=]ÿ=nÿRØÿ«ÒÿÇÿ`êÿxîÿ~ÇÿnbÿGZÿCeÿOoÿTjÿXvÿijÿYvÿiwÿntÿhgÿQgÿUyÿnoÿRÿ<³ÿDÇÿMÍÿRÑÿUÒÿV×ÿXÙÿXÝÿ\Ýÿ\ßÿbàÿeáÿhàÿiàÿiáÿkßÿjßÿnàÿsáÿ}àÿ
áÿäÿ£èÿ±ìÿºÖÿÿUÿWªÿ`ÄÿZÂÿUÍÿXžÿRÿR
ÿVÿRÿX¬ÿsÿ\fÿ>iÿ@ÿK
\ No newline at end of file
diff --git a/milena/doc/figures/tuto4_genericity_and_algorithms-9.pgm b/milena/doc/figures/tuto4_genericity_and_algorithms-9.pgm
deleted file mode 100644
index 437b8d7..0000000
--- a/milena/doc/figures/tuto4_genericity_and_algorithms-9.pgm
+++ /dev/null
@@ -1,6 +0,0 @@
-P5
-# Generated by Milena 1.0 http://olena.lrde.epita.fr
-# EPITA Research and Development Laboratory (LRDE)
-1 4
-65535
-²ÿÿUö²zÿÿPÕ²
ÿÿP¬±qÿÿPÄ
\ No newline at end of file
diff --git a/milena/doc/figures/tuto4_genericity_and_algorithms-9.ppm b/milena/doc/figures/tuto4_genericity_and_algorithms-9.ppm
deleted file mode 100644
index 29c0860..0000000
--- a/milena/doc/figures/tuto4_genericity_and_algorithms-9.ppm
+++ /dev/null
@@ -1,6 +0,0 @@
-P6
-# Generated by Milena 1.0 http://olena.lrde.epita.fr
-# EPITA Research and Development Laboratory (LRDE)
-64 64
-255
-âyá
tßlÞnâpéwêtÍde¡ÿW¬ÿY°ÿV²ÿV±ÿUºÿXÄÿZËÿ\Íÿ`ÍÿbÌÿ_ÍÿaÐÿbÓÿaÐÿaÏÿcÐÿcÎgeÌggÌÿ`ËÿcÎÿ_ÐÿaÏÿaÍÿcÌÿaÊÿbÊÿaÊÿbÈÿa¿ÿa±ÿYÁÿZØzoÝqÜ~jÝnÞmÞhÞgÝjÝnç¢zùÿ鎩ÿZžÿ]Œÿ]»ÿbÁÿ]Âÿ_Âÿ^ÃÿbÃÿ^¿ÿ^ÇniâmâlâkàiånêréjÌÿZ¢ÿPÿR³ÿS²ÿQ²ÿPºÿVÄÿ\ÊÿZÍÿ[Íÿ_Ïÿ_Ïÿ]Ðÿ`Óÿ_Ñÿ_ÑÿaÐÿaÐÿaÏÿaÎÿ^Íÿ`Îÿ\ÐÿaÏÿ_Îÿ_Íÿ`Ëÿ^Ëÿ_Ëÿ_Êÿ_Âÿ`¶ÿZ²ÿYÑnkßsàoá
mâ
láiàhÞiÛkÛmõÃúÿÄtg³ÿY»ÿ]Ÿÿ]¿ÿ]Áÿ]Äÿ]Æÿ^Éÿ`¡ÿR_ÿAámãkâlánæqçoåkÌÿ_¡ÿN¯ÿNŽÿR±ÿP²ÿNŒÿTÄÿYÊÿYÎÿ]Ïÿ]Ðÿ_Ïÿ`Ñÿ^Òÿ`Òÿ`Òÿ^ÒÿaÑÿ`ÐÿaÏÿaÎÿ`Îÿ]ÑÿdÏÿbÎÿaÍÿ^Íÿ_Ìÿ]Íÿ_Íÿ^ÃÿaŒÿ\°ÿXÃÿdÛ~sâvãqäpâ
mâlÞjÛ~lÙ}kåuúÿÿY¹ÿ[¿ÿ\¿ÿ^ÀÿaÆÿbÏÿbÿP[ÿB]ÿ?âmå
lã
oårçrâoæ
jÎÿW¡ÿJ®ÿN³ÿR±ÿPŽÿP»ÿRÅÿXÉÿZÍÿ[Íÿ]Ïÿ^ÎÿaÑÿ^Ñÿ_Óÿ]ÑÿaÒÿcÐÿZÎÿWÎÿ\Ìÿ[Ëÿ\Îÿ`ÏÿbÏÿbÌÿ]Ìÿ^Ìÿ\Íÿ\Íÿ^Åÿ`Ÿÿ]ŽÿXÁ\fÙzuâwâtáoâjálßmÝnÚ~lØzióŒûÿ ÒpŽÿWŸÿ\Àÿ\Àÿ_ÉÿbÿO\ÿB\ÿ<dÿ?ã
nänæséqçlãlæ
iÎÿU¡ÿJÿO²ÿP°ÿO²ÿP»ÿTÄÿXÇÿZËÿ[Íÿ]Îÿ[Îÿ_Òÿ^Ïÿ`ÐÿcÑÿ^Òÿ`ÐÿZÊÿYÊÿXÊÿYÇÿYËÿ_ÌÿcÍceÌÿ_Îÿ^Ìÿ]Íÿ]Íÿ]Éÿ_Àÿ\·ÿYÂÿbÖspÞtà
tß
oàlànànßmÜ~nØyißjùÿ÷ÿžÿbºÿWÀÿ]ÆÿbÿOZÿBaÿEdÿ@bÿ>äpåpèpæfçhånçjÌÿVÿJÿO³ÿP±ÿO²ÿNŒÿTÆÿWÇÿYËÿYËÿ]Îÿ\Ðÿ`Ðÿ^Ðÿ_ÑÿaÑÿ^Ñÿ_Ðÿ^ÌÿcÈikÈqqÅmlÆÿ^Èÿ^Ëÿ`Ìÿ`ÍÿcÎÿ`Íÿ]Îÿ\Èÿ]¿ÿ\¹ÿZÂÿ_ÔolÚyqÝtßoßnàkálß}jÚxiÙueÖÿaðŽúÿ§á€~°ÿV»ÿ]ÿNZÿ>^ÿBeÿD`ÿ?]ÿ<æoéqåeÞÿ[ågæoèkÐÿVÿH¬ÿM³ÿQ±ÿN·ÿNÀÿTÊÿWËÿXÎÿYÎÿ\Ñÿ^Óÿ_Òÿ^Ðÿ^Òÿ^ÍbhÈu}Ã{ÈÍÒŠÐ¥ÓªÏÆssÄÿ\ÉÿdÍÿcÍÿ_Ìÿ]Èÿ\¿ÿ[·ÿYÀÿ]Öni×tmÚyqÞqÞ}mß}jà{gÝveØre×ÿbÖÿbÝjøÿûÿ¥ÉwhÿMXÿ>]ÿ?cÿCaÿB]ÿ=_ÿ;épêm×ÿVÑÿVçjémêkÑÿVÿG¥ÿMÿN°ÿLŽÿOŸÿTÇÿUÉÿYÍÿXÍÿZÑÿ\Ðÿ^ÏcfÈntÀbm¿kuÁpvÆz}ÈÌÏÒ¥Ö¬Ù² Þ¹šÑŸ_hÄÿ`Çÿ^Èÿ\ÂÿYŒÿWŽÿUÃÿ[ÙoiÚtkÚvoÛyrÞ{lÜueÜÿcÛÿcÙÿcØÿaÙÿ`×ÿaë¡}ýÿ¬Ý€Wÿ>Zÿ?dÿBaÿA^ÿA]ÿ?`ÿ;ísäÿc®ÿIÊÿTèiêmêjÑÿSÿE ÿKªÿO¬ÿO°ÿQžÿRÂÿUÄÿVÈÿZÌÿ[ÏÿYÐÿ]Œÿ\œÿb»]f¿ioœiqÂnsÃx|Ê
Òէ׬۳¡Ý¶€ÝŒ¬Ø³Šœos¶ÿWŸÿX¿ÿYžÿY²ÿTÁÿ[ÝqjßxlÙsmÖplÚtkÛsgÜÿbÝÿdÚÿcÙÿdÚreÚsfÜzkó¹~ÿLVÿ>bÿAdÿB^ÿ@^ÿ@`ÿ?Xÿ9ëoÌÿTÿFÊÿVêjëqégÎÿTÿD¢ÿMªÿS¬ÿQ®ÿP¶ÿTÀÿXÂÿVÈÿXËÿYÒÿ[ÆÿY»ÿVœÿ\ÁÿdÁchÄjmÃlqÅsvÉ~Ïקگ܎£Þ¹©Ü¹§Ú»°àĹʪÿWŽÿV²ÿU¯ÿVŸÿ]ßumä~oÞvlËÿ`Ëÿ_ÝujßÿdßseÜÿcÜqeÝsfßviázjÿIWÿ=`ÿ?dÿ>^ÿ>`ÿC_ÿDdÿFÿUàÿ`šÿJÿHÊÿWéiëoèiÍÿSÿF€ÿM¬ÿPÿR¯ÿR¶ÿTÀÿUÄÿXÉÿYÊÿYËÿX»ÿSœÿ\Ÿÿ_ŸÿaŸÿdÄhlÆknÆprÌxxÓکܯ ثَ¬à·åÿ¿æÿŸëÿÅÉ¡ÿMªÿS§ÿT»ÿ[Þsjä}láynÁÿYÿJÓffßshàreÝpeÞqgßqfäxk€ÿSWÿ;`ÿ?dÿA]ÿ>cÿ@\ÿDmÿRÿXÏ}u¿ÿMÿJÿGÉÿWç
jëpè
hÌÿSÿH£ÿO¬ÿQÿQ¯ÿQ·ÿRÀÿVÅÿWÉÿYÉÿY»ÿSºÿYŸÿ\¹ÿ\»ÿ`ÃbfÉlmËppÍssÍwvÔ×Ó Þº±åÿœâŹâÄžãÿŒåÿÁëÿʱqwÿKÿPºÿXßtlå}názpÄÿ`nÿ=±ÿVÝqjàrgÝoeßqhâshÎÿ`^ÿA_ÿ?gÿA^ÿ?cÿA]ÿ@fÿMCeÄwxË|uÿJ£ÿJ ÿJÇÿUçjétè
lËÿWÿF£ÿM«ÿQ¬ÿO°ÿP·ÿQÁÿVÄÿWÊÿ[ÀÿXŒÿX»ÿXœÿ[Œÿ_ÂafÆhlËnoÍqpÉmoÌssÎ~Ò໯âÀ³á¿ŽÞŒ²áÄžâÄžâÿœäÿÀæÿĶÿD¶ÿTÞtkä}pâ|rÆÿ\hÿ>~ÿBÍÿ_ásgÝÿcàqiãtizÿCYÿ<iÿCdÿ@bÿ@`ÿ@bÿFwÿYŸqxÉ~zÕ~ ÿK¢ÿLÿKÆÿXålèrç
nËÿYÿJ¡ÿL«ÿOÿQ®ÿP·ÿRÀÿW¿ÿWÒÿbŽÿPºÿVœÿVŸÿ[ÁÿaÈglÌooÊmoËmpÁcjÃrw؀ീ޵§Û³šÞ¹¯âÞãÄ¹âÆºâǺáÿŒäÿÁéÿÇXhÿNÝqgä}oâ{rÇÿ^nÿ?_ÿ7ÿFÔÿdÚtjáti§ÿRYÿ=dÿ?gÿA`ÿAaÿAbÿAdÿJ·kwÄvwÑ~ÕÿMÿKÿGÃÿVælèrç
oËÿZÿHÿK©ÿM©ÿOÿTµÿTœÿT¿ÿ\Özi³ÿTŒÿVŸÿVÁÿ]ÈaeËilÊijÉijº[fÅx}ݚܧ۪۫à¹ß»¯àŸ³ÞÀ·ßžßùáÿœáÿÀåÿÅל³ÿLÛphã|mã|qÆÿ^lÿ@Xÿ8MfÞœ°åÿŸæÅ·_ÿF]ÿBgÿCdÿDbÿBcÿB]ÿ@¢XnÈxyÏÔ~Ô{ÿL¥ÿL€ÿIÄÿTæjêrè
mÊÿVÿEÿJ¬ÿN¯ÿM°ÿN¶ÿQœÿUÑ{oÐÿ_°ÿSŒÿUŸÿWÅÿbÅÿbÂÿdÉÿdœÿ_ÏÜØÙ¡Ú€Ý±¥Ü±ŠÝŽªÜµ¬àŒ³á¿ŽàÀµÞÞàÿŸßÿÀåÿɵpvØnfånâ}nÀÿY\ÿ<rÙ·«æÿ¿êÿÂðÿÉxIf]ÿAeÿA`ÿ>]ÿ?dÿCÿ\Ë{|Í}Õ}Ô}Ó{©ÿM¬ÿN¬ÿKÇÿSåkêsênÌÿYÿE¢ÿK¯ÿN³ÿNŽÿN»ÿQŸÿSàyÈÿW¯ÿQ·ÿUÁÿYÄÿ^ÄÿdÈbfŸÿaÓ~y×ÖÛÜ¥Û§Ú©Ø£Û«¡Þީ߹¯ßŒ±Þœ°Ù²©ÝÀ·ÞĺÞÅŒÜÅ¿Ûwå}eÞÿd¶^eÀÛ»°åÿŒãÆžâÆºïÿÈ~Mf_ÿCaÿ?_ÿ=dÿ?_ÿCÂq{Í~~Ö~Ô|Ó|Ó{ÿOÿM®ÿLÎÿRækërìqÏÿXÿD£ÿL¯ÿN±ÿM²ÿKžÿNµÿPç{ÈÿW³ÿTŽÿR»ÿVÄÿ^Åÿ_ÀÿdÒvsÓ|xÍ{{ØÚØÚ¢×ڡ܊ۚܯ¥Ü±š×©Ø²šÛŒ³Üº²Ú»Ž×¹²Ý±Šâ}iÝß»ªÞÀ³âǹàöâÄ·æÿÀîÿÆiÿV_ÿC_ÿ>^ÿ=fÿBKeÐ|}ÔÕ~Ô{Ò|ÒzÿO¬ÿM°ÿKËÿSèkîsîsÑÿXÿC¥ÿI®ÿL¯ÿL¯ÿLµÿM±ÿNôŽ
Õÿ]ºÿS·ÿTŸÿVÅÿ^ÃÿbÑstÒtrËpqÔ~}ÕØØ×ÛÛÙÚ€Ú© Ù§Ø®§Ø³«Ù®ŠÖ©£ÕŠÏ¥¡×Žªßµ€ßŒ¬ãÃŽá¶ßÀ³âĹߺ®åÿœäÿºWÿA`ÿA\ÿ>cÿ@ÿYÍv|ÐÖÕÓ~Ò|Ñ{ªÿNªÿM¬ÿKÈÿTèjítìsÐÿYÿG¥ÿK¯ÿN¯ÿL°ÿK³ÿM²ÿPõŽßzeÏÿX¶ÿQ»ÿWŸÿ]ÐkmÏqqÇhkÔzwÑyzÑ{|Õ
ÚÚÚÛØ××ـة¢×¥×€¡ÓÑٮܶšáÀ²àŸ°ÞŸ²ßÀŽá÷໮ÔÚ©³Yÿ@_ÿ?]ÿ<fÿJ¯]pÐ|}Ô×ÕÓ~Ó}Ô{šÿM§ÿJªÿLÌÿWèkëuìqÑÿZÿG¥ÿLÿM®ÿK¯ÿK±ÿK±ÿTô¯{ågØÿ]ºÿSºÿWÏjlÊgjÃbiÓrqÎpqÍvwÓz{××
ÖרÔ
ÕØØÖÔÏסݮບߌ«Ýž¬Ý»¯àÁ¶àÞäÿŒÔÎØzÿ]\ÿ?\ÿ?aÿAÿbÏ{|ÑÔÓ~ÒÒ}Ò|Ò|ªÿN©ÿN³ÿMÑÿWékìtípÒÿ\ÿC¢ÿL¬ÿMÿK¯ÿK¯ÿI³ÿW÷ºémáÿ`ÈÿVÉÿcÇciÁ_hÑmnËjmÈiqÎruÓx|¿k}µd~¯fŸvžn~ÏÍÏŒvÆÏÜ¥àŽ€áº§ÚŽ¥Û¹®ÞŸ±á¶âùãǻ޶©»oo±\fÒ§Tÿ<^ÿAbÿCeÿJ»huÐ||ÕÔ~Ò}Ò}Ñ{Ð|Ð
{¬ÿPªÿP·ÿNÖÿVêkítîqÕÿ[ÿD¡ÿJ¬ÿM°ÿM±ÿK²ÿH°ÿOøÀð¢sÙÿXÈÿYÀÿ_ºÿdÏikÈeiÆcjÉgmÏouŸez¶`y¢Mo
>p²tQ~Dy?nhÿQ_ÿSŠl|Ø á¶Šß¹©Þº«Úž«ÞŸ±àÀ³ãĶ߻®ÆšÿW£ÿWÖÿb\ÿ>\ÿ>aÿ?~ÿYÍy|ÒÔÔÒÐÏ|Î
|Ðy°ÿR®ÿMžÿNÖÿUélìsíqÔÿZÿE£ÿJ¬ÿK¯ÿL°ÿL°ÿI¥ÿGò¹ó©xÒÿ`Íhgµÿ]ÍeiÅbjÆ`hÇdlÎinŒ\rº]wHu}ÿdmÿYN}=t}AtgÿbRÿHŠjtÓݰݷ©ÜހܶšÚž«ÝŒ±Þ»Æ¡ÿT£ÿVÀjmÝÿZ]ÿ>aÿ>`ÿ?_ÿH¯`pÍ~}ÕÕÓÑÏÐ}Î}Î}²ÿU°ÿQ¶ÿKÓÿVékësípÖÿ[ÿE¢ÿJ«ÿL®ÿLÿL±ÿJªÿIØwöŽÜoÅÿ_É`hÄ^fÂ[gÄ^hÃbnÀ]mŠNjwÿakÿX_ÿHy7jsÿ\~Dyhÿck8hµnsÖ Ú¬×« Ö«ØÜޥܹ«º
Sj¡b|Ö{åyè¢ÿ\]ÿ=dÿ@`ÿ>cÿ>rÿSÊwzÓÖÕÓÑÏÎÍÌ}ŽÿU°ÿR±ÿKÎÿRémìuîrØÿ]ÿE ÿIªÿL®ÿK¯ÿKŽÿL¶ÿLŽÿVôœè{Ãÿ]Å_iÀZgÀ^sÃ]s¿[mÿ_x5eeÿUsÿc[ÿGoÿWjÿQmÿdwI{`أݎ¥ÔªÔšÒ£Ô¢Û°¥ÛÿUOn¢d~ÒäÿN\ÿ:eÿ>eÿA^ÿ<cÿCNfÃtxØÕÕÔÒÐÏÌÌ}ŽÿU±ÿQ¬ÿKÆÿQçmìvïsØÿ]ÿDÿHªÿMÿL®ÿLµÿNœÿR°ÿLàîªÈÿ`¹ÿcÀ[lÃ]lžXr=erÿY|6g`ÿOu2fhÿQ`ÿDfÿPu2eSœÙ©Ó¥Ñ¢Ò¢Ò£â°šë³©ìާÂÿbÿYUsÅ}ÿFZÿ=gÿ>jÿBaÿ=aÿ;lÿM°epÄ}|ÖÔÔÔÒÑÐÎ~Ì|°ÿV¯ÿRªÿJÁÿTæoìwîvÙÿ`ÿEÿL¬ÿO°ÿP°ÿM¶ÿPÀÿUºÿOÞàr»ÿYŒÿcÅYfÄZh
ÿQoÿRZÿClÿZlÿ[hÿ]|@qZÿBeÿIª[sŽ~ةج ÌÒ¡Øè¬¡í¹¬î¹ñœ¯ÚyusÿBÿZÂ~iÿA`ÿ=iÿ@lÿE^ÿ;`ÿ=ÿ^ºpsÊ|ÒÔÓÔÔÑÑÐ~Î{±ÿR¯ÿP©ÿLÀÿTænìxîu×ÿaÿJ¡ÿK¯ÿR±ÿR±ÿO»ÿTÄÿXÃÿSÌnh×~n¿ÿXÆÿdžÿd|ÿOeÿFiÿReÿK_ÿGfÿRz:pt:jXÿA»gnÙÃÑ¥¡Ó¢Ñßè첊î»ñÀ²ôÆ·ëÿBdÿEžwlÿIfÿAkÿEjÿC_ÿ<_ÿB®dnÆ}xÎÉ}É}Ì}Î~ÑÐÐÐ|Ï{±ÿRÿOšÿJ¿ÿSæqëxíuÖÿbÿL¡ÿPÿR³ÿR³ÿQŒÿTÄÿVÄÿUÆÿVÌÿ]Í]eŒ_vÿRhÿYZÿFjÿUgÿNcÿMdÿNlÿ^cÿUZgÕÛ¥ÅÔŠ Ôà
çêí³Šîº«ñÀ°ôÇžñµŠ¬ÿNWÿ?®i|uÿKgÿDkÿFdÿAbÿ>tÿRÀstÏÑÎÍÊ}Á}Á|Ä~É{Ì|Ðy°ÿOÿNªÿKŸÿUäsìzíwØÿ_ÿJ ÿO®ÿS±ÿS³ÿQŒÿQÈÿUÎÿ^·ÿXšÿY¿f~£ÿXlÿ`k2e[ÿCoÿX\ÿBeÿOhÿZ`ÿQÿ[Ì
Ø×€ÒŠ»ejÊhpÜéëíªí²£ï¹šóÁ°ï² §ÿPXÿ<VoÿYkÿJmÿHaÿ@_ÿAPgÀtuÓ~ÑÐ}ÑÐÉ}Ã}À~Ÿ||¿z{Äzx¯ÿR¯ÿQ«ÿKœÿRæ
qíyïzÙÿaÿL¡ÿO¯ÿS±ÿP²ÿM¹ÿPÅÿYÙrk€ÿ\ÿb§ÿWwÿ_lÿcu<n\ÿJaÿOdÿJ_ÿFjÿ[sÿOÊ|ÞšÕÑËceËchÂÿb¢ÿMÂ[eæìí® ìšÌwtÿZ¡ÿJbÿ=ÿcÿcmÿHhÿDbÿ@fÿG²frÈ}xÕ|Ñ|Ð{Î}Ï|Ë{É}ÈÃŒ}Žrz«ÿOªÿN£ÿHžÿOæ
nîvîxÚÿaÿF¡ÿI°ÿN±ÿJ®ÿI¿ai×|nÞ{nœcf{ÿNlÿa{@vDz]ÿOkÿ\Vÿ@pÿdaÿDUÿ=¶inÝ๫ÉÿAwÿ<oÿ>~ÿNÿJÒÿaßpsìñž§²`gÿJuÿAuÿ?cÿ;
ÿ\¢XlnÿIcÿ>bÿ?rÿO¿rtÐzÒzÐyÑyÏzÏzÌyÉ|ÇÁ~»{~µv|ªÿOŠÿMÿF±ÿLænîyî{Úÿ_ÿFšÿK³ÿL²ÿM¢ÿG¯cjÜœÿbyÿMjÿ^iÿ[hÿaR
XÿC\ÿGhÿP\ÿ>XÿAÿYÌܯ¢Ö©¯ÿU}ÿ?ÿTÿ^ß·¹²ÿ\ÇÿWÛdjíÛÿSFiWjgÿ7^ÿ;ÿZ©btsÿLaÿ=_ÿ?ÿaÆyvÒ{ÐzÏxÏxÏxÏyËxÅ{À}|žvz°qx·|}®ÿQšÿMÿF¯ÿLænï{ð|Ýÿb¢ÿH±ÿLœÿRÿILfÂy°vykÿ^r8ngÿ]l0fy@x]hÿYYÿ=`ÿA\ÿ=]ÿAŸrwÛ€Ò¥ÇÿbÖfmÊ`kÄWhÈrØØu{Ñÿ`Ø_gí§¡ÛÃfxœmÿN|ÿ>aÿA}ÿX¯l|tÿL_ÿ=fÿB¯dnÉzÐzÍxÌyÍ}ÌzÌxÆ}v¿xwžux¿zÔ⬫ÿOÿKÿB§ÿHäpï {ò¡ßÿa£ÿE°ÿJ¿ÿOÄak·dz|:ebÿPhÿb
Ukÿdfÿ_{HSmÿa[ÿ?]ÿ?Uÿ@ÿWÕÓš¶ÿRÕ`ißx}á~Þ{~Ü{ÞÜ~×clÙZeéèž°Û|Ñak¹ÿVÿBfÿ=vÿS¹wnÿE`ÿ<oÿGŒorÎ|Î
zÌyËzÊxÈyÆ}wŸyv·suÑæ³
èŽè³
ÿMÿHÿ@¢ÿHãoî{ñ |Þÿa¡ÿD®ÿNÀXl¶gVt9ilÿ`OK~VÿEbÿWzCwxHwÿdaÿDWÿAiÿOÄsuÛ²ÿPÅÿTØ`gâwzçèçæà~~ÜkqÚÿcæëÀ¶ßÛioÑÿcÿIlÿApÿIÄeÿ<_ÿ;ÿVÃvtÐ|Í
{Ê|ÉzÇxÃ}y¿yw·stÒìºì¹
éŽéžÿHÿEÿAÿGâpì{ï|ßÿbÿFªÿQŸÿWOy
Ex}9kl2iTiÿ\\ÿDZÿDaÿJbÿ>šYjwÿPOÿ; ÿZØ¢cmÿBËÿXÙÿcápræêéçáyvÝkmØÿ`ãíÄ»Þ
ÜotÔÿdÿEkÿ@lÿCÉ
dÿ@eÿ>«ÿ_Ì{ÏyÌ{ÊyÆzÄ~xÁ|x¹tuÆxì¶ížìºëÀëÄÿKÿKvÿBÿGâoê{îwßÿaÿE°Rlžb@jRo5is>z`r9h`ÿITÿ=~ÿK~ÿQ»owÿQ_ÿ@ÂpsÄWÿ<ÿBÇÿTÙÿaákoå|{èéçÞom×ÿdÔÿ[ßv|ðÿ¿ÝÛlsÏÿ`qÿCrÿCgÿ?ÁyrÿLfÿAÀnkÑyÑwÌ
yÉzÄyÂ|wœxv¹ssãª~ïží¹îÅîÿ¡ìÄÿKÿHtÿ<ÿBâoì|ðyáÿ_ÿI®Lg²Vw7hF{p3ns?wao7i\ÿHYÿ?ÿV¥ÿ\xÿJVÿ<¥[eÇqÿK]ÿ<ÿFÄÿRØÿ_àfjãstä{yæ~ä{ÖbeØÿcØÿbÝmqòƹÜ|ÙjpžÿY[ÿ?uÿDfÿ;µlx
ÿWyÿLËxnÐzÍ
wËvÈyÅyÂ}w»tsÌxïºïžïÄîÿìÿìÿ¥ÿIÿDÿ>£ÿLâqë}ð|àuf ÿR©ÿN°Lj5gFwo;ql1jUa\ÿEkÿDWÿD~ÿa[ÿ>xÿUÚ `hXÿ7dÿ> ÿLÈÿOÙÿ[àcgãqrãvvä~{ãzÙfjÐÿX¿ÿQÑÿZè ÛxxÕfk
ÿKZÿCxÿBkÿ;¢]oÿ^ÿYÏrÎzËxÉyÆyÄ~vÂ{u¹rsá¢|ðºðÀîÇíÿ¡ìÿŠìÿŠÿEÿD
ÿA·ÿ^ãwêyð}áxfÿHŠÿM»Vopÿ]r3in4er6pTcoÿ`ÿ\YÿG|ÿ^°m}¬\e±{}YÿBfÿFeÿB§ÿUÌÿUØÿ[Þ`eálmârtä{{ä}àywÝilá{yâå ÚtxÁÿc\ÿE_ÿFÿIpÿ>ÿbSeŒÿdÐtÍzËxÇyÆyÃ~x¿zuŒuqë°~ðœ
ñÿîÿïÿ íÿ¥íÿªÿBÿ@ÿ?µÿbãxëyð|áyeÿDªÿZŽXty1gv;icÿYmÿbv=r|F}\}ÿUyÿQ¶tÁ¥ÿbhÿFdÿ<pÿ?dÿ<¢ÿXÊÿSÙÿ[ÞÿcáhjáijârrávuÝutÞzyꬡ鯊äÖnuÿSZÿDfÿF
ÿGrÿ<ÿT®cnÎÿdÏvË
zÈxÅzÃ}wÂ}wŸxqÂzqï·~ñÅñÿïÿîÿ¡íÿ«îÿ®xÿ?ÿ@ÿ?³ÿaâ{ë}ð}âyeÿN¬ÿd°Rmjÿ[iÿ[dÿ]zDz{Awr9p
WDnÃÑ£«ÿ`yÿVlÿ@bÿ:tÿAiÿ<ÿRŸÿLÙÿZÝÿ\áfgàjhËÿVÎÿYÔÿ^Ñÿ[Úÿa×imÎahÇcm_ÿD]ÿCnÿEÿGvÿ>rÿLŸorÒyfÎxËxÇxÄyÃxÂ|vœvrÅ}pñœòÿñÿïÿîÿšíÿ®îÿmÿ@zÿ?ÿD¶ÿdãxì|ï|Üyv¬Ojšÿ`§Nopÿ^ZÿJn2i[w@zKw?s³eÙºnn¢dj^ÿB_ÿ;fÿ<pÿ@mÿAÿKšÿHÏÿSÕÿYÜÿbáomÝÿbÖÿWßÿ]âjzæ~ãx×nrÿQ]ÿA]ÿ>pÿAÿIzÿDkÿFÌ~yÓ~nÍxÊyÉyÃxÁyÂ~wºurËrôÿñÿ ñÿ¡ïÿ¥ïÿªïÿšðÿ£gÿ>pÿ:ÿCŽÿ[â
uì}ï Þ|sÿH¯Vrÿ^z@i_ÿUj.fiWwC{akÎÇq`ÿKdÿE`ÿAdÿBmÿBnÿB~ÿIÿC»ÿKÊÿTÖÿ^ÜfiÞijÚÿaØÿ]ÚÿbÝ_mÛnw¿ÿc]ÿA^ÿAfÿ@tÿAÿIÿEmÿHÑ|ÐsËxÉ{ÊyÄ
{ÁyŒ|xµrpËvöÿ£òÿ¢òÿ©ñÿšïÿîÿïÿbÿ=dÿ=ÿL»ÿ[àpì|ï~àyiÿH¥Mm{ÿ_mÿX`ÿW]ÿVihWSR}ÇoÿN[ÿEgÿBaÿAcÿ@gÿ@oÿ?nÿ?xÿ@ÿ@»ÿLÒÿ\ØcgÛimÝnràvxäãÚwxÿHVÿBbÿDiÿ@vÿDÿJ
ÿDqÿEÒËsÊ{Æ}Ç|Ã}œ|ž|xoqÈ{öÿšóÿ€óÿ¥ñÿ€ñÿ¡ñÿòÿ_ÿ?\ÿ?ÿIŸÿZáqë{î|ázfÿGÿ[fÿSpÿ]eÿWYÿRXo9qhh¥^ÿ_\ÿK]ÿFoÿDdÿ@bÿA`ÿ>kÿ?lÿ@pÿAvÿ=ÿ;¹ÿLÎÿ`×inÞvxåæãÌjncÿCYÿKgÿGfÿ?{ÿIÿNÿFuÿGÒÅvÆ{Ã~ÁÀ|¹~{ŽyxšmpÑöÿ§óÿôÿ€óÿ òÆíºÓt_ÿ@Xÿ={ÿB²ÿTárê{í{Ûte€YmVsaÿQlÿTfÿQTÿKhw?t}I}^{šedÿ\YÿF{ÿFcÿ@_ÿ@bÿ?bÿ?lÿBmÿAÿAÿH©ÿT»ÿ_Æai×ouÞ~~ßÛÈ{znÿYZÿMdÿGaÿA|ÿJÿTÿLÿLÐ|®ÿ`Žefµor¹xwŒ|ž|{¯vw£fnä¶öÿôÿõÿðŸÊlyÿEdÿ=ÿShÿAqÿ>ÿGÞzlé{ë~ßÿ]}ÿ_SÿEqÿWfÿSmÿZxEwWYV[SpbÿSyÿFgÿF_ÿCaÿ@aÿ@hÿBkÿAzÿB¹ÿWÍÿ`ÎÿdÓhkÙnpØrrØtsàçŽèŒ§»wÿ^Uÿ?{ÿJÿTÿKÿQË}užjjŽÿd¬ÿb€ÿ^£ÿ`€^f€ci\hîŸõÆôÿòÂÉprÿBsÿAÿJ§uUgÿG}ÿ>Útiêzì~Þyj°`uiÿNPÿ>}Aohÿ_Cp`ÿXL|PtBybmMrGlmÿDhÿDaÿC_ÿCbÿEfÿCwÿEqÿCŽÿUËÿ]Íÿc×hjÙklØlnÜ|wâæ¯é¶îŸ€îì xlÿEÿNÿFÿUË|uÂ|vŸvt¹ps±ekŠÿaÿY¬ÿZÿQí¹öÿôÇÇjxÿBÿGÿLÿK¡qXe{ÿ?Úvkë|ìyãu·uYÿC\ÿDeÿNnÿUiÿWjÿ[k5eeÿ^p:qXy€S}XylÿVfÿIeÿF^ÿGgÿHkÿGÿLrÿC¶ÿWÇÿ]ÕcgÚijÚkjÛqoàzâä¡ç¬ì·ñŠóÿ޳mÿA}ÿDÿXÇzrÃy¿|wœyxžtv°lrŠdmŒÿYÁÿ[ôÿ÷ÿé²
ÿIÿMÿO§ÿTÿPuÿV°°yÿAÛxlí~í|änTkQÿ>_ÿH]ÿG[ÿIw;gYÿGeÿYs8kt;q}Le¢ww?hNjbÿ@kÿA]ÿAiÿGhÿ?®ÿO~ÿA±ÿUÕÿaÙceÛjhÜkjÝroàuá}ã
æ€ê²ïœ¡òDZôÿœTglÿ<ÿWÅyoÄtÁ|tœyvºww³ru®joÆÿ\ÜnöÿöÿÉ}eÿM ÿRÿW ÿQ£ÿZXÿA®¶mÿ=Úxiì{ï|åiÿdUÿC_ÿGXÿCbÿTpÿaaÿIbÿRfÿ[{EzzE{ekqÿcYteÿAqÿD_ÿAeÿBoÿ?µÿMÿBžÿUØÿ]ÜÿcÜÿdÜkgÞsoßzrà
zâä æ®íŒ£ñƲóÿœÛµ©]ÿ6ÿXÅ|qÅrÂ|sŒxu·sr°oqŽgfã |ôÂøÿò¿®ÿP¢ÿO±ÿV€ÿQ¢ÿRÿ_Oÿ8Š}·mÿ<Úwfí{î¡{ægÿZ^ÿHYÿ?UÿBxBpfÿTaÿKYÿCZÿIkÿd|J~dqpzLnjÿAnÿBeÿ@cÿBÿFÌÿWÿFŸÿTÚÿaÝÿcÜÿbÜÿdÝpkÞwoàxáãå«ë¹£ïŲðÿ»ôÿ¿tÿQªÿXÆuÂ~tÀ{s»wrŽrpjlÇ|n÷ÿ÷ÿøÿßhšÿJªÿNµÿUÿQ¢ÿ[ÿ]Kÿ6 uºsÿBÙteë|è}ápBeWÿCZÿ@`ÿLeÿRgÿQ`ÿKXÿC]ÿMhÿZl8mpOzNq}ÿdÿ_~ÿVhÿ@nÿ>²ÿMÐÿ\ÿGÇÿXÚÿaÞjfÝÿbÜÿ_ÜkeÝsmß~và|âäšè¶¢íÁ°ðÿžòÿ¿€qyµÿ\Ãu¿|s»yqºxrŽsrjkÕt÷ÿ÷ÿõÄÌÿW°ÿL°ÿN©ÿO¡ÿSÿ[ÿVNÿ9dx¹zÿI×ÿcìzì{ãoÿbXÿA[ÿFeÿN]ÿKaÿKZÿI[ÿH_ÿQkÿdtDycU
x?iaÿEhÿBnÿDbÿ>ÿAÃÿTÊÿ\ÿLÒÿ^ÝhfÞjfÞÿdÛÿbÜÿbÝpjÞzsßzáâ æ²êŸ®ïƶðÿœÔš¿ÿaŸ}tŸ}vœ|u»zu³tsµolÒÿdî²zøÿëªvÀÿQ«ÿMŠÿLÿM¢ÿXÿYÿ\Mÿ8Vož
ÿQÔÿ_ëyìzãk PeYÿD`ÿIWÿDaÿNbÿP_ÿJ[ÿFcÿSjÿclÿdj9el4egcÿA_ÿ<]ÿ:eÿ;¢ÿHÉÿW®ÿP€ÿQÙÿaÝjgàniàÿdÝÿaÜÿbÝojÞwoß~tß|á
ä¬èºšîŶðÿœñÿ»ºÿ_ÿR§ÿ_³om¶xt¶zvÇ~pÍÿ_Ùkúÿßÿb¯ÿL¢ÿMÿH ÿVÿVÿZÿNLÿ6Lg£ÿZÏÿ]éxí{æjÿc^ÿGWÿ@_ÿK_ÿM_ÿMcÿJXÿB[ÿKj5jcv<mz?hfÿJ]ÿ;Zÿ:Zÿ8ÿ@ŸÿOÅÿRÿDÇÿZÛÿaÞjgàlfàleßÿaÜÿ^ÜÿbÞrjÞ{oßxàã€æ¶€ìÂŽïÿ»óÿ¿ŽpsÿLÿHÿGÿKÿVÀtgÓfç©}öĺÿMÿCÿIÿSÿVÿXÿ]qÿA~ÿGUiÇ©¢\fÌÿ^èxì¡zÝkÿbYÿD]ÿF\ÿE[ÿHbÿMeÿNVÿBZÿD^ÿJuDtkO{Zÿ=Xÿ:Uÿ9iÿ:€ÿHÇÿQÿB¢ÿMØÿ\ÜÿbÞÿdßkgàmhàÿbÝÿ`Üÿ`ÜÿdÝwkßsà|ãå¯éŸ®íǹñÿŸÒÿU ÿUÿNsÿDVÿ;¬ÿ^é¬róœÖÿcÿ@ÿDÿQÿXÿPÿaÿUnÿ?ÿV¡kyÄš€¢mpÊÿ^éyí£zÔ|iÿaXÿC[ÿD]ÿFYÿEbÿPcÿS_ÿMdÿReÿThÿ\Mzu>fWÿ>Vÿ;Xÿ8ÿB®ÿHÿ@ÿFÑÿWÙÿ]ÝÿaÞÿdßjeàmfàngßÿdÜÿdÜÿaÝrgÞ{nßzáãŠæ·šëĶïÿŒìIJÿQ¡ÿWÿTÿO|ÿH·ÿ`ó¿Ðÿ^ÿA{ÿAÿKÿZÿLÿXQgÿQrÿFrÿIVlŸ¡šuwÈÿ\ézï€}ÜoqÿPWÿC_ÿI^ÿH`ÿOjÿZfÿY|CpeÿV_ÿTn3eYrÿbTÿ>Wÿ;cÿ7zÿ<ÿDºÿOÍÿWÓÿY×ÿ\Ûÿ_ÞÿaßkeànfàsjßohÝmeÝÿbÜÿdÝxlÞwáâ ä° è¿±íÿœðÿŒ¢ÿcÿTÿZÿ\¢ÿ[¹ÿ\ÂÿbÿKÿFÿKÿ^ÿJÿKViÿdtÿFmÿCcÿBzÿ[Ê«ŠŸÇÿ^ëzð€ÌzmeÿKYÿD_ÿIcÿOaÿRmÿ_]ÿR
QcÿYlÿ_rÿbr;lr:fSÿ<dÿ7ÿ>¹ÿJÇÿOÏÿVÓÿWÕÿXØÿZÜÿ]Ýÿ`ßÿaßkeàpiàrkßrjßqgÝriÞxkÞ~qà}áâšå·©ëÄ·ìÿ»ž~~ÿQÿ^¥]eµÿZ¶ÿUªÿS¯ÿUÿNÿXÿJÿHÿ` ]oÿSjÿ@jÿ=]ÿ=nÿRØ·«Ò«Çÿ`êxî¢~ÇunbÿGZÿCeÿOoÿTjÿXv>ijÿYv:iw?nt=hgÿQgÿUy@noÿRÿ<³ÿDÇÿMÍÿRÑÿUÒÿV×ÿXÙÿXÝÿ\Ýÿ\ßÿbàjeáphàpiàsiáwkßvjßznàsá}à
á£ä³£èŸ±ìǺ֊ÿUÿWªÿ`ÄÿZÂÿUÍÿXžÿRÿR
ÿVÿRÿX¬gsÿ\fÿ>iÿ@ÿK
\ No newline at end of file
diff --git a/milena/doc/outputs/accu-right-instantiation.txt b/milena/doc/outputs/ima-load.txt
similarity index 100%
copy from milena/doc/outputs/accu-right-instantiation.txt
copy to milena/doc/outputs/ima-load.txt
diff --git a/milena/doc/outputs/accu-right-instantiation.txt b/milena/doc/outputs/tuto3_first_routine.txt
similarity index 100%
copy from milena/doc/outputs/accu-right-instantiation.txt
copy to milena/doc/outputs/tuto3_first_routine.txt
diff --git a/milena/doc/outputs/accu-right-instantiation.txt b/milena/doc/outputs/tuto4_image.txt
similarity index 100%
copy from milena/doc/outputs/accu-right-instantiation.txt
copy to milena/doc/outputs/tuto4_image.txt
--
1.5.6.5
1
0
---
ChangeLog | 4 ++++
bootstrap | 52 ++++++++++++++++++++++++++++++++++++++--------------
2 files changed, 42 insertions(+), 14 deletions(-)
diff --git a/ChangeLog b/ChangeLog
index bf62855..c725ed7 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,7 @@
+2010-03-22 Roland Levillain <roland(a)lrde.epita.fr>
+
+ * bootstrap: Various fixes.
+
2010-03-18 Roland Levillain <roland(a)lrde.epita.fr>
* bootstrap: Regen the list of split outputs of the documentation.
diff --git a/bootstrap b/bootstrap
index d607402..4484b9d 100755
--- a/bootstrap
+++ b/bootstrap
@@ -145,8 +145,9 @@ trap cleanup 0 1 2 3 6 15
Test
\end{document}
EOF
- htlatex >/dev/null 2>&1 test.tex || fatal "TeX4ht is required"
-)
+ htlatex >/dev/null 2>&1 test.tex
+) || fatal "TeX4ht is required"
+
# dvipng is required by TeX4ht.
require dvipng 1.11
@@ -156,42 +157,65 @@ run milena `pwd`/build-aux/generate_dist_headers.sh mln ./headers.mk ./nodist-he
# Generate scribo/headers.mk
run scribo `pwd`/build-aux/generate_dist_headers.sh . headers.mk nodist-headers scribo scribo
-# Generate lists of files to be part of the distribution
-# for the tutorial.
+# Generate files of Milena's documentation.
# * Figures.
gen_doc_figures()
{
+ rm -f "milena/doc/$2-figures.mk.tmp"
milena/doc/gen-make-variable "$1" \
`find milena/doc/figures/*.$2 | sed 's,^milena/doc,\$(srcdir),'` \
- >"milena/doc/$2-figures.mk" \
- || fatal "unexpected failure: $@"
+ >"milena/doc/$2-figures.mk.tmp"
+ mv -f "milena/doc/$2-figures.mk.tmp" "milena/doc/$2-figures.mk"
+ chmod -w "milena/doc/$2-figures.mk"
}
gen_doc_figures PBM_FIGURES pbm
gen_doc_figures PGM_FIGURES pgm
gen_doc_figures PPM_FIGURES ppm
-run milena/doc/ ./generate_dist_files.sh outputs txt
# * Examples.
+rm -f milena/doc/examples.mk.tmp
milena/doc/gen-make-variable EXAMPLES \
`find milena/doc/examples -name '*.cc' | sed 's,^milena/doc,\$(srcdir),'` \
- >milena/doc/examples.mk
+ >milena/doc/examples.mk.tmp
+mv -f milena/doc/examples.mk.tmp milena/doc/examples.mk
+chmod -w milena/doc/examples.mk
# * Split examples.
-cd milena/doc && ./gen-split-examples-mk >split-examples.mk
+(
+ cd milena/doc
+ rm -f split-examples.mk.tmp
+ ./gen-split-examples-mk >split-examples.mk.tmp
+ mv -f split-examples.mk.tmp split-examples.mk
+ chmod -w split-examples.mk
+)
# * Outputs.
+rm -f milena/doc/outputs.mk.tmp
milena/doc/gen-make-variable OUTPUTS \
`find milena/doc/examples \
-name \*.cc -a \! -path milena/doc/examples/trash/\* \
| sed -e 's,milena/doc/examples/,,' \
-e 'y,/,_,' \
- -e 's,\(.*\)\.cc$,milena/doc/outputs/\1.txt,'` \
- >milena/doc/outputs.mk
+ -e 's,\(.*\)\.cc$,$(srcdir)/outputs/\1.txt,'` \
+ >milena/doc/outputs.mk.tmp
+mv -f milena/doc/outputs.mk.tmp milena/doc/outputs.mk
+chmod -w milena/doc/outputs.mk
# * Outputs rules and timestamps.
-cd milena/doc && \
+(
+ cd milena/doc
+ rm -f examples-outputs.mk.tmp
./gen-examples-outputs-mk \
`find examples -name \*.cc -a \! -path examples/trash/\* \
| env LC_ALL=C sort` \
- >examples-outputs.mk
+ >examples-outputs.mk.tmp
+ mv -f examples-outputs.mk.tmp examples-outputs.mk
+ chmod -w examples-outputs.mk
+)
# * Split outputs.
-cd milena/doc && ./gen-split-outputs-mk >split-outputs.mk
+(
+ cd milena/doc
+ rm -f split-outputs.mk.tmp
+ ./gen-split-outputs-mk >split-outputs.mk.tmp
+ mv -f split-outputs.mk.tmp split-outputs.mk
+ chmod -w split-outputs.mk
+)
# Generate unit test files.
run . ./build-aux/build_unit_test.sh `pwd`/milena/mln milena/tests/unit_test milena/tests/unit_test/disabled_tests
--
1.5.6.5
1
0